From hubmib-bounces@ietf.org Tue Feb 07 07:16:28 2006 Received: from localhost.cnri.reston.va.us ([127.0.0.1] helo=megatron.ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1F6Rlk-0003pU-NB; Tue, 07 Feb 2006 07:16:28 -0500 Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1F6Rli-0003nW-JZ for hubmib@megatron.ietf.org; Tue, 07 Feb 2006 07:16:26 -0500 Received: from ietf-mx.ietf.org (ietf-mx [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id HAA18061 for ; Tue, 7 Feb 2006 07:14:35 -0500 (EST) Received: from nj300815-ier2.net.avaya.com ([198.152.12.103]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1F6Rxu-0005dn-MZ for hubmib@ietf.org; Tue, 07 Feb 2006 07:29:05 -0500 Received: from tiere.net.avaya.com (tiere.net.avaya.com [198.152.12.100]) by nj300815-ier2.net.avaya.com (Switch-3.1.7/Switch-3.1.7) with ESMTP id k17CCCQc018369 for ; Tue, 7 Feb 2006 07:12:12 -0500 Received: from IS0004AVEXU1.global.avaya.com (h135-64-105-51.avaya.com [135.64.105.51]) by tiere.net.avaya.com (Switch-3.1.2/Switch-3.1.0) with ESMTP id k17CD4QH027962 for ; Tue, 7 Feb 2006 07:13:05 -0500 (EST) Content-class: urn:content-classes:message MIME-Version: 1.0 X-MimeOLE: Produced By Microsoft Exchange V6.0.6603.0 Date: Tue, 7 Feb 2006 14:16:06 +0200 Message-ID: Thread-Topic: URGENT - Updates of the Internet-Drafts Thread-Index: AcYr4EVmQ6Qs2CDdQk699XBxkziNpw== From: "Romascanu, Dan \(Dan\)" To: X-Scanner: InterScan AntiVirus for Sendmail X-Spam-Score: 0.5 (/) X-Scan-Signature: 8de5f93cb2b4e3bee75302e9eacc33db Subject: [Hubmib] URGENT - Updates of the Internet-Drafts X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Content-Type: multipart/mixed; boundary="===============0985125544==" Sender: hubmib-bounces@ietf.org Errors-To: hubmib-bounces@ietf.org This is a multi-part message in MIME format. --===============0985125544== Content-class: urn:content-classes:message Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C62BE0.45B0FB2B" This is a multi-part message in MIME format. ------_=_NextPart_001_01C62BE0.45B0FB2B Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable EFM Documents editors, =20 I would like to urge you to update the documents under your responsibility and submit them as soon as possible, but not later than the Internet-Drafts submission cut-off date which is Monday 3/6.=20 =20 Matt and Lior need to submit EFM OAM and EPON MIB documents following the IESG Review. Ed needs to submit the EFM Cu and updated MAU MIB documents =20 All documents need to go again through WGLC. =20 We are long over the initial and updated deadlines. If this Working Group cannot focus its work and submit updates of the chartered items I-Ds in a timely manner, maybe we should consider wrapping up the WG activity, and let the documents advance at their pace as individual submissions.=20 =20 Thanks and Regards, =20 Dan =20 =20 =20 =20 ------_=_NextPart_001_01C62BE0.45B0FB2B Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable
EFM = Documents=20 editors,
 
I = would like to urge=20 you to update the documents under your responsibility and submit them as = soon as=20 possible, but not later than the Internet-Drafts submission cut-off date = which=20 is Monday 3/6.
 
Matt = and Lior need=20 to submit EFM OAM and EPON MIB documents following the IESG=20 Review.
Ed = needs to submit=20 the EFM Cu and updated MAU MIB documents
 
All = documents need=20 to go again through  WGLC.
 
We are = long over the=20 initial and updated deadlines. If this Working Group cannot focus its = work and=20 submit updates of the chartered items I-Ds in a timely manner, = maybe we=20 should consider wrapping up the WG activity, and let the documents = advance at=20 their pace as individual submissions.
 
Thanks = and=20 Regards,
 
Dan
 
 
 
 
------_=_NextPart_001_01C62BE0.45B0FB2B-- --===============0985125544== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib --===============0985125544==-- From hubmib-bounces@ietf.org Tue Feb 07 08:33:38 2006 Received: from localhost.cnri.reston.va.us ([127.0.0.1] helo=megatron.ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1F6SyQ-0003ca-41; Tue, 07 Feb 2006 08:33:38 -0500 Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1F6SyK-0003ZW-Tz for hubmib@megatron.ietf.org; Tue, 07 Feb 2006 08:33:37 -0500 Received: from ietf-mx.ietf.org (ietf-mx [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id IAA25417 for ; Tue, 7 Feb 2006 08:31:40 -0500 (EST) Received: from mailgw.passave.com ([212.25.93.227] helo=passave.com) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1F6TAW-0008N7-RS for hubmib@ietf.org; Tue, 07 Feb 2006 08:46:11 -0500 Received: from Internal Mail-Server by mailgw with SMTP; 7 Feb 2006 15:32:25 +0200 X-MimeOLE: Produced By Microsoft Exchange V6.5.7226.0 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Date: Tue, 7 Feb 2006 15:34:26 +0200 Message-ID: <63DC5157D93D3046B78E8DDD9130C4E023DB3B@passmail> Thread-Topic: Response to EPON-MIB-04 Thread-Index: AcYds5ao9KFwth9MQMS8of6VLYNCDACNQ38AAvMVD7A= From: "Lior Khermosh" To: "Romascanu, Dan \(Dan\)" , "David T. Perkins" X-Spam-Score: 0.0 (/) X-Scan-Signature: 515708a075ffdf0a79d1c83b601e2afd Content-Transfer-Encoding: quoted-printable Cc: Hub MIB Subject: [Hubmib] RE: Response to EPON-MIB-04 X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: hubmib-bounces@ietf.org Errors-To: hubmib-bounces@ietf.org =20 Dan, Please see answers in line. Also during this session I had some second thoughts on some of the changes I have integrated in the last review. Specifically as to use a linkIndex inside the MIB tables instead of using the ifIndex of the virtual links. Although it is not exactly as the IEEE layering for the EPON (the MPCP and P2PE layers are a single layer and not N virtual links) the specification of the MIB is more simpler and more neat. There are no multiple rows for each virtual link and the duplication is generated by the ifIndex for the virtual links (like it was in draft 03). That way it is more similar to the tables which will be held for the virtual MACs management. I am still considering it and I will try to discuss it with David and then provide the draft ASAP. Best regards, Lior -----Original Message----- From: Romascanu, Dan (Dan) [mailto:dromasca@avaya.com]=20 Sent: Monday, January 23, 2006 9:06 AM To: David T. Perkins; Lior Khermosh Cc: Hub MIB Subject: RE: Response to EPON-MIB-04 David, Thank you for the review and the latest comments.=20 Lior, Can you please address David's questions?=20 I believe that David is asking for clarifications, maybe an example that would clarify his question 1. This new text could expand Section 3 'Relationship of the EFM EPON MIB to other MIBs'. By the way, 'Relation to other MIB Modules' would be a better name for this section.=20 >> Changed. With respect to David's question #2, the text 'Rows at the table are created by direct SNMP management setting." seems wrong. David's question is correct, if rows in these tables are created dynamically by management operations on the specific table, you need to use "RowStatus" objects for the specific table. If this was not the intention, the text should be eliminated and you should mention in the DESCRIPTION clauses in each table how each row shows up, maybe as result of operations performed on other tables, or corresponding to existing ports on the device, or something else.=20 >> I removed the creation by management. The rows are created when a virtual link is established (ONU registers) and deleted when a virtual link is deleted (ONU deregisters). I have added clarification in the text. I am also feeling very uncomfortable with holding discussions around a non-submitted draft. I would like to ask Lior to submit draft 04 immediately. If the issues cannot be clarified and a revised draft submitted in the next couple of days, it can be as it was distributed on the mailing list last December. =20 Regards, Dan =20 =20 > -----Original Message----- > From: David T. Perkins [mailto:dperkins@dsperkins.com] > Sent: Friday, January 20, 2006 9:01 AM > To: lior.khermosh@passave.com > Cc: Romascanu, Dan (Dan); Hub MIB > Subject: Response to EPON-MIB-04 >=20 > HI, >=20 > Comments on draft-ietf-hubmib-efm-epon-mib-04.txt - dtp:19-jan-2006 >=20 > The document is much improved. However, it is not yet ready for=20 > submission to the IESG. The changes introduced many grammar and some=20 > spelling errors (and a couple of formatting problems), which can be=20 > easily fixed. Unfortunately, there are a couple of fundamental issues=20 > that remain. These are: > 1) if an "SNMP MIB walk" was done on the > a) IF table > b) bridge table > c) MAU table > d) stack table (and inverted stack table) > e) etherLike interfaces table > d) and tables defined in the MIB module > what would be the answers to the following questions for > OLTs and for ONUs (for both, assume that each has a 1Gig Eth > interface and an optical interface, and for the OLT, there > are 3 ONUs connected to the optical interface): > a) how many entries would be in the IF table > b) what would the values be for each column in the > IF table. That is, what are the values of the > following objects: ifIndex, ifDescr, ifType, > ifMtu, ifSpeed, ifPhysAddress, ifAdminStatus, > ifOperStatus, ifLastChange, ifInOctets, ifInUcastPkts, > ifInNUcastPkts, ifInDiscards, ifInErrors,=20 > ifInUnknownProtos, ifOutOctets, ifOutUcastPkts, > ifOutNUcastPkts, ifOutDiscards, ifOutErrors, > ifOutQLen > c) how the values of the above objects determined? > d) what happens when the value of ifAdmin is set to > 'up(1)', 'down(2)', and 'testing(3)'? > e) the table dot1dBasePortTable has the mapping of > bridge ports to interfaces (and "circuit" on that > interface). What would the values be for the > objects dot1dBasePortIfIndex and dot1dBasePortCircuit > when the OLT supported bridging? (By the way, > document "Definitions of Managed Objects for Bridges" > was recently updated and, thus, the refs should > have RFC 4188 and not 1493.) > f) how many entries would be in table ifMauTable, > and would be the value of columns in the table. > g) Are the stack and inverted stack tables used? > If so, show the stacking relationships. > h) How many entries are in the etherLike tables > dot3StatsTable, dot3CollTable, dot3PauseTable, > and dot3HCStatsTable and what would the values > be of columns in the tables. > i) How many entries would be in the tables defined > in this document, which are: > dot3MpcpGlobalTable, dot3MpcpParamTable, > dot3MpcpStatTable, dot3OmpEmulationTable, > dot3OmpEmulationStatTable, dot3EponFecTable, > dot3ExtPkgGlobalControlTable, > dot3ExtPkgControlTable, dot3ExtPkgQueueTable, > dot3ExtPkgQueueSetsTable and > dot3ExtPkgOptIfTable. > 2) Which tables in the MIB module allow rows to be created > and or deleted, and if so, then how? (Note the the phrase > "Rows at the table are created by direct SNMP management > setting." is used in the DESCRIPTION for many tables. > However, there was no information provided as to what > this means. (I'm guessing that my original comments > were not completely understood. What I was asking for > was to include in the DESCRIPTION clause whether or > not an SNMP SET could be done to columns in a table > to create or delete a row, and if so, to provide the > details (or indicate the object definition where the > details were provided). For example, the TCP connection > table does not support SNMP SETs to create rows in > the table. Rows are created as TCP connections > are created by processes running on the system. > However, an SNMP SET can be done on object tcpConnState=20 > with value 'deleteTCB(12)' to terminate a TCP > connection (which results in the row being deleted > from the table). There are plenty of examples of > using a "RowStatus" object to create and delete > rows in tables (see the SNMPv3 RFCs, such as RFC 3413). > In the RMON MIB modules, there are examples of > control tables and data tables. A row creation > (or deletion) in a control table results in > row creation (or row deletion) in data tables. > Describing how instances are created and deleted, > (by system operation or configuration, and/or > via management operations) is a key piece of > information for the DESCRIPTION clauses of > tables and rows. >=20 > Until the above fundamental issues are resolved, it doesn't make a lot > of sense to spend much time on other issues such as grouping and=20 > conformance. >=20 > Note that I did spot a bunch of easy to fix items that I'm listing=20 > below: > section 1 - the text for the abstract is Ok. I just don't > get the term "registers" here. > section 1.1 - It's great to have a list of abbreviations. > a) However in documents that contain MIB modules, typically > the modules are extracted, and thus all the explanatory > is not available. To help, there is a little redundancy > that is added to the document of putting KEY definitions > and terms in the DESCRIPTION clause for the MIB module. > b) I didn't check to see if all the abbreviations were > actually used. If not, then I would remove them. > c) I thought CPE was customer premises equipment section 1.2.3 -=20 > I was confused. Does "Gate messages" > start a new subsection? > section 3 (3.1-3.4) - This is still a little skimpy! > Look at RFC 2863, sections 3.1.1-3.1.18 & 4. Also > look at RFC 3635, section 3.2 and contained subsections. > section 4 - tables 1 thru 3. The column head should be > IEEE802.3ah attribute and not "object" > In the MIB module, there are several ASN.1 comments that > that are used to group the definitions. They start > out with phrase "Editor's note:". I believe the > grouping is useful, but I'd drop the "Editor's note:" > phrase. Note the first one is slightly out of order. > It should be moved to immediately before the > definition of OID dot3EponMpcpObjects. > Object dot3MpcpID - the DESCRIPTION needs to be translated > from GDMO speak to something meaningful in SMIv2. > (I commented on this before, and still don't see the > usefulness of the object!) > Do the objects dot3MpcpOperStatus and dot3MpcpAdminStatus > ever have different values. If not, then you should > have one object. > I really don't follow whether or not you can create LLIDs > via SNMP. It doesn't seem possible to me, just like > you can't create TCP connections. Thus, I don't understand > the object dot3LinkIndex. (And note: a table that > allows row creation uses "read-create" (and not "read-write") > for all writable objects in the table.) Entries in parallel=20 > tables - I asked you to describe the > expected number of entries in tables. However, many of > the tables in the MIB module are related, and the text > was just copied. Instead, if there is a "base table" > that determines the number of entries, and additional > tables that have additional info, you should say > something like "The rows in this table are match the > rows in table X". > Transient condition in table dot3MpcpParamTable - it appears > that this table tries to capture the transient values > during the time a OLT and ONU are setting up a relationship > and determining an LLID. Is this a long enough running > activity that it can be seen, and what LLID value is > used durring negotiation (can't it change)? > Object dot3OmpEmulationID - the DESCRIPTION needs to be translated > from GDMO speak to something meaningful in SMIv2. > (I commented on this before, and still don't see the > usefulness of the object!) > Enum names in DESCRIPTION for object dot3ExtPkgObjectPowerDown - > The enum names start with lower-case letters and not > upper-case. > Queues - I really don't understand the queues. Could some > intro text be added. > Indexing - this is somewhat subjective. I don't believe that > it is proper to define an object in one table (which is not > an index in that table) and use it for an index in another > table. This is done in the queue tables and object dot3LinkIndex. >=20 >=20 > NOTE: this review was not complete. I didn't try to compile the MIB=20 > module or run the document through the nit checker. > Also, I didn't look at the compliances. >=20 > -- that's it >=20 > Regards, > /david t. perkins >=20 >=20 >=20 ************************************************************************ This footnote confirms that this email message has been scanned by Passave mail scanner for the presence of malicious code, vandals & computer viruses. ************************************************************************ ************************************************************************ This footnote confirms that this email message has been scanned by Passave mail scanner for the presence of malicious code, vandals & computer viruses. ************************************************************************ _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib From hubmib-bounces@ietf.org Tue Feb 07 11:30:11 2006 Received: from localhost.cnri.reston.va.us ([127.0.0.1] helo=megatron.ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1F6VjH-0001Hv-HH; Tue, 07 Feb 2006 11:30:11 -0500 Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1F6Vj9-0001Fb-Bw for hubmib@megatron.ietf.org; Tue, 07 Feb 2006 11:30:09 -0500 Received: from ietf-mx.ietf.org (ietf-mx [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id LAA08335 for ; Tue, 7 Feb 2006 11:28:13 -0500 (EST) Received: from smtpout1.bayarea.net ([209.128.95.10]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1F6VvR-0005wF-AC for hubmib@ietf.org; Tue, 07 Feb 2006 11:42:46 -0500 Received: from shell4.bayarea.net (shell4.bayarea.net [209.128.82.1]) by smtpout1.bayarea.net (8.12.10/8.12.10) with ESMTP id k17GTh1l028431; Tue, 7 Feb 2006 08:29:43 -0800 Received: from shell4.bayarea.net (localhost [127.0.0.1]) by shell4.bayarea.net (8.12.11/8.12.11) with ESMTP id k17GTWBa012150; Tue, 7 Feb 2006 08:29:32 -0800 Received: from localhost (dperkins@localhost) by shell4.bayarea.net (8.12.11/8.12.11/Submit) with ESMTP id k17GTWdf012141; Tue, 7 Feb 2006 08:29:32 -0800 X-Authentication-Warning: shell4.bayarea.net: dperkins owned process doing -bs Date: Tue, 7 Feb 2006 08:29:32 -0800 (PST) From: "David T. Perkins" X-Sender: dperkins@shell4.bayarea.net To: Lior Khermosh In-Reply-To: <63DC5157D93D3046B78E8DDD9130C4E023DB3B@passmail> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Spam-Score: 0.0 (/) X-Scan-Signature: a4e5f67c5e230eddf754446d1a2201a4 Cc: "Romascanu, Dan \(Dan\)" , Hub MIB Subject: [Hubmib] RE: Response to EPON-MIB-04 X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: hubmib-bounces@ietf.org Errors-To: hubmib-bounces@ietf.org HI, Please describe a simple situation, and provide a list of the instances. Then I can help you with the indexing in the MIB object definitions. Also descsribe what events cause a new instance to be created or deleted. Regards, /david t. perkins On Tue, 7 Feb 2006, Lior Khermosh wrote: > > Dan, > Please see answers in line. > > Also during this session I had some second thoughts on some of the > changes I have integrated in the last review. Specifically as to use a > linkIndex inside the MIB tables instead of using the ifIndex of the > virtual links. Although it is not exactly as the IEEE layering for the > EPON (the MPCP and P2PE layers are a single layer and not N virtual > links) the specification of the MIB is more simpler and more neat. There > are no multiple rows for each virtual link and the duplication is > generated by the ifIndex for the virtual links (like it was in draft > 03). That way it is more similar to the tables which will be held for > the virtual MACs management. I am still considering it and I will try to > discuss it with David and then provide the draft ASAP. > > > Best regards, > Lior > > -----Original Message----- > From: Romascanu, Dan (Dan) [mailto:dromasca@avaya.com] > Sent: Monday, January 23, 2006 9:06 AM > To: David T. Perkins; Lior Khermosh > Cc: Hub MIB > Subject: RE: Response to EPON-MIB-04 > > David, > > Thank you for the review and the latest comments. > > Lior, > > Can you please address David's questions? > > I believe that David is asking for clarifications, maybe an example that > would clarify his question 1. This new text could expand Section 3 > 'Relationship of the EFM EPON MIB to other MIBs'. By the way, 'Relation > to other MIB Modules' would be a better name for this section. > >> Changed. > > With respect to David's question #2, the text 'Rows at the table are > created by direct SNMP management setting." seems wrong. David's > question is correct, if rows in these tables are created dynamically by > management operations on the specific table, you need to use "RowStatus" > objects for the specific table. If this was not the intention, the text > should be eliminated and you should mention in the DESCRIPTION clauses > in each table how each row shows up, maybe as result of operations > performed on other tables, or corresponding to existing ports on the > device, or something else. > >> I removed the creation by management. The rows are created when a > virtual link is established (ONU registers) and deleted when a virtual > link is deleted (ONU deregisters). I have added clarification in the > text. > > I am also feeling very uncomfortable with holding discussions around a > non-submitted draft. I would like to ask Lior to submit draft 04 > immediately. If the issues cannot be clarified and a revised draft > submitted in the next couple of days, it can be as it was distributed on > the mailing list last December. > > Regards, > > Dan > > > > > > > -----Original Message----- > > From: David T. Perkins [mailto:dperkins@dsperkins.com] > > Sent: Friday, January 20, 2006 9:01 AM > > To: lior.khermosh@passave.com > > Cc: Romascanu, Dan (Dan); Hub MIB > > Subject: Response to EPON-MIB-04 > > > > HI, > > > > Comments on draft-ietf-hubmib-efm-epon-mib-04.txt - dtp:19-jan-2006 > > > > The document is much improved. However, it is not yet ready for > > submission to the IESG. The changes introduced many grammar and some > > spelling errors (and a couple of formatting problems), which can be > > easily fixed. Unfortunately, there are a couple of fundamental issues > > that remain. These are: > > 1) if an "SNMP MIB walk" was done on the > > a) IF table > > b) bridge table > > c) MAU table > > d) stack table (and inverted stack table) > > e) etherLike interfaces table > > d) and tables defined in the MIB module > > what would be the answers to the following questions for > > OLTs and for ONUs (for both, assume that each has a 1Gig Eth > > interface and an optical interface, and for the OLT, there > > are 3 ONUs connected to the optical interface): > > a) how many entries would be in the IF table > > b) what would the values be for each column in the > > IF table. That is, what are the values of the > > following objects: ifIndex, ifDescr, ifType, > > ifMtu, ifSpeed, ifPhysAddress, ifAdminStatus, > > ifOperStatus, ifLastChange, ifInOctets, ifInUcastPkts, > > ifInNUcastPkts, ifInDiscards, ifInErrors, > > ifInUnknownProtos, ifOutOctets, ifOutUcastPkts, > > ifOutNUcastPkts, ifOutDiscards, ifOutErrors, > > ifOutQLen > > c) how the values of the above objects determined? > > d) what happens when the value of ifAdmin is set to > > 'up(1)', 'down(2)', and 'testing(3)'? > > e) the table dot1dBasePortTable has the mapping of > > bridge ports to interfaces (and "circuit" on that > > interface). What would the values be for the > > objects dot1dBasePortIfIndex and dot1dBasePortCircuit > > when the OLT supported bridging? (By the way, > > document "Definitions of Managed Objects for Bridges" > > was recently updated and, thus, the refs should > > have RFC 4188 and not 1493.) > > f) how many entries would be in table ifMauTable, > > and would be the value of columns in the table. > > g) Are the stack and inverted stack tables used? > > If so, show the stacking relationships. > > h) How many entries are in the etherLike tables > > dot3StatsTable, dot3CollTable, dot3PauseTable, > > and dot3HCStatsTable and what would the values > > be of columns in the tables. > > i) How many entries would be in the tables defined > > in this document, which are: > > dot3MpcpGlobalTable, dot3MpcpParamTable, > > dot3MpcpStatTable, dot3OmpEmulationTable, > > dot3OmpEmulationStatTable, dot3EponFecTable, > > dot3ExtPkgGlobalControlTable, > > dot3ExtPkgControlTable, dot3ExtPkgQueueTable, > > dot3ExtPkgQueueSetsTable and > > dot3ExtPkgOptIfTable. > > 2) Which tables in the MIB module allow rows to be created > > and or deleted, and if so, then how? (Note the the phrase > > "Rows at the table are created by direct SNMP management > > setting." is used in the DESCRIPTION for many tables. > > However, there was no information provided as to what > > this means. (I'm guessing that my original comments > > were not completely understood. What I was asking for > > was to include in the DESCRIPTION clause whether or > > not an SNMP SET could be done to columns in a table > > to create or delete a row, and if so, to provide the > > details (or indicate the object definition where the > > details were provided). For example, the TCP connection > > table does not support SNMP SETs to create rows in > > the table. Rows are created as TCP connections > > are created by processes running on the system. > > However, an SNMP SET can be done on object tcpConnState > > with value 'deleteTCB(12)' to terminate a TCP > > connection (which results in the row being deleted > > from the table). There are plenty of examples of > > using a "RowStatus" object to create and delete > > rows in tables (see the SNMPv3 RFCs, such as RFC 3413). > > In the RMON MIB modules, there are examples of > > control tables and data tables. A row creation > > (or deletion) in a control table results in > > row creation (or row deletion) in data tables. > > Describing how instances are created and deleted, > > (by system operation or configuration, and/or > > via management operations) is a key piece of > > information for the DESCRIPTION clauses of > > tables and rows. > > > > Until the above fundamental issues are resolved, it doesn't make a lot > > > of sense to spend much time on other issues such as grouping and > > conformance. > > > > Note that I did spot a bunch of easy to fix items that I'm listing > > below: > > section 1 - the text for the abstract is Ok. I just don't > > get the term "registers" here. > > section 1.1 - It's great to have a list of abbreviations. > > a) However in documents that contain MIB modules, typically > > the modules are extracted, and thus all the explanatory > > is not available. To help, there is a little redundancy > > that is added to the document of putting KEY definitions > > and terms in the DESCRIPTION clause for the MIB module. > > b) I didn't check to see if all the abbreviations were > > actually used. If not, then I would remove them. > > c) I thought CPE was customer premises equipment section 1.2.3 - > > I was confused. Does "Gate messages" > > start a new subsection? > > section 3 (3.1-3.4) - This is still a little skimpy! > > Look at RFC 2863, sections 3.1.1-3.1.18 & 4. Also > > look at RFC 3635, section 3.2 and contained subsections. > > section 4 - tables 1 thru 3. The column head should be > > IEEE802.3ah attribute and not "object" > > In the MIB module, there are several ASN.1 comments that > > that are used to group the definitions. They start > > out with phrase "Editor's note:". I believe the > > grouping is useful, but I'd drop the "Editor's note:" > > phrase. Note the first one is slightly out of order. > > It should be moved to immediately before the > > definition of OID dot3EponMpcpObjects. > > Object dot3MpcpID - the DESCRIPTION needs to be translated > > from GDMO speak to something meaningful in SMIv2. > > (I commented on this before, and still don't see the > > usefulness of the object!) > > Do the objects dot3MpcpOperStatus and dot3MpcpAdminStatus > > ever have different values. If not, then you should > > have one object. > > I really don't follow whether or not you can create LLIDs > > via SNMP. It doesn't seem possible to me, just like > > you can't create TCP connections. Thus, I don't understand > > the object dot3LinkIndex. (And note: a table that > > allows row creation uses "read-create" (and not "read-write") > > for all writable objects in the table.) Entries in parallel > > tables - I asked you to describe the > > expected number of entries in tables. However, many of > > the tables in the MIB module are related, and the text > > was just copied. Instead, if there is a "base table" > > that determines the number of entries, and additional > > tables that have additional info, you should say > > something like "The rows in this table are match the > > rows in table X". > > Transient condition in table dot3MpcpParamTable - it appears > > that this table tries to capture the transient values > > during the time a OLT and ONU are setting up a relationship > > and determining an LLID. Is this a long enough running > > activity that it can be seen, and what LLID value is > > used durring negotiation (can't it change)? > > Object dot3OmpEmulationID - the DESCRIPTION needs to be translated > > from GDMO speak to something meaningful in SMIv2. > > (I commented on this before, and still don't see the > > usefulness of the object!) > > Enum names in DESCRIPTION for object dot3ExtPkgObjectPowerDown - > > The enum names start with lower-case letters and not > > upper-case. > > Queues - I really don't understand the queues. Could some > > intro text be added. > > Indexing - this is somewhat subjective. I don't believe that > > it is proper to define an object in one table (which is not > > an index in that table) and use it for an index in another > > table. This is done in the queue tables and object dot3LinkIndex. > > > > > > NOTE: this review was not complete. I didn't try to compile the MIB > > module or run the document through the nit checker. > > Also, I didn't look at the compliances. > > > > -- that's it > > > > Regards, > > /david t. perkins > > > > > > > ************************************************************************ > This footnote confirms that this email message has been scanned by > Passave mail scanner for the presence of malicious code, vandals & > computer viruses. > ************************************************************************ > ************************************************************************ > This footnote confirms that this email message has been scanned by Passave mail scanner > for the presence of malicious code, vandals & computer viruses. > ************************************************************************ > _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib From hubmib-bounces@ietf.org Tue Feb 07 14:37:57 2006 Received: from localhost.cnri.reston.va.us ([127.0.0.1] helo=megatron.ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1F6Yez-0003y8-0z; Tue, 07 Feb 2006 14:37:57 -0500 Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1F6Yex-0003vz-Cx for hubmib@megatron.ietf.org; Tue, 07 Feb 2006 14:37:55 -0500 Received: from ietf-mx.ietf.org (ietf-mx [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id OAA23860 for ; Tue, 7 Feb 2006 14:36:11 -0500 (EST) Received: from mailgw.passave.com ([212.25.93.227] helo=passave.com) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1F6YrL-0004Oq-L6 for hubmib@ietf.org; Tue, 07 Feb 2006 14:50:45 -0500 Received: from Internal Mail-Server by mailgw with SMTP; 7 Feb 2006 21:37:14 +0200 X-MimeOLE: Produced By Microsoft Exchange V6.5.7226.0 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Date: Tue, 7 Feb 2006 21:39:12 +0200 Message-ID: <63DC5157D93D3046B78E8DDD9130C4E023DB70@passmail> Thread-Topic: Response to EPON-MIB-04 Thread-Index: AcYsBAoMS/I2j5WhT0OtyeFX/yfOQwAGJ5oQ From: "Lior Khermosh" To: "David T. Perkins" X-Spam-Score: 0.0 (/) X-Scan-Signature: d094b18a574860cb9e2fe5fedfbcc179 Content-Transfer-Encoding: quoted-printable Cc: "Romascanu, Dan \(Dan\)" , Hub MIB Subject: [Hubmib] RE: Response to EPON-MIB-04 X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: hubmib-bounces@ietf.org Errors-To: hubmib-bounces@ietf.org David, The IF,MAU and etherLike interfaces tables are all duplicated for the virtual links at the OLT. Each one has a different ifIndex. The MAC is virtually duplicated. So the number of entries is the number of virtual entries + an additional entry for the broadcast. Only the MAC address at the OLT is not duplicated as the physical I/F is the same. It is specified in the IEEE802.3ah 64.1.2. So as for the example from your mail the parameters for the IF table: At the ONU in working mode: ifIndex 1 ifDescr "I/F description" ifType gigabitEthernet (117) 1000base-Px ifMtu MTU size (1522) ifSpeed 1000000000 ifPhysAddress ONU_MAC_Address ifAdminStatus up ifOperStatus Up ifLastChange up_time=20 ifInOctets ONU1_octets_number ifInUcastPkts ONU1_unicast_frame_number ifInNUcastPkts ONU1_non_unicast_frame_number ifInDiscards ONU1_discard_frame_number ifInErrors ONU1_error_frame_number ifInUnknownProtos ONU1_unknown_frame_number ifOutOctets ONU1_octets_number=20 ifOutUcastPkts ONU1_unicast_frame_number ifOutNUcastPkts ONU1_non_unicast_frame_number ifOutDiscards ONU1_discard_frame_number ifOutErrors ONU1_error_frame_number ifOutQLen ONU1_queue_frame_number at the OLT in working mode the interfaces associated with the virtual links: ifIndex 1 2 3 65535 ifDescr "I/F description" "I/F description" "I/F description" "I/F description" =20 ifType gigabitEthernet (117) gigabitEthernet (117) gigabitEthernet (117) gigabitEthernet (117) =20 ifMtu MTU size (1522) MTU size (1522) MTU size (1522) MTU size (1522) =20 ifSpeed 1000000000 1000000000 1000000000 1000000000 =20 ifPhysAddress OLT_MAC_Address OLT_MAC_Address OLT_MAC_Address OLT_MAC_Address =20 ifAdminStatus up up up up =20 ifOperStatus Up Up Up Up =20 ifLastChange ONU1_up_time ONU2_up_time ONU3_up_time up_time =20 ifInOctets ONU1_octets_number ONU2_octets_number ONU3_octets_number BRCT_octets_number =20 ifInUcastPkts ONU1_unic_frame_num ONU2_unic_frame_num ONU3_unic_frame_num BRCT_unic_frame_num =20 ifInNUcastPkts ONU1_non_unic_frame_num ONU2_non_unic_frame_num ONU3_non_unic_frame_num BRCT_non_unic_frame_num ifInDiscards ONU1_disc_frame_num ONU2_disc_frame_num ONU3_disc_frame_num BRCT_disc_frame_numr =20 ifInErrors ONU1_err_frame_num ONU2_err_frame_num ONU3_err_frame_num BRCT_err_frame_num =20 ifInUnknownProtos ONU1_unknw_frame_num ONU2_unknw_frame_num ONU3_unknw_frame_num BRCT_unknw_frame_num =20 ifOutOctets ONU1_octets_number ONU2_octets_number ONU3_octets_number BRCT_octets_number =20 ifOutUcastPkts ONU1_unic_frame_num ONU2_unic_frame_num ONU3_unic_frame_num BRCT_unic_frame_num =20 ifOutNUcastPkts ONU1_non_unic_frame_num ONU2_non_unic_frame_num ONU3_non_unic_frame_num BRCT_non_unic_frame_num=20 ifOutDiscards ONU1_disc_frame_num ONU2_disc_frame_num ONU3_disc_frame_num BRCT_disc_frame_num =20 ifOutErrors ONU1_err_frame_num ONU2_err_frame_num ONU3_err_frame_num BRCT_err_frame_num =20 ifOutQLen ONU1_queue_frame_num ONU2_queue_frame_num ONU3_queue_frame_num BRCt_queue_frame_num =20 And the OLT interface: ifIndex 100000 =09 ifDescr "I/F description" =09 ifType gigabitEthernet (117)=09 ifMtu MTU size (1522) =09 ifSpeed 1000000000 =09 ifPhysAddress OLT_MAC_Address =09 ifAdminStatus up =09 ifOperStatus Up =09 ifLastChange OLT_up_time =09 ifInOctets OLT_octets_number=09 ifInUcastPkts OLT_unic_frame_num=09 ifInNUcastPkts OLT_non_unic_frame_num=09 ifInDiscards OLT_disc_frame_num=09 ifInErrors OLT_err_frame_num=09 ifInUnknownProtos OLT_unknw_frame_num=09 ifOutOctets OLT_octets_number =09 ifOutUcastPkts OLT_unic_frame_num=09 ifOutNUcastPkts OLT_non_unic_frame_num=09 ifOutDiscards OLT_disc_frame_num=09 ifOutErrors OLT_err_frame_num=09 ifOutQLen OLT_queue_frame_num=20 In the draft03 I had a single row in the table for each ifIndex. The indexing for the virtual links was generated by using the ifIndex for the virtual links. After the last comment session I have changed the tables to include a row for each link index assuming that the P2MP layers are single and not divided to virtual likes - This is presented in the following layering diagram from the IEEE spec: = +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ | Higher layers | = +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ | 802.1D Bridge | = +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ | MAC client| ... |MAC client| = +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ | MAC Control - (MPCP) | *NEW* = +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ | MAC | ... | MAC | = +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ | P2P Emulation (P2PE) | *NEW* = +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ | | | GMII | | | = +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ | PCS | = +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ | FEC | *NEW* = +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ | PMA | = +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ | PMD | = +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ | | | MDI | | | = /=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D/ / Media / = /=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D/ The second thoughts I have is to return to the former indexing (therefore splitting from management perspective the management layers of the MPCP and P2PE and FEC to N virtual layers one for each virtual link. The advantage is that the tables are more clean and straightforward. =20 Best regards, Lior =20 -----Original Message----- From: David T. Perkins [mailto:dperkins@dsperkins.com]=20 Sent: Tuesday, February 07, 2006 6:30 PM To: Lior Khermosh Cc: Romascanu, Dan (Dan); Hub MIB Subject: RE: Response to EPON-MIB-04 HI, Please describe a simple situation, and provide a list of the instances. Then I can help you with the indexing in the MIB object definitions. Also descsribe what events cause a new instance to be created or deleted. Regards, /david t. perkins On Tue, 7 Feb 2006, Lior Khermosh wrote: > =20 > Dan, > Please see answers in line. >=20 > Also during this session I had some second thoughts on some of the=20 > changes I have integrated in the last review. Specifically as to use a > linkIndex inside the MIB tables instead of using the ifIndex of the=20 > virtual links. Although it is not exactly as the IEEE layering for the > EPON (the MPCP and P2PE layers are a single layer and not N virtual > links) the specification of the MIB is more simpler and more neat.=20 > There are no multiple rows for each virtual link and the duplication=20 > is generated by the ifIndex for the virtual links (like it was in=20 > draft 03). That way it is more similar to the tables which will be=20 > held for the virtual MACs management. I am still considering it and I=20 > will try to discuss it with David and then provide the draft ASAP. >=20 >=20 > Best regards, > Lior >=20 > -----Original Message----- > From: Romascanu, Dan (Dan) [mailto:dromasca@avaya.com] > Sent: Monday, January 23, 2006 9:06 AM > To: David T. Perkins; Lior Khermosh > Cc: Hub MIB > Subject: RE: Response to EPON-MIB-04 >=20 > David, >=20 > Thank you for the review and the latest comments.=20 >=20 > Lior, >=20 > Can you please address David's questions?=20 >=20 > I believe that David is asking for clarifications, maybe an example=20 > that would clarify his question 1. This new text could expand Section=20 > 3 'Relationship of the EFM EPON MIB to other MIBs'. By the way,=20 > 'Relation to other MIB Modules' would be a better name for this section. > >> Changed. >=20 > With respect to David's question #2, the text 'Rows at the table are=20 > created by direct SNMP management setting." seems wrong. David's=20 > question is correct, if rows in these tables are created dynamically=20 > by management operations on the specific table, you need to use "RowStatus" > objects for the specific table. If this was not the intention, the=20 > text should be eliminated and you should mention in the DESCRIPTION=20 > clauses in each table how each row shows up, maybe as result of=20 > operations performed on other tables, or corresponding to existing=20 > ports on the device, or something else. > >> I removed the creation by management. The rows are created when a > virtual link is established (ONU registers) and deleted when a virtual > link is deleted (ONU deregisters). I have added clarification in the=20 > text. >=20 > I am also feeling very uncomfortable with holding discussions around a > non-submitted draft. I would like to ask Lior to submit draft 04=20 > immediately. If the issues cannot be clarified and a revised draft=20 > submitted in the next couple of days, it can be as it was distributed=20 > on the mailing list last December. >=20 > Regards, >=20 > Dan >=20 >=20 > =20 > =20 >=20 > > -----Original Message----- > > From: David T. Perkins [mailto:dperkins@dsperkins.com] > > Sent: Friday, January 20, 2006 9:01 AM > > To: lior.khermosh@passave.com > > Cc: Romascanu, Dan (Dan); Hub MIB > > Subject: Response to EPON-MIB-04 > >=20 > > HI, > >=20 > > Comments on draft-ietf-hubmib-efm-epon-mib-04.txt - dtp:19-jan-2006 > >=20 > > The document is much improved. However, it is not yet ready for=20 > > submission to the IESG. The changes introduced many grammar and some > > spelling errors (and a couple of formatting problems), which can be=20 > > easily fixed. Unfortunately, there are a couple of fundamental=20 > > issues that remain. These are: > > 1) if an "SNMP MIB walk" was done on the > > a) IF table > > b) bridge table > > c) MAU table > > d) stack table (and inverted stack table) > > e) etherLike interfaces table > > d) and tables defined in the MIB module > > what would be the answers to the following questions for > > OLTs and for ONUs (for both, assume that each has a 1Gig Eth > > interface and an optical interface, and for the OLT, there > > are 3 ONUs connected to the optical interface): > > a) how many entries would be in the IF table > > b) what would the values be for each column in the > > IF table. That is, what are the values of the > > following objects: ifIndex, ifDescr, ifType, > > ifMtu, ifSpeed, ifPhysAddress, ifAdminStatus, > > ifOperStatus, ifLastChange, ifInOctets, ifInUcastPkts, > > ifInNUcastPkts, ifInDiscards, ifInErrors,=20 > > ifInUnknownProtos, ifOutOctets, ifOutUcastPkts, > > ifOutNUcastPkts, ifOutDiscards, ifOutErrors, > > ifOutQLen > > c) how the values of the above objects determined? > > d) what happens when the value of ifAdmin is set to > > 'up(1)', 'down(2)', and 'testing(3)'? > > e) the table dot1dBasePortTable has the mapping of > > bridge ports to interfaces (and "circuit" on that > > interface). What would the values be for the > > objects dot1dBasePortIfIndex and dot1dBasePortCircuit > > when the OLT supported bridging? (By the way, > > document "Definitions of Managed Objects for Bridges" > > was recently updated and, thus, the refs should > > have RFC 4188 and not 1493.) > > f) how many entries would be in table ifMauTable, > > and would be the value of columns in the table. > > g) Are the stack and inverted stack tables used? > > If so, show the stacking relationships. > > h) How many entries are in the etherLike tables > > dot3StatsTable, dot3CollTable, dot3PauseTable, > > and dot3HCStatsTable and what would the values > > be of columns in the tables. > > i) How many entries would be in the tables defined > > in this document, which are: > > dot3MpcpGlobalTable, dot3MpcpParamTable, > > dot3MpcpStatTable, dot3OmpEmulationTable, > > dot3OmpEmulationStatTable, dot3EponFecTable, > > dot3ExtPkgGlobalControlTable, > > dot3ExtPkgControlTable, dot3ExtPkgQueueTable, > > dot3ExtPkgQueueSetsTable and > > dot3ExtPkgOptIfTable. > > 2) Which tables in the MIB module allow rows to be created > > and or deleted, and if so, then how? (Note the the phrase > > "Rows at the table are created by direct SNMP management > > setting." is used in the DESCRIPTION for many tables. > > However, there was no information provided as to what > > this means. (I'm guessing that my original comments > > were not completely understood. What I was asking for > > was to include in the DESCRIPTION clause whether or > > not an SNMP SET could be done to columns in a table > > to create or delete a row, and if so, to provide the > > details (or indicate the object definition where the > > details were provided). For example, the TCP connection > > table does not support SNMP SETs to create rows in > > the table. Rows are created as TCP connections > > are created by processes running on the system. > > However, an SNMP SET can be done on object tcpConnState=20 > > with value 'deleteTCB(12)' to terminate a TCP > > connection (which results in the row being deleted > > from the table). There are plenty of examples of > > using a "RowStatus" object to create and delete > > rows in tables (see the SNMPv3 RFCs, such as RFC 3413). > > In the RMON MIB modules, there are examples of > > control tables and data tables. A row creation > > (or deletion) in a control table results in > > row creation (or row deletion) in data tables. > > Describing how instances are created and deleted, > > (by system operation or configuration, and/or > > via management operations) is a key piece of > > information for the DESCRIPTION clauses of > > tables and rows. > >=20 > > Until the above fundamental issues are resolved, it doesn't make a=20 > > lot >=20 > > of sense to spend much time on other issues such as grouping and=20 > > conformance. > >=20 > > Note that I did spot a bunch of easy to fix items that I'm listing > > below: > > section 1 - the text for the abstract is Ok. I just don't > > get the term "registers" here. > > section 1.1 - It's great to have a list of abbreviations. > > a) However in documents that contain MIB modules, typically > > the modules are extracted, and thus all the explanatory > > is not available. To help, there is a little redundancy > > that is added to the document of putting KEY definitions > > and terms in the DESCRIPTION clause for the MIB module. > > b) I didn't check to see if all the abbreviations were > > actually used. If not, then I would remove them. > > c) I thought CPE was customer premises equipment section 1.2.3=20 > > - I was confused. Does "Gate messages" > > start a new subsection? > > section 3 (3.1-3.4) - This is still a little skimpy! > > Look at RFC 2863, sections 3.1.1-3.1.18 & 4. Also > > look at RFC 3635, section 3.2 and contained subsections. > > section 4 - tables 1 thru 3. The column head should be > > IEEE802.3ah attribute and not "object" > > In the MIB module, there are several ASN.1 comments that > > that are used to group the definitions. They start > > out with phrase "Editor's note:". I believe the > > grouping is useful, but I'd drop the "Editor's note:" > > phrase. Note the first one is slightly out of order. > > It should be moved to immediately before the > > definition of OID dot3EponMpcpObjects. > > Object dot3MpcpID - the DESCRIPTION needs to be translated > > from GDMO speak to something meaningful in SMIv2. > > (I commented on this before, and still don't see the > > usefulness of the object!) > > Do the objects dot3MpcpOperStatus and dot3MpcpAdminStatus > > ever have different values. If not, then you should > > have one object. > > I really don't follow whether or not you can create LLIDs > > via SNMP. It doesn't seem possible to me, just like > > you can't create TCP connections. Thus, I don't understand > > the object dot3LinkIndex. (And note: a table that > > allows row creation uses "read-create" (and not "read-write") > > for all writable objects in the table.) Entries in parallel=20 > > tables - I asked you to describe the > > expected number of entries in tables. However, many of > > the tables in the MIB module are related, and the text > > was just copied. Instead, if there is a "base table" > > that determines the number of entries, and additional > > tables that have additional info, you should say > > something like "The rows in this table are match the > > rows in table X". > > Transient condition in table dot3MpcpParamTable - it appears > > that this table tries to capture the transient values > > during the time a OLT and ONU are setting up a relationship > > and determining an LLID. Is this a long enough running > > activity that it can be seen, and what LLID value is > > used durring negotiation (can't it change)? > > Object dot3OmpEmulationID - the DESCRIPTION needs to be translated > > from GDMO speak to something meaningful in SMIv2. > > (I commented on this before, and still don't see the > > usefulness of the object!) > > Enum names in DESCRIPTION for object dot3ExtPkgObjectPowerDown - > > The enum names start with lower-case letters and not > > upper-case. > > Queues - I really don't understand the queues. Could some > > intro text be added. > > Indexing - this is somewhat subjective. I don't believe that > > it is proper to define an object in one table (which is not > > an index in that table) and use it for an index in another > > table. This is done in the queue tables and object dot3LinkIndex. > >=20 > >=20 > > NOTE: this review was not complete. I didn't try to compile the MIB=20 > > module or run the document through the nit checker. > > Also, I didn't look at the compliances. > >=20 > > -- that's it > >=20 > > Regards, > > /david t. perkins > >=20 > >=20 > >=20 > ********************************************************************** > ** This footnote confirms that this email message has been scanned by=20 > Passave mail scanner for the presence of malicious code, vandals &=20 > computer viruses. > ********************************************************************** > ** > ********************************************************************** > ** This footnote confirms that this email message has been scanned by=20 > Passave mail scanner for the presence of malicious code, vandals &=20 > computer viruses. > ********************************************************************** > ** >=20 ************************************************************************ This footnote confirms that this email message has been scanned by Passave mail scanner for the presence of malicious code, vandals & computer viruses. ************************************************************************ ************************************************************************ This footnote confirms that this email message has been scanned by Passave mail scanner for the presence of malicious code, vandals & computer viruses. ************************************************************************ _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib From hubmib-bounces@ietf.org Wed Feb 08 09:12:40 2006 Received: from localhost.cnri.reston.va.us ([127.0.0.1] helo=megatron.ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1F6q3k-0004JL-5L; Wed, 08 Feb 2006 09:12:40 -0500 Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1F6q3Z-0004Hp-Ar for hubmib@megatron.ietf.org; Wed, 08 Feb 2006 09:12:38 -0500 Received: from ietf-mx.ietf.org (ietf-mx [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id JAA25500 for ; Wed, 8 Feb 2006 09:10:35 -0500 (EST) Received: from co300216-ier2.net.avaya.com ([198.152.13.103]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1F6qFo-00063x-Mx for hubmib@ietf.org; Wed, 08 Feb 2006 09:25:10 -0500 Received: from tierw.net.avaya.com (h198-152-13-100.avaya.com [198.152.13.100]) by co300216-ier2.net.avaya.com (Switch-3.1.7/Switch-3.1.7) with ESMTP id k18D8n2f010649 for ; Wed, 8 Feb 2006 08:08:49 -0500 Received: from IS0004AVEXU1.global.avaya.com (h135-64-105-51.avaya.com [135.64.105.51]) by tierw.net.avaya.com (Switch-3.1.2/Switch-3.1.0) with ESMTP id k18DuXYj021711 for ; Wed, 8 Feb 2006 08:56:34 -0500 (EST) Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable X-MimeOLE: Produced By Microsoft Exchange V6.0.6603.0 Date: Wed, 8 Feb 2006 16:11:58 +0200 Message-ID: Thread-Topic: Response to EPON-MIB-04 Thread-Index: AcYsBAoMS/I2j5WhT0OtyeFX/yfOQwAGJ5oQACcwN6A= From: "Romascanu, Dan \(Dan\)" To: "Lior Khermosh" , "David T. Perkins" X-Scanner: InterScan AntiVirus for Sendmail X-Spam-Score: 0.0 (/) X-Scan-Signature: 856eb5f76e7a34990d1d457d8e8e5b7f Content-Transfer-Encoding: quoted-printable Cc: Hub MIB Subject: [Hubmib] RE: Response to EPON-MIB-04 X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: hubmib-bounces@ietf.org Errors-To: hubmib-bounces@ietf.org Lior, I am not sure that you addressed part of David's query - 'Also describe what events cause a new instance to be created or deleted' - or in other words what events determine new rows to be created or rows to be deleted in the tables?=20 Thanks and Regards, Dan =20 =20 > -----Original Message----- > From: Lior Khermosh [mailto:lior.khermosh@passave.com]=20 _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib From hubmib-bounces@ietf.org Wed Feb 08 10:06:45 2006 Received: from localhost.cnri.reston.va.us ([127.0.0.1] helo=megatron.ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1F6qu5-0003gz-1j; Wed, 08 Feb 2006 10:06:45 -0500 Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1F6qu3-0003gN-V2 for hubmib@megatron.ietf.org; Wed, 08 Feb 2006 10:06:44 -0500 Received: from ietf-mx.ietf.org (ietf-mx [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id KAA29726 for ; Wed, 8 Feb 2006 10:05:01 -0500 (EST) Received: from mailgw.passave.com ([212.25.93.227] helo=passave.com) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1F6r6c-0007ze-R3 for hubmib@ietf.org; Wed, 08 Feb 2006 10:19:45 -0500 Received: from Internal Mail-Server by mailgw with SMTP; 8 Feb 2006 17:05:46 +0200 X-MimeOLE: Produced By Microsoft Exchange V6.5.7226.0 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Date: Wed, 8 Feb 2006 17:07:58 +0200 Message-ID: <63DC5157D93D3046B78E8DDD9130C4E023DBF6@passmail> Thread-Topic: Response to EPON-MIB-04 Thread-Index: AcYsBAoMS/I2j5WhT0OtyeFX/yfOQwAGJ5oQACcwN6AAAc5OUA== From: "Lior Khermosh" To: "Romascanu, Dan \(Dan\)" , "David T. Perkins" X-Spam-Score: 0.0 (/) X-Scan-Signature: 769a46790fb42fbb0b0cc700c82f7081 Content-Transfer-Encoding: quoted-printable Cc: Hub MIB Subject: [Hubmib] RE: Response to EPON-MIB-04 X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: hubmib-bounces@ietf.org Errors-To: hubmib-bounces@ietf.org Dan, I haven't responded yet to all the questions in David's mail. I will send the full response after clearing the indexing issue. Generally my intention is to make the creation and deletion of rows of the link based table when ONU registers (a virtual link established) and deregisters (a virtual link deleted) similar to TCP connections creation/deletion case. Rows in general tables are created in initialization. I will remove any direct creation by management . I am updating the tables descriptions accordingly. Best regards, Lior -----Original Message----- From: Romascanu, Dan (Dan) [mailto:dromasca@avaya.com]=20 Sent: Wednesday, February 08, 2006 4:12 PM To: Lior Khermosh; David T. Perkins Cc: Hub MIB Subject: RE: Response to EPON-MIB-04 Lior, I am not sure that you addressed part of David's query - 'Also describe what events cause a new instance to be created or deleted' - or in other words what events determine new rows to be created or rows to be deleted in the tables?=20 Thanks and Regards, Dan =20 =20 > -----Original Message----- > From: Lior Khermosh [mailto:lior.khermosh@passave.com] ************************************************************************ This footnote confirms that this email message has been scanned by Passave mail scanner for the presence of malicious code, vandals & computer viruses. ************************************************************************ ************************************************************************ This footnote confirms that this email message has been scanned by Passave mail scanner for the presence of malicious code, vandals & computer viruses. ************************************************************************ _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib From hubmib-bounces@ietf.org Wed Feb 08 10:08:50 2006 Received: from localhost.cnri.reston.va.us ([127.0.0.1] helo=megatron.ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1F6qw6-00054T-PS; Wed, 08 Feb 2006 10:08:50 -0500 Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1F6qw4-000504-Q3 for hubmib@megatron.ietf.org; Wed, 08 Feb 2006 10:08:48 -0500 Received: from ietf-mx.ietf.org (ietf-mx [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id KAA29879 for ; Wed, 8 Feb 2006 10:07:06 -0500 (EST) Received: from co300216-ier2.net.avaya.com ([198.152.13.103]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1F6r8c-00084a-LZ for hubmib@ietf.org; Wed, 08 Feb 2006 10:21:51 -0500 Received: from tierw.net.avaya.com (h198-152-13-100.avaya.com [198.152.13.100]) by co300216-ier2.net.avaya.com (Switch-3.1.7/Switch-3.1.7) with ESMTP id k18E5RiJ023556 for ; Wed, 8 Feb 2006 09:05:27 -0500 Received: from IS0004AVEXU1.global.avaya.com (h135-64-105-51.avaya.com [135.64.105.51]) by tierw.net.avaya.com (Switch-3.1.2/Switch-3.1.0) with ESMTP id k18ErBYj014194 for ; Wed, 8 Feb 2006 09:53:12 -0500 (EST) X-MimeOLE: Produced By Microsoft Exchange V6.0.6603.0 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Date: Wed, 8 Feb 2006 17:08:36 +0200 Message-ID: Thread-Topic: Response to EPON-MIB-04 Thread-Index: AcYsBAoMS/I2j5WhT0OtyeFX/yfOQwAGJ5oQACcwN6AAAc5OUAAALWhA From: "Romascanu, Dan \(Dan\)" To: "Lior Khermosh" , "David T. Perkins" X-Scanner: InterScan AntiVirus for Sendmail X-Spam-Score: 0.0 (/) X-Scan-Signature: 25620135586de10c627e3628c432b04a Content-Transfer-Encoding: quoted-printable Cc: Hub MIB Subject: [Hubmib] RE: Response to EPON-MIB-04 X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: hubmib-bounces@ietf.org Errors-To: hubmib-bounces@ietf.org I am referring to the question that David asked in the (short) mail yesterday, not in the (long) review mail a while ago.=20 Regards, Dan =20 =20 > -----Original Message----- > From: Lior Khermosh [mailto:lior.khermosh@passave.com]=20 > Sent: Wednesday, February 08, 2006 5:08 PM > To: Romascanu, Dan (Dan); David T. Perkins > Cc: Hub MIB > Subject: RE: Response to EPON-MIB-04 >=20 > Dan, > I haven't responded yet to all the questions in David's mail.=20 > I will send the full response after clearing the indexing issue. > Generally my intention is to make the creation and deletion=20 > of rows of the link based table when ONU registers (a virtual=20 > link established) and deregisters (a virtual link deleted)=20 > similar to TCP connections creation/deletion case. Rows in=20 > general tables are created in initialization. I will remove=20 > any direct creation by management . I am updating the tables=20 > descriptions accordingly. >=20 > Best regards, > Lior >=20 >=20 > -----Original Message----- > From: Romascanu, Dan (Dan) [mailto:dromasca@avaya.com] > Sent: Wednesday, February 08, 2006 4:12 PM > To: Lior Khermosh; David T. Perkins > Cc: Hub MIB > Subject: RE: Response to EPON-MIB-04 >=20 > Lior, >=20 > I am not sure that you addressed part of David's query -=20 > 'Also describe what events cause a new instance to be created=20 > or deleted' - or in other words what events determine new=20 > rows to be created or rows to be deleted in the tables?=20 >=20 > Thanks and Regards, >=20 > Dan >=20 >=20 > =20 > =20 >=20 > > -----Original Message----- > > From: Lior Khermosh [mailto:lior.khermosh@passave.com] >=20 > ************************************************************** > ********** > This footnote confirms that this email message has been=20 > scanned by Passave mail scanner for the presence of malicious=20 > code, vandals & computer viruses. > ************************************************************** > ********** > ************************************************************** > ********** > This footnote confirms that this email message has been=20 > scanned by Passave mail scanner for the presence of malicious=20 > code, vandals & computer viruses. > ************************************************************** > ********** >=20 _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib From hubmib-bounces@ietf.org Wed Feb 08 10:40:06 2006 Received: from localhost.cnri.reston.va.us ([127.0.0.1] helo=megatron.ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1F6rQM-0006ZJ-5b; Wed, 08 Feb 2006 10:40:06 -0500 Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1F6rQK-0006Y3-9q for hubmib@megatron.ietf.org; Wed, 08 Feb 2006 10:40:04 -0500 Received: from ietf-mx.ietf.org (ietf-mx [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id KAA02049 for ; Wed, 8 Feb 2006 10:38:20 -0500 (EST) Received: from mailgw.passave.com ([212.25.93.227] helo=passave.com) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1F6rcq-0000gX-NH for hubmib@ietf.org; Wed, 08 Feb 2006 10:53:06 -0500 Received: from Internal Mail-Server by mailgw with SMTP; 8 Feb 2006 17:38:53 +0200 X-MimeOLE: Produced By Microsoft Exchange V6.5.7226.0 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Date: Wed, 8 Feb 2006 17:41:05 +0200 Message-ID: <63DC5157D93D3046B78E8DDD9130C4E023DC03@passmail> Thread-Topic: Response to EPON-MIB-04 Thread-Index: AcYsBAoMS/I2j5WhT0OtyeFX/yfOQwAGJ5oQACcwN6AAAc5OUAAALWhAAABwvdA= From: "Lior Khermosh" To: "Romascanu, Dan \(Dan\)" , "David T. Perkins" X-Spam-Score: 0.0 (/) X-Scan-Signature: bfef20db74c24e87b6dbcd42ea7ba67c Content-Transfer-Encoding: quoted-printable Cc: Hub MIB Subject: [Hubmib] RE: Response to EPON-MIB-04 X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: hubmib-bounces@ietf.org Errors-To: hubmib-bounces@ietf.org The response is actually quite similar.=20 In initialization the rows in the general tables are created, and for the IF, MAU and etherLike interfaces tables entries with the OLT and ONU ifIndex are created. 1) In initialization The parameters for the IF table: At the ONU in working mode: ifIndex 1 ifDescr "I/F description" ifType gigabitEthernet (117) 1000base-Px ifMtu MTU size (1522) ifSpeed 1000000000 ifPhysAddress ONU_MAC_Address ifAdminStatus up ifOperStatus Up ifLastChange up_time=20 ifInOctets ONU1_octets_number ifInUcastPkts ONU1_unicast_frame_number ifInNUcastPkts ONU1_non_unicast_frame_number ifInDiscards ONU1_discard_frame_number ifInErrors ONU1_error_frame_number ifInUnknownProtos ONU1_unknown_frame_number ifOutOctets ONU1_octets_number=20 ifOutUcastPkts ONU1_unicast_frame_number ifOutNUcastPkts ONU1_non_unicast_frame_number ifOutDiscards ONU1_discard_frame_number ifOutErrors ONU1_error_frame_number ifOutQLen ONU1_queue_frame_number And from the EPON MIB:=20 EPOM MPCP param table: dot3MpcpLinkID 0=20 dot3MpcpRemoteMACAddress 0=20 dot3MpcpRegistrationState unregistered dot3MpcpMaximumPendingGrants 4 dot3MpcpTransmitElapsed 0 dot3MpcpReceiveElapsed 0 dot3MpcpRoundTripTime 0 And at the OLT: ifIndex 100000 =09 ifDescr "I/F description" =09 ifType gigabitEthernet (117)=09 ifMtu MTU size (1522) =09 ifSpeed 1000000000 =09 ifPhysAddress OLT_MAC_Address =09 ifAdminStatus up =09 ifOperStatus Up =09 ifLastChange OLT_up_time =09 ifInOctets OLT_octets_number=09 ifInUcastPkts OLT_unic_frame_num=09 ifInNUcastPkts OLT_non_unic_frame_num=09 ifInDiscards OLT_disc_frame_num=09 ifInErrors OLT_err_frame_num=09 ifInUnknownProtos OLT_unknw_frame_num=09 ifOutOctets OLT_octets_number =09 ifOutUcastPkts OLT_unic_frame_num=09 ifOutNUcastPkts OLT_non_unic_frame_num=09 ifOutDiscards OLT_disc_frame_num=09 ifOutErrors OLT_err_frame_num=09 ifOutQLen OLT_queue_frame_num FOR THE VIRTUAL LINKS: ifIndex 65535 =20 ifDescr "I/F description" =20 ifType gigabitEthernet (117) =20 ifMtu MTU size (1522) =20 ifSpeed 1000000000 =20 ifPhysAddress OLT_MAC_Address =20 ifAdminStatus up =20 ifOperStatus Up =20 ifLastChange up_time =20 ifInOctets BRCT_octets_number =20 ifInUcastPkts BRCT_unic_frame_num =20 ifInNUcastPkts BRCT_non_unic_frame_num ifInDiscards BRCT_disc_frame_numr =20 ifInErrors BRCT_err_frame_num =20 ifInUnknownProtos BRCT_unknw_frame_num =20 ifOutOctets BRCT_octets_number =20 ifOutUcastPkts BRCT_unic_frame_num =20 ifOutNUcastPkts BRCT_non_unic_frame_num=20 ifOutDiscards BRCT_disc_frame_num =20 ifOutErrors BRCT_err_frame_num =20 ifOutQLen BRCt_queue_frame_num =20 And from the EPON MIB:=20 No rows 2) When ONU1 is registered: The parameters for the IF table: At the ONU in working mode: ifIndex 1 ifDescr "I/F description" ifType gigabitEthernet (117) 1000base-Px ifMtu MTU size (1522) ifSpeed 1000000000 ifPhysAddress ONU_MAC_Address ifAdminStatus up ifOperStatus Up ifLastChange up_time=20 ifInOctets ONU1_octets_number ifInUcastPkts ONU1_unicast_frame_number ifInNUcastPkts ONU1_non_unicast_frame_number ifInDiscards ONU1_discard_frame_number ifInErrors ONU1_error_frame_number ifInUnknownProtos ONU1_unknown_frame_number ifOutOctets ONU1_octets_number=20 ifOutUcastPkts ONU1_unicast_frame_number ifOutNUcastPkts ONU1_non_unicast_frame_number ifOutDiscards ONU1_discard_frame_number ifOutErrors ONU1_error_frame_number ifOutQLen ONU1_queue_frame_number And from the EPON MIB: One row=20 EPOM MPCP param table: dot3MpcpLinkID 1=20 dot3MpcpRemoteMACAddress OLT_MAC_ADDRESS=20 dot3MpcpRegistrationState registered dot3MpcpMaximumPendingGrants 4 dot3MpcpTransmitElapsed 10 dot3MpcpReceiveElapsed 10 dot3MpcpRoundTripTime 100 at the OLT in working mode the interfaces associated with the virtual links: ifIndex 1 65535 ifDescr "I/F description" "I/F description" =20 ifType gigabitEthernet (117) gigabitEthernet (117) =20 ifMtu MTU size (1522) MTU size (1522) =20 ifSpeed 1000000000 1000000000 =20 ifPhysAddress OLT_MAC_Address OLT_MAC_Address =20 ifAdminStatus up up =20 ifOperStatus Up Up =20 ifLastChange ONU1_up_time up_time =20 ifInOctets ONU1_octets_number BRCT_octets_number ifInUcastPkts ONU1_unic_frame_num BRCT_unic_frame_num =20 ifInNUcastPkts ONU1_non_unic_frame_num BRCT_non_unic_frame_num ifInDiscards ONU1_disc_frame_num BRCT_disc_frame_numr =20 ifInErrors ONU1_err_frame_num BRCT_err_frame_num =20 ifInUnknownProtos ONU1_unknw_frame_num BRCT_unknw_frame_num =20 ifOutOctets ONU1_octets_number BRCT_octets_number ifOutUcastPkts ONU1_unic_frame_num BRCT_unic_frame_num =20 ifOutNUcastPkts ONU1_non_unic_frame_num BRCT_non_unic_frame_num=20 ifOutDiscards ONU1_disc_frame_num BRCT_disc_frame_num =20 ifOutErrors ONU1_err_frame_num BRCT_err_frame_num =20 ifOutQLen ONU1_queue_frame_num BRCt_queue_frame_num And at the OLT: ifIndex 100000 =09 ifDescr "I/F description" =09 ifType gigabitEthernet (117)=09 ifMtu MTU size (1522) =09 ifSpeed 1000000000 =09 ifPhysAddress OLT_MAC_Address =09 ifAdminStatus up =09 ifOperStatus Up =09 ifLastChange OLT_up_time =09 ifInOctets OLT_octets_number=09 ifInUcastPkts OLT_unic_frame_num=09 ifInNUcastPkts OLT_non_unic_frame_num=09 ifInDiscards OLT_disc_frame_num=09 ifInErrors OLT_err_frame_num=09 ifInUnknownProtos OLT_unknw_frame_num=09 ifOutOctets OLT_octets_number =09 ifOutUcastPkts OLT_unic_frame_num=09 ifOutNUcastPkts OLT_non_unic_frame_num=09 ifOutDiscards OLT_disc_frame_num=09 ifOutErrors OLT_err_frame_num=09 ifOutQLen OLT_queue_frame_num And from the EPON MIB: One row=20 EPOM MPCP param table: dot3MpcpLinkID 1=20 dot3MpcpRemoteMACAddress ONU1_MAC_ADDRESS=20 dot3MpcpRegistrationState registered dot3MpcpMaximumPendingGrants 4 dot3MpcpTransmitElapsed 10 dot3MpcpReceiveElapsed 10 dot3MpcpRoundTripTime 100 2) When ONU1, ONU2, ONU3 are registered: The parameters for the IF table: At the ONU in working mode: ifIndex 1 ifDescr "I/F description" ifType gigabitEthernet (117) 1000base-Px ifMtu MTU size (1522) ifSpeed 1000000000 ifPhysAddress ONU_MAC_Address ifAdminStatus up ifOperStatus Up ifLastChange up_time=20 ifInOctets ONU1_octets_number ifInUcastPkts ONU1_unicast_frame_number ifInNUcastPkts ONU1_non_unicast_frame_number ifInDiscards ONU1_discard_frame_number ifInErrors ONU1_error_frame_number ifInUnknownProtos ONU1_unknown_frame_number ifOutOctets ONU1_octets_number=20 ifOutUcastPkts ONU1_unicast_frame_number ifOutNUcastPkts ONU1_non_unicast_frame_number ifOutDiscards ONU1_discard_frame_number ifOutErrors ONU1_error_frame_number ifOutQLen ONU1_queue_frame_number And from the EPON MIB: One row=20 EPOM MPCP param table: dot3MpcpLinkID 1=20 dot3MpcpRemoteMACAddress OLT_MAC_ADDRESS=20 dot3MpcpRegistrationState registered dot3MpcpMaximumPendingGrants 4 dot3MpcpTransmitElapsed 10 dot3MpcpReceiveElapsed 10 dot3MpcpRoundTripTime 100 at the OLT in working mode the interfaces associated with the virtual links: ifIndex 1 2 3 65535 ifDescr "I/F description" "I/F description" "I/F description" "I/F description" =20 ifType gigabitEthernet (117) gigabitEthernet (117) gigabitEthernet (117) gigabitEthernet (117) =20 ifMtu MTU size (1522) MTU size (1522) MTU size (1522) MTU size (1522) =20 ifSpeed 1000000000 1000000000 1000000000 1000000000 =20 ifPhysAddress OLT_MAC_Address OLT_MAC_Address OLT_MAC_Address OLT_MAC_Address =20 ifAdminStatus up up up up =20 ifOperStatus Up Up Up Up =20 ifLastChange ONU1_up_time ONU2_up_time ONU3_up_time up_time =20 ifInOctets ONU1_octets_number ONU2_octets_number ONU3_octets_number BRCT_octets_number =20 ifInUcastPkts ONU1_unic_frame_num ONU2_unic_frame_num ONU3_unic_frame_num BRCT_unic_frame_num =20 ifInNUcastPkts ONU1_non_unic_frame_num ONU2_non_unic_frame_num ONU3_non_unic_frame_num BRCT_non_unic_frame_num ifInDiscards ONU1_disc_frame_num ONU2_disc_frame_num ONU3_disc_frame_num BRCT_disc_frame_numr =20 ifInErrors ONU1_err_frame_num ONU2_err_frame_num ONU3_err_frame_num BRCT_err_frame_num =20 ifInUnknownProtos ONU1_unknw_frame_num ONU2_unknw_frame_num ONU3_unknw_frame_num BRCT_unknw_frame_num =20 ifOutOctets ONU1_octets_number ONU2_octets_number ONU3_octets_number BRCT_octets_number =20 ifOutUcastPkts ONU1_unic_frame_num ONU2_unic_frame_num ONU3_unic_frame_num BRCT_unic_frame_num =20 ifOutNUcastPkts ONU1_non_unic_frame_num ONU2_non_unic_frame_num ONU3_non_unic_frame_num BRCT_non_unic_frame_num=20 ifOutDiscards ONU1_disc_frame_num ONU2_disc_frame_num ONU3_disc_frame_num BRCT_disc_frame_num =20 ifOutErrors ONU1_err_frame_num ONU2_err_frame_num ONU3_err_frame_num BRCT_err_frame_num =20 ifOutQLen ONU1_queue_frame_num ONU2_queue_frame_num ONU3_queue_frame_num BRCt_queue_frame_num =20 And at the OLT: ifIndex 100000 =09 ifDescr "I/F description" =09 ifType gigabitEthernet (117)=09 ifMtu MTU size (1522) =09 ifSpeed 1000000000 =09 ifPhysAddress OLT_MAC_Address =09 ifAdminStatus up =09 ifOperStatus Up =09 ifLastChange OLT_up_time =09 ifInOctets OLT_octets_number=09 ifInUcastPkts OLT_unic_frame_num=09 ifInNUcastPkts OLT_non_unic_frame_num=09 ifInDiscards OLT_disc_frame_num=09 ifInErrors OLT_err_frame_num=09 ifInUnknownProtos OLT_unknw_frame_num=09 ifOutOctets OLT_octets_number =09 ifOutUcastPkts OLT_unic_frame_num=09 ifOutNUcastPkts OLT_non_unic_frame_num=09 ifOutDiscards OLT_disc_frame_num=09 ifOutErrors OLT_err_frame_num=09 ifOutQLen OLT_queue_frame_num And from the EPON MIB: 3 row=20 EPOM MPCP param table: dot3MpcpLinkID 1 2 3 =09 dot3MpcpRemoteMACAddress ONU1_MAC_ADDRESS ONU2_MAC_ADDRESS ONU3_MAC_ADDRESS =20 dot3MpcpRegistrationState registered registered registered =09 dot3MpcpMaximumPendingGrants 4 4 4 =09 dot3MpcpTransmitElapsed 10 10 10 dot3MpcpReceiveElapsed 10 10 10 dot3MpcpRoundTripTime 100 60 20 . -----Original Message----- From: Romascanu, Dan (Dan) [mailto:dromasca@avaya.com]=20 Sent: Wednesday, February 08, 2006 5:09 PM To: Lior Khermosh; David T. Perkins Cc: Hub MIB Subject: RE: Response to EPON-MIB-04 I am referring to the question that David asked in the (short) mail yesterday, not in the (long) review mail a while ago.=20 Regards, Dan =20 =20 > -----Original Message----- > From: Lior Khermosh [mailto:lior.khermosh@passave.com] > Sent: Wednesday, February 08, 2006 5:08 PM > To: Romascanu, Dan (Dan); David T. Perkins > Cc: Hub MIB > Subject: RE: Response to EPON-MIB-04 >=20 > Dan, > I haven't responded yet to all the questions in David's mail.=20 > I will send the full response after clearing the indexing issue. > Generally my intention is to make the creation and deletion of rows of > the link based table when ONU registers (a virtual link established)=20 > and deregisters (a virtual link deleted) similar to TCP connections=20 > creation/deletion case. Rows in general tables are created in=20 > initialization. I will remove any direct creation by management . I am > updating the tables descriptions accordingly. >=20 > Best regards, > Lior >=20 >=20 > -----Original Message----- > From: Romascanu, Dan (Dan) [mailto:dromasca@avaya.com] > Sent: Wednesday, February 08, 2006 4:12 PM > To: Lior Khermosh; David T. Perkins > Cc: Hub MIB > Subject: RE: Response to EPON-MIB-04 >=20 > Lior, >=20 > I am not sure that you addressed part of David's query - 'Also=20 > describe what events cause a new instance to be created or deleted' -=20 > or in other words what events determine new rows to be created or rows > to be deleted in the tables? >=20 > Thanks and Regards, >=20 > Dan >=20 >=20 > =20 > =20 >=20 > > -----Original Message----- > > From: Lior Khermosh [mailto:lior.khermosh@passave.com] >=20 > ************************************************************** > ********** > This footnote confirms that this email message has been scanned by=20 > Passave mail scanner for the presence of malicious code, vandals &=20 > computer viruses. > ************************************************************** > ********** > ************************************************************** > ********** > This footnote confirms that this email message has been scanned by=20 > Passave mail scanner for the presence of malicious code, vandals &=20 > computer viruses. > ************************************************************** > ********** >=20 ************************************************************************ This footnote confirms that this email message has been scanned by Passave mail scanner for the presence of malicious code, vandals & computer viruses. ************************************************************************ ************************************************************************ This footnote confirms that this email message has been scanned by Passave mail scanner for the presence of malicious code, vandals & computer viruses. ************************************************************************ _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib From hubmib-bounces@ietf.org Wed Feb 08 15:29:05 2006 Received: from localhost.cnri.reston.va.us ([127.0.0.1] helo=megatron.ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1F6vw1-0003Uj-V4; Wed, 08 Feb 2006 15:29:05 -0500 Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1F6vw0-0003TY-Hi for hubmib@megatron.ietf.org; Wed, 08 Feb 2006 15:29:04 -0500 Received: from ietf-mx.ietf.org (ietf-mx [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id PAA29504 for ; Wed, 8 Feb 2006 15:27:12 -0500 (EST) Received: from co300216-ier2.net.avaya.com ([198.152.13.103]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1F6w8U-00046o-Dp for hubmib@ietf.org; Wed, 08 Feb 2006 15:42:00 -0500 Received: from tierw.net.avaya.com (h198-152-13-100.avaya.com [198.152.13.100]) by co300216-ier2.net.avaya.com (Switch-3.1.7/Switch-3.1.7) with ESMTP id k18JPZ52016817 for ; Wed, 8 Feb 2006 14:25:35 -0500 Received: from IS0004AVEXU1.global.avaya.com (h135-64-105-51.avaya.com [135.64.105.51]) by tierw.net.avaya.com (Switch-3.1.2/Switch-3.1.0) with ESMTP id k18KDKYj011383 for ; Wed, 8 Feb 2006 15:13:21 -0500 (EST) X-MimeOLE: Produced By Microsoft Exchange V6.0.6603.0 Content-class: urn:content-classes:message MIME-Version: 1.0 Date: Wed, 8 Feb 2006 22:28:45 +0200 Message-ID: Thread-Topic: DSC-00465.jpg Thread-Index: AcYs7kJPgkG09T4vRIuBf9EYaNAr0QAAAAFz From: "Romascanu, Dan \(Dan\)" To: "hubmib" X-Scanner: InterScan AntiVirus for Sendmail X-Spam-Score: 0.5 (/) X-Scan-Signature: 4adaf050708fb13be3316a9eee889caa Subject: [Hubmib] Out of Office AutoReply: DSC-00465.jpg X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Content-Type: multipart/mixed; boundary="===============1969664669==" Sender: hubmib-bounces@ietf.org Errors-To: hubmib-bounces@ietf.org This is a multi-part message in MIME format. --===============1969664669== Content-class: urn:content-classes:message Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C62CEE.4253F6DE" This is a multi-part message in MIME format. ------_=_NextPart_001_01C62CEE.4253F6DE Content-Type: text/plain; charset="windows-1255" Content-Transfer-Encoding: quoted-printable I am out-of-office with no e-mail connectivity until February 12. If = you need to contact me urgently, please leave a message at my office = voice mail. Regards, Dan ------_=_NextPart_001_01C62CEE.4253F6DE Content-Type: text/html; charset="windows-1255" Content-Transfer-Encoding: quoted-printable Out of Office AutoReply: DSC-00465.jpg

I am out-of-office with no e-mail connectivity until = February 12.  If you need to contact me urgently, please leave a = message at my office voice mail.

Regards,

Dan

------_=_NextPart_001_01C62CEE.4253F6DE-- --===============1969664669== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib --===============1969664669==-- From hubmib-bounces@ietf.org Sat Feb 11 02:35:47 2006 Received: from localhost.cnri.reston.va.us ([127.0.0.1] helo=megatron.ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1F7pIJ-0008W8-Tz; Sat, 11 Feb 2006 02:35:47 -0500 Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1F7pII-0008Ra-KY for hubmib@megatron.ietf.org; Sat, 11 Feb 2006 02:35:46 -0500 Received: from ietf-mx.ietf.org (ietf-mx [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id CAA15663 for ; Sat, 11 Feb 2006 02:34:03 -0500 (EST) Received: from mailgw.passave.com ([212.25.93.227] helo=passave.com) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1F7pVR-0004i1-22 for hubmib@ietf.org; Sat, 11 Feb 2006 02:49:22 -0500 Received: from Internal Mail-Server by mailgw with SMTP; 11 Feb 2006 09:35:04 +0200 X-MimeOLE: Produced By Microsoft Exchange V6.5.7226.0 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Subject: RE: [Hubmib] Response to EPON-MIB-04 Date: Sat, 11 Feb 2006 09:36:57 +0200 Message-ID: <63DC5157D93D3046B78E8DDD9130C4E023DD08@passmail> Thread-Topic: [Hubmib] Response to EPON-MIB-04 Thread-Index: AcYd6V4y/70DHBCOTBKn6wqRxgLhywBab4yg From: "Lior Khermosh" To: "David T. Perkins" X-Spam-Score: 0.0 (/) X-Scan-Signature: ea4ac80f790299f943f0a53be7e1a21a Content-Transfer-Encoding: quoted-printable Cc: dromasca@avaya.com, Hub MIB X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: hubmib-bounces@ietf.org Errors-To: hubmib-bounces@ietf.org OK=20 -----Original Message----- From: David T. Perkins [mailto:dperkins@dsperkins.com]=20 Sent: Friday, January 20, 2006 7:43 PM To: Lior Khermosh Cc: dromasca@avaya.com; Hub MIB Subject: Re: [Hubmib] Response to EPON-MIB-04 HI, Just saw one more small item. The MIB module is named "DOT3-EFM-EPON-MIB". I suggest that the name "DOT3-EPON-MIB" be used instead. Regards, /david t. perkins =20 =20 ************************************************************************ This footnote confirms that this email message has been scanned by Passave mail scanner for the presence of malicious code, vandals & computer viruses. ************************************************************************ _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib From hubmib-bounces@ietf.org Mon Feb 13 04:34:28 2006 Received: from localhost.cnri.reston.va.us ([127.0.0.1] helo=megatron.ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1F8a6G-0004Sz-HT; Mon, 13 Feb 2006 04:34:28 -0500 Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1F8YZv-0001jK-Pg for hubmib@megatron.ietf.org; Mon, 13 Feb 2006 02:57:00 -0500 Received: from ietf-mx.ietf.org (ietf-mx [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id CAA23083 for ; Mon, 13 Feb 2006 02:55:12 -0500 (EST) Received: from mailgw.passave.com ([212.25.93.227] helo=passave.com) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1F8YnA-0006MI-SN for hubmib@ietf.org; Mon, 13 Feb 2006 03:11:00 -0500 Received: from Internal Mail-Server by mailgw with SMTP; 13 Feb 2006 09:55:42 +0200 X-MimeOLE: Produced By Microsoft Exchange V6.5.7226.0 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----_=_NextPart_001_01C63073.3D5AF6E6" Date: Mon, 13 Feb 2006 09:58:02 +0200 Message-ID: <63DC5157D93D3046B78E8DDD9130C4E02923F9@passmail> X-MS-Has-Attach: yes Thread-Topic: [resend] RE: Response to EPON-MIB-04 Thread-Index: AcYu3eEOw55GBm1gSoixLbHi/KFllA== From: "Lior Khermosh" To: "David T. Perkins" X-Spam-Score: 0.0 (/) X-Scan-Signature: 9a08d37dfab7399db179c659afa46425 X-Mailman-Approved-At: Mon, 13 Feb 2006 04:34:24 -0500 Cc: dromasca@avaya.com, Hub MIB Subject: [Hubmib] [resend] RE: Response to EPON-MIB-04 X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: hubmib-bounces@ietf.org Errors-To: hubmib-bounces@ietf.org This is a multi-part message in MIME format. ------_=_NextPart_001_01C63073.3D5AF6E6 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable David, Thanks for the comments. Please see some answers embedded in line. Attached is also an updated draft. I am also submitting it. Please note that I have decided to go back in the indexing method and to use the ifIndex of the virtual links as the rows index instead of using the link index which was defined at last response. Please see the attached mails for that. Thanks, Lior =20 -----Original Message----- From: David T. Perkins [mailto:dperkins@dsperkins.com]=20 Sent: Friday, January 20, 2006 9:01 AM To: Lior Khermosh Cc: dromasca@avaya.com; Hub MIB Subject: Response to EPON-MIB-04 HI, Comments on draft-ietf-hubmib-efm-epon-mib-04.txt - dtp:19-jan-2006 The document is much improved. However, it is not yet ready for submission to the IESG. The changes introduced many grammar and some spelling errors (and a couple of formatting problems), which can be easily fixed. Unfortunately, there are a couple of fundamental issues that remain. These are: 1) if an "SNMP MIB walk" was done on the a) IF table b) bridge table c) MAU table d) stack table (and inverted stack table) e) etherLike interfaces table d) and tables defined in the MIB module what would be the answers to the following questions for OLTs and for ONUs (for both, assume that each has a 1Gig Eth interface and an optical interface, and for the OLT, there are 3 ONUs connected to the optical interface): a) how many entries would be in the IF table >> At each ONU 1. At the OLT 3+1. Each one has a different ifIndex. The MAC is virtually duplicated. So the number of entries is the number of virtual entries + an additional entry for the broadcast. Only the MAC address at the OLT is not duplicated as the physical I/F is the same. It is specified in the IEEE802.3ah 64.1.2. b) what would the values be for each column in the IF table. That is, what are the values of the following objects: ifIndex, ifDescr, ifType, ifMtu, ifSpeed, ifPhysAddress, ifAdminStatus, ifOperStatus, ifLastChange, ifInOctets, ifInUcastPkts, ifInNUcastPkts, ifInDiscards, ifInErrors,=20 ifInUnknownProtos, ifOutOctets, ifOutUcastPkts, ifOutNUcastPkts, ifOutDiscards, ifOutErrors, ifOutQLen >>=20 At the ONU in working mode: ifIndex 1 ifDescr "I/F description" ifType gigabitEthernet (117) 1000base-Px ifMtu MTU size (1522) ifSpeed 1000000000 ifPhysAddress ONU_MAC_Address ifAdminStatus up ifOperStatus Up ifLastChange up_time=20 ifInOctets ONU1_octets_number ifInUcastPkts ONU1_unicast_frame_number ifInNUcastPkts ONU1_non_unicast_frame_number ifInDiscards ONU1_discard_frame_number ifInErrors ONU1_error_frame_number ifInUnknownProtos ONU1_unknown_frame_number ifOutOctets ONU1_octets_number=20 ifOutUcastPkts ONU1_unicast_frame_number ifOutNUcastPkts ONU1_non_unicast_frame_number ifOutDiscards ONU1_discard_frame_number ifOutErrors ONU1_error_frame_number ifOutQLen ONU1_queue_frame_number at the OLT in working mode the interfaces associated with the virtual links: ifIndex 1 2 3 65535 ifDescr "I/F description" "I/F description" "I/F description" "I/F description" =20 ifType gigabitEthernet (117) gigabitEthernet (117) gigabitEthernet (117) gigabitEthernet (117) =20 ifMtu MTU size (1522) MTU size (1522) MTU size (1522) MTU size (1522) =20 ifSpeed 1000000000 1000000000 1000000000 1000000000 =20 ifPhysAddress OLT_MAC_Address OLT_MAC_Address OLT_MAC_Address OLT_MAC_Address =20 ifAdminStatus up up up up =20 ifOperStatus Up Up Up Up =20 ifLastChange ONU1_up_time ONU2_up_time ONU3_up_time up_time =20 ifInOctets ONU1_octets_number ONU2_octets_number ONU3_octets_number BRCT_octets_number =20 ifInUcastPkts ONU1_unic_frame_num ONU2_unic_frame_num ONU3_unic_frame_num BRCT_unic_frame_num =20 ifInNUcastPkts ONU1_non_unic_frame_num ONU2_non_unic_frame_num ONU3_non_unic_frame_num BRCT_non_unic_frame_num ifInDiscards ONU1_disc_frame_num ONU2_disc_frame_num ONU3_disc_frame_num BRCT_disc_frame_numr =20 ifInErrors ONU1_err_frame_num ONU2_err_frame_num ONU3_err_frame_num BRCT_err_frame_num =20 ifInUnknownProtos ONU1_unknw_frame_num ONU2_unknw_frame_num ONU3_unknw_frame_num BRCT_unknw_frame_num =20 ifOutOctets ONU1_octets_number ONU2_octets_number ONU3_octets_number BRCT_octets_number =20 ifOutUcastPkts ONU1_unic_frame_num ONU2_unic_frame_num ONU3_unic_frame_num BRCT_unic_frame_num =20 ifOutNUcastPkts ONU1_non_unic_frame_num ONU2_non_unic_frame_num ONU3_non_unic_frame_num BRCT_non_unic_frame_num=20 ifOutDiscards ONU1_disc_frame_num ONU2_disc_frame_num ONU3_disc_frame_num BRCT_disc_frame_num =20 ifOutErrors ONU1_err_frame_num ONU2_err_frame_num ONU3_err_frame_num BRCT_err_frame_num =20 ifOutQLen ONU1_queue_frame_num ONU2_queue_frame_num ONU3_queue_frame_num BRCt_queue_frame_num =20 And the OLT interface: ifIndex 100000 =09 ifDescr "I/F description" =09 ifType gigabitEthernet (117)=09 ifMtu MTU size (1522) =09 ifSpeed 1000000000 =09 ifPhysAddress OLT_MAC_Address =09 ifAdminStatus up =09 ifOperStatus Up =09 ifLastChange OLT_up_time =09 ifInOctets OLT_octets_number=09 ifInUcastPkts OLT_unic_frame_num=09 ifInNUcastPkts OLT_non_unic_frame_num=09 ifInDiscards OLT_disc_frame_num=09 ifInErrors OLT_err_frame_num=09 ifInUnknownProtos OLT_unknw_frame_num=09 ifOutOctets OLT_octets_number =09 ifOutUcastPkts OLT_unic_frame_num=09 ifOutNUcastPkts OLT_non_unic_frame_num=09 ifOutDiscards OLT_disc_frame_num=09 ifOutErrors OLT_err_frame_num=09 ifOutQLen OLT_queue_frame_num =20 c) how the values of the above objects determined? >> Object are determined for each virtual MAC d) what happens when the value of ifAdmin is set to 'up(1)', 'down(2)', and 'testing(3)'? >> When the ifAdmin is: up(1) The virtual I/F is up and ready for operation. down(2) The virtual I/F is down and not ready for operation. testing(3) The virtual I/F is in testing mode. e) the table dot1dBasePortTable has the mapping of bridge ports to interfaces (and "circuit" on that interface). What would the values be for the objects dot1dBasePortIfIndex and dot1dBasePortCircuit when the OLT supported bridging? (By the way, document "Definitions of Managed Objects for Bridges" was recently updated and, thus, the refs should have RFC 4188 and not 1493.) >>If the OLT supports bridging then The virtual physical I/Fs are the bridge virtual ports.=20 The values for dot1dBasePortIfIndex would be the number of the ifIndex for the virtual port (1 for LLID1, 2 for LLID2,...) I don't think that the dot1dBasePortCircuit is needed at this case as there is an ifIndex so it will receive the 0 value. >> Updated the reference number. Thanks. f) how many entries would be in table ifMauTable, and would be the value of columns in the table. >>For the ONU there is a single row for the ifMauTable. At the OLT there is a row for each virtual link (3+1 in the example above), ifMauIfIndex has a value for each virtual link. g) Are the stack and inverted stack tables used? If so, show the stacking relationships. >> At the ONU I don't think there is a need to use the stack and inverted stack tables. At the OLT, the OLT interface and the virtual links associated with it are stacked as the OLT interface is the higher layer of all other interfaces related to the virtual links. The stack and inverted stack table are used for this purpose. h) How many entries are in the etherLike tables dot3StatsTable, dot3CollTable, dot3PauseTable, and dot3HCStatsTable and what would the values be of columns in the tables. >> Similar to the above model for the ONU there is a single row for each table. At the OLT there is a row for each virtual link (3+1 in the example above), ifIndex identifies the virtual links. For instance the statistics are calculated for each one of the virtual links. i) How many entries would be in the tables defined in this document, which are: dot3MpcpGlobalTable, dot3MpcpParamTable, dot3MpcpStatTable, dot3OmpEmulationTable, dot3OmpEmulationStatTable, dot3EponFecTable, dot3ExtPkgGlobalControlTable, dot3ExtPkgControlTable, dot3ExtPkgQueueTable, dot3ExtPkgQueueSetsTable and dot3ExtPkgOptIfTable. >> At the ONU dot3MpcpControlTable 1 dot3MpcpStatTable 1 dot3OmpEmulationTable 1 dot3OmpEmulationStatTable 1 dot3EponFecTable 1 dot3ExtPkgControlTable 1 dot3ExtPkgQueueTable 1 X (1 to 8) dot3ExtPkgQueueSetsTable 1 X (1 to 8) X (1 to 8) dot3ExtPkgOptIfTable 1 >> At the OLT dot3MpcpControlTable 1 dot3MpcpStatTable 4=20 dot3OmpEmulationTable 4=20 dot3OmpEmulationStatTable 4=20 dot3EponFecTable 4=20 dot3ExtPkgControlTable 4=20 dot3ExtPkgQueueTable 4 X (1 to 8) dot3ExtPkgQueueSetsTable 4 X (1 to 8) X (1 to 8) dot3ExtPkgOptIfTable 1=20 In the general case 4 is N+1. 2) Which tables in the MIB module allow rows to be created and or deleted, and if so, then how? (Note the the phrase >> All tables allow creation and deletion of rows. At the ONU and at the OLT, for the OLT interface and the broadcast virtual interface the creation of the rows is done during initialization. For the virtual interfaces at the OLT, rows are created when the virtual link is created (ONU registers) and deleted when the virtual link is deleted (ONU deregisters). "Rows at the table are created by direct SNMP management setting." is used in the DESCRIPTION for many tables. However, there was no information provided as to what this means. (I'm guessing that my original comments were not completely understood. What I was asking for was to include in the DESCRIPTION clause whether or not an SNMP SET could be done to columns in a table to create or delete a row, and if so, to provide the details=20 >> Please see the response above. (or indicate the object definition where the details were provided). For example, the TCP connection table does not support SNMP SETs to create rows in the table. Rows are created as TCP connections are created by processes running on the system. >>OK However, an SNMP SET can be done on object tcpConnState=20 with value 'deleteTCB(12)' to terminate a TCP connection (which results in the row being deleted from the table). There are plenty of examples of using a "RowStatus" object to create and delete rows in tables (see the SNMPv3 RFCs, such as RFC 3413). In the RMON MIB modules, there are examples of control tables and data tables. A row creation (or deletion) in a control table results in row creation (or row deletion) in data tables. >> Actually the TCP connection model is a very good reference for this MIB. Rows are automatically created and deleted by system tasks. I think that it is better to create/delete the rows when ONUs register/deregister and not hold rows with a status indication as I think that there is no meaning for a row if there is no ONU registered to it. A totally different ONU can register in that LLID with the different parameters when the row is active again. Describing how instances are created and deleted, (by system operation or configuration, and/or via management operations) is a key piece of information for the DESCRIPTION clauses of tables and rows. Until the above fundamental issues are resolved, it doesn't make a lot of sense to spend much time on other issues such as grouping and conformance. Note that I did spot a bunch of easy to fix items that I'm listing below: section 1 - the text for the abstract is Ok. I just don't get the term "registers" here. >> attributes. Changed section 1.1 - It's great to have a list of abbreviations. a) However in documents that contain MIB modules, typically the modules are extracted, and thus all the explanatory is not available. To help, there is a little redundancy that is added to the document of putting KEY definitions and terms in the DESCRIPTION clause for the MIB module. >> I will put them in. b) I didn't check to see if all the abbreviations were actually used. If not, then I would remove them. >>OK c) I thought CPE was customer premises equipment section 1.2.3 - I was confused. Does "Gate messages" start a new subsection? >> Rephrased: >>"The OLT send control messages (GATE messages) allowing ONUs to transmit and defining when the transmission occurs and >> what is its duration." section 3 (3.1-3.4) - This is still a little skimpy! Look at RFC 2863, sections 3.1.1-3.1.18 & 4. Also look at RFC 3635, section 3.2 and contained subsections. >> Please look at the clarification added after the former comments. section 4 - tables 1 thru 3. The column head should be IEEE802.3ah attribute and not "object" >>OK In the MIB module, there are several ASN.1 comments that that are used to group the definitions. They start out with phrase "Editor's note:". I believe the grouping is useful, but I'd drop the "Editor's note:" phrase. Note the first one is slightly out of order. It should be moved to immediately before the definition of OID dot3EponMpcpObjects. >>OK Object dot3MpcpID - the DESCRIPTION needs to be translated from GDMO speak to something meaningful in SMIv2. (I commented on this before, and still don't see the usefulness of the object!) >> OK. Replaced with ifIndex. Do the objects dot3MpcpOperStatus and dot3MpcpAdminStatus ever have different values. If not, then you should have one object. >> Probably in most cases it will be in the same conditions. However for the there might be some difference in up and down time where the operational status is different due to the system transition.=20 I think it is according to the guidance of RFC2863 3.1.13. That is besides of the fact that the adminStatus is used for changing the state by the writing operation. =20 I really don't follow whether or not you can create LLIDs via SNMP. It doesn't seem possible to me, just like you can't create TCP connections. Thus, I don't understand the object dot3LinkIndex. (And note: a table that allows row creation uses "read-create" (and not "read-write") for all writable objects in the table.) =20 >> The TCP connection model is quite a similar model indeed for this case. My intention was to at the OLT create an entry in these tables whenever a virtual link is establish by ONU registration and delete it when the link goes down when the ONU deregisters. At the ONU and for the broadcast link creation is done at initialization. Please note that a after an ONU deregisters a different ONU (physical entity) can register within the same logical link. Therefore the entries in the tables are not always existing with an active status indication (like the TCP connection case), because they can have different values when they are reactivated. Therefore whenever an link is created or deleted the entries in the table are created or deleted.=20 =20 Entries in parallel tables - I asked you to describe the expected number of entries in tables. However, many of the tables in the MIB module are related, and the text was just copied. Instead, if there is a "base table" that determines the number of entries, and additional tables that have additional info, you should say something like "The rows in this table are match the rows in table X". >> The description of the index in each table refer the ifIndex to the virtual links established at the OLT case.=20 Transient condition in table dot3MpcpParamTable - it appears that this table tries to capture the transient values during the time a OLT and ONU are setting up a relationship and determining an LLID. Is this a long enough running activity that it can be seen, and what LLID value is used during negotiation (can't it change)? >> No intention to capture such transient. The initial reason was to allow setting of a LinkID which is available for the management for reading. Object dot3OmpEmulationID - the DESCRIPTION needs to be translated from GDMO speak to something meaningful in SMIv2. (I commented on this before, and still don't see the usefulness of the object!) >> OK. Replaced with ifIndex. Enum names in DESCRIPTION for object dot3ExtPkgObjectPowerDown - The enum names start with lower-case letters and not upper-case. >>OK Queues - I really don't understand the queues. Could some intro text be added. >> The 802.3ah MPCP uses for the feedback BW request from the ONUs a report of some queues occupancy. These queues serve the ONU transmission and data is gathered there until the ONU is granted from transmission. Since the existence of such queuing mechanism is implied in the spec and an ONU may not be a switch device, a management section is added here for the queues, mainly to gather some statistics of their operation. Text is added to the table description. =20 Indexing - this is somewhat subjective. I don't believe that it is proper to define an object in one table (which is not an index in that table) and use it for an index in another table. This is done in the queue tables and object dot3LinkIndex. >> OK. Fixed. Each table is using the ifIndex and if there is another index it is specified in the table. NOTE: this review was not complete. I didn't try to compile the MIB module or run the document through the nit checker. Also, I didn't look at the compliances. -- that's it Regards, /david t. perkins =20 =20 =20 ************************************************************************ This footnote confirms that this email message has been scanned by Passave mail scanner for the presence of malicious code, vandals & computer viruses. ************************************************************************ ------_=_NextPart_001_01C63073.3D5AF6E6 Content-Type: message/rfc822 X-MimeOLE: Produced By Microsoft Exchange V6.5.7226.0 Received: from passave.com ([212.25.93.227] RDNS failed) by passmail.passave.co.il with Microsoft SMTPSVC(6.0.3790.211); Tue, 7 Feb 2006 15:47:12 +0200 Received: (PineApp-Mail 22652 invoked by uid 0); 7 Feb 2006 15:45:08 +0200 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Received: from hubmib-bounces@ietf.org by mailgw with PineApp-Mail-SeCure-2.50.060127; 07/02/2006 15:44:48 Received: from unknown (HELO megatron.ietf.org) (132.151.6.71) by mailgw with SMTP; 7 Feb 2006 15:44:40 +0200 Received: from localhost.cnri.reston.va.us ([127.0.0.1] helo=megatron.ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1F6SyQ-0003ca-6O; Tue, 07 Feb 2006 08:33:38 -0500 Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1F6SyK-0003ZW-Tz for hubmib@megatron.ietf.org; Tue, 07 Feb 2006 08:33:37 -0500 Received: from ietf-mx.ietf.org (ietf-mx [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id IAA25417 for ; Tue, 7 Feb 2006 08:31:40 -0500 (EST) Received: from mailgw.passave.com ([212.25.93.227] helo=passave.com) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1F6TAW-0008N7-RS for hubmib@ietf.org; Tue, 07 Feb 2006 08:46:11 -0500 Received: from Internal Mail-Server by mailgw with SMTP; 7 Feb 2006 15:32:25 +0200 Content-class: urn:content-classes:message Subject: [Hubmib] RE: Response to EPON-MIB-04 Date: Tue, 7 Feb 2006 15:34:26 +0200 Message-ID: <63DC5157D93D3046B78E8DDD9130C4E023DB3B@passmail> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Response to EPON-MIB-04 Thread-Index: AcYds5ao9KFwth9MQMS8of6VLYNCDACNQ38AAvMVD7A= List-Help: List-Subscribe: , List-Unsubscribe: , From: "Lior Khermosh" Sender: To: "Romascanu, Dan \(Dan\)" , "David T. Perkins" Cc: "Hub MIB" Content-Transfer-Encoding: quoted-printable =20 Dan, Please see answers in line. Also during this session I had some second thoughts on some of the changes I have integrated in the last review. Specifically as to use a linkIndex inside the MIB tables instead of using the ifIndex of the virtual links. Although it is not exactly as the IEEE layering for the EPON (the MPCP and P2PE layers are a single layer and not N virtual links) the specification of the MIB is more simpler and more neat. There are no multiple rows for each virtual link and the duplication is generated by the ifIndex for the virtual links (like it was in draft 03). That way it is more similar to the tables which will be held for the virtual MACs management. I am still considering it and I will try to discuss it with David and then provide the draft ASAP. Best regards, Lior -----Original Message----- From: Romascanu, Dan (Dan) [mailto:dromasca@avaya.com]=20 Sent: Monday, January 23, 2006 9:06 AM To: David T. Perkins; Lior Khermosh Cc: Hub MIB Subject: RE: Response to EPON-MIB-04 David, Thank you for the review and the latest comments.=20 Lior, Can you please address David's questions?=20 I believe that David is asking for clarifications, maybe an example that would clarify his question 1. This new text could expand Section 3 'Relationship of the EFM EPON MIB to other MIBs'. By the way, 'Relation to other MIB Modules' would be a better name for this section.=20 >> Changed. With respect to David's question #2, the text 'Rows at the table are created by direct SNMP management setting." seems wrong. David's question is correct, if rows in these tables are created dynamically by management operations on the specific table, you need to use "RowStatus" objects for the specific table. If this was not the intention, the text should be eliminated and you should mention in the DESCRIPTION clauses in each table how each row shows up, maybe as result of operations performed on other tables, or corresponding to existing ports on the device, or something else.=20 >> I removed the creation by management. The rows are created when a virtual link is established (ONU registers) and deleted when a virtual link is deleted (ONU deregisters). I have added clarification in the text. I am also feeling very uncomfortable with holding discussions around a non-submitted draft. I would like to ask Lior to submit draft 04 immediately. If the issues cannot be clarified and a revised draft submitted in the next couple of days, it can be as it was distributed on the mailing list last December. =20 Regards, Dan =20 =20 > -----Original Message----- > From: David T. Perkins [mailto:dperkins@dsperkins.com] > Sent: Friday, January 20, 2006 9:01 AM > To: lior.khermosh@passave.com > Cc: Romascanu, Dan (Dan); Hub MIB > Subject: Response to EPON-MIB-04 >=20 > HI, >=20 > Comments on draft-ietf-hubmib-efm-epon-mib-04.txt - dtp:19-jan-2006 >=20 > The document is much improved. However, it is not yet ready for=20 > submission to the IESG. The changes introduced many grammar and some=20 > spelling errors (and a couple of formatting problems), which can be=20 > easily fixed. Unfortunately, there are a couple of fundamental issues=20 > that remain. These are: > 1) if an "SNMP MIB walk" was done on the > a) IF table > b) bridge table > c) MAU table > d) stack table (and inverted stack table) > e) etherLike interfaces table > d) and tables defined in the MIB module > what would be the answers to the following questions for > OLTs and for ONUs (for both, assume that each has a 1Gig Eth > interface and an optical interface, and for the OLT, there > are 3 ONUs connected to the optical interface): > a) how many entries would be in the IF table > b) what would the values be for each column in the > IF table. That is, what are the values of the > following objects: ifIndex, ifDescr, ifType, > ifMtu, ifSpeed, ifPhysAddress, ifAdminStatus, > ifOperStatus, ifLastChange, ifInOctets, ifInUcastPkts, > ifInNUcastPkts, ifInDiscards, ifInErrors,=20 > ifInUnknownProtos, ifOutOctets, ifOutUcastPkts, > ifOutNUcastPkts, ifOutDiscards, ifOutErrors, > ifOutQLen > c) how the values of the above objects determined? > d) what happens when the value of ifAdmin is set to > 'up(1)', 'down(2)', and 'testing(3)'? > e) the table dot1dBasePortTable has the mapping of > bridge ports to interfaces (and "circuit" on that > interface). What would the values be for the > objects dot1dBasePortIfIndex and dot1dBasePortCircuit > when the OLT supported bridging? (By the way, > document "Definitions of Managed Objects for Bridges" > was recently updated and, thus, the refs should > have RFC 4188 and not 1493.) > f) how many entries would be in table ifMauTable, > and would be the value of columns in the table. > g) Are the stack and inverted stack tables used? > If so, show the stacking relationships. > h) How many entries are in the etherLike tables > dot3StatsTable, dot3CollTable, dot3PauseTable, > and dot3HCStatsTable and what would the values > be of columns in the tables. > i) How many entries would be in the tables defined > in this document, which are: > dot3MpcpGlobalTable, dot3MpcpParamTable, > dot3MpcpStatTable, dot3OmpEmulationTable, > dot3OmpEmulationStatTable, dot3EponFecTable, > dot3ExtPkgGlobalControlTable, > dot3ExtPkgControlTable, dot3ExtPkgQueueTable, > dot3ExtPkgQueueSetsTable and > dot3ExtPkgOptIfTable. > 2) Which tables in the MIB module allow rows to be created > and or deleted, and if so, then how? (Note the the phrase > "Rows at the table are created by direct SNMP management > setting." is used in the DESCRIPTION for many tables. > However, there was no information provided as to what > this means. (I'm guessing that my original comments > were not completely understood. What I was asking for > was to include in the DESCRIPTION clause whether or > not an SNMP SET could be done to columns in a table > to create or delete a row, and if so, to provide the > details (or indicate the object definition where the > details were provided). For example, the TCP connection > table does not support SNMP SETs to create rows in > the table. Rows are created as TCP connections > are created by processes running on the system. > However, an SNMP SET can be done on object tcpConnState=20 > with value 'deleteTCB(12)' to terminate a TCP > connection (which results in the row being deleted > from the table). There are plenty of examples of > using a "RowStatus" object to create and delete > rows in tables (see the SNMPv3 RFCs, such as RFC 3413). > In the RMON MIB modules, there are examples of > control tables and data tables. A row creation > (or deletion) in a control table results in > row creation (or row deletion) in data tables. > Describing how instances are created and deleted, > (by system operation or configuration, and/or > via management operations) is a key piece of > information for the DESCRIPTION clauses of > tables and rows. >=20 > Until the above fundamental issues are resolved, it doesn't make a lot > of sense to spend much time on other issues such as grouping and=20 > conformance. >=20 > Note that I did spot a bunch of easy to fix items that I'm listing=20 > below: > section 1 - the text for the abstract is Ok. I just don't > get the term "registers" here. > section 1.1 - It's great to have a list of abbreviations. > a) However in documents that contain MIB modules, typically > the modules are extracted, and thus all the explanatory > is not available. To help, there is a little redundancy > that is added to the document of putting KEY definitions > and terms in the DESCRIPTION clause for the MIB module. > b) I didn't check to see if all the abbreviations were > actually used. If not, then I would remove them. > c) I thought CPE was customer premises equipment section 1.2.3 -=20 > I was confused. Does "Gate messages" > start a new subsection? > section 3 (3.1-3.4) - This is still a little skimpy! > Look at RFC 2863, sections 3.1.1-3.1.18 & 4. Also > look at RFC 3635, section 3.2 and contained subsections. > section 4 - tables 1 thru 3. The column head should be > IEEE802.3ah attribute and not "object" > In the MIB module, there are several ASN.1 comments that > that are used to group the definitions. They start > out with phrase "Editor's note:". I believe the > grouping is useful, but I'd drop the "Editor's note:" > phrase. Note the first one is slightly out of order. > It should be moved to immediately before the > definition of OID dot3EponMpcpObjects. > Object dot3MpcpID - the DESCRIPTION needs to be translated > from GDMO speak to something meaningful in SMIv2. > (I commented on this before, and still don't see the > usefulness of the object!) > Do the objects dot3MpcpOperStatus and dot3MpcpAdminStatus > ever have different values. If not, then you should > have one object. > I really don't follow whether or not you can create LLIDs > via SNMP. It doesn't seem possible to me, just like > you can't create TCP connections. Thus, I don't understand > the object dot3LinkIndex. (And note: a table that > allows row creation uses "read-create" (and not "read-write") > for all writable objects in the table.) Entries in parallel=20 > tables - I asked you to describe the > expected number of entries in tables. However, many of > the tables in the MIB module are related, and the text > was just copied. Instead, if there is a "base table" > that determines the number of entries, and additional > tables that have additional info, you should say > something like "The rows in this table are match the > rows in table X". > Transient condition in table dot3MpcpParamTable - it appears > that this table tries to capture the transient values > during the time a OLT and ONU are setting up a relationship > and determining an LLID. Is this a long enough running > activity that it can be seen, and what LLID value is > used durring negotiation (can't it change)? > Object dot3OmpEmulationID - the DESCRIPTION needs to be translated > from GDMO speak to something meaningful in SMIv2. > (I commented on this before, and still don't see the > usefulness of the object!) > Enum names in DESCRIPTION for object dot3ExtPkgObjectPowerDown - > The enum names start with lower-case letters and not > upper-case. > Queues - I really don't understand the queues. Could some > intro text be added. > Indexing - this is somewhat subjective. I don't believe that > it is proper to define an object in one table (which is not > an index in that table) and use it for an index in another > table. This is done in the queue tables and object dot3LinkIndex. >=20 >=20 > NOTE: this review was not complete. I didn't try to compile the MIB=20 > module or run the document through the nit checker. > Also, I didn't look at the compliances. >=20 > -- that's it >=20 > Regards, > /david t. perkins >=20 >=20 >=20 ************************************************************************ This footnote confirms that this email message has been scanned by Passave mail scanner for the presence of malicious code, vandals & computer viruses. ************************************************************************ ************************************************************************ This footnote confirms that this email message has been scanned by = Passave mail scanner for the presence of malicious code, vandals & computer viruses. ************************************************************************ _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib ************************************************************************ This footnote confirms that this email message has been scanned by = Passave mail scanner for the presence of malicious code, vandals & computer viruses. ************************************************************************ ------_=_NextPart_001_01C63073.3D5AF6E6 Content-Type: message/rfc822 Content-Transfer-Encoding: 7bit X-MimeOLE: Produced By Microsoft Exchange V6.5.7226.0 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Subject: RE: Response to EPON-MIB-04 Date: Tue, 7 Feb 2006 21:39:12 +0200 X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Response to EPON-MIB-04 Thread-Index: AcYsBAoMS/I2j5WhT0OtyeFX/yfOQwAGJ5oQ From: "Lior Khermosh" To: "David T. Perkins" Cc: "Romascanu, Dan \(Dan\)" , "Hub MIB" Content-Transfer-Encoding: quoted-printable David, The IF,MAU and etherLike interfaces tables are all duplicated for the virtual links at the OLT. Each one has a different ifIndex. The MAC is virtually duplicated. So the number of entries is the number of virtual entries + an additional entry for the broadcast. Only the MAC address at the OLT is not duplicated as the physical I/F is the same. It is specified in the IEEE802.3ah 64.1.2. So as for the example from your mail the parameters for the IF table: At the ONU in working mode: ifIndex 1 ifDescr "I/F description" ifType gigabitEthernet (117) 1000base-Px ifMtu MTU size (1522) ifSpeed 1000000000 ifPhysAddress ONU_MAC_Address ifAdminStatus up ifOperStatus Up ifLastChange up_time=20 ifInOctets ONU1_octets_number ifInUcastPkts ONU1_unicast_frame_number ifInNUcastPkts ONU1_non_unicast_frame_number ifInDiscards ONU1_discard_frame_number ifInErrors ONU1_error_frame_number ifInUnknownProtos ONU1_unknown_frame_number ifOutOctets ONU1_octets_number=20 ifOutUcastPkts ONU1_unicast_frame_number ifOutNUcastPkts ONU1_non_unicast_frame_number ifOutDiscards ONU1_discard_frame_number ifOutErrors ONU1_error_frame_number ifOutQLen ONU1_queue_frame_number at the OLT in working mode the interfaces associated with the virtual links: ifIndex 1 2 3 65535 ifDescr "I/F description" "I/F description" "I/F description" "I/F description" =20 ifType gigabitEthernet (117) gigabitEthernet (117) gigabitEthernet (117) gigabitEthernet (117) =20 ifMtu MTU size (1522) MTU size (1522) MTU size (1522) MTU size (1522) =20 ifSpeed 1000000000 1000000000 1000000000 1000000000 =20 ifPhysAddress OLT_MAC_Address OLT_MAC_Address OLT_MAC_Address OLT_MAC_Address =20 ifAdminStatus up up up up =20 ifOperStatus Up Up Up Up =20 ifLastChange ONU1_up_time ONU2_up_time ONU3_up_time up_time =20 ifInOctets ONU1_octets_number ONU2_octets_number ONU3_octets_number BRCT_octets_number =20 ifInUcastPkts ONU1_unic_frame_num ONU2_unic_frame_num ONU3_unic_frame_num BRCT_unic_frame_num =20 ifInNUcastPkts ONU1_non_unic_frame_num ONU2_non_unic_frame_num ONU3_non_unic_frame_num BRCT_non_unic_frame_num ifInDiscards ONU1_disc_frame_num ONU2_disc_frame_num ONU3_disc_frame_num BRCT_disc_frame_numr =20 ifInErrors ONU1_err_frame_num ONU2_err_frame_num ONU3_err_frame_num BRCT_err_frame_num =20 ifInUnknownProtos ONU1_unknw_frame_num ONU2_unknw_frame_num ONU3_unknw_frame_num BRCT_unknw_frame_num =20 ifOutOctets ONU1_octets_number ONU2_octets_number ONU3_octets_number BRCT_octets_number =20 ifOutUcastPkts ONU1_unic_frame_num ONU2_unic_frame_num ONU3_unic_frame_num BRCT_unic_frame_num =20 ifOutNUcastPkts ONU1_non_unic_frame_num ONU2_non_unic_frame_num ONU3_non_unic_frame_num BRCT_non_unic_frame_num=20 ifOutDiscards ONU1_disc_frame_num ONU2_disc_frame_num ONU3_disc_frame_num BRCT_disc_frame_num =20 ifOutErrors ONU1_err_frame_num ONU2_err_frame_num ONU3_err_frame_num BRCT_err_frame_num =20 ifOutQLen ONU1_queue_frame_num ONU2_queue_frame_num ONU3_queue_frame_num BRCt_queue_frame_num =20 And the OLT interface: ifIndex 100000 =09 ifDescr "I/F description" =09 ifType gigabitEthernet (117)=09 ifMtu MTU size (1522) =09 ifSpeed 1000000000 =09 ifPhysAddress OLT_MAC_Address =09 ifAdminStatus up =09 ifOperStatus Up =09 ifLastChange OLT_up_time =09 ifInOctets OLT_octets_number=09 ifInUcastPkts OLT_unic_frame_num=09 ifInNUcastPkts OLT_non_unic_frame_num=09 ifInDiscards OLT_disc_frame_num=09 ifInErrors OLT_err_frame_num=09 ifInUnknownProtos OLT_unknw_frame_num=09 ifOutOctets OLT_octets_number =09 ifOutUcastPkts OLT_unic_frame_num=09 ifOutNUcastPkts OLT_non_unic_frame_num=09 ifOutDiscards OLT_disc_frame_num=09 ifOutErrors OLT_err_frame_num=09 ifOutQLen OLT_queue_frame_num=20 In the draft03 I had a single row in the table for each ifIndex. The indexing for the virtual links was generated by using the ifIndex for the virtual links. After the last comment session I have changed the tables to include a row for each link index assuming that the P2MP layers are single and not divided to virtual likes - This is presented in the following layering diagram from the IEEE spec: = +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ | Higher layers | = +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ | 802.1D Bridge | = +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ | MAC client| ... |MAC client| = +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ | MAC Control - (MPCP) | *NEW* = +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ | MAC | ... | MAC | = +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ | P2P Emulation (P2PE) | *NEW* = +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ | | | GMII | | | = +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ | PCS | = +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ | FEC | *NEW* = +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ | PMA | = +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ | PMD | = +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ | | | MDI | | | = /=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D/ / Media / = /=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D/ The second thoughts I have is to return to the former indexing (therefore splitting from management perspective the management layers of the MPCP and P2PE and FEC to N virtual layers one for each virtual link. The advantage is that the tables are more clean and straightforward. =20 Best regards, Lior =20 -----Original Message----- From: David T. Perkins [mailto:dperkins@dsperkins.com]=20 Sent: Tuesday, February 07, 2006 6:30 PM To: Lior Khermosh Cc: Romascanu, Dan (Dan); Hub MIB Subject: RE: Response to EPON-MIB-04 HI, Please describe a simple situation, and provide a list of the instances. Then I can help you with the indexing in the MIB object definitions. Also descsribe what events cause a new instance to be created or deleted. Regards, /david t. perkins On Tue, 7 Feb 2006, Lior Khermosh wrote: > =20 > Dan, > Please see answers in line. >=20 > Also during this session I had some second thoughts on some of the=20 > changes I have integrated in the last review. Specifically as to use a > linkIndex inside the MIB tables instead of using the ifIndex of the=20 > virtual links. Although it is not exactly as the IEEE layering for the > EPON (the MPCP and P2PE layers are a single layer and not N virtual > links) the specification of the MIB is more simpler and more neat.=20 > There are no multiple rows for each virtual link and the duplication=20 > is generated by the ifIndex for the virtual links (like it was in=20 > draft 03). That way it is more similar to the tables which will be=20 > held for the virtual MACs management. I am still considering it and I=20 > will try to discuss it with David and then provide the draft ASAP. >=20 >=20 > Best regards, > Lior >=20 > -----Original Message----- > From: Romascanu, Dan (Dan) [mailto:dromasca@avaya.com] > Sent: Monday, January 23, 2006 9:06 AM > To: David T. Perkins; Lior Khermosh > Cc: Hub MIB > Subject: RE: Response to EPON-MIB-04 >=20 > David, >=20 > Thank you for the review and the latest comments.=20 >=20 > Lior, >=20 > Can you please address David's questions?=20 >=20 > I believe that David is asking for clarifications, maybe an example=20 > that would clarify his question 1. This new text could expand Section=20 > 3 'Relationship of the EFM EPON MIB to other MIBs'. By the way,=20 > 'Relation to other MIB Modules' would be a better name for this section. > >> Changed. >=20 > With respect to David's question #2, the text 'Rows at the table are=20 > created by direct SNMP management setting." seems wrong. David's=20 > question is correct, if rows in these tables are created dynamically=20 > by management operations on the specific table, you need to use "RowStatus" > objects for the specific table. If this was not the intention, the=20 > text should be eliminated and you should mention in the DESCRIPTION=20 > clauses in each table how each row shows up, maybe as result of=20 > operations performed on other tables, or corresponding to existing=20 > ports on the device, or something else. > >> I removed the creation by management. The rows are created when a > virtual link is established (ONU registers) and deleted when a virtual > link is deleted (ONU deregisters). I have added clarification in the=20 > text. >=20 > I am also feeling very uncomfortable with holding discussions around a > non-submitted draft. I would like to ask Lior to submit draft 04=20 > immediately. If the issues cannot be clarified and a revised draft=20 > submitted in the next couple of days, it can be as it was distributed=20 > on the mailing list last December. >=20 > Regards, >=20 > Dan >=20 >=20 > =20 > =20 >=20 > > -----Original Message----- > > From: David T. Perkins [mailto:dperkins@dsperkins.com] > > Sent: Friday, January 20, 2006 9:01 AM > > To: lior.khermosh@passave.com > > Cc: Romascanu, Dan (Dan); Hub MIB > > Subject: Response to EPON-MIB-04 > >=20 > > HI, > >=20 > > Comments on draft-ietf-hubmib-efm-epon-mib-04.txt - dtp:19-jan-2006 > >=20 > > The document is much improved. However, it is not yet ready for=20 > > submission to the IESG. The changes introduced many grammar and some > > spelling errors (and a couple of formatting problems), which can be=20 > > easily fixed. Unfortunately, there are a couple of fundamental=20 > > issues that remain. These are: > > 1) if an "SNMP MIB walk" was done on the > > a) IF table > > b) bridge table > > c) MAU table > > d) stack table (and inverted stack table) > > e) etherLike interfaces table > > d) and tables defined in the MIB module > > what would be the answers to the following questions for > > OLTs and for ONUs (for both, assume that each has a 1Gig Eth > > interface and an optical interface, and for the OLT, there > > are 3 ONUs connected to the optical interface): > > a) how many entries would be in the IF table > > b) what would the values be for each column in the > > IF table. That is, what are the values of the > > following objects: ifIndex, ifDescr, ifType, > > ifMtu, ifSpeed, ifPhysAddress, ifAdminStatus, > > ifOperStatus, ifLastChange, ifInOctets, ifInUcastPkts, > > ifInNUcastPkts, ifInDiscards, ifInErrors,=20 > > ifInUnknownProtos, ifOutOctets, ifOutUcastPkts, > > ifOutNUcastPkts, ifOutDiscards, ifOutErrors, > > ifOutQLen > > c) how the values of the above objects determined? > > d) what happens when the value of ifAdmin is set to > > 'up(1)', 'down(2)', and 'testing(3)'? > > e) the table dot1dBasePortTable has the mapping of > > bridge ports to interfaces (and "circuit" on that > > interface). What would the values be for the > > objects dot1dBasePortIfIndex and dot1dBasePortCircuit > > when the OLT supported bridging? (By the way, > > document "Definitions of Managed Objects for Bridges" > > was recently updated and, thus, the refs should > > have RFC 4188 and not 1493.) > > f) how many entries would be in table ifMauTable, > > and would be the value of columns in the table. > > g) Are the stack and inverted stack tables used? > > If so, show the stacking relationships. > > h) How many entries are in the etherLike tables > > dot3StatsTable, dot3CollTable, dot3PauseTable, > > and dot3HCStatsTable and what would the values > > be of columns in the tables. > > i) How many entries would be in the tables defined > > in this document, which are: > > dot3MpcpGlobalTable, dot3MpcpParamTable, > > dot3MpcpStatTable, dot3OmpEmulationTable, > > dot3OmpEmulationStatTable, dot3EponFecTable, > > dot3ExtPkgGlobalControlTable, > > dot3ExtPkgControlTable, dot3ExtPkgQueueTable, > > dot3ExtPkgQueueSetsTable and > > dot3ExtPkgOptIfTable. > > 2) Which tables in the MIB module allow rows to be created > > and or deleted, and if so, then how? (Note the the phrase > > "Rows at the table are created by direct SNMP management > > setting." is used in the DESCRIPTION for many tables. > > However, there was no information provided as to what > > this means. (I'm guessing that my original comments > > were not completely understood. What I was asking for > > was to include in the DESCRIPTION clause whether or > > not an SNMP SET could be done to columns in a table > > to create or delete a row, and if so, to provide the > > details (or indicate the object definition where the > > details were provided). For example, the TCP connection > > table does not support SNMP SETs to create rows in > > the table. Rows are created as TCP connections > > are created by processes running on the system. > > However, an SNMP SET can be done on object tcpConnState=20 > > with value 'deleteTCB(12)' to terminate a TCP > > connection (which results in the row being deleted > > from the table). There are plenty of examples of > > using a "RowStatus" object to create and delete > > rows in tables (see the SNMPv3 RFCs, such as RFC 3413). > > In the RMON MIB modules, there are examples of > > control tables and data tables. A row creation > > (or deletion) in a control table results in > > row creation (or row deletion) in data tables. > > Describing how instances are created and deleted, > > (by system operation or configuration, and/or > > via management operations) is a key piece of > > information for the DESCRIPTION clauses of > > tables and rows. > >=20 > > Until the above fundamental issues are resolved, it doesn't make a=20 > > lot >=20 > > of sense to spend much time on other issues such as grouping and=20 > > conformance. > >=20 > > Note that I did spot a bunch of easy to fix items that I'm listing > > below: > > section 1 - the text for the abstract is Ok. I just don't > > get the term "registers" here. > > section 1.1 - It's great to have a list of abbreviations. > > a) However in documents that contain MIB modules, typically > > the modules are extracted, and thus all the explanatory > > is not available. To help, there is a little redundancy > > that is added to the document of putting KEY definitions > > and terms in the DESCRIPTION clause for the MIB module. > > b) I didn't check to see if all the abbreviations were > > actually used. If not, then I would remove them. > > c) I thought CPE was customer premises equipment section 1.2.3=20 > > - I was confused. Does "Gate messages" > > start a new subsection? > > section 3 (3.1-3.4) - This is still a little skimpy! > > Look at RFC 2863, sections 3.1.1-3.1.18 & 4. Also > > look at RFC 3635, section 3.2 and contained subsections. > > section 4 - tables 1 thru 3. The column head should be > > IEEE802.3ah attribute and not "object" > > In the MIB module, there are several ASN.1 comments that > > that are used to group the definitions. They start > > out with phrase "Editor's note:". I believe the > > grouping is useful, but I'd drop the "Editor's note:" > > phrase. Note the first one is slightly out of order. > > It should be moved to immediately before the > > definition of OID dot3EponMpcpObjects. > > Object dot3MpcpID - the DESCRIPTION needs to be translated > > from GDMO speak to something meaningful in SMIv2. > > (I commented on this before, and still don't see the > > usefulness of the object!) > > Do the objects dot3MpcpOperStatus and dot3MpcpAdminStatus > > ever have different values. If not, then you should > > have one object. > > I really don't follow whether or not you can create LLIDs > > via SNMP. It doesn't seem possible to me, just like > > you can't create TCP connections. Thus, I don't understand > > the object dot3LinkIndex. (And note: a table that > > allows row creation uses "read-create" (and not "read-write") > > for all writable objects in the table.) Entries in parallel=20 > > tables - I asked you to describe the > > expected number of entries in tables. However, many of > > the tables in the MIB module are related, and the text > > was just copied. Instead, if there is a "base table" > > that determines the number of entries, and additional > > tables that have additional info, you should say > > something like "The rows in this table are match the > > rows in table X". > > Transient condition in table dot3MpcpParamTable - it appears > > that this table tries to capture the transient values > > during the time a OLT and ONU are setting up a relationship > > and determining an LLID. Is this a long enough running > > activity that it can be seen, and what LLID value is > > used durring negotiation (can't it change)? > > Object dot3OmpEmulationID - the DESCRIPTION needs to be translated > > from GDMO speak to something meaningful in SMIv2. > > (I commented on this before, and still don't see the > > usefulness of the object!) > > Enum names in DESCRIPTION for object dot3ExtPkgObjectPowerDown - > > The enum names start with lower-case letters and not > > upper-case. > > Queues - I really don't understand the queues. Could some > > intro text be added. > > Indexing - this is somewhat subjective. I don't believe that > > it is proper to define an object in one table (which is not > > an index in that table) and use it for an index in another > > table. This is done in the queue tables and object dot3LinkIndex. > >=20 > >=20 > > NOTE: this review was not complete. I didn't try to compile the MIB=20 > > module or run the document through the nit checker. > > Also, I didn't look at the compliances. > >=20 > > -- that's it > >=20 > > Regards, > > /david t. perkins > >=20 > >=20 > >=20 > ********************************************************************** > ** This footnote confirms that this email message has been scanned by=20 > Passave mail scanner for the presence of malicious code, vandals &=20 > computer viruses. > ********************************************************************** > ** > ********************************************************************** > ** This footnote confirms that this email message has been scanned by=20 > Passave mail scanner for the presence of malicious code, vandals &=20 > computer viruses. > ********************************************************************** > ** >=20 ************************************************************************ This footnote confirms that this email message has been scanned by Passave mail scanner for the presence of malicious code, vandals & computer viruses. ************************************************************************ ------_=_NextPart_001_01C63073.3D5AF6E6 Content-Type: message/rfc822 Content-Transfer-Encoding: 7bit X-MimeOLE: Produced By Microsoft Exchange V6.5.7226.0 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Subject: RE: Response to EPON-MIB-04 Date: Wed, 8 Feb 2006 17:41:05 +0200 X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Response to EPON-MIB-04 Thread-Index: AcYsBAoMS/I2j5WhT0OtyeFX/yfOQwAGJ5oQACcwN6AAAc5OUAAALWhAAABwvdA= From: "Lior Khermosh" To: "Romascanu, Dan \(Dan\)" , "David T. Perkins" Cc: "Hub MIB" Content-Transfer-Encoding: quoted-printable The response is actually quite similar.=20 In initialization the rows in the general tables are created, and for the IF, MAU and etherLike interfaces tables entries with the OLT and ONU ifIndex are created. 1) In initialization The parameters for the IF table: At the ONU in working mode: ifIndex 1 ifDescr "I/F description" ifType gigabitEthernet (117) 1000base-Px ifMtu MTU size (1522) ifSpeed 1000000000 ifPhysAddress ONU_MAC_Address ifAdminStatus up ifOperStatus Up ifLastChange up_time=20 ifInOctets ONU1_octets_number ifInUcastPkts ONU1_unicast_frame_number ifInNUcastPkts ONU1_non_unicast_frame_number ifInDiscards ONU1_discard_frame_number ifInErrors ONU1_error_frame_number ifInUnknownProtos ONU1_unknown_frame_number ifOutOctets ONU1_octets_number=20 ifOutUcastPkts ONU1_unicast_frame_number ifOutNUcastPkts ONU1_non_unicast_frame_number ifOutDiscards ONU1_discard_frame_number ifOutErrors ONU1_error_frame_number ifOutQLen ONU1_queue_frame_number And from the EPON MIB:=20 EPOM MPCP param table: dot3MpcpLinkID 0=20 dot3MpcpRemoteMACAddress 0=20 dot3MpcpRegistrationState unregistered dot3MpcpMaximumPendingGrants 4 dot3MpcpTransmitElapsed 0 dot3MpcpReceiveElapsed 0 dot3MpcpRoundTripTime 0 And at the OLT: ifIndex 100000 =09 ifDescr "I/F description" =09 ifType gigabitEthernet (117)=09 ifMtu MTU size (1522) =09 ifSpeed 1000000000 =09 ifPhysAddress OLT_MAC_Address =09 ifAdminStatus up =09 ifOperStatus Up =09 ifLastChange OLT_up_time =09 ifInOctets OLT_octets_number=09 ifInUcastPkts OLT_unic_frame_num=09 ifInNUcastPkts OLT_non_unic_frame_num=09 ifInDiscards OLT_disc_frame_num=09 ifInErrors OLT_err_frame_num=09 ifInUnknownProtos OLT_unknw_frame_num=09 ifOutOctets OLT_octets_number =09 ifOutUcastPkts OLT_unic_frame_num=09 ifOutNUcastPkts OLT_non_unic_frame_num=09 ifOutDiscards OLT_disc_frame_num=09 ifOutErrors OLT_err_frame_num=09 ifOutQLen OLT_queue_frame_num FOR THE VIRTUAL LINKS: ifIndex 65535 =20 ifDescr "I/F description" =20 ifType gigabitEthernet (117) =20 ifMtu MTU size (1522) =20 ifSpeed 1000000000 =20 ifPhysAddress OLT_MAC_Address =20 ifAdminStatus up =20 ifOperStatus Up =20 ifLastChange up_time =20 ifInOctets BRCT_octets_number =20 ifInUcastPkts BRCT_unic_frame_num =20 ifInNUcastPkts BRCT_non_unic_frame_num ifInDiscards BRCT_disc_frame_numr =20 ifInErrors BRCT_err_frame_num =20 ifInUnknownProtos BRCT_unknw_frame_num =20 ifOutOctets BRCT_octets_number =20 ifOutUcastPkts BRCT_unic_frame_num =20 ifOutNUcastPkts BRCT_non_unic_frame_num=20 ifOutDiscards BRCT_disc_frame_num =20 ifOutErrors BRCT_err_frame_num =20 ifOutQLen BRCt_queue_frame_num =20 And from the EPON MIB:=20 No rows 2) When ONU1 is registered: The parameters for the IF table: At the ONU in working mode: ifIndex 1 ifDescr "I/F description" ifType gigabitEthernet (117) 1000base-Px ifMtu MTU size (1522) ifSpeed 1000000000 ifPhysAddress ONU_MAC_Address ifAdminStatus up ifOperStatus Up ifLastChange up_time=20 ifInOctets ONU1_octets_number ifInUcastPkts ONU1_unicast_frame_number ifInNUcastPkts ONU1_non_unicast_frame_number ifInDiscards ONU1_discard_frame_number ifInErrors ONU1_error_frame_number ifInUnknownProtos ONU1_unknown_frame_number ifOutOctets ONU1_octets_number=20 ifOutUcastPkts ONU1_unicast_frame_number ifOutNUcastPkts ONU1_non_unicast_frame_number ifOutDiscards ONU1_discard_frame_number ifOutErrors ONU1_error_frame_number ifOutQLen ONU1_queue_frame_number And from the EPON MIB: One row=20 EPOM MPCP param table: dot3MpcpLinkID 1=20 dot3MpcpRemoteMACAddress OLT_MAC_ADDRESS=20 dot3MpcpRegistrationState registered dot3MpcpMaximumPendingGrants 4 dot3MpcpTransmitElapsed 10 dot3MpcpReceiveElapsed 10 dot3MpcpRoundTripTime 100 at the OLT in working mode the interfaces associated with the virtual links: ifIndex 1 65535 ifDescr "I/F description" "I/F description" =20 ifType gigabitEthernet (117) gigabitEthernet (117) =20 ifMtu MTU size (1522) MTU size (1522) =20 ifSpeed 1000000000 1000000000 =20 ifPhysAddress OLT_MAC_Address OLT_MAC_Address =20 ifAdminStatus up up =20 ifOperStatus Up Up =20 ifLastChange ONU1_up_time up_time =20 ifInOctets ONU1_octets_number BRCT_octets_number ifInUcastPkts ONU1_unic_frame_num BRCT_unic_frame_num =20 ifInNUcastPkts ONU1_non_unic_frame_num BRCT_non_unic_frame_num ifInDiscards ONU1_disc_frame_num BRCT_disc_frame_numr =20 ifInErrors ONU1_err_frame_num BRCT_err_frame_num =20 ifInUnknownProtos ONU1_unknw_frame_num BRCT_unknw_frame_num =20 ifOutOctets ONU1_octets_number BRCT_octets_number ifOutUcastPkts ONU1_unic_frame_num BRCT_unic_frame_num =20 ifOutNUcastPkts ONU1_non_unic_frame_num BRCT_non_unic_frame_num=20 ifOutDiscards ONU1_disc_frame_num BRCT_disc_frame_num =20 ifOutErrors ONU1_err_frame_num BRCT_err_frame_num =20 ifOutQLen ONU1_queue_frame_num BRCt_queue_frame_num And at the OLT: ifIndex 100000 =09 ifDescr "I/F description" =09 ifType gigabitEthernet (117)=09 ifMtu MTU size (1522) =09 ifSpeed 1000000000 =09 ifPhysAddress OLT_MAC_Address =09 ifAdminStatus up =09 ifOperStatus Up =09 ifLastChange OLT_up_time =09 ifInOctets OLT_octets_number=09 ifInUcastPkts OLT_unic_frame_num=09 ifInNUcastPkts OLT_non_unic_frame_num=09 ifInDiscards OLT_disc_frame_num=09 ifInErrors OLT_err_frame_num=09 ifInUnknownProtos OLT_unknw_frame_num=09 ifOutOctets OLT_octets_number =09 ifOutUcastPkts OLT_unic_frame_num=09 ifOutNUcastPkts OLT_non_unic_frame_num=09 ifOutDiscards OLT_disc_frame_num=09 ifOutErrors OLT_err_frame_num=09 ifOutQLen OLT_queue_frame_num And from the EPON MIB: One row=20 EPOM MPCP param table: dot3MpcpLinkID 1=20 dot3MpcpRemoteMACAddress ONU1_MAC_ADDRESS=20 dot3MpcpRegistrationState registered dot3MpcpMaximumPendingGrants 4 dot3MpcpTransmitElapsed 10 dot3MpcpReceiveElapsed 10 dot3MpcpRoundTripTime 100 2) When ONU1, ONU2, ONU3 are registered: The parameters for the IF table: At the ONU in working mode: ifIndex 1 ifDescr "I/F description" ifType gigabitEthernet (117) 1000base-Px ifMtu MTU size (1522) ifSpeed 1000000000 ifPhysAddress ONU_MAC_Address ifAdminStatus up ifOperStatus Up ifLastChange up_time=20 ifInOctets ONU1_octets_number ifInUcastPkts ONU1_unicast_frame_number ifInNUcastPkts ONU1_non_unicast_frame_number ifInDiscards ONU1_discard_frame_number ifInErrors ONU1_error_frame_number ifInUnknownProtos ONU1_unknown_frame_number ifOutOctets ONU1_octets_number=20 ifOutUcastPkts ONU1_unicast_frame_number ifOutNUcastPkts ONU1_non_unicast_frame_number ifOutDiscards ONU1_discard_frame_number ifOutErrors ONU1_error_frame_number ifOutQLen ONU1_queue_frame_number And from the EPON MIB: One row=20 EPOM MPCP param table: dot3MpcpLinkID 1=20 dot3MpcpRemoteMACAddress OLT_MAC_ADDRESS=20 dot3MpcpRegistrationState registered dot3MpcpMaximumPendingGrants 4 dot3MpcpTransmitElapsed 10 dot3MpcpReceiveElapsed 10 dot3MpcpRoundTripTime 100 at the OLT in working mode the interfaces associated with the virtual links: ifIndex 1 2 3 65535 ifDescr "I/F description" "I/F description" "I/F description" "I/F description" =20 ifType gigabitEthernet (117) gigabitEthernet (117) gigabitEthernet (117) gigabitEthernet (117) =20 ifMtu MTU size (1522) MTU size (1522) MTU size (1522) MTU size (1522) =20 ifSpeed 1000000000 1000000000 1000000000 1000000000 =20 ifPhysAddress OLT_MAC_Address OLT_MAC_Address OLT_MAC_Address OLT_MAC_Address =20 ifAdminStatus up up up up =20 ifOperStatus Up Up Up Up =20 ifLastChange ONU1_up_time ONU2_up_time ONU3_up_time up_time =20 ifInOctets ONU1_octets_number ONU2_octets_number ONU3_octets_number BRCT_octets_number =20 ifInUcastPkts ONU1_unic_frame_num ONU2_unic_frame_num ONU3_unic_frame_num BRCT_unic_frame_num =20 ifInNUcastPkts ONU1_non_unic_frame_num ONU2_non_unic_frame_num ONU3_non_unic_frame_num BRCT_non_unic_frame_num ifInDiscards ONU1_disc_frame_num ONU2_disc_frame_num ONU3_disc_frame_num BRCT_disc_frame_numr =20 ifInErrors ONU1_err_frame_num ONU2_err_frame_num ONU3_err_frame_num BRCT_err_frame_num =20 ifInUnknownProtos ONU1_unknw_frame_num ONU2_unknw_frame_num ONU3_unknw_frame_num BRCT_unknw_frame_num =20 ifOutOctets ONU1_octets_number ONU2_octets_number ONU3_octets_number BRCT_octets_number =20 ifOutUcastPkts ONU1_unic_frame_num ONU2_unic_frame_num ONU3_unic_frame_num BRCT_unic_frame_num =20 ifOutNUcastPkts ONU1_non_unic_frame_num ONU2_non_unic_frame_num ONU3_non_unic_frame_num BRCT_non_unic_frame_num=20 ifOutDiscards ONU1_disc_frame_num ONU2_disc_frame_num ONU3_disc_frame_num BRCT_disc_frame_num =20 ifOutErrors ONU1_err_frame_num ONU2_err_frame_num ONU3_err_frame_num BRCT_err_frame_num =20 ifOutQLen ONU1_queue_frame_num ONU2_queue_frame_num ONU3_queue_frame_num BRCt_queue_frame_num =20 And at the OLT: ifIndex 100000 =09 ifDescr "I/F description" =09 ifType gigabitEthernet (117)=09 ifMtu MTU size (1522) =09 ifSpeed 1000000000 =09 ifPhysAddress OLT_MAC_Address =09 ifAdminStatus up =09 ifOperStatus Up =09 ifLastChange OLT_up_time =09 ifInOctets OLT_octets_number=09 ifInUcastPkts OLT_unic_frame_num=09 ifInNUcastPkts OLT_non_unic_frame_num=09 ifInDiscards OLT_disc_frame_num=09 ifInErrors OLT_err_frame_num=09 ifInUnknownProtos OLT_unknw_frame_num=09 ifOutOctets OLT_octets_number =09 ifOutUcastPkts OLT_unic_frame_num=09 ifOutNUcastPkts OLT_non_unic_frame_num=09 ifOutDiscards OLT_disc_frame_num=09 ifOutErrors OLT_err_frame_num=09 ifOutQLen OLT_queue_frame_num And from the EPON MIB: 3 row=20 EPOM MPCP param table: dot3MpcpLinkID 1 2 3 =09 dot3MpcpRemoteMACAddress ONU1_MAC_ADDRESS ONU2_MAC_ADDRESS ONU3_MAC_ADDRESS =20 dot3MpcpRegistrationState registered registered registered =09 dot3MpcpMaximumPendingGrants 4 4 4 =09 dot3MpcpTransmitElapsed 10 10 10 dot3MpcpReceiveElapsed 10 10 10 dot3MpcpRoundTripTime 100 60 20 . -----Original Message----- From: Romascanu, Dan (Dan) [mailto:dromasca@avaya.com]=20 Sent: Wednesday, February 08, 2006 5:09 PM To: Lior Khermosh; David T. Perkins Cc: Hub MIB Subject: RE: Response to EPON-MIB-04 I am referring to the question that David asked in the (short) mail yesterday, not in the (long) review mail a while ago.=20 Regards, Dan =20 =20 > -----Original Message----- > From: Lior Khermosh [mailto:lior.khermosh@passave.com] > Sent: Wednesday, February 08, 2006 5:08 PM > To: Romascanu, Dan (Dan); David T. Perkins > Cc: Hub MIB > Subject: RE: Response to EPON-MIB-04 >=20 > Dan, > I haven't responded yet to all the questions in David's mail.=20 > I will send the full response after clearing the indexing issue. > Generally my intention is to make the creation and deletion of rows of > the link based table when ONU registers (a virtual link established)=20 > and deregisters (a virtual link deleted) similar to TCP connections=20 > creation/deletion case. Rows in general tables are created in=20 > initialization. I will remove any direct creation by management . I am > updating the tables descriptions accordingly. >=20 > Best regards, > Lior >=20 >=20 > -----Original Message----- > From: Romascanu, Dan (Dan) [mailto:dromasca@avaya.com] > Sent: Wednesday, February 08, 2006 4:12 PM > To: Lior Khermosh; David T. Perkins > Cc: Hub MIB > Subject: RE: Response to EPON-MIB-04 >=20 > Lior, >=20 > I am not sure that you addressed part of David's query - 'Also=20 > describe what events cause a new instance to be created or deleted' -=20 > or in other words what events determine new rows to be created or rows > to be deleted in the tables? >=20 > Thanks and Regards, >=20 > Dan >=20 >=20 > =20 > =20 >=20 > > -----Original Message----- > > From: Lior Khermosh [mailto:lior.khermosh@passave.com] >=20 > ************************************************************** > ********** > This footnote confirms that this email message has been scanned by=20 > Passave mail scanner for the presence of malicious code, vandals &=20 > computer viruses. > ************************************************************** > ********** > ************************************************************** > ********** > This footnote confirms that this email message has been scanned by=20 > Passave mail scanner for the presence of malicious code, vandals &=20 > computer viruses. > ************************************************************** > ********** >=20 ************************************************************************ This footnote confirms that this email message has been scanned by Passave mail scanner for the presence of malicious code, vandals & computer viruses. ************************************************************************ ------_=_NextPart_001_01C63073.3D5AF6E6 Content-Type: text/html; name="draft-ietf-hubmib-efm-epon-mib-04.html" Content-Transfer-Encoding: base64 Content-Description: draft-ietf-hubmib-efm-epon-mib-04.html Content-Disposition: attachment; filename="draft-ietf-hubmib-efm-epon-mib-04.html" Content-Transfer-Encoding: base64 CjwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAxIFRyYW5zaXRpb25h bC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNC9sb29zZS5kdGQiPgo8aHRtbCBsYW5n PSJlbiI+PGhlYWQ+PHRpdGxlPk1hbmFnZWQgT2JqZWN0cyBvZiBFUE9OPC90aXRsZT4KPG1ldGEg aHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRm LTgiPgo8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iTWFuYWdlZCBPYmplY3RzIG9m IEVQT04iPgo8bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9InhtbDJyZmMgdjEuMzAgKGh0 dHA6Ly94bWwucmVzb3VyY2Uub3JnLykiPgo8c3R5bGUgdHlwZT0ndGV4dC9jc3MnPgo8IS0tCiAg ICBib2R5IHsKICAgICAgICBmb250LWZhbWlseTogdmVyZGFuYSwgY2hhcmNvYWwsIGhlbHZldGlj YSwgYXJpYWwsIHNhbnMtc2VyaWY7CiAgICAgICAgbWFyZ2luOiAyZW07CiAgICAgICAgZm9udC1z aXplOiBzbWFsbCA7IGNvbG9yOiAjMDAwMDAwIDsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZiA7 IH0KICAgIC50aXRsZSB7IGNvbG9yOiAjOTkwMDAwOyBmb250LXNpemU6IHgtbGFyZ2UgOwogICAg ICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB0ZXh0LWFsaWduOiByaWdodDsKICAgICAgICBmb250LWZh bWlseTogaGVsdmV0aWNhLCBtb25hY28sICJNUyBTYW5zIFNlcmlmIiwgYXJpYWwsIHNhbnMtc2Vy aWY7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0KICAgIC5maWxlbmFt ZSB7IGNvbG9yOiAjNjY2NjY2OyBmb250LXNpemU6IDE4cHg7IGxpbmUtaGVpZ2h0OiAyOHB4Owog ICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB0ZXh0LWFsaWduOiByaWdodDsKICAgICAgICBmb250 LWZhbWlseTogaGVsdmV0aWNhLCBhcmlhbCwgc2Fucy1zZXJpZjsKICAgICAgICBiYWNrZ3JvdW5k LWNvbG9yOiB0cmFuc3BhcmVudDsgfQogICAgdGQucmZjYnVnIHsgYmFja2dyb3VuZC1jb2xvcjog IzAwMDAwMCA7IHdpZHRoOiAzMHB4IDsgaGVpZ2h0OiAzMHB4IDsKICAgICAgICB0ZXh0LWFsaWdu OiBqdXN0aWZ5OyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlIDsgcGFkZGluZy10b3A6IDJweCA7IH0K ICAgIHRkLnJmY2J1ZyBzcGFuLlJGQyB7IGNvbG9yOiAjNjY2NjY2OyBmb250LXdlaWdodDogYm9s ZDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAw MDAgOwogICAgICAgIGZvbnQtZmFtaWx5OiBtb25hY28sIGNoYXJjb2FsLCBnZW5ldmEsICJNUyBT YW5zIFNlcmlmIiwgaGVsdmV0aWNhLCB2ZXJkYW5hLCBzYW5zLXNlcmlmOwogICAgICAgIGZvbnQt c2l6ZTogeC1zbWFsbCA7IH0KICAgIHRkLnJmY2J1ZyBzcGFuLmhvdFRleHQgeyBjb2xvcjogI2Zm ZmZmZjsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICAg IHRleHQtYWxpZ246IGNlbnRlciA7CiAgICAgICAgZm9udC1mYW1pbHk6IGNoYXJjb2FsLCBtb25h Y28sIGdlbmV2YSwgIk1TIFNhbnMgU2VyaWYiLCBoZWx2ZXRpY2EsIHZlcmRhbmEsIHNhbnMtc2Vy aWY7CiAgICAgICAgZm9udC1zaXplOiB4LXNtYWxsIDsgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAw MDsgfQogICAgLyogaW5mbyBjb2RlIGZyb20gU2FudGFLbGF1c3MgYXQgaHR0cDovL3d3dy5tYWRh Ym91dHN0eWxlLmNvbS90b29sdGlwMi5odG1sICovCiAgICBkaXYjY291bnRlcnttYXJnaW4tdG9w OiAxMDBweH0KCiAgICBhLmluZm97CiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7IC8qdGhpcyBp cyB0aGUga2V5Ki8KICAgICAgICB6LWluZGV4OjI0OwogICAgICAgIHRleHQtZGVjb3JhdGlvbjpu b25lfQoKICAgIGEuaW5mbzpob3Zlcnt6LWluZGV4OjI1OyBiYWNrZ3JvdW5kLWNvbG9yOiM5OTAw MDAgOyBjb2xvcjogI2ZmZmZmZiA7fQoKICAgIGEuaW5mbyBzcGFue2Rpc3BsYXk6IG5vbmV9Cgog ICAgYS5pbmZvOmhvdmVyIHNwYW4uaW5mb3sgLyp0aGUgc3BhbiB3aWxsIGRpc3BsYXkganVzdCBv biA6aG92ZXIgc3RhdGUqLwogICAgICAgIGRpc3BsYXk6YmxvY2s7CiAgICAgICAgcG9zaXRpb246 YWJzb2x1dGU7CiAgICAgICAgZm9udC1zaXplOiBzbWFsbGVyIDsKICAgICAgICB0b3A6MmVtOyBs ZWZ0OjJlbTsgd2lkdGg6MTVlbTsKICAgICAgICBwYWRkaW5nOiAycHggOwogICAgICAgIGJvcmRl cjoxcHggc29saWQgIzMzMzMzMzsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiNlZWVlZWU7IGNv bG9yOiM5OTAwMDA7CiAgICAgICAgdGV4dC1hbGlnbjogbGVmdCA7fQoKICAgICBBIHsgZm9udC13 ZWlnaHQ6IGJvbGQ7IH0KICAgICBBOmxpbmsgeyBjb2xvcjogIzk5MDAwMDsgYmFja2dyb3VuZC1j b2xvcjogdHJhbnNwYXJlbnQgOyB9CiAgICAgQTp2aXNpdGVkIHsgY29sb3I6ICMzMzMzMzM7IGJh Y2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50IDsgfQogICAgIEE6YWN0aXZlIHsgY29sb3I6ICMz MzMzMzM7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50IDsgfQoKICAgIHAgeyBtYXJnaW4t bGVmdDogMmVtOyBtYXJnaW4tcmlnaHQ6IDJlbTsgfQogICAgcC5jb3B5cmlnaHQgeyBmb250LXNp emU6IHgtc21hbGwgOyB9CiAgICBwLnRvYyB7IGZvbnQtc2l6ZTogc21hbGwgOyBmb250LXdlaWdo dDogYm9sZCA7IG1hcmdpbi1sZWZ0OiAzZW0gO30KICAgIHRhYmxlLnRvYyB7IG1hcmdpbjogMCAw IDAgM2VtOyBwYWRkaW5nOiAwOyBib3JkZXI6IDA7IHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDsg fQogICAgdGQudG9jIHsgZm9udC1zaXplOiBzbWFsbDsgZm9udC13ZWlnaHQ6IGJvbGQ7IHZlcnRp Y2FsLWFsaWduOiB0ZXh0LXRvcDsgfQoKICAgIHNwYW4uZW1waCB7IGZvbnQtc3R5bGU6IGl0YWxp YzsgfQogICAgc3Bhbi5zdHJvbmcgeyBmb250LXdlaWdodDogYm9sZDsgfQogICAgc3Bhbi52ZXJi LCBzcGFuLnZiYXJlIHsgZm9udC1mYW1pbHk6ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm9z cGFjZSA7IH0KCiAgICBzcGFuLnZlbXBoIHsgZm9udC1zdHlsZTogaXRhbGljOyBmb250LWZhbWls eTogIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNlIDsgfQogICAgc3Bhbi52c3Ryb25n IHsgZm9udC13ZWlnaHQ6IGJvbGQ7IGZvbnQtZmFtaWx5OiAiQ291cmllciBOZXciLCBDb3VyaWVy LCBtb25vc3BhY2UgOyB9CiAgICBzcGFuLnZkZWx1eGUgeyBmb250LXdlaWdodDogYm9sZDsgZm9u dC1zdHlsZTogaXRhbGljOyBmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9u b3NwYWNlIDsgfQoKICAgIG9sLnRleHQgeyBtYXJnaW4tbGVmdDogMmVtOyBtYXJnaW4tcmlnaHQ6 IDJlbTsgfQogICAgdWwudGV4dCB7IG1hcmdpbi1sZWZ0OiAyZW07IG1hcmdpbi1yaWdodDogMmVt OyB9CiAgICBsaSB7IG1hcmdpbi1sZWZ0OiAzZW07ICB9CgogICAgcHJlIHsgbWFyZ2luLWxlZnQ6 IDNlbTsgY29sb3I6ICMzMzMzMzM7ICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICAg ICAgICBmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgQ291cmllciwgbW9ub3NwYWNlIDsgZm9u dC1zaXplOiBzbWFsbCA7CiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsKICAgICAgICB9CgogICAg aDMgeyBjb2xvcjogIzMzMzMzMzsgZm9udC1zaXplOiBtZWRpdW0gOwogICAgICAgIGZvbnQtZmFt aWx5OiBoZWx2ZXRpY2EsIGFyaWFsLCBzYW5zLXNlcmlmIDsKICAgICAgICBiYWNrZ3JvdW5kLWNv bG9yOiB0cmFuc3BhcmVudDsgfQogICAgaDQgeyBmb250LXNpemU6IHNtYWxsOyBmb250LWZhbWls eTogaGVsdmV0aWNhLCBhcmlhbCwgc2Fucy1zZXJpZiA7IH0KCiAgICB0YWJsZS5idWcgeyB3aWR0 aDogMzBweCA7IGhlaWdodDogMTVweCA7IH0KICAgIHRkLmJ1ZyB7IGNvbG9yOiAjZmZmZmZmIDsg YmFja2dyb3VuZC1jb2xvcjogIzk5MDAwMCA7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyIDsg d2lkdGg6IDMwcHggOyBoZWlnaHQ6IDE1cHggOwogICAgICAgICB9CiAgICB0ZC5idWcgQS5saW5r MiB7IGNvbG9yOiAjZmZmZmZmIDsgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgICAgdGV4dC1kZWNv cmF0aW9uOiBub25lOwogICAgICAgIGZvbnQtZmFtaWx5OiBtb25hY28sIGNoYXJjb2FsLCBnZW5l dmEsICJNUyBTYW5zIFNlcmlmIiwgaGVsdmV0aWNhLCBzYW5zLXNlcmlmOwogICAgICAgIGZvbnQt c2l6ZTogeC1zbWFsbCA7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50IH0KCiAgICB0ZC5o ZWFkZXIgeyBjb2xvcjogI2ZmZmZmZjsgZm9udC1zaXplOiB4LXNtYWxsIDsKICAgICAgICBmb250 LWZhbWlseTogYXJpYWwsIGhlbHZldGljYSwgc2Fucy1zZXJpZjsgdmVydGljYWwtYWxpZ246IHRv cDsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY2NjY2IDsgd2lkdGg6IDMzJSA7IH0KICAg IHRkLmF1dGhvciB7IGZvbnQtd2VpZ2h0OiBib2xkOyBtYXJnaW4tbGVmdDogNGVtOyBmb250LXNp emU6IHgtc21hbGwgOyB9CiAgICB0ZC5hdXRob3ItdGV4dCB7IGZvbnQtc2l6ZTogeC1zbWFsbDsg fQogICAgdGFibGUuZnVsbCB7IHZlcnRpY2FsLWFsaWduOiB0b3AgOyBib3JkZXItY29sbGFwc2U6 IGNvbGxhcHNlIDsKICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkIHNvbGlkIHNvbGlkIHNvbGlk IDsKICAgICAgICBib3JkZXItY29sb3I6IGJsYWNrIGJsYWNrIGJsYWNrIGJsYWNrIDsKICAgICAg ICBmb250LXNpemU6IHNtYWxsIDsgdGV4dC1hbGlnbjogY2VudGVyIDsgfQogICAgdGFibGUuaGVh ZGVycywgdGFibGUubm9uZSB7IHZlcnRpY2FsLWFsaWduOiB0b3AgOyBib3JkZXItY29sbGFwc2U6 IGNvbGxhcHNlIDsKICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7CiAgICAgICAgZm9udC1zaXpl OiBzbWFsbCA7IHRleHQtYWxpZ246IGNlbnRlciA7IH0KICAgIHRhYmxlLmZ1bGwgdGggeyBmb250 LXdlaWdodDogYm9sZCA7CiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZCA7CiAgICAgICAgYm9y ZGVyLWNvbG9yOiBibGFjayBibGFjayBibGFjayBibGFjayA7IH0KICAgIHRhYmxlLmhlYWRlcnMg dGggeyBmb250LXdlaWdodDogYm9sZCA7CiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lIG5vbmUg c29saWQgbm9uZTsKICAgICAgICBib3JkZXItY29sb3I6IGJsYWNrIGJsYWNrIGJsYWNrIGJsYWNr IDsgfQogICAgdGFibGUubm9uZSB0aCB7IGZvbnQtd2VpZ2h0OiBib2xkIDsKICAgICAgICBib3Jk ZXItc3R5bGU6IG5vbmU7IH0KICAgIHRhYmxlLmZ1bGwgdGQgewogICAgICAgIGJvcmRlci1zdHls ZTogc29saWQgc29saWQgc29saWQgc29saWQgOwogICAgICAgIGJvcmRlci1jb2xvcjogIzMzMzMz MyAjMzMzMzMzICMzMzMzMzMgIzMzMzMzMyA7IH0KICAgIHRhYmxlLmhlYWRlcnMgdGQsIHRhYmxl Lm5vbmUgdGQgeyBib3JkZXItc3R5bGU6IG5vbmU7IH0KCiAgICBociB7IGhlaWdodDogMXB4IH0K LS0+Cjwvc3R5bGU+CjwvaGVhZD4KPGJvZHk+Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxw YWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9ImJ1ZyIgYWxpZ249InJpZ2h0Ij48dHI+ PHRkIGNsYXNzPSJidWciPjxhIGhyZWY9IiN0b2MiIGNsYXNzPSJsaW5rMiI+Jm5ic3A7VE9DJm5i c3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPgo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiB3aWR0aD0i NjYlIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCI+PHRyPjx0ZD48 dGFibGUgc3VtbWFyeT0ibGF5b3V0IiB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxscGFkZGlu Zz0iMiIgY2VsbHNwYWNpbmc9IjEiPgo8dHI+PHRkIGNsYXNzPSJoZWFkZXIiPkVQT04gTUlCIFdH PC90ZD48dGQgY2xhc3M9ImhlYWRlciI+TC4gS2hlcm1vc2g8L3RkPjwvdHI+Cjx0cj48dGQgY2xh c3M9ImhlYWRlciI+SW50ZXJuZXQtRHJhZnQ8L3RkPjx0ZCBjbGFzcz0iaGVhZGVyIj5QYXNzYXZl IFRlY2hub2xvZ2llczwvdGQ+PC90cj4KPHRyPjx0ZCBjbGFzcz0iaGVhZGVyIj5FeHBpcmVzOiBB dWd1c3QgMTQsIDIwMDY8L3RkPjx0ZCBjbGFzcz0iaGVhZGVyIj5GZWJydWFyeSAxMCwgMjAwNjwv dGQ+PC90cj4KPC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT4KPGRpdiBhbGlnbj0icmlnaHQiPjxz cGFuIGNsYXNzPSJ0aXRsZSI+PGJyIC8+TWFuYWdlZCBPYmplY3RzIG9mIEVQT048L3NwYW4+PC9k aXY+CjxkaXYgYWxpZ249InJpZ2h0Ij48c3BhbiBjbGFzcz0idGl0bGUiPjxiciAvPmRyYWZ0LWll dGYtaHVibWliLWVmbS1lcG9uLW1pYi0wNC50eHQ8L3NwYW4+PC9kaXY+Cgo8aDM+U3RhdHVzIG9m IHRoaXMgTWVtbzwvaDM+CjxwPgpCeSBzdWJtaXR0aW5nIHRoaXMgSW50ZXJuZXQtRHJhZnQsCmVh Y2ggYXV0aG9yIHJlcHJlc2VudHMgdGhhdCBhbnkgYXBwbGljYWJsZSBwYXRlbnQgb3Igb3RoZXIg SVBSIGNsYWltcyBvZiB3aGljaApoZSBvciBzaGUgaXMgYXdhcmUgaGF2ZSBiZWVuIG9yIHdpbGwg YmUgZGlzY2xvc2VkLAphbmQgYW55IG9mIHdoaWNoIGhlIG9yIHNoZSBiZWNvbWVzIGF3YXJlIHdp bGwgYmUgZGlzY2xvc2VkLAppbiBhY2NvcmRhbmNlIHdpdGggU2VjdGlvbiZuYnNwOzYgb2YgQkNQ Jm5ic3A7NzkuPC9wPgo8cD4KSW50ZXJuZXQtRHJhZnRzIGFyZSB3b3JraW5nIGRvY3VtZW50cyBv ZiB0aGUgSW50ZXJuZXQgRW5naW5lZXJpbmcKVGFzayBGb3JjZSAoSUVURiksIGl0cyBhcmVhcywg YW5kIGl0cyB3b3JraW5nIGdyb3Vwcy4KTm90ZSB0aGF0IG90aGVyIGdyb3VwcyBtYXkgYWxzbyBk aXN0cmlidXRlIHdvcmtpbmcgZG9jdW1lbnRzIGFzCkludGVybmV0LURyYWZ0cy48L3A+CjxwPgpJ bnRlcm5ldC1EcmFmdHMgYXJlIGRyYWZ0IGRvY3VtZW50cyB2YWxpZCBmb3IgYSBtYXhpbXVtIG9m IHNpeCBtb250aHMKYW5kIG1heSBiZSB1cGRhdGVkLCByZXBsYWNlZCwgb3Igb2Jzb2xldGVkIGJ5 IG90aGVyIGRvY3VtZW50cyBhdCBhbnkgdGltZS4KSXQgaXMgaW5hcHByb3ByaWF0ZSB0byB1c2Ug SW50ZXJuZXQtRHJhZnRzIGFzIHJlZmVyZW5jZSBtYXRlcmlhbCBvciB0byBjaXRlCnRoZW0gb3Ro ZXIgdGhhbiBhcyAmbGRxdW87d29yayBpbiBwcm9ncmVzcy4mcmRxdW87PC9wPgo8cD4KVGhlIGxp c3Qgb2YgY3VycmVudCBJbnRlcm5ldC1EcmFmdHMgY2FuIGJlIGFjY2Vzc2VkIGF0CjxhIGhyZWY9 J2h0dHA6Ly93d3cuaWV0Zi5vcmcvaWV0Zi8xaWQtYWJzdHJhY3RzLnR4dCc+aHR0cDovL3d3dy5p ZXRmLm9yZy9pZXRmLzFpZC1hYnN0cmFjdHMudHh0PC9hPi48L3A+CjxwPgpUaGUgbGlzdCBvZiBJ bnRlcm5ldC1EcmFmdCBTaGFkb3cgRGlyZWN0b3JpZXMgY2FuIGJlIGFjY2Vzc2VkIGF0CjxhIGhy ZWY9J2h0dHA6Ly93d3cuaWV0Zi5vcmcvc2hhZG93Lmh0bWwnPmh0dHA6Ly93d3cuaWV0Zi5vcmcv c2hhZG93Lmh0bWw8L2E+LjwvcD4KPHA+ClRoaXMgSW50ZXJuZXQtRHJhZnQgd2lsbCBleHBpcmUg b24gQXVndXN0IDE0LCAyMDA2LjwvcD4KCjxoMz5Db3B5cmlnaHQgTm90aWNlPC9oMz4KPHA+CkNv cHlyaWdodCAmY29weTsgVGhlIEludGVybmV0IFNvY2lldHkgKDIwMDYpLjwvcD4KCjxoMz5BYnN0 cmFjdDwvaDM+Cgo8cD4gVGhpcyBkb2N1bWVudCBkZWZpbmVzIGEgcG9ydGlvbiBvZiB0aGUgTWFu YWdlbWVudCBJbmZvcm1hdGlvbiBCYXNlCihNSUIpIGZvciB1c2Ugd2l0aCBuZXR3b3JrIG1hbmFn ZW1lbnQgcHJvdG9jb2xzIGluIFRDUC9JUCBiYXNlZApJbnRlcm5ldHMuICBJbiBwYXJ0aWN1bGFy LCBpdCBkZWZpbmVzIG9iamVjdHMgZm9yIG1hbmFnaW5nCmZvciBnZW5lcmljIHBvaW50IHRvIG11 bHRpLXBvaW50IChQMk1QKSBuZXR3b3JrcywgYW5kIGluCnNwZWNpZmljYWxseSBFdGhlcm5ldCBQ YXNzaXZlIE9wdGljYWwgTmV0d29ya3MgKEVQT04pIGludGVyZmFjZXMsCmRlZmluZWQgaW4gSUVF RSBTdGQgODAyLjNhaC0yMDA0LCB3aGljaCBhbWVuZHMgSUVFRSBTdGQgODAyLjMtMjAwMi4gCjwv cD4KPGgzPlRoZSBJbnRlcm5ldC1TdGFuZGFyZCBNYW5hZ2VtZW50IEZyYW1ld29yazwvaDM+Cgo8 cD5Gb3IgYSBkZXRhaWxlZCBvdmVydmlldyBvZiB0aGUgZG9jdW1lbnRzIHRoYXQgZGVzY3JpYmUg dGhlIGN1cnJlbnQKSW50ZXJuZXQtU3RhbmRhcmQgTWFuYWdlbWVudCBGcmFtZXdvcmssIHBsZWFz ZSByZWZlciB0byBzZWN0aW9uIDcgb2YKUkZDIDM0MTAgPGEgY2xhc3M9ImluZm8iIGhyZWY9IiNS RkMzNDEwIj5bUkZDMzQxMF08c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0iaW5mbyI+Q2FzZSwg Si4sIE11bmR5LCBSLiwgUGFydGFpbiwgRC4sIGFuZCBCLiBTdGV3YXJ0LCAmbGRxdW87SW50cm9k dWN0aW9uIGFuZCBBcHBsaWNhYmlsaXR5IFN0YXRlbWVudHMgZm9yIEludGVybmV0LVN0YW5kYXJk IE1hbmFnZW1lbnQgRnJhbWV3b3JrLCZyZHF1bzsgRGVjZW1iZXImbmJzcDsyMDAyLjwvc3Bhbj48 c3Bhbj4pPC9zcGFuPjwvYT4uCgpNYW5hZ2VkIG9iamVjdHMgYXJlIGFjY2Vzc2VkIHZpYSBhIHZp cnR1YWwgaW5mb3JtYXRpb24gc3RvcmUsIHRlcm1lZAp0aGUgTWFuYWdlbWVudCBJbmZvcm1hdGlv biBCYXNlIG9yIE1JQi4gIE1JQiBvYmplY3RzIGFyZSBnZW5lcmFsbHkKYWNjZXNzZWQgdGhyb3Vn aCB0aGUgU2ltcGxlIE5ldHdvcmsgTWFuYWdlbWVudCBQcm90b2NvbCAoU05NUCkuCk9iamVjdHMg aW4gdGhlIE1JQiBhcmUgZGVmaW5lZCB1c2luZyB0aGUgbWVjaGFuaXNtcyBkZWZpbmVkIGluIHRo ZQpTdHJ1Y3R1cmUgb2YgTWFuYWdlbWVudCBJbmZvcm1hdGlvbiAoU01JKS4gIFRoaXMgbWVtbyBz cGVjaWZpZXMgYSBNSUIKbW9kdWxlIHRoYXQgaXMgY29tcGxpYW50IHRvIHRoZSBTTUl2Miwgd2hp Y2ggaXMgZGVzY3JpYmVkIGluIFNURCA1OCwKUkZDIDI1NzggPGEgY2xhc3M9ImluZm8iIGhyZWY9 IiNSRkMyNTc4Ij5bUkZDMjU3OF08c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0iaW5mbyI+TWND bG9naHJpZSwgSy4sIEVkLiwgUGVya2lucywgRC4sIEVkLiwgYW5kIEouIFNjaG9lbndhZWxkZXIs IEVkLiwgJmxkcXVvO1N0cnVjdHVyZSBvZiBNYW5hZ2VtZW50IEluZm9ybWF0aW9uIFZlcnNpb24g MiAoU01JdjIpLCZyZHF1bzsgQXByaWwmbmJzcDsxOTk5Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwv YT4sIFNURCA1OCwgUkZDIDI1NzkgPGEgY2xhc3M9ImluZm8iIGhyZWY9IiNSRkMyNTc5Ij5bUkZD MjU3OV08c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0iaW5mbyI+TWNDbG9naHJpZSwgSy4sIEVk LiwgUGVya2lucywgRC4sIEVkLiwgYW5kIEouIFNjaG9lbndhZWxkZXIsIEVkLiwgJmxkcXVvO1Rl eHR1YWwgQ29udmVudGlvbnMgZm9yIFNNSXYyLCZyZHF1bzsgQXByaWwmbmJzcDsxOTk5Ljwvc3Bh bj48c3Bhbj4pPC9zcGFuPjwvYT4gYW5kIFNURCA1OCwgUkZDIDI1ODAKPGEgY2xhc3M9ImluZm8i IGhyZWY9IiNSRkMyNTgwIj5bUkZDMjU4MF08c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0iaW5m byI+TWNDbG9naHJpZSwgSy4sIFBlcmtpbnMsIEQuLCBhbmQgSi4gU2Nob2Vud2FlbGRlciwgJmxk cXVvO0NvbmZvcm1hbmNlIFN0YXRlbWVudHMgZm9yIFNNSXYyLCZyZHF1bzsgQXByaWwmbmJzcDsx OTk5Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4uCjwvcD4KPGgzPlRlcm1pbm9sb2d5PC9oMz4K CjxwPktleSB3b3JkcyAiTVVTVCIsICJNVVNUIE5PVCIsICJSRVFVSVJFRCIsICJTSEFMTCIsCiAg ICAgICAgICAgICJTSEFMTCBOT1QiLCAiU0hPVUxEIiwgIlNIT1VMRCBOT1QiLCAiUkVDT01NRU5E RUQiLCAiTUFZIiwKICAgICAgICAgICAgYW5kICJPUFRJT05BTCIgaW4gdGhpcyBkb2N1bWVudCBh cmUgdG8gYmUgaW50ZXJwcmV0ZWQgYXMKICAgICAgICAgICAgZGVzY3JpYmVkIGluIDxhIGNsYXNz PSJpbmZvIiBocmVmPSIjUkZDMjExOSI+W1JGQzIxMTldPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xh c3M9ImluZm8iPkJyYWRuZXIsIFMuLCAmbGRxdW87S2V5IHdvcmRzIGZvciB1c2UgaW4gUkZDcyB0 byBJbmRpY2F0ZSBSZXF1aXJlbWVudCBMZXZlbHMsJnJkcXVvOyBNYXJjaCZuYnNwOzE5OTcuPC9z cGFuPjxzcGFuPik8L3NwYW4+PC9hPi4KPC9wPjxhIG5hbWU9InRvYyI+PC9hPjxiciAvPjxociAv Pgo8aDM+VGFibGUgb2YgQ29udGVudHM8L2gzPgo8cCBjbGFzcz0idG9jIj4KPGEgaHJlZj0iI2Fu Y2hvcjEiPjEuPC9hPiZuYnNwOwpPdmVydmlldzxiciAvPgombmJzcDsmbmJzcDsmbmJzcDsmbmJz cDs8YSBocmVmPSIjYW5jaG9yMiI+MS4xLjwvYT4mbmJzcDsKVGVybWlub2xvZ3kgYW5kIGFiYnJl dmlhdGlvbnM8YnIgLz4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iI2FuY2hvcjMi PjEuMi48L2E+Jm5ic3A7CkVQT04gYXJjaGl0ZWN0dXJlIGhpZ2hsaWdodHM8YnIgLz4KJm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iI2FuY2hv cjQiPjEuMi4xLjwvYT4mbmJzcDsKSW50cm9kdWN0aW9uPGJyIC8+CiZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9IiNhbmNob3I1Ij4xLjIuMi48 L2E+Jm5ic3A7ClByaW5jaXBsZXMgb2Ygb3BlcmF0aW9uPGJyIC8+CiZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9IiNhbmNob3I2Ij4xLjIuMy48 L2E+Jm5ic3A7ClRoZSBwaHlzaWNhbCBtZWRpYTxiciAvPgombmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yNyI+MS4yLjQuPC9hPiZu YnNwOwpQTUQgc3BlY2lmaWNhdGlvbnM8YnIgLz4KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iI2FuY2hvcjgiPjEuMi41LjwvYT4mbmJzcDsK UG9pbnQgdG8gcG9pbnQgZW11bGF0aW9uPGJyIC8+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9IiNhbmNob3I5Ij4xLjIuNi48L2E+Jm5ic3A7 Ck1QQ1AgcHJpbmNpcGxlczxiciAvPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yMTAiPjEuMi43LjwvYT4mbmJzcDsKRm9yd2Fy ZCBFcnJvciBjb3JyZWN0aW9uIChGRUMpPGJyIC8+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxh IGhyZWY9IiNhbmNob3IxMSI+MS4zLjwvYT4mbmJzcDsKTWFuYWdlbWVudCBhcmNoaXRlY3R1cmU8 YnIgLz4KPGEgaHJlZj0iI2FuY2hvcjEyIj4yLjwvYT4mbmJzcDsKTUlCIHN0cnVjdHVyZTxiciAv Pgo8YSBocmVmPSIjYW5jaG9yMTMiPjMuPC9hPiZuYnNwOwpSZWxhdGlvbiB0byBvdGhlciBNSUIg TW9kdWxlczxiciAvPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yMTQi PjMuMS48L2E+Jm5ic3A7ClJlbGF0aW9uIHRvIHRoZSBJbnRlcmZhY2VzIE1JQiBhbmQgRXRoZXJu ZXQtbGlrZSBJbnRlcmZhY2VzIE1JQjxiciAvPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBo cmVmPSIjYW5jaG9yMTUiPjMuMi48L2E+Jm5ic3A7ClJlbGF0aW9uIHRvIHRoZSBJRUVFIDgwMi4z IE1BVSBNSUJzPGJyIC8+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9IiNhbmNob3Ix NiI+My4zLjwvYT4mbmJzcDsKUmVsYXRpb24gdG8gdGhlIEVGTSBPQU0gTUlCPGJyIC8+CiZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9IiNhbmNob3IxNyI+My40LjwvYT4mbmJzcDsKUmVs YXRpb24gdG8gdGhlIGJyaWRnZSBNSUI8YnIgLz4KPGEgaHJlZj0iI2FuY2hvcjE4Ij40LjwvYT4m bmJzcDsKIFJlbGF0aW9uIHRhYmxlIG9mIHRoZSBkb3QzRVBPTiBNSUIgbW9kdWxlIG9iamVjdHMg dG8gdGhlIElFRUU4MDIuM2FoCmF0dHJpYnV0ZXM8YnIgLz4KPGEgaHJlZj0iI2FuY2hvcjE5Ij41 LjwvYT4mbmJzcDsKIERlZmluaXRpb25zIC0gVGhlIERPVDMgRVBPTiBNSUIgbW9kdWxlIDxiciAv Pgo8YSBocmVmPSIjYW5jaG9yMjAiPjYuPC9hPiZuYnNwOwpJQU5BIENvbnNpZGVyYXRpb25zPGJy IC8+CjxhIGhyZWY9IiNhbmNob3IyMSI+Ny48L2E+Jm5ic3A7ClNlY3VyaXR5IENvbnNpZGVyYXRp b25zPGJyIC8+CjxhIGhyZWY9IiNyZmMucmVmZXJlbmNlczEiPjguPC9hPiZuYnNwOwpSZWZlcmVu Y2VzPGJyIC8+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9IiNyZmMucmVmZXJlbmNl czEiPjguMS48L2E+Jm5ic3A7Ck5vcm1hdGl2ZSBSZWZlcmVuY2VzPGJyIC8+CiZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOzxhIGhyZWY9IiNyZmMucmVmZXJlbmNlczIiPjguMi48L2E+Jm5ic3A7Cklu Zm9ybWF0aXZlIFJlZmVyZW5jZXM8YnIgLz4KPGEgaHJlZj0iI3JmYy5hdXRob3JzIj4mIzE2Nzs8 L2E+Jm5ic3A7CkF1dGhvcidzIEFkZHJlc3M8YnIgLz4KPGEgaHJlZj0iI3JmYy5jb3B5cmlnaHQi PiYjMTY3OzwvYT4mbmJzcDsKSW50ZWxsZWN0dWFsIFByb3BlcnR5IGFuZCBDb3B5cmlnaHQgU3Rh dGVtZW50czxiciAvPgo8L3A+CjxiciBjbGVhcj0iYWxsIiAvPgoKPGEgbmFtZT0iYW5jaG9yMSI+ PC9hPjxiciAvPjxociAvPgo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIg Y2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0i YnVnIj48YSBocmVmPSIjdG9jIiBjbGFzcz0ibGluazIiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3Rk PjwvdHI+PC90YWJsZT4KPGEgbmFtZT0icmZjLnNlY3Rpb24uMSI+PC9hPjxoMz4xLiZuYnNwO092 ZXJ2aWV3PC9oMz4KCjxwPlRoaXMgZG9jdW1lbnQgZGVmaW5lcyBhIHBvcnRpb24gb2YgdGhlIE1h bmFnZW1lbnQgSW5mb3JtYXRpb24gQmFzZQooTUlCKSBmb3IgdXNlIHdpdGggbmV0d29yayBtYW5h Z2VtZW50IHByb3RvY29scyBpbiBUQ1AvSVAgYmFzZWQKSW50ZXJuZXRzLiBJbiBwYXJ0aWN1bGFy LCBpdCBkZWZpbmVzIG9iamVjdHMgZm9yIG1hbmFnaW5nIGludGVyZmFjZXMgdGhhdCBjb25mb3Jt IHRvIHRoZSBFdGhlcm5ldCBQYXNzaXZlIE9wdGljYWwgTmV0d29ya3MgKEVQT04pIHN0YW5kYXJk IGFzIGRlZmluZWQgaW4gPGEgY2xhc3M9ImluZm8iIGhyZWY9IiM4MDIuM2FoIj5bODAyLjNhaF08 c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0iaW5mbyI+SUVFRSwgJmxkcXVvO0luc3RpdHV0ZSBv ZiBFbGVjdHJpY2FsIGFuZCBFbGVjdHJvbmljIEVuZ2luZWVycywgSUVFRSBTdGQgICAgICAgICA4 MDIuM2FoLTIwMDQuIEluZm9ybWF0aW9uIHRlY2hub2xvZ3kgLSBUZWxlY29tbXVuaWNhdGlvbnMg YW5kICAgICAgICAgaW5mb3JtYXRpb24gZXhjaGFuZ2UgYmV0d2VlbiBzeXN0ZW1zIC0gTG9jYWwg YW5kICAgICAgICAgbWV0cm9wb2xpdGFuIGFyZWEgbmV0d29ya3MgLSBTcGVjaWZpYyByZXF1aXJl bWVudHMgLSAgICAgICAgIFBhcnQgMzogQ2FycmllciBzZW5zZSBtdWx0aXBsZSBhY2Nlc3Mgd2l0 aCBjb2xsaXNpb24gICAgICAgICBkZXRlY3Rpb24gKENTTUEvQ0QpIGFjY2VzcyBtZXRob2QgYW5k IHBoeXNpY2FsIGxheWVyICAgICAgICAgc3BlY2lmaWNhdGlvbnMgLSBNZWRpYSBBY2Nlc3MgQ29u dHJvbCBQYXJhbWV0ZXJzLCBQaHlzaWNhbCAgICAgICAgIExheWVycyBhbmQgTWFuYWdlbWVudCBQ YXJhbWV0ZXJzIGZvciBzdWJzY3JpYmVyIGFjY2VzcyAgICAgICAgIG5ldHdvcmtzLCZyZHF1bzsg T2N0b2JlciZuYnNwOzIwMDQuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPiwgd2hpY2ggYXJlIGV4 dGVuZGVkIGNhcGFiaWxpdGllcyB0byB0aGUgRXRoZXJuZXQgbGlrZSBpbnRlcmZhY2VzLiBUaGUg ZG9jdW1lbnQgY29udGFpbnMgYSBsaXN0Cm9mIG1hbmFnZW1lbnQgZW50aXRpZXMgYmFzZWQgb24g dGhlIGF0dHJpYnV0ZXMgZGVmaW5lZCBpbiA8YSBjbGFzcz0iaW5mbyIgaHJlZj0iIzgwMi4zYWgi Pls4MDIuM2FoXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSJpbmZvIj5JRUVFLCAmbGRxdW87 SW5zdGl0dXRlIG9mIEVsZWN0cmljYWwgYW5kIEVsZWN0cm9uaWMgRW5naW5lZXJzLCBJRUVFIFN0 ZCAgICAgICAgIDgwMi4zYWgtMjAwNC4gSW5mb3JtYXRpb24gdGVjaG5vbG9neSAtIFRlbGVjb21t dW5pY2F0aW9ucyBhbmQgICAgICAgICBpbmZvcm1hdGlvbiBleGNoYW5nZSBiZXR3ZWVuIHN5c3Rl bXMgLSBMb2NhbCBhbmQgICAgICAgICBtZXRyb3BvbGl0YW4gYXJlYSBuZXR3b3JrcyAtIFNwZWNp ZmljIHJlcXVpcmVtZW50cyAtICAgICAgICAgUGFydCAzOiBDYXJyaWVyIHNlbnNlIG11bHRpcGxl IGFjY2VzcyB3aXRoIGNvbGxpc2lvbiAgICAgICAgIGRldGVjdGlvbiAoQ1NNQS9DRCkgYWNjZXNz IG1ldGhvZCBhbmQgcGh5c2ljYWwgbGF5ZXIgICAgICAgICBzcGVjaWZpY2F0aW9ucyAtIE1lZGlh IEFjY2VzcyBDb250cm9sIFBhcmFtZXRlcnMsIFBoeXNpY2FsICAgICAgICAgTGF5ZXJzIGFuZCBN YW5hZ2VtZW50IFBhcmFtZXRlcnMgZm9yIHN1YnNjcmliZXIgYWNjZXNzICAgICAgICAgbmV0d29y a3MsJnJkcXVvOyBPY3RvYmVyJm5ic3A7MjAwNC48L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+CkFu bmV4IDMwQSBmb3IgdGhlIEVQT04gc2VjdGlvbi4gCjwvcD4KPGEgbmFtZT0iYW5jaG9yMiI+PC9h PjxiciAvPjxociAvPgo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2Vs bHNwYWNpbmc9IjIiIGNsYXNzPSJidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iYnVn Ij48YSBocmVmPSIjdG9jIiBjbGFzcz0ibGluazIiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwv dHI+PC90YWJsZT4KPGEgbmFtZT0icmZjLnNlY3Rpb24uMS4xIj48L2E+PGgzPjEuMS4mbmJzcDtU ZXJtaW5vbG9neSBhbmQgYWJicmV2aWF0aW9uczwvaDM+Cgo8cD5CRVIgLSBCaXQgRXJyb3IgUmF0 ZSAgCjwvcD4KPHA+QlcgLSBCYW5kd2lkdGgKPC9wPgo8cD5DTyAtIENlbnRyYWwgT2ZmaWNlCjwv cD4KPHA+Q1BFIC0gQ2VudHJhbCBQcmVtaXNlcyBFcXVpcG1lbnQKPC9wPgo8cD5GQ1MgLSBGcmFt ZSBDaGVjayBTZXF1ZW5jZQo8L3A+CjxwPkVGTSAtIEV0aGVybmV0IEZpcnN0IE1pbGUKPC9wPgo8 cD5FUE9OIC0gRXRoZXJuZXQgUGFzc2l2ZSBPcHRpY2FsIE5ldHdvcmsKPC9wPgo8cD5MTElEIC0g TG9naWNhbCBMaW5rIElEZW50aWZpZXIKPC9wPgo8cD5NQUMgLSBNZWRpYSBBY2Nlc3MgQ29udHJv bAo8L3A+CjxwPk1QQ1AgLSBNdWx0aS1Qb2ludCBDb250cm9sIFByb3RvY29sCjwvcD4KPHA+T0FN IC0gT3BlcmF0aW9uIEFkbWluaXN0cmF0aW9uIE1haW50ZW5hbmNlCjwvcD4KPHA+T0xUIC0gT3B0 aWNhbCBMaW5lIFRlcm1pbmFsIChTZXJ2ZXIgdW5pdCBvZiB0aGUgRVBPTikKPC9wPgo8cD5PTlUg LSBPcHRpY2FsIE5ldHdvcmsgVW5pdCAoQ2xpZW50IHVuaXQgb2YgdGhlIEVQT04pCjwvcD4KPHA+ UEhZIC0gUGh5c2ljYWwgTGF5ZXIKPC9wPgo8cD5QTUQgLSBQaHlzaWNhbCBNZWRpdW0gRGVwZW5k YW50CjwvcD4KPHA+UlRUIC0gUm91bmQgVHJpcCBUaW1lCjwvcD4KPHA+U0xBIC0gU2VydmljZSBM ZXZlbCBBZ3JlZW1lbnQKPC9wPgo8cD5URE0gLSBUaW1lIERpdmlzaW9uIE11bHRpcGxleGluZwo8 L3A+CjxhIG5hbWU9ImFuY2hvcjMiPjwvYT48YnIgLz48aHIgLz4KPHRhYmxlIHN1bW1hcnk9Imxh eW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iYnVnIiBhbGlnbj0i cmlnaHQiPjx0cj48dGQgY2xhc3M9ImJ1ZyI+PGEgaHJlZj0iI3RvYyIgY2xhc3M9ImxpbmsyIj4m bmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+CjxhIG5hbWU9InJmYy5zZWN0aW9u LjEuMiI+PC9hPjxoMz4xLjIuJm5ic3A7RVBPTiBhcmNoaXRlY3R1cmUgaGlnaGxpZ2h0czwvaDM+ Cgo8YSBuYW1lPSJhbmNob3I0Ij48L2E+PGJyIC8+PGhyIC8+Cjx0YWJsZSBzdW1tYXJ5PSJsYXlv dXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9ImJ1ZyIgYWxpZ249InJp Z2h0Ij48dHI+PHRkIGNsYXNzPSJidWciPjxhIGhyZWY9IiN0b2MiIGNsYXNzPSJsaW5rMiI+Jm5i c3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPgo8YSBuYW1lPSJyZmMuc2VjdGlvbi4x LjIuMSI+PC9hPjxoMz4xLjIuMS4mbmJzcDtJbnRyb2R1Y3Rpb248L2gzPgoKPHA+CgpUaGUgRVBP TiBzdGFuZGFyZCwgYXMgZGVmaW5lZCBpbiA8YSBjbGFzcz0iaW5mbyIgaHJlZj0iIzgwMi4zYWgi Pls4MDIuM2FoXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSJpbmZvIj5JRUVFLCAmbGRxdW87 SW5zdGl0dXRlIG9mIEVsZWN0cmljYWwgYW5kIEVsZWN0cm9uaWMgRW5naW5lZXJzLCBJRUVFIFN0 ZCAgICAgICAgIDgwMi4zYWgtMjAwNC4gSW5mb3JtYXRpb24gdGVjaG5vbG9neSAtIFRlbGVjb21t dW5pY2F0aW9ucyBhbmQgICAgICAgICBpbmZvcm1hdGlvbiBleGNoYW5nZSBiZXR3ZWVuIHN5c3Rl bXMgLSBMb2NhbCBhbmQgICAgICAgICBtZXRyb3BvbGl0YW4gYXJlYSBuZXR3b3JrcyAtIFNwZWNp ZmljIHJlcXVpcmVtZW50cyAtICAgICAgICAgUGFydCAzOiBDYXJyaWVyIHNlbnNlIG11bHRpcGxl IGFjY2VzcyB3aXRoIGNvbGxpc2lvbiAgICAgICAgIGRldGVjdGlvbiAoQ1NNQS9DRCkgYWNjZXNz IG1ldGhvZCBhbmQgcGh5c2ljYWwgbGF5ZXIgICAgICAgICBzcGVjaWZpY2F0aW9ucyAtIE1lZGlh IEFjY2VzcyBDb250cm9sIFBhcmFtZXRlcnMsIFBoeXNpY2FsICAgICAgICAgTGF5ZXJzIGFuZCBN YW5hZ2VtZW50IFBhcmFtZXRlcnMgZm9yIHN1YnNjcmliZXIgYWNjZXNzICAgICAgICAgbmV0d29y a3MsJnJkcXVvOyBPY3RvYmVyJm5ic3A7MjAwNC48L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+LCBp cyBkZWZpbmluZyB0aGUgTGF5ZXIgMSAoUGh5c2ljYWwgbWVkaWEpIGFuZCBsYXllciAyIChtZWRp YSBhY2Nlc3MpIGludGVyZmFjZXMgZm9yIHRoZSBFdGhlcm5ldCBwYXNzaXZlIG9wdGljYWwgbmV0 d29ya3MuIFRoZSBFUE9OIGlzIGEgR2lnYWJpdCBFdGhlcm5ldCBwcm90b2NvbCBmb3IgdGhlIE9w dGljYWwgQWNjZXNzIGJhc2VkIG9uIHBhc3NpdmUgb3B0aWNhbCBzcGxpdHRpbmcgKFBPTikgdG9w b2xvZ3kuCkEgUGFzc2l2ZSBPcHRpY2FsIE5ldHdvcmsgKFBPTikgaXMgYSBzaW5nbGUsIHNoYXJl ZCBvcHRpY2FsIGZpYmVyIHRoYXQgdXNlcyBvcHRpY2FsIHBhc3NpdmUgc3BsaXR0ZXJzIHRvIGRp dmlkZSB0aGUgc2luZ2xlIGZpYmVyIGludG8gc2VwYXJhdGUgc3Vic2NyaWJlcnMuIAo8L3A+Cjxw PlNlcnZlciB1bml0IC0gT3B0aWNhbCBMaW5lIFRlcm1pbmFsIChPTFQpLiBUaGUgZXF1aXBtZW50 IGF0IHRoZSBDTy4KPC9wPgo8cD5DbGllbnQgVW5pdCAtIE9wdGljYWwgTmV0d29yayBVbml0IChP TlUpLiBUaGUgZXF1aXBtZW50IGF0IHRoZSBDUEUuCjwvcD4KPHA+U3RhbmRhcmQgaXMgSUVFRTgw Mi4zYWguIAo8L3A+CjxwPiBUaGUgZm9sbG93aW5nIGRpYWdyYW0gZGVzY3JpYmVzIHRoZSBQT04g dG9wb2xvZ3k6IAo8L3A+PHByZT4KCgogICAgICAgICAgICBEZXZpY2Ugd2l0aAogICAgICAgICAg ICBvbmUgb3IgbW9yZSBQMk1QCiAgICAgICAgICAgIGludGVyZmFjZXMgc3VjaCBhcyBPTFQKICAg ICAgICAgICAgZm9yIEVQT04gICAgICAgICAgICAgICAgICAgICAgIEFuIEVQT04gICAgICAgICAg SVAgaG9zdAogICAgICAgICAgICAtLS0tLS0tIE9MVCAgICAgICAgICBPTlUgICAgICAgIm1vZGVt IiAgICAgICAgICAtLS0tLS0tLQogT3RoZXIgSUVFRSB8ICAgICB8IGludGVyZmFjZSB8ICBpbnRl cmZhY2UgLS0tLS0tIE90aGVyIElFRUV8ICAgICAgfAogaW50ZXJmYWNlICB8ICAgICB8LS0tLS0t LVwtLS0tLS0tLS0tLS0tLS0tfCAgICB8IGludGVyZmFjZSB8ICAgICAgfAogPT09PT09PT09PT18 ICAgICB8ICAgICAgICBcICAgICAgICAgICAgICAgfCAgICB8PT09PT09PT09PT18ICAgICAgfAog ICAgICAgICAgICB8ICAgICB8ICAgICAgICAgXCAgICAgICAgICAgICAgLS0tLS0tICAgICAgICAg ICAtLS0tLS0tLQogICAgICAgICAgICB8ICAgICB8ICAgICAgICAgIFwgICAgICAgICAgICAgLS0t LS0tICAgICAgICAgICAtLS0tLS0tLQogICAgICAgICAgICAuICAgICAuICAgICAgICAgICBcLS0t LS0tLS0tLS0tfCAgICB8ICAgICAgICAgICB8ICAgICAgfAogICAgICAgICAgICB8ICAgICB8LS0t LS0tXCAgICAgICAgICAgICAgICAgfCAgICB8PT09PT09PT09PT18ICAgICAgfAogICAgICAgICAg ICB8ICAgICB8ICAgICAgIFwgICAgICAgICAgICAgICAgLS0tLS0tICAgICAgICAgICAtLS0tLS0t LQogICAgICAgICAgICAtLS0tLS0tICAgICAgICBcIGV0YwoKCgoKPC9wcmU+CjxwPgo8L3A+Cjxw PlRoZSBhcmNoaXRlY3R1cmUgcG9zaXRpb25pbmcgaXMgZGVmaW5lZCBpbiB0aGUgPGEgY2xhc3M9 ImluZm8iIGhyZWY9IiM4MDIuM2FoIj5bODAyLjNhaF08c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFz cz0iaW5mbyI+SUVFRSwgJmxkcXVvO0luc3RpdHV0ZSBvZiBFbGVjdHJpY2FsIGFuZCBFbGVjdHJv bmljIEVuZ2luZWVycywgSUVFRSBTdGQgICAgICAgICA4MDIuM2FoLTIwMDQuIEluZm9ybWF0aW9u IHRlY2hub2xvZ3kgLSBUZWxlY29tbXVuaWNhdGlvbnMgYW5kICAgICAgICAgaW5mb3JtYXRpb24g ZXhjaGFuZ2UgYmV0d2VlbiBzeXN0ZW1zIC0gTG9jYWwgYW5kICAgICAgICAgbWV0cm9wb2xpdGFu IGFyZWEgbmV0d29ya3MgLSBTcGVjaWZpYyByZXF1aXJlbWVudHMgLSAgICAgICAgIFBhcnQgMzog Q2FycmllciBzZW5zZSBtdWx0aXBsZSBhY2Nlc3Mgd2l0aCBjb2xsaXNpb24gICAgICAgICBkZXRl Y3Rpb24gKENTTUEvQ0QpIGFjY2VzcyBtZXRob2QgYW5kIHBoeXNpY2FsIGxheWVyICAgICAgICAg c3BlY2lmaWNhdGlvbnMgLSBNZWRpYSBBY2Nlc3MgQ29udHJvbCBQYXJhbWV0ZXJzLCBQaHlzaWNh bCAgICAgICAgIExheWVycyBhbmQgTWFuYWdlbWVudCBQYXJhbWV0ZXJzIGZvciBzdWJzY3JpYmVy IGFjY2VzcyAgICAgICAgIG5ldHdvcmtzLCZyZHF1bzsgT2N0b2JlciZuYnNwOzIwMDQuPC9zcGFu PjxzcGFuPik8L3NwYW4+PC9hPiBGaWd1cmUgNTYuMiBkaWFncmFtLgpUaGUgPGEgY2xhc3M9Imlu Zm8iIGhyZWY9IiM4MDIuM2FoIj5bODAyLjNhaF08c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0i aW5mbyI+SUVFRSwgJmxkcXVvO0luc3RpdHV0ZSBvZiBFbGVjdHJpY2FsIGFuZCBFbGVjdHJvbmlj IEVuZ2luZWVycywgSUVFRSBTdGQgICAgICAgICA4MDIuM2FoLTIwMDQuIEluZm9ybWF0aW9uIHRl Y2hub2xvZ3kgLSBUZWxlY29tbXVuaWNhdGlvbnMgYW5kICAgICAgICAgaW5mb3JtYXRpb24gZXhj aGFuZ2UgYmV0d2VlbiBzeXN0ZW1zIC0gTG9jYWwgYW5kICAgICAgICAgbWV0cm9wb2xpdGFuIGFy ZWEgbmV0d29ya3MgLSBTcGVjaWZpYyByZXF1aXJlbWVudHMgLSAgICAgICAgIFBhcnQgMzogQ2Fy cmllciBzZW5zZSBtdWx0aXBsZSBhY2Nlc3Mgd2l0aCBjb2xsaXNpb24gICAgICAgICBkZXRlY3Rp b24gKENTTUEvQ0QpIGFjY2VzcyBtZXRob2QgYW5kIHBoeXNpY2FsIGxheWVyICAgICAgICAgc3Bl Y2lmaWNhdGlvbnMgLSBNZWRpYSBBY2Nlc3MgQ29udHJvbCBQYXJhbWV0ZXJzLCBQaHlzaWNhbCAg ICAgICAgIExheWVycyBhbmQgTWFuYWdlbWVudCBQYXJhbWV0ZXJzIGZvciBzdWJzY3JpYmVyIGFj Y2VzcyAgICAgICAgIG5ldHdvcmtzLCZyZHF1bzsgT2N0b2JlciZuYnNwOzIwMDQuPC9zcGFuPjxz cGFuPik8L3NwYW4+PC9hPiBkZWZpbmVzIHRoZSBmb2xsb3dpbmcgY2xhdXNlcyBmb3IgdGhlIG5l dHdvcmsgb3BlcmF0aW9uLgo8L3A+CjxwPkNsYXVzZSAzMCAtIG1hbmFnZW1lbnQKPC9wPgo8cD5D bGF1c2UgNjAgLSBQTUQgZm9yIHRoZSBFUE9OIG1lZGlhIChCdXJzdCBQTUQpCjwvcD4KPHA+Q2xh dXNlIDY0IC0gTVBDUCAoTXVsdGlwb2ludCBjb250cm9sIHByb3RvY29sKSAtIGRlZmluZXMgdGhl IG1lZGlhIGFjY2VzcyBmb3IgdGhlIG9wZXJhdGlvbiBvZiB0aGUgbXVsdGlwb2ludCBhcmNoaXRl Y3R1cmUgb2YgdGhlIEVQT04uCjwvcD4KPHA+Q2xhdXNlIDY1IC0gCjwvcD4KPHA+ICAgYSkgVmly dHVhbCBsaW5rcyBmb3IgdGhlIEVQT04KPC9wPgo8cD4gICBiKSBGRUMKPC9wPgo8cD4gICBjKSBQ TUEgZm9yIHRoZSBFUE9OLgo8L3A+CjxhIG5hbWU9ImFuY2hvcjUiPjwvYT48YnIgLz48aHIgLz4K PHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBj bGFzcz0iYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9ImJ1ZyI+PGEgaHJlZj0iI3Rv YyIgY2xhc3M9ImxpbmsyIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+Cjxh IG5hbWU9InJmYy5zZWN0aW9uLjEuMi4yIj48L2E+PGgzPjEuMi4yLiZuYnNwO1ByaW5jaXBsZXMg b2Ygb3BlcmF0aW9uPC9oMz4KCjxwPgpUaGUgRVBPTiBwcm90b2NvbCBpcyBiYXNlZCBvbiB0aGUg Z2lnYWJpdCBFdGhlcm5ldCBwcm90b2NvbCBvZiB0aGUgSUVFRSBhcyBkZXNjcmliZWQgaW4gPGEg Y2xhc3M9ImluZm8iIGhyZWY9IiM4MDIuM2FoIj5bODAyLjNhaF08c3Bhbj4gKDwvc3Bhbj48c3Bh biBjbGFzcz0iaW5mbyI+SUVFRSwgJmxkcXVvO0luc3RpdHV0ZSBvZiBFbGVjdHJpY2FsIGFuZCBF bGVjdHJvbmljIEVuZ2luZWVycywgSUVFRSBTdGQgICAgICAgICA4MDIuM2FoLTIwMDQuIEluZm9y bWF0aW9uIHRlY2hub2xvZ3kgLSBUZWxlY29tbXVuaWNhdGlvbnMgYW5kICAgICAgICAgaW5mb3Jt YXRpb24gZXhjaGFuZ2UgYmV0d2VlbiBzeXN0ZW1zIC0gTG9jYWwgYW5kICAgICAgICAgbWV0cm9w b2xpdGFuIGFyZWEgbmV0d29ya3MgLSBTcGVjaWZpYyByZXF1aXJlbWVudHMgLSAgICAgICAgIFBh cnQgMzogQ2FycmllciBzZW5zZSBtdWx0aXBsZSBhY2Nlc3Mgd2l0aCBjb2xsaXNpb24gICAgICAg ICBkZXRlY3Rpb24gKENTTUEvQ0QpIGFjY2VzcyBtZXRob2QgYW5kIHBoeXNpY2FsIGxheWVyICAg ICAgICAgc3BlY2lmaWNhdGlvbnMgLSBNZWRpYSBBY2Nlc3MgQ29udHJvbCBQYXJhbWV0ZXJzLCBQ aHlzaWNhbCAgICAgICAgIExheWVycyBhbmQgTWFuYWdlbWVudCBQYXJhbWV0ZXJzIGZvciBzdWJz Y3JpYmVyIGFjY2VzcyAgICAgICAgIG5ldHdvcmtzLCZyZHF1bzsgT2N0b2JlciZuYnNwOzIwMDQu PC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPiBjbGF1c2UgMzUgYW5kIDM2LiBUaGUgaW50ZXJmYWNl IHRvIHRoZSBNQUMgaXMgdGhyb3VnaCB0aGUgR01JSSBJL0YgYXMgZGVzY3JpYmVkIGluIGNsYXVz ZSAzNSBhbmQgdGhlIFBDUyBsYXllciBpcyBiYXNlZCBvbiB0aGUgZ2lnYWJpdCBFdGhlcm5ldCBj bGF1c2UgMzYuIFRoZSBNUENQIGlzIHBsYWNlZCBpbiB0aGUgTUFDIGNvbnRyb2wgbGF5ZXIuIFRo ZSBFbXVsYXRpb24gbGF5ZXIsIGxvY2F0ZWQgYXQgdGhlIFJTIChSZWNvbmNpbGlhdGlvbiBTdWJs YXllciksIGNyZWF0ZXMgdmlydHVhbCBwcml2YXRlIHBhdGggdG8gZWFjaCBPTlUgYW5kIHRoZSBG RUMgZW5oYW5jZXMgcmVhY2ggYW5kIHNwbGl0IHBlcmZvcm1hbmNlLgo8L3A+CjxwPiBUaGUgZm9s bG93aW5nIGRpYWdyYW0gZGVzY3JpYmVzIHRoZSBsYXllcmluZzogCjwvcD48cHJlPgoKCiAgICs9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rCiAgIHwgICAgICAgICAg ICAgICBIaWdoZXIgbGF5ZXJzICAgICAgICAgICAgICB8CiAgICs9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0rCiAgIHwgICAgICAgICAgICAgICA4MDIuMUQgQnJpZGdl ICAgICAgICAgICAgICB8CiAgICs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0rCiAgIHwgTUFDIGNsaWVudHwgICAgICAgIC4uLiAgICAgICAgfE1BQyBjbGllbnR8CiAg ICs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rCiAgIHwgICAgICAg ICAgIE1BQyBDb250cm9sIC0gKE1QQ1ApICAgICAgICAgICB8ICAgICAgICAgICAgKk5FVyoKICAg Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSsKICAgfCAgICBNQUMg ICAgfCAgICAgICAgLi4uICAgICAgICB8ICAgIE1BQyAgIHwKICAgKz09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PSsKICAgfCAgICAgICAgICAgUDJQIEVtdWxhdGlvbiAo UDJQRSkgICAgICAgICAgIHwgICAgICAgICAgICAqTkVXKgogICArPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09KwogICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAg IHwKICAgICAgICAgICAgICAgICAgIHwgICAgR01JSSAgICB8CiAgICAgICAgICAgICAgICAgICB8 ICAgICAgICAgICAgfAogICArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09KwogICB8ICAgICAgICAgICAgICAgICAgICBQQ1MgICAgICAgICAgICAgICAgICAgfAogICAr PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09KwogICB8ICAgICAgICAg ICAgICAgICAgICBGRUMgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICpORVcqCiAgICs9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rCiAgIHwgICAgICAgICAg ICAgICAgICAgIFBNQSAgICAgICAgICAgICAgICAgICB8CiAgICs9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0rCiAgIHwgICAgICAgICAgICAgICAgICAgIFBNRCAgICAg ICAgICAgICAgICAgICB8CiAgICs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0rCiAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgfAogICAgICAgICAgICAgICAg ICAgfCAgICBNREkgICAgIHwKICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICB8CiAgICAg ICAgICAgICAgICAgLz09PT09PT09PT09PT09PT09PT0vCiAgICAgICAgICAgICAgICAvICAgICAg IE1lZGlhICAgICAgIC8KICAgICAgICAgICAgICAgLz09PT09PT09PT09PT09PT09PT0vCgo8L3By ZT4KPHA+CjwvcD4KPGEgbmFtZT0iYW5jaG9yNiI+PC9hPjxiciAvPjxociAvPgo8dGFibGUgc3Vt bWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJidWci IGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iYnVnIj48YSBocmVmPSIjdG9jIiBjbGFzcz0i bGluazIiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4KPGEgbmFtZT0icmZj LnNlY3Rpb24uMS4yLjMiPjwvYT48aDM+MS4yLjMuJm5ic3A7VGhlIHBoeXNpY2FsIG1lZGlhPC9o Mz4KCjxwPgpVcGxpbmsgYW5kIGRvd25saW5rIGFyZSBtdWx0aXBsZXhlZCB1c2luZyBzZXBhcmF0 ZWQgd2F2ZWxlbmd0aHMgb24gdGhlIHNhbWUgZmliZXIuIFRoZSBEb3dubGluayBpcyBhIGJyb2Fk Y2FzdCBtZWRpYSB3aGVyZSB0aGUgT0xUIHRyYW5zbWl0cyB0aGUgZGF0YSB0byBhbGwgT05Vcy4g VGhlIHVwbGluayBpcyBhIHNoYXJlZCB0cmFuc21pc3Npb24gbWVkaWEgZm9yIGFsbCBvZiB0aGUg T05Vcy4gVGhlIHVwbGluayBtdWx0aXBsZXhpbmcgYWNjZXNzIGlzIGJhc2VkIG9uIHRpbWUgZGl2 aXNpb24gKFRETSkgYW5kIHRoZSBtYW5hZ2VtZW50IG9mIHRoZSBURE0gYWNjZXNzIGlzIGRlZmlu ZWQgaW4gdGhlIE11bHRpLVBvaW50IGNvbnRyb2wgcHJvdG9jb2wgKE1QQ1ApLiBUaGUgdXBzdHJl YW0gY29sbGlzaW9ucyBhcmUgYXZvaWRlZCB0aHJvdWdoIHRoZSB0cmFuc21pc3Npb24gY29vcmRp bmF0aW9uIGRvbmUgYnkgdGhlIE1QQ1AgcHJvdG9jb2wuIFRoZSB0cmFuc21pc3Npb24gaXMgb2Yg b25lIE9OVSBhdCBhIHRpbWUuIFRoZSBPTFQgc2VuZCBjb250cm9sIG1lc3NhZ2VzIChHQVRFIG1l c3NhZ2VzKSBhbGxvd2luZyBPTlVzIHRvIHRyYW5zbWl0LCBkZWZpbmluZyB3aGVuIHRoZSB0cmFu c21pc3Npb24gb2NjdXJzIGFuZCB3aGF0IGlzIGl0cyBkdXJhdGlvbi4gVGhlc2UgbWVzc2FnZXMg ZGVmaW5lIHRoZSB0cmFuc21pc3Npb24gb3JkZXIgYW5kIHRoZSBhbW91bnQgb2YgQlcgZm9yIGVh Y2ggT05VLiBBIHNjaGVkdWxpbmcgYWxnb3JpdGhtIGF0IHRoZSBPTFQsIHdoaWNoIGlzIG5vdCBk ZWZpbmVkLCBpbiB0aGUgPGEgY2xhc3M9ImluZm8iIGhyZWY9IiM4MDIuM2FoIj5bODAyLjNhaF08 c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0iaW5mbyI+SUVFRSwgJmxkcXVvO0luc3RpdHV0ZSBv ZiBFbGVjdHJpY2FsIGFuZCBFbGVjdHJvbmljIEVuZ2luZWVycywgSUVFRSBTdGQgICAgICAgICA4 MDIuM2FoLTIwMDQuIEluZm9ybWF0aW9uIHRlY2hub2xvZ3kgLSBUZWxlY29tbXVuaWNhdGlvbnMg YW5kICAgICAgICAgaW5mb3JtYXRpb24gZXhjaGFuZ2UgYmV0d2VlbiBzeXN0ZW1zIC0gTG9jYWwg YW5kICAgICAgICAgbWV0cm9wb2xpdGFuIGFyZWEgbmV0d29ya3MgLSBTcGVjaWZpYyByZXF1aXJl bWVudHMgLSAgICAgICAgIFBhcnQgMzogQ2FycmllciBzZW5zZSBtdWx0aXBsZSBhY2Nlc3Mgd2l0 aCBjb2xsaXNpb24gICAgICAgICBkZXRlY3Rpb24gKENTTUEvQ0QpIGFjY2VzcyBtZXRob2QgYW5k IHBoeXNpY2FsIGxheWVyICAgICAgICAgc3BlY2lmaWNhdGlvbnMgLSBNZWRpYSBBY2Nlc3MgQ29u dHJvbCBQYXJhbWV0ZXJzLCBQaHlzaWNhbCAgICAgICAgIExheWVycyBhbmQgTWFuYWdlbWVudCBQ YXJhbWV0ZXJzIGZvciBzdWJzY3JpYmVyIGFjY2VzcyAgICAgICAgIG5ldHdvcmtzLCZyZHF1bzsg T2N0b2JlciZuYnNwOzIwMDQuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPiBpcyByZXNwb25zaWJs ZSB0byBkaXZpZGUgdGhlIEJXIGFuZCBjb250cm9sIHRoZSBkZWxheSBvZiBlYWNoIE9OVSBhY2Nv cmRpbmcgdG8gaXRzIFNMQS4KCjwvcD4KPGEgbmFtZT0iYW5jaG9yNyI+PC9hPjxiciAvPjxociAv Pgo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIi IGNsYXNzPSJidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iYnVnIj48YSBocmVmPSIj dG9jIiBjbGFzcz0ibGluazIiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4K PGEgbmFtZT0icmZjLnNlY3Rpb24uMS4yLjQiPjwvYT48aDM+MS4yLjQuJm5ic3A7UE1EIHNwZWNp ZmljYXRpb25zPC9oMz4KCjxwPgpUaGUgc2FtZSB3YXZlbGVuZ3RoIG9wdGljYWwgcGxhbiBhcyBJ VFUtVCBHLjk4MyBpcyBzZWxlY3RlZC4gVGhlIHRyYW5zY2VpdmVycyBhcmUgZGVyaXZhdGlvbnMg ZnJvbSBleGlzdGluZyBFdGhlcm5ldCBvcHRpY3MgdHJhbnNjZWl2ZXJzLiBXaGF0IGlzIGFkZGVk IGlzIHRoZSBidXJzdCBmdW5jdGlvbmFsaXR5IGZvciB0aGUgdXBsaW5rIC0gYnVyc3QgdHJhbnNt aXNzaW9uIGF0IHRoZSBPTlUgYW5kIGJ1cnN0IHJlY2VwdGlvbiBhdCB0aGUgT0xULiBUaGUgPGEg Y2xhc3M9ImluZm8iIGhyZWY9IiM4MDIuM2FoIj5bODAyLjNhaF08c3Bhbj4gKDwvc3Bhbj48c3Bh biBjbGFzcz0iaW5mbyI+SUVFRSwgJmxkcXVvO0luc3RpdHV0ZSBvZiBFbGVjdHJpY2FsIGFuZCBF bGVjdHJvbmljIEVuZ2luZWVycywgSUVFRSBTdGQgICAgICAgICA4MDIuM2FoLTIwMDQuIEluZm9y bWF0aW9uIHRlY2hub2xvZ3kgLSBUZWxlY29tbXVuaWNhdGlvbnMgYW5kICAgICAgICAgaW5mb3Jt YXRpb24gZXhjaGFuZ2UgYmV0d2VlbiBzeXN0ZW1zIC0gTG9jYWwgYW5kICAgICAgICAgbWV0cm9w b2xpdGFuIGFyZWEgbmV0d29ya3MgLSBTcGVjaWZpYyByZXF1aXJlbWVudHMgLSAgICAgICAgIFBh cnQgMzogQ2FycmllciBzZW5zZSBtdWx0aXBsZSBhY2Nlc3Mgd2l0aCBjb2xsaXNpb24gICAgICAg ICBkZXRlY3Rpb24gKENTTUEvQ0QpIGFjY2VzcyBtZXRob2QgYW5kIHBoeXNpY2FsIGxheWVyICAg ICAgICAgc3BlY2lmaWNhdGlvbnMgLSBNZWRpYSBBY2Nlc3MgQ29udHJvbCBQYXJhbWV0ZXJzLCBQ aHlzaWNhbCAgICAgICAgIExheWVycyBhbmQgTWFuYWdlbWVudCBQYXJhbWV0ZXJzIGZvciBzdWJz Y3JpYmVyIGFjY2VzcyAgICAgICAgIG5ldHdvcmtzLCZyZHF1bzsgT2N0b2JlciZuYnNwOzIwMDQu PC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPiBzZWxlY3RlZCB2ZXJ5IHJlbGF4ZWQgYnVyc3QgcGFy YW1ldGVycy4KCjwvcD4KPGEgbmFtZT0iYW5jaG9yOCI+PC9hPjxiciAvPjxociAvPgo8dGFibGUg c3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJi dWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iYnVnIj48YSBocmVmPSIjdG9jIiBjbGFz cz0ibGluazIiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4KPGEgbmFtZT0i cmZjLnNlY3Rpb24uMS4yLjUiPjwvYT48aDM+MS4yLjUuJm5ic3A7UG9pbnQgdG8gcG9pbnQgZW11 bGF0aW9uPC9oMz4KCjxwPgpBbiBlbXVsYXRlZCBwb2ludC10by1wb2ludCBsaW5rIGlzIGNyZWF0 ZWQgZm9yIGVhY2ggT05VLiBUaGUgZG93bnN0cmVhbSB0cmFuc21pc3Npb24gaXMgYW4gYWdncmVn YXRpb24gb2YgcG9pbnQtdG8tcG9pbnQgdHVubmVscyBhbmQgc2luZ2xlLWNvcHktYnJvYWRjYXN0 IGNoYW5uZWwgKHRhZ2dlZCBhcyBhbGwgb25lcyBMTElEKS4gVGhlIE9OVWEgZmlsdGVyIHRyYWZm aWMgbm90IGludGVuZGVkIGZvciB0aGVpciByZWNlcHRpb24gYWNjb3JkaW5nIHRvIHRoZSB2aXJ0 dWFsIGxpbmsgbWFya2luZy4gQW4gTExJRCB0YWcgaXMgYXR0YWNoZWQgYXQgdGhlIHByZWFtYmxl IHRvIGRlbm90ZSB0aGUgdmlydHVhbCBsaW5rIC0gZGVzdGluYXRpb24gYXQgdGhlIGRvd25zdHJl YW0gYW5kIHNvdXJjZSBhdCB0aGUgdXBzdHJlYW0uIAo8L3A+CjxwPlRoZSB2aXJ0dWFsIGxpbmtz IGNvbmNlcHQgaXMgYWxzbyB1c2VkIHRvIGF2b2lkIHZpb2xhdGlvbnMgb2YgYnJpZGdpbmcgcnVs ZXMgZm9yIHBlZXIgdG8gcGVlciB0cmFmZmljIGluIHRoZSBQT04uIEEgYnJpZGdlIHNlZXMgYSBz aW5nbGUgTUFDIENsaWVudCBmb3IgZXZlcnkgbGluayBwYWlyLiBUaGUgcHJpdmF0ZSBwYXRocyBj b25jZXB0IG1lYW5zIG5vIG5ldHdvcmtpbmcgcHJvYmxlbXMgZXhpc3QgYW5kIGl0IHByb3ZpZGVz IHN1YnNjcmliZXIgaXNvbGF0aW9uLiBBcyB0aGUgdHVubmVsaW5nIGlzIG9ubHkgdmlydHVhbCB0 aGVyZSBpcyBhIHNpbmdsZSBwaHlzaWNhbCBpbnRlcmZhY2UgYW5kIGEgc2luZ2xlIHBoeXNpY2Fs IGxheWVyIGZvciB0aGUgZGV2aWNlIGluY2x1ZGluZyBhdHRyaWJ1dGVzIGxpa2UgbG9jYWwgTUFD IGFkZHJlc3MuIFRoZSBmb2xsb3dpbmcgZGlhZ3JhbSBkZXNjcmliZXMgdGhlIHZpcnR1YWwgdHVu bmVsaW5nIGZvciB0aGUgRVBPTi4KCjwvcD4KPHA+CjwvcD48cHJlPgoKICAgICAgICAgICAgICAg ICAgICAgIFRydW5rIExpbmUKICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgICAgICAg ICAgICAgICAgICAgICAgfAogICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgICAgICAg ICAgICAgICAgICAgIFx8LwogICArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0rCiAgIHwgICAgICAgICAgICAgICAgIDgwMi4xRCBCcmlkZ2UgICAgICAgICAg ICAgICAgIHwKICAgKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09KwogICB8IE1BQyBjbGllbnQxfCAgICAgICAgICAuLi4gICAgICAgICB8TUFDIGNsaWVudDN8 CiAgICs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSsKICAg fCAgICAgICAgICAgICAgICAgICAgIE1QMlBFICAgICAgICAgICAgICAgICAgICAgfAogICArPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rCiAgIHwgICAgICAg ICAgICAgICAgICAgICAgUEhZICAgICAgICAgICAgICAgICAgICAgIHwKICAgPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgfCAgICAgICAg ICAgICAgICAgfCAgICAgICAgICAgICAgICAgfAogICAgICAgICAgfCAgICAgICAgICAgICAgICAg fCAgICAgICAgICAgICAgICAgfAogICAgICAgICBcfC8gICAgICAgICAgICAgICBcfC8gICAgICAg ICAgICAgICBcfC8KICAgKz09PT09PT09PT09PSsgICAgKz09PT09PT09PT09PSsgICAgKz09PT09 PT09PT09PSsKICAgfCAgICBQSFkgICAgIHwgICAgfCAgICAgUEhZICAgIHwgICAgfCAgICAgUEhZ ICAgIHwKICAgKz09PT09PT09PT09PSsgICAgKz09PT09PT09PT09PSsgICAgKz09PT09PT09PT09 PSsKICAgfCAgIE1QMlBFICAgIHwgICAgfCAgICBNUDJQRSAgIHwgICAgfCAgICBNUDJQRSAgIHwK ICAgKz09PT09PT09PT09PSsgICAgKz09PT09PT09PT09PSsgICAgKz09PT09PT09PT09PSsKICAg fCBNQUMgY2xpZW50IHwgICAgfCBNQUMgY2xpZW50IHwgICAgfCBNQUMgY2xpZW50IHwKICAgKz09 PT09PT09PT09PSsgICAgKz09PT09PT09PT09PSsgICAgKz09PT09PT09PT09PSsKICAgfCAgICBQ SFkgICAgIHwgICAgfCAgICAgUEhZICAgIHwgICAgfCAgICAgUEhZICAgIHwKICAgKz09PT09PT09 PT09PSsgICAgKz09PT09PT09PT09PSsgICAgKz09PT09PT09PT09PSsKICAgICAgICAgL3xcICAg ICAgICAgICAgICAgL3xcICAgICAgICAgICAgICAgL3xcCiAgICAgICAgICB8ICAgICAgICAgICAg ICAgICB8ICAgICAgICAgICAgICAgICB8CiAgICAgICAgICB8ICAgICAgICAgICAgICAgICB8ICAg ICAgICAgICAgICAgICB8CiAgICAgICAgICB8ICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAg ICAgICB8CiAgICAgU3Vic2NyaWJlcjEgICAgICAgU3Vic2NyaWJlcjIgICAgICAgU3Vic2NyaWJl cjMKCjwvcHJlPgo8cD4KPC9wPgo8YSBuYW1lPSJhbmNob3I5Ij48L2E+PGJyIC8+PGhyIC8+Cjx0 YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xh c3M9ImJ1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJidWciPjxhIGhyZWY9IiN0b2Mi IGNsYXNzPSJsaW5rMiI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPgo8YSBu YW1lPSJyZmMuc2VjdGlvbi4xLjIuNiI+PC9hPjxoMz4xLjIuNi4mbmJzcDtNUENQIHByaW5jaXBs ZXM8L2gzPgoKPHA+CgpUaGUgT0xULCB3aGljaCBpcyB0aGUgc2VydmVyIHVuaXQsIG1hbmFnZXMg dGhlIG5ldHdvcmsuIFRoZSBNUENQIGNvbnRyb2xzIHRoZSBURE0gdHJhbnNtaXNzaW9uIG9mIHRo ZSB1cGxpbmsuIFRoZSBNUENQIGlzIGltcGxlbWVudGVkIGF0IHRoZSBNQUMgY29udHJvbCBsYXll ciBhbmQgdGhlIE1QQ1AgbWVzc2FnZXMgYXJlIE1BQyBjb250cm9sIG1lc3NhZ2VzIHVzaW5nIHRo ZSA4ODA4IEV0aGVydHlwZS4gVGhlc2UgbWVzc2FnZXMgYXJlIG5vdCBmb3J3YXJkZWQgZnJvbSB0 aGUgTUFDLiBBIGNvbmNlcHQgb2YgdGltZSBtdXN0IGV4aXN0IGluIHRoZSBwcm90b2NvbCBpbiBv cmRlciB0byBzY2hlZHVsZSB0aGUgdXBsaW5rIHRyYW5zbWlzc2lvbi4gVGhlIHN5bmNocm9uaXpl ZCB0aW1lc3RhbXAgaW4gdGhlIG5ldHdvcmsgaXMgbWFuYWdlZCB0aHJvdWdoIHRoZSBNUENQIG1l c3NhZ2VzLiBUaGUgdGltZXN0YW1wIGlzIGFsc28gdXNlZCB0byBtZWFzdXJlIHRoZSBSVFQgb2Yg ZWFjaCBPTlUgYW5kIGNvbXBlbnNhdGUgaXQgZm9yIHRyYW5zbWlzc2lvbi4gVGhlIGRpZmZlcmVu Y2Ugb2YgaW5jb21pbmcgdGltZXN0YW1wIHRvIGxvY2FsIHRpbWUgYWxsb3dzIE9MVCB0byBjYWxj dWxhdGUgdGhlIFJUVC4gVGhlIFRETSBjb250cm9sIGlzIGRvbmUgdXNpbmcgdGhlIGdhdGUgbWVz c2FnZXMuIFRoZXNlIG1lc3NhZ2VzIGRlZmluZSBmb3IgZWFjaCBPTlUgdGhlIHRpbWUgZm9yIHRy YW5zbWlzc2lvbiBhbmQgdGhlIGxlbmd0aCBvZiB0cmFuc21pc3Npb24uIFRoZSBSVFQgaXMgcmVk dWNlZCBmcm9tIHRoZSB0cmFuc21pc3Npb24gdGltZSBhdCB0aGUgZ2F0ZSBtZXNzYWdlIHRvIHNo aWZ0IHRoZSBPTlUgdHJhbnNtaXNzaW9uIHRpbWUgaW4gdGhlIG9wcG9zaXRlIGRpcmVjdGlvbi4K PC9wPgo8cD4KQSBzY2hlZHVsaW5nIGFsZ29yaXRobSBhdCB0aGUgT0xULCB3aGljaCBpcyBub3Qg ZGVmaW5lZCBpbiB0aGUgPGEgY2xhc3M9ImluZm8iIGhyZWY9IiM4MDIuM2FoIj5bODAyLjNhaF08 c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0iaW5mbyI+SUVFRSwgJmxkcXVvO0luc3RpdHV0ZSBv ZiBFbGVjdHJpY2FsIGFuZCBFbGVjdHJvbmljIEVuZ2luZWVycywgSUVFRSBTdGQgICAgICAgICA4 MDIuM2FoLTIwMDQuIEluZm9ybWF0aW9uIHRlY2hub2xvZ3kgLSBUZWxlY29tbXVuaWNhdGlvbnMg YW5kICAgICAgICAgaW5mb3JtYXRpb24gZXhjaGFuZ2UgYmV0d2VlbiBzeXN0ZW1zIC0gTG9jYWwg YW5kICAgICAgICAgbWV0cm9wb2xpdGFuIGFyZWEgbmV0d29ya3MgLSBTcGVjaWZpYyByZXF1aXJl bWVudHMgLSAgICAgICAgIFBhcnQgMzogQ2FycmllciBzZW5zZSBtdWx0aXBsZSBhY2Nlc3Mgd2l0 aCBjb2xsaXNpb24gICAgICAgICBkZXRlY3Rpb24gKENTTUEvQ0QpIGFjY2VzcyBtZXRob2QgYW5k IHBoeXNpY2FsIGxheWVyICAgICAgICAgc3BlY2lmaWNhdGlvbnMgLSBNZWRpYSBBY2Nlc3MgQ29u dHJvbCBQYXJhbWV0ZXJzLCBQaHlzaWNhbCAgICAgICAgIExheWVycyBhbmQgTWFuYWdlbWVudCBQ YXJhbWV0ZXJzIGZvciBzdWJzY3JpYmVyIGFjY2VzcyAgICAgICAgIG5ldHdvcmtzLCZyZHF1bzsg T2N0b2JlciZuYnNwOzIwMDQuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPiwgaXMgcmVzcG9uc2li bGUgdG8gZGl2aWRlIHRoZSBCVyBhbmQgY29udHJvbCB0aGUgdHJhbnNtaXNzaW9uIGRlbGF5IG9m IGVhY2ggT05VIGFjY29yZGluZyB0byBpdHMgU0xBLiBJbiBvcmRlciBmb3IgdGhpcyBhbGdvcml0 aG0gdG8gYmUgZWZmaWNpZW50IGEgY2xvc2VkIGxvb3Agb3BlcmF0aW9uIGlzIGVuYWJsZWQgbWVh bmluZy4gVGhlIGNsb3NlZCBsb29wIGlzIGFjaGlldmVkIGJ5IHRoYXQgdGhlIE9OVSByZXBvcnRz IG9uIHRoZSBhbW91bnQgb2YgQlcgaXQgcmVxdWlyZSBmb3IgdHJhbnNtaXNzaW9uLiBUaGlzIGFs bG93cyB0byBhbGxvY2F0ZSBkaWZmZXJlbnQgcGVhayBCVyBmb3IgZWFjaCBPTlUgYXQgZGlmZmVy ZW50IHRpbWVzIHVzaW5nIHRoZSBzdGF0aXN0aWNhbCBwcm9wZXJ0aWVzIG9mIHRoZSB0cmFmZmlj IGhlbmNlIGFsbG93aW5nIG92ZXJzdWJzY3JpcHRpb24gb2YgdGhlIEJXLiBUaGUgbWVzc2FnZXMg YXJlIGZvciB0aGUgQlcgcmVwb3J0IGFyZSBkZW5vdGVkIGFzIFJFUE9SVCBtZXNzYWdlcyB3aGlj aCByZXBvcnQgdGhlIGFtb3VudCBvZiBkYXRhIGluIHRoZSBPTlUgcXVldWVzLgpJbiBhZGRpdGlv biB0byB0aGF0IHRoZSBNUENQIGRlZmluZXMgYSBwcm90b2NvbCBvZiBhdXRvLWRpc2NvdmVyeSBh bmQgcmVnaXN0cmF0aW9uIG9mIE9OVXMuICAKCjwvcD4KPHA+IFRoZSByZWdpc3RyYXRpb24gcHJv Y2VzcyBpcyBkZWZpbmVkIGluIHRoZSBkaWFncmFtIGJlbG93OiAKPC9wPjxwcmU+CgoKICAgT0xU ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT05VCiAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICB8ICAgICAgICAgICAg IERpc2NvdmVyeSBHYXRlICAgICAgICAgICAgICAgIFx8CiAgICB8LS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18CiAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIC98CiAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8CiAgICB8LyAgICAgICAgICAgICBSZWdpc3RlciBSZXF1ZXN0ICAgICAg ICAgICAgICB8CiAgICB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS18CiAgICB8XCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICB8ICAg ICAgICAgICAgICBSZWdpc3RlciAgICAgICAgICAgICAgICAgICAgICB8CiAgICB8ICAgICAgICAg ICAgICAgKGFzc2lnbmluZyBMTElEKSAgICAgICAgICAgIFx8CiAgICB8LS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18CiAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIC98CiAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8CiAgICB8ICAgICAgICAgICAgICAgICAgICAgICBHYXRlICAgICAg ICAgICAgICAgIFx8CiAgICB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS18CiAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC98 CiAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICB8 LyAgICAgICAgICAgICBSZWdpc3RlciBBQ0sgICAgICAgICAgICAgICAgICB8CiAgICB8LS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18CiAgICB8XCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8CgoKCjwvcHJlPgo8cD4KPC9wPgo8cD4gQSBuZXcgT05VIHJl cXVlc3RzIHRvIHJlZ2lzdGVyIChzZW5kcyBhIFJFR19SRVFVRVNUIG1lc3NhZ2UpIGluIGEgc3Bl Y2lhbCBkaXNjb3ZlcnkgZ3JhbnQgYWxsb2NhdGVkIGZvciB0aGF0IGJ5IHRoZSBPTFQuIER1cmlu ZyB0aGF0IHRpbWUgbW9yZSB0aGFuIG9uZSBPTlUgbWlnaHQgdHJ5IHRvIHJlZ2lzdGVyIGFuZCBh cyB0aGUgUlRUIG9mIHRoZSBuZXcgT05VcyBpcyBub3Qga25vd24geWV0IGEgY29sbGlzaW9uIGlu IHRyYW5zbWlzc2lvbiBtaWdodCBvY2N1ci4gQSByYW5kb20gYmFja29mZiBtZWNoYW5pc20gb2Yg dHJhbnNtaXNzaW9uIGlzIHVzZWQgdG8gc2NoZWR1bGUgdGhlIG5leHQgcmVnaXN0cmF0aW9uIHJl cXVlc3RzIHRvIGF2b2lkIHRoZXNlIGNvbGxpc2lvbnMuIFdoZW4gdGhlIE9MVCByZWNlaXZlcyBS RUdfUkVRVUVTVCBtZXNzYWdlIG9mIGFuIE9OVSBhbmQgYXBwcm92ZXMgdGhpcyBPTlUgdGhlbiBp dCBzZW5kcyBhIFJFR0lTVEVSIG1lc3NhZ2UgdG8gdGhpcyBPTlUgZGVmaW5pbmcgaXRzIExMSUQu IEZyb20gdGhpcyB0aW1lIHRoZSBPTlUgdHJhbnNtaXNzaW9uIGlzIHNjaGVkdWxlZCBieSBpdHMg TExJRCwga25vd2luZyB0aGUgUlRULCBhbmQgbm8gY29sbGlzaW9uIGNhbiBvY2N1ci4gVGhlIE9O VSByZXBsaWVzIHdpdGggYSBSRUdJU1RFUl9BQ0sgbWVzc2FnZSBhbmQgdGhlIHJlZ2lzdHJhdGlv biBwcm9jZXNzIG9mIHRoZSBNUENQIGVuZHMuIEhpZ2hlciBsYXllciBwcm90b2NvbHMgbWF5IHll dCBiZSBuZWVkZWQgdG8gYXV0aGVudGljYXRlIHRoZSBPTlUgYW5kIGFsbG93IGl0IHRvIHBhcnRp Y2lwYXRlIGluIHRoZSBuZXR3b3JrLgoKPC9wPgo8YSBuYW1lPSJhbmNob3IxMCI+PC9hPjxiciAv PjxociAvPgo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNp bmc9IjIiIGNsYXNzPSJidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iYnVnIj48YSBo cmVmPSIjdG9jIiBjbGFzcz0ibGluazIiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90 YWJsZT4KPGEgbmFtZT0icmZjLnNlY3Rpb24uMS4yLjciPjwvYT48aDM+MS4yLjcuJm5ic3A7Rm9y d2FyZCBFcnJvciBjb3JyZWN0aW9uIChGRUMpPC9oMz4KCjxwPgoKVGhlIEZFQyBpcyBkZWZpbmVk IHRvIGVuaGFuY2UgdGhlIGxpbmsgYnVkZ2V0IG9mIHRoZSBQT04uIEFzIGVhY2ggc3BsaXR0ZXIg YXR0ZW51YXRlcyB0aGUgb3B0aWNhbCBzaWduYWwsIHRoZSBudW1iZXIgb2YgdGhlIHNwbGl0cyBh bmQgdGhlIGRpc3RhbmNlIGFyZSBsaW1pdGVkIGJ5IHRoZSBsaW5rIGJ1ZGdldCBhbmQgaGVuY2Ug YW4gRkVDIHdoaWNoIGltcHJvdmVzIHRoZSBsaW5rIGJ1ZGdldCBpcyB2ZXJ5IHVzZWZ1bC4gVGhl IEZFQyBjb2RlIHVzZWQgaXMgdGhlIFJTKDIzOSwyNTUsOCksIHNpbWlsYXIgdG8gRy45NzUgaW1w cm92aW5nIHRoZSBCRVIgZnJvbSAxRS00IHRvIDFFLTEyLgo8L3A+CjxwPiBUaGUgRkVDIHBhcml0 eSBlbmNhcHN1bGF0aW9uIGlzIGJhc2VkIG9uIHRoZSBFdGhlcm5ldCBmcmFtZXMuIFRoZSBFdGhl cm5ldCBmcmFtZXMgYXJlIHNwYWNlZCBieSByYXRlIGFkYXB0YXRpb24sIGFuZCB0aGUgcGFyaXR5 IGJ5dGVzIGFyZSBpbnNlcnRlZCBpbiB0aGUgcHJvdmlkZWQgc3BhY2UuIAo8L3A+CjxwPiBBcyB0 aGUgc3RhcnQgYW5kIGVuZCBvZiBmcmFtZSBzaWduYWxzIGFyZSBvdXRzaWRlIG9mIHRoZSBGRUMg cHJvdGVjdGlvbiwgdGhleSBhcmUgcmVwbGFjZWQgYnkgYSBzZXJpZXMgb2Ygc3ltYm9scyB0byBl bmhhbmNlIHRoZWlyIHZ1bG5lcmFiaWxpdHkgdG8gZXJyb3JzLgo8L3A+CjxwPiBUaGUgZm9sbG93 aW5nIGRpYWdyYW0gcHJlc2VudHMgYW4gRkVDIHByb3RlY3RlZCBmcmFtZTogCjwvcD48cHJlPgoK CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKwp8ICAgICAgIHwgICAgICAgICAgICAgIHwgICAgICAgICAgIHwgICAgIHwg ICAgICAgfCAgICAgICAgICB8ICAgICAgIHwKfCBTX0ZFQyB8IFByZWFtYmxlL1NGRCB8ICAgRnJh bWUgICB8IEZDUyB8IFRfRkVDIHwgIFBhcml0eSAgfCBUX0ZFQyB8CnwgICAgICAgfCAgICAgICAg ICAgICAgfCAgICAgICAgICAgfCAgICAgfCAgICAgICB8ICAgICAgICAgIHwgICAgICAgfAorLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSsKCgo8L3ByZT4KPHA+CjwvcD4KPHA+IFRoZSBGRUMgbGF5ZXIgaW50cm9kdWNlcyBh IGZpeGVkIGRlbGF5IGluIHRoZSByZWNlaXZlIGFuZCB0cmFuc21pdCBwYXRoLgo8L3A+CjxwPiBU aGUgRkVDIGxheWVyIGlzIG9wdGlvbmFsLgo8L3A+CjxhIG5hbWU9ImFuY2hvcjExIj48L2E+PGJy IC8+PGhyIC8+Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3Bh Y2luZz0iMiIgY2xhc3M9ImJ1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJidWciPjxh IGhyZWY9IiN0b2MiIGNsYXNzPSJsaW5rMiI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48 L3RhYmxlPgo8YSBuYW1lPSJyZmMuc2VjdGlvbi4xLjMiPjwvYT48aDM+MS4zLiZuYnNwO01hbmFn ZW1lbnQgYXJjaGl0ZWN0dXJlPC9oMz4KCjxwPgoKRWFjaCBvbmUgb2YgdGhlIEVQT04gbGF5ZXJz IGlzIGFjY29tcGFuaWVkIGJ5IGEgbWFuYWdlbWVudCBJL0YsIHdoaWNoIGlzIGNvbnRyb2xsZWQg dGhyb3VnaCBjbGF1c2UgMzAgb2YgdGhlIHNwZWMuIFRoZSBNSUIgZG9jdW1lbnQgYWxsb2NhdGVz IGZvciBlYWNoIG9uZSBvZiB0aGVtIGEgc2VwYXJhdGUgcGFja2FnZSwgYXMgdGhlIDxhIGNsYXNz PSJpbmZvIiBocmVmPSIjODAyLjNhaCI+WzgwMi4zYWhdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xh c3M9ImluZm8iPklFRUUsICZsZHF1bztJbnN0aXR1dGUgb2YgRWxlY3RyaWNhbCBhbmQgRWxlY3Ry b25pYyBFbmdpbmVlcnMsIElFRUUgU3RkICAgICAgICAgODAyLjNhaC0yMDA0LiBJbmZvcm1hdGlv biB0ZWNobm9sb2d5IC0gVGVsZWNvbW11bmljYXRpb25zIGFuZCAgICAgICAgIGluZm9ybWF0aW9u IGV4Y2hhbmdlIGJldHdlZW4gc3lzdGVtcyAtIExvY2FsIGFuZCAgICAgICAgIG1ldHJvcG9saXRh biBhcmVhIG5ldHdvcmtzIC0gU3BlY2lmaWMgcmVxdWlyZW1lbnRzIC0gICAgICAgICBQYXJ0IDM6 IENhcnJpZXIgc2Vuc2UgbXVsdGlwbGUgYWNjZXNzIHdpdGggY29sbGlzaW9uICAgICAgICAgZGV0 ZWN0aW9uIChDU01BL0NEKSBhY2Nlc3MgbWV0aG9kIGFuZCBwaHlzaWNhbCBsYXllciAgICAgICAg IHNwZWNpZmljYXRpb25zIC0gTWVkaWEgQWNjZXNzIENvbnRyb2wgUGFyYW1ldGVycywgUGh5c2lj YWwgICAgICAgICBMYXllcnMgYW5kIE1hbmFnZW1lbnQgUGFyYW1ldGVycyBmb3Igc3Vic2NyaWJl ciBhY2Nlc3MgICAgICAgICBuZXR3b3JrcywmcmRxdW87IE9jdG9iZXImbmJzcDsyMDA0Ljwvc3Bh bj48c3Bhbj4pPC9zcGFuPjwvYT4gc3BlYyBtYXkgYmUgdXNlZCBmb3IgZGlmZmVyZW50IGFwcGxp Y2F0aW9ucyBhbmQgbWF5IHVzZSBzb21lIG9mIHRoZSBjbGF1c2VzIHNlcGFyYXRlbHkuCjwvcD4K PHA+IFRoZSBmb2xsb3dpbmcgZGlhZ3JhbSBwcmVzZW50cyB0aGUgcGFja2FnZXMgcmVsYXRpb24g dG8gSUVFRSBsYXllcmluZyBkaWFncmFtOiAKPC9wPjxwcmU+CgoKKz09PT09PT09PT09PT09PT09 PT09PT09PT09PSsKfCAgICAgICBIaWdoZXIgbGF5ZXJzICAgICAgIHwKKz09PT09PT09PT09PT09 PT09PT09PT09PT09PSsKfCAgICAgICA4MDIuMUQgQnJpZGdlICAgICAgIHwKKz09PT09PT09PT09 PT09PT09PT09PT09PT09PSsKfE1BQyBjbGllbnR8IC4uLiB8TUFDIGNsaWVudHwKKz09PT09PT09 PT09PT09PT09PT09PT09PT09PSsgICAgXCArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0r CnwgICBNQUMgQ29udHJvbCAtIChNUENQKSAgICB8LS0tLS0gfE1wY3BPYmplY3RzfCAuLi4gfE1w Y3BPYmplY3RzfAorPT09PT09PT09PT09PT09PT09PT09PT09PT09KyAgICAvICs9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PSsKfCAgIE1BQyAgICB8IC4uLiB8ICAgTUFDICAgIHwKKz09PT09 PT09PT09PT09PT09PT09PT09PT09PSsgICAgXCArPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0rCnwgICAgUDJQIEVtdWxhdGlvbiAoUDJQRSkgICB8LS0tLS0gfE9tcEVtdWxhdCAgfCAgICAg fE9tcEVtdWxhdCAgfAorPT09PT09PT09PT09PT09PT09PT09PT09PT09KyAgICAvIHxpb25PYmpl Y3RzIHwgLi4uIHxpb25PYmplY3RzIHwKICAgICAgICAgIHwgICAgICAgIHwgICAgICAgICAgICAg ICArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rCiAgICAgICAgICB8ICBHTUlJICB8CiAg ICAgICAgICB8ICAgICAgICB8Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT0rCnwgICAgICAg ICAgICBQQ1MgICAgICAgICAgICB8Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT0rICAgIFwg Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kwp8ICAgICAgICAgICAgRkVDICAgICAgICAg ICAgfC0tLS0tIHxGZWNPYmplY3RzIHwgLi4uIHxGZWNPYmplY3RzIHwKKz09PT09PT09PT09PT09 PT09PT09PT09PT09PSsgICAgLyArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rCnwgICAg ICAgICAgICBQTUEgICAgICAgICAgICB8Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT0rCnwg ICAgICAgICAgICBQTUQgICAgICAgICAgICB8Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT0r CiAgICAgICAgICB8ICAgICAgICB8CiAgICAgICAgICB8ICBNREkgICB8CiAgICAgICAgICB8ICAg ICAgICB8CiAgICAgIC89PT09PT09PT09PT09PT0vCiAgICAgLyAgICAgTWVkaWEgICAgIC8KICAg IC89PT09PT09PT09PT09PT0vCgoKCjwvcHJlPgo8cD4KPC9wPgo8cD4gQXMgZm9yIHRoZSBPTlUg dGhlIHNpdHVhdGlvbiBpcyBzaW1wbGUuIFRoZXJlIGlzIG9uZSBsb2dpY2FsIGFuZCBwaHlzaWNh bCBpbnRlcmZhY2UgYW5kIGEgc2luZ2xlIGNvcHkgZXhpc3RzIGZvciBlYWNoIGxheWVyIHdoaWNo IGNhbiBiZSByZW1vdGVseSBxdWVyaWVkIGJ5IHRoZSBPTFQuCjwvcD4KPHA+IEF0IHRoZSBPTFQg dGhlcmUgaXMgYSBzaW5nbGUgcGh5c2ljYWwgaW50ZXJmYWNlIGFuZCBOIHZpcnR1YWwgbG9naWNh bCBpbnRlcmZhY2VzIGZvciB0aGUgdmlydHVhbCBsaW5rcyBvZiB0aGUgT05VcyAoIGFuZCBhbm90 aGVyIHZpcnR1YWwgaW50ZXJmYWNlIGZvciB0aGUgYnJvYWRjYXN0IHZpcnR1YWwgbGluaykuIEFz IGNhbiBiZSBzZWVuIGZyb20gdGhlIGxheWVyaW5nIGRpYWdyYW0gYWJvdmUsIHRoZSBNQUMgaXMg dmlydHVhbGx5IGR1cGxpY2F0ZWQgYW5kIHRoZXJlZm9yZSB0aGUgc2VsZWN0aW9uIGZvciB0aGUg bWFuYWdlbWVudCBmb3IgdGhpcyBzY2VuYXJpbyBpcyB0byBhbGxvY2F0ZSBhbiBpbnRlcmZhY2Ug aW5kZXggZm9yIGVhY2ggb25lIG9mIHRoZSB2aXJ0dWFsIGxpbmsgYW5kIGFuIGFkZGl0aW9uYWwg aW50ZXJmYWNlIGluZGV4IGZvciB0aGUgT0xULiBUaGVyZWZvcmUgdGhlIEludGVyZmFjZSwgTUFV IGFuZCBldGhlckxpa2UgaW50ZXJmYWNlcyBNSUJzIGhhdmUgYSByb3cgKGlmSW5kZXgpIGZvciBl YWNoIHZpcnR1YWwgbGluayBhdCB0aGUgT0xULiBUaGUganVzdGlmaWNhdGlvbiBmb3IgdGhpcyBw YXJ0aXRpb24gaXMgdGhhdCB0aGUgaW50ZXJmYWNlcyBhcmUgcXVpdGUgd2VsbCBzZXBhcmF0ZWQg YXMgdGhleSBwcmVzZW50IHBoeXNpY2FsIGRpZmZlcmVudCBPTlVzIHdoaWNoIGFyZSB2aWV3ZWQg ZnJvbSB0aGUgT0xUIHBvaW50IG9mIHZpZXcsIGFuZCBmb3IgaW5zdGFuY2UgdGhlcmUgaXMgYSBt ZWFuaW5nIGZvciBhIHNlcGFyYXRlIGJhZCBmcmFtZXMsIG9yIGJhZCBvY3RldHMgY291bnRlcnMg Zm9yIGVhY2ggdmlydHVhbCBsaW5rIGFzIHRoZSBPTlVzIGNhbiBiZSBkaXN0YW5jZWQgZGlmZmVy ZW50bHksIHdoaWNoIGlzIHF1aXRlIHNpbWlsYXIgdG8gYSBzZXBhcmF0ZSBwaHlzaWNhbCBpbnRl cmZhY2UuIFRoZSBzYW1lIHBhcnRpdGlvbiBjb25jZXB0IGV4aXN0cyBmb3IgdGhlIE1JQiBtb2R1 bGUgb2YgdGhpcyBkb2N1bWVudC4gRWFjaCByb3cgaW4gdGhlIHRhYmxlcyBpcyBzZWxlY3RlZCBh Y2NvcmRpbmcgdG8gdGhlIGlmSW5kZXggYW5kIHNwZWNpZmljYWxseSB0aGVyZSBpcyBhIHJvdyBm b3IgZWFjaCB2aXJ0dWFsIGxpbmsuIFRoZXJlIGFyZSBhIGZldyBjb250cm9sIG9iamVjdHMgd2hp Y2ggYXJlIGRlZmluZWQgZm9yIHRoZSBlbnRpcmUgbGF5ZXIgKGFuZCB0aGV5IHNob3VsZCBoYXZl IHRoZSBzYW1lIHZhbHVlIGZvciBlYWNoIGlmSW5kZXgpIGJ1dCBtb3N0IG9mIHRoZSBvYmplY3Rz IGFyZSBwYXJ0aXRpb25lZCBpbnRvIE4rMSBsb2dpY2FsIGludGVyZmFjZXMgYXQgdGhlIE9MVCBm b3IgZWFjaCBsYXllci4gSXQgaXMgYSBiaXQgZGlmZmVyZW50IHRoYW4gdGhlIElFRUUgbGF5ZXJp bmcgZGlhZ3JhbSB3aGljaCBwcmVzZW50IHRoZSBQMk1QIGxheWVyIGFzIGEgc2luZ2xlIGxheWVy IHdoaWxlIGR1cGxpY2F0aW5nIHRoZSBNQUMgYW5kIE1BQyBjbGllbnQgbGF5ZXJzIChQbGVhc2Ug c2VlIHRoZSBkaWFncmFtIGFib3ZlKS4gSG93ZXZlciBmcm9tIG1hbmFnZW1lbnQgcGVyc3BlY3Rp dmUgaXQgaXMgbW9yZSBjb252ZW5pZW50IGFuZCBuZWF0IHRvIHBhcnRpdGlvbiB0aGUgbWFuYWdl bWVudCBvZiB0aGUgZW50aXRpZXMgZm9yIHRoZSB2aXJ0dWFsIGxpbmtzIGFzIHRoZSBtYW5hZ2Vk IGF0b21pYyBlbnRpdHkgaXMgdGhlIHZpcnR1YWwgbGluaywgYW5kIHVzZSB0aGUgaW50ZXJmYWNl IGluZGV4IGZvciB0aGF0IHB1cnBvc2UgYXMgaXQgaXMgYWxyZWFkeSB1c2VkIGZvciB0aGUgcm93 cyBvZiB0aGUgdmlydHVhbCBsaW5rcyBhdCB0aGUgSW50ZXJmYWNlLCBNQVUgYW5kIGV0aGVyTGlr ZSBpbnRlcmZhY2VzIE1JQnMuCjwvcD4KPHA+QXMgYW4gZXhhbXBsZSBwcm92aWRlZCBiZWxvdyBh cmUgdGhlIHZhbHVlcyBmb3IgdGhlIE1QQ1AgY29udHJvbCB0YWJsZSBmb3IgYW4gT0xUIHdpdGgg MyBPTlVzIHJlZ2lzdGVyZWQ6CjwvcD48YSBuYW1lPSJBIj48L2E+Cgo8cCBzdHlsZT0ndGV4dC1h bGlnbjogY2VudGVyJz5BdCBPTlUxIGluIHdvcmtpbmcgbW9kZSwgb25lIHJvdzoKPC9wPjx0YWJs ZSBjbGFzcz0iZnVsbCIgYWxpZ249ImNlbnRlciIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMiIg Y2VsbHNwYWNpbmc9IjIiPgo8Y29sIGFsaWduPSJsZWZ0Ij48Y29sIGFsaWduPSJsZWZ0Ij4KPHRy Pjx0aCBhbGlnbj0ibGVmdCI+TVBDUCBjb250cm9sIE1JQiBvYmplY3Q8L3RoPjx0aCBhbGlnbj0i bGVmdCI+VmFsdWU8L3RoPjwvdHI+Cjx0cj4KPHRkIGFsaWduPSJsZWZ0Ij5pZkluZGV4PC90ZD4K PHRkIGFsaWduPSJsZWZ0Ij4xPC90ZD4KPC90cj4KPHRyPgo8dGQgYWxpZ249ImxlZnQiPmRvdDNN cGNwT3BlclN0YXR1czwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+dHJ1ZTwvdGQ+CjwvdHI+Cjx0cj4K PHRkIGFsaWduPSJsZWZ0Ij5kb3QzTXBjcEFkbWluU3RhdGU8L3RkPgo8dGQgYWxpZ249ImxlZnQi PnRydWU8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+ZG90M01wY3BNb2RlIDwvdGQ+ Cjx0ZCBhbGlnbj0ibGVmdCI+b251PC90ZD4KPC90cj4KPHRyPgo8dGQgYWxpZ249ImxlZnQiPmRv dDNNcGNwU3luY1RpbWU8L3RkPgo8dGQgYWxpZ249ImxlZnQiPjI1PC90ZD4KPC90cj4KPHRyPgo8 dGQgYWxpZ249ImxlZnQiPmRvdDNNcGNwTGlua0lEPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij4xPC90 ZD4KPC90cj4KPHRyPgo8dGQgYWxpZ249ImxlZnQiPmRvdDNNcGNwUmVtb3RlTUFDQWRkcmVzczwv dGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+T0xUX01BQ19BZGRyZXNzPC90ZD4KPC90cj4KPHRyPgo8dGQg YWxpZ249ImxlZnQiPmRvdDNNcGNwUmVnaXN0cmF0aW9uU3RhdGU8L3RkPgo8dGQgYWxpZ249Imxl ZnQiPnJlZ2lzdGVyZWQ8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+ZG90M01wY3BU cmFuc21pdEVsYXBzZWQ8L3RkPgo8dGQgYWxpZ249ImxlZnQiPjEwPC90ZD4KPC90cj4KPHRyPgo8 dGQgYWxpZ249ImxlZnQiPmRvdDNNcGNwUmVjZWl2ZUVsYXBzZWQ8L3RkPgo8dGQgYWxpZ249Imxl ZnQiPjEwPC90ZD4KPC90cj4KPHRyPgo8dGQgYWxpZ249ImxlZnQiPmRvdDNNcGNwUm91bmRUcmlw VGltZTwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+MTAwPC90ZD4KPC90cj4KPC90YWJsZT4KCjxwIHN0 eWxlPSd0ZXh0LWFsaWduOiBjZW50ZXInPgo8L3A+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRp bmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIGFsaWduPSJjZW50 ZXIiPjxmb250IGZhY2U9Im1vbmFjbywgTVMgU2FucyBTZXJpZiIgc2l6ZT0iMSI+PGI+Jm5ic3A7 VGFibGUgMSZuYnNwOzwvYj48L2ZvbnQ+PGJyIC8+PC90ZD48L3RyPjwvdGFibGU+PGhyIHNpemU9 IjEiIHNoYWRlPSIwIj4KPGEgbmFtZT0iQiI+PC9hPgoKPHAgc3R5bGU9J3RleHQtYWxpZ246IGNl bnRlcic+YXQgdGhlIE9MVCBpbiB3b3JraW5nIG1vZGUgdGhlIE1QQ1AgY290cm9sIG9iamVjdHMg YXNzb2NpYXRlZCB3aXRoIHRoZSB2aXJ0dWFsIGxpbmtzLCA0IHJvd3MKPC9wPjx0YWJsZSBjbGFz cz0iZnVsbCIgYWxpZ249ImNlbnRlciIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMiIgY2VsbHNw YWNpbmc9IjIiPgo8Y29sIGFsaWduPSJsZWZ0Ij48Y29sIGFsaWduPSJsZWZ0Ij48Y29sIGFsaWdu PSJsZWZ0Ij48Y29sIGFsaWduPSJsZWZ0Ij48Y29sIGFsaWduPSJsZWZ0Ij4KPHRyPjx0aCBhbGln bj0ibGVmdCI+TVBDUCBjb250cm9sIE1JQiBvYmplY3Q8L3RoPjx0aCBhbGlnbj0ibGVmdCI+VmFs dWU8L3RoPjx0aCBhbGlnbj0ibGVmdCI+VmFsdWU8L3RoPjx0aCBhbGlnbj0ibGVmdCI+VmFsdWU8 L3RoPjx0aCBhbGlnbj0ibGVmdCI+VmFsdWU8L3RoPjwvdHI+Cjx0cj4KPHRkIGFsaWduPSJsZWZ0 Ij5pZkluZGV4PC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij4xPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij4y PC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij4zPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij42NTUzNTwvdGQ+ CjwvdHI+Cjx0cj4KPHRkIGFsaWduPSJsZWZ0Ij5kb3QzTXBjcE9wZXJTdGF0dXM8L3RkPgo8dGQg YWxpZ249ImxlZnQiPnRydWU8L3RkPgo8dGQgYWxpZ249ImxlZnQiPnRydWU8L3RkPgo8dGQgYWxp Z249ImxlZnQiPnRydWU8L3RkPgo8dGQgYWxpZ249ImxlZnQiPnRydWU8L3RkPgo8L3RyPgo8dHI+ Cjx0ZCBhbGlnbj0ibGVmdCI+ZG90M01wY3BBZG1pblN0YXRlPC90ZD4KPHRkIGFsaWduPSJsZWZ0 Ij50cnVlPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij50cnVlPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij50 cnVlPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij50cnVlPC90ZD4KPC90cj4KPHRyPgo8dGQgYWxpZ249 ImxlZnQiPmRvdDNNcGNwTW9kZSA8L3RkPgo8dGQgYWxpZ249ImxlZnQiPm9sdDwvdGQ+Cjx0ZCBh bGlnbj0ibGVmdCI+b2x0PC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5vbHQ8L3RkPgo8dGQgYWxpZ249 ImxlZnQiPm9sdDwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGFsaWduPSJsZWZ0Ij5kb3QzTXBjcFN5bmNU aW1lPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij4yNTwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+MjU8L3Rk Pgo8dGQgYWxpZ249ImxlZnQiPjI1PC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij4yNTwvdGQ+CjwvdHI+ Cjx0cj4KPHRkIGFsaWduPSJsZWZ0Ij5kb3QzTXBjcExpbmtJRDwvdGQ+Cjx0ZCBhbGlnbj0ibGVm dCI+MTwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+MjwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+MzwvdGQ+ Cjx0ZCBhbGlnbj0ibGVmdCI+NjU1MzU8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+ ZG90M01wY3BSZW1vdGVNQUNBZGRyZXNzPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5PTlUxX01BQ19B ZGRyZXNzPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5PTlUyX01BQ19BZGRyZXNzPC90ZD4KPHRkIGFs aWduPSJsZWZ0Ij5PTlUzX01BQ19BZGRyZXNzPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5CUkNUX01B Q19BZGRyZXNzPC90ZD4KPC90cj4KPHRyPgo8dGQgYWxpZ249ImxlZnQiPmRvdDNNcGNwUmVnaXN0 cmF0aW9uU3RhdGU8L3RkPgo8dGQgYWxpZ249ImxlZnQiPnJlZ2lzdGVyZWQ8L3RkPgo8dGQgYWxp Z249ImxlZnQiPnJlZ2lzdGVyZWQ8L3RkPgo8dGQgYWxpZ249ImxlZnQiPnJlZ2lzdGVyZWQ8L3Rk Pgo8dGQgYWxpZ249ImxlZnQiPnJlZ2lzdGVyZWQ8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBhbGlnbj0i bGVmdCI+ZG90M01wY3BUcmFuc21pdEVsYXBzZWQ8L3RkPgo8dGQgYWxpZ249ImxlZnQiPjEwPC90 ZD4KPHRkIGFsaWduPSJsZWZ0Ij4xMDwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+MTA8L3RkPgo8dGQg YWxpZ249ImxlZnQiPjEwPC90ZD4KPC90cj4KPHRyPgo8dGQgYWxpZ249ImxlZnQiPmRvdDNNcGNw UmVjZWl2ZUVsYXBzZWQ8L3RkPgo8dGQgYWxpZ249ImxlZnQiPjEwPC90ZD4KPHRkIGFsaWduPSJs ZWZ0Ij4xMDwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+MTA8L3RkPgo8dGQgYWxpZ249ImxlZnQiPjEw PC90ZD4KPC90cj4KPHRyPgo8dGQgYWxpZ249ImxlZnQiPmRvdDNNcGNwUm91bmRUcmlwVGltZTwv dGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+MTAwPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij42MDwvdGQ+Cjx0 ZCBhbGlnbj0ibGVmdCI+MjA8L3RkPgo8dGQgYWxpZ249ImxlZnQiPjA8L3RkPgo8L3RyPgo8L3Rh YmxlPgoKPHAgc3R5bGU9J3RleHQtYWxpZ246IGNlbnRlcic+CjwvcD48dGFibGUgYm9yZGVyPSIw IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQg YWxpZ249ImNlbnRlciI+PGZvbnQgZmFjZT0ibW9uYWNvLCBNUyBTYW5zIFNlcmlmIiBzaXplPSIx Ij48Yj4mbmJzcDtUYWJsZSAyJm5ic3A7PC9iPjwvZm9udD48YnIgLz48L3RkPjwvdHI+PC90YWJs ZT48aHIgc2l6ZT0iMSIgc2hhZGU9IjAiPgoKPHA+VGhlIGNyZWF0aW9uIG9mIHRoZSByb3dzIGF0 IHRoZSBPTlUgYW5kIGF0IHRoZSBPTFQsIGZvciB0aGUgT0xUIGludGVyZmFjZSBhbmQgdGhlIGJy b2FkY2FzdCB2aXJ0dWFsIGludGVyZmFjZSBpcyBkb25lIGF0IGluaXRpYWxpemF0aW9uLiBUaGUg Y3JlYXRpb24gYW5kIGRlbGV0aW9uIG9mIHJvd3MgYXQgdGhlIE9MVCBmb3IgdGhlIHZpcnR1YWwg bGluayBpbnRlcmZhY2VzIGlzIGRvbmUgd2hlbiB0aGUgbGluayBpcyBlc3RhYmxpc2hlZCAoT05V IHJlZ2lzdGVycykgYW5kIHdoZW4gdGhlIGxpbmsgaXMgZGVsZXRlZCAoT05VIGRlcmVnaXN0ZXJz KS4KPC9wPgo8cD5BcyBhbiBleGFtcGxlLCBwcm92aWRlZCBiZWxvdyBhcmUgdGhlIHZhbHVlcyBm b3IgdGhlIE1QQ1AgY29udHJvbCB0YWJsZSBhZnRlciBpbml0aWFsaXphdGlvbjoKPC9wPjxhIG5h bWU9IkMiPjwvYT4KCjxwIHN0eWxlPSd0ZXh0LWFsaWduOiBjZW50ZXInPkF0IE9OVTEgaW4gd29y a2luZyBtb2RlLCBvbmUgcm93Ogo8L3A+PHRhYmxlIGNsYXNzPSJmdWxsIiBhbGlnbj0iY2VudGVy IiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMiI+Cjxjb2wgYWxpZ249 ImxlZnQiPjxjb2wgYWxpZ249ImxlZnQiPgo8dHI+PHRoIGFsaWduPSJsZWZ0Ij5NUENQIGNvbnRy b2wgTUlCIG9iamVjdDwvdGg+PHRoIGFsaWduPSJsZWZ0Ij5WYWx1ZTwvdGg+PC90cj4KPHRyPgo8 dGQgYWxpZ249ImxlZnQiPmlmSW5kZXg8L3RkPgo8dGQgYWxpZ249ImxlZnQiPjE8L3RkPgo8L3Ry Pgo8dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+ZG90M01wY3BPcGVyU3RhdHVzPC90ZD4KPHRkIGFsaWdu PSJsZWZ0Ij50cnVlPC90ZD4KPC90cj4KPHRyPgo8dGQgYWxpZ249ImxlZnQiPmRvdDNNcGNwQWRt aW5TdGF0ZTwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+dHJ1ZTwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGFs aWduPSJsZWZ0Ij5kb3QzTXBjcE1vZGUgPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5vbnU8L3RkPgo8 L3RyPgo8dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+ZG90M01wY3BTeW5jVGltZTwvdGQ+Cjx0ZCBhbGln bj0ibGVmdCI+MDwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGFsaWduPSJsZWZ0Ij5kb3QzTXBjcExpbmtJ RDwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+MDwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGFsaWduPSJsZWZ0 Ij5kb3QzTXBjcFJlbW90ZU1BQ0FkZHJlc3M8L3RkPgo8dGQgYWxpZ249ImxlZnQiPjAwPC90ZD4K PC90cj4KPHRyPgo8dGQgYWxpZ249ImxlZnQiPmRvdDNNcGNwUmVnaXN0cmF0aW9uU3RhdGU8L3Rk Pgo8dGQgYWxpZ249ImxlZnQiPnVucmVnaXN0ZXJlZDwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGFsaWdu PSJsZWZ0Ij5kb3QzTXBjcFRyYW5zbWl0RWxhcHNlZDwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+MDwv dGQ+CjwvdHI+Cjx0cj4KPHRkIGFsaWduPSJsZWZ0Ij5kb3QzTXBjcFJlY2VpdmVFbGFwc2VkPC90 ZD4KPHRkIGFsaWduPSJsZWZ0Ij4wPC90ZD4KPC90cj4KPHRyPgo8dGQgYWxpZ249ImxlZnQiPmRv dDNNcGNwUm91bmRUcmlwVGltZTwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+MDwvdGQ+CjwvdHI+Cjwv dGFibGU+Cgo8cCBzdHlsZT0ndGV4dC1hbGlnbjogY2VudGVyJz4KPC9wPjx0YWJsZSBib3JkZXI9 IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgYWxpZ249ImNlbnRlciI+PHRyPjx0 ZCBhbGlnbj0iY2VudGVyIj48Zm9udCBmYWNlPSJtb25hY28sIE1TIFNhbnMgU2VyaWYiIHNpemU9 IjEiPjxiPiZuYnNwO1RhYmxlIDMmbmJzcDs8L2I+PC9mb250PjxiciAvPjwvdGQ+PC90cj48L3Rh YmxlPjxociBzaXplPSIxIiBzaGFkZT0iMCI+CjxhIG5hbWU9IkQiPjwvYT4KCjxwIHN0eWxlPSd0 ZXh0LWFsaWduOiBjZW50ZXInPmF0IHRoZSBPTFQgaW4gd29ya2luZyBtb2RlIHRoZSBNUENQIGNv dHJvbCBvYmplY3RzIGFzc29jaWF0ZWQgd2l0aCB0aGUgdmlydHVhbCBsaW5rcywgb25lIHJvdzoK PC9wPjx0YWJsZSBjbGFzcz0iZnVsbCIgYWxpZ249ImNlbnRlciIgYm9yZGVyPSIwIiBjZWxscGFk ZGluZz0iMiIgY2VsbHNwYWNpbmc9IjIiPgo8Y29sIGFsaWduPSJsZWZ0Ij48Y29sIGFsaWduPSJs ZWZ0Ij4KPHRyPjx0aCBhbGlnbj0ibGVmdCI+TVBDUCBjb250cm9sIE1JQiBvYmplY3Q8L3RoPjx0 aCBhbGlnbj0ibGVmdCI+VmFsdWU8L3RoPjwvdHI+Cjx0cj4KPHRkIGFsaWduPSJsZWZ0Ij5pZklu ZGV4PC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij42NTUzNTwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGFsaWdu PSJsZWZ0Ij5kb3QzTXBjcE9wZXJTdGF0dXM8L3RkPgo8dGQgYWxpZ249ImxlZnQiPnRydWU8L3Rk Pgo8L3RyPgo8dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+ZG90M01wY3BBZG1pblN0YXRlPC90ZD4KPHRk IGFsaWduPSJsZWZ0Ij50cnVlPC90ZD4KPC90cj4KPHRyPgo8dGQgYWxpZ249ImxlZnQiPmRvdDNN cGNwTW9kZSA8L3RkPgo8dGQgYWxpZ249ImxlZnQiPm9sdDwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGFs aWduPSJsZWZ0Ij5kb3QzTXBjcFN5bmNUaW1lPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij4yNTwvdGQ+ CjwvdHI+Cjx0cj4KPHRkIGFsaWduPSJsZWZ0Ij5kb3QzTXBjcExpbmtJRDwvdGQ+Cjx0ZCBhbGln bj0ibGVmdCI+NjU1MzU8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+ZG90M01wY3BS ZW1vdGVNQUNBZGRyZXNzPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5CUkNUX01BQ19BZGRyZXNzPC90 ZD4KPC90cj4KPHRyPgo8dGQgYWxpZ249ImxlZnQiPmRvdDNNcGNwUmVnaXN0cmF0aW9uU3RhdGU8 L3RkPgo8dGQgYWxpZ249ImxlZnQiPnJlZ2lzdGVyZWQ8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBhbGln bj0ibGVmdCI+ZG90M01wY3BUcmFuc21pdEVsYXBzZWQ8L3RkPgo8dGQgYWxpZ249ImxlZnQiPjEw PC90ZD4KPC90cj4KPHRyPgo8dGQgYWxpZ249ImxlZnQiPmRvdDNNcGNwUmVjZWl2ZUVsYXBzZWQ8 L3RkPgo8dGQgYWxpZ249ImxlZnQiPjEwMDAwMDwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGFsaWduPSJs ZWZ0Ij5kb3QzTXBjcFJvdW5kVHJpcFRpbWU8L3RkPgo8dGQgYWxpZ249ImxlZnQiPjA8L3RkPgo8 L3RyPgo8L3RhYmxlPgoKPHAgc3R5bGU9J3RleHQtYWxpZ246IGNlbnRlcic+CjwvcD48dGFibGUg Ym9yZGVyPSIwIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGFsaWduPSJjZW50ZXIi Pjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGZvbnQgZmFjZT0ibW9uYWNvLCBNUyBTYW5zIFNlcmlm IiBzaXplPSIxIj48Yj4mbmJzcDtUYWJsZSA0Jm5ic3A7PC9iPjwvZm9udD48YnIgLz48L3RkPjwv dHI+PC90YWJsZT48aHIgc2l6ZT0iMSIgc2hhZGU9IjAiPgoKPHA+VGhlIGV4YW1wbGUgYWJvdmUg c2hvd3MgdGhlIE1QQ1AgY29udHJvbCBvYmplY3RzIHdoZW4gMyBPTlVzIGFyZSByZWdpc3RlcmVk LiBDcmVhdGlvbiBvZiByb3dzIGZvciB0aGUgSW50ZXJmYWNlLCBNQVUgYW5kIGV0aGVyTGlrZSBp bnRlcmZhY2VzIE1JQnMgaXMgcXVpdGUgc2ltaWxhci4gUGxlYXNlIHNlZSB0aGUgZXhhbXBsZSBp biBzZWN0aW9uIDMuCjwvcD4KPGEgbmFtZT0iYW5jaG9yMTIiPjwvYT48YnIgLz48aHIgLz4KPHRh YmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFz cz0iYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9ImJ1ZyI+PGEgaHJlZj0iI3RvYyIg Y2xhc3M9ImxpbmsyIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+CjxhIG5h bWU9InJmYy5zZWN0aW9uLjIiPjwvYT48aDM+Mi4mbmJzcDtNSUIgc3RydWN0dXJlPC9oMz4KCjxw PlRoaXMgZG9jdW1lbnQgZGVmaW5lcyB0aGUgRE9UMyBFUE9OIE1JQiBtb2R1bGUuClRoZSBET1Qz IEVQT04gTUlCIG1vZHVsZSBkZWZpbmVzIHRoZSBvYmplY3RzIHVzZWQgZm9yIGNvbmZpZ3VyYXRp b24gYW5kCmRlc2NyaXB0aW9uIG9mIHRoZSA8YSBjbGFzcz0iaW5mbyIgaHJlZj0iIzgwMi4zYWgi Pls4MDIuM2FoXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSJpbmZvIj5JRUVFLCAmbGRxdW87 SW5zdGl0dXRlIG9mIEVsZWN0cmljYWwgYW5kIEVsZWN0cm9uaWMgRW5naW5lZXJzLCBJRUVFIFN0 ZCAgICAgICAgIDgwMi4zYWgtMjAwNC4gSW5mb3JtYXRpb24gdGVjaG5vbG9neSAtIFRlbGVjb21t dW5pY2F0aW9ucyBhbmQgICAgICAgICBpbmZvcm1hdGlvbiBleGNoYW5nZSBiZXR3ZWVuIHN5c3Rl bXMgLSBMb2NhbCBhbmQgICAgICAgICBtZXRyb3BvbGl0YW4gYXJlYSBuZXR3b3JrcyAtIFNwZWNp ZmljIHJlcXVpcmVtZW50cyAtICAgICAgICAgUGFydCAzOiBDYXJyaWVyIHNlbnNlIG11bHRpcGxl IGFjY2VzcyB3aXRoIGNvbGxpc2lvbiAgICAgICAgIGRldGVjdGlvbiAoQ1NNQS9DRCkgYWNjZXNz IG1ldGhvZCBhbmQgcGh5c2ljYWwgbGF5ZXIgICAgICAgICBzcGVjaWZpY2F0aW9ucyAtIE1lZGlh IEFjY2VzcyBDb250cm9sIFBhcmFtZXRlcnMsIFBoeXNpY2FsICAgICAgICAgTGF5ZXJzIGFuZCBN YW5hZ2VtZW50IFBhcmFtZXRlcnMgZm9yIHN1YnNjcmliZXIgYWNjZXNzICAgICAgICAgbmV0d29y a3MsJnJkcXVvOyBPY3RvYmVyJm5ic3A7MjAwNC48L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+IFBv aW50IHRvIE11bHRpcG9pbnQgKFAyTVApIHNlY3Rpb24uClRoZXNlIE1JQiBtb2R1bGUgb2JqZWN0 cyBhcmUgaW5jbHVkZWQgaW4gZm91ciBNSUIgbW9kdWxlIGdyb3Vwcy4KPC9wPgo8cD5UaGUgTXVs dGktUG9pbnQgQ29udHJvbCBQcm90b2NvbCAoTVBDUCkgTUlCIG9iamVjdHMgLSBNSUIgb2JqZWN0 cyByZWxhdGVkIHRvIDxhIGNsYXNzPSJpbmZvIiBocmVmPSIjODAyLjNhaCI+WzgwMi4zYWhdPHNw YW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9ImluZm8iPklFRUUsICZsZHF1bztJbnN0aXR1dGUgb2Yg RWxlY3RyaWNhbCBhbmQgRWxlY3Ryb25pYyBFbmdpbmVlcnMsIElFRUUgU3RkICAgICAgICAgODAy LjNhaC0yMDA0LiBJbmZvcm1hdGlvbiB0ZWNobm9sb2d5IC0gVGVsZWNvbW11bmljYXRpb25zIGFu ZCAgICAgICAgIGluZm9ybWF0aW9uIGV4Y2hhbmdlIGJldHdlZW4gc3lzdGVtcyAtIExvY2FsIGFu ZCAgICAgICAgIG1ldHJvcG9saXRhbiBhcmVhIG5ldHdvcmtzIC0gU3BlY2lmaWMgcmVxdWlyZW1l bnRzIC0gICAgICAgICBQYXJ0IDM6IENhcnJpZXIgc2Vuc2UgbXVsdGlwbGUgYWNjZXNzIHdpdGgg Y29sbGlzaW9uICAgICAgICAgZGV0ZWN0aW9uIChDU01BL0NEKSBhY2Nlc3MgbWV0aG9kIGFuZCBw aHlzaWNhbCBsYXllciAgICAgICAgIHNwZWNpZmljYXRpb25zIC0gTWVkaWEgQWNjZXNzIENvbnRy b2wgUGFyYW1ldGVycywgUGh5c2ljYWwgICAgICAgICBMYXllcnMgYW5kIE1hbmFnZW1lbnQgUGFy YW1ldGVycyBmb3Igc3Vic2NyaWJlciBhY2Nlc3MgICAgICAgICBuZXR3b3JrcywmcmRxdW87IE9j dG9iZXImbmJzcDsyMDA0Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4gY2xhdXNlIDY0IE11bHRp IFBvaW50IENvbnRyb2wgUHJvdG9jb2wgYXR0cmlidXRlcy4gSW4gdGhpcyBNSUIgbW9kdWxlIGdy b3VwOgpUaGUgZG90M01wY3BDb250cm9sVGFibGUgZGVmaW5lcyB0aGUgb2JqZWN0cyB1c2VkIGZv ciB0aGUgY29uZmlndXJhdGlvbiBhbmQKc3RhdHVzIGluZGljYXRpb24sIHdoaWNoIGFyZSBwZXIg bG9naWNhbCBsaW5rLCBvZiBNUENQIGxheWVyICg8YSBjbGFzcz0iaW5mbyIgaHJlZj0iIzgwMi4z YWgiPls4MDIuM2FoXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSJpbmZvIj5JRUVFLCAmbGRx dW87SW5zdGl0dXRlIG9mIEVsZWN0cmljYWwgYW5kIEVsZWN0cm9uaWMgRW5naW5lZXJzLCBJRUVF IFN0ZCAgICAgICAgIDgwMi4zYWgtMjAwNC4gSW5mb3JtYXRpb24gdGVjaG5vbG9neSAtIFRlbGVj b21tdW5pY2F0aW9ucyBhbmQgICAgICAgICBpbmZvcm1hdGlvbiBleGNoYW5nZSBiZXR3ZWVuIHN5 c3RlbXMgLSBMb2NhbCBhbmQgICAgICAgICBtZXRyb3BvbGl0YW4gYXJlYSBuZXR3b3JrcyAtIFNw ZWNpZmljIHJlcXVpcmVtZW50cyAtICAgICAgICAgUGFydCAzOiBDYXJyaWVyIHNlbnNlIG11bHRp cGxlIGFjY2VzcyB3aXRoIGNvbGxpc2lvbiAgICAgICAgIGRldGVjdGlvbiAoQ1NNQS9DRCkgYWNj ZXNzIG1ldGhvZCBhbmQgcGh5c2ljYWwgbGF5ZXIgICAgICAgICBzcGVjaWZpY2F0aW9ucyAtIE1l ZGlhIEFjY2VzcyBDb250cm9sIFBhcmFtZXRlcnMsIFBoeXNpY2FsICAgICAgICAgTGF5ZXJzIGFu ZCBNYW5hZ2VtZW50IFBhcmFtZXRlcnMgZm9yIHN1YnNjcmliZXIgYWNjZXNzICAgICAgICAgbmV0 d29ya3MsJnJkcXVvOyBPY3RvYmVyJm5ic3A7MjAwNC48L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+ IE11bHRpLVBvaW50IENvbnRyb2wgUHJvdG9jb2wpIGNvbXBsaWFudCBpbnRlcmZhY2VzLiAKVGhl IGRvdDNNcGNwU3RhdFRhYmxlIGRlZmluZXMgdGhlIHN0YXRpc3RpY3Mgb2JqZWN0cywgd2hpY2gg YXJlIHBlciBsb2dpY2FsIGxpbmssIGZvciBNUENQIGNvbXBsaWFudCBpbnRlcmZhY2VzLgoKPC9w Pgo8cD5UaGUgT01QRW11bGF0aW9uIE1JQiBvYmplY3RzIC0gTUlCIG1vZHVsZSByZWxhdGVkIHRv IDxhIGNsYXNzPSJpbmZvIiBocmVmPSIjODAyLjNhaCI+WzgwMi4zYWhdPHNwYW4+ICg8L3NwYW4+ PHNwYW4gY2xhc3M9ImluZm8iPklFRUUsICZsZHF1bztJbnN0aXR1dGUgb2YgRWxlY3RyaWNhbCBh bmQgRWxlY3Ryb25pYyBFbmdpbmVlcnMsIElFRUUgU3RkICAgICAgICAgODAyLjNhaC0yMDA0LiBJ bmZvcm1hdGlvbiB0ZWNobm9sb2d5IC0gVGVsZWNvbW11bmljYXRpb25zIGFuZCAgICAgICAgIGlu Zm9ybWF0aW9uIGV4Y2hhbmdlIGJldHdlZW4gc3lzdGVtcyAtIExvY2FsIGFuZCAgICAgICAgIG1l dHJvcG9saXRhbiBhcmVhIG5ldHdvcmtzIC0gU3BlY2lmaWMgcmVxdWlyZW1lbnRzIC0gICAgICAg ICBQYXJ0IDM6IENhcnJpZXIgc2Vuc2UgbXVsdGlwbGUgYWNjZXNzIHdpdGggY29sbGlzaW9uICAg ICAgICAgZGV0ZWN0aW9uIChDU01BL0NEKSBhY2Nlc3MgbWV0aG9kIGFuZCBwaHlzaWNhbCBsYXll ciAgICAgICAgIHNwZWNpZmljYXRpb25zIC0gTWVkaWEgQWNjZXNzIENvbnRyb2wgUGFyYW1ldGVy cywgUGh5c2ljYWwgICAgICAgICBMYXllcnMgYW5kIE1hbmFnZW1lbnQgUGFyYW1ldGVycyBmb3Ig c3Vic2NyaWJlciBhY2Nlc3MgICAgICAgICBuZXR3b3JrcywmcmRxdW87IE9jdG9iZXImbmJzcDsy MDA0Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4gY2xhdXNlCjY1IHBvaW50IHRvIHBvaW50IGVt dWxhdGlvbiBhdHRyaWJ1dGVzLiBJbiB0aGlzIE1JQiBtb2R1bGUgZ3JvdXA6ClRoZSBkb3QzT21w RW11bGF0aW9uVGFibGUgZGVmaW5lcyB0aGUgb2JqZWN0cyB1c2VkIGZvciB0aGUKY29uZmlndXJh dGlvbnMgYW5kIHN0YXR1cyBpbmRpY2F0aW9ucyB3aGljaCBhcmUgcGVyIGxvZ2ljYWwgbGluaywg b2YgT01QRW11bGF0aW9uIGNvbXBsaWFudCBpbnRlcmZhY2VzLgpUaGUgZG90M09tcEVtdWxhdGlv blN0YXRUYWJsZSBkZWZpbmVzIHRoZSBzdGF0aXN0aWNzIG9iamVjdHMsIHdoaWNoIGFyZSBwZXIg bG9naWNhbCBsaW5rLCBmb3IgT01QRW11bGF0aW9uIGNvbXBsaWFudCBpbnRlcmZhY2VzLgoKPC9w Pgo8cD5UaGUgRkVDIE1JQiBtb2R1bGUgb2JqZWN0cyAtCm1hbmFnZWQgb2JqZWN0IHJlbGF0ZWQg dG8gPGEgY2xhc3M9ImluZm8iIGhyZWY9IiM4MDIuM2FoIj5bODAyLjNhaF08c3Bhbj4gKDwvc3Bh bj48c3BhbiBjbGFzcz0iaW5mbyI+SUVFRSwgJmxkcXVvO0luc3RpdHV0ZSBvZiBFbGVjdHJpY2Fs IGFuZCBFbGVjdHJvbmljIEVuZ2luZWVycywgSUVFRSBTdGQgICAgICAgICA4MDIuM2FoLTIwMDQu IEluZm9ybWF0aW9uIHRlY2hub2xvZ3kgLSBUZWxlY29tbXVuaWNhdGlvbnMgYW5kICAgICAgICAg aW5mb3JtYXRpb24gZXhjaGFuZ2UgYmV0d2VlbiBzeXN0ZW1zIC0gTG9jYWwgYW5kICAgICAgICAg bWV0cm9wb2xpdGFuIGFyZWEgbmV0d29ya3MgLSBTcGVjaWZpYyByZXF1aXJlbWVudHMgLSAgICAg ICAgIFBhcnQgMzogQ2FycmllciBzZW5zZSBtdWx0aXBsZSBhY2Nlc3Mgd2l0aCBjb2xsaXNpb24g ICAgICAgICBkZXRlY3Rpb24gKENTTUEvQ0QpIGFjY2VzcyBtZXRob2QgYW5kIHBoeXNpY2FsIGxh eWVyICAgICAgICAgc3BlY2lmaWNhdGlvbnMgLSBNZWRpYSBBY2Nlc3MgQ29udHJvbCBQYXJhbWV0 ZXJzLCBQaHlzaWNhbCAgICAgICAgIExheWVycyBhbmQgTWFuYWdlbWVudCBQYXJhbWV0ZXJzIGZv ciBzdWJzY3JpYmVyIGFjY2VzcyAgICAgICAgIG5ldHdvcmtzLCZyZHF1bzsgT2N0b2JlciZuYnNw OzIwMDQuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPiBjbGF1c2UgNjAgYW5kIGNsYXVzZSA2NSBF UE9OIEZFQyBhdHRyaWJ1dGVzLgpUaGUgZG90M0Vwb25GZWNUYWJsZSBkZWZpbmVzIHRoZSBvYmpl Y3RzIHVzZWQgZm9yIHRoZSBjb25maWd1cmF0aW9ucwphbmQgc3RhdHVzIGluZGljYXRpb25zLCB3 aGljaCBhcmUgcGVyIGxvZ2ljYWwgbGluaywgb2YgRkVDIEVQT04gY29tcGxpYW50IGludGVyZmFj ZXMuCjwvcD4KPHA+IDxiciAvPgo8YnIgLz4KClRoZSBFUE9OIGV4dGVuZGVkIHBhY2thZ2UgTUlC IG9iamVjdHMgZGVmaW5pbmcgdGhlIG9iamVjdHMgdXNlZCBmb3IgY29uZmlndXJhdGlvbiBhbmQK ZGVzY3JpcHRpb24gb2YgbWFuYWdlbWVudCBvYmplY3RzIGZvciBleHRlbmRlZCBjYXBhYmlsaXRp ZXMgb2YgdGhlIEVQT04gaW50ZXJmYWNlcy4KVGhlIGRvdDNFeHRQa2dDb250cm9sVGFibGUgZGVm aW5lcyB0aGUgZXh0ZW5kZWQgcGFja2FnZSBvYmplY3RzLCB3aGljaCBhcmUgcGVyIGxvZ2ljYWwg bGluaywgdXNlZCBmb3IgdGhlIGNvbmZpZ3VyYXRpb24gYW5kIHN0YXR1cyBpbmRpY2F0aW9uIG9m IHRoZSBFUE9OIGludGVyZmFjZXMuClRoZSBkb3QzRXh0UGtnUXVldWVUYWJsZSBkZWZpbmVzIHRo ZSBleHRlbmRlZCBwYWNrYWdlIG9iamVjdHMsIHdoaWNoIGFyZSBwZXIgbG9naWNhbCBsaW5rLCBh bmQgcGVyIFJFUE9SVCBxdWV1ZSB1c2VkIGZvciB0aGUgY29uZmlndXJhdGlvbiBhbmQgc3RhdHVz IGluZGljYXRpb24gb2YgdGhlIE9OVSBxdWV1ZXMgcmVwb3J0ZWQgYXQgdGhlIE1QQ1AgUkVQT1JU IG1lc3NhZ2Ugb2YgdGhlIEVQT04gaW50ZXJmYWNlcy4KClRoZSBkb3QzRXh0UGtnUXVldWVTZXRz VGFibGUgZGVmaW5lcyB0aGUgZXh0ZW5kZWQgcGFja2FnZSBvYmplY3RzLCB3aGljaCBhcmUgcGVy IGxvZ2ljYWwgbGluayBwZXIgUkVQT1JUIHF1ZXVlLCBhbmQgcGVyIHF1ZXVlX3NldCB1c2VkIGZv ciB0aGUgY29uZmlndXJhdGlvbiBhbmQgc3RhdHVzIGluZGljYXRpb24gb2YgdGhlIE9OVSBxdWV1 ZV9zZXRzIHJlcG9ydGVkIGF0IHRoZSBNUENQIFJFUE9SVCBtZXNzYWdlIG9mIHRoZSBFUE9OIGlu dGVyZmFjZXMuCgpUaGUgZG90M0V4dFBrZ09wdElmVGFibGUgZGVmaW5lcyB0aGUgZXh0ZW5kZWQg cGFja2FnZSBvYmplY3RzLCB3aGljaCBhcmUgcGVyIGxvZ2ljYWwgbGluaywgdXNlZCBmb3IgdGhl IGNvbnRyb2wgYW5kIHN0YXR1cyBpbmRpY2F0aW9uIG9mIHRoZSBvcHRpY2FsIGludGVyZmFjZXMg b2YgdGhlIEVQT04gaW50ZXJmYWNlcy4KCjwvcD4KPGEgbmFtZT0iYW5jaG9yMTMiPjwvYT48YnIg Lz48aHIgLz4KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFj aW5nPSIyIiBjbGFzcz0iYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9ImJ1ZyI+PGEg aHJlZj0iI3RvYyIgY2xhc3M9ImxpbmsyIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwv dGFibGU+CjxhIG5hbWU9InJmYy5zZWN0aW9uLjMiPjwvYT48aDM+My4mbmJzcDtSZWxhdGlvbiB0 byBvdGhlciBNSUIgTW9kdWxlczwvaDM+Cgo8YSBuYW1lPSJhbmNob3IxNCI+PC9hPjxiciAvPjxo ciAvPgo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9 IjIiIGNsYXNzPSJidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iYnVnIj48YSBocmVm PSIjdG9jIiBjbGFzcz0ibGluazIiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJs ZT4KPGEgbmFtZT0icmZjLnNlY3Rpb24uMy4xIj48L2E+PGgzPjMuMS4mbmJzcDtSZWxhdGlvbiB0 byB0aGUgSW50ZXJmYWNlcyBNSUIgYW5kIEV0aGVybmV0LWxpa2UgSW50ZXJmYWNlcyBNSUI8L2gz PgoKPHA+CkVQT04gaW50ZXJmYWNlcyBhcmUgYSB0eXBlIG9mIEV0aGVyLWxpa2UgaW50ZXJmYWNl LiBUaGlzIG1vZHVsZSBleHRlbmRzIHRoZSBvYmplY3RzIG9mIHRoZSAKRWh0ZXItbGlrZSBpbnRl cmZhY2VzIG1hbmFnZW1lbnQgZm9yIHRoZSBFUE9OIHR5cGUgaW50ZXJmYWNlcy4gVGh1cywgZWFj aCBtYW5hZ2VkIEVQT04gaW50ZXJmYWNlIHdvdWxkIGhhdmUgYSBjb3JyZXNwb25kaW5nIGVudHJ5 IGluIHRoZSBtYW5kYXRvcnkgdGFibGVzIG9mIHRoZSBFdGhlci1saWtlIE1JQiBtb2R1bGUgZm91 bmQgaW4gPGEgY2xhc3M9ImluZm8iIGhyZWY9IiNSRkMzNjM1Ij5bUkZDMzYzNV08c3Bhbj4gKDwv c3Bhbj48c3BhbiBjbGFzcz0iaW5mbyI+RmxpY2ssIEouLCAmbGRxdW87RGVmaW5pdGlvbnMgb2Yg TWFuYWdlZCBPYmplY3RzIGZvciB0aGUgRXRoZXJuZXQtbGlrZSBJbnRlcmZhY2UgVHlwZXMsJnJk cXVvOyBTZXB0ZW1iZXImbmJzcDsyMDAzLjwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4sIGFuZCBs aWtld2lzZSBpbiB0aGUgdGFibGVzIGZyb20gdGhlIEludGVyZmFjZSBNSUIgbW9kdWxlIGZvdW5k IGluIDxhIGNsYXNzPSJpbmZvIiBocmVmPSIjUkZDMjg2MyI+W1JGQzI4NjNdPHNwYW4+ICg8L3Nw YW4+PHNwYW4gY2xhc3M9ImluZm8iPk1jQ2xvZ2hyaWUsIEsuIGFuZCBGLiBLYXN0ZW5ob2x6LCAm bGRxdW87VGhlIEludGVyZmFjZXMgR3JvdXAgTUlCLCZyZHF1bzsgSnVuZSZuYnNwOzIwMDAuPC9z cGFuPjxzcGFuPik8L3NwYW4+PC9hPi4gQWxzbyBlYWNoIG1hbmFnZWQgdmlydHVhbCBFUE9OIGlu dGVyZmFjZSBkZWZpbmVkIGJ5IHRoZSB2aXJ0dWFsIGxpbmsgYXQgdGhlIE9MVCB3b3VsZCBoYXZl IGEgY29ycmVzcG9uZGluZyBlbnRyeSBpbiB0aGUgbWFuZGF0b3J5IHRhYmxlcyBvZiB0aGUgRXRo ZXItbGlrZSBNSUIgbW9kdWxlIGZvdW5kIGluIDxhIGNsYXNzPSJpbmZvIiBocmVmPSIjUkZDMzYz NSI+W1JGQzM2MzVdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9ImluZm8iPkZsaWNrLCBKLiwg JmxkcXVvO0RlZmluaXRpb25zIG9mIE1hbmFnZWQgT2JqZWN0cyBmb3IgdGhlIEV0aGVybmV0LWxp a2UgSW50ZXJmYWNlIFR5cGVzLCZyZHF1bzsgU2VwdGVtYmVyJm5ic3A7MjAwMy48L3NwYW4+PHNw YW4+KTwvc3Bhbj48L2E+LCBhbmQgbGlrZXdpc2UgaW4gdGhlIHRhYmxlcyBmcm9tIHRoZSBJbnRl cmZhY2UgTUlCIG1vZHVsZSBmb3VuZCBpbiA8YSBjbGFzcz0iaW5mbyIgaHJlZj0iI1JGQzI4NjMi PltSRkMyODYzXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSJpbmZvIj5NY0Nsb2docmllLCBL LiBhbmQgRi4gS2FzdGVuaG9seiwgJmxkcXVvO1RoZSBJbnRlcmZhY2VzIEdyb3VwIE1JQiwmcmRx dW87IEp1bmUmbmJzcDsyMDAwLjwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4gd2l0aCBhIGRlZGlj YXRlZCBpZkluZGV4Lgo8L3A+CjxwPlRoZXJlIGlzIG5vIHJlcGxpY2F0aW9uIG9mIHRoZSBvYmpl Y3RzIGZyb20gdGhlc2UgUkZDcywgc28gZm9yIGluc3RhbmNlIHRoZSBkb2N1bWVudCBpcyBkZWZp bmluZyBkb3QzTXBjcFJlbW90ZU1BQ0FkZHJlc3Mgb25seSB3aGlsZSBhc3N1bWluZyB0aGUgbG9j YWwgTUFDIGFkZHJlc3MgYXR0cmlidXRlIGlzIGFscmVhZHkgZGVmaW5lZCBpbiA8YSBjbGFzcz0i aW5mbyIgaHJlZj0iI1JGQzM2MzUiPltSRkMzNjM1XTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNz PSJpbmZvIj5GbGljaywgSi4sICZsZHF1bztEZWZpbml0aW9ucyBvZiBNYW5hZ2VkIE9iamVjdHMg Zm9yIHRoZSBFdGhlcm5ldC1saWtlIEludGVyZmFjZSBUeXBlcywmcmRxdW87IFNlcHRlbWJlciZu YnNwOzIwMDMuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPgo8L3A+CjxwPgpJbnRlcmZhY2UgSW5k ZXhlcyBhcyBzcGVjaWZpZWQgaW4gPGEgY2xhc3M9ImluZm8iIGhyZWY9IiNSRkMyODYzIj5bUkZD Mjg2M108c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0iaW5mbyI+TWNDbG9naHJpZSwgSy4gYW5k IEYuIEthc3RlbmhvbHosICZsZHF1bztUaGUgSW50ZXJmYWNlcyBHcm91cCBNSUIsJnJkcXVvOyBK dW5lJm5ic3A7MjAwMC48L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+IGFyZSB1c2VkIGluIHRoZXNl IE1JQiBNb2R1bGVzLiAgVGhlIGRlc2NyaXB0aW9ucyBvZiB0aGUgaWZJbmRleGVzIGRlbm90ZSB3 aGljaCBpZkluZGV4IGlzIGJlaW5nIHVzZWQuICBUaGUgdXNlIG9mIGlmSW5kZXggaXMgZm9yIGFj dHVhbCBleGlzdGluZyBjb25uZWN0aW9ucyBhbmQgZm9yIHRoZSB2aXJ0dWFsIGxpbmtzIGF0IHRo ZSBPTFQuIFRoZSBPTFQgaW50ZXJmYWNlIGFuZCB0aGUgdmlydHVhbCBsaW5rIGludGVyZmFjZXMg YXJlIHN0YWNrZWQgdXNpbmcgdGhlIGlmU3RhY2sgdGFibGUgc3BlY2lmaWVkIGF0IDxhIGNsYXNz PSJpbmZvIiBocmVmPSIjUkZDMjg2MyI+W1JGQzI4NjNdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xh c3M9ImluZm8iPk1jQ2xvZ2hyaWUsIEsuIGFuZCBGLiBLYXN0ZW5ob2x6LCAmbGRxdW87VGhlIElu dGVyZmFjZXMgR3JvdXAgTUlCLCZyZHF1bzsgSnVuZSZuYnNwOzIwMDAuPC9zcGFuPjxzcGFuPik8 L3NwYW4+PC9hPiBhbmQgdGhlIGlmSW52U3RhY2sgZGVmaW5lZCBpbiA8YSBjbGFzcz0iaW5mbyIg aHJlZj0iI1JGQzI4NjQiPltSRkMyODY0XTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSJpbmZv Ij5NY0Nsb2docmllLCBLLiBhbmQgRy4gSGFuc29uLCAmbGRxdW87VGhlIEludmVydGVkIFN0YWNr IFRhYmxlIEV4dGVuc2lvbiB0byB0aGUgSW50ZXJmYWNlcyBHcm91cCBNSUIsJnJkcXVvOyBKdW5l Jm5ic3A7MjAwMC48L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+LiBBdCB0aGUgT0xUIHRoZSBPTFQg aW50ZXJmYWNlIGFuZCB0aGUgdmlydHVhbCBsaW5rcyBhc3NvY2lhdGVkIHdpdGggaXQgYXJlIHN0 YWNrZWQgYXMgdGhlIE9MVCBpbnRlcmZhY2UgaXMgdGhlIGhpZ2hlciBsYXllciBvZiBhbGwgb3Ro ZXIgaW50ZXJmYWNlcyByZWxhdGVkIHRvIHRoZSB2aXJ0dWFsIGxpbmtzLgoKPC9wPgo8cD5JbiB0 aGlzIE1JQiBtb2R1bGUgdGhlIGludGVyZmFjZSByZWZlcnJlZCB0byBpcyB0aGUgT0xUIGludGVy ZmFjZSBhbmQgdGhlIHN1Yi1sYXllcnMgZGVmaW5lZCBpbiB0aGUgPGEgY2xhc3M9ImluZm8iIGhy ZWY9IiM4MDIuM2FoIj5bODAyLjNhaF08c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0iaW5mbyI+ SUVFRSwgJmxkcXVvO0luc3RpdHV0ZSBvZiBFbGVjdHJpY2FsIGFuZCBFbGVjdHJvbmljIEVuZ2lu ZWVycywgSUVFRSBTdGQgICAgICAgICA4MDIuM2FoLTIwMDQuIEluZm9ybWF0aW9uIHRlY2hub2xv Z3kgLSBUZWxlY29tbXVuaWNhdGlvbnMgYW5kICAgICAgICAgaW5mb3JtYXRpb24gZXhjaGFuZ2Ug YmV0d2VlbiBzeXN0ZW1zIC0gTG9jYWwgYW5kICAgICAgICAgbWV0cm9wb2xpdGFuIGFyZWEgbmV0 d29ya3MgLSBTcGVjaWZpYyByZXF1aXJlbWVudHMgLSAgICAgICAgIFBhcnQgMzogQ2FycmllciBz ZW5zZSBtdWx0aXBsZSBhY2Nlc3Mgd2l0aCBjb2xsaXNpb24gICAgICAgICBkZXRlY3Rpb24gKENT TUEvQ0QpIGFjY2VzcyBtZXRob2QgYW5kIHBoeXNpY2FsIGxheWVyICAgICAgICAgc3BlY2lmaWNh dGlvbnMgLSBNZWRpYSBBY2Nlc3MgQ29udHJvbCBQYXJhbWV0ZXJzLCBQaHlzaWNhbCAgICAgICAg IExheWVycyBhbmQgTWFuYWdlbWVudCBQYXJhbWV0ZXJzIGZvciBzdWJzY3JpYmVyIGFjY2VzcyAg ICAgICAgIG5ldHdvcmtzLCZyZHF1bzsgT2N0b2JlciZuYnNwOzIwMDQuPC9zcGFuPjxzcGFuPik8 L3NwYW4+PC9hPiBmb3IgdGhlIE9MVCBhcmUgYWxzbyBkaXZpZGVkIGludG8gdmlydHVhbCBsaW5r cy4gVGhlcmVmb3JlIHRoZSBpZkluZGV4cyB1c2VkIGluIHRoZSBNSUIgZG9jdW1lbnQgZm9yIHRo ZSBPTFQgYXJlIHRoZSBpZkluZGV4IG9mIHRoZSBPTFQgYW5kIHRoZSBpZkluZGV4ZXMgb2YgdGhl IHZpcnR1YWwgbGlua3MuIEluZm9ybWF0aW9uIGZvciBlYWNoIExMSUQgaW4gdGhlIHRhYmxlcyBp cyBpbmRleGVkIGJ5IHRoZSBpbnRlcmZhY2UgaW5kZXggZm9yIGVhY2ggdGFibGUuIFRoaXMgaW5k ZXggaXMgY29ycmVzcG9uZGluZyB0byB0aGUgdmlydHVhbCBsaW5rIGludGVyZmFjZXMgaWZJbmRl eHMuCjwvcD4KPHA+T25seSB0aGUgTUFDIGFkZHJlc3MgYXQgdGhlIE9MVCBpcyBub3QgZHVwbGlj YXRlZCBhcyB0aGUgcGh5c2ljYWwgaW50ZXJmYWNlIGlzIHRoZSBzYW1lLiBJdCBpcyBzcGVjaWZp ZWQgaW4gdGhlIDxhIGNsYXNzPSJpbmZvIiBocmVmPSIjODAyLjNhaCI+WzgwMi4zYWhdPHNwYW4+ ICg8L3NwYW4+PHNwYW4gY2xhc3M9ImluZm8iPklFRUUsICZsZHF1bztJbnN0aXR1dGUgb2YgRWxl Y3RyaWNhbCBhbmQgRWxlY3Ryb25pYyBFbmdpbmVlcnMsIElFRUUgU3RkICAgICAgICAgODAyLjNh aC0yMDA0LiBJbmZvcm1hdGlvbiB0ZWNobm9sb2d5IC0gVGVsZWNvbW11bmljYXRpb25zIGFuZCAg ICAgICAgIGluZm9ybWF0aW9uIGV4Y2hhbmdlIGJldHdlZW4gc3lzdGVtcyAtIExvY2FsIGFuZCAg ICAgICAgIG1ldHJvcG9saXRhbiBhcmVhIG5ldHdvcmtzIC0gU3BlY2lmaWMgcmVxdWlyZW1lbnRz IC0gICAgICAgICBQYXJ0IDM6IENhcnJpZXIgc2Vuc2UgbXVsdGlwbGUgYWNjZXNzIHdpdGggY29s bGlzaW9uICAgICAgICAgZGV0ZWN0aW9uIChDU01BL0NEKSBhY2Nlc3MgbWV0aG9kIGFuZCBwaHlz aWNhbCBsYXllciAgICAgICAgIHNwZWNpZmljYXRpb25zIC0gTWVkaWEgQWNjZXNzIENvbnRyb2wg UGFyYW1ldGVycywgUGh5c2ljYWwgICAgICAgICBMYXllcnMgYW5kIE1hbmFnZW1lbnQgUGFyYW1l dGVycyBmb3Igc3Vic2NyaWJlciBhY2Nlc3MgICAgICAgICBuZXR3b3JrcywmcmRxdW87IE9jdG9i ZXImbmJzcDsyMDA0Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4gc2VjdGlvbiA2NC4xLjIuIEF0 IHRoZSB0YWJsZXMgdGhpcyBlbnRyeSBpcyBkdXBsaWNhdGVkIGZvciB0aGUgdmlydHVhbCBpbnRl cmZhY2VzLgo8L3A+CjxwPkltcGxlbWVudGluZyB0aGlzIG1vZHVsZSB0aGVyZWZvcmUgTVVTVCBy ZXF1aXJlIGltcGxlbWVudGF0aW9uIG9mIEludGVyZmFjZXMgTUlCIG1vZHVsZSA8YSBjbGFzcz0i aW5mbyIgaHJlZj0iI1JGQzI4NjMiPltSRkMyODYzXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNz PSJpbmZvIj5NY0Nsb2docmllLCBLLiBhbmQgRi4gS2FzdGVuaG9seiwgJmxkcXVvO1RoZSBJbnRl cmZhY2VzIEdyb3VwIE1JQiwmcmRxdW87IEp1bmUmbmJzcDsyMDAwLjwvc3Bhbj48c3Bhbj4pPC9z cGFuPjwvYT4gYW5kIEV0aGVybmV0LWxpa2UgSW50ZXJmYWNlcyBNSUIgbW9kdWxlIDxhIGNsYXNz PSJpbmZvIiBocmVmPSIjUkZDMzYzNSI+W1JGQzM2MzVdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xh c3M9ImluZm8iPkZsaWNrLCBKLiwgJmxkcXVvO0RlZmluaXRpb25zIG9mIE1hbmFnZWQgT2JqZWN0 cyBmb3IgdGhlIEV0aGVybmV0LWxpa2UgSW50ZXJmYWNlIFR5cGVzLCZyZHF1bzsgU2VwdGVtYmVy Jm5ic3A7MjAwMy48L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+Lgo8L3A+CjxwPgpBcyBhbiBleGFt cGxlIGhlcmUgYXJlIHRoZSB2YWx1ZXMgZm9yIHRoZSBJbnRlcmZhY2UgTUlCIGZvciBhbiBPTFQg d2l0aCAzIE9OVXMgcmVnaXN0ZXJlZDoKPC9wPjxhIG5hbWU9IkF0IHRoZSBPTlUgaW4gd29ya2lu ZyBtb2RlOiI+PC9hPgoKPHAgc3R5bGU9J3RleHQtYWxpZ246IGNlbnRlcic+QXQgdGhlIE9OVSBp biB3b3JraW5nIG1vZGU6CjwvcD48dGFibGUgY2xhc3M9ImZ1bGwiIGFsaWduPSJjZW50ZXIiIGJv cmRlcj0iMCIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj4KPGNvbCBhbGlnbj0ibGVm dCI+PGNvbCBhbGlnbj0ibGVmdCI+Cjx0cj48dGggYWxpZ249ImxlZnQiPkludGVyZmFjZSBNSUIg b2JqZWN0PC90aD48dGggYWxpZ249ImxlZnQiPlZhbHVlPC90aD48L3RyPgo8dHI+Cjx0ZCBhbGln bj0ibGVmdCI+aWZJbmRleDwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+MTwvdGQ+CjwvdHI+Cjx0cj4K PHRkIGFsaWduPSJsZWZ0Ij5pZkRlc2NyPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij4iSS9GIGRlc2Ny aXB0aW9uIjwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGFsaWduPSJsZWZ0Ij5pZlR5cGUgPC90ZD4KPHRk IGFsaWduPSJsZWZ0Ij5naWdhYml0RXRoZXJuZXQgKDExNykgMTAwMGJhc2UtUHg8L3RkPgo8L3Ry Pgo8dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+aWZNdHU8L3RkPgo8dGQgYWxpZ249ImxlZnQiPk1UVSBz aXplICgxNTIyKTwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGFsaWduPSJsZWZ0Ij5pZlNwZWVkPC90ZD4K PHRkIGFsaWduPSJsZWZ0Ij4xMDAwMDAwMDAwPC90ZD4KPC90cj4KPHRyPgo8dGQgYWxpZ249Imxl ZnQiPmlmUGh5c0FkZHJlc3M8L3RkPgo8dGQgYWxpZ249ImxlZnQiPk9OVV9NQUNfQWRkcmVzczwv dGQ+CjwvdHI+Cjx0cj4KPHRkIGFsaWduPSJsZWZ0Ij5pZkFkbWluU3RhdHVzPC90ZD4KPHRkIGFs aWduPSJsZWZ0Ij51cDwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGFsaWduPSJsZWZ0Ij5pZk9wZXJTdGF0 dXM8L3RkPgo8dGQgYWxpZ249ImxlZnQiPlVwPC90ZD4KPC90cj4KPHRyPgo8dGQgYWxpZ249Imxl ZnQiPmlmTGFzdENoYW5nZTwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+dXBfdGltZSA8L3RkPgo8L3Ry Pgo8dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+aWZJbk9jdGV0czwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+ T05VMV9vY3RldHNfbnVtYmVyPC90ZD4KPC90cj4KPHRyPgo8dGQgYWxpZ249ImxlZnQiPmlmSW5V Y2FzdFBrdHM8L3RkPgo8dGQgYWxpZ249ImxlZnQiPk9OVTFfdW5pY2FzdF9mcmFtZV9udW1iZXI8 L3RkPgo8L3RyPgo8dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+aWZJbk5VY2FzdFBrdHM8L3RkPgo8dGQg YWxpZ249ImxlZnQiPk9OVTFfbm9uX3VuaWNhc3RfZnJhbWVfbnVtYmVyPC90ZD4KPC90cj4KPHRy Pgo8dGQgYWxpZ249ImxlZnQiPmlmSW5EaXNjYXJkczwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+T05V MV9kaXNjYXJkX2ZyYW1lX251bWJlcjwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGFsaWduPSJsZWZ0Ij5p ZkluRXJyb3JzPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5PTlUxX2Vycm9yX2ZyYW1lX251bWJlcjwv dGQ+CjwvdHI+Cjx0cj4KPHRkIGFsaWduPSJsZWZ0Ij5pZkluVW5rbm93blByb3RvczwvdGQ+Cjx0 ZCBhbGlnbj0ibGVmdCI+T05VMV91bmtub3duX2ZyYW1lX251bWJlcjwvdGQ+CjwvdHI+Cjx0cj4K PHRkIGFsaWduPSJsZWZ0Ij5pZk91dE9jdGV0czwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+T05VMV9v Y3RldHNfbnVtYmVyIDwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGFsaWduPSJsZWZ0Ij5pZk91dFVjYXN0 UGt0czwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+T05VMV91bmljYXN0X2ZyYW1lX251bWJlcjwvdGQ+ CjwvdHI+Cjx0cj4KPHRkIGFsaWduPSJsZWZ0Ij5pZk91dE5VY2FzdFBrdHM8L3RkPgo8dGQgYWxp Z249ImxlZnQiPk9OVTFfbm9uX3VuaWNhc3RfZnJhbWVfbnVtYmVyPC90ZD4KPC90cj4KPHRyPgo8 dGQgYWxpZ249ImxlZnQiPmlmT3V0RGlzY2FyZHM8L3RkPgo8dGQgYWxpZ249ImxlZnQiPk9OVTFf ZGlzY2FyZF9mcmFtZV9udW1iZXI8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+aWZP dXRFcnJvcnMgPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5PTlUxX2Vycm9yX2ZyYW1lX251bWJlcjwv dGQ+CjwvdHI+Cjx0cj4KPHRkIGFsaWduPSJsZWZ0Ij5pZk91dFFMZW4gPC90ZD4KPHRkIGFsaWdu PSJsZWZ0Ij5PTlUxX3F1ZXVlX2ZyYW1lX251bWJlcjwvdGQ+CjwvdHI+CjwvdGFibGU+Cgo8cCBz dHlsZT0ndGV4dC1hbGlnbjogY2VudGVyJz4KPC9wPjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRk aW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBhbGlnbj0iY2Vu dGVyIj48Zm9udCBmYWNlPSJtb25hY28sIE1TIFNhbnMgU2VyaWYiIHNpemU9IjEiPjxiPiZuYnNw O1RhYmxlIDUmbmJzcDs8L2I+PC9mb250PjxiciAvPjwvdGQ+PC90cj48L3RhYmxlPjxociBzaXpl PSIxIiBzaGFkZT0iMCI+CjxhIG5hbWU9ImF0IHRoZSBPTFQgaW4gd29ya2luZyBtb2RlIHRoZSBp bnRlcmZhY2VzIGFzc29jaWF0ZWQgd2l0aCB0aGUgdmlydHVhbCBsaW5rczoiPjwvYT4KCjxwIHN0 eWxlPSd0ZXh0LWFsaWduOiBjZW50ZXInPmF0IHRoZSBPTFQgaW4gd29ya2luZyBtb2RlIHRoZSBp bnRlcmZhY2VzIGFzc29jaWF0ZWQgd2l0aCB0aGUgdmlydHVhbCBsaW5rczoKPC9wPjx0YWJsZSBj bGFzcz0iZnVsbCIgYWxpZ249ImNlbnRlciIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMiIgY2Vs bHNwYWNpbmc9IjIiPgo8Y29sIGFsaWduPSJsZWZ0Ij48Y29sIGFsaWduPSJsZWZ0Ij48Y29sIGFs aWduPSJsZWZ0Ij48Y29sIGFsaWduPSJsZWZ0Ij48Y29sIGFsaWduPSJsZWZ0Ij4KPHRyPjx0aCBh bGlnbj0ibGVmdCI+SW50ZXJmYWNlIE1JQiBvYmplY3Q8L3RoPjx0aCBhbGlnbj0ibGVmdCI+VmFs dWU8L3RoPjx0aCBhbGlnbj0ibGVmdCI+VmFsdWU8L3RoPjx0aCBhbGlnbj0ibGVmdCI+VmFsdWU8 L3RoPjx0aCBhbGlnbj0ibGVmdCI+VmFsdWU8L3RoPjwvdHI+Cjx0cj4KPHRkIGFsaWduPSJsZWZ0 Ij5pZkluZGV4PC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij4xPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij4y PC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij4zPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij42NTUzNTwvdGQ+ CjwvdHI+Cjx0cj4KPHRkIGFsaWduPSJsZWZ0Ij5pZkRlc2NyPC90ZD4KPHRkIGFsaWduPSJsZWZ0 Ij4iSS9GZGVzY3JpcHRpb24iPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij4iSS9GZGVzY3JpcHRpb24i PC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij4iSS9GZGVzY3JpcHRpb24iPC90ZD4KPHRkIGFsaWduPSJs ZWZ0Ij4iSS9GZGVzY3JpcHRpb24iPC90ZD4KPC90cj4KPHRyPgo8dGQgYWxpZ249ImxlZnQiPmlm VHlwZTwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+Z2lnYWJpdEV0aGVybmV0KDExNyk8L3RkPgo8dGQg YWxpZ249ImxlZnQiPmdpZ2FiaXRFdGhlcm5ldCgxMTcpPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5n aWdhYml0RXRoZXJuZXQoMTE3KTwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+Z2lnYWJpdEV0aGVybmV0 KDExNyk8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+aWZNdHU8L3RkPgo8dGQgYWxp Z249ImxlZnQiPk1UVXNpemUoMTUyMik8L3RkPgo8dGQgYWxpZ249ImxlZnQiPk1UVXNpemUoMTUy Mik8L3RkPgo8dGQgYWxpZ249ImxlZnQiPk1UVXNpemUoMTUyMik8L3RkPgo8dGQgYWxpZ249Imxl ZnQiPk1UVXNpemUoMTUyMik8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+aWZTcGVl ZDwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+MTAwMDAwMDAwMDwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+ MTAwMDAwMDAwMDwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+MTAwMDAwMDAwMDwvdGQ+Cjx0ZCBhbGln bj0ibGVmdCI+MTAwMDAwMDAwMDwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGFsaWduPSJsZWZ0Ij5pZlBo eXNBZGRyZXNzPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5PTFRfTUFDX0FkZHJlc3M8L3RkPgo8dGQg YWxpZ249ImxlZnQiPk9MVF9NQUNfQWRkcmVzczwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+T0xUX01B Q19BZGRyZXNzPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5PTFRfTUFDX0FkZHJlc3M8L3RkPgo8L3Ry Pgo8dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+aWZBZG1pblN0YXR1czwvdGQ+Cjx0ZCBhbGlnbj0ibGVm dCI+dXA8L3RkPgo8dGQgYWxpZ249ImxlZnQiPnVwPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij51cDwv dGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+dXA8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+ aWZPcGVyU3RhdHVzPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5VcDwvdGQ+Cjx0ZCBhbGlnbj0ibGVm dCI+VXA8L3RkPgo8dGQgYWxpZ249ImxlZnQiPlVwPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5VcDwv dGQ+CjwvdHI+Cjx0cj4KPHRkIGFsaWduPSJsZWZ0Ij5pZkxhc3RDaGFuZ2U8L3RkPgo8dGQgYWxp Z249ImxlZnQiPk9OVTFfdXBfdGltZTwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+T05VMl91cF90aW1l PC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5PTlUzX3VwX3RpbWU8L3RkPgo8dGQgYWxpZ249ImxlZnQi PnVwX3RpbWU8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+aWZJbk9jdGV0czwvdGQ+ Cjx0ZCBhbGlnbj0ibGVmdCI+T05VMV9vY3RldHNfbnVtYmVyPC90ZD4KPHRkIGFsaWduPSJsZWZ0 Ij5PTlUyX29jdGV0c19udW1iZXI8L3RkPgo8dGQgYWxpZ249ImxlZnQiPk9OVTNfb2N0ZXRzX251 bWJlcjwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+QlJDVF9vY3RldHNfbnVtYmVyPC90ZD4KPC90cj4K PHRyPgo8dGQgYWxpZ249ImxlZnQiPmlmSW5VY2FzdFBrdHM8L3RkPgo8dGQgYWxpZ249ImxlZnQi Pk9OVTFfdW5pY19mcmFtZV9udW08L3RkPgo8dGQgYWxpZ249ImxlZnQiPk9OVTJfdW5pY19mcmFt ZV9udW08L3RkPgo8dGQgYWxpZ249ImxlZnQiPk9OVTNfdW5pY19mcmFtZV9udW08L3RkPgo8dGQg YWxpZ249ImxlZnQiPkJSQ1RfdW5pY19mcmFtZV9udW08L3RkPgo8L3RyPgo8dHI+Cjx0ZCBhbGln bj0ibGVmdCI+aWZJbk5VY2FzdFBrdHM8L3RkPgo8dGQgYWxpZ249ImxlZnQiPk9OVTFfbm9uX3Vu aWNfZnJhbWVfbnVtPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5PTlUyX25vbl91bmljX2ZyYW1lX251 bTwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+T05VM19ub25fdW5pY19mcmFtZV9udW08L3RkPgo8dGQg YWxpZ249ImxlZnQiPkJSQ1Rfbm9uX3VuaWNfZnJhbWVfbnVtPC90ZD4KPC90cj4KPHRyPgo8dGQg YWxpZ249ImxlZnQiPmlmSW5EaXNjYXJkczwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+T05VMV9kaXNj X2ZyYW1lX251bTwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+T05VMl9kaXNjX2ZyYW1lX251bTwvdGQ+ Cjx0ZCBhbGlnbj0ibGVmdCI+T05VM19kaXNjX2ZyYW1lX251bTwvdGQ+Cjx0ZCBhbGlnbj0ibGVm dCI+QlJDVF9kaXNjX2ZyYW1lX251bXI8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+ aWZJbkVycm9yczwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+T05VMV9lcnJfZnJhbWVfbnVtPC90ZD4K PHRkIGFsaWduPSJsZWZ0Ij5PTlUyX2Vycl9mcmFtZV9udW08L3RkPgo8dGQgYWxpZ249ImxlZnQi Pk9OVTNfZXJyX2ZyYW1lX251bTwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+QlJDVF9lcnJfZnJhbWVf bnVtPC90ZD4KPC90cj4KPHRyPgo8dGQgYWxpZ249ImxlZnQiPmlmSW5Vbmtub3duUHJvdG9zPC90 ZD4KPHRkIGFsaWduPSJsZWZ0Ij5PTlUxX3Vua253X2ZyYW1lX251bTwvdGQ+Cjx0ZCBhbGlnbj0i bGVmdCI+T05VMl91bmtud19mcmFtZV9udW08L3RkPgo8dGQgYWxpZ249ImxlZnQiPk9OVTNfdW5r bndfZnJhbWVfbnVtPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5CUkNUX3Vua253X2ZyYW1lX251bTwv dGQ+CjwvdHI+Cjx0cj4KPHRkIGFsaWduPSJsZWZ0Ij5pZk91dE9jdGV0czwvdGQ+Cjx0ZCBhbGln bj0ibGVmdCI+T05VMV9vY3RldHNfbnVtYmVyPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5PTlUyX29j dGV0c19udW1iZXI8L3RkPgo8dGQgYWxpZ249ImxlZnQiPk9OVTNfb2N0ZXRzX251bWJlcjwvdGQ+ Cjx0ZCBhbGlnbj0ibGVmdCI+QlJDVF9vY3RldHNfbnVtYmVyPC90ZD4KPC90cj4KPHRyPgo8dGQg YWxpZ249ImxlZnQiPmlmT3V0VWNhc3RQa3RzPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5PTlUxX3Vu aWNfZnJhbWVfbnVtPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5PTlUyX3VuaWNfZnJhbWVfbnVtPC90 ZD4KPHRkIGFsaWduPSJsZWZ0Ij5PTlUzX3VuaWNfZnJhbWVfbnVtPC90ZD4KPHRkIGFsaWduPSJs ZWZ0Ij5CUkNUX3VuaWNfZnJhbWVfbnVtPC90ZD4KPC90cj4KPHRyPgo8dGQgYWxpZ249ImxlZnQi PmlmT3V0TlVjYXN0UGt0czwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+T05VMV9ub25fdW5pY19mcmFt ZV9udW08L3RkPgo8dGQgYWxpZ249ImxlZnQiPk9OVTJfbm9uX3VuaWNfZnJhbWVfbnVtPC90ZD4K PHRkIGFsaWduPSJsZWZ0Ij5PTlUzX25vbl91bmljX2ZyYW1lX251bTwvdGQ+Cjx0ZCBhbGlnbj0i bGVmdCI+QlJDVF9ub25fdW5pY19mcmFtZV9udW08L3RkPgo8L3RyPgo8dHI+Cjx0ZCBhbGlnbj0i bGVmdCI+aWZPdXREaXNjYXJkczwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+T05VMV9kaXNjX2ZyYW1l X251bTwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+T05VMl9kaXNjX2ZyYW1lX251bTwvdGQ+Cjx0ZCBh bGlnbj0ibGVmdCI+T05VM19kaXNjX2ZyYW1lX251bTwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+QlJD VF9kaXNjX2ZyYW1lX251bTwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGFsaWduPSJsZWZ0Ij5pZk91dEVy cm9yczwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+T05VMV9lcnJfZnJhbWVfbnVtPC90ZD4KPHRkIGFs aWduPSJsZWZ0Ij5PTlUyX2Vycl9mcmFtZV9udW08L3RkPgo8dGQgYWxpZ249ImxlZnQiPk9OVTNf ZXJyX2ZyYW1lX251bTwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+QlJDVF9lcnJfZnJhbWVfbnVtPC90 ZD4KPC90cj4KPHRyPgo8dGQgYWxpZ249ImxlZnQiPmlmT3V0UUxlbjwvdGQ+Cjx0ZCBhbGlnbj0i bGVmdCI+T05VMV9xdWV1ZV9mcmFtZV9udW08L3RkPgo8dGQgYWxpZ249ImxlZnQiPk9OVTJfcXVl dWVfZnJhbWVfbnVtPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5PTlUzX3F1ZXVlX2ZyYW1lX251bTwv dGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+QlJDdF9xdWV1ZV9mcmFtZV9udW08L3RkPgo8L3RyPgo8L3Rh YmxlPgoKPHAgc3R5bGU9J3RleHQtYWxpZ246IGNlbnRlcic+CjwvcD48dGFibGUgYm9yZGVyPSIw IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQg YWxpZ249ImNlbnRlciI+PGZvbnQgZmFjZT0ibW9uYWNvLCBNUyBTYW5zIFNlcmlmIiBzaXplPSIx Ij48Yj4mbmJzcDtUYWJsZSA2Jm5ic3A7PC9iPjwvZm9udD48YnIgLz48L3RkPjwvdHI+PC90YWJs ZT48aHIgc2l6ZT0iMSIgc2hhZGU9IjAiPgo8YSBuYW1lPSJBbmQgdGhlIE9MVCBpbnRlcmZhY2U6 Ij48L2E+Cgo8cCBzdHlsZT0ndGV4dC1hbGlnbjogY2VudGVyJz5BbmQgdGhlIE9MVCBpbnRlcmZh Y2U6CjwvcD48dGFibGUgY2xhc3M9ImZ1bGwiIGFsaWduPSJjZW50ZXIiIGJvcmRlcj0iMCIgY2Vs bHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj4KPGNvbCBhbGlnbj0ibGVmdCI+PGNvbCBhbGln bj0ibGVmdCI+Cjx0cj48dGggYWxpZ249ImxlZnQiPkludGVyZmFjZSBNSUIgb2JqZWN0PC90aD48 dGggYWxpZ249ImxlZnQiPlZhbHVlPC90aD48L3RyPgo8dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+aWZJ bmRleDwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+MTAwMDAwPC90ZD4KPC90cj4KPHRyPgo8dGQgYWxp Z249ImxlZnQiPmlmRGVzY3I8L3RkPgo8dGQgYWxpZ249ImxlZnQiPiJJL0YgZGVzY3JpcHRpb24i PC90ZD4KPC90cj4KPHRyPgo8dGQgYWxpZ249ImxlZnQiPmlmVHlwZSA8L3RkPgo8dGQgYWxpZ249 ImxlZnQiPmdpZ2FiaXRFdGhlcm5ldCAoMTE3KSAxMDAwYmFzZS1QeDwvdGQ+CjwvdHI+Cjx0cj4K PHRkIGFsaWduPSJsZWZ0Ij5pZk10dTwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+TVRVIHNpemUgKDE1 MjIpPC90ZD4KPC90cj4KPHRyPgo8dGQgYWxpZ249ImxlZnQiPmlmU3BlZWQ8L3RkPgo8dGQgYWxp Z249ImxlZnQiPjEwMDAwMDAwMDA8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+aWZQ aHlzQWRkcmVzczwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+T0xUX01BQ19BZGRyZXNzPC90ZD4KPC90 cj4KPHRyPgo8dGQgYWxpZ249ImxlZnQiPmlmQWRtaW5TdGF0dXM8L3RkPgo8dGQgYWxpZ249Imxl ZnQiPnVwPC90ZD4KPC90cj4KPHRyPgo8dGQgYWxpZ249ImxlZnQiPmlmT3BlclN0YXR1czwvdGQ+ Cjx0ZCBhbGlnbj0ibGVmdCI+VXA8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+aWZM YXN0Q2hhbmdlPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5PTFR1cF90aW1lIDwvdGQ+CjwvdHI+Cjx0 cj4KPHRkIGFsaWduPSJsZWZ0Ij5pZkluT2N0ZXRzPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5PTFRf b2N0ZXRzX251bWJlcjwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGFsaWduPSJsZWZ0Ij5pZkluVWNhc3RQ a3RzPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5PTFRfdW5pY2FzdF9mcmFtZV9udW1iZXI8L3RkPgo8 L3RyPgo8dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+aWZJbk5VY2FzdFBrdHM8L3RkPgo8dGQgYWxpZ249 ImxlZnQiPk9MVF9ub25fdW5pY2FzdF9mcmFtZV9udW1iZXI8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBh bGlnbj0ibGVmdCI+aWZJbkRpc2NhcmRzPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5PTFRfZGlzY2Fy ZF9mcmFtZV9udW1iZXI8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+aWZJbkVycm9y czwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+T0xUX2Vycm9yX2ZyYW1lX251bWJlcjwvdGQ+CjwvdHI+ Cjx0cj4KPHRkIGFsaWduPSJsZWZ0Ij5pZkluVW5rbm93blByb3RvczwvdGQ+Cjx0ZCBhbGlnbj0i bGVmdCI+T0xUX3Vua25vd25fZnJhbWVfbnVtYmVyPC90ZD4KPC90cj4KPHRyPgo8dGQgYWxpZ249 ImxlZnQiPmlmT3V0T2N0ZXRzPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5PTFRfb2N0ZXRzX251bWJl ciA8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+aWZPdXRVY2FzdFBrdHM8L3RkPgo8 dGQgYWxpZ249ImxlZnQiPk9MVF91bmljYXN0X2ZyYW1lX251bWJlcjwvdGQ+CjwvdHI+Cjx0cj4K PHRkIGFsaWduPSJsZWZ0Ij5pZk91dE5VY2FzdFBrdHM8L3RkPgo8dGQgYWxpZ249ImxlZnQiPk9M VF9ub25fdW5pY2FzdF9mcmFtZV9udW1iZXI8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBhbGlnbj0ibGVm dCI+aWZPdXREaXNjYXJkczwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+T0xUX2Rpc2NhcmRfZnJhbWVf bnVtYmVyPC90ZD4KPC90cj4KPHRyPgo8dGQgYWxpZ249ImxlZnQiPmlmT3V0RXJyb3JzIDwvdGQ+ Cjx0ZCBhbGlnbj0ibGVmdCI+T0xUX2Vycm9yX2ZyYW1lX251bWJlcjwvdGQ+CjwvdHI+Cjx0cj4K PHRkIGFsaWduPSJsZWZ0Ij5pZk91dFFMZW4gPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5PTFRfcXVl dWVfZnJhbWVfbnVtYmVyPC90ZD4KPC90cj4KPC90YWJsZT4KCjxwIHN0eWxlPSd0ZXh0LWFsaWdu OiBjZW50ZXInPgo8L3A+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFj aW5nPSIyIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxmb250IGZhY2U9 Im1vbmFjbywgTVMgU2FucyBTZXJpZiIgc2l6ZT0iMSI+PGI+Jm5ic3A7VGFibGUgNyZuYnNwOzwv Yj48L2ZvbnQ+PGJyIC8+PC90ZD48L3RyPjwvdGFibGU+PGhyIHNpemU9IjEiIHNoYWRlPSIwIj4K CjxwPiBBcyBzcGVjaWZpZWQgYWJvdmUgdGhlIGNyZWF0aW9uIG9mIHRoZSByb3dzIGF0IHRoZSBP TlUgYW5kIGF0IHRoZSBPTFQsIGZvciB0aGUgT0xUIGludGVyZmFjZSBhbmQgZm9yIHRoZSBicm9h ZGNhc3QgdmlydHVhbCBpbmRleCwgaXMgZG9uZSBhdCBpbml0aWFsaXphdGlvbi4gVGhlIGNyZWF0 aW9uIGFuZCBkZWxldGlvbiBvZiByb3dzIGZvciB0aGUgdmlydHVhbCBsaW5rcyBpcyBkb25lIHdo ZW4gdGhlIHZpcnR1YWwgbGluayBpcyBlc3RhYmxpc2hlZCAoT05VIHJlZ2lzdGVycykgYW5kIHdo ZW4gdGhlIHZpcnR1YWwgbGluayBpcyBkZWxldGVkIChPTlUgZGVyZWdpc3RlcnMpLiAKPC9wPgo8 YSBuYW1lPSJhbmNob3IxNSI+PC9hPjxiciAvPjxociAvPgo8dGFibGUgc3VtbWFyeT0ibGF5b3V0 IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJidWciIGFsaWduPSJyaWdo dCI+PHRyPjx0ZCBjbGFzcz0iYnVnIj48YSBocmVmPSIjdG9jIiBjbGFzcz0ibGluazIiPiZuYnNw O1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4KPGEgbmFtZT0icmZjLnNlY3Rpb24uMy4y Ij48L2E+PGgzPjMuMi4mbmJzcDtSZWxhdGlvbiB0byB0aGUgSUVFRSA4MDIuMyBNQVUgTUlCczwv aDM+Cgo8cD4KSW4gdGhlIGFtZW5kZWQgTUFVIE1JQiBkb2N1bWVudCB0aGUgTUFVIHR5cGVzIG9m IHRoZSBFUE9OIEludGVyZmFjZXMgaXMgZGVmaW5lZC4gVGhpcyBkb2N1bWVudCBhc3N1bWVzIHRo ZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgTUFVIE1JQiBmb3IgdGhpcyBwdXJwb3NlIGFuZCBkb2Vz IG5vdCByZXBlYXQgdGhlIEVQT04gTUFVIHR5cGVzLiBUaGVyZWZvcmUgaW1wbGVtZW50aW5nIHRo aXMgbW9kdWxlIE1VU1QgcmVxdWlyZSBpbXBsZW1lbnRhdGlvbiBvZiBNQVUtTUlCIG1vZHVsZSA8 YSBjbGFzcz0iaW5mbyIgaHJlZj0iI1JGQzM2MzYiPltSRkMzNjM2XTxzcGFuPiAoPC9zcGFuPjxz cGFuIGNsYXNzPSJpbmZvIj5GbGljaywgSi4sICZsZHF1bztEZWZpbml0aW9ucyBvZiBNYW5hZ2Vk IE9iamVjdHMgZm9yIElFRUUgODAyLjMgTWVkaXVtIEF0dGFjaG1lbnQgVW5pdHMgKE1BVXMpLCZy ZHF1bzsgU2VwdGVtYmVyJm5ic3A7MjAwMy48L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+LgpGb3Ig dGhlIE9OVSB0aGVyZSBpcyBhIHNpbmdsZSByb3cgZm9yIHRoZSBpZk1hdVRhYmxlLiBBdCB0aGUg T0xUIHRoZXJlIGlzIGEgcm93IGZvciBlYWNoIHZpcnR1YWwgbGluayAoTisxKSwgaWZNYXVJZklu ZGV4IGhhcyBhIHZhbHVlIGZvciBlYWNoIHZpcnR1YWwgbGluay4gCjwvcD4KPHA+IEFzIHNwZWNp ZmllZCBhYm92ZSB0aGUgY3JlYXRpb24gb2YgdGhlIHJvd3MgYXQgdGhlIE9OVSBhbmQgYXQgdGhl IE9MVCBmb3IgdGhlIE9MVCBpbnRlcmZhY2UgYW5kIGZvciB0aGUgYnJvYWRjYXN0IHZpcnR1YWwg aW5kZXgsIGlzIGRvbmUgYXQgaW5pdGlhbGl6YXRpb24uIFRoZSBjcmVhdGlvbiBhbmQgZGVsZXRp b24gb2Ygcm93cyBmb3IgdGhlIHZpcnR1YWwgbGlua3MgaXMgZG9uZSB3aGVuIHRoZSB2aXJ0dWFs IGxpbmsgaXMgZXN0YWJsaXNoZWQgKE9OVSByZWdpc3RlcnMpIGFuZCB3aGVuIHRoZSB2aXJ0dWFs IGxpbmsgaXMgZGVsZXRlZCAoT05VIGRlcmVnaXN0ZXJzKS4gCjwvcD4KPGEgbmFtZT0iYW5jaG9y MTYiPjwvYT48YnIgLz48aHIgLz4KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9 IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xh c3M9ImJ1ZyI+PGEgaHJlZj0iI3RvYyIgY2xhc3M9ImxpbmsyIj4mbmJzcDtUT0MmbmJzcDs8L2E+ PC90ZD48L3RyPjwvdGFibGU+CjxhIG5hbWU9InJmYy5zZWN0aW9uLjMuMyI+PC9hPjxoMz4zLjMu Jm5ic3A7UmVsYXRpb24gdG8gdGhlIEVGTSBPQU0gTUlCPC9oMz4KCjxwPgpUaGUgRVBPTiBpbnRl cmZhY2VzIGFyZSBhaW1lZCB0byB0aGUgYWNjZXNzIG9wdGljYWwgbmV0d29ya3MgYW5kIG1vc3Qg cHJvYmFibHkgd2lsbCBiZSBmb2xsb3dlZCBieSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgT0FNIHNl Y3Rpb24gb2YgdGhlIDxhIGNsYXNzPSJpbmZvIiBocmVmPSIjODAyLjNhaCI+WzgwMi4zYWhdPHNw YW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9ImluZm8iPklFRUUsICZsZHF1bztJbnN0aXR1dGUgb2Yg RWxlY3RyaWNhbCBhbmQgRWxlY3Ryb25pYyBFbmdpbmVlcnMsIElFRUUgU3RkICAgICAgICAgODAy LjNhaC0yMDA0LiBJbmZvcm1hdGlvbiB0ZWNobm9sb2d5IC0gVGVsZWNvbW11bmljYXRpb25zIGFu ZCAgICAgICAgIGluZm9ybWF0aW9uIGV4Y2hhbmdlIGJldHdlZW4gc3lzdGVtcyAtIExvY2FsIGFu ZCAgICAgICAgIG1ldHJvcG9saXRhbiBhcmVhIG5ldHdvcmtzIC0gU3BlY2lmaWMgcmVxdWlyZW1l bnRzIC0gICAgICAgICBQYXJ0IDM6IENhcnJpZXIgc2Vuc2UgbXVsdGlwbGUgYWNjZXNzIHdpdGgg Y29sbGlzaW9uICAgICAgICAgZGV0ZWN0aW9uIChDU01BL0NEKSBhY2Nlc3MgbWV0aG9kIGFuZCBw aHlzaWNhbCBsYXllciAgICAgICAgIHNwZWNpZmljYXRpb25zIC0gTWVkaWEgQWNjZXNzIENvbnRy b2wgUGFyYW1ldGVycywgUGh5c2ljYWwgICAgICAgICBMYXllcnMgYW5kIE1hbmFnZW1lbnQgUGFy YW1ldGVycyBmb3Igc3Vic2NyaWJlciBhY2Nlc3MgICAgICAgICBuZXR3b3JrcywmcmRxdW87IE9j dG9iZXImbmJzcDsyMDA0Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4uIFRoZXJlZm9yZSBUaGUg RUZNIE9BTSBNSUIgbW9kdWxlIDxhIGNsYXNzPSJpbmZvIiBocmVmPSIjSS1ELmlldGYtaHVibWli LWVmbS1taWIiPltJLUQuaWV0Zi1odWJtaWItZWZtLW1pYl08c3Bhbj4gKDwvc3Bhbj48c3BhbiBj bGFzcz0iaW5mbyI+U3F1aXJlLCBNLiwgJmxkcXVvO0V0aGVybmV0IGluIHRoZSBGaXJzdCBNaWxl IChFRk0pIENvbW1vbiBNSUIsJnJkcXVvOyBEZWNlbWJlciZuYnNwOzIwMDQuPC9zcGFuPjxzcGFu Pik8L3NwYW4+PC9hPiBNQVkgYmUgaW1wbGVtZW50ZWQgZGVmaW5pbmcgYXR0cmlidXRlcyBhbmQK bWFuYWdlZCBvYmplY3RzIHRoYXQgYXJlIGNvbXBsZW1lbnRhcnkgdG8gdGhlIEVGTSBFUE9OIE1J QiBtb2R1bGUuIEFzIHRoZSBPQU0gaXMgZGVmaW5lZCBmb3IgYSBwb2ludAp0byBwb2ludCBsaW5r IGl0IGlzIGltcGxlbWVudGVkIHVzaW5nIHRoZSB2aXJ0dWFsIGxpbmtzIHdoaWNoIGFyZSBkZWZp bmVkIGZvciB0aGUgUDJNUCBuZXR3b3JrLCBzbyB0aGF0IAphbiBpbnN0YW5jZSBpcyBoZWxkIGZv ciBlYWNoIExvZ2ljYWwgbGluayAoTExJRCkgb2YgdGhlIEVQT04uIFRoZSByZXNwZWN0aXZlIGlm SW5kZXggb2YgdGhlIHZpcnR1YWwgbGluayBpcyB1c2VkIGFzIHRoZSBpZkluZGV4IG9mIHRoZSBP QU0gTUlCIGZvciB0aGlzIHB1cnBvc2UuCjwvcD4KPGEgbmFtZT0iYW5jaG9yMTciPjwvYT48YnIg Lz48aHIgLz4KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFj aW5nPSIyIiBjbGFzcz0iYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9ImJ1ZyI+PGEg aHJlZj0iI3RvYyIgY2xhc3M9ImxpbmsyIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwv dGFibGU+CjxhIG5hbWU9InJmYy5zZWN0aW9uLjMuNCI+PC9hPjxoMz4zLjQuJm5ic3A7UmVsYXRp b24gdG8gdGhlIGJyaWRnZSBNSUI8L2gzPgoKPHA+Ckl0IGlzIHZlcnkgcHJvYmFibGUgdGhhdCBh biBFUE9OIE9MVCB3aWxsIGltcGxlbWVudCBhIGJyaWRnaW5nIGZ1bmN0aW9uYWxpdHkgYWJvdmUg dGhlIEVQT04gaW50ZXJmYWNlIGxheWVyLCBicmlkZ2luZyBiZXR3ZWVuIHRoZSBFUE9OIHVzZXJz IGFuZCB0aGUgbmV0d29yay4gSW4gdGhpcyBzY2VuYXJpbyB0aGUgdmlydHVhbCBwb3J0cyBvZiB0 aGUgRVBPTiBhcmUgY29ycmVzcG9uZGluZyB0byB0aGUgdmlydHVhbCBicmlkZ2UgcG9ydHMuIFRo ZXJlIGlzIGEgZGlyZWN0IG1hcHBpbmcgYmV0d2VlbiB0aGUgYnJpZGdlIHBvcnRzIGFuZCB0aGUg TExJRHMsIHdoaWNoIGFyZSB2aXJ0dWFsIEVQT04gY2hhbm5lbHMuCjwvcD4KPHA+SWYgdGhlIE9M VCBzdXBwb3J0cyBicmlkZ2luZyB0aGVuIHRoZSB2aXJ0dWFsIHBoeXNpY2FsIGludGVyZmFjZXMg YXJlIHRoZSBicmlkZ2UgdmlydHVhbCBwb3J0cy4gClRoZSB2YWx1ZXMgZm9yIGRvdDFkQmFzZVBv cnRJZkluZGV4IHdvdWxkIGJlIHRoZSBudW1iZXIgb2YgdGhlIGlmSW5kZXggZm9yIHRoZSB2aXJ0 dWFsIHBvcnQgKDEgZm9yIExMSUQxLCAyIGZvciBMTElEMiwuLi4pCgo8L3A+CjxwPlRoZSBicmlk Z2UgTUlCIG1vZHVsZXMgPGEgY2xhc3M9ImluZm8iIGhyZWY9IiNSRkM0MTg4Ij5bUkZDNDE4OF08 c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0iaW5mbyI+Tm9yc2V0aCwgSy4gYW5kIEUuIEJlbGws ICZsZHF1bztEZWZpbml0aW9ucyBvZiBNYW5hZ2VkIE9iamVjdHMgZm9yIEJyaWRnZXMsJnJkcXVv OyBTZXB0ZW1iZXImbmJzcDsyMDA1Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4sIDxhIGNsYXNz PSJpbmZvIiBocmVmPSIjUkZDMTUyNSI+W1JGQzE1MjVdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xh c3M9ImluZm8iPkRlY2tlciwgRS4sIE1jQ2xvZ2hyaWUsIEsuLCBMYW5naWxsZSwgUC4sIGFuZCBB LiBSaWpzaW5naGFuaSwgJmxkcXVvO0RlZmluaXRpb25zIG9mIE1hbmFnZWQgT2JqZWN0cyBmb3Ig U291cmNlIFJvdXRpbmcgQnJpZGdlcywmcmRxdW87IFNlcHRlbWJlciZuYnNwOzE5OTMuPC9zcGFu PjxzcGFuPik8L3NwYW4+PC9hPiBNQVkgYmUgaW1wbGVtZW50ZWQgaW4gdGhpcyBjYXNlIHdoZXJl IHRoZSBvYmplY3RzIG9mIHRoZSBicmlkZ2UgTUlCIG1vZHVsZSBhcmUgdXNlZCBhY2NvcmRpbmds eS4gCgo8L3A+CjxhIG5hbWU9ImFuY2hvcjE4Ij48L2E+PGJyIC8+PGhyIC8+Cjx0YWJsZSBzdW1t YXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9ImJ1ZyIg YWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJidWciPjxhIGhyZWY9IiN0b2MiIGNsYXNzPSJs aW5rMiI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPgo8YSBuYW1lPSJyZmMu c2VjdGlvbi40Ij48L2E+PGgzPjQuJm5ic3A7IFJlbGF0aW9uIHRhYmxlIG9mIHRoZSBkb3QzRVBP TiBNSUIgbW9kdWxlIG9iamVjdHMgdG8gdGhlIElFRUU4MDIuM2FoCmF0dHJpYnV0ZXM8L2gzPgo8 YSBuYW1lPSJNUENQIHJlZmVyZW5jZSB0YWJsZSI+PC9hPgoKPHAgc3R5bGU9J3RleHQtYWxpZ246 IGNlbnRlcic+b01QQ1AgbWFuYWdlZCBvYmplY3QgY2xhc3MgKDMwLjMuNSkKPC9wPjx0YWJsZSBj bGFzcz0iZnVsbCIgYWxpZ249ImNlbnRlciIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMiIgY2Vs bHNwYWNpbmc9IjIiPgo8Y29sIGFsaWduPSJsZWZ0Ij48Y29sIGFsaWduPSJsZWZ0Ij48Y29sIGFs aWduPSJsZWZ0Ij4KPHRyPjx0aCBhbGlnbj0ibGVmdCI+ZG90M0VQT04gTUlCIG1vZHVsZSBvYmpl Y3Q8L3RoPjx0aCBhbGlnbj0ibGVmdCI+SUVFRTgwMi4zYWggYXR0cmlidXRlPC90aD48dGggYWxp Z249ImxlZnQiPlJlZmVyZW5jZTwvdGg+PC90cj4KPHRyPgo8dGQgYWxpZ249ImxlZnQiPmlmSW5k ZXg8L3RkPgo8dGQgYWxpZ249ImxlZnQiPmFNUENQSUQ8L3RkPgo8dGQgYWxpZ249ImxlZnQiPjMw LjMuNS4xLjE8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+ZG90M01wY3BPcGVyU3Rh dHVzPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5hTVBDUEFkbWluU3RhdGU8L3RkPgo8dGQgYWxpZ249 ImxlZnQiPjMwLjMuNS4xLjI8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+ZG90M01w Y3BNb2RlPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5hTVBDUE1vZGU8L3RkPgo8dGQgYWxpZ249Imxl ZnQiPjMwLjMuNS4xLjM8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+ZG90M01wY3BM aW5rSUQ8L3RkPgo8dGQgYWxpZ249ImxlZnQiPmFNUENQTGlua0lEPC90ZD4KPHRkIGFsaWduPSJs ZWZ0Ij4zMC4zLjUuMS40PC90ZD4KPC90cj4KPHRyPgo8dGQgYWxpZ249ImxlZnQiPmRvdDNNcGNw UmVtb3RlTUFDQWRkcmVzczwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+YU1QQ1BSZW1vdGVNQUNBZGRy ZXNzPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij4zMC4zLjUuMS41PC90ZD4KPC90cj4KPHRyPgo8dGQg YWxpZ249ImxlZnQiPmRvdDNNcGNwUmVnaXN0cmF0aW9uU3RhdGU8L3RkPgo8dGQgYWxpZ249Imxl ZnQiPmFNUENQUmVnaXN0cmF0aW9uU3RhdGU8L3RkPgo8dGQgYWxpZ249ImxlZnQiPjMwLjMuNS4x LjY8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+ZG90M01wY3BNQUNDdHJsRnJhbWVz VHJhbnNtaXR0ZWQ8L3RkPgo8dGQgYWxpZ249ImxlZnQiPmFNUENQTUFDQ3RybEZyYW1lc1RyYW5z bWl0dGVkPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij4zMC4zLjUuMS43PC90ZD4KPC90cj4KPHRyPgo8 dGQgYWxpZ249ImxlZnQiPmRvdDNNcGNwTUFDQ3RybEZyYW1lc1JlY2VpdmVkPC90ZD4KPHRkIGFs aWduPSJsZWZ0Ij5hTVBDUE1BQ0N0cmxGcmFtZXNSZWNlaXZlZDwvdGQ+Cjx0ZCBhbGlnbj0ibGVm dCI+MzAuMy41LjEuODwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGFsaWduPSJsZWZ0Ij5kb3QzTXBjcFR4 R2F0ZTwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+YU1QQ1BUeEdhdGU8L3RkPgo8dGQgYWxpZ249Imxl ZnQiPjMwLjMuNS4xLjk8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+ZG90M01wY3BU eFJlZ0FjazwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+YU1QQ1BUeFJlZ0FjazwvdGQ+Cjx0ZCBhbGln bj0ibGVmdCI+MzAuMy41LjEuMTA8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+ZG90 M01wY3BUeFJlZ2lzdGVyPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5hTVBDUFR4UmVnaXN0ZXI8L3Rk Pgo8dGQgYWxpZ249ImxlZnQiPjMwLjMuNS4xLjExPC90ZD4KPC90cj4KPHRyPgo8dGQgYWxpZ249 ImxlZnQiPmRvdDNNcGNwVHhSZWdSZXF1ZXN0PC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5hTVBDUFR4 UmVnUmVxdWVzdDwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+MzAuMy41LjEuMTI8L3RkPgo8L3RyPgo8 dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+ZG90M01wY3BUeFJlcG9ydDwvdGQ+Cjx0ZCBhbGlnbj0ibGVm dCI+YU1QQ1BUeFJlcG9ydDwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+MzAuMy41LjEuMTM8L3RkPgo8 L3RyPgo8dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+ZG90M01wY3BSeEdhdGU8L3RkPgo8dGQgYWxpZ249 ImxlZnQiPmFNUENQUnhHYXRlPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij4zMC4zLjUuMS4xNDwvdGQ+ CjwvdHI+Cjx0cj4KPHRkIGFsaWduPSJsZWZ0Ij5kb3QzTXBjcFJ4UmVnQWNrPC90ZD4KPHRkIGFs aWduPSJsZWZ0Ij5hTVBDUFJ4UmVnQWNrPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij4zMC4zLjUuMS4x NTwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGFsaWduPSJsZWZ0Ij5kb3QzTXBjcFJ4UmVnaXN0ZXI8L3Rk Pgo8dGQgYWxpZ249ImxlZnQiPmFNUENQUnhSZWdpc3RlcjwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+ MzAuMy41LjEuMTY8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+ZG90M01wY3BSeFJl Z1JlcXVlc3Q8L3RkPgo8dGQgYWxpZ249ImxlZnQiPmFNUENQUnhSZWdSZXF1ZXN0PC90ZD4KPHRk IGFsaWduPSJsZWZ0Ij4zMC4zLjUuMS4xNzwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGFsaWduPSJsZWZ0 Ij5kb3QzTXBjcFJ4UmVwb3J0PC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5hTVBDUFJ4UmVwb3J0PC90 ZD4KPHRkIGFsaWduPSJsZWZ0Ij4zMC4zLjUuMS4xODwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGFsaWdu PSJsZWZ0Ij5kb3QzTXBjcFRyYW5zbWl0RWxhcHNlZDwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+YU1Q Q1BUcmFuc21pdEVsYXBzZWQ8L3RkPgo8dGQgYWxpZ249ImxlZnQiPjMwLjMuNS4xLjE5PC90ZD4K PC90cj4KPHRyPgo8dGQgYWxpZ249ImxlZnQiPmRvdDNNcGNwUmVjZWl2ZUVsYXBzZWQ8L3RkPgo8 dGQgYWxpZ249ImxlZnQiPmFNUENQUmVjZWl2ZUVsYXBzZWQ8L3RkPgo8dGQgYWxpZ249ImxlZnQi PjMwLjMuNS4xLjIwPC90ZD4KPC90cj4KPHRyPgo8dGQgYWxpZ249ImxlZnQiPmRvdDNNcGNwUm91 bmRUcmlwVGltZTwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+YU1QQ1BSb3VuZFRyaXBUaW1lPC90ZD4K PHRkIGFsaWduPSJsZWZ0Ij4zMC4zLjUuMS4yMTwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGFsaWduPSJs ZWZ0Ij5kb3QzTXBjcERpc2NvdmVyeVdpbmRvd3NTZW50PC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5h TVBDUERpc2NvdmVyeVdpbmRvd3NTZW50PC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij4zMC4zLjUuMS4y MjwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGFsaWduPSJsZWZ0Ij5kb3QzTXBjcERpc2NvdmVyeVRpbWVv dXQ8L3RkPgo8dGQgYWxpZ249ImxlZnQiPmFNUENQRGlzY292ZXJ5VGltZW91dDwvdGQ+Cjx0ZCBh bGlnbj0ibGVmdCI+MzAuMy41LjEuMjM8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+ ZG90M01wY3BNYXhpbXVtUGVuZGluZ0dyYW50czwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+YU1QQ1BN YXhpbXVtUGVuZGluZ0dyYW50czwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+MzAuMy41LjEuMjQ8L3Rk Pgo8L3RyPgo8dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+ZG90M01wY3BBZG1pblN0YXRlPC90ZD4KPHRk IGFsaWduPSJsZWZ0Ij5hTVBDUEFkbWluQ29udHJvbDwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+MzAu My41LjIuMTwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGFsaWduPSJsZWZ0Ij5kb3QzTXBjcFN5bmNUaW1l PC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5TeW5jVGltZTwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+NjQu My4zLjI8L3RkPgo8L3RyPgo8L3RhYmxlPgoKPHAgc3R5bGU9J3RleHQtYWxpZ246IGNlbnRlcic+ CjwvcD48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGFs aWduPSJjZW50ZXIiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGZvbnQgZmFjZT0ibW9uYWNvLCBN UyBTYW5zIFNlcmlmIiBzaXplPSIxIj48Yj4mbmJzcDtUYWJsZSA4Jm5ic3A7PC9iPjwvZm9udD48 YnIgLz48L3RkPjwvdHI+PC90YWJsZT48aHIgc2l6ZT0iMSIgc2hhZGU9IjAiPgo8YSBuYW1lPSJP TVBFbXVsYXRpb24gcmVmZXJlbmNlIHRhYmxlIj48L2E+Cgo8cCBzdHlsZT0ndGV4dC1hbGlnbjog Y2VudGVyJz5vT01QRW11bGF0aW9uIG1hbmFnZWQgb2JqZWN0IGNsYXNzICgzMC4zLjcpCjwvcD48 dGFibGUgY2xhc3M9ImZ1bGwiIGFsaWduPSJjZW50ZXIiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9 IjIiIGNlbGxzcGFjaW5nPSIyIj4KPGNvbCBhbGlnbj0ibGVmdCI+PGNvbCBhbGlnbj0ibGVmdCI+ PGNvbCBhbGlnbj0ibGVmdCI+Cjx0cj48dGggYWxpZ249ImxlZnQiPmRvdDNFUE9OIE1JQiBtb2R1 bGUgb2JqZWN0PC90aD48dGggYWxpZ249ImxlZnQiPklFRUU4MDIuM2FoIGF0dHJpYnV0ZTwvdGg+ PHRoIGFsaWduPSJsZWZ0Ij5SZWZlcmVuY2U8L3RoPjwvdHI+Cjx0cj4KPHRkIGFsaWduPSJsZWZ0 Ij5pZkluZGV4PC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij5hT01QRW11bGF0aW9uSUQ8L3RkPgo8dGQg YWxpZ249ImxlZnQiPjMwLjMuNy4xLjE8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+ ZG90M09tcEVtdWxhdGlvblR5cGU8L3RkPgo8dGQgYWxpZ249ImxlZnQiPmFPTVBFbXVsYXRpb25U eXBlPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij4zMC4zLjcuMS4yPC90ZD4KPC90cj4KPHRyPgo8dGQg YWxpZ249ImxlZnQiPmRvdDNPbXBFbXVsYXRpb25TTERFcnJvcnM8L3RkPgo8dGQgYWxpZ249Imxl ZnQiPmFTTERFcnJvcnM8L3RkPgo8dGQgYWxpZ249ImxlZnQiPjMwLjMuNy4xLjM8L3RkPgo8L3Ry Pgo8dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+ZG90M09tcEVtdWxhdGlvbkNSQzhFcnJvcnM8L3RkPgo8 dGQgYWxpZ249ImxlZnQiPmFDUkM4RXJyb3JzPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij4zMC4zLjcu MS40PC90ZD4KPC90cj4KPHRyPgo8dGQgYWxpZ249ImxlZnQiPmRvdDNPbXBFbXVsYXRpb25Hb29k TExJRDwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+YUdvb2RMTElEPC90ZD4KPHRkIGFsaWduPSJsZWZ0 Ij4zMC4zLjcuMS41PC90ZD4KPC90cj4KPHRyPgo8dGQgYWxpZ249ImxlZnQiPmRvdDNPbXBFbXVs YXRpb25PbnVQb25DYXN0TExJRDwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+YU9OVVBPTmNhc3RMTElE PC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij4zMC4zLjcuMS42PC90ZD4KPC90cj4KPHRyPgo8dGQgYWxp Z249ImxlZnQiPmRvdDNPbXBFbXVsYXRpb25PbHRQb25DYXN0TExJRDwvdGQ+Cjx0ZCBhbGlnbj0i bGVmdCI+YU9MVFBPTmNhc3RMTElEPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij4zMC4zLjcuMS43PC90 ZD4KPC90cj4KPHRyPgo8dGQgYWxpZ249ImxlZnQiPmRvdDNPbXBFbXVsYXRpb25CYWRMTElEPC90 ZD4KPHRkIGFsaWduPSJsZWZ0Ij5hQmFkTExJRDwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+MzAuMy43 LjEuODwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGFsaWduPSJsZWZ0Ij5kb3QzT21wRW11bGF0aW9uQnJv YWRjYXN0Qml0Tm90T251TExpZDwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+Jm5ic3A7PC90ZD4KPHRk IGFsaWduPSJsZWZ0Ij4mbmJzcDs8L3RkPgo8L3RyPgo8dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+ZG90 M09tcEVtdWxhdGlvbk9udUxMSUROb3RCcm9hZGNhc3Q8L3RkPgo8dGQgYWxpZ249ImxlZnQiPiZu YnNwOzwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+Jm5ic3A7PC90ZD4KPC90cj4KPHRyPgo8dGQgYWxp Z249ImxlZnQiPmRvdDNPbXBFbXVsYXRpb25Ccm9hZGNhc3RCaXRQbHVzT251TGxpZDwvdGQ+Cjx0 ZCBhbGlnbj0ibGVmdCI+Jm5ic3A7PC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij4mbmJzcDs8L3RkPgo8 L3RyPgo8dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+ZG90M09tcEVtdWxhdGlvbk5vdEJyb2FkY2FzdEJp dE5vdE9udUxsaWQ8L3RkPgo8dGQgYWxpZ249ImxlZnQiPiZuYnNwOzwvdGQ+Cjx0ZCBhbGlnbj0i bGVmdCI+Jm5ic3A7PC90ZD4KPC90cj4KPC90YWJsZT4KCjxwIHN0eWxlPSd0ZXh0LWFsaWduOiBj ZW50ZXInPgo8L3A+PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5n PSIyIiBhbGlnbj0iY2VudGVyIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxmb250IGZhY2U9Im1v bmFjbywgTVMgU2FucyBTZXJpZiIgc2l6ZT0iMSI+PGI+Jm5ic3A7VGFibGUgOSZuYnNwOzwvYj48 L2ZvbnQ+PGJyIC8+PC90ZD48L3RyPjwvdGFibGU+PGhyIHNpemU9IjEiIHNoYWRlPSIwIj4KPGEg bmFtZT0iRkVDIHJlZmVyZW5jZSB0YWJsZSI+PC9hPgoKPHAgc3R5bGU9J3RleHQtYWxpZ246IGNl bnRlcic+b01BVSBtYW5hZ2VkIG9iamVjdCBjbGFzcyAoMzAuNS4xKQo8L3A+PHRhYmxlIGNsYXNz PSJmdWxsIiBhbGlnbj0iY2VudGVyIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3Bh Y2luZz0iMiI+Cjxjb2wgYWxpZ249ImxlZnQiPjxjb2wgYWxpZ249ImxlZnQiPjxjb2wgYWxpZ249 ImxlZnQiPgo8dHI+PHRoIGFsaWduPSJsZWZ0Ij5kb3QzRVBPTiBNSUIgbW9kdWxlIG9iamVjdDwv dGg+PHRoIGFsaWduPSJsZWZ0Ij5JRUVFODAyLjNhaCBhdHRyaWJ1dGU8L3RoPjx0aCBhbGlnbj0i bGVmdCI+UmVmZXJlbmNlPC90aD48L3RyPgo8dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+ZG90M0Vwb25G ZWNQQ1NDb2RpbmdWaW9sYXRpb248L3RkPgo8dGQgYWxpZ249ImxlZnQiPmFQQ1NDb2RpbmdWaW9s YXRpb248L3RkPgo8dGQgYWxpZ249ImxlZnQiPjMwLjUuMS4xLjEyPC90ZD4KPC90cj4KPHRyPgo8 dGQgYWxpZ249ImxlZnQiPmRvdDNFcG9uRmVjQWJpbGl0eTwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+ YUZFQ0FiaWxpdHk8L3RkPgo8dGQgYWxpZ249ImxlZnQiPjMwLjUuMS4xLjEzPC90ZD4KPC90cj4K PHRyPgo8dGQgYWxpZ249ImxlZnQiPmRvdDNFcG9uRmVjTW9kZTwvdGQ+Cjx0ZCBhbGlnbj0ibGVm dCI+YUZFQ21vZGU8L3RkPgo8dGQgYWxpZ249ImxlZnQiPjMwLjUuMS4xLjE0PC90ZD4KPC90cj4K PHRyPgo8dGQgYWxpZ249ImxlZnQiPmRvdDNFcG9uRmVjQ29ycmVjdGVkQmxvY2tzPC90ZD4KPHRk IGFsaWduPSJsZWZ0Ij5hRkVDQ29ycmVjdGVkQmxvY2tzPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij4z MC41LjEuMS4xNTwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGFsaWduPSJsZWZ0Ij5kb3QzRXBvbkZlY1Vu Y29ycmVjdGFibGVCbG9ja3M8L3RkPgo8dGQgYWxpZ249ImxlZnQiPmFGRUNVbmNvcnJlY3RhYmxl QmxvY2tzPC90ZD4KPHRkIGFsaWduPSJsZWZ0Ij4zMC41LjEuMS4xNjwvdGQ+CjwvdHI+Cjx0cj4K PHRkIGFsaWduPSJsZWZ0Ij5kb3QzRXBvbkZlY0J1ZmZlckhlYWRDb2RpbmdWaW9sYXRpb248L3Rk Pgo8dGQgYWxpZ249ImxlZnQiPiZuYnNwOzwvdGQ+Cjx0ZCBhbGlnbj0ibGVmdCI+Jm5ic3A7PC90 ZD4KPC90cj4KPC90YWJsZT4KCjxwIHN0eWxlPSd0ZXh0LWFsaWduOiBjZW50ZXInPgo8L3A+PHRh YmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBhbGlnbj0iY2Vu dGVyIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxmb250IGZhY2U9Im1vbmFjbywgTVMgU2FucyBT ZXJpZiIgc2l6ZT0iMSI+PGI+Jm5ic3A7VGFibGUgMTAmbmJzcDs8L2I+PC9mb250PjxiciAvPjwv dGQ+PC90cj48L3RhYmxlPjxociBzaXplPSIxIiBzaGFkZT0iMCI+Cgo8YSBuYW1lPSJhbmNob3Ix OSI+PC9hPjxiciAvPjxociAvPgo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0i MCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFz cz0iYnVnIj48YSBocmVmPSIjdG9jIiBjbGFzcz0ibGluazIiPiZuYnNwO1RPQyZuYnNwOzwvYT48 L3RkPjwvdHI+PC90YWJsZT4KPGEgbmFtZT0icmZjLnNlY3Rpb24uNSI+PC9hPjxoMz41LiZuYnNw OyBEZWZpbml0aW9ucyAtIFRoZSBET1QzIEVQT04gTUlCIG1vZHVsZSA8L2gzPgoKPHA+CjwvcD48 cHJlPgoKCkRPVDMtRVBPTi1NSUIgREVGSU5JVElPTlMgOjo9IEJFR0lOCgogICAgIElNUE9SVFMK ICAgICAgICAgTU9EVUxFLUlERU5USVRZLCBtaWItMiwgT0JKRUNULVRZUEUsIENvdW50ZXIzMiwK ICAgICAgICAgSW50ZWdlcjMyLCBVbnNpZ25lZDMyLCBDb3VudGVyNjQKICAgICAgICAgICAgIEZS T00gU05NUHYyLVNNSQogICAgICAgICBUcnV0aFZhbHVlLCBNYWNBZGRyZXNzCiAgICAgICAgICAg ICBGUk9NIFNOTVB2Mi1UQwogICAgICAgICBpZkluZGV4CiAgICAgICAgICAgICBGUk9NIElGLU1J QgogICAgICAgICBNT0RVTEUtQ09NUExJQU5DRSwgT0JKRUNULUdST1VQCiAgICAgICAgICAgICBG Uk9NIFNOTVB2Mi1DT05GCgkgOwoKZG90M0Vwb25NSUIgTU9EVUxFLUlERU5USVRZCiAgICBMQVNU LVVQREFURUQgIjIwMDYwMjA4MDAwMFoiICAtLSBGZWJydWFyeSA4LCAyMDA2CiAgICBPUkdBTkla QVRJT04gIklFVEYgRXRoZXJuZXQgSW50ZXJmYWNlcyBhbmQgSHViIE1JQiBXb3JraW5nCiAgICAg ICAgICAgICAgICAgR3JvdXAiCiAgICBDT05UQUNULUlORk8KICAgICAgICAgICAgICAgICAiV0cg Y2hhcnRlcjoKICAgICAgICAgICAgICBodHRwOi8vd3d3LmlldGYub3JnL2h0bWwuY2hhcnRlcnMv aHVibWliLWNoYXJ0ZXIuaHRtbAogICAgICAgICAgICAgICAgICBNYWlsaW5nIExpc3RzOgogICAg ICAgICAgICAgICAgICAgIEdlbmVyYWwgRGlzY3Vzc2lvbjogaHVibWliQGlldGYub3JnCiAgICAg ICAgICAgICAgICAgICAgVG8gU3Vic2NyaWJlOiBodWJtaWItcmVxdWVzdEBpZXRmLm9yZwogICAg ICAgICAgICAgICAgICAgIEluIEJvZHk6IHN1YnNjcmliZSB5b3VyX2VtYWlsX2FkZHJlc3MKICAg ICAgICAgICAgICAgICAgICBDaGFpcjogRGFuIFJvbWFzY2FudQogICAgICAgICAgICAgICAgICAg IFBvc3RhbDogQXZheWEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEF0aWRpbSBUZWNobm9s b2d5IFBhcmssIEJsZGcuIDMKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRlbCBBdml2IDYx MTMxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJc3JhZWwKICAgICAgICAgICAgICAgICAg ICAgVGVsOiArOTcyLTMtNjQ1LTg0MTQKICAgICAgICAgICAgICAgICAgICAgRS1tYWlsOiBkcm9t YXNjYUBhdmF5YS5jb20KCiAgICAgICAgICAgICAgICAgIEVkaXRvcjogTGlvciBLaGVybW9zaAog ICAgICAgICAgICAgICAgICBQb3N0YWw6IFBhc3NhdmUgVGVjaG5vbG9naWVzIEluYy4KICAgICAg ICAgICAgICAgICAgICAgICAgICBLb2hhdiBIZXJ0emVsaWEgYmxkZywKICAgICAgICAgICAgICAg ICAgICAgICAgICA5NCBIYXNhZG5hb3QgU3QuCiAgICAgICAgICAgICAgICAgICAgICAgICAgSGVy dHpsaXlhIFBpdHVhY2ggNDYxMjAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgSVNSQUVMCiAg ICAgICAgICAgICAgICAgIFAuTy5Cb3ggMjA4OSBIZXJ0emxpeWEgUGl0dWFjaCA0NjEyMCBJc3Jh ZWwKICAgICAgICAgICAgICAgICAgVGVsOiAgICArOTcyLTktOTYyODAwMCBFeHQ6IDMwMgogICAg ICAgICAgICAgICAgICAgICBFLW1haWw6IGxpb3Iua2hlcm1vc2hAcGFzc2F2ZS5jb20iCiAgICBE RVNDUklQVElPTgogICAgICAgICAgICAiVGhlIG9iamVjdHMgaW4gdGhpcyBNSUIgbW9kdWxlIGFy ZSB1c2VkIHRvIG1hbmFnZSB0aGUKICAgICAgICAgICAgIEV0aGVybmV0IGluIHRoZSBGaXJzdCBN aWxlKEVGTSkgRXRoZXJuZXQgUGFzc2l2ZSBPcHRpY2FsCiAgICAgICAgICAgICBOZXR3b3JrKEVQ T04pIEludGVyZmFjZXMgYXMgZGVmaW5lZCBpbiBJRUVFIFA4MDIuM2FoCiAgICAgICAgICAgICBj bGF1c2UgNjAsNjQsNjUuCiAgICAgICAgIFRoZSBmb2xsb3dpbmcgcmVmZXJlbmNlIGlzIHVzZWQg dGhyb3VnaG91dCB0aGlzIE1JQiBtb2R1bGU6CiAgICAgICAgICAgWzgwMi4zYWhdIHJlZmVycyB0 bzoKICAgICAgICAgICAgIEluZm9ybWF0aW9uIHRlY2hub2xvZ3kgLSBUZWxlY29tbXVuaWNhdGlv bnMgYW5kCiAgICAgICAgICAgICBpbmZvcm1hdGlvbiBleGNoYW5nZSBiZXR3ZWVuIHN5c3RlbXMg LSBMb2NhbCBhbmQKICAgICAgICAgICAgIG1ldHJvcG9saXRhbiBhcmVhIG5ldHdvcmtzIC0gU3Bl Y2lmaWMgcmVxdWlyZW1lbnRzIC0KICAgICAgICAgICAgIFBhcnQgMzogQ2FycmllciBzZW5zZSBt dWx0aXBsZSBhY2Nlc3Mgd2l0aCBjb2xsaXNpb24KICAgICAgICAgICAgIGRldGVjdGlvbiAoQ1NN QS9DRCkgYWNjZXNzIG1ldGhvZCBhbmQgcGh5c2ljYWwgbGF5ZXIKICAgICAgICAgICAgIHNwZWNp ZmljYXRpb25zIC0gTWVkaWEgQWNjZXNzIENvbnRyb2wgUGFyYW1ldGVycywKICAgICAgICAgICAg IFBoeXNpY2FsIExheWVycyBhbmQgTWFuYWdlbWVudCBQYXJhbWV0ZXJzIGZvciBzdWJzY3JpYmVy CiAgICAgICAgICAgICBhY2Nlc3MgbmV0d29ya3MuIElFRUUgU3RkIDgwMi4zYWgtMjAwNCwgT2N0 b2JlciAyMDA0LgoKICAgICAgICAgIE9mIHBhcnRpY3VsYXIgaW50ZXJlc3QgYXJlIENsYXVzZSA2 NChNdWx0aS1Qb2ludCBDb250cm9sCiAgICAgICAgICBQcm90b2NvbCAtIE1QQ1ApLCBDbGF1c2Ug NjUoUG9pbnQgdG8gTXVsdGlwb2ludAogICAgICAgICAgUmVjb25jaWxpYXRpb24gU3VibGF5ZXIg LSBQMk1QIFJTKSwgQ2xhdXNlIDYwIChFdGhlcm5ldAogICAgICAgICAgUGFzc2l2ZSBPcHRpY2Fs IE5ldHdvcmsgUGh5c2ljYWwgTWVkaXVtIERlcGVuZGFudCAtIEVQT04KICAgICAgICAgIFBNRHMp LCBDbGF1c2UgMzAsICdNYW5hZ2VtZW50JywgYW5kIENsYXVzZSA0NSwgJ01hbmFnZW1lbnQKICAg ICAgICAgIERhdGEgSW5wdXQvT3V0cHV0IChNRElPKSBJbnRlcmZhY2UnLgoKICAgICAgICAgIENv cHlyaWdodCAoQykgVGhlIEludGVybmV0IFNvY2lldHkgKDIwMDUpLiAgVGhpcyB2ZXJzaW9uCiAg ICAgICAgICBvZiB0aGlzIE1JQiBtb2R1bGUgaXMgcGFydCBvZiBYWFhYIHNlZSB0aGUgUkZDIGl0 c2VsZiBmb3IKICAgICAgICAgIGZ1bGwgbGVnYWwgbm90aWNlcy4KCiAgICAgICAgICBLZXkgYWJi cmV2aWF0aW9uczoKCSAgICBCRVIgLSBCaXQgRXJyb3IgUmF0ZQoJICAgIEVGTSAtIEV0aGVybmV0 IEZpcnN0IE1pbGUKCSAgICBFUE9OIC0gRXRoZXJuZXQgUGFzc2l2ZSBPcHRpY2FsIE5ldHdvcmsK CSAgICBMTElEIC0gTG9naWNhbCBMaW5rIElEZW50aWZpZXIKCSAgICBNQUMgLSBNZWRpYSBBY2Nl c3MgQ29udHJvbAoJICAgIE1QQ1AgLSBNdWx0aS1Qb2ludCBDb250cm9sIFByb3RvY29sCgkgICAg T0xUIC0gT3B0aWNhbCBMaW5lIFRlcm1pbmFsIChTZXJ2ZXIgdW5pdCBvZiB0aGUgRVBPTikKCSAg ICBPTlUgLSBPcHRpY2FsIE5ldHdvcmsgVW5pdCAoQ2xpZW50IHVuaXQgb2YgdGhlIEVQT04pCgkg ICAgUEhZIC0gUGh5c2ljYWwgTGF5ZXIKCSAgICBQTUQgLSBQaHlzaWNhbCBNZWRpdW0gRGVwZW5k YW50CgkgICAgUlRUIC0gUm91bmQgVHJpcCBUaW1lCgkgICIKCiAgICAgICAgICAtLSBFZGl0b3In cyBOb3RlOiBSZXBsYWNlIFhYWFggd2l0aCB0aGUgYWN0dWFsIFJGQyBudW1iZXIKICAgICAgICAg IC0tIGFzc2lnbmVkIGJ5IFJGQyBFZGl0b3IgYW5kIHJlbW92ZSB0aGlzIG5vdGUKCiAgICBSRVZJ U0lPTiAgICAiMjAwNjAyMDgwMDAwWiIgIC0tIEZlYnJ1YXJ5IDgsIDIwMDYKICAgIERFU0NSSVBU SU9OICJJbml0aWFsIHZlcnNpb24sIHB1Ymxpc2hlZCBhcyBSRkMgWFhYWC4iCgogICAgOjo9IHsg bWliLTIgWFhYIH0KCiAgICAtLSBFZGl0b3IncyBOb3RlICh0byBiZSByZW1vdmVkIHByaW9yIHRv IHB1YmxpY2F0aW9uKTogdGhlCiAgICAtLSBJQU5BIGlzIHJlcXVlc3RlZCB0byBhc3NpZ24gYSB2 YWx1ZSBmb3IgIlhYWCIgdW5kZXIgdGhlCiAgICAtLSAnbWliLTInIHN1YnRyZWUgYW5kIHRvIHJl Y29yZCB0aGUgYXNzaWdubWVudCBpbiB0aGUgU01JCiAgICAtLSBOdW1iZXJzIHJlZ2lzdHJ5LiAg V2hlbiB0aGUgYXNzaWdubWVudCBoYXMgYmVlbiBtYWRlLCB0aGUKICAgIC0tIFJGQyBFZGl0b3Ig aXMgYXNrZWQgdG8gcmVwbGFjZSAiWFhYIiAoaGVyZSBhbmQgaW4gdGhlIE1JQgogICAgLS0gbW9k dWxlKSB3aXRoIHRoZSBhc3NpZ25lZCB2YWx1ZSBhbmQgdG8gcmVtb3ZlIHRoaXMgbm90ZS4KCgpk b3QzRXBvbk9iamVjdHMgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgZG90M0Vwb25NSUIgMX0KCmRv dDNFcG9uQ29uZm9ybWFuY2UgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgZG90M0Vwb25NSUIgMn0K Ci0tIE1QQ1AgTUlCIG1vZHVsZXMgZGVmaW5pdGlvbnMgKFs4MDIuM2FoXSBjbGF1c2UgMzAuMy41 KQoKZG90M0Vwb25NcGNwT2JqZWN0cwogICAgIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGRvdDNF cG9uT2JqZWN0cyAxIH0KCgoKZG90M01wY3BDb250cm9sVGFibGUgT0JKRUNULVRZUEUKICAgIFNZ TlRBWCAgU0VRVUVOQ0UgT0YgRG90M01wY3BDb250cm9sRW50cnkKICAgIE1BWC1BQ0NFU1MgIG5v dC1hY2Nlc3NpYmxlCiAgICBTVEFUVVMgIGN1cnJlbnQKICAgIERFU0NSSVBUSU9OCiAgICAgICAg ICAgICJUYWJsZSBmb3IgZG90MyBNdWx0aS1Qb2ludCBDb250cm9sIFByb3RvY29sIChNUENQKQog ICAgICAgICAgICAgTUlCIG1hbmFnZW1lbnQgb2JqZWN0cy4gVGhlIGVudHJpZXMgaW4gdGhlIHRh YmxlIGFyZQogICAgICAgICAgICAgY29udHJvbCBhbmQgc3RhdHVzIGVudGl0aWVzIG9mIHRoZSBN UENQLiBFYWNoIG9iamVjdCBoYXMKICAgICAgICAgICAgIGEgcm93IGZvciBldmVyeSB2aXJ0dWFs IGxpbmsgYWNjb3JkaW5nIHRvIHRoZSBwcm9wZXIKICAgICAgICAgICAgIGlmSW5kZXguIFR5cGlj YWxseSB0aGUgbnVtYmVyIG9mIGV4cGVjdGVkIHZpcnR1YWwgbGluawogICAgICAgICAgICAgaW4g YSBQT04gaXMgbGlrZSB0aGUgbnVtYmVyIG9mIE9OVXMgMzItNjQgcGx1cyBhbgogICAgICAgICAg ICAgYWRkaXRpb25hbCBlbnRyeSBmb3IgYnJvYWRjYXN0IExMSUQgKHdoaWNoIGlzIG1hcmtlZCBi eQogICAgICAgICAgICAgMHhmZmZmKS4gSW4gdGhlIFs4MDIuM2FoXSB0aGUgTExJRCBpcyBhIDJi eXRlcyByZWdpc3RlcgogICAgICAgICAgICAgYW5kIHRoZSBudW1iZXIgb2YgTExJRHMgaXMgbGlt aXRlZCBieSB0aGF0LiIKICAgIDo6PSB7IGRvdDNFcG9uTXBjcE9iamVjdHMgMSB9Cgpkb3QzTXBj cENvbnRyb2xFbnRyeSBPQkpFQ1QtVFlQRQogICAgU1lOVEFYICBEb3QzTXBjcENvbnRyb2xFbnRy eQogICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUKICAgIFNUQVRVUyAgY3VycmVudAogICAg REVTQ1JJUFRJT04KICAgICAgICAgICAgIkFuIGVudHJ5IGluIHRoZSBkb3QzIE1QQ1AgQ29udHJv bCB0YWJsZS4KICAgICAgICAgICAgIFJvd3MgaW4gdGhlIHRhYmxlIGFyZSBjcmVhdGVkIHdoZW4g aWZJbmRleHMgYXJlIGNyZWF0ZWQuCiAgICAgICAgICAgICBGb3IgdGhlIE9OVSByb3dzIGFyZSBj cmVhdGVkIGF0IHN5c3RlbSBpbml0aWFsaXphdGlvbi4KICAgICAgICAgICAgIEZvciB0aGUgT0xU IHRoZSByb3dzIG9mIHRoZSBPTFQgaWZJbmRleCBhbmQgdGhlIHJvdyBvZgogICAgICAgICAgICAg dGhlIGlmSW5kZXggcmVmZXJyaW5nIHRvIHRoZSBicm9hZGNhc3QgdmlydHVhbCBsaW5rIGFyZQog ICAgICAgICAgICAgY3JlYXRlZCBhdCBzeXN0ZW0gaW5pdGlhbGl6YXRpb24uIEZvciB0aGUgaWZJ bmRleHMKICAgICAgICAgICAgIHJlZmVycmluZyB0byB0aGUgdmlydHVhbCBsaW5rcyBhdCB0aGUg T0xULCBhIHJvdyBpcwogICAgICAgICAgICAgY3JlYXRlZCB3aGVuIGEgdmlydHVhbCBsaW5rIGlz IGVzdGFibGlzaGVkIChPTlUKICAgICAgICAgICAgIHJlZ2lzdGVycykgYW5kIGRlbGV0ZWQgd2hl biB0aGUgdmlydHVhbCBsaW5rIGlzIGRlbGV0ZWQKICAgICAgICAgICAgIChPTlUgZGVyZWdpc3Rl cnMpLiBSb3dzIGV4aXN0IGZvciBhbiBPTFQgaW50ZXJmYWNlIGFuZAogICAgICAgICAgICAgYW4g T05VIGludGVyZmFjZS4iCiAgICBJTkRFWCAgeyBpZkluZGV4IH0KICAgIDo6PSB7IGRvdDNNcGNw Q29udHJvbFRhYmxlIDF9CgpEb3QzTXBjcENvbnRyb2xFbnRyeSA6Oj0KICAgIFNFUVVFTkNFIHsK ICAgICAgICBkb3QzTXBjcE9wZXJTdGF0dXMgICAgICAgICAgICAgICAgICAgVHJ1dGhWYWx1ZSwK ICAgICAgICBkb3QzTXBjcEFkbWluU3RhdGUgICAgICAgICAgICAgICAgICAgVHJ1dGhWYWx1ZSwK ICAgICAgICBkb3QzTXBjcE1vZGUgICAgICAgICAgICAgICAgICAgICAgICAgSU5URUdFUiwKICAg ICAgICBkb3QzTXBjcFN5bmNUaW1lICAgICAgICAgICAgICAgICAgICAgVW5zaWduZWQzMiwKICAg ICAgICBkb3QzTXBjcExpbmtJRCAgICAgICAgICAgICAgICAgICAgICAgVW5zaWduZWQzMiwKICAg ICAgICBkb3QzTXBjcFJlbW90ZU1BQ0FkZHJlc3MgICAgICAgICAgICAgTWFjQWRkcmVzcywKICAg ICAgICBkb3QzTXBjcFJlZ2lzdHJhdGlvblN0YXRlICAgICAgICAgICAgSU5URUdFUiwKICAgICAg ICBkb3QzTXBjcFRyYW5zbWl0RWxhcHNlZCAgICAgICAgICAgICAgVW5zaWduZWQzMiwKICAgICAg ICBkb3QzTXBjcFJlY2VpdmVFbGFwc2VkICAgICAgICAgICAgICAgVW5zaWduZWQzMiwKICAgICAg ICBkb3QzTXBjcFJvdW5kVHJpcFRpbWUgICAgICAgICAgICAgICAgVW5zaWduZWQzMiwKICAgICAg ICBkb3QzTXBjcE1heGltdW1QZW5kaW5nR3JhbnRzICAgICAgICAgVW5zaWduZWQzMgogICAgfQoK ZG90M01wY3BPcGVyU3RhdHVzIE9CSkVDVC1UWVBFCiAgICBTWU5UQVggIFRydXRoVmFsdWUKICAg IE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgU1RBVFVTICBjdXJyZW50CiAgICBERVNDUklQVElP TgogICAgICAgICAgICAiVGhpcyB2YXJpYWJsZSByZWZsZWN0cyB0aGUgb3BlcmF0aW9uYWwgc3Rh dGUgb2YgdGhlCiAgICAgICAgICAgICBNdWx0aS1Qb2ludCBNQUMgQ29udHJvbCBzdWJsYXllciBh cyBkZWZpbmVkIGluIFs4MDIuM2FoXQogICAgICAgICAgICAgY2xhdXNlIDY0LiBXaGVuIHRoZSB2 YWx1ZSBpcyB0cnVlKDEpIHRoZSBpbnRlcmZhY2Ugd2lsbAogICAgICAgICAgICAgYWN0IGFzIGlm IE11bHRpLXBvaW50IGNvbnRyb2wgcHJvdG9jb2wgaXMgZW5hYmxlZC4KICAgICAgICAgICAgIFdo ZW4gdGhlIHZhbHVlIGlzIGZhbHNlKDIpIHRoZSBpbnRlcmZhY2Ugd2lsbCBhY3QgYXMgaWYKICAg ICAgICAgICAgIGl0IGRvZXMgbm90IGhhdmUgdGhlIE11bHRpLXBvaW50IGNvbnRyb2wgcHJvdG9j b2wuIFRoZQogICAgICAgICAgICAgb3BlcmF0aW9uYWwgc3RhdGUgY2FuIGJlIGNoYW5nZWQgdXNp bmcgdGhlCiAgICAgICAgICAgICBkb3QzTXBjcEFkbWluU3RhdGUgb2JqZWN0LgogICAgICAgICAg ICAgVGhpcyBvYmplY3QgaXMgcmVsZXZhbnQgZm9yIGFuIE9MVCwgc2FtZSBmb3IgYWxsCiAgICAg ICAgICAgICB2aXJ0dWFsIGxpbmtzLCBhbmQgZm9yIGFuIE9OVS4iCiAgICBSRUZFUkVOQ0UgICAi WzgwMi4zYWhdLCAzMC4zLjUuMS4yLiIKICAgIDo6PSB7IGRvdDNNcGNwQ29udHJvbEVudHJ5IDEg fQoKZG90M01wY3BBZG1pblN0YXRlIE9CSkVDVC1UWVBFCiAgICBTWU5UQVggIFRydXRoVmFsdWUK ICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUKICAgIFNUQVRVUyAgY3VycmVudAogICAgREVTQ1JJ UFRJT04KICAgICAgICAgICAgIlRoaXMgdmFyaWFibGUgY2FuIGJlIHVzZWQgdG8gZGVmaW5lIHRo ZSBhZG1pbiBzdGF0ZSBvZgogICAgICAgICAgICAgdGhlIE11bHRpLVBvaW50IE1BQyBDb250cm9s IHN1YmxheWVyIGFzIGRlZmluZWQgaW4KICAgICAgICAgICAgIFs4MDIuM2FoXSBjbGF1c2UgNjQu IFdoZW4gc2VsZWN0aW5nIHRoZSB2YWx1ZSBhcyB0cnVlKDEpCiAgICAgICAgICAgICB0aGUgaW50 ZXJmYWNlIE11bHRpLVBvaW50IGNvbnRyb2wgcHJvdG9jb2wgaXMgZW5hYmxlZC4KICAgICAgICAg ICAgIFdoZW4gc2VsZWN0aW5nIHRoZSB2YWx1ZSBhcyBmYWxzZSgyKSB0aGUgaW50ZXJmYWNlIGFj dHMKICAgICAgICAgICAgIGFzIGlmIHRoZSBNdWx0aS1wb2ludCBDb250cm9sIHByb3RvY29sIGRv ZXMgbm90IGV4aXN0LgogICAgICAgICAgICAgUmVhZGluZyByZWZsZWN0cyB0aGUgc3RhdGUgb2Yg dGhlIG9iamVjdCBhbmQgdGhlCiAgICAgICAgICAgICBvcGVyYXRpb24gb2YgdGhlIE11bHRpLXBv aW50IGNvbnRyb2wgcHJvdG9jb2wgbW9kZSBvZgogICAgICAgICAgICAgdGhlIGludGVyZmFjZS4K ICAgICAgICAgICAgIFdyaXRpbmcgY2FuIGJlIGRvbmUgYXQgYW55IHRpbWUuCiAgICAgICAgICAg ICBUaGlzIG9iamVjdCBpcyByZWxldmFudCBmb3IgYW4gT0xULCBzYW1lIGZvciBhbGwKICAgICAg ICAgICAgIHZpcnR1YWwgbGlua3MsIGFuZCBmb3IgYW4gT05VLiIKICAgIFJFRkVSRU5DRSAgICJb ODAyLjNhaF0sIDMwLjMuNS4yLjEuIgogICAgREVGVkFMIHsgZmFsc2UgfQogICAgOjo9IHsgZG90 M01wY3BDb250cm9sRW50cnkgMiB9CgoKZG90M01wY3BNb2RlICBPQkpFQ1QtVFlQRQogICAgU1lO VEFYICBJTlRFR0VSIHsKICAgICAgICAgICAgb2x0KDEpLAogICAgICAgICAgICBvbnUoMikKICAg IH0KICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgU1RBVFVTICBjdXJyZW50CiAgICBERVND UklQVElPTgogICAgICAgICAgICAiVGhpcyB2YXJpYWJsZSBjYW4gYmUgdXNlZCB0byBpZGVudGlm eSB0aGUgb3BlcmF0aW9uYWwKICAgICAgICAgICAgIHN0YXRlIG9mIHRoZSBNdWx0aS1Qb2ludCBN QUMgQ29udHJvbCBzdWJsYXllciBhcwogICAgICAgICAgICAgZGVmaW5lZCBpbiBbODAyLjNhaF0g Y2xhdXNlIDY0LiBSZWFkaW5nIG9sdCgxKSBmb3IgYW4KICAgICAgICAgICAgIE9MVCAoc2VydmVy KSBtb2RlIGFuZCBvbnUoMikgZm9yIGFuIE9OVSAoY2xpZW50KSBtb2RlLgogICAgICAgICAgICAg VGhpcyBvYmplY3QgaXMgcmVsZXZhbnQgZm9yIGFuIE9MVCwgc2FtZSBmb3IgYWxsCiAgICAgICAg ICAgICB2aXJ0dWFsIGxpbmtzLCBhbmQgZm9yIGFuIE9OVS4iCiAgICBSRUZFUkVOQ0UgICAiWzgw Mi4zYWhdLCAzMC4zLjUuMS4zLiIKICAgIERFRlZBTCB7IDEgfQogICAgOjo9IHsgZG90M01wY3BD b250cm9sRW50cnkgMyB9CgoKZG90M01wY3BTeW5jVGltZSBPQkpFQ1QtVFlQRQogICAgU1lOVEFY ICBVbnNpZ25lZDMyCiAgICBVTklUUyAgICAgICAiVFEgKDE2bnNlYykiCiAgICBNQVgtQUNDRVNT ICByZWFkLW9ubHkKICAgIFNUQVRVUyAgY3VycmVudAogICAgREVTQ1JJUFRJT04KICAgICAgICAg ICAgIkEgdmFsdWUgdGhhdCByZXBvcnRzIHRoZSAnc3luYyBsb2NrIHRpbWUnIGZvcgogICAgICAg ICAgICAgYW4gT0xUIHJlY2VpdmVyIGluIGluY3JlbWVudHMgb2YgVGltZSBRdWFudGEgKFRRKSAx Nm5zCiAgICAgICAgICAgICBhcyBkZWZpbmVkIGluIFs4MDIuM2FoXSA2MCw2NCw2NS4gVGhlIHZh bHVlIHJldHVybmVkCiAgICAgICAgICAgICBzaGFsbCBiZSAoc3luYyBsb2NrIHRpbWUgbnMpLzE2 LiBJZiB0aGlzIHZhbHVlIGV4Y2VlZHMKICAgICAgICAgICAgICgyXjMyLTEpIHRoZSB2YWx1ZSAo Ml4zMi0xKSBzaGFsbCBiZSByZXR1cm5lZC4KICAgICAgICAgICAgIFRoaXMgb2JqZWN0IGlzIHJl bGV2YW50IGZvciBhbiBPTFQsIHNhbWUgZm9yIGFsbAogICAgICAgICAgICAgdmlydHVhbCBsaW5r cywgYW5kIGZvciBhbiBPTlUuIgogICAgUkVGRVJFTkNFICAgIls4MDIuM2FoXSwgNjQuMy4zLjIu IgogICA6Oj0geyBkb3QzTXBjcENvbnRyb2xFbnRyeSA0IH0KCmRvdDNNcGNwTGlua0lEIE9CSkVD VC1UWVBFCiAgICBTWU5UQVggIFVuc2lnbmVkMzIKICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQog ICAgU1RBVFVTICBjdXJyZW50CiAgICBERVNDUklQVElPTgogICAgICAgICAgICAiQSB2YWx1ZSB0 aGF0IGlkZW50aWZpZXMgdGhlIExvZ2ljYWwgTGluawogICAgICAgICAgICAgaWRlbnRpdHkgKExM SUQpIGFzc29jaWF0ZWQgd2l0aCB0aGUgTUFDIHBvcnQgYXMKICAgICAgICAgICAgIHNwZWNpZmll ZCBpbiBbODAyLjNhaF0gY2xhdXNlIDY1LjEuMy4yLjIuCiAgICAgICAgICAgICBUaGlzIG9iamVj dCBpcyByZWxldmFudCBmb3IgYW4gT0xUIGFuZCBhbiBPTlUuIEZvcgogICAgICAgICAgICAgdGhl IHNhbWUgdmlydHVhbCBsaW5rIHRoZSB2YWx1ZSBpcyB0aGUgc2FtZSBhdCB0aGUgT05VCiAgICAg ICAgICAgICBhbmQgT0xULiBWYWx1ZSBpcyBhc3NpZ25lZCB3aGVuIGFuIE9OVSBpcyByZWdpc3Rl cmVkLgogICAgICAgICAgICAgVmFsdWUgaXMgZnJlZWQgd2hlbiBhbiBPTlUgZGVyZWdpc3Rlci4i CiAgICBSRUZFUkVOQ0UgICAiWzgwMi4zYWhdLCAzMC4zLjUuMS40LiIKICAgIDo6PSB7IGRvdDNN cGNwQ29udHJvbEVudHJ5IDUgfQoKZG90M01wY3BSZW1vdGVNQUNBZGRyZXNzIE9CSkVDVC1UWVBF CiAgICBTWU5UQVggIE1hY0FkZHJlc3MKICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgU1RB VFVTICBjdXJyZW50CiAgICBERVNDUklQVElPTgogICAgICAgICAgICAiQSB2YWx1ZSB0aGF0IGlk ZW50aWZpZXMgdGhlIHNvdXJjZV9hZGRyZXNzCiAgICAgICAgICAgICBwYXJhbWV0ZXIgb2YgdGhl IGxhc3QgTVBDUERVcyBwYXNzZWQgdG8gdGhlIE1BQyBDb250cm9sLgogICAgICAgICAgICAgVGhp cyB2YWx1ZSBpcyB1cGRhdGVkIG9uIHJlY2VwdGlvbiBvZiBhIHZhbGlkIGZyYW1lIHdpdGgKICAg ICAgICAgICAgICgxKSBhIGRlc3RpbmF0aW9uIEZpZWxkIGVxdWFsIHRvIHRoZSByZXNlcnZlZCBt dWx0aWNhc3QKICAgICAgICAgICAgIGFkZHJlc3MgZm9yIE1BQyBDb250cm9sIHNwZWNpZmllZCBp biBbODAyLjNdIEFubmV4CiAgICAgICAgICAgICAzMUEsICgyKSBsZW5ndGhPclR5cGUgZmllbGQg dmFsdWUgZXF1YWwgdG8gdGhlIHJlc2VydmVkCiAgICAgICAgICAgICBUeXBlIGZvciBNQUMgQ29u dHJvbCBhcyBzcGVjaWZpZWQgaW4gWzgwMi4zXSBBbm5leAogICAgICAgICAgICAgMzFBLiAoMykg YW4gTVBDUCBzdWJ0eXBlIHZhbHVlIGVxdWFsIHRvIHRoZSBzdWJ0eXBlCiAgICAgICAgICAgICBy ZXNlcnZlZCBmb3IgTVBDUCBhcyBzcGVjaWZpZWQgaW4gWzgwMi4zYWhdIEFubmV4IDMxQS4KICAg ICAgICAgICAgIFRoaXMgb2JqZWN0IGlzIHJlbGV2YW50IGZvciBhbiBPTFQgYW5kIGFuIE9OVS4K ICAgICAgICAgICAgIFRoZSB2YWx1ZSByZWZsZWN0cyB0aGUgTUFDIGFkZHJlc3Mgb2YgdGhlIHJl bW90ZSBlbnRyeQogICAgICAgICAgICAgYW5kIHRoZXJlZm9yZSB0aGUgT0xUIGhvbGQgYSB2YWx1 ZSBmb3IgZWFjaCBMTElEIGFuZCB0aGUKICAgICAgICAgICAgIE9OVSBoYXMgYSBzaW5nbGUgdmFs dWUgd2hpY2ggaXMgdGhlIE9MVCBNQUMgYWRkcmVzcy4gIgogICAgUkVGRVJFTkNFICAgIls4MDIu M2FoXSwgMzAuMy41LjEuNS4iCiAgICA6Oj0geyBkb3QzTXBjcENvbnRyb2xFbnRyeSA2IH0KCmRv dDNNcGNwUmVnaXN0cmF0aW9uU3RhdGUgT0JKRUNULVRZUEUKICAgIFNZTlRBWCAgSU5URUdFUiB7 CiAgICAgICAgICAgIHVucmVnaXN0ZXJlZCgxKSwKICAgICAgICAgICAgcmVnaXN0ZXJpbmcoMiks CiAgICAgICAgICAgIHJlZ2lzdGVyZWQoMykKICAgIH0KICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25s eQogICAgU1RBVFVTICBjdXJyZW50CiAgICBERVNDUklQVElPTgogICAgICAgICAgICAiQSB2YWx1 ZSB0aGF0IGlkZW50aWZpZXMgdGhlIG9wZXJhdGlvbmFsIHN0YXRlCiAgICAgICAgICAgICBvZiB0 aGUgTXVsdGktUG9pbnQgTUFDIENvbnRyb2wgc3VibGF5ZXIgYXMgZGVmaW5lZCBpbgogICAgICAg ICAgICAgWzgwMi4zYWhdIGNsYXVzZSA2NC4gV2hlbiB0aGlzIG9iamVjdCBoYXMgdGhlCiAgICAg ICAgICAgICBlbnVtZXJhdGlvbiB1bnJlZ2lzdGVyZWQoMSkgdGhlIGludGVyZmFjZSBtYXkgYmUg dXNlZAogICAgICAgICAgICAgZm9yIHJlZ2lzdGVyaW5nIGEgbGluayBwYXJ0bmVyLiBXaGVuIHRo aXMgb2JqZWN0IGhhcwogICAgICAgICAgICAgdGhlIGVudW1lcmF0aW9uIHJlZ2lzdGVyaW5nKDIp IHRoZSBpbnRlcmZhY2UgaXMgaW4gdGhlCiAgICAgICAgICAgICBwcm9jZXNzIG9mIHJlZ2lzdGVy aW5nIGEgbGluay1wYXJ0bmVyLiBXaGVuIHRoaXMKICAgICAgICAgICAgIG9iamVjdCBoYXMgdGhl IGVudW1lcmF0aW9uIHJlZ2lzdGVyZWQoMykgdGhlCiAgICAgICAgICAgICBpbnRlcmZhY2UgaGFz IGFuIGVzdGFibGlzaGVkIGxpbmstcGFydG5lci4KICAgICAgICAgICAgIFRoaXMgb2JqZWN0IGlz IHJlbGV2YW50IGZvciBhbiBPTFQgYW5kIGFuIE9OVS4gRm9yCiAgICAgICAgICAgICB0aGUgT0xU IGl0IHByb3ZpZGVzIGFuIGluZGljYXRpb24gcGVyIExMSUQuIgogICAgUkVGRVJFTkNFICAgIls4 MDIuM2FoXSwgMzAuMy41LjEuNi4iCiAgICA6Oj0geyBkb3QzTXBjcENvbnRyb2xFbnRyeSA3IH0K CmRvdDNNcGNwVHJhbnNtaXRFbGFwc2VkIE9CSkVDVC1UWVBFCiAgICBTWU5UQVggIFVuc2lnbmVk MzIKICAgIFVOSVRTICAgICAgICJUUSAoMTZuc2VjKSIKICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25s eQogICAgU1RBVFVTICBjdXJyZW50CiAgICBERVNDUklQVElPTgogICAgICAgICAgICAiQSB2YWx1 ZSB0aGF0IHJlcG9ydHMgdGhlIGludGVydmFsIGZyb20gbGFzdAogICAgICAgICAgICAgTVBDUCBm cmFtZSB0cmFuc21pc3Npb24gaW4gaW5jcmVtZW50cyBvZiBUaW1lIFF1YW50YQogICAgICAgICAg ICAgKFRRKSAxNm5zLiBUaGUgdmFsdWUgcmV0dXJuZWQgc2hhbGwgYmUgKGludGVydmFsIGZyb20K ICAgICAgICAgICAgIGxhc3QgTVBDUCBmcmFtZSB0cmFuc21pc3Npb24gaW4gbnMpLzE2LiBJZiB0 aGlzIHZhbHVlCiAgICAgICAgICAgICBleGNlZWRzICgyXjMyLTEpIHRoZSB2YWx1ZSAoMl4zMi0x KSBzaGFsbCBiZSByZXR1cm5lZC4KICAgICAgICAgICAgIFRoaXMgb2JqZWN0IGlzIHJlbGV2YW50 IGZvciBhbiBPTFQgYW5kIGFuIE9OVS4gRm9yCiAgICAgICAgICAgICB0aGUgT0xUIGl0IHByb3Zp ZGVzIGFuIGluZGljYXRpb24gcGVyIExMSUQuIgogICAgUkVGRVJFTkNFICAgIls4MDIuM2FoXSwg MzAuMy41LjEuMTkuIgogICAgOjo9IHsgZG90M01wY3BDb250cm9sRW50cnkgOCB9Cgpkb3QzTXBj cFJlY2VpdmVFbGFwc2VkIE9CSkVDVC1UWVBFCiAgICBTWU5UQVggIFVuc2lnbmVkMzIKICAgIFVO SVRTICAgICAgICJUUSAoMTZuc2VjKSIKICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgU1RB VFVTICBjdXJyZW50CiAgICBERVNDUklQVElPTgogICAgICAgICAgICAiQSB2YWx1ZSB0aGF0IHJl cG9ydHMgdGhlIGludGVydmFsIGZyb20gbGFzdAogICAgICAgICAgICAgTVBDUCBmcmFtZSByZWNl cHRpb24gaW4gaW5jcmVtZW50cyBvZiBUaW1lIFF1YW50YSAoVFEpCiAgICAgICAgICAgICAxNm5z LiBUaGUgdmFsdWUgcmV0dXJuZWQgc2hhbGwgYmUgKGludGVydmFsIGZyb20gbGFzdAogICAgICAg ICAgICAgTVBDUCBsYXN0IE1QQ1AgZnJhbWUgcmVjZXB0aW9uIGluIG5zKS8xNi4gSWYgdGhpcyB2 YWx1ZQogICAgICAgICAgICAgZXhjZWVkcyAoMl4zMi0xKSB0aGUgdmFsdWUgKDJeMzItMSkgc2hh bGwgYmUgcmV0dXJuZWQuCiAgICAgICAgICAgICBUaGlzIG9iamVjdCBpcyByZWxldmFudCBmb3Ig YW4gT0xUIGFuZCBhbiBPTlUuIEZvcgogICAgICAgICAgICAgdGhlIE9MVCBpdCBwcm92aWRlcyBh biBpbmRpY2F0aW9uIHBlciBMTElELiIKICAgIFJFRkVSRU5DRSAgICJbODAyLjNhaF0sIDMwLjMu NS4xLjIwLiIKICAgIDo6PSB7IGRvdDNNcGNwQ29udHJvbEVudHJ5IDkgfQoKZG90M01wY3BSb3Vu ZFRyaXBUaW1lIE9CSkVDVC1UWVBFCiAgICBTWU5UQVggIFVuc2lnbmVkMzIgKDAuLidmZmZmJ2gp CiAgICBVTklUUyAgICAgICAiVFEgKDE2bnNlYykiCiAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkK ICAgIFNUQVRVUyAgY3VycmVudAogICAgREVTQ1JJUFRJT04KICAgICAgICAgICAgIkEgdmFsdWUg dGhhdCByZXBvcnRzIHRoZSBNUENQIHJvdW5kIHRyaXAgdGltZQogICAgICAgICAgICAgaW4gaW5j cmVtZW50cyBvZiBUaW1lIFF1YW50YSAoVFEpIDE2bnMuIFRoZSB2YWx1ZQogICAgICAgICAgICAg cmV0dXJuZWQgc2hhbGwgYmUgKHJvdW5kIHRyaXAgdGltZSBpbiBucykvMTYuIElmIHRoaXMKICAg ICAgICAgICAgIHZhbHVlIGV4Y2VlZHMgKDJeMTYtMSkgdGhlIHZhbHVlICgyXjE2LTEpICBzaGFs bCBiZQogICAgICAgICAgICAgcmV0dXJuZWQuIFRoaXMgb2JqZWN0IGlzIHJlbGV2YW50IGZvciBh biBPTFQgb25seS4KICAgICAgICAgICAgIEZvciB0aGUgT0xUIHRoZXJlIGlzIGEgdmFsdWUgcGVy IExMSUQiCiAgICBSRUZFUkVOQ0UgICAiWzgwMi4zYWhdLCAzMC4zLjUuMS4yMS4iCiAgICA6Oj0g eyBkb3QzTXBjcENvbnRyb2xFbnRyeSAxMCB9Cgpkb3QzTXBjcE1heGltdW1QZW5kaW5nR3JhbnRz IE9CSkVDVC1UWVBFCiAgICBTWU5UQVggIFVuc2lnbmVkMzIgKDAuLjI1NSkKICAgIE1BWC1BQ0NF U1MgIHJlYWQtb25seQogICAgU1RBVFVTICBjdXJyZW50CiAgICBERVNDUklQVElPTgogICAgICAg ICAgICAiQSB2YWx1ZSB0aGF0IGluZGljYXRlcyB0aGUgbWF4aW11bSBudW1iZXIgb2YKICAgICAg ICAgICAgIGdyYW50cyBhbiBPTlUgY2FuIHN0b3JlLiBUaGUgbWF4aW11bSBudW1iZXIgb2YgZ3Jh bnRzIGFuCiAgICAgICAgICAgICBPTlUgY2FuIHN0b3JlIGhhcyBhIHJhbmdlIG9mIDAgdG8gMjU1 LgogICAgICAgICAgICAgVGhpcyBvYmplY3QgaXMgcmVsZXZhbnQgZm9yIGFuIE9MVCBhbmQgYW4g T05VLiBGb3IKICAgICAgICAgICAgIHRoZSBPTFQgdGhlcmUgaXMgYSB2YWx1ZSBwZXIgTExJRCIK ICAgIFJFRkVSRU5DRSAgICJbODAyLjNhaF0sIDMwLjMuNS4xLjI0LiIKICAgIDo6PSB7IGRvdDNN cGNwQ29udHJvbEVudHJ5IDExIH0KCgpkb3QzTXBjcFN0YXRUYWJsZSBPQkpFQ1QtVFlQRQogICAg U1lOVEFYICAgICBTRVFVRU5DRSBPRiBEb3QzTXBjcFN0YXRFbnRyeQogICAgTUFYLUFDQ0VTUyBu b3QtYWNjZXNzaWJsZQogICAgU1RBVFVTICAgICBjdXJyZW50CiAgICBERVNDUklQVElPTgogICAg ICAgICAgICAiVGhpcyB0YWJsZSBkZWZpbmVzIHRoZSBsaXN0IG9mIHN0YXRpc3RpY3MgY291bnRl cnMgZm9yCiAgICAgICAgICAgICBbODAyLjNhaF0gY2xhdXNlIDY0IE1QQ1AgaW50ZXJmYWNlLiBF YWNoIG9iamVjdCBoYXMKICAgICAgICAgICAgIGEgcm93IGZvciBldmVyeSB2aXJ0dWFsIGxpbmsg YWNjb3JkaW5nIHRvIHRoZSBwcm9wZXIKICAgICAgICAgICAgIGlmSW5kZXguIFR5cGljYWxseSB0 aGUgbnVtYmVyIG9mIGV4cGVjdGVkIHZpcnR1YWwgbGluawogICAgICAgICAgICAgaW4gYSBQT04g aXMgbGlrZSB0aGUgbnVtYmVyIG9mIE9OVXMgMzItNjQgcGx1cyBhbgogICAgICAgICAgICAgYWRk aXRpb25hbCBlbnRyeSBmb3IgYnJvYWRjYXN0IExMSUQgKHdoaWNoIGlzIG1hcmtlZCBieQogICAg ICAgICAgICAgMHhmZmZmKS4gSW4gdGhlIFs4MDIuM2FoXSB0aGUgTExJRCBpcyBhIDJieXRlcyBy ZWdpc3RlcgogICAgICAgICAgICAgYW5kIHRoZSBudW1iZXIgb2YgTExJRHMgaXMgbGltaXRlZCBi eSB0aGF0LiIKOjo9IHsgZG90M0Vwb25NcGNwT2JqZWN0cyAyIH0KCmRvdDNNcGNwU3RhdEVudHJ5 IE9CSkVDVC1UWVBFCiAgICBTWU5UQVggICAgIERvdDNNcGNwU3RhdEVudHJ5CiAgICBNQVgtQUND RVNTIG5vdC1hY2Nlc3NpYmxlCiAgICBTVEFUVVMgICAgIGN1cnJlbnQKICAgIERFU0NSSVBUSU9O CiAgICAgICAgICAgICJUYWJsZSBlbnRyaWVzIGZvciB0aGUgdGFibGUgb2Ygc3RhdGlzdGljcyBj b3VudGVycyBvZgogICAgICAgICAgICAgWzgwMi4zYWhdIGNsYXVzZSA2NCBNUENQIGludGVyZmFj ZS4KICAgICAgICAgICAgIFJvd3MgaW4gdGhlIHRhYmxlIGFyZSBjcmVhdGVkIHdoZW4gaWZJbmRl eHMgYXJlIGNyZWF0ZWQuCiAgICAgICAgICAgICBGb3IgdGhlIE9OVSByb3dzIGFyZSBjcmVhdGVk IGF0IHN5c3RlbSBpbml0aWFsaXphdGlvbi4KICAgICAgICAgICAgIEZvciB0aGUgT0xUIHRoZSBy b3dzIG9mIHRoZSBPTFQgaWZJbmRleCBhbmQgdGhlIHJvdyBvZgogICAgICAgICAgICAgdGhlIGlm SW5kZXggcmVmZXJyaW5nIHRvIHRoZSBicm9hZGNhc3QgdmlydHVhbCBsaW5rIGFyZQogICAgICAg ICAgICAgY3JlYXRlZCBhdCBzeXN0ZW0gaW5pdGlhbGl6YXRpb24uIEZvciB0aGUgaWZJbmRleHMK ICAgICAgICAgICAgIHJlZmVycmluZyB0byB0aGUgdmlydHVhbCBsaW5rcyBhdCB0aGUgT0xULCBh IHJvdyBpcwogICAgICAgICAgICAgY3JlYXRlZCB3aGVuIGEgdmlydHVhbCBsaW5rIGlzIGVzdGFi bGlzaGVkIChPTlUKICAgICAgICAgICAgIHJlZ2lzdGVycykgYW5kIGRlbGV0ZWQgd2hlbiB0aGUg dmlydHVhbCBsaW5rIGlzIGRlbGV0ZWQKICAgICAgICAgICAgIChPTlUgZGVyZWdpc3RlcnMpLiBS b3dzIGV4aXN0IGZvciBhbiBPTFQgaW50ZXJmYWNlIGFuZAogICAgICAgICAgICAgYW4gT05VIGlu dGVyZmFjZS4iCgogICAgSU5ERVggIHsgaWZJbmRleH0KICAgIDo6PSB7IGRvdDNNcGNwU3RhdFRh YmxlIDEgfQoKRG90M01wY3BTdGF0RW50cnkgOjo9CiAgICBTRVFVRU5DRSB7CiAgICAgICAgICAg IGRvdDNNcGNwTUFDQ3RybEZyYW1lc1RyYW5zbWl0dGVkICAgICAgIENvdW50ZXI2NCwKICAgICAg ICAgICAgZG90M01wY3BNQUNDdHJsRnJhbWVzUmVjZWl2ZWQgICAgICAgICAgQ291bnRlcjY0LAog ICAgICAgICAgICBkb3QzTXBjcERpc2NvdmVyeVdpbmRvd3NTZW50ICAgICAgICAgICBDb3VudGVy MzIsCiAgICAgICAgICAgIGRvdDNNcGNwRGlzY292ZXJ5VGltZW91dCAgICAgICAgICAgICAgIENv dW50ZXIzMiwKICAgICAgICAgICAgZG90M01wY3BUeFJlZ1JlcXVlc3QgICAgICAgICAgICAgICAg ICAgQ291bnRlcjY0LAogICAgICAgICAgICBkb3QzTXBjcFJ4UmVnUmVxdWVzdCAgICAgICAgICAg ICAgICAgICBDb3VudGVyNjQsCiAgICAgICAgICAgIGRvdDNNcGNwVHhSZWdBY2sgICAgICAgICAg ICAgICAgICAgICAgIENvdW50ZXI2NCwKICAgICAgICAgICAgZG90M01wY3BSeFJlZ0FjayAgICAg ICAgICAgICAgICAgICAgICAgQ291bnRlcjY0LAogICAgICAgICAgICBkb3QzTXBjcFR4UmVwb3J0 ICAgICAgICAgICAgICAgICAgICAgICBDb3VudGVyNjQsCiAgICAgICAgICAgIGRvdDNNcGNwUnhS ZXBvcnQgICAgICAgICAgICAgICAgICAgICAgIENvdW50ZXI2NCwKICAgICAgICAgICAgZG90M01w Y3BUeEdhdGUgICAgICAgICAgICAgICAgICAgICAgICAgQ291bnRlcjY0LAogICAgICAgICAgICBk b3QzTXBjcFJ4R2F0ZSAgICAgICAgICAgICAgICAgICAgICAgICBDb3VudGVyNjQsCiAgICAgICAg ICAgIGRvdDNNcGNwVHhSZWdpc3RlciAgICAgICAgICAgICAgICAgICAgIENvdW50ZXI2NCwKICAg ICAgICAgICAgZG90M01wY3BSeFJlZ2lzdGVyICAgICAgICAgICAgICAgICAgICAgQ291bnRlcjY0 CiAgICB9Cgpkb3QzTXBjcE1BQ0N0cmxGcmFtZXNUcmFuc21pdHRlZCBPQkpFQ1QtVFlQRQogICAg U1lOVEFYICBDb3VudGVyNjQKICAgIFVOSVRTICAgICAgImZyYW1lcyIKICAgIE1BWC1BQ0NFU1Mg IHJlYWQtb25seQogICAgU1RBVFVTICBjdXJyZW50CiAgICBERVNDUklQVElPTgogICAgICAgICAg ICAiQSBjb3VudCBvZiBNUENQIGZyYW1lcyBwYXNzZWQgdG8gdGhlIE1BQyBzdWJsYXllciBmb3IK ICAgICAgICAgICAgIHRyYW5zbWlzc2lvbi4gVGhpcyBjb3VudGVyIGlzIGluY3JlbWVudGVkIHdo ZW4gYQogICAgICAgICAgICAgTUFfQ09OVFJPTC5yZXF1ZXN0IHNlcnZpY2UgcHJpbWl0aXZlIGlz IGdlbmVyYXRlZCB3aXRoaW4KICAgICAgICAgICAgIHRoZSBNQUMgY29udHJvbCBzdWJsYXllciB3 aXRoIGFuIG9wY29kZSBpbmRpY2F0aW5nIGEKICAgICAgICAgICAgIE1QQ1AgZnJhbWUuCiAgICAg ICAgICAgICBUaGlzIGNvdW50ZXIgaXMgcmVsZXZhbnQgZm9yIGFuIE9MVCBhbmQgYW4gT05VLiBG b3IKICAgICAgICAgICAgIHRoZSBPTFQgdGhlcmUgaXMgYSB2YWx1ZSBwZXIgTExJRC4iCiAgICBS RUZFUkVOQ0UgICAiWzgwMi4zYWhdLCAzMC4zLjUuMS43LiIKICAgIDo6PSB7IGRvdDNNcGNwU3Rh dEVudHJ5IDEgfQoKZG90M01wY3BNQUNDdHJsRnJhbWVzUmVjZWl2ZWQgT0JKRUNULVRZUEUKICAg IFNZTlRBWCAgQ291bnRlcjY0CiAgICBVTklUUyAgICAgICJmcmFtZXMiCiAgICBNQVgtQUNDRVNT ICByZWFkLW9ubHkKICAgIFNUQVRVUyAgY3VycmVudAogICAgREVTQ1JJUFRJT04KICAgICAgICAg ICAgIkEgY291bnQgb2YgTVBDUCBmcmFtZXMgcGFzc2VkIGJ5IHRoZSBNQUMgc3VibGF5ZXIgdG8g dGhlCiAgICAgICAgICAgICBNQUMgQ29udHJvbCBzdWJsYXllci4gVGhpcyBjb3VudGVyIGlzIGlu Y3JlbWVudGVkIHdoZW4gYQogICAgICAgICAgICAgUmVjZWl2ZUZyYW1lIGZ1bmN0aW9uIGNhbGwg cmV0dXJucyBhIHZhbGlkIGZyYW1lIHdpdGg6CiAgICAgICAgICAgICAoMSkgYSBsZW5ndGhPclR5 cGUgZmllbGQgdmFsdWUgZXF1YWwgdG8gdGhlIHJlc2VydmVkCiAgICAgICAgICAgICBUeXBlIGZv ciA4MDIuM19NQUNfQ29udHJvbCBhcyBzcGVjaWZpZWQgaW4gMzEuNC4xLjMsIGFuZAogICAgICAg ICAgICAgKDIpIGFuIG9wY29kZSBpbmRpY2F0aW5nIGEgTVBDUCBmcmFtZS4KICAgICAgICAgICAg IFRoaXMgY291bnRlciBpcyByZWxldmFudCBmb3IgYW4gT0xUIGFuZCBhbiBPTlUuIEZvcgogICAg ICAgICAgICAgdGhlIE9MVCB0aGVyZSBpcyBhIHZhbHVlIHBlciBMTElELiIKICAgIFJFRkVSRU5D RSAgICJbODAyLjNhaF0sIDMwLjMuNS4xLjguIgogICAgOjo9IHsgZG90M01wY3BTdGF0RW50cnkg Mn0KCmRvdDNNcGNwRGlzY292ZXJ5V2luZG93c1NlbnQgT0JKRUNULVRZUEUKICAgIFNZTlRBWCAg Q291bnRlcjMyCiAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgIFNUQVRVUyAgY3VycmVudAog ICAgREVTQ1JJUFRJT04KICAgICAgICAgICAgIkEgY291bnQgb2YgZGlzY292ZXJ5IHdpbmRvd3Mg Z2VuZXJhdGVkLiBUaGUgY291bnRlciBpcwogICAgICAgICAgICAgaW5jcmVtZW50ZWQgYnkgb25l IGZvciBlYWNoIGdlbmVyYXRlZCBkaXNjb3Zlcnkgd2luZG93LgogICAgICAgICAgICAgVGhpcyBj b3VudGVyIGlzIHJlbGV2YW50IGZvciBhbiBPTFQgYW5kIGFuIE9OVS4gRm9yCiAgICAgICAgICAg ICB0aGUgT0xUIHRoZXJlIGlzIGEgdmFsdWUgcGVyIExMSUQuIEF0IHRoZSBPTlUgdmFsdWUKICAg ICAgICAgICAgIHNob3VsZCBiZSB6ZXJvLiIKICAgIFJFRkVSRU5DRSAgICJbODAyLjNhaF0sIDMw LjMuNS4xLjIyLiIKICAgIDo6PSB7IGRvdDNNcGNwU3RhdEVudHJ5IDN9Cgpkb3QzTXBjcERpc2Nv dmVyeVRpbWVvdXQgT0JKRUNULVRZUEUKICAgIFNZTlRBWCAgQ291bnRlcjMyCiAgICBNQVgtQUND RVNTICByZWFkLW9ubHkKICAgIFNUQVRVUyAgY3VycmVudAogICAgREVTQ1JJUFRJT04KICAgICAg ICAgICAgIkEgY291bnQgb2YgdGhlIG51bWJlciBvZiB0aW1lcyBhIGRpc2NvdmVyeSB0aW1lb3V0 CiAgICAgICAgICAgICBvY2N1cnMuIEluY3JlbWVudCB0aGUgY291bnRlciBieSBvbmUgZm9yIGVh Y2ggZGlzY292ZXJ5CiAgICAgICAgICAgICBwcm9jZXNzaW5nIHN0YXRlLW1hY2hpbmUgcmVzZXQg cmVzdWx0aW5nIGZyb20gdGltZW91dAogICAgICAgICAgICAgd2FpdGluZyBmb3IgbWVzc2FnZSBh cnJpdmFsLgogICAgICAgICAgICAgVGhpcyBjb3VudGVyIGlzIHJlbGV2YW50IGZvciBhbiBPTFQg YW5kIGFuIE9OVS4gRm9yCiAgICAgICAgICAgICB0aGUgT0xUIHRoZXJlIGlzIGEgdmFsdWUgcGVy IExMSUQuIgogICAgUkVGRVJFTkNFICAgIls4MDIuM2FoXSwgMzAuMy41LjEuMjMuIgogICAgOjo9 IHsgZG90M01wY3BTdGF0RW50cnkgNH0KCgpkb3QzTXBjcFR4UmVnUmVxdWVzdCBPQkpFQ1QtVFlQ RQogICAgU1lOVEFYICBDb3VudGVyNjQKICAgIFVOSVRTICAgICAgImZyYW1lcyIKICAgIE1BWC1B Q0NFU1MgIHJlYWQtb25seQogICAgU1RBVFVTICBjdXJyZW50CiAgICBERVNDUklQVElPTgogICAg ICAgICAgICAiQSBjb3VudCBvZiB0aGUgbnVtYmVyIG9mIHRpbWVzIGEgUkVHSVNURVJfUkVRIE1Q Q1AKICAgICAgICAgICAgIGZyYW1lcyB0cmFuc21pc3Npb24gb2NjdXJzLiBJbmNyZW1lbnQgdGhl IGNvdW50ZXIgYnkgb25lCiAgICAgICAgICAgICBmb3IgZWFjaCBSRUdJU1RFUl9SRVEgTVBDUCBm cmFtZSB0cmFuc21pdHRlZCBhcyBkZWZpbmVkCiAgICAgICAgICAgICBpbiBbODAyLjNhaF0gY2xh dXNlIDY0LiBUaGlzIGNvdW50ZXIgaXMgbWFuZGF0b3J5IGZvciBhbgogICAgICAgICAgICAgT05V LiBUaGlzIGNvdW50ZXIgaXMgcmVsZXZhbnQgZm9yIGFuIE9MVCBhbmQgYW4gT05VLgogICAgICAg ICAgICAgRm9yIHRoZSBPTFQgdGhlcmUgaXMgYSB2YWx1ZSBwZXIgTExJRC4gQXQgdGhlIE9MVCB2 YWx1ZQogICAgICAgICAgICAgc2hvdWxkIGJlIHplcm8uIgogICAgUkVGRVJFTkNFICAgIls4MDIu M2FoXSwgMzAuMy41LjEuMTIuIgogICAgOjo9IHsgZG90M01wY3BTdGF0RW50cnkgNX0KCmRvdDNN cGNwUnhSZWdSZXF1ZXN0IE9CSkVDVC1UWVBFCiAgICBTWU5UQVggIENvdW50ZXI2NAogICAgVU5J VFMgICAgICAiZnJhbWVzIgogICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICBTVEFUVVMgIGN1 cnJlbnQKICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAgICJBIGNvdW50IG9mIHRoZSBudW1iZXIg b2YgdGltZXMgYSBSRUdJU1RFUl9SRVEgTVBDUAogICAgICAgICAgICAgZnJhbWVzIHJlY2VwdGlv biBvY2N1cnMuIEEgc2luZ2xlIGNvdW50ZXIgYXQgdGhlIE9OVSBhbmQKICAgICAgICAgICAgIGEg c2V0IG9mIGNvdW50ZXJzLCBvbmUgZm9yIGVhY2ggTExJRCwgYXQgdGhlIE9MVC4KICAgICAgICAg ICAgIEluY3JlbWVudCB0aGUgY291bnRlciBieSBvbmUgZm9yIGVhY2ggUkVHSVNURVJfUkVRIE1Q Q1AKICAgICAgICAgICAgIGZyYW1lIHJlY2VpdmVkIGZvciBlYWNoIExMSUQgYXMgZGVmaW5lZCBp biBbODAyLjNhaF0KICAgICAgICAgICAgIGNsYXVzZSA2NC4gVGhpcyBjb3VudGVyIGlzIG1hbmRh dG9yeSBmb3IgYW4gT05VIGFuZCBmb3IKICAgICAgICAgICAgIGFuIE9MVC4gRm9yIHRoZSBPTFQg dGhlcmUgaXMgYSB2YWx1ZSBwZXIgTExJRC4KICAgICAgICAgICAgIEF0IHRoZSBPTlUgdmFsdWUg c2hvdWxkIGJlIHplcm8uIgogICAgUkVGRVJFTkNFICAgIls4MDIuM2FoXSwgMzAuMy41LjEuMTcu IgogICAgOjo9IHsgZG90M01wY3BTdGF0RW50cnkgNn0KCmRvdDNNcGNwVHhSZWdBY2sgT0JKRUNU LVRZUEUKICAgIFNZTlRBWCAgQ291bnRlcjY0CiAgICBVTklUUyAgICAgICJmcmFtZXMiCiAgICBN QVgtQUNDRVNTICByZWFkLW9ubHkKICAgIFNUQVRVUyAgY3VycmVudAogICAgREVTQ1JJUFRJT04K ICAgICAgICAgICAgIkEgY291bnQgb2YgdGhlIG51bWJlciBvZiB0aW1lcyBhIFJFR0lTVEVSX0FD SyBNUENQCiAgICAgICAgICAgICBmcmFtZXMgdHJhbnNtaXNzaW9uIG9jY3Vycy4gSW5jcmVtZW50 IHRoZSBjb3VudGVyIGJ5IG9uZQogICAgICAgICAgICAgZm9yIGVhY2ggUkVHSVNURVJfQUNLIE1Q Q1AgZnJhbWUgdHJhbnNtaXR0ZWQgYXMgZGVmaW5lZAogICAgICAgICAgICAgaW4gWzgwMi4zYWhd IGNsYXVzZSA2NC4gVGhpcyBjb3VudGVyIGlzIG1hbmRhdG9yeSBmb3IgYW4KICAgICAgICAgICAg IE9OVS4gVGhpcyBvYmplY3QgaXMgcmVsZXZhbnQgZm9yIGFuIE9MVCBhbmQgYW4gT05VLgogICAg ICAgICAgICAgRm9yIHRoZSBPTFQgdGhlcmUgaXMgYSB2YWx1ZSBwZXIgTExJRC4gQXQgdGhlIE9M VCB0aGUKICAgICAgICAgICAgIHZhbHVlIHNob3VsZCBiZSB6ZXJvLiIKICAgIFJFRkVSRU5DRSAg ICJbODAyLjNhaF0sIDMwLjMuNS4xLjEwLiIKICAgIDo6PSB7IGRvdDNNcGNwU3RhdEVudHJ5IDd9 Cgpkb3QzTXBjcFJ4UmVnQWNrIE9CSkVDVC1UWVBFCiAgICBTWU5UQVggIENvdW50ZXI2NAogICAg VU5JVFMgICAgICAiZnJhbWVzIgogICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICBTVEFUVVMg IGN1cnJlbnQKICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAgICJBIGNvdW50IG9mIHRoZSBudW1i ZXIgb2YgdGltZXMgYSBSRUdJU1RFUl9BQ0sgTVBDUAogICAgICAgICAgICAgZnJhbWVzIHJlY2Vw dGlvbiBvY2N1cnMuIEEgc2luZ2xlIGNvdW50ZXIgYXQgdGhlIE9OVSBhbmQKICAgICAgICAgICAg IGEgc2V0IG9mIGNvdW50ZXJzLCBvbmUgZm9yIGVhY2ggTExJRCwgYXQgdGhlIE9MVC4KICAgICAg ICAgICAgIEluY3JlbWVudCB0aGUgY291bnRlciBieSBvbmUgZm9yIGVhY2ggUkVHSVNURVJfQUNL IE1QQ1AKICAgICAgICAgICAgIGZyYW1lIHJlY2VpdmVkIGZvciBlYWNoIExMSUQsIGFzIGRlZmlu ZWQgaW4gWzgwMi4zYWhdCiAgICAgICAgICAgICBjbGF1c2UgNjQuIFRoaXMgY291bnRlciBpcyBt YW5kYXRvcnkgZm9yIGFuIE9OVSBhbmQgZm9yCiAgICAgICAgICAgICBhbiBPTFQuIEZvciB0aGUg T0xUIHRoZXJlIGlzIGEgdmFsdWUgcGVyIExMSUQuCiAgICAgICAgICAgICBBdCB0aGUgT05VIHRo ZSB2YWx1ZSBzaG91bGQgYmUgemVyby4iCiAgICBSRUZFUkVOQ0UgICAiWzgwMi4zYWhdLCAzMC4z LjUuMS4xNS4iCiAgICA6Oj0geyBkb3QzTXBjcFN0YXRFbnRyeSA4fQoKZG90M01wY3BUeFJlcG9y dCBPQkpFQ1QtVFlQRQogICAgU1lOVEFYICBDb3VudGVyNjQKICAgIFVOSVRTICAgICAgImZyYW1l cyIKICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgU1RBVFVTICBjdXJyZW50CiAgICBERVND UklQVElPTgogICAgICAgICAgICAiQSBjb3VudCBvZiB0aGUgbnVtYmVyIG9mIHRpbWVzIGEgUkVQ T1JUIE1QQ1AgZnJhbWVzCiAgICAgICAgICAgICB0cmFuc21pc3Npb24gb2NjdXJzLiBJbmNyZW1l bnQgdGhlIGNvdW50ZXIgYnkgb25lIGZvcgogICAgICAgICAgICAgZWFjaCBSRVBPUlQgTVBDUCBm cmFtZSB0cmFuc21pdHRlZCBhcyBkZWZpbmVkIGluCiAgICAgICAgICAgICBbODAyLjNhaF0gY2xh dXNlIDY0LiBUaGlzIGNvdW50ZXIgaXMgbWFuZGF0b3J5IGZvciBhbgogICAgICAgICAgICAgT05V LiBUaGlzIGNvdW50ZXIgaXMgcmVsZXZhbnQgZm9yIGFuIE9MVCBhbmQgYW4gT05VLgogICAgICAg ICAgICAgRm9yIHRoZSBPTFQgdGhlcmUgaXMgYSB2YWx1ZSBwZXIgTExJRC4KICAgICAgICAgICAg IEF0IHRoZSBPTFQgdmFsdWUgc2hvdWxkIGJlIHplcm8uIgogICAgUkVGRVJFTkNFICAgIls4MDIu M2FoXSwgMzAuMy41LjEuMTMuIgogICAgOjo9IHsgZG90M01wY3BTdGF0RW50cnkgOX0KCmRvdDNN cGNwUnhSZXBvcnQgT0JKRUNULVRZUEUKICAgIFNZTlRBWCAgQ291bnRlcjY0CiAgICBVTklUUyAg ICAgICJmcmFtZXMiCiAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgIFNUQVRVUyAgY3VycmVu dAogICAgREVTQ1JJUFRJT04KICAgICAgICAgICAgIkEgY291bnQgb2YgdGhlIG51bWJlciBvZiB0 aW1lcyBhIFJFUE9SVCBNUENQIGZyYW1lcwogICAgICAgICAgICAgcmVjZXB0aW9uIG9jY3Vycy4g QSBzaW5nbGUgY291bnRlciBhdCB0aGUgT05VIGFuZCBhIHNldAogICAgICAgICAgICAgb2YgY291 bnRlcnMsIG9uZSBmb3IgZWFjaCBMTElELCBhdCB0aGUgT0xULiBJbmNyZW1lbnQKICAgICAgICAg ICAgIHRoZSBjb3VudGVyIGJ5IG9uZSBmb3IgZWFjaCBSRVBPUlQgTVBDUCBmcmFtZSByZWNlaXZl ZAogICAgICAgICAgICAgZm9yIGVhY2ggTExJRCwgYXMgZGVmaW5lZCBpbiBbODAyLjNhaF0gY2xh dXNlIDY0LgogICAgICAgICAgICAgVGhpcyBjb3VudGVyIGlzIG1hbmRhdG9yeSBmb3IgYW4gT05V IGFuZCBmb3IgYW4gT0xULgogICAgICAgICAgICAgRm9yIHRoZSBPTFQgdGhlcmUgaXMgYSB2YWx1 ZSBwZXIgTExJRC4KICAgICAgICAgICAgIEF0IHRoZSBPTlUgdmFsdWUgc2hvdWxkIGJlIHplcm8u IgogICAgUkVGRVJFTkNFICAgIls4MDIuM2FoXSwgMzAuMy41LjEuMTguIgogICAgOjo9IHsgZG90 M01wY3BTdGF0RW50cnkgMTB9Cgpkb3QzTXBjcFR4R2F0ZSBPQkpFQ1QtVFlQRQogICAgU1lOVEFY ICBDb3VudGVyNjQKICAgIFVOSVRTICAgICAgImZyYW1lcyIKICAgIE1BWC1BQ0NFU1MgIHJlYWQt b25seQogICAgU1RBVFVTICBjdXJyZW50CiAgICBERVNDUklQVElPTgogICAgICAgICAgICAiQSBj b3VudCBvZiB0aGUgbnVtYmVyIG9mIHRpbWVzIGEgR0FURSBNUENQIGZyYW1lcwogICAgICAgICAg ICAgdHJhbnNtaXNzaW9uIG9jY3Vycy4gQSBzZXQgb2YgY291bnRlcnMsIG9uZSBmb3IgZWFjaAog ICAgICAgICAgICAgTExJRCwgYXQgdGhlIE9MVC4gSW5jcmVtZW50IHRoZSBjb3VudGVyIGJ5IG9u ZSBmb3IgZWFjaAogICAgICAgICAgICAgR0FURSBNUENQIGZyYW1lIHRyYW5zbWl0dGVkLCBmb3Ig ZWFjaCBMTElELCBhcyBkZWZpbmVkCiAgICAgICAgICAgICBpbiBbODAyLjNhaF0gY2xhdXNlIDY0 LiBUaGlzIGNvdW50ZXIgaXMgbWFuZGF0b3J5IGZvciBhbgogICAgICAgICAgICAgT0xULiBUaGlz IGNvdW50ZXIgaXMgcmVsZXZhbnQgZm9yIGFuIE9MVCBhbmQgYW4gT05VLgogICAgICAgICAgICAg Rm9yIHRoZSBPTFQgdGhlcmUgaXMgYSB2YWx1ZSBwZXIgTExJRC4KICAgICAgICAgICAgIEF0IHRo ZSBPTlUgdGhlIHZhbHVlIHNob3VsZCBiZSB6ZXJvLiIKICAgIFJFRkVSRU5DRSAgICJbODAyLjNh aF0sIDMwLjMuNS4xLjkuIgogICAgOjo9IHsgZG90M01wY3BTdGF0RW50cnkgMTF9Cgpkb3QzTXBj cFJ4R2F0ZSBPQkpFQ1QtVFlQRQogICAgU1lOVEFYICBDb3VudGVyNjQKICAgIFVOSVRTICAgICAg ImZyYW1lcyIKICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgU1RBVFVTICBjdXJyZW50CiAg ICBERVNDUklQVElPTgogICAgICAgICAgICAiQSBjb3VudCBvZiB0aGUgbnVtYmVyIG9mIHRpbWVz IGEgR0FURSBNUENQIGZyYW1lcwogICAgICAgICAgICAgcmVjZXB0aW9uIG9jY3Vycy4gQSBzaW5n bGUgY291bnRlciBhdCB0aGUgT05VIGFuZCBhIHNldAogICAgICAgICAgICAgb2YgY291bnRlcnMs IG9uZSBmb3IgZWFjaCBMTElEICxhdCB0aGUgT0xULiBJbmNyZW1lbnQKICAgICAgICAgICAgIHRo ZSBjb3VudGVyIGJ5IG9uZSBmb3IgZWFjaCBHQVRFIE1QQ1AgZnJhbWUgcmVjZWl2ZWQsCiAgICAg ICAgICAgICBmb3IgZWFjaCBMTElELCBhcyBkZWZpbmVkIGluIFs4MDIuM2FoXSBjbGF1c2UgNjQu IFRoaXMKICAgICAgICAgICAgIGNvdW50ZXIgaXMgbWFuZGF0b3J5IGZvciBhbiBPTlUgYW5kIGZv ciBhbiBPTFQuIEZvciB0aGUKICAgICAgICAgICAgIE9MVCB0aGVyZSBpcyBhIHZhbHVlIHBlciBM TElELiBBdCB0aGUgT0xUIHRoZSB2YWx1ZQogICAgICAgICAgICAgc2hvdWxkIGJlIHplcm8uIgog ICAgUkVGRVJFTkNFICAgIls4MDIuM2FoXSwgMzAuMy41LjEuMTQuIgogICAgOjo9IHsgZG90M01w Y3BTdGF0RW50cnkgMTJ9Cgpkb3QzTXBjcFR4UmVnaXN0ZXIgT0JKRUNULVRZUEUKICAgIFNZTlRB WCAgQ291bnRlcjY0CiAgICBVTklUUyAgICAgICJmcmFtZXMiCiAgICBNQVgtQUNDRVNTICByZWFk LW9ubHkKICAgIFNUQVRVUyAgY3VycmVudAogICAgREVTQ1JJUFRJT04KICAgICAgICAgICAgIkEg Y291bnQgb2YgdGhlIG51bWJlciBvZiB0aW1lcyBhIFJFR0lTVEVSIE1QQ1AgZnJhbWVzCiAgICAg ICAgICAgICB0cmFuc21pc3Npb24gb2NjdXJzLiBBIHNldCBvZiBjb3VudGVycywgb25lIGZvciBl YWNoCiAgICAgICAgICAgICBMTElELCBhdCB0aGUgT0xULiBJbmNyZW1lbnQgdGhlIGNvdW50ZXIg Ynkgb25lIGZvciBlYWNoCiAgICAgICAgICAgICBSRUdJU1RFUiBNUENQIGZyYW1lIHRyYW5zbWl0 dGVkLCBmb3IgZWFjaCBMTElELCBhcwogICAgICAgICAgICAgZGVmaW5lZCBpbiBbODAyLjNhaF0g Y2xhdXNlIDY0LiBUaGlzIGNvdW50ZXIgaXMKICAgICAgICAgICAgIG1hbmRhdG9yeSBmb3IgYW4g T0xULiBUaGlzIGNvdW50ZXIgaXMgcmVsZXZhbnQgZm9yIGFuCiAgICAgICAgICAgICBPTFQgYW5k IGFuIE9OVS4gRm9yIHRoZSBPTFQgdGhlcmUgaXMgYSB2YWx1ZSBwZXIgTExJRC4KICAgICAgICAg ICAgIEF0IHRoZSBPTlUgdGhlIHZhbHVlIHNob3VsZCBiZSB6ZXJvLiIKICAgIFJFRkVSRU5DRSAg ICJbODAyLjNhaF0sIDMwLjMuNS4xLjExLiIKICAgIDo6PSB7IGRvdDNNcGNwU3RhdEVudHJ5IDEz fQoKZG90M01wY3BSeFJlZ2lzdGVyIE9CSkVDVC1UWVBFCiAgICBTWU5UQVggIENvdW50ZXI2NAog ICAgVU5JVFMgICAgICAiZnJhbWVzIgogICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICBTVEFU VVMgIGN1cnJlbnQKICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAgICJBIGNvdW50IG9mIHRoZSBu dW1iZXIgb2YgdGltZXMgYSBSRUdJU1RFUiBNUENQIGZyYW1lcwogICAgICAgICAgICAgcmVjZXB0 aW9uIG9jY3Vycy4gQSBzaW5nbGUgY291bnRlciBhdCB0aGUgT05VIGFuZCBhIHNldAogICAgICAg ICAgICAgb2YgY291bnRlcnMsIG9uZSBmb3IgZWFjaCBMTElELCBhdCB0aGUgT0xULiBJbmNyZW1l bnQKICAgICAgICAgICAgIHRoZSBjb3VudGVyIGJ5IG9uZSBmb3IgZWFjaCBSRUdJU1RFUiBNUENQ IGZyYW1lCiAgICAgICAgICAgICByZWNlaXZlZCwgZm9yIGVhY2ggTExJRCwgYXMgZGVmaW5lZCBp biBbODAyLjNhaF0gY2xhdXNlCiAgICAgICAgICAgICA2NC4gVGhpcyBjb3VudGVyIGlzIG1hbmRh dG9yeSBmb3IgYW4gT05VIGFuZCBmb3IgYW4gT0xULgogICAgICAgICAgICAgRm9yIHRoZSBPTFQg dGhlcmUgaXMgYSB2YWx1ZSBwZXIgTExJRC4KICAgICAgICAgICAgIGF0IHRoZSBPTFQgdGhlIHZh bHVlIHNob3VsZCBiZSB6ZXJvLiIKICAgIFJFRkVSRU5DRSAgICJbODAyLjNhaF0sIDMwLjMuNS4x LjE2LiIKICAgIDo6PSB7IGRvdDNNcGNwU3RhdEVudHJ5IDE0fQoKCgoKLS0gT01QRW11bGF0aW9u IG1hbmFnZWQgb2JqZWN0IGRlZmluaXRpb25zCgoKZG90M09tcEVtdWxhdGlvbk9iamVjdHMgT0JK RUNUIElERU5USUZJRVIgOjo9e2RvdDNFcG9uT2JqZWN0cyAyfQoKCmRvdDNPbXBFbXVsYXRpb25U YWJsZSBPQkpFQ1QtVFlQRQogICAgU1lOVEFYICBTRVFVRU5DRSBPRiBEb3QzT21wRW11bGF0aW9u RW50cnkKICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAgICBTVEFUVVMgIGN1cnJlbnQK ICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAgICJUYWJsZSBmb3IgZG90MyBPbXBFbXVsYXRpb24g TUlCIG9iamVjdHMuIFRoZSB0YWJsZQogICAgICAgICAgICAgZGVmaW5lcyB0aGUgcGFyYW1ldGVy IHNldHRpbmdzIG9mIHRoZSBPTVAgRW11bGF0aW9uCiAgICAgICAgICAgICBsYXllci4gRWFjaCBv YmplY3QgaGFzIGEgcm93IGZvciBldmVyeSB2aXJ0dWFsIGxpbmsKICAgICAgICAgICAgIGFjY29y ZGluZyB0byB0aGUgcHJvcGVyIGlmSW5kZXguIFR5cGljYWxseSB0aGUgbnVtYmVyCiAgICAgICAg ICAgICBvZiBleHBlY3RlZCB2aXJ0dWFsIGxpbmsgaW4gYSBQT04gaXMgbGlrZSB0aGUgbnVtYmVy IG9mCiAgICAgICAgICAgICBPTlVzIDMyLTY0IHBsdXMgYW4gYWRkaXRpb25hbCBlbnRyeSBmb3Ig YnJvYWRjYXN0IExMSUQKICAgICAgICAgICAgICh3aGljaCBpcyBtYXJrZWQgYnkgMHhmZmZmKS4g SW4gdGhlIFs4MDIuM2FoXSB0aGUgTExJRAogICAgICAgICAgICAgaXMgYSAyYnl0ZXMgcmVnaXN0 ZXIgYW5kIHRoZSBudW1iZXIgb2YgTExJRHMgbGltaXRlZCBieQogICAgICAgICAgICAgdGhhdC4i CiAgICA6Oj0geyBkb3QzT21wRW11bGF0aW9uT2JqZWN0cyAxIH0KCmRvdDNPbXBFbXVsYXRpb25F bnRyeSBPQkpFQ1QtVFlQRQogICAgU1lOVEFYICBEb3QzT21wRW11bGF0aW9uRW50cnkKICAgIE1B WC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAgICBTVEFUVVMgIGN1cnJlbnQKICAgIERFU0NSSVBU SU9OCiAgICAgICAgICAgICJBbiBlbnRyeSBpbiB0aGUgZG90MyBPbXBFbXVsYXRpb24gdGFibGUu CiAgICAgICAgICAgICBSb3dzIGluIHRoZSB0YWJsZSBhcmUgY3JlYXRlZCB3aGVuIGlmSW5kZXhz IGFyZSBjcmVhdGVkLgogICAgICAgICAgICAgRm9yIHRoZSBPTlUgcm93cyBhcmUgY3JlYXRlZCBh dCBzeXN0ZW0gaW5pdGlhbGl6YXRpb24uCiAgICAgICAgICAgICBGb3IgdGhlIE9MVCB0aGUgcm93 cyBvZiB0aGUgT0xUIGlmSW5kZXggYW5kIHRoZSByb3cgb2YKICAgICAgICAgICAgIHRoZSBpZklu ZGV4IHJlZmVycmluZyB0byB0aGUgYnJvYWRjYXN0IHZpcnR1YWwgbGluayBhcmUKICAgICAgICAg ICAgIGNyZWF0ZWQgYXQgc3lzdGVtIGluaXRpYWxpemF0aW9uLiBGb3IgdGhlIGlmSW5kZXhzCiAg ICAgICAgICAgICByZWZlcnJpbmcgdG8gdGhlIHZpcnR1YWwgbGlua3MgYXQgdGhlIE9MVCwgYSBy b3cgaXMKICAgICAgICAgICAgIGNyZWF0ZWQgd2hlbiBhIHZpcnR1YWwgbGluayBpcyBlc3RhYmxp c2hlZCAoT05VCiAgICAgICAgICAgICByZWdpc3RlcnMpIGFuZCBkZWxldGVkIHdoZW4gdGhlIHZp cnR1YWwgbGluayBpcyBkZWxldGVkCiAgICAgICAgICAgICAoT05VIGRlcmVnaXN0ZXJzKS4gUm93 cyBleGlzdCBmb3IgYW4gT0xUIGludGVyZmFjZSBhbmQKICAgICAgICAgICAgIGFuIE9OVSBpbnRl cmZhY2UuIgogICAgSU5ERVggIHsgaWZJbmRleCB9CiAgICA6Oj0geyBkb3QzT21wRW11bGF0aW9u VGFibGUgMSB9CgogICAgRG90M09tcEVtdWxhdGlvbkVudHJ5IDo6PQogICAgU0VRVUVOQ0Ugewog ICAgICAgICAgICBkb3QzT21wRW11bGF0aW9uVHlwZSAgICAgICAgICAgICAgIElOVEVHRVIKICAg IH0KCmRvdDNPbXBFbXVsYXRpb25UeXBlIE9CSkVDVC1UWVBFCiAgICBTWU5UQVggIElOVEVHRVIg ewogICAgICAgICAgICB1bmtub3duKDEpLAogICAgICAgICAgICBvbHQoMiksCiAgICAgICAgICAg IG9udSgzKQogICAgfQogICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICBTVEFUVVMgIGN1cnJl bnQKICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAgICJBIHZhbHVlIHRoYXQgaW5kaWNhdGVzIHRo YXQgbW9kZSBvZiBvcGVyYXRpb24KICAgICAgICAgICAgIG9mIHRoZSBSZWNvbmNpbGlhdGlvbiBT dWJsYXllciBmb3IgUG9pbnQgdG8gUG9pbnQKICAgICAgICAgICAgIEVtdWxhdGlvbiAoc2VlIFs4 MDIuM2FoXSBjbGF1c2UgNjUuMSkuIHVua25vd24oMSkgdmFsdWUKICAgICAgICAgICAgIGlzIGFz c2lnbmVkIGluIGluaXRpYWxpemluZywgdHJ1ZSBzdGF0ZSBvciB0eXBlIG5vdCB5ZXQKICAgICAg ICAgICAgIGtub3duLiBvbHQoMikgdmFsdWUgaXMgYXNzaWduZWQgd2hlbiBTdWJsYXllciBvcGVy YXRpbmcKICAgICAgICAgICAgIGluIE9MVCBtb2RlLiBvbnUoMykgdmFsdWUgaXMgYXNzaWduZWQg d2hlbiBTdWJsYXllcgogICAgICAgICAgICAgb3BlcmF0aW5nIGluIE9OVSBtb2RlLgogICAgICAg ICAgICAgVGhpcyBvYmplY3QgaXMgcmVsZXZhbnQgZm9yIGFuIE9MVCwgc2FtZSBmb3IgYWxsCiAg ICAgICAgICAgICB2aXJ0dWFsIGxpbmtzLCBhbmQgZm9yIGFuIE9OVS4iCiAgICBSRUZFUkVOQ0Ug ICAiWzgwMi4zYWhdLCAzMC4zLjcuMS4yLiIKICAgIDo6PSB7IGRvdDNPbXBFbXVsYXRpb25FbnRy eSAxfQoKZG90M09tcEVtdWxhdGlvblN0YXRUYWJsZSBPQkpFQ1QtVFlQRQogICAgU1lOVEFYICAg ICBTRVFVRU5DRSBPRiBEb3QzT21wRW11bGF0aW9uU3RhdEVudHJ5CiAgICBNQVgtQUNDRVNTIG5v dC1hY2Nlc3NpYmxlCiAgICBTVEFUVVMgICAgIGN1cnJlbnQKICAgIERFU0NSSVBUSU9OCiAgICAg ICAgICAgICJUaGlzIHRhYmxlIGRlZmluZXMgdGhlIGxpc3Qgb2Ygc3RhdGlzdGljcyBjb3VudGVy cyBmb3IKICAgICAgICAgICAgIFs4MDIuM2FoXSBjbGF1c2UgNjUgT01QIGludGVyZmFjZS4KICAg ICAgICAgICAgIEVhY2ggb2JqZWN0IGhhcyBhIHJvdyBmb3IgZXZlcnkgdmlydHVhbCBsaW5rCiAg ICAgICAgICAgICBhY2NvcmRpbmcgdG8gdGhlIHByb3BlciBpZkluZGV4LiBUeXBpY2FsbHkgdGhl IG51bWJlcgogICAgICAgICAgICAgb2YgZXhwZWN0ZWQgdmlydHVhbCBsaW5rIGluIGEgUE9OIGlz IGxpa2UgdGhlIG51bWJlciBvZgogICAgICAgICAgICAgT05VcyAzMi02NCBwbHVzIGFuIGFkZGl0 aW9uYWwgZW50cnkgZm9yIGJyb2FkY2FzdCBMTElECiAgICAgICAgICAgICAod2hpY2ggaXMgbWFy a2VkIGJ5IDB4ZmZmZikuIEluIHRoZSBbODAyLjNhaF0gdGhlIExMSUQKICAgICAgICAgICAgIGlz IGEgMmJ5dGVzIHJlZ2lzdGVyIGFuZCB0aGUgbnVtYmVyIG9mIExMSURzIGxpbWl0ZWQgYnkKICAg ICAgICAgICAgIHRoYXQuIgogICAgOjo9IHsgZG90M09tcEVtdWxhdGlvbk9iamVjdHMgMn0KCmRv dDNPbXBFbXVsYXRpb25TdGF0RW50cnkgT0JKRUNULVRZUEUKICAgIFNZTlRBWCAgICAgRG90M09t cEVtdWxhdGlvblN0YXRFbnRyeQogICAgTUFYLUFDQ0VTUyBub3QtYWNjZXNzaWJsZQogICAgU1RB VFVTICAgICBjdXJyZW50CiAgICBERVNDUklQVElPTgogICAgICAgICAgICAiVGFibGUgZW50cmll cyBmb3IgdGhlIHRhYmxlIG9mIHN0YXRpc3RpY3MgY291bnRlcnMgb2YKICAgICAgICAgICAgIFs4 MDIuM2FoXSBjbGF1c2UgNjUgT01QIGludGVyZmFjZS4KICAgICAgICAgICAgIFJvd3MgaW4gdGhl IHRhYmxlIGFyZSBjcmVhdGVkIHdoZW4gaWZJbmRleHMgYXJlIGNyZWF0ZWQuCiAgICAgICAgICAg ICBGb3IgdGhlIE9OVSByb3dzIGFyZSBjcmVhdGVkIGF0IHN5c3RlbSBpbml0aWFsaXphdGlvbi4K ICAgICAgICAgICAgIEZvciB0aGUgT0xUIHRoZSByb3dzIG9mIHRoZSBPTFQgaWZJbmRleCBhbmQg dGhlIHJvdyBvZgogICAgICAgICAgICAgdGhlIGlmSW5kZXggcmVmZXJyaW5nIHRvIHRoZSBicm9h ZGNhc3QgdmlydHVhbCBsaW5rIGFyZQogICAgICAgICAgICAgY3JlYXRlZCBhdCBzeXN0ZW0gaW5p dGlhbGl6YXRpb24uIEZvciB0aGUgaWZJbmRleHMKICAgICAgICAgICAgIHJlZmVycmluZyB0byB0 aGUgdmlydHVhbCBsaW5rcyBhdCB0aGUgT0xULCBhIHJvdyBpcwogICAgICAgICAgICAgY3JlYXRl ZCB3aGVuIGEgdmlydHVhbCBsaW5rIGlzIGVzdGFibGlzaGVkIChPTlUKICAgICAgICAgICAgIHJl Z2lzdGVycykgYW5kIGRlbGV0ZWQgd2hlbiB0aGUgdmlydHVhbCBsaW5rIGlzIGRlbGV0ZWQKICAg ICAgICAgICAgIChPTlUgZGVyZWdpc3RlcnMpLiBSb3dzIGV4aXN0IGZvciBhbiBPTFQgaW50ZXJm YWNlIGFuZAogICAgICAgICAgICAgYW4gT05VIGludGVyZmFjZS4iCiAgICBJTkRFWCAgeyBpZklu ZGV4fQogICAgOjo9IHsgZG90M09tcEVtdWxhdGlvblN0YXRUYWJsZSAxIH0KCkRvdDNPbXBFbXVs YXRpb25TdGF0RW50cnk6Oj0KICAgIFNFUVVFTkNFIHsKICAgICAgICAgICAgZG90M09tcEVtdWxh dGlvblNMREVycm9ycyAgICAgICAgICAgICAgICAgQ291bnRlcjY0LAogICAgICAgICAgICBkb3Qz T21wRW11bGF0aW9uQ1JDOEVycm9ycyAgICAgICAgICAgICAgICBDb3VudGVyNjQsCiAgICAgICAg ICAgIGRvdDNPbXBFbXVsYXRpb25CYWRMTElEICAgICAgICAgICAgICAgICAgIENvdW50ZXI2NCwK ICAgICAgICAgICAgZG90M09tcEVtdWxhdGlvbkdvb2RMTElEICAgICAgICAgICAgICAgICAgQ291 bnRlcjY0LAogICAgICAgICAgICBkb3QzT21wRW11bGF0aW9uT251UG9uQ2FzdExMSUQgICAgICAg ICAgICBDb3VudGVyNjQsCiAgICAgICAgICAgIGRvdDNPbXBFbXVsYXRpb25PbHRQb25DYXN0TExJ RCAgICAgICAgICAgIENvdW50ZXI2NCwKICAgICAgICAgICAgZG90M09tcEVtdWxhdGlvbkJyb2Fk Y2FzdEJpdE5vdE9udUxsaWQgICAgQ291bnRlcjY0LAogICAgICAgICAgICBkb3QzT21wRW11bGF0 aW9uT251TExJRE5vdEJyb2FkY2FzdCAgICAgICBDb3VudGVyNjQsCiAgICAgICAgICAgIGRvdDNP bXBFbXVsYXRpb25Ccm9hZGNhc3RCaXRQbHVzT251TGxpZCAgICBDb3VudGVyNjQsCiAgICAgICAg ICAgIGRvdDNPbXBFbXVsYXRpb25Ob3RCcm9hZGNhc3RCaXROb3RPbnVMbGlkICBDb3VudGVyNjQK ICAgIH0KCmRvdDNPbXBFbXVsYXRpb25TTERFcnJvcnMgT0JKRUNULVRZUEUKICAgIFNZTlRBWCAg Q291bnRlcjY0CiAgICBVTklUUyAgICAgICJmcmFtZXMiCiAgICBNQVgtQUNDRVNTICByZWFkLW9u bHkKICAgIFNUQVRVUyAgY3VycmVudAogICAgREVTQ1JJUFRJT04KICAgICAgICAgICAgIkEgY291 bnQgb2YgZnJhbWVzIHJlY2VpdmVkIHRoYXQgZG8gbm90IGNvbnRhaW4gYSB2YWxpZAogICAgICAg ICAgICAgU0xEIGZpZWxkIGFzIGRlZmluZWQgaW4gWzgwMi4zYWhdIGNsYXVzZSA2NS4xLjMuMy4x LgogICAgICAgICAgICAgVGhpcyBjb3VudGVyIGlzIHJlbGV2YW50IGZvciBhbiBPTFQgYW5kIGFu IE9OVS4gRm9yIHRoZQogICAgICAgICAgICAgT0xUIHRoZXJlIGlzIGEgdmFsdWUgcGVyIExMSUQu IgogICAgUkVGRVJFTkNFICAgIls4MDIuM2FoXSwgMzAuMy43LjEuMy4iCiAgICA6Oj0geyBkb3Qz T21wRW11bGF0aW9uU3RhdEVudHJ5IDF9Cgpkb3QzT21wRW11bGF0aW9uQ1JDOEVycm9ycyBPQkpF Q1QtVFlQRQogICAgU1lOVEFYICBDb3VudGVyNjQKICAgIFVOSVRTICAgICAgImZyYW1lcyIKICAg IE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgU1RBVFVTICBjdXJyZW50CiAgICBERVNDUklQVElP TgogICAgICAgICAgICAiQSBjb3VudCBvZiBmcmFtZXMgcmVjZWl2ZWQgdGhhdCBjb250YWluIGEg dmFsaWQgU0xECiAgICAgICAgICAgICBmaWVsZCwgYXMgZGVmaW5lZCBpbiBbODAyLjNhaF0gY2xh dXNlIDY1LjEuMy4zLjEsIGJ1dCBkbwogICAgICAgICAgICAgbm90IHBhc3MgdGhlIENSQy04IGNo ZWNrIGFzIGRlZmluZWQgaW4gWzgwMi4zYWhdIGNsYXVzZQogICAgICAgICAgICAgNjUuMS4zLjMu My4KICAgICAgICAgICAgIFRoaXMgY291bnRlciBpcyByZWxldmFudCBmb3IgYW4gT0xUIGFuZCBh biBPTlUuIEZvciB0aGUKICAgICAgICAgICAgIE9MVCB0aGVyZSBpcyBhIHZhbHVlIHBlciBMTElE LiIKICAgIFJFRkVSRU5DRSAgICJbODAyLjNhaF0sIDMwLjMuNy4xLjQuIgogICAgOjo9IHsgZG90 M09tcEVtdWxhdGlvblN0YXRFbnRyeSAyfQoKCmRvdDNPbXBFbXVsYXRpb25CYWRMTElEIE9CSkVD VC1UWVBFCiAgICBTWU5UQVggIENvdW50ZXI2NAogICAgVU5JVFMgICAgICAiZnJhbWVzIgogICAg TUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICBTVEFUVVMgIGN1cnJlbnQKICAgIERFU0NSSVBUSU9O CiAgICAgICAgICAgICJBIGNvdW50IG9mIGZyYW1lcyByZWNlaXZlZCB0aGF0IGNvbnRhaW4gYSB2 YWxpZCBTTEQKICAgICAgICAgICAgIGZpZWxkLCBhcyBkZWZpbmVkIGluIFs4MDIuM2FoXSBjbGF1 c2UgNjUuMS4zLjMuMSwgYW5kCiAgICAgICAgICAgICBwYXNzIHRoZSBDUkMtOCBjaGVjaywgYXMg ZGVmaW5lZCBpbiBbODAyLjNhaF0gY2xhdXNlCiAgICAgICAgICAgICA2NS4xLjMuMy4zLCBidXQg YXJlIGRpc2NhcmRlZCBkdWUgdG8gdGhlIExMSUQgY2hlY2sgYXMKICAgICAgICAgICAgIGRlZmlu ZWQgaW4gWzgwMi4zYWhdIGNsYXVzZSA2NS4xLjMuMy4yLgogICAgICAgICAgICAgVGhpcyBjb3Vu dGVyIGlzIHJlbGV2YW50IGZvciBhbiBPTFQgYW5kIGFuIE9OVS4gRm9yIHRoZQogICAgICAgICAg ICAgT0xUIHRoZXJlIGlzIGEgdmFsdWUgcGVyIExMSUQuIgogICAgUkVGRVJFTkNFICAgIls4MDIu M2FoXSwgMzAuMy43LjEuOC4iCiAgICA6Oj0geyBkb3QzT21wRW11bGF0aW9uU3RhdEVudHJ5IDN9 Cgpkb3QzT21wRW11bGF0aW9uR29vZExMSUQgT0JKRUNULVRZUEUKICAgIFNZTlRBWCAgQ291bnRl cjY0CiAgICBVTklUUyAgICAgICJmcmFtZXMiCiAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAg IFNUQVRVUyAgY3VycmVudAogICAgREVTQ1JJUFRJT04KICAgICAgICAgICAgIkEgY291bnQgb2Yg ZnJhbWVzIHJlY2VpdmVkIHRoYXQgY29udGFpbiBhIHZhbGlkIFNMRAogICAgICAgICAgICAgZmll bGQsIGFzIGRlZmluZWQgaW4gWzgwMi4zYWhdIGNsYXVzZSA2NS4xLjMuMy4xLCBhbmQKICAgICAg ICAgICAgIHBhc3MgdGhlIENSQy04IGNoZWNrLCBhcyBkZWZpbmVkIGluIFs4MDIuM2FoXSBjbGF1 c2UKICAgICAgICAgICAgIDY1LjEuMy4zLjMuCiAgICAgICAgICAgICBUaGlzIGNvdW50ZXIgaXMg cmVsZXZhbnQgZm9yIGFuIE9MVCBhbmQgYW4gT05VLiBGb3IgdGhlCiAgICAgICAgICAgICBPTFQg dGhlcmUgaXMgYSB2YWx1ZSBwZXIgTExJRC4iCiAgICBSRUZFUkVOQ0UgICAiWzgwMi4zYWhdLCAz MC4zLjcuMS41LiIKICAgIDo6PSB7IGRvdDNPbXBFbXVsYXRpb25TdGF0RW50cnkgNH0KCgpkb3Qz T21wRW11bGF0aW9uT251UG9uQ2FzdExMSUQgT0JKRUNULVRZUEUKICAgIFNZTlRBWCAgQ291bnRl cjY0CiAgICBVTklUUyAgICAgICJmcmFtZXMiCiAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAg IFNUQVRVUyAgY3VycmVudAogICAgREVTQ1JJUFRJT04KICAgICAgICAgICAgIkEgY291bnQgb2Yg ZnJhbWVzIHJlY2VpdmVkIHRoYXQgY29udGFpbiBhIHZhbGlkIFNMRAogICAgICAgICAgICAgZmll bGQgaW4gYW4gT05VLCBhcyBkZWZpbmVkIGluIFs4MDIuM2FoXSA2NS4xLjMuMy4xLAogICAgICAg ICAgICAgcGFzc2VzIHRoZSBDUkMtOCBjaGVjaywgYXMgZGVmaW5lZCBpbiBbODAyLjNhaF0KICAg ICAgICAgICAgIDY1LjEuMy4zLjMsIGFuZCB0aGUgZnJhbWUgbWVldHMgdGhlIHJ1bGUgZm9yIGFj Y2VwdGFuY2UKICAgICAgICAgICAgIGRlZmluZWQgaW4gWzgwMi4zYWhdIDY1LjEuMy4zLjIuCiAg ICAgICAgICAgICBUaGlzIGNvdW50ZXIgaXMgcmVsZXZhbnQgZm9yIGFuIE9MVCBhbmQgYW4gT05V LiBGb3IgdGhlCiAgICAgICAgICAgICBPTFQgdGhlcmUgaXMgYSB2YWx1ZSBwZXIgTExJRC4KICAg ICAgICAgICAgIFRoZSB2YWx1ZSBpcyB6ZXJvIGZvciBhbiBPTFQuIgogICAgUkVGRVJFTkNFICAg Ils4MDIuM2FoXSwgMzAuMy43LjEuNi4iCiAgICA6Oj0geyBkb3QzT21wRW11bGF0aW9uU3RhdEVu dHJ5IDV9Cgpkb3QzT21wRW11bGF0aW9uT2x0UG9uQ2FzdExMSUQgT0JKRUNULVRZUEUKICAgIFNZ TlRBWCAgQ291bnRlcjY0CiAgICBVTklUUyAgICAgICJmcmFtZXMiCiAgICBNQVgtQUNDRVNTICBy ZWFkLW9ubHkKICAgIFNUQVRVUyAgY3VycmVudAogICAgREVTQ1JJUFRJT04KICAgICAgICAgICAg IkEgY291bnQgb2YgZnJhbWVzIHJlY2VpdmVkIHRoYXQgY29udGFpbiBhIHZhbGlkIFNMRAogICAg ICAgICAgICAgZmllbGQgaW4gYW4gT0xULCBhcyBkZWZpbmVkIGluIFs4MDIuM2FoXSA2NS4xLjMu My4xLAogICAgICAgICAgICAgcGFzc2VzIHRoZSBDUkMtOCBjaGVjaywgYXMgZGVmaW5lZCBpbiBb ODAyLjNhaF0KICAgICAgICAgICAgIDY1LjEuMy4zLjMsIGFuZCB0aGUgZnJhbWUgbWVldHMgdGhl IHJ1bGUgZm9yIGFjY2VwdGFuY2UKICAgICAgICAgICAgIGRlZmluZWQgaW4gWzgwMi4zYWhdIDY1 LjEuMy4zLjIuCiAgICAgICAgICAgICBUaGlzIGNvdW50ZXIgaXMgcmVsZXZhbnQgZm9yIGFuIE9M VCBhbmQgYW4gT05VLiBGb3IgdGhlCiAgICAgICAgICAgICBPTFQgdGhlcmUgaXMgYSB2YWx1ZSBw ZXIgTExJRC4KICAgICAgICAgICAgIFRoZSB2YWx1ZSBpcyB6ZXJvIGZvciBhbiBPTlUuIgogICAg UkVGRVJFTkNFICAgIls4MDIuM2FoXSwgMzAuMy43LjEuNy4iCiAgICA6Oj0geyBkb3QzT21wRW11 bGF0aW9uU3RhdEVudHJ5IDZ9Cgpkb3QzT21wRW11bGF0aW9uQnJvYWRjYXN0Qml0Tm90T251TGxp ZCBPQkpFQ1QtVFlQRQogICAgU1lOVEFYICBDb3VudGVyNjQKICAgIFVOSVRTICAgICAgImZyYW1l cyIKICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgU1RBVFVTICBjdXJyZW50CiAgICBERVND UklQVElPTgogICAgICAgICAgICAiQSBjb3VudCBvZiBmcmFtZXMgcmVjZWl2ZWQgdGhhdCBjb250 YWluIGEgdmFsaWQgU0xECiAgICAgICAgICAgICBmaWVsZCBpbiBhIE9MVCwgYXMgZGVmaW5lZCBp biBbODAyLjNhaF0gY2xhdXNlCiAgICAgICAgICAgICA2NS4xLjMuMy4xLCBhbmQgcGFzcyB0aGUg Q1JDLTggY2hlY2ssIGFzIGRlZmluZWQgaW4KICAgICAgICAgICAgIFs4MDIuM2FoXSBjbGF1c2Ug NjUuMS4zLjMuMywgYW5kIGNvbnRhaW4gYnJvYWRjYXN0IGJpdAogICAgICAgICAgICAgaW4gTExJ RCBhbmQgbm90IHRoZSBPTlUncyBMTElEIChmcmFtZSBhY2NlcHRlZCkgYXMKICAgICAgICAgICAg IGRlZmluZWQgaW4gWzgwMi4zYWhdIGNsYXVzZSA2NS4KICAgICAgICAgICAgIFRoaXMgY291bnRl ciBpcyByZWxldmFudCBmb3IgYW4gT0xUIGFuZCBhbiBPTlUuIEZvciB0aGUKICAgICAgICAgICAg IE9MVCB0aGVyZSBpcyBhIHZhbHVlIHBlciBMTElELiIKICAgIDo6PSB7IGRvdDNPbXBFbXVsYXRp b25TdGF0RW50cnkgN30KCmRvdDNPbXBFbXVsYXRpb25PbnVMTElETm90QnJvYWRjYXN0IE9CSkVD VC1UWVBFCiAgICBTWU5UQVggIENvdW50ZXI2NAogICAgVU5JVFMgICAgICAiZnJhbWVzIgogICAg TUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICBTVEFUVVMgIGN1cnJlbnQKICAgIERFU0NSSVBUSU9O CiAgICAgICAgICAgICJBIGNvdW50IG9mIGZyYW1lcyByZWNlaXZlZCB0aGF0IGNvbnRhaW4gYSB2 YWxpZCBTTEQKICAgICAgICAgICAgIGZpZWxkIGluIGEgT0xULCBhcyBkZWZpbmVkIGluIFs4MDIu M2FoXSBjbGF1c2UKICAgICAgICAgICAgIDY1LjEuMy4zLjEsIGFuZCBwYXNzIHRoZSBDUkMtOCBj aGVjaywgYXMgZGVmaW5lZCBpbgogICAgICAgICAgICAgWzgwMi4zYWhdIGNsYXVzZSA2NS4xLjMu My4zLCBhbmQgY29udGFpbiB0aGUgT05VJ3MgTExJRAogICAgICAgICAgICAgYXMgZGVmaW5lZCBp biBbODAyLjNhaF0gY2xhdXNlIDY1LiBUaGlzIG9iamVjdCBpcwogICAgICAgICAgICAgVGhpcyBj b3VudGVyIGlzIHJlbGV2YW50IGZvciBhbiBPTFQgYW5kIGFuIE9OVS4gRm9yIHRoZQogICAgICAg ICAgICAgT0xUIHRoZXJlIGlzIGEgdmFsdWUgcGVyIExMSUQuIgogICAgOjo9IHsgZG90M09tcEVt dWxhdGlvblN0YXRFbnRyeSA4fQoKZG90M09tcEVtdWxhdGlvbkJyb2FkY2FzdEJpdFBsdXNPbnVM bGlkIE9CSkVDVC1UWVBFCiAgICBTWU5UQVggIENvdW50ZXI2NAogICAgVU5JVFMgICAgICAiZnJh bWVzIgogICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICBTVEFUVVMgIGN1cnJlbnQKICAgIERF U0NSSVBUSU9OCiAgICAgICAgICAgICJBIGNvdW50IG9mIGZyYW1lcyByZWNlaXZlZCB0aGF0IGNv bnRhaW4gYSB2YWxpZCBTTEQKICAgICAgICAgICAgIGZpZWxkIGluIGEgT0xULCBhcyBkZWZpbmVk IGluIFs4MDIuM2FoXSBjbGF1c2UKICAgICAgICAgICAgIDY1LjEuMy4zLjEsIGFuZCBwYXNzIHRo ZSBDUkMtOCBjaGVjaywgYXMgZGVmaW5lZCBpbgogICAgICAgICAgICAgWzgwMi4zYWhdIGNsYXVz ZSA2NS4xLjMuMy4zLCBhbmQgY29udGFpbiB0aGUgYnJvYWRjYXN0CiAgICAgICAgICAgICBiaXQg aW4gTExJRCBhbmQgdGhlIE9OVSdzIExMSUQgKGZyYW1lIHJlZmxlY3RlZCkgYXMKICAgICAgICAg ICAgIGRlZmluZWQgaW4gWzgwMi4zYWhdIGNsYXVzZSA2NS4KICAgICAgICAgICAgIFRoaXMgY291 bnRlciBpcyByZWxldmFudCBmb3IgYW4gT0xUIGFuZCBhbiBPTlUuIEZvciB0aGUKICAgICAgICAg ICAgIE9MVCB0aGVyZSBpcyBhIHZhbHVlIHBlciBMTElELiIKICAgIDo6PSB7IGRvdDNPbXBFbXVs YXRpb25TdGF0RW50cnkgOX0KCmRvdDNPbXBFbXVsYXRpb25Ob3RCcm9hZGNhc3RCaXROb3RPbnVM bGlkIE9CSkVDVC1UWVBFCiAgICBTWU5UQVggIENvdW50ZXI2NAogICAgVU5JVFMgICAgICAiZnJh bWVzIgogICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICBTVEFUVVMgIGN1cnJlbnQKICAgIERF U0NSSVBUSU9OCiAgICAgICAgICAgICJBIGNvdW50IG9mIGZyYW1lcyByZWNlaXZlZCB0aGF0IGNv bnRhaW4gYSB2YWxpZCBTTEQKICAgICAgICAgICAgIGZpZWxkIGluIGEgT0xULCBhcyBkZWZpbmVk IGluIFs4MDIuM2FoXSBjbGF1c2UKICAgICAgICAgICAgIDY1LjEuMy4zLjEsIGFuZCBwYXNzIHRo ZSBDUkMtOCBjaGVjaywgYXMgZGVmaW5lZCBpbgogICAgICAgICAgICAgWzgwMi4zYWhdIGNsYXVz ZSA2NS4xLjMuMy4zLCBhbmQgZG9lcyBub3QgY29udGFpbgogICAgICAgICAgICAgdGhlIE9OVSdz IExMSUQgYXMgZGVmaW5lZCBpbiBbODAyLjNhaF0gY2xhdXNlIDY1LgogICAgICAgICAgICAgVGhp cyBvYmplY3QgaXMgbWFuZGF0b3J5IGZvciBhbiBPTlUiCiAgICA6Oj0geyBkb3QzT21wRW11bGF0 aW9uU3RhdEVudHJ5IDEwfQoKCgoKCi0tICBGRUMgbWFuYWdlZCBvYmplY3QgZGVmaW5pdGlvbnMg KDMwLjUuMSkKCmRvdDNFcG9uRmVjT2JqZWN0cyBPQkpFQ1QgSURFTlRJRklFUiA6Oj17ZG90M0Vw b25PYmplY3RzIDN9Cgpkb3QzRXBvbkZlY1RhYmxlIE9CSkVDVC1UWVBFCiAgICBTWU5UQVggIFNF UVVFTkNFIE9GIERvdDNFcG9uRmVjRW50cnkKICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxl CiAgICBTVEFUVVMgIGN1cnJlbnQKICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAgICJUYWJsZSBm b3IgZG90MyBFUE9OIEZFQyBtYW5hZ2VtZW50IG9iamVjdHMuCiAgICAgICAgICAgICBUaGUgZW50 cmllcyBpbiB0aGUgdGFibGUgYXJlIGNvbnRyb2wgYW5kIHN0YXR1cyBlbnRpdGllcwogICAgICAg ICAgICAgYW5kIHN0YXRpc3RpYyBjb3VudGVycyBmb3IgdGhlIEZFQyBsYXllci4KICAgICAgICAg ICAgIEVhY2ggb2JqZWN0IGhhcyBhIHJvdyBmb3IgZXZlcnkgdmlydHVhbCBsaW5rCiAgICAgICAg ICAgICBhY2NvcmRpbmcgdG8gdGhlIHByb3BlciBpZkluZGV4LiBUeXBpY2FsbHkgdGhlIG51bWJl cgogICAgICAgICAgICAgb2YgZXhwZWN0ZWQgdmlydHVhbCBsaW5rIGluIGEgUE9OIGlzIGxpa2Ug dGhlIG51bWJlciBvZgogICAgICAgICAgICAgT05VcyAzMi02NCBwbHVzIGFuIGFkZGl0aW9uYWwg ZW50cnkgZm9yIGJyb2FkY2FzdCBMTElECiAgICAgICAgICAgICAod2hpY2ggaXMgbWFya2VkIGJ5 IDB4ZmZmZikuIEluIHRoZSBbODAyLjNhaF0gdGhlIExMSUQKICAgICAgICAgICAgIGlzIGEgMmJ5 dGVzIHJlZ2lzdGVyIGFuZCB0aGUgbnVtYmVyIG9mIExMSURzIGxpbWl0ZWQgYnkKICAgICAgICAg ICAgIHRoYXQuIgogICAgOjo9IHsgZG90M0Vwb25GZWNPYmplY3RzIDEgfQoKZG90M0Vwb25GZWNF bnRyeSBPQkpFQ1QtVFlQRQogICAgU1lOVEFYICBEb3QzRXBvbkZlY0VudHJ5CiAgICBNQVgtQUND RVNTICBub3QtYWNjZXNzaWJsZQogICAgU1RBVFVTICBjdXJyZW50CiAgICBERVNDUklQVElPTgog ICAgICAgICAgICAiQW4gZW50cnkgaW4gdGhlIGRvdDMgRVBPTiBGRUMgdGFibGUuIFRoZSBSb3dz IGluIHRoZQogICAgICAgICAgICAgdGFibGUgYXJlIGNyZWF0ZWQgd2hlbiBpZkluZGV4cyBhcmUg Y3JlYXRlZC4KICAgICAgICAgICAgIEZvciB0aGUgT05VIHJvd3MgYXJlIGNyZWF0ZWQgYXQgc3lz dGVtIGluaXRpYWxpemF0aW9uLgogICAgICAgICAgICAgRm9yIHRoZSBPTFQgdGhlIHJvd3Mgb2Yg dGhlIE9MVCBpZkluZGV4IGFuZCB0aGUgcm93IG9mCiAgICAgICAgICAgICB0aGUgaWZJbmRleCBy ZWZlcnJpbmcgdG8gdGhlIGJyb2FkY2FzdCB2aXJ0dWFsIGxpbmsgYXJlCiAgICAgICAgICAgICBj cmVhdGVkIGF0IHN5c3RlbSBpbml0aWFsaXphdGlvbi4gRm9yIHRoZSBpZkluZGV4cwogICAgICAg ICAgICAgcmVmZXJyaW5nIHRvIHRoZSB2aXJ0dWFsIGxpbmtzIGF0IHRoZSBPTFQsIGEgcm93IGlz CiAgICAgICAgICAgICBjcmVhdGVkIHdoZW4gYSB2aXJ0dWFsIGxpbmsgaXMgZXN0YWJsaXNoZWQg KE9OVQogICAgICAgICAgICAgcmVnaXN0ZXJzKSBhbmQgZGVsZXRlZCB3aGVuIHRoZSB2aXJ0dWFs IGxpbmsgaXMgZGVsZXRlZAogICAgICAgICAgICAgKE9OVSBkZXJlZ2lzdGVycykuIFJvd3MgZXhp c3QgZm9yIGFuIE9MVCBpbnRlcmZhY2UgYW5kCiAgICAgICAgICAgICBhbiBPTlUgaW50ZXJmYWNl LiIKICAgIElOREVYICB7IGlmSW5kZXh9CiAgICA6Oj0geyBkb3QzRXBvbkZlY1RhYmxlIDEgfQoK RG90M0Vwb25GZWNFbnRyeSA6Oj0KICAgIFNFUVVFTkNFIHsKICAgICAgICAgICAgZG90M0Vwb25G ZWNQQ1NDb2RpbmdWaW9sYXRpb24gICAgICAgICAgIENvdW50ZXI2NCwKICAgICAgICAgICAgZG90 M0Vwb25GZWNBYmlsaXR5ICAgICAgICAgICAgICAgICAgICAgIElOVEVHRVIsCiAgICAgICAgICAg IGRvdDNFcG9uRmVjTW9kZSAgICAgICAgICAgICAgICAgICAgICAgICBJTlRFR0VSLAogICAgICAg ICAgICBkb3QzRXBvbkZlY0NvcnJlY3RlZEJsb2NrcyAgICAgICAgICAgICAgQ291bnRlcjY0LAog ICAgICAgICAgICBkb3QzRXBvbkZlY1VuY29ycmVjdGFibGVCbG9ja3MgICAgICAgICAgQ291bnRl cjY0LAogICAgICAgICAgICBkb3QzRXBvbkZlY0J1ZmZlckhlYWRDb2RpbmdWaW9sYXRpb24gICAg Q291bnRlcjY0CiAgICB9Cgpkb3QzRXBvbkZlY1BDU0NvZGluZ1Zpb2xhdGlvbiBPQkpFQ1QtVFlQ RQogICAgU1lOVEFYICBDb3VudGVyNjQKICAgIFVOSVRTICAgICAgIm9jdGV0cyIKICAgIE1BWC1B Q0NFU1MgIHJlYWQtb25seQogICAgU1RBVFVTICBjdXJyZW50CiAgICBERVNDUklQVElPTgogICAg ICAgICAgICAiRm9yIDEwMCBNYi8gcyBvcGVyYXRpb24gaXQgaXMgYSBjb3VudCBvZiB0aGUgbnVt YmVyIG9mCiAgICAgICAgICAgICB0aW1lcyBhbiBpbnZhbGlkIGNvZGUtZ3JvdXAgaXMgcmVjZWl2 ZWQsIG90aGVyIHRoYW4gdGhlCiAgICAgICAgICAgICAvSC8gY29kZS1ncm91cC4gRm9yIDEwMDAg TWIvIHMgb3BlcmF0aW9uIGl0IGlzIGEgY291bnQKICAgICAgICAgICAgIG9mIHRoZSBudW1iZXIg b2YgdGltZXMgYW4gaW52YWxpZCBjb2RlZ3JvdXAgaXMgcmVjZWl2ZWQsCiAgICAgICAgICAgICBv dGhlciB0aGFuIHRoZSAvVi8gY29kZS1ncm91cC4gL0gvIGFuZCAvVi8gZGVub3RlCiAgICAgICAg ICAgICBzcGVjaWFsIDhiMTBiIGNvZGV3b3JkcyBvZiB0aGUgWzgwMi4zXSBQQ1MgbGF5ZXIgKGNs YXVzZQogICAgICAgICAgICAgMzYpLiIKICAgIFJFRkVSRU5DRSAgICJbODAyLjNhaF0sIDMwLjUu MS4xLjEyLiIKICAgIDo6PSB7IGRvdDNFcG9uRmVjRW50cnkgMX0KCmRvdDNFcG9uRmVjQWJpbGl0 eSBPQkpFQ1QtVFlQRQogICAgU1lOVEFYICBJTlRFR0VSIHsKICAgICAgICAgICAgdW5rbm93biAo MSksCiAgICAgICAgICAgIHVuc3VwcG9ydGVkICgyKSwKICAgICAgICAgICAgc3VwcG9ydGVkICgz KQogICAgfQogICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICBTVEFUVVMgIGN1cnJlbnQKICAg IERFU0NSSVBUSU9OCiAgICAgICAgICAgICJBIHZhbHVlIHRoYXQgaW5kaWNhdGVzIHRoZSBzdXBw b3J0IG9mCiAgICAgICAgICAgICBvcGVyYXRpb24gb2YgdGhlIDEwMDBCQVNFLVBYIFBIWSBvcHRp b25hbCBGRUMgU3VibGF5ZXIKICAgICAgICAgICAgIGZvciBGb3J3YXJkIGVycm9yIGNvcnJlY3Rp b24gc2VlIFs4MDIuM2FoXSBjbGF1c2UKICAgICAgICAgICAgIDY1LjIpLgogICAgICAgICAgICAg dW5rbm93bigxKSB2YWx1ZSBpcyBhc3NpZ25lZCBpbiBpbml0aWFsaXppbmcsIGZvciBub24KICAg ICAgICAgICAgIEZFQyBzdXBwb3J0IHN0YXRlIG9yIHR5cGUgbm90IHlldCBrbm93bi4gdW5zdXBw b3J0ZWQoMikKICAgICAgICAgICAgIHZhbHVlIGlzIGFzc2lnbmVkIHdoZW4gU3VibGF5ZXIgaXMg bm90IHN1cHBvcnQuCiAgICAgICAgICAgICBzdXBwb3J0ZWQoMykgdmFsdWUgaXMgYXNzaWduZWQg d2hlbiBTdWJsYXllciBpcwogICAgICAgICAgICAgc3VwcG9ydGVkLiIKICAgIFJFRkVSRU5DRSAg ICJbODAyLjNhaF0sIDMwLjUuMS4xLjEzLiIKICAgIDo6PSB7IGRvdDNFcG9uRmVjRW50cnkgMn0K CmRvdDNFcG9uRmVjTW9kZSBPQkpFQ1QtVFlQRQogICAgU1lOVEFYICBJTlRFR0VSIHsKICAgICAg ICAgICAgdW5rbm93biAoMSksCiAgICAgICAgICAgIGRpc2FibGVkICgyKSwKICAgICAgICAgICAg ZW5hYmxlZCAoMykKICAgIH0KICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUKICAgIFNUQVRVUyAg Y3VycmVudAogICAgREVTQ1JJUFRJT04KICAgICAgICAgICAgIkEgcmVhZC13cml0ZSB2YWx1ZSB0 aGF0IGluZGljYXRlcyB0aGUgbW9kZSBvZiBvcGVyYXRpb24KICAgICAgICAgICAgIG9mIHRoZSAx MDAwQkFTRS1QWCBQSFkgb3B0aW9uYWwgRkVDIFN1YmxheWVyIGZvciBGb3J3YXJkCiAgICAgICAg ICAgICBlcnJvciBjb3JyZWN0aW9uIHNlZSBbODAyLjNhaF0gY2xhdXNlIDY1LjIpLgogICAgICAg ICAgICAgQSBHRVQgb3BlcmF0aW9uIHJldHVybnMgdGhlIGN1cnJlbnQgbW9kZSBvZiBvcGVyYXRp b24KICAgICAgICAgICAgIHRoZSBQSFkuIEEgU0VUIG9wZXJhdGlvbiBjaGFuZ2VzIHRoZSBtb2Rl IG9mIG9wZXJhdGlvbgogICAgICAgICAgICAgb2YgdGhlIFBIWSB0byB0aGUgaW5kaWNhdGVkIHZh bHVlLiB1bmtub3duKDEpIHZhbHVlIGlzCiAgICAgICAgICAgICBhc3NpZ25lZCBpbiBpbml0aWFs aXppbmcsIGZvciBub24gRkVDIHN1cHBvcnQgc3RhdGUgb3IKICAgICAgICAgICAgIHR5cGUgbm90 IHlldCBrbm93bi4gZGlzYWJsZWQoMikgdmFsdWUgaXMgYXNzaWduZWQgd2hlbgogICAgICAgICAg ICAgU3VibGF5ZXIgb3BlcmF0aW5nIGluIGRpc2FibGVkIG1vZGUuIGVuYWJsZWQoMykgdmFsdWUg aXMKICAgICAgICAgICAgIGFzc2lnbmVkIHdoZW4gU3VibGF5ZXIgb3BlcmF0aW5nIGluIEZFQyBt b2RlLiB3cml0aW5nCiAgICAgICAgICAgICBjYW4gYmUgZG9uZSBhdCBhbnkgdGltZS4iCiAgICBS RUZFUkVOQ0UgICAiWzgwMi4zYWhdLCAzMC41LjEuMS4xNC4iCiAgICBERUZWQUwgeyAxIH0KICAg IDo6PSB7IGRvdDNFcG9uRmVjRW50cnkgM30KCmRvdDNFcG9uRmVjQ29ycmVjdGVkQmxvY2tzIE9C SkVDVC1UWVBFCiAgICBTWU5UQVggIENvdW50ZXI2NAogICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5 CiAgICBTVEFUVVMgIGN1cnJlbnQKICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAgICJGb3IgMTBQ QVNTLVRTLCAyQkFTRS1UTCBhbmQgMTAwMEJBU0UtUFggUEhZcywgYSBjb3VudAogICAgICAgICAg ICAgb2YgY29ycmVjdGVkIEZFQyBibG9ja3MuIFRoaXMgY291bnRlciB3aWxsIG5vdCBpbmNyZW1l bnQKICAgICAgICAgICAgIGZvciBvdGhlciBQSFkgVHlwZXMuIEluY3JlbWVudCB0aGUgY291bnRl ciBieSBvbmUgZm9yCiAgICAgICAgICAgICBlYWNoIHJlY2VpdmVkIGJsb2NrIHRoYXQgaXMgY29y cmVjdGVkIGJ5IHRoZSBGRUMKICAgICAgICAgICAgIGZ1bmN0aW9uIGluIHRoZSBQSFkuIgogICAg UkVGRVJFTkNFICAgIls4MDIuM2FoXSwgMzAuNS4xLjEuMTUuIgogICAgOjo9IHsgZG90M0Vwb25G ZWNFbnRyeSA0fQoKZG90M0Vwb25GZWNVbmNvcnJlY3RhYmxlQmxvY2tzIE9CSkVDVC1UWVBFCiAg ICBTWU5UQVggIENvdW50ZXI2NAogICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICBTVEFUVVMg IGN1cnJlbnQKICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAgICJGb3IgMTBQQVNTLVRTLCAyQkFT RS1UTCBhbmQgMTAwMEJBU0UtUFggUEhZcywgYSBjb3VudCBvZgogICAgICAgICAgICAgdW5jb3Jy ZWN0YWJsZSBGRUMgYmxvY2tzLiBUaGlzIGNvdW50ZXIgd2lsbCBub3QKICAgICAgICAgICAgIGlu Y3JlbWVudCBmb3Igb3RoZXIgUEhZIFR5cGVzLiBJbmNyZW1lbnQgdGhlIGNvdW50ZXIgYnkKICAg ICAgICAgICAgIG9uZSBmb3IgZWFjaCBGRUMgYmxvY2sgdGhhdCBpcyBkZXRlcm1pbmVkIHRvIGJl CiAgICAgICAgICAgICB1bmNvcnJlY3RhYmxlIGJ5IHRoZSBGRUMgZnVuY3Rpb24gaW4gdGhlIFBI WS4iCiAgICBSRUZFUkVOQ0UgICAiWzgwMi4zYWhdLCAzMC41LjEuMS4xNi4iCiAgICA6Oj0geyBk b3QzRXBvbkZlY0VudHJ5IDV9Cgpkb3QzRXBvbkZlY0J1ZmZlckhlYWRDb2RpbmdWaW9sYXRpb24g T0JKRUNULVRZUEUKICAgIFNZTlRBWCAgQ291bnRlcjY0CiAgICBVTklUUyAgICAgICJvY3RldHMi CiAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgIFNUQVRVUyAgY3VycmVudAogICAgREVTQ1JJ UFRJT04KICAgICAgICAgICAgIkZvciAxMDAwIE1icHMgb3BlcmF0aW9uIGl0IGlzIGEgY291bnRz IG9mIHRoZSBudW1iZXIgb2YKICAgICAgICAgICAgIGludmFsaWQgY29kZS1ncm91cCByZWNlaXZl ZCBkaXJlY3RseSBmcm9tIHRoZSBsaW5rLiIKICAgIDo6PSB7IGRvdDNFcG9uRmVjRW50cnkgNn0K CgoKLS0gRXh0ZW5kZWRQYWNrYWdlIG1hbmFnZWQgb2JqZWN0IGRlZmluaXRpb25zCgoKZG90M0V4 dFBrZ09iamVjdHMgT0JKRUNUIElERU5USUZJRVIgOjo9e2RvdDNFcG9uT2JqZWN0cyA0fQoKZG90 M0V4dFBrZ0NvbnRyb2xPYmplY3RzIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGRvdDNFeHRQa2dP YmplY3RzIDF9CgoKZG90M0V4dFBrZ0NvbnRyb2xUYWJsZSBPQkpFQ1QtVFlQRQogICAgU1lOVEFY ICBTRVFVRU5DRSBPRiBEb3QzRXh0UGtnQ29udHJvbEVudHJ5CiAgICBNQVgtQUNDRVNTICBub3Qt YWNjZXNzaWJsZQogICAgU1RBVFVTICBjdXJyZW50CiAgICBERVNDUklQVElPTgogICAgICAgICAg ICAiQSB0YWJsZSBmb3IgRXh0ZW5kZWQgcGFja2FnZSBDb250cm9sIG1hbmFnZW1lbnQKICAgICAg ICAgICAgIG9iamVjdHMuIEVudHJpZXMgYXJlIGNvbnRyb2wgYW5kIHN0YXR1cyBpbmRpY2F0aW9u CiAgICAgICAgICAgICBvYmplY3RzIGZvciBhbiBFUE9OIGludGVyZmFjZSB3aGljaCBhcmUgZ2F0 aGVyZWQgaW4gYW4KICAgICAgICAgICAgIGV4dGVuZGVkIHBhY2thZ2UgYXMgYW4gYWRkaXRpb24g Zm9yIHRoZSBbODAyLjNhaF0KICAgICAgICAgICAgIGF0dHJpYnV0ZXMuCiAgICAgICAgICAgICBF YWNoIG9iamVjdCBoYXMgYSByb3cgZm9yIGV2ZXJ5IHZpcnR1YWwgbGluawogICAgICAgICAgICAg YWNjb3JkaW5nIHRvIHRoZSBwcm9wZXIgaWZJbmRleC4gVHlwaWNhbGx5IHRoZSBudW1iZXIKICAg ICAgICAgICAgIG9mIGV4cGVjdGVkIHZpcnR1YWwgbGluayBpbiBhIFBPTiBpcyBsaWtlIHRoZSBu dW1iZXIgb2YKICAgICAgICAgICAgIE9OVXMgMzItNjQgcGx1cyBhbiBhZGRpdGlvbmFsIGVudHJ5 IGZvciBicm9hZGNhc3QgTExJRAogICAgICAgICAgICAgKHdoaWNoIGlzIG1hcmtlZCBieSAweGZm ZmYpLiBJbiB0aGUgWzgwMi4zYWhdIHRoZSBMTElECiAgICAgICAgICAgICBpcyBhIDJieXRlcyBy ZWdpc3RlciBhbmQgdGhlIG51bWJlciBvZiBMTElEcyBsaW1pdGVkIGJ5CiAgICAgICAgICAgICB0 aGF0LiIKICAgIDo6PSB7IGRvdDNFeHRQa2dDb250cm9sT2JqZWN0cyAxIH0KCmRvdDNFeHRQa2dD b250cm9sRW50cnkgT0JKRUNULVRZUEUKICAgIFNZTlRBWCAgRG90M0V4dFBrZ0NvbnRyb2xFbnRy eQogICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUKICAgIFNUQVRVUyAgY3VycmVudAogICAg REVTQ1JJUFRJT04KICAgICAgICAgICAgIkFuIGVudHJ5IGluIHRoZSBFeHRlbmRlZCBwYWNrYWdl IENvbnRyb2wgdGFibGUuCiAgICAgICAgICAgICBSb3dzIGluIHRoZSB0YWJsZSBhcmUgY3JlYXRl ZCB3aGVuIGlmSW5kZXhzIGFyZSBjcmVhdGVkLgogICAgICAgICAgICAgRm9yIHRoZSBPTlUgcm93 cyBhcmUgY3JlYXRlZCBhdCBzeXN0ZW0gaW5pdGlhbGl6YXRpb24uCiAgICAgICAgICAgICBGb3Ig dGhlIE9MVCB0aGUgcm93cyBvZiB0aGUgT0xUIGlmSW5kZXggYW5kIHRoZSByb3cgb2YKICAgICAg ICAgICAgIHRoZSBpZkluZGV4IHJlZmVycmluZyB0byB0aGUgYnJvYWRjYXN0IHZpcnR1YWwgbGlu ayBhcmUKICAgICAgICAgICAgIGNyZWF0ZWQgYXQgc3lzdGVtIGluaXRpYWxpemF0aW9uLiBGb3Ig dGhlIGlmSW5kZXhzCiAgICAgICAgICAgICByZWZlcnJpbmcgdG8gdGhlIHZpcnR1YWwgbGlua3Mg YXQgdGhlIE9MVCwgYSByb3cgaXMKICAgICAgICAgICAgIGNyZWF0ZWQgd2hlbiBhIHZpcnR1YWwg bGluayBpcyBlc3RhYmxpc2hlZCAoT05VCiAgICAgICAgICAgICByZWdpc3RlcnMpIGFuZCBkZWxl dGVkIHdoZW4gdGhlIHZpcnR1YWwgbGluayBpcyBkZWxldGVkCiAgICAgICAgICAgICAoT05VIGRl cmVnaXN0ZXJzKS4gUm93cyBleGlzdCBmb3IgYW4gT0xUIGludGVyZmFjZSBhbmQKICAgICAgICAg ICAgIGFuIE9OVSBpbnRlcmZhY2UuIgogICAgSU5ERVggIHsgaWZJbmRleH0KICAgIDo6PSB7IGRv dDNFeHRQa2dDb250cm9sVGFibGUgMSB9CgpEb3QzRXh0UGtnQ29udHJvbEVudHJ5IDo6PQogICAg U0VRVUVOQ0UgewogICAgIGRvdDNFeHRQa2dPYmplY3RSZXNldCAgICAgICAgICAgICAgICAgICAg ICAgSU5URUdFUiwKICAgICBkb3QzRXh0UGtnT2JqZWN0UG93ZXJEb3duICAgICAgICAgICAgICAg ICAgIFRydXRoVmFsdWUsCiAgICAgZG90M0V4dFBrZ09iamVjdE51bWJlck9mTExJRHMgICAgICAg ICAgICAgICBVbnNpZ25lZDMyLAogICAgIGRvdDNFeHRQa2dPYmplY3RGZWNFbmFibGVkICAgICAg ICAgICAgICAgICAgSU5URUdFUiwKICAgICBkb3QzRXh0UGtnT2JqZWN0UmVwb3J0TWF4aW11bU51 bVF1ZXVlcyAgICAgIFVuc2lnbmVkMzIsCiAgICAgZG90M0V4dFBrZ09iamVjdFJlZ2lzdGVyQWN0 aW9uICAgICAgICAgICAgICBJTlRFR0VSCiAgICB9Cgpkb3QzRXh0UGtnT2JqZWN0UmVzZXQgT0JK RUNULVRZUEUKICAgIFNZTlRBWCAgSU5URUdFUiB7CiAgICAgICAgICAgIHJ1bm5pbmcoMSksCiAg ICAgICAgICAgIHJlc2V0KDIpCiAgICB9CiAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlCiAgICBT VEFUVVMgIGN1cnJlbnQKICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAgICJUaGlzIHZhcmlhYmxl IGlzIHVzZWQgdG8gcmVzZXQgdGhlIEVQT04gaW50ZXJmYWNlLiBUaGUKICAgICAgICAgICAgIGlu dGVyZmFjZSBtYXkgYmUgdW5hdmFpbGFibGUgd2hpbGUgdGhlIHJlc2V0IG9jY3VycyBhbmQKICAg ICAgICAgICAgIGRhdGEgbWF5IGJlIGxvc3QuIER1cmluZyByZWFkaW5nIG9wZXJhdGlvbiBpdCBy ZXR1cm5zCiAgICAgICAgICAgICB0aGUgc3RhdGUgb2YgdGhlIEVQT04gaW50ZXJmYWNlLiBydW5u aW5nKDEpIGluZGljYXRlcwogICAgICAgICAgICAgYW5kIG9wZXJhdGVzIG5vcm1hbCBvcGVyYXRp b24sIHJlc2V0KDIpIGluZGljYXRlcyBhbmQKICAgICAgICAgICAgIG9wZXJhdGVzIHJlc2V0IG1v ZGUuIFdyaXRpbmcgY2FuIGJlIGRvbmUgYXQgYW55IHRpbWUuCiAgICAgICAgICAgICBUaGlzIG9i amVjdCBpcyByZWxldmFudCBmb3IgYW4gT0xULCBzYW1lIGZvciBhbGwKICAgICAgICAgICAgIHZp cnR1YWwgbGlua3MsIGFuZCBmb3IgYW4gT05VLiIKICAgIERFRlZBTCB7IDEgfQogICAgOjo9IHsg ZG90M0V4dFBrZ0NvbnRyb2xFbnRyeSAxIH0KCmRvdDNFeHRQa2dPYmplY3RQb3dlckRvd24gT0JK RUNULVRZUEUKICAgIFNZTlRBWCAgVHJ1dGhWYWx1ZQogICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0 ZQogICAgU1RBVFVTICBjdXJyZW50CiAgICBERVNDUklQVElPTgogICAgICAgICAgICAiU2V0dGlu ZyB0aGlzIHZhcmlhYmxlIHRvIHRydWUoMSkgd2lsbCBjYXVzZSB0aGUKICAgICAgICAgICAgIGlu dGVyZmFjZSB0byBiZSBlbnRlcmVkIGludG8gUG93ZXIgZG93biBtb2RlLiBTZXR0aW5nCiAgICAg ICAgICAgICB0aGlzIHZhcmlhYmxlIHRvIGZhbHNlKDIpIHdpbGwgY2F1c2UgdGhlIGludGVyZmFj ZSB0byBnbwogICAgICAgICAgICAgb3V0IG9mIHBvd2VyIGRvd24gbW9kZS4gV2hlbiBnZXR0aW5n IHRydWUoMSkgdGhlCiAgICAgICAgICAgICBpbnRlcmZhY2UgaXMgaW4gcG93ZXIgZG93bi4gV2hl biBnZXR0aW5nIGZhbHNlKDIpIHRoZQogICAgICAgICAgICAgaW50ZXJmYWNlIGlzIG5vdCBpbiBw b3dlciBkb3duLgogICAgICAgICAgICAgV3JpdGluZyBjYW4gYmUgZG9uZSBhdCBhbnkgdGltZS4K ICAgICAgICAgICAgIFRoZSB2YXJpYWJsZSBpcyByZWxldmFudCB3aGVuIHRoZSBhZG1pbiBzdGF0 ZSBvZiB0aGUKICAgICAgICAgICAgIGRldmljZSBpcyBhY3RpdmUgYXMgc2V0IGJ5IHRoZSBkb3Qz TXBjcEFkbWluU3RhdGUuCiAgICAgICAgICAgICBUaGlzIG9iamVjdCBpcyByZWxldmFudCBmb3Ig YW4gT0xULCBzYW1lIGZvciBhbGwKICAgICAgICAgICAgIHZpcnR1YWwgbGlua3MsIGFuZCBmb3Ig YW4gT05VLiIKICAgIERFRlZBTCB7IGZhbHNlIH0KICAgIDo6PSB7IGRvdDNFeHRQa2dDb250cm9s RW50cnkgMiB9CgoKZG90M0V4dFBrZ09iamVjdE51bWJlck9mTExJRHMgT0JKRUNULVRZUEUKICAg IFNZTlRBWCAgVW5zaWduZWQzMgogICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICBTVEFUVVMg IGN1cnJlbnQKICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAgICJBIHJlYWQgb25seSB2YXJpYWJs ZSB3aGljaCBkZWZpbmVzIHRoZSBudW1iZXIgb2YKICAgICAgICAgICAgIHJlZ2lzdGVyZWQgTExJ RHMgKGFzIGRlZmluZWQgYnkgdGhlIFs4MDIuM2FoXSBjbGF1c2UgNjUpCiAgICAgICAgICAgICBp biBhIEVQT04gbmV0d29yayBmb3IgYW4gT0xUIGFuZCBhbiBPTlUuIEluaXRpYWxpemF0aW9uCiAg ICAgICAgICAgICB2YWx1ZSBpcyAwLgogICAgICAgICAgICAgVGhpcyBvYmplY3QgaXMgcmVsZXZh bnQgZm9yIGFuIE9MVCBhbmQgYW4gT05VLgogICAgICAgICAgICAgVHlwaWNhbGx5IHRoZSBudW1i ZXIgb2YgZXhwZWN0ZWQgdmlydHVhbCBsaW5rIGluIGEgUE9OCiAgICAgICAgICAgICBpcyBsaWtl IHRoZSBudW1iZXIgb2YgT05VcyAzMi02NCBwbHVzIGFuIGFkZGl0aW9uYWwKICAgICAgICAgICAg IGVudHJ5IGZvciBicm9hZGNhc3QgTExJRCAod2hpY2ggaXMgbWFya2VkIGJ5IDB4ZmZmZikuIElu CiAgICAgICAgICAgICB0aGUgWzgwMi4zYWhdIHRoZSBMTElEIGlzIGEgMmJ5dGVzIHJlZ2lzdGVy IGFuZCB0aGUKICAgICAgICAgICAgIG51bWJlciBvZiBMTElEcyBpcyBsaW1pdGVkIGJ5IHRoYXQu IEF0IHRoZSBPTlUgdGhlCiAgICAgICAgICAgICBudW1iZXIgb2YgTExJRHMgZm9yIGFuIGludGVy ZmFjZSBpcyBvbmUuCiAgICAgICAgICAgICBUaGlzIG9iamVjdCBpcyByZWxldmFudCBmb3IgYW4g T0xULCBzYW1lIGZvciBhbGwKICAgICAgICAgICAgIHZpcnR1YWwgbGlua3MsIGFuZCBmb3IgYW4g T05VLiIKICAgIDo6PSB7IGRvdDNFeHRQa2dDb250cm9sRW50cnkgMyB9CgoKCmRvdDNFeHRQa2dP YmplY3RGZWNFbmFibGVkIE9CSkVDVC1UWVBFCiAgICBTWU5UQVggIElOVEVHRVIgewogICAgICAg ICAgICBub0ZlY0VuYWJsZWQgKDEpLAogICAgICAgICAgICBmZWNUeEVuYWJsZWQgKDIpLAogICAg ICAgICAgICBmZWNSeEVuYWJsZWQgKDMpLAogICAgICAgICAgICBmZWNUeFJ4RW5hYmxlZCAoNCkK ICAgIH0KICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUKICAgIFNUQVRVUyAgY3VycmVudAogICAg REVTQ1JJUFRJT04KICAgICAgICAgICJUaGlzIHZhcmlhYmxlIGRlZmluZXMgYW5kIHByb3ZpZGVz IGluZm9ybWF0aW9uIHdoZXRoZXIgdGhlCiAgICAgICAgICAgRVBPTiBpbnRlcmZhY2UgdXNlcyBG RUMgYXMgZGVmaW5lZCBpbiB0aGUgWzgwMi4zYWhdIGNsYXVzZQogICAgICAgICAgIDY1LjIgZm9y IEVQT04uIFdoZW4gbm9GRUNFbmFibGVkKDEpIHRoZSBpbnRlcmZhY2UgZG9lcyBub3QKICAgICAg ICAgICBzdXBwb3J0IEZFQyBtb2RlLiBXaGVuIGZlY1R4RW5hYmxlZCgyKSB0aGUgaW50ZXJmYWNl CiAgICAgICAgICAgc3VwcG9ydHMgdGhlIEZFQyB0cmFuc21pc3Npb24gbW9kZS4gV2hlbiBmZWNS eEVuYWJsZWQoMykKICAgICAgICAgICB0aGUgaW50ZXJmYWNlIHN1cHBvcnRzIHRoZSBGRUMgUmVj ZWl2ZSBtb2RlLiBXaGVuCiAgICAgICAgICAgZmVjVHhSeEVuYWJsZWQoNCkgdGhlIGludGVyZmFj ZSBzdXBwb3J0cyB0aGUgRkVDCiAgICAgICAgICAgdHJhbnNtaXNzaW9uIGFuZCByZWNlaXZlIG1v ZGUuCiAgICAgICAgICAgV3JpdGluZyBjYW4gYmUgZG9uZSBhdCBhbnkgdGltZS4KICAgICAgICAg ICBUaGlzIG9iamVjdCBpcyByZWxldmFudCBmb3IgYW4gT0xUIGFuZCBhbiBPTlUuIEZvciB0aGUK ICAgICAgICAgICBPTFQgdGhlcmUgaXMgYSB2YWx1ZSBwZXIgTExJRC4iCiAgICBERUZWQUwgeyAx IH0KICAgIDo6PSB7IGRvdDNFeHRQa2dDb250cm9sRW50cnkgNCB9Cgpkb3QzRXh0UGtnT2JqZWN0 UmVwb3J0TWF4aW11bU51bVF1ZXVlcyBPQkpFQ1QtVFlQRQogICAgU1lOVEFYICBVbnNpZ25lZDMy CiAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgIFNUQVRVUyAgY3VycmVudAogICAgREVTQ1JJ UFRJT04KICAgICAgICAgICAgIkFuIGludGVnZXIgZm9yIGVhY2ggTExJRCwgdGhhdCBkZWZpbmVz IHRoZQogICAgICAgICAgICAgbWF4aW1hbCBudW1iZXIgb2YgcXVldWVzIGluIHRoZSBSRVBPUlQg bWVzc2FnZSwgYXMKICAgICAgICAgICAgIGRlZmluZWQgaW4gWzgwMi4zYWhdIDY0LgogICAgICAg ICAgIFRoaXMgb2JqZWN0IGlzIHJlbGV2YW50IGZvciBhbiBPTFQgYW5kIGFuIE9OVS4gRm9yIHRo ZQogICAgICAgICAgIE9MVCB0aGVyZSBpcyBhIHZhbHVlIHBlciBMTElELiIKICAgIERFRlZBTCB7 IDAgfQogICAgOjo9IHsgZG90M0V4dFBrZ0NvbnRyb2xFbnRyeSA1IH0KCgpkb3QzRXh0UGtnT2Jq ZWN0UmVnaXN0ZXJBY3Rpb24gT0JKRUNULVRZUEUKICAgIFNZTlRBWCAgSU5URUdFUiB7CiAgICAg ICAgICAgIG5vbmUgKDEpLAogICAgICAgICAgICByZWdpc3RlciAoMiksCiAgICAgICAgICAgIGRl cmVnaXN0ZXIgKDMpLAogICAgICAgICAgICByZXJlZ2lzdGVyICg0KQogICAgfQogICAgTUFYLUFD Q0VTUyAgcmVhZC13cml0ZQogICAgU1RBVFVTICBjdXJyZW50CiAgICBERVNDUklQVElPTgogICAg ICAgICAgICAiQSBsaXN0IG9mIGFjdGlvbnMgZm9yIGFuIGVudHJ5IC0gTExJRC4gIEluZGljYXRl cyBhbmQKICAgICAgICAgICAgIGRlZmluZXMgdGhlIHN0YXRlIG9mIHJlZ2lzdHJhdGlvbiBmb3Ig dGhlIHJlbW90ZQogICAgICAgICAgICAgaW50ZXJmYWNlLgogICAgICAgICAgICAgbm9uZSgxKSBt YXJrcyBubyBhY3Rpb24sIHJlZ2lzdGVyKDIpIG1hcmtzIHRvIHJlZ2lzdGVyCiAgICAgICAgICAg ICBhbiBMTElELCBkZXJlZ2lzdGVyKDMpIG1hcmtzIHRvIGRlcmVnaXN0ZXIgYW4gTExJRCwKICAg ICAgICAgICAgIHJlcmVnaXN0ZXIoNCkgbWFya3MgcmVyZWdpc3RlcmVkIExMSUQuCiAgICAgICAg ICAgVGhpcyBvYmplY3QgaXMgcmVsZXZhbnQgZm9yIGFuIE9MVCBhbmQgYW4gT05VLiBGb3IgdGhl CiAgICAgICAgICAgT0xUIHRoZXJlIGlzIGEgdmFsdWUgcGVyIExMSUQuIgogICAgREVGVkFMIHsg MSB9CiAgICA6Oj0geyBkb3QzRXh0UGtnQ29udHJvbEVudHJ5IDYgfQoKCmRvdDNFeHRQa2dRdWV1 ZVRhYmxlIE9CSkVDVC1UWVBFCiAgICBTWU5UQVggIFNFUVVFTkNFIE9GIERvdDNFeHRQa2dRdWV1 ZUVudHJ5CiAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQogICAgU1RBVFVTICBjdXJyZW50 CiAgICBERVNDUklQVElPTgogICAgICAgICAgICAiQSB0YWJsZSBmb3IgZXh0ZW5kZWQgcGFja2Fn ZSBRdWV1ZSBtYW5hZ2VtZW50IG9iamVjdHMuCiAgICAgICAgICAgICBUaGUgWzgwMi4zYWhdIE1Q Q1AgdXNlcyBmb3IgdGhlIGZlZWRiYWNrIEJXIHJlcXVlc3QgZnJvbQogICAgICAgICAgICAgdGhl IE9OVXMgYSByZXBvcnQgb2Ygc29tZSBxdWV1ZXMgb2NjdXBhbmN5LiBUaGVzZSBxdWV1ZXMKICAg ICAgICAgICAgIHNlcnZlIHRoZSBPTlUgdHJhbnNtaXNzaW9uIGFuZCBkYXRhIGlzIGdhdGhlcmVk IHRoZXJlCiAgICAgICAgICAgICB1bnRpbCB0aGUgT05VIGlzIGdyYW50ZWQgZm9yIHRyYW5zbWlz c2lvbi4gU2luY2UgdGhlCiAgICAgICAgICAgICBleGlzdGVuY2Ugb2Ygc3VjaCBxdWV1aW5nIG1l Y2hhbmlzbSBpcyBpbXBsaWVkIGluIHRoZQogICAgICAgICAgICAgWzgwMi4zYWhdIHNwZWMgYW5k IGFuIE9OVSBtYXkgbm90IGJlIGEgc3dpdGNoIGRldmljZSwKICAgICAgICAgICAgIGEgbWFuYWdl bWVudCBzZWN0aW9uIGlzIGFkZGVkIGhlcmUgZm9yIHRoZSBxdWV1ZXMsCiAgICAgICAgICAgICBt YWlubHkgdG8gZ2F0aGVyIHNvbWUgc3RhdGlzdGljcyBvZiB0aGVpciBvcGVyYXRpb24uCiAgICAg ICAgICAgICBFbnRyaWVzIGFyZSBjb250cm9sIGFuZCBzdGF0dXMgaW5kaWNhdGlvbgogICAgICAg ICAgICAgb2JqZWN0cyBmb3IgYW4gRVBPTiBpbnRlcmZhY2Ugd2hpY2ggYXJlIGdhdGhlcmVkIGlu IGFuCiAgICAgICAgICAgICBleHRlbmRlZCBwYWNrYWdlIGFzIGFuIGFkZGl0aW9uIGZvciB0aGUg WzgwMi4zYWhdCiAgICAgICAgICAgICBhdHRyaWJ1dGVzLiBUaGUgb2JqZWN0cyBpbiB0aGlzIHRh YmxlIGFyZSBzcGVjaWZpYyBmb3IKICAgICAgICAgICAgIHRoZSBxdWV1ZXMgd2hpY2ggYXJlIHJl cG9ydGVkIGluIHRoZSBNUENQIFJFUE9SVCBtZXNzYWdlCiAgICAgICAgICAgICBhcyBkZWZpbmVk IGluIFs4MDIuM2FoXSBjbGF1c2UgNjQuCiAgICAgICAgICAgICBFYWNoIG9iamVjdCBoYXMgYSBy b3cgZm9yIGV2ZXJ5IHZpcnR1YWwgbGluayBhbmQgZm9yCiAgICAgICAgICAgICBldmVyeSBxdWV1 ZSBpbiB0aGUgcmVwb3J0LiBUeXBpY2FsbHkgdGhlIG51bWJlciBvZgogICAgICAgICAgICAgZXhw ZWN0ZWQgdmlydHVhbCBsaW5rIGluIGEgUE9OIGlzIGxpa2UgdGhlIG51bWJlciBvZgogICAgICAg ICAgICAgT05VcyAzMi02NCBwbHVzIGFuIGFkZGl0aW9uYWwgZW50cnkgZm9yIGJyb2FkY2FzdCBM TElECiAgICAgICAgICAgICAod2hpY2ggaXMgbWFya2VkIGJ5IDB4ZmZmZikuIEluIHRoZSBbODAy LjNhaF0gdGhlIExMSUQKICAgICAgICAgICAgIGlzIGEgMmJ5dGVzIHJlZ2lzdGVyIGFuZCB0aGUg bnVtYmVyIG9mIExMSURzIGxpbWl0ZWQgYnkKICAgICAgICAgICAgIHRoYXQuCiAgICAgICAgICAg ICBUaGUgbnVtYmVyIG9mIHF1ZXVlcyBpcyBiZXR3ZWVuIDAgYW5kIDcgYW5kIGxpbWl0ZWQgYnkK CSAgICAgZG90M0V4dFBrZ09iamVjdFJlcG9ydE1heGltdW1OdW1RdWV1ZXMuIgogICAgOjo9IHsg ZG90M0V4dFBrZ0NvbnRyb2xPYmplY3RzIDIgfQoKZG90M0V4dFBrZ1F1ZXVlRW50cnkgT0JKRUNU LVRZUEUKICAgIFNZTlRBWCAgRG90M0V4dFBrZ1F1ZXVlRW50cnkKICAgIE1BWC1BQ0NFU1MgIG5v dC1hY2Nlc3NpYmxlCiAgICBTVEFUVVMgIGN1cnJlbnQKICAgIERFU0NSSVBUSU9OCiAgICAgICAg ICAgICJBbiBlbnRyeSBpbiB0aGUgRXh0ZW5kZWQgcGFja2FnZSBRdWV1ZSB0YWJsZS4gVGhlIHJv d3MKICAgICAgICAgICAgIGFyZSBhZGRlZCBmb3IgZWFjaCBpZkluZGV4IGFuZCBkb3QzUXVldWVJ bmRleCBhdCB0aGUKICAgICAgICAgICAgIE9MVC4gQXQgdGhlIE9OVSB0aGUgcm93cyBhcmUgYWRk ZWQgZm9yIGVhY2gKICAgICAgICAgICAgIGRvdDNRdWV1ZUluZGV4IGFuZCBhIHNpbmdsZSByb3cg b2YgaWZJbmRleC4KICAgICAgICAgICAgIFJvd3MgaW4gdGhlIHRhYmxlIGFyZSBjcmVhdGVkIHdo ZW4gaWZJbmRleHMgYXJlIGNyZWF0ZWQuCiAgICAgICAgICAgICBGb3IgdGhlIE9OVSByb3dzIGFy ZSBjcmVhdGVkIGF0IHN5c3RlbSBpbml0aWFsaXphdGlvbi4KICAgICAgICAgICAgIEZvciB0aGUg T0xUIHRoZSByb3dzIG9mIHRoZSBPTFQgaWZJbmRleCBhbmQgdGhlIHJvdyBvZgogICAgICAgICAg ICAgdGhlIGlmSW5kZXggcmVmZXJyaW5nIHRvIHRoZSBicm9hZGNhc3QgdmlydHVhbCBsaW5rIGFy ZQogICAgICAgICAgICAgY3JlYXRlZCBhdCBzeXN0ZW0gaW5pdGlhbGl6YXRpb24uIEZvciB0aGUg aWZJbmRleHMKICAgICAgICAgICAgIHJlZmVycmluZyB0byB0aGUgdmlydHVhbCBsaW5rcyBhdCB0 aGUgT0xULCBhIHJvdyBpcwogICAgICAgICAgICAgY3JlYXRlZCB3aGVuIGEgdmlydHVhbCBsaW5r IGlzIGVzdGFibGlzaGVkIChPTlUKICAgICAgICAgICAgIHJlZ2lzdGVycykgYW5kIGRlbGV0ZWQg d2hlbiB0aGUgdmlydHVhbCBsaW5rIGlzIGRlbGV0ZWQKICAgICAgICAgICAgIChPTlUgZGVyZWdp c3RlcnMpLiBSb3dzIGV4aXN0IGZvciBhbiBPTFQgaW50ZXJmYWNlIGFuZAogICAgICAgICAgICAg YW4gT05VIGludGVyZmFjZS4iCiAgICBJTkRFWCAgeyBpZkluZGV4LCBkb3QzUXVldWVJbmRleCB9 CiAgICA6Oj0geyBkb3QzRXh0UGtnUXVldWVUYWJsZSAxIH0KCkRvdDNFeHRQa2dRdWV1ZUVudHJ5 IDo6PQogICAgU0VRVUVOQ0UgewogICAgIGRvdDNRdWV1ZUluZGV4ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgVW5zaWduZWQzMiwKICAgICBkb3QzRXh0UGtnT2JqZWN0UmVwb3J0TnVtVGhy ZXNob2xkICAgICAgICAgICBVbnNpZ25lZDMyLAogICAgIGRvdDNFeHRQa2dPYmplY3RSZXBvcnRN YXhpbXVtTnVtVGhyZXNob2xkICAgIFVuc2lnbmVkMzIsCiAgICAgZG90M0V4dFBrZ1N0YXRUeEZy YW1lc1F1ZXVlICAgICAgICAgICAgICAgICAgQ291bnRlcjY0LAogICAgIGRvdDNFeHRQa2dTdGF0 UnhGcmFtZXNRdWV1ZSAgICAgICAgICAgICAgICAgIENvdW50ZXI2NCwKICAgICBkb3QzRXh0UGtn U3RhdERyb3BwZWRGcmFtZXNRdWV1ZSAgICAgICAgICAgICBDb3VudGVyNjQKICAgIH0KCgpkb3Qz UXVldWVJbmRleCBPQkpFQ1QtVFlQRQogICAgU1lOVEFYICBVbnNpZ25lZDMyICgwLi43KQogICAg TUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUKICAgIFNUQVRVUyAgY3VycmVudAogICAgREVTQ1JJ UFRJT04KICAgICAgICAgICAgIkEgdmFsdWUgdGhhdCBpZGVudGlmaWVzIHRoZSBxdWV1ZSBpbmRl eCBmb3IgdGhlIHF1ZXVlCiAgICAgICAgICAgICB0YWJsZS4gVGhlIHF1ZXVlcyBhcmUgcmVwb3J0 ZWQgaW4gdGhlIE1QQ1AgUkVQT1JUCiAgICAgICAgICAgICBtZXNzYWdlIGFzIGRlZmluZWQgaW4g WzgwMi4zYWhdIGNsYXVzZSA2NC4KICAgICAgICAgICAgIFRoZSBudW1iZXIgb2YgcXVldWVzIGlz IGJldHdlZW4gMCBhbmQgNyBhbmQgbGltaXRlZCBieQoJICAgICBkb3QzRXh0UGtnT2JqZWN0UmVw b3J0TWF4aW11bU51bVF1ZXVlcy4iCiAgICA6Oj0geyBkb3QzRXh0UGtnUXVldWVFbnRyeSAxIH0K CmRvdDNFeHRQa2dPYmplY3RSZXBvcnROdW1UaHJlc2hvbGQgT0JKRUNULVRZUEUKICAgIFNZTlRB WCAgVW5zaWduZWQzMiAoMC4uNykKICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUKICAgIFNUQVRV UyAgY3VycmVudAogICAgREVTQ1JJUFRJT04KICAgICAgICAgICAgIkFuIGludGVnZXJzIGZvciBl YWNoIExMSUQsIHRoYXQgZGVmaW5lcyB0aGUKICAgICAgICAgICAgIG51bWJlciBvZiB0aHJlc2hv bGRzIGZvciBlYWNoIFF1ZXVlIGluIHRoZSBSRVBPUlQKICAgICAgICAgICAgIG1lc3NhZ2UsIGFz IGRlZmluZWQgaW4gWzgwMi4zYWhdIDY0LiBFYWNoIFF1ZXVlIHNldAogICAgICAgICAgICAgcmVw b3J0aW5nIHdpbGwgcHJvdmlkZSBpbmZvcm1hdGlvbiBvbiB0aGUgcXVldWUKICAgICAgICAgICAg IG9jY3VwYW5jeSBvZiBmcmFtZXMgYmVsb3cgdGhlIG1hdGNoaW5nIFRocmVzaG9sZC4KICAgICAg ICAgICAgIFdyaXRpbmcgY2FuIGJlIGRvbmUgYXQgYW55IHRpbWUuCiAgICAgICAgICAgVGhpcyBv YmplY3QgaXMgcmVsZXZhbnQgZm9yIGFuIE9MVCBhbmQgYW4gT05VLiBGb3IgdGhlCiAgICAgICAg ICAgT0xUIHRoZXJlIGlzIGEgdmFsdWUgcGVyIExMSUQuIgogICAgREVGVkFMIHsgMCB9CiAgICA6 Oj0geyBkb3QzRXh0UGtnUXVldWVFbnRyeSAyIH0KCgpkb3QzRXh0UGtnT2JqZWN0UmVwb3J0TWF4 aW11bU51bVRocmVzaG9sZCBPQkpFQ1QtVFlQRQogICAgU1lOVEFYICBVbnNpZ25lZDMyCiAgICBN QVgtQUNDRVNTICByZWFkLW9ubHkKICAgIFNUQVRVUyAgY3VycmVudAogICAgREVTQ1JJUFRJT04K ICAgICAgICAgICAgIkFuIGludGVnZXIgZm9yIGVhY2ggTExJRCwgdGhhdCBkZWZpbmVzIHRoZQog ICAgICAgICAgICAgbWF4aW1hbCBudW1iZXIgb2YgdGhyZXNob2xkcyBmb3IgZWFjaCBRdWV1ZSBp biB0aGUKICAgICAgICAgICAgIFJFUE9SVCBtZXNzYWdlLCBhcyBkZWZpbmVkIGluIFs4MDIuM2Fo XSA2NC4gRWFjaCBRdWV1ZQogICAgICAgICAgICAgc2V0IHJlcG9ydGluZyB3aWxsIHByb3ZpZGUg aW5mb3JtYXRpb24gb24gdGhlIHF1ZXVlCiAgICAgICAgICAgICBvY2N1cGFuY3kgb2YgZnJhbWVz IGJlbG93IHRoZSBtYXRjaGluZyBUaHJlc2hvbGQuCiAgICAgICAgICAgVGhpcyBvYmplY3QgaXMg cmVsZXZhbnQgZm9yIGFuIE9MVCBhbmQgYW4gT05VLiBGb3IgdGhlCiAgICAgICAgICAgT0xUIHRo ZXJlIGlzIGEgdmFsdWUgcGVyIExMSUQuIgogICAgREVGVkFMIHsgMCB9CiAgICA6Oj0geyBkb3Qz RXh0UGtnUXVldWVFbnRyeSAzIH0KCgogZG90M0V4dFBrZ1N0YXRUeEZyYW1lc1F1ZXVlIE9CSkVD VC1UWVBFCiAgICBTWU5UQVggIENvdW50ZXI2NAogICAgVU5JVFMgICAgICAiZnJhbWVzIgogICAg TUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICBTVEFUVVMgIGN1cnJlbnQKICAgIERFU0NSSVBUSU9O CiAgICAgICAgICAgICJBIGNvdW50IG9mIHRoZSBudW1iZXIgb2YgdGltZXMgYSByZWxldmFudCAn UXVldWUnIGZyYW1lcwogICAgICAgICAgICAgdHJhbnNtaXNzaW9uIG9jY3Vycy4gSW5jcmVtZW50 IHRoZSBjb3VudGVyIGJ5IG9uZSBmb3IKICAgICAgICAgICAgIGVhY2ggZnJhbWUgdHJhbnNtaXR0 ZWQgd2hpY2ggaXMgYW4gb3V0cHV0IG9mIHRoZQogICAgICAgICAgICAgJ1F1ZXVlJy4KICAgICAg ICAgICAgIFRoZSAnUXVldWUnIG1hcmtpbmcgbWF0Y2hlZCB0aGUgUkVQT1JUIE1QQ1AgbWVzc2Fn ZQogICAgICAgICAgICAgUXVldWUgZmllbGQsIGFzIGRlZmluZWQgaW4gWzgwMi4zYWhdIGNsYXVz ZSA2NC4gVGhpcwogICAgICAgICAgICAgY291bnRlciBpcyBtYW5kYXRvcnkgZm9yIGFuIE9OVSBv bmx5LiIKICAgIDo6PSB7IGRvdDNFeHRQa2dRdWV1ZUVudHJ5IDR9CgoKZG90M0V4dFBrZ1N0YXRS eEZyYW1lc1F1ZXVlIE9CSkVDVC1UWVBFCiAgICBTWU5UQVggIENvdW50ZXI2NAogICAgVU5JVFMg ICAgICAiZnJhbWVzIgogICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICBTVEFUVVMgIGN1cnJl bnQKICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAgICJBIGNvdW50IG9mIHRoZSBudW1iZXIgb2Yg dGltZXMgYSByZWxldmFudCAnUXVldWUnIGZyYW1lcwogICAgICAgICAgICAgcmVjZXB0aW9uIG9j Y3Vycy4gSW5jcmVtZW50IHRoZSBjb3VudGVyIGJ5IG9uZSBmb3IgZWFjaAogICAgICAgICAgICAg ZnJhbWUgcmVjZWl2ZWQsIHdoaWNoIGlzIGFuIG91dHB1dCBvZiAnUXVldWUnLiBUaGUKICAgICAg ICAgICAgICdRdWV1ZScgbWFya2luZyBtYXRjaGVkIHRoZSBSRVBPUlQgTVBDUCBtZXNzYWdlCiAg ICAgICAgICAgICBRdWV1ZSBmaWVsZCwgYXMgZGVmaW5lZCBpbiBbODAyLjNhaF0gY2xhdXNlIDY0 LgogICAgICAgICAgICAgVGhpcyBjb3VudGVyIGlzIG1hbmRhdG9yeSBmb3IgYW4gT05VIG9ubHku IgogICAgOjo9IHsgZG90M0V4dFBrZ1F1ZXVlRW50cnkgNX0KCmRvdDNFeHRQa2dTdGF0RHJvcHBl ZEZyYW1lc1F1ZXVlIE9CSkVDVC1UWVBFCiAgICBTWU5UQVggIENvdW50ZXI2NAogICAgVU5JVFMg ICAgICAiZnJhbWVzIgogICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICBTVEFUVVMgIGN1cnJl bnQKICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAgICJBIGNvdW50IG9mIHRoZSBudW1iZXIgb2Yg dGltZXMgYSByZWxldmFudCAnUXVldWUnIGZyYW1lcwoJICAgICBkcm9wcyBvY2N1cnMuIEluY3Jl bWVudCB0aGUgY291bnRlciBieSBvbmUgZm9yIGVhY2gKCSAgICAgZnJhbWUgZHJvcHBlZCBmcm9t ICdRdWV1ZScuIFRoZSAnUXVldWUnIG1hcmtpbmcgbWF0Y2hlZAogICAgICAgICAgICAgdGhlIFJF UE9SVCBNUENQIG1lc3NhZ2UgUXVldWUgZmllbGQsIGFzIGRlZmluZWQgaW4KICAgICAgICAgICAg IFs4MDIuM2FoXSBjbGF1c2UgNjQuCiAgICAgICAgICAgICBUaGlzIGNvdW50ZXIgaXMgbWFuZGF0 b3J5IGZvciBhbiBPTlUgb25seS4iCiAgICA6Oj0geyBkb3QzRXh0UGtnUXVldWVFbnRyeSA2fQoK CgoKZG90M0V4dFBrZ1F1ZXVlU2V0c1RhYmxlIE9CSkVDVC1UWVBFCiAgICBTWU5UQVggIFNFUVVF TkNFIE9GIERvdDNFeHRQa2dRdWV1ZVNldHNFbnRyeQogICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vz c2libGUKICAgIFNUQVRVUyAgY3VycmVudAogICAgREVTQ1JJUFRJT04KICAgICAgICAgICAgIkEg dGFibGUgZm9yIEV4dGVuZGVkIHBhY2thZ2UgUXVldWVfU2V0cyBtYW5hZ2VtZW50CiAgICAgICAg ICAgICBvYmplY3RzLiBFbnRyaWVzIGFyZSBjb250cm9sIGFuZCBzdGF0dXMgaW5kaWNhdGlvbgog ICAgICAgICAgICAgb2JqZWN0cyBmb3IgYW4gRVBPTiBpbnRlcmZhY2Ugd2hpY2ggYXJlIGdhdGhl cmVkIGluIGFuCiAgICAgICAgICAgICBleHRlbmRlZCBwYWNrYWdlIGFzIGFuIGFkZGl0aW9uIGZv ciB0aGUgWzgwMi4zYWhdCiAgICAgICAgICAgICBhdHRyaWJ1dGVzLiBUaGUgb2JqZWN0cyBpbiB0 aGlzIHRhYmxlIGFyZSBzcGVjaWZpYyBmb3IKICAgICAgICAgICAgIHRoZSBxdWV1ZS1zZXRzIHdo aWNoIGFyZSByZXBvcnRlZCBpbiB0aGUgTVBDUCBSRVBPUlQKICAgICAgICAgICAgIG1lc3NhZ2Ug YXMgZGVmaW5lZCBpbiBbODAyLjNhaF0gY2xhdXNlIDY0LgogICAgICAgICAgICAgRWFjaCBvYmpl Y3QgaGFzIGEgcm93IGZvciBldmVyeSB2aXJ0dWFsIGxpbmsgYW5kIGZvcgogICAgICAgICAgICAg ZWFjaCBxdWV1ZSBpbiB0aGUgcmVwb3J0IGFuZCBmb3IgZWFjaCBxdWV1ZV9zZXQgaW4gdGhlCgkg ICAgIHF1ZXVlLiBUeXBpY2FsbHkgdGhlIG51bWJlciBvZiBleHBlY3RlZCB2aXJ0dWFsIGxpbmsg aW4KCSAgICAgYSBQT04gaXMgbGlrZSB0aGUgbnVtYmVyIG9mIE9OVXMgMzItNjQgcGx1cyBhbgog ICAgICAgICAgICAgYWRkaXRpb25hbCBlbnRyeSBmb3IgYnJvYWRjYXN0IExMSUQgKHdoaWNoIGlz IG1hcmtlZCBieQogICAgICAgICAgICAgMHhmZmZmKS4gSW4gdGhlIFs4MDIuM2FoXSB0aGUgTExJ RCBpcyBhIDJieXRlcyByZWdpc3RlcgogICAgICAgICAgICAgYW5kIHRoZSBudW1iZXIgb2YgTExJ RHMgaXMgbGltaXRlZCBieSB0aGF0LgogICAgICAgICAgICAgVGhlIG51bWJlciBvZiBxdWV1ZXMg aXMgYmV0d2VlbiAwIGFuZCA3IGFuZCBsaW1pdGVkIGJ5CgkgICAgIGRvdDNFeHRQa2dPYmplY3RS ZXBvcnRNYXhpbXVtTnVtUXVldWVzLgogICAgICAgICAgICAgVGhlIG51bWJlciBvZiBxdWV1ZXNf c2V0cyBpcyBiZXR3ZWVuIDAgYW5kIDcgYW5kIGxpbWl0ZWQKCSAgICAgYnkgZG90M0V4dFBrZ09i amVjdFJlcG9ydE1heGltdW1OdW1UaHJlc2hvbGQuIgoKICAgIDo6PSB7IGRvdDNFeHRQa2dDb250 cm9sT2JqZWN0cyAzIH0KCmRvdDNFeHRQa2dRdWV1ZVNldHNFbnRyeSBPQkpFQ1QtVFlQRQogICAg U1lOVEFYICBEb3QzRXh0UGtnUXVldWVTZXRzRW50cnkKICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nl c3NpYmxlCiAgICBTVEFUVVMgIGN1cnJlbnQKICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAgICJB biBlbnRyeSBpbiB0aGUgRXh0ZW5kZWQgcGFja2FnZSBRdWV1ZSBzZXRzIHRhYmxlLiBUaGUKICAg ICAgICAgICAgIHJvd3MgYXJlIGFkZGVkIGZvciBlYWNoIGlmSW5kZXgsIGRvdDNRdWV1ZVNldFF1 ZXVlSW5kZXgKICAgICAgICAgICAgIGFuZCBkb3QzUXVldWVTZXRJbmRleCBhdCB0aGUgT0xULgog ICAgICAgICAgICAgQXQgdGhlIE9OVSB0aGUgcm93cyBhcmUgYWRkZWQgZm9yIGVhY2gKICAgICAg ICAgICAgIGRvdDNRdWV1ZVNldFF1ZXVlSW5kZXgsIGRvdDNRdWV1ZVNldEluZGV4IGFuZCBhIHNp bmdsZQogICAgICAgICAgICAgcm93IGZvciB0aGUgaWZJbmRleC4KICAgICAgICAgICAgIFJvd3Mg aW4gdGhlIHRhYmxlIGFyZSBjcmVhdGVkIHdoZW4gaWZJbmRleHMgYXJlIGNyZWF0ZWQuCiAgICAg ICAgICAgICBGb3IgdGhlIE9OVSByb3dzIGFyZSBjcmVhdGVkIGF0IHN5c3RlbSBpbml0aWFsaXph dGlvbi4KICAgICAgICAgICAgIEZvciB0aGUgT0xUIHRoZSByb3dzIG9mIHRoZSBPTFQgaWZJbmRl eCBhbmQgdGhlIHJvdyBvZgogICAgICAgICAgICAgdGhlIGlmSW5kZXggcmVmZXJyaW5nIHRvIHRo ZSBicm9hZGNhc3QgdmlydHVhbCBsaW5rIGFyZQogICAgICAgICAgICAgY3JlYXRlZCBhdCBzeXN0 ZW0gaW5pdGlhbGl6YXRpb24uIEZvciB0aGUgaWZJbmRleHMKICAgICAgICAgICAgIHJlZmVycmlu ZyB0byB0aGUgdmlydHVhbCBsaW5rcyBhdCB0aGUgT0xULCBhIHJvdyBpcwogICAgICAgICAgICAg Y3JlYXRlZCB3aGVuIGEgdmlydHVhbCBsaW5rIGlzIGVzdGFibGlzaGVkIChPTlUKICAgICAgICAg ICAgIHJlZ2lzdGVycykgYW5kIGRlbGV0ZWQgd2hlbiB0aGUgdmlydHVhbCBsaW5rIGlzIGRlbGV0 ZWQKICAgICAgICAgICAgIChPTlUgZGVyZWdpc3RlcnMpLiBSb3dzIGV4aXN0IGZvciBhbiBPTFQg aW50ZXJmYWNlIGFuZAogICAgICAgICAgICAgYW4gT05VIGludGVyZmFjZS4iCiAgICBJTkRFWCB7 IGlmSW5kZXgsCiAgICAgICAgICAgIGRvdDNRdWV1ZVNldFF1ZXVlSW5kZXgsZG90M1F1ZXVlU2V0 SW5kZXh9CiAgICA6Oj0geyBkb3QzRXh0UGtnUXVldWVTZXRzVGFibGUgMSB9CgpEb3QzRXh0UGtn UXVldWVTZXRzRW50cnkgOjo9CiAgICBTRVFVRU5DRSB7CiAgICAgZG90M1F1ZXVlU2V0UXVldWVJ bmRleCAgICAgICAgICAgICAgICAgICAgICBVbnNpZ25lZDMyLAogICAgIGRvdDNRdWV1ZVNldElu ZGV4ICAgICAgICAgICAgICAgICAgICAgICAgICAgVW5zaWduZWQzMiwKICAgICBkb3QzRXh0UGtn T2JqZWN0UmVwb3J0VGhyZXNob2xkICAgICAgICAgICAgIFVuc2lnbmVkMzIKICAgIH0KCmRvdDNR dWV1ZVNldFF1ZXVlSW5kZXggT0JKRUNULVRZUEUKICAgIFNZTlRBWCAgVW5zaWduZWQzMiAoMC4u NykKICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAgICBTVEFUVVMgIGN1cnJlbnQKICAg IERFU0NSSVBUSU9OCiAgICAgICAgICAgICJBIHZhbHVlIHRoYXQgaWRlbnRpZmllcyB0aGUgcXVl dWUgaW5kZXggZm9yIHRoZSBxdWV1ZQogICAgICAgICAgICAgc2V0IHRhYmxlLiBUaGUgcXVldWVz IGFyZSByZXBvcnRlZCBpbiB0aGUgTVBDUCBSRVBPUlQKICAgICAgICAgICAgIG1lc3NhZ2UgYXMg ZGVmaW5lZCBpbiBbODAyLjNhaF0gY2xhdXNlIDY0LgogICAgICAgICAgICAgVGhlIG51bWJlciBv ZiBxdWV1ZXMgaXMgYmV0d2VlbiAwIGFuZCA3IGFuZCBsaW1pdGVkIGJ5CiAgICAgICAgICAgICBk b3QzRXh0UGtnT2JqZWN0UmVwb3J0TWF4aW11bU51bVF1ZXVlcy4KICAgICAgICAgICAgIFZhbHVl IGNvcnJlc3BvbmRzIHRvIHRoZSBkb3QzUXVldWVJbmRleCBvZiB0aGUgcXVldWUKICAgICAgICAg ICAgIHRhYmxlLiIKICAgIDo6PSB7IGRvdDNFeHRQa2dRdWV1ZVNldHNFbnRyeSAxIH0KCgpkb3Qz UXVldWVTZXRJbmRleCBPQkpFQ1QtVFlQRQogICAgU1lOVEFYICBVbnNpZ25lZDMyICgwLi43KQog ICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUKICAgIFNUQVRVUyAgY3VycmVudAogICAgREVT Q1JJUFRJT04KICAgICAgICAgICAgIkEgdmFsdWUgdGhhdCBpZGVudGlmaWVzIHRoZSBxdWV1ZV9z ZXQgaW5kZXggZm9yIHRoZQoJICAgICBxdWV1ZV9zZXRzIHRhYmxlLiBUaGUgcXVldWVzIGFyZSBy ZXBvcnRlZCBpbiB0aGUgTVBDUAoJICAgICBSRVBPUlQgbWVzc2FnZSBhcyBkZWZpbmVkIGluIFs4 MDIuM2FoXSBjbGF1c2UgNjQuCiAgICAgICAgICAgICBUaGUgbnVtYmVyIG9mIHF1ZXVlc19zZXRz IGlzIGJldHdlZW4gMCBhbmQgNy4iCiAgICA6Oj0geyBkb3QzRXh0UGtnUXVldWVTZXRzRW50cnkg MiB9CgogICAgZG90M0V4dFBrZ09iamVjdFJlcG9ydFRocmVzaG9sZCBPQkpFQ1QtVFlQRQogICAg U1lOVEFYICBVbnNpZ25lZDMyCiAgICBVTklUUyAgICAgICAiVFEgKDE2bnNlYykiCiAgICBNQVgt QUNDRVNTICByZWFkLXdyaXRlCiAgICBTVEFUVVMgIGN1cnJlbnQKICAgIERFU0NSSVBUSU9OCiAg ICAgICAgICAgICJBbiBpbnRlZ2VyIHRoYXQgZGVmaW5lcyB0aGUgdGhyZXNob2xkIHJlcG9ydGlu ZyBmb3IgZWFjaAogICAgICAgICAgICAgUXVldWVfc2V0IGluIHRoZSBSRVBPUlQgbWVzc2FnZSwg YXMgZGVmaW5lZCBpbiBbODAyLjNhaF0KICAgICAgICAgICAgIDY0LiBUaGUgbnVtYmVyIG9mIHNl dHMgaXMKICAgICAgICAgICAgIGRvdDNFeHRQa2dPYmplY3RSZXBvcnROdW1UaHJlc2hvbGQuIEVh Y2ggUXVldWUgc2V0CiAgICAgICAgICAgICByZXBvcnRpbmcgd2lsbCBwcm92aWRlIGluZm9ybWF0 aW9uIG9uIHRoZSBxdWV1ZQogICAgICAgICAgICAgb2NjdXBhbmN5IG9mIGZyYW1lcyBiZWxvdyB0 aGUgbWF0Y2hpbmcgVGhyZXNob2xkLgogICAgICAgICAgICAgVGhlIHZhbHVlIHJldHVybmVkIHNo YWxsIGJlIGluIFRpbWUgcXVhbnRhIChUUSkgd2hpY2gKICAgICAgICAgICAgIGlzIDE2bnNlYyBv ciAyIG9jdGV0cyBpbmNyZW1lbnRzLgogICAgICAgICAgICAgV3JpdGluZyBjYW4gYmUgZG9uZSBh dCBhbnkgdGltZS4KICAgICAgICAgICBUaGlzIG9iamVjdCBpcyByZWxldmFudCBmb3IgYW4gT0xU IGFuZCBhbiBPTlUuIEZvciB0aGUKICAgICAgICAgICBPTFQgdGhlcmUgaXMgYSB2YWx1ZSBwZXIg TExJRC4iCiAgICBERUZWQUwgeyAwIH0KICAgIDo6PSB7IGRvdDNFeHRQa2dRdWV1ZVNldHNFbnRy eSAzIH0KCgoKLS1PcHRpY2FsIEludGVyZmFjZSBzdGF0dXMgdGFibGVzCgpkb3QzRXh0UGtnT3B0 SWZUYWJsZSBPQkpFQ1QtVFlQRQogICAgU1lOVEFYICAgICBTRVFVRU5DRSBPRiBEb3QzRXh0UGtn T3B0SWZFbnRyeQogICAgTUFYLUFDQ0VTUyBub3QtYWNjZXNzaWJsZQogICAgU1RBVFVTICAgICBj dXJyZW50CiAgICBERVNDUklQVElPTgogICAgICAgICAgICAiVGhpcyB0YWJsZSBkZWZpbmVzIHRo ZSBsaXN0IG9mIHN0YXR1cyBjb250cm9sIGFuZCBzdGF0dXMKICAgICAgICAgICAgIGluZGljYXRp b24gZm9yIHRoZSBvcHRpY2FsIGludGVyZmFjZSBvZiBhbiBFUE9OCiAgICAgICAgICAgICBpbnRl cmZhY2UuCiAgICAgICAgICAgICBFYWNoIG9iamVjdCBoYXMgYSByb3cgZm9yIGV2ZXJ5IHZpcnR1 YWwgbGluawogICAgICAgICAgICAgYWNjb3JkaW5nIHRvIHRoZSBwcm9wZXIgaWZJbmRleC4gVHlw aWNhbGx5IHRoZSBudW1iZXIKICAgICAgICAgICAgIG9mIGV4cGVjdGVkIHZpcnR1YWwgbGluayBp biBhIFBPTiBpcyBsaWtlIHRoZSBudW1iZXIgb2YKICAgICAgICAgICAgIE9OVXMgMzItNjQgcGx1 cyBhbiBhZGRpdGlvbmFsIGVudHJ5IGZvciBicm9hZGNhc3QgTExJRAogICAgICAgICAgICAgKHdo aWNoIGlzIG1hcmtlZCBieSAweGZmZmYpLiBJbiB0aGUgWzgwMi4zYWhdIHRoZSBMTElECiAgICAg ICAgICAgICBpcyBhIDJieXRlcyByZWdpc3RlciBhbmQgdGhlIG51bWJlciBvZiBMTElEcyBsaW1p dGVkIGJ5CiAgICAgICAgICAgICB0aGF0LiIKICAgIDo6PSB7IGRvdDNFeHRQa2dDb250cm9sT2Jq ZWN0cyA1fQoKZG90M0V4dFBrZ09wdElmRW50cnkgT0JKRUNULVRZUEUKICAgIFNZTlRBWCAgICAg RG90M0V4dFBrZ09wdElmRW50cnkKICAgIE1BWC1BQ0NFU1Mgbm90LWFjY2Vzc2libGUKICAgIFNU QVRVUyAgICAgY3VycmVudAogICAgREVTQ1JJUFRJT04KICAgICAgICAgICAgIlRhYmxlIGVudHJp ZXMgZm9yIHRoZSBUYWJsZSBvZiBvcHRpY2FsIGludGVyZmFjZXMKICAgICAgICAgICAgIGNvbnRy b2wgYW5kIHN0YXR1cyBpbmRpY2F0aW9uIG9mIEVQT04gaW50ZXJmYWNlcy4KICAgICAgICAgICAg IFJvd3MgaW4gdGhlIHRhYmxlIGFyZSBjcmVhdGVkIHdoZW4gaWZJbmRleHMgYXJlIGNyZWF0ZWQu CiAgICAgICAgICAgICBGb3IgdGhlIE9OVSByb3dzIGFyZSBjcmVhdGVkIGF0IHN5c3RlbSBpbml0 aWFsaXphdGlvbi4KICAgICAgICAgICAgIEZvciB0aGUgT0xUIHRoZSByb3dzIG9mIHRoZSBPTFQg aWZJbmRleCBhbmQgdGhlIHJvdyBvZgogICAgICAgICAgICAgdGhlIGlmSW5kZXggcmVmZXJyaW5n IHRvIHRoZSBicm9hZGNhc3QgdmlydHVhbCBsaW5rIGFyZQogICAgICAgICAgICAgY3JlYXRlZCBh dCBzeXN0ZW0gaW5pdGlhbGl6YXRpb24uIEZvciB0aGUgaWZJbmRleHMKICAgICAgICAgICAgIHJl ZmVycmluZyB0byB0aGUgdmlydHVhbCBsaW5rcyBhdCB0aGUgT0xULCBhIHJvdyBpcwogICAgICAg ICAgICAgY3JlYXRlZCB3aGVuIGEgdmlydHVhbCBsaW5rIGlzIGVzdGFibGlzaGVkIChPTlUKICAg ICAgICAgICAgIHJlZ2lzdGVycykgYW5kIGRlbGV0ZWQgd2hlbiB0aGUgdmlydHVhbCBsaW5rIGlz IGRlbGV0ZWQKICAgICAgICAgICAgIChPTlUgZGVyZWdpc3RlcnMpLiBSb3dzIGV4aXN0IGZvciBh biBPTFQgaW50ZXJmYWNlIGFuZAogICAgICAgICAgICAgYW4gT05VIGludGVyZmFjZS4iCiAgICBJ TkRFWCAgICAgICB7IGlmSW5kZXggfQogICAgOjo9IHsgZG90M0V4dFBrZ09wdElmVGFibGUgMSB9 CgogRG90M0V4dFBrZ09wdElmRW50cnkgOjo9CiAgIFNFUVVFTkNFIHsKICAgICBkb3QzRXh0UGtn T3B0SWZTdXNwZWN0ZWRGbGFnICAgICAgICAgICAgIFRydXRoVmFsdWUsCiAgICAgZG90M0V4dFBr Z09wdElmSW5wdXRQb3dlciAgICAgICAgICAgICAgICBJbnRlZ2VyMzIsCiAgICAgZG90M0V4dFBr Z09wdElmTG93SW5wdXRQb3dlciAgICAgICAgICAgICBJbnRlZ2VyMzIsCiAgICAgZG90M0V4dFBr Z09wdElmSGlnaElucHV0UG93ZXIgICAgICAgICAgICBJbnRlZ2VyMzIsCiAgICAgZG90M0V4dFBr Z09wdElmTG93ZXJJbnB1dFBvd2VyVGhyZXNob2xkICBJbnRlZ2VyMzIsCiAgICAgZG90M0V4dFBr Z09wdElmVXBwZXJJbnB1dFBvd2VyVGhyZXNob2xkICBJbnRlZ2VyMzIsCiAgICAgZG90M0V4dFBr Z09wdElmT3V0cHV0UG93ZXIgICAgICAgICAgICAgICBJbnRlZ2VyMzIsCiAgICAgZG90M0V4dFBr Z09wdElmTG93T3V0cHV0UG93ZXIgICAgICAgICAgICBJbnRlZ2VyMzIsCiAgICAgZG90M0V4dFBr Z09wdElmSGlnaE91dHB1dFBvd2VyICAgICAgICAgICBJbnRlZ2VyMzIsCiAgICAgZG90M0V4dFBr Z09wdElmTG93ZXJPdXRwdXRQb3dlclRocmVzaG9sZCBJbnRlZ2VyMzIsCiAgICAgZG90M0V4dFBr Z09wdElmVXBwZXJPdXRwdXRQb3dlclRocmVzaG9sZCBJbnRlZ2VyMzIsCiAgICAgZG90M0V4dFBr Z09wdElmU2lnbmFsRGV0ZWN0ICAgICAgICAgICAgICBUcnV0aFZhbHVlLAogICAgIGRvdDNFeHRQ a2dPcHRJZlRyYW5zbWl0QWxhcm0gICAgICAgICAgICAgVHJ1dGhWYWx1ZSwKICAgICBkb3QzRXh0 UGtnT3B0SWZUcmFuc21pdEVuYWJsZSAgICAgICAgICAgIFRydXRoVmFsdWUKICAgICB9CgoKZG90 M0V4dFBrZ09wdElmU3VzcGVjdGVkRmxhZyBPQkpFQ1QtVFlQRQogIFNZTlRBWCAgVHJ1dGhWYWx1 ZQogIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogIFNUQVRVUyAgY3VycmVudAogIERFU0NSSVBUSU9O CiAgICAiSWYgdHJ1ZSwgdGhlIGRhdGEgaW4gdGhpcyBlbnRyeSBtYXkgYmUgdW5yZWxpYWJsZS4i CiAgOjo9IHsgZG90M0V4dFBrZ09wdElmRW50cnkgMSB9Cgpkb3QzRXh0UGtnT3B0SWZJbnB1dFBv d2VyIE9CSkVDVC1UWVBFCiAgU1lOVEFYICBJbnRlZ2VyMzIKICBVTklUUyAgIjAuMSBkYm0iCiAg TUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgU1RBVFVTICBjdXJyZW50CiAgREVTQ1JJUFRJT04KICAg ICJUaGUgb3B0aWNhbCBwb3dlciBtb25pdG9yZWQgYXQgdGhlIGlucHV0LiIKICA6Oj0geyBkb3Qz RXh0UGtnT3B0SWZFbnRyeSAyIH0KCmRvdDNFeHRQa2dPcHRJZkxvd0lucHV0UG93ZXIgT0JKRUNU LVRZUEUKICBTWU5UQVggIEludGVnZXIzMgogIFVOSVRTICAiMC4xIGRibSIKICBNQVgtQUNDRVNT ICByZWFkLW9ubHkKICBTVEFUVVMgIGN1cnJlbnQKICBERVNDUklQVElPTgogICAgIlRoZSBsb3dl c3Qgb3B0aWNhbCBwb3dlciBtb25pdG9yZWQgYXQgdGhlIGlucHV0IGR1cmluZyB0aGUKICAgICBj dXJyZW50IDE1LW1pbnV0ZSBpbnRlcnZhbC4iCiAgOjo9IHsgZG90M0V4dFBrZ09wdElmRW50cnkg MyB9Cgpkb3QzRXh0UGtnT3B0SWZIaWdoSW5wdXRQb3dlciBPQkpFQ1QtVFlQRQogIFNZTlRBWCAg SW50ZWdlcjMyCiAgVU5JVFMgICIwLjEgZGJtIgogIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogIFNU QVRVUyAgY3VycmVudAogIERFU0NSSVBUSU9OCiAgICAiVGhlIGhpZ2hlc3Qgb3B0aWNhbCBwb3dl ciBtb25pdG9yZWQgYXQgdGhlIGlucHV0IGR1cmluZyB0aGUKICAgICBjdXJyZW50IDE1LW1pbnV0 ZSBpbnRlcnZhbC4iCiAgOjo9IHsgZG90M0V4dFBrZ09wdElmRW50cnkgNCB9Cgpkb3QzRXh0UGtn T3B0SWZMb3dlcklucHV0UG93ZXJUaHJlc2hvbGQgT0JKRUNULVRZUEUKICBTWU5UQVggIEludGVn ZXIzMgogIFVOSVRTICAiMC4xIGRibSIKICBNQVgtQUNDRVNTICByZWFkLXdyaXRlCiAgU1RBVFVT ICBjdXJyZW50CiAgREVTQ1JJUFRJT04KICAgICJUaGUgbG93ZXIgbGltaXQgdGhyZXNob2xkIG9u IGlucHV0IHBvd2VyLiAgSWYKICAgICBkb3QzRXh0UGtnT3B0SWZJbnB1dFBvd2VyIGRyb3BzIHRv IHRoaXMgdmFsdWUgb3IgYmVsb3csCiAgICAgYSBUaHJlc2hvbGQgQ3Jvc3NpbmcgQWxlcnQgKFRD QSkgc2hvdWxkIGJlIHNlbnQuIgogIDo6PSB7IGRvdDNFeHRQa2dPcHRJZkVudHJ5IDUgfQoKZG90 M0V4dFBrZ09wdElmVXBwZXJJbnB1dFBvd2VyVGhyZXNob2xkIE9CSkVDVC1UWVBFCiAgU1lOVEFY ICBJbnRlZ2VyMzIKICBVTklUUyAgIjAuMSBkYm0iCiAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQog IFNUQVRVUyAgY3VycmVudAogIERFU0NSSVBUSU9OCiAgICAiVGhlIHVwcGVyIGxpbWl0IHRocmVz aG9sZCBvbiBpbnB1dCBwb3dlci4gIElmCiAgICAgZG90M0V4dFBrZ09wdElmSW5wdXRQb3dlciBy ZWFjaGVzIG9yIGV4Y2VlZHMgdGhpcyB2YWx1ZSwKICAgICBhIFRocmVzaG9sZCBDcm9zc2luZyBB bGVydCAoVENBKSBzaG91bGQgYmUgc2VudC4iCiAgOjo9IHsgZG90M0V4dFBrZ09wdElmRW50cnkg NiB9Cgpkb3QzRXh0UGtnT3B0SWZPdXRwdXRQb3dlciBPQkpFQ1QtVFlQRQogIFNZTlRBWCAgSW50 ZWdlcjMyCiAgVU5JVFMgICIwLjEgZGJtIgogIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogIFNUQVRV UyAgY3VycmVudAogIERFU0NSSVBUSU9OCiAgICAiVGhlIG9wdGljYWwgcG93ZXIgbW9uaXRvcmVk IGF0IHRoZSBvdXRwdXQuIgogIDo6PSB7IGRvdDNFeHRQa2dPcHRJZkVudHJ5IDcgfQoKZG90M0V4 dFBrZ09wdElmTG93T3V0cHV0UG93ZXIgT0JKRUNULVRZUEUKICBTWU5UQVggIEludGVnZXIzMgog IFVOSVRTICAiMC4xIGRibSIKICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICBTVEFUVVMgIGN1cnJl bnQKICBERVNDUklQVElPTgogICAgIlRoZSBsb3dlc3Qgb3B0aWNhbCBwb3dlciBtb25pdG9yZWQg YXQgdGhlIG91dHB1dCBkdXJpbmcgdGhlCiAgICAgY3VycmVudCAxNS1taW51dGUgaW50ZXJ2YWwu IgogIDo6PSB7IGRvdDNFeHRQa2dPcHRJZkVudHJ5IDggfQoKZG90M0V4dFBrZ09wdElmSGlnaE91 dHB1dFBvd2VyIE9CSkVDVC1UWVBFCiAgU1lOVEFYICBJbnRlZ2VyMzIKICBVTklUUyAgIjAuMSBk Ym0iCiAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgU1RBVFVTICBjdXJyZW50CiAgREVTQ1JJUFRJ T04KICAgICJUaGUgaGlnaGVzdCBvcHRpY2FsIHBvd2VyIG1vbml0b3JlZCBhdCB0aGUgb3V0cHV0 IGR1cmluZyB0aGUKICAgICBjdXJyZW50IDE1LW1pbnV0ZSBpbnRlcnZhbC4iCiAgOjo9IHsgZG90 M0V4dFBrZ09wdElmRW50cnkgOSB9Cgpkb3QzRXh0UGtnT3B0SWZMb3dlck91dHB1dFBvd2VyVGhy ZXNob2xkIE9CSkVDVC1UWVBFCiAgU1lOVEFYICBJbnRlZ2VyMzIKICBVTklUUyAgIjAuMSBkYm0i CiAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQogIFNUQVRVUyAgY3VycmVudAogIERFU0NSSVBUSU9O CiAgICAiVGhlIGxvd2VyIGxpbWl0IHRocmVzaG9sZCBvbiBvdXRwdXQgcG93ZXIuICBJZgogICAg IGRvdDNFeHRQa2dPcHRJZk91dHB1dFBvd2VyIGRyb3BzIHRvIHRoaXMgdmFsdWUgb3IgYmVsb3cs CiAgICAgYSBUaHJlc2hvbGQgQ3Jvc3NpbmcgQWxlcnQgKFRDQSkgc2hvdWxkIGJlIHNlbnQuIgog IDo6PSB7IGRvdDNFeHRQa2dPcHRJZkVudHJ5IDEwIH0KCmRvdDNFeHRQa2dPcHRJZlVwcGVyT3V0 cHV0UG93ZXJUaHJlc2hvbGQgT0JKRUNULVRZUEUKICBTWU5UQVggIEludGVnZXIzMgogIFVOSVRT ICAiMC4xIGRibSIKICBNQVgtQUNDRVNTICByZWFkLXdyaXRlCiAgU1RBVFVTICBjdXJyZW50CiAg REVTQ1JJUFRJT04KICAgICJUaGUgdXBwZXIgbGltaXQgdGhyZXNob2xkIG9uIG91dHB1dCBwb3dl ci4gIElmCiAgICAgZG90M0V4dFBrZ09wdElmT3V0cHV0UG93ZXIgcmVhY2hlcyBvciBleGNlZWRz IHRoaXMgdmFsdWUsCiAgICAgYSBUaHJlc2hvbGQgQ3Jvc3NpbmcgQWxlcnQgKFRDQSkgc2hvdWxk IGJlIHNlbnQuIgogIDo6PSB7IGRvdDNFeHRQa2dPcHRJZkVudHJ5IDExIH0KCmRvdDNFeHRQa2dP cHRJZlNpZ25hbERldGVjdCBPQkpFQ1QtVFlQRQogICAgU1lOVEFYICBUcnV0aFZhbHVlCiAgICBN QVgtQUNDRVNTICByZWFkLW9ubHkKICAgIFNUQVRVUyAgY3VycmVudAogICAgREVTQ1JJUFRJT04K ICAgICAgICAgICAgIldoZW4gZ2V0dGluZyB0cnVlKDEpIHRoZXJlIGlzIGEgdmFsaWQgb3B0aWNh bCBzaWduYWwgYXQKICAgICAgICAgICAgIHRoZSByZWNlaXZlIHdoaWNoIGlzIGFib3ZlIHRoZSBv cHRpY2FsIHBvd2VyIGxldmVsIGZvcgogICAgICAgICAgICAgc2lnbmFsIGRldGVjdGlvbi4gV2hl biBnZXR0aW5nIGZhbHNlKDIpIHRoZSBvcHRpY2FsCiAgICAgICAgICAgICBzaWduYWwgYXQgdGhl IHJlY2VpdmUgaXMgYmVsb3cgdGhlIG9wdGljYWwgcG93ZXIgbGV2ZWwKICAgICAgICAgICAgIGZv ciBzaWduYWwgZGV0ZWN0aW9uLgogICAgICAgICAgICAgVGhpcyBvYmplY3QgaXMgcmVsZXZhbnQg Zm9yIGFuIE9MVCBhbmQgYW4gT05VLiIKICAgIERFRlZBTCB7IGZhbHNlIH0KICAgIDo6PSB7IGRv dDNFeHRQa2dPcHRJZkVudHJ5IDEyIH0KCmRvdDNFeHRQa2dPcHRJZlRyYW5zbWl0QWxhcm0gT0JK RUNULVRZUEUKICAgIFNZTlRBWCAgVHJ1dGhWYWx1ZQogICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5 CiAgICBTVEFUVVMgIGN1cnJlbnQKICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAgICJXaGVuIGdl dHRpbmcgdHJ1ZSgxKSB0aGVyZSBpcyBhIG5vbi12YWxpZCBvcHRpY2FsIHNpZ25hbAogICAgICAg ICAgICAgYXQgdGhlIHRyYW5zbWl0IG9mIHRoZSBpbnRlcmZhY2UsIGVpdGhlciBhIGhpZ2hlciBs ZXZlbAogICAgICAgICAgICAgb3IgbG93ZXIgbGV2ZWwgdGhhbiBleHBlY3RlZC4gV2hlbiBnZXR0 aW5nIGZhbHNlKDIpIHRoZQogICAgICAgICAgICAgb3B0aWNhbCBzaWduYWwgYXQgdGhlIHRyYW5z bWl0IGlzIHZhbGlkIGFuZCBpbiB0aGUKICAgICAgICAgICAgIHJlcXVpcmVkIHJhbmdlLgogICAg ICAgICAgICAgVGhpcyBvYmplY3QgaXMgcmVsZXZhbnQgZm9yIGFuIE9MVCBhbmQgYW4gT05VLiIK ICAgIERFRlZBTCB7IGZhbHNlIH0KICAgIDo6PSB7IGRvdDNFeHRQa2dPcHRJZkVudHJ5IDEzIH0K Cgpkb3QzRXh0UGtnT3B0SWZUcmFuc21pdEVuYWJsZSBPQkpFQ1QtVFlQRQogICAgU1lOVEFYICBU cnV0aFZhbHVlCiAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlCiAgICBTVEFUVVMgIGN1cnJlbnQK ICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAgICJTZXR0aW5nIHRoaXMgdmFyaWFibGUgdG8gdHJ1 ZSgxKSB3aWxsIGNhdXNlIHRoZSBvcHRpY2FsCiAgICAgICAgICAgICBpbnRlcmZhY2UgdG8gc3Rh cnQgdHJhbnNtaXNzaW9uIChhY2NvcmRpbmcgdG8gdGhlCiAgICAgICAgICAgICBjb250cm9sIHBy b3RvY29sIHNwZWNpZmllZCBmb3IgdGhlIGxvZ2ljYWwgaW50ZXJmYWNlKS4KICAgICAgICAgICAg IFNldHRpbmcgdGhpcyB2YXJpYWJsZSB0byBmYWxzZSgyKSB3aWxsIGNhdXNlIHRoZQogICAgICAg ICAgICAgaW50ZXJmYWNlIHRvIHN0b3AgdGhlIG9wdGljYWwgdHJhbnNtaXNzaW9uLgogICAgICAg ICAgICAgV2hlbiBnZXR0aW5nIHRydWUoMSkgdGhlIG9wdGljYWwgaW50ZXJmYWNlIGlzIGluCiAg ICAgICAgICAgICB0cmFuc21pdCBtb2RlIChvYmV5aW5nIHRvIHRoZSBsb2dpY2FsIGNvbnRyb2wg cHJvdG9jb2wpLgogICAgICAgICAgICAgV2hlbiBnZXR0aW5nIGZhbHNlKDIpIHRoZSBvcHRpY2Fs IGludGVyZmFjZSBpcyBub3QgaW4KICAgICAgICAgICAgIHRyYW5zbWl0IG1vZGUuCiAgICAgICAg ICAgICBXcml0aW5nIGNhbiBiZSBkb25lIGF0IGFueSB0aW1lLgogICAgICAgICAgICAgVGhlIHZh cmlhYmxlIGlzIHJlbGV2YW50IHdoZW4gdGhlIGFkbWluIHN0YXRlIG9mIHRoZQogICAgICAgICAg ICAgZGV2aWNlIGlzIGFjdGl2ZSBhcyBzZXQgYnkgdGhlIGRvdDNNcGNwQWRtaW5TdGF0ZS4KICAg ICAgICAgICAgIFRoaXMgb2JqZWN0IGlzIHJlbGV2YW50IGZvciBhbiBPTFQgYW5kIGFuIE9OVS4i CiAgICBERUZWQUwgeyBmYWxzZSB9CiAgICA6Oj0geyBkb3QzRXh0UGtnT3B0SWZFbnRyeSAxNCB9 CgoKLS0gQ29uZm9ybWFuY2UgU3RhdGVtZW50cwoKLS0gQ29uZm9ybWFuY2UgR3JvdXBzCgoKZG90 M0Vwb25Hcm91cHMgICAgICBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBkb3QzRXBvbkNvbmZvcm1h bmNlIDEgfQoKZG90M01wY3BHcm91cEJhc2UgT0JKRUNULUdST1VQCiAgICBPQkpFQ1RTIHsKICAg ICAgICAgICAgZG90M01wY3BPcGVyU3RhdHVzLAogICAgICAgICAgICBkb3QzTXBjcEFkbWluU3Rh dGUsCiAgICAgICAgICAgIGRvdDNNcGNwTW9kZSwKICAgICAgICAgICAgZG90M01wY3BTeW5jVGlt ZSwKCSAgICBkb3QzTXBjcExpbmtJRCwKCSAgICBkb3QzTXBjcFJlbW90ZU1BQ0FkZHJlc3MsCiAg ICAgICAgICAgIGRvdDNNcGNwUmVnaXN0cmF0aW9uU3RhdGUsCiAgICAgICAgICAgIGRvdDNNcGNw TWF4aW11bVBlbmRpbmdHcmFudHMsCiAgICAgICAgICAgIGRvdDNNcGNwVHJhbnNtaXRFbGFwc2Vk LAogICAgICAgICAgICBkb3QzTXBjcFJlY2VpdmVFbGFwc2VkLAogICAgICAgICAgICBkb3QzTXBj cFJvdW5kVHJpcFRpbWUKICAgIH0KICAgIFNUQVRVUyAgY3VycmVudAogICAgREVTQ1JJUFRJT04K ICAgICAgICAgICAiQSBjb2xsZWN0aW9uIG9mIG9iamVjdHMgb2YgZG90MyBNcGNwIENvbnRyb2wg ZW50aXR5IHN0YXRlCiAgICAgICAgICAgIGRlZmluaXRpb24uIE9iamVjdHMgYXJlIHBlciBMTElE LiIKICAgIDo6PSB7IGRvdDNFcG9uR3JvdXBzIDEgfQoKCmRvdDNNcGNwR3JvdXBTdGF0IE9CSkVD VC1HUk9VUAogICAgT0JKRUNUUyB7CiAgICAgICAgICAgIGRvdDNNcGNwTUFDQ3RybEZyYW1lc1Ry YW5zbWl0dGVkLAogICAgICAgICAgICBkb3QzTXBjcE1BQ0N0cmxGcmFtZXNSZWNlaXZlZCwKICAg ICAgICAgICAgZG90M01wY3BEaXNjb3ZlcnlXaW5kb3dzU2VudCwKICAgICAgICAgICAgZG90M01w Y3BEaXNjb3ZlcnlUaW1lb3V0ICwKICAgICAgICAgICAgZG90M01wY3BUeFJlZ1JlcXVlc3QsCiAg ICAgICAgICAgIGRvdDNNcGNwUnhSZWdSZXF1ZXN0LAogICAgICAgICAgICBkb3QzTXBjcFR4UmVn QWNrLAogICAgICAgICAgICBkb3QzTXBjcFJ4UmVnQWNrLAogICAgICAgICAgICBkb3QzTXBjcFR4 UmVwb3J0LAogICAgICAgICAgICBkb3QzTXBjcFJ4UmVwb3J0LAogICAgICAgICAgICBkb3QzTXBj cFR4R2F0ZSwKICAgICAgICAgICAgZG90M01wY3BSeEdhdGUsCiAgICAgICAgICAgIGRvdDNNcGNw VHhSZWdpc3RlciwKICAgICAgICAgICAgZG90M01wY3BSeFJlZ2lzdGVyCiAgICB9CiAgICBTVEFU VVMgIGN1cnJlbnQKICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAgICJBIGNvbGxlY3Rpb24gb2Yg b2JqZWN0cyBvZiBkb3QzIE1wY3AgU3RhdGlzdGljcy4KICAgICAgICAgICAgIE9iamVjdHMgYXJl IHBlciBMTElELiIKICAgIDo6PSB7IGRvdDNFcG9uR3JvdXBzIDIgfQoKZG90M09tcGVHcm91cElE IE9CSkVDVC1HUk9VUAogICAgT0JKRUNUUyB7CiAgICAgICAgICAgIGRvdDNPbXBFbXVsYXRpb25U eXBlCgogICAgfQogICAgU1RBVFVTICBjdXJyZW50CiAgICBERVNDUklQVElPTgogICAgICAgICAg ICAiQSBjb2xsZWN0aW9uIG9mIG9iamVjdHMgb2YgZG90MyBPTVAgZW11bGF0aW9uIElEIGVudGl0 eQogICAgICAgICAgICAgc3RhdGUgZGVmaW5pdGlvbi4gT2JqZWN0cyBhcmUgcGVyIExMSUQuIgog ICAgOjo9IHsgZG90M0Vwb25Hcm91cHMgMyB9CgoKZG90M09tcGVHcm91cFN0YXQgT0JKRUNULUdS T1VQCiAgICBPQkpFQ1RTIHsKICAgICAgICAgICAgZG90M09tcEVtdWxhdGlvblNMREVycm9ycywK ICAgICAgICAgICAgZG90M09tcEVtdWxhdGlvbkNSQzhFcnJvcnMsCiAgICAgICAgICAgIGRvdDNP bXBFbXVsYXRpb25CYWRMTElELAogICAgICAgICAgICBkb3QzT21wRW11bGF0aW9uR29vZExMSUQs CiAgICAgICAgICAgIGRvdDNPbXBFbXVsYXRpb25PbnVQb25DYXN0TExJRCwKICAgICAgICAgICAg ZG90M09tcEVtdWxhdGlvbk9sdFBvbkNhc3RMTElELAogICAgICAgICAgICBkb3QzT21wRW11bGF0 aW9uQnJvYWRjYXN0Qml0Tm90T251TGxpZCwKICAgICAgICAgICAgZG90M09tcEVtdWxhdGlvbk9u dUxMSUROb3RCcm9hZGNhc3QsCiAgICAgICAgICAgIGRvdDNPbXBFbXVsYXRpb25Ccm9hZGNhc3RC aXRQbHVzT251TGxpZCwKICAgICAgICAgICAgZG90M09tcEVtdWxhdGlvbk5vdEJyb2FkY2FzdEJp dE5vdE9udUxsaWQKICAgIH0KICAgIFNUQVRVUyAgY3VycmVudAogICAgREVTQ1JJUFRJT04KICAg ICAgICAgICAgIkEgY29sbGVjdGlvbiBvZiBvYmplY3RzIG9mIGRvdDMgT01QIGVtdWxhdGlvbgog ICAgICAgICAgICAgU3RhdGlzdGljcy4gT2JqZWN0cyBhcmUgcGVyIExMSUQuIgogICAgOjo9IHsg ZG90M0Vwb25Hcm91cHMgNCB9CgoKZG90M0Vwb25GZWNHcm91cEFsbCBPQkpFQ1QtR1JPVVAKICAg IE9CSkVDVFMgewogICAgICAgICAgICBkb3QzRXBvbkZlY1BDU0NvZGluZ1Zpb2xhdGlvbiwKICAg ICAgICAgICAgZG90M0Vwb25GZWNBYmlsaXR5LAogICAgICAgICAgICBkb3QzRXBvbkZlY01vZGUs CiAgICAgICAgICAgIGRvdDNFcG9uRmVjQ29ycmVjdGVkQmxvY2tzLAogICAgICAgICAgICBkb3Qz RXBvbkZlY1VuY29ycmVjdGFibGVCbG9ja3MsCiAgICAgICAgICAgIGRvdDNFcG9uRmVjQnVmZmVy SGVhZENvZGluZ1Zpb2xhdGlvbgogICAgfQogICAgU1RBVFVTICBjdXJyZW50CiAgICBERVNDUklQ VElPTgogICAgICAgICAgICAiQSBjb2xsZWN0aW9uIG9mIG9iamVjdHMgb2YgRkVDIGdyb3VwIGRl ZmluaXRpb24uCiAgICAgICAgICAgICBPYmplY3RzIGFyZSBwZXIgTExJRC4iCiAgICA6Oj0geyBk b3QzRXBvbkdyb3VwcyA1IH0KCgoKZG90M0V4dFBrZ0dyb3VwQ29udHJvbCBPQkpFQ1QtR1JPVVAK ICAgIE9CSkVDVFMgewogICAgICAgICAgICBkb3QzRXh0UGtnT2JqZWN0UmVzZXQsCiAgICAgICAg ICAgIGRvdDNFeHRQa2dPYmplY3RQb3dlckRvd24sCiAgICAgICAgICAgIGRvdDNFeHRQa2dPYmpl Y3ROdW1iZXJPZkxMSURzLAogICAgICAgICAgICBkb3QzRXh0UGtnT2JqZWN0RmVjRW5hYmxlZCwK ICAgICAgICAgICAgZG90M0V4dFBrZ09iamVjdFJlcG9ydE1heGltdW1OdW1RdWV1ZXMsCiAgICAg ICAgICAgIGRvdDNFeHRQa2dPYmplY3RSZWdpc3RlckFjdGlvbgogICAgfQogICAgU1RBVFVTICBj dXJyZW50CiAgICBERVNDUklQVElPTgogICAgICAgICAgICAiQSBjb2xsZWN0aW9uIG9mIG9iamVj dHMgb2YgZG90M0V4dFBrZyBjb250cm9sCiAgICAgICAgICAgICBkZWZpbml0aW9uLiBPYmplY3Rz IGFyZSBwZXIgTExJRC4iCiAgICA6Oj0geyBkb3QzRXBvbkdyb3VwcyA2IH0KCmRvdDNFeHRQa2dH cm91cFF1ZXVlIE9CSkVDVC1HUk9VUAogICAgT0JKRUNUUyB7CiAgICAgZG90M0V4dFBrZ09iamVj dFJlcG9ydE51bVRocmVzaG9sZCwKICAgICBkb3QzRXh0UGtnT2JqZWN0UmVwb3J0TWF4aW11bU51 bVRocmVzaG9sZCwKICAgICBkb3QzRXh0UGtnU3RhdFR4RnJhbWVzUXVldWUsCiAgICAgZG90M0V4 dFBrZ1N0YXRSeEZyYW1lc1F1ZXVlLAogICAgIGRvdDNFeHRQa2dTdGF0RHJvcHBlZEZyYW1lc1F1 ZXVlCiAgICB9CiAgICBTVEFUVVMgIGN1cnJlbnQKICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAg ICJBIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyBvZiBkb3QzRXh0UGtnIFF1ZXVlCiAgICAgICAgICAg ICBkZWZpbml0aW9uLiBPYmplY3RzIGFyZSBwZXIgTExJRCwgcGVyIHF1ZXVlLiIKICAgIDo6PSB7 IGRvdDNFcG9uR3JvdXBzIDcgfQoKZG90M0V4dFBrZ0dyb3VwUXVldWVTZXRzIE9CSkVDVC1HUk9V UAogICAgT0JKRUNUUyB7CiAgICAgZG90M0V4dFBrZ09iamVjdFJlcG9ydFRocmVzaG9sZAogICAg fQogICAgU1RBVFVTICBjdXJyZW50CiAgICBERVNDUklQVElPTgogICAgICAgICAgICAiQSBjb2xs ZWN0aW9uIG9mIG9iamVjdHMgb2YgZG90M0V4dFBrZyBRdWV1ZV9zZXRzCiAgICAgICAgICAgICBk ZWZpbml0aW9uLiBPYmplY3RzIGFyZSBwZXIgTExJRCwgcGVyIHF1ZXVlLCBwZXIKICAgICAgICAg ICAgIHF1ZXVlX3NldC4iCiAgICA6Oj0geyBkb3QzRXBvbkdyb3VwcyA4IH0KCgoKZG90M0V4dFBr Z0dyb3VwT3B0SWYgT0JKRUNULUdST1VQCiAgICBPQkpFQ1RTIHsKICAgZG90M0V4dFBrZ09wdElm U3VzcGVjdGVkRmxhZywKICAgICBkb3QzRXh0UGtnT3B0SWZJbnB1dFBvd2VyLAogICAgIGRvdDNF eHRQa2dPcHRJZkxvd0lucHV0UG93ZXIsCiAgICAgZG90M0V4dFBrZ09wdElmSGlnaElucHV0UG93 ZXIsCiAgICAgZG90M0V4dFBrZ09wdElmTG93ZXJJbnB1dFBvd2VyVGhyZXNob2xkLAogICAgIGRv dDNFeHRQa2dPcHRJZlVwcGVySW5wdXRQb3dlclRocmVzaG9sZCwKICAgICBkb3QzRXh0UGtnT3B0 SWZPdXRwdXRQb3dlciwKICAgICBkb3QzRXh0UGtnT3B0SWZMb3dPdXRwdXRQb3dlciwKICAgICBk b3QzRXh0UGtnT3B0SWZIaWdoT3V0cHV0UG93ZXIsCiAgICAgZG90M0V4dFBrZ09wdElmTG93ZXJP dXRwdXRQb3dlclRocmVzaG9sZCwKICAgICBkb3QzRXh0UGtnT3B0SWZVcHBlck91dHB1dFBvd2Vy VGhyZXNob2xkLAogICAgIGRvdDNFeHRQa2dPcHRJZlNpZ25hbERldGVjdCwKICAgICBkb3QzRXh0 UGtnT3B0SWZUcmFuc21pdEFsYXJtLAogICAgIGRvdDNFeHRQa2dPcHRJZlRyYW5zbWl0RW5hYmxl CiAgICAgfQogICAgU1RBVFVTICBjdXJyZW50CiAgICBERVNDUklQVElPTgogICAgICAgICAgICAi QSBjb2xsZWN0aW9uIG9mIG9iamVjdHMgb2YgT3B0aWNhbCBpbnRlcmZhY2UgY29udHJvbCBhbmQK ICAgICAgICAgICAgIHN0YXR1cyBpbmRpY2F0aW9uIGZvciB0aGUgRVBPTiBJbnRlcmZhY2VzLgog ICAgICAgICAgICAgT2JqZWN0cyBhcmUgcGVyIExMSUQuIgogICAgOjo9IHsgZG90M0Vwb25Hcm91 cHMgOSB9CgotLSBDb21wbGlhbmNlCgogICBkb3QzRXBvbkNvbXBsaWFuY2VzCiAgICAgICBPQkpF Q1QgSURFTlRJRklFUiA6Oj0geyBkb3QzRXBvbkNvbmZvcm1hbmNlIDIgfQoKCgpkb3QzTVBDUENv bXBsaWFuY2UgTU9EVUxFLUNPTVBMSUFOQ0UKICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgIERF U0NSSVBUSU9OICJUaGUgY29tcGxpYW5jZSBzdGF0ZW1lbnQgZm9yIE11bHRpLXBvaW50CiAgICAg ICAgICAgICAgICAgY29udHJvbCBwcm90b2NvbCBpbnRlcmZhY2VzLiIKCiAgICBNT0RVTEUgIC0t IHRoaXMgbW9kdWxlCiAgICBNQU5EQVRPUlktR1JPVVBTIHsgZG90M01wY3BHcm91cEJhc2V9Cgog ICAgR1JPVVAgICAgICAgZG90M01wY3BHcm91cFN0YXQKICAgREVTQ1JJUFRJT04gIlRoaXMgZ3Jv dXAgaXMgbWFuZGF0b3J5IGZvciBhbGwgTVBDUCBzdXBwb3J0aW5nCiAgICAgICAgICAgICAgICBp bnRlcmZhY2VzIGZvciBTdGF0aXN0aWNzIGNvbGxlY3Rpb24uIgogICA6Oj0geyBkb3QzRXBvbkNv bXBsaWFuY2VzIDF9CgoKZG90M09tcGVDb21wbGlhbmNlIE1PRFVMRS1DT01QTElBTkNFCiAgICBT VEFUVVMgICAgICBjdXJyZW50CiAgICBERVNDUklQVElPTiAiVGhlIGNvbXBsaWFuY2Ugc3RhdGVt ZW50IGZvciBPTVBFbXVsYXRpb24KICAgICAgICAgICAgICAgICBpbnRlcmZhY2VzLiIKCiAgICBN T0RVTEUgIC0tIHRoaXMgbW9kdWxlCiAgICBNQU5EQVRPUlktR1JPVVBTIHsgZG90M09tcGVHcm91 cElEfQoKICAgIEdST1VQICAgICAgIGRvdDNPbXBlR3JvdXBTdGF0CiAgICBERVNDUklQVElPTiAi VGhpcyBncm91cCBpcyBtYW5kYXRvcnkgZm9yIGFsbCBPTVBlbXVsYXRpb24KICAgICAgICAgICAg ICAgICBzdXBwb3J0aW5nIGludGVyZmFjZXMgZm9yIFN0YXRpc3RpY3MgY29sbGVjdGlvbi4iCgog ICAgOjo9IHsgZG90M0Vwb25Db21wbGlhbmNlcyAyfQoKCmRvdDNFcG9uRmVjQ29tcGxpYW5jZSBN T0RVTEUtQ09NUExJQU5DRQogICAgU1RBVFVTICAgICAgY3VycmVudAogICAgREVTQ1JJUFRJT04g IlRoZSBjb21wbGlhbmNlIHN0YXRlbWVudCBmb3IgRmVjIEVQT04gaW50ZXJmYWNlcy4KICAgICAg ICAgICAgICAgICBUaGlzIGdyb3VwIGlzIG1hbmRhdG9yeSBmb3IgYWxsIEVQT04gaW50ZXJmYWNl cwogICAgICAgICAgICAgICAgIFN1cHBvcnRpbmcgRkVDIGZ1bmN0aW9uYWxpdHkgYXMgZm9yIERl ZmluaXRpb25zIGFuZAogICAgICAgICAgICAgICAgIEJFUiBTdGF0aXN0aWNzIGNvbGxlY3Rpb24u IgoKICAgIE1PRFVMRSAgLS0gdGhpcyBtb2R1bGUKICAgIE1BTkRBVE9SWS1HUk9VUFMgeyBkb3Qz RXBvbkZlY0dyb3VwQWxsIH0KCiAgICA6Oj0geyBkb3QzRXBvbkNvbXBsaWFuY2VzIDN9CgoKZG90 M0V4dFBrZ0NvbXBsaWFuY2UgTU9EVUxFLUNPTVBMSUFOQ0UKICAgIFNUQVRVUyAgICAgIGN1cnJl bnQKICAgIERFU0NSSVBUSU9OICJUaGUgY29tcGxpYW5jZSBzdGF0ZW1lbnQgZm9yIEVQT04gSW50 ZXJmYWNlcwogICAgICAgICAgICAgICAgIHVzaW5nIHRoZSBleHRlbmRlZCBwYWNrYWdlLiIKICAg IE1PRFVMRSAgLS0gdGhpcyBtb2R1bGUKICAgIE1BTkRBVE9SWS1HUk9VUFMgeyBkb3QzRXh0UGtn R3JvdXBDb250cm9sIH0KCiAgICBHUk9VUCAgICAgICBkb3QzRXh0UGtnR3JvdXBRdWV1ZQogICAg REVTQ1JJUFRJT04gIiBUaGlzIGdyb3VwIGlzIG1hbmRhdG9yeSBmb3IgYWxsIE9MVCBFUE9OIGlu dGVyZmFjZXMKICAgICAgICAgICAgICAgICBzdXBwb3J0aW5nIFJlcG9ydCBRdWV1ZSBtYW5hZ2Vt ZW50IG9mIHRoZSBleHRlbmRlZAogICAgICAgICAgICAgICAgIHBhY2thZ2UuIgoKICAgIEdST1VQ ICAgICAgIGRvdDNFeHRQa2dHcm91cFF1ZXVlU2V0cwogICAgREVTQ1JJUFRJT04gIiBUaGlzIGdy b3VwIGlzIG1hbmRhdG9yeSBmb3IgYWxsIE9MVCBFUE9OIGludGVyZmFjZXMKICAgICAgICAgICAg ICAgICBzdXBwb3J0aW5nIFJlcG9ydCBRdWV1ZV9zZXRzIG1hbmFnZW1lbnQgb2YgdGhlCiAgICAg ICAgICAgICAgICAgZXh0ZW5kZWQgcGFja2FnZS4iCgogICAgR1JPVVAgICAgICAgZG90M0V4dFBr Z0dyb3VwT3B0SWYKICAgIERFU0NSSVBUSU9OICJUaGlzIGdyb3VwIGlzIG1hbmRhdG9yeSBmb3Ig YWxsIEVQT04gaW50ZXJmYWNlcwogICAgICAgICAgICAgICAgIHN1cHBvcnRpbmcgb3B0aWNhbCBp bnRlcmZhY2VzIGNvbnRyb2wgYW5kIGluZGljYXRpb24KICAgICAgICAgICAgICAgICBvZiB0aGUg ZXh0ZW5kZWQgcGFja2FnZS4iCgogICAgOjo9IHsgZG90M0Vwb25Db21wbGlhbmNlcyA0fQoKCgpF TkQKCgo8L3ByZT4KPHA+CjwvcD4KPGEgbmFtZT0iYW5jaG9yMjAiPjwvYT48YnIgLz48aHIgLz4K PHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBj bGFzcz0iYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9ImJ1ZyI+PGEgaHJlZj0iI3Rv YyIgY2xhc3M9ImxpbmsyIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+Cjxh IG5hbWU9InJmYy5zZWN0aW9uLjYiPjwvYT48aDM+Ni4mbmJzcDtJQU5BIENvbnNpZGVyYXRpb25z PC9oMz4KCjxwPlRoZSBET1QzIEVQT04gTUlCIG1vZHVsZSByZXF1aXJlcyB0aGUgYWxsb2NhdGlv biBvZiBhIHNpbmdsZSBvYmplY3QgaWRlbnRpZmllcgogICBmb3IgaXRzIE1PRFVMRS1JREVOVElU WSB1bmRlciB0aGUgTUlCLTIgdHJlZS4gIAo8L3A+CjxwPlRoZSBNSUIgbW9kdWxlIGluIHRoaXMg ZG9jdW1lbnQgdXNlcyB0aGUgZm9sbG93aW5nIElBTkEtYXNzaWduZWQKICAgICAgT0JKRUNUIElE RU5USUZJRVIgdmFsdWVzIHJlY29yZGVkIGluIHRoZSBTTUkgTnVtYmVycyByZWdpc3RyeToKPC9w Pgo8cD4KPC9wPjxwcmU+CgoKICAgICAgRGVzY3JpcHRvciAgICAgICAgT0JKRUNUIElERU5USUZJ RVIgdmFsdWUKICAgICAgLS0tLS0tLS0tLSAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K CiAgICAgIGRvdDNFcG9uTUlCICAgICAgICB7IG1pYi0yIFhYWCB9Cgo8L3ByZT4KPHA+CjwvcD4K PHA+IEVkaXRvcidzIE5vdGUgKHRvIGJlIHJlbW92ZWQgcHJpb3IgdG8gcHVibGljYXRpb24pOiAg dGhlIElBTkEgaXMKICAgICAgcmVxdWVzdGVkIHRvIGFzc2lnbiBhIHZhbHVlIGZvciAiWFhYIiB1 bmRlciB0aGUgJ21pYi0yJyBzdWJ0cmVlCiAgICAgIGFuZCB0byByZWNvcmQgdGhlIGFzc2lnbm1l bnQgaW4gdGhlIFNNSSBOdW1iZXJzIHJlZ2lzdHJ5LiAgV2hlbgogICAgICB0aGUgYXNzaWdubWVu dCBoYXMgYmVlbiBtYWRlLCB0aGUgUkZDIEVkaXRvciBpcyBhc2tlZCB0byByZXBsYWNlCiAgICAg ICJYWFgiIChoZXJlIGFuZCBpbiB0aGUgTUlCIG1vZHVsZSkgd2l0aCB0aGUgYXNzaWduZWQgdmFs dWUgYW5kIHRvCiAgICAgIHJlbW92ZSB0aGlzIG5vdGUuCiAgIAogICAKPC9wPgo8YSBuYW1lPSJh bmNob3IyMSI+PC9hPjxiciAvPjxociAvPgo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFk ZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJidWciIGFsaWduPSJyaWdodCI+PHRyPjx0 ZCBjbGFzcz0iYnVnIj48YSBocmVmPSIjdG9jIiBjbGFzcz0ibGluazIiPiZuYnNwO1RPQyZuYnNw OzwvYT48L3RkPjwvdHI+PC90YWJsZT4KPGEgbmFtZT0icmZjLnNlY3Rpb24uNyI+PC9hPjxoMz43 LiZuYnNwO1NlY3VyaXR5IENvbnNpZGVyYXRpb25zPC9oMz4KCjxwPgogICBUaGVyZSBhcmUgbnVt YmVyIG9mIG1hbmFnZWQgb2JqZWN0cyBkZWZpbmVkIGluIHRoaXMgTUlCIG1vZHVsZSB0aGF0CiAg IGhhdmUgYSBNQVgtQUNDRVNTIGNsYXVzZSBvZiByZWFkLXdyaXRlIG9yIHJlYWQtY3JlYXRlLiBX cml0aW5nIHRvIHRoZXNlIG9iamVjdHMKICAgY2FuIGhhdmUgcG90ZW50aWFsbHkgZGlzcnVwdGl2 ZSBlZmZlY3RzIG9uIG5ldHdvcmsgb3BlcmF0aW9uOgogICBJbmNsdWRpbmc6CjwvcD4KPHA+ICBD aGFuZ2luZyBkb3QzTXBjcEFkbWluU3RhdGUgc3RhdGUgKFdyaXRpbmcgY2FuIGJlIGRvbmUgYXQg YW55IHRpbWUpCjwvcD4KPHA+ICBDaGFuZ2luZyBkb3QzRXBvbkZlY01vZGUgbW9kZSAoV3JpdGlu ZyBjYW4gYmUgZG9uZSBhdCBhbnkgdGltZSkKPC9wPgo8cD4gIENoYW5naW5nIGRvdDNFeHRQa2dP YmplY3RSZXNldCBtb2RlIChXcml0aW5nIGNhbiBiZSBkb25lIGF0IGFueSB0aW1lKQo8L3A+Cjxw PiAgQ2hhbmdpbmcgZG90M0V4dFBrZ09iamVjdEZlY0VuYWJsZWQgbW9kZSAoV3JpdGluZyBjYW4g YmUgZG9uZSBhdCBhbnkgdGltZSkKPC9wPgo8cD4gIENoYW5naW5nIGRvdDNFeHRQa2dPYmplY3RQ b3dlckRvd24gKFdyaXRpbmcgY2FuIGJlIGRvbmUgYXQgYW55IHRpbWUpCjwvcD4KPHA+ICBDaGFu Z2luZyBkb3QzRXh0UGtnT2JqZWN0UmVwb3J0TnVtVGhyZXNob2xkIChXcml0aW5nIGNhbiBiZSBk b25lIGF0IGFueSB0aW1lKQo8L3A+CjxwPiAgQ2hhbmdpbmcgZG90M0V4dFBrZ09iamVjdFJlcG9y dFRocmVzaG9sZCAoV3JpdGluZyBjYW4gYmUgZG9uZSBhdCBhbnkgdGltZSkKPC9wPgo8cD4gIENo YW5naW5nIGRvdDNFeHRQa2dPYmplY3RSZWdpc3RlckFjdGlvbiAoV3JpdGluZyBjYW4gYmUgZG9u ZSBhdCBhbnkgdGltZSkKPC9wPgo8cD4gIENoYW5naW5nIGRvdDNFeHRQa2dSTWFkbEVudHJ5U3Rh dHVzIChXcml0aW5nIGNhbiBiZSBkb25lIGF0IGFueSB0aW1lKQo8L3A+CjxwPiAgQ2hhbmdpbmcg ZG90M0V4dFBrZ09wdElmTG93ZXJJbnB1dFBvd2VyVGhyZXNob2xkIChXcml0aW5nIGNhbiBiZSBk b25lIGF0IGFueSB0aW1lKQo8L3A+CjxwPiAgQ2hhbmdpbmcgZG90M0V4dFBrZ09wdElmVXBwZXJJ bnB1dFBvd2VyVGhyZXNob2xkIChXcml0aW5nIGNhbiBiZSBkb25lIGF0IGFueSB0aW1lKQo8L3A+ CjxwPiAgQ2hhbmdpbmcgZG90M0V4dFBrZ09wdElmTG93ZXJPdXRwdXRQb3dlclRocmVzaG9sZCAo V3JpdGluZyBjYW4gYmUgZG9uZSBhdCBhbnkgdGltZSkKPC9wPgo8cD4gIENoYW5naW5nIGRvdDNF eHRQa2dPcHRJZlVwcGVyT3V0cHV0UG93ZXJUaHJlc2hvbGQgKFdyaXRpbmcgY2FuIGJlIGRvbmUg YXQgYW55IHRpbWUpCjwvcD4KPHA+ICBDaGFuZ2luZyBkb3QzRXh0UGtnT3B0SWZUcmFuc21pdEVu YWJsZSAoV3JpdGluZyBjYW4gYmUgZG9uZSBhdCBhbnkgdGltZSkKPC9wPgo8cD4gPGJyIC8+Cjxi ciAvPgoKVGhlIHVzZXIgb2YgdGhpcyBNSUIgbW9kdWxlIG11c3QgdGhlcmVmb3JlIGJlIGF3YXJl IHRoYXQgc3VwcG9ydCBmb3IKU0VUIG9wZXJhdGlvbnMgaW4gYSBub24tc2VjdXJlIGVudmlyb25t ZW50IHdpdGhvdXQgcHJvcGVyIHByb3RlY3Rpb24KY2FuIGhhdmUgYSBuZWdhdGl2ZSBlZmZlY3Qg b24gbmV0d29yayBvcGVyYXRpb25zLgo8YnIgLz4KPGJyIC8+CgpUaGUgcmVhZGFibGUgb2JqZWN0 cyBpbiB0aGlzIE1JQiBtb2R1bGUgKGkuZS4sIHRob3NlIHdpdGggTUFYLUFDQ0VTUwpvdGhlciB0 aGFuIG5vdC1hY2Nlc3NpYmxlKSBtYXkgYmUgY29uc2lkZXJlZCBzZW5zaXRpdmUgaW4gc29tZQpl bnZpcm9ubWVudHMgc2luY2UsIGNvbGxlY3RpdmVseSwgdGhleSBwcm92aWRlIGluZm9ybWF0aW9u IGFib3V0IHRoZQpwZXJmb3JtYW5jZSBvZiBuZXR3b3JrIGludGVyZmFjZXMgYW5kIGNhbiByZXZl YWwgc29tZSBhc3BlY3RzIG9mCnRoZWlyIGNvbmZpZ3VyYXRpb24uICBJbiBzdWNoIGVudmlyb25t ZW50cyBpdCBpcyBpbXBvcnRhbnQgdG8gY29udHJvbAkKZXZlbiBHRVQgYW5kIE5PVElGWSBhY2Nl c3MgdG8gdGhlc2Ugb2JqZWN0cyBhbmQgcG9zc2libHkgZXZlbiB0bwplbmNyeXB0IHRoZWlyIHZh bHVlcyB3aGVuIHNlbmRpbmcgdGhlbSBvdmVyIHRoZSBuZXR3b3JrIHZpYSBTTk1QLgo8YnIgLz4K PGJyIC8+CgpTTk1QIHZlcnNpb25zIHByaW9yIHRvIFNOTVB2MyBkaWQgbm90IGluY2x1ZGUgYWRl cXVhdGUgc2VjdXJpdHkuIEV2ZW4KaWYgdGhlIG5ldHdvcmsgaXRzZWxmIGlzIHNlY3VyZSAoZm9y IGV4YW1wbGUgYnkgdXNpbmcgSVBTZWMpLCBldmVuCnRoZW4sIHRoZXJlIGlzIG5vIGNvbnRyb2wg YXMgdG8gd2hvIG9uIHRoZSBzZWN1cmUgbmV0d29yayBpcyBhbGxvd2VkCnRvIGFjY2VzcyBhbmQg R0VUL1NFVCAocmVhZC9jaGFuZ2UvY3JlYXRlL2RlbGV0ZSkgdGhlIG9iamVjdHMgaW4gdGhpcwpN SUIgbW9kdWxlLgo8YnIgLz4KPGJyIC8+CgpJdCBpcyBSRUNPTU1FTkRFRCB0aGF0IGltcGxlbWVu dGVycyBjb25zaWRlciB0aGUgc2VjdXJpdHkgZmVhdHVyZXMgYXMKcHJvdmlkZWQgYnkgdGhlIFNO TVB2MyBmcmFtZXdvcmsgKHNlZSBbUkZDMzQxMF0sIHNlY3Rpb24gOCksCmluY2x1ZGluZyBmdWxs IHN1cHBvcnQgZm9yIHRoZSBTTk1QdjMgY3J5cHRvZ3JhcGhpYyBtZWNoYW5pc21zIChmb3IKYXV0 aGVudGljYXRpb24gYW5kIHByaXZhY3kpLgo8YnIgLz4KPGJyIC8+CgpGdXJ0aGVyLCBkZXBsb3lt ZW50IG9mIFNOTVAgdmVyc2lvbnMgcHJpb3IgdG8gU05NUHYzIGlzIE5PVApSRUNPTU1FTkRFRC4g IEluc3RlYWQsIGl0IGlzIFJFQ09NTUVOREVEIHRvIGRlcGxveSBTTk1QdjMgYW5kIHRvCmVuYWJs ZSBjcnlwdG9ncmFwaGljIHNlY3VyaXR5LiAgSXQgaXMgdGhlbiBhIGN1c3RvbWVyL29wZXJhdG9y CnJlc3BvbnNpYmlsaXR5IHRvIGVuc3VyZSB0aGF0IHRoZSBTTk1QIGVudGl0eSBnaXZpbmcgYWNj ZXNzIHRvIGFuCmluc3RhbmNlIG9mIHRoaXMgTUlCIG1vZHVsZSBpcyBwcm9wZXJseSBjb25maWd1 cmVkIHRvIGdpdmUgYWNjZXNzIHRvCnRoZSBvYmplY3RzIG9ubHkgdG8gdGhvc2UgcHJpbmNpcGFs cyAodXNlcnMpIHRoYXQgaGF2ZSBsZWdpdGltYXRlCnJpZ2h0cyB0byBpbmRlZWQgR0VUIG9yIFNF VCAoY2hhbmdlL2NyZWF0ZS9kZWxldGUpIHRoZW0uCgkKPC9wPgo8YSBuYW1lPSJyZmMucmVmZXJl bmNlcyI+PC9hPjxiciAvPjxociAvPgo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGlu Zz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBj bGFzcz0iYnVnIj48YSBocmVmPSIjdG9jIiBjbGFzcz0ibGluazIiPiZuYnNwO1RPQyZuYnNwOzwv YT48L3RkPjwvdHI+PC90YWJsZT4KPGEgbmFtZT0icmZjLnNlY3Rpb24uOCI+PC9hPjxoMz44LiZu YnNwO1JlZmVyZW5jZXM8L2gzPgoKPGEgbmFtZT0icmZjLnJlZmVyZW5jZXMxIj48L2E+PGJyIC8+ PGhyIC8+Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2lu Zz0iMiIgY2xhc3M9ImJ1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJidWciPjxhIGhy ZWY9IiN0b2MiIGNsYXNzPSJsaW5rMiI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3Rh YmxlPgo8aDM+OC4xLiZuYnNwO05vcm1hdGl2ZSBSZWZlcmVuY2VzPC9oMz4KPHRhYmxlIHdpZHRo PSI5OSUiIGJvcmRlcj0iMCI+Cjx0cj48dGQgY2xhc3M9ImF1dGhvci10ZXh0IiB2YWxpZ249InRv cCI+PGEgbmFtZT0iODAyLjMiPls4MDIuM108L2E+PC90ZD4KPHRkIGNsYXNzPSJhdXRob3ItdGV4 dCI+SUVFRSwgJmxkcXVvO0luc3RpdHV0ZSBvZiBFbGVjdHJpY2FsIGFuZCBFbGVjdHJvbmljIEVu Z2luZWVycywgSUVFRSBTdGQKODAyLjMtMjAwMiwgIklFRUUgU3RhbmRhcmQgZm9yIENhcnJpZXIg U2Vuc2UgTXVsdGlwbGUgQWNjZXNzIHdpdGgKQ29sbGlzaW9uIERldGVjdGlvbiAoQ1NNQS9DRCkg QWNjZXNzIE1ldGhvZCBhbmQgUGh5c2ljYWwgTGF5ZXIKU3BlY2lmaWNhdGlvbnMsJnJkcXVvOyBE ZWNlbWJlciZuYnNwOzIwMDIuPC90ZD48L3RyPgo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCIg dmFsaWduPSJ0b3AiPjxhIG5hbWU9IjgwMi4zYWgiPls4MDIuM2FoXTwvYT48L3RkPgo8dGQgY2xh c3M9ImF1dGhvci10ZXh0Ij5JRUVFLCAmbGRxdW87PGEgaHJlZj0iaHR0cDovL3d3dy5pZWVlODAy Lm9yZy8zL2VmbS9wcml2YXRlL2RyYWZ0cy9kM18wLzgwMjNhaEQzXzMucGRmIj5JbnN0aXR1dGUg b2YgRWxlY3RyaWNhbCBhbmQgRWxlY3Ryb25pYyBFbmdpbmVlcnMsIElFRUUgU3RkCiAgICAgICAg ODAyLjNhaC0yMDA0LiBJbmZvcm1hdGlvbiB0ZWNobm9sb2d5IC0gVGVsZWNvbW11bmljYXRpb25z IGFuZAogICAgICAgIGluZm9ybWF0aW9uIGV4Y2hhbmdlIGJldHdlZW4gc3lzdGVtcyAtIExvY2Fs IGFuZAogICAgICAgIG1ldHJvcG9saXRhbiBhcmVhIG5ldHdvcmtzIC0gU3BlY2lmaWMgcmVxdWly ZW1lbnRzIC0KICAgICAgICBQYXJ0IDM6IENhcnJpZXIgc2Vuc2UgbXVsdGlwbGUgYWNjZXNzIHdp dGggY29sbGlzaW9uCiAgICAgICAgZGV0ZWN0aW9uIChDU01BL0NEKSBhY2Nlc3MgbWV0aG9kIGFu ZCBwaHlzaWNhbCBsYXllcgogICAgICAgIHNwZWNpZmljYXRpb25zIC0gTWVkaWEgQWNjZXNzIENv bnRyb2wgUGFyYW1ldGVycywgUGh5c2ljYWwKICAgICAgICBMYXllcnMgYW5kIE1hbmFnZW1lbnQg UGFyYW1ldGVycyBmb3Igc3Vic2NyaWJlciBhY2Nlc3MKICAgICAgICBuZXR3b3JrczwvYT4sJnJk cXVvOyBJRUVFIFN0ZCZuYnNwOzgwMi4zYWgtMjAwNCwgT2N0b2JlciZuYnNwOzIwMDQuPC90ZD48 L3RyPgo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCIgdmFsaWduPSJ0b3AiPjxhIG5hbWU9IlJG QzI1NzgiPltSRkMyNTc4XTwvYT48L3RkPgo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij48YSBocmVm PSJtYWlsdG86a3ptQGNpc2NvLmNvbSI+TWNDbG9naHJpZSwgSy4sIEVkLjwvYT4sIDxhIGhyZWY9 Im1haWx0bzpkcGVya2luc0Bzbm1waW5mby5jb20iPlBlcmtpbnMsIEQuLCBFZC48L2E+LCBhbmQg PGEgaHJlZj0ibWFpbHRvOnNjaG9lbndAaWJyLmNzLnR1LWJzLmRlIj5KLiBTY2hvZW53YWVsZGVy LCBFZC48L2E+LCAmbGRxdW87PGEgaHJlZj0iZnRwOi8vZnRwLmlzaS5lZHUvaW4tbm90ZXMvcmZj MjU3OC50eHQiPlN0cnVjdHVyZSBvZiBNYW5hZ2VtZW50IEluZm9ybWF0aW9uIFZlcnNpb24gMiAo U01JdjIpPC9hPiwmcmRxdW87IFNURCZuYnNwOzU4LCBSRkMmbmJzcDsyNTc4LCBBcHJpbCZuYnNw OzE5OTkuPC90ZD48L3RyPgo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCIgdmFsaWduPSJ0b3Ai PjxhIG5hbWU9IlJGQzI1NzkiPltSRkMyNTc5XTwvYT48L3RkPgo8dGQgY2xhc3M9ImF1dGhvci10 ZXh0Ij48YSBocmVmPSJtYWlsdG86a3ptQGNpc2NvLmNvbSI+TWNDbG9naHJpZSwgSy4sIEVkLjwv YT4sIDxhIGhyZWY9Im1haWx0bzpkcGVya2luc0Bzbm1waW5mby5jb20iPlBlcmtpbnMsIEQuLCBF ZC48L2E+LCBhbmQgPGEgaHJlZj0ibWFpbHRvOnNjaG9lbndAaWJyLmNzLnR1LWJzLmRlIj5KLiBT Y2hvZW53YWVsZGVyLCBFZC48L2E+LCAmbGRxdW87PGEgaHJlZj0iZnRwOi8vZnRwLmlzaS5lZHUv aW4tbm90ZXMvcmZjMjU3OS50eHQiPlRleHR1YWwgQ29udmVudGlvbnMgZm9yIFNNSXYyPC9hPiwm cmRxdW87IFNURCZuYnNwOzU4LCBSRkMmbmJzcDsyNTc5LCBBcHJpbCZuYnNwOzE5OTkuPC90ZD48 L3RyPgo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCIgdmFsaWduPSJ0b3AiPjxhIG5hbWU9IlJG QzI1ODAiPltSRkMyNTgwXTwvYT48L3RkPgo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij48YSBocmVm PSJtYWlsdG86a3ptQGNpc2NvLmNvbSI+TWNDbG9naHJpZSwgSy48L2E+LCA8YSBocmVmPSJtYWls dG86ZHBlcmtpbnNAc25tcGluZm8uY29tIj5QZXJraW5zLCBELjwvYT4sIGFuZCA8YSBocmVmPSJt YWlsdG86c2Nob2Vud0BpYnIuY3MudHUtYnMuZGUiPkouIFNjaG9lbndhZWxkZXI8L2E+LCAmbGRx dW87PGEgaHJlZj0iZnRwOi8vZnRwLmlzaS5lZHUvaW4tbm90ZXMvcmZjMjU4MC50eHQiPkNvbmZv cm1hbmNlIFN0YXRlbWVudHMgZm9yIFNNSXYyPC9hPiwmcmRxdW87IFNURCZuYnNwOzU4LCBSRkMm bmJzcDsyNTgwLCBBcHJpbCZuYnNwOzE5OTkuPC90ZD48L3RyPgo8dHI+PHRkIGNsYXNzPSJhdXRo b3ItdGV4dCIgdmFsaWduPSJ0b3AiPjxhIG5hbWU9IlJGQzI4NjMiPltSRkMyODYzXTwvYT48L3Rk Pgo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5NY0Nsb2docmllLCBLLiBhbmQgRi4gS2FzdGVuaG9s eiwgJmxkcXVvOzxhIGhyZWY9ImZ0cDovL2Z0cC5pc2kuZWR1L2luLW5vdGVzL3JmYzI4NjMudHh0 Ij5UaGUgSW50ZXJmYWNlcyBHcm91cCBNSUI8L2E+LCZyZHF1bzsgUkZDJm5ic3A7Mjg2MywgSnVu ZSZuYnNwOzIwMDAuPC90ZD48L3RyPgo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCIgdmFsaWdu PSJ0b3AiPjxhIG5hbWU9IlJGQzI4NjQiPltSRkMyODY0XTwvYT48L3RkPgo8dGQgY2xhc3M9ImF1 dGhvci10ZXh0Ij5NY0Nsb2docmllLCBLLiBhbmQgRy4gSGFuc29uLCAmbGRxdW87PGEgaHJlZj0i ZnRwOi8vZnRwLmlzaS5lZHUvaW4tbm90ZXMvcmZjMjg2NC50eHQiPlRoZSBJbnZlcnRlZCBTdGFj ayBUYWJsZSBFeHRlbnNpb24gdG8gdGhlIEludGVyZmFjZXMgR3JvdXAgTUlCPC9hPiwmcmRxdW87 IFJGQyZuYnNwOzI4NjQsIEp1bmUmbmJzcDsyMDAwLjwvdGQ+PC90cj4KPHRyPjx0ZCBjbGFzcz0i YXV0aG9yLXRleHQiIHZhbGlnbj0idG9wIj48YSBuYW1lPSJSRkMzNjM1Ij5bUkZDMzYzNV08L2E+ PC90ZD4KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+RmxpY2ssIEouLCAmbGRxdW87PGEgaHJlZj0i ZnRwOi8vZnRwLmlzaS5lZHUvaW4tbm90ZXMvcmZjMzYzNS50eHQiPkRlZmluaXRpb25zIG9mIE1h bmFnZWQgT2JqZWN0cyBmb3IgdGhlIEV0aGVybmV0LWxpa2UgSW50ZXJmYWNlIFR5cGVzPC9hPiwm cmRxdW87IFJGQyZuYnNwOzM2MzUsIFNlcHRlbWJlciZuYnNwOzIwMDMuPC90ZD48L3RyPgo8dHI+ PHRkIGNsYXNzPSJhdXRob3ItdGV4dCIgdmFsaWduPSJ0b3AiPjxhIG5hbWU9IlJGQzM2MzYiPltS RkMzNjM2XTwvYT48L3RkPgo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5GbGljaywgSi4sICZsZHF1 bzs8YSBocmVmPSJmdHA6Ly9mdHAuaXNpLmVkdS9pbi1ub3Rlcy9yZmMzNjM2LnR4dCI+RGVmaW5p dGlvbnMgb2YgTWFuYWdlZCBPYmplY3RzIGZvciBJRUVFIDgwMi4zIE1lZGl1bSBBdHRhY2htZW50 IFVuaXRzIChNQVVzKTwvYT4sJnJkcXVvOyBSRkMmbmJzcDszNjM2LCBTZXB0ZW1iZXImbmJzcDsy MDAzLjwvdGQ+PC90cj4KPC90YWJsZT4KCjxhIG5hbWU9InJmYy5yZWZlcmVuY2VzMiI+PC9hPjxi ciAvPjxociAvPgo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNw YWNpbmc9IjIiIGNsYXNzPSJidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iYnVnIj48 YSBocmVmPSIjdG9jIiBjbGFzcz0ibGluazIiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+ PC90YWJsZT4KPGgzPjguMi4mbmJzcDtJbmZvcm1hdGl2ZSBSZWZlcmVuY2VzPC9oMz4KPHRhYmxl IHdpZHRoPSI5OSUiIGJvcmRlcj0iMCI+Cjx0cj48dGQgY2xhc3M9ImF1dGhvci10ZXh0IiB2YWxp Z249InRvcCI+PGEgbmFtZT0iSS1ELmlldGYtaHVibWliLWVmbS1taWIiPltJLUQuaWV0Zi1odWJt aWItZWZtLW1pYl08L2E+PC90ZD4KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+U3F1aXJlLCBNLiwg JmxkcXVvOzxhIGhyZWY9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvaW50ZXJuZXQtZHJhZnRzL2RyYWZ0 LXNxdWlyZS1odWJtaWItZWZtLW1pYi0wMi50eHQiPkV0aGVybmV0IGluIHRoZSBGaXJzdCBNaWxl IChFRk0pIENvbW1vbiBNSUI8L2E+LCZyZHF1bzsgZHJhZnQtc3F1aXJlLWh1Ym1pYi1lZm0tbWli LTAyICh3b3JrIGluIHByb2dyZXNzKSwgRGVjZW1iZXImbmJzcDsyMDA0LjwvdGQ+PC90cj4KPHRy Pjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiIHZhbGlnbj0idG9wIj48YSBuYW1lPSJSRkMxNTI1Ij5b UkZDMTUyNV08L2E+PC90ZD4KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+PGEgaHJlZj0ibWFpbHRv OmNpcmVAY2lzY28uY29tIj5EZWNrZXIsIEUuPC9hPiwgPGEgaHJlZj0ibWFpbHRvOmt6bUBobHMu Y29tIj5NY0Nsb2docmllLCBLLjwvYT4sIDxhIGhyZWY9Im1haWx0bzpsYW5naWxsZUBlZHdpbi5l bmV0LmRlYy5jb20iPkxhbmdpbGxlLCBQLjwvYT4sIGFuZCA8YSBocmVmPSJtYWlsdG86YW5pbEBs ZXZlcnMuZW5ldC5kZWMuY29tIj5BLiBSaWpzaW5naGFuaTwvYT4sICZsZHF1bzs8YSBocmVmPSJm dHA6Ly9mdHAuaXNpLmVkdS9pbi1ub3Rlcy9yZmMxNTI1LnR4dCI+RGVmaW5pdGlvbnMgb2YgTWFu YWdlZCBPYmplY3RzIGZvciBTb3VyY2UgUm91dGluZyBCcmlkZ2VzPC9hPiwmcmRxdW87IFJGQyZu YnNwOzE1MjUsIFNlcHRlbWJlciZuYnNwOzE5OTMuPC90ZD48L3RyPgo8dHI+PHRkIGNsYXNzPSJh dXRob3ItdGV4dCIgdmFsaWduPSJ0b3AiPjxhIG5hbWU9IlJGQzIxMTkiPltSRkMyMTE5XTwvYT48 L3RkPgo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij48YSBocmVmPSJtYWlsdG86c29iQGhhcnZhcmQu ZWR1Ij5CcmFkbmVyLCBTLjwvYT4sICZsZHF1bzs8YSBocmVmPSJmdHA6Ly9mdHAuaXNpLmVkdS9p bi1ub3Rlcy9yZmMyMTE5LnR4dCI+S2V5IHdvcmRzIGZvciB1c2UgaW4gUkZDcyB0byBJbmRpY2F0 ZSBSZXF1aXJlbWVudCBMZXZlbHM8L2E+LCZyZHF1bzsgQkNQJm5ic3A7MTQsIFJGQyZuYnNwOzIx MTksIE1hcmNoJm5ic3A7MTk5NyAoPGEgaHJlZj0iZnRwOi8vZnRwLmlzaS5lZHUvaW4tbm90ZXMv cmZjMjExOS50eHQiPlRYVDwvYT4sIDxhIGhyZWY9Imh0dHA6Ly94bWwucmVzb3VyY2Uub3JnL3B1 YmxpYy9yZmMvaHRtbC9yZmMyMTE5Lmh0bWwiPkhUTUw8L2E+LCA8YSBocmVmPSJodHRwOi8veG1s LnJlc291cmNlLm9yZy9wdWJsaWMvcmZjL3htbC9yZmMyMTE5LnhtbCI+WE1MPC9hPikuPC90ZD48 L3RyPgo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCIgdmFsaWduPSJ0b3AiPjxhIG5hbWU9IlJG QzM0MTAiPltSRkMzNDEwXTwvYT48L3RkPgo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5DYXNlLCBK LiwgTXVuZHksIFIuLCBQYXJ0YWluLCBELiwgYW5kIEIuIFN0ZXdhcnQsICZsZHF1bzs8YSBocmVm PSJmdHA6Ly9mdHAuaXNpLmVkdS9pbi1ub3Rlcy9yZmMzNDEwLnR4dCI+SW50cm9kdWN0aW9uIGFu ZCBBcHBsaWNhYmlsaXR5IFN0YXRlbWVudHMgZm9yIEludGVybmV0LVN0YW5kYXJkIE1hbmFnZW1l bnQgRnJhbWV3b3JrPC9hPiwmcmRxdW87IFJGQyZuYnNwOzM0MTAsIERlY2VtYmVyJm5ic3A7MjAw Mi48L3RkPjwvdHI+Cjx0cj48dGQgY2xhc3M9ImF1dGhvci10ZXh0IiB2YWxpZ249InRvcCI+PGEg bmFtZT0iUkZDNDE4OCI+W1JGQzQxODhdPC9hPjwvdGQ+Cjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQi Pk5vcnNldGgsIEsuIGFuZCBFLiBCZWxsLCAmbGRxdW87PGEgaHJlZj0iZnRwOi8vZnRwLmlzaS5l ZHUvaW4tbm90ZXMvcmZjNDE4OC50eHQiPkRlZmluaXRpb25zIG9mIE1hbmFnZWQgT2JqZWN0cyBm b3IgQnJpZGdlczwvYT4sJnJkcXVvOyBSRkMmbmJzcDs0MTg4LCBTZXB0ZW1iZXImbmJzcDsyMDA1 LjwvdGQ+PC90cj4KPC90YWJsZT4KCjxhIG5hbWU9InJmYy5hdXRob3JzIj48L2E+PGJyIC8+PGhy IC8+Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0i MiIgY2xhc3M9ImJ1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJidWciPjxhIGhyZWY9 IiN0b2MiIGNsYXNzPSJsaW5rMiI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxl Pgo8aDM+QXV0aG9yJ3MgQWRkcmVzczwvaDM+Cjx0YWJsZSB3aWR0aD0iOTklIiBib3JkZXI9IjAi IGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCI+Cjx0cj48dGQgY2xhc3M9ImF1dGhvci10 ZXh0Ij4mbmJzcDs8L3RkPgo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5MaW9yIEtoZXJtb3NoPC90 ZD48L3RyPgo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+Jm5ic3A7PC90ZD4KPHRkIGNsYXNz PSJhdXRob3ItdGV4dCI+UGFzc2F2ZSBUZWNobm9sb2dpZXM8L3RkPjwvdHI+Cjx0cj48dGQgY2xh c3M9ImF1dGhvci10ZXh0Ij4mbmJzcDs8L3RkPgo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5Lb2hh diBIZXJ0emVsaWEgYmxkZyw8L3RkPjwvdHI+Cjx0cj48dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij4m bmJzcDs8L3RkPgo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij40IEhhc2FkbmFvdCBTdC4sPC90ZD48 L3RyPgo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+Jm5ic3A7PC90ZD4KPHRkIGNsYXNzPSJh dXRob3ItdGV4dCI+SGVydHpsaXlhIFBpdHVhY2gsICA0NjEyMDwvdGQ+PC90cj4KPHRyPjx0ZCBj bGFzcz0iYXV0aG9yLXRleHQiPiZuYnNwOzwvdGQ+Cjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPklT UkFFTDwvdGQ+PC90cj4KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yIiBhbGlnbj0icmlnaHQiPlBob25l OiZuYnNwOzwvdGQ+Cjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPis5NzItOS05NjI4MDAwIEV4dDog MzAyPC90ZD48L3RyPgo8dHI+PHRkIGNsYXNzPSJhdXRob3IiIGFsaWduPSJyaWdodCI+RmF4OiZu YnNwOzwvdGQ+Cjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPis5NzItOS05NjI4MDAxPC90ZD48L3Ry Pgo8dHI+PHRkIGNsYXNzPSJhdXRob3IiIGFsaWduPSJyaWdodCI+RW1haWw6Jm5ic3A7PC90ZD4K PHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+PGEgaHJlZj0ibWFpbHRvOmxpb3Iua2hlcm1vc2hAcGFz c2F2ZS5jb20iPmxpb3Iua2hlcm1vc2hAcGFzc2F2ZS5jb208L2E+PC90ZD48L3RyPgo8L3RhYmxl Pgo8YSBuYW1lPSJyZmMuY29weXJpZ2h0Ij48L2E+PGJyIC8+PGhyIC8+Cjx0YWJsZSBzdW1tYXJ5 PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9ImJ1ZyIgYWxp Z249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJidWciPjxhIGhyZWY9IiN0b2MiIGNsYXNzPSJsaW5r MiI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPgo8aDM+SW50ZWxsZWN0dWFs IFByb3BlcnR5IFN0YXRlbWVudDwvaDM+CjxwIGNsYXNzPSdjb3B5cmlnaHQnPgpUaGUgSUVURiB0 YWtlcyBubyBwb3NpdGlvbiByZWdhcmRpbmcgdGhlIHZhbGlkaXR5IG9yIHNjb3BlIG9mIGFueQpJ bnRlbGxlY3R1YWwgUHJvcGVydHkgUmlnaHRzIG9yIG90aGVyIHJpZ2h0cyB0aGF0IG1pZ2h0IGJl IGNsYWltZWQKdG8gcGVydGFpbiB0byB0aGUgaW1wbGVtZW50YXRpb24gb3IgdXNlIG9mIHRoZSB0 ZWNobm9sb2d5CmRlc2NyaWJlZCBpbiB0aGlzIGRvY3VtZW50IG9yIHRoZSBleHRlbnQgdG8gd2hp Y2ggYW55IGxpY2Vuc2UKdW5kZXIgc3VjaCByaWdodHMgbWlnaHQgb3IgbWlnaHQgbm90IGJlIGF2 YWlsYWJsZTsgbm9yIGRvZXMgaXQKcmVwcmVzZW50IHRoYXQgaXQgaGFzIG1hZGUgYW55IGluZGVw ZW5kZW50IGVmZm9ydCB0byBpZGVudGlmeSBhbnkKc3VjaCByaWdodHMuCkluZm9ybWF0aW9uIG9u IHRoZSBwcm9jZWR1cmVzIHdpdGggcmVzcGVjdCB0bwpyaWdodHMgaW4gUkZDIGRvY3VtZW50cyBj YW4gYmUgZm91bmQgaW4gQkNQJm5ic3A7NzggYW5kIEJDUCZuYnNwOzc5LjwvcD4KPHAgY2xhc3M9 J2NvcHlyaWdodCc+CkNvcGllcyBvZiBJUFIgZGlzY2xvc3VyZXMgbWFkZSB0byB0aGUgSUVURiBT ZWNyZXRhcmlhdCBhbmQgYW55CmFzc3VyYW5jZXMgb2YgbGljZW5zZXMgdG8gYmUgbWFkZSBhdmFp bGFibGUsCm9yIHRoZSByZXN1bHQgb2YgYW4gYXR0ZW1wdCBtYWRlIHRvIG9idGFpbiBhIGdlbmVy YWwgbGljZW5zZSBvcgpwZXJtaXNzaW9uIGZvciB0aGUgdXNlIG9mIHN1Y2ggcHJvcHJpZXRhcnkg cmlnaHRzIGJ5IGltcGxlbWVudGVycyBvcgp1c2VycyBvZiB0aGlzIHNwZWNpZmljYXRpb24gY2Fu IGJlIG9idGFpbmVkIGZyb20gdGhlIElFVEYgb24tbGluZSBJUFIKcmVwb3NpdG9yeSBhdCA8YSBo cmVmPSdodHRwOi8vd3d3LmlldGYub3JnL2lwcic+aHR0cDovL3d3dy5pZXRmLm9yZy9pcHI8L2E+ LjwvcD4KPHAgY2xhc3M9J2NvcHlyaWdodCc+ClRoZSBJRVRGIGludml0ZXMgYW55IGludGVyZXN0 ZWQgcGFydHkgdG8gYnJpbmcgdG8gaXRzIGF0dGVudGlvbgphbnkgY29weXJpZ2h0cywKcGF0ZW50 cyBvciBwYXRlbnQgYXBwbGljYXRpb25zLApvciBvdGhlcgpwcm9wcmlldGFyeSByaWdodHMgdGhh dCBtYXkgY292ZXIgdGVjaG5vbG9neSB0aGF0IG1heSBiZSByZXF1aXJlZAp0byBpbXBsZW1lbnQg dGhpcyBzdGFuZGFyZC4KUGxlYXNlIGFkZHJlc3MgdGhlIGluZm9ybWF0aW9uIHRvIHRoZSBJRVRG IGF0IDxhIGhyZWY9J21haWx0bzppZXRmLWlwckBpZXRmLm9yZyc+aWV0Zi1pcHJAaWV0Zi5vcmc8 L2E+LjwvcD4KPGgzPkRpc2NsYWltZXIgb2YgVmFsaWRpdHk8L2gzPgo8cCBjbGFzcz0nY29weXJp Z2h0Jz4KVGhpcyBkb2N1bWVudCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZCBoZXJlaW4g YXJlIHByb3ZpZGVkCm9uIGFuICZsZHF1bztBUyBJUyZyZHF1bzsgYmFzaXMgYW5kIFRIRSBDT05U UklCVVRPUiwKVEhFIE9SR0FOSVpBVElPTiBIRS9TSEUgUkVQUkVTRU5UUyBPUiBJUyBTUE9OU09S RUQgQlkgKElGIEFOWSksClRIRSBJTlRFUk5FVCBTT0NJRVRZIEFORCBUSEUgSU5URVJORVQgRU5H SU5FRVJJTkcgVEFTSyBGT1JDRSBESVNDTEFJTQpBTEwgV0FSUkFOVElFUywKRVhQUkVTUyBPUiBJ TVBMSUVELApJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIEFOWSBXQVJSQU5UWSBUSEFUIFRI RSBVU0UgT0YgVEhFCklORk9STUFUSU9OIEhFUkVJTiBXSUxMIE5PVCBJTkZSSU5HRSBBTlkgUklH SFRTIE9SIEFOWSBJTVBMSUVECldBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIE9SIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLjwvcD4KPGgzPkNvcHlyaWdodCBTdGF0ZW1lbnQ8 L2gzPgo8cCBjbGFzcz0nY29weXJpZ2h0Jz4KQ29weXJpZ2h0ICZjb3B5OyBUaGUgSW50ZXJuZXQg U29jaWV0eSAoMjAwNikuClRoaXMgZG9jdW1lbnQgaXMgc3ViamVjdCB0byB0aGUgcmlnaHRzLAps aWNlbnNlcyBhbmQgcmVzdHJpY3Rpb25zIGNvbnRhaW5lZCBpbiBCQ1AmbmJzcDs3OCwKYW5kIGV4 Y2VwdCBhcyBzZXQgZm9ydGggdGhlcmVpbiwKdGhlIGF1dGhvcnMgcmV0YWluIGFsbCB0aGVpciBy aWdodHMuPC9wPgo8aDM+QWNrbm93bGVkZ21lbnQ8L2gzPgo8cCBjbGFzcz0nY29weXJpZ2h0Jz4K RnVuZGluZyBmb3IgdGhlIFJGQyBFZGl0b3IgZnVuY3Rpb24gaXMgY3VycmVudGx5IHByb3ZpZGVk IGJ5IHRoZQpJbnRlcm5ldCBTb2NpZXR5LjwvcD4KPC9ib2R5PjwvaHRtbD4KCg== ------_=_NextPart_001_01C63073.3D5AF6E6 Content-Type: text/plain; name="draft-ietf-hubmib-efm-epon-mib-04.txt" Content-Transfer-Encoding: base64 Content-Description: draft-ietf-hubmib-efm-epon-mib-04.txt Content-Disposition: attachment; filename="draft-ietf-hubmib-efm-epon-mib-04.txt" Content-Transfer-Encoding: base64 CgoKCkVQT04gTUlCIFdHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBMLiBLaGVybW9zaApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgUGFzc2F2ZSBUZWNobm9sb2dpZXMKRXhwaXJlczogQXVndXN0IDE0LCAy MDA2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZlYnJ1YXJ5IDEwLCAyMDA2CgoKICAg ICAgICAgICAgICAgICAgICAgICAgTWFuYWdlZCBPYmplY3RzIG9mIEVQT04KICAgICAgICAgICAg ICAgICBkcmFmdC1pZXRmLWh1Ym1pYi1lZm0tZXBvbi1taWItMDQudHh0CgpTdGF0dXMgb2YgdGhp cyBNZW1vCgogICBCeSBzdWJtaXR0aW5nIHRoaXMgSW50ZXJuZXQtRHJhZnQsIGVhY2ggYXV0aG9y IHJlcHJlc2VudHMgdGhhdCBhbnkKICAgYXBwbGljYWJsZSBwYXRlbnQgb3Igb3RoZXIgSVBSIGNs YWltcyBvZiB3aGljaCBoZSBvciBzaGUgaXMgYXdhcmUKICAgaGF2ZSBiZWVuIG9yIHdpbGwgYmUg ZGlzY2xvc2VkLCBhbmQgYW55IG9mIHdoaWNoIGhlIG9yIHNoZSBiZWNvbWVzCiAgIGF3YXJlIHdp bGwgYmUgZGlzY2xvc2VkLCBpbiBhY2NvcmRhbmNlIHdpdGggU2VjdGlvbiA2IG9mIEJDUCA3OS4K CiAgIEludGVybmV0LURyYWZ0cyBhcmUgd29ya2luZyBkb2N1bWVudHMgb2YgdGhlIEludGVybmV0 IEVuZ2luZWVyaW5nCiAgIFRhc2sgRm9yY2UgKElFVEYpLCBpdHMgYXJlYXMsIGFuZCBpdHMgd29y a2luZyBncm91cHMuICBOb3RlIHRoYXQKICAgb3RoZXIgZ3JvdXBzIG1heSBhbHNvIGRpc3RyaWJ1 dGUgd29ya2luZyBkb2N1bWVudHMgYXMgSW50ZXJuZXQtCiAgIERyYWZ0cy4KCiAgIEludGVybmV0 LURyYWZ0cyBhcmUgZHJhZnQgZG9jdW1lbnRzIHZhbGlkIGZvciBhIG1heGltdW0gb2Ygc2l4IG1v bnRocwogICBhbmQgbWF5IGJlIHVwZGF0ZWQsIHJlcGxhY2VkLCBvciBvYnNvbGV0ZWQgYnkgb3Ro ZXIgZG9jdW1lbnRzIGF0IGFueQogICB0aW1lLiAgSXQgaXMgaW5hcHByb3ByaWF0ZSB0byB1c2Ug SW50ZXJuZXQtRHJhZnRzIGFzIHJlZmVyZW5jZQogICBtYXRlcmlhbCBvciB0byBjaXRlIHRoZW0g b3RoZXIgdGhhbiBhcyAid29yayBpbiBwcm9ncmVzcy4iCgogICBUaGUgbGlzdCBvZiBjdXJyZW50 IEludGVybmV0LURyYWZ0cyBjYW4gYmUgYWNjZXNzZWQgYXQKICAgaHR0cDovL3d3dy5pZXRmLm9y Zy9pZXRmLzFpZC1hYnN0cmFjdHMudHh0LgoKICAgVGhlIGxpc3Qgb2YgSW50ZXJuZXQtRHJhZnQg U2hhZG93IERpcmVjdG9yaWVzIGNhbiBiZSBhY2Nlc3NlZCBhdAogICBodHRwOi8vd3d3LmlldGYu b3JnL3NoYWRvdy5odG1sLgoKICAgVGhpcyBJbnRlcm5ldC1EcmFmdCB3aWxsIGV4cGlyZSBvbiBB dWd1c3QgMTQsIDIwMDYuCgpDb3B5cmlnaHQgTm90aWNlCgogICBDb3B5cmlnaHQgKEMpIFRoZSBJ bnRlcm5ldCBTb2NpZXR5ICgyMDA2KS4KCkFic3RyYWN0CgogICBUaGlzIGRvY3VtZW50IGRlZmlu ZXMgYSBwb3J0aW9uIG9mIHRoZSBNYW5hZ2VtZW50IEluZm9ybWF0aW9uIEJhc2UKICAgKE1JQikg Zm9yIHVzZSB3aXRoIG5ldHdvcmsgbWFuYWdlbWVudCBwcm90b2NvbHMgaW4gVENQL0lQIGJhc2Vk CiAgIEludGVybmV0cy4gIEluIHBhcnRpY3VsYXIsIGl0IGRlZmluZXMgb2JqZWN0cyBmb3IgbWFu YWdpbmcgZm9yCiAgIGdlbmVyaWMgcG9pbnQgdG8gbXVsdGktcG9pbnQgKFAyTVApIG5ldHdvcmtz LCBhbmQgaW4gc3BlY2lmaWNhbGx5CiAgIEV0aGVybmV0IFBhc3NpdmUgT3B0aWNhbCBOZXR3b3Jr cyAoRVBPTikgaW50ZXJmYWNlcywgZGVmaW5lZCBpbiBJRUVFCiAgIFN0ZCA4MDIuM2FoLTIwMDQs IHdoaWNoIGFtZW5kcyBJRUVFIFN0ZCA4MDIuMy0yMDAyLgoKVGhlIEludGVybmV0LVN0YW5kYXJk IE1hbmFnZW1lbnQgRnJhbWV3b3JrCgoKCgpLaGVybW9zaCAgICAgICAgICAgICAgICAgRXhwaXJl cyBBdWd1c3QgMTQsIDIwMDYgICAgICAgICAgICAgICAgW1BhZ2UgMV0KDApJbnRlcm5ldC1EcmFm dCAgICAgICAgICAgTWFuYWdlZCBPYmplY3RzIG9mIEVQT04gICAgICAgICAgIEZlYnJ1YXJ5IDIw MDYKCgogICBGb3IgYSBkZXRhaWxlZCBvdmVydmlldyBvZiB0aGUgZG9jdW1lbnRzIHRoYXQgZGVz Y3JpYmUgdGhlIGN1cnJlbnQKICAgSW50ZXJuZXQtU3RhbmRhcmQgTWFuYWdlbWVudCBGcmFtZXdv cmssIHBsZWFzZSByZWZlciB0byBzZWN0aW9uIDcgb2YKICAgUkZDIDM0MTAgW1JGQzM0MTBdLiAg TWFuYWdlZCBvYmplY3RzIGFyZSBhY2Nlc3NlZCB2aWEgYSB2aXJ0dWFsCiAgIGluZm9ybWF0aW9u IHN0b3JlLCB0ZXJtZWQgdGhlIE1hbmFnZW1lbnQgSW5mb3JtYXRpb24gQmFzZSBvciBNSUIuCiAg IE1JQiBvYmplY3RzIGFyZSBnZW5lcmFsbHkgYWNjZXNzZWQgdGhyb3VnaCB0aGUgU2ltcGxlIE5l dHdvcmsKICAgTWFuYWdlbWVudCBQcm90b2NvbCAoU05NUCkuICBPYmplY3RzIGluIHRoZSBNSUIg YXJlIGRlZmluZWQgdXNpbmcgdGhlCiAgIG1lY2hhbmlzbXMgZGVmaW5lZCBpbiB0aGUgU3RydWN0 dXJlIG9mIE1hbmFnZW1lbnQgSW5mb3JtYXRpb24gKFNNSSkuCiAgIFRoaXMgbWVtbyBzcGVjaWZp ZXMgYSBNSUIgbW9kdWxlIHRoYXQgaXMgY29tcGxpYW50IHRvIHRoZSBTTUl2MiwKICAgd2hpY2gg aXMgZGVzY3JpYmVkIGluIFNURCA1OCwgUkZDIDI1NzggW1JGQzI1NzhdLCBTVEQgNTgsIFJGQyAy NTc5CiAgIFtSRkMyNTc5XSBhbmQgU1REIDU4LCBSRkMgMjU4MCBbUkZDMjU4MF0uCgpUZXJtaW5v bG9neQoKICAgS2V5IHdvcmRzICJNVVNUIiwgIk1VU1QgTk9UIiwgIlJFUVVJUkVEIiwgIlNIQUxM IiwgIlNIQUxMIE5PVCIsCiAgICJTSE9VTEQiLCAiU0hPVUxEIE5PVCIsICJSRUNPTU1FTkRFRCIs ICJNQVkiLCBhbmQgIk9QVElPTkFMIiBpbiB0aGlzCiAgIGRvY3VtZW50IGFyZSB0byBiZSBpbnRl cnByZXRlZCBhcyBkZXNjcmliZWQgaW4gW1JGQzIxMTldLgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK CgoKCgoKCgoKCgoKCktoZXJtb3NoICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAxNCwg MjAwNiAgICAgICAgICAgICAgICBbUGFnZSAyXQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICBN YW5hZ2VkIE9iamVjdHMgb2YgRVBPTiAgICAgICAgICAgRmVicnVhcnkgMjAwNgoKClRhYmxlIG9m IENvbnRlbnRzCgogICAxLiAgT3ZlcnZpZXcgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDQKICAgICAxLjEuICBUZXJtaW5vbG9neSBhbmQgYWJi cmV2aWF0aW9ucyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICA0CiAgICAgMS4yLiAgRVBP TiBhcmNoaXRlY3R1cmUgaGlnaGxpZ2h0cyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAg NQogICAgICAgMS4yLjEuICBJbnRyb2R1Y3Rpb24gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu IC4gLiAuIC4gLiAuIC4gIDUKICAgICAgIDEuMi4yLiAgUHJpbmNpcGxlcyBvZiBvcGVyYXRpb24g IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICA2CiAgICAgICAxLjIuMy4gIFRoZSBwaHlz aWNhbCBtZWRpYSAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgNwogICAgICAg MS4yLjQuICBQTUQgc3BlY2lmaWNhdGlvbnMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g LiAuIC4gIDgKICAgICAgIDEuMi41LiAgUG9pbnQgdG8gcG9pbnQgZW11bGF0aW9uIC4gLiAuIC4g LiAuIC4gLiAuIC4gLiAuIC4gLiAuICA4CiAgICAgICAxLjIuNi4gIE1QQ1AgcHJpbmNpcGxlcyAg LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgOQogICAgICAgMS4yLjcuICBG b3J3YXJkIEVycm9yIGNvcnJlY3Rpb24gKEZFQykgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gMTEK ICAgICAxLjMuICBNYW5hZ2VtZW50IGFyY2hpdGVjdHVyZSAgLiAuIC4gLiAuIC4gLiAuIC4gLiAu IC4gLiAuIC4gLiAuIDEyCiAgIDIuICBNSUIgc3RydWN0dXJlICAuIC4gLiAuIC4gLiAuIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAxOAogICAzLiAgUmVsYXRpb24gdG8gb3RoZXIg TUlCIE1vZHVsZXMgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gMTkKICAgICAzLjEu ICBSZWxhdGlvbiB0byB0aGUgSW50ZXJmYWNlcyBNSUIgYW5kIEV0aGVybmV0LWxpa2UKICAgICAg ICAgICBJbnRlcmZhY2VzIE1JQiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu IC4gLiAuIDE5CiAgICAgMy4yLiAgUmVsYXRpb24gdG8gdGhlIElFRUUgODAyLjMgTUFVIE1JQnMg IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAyMwogICAgIDMuMy4gIFJlbGF0aW9uIHRvIHRoZSBFRk0g T0FNIE1JQiAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gMjQKICAgICAzLjQuICBSZWxh dGlvbiB0byB0aGUgYnJpZGdlIE1JQiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDI0 CiAgIDQuICBSZWxhdGlvbiB0YWJsZSBvZiB0aGUgZG90M0VQT04gTUlCIG1vZHVsZSBvYmplY3Rz IHRvIHRoZQogICAgICAgSUVFRTgwMi4zYWggYXR0cmlidXRlcyAuIC4gLiAuIC4gLiAuIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuIC4gMjUKICAgNS4gIERlZmluaXRpb25zIC0gVGhlIERPVDMgRVBP TiBNSUIgbW9kdWxlIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDI5CiAgIDYuICBJQU5BIENvbnNp ZGVyYXRpb25zICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiA3MAog ICA3LiAgU2VjdXJpdHkgQ29uc2lkZXJhdGlvbnMgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g LiAuIC4gLiAuIC4gNzEKICAgOC4gIFJlZmVyZW5jZXMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDczCiAgICAgOC4xLiAgTm9ybWF0aXZlIFJlZmVy ZW5jZXMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiA3MwogICAgIDguMi4g IEluZm9ybWF0aXZlIFJlZmVyZW5jZXMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu IC4gNzMKICAgQXV0aG9yJ3MgQWRkcmVzcyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuIDc1CiAgIEludGVsbGVjdHVhbCBQcm9wZXJ0eSBhbmQgQ29weXJp Z2h0IFN0YXRlbWVudHMgLiAuIC4gLiAuIC4gLiAuIC4gLiA3NgoKCgoKCgoKCgoKCgoKCgoKCgoK CgpLaGVybW9zaCAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMTQsIDIwMDYgICAgICAg ICAgICAgICAgW1BhZ2UgM10KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgTWFuYWdlZCBPYmpl Y3RzIG9mIEVQT04gICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYKCgoxLiAgT3ZlcnZpZXcKCiAgIFRo aXMgZG9jdW1lbnQgZGVmaW5lcyBhIHBvcnRpb24gb2YgdGhlIE1hbmFnZW1lbnQgSW5mb3JtYXRp b24gQmFzZQogICAoTUlCKSBmb3IgdXNlIHdpdGggbmV0d29yayBtYW5hZ2VtZW50IHByb3RvY29s cyBpbiBUQ1AvSVAgYmFzZWQKICAgSW50ZXJuZXRzLiAgSW4gcGFydGljdWxhciwgaXQgZGVmaW5l cyBvYmplY3RzIGZvciBtYW5hZ2luZyBpbnRlcmZhY2VzCiAgIHRoYXQgY29uZm9ybSB0byB0aGUg RXRoZXJuZXQgUGFzc2l2ZSBPcHRpY2FsIE5ldHdvcmtzIChFUE9OKSBzdGFuZGFyZAogICBhcyBk ZWZpbmVkIGluIFs4MDIuM2FoXSwgd2hpY2ggYXJlIGV4dGVuZGVkIGNhcGFiaWxpdGllcyB0byB0 aGUKICAgRXRoZXJuZXQgbGlrZSBpbnRlcmZhY2VzLiAgVGhlIGRvY3VtZW50IGNvbnRhaW5zIGEg bGlzdCBvZiBtYW5hZ2VtZW50CiAgIGVudGl0aWVzIGJhc2VkIG9uIHRoZSBhdHRyaWJ1dGVzIGRl ZmluZWQgaW4gWzgwMi4zYWhdIEFubmV4IDMwQSBmb3IKICAgdGhlIEVQT04gc2VjdGlvbi4KCjEu MS4gIFRlcm1pbm9sb2d5IGFuZCBhYmJyZXZpYXRpb25zCgogICBCRVIgLSBCaXQgRXJyb3IgUmF0 ZQoKICAgQlcgLSBCYW5kd2lkdGgKCiAgIENPIC0gQ2VudHJhbCBPZmZpY2UKCiAgIENQRSAtIENl bnRyYWwgUHJlbWlzZXMgRXF1aXBtZW50CgogICBGQ1MgLSBGcmFtZSBDaGVjayBTZXF1ZW5jZQoK ICAgRUZNIC0gRXRoZXJuZXQgRmlyc3QgTWlsZQoKICAgRVBPTiAtIEV0aGVybmV0IFBhc3NpdmUg T3B0aWNhbCBOZXR3b3JrCgogICBMTElEIC0gTG9naWNhbCBMaW5rIElEZW50aWZpZXIKCiAgIE1B QyAtIE1lZGlhIEFjY2VzcyBDb250cm9sCgogICBNUENQIC0gTXVsdGktUG9pbnQgQ29udHJvbCBQ cm90b2NvbAoKICAgT0FNIC0gT3BlcmF0aW9uIEFkbWluaXN0cmF0aW9uIE1haW50ZW5hbmNlCgog ICBPTFQgLSBPcHRpY2FsIExpbmUgVGVybWluYWwgKFNlcnZlciB1bml0IG9mIHRoZSBFUE9OKQoK ICAgT05VIC0gT3B0aWNhbCBOZXR3b3JrIFVuaXQgKENsaWVudCB1bml0IG9mIHRoZSBFUE9OKQoK ICAgUEhZIC0gUGh5c2ljYWwgTGF5ZXIKCiAgIFBNRCAtIFBoeXNpY2FsIE1lZGl1bSBEZXBlbmRh bnQKCiAgIFJUVCAtIFJvdW5kIFRyaXAgVGltZQoKICAgU0xBIC0gU2VydmljZSBMZXZlbCBBZ3Jl ZW1lbnQKCiAgIFRETSAtIFRpbWUgRGl2aXNpb24gTXVsdGlwbGV4aW5nCgoKCktoZXJtb3NoICAg ICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAxNCwgMjAwNiAgICAgICAgICAgICAgICBbUGFn ZSA0XQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICBNYW5hZ2VkIE9iamVjdHMgb2YgRVBPTiAg ICAgICAgICAgRmVicnVhcnkgMjAwNgoKCjEuMi4gIEVQT04gYXJjaGl0ZWN0dXJlIGhpZ2hsaWdo dHMKCjEuMi4xLiAgSW50cm9kdWN0aW9uCgogICBUaGUgRVBPTiBzdGFuZGFyZCwgYXMgZGVmaW5l ZCBpbiBbODAyLjNhaF0sIGlzIGRlZmluaW5nIHRoZSBMYXllciAxCiAgIChQaHlzaWNhbCBtZWRp YSkgYW5kIGxheWVyIDIgKG1lZGlhIGFjY2VzcykgaW50ZXJmYWNlcyBmb3IgdGhlCiAgIEV0aGVy bmV0IHBhc3NpdmUgb3B0aWNhbCBuZXR3b3Jrcy4gIFRoZSBFUE9OIGlzIGEgR2lnYWJpdCBFdGhl cm5ldAogICBwcm90b2NvbCBmb3IgdGhlIE9wdGljYWwgQWNjZXNzIGJhc2VkIG9uIHBhc3NpdmUg b3B0aWNhbCBzcGxpdHRpbmcKICAgKFBPTikgdG9wb2xvZ3kuICBBIFBhc3NpdmUgT3B0aWNhbCBO ZXR3b3JrIChQT04pIGlzIGEgc2luZ2xlLCBzaGFyZWQKICAgb3B0aWNhbCBmaWJlciB0aGF0IHVz ZXMgb3B0aWNhbCBwYXNzaXZlIHNwbGl0dGVycyB0byBkaXZpZGUgdGhlCiAgIHNpbmdsZSBmaWJl ciBpbnRvIHNlcGFyYXRlIHN1YnNjcmliZXJzLgoKICAgU2VydmVyIHVuaXQgLSBPcHRpY2FsIExp bmUgVGVybWluYWwgKE9MVCkuICBUaGUgZXF1aXBtZW50IGF0IHRoZSBDTy4KCiAgIENsaWVudCBV bml0IC0gT3B0aWNhbCBOZXR3b3JrIFVuaXQgKE9OVSkuICBUaGUgZXF1aXBtZW50IGF0IHRoZSBD UEUuCgogICBTdGFuZGFyZCBpcyBJRUVFODAyLjNhaC4KCiAgIFRoZSBmb2xsb3dpbmcgZGlhZ3Jh bSBkZXNjcmliZXMgdGhlIFBPTiB0b3BvbG9neToKCgoKICAgICAgICAgICAgICAgRGV2aWNlIHdp dGgKICAgICAgICAgICAgICAgb25lIG9yIG1vcmUgUDJNUAogICAgICAgICAgICAgICBpbnRlcmZh Y2VzIHN1Y2ggYXMgT0xUCiAgICAgICAgICAgICAgIGZvciBFUE9OICAgICAgICAgICAgICAgICAg ICAgICBBbiBFUE9OICAgICAgICAgIElQIGhvc3QKICAgICAgICAgICAgICAgLS0tLS0tLSBPTFQg ICAgICAgICAgT05VICAgICAgICJtb2RlbSIgICAgICAgICAgLS0tLS0tLS0KICAgIE90aGVyIElF RUUgfCAgICAgfCBpbnRlcmZhY2UgfCAgaW50ZXJmYWNlIC0tLS0tLSBPdGhlciBJRUVFfCAgICAg IHwKICAgIGludGVyZmFjZSAgfCAgICAgfC0tLS0tLS1cLS0tLS0tLS0tLS0tLS0tLXwgICAgfCBp bnRlcmZhY2UgfCAgICAgIHwKICAgID09PT09PT09PT09fCAgICAgfCAgICAgICAgXCAgICAgICAg ICAgICAgIHwgICAgfD09PT09PT09PT09fCAgICAgIHwKICAgICAgICAgICAgICAgfCAgICAgfCAg ICAgICAgIFwgICAgICAgICAgICAgIC0tLS0tLSAgICAgICAgICAgLS0tLS0tLS0KICAgICAgICAg ICAgICAgfCAgICAgfCAgICAgICAgICBcICAgICAgICAgICAgIC0tLS0tLSAgICAgICAgICAgLS0t LS0tLS0KICAgICAgICAgICAgICAgLiAgICAgLiAgICAgICAgICAgXC0tLS0tLS0tLS0tLXwgICAg fCAgICAgICAgICAgfCAgICAgIHwKICAgICAgICAgICAgICAgfCAgICAgfC0tLS0tLVwgICAgICAg ICAgICAgICAgIHwgICAgfD09PT09PT09PT09fCAgICAgIHwKICAgICAgICAgICAgICAgfCAgICAg fCAgICAgICBcICAgICAgICAgICAgICAgIC0tLS0tLSAgICAgICAgICAgLS0tLS0tLS0KICAgICAg ICAgICAgICAgLS0tLS0tLSAgICAgICAgXCBldGMKCgoKCgogICBUaGUgYXJjaGl0ZWN0dXJlIHBv c2l0aW9uaW5nIGlzIGRlZmluZWQgaW4gdGhlIFs4MDIuM2FoXSBGaWd1cmUgNTYuMgogICBkaWFn cmFtLiAgVGhlIFs4MDIuM2FoXSBkZWZpbmVzIHRoZSBmb2xsb3dpbmcgY2xhdXNlcyBmb3IgdGhl IG5ldHdvcmsKICAgb3BlcmF0aW9uLgoKICAgQ2xhdXNlIDMwIC0gbWFuYWdlbWVudAoKICAgQ2xh dXNlIDYwIC0gUE1EIGZvciB0aGUgRVBPTiBtZWRpYSAoQnVyc3QgUE1EKQoKCgpLaGVybW9zaCAg ICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMTQsIDIwMDYgICAgICAgICAgICAgICAgW1Bh Z2UgNV0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgTWFuYWdlZCBPYmplY3RzIG9mIEVQT04g ICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYKCgogICBDbGF1c2UgNjQgLSBNUENQIChNdWx0aXBvaW50 IGNvbnRyb2wgcHJvdG9jb2wpIC0gZGVmaW5lcyB0aGUgbWVkaWEKICAgYWNjZXNzIGZvciB0aGUg b3BlcmF0aW9uIG9mIHRoZSBtdWx0aXBvaW50IGFyY2hpdGVjdHVyZSBvZiB0aGUgRVBPTi4KCiAg IENsYXVzZSA2NSAtCgogICBhKSBWaXJ0dWFsIGxpbmtzIGZvciB0aGUgRVBPTgoKICAgYikgRkVD CgogICBjKSBQTUEgZm9yIHRoZSBFUE9OLgoKMS4yLjIuICBQcmluY2lwbGVzIG9mIG9wZXJhdGlv bgoKICAgVGhlIEVQT04gcHJvdG9jb2wgaXMgYmFzZWQgb24gdGhlIGdpZ2FiaXQgRXRoZXJuZXQg cHJvdG9jb2wgb2YgdGhlCiAgIElFRUUgYXMgZGVzY3JpYmVkIGluIFs4MDIuM2FoXSBjbGF1c2Ug MzUgYW5kIDM2LiAgVGhlIGludGVyZmFjZSB0bwogICB0aGUgTUFDIGlzIHRocm91Z2ggdGhlIEdN SUkgSS9GIGFzIGRlc2NyaWJlZCBpbiBjbGF1c2UgMzUgYW5kIHRoZSBQQ1MKICAgbGF5ZXIgaXMg YmFzZWQgb24gdGhlIGdpZ2FiaXQgRXRoZXJuZXQgY2xhdXNlIDM2LiAgVGhlIE1QQ1AgaXMgcGxh Y2VkCiAgIGluIHRoZSBNQUMgY29udHJvbCBsYXllci4gIFRoZSBFbXVsYXRpb24gbGF5ZXIsIGxv Y2F0ZWQgYXQgdGhlIFJTCiAgIChSZWNvbmNpbGlhdGlvbiBTdWJsYXllciksIGNyZWF0ZXMgdmly dHVhbCBwcml2YXRlIHBhdGggdG8gZWFjaCBPTlUKICAgYW5kIHRoZSBGRUMgZW5oYW5jZXMgcmVh Y2ggYW5kIHNwbGl0IHBlcmZvcm1hbmNlLgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK S2hlcm1vc2ggICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDE0LCAyMDA2ICAgICAgICAg ICAgICAgIFtQYWdlIDZdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgIE1hbmFnZWQgT2JqZWN0 cyBvZiBFUE9OICAgICAgICAgICBGZWJydWFyeSAyMDA2CgoKICAgVGhlIGZvbGxvd2luZyBkaWFn cmFtIGRlc2NyaWJlcyB0aGUgbGF5ZXJpbmc6CgoKCiAgICAgICs9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0rCiAgICAgIHwgICAgICAgICAgICAgICBIaWdoZXIgbGF5 ZXJzICAgICAgICAgICAgICB8CiAgICAgICs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0rCiAgICAgIHwgICAgICAgICAgICAgICA4MDIuMUQgQnJpZGdlICAgICAgICAg ICAgICB8CiAgICAgICs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0r CiAgICAgIHwgTUFDIGNsaWVudHwgICAgICAgIC4uLiAgICAgICAgfE1BQyBjbGllbnR8CiAgICAg ICs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rCiAgICAgIHwgICAg ICAgICAgIE1BQyBDb250cm9sIC0gKE1QQ1ApICAgICAgICAgICB8ICAgICAgICAgICAgKk5FVyoK ICAgICAgKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSsKICAgICAg fCAgICBNQUMgICAgfCAgICAgICAgLi4uICAgICAgICB8ICAgIE1BQyAgIHwKICAgICAgKz09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSsKICAgICAgfCAgICAgICAgICAg UDJQIEVtdWxhdGlvbiAoUDJQRSkgICAgICAgICAgIHwgICAgICAgICAgICAqTkVXKgogICAgICAr PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09KwogICAgICAgICAgICAg ICAgICAgICAgfCAgICAgICAgICAgIHwKICAgICAgICAgICAgICAgICAgICAgIHwgICAgR01JSSAg ICB8CiAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgfAogICAgICArPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09KwogICAgICB8ICAgICAgICAgICAgICAg ICAgICBQQ1MgICAgICAgICAgICAgICAgICAgfAogICAgICArPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09KwogICAgICB8ICAgICAgICAgICAgICAgICAgICBGRUMgICAg ICAgICAgICAgICAgICAgfCAgICAgICAgICAgICpORVcqCiAgICAgICs9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0rCiAgICAgIHwgICAgICAgICAgICAgICAgICAgIFBN QSAgICAgICAgICAgICAgICAgICB8CiAgICAgICs9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0rCiAgICAgIHwgICAgICAgICAgICAgICAgICAgIFBNRCAgICAgICAgICAg ICAgICAgICB8CiAgICAgICs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0rCiAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgfAogICAgICAgICAgICAgICAg ICAgICAgfCAgICBNREkgICAgIHwKICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICB8 CiAgICAgICAgICAgICAgICAgICAgLz09PT09PT09PT09PT09PT09PT0vCiAgICAgICAgICAgICAg ICAgICAvICAgICAgIE1lZGlhICAgICAgIC8KICAgICAgICAgICAgICAgICAgLz09PT09PT09PT09 PT09PT09PT0vCgoKMS4yLjMuICBUaGUgcGh5c2ljYWwgbWVkaWEKCiAgIFVwbGluayBhbmQgZG93 bmxpbmsgYXJlIG11bHRpcGxleGVkIHVzaW5nIHNlcGFyYXRlZCB3YXZlbGVuZ3RocyBvbgogICB0 aGUgc2FtZSBmaWJlci4gIFRoZSBEb3dubGluayBpcyBhIGJyb2FkY2FzdCBtZWRpYSB3aGVyZSB0 aGUgT0xUCiAgIHRyYW5zbWl0cyB0aGUgZGF0YSB0byBhbGwgT05Vcy4gIFRoZSB1cGxpbmsgaXMg YSBzaGFyZWQgdHJhbnNtaXNzaW9uCiAgIG1lZGlhIGZvciBhbGwgb2YgdGhlIE9OVXMuICBUaGUg dXBsaW5rIG11bHRpcGxleGluZyBhY2Nlc3MgaXMgYmFzZWQKICAgb24gdGltZSBkaXZpc2lvbiAo VERNKSBhbmQgdGhlIG1hbmFnZW1lbnQgb2YgdGhlIFRETSBhY2Nlc3MgaXMKICAgZGVmaW5lZCBp biB0aGUgTXVsdGktUG9pbnQgY29udHJvbCBwcm90b2NvbCAoTVBDUCkuICBUaGUgdXBzdHJlYW0K ICAgY29sbGlzaW9ucyBhcmUgYXZvaWRlZCB0aHJvdWdoIHRoZSB0cmFuc21pc3Npb24gY29vcmRp bmF0aW9uIGRvbmUgYnkKICAgdGhlIE1QQ1AgcHJvdG9jb2wuICBUaGUgdHJhbnNtaXNzaW9uIGlz IG9mIG9uZSBPTlUgYXQgYSB0aW1lLiAgVGhlCiAgIE9MVCBzZW5kIGNvbnRyb2wgbWVzc2FnZXMg KEdBVEUgbWVzc2FnZXMpIGFsbG93aW5nIE9OVXMgdG8gdHJhbnNtaXQsCgoKCktoZXJtb3NoICAg ICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAxNCwgMjAwNiAgICAgICAgICAgICAgICBbUGFn ZSA3XQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICBNYW5hZ2VkIE9iamVjdHMgb2YgRVBPTiAg ICAgICAgICAgRmVicnVhcnkgMjAwNgoKCiAgIGRlZmluaW5nIHdoZW4gdGhlIHRyYW5zbWlzc2lv biBvY2N1cnMgYW5kIHdoYXQgaXMgaXRzIGR1cmF0aW9uLgogICBUaGVzZSBtZXNzYWdlcyBkZWZp bmUgdGhlIHRyYW5zbWlzc2lvbiBvcmRlciBhbmQgdGhlIGFtb3VudCBvZiBCVyBmb3IKICAgZWFj aCBPTlUuICBBIHNjaGVkdWxpbmcgYWxnb3JpdGhtIGF0IHRoZSBPTFQsIHdoaWNoIGlzIG5vdCBk ZWZpbmVkLAogICBpbiB0aGUgWzgwMi4zYWhdIGlzIHJlc3BvbnNpYmxlIHRvIGRpdmlkZSB0aGUg QlcgYW5kIGNvbnRyb2wgdGhlCiAgIGRlbGF5IG9mIGVhY2ggT05VIGFjY29yZGluZyB0byBpdHMg U0xBLgoKMS4yLjQuICBQTUQgc3BlY2lmaWNhdGlvbnMKCiAgIFRoZSBzYW1lIHdhdmVsZW5ndGgg b3B0aWNhbCBwbGFuIGFzIElUVS1UIEcuOTgzIGlzIHNlbGVjdGVkLiAgVGhlCiAgIHRyYW5zY2Vp dmVycyBhcmUgZGVyaXZhdGlvbnMgZnJvbSBleGlzdGluZyBFdGhlcm5ldCBvcHRpY3MKICAgdHJh bnNjZWl2ZXJzLiAgV2hhdCBpcyBhZGRlZCBpcyB0aGUgYnVyc3QgZnVuY3Rpb25hbGl0eSBmb3Ig dGhlCiAgIHVwbGluayAtIGJ1cnN0IHRyYW5zbWlzc2lvbiBhdCB0aGUgT05VIGFuZCBidXJzdCBy ZWNlcHRpb24gYXQgdGhlCiAgIE9MVC4gIFRoZSBbODAyLjNhaF0gc2VsZWN0ZWQgdmVyeSByZWxh eGVkIGJ1cnN0IHBhcmFtZXRlcnMuCgoxLjIuNS4gIFBvaW50IHRvIHBvaW50IGVtdWxhdGlvbgoK ICAgQW4gZW11bGF0ZWQgcG9pbnQtdG8tcG9pbnQgbGluayBpcyBjcmVhdGVkIGZvciBlYWNoIE9O VS4gIFRoZQogICBkb3duc3RyZWFtIHRyYW5zbWlzc2lvbiBpcyBhbiBhZ2dyZWdhdGlvbiBvZiBw b2ludC10by1wb2ludCB0dW5uZWxzCiAgIGFuZCBzaW5nbGUtY29weS1icm9hZGNhc3QgY2hhbm5l bCAodGFnZ2VkIGFzIGFsbCBvbmVzIExMSUQpLiAgVGhlCiAgIE9OVWEgZmlsdGVyIHRyYWZmaWMg bm90IGludGVuZGVkIGZvciB0aGVpciByZWNlcHRpb24gYWNjb3JkaW5nIHRvIHRoZQogICB2aXJ0 dWFsIGxpbmsgbWFya2luZy4gIEFuIExMSUQgdGFnIGlzIGF0dGFjaGVkIGF0IHRoZSBwcmVhbWJs ZSB0bwogICBkZW5vdGUgdGhlIHZpcnR1YWwgbGluayAtIGRlc3RpbmF0aW9uIGF0IHRoZSBkb3du c3RyZWFtIGFuZCBzb3VyY2UgYXQKICAgdGhlIHVwc3RyZWFtLgoKICAgVGhlIHZpcnR1YWwgbGlu a3MgY29uY2VwdCBpcyBhbHNvIHVzZWQgdG8gYXZvaWQgdmlvbGF0aW9ucyBvZgogICBicmlkZ2lu ZyBydWxlcyBmb3IgcGVlciB0byBwZWVyIHRyYWZmaWMgaW4gdGhlIFBPTi4gIEEgYnJpZGdlIHNl ZXMgYQogICBzaW5nbGUgTUFDIENsaWVudCBmb3IgZXZlcnkgbGluayBwYWlyLiAgVGhlIHByaXZh dGUgcGF0aHMgY29uY2VwdAogICBtZWFucyBubyBuZXR3b3JraW5nIHByb2JsZW1zIGV4aXN0IGFu ZCBpdCBwcm92aWRlcyBzdWJzY3JpYmVyCiAgIGlzb2xhdGlvbi4gIEFzIHRoZSB0dW5uZWxpbmcg aXMgb25seSB2aXJ0dWFsIHRoZXJlIGlzIGEgc2luZ2xlCiAgIHBoeXNpY2FsIGludGVyZmFjZSBh bmQgYSBzaW5nbGUgcGh5c2ljYWwgbGF5ZXIgZm9yIHRoZSBkZXZpY2UKICAgaW5jbHVkaW5nIGF0 dHJpYnV0ZXMgbGlrZSBsb2NhbCBNQUMgYWRkcmVzcy4gIFRoZSBmb2xsb3dpbmcgZGlhZ3JhbQog ICBkZXNjcmliZXMgdGhlIHZpcnR1YWwgdHVubmVsaW5nIGZvciB0aGUgRVBPTi4KCgoKCgoKCgoK CgoKCgoKCgoKCktoZXJtb3NoICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAxNCwgMjAw NiAgICAgICAgICAgICAgICBbUGFnZSA4XQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICBNYW5h Z2VkIE9iamVjdHMgb2YgRVBPTiAgICAgICAgICAgRmVicnVhcnkgMjAwNgoKCiAgICAgICAgICAg ICAgICAgICAgICAgICBUcnVuayBMaW5lCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcfC8KICAgICAgKz09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09KwogICAgICB8ICAgICAgICAgICAgICAg ICA4MDIuMUQgQnJpZGdlICAgICAgICAgICAgICAgICB8CiAgICAgICs9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSsKICAgICAgfCBNQUMgY2xpZW50MXwgICAg ICAgICAgLi4uICAgICAgICAgfE1BQyBjbGllbnQzfAogICAgICArPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rCiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICBNUDJQRSAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgKz09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09KwogICAgICB8ICAgICAgICAgICAgICAgICAgICAg IFBIWSAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAg IHwgICAgICAgICAgICAgICAgIHwKICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgIHwgICAg ICAgICAgICAgICAgIHwKICAgICAgICAgICAgXHwvICAgICAgICAgICAgICAgXHwvICAgICAgICAg ICAgICAgXHwvCiAgICAgICs9PT09PT09PT09PT0rICAgICs9PT09PT09PT09PT0rICAgICs9PT09 PT09PT09PT0rCiAgICAgIHwgICAgUEhZICAgICB8ICAgIHwgICAgIFBIWSAgICB8ICAgIHwgICAg IFBIWSAgICB8CiAgICAgICs9PT09PT09PT09PT0rICAgICs9PT09PT09PT09PT0rICAgICs9PT09 PT09PT09PT0rCiAgICAgIHwgICBNUDJQRSAgICB8ICAgIHwgICAgTVAyUEUgICB8ICAgIHwgICAg TVAyUEUgICB8CiAgICAgICs9PT09PT09PT09PT0rICAgICs9PT09PT09PT09PT0rICAgICs9PT09 PT09PT09PT0rCiAgICAgIHwgTUFDIGNsaWVudCB8ICAgIHwgTUFDIGNsaWVudCB8ICAgIHwgTUFD IGNsaWVudCB8CiAgICAgICs9PT09PT09PT09PT0rICAgICs9PT09PT09PT09PT0rICAgICs9PT09 PT09PT09PT0rCiAgICAgIHwgICAgUEhZICAgICB8ICAgIHwgICAgIFBIWSAgICB8ICAgIHwgICAg IFBIWSAgICB8CiAgICAgICs9PT09PT09PT09PT0rICAgICs9PT09PT09PT09PT0rICAgICs9PT09 PT09PT09PT0rCiAgICAgICAgICAgIC98XCAgICAgICAgICAgICAgIC98XCAgICAgICAgICAgICAg IC98XAogICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgfAog ICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgfAogICAgICAg ICAgICAgfCAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgfAogICAgICAgIFN1YnNj cmliZXIxICAgICAgIFN1YnNjcmliZXIyICAgICAgIFN1YnNjcmliZXIzCgoKMS4yLjYuICBNUENQ IHByaW5jaXBsZXMKCiAgIFRoZSBPTFQsIHdoaWNoIGlzIHRoZSBzZXJ2ZXIgdW5pdCwgbWFuYWdl cyB0aGUgbmV0d29yay4gIFRoZSBNUENQCiAgIGNvbnRyb2xzIHRoZSBURE0gdHJhbnNtaXNzaW9u IG9mIHRoZSB1cGxpbmsuICBUaGUgTVBDUCBpcyBpbXBsZW1lbnRlZAogICBhdCB0aGUgTUFDIGNv bnRyb2wgbGF5ZXIgYW5kIHRoZSBNUENQIG1lc3NhZ2VzIGFyZSBNQUMgY29udHJvbAogICBtZXNz YWdlcyB1c2luZyB0aGUgODgwOCBFdGhlcnR5cGUuICBUaGVzZSBtZXNzYWdlcyBhcmUgbm90IGZv cndhcmRlZAogICBmcm9tIHRoZSBNQUMuICBBIGNvbmNlcHQgb2YgdGltZSBtdXN0IGV4aXN0IGlu IHRoZSBwcm90b2NvbCBpbiBvcmRlcgogICB0byBzY2hlZHVsZSB0aGUgdXBsaW5rIHRyYW5zbWlz c2lvbi4gIFRoZSBzeW5jaHJvbml6ZWQgdGltZXN0YW1wIGluCiAgIHRoZSBuZXR3b3JrIGlzIG1h bmFnZWQgdGhyb3VnaCB0aGUgTVBDUCBtZXNzYWdlcy4gIFRoZSB0aW1lc3RhbXAgaXMKICAgYWxz byB1c2VkIHRvIG1lYXN1cmUgdGhlIFJUVCBvZiBlYWNoIE9OVSBhbmQgY29tcGVuc2F0ZSBpdCBm b3IKICAgdHJhbnNtaXNzaW9uLiAgVGhlIGRpZmZlcmVuY2Ugb2YgaW5jb21pbmcgdGltZXN0YW1w IHRvIGxvY2FsIHRpbWUKICAgYWxsb3dzIE9MVCB0byBjYWxjdWxhdGUgdGhlIFJUVC4gIFRoZSBU RE0gY29udHJvbCBpcyBkb25lIHVzaW5nIHRoZQogICBnYXRlIG1lc3NhZ2VzLiAgVGhlc2UgbWVz c2FnZXMgZGVmaW5lIGZvciBlYWNoIE9OVSB0aGUgdGltZSBmb3IKICAgdHJhbnNtaXNzaW9uIGFu ZCB0aGUgbGVuZ3RoIG9mIHRyYW5zbWlzc2lvbi4gIFRoZSBSVFQgaXMgcmVkdWNlZCBmcm9tCiAg IHRoZSB0cmFuc21pc3Npb24gdGltZSBhdCB0aGUgZ2F0ZSBtZXNzYWdlIHRvIHNoaWZ0IHRoZSBP TlUKCgoKS2hlcm1vc2ggICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDE0LCAyMDA2ICAg ICAgICAgICAgICAgIFtQYWdlIDldCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgIE1hbmFnZWQg T2JqZWN0cyBvZiBFUE9OICAgICAgICAgICBGZWJydWFyeSAyMDA2CgoKICAgdHJhbnNtaXNzaW9u IHRpbWUgaW4gdGhlIG9wcG9zaXRlIGRpcmVjdGlvbi4KCiAgIEEgc2NoZWR1bGluZyBhbGdvcml0 aG0gYXQgdGhlIE9MVCwgd2hpY2ggaXMgbm90IGRlZmluZWQgaW4gdGhlCiAgIFs4MDIuM2FoXSwg aXMgcmVzcG9uc2libGUgdG8gZGl2aWRlIHRoZSBCVyBhbmQgY29udHJvbCB0aGUKICAgdHJhbnNt aXNzaW9uIGRlbGF5IG9mIGVhY2ggT05VIGFjY29yZGluZyB0byBpdHMgU0xBLiAgSW4gb3JkZXIg Zm9yCiAgIHRoaXMgYWxnb3JpdGhtIHRvIGJlIGVmZmljaWVudCBhIGNsb3NlZCBsb29wIG9wZXJh dGlvbiBpcyBlbmFibGVkCiAgIG1lYW5pbmcuICBUaGUgY2xvc2VkIGxvb3AgaXMgYWNoaWV2ZWQg YnkgdGhhdCB0aGUgT05VIHJlcG9ydHMgb24gdGhlCiAgIGFtb3VudCBvZiBCVyBpdCByZXF1aXJl IGZvciB0cmFuc21pc3Npb24uICBUaGlzIGFsbG93cyB0byBhbGxvY2F0ZQogICBkaWZmZXJlbnQg cGVhayBCVyBmb3IgZWFjaCBPTlUgYXQgZGlmZmVyZW50IHRpbWVzIHVzaW5nIHRoZQogICBzdGF0 aXN0aWNhbCBwcm9wZXJ0aWVzIG9mIHRoZSB0cmFmZmljIGhlbmNlIGFsbG93aW5nIG92ZXJzdWJz Y3JpcHRpb24KICAgb2YgdGhlIEJXLiAgVGhlIG1lc3NhZ2VzIGFyZSBmb3IgdGhlIEJXIHJlcG9y dCBhcmUgZGVub3RlZCBhcyBSRVBPUlQKICAgbWVzc2FnZXMgd2hpY2ggcmVwb3J0IHRoZSBhbW91 bnQgb2YgZGF0YSBpbiB0aGUgT05VIHF1ZXVlcy4gIEluCiAgIGFkZGl0aW9uIHRvIHRoYXQgdGhl IE1QQ1AgZGVmaW5lcyBhIHByb3RvY29sIG9mIGF1dG8tZGlzY292ZXJ5IGFuZAogICByZWdpc3Ry YXRpb24gb2YgT05Vcy4KCiAgIFRoZSByZWdpc3RyYXRpb24gcHJvY2VzcyBpcyBkZWZpbmVkIGlu IHRoZSBkaWFncmFtIGJlbG93OgoKCgogICAgICBPTFQgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBPTlUKICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwKICAgICAgIHwgICAgICAgICAgICAgRGlzY292ZXJ5IEdhdGUgICAg ICAgICAgICAgICAgXHwKICAgICAgIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLXwKICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgL3wKICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwKICAgICAgIHwvICAgICAgICAgICAgIFJlZ2lzdGVyIFJlcXVlc3QgICAgICAgICAgICAg IHwKICAgICAgIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwK ICAgICAgIHxcICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAg IHwgICAgICAgICAgICAgIFJlZ2lzdGVyICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgIHwg ICAgICAgICAgICAgICAoYXNzaWduaW5nIExMSUQpICAgICAgICAgICAgXHwKICAgICAgIHwtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwKICAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgL3wKICAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgIEdhdGUgICAgICAgICAgICAgICAgXHwKICAgICAgIHwtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwKICAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgL3wKICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgIHwvICAgICAgICAgICAgIFJlZ2lzdGVyIEFD SyAgICAgICAgICAgICAgICAgIHwKICAgICAgIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLXwKICAgICAgIHxcICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwKICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwKICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwKCgoKCiAgIEEgbmV3IE9OVSByZXF1ZXN0cyB0byByZWdpc3RlciAoc2VuZHMgYSBS RUdfUkVRVUVTVCBtZXNzYWdlKSBpbiBhCgoKCktoZXJtb3NoICAgICAgICAgICAgICAgICBFeHBp cmVzIEF1Z3VzdCAxNCwgMjAwNiAgICAgICAgICAgICAgIFtQYWdlIDEwXQoMCkludGVybmV0LURy YWZ0ICAgICAgICAgICBNYW5hZ2VkIE9iamVjdHMgb2YgRVBPTiAgICAgICAgICAgRmVicnVhcnkg MjAwNgoKCiAgIHNwZWNpYWwgZGlzY292ZXJ5IGdyYW50IGFsbG9jYXRlZCBmb3IgdGhhdCBieSB0 aGUgT0xULiAgRHVyaW5nIHRoYXQKICAgdGltZSBtb3JlIHRoYW4gb25lIE9OVSBtaWdodCB0cnkg dG8gcmVnaXN0ZXIgYW5kIGFzIHRoZSBSVFQgb2YgdGhlCiAgIG5ldyBPTlVzIGlzIG5vdCBrbm93 biB5ZXQgYSBjb2xsaXNpb24gaW4gdHJhbnNtaXNzaW9uIG1pZ2h0IG9jY3VyLiAgQQogICByYW5k b20gYmFja29mZiBtZWNoYW5pc20gb2YgdHJhbnNtaXNzaW9uIGlzIHVzZWQgdG8gc2NoZWR1bGUg dGhlIG5leHQKICAgcmVnaXN0cmF0aW9uIHJlcXVlc3RzIHRvIGF2b2lkIHRoZXNlIGNvbGxpc2lv bnMuICBXaGVuIHRoZSBPTFQKICAgcmVjZWl2ZXMgUkVHX1JFUVVFU1QgbWVzc2FnZSBvZiBhbiBP TlUgYW5kIGFwcHJvdmVzIHRoaXMgT05VIHRoZW4gaXQKICAgc2VuZHMgYSBSRUdJU1RFUiBtZXNz YWdlIHRvIHRoaXMgT05VIGRlZmluaW5nIGl0cyBMTElELiAgRnJvbSB0aGlzCiAgIHRpbWUgdGhl IE9OVSB0cmFuc21pc3Npb24gaXMgc2NoZWR1bGVkIGJ5IGl0cyBMTElELCBrbm93aW5nIHRoZSBS VFQsCiAgIGFuZCBubyBjb2xsaXNpb24gY2FuIG9jY3VyLiAgVGhlIE9OVSByZXBsaWVzIHdpdGgg YSBSRUdJU1RFUl9BQ0sKICAgbWVzc2FnZSBhbmQgdGhlIHJlZ2lzdHJhdGlvbiBwcm9jZXNzIG9m IHRoZSBNUENQIGVuZHMuICBIaWdoZXIgbGF5ZXIKICAgcHJvdG9jb2xzIG1heSB5ZXQgYmUgbmVl ZGVkIHRvIGF1dGhlbnRpY2F0ZSB0aGUgT05VIGFuZCBhbGxvdyBpdCB0bwogICBwYXJ0aWNpcGF0 ZSBpbiB0aGUgbmV0d29yay4KCjEuMi43LiAgRm9yd2FyZCBFcnJvciBjb3JyZWN0aW9uIChGRUMp CgogICBUaGUgRkVDIGlzIGRlZmluZWQgdG8gZW5oYW5jZSB0aGUgbGluayBidWRnZXQgb2YgdGhl IFBPTi4gIEFzIGVhY2gKICAgc3BsaXR0ZXIgYXR0ZW51YXRlcyB0aGUgb3B0aWNhbCBzaWduYWws IHRoZSBudW1iZXIgb2YgdGhlIHNwbGl0cyBhbmQKICAgdGhlIGRpc3RhbmNlIGFyZSBsaW1pdGVk IGJ5IHRoZSBsaW5rIGJ1ZGdldCBhbmQgaGVuY2UgYW4gRkVDIHdoaWNoCiAgIGltcHJvdmVzIHRo ZSBsaW5rIGJ1ZGdldCBpcyB2ZXJ5IHVzZWZ1bC4gIFRoZSBGRUMgY29kZSB1c2VkIGlzIHRoZQog ICBSUygyMzksMjU1LDgpLCBzaW1pbGFyIHRvIEcuOTc1IGltcHJvdmluZyB0aGUgQkVSIGZyb20g MUUtNCB0byAxRS0xMi4KCiAgIFRoZSBGRUMgcGFyaXR5IGVuY2Fwc3VsYXRpb24gaXMgYmFzZWQg b24gdGhlIEV0aGVybmV0IGZyYW1lcy4gIFRoZQogICBFdGhlcm5ldCBmcmFtZXMgYXJlIHNwYWNl ZCBieSByYXRlIGFkYXB0YXRpb24sIGFuZCB0aGUgcGFyaXR5IGJ5dGVzCiAgIGFyZSBpbnNlcnRl ZCBpbiB0aGUgcHJvdmlkZWQgc3BhY2UuCgogICBBcyB0aGUgc3RhcnQgYW5kIGVuZCBvZiBmcmFt ZSBzaWduYWxzIGFyZSBvdXRzaWRlIG9mIHRoZSBGRUMKICAgcHJvdGVjdGlvbiwgdGhleSBhcmUg cmVwbGFjZWQgYnkgYSBzZXJpZXMgb2Ygc3ltYm9scyB0byBlbmhhbmNlIHRoZWlyCiAgIHZ1bG5l cmFiaWxpdHkgdG8gZXJyb3JzLgoKICAgVGhlIGZvbGxvd2luZyBkaWFncmFtIHByZXNlbnRzIGFu IEZFQyBwcm90ZWN0ZWQgZnJhbWU6CgoKCiAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogICB8ICAgICAgIHwgICAg ICAgICAgICAgIHwgICAgICAgICAgIHwgICAgIHwgICAgICAgfCAgICAgICAgICB8ICAgICAgIHwK ICAgfCBTX0ZFQyB8IFByZWFtYmxlL1NGRCB8ICAgRnJhbWUgICB8IEZDUyB8IFRfRkVDIHwgIFBh cml0eSAgfCBUX0ZFQyB8CiAgIHwgICAgICAgfCAgICAgICAgICAgICAgfCAgICAgICAgICAgfCAg ICAgfCAgICAgICB8ICAgICAgICAgIHwgICAgICAgfAogICArLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKCgoKICAgVGhl IEZFQyBsYXllciBpbnRyb2R1Y2VzIGEgZml4ZWQgZGVsYXkgaW4gdGhlIHJlY2VpdmUgYW5kIHRy YW5zbWl0CiAgIHBhdGguCgogICBUaGUgRkVDIGxheWVyIGlzIG9wdGlvbmFsLgoKCgoKCgpLaGVy bW9zaCAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMTQsIDIwMDYgICAgICAgICAgICAg ICBbUGFnZSAxMV0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgTWFuYWdlZCBPYmplY3RzIG9m IEVQT04gICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYKCgoxLjMuICBNYW5hZ2VtZW50IGFyY2hpdGVj dHVyZQoKICAgRWFjaCBvbmUgb2YgdGhlIEVQT04gbGF5ZXJzIGlzIGFjY29tcGFuaWVkIGJ5IGEg bWFuYWdlbWVudCBJL0YsIHdoaWNoCiAgIGlzIGNvbnRyb2xsZWQgdGhyb3VnaCBjbGF1c2UgMzAg b2YgdGhlIHNwZWMuICBUaGUgTUlCIGRvY3VtZW50CiAgIGFsbG9jYXRlcyBmb3IgZWFjaCBvbmUg b2YgdGhlbSBhIHNlcGFyYXRlIHBhY2thZ2UsIGFzIHRoZSBbODAyLjNhaF0KICAgc3BlYyBtYXkg YmUgdXNlZCBmb3IgZGlmZmVyZW50IGFwcGxpY2F0aW9ucyBhbmQgbWF5IHVzZSBzb21lIG9mIHRo ZQogICBjbGF1c2VzIHNlcGFyYXRlbHkuCgogICBUaGUgZm9sbG93aW5nIGRpYWdyYW0gcHJlc2Vu dHMgdGhlIHBhY2thZ2VzIHJlbGF0aW9uIHRvIElFRUUgbGF5ZXJpbmcKICAgZGlhZ3JhbToKCgoK ICAgKz09PT09PT09PT09PT09PT09PT09PT09PT09PSsKICAgfCAgICAgICBIaWdoZXIgbGF5ZXJz ICAgICAgIHwKICAgKz09PT09PT09PT09PT09PT09PT09PT09PT09PSsKICAgfCAgICAgICA4MDIu MUQgQnJpZGdlICAgICAgIHwKICAgKz09PT09PT09PT09PT09PT09PT09PT09PT09PSsKICAgfE1B QyBjbGllbnR8IC4uLiB8TUFDIGNsaWVudHwKICAgKz09PT09PT09PT09PT09PT09PT09PT09PT09 PSsgICAgXCArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rCiAgIHwgICBNQUMgQ29udHJv bCAtIChNUENQKSAgICB8LS0tLS0gfE1wY3BPYmplY3RzfCAuLi4gfE1wY3BPYmplY3RzfAogICAr PT09PT09PT09PT09PT09PT09PT09PT09PT09KyAgICAvICs9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PSsKICAgfCAgIE1BQyAgICB8IC4uLiB8ICAgTUFDICAgIHwKICAgKz09PT09PT09PT09 PT09PT09PT09PT09PT09PSsgICAgXCArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rCiAg IHwgICAgUDJQIEVtdWxhdGlvbiAoUDJQRSkgICB8LS0tLS0gfE9tcEVtdWxhdCAgfCAgICAgfE9t cEVtdWxhdCAgfAogICArPT09PT09PT09PT09PT09PT09PT09PT09PT09KyAgICAvIHxpb25PYmpl Y3RzIHwgLi4uIHxpb25PYmplY3RzIHwKICAgICAgICAgICAgIHwgICAgICAgIHwgICAgICAgICAg ICAgICArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rCiAgICAgICAgICAgICB8ICBHTUlJ ICB8CiAgICAgICAgICAgICB8ICAgICAgICB8CiAgICs9PT09PT09PT09PT09PT09PT09PT09PT09 PT0rCiAgIHwgICAgICAgICAgICBQQ1MgICAgICAgICAgICB8CiAgICs9PT09PT09PT09PT09PT09 PT09PT09PT09PT0rICAgIFwgKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09KwogICB8ICAg ICAgICAgICAgRkVDICAgICAgICAgICAgfC0tLS0tIHxGZWNPYmplY3RzIHwgLi4uIHxGZWNPYmpl Y3RzIHwKICAgKz09PT09PT09PT09PT09PT09PT09PT09PT09PSsgICAgLyArPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0rCiAgIHwgICAgICAgICAgICBQTUEgICAgICAgICAgICB8CiAgICs9 PT09PT09PT09PT09PT09PT09PT09PT09PT0rCiAgIHwgICAgICAgICAgICBQTUQgICAgICAgICAg ICB8CiAgICs9PT09PT09PT09PT09PT09PT09PT09PT09PT0rCiAgICAgICAgICAgICB8ICAgICAg ICB8CiAgICAgICAgICAgICB8ICBNREkgICB8CiAgICAgICAgICAgICB8ICAgICAgICB8CiAgICAg ICAgIC89PT09PT09PT09PT09PT0vCiAgICAgICAgLyAgICAgTWVkaWEgICAgIC8KICAgICAgIC89 PT09PT09PT09PT09PT0vCgoKCgoKCgpLaGVybW9zaCAgICAgICAgICAgICAgICAgRXhwaXJlcyBB dWd1c3QgMTQsIDIwMDYgICAgICAgICAgICAgICBbUGFnZSAxMl0KDApJbnRlcm5ldC1EcmFmdCAg ICAgICAgICAgTWFuYWdlZCBPYmplY3RzIG9mIEVQT04gICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYK CgogICBBcyBmb3IgdGhlIE9OVSB0aGUgc2l0dWF0aW9uIGlzIHNpbXBsZS4gIFRoZXJlIGlzIG9u ZSBsb2dpY2FsIGFuZAogICBwaHlzaWNhbCBpbnRlcmZhY2UgYW5kIGEgc2luZ2xlIGNvcHkgZXhp c3RzIGZvciBlYWNoIGxheWVyIHdoaWNoIGNhbgogICBiZSByZW1vdGVseSBxdWVyaWVkIGJ5IHRo ZSBPTFQuCgogICBBdCB0aGUgT0xUIHRoZXJlIGlzIGEgc2luZ2xlIHBoeXNpY2FsIGludGVyZmFj ZSBhbmQgTiB2aXJ0dWFsIGxvZ2ljYWwKICAgaW50ZXJmYWNlcyBmb3IgdGhlIHZpcnR1YWwgbGlu a3Mgb2YgdGhlIE9OVXMgKCBhbmQgYW5vdGhlciB2aXJ0dWFsCiAgIGludGVyZmFjZSBmb3IgdGhl IGJyb2FkY2FzdCB2aXJ0dWFsIGxpbmspLiAgQXMgY2FuIGJlIHNlZW4gZnJvbSB0aGUKICAgbGF5 ZXJpbmcgZGlhZ3JhbSBhYm92ZSwgdGhlIE1BQyBpcyB2aXJ0dWFsbHkgZHVwbGljYXRlZCBhbmQg dGhlcmVmb3JlCiAgIHRoZSBzZWxlY3Rpb24gZm9yIHRoZSBtYW5hZ2VtZW50IGZvciB0aGlzIHNj ZW5hcmlvIGlzIHRvIGFsbG9jYXRlIGFuCiAgIGludGVyZmFjZSBpbmRleCBmb3IgZWFjaCBvbmUg b2YgdGhlIHZpcnR1YWwgbGluayBhbmQgYW4gYWRkaXRpb25hbAogICBpbnRlcmZhY2UgaW5kZXgg Zm9yIHRoZSBPTFQuICBUaGVyZWZvcmUgdGhlIEludGVyZmFjZSwgTUFVIGFuZAogICBldGhlckxp a2UgaW50ZXJmYWNlcyBNSUJzIGhhdmUgYSByb3cgKGlmSW5kZXgpIGZvciBlYWNoIHZpcnR1YWwg bGluawogICBhdCB0aGUgT0xULiAgVGhlIGp1c3RpZmljYXRpb24gZm9yIHRoaXMgcGFydGl0aW9u IGlzIHRoYXQgdGhlCiAgIGludGVyZmFjZXMgYXJlIHF1aXRlIHdlbGwgc2VwYXJhdGVkIGFzIHRo ZXkgcHJlc2VudCBwaHlzaWNhbAogICBkaWZmZXJlbnQgT05VcyB3aGljaCBhcmUgdmlld2VkIGZy b20gdGhlIE9MVCBwb2ludCBvZiB2aWV3LCBhbmQgZm9yCiAgIGluc3RhbmNlIHRoZXJlIGlzIGEg bWVhbmluZyBmb3IgYSBzZXBhcmF0ZSBiYWQgZnJhbWVzLCBvciBiYWQgb2N0ZXRzCiAgIGNvdW50 ZXJzIGZvciBlYWNoIHZpcnR1YWwgbGluayBhcyB0aGUgT05VcyBjYW4gYmUgZGlzdGFuY2VkCiAg IGRpZmZlcmVudGx5LCB3aGljaCBpcyBxdWl0ZSBzaW1pbGFyIHRvIGEgc2VwYXJhdGUgcGh5c2lj YWwgaW50ZXJmYWNlLgogICBUaGUgc2FtZSBwYXJ0aXRpb24gY29uY2VwdCBleGlzdHMgZm9yIHRo ZSBNSUIgbW9kdWxlIG9mIHRoaXMKICAgZG9jdW1lbnQuICBFYWNoIHJvdyBpbiB0aGUgdGFibGVz IGlzIHNlbGVjdGVkIGFjY29yZGluZyB0byB0aGUKICAgaWZJbmRleCBhbmQgc3BlY2lmaWNhbGx5 IHRoZXJlIGlzIGEgcm93IGZvciBlYWNoIHZpcnR1YWwgbGluay4gIFRoZXJlCiAgIGFyZSBhIGZl dyBjb250cm9sIG9iamVjdHMgd2hpY2ggYXJlIGRlZmluZWQgZm9yIHRoZSBlbnRpcmUgbGF5ZXIg KGFuZAogICB0aGV5IHNob3VsZCBoYXZlIHRoZSBzYW1lIHZhbHVlIGZvciBlYWNoIGlmSW5kZXgp IGJ1dCBtb3N0IG9mIHRoZQogICBvYmplY3RzIGFyZSBwYXJ0aXRpb25lZCBpbnRvIE4rMSBsb2dp Y2FsIGludGVyZmFjZXMgYXQgdGhlIE9MVCBmb3IKICAgZWFjaCBsYXllci4gIEl0IGlzIGEgYml0 IGRpZmZlcmVudCB0aGFuIHRoZSBJRUVFIGxheWVyaW5nIGRpYWdyYW0KICAgd2hpY2ggcHJlc2Vu dCB0aGUgUDJNUCBsYXllciBhcyBhIHNpbmdsZSBsYXllciB3aGlsZSBkdXBsaWNhdGluZyB0aGUK ICAgTUFDIGFuZCBNQUMgY2xpZW50IGxheWVycyAoUGxlYXNlIHNlZSB0aGUgZGlhZ3JhbSBhYm92 ZSkuICBIb3dldmVyCiAgIGZyb20gbWFuYWdlbWVudCBwZXJzcGVjdGl2ZSBpdCBpcyBtb3JlIGNv bnZlbmllbnQgYW5kIG5lYXQgdG8KICAgcGFydGl0aW9uIHRoZSBtYW5hZ2VtZW50IG9mIHRoZSBl bnRpdGllcyBmb3IgdGhlIHZpcnR1YWwgbGlua3MgYXMgdGhlCiAgIG1hbmFnZWQgYXRvbWljIGVu dGl0eSBpcyB0aGUgdmlydHVhbCBsaW5rLCBhbmQgdXNlIHRoZSBpbnRlcmZhY2UKICAgaW5kZXgg Zm9yIHRoYXQgcHVycG9zZSBhcyBpdCBpcyBhbHJlYWR5IHVzZWQgZm9yIHRoZSByb3dzIG9mIHRo ZQogICB2aXJ0dWFsIGxpbmtzIGF0IHRoZSBJbnRlcmZhY2UsIE1BVSBhbmQgZXRoZXJMaWtlIGlu dGVyZmFjZXMgTUlCcy4KCiAgIEFzIGFuIGV4YW1wbGUgcHJvdmlkZWQgYmVsb3cgYXJlIHRoZSB2 YWx1ZXMgZm9yIHRoZSBNUENQIGNvbnRyb2wKICAgdGFibGUgZm9yIGFuIE9MVCB3aXRoIDMgT05V cyByZWdpc3RlcmVkOgoKCgoKCgoKCgoKCgoKCgoKS2hlcm1vc2ggICAgICAgICAgICAgICAgIEV4 cGlyZXMgQXVndXN0IDE0LCAyMDA2ICAgICAgICAgICAgICAgW1BhZ2UgMTNdCgwKSW50ZXJuZXQt RHJhZnQgICAgICAgICAgIE1hbmFnZWQgT2JqZWN0cyBvZiBFUE9OICAgICAgICAgICBGZWJydWFy eSAyMDA2CgoKICAgICAgICAgICAgICAgICAgICAgQXQgT05VMSBpbiB3b3JraW5nIG1vZGUsIG9u ZSByb3c6CgogICAgICAgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0rCiAgICAgICAgICAgICAgfCBNUENQIGNvbnRyb2wgTUlCIG9iamVjdCAgIHwg VmFsdWUgICAgICAgICAgIHwKICAgICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tKwogICAgICAgICAgICAgIHwgaWZJbmRleCAgICAgICAgICAg ICAgICAgICB8IDEgICAgICAgICAgICAgICB8CiAgICAgICAgICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgIHwKICAgICAgICAgICAgICB8IGRvdDNNcGNw T3BlclN0YXR1cyAgICAgICAgfCB0cnVlICAgICAgICAgICAgfAogICAgICAgICAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICB8CiAgICAgICAgICAgICAg fCBkb3QzTXBjcEFkbWluU3RhdGUgICAgICAgIHwgdHJ1ZSAgICAgICAgICAgIHwKICAgICAgICAg ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgfAogICAg ICAgICAgICAgIHwgZG90M01wY3BNb2RlICAgICAgICAgICAgICB8IG9udSAgICAgICAgICAgICB8 CiAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAg ICAgIHwKICAgICAgICAgICAgICB8IGRvdDNNcGNwU3luY1RpbWUgICAgICAgICAgfCAyNSAgICAg ICAgICAgICAgfAogICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAg ICAgICAgICAgICAgICB8CiAgICAgICAgICAgICAgfCBkb3QzTXBjcExpbmtJRCAgICAgICAgICAg IHwgMSAgICAgICAgICAgICAgIHwKICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgICAgICAgICAgICAgICAgfAogICAgICAgICAgICAgIHwgZG90M01wY3BSZW1vdGVN QUNBZGRyZXNzICB8IE9MVF9NQUNfQWRkcmVzcyB8CiAgICAgICAgICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgIHwKICAgICAgICAgICAgICB8IGRvdDNN cGNwUmVnaXN0cmF0aW9uU3RhdGUgfCByZWdpc3RlcmVkICAgICAgfAogICAgICAgICAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICB8CiAgICAgICAgICAg ICAgfCBkb3QzTXBjcFRyYW5zbWl0RWxhcHNlZCAgIHwgMTAgICAgICAgICAgICAgIHwKICAgICAg ICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgfAog ICAgICAgICAgICAgIHwgZG90M01wY3BSZWNlaXZlRWxhcHNlZCAgICB8IDEwICAgICAgICAgICAg ICB8CiAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAg ICAgICAgIHwKICAgICAgICAgICAgICB8IGRvdDNNcGNwUm91bmRUcmlwVGltZSAgICAgfCAxMDAg ICAgICAgICAgICAgfAogICAgICAgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0rCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFi bGUgMQoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKS2hlcm1vc2ggICAgICAgICAgICAgICAgIEV4cGly ZXMgQXVndXN0IDE0LCAyMDA2ICAgICAgICAgICAgICAgW1BhZ2UgMTRdCgwKSW50ZXJuZXQtRHJh ZnQgICAgICAgICAgIE1hbmFnZWQgT2JqZWN0cyBvZiBFUE9OICAgICAgICAgICBGZWJydWFyeSAy MDA2CgoKICAgIGF0IHRoZSBPTFQgaW4gd29ya2luZyBtb2RlIHRoZSBNUENQIGNvdHJvbCBvYmpl Y3RzIGFzc29jaWF0ZWQgd2l0aAogICAgICAgICAgICAgICAgICAgICAgICAgdGhlIHZpcnR1YWwg bGlua3MsIDQgcm93cwoKICAgKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rCiAgIHwgTVBDUCBjb250cm9sICAgfCBWYWx1 ZSAgICAgfCBWYWx1ZSAgICAgIHwgVmFsdWUgICAgICB8IFZhbHVlICAgICAgfAogICB8IE1JQiBv YmplY3QgICAgIHwgICAgICAgICAgIHwgICAgICAgICAgICB8ICAgICAgICAgICAgfCAgICAgICAg ICAgIHwKICAgKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0rCiAgIHwgaWZJbmRleCAgICAgICAgfCAxICAgICAgICAgfCAy ICAgICAgICAgIHwgMyAgICAgICAgICB8IDY1NTM1ICAgICAgfAogICB8ICAgICAgICAgICAgICAg IHwgICAgICAgICAgIHwgICAgICAgICAgICB8ICAgICAgICAgICAgfCAgICAgICAgICAgIHwKICAg fCBkb3QzTXBjcE9wZXJTdCB8IHRydWUgICAgICB8IHRydWUgICAgICAgfCB0cnVlICAgICAgIHwg dHJ1ZSAgICAgICB8CiAgIHwgYXR1cyAgICAgICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICAg IHwgICAgICAgICAgICB8ICAgICAgICAgICAgfAogICB8ICAgICAgICAgICAgICAgIHwgICAgICAg ICAgIHwgICAgICAgICAgICB8ICAgICAgICAgICAgfCAgICAgICAgICAgIHwKICAgfCBkb3QzTXBj cEFkbWluUyB8IHRydWUgICAgICB8IHRydWUgICAgICAgfCB0cnVlICAgICAgIHwgdHJ1ZSAgICAg ICB8CiAgIHwgdGF0ZSAgICAgICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICAgIHwgICAgICAg ICAgICB8ICAgICAgICAgICAgfAogICB8ICAgICAgICAgICAgICAgIHwgICAgICAgICAgIHwgICAg ICAgICAgICB8ICAgICAgICAgICAgfCAgICAgICAgICAgIHwKICAgfCBkb3QzTXBjcE1vZGUgICB8 IG9sdCAgICAgICB8IG9sdCAgICAgICAgfCBvbHQgICAgICAgIHwgb2x0ICAgICAgICB8CiAgIHwg ICAgICAgICAgICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICAgIHwgICAgICAgICAgICB8ICAg ICAgICAgICAgfAogICB8IGRvdDNNcGNwU3luY1RpIHwgMjUgICAgICAgIHwgMjUgICAgICAgICB8 IDI1ICAgICAgICAgfCAyNSAgICAgICAgIHwKICAgfCBtZSAgICAgICAgICAgICB8ICAgICAgICAg ICB8ICAgICAgICAgICAgfCAgICAgICAgICAgIHwgICAgICAgICAgICB8CiAgIHwgICAgICAgICAg ICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICAgIHwgICAgICAgICAgICB8ICAgICAgICAgICAg fAogICB8IGRvdDNNcGNwTGlua0lEIHwgMSAgICAgICAgIHwgMiAgICAgICAgICB8IDMgICAgICAg ICAgfCA2NTUzNSAgICAgIHwKICAgfCAgICAgICAgICAgICAgICB8ICAgICAgICAgICB8ICAgICAg ICAgICAgfCAgICAgICAgICAgIHwgICAgICAgICAgICB8CiAgIHwgZG90M01wY3BSZW1vdGUgfCBP TlUxX01BQ18gfCBPTlUyX01BQ19BIHwgT05VM19NQUNfQSB8IEJSQ1RfTUFDX0EgfAogICB8IE1B Q0FkZHJlc3MgICAgIHwgQWRkcmVzcyAgIHwgZGRyZXNzICAgICB8IGRkcmVzcyAgICAgfCBkZHJl c3MgICAgIHwKICAgfCAgICAgICAgICAgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgICAgfCAg ICAgICAgICAgIHwgICAgICAgICAgICB8CiAgIHwgZG90M01wY3BSZWdpc3QgfCByZWdpc3RlcmUg fCByZWdpc3RlcmVkIHwgcmVnaXN0ZXJlZCB8IHJlZ2lzdGVyZWQgfAogICB8IHJhdGlvblN0YXRl ICAgIHwgZCAgICAgICAgIHwgICAgICAgICAgICB8ICAgICAgICAgICAgfCAgICAgICAgICAgIHwK ICAgfCAgICAgICAgICAgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgICAgfCAgICAgICAgICAg IHwgICAgICAgICAgICB8CiAgIHwgZG90M01wY3BUcmFuc20gfCAxMCAgICAgICAgfCAxMCAgICAg ICAgIHwgMTAgICAgICAgICB8IDEwICAgICAgICAgfAogICB8IGl0RWxhcHNlZCAgICAgIHwgICAg ICAgICAgIHwgICAgICAgICAgICB8ICAgICAgICAgICAgfCAgICAgICAgICAgIHwKICAgfCAgICAg ICAgICAgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgICAgfCAgICAgICAgICAgIHwgICAgICAg ICAgICB8CiAgIHwgZG90M01wY3BSZWNlaXYgfCAxMCAgICAgICAgfCAxMCAgICAgICAgIHwgMTAg ICAgICAgICB8IDEwICAgICAgICAgfAogICB8IGVFbGFwc2VkICAgICAgIHwgICAgICAgICAgIHwg ICAgICAgICAgICB8ICAgICAgICAgICAgfCAgICAgICAgICAgIHwKICAgfCAgICAgICAgICAgICAg ICB8ICAgICAgICAgICB8ICAgICAgICAgICAgfCAgICAgICAgICAgIHwgICAgICAgICAgICB8CiAg IHwgZG90M01wY3BSb3VuZFQgfCAxMDAgICAgICAgfCA2MCAgICAgICAgIHwgMjAgICAgICAgICB8 IDAgICAgICAgICAgfAogICB8IHJpcFRpbWUgICAgICAgIHwgICAgICAgICAgIHwgICAgICAgICAg ICB8ICAgICAgICAgICAgfCAgICAgICAgICAgIHwKICAgKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rCgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgVGFibGUgMgoKICAgVGhlIGNyZWF0aW9uIG9mIHRoZSBy b3dzIGF0IHRoZSBPTlUgYW5kIGF0IHRoZSBPTFQsIGZvciB0aGUgT0xUCiAgIGludGVyZmFjZSBh bmQgdGhlIGJyb2FkY2FzdCB2aXJ0dWFsIGludGVyZmFjZSBpcyBkb25lIGF0CiAgIGluaXRpYWxp emF0aW9uLiAgVGhlIGNyZWF0aW9uIGFuZCBkZWxldGlvbiBvZiByb3dzIGF0IHRoZSBPTFQgZm9y IHRoZQogICB2aXJ0dWFsIGxpbmsgaW50ZXJmYWNlcyBpcyBkb25lIHdoZW4gdGhlIGxpbmsgaXMg ZXN0YWJsaXNoZWQgKE9OVQogICByZWdpc3RlcnMpIGFuZCB3aGVuIHRoZSBsaW5rIGlzIGRlbGV0 ZWQgKE9OVSBkZXJlZ2lzdGVycykuCgogICBBcyBhbiBleGFtcGxlLCBwcm92aWRlZCBiZWxvdyBh cmUgdGhlIHZhbHVlcyBmb3IgdGhlIE1QQ1AgY29udHJvbAogICB0YWJsZSBhZnRlciBpbml0aWFs aXphdGlvbjoKCgoKS2hlcm1vc2ggICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDE0LCAy MDA2ICAgICAgICAgICAgICAgW1BhZ2UgMTVdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgIE1h bmFnZWQgT2JqZWN0cyBvZiBFUE9OICAgICAgICAgICBGZWJydWFyeSAyMDA2CgoKICAgICAgICAg ICAgICAgICAgICAgQXQgT05VMSBpbiB3b3JraW5nIG1vZGUsIG9uZSByb3c6CgogICAgICAgICAg ICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKwogICAgICAg ICAgICAgICB8IE1QQ1AgY29udHJvbCBNSUIgb2JqZWN0ICAgfCBWYWx1ZSAgICAgICAgfAogICAg ICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKwog ICAgICAgICAgICAgICB8IGlmSW5kZXggICAgICAgICAgICAgICAgICAgfCAxICAgICAgICAgICAg fAogICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAg ICAgfAogICAgICAgICAgICAgICB8IGRvdDNNcGNwT3BlclN0YXR1cyAgICAgICAgfCB0cnVlICAg ICAgICAgfAogICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAg ICAgICAgICAgfAogICAgICAgICAgICAgICB8IGRvdDNNcGNwQWRtaW5TdGF0ZSAgICAgICAgfCB0 cnVlICAgICAgICAgfAogICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAgICAgICAgICAgICAgfAogICAgICAgICAgICAgICB8IGRvdDNNcGNwTW9kZSAgICAgICAgICAg ICAgfCBvbnUgICAgICAgICAgfAogICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgICAgICAgICAgICAgfAogICAgICAgICAgICAgICB8IGRvdDNNcGNwU3luY1RpbWUg ICAgICAgICAgfCAwICAgICAgICAgICAgfAogICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCAgICAgICAgICAgICAgfAogICAgICAgICAgICAgICB8IGRvdDNNcGNwTGlu a0lEICAgICAgICAgICAgfCAwICAgICAgICAgICAgfAogICAgICAgICAgICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgfAogICAgICAgICAgICAgICB8IGRvdDNN cGNwUmVtb3RlTUFDQWRkcmVzcyAgfCAwMCAgICAgICAgICAgfAogICAgICAgICAgICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgfAogICAgICAgICAgICAgICB8 IGRvdDNNcGNwUmVnaXN0cmF0aW9uU3RhdGUgfCB1bnJlZ2lzdGVyZWQgfAogICAgICAgICAgICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgfAogICAgICAgICAg ICAgICB8IGRvdDNNcGNwVHJhbnNtaXRFbGFwc2VkICAgfCAwICAgICAgICAgICAgfAogICAgICAg ICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgfAogICAg ICAgICAgICAgICB8IGRvdDNNcGNwUmVjZWl2ZUVsYXBzZWQgICAgfCAwICAgICAgICAgICAgfAog ICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAg fAogICAgICAgICAgICAgICB8IGRvdDNNcGNwUm91bmRUcmlwVGltZSAgICAgfCAwICAgICAgICAg ICAgfAogICAgICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tKwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRhYmxlIDMKCgoKCgoK CgoKCgoKCgoKCgoKCgoKCktoZXJtb3NoICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAx NCwgMjAwNiAgICAgICAgICAgICAgIFtQYWdlIDE2XQoMCkludGVybmV0LURyYWZ0ICAgICAgICAg ICBNYW5hZ2VkIE9iamVjdHMgb2YgRVBPTiAgICAgICAgICAgRmVicnVhcnkgMjAwNgoKCiAgICBh dCB0aGUgT0xUIGluIHdvcmtpbmcgbW9kZSB0aGUgTVBDUCBjb3Ryb2wgb2JqZWN0cyBhc3NvY2lh dGVkIHdpdGgKICAgICAgICAgICAgICAgICAgICAgICAgdGhlIHZpcnR1YWwgbGlua3MsIG9uZSBy b3c6CgogICAgICAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0rCiAgICAgICAgICAgICB8IE1QQ1AgY29udHJvbCBNSUIgb2JqZWN0ICAgfCBWYWx1 ZSAgICAgICAgICAgIHwKICAgICAgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tKwogICAgICAgICAgICAgfCBpZkluZGV4ICAgICAgICAgICAgICAg ICAgIHwgNjU1MzUgICAgICAgICAgICB8CiAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgICAgICAgICAgICAgICAgIHwKICAgICAgICAgICAgIHwgZG90M01wY3BPcGVy U3RhdHVzICAgICAgICB8IHRydWUgICAgICAgICAgICAgfAogICAgICAgICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICB8CiAgICAgICAgICAgICB8IGRv dDNNcGNwQWRtaW5TdGF0ZSAgICAgICAgfCB0cnVlICAgICAgICAgICAgIHwKICAgICAgICAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgfAogICAgICAg ICAgICAgfCBkb3QzTXBjcE1vZGUgICAgICAgICAgICAgIHwgb2x0ICAgICAgICAgICAgICB8CiAg ICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAg IHwKICAgICAgICAgICAgIHwgZG90M01wY3BTeW5jVGltZSAgICAgICAgICB8IDI1ICAgICAgICAg ICAgICAgfAogICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAg ICAgICAgICAgICB8CiAgICAgICAgICAgICB8IGRvdDNNcGNwTGlua0lEICAgICAgICAgICAgfCA2 NTUzNSAgICAgICAgICAgIHwKICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICB8ICAgICAgICAgICAgICAgICAgfAogICAgICAgICAgICAgfCBkb3QzTXBjcFJlbW90ZU1BQ0Fk ZHJlc3MgIHwgQlJDVF9NQUNfQWRkcmVzcyB8CiAgICAgICAgICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgIHwKICAgICAgICAgICAgIHwgZG90M01wY3BS ZWdpc3RyYXRpb25TdGF0ZSB8IHJlZ2lzdGVyZWQgICAgICAgfAogICAgICAgICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICB8CiAgICAgICAgICAgICB8 IGRvdDNNcGNwVHJhbnNtaXRFbGFwc2VkICAgfCAxMCAgICAgICAgICAgICAgIHwKICAgICAgICAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgfAogICAg ICAgICAgICAgfCBkb3QzTXBjcFJlY2VpdmVFbGFwc2VkICAgIHwgMTAwMDAwICAgICAgICAgICB8 CiAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAg ICAgIHwKICAgICAgICAgICAgIHwgZG90M01wY3BSb3VuZFRyaXBUaW1lICAgICB8IDAgICAgICAg ICAgICAgICAgfAogICAgICAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0rCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFibGUg NAoKICAgVGhlIGV4YW1wbGUgYWJvdmUgc2hvd3MgdGhlIE1QQ1AgY29udHJvbCBvYmplY3RzIHdo ZW4gMyBPTlVzIGFyZQogICByZWdpc3RlcmVkLiAgQ3JlYXRpb24gb2Ygcm93cyBmb3IgdGhlIElu dGVyZmFjZSwgTUFVIGFuZCBldGhlckxpa2UKICAgaW50ZXJmYWNlcyBNSUJzIGlzIHF1aXRlIHNp bWlsYXIuICBQbGVhc2Ugc2VlIHRoZSBleGFtcGxlIGluIHNlY3Rpb24KICAgMy4KCgoKCgoKCgoK CgoKCgoKCktoZXJtb3NoICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAxNCwgMjAwNiAg ICAgICAgICAgICAgIFtQYWdlIDE3XQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICBNYW5hZ2Vk IE9iamVjdHMgb2YgRVBPTiAgICAgICAgICAgRmVicnVhcnkgMjAwNgoKCjIuICBNSUIgc3RydWN0 dXJlCgogICBUaGlzIGRvY3VtZW50IGRlZmluZXMgdGhlIERPVDMgRVBPTiBNSUIgbW9kdWxlLiAg VGhlIERPVDMgRVBPTiBNSUIKICAgbW9kdWxlIGRlZmluZXMgdGhlIG9iamVjdHMgdXNlZCBmb3Ig Y29uZmlndXJhdGlvbiBhbmQgZGVzY3JpcHRpb24gb2YKICAgdGhlIFs4MDIuM2FoXSBQb2ludCB0 byBNdWx0aXBvaW50IChQMk1QKSBzZWN0aW9uLiAgVGhlc2UgTUlCIG1vZHVsZQogICBvYmplY3Rz IGFyZSBpbmNsdWRlZCBpbiBmb3VyIE1JQiBtb2R1bGUgZ3JvdXBzLgoKICAgVGhlIE11bHRpLVBv aW50IENvbnRyb2wgUHJvdG9jb2wgKE1QQ1ApIE1JQiBvYmplY3RzIC0gTUlCIG9iamVjdHMKICAg cmVsYXRlZCB0byBbODAyLjNhaF0gY2xhdXNlIDY0IE11bHRpIFBvaW50IENvbnRyb2wgUHJvdG9j b2wKICAgYXR0cmlidXRlcy4gIEluIHRoaXMgTUlCIG1vZHVsZSBncm91cDogVGhlIGRvdDNNcGNw Q29udHJvbFRhYmxlCiAgIGRlZmluZXMgdGhlIG9iamVjdHMgdXNlZCBmb3IgdGhlIGNvbmZpZ3Vy YXRpb24gYW5kIHN0YXR1cyBpbmRpY2F0aW9uLAogICB3aGljaCBhcmUgcGVyIGxvZ2ljYWwgbGlu aywgb2YgTVBDUCBsYXllciAoWzgwMi4zYWhdIE11bHRpLVBvaW50CiAgIENvbnRyb2wgUHJvdG9j b2wpIGNvbXBsaWFudCBpbnRlcmZhY2VzLiAgVGhlIGRvdDNNcGNwU3RhdFRhYmxlCiAgIGRlZmlu ZXMgdGhlIHN0YXRpc3RpY3Mgb2JqZWN0cywgd2hpY2ggYXJlIHBlciBsb2dpY2FsIGxpbmssIGZv ciBNUENQCiAgIGNvbXBsaWFudCBpbnRlcmZhY2VzLgoKICAgVGhlIE9NUEVtdWxhdGlvbiBNSUIg b2JqZWN0cyAtIE1JQiBtb2R1bGUgcmVsYXRlZCB0byBbODAyLjNhaF0gY2xhdXNlCiAgIDY1IHBv aW50IHRvIHBvaW50IGVtdWxhdGlvbiBhdHRyaWJ1dGVzLiAgSW4gdGhpcyBNSUIgbW9kdWxlIGdy b3VwOgogICBUaGUgZG90M09tcEVtdWxhdGlvblRhYmxlIGRlZmluZXMgdGhlIG9iamVjdHMgdXNl ZCBmb3IgdGhlCiAgIGNvbmZpZ3VyYXRpb25zIGFuZCBzdGF0dXMgaW5kaWNhdGlvbnMgd2hpY2gg YXJlIHBlciBsb2dpY2FsIGxpbmssIG9mCiAgIE9NUEVtdWxhdGlvbiBjb21wbGlhbnQgaW50ZXJm YWNlcy4gIFRoZSBkb3QzT21wRW11bGF0aW9uU3RhdFRhYmxlCiAgIGRlZmluZXMgdGhlIHN0YXRp c3RpY3Mgb2JqZWN0cywgd2hpY2ggYXJlIHBlciBsb2dpY2FsIGxpbmssIGZvcgogICBPTVBFbXVs YXRpb24gY29tcGxpYW50IGludGVyZmFjZXMuCgogICBUaGUgRkVDIE1JQiBtb2R1bGUgb2JqZWN0 cyAtIG1hbmFnZWQgb2JqZWN0IHJlbGF0ZWQgdG8gWzgwMi4zYWhdCiAgIGNsYXVzZSA2MCBhbmQg Y2xhdXNlIDY1IEVQT04gRkVDIGF0dHJpYnV0ZXMuICBUaGUgZG90M0Vwb25GZWNUYWJsZQogICBk ZWZpbmVzIHRoZSBvYmplY3RzIHVzZWQgZm9yIHRoZSBjb25maWd1cmF0aW9ucyBhbmQgc3RhdHVz CiAgIGluZGljYXRpb25zLCB3aGljaCBhcmUgcGVyIGxvZ2ljYWwgbGluaywgb2YgRkVDIEVQT04g Y29tcGxpYW50CiAgIGludGVyZmFjZXMuCgoKICAgVGhlIEVQT04gZXh0ZW5kZWQgcGFja2FnZSBN SUIgb2JqZWN0cyBkZWZpbmluZyB0aGUgb2JqZWN0cyB1c2VkIGZvcgogICBjb25maWd1cmF0aW9u IGFuZCBkZXNjcmlwdGlvbiBvZiBtYW5hZ2VtZW50IG9iamVjdHMgZm9yIGV4dGVuZGVkCiAgIGNh cGFiaWxpdGllcyBvZiB0aGUgRVBPTiBpbnRlcmZhY2VzLiAgVGhlIGRvdDNFeHRQa2dDb250cm9s VGFibGUKICAgZGVmaW5lcyB0aGUgZXh0ZW5kZWQgcGFja2FnZSBvYmplY3RzLCB3aGljaCBhcmUg cGVyIGxvZ2ljYWwgbGluaywKICAgdXNlZCBmb3IgdGhlIGNvbmZpZ3VyYXRpb24gYW5kIHN0YXR1 cyBpbmRpY2F0aW9uIG9mIHRoZSBFUE9OCiAgIGludGVyZmFjZXMuICBUaGUgZG90M0V4dFBrZ1F1 ZXVlVGFibGUgZGVmaW5lcyB0aGUgZXh0ZW5kZWQgcGFja2FnZQogICBvYmplY3RzLCB3aGljaCBh cmUgcGVyIGxvZ2ljYWwgbGluaywgYW5kIHBlciBSRVBPUlQgcXVldWUgdXNlZCBmb3IKICAgdGhl IGNvbmZpZ3VyYXRpb24gYW5kIHN0YXR1cyBpbmRpY2F0aW9uIG9mIHRoZSBPTlUgcXVldWVzIHJl cG9ydGVkIGF0CiAgIHRoZSBNUENQIFJFUE9SVCBtZXNzYWdlIG9mIHRoZSBFUE9OIGludGVyZmFj ZXMuICBUaGUKICAgZG90M0V4dFBrZ1F1ZXVlU2V0c1RhYmxlIGRlZmluZXMgdGhlIGV4dGVuZGVk IHBhY2thZ2Ugb2JqZWN0cywgd2hpY2gKICAgYXJlIHBlciBsb2dpY2FsIGxpbmsgcGVyIFJFUE9S VCBxdWV1ZSwgYW5kIHBlciBxdWV1ZV9zZXQgdXNlZCBmb3IgdGhlCiAgIGNvbmZpZ3VyYXRpb24g YW5kIHN0YXR1cyBpbmRpY2F0aW9uIG9mIHRoZSBPTlUgcXVldWVfc2V0cyByZXBvcnRlZCBhdAog ICB0aGUgTVBDUCBSRVBPUlQgbWVzc2FnZSBvZiB0aGUgRVBPTiBpbnRlcmZhY2VzLiAgVGhlCiAg IGRvdDNFeHRQa2dPcHRJZlRhYmxlIGRlZmluZXMgdGhlIGV4dGVuZGVkIHBhY2thZ2Ugb2JqZWN0 cywgd2hpY2ggYXJlCiAgIHBlciBsb2dpY2FsIGxpbmssIHVzZWQgZm9yIHRoZSBjb250cm9sIGFu ZCBzdGF0dXMgaW5kaWNhdGlvbiBvZiB0aGUKICAgb3B0aWNhbCBpbnRlcmZhY2VzIG9mIHRoZSBF UE9OIGludGVyZmFjZXMuCgoKCgpLaGVybW9zaCAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1 c3QgMTQsIDIwMDYgICAgICAgICAgICAgICBbUGFnZSAxOF0KDApJbnRlcm5ldC1EcmFmdCAgICAg ICAgICAgTWFuYWdlZCBPYmplY3RzIG9mIEVQT04gICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYKCgoz LiAgUmVsYXRpb24gdG8gb3RoZXIgTUlCIE1vZHVsZXMKCjMuMS4gIFJlbGF0aW9uIHRvIHRoZSBJ bnRlcmZhY2VzIE1JQiBhbmQgRXRoZXJuZXQtbGlrZSBJbnRlcmZhY2VzIE1JQgoKICAgRVBPTiBp bnRlcmZhY2VzIGFyZSBhIHR5cGUgb2YgRXRoZXItbGlrZSBpbnRlcmZhY2UuICBUaGlzIG1vZHVs ZQogICBleHRlbmRzIHRoZSBvYmplY3RzIG9mIHRoZSBFaHRlci1saWtlIGludGVyZmFjZXMgbWFu YWdlbWVudCBmb3IgdGhlCiAgIEVQT04gdHlwZSBpbnRlcmZhY2VzLiAgVGh1cywgZWFjaCBtYW5h Z2VkIEVQT04gaW50ZXJmYWNlIHdvdWxkIGhhdmUgYQogICBjb3JyZXNwb25kaW5nIGVudHJ5IGlu IHRoZSBtYW5kYXRvcnkgdGFibGVzIG9mIHRoZSBFdGhlci1saWtlIE1JQgogICBtb2R1bGUgZm91 bmQgaW4gW1JGQzM2MzVdLCBhbmQgbGlrZXdpc2UgaW4gdGhlIHRhYmxlcyBmcm9tIHRoZQogICBJ bnRlcmZhY2UgTUlCIG1vZHVsZSBmb3VuZCBpbiBbUkZDMjg2M10uICBBbHNvIGVhY2ggbWFuYWdl ZCB2aXJ0dWFsCiAgIEVQT04gaW50ZXJmYWNlIGRlZmluZWQgYnkgdGhlIHZpcnR1YWwgbGluayBh dCB0aGUgT0xUIHdvdWxkIGhhdmUgYQogICBjb3JyZXNwb25kaW5nIGVudHJ5IGluIHRoZSBtYW5k YXRvcnkgdGFibGVzIG9mIHRoZSBFdGhlci1saWtlIE1JQgogICBtb2R1bGUgZm91bmQgaW4gW1JG QzM2MzVdLCBhbmQgbGlrZXdpc2UgaW4gdGhlIHRhYmxlcyBmcm9tIHRoZQogICBJbnRlcmZhY2Ug TUlCIG1vZHVsZSBmb3VuZCBpbiBbUkZDMjg2M10gd2l0aCBhIGRlZGljYXRlZCBpZkluZGV4LgoK ICAgVGhlcmUgaXMgbm8gcmVwbGljYXRpb24gb2YgdGhlIG9iamVjdHMgZnJvbSB0aGVzZSBSRkNz LCBzbyBmb3IKICAgaW5zdGFuY2UgdGhlIGRvY3VtZW50IGlzIGRlZmluaW5nIGRvdDNNcGNwUmVt b3RlTUFDQWRkcmVzcyBvbmx5IHdoaWxlCiAgIGFzc3VtaW5nIHRoZSBsb2NhbCBNQUMgYWRkcmVz cyBhdHRyaWJ1dGUgaXMgYWxyZWFkeSBkZWZpbmVkIGluCiAgIFtSRkMzNjM1XQoKICAgSW50ZXJm YWNlIEluZGV4ZXMgYXMgc3BlY2lmaWVkIGluIFtSRkMyODYzXSBhcmUgdXNlZCBpbiB0aGVzZSBN SUIKICAgTW9kdWxlcy4gIFRoZSBkZXNjcmlwdGlvbnMgb2YgdGhlIGlmSW5kZXhlcyBkZW5vdGUg d2hpY2ggaWZJbmRleCBpcwogICBiZWluZyB1c2VkLiAgVGhlIHVzZSBvZiBpZkluZGV4IGlzIGZv ciBhY3R1YWwgZXhpc3RpbmcgY29ubmVjdGlvbnMKICAgYW5kIGZvciB0aGUgdmlydHVhbCBsaW5r cyBhdCB0aGUgT0xULiAgVGhlIE9MVCBpbnRlcmZhY2UgYW5kIHRoZQogICB2aXJ0dWFsIGxpbmsg aW50ZXJmYWNlcyBhcmUgc3RhY2tlZCB1c2luZyB0aGUgaWZTdGFjayB0YWJsZSBzcGVjaWZpZWQK ICAgYXQgW1JGQzI4NjNdIGFuZCB0aGUgaWZJbnZTdGFjayBkZWZpbmVkIGluIFtSRkMyODY0XS4g IEF0IHRoZSBPTFQgdGhlCiAgIE9MVCBpbnRlcmZhY2UgYW5kIHRoZSB2aXJ0dWFsIGxpbmtzIGFz c29jaWF0ZWQgd2l0aCBpdCBhcmUgc3RhY2tlZCBhcwogICB0aGUgT0xUIGludGVyZmFjZSBpcyB0 aGUgaGlnaGVyIGxheWVyIG9mIGFsbCBvdGhlciBpbnRlcmZhY2VzIHJlbGF0ZWQKICAgdG8gdGhl IHZpcnR1YWwgbGlua3MuCgogICBJbiB0aGlzIE1JQiBtb2R1bGUgdGhlIGludGVyZmFjZSByZWZl cnJlZCB0byBpcyB0aGUgT0xUIGludGVyZmFjZSBhbmQKICAgdGhlIHN1Yi1sYXllcnMgZGVmaW5l ZCBpbiB0aGUgWzgwMi4zYWhdIGZvciB0aGUgT0xUIGFyZSBhbHNvIGRpdmlkZWQKICAgaW50byB2 aXJ0dWFsIGxpbmtzLiAgVGhlcmVmb3JlIHRoZSBpZkluZGV4cyB1c2VkIGluIHRoZSBNSUIgZG9j dW1lbnQKICAgZm9yIHRoZSBPTFQgYXJlIHRoZSBpZkluZGV4IG9mIHRoZSBPTFQgYW5kIHRoZSBp ZkluZGV4ZXMgb2YgdGhlCiAgIHZpcnR1YWwgbGlua3MuICBJbmZvcm1hdGlvbiBmb3IgZWFjaCBM TElEIGluIHRoZSB0YWJsZXMgaXMgaW5kZXhlZCBieQogICB0aGUgaW50ZXJmYWNlIGluZGV4IGZv ciBlYWNoIHRhYmxlLiAgVGhpcyBpbmRleCBpcyBjb3JyZXNwb25kaW5nIHRvCiAgIHRoZSB2aXJ0 dWFsIGxpbmsgaW50ZXJmYWNlcyBpZkluZGV4cy4KCiAgIE9ubHkgdGhlIE1BQyBhZGRyZXNzIGF0 IHRoZSBPTFQgaXMgbm90IGR1cGxpY2F0ZWQgYXMgdGhlIHBoeXNpY2FsCiAgIGludGVyZmFjZSBp cyB0aGUgc2FtZS4gIEl0IGlzIHNwZWNpZmllZCBpbiB0aGUgWzgwMi4zYWhdIHNlY3Rpb24KICAg NjQuMS4yLiAgQXQgdGhlIHRhYmxlcyB0aGlzIGVudHJ5IGlzIGR1cGxpY2F0ZWQgZm9yIHRoZSB2 aXJ0dWFsCiAgIGludGVyZmFjZXMuCgogICBJbXBsZW1lbnRpbmcgdGhpcyBtb2R1bGUgdGhlcmVm b3JlIE1VU1QgcmVxdWlyZSBpbXBsZW1lbnRhdGlvbiBvZgogICBJbnRlcmZhY2VzIE1JQiBtb2R1 bGUgW1JGQzI4NjNdIGFuZCBFdGhlcm5ldC1saWtlIEludGVyZmFjZXMgTUlCCiAgIG1vZHVsZSBb UkZDMzYzNV0uCgogICBBcyBhbiBleGFtcGxlIGhlcmUgYXJlIHRoZSB2YWx1ZXMgZm9yIHRoZSBJ bnRlcmZhY2UgTUlCIGZvciBhbiBPTFQKCgoKS2hlcm1vc2ggICAgICAgICAgICAgICAgIEV4cGly ZXMgQXVndXN0IDE0LCAyMDA2ICAgICAgICAgICAgICAgW1BhZ2UgMTldCgwKSW50ZXJuZXQtRHJh ZnQgICAgICAgICAgIE1hbmFnZWQgT2JqZWN0cyBvZiBFUE9OICAgICAgICAgICBGZWJydWFyeSAy MDA2CgoKICAgd2l0aCAzIE9OVXMgcmVnaXN0ZXJlZDoKCiAgICAgICAgICAgICAgICAgICAgICAg IEF0IHRoZSBPTlUgaW4gd29ya2luZyBtb2RlOgoKICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogICAgICAgfCBJbnRlcmZh Y2UgTUlCIG9iamVjdCB8IFZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAg ICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSsKICAgICAgIHwgaWZJbmRleCAgICAgICAgICAgICAgfCAxICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfAogICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgICB8IGlmRGVzY3IgICAgICAgICAgICAg IHwgIkkvRiBkZXNjcmlwdGlvbiIgICAgICAgICAgICAgICAgIHwKICAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICAg fCBpZlR5cGUgICAgICAgICAgICAgICB8IGdpZ2FiaXRFdGhlcm5ldCAoMTE3KSAxMDAwYmFzZS1Q eCB8CiAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwKICAgICAgIHwgaWZNdHUgICAgICAgICAgICAgICAgfCBNVFUgc2l6ZSAo MTUyMikgICAgICAgICAgICAgICAgICAgfAogICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgICB8IGlmU3BlZWQgICAg ICAgICAgICAgIHwgMTAwMDAwMDAwMCAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fAogICAgICAgfCBpZlBoeXNBZGRyZXNzICAgICAgICB8IE9OVV9NQUNfQWRkcmVzcyAgICAgICAg ICAgICAgICAgICB8CiAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgIHwgaWZBZG1pblN0YXR1cyAgICAgICAgfCB1 cCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgICB8IGlm T3BlclN0YXR1cyAgICAgICAgIHwgVXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwK ICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfAogICAgICAgfCBpZkxhc3RDaGFuZ2UgICAgICAgICB8IHVwX3RpbWUgICAgICAg ICAgICAgICAgICAgICAgICAgICB8CiAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgIHwgaWZJbk9jdGV0cyAgICAg ICAgICAgfCBPTlUxX29jdGV0c19udW1iZXIgICAgICAgICAgICAgICAgfAogICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAg ICAgICB8IGlmSW5VY2FzdFBrdHMgICAgICAgIHwgT05VMV91bmljYXN0X2ZyYW1lX251bWJlciAg ICAgICAgIHwKICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfAogICAgICAgfCBpZkluTlVjYXN0UGt0cyAgICAgICB8IE9OVTFf bm9uX3VuaWNhc3RfZnJhbWVfbnVtYmVyICAgICB8CiAgICAgICB8ICAgICAgICAgICAgICAgICAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgIHwgaWZJbkRp c2NhcmRzICAgICAgICAgfCBPTlUxX2Rpc2NhcmRfZnJhbWVfbnVtYmVyICAgICAgICAgfAogICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8CiAgICAgICB8IGlmSW5FcnJvcnMgICAgICAgICAgIHwgT05VMV9lcnJvcl9mcmFtZV9u dW1iZXIgICAgICAgICAgIHwKICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICAgfCBpZkluVW5rbm93blByb3RvcyAg ICB8IE9OVTFfdW5rbm93bl9mcmFtZV9udW1iZXIgICAgICAgICB8CiAgICAgICB8ICAgICAgICAg ICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAg IHwgaWZPdXRPY3RldHMgICAgICAgICAgfCBPTlUxX29jdGV0c19udW1iZXIgICAgICAgICAgICAg ICAgfAogICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8CiAgICAgICB8IGlmT3V0VWNhc3RQa3RzICAgICAgIHwgT05VMV91bmlj YXN0X2ZyYW1lX251bWJlciAgICAgICAgIHwKICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICAgfCBpZk91dE5VY2Fz dFBrdHMgICAgICB8IE9OVTFfbm9uX3VuaWNhc3RfZnJhbWVfbnVtYmVyICAgICB8CiAgICAgICB8 ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwKICAgICAgIHwgaWZPdXREaXNjYXJkcyAgICAgICAgfCBPTlUxX2Rpc2NhcmRfZnJhbWVfbnVt YmVyICAgICAgICAgfAogICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgICB8IGlmT3V0RXJyb3JzICAgICAgICAgIHwg T05VMV9lcnJvcl9mcmFtZV9udW1iZXIgICAgICAgICAgIHwKICAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAoKCgoKS2hlcm1v c2ggICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDE0LCAyMDA2ICAgICAgICAgICAgICAg W1BhZ2UgMjBdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgIE1hbmFnZWQgT2JqZWN0cyBvZiBF UE9OICAgICAgICAgICBGZWJydWFyeSAyMDA2CgoKICAgICAgIHwgaWZPdXRRTGVuICAgICAgICAg ICAgfCBPTlUxX3F1ZXVlX2ZyYW1lX251bWJlciAgICAgICAgICAgfAogICAgICAgKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFibGUgNQoKICAgYXQgdGhlIE9MVCBpbiB3 b3JraW5nIG1vZGUgdGhlIGludGVyZmFjZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSB2aXJ0dWFsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5rczoKCiAgICstLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKwog ICB8IEludGVyZmFjIHwgVmFsdWUgICAgICAgfCBWYWx1ZSAgICAgICB8IFZhbHVlICAgICAgIHwg VmFsdWUgICAgICAgIHwKICAgfCBlTUlCICAgICB8ICAgICAgICAgICAgIHwgICAgICAgICAgICAg fCAgICAgICAgICAgICB8ICAgICAgICAgICAgICB8CiAgIHwgIG9iamVjdCAgfCAgICAgICAgICAg ICB8ICAgICAgICAgICAgIHwgICAgICAgICAgICAgfCAgICAgICAgICAgICAgfAogICArLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLSsKICAgfCBpZkluZGV4ICB8IDEgICAgICAgICAgIHwgMiAgICAgICAgICAgfCAzICAgICAg ICAgICB8IDY1NTM1ICAgICAgICB8CiAgIHwgICAgICAgICAgfCAgICAgICAgICAgICB8ICAgICAg ICAgICAgIHwgICAgICAgICAgICAgfCAgICAgICAgICAgICAgfAogICB8IGlmRGVzY3IgIHwgIkkv RmRlc2NyaXAgfCAiSS9GZGVzY3JpcCB8ICJJL0ZkZXNjcmlwIHwgIkkvRmRlc2NyaXB0IHwKICAg fCAgICAgICAgICB8IHRpb24iICAgICAgIHwgdGlvbiIgICAgICAgfCB0aW9uIiAgICAgICB8IGlv biIgICAgICAgICB8CiAgIHwgICAgICAgICAgfCAgICAgICAgICAgICB8ICAgICAgICAgICAgIHwg ICAgICAgICAgICAgfCAgICAgICAgICAgICAgfAogICB8IGlmVHlwZSAgIHwgZ2lnYWJpdEV0aGUg fCBnaWdhYml0RXRoZSB8IGdpZ2FiaXRFdGhlIHwgZ2lnYWJpdEV0aGVyIHwKICAgfCAgICAgICAg ICB8IHJuZXQoMTE3KSAgIHwgcm5ldCgxMTcpICAgfCBybmV0KDExNykgICB8IG5ldCgxMTcpICAg ICB8CiAgIHwgICAgICAgICAgfCAgICAgICAgICAgICB8ICAgICAgICAgICAgIHwgICAgICAgICAg ICAgfCAgICAgICAgICAgICAgfAogICB8IGlmTXR1ICAgIHwgTVRVc2l6ZSgxNTIgfCBNVFVzaXpl KDE1MiB8IE1UVXNpemUoMTUyIHwgTVRVc2l6ZSgxNTIyIHwKICAgfCAgICAgICAgICB8IDIpICAg ICAgICAgIHwgMikgICAgICAgICAgfCAyKSAgICAgICAgICB8ICkgICAgICAgICAgICB8CiAgIHwg ICAgICAgICAgfCAgICAgICAgICAgICB8ICAgICAgICAgICAgIHwgICAgICAgICAgICAgfCAgICAg ICAgICAgICAgfAogICB8IGlmU3BlZWQgIHwgMTAwMDAwMDAwMCAgfCAxMDAwMDAwMDAwICB8IDEw MDAwMDAwMDAgIHwgMTAwMDAwMDAwMCAgIHwKICAgfCAgICAgICAgICB8ICAgICAgICAgICAgIHwg ICAgICAgICAgICAgfCAgICAgICAgICAgICB8ICAgICAgICAgICAgICB8CiAgIHwgaWZQaHlzQWQg fCBPTFRfTUFDX0FkZCB8IE9MVF9NQUNfQWRkIHwgT0xUX01BQ19BZGQgfCBPTFRfTUFDX0FkZHIg fAogICB8IGRyZXNzICAgIHwgcmVzcyAgICAgICAgfCByZXNzICAgICAgICB8IHJlc3MgICAgICAg IHwgZXNzICAgICAgICAgIHwKICAgfCAgICAgICAgICB8ICAgICAgICAgICAgIHwgICAgICAgICAg ICAgfCAgICAgICAgICAgICB8ICAgICAgICAgICAgICB8CiAgIHwgaWZBZG1pblMgfCB1cCAgICAg ICAgICB8IHVwICAgICAgICAgIHwgdXAgICAgICAgICAgfCB1cCAgICAgICAgICAgfAogICB8IHRh dHVzICAgIHwgICAgICAgICAgICAgfCAgICAgICAgICAgICB8ICAgICAgICAgICAgIHwgICAgICAg ICAgICAgIHwKICAgfCAgICAgICAgICB8ICAgICAgICAgICAgIHwgICAgICAgICAgICAgfCAgICAg ICAgICAgICB8ICAgICAgICAgICAgICB8CiAgIHwgaWZPcGVyU3QgfCBVcCAgICAgICAgICB8IFVw ICAgICAgICAgIHwgVXAgICAgICAgICAgfCBVcCAgICAgICAgICAgfAogICB8IGF0dXMgICAgIHwg ICAgICAgICAgICAgfCAgICAgICAgICAgICB8ICAgICAgICAgICAgIHwgICAgICAgICAgICAgIHwK ICAgfCAgICAgICAgICB8ICAgICAgICAgICAgIHwgICAgICAgICAgICAgfCAgICAgICAgICAgICB8 ICAgICAgICAgICAgICB8CiAgIHwgaWZMYXN0Q2ggfCBPTlUxX3VwX3RpbSB8IE9OVTJfdXBfdGlt IHwgT05VM191cF90aW0gfCB1cF90aW1lICAgICAgfAogICB8IGFuZ2UgICAgIHwgZSAgICAgICAg ICAgfCBlICAgICAgICAgICB8IGUgICAgICAgICAgIHwgICAgICAgICAgICAgIHwKICAgfCAgICAg ICAgICB8ICAgICAgICAgICAgIHwgICAgICAgICAgICAgfCAgICAgICAgICAgICB8ICAgICAgICAg ICAgICB8CiAgIHwgaWZJbk9jdGUgfCBPTlUxX29jdGV0cyB8IE9OVTJfb2N0ZXRzIHwgT05VM19v Y3RldHMgfCBCUkNUX29jdGV0c18gfAogICB8IHRzICAgICAgIHwgX251bWJlciAgICAgfCBfbnVt YmVyICAgICB8IF9udW1iZXIgICAgIHwgbnVtYmVyICAgICAgIHwKICAgfCAgICAgICAgICB8ICAg ICAgICAgICAgIHwgICAgICAgICAgICAgfCAgICAgICAgICAgICB8ICAgICAgICAgICAgICB8CiAg IHwgaWZJblVjYXMgfCBPTlUxX3VuaWNfZiB8IE9OVTJfdW5pY19mIHwgT05VM191bmljX2YgfCBC UkNUX3VuaWNfZnIgfAogICB8IHRQa3RzICAgIHwgcmFtZV9udW0gICAgfCByYW1lX251bSAgICB8 IHJhbWVfbnVtICAgIHwgYW1lX251bSAgICAgIHwKICAgfCAgICAgICAgICB8ICAgICAgICAgICAg IHwgICAgICAgICAgICAgfCAgICAgICAgICAgICB8ICAgICAgICAgICAgICB8CiAgIHwgaWZJbk5V Y2EgfCBPTlUxX25vbl91biB8IE9OVTJfbm9uX3VuIHwgT05VM19ub25fdW4gfCBCUkNUX25vbl91 bmkgfAogICB8IHN0UGt0cyAgIHwgaWNfZnJhbWVfbnUgfCBpY19mcmFtZV9udSB8IGljX2ZyYW1l X251IHwgY19mcmFtZV9udW0gIHwKICAgfCAgICAgICAgICB8IG0gICAgICAgICAgIHwgbSAgICAg ICAgICAgfCBtICAgICAgICAgICB8ICAgICAgICAgICAgICB8CiAgIHwgICAgICAgICAgfCAgICAg ICAgICAgICB8ICAgICAgICAgICAgIHwgICAgICAgICAgICAgfCAgICAgICAgICAgICAgfAoKCgpL aGVybW9zaCAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMTQsIDIwMDYgICAgICAgICAg ICAgICBbUGFnZSAyMV0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgTWFuYWdlZCBPYmplY3Rz IG9mIEVQT04gICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYKCgogICB8IGlmSW5EaXNjIHwgT05VMV9k aXNjX2YgfCBPTlUyX2Rpc2NfZiB8IE9OVTNfZGlzY19mIHwgQlJDVF9kaXNjX2ZyIHwKICAgfCBh cmRzICAgICB8IHJhbWVfbnVtICAgIHwgcmFtZV9udW0gICAgfCByYW1lX251bSAgICB8IGFtZV9u dW1yICAgICB8CiAgIHwgICAgICAgICAgfCAgICAgICAgICAgICB8ICAgICAgICAgICAgIHwgICAg ICAgICAgICAgfCAgICAgICAgICAgICAgfAogICB8IGlmSW5FcnJvIHwgT05VMV9lcnJfZnIgfCBP TlUyX2Vycl9mciB8IE9OVTNfZXJyX2ZyIHwgQlJDVF9lcnJfZnJhIHwKICAgfCBycyAgICAgICB8 IGFtZV9udW0gICAgIHwgYW1lX251bSAgICAgfCBhbWVfbnVtICAgICB8IG1lX251bSAgICAgICB8 CiAgIHwgICAgICAgICAgfCAgICAgICAgICAgICB8ICAgICAgICAgICAgIHwgICAgICAgICAgICAg fCAgICAgICAgICAgICAgfAogICB8IGlmSW5VbmtuIHwgT05VMV91bmtud18gfCBPTlUyX3Vua253 XyB8IE9OVTNfdW5rbndfIHwgQlJDVF91bmtud19mIHwKICAgfCBvd25Qcm90byB8IGZyYW1lX251 bSAgIHwgZnJhbWVfbnVtICAgfCBmcmFtZV9udW0gICB8IHJhbWVfbnVtICAgICB8CiAgIHwgcyAg ICAgICAgfCAgICAgICAgICAgICB8ICAgICAgICAgICAgIHwgICAgICAgICAgICAgfCAgICAgICAg ICAgICAgfAogICB8ICAgICAgICAgIHwgICAgICAgICAgICAgfCAgICAgICAgICAgICB8ICAgICAg ICAgICAgIHwgICAgICAgICAgICAgIHwKICAgfCBpZk91dE9jdCB8IE9OVTFfb2N0ZXRzIHwgT05V Ml9vY3RldHMgfCBPTlUzX29jdGV0cyB8IEJSQ1Rfb2N0ZXRzXyB8CiAgIHwgZXRzICAgICAgfCBf bnVtYmVyICAgICB8IF9udW1iZXIgICAgIHwgX251bWJlciAgICAgfCBudW1iZXIgICAgICAgfAog ICB8ICAgICAgICAgIHwgICAgICAgICAgICAgfCAgICAgICAgICAgICB8ICAgICAgICAgICAgIHwg ICAgICAgICAgICAgIHwKICAgfCBpZk91dFVjYSB8IE9OVTFfdW5pY19mIHwgT05VMl91bmljX2Yg fCBPTlUzX3VuaWNfZiB8IEJSQ1RfdW5pY19mciB8CiAgIHwgc3RQa3RzICAgfCByYW1lX251bSAg ICB8IHJhbWVfbnVtICAgIHwgcmFtZV9udW0gICAgfCBhbWVfbnVtICAgICAgfAogICB8ICAgICAg ICAgIHwgICAgICAgICAgICAgfCAgICAgICAgICAgICB8ICAgICAgICAgICAgIHwgICAgICAgICAg ICAgIHwKICAgfCBpZk91dE5VYyB8IE9OVTFfbm9uX3VuIHwgT05VMl9ub25fdW4gfCBPTlUzX25v bl91biB8IEJSQ1Rfbm9uX3VuaSB8CiAgIHwgYXN0UGt0cyAgfCBpY19mcmFtZV9udSB8IGljX2Zy YW1lX251IHwgaWNfZnJhbWVfbnUgfCBjX2ZyYW1lX251bSAgfAogICB8ICAgICAgICAgIHwgbSAg ICAgICAgICAgfCBtICAgICAgICAgICB8IG0gICAgICAgICAgIHwgICAgICAgICAgICAgIHwKICAg fCAgICAgICAgICB8ICAgICAgICAgICAgIHwgICAgICAgICAgICAgfCAgICAgICAgICAgICB8ICAg ICAgICAgICAgICB8CiAgIHwgaWZPdXREaXMgfCBPTlUxX2Rpc2NfZiB8IE9OVTJfZGlzY19mIHwg T05VM19kaXNjX2YgfCBCUkNUX2Rpc2NfZnIgfAogICB8IGNhcmRzICAgIHwgcmFtZV9udW0gICAg fCByYW1lX251bSAgICB8IHJhbWVfbnVtICAgIHwgYW1lX251bSAgICAgIHwKICAgfCAgICAgICAg ICB8ICAgICAgICAgICAgIHwgICAgICAgICAgICAgfCAgICAgICAgICAgICB8ICAgICAgICAgICAg ICB8CiAgIHwgaWZPdXRFcnIgfCBPTlUxX2Vycl9mciB8IE9OVTJfZXJyX2ZyIHwgT05VM19lcnJf ZnIgfCBCUkNUX2Vycl9mcmEgfAogICB8IG9ycyAgICAgIHwgYW1lX251bSAgICAgfCBhbWVfbnVt ICAgICB8IGFtZV9udW0gICAgIHwgbWVfbnVtICAgICAgIHwKICAgfCAgICAgICAgICB8ICAgICAg ICAgICAgIHwgICAgICAgICAgICAgfCAgICAgICAgICAgICB8ICAgICAgICAgICAgICB8CiAgIHwg aWZPdXRRTGUgfCBPTlUxX3F1ZXVlXyB8IE9OVTJfcXVldWVfIHwgT05VM19xdWV1ZV8gfCBCUkN0 X3F1ZXVlX2YgfAogICB8IG4gICAgICAgIHwgZnJhbWVfbnVtICAgfCBmcmFtZV9udW0gICB8IGZy YW1lX251bSAgIHwgcmFtZV9udW0gICAgIHwKICAgKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rCgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgVGFibGUgNgoKICAgICAgICAgICAgICAgICAgICAgICAgICBB bmQgdGhlIE9MVCBpbnRlcmZhY2U6CgogICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiAgICAgICB8IEludGVyZmFjZSBNSUIg b2JqZWN0IHwgVmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgICstLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwog ICAgICAgfCBpZkluZGV4ICAgICAgICAgICAgICB8IDEwMDAwMCAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8CiAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwKICAgICAgIHwgaWZEZXNjciAgICAgICAgICAgICAgfCAiSS9G IGRlc2NyaXB0aW9uIiAgICAgICAgICAgICAgICAgfAogICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgICB8IGlmVHlw ZSAgICAgICAgICAgICAgIHwgZ2lnYWJpdEV0aGVybmV0ICgxMTcpIDEwMDBiYXNlLVB4IHwKICAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfAogICAgICAgfCBpZk10dSAgICAgICAgICAgICAgICB8IE1UVSBzaXplICgxNTIyKSAg ICAgICAgICAgICAgICAgICB8CiAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgIHwgaWZTcGVlZCAgICAgICAgICAg ICAgfCAxMDAwMDAwMDAwICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAg ICB8IGlmUGh5c0FkZHJlc3MgICAgICAgIHwgT0xUX01BQ19BZGRyZXNzICAgICAgICAgICAgICAg ICAgIHwKCgoKS2hlcm1vc2ggICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDE0LCAyMDA2 ICAgICAgICAgICAgICAgW1BhZ2UgMjJdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgIE1hbmFn ZWQgT2JqZWN0cyBvZiBFUE9OICAgICAgICAgICBGZWJydWFyeSAyMDA2CgoKICAgICAgIHwgaWZB ZG1pblN0YXR1cyAgICAgICAgfCB1cCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAog ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8CiAgICAgICB8IGlmT3BlclN0YXR1cyAgICAgICAgIHwgVXAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwKICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICAgfCBpZkxhc3RDaGFuZ2UgICAg ICAgICB8IE9MVHVwX3RpbWUgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgICB8ICAgICAg ICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAg ICAgIHwgaWZJbk9jdGV0cyAgICAgICAgICAgfCBPTFRfb2N0ZXRzX251bWJlciAgICAgICAgICAg ICAgICAgfAogICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8CiAgICAgICB8IGlmSW5VY2FzdFBrdHMgICAgICAgIHwgT0xUX3Vu aWNhc3RfZnJhbWVfbnVtYmVyICAgICAgICAgIHwKICAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICAgfCBpZkluTlVj YXN0UGt0cyAgICAgICB8IE9MVF9ub25fdW5pY2FzdF9mcmFtZV9udW1iZXIgICAgICB8CiAgICAg ICB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwKICAgICAgIHwgaWZJbkRpc2NhcmRzICAgICAgICAgfCBPTFRfZGlzY2FyZF9mcmFtZV9u dW1iZXIgICAgICAgICAgfAogICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgICB8IGlmSW5FcnJvcnMgICAgICAgICAg IHwgT0xUX2Vycm9yX2ZyYW1lX251bWJlciAgICAgICAgICAgIHwKICAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICAg fCBpZkluVW5rbm93blByb3RvcyAgICB8IE9MVF91bmtub3duX2ZyYW1lX251bWJlciAgICAgICAg ICB8CiAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwKICAgICAgIHwgaWZPdXRPY3RldHMgICAgICAgICAgfCBPTFRfb2N0ZXRz X251bWJlciAgICAgICAgICAgICAgICAgfAogICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgICB8IGlmT3V0VWNhc3RQ a3RzICAgICAgIHwgT0xUX3VuaWNhc3RfZnJhbWVfbnVtYmVyICAgICAgICAgIHwKICAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fAogICAgICAgfCBpZk91dE5VY2FzdFBrdHMgICAgICB8IE9MVF9ub25fdW5pY2FzdF9mcmFtZV9u dW1iZXIgICAgICB8CiAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgIHwgaWZPdXREaXNjYXJkcyAgICAgICAgfCBP TFRfZGlzY2FyZF9mcmFtZV9udW1iZXIgICAgICAgICAgfAogICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgICB8IGlm T3V0RXJyb3JzICAgICAgICAgIHwgT0xUX2Vycm9yX2ZyYW1lX251bWJlciAgICAgICAgICAgIHwK ICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfAogICAgICAgfCBpZk91dFFMZW4gICAgICAgICAgICB8IE9MVF9xdWV1ZV9mcmFt ZV9udW1iZXIgICAgICAgICAgICB8CiAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBUYWJsZSA3CgogICBBcyBzcGVjaWZpZWQgYWJvdmUgdGhlIGNyZWF0aW9uIG9m IHRoZSByb3dzIGF0IHRoZSBPTlUgYW5kIGF0IHRoZQogICBPTFQsIGZvciB0aGUgT0xUIGludGVy ZmFjZSBhbmQgZm9yIHRoZSBicm9hZGNhc3QgdmlydHVhbCBpbmRleCwgaXMKICAgZG9uZSBhdCBp bml0aWFsaXphdGlvbi4gIFRoZSBjcmVhdGlvbiBhbmQgZGVsZXRpb24gb2Ygcm93cyBmb3IgdGhl CiAgIHZpcnR1YWwgbGlua3MgaXMgZG9uZSB3aGVuIHRoZSB2aXJ0dWFsIGxpbmsgaXMgZXN0YWJs aXNoZWQgKE9OVQogICByZWdpc3RlcnMpIGFuZCB3aGVuIHRoZSB2aXJ0dWFsIGxpbmsgaXMgZGVs ZXRlZCAoT05VIGRlcmVnaXN0ZXJzKS4KCjMuMi4gIFJlbGF0aW9uIHRvIHRoZSBJRUVFIDgwMi4z IE1BVSBNSUJzCgogICBJbiB0aGUgYW1lbmRlZCBNQVUgTUlCIGRvY3VtZW50IHRoZSBNQVUgdHlw ZXMgb2YgdGhlIEVQT04gSW50ZXJmYWNlcwogICBpcyBkZWZpbmVkLiAgVGhpcyBkb2N1bWVudCBh c3N1bWVzIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgTUFVIE1JQgogICBmb3IgdGhpcyBwdXJw b3NlIGFuZCBkb2VzIG5vdCByZXBlYXQgdGhlIEVQT04gTUFVIHR5cGVzLiAgVGhlcmVmb3JlCiAg IGltcGxlbWVudGluZyB0aGlzIG1vZHVsZSBNVVNUIHJlcXVpcmUgaW1wbGVtZW50YXRpb24gb2Yg TUFVLU1JQgogICBtb2R1bGUgW1JGQzM2MzZdLiAgRm9yIHRoZSBPTlUgdGhlcmUgaXMgYSBzaW5n bGUgcm93IGZvciB0aGUKICAgaWZNYXVUYWJsZS4gIEF0IHRoZSBPTFQgdGhlcmUgaXMgYSByb3cg Zm9yIGVhY2ggdmlydHVhbCBsaW5rIChOKzEpLAogICBpZk1hdUlmSW5kZXggaGFzIGEgdmFsdWUg Zm9yIGVhY2ggdmlydHVhbCBsaW5rLgoKCgpLaGVybW9zaCAgICAgICAgICAgICAgICAgRXhwaXJl cyBBdWd1c3QgMTQsIDIwMDYgICAgICAgICAgICAgICBbUGFnZSAyM10KDApJbnRlcm5ldC1EcmFm dCAgICAgICAgICAgTWFuYWdlZCBPYmplY3RzIG9mIEVQT04gICAgICAgICAgIEZlYnJ1YXJ5IDIw MDYKCgogICBBcyBzcGVjaWZpZWQgYWJvdmUgdGhlIGNyZWF0aW9uIG9mIHRoZSByb3dzIGF0IHRo ZSBPTlUgYW5kIGF0IHRoZSBPTFQKICAgZm9yIHRoZSBPTFQgaW50ZXJmYWNlIGFuZCBmb3IgdGhl IGJyb2FkY2FzdCB2aXJ0dWFsIGluZGV4LCBpcyBkb25lIGF0CiAgIGluaXRpYWxpemF0aW9uLiAg VGhlIGNyZWF0aW9uIGFuZCBkZWxldGlvbiBvZiByb3dzIGZvciB0aGUgdmlydHVhbAogICBsaW5r cyBpcyBkb25lIHdoZW4gdGhlIHZpcnR1YWwgbGluayBpcyBlc3RhYmxpc2hlZCAoT05VIHJlZ2lz dGVycykKICAgYW5kIHdoZW4gdGhlIHZpcnR1YWwgbGluayBpcyBkZWxldGVkIChPTlUgZGVyZWdp c3RlcnMpLgoKMy4zLiAgUmVsYXRpb24gdG8gdGhlIEVGTSBPQU0gTUlCCgogICBUaGUgRVBPTiBp bnRlcmZhY2VzIGFyZSBhaW1lZCB0byB0aGUgYWNjZXNzIG9wdGljYWwgbmV0d29ya3MgYW5kIG1v c3QKICAgcHJvYmFibHkgd2lsbCBiZSBmb2xsb3dlZCBieSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUg T0FNIHNlY3Rpb24gb2YgdGhlCiAgIFs4MDIuM2FoXS4gIFRoZXJlZm9yZSBUaGUgRUZNIE9BTSBN SUIgbW9kdWxlIFtJLUQuaWV0Zi1odWJtaWItZWZtLQogICBtaWJdIE1BWSBiZSBpbXBsZW1lbnRl ZCBkZWZpbmluZyBhdHRyaWJ1dGVzIGFuZCBtYW5hZ2VkIG9iamVjdHMgdGhhdAogICBhcmUgY29t cGxlbWVudGFyeSB0byB0aGUgRUZNIEVQT04gTUlCIG1vZHVsZS4gIEFzIHRoZSBPQU0gaXMgZGVm aW5lZAogICBmb3IgYSBwb2ludCB0byBwb2ludCBsaW5rIGl0IGlzIGltcGxlbWVudGVkIHVzaW5n IHRoZSB2aXJ0dWFsIGxpbmtzCiAgIHdoaWNoIGFyZSBkZWZpbmVkIGZvciB0aGUgUDJNUCBuZXR3 b3JrLCBzbyB0aGF0IGFuIGluc3RhbmNlIGlzIGhlbGQKICAgZm9yIGVhY2ggTG9naWNhbCBsaW5r IChMTElEKSBvZiB0aGUgRVBPTi4gIFRoZSByZXNwZWN0aXZlIGlmSW5kZXggb2YKICAgdGhlIHZp cnR1YWwgbGluayBpcyB1c2VkIGFzIHRoZSBpZkluZGV4IG9mIHRoZSBPQU0gTUlCIGZvciB0aGlz CiAgIHB1cnBvc2UuCgozLjQuICBSZWxhdGlvbiB0byB0aGUgYnJpZGdlIE1JQgoKICAgSXQgaXMg dmVyeSBwcm9iYWJsZSB0aGF0IGFuIEVQT04gT0xUIHdpbGwgaW1wbGVtZW50IGEgYnJpZGdpbmcK ICAgZnVuY3Rpb25hbGl0eSBhYm92ZSB0aGUgRVBPTiBpbnRlcmZhY2UgbGF5ZXIsIGJyaWRnaW5n IGJldHdlZW4gdGhlCiAgIEVQT04gdXNlcnMgYW5kIHRoZSBuZXR3b3JrLiAgSW4gdGhpcyBzY2Vu YXJpbyB0aGUgdmlydHVhbCBwb3J0cyBvZgogICB0aGUgRVBPTiBhcmUgY29ycmVzcG9uZGluZyB0 byB0aGUgdmlydHVhbCBicmlkZ2UgcG9ydHMuICBUaGVyZSBpcyBhCiAgIGRpcmVjdCBtYXBwaW5n IGJldHdlZW4gdGhlIGJyaWRnZSBwb3J0cyBhbmQgdGhlIExMSURzLCB3aGljaCBhcmUKICAgdmly dHVhbCBFUE9OIGNoYW5uZWxzLgoKICAgSWYgdGhlIE9MVCBzdXBwb3J0cyBicmlkZ2luZyB0aGVu IHRoZSB2aXJ0dWFsIHBoeXNpY2FsIGludGVyZmFjZXMgYXJlCiAgIHRoZSBicmlkZ2UgdmlydHVh bCBwb3J0cy4gIFRoZSB2YWx1ZXMgZm9yIGRvdDFkQmFzZVBvcnRJZkluZGV4IHdvdWxkCiAgIGJl IHRoZSBudW1iZXIgb2YgdGhlIGlmSW5kZXggZm9yIHRoZSB2aXJ0dWFsIHBvcnQgKDEgZm9yIExM SUQxLCAyIGZvcgogICBMTElEMiwuLi4pCgogICBUaGUgYnJpZGdlIE1JQiBtb2R1bGVzIFtSRkM0 MTg4XSwgW1JGQzE1MjVdIE1BWSBiZSBpbXBsZW1lbnRlZCBpbgogICB0aGlzIGNhc2Ugd2hlcmUg dGhlIG9iamVjdHMgb2YgdGhlIGJyaWRnZSBNSUIgbW9kdWxlIGFyZSB1c2VkCiAgIGFjY29yZGlu Z2x5LgoKCgoKCgoKCgoKCgoKCgpLaGVybW9zaCAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1 c3QgMTQsIDIwMDYgICAgICAgICAgICAgICBbUGFnZSAyNF0KDApJbnRlcm5ldC1EcmFmdCAgICAg ICAgICAgTWFuYWdlZCBPYmplY3RzIG9mIEVQT04gICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYKCgo0 LiAgIFJlbGF0aW9uIHRhYmxlIG9mIHRoZSBkb3QzRVBPTiBNSUIgbW9kdWxlIG9iamVjdHMgdG8g dGhlCiAgICBJRUVFODAyLjNhaCBhdHRyaWJ1dGVzCgogICAgICAgICAgICAgICAgICAgIG9NUENQ IG1hbmFnZWQgb2JqZWN0IGNsYXNzICgzMC4zLjUpCgogICArLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSsKICAgfCBkb3Qz RVBPTiBNSUIgbW9kdWxlIG9iamVjdCB8IElFRUU4MDIuM2FoIGF0dHJpYnV0ZSAgIHwgUmVmZXJl bmNlICB8CiAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tKwogICB8IGlmSW5kZXggICAgICAgICAgICAgICAgICAgIHwg YU1QQ1BJRCAgICAgICAgICAgICAgICAgfCAzMC4zLjUuMS4xIHwKICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICB8CiAg IHwgZG90M01wY3BPcGVyU3RhdHVzICAgICAgICAgfCBhTVBDUEFkbWluU3RhdGUgICAgICAgICB8 IDMwLjMuNS4xLjIgfAogICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgICAgICAgICAgIHwKICAgfCBkb3QzTXBjcE1vZGUgICAgICAgICAg ICAgICB8IGFNUENQTW9kZSAgICAgICAgICAgICAgIHwgMzAuMy41LjEuMyB8CiAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAg ICAgfAogICB8IGRvdDNNcGNwTGlua0lEICAgICAgICAgICAgIHwgYU1QQ1BMaW5rSUQgICAgICAg ICAgICAgfCAzMC4zLjUuMS40IHwKICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICB8CiAgIHwgZG90M01wY3BSZW1vdGVN QUNBZGRyZXNzICAgfCBhTVBDUFJlbW90ZU1BQ0FkZHJlc3MgICB8IDMwLjMuNS4xLjUgfAogICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAg ICAgICAgICAgIHwKICAgfCBkb3QzTXBjcFJlZ2lzdHJhdGlvblN0YXRlICB8IGFNUENQUmVnaXN0 cmF0aW9uU3RhdGUgIHwgMzAuMy41LjEuNiB8CiAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgfAogICB8IGRvdDNNcGNw TUFDQ3RybEZyYW1lc1RyYW5zIHwgYU1QQ1BNQUNDdHJsRnJhbWVzVHJhbnMgfCAzMC4zLjUuMS43 IHwKICAgfCBtaXR0ZWQgICAgICAgICAgICAgICAgICAgICB8IG1pdHRlZCAgICAgICAgICAgICAg ICAgIHwgICAgICAgICAgICB8CiAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgfAogICB8IGRvdDNNcGNwTUFDQ3RybEZy YW1lc1JlY2VpIHwgYU1QQ1BNQUNDdHJsRnJhbWVzUmVjZWkgfCAzMC4zLjUuMS44IHwKICAgfCB2 ZWQgICAgICAgICAgICAgICAgICAgICAgICB8IHZlZCAgICAgICAgICAgICAgICAgICAgIHwgICAg ICAgICAgICB8CiAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAgICAgICAgICAgfAogICB8IGRvdDNNcGNwVHhHYXRlICAgICAgICAgICAg IHwgYU1QQ1BUeEdhdGUgICAgICAgICAgICAgfCAzMC4zLjUuMS45IHwKICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICB8 CiAgIHwgZG90M01wY3BUeFJlZ0FjayAgICAgICAgICAgfCBhTVBDUFR4UmVnQWNrICAgICAgICAg ICB8IDMwLjMuNS4xLjEgfAogICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgfCAwICAgICAgICAgIHwKICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICB8CiAgIHwgZG90 M01wY3BUeFJlZ2lzdGVyICAgICAgICAgfCBhTVBDUFR4UmVnaXN0ZXIgICAgICAgICB8IDMwLjMu NS4xLjEgfAogICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgfCAxICAgICAgICAgIHwKICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICB8CiAgIHwgZG90M01wY3BUeFJl Z1JlcXVlc3QgICAgICAgfCBhTVBDUFR4UmVnUmVxdWVzdCAgICAgICB8IDMwLjMuNS4xLjEgfAog ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg fCAyICAgICAgICAgIHwKICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgIHwgICAgICAgICAgICB8CiAgIHwgZG90M01wY3BUeFJlcG9ydCAgICAg ICAgICAgfCBhTVBDUFR4UmVwb3J0ICAgICAgICAgICB8IDMwLjMuNS4xLjEgfAogICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAzICAgICAg ICAgIHwKICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgIHwgICAgICAgICAgICB8CiAgIHwgZG90M01wY3BSeEdhdGUgICAgICAgICAgICAgfCBh TVBDUFJ4R2F0ZSAgICAgICAgICAgICB8IDMwLjMuNS4xLjEgfAogICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgfCA0ICAgICAgICAgIHwKICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwg ICAgICAgICAgICB8CiAgIHwgZG90M01wY3BSeFJlZ0FjayAgICAgICAgICAgfCBhTVBDUFJ4UmVn QWNrICAgICAgICAgICB8IDMwLjMuNS4xLjEgfAogICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgfCA1ICAgICAgICAgIHwKICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAg ICB8CiAgIHwgZG90M01wY3BSeFJlZ2lzdGVyICAgICAgICAgfCBhTVBDUFJ4UmVnaXN0ZXIgICAg ICAgICB8IDMwLjMuNS4xLjEgfAogICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgfCA2ICAgICAgICAgIHwKCgoKS2hlcm1vc2ggICAgICAgICAg ICAgICAgIEV4cGlyZXMgQXVndXN0IDE0LCAyMDA2ICAgICAgICAgICAgICAgW1BhZ2UgMjVdCgwK SW50ZXJuZXQtRHJhZnQgICAgICAgICAgIE1hbmFnZWQgT2JqZWN0cyBvZiBFUE9OICAgICAgICAg ICBGZWJydWFyeSAyMDA2CgoKICAgfCBkb3QzTXBjcFJ4UmVnUmVxdWVzdCAgICAgICB8IGFNUENQ UnhSZWdSZXF1ZXN0ICAgICAgIHwgMzAuMy41LjEuMSB8CiAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IDcgICAgICAgICAgfAogICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAg ICAgICAgIHwKICAgfCBkb3QzTXBjcFJ4UmVwb3J0ICAgICAgICAgICB8IGFNUENQUnhSZXBvcnQg ICAgICAgICAgIHwgMzAuMy41LjEuMSB8CiAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICB8IDggICAgICAgICAgfAogICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgIHwK ICAgfCBkb3QzTXBjcFRyYW5zbWl0RWxhcHNlZCAgICB8IGFNUENQVHJhbnNtaXRFbGFwc2VkICAg IHwgMzAuMy41LjEuMSB8CiAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICB8IDkgICAgICAgICAgfAogICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgIHwKICAgfCBkb3Qz TXBjcFJlY2VpdmVFbGFwc2VkICAgICB8IGFNUENQUmVjZWl2ZUVsYXBzZWQgICAgIHwgMzAuMy41 LjEuMiB8CiAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICB8IDAgICAgICAgICAgfAogICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgIHwKICAgfCBkb3QzTXBjcFJvdW5k VHJpcFRpbWUgICAgICB8IGFNUENQUm91bmRUcmlwVGltZSAgICAgIHwgMzAuMy41LjEuMiB8CiAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICB8 IDEgICAgICAgICAgfAogICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgICAgICAgICAgIHwKICAgfCBkb3QzTXBjcERpc2NvdmVyeVdpbmRv d3NTZSB8IGFNUENQRGlzY292ZXJ5V2luZG93c1NlIHwgMzAuMy41LjEuMiB8CiAgIHwgbnQgICAg ICAgICAgICAgICAgICAgICAgICAgfCBudCAgICAgICAgICAgICAgICAgICAgICB8IDIgICAgICAg ICAgfAogICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgICAgICAgICAgIHwKICAgfCBkb3QzTXBjcERpc2NvdmVyeVRpbWVvdXQgICB8IGFN UENQRGlzY292ZXJ5VGltZW91dCAgIHwgMzAuMy41LjEuMiB8CiAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IDMgICAgICAgICAgfAogICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAg ICAgICAgICAgIHwKICAgfCBkb3QzTXBjcE1heGltdW1QZW5kaW5nR3JhbiB8IGFNUENQTWF4aW11 bVBlbmRpbmdHcmFuIHwgMzAuMy41LjEuMiB8CiAgIHwgdHMgICAgICAgICAgICAgICAgICAgICAg ICAgfCB0cyAgICAgICAgICAgICAgICAgICAgICB8IDQgICAgICAgICAgfAogICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAg IHwKICAgfCBkb3QzTXBjcEFkbWluU3RhdGUgICAgICAgICB8IGFNUENQQWRtaW5Db250cm9sICAg ICAgIHwgMzAuMy41LjIuMSB8CiAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgfAogICB8IGRvdDNNcGNwU3luY1RpbWUg ICAgICAgICAgIHwgU3luY1RpbWUgICAgICAgICAgICAgICAgfCA2NC4zLjMuMiAgIHwKICAgKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0rCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFibGUgOAoKCgoK CgoKCgoKCgoKCgoKCgoKCgpLaGVybW9zaCAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3Qg MTQsIDIwMDYgICAgICAgICAgICAgICBbUGFnZSAyNl0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAg ICAgTWFuYWdlZCBPYmplY3RzIG9mIEVQT04gICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYKCgogICAg ICAgICAgICAgICAgb09NUEVtdWxhdGlvbiBtYW5hZ2VkIG9iamVjdCBjbGFzcyAoMzAuMy43KQoK ICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0rCiAgIHwgZG90M0VQT04gTUlCIG1vZHVsZSBvYmplY3QgICAgICAgICAg fCBJRUVFODAyLjNhaCAgICAgfCBSZWZlcmVuY2UgfAogICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgYXR0cmlidXRlICAgICAgIHwgICAgICAgICAgIHwKICAgKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0rCiAgIHwgaWZJbmRleCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhT01QRW11 bGF0aW9uSUQgfCAzMC4zLjcuMS4gfAogICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgICAgICAgICAgICAgICAgIHwgMSAgICAgICAgIHwKICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICB8ICAgICAgICAgICB8CiAg IHwgZG90M09tcEVtdWxhdGlvblR5cGUgICAgICAgICAgICAgICAgfCBhT01QRW11bGF0aW9uVHkg fCAzMC4zLjcuMS4gfAogICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg cGUgICAgICAgICAgICAgIHwgMiAgICAgICAgIHwKICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICB8ICAgICAgICAgICB8CiAgIHwgZG90M09t cEVtdWxhdGlvblNMREVycm9ycyAgICAgICAgICAgfCBhU0xERXJyb3JzICAgICAgfCAzMC4zLjcu MS4gfAogICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAg ICAgICAgIHwgMyAgICAgICAgIHwKICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICAgICAgICAgICAgICAgICB8ICAgICAgICAgICB8CiAgIHwgZG90M09tcEVtdWxhdGlv bkNSQzhFcnJvcnMgICAgICAgICAgfCBhQ1JDOEVycm9ycyAgICAgfCAzMC4zLjcuMS4gfAogICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgIHwg NCAgICAgICAgIHwKICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAg ICAgICAgICAgICAgICB8ICAgICAgICAgICB8CiAgIHwgZG90M09tcEVtdWxhdGlvbkdvb2RMTElE ICAgICAgICAgICAgfCBhR29vZExMSUQgICAgICAgfCAzMC4zLjcuMS4gfAogICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgIHwgNSAgICAgICAg IHwKICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAg ICAgICB8ICAgICAgICAgICB8CiAgIHwgZG90M09tcEVtdWxhdGlvbk9udVBvbkNhc3RMTElEICAg ICAgfCBhT05VUE9OY2FzdExMSUQgfCAzMC4zLjcuMS4gfAogICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgIHwgNiAgICAgICAgIHwKICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICB8ICAg ICAgICAgICB8CiAgIHwgZG90M09tcEVtdWxhdGlvbk9sdFBvbkNhc3RMTElEICAgICAgfCBhT0xU UE9OY2FzdExMSUQgfCAzMC4zLjcuMS4gfAogICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgICAgICAgICAgICAgICAgIHwgNyAgICAgICAgIHwKICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICB8ICAgICAgICAgICB8 CiAgIHwgZG90M09tcEVtdWxhdGlvbkJhZExMSUQgICAgICAgICAgICAgfCBhQmFkTExJRCAgICAg ICAgfCAzMC4zLjcuMS4gfAogICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgICAgICAgICAgICAgICAgIHwgOCAgICAgICAgIHwKICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICB8ICAgICAgICAgICB8CiAgIHwgZG90 M09tcEVtdWxhdGlvbkJyb2FkY2FzdEJpdE5vdE9udUwgfCAgICAgICAgICAgICAgICAgfCAgICAg ICAgICAgfAogICB8IExpZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAg ICAgICAgICAgIHwgICAgICAgICAgIHwKICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAgICAgICAgICAgICAgICB8ICAgICAgICAgICB8CiAgIHwgZG90M09tcEVtdWxh dGlvbk9udUxMSUROb3RCcm9hZGNhc3QgfCAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgfAog ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAg IHwgICAgICAgICAgIHwKICAgfCBkb3QzT21wRW11bGF0aW9uQnJvYWRjYXN0Qml0UGx1c09udSB8 ICAgICAgICAgICAgICAgICB8ICAgICAgICAgICB8CiAgIHwgTGxpZCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgfAogICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgIHwgICAgICAg ICAgIHwKICAgfCBkb3QzT21wRW11bGF0aW9uTm90QnJvYWRjYXN0Qml0Tm90TyB8ICAgICAgICAg ICAgICAgICB8ICAgICAgICAgICB8CiAgIHwgbnVMbGlkICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgfAogICArLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSsKCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUYWJsZSA5CgoKCgoKCgoKS2hlcm1vc2gg ICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDE0LCAyMDA2ICAgICAgICAgICAgICAgW1Bh Z2UgMjddCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgIE1hbmFnZWQgT2JqZWN0cyBvZiBFUE9O ICAgICAgICAgICBGZWJydWFyeSAyMDA2CgoKICAgICAgICAgICAgICAgICAgICBvTUFVIG1hbmFn ZWQgb2JqZWN0IGNsYXNzICgzMC41LjEpCgogICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSsKICAgfCBkb3QzRVBPTiBN SUIgbW9kdWxlIG9iamVjdCAgICAgfCBJRUVFODAyLjNhaCAgICAgICAgIHwgUmVmZXJlbmNlICB8 CiAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYXR0cmlidXRlICAgICAgICAg ICB8ICAgICAgICAgICAgfAogICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSsKICAgfCBkb3QzRXBvbkZlY1BDU0NvZGlu Z1Zpb2xhdGlvbiAgfCBhUENTQ29kaW5nVmlvbGF0aW9uIHwgMzAuNS4xLjEuMSB8CiAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICB8IDIgICAg ICAgICAgfAogICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAg ICAgICAgICAgfCAgICAgICAgICAgIHwKICAgfCBkb3QzRXBvbkZlY0FiaWxpdHkgICAgICAgICAg ICAgfCBhRkVDQWJpbGl0eSAgICAgICAgIHwgMzAuNS4xLjEuMSB8CiAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICB8IDMgICAgICAgICAgfAog ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAg fCAgICAgICAgICAgIHwKICAgfCBkb3QzRXBvbkZlY01vZGUgICAgICAgICAgICAgICAgfCBhRkVD bW9kZSAgICAgICAgICAgIHwgMzAuNS4xLjEuMSB8CiAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICB8IDQgICAgICAgICAgfAogICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAg ICAgIHwKICAgfCBkb3QzRXBvbkZlY0NvcnJlY3RlZEJsb2NrcyAgICAgfCBhRkVDQ29ycmVjdGVk QmxvY2tzIHwgMzAuNS4xLjEuMSB8CiAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgICAgICAgICAgICAgICAgICAgICB8IDUgICAgICAgICAgfAogICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgIHwKICAg fCBkb3QzRXBvbkZlY1VuY29ycmVjdGFibGVCbG9ja3MgfCBhRkVDVW5jb3JyZWN0YWJsZUJsIHwg MzAuNS4xLjEuMSB8CiAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgb2NrcyAg ICAgICAgICAgICAgICB8IDYgICAgICAgICAgfAogICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgIHwKICAgfCBkb3QzRXBv bkZlY0J1ZmZlckhlYWRDb2RpbmdWaW8gfCAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAg ICB8CiAgIHwgbGF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAg ICAgICB8ICAgICAgICAgICAgfAogICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSsKCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFRhYmxlIDEwCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgpLaGVybW9zaCAg ICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMTQsIDIwMDYgICAgICAgICAgICAgICBbUGFn ZSAyOF0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgTWFuYWdlZCBPYmplY3RzIG9mIEVQT04g ICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYKCgo1LiAgIERlZmluaXRpb25zIC0gVGhlIERPVDMgRVBP TiBNSUIgbW9kdWxlCgoKCgogICBET1QzLUVQT04tTUlCIERFRklOSVRJT05TIDo6PSBCRUdJTgoK ICAgICAgICBJTVBPUlRTCiAgICAgICAgICAgIE1PRFVMRS1JREVOVElUWSwgbWliLTIsIE9CSkVD VC1UWVBFLCBDb3VudGVyMzIsCiAgICAgICAgICAgIEludGVnZXIzMiwgVW5zaWduZWQzMiwgQ291 bnRlcjY0CiAgICAgICAgICAgICAgICBGUk9NIFNOTVB2Mi1TTUkKICAgICAgICAgICAgVHJ1dGhW YWx1ZSwgTWFjQWRkcmVzcwogICAgICAgICAgICAgICAgRlJPTSBTTk1QdjItVEMKICAgICAgICAg ICAgaWZJbmRleAogICAgICAgICAgICAgICAgRlJPTSBJRi1NSUIKICAgICAgICAgICAgTU9EVUxF LUNPTVBMSUFOQ0UsIE9CSkVDVC1HUk9VUAogICAgICAgICAgICAgICAgRlJPTSBTTk1QdjItQ09O RgogICAgICAgICAgICA7CgogICBkb3QzRXBvbk1JQiBNT0RVTEUtSURFTlRJVFkKICAgICAgIExB U1QtVVBEQVRFRCAiMjAwNjAyMDgwMDAwWiIgIC0tIEZlYnJ1YXJ5IDgsIDIwMDYKICAgICAgIE9S R0FOSVpBVElPTiAiSUVURiBFdGhlcm5ldCBJbnRlcmZhY2VzIGFuZCBIdWIgTUlCIFdvcmtpbmcK ICAgICAgICAgICAgICAgICAgICBHcm91cCIKICAgICAgIENPTlRBQ1QtSU5GTwogICAgICAgICAg ICAgICAgICAgICJXRyBjaGFydGVyOgogICAgICAgICAgICAgICAgIGh0dHA6Ly93d3cuaWV0Zi5v cmcvaHRtbC5jaGFydGVycy9odWJtaWItY2hhcnRlci5odG1sCiAgICAgICAgICAgICAgICAgICAg IE1haWxpbmcgTGlzdHM6CiAgICAgICAgICAgICAgICAgICAgICAgR2VuZXJhbCBEaXNjdXNzaW9u OiBodWJtaWJAaWV0Zi5vcmcKICAgICAgICAgICAgICAgICAgICAgICBUbyBTdWJzY3JpYmU6IGh1 Ym1pYi1yZXF1ZXN0QGlldGYub3JnCiAgICAgICAgICAgICAgICAgICAgICAgSW4gQm9keTogc3Vi c2NyaWJlIHlvdXJfZW1haWxfYWRkcmVzcwogICAgICAgICAgICAgICAgICAgICAgIENoYWlyOiBE YW4gUm9tYXNjYW51CiAgICAgICAgICAgICAgICAgICAgICAgUG9zdGFsOiBBdmF5YQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgQXRpZGltIFRlY2hub2xvZ3kgUGFyaywgQmxkZy4gMwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVsIEF2aXYgNjExMzEKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIElzcmFlbAogICAgICAgICAgICAgICAgICAgICAgICBUZWw6ICs5 NzItMy02NDUtODQxNAogICAgICAgICAgICAgICAgICAgICAgICBFLW1haWw6IGRyb21hc2NhQGF2 YXlhLmNvbQoKICAgICAgICAgICAgICAgICAgICAgRWRpdG9yOiBMaW9yIEtoZXJtb3NoCiAgICAg ICAgICAgICAgICAgICAgIFBvc3RhbDogUGFzc2F2ZSBUZWNobm9sb2dpZXMgSW5jLgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEtvaGF2IEhlcnR6ZWxpYSBibGRnLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDk0IEhhc2FkbmFvdCBTdC4KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBIZXJ0emxpeWEgUGl0dWFjaCA0NjEyMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBJU1JBRUwKICAgICAgICAgICAgICAgICAgICAgUC5PLkJveCAyMDg5IEhlcnR6bGl5YSBQaXR1 YWNoIDQ2MTIwIElzcmFlbAogICAgICAgICAgICAgICAgICAgICBUZWw6ICAgICs5NzItOS05NjI4 MDAwIEV4dDogMzAyCiAgICAgICAgICAgICAgICAgICAgICAgIEUtbWFpbDogbGlvci5raGVybW9z aEBwYXNzYXZlLmNvbSIKICAgICAgIERFU0NSSVBUSU9OCgoKCktoZXJtb3NoICAgICAgICAgICAg ICAgICBFeHBpcmVzIEF1Z3VzdCAxNCwgMjAwNiAgICAgICAgICAgICAgIFtQYWdlIDI5XQoMCklu dGVybmV0LURyYWZ0ICAgICAgICAgICBNYW5hZ2VkIE9iamVjdHMgb2YgRVBPTiAgICAgICAgICAg RmVicnVhcnkgMjAwNgoKCiAgICAgICAgICAgICAgICJUaGUgb2JqZWN0cyBpbiB0aGlzIE1JQiBt b2R1bGUgYXJlIHVzZWQgdG8gbWFuYWdlIHRoZQogICAgICAgICAgICAgICAgRXRoZXJuZXQgaW4g dGhlIEZpcnN0IE1pbGUoRUZNKSBFdGhlcm5ldCBQYXNzaXZlIE9wdGljYWwKICAgICAgICAgICAg ICAgIE5ldHdvcmsoRVBPTikgSW50ZXJmYWNlcyBhcyBkZWZpbmVkIGluIElFRUUgUDgwMi4zYWgK ICAgICAgICAgICAgICAgIGNsYXVzZSA2MCw2NCw2NS4KICAgICAgICAgICAgVGhlIGZvbGxvd2lu ZyByZWZlcmVuY2UgaXMgdXNlZCB0aHJvdWdob3V0IHRoaXMgTUlCIG1vZHVsZToKICAgICAgICAg ICAgICBbODAyLjNhaF0gcmVmZXJzIHRvOgogICAgICAgICAgICAgICAgSW5mb3JtYXRpb24gdGVj aG5vbG9neSAtIFRlbGVjb21tdW5pY2F0aW9ucyBhbmQKICAgICAgICAgICAgICAgIGluZm9ybWF0 aW9uIGV4Y2hhbmdlIGJldHdlZW4gc3lzdGVtcyAtIExvY2FsIGFuZAogICAgICAgICAgICAgICAg bWV0cm9wb2xpdGFuIGFyZWEgbmV0d29ya3MgLSBTcGVjaWZpYyByZXF1aXJlbWVudHMgLQogICAg ICAgICAgICAgICAgUGFydCAzOiBDYXJyaWVyIHNlbnNlIG11bHRpcGxlIGFjY2VzcyB3aXRoIGNv bGxpc2lvbgogICAgICAgICAgICAgICAgZGV0ZWN0aW9uIChDU01BL0NEKSBhY2Nlc3MgbWV0aG9k IGFuZCBwaHlzaWNhbCBsYXllcgogICAgICAgICAgICAgICAgc3BlY2lmaWNhdGlvbnMgLSBNZWRp YSBBY2Nlc3MgQ29udHJvbCBQYXJhbWV0ZXJzLAogICAgICAgICAgICAgICAgUGh5c2ljYWwgTGF5 ZXJzIGFuZCBNYW5hZ2VtZW50IFBhcmFtZXRlcnMgZm9yIHN1YnNjcmliZXIKICAgICAgICAgICAg ICAgIGFjY2VzcyBuZXR3b3Jrcy4gSUVFRSBTdGQgODAyLjNhaC0yMDA0LCBPY3RvYmVyIDIwMDQu CgogICAgICAgICAgICAgT2YgcGFydGljdWxhciBpbnRlcmVzdCBhcmUgQ2xhdXNlIDY0KE11bHRp LVBvaW50IENvbnRyb2wKICAgICAgICAgICAgIFByb3RvY29sIC0gTVBDUCksIENsYXVzZSA2NShQ b2ludCB0byBNdWx0aXBvaW50CiAgICAgICAgICAgICBSZWNvbmNpbGlhdGlvbiBTdWJsYXllciAt IFAyTVAgUlMpLCBDbGF1c2UgNjAgKEV0aGVybmV0CiAgICAgICAgICAgICBQYXNzaXZlIE9wdGlj YWwgTmV0d29yayBQaHlzaWNhbCBNZWRpdW0gRGVwZW5kYW50IC0gRVBPTgogICAgICAgICAgICAg UE1EcyksIENsYXVzZSAzMCwgJ01hbmFnZW1lbnQnLCBhbmQgQ2xhdXNlIDQ1LCAnTWFuYWdlbWVu dAogICAgICAgICAgICAgRGF0YSBJbnB1dC9PdXRwdXQgKE1ESU8pIEludGVyZmFjZScuCgogICAg ICAgICAgICAgQ29weXJpZ2h0IChDKSBUaGUgSW50ZXJuZXQgU29jaWV0eSAoMjAwNSkuICBUaGlz IHZlcnNpb24KICAgICAgICAgICAgIG9mIHRoaXMgTUlCIG1vZHVsZSBpcyBwYXJ0IG9mIFhYWFgg c2VlIHRoZSBSRkMgaXRzZWxmIGZvcgogICAgICAgICAgICAgZnVsbCBsZWdhbCBub3RpY2VzLgoK ICAgICAgICAgICAgIEtleSBhYmJyZXZpYXRpb25zOgogICAgICAgICAgICAgICBCRVIgLSBCaXQg RXJyb3IgUmF0ZQogICAgICAgICAgICAgICBFRk0gLSBFdGhlcm5ldCBGaXJzdCBNaWxlCiAgICAg ICAgICAgICAgIEVQT04gLSBFdGhlcm5ldCBQYXNzaXZlIE9wdGljYWwgTmV0d29yawogICAgICAg ICAgICAgICBMTElEIC0gTG9naWNhbCBMaW5rIElEZW50aWZpZXIKICAgICAgICAgICAgICAgTUFD IC0gTWVkaWEgQWNjZXNzIENvbnRyb2wKICAgICAgICAgICAgICAgTVBDUCAtIE11bHRpLVBvaW50 IENvbnRyb2wgUHJvdG9jb2wKICAgICAgICAgICAgICAgT0xUIC0gT3B0aWNhbCBMaW5lIFRlcm1p bmFsIChTZXJ2ZXIgdW5pdCBvZiB0aGUgRVBPTikKICAgICAgICAgICAgICAgT05VIC0gT3B0aWNh bCBOZXR3b3JrIFVuaXQgKENsaWVudCB1bml0IG9mIHRoZSBFUE9OKQogICAgICAgICAgICAgICBQ SFkgLSBQaHlzaWNhbCBMYXllcgogICAgICAgICAgICAgICBQTUQgLSBQaHlzaWNhbCBNZWRpdW0g RGVwZW5kYW50CiAgICAgICAgICAgICAgIFJUVCAtIFJvdW5kIFRyaXAgVGltZQogICAgICAgICAg ICAgIgoKICAgICAgICAgICAgIC0tIEVkaXRvcidzIE5vdGU6IFJlcGxhY2UgWFhYWCB3aXRoIHRo ZSBhY3R1YWwgUkZDIG51bWJlcgogICAgICAgICAgICAgLS0gYXNzaWduZWQgYnkgUkZDIEVkaXRv ciBhbmQgcmVtb3ZlIHRoaXMgbm90ZQoKICAgICAgIFJFVklTSU9OICAgICIyMDA2MDIwODAwMDBa IiAgLS0gRmVicnVhcnkgOCwgMjAwNgogICAgICAgREVTQ1JJUFRJT04gIkluaXRpYWwgdmVyc2lv biwgcHVibGlzaGVkIGFzIFJGQyBYWFhYLiIKCiAgICAgICA6Oj0geyBtaWItMiBYWFggfQoKCgoK S2hlcm1vc2ggICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDE0LCAyMDA2ICAgICAgICAg ICAgICAgW1BhZ2UgMzBdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgIE1hbmFnZWQgT2JqZWN0 cyBvZiBFUE9OICAgICAgICAgICBGZWJydWFyeSAyMDA2CgoKICAgICAgIC0tIEVkaXRvcidzIE5v dGUgKHRvIGJlIHJlbW92ZWQgcHJpb3IgdG8gcHVibGljYXRpb24pOiB0aGUKICAgICAgIC0tIElB TkEgaXMgcmVxdWVzdGVkIHRvIGFzc2lnbiBhIHZhbHVlIGZvciAiWFhYIiB1bmRlciB0aGUKICAg ICAgIC0tICdtaWItMicgc3VidHJlZSBhbmQgdG8gcmVjb3JkIHRoZSBhc3NpZ25tZW50IGluIHRo ZSBTTUkKICAgICAgIC0tIE51bWJlcnMgcmVnaXN0cnkuICBXaGVuIHRoZSBhc3NpZ25tZW50IGhh cyBiZWVuIG1hZGUsIHRoZQogICAgICAgLS0gUkZDIEVkaXRvciBpcyBhc2tlZCB0byByZXBsYWNl ICJYWFgiIChoZXJlIGFuZCBpbiB0aGUgTUlCCiAgICAgICAtLSBtb2R1bGUpIHdpdGggdGhlIGFz c2lnbmVkIHZhbHVlIGFuZCB0byByZW1vdmUgdGhpcyBub3RlLgoKCiAgIGRvdDNFcG9uT2JqZWN0 cyBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBkb3QzRXBvbk1JQiAxfQoKICAgZG90M0Vwb25Db25m b3JtYW5jZSBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBkb3QzRXBvbk1JQiAyfQoKICAgLS0gTVBD UCBNSUIgbW9kdWxlcyBkZWZpbml0aW9ucyAoWzgwMi4zYWhdIGNsYXVzZSAzMC4zLjUpCgogICBk b3QzRXBvbk1wY3BPYmplY3RzCiAgICAgICAgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgZG90M0Vw b25PYmplY3RzIDEgfQoKCgogICBkb3QzTXBjcENvbnRyb2xUYWJsZSBPQkpFQ1QtVFlQRQogICAg ICAgU1lOVEFYICBTRVFVRU5DRSBPRiBEb3QzTXBjcENvbnRyb2xFbnRyeQogICAgICAgTUFYLUFD Q0VTUyAgbm90LWFjY2Vzc2libGUKICAgICAgIFNUQVRVUyAgY3VycmVudAogICAgICAgREVTQ1JJ UFRJT04KICAgICAgICAgICAgICAgIlRhYmxlIGZvciBkb3QzIE11bHRpLVBvaW50IENvbnRyb2wg UHJvdG9jb2wgKE1QQ1ApCiAgICAgICAgICAgICAgICBNSUIgbWFuYWdlbWVudCBvYmplY3RzLiBU aGUgZW50cmllcyBpbiB0aGUgdGFibGUgYXJlCiAgICAgICAgICAgICAgICBjb250cm9sIGFuZCBz dGF0dXMgZW50aXRpZXMgb2YgdGhlIE1QQ1AuIEVhY2ggb2JqZWN0IGhhcwogICAgICAgICAgICAg ICAgYSByb3cgZm9yIGV2ZXJ5IHZpcnR1YWwgbGluayBhY2NvcmRpbmcgdG8gdGhlIHByb3Blcgog ICAgICAgICAgICAgICAgaWZJbmRleC4gVHlwaWNhbGx5IHRoZSBudW1iZXIgb2YgZXhwZWN0ZWQg dmlydHVhbCBsaW5rCiAgICAgICAgICAgICAgICBpbiBhIFBPTiBpcyBsaWtlIHRoZSBudW1iZXIg b2YgT05VcyAzMi02NCBwbHVzIGFuCiAgICAgICAgICAgICAgICBhZGRpdGlvbmFsIGVudHJ5IGZv ciBicm9hZGNhc3QgTExJRCAod2hpY2ggaXMgbWFya2VkIGJ5CiAgICAgICAgICAgICAgICAweGZm ZmYpLiBJbiB0aGUgWzgwMi4zYWhdIHRoZSBMTElEIGlzIGEgMmJ5dGVzIHJlZ2lzdGVyCiAgICAg ICAgICAgICAgICBhbmQgdGhlIG51bWJlciBvZiBMTElEcyBpcyBsaW1pdGVkIGJ5IHRoYXQuIgog ICAgICAgOjo9IHsgZG90M0Vwb25NcGNwT2JqZWN0cyAxIH0KCiAgIGRvdDNNcGNwQ29udHJvbEVu dHJ5IE9CSkVDVC1UWVBFCiAgICAgICBTWU5UQVggIERvdDNNcGNwQ29udHJvbEVudHJ5CiAgICAg ICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQogICAgICAgU1RBVFVTICBjdXJyZW50CiAgICAg ICBERVNDUklQVElPTgogICAgICAgICAgICAgICAiQW4gZW50cnkgaW4gdGhlIGRvdDMgTVBDUCBD b250cm9sIHRhYmxlLgogICAgICAgICAgICAgICAgUm93cyBpbiB0aGUgdGFibGUgYXJlIGNyZWF0 ZWQgd2hlbiBpZkluZGV4cyBhcmUgY3JlYXRlZC4KICAgICAgICAgICAgICAgIEZvciB0aGUgT05V IHJvd3MgYXJlIGNyZWF0ZWQgYXQgc3lzdGVtIGluaXRpYWxpemF0aW9uLgogICAgICAgICAgICAg ICAgRm9yIHRoZSBPTFQgdGhlIHJvd3Mgb2YgdGhlIE9MVCBpZkluZGV4IGFuZCB0aGUgcm93IG9m CiAgICAgICAgICAgICAgICB0aGUgaWZJbmRleCByZWZlcnJpbmcgdG8gdGhlIGJyb2FkY2FzdCB2 aXJ0dWFsIGxpbmsgYXJlCiAgICAgICAgICAgICAgICBjcmVhdGVkIGF0IHN5c3RlbSBpbml0aWFs aXphdGlvbi4gRm9yIHRoZSBpZkluZGV4cwogICAgICAgICAgICAgICAgcmVmZXJyaW5nIHRvIHRo ZSB2aXJ0dWFsIGxpbmtzIGF0IHRoZSBPTFQsIGEgcm93IGlzCiAgICAgICAgICAgICAgICBjcmVh dGVkIHdoZW4gYSB2aXJ0dWFsIGxpbmsgaXMgZXN0YWJsaXNoZWQgKE9OVQoKCgpLaGVybW9zaCAg ICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMTQsIDIwMDYgICAgICAgICAgICAgICBbUGFn ZSAzMV0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgTWFuYWdlZCBPYmplY3RzIG9mIEVQT04g ICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYKCgogICAgICAgICAgICAgICAgcmVnaXN0ZXJzKSBhbmQg ZGVsZXRlZCB3aGVuIHRoZSB2aXJ0dWFsIGxpbmsgaXMgZGVsZXRlZAogICAgICAgICAgICAgICAg KE9OVSBkZXJlZ2lzdGVycykuIFJvd3MgZXhpc3QgZm9yIGFuIE9MVCBpbnRlcmZhY2UgYW5kCiAg ICAgICAgICAgICAgICBhbiBPTlUgaW50ZXJmYWNlLiIKICAgICAgIElOREVYICB7IGlmSW5kZXgg fQogICAgICAgOjo9IHsgZG90M01wY3BDb250cm9sVGFibGUgMX0KCiAgIERvdDNNcGNwQ29udHJv bEVudHJ5IDo6PQogICAgICAgU0VRVUVOQ0UgewogICAgICAgICAgIGRvdDNNcGNwT3BlclN0YXR1 cyAgICAgICAgICAgICAgICAgICBUcnV0aFZhbHVlLAogICAgICAgICAgIGRvdDNNcGNwQWRtaW5T dGF0ZSAgICAgICAgICAgICAgICAgICBUcnV0aFZhbHVlLAogICAgICAgICAgIGRvdDNNcGNwTW9k ZSAgICAgICAgICAgICAgICAgICAgICAgICBJTlRFR0VSLAogICAgICAgICAgIGRvdDNNcGNwU3lu Y1RpbWUgICAgICAgICAgICAgICAgICAgICBVbnNpZ25lZDMyLAogICAgICAgICAgIGRvdDNNcGNw TGlua0lEICAgICAgICAgICAgICAgICAgICAgICBVbnNpZ25lZDMyLAogICAgICAgICAgIGRvdDNN cGNwUmVtb3RlTUFDQWRkcmVzcyAgICAgICAgICAgICBNYWNBZGRyZXNzLAogICAgICAgICAgIGRv dDNNcGNwUmVnaXN0cmF0aW9uU3RhdGUgICAgICAgICAgICBJTlRFR0VSLAogICAgICAgICAgIGRv dDNNcGNwVHJhbnNtaXRFbGFwc2VkICAgICAgICAgICAgICBVbnNpZ25lZDMyLAogICAgICAgICAg IGRvdDNNcGNwUmVjZWl2ZUVsYXBzZWQgICAgICAgICAgICAgICBVbnNpZ25lZDMyLAogICAgICAg ICAgIGRvdDNNcGNwUm91bmRUcmlwVGltZSAgICAgICAgICAgICAgICBVbnNpZ25lZDMyLAogICAg ICAgICAgIGRvdDNNcGNwTWF4aW11bVBlbmRpbmdHcmFudHMgICAgICAgICBVbnNpZ25lZDMyCiAg ICAgICB9CgogICBkb3QzTXBjcE9wZXJTdGF0dXMgT0JKRUNULVRZUEUKICAgICAgIFNZTlRBWCAg VHJ1dGhWYWx1ZQogICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgICBTVEFUVVMgIGN1 cnJlbnQKICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAgICAgICJUaGlzIHZhcmlhYmxlIHJl ZmxlY3RzIHRoZSBvcGVyYXRpb25hbCBzdGF0ZSBvZiB0aGUKICAgICAgICAgICAgICAgIE11bHRp LVBvaW50IE1BQyBDb250cm9sIHN1YmxheWVyIGFzIGRlZmluZWQgaW4gWzgwMi4zYWhdCiAgICAg ICAgICAgICAgICBjbGF1c2UgNjQuIFdoZW4gdGhlIHZhbHVlIGlzIHRydWUoMSkgdGhlIGludGVy ZmFjZSB3aWxsCiAgICAgICAgICAgICAgICBhY3QgYXMgaWYgTXVsdGktcG9pbnQgY29udHJvbCBw cm90b2NvbCBpcyBlbmFibGVkLgogICAgICAgICAgICAgICAgV2hlbiB0aGUgdmFsdWUgaXMgZmFs c2UoMikgdGhlIGludGVyZmFjZSB3aWxsIGFjdCBhcyBpZgogICAgICAgICAgICAgICAgaXQgZG9l cyBub3QgaGF2ZSB0aGUgTXVsdGktcG9pbnQgY29udHJvbCBwcm90b2NvbC4gVGhlCiAgICAgICAg ICAgICAgICBvcGVyYXRpb25hbCBzdGF0ZSBjYW4gYmUgY2hhbmdlZCB1c2luZyB0aGUKICAgICAg ICAgICAgICAgIGRvdDNNcGNwQWRtaW5TdGF0ZSBvYmplY3QuCiAgICAgICAgICAgICAgICBUaGlz IG9iamVjdCBpcyByZWxldmFudCBmb3IgYW4gT0xULCBzYW1lIGZvciBhbGwKICAgICAgICAgICAg ICAgIHZpcnR1YWwgbGlua3MsIGFuZCBmb3IgYW4gT05VLiIKICAgICAgIFJFRkVSRU5DRSAgICJb ODAyLjNhaF0sIDMwLjMuNS4xLjIuIgogICAgICAgOjo9IHsgZG90M01wY3BDb250cm9sRW50cnkg MSB9CgogICBkb3QzTXBjcEFkbWluU3RhdGUgT0JKRUNULVRZUEUKICAgICAgIFNZTlRBWCAgVHJ1 dGhWYWx1ZQogICAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQogICAgICAgU1RBVFVTICBjdXJy ZW50CiAgICAgICBERVNDUklQVElPTgogICAgICAgICAgICAgICAiVGhpcyB2YXJpYWJsZSBjYW4g YmUgdXNlZCB0byBkZWZpbmUgdGhlIGFkbWluIHN0YXRlIG9mCiAgICAgICAgICAgICAgICB0aGUg TXVsdGktUG9pbnQgTUFDIENvbnRyb2wgc3VibGF5ZXIgYXMgZGVmaW5lZCBpbgogICAgICAgICAg ICAgICAgWzgwMi4zYWhdIGNsYXVzZSA2NC4gV2hlbiBzZWxlY3RpbmcgdGhlIHZhbHVlIGFzIHRy dWUoMSkKICAgICAgICAgICAgICAgIHRoZSBpbnRlcmZhY2UgTXVsdGktUG9pbnQgY29udHJvbCBw cm90b2NvbCBpcyBlbmFibGVkLgoKCgpLaGVybW9zaCAgICAgICAgICAgICAgICAgRXhwaXJlcyBB dWd1c3QgMTQsIDIwMDYgICAgICAgICAgICAgICBbUGFnZSAzMl0KDApJbnRlcm5ldC1EcmFmdCAg ICAgICAgICAgTWFuYWdlZCBPYmplY3RzIG9mIEVQT04gICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYK CgogICAgICAgICAgICAgICAgV2hlbiBzZWxlY3RpbmcgdGhlIHZhbHVlIGFzIGZhbHNlKDIpIHRo ZSBpbnRlcmZhY2UgYWN0cwogICAgICAgICAgICAgICAgYXMgaWYgdGhlIE11bHRpLXBvaW50IENv bnRyb2wgcHJvdG9jb2wgZG9lcyBub3QgZXhpc3QuCiAgICAgICAgICAgICAgICBSZWFkaW5nIHJl ZmxlY3RzIHRoZSBzdGF0ZSBvZiB0aGUgb2JqZWN0IGFuZCB0aGUKICAgICAgICAgICAgICAgIG9w ZXJhdGlvbiBvZiB0aGUgTXVsdGktcG9pbnQgY29udHJvbCBwcm90b2NvbCBtb2RlIG9mCiAgICAg ICAgICAgICAgICB0aGUgaW50ZXJmYWNlLgogICAgICAgICAgICAgICAgV3JpdGluZyBjYW4gYmUg ZG9uZSBhdCBhbnkgdGltZS4KICAgICAgICAgICAgICAgIFRoaXMgb2JqZWN0IGlzIHJlbGV2YW50 IGZvciBhbiBPTFQsIHNhbWUgZm9yIGFsbAogICAgICAgICAgICAgICAgdmlydHVhbCBsaW5rcywg YW5kIGZvciBhbiBPTlUuIgogICAgICAgUkVGRVJFTkNFICAgIls4MDIuM2FoXSwgMzAuMy41LjIu MS4iCiAgICAgICBERUZWQUwgeyBmYWxzZSB9CiAgICAgICA6Oj0geyBkb3QzTXBjcENvbnRyb2xF bnRyeSAyIH0KCgogICBkb3QzTXBjcE1vZGUgIE9CSkVDVC1UWVBFCiAgICAgICBTWU5UQVggIElO VEVHRVIgewogICAgICAgICAgICAgICBvbHQoMSksCiAgICAgICAgICAgICAgIG9udSgyKQogICAg ICAgfQogICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgICBTVEFUVVMgIGN1cnJlbnQK ICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAgICAgICJUaGlzIHZhcmlhYmxlIGNhbiBiZSB1 c2VkIHRvIGlkZW50aWZ5IHRoZSBvcGVyYXRpb25hbAogICAgICAgICAgICAgICAgc3RhdGUgb2Yg dGhlIE11bHRpLVBvaW50IE1BQyBDb250cm9sIHN1YmxheWVyIGFzCiAgICAgICAgICAgICAgICBk ZWZpbmVkIGluIFs4MDIuM2FoXSBjbGF1c2UgNjQuIFJlYWRpbmcgb2x0KDEpIGZvciBhbgogICAg ICAgICAgICAgICAgT0xUIChzZXJ2ZXIpIG1vZGUgYW5kIG9udSgyKSBmb3IgYW4gT05VIChjbGll bnQpIG1vZGUuCiAgICAgICAgICAgICAgICBUaGlzIG9iamVjdCBpcyByZWxldmFudCBmb3IgYW4g T0xULCBzYW1lIGZvciBhbGwKICAgICAgICAgICAgICAgIHZpcnR1YWwgbGlua3MsIGFuZCBmb3Ig YW4gT05VLiIKICAgICAgIFJFRkVSRU5DRSAgICJbODAyLjNhaF0sIDMwLjMuNS4xLjMuIgogICAg ICAgREVGVkFMIHsgMSB9CiAgICAgICA6Oj0geyBkb3QzTXBjcENvbnRyb2xFbnRyeSAzIH0KCgog ICBkb3QzTXBjcFN5bmNUaW1lIE9CSkVDVC1UWVBFCiAgICAgICBTWU5UQVggIFVuc2lnbmVkMzIK ICAgICAgIFVOSVRTICAgICAgICJUUSAoMTZuc2VjKSIKICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQt b25seQogICAgICAgU1RBVFVTICBjdXJyZW50CiAgICAgICBERVNDUklQVElPTgogICAgICAgICAg ICAgICAiQSB2YWx1ZSB0aGF0IHJlcG9ydHMgdGhlICdzeW5jIGxvY2sgdGltZScgZm9yCiAgICAg ICAgICAgICAgICBhbiBPTFQgcmVjZWl2ZXIgaW4gaW5jcmVtZW50cyBvZiBUaW1lIFF1YW50YSAo VFEpIDE2bnMKICAgICAgICAgICAgICAgIGFzIGRlZmluZWQgaW4gWzgwMi4zYWhdIDYwLDY0LDY1 LiBUaGUgdmFsdWUgcmV0dXJuZWQKICAgICAgICAgICAgICAgIHNoYWxsIGJlIChzeW5jIGxvY2sg dGltZSBucykvMTYuIElmIHRoaXMgdmFsdWUgZXhjZWVkcwogICAgICAgICAgICAgICAgKDJeMzIt MSkgdGhlIHZhbHVlICgyXjMyLTEpIHNoYWxsIGJlIHJldHVybmVkLgogICAgICAgICAgICAgICAg VGhpcyBvYmplY3QgaXMgcmVsZXZhbnQgZm9yIGFuIE9MVCwgc2FtZSBmb3IgYWxsCiAgICAgICAg ICAgICAgICB2aXJ0dWFsIGxpbmtzLCBhbmQgZm9yIGFuIE9OVS4iCiAgICAgICBSRUZFUkVOQ0Ug ICAiWzgwMi4zYWhdLCA2NC4zLjMuMi4iCiAgICAgIDo6PSB7IGRvdDNNcGNwQ29udHJvbEVudHJ5 IDQgfQoKCgoKS2hlcm1vc2ggICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDE0LCAyMDA2 ICAgICAgICAgICAgICAgW1BhZ2UgMzNdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgIE1hbmFn ZWQgT2JqZWN0cyBvZiBFUE9OICAgICAgICAgICBGZWJydWFyeSAyMDA2CgoKICAgZG90M01wY3BM aW5rSUQgT0JKRUNULVRZUEUKICAgICAgIFNZTlRBWCAgVW5zaWduZWQzMgogICAgICAgTUFYLUFD Q0VTUyAgcmVhZC1vbmx5CiAgICAgICBTVEFUVVMgIGN1cnJlbnQKICAgICAgIERFU0NSSVBUSU9O CiAgICAgICAgICAgICAgICJBIHZhbHVlIHRoYXQgaWRlbnRpZmllcyB0aGUgTG9naWNhbCBMaW5r CiAgICAgICAgICAgICAgICBpZGVudGl0eSAoTExJRCkgYXNzb2NpYXRlZCB3aXRoIHRoZSBNQUMg cG9ydCBhcwogICAgICAgICAgICAgICAgc3BlY2lmaWVkIGluIFs4MDIuM2FoXSBjbGF1c2UgNjUu MS4zLjIuMi4KICAgICAgICAgICAgICAgIFRoaXMgb2JqZWN0IGlzIHJlbGV2YW50IGZvciBhbiBP TFQgYW5kIGFuIE9OVS4gRm9yCiAgICAgICAgICAgICAgICB0aGUgc2FtZSB2aXJ0dWFsIGxpbmsg dGhlIHZhbHVlIGlzIHRoZSBzYW1lIGF0IHRoZSBPTlUKICAgICAgICAgICAgICAgIGFuZCBPTFQu IFZhbHVlIGlzIGFzc2lnbmVkIHdoZW4gYW4gT05VIGlzIHJlZ2lzdGVyZWQuCiAgICAgICAgICAg ICAgICBWYWx1ZSBpcyBmcmVlZCB3aGVuIGFuIE9OVSBkZXJlZ2lzdGVyLiIKICAgICAgIFJFRkVS RU5DRSAgICJbODAyLjNhaF0sIDMwLjMuNS4xLjQuIgogICAgICAgOjo9IHsgZG90M01wY3BDb250 cm9sRW50cnkgNSB9CgogICBkb3QzTXBjcFJlbW90ZU1BQ0FkZHJlc3MgT0JKRUNULVRZUEUKICAg ICAgIFNZTlRBWCAgTWFjQWRkcmVzcwogICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAg ICBTVEFUVVMgIGN1cnJlbnQKICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAgICAgICJBIHZh bHVlIHRoYXQgaWRlbnRpZmllcyB0aGUgc291cmNlX2FkZHJlc3MKICAgICAgICAgICAgICAgIHBh cmFtZXRlciBvZiB0aGUgbGFzdCBNUENQRFVzIHBhc3NlZCB0byB0aGUgTUFDIENvbnRyb2wuCiAg ICAgICAgICAgICAgICBUaGlzIHZhbHVlIGlzIHVwZGF0ZWQgb24gcmVjZXB0aW9uIG9mIGEgdmFs aWQgZnJhbWUgd2l0aAogICAgICAgICAgICAgICAgKDEpIGEgZGVzdGluYXRpb24gRmllbGQgZXF1 YWwgdG8gdGhlIHJlc2VydmVkIG11bHRpY2FzdAogICAgICAgICAgICAgICAgYWRkcmVzcyBmb3Ig TUFDIENvbnRyb2wgc3BlY2lmaWVkIGluIFs4MDIuM10gQW5uZXgKICAgICAgICAgICAgICAgIDMx QSwgKDIpIGxlbmd0aE9yVHlwZSBmaWVsZCB2YWx1ZSBlcXVhbCB0byB0aGUgcmVzZXJ2ZWQKICAg ICAgICAgICAgICAgIFR5cGUgZm9yIE1BQyBDb250cm9sIGFzIHNwZWNpZmllZCBpbiBbODAyLjNd IEFubmV4CiAgICAgICAgICAgICAgICAzMUEuICgzKSBhbiBNUENQIHN1YnR5cGUgdmFsdWUgZXF1 YWwgdG8gdGhlIHN1YnR5cGUKICAgICAgICAgICAgICAgIHJlc2VydmVkIGZvciBNUENQIGFzIHNw ZWNpZmllZCBpbiBbODAyLjNhaF0gQW5uZXggMzFBLgogICAgICAgICAgICAgICAgVGhpcyBvYmpl Y3QgaXMgcmVsZXZhbnQgZm9yIGFuIE9MVCBhbmQgYW4gT05VLgogICAgICAgICAgICAgICAgVGhl IHZhbHVlIHJlZmxlY3RzIHRoZSBNQUMgYWRkcmVzcyBvZiB0aGUgcmVtb3RlIGVudHJ5CiAgICAg ICAgICAgICAgICBhbmQgdGhlcmVmb3JlIHRoZSBPTFQgaG9sZCBhIHZhbHVlIGZvciBlYWNoIExM SUQgYW5kIHRoZQogICAgICAgICAgICAgICAgT05VIGhhcyBhIHNpbmdsZSB2YWx1ZSB3aGljaCBp cyB0aGUgT0xUIE1BQyBhZGRyZXNzLiAiCiAgICAgICBSRUZFUkVOQ0UgICAiWzgwMi4zYWhdLCAz MC4zLjUuMS41LiIKICAgICAgIDo6PSB7IGRvdDNNcGNwQ29udHJvbEVudHJ5IDYgfQoKICAgZG90 M01wY3BSZWdpc3RyYXRpb25TdGF0ZSBPQkpFQ1QtVFlQRQogICAgICAgU1lOVEFYICBJTlRFR0VS IHsKICAgICAgICAgICAgICAgdW5yZWdpc3RlcmVkKDEpLAogICAgICAgICAgICAgICByZWdpc3Rl cmluZygyKSwKICAgICAgICAgICAgICAgcmVnaXN0ZXJlZCgzKQogICAgICAgfQogICAgICAgTUFY LUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgICBTVEFUVVMgIGN1cnJlbnQKICAgICAgIERFU0NSSVBU SU9OCiAgICAgICAgICAgICAgICJBIHZhbHVlIHRoYXQgaWRlbnRpZmllcyB0aGUgb3BlcmF0aW9u YWwgc3RhdGUKICAgICAgICAgICAgICAgIG9mIHRoZSBNdWx0aS1Qb2ludCBNQUMgQ29udHJvbCBz dWJsYXllciBhcyBkZWZpbmVkIGluCiAgICAgICAgICAgICAgICBbODAyLjNhaF0gY2xhdXNlIDY0 LiBXaGVuIHRoaXMgb2JqZWN0IGhhcyB0aGUKCgoKS2hlcm1vc2ggICAgICAgICAgICAgICAgIEV4 cGlyZXMgQXVndXN0IDE0LCAyMDA2ICAgICAgICAgICAgICAgW1BhZ2UgMzRdCgwKSW50ZXJuZXQt RHJhZnQgICAgICAgICAgIE1hbmFnZWQgT2JqZWN0cyBvZiBFUE9OICAgICAgICAgICBGZWJydWFy eSAyMDA2CgoKICAgICAgICAgICAgICAgIGVudW1lcmF0aW9uIHVucmVnaXN0ZXJlZCgxKSB0aGUg aW50ZXJmYWNlIG1heSBiZSB1c2VkCiAgICAgICAgICAgICAgICBmb3IgcmVnaXN0ZXJpbmcgYSBs aW5rIHBhcnRuZXIuIFdoZW4gdGhpcyBvYmplY3QgaGFzCiAgICAgICAgICAgICAgICB0aGUgZW51 bWVyYXRpb24gcmVnaXN0ZXJpbmcoMikgdGhlIGludGVyZmFjZSBpcyBpbiB0aGUKICAgICAgICAg ICAgICAgIHByb2Nlc3Mgb2YgcmVnaXN0ZXJpbmcgYSBsaW5rLXBhcnRuZXIuIFdoZW4gdGhpcwog ICAgICAgICAgICAgICAgb2JqZWN0IGhhcyB0aGUgZW51bWVyYXRpb24gcmVnaXN0ZXJlZCgzKSB0 aGUKICAgICAgICAgICAgICAgIGludGVyZmFjZSBoYXMgYW4gZXN0YWJsaXNoZWQgbGluay1wYXJ0 bmVyLgogICAgICAgICAgICAgICAgVGhpcyBvYmplY3QgaXMgcmVsZXZhbnQgZm9yIGFuIE9MVCBh bmQgYW4gT05VLiBGb3IKICAgICAgICAgICAgICAgIHRoZSBPTFQgaXQgcHJvdmlkZXMgYW4gaW5k aWNhdGlvbiBwZXIgTExJRC4iCiAgICAgICBSRUZFUkVOQ0UgICAiWzgwMi4zYWhdLCAzMC4zLjUu MS42LiIKICAgICAgIDo6PSB7IGRvdDNNcGNwQ29udHJvbEVudHJ5IDcgfQoKICAgZG90M01wY3BU cmFuc21pdEVsYXBzZWQgT0JKRUNULVRZUEUKICAgICAgIFNZTlRBWCAgVW5zaWduZWQzMgogICAg ICAgVU5JVFMgICAgICAgIlRRICgxNm5zZWMpIgogICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5 CiAgICAgICBTVEFUVVMgIGN1cnJlbnQKICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAgICAg ICJBIHZhbHVlIHRoYXQgcmVwb3J0cyB0aGUgaW50ZXJ2YWwgZnJvbSBsYXN0CiAgICAgICAgICAg ICAgICBNUENQIGZyYW1lIHRyYW5zbWlzc2lvbiBpbiBpbmNyZW1lbnRzIG9mIFRpbWUgUXVhbnRh CiAgICAgICAgICAgICAgICAoVFEpIDE2bnMuIFRoZSB2YWx1ZSByZXR1cm5lZCBzaGFsbCBiZSAo aW50ZXJ2YWwgZnJvbQogICAgICAgICAgICAgICAgbGFzdCBNUENQIGZyYW1lIHRyYW5zbWlzc2lv biBpbiBucykvMTYuIElmIHRoaXMgdmFsdWUKICAgICAgICAgICAgICAgIGV4Y2VlZHMgKDJeMzIt MSkgdGhlIHZhbHVlICgyXjMyLTEpIHNoYWxsIGJlIHJldHVybmVkLgogICAgICAgICAgICAgICAg VGhpcyBvYmplY3QgaXMgcmVsZXZhbnQgZm9yIGFuIE9MVCBhbmQgYW4gT05VLiBGb3IKICAgICAg ICAgICAgICAgIHRoZSBPTFQgaXQgcHJvdmlkZXMgYW4gaW5kaWNhdGlvbiBwZXIgTExJRC4iCiAg ICAgICBSRUZFUkVOQ0UgICAiWzgwMi4zYWhdLCAzMC4zLjUuMS4xOS4iCiAgICAgICA6Oj0geyBk b3QzTXBjcENvbnRyb2xFbnRyeSA4IH0KCiAgIGRvdDNNcGNwUmVjZWl2ZUVsYXBzZWQgT0JKRUNU LVRZUEUKICAgICAgIFNZTlRBWCAgVW5zaWduZWQzMgogICAgICAgVU5JVFMgICAgICAgIlRRICgx Nm5zZWMpIgogICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgICBTVEFUVVMgIGN1cnJl bnQKICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAgICAgICJBIHZhbHVlIHRoYXQgcmVwb3J0 cyB0aGUgaW50ZXJ2YWwgZnJvbSBsYXN0CiAgICAgICAgICAgICAgICBNUENQIGZyYW1lIHJlY2Vw dGlvbiBpbiBpbmNyZW1lbnRzIG9mIFRpbWUgUXVhbnRhIChUUSkKICAgICAgICAgICAgICAgIDE2 bnMuIFRoZSB2YWx1ZSByZXR1cm5lZCBzaGFsbCBiZSAoaW50ZXJ2YWwgZnJvbSBsYXN0CiAgICAg ICAgICAgICAgICBNUENQIGxhc3QgTVBDUCBmcmFtZSByZWNlcHRpb24gaW4gbnMpLzE2LiBJZiB0 aGlzIHZhbHVlCiAgICAgICAgICAgICAgICBleGNlZWRzICgyXjMyLTEpIHRoZSB2YWx1ZSAoMl4z Mi0xKSBzaGFsbCBiZSByZXR1cm5lZC4KICAgICAgICAgICAgICAgIFRoaXMgb2JqZWN0IGlzIHJl bGV2YW50IGZvciBhbiBPTFQgYW5kIGFuIE9OVS4gRm9yCiAgICAgICAgICAgICAgICB0aGUgT0xU IGl0IHByb3ZpZGVzIGFuIGluZGljYXRpb24gcGVyIExMSUQuIgogICAgICAgUkVGRVJFTkNFICAg Ils4MDIuM2FoXSwgMzAuMy41LjEuMjAuIgogICAgICAgOjo9IHsgZG90M01wY3BDb250cm9sRW50 cnkgOSB9CgogICBkb3QzTXBjcFJvdW5kVHJpcFRpbWUgT0JKRUNULVRZUEUKICAgICAgIFNZTlRB WCAgVW5zaWduZWQzMiAoMC4uJ2ZmZmYnaCkKICAgICAgIFVOSVRTICAgICAgICJUUSAoMTZuc2Vj KSIKICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgICAgU1RBVFVTICBjdXJyZW50CgoK CktoZXJtb3NoICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAxNCwgMjAwNiAgICAgICAg ICAgICAgIFtQYWdlIDM1XQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICBNYW5hZ2VkIE9iamVj dHMgb2YgRVBPTiAgICAgICAgICAgRmVicnVhcnkgMjAwNgoKCiAgICAgICBERVNDUklQVElPTgog ICAgICAgICAgICAgICAiQSB2YWx1ZSB0aGF0IHJlcG9ydHMgdGhlIE1QQ1Agcm91bmQgdHJpcCB0 aW1lCiAgICAgICAgICAgICAgICBpbiBpbmNyZW1lbnRzIG9mIFRpbWUgUXVhbnRhIChUUSkgMTZu cy4gVGhlIHZhbHVlCiAgICAgICAgICAgICAgICByZXR1cm5lZCBzaGFsbCBiZSAocm91bmQgdHJp cCB0aW1lIGluIG5zKS8xNi4gSWYgdGhpcwogICAgICAgICAgICAgICAgdmFsdWUgZXhjZWVkcyAo Ml4xNi0xKSB0aGUgdmFsdWUgKDJeMTYtMSkgIHNoYWxsIGJlCiAgICAgICAgICAgICAgICByZXR1 cm5lZC4gVGhpcyBvYmplY3QgaXMgcmVsZXZhbnQgZm9yIGFuIE9MVCBvbmx5LgogICAgICAgICAg ICAgICAgRm9yIHRoZSBPTFQgdGhlcmUgaXMgYSB2YWx1ZSBwZXIgTExJRCIKICAgICAgIFJFRkVS RU5DRSAgICJbODAyLjNhaF0sIDMwLjMuNS4xLjIxLiIKICAgICAgIDo6PSB7IGRvdDNNcGNwQ29u dHJvbEVudHJ5IDEwIH0KCiAgIGRvdDNNcGNwTWF4aW11bVBlbmRpbmdHcmFudHMgT0JKRUNULVRZ UEUKICAgICAgIFNZTlRBWCAgVW5zaWduZWQzMiAoMC4uMjU1KQogICAgICAgTUFYLUFDQ0VTUyAg cmVhZC1vbmx5CiAgICAgICBTVEFUVVMgIGN1cnJlbnQKICAgICAgIERFU0NSSVBUSU9OCiAgICAg ICAgICAgICAgICJBIHZhbHVlIHRoYXQgaW5kaWNhdGVzIHRoZSBtYXhpbXVtIG51bWJlciBvZgog ICAgICAgICAgICAgICAgZ3JhbnRzIGFuIE9OVSBjYW4gc3RvcmUuIFRoZSBtYXhpbXVtIG51bWJl ciBvZiBncmFudHMgYW4KICAgICAgICAgICAgICAgIE9OVSBjYW4gc3RvcmUgaGFzIGEgcmFuZ2Ug b2YgMCB0byAyNTUuCiAgICAgICAgICAgICAgICBUaGlzIG9iamVjdCBpcyByZWxldmFudCBmb3Ig YW4gT0xUIGFuZCBhbiBPTlUuIEZvcgogICAgICAgICAgICAgICAgdGhlIE9MVCB0aGVyZSBpcyBh IHZhbHVlIHBlciBMTElEIgogICAgICAgUkVGRVJFTkNFICAgIls4MDIuM2FoXSwgMzAuMy41LjEu MjQuIgogICAgICAgOjo9IHsgZG90M01wY3BDb250cm9sRW50cnkgMTEgfQoKCiAgIGRvdDNNcGNw U3RhdFRhYmxlIE9CSkVDVC1UWVBFCiAgICAgICBTWU5UQVggICAgIFNFUVVFTkNFIE9GIERvdDNN cGNwU3RhdEVudHJ5CiAgICAgICBNQVgtQUNDRVNTIG5vdC1hY2Nlc3NpYmxlCiAgICAgICBTVEFU VVMgICAgIGN1cnJlbnQKICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAgICAgICJUaGlzIHRh YmxlIGRlZmluZXMgdGhlIGxpc3Qgb2Ygc3RhdGlzdGljcyBjb3VudGVycyBmb3IKICAgICAgICAg ICAgICAgIFs4MDIuM2FoXSBjbGF1c2UgNjQgTVBDUCBpbnRlcmZhY2UuIEVhY2ggb2JqZWN0IGhh cwogICAgICAgICAgICAgICAgYSByb3cgZm9yIGV2ZXJ5IHZpcnR1YWwgbGluayBhY2NvcmRpbmcg dG8gdGhlIHByb3BlcgogICAgICAgICAgICAgICAgaWZJbmRleC4gVHlwaWNhbGx5IHRoZSBudW1i ZXIgb2YgZXhwZWN0ZWQgdmlydHVhbCBsaW5rCiAgICAgICAgICAgICAgICBpbiBhIFBPTiBpcyBs aWtlIHRoZSBudW1iZXIgb2YgT05VcyAzMi02NCBwbHVzIGFuCiAgICAgICAgICAgICAgICBhZGRp dGlvbmFsIGVudHJ5IGZvciBicm9hZGNhc3QgTExJRCAod2hpY2ggaXMgbWFya2VkIGJ5CiAgICAg ICAgICAgICAgICAweGZmZmYpLiBJbiB0aGUgWzgwMi4zYWhdIHRoZSBMTElEIGlzIGEgMmJ5dGVz IHJlZ2lzdGVyCiAgICAgICAgICAgICAgICBhbmQgdGhlIG51bWJlciBvZiBMTElEcyBpcyBsaW1p dGVkIGJ5IHRoYXQuIgogICA6Oj0geyBkb3QzRXBvbk1wY3BPYmplY3RzIDIgfQoKICAgZG90M01w Y3BTdGF0RW50cnkgT0JKRUNULVRZUEUKICAgICAgIFNZTlRBWCAgICAgRG90M01wY3BTdGF0RW50 cnkKICAgICAgIE1BWC1BQ0NFU1Mgbm90LWFjY2Vzc2libGUKICAgICAgIFNUQVRVUyAgICAgY3Vy cmVudAogICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICAgICAgIlRhYmxlIGVudHJpZXMgZm9y IHRoZSB0YWJsZSBvZiBzdGF0aXN0aWNzIGNvdW50ZXJzIG9mCiAgICAgICAgICAgICAgICBbODAy LjNhaF0gY2xhdXNlIDY0IE1QQ1AgaW50ZXJmYWNlLgogICAgICAgICAgICAgICAgUm93cyBpbiB0 aGUgdGFibGUgYXJlIGNyZWF0ZWQgd2hlbiBpZkluZGV4cyBhcmUgY3JlYXRlZC4KICAgICAgICAg ICAgICAgIEZvciB0aGUgT05VIHJvd3MgYXJlIGNyZWF0ZWQgYXQgc3lzdGVtIGluaXRpYWxpemF0 aW9uLgoKCgpLaGVybW9zaCAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMTQsIDIwMDYg ICAgICAgICAgICAgICBbUGFnZSAzNl0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgTWFuYWdl ZCBPYmplY3RzIG9mIEVQT04gICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYKCgogICAgICAgICAgICAg ICAgRm9yIHRoZSBPTFQgdGhlIHJvd3Mgb2YgdGhlIE9MVCBpZkluZGV4IGFuZCB0aGUgcm93IG9m CiAgICAgICAgICAgICAgICB0aGUgaWZJbmRleCByZWZlcnJpbmcgdG8gdGhlIGJyb2FkY2FzdCB2 aXJ0dWFsIGxpbmsgYXJlCiAgICAgICAgICAgICAgICBjcmVhdGVkIGF0IHN5c3RlbSBpbml0aWFs aXphdGlvbi4gRm9yIHRoZSBpZkluZGV4cwogICAgICAgICAgICAgICAgcmVmZXJyaW5nIHRvIHRo ZSB2aXJ0dWFsIGxpbmtzIGF0IHRoZSBPTFQsIGEgcm93IGlzCiAgICAgICAgICAgICAgICBjcmVh dGVkIHdoZW4gYSB2aXJ0dWFsIGxpbmsgaXMgZXN0YWJsaXNoZWQgKE9OVQogICAgICAgICAgICAg ICAgcmVnaXN0ZXJzKSBhbmQgZGVsZXRlZCB3aGVuIHRoZSB2aXJ0dWFsIGxpbmsgaXMgZGVsZXRl ZAogICAgICAgICAgICAgICAgKE9OVSBkZXJlZ2lzdGVycykuIFJvd3MgZXhpc3QgZm9yIGFuIE9M VCBpbnRlcmZhY2UgYW5kCiAgICAgICAgICAgICAgICBhbiBPTlUgaW50ZXJmYWNlLiIKCiAgICAg ICBJTkRFWCAgeyBpZkluZGV4fQogICAgICAgOjo9IHsgZG90M01wY3BTdGF0VGFibGUgMSB9Cgog ICBEb3QzTXBjcFN0YXRFbnRyeSA6Oj0KICAgICAgIFNFUVVFTkNFIHsKICAgICAgICAgICAgICAg ZG90M01wY3BNQUNDdHJsRnJhbWVzVHJhbnNtaXR0ZWQgICAgICAgQ291bnRlcjY0LAogICAgICAg ICAgICAgICBkb3QzTXBjcE1BQ0N0cmxGcmFtZXNSZWNlaXZlZCAgICAgICAgICBDb3VudGVyNjQs CiAgICAgICAgICAgICAgIGRvdDNNcGNwRGlzY292ZXJ5V2luZG93c1NlbnQgICAgICAgICAgIENv dW50ZXIzMiwKICAgICAgICAgICAgICAgZG90M01wY3BEaXNjb3ZlcnlUaW1lb3V0ICAgICAgICAg ICAgICAgQ291bnRlcjMyLAogICAgICAgICAgICAgICBkb3QzTXBjcFR4UmVnUmVxdWVzdCAgICAg ICAgICAgICAgICAgICBDb3VudGVyNjQsCiAgICAgICAgICAgICAgIGRvdDNNcGNwUnhSZWdSZXF1 ZXN0ICAgICAgICAgICAgICAgICAgIENvdW50ZXI2NCwKICAgICAgICAgICAgICAgZG90M01wY3BU eFJlZ0FjayAgICAgICAgICAgICAgICAgICAgICAgQ291bnRlcjY0LAogICAgICAgICAgICAgICBk b3QzTXBjcFJ4UmVnQWNrICAgICAgICAgICAgICAgICAgICAgICBDb3VudGVyNjQsCiAgICAgICAg ICAgICAgIGRvdDNNcGNwVHhSZXBvcnQgICAgICAgICAgICAgICAgICAgICAgIENvdW50ZXI2NCwK ICAgICAgICAgICAgICAgZG90M01wY3BSeFJlcG9ydCAgICAgICAgICAgICAgICAgICAgICAgQ291 bnRlcjY0LAogICAgICAgICAgICAgICBkb3QzTXBjcFR4R2F0ZSAgICAgICAgICAgICAgICAgICAg ICAgICBDb3VudGVyNjQsCiAgICAgICAgICAgICAgIGRvdDNNcGNwUnhHYXRlICAgICAgICAgICAg ICAgICAgICAgICAgIENvdW50ZXI2NCwKICAgICAgICAgICAgICAgZG90M01wY3BUeFJlZ2lzdGVy ICAgICAgICAgICAgICAgICAgICAgQ291bnRlcjY0LAogICAgICAgICAgICAgICBkb3QzTXBjcFJ4 UmVnaXN0ZXIgICAgICAgICAgICAgICAgICAgICBDb3VudGVyNjQKICAgICAgIH0KCiAgIGRvdDNN cGNwTUFDQ3RybEZyYW1lc1RyYW5zbWl0dGVkIE9CSkVDVC1UWVBFCiAgICAgICBTWU5UQVggIENv dW50ZXI2NAogICAgICAgVU5JVFMgICAgICAiZnJhbWVzIgogICAgICAgTUFYLUFDQ0VTUyAgcmVh ZC1vbmx5CiAgICAgICBTVEFUVVMgIGN1cnJlbnQKICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAg ICAgICAgICJBIGNvdW50IG9mIE1QQ1AgZnJhbWVzIHBhc3NlZCB0byB0aGUgTUFDIHN1YmxheWVy IGZvcgogICAgICAgICAgICAgICAgdHJhbnNtaXNzaW9uLiBUaGlzIGNvdW50ZXIgaXMgaW5jcmVt ZW50ZWQgd2hlbiBhCiAgICAgICAgICAgICAgICBNQV9DT05UUk9MLnJlcXVlc3Qgc2VydmljZSBw cmltaXRpdmUgaXMgZ2VuZXJhdGVkIHdpdGhpbgogICAgICAgICAgICAgICAgdGhlIE1BQyBjb250 cm9sIHN1YmxheWVyIHdpdGggYW4gb3Bjb2RlIGluZGljYXRpbmcgYQogICAgICAgICAgICAgICAg TVBDUCBmcmFtZS4KICAgICAgICAgICAgICAgIFRoaXMgY291bnRlciBpcyByZWxldmFudCBmb3Ig YW4gT0xUIGFuZCBhbiBPTlUuIEZvcgogICAgICAgICAgICAgICAgdGhlIE9MVCB0aGVyZSBpcyBh IHZhbHVlIHBlciBMTElELiIKICAgICAgIFJFRkVSRU5DRSAgICJbODAyLjNhaF0sIDMwLjMuNS4x LjcuIgogICAgICAgOjo9IHsgZG90M01wY3BTdGF0RW50cnkgMSB9CgogICBkb3QzTXBjcE1BQ0N0 cmxGcmFtZXNSZWNlaXZlZCBPQkpFQ1QtVFlQRQogICAgICAgU1lOVEFYICBDb3VudGVyNjQKCgoK S2hlcm1vc2ggICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDE0LCAyMDA2ICAgICAgICAg ICAgICAgW1BhZ2UgMzddCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgIE1hbmFnZWQgT2JqZWN0 cyBvZiBFUE9OICAgICAgICAgICBGZWJydWFyeSAyMDA2CgoKICAgICAgIFVOSVRTICAgICAgImZy YW1lcyIKICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgICAgU1RBVFVTICBjdXJyZW50 CiAgICAgICBERVNDUklQVElPTgogICAgICAgICAgICAgICAiQSBjb3VudCBvZiBNUENQIGZyYW1l cyBwYXNzZWQgYnkgdGhlIE1BQyBzdWJsYXllciB0byB0aGUKICAgICAgICAgICAgICAgIE1BQyBD b250cm9sIHN1YmxheWVyLiBUaGlzIGNvdW50ZXIgaXMgaW5jcmVtZW50ZWQgd2hlbiBhCiAgICAg ICAgICAgICAgICBSZWNlaXZlRnJhbWUgZnVuY3Rpb24gY2FsbCByZXR1cm5zIGEgdmFsaWQgZnJh bWUgd2l0aDoKICAgICAgICAgICAgICAgICgxKSBhIGxlbmd0aE9yVHlwZSBmaWVsZCB2YWx1ZSBl cXVhbCB0byB0aGUgcmVzZXJ2ZWQKICAgICAgICAgICAgICAgIFR5cGUgZm9yIDgwMi4zX01BQ19D b250cm9sIGFzIHNwZWNpZmllZCBpbiAzMS40LjEuMywgYW5kCiAgICAgICAgICAgICAgICAoMikg YW4gb3Bjb2RlIGluZGljYXRpbmcgYSBNUENQIGZyYW1lLgogICAgICAgICAgICAgICAgVGhpcyBj b3VudGVyIGlzIHJlbGV2YW50IGZvciBhbiBPTFQgYW5kIGFuIE9OVS4gRm9yCiAgICAgICAgICAg ICAgICB0aGUgT0xUIHRoZXJlIGlzIGEgdmFsdWUgcGVyIExMSUQuIgogICAgICAgUkVGRVJFTkNF ICAgIls4MDIuM2FoXSwgMzAuMy41LjEuOC4iCiAgICAgICA6Oj0geyBkb3QzTXBjcFN0YXRFbnRy eSAyfQoKICAgZG90M01wY3BEaXNjb3ZlcnlXaW5kb3dzU2VudCBPQkpFQ1QtVFlQRQogICAgICAg U1lOVEFYICBDb3VudGVyMzIKICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgICAgU1RB VFVTICBjdXJyZW50CiAgICAgICBERVNDUklQVElPTgogICAgICAgICAgICAgICAiQSBjb3VudCBv ZiBkaXNjb3Zlcnkgd2luZG93cyBnZW5lcmF0ZWQuIFRoZSBjb3VudGVyIGlzCiAgICAgICAgICAg ICAgICBpbmNyZW1lbnRlZCBieSBvbmUgZm9yIGVhY2ggZ2VuZXJhdGVkIGRpc2NvdmVyeSB3aW5k b3cuCiAgICAgICAgICAgICAgICBUaGlzIGNvdW50ZXIgaXMgcmVsZXZhbnQgZm9yIGFuIE9MVCBh bmQgYW4gT05VLiBGb3IKICAgICAgICAgICAgICAgIHRoZSBPTFQgdGhlcmUgaXMgYSB2YWx1ZSBw ZXIgTExJRC4gQXQgdGhlIE9OVSB2YWx1ZQogICAgICAgICAgICAgICAgc2hvdWxkIGJlIHplcm8u IgogICAgICAgUkVGRVJFTkNFICAgIls4MDIuM2FoXSwgMzAuMy41LjEuMjIuIgogICAgICAgOjo9 IHsgZG90M01wY3BTdGF0RW50cnkgM30KCiAgIGRvdDNNcGNwRGlzY292ZXJ5VGltZW91dCBPQkpF Q1QtVFlQRQogICAgICAgU1lOVEFYICBDb3VudGVyMzIKICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQt b25seQogICAgICAgU1RBVFVTICBjdXJyZW50CiAgICAgICBERVNDUklQVElPTgogICAgICAgICAg ICAgICAiQSBjb3VudCBvZiB0aGUgbnVtYmVyIG9mIHRpbWVzIGEgZGlzY292ZXJ5IHRpbWVvdXQK ICAgICAgICAgICAgICAgIG9jY3Vycy4gSW5jcmVtZW50IHRoZSBjb3VudGVyIGJ5IG9uZSBmb3Ig ZWFjaCBkaXNjb3ZlcnkKICAgICAgICAgICAgICAgIHByb2Nlc3Npbmcgc3RhdGUtbWFjaGluZSBy ZXNldCByZXN1bHRpbmcgZnJvbSB0aW1lb3V0CiAgICAgICAgICAgICAgICB3YWl0aW5nIGZvciBt ZXNzYWdlIGFycml2YWwuCiAgICAgICAgICAgICAgICBUaGlzIGNvdW50ZXIgaXMgcmVsZXZhbnQg Zm9yIGFuIE9MVCBhbmQgYW4gT05VLiBGb3IKICAgICAgICAgICAgICAgIHRoZSBPTFQgdGhlcmUg aXMgYSB2YWx1ZSBwZXIgTExJRC4iCiAgICAgICBSRUZFUkVOQ0UgICAiWzgwMi4zYWhdLCAzMC4z LjUuMS4yMy4iCiAgICAgICA6Oj0geyBkb3QzTXBjcFN0YXRFbnRyeSA0fQoKCiAgIGRvdDNNcGNw VHhSZWdSZXF1ZXN0IE9CSkVDVC1UWVBFCiAgICAgICBTWU5UQVggIENvdW50ZXI2NAogICAgICAg VU5JVFMgICAgICAiZnJhbWVzIgogICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgICBT VEFUVVMgIGN1cnJlbnQKCgoKS2hlcm1vc2ggICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0 IDE0LCAyMDA2ICAgICAgICAgICAgICAgW1BhZ2UgMzhdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAg ICAgIE1hbmFnZWQgT2JqZWN0cyBvZiBFUE9OICAgICAgICAgICBGZWJydWFyeSAyMDA2CgoKICAg ICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAgICAgICJBIGNvdW50IG9mIHRoZSBudW1iZXIgb2Yg dGltZXMgYSBSRUdJU1RFUl9SRVEgTVBDUAogICAgICAgICAgICAgICAgZnJhbWVzIHRyYW5zbWlz c2lvbiBvY2N1cnMuIEluY3JlbWVudCB0aGUgY291bnRlciBieSBvbmUKICAgICAgICAgICAgICAg IGZvciBlYWNoIFJFR0lTVEVSX1JFUSBNUENQIGZyYW1lIHRyYW5zbWl0dGVkIGFzIGRlZmluZWQK ICAgICAgICAgICAgICAgIGluIFs4MDIuM2FoXSBjbGF1c2UgNjQuIFRoaXMgY291bnRlciBpcyBt YW5kYXRvcnkgZm9yIGFuCiAgICAgICAgICAgICAgICBPTlUuIFRoaXMgY291bnRlciBpcyByZWxl dmFudCBmb3IgYW4gT0xUIGFuZCBhbiBPTlUuCiAgICAgICAgICAgICAgICBGb3IgdGhlIE9MVCB0 aGVyZSBpcyBhIHZhbHVlIHBlciBMTElELiBBdCB0aGUgT0xUIHZhbHVlCiAgICAgICAgICAgICAg ICBzaG91bGQgYmUgemVyby4iCiAgICAgICBSRUZFUkVOQ0UgICAiWzgwMi4zYWhdLCAzMC4zLjUu MS4xMi4iCiAgICAgICA6Oj0geyBkb3QzTXBjcFN0YXRFbnRyeSA1fQoKICAgZG90M01wY3BSeFJl Z1JlcXVlc3QgT0JKRUNULVRZUEUKICAgICAgIFNZTlRBWCAgQ291bnRlcjY0CiAgICAgICBVTklU UyAgICAgICJmcmFtZXMiCiAgICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICAgIFNUQVRV UyAgY3VycmVudAogICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICAgICAgIkEgY291bnQgb2Yg dGhlIG51bWJlciBvZiB0aW1lcyBhIFJFR0lTVEVSX1JFUSBNUENQCiAgICAgICAgICAgICAgICBm cmFtZXMgcmVjZXB0aW9uIG9jY3Vycy4gQSBzaW5nbGUgY291bnRlciBhdCB0aGUgT05VIGFuZAog ICAgICAgICAgICAgICAgYSBzZXQgb2YgY291bnRlcnMsIG9uZSBmb3IgZWFjaCBMTElELCBhdCB0 aGUgT0xULgogICAgICAgICAgICAgICAgSW5jcmVtZW50IHRoZSBjb3VudGVyIGJ5IG9uZSBmb3Ig ZWFjaCBSRUdJU1RFUl9SRVEgTVBDUAogICAgICAgICAgICAgICAgZnJhbWUgcmVjZWl2ZWQgZm9y IGVhY2ggTExJRCBhcyBkZWZpbmVkIGluIFs4MDIuM2FoXQogICAgICAgICAgICAgICAgY2xhdXNl IDY0LiBUaGlzIGNvdW50ZXIgaXMgbWFuZGF0b3J5IGZvciBhbiBPTlUgYW5kIGZvcgogICAgICAg ICAgICAgICAgYW4gT0xULiBGb3IgdGhlIE9MVCB0aGVyZSBpcyBhIHZhbHVlIHBlciBMTElELgog ICAgICAgICAgICAgICAgQXQgdGhlIE9OVSB2YWx1ZSBzaG91bGQgYmUgemVyby4iCiAgICAgICBS RUZFUkVOQ0UgICAiWzgwMi4zYWhdLCAzMC4zLjUuMS4xNy4iCiAgICAgICA6Oj0geyBkb3QzTXBj cFN0YXRFbnRyeSA2fQoKICAgZG90M01wY3BUeFJlZ0FjayBPQkpFQ1QtVFlQRQogICAgICAgU1lO VEFYICBDb3VudGVyNjQKICAgICAgIFVOSVRTICAgICAgImZyYW1lcyIKICAgICAgIE1BWC1BQ0NF U1MgIHJlYWQtb25seQogICAgICAgU1RBVFVTICBjdXJyZW50CiAgICAgICBERVNDUklQVElPTgog ICAgICAgICAgICAgICAiQSBjb3VudCBvZiB0aGUgbnVtYmVyIG9mIHRpbWVzIGEgUkVHSVNURVJf QUNLIE1QQ1AKICAgICAgICAgICAgICAgIGZyYW1lcyB0cmFuc21pc3Npb24gb2NjdXJzLiBJbmNy ZW1lbnQgdGhlIGNvdW50ZXIgYnkgb25lCiAgICAgICAgICAgICAgICBmb3IgZWFjaCBSRUdJU1RF Ul9BQ0sgTVBDUCBmcmFtZSB0cmFuc21pdHRlZCBhcyBkZWZpbmVkCiAgICAgICAgICAgICAgICBp biBbODAyLjNhaF0gY2xhdXNlIDY0LiBUaGlzIGNvdW50ZXIgaXMgbWFuZGF0b3J5IGZvciBhbgog ICAgICAgICAgICAgICAgT05VLiBUaGlzIG9iamVjdCBpcyByZWxldmFudCBmb3IgYW4gT0xUIGFu ZCBhbiBPTlUuCiAgICAgICAgICAgICAgICBGb3IgdGhlIE9MVCB0aGVyZSBpcyBhIHZhbHVlIHBl ciBMTElELiBBdCB0aGUgT0xUIHRoZQogICAgICAgICAgICAgICAgdmFsdWUgc2hvdWxkIGJlIHpl cm8uIgogICAgICAgUkVGRVJFTkNFICAgIls4MDIuM2FoXSwgMzAuMy41LjEuMTAuIgogICAgICAg Ojo9IHsgZG90M01wY3BTdGF0RW50cnkgN30KCiAgIGRvdDNNcGNwUnhSZWdBY2sgT0JKRUNULVRZ UEUKICAgICAgIFNZTlRBWCAgQ291bnRlcjY0CiAgICAgICBVTklUUyAgICAgICJmcmFtZXMiCiAg ICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKCgoKS2hlcm1vc2ggICAgICAgICAgICAgICAgIEV4 cGlyZXMgQXVndXN0IDE0LCAyMDA2ICAgICAgICAgICAgICAgW1BhZ2UgMzldCgwKSW50ZXJuZXQt RHJhZnQgICAgICAgICAgIE1hbmFnZWQgT2JqZWN0cyBvZiBFUE9OICAgICAgICAgICBGZWJydWFy eSAyMDA2CgoKICAgICAgIFNUQVRVUyAgY3VycmVudAogICAgICAgREVTQ1JJUFRJT04KICAgICAg ICAgICAgICAgIkEgY291bnQgb2YgdGhlIG51bWJlciBvZiB0aW1lcyBhIFJFR0lTVEVSX0FDSyBN UENQCiAgICAgICAgICAgICAgICBmcmFtZXMgcmVjZXB0aW9uIG9jY3Vycy4gQSBzaW5nbGUgY291 bnRlciBhdCB0aGUgT05VIGFuZAogICAgICAgICAgICAgICAgYSBzZXQgb2YgY291bnRlcnMsIG9u ZSBmb3IgZWFjaCBMTElELCBhdCB0aGUgT0xULgogICAgICAgICAgICAgICAgSW5jcmVtZW50IHRo ZSBjb3VudGVyIGJ5IG9uZSBmb3IgZWFjaCBSRUdJU1RFUl9BQ0sgTVBDUAogICAgICAgICAgICAg ICAgZnJhbWUgcmVjZWl2ZWQgZm9yIGVhY2ggTExJRCwgYXMgZGVmaW5lZCBpbiBbODAyLjNhaF0K ICAgICAgICAgICAgICAgIGNsYXVzZSA2NC4gVGhpcyBjb3VudGVyIGlzIG1hbmRhdG9yeSBmb3Ig YW4gT05VIGFuZCBmb3IKICAgICAgICAgICAgICAgIGFuIE9MVC4gRm9yIHRoZSBPTFQgdGhlcmUg aXMgYSB2YWx1ZSBwZXIgTExJRC4KICAgICAgICAgICAgICAgIEF0IHRoZSBPTlUgdGhlIHZhbHVl IHNob3VsZCBiZSB6ZXJvLiIKICAgICAgIFJFRkVSRU5DRSAgICJbODAyLjNhaF0sIDMwLjMuNS4x LjE1LiIKICAgICAgIDo6PSB7IGRvdDNNcGNwU3RhdEVudHJ5IDh9CgogICBkb3QzTXBjcFR4UmVw b3J0IE9CSkVDVC1UWVBFCiAgICAgICBTWU5UQVggIENvdW50ZXI2NAogICAgICAgVU5JVFMgICAg ICAiZnJhbWVzIgogICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgICBTVEFUVVMgIGN1 cnJlbnQKICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAgICAgICJBIGNvdW50IG9mIHRoZSBu dW1iZXIgb2YgdGltZXMgYSBSRVBPUlQgTVBDUCBmcmFtZXMKICAgICAgICAgICAgICAgIHRyYW5z bWlzc2lvbiBvY2N1cnMuIEluY3JlbWVudCB0aGUgY291bnRlciBieSBvbmUgZm9yCiAgICAgICAg ICAgICAgICBlYWNoIFJFUE9SVCBNUENQIGZyYW1lIHRyYW5zbWl0dGVkIGFzIGRlZmluZWQgaW4K ICAgICAgICAgICAgICAgIFs4MDIuM2FoXSBjbGF1c2UgNjQuIFRoaXMgY291bnRlciBpcyBtYW5k YXRvcnkgZm9yIGFuCiAgICAgICAgICAgICAgICBPTlUuIFRoaXMgY291bnRlciBpcyByZWxldmFu dCBmb3IgYW4gT0xUIGFuZCBhbiBPTlUuCiAgICAgICAgICAgICAgICBGb3IgdGhlIE9MVCB0aGVy ZSBpcyBhIHZhbHVlIHBlciBMTElELgogICAgICAgICAgICAgICAgQXQgdGhlIE9MVCB2YWx1ZSBz aG91bGQgYmUgemVyby4iCiAgICAgICBSRUZFUkVOQ0UgICAiWzgwMi4zYWhdLCAzMC4zLjUuMS4x My4iCiAgICAgICA6Oj0geyBkb3QzTXBjcFN0YXRFbnRyeSA5fQoKICAgZG90M01wY3BSeFJlcG9y dCBPQkpFQ1QtVFlQRQogICAgICAgU1lOVEFYICBDb3VudGVyNjQKICAgICAgIFVOSVRTICAgICAg ImZyYW1lcyIKICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgICAgU1RBVFVTICBjdXJy ZW50CiAgICAgICBERVNDUklQVElPTgogICAgICAgICAgICAgICAiQSBjb3VudCBvZiB0aGUgbnVt YmVyIG9mIHRpbWVzIGEgUkVQT1JUIE1QQ1AgZnJhbWVzCiAgICAgICAgICAgICAgICByZWNlcHRp b24gb2NjdXJzLiBBIHNpbmdsZSBjb3VudGVyIGF0IHRoZSBPTlUgYW5kIGEgc2V0CiAgICAgICAg ICAgICAgICBvZiBjb3VudGVycywgb25lIGZvciBlYWNoIExMSUQsIGF0IHRoZSBPTFQuIEluY3Jl bWVudAogICAgICAgICAgICAgICAgdGhlIGNvdW50ZXIgYnkgb25lIGZvciBlYWNoIFJFUE9SVCBN UENQIGZyYW1lIHJlY2VpdmVkCiAgICAgICAgICAgICAgICBmb3IgZWFjaCBMTElELCBhcyBkZWZp bmVkIGluIFs4MDIuM2FoXSBjbGF1c2UgNjQuCiAgICAgICAgICAgICAgICBUaGlzIGNvdW50ZXIg aXMgbWFuZGF0b3J5IGZvciBhbiBPTlUgYW5kIGZvciBhbiBPTFQuCiAgICAgICAgICAgICAgICBG b3IgdGhlIE9MVCB0aGVyZSBpcyBhIHZhbHVlIHBlciBMTElELgogICAgICAgICAgICAgICAgQXQg dGhlIE9OVSB2YWx1ZSBzaG91bGQgYmUgemVyby4iCiAgICAgICBSRUZFUkVOQ0UgICAiWzgwMi4z YWhdLCAzMC4zLjUuMS4xOC4iCiAgICAgICA6Oj0geyBkb3QzTXBjcFN0YXRFbnRyeSAxMH0KCiAg IGRvdDNNcGNwVHhHYXRlIE9CSkVDVC1UWVBFCiAgICAgICBTWU5UQVggIENvdW50ZXI2NAoKCgpL aGVybW9zaCAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMTQsIDIwMDYgICAgICAgICAg ICAgICBbUGFnZSA0MF0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgTWFuYWdlZCBPYmplY3Rz IG9mIEVQT04gICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYKCgogICAgICAgVU5JVFMgICAgICAiZnJh bWVzIgogICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgICBTVEFUVVMgIGN1cnJlbnQK ICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAgICAgICJBIGNvdW50IG9mIHRoZSBudW1iZXIg b2YgdGltZXMgYSBHQVRFIE1QQ1AgZnJhbWVzCiAgICAgICAgICAgICAgICB0cmFuc21pc3Npb24g b2NjdXJzLiBBIHNldCBvZiBjb3VudGVycywgb25lIGZvciBlYWNoCiAgICAgICAgICAgICAgICBM TElELCBhdCB0aGUgT0xULiBJbmNyZW1lbnQgdGhlIGNvdW50ZXIgYnkgb25lIGZvciBlYWNoCiAg ICAgICAgICAgICAgICBHQVRFIE1QQ1AgZnJhbWUgdHJhbnNtaXR0ZWQsIGZvciBlYWNoIExMSUQs IGFzIGRlZmluZWQKICAgICAgICAgICAgICAgIGluIFs4MDIuM2FoXSBjbGF1c2UgNjQuIFRoaXMg Y291bnRlciBpcyBtYW5kYXRvcnkgZm9yIGFuCiAgICAgICAgICAgICAgICBPTFQuIFRoaXMgY291 bnRlciBpcyByZWxldmFudCBmb3IgYW4gT0xUIGFuZCBhbiBPTlUuCiAgICAgICAgICAgICAgICBG b3IgdGhlIE9MVCB0aGVyZSBpcyBhIHZhbHVlIHBlciBMTElELgogICAgICAgICAgICAgICAgQXQg dGhlIE9OVSB0aGUgdmFsdWUgc2hvdWxkIGJlIHplcm8uIgogICAgICAgUkVGRVJFTkNFICAgIls4 MDIuM2FoXSwgMzAuMy41LjEuOS4iCiAgICAgICA6Oj0geyBkb3QzTXBjcFN0YXRFbnRyeSAxMX0K CiAgIGRvdDNNcGNwUnhHYXRlIE9CSkVDVC1UWVBFCiAgICAgICBTWU5UQVggIENvdW50ZXI2NAog ICAgICAgVU5JVFMgICAgICAiZnJhbWVzIgogICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAg ICAgICBTVEFUVVMgIGN1cnJlbnQKICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAgICAgICJB IGNvdW50IG9mIHRoZSBudW1iZXIgb2YgdGltZXMgYSBHQVRFIE1QQ1AgZnJhbWVzCiAgICAgICAg ICAgICAgICByZWNlcHRpb24gb2NjdXJzLiBBIHNpbmdsZSBjb3VudGVyIGF0IHRoZSBPTlUgYW5k IGEgc2V0CiAgICAgICAgICAgICAgICBvZiBjb3VudGVycywgb25lIGZvciBlYWNoIExMSUQgLGF0 IHRoZSBPTFQuIEluY3JlbWVudAogICAgICAgICAgICAgICAgdGhlIGNvdW50ZXIgYnkgb25lIGZv ciBlYWNoIEdBVEUgTVBDUCBmcmFtZSByZWNlaXZlZCwKICAgICAgICAgICAgICAgIGZvciBlYWNo IExMSUQsIGFzIGRlZmluZWQgaW4gWzgwMi4zYWhdIGNsYXVzZSA2NC4gVGhpcwogICAgICAgICAg ICAgICAgY291bnRlciBpcyBtYW5kYXRvcnkgZm9yIGFuIE9OVSBhbmQgZm9yIGFuIE9MVC4gRm9y IHRoZQogICAgICAgICAgICAgICAgT0xUIHRoZXJlIGlzIGEgdmFsdWUgcGVyIExMSUQuIEF0IHRo ZSBPTFQgdGhlIHZhbHVlCiAgICAgICAgICAgICAgICBzaG91bGQgYmUgemVyby4iCiAgICAgICBS RUZFUkVOQ0UgICAiWzgwMi4zYWhdLCAzMC4zLjUuMS4xNC4iCiAgICAgICA6Oj0geyBkb3QzTXBj cFN0YXRFbnRyeSAxMn0KCiAgIGRvdDNNcGNwVHhSZWdpc3RlciBPQkpFQ1QtVFlQRQogICAgICAg U1lOVEFYICBDb3VudGVyNjQKICAgICAgIFVOSVRTICAgICAgImZyYW1lcyIKICAgICAgIE1BWC1B Q0NFU1MgIHJlYWQtb25seQogICAgICAgU1RBVFVTICBjdXJyZW50CiAgICAgICBERVNDUklQVElP TgogICAgICAgICAgICAgICAiQSBjb3VudCBvZiB0aGUgbnVtYmVyIG9mIHRpbWVzIGEgUkVHSVNU RVIgTVBDUCBmcmFtZXMKICAgICAgICAgICAgICAgIHRyYW5zbWlzc2lvbiBvY2N1cnMuIEEgc2V0 IG9mIGNvdW50ZXJzLCBvbmUgZm9yIGVhY2gKICAgICAgICAgICAgICAgIExMSUQsIGF0IHRoZSBP TFQuIEluY3JlbWVudCB0aGUgY291bnRlciBieSBvbmUgZm9yIGVhY2gKICAgICAgICAgICAgICAg IFJFR0lTVEVSIE1QQ1AgZnJhbWUgdHJhbnNtaXR0ZWQsIGZvciBlYWNoIExMSUQsIGFzCiAgICAg ICAgICAgICAgICBkZWZpbmVkIGluIFs4MDIuM2FoXSBjbGF1c2UgNjQuIFRoaXMgY291bnRlciBp cwogICAgICAgICAgICAgICAgbWFuZGF0b3J5IGZvciBhbiBPTFQuIFRoaXMgY291bnRlciBpcyBy ZWxldmFudCBmb3IgYW4KICAgICAgICAgICAgICAgIE9MVCBhbmQgYW4gT05VLiBGb3IgdGhlIE9M VCB0aGVyZSBpcyBhIHZhbHVlIHBlciBMTElELgogICAgICAgICAgICAgICAgQXQgdGhlIE9OVSB0 aGUgdmFsdWUgc2hvdWxkIGJlIHplcm8uIgogICAgICAgUkVGRVJFTkNFICAgIls4MDIuM2FoXSwg MzAuMy41LjEuMTEuIgogICAgICAgOjo9IHsgZG90M01wY3BTdGF0RW50cnkgMTN9CgoKCktoZXJt b3NoICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAxNCwgMjAwNiAgICAgICAgICAgICAg IFtQYWdlIDQxXQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICBNYW5hZ2VkIE9iamVjdHMgb2Yg RVBPTiAgICAgICAgICAgRmVicnVhcnkgMjAwNgoKCiAgIGRvdDNNcGNwUnhSZWdpc3RlciBPQkpF Q1QtVFlQRQogICAgICAgU1lOVEFYICBDb3VudGVyNjQKICAgICAgIFVOSVRTICAgICAgImZyYW1l cyIKICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgICAgU1RBVFVTICBjdXJyZW50CiAg ICAgICBERVNDUklQVElPTgogICAgICAgICAgICAgICAiQSBjb3VudCBvZiB0aGUgbnVtYmVyIG9m IHRpbWVzIGEgUkVHSVNURVIgTVBDUCBmcmFtZXMKICAgICAgICAgICAgICAgIHJlY2VwdGlvbiBv Y2N1cnMuIEEgc2luZ2xlIGNvdW50ZXIgYXQgdGhlIE9OVSBhbmQgYSBzZXQKICAgICAgICAgICAg ICAgIG9mIGNvdW50ZXJzLCBvbmUgZm9yIGVhY2ggTExJRCwgYXQgdGhlIE9MVC4gSW5jcmVtZW50 CiAgICAgICAgICAgICAgICB0aGUgY291bnRlciBieSBvbmUgZm9yIGVhY2ggUkVHSVNURVIgTVBD UCBmcmFtZQogICAgICAgICAgICAgICAgcmVjZWl2ZWQsIGZvciBlYWNoIExMSUQsIGFzIGRlZmlu ZWQgaW4gWzgwMi4zYWhdIGNsYXVzZQogICAgICAgICAgICAgICAgNjQuIFRoaXMgY291bnRlciBp cyBtYW5kYXRvcnkgZm9yIGFuIE9OVSBhbmQgZm9yIGFuIE9MVC4KICAgICAgICAgICAgICAgIEZv ciB0aGUgT0xUIHRoZXJlIGlzIGEgdmFsdWUgcGVyIExMSUQuCiAgICAgICAgICAgICAgICBhdCB0 aGUgT0xUIHRoZSB2YWx1ZSBzaG91bGQgYmUgemVyby4iCiAgICAgICBSRUZFUkVOQ0UgICAiWzgw Mi4zYWhdLCAzMC4zLjUuMS4xNi4iCiAgICAgICA6Oj0geyBkb3QzTXBjcFN0YXRFbnRyeSAxNH0K CgoKCiAgIC0tIE9NUEVtdWxhdGlvbiBtYW5hZ2VkIG9iamVjdCBkZWZpbml0aW9ucwoKCiAgIGRv dDNPbXBFbXVsYXRpb25PYmplY3RzIE9CSkVDVCBJREVOVElGSUVSIDo6PXtkb3QzRXBvbk9iamVj dHMgMn0KCgogICBkb3QzT21wRW11bGF0aW9uVGFibGUgT0JKRUNULVRZUEUKICAgICAgIFNZTlRB WCAgU0VRVUVOQ0UgT0YgRG90M09tcEVtdWxhdGlvbkVudHJ5CiAgICAgICBNQVgtQUNDRVNTICBu b3QtYWNjZXNzaWJsZQogICAgICAgU1RBVFVTICBjdXJyZW50CiAgICAgICBERVNDUklQVElPTgog ICAgICAgICAgICAgICAiVGFibGUgZm9yIGRvdDMgT21wRW11bGF0aW9uIE1JQiBvYmplY3RzLiBU aGUgdGFibGUKICAgICAgICAgICAgICAgIGRlZmluZXMgdGhlIHBhcmFtZXRlciBzZXR0aW5ncyBv ZiB0aGUgT01QIEVtdWxhdGlvbgogICAgICAgICAgICAgICAgbGF5ZXIuIEVhY2ggb2JqZWN0IGhh cyBhIHJvdyBmb3IgZXZlcnkgdmlydHVhbCBsaW5rCiAgICAgICAgICAgICAgICBhY2NvcmRpbmcg dG8gdGhlIHByb3BlciBpZkluZGV4LiBUeXBpY2FsbHkgdGhlIG51bWJlcgogICAgICAgICAgICAg ICAgb2YgZXhwZWN0ZWQgdmlydHVhbCBsaW5rIGluIGEgUE9OIGlzIGxpa2UgdGhlIG51bWJlciBv ZgogICAgICAgICAgICAgICAgT05VcyAzMi02NCBwbHVzIGFuIGFkZGl0aW9uYWwgZW50cnkgZm9y IGJyb2FkY2FzdCBMTElECiAgICAgICAgICAgICAgICAod2hpY2ggaXMgbWFya2VkIGJ5IDB4ZmZm ZikuIEluIHRoZSBbODAyLjNhaF0gdGhlIExMSUQKICAgICAgICAgICAgICAgIGlzIGEgMmJ5dGVz IHJlZ2lzdGVyIGFuZCB0aGUgbnVtYmVyIG9mIExMSURzIGxpbWl0ZWQgYnkKICAgICAgICAgICAg ICAgIHRoYXQuIgogICAgICAgOjo9IHsgZG90M09tcEVtdWxhdGlvbk9iamVjdHMgMSB9CgogICBk b3QzT21wRW11bGF0aW9uRW50cnkgT0JKRUNULVRZUEUKICAgICAgIFNZTlRBWCAgRG90M09tcEVt dWxhdGlvbkVudHJ5CiAgICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQogICAgICAgU1RB VFVTICBjdXJyZW50CiAgICAgICBERVNDUklQVElPTgogICAgICAgICAgICAgICAiQW4gZW50cnkg aW4gdGhlIGRvdDMgT21wRW11bGF0aW9uIHRhYmxlLgoKCgpLaGVybW9zaCAgICAgICAgICAgICAg ICAgRXhwaXJlcyBBdWd1c3QgMTQsIDIwMDYgICAgICAgICAgICAgICBbUGFnZSA0Ml0KDApJbnRl cm5ldC1EcmFmdCAgICAgICAgICAgTWFuYWdlZCBPYmplY3RzIG9mIEVQT04gICAgICAgICAgIEZl YnJ1YXJ5IDIwMDYKCgogICAgICAgICAgICAgICAgUm93cyBpbiB0aGUgdGFibGUgYXJlIGNyZWF0 ZWQgd2hlbiBpZkluZGV4cyBhcmUgY3JlYXRlZC4KICAgICAgICAgICAgICAgIEZvciB0aGUgT05V IHJvd3MgYXJlIGNyZWF0ZWQgYXQgc3lzdGVtIGluaXRpYWxpemF0aW9uLgogICAgICAgICAgICAg ICAgRm9yIHRoZSBPTFQgdGhlIHJvd3Mgb2YgdGhlIE9MVCBpZkluZGV4IGFuZCB0aGUgcm93IG9m CiAgICAgICAgICAgICAgICB0aGUgaWZJbmRleCByZWZlcnJpbmcgdG8gdGhlIGJyb2FkY2FzdCB2 aXJ0dWFsIGxpbmsgYXJlCiAgICAgICAgICAgICAgICBjcmVhdGVkIGF0IHN5c3RlbSBpbml0aWFs aXphdGlvbi4gRm9yIHRoZSBpZkluZGV4cwogICAgICAgICAgICAgICAgcmVmZXJyaW5nIHRvIHRo ZSB2aXJ0dWFsIGxpbmtzIGF0IHRoZSBPTFQsIGEgcm93IGlzCiAgICAgICAgICAgICAgICBjcmVh dGVkIHdoZW4gYSB2aXJ0dWFsIGxpbmsgaXMgZXN0YWJsaXNoZWQgKE9OVQogICAgICAgICAgICAg ICAgcmVnaXN0ZXJzKSBhbmQgZGVsZXRlZCB3aGVuIHRoZSB2aXJ0dWFsIGxpbmsgaXMgZGVsZXRl ZAogICAgICAgICAgICAgICAgKE9OVSBkZXJlZ2lzdGVycykuIFJvd3MgZXhpc3QgZm9yIGFuIE9M VCBpbnRlcmZhY2UgYW5kCiAgICAgICAgICAgICAgICBhbiBPTlUgaW50ZXJmYWNlLiIKICAgICAg IElOREVYICB7IGlmSW5kZXggfQogICAgICAgOjo9IHsgZG90M09tcEVtdWxhdGlvblRhYmxlIDEg fQoKICAgICAgIERvdDNPbXBFbXVsYXRpb25FbnRyeSA6Oj0KICAgICAgIFNFUVVFTkNFIHsKICAg ICAgICAgICAgICAgZG90M09tcEVtdWxhdGlvblR5cGUgICAgICAgICAgICAgICBJTlRFR0VSCiAg ICAgICB9CgogICBkb3QzT21wRW11bGF0aW9uVHlwZSBPQkpFQ1QtVFlQRQogICAgICAgU1lOVEFY ICBJTlRFR0VSIHsKICAgICAgICAgICAgICAgdW5rbm93bigxKSwKICAgICAgICAgICAgICAgb2x0 KDIpLAogICAgICAgICAgICAgICBvbnUoMykKICAgICAgIH0KICAgICAgIE1BWC1BQ0NFU1MgIHJl YWQtb25seQogICAgICAgU1RBVFVTICBjdXJyZW50CiAgICAgICBERVNDUklQVElPTgogICAgICAg ICAgICAgICAiQSB2YWx1ZSB0aGF0IGluZGljYXRlcyB0aGF0IG1vZGUgb2Ygb3BlcmF0aW9uCiAg ICAgICAgICAgICAgICBvZiB0aGUgUmVjb25jaWxpYXRpb24gU3VibGF5ZXIgZm9yIFBvaW50IHRv IFBvaW50CiAgICAgICAgICAgICAgICBFbXVsYXRpb24gKHNlZSBbODAyLjNhaF0gY2xhdXNlIDY1 LjEpLiB1bmtub3duKDEpIHZhbHVlCiAgICAgICAgICAgICAgICBpcyBhc3NpZ25lZCBpbiBpbml0 aWFsaXppbmcsIHRydWUgc3RhdGUgb3IgdHlwZSBub3QgeWV0CiAgICAgICAgICAgICAgICBrbm93 bi4gb2x0KDIpIHZhbHVlIGlzIGFzc2lnbmVkIHdoZW4gU3VibGF5ZXIgb3BlcmF0aW5nCiAgICAg ICAgICAgICAgICBpbiBPTFQgbW9kZS4gb251KDMpIHZhbHVlIGlzIGFzc2lnbmVkIHdoZW4gU3Vi bGF5ZXIKICAgICAgICAgICAgICAgIG9wZXJhdGluZyBpbiBPTlUgbW9kZS4KICAgICAgICAgICAg ICAgIFRoaXMgb2JqZWN0IGlzIHJlbGV2YW50IGZvciBhbiBPTFQsIHNhbWUgZm9yIGFsbAogICAg ICAgICAgICAgICAgdmlydHVhbCBsaW5rcywgYW5kIGZvciBhbiBPTlUuIgogICAgICAgUkVGRVJF TkNFICAgIls4MDIuM2FoXSwgMzAuMy43LjEuMi4iCiAgICAgICA6Oj0geyBkb3QzT21wRW11bGF0 aW9uRW50cnkgMX0KCiAgIGRvdDNPbXBFbXVsYXRpb25TdGF0VGFibGUgT0JKRUNULVRZUEUKICAg ICAgIFNZTlRBWCAgICAgU0VRVUVOQ0UgT0YgRG90M09tcEVtdWxhdGlvblN0YXRFbnRyeQogICAg ICAgTUFYLUFDQ0VTUyBub3QtYWNjZXNzaWJsZQogICAgICAgU1RBVFVTICAgICBjdXJyZW50CiAg ICAgICBERVNDUklQVElPTgogICAgICAgICAgICAgICAiVGhpcyB0YWJsZSBkZWZpbmVzIHRoZSBs aXN0IG9mIHN0YXRpc3RpY3MgY291bnRlcnMgZm9yCiAgICAgICAgICAgICAgICBbODAyLjNhaF0g Y2xhdXNlIDY1IE9NUCBpbnRlcmZhY2UuCiAgICAgICAgICAgICAgICBFYWNoIG9iamVjdCBoYXMg YSByb3cgZm9yIGV2ZXJ5IHZpcnR1YWwgbGluawogICAgICAgICAgICAgICAgYWNjb3JkaW5nIHRv IHRoZSBwcm9wZXIgaWZJbmRleC4gVHlwaWNhbGx5IHRoZSBudW1iZXIKCgoKS2hlcm1vc2ggICAg ICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDE0LCAyMDA2ICAgICAgICAgICAgICAgW1BhZ2Ug NDNdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgIE1hbmFnZWQgT2JqZWN0cyBvZiBFUE9OICAg ICAgICAgICBGZWJydWFyeSAyMDA2CgoKICAgICAgICAgICAgICAgIG9mIGV4cGVjdGVkIHZpcnR1 YWwgbGluayBpbiBhIFBPTiBpcyBsaWtlIHRoZSBudW1iZXIgb2YKICAgICAgICAgICAgICAgIE9O VXMgMzItNjQgcGx1cyBhbiBhZGRpdGlvbmFsIGVudHJ5IGZvciBicm9hZGNhc3QgTExJRAogICAg ICAgICAgICAgICAgKHdoaWNoIGlzIG1hcmtlZCBieSAweGZmZmYpLiBJbiB0aGUgWzgwMi4zYWhd IHRoZSBMTElECiAgICAgICAgICAgICAgICBpcyBhIDJieXRlcyByZWdpc3RlciBhbmQgdGhlIG51 bWJlciBvZiBMTElEcyBsaW1pdGVkIGJ5CiAgICAgICAgICAgICAgICB0aGF0LiIKICAgICAgIDo6 PSB7IGRvdDNPbXBFbXVsYXRpb25PYmplY3RzIDJ9CgogICBkb3QzT21wRW11bGF0aW9uU3RhdEVu dHJ5IE9CSkVDVC1UWVBFCiAgICAgICBTWU5UQVggICAgIERvdDNPbXBFbXVsYXRpb25TdGF0RW50 cnkKICAgICAgIE1BWC1BQ0NFU1Mgbm90LWFjY2Vzc2libGUKICAgICAgIFNUQVRVUyAgICAgY3Vy cmVudAogICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICAgICAgIlRhYmxlIGVudHJpZXMgZm9y IHRoZSB0YWJsZSBvZiBzdGF0aXN0aWNzIGNvdW50ZXJzIG9mCiAgICAgICAgICAgICAgICBbODAy LjNhaF0gY2xhdXNlIDY1IE9NUCBpbnRlcmZhY2UuCiAgICAgICAgICAgICAgICBSb3dzIGluIHRo ZSB0YWJsZSBhcmUgY3JlYXRlZCB3aGVuIGlmSW5kZXhzIGFyZSBjcmVhdGVkLgogICAgICAgICAg ICAgICAgRm9yIHRoZSBPTlUgcm93cyBhcmUgY3JlYXRlZCBhdCBzeXN0ZW0gaW5pdGlhbGl6YXRp b24uCiAgICAgICAgICAgICAgICBGb3IgdGhlIE9MVCB0aGUgcm93cyBvZiB0aGUgT0xUIGlmSW5k ZXggYW5kIHRoZSByb3cgb2YKICAgICAgICAgICAgICAgIHRoZSBpZkluZGV4IHJlZmVycmluZyB0 byB0aGUgYnJvYWRjYXN0IHZpcnR1YWwgbGluayBhcmUKICAgICAgICAgICAgICAgIGNyZWF0ZWQg YXQgc3lzdGVtIGluaXRpYWxpemF0aW9uLiBGb3IgdGhlIGlmSW5kZXhzCiAgICAgICAgICAgICAg ICByZWZlcnJpbmcgdG8gdGhlIHZpcnR1YWwgbGlua3MgYXQgdGhlIE9MVCwgYSByb3cgaXMKICAg ICAgICAgICAgICAgIGNyZWF0ZWQgd2hlbiBhIHZpcnR1YWwgbGluayBpcyBlc3RhYmxpc2hlZCAo T05VCiAgICAgICAgICAgICAgICByZWdpc3RlcnMpIGFuZCBkZWxldGVkIHdoZW4gdGhlIHZpcnR1 YWwgbGluayBpcyBkZWxldGVkCiAgICAgICAgICAgICAgICAoT05VIGRlcmVnaXN0ZXJzKS4gUm93 cyBleGlzdCBmb3IgYW4gT0xUIGludGVyZmFjZSBhbmQKICAgICAgICAgICAgICAgIGFuIE9OVSBp bnRlcmZhY2UuIgogICAgICAgSU5ERVggIHsgaWZJbmRleH0KICAgICAgIDo6PSB7IGRvdDNPbXBF bXVsYXRpb25TdGF0VGFibGUgMSB9CgogICBEb3QzT21wRW11bGF0aW9uU3RhdEVudHJ5Ojo9CiAg ICAgICBTRVFVRU5DRSB7CiAgICAgICAgICAgICAgIGRvdDNPbXBFbXVsYXRpb25TTERFcnJvcnMg ICAgICAgICAgICAgICAgIENvdW50ZXI2NCwKICAgICAgICAgICAgICAgZG90M09tcEVtdWxhdGlv bkNSQzhFcnJvcnMgICAgICAgICAgICAgICAgQ291bnRlcjY0LAogICAgICAgICAgICAgICBkb3Qz T21wRW11bGF0aW9uQmFkTExJRCAgICAgICAgICAgICAgICAgICBDb3VudGVyNjQsCiAgICAgICAg ICAgICAgIGRvdDNPbXBFbXVsYXRpb25Hb29kTExJRCAgICAgICAgICAgICAgICAgIENvdW50ZXI2 NCwKICAgICAgICAgICAgICAgZG90M09tcEVtdWxhdGlvbk9udVBvbkNhc3RMTElEICAgICAgICAg ICAgQ291bnRlcjY0LAogICAgICAgICAgICAgICBkb3QzT21wRW11bGF0aW9uT2x0UG9uQ2FzdExM SUQgICAgICAgICAgICBDb3VudGVyNjQsCiAgICAgICAgICAgICAgIGRvdDNPbXBFbXVsYXRpb25C cm9hZGNhc3RCaXROb3RPbnVMbGlkICAgIENvdW50ZXI2NCwKICAgICAgICAgICAgICAgZG90M09t cEVtdWxhdGlvbk9udUxMSUROb3RCcm9hZGNhc3QgICAgICAgQ291bnRlcjY0LAogICAgICAgICAg ICAgICBkb3QzT21wRW11bGF0aW9uQnJvYWRjYXN0Qml0UGx1c09udUxsaWQgICAgQ291bnRlcjY0 LAogICAgICAgICAgICAgICBkb3QzT21wRW11bGF0aW9uTm90QnJvYWRjYXN0Qml0Tm90T251TGxp ZCAgQ291bnRlcjY0CiAgICAgICB9CgogICBkb3QzT21wRW11bGF0aW9uU0xERXJyb3JzIE9CSkVD VC1UWVBFCiAgICAgICBTWU5UQVggIENvdW50ZXI2NAogICAgICAgVU5JVFMgICAgICAiZnJhbWVz IgogICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgICBTVEFUVVMgIGN1cnJlbnQKICAg ICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAgICAgICJBIGNvdW50IG9mIGZyYW1lcyByZWNlaXZl ZCB0aGF0IGRvIG5vdCBjb250YWluIGEgdmFsaWQKCgoKS2hlcm1vc2ggICAgICAgICAgICAgICAg IEV4cGlyZXMgQXVndXN0IDE0LCAyMDA2ICAgICAgICAgICAgICAgW1BhZ2UgNDRdCgwKSW50ZXJu ZXQtRHJhZnQgICAgICAgICAgIE1hbmFnZWQgT2JqZWN0cyBvZiBFUE9OICAgICAgICAgICBGZWJy dWFyeSAyMDA2CgoKICAgICAgICAgICAgICAgIFNMRCBmaWVsZCBhcyBkZWZpbmVkIGluIFs4MDIu M2FoXSBjbGF1c2UgNjUuMS4zLjMuMS4KICAgICAgICAgICAgICAgIFRoaXMgY291bnRlciBpcyBy ZWxldmFudCBmb3IgYW4gT0xUIGFuZCBhbiBPTlUuIEZvciB0aGUKICAgICAgICAgICAgICAgIE9M VCB0aGVyZSBpcyBhIHZhbHVlIHBlciBMTElELiIKICAgICAgIFJFRkVSRU5DRSAgICJbODAyLjNh aF0sIDMwLjMuNy4xLjMuIgogICAgICAgOjo9IHsgZG90M09tcEVtdWxhdGlvblN0YXRFbnRyeSAx fQoKICAgZG90M09tcEVtdWxhdGlvbkNSQzhFcnJvcnMgT0JKRUNULVRZUEUKICAgICAgIFNZTlRB WCAgQ291bnRlcjY0CiAgICAgICBVTklUUyAgICAgICJmcmFtZXMiCiAgICAgICBNQVgtQUNDRVNT ICByZWFkLW9ubHkKICAgICAgIFNUQVRVUyAgY3VycmVudAogICAgICAgREVTQ1JJUFRJT04KICAg ICAgICAgICAgICAgIkEgY291bnQgb2YgZnJhbWVzIHJlY2VpdmVkIHRoYXQgY29udGFpbiBhIHZh bGlkIFNMRAogICAgICAgICAgICAgICAgZmllbGQsIGFzIGRlZmluZWQgaW4gWzgwMi4zYWhdIGNs YXVzZSA2NS4xLjMuMy4xLCBidXQgZG8KICAgICAgICAgICAgICAgIG5vdCBwYXNzIHRoZSBDUkMt OCBjaGVjayBhcyBkZWZpbmVkIGluIFs4MDIuM2FoXSBjbGF1c2UKICAgICAgICAgICAgICAgIDY1 LjEuMy4zLjMuCiAgICAgICAgICAgICAgICBUaGlzIGNvdW50ZXIgaXMgcmVsZXZhbnQgZm9yIGFu IE9MVCBhbmQgYW4gT05VLiBGb3IgdGhlCiAgICAgICAgICAgICAgICBPTFQgdGhlcmUgaXMgYSB2 YWx1ZSBwZXIgTExJRC4iCiAgICAgICBSRUZFUkVOQ0UgICAiWzgwMi4zYWhdLCAzMC4zLjcuMS40 LiIKICAgICAgIDo6PSB7IGRvdDNPbXBFbXVsYXRpb25TdGF0RW50cnkgMn0KCgogICBkb3QzT21w RW11bGF0aW9uQmFkTExJRCBPQkpFQ1QtVFlQRQogICAgICAgU1lOVEFYICBDb3VudGVyNjQKICAg ICAgIFVOSVRTICAgICAgImZyYW1lcyIKICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAg ICAgU1RBVFVTICBjdXJyZW50CiAgICAgICBERVNDUklQVElPTgogICAgICAgICAgICAgICAiQSBj b3VudCBvZiBmcmFtZXMgcmVjZWl2ZWQgdGhhdCBjb250YWluIGEgdmFsaWQgU0xECiAgICAgICAg ICAgICAgICBmaWVsZCwgYXMgZGVmaW5lZCBpbiBbODAyLjNhaF0gY2xhdXNlIDY1LjEuMy4zLjEs IGFuZAogICAgICAgICAgICAgICAgcGFzcyB0aGUgQ1JDLTggY2hlY2ssIGFzIGRlZmluZWQgaW4g WzgwMi4zYWhdIGNsYXVzZQogICAgICAgICAgICAgICAgNjUuMS4zLjMuMywgYnV0IGFyZSBkaXNj YXJkZWQgZHVlIHRvIHRoZSBMTElEIGNoZWNrIGFzCiAgICAgICAgICAgICAgICBkZWZpbmVkIGlu IFs4MDIuM2FoXSBjbGF1c2UgNjUuMS4zLjMuMi4KICAgICAgICAgICAgICAgIFRoaXMgY291bnRl ciBpcyByZWxldmFudCBmb3IgYW4gT0xUIGFuZCBhbiBPTlUuIEZvciB0aGUKICAgICAgICAgICAg ICAgIE9MVCB0aGVyZSBpcyBhIHZhbHVlIHBlciBMTElELiIKICAgICAgIFJFRkVSRU5DRSAgICJb ODAyLjNhaF0sIDMwLjMuNy4xLjguIgogICAgICAgOjo9IHsgZG90M09tcEVtdWxhdGlvblN0YXRF bnRyeSAzfQoKICAgZG90M09tcEVtdWxhdGlvbkdvb2RMTElEIE9CSkVDVC1UWVBFCiAgICAgICBT WU5UQVggIENvdW50ZXI2NAogICAgICAgVU5JVFMgICAgICAiZnJhbWVzIgogICAgICAgTUFYLUFD Q0VTUyAgcmVhZC1vbmx5CiAgICAgICBTVEFUVVMgIGN1cnJlbnQKICAgICAgIERFU0NSSVBUSU9O CiAgICAgICAgICAgICAgICJBIGNvdW50IG9mIGZyYW1lcyByZWNlaXZlZCB0aGF0IGNvbnRhaW4g YSB2YWxpZCBTTEQKICAgICAgICAgICAgICAgIGZpZWxkLCBhcyBkZWZpbmVkIGluIFs4MDIuM2Fo XSBjbGF1c2UgNjUuMS4zLjMuMSwgYW5kCiAgICAgICAgICAgICAgICBwYXNzIHRoZSBDUkMtOCBj aGVjaywgYXMgZGVmaW5lZCBpbiBbODAyLjNhaF0gY2xhdXNlCiAgICAgICAgICAgICAgICA2NS4x LjMuMy4zLgoKCgpLaGVybW9zaCAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMTQsIDIw MDYgICAgICAgICAgICAgICBbUGFnZSA0NV0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgTWFu YWdlZCBPYmplY3RzIG9mIEVQT04gICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYKCgogICAgICAgICAg ICAgICAgVGhpcyBjb3VudGVyIGlzIHJlbGV2YW50IGZvciBhbiBPTFQgYW5kIGFuIE9OVS4gRm9y IHRoZQogICAgICAgICAgICAgICAgT0xUIHRoZXJlIGlzIGEgdmFsdWUgcGVyIExMSUQuIgogICAg ICAgUkVGRVJFTkNFICAgIls4MDIuM2FoXSwgMzAuMy43LjEuNS4iCiAgICAgICA6Oj0geyBkb3Qz T21wRW11bGF0aW9uU3RhdEVudHJ5IDR9CgoKICAgZG90M09tcEVtdWxhdGlvbk9udVBvbkNhc3RM TElEIE9CSkVDVC1UWVBFCiAgICAgICBTWU5UQVggIENvdW50ZXI2NAogICAgICAgVU5JVFMgICAg ICAiZnJhbWVzIgogICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgICBTVEFUVVMgIGN1 cnJlbnQKICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAgICAgICJBIGNvdW50IG9mIGZyYW1l cyByZWNlaXZlZCB0aGF0IGNvbnRhaW4gYSB2YWxpZCBTTEQKICAgICAgICAgICAgICAgIGZpZWxk IGluIGFuIE9OVSwgYXMgZGVmaW5lZCBpbiBbODAyLjNhaF0gNjUuMS4zLjMuMSwKICAgICAgICAg ICAgICAgIHBhc3NlcyB0aGUgQ1JDLTggY2hlY2ssIGFzIGRlZmluZWQgaW4gWzgwMi4zYWhdCiAg ICAgICAgICAgICAgICA2NS4xLjMuMy4zLCBhbmQgdGhlIGZyYW1lIG1lZXRzIHRoZSBydWxlIGZv ciBhY2NlcHRhbmNlCiAgICAgICAgICAgICAgICBkZWZpbmVkIGluIFs4MDIuM2FoXSA2NS4xLjMu My4yLgogICAgICAgICAgICAgICAgVGhpcyBjb3VudGVyIGlzIHJlbGV2YW50IGZvciBhbiBPTFQg YW5kIGFuIE9OVS4gRm9yIHRoZQogICAgICAgICAgICAgICAgT0xUIHRoZXJlIGlzIGEgdmFsdWUg cGVyIExMSUQuCiAgICAgICAgICAgICAgICBUaGUgdmFsdWUgaXMgemVybyBmb3IgYW4gT0xULiIK ICAgICAgIFJFRkVSRU5DRSAgICJbODAyLjNhaF0sIDMwLjMuNy4xLjYuIgogICAgICAgOjo9IHsg ZG90M09tcEVtdWxhdGlvblN0YXRFbnRyeSA1fQoKICAgZG90M09tcEVtdWxhdGlvbk9sdFBvbkNh c3RMTElEIE9CSkVDVC1UWVBFCiAgICAgICBTWU5UQVggIENvdW50ZXI2NAogICAgICAgVU5JVFMg ICAgICAiZnJhbWVzIgogICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgICBTVEFUVVMg IGN1cnJlbnQKICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAgICAgICJBIGNvdW50IG9mIGZy YW1lcyByZWNlaXZlZCB0aGF0IGNvbnRhaW4gYSB2YWxpZCBTTEQKICAgICAgICAgICAgICAgIGZp ZWxkIGluIGFuIE9MVCwgYXMgZGVmaW5lZCBpbiBbODAyLjNhaF0gNjUuMS4zLjMuMSwKICAgICAg ICAgICAgICAgIHBhc3NlcyB0aGUgQ1JDLTggY2hlY2ssIGFzIGRlZmluZWQgaW4gWzgwMi4zYWhd CiAgICAgICAgICAgICAgICA2NS4xLjMuMy4zLCBhbmQgdGhlIGZyYW1lIG1lZXRzIHRoZSBydWxl IGZvciBhY2NlcHRhbmNlCiAgICAgICAgICAgICAgICBkZWZpbmVkIGluIFs4MDIuM2FoXSA2NS4x LjMuMy4yLgogICAgICAgICAgICAgICAgVGhpcyBjb3VudGVyIGlzIHJlbGV2YW50IGZvciBhbiBP TFQgYW5kIGFuIE9OVS4gRm9yIHRoZQogICAgICAgICAgICAgICAgT0xUIHRoZXJlIGlzIGEgdmFs dWUgcGVyIExMSUQuCiAgICAgICAgICAgICAgICBUaGUgdmFsdWUgaXMgemVybyBmb3IgYW4gT05V LiIKICAgICAgIFJFRkVSRU5DRSAgICJbODAyLjNhaF0sIDMwLjMuNy4xLjcuIgogICAgICAgOjo9 IHsgZG90M09tcEVtdWxhdGlvblN0YXRFbnRyeSA2fQoKICAgZG90M09tcEVtdWxhdGlvbkJyb2Fk Y2FzdEJpdE5vdE9udUxsaWQgT0JKRUNULVRZUEUKICAgICAgIFNZTlRBWCAgQ291bnRlcjY0CiAg ICAgICBVTklUUyAgICAgICJmcmFtZXMiCiAgICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAg ICAgIFNUQVRVUyAgY3VycmVudAogICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICAgICAgIkEg Y291bnQgb2YgZnJhbWVzIHJlY2VpdmVkIHRoYXQgY29udGFpbiBhIHZhbGlkIFNMRAogICAgICAg ICAgICAgICAgZmllbGQgaW4gYSBPTFQsIGFzIGRlZmluZWQgaW4gWzgwMi4zYWhdIGNsYXVzZQoK CgpLaGVybW9zaCAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMTQsIDIwMDYgICAgICAg ICAgICAgICBbUGFnZSA0Nl0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgTWFuYWdlZCBPYmpl Y3RzIG9mIEVQT04gICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYKCgogICAgICAgICAgICAgICAgNjUu MS4zLjMuMSwgYW5kIHBhc3MgdGhlIENSQy04IGNoZWNrLCBhcyBkZWZpbmVkIGluCiAgICAgICAg ICAgICAgICBbODAyLjNhaF0gY2xhdXNlIDY1LjEuMy4zLjMsIGFuZCBjb250YWluIGJyb2FkY2Fz dCBiaXQKICAgICAgICAgICAgICAgIGluIExMSUQgYW5kIG5vdCB0aGUgT05VJ3MgTExJRCAoZnJh bWUgYWNjZXB0ZWQpIGFzCiAgICAgICAgICAgICAgICBkZWZpbmVkIGluIFs4MDIuM2FoXSBjbGF1 c2UgNjUuCiAgICAgICAgICAgICAgICBUaGlzIGNvdW50ZXIgaXMgcmVsZXZhbnQgZm9yIGFuIE9M VCBhbmQgYW4gT05VLiBGb3IgdGhlCiAgICAgICAgICAgICAgICBPTFQgdGhlcmUgaXMgYSB2YWx1 ZSBwZXIgTExJRC4iCiAgICAgICA6Oj0geyBkb3QzT21wRW11bGF0aW9uU3RhdEVudHJ5IDd9Cgog ICBkb3QzT21wRW11bGF0aW9uT251TExJRE5vdEJyb2FkY2FzdCBPQkpFQ1QtVFlQRQogICAgICAg U1lOVEFYICBDb3VudGVyNjQKICAgICAgIFVOSVRTICAgICAgImZyYW1lcyIKICAgICAgIE1BWC1B Q0NFU1MgIHJlYWQtb25seQogICAgICAgU1RBVFVTICBjdXJyZW50CiAgICAgICBERVNDUklQVElP TgogICAgICAgICAgICAgICAiQSBjb3VudCBvZiBmcmFtZXMgcmVjZWl2ZWQgdGhhdCBjb250YWlu IGEgdmFsaWQgU0xECiAgICAgICAgICAgICAgICBmaWVsZCBpbiBhIE9MVCwgYXMgZGVmaW5lZCBp biBbODAyLjNhaF0gY2xhdXNlCiAgICAgICAgICAgICAgICA2NS4xLjMuMy4xLCBhbmQgcGFzcyB0 aGUgQ1JDLTggY2hlY2ssIGFzIGRlZmluZWQgaW4KICAgICAgICAgICAgICAgIFs4MDIuM2FoXSBj bGF1c2UgNjUuMS4zLjMuMywgYW5kIGNvbnRhaW4gdGhlIE9OVSdzIExMSUQKICAgICAgICAgICAg ICAgIGFzIGRlZmluZWQgaW4gWzgwMi4zYWhdIGNsYXVzZSA2NS4gVGhpcyBvYmplY3QgaXMKICAg ICAgICAgICAgICAgIFRoaXMgY291bnRlciBpcyByZWxldmFudCBmb3IgYW4gT0xUIGFuZCBhbiBP TlUuIEZvciB0aGUKICAgICAgICAgICAgICAgIE9MVCB0aGVyZSBpcyBhIHZhbHVlIHBlciBMTElE LiIKICAgICAgIDo6PSB7IGRvdDNPbXBFbXVsYXRpb25TdGF0RW50cnkgOH0KCiAgIGRvdDNPbXBF bXVsYXRpb25Ccm9hZGNhc3RCaXRQbHVzT251TGxpZCBPQkpFQ1QtVFlQRQogICAgICAgU1lOVEFY ICBDb3VudGVyNjQKICAgICAgIFVOSVRTICAgICAgImZyYW1lcyIKICAgICAgIE1BWC1BQ0NFU1Mg IHJlYWQtb25seQogICAgICAgU1RBVFVTICBjdXJyZW50CiAgICAgICBERVNDUklQVElPTgogICAg ICAgICAgICAgICAiQSBjb3VudCBvZiBmcmFtZXMgcmVjZWl2ZWQgdGhhdCBjb250YWluIGEgdmFs aWQgU0xECiAgICAgICAgICAgICAgICBmaWVsZCBpbiBhIE9MVCwgYXMgZGVmaW5lZCBpbiBbODAy LjNhaF0gY2xhdXNlCiAgICAgICAgICAgICAgICA2NS4xLjMuMy4xLCBhbmQgcGFzcyB0aGUgQ1JD LTggY2hlY2ssIGFzIGRlZmluZWQgaW4KICAgICAgICAgICAgICAgIFs4MDIuM2FoXSBjbGF1c2Ug NjUuMS4zLjMuMywgYW5kIGNvbnRhaW4gdGhlIGJyb2FkY2FzdAogICAgICAgICAgICAgICAgYml0 IGluIExMSUQgYW5kIHRoZSBPTlUncyBMTElEIChmcmFtZSByZWZsZWN0ZWQpIGFzCiAgICAgICAg ICAgICAgICBkZWZpbmVkIGluIFs4MDIuM2FoXSBjbGF1c2UgNjUuCiAgICAgICAgICAgICAgICBU aGlzIGNvdW50ZXIgaXMgcmVsZXZhbnQgZm9yIGFuIE9MVCBhbmQgYW4gT05VLiBGb3IgdGhlCiAg ICAgICAgICAgICAgICBPTFQgdGhlcmUgaXMgYSB2YWx1ZSBwZXIgTExJRC4iCiAgICAgICA6Oj0g eyBkb3QzT21wRW11bGF0aW9uU3RhdEVudHJ5IDl9CgogICBkb3QzT21wRW11bGF0aW9uTm90QnJv YWRjYXN0Qml0Tm90T251TGxpZCBPQkpFQ1QtVFlQRQogICAgICAgU1lOVEFYICBDb3VudGVyNjQK ICAgICAgIFVOSVRTICAgICAgImZyYW1lcyIKICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQog ICAgICAgU1RBVFVTICBjdXJyZW50CiAgICAgICBERVNDUklQVElPTgogICAgICAgICAgICAgICAi QSBjb3VudCBvZiBmcmFtZXMgcmVjZWl2ZWQgdGhhdCBjb250YWluIGEgdmFsaWQgU0xECiAgICAg ICAgICAgICAgICBmaWVsZCBpbiBhIE9MVCwgYXMgZGVmaW5lZCBpbiBbODAyLjNhaF0gY2xhdXNl CiAgICAgICAgICAgICAgICA2NS4xLjMuMy4xLCBhbmQgcGFzcyB0aGUgQ1JDLTggY2hlY2ssIGFz IGRlZmluZWQgaW4KCgoKS2hlcm1vc2ggICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDE0 LCAyMDA2ICAgICAgICAgICAgICAgW1BhZ2UgNDddCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAg IE1hbmFnZWQgT2JqZWN0cyBvZiBFUE9OICAgICAgICAgICBGZWJydWFyeSAyMDA2CgoKICAgICAg ICAgICAgICAgIFs4MDIuM2FoXSBjbGF1c2UgNjUuMS4zLjMuMywgYW5kIGRvZXMgbm90IGNvbnRh aW4KICAgICAgICAgICAgICAgIHRoZSBPTlUncyBMTElEIGFzIGRlZmluZWQgaW4gWzgwMi4zYWhd IGNsYXVzZSA2NS4KICAgICAgICAgICAgICAgIFRoaXMgb2JqZWN0IGlzIG1hbmRhdG9yeSBmb3Ig YW4gT05VIgogICAgICAgOjo9IHsgZG90M09tcEVtdWxhdGlvblN0YXRFbnRyeSAxMH0KCgoKCgog ICAtLSAgRkVDIG1hbmFnZWQgb2JqZWN0IGRlZmluaXRpb25zICgzMC41LjEpCgogICBkb3QzRXBv bkZlY09iamVjdHMgT0JKRUNUIElERU5USUZJRVIgOjo9e2RvdDNFcG9uT2JqZWN0cyAzfQoKICAg ZG90M0Vwb25GZWNUYWJsZSBPQkpFQ1QtVFlQRQogICAgICAgU1lOVEFYICBTRVFVRU5DRSBPRiBE b3QzRXBvbkZlY0VudHJ5CiAgICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQogICAgICAg U1RBVFVTICBjdXJyZW50CiAgICAgICBERVNDUklQVElPTgogICAgICAgICAgICAgICAiVGFibGUg Zm9yIGRvdDMgRVBPTiBGRUMgbWFuYWdlbWVudCBvYmplY3RzLgogICAgICAgICAgICAgICAgVGhl IGVudHJpZXMgaW4gdGhlIHRhYmxlIGFyZSBjb250cm9sIGFuZCBzdGF0dXMgZW50aXRpZXMKICAg ICAgICAgICAgICAgIGFuZCBzdGF0aXN0aWMgY291bnRlcnMgZm9yIHRoZSBGRUMgbGF5ZXIuCiAg ICAgICAgICAgICAgICBFYWNoIG9iamVjdCBoYXMgYSByb3cgZm9yIGV2ZXJ5IHZpcnR1YWwgbGlu awogICAgICAgICAgICAgICAgYWNjb3JkaW5nIHRvIHRoZSBwcm9wZXIgaWZJbmRleC4gVHlwaWNh bGx5IHRoZSBudW1iZXIKICAgICAgICAgICAgICAgIG9mIGV4cGVjdGVkIHZpcnR1YWwgbGluayBp biBhIFBPTiBpcyBsaWtlIHRoZSBudW1iZXIgb2YKICAgICAgICAgICAgICAgIE9OVXMgMzItNjQg cGx1cyBhbiBhZGRpdGlvbmFsIGVudHJ5IGZvciBicm9hZGNhc3QgTExJRAogICAgICAgICAgICAg ICAgKHdoaWNoIGlzIG1hcmtlZCBieSAweGZmZmYpLiBJbiB0aGUgWzgwMi4zYWhdIHRoZSBMTElE CiAgICAgICAgICAgICAgICBpcyBhIDJieXRlcyByZWdpc3RlciBhbmQgdGhlIG51bWJlciBvZiBM TElEcyBsaW1pdGVkIGJ5CiAgICAgICAgICAgICAgICB0aGF0LiIKICAgICAgIDo6PSB7IGRvdDNF cG9uRmVjT2JqZWN0cyAxIH0KCiAgIGRvdDNFcG9uRmVjRW50cnkgT0JKRUNULVRZUEUKICAgICAg IFNZTlRBWCAgRG90M0Vwb25GZWNFbnRyeQogICAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2li bGUKICAgICAgIFNUQVRVUyAgY3VycmVudAogICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICAg ICAgIkFuIGVudHJ5IGluIHRoZSBkb3QzIEVQT04gRkVDIHRhYmxlLiBUaGUgUm93cyBpbiB0aGUK ICAgICAgICAgICAgICAgIHRhYmxlIGFyZSBjcmVhdGVkIHdoZW4gaWZJbmRleHMgYXJlIGNyZWF0 ZWQuCiAgICAgICAgICAgICAgICBGb3IgdGhlIE9OVSByb3dzIGFyZSBjcmVhdGVkIGF0IHN5c3Rl bSBpbml0aWFsaXphdGlvbi4KICAgICAgICAgICAgICAgIEZvciB0aGUgT0xUIHRoZSByb3dzIG9m IHRoZSBPTFQgaWZJbmRleCBhbmQgdGhlIHJvdyBvZgogICAgICAgICAgICAgICAgdGhlIGlmSW5k ZXggcmVmZXJyaW5nIHRvIHRoZSBicm9hZGNhc3QgdmlydHVhbCBsaW5rIGFyZQogICAgICAgICAg ICAgICAgY3JlYXRlZCBhdCBzeXN0ZW0gaW5pdGlhbGl6YXRpb24uIEZvciB0aGUgaWZJbmRleHMK ICAgICAgICAgICAgICAgIHJlZmVycmluZyB0byB0aGUgdmlydHVhbCBsaW5rcyBhdCB0aGUgT0xU LCBhIHJvdyBpcwogICAgICAgICAgICAgICAgY3JlYXRlZCB3aGVuIGEgdmlydHVhbCBsaW5rIGlz IGVzdGFibGlzaGVkIChPTlUKICAgICAgICAgICAgICAgIHJlZ2lzdGVycykgYW5kIGRlbGV0ZWQg d2hlbiB0aGUgdmlydHVhbCBsaW5rIGlzIGRlbGV0ZWQKICAgICAgICAgICAgICAgIChPTlUgZGVy ZWdpc3RlcnMpLiBSb3dzIGV4aXN0IGZvciBhbiBPTFQgaW50ZXJmYWNlIGFuZAogICAgICAgICAg ICAgICAgYW4gT05VIGludGVyZmFjZS4iCiAgICAgICBJTkRFWCAgeyBpZkluZGV4fQogICAgICAg Ojo9IHsgZG90M0Vwb25GZWNUYWJsZSAxIH0KCgoKS2hlcm1vc2ggICAgICAgICAgICAgICAgIEV4 cGlyZXMgQXVndXN0IDE0LCAyMDA2ICAgICAgICAgICAgICAgW1BhZ2UgNDhdCgwKSW50ZXJuZXQt RHJhZnQgICAgICAgICAgIE1hbmFnZWQgT2JqZWN0cyBvZiBFUE9OICAgICAgICAgICBGZWJydWFy eSAyMDA2CgoKICAgRG90M0Vwb25GZWNFbnRyeSA6Oj0KICAgICAgIFNFUVVFTkNFIHsKICAgICAg ICAgICAgICAgZG90M0Vwb25GZWNQQ1NDb2RpbmdWaW9sYXRpb24gICAgICAgICAgIENvdW50ZXI2 NCwKICAgICAgICAgICAgICAgZG90M0Vwb25GZWNBYmlsaXR5ICAgICAgICAgICAgICAgICAgICAg IElOVEVHRVIsCiAgICAgICAgICAgICAgIGRvdDNFcG9uRmVjTW9kZSAgICAgICAgICAgICAgICAg ICAgICAgICBJTlRFR0VSLAogICAgICAgICAgICAgICBkb3QzRXBvbkZlY0NvcnJlY3RlZEJsb2Nr cyAgICAgICAgICAgICAgQ291bnRlcjY0LAogICAgICAgICAgICAgICBkb3QzRXBvbkZlY1VuY29y cmVjdGFibGVCbG9ja3MgICAgICAgICAgQ291bnRlcjY0LAogICAgICAgICAgICAgICBkb3QzRXBv bkZlY0J1ZmZlckhlYWRDb2RpbmdWaW9sYXRpb24gICAgQ291bnRlcjY0CiAgICAgICB9CgogICBk b3QzRXBvbkZlY1BDU0NvZGluZ1Zpb2xhdGlvbiBPQkpFQ1QtVFlQRQogICAgICAgU1lOVEFYICBD b3VudGVyNjQKICAgICAgIFVOSVRTICAgICAgIm9jdGV0cyIKICAgICAgIE1BWC1BQ0NFU1MgIHJl YWQtb25seQogICAgICAgU1RBVFVTICBjdXJyZW50CiAgICAgICBERVNDUklQVElPTgogICAgICAg ICAgICAgICAiRm9yIDEwMCBNYi8gcyBvcGVyYXRpb24gaXQgaXMgYSBjb3VudCBvZiB0aGUgbnVt YmVyIG9mCiAgICAgICAgICAgICAgICB0aW1lcyBhbiBpbnZhbGlkIGNvZGUtZ3JvdXAgaXMgcmVj ZWl2ZWQsIG90aGVyIHRoYW4gdGhlCiAgICAgICAgICAgICAgICAvSC8gY29kZS1ncm91cC4gRm9y IDEwMDAgTWIvIHMgb3BlcmF0aW9uIGl0IGlzIGEgY291bnQKICAgICAgICAgICAgICAgIG9mIHRo ZSBudW1iZXIgb2YgdGltZXMgYW4gaW52YWxpZCBjb2RlZ3JvdXAgaXMgcmVjZWl2ZWQsCiAgICAg ICAgICAgICAgICBvdGhlciB0aGFuIHRoZSAvVi8gY29kZS1ncm91cC4gL0gvIGFuZCAvVi8gZGVu b3RlCiAgICAgICAgICAgICAgICBzcGVjaWFsIDhiMTBiIGNvZGV3b3JkcyBvZiB0aGUgWzgwMi4z XSBQQ1MgbGF5ZXIgKGNsYXVzZQogICAgICAgICAgICAgICAgMzYpLiIKICAgICAgIFJFRkVSRU5D RSAgICJbODAyLjNhaF0sIDMwLjUuMS4xLjEyLiIKICAgICAgIDo6PSB7IGRvdDNFcG9uRmVjRW50 cnkgMX0KCiAgIGRvdDNFcG9uRmVjQWJpbGl0eSBPQkpFQ1QtVFlQRQogICAgICAgU1lOVEFYICBJ TlRFR0VSIHsKICAgICAgICAgICAgICAgdW5rbm93biAoMSksCiAgICAgICAgICAgICAgIHVuc3Vw cG9ydGVkICgyKSwKICAgICAgICAgICAgICAgc3VwcG9ydGVkICgzKQogICAgICAgfQogICAgICAg TUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgICBTVEFUVVMgIGN1cnJlbnQKICAgICAgIERFU0NS SVBUSU9OCiAgICAgICAgICAgICAgICJBIHZhbHVlIHRoYXQgaW5kaWNhdGVzIHRoZSBzdXBwb3J0 IG9mCiAgICAgICAgICAgICAgICBvcGVyYXRpb24gb2YgdGhlIDEwMDBCQVNFLVBYIFBIWSBvcHRp b25hbCBGRUMgU3VibGF5ZXIKICAgICAgICAgICAgICAgIGZvciBGb3J3YXJkIGVycm9yIGNvcnJl Y3Rpb24gc2VlIFs4MDIuM2FoXSBjbGF1c2UKICAgICAgICAgICAgICAgIDY1LjIpLgogICAgICAg ICAgICAgICAgdW5rbm93bigxKSB2YWx1ZSBpcyBhc3NpZ25lZCBpbiBpbml0aWFsaXppbmcsIGZv ciBub24KICAgICAgICAgICAgICAgIEZFQyBzdXBwb3J0IHN0YXRlIG9yIHR5cGUgbm90IHlldCBr bm93bi4gdW5zdXBwb3J0ZWQoMikKICAgICAgICAgICAgICAgIHZhbHVlIGlzIGFzc2lnbmVkIHdo ZW4gU3VibGF5ZXIgaXMgbm90IHN1cHBvcnQuCiAgICAgICAgICAgICAgICBzdXBwb3J0ZWQoMykg dmFsdWUgaXMgYXNzaWduZWQgd2hlbiBTdWJsYXllciBpcwogICAgICAgICAgICAgICAgc3VwcG9y dGVkLiIKICAgICAgIFJFRkVSRU5DRSAgICJbODAyLjNhaF0sIDMwLjUuMS4xLjEzLiIKICAgICAg IDo6PSB7IGRvdDNFcG9uRmVjRW50cnkgMn0KCiAgIGRvdDNFcG9uRmVjTW9kZSBPQkpFQ1QtVFlQ RQoKCgpLaGVybW9zaCAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMTQsIDIwMDYgICAg ICAgICAgICAgICBbUGFnZSA0OV0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgTWFuYWdlZCBP YmplY3RzIG9mIEVQT04gICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYKCgogICAgICAgU1lOVEFYICBJ TlRFR0VSIHsKICAgICAgICAgICAgICAgdW5rbm93biAoMSksCiAgICAgICAgICAgICAgIGRpc2Fi bGVkICgyKSwKICAgICAgICAgICAgICAgZW5hYmxlZCAoMykKICAgICAgIH0KICAgICAgIE1BWC1B Q0NFU1MgIHJlYWQtd3JpdGUKICAgICAgIFNUQVRVUyAgY3VycmVudAogICAgICAgREVTQ1JJUFRJ T04KICAgICAgICAgICAgICAgIkEgcmVhZC13cml0ZSB2YWx1ZSB0aGF0IGluZGljYXRlcyB0aGUg bW9kZSBvZiBvcGVyYXRpb24KICAgICAgICAgICAgICAgIG9mIHRoZSAxMDAwQkFTRS1QWCBQSFkg b3B0aW9uYWwgRkVDIFN1YmxheWVyIGZvciBGb3J3YXJkCiAgICAgICAgICAgICAgICBlcnJvciBj b3JyZWN0aW9uIHNlZSBbODAyLjNhaF0gY2xhdXNlIDY1LjIpLgogICAgICAgICAgICAgICAgQSBH RVQgb3BlcmF0aW9uIHJldHVybnMgdGhlIGN1cnJlbnQgbW9kZSBvZiBvcGVyYXRpb24KICAgICAg ICAgICAgICAgIHRoZSBQSFkuIEEgU0VUIG9wZXJhdGlvbiBjaGFuZ2VzIHRoZSBtb2RlIG9mIG9w ZXJhdGlvbgogICAgICAgICAgICAgICAgb2YgdGhlIFBIWSB0byB0aGUgaW5kaWNhdGVkIHZhbHVl LiB1bmtub3duKDEpIHZhbHVlIGlzCiAgICAgICAgICAgICAgICBhc3NpZ25lZCBpbiBpbml0aWFs aXppbmcsIGZvciBub24gRkVDIHN1cHBvcnQgc3RhdGUgb3IKICAgICAgICAgICAgICAgIHR5cGUg bm90IHlldCBrbm93bi4gZGlzYWJsZWQoMikgdmFsdWUgaXMgYXNzaWduZWQgd2hlbgogICAgICAg ICAgICAgICAgU3VibGF5ZXIgb3BlcmF0aW5nIGluIGRpc2FibGVkIG1vZGUuIGVuYWJsZWQoMykg dmFsdWUgaXMKICAgICAgICAgICAgICAgIGFzc2lnbmVkIHdoZW4gU3VibGF5ZXIgb3BlcmF0aW5n IGluIEZFQyBtb2RlLiB3cml0aW5nCiAgICAgICAgICAgICAgICBjYW4gYmUgZG9uZSBhdCBhbnkg dGltZS4iCiAgICAgICBSRUZFUkVOQ0UgICAiWzgwMi4zYWhdLCAzMC41LjEuMS4xNC4iCiAgICAg ICBERUZWQUwgeyAxIH0KICAgICAgIDo6PSB7IGRvdDNFcG9uRmVjRW50cnkgM30KCiAgIGRvdDNF cG9uRmVjQ29ycmVjdGVkQmxvY2tzIE9CSkVDVC1UWVBFCiAgICAgICBTWU5UQVggIENvdW50ZXI2 NAogICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgICBTVEFUVVMgIGN1cnJlbnQKICAg ICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAgICAgICJGb3IgMTBQQVNTLVRTLCAyQkFTRS1UTCBh bmQgMTAwMEJBU0UtUFggUEhZcywgYSBjb3VudAogICAgICAgICAgICAgICAgb2YgY29ycmVjdGVk IEZFQyBibG9ja3MuIFRoaXMgY291bnRlciB3aWxsIG5vdCBpbmNyZW1lbnQKICAgICAgICAgICAg ICAgIGZvciBvdGhlciBQSFkgVHlwZXMuIEluY3JlbWVudCB0aGUgY291bnRlciBieSBvbmUgZm9y CiAgICAgICAgICAgICAgICBlYWNoIHJlY2VpdmVkIGJsb2NrIHRoYXQgaXMgY29ycmVjdGVkIGJ5 IHRoZSBGRUMKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGluIHRoZSBQSFkuIgogICAgICAgUkVG RVJFTkNFICAgIls4MDIuM2FoXSwgMzAuNS4xLjEuMTUuIgogICAgICAgOjo9IHsgZG90M0Vwb25G ZWNFbnRyeSA0fQoKICAgZG90M0Vwb25GZWNVbmNvcnJlY3RhYmxlQmxvY2tzIE9CSkVDVC1UWVBF CiAgICAgICBTWU5UQVggIENvdW50ZXI2NAogICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAg ICAgICBTVEFUVVMgIGN1cnJlbnQKICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAgICAgICJG b3IgMTBQQVNTLVRTLCAyQkFTRS1UTCBhbmQgMTAwMEJBU0UtUFggUEhZcywgYSBjb3VudCBvZgog ICAgICAgICAgICAgICAgdW5jb3JyZWN0YWJsZSBGRUMgYmxvY2tzLiBUaGlzIGNvdW50ZXIgd2ls bCBub3QKICAgICAgICAgICAgICAgIGluY3JlbWVudCBmb3Igb3RoZXIgUEhZIFR5cGVzLiBJbmNy ZW1lbnQgdGhlIGNvdW50ZXIgYnkKICAgICAgICAgICAgICAgIG9uZSBmb3IgZWFjaCBGRUMgYmxv Y2sgdGhhdCBpcyBkZXRlcm1pbmVkIHRvIGJlCiAgICAgICAgICAgICAgICB1bmNvcnJlY3RhYmxl IGJ5IHRoZSBGRUMgZnVuY3Rpb24gaW4gdGhlIFBIWS4iCiAgICAgICBSRUZFUkVOQ0UgICAiWzgw Mi4zYWhdLCAzMC41LjEuMS4xNi4iCiAgICAgICA6Oj0geyBkb3QzRXBvbkZlY0VudHJ5IDV9CgoK CktoZXJtb3NoICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAxNCwgMjAwNiAgICAgICAg ICAgICAgIFtQYWdlIDUwXQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICBNYW5hZ2VkIE9iamVj dHMgb2YgRVBPTiAgICAgICAgICAgRmVicnVhcnkgMjAwNgoKCiAgIGRvdDNFcG9uRmVjQnVmZmVy SGVhZENvZGluZ1Zpb2xhdGlvbiBPQkpFQ1QtVFlQRQogICAgICAgU1lOVEFYICBDb3VudGVyNjQK ICAgICAgIFVOSVRTICAgICAgIm9jdGV0cyIKICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQog ICAgICAgU1RBVFVTICBjdXJyZW50CiAgICAgICBERVNDUklQVElPTgogICAgICAgICAgICAgICAi Rm9yIDEwMDAgTWJwcyBvcGVyYXRpb24gaXQgaXMgYSBjb3VudHMgb2YgdGhlIG51bWJlciBvZgog ICAgICAgICAgICAgICAgaW52YWxpZCBjb2RlLWdyb3VwIHJlY2VpdmVkIGRpcmVjdGx5IGZyb20g dGhlIGxpbmsuIgogICAgICAgOjo9IHsgZG90M0Vwb25GZWNFbnRyeSA2fQoKCgogICAtLSBFeHRl bmRlZFBhY2thZ2UgbWFuYWdlZCBvYmplY3QgZGVmaW5pdGlvbnMKCgogICBkb3QzRXh0UGtnT2Jq ZWN0cyBPQkpFQ1QgSURFTlRJRklFUiA6Oj17ZG90M0Vwb25PYmplY3RzIDR9CgogICBkb3QzRXh0 UGtnQ29udHJvbE9iamVjdHMgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgZG90M0V4dFBrZ09iamVj dHMgMX0KCgogICBkb3QzRXh0UGtnQ29udHJvbFRhYmxlIE9CSkVDVC1UWVBFCiAgICAgICBTWU5U QVggIFNFUVVFTkNFIE9GIERvdDNFeHRQa2dDb250cm9sRW50cnkKICAgICAgIE1BWC1BQ0NFU1Mg IG5vdC1hY2Nlc3NpYmxlCiAgICAgICBTVEFUVVMgIGN1cnJlbnQKICAgICAgIERFU0NSSVBUSU9O CiAgICAgICAgICAgICAgICJBIHRhYmxlIGZvciBFeHRlbmRlZCBwYWNrYWdlIENvbnRyb2wgbWFu YWdlbWVudAogICAgICAgICAgICAgICAgb2JqZWN0cy4gRW50cmllcyBhcmUgY29udHJvbCBhbmQg c3RhdHVzIGluZGljYXRpb24KICAgICAgICAgICAgICAgIG9iamVjdHMgZm9yIGFuIEVQT04gaW50 ZXJmYWNlIHdoaWNoIGFyZSBnYXRoZXJlZCBpbiBhbgogICAgICAgICAgICAgICAgZXh0ZW5kZWQg cGFja2FnZSBhcyBhbiBhZGRpdGlvbiBmb3IgdGhlIFs4MDIuM2FoXQogICAgICAgICAgICAgICAg YXR0cmlidXRlcy4KICAgICAgICAgICAgICAgIEVhY2ggb2JqZWN0IGhhcyBhIHJvdyBmb3IgZXZl cnkgdmlydHVhbCBsaW5rCiAgICAgICAgICAgICAgICBhY2NvcmRpbmcgdG8gdGhlIHByb3BlciBp ZkluZGV4LiBUeXBpY2FsbHkgdGhlIG51bWJlcgogICAgICAgICAgICAgICAgb2YgZXhwZWN0ZWQg dmlydHVhbCBsaW5rIGluIGEgUE9OIGlzIGxpa2UgdGhlIG51bWJlciBvZgogICAgICAgICAgICAg ICAgT05VcyAzMi02NCBwbHVzIGFuIGFkZGl0aW9uYWwgZW50cnkgZm9yIGJyb2FkY2FzdCBMTElE CiAgICAgICAgICAgICAgICAod2hpY2ggaXMgbWFya2VkIGJ5IDB4ZmZmZikuIEluIHRoZSBbODAy LjNhaF0gdGhlIExMSUQKICAgICAgICAgICAgICAgIGlzIGEgMmJ5dGVzIHJlZ2lzdGVyIGFuZCB0 aGUgbnVtYmVyIG9mIExMSURzIGxpbWl0ZWQgYnkKICAgICAgICAgICAgICAgIHRoYXQuIgogICAg ICAgOjo9IHsgZG90M0V4dFBrZ0NvbnRyb2xPYmplY3RzIDEgfQoKICAgZG90M0V4dFBrZ0NvbnRy b2xFbnRyeSBPQkpFQ1QtVFlQRQogICAgICAgU1lOVEFYICBEb3QzRXh0UGtnQ29udHJvbEVudHJ5 CiAgICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQogICAgICAgU1RBVFVTICBjdXJyZW50 CiAgICAgICBERVNDUklQVElPTgogICAgICAgICAgICAgICAiQW4gZW50cnkgaW4gdGhlIEV4dGVu ZGVkIHBhY2thZ2UgQ29udHJvbCB0YWJsZS4KICAgICAgICAgICAgICAgIFJvd3MgaW4gdGhlIHRh YmxlIGFyZSBjcmVhdGVkIHdoZW4gaWZJbmRleHMgYXJlIGNyZWF0ZWQuCiAgICAgICAgICAgICAg ICBGb3IgdGhlIE9OVSByb3dzIGFyZSBjcmVhdGVkIGF0IHN5c3RlbSBpbml0aWFsaXphdGlvbi4K ICAgICAgICAgICAgICAgIEZvciB0aGUgT0xUIHRoZSByb3dzIG9mIHRoZSBPTFQgaWZJbmRleCBh bmQgdGhlIHJvdyBvZgoKCgpLaGVybW9zaCAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3Qg MTQsIDIwMDYgICAgICAgICAgICAgICBbUGFnZSA1MV0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAg ICAgTWFuYWdlZCBPYmplY3RzIG9mIEVQT04gICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYKCgogICAg ICAgICAgICAgICAgdGhlIGlmSW5kZXggcmVmZXJyaW5nIHRvIHRoZSBicm9hZGNhc3QgdmlydHVh bCBsaW5rIGFyZQogICAgICAgICAgICAgICAgY3JlYXRlZCBhdCBzeXN0ZW0gaW5pdGlhbGl6YXRp b24uIEZvciB0aGUgaWZJbmRleHMKICAgICAgICAgICAgICAgIHJlZmVycmluZyB0byB0aGUgdmly dHVhbCBsaW5rcyBhdCB0aGUgT0xULCBhIHJvdyBpcwogICAgICAgICAgICAgICAgY3JlYXRlZCB3 aGVuIGEgdmlydHVhbCBsaW5rIGlzIGVzdGFibGlzaGVkIChPTlUKICAgICAgICAgICAgICAgIHJl Z2lzdGVycykgYW5kIGRlbGV0ZWQgd2hlbiB0aGUgdmlydHVhbCBsaW5rIGlzIGRlbGV0ZWQKICAg ICAgICAgICAgICAgIChPTlUgZGVyZWdpc3RlcnMpLiBSb3dzIGV4aXN0IGZvciBhbiBPTFQgaW50 ZXJmYWNlIGFuZAogICAgICAgICAgICAgICAgYW4gT05VIGludGVyZmFjZS4iCiAgICAgICBJTkRF WCAgeyBpZkluZGV4fQogICAgICAgOjo9IHsgZG90M0V4dFBrZ0NvbnRyb2xUYWJsZSAxIH0KCiAg IERvdDNFeHRQa2dDb250cm9sRW50cnkgOjo9CiAgICAgICBTRVFVRU5DRSB7CiAgICAgICAgZG90 M0V4dFBrZ09iamVjdFJlc2V0ICAgICAgICAgICAgICAgICAgICAgICBJTlRFR0VSLAogICAgICAg IGRvdDNFeHRQa2dPYmplY3RQb3dlckRvd24gICAgICAgICAgICAgICAgICAgVHJ1dGhWYWx1ZSwK ICAgICAgICBkb3QzRXh0UGtnT2JqZWN0TnVtYmVyT2ZMTElEcyAgICAgICAgICAgICAgIFVuc2ln bmVkMzIsCiAgICAgICAgZG90M0V4dFBrZ09iamVjdEZlY0VuYWJsZWQgICAgICAgICAgICAgICAg ICBJTlRFR0VSLAogICAgICAgIGRvdDNFeHRQa2dPYmplY3RSZXBvcnRNYXhpbXVtTnVtUXVldWVz ICAgICAgVW5zaWduZWQzMiwKICAgICAgICBkb3QzRXh0UGtnT2JqZWN0UmVnaXN0ZXJBY3Rpb24g ICAgICAgICAgICAgIElOVEVHRVIKICAgICAgIH0KCiAgIGRvdDNFeHRQa2dPYmplY3RSZXNldCBP QkpFQ1QtVFlQRQogICAgICAgU1lOVEFYICBJTlRFR0VSIHsKICAgICAgICAgICAgICAgcnVubmlu ZygxKSwKICAgICAgICAgICAgICAgcmVzZXQoMikKICAgICAgIH0KICAgICAgIE1BWC1BQ0NFU1Mg IHJlYWQtd3JpdGUKICAgICAgIFNUQVRVUyAgY3VycmVudAogICAgICAgREVTQ1JJUFRJT04KICAg ICAgICAgICAgICAgIlRoaXMgdmFyaWFibGUgaXMgdXNlZCB0byByZXNldCB0aGUgRVBPTiBpbnRl cmZhY2UuIFRoZQogICAgICAgICAgICAgICAgaW50ZXJmYWNlIG1heSBiZSB1bmF2YWlsYWJsZSB3 aGlsZSB0aGUgcmVzZXQgb2NjdXJzIGFuZAogICAgICAgICAgICAgICAgZGF0YSBtYXkgYmUgbG9z dC4gRHVyaW5nIHJlYWRpbmcgb3BlcmF0aW9uIGl0IHJldHVybnMKICAgICAgICAgICAgICAgIHRo ZSBzdGF0ZSBvZiB0aGUgRVBPTiBpbnRlcmZhY2UuIHJ1bm5pbmcoMSkgaW5kaWNhdGVzCiAgICAg ICAgICAgICAgICBhbmQgb3BlcmF0ZXMgbm9ybWFsIG9wZXJhdGlvbiwgcmVzZXQoMikgaW5kaWNh dGVzIGFuZAogICAgICAgICAgICAgICAgb3BlcmF0ZXMgcmVzZXQgbW9kZS4gV3JpdGluZyBjYW4g YmUgZG9uZSBhdCBhbnkgdGltZS4KICAgICAgICAgICAgICAgIFRoaXMgb2JqZWN0IGlzIHJlbGV2 YW50IGZvciBhbiBPTFQsIHNhbWUgZm9yIGFsbAogICAgICAgICAgICAgICAgdmlydHVhbCBsaW5r cywgYW5kIGZvciBhbiBPTlUuIgogICAgICAgREVGVkFMIHsgMSB9CiAgICAgICA6Oj0geyBkb3Qz RXh0UGtnQ29udHJvbEVudHJ5IDEgfQoKICAgZG90M0V4dFBrZ09iamVjdFBvd2VyRG93biBPQkpF Q1QtVFlQRQogICAgICAgU1lOVEFYICBUcnV0aFZhbHVlCiAgICAgICBNQVgtQUNDRVNTICByZWFk LXdyaXRlCiAgICAgICBTVEFUVVMgIGN1cnJlbnQKICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAg ICAgICAgICJTZXR0aW5nIHRoaXMgdmFyaWFibGUgdG8gdHJ1ZSgxKSB3aWxsIGNhdXNlIHRoZQog ICAgICAgICAgICAgICAgaW50ZXJmYWNlIHRvIGJlIGVudGVyZWQgaW50byBQb3dlciBkb3duIG1v ZGUuIFNldHRpbmcKICAgICAgICAgICAgICAgIHRoaXMgdmFyaWFibGUgdG8gZmFsc2UoMikgd2ls bCBjYXVzZSB0aGUgaW50ZXJmYWNlIHRvIGdvCiAgICAgICAgICAgICAgICBvdXQgb2YgcG93ZXIg ZG93biBtb2RlLiBXaGVuIGdldHRpbmcgdHJ1ZSgxKSB0aGUKCgoKS2hlcm1vc2ggICAgICAgICAg ICAgICAgIEV4cGlyZXMgQXVndXN0IDE0LCAyMDA2ICAgICAgICAgICAgICAgW1BhZ2UgNTJdCgwK SW50ZXJuZXQtRHJhZnQgICAgICAgICAgIE1hbmFnZWQgT2JqZWN0cyBvZiBFUE9OICAgICAgICAg ICBGZWJydWFyeSAyMDA2CgoKICAgICAgICAgICAgICAgIGludGVyZmFjZSBpcyBpbiBwb3dlciBk b3duLiBXaGVuIGdldHRpbmcgZmFsc2UoMikgdGhlCiAgICAgICAgICAgICAgICBpbnRlcmZhY2Ug aXMgbm90IGluIHBvd2VyIGRvd24uCiAgICAgICAgICAgICAgICBXcml0aW5nIGNhbiBiZSBkb25l IGF0IGFueSB0aW1lLgogICAgICAgICAgICAgICAgVGhlIHZhcmlhYmxlIGlzIHJlbGV2YW50IHdo ZW4gdGhlIGFkbWluIHN0YXRlIG9mIHRoZQogICAgICAgICAgICAgICAgZGV2aWNlIGlzIGFjdGl2 ZSBhcyBzZXQgYnkgdGhlIGRvdDNNcGNwQWRtaW5TdGF0ZS4KICAgICAgICAgICAgICAgIFRoaXMg b2JqZWN0IGlzIHJlbGV2YW50IGZvciBhbiBPTFQsIHNhbWUgZm9yIGFsbAogICAgICAgICAgICAg ICAgdmlydHVhbCBsaW5rcywgYW5kIGZvciBhbiBPTlUuIgogICAgICAgREVGVkFMIHsgZmFsc2Ug fQogICAgICAgOjo9IHsgZG90M0V4dFBrZ0NvbnRyb2xFbnRyeSAyIH0KCgogICBkb3QzRXh0UGtn T2JqZWN0TnVtYmVyT2ZMTElEcyBPQkpFQ1QtVFlQRQogICAgICAgU1lOVEFYICBVbnNpZ25lZDMy CiAgICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICAgIFNUQVRVUyAgY3VycmVudAogICAg ICAgREVTQ1JJUFRJT04KICAgICAgICAgICAgICAgIkEgcmVhZCBvbmx5IHZhcmlhYmxlIHdoaWNo IGRlZmluZXMgdGhlIG51bWJlciBvZgogICAgICAgICAgICAgICAgcmVnaXN0ZXJlZCBMTElEcyAo YXMgZGVmaW5lZCBieSB0aGUgWzgwMi4zYWhdIGNsYXVzZSA2NSkKICAgICAgICAgICAgICAgIGlu IGEgRVBPTiBuZXR3b3JrIGZvciBhbiBPTFQgYW5kIGFuIE9OVS4gSW5pdGlhbGl6YXRpb24KICAg ICAgICAgICAgICAgIHZhbHVlIGlzIDAuCiAgICAgICAgICAgICAgICBUaGlzIG9iamVjdCBpcyBy ZWxldmFudCBmb3IgYW4gT0xUIGFuZCBhbiBPTlUuCiAgICAgICAgICAgICAgICBUeXBpY2FsbHkg dGhlIG51bWJlciBvZiBleHBlY3RlZCB2aXJ0dWFsIGxpbmsgaW4gYSBQT04KICAgICAgICAgICAg ICAgIGlzIGxpa2UgdGhlIG51bWJlciBvZiBPTlVzIDMyLTY0IHBsdXMgYW4gYWRkaXRpb25hbAog ICAgICAgICAgICAgICAgZW50cnkgZm9yIGJyb2FkY2FzdCBMTElEICh3aGljaCBpcyBtYXJrZWQg YnkgMHhmZmZmKS4gSW4KICAgICAgICAgICAgICAgIHRoZSBbODAyLjNhaF0gdGhlIExMSUQgaXMg YSAyYnl0ZXMgcmVnaXN0ZXIgYW5kIHRoZQogICAgICAgICAgICAgICAgbnVtYmVyIG9mIExMSURz IGlzIGxpbWl0ZWQgYnkgdGhhdC4gQXQgdGhlIE9OVSB0aGUKICAgICAgICAgICAgICAgIG51bWJl ciBvZiBMTElEcyBmb3IgYW4gaW50ZXJmYWNlIGlzIG9uZS4KICAgICAgICAgICAgICAgIFRoaXMg b2JqZWN0IGlzIHJlbGV2YW50IGZvciBhbiBPTFQsIHNhbWUgZm9yIGFsbAogICAgICAgICAgICAg ICAgdmlydHVhbCBsaW5rcywgYW5kIGZvciBhbiBPTlUuIgogICAgICAgOjo9IHsgZG90M0V4dFBr Z0NvbnRyb2xFbnRyeSAzIH0KCgoKICAgZG90M0V4dFBrZ09iamVjdEZlY0VuYWJsZWQgT0JKRUNU LVRZUEUKICAgICAgIFNZTlRBWCAgSU5URUdFUiB7CiAgICAgICAgICAgICAgIG5vRmVjRW5hYmxl ZCAoMSksCiAgICAgICAgICAgICAgIGZlY1R4RW5hYmxlZCAoMiksCiAgICAgICAgICAgICAgIGZl Y1J4RW5hYmxlZCAoMyksCiAgICAgICAgICAgICAgIGZlY1R4UnhFbmFibGVkICg0KQogICAgICAg fQogICAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQogICAgICAgU1RBVFVTICBjdXJyZW50CiAg ICAgICBERVNDUklQVElPTgogICAgICAgICAgICAgIlRoaXMgdmFyaWFibGUgZGVmaW5lcyBhbmQg cHJvdmlkZXMgaW5mb3JtYXRpb24gd2hldGhlciB0aGUKICAgICAgICAgICAgICBFUE9OIGludGVy ZmFjZSB1c2VzIEZFQyBhcyBkZWZpbmVkIGluIHRoZSBbODAyLjNhaF0gY2xhdXNlCiAgICAgICAg ICAgICAgNjUuMiBmb3IgRVBPTi4gV2hlbiBub0ZFQ0VuYWJsZWQoMSkgdGhlIGludGVyZmFjZSBk b2VzIG5vdAogICAgICAgICAgICAgIHN1cHBvcnQgRkVDIG1vZGUuIFdoZW4gZmVjVHhFbmFibGVk KDIpIHRoZSBpbnRlcmZhY2UKICAgICAgICAgICAgICBzdXBwb3J0cyB0aGUgRkVDIHRyYW5zbWlz c2lvbiBtb2RlLiBXaGVuIGZlY1J4RW5hYmxlZCgzKQoKCgpLaGVybW9zaCAgICAgICAgICAgICAg ICAgRXhwaXJlcyBBdWd1c3QgMTQsIDIwMDYgICAgICAgICAgICAgICBbUGFnZSA1M10KDApJbnRl cm5ldC1EcmFmdCAgICAgICAgICAgTWFuYWdlZCBPYmplY3RzIG9mIEVQT04gICAgICAgICAgIEZl YnJ1YXJ5IDIwMDYKCgogICAgICAgICAgICAgIHRoZSBpbnRlcmZhY2Ugc3VwcG9ydHMgdGhlIEZF QyBSZWNlaXZlIG1vZGUuIFdoZW4KICAgICAgICAgICAgICBmZWNUeFJ4RW5hYmxlZCg0KSB0aGUg aW50ZXJmYWNlIHN1cHBvcnRzIHRoZSBGRUMKICAgICAgICAgICAgICB0cmFuc21pc3Npb24gYW5k IHJlY2VpdmUgbW9kZS4KICAgICAgICAgICAgICBXcml0aW5nIGNhbiBiZSBkb25lIGF0IGFueSB0 aW1lLgogICAgICAgICAgICAgIFRoaXMgb2JqZWN0IGlzIHJlbGV2YW50IGZvciBhbiBPTFQgYW5k IGFuIE9OVS4gRm9yIHRoZQogICAgICAgICAgICAgIE9MVCB0aGVyZSBpcyBhIHZhbHVlIHBlciBM TElELiIKICAgICAgIERFRlZBTCB7IDEgfQogICAgICAgOjo9IHsgZG90M0V4dFBrZ0NvbnRyb2xF bnRyeSA0IH0KCiAgIGRvdDNFeHRQa2dPYmplY3RSZXBvcnRNYXhpbXVtTnVtUXVldWVzIE9CSkVD VC1UWVBFCiAgICAgICBTWU5UQVggIFVuc2lnbmVkMzIKICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQt b25seQogICAgICAgU1RBVFVTICBjdXJyZW50CiAgICAgICBERVNDUklQVElPTgogICAgICAgICAg ICAgICAiQW4gaW50ZWdlciBmb3IgZWFjaCBMTElELCB0aGF0IGRlZmluZXMgdGhlCiAgICAgICAg ICAgICAgICBtYXhpbWFsIG51bWJlciBvZiBxdWV1ZXMgaW4gdGhlIFJFUE9SVCBtZXNzYWdlLCBh cwogICAgICAgICAgICAgICAgZGVmaW5lZCBpbiBbODAyLjNhaF0gNjQuCiAgICAgICAgICAgICAg VGhpcyBvYmplY3QgaXMgcmVsZXZhbnQgZm9yIGFuIE9MVCBhbmQgYW4gT05VLiBGb3IgdGhlCiAg ICAgICAgICAgICAgT0xUIHRoZXJlIGlzIGEgdmFsdWUgcGVyIExMSUQuIgogICAgICAgREVGVkFM IHsgMCB9CiAgICAgICA6Oj0geyBkb3QzRXh0UGtnQ29udHJvbEVudHJ5IDUgfQoKCiAgIGRvdDNF eHRQa2dPYmplY3RSZWdpc3RlckFjdGlvbiBPQkpFQ1QtVFlQRQogICAgICAgU1lOVEFYICBJTlRF R0VSIHsKICAgICAgICAgICAgICAgbm9uZSAoMSksCiAgICAgICAgICAgICAgIHJlZ2lzdGVyICgy KSwKICAgICAgICAgICAgICAgZGVyZWdpc3RlciAoMyksCiAgICAgICAgICAgICAgIHJlcmVnaXN0 ZXIgKDQpCiAgICAgICB9CiAgICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlCiAgICAgICBTVEFU VVMgIGN1cnJlbnQKICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAgICAgICJBIGxpc3Qgb2Yg YWN0aW9ucyBmb3IgYW4gZW50cnkgLSBMTElELiAgSW5kaWNhdGVzIGFuZAogICAgICAgICAgICAg ICAgZGVmaW5lcyB0aGUgc3RhdGUgb2YgcmVnaXN0cmF0aW9uIGZvciB0aGUgcmVtb3RlCiAgICAg ICAgICAgICAgICBpbnRlcmZhY2UuCiAgICAgICAgICAgICAgICBub25lKDEpIG1hcmtzIG5vIGFj dGlvbiwgcmVnaXN0ZXIoMikgbWFya3MgdG8gcmVnaXN0ZXIKICAgICAgICAgICAgICAgIGFuIExM SUQsIGRlcmVnaXN0ZXIoMykgbWFya3MgdG8gZGVyZWdpc3RlciBhbiBMTElELAogICAgICAgICAg ICAgICAgcmVyZWdpc3Rlcig0KSBtYXJrcyByZXJlZ2lzdGVyZWQgTExJRC4KICAgICAgICAgICAg ICBUaGlzIG9iamVjdCBpcyByZWxldmFudCBmb3IgYW4gT0xUIGFuZCBhbiBPTlUuIEZvciB0aGUK ICAgICAgICAgICAgICBPTFQgdGhlcmUgaXMgYSB2YWx1ZSBwZXIgTExJRC4iCiAgICAgICBERUZW QUwgeyAxIH0KICAgICAgIDo6PSB7IGRvdDNFeHRQa2dDb250cm9sRW50cnkgNiB9CgoKICAgZG90 M0V4dFBrZ1F1ZXVlVGFibGUgT0JKRUNULVRZUEUKICAgICAgIFNZTlRBWCAgU0VRVUVOQ0UgT0Yg RG90M0V4dFBrZ1F1ZXVlRW50cnkKICAgICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCgoK CktoZXJtb3NoICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAxNCwgMjAwNiAgICAgICAg ICAgICAgIFtQYWdlIDU0XQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICBNYW5hZ2VkIE9iamVj dHMgb2YgRVBPTiAgICAgICAgICAgRmVicnVhcnkgMjAwNgoKCiAgICAgICBTVEFUVVMgIGN1cnJl bnQKICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAgICAgICJBIHRhYmxlIGZvciBleHRlbmRl ZCBwYWNrYWdlIFF1ZXVlIG1hbmFnZW1lbnQgb2JqZWN0cy4KICAgICAgICAgICAgICAgIFRoZSBb ODAyLjNhaF0gTVBDUCB1c2VzIGZvciB0aGUgZmVlZGJhY2sgQlcgcmVxdWVzdCBmcm9tCiAgICAg ICAgICAgICAgICB0aGUgT05VcyBhIHJlcG9ydCBvZiBzb21lIHF1ZXVlcyBvY2N1cGFuY3kuIFRo ZXNlIHF1ZXVlcwogICAgICAgICAgICAgICAgc2VydmUgdGhlIE9OVSB0cmFuc21pc3Npb24gYW5k IGRhdGEgaXMgZ2F0aGVyZWQgdGhlcmUKICAgICAgICAgICAgICAgIHVudGlsIHRoZSBPTlUgaXMg Z3JhbnRlZCBmb3IgdHJhbnNtaXNzaW9uLiBTaW5jZSB0aGUKICAgICAgICAgICAgICAgIGV4aXN0 ZW5jZSBvZiBzdWNoIHF1ZXVpbmcgbWVjaGFuaXNtIGlzIGltcGxpZWQgaW4gdGhlCiAgICAgICAg ICAgICAgICBbODAyLjNhaF0gc3BlYyBhbmQgYW4gT05VIG1heSBub3QgYmUgYSBzd2l0Y2ggZGV2 aWNlLAogICAgICAgICAgICAgICAgYSBtYW5hZ2VtZW50IHNlY3Rpb24gaXMgYWRkZWQgaGVyZSBm b3IgdGhlIHF1ZXVlcywKICAgICAgICAgICAgICAgIG1haW5seSB0byBnYXRoZXIgc29tZSBzdGF0 aXN0aWNzIG9mIHRoZWlyIG9wZXJhdGlvbi4KICAgICAgICAgICAgICAgIEVudHJpZXMgYXJlIGNv bnRyb2wgYW5kIHN0YXR1cyBpbmRpY2F0aW9uCiAgICAgICAgICAgICAgICBvYmplY3RzIGZvciBh biBFUE9OIGludGVyZmFjZSB3aGljaCBhcmUgZ2F0aGVyZWQgaW4gYW4KICAgICAgICAgICAgICAg IGV4dGVuZGVkIHBhY2thZ2UgYXMgYW4gYWRkaXRpb24gZm9yIHRoZSBbODAyLjNhaF0KICAgICAg ICAgICAgICAgIGF0dHJpYnV0ZXMuIFRoZSBvYmplY3RzIGluIHRoaXMgdGFibGUgYXJlIHNwZWNp ZmljIGZvcgogICAgICAgICAgICAgICAgdGhlIHF1ZXVlcyB3aGljaCBhcmUgcmVwb3J0ZWQgaW4g dGhlIE1QQ1AgUkVQT1JUIG1lc3NhZ2UKICAgICAgICAgICAgICAgIGFzIGRlZmluZWQgaW4gWzgw Mi4zYWhdIGNsYXVzZSA2NC4KICAgICAgICAgICAgICAgIEVhY2ggb2JqZWN0IGhhcyBhIHJvdyBm b3IgZXZlcnkgdmlydHVhbCBsaW5rIGFuZCBmb3IKICAgICAgICAgICAgICAgIGV2ZXJ5IHF1ZXVl IGluIHRoZSByZXBvcnQuIFR5cGljYWxseSB0aGUgbnVtYmVyIG9mCiAgICAgICAgICAgICAgICBl eHBlY3RlZCB2aXJ0dWFsIGxpbmsgaW4gYSBQT04gaXMgbGlrZSB0aGUgbnVtYmVyIG9mCiAgICAg ICAgICAgICAgICBPTlVzIDMyLTY0IHBsdXMgYW4gYWRkaXRpb25hbCBlbnRyeSBmb3IgYnJvYWRj YXN0IExMSUQKICAgICAgICAgICAgICAgICh3aGljaCBpcyBtYXJrZWQgYnkgMHhmZmZmKS4gSW4g dGhlIFs4MDIuM2FoXSB0aGUgTExJRAogICAgICAgICAgICAgICAgaXMgYSAyYnl0ZXMgcmVnaXN0 ZXIgYW5kIHRoZSBudW1iZXIgb2YgTExJRHMgbGltaXRlZCBieQogICAgICAgICAgICAgICAgdGhh dC4KICAgICAgICAgICAgICAgIFRoZSBudW1iZXIgb2YgcXVldWVzIGlzIGJldHdlZW4gMCBhbmQg NyBhbmQgbGltaXRlZCBieQogICAgICAgICAgICAgICAgZG90M0V4dFBrZ09iamVjdFJlcG9ydE1h eGltdW1OdW1RdWV1ZXMuIgogICAgICAgOjo9IHsgZG90M0V4dFBrZ0NvbnRyb2xPYmplY3RzIDIg fQoKICAgZG90M0V4dFBrZ1F1ZXVlRW50cnkgT0JKRUNULVRZUEUKICAgICAgIFNZTlRBWCAgRG90 M0V4dFBrZ1F1ZXVlRW50cnkKICAgICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAgICAg ICBTVEFUVVMgIGN1cnJlbnQKICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAgICAgICJBbiBl bnRyeSBpbiB0aGUgRXh0ZW5kZWQgcGFja2FnZSBRdWV1ZSB0YWJsZS4gVGhlIHJvd3MKICAgICAg ICAgICAgICAgIGFyZSBhZGRlZCBmb3IgZWFjaCBpZkluZGV4IGFuZCBkb3QzUXVldWVJbmRleCBh dCB0aGUKICAgICAgICAgICAgICAgIE9MVC4gQXQgdGhlIE9OVSB0aGUgcm93cyBhcmUgYWRkZWQg Zm9yIGVhY2gKICAgICAgICAgICAgICAgIGRvdDNRdWV1ZUluZGV4IGFuZCBhIHNpbmdsZSByb3cg b2YgaWZJbmRleC4KICAgICAgICAgICAgICAgIFJvd3MgaW4gdGhlIHRhYmxlIGFyZSBjcmVhdGVk IHdoZW4gaWZJbmRleHMgYXJlIGNyZWF0ZWQuCiAgICAgICAgICAgICAgICBGb3IgdGhlIE9OVSBy b3dzIGFyZSBjcmVhdGVkIGF0IHN5c3RlbSBpbml0aWFsaXphdGlvbi4KICAgICAgICAgICAgICAg IEZvciB0aGUgT0xUIHRoZSByb3dzIG9mIHRoZSBPTFQgaWZJbmRleCBhbmQgdGhlIHJvdyBvZgog ICAgICAgICAgICAgICAgdGhlIGlmSW5kZXggcmVmZXJyaW5nIHRvIHRoZSBicm9hZGNhc3Qgdmly dHVhbCBsaW5rIGFyZQogICAgICAgICAgICAgICAgY3JlYXRlZCBhdCBzeXN0ZW0gaW5pdGlhbGl6 YXRpb24uIEZvciB0aGUgaWZJbmRleHMKICAgICAgICAgICAgICAgIHJlZmVycmluZyB0byB0aGUg dmlydHVhbCBsaW5rcyBhdCB0aGUgT0xULCBhIHJvdyBpcwogICAgICAgICAgICAgICAgY3JlYXRl ZCB3aGVuIGEgdmlydHVhbCBsaW5rIGlzIGVzdGFibGlzaGVkIChPTlUKICAgICAgICAgICAgICAg IHJlZ2lzdGVycykgYW5kIGRlbGV0ZWQgd2hlbiB0aGUgdmlydHVhbCBsaW5rIGlzIGRlbGV0ZWQK ICAgICAgICAgICAgICAgIChPTlUgZGVyZWdpc3RlcnMpLiBSb3dzIGV4aXN0IGZvciBhbiBPTFQg aW50ZXJmYWNlIGFuZAogICAgICAgICAgICAgICAgYW4gT05VIGludGVyZmFjZS4iCiAgICAgICBJ TkRFWCAgeyBpZkluZGV4LCBkb3QzUXVldWVJbmRleCB9CgoKCktoZXJtb3NoICAgICAgICAgICAg ICAgICBFeHBpcmVzIEF1Z3VzdCAxNCwgMjAwNiAgICAgICAgICAgICAgIFtQYWdlIDU1XQoMCklu dGVybmV0LURyYWZ0ICAgICAgICAgICBNYW5hZ2VkIE9iamVjdHMgb2YgRVBPTiAgICAgICAgICAg RmVicnVhcnkgMjAwNgoKCiAgICAgICA6Oj0geyBkb3QzRXh0UGtnUXVldWVUYWJsZSAxIH0KCiAg IERvdDNFeHRQa2dRdWV1ZUVudHJ5IDo6PQogICAgICAgU0VRVUVOQ0UgewogICAgICAgIGRvdDNR dWV1ZUluZGV4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVW5zaWduZWQzMiwKICAgICAg ICBkb3QzRXh0UGtnT2JqZWN0UmVwb3J0TnVtVGhyZXNob2xkICAgICAgICAgICBVbnNpZ25lZDMy LAogICAgICAgIGRvdDNFeHRQa2dPYmplY3RSZXBvcnRNYXhpbXVtTnVtVGhyZXNob2xkICAgIFVu c2lnbmVkMzIsCiAgICAgICAgZG90M0V4dFBrZ1N0YXRUeEZyYW1lc1F1ZXVlICAgICAgICAgICAg ICAgICAgQ291bnRlcjY0LAogICAgICAgIGRvdDNFeHRQa2dTdGF0UnhGcmFtZXNRdWV1ZSAgICAg ICAgICAgICAgICAgIENvdW50ZXI2NCwKICAgICAgICBkb3QzRXh0UGtnU3RhdERyb3BwZWRGcmFt ZXNRdWV1ZSAgICAgICAgICAgICBDb3VudGVyNjQKICAgICAgIH0KCgogICBkb3QzUXVldWVJbmRl eCBPQkpFQ1QtVFlQRQogICAgICAgU1lOVEFYICBVbnNpZ25lZDMyICgwLi43KQogICAgICAgTUFY LUFDQ0VTUyAgbm90LWFjY2Vzc2libGUKICAgICAgIFNUQVRVUyAgY3VycmVudAogICAgICAgREVT Q1JJUFRJT04KICAgICAgICAgICAgICAgIkEgdmFsdWUgdGhhdCBpZGVudGlmaWVzIHRoZSBxdWV1 ZSBpbmRleCBmb3IgdGhlIHF1ZXVlCiAgICAgICAgICAgICAgICB0YWJsZS4gVGhlIHF1ZXVlcyBh cmUgcmVwb3J0ZWQgaW4gdGhlIE1QQ1AgUkVQT1JUCiAgICAgICAgICAgICAgICBtZXNzYWdlIGFz IGRlZmluZWQgaW4gWzgwMi4zYWhdIGNsYXVzZSA2NC4KICAgICAgICAgICAgICAgIFRoZSBudW1i ZXIgb2YgcXVldWVzIGlzIGJldHdlZW4gMCBhbmQgNyBhbmQgbGltaXRlZCBieQogICAgICAgICAg ICAgICAgZG90M0V4dFBrZ09iamVjdFJlcG9ydE1heGltdW1OdW1RdWV1ZXMuIgogICAgICAgOjo9 IHsgZG90M0V4dFBrZ1F1ZXVlRW50cnkgMSB9CgogICBkb3QzRXh0UGtnT2JqZWN0UmVwb3J0TnVt VGhyZXNob2xkIE9CSkVDVC1UWVBFCiAgICAgICBTWU5UQVggIFVuc2lnbmVkMzIgKDAuLjcpCiAg ICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlCiAgICAgICBTVEFUVVMgIGN1cnJlbnQKICAgICAg IERFU0NSSVBUSU9OCiAgICAgICAgICAgICAgICJBbiBpbnRlZ2VycyBmb3IgZWFjaCBMTElELCB0 aGF0IGRlZmluZXMgdGhlCiAgICAgICAgICAgICAgICBudW1iZXIgb2YgdGhyZXNob2xkcyBmb3Ig ZWFjaCBRdWV1ZSBpbiB0aGUgUkVQT1JUCiAgICAgICAgICAgICAgICBtZXNzYWdlLCBhcyBkZWZp bmVkIGluIFs4MDIuM2FoXSA2NC4gRWFjaCBRdWV1ZSBzZXQKICAgICAgICAgICAgICAgIHJlcG9y dGluZyB3aWxsIHByb3ZpZGUgaW5mb3JtYXRpb24gb24gdGhlIHF1ZXVlCiAgICAgICAgICAgICAg ICBvY2N1cGFuY3kgb2YgZnJhbWVzIGJlbG93IHRoZSBtYXRjaGluZyBUaHJlc2hvbGQuCiAgICAg ICAgICAgICAgICBXcml0aW5nIGNhbiBiZSBkb25lIGF0IGFueSB0aW1lLgogICAgICAgICAgICAg IFRoaXMgb2JqZWN0IGlzIHJlbGV2YW50IGZvciBhbiBPTFQgYW5kIGFuIE9OVS4gRm9yIHRoZQog ICAgICAgICAgICAgIE9MVCB0aGVyZSBpcyBhIHZhbHVlIHBlciBMTElELiIKICAgICAgIERFRlZB TCB7IDAgfQogICAgICAgOjo9IHsgZG90M0V4dFBrZ1F1ZXVlRW50cnkgMiB9CgoKICAgZG90M0V4 dFBrZ09iamVjdFJlcG9ydE1heGltdW1OdW1UaHJlc2hvbGQgT0JKRUNULVRZUEUKICAgICAgIFNZ TlRBWCAgVW5zaWduZWQzMgogICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgICBTVEFU VVMgIGN1cnJlbnQKICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAgICAgICJBbiBpbnRlZ2Vy IGZvciBlYWNoIExMSUQsIHRoYXQgZGVmaW5lcyB0aGUKCgoKS2hlcm1vc2ggICAgICAgICAgICAg ICAgIEV4cGlyZXMgQXVndXN0IDE0LCAyMDA2ICAgICAgICAgICAgICAgW1BhZ2UgNTZdCgwKSW50 ZXJuZXQtRHJhZnQgICAgICAgICAgIE1hbmFnZWQgT2JqZWN0cyBvZiBFUE9OICAgICAgICAgICBG ZWJydWFyeSAyMDA2CgoKICAgICAgICAgICAgICAgIG1heGltYWwgbnVtYmVyIG9mIHRocmVzaG9s ZHMgZm9yIGVhY2ggUXVldWUgaW4gdGhlCiAgICAgICAgICAgICAgICBSRVBPUlQgbWVzc2FnZSwg YXMgZGVmaW5lZCBpbiBbODAyLjNhaF0gNjQuIEVhY2ggUXVldWUKICAgICAgICAgICAgICAgIHNl dCByZXBvcnRpbmcgd2lsbCBwcm92aWRlIGluZm9ybWF0aW9uIG9uIHRoZSBxdWV1ZQogICAgICAg ICAgICAgICAgb2NjdXBhbmN5IG9mIGZyYW1lcyBiZWxvdyB0aGUgbWF0Y2hpbmcgVGhyZXNob2xk LgogICAgICAgICAgICAgIFRoaXMgb2JqZWN0IGlzIHJlbGV2YW50IGZvciBhbiBPTFQgYW5kIGFu IE9OVS4gRm9yIHRoZQogICAgICAgICAgICAgIE9MVCB0aGVyZSBpcyBhIHZhbHVlIHBlciBMTElE LiIKICAgICAgIERFRlZBTCB7IDAgfQogICAgICAgOjo9IHsgZG90M0V4dFBrZ1F1ZXVlRW50cnkg MyB9CgoKICAgIGRvdDNFeHRQa2dTdGF0VHhGcmFtZXNRdWV1ZSBPQkpFQ1QtVFlQRQogICAgICAg U1lOVEFYICBDb3VudGVyNjQKICAgICAgIFVOSVRTICAgICAgImZyYW1lcyIKICAgICAgIE1BWC1B Q0NFU1MgIHJlYWQtb25seQogICAgICAgU1RBVFVTICBjdXJyZW50CiAgICAgICBERVNDUklQVElP TgogICAgICAgICAgICAgICAiQSBjb3VudCBvZiB0aGUgbnVtYmVyIG9mIHRpbWVzIGEgcmVsZXZh bnQgJ1F1ZXVlJyBmcmFtZXMKICAgICAgICAgICAgICAgIHRyYW5zbWlzc2lvbiBvY2N1cnMuIElu Y3JlbWVudCB0aGUgY291bnRlciBieSBvbmUgZm9yCiAgICAgICAgICAgICAgICBlYWNoIGZyYW1l IHRyYW5zbWl0dGVkIHdoaWNoIGlzIGFuIG91dHB1dCBvZiB0aGUKICAgICAgICAgICAgICAgICdR dWV1ZScuCiAgICAgICAgICAgICAgICBUaGUgJ1F1ZXVlJyBtYXJraW5nIG1hdGNoZWQgdGhlIFJF UE9SVCBNUENQIG1lc3NhZ2UKICAgICAgICAgICAgICAgIFF1ZXVlIGZpZWxkLCBhcyBkZWZpbmVk IGluIFs4MDIuM2FoXSBjbGF1c2UgNjQuIFRoaXMKICAgICAgICAgICAgICAgIGNvdW50ZXIgaXMg bWFuZGF0b3J5IGZvciBhbiBPTlUgb25seS4iCiAgICAgICA6Oj0geyBkb3QzRXh0UGtnUXVldWVF bnRyeSA0fQoKCiAgIGRvdDNFeHRQa2dTdGF0UnhGcmFtZXNRdWV1ZSBPQkpFQ1QtVFlQRQogICAg ICAgU1lOVEFYICBDb3VudGVyNjQKICAgICAgIFVOSVRTICAgICAgImZyYW1lcyIKICAgICAgIE1B WC1BQ0NFU1MgIHJlYWQtb25seQogICAgICAgU1RBVFVTICBjdXJyZW50CiAgICAgICBERVNDUklQ VElPTgogICAgICAgICAgICAgICAiQSBjb3VudCBvZiB0aGUgbnVtYmVyIG9mIHRpbWVzIGEgcmVs ZXZhbnQgJ1F1ZXVlJyBmcmFtZXMKICAgICAgICAgICAgICAgIHJlY2VwdGlvbiBvY2N1cnMuIElu Y3JlbWVudCB0aGUgY291bnRlciBieSBvbmUgZm9yIGVhY2gKICAgICAgICAgICAgICAgIGZyYW1l IHJlY2VpdmVkLCB3aGljaCBpcyBhbiBvdXRwdXQgb2YgJ1F1ZXVlJy4gVGhlCiAgICAgICAgICAg ICAgICAnUXVldWUnIG1hcmtpbmcgbWF0Y2hlZCB0aGUgUkVQT1JUIE1QQ1AgbWVzc2FnZQogICAg ICAgICAgICAgICAgUXVldWUgZmllbGQsIGFzIGRlZmluZWQgaW4gWzgwMi4zYWhdIGNsYXVzZSA2 NC4KICAgICAgICAgICAgICAgIFRoaXMgY291bnRlciBpcyBtYW5kYXRvcnkgZm9yIGFuIE9OVSBv bmx5LiIKICAgICAgIDo6PSB7IGRvdDNFeHRQa2dRdWV1ZUVudHJ5IDV9CgogICBkb3QzRXh0UGtn U3RhdERyb3BwZWRGcmFtZXNRdWV1ZSBPQkpFQ1QtVFlQRQogICAgICAgU1lOVEFYICBDb3VudGVy NjQKICAgICAgIFVOSVRTICAgICAgImZyYW1lcyIKICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25s eQogICAgICAgU1RBVFVTICBjdXJyZW50CiAgICAgICBERVNDUklQVElPTgogICAgICAgICAgICAg ICAiQSBjb3VudCBvZiB0aGUgbnVtYmVyIG9mIHRpbWVzIGEgcmVsZXZhbnQgJ1F1ZXVlJyBmcmFt ZXMKICAgICAgICAgICAgICAgIGRyb3BzIG9jY3Vycy4gSW5jcmVtZW50IHRoZSBjb3VudGVyIGJ5 IG9uZSBmb3IgZWFjaAoKCgpLaGVybW9zaCAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3Qg MTQsIDIwMDYgICAgICAgICAgICAgICBbUGFnZSA1N10KDApJbnRlcm5ldC1EcmFmdCAgICAgICAg ICAgTWFuYWdlZCBPYmplY3RzIG9mIEVQT04gICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYKCgogICAg ICAgICAgICAgICAgZnJhbWUgZHJvcHBlZCBmcm9tICdRdWV1ZScuIFRoZSAnUXVldWUnIG1hcmtp bmcgbWF0Y2hlZAogICAgICAgICAgICAgICAgdGhlIFJFUE9SVCBNUENQIG1lc3NhZ2UgUXVldWUg ZmllbGQsIGFzIGRlZmluZWQgaW4KICAgICAgICAgICAgICAgIFs4MDIuM2FoXSBjbGF1c2UgNjQu CiAgICAgICAgICAgICAgICBUaGlzIGNvdW50ZXIgaXMgbWFuZGF0b3J5IGZvciBhbiBPTlUgb25s eS4iCiAgICAgICA6Oj0geyBkb3QzRXh0UGtnUXVldWVFbnRyeSA2fQoKCgoKICAgZG90M0V4dFBr Z1F1ZXVlU2V0c1RhYmxlIE9CSkVDVC1UWVBFCiAgICAgICBTWU5UQVggIFNFUVVFTkNFIE9GIERv dDNFeHRQa2dRdWV1ZVNldHNFbnRyeQogICAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUK ICAgICAgIFNUQVRVUyAgY3VycmVudAogICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICAgICAg IkEgdGFibGUgZm9yIEV4dGVuZGVkIHBhY2thZ2UgUXVldWVfU2V0cyBtYW5hZ2VtZW50CiAgICAg ICAgICAgICAgICBvYmplY3RzLiBFbnRyaWVzIGFyZSBjb250cm9sIGFuZCBzdGF0dXMgaW5kaWNh dGlvbgogICAgICAgICAgICAgICAgb2JqZWN0cyBmb3IgYW4gRVBPTiBpbnRlcmZhY2Ugd2hpY2gg YXJlIGdhdGhlcmVkIGluIGFuCiAgICAgICAgICAgICAgICBleHRlbmRlZCBwYWNrYWdlIGFzIGFu IGFkZGl0aW9uIGZvciB0aGUgWzgwMi4zYWhdCiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzLiBU aGUgb2JqZWN0cyBpbiB0aGlzIHRhYmxlIGFyZSBzcGVjaWZpYyBmb3IKICAgICAgICAgICAgICAg IHRoZSBxdWV1ZS1zZXRzIHdoaWNoIGFyZSByZXBvcnRlZCBpbiB0aGUgTVBDUCBSRVBPUlQKICAg ICAgICAgICAgICAgIG1lc3NhZ2UgYXMgZGVmaW5lZCBpbiBbODAyLjNhaF0gY2xhdXNlIDY0Lgog ICAgICAgICAgICAgICAgRWFjaCBvYmplY3QgaGFzIGEgcm93IGZvciBldmVyeSB2aXJ0dWFsIGxp bmsgYW5kIGZvcgogICAgICAgICAgICAgICAgZWFjaCBxdWV1ZSBpbiB0aGUgcmVwb3J0IGFuZCBm b3IgZWFjaCBxdWV1ZV9zZXQgaW4gdGhlCiAgICAgICAgICAgICAgICBxdWV1ZS4gVHlwaWNhbGx5 IHRoZSBudW1iZXIgb2YgZXhwZWN0ZWQgdmlydHVhbCBsaW5rIGluCiAgICAgICAgICAgICAgICBh IFBPTiBpcyBsaWtlIHRoZSBudW1iZXIgb2YgT05VcyAzMi02NCBwbHVzIGFuCiAgICAgICAgICAg ICAgICBhZGRpdGlvbmFsIGVudHJ5IGZvciBicm9hZGNhc3QgTExJRCAod2hpY2ggaXMgbWFya2Vk IGJ5CiAgICAgICAgICAgICAgICAweGZmZmYpLiBJbiB0aGUgWzgwMi4zYWhdIHRoZSBMTElEIGlz IGEgMmJ5dGVzIHJlZ2lzdGVyCiAgICAgICAgICAgICAgICBhbmQgdGhlIG51bWJlciBvZiBMTElE cyBpcyBsaW1pdGVkIGJ5IHRoYXQuCiAgICAgICAgICAgICAgICBUaGUgbnVtYmVyIG9mIHF1ZXVl cyBpcyBiZXR3ZWVuIDAgYW5kIDcgYW5kIGxpbWl0ZWQgYnkKICAgICAgICAgICAgICAgIGRvdDNF eHRQa2dPYmplY3RSZXBvcnRNYXhpbXVtTnVtUXVldWVzLgogICAgICAgICAgICAgICAgVGhlIG51 bWJlciBvZiBxdWV1ZXNfc2V0cyBpcyBiZXR3ZWVuIDAgYW5kIDcgYW5kIGxpbWl0ZWQKICAgICAg ICAgICAgICAgIGJ5IGRvdDNFeHRQa2dPYmplY3RSZXBvcnRNYXhpbXVtTnVtVGhyZXNob2xkLiIK CiAgICAgICA6Oj0geyBkb3QzRXh0UGtnQ29udHJvbE9iamVjdHMgMyB9CgogICBkb3QzRXh0UGtn UXVldWVTZXRzRW50cnkgT0JKRUNULVRZUEUKICAgICAgIFNZTlRBWCAgRG90M0V4dFBrZ1F1ZXVl U2V0c0VudHJ5CiAgICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQogICAgICAgU1RBVFVT ICBjdXJyZW50CiAgICAgICBERVNDUklQVElPTgogICAgICAgICAgICAgICAiQW4gZW50cnkgaW4g dGhlIEV4dGVuZGVkIHBhY2thZ2UgUXVldWUgc2V0cyB0YWJsZS4gVGhlCiAgICAgICAgICAgICAg ICByb3dzIGFyZSBhZGRlZCBmb3IgZWFjaCBpZkluZGV4LCBkb3QzUXVldWVTZXRRdWV1ZUluZGV4 CiAgICAgICAgICAgICAgICBhbmQgZG90M1F1ZXVlU2V0SW5kZXggYXQgdGhlIE9MVC4KICAgICAg ICAgICAgICAgIEF0IHRoZSBPTlUgdGhlIHJvd3MgYXJlIGFkZGVkIGZvciBlYWNoCiAgICAgICAg ICAgICAgICBkb3QzUXVldWVTZXRRdWV1ZUluZGV4LCBkb3QzUXVldWVTZXRJbmRleCBhbmQgYSBz aW5nbGUKICAgICAgICAgICAgICAgIHJvdyBmb3IgdGhlIGlmSW5kZXguCiAgICAgICAgICAgICAg ICBSb3dzIGluIHRoZSB0YWJsZSBhcmUgY3JlYXRlZCB3aGVuIGlmSW5kZXhzIGFyZSBjcmVhdGVk LgogICAgICAgICAgICAgICAgRm9yIHRoZSBPTlUgcm93cyBhcmUgY3JlYXRlZCBhdCBzeXN0ZW0g aW5pdGlhbGl6YXRpb24uCgoKCktoZXJtb3NoICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3Vz dCAxNCwgMjAwNiAgICAgICAgICAgICAgIFtQYWdlIDU4XQoMCkludGVybmV0LURyYWZ0ICAgICAg ICAgICBNYW5hZ2VkIE9iamVjdHMgb2YgRVBPTiAgICAgICAgICAgRmVicnVhcnkgMjAwNgoKCiAg ICAgICAgICAgICAgICBGb3IgdGhlIE9MVCB0aGUgcm93cyBvZiB0aGUgT0xUIGlmSW5kZXggYW5k IHRoZSByb3cgb2YKICAgICAgICAgICAgICAgIHRoZSBpZkluZGV4IHJlZmVycmluZyB0byB0aGUg YnJvYWRjYXN0IHZpcnR1YWwgbGluayBhcmUKICAgICAgICAgICAgICAgIGNyZWF0ZWQgYXQgc3lz dGVtIGluaXRpYWxpemF0aW9uLiBGb3IgdGhlIGlmSW5kZXhzCiAgICAgICAgICAgICAgICByZWZl cnJpbmcgdG8gdGhlIHZpcnR1YWwgbGlua3MgYXQgdGhlIE9MVCwgYSByb3cgaXMKICAgICAgICAg ICAgICAgIGNyZWF0ZWQgd2hlbiBhIHZpcnR1YWwgbGluayBpcyBlc3RhYmxpc2hlZCAoT05VCiAg ICAgICAgICAgICAgICByZWdpc3RlcnMpIGFuZCBkZWxldGVkIHdoZW4gdGhlIHZpcnR1YWwgbGlu ayBpcyBkZWxldGVkCiAgICAgICAgICAgICAgICAoT05VIGRlcmVnaXN0ZXJzKS4gUm93cyBleGlz dCBmb3IgYW4gT0xUIGludGVyZmFjZSBhbmQKICAgICAgICAgICAgICAgIGFuIE9OVSBpbnRlcmZh Y2UuIgogICAgICAgSU5ERVggeyBpZkluZGV4LAogICAgICAgICAgICAgICBkb3QzUXVldWVTZXRR dWV1ZUluZGV4LGRvdDNRdWV1ZVNldEluZGV4fQogICAgICAgOjo9IHsgZG90M0V4dFBrZ1F1ZXVl U2V0c1RhYmxlIDEgfQoKICAgRG90M0V4dFBrZ1F1ZXVlU2V0c0VudHJ5IDo6PQogICAgICAgU0VR VUVOQ0UgewogICAgICAgIGRvdDNRdWV1ZVNldFF1ZXVlSW5kZXggICAgICAgICAgICAgICAgICAg ICAgVW5zaWduZWQzMiwKICAgICAgICBkb3QzUXVldWVTZXRJbmRleCAgICAgICAgICAgICAgICAg ICAgICAgICAgIFVuc2lnbmVkMzIsCiAgICAgICAgZG90M0V4dFBrZ09iamVjdFJlcG9ydFRocmVz aG9sZCAgICAgICAgICAgICBVbnNpZ25lZDMyCiAgICAgICB9CgogICBkb3QzUXVldWVTZXRRdWV1 ZUluZGV4IE9CSkVDVC1UWVBFCiAgICAgICBTWU5UQVggIFVuc2lnbmVkMzIgKDAuLjcpCiAgICAg ICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQogICAgICAgU1RBVFVTICBjdXJyZW50CiAgICAg ICBERVNDUklQVElPTgogICAgICAgICAgICAgICAiQSB2YWx1ZSB0aGF0IGlkZW50aWZpZXMgdGhl IHF1ZXVlIGluZGV4IGZvciB0aGUgcXVldWUKICAgICAgICAgICAgICAgIHNldCB0YWJsZS4gVGhl IHF1ZXVlcyBhcmUgcmVwb3J0ZWQgaW4gdGhlIE1QQ1AgUkVQT1JUCiAgICAgICAgICAgICAgICBt ZXNzYWdlIGFzIGRlZmluZWQgaW4gWzgwMi4zYWhdIGNsYXVzZSA2NC4KICAgICAgICAgICAgICAg IFRoZSBudW1iZXIgb2YgcXVldWVzIGlzIGJldHdlZW4gMCBhbmQgNyBhbmQgbGltaXRlZCBieQog ICAgICAgICAgICAgICAgZG90M0V4dFBrZ09iamVjdFJlcG9ydE1heGltdW1OdW1RdWV1ZXMuCiAg ICAgICAgICAgICAgICBWYWx1ZSBjb3JyZXNwb25kcyB0byB0aGUgZG90M1F1ZXVlSW5kZXggb2Yg dGhlIHF1ZXVlCiAgICAgICAgICAgICAgICB0YWJsZS4iCiAgICAgICA6Oj0geyBkb3QzRXh0UGtn UXVldWVTZXRzRW50cnkgMSB9CgoKICAgZG90M1F1ZXVlU2V0SW5kZXggT0JKRUNULVRZUEUKICAg ICAgIFNZTlRBWCAgVW5zaWduZWQzMiAoMC4uNykKICAgICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nl c3NpYmxlCiAgICAgICBTVEFUVVMgIGN1cnJlbnQKICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAg ICAgICAgICJBIHZhbHVlIHRoYXQgaWRlbnRpZmllcyB0aGUgcXVldWVfc2V0IGluZGV4IGZvciB0 aGUKICAgICAgICAgICAgICAgIHF1ZXVlX3NldHMgdGFibGUuIFRoZSBxdWV1ZXMgYXJlIHJlcG9y dGVkIGluIHRoZSBNUENQCiAgICAgICAgICAgICAgICBSRVBPUlQgbWVzc2FnZSBhcyBkZWZpbmVk IGluIFs4MDIuM2FoXSBjbGF1c2UgNjQuCiAgICAgICAgICAgICAgICBUaGUgbnVtYmVyIG9mIHF1 ZXVlc19zZXRzIGlzIGJldHdlZW4gMCBhbmQgNy4iCiAgICAgICA6Oj0geyBkb3QzRXh0UGtnUXVl dWVTZXRzRW50cnkgMiB9CgogICAgICAgZG90M0V4dFBrZ09iamVjdFJlcG9ydFRocmVzaG9sZCBP QkpFQ1QtVFlQRQogICAgICAgU1lOVEFYICBVbnNpZ25lZDMyCiAgICAgICBVTklUUyAgICAgICAi VFEgKDE2bnNlYykiCgoKCktoZXJtb3NoICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAx NCwgMjAwNiAgICAgICAgICAgICAgIFtQYWdlIDU5XQoMCkludGVybmV0LURyYWZ0ICAgICAgICAg ICBNYW5hZ2VkIE9iamVjdHMgb2YgRVBPTiAgICAgICAgICAgRmVicnVhcnkgMjAwNgoKCiAgICAg ICBNQVgtQUNDRVNTICByZWFkLXdyaXRlCiAgICAgICBTVEFUVVMgIGN1cnJlbnQKICAgICAgIERF U0NSSVBUSU9OCiAgICAgICAgICAgICAgICJBbiBpbnRlZ2VyIHRoYXQgZGVmaW5lcyB0aGUgdGhy ZXNob2xkIHJlcG9ydGluZyBmb3IgZWFjaAogICAgICAgICAgICAgICAgUXVldWVfc2V0IGluIHRo ZSBSRVBPUlQgbWVzc2FnZSwgYXMgZGVmaW5lZCBpbiBbODAyLjNhaF0KICAgICAgICAgICAgICAg IDY0LiBUaGUgbnVtYmVyIG9mIHNldHMgaXMKICAgICAgICAgICAgICAgIGRvdDNFeHRQa2dPYmpl Y3RSZXBvcnROdW1UaHJlc2hvbGQuIEVhY2ggUXVldWUgc2V0CiAgICAgICAgICAgICAgICByZXBv cnRpbmcgd2lsbCBwcm92aWRlIGluZm9ybWF0aW9uIG9uIHRoZSBxdWV1ZQogICAgICAgICAgICAg ICAgb2NjdXBhbmN5IG9mIGZyYW1lcyBiZWxvdyB0aGUgbWF0Y2hpbmcgVGhyZXNob2xkLgogICAg ICAgICAgICAgICAgVGhlIHZhbHVlIHJldHVybmVkIHNoYWxsIGJlIGluIFRpbWUgcXVhbnRhIChU USkgd2hpY2gKICAgICAgICAgICAgICAgIGlzIDE2bnNlYyBvciAyIG9jdGV0cyBpbmNyZW1lbnRz LgogICAgICAgICAgICAgICAgV3JpdGluZyBjYW4gYmUgZG9uZSBhdCBhbnkgdGltZS4KICAgICAg ICAgICAgICBUaGlzIG9iamVjdCBpcyByZWxldmFudCBmb3IgYW4gT0xUIGFuZCBhbiBPTlUuIEZv ciB0aGUKICAgICAgICAgICAgICBPTFQgdGhlcmUgaXMgYSB2YWx1ZSBwZXIgTExJRC4iCiAgICAg ICBERUZWQUwgeyAwIH0KICAgICAgIDo6PSB7IGRvdDNFeHRQa2dRdWV1ZVNldHNFbnRyeSAzIH0K CgoKICAgLS1PcHRpY2FsIEludGVyZmFjZSBzdGF0dXMgdGFibGVzCgogICBkb3QzRXh0UGtnT3B0 SWZUYWJsZSBPQkpFQ1QtVFlQRQogICAgICAgU1lOVEFYICAgICBTRVFVRU5DRSBPRiBEb3QzRXh0 UGtnT3B0SWZFbnRyeQogICAgICAgTUFYLUFDQ0VTUyBub3QtYWNjZXNzaWJsZQogICAgICAgU1RB VFVTICAgICBjdXJyZW50CiAgICAgICBERVNDUklQVElPTgogICAgICAgICAgICAgICAiVGhpcyB0 YWJsZSBkZWZpbmVzIHRoZSBsaXN0IG9mIHN0YXR1cyBjb250cm9sIGFuZCBzdGF0dXMKICAgICAg ICAgICAgICAgIGluZGljYXRpb24gZm9yIHRoZSBvcHRpY2FsIGludGVyZmFjZSBvZiBhbiBFUE9O CiAgICAgICAgICAgICAgICBpbnRlcmZhY2UuCiAgICAgICAgICAgICAgICBFYWNoIG9iamVjdCBo YXMgYSByb3cgZm9yIGV2ZXJ5IHZpcnR1YWwgbGluawogICAgICAgICAgICAgICAgYWNjb3JkaW5n IHRvIHRoZSBwcm9wZXIgaWZJbmRleC4gVHlwaWNhbGx5IHRoZSBudW1iZXIKICAgICAgICAgICAg ICAgIG9mIGV4cGVjdGVkIHZpcnR1YWwgbGluayBpbiBhIFBPTiBpcyBsaWtlIHRoZSBudW1iZXIg b2YKICAgICAgICAgICAgICAgIE9OVXMgMzItNjQgcGx1cyBhbiBhZGRpdGlvbmFsIGVudHJ5IGZv ciBicm9hZGNhc3QgTExJRAogICAgICAgICAgICAgICAgKHdoaWNoIGlzIG1hcmtlZCBieSAweGZm ZmYpLiBJbiB0aGUgWzgwMi4zYWhdIHRoZSBMTElECiAgICAgICAgICAgICAgICBpcyBhIDJieXRl cyByZWdpc3RlciBhbmQgdGhlIG51bWJlciBvZiBMTElEcyBsaW1pdGVkIGJ5CiAgICAgICAgICAg ICAgICB0aGF0LiIKICAgICAgIDo6PSB7IGRvdDNFeHRQa2dDb250cm9sT2JqZWN0cyA1fQoKICAg ZG90M0V4dFBrZ09wdElmRW50cnkgT0JKRUNULVRZUEUKICAgICAgIFNZTlRBWCAgICAgRG90M0V4 dFBrZ09wdElmRW50cnkKICAgICAgIE1BWC1BQ0NFU1Mgbm90LWFjY2Vzc2libGUKICAgICAgIFNU QVRVUyAgICAgY3VycmVudAogICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICAgICAgIlRhYmxl IGVudHJpZXMgZm9yIHRoZSBUYWJsZSBvZiBvcHRpY2FsIGludGVyZmFjZXMKICAgICAgICAgICAg ICAgIGNvbnRyb2wgYW5kIHN0YXR1cyBpbmRpY2F0aW9uIG9mIEVQT04gaW50ZXJmYWNlcy4KICAg ICAgICAgICAgICAgIFJvd3MgaW4gdGhlIHRhYmxlIGFyZSBjcmVhdGVkIHdoZW4gaWZJbmRleHMg YXJlIGNyZWF0ZWQuCiAgICAgICAgICAgICAgICBGb3IgdGhlIE9OVSByb3dzIGFyZSBjcmVhdGVk IGF0IHN5c3RlbSBpbml0aWFsaXphdGlvbi4KICAgICAgICAgICAgICAgIEZvciB0aGUgT0xUIHRo ZSByb3dzIG9mIHRoZSBPTFQgaWZJbmRleCBhbmQgdGhlIHJvdyBvZgoKCgpLaGVybW9zaCAgICAg ICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMTQsIDIwMDYgICAgICAgICAgICAgICBbUGFnZSA2 MF0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgTWFuYWdlZCBPYmplY3RzIG9mIEVQT04gICAg ICAgICAgIEZlYnJ1YXJ5IDIwMDYKCgogICAgICAgICAgICAgICAgdGhlIGlmSW5kZXggcmVmZXJy aW5nIHRvIHRoZSBicm9hZGNhc3QgdmlydHVhbCBsaW5rIGFyZQogICAgICAgICAgICAgICAgY3Jl YXRlZCBhdCBzeXN0ZW0gaW5pdGlhbGl6YXRpb24uIEZvciB0aGUgaWZJbmRleHMKICAgICAgICAg ICAgICAgIHJlZmVycmluZyB0byB0aGUgdmlydHVhbCBsaW5rcyBhdCB0aGUgT0xULCBhIHJvdyBp cwogICAgICAgICAgICAgICAgY3JlYXRlZCB3aGVuIGEgdmlydHVhbCBsaW5rIGlzIGVzdGFibGlz aGVkIChPTlUKICAgICAgICAgICAgICAgIHJlZ2lzdGVycykgYW5kIGRlbGV0ZWQgd2hlbiB0aGUg dmlydHVhbCBsaW5rIGlzIGRlbGV0ZWQKICAgICAgICAgICAgICAgIChPTlUgZGVyZWdpc3RlcnMp LiBSb3dzIGV4aXN0IGZvciBhbiBPTFQgaW50ZXJmYWNlIGFuZAogICAgICAgICAgICAgICAgYW4g T05VIGludGVyZmFjZS4iCiAgICAgICBJTkRFWCAgICAgICB7IGlmSW5kZXggfQogICAgICAgOjo9 IHsgZG90M0V4dFBrZ09wdElmVGFibGUgMSB9CgogICAgRG90M0V4dFBrZ09wdElmRW50cnkgOjo9 CiAgICAgIFNFUVVFTkNFIHsKICAgICAgICBkb3QzRXh0UGtnT3B0SWZTdXNwZWN0ZWRGbGFnICAg ICAgICAgICAgIFRydXRoVmFsdWUsCiAgICAgICAgZG90M0V4dFBrZ09wdElmSW5wdXRQb3dlciAg ICAgICAgICAgICAgICBJbnRlZ2VyMzIsCiAgICAgICAgZG90M0V4dFBrZ09wdElmTG93SW5wdXRQ b3dlciAgICAgICAgICAgICBJbnRlZ2VyMzIsCiAgICAgICAgZG90M0V4dFBrZ09wdElmSGlnaElu cHV0UG93ZXIgICAgICAgICAgICBJbnRlZ2VyMzIsCiAgICAgICAgZG90M0V4dFBrZ09wdElmTG93 ZXJJbnB1dFBvd2VyVGhyZXNob2xkICBJbnRlZ2VyMzIsCiAgICAgICAgZG90M0V4dFBrZ09wdElm VXBwZXJJbnB1dFBvd2VyVGhyZXNob2xkICBJbnRlZ2VyMzIsCiAgICAgICAgZG90M0V4dFBrZ09w dElmT3V0cHV0UG93ZXIgICAgICAgICAgICAgICBJbnRlZ2VyMzIsCiAgICAgICAgZG90M0V4dFBr Z09wdElmTG93T3V0cHV0UG93ZXIgICAgICAgICAgICBJbnRlZ2VyMzIsCiAgICAgICAgZG90M0V4 dFBrZ09wdElmSGlnaE91dHB1dFBvd2VyICAgICAgICAgICBJbnRlZ2VyMzIsCiAgICAgICAgZG90 M0V4dFBrZ09wdElmTG93ZXJPdXRwdXRQb3dlclRocmVzaG9sZCBJbnRlZ2VyMzIsCiAgICAgICAg ZG90M0V4dFBrZ09wdElmVXBwZXJPdXRwdXRQb3dlclRocmVzaG9sZCBJbnRlZ2VyMzIsCiAgICAg ICAgZG90M0V4dFBrZ09wdElmU2lnbmFsRGV0ZWN0ICAgICAgICAgICAgICBUcnV0aFZhbHVlLAog ICAgICAgIGRvdDNFeHRQa2dPcHRJZlRyYW5zbWl0QWxhcm0gICAgICAgICAgICAgVHJ1dGhWYWx1 ZSwKICAgICAgICBkb3QzRXh0UGtnT3B0SWZUcmFuc21pdEVuYWJsZSAgICAgICAgICAgIFRydXRo VmFsdWUKICAgICAgICB9CgoKICAgZG90M0V4dFBrZ09wdElmU3VzcGVjdGVkRmxhZyBPQkpFQ1Qt VFlQRQogICAgIFNZTlRBWCAgVHJ1dGhWYWx1ZQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQog ICAgIFNUQVRVUyAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiSWYgdHJ1ZSwgdGhl IGRhdGEgaW4gdGhpcyBlbnRyeSBtYXkgYmUgdW5yZWxpYWJsZS4iCiAgICAgOjo9IHsgZG90M0V4 dFBrZ09wdElmRW50cnkgMSB9CgogICBkb3QzRXh0UGtnT3B0SWZJbnB1dFBvd2VyIE9CSkVDVC1U WVBFCiAgICAgU1lOVEFYICBJbnRlZ2VyMzIKICAgICBVTklUUyAgIjAuMSBkYm0iCiAgICAgTUFY LUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgU1RBVFVTICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04K ICAgICAgICJUaGUgb3B0aWNhbCBwb3dlciBtb25pdG9yZWQgYXQgdGhlIGlucHV0LiIKICAgICA6 Oj0geyBkb3QzRXh0UGtnT3B0SWZFbnRyeSAyIH0KCiAgIGRvdDNFeHRQa2dPcHRJZkxvd0lucHV0 UG93ZXIgT0JKRUNULVRZUEUKICAgICBTWU5UQVggIEludGVnZXIzMgoKCgpLaGVybW9zaCAgICAg ICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMTQsIDIwMDYgICAgICAgICAgICAgICBbUGFnZSA2 MV0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgTWFuYWdlZCBPYmplY3RzIG9mIEVQT04gICAg ICAgICAgIEZlYnJ1YXJ5IDIwMDYKCgogICAgIFVOSVRTICAiMC4xIGRibSIKICAgICBNQVgtQUND RVNTICByZWFkLW9ubHkKICAgICBTVEFUVVMgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAg ICAgIlRoZSBsb3dlc3Qgb3B0aWNhbCBwb3dlciBtb25pdG9yZWQgYXQgdGhlIGlucHV0IGR1cmlu ZyB0aGUKICAgICAgICBjdXJyZW50IDE1LW1pbnV0ZSBpbnRlcnZhbC4iCiAgICAgOjo9IHsgZG90 M0V4dFBrZ09wdElmRW50cnkgMyB9CgogICBkb3QzRXh0UGtnT3B0SWZIaWdoSW5wdXRQb3dlciBP QkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgSW50ZWdlcjMyCiAgICAgVU5JVFMgICIwLjEgZGJtIgog ICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgIFNUQVRVUyAgY3VycmVudAogICAgIERFU0NS SVBUSU9OCiAgICAgICAiVGhlIGhpZ2hlc3Qgb3B0aWNhbCBwb3dlciBtb25pdG9yZWQgYXQgdGhl IGlucHV0IGR1cmluZyB0aGUKICAgICAgICBjdXJyZW50IDE1LW1pbnV0ZSBpbnRlcnZhbC4iCiAg ICAgOjo9IHsgZG90M0V4dFBrZ09wdElmRW50cnkgNCB9CgogICBkb3QzRXh0UGtnT3B0SWZMb3dl cklucHV0UG93ZXJUaHJlc2hvbGQgT0JKRUNULVRZUEUKICAgICBTWU5UQVggIEludGVnZXIzMgog ICAgIFVOSVRTICAiMC4xIGRibSIKICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlCiAgICAgU1RB VFVTICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJUaGUgbG93ZXIgbGltaXQgdGhy ZXNob2xkIG9uIGlucHV0IHBvd2VyLiAgSWYKICAgICAgICBkb3QzRXh0UGtnT3B0SWZJbnB1dFBv d2VyIGRyb3BzIHRvIHRoaXMgdmFsdWUgb3IgYmVsb3csCiAgICAgICAgYSBUaHJlc2hvbGQgQ3Jv c3NpbmcgQWxlcnQgKFRDQSkgc2hvdWxkIGJlIHNlbnQuIgogICAgIDo6PSB7IGRvdDNFeHRQa2dP cHRJZkVudHJ5IDUgfQoKICAgZG90M0V4dFBrZ09wdElmVXBwZXJJbnB1dFBvd2VyVGhyZXNob2xk IE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICBJbnRlZ2VyMzIKICAgICBVTklUUyAgIjAuMSBkYm0i CiAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQogICAgIFNUQVRVUyAgY3VycmVudAogICAgIERF U0NSSVBUSU9OCiAgICAgICAiVGhlIHVwcGVyIGxpbWl0IHRocmVzaG9sZCBvbiBpbnB1dCBwb3dl ci4gIElmCiAgICAgICAgZG90M0V4dFBrZ09wdElmSW5wdXRQb3dlciByZWFjaGVzIG9yIGV4Y2Vl ZHMgdGhpcyB2YWx1ZSwKICAgICAgICBhIFRocmVzaG9sZCBDcm9zc2luZyBBbGVydCAoVENBKSBz aG91bGQgYmUgc2VudC4iCiAgICAgOjo9IHsgZG90M0V4dFBrZ09wdElmRW50cnkgNiB9CgogICBk b3QzRXh0UGtnT3B0SWZPdXRwdXRQb3dlciBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgSW50ZWdl cjMyCiAgICAgVU5JVFMgICIwLjEgZGJtIgogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAg IFNUQVRVUyAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiVGhlIG9wdGljYWwgcG93 ZXIgbW9uaXRvcmVkIGF0IHRoZSBvdXRwdXQuIgogICAgIDo6PSB7IGRvdDNFeHRQa2dPcHRJZkVu dHJ5IDcgfQoKCgpLaGVybW9zaCAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMTQsIDIw MDYgICAgICAgICAgICAgICBbUGFnZSA2Ml0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgTWFu YWdlZCBPYmplY3RzIG9mIEVQT04gICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYKCgogICBkb3QzRXh0 UGtnT3B0SWZMb3dPdXRwdXRQb3dlciBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgSW50ZWdlcjMy CiAgICAgVU5JVFMgICIwLjEgZGJtIgogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgIFNU QVRVUyAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiVGhlIGxvd2VzdCBvcHRpY2Fs IHBvd2VyIG1vbml0b3JlZCBhdCB0aGUgb3V0cHV0IGR1cmluZyB0aGUKICAgICAgICBjdXJyZW50 IDE1LW1pbnV0ZSBpbnRlcnZhbC4iCiAgICAgOjo9IHsgZG90M0V4dFBrZ09wdElmRW50cnkgOCB9 CgogICBkb3QzRXh0UGtnT3B0SWZIaWdoT3V0cHV0UG93ZXIgT0JKRUNULVRZUEUKICAgICBTWU5U QVggIEludGVnZXIzMgogICAgIFVOSVRTICAiMC4xIGRibSIKICAgICBNQVgtQUNDRVNTICByZWFk LW9ubHkKICAgICBTVEFUVVMgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIlRoZSBo aWdoZXN0IG9wdGljYWwgcG93ZXIgbW9uaXRvcmVkIGF0IHRoZSBvdXRwdXQgZHVyaW5nIHRoZQog ICAgICAgIGN1cnJlbnQgMTUtbWludXRlIGludGVydmFsLiIKICAgICA6Oj0geyBkb3QzRXh0UGtn T3B0SWZFbnRyeSA5IH0KCiAgIGRvdDNFeHRQa2dPcHRJZkxvd2VyT3V0cHV0UG93ZXJUaHJlc2hv bGQgT0JKRUNULVRZUEUKICAgICBTWU5UQVggIEludGVnZXIzMgogICAgIFVOSVRTICAiMC4xIGRi bSIKICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlCiAgICAgU1RBVFVTICBjdXJyZW50CiAgICAg REVTQ1JJUFRJT04KICAgICAgICJUaGUgbG93ZXIgbGltaXQgdGhyZXNob2xkIG9uIG91dHB1dCBw b3dlci4gIElmCiAgICAgICAgZG90M0V4dFBrZ09wdElmT3V0cHV0UG93ZXIgZHJvcHMgdG8gdGhp cyB2YWx1ZSBvciBiZWxvdywKICAgICAgICBhIFRocmVzaG9sZCBDcm9zc2luZyBBbGVydCAoVENB KSBzaG91bGQgYmUgc2VudC4iCiAgICAgOjo9IHsgZG90M0V4dFBrZ09wdElmRW50cnkgMTAgfQoK ICAgZG90M0V4dFBrZ09wdElmVXBwZXJPdXRwdXRQb3dlclRocmVzaG9sZCBPQkpFQ1QtVFlQRQog ICAgIFNZTlRBWCAgSW50ZWdlcjMyCiAgICAgVU5JVFMgICIwLjEgZGJtIgogICAgIE1BWC1BQ0NF U1MgIHJlYWQtd3JpdGUKICAgICBTVEFUVVMgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAg ICAgIlRoZSB1cHBlciBsaW1pdCB0aHJlc2hvbGQgb24gb3V0cHV0IHBvd2VyLiAgSWYKICAgICAg ICBkb3QzRXh0UGtnT3B0SWZPdXRwdXRQb3dlciByZWFjaGVzIG9yIGV4Y2VlZHMgdGhpcyB2YWx1 ZSwKICAgICAgICBhIFRocmVzaG9sZCBDcm9zc2luZyBBbGVydCAoVENBKSBzaG91bGQgYmUgc2Vu dC4iCiAgICAgOjo9IHsgZG90M0V4dFBrZ09wdElmRW50cnkgMTEgfQoKICAgZG90M0V4dFBrZ09w dElmU2lnbmFsRGV0ZWN0IE9CSkVDVC1UWVBFCiAgICAgICBTWU5UQVggIFRydXRoVmFsdWUKICAg ICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgICAgU1RBVFVTICBjdXJyZW50CiAgICAgICBE RVNDUklQVElPTgogICAgICAgICAgICAgICAiV2hlbiBnZXR0aW5nIHRydWUoMSkgdGhlcmUgaXMg YSB2YWxpZCBvcHRpY2FsIHNpZ25hbCBhdAoKCgpLaGVybW9zaCAgICAgICAgICAgICAgICAgRXhw aXJlcyBBdWd1c3QgMTQsIDIwMDYgICAgICAgICAgICAgICBbUGFnZSA2M10KDApJbnRlcm5ldC1E cmFmdCAgICAgICAgICAgTWFuYWdlZCBPYmplY3RzIG9mIEVQT04gICAgICAgICAgIEZlYnJ1YXJ5 IDIwMDYKCgogICAgICAgICAgICAgICAgdGhlIHJlY2VpdmUgd2hpY2ggaXMgYWJvdmUgdGhlIG9w dGljYWwgcG93ZXIgbGV2ZWwgZm9yCiAgICAgICAgICAgICAgICBzaWduYWwgZGV0ZWN0aW9uLiBX aGVuIGdldHRpbmcgZmFsc2UoMikgdGhlIG9wdGljYWwKICAgICAgICAgICAgICAgIHNpZ25hbCBh dCB0aGUgcmVjZWl2ZSBpcyBiZWxvdyB0aGUgb3B0aWNhbCBwb3dlciBsZXZlbAogICAgICAgICAg ICAgICAgZm9yIHNpZ25hbCBkZXRlY3Rpb24uCiAgICAgICAgICAgICAgICBUaGlzIG9iamVjdCBp cyByZWxldmFudCBmb3IgYW4gT0xUIGFuZCBhbiBPTlUuIgogICAgICAgREVGVkFMIHsgZmFsc2Ug fQogICAgICAgOjo9IHsgZG90M0V4dFBrZ09wdElmRW50cnkgMTIgfQoKICAgZG90M0V4dFBrZ09w dElmVHJhbnNtaXRBbGFybSBPQkpFQ1QtVFlQRQogICAgICAgU1lOVEFYICBUcnV0aFZhbHVlCiAg ICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICAgIFNUQVRVUyAgY3VycmVudAogICAgICAg REVTQ1JJUFRJT04KICAgICAgICAgICAgICAgIldoZW4gZ2V0dGluZyB0cnVlKDEpIHRoZXJlIGlz IGEgbm9uLXZhbGlkIG9wdGljYWwgc2lnbmFsCiAgICAgICAgICAgICAgICBhdCB0aGUgdHJhbnNt aXQgb2YgdGhlIGludGVyZmFjZSwgZWl0aGVyIGEgaGlnaGVyIGxldmVsCiAgICAgICAgICAgICAg ICBvciBsb3dlciBsZXZlbCB0aGFuIGV4cGVjdGVkLiBXaGVuIGdldHRpbmcgZmFsc2UoMikgdGhl CiAgICAgICAgICAgICAgICBvcHRpY2FsIHNpZ25hbCBhdCB0aGUgdHJhbnNtaXQgaXMgdmFsaWQg YW5kIGluIHRoZQogICAgICAgICAgICAgICAgcmVxdWlyZWQgcmFuZ2UuCiAgICAgICAgICAgICAg ICBUaGlzIG9iamVjdCBpcyByZWxldmFudCBmb3IgYW4gT0xUIGFuZCBhbiBPTlUuIgogICAgICAg REVGVkFMIHsgZmFsc2UgfQogICAgICAgOjo9IHsgZG90M0V4dFBrZ09wdElmRW50cnkgMTMgfQoK CiAgIGRvdDNFeHRQa2dPcHRJZlRyYW5zbWl0RW5hYmxlIE9CSkVDVC1UWVBFCiAgICAgICBTWU5U QVggIFRydXRoVmFsdWUKICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUKICAgICAgIFNUQVRV UyAgY3VycmVudAogICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICAgICAgIlNldHRpbmcgdGhp cyB2YXJpYWJsZSB0byB0cnVlKDEpIHdpbGwgY2F1c2UgdGhlIG9wdGljYWwKICAgICAgICAgICAg ICAgIGludGVyZmFjZSB0byBzdGFydCB0cmFuc21pc3Npb24gKGFjY29yZGluZyB0byB0aGUKICAg ICAgICAgICAgICAgIGNvbnRyb2wgcHJvdG9jb2wgc3BlY2lmaWVkIGZvciB0aGUgbG9naWNhbCBp bnRlcmZhY2UpLgogICAgICAgICAgICAgICAgU2V0dGluZyB0aGlzIHZhcmlhYmxlIHRvIGZhbHNl KDIpIHdpbGwgY2F1c2UgdGhlCiAgICAgICAgICAgICAgICBpbnRlcmZhY2UgdG8gc3RvcCB0aGUg b3B0aWNhbCB0cmFuc21pc3Npb24uCiAgICAgICAgICAgICAgICBXaGVuIGdldHRpbmcgdHJ1ZSgx KSB0aGUgb3B0aWNhbCBpbnRlcmZhY2UgaXMgaW4KICAgICAgICAgICAgICAgIHRyYW5zbWl0IG1v ZGUgKG9iZXlpbmcgdG8gdGhlIGxvZ2ljYWwgY29udHJvbCBwcm90b2NvbCkuCiAgICAgICAgICAg ICAgICBXaGVuIGdldHRpbmcgZmFsc2UoMikgdGhlIG9wdGljYWwgaW50ZXJmYWNlIGlzIG5vdCBp bgogICAgICAgICAgICAgICAgdHJhbnNtaXQgbW9kZS4KICAgICAgICAgICAgICAgIFdyaXRpbmcg Y2FuIGJlIGRvbmUgYXQgYW55IHRpbWUuCiAgICAgICAgICAgICAgICBUaGUgdmFyaWFibGUgaXMg cmVsZXZhbnQgd2hlbiB0aGUgYWRtaW4gc3RhdGUgb2YgdGhlCiAgICAgICAgICAgICAgICBkZXZp Y2UgaXMgYWN0aXZlIGFzIHNldCBieSB0aGUgZG90M01wY3BBZG1pblN0YXRlLgogICAgICAgICAg ICAgICAgVGhpcyBvYmplY3QgaXMgcmVsZXZhbnQgZm9yIGFuIE9MVCBhbmQgYW4gT05VLiIKICAg ICAgIERFRlZBTCB7IGZhbHNlIH0KICAgICAgIDo6PSB7IGRvdDNFeHRQa2dPcHRJZkVudHJ5IDE0 IH0KCgogICAtLSBDb25mb3JtYW5jZSBTdGF0ZW1lbnRzCgogICAtLSBDb25mb3JtYW5jZSBHcm91 cHMKCgoKS2hlcm1vc2ggICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDE0LCAyMDA2ICAg ICAgICAgICAgICAgW1BhZ2UgNjRdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgIE1hbmFnZWQg T2JqZWN0cyBvZiBFUE9OICAgICAgICAgICBGZWJydWFyeSAyMDA2CgoKICAgZG90M0Vwb25Hcm91 cHMgICAgICBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBkb3QzRXBvbkNvbmZvcm1hbmNlIDEgfQoK ICAgZG90M01wY3BHcm91cEJhc2UgT0JKRUNULUdST1VQCiAgICAgICBPQkpFQ1RTIHsKICAgICAg ICAgICAgICAgZG90M01wY3BPcGVyU3RhdHVzLAogICAgICAgICAgICAgICBkb3QzTXBjcEFkbWlu U3RhdGUsCiAgICAgICAgICAgICAgIGRvdDNNcGNwTW9kZSwKICAgICAgICAgICAgICAgZG90M01w Y3BTeW5jVGltZSwKICAgICAgICAgICAgICAgZG90M01wY3BMaW5rSUQsCiAgICAgICAgICAgICAg IGRvdDNNcGNwUmVtb3RlTUFDQWRkcmVzcywKICAgICAgICAgICAgICAgZG90M01wY3BSZWdpc3Ry YXRpb25TdGF0ZSwKICAgICAgICAgICAgICAgZG90M01wY3BNYXhpbXVtUGVuZGluZ0dyYW50cywK ICAgICAgICAgICAgICAgZG90M01wY3BUcmFuc21pdEVsYXBzZWQsCiAgICAgICAgICAgICAgIGRv dDNNcGNwUmVjZWl2ZUVsYXBzZWQsCiAgICAgICAgICAgICAgIGRvdDNNcGNwUm91bmRUcmlwVGlt ZQogICAgICAgfQogICAgICAgU1RBVFVTICBjdXJyZW50CiAgICAgICBERVNDUklQVElPTgogICAg ICAgICAgICAgICJBIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyBvZiBkb3QzIE1wY3AgQ29udHJvbCBl bnRpdHkgc3RhdGUKICAgICAgICAgICAgICAgZGVmaW5pdGlvbi4gT2JqZWN0cyBhcmUgcGVyIExM SUQuIgogICAgICAgOjo9IHsgZG90M0Vwb25Hcm91cHMgMSB9CgoKICAgZG90M01wY3BHcm91cFN0 YXQgT0JKRUNULUdST1VQCiAgICAgICBPQkpFQ1RTIHsKICAgICAgICAgICAgICAgZG90M01wY3BN QUNDdHJsRnJhbWVzVHJhbnNtaXR0ZWQsCiAgICAgICAgICAgICAgIGRvdDNNcGNwTUFDQ3RybEZy YW1lc1JlY2VpdmVkLAogICAgICAgICAgICAgICBkb3QzTXBjcERpc2NvdmVyeVdpbmRvd3NTZW50 LAogICAgICAgICAgICAgICBkb3QzTXBjcERpc2NvdmVyeVRpbWVvdXQgLAogICAgICAgICAgICAg ICBkb3QzTXBjcFR4UmVnUmVxdWVzdCwKICAgICAgICAgICAgICAgZG90M01wY3BSeFJlZ1JlcXVl c3QsCiAgICAgICAgICAgICAgIGRvdDNNcGNwVHhSZWdBY2ssCiAgICAgICAgICAgICAgIGRvdDNN cGNwUnhSZWdBY2ssCiAgICAgICAgICAgICAgIGRvdDNNcGNwVHhSZXBvcnQsCiAgICAgICAgICAg ICAgIGRvdDNNcGNwUnhSZXBvcnQsCiAgICAgICAgICAgICAgIGRvdDNNcGNwVHhHYXRlLAogICAg ICAgICAgICAgICBkb3QzTXBjcFJ4R2F0ZSwKICAgICAgICAgICAgICAgZG90M01wY3BUeFJlZ2lz dGVyLAogICAgICAgICAgICAgICBkb3QzTXBjcFJ4UmVnaXN0ZXIKICAgICAgIH0KICAgICAgIFNU QVRVUyAgY3VycmVudAogICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICAgICAgIkEgY29sbGVj dGlvbiBvZiBvYmplY3RzIG9mIGRvdDMgTXBjcCBTdGF0aXN0aWNzLgogICAgICAgICAgICAgICAg T2JqZWN0cyBhcmUgcGVyIExMSUQuIgogICAgICAgOjo9IHsgZG90M0Vwb25Hcm91cHMgMiB9Cgog ICBkb3QzT21wZUdyb3VwSUQgT0JKRUNULUdST1VQCiAgICAgICBPQkpFQ1RTIHsKCgoKS2hlcm1v c2ggICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDE0LCAyMDA2ICAgICAgICAgICAgICAg W1BhZ2UgNjVdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgIE1hbmFnZWQgT2JqZWN0cyBvZiBF UE9OICAgICAgICAgICBGZWJydWFyeSAyMDA2CgoKICAgICAgICAgICAgICAgZG90M09tcEVtdWxh dGlvblR5cGUKCiAgICAgICB9CiAgICAgICBTVEFUVVMgIGN1cnJlbnQKICAgICAgIERFU0NSSVBU SU9OCiAgICAgICAgICAgICAgICJBIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyBvZiBkb3QzIE9NUCBl bXVsYXRpb24gSUQgZW50aXR5CiAgICAgICAgICAgICAgICBzdGF0ZSBkZWZpbml0aW9uLiBPYmpl Y3RzIGFyZSBwZXIgTExJRC4iCiAgICAgICA6Oj0geyBkb3QzRXBvbkdyb3VwcyAzIH0KCgogICBk b3QzT21wZUdyb3VwU3RhdCBPQkpFQ1QtR1JPVVAKICAgICAgIE9CSkVDVFMgewogICAgICAgICAg ICAgICBkb3QzT21wRW11bGF0aW9uU0xERXJyb3JzLAogICAgICAgICAgICAgICBkb3QzT21wRW11 bGF0aW9uQ1JDOEVycm9ycywKICAgICAgICAgICAgICAgZG90M09tcEVtdWxhdGlvbkJhZExMSUQs CiAgICAgICAgICAgICAgIGRvdDNPbXBFbXVsYXRpb25Hb29kTExJRCwKICAgICAgICAgICAgICAg ZG90M09tcEVtdWxhdGlvbk9udVBvbkNhc3RMTElELAogICAgICAgICAgICAgICBkb3QzT21wRW11 bGF0aW9uT2x0UG9uQ2FzdExMSUQsCiAgICAgICAgICAgICAgIGRvdDNPbXBFbXVsYXRpb25Ccm9h ZGNhc3RCaXROb3RPbnVMbGlkLAogICAgICAgICAgICAgICBkb3QzT21wRW11bGF0aW9uT251TExJ RE5vdEJyb2FkY2FzdCwKICAgICAgICAgICAgICAgZG90M09tcEVtdWxhdGlvbkJyb2FkY2FzdEJp dFBsdXNPbnVMbGlkLAogICAgICAgICAgICAgICBkb3QzT21wRW11bGF0aW9uTm90QnJvYWRjYXN0 Qml0Tm90T251TGxpZAogICAgICAgfQogICAgICAgU1RBVFVTICBjdXJyZW50CiAgICAgICBERVND UklQVElPTgogICAgICAgICAgICAgICAiQSBjb2xsZWN0aW9uIG9mIG9iamVjdHMgb2YgZG90MyBP TVAgZW11bGF0aW9uCiAgICAgICAgICAgICAgICBTdGF0aXN0aWNzLiBPYmplY3RzIGFyZSBwZXIg TExJRC4iCiAgICAgICA6Oj0geyBkb3QzRXBvbkdyb3VwcyA0IH0KCgogICBkb3QzRXBvbkZlY0dy b3VwQWxsIE9CSkVDVC1HUk9VUAogICAgICAgT0JKRUNUUyB7CiAgICAgICAgICAgICAgIGRvdDNF cG9uRmVjUENTQ29kaW5nVmlvbGF0aW9uLAogICAgICAgICAgICAgICBkb3QzRXBvbkZlY0FiaWxp dHksCiAgICAgICAgICAgICAgIGRvdDNFcG9uRmVjTW9kZSwKICAgICAgICAgICAgICAgZG90M0Vw b25GZWNDb3JyZWN0ZWRCbG9ja3MsCiAgICAgICAgICAgICAgIGRvdDNFcG9uRmVjVW5jb3JyZWN0 YWJsZUJsb2NrcywKICAgICAgICAgICAgICAgZG90M0Vwb25GZWNCdWZmZXJIZWFkQ29kaW5nVmlv bGF0aW9uCiAgICAgICB9CiAgICAgICBTVEFUVVMgIGN1cnJlbnQKICAgICAgIERFU0NSSVBUSU9O CiAgICAgICAgICAgICAgICJBIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyBvZiBGRUMgZ3JvdXAgZGVm aW5pdGlvbi4KICAgICAgICAgICAgICAgIE9iamVjdHMgYXJlIHBlciBMTElELiIKICAgICAgIDo6 PSB7IGRvdDNFcG9uR3JvdXBzIDUgfQoKCgogICBkb3QzRXh0UGtnR3JvdXBDb250cm9sIE9CSkVD VC1HUk9VUAoKCgpLaGVybW9zaCAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMTQsIDIw MDYgICAgICAgICAgICAgICBbUGFnZSA2Nl0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgTWFu YWdlZCBPYmplY3RzIG9mIEVQT04gICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYKCgogICAgICAgT0JK RUNUUyB7CiAgICAgICAgICAgICAgIGRvdDNFeHRQa2dPYmplY3RSZXNldCwKICAgICAgICAgICAg ICAgZG90M0V4dFBrZ09iamVjdFBvd2VyRG93biwKICAgICAgICAgICAgICAgZG90M0V4dFBrZ09i amVjdE51bWJlck9mTExJRHMsCiAgICAgICAgICAgICAgIGRvdDNFeHRQa2dPYmplY3RGZWNFbmFi bGVkLAogICAgICAgICAgICAgICBkb3QzRXh0UGtnT2JqZWN0UmVwb3J0TWF4aW11bU51bVF1ZXVl cywKICAgICAgICAgICAgICAgZG90M0V4dFBrZ09iamVjdFJlZ2lzdGVyQWN0aW9uCiAgICAgICB9 CiAgICAgICBTVEFUVVMgIGN1cnJlbnQKICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAgICAg ICJBIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyBvZiBkb3QzRXh0UGtnIGNvbnRyb2wKICAgICAgICAg ICAgICAgIGRlZmluaXRpb24uIE9iamVjdHMgYXJlIHBlciBMTElELiIKICAgICAgIDo6PSB7IGRv dDNFcG9uR3JvdXBzIDYgfQoKICAgZG90M0V4dFBrZ0dyb3VwUXVldWUgT0JKRUNULUdST1VQCiAg ICAgICBPQkpFQ1RTIHsKICAgICAgICBkb3QzRXh0UGtnT2JqZWN0UmVwb3J0TnVtVGhyZXNob2xk LAogICAgICAgIGRvdDNFeHRQa2dPYmplY3RSZXBvcnRNYXhpbXVtTnVtVGhyZXNob2xkLAogICAg ICAgIGRvdDNFeHRQa2dTdGF0VHhGcmFtZXNRdWV1ZSwKICAgICAgICBkb3QzRXh0UGtnU3RhdFJ4 RnJhbWVzUXVldWUsCiAgICAgICAgZG90M0V4dFBrZ1N0YXREcm9wcGVkRnJhbWVzUXVldWUKICAg ICAgIH0KICAgICAgIFNUQVRVUyAgY3VycmVudAogICAgICAgREVTQ1JJUFRJT04KICAgICAgICAg ICAgICAgIkEgY29sbGVjdGlvbiBvZiBvYmplY3RzIG9mIGRvdDNFeHRQa2cgUXVldWUKICAgICAg ICAgICAgICAgIGRlZmluaXRpb24uIE9iamVjdHMgYXJlIHBlciBMTElELCBwZXIgcXVldWUuIgog ICAgICAgOjo9IHsgZG90M0Vwb25Hcm91cHMgNyB9CgogICBkb3QzRXh0UGtnR3JvdXBRdWV1ZVNl dHMgT0JKRUNULUdST1VQCiAgICAgICBPQkpFQ1RTIHsKICAgICAgICBkb3QzRXh0UGtnT2JqZWN0 UmVwb3J0VGhyZXNob2xkCiAgICAgICB9CiAgICAgICBTVEFUVVMgIGN1cnJlbnQKICAgICAgIERF U0NSSVBUSU9OCiAgICAgICAgICAgICAgICJBIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyBvZiBkb3Qz RXh0UGtnIFF1ZXVlX3NldHMKICAgICAgICAgICAgICAgIGRlZmluaXRpb24uIE9iamVjdHMgYXJl IHBlciBMTElELCBwZXIgcXVldWUsIHBlcgogICAgICAgICAgICAgICAgcXVldWVfc2V0LiIKICAg ICAgIDo6PSB7IGRvdDNFcG9uR3JvdXBzIDggfQoKCgogICBkb3QzRXh0UGtnR3JvdXBPcHRJZiBP QkpFQ1QtR1JPVVAKICAgICAgIE9CSkVDVFMgewogICAgICBkb3QzRXh0UGtnT3B0SWZTdXNwZWN0 ZWRGbGFnLAogICAgICAgIGRvdDNFeHRQa2dPcHRJZklucHV0UG93ZXIsCiAgICAgICAgZG90M0V4 dFBrZ09wdElmTG93SW5wdXRQb3dlciwKICAgICAgICBkb3QzRXh0UGtnT3B0SWZIaWdoSW5wdXRQ b3dlciwKICAgICAgICBkb3QzRXh0UGtnT3B0SWZMb3dlcklucHV0UG93ZXJUaHJlc2hvbGQsCgoK CktoZXJtb3NoICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAxNCwgMjAwNiAgICAgICAg ICAgICAgIFtQYWdlIDY3XQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICBNYW5hZ2VkIE9iamVj dHMgb2YgRVBPTiAgICAgICAgICAgRmVicnVhcnkgMjAwNgoKCiAgICAgICAgZG90M0V4dFBrZ09w dElmVXBwZXJJbnB1dFBvd2VyVGhyZXNob2xkLAogICAgICAgIGRvdDNFeHRQa2dPcHRJZk91dHB1 dFBvd2VyLAogICAgICAgIGRvdDNFeHRQa2dPcHRJZkxvd091dHB1dFBvd2VyLAogICAgICAgIGRv dDNFeHRQa2dPcHRJZkhpZ2hPdXRwdXRQb3dlciwKICAgICAgICBkb3QzRXh0UGtnT3B0SWZMb3dl ck91dHB1dFBvd2VyVGhyZXNob2xkLAogICAgICAgIGRvdDNFeHRQa2dPcHRJZlVwcGVyT3V0cHV0 UG93ZXJUaHJlc2hvbGQsCiAgICAgICAgZG90M0V4dFBrZ09wdElmU2lnbmFsRGV0ZWN0LAogICAg ICAgIGRvdDNFeHRQa2dPcHRJZlRyYW5zbWl0QWxhcm0sCiAgICAgICAgZG90M0V4dFBrZ09wdElm VHJhbnNtaXRFbmFibGUKICAgICAgICB9CiAgICAgICBTVEFUVVMgIGN1cnJlbnQKICAgICAgIERF U0NSSVBUSU9OCiAgICAgICAgICAgICAgICJBIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyBvZiBPcHRp Y2FsIGludGVyZmFjZSBjb250cm9sIGFuZAogICAgICAgICAgICAgICAgc3RhdHVzIGluZGljYXRp b24gZm9yIHRoZSBFUE9OIEludGVyZmFjZXMuCiAgICAgICAgICAgICAgICBPYmplY3RzIGFyZSBw ZXIgTExJRC4iCiAgICAgICA6Oj0geyBkb3QzRXBvbkdyb3VwcyA5IH0KCiAgIC0tIENvbXBsaWFu Y2UKCiAgICAgIGRvdDNFcG9uQ29tcGxpYW5jZXMKICAgICAgICAgIE9CSkVDVCBJREVOVElGSUVS IDo6PSB7IGRvdDNFcG9uQ29uZm9ybWFuY2UgMiB9CgoKCiAgIGRvdDNNUENQQ29tcGxpYW5jZSBN T0RVTEUtQ09NUExJQU5DRQogICAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgICAgREVTQ1JJ UFRJT04gIlRoZSBjb21wbGlhbmNlIHN0YXRlbWVudCBmb3IgTXVsdGktcG9pbnQKICAgICAgICAg ICAgICAgICAgICBjb250cm9sIHByb3RvY29sIGludGVyZmFjZXMuIgoKICAgICAgIE1PRFVMRSAg LS0gdGhpcyBtb2R1bGUKICAgICAgIE1BTkRBVE9SWS1HUk9VUFMgeyBkb3QzTXBjcEdyb3VwQmFz ZX0KCiAgICAgICBHUk9VUCAgICAgICBkb3QzTXBjcEdyb3VwU3RhdAogICAgICBERVNDUklQVElP TiAiVGhpcyBncm91cCBpcyBtYW5kYXRvcnkgZm9yIGFsbCBNUENQIHN1cHBvcnRpbmcKICAgICAg ICAgICAgICAgICAgIGludGVyZmFjZXMgZm9yIFN0YXRpc3RpY3MgY29sbGVjdGlvbi4iCiAgICAg IDo6PSB7IGRvdDNFcG9uQ29tcGxpYW5jZXMgMX0KCgogICBkb3QzT21wZUNvbXBsaWFuY2UgTU9E VUxFLUNPTVBMSUFOQ0UKICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAgIERFU0NSSVBU SU9OICJUaGUgY29tcGxpYW5jZSBzdGF0ZW1lbnQgZm9yIE9NUEVtdWxhdGlvbgogICAgICAgICAg ICAgICAgICAgIGludGVyZmFjZXMuIgoKICAgICAgIE1PRFVMRSAgLS0gdGhpcyBtb2R1bGUKICAg ICAgIE1BTkRBVE9SWS1HUk9VUFMgeyBkb3QzT21wZUdyb3VwSUR9CgogICAgICAgR1JPVVAgICAg ICAgZG90M09tcGVHcm91cFN0YXQKICAgICAgIERFU0NSSVBUSU9OICJUaGlzIGdyb3VwIGlzIG1h bmRhdG9yeSBmb3IgYWxsIE9NUGVtdWxhdGlvbgoKCgpLaGVybW9zaCAgICAgICAgICAgICAgICAg RXhwaXJlcyBBdWd1c3QgMTQsIDIwMDYgICAgICAgICAgICAgICBbUGFnZSA2OF0KDApJbnRlcm5l dC1EcmFmdCAgICAgICAgICAgTWFuYWdlZCBPYmplY3RzIG9mIEVQT04gICAgICAgICAgIEZlYnJ1 YXJ5IDIwMDYKCgogICAgICAgICAgICAgICAgICAgIHN1cHBvcnRpbmcgaW50ZXJmYWNlcyBmb3Ig U3RhdGlzdGljcyBjb2xsZWN0aW9uLiIKCiAgICAgICA6Oj0geyBkb3QzRXBvbkNvbXBsaWFuY2Vz IDJ9CgoKICAgZG90M0Vwb25GZWNDb21wbGlhbmNlIE1PRFVMRS1DT01QTElBTkNFCiAgICAgICBT VEFUVVMgICAgICBjdXJyZW50CiAgICAgICBERVNDUklQVElPTiAiVGhlIGNvbXBsaWFuY2Ugc3Rh dGVtZW50IGZvciBGZWMgRVBPTiBpbnRlcmZhY2VzLgogICAgICAgICAgICAgICAgICAgIFRoaXMg Z3JvdXAgaXMgbWFuZGF0b3J5IGZvciBhbGwgRVBPTiBpbnRlcmZhY2VzCiAgICAgICAgICAgICAg ICAgICAgU3VwcG9ydGluZyBGRUMgZnVuY3Rpb25hbGl0eSBhcyBmb3IgRGVmaW5pdGlvbnMgYW5k CiAgICAgICAgICAgICAgICAgICAgQkVSIFN0YXRpc3RpY3MgY29sbGVjdGlvbi4iCgogICAgICAg TU9EVUxFICAtLSB0aGlzIG1vZHVsZQogICAgICAgTUFOREFUT1JZLUdST1VQUyB7IGRvdDNFcG9u RmVjR3JvdXBBbGwgfQoKICAgICAgIDo6PSB7IGRvdDNFcG9uQ29tcGxpYW5jZXMgM30KCgogICBk b3QzRXh0UGtnQ29tcGxpYW5jZSBNT0RVTEUtQ09NUExJQU5DRQogICAgICAgU1RBVFVTICAgICAg Y3VycmVudAogICAgICAgREVTQ1JJUFRJT04gIlRoZSBjb21wbGlhbmNlIHN0YXRlbWVudCBmb3Ig RVBPTiBJbnRlcmZhY2VzCiAgICAgICAgICAgICAgICAgICAgdXNpbmcgdGhlIGV4dGVuZGVkIHBh Y2thZ2UuIgogICAgICAgTU9EVUxFICAtLSB0aGlzIG1vZHVsZQogICAgICAgTUFOREFUT1JZLUdS T1VQUyB7IGRvdDNFeHRQa2dHcm91cENvbnRyb2wgfQoKICAgICAgIEdST1VQICAgICAgIGRvdDNF eHRQa2dHcm91cFF1ZXVlCiAgICAgICBERVNDUklQVElPTiAiIFRoaXMgZ3JvdXAgaXMgbWFuZGF0 b3J5IGZvciBhbGwgT0xUIEVQT04gaW50ZXJmYWNlcwogICAgICAgICAgICAgICAgICAgIHN1cHBv cnRpbmcgUmVwb3J0IFF1ZXVlIG1hbmFnZW1lbnQgb2YgdGhlIGV4dGVuZGVkCiAgICAgICAgICAg ICAgICAgICAgcGFja2FnZS4iCgogICAgICAgR1JPVVAgICAgICAgZG90M0V4dFBrZ0dyb3VwUXVl dWVTZXRzCiAgICAgICBERVNDUklQVElPTiAiIFRoaXMgZ3JvdXAgaXMgbWFuZGF0b3J5IGZvciBh bGwgT0xUIEVQT04gaW50ZXJmYWNlcwogICAgICAgICAgICAgICAgICAgIHN1cHBvcnRpbmcgUmVw b3J0IFF1ZXVlX3NldHMgbWFuYWdlbWVudCBvZiB0aGUKICAgICAgICAgICAgICAgICAgICBleHRl bmRlZCBwYWNrYWdlLiIKCiAgICAgICBHUk9VUCAgICAgICBkb3QzRXh0UGtnR3JvdXBPcHRJZgog ICAgICAgREVTQ1JJUFRJT04gIlRoaXMgZ3JvdXAgaXMgbWFuZGF0b3J5IGZvciBhbGwgRVBPTiBp bnRlcmZhY2VzCiAgICAgICAgICAgICAgICAgICAgc3VwcG9ydGluZyBvcHRpY2FsIGludGVyZmFj ZXMgY29udHJvbCBhbmQgaW5kaWNhdGlvbgogICAgICAgICAgICAgICAgICAgIG9mIHRoZSBleHRl bmRlZCBwYWNrYWdlLiIKCiAgICAgICA6Oj0geyBkb3QzRXBvbkNvbXBsaWFuY2VzIDR9CgoKCiAg IEVORAoKCgoKCgpLaGVybW9zaCAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMTQsIDIw MDYgICAgICAgICAgICAgICBbUGFnZSA2OV0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgTWFu YWdlZCBPYmplY3RzIG9mIEVQT04gICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYKCgo2LiAgSUFOQSBD b25zaWRlcmF0aW9ucwoKICAgVGhlIERPVDMgRVBPTiBNSUIgbW9kdWxlIHJlcXVpcmVzIHRoZSBh bGxvY2F0aW9uIG9mIGEgc2luZ2xlIG9iamVjdAogICBpZGVudGlmaWVyIGZvciBpdHMgTU9EVUxF LUlERU5USVRZIHVuZGVyIHRoZSBNSUItMiB0cmVlLgoKICAgVGhlIE1JQiBtb2R1bGUgaW4gdGhp cyBkb2N1bWVudCB1c2VzIHRoZSBmb2xsb3dpbmcgSUFOQS1hc3NpZ25lZAogICBPQkpFQ1QgSURF TlRJRklFUiB2YWx1ZXMgcmVjb3JkZWQgaW4gdGhlIFNNSSBOdW1iZXJzIHJlZ2lzdHJ5OgoKCgoK ICAgICAgICAgRGVzY3JpcHRvciAgICAgICAgT0JKRUNUIElERU5USUZJRVIgdmFsdWUKICAgICAg ICAgLS0tLS0tLS0tLSAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiAgICAgICAgIGRv dDNFcG9uTUlCICAgICAgICB7IG1pYi0yIFhYWCB9CgoKICAgRWRpdG9yJ3MgTm90ZSAodG8gYmUg cmVtb3ZlZCBwcmlvciB0byBwdWJsaWNhdGlvbik6IHRoZSBJQU5BIGlzCiAgIHJlcXVlc3RlZCB0 byBhc3NpZ24gYSB2YWx1ZSBmb3IgIlhYWCIgdW5kZXIgdGhlICdtaWItMicgc3VidHJlZSBhbmQK ICAgdG8gcmVjb3JkIHRoZSBhc3NpZ25tZW50IGluIHRoZSBTTUkgTnVtYmVycyByZWdpc3RyeS4g IFdoZW4gdGhlCiAgIGFzc2lnbm1lbnQgaGFzIGJlZW4gbWFkZSwgdGhlIFJGQyBFZGl0b3IgaXMg YXNrZWQgdG8gcmVwbGFjZSAiWFhYIgogICAoaGVyZSBhbmQgaW4gdGhlIE1JQiBtb2R1bGUpIHdp dGggdGhlIGFzc2lnbmVkIHZhbHVlIGFuZCB0byByZW1vdmUKICAgdGhpcyBub3RlLgoKCgoKCgoK CgoKCgoKCgoKCgoKCgoKCgoKCgoKS2hlcm1vc2ggICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVn dXN0IDE0LCAyMDA2ICAgICAgICAgICAgICAgW1BhZ2UgNzBdCgwKSW50ZXJuZXQtRHJhZnQgICAg ICAgICAgIE1hbmFnZWQgT2JqZWN0cyBvZiBFUE9OICAgICAgICAgICBGZWJydWFyeSAyMDA2CgoK Ny4gIFNlY3VyaXR5IENvbnNpZGVyYXRpb25zCgogICBUaGVyZSBhcmUgbnVtYmVyIG9mIG1hbmFn ZWQgb2JqZWN0cyBkZWZpbmVkIGluIHRoaXMgTUlCIG1vZHVsZSB0aGF0CiAgIGhhdmUgYSBNQVgt QUNDRVNTIGNsYXVzZSBvZiByZWFkLXdyaXRlIG9yIHJlYWQtY3JlYXRlLiAgV3JpdGluZyB0bwog ICB0aGVzZSBvYmplY3RzIGNhbiBoYXZlIHBvdGVudGlhbGx5IGRpc3J1cHRpdmUgZWZmZWN0cyBv biBuZXR3b3JrCiAgIG9wZXJhdGlvbjogSW5jbHVkaW5nOgoKICAgQ2hhbmdpbmcgZG90M01wY3BB ZG1pblN0YXRlIHN0YXRlIChXcml0aW5nIGNhbiBiZSBkb25lIGF0IGFueSB0aW1lKQoKICAgQ2hh bmdpbmcgZG90M0Vwb25GZWNNb2RlIG1vZGUgKFdyaXRpbmcgY2FuIGJlIGRvbmUgYXQgYW55IHRp bWUpCgogICBDaGFuZ2luZyBkb3QzRXh0UGtnT2JqZWN0UmVzZXQgbW9kZSAoV3JpdGluZyBjYW4g YmUgZG9uZSBhdCBhbnkgdGltZSkKCiAgIENoYW5naW5nIGRvdDNFeHRQa2dPYmplY3RGZWNFbmFi bGVkIG1vZGUgKFdyaXRpbmcgY2FuIGJlIGRvbmUgYXQgYW55CiAgIHRpbWUpCgogICBDaGFuZ2lu ZyBkb3QzRXh0UGtnT2JqZWN0UG93ZXJEb3duIChXcml0aW5nIGNhbiBiZSBkb25lIGF0IGFueSB0 aW1lKQoKICAgQ2hhbmdpbmcgZG90M0V4dFBrZ09iamVjdFJlcG9ydE51bVRocmVzaG9sZCAoV3Jp dGluZyBjYW4gYmUgZG9uZSBhdAogICBhbnkgdGltZSkKCiAgIENoYW5naW5nIGRvdDNFeHRQa2dP YmplY3RSZXBvcnRUaHJlc2hvbGQgKFdyaXRpbmcgY2FuIGJlIGRvbmUgYXQgYW55CiAgIHRpbWUp CgogICBDaGFuZ2luZyBkb3QzRXh0UGtnT2JqZWN0UmVnaXN0ZXJBY3Rpb24gKFdyaXRpbmcgY2Fu IGJlIGRvbmUgYXQgYW55CiAgIHRpbWUpCgogICBDaGFuZ2luZyBkb3QzRXh0UGtnUk1hZGxFbnRy eVN0YXR1cyAoV3JpdGluZyBjYW4gYmUgZG9uZSBhdCBhbnkgdGltZSkKCiAgIENoYW5naW5nIGRv dDNFeHRQa2dPcHRJZkxvd2VySW5wdXRQb3dlclRocmVzaG9sZCAoV3JpdGluZyBjYW4gYmUgZG9u ZQogICBhdCBhbnkgdGltZSkKCiAgIENoYW5naW5nIGRvdDNFeHRQa2dPcHRJZlVwcGVySW5wdXRQ b3dlclRocmVzaG9sZCAoV3JpdGluZyBjYW4gYmUgZG9uZQogICBhdCBhbnkgdGltZSkKCiAgIENo YW5naW5nIGRvdDNFeHRQa2dPcHRJZkxvd2VyT3V0cHV0UG93ZXJUaHJlc2hvbGQgKFdyaXRpbmcg Y2FuIGJlCiAgIGRvbmUgYXQgYW55IHRpbWUpCgogICBDaGFuZ2luZyBkb3QzRXh0UGtnT3B0SWZV cHBlck91dHB1dFBvd2VyVGhyZXNob2xkIChXcml0aW5nIGNhbiBiZQogICBkb25lIGF0IGFueSB0 aW1lKQoKICAgQ2hhbmdpbmcgZG90M0V4dFBrZ09wdElmVHJhbnNtaXRFbmFibGUgKFdyaXRpbmcg Y2FuIGJlIGRvbmUgYXQgYW55CiAgIHRpbWUpCgoKICAgVGhlIHVzZXIgb2YgdGhpcyBNSUIgbW9k dWxlIG11c3QgdGhlcmVmb3JlIGJlIGF3YXJlIHRoYXQgc3VwcG9ydCBmb3IKICAgU0VUIG9wZXJh dGlvbnMgaW4gYSBub24tc2VjdXJlIGVudmlyb25tZW50IHdpdGhvdXQgcHJvcGVyIHByb3RlY3Rp b24KICAgY2FuIGhhdmUgYSBuZWdhdGl2ZSBlZmZlY3Qgb24gbmV0d29yayBvcGVyYXRpb25zLgoK CgpLaGVybW9zaCAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMTQsIDIwMDYgICAgICAg ICAgICAgICBbUGFnZSA3MV0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgTWFuYWdlZCBPYmpl Y3RzIG9mIEVQT04gICAgICAgICAgIEZlYnJ1YXJ5IDIwMDYKCgogICBUaGUgcmVhZGFibGUgb2Jq ZWN0cyBpbiB0aGlzIE1JQiBtb2R1bGUgKGkuZS4sIHRob3NlIHdpdGggTUFYLUFDQ0VTUwogICBv dGhlciB0aGFuIG5vdC1hY2Nlc3NpYmxlKSBtYXkgYmUgY29uc2lkZXJlZCBzZW5zaXRpdmUgaW4g c29tZQogICBlbnZpcm9ubWVudHMgc2luY2UsIGNvbGxlY3RpdmVseSwgdGhleSBwcm92aWRlIGlu Zm9ybWF0aW9uIGFib3V0IHRoZQogICBwZXJmb3JtYW5jZSBvZiBuZXR3b3JrIGludGVyZmFjZXMg YW5kIGNhbiByZXZlYWwgc29tZSBhc3BlY3RzIG9mCiAgIHRoZWlyIGNvbmZpZ3VyYXRpb24uICBJ biBzdWNoIGVudmlyb25tZW50cyBpdCBpcyBpbXBvcnRhbnQgdG8gY29udHJvbAogICBldmVuIEdF VCBhbmQgTk9USUZZIGFjY2VzcyB0byB0aGVzZSBvYmplY3RzIGFuZCBwb3NzaWJseSBldmVuIHRv CiAgIGVuY3J5cHQgdGhlaXIgdmFsdWVzIHdoZW4gc2VuZGluZyB0aGVtIG92ZXIgdGhlIG5ldHdv cmsgdmlhIFNOTVAuCgogICBTTk1QIHZlcnNpb25zIHByaW9yIHRvIFNOTVB2MyBkaWQgbm90IGlu Y2x1ZGUgYWRlcXVhdGUgc2VjdXJpdHkuCiAgIEV2ZW4gaWYgdGhlIG5ldHdvcmsgaXRzZWxmIGlz IHNlY3VyZSAoZm9yIGV4YW1wbGUgYnkgdXNpbmcgSVBTZWMpLAogICBldmVuIHRoZW4sIHRoZXJl IGlzIG5vIGNvbnRyb2wgYXMgdG8gd2hvIG9uIHRoZSBzZWN1cmUgbmV0d29yayBpcwogICBhbGxv d2VkIHRvIGFjY2VzcyBhbmQgR0VUL1NFVCAocmVhZC9jaGFuZ2UvY3JlYXRlL2RlbGV0ZSkgdGhl IG9iamVjdHMKICAgaW4gdGhpcyBNSUIgbW9kdWxlLgoKICAgSXQgaXMgUkVDT01NRU5ERUQgdGhh dCBpbXBsZW1lbnRlcnMgY29uc2lkZXIgdGhlIHNlY3VyaXR5IGZlYXR1cmVzIGFzCiAgIHByb3Zp ZGVkIGJ5IHRoZSBTTk1QdjMgZnJhbWV3b3JrIChzZWUgW1JGQzM0MTBdLCBzZWN0aW9uIDgpLAog ICBpbmNsdWRpbmcgZnVsbCBzdXBwb3J0IGZvciB0aGUgU05NUHYzIGNyeXB0b2dyYXBoaWMgbWVj aGFuaXNtcyAoZm9yCiAgIGF1dGhlbnRpY2F0aW9uIGFuZCBwcml2YWN5KS4KCiAgIEZ1cnRoZXIs IGRlcGxveW1lbnQgb2YgU05NUCB2ZXJzaW9ucyBwcmlvciB0byBTTk1QdjMgaXMgTk9UCiAgIFJF Q09NTUVOREVELiAgSW5zdGVhZCwgaXQgaXMgUkVDT01NRU5ERUQgdG8gZGVwbG95IFNOTVB2MyBh bmQgdG8KICAgZW5hYmxlIGNyeXB0b2dyYXBoaWMgc2VjdXJpdHkuICBJdCBpcyB0aGVuIGEgY3Vz dG9tZXIvb3BlcmF0b3IKICAgcmVzcG9uc2liaWxpdHkgdG8gZW5zdXJlIHRoYXQgdGhlIFNOTVAg ZW50aXR5IGdpdmluZyBhY2Nlc3MgdG8gYW4KICAgaW5zdGFuY2Ugb2YgdGhpcyBNSUIgbW9kdWxl IGlzIHByb3Blcmx5IGNvbmZpZ3VyZWQgdG8gZ2l2ZSBhY2Nlc3MgdG8KICAgdGhlIG9iamVjdHMg b25seSB0byB0aG9zZSBwcmluY2lwYWxzICh1c2VycykgdGhhdCBoYXZlIGxlZ2l0aW1hdGUKICAg cmlnaHRzIHRvIGluZGVlZCBHRVQgb3IgU0VUIChjaGFuZ2UvY3JlYXRlL2RlbGV0ZSkgdGhlbS4K CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCktoZXJtb3NoICAgICAgICAgICAgICAgICBFeHBpcmVz IEF1Z3VzdCAxNCwgMjAwNiAgICAgICAgICAgICAgIFtQYWdlIDcyXQoMCkludGVybmV0LURyYWZ0 ICAgICAgICAgICBNYW5hZ2VkIE9iamVjdHMgb2YgRVBPTiAgICAgICAgICAgRmVicnVhcnkgMjAw NgoKCjguICBSZWZlcmVuY2VzCgo4LjEuICBOb3JtYXRpdmUgUmVmZXJlbmNlcwoKICAgWzgwMi4z XSAgICBJRUVFLCAiSW5zdGl0dXRlIG9mIEVsZWN0cmljYWwgYW5kIEVsZWN0cm9uaWMgRW5naW5l ZXJzLAogICAgICAgICAgICAgIElFRUUgU3RkIDgwMi4zLTIwMDIsICJJRUVFIFN0YW5kYXJkIGZv ciBDYXJyaWVyIFNlbnNlCiAgICAgICAgICAgICAgTXVsdGlwbGUgQWNjZXNzIHdpdGggQ29sbGlz aW9uIERldGVjdGlvbiAoQ1NNQS9DRCkgQWNjZXNzCiAgICAgICAgICAgICAgTWV0aG9kIGFuZCBQ aHlzaWNhbCBMYXllciBTcGVjaWZpY2F0aW9ucyIsIERlY2VtYmVyIDIwMDIuCgogICBbODAyLjNh aF0gIElFRUUsICJJbnN0aXR1dGUgb2YgRWxlY3RyaWNhbCBhbmQgRWxlY3Ryb25pYyBFbmdpbmVl cnMsCiAgICAgICAgICAgICAgSUVFRSBTdGQgODAyLjNhaC0yMDA0LiBJbmZvcm1hdGlvbiB0ZWNo bm9sb2d5IC0KICAgICAgICAgICAgICBUZWxlY29tbXVuaWNhdGlvbnMgYW5kIGluZm9ybWF0aW9u IGV4Y2hhbmdlIGJldHdlZW4KICAgICAgICAgICAgICBzeXN0ZW1zIC0gTG9jYWwgYW5kIG1ldHJv cG9saXRhbiBhcmVhIG5ldHdvcmtzIC0gU3BlY2lmaWMKICAgICAgICAgICAgICByZXF1aXJlbWVu dHMgLSBQYXJ0IDM6IENhcnJpZXIgc2Vuc2UgbXVsdGlwbGUgYWNjZXNzIHdpdGgKICAgICAgICAg ICAgICBjb2xsaXNpb24gZGV0ZWN0aW9uIChDU01BL0NEKSBhY2Nlc3MgbWV0aG9kIGFuZCBwaHlz aWNhbAogICAgICAgICAgICAgIGxheWVyIHNwZWNpZmljYXRpb25zIC0gTWVkaWEgQWNjZXNzIENv bnRyb2wgUGFyYW1ldGVycywKICAgICAgICAgICAgICBQaHlzaWNhbCBMYXllcnMgYW5kIE1hbmFn ZW1lbnQgUGFyYW1ldGVycyBmb3Igc3Vic2NyaWJlcgogICAgICAgICAgICAgIGFjY2VzcyBuZXR3 b3JrcyIsIElFRUUgU3RkIDgwMi4zYWgtMjAwNCwgT2N0b2JlciAyMDA0LgoKICAgW1JGQzI1Nzhd ICBNY0Nsb2docmllLCBLLiwgRWQuLCBQZXJraW5zLCBELiwgRWQuLCBhbmQgSi4KICAgICAgICAg ICAgICBTY2hvZW53YWVsZGVyLCBFZC4sICJTdHJ1Y3R1cmUgb2YgTWFuYWdlbWVudCBJbmZvcm1h dGlvbgogICAgICAgICAgICAgIFZlcnNpb24gMiAoU01JdjIpIiwgU1REIDU4LCBSRkMgMjU3OCwg QXByaWwgMTk5OS4KCiAgIFtSRkMyNTc5XSAgTWNDbG9naHJpZSwgSy4sIEVkLiwgUGVya2lucywg RC4sIEVkLiwgYW5kIEouCiAgICAgICAgICAgICAgU2Nob2Vud2FlbGRlciwgRWQuLCAiVGV4dHVh bCBDb252ZW50aW9ucyBmb3IgU01JdjIiLAogICAgICAgICAgICAgIFNURCA1OCwgUkZDIDI1Nzks IEFwcmlsIDE5OTkuCgogICBbUkZDMjU4MF0gIE1jQ2xvZ2hyaWUsIEsuLCBQZXJraW5zLCBELiwg YW5kIEouIFNjaG9lbndhZWxkZXIsCiAgICAgICAgICAgICAgIkNvbmZvcm1hbmNlIFN0YXRlbWVu dHMgZm9yIFNNSXYyIiwgU1REIDU4LCBSRkMgMjU4MCwKICAgICAgICAgICAgICBBcHJpbCAxOTk5 LgoKICAgW1JGQzI4NjNdICBNY0Nsb2docmllLCBLLiBhbmQgRi4gS2FzdGVuaG9seiwgIlRoZSBJ bnRlcmZhY2VzIEdyb3VwCiAgICAgICAgICAgICAgTUlCIiwgUkZDIDI4NjMsIEp1bmUgMjAwMC4K CiAgIFtSRkMyODY0XSAgTWNDbG9naHJpZSwgSy4gYW5kIEcuIEhhbnNvbiwgIlRoZSBJbnZlcnRl ZCBTdGFjayBUYWJsZQogICAgICAgICAgICAgIEV4dGVuc2lvbiB0byB0aGUgSW50ZXJmYWNlcyBH cm91cCBNSUIiLCBSRkMgMjg2NCwKICAgICAgICAgICAgICBKdW5lIDIwMDAuCgogICBbUkZDMzYz NV0gIEZsaWNrLCBKLiwgIkRlZmluaXRpb25zIG9mIE1hbmFnZWQgT2JqZWN0cyBmb3IgdGhlCiAg ICAgICAgICAgICAgRXRoZXJuZXQtbGlrZSBJbnRlcmZhY2UgVHlwZXMiLCBSRkMgMzYzNSwgU2Vw dGVtYmVyIDIwMDMuCgogICBbUkZDMzYzNl0gIEZsaWNrLCBKLiwgIkRlZmluaXRpb25zIG9mIE1h bmFnZWQgT2JqZWN0cyBmb3IgSUVFRSA4MDIuMwogICAgICAgICAgICAgIE1lZGl1bSBBdHRhY2ht ZW50IFVuaXRzIChNQVVzKSIsIFJGQyAzNjM2LCBTZXB0ZW1iZXIgMjAwMy4KCjguMi4gIEluZm9y bWF0aXZlIFJlZmVyZW5jZXMKCiAgIFtJLUQuaWV0Zi1odWJtaWItZWZtLW1pYl0KICAgICAgICAg ICAgICBTcXVpcmUsIE0uLCAiRXRoZXJuZXQgaW4gdGhlIEZpcnN0IE1pbGUgKEVGTSkgQ29tbW9u IE1JQiIsCgoKCktoZXJtb3NoICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAxNCwgMjAw NiAgICAgICAgICAgICAgIFtQYWdlIDczXQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICBNYW5h Z2VkIE9iamVjdHMgb2YgRVBPTiAgICAgICAgICAgRmVicnVhcnkgMjAwNgoKCiAgICAgICAgICAg ICAgZHJhZnQtc3F1aXJlLWh1Ym1pYi1lZm0tbWliLTAyICh3b3JrIGluIHByb2dyZXNzKSwKICAg ICAgICAgICAgICBEZWNlbWJlciAyMDA0LgoKICAgW1JGQzE1MjVdICBEZWNrZXIsIEUuLCBNY0Ns b2docmllLCBLLiwgTGFuZ2lsbGUsIFAuLCBhbmQgQS4KICAgICAgICAgICAgICBSaWpzaW5naGFu aSwgIkRlZmluaXRpb25zIG9mIE1hbmFnZWQgT2JqZWN0cyBmb3IgU291cmNlCiAgICAgICAgICAg ICAgUm91dGluZyBCcmlkZ2VzIiwgUkZDIDE1MjUsIFNlcHRlbWJlciAxOTkzLgoKICAgW1JGQzIx MTldICBCcmFkbmVyLCBTLiwgIktleSB3b3JkcyBmb3IgdXNlIGluIFJGQ3MgdG8gSW5kaWNhdGUK ICAgICAgICAgICAgICBSZXF1aXJlbWVudCBMZXZlbHMiLCBCQ1AgMTQsIFJGQyAyMTE5LCBNYXJj aCAxOTk3LgoKICAgW1JGQzM0MTBdICBDYXNlLCBKLiwgTXVuZHksIFIuLCBQYXJ0YWluLCBELiwg YW5kIEIuIFN0ZXdhcnQsCiAgICAgICAgICAgICAgIkludHJvZHVjdGlvbiBhbmQgQXBwbGljYWJp bGl0eSBTdGF0ZW1lbnRzIGZvciBJbnRlcm5ldC0KICAgICAgICAgICAgICBTdGFuZGFyZCBNYW5h Z2VtZW50IEZyYW1ld29yayIsIFJGQyAzNDEwLCBEZWNlbWJlciAyMDAyLgoKICAgW1JGQzQxODhd ICBOb3JzZXRoLCBLLiBhbmQgRS4gQmVsbCwgIkRlZmluaXRpb25zIG9mIE1hbmFnZWQgT2JqZWN0 cwogICAgICAgICAgICAgIGZvciBCcmlkZ2VzIiwgUkZDIDQxODgsIFNlcHRlbWJlciAyMDA1LgoK CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCktoZXJtb3NoICAgICAgICAgICAgICAg ICBFeHBpcmVzIEF1Z3VzdCAxNCwgMjAwNiAgICAgICAgICAgICAgIFtQYWdlIDc0XQoMCkludGVy bmV0LURyYWZ0ICAgICAgICAgICBNYW5hZ2VkIE9iamVjdHMgb2YgRVBPTiAgICAgICAgICAgRmVi cnVhcnkgMjAwNgoKCkF1dGhvcidzIEFkZHJlc3MKCiAgIExpb3IgS2hlcm1vc2gKICAgUGFzc2F2 ZSBUZWNobm9sb2dpZXMKICAgS29oYXYgSGVydHplbGlhIGJsZGcsCiAgIDQgSGFzYWRuYW90IFN0 LiwKICAgSGVydHpsaXlhIFBpdHVhY2gsICA0NjEyMAogICBJU1JBRUwKCiAgIFBob25lOiArOTcy LTktOTYyODAwMCBFeHQ6IDMwMgogICBGYXg6ICAgKzk3Mi05LTk2MjgwMDEKICAgRW1haWw6IGxp b3Iua2hlcm1vc2hAcGFzc2F2ZS5jb20KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK CgoKCgoKS2hlcm1vc2ggICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDE0LCAyMDA2ICAg ICAgICAgICAgICAgW1BhZ2UgNzVdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgIE1hbmFnZWQg T2JqZWN0cyBvZiBFUE9OICAgICAgICAgICBGZWJydWFyeSAyMDA2CgoKSW50ZWxsZWN0dWFsIFBy b3BlcnR5IFN0YXRlbWVudAoKICAgVGhlIElFVEYgdGFrZXMgbm8gcG9zaXRpb24gcmVnYXJkaW5n IHRoZSB2YWxpZGl0eSBvciBzY29wZSBvZiBhbnkKICAgSW50ZWxsZWN0dWFsIFByb3BlcnR5IFJp Z2h0cyBvciBvdGhlciByaWdodHMgdGhhdCBtaWdodCBiZSBjbGFpbWVkIHRvCiAgIHBlcnRhaW4g dG8gdGhlIGltcGxlbWVudGF0aW9uIG9yIHVzZSBvZiB0aGUgdGVjaG5vbG9neSBkZXNjcmliZWQg aW4KICAgdGhpcyBkb2N1bWVudCBvciB0aGUgZXh0ZW50IHRvIHdoaWNoIGFueSBsaWNlbnNlIHVu ZGVyIHN1Y2ggcmlnaHRzCiAgIG1pZ2h0IG9yIG1pZ2h0IG5vdCBiZSBhdmFpbGFibGU7IG5vciBk b2VzIGl0IHJlcHJlc2VudCB0aGF0IGl0IGhhcwogICBtYWRlIGFueSBpbmRlcGVuZGVudCBlZmZv cnQgdG8gaWRlbnRpZnkgYW55IHN1Y2ggcmlnaHRzLiAgSW5mb3JtYXRpb24KICAgb24gdGhlIHBy b2NlZHVyZXMgd2l0aCByZXNwZWN0IHRvIHJpZ2h0cyBpbiBSRkMgZG9jdW1lbnRzIGNhbiBiZQog ICBmb3VuZCBpbiBCQ1AgNzggYW5kIEJDUCA3OS4KCiAgIENvcGllcyBvZiBJUFIgZGlzY2xvc3Vy ZXMgbWFkZSB0byB0aGUgSUVURiBTZWNyZXRhcmlhdCBhbmQgYW55CiAgIGFzc3VyYW5jZXMgb2Yg bGljZW5zZXMgdG8gYmUgbWFkZSBhdmFpbGFibGUsIG9yIHRoZSByZXN1bHQgb2YgYW4KICAgYXR0 ZW1wdCBtYWRlIHRvIG9idGFpbiBhIGdlbmVyYWwgbGljZW5zZSBvciBwZXJtaXNzaW9uIGZvciB0 aGUgdXNlIG9mCiAgIHN1Y2ggcHJvcHJpZXRhcnkgcmlnaHRzIGJ5IGltcGxlbWVudGVycyBvciB1 c2VycyBvZiB0aGlzCiAgIHNwZWNpZmljYXRpb24gY2FuIGJlIG9idGFpbmVkIGZyb20gdGhlIElF VEYgb24tbGluZSBJUFIgcmVwb3NpdG9yeSBhdAogICBodHRwOi8vd3d3LmlldGYub3JnL2lwci4K CiAgIFRoZSBJRVRGIGludml0ZXMgYW55IGludGVyZXN0ZWQgcGFydHkgdG8gYnJpbmcgdG8gaXRz IGF0dGVudGlvbiBhbnkKICAgY29weXJpZ2h0cywgcGF0ZW50cyBvciBwYXRlbnQgYXBwbGljYXRp b25zLCBvciBvdGhlciBwcm9wcmlldGFyeQogICByaWdodHMgdGhhdCBtYXkgY292ZXIgdGVjaG5v bG9neSB0aGF0IG1heSBiZSByZXF1aXJlZCB0byBpbXBsZW1lbnQKICAgdGhpcyBzdGFuZGFyZC4g IFBsZWFzZSBhZGRyZXNzIHRoZSBpbmZvcm1hdGlvbiB0byB0aGUgSUVURiBhdAogICBpZXRmLWlw ckBpZXRmLm9yZy4KCgpEaXNjbGFpbWVyIG9mIFZhbGlkaXR5CgogICBUaGlzIGRvY3VtZW50IGFu ZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkIGhlcmVpbiBhcmUgcHJvdmlkZWQgb24gYW4KICAg IkFTIElTIiBiYXNpcyBhbmQgVEhFIENPTlRSSUJVVE9SLCBUSEUgT1JHQU5JWkFUSU9OIEhFL1NI RSBSRVBSRVNFTlRTCiAgIE9SIElTIFNQT05TT1JFRCBCWSAoSUYgQU5ZKSwgVEhFIElOVEVSTkVU IFNPQ0lFVFkgQU5EIFRIRSBJTlRFUk5FVAogICBFTkdJTkVFUklORyBUQVNLIEZPUkNFIERJU0NM QUlNIEFMTCBXQVJSQU5USUVTLCBFWFBSRVNTIE9SIElNUExJRUQsCiAgIElOQ0xVRElORyBCVVQg Tk9UIExJTUlURUQgVE8gQU5ZIFdBUlJBTlRZIFRIQVQgVEhFIFVTRSBPRiBUSEUKICAgSU5GT1JN QVRJT04gSEVSRUlOIFdJTEwgTk9UIElORlJJTkdFIEFOWSBSSUdIVFMgT1IgQU5ZIElNUExJRUQK ICAgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgT1IgRklUTkVTUyBGT1IgQSBQQVJUSUNV TEFSIFBVUlBPU0UuCgoKQ29weXJpZ2h0IFN0YXRlbWVudAoKICAgQ29weXJpZ2h0IChDKSBUaGUg SW50ZXJuZXQgU29jaWV0eSAoMjAwNikuICBUaGlzIGRvY3VtZW50IGlzIHN1YmplY3QKICAgdG8g dGhlIHJpZ2h0cywgbGljZW5zZXMgYW5kIHJlc3RyaWN0aW9ucyBjb250YWluZWQgaW4gQkNQIDc4 LCBhbmQKICAgZXhjZXB0IGFzIHNldCBmb3J0aCB0aGVyZWluLCB0aGUgYXV0aG9ycyByZXRhaW4g YWxsIHRoZWlyIHJpZ2h0cy4KCgpBY2tub3dsZWRnbWVudAoKICAgRnVuZGluZyBmb3IgdGhlIFJG QyBFZGl0b3IgZnVuY3Rpb24gaXMgY3VycmVudGx5IHByb3ZpZGVkIGJ5IHRoZQogICBJbnRlcm5l dCBTb2NpZXR5LgoKCgoKS2hlcm1vc2ggICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDE0 LCAyMDA2ICAgICAgICAgICAgICAgW1BhZ2UgNzZdCgwKCg== ------_=_NextPart_001_01C63073.3D5AF6E6 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib ------_=_NextPart_001_01C63073.3D5AF6E6-- From hubmib-bounces@ietf.org Wed Feb 15 10:50:51 2006 Received: from localhost.cnri.reston.va.us ([127.0.0.1] helo=megatron.ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1F9Ovb-0002Xh-69; Wed, 15 Feb 2006 10:50:51 -0500 Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1F9Ov2-0002Jb-E1; Wed, 15 Feb 2006 10:50:16 -0500 Received: from ietf-mx.ietf.org (ietf-mx [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id KAA20087; Wed, 15 Feb 2006 10:48:29 -0500 (EST) Received: from pine.neustar.com ([209.173.57.70]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1F9P90-0007Pr-P1; Wed, 15 Feb 2006 11:04:44 -0500 Received: from stiedprstage1.ietf.org (stiedprstage1.va.neustar.com [10.31.47.10]) by pine.neustar.com (8.12.8/8.12.8) with ESMTP id k1FFo2vP003844 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Wed, 15 Feb 2006 15:50:02 GMT Received: from ietf by stiedprstage1.ietf.org with local (Exim 4.43) id 1F9Ouo-0004uW-B6; Wed, 15 Feb 2006 10:50:02 -0500 Content-Type: Multipart/Mixed; Boundary="NextPart" Mime-Version: 1.0 To: i-d-announce@ietf.org From: Internet-Drafts@ietf.org Message-Id: Date: Wed, 15 Feb 2006 10:50:02 -0500 X-Spam-Score: 0.4 (/) X-Scan-Signature: 8de5f93cb2b4e3bee75302e9eacc33db Cc: hubmib@ietf.org Subject: [Hubmib] I-D ACTION:draft-ietf-hubmib-efm-epon-mib-04.txt X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: hubmib-bounces@ietf.org Errors-To: hubmib-bounces@ietf.org --NextPart A New Internet-Draft is available from the on-line Internet-Drafts directories. This draft is a work item of the Ethernet Interfaces and Hub MIB Working Group of the IETF. Title : Managed Objects of EPON Author(s) : L. Khermosh Filename : draft-ietf-hubmib-efm-epon-mib-04.txt Pages : 76 Date : 2006-2-13 This document defines a portion of the Management Information Base (MIB) for use with network management protocols in TCP/IP based Internets. In particular, it defines objects for managing for generic point to multi-point (P2MP) networks, and in specifically Ethernet Passive Optical Networks (EPON) interfaces, defined in IEEE Std 802.3ah-2004, which amends IEEE Std 802.3-2002. For a detailed overview of the documents that describe the current Internet-Standard Management Framework, please refer to section 7 of RFC 3410 [RFC3410]. Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. MIB objects are generally accessed through the Simple Network Management Protocol (SNMP). Objects in the MIB are defined using the mechanisms defined in the Structure of Management Information (SMI). This memo specifies a MIB module that is compliant to the SMIv2, which is described in STD 58, RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580 [RFC2580]. A URL for this Internet-Draft is: http://www.ietf.org/internet-drafts/draft-ietf-hubmib-efm-epon-mib-04.txt To remove yourself from the I-D Announcement list, send a message to i-d-announce-request@ietf.org with the word unsubscribe in the body of the message. You can also visit https://www1.ietf.org/mailman/listinfo/I-D-announce to change your subscription settings. Internet-Drafts are also available by anonymous FTP. Login with the username "anonymous" and a password of your e-mail address. After logging in, type "cd internet-drafts" and then "get draft-ietf-hubmib-efm-epon-mib-04.txt". A list of Internet-Drafts directories can be found in http://www.ietf.org/shadow.html or ftp://ftp.ietf.org/ietf/1shadow-sites.txt Internet-Drafts can also be obtained by e-mail. Send a message to: mailserv@ietf.org. In the body type: "FILE /internet-drafts/draft-ietf-hubmib-efm-epon-mib-04.txt". NOTE: The mail server at ietf.org can return the document in MIME-encoded form by using the "mpack" utility. To use this feature, insert the command "ENCODING mime" before the "FILE" command. To decode the response(s), you will need "munpack" or a MIME-compliant mail reader. Different MIME-compliant mail readers exhibit different behavior, especially when dealing with "multipart" MIME messages (i.e. documents which have been split up into multiple messages), so check your local documentation on how to manipulate these messages. Below is the data which will enable a MIME compliant mail reader implementation to automatically retrieve the ASCII version of the Internet-Draft. --NextPart Content-Type: Multipart/Alternative; Boundary="OtherAccess" --OtherAccess Content-Type: Message/External-body; access-type="mail-server"; server="mailserv@ietf.org" Content-Type: text/plain Content-ID: <2006-2-13155455.I-D@ietf.org> ENCODING mime FILE /internet-drafts/draft-ietf-hubmib-efm-epon-mib-04.txt --OtherAccess Content-Type: Message/External-body; name="draft-ietf-hubmib-efm-epon-mib-04.txt"; site="ftp.ietf.org"; access-type="anon-ftp"; directory="internet-drafts" Content-Type: text/plain Content-ID: <2006-2-13155455.I-D@ietf.org> --OtherAccess-- --NextPart Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib --NextPart-- From hubmib-bounces@ietf.org Thu Feb 16 17:42:38 2006 Received: from localhost.cnri.reston.va.us ([127.0.0.1] helo=megatron.ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1F9rpe-0007qL-6W; Thu, 16 Feb 2006 17:42:38 -0500 Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1F9kEj-00036S-1n for hubmib@megatron.ietf.org; Thu, 16 Feb 2006 09:36:01 -0500 Received: from ietf-mx.ietf.org (ietf-mx [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id JAA28284 for ; Thu, 16 Feb 2006 09:34:12 -0500 (EST) Received: from mail.future.futsoft.com ([202.56.251.200]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1F9kSs-0007gr-P8 for hubmib@ietf.org; Thu, 16 Feb 2006 09:50:44 -0500 Received: from kailash.future.futsoft.com (unverified [10.203.112.3]) by mail.future.futsoft.com (Content Technologies SMTPRS 4.3.12) with ESMTP id for ; Thu, 16 Feb 2006 20:04:13 +0530 Received: from geethak (geethak.future.futsoft.com [10.203.113.67]) by kailash.future.futsoft.com (8.12.8/8.12.8) with SMTP id k1GEXrOW017717; Thu, 16 Feb 2006 20:03:57 +0530 From: "Geetha K" To: Date: Thu, 16 Feb 2006 20:05:19 +0530 Message-ID: <008c01c63306$369b3700$4371cb0a@che.flextronics.com> MIME-Version: 1.0 X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook CWS, Build 9.0.2416 (9.0.2911.0) X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 Importance: Normal X-Spam-Score: 0.6 (/) X-Scan-Signature: bacfc6c7290e34d410f9bc22b825ce96 X-Mailman-Approved-At: Thu, 16 Feb 2006 17:42:36 -0500 Cc: joanj@future.futsoft.com, aubunc@future.futsoft.com, shrivathsv@future.futsoft.com, arunka@future.futsoft.com Subject: [Hubmib] IEEE 802.3ah - EOAM - clause 57 - need clarification on the statements in section 57.2.11.4 & 57.2.11.6 X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: geethak@future.futsoft.com List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Content-Type: multipart/mixed; boundary="===============0442614372==" Sender: hubmib-bounces@ietf.org Errors-To: hubmib-bounces@ietf.org This is a multi-part message in MIME format. --===============0442614372== Content-Type: multipart/alternative; boundary="----=_NextPart_000_008D_01C63334.50537300" This is a multi-part message in MIME format. ------=_NextPart_000_008D_01C63334.50537300 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Section 57.2.11.6: ============= To ensure correct operation, the OAM client needs to, within one second of receiving a Loopback Control OAMPDU with the Enable OAM Remote Loopback command: a) Set its local_par_action parameter to LB and the local_mux_action to DISCARD via OAM_CTL.request service primitive. b) Send an Information OAMPDU. Section 57.2.11.4: ============= Since Information OAMPDUs are continually sent to keep the OAM Discovery process from re-starting, the occasional loss of an Information OAMPDU should not adversely impact the operation of OAM remote loopback mode. The above 2 statements are conflicting: - first statement insists on sending OAMPDU within one second to ensure correct operation - second statement says that loss os Information OAMPDU should not adversely impact the operation of OAM ermote loopback mode. In Remote loopback mode, what will happen if the remote peer is not responding with an information OAMPDU within a second after sending a remote loopback command? This is critical as the Multiplexer at the local DTE will be put in Discard state until an information OAMPDU is received and all the frames from higher layers will be dropped. Clarification on this will be highly appreciated. Thank you. Regards, Geetha. *************************************************************************** This message is proprietary to Future Software Limited (FSL) and is intended solely for the use of the individual to whom it is addressed. It may contain privileged or confidential information and should not be circulated or used for any purpose other than for what it is intended. If you have received this message in error, please notify the originator immediately. If you are not the intended recipient, you are notified that you are strictly prohibited from using, copying, altering, or disclosing the contents of this message. FSL accepts no responsibility for loss or damage arising from the use of the information transmitted by this email including damage from virus. *************************************************************************** ------=_NextPart_000_008D_01C63334.50537300 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
 
Section= 57.2.11.6:
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
To ensure= correct=20 operation, the OAM client needs to, within one second of
receiving= a Loopback=20 Control OAMPDU with the Enable OAM Remote Loopback
command:
a) Set it= s=20 local_par_action parameter to LB and the local_mux_action to DISCARD=20
    via OAM_CTL.request serv= ice=20 primitive.
b) Send a= n=20 Information OAMPDU. 
 
 
Section= 57.2.11.4:
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Since Inf= ormation=20 OAMPDUs are continually sent to keep the OAM Discovery= process
from re-s= tarting,=20 the occasional loss of an Information OAMPDU should not adversely=20
impact th= e operation=20 of OAM remote loopback mode.
 
 
The above= 2=20 statements are conflicting: 
- first s= tatement=20 insists on sending OAMPDU within one second to ensure correct opera= tion=20
- se= cond=20 statement says that loss os Information OAMPDU should not= adversely impact
   the operation of OAM ermote lo= opback=20 mode.
 
 
In Remote= loopback=20 mode, what will happen if the remote peer is not responding with=20
an inform= ation=20 OAMPDU within a second after sending a remote loopback command?=20
This is c= ritical as=20 the Multiplexer at the local DTE will be put in Discard state until an=20
i<= /FONT>nformation OAMPDU is= received=20 and all the frames from higher layers will be dropped.
 
Clarifica= tion on=20 this will be highly appreciated.
 
 
Thank=20 you.
 
Regards,
Geetha.
 


***************************************************************************=
This message is proprietary to Future Software Limited (FSL)
and is intended solely for the use of the individual to whom it
is addressed. It may contain privileged or confidential information
and should not be circulated or used for any purpose other than for
what it is intended.

If you have received this message in error, please notify the
originator immediately. If you are not the intended recipient,
you are notified that you are strictly prohibited from using,
copying, altering, or disclosing the contents of this message.
FSL accepts no responsibility for loss or damage arising from
the use of the information transmitted by this email including
damage from virus.
***************************************************************************=
------=_NextPart_000_008D_01C63334.50537300-- --===============0442614372== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib --===============0442614372==-- From hubmib-bounces@ietf.org Fri Feb 17 09:55:32 2006 Received: from localhost.cnri.reston.va.us ([127.0.0.1] helo=megatron.ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1FA71A-0004HO-Ta; Fri, 17 Feb 2006 09:55:32 -0500 Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1FA6vE-0001Br-5M for hubmib@megatron.ietf.org; Fri, 17 Feb 2006 09:49:24 -0500 Received: from ietf-mx.ietf.org (ietf-mx [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id JAA07028 for ; Fri, 17 Feb 2006 09:14:05 -0500 (EST) Received: from web32710.mail.mud.yahoo.com ([68.142.207.254]) by ietf-mx.ietf.org with smtp (Exim 4.43) id 1F9wMX-0006c2-4t for hubmib@ietf.org; Thu, 16 Feb 2006 22:32:57 -0500 Received: (qmail 13317 invoked by uid 60001); 17 Feb 2006 03:17:54 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Message-ID:Received:Date:From:Subject:To:Cc:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding; b=sFmInciq21sz8kHiSiDiqnQqCT2okcDl5tutl6WCL4E4YBcojeF4qjKXTXAT6zAyX6aSQ69IwBpfZGpItuappaX1v9jStY5sdFQDBFE4bSpXXnqoC5E3ZhPudNrsS64CLi3jjCIu9aMex8OEJQ9iAV0/EgEJ5oGmpjEc56kwPGk= ; Message-ID: <20060217031754.13315.qmail@web32710.mail.mud.yahoo.com> Received: from [64.7.149.146] by web32710.mail.mud.yahoo.com via HTTP; Thu, 16 Feb 2006 22:17:54 EST Date: Thu, 16 Feb 2006 22:17:54 -0500 (EST) From: Dominique bastien Subject: Re: [Hubmib] IEEE 802.3ah - EOAM - clause 57 - need clarification on the statements in section 57.2.11.4 & 57.2.11.6 To: geethak@future.futsoft.com, hubmib@ietf.org In-Reply-To: <008c01c63306$369b3700$4371cb0a@che.flextronics.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.6 (/) X-Scan-Signature: 5d7a7e767f20255fce80fa0b77fb2433 Content-Transfer-Encoding: 8bit Cc: joanj@future.futsoft.com, aubunc@future.futsoft.com, shrivathsv@future.futsoft.com, arunka@future.futsoft.com X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: hubmib-bounces@ietf.org Errors-To: hubmib-bounces@ietf.org Q: In Remote loopback mode, what will happen if the remote peer is not responding with an information OAMPDU within a second after sending a remote loopback command? A: Few thing can happen, the local peer can resend the loopback command or wait an other second. In a network in trouble you maybe need to send few loopback command before receiving the Information TLV with the State octet set properly. When the state field (local_par_action parameter to LB and the local_mux_action to DISCARD) show you that you can begin to send test traffic, the test can begin. It's only a matter of resending message versus waiting for response. Dominique --- Geetha K wrote: > > Section 57.2.11.6: > ============= > To ensure correct operation, the OAM client needs > to, within one second of > receiving a Loopback Control OAMPDU with the Enable > OAM Remote Loopback > command: > a) Set its local_par_action parameter to LB and the > local_mux_action to > DISCARD > via OAM_CTL.request service primitive. > b) Send an Information OAMPDU. > > > Section 57.2.11.4: > ============= > Since Information OAMPDUs are continually sent to > keep the OAM Discovery > process > from re-starting, the occasional loss of an > Information OAMPDU should not > adversely > impact the operation of OAM remote loopback mode. > > > The above 2 statements are conflicting: > - first statement insists on sending OAMPDU within > one second to ensure > correct operation > - second statement says that loss os Information > OAMPDU should not adversely > impact > the operation of OAM ermote loopback mode. > > > In Remote loopback mode, what will happen if the > remote peer is not > responding with > an information OAMPDU within a second after sending > a remote loopback > command? > This is critical as the Multiplexer at the local DTE > will be put in Discard > state until an > information OAMPDU is received and all the frames > from higher layers will be > dropped. > > Clarification on this will be highly appreciated. > > > Thank you. > > Regards, > Geetha. > > > > *************************************************************************** > This message is proprietary to Future Software > Limited (FSL) > and is intended solely for the use of the individual > to whom it > is addressed. It may contain privileged or > confidential information > and should not be circulated or used for any purpose > other than for > what it is intended. > > If you have received this message in error, please > notify the > originator immediately. If you are not the intended > recipient, > you are notified that you are strictly prohibited > from using, > copying, altering, or disclosing the contents of > this message. > FSL accepts no responsibility for loss or damage > arising from > the use of the information transmitted by this email > including > damage from virus. > *************************************************************************** > > > _______________________________________________ > Hubmib mailing list > Hubmib@ietf.org > https://www1.ietf.org/mailman/listinfo/hubmib > __________________________________________________________ Find your next car at http://autos.yahoo.ca _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib From hubmib-bounces@ietf.org Fri Feb 17 09:56:19 2006 Received: from localhost.cnri.reston.va.us ([127.0.0.1] helo=megatron.ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1FA71v-0004iH-7j; Fri, 17 Feb 2006 09:56:19 -0500 Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1FA71r-0004ai-En for hubmib@megatron.ietf.org; Fri, 17 Feb 2006 09:56:15 -0500 Received: from ietf-mx.ietf.org (ietf-mx [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id JAA02574 for ; Fri, 17 Feb 2006 09:03:18 -0500 (EST) Received: from co300216-ier2.net.avaya.com ([198.152.13.103]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1FA0Di-0008Nm-7n for hubmib@ietf.org; Fri, 17 Feb 2006 02:40:07 -0500 Received: from tierw.net.avaya.com (h198-152-13-100.avaya.com [198.152.13.100]) by co300216-ier2.net.avaya.com (Switch-3.1.7/Switch-3.1.7) with ESMTP id k1H6LUMs017375 for ; Fri, 17 Feb 2006 01:21:30 -0500 Received: from IS0004AVEXU1.global.avaya.com (h135-64-105-51.avaya.com [135.64.105.51]) by tierw.net.avaya.com (Switch-3.1.2/Switch-3.1.0) with ESMTP id k1H79UYj019725 for ; Fri, 17 Feb 2006 02:09:31 -0500 (EST) X-MimeOLE: Produced By Microsoft Exchange V6.0.6603.0 Content-class: urn:content-classes:message MIME-Version: 1.0 Subject: RE: [Hubmib] IEEE 802.3ah - EOAM - clause 57 - need clarification on the statements in section 57.2.11.4 & 57.2.11.6 Date: Fri, 17 Feb 2006 09:25:03 +0200 Message-ID: Thread-Topic: [Hubmib] IEEE 802.3ah - EOAM - clause 57 - need clarification on the statements in section 57.2.11.4 & 57.2.11.6 Thread-Index: AcYzSmoyQP/i0MGNQCe4SKhdtAVh/AASIu0Q From: "Romascanu, Dan \(Dan\)" To: , X-Scanner: InterScan AntiVirus for Sendmail X-Spam-Score: 0.7 (/) X-Scan-Signature: 2b3349545af520ba354ccdc9e1a03fc1 Cc: joanj@future.futsoft.com, aubunc@future.futsoft.com, shrivathsv@future.futsoft.com, arunka@future.futsoft.com X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Content-Type: multipart/mixed; boundary="===============2092551833==" Sender: hubmib-bounces@ietf.org Errors-To: hubmib-bounces@ietf.org This is a multi-part message in MIME format. --===============2092551833== Content-class: urn:content-classes:message Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C63393.44DB2769" This is a multi-part message in MIME format. ------_=_NextPart_001_01C63393.44DB2769 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Geetha, =20 I believe that you are asking questions that are related to the IEEE 802.3 standards, and not to the Ethernet MIB work that is being done in the IETF. I suggest that you address your clarification questions to the IEEE 802.3 Working Group.=20 =20 Best Regards, =20 Dan Romascanu hubmib WG Chair =20 =20 =20 =20 =20 _____ =20 From: hubmib-bounces@ietf.org [mailto:hubmib-bounces@ietf.org] On Behalf Of Geetha K Sent: Thursday, February 16, 2006 4:35 PM To: hubmib@ietf.org Cc: joanj@future.futsoft.com; aubunc@future.futsoft.com; shrivathsv@future.futsoft.com; arunka@future.futsoft.com Subject: [Hubmib] IEEE 802.3ah - EOAM - clause 57 - need clarification on the statements in section 57.2.11.4 & 57.2.11.6 =09 =09 =20 Section 57.2.11.6: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D To ensure correct operation, the OAM client needs to, within one second of=20 receiving a Loopback Control OAMPDU with the Enable OAM Remote Loopback=20 command: a) Set its local_par_action parameter to LB and the local_mux_action to DISCARD=20 via OAM_CTL.request service primitive. b) Send an Information OAMPDU. =20 =20 =20 =09 Section 57.2.11.4: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Since Information OAMPDUs are continually sent to keep the OAM Discovery process from re-starting, the occasional loss of an Information OAMPDU should not adversely=20 impact the operation of OAM remote loopback mode.=20 =20 =20 The above 2 statements are conflicting:=20 - first statement insists on sending OAMPDU within one second to ensure correct operation=20 - second statement says that loss os Information OAMPDU should not adversely impact=20 the operation of OAM ermote loopback mode. =20 =20 In Remote loopback mode, what will happen if the remote peer is not responding with=20 an information OAMPDU within a second after sending a remote loopback command?=20 This is critical as the Multiplexer at the local DTE will be put in Discard state until an=20 information OAMPDU is received and all the frames from higher layers will be dropped. =20 Clarification on this will be highly appreciated. =20 =20 Thank you. =20 Regards, Geetha. =20 =09 =09 =09 ************************************************************************ *** This message is proprietary to Future Software Limited (FSL) and is intended solely for the use of the individual to whom it is addressed. It may contain privileged or confidential information and should not be circulated or used for any purpose other than for what it is intended. =09 If you have received this message in error, please notify the originator immediately. If you are not the intended recipient, you are notified that you are strictly prohibited from using, copying, altering, or disclosing the contents of this message. FSL accepts no responsibility for loss or damage arising from the use of the information transmitted by this email including damage from virus. =09 ************************************************************************ *** =09 ------_=_NextPart_001_01C63393.44DB2769 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable
Geetha,
 
I believe that you are asking questions that are related to the = IEEE=20 802.3 standards, and not to the Ethernet MIB work that is being done in = the=20 IETF. I suggest that you address your clarification questions to the = IEEE 802.3=20 Working Group.
 
Best Regards,
 
Dan Romascanu
hubmib WG Chair
 
 
 
 
 


From: hubmib-bounces@ietf.org=20 [mailto:hubmib-bounces@ietf.org] On Behalf Of Geetha = K
Sent:=20 Thursday, February 16, 2006 4:35 PM
To:=20 hubmib@ietf.org
Cc: joanj@future.futsoft.com;=20 aubunc@future.futsoft.com; shrivathsv@future.futsoft.com;=20 arunka@future.futsoft.com
Subject: [Hubmib] IEEE 802.3ah - = EOAM -=20 clause 57 - need clarification on the statements in section 57.2.11.4 = &=20 57.2.11.6

 
Section=20 57.2.11.6:
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
To = ensure correct=20 operation, the OAM client needs to, within one second of =
receiving a=20 Loopback Control OAMPDU with the Enable OAM Remote Loopback=20
command:
a) = Set its=20 local_par_action parameter to LB and the local_mux_action to DISCARD=20
    via OAM_CTL.request = service=20 primitive.
b) = Send an=20 Information OAMPDU. 
 
 
Section=20 57.2.11.4:
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
Since Information=20 OAMPDUs are continually sent to keep the OAM = Discovery=20 process
from = re-starting,=20 the occasional loss of an Information OAMPDU should not adversely=20
impact the=20 operation of OAM remote loopback mode.
 
 =
The = above 2=20 statements are conflicting: 
- = first statement=20 insists on sending OAMPDU within one second to ensure correct = operation=20
- second=20 statement says that loss os Information OAMPDU should = not=20 adversely impact
   the operation of OAM = ermote=20 loopback mode.
 
 
In = Remote loopback=20 mode, what will happen if the remote peer is not responding with=20
an = information=20 OAMPDU within a second after sending a remote loopback command?=20
This = is critical=20 as the Multiplexer at the local DTE will be put in Discard state until = an=20
information OAMPDU is received and all the = frames from=20 higher layers will be dropped.
 
Clarification on=20 this will be highly appreciated.
 
 
Thank=20 you.
 
Regards,
Geetha.
 
=

********************************************************= *******************
This=20 message is proprietary to Future Software Limited (FSL)
and is = intended=20 solely for the use of the individual to whom it
is addressed. It = may=20 contain privileged or confidential information
and should not be = circulated=20 or used for any purpose other than for
what it is = intended.

If you=20 have received this message in error, please notify the
originator=20 immediately. If you are not the intended recipient,
you are = notified that=20 you are strictly prohibited from using,
copying, altering, or = disclosing=20 the contents of this message.
FSL accepts no responsibility for = loss or=20 damage arising from
the use of the information transmitted by this = email=20 including
damage from=20 = virus.
***************************************************************= ************
------_=_NextPart_001_01C63393.44DB2769-- --===============2092551833== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib --===============2092551833==-- From hubmib-bounces@ietf.org Fri Feb 17 10:42:59 2006 Received: from localhost.cnri.reston.va.us ([127.0.0.1] helo=megatron.ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1FA7l5-00055q-2E; Fri, 17 Feb 2006 10:42:59 -0500 Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1FA7l4-00054I-2t for hubmib@megatron.ietf.org; Fri, 17 Feb 2006 10:42:58 -0500 Received: from ietf-mx.ietf.org (ietf-mx [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id KAA28384 for ; Fri, 17 Feb 2006 10:41:08 -0500 (EST) Received: from co300216-ier2.net.avaya.com ([198.152.13.103]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1FA7zQ-0008Lz-MI for hubmib@ietf.org; Fri, 17 Feb 2006 10:57:53 -0500 Received: from tierw.net.avaya.com (h198-152-13-100.avaya.com [198.152.13.100]) by co300216-ier2.net.avaya.com (Switch-3.1.7/Switch-3.1.7) with ESMTP id k1HEdDZC013818 for ; Fri, 17 Feb 2006 09:39:13 -0500 Received: from IS0004AVEXU1.global.avaya.com (h135-64-105-51.avaya.com [135.64.105.51]) by tierw.net.avaya.com (Switch-3.1.2/Switch-3.1.0) with ESMTP id k1HFRDYj018097 for ; Fri, 17 Feb 2006 10:27:14 -0500 (EST) X-MimeOLE: Produced By Microsoft Exchange V6.0.6603.0 Content-class: urn:content-classes:message MIME-Version: 1.0 Subject: RE: [Hubmib] IEEE 802.3ah - EOAM - clause 57 - need clarification on the statements in section 57.2.11.4 & 57.2.11.6 Date: Fri, 17 Feb 2006 17:42:46 +0200 Message-ID: Thread-Topic: [Hubmib] IEEE 802.3ah - EOAM - clause 57 - need clarification on the statements in section 57.2.11.4 & 57.2.11.6 Thread-Index: AcYznWlOm3+3E5+WEdqL5gDQCW/HIgAOt+iA From: "Romascanu, Dan \(Dan\)" To: , X-Scanner: InterScan AntiVirus for Sendmail X-Spam-Score: 0.7 (/) X-Scan-Signature: 10e6cb90de4fe268e7150fb24857273b Cc: joanj@future.futsoft.com, aubunc@future.futsoft.com, shrivathsv@future.futsoft.com, arunka@future.futsoft.com X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Content-Type: multipart/mixed; boundary="===============2008657498==" Sender: hubmib-bounces@ietf.org Errors-To: hubmib-bounces@ietf.org This is a multi-part message in MIME format. --===============2008657498== Content-class: urn:content-classes:message Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C633D8.CCDB4A0E" This is a multi-part message in MIME format. ------_=_NextPart_001_01C633D8.CCDB4A0E Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Geetha, =20 draft-ietf-hubmib-efm-mib-03.txt is not expired. As it is under review by the IESG its validity is extended automatically. A MIB Doctor review was performed by Dave Perkins, and the recommendations were made available on the list - please see the archives. The editor is preparing a new version to answer the comments in the MIB Doctor review.=20 =20 Regards, =20 Dan =20 =20 =20 =20 _____ =20 From: Geetha K [mailto:geethak@future.futsoft.com]=20 Sent: Friday, February 17, 2006 10:38 AM To: Romascanu, Dan (Dan); hubmib@ietf.org Cc: joanj@future.futsoft.com; aubunc@future.futsoft.com; shrivathsv@future.futsoft.com; arunka@future.futsoft.com Subject: RE: [Hubmib] IEEE 802.3ah - EOAM - clause 57 - need clarification on the statements in section 57.2.11.4 & 57.2.11.6 =09 =09 Hello Dan, =20 Thank you very much for response. I will forward my questions to IEEE 802.3 WG. =20 I have come across the draft mib "draft-ietf-hubmib-efm-mib-03.txt" for=20 Ethernet OAM that expired on September, 2005.=20 =20 Is that MIB standardised (or) Are there any other new draft versions coming in? =20 Thank you in advance. =20 Best Regards, Geetha. -----Original Message----- From: Romascanu, Dan (Dan) [mailto:dromasca@avaya.com] Sent: Friday, 17 February 2006 12:55 PM To: geethak@future.futsoft.com; hubmib@ietf.org Cc: joanj@future.futsoft.com; aubunc@future.futsoft.com; shrivathsv@future.futsoft.com; arunka@future.futsoft.com Subject: RE: [Hubmib] IEEE 802.3ah - EOAM - clause 57 - need clarification on the statements in section 57.2.11.4 & 57.2.11.6 =09 =09 Geetha, =20 I believe that you are asking questions that are related to the IEEE 802.3 standards, and not to the Ethernet MIB work that is being done in the IETF. I suggest that you address your clarification questions to the IEEE 802.3 Working Group.=20 =20 Best Regards, =20 Dan Romascanu hubmib WG Chair =20 =20 =20 =20 =20 _____ =20 From: hubmib-bounces@ietf.org [mailto:hubmib-bounces@ietf.org] On Behalf Of Geetha K Sent: Thursday, February 16, 2006 4:35 PM To: hubmib@ietf.org Cc: joanj@future.futsoft.com; aubunc@future.futsoft.com; shrivathsv@future.futsoft.com; arunka@future.futsoft.com Subject: [Hubmib] IEEE 802.3ah - EOAM - clause 57 - need clarification on the statements in section 57.2.11.4 & 57.2.11.6 =09 =09 =20 Section 57.2.11.6: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D To ensure correct operation, the OAM client needs to, within one second of=20 receiving a Loopback Control OAMPDU with the Enable OAM Remote Loopback=20 command: a) Set its local_par_action parameter to LB and the local_mux_action to DISCARD=20 via OAM_CTL.request service primitive. b) Send an Information OAMPDU. =20 =20 =20 =09 Section 57.2.11.4: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Since Information OAMPDUs are continually sent to keep the OAM Discovery process from re-starting, the occasional loss of an Information OAMPDU should not adversely=20 impact the operation of OAM remote loopback mode.=20 =20 =20 The above 2 statements are conflicting:=20 - first statement insists on sending OAMPDU within one second to ensure correct operation=20 - second statement says that loss os Information OAMPDU should not adversely impact=20 the operation of OAM ermote loopback mode. =20 =20 In Remote loopback mode, what will happen if the remote peer is not responding with=20 an information OAMPDU within a second after sending a remote loopback command?=20 This is critical as the Multiplexer at the local DTE will be put in Discard state until an=20 information OAMPDU is received and all the frames from higher layers will be dropped. =20 Clarification on this will be highly appreciated. =20 =20 Thank you. =20 Regards, Geetha. =20 =09 =09 =09 ************************************************************************ *** This message is proprietary to Future Software Limited (FSL) and is intended solely for the use of the individual to whom it is addressed. It may contain privileged or confidential information and should not be circulated or used for any purpose other than for what it is intended. =09 ************************************************************************ *** This message is proprietary to Future Software Limited (FSL) and is intended solely for the use of the individual to whom it is addressed. It may contain privileged or confidential information and should not be circulated or used for any purpose other than for what it is intended. If you have received this message in error, please notify the originator immediately. If you are not the intended recipient, you are notified that you are strictly prohibited from using, copying, altering, or disclosing the contents of this message. FSL accepts no responsibility for loss or damage arising from the use of the information transmitted by this email including damage from virus. =09 ************************************************************************ *** ------_=_NextPart_001_01C633D8.CCDB4A0E Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable
Geetha,
 
draft-ietf-hubmib-efm-mib-03.txt is not expired. As it is under = review by=20 the IESG its validity is extended automatically. A MIB Doctor review was = performed by Dave Perkins, and the recommendations were made available = on the=20 list - please see the archives. The editor is preparing a new version to = answer the comments in the MIB Doctor review.=20
 
Regards,
 
Dan
 
 
 
 


From: Geetha K=20 [mailto:geethak@future.futsoft.com]
Sent: Friday, February = 17, 2006=20 10:38 AM
To: Romascanu, Dan (Dan); = hubmib@ietf.org
Cc:=20 joanj@future.futsoft.com; aubunc@future.futsoft.com;=20 shrivathsv@future.futsoft.com; = arunka@future.futsoft.com
Subject:=20 RE: [Hubmib] IEEE 802.3ah - EOAM - clause 57 - need clarification on = the=20 statements in section 57.2.11.4 & 57.2.11.6

Hello Dan,
 
Thank you very much for response. I will forward my questions = to IEEE=20 802.3 WG.
 
I=20 have come across the draft mib "draft-ietf-hubmib-efm-mib-03.txt" for
Ethernet OAM that expired on=20 September, 2005.
 
Is=20 that MIB standardised (or) Are there any other new draft versions = coming=20 in?
 
Thank you in advance.
 
Best=20 Regards,
Geetha.
-----Original Message-----
From: Romascanu, Dan = (Dan)=20 [mailto:dromasca@avaya.com]
Sent: Friday, 17 February 2006 = 12:55=20 PM
To: geethak@future.futsoft.com; = hubmib@ietf.org
Cc:=20 joanj@future.futsoft.com; aubunc@future.futsoft.com;=20 shrivathsv@future.futsoft.com; = arunka@future.futsoft.com
Subject:=20 RE: [Hubmib] IEEE 802.3ah - EOAM - clause 57 - need clarification on = the=20 statements in section 57.2.11.4 & 57.2.11.6

Geetha,
 
I believe that you are asking questions = that are=20 related to the IEEE 802.3 standards, and not to the Ethernet MIB = work that=20 is being done in the IETF. I suggest that you address your = clarification=20 questions to the IEEE 802.3 Working Group.=20
 
Best = Regards,
 
Dan = Romascanu
hubmib WG = Chair
 
 
 
 
 


From: hubmib-bounces@ietf.org=20 [mailto:hubmib-bounces@ietf.org] On Behalf Of Geetha=20 K
Sent: Thursday, February 16, 2006 4:35 = PM
To:=20 hubmib@ietf.org
Cc: joanj@future.futsoft.com;=20 aubunc@future.futsoft.com; shrivathsv@future.futsoft.com;=20 arunka@future.futsoft.com
Subject: [Hubmib] IEEE 802.3ah = - EOAM=20 - clause 57 - need clarification on the statements in section = 57.2.11.4=20 & 57.2.11.6

 
Section=20 57.2.11.6:
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
To ensure=20 correct operation, the OAM client needs to, within one second of=20
receiving a=20 Loopback Control OAMPDU with the Enable OAM Remote Loopback=20
command:
a) Set its=20 local_par_action parameter to LB and the local_mux_action to = DISCARD=20
    via = OAM_CTL.request=20 service primitive.
b) Send an=20 Information OAMPDU. 
 
 
Section=20 57.2.11.4:
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
Since=20 Information OAMPDUs are continually sent to keep the OAM = Discovery=20 process
from=20 re-starting, the occasional loss of an Information OAMPDU should = not=20 adversely
impact the=20 operation of OAM remote loopback mode.
 
 =
The above 2=20 statements are conflicting: 
- first=20 statement insists on sending OAMPDU within one second to ensure = correct=20 operation
- second=20 statement says that loss os Information OAMPDU = should not=20 adversely impact
   the operation of OAM = ermote=20 loopback mode.
 
 
In Remote=20 loopback mode, what will happen if the remote peer is not = responding with=20
an information=20 OAMPDU within a second after sending a remote loopback command?=20
This is=20 critical as the Multiplexer at the local DTE will be put in = Discard state=20 until an
information OAMPDU is received and all = the frames=20 from higher layers will be dropped.
 
Clarification=20 on this will be highly appreciated.
 
 
Thank=20 you.
 
Regards,
Geetha.
 
=

********************************************************= *******************
This=20 message is proprietary to Future Software Limited (FSL)
and is = intended=20 solely for the use of the individual to whom it
is addressed. = It may=20 contain privileged or confidential information
and should not = be=20 circulated or used for any purpose other than for
what it is=20 intended.
=
********************************************************************= *******
This message is proprietary to Future Software Limited = (FSL)
and is intended solely for the use of the individual to whom = it
is addressed. It may contain privileged or confidential = information
and should not be circulated or used for any purpose other than = for
what it is intended.
If you have received this message in error, please notify = the
originator immediately. If you are not the intended = recipient,
you are notified that you are strictly prohibited from = using,
copying, altering, or disclosing the contents of this = message.
FSL accepts no responsibility for loss or damage arising = from
the use of the information transmitted by this email = including
damage from virus.
=
********************************************************************= *******
------_=_NextPart_001_01C633D8.CCDB4A0E-- --===============2008657498== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib --===============2008657498==-- From hubmib-bounces@ietf.org Fri Feb 17 16:00:10 2006 Received: from localhost.cnri.reston.va.us ([127.0.0.1] helo=megatron.ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1FACi2-0000TG-6K; Fri, 17 Feb 2006 16:00:10 -0500 Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1FA72O-0003ws-8b for hubmib@megatron.ietf.org; Fri, 17 Feb 2006 09:56:48 -0500 Received: from ietf-mx.ietf.org (ietf-mx [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id JAA01267 for ; Fri, 17 Feb 2006 09:00:35 -0500 (EST) Received: from mail.future.futsoft.com ([202.56.251.200]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1FA1MZ-0002lO-AX for hubmib@ietf.org; Fri, 17 Feb 2006 03:53:17 -0500 Received: from kailash.future.futsoft.com (unverified [10.203.112.3]) by mail.future.futsoft.com (Content Technologies SMTPRS 4.3.12) with ESMTP id ; Fri, 17 Feb 2006 14:06:34 +0530 Received: from geethak (geethak.future.futsoft.com [10.203.113.67]) by kailash.future.futsoft.com (8.12.8/8.12.8) with SMTP id k1H8atOW003801; Fri, 17 Feb 2006 14:07:02 +0530 From: "Geetha K" To: "'Romascanu, Dan \(Dan\)'" , Subject: RE: [Hubmib] IEEE 802.3ah - EOAM - clause 57 - need clarification on the statements in section 57.2.11.4 & 57.2.11.6 Date: Fri, 17 Feb 2006 14:07:39 +0530 Message-ID: <003e01c6339d$6a5b7ae0$4371cb0a@che.flextronics.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_003F_01C633CB.8413B6E0" X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook CWS, Build 9.0.2416 (9.0.2911.0) X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 Importance: Normal In-Reply-To: X-MS-TNEF-Correlator: 00000000065940B9EA90DA118BE300D0096FC72244F42C00 X-Spam-Score: 0.2 (/) X-Scan-Signature: b5299d0955d21ceeb18e25a232290fec X-Mailman-Approved-At: Fri, 17 Feb 2006 16:00:09 -0500 Cc: joanj@future.futsoft.com, aubunc@future.futsoft.com, shrivathsv@future.futsoft.com, arunka@future.futsoft.com X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: geethak@future.futsoft.com List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: hubmib-bounces@ietf.org Errors-To: hubmib-bounces@ietf.org This is a multi-part message in MIME format. ------=_NextPart_000_003F_01C633CB.8413B6E0 Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: 7bit Hello Dan, Thank you very much for response. I will forward my questions to IEEE 802.3 WG. I have come across the draft mib "draft-ietf-hubmib-efm-mib-03.txt" for Ethernet OAM that expired on September, 2005. Is that MIB standardised (or) Are there any other new draft versions coming in? Thank you in advance. Best Regards, Geetha. -----Original Message----- From: Romascanu, Dan (Dan) [mailto:dromasca@avaya.com] Sent: Friday, 17 February 2006 12:55 PM To: geethak@future.futsoft.com; hubmib@ietf.org Cc: joanj@future.futsoft.com; aubunc@future.futsoft.com; shrivathsv@future.futsoft.com; arunka@future.futsoft.com Subject: RE: [Hubmib] IEEE 802.3ah - EOAM - clause 57 - need clarification on the statements in section 57.2.11.4 & 57.2.11.6 Geetha, I believe that you are asking questions that are related to the IEEE 802.3 standards, and not to the Ethernet MIB work that is being done in the IETF. I suggest that you address your clarification questions to the IEEE 802.3 Working Group. Best Regards, Dan Romascanu hubmib WG Chair _____ From: hubmib-bounces@ietf.org [mailto:hubmib-bounces@ietf.org] On Behalf Of Geetha K Sent: Thursday, February 16, 2006 4:35 PM To: hubmib@ietf.org Cc: joanj@future.futsoft.com; aubunc@future.futsoft.com; shrivathsv@future.futsoft.com; arunka@future.futsoft.com Subject: [Hubmib] IEEE 802.3ah - EOAM - clause 57 - need clarification on the statements in section 57.2.11.4 & 57.2.11.6 Section 57.2.11.6: ============= To ensure correct operation, the OAM client needs to, within one second of receiving a Loopback Control OAMPDU with the Enable OAM Remote Loopback command: a) Set its local_par_action parameter to LB and the local_mux_action to DISCARD via OAM_CTL.request service primitive. b) Send an Information OAMPDU. Section 57.2.11.4: ============= Since Information OAMPDUs are continually sent to keep the OAM Discovery process from re-starting, the occasional loss of an Information OAMPDU should not adversely impact the operation of OAM remote loopback mode. The above 2 statements are conflicting: - first statement insists on sending OAMPDU within one second to ensure correct operation - second statement says that loss os Information OAMPDU should not adversely impact the operation of OAM ermote loopback mode. In Remote loopback mode, what will happen if the remote peer is not responding with an information OAMPDU within a second after sending a remote loopback command? This is critical as the Multiplexer at the local DTE will be put in Discard state until an information OAMPDU is received and all the frames from higher layers will be dropped. Clarification on this will be highly appreciated. Thank you. Regards, Geetha. *************************************************************************** This message is proprietary to Future Software Limited (FSL) and is intended solely for the use of the individual to whom it is addressed. It may contain privileged or confidential information and should not be circulated or used for any purpose other than for what it is intended. *************************************************************************** This message is proprietary to Future Software Limited (FSL) and is intended solely for the use of the individual to whom it is addressed. It may contain privileged or confidential information and should not be circulated or used for any purpose other than for what it is intended. If you have received this message in error, please notify the originator immediately. If you are not the intended recipient, you are notified that you are strictly prohibited from using, copying, altering, or disclosing the contents of this message. FSL accepts no responsibility for loss or damage arising from the use of the information transmitted by this email including damage from virus. *************************************************************************** ------=_NextPart_000_003F_01C633CB.8413B6E0 Content-Type: application/ms-tnef; name="winmail.dat" Content-Disposition: attachment; filename="winmail.dat" Content-Transfer-Encoding: base64 eJ8+IikIAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAEIgAcAGAAAAElQTS5NaWNy b3NvZnQgTWFpbC5Ob3RlADEIAQ2ABAACAAAAAgACAAEGgAMADgAAANYHAgARAA4ABwAAAAUACgEB A5AGAOgoAAAnAAAACwACAAEAAAALACMAAAAAAAMAJgAAAAAACwApAAAAAAADAC4AAAAAAAMANgAA AAAAHgBwAAEAAABxAAAAW0h1Ym1pYl0gSUVFRSA4MDIuM2FoIC0gRU9BTSAtIGNsYXVzZSA1NyAt IG5lZWQgY2xhcmlmaWNhdGlvbiBvbiB0aGUgc3RhdGVtZW50cyBpbiBzZWN0aW9uIDU3LjIuMTEu NCAmIDU3LjIuMTEuNgAAAAACAXEAAQAAABYAAAABxjOdaU6bf7cTn5YR2ovmANAJb8ciAAACAR0M AQAAACAAAABTTVRQOkdFRVRIQUtARlVUVVJFLkZVVFNPRlQuQ09NAAsAAQ4AAAAAQAAGDgDer1Gd M8YBAgEKDgEAAAAYAAAAAAAAAAZZQLnqkNoRi+MA0AlvxyLCgAAAAwAUDgEAAAALAB8OAAAAAAIB CRABAAAAUSQAAE0kAADYvAAATFpGdeK9hwEDAAoAcmNwZzEyNYIyA0NodG1sMQMwPwEDAfcKgAKk A+MCAGNowQrAc2V0MCAHEwKA/xADAFAEVghVB7IR1Q5RAwHdENcyBgAGwxHVMwRGENlZEu9mNBBv EXs1A8ZUfGFoA3ECgBHjCO8J9zt7CW8OMDUdPx5DEeEMYGNnAFALCQFkMzYRYAulNLIgEAIqXA6y AZBnIhAAMyA8IURPQ1QAWVBFIEhUTUwAIFBVQkxJQyCAIi0vL1czQyTQSERURCPkNC4RYFRycgBy dGkCIAdAJNBF+E4iPhHjIocjMAqjJzx8MTkjQCPyJy4iICmQRXxBRCctDvEoTyw/KRQ2gQ7wPE1F VEEgBaBjAjAJ8HQ9IgXgI/M2MSXgMC4yIYAwsDAiJiAmoAeAPUcm8EVSUEFUT1InLTQvAS8vKx8i 8SgvIuE1EWA8QjhPRFknLSGRKE9nOeI2I0BESVYnICKTACGeIAAAOVURYCJpNjQ5Pws6QiJLOCrh U1BBTucvcAtgBBA9NCGAIXAw0UA4LTE3MDIB0DBONjkvPF8OEDQ4I0BG4E9OVCBmANAxgAcTcy9x CQE9IzCgMKABICB1AJB6MYAyOSsYMAMwYx8T8AOyAdADMDn3SGVsrwkAIjxFIShDRABwLCicejU4 wS9CAjkpOTc8jTn/FPAzUD2ySf86PgHAOTcKovdKqAqAKJwwKuElMDkLSq//Nv84DzkfOi87PzxP PV8+b/8/fzxPQZ9Cr0OxCqND70T/fzwfSQ9KH0svTD9KjzzqJjBuYnNwAoA5R1wn/mEBQDn/Tp9P r1C/Uc88T/83TzhfOW86fzlvPJ89rz6/fzlvQN9B70L/RA9FHzoVVFkRAG5rRu8oQ3kIYCCidgSQ eSBtICBoQkAfBbEJcGpAAiARMC4gSe4gA/BGsIOSdwsRg0CDMFpxClBzJnIEIHRG0EnSRYaAIDg/ IC4jMEb/8ShSV0cuSI9Jn0qvS7//Sg9N307vT/9RD0o/Uy8oT/84rzm/Os873zzvPf8/Dzvf/0Ev Qj9f70QPRR88P0kvSj//S09MX0qvaX9qjzovTs9P3/9Q70ofUw8oLziPOZ86rzu//zzPPd8+7zu/ QQ9CH0MvRD//RU86QoSAEQCDAEbvKEMFoP0HgCAA0ANgBBBpH2ovazp0dGjBgGQmIAGAg0Bp/mIk oEiPSZ9Kr0u/Sg88b/89dwqjPg8/HzvvQT9CT1//b0QfRS86JMbDLQiQADAtKGh1YschLQEQbS3r 2HI+gC4M0HQxMIOiSI//SZ9Kr0u/Sg9N307vT/9RD/9KP1MvKE84rzm/Os873zzv/z3/Pw8730Ev Qj9f70QPRR8dOhVFxoEEoBFAIE9B/k1jf0mPSp9Lr0n/PF89b/8+fzkvPF9BqQqjQl9Db0R/+0WP xoBhxwBIj0mfSq9Lv/8Hbwh/zd8+Pz9PCC9BbwF/hwKPA58ErWV4cGkcIY4gJpBG7yhDU2VwL7Ck bWKDECwgDmE1hGD/Be8G/wgPCR8Hb03fTu9P//9RDwefUy8oTzivOb86zw8//wu/DR8OLw8/EE8R X1/vAw//BB8ITwaPB58Irwm/CA9pf/9qjx3/Hw8gHyEvB38jTyRf/yVvJn8njw8fC58qvw4PDx// EC8RPwIvAz8ET8DzhiAWb2MXcgWTTUlCAtAAMG5aZIUxaYRAFhAoAjApXiABoMGA9QLDIW6DMG/1 VMIg9UB3xrWDAQLghgJxwvFpbmcWXxdjVyA//wXvBv8IDwkfB28eHx8vID//IU8HnyNvJH8ljyaf J68PP/8Lvw0fDi8PPxBPEV8wLwMP/wQfCE8GjwefCK8JvwgPOb//Os8d/x8PIB8hLwd/I08kX/8l byZ/J48PHwufKr8ODw8fvxAvET8CLwM/BE8FUlQFoAxuaxZfF2N5b3Ugs1cgVRBkdlOAAXAuBe// Bv8IDwkfB28eHx8vID8hT/8HnyNvJH8ljyafJ68PPwu//w0fDi8PPxBPEV8wLwMPBB//CE8Gjwef CK8JvwgPOb86z/8d/x8PIB8hLwd/I08kXyVv/yZ/J48PHwufKr8ODw8fEC+fET8CLwM/BE8FUkJl U2AjFl8XY1JlZ1Oxcyz/Be8G/wgPCR8Hbx4fHy8gP/8hTwefI28kfyWPJp8nrw8//wu/DR8OLw8/ EE8RXzAvAw/zBB8FJUdl9VAFoJQPBu//B/8JDwdfHg8fHyAvIT8HjwcjXyRvJXRCTE9DS2BRVU9U RVXwFeA9RwAgATAwxHR5bAGAIgUJ4EQh4E5HLUxFAEZUOiA1cHg7MVMQQVJH+XD5qkJPsFJERVL5 pQJmMvogEwLQAhBpZPpHUklH6kj54TD6ICIDSQECBeIj+DEBEVxxbP/CY2jnMx8j3wGZMjQBUAPA JL8jJcINFU91dBJAb2uKTcywcwIgZUhlk5BHVZH39hHwaWduBzBl/1YwDqsAcQAMAEAAySdvDv8d AGBpDbAP7xD7VGFovVcAYQJUA8ATDxQRNRSv6i0SYk8vkGdXIC+xBiXrEmMNbDH3ElL+qgeQVcBX AXAA3yn4QggrYgDJRmpyD1A6G58vGBodqSASUg9Rc2NTgHUsIP5EHQBUIB1RVGBRjwKPF9GVA9Fb D2BpAHBvOlYAaRy0QGGTsHnqEFbxXT8UDxUfFi8XPxhPARRTZfxudBn/Gw8cFxmw/UAhoIcdMCvg GaBlYnJ1ABDHVUAsIiswMjo1EUAd//MCjyAUUE0UDxUfFi8XP/8YT5EVINAaDxsfHCYGcOniqGtA ZgXAdVSQLjhRj/0QCAAh0vpAaHViVxBIYkBpN/BmLk3wZz8UDxUfFi8XPxhPARRDYz8Z/xsPHBcd /wKPIBRqb60dAGo4TzlSYTmgdZPQnzhPOVId/wKPIBRzaBLA8yGQOABzdjhPRuMroJGg+yFgOF9t FA8VHxYvFz8YT+MndTmgamVjKA8a/0Jvkx5vH35SRfnwW0g5o5BdIElFWwAgOGwgDC4zDzASUCBF T0HGTVuxBVF1c2X6ACtQM1vAFiBlZAVCEsBmafEc8HRpbx1wXhE4AFygjx3/Ao9K9QIQdGVtJ+G+ c5NSXJBU0F4CXMAuW2BNFNAuF+B5f2Fterom+xv5YpY2FA8VHxYvFD8VT/8WX3RPGz98D30ffi9/ Pxtv/wFfAm8Df4NPC+8K3wvvDP/BiC89MDczNSxQEZD+N4nfhq8Nn40Pq24P74+/0wDPfIpUUg6Q RxgvAP/pF5ZFTQgraekfzrwa0/+Km3O/l0uHrnO/bN8bPwEv/5evbl9vb3B/cY9yn3OvAc//At8D 73fvCj8LTwxfFw99P/9+TwvvFw+Hn4ivib+KzwEP/w4Pgh+DL4Q/hU9pT21fc4//jO8bPwEvkB8b jxoPlh8A3xFjqG5ic2RqXCdh/jAKP2+/cM9x33LvAQ8CH/8DLwQ/eD8KjwufDK98f32P/36ff6+G 34fvAO+KD4sfDU8fgV+Cbw+vhI8RfUkgYjJlB5BldlygOAF0ILh5b3VNMVygBXBrEvDwZyBxdQYw XfJhwOBT/+DiOJAFYGFgXUAgwF5jWvN/Hf8CjyAUW0P4sR0AKvBy3GRzHTDnAV0Ab+CA40UaRV5x chYg4IBNSULUIHc6UGvgRGlhwN/Q/eFSZF4QXKBh4V5/Hs8f2BFa8FRGLt+hc3Vn9wZwYTDgSWQg 8AYx4JICkL9dbOGZ418eXx9v5oRX6WHl4VJHGcB1cO4AbH9tj/9zv40fG2+PP5BPc4+VP5ZP/wpv b+9w/3IPG08Wz3U/dk//d18Lz3l/Cm97n3yvfb9+z/8F34cPGE8GD4o/ra+Af4GP/4Kfg6+Ev4XP bM9t3wYPjW//BY+Pj5CfBd+VjwAfDg/Az//B3wF/Ao8DnwSvBb8Gzwff/wjvCf8AvwwfDS8OPw9P EF//EW8OPxOPFJ8Vrxa/Bg8Y318Z7xr/HA8dHwEgQu6CUvxlZ+czHk8fXwW/IX8AH/8g/ySvBY8m zyffAN8B7wL//wQPBR8GLwc/CE8JXwpvC3//Cm8Nnw6vD78QzwXfEu8T//8GDxYfFy8YPxlPGl8b bxx//x2PHp8frwYPIc8FjyPvJP//Bd8nHwAfDg8qTytfAX8Cj/8DnwSvBb8GzwffCO8J/wC//wwf DS8OPw9PEF8Rbw4/E4//FJ8Vrxa/Bg8Y3xnvGv8cD5sdHwEgROcASXBvbQ+g+fCQbnUeTx9fBb8h fwAf/yD/JK8FjybPJ98A3wHvAv//BA8FHwYvBz8ITwlfCm8Lf/8Kbw2fDq8PvxDPBd8S7xP//wYP Fh8XLxg/GU8aXxtvHH9BHYpodWJtaRSgV8hHIEPgYGlyHk8fX/8FvyF/AB8g/ySvBY8mzyff/wDf Ae8C/wQPBR8GLwc/CE//CV8Kbwt/Cm8Nnw6vD78Qz/8F3xLvE/8GDxYfFy8YPxlP/xpfG28cfx2P Hp8frwYPIc//BY8j7yT/Bd8nHwAfDg8qT/8rXwF/Ao8DnwSvBb8Gzwff/wjvCf8LDwwfDS8OPw9P EF//EW8hLye/AW8p3yrvK/8tD/8uHy8vAN8B7wL/BA8FHwYv/wc/CE8JXxFvEn8TjxSfFa//Fr8B DwIfAy8EPwVPBl8Hb/8IfwmPEZ8SrxO/FM8V3wAv/wE/Ak8DXwRvBX8GjwefCK//EL8RzxLfE+8U /xYPAF8Bb+cWdAuwADBCUgCZAuIB8A8BXwJvA38Ej0JMT0NAS1FVT1RFbud01HlsbZAiCtBEAGBQ 0AAtTEVGVDogNQBweDsgTUFSRwNQUFCKQk9SREVSO1CFbnYyUQBPkG4gaWShUSdSSUdIUMEwUQD+ Ikk/DU8CXwNvBF8FZAsFCE91dG4wb2tNZQMLQAKgZUhlYWRlAwMQCyBuZz1lbi3QdXMgZMawPQKA AxARbeBpZ25d0GVmdEcFy13hAvFccWxfgmP+aALQYABojwJfA28EXwVhiEhSIAKQYkluXLCseD0M AG/MMV/wY1/wIGpcdWxkaHF+IM5fZ/JnsQlBbmUU80ov/wJPA18EQgcvBh8JQRRAls9xl9tUYWid UZpPZrI1m5v/Cb9Ckp8BdkZycQA6Og3/L3S6AUnF1S1iCG91bnCgc0BpZfUBEC6ZMGcB7JuRAv8K cpVZo1txEGkCgG86eU9delRdCa90rwFYT50gQuplxpBsASBPASAN/3e/+QGFR2V6QIJwer8C/3zX /ktH/U5SSStogkovc/91D3UBslNdQHR2n3eveLdUgXlAcnNkYXksdkCQZWJydQMAeSCJgCORwAxS IDQ6C5AgUH5NiK+Jv4rPc9907wGUVP99wA3/d794xnrPAw985nlEf3oniK+Jv4rPc9907wGUQ05j dp93r3i3am9dAGrMQGZbsJFgZS6oYVPw9V6gLsHgbVEges8DD3zmnmF5UHnRqF+pYnNowZDkdmGF sHN2qF+pb3uf46uLkhBua2GoX3EAiK8/ib+Kz3PfdO+N9XlQamXOY46Pd594qFtIeVN/UCRJRb2A IDgMMC4zAXDgIC0gRU9BTb++MXrPAw985gsRXXBlUOBmN74xaKBlZAsCrhBm5GljrkBpb4IwwzGF sOfBwE+grkBlbY5hXYBokG9PkLoBwyLB4C694EjALtMAIBC/YW0R+iabT3sv93w/ATDFNjaIr4m/ is/vH//wLwF/iT+KTxNPFF8VbxZ//wDPAd8C71lPBO8F/0feAB//AS8CPwNPWa8FTwZfB29t3/tu 72/8Qa4QXiBxP+01cr9fCd8K4U81BEALFDW9wDP+M2/gb+AMAAmADE8BXw5v/wC/R8/PnwEfEO8R /wafFB//FS8WPwCPAZ8Cr1kPBK8Fv/8Gzwffbk9vX+rv6/9yn3Ov/+8j8A/xHwUKjlDE1HrPAY// yq92n/PvGA/PHxY/Iw8kH/8lLyY/Fm8AXwFvAn8DjwSf/wWvBJ8HzwjfCe8K/wwPDR/v728OrwRv ACM9MLoU3xXv/ww/GA8WTxovGz8cTx1fFn//AG8BfwKPA58ErwW/BK8H3/8I7wn/Cw8MHw0vDj8P TwUK9ZkgIF1Ac6iREY8Bf8Do73qATUARMMNQcFzAwwORwP/Dkr5yDjB6MI5wwiNdgH2w+VEgd2lR QMSBEWDDsREg/xFgwmCpEBGPAX8TpxTfFe//DD8YDxZPGi8bPxxPHV8Wf/8AbwF/Ao8DnwSvBb8E rwff/wjvCf8LDwwfDS8OPw9PBQr9UEFlriBTEHqghd8BbxOY1ExvUJBiCdBrpSARYI50dmAKUFGB UERVUsNBUTNFbmFibFFkUvXEEG/EACB1dxGfAY9WT/8VbxZ/F48YnxmvGr8bzxzf/x3vDE8A/wIP Ax8ELwU/Bk//B18Ibwl/Co8LnwyvLM8OP9cPTwUKqVFtqCBkFM8V3/8W7xf/Fj8aHxsvHD8dTxZv /wBfAW8CfwOPBJ8FrwSfB8//CN8J7wr/DA8NHw4vDz8E+/xhKREBUHBS4FJwEZ8Bj0kTtmxvwvBs XwFxX/8J0BFDAXHG4LPAULBSgXiQHkJyoFPBUUK21G11eAe3ZriBBDBTQ0FSRP8RjwF/Vj8VXxZv F38Yjxmf/xqvG78czx3fDD8A7wH/Aw//BB8FLwY/B08IXwlvCn8Lj/8APyy/Di8PP94v+L/5zwxf /9o/208Mr9qP25/Zz9rfBSgHcmBysFGBX0NUTC5hTUBxdWVzUHBTgHJfcmAJ4BGPAX8Tp3AKIG3z UuByUGUuFN8V7ww/GA//Fk8aLxs/HE8dXxZ/AG8Bf/8CjwOfBK8FvwSvB98I7wn/vwsPDB8NLw4/ D08FCmKzkh9TwZfwEY8SnxOnSW5m/1Agl+ARQ3aE6hzaf9uOASz/Fa8WvxfPGN8Z7xr/HA8dH/8O TwDvIE8hXyJvBB8kjyWf/yavJ78ozynfAD8BTy0PAt//A+8Avw1/Do8PnxCvDu8KT/8LXxIPEx8U LxU/Dl8A/xhv/xl/Go8ELxyvBC8ezx/fIO//If8ATwFfJS8C7wP/AM8Nj/8Onw+vEL8O/wpfC28S HxMv/xQ/FU8ObxdvBw8ZjxqfBD//HL8EPx7fH+8g/yIPAF8Bb/8CfwOPJ+8GXwdvCHMObx7S/w5/ El8TbxR/Gv8cDx0fHi//HzIiHwBrBD8PfyBfIW8if/8AzwHfAu8D/wDFBaC3hAYvAwc/CEY1Ny4y LjH4MS40mC8N7w7/EA8OT/9pT2kfEc8S3xPvFP8WDwC//xgvGT8aTxtfEf8df3F/Ij//c58n7x+v IL8hzwAfAS8k//cCvwPPAJg9o4oM7w3/AJ//EB8OX2lfaS8R3xLvE/8VD/8WHwDPGD8ZTxpfG28S Dx2P/3GPIk9o/yf/H78gzyHfAC+PAT8CTwNfBG9TaW7mv/cHDwgfCSpzCf8LD9vPDT//Dk8A7xBv Dq8fjyCfIa8iv38BDyTfAp8DrwS6BzDFgGOTCVAJMG51IWBseeZRAduQIHRvIGtlZRpw3HBoxYAJ gSBEafZz23Dp8HLcEAYvBz/pCP5vIQACwAzvDf8AnxAfDl//aV9pLxHfEu8T/xUPFh8Az/8YPxlP Gl8bbxIPHY9xjyJP/2j/J/8fvyDPId8ALwE/Ak/rA18Eb2bg0G0GHwcvCDc520AtcwMQATDFUGcs O9zz4OBjJgAJQSFhbG+3JhAGEAFQYQlgCM9VIYAAaG91bGQgbm/P3GACfwOPBJZhZN3R3DD/3AEM 7w3/Dw8QHw4faV8Rz/8cTzGvMr8zzzTfDv82/zgP/zkfOi8UTzxPcY8iTxGfJ///Pn8/j0CfIo9C v2KPAA8BH/xpbQNwfmAF0wJ/A48ElnxvcAwwB+QHId1CBRBtLwkwBgAG0DDgYiZQayDxMhBkZS4M nw2vDr8Pz/8ODxHvEb8UDxUfFi8XPxhP/w7vGm8bfxyPHZ8UPx+/IM//Id8i7yP/JQ8mHycvIn8p T/+fvyrfAH8Ozw0fDi8PPxBP/w6Pya/KvxGvEX8TzxTfFe//Fv8YDw6vGi8bPxxPHV8eb/8ffyCP IZ8irwEPJM8l39thsQbQcj0jAJAAkGYBUPMm/yJEY2YNgChfKW9RL08q/wCfDu8p51RSEKBHTQDL YiivKblFTQDLaf8orw0KfnsOvw0Le44Ovw0P/w4fDy8QPw5/Wo9bnxGfEW//E78UzxXfFu8X/w6f Gh8bL/8cPx1PHl8fbyB/IY8inwD//yS/Jc8m3yIvDw8qDysfAL+lAcRUBfFhYt3BIA2A3wJ/A48E lgVBMjBt3EEHAN3bNWYhUC3QBZE6Wm9bf//Lnwz/Dg8PHxAvET8OPxIf/xRvFX8WjxefDj8ZvwNv G9//HO8A/x8PAP8hLyI/I08O7/8lbyZ/Ic8onymvKr8AXwFq+i0CEGkMQAlPA2+sP9xRvwWQBmAF QAcBB2DcMWQFkf8Mnw2vDr8Pzw4PDx8lnyavfyH/Dt9Qj1GfK28BDwg2d/5pBeAFkNaBBgAMUK3B CQBIdG8grTBzda2Tcv8FEC3RAn8DjzBvDJ8Nrw6//w/PDg8R7xG/FA8VHxYvFz//GE8O7xpvG38c jx2fFD8fv/8gzyHfIu8j/yUPJh8nLwHv/ylPKl8rbwMv0kBab1t/XIr/50UuTxrvrF8zTzRfGS82 f/8VDwP/BQ8GHwFvA79Qj1Gf5wrfAy8GUGF5rWAuABMgbzJRClAxcCKwSa3gcjBtgzEk5iVzaG91 bBBAnm4yIBBfEW8Sd2FkqeDx0pBlbHkthhOvFL8Dr/8W3xUfOK8uXzrPO9887z3//z8PA99BL0I/ Q09EXzDfRn//AE8BXwJvA38EjwWfBq8B//8Izx7PCl8LbwO/DZ8OrwQP/w3vTJ8NLw4/D0ki0KmQ 63j+bwGQJGHn0CPgJVBTcBBvLxF/EoYjIFOQYgXAayDxVMBkZS4TrxS/A68W3/8VHy6PLl8wrzG/ Ms8z3zTv/wPfNw84HzkvOj8w3zxfAE//AV8CbwN/BI8FnwavAf8Iz/8ezwpfC28DvxQvFT8WTxdf /xWfDV8ObwKPLh8wbzF/Mo//M580rxW/Ns833zjvOf87D/88HwAPAR8CLwM/BE8FXwZv/wG/BA8e jwofCy8DfxPvFP//A+8XHxVfDR8OL4HPLd8VT/8xPzJPM180bxV/No83nziv/zm/Os873zzvAN8B 7wL/BA//BR8GLwF/A88JXwpvC38ANvkjoCBSE0BU3xE/Vv9YBm4s5oAi4uaQbAZAIuBw+1OgJEBp AZBTUuggVMNToP8oUCiwIrAlQsfwDkAQIdcC/+aSEF8RbxJ3E68UvwOvFt//FR8ujy5fMK8xvzLP M9807/8D3zcPOB85Lzo/MN88XwBP/wFfAm8DfwSPBZ8GrwH/CM/3Cd8K7wM/YcdhI7kQbxF/PxKG JGXJ0smQ7aAP5mFm/xMwEYAP8Ml08iDH9Ve3EBD2bSPwEDA/EF8Rb8w/FC//FT8WTxdfLf8tzxU/ MS8yP/8zTzRfFW82fzePOJ85rzq//zvPPN897xyPQA8Ezxn/Gw+/DT8Ej76PH98g7wSHVPHg2yKw GPFjEeAkEGMSASWPbwYvJ6cislNwTSUAGYBw+GxleMiBIvEcsiMgGaKoRFRFxrRiyEF1HcCt8fFE GPAZoHIlIHMAcPlU4XVuGYASEO2xGe8GL//MTynPA/8r7yz/Lg8obwP//zE/AP8CDwMfBC8FPwZP B1//CG8JfwqPC58Mrw2/Ds8E3/8Q7xH/DU8En0Z/R48Wvwlf/mkjzyTfBH8m/wPPBN8Q7/8R/w1P BJ9BD0IfFr8JX+35j/FFGPHH8BGgaXZl8pGH8oIe4RyyZnJhbckwPxnfBh8b91bQ9MDHAGlndxzA BjAWAHkdgBkAHsZk81nwxzFkLiPPJN8Efyb//wPPKR8o7wnPAG8BfwKPA5//BK8FvwbPB98I7wn/ Cw8MH/8NLw4/D08QXxFvEn8NzxSf/0GPFi8XPwSPJE8D7yZvJ3//BE+kT6VfDl8oryr/AC8BP/8C TwNfBG8FfwaPB58Irwm//wrPC98M7w3/CV8QHxEvEj+/DY8E3xVvFn8JHwTSQxYA/RHgZhmRVJPu fwX/G9nx0fNa+FoybHkdoFvAVYER8P8gYFv/JL8EXybfJ+8o/w5P/ysfAE8BXwJvA38EjwWfBq// B78IzwnfCu8L/w0PDh8PL/8QPxFPEl8NrxR/QW8WDxcf/w9vJC8DzwTfJ18EL4NPhF//Dj8ojyrf AA8BHwIvAz8ET/8FXwZvB38IjwmfCq8LvwzP/w3fCT8P/xEPEh8NbwS/QS//Qj8W3w8vI+8k/wSf Jx8D7/8Uf4QfhS8EDwPfK68A3wHv/wL/BA8FHwYvBz8ITwlfCm//AU8Mjw2fDq8PvxDPEd8FH78H bxUPFh8XLxg6IPBrGd/jGu8b93lvdVwPJM8l3/8m7xVvKQ8GTysvLD8tTy5f/y9vB48xjzKfM68A zwHfAu//A/8FDwYfBy8IPwlPCl8Fr/8Mf0F/Dg8PHwdvFH8Vjwff/xevFe+DX4RvBj8Y3xsvHD// HU8eXx9vFg8hjyKfI68Aj/8BnwKvA78EzwXfAT8H/wkPfwofBW8HvzF/Mo8O3wF8UsRlZxIwZHMs FA8VH/8Hbxc/FX8ZXxkvAb8cjx2f/x6vH78HnyHfIu8j/wDfAe//Av8EDwUfBi8HPwhPCV8Kbz8F vwyPMc8OHw8vAcdHZfplpRBhE/8VDxYfFy8Vb/8ZTwZPG28cfx2PHp8frweP/yHPIt8j7wDPAd8C 7wP/BQ//Bh8HLwg/CU8KXwWvDH8xv/8ODw8fB28UfxWPB98XrxXv/ztPPF8GPxjfGy8cPx1PHl// H28WDyLYCPEVFa3vF9Yef/8fjwG/As8D3wgPCRQyFwoj/jMKjAXgBaEHfwiEDuAAoMxCUgD5BHFu ZQgAB2/3uu+7/wHlKsB/wH/Af8B/n8B0un+7j7ycEMBpcxEfMxIvEzdtZQ4QAGBlINHIQXByb8vA aXwAEjAAeSB0byBGdXQEdXLLcFNvZnR3AxIwy3BMaW1pdGWAZCAoRlNMKbp//7uPvJwQ4M4QyEG8 gM3w0ZAPzgERLxI/E0Zzb2xlcmzMYGZvEkB8EMtwdR5zy3DNMNXDvIBkaXYYaWR1CfHMgXdob3pt y4B0un+7j7ycyEFhHGRkzPAOEM4ALiBJ8HQgbWHMYBEvEj8TRvRjb9IAYbyAy7HW8dVAb8tgzhDV od8BZtcQ0iB0/wnivIDVkdwg4ODfELp/u48n0K8KENewdWzOEG5vPdwAYstwES8SP96HaXL+Y+VQ 4ZDgBNYRzhDVkhDg5cxgcMzgcG/WItXR1bL/EODVgrp/u4+8nNeg4ZDX4f/LghEvEj8TRtH2E/wX nxsvDxw/HU8eXx9iQkxPQ8BLUVVPVEUVaxIh/7y/+B/5LxYLJA8A7wH/Aw//HgUSEhwfHS8DAh6f H68Alf8hXyPPJN8AfwGPApnAfw5//w5/Dn8OdQOPBJ8Frwa/B8//CN8J7wHvAN8B7wLzyCPLH//M L80/zkIDjwSfBa8GvwfP/wjfCe8B7wDfAe8C89GO1S//1j/XSwOPBJ8Frwa/B88I3/8J7wHvAN8B 7wLz2x/cIt8G/99/4I/hkwOPBJ8Frwa/B8//CN8J7wHvAN8B7yx35Szor//pv+rNA48EnwWvBr8H zwjf/wnvAe8A3wHvAvPuufIHA0//BF8FbwZ/B48InwmvCr8An6sBrwK3SQBAeUswIE6Q/nYewCBA dCAvkCFRLnAeOuc9UE5QHyByLB8ALeB5IPMewEuBaWYfsS6AA48En/8Frwa/B88I3wnvAe8A3wHv 8wLzLkBpZy0wP5AuQSEQ/x5gL4BMUS4APGFmdCDCS4JnLyQtVWchaXAfYC1ALP8DjwSfBa8GvwfP CN8J7wHv/wDfAe8C83bZacAfYGeSWhHJdtZzdB9QY3QuAR8R9R4gYiEzZh8gMHAusC0w/md4/wSP BZ8Grwe/CM8J358K7wDPAd8C5DzwcHmHgr87wAGATlCS8y5BL4BzmvD/TeCHgS5jPPI+wR5ALvMe OP4uA48EnwWvBr8HzwjfCe+/Ae8A3wHvAvMhkTvAY2dA/nCVYUuAZxGkkD0Ah3CGsL218HQuFJRR lXGT8WE8sP8esQNgHjCUgocSA48EnwWv/wa/B88I3wnvAe8A3wHvAvPXLn8/Vx/AcizAcyEhIUL2 YmniHjFlPLA9wC0hlED+dS+Ah5ADjwSfBa8GvwfP/wjfCe8B7wDfAe8C86QlhxP9L6ByLrCWjwSP BZ8Grwe//wjPCd8K7wDPAd8OHw5/Dn//Dn8SXwPPBN8F7wb/CA8JGYkF2jU4+MJPRFkHIAkFyzI3 BsFIVE1MJddtMwk1fQDacAAAAB4AQhABAAAASQAAADxBQUI0QjNEM0NGMEY0NTRGOTgyNzJDQkUx ODdGREUyRjBBMEQwM0ZFQGlzMDAwNGF2ZXh1MS5nbG9iYWwuYXZheWEuY29tPgAAAAADAAJZAAAW AAMACVkCAAAACwAAgAggBgAAAAAAwAAAAAAAAEYAAAAAA4UAAAAAAAADAAKACCAGAAAAAADAAAAA AAAARgAAAAAQhQAAAAAAAAMAB4AIIAYAAAAAAMAAAAAAAABGAAAAAAGFAAAAAAAAAwAYgAggBgAA AAAAwAAAAAAAAEYAAAAAUoUAAD9xAQAeABmACCAGAAAAAADAAAAAAAAARgAAAABUhQAAAQAAAAQA AAA5LjAACwAagAggBgAAAAAAwAAAAAAAAEYAAAAABoUAAAAAAAALAB6ACCAGAAAAAADAAAAAAAAA RgAAAAAOhQAAAAAAAAMAH4AIIAYAAAAAAMAAAAAAAABGAAAAABGFAAAAAAAAAwAhgAggBgAAAAAA wAAAAAAAAEYAAAAAGIUAAAAAAAAeAD2ACCAGAAAAAADAAAAAAAAARgAAAACDhQAAAQAAABMAAAA0 NjAzNjI2MDgtMTcwMjIwMDYAAAIB+A8BAAAAEAAAAAZZQLnqkNoRi+MA0AlvxyICAfoPAQAAABAA AAAGWUC56pDaEYvjANAJb8ciAgH7DwEAAABJAAAAAAAAADihuxAF5RAaobsIACsqVsIAAG1zcHN0 LmRsbAAAAAAATklUQfm/uAEAqgA32W4AAABEOlxNYWlsXDMxamFuMDYucHN0AAAAAAMA/g8FAAAA AwANNP03AAACAX8AAQAAADEAAAAwMDAwMDAwMDA2NTk0MEI5RUE5MERBMTE4QkUzMDBEMDA5NkZD NzIyNDRGNDJDMDAAAAAAAwAGEAUQQxsDAAcQ3wkAAAMAEBAAAAAAAwAREAEAAAAeAAgQAQAAAGUA AABIRUxMT0RBTixUSEFOS1lPVVZFUllNVUNIRk9SUkVTUE9OU0VJV0lMTEZPUldBUkRNWVFVRVNU SU9OU1RPSUVFRTgwMjNXR0lIQVZFQ09NRUFDUk9TU1RIRURSQUZUTUlCIkRSAAAAAFpR ------=_NextPart_000_003F_01C633CB.8413B6E0 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib ------=_NextPart_000_003F_01C633CB.8413B6E0-- From hubmib-bounces@ietf.org Sun Feb 19 10:18:48 2006 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1FAqKl-0001LY-Kw; Sun, 19 Feb 2006 10:18:47 -0500 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1FAqKk-0001LT-B5 for hubmib@ietf.org; Sun, 19 Feb 2006 10:18:46 -0500 Received: from nj300815-ier2.net.avaya.com ([198.152.12.103]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1FAqKj-0005Ix-0G for hubmib@ietf.org; Sun, 19 Feb 2006 10:18:46 -0500 Received: from tiere.net.avaya.com (tiere.net.avaya.com [198.152.12.100]) by nj300815-ier2.net.avaya.com (Switch-3.1.7/Switch-3.1.7) with ESMTP id k1JFE1j5017124 for ; Sun, 19 Feb 2006 10:14:02 -0500 Received: from IS0004AVEXU1.global.avaya.com (h135-64-105-51.avaya.com [135.64.105.51]) by tiere.net.avaya.com (Switch-3.1.2/Switch-3.1.0) with ESMTP id k1JFFbhj020920 for ; Sun, 19 Feb 2006 10:15:38 -0500 (EST) X-MimeOLE: Produced By Microsoft Exchange V6.0.6603.0 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Subject: RE: [Hubmib] IEEE 802.3ah - EOAM - clause 57 - need clarification onthe statements in section 57.2.11.4 & 57.2.11.6 Date: Sun, 19 Feb 2006 17:18:41 +0200 Message-ID: X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [Hubmib] IEEE 802.3ah - EOAM - clause 57 - need clarification onthe statements in section 57.2.11.4 & 57.2.11.6 Thread-Index: AcYz1n08LbAB02ucQ7O0UcGvWnM79ABkPfxg From: "Romascanu, Dan \(Dan\)" To: "Dominique bastien" , , X-Scanner: InterScan AntiVirus for Sendmail X-Spam-Score: 0.0 (/) X-Scan-Signature: 789c141a303c09204b537a4078e2a63f Cc: joanj@future.futsoft.com, aubunc@future.futsoft.com, shrivathsv@future.futsoft.com, arunka@future.futsoft.com X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: hubmib-bounces@ietf.org This discussion is slightly out of the scope of the Working Group and of this list, which focuses on Ethernet MIBs.=20 I suggest that you move it to the IEEE 802.3 Working Group list, or any other list that specializes in Ethernet technology.=20 Thanks and Regards, Dan Romascanu=20 (Ethernet Interfaces and Hub MIB WG Chair) =20 =20 > -----Original Message----- > From: hubmib-bounces@ietf.org=20 > [mailto:hubmib-bounces@ietf.org] On Behalf Of Dominique bastien > Sent: Friday, February 17, 2006 5:18 AM > To: geethak@future.futsoft.com; hubmib@ietf.org > Cc: joanj@future.futsoft.com; aubunc@future.futsoft.com;=20 > shrivathsv@future.futsoft.com; arunka@future.futsoft.com > Subject: Re: [Hubmib] IEEE 802.3ah - EOAM - clause 57 - need=20 > clarification onthe statements in section 57.2.11.4 & 57.2.11.6 >=20 > Q: In Remote loopback mode, what will happen if the remote=20 > peer is not responding with an information OAMPDU within a=20 > second after sending a remote loopback command? >=20 > A: Few thing can happen, the local peer can resend the=20 > loopback command or wait an other second. In a network in=20 > trouble you maybe need to send few loopback command before=20 > receiving the Information TLV with the State octet set=20 > properly. When the state field (local_par_action parameter to=20 > LB and the local_mux_action to DISCARD) show you that you can=20 > begin to send test traffic, the test can begin. It's only a=20 > matter of resending message versus waiting for response. >=20 >=20 > Dominique >=20 > --- Geetha K wrote: >=20 > >=20 > > Section 57.2.11.6: > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > To ensure correct operation, the OAM client needs to, within one=20 > > second of receiving a Loopback Control OAMPDU with the Enable OAM=20 > > Remote Loopback > > command: > > a) Set its local_par_action parameter to LB and the=20 > local_mux_action=20 > > to DISCARD > > via OAM_CTL.request service primitive. > > b) Send an Information OAMPDU. > >=20 > >=20 > > Section 57.2.11.4: > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > Since Information OAMPDUs are continually sent to keep the OAM=20 > > Discovery process from re-starting, the occasional loss of an=20 > > Information OAMPDU should not adversely impact the operation of OAM=20 > > remote loopback mode. > >=20 > >=20 > > The above 2 statements are conflicting: > > - first statement insists on sending OAMPDU within > > one second to ensure > > correct operation > > - second statement says that loss os Information > > OAMPDU should not adversely > > impact > > the operation of OAM ermote loopback mode. > >=20 > >=20 > > In Remote loopback mode, what will happen if the > > remote peer is not > > responding with > > an information OAMPDU within a second after sending > > a remote loopback > > command? > > This is critical as the Multiplexer at the local DTE > > will be put in Discard > > state until an > > information OAMPDU is received and all the frames > > from higher layers will be > > dropped. > >=20 > > Clarification on this will be highly appreciated. > >=20 > >=20 > > Thank you. > >=20 > > Regards, > > Geetha. > >=20 > >=20 > >=20 > > > ************************************************************** > ************* > > This message is proprietary to Future Software > > Limited (FSL) > > and is intended solely for the use of the individual > > to whom it > > is addressed. It may contain privileged or > > confidential information > > and should not be circulated or used for any purpose > > other than for > > what it is intended. > >=20 > > If you have received this message in error, please > > notify the > > originator immediately. If you are not the intended > > recipient, > > you are notified that you are strictly prohibited > > from using, > > copying, altering, or disclosing the contents of > > this message. > > FSL accepts no responsibility for loss or damage > > arising from > > the use of the information transmitted by this email > > including > > damage from virus. > > > ************************************************************** > ************* > >=20 > > > _______________________________________________ > > Hubmib mailing list > > Hubmib@ietf.org > > https://www1.ietf.org/mailman/listinfo/hubmib > >=20 >=20 >=20 >=20 > =09 >=20 > =09 > =09 > __________________________________________________________=20 > Find your next car at http://autos.yahoo.ca >=20 > _______________________________________________ > Hubmib mailing list > Hubmib@ietf.org > https://www1.ietf.org/mailman/listinfo/hubmib >=20 _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib From hubmib-bounces@ietf.org Mon Feb 20 09:48:13 2006 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1FBCKi-0003pI-Vu; Mon, 20 Feb 2006 09:48:12 -0500 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1FBAM9-0005et-JS for hubmib@ietf.org; Mon, 20 Feb 2006 07:41:33 -0500 Received: from mail.future.futsoft.com ([202.56.251.200]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1FBAM6-0005ms-70 for hubmib@ietf.org; Mon, 20 Feb 2006 07:41:33 -0500 Received: from kailash.future.futsoft.com (unverified [10.203.112.3]) by mail.future.futsoft.com (Content Technologies SMTPRS 4.3.12) with ESMTP id ; Mon, 20 Feb 2006 18:09:47 +0530 Received: from geethak (geethak.future.futsoft.com [10.203.113.67]) by kailash.future.futsoft.com (8.12.8/8.12.8) with SMTP id k1KCdn6Z008504; Mon, 20 Feb 2006 18:09:58 +0530 From: "Geetha K" To: "'Romascanu, Dan \(Dan\)'" , "'Dominique bastien'" , Subject: RE: [Hubmib] IEEE 802.3ah - EOAM - clause 57 - need clarification onthe statements in section 57.2.11.4 & 57.2.11.6 Date: Mon, 20 Feb 2006 18:10:33 +0530 Message-ID: <006501c6361a$d86e6180$4371cb0a@che.flextronics.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_0066_01C63648.F2269D80" X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook CWS, Build 9.0.2416 (9.0.2911.0) X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 Importance: Normal In-Reply-To: X-MS-TNEF-Correlator: 00000000065940B9EA90DA118BE300D0096FC722842C2D00 X-Spam-Score: 0.0 (/) X-Scan-Signature: f8ee348dcc4be4a59bc395f7cd6343ad X-Mailman-Approved-At: Mon, 20 Feb 2006 09:48:10 -0500 Cc: joanj@future.futsoft.com, aubunc@future.futsoft.com, shrivathsv@future.futsoft.com, arunka@future.futsoft.com X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: geethak@future.futsoft.com List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: hubmib-bounces@ietf.org This is a multi-part message in MIME format. ------=_NextPart_000_0066_01C63648.F2269D80 Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: 7bit Hello, Pls. let me know the mailing group id to which I can send my queries related to 802.3ah. My subscription to "LISTSERV@ieee.org" failed. Thank you. Best Regards, Geetha. > -----Original Message----- > From: Romascanu, Dan (Dan) [mailto:dromasca@avaya.com] > Sent: Sunday, 19 February 2006 8:49 PM > To: Dominique bastien; geethak@future.futsoft.com; hubmib@ietf.org > Cc: joanj@future.futsoft.com; aubunc@future.futsoft.com; > shrivathsv@future.futsoft.com; arunka@future.futsoft.com > Subject: RE: [Hubmib] IEEE 802.3ah - EOAM - clause 57 - need > clarification onthe statements in section 57.2.11.4 & 57.2.11.6 > > > This discussion is slightly out of the scope of the Working > Group and of > this list, which focuses on Ethernet MIBs. > > I suggest that you move it to the IEEE 802.3 Working Group > list, or any > other list that specializes in Ethernet technology. > > Thanks and Regards, > > Dan Romascanu > (Ethernet Interfaces and Hub MIB WG Chair) > > > > > > > -----Original Message----- > > From: hubmib-bounces@ietf.org > > [mailto:hubmib-bounces@ietf.org] On Behalf Of Dominique bastien > > Sent: Friday, February 17, 2006 5:18 AM > > To: geethak@future.futsoft.com; hubmib@ietf.org > > Cc: joanj@future.futsoft.com; aubunc@future.futsoft.com; > > shrivathsv@future.futsoft.com; arunka@future.futsoft.com > > Subject: Re: [Hubmib] IEEE 802.3ah - EOAM - clause 57 - need > > clarification onthe statements in section 57.2.11.4 & 57.2.11.6 > > > > Q: In Remote loopback mode, what will happen if the remote > > peer is not responding with an information OAMPDU within a > > second after sending a remote loopback command? > > > > A: Few thing can happen, the local peer can resend the > > loopback command or wait an other second. In a network in > > trouble you maybe need to send few loopback command before > > receiving the Information TLV with the State octet set > > properly. When the state field (local_par_action parameter to > > LB and the local_mux_action to DISCARD) show you that you can > > begin to send test traffic, the test can begin. It's only a > > matter of resending message versus waiting for response. > > > > > > Dominique > > > > --- Geetha K wrote: > > > > > > > > Section 57.2.11.6: > > > ============= > > > To ensure correct operation, the OAM client needs to, within one > > > second of receiving a Loopback Control OAMPDU with the Enable OAM > > > Remote Loopback > > > command: > > > a) Set its local_par_action parameter to LB and the > > local_mux_action > > > to DISCARD > > > via OAM_CTL.request service primitive. > > > b) Send an Information OAMPDU. > > > > > > > > > Section 57.2.11.4: > > > ============= > > > Since Information OAMPDUs are continually sent to keep the OAM > > > Discovery process from re-starting, the occasional loss of an > > > Information OAMPDU should not adversely impact the > operation of OAM > > > remote loopback mode. > > > > > > > > > The above 2 statements are conflicting: > > > - first statement insists on sending OAMPDU within > > > one second to ensure > > > correct operation > > > - second statement says that loss os Information > > > OAMPDU should not adversely > > > impact > > > the operation of OAM ermote loopback mode. > > > > > > > > > In Remote loopback mode, what will happen if the > > > remote peer is not > > > responding with > > > an information OAMPDU within a second after sending > > > a remote loopback > > > command? > > > This is critical as the Multiplexer at the local DTE > > > will be put in Discard > > > state until an > > > information OAMPDU is received and all the frames > > > from higher layers will be > > > dropped. > > > > > > Clarification on this will be highly appreciated. > > > > > > > > > Thank you. > > > > > > Regards, > > > Geetha. > > > > > > > > > > > > > > ************************************************************** > > ************* > > > This message is proprietary to Future Software > > > Limited (FSL) > > > and is intended solely for the use of the individual > > > to whom it > > > is addressed. It may contain privileged or > > > confidential information > > > and should not be circulated or used for any purpose > > > other than for > > > what it is intended. > > > > > > If you have received this message in error, please > > > notify the > > > originator immediately. If you are not the intended > > > recipient, > > > you are notified that you are strictly prohibited > > > from using, > > > copying, altering, or disclosing the contents of > > > this message. > > > FSL accepts no responsibility for loss or damage > > > arising from > > > the use of the information transmitted by this email > > > including > > > damage from virus. > > > > > ************************************************************** > > ************* > > > > > > > _______________________________________________ > > > Hubmib mailing list > > > Hubmib@ietf.org > > > https://www1.ietf.org/mailman/listinfo/hubmib > > > > > > > > > > > > > > > > > > > __________________________________________________________ > > Find your next car at http://autos.yahoo.ca > > > > _______________________________________________ > > Hubmib mailing list > > Hubmib@ietf.org > > https://www1.ietf.org/mailman/listinfo/hubmib > > > *************************************************************************** This message is proprietary to Future Software Limited (FSL) and is intended solely for the use of the individual to whom it is addressed. It may contain privileged or confidential information and should not be circulated or used for any purpose other than for what it is intended. If you have received this message in error, please notify the originator immediately. If you are not the intended recipient, you are notified that you are strictly prohibited from using, copying, altering, or disclosing the contents of this message. FSL accepts no responsibility for loss or damage arising from the use of the information transmitted by this email including damage from virus. *************************************************************************** ------=_NextPart_000_0066_01C63648.F2269D80 Content-Type: application/ms-tnef; name="winmail.dat" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="winmail.dat" eJ8+IiMMAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAEIgAcAGAAAAElQTS5NaWNy b3NvZnQgTWFpbC5Ob3RlADEIAQ2ABAACAAAAAgACAAEGgAMADgAAANYHAgAUABIACgAAAAEAEAEB A5AGALAPAAAlAAAACwACAAEAAAALACMAAAAAAAMAJgAAAAAACwApAAAAAAADAC4AAAAAAAMANgAA AAAAHgBwAAEAAABwAAAAW0h1Ym1pYl0gSUVFRSA4MDIuM2FoIC0gRU9BTSAtIGNsYXVzZSA1NyAt IG5lZWQgY2xhcmlmaWNhdGlvbiBvbnRoZSBzdGF0ZW1lbnRzIGluIHNlY3Rpb24gNTcuMi4xMS40 ICYgNTcuMi4xMS42AAIBcQABAAAAFgAAAAHGNhrXYWhbWeqh/xHai+cA0AlvxyIAAAIBHQwBAAAA IAAAAFNNVFA6R0VFVEhBS0BGVVRVUkUuRlVUU09GVC5DT00ACwABDgAAAABAAAYOAJBIwxo2xgEC AQoOAQAAABgAAAAAAAAABllAueqQ2hGL4wDQCW/HIsKAAAADABQOAQAAAAsAHw4AAAAAAgEJEAEA AABeCwAAWgsAABYdAABMWkZ1hBxihwMACgByY3BnMTI14jIDQ3RleAVBAQMB9/8KgAKkA+QHEwKA D/MAUARWPwhVB7IRJQ5RAwECAGNo4QrAc2V0MgYABsMRJfYzBEYTtzASLBEzCO8J97Y7CW8OMDUR IgxgYwBQMwsJAWQzNhZQC6YgSHRlbAkALAqiCoQKgFCgbHMuIGwUICAHgJAga25vB+B0aB6wZwDA AxALgGcgCcAIYHAIIGlkHxBvIHdowQ3gaCBJIGMAcB1UhRQQbiBQbXkgcQpQPwiBBCAJcAtgDrAg UzgwQDIuM2FoLh1aTdEiEHN1YgT0aQIgIGIAIkxJU1RTRVIsVkAIkAngLgWwZyJcIGYfcQmAI9tU E+Bu2GsgeQhgI9tCB5AFQKhSZWcLEXMdRUcJ4EUfIGEj2z4gLSwiTz0FEGcLgAdABdAHkHNhrGdl LCMrpkYDYToH80ME8ABwdSwgRAORKDEvUSkgWx9iIHA6ZIMDYi7hQGF2YXkrIHkFoG1dK6YGYAIw LoBTTnUh0DEgLzAxOS4wZThicnUKwCIQAdAwNkkjUDo0MxBQTSumVC8wUC9AA3ALgGkiMSBiNy7Q JVAJ8Dsf0Crja0A4ZnV0CHAmoDbxc2+3AYAxUjZQaCTgNWBiJmEnADAmsiumQ2MugGpvbQBwajbv N/JhJOAykGPnNu838Sumc2gFEDEQHyD8c3Y27ztDM2AocDDgNv82bTGnJOBqBZAyUVJFqS6AW0g4 Q10g8EVDEIMjViwQIEVPQU1DwYpjC2B1FBAgNTdDwf5uCeALMSvERGEGgQ3gIuD/JWICIR8xKcAi 4QeAAjAEIF8LgCTAQeElYkTQLiOAMaAxLjQgJkh3NiumryumNIcgsAQgZAQAY0SQFwCQJXFLcXMf kGdodH5sIhAIYAVAN6AfEwTwb9ZwHrBNVVcFsGsfoium/kcf8wBwIFA3oCumHyBLcf8fkCnALzAg pAIQS9EHkSVxjkUfIQSgHnFNSUIeMfdJ3iEAJNBnLVApwSsBBUDTKKEekG92HrBpVQEggP8fIkMI TodPlCumUSQFsQBwunkrpm9SolETVRRzTfDyYwcxaXoHkUfRUpcOsOcT0B7gCQBneVNvS0EoYX8E IE/yKfxKOC9SLqdKRyjdUpdJAjAEkCcQYweRT/I3QoFTEk6ARxIgE+Bpcv4pSd8rtUpHSk8sDy0f Z2L7LkQ4NC0G4DuxB5A4l2b57y/2ak84xELgTwOgKaAT4PpsTWBPTWA1T2cIMiQuQGcgQDLCMzcx Ny8wM8M1+DoxOBDANHc05DZ/N4//OJ85jzqfO683tmcIPa8+v/c/z0DbQYplQl9Db0R9Zvm/Re9G /0gPSR9nU2cIUS6A32JgKeEEYA6wHlBvTeA14P5jKIAEYlFiVUED8B0QOCD8YXBN8EwxTWQJcIoD Zwj/TfASgUtxHuAFQAlwWvACIH9LoB+xA/AfIE/hR8ECEHLHAMAlU0QBUERVjzNH0e5hexoFkSHR YQGAEoEhsj8fopFgjMWKVzFhA4FkP/uIT2dxQXExB9GREh/AISH/i9UvMB8iCQAhIAMgjdOXIr+O kSHCHyJnCJQOWQJ3C3D/BUADkVn0kiQeQImxkWBS4e53TqFHwmcIdB/xAmAesHtVczEgYh6wg2Mg cSGzZv8H0Zpvn5CP4Y0aCXBi0D3Qxx+iVmOP2VRMVo80HyL+U0cyRrBB8B5xFBGNKgNg7U3wckzg HkBXHzAlgUb2qycACJBsIFAomCNfCrHuXwDQJVMKsWEHgJKyIHEdZwhMY7BP8pfnX211FnipliBx RCXwQ0FS/kQv0D2gHvFVclUnlyJnCP+fkCyhoAcOsFTyqjABIA3gn5fEsOOXIrADnOF0J1JC/0zh kWqQEZKyTVGZFB+iB4H9LTIgVdAUAESQm5Mfoo/h/46FFBAj1YisZwg1R4hPZ3TDT4Aq4yBLIDw2 fzeH7SwAdwNgDrA6iE9ncWbq2zICSCw2voksAD3Cmr86/TUAIAnwJNCiIQWhovFNMf+nMUZjl8RE AkRgNiEFQEUi/wQgIHBRYZEEAiCNGpIHtNP7oxaRYEyKZghQAjADYAMg+5CJHxNFLMCe4kQCvzqJ 5e/KVr86lJXBy2Ev0AZgBUD/VgBRAakfqiqriZnKrF2/On+tSL86ZdBl0KNAkWBEAV96Q6SQLglw IjEpwRQQcv+jQGLQpvEHcLaxVdC32a/h/9DSkmIDoKPakITaa78/wE9/SKXBz8LfcLMLgNmh2+9V /16BxJMCMAuAM3AdECSxxqK9IHFrCeAgIMX2vzpES7F/VcEzkacBYtEEIANSIqEt/0chACAfoZfE UfAhIEwCLNF/CQAEEU1RrztUYY/frfJ186jBjlJhZLYiHQAiEAdw/wqwxRGZisVHTULM3pOeBGL/ 3Q+/f3PSHzEBoFXCFEBHKf3kZWYfkEghH7DBy0PQRjD/FABa0Uc2R8EAkCnAUkOS9v+Qi786x/KS JSBxxFTOzMTt7/eckiX42C0wecchVTLqpP8BYKPZvzrs3+3oAwrulNcd/+mz794FEIoP8s8KWuuJ id//iu+L+vDf2bGN6A9sjrvQC/+Pr5C7ki8ScRL7k47Oz5Trf0s1EOElEQLAmEIu0AdzTesEYALA cB5geBCxAaGX6LhEVEUDCg5Dn5FwTSH/FVHnciohyDulczKQAsAbof8C+xPvBBAQ4aL0g4FP8uUR 9wdz6JCqQXMDCuiTFUBMsP9aIgFABREepgMKMHEOsZzQ+wovA1VDRf1QxB62JpKzcv8OsCPRWzAA wCkPCl8adF5R/1ViCh/NWF8MA2K71AofCm/7CrwDCCo3XzdfN183WDa//zreGpW1phDhpwIbQDNw ciJ9VjFGQBNBkECxm6D9XEzD2fIkMShGU0xkVxN0/wBwGtJicQBgJDF1YByQLMF/txIHgoLSTVUS cBJgo0Bkf+UB1b0N8CZhEsAFe16BZP8ooD3BKPGy8Z9S5JNkIAhA/9nCRXAckD4Am1IYvAJgRYB/ APFbMRPaQd4EOR8BLUBy/1IAJwBBQkQRRIGgcVkUHyH+chIwACD7e1oDAYEIQAJx/x37AZJWAULZ Ch8L5whwnyL/AZD1kSPXK7M9twhABRAmUP5yDdAcgRvAD1sEoQ8APwH/D0wCgGgTPyAQwRmQJDAt Uv+nYlYF5GIEokT0QyQPbC1A/nDGkjKLXPkq4VcjrrVdMr8AkBtABnAswT5hFUBiQTLPJY9EgOli GLxweeljG5D/FjFmE0QREmAfwAHRo1ZJQv+F8whgRds9eQobQZEE0OoAv+YAaIEEoLdGY0HGgHRD 5P8B1GcRJUA98RL7G0BnkyZCf2jcRG0UCLExbGBBIUFCYj9aMhDhANBJgEXL4tFsdd8Wrm3EJjRF cH3AcwoaNr9/N183XzdfOv86nwqfA2Bfb38ffx9/GgMKSJ7QQSBiP0jxbKESgWywAJCCD2JAWT6x Zi4CgBbbaHKAcOBzOi8vd4bgh1CFJjYvc2IZoS+DshPiL2j/gtMKL7g/ih8K0ACggxCJ//+MT4xl jIx/H38ffx9/FQrZ3kZFMTBCEMCdUHiyMhzTG4ZihrFhH0AB4C55YfUEQG+90GGJ/37vfx+BD/8D F4LPg9qEvwMmhm+Hf4iP6wqqAwR7AwIgA0CjxTdf/zdfN183XzrJpAE9bz5/P4r/QP+j8kKfQ69E vyTBRqukAf9H/0kPShdLXwKKrcVN707//1AMUZ+j41NPKPWkCFYPVx//WC5Z3aQBW09cX11vXy2k Af9gn2GvYr1kXqQBZd9m72f8/2mPo/JrL2w/bUxu36QBRE//cX9yj0wSdImkAXW/vNY3X483Xzdf N1+o7H19AN5QAAAeAEIQAQAAAEkAAAA8QUFCNEIzRDNDRjBGNDU0Rjk4MjcyQ0JFMTg3RkRFMkYw QTBEMDlFQUBpczAwMDRhdmV4dTEuZ2xvYmFsLmF2YXlhLmNvbT4AAAAAAwAJWQEAAAALAACACCAG AAAAAADAAAAAAAAARgAAAAADhQAAAAAAAAMAAoAIIAYAAAAAAMAAAAAAAABGAAAAABCFAAAAAAAA AwAHgAggBgAAAAAAwAAAAAAAAEYAAAAAAYUAAAAAAAADABiACCAGAAAAAADAAAAAAAAARgAAAABS hQAAP3EBAB4AGYAIIAYAAAAAAMAAAAAAAABGAAAAAFSFAAABAAAABAAAADkuMAALABqACCAGAAAA AADAAAAAAAAARgAAAAAGhQAAAAAAAAsAHoAIIAYAAAAAAMAAAAAAAABGAAAAAA6FAAAAAAAAAwAf gAggBgAAAAAAwAAAAAAAAEYAAAAAEYUAAAAAAAADACGACCAGAAAAAADAAAAAAAAARgAAAAAYhQAA AAAAAAIB+A8BAAAAEAAAAAZZQLnqkNoRi+MA0AlvxyICAfoPAQAAABAAAAAGWUC56pDaEYvjANAJ b8ciAgH7DwEAAABJAAAAAAAAADihuxAF5RAaobsIACsqVsIAAG1zcHN0LmRsbAAAAAAATklUQfm/ uAEAqgA32W4AAABEOlxNYWlsXDMxamFuMDYucHN0AAAAAAMA/g8FAAAAAwANNP03AAACAX8AAQAA ADEAAAAwMDAwMDAwMDA2NTk0MEI5RUE5MERBMTE4QkUzMDBEMDA5NkZDNzIyODQyQzJEMDAAAAAA AwAGECRVUWcDAAcQQA4AAAMAEBAAAAAAAwAREAMAAAAeAAgQAQAAAGUAAABIRUxMTyxQTFNMRVRN RUtOT1dUSEVNQUlMSU5HR1JPVVBJRFRPV0hJQ0hJQ0FOU0VORE1ZUVVFUklFU1JFTEFURURUTzgw MjNBSE1ZU1VCU0NSSVBUSU9OVE8iTElTVFNFUlZAAAAAAHAz ------=_NextPart_000_0066_01C63648.F2269D80 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib ------=_NextPart_000_0066_01C63648.F2269D80--