Return-Path: X-Original-To: apmail-cassandra-user-archive@www.apache.org Delivered-To: apmail-cassandra-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id BEDE1B323 for ; Wed, 18 Jan 2012 04:56:05 +0000 (UTC) Received: (qmail 68392 invoked by uid 500); 18 Jan 2012 04:56:02 -0000 Delivered-To: apmail-cassandra-user-archive@cassandra.apache.org Received: (qmail 68233 invoked by uid 500); 18 Jan 2012 04:55:55 -0000 Mailing-List: contact user-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@cassandra.apache.org Delivered-To: mailing list user@cassandra.apache.org Received: (qmail 68222 invoked by uid 99); 18 Jan 2012 04:55:53 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 18 Jan 2012 04:55:53 +0000 X-ASF-Spam-Status: No, hits=2.2 required=5.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of Asha.Subramanian@hcl.com designates 203.105.185.23 as permitted sender) Received: from [203.105.185.23] (HELO gws05.hcl.com) (203.105.185.23) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 18 Jan 2012 04:55:43 +0000 Received: from NDA-HCLIN-HT02.CORP.HCL.IN (10.248.64.36) by NDA-HCLIN-EDGE3.hcl.in (10.248.64.140) with Microsoft SMTP Server id 8.2.254.0; Wed, 18 Jan 2012 10:25:58 +0530 Received: from nda-hclt-ht01.HCLT.CORP.HCL.IN (10.98.10.211) by NDA-HCLIN-HT02.CORP.HCL.IN (10.248.64.36) with Microsoft SMTP Server (TLS) id 8.2.254.0; Wed, 18 Jan 2012 10:25:17 +0530 Received: from NDA-HCLT-EVS05.HCLT.CORP.HCL.IN ([169.254.2.204]) by nda-hclt-ht01.HCLT.CORP.HCL.IN ([::1]) with mapi; Wed, 18 Jan 2012 10:25:04 +0530 From: Asha Subramanian To: Dave Brosius , "user@cassandra.apache.org" Date: Wed, 18 Jan 2012 10:24:58 +0530 Subject: RE: Problems Starting Cassandra Server - Thread-Topic: Problems Starting Cassandra Server - Thread-Index: AczVkn9Lg7RmGp8RS3isnqnCo5wUUQACrzow Message-ID: References: <004a01ccd436$41307900$c3916b00$@com> <4F15FE7C.1040001@morningstar.com> <4F163E63.1050603@mebigfatguy.com> In-Reply-To: <4F163E63.1050603@mebigfatguy.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: acceptlanguage: en-US Content-Type: multipart/mixed; boundary="_004_D79EEBEACB4D9545BA8B0B381ECDD4B201359CCB29F9NDAHCLTEVS0_" MIME-Version: 1.0 X-Virus-Checked: Checked by ClamAV on apache.org --_004_D79EEBEACB4D9545BA8B0B381ECDD4B201359CCB29F9NDAHCLTEVS0_ Content-Type: multipart/alternative; boundary="_000_D79EEBEACB4D9545BA8B0B381ECDD4B201359CCB29F9NDAHCLTEVS0_" --_000_D79EEBEACB4D9545BA8B0B381ECDD4B201359CCB29F9NDAHCLTEVS0_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Here is the yaml file.. Thanks From: Dave Brosius [mailto:dbrosius@mebigfatguy.com] Sent: Wednesday, January 18, 2012 9:07 AM To: user@cassandra.apache.org; Asha Subramanian Subject: Re: Problems Starting Cassandra Server - It probably would be useful to know what your yaml file looks like. On 01/17/2012 08:58 PM, Asha Subramanian wrote: I am a new user of Cassandra and want to understand the basics of Cassandra= before moving to cluster installations etc.. I picked up the latest version of Cassandra from the home page 1.0.7 releas= ed on 2012/01/16. I am installing on Windows 7 I have followed all the instx for changing the Cassandra.yaml and also the = environment variables.. However when I start the server, I get the followin= g error - What could be the problem ??? F:\cassandra\bin>cassandra.bat Starting Cassandra Server INFO 07:22:37,766 Logging initialized INFO 07:22:37,828 JVM vendor/version: Java HotSpot(TM) Client VM/1.6.0_30 INFO 07:22:37,844 Heap size: 1070399488/1070399488 INFO 07:22:37,844 Classpath: F:\cassandra\conf;F:\cassandra\lib\antlr-3.2.j= ar;F :\cassandra\lib\apache-cassandra-1.0.6.jar;F:\cassandra\lib\apache-cassandr= a-cli entutil-1.0.6.jar;F:\cassandra\lib\apache-cassandra-thrift-1.0.6.jar;F:\cas= sandr a\lib\avro-1.4.0-fixes.jar;F:\cassandra\lib\avro-1.4.0-sources-fixes.jar;F:= \cass andra\lib\commons-cli-1.1.jar;F:\cassandra\lib\commons-codec-1.2.jar;F:\cas= sandr a\lib\commons-lang-2.4.jar;F:\cassandra\lib\compress-lzf-0.8.4.jar;F:\cassa= ndra\ lib\concurrentlinkedhashmap-lru-1.2.jar;F:\cassandra\lib\guava-r08.jar;F:\c= assan dra\lib\high-scale-lib-1.1.2.jar;F:\cassandra\lib\jackson-core-asl-1.4.0.ja= r;F:\ cassandra\lib\jackson-mapper-asl-1.4.0.jar;F:\cassandra\lib\jamm-0.2.5.jar;= F:\ca ssandra\lib\jline-0.9.94.jar;F:\cassandra\lib\json-simple-1.1.jar;F:\cassan= dra\l ib\libthrift-0.6.jar;F:\cassandra\lib\log4j-1.2.16.jar;F:\cassandra\lib\ser= vlet- api-2.5-20081211.jar;F:\cassandra\lib\slf4j-api-1.6.1.jar;F:\cassandra\lib\= slf4j -log4j12-1.6.1.jar;F:\cassandra\lib\snakeyaml-1.6.jar;F:\cassandra\lib\snap= py-ja va-1.0.4.1.jar;F:\cassandra\build\classes\main;F:\cassandra\build\classes\t= hrift ;F:\cassandra\lib\jamm-0.2.5.jar INFO 07:22:37,859 JNA not found. Native methods will be disabled. INFO 07:22:37,891 Loading settings from file:/F:/cassandra/conf/cassandra.y= aml ERROR 07:22:38,234 Fatal configuration error error Can't construct a java object for tag:yaml.org,2002:org.apache.cassandra.co= nfig. Config; exception=3DCannot create property=3Ddata_file_directories for Java= Bean=3Dorg. apache.cassandra.config.Config@1329642; No single argument constructor foun= d for class [Ljava.lang.String; in "", line 10, column 1: cluster_name: 'Test Cluster' ^ at org.yaml.snakeyaml.constructor.Constructor$ConstructYamlObject.c= onstr uct(Constructor.java:372) at org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(B= aseCo nstructor.java:177) at org.yaml.snakeyaml.constructor.BaseConstructor.constructDocument= (Base Constructor.java:136) at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(Bas= eCons tructor.java:122) at org.yaml.snakeyaml.Loader.load(Loader.java:52) at org.yaml.snakeyaml.Yaml.load(Yaml.java:166) at org.apache.cassandra.config.DatabaseDescriptor.(Database= Descr iptor.java:133) at org.apache.cassandra.service.AbstractCassandraDaemon.setup(Abstr= actCa ssandraDaemon.java:125) at org.apache.cassandra.service.AbstractCassandraDaemon.activate(Ab= strac tCassandraDaemon.java:337) at org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon= .java :107) Caused by: org.yaml.snakeyaml.error.YAMLException: Cannot create property= =3Ddata_f ile_directories for JavaBean=3Dorg.apache.cassandra.config.Config@1329642; = No sing le argument constructor found for class [Ljava.lang.String; at org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.cons= truct JavaBean2ndStep(Constructor.java:305) at org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.cons= truct (Constructor.java:184) at org.yaml.snakeyaml.constructor.Constructor$ConstructYamlObject.c= onstr uct(Constructor.java:370) ... 9 more Caused by: org.yaml.snakeyaml.error.YAMLException: No single argument const= ructo r found for class [Ljava.lang.String; at org.yaml.snakeyaml.constructor.Constructor$ConstructScalar.const= ruct( Constructor.java:419) at org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(B= aseCo nstructor.java:177) at org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.cons= truct JavaBean2ndStep(Constructor.java:298) ... 11 more null; Can't construct a java object for tag:yaml.org,2002:org.apache.cassan= dra.c onfig.Config; exception=3DCannot create property=3Ddata_file_directories fo= r JavaBea n=3Dorg.apache.cassandra.config.Config@1329642; No single argument construc= tor fou nd for class [Ljava.lang.String; Invalid yaml; unable to start server. See log for stacktrace. ________________________________ ::DISCLAIMER:: ---------------------------------------------------------------------------= -------------------------------------------- The contents of this e-mail and any attachment(s) are confidential and inte= nded for the named recipient(s) only. It shall not attach any liability on the originator or HCL or its affiliate= s. Any views or opinions presented in this email are solely those of the author and may not necessarily reflect t= he opinions of HCL or its affiliates. Any form of reproduction, dissemination, copying, disclosure, modification,= distribution and / or publication of this message without the prior written consent of the author of this e-mail= is strictly prohibited. If you have received this email in error please delete it and notify the sender immedia= tely. Before opening any mail and attachments please check them for viruses and defect. ---------------------------------------------------------------------------= -------------------------------------------- --_000_D79EEBEACB4D9545BA8B0B381ECDD4B201359CCB29F9NDAHCLTEVS0_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Here is the yaml file.= .

 

Thanks

 

From:= Dave Brosius [mailt= o:dbrosius@mebigfatguy.com]
Sent: Wednesday, January 18, 2012 9:07 AM
To: user@cassandra.apache.org; Asha Subramanian
Subject: Re: Problems Starting Cassandra Server -
<= /p>

 

It probably would be useful to know what your yaml f= ile looks like.

On 01/17/2012 08:58 PM, Asha Subramanian wrote:

 

I am a new user of Cas= sandra and want to understand the basics of Cassandra before moving to clus= ter installations etc..

 

I picked up the latest= version of Cassandra from the home page 1.0.7 released on 2012/01/16. I am= installing on Windows 7

 

I have followed all th= e instx for changing the Cassandra.yaml and also the environment variables.= . However when I start the server, I get the following error –

 

What could be the prob= lem ???

 

F:\cassandra\bin>ca= ssandra.bat

Starting Cassandra Ser= ver

INFO 07:22:37,766 Logg= ing initialized

INFO 07:22:37,828 JVM = vendor/version: Java HotSpot(TM) Client VM/1.6.0_30

INFO 07:22:37,844 Heap= size: 1070399488/1070399488

INFO 07:22:37,844 Clas= spath: F:\cassandra\conf;F:\cassandra\lib\antlr-3.2.jar;F=

:\cassandra\lib\apache= -cassandra-1.0.6.jar;F:\cassandra\lib\apache-cassandra-cli

entutil-1.0.6.jar;F:\c= assandra\lib\apache-cassandra-thrift-1.0.6.jar;F:\cassandr

a\lib\avro-1.4.0-fixes= .jar;F:\cassandra\lib\avro-1.4.0-sources-fixes.jar;F:\cass

andra\lib\commons-cli-= 1.1.jar;F:\cassandra\lib\commons-codec-1.2.jar;F:\cassandr

a\lib\commons-lang-2.4= .jar;F:\cassandra\lib\compress-lzf-0.8.4.jar;F:\cassandra\

lib\concurrentlinkedha= shmap-lru-1.2.jar;F:\cassandra\lib\guava-r08.jar;F:\cassan

dra\lib\high-scale-lib= -1.1.2.jar;F:\cassandra\lib\jackson-core-asl-1.4.0.jar;F:\

cassandra\lib\jackson-= mapper-asl-1.4.0.jar;F:\cassandra\lib\jamm-0.2.5.jar;F:\ca

ssandra\lib\jline-0.9.= 94.jar;F:\cassandra\lib\json-simple-1.1.jar;F:\cassandra\l

ib\libthrift-0.6.jar;F= :\cassandra\lib\log4j-1.2.16.jar;F:\cassandra\lib\servlet-

api-2.5-20081211.jar;F= :\cassandra\lib\slf4j-api-1.6.1.jar;F:\cassandra\lib\slf4j

-log4j12-1.6.1.jar;F:\= cassandra\lib\snakeyaml-1.6.jar;F:\cassandra\lib\snappy-ja

va-1.0.4.1.jar;F:\cass= andra\build\classes\main;F:\cassandra\build\classes\thrift

;F:\cassandra\lib\jamm= -0.2.5.jar

INFO 07:22:37,859 JNA = not found. Native methods will be disabled.

INFO 07:22:37,891 Load= ing settings from file:/F:/cassandra/con= f/cassandra.yaml

ERROR 07:22:38,234 Fat= al configuration error error

Can't construct a java= object for tag:yaml.org,2002:org.apache.cassandra.config.

Config; exception=3DCa= nnot create property=3Ddata_file_directories for JavaBean=3Dorg.

apache.cassandra.confi= g.Config@1329642; No single argument constructor found for

class [Ljava.lang.Stri= ng;

in "<reader>= ;", line 10, column 1:

    clu= ster_name: 'Test Cluster'

    ^

 

   &nbs= p;    at org.yaml.snakeyaml.constructor.Constructor$Construc= tYamlObject.constr

uct(Constructor.java:3= 72)

   &nbs= p;    at org.yaml.snakeyaml.constructor.BaseConstructor.cons= tructObject(BaseCo

nstructor.java:177)

   &nbs= p;    at org.yaml.snakeyaml.constructor.BaseConstructor.cons= tructDocument(Base

Constructor.java:136)<= /span>

   &nbs= p;    at org.yaml.snakeyaml.constructor.BaseConstructor.getS= ingleData(BaseCons

tructor.java:122)

   &nbs= p;    at org.yaml.snakeyaml.Loader.load(Loader.java:52)

   &nbs= p;    at org.yaml.snakeyaml.Yaml.load(Yaml.java:166)<= o:p>

   &nbs= p;    at org.apache.cassandra.config.DatabaseDescriptor.<= clinit>(DatabaseDescr

iptor.java:133)=

   &nbs= p;    at org.apache.cassandra.service.AbstractCassandraDaemo= n.setup(AbstractCa

ssandraDaemon.java:125= )

   &nbs= p;    at org.apache.cassandra.service.AbstractCassandraDaemo= n.activate(Abstrac

tCassandraDaemon.java:= 337)

   &nbs= p;    at org.apache.cassandra.thrift.CassandraDaemon.main(Ca= ssandraDaemon.java

:107)

Caused by: org.yaml.sn= akeyaml.error.YAMLException: Cannot create property=3Ddata_f

ile_directories for Ja= vaBean=3Dorg.apache.cassandra.config.Config@1329642; No sing

le argument constructo= r found for class [Ljava.lang.String;

   &nbs= p;    at org.yaml.snakeyaml.constructor.Constructor$Construc= tMapping.construct

JavaBean2ndStep(Constr= uctor.java:305)

   &nbs= p;    at org.yaml.snakeyaml.constructor.Constructor$Construc= tMapping.construct

(Constructor.java:184)=

   &nbs= p;    at org.yaml.snakeyaml.constructor.Constructor$Construc= tYamlObject.constr

uct(Constructor.java:3= 70)

   &nbs= p;    ... 9 more

Caused by: org.yaml.sn= akeyaml.error.YAMLException: No single argument constructo

r found for class [Lja= va.lang.String;

   &nbs= p;    at org.yaml.snakeyaml.constructor.Constructor$Construc= tScalar.construct(

Constructor.java:419)<= /span>

   &nbs= p;    at org.yaml.snakeyaml.constructor.BaseConstructor.cons= tructObject(BaseCo

nstructor.java:177)

   &nbs= p;    at org.yaml.snakeyaml.constructor.Constructor$Construc= tMapping.construct

JavaBean2ndStep(Constr= uctor.java:298)

   &nbs= p;    ... 11 more

null; Can't construct = a java object for tag:yaml.org,2002:org.apache.cassandra.c

onfig.Config; exceptio= n=3DCannot create property=3Ddata_file_directories for JavaBea<= /o:p>

n=3Dorg.apache.cassand= ra.config.Config@1329642; No single argument constructor fou

nd for class [Ljava.la= ng.String;

Invalid yaml; unable t= o start server.  See log for stacktrace.

 

 

 



::DISCLAIMER::
---------------------------------------------------------------------------= --------------------------------------------

The contents of this e-mail and any attachment(s) are confidential and inte= nded for the named recipient(s) only.
It shall not attach any liability on the originator or HCL or its affiliate= s. Any views or opinions presented in
this email are solely those of the author and may not necessarily reflect t= he opinions of HCL or its affiliates.
Any form of reproduction, dissemination, copying, disclosure, modification,= distribution and / or publication of
this message without the prior written consent of the author of this e-mail= is strictly prohibited. If you have
received this email in error please delete it and notify the sender immedia= tely. Before opening any mail and
attachments please check them for viruses and defect.

---------------------------------------------------------------------------= --------------------------------------------
--_000_D79EEBEACB4D9545BA8B0B381ECDD4B201359CCB29F9NDAHCLTEVS0_-- --_004_D79EEBEACB4D9545BA8B0B381ECDD4B201359CCB29F9NDAHCLTEVS0_ Content-Type: application/octet-stream; name="cassandra.yaml" Content-Description: cassandra.yaml Content-Disposition: attachment; filename="cassandra.yaml"; size=19594; creation-date="Mon, 16 Jan 2012 13:26:24 GMT"; modification-date="Mon, 16 Jan 2012 13:42:19 GMT" Content-Transfer-Encoding: base64 IyBDYXNzYW5kcmEgc3RvcmFnZSBjb25maWcgWUFNTCANCg0KIyBOT1RFOg0KIyAgIFNlZSBodHRw Oi8vd2lraS5hcGFjaGUub3JnL2Nhc3NhbmRyYS9TdG9yYWdlQ29uZmlndXJhdGlvbiBmb3INCiMg ICBmdWxsIGV4cGxhbmF0aW9ucyBvZiBjb25maWd1cmF0aW9uIGRpcmVjdGl2ZXMNCiMgL05PVEUN Cg0KIyBUaGUgbmFtZSBvZiB0aGUgY2x1c3Rlci4gVGhpcyBpcyBtYWlubHkgdXNlZCB0byBwcmV2 ZW50IG1hY2hpbmVzIGluDQojIG9uZSBsb2dpY2FsIGNsdXN0ZXIgZnJvbSBqb2luaW5nIGFub3Ro ZXIuDQpjbHVzdGVyX25hbWU6ICdUZXN0IENsdXN0ZXInDQoNCiMgWW91IHNob3VsZCBhbHdheXMg c3BlY2lmeSBJbml0aWFsVG9rZW4gd2hlbiBzZXR0aW5nIHVwIGEgcHJvZHVjdGlvbg0KIyBjbHVz dGVyIGZvciB0aGUgZmlyc3QgdGltZSwgYW5kIG9mdGVuIHdoZW4gYWRkaW5nIGNhcGFjaXR5IGxh dGVyLg0KIyBUaGUgcHJpbmNpcGxlIGlzIHRoYXQgZWFjaCBub2RlIHNob3VsZCBiZSBnaXZlbiBh biBlcXVhbCBzbGljZSBvZg0KIyB0aGUgdG9rZW4gcmluZzsgc2VlIGh0dHA6Ly93aWtpLmFwYWNo ZS5vcmcvY2Fzc2FuZHJhL09wZXJhdGlvbnMNCiMgZm9yIG1vcmUgZGV0YWlscy4NCiMNCiMgSWYg YmxhbmssIENhc3NhbmRyYSB3aWxsIHJlcXVlc3QgYSB0b2tlbiBiaXNlY3RpbmcgdGhlIHJhbmdl IG9mDQojIHRoZSBoZWF2aWVzdC1sb2FkZWQgZXhpc3Rpbmcgbm9kZS4gIElmIHRoZXJlIGlzIG5v IGxvYWQgaW5mb3JtYXRpb24NCiMgYXZhaWxhYmxlLCBzdWNoIGFzIGlzIHRoZSBjYXNlIHdpdGgg YSBuZXcgY2x1c3RlciwgaXQgd2lsbCBwaWNrDQojIGEgcmFuZG9tIHRva2VuLCB3aGljaCB3aWxs IGxlYWQgdG8gaG90IHNwb3RzLg0KaW5pdGlhbF90b2tlbjoNCg0KIyBTZWUgaHR0cDovL3dpa2ku YXBhY2hlLm9yZy9jYXNzYW5kcmEvSGludGVkSGFuZG9mZg0KaGludGVkX2hhbmRvZmZfZW5hYmxl ZDogdHJ1ZQ0KIyB0aGlzIGRlZmluZXMgdGhlIG1heGltdW0gYW1vdW50IG9mIHRpbWUgYSBkZWFk IGhvc3Qgd2lsbCBoYXZlIGhpbnRzDQojIGdlbmVyYXRlZC4gIEFmdGVyIGl0IGhhcyBiZWVuIGRl YWQgdGhpcyBsb25nLCBoaW50cyB3aWxsIGJlIGRyb3BwZWQuDQptYXhfaGludF93aW5kb3dfaW5f bXM6IDM2MDAwMDAgIyBvbmUgaG91cg0KIyBTbGVlcCB0aGlzIGxvbmcgYWZ0ZXIgZGVsaXZlcmlu ZyBlYWNoIHJvdyBvciByb3cgZnJhZ21lbnQNCmhpbnRlZF9oYW5kb2ZmX3Rocm90dGxlX2RlbGF5 X2luX21zOiA1MA0KDQojIGF1dGhlbnRpY2F0aW9uIGJhY2tlbmQsIGltcGxlbWVudGluZyBJQXV0 aGVudGljYXRvcjsgdXNlZCB0byBpZGVudGlmeSB1c2Vycw0KYXV0aGVudGljYXRvcjogb3JnLmFw YWNoZS5jYXNzYW5kcmEuYXV0aC5BbGxvd0FsbEF1dGhlbnRpY2F0b3INCg0KIyBhdXRob3JpemF0 aW9uIGJhY2tlbmQsIGltcGxlbWVudGluZyBJQXV0aG9yaXR5OyB1c2VkIHRvIGxpbWl0IGFjY2Vz cy9wcm92aWRlIHBlcm1pc3Npb25zDQphdXRob3JpdHk6IG9yZy5hcGFjaGUuY2Fzc2FuZHJhLmF1 dGguQWxsb3dBbGxBdXRob3JpdHkNCg0KIyBUaGUgcGFydGl0aW9uZXIgaXMgcmVzcG9uc2libGUg Zm9yIGRpc3RyaWJ1dGluZyByb3dzIChieSBrZXkpIGFjcm9zcw0KIyBub2RlcyBpbiB0aGUgY2x1 c3Rlci4gIEFueSBJUGFydGl0aW9uZXIgbWF5IGJlIHVzZWQsIGluY2x1ZGluZyB5b3VyDQojIG93 biBhcyBsb25nIGFzIGl0IGlzIG9uIHRoZSBjbGFzc3BhdGguICBPdXQgb2YgdGhlIGJveCwgQ2Fz c2FuZHJhDQojIHByb3ZpZGVzIG9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRodC5SYW5kb21QYXJ0aXRp b25lcg0KIyBvcmcuYXBhY2hlLmNhc3NhbmRyYS5kaHQuQnl0ZU9yZGVyZWRQYXJ0aXRpb25lciwN CiMgb3JnLmFwYWNoZS5jYXNzYW5kcmEuZGh0Lk9yZGVyUHJlc2VydmluZ1BhcnRpdGlvbmVyIChk ZXByZWNhdGVkKSwNCiMgYW5kIG9yZy5hcGFjaGUuY2Fzc2FuZHJhLmRodC5Db2xsYXRpbmdPcmRl clByZXNlcnZpbmdQYXJ0aXRpb25lcg0KIyAoZGVwcmVjYXRlZCkuDQojIA0KIyAtIFJhbmRvbVBh cnRpdGlvbmVyIGRpc3RyaWJ1dGVzIHJvd3MgYWNyb3NzIHRoZSBjbHVzdGVyIGV2ZW5seSBieSBt ZDUuDQojICAgV2hlbiBpbiBkb3VidCwgdGhpcyBpcyB0aGUgYmVzdCBvcHRpb24uDQojIC0gQnl0 ZU9yZGVyZWRQYXJ0aXRpb25lciBvcmRlcnMgcm93cyBsZXhpY2FsbHkgYnkga2V5IGJ5dGVzLiAg Qk9QIGFsbG93cw0KIyAgIHNjYW5uaW5nIHJvd3MgaW4ga2V5IG9yZGVyLCBidXQgdGhlIG9yZGVy aW5nIGNhbiBnZW5lcmF0ZSBob3Qgc3BvdHMNCiMgICBmb3Igc2VxdWVudGlhbCBpbnNlcnRpb24g d29ya2xvYWRzLg0KIyAtIE9yZGVyUHJlc2VydmluZ1BhcnRpdGlvbmVyIGlzIGFuIG9ic29sZXRl IGZvcm0gb2YgQk9QLCB0aGF0IHN0b3Jlcw0KIyAtIGtleXMgaW4gYSBsZXNzLWVmZmljaWVudCBm b3JtYXQgYW5kIG9ubHkgd29ya3Mgd2l0aCBrZXlzIHRoYXQgYXJlDQojICAgVVRGOC1lbmNvZGVk IFN0cmluZ3MuDQojIC0gQ29sbGF0aW5nT1BQIGNvbGF0ZXMgYWNjb3JkaW5nIHRvIEVOLFVTIHJ1 bGVzIHJhdGhlciB0aGFuIGxleGljYWwgYnl0ZQ0KIyAgIG9yZGVyaW5nLiAgVXNlIHRoaXMgYXMg YW4gZXhhbXBsZSBpZiB5b3UgbmVlZCBjdXN0b20gY29sbGF0aW9uLg0KIw0KIyBTZWUgaHR0cDov L3dpa2kuYXBhY2hlLm9yZy9jYXNzYW5kcmEvT3BlcmF0aW9ucyBmb3IgbW9yZSBvbg0KIyBwYXJ0 aXRpb25lcnMgYW5kIHRva2VuIHNlbGVjdGlvbi4NCnBhcnRpdGlvbmVyOiBvcmcuYXBhY2hlLmNh c3NhbmRyYS5kaHQuUmFuZG9tUGFydGl0aW9uZXINCg0KIyBkaXJlY3RvcmllcyB3aGVyZSBDYXNz YW5kcmEgc2hvdWxkIHN0b3JlIGRhdGEgb24gZGlzay4NCmRhdGFfZmlsZV9kaXJlY3Rvcmllczog RjpcY2Fzc2FuZHJhXGRhdGENCg0KIyBjb21taXQgbG9nDQpjb21taXRsb2dfZGlyZWN0b3J5OiBG OlxjYXNzYW5kcmFcY29tbWl0bG9nDQoNCiMgc2F2ZWQgY2FjaGVzDQpzYXZlZF9jYWNoZXNfZGly ZWN0b3J5OiBGOlxjYXNzYW5kcmFcZGF0YVxzYXZlZF9jYWNoZXMNCg0KIyBjb21taXRsb2dfc3lu YyBtYXkgYmUgZWl0aGVyICJwZXJpb2RpYyIgb3IgImJhdGNoLiIgDQojIFdoZW4gaW4gYmF0Y2gg bW9kZSwgQ2Fzc2FuZHJhIHdvbid0IGFjayB3cml0ZXMgdW50aWwgdGhlIGNvbW1pdCBsb2cNCiMg aGFzIGJlZW4gZnN5bmNlZCB0byBkaXNrLiAgSXQgd2lsbCB3YWl0IHVwIHRvDQojIGNvbW1pdGxv Z19zeW5jX2JhdGNoX3dpbmRvd19pbl9tcyBtaWxsaXNlY29uZHMgZm9yIG90aGVyIHdyaXRlcywg YmVmb3JlDQojIHBlcmZvcm1pbmcgdGhlIHN5bmMuDQojDQojIGNvbW1pdGxvZ19zeW5jOiBiYXRj aA0KIyBjb21taXRsb2dfc3luY19iYXRjaF93aW5kb3dfaW5fbXM6IDUwDQojDQojIHRoZSBvdGhl ciBvcHRpb24gaXMgInBlcmlvZGljIiB3aGVyZSB3cml0ZXMgbWF5IGJlIGFja2VkIGltbWVkaWF0 ZWx5DQojIGFuZCB0aGUgQ29tbWl0TG9nIGlzIHNpbXBseSBzeW5jZWQgZXZlcnkgY29tbWl0bG9n X3N5bmNfcGVyaW9kX2luX21zDQojIG1pbGxpc2Vjb25kcy4NCmNvbW1pdGxvZ19zeW5jOiBwZXJp b2RpYw0KY29tbWl0bG9nX3N5bmNfcGVyaW9kX2luX21zOiAxMDAwMA0KDQojIGFueSBjbGFzcyB0 aGF0IGltcGxlbWVudHMgdGhlIFNlZWRQcm92aWRlciBpbnRlcmZhY2UgYW5kIGhhcyBhDQojIGNv bnN0cnVjdG9yIHRoYXQgdGFrZXMgYSBNYXA8U3RyaW5nLCBTdHJpbmc+IG9mIHBhcmFtZXRlcnMg d2lsbCBkby4NCnNlZWRfcHJvdmlkZXI6DQogICAgIyBBZGRyZXNzZXMgb2YgaG9zdHMgdGhhdCBh cmUgZGVlbWVkIGNvbnRhY3QgcG9pbnRzLiANCiAgICAjIENhc3NhbmRyYSBub2RlcyB1c2UgdGhp cyBsaXN0IG9mIGhvc3RzIHRvIGZpbmQgZWFjaCBvdGhlciBhbmQgbGVhcm4NCiAgICAjIHRoZSB0 b3BvbG9neSBvZiB0aGUgcmluZy4gIFlvdSBtdXN0IGNoYW5nZSB0aGlzIGlmIHlvdSBhcmUgcnVu bmluZw0KICAgICMgbXVsdGlwbGUgbm9kZXMhDQogICAgLSBjbGFzc19uYW1lOiBvcmcuYXBhY2hl LmNhc3NhbmRyYS5sb2NhdG9yLlNpbXBsZVNlZWRQcm92aWRlcg0KICAgICAgcGFyYW1ldGVyczoN CiAgICAgICAgICAjIHNlZWRzIGlzIGFjdHVhbGx5IGEgY29tbWEtZGVsaW1pdGVkIGxpc3Qgb2Yg YWRkcmVzc2VzLg0KICAgICAgICAgICMgRXg6ICI8aXAxPiw8aXAyPiw8aXAzPiINCiAgICAgICAg ICAtIHNlZWRzOiAiMTI3LjAuMC4xIg0KDQojIGVtZXJnZW5jeSBwcmVzc3VyZSB2YWx2ZTogZWFj aCB0aW1lIGhlYXAgdXNhZ2UgYWZ0ZXIgYSBmdWxsIChDTVMpDQojIGdhcmJhZ2UgY29sbGVjdGlv biBpcyBhYm92ZSB0aGlzIGZyYWN0aW9uIG9mIHRoZSBtYXgsIENhc3NhbmRyYSB3aWxsDQojIGZs dXNoIHRoZSBsYXJnZXN0IG1lbXRhYmxlcy4gIA0KIw0KIyBTZXQgdG8gMS4wIHRvIGRpc2FibGUu ICBTZXR0aW5nIHRoaXMgbG93ZXIgdGhhbg0KIyBDTVNJbml0aWF0aW5nT2NjdXBhbmN5RnJhY3Rp b24gaXMgbm90IGxpa2VseSB0byBiZSB1c2VmdWwuDQojDQojIFJFTFlJTkcgT04gVEhJUyBBUyBZ T1VSIFBSSU1BUlkgVFVOSU5HIE1FQ0hBTklTTSBXSUxMIFdPUksgUE9PUkxZOg0KIyBpdCBpcyBt b3N0IGVmZmVjdGl2ZSB1bmRlciBsaWdodCB0byBtb2RlcmF0ZSBsb2FkLCBvciByZWFkLWhlYXZ5 DQojIHdvcmtsb2FkczsgdW5kZXIgdHJ1bHkgbWFzc2l2ZSB3cml0ZSBsb2FkLCBpdCB3aWxsIG9m dGVuIGJlIHRvbw0KIyBsaXR0bGUsIHRvbyBsYXRlLg0KZmx1c2hfbGFyZ2VzdF9tZW10YWJsZXNf YXQ6IDAuNzUNCg0KIyBlbWVyZ2VuY3kgcHJlc3N1cmUgdmFsdmUgIzI6IHRoZSBmaXJzdCB0aW1l IGhlYXAgdXNhZ2UgYWZ0ZXIgYSBmdWxsDQojIChDTVMpIGdhcmJhZ2UgY29sbGVjdGlvbiBpcyBh Ym92ZSB0aGlzIGZyYWN0aW9uIG9mIHRoZSBtYXgsDQojIENhc3NhbmRyYSB3aWxsIHJlZHVjZSBj YWNoZSBtYXhpbXVtIF9jYXBhY2l0eV8gdG8gdGhlIGdpdmVuIGZyYWN0aW9uDQojIG9mIHRoZSBj dXJyZW50IF9zaXplXy4gIFNob3VsZCB1c3VhbGx5IGJlIHNldCBzdWJzdGFudGlhbGx5IGFib3Zl DQojIGZsdXNoX2xhcmdlc3RfbWVtdGFibGVzX2F0LCBzaW5jZSB0aGF0IHdpbGwgaGF2ZSBsZXNz IGxvbmctdGVybQ0KIyBpbXBhY3Qgb24gdGhlIHN5c3RlbS4gIA0KIyANCiMgU2V0IHRvIDEuMCB0 byBkaXNhYmxlLiAgU2V0dGluZyB0aGlzIGxvd2VyIHRoYW4NCiMgQ01TSW5pdGlhdGluZ09jY3Vw YW5jeUZyYWN0aW9uIGlzIG5vdCBsaWtlbHkgdG8gYmUgdXNlZnVsLg0KcmVkdWNlX2NhY2hlX3Np emVzX2F0OiAwLjg1DQpyZWR1Y2VfY2FjaGVfY2FwYWNpdHlfdG86IDAuNg0KDQojIEZvciB3b3Jr bG9hZHMgd2l0aCBtb3JlIGRhdGEgdGhhbiBjYW4gZml0IGluIG1lbW9yeSwgQ2Fzc2FuZHJhJ3MN CiMgYm90dGxlbmVjayB3aWxsIGJlIHJlYWRzIHRoYXQgbmVlZCB0byBmZXRjaCBkYXRhIGZyb20N CiMgZGlzay4gImNvbmN1cnJlbnRfcmVhZHMiIHNob3VsZCBiZSBzZXQgdG8gKDE2ICogbnVtYmVy X29mX2RyaXZlcykgaW4NCiMgb3JkZXIgdG8gYWxsb3cgdGhlIG9wZXJhdGlvbnMgdG8gZW5xdWV1 ZSBsb3cgZW5vdWdoIGluIHRoZSBzdGFjaw0KIyB0aGF0IHRoZSBPUyBhbmQgZHJpdmVzIGNhbiBy ZW9yZGVyIHRoZW0uDQojDQojIE9uIHRoZSBvdGhlciBoYW5kLCBzaW5jZSB3cml0ZXMgYXJlIGFs bW9zdCBuZXZlciBJTyBib3VuZCwgdGhlIGlkZWFsDQojIG51bWJlciBvZiAiY29uY3VycmVudF93 cml0ZXMiIGlzIGRlcGVuZGVudCBvbiB0aGUgbnVtYmVyIG9mIGNvcmVzIGluDQojIHlvdXIgc3lz dGVtOyAoOCAqIG51bWJlcl9vZl9jb3JlcykgaXMgYSBnb29kIHJ1bGUgb2YgdGh1bWIuDQpjb25j dXJyZW50X3JlYWRzOiAzMg0KY29uY3VycmVudF93cml0ZXM6IDMyDQoNCiMgVG90YWwgbWVtb3J5 IHRvIHVzZSBmb3IgbWVtdGFibGVzLiAgQ2Fzc2FuZHJhIHdpbGwgZmx1c2ggdGhlIGxhcmdlc3QN CiMgbWVtdGFibGUgd2hlbiB0aGlzIG11Y2ggbWVtb3J5IGlzIHVzZWQuDQojIElmIG9taXR0ZWQs IENhc3NhbmRyYSB3aWxsIHNldCBpdCB0byAxLzMgb2YgdGhlIGhlYXAuDQojIG1lbXRhYmxlX3Rv dGFsX3NwYWNlX2luX21iOiAyMDQ4DQoNCiMgVG90YWwgc3BhY2UgdG8gdXNlIGZvciBjb21taXRs b2dzLiANCiMgSWYgc3BhY2UgZ2V0cyBhYm92ZSB0aGlzIHZhbHVlIChpdCB3aWxsIHJvdW5kIHVw IHRvIHRoZSBuZXh0IG5lYXJlc3QNCiMgc2VnbWVudCBtdWx0aXBsZSksIENhc3NhbmRyYSB3aWxs IGZsdXNoIGV2ZXJ5IGRpcnR5IENGIGluIHRoZSBvbGRlc3QNCiMgc2VnbWVudCBhbmQgcmVtb3Zl IGl0Lg0KIyBjb21taXRsb2dfdG90YWxfc3BhY2VfaW5fbWI6IDQwOTYNCg0KIyBUaGlzIHNldHMg dGhlIGFtb3VudCBvZiBtZW10YWJsZSBmbHVzaCB3cml0ZXIgdGhyZWFkcy4gIFRoZXNlIHdpbGwN CiMgYmUgYmxvY2tlZCBieSBkaXNrIGlvLCBhbmQgZWFjaCBvbmUgd2lsbCBob2xkIGEgbWVtdGFi bGUgaW4gbWVtb3J5DQojIHdoaWxlIGJsb2NrZWQuIElmIHlvdSBoYXZlIGEgbGFyZ2UgaGVhcCBh bmQgbWFueSBkYXRhIGRpcmVjdG9yaWVzLA0KIyB5b3UgY2FuIGluY3JlYXNlIHRoaXMgdmFsdWUg Zm9yIGJldHRlciBmbHVzaCBwZXJmb3JtYW5jZS4NCiMgQnkgZGVmYXVsdCB0aGlzIHdpbGwgYmUg c2V0IHRvIHRoZSBhbW91bnQgb2YgZGF0YSBkaXJlY3RvcmllcyBkZWZpbmVkLg0KI21lbXRhYmxl X2ZsdXNoX3dyaXRlcnM6IDENCg0KIyB0aGUgbnVtYmVyIG9mIGZ1bGwgbWVtdGFibGVzIHRvIGFs bG93IHBlbmRpbmcgZmx1c2gsIHRoYXQgaXMsDQojIHdhaXRpbmcgZm9yIGEgd3JpdGVyIHRocmVh ZC4gIEF0IGEgbWluaW11bSwgdGhpcyBzaG91bGQgYmUgc2V0IHRvDQojIHRoZSBtYXhpbXVtIG51 bWJlciBvZiBzZWNvbmRhcnkgaW5kZXhlcyBjcmVhdGVkIG9uIGEgc2luZ2xlIENGLg0KbWVtdGFi bGVfZmx1c2hfcXVldWVfc2l6ZTogNA0KDQojIEJ1ZmZlciBzaXplIHRvIHVzZSB3aGVuIHBlcmZv cm1pbmcgY29udGlndW91cyBjb2x1bW4gc2xpY2VzLiANCiMgSW5jcmVhc2UgdGhpcyB0byB0aGUg c2l6ZSBvZiB0aGUgY29sdW1uIHNsaWNlcyB5b3UgdHlwaWNhbGx5IHBlcmZvcm0NCnNsaWNlZF9i dWZmZXJfc2l6ZV9pbl9rYjogNjQNCg0KIyBUQ1AgcG9ydCwgZm9yIGNvbW1hbmRzIGFuZCBkYXRh DQpzdG9yYWdlX3BvcnQ6IDcwMDANCg0KIyBTU0wgcG9ydCwgZm9yIGVuY3J5cHRlZCBjb21tdW5p Y2F0aW9uLiAgVW51c2VkIHVubGVzcyBlbmFibGVkIGluDQojIGVuY3J5cHRpb25fb3B0aW9ucw0K c3NsX3N0b3JhZ2VfcG9ydDogNzAwMQ0KDQojIEFkZHJlc3MgdG8gYmluZCB0byBhbmQgdGVsbCBv dGhlciBDYXNzYW5kcmEgbm9kZXMgdG8gY29ubmVjdCB0by4gWW91DQojIF9tdXN0XyBjaGFuZ2Ug dGhpcyBpZiB5b3Ugd2FudCBtdWx0aXBsZSBub2RlcyB0byBiZSBhYmxlIHRvDQojIGNvbW11bmlj YXRlIQ0KIyANCiMgTGVhdmluZyBpdCBibGFuayBsZWF2ZXMgaXQgdXAgdG8gSW5ldEFkZHJlc3Mu Z2V0TG9jYWxIb3N0KCkuIFRoaXMNCiMgd2lsbCBhbHdheXMgZG8gdGhlIFJpZ2h0IFRoaW5nICpp ZiogdGhlIG5vZGUgaXMgcHJvcGVybHkgY29uZmlndXJlZA0KIyAoaG9zdG5hbWUsIG5hbWUgcmVz b2x1dGlvbiwgZXRjKSwgYW5kIHRoZSBSaWdodCBUaGluZyBpcyB0byB1c2UgdGhlDQojIGFkZHJl c3MgYXNzb2NpYXRlZCB3aXRoIHRoZSBob3N0bmFtZSAoaXQgbWlnaHQgbm90IGJlKS4NCiMNCiMg U2V0dGluZyB0aGlzIHRvIDAuMC4wLjAgaXMgYWx3YXlzIHdyb25nLg0KbGlzdGVuX2FkZHJlc3M6 IGxvY2FsaG9zdA0KDQojIEFkZHJlc3MgdG8gYnJvYWRjYXN0IHRvIG90aGVyIENhc3NhbmRyYSBu b2Rlcw0KIyBMZWF2aW5nIHRoaXMgYmxhbmsgd2lsbCBzZXQgaXQgdG8gdGhlIHNhbWUgdmFsdWUg YXMgbGlzdGVuX2FkZHJlc3MNCiMgYnJvYWRjYXN0X2FkZHJlc3M6IDEuMi4zLjQNCg0KIyBUaGUg YWRkcmVzcyB0byBiaW5kIHRoZSBUaHJpZnQgUlBDIHNlcnZpY2UgdG8gLS0gY2xpZW50cyBjb25u ZWN0DQojIGhlcmUuIFVubGlrZSBMaXN0ZW5BZGRyZXNzIGFib3ZlLCB5b3UgKmNhbiogc3BlY2lm eSAwLjAuMC4wIGhlcmUgaWYNCiMgeW91IHdhbnQgVGhyaWZ0IHRvIGxpc3RlbiBvbiBhbGwgaW50 ZXJmYWNlcy4NCiMgDQojIExlYXZpbmcgdGhpcyBibGFuayBoYXMgdGhlIHNhbWUgZWZmZWN0IGl0 IGRvZXMgZm9yIExpc3RlbkFkZHJlc3MsDQojIChpLmUuIGl0IHdpbGwgYmUgYmFzZWQgb24gdGhl IGNvbmZpZ3VyZWQgaG9zdG5hbWUgb2YgdGhlIG5vZGUpLg0KcnBjX2FkZHJlc3M6IGxvY2FsaG9z dA0KIyBwb3J0IGZvciBUaHJpZnQgdG8gbGlzdGVuIGZvciBjbGllbnRzIG9uDQpycGNfcG9ydDog OTE2MA0KDQojIGVuYWJsZSBvciBkaXNhYmxlIGtlZXBhbGl2ZSBvbiBycGMgY29ubmVjdGlvbnMN CnJwY19rZWVwYWxpdmU6IHRydWUNCg0KIyBDYXNzYW5kcmEgcHJvdmlkZXMgdGhyZWUgb3B0aW9u cyBmb3IgdGhlIFJQQyBTZXJ2ZXI6DQojDQojIHN5bmMgIC0+IE9uZSBjb25uZWN0aW9uIHBlciB0 aHJlYWQgaW4gdGhlIHJwYyBwb29sIChzZWUgYmVsb3cpLg0KIyAgICAgICAgICBGb3IgYSB2ZXJ5 IGxhcmdlIG51bWJlciBvZiBjbGllbnRzLCBtZW1vcnkgd2lsbCBiZSB5b3VyIGxpbWl0aW5nDQoj ICAgICAgICAgIGZhY3Rvcjsgb24gYSA2NCBiaXQgSlZNLCAxMjhLQiBpcyB0aGUgbWluaW11bSBz dGFjayBzaXplIHBlciB0aHJlYWQuDQojICAgICAgICAgIENvbm5lY3Rpb24gcG9vbGluZyBpcyB2 ZXJ5LCB2ZXJ5IHN0cm9uZ2x5IHJlY29tbWVuZGVkLg0KIw0KIyBhc3luYyAtPiBOb25ibG9ja2lu ZyBzZXJ2ZXIgaW1wbGVtZW50YXRpb24gd2l0aCBvbmUgdGhyZWFkIHRvIHNlcnZlIA0KIyAgICAg ICAgICBycGMgY29ubmVjdGlvbnMuICBUaGlzIGlzIG5vdCByZWNvbW1lbmRlZCBmb3IgaGlnaCB0 aHJvdWdocHV0IHVzZQ0KIyAgICAgICAgICBjYXNlcy4gQXN5bmMgaGFzIGJlZW4gdGVzdGVkIHRv IGJlIGFib3V0IDUwJSBzbG93ZXIgdGhhbiBzeW5jDQojICAgICAgICAgIG9yIGhzaGEgYW5kIGlz IGRlcHJlY2F0ZWQ6IGl0IHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciByZWxlYXNl Lg0KIw0KIyBoc2hhICAtPiBTdGFuZHMgZm9yICJoYWxmIHN5bmNocm9ub3VzLCBoYWxmIGFzeW5j aHJvbm91cy4iIFRoZSBycGMgdGhyZWFkIHBvb2wgDQojICAgICAgICAgIChzZWUgYmVsb3cpIGlz IHVzZWQgdG8gbWFuYWdlIHJlcXVlc3RzLCBidXQgdGhlIHRocmVhZHMgYXJlIG11bHRpcGxleGVk DQojICAgICAgICAgIGFjcm9zcyB0aGUgZGlmZmVyZW50IGNsaWVudHMuDQojDQojIFRoZSBkZWZh dWx0IGlzIHN5bmMgYmVjYXVzZSBvbiBXaW5kb3dzIGhzaGEgaXMgYWJvdXQgMzAlIHNsb3dlci4g IE9uIExpbnV4LA0KIyBzeW5jL2hzaGEgcGVyZm9ybWFuY2UgaXMgYWJvdXQgdGhlIHNhbWUsIHdp dGggaHNoYSBvZiBjb3Vyc2UgdXNpbmcgbGVzcyBtZW1vcnkuDQpycGNfc2VydmVyX3R5cGU6IHN5 bmMNCg0KIyBVbmNvbW1lbnQgcnBjX21pbnxtYXh8dGhyZWFkIHRvIHNldCByZXF1ZXN0IHBvb2wg c2l6ZS4NCiMgWW91IHdvdWxkIHByaW1hcmlseSBzZXQgbWF4IGZvciB0aGUgc3luYyBzZXJ2ZXIg dG8gc2FmZWd1YXJkIGFnYWluc3QNCiMgbWlzYmVoYXZlZCBjbGllbnRzOyBpZiB5b3UgZG8gaGl0 IHRoZSBtYXgsIENhc3NhbmRyYSB3aWxsIGJsb2NrIHVudGlsIG9uZQ0KIyBkaXNjb25uZWN0cyBi ZWZvcmUgYWNjZXB0aW5nIG1vcmUuICBUaGUgZGVmYXVsdHMgZm9yIHN5bmMgYXJlIG1pbiBvZiAx NiBhbmQgbWF4DQojIHVubGltaXRlZC4NCiMgDQojIEZvciB0aGUgSHNoYSBzZXJ2ZXIsIHRoZSBt aW4gYW5kIG1heCBib3RoIGRlZmF1bHQgdG8gcXVhZHJ1cGxlIHRoZSBudW1iZXIgb2YNCiMgQ1BV IGNvcmVzLg0KIw0KIyBUaGlzIGNvbmZpZ3VyYXRpb24gaXMgaWdub3JlZCBieSB0aGUgYXN5bmMg c2VydmVyLg0KIw0KIyBycGNfbWluX3RocmVhZHM6IDE2DQojIHJwY19tYXhfdGhyZWFkczogMjA0 OA0KDQojIHVuY29tbWVudCB0byBzZXQgc29ja2V0IGJ1ZmZlciBzaXplcyBvbiBycGMgY29ubmVj dGlvbnMNCiMgcnBjX3NlbmRfYnVmZl9zaXplX2luX2J5dGVzOg0KIyBycGNfcmVjdl9idWZmX3Np emVfaW5fYnl0ZXM6DQoNCiMgRnJhbWUgc2l6ZSBmb3IgdGhyaWZ0IChtYXhpbXVtIGZpZWxkIGxl bmd0aCkuDQojIDAgZGlzYWJsZXMgVEZyYW1lZFRyYW5zcG9ydCBpbiBmYXZvciBvZiBUU29ja2V0 LiBUaGlzIG9wdGlvbg0KIyBpcyBkZXByZWNhdGVkOyB3ZSBzdHJvbmdseSByZWNvbW1lbmQgdXNp bmcgRnJhbWVkIG1vZGUuDQp0aHJpZnRfZnJhbWVkX3RyYW5zcG9ydF9zaXplX2luX21iOiAxNQ0K DQojIFRoZSBtYXggbGVuZ3RoIG9mIGEgdGhyaWZ0IG1lc3NhZ2UsIGluY2x1ZGluZyBhbGwgZmll bGRzIGFuZA0KIyBpbnRlcm5hbCB0aHJpZnQgb3ZlcmhlYWQuDQp0aHJpZnRfbWF4X21lc3NhZ2Vf bGVuZ3RoX2luX21iOiAxNg0KDQojIFNldCB0byB0cnVlIHRvIGhhdmUgQ2Fzc2FuZHJhIGNyZWF0 ZSBhIGhhcmQgbGluayB0byBlYWNoIHNzdGFibGUNCiMgZmx1c2hlZCBvciBzdHJlYW1lZCBsb2Nh bGx5IGluIGEgYmFja3Vwcy8gc3ViZGlyZWN0b3J5IG9mIHRoZQ0KIyBLZXlzcGFjZSBkYXRhLiAg UmVtb3ZpbmcgdGhlc2UgbGlua3MgaXMgdGhlIG9wZXJhdG9yJ3MNCiMgcmVzcG9uc2liaWxpdHku DQppbmNyZW1lbnRhbF9iYWNrdXBzOiBmYWxzZQ0KDQojIFdoZXRoZXIgb3Igbm90IHRvIHRha2Ug YSBzbmFwc2hvdCBiZWZvcmUgZWFjaCBjb21wYWN0aW9uLiAgQmUNCiMgY2FyZWZ1bCB1c2luZyB0 aGlzIG9wdGlvbiwgc2luY2UgQ2Fzc2FuZHJhIHdvbid0IGNsZWFuIHVwIHRoZQ0KIyBzbmFwc2hv dHMgZm9yIHlvdS4gIE1vc3RseSB1c2VmdWwgaWYgeW91J3JlIHBhcmFub2lkIHdoZW4gdGhlcmUN CiMgaXMgYSBkYXRhIGZvcm1hdCBjaGFuZ2UuDQpzbmFwc2hvdF9iZWZvcmVfY29tcGFjdGlvbjog ZmFsc2UNCg0KIyBBZGQgY29sdW1uIGluZGV4ZXMgdG8gYSByb3cgYWZ0ZXIgaXRzIGNvbnRlbnRz IHJlYWNoIHRoaXMgc2l6ZS4NCiMgSW5jcmVhc2UgaWYgeW91ciBjb2x1bW4gdmFsdWVzIGFyZSBs YXJnZSwgb3IgaWYgeW91IGhhdmUgYSB2ZXJ5IGxhcmdlDQojIG51bWJlciBvZiBjb2x1bW5zLiAg VGhlIGNvbXBldGluZyBjYXVzZXMgYXJlLCBDYXNzYW5kcmEgaGFzIHRvDQojIGRlc2VyaWFsaXpl IHRoaXMgbXVjaCBvZiB0aGUgcm93IHRvIHJlYWQgYSBzaW5nbGUgY29sdW1uLCBzbyB5b3Ugd2Fu dA0KIyBpdCB0byBiZSBzbWFsbCAtIGF0IGxlYXN0IGlmIHlvdSBkbyBtYW55IHBhcnRpYWwtcm93 IHJlYWRzIC0gYnV0IGFsbA0KIyB0aGUgaW5kZXggZGF0YSBpcyByZWFkIGZvciBlYWNoIGFjY2Vz cywgc28geW91IGRvbid0IHdhbnQgdG8gZ2VuZXJhdGUNCiMgdGhhdCB3YXN0ZWZ1bGx5IGVpdGhl ci4NCmNvbHVtbl9pbmRleF9zaXplX2luX2tiOiA2NA0KDQojIFNpemUgbGltaXQgZm9yIHJvd3Mg YmVpbmcgY29tcGFjdGVkIGluIG1lbW9yeS4gIExhcmdlciByb3dzIHdpbGwgc3BpbGwNCiMgb3Zl ciB0byBkaXNrIGFuZCB1c2UgYSBzbG93ZXIgdHdvLXBhc3MgY29tcGFjdGlvbiBwcm9jZXNzLiAg QSBtZXNzYWdlDQojIHdpbGwgYmUgbG9nZ2VkIHNwZWNpZnlpbmcgdGhlIHJvdyBrZXkuDQppbl9t ZW1vcnlfY29tcGFjdGlvbl9saW1pdF9pbl9tYjogNjQNCg0KIyBOdW1iZXIgb2Ygc2ltdWx0YW5l b3VzIGNvbXBhY3Rpb25zIHRvIGFsbG93LCBOT1QgaW5jbHVkaW5nDQojIHZhbGlkYXRpb24gImNv bXBhY3Rpb25zIiBmb3IgYW50aS1lbnRyb3B5IHJlcGFpci4gIFNpbXVsdGFuZW91cw0KIyBjb21w YWN0aW9ucyBjYW4gaGVscCBwcmVzZXJ2ZSByZWFkIHBlcmZvcm1hbmNlIGluIGEgbWl4ZWQgcmVh ZC93cml0ZQ0KIyB3b3JrbG9hZCwgYnkgbWl0aWdhdGluZyB0aGUgdGVuZGVuY3kgb2Ygc21hbGwg c3N0YWJsZXMgdG8gYWNjdW11bGF0ZQ0KIyBkdXJpbmcgYSBzaW5nbGUgbG9uZyBydW5uaW5nIGNv bXBhY3Rpb25zLiBUaGUgZGVmYXVsdCBpcyB1c3VhbGx5DQojIGZpbmUgYW5kIGlmIHlvdSBleHBl cmllbmNlIHByb2JsZW1zIHdpdGggY29tcGFjdGlvbiBydW5uaW5nIHRvbw0KIyBzbG93bHkgb3Ig dG9vIGZhc3QsIHlvdSBzaG91bGQgbG9vayBhdA0KIyBjb21wYWN0aW9uX3Rocm91Z2hwdXRfbWJf cGVyX3NlYyBmaXJzdC4NCiMNCiMgVGhpcyBzZXR0aW5nIGhhcyBubyBlZmZlY3Qgb24gTGV2ZWxl ZENvbXBhY3Rpb25TdHJhdGVneS4NCiMNCiMgY29uY3VycmVudF9jb21wYWN0b3JzIGRlZmF1bHRz IHRvIHRoZSBudW1iZXIgb2YgY29yZXMuDQojIFVuY29tbWVudCB0byBtYWtlIGNvbXBhY3Rpb24g bW9uby10aHJlYWRlZCwgdGhlIHByZS0wLjggZGVmYXVsdC4NCiNjb25jdXJyZW50X2NvbXBhY3Rv cnM6IDENCg0KIyBNdWx0aS10aHJlYWRlZCBjb21wYWN0aW9uLiBXaGVuIGVuYWJsZWQsIGVhY2gg Y29tcGFjdGlvbiB3aWxsIHVzZQ0KIyB1cCB0byBvbmUgdGhyZWFkIHBlciBjb3JlLCBwbHVzIG9u ZSB0aHJlYWQgcGVyIHNzdGFibGUgYmVpbmcgbWVyZ2VkLg0KIyBUaGlzIGlzIHVzdWFsbHkgb25s eSB1c2VmdWwgZm9yIFNTRC1iYXNlZCBoYXJkd2FyZTogb3RoZXJ3aXNlLCANCiMgeW91ciBjb25j ZXJuIGlzIHVzdWFsbHkgdG8gZ2V0IGNvbXBhY3Rpb24gdG8gZG8gTEVTUyBpL28gKHNlZToNCiMg Y29tcGFjdGlvbl90aHJvdWdocHV0X21iX3Blcl9zZWMpLCBub3QgbW9yZS4NCm11bHRpdGhyZWFk ZWRfY29tcGFjdGlvbjogZmFsc2UNCg0KIyBUaHJvdHRsZXMgY29tcGFjdGlvbiB0byB0aGUgZ2l2 ZW4gdG90YWwgdGhyb3VnaHB1dCBhY3Jvc3MgdGhlIGVudGlyZQ0KIyBzeXN0ZW0uIFRoZSBmYXN0 ZXIgeW91IGluc2VydCBkYXRhLCB0aGUgZmFzdGVyIHlvdSBuZWVkIHRvIGNvbXBhY3QgaW4NCiMg b3JkZXIgdG8ga2VlcCB0aGUgc3N0YWJsZSBjb3VudCBkb3duLCBidXQgaW4gZ2VuZXJhbCwgc2V0 dGluZyB0aGlzIHRvDQojIDE2IHRvIDMyIHRpbWVzIHRoZSByYXRlIHlvdSBhcmUgaW5zZXJ0aW5n IGRhdGEgaXMgbW9yZSB0aGFuIHN1ZmZpY2llbnQuDQojIFNldHRpbmcgdGhpcyB0byAwIGRpc2Fi bGVzIHRocm90dGxpbmcuIE5vdGUgdGhhdCB0aGlzIGFjY291bnQgZm9yIGFsbCB0eXBlcw0KIyBv ZiBjb21wYWN0aW9uLCBpbmNsdWRpbmcgdmFsaWRhdGlvbiBjb21wYWN0aW9uLg0KY29tcGFjdGlv bl90aHJvdWdocHV0X21iX3Blcl9zZWM6IDE2DQoNCiMgVHJhY2sgY2FjaGVkIHJvdyBrZXlzIGR1 cmluZyBjb21wYWN0aW9uLCBhbmQgcmUtY2FjaGUgdGhlaXIgbmV3DQojIHBvc2l0aW9ucyBpbiB0 aGUgY29tcGFjdGVkIHNzdGFibGUuICBEaXNhYmxlIGlmIHlvdSB1c2UgcmVhbGx5IGxhcmdlDQoj IGtleSBjYWNoZXMuDQpjb21wYWN0aW9uX3ByZWhlYXRfa2V5X2NhY2hlOiB0cnVlDQoNCiMgVGhy b3R0bGVzIGFsbCBvdXRib3VuZCBzdHJlYW1pbmcgZmlsZSB0cmFuc2ZlcnMgb24gdGhpcyBub2Rl IHRvIHRoZQ0KIyBnaXZlbiB0b3RhbCB0aHJvdWdocHV0IGluIE1icHMuIFRoaXMgaXMgbmVjZXNz YXJ5IGJlY2F1c2UgQ2Fzc2FuZHJhIGRvZXMNCiMgbW9zdGx5IHNlcXVlbnRpYWwgSU8gd2hlbiBz dHJlYW1pbmcgZGF0YSBkdXJpbmcgYm9vdHN0cmFwIG9yIHJlcGFpciwgd2hpY2gNCiMgY2FuIGxl YWQgdG8gc2F0dXJhdGluZyB0aGUgbmV0d29yayBjb25uZWN0aW9uIGFuZCBkZWdyYWRpbmcgcnBj IHBlcmZvcm1hbmNlLg0KIyBXaGVuIHVuc2V0LCB0aGUgZGVmYXVsdCBpcyA0MDAgTWJwcyBvciA1 MCBNQi9zLg0KIyBzdHJlYW1fdGhyb3VnaHB1dF9vdXRib3VuZF9tZWdhYml0c19wZXJfc2VjOiA0 MDANCg0KIyBUaW1lIHRvIHdhaXQgZm9yIGEgcmVwbHkgZnJvbSBvdGhlciBub2RlcyBiZWZvcmUg ZmFpbGluZyB0aGUgY29tbWFuZCANCnJwY190aW1lb3V0X2luX21zOiAxMDAwMA0KDQojIHBoaSB2 YWx1ZSB0aGF0IG11c3QgYmUgcmVhY2hlZCBmb3IgYSBob3N0IHRvIGJlIG1hcmtlZCBkb3duLg0K IyBtb3N0IHVzZXJzIHNob3VsZCBuZXZlciBuZWVkIHRvIGFkanVzdCB0aGlzLg0KIyBwaGlfY29u dmljdF90aHJlc2hvbGQ6IDgNCg0KIyBlbmRwb2ludF9zbml0Y2ggLS0gU2V0IHRoaXMgdG8gYSBj bGFzcyB0aGF0IGltcGxlbWVudHMNCiMgSUVuZHBvaW50U25pdGNoLCB3aGljaCB3aWxsIGxldCBD YXNzYW5kcmEga25vdyBlbm91Z2gNCiMgYWJvdXQgeW91ciBuZXR3b3JrIHRvcG9sb2d5IHRvIHJv dXRlIHJlcXVlc3RzIGVmZmljaWVudGx5Lg0KIyBPdXQgb2YgdGhlIGJveCwgQ2Fzc2FuZHJhIHBy b3ZpZGVzDQojICAtIG9yZy5hcGFjaGUuY2Fzc2FuZHJhLmxvY2F0b3IuU2ltcGxlU25pdGNoOg0K IyAgICBUcmVhdHMgU3RyYXRlZ3kgb3JkZXIgYXMgcHJveGltaXR5LiBUaGlzIGltcHJvdmVzIGNh Y2hlIGxvY2FsaXR5DQojICAgIHdoZW4gZGlzYWJsaW5nIHJlYWQgcmVwYWlyLCB3aGljaCBjYW4g ZnVydGhlciBpbXByb3ZlIHRocm91Z2hwdXQuDQojICAtIG9yZy5hcGFjaGUuY2Fzc2FuZHJhLmxv Y2F0b3IuUmFja0luZmVycmluZ1NuaXRjaDoNCiMgICAgUHJveGltaXR5IGlzIGRldGVybWluZWQg YnkgcmFjayBhbmQgZGF0YSBjZW50ZXIsIHdoaWNoIGFyZQ0KIyAgICBhc3N1bWVkIHRvIGNvcnJl c3BvbmQgdG8gdGhlIDNyZCBhbmQgMm5kIG9jdGV0IG9mIGVhY2ggbm9kZSdzDQojICAgIElQIGFk ZHJlc3MsIHJlc3BlY3RpdmVseQ0KIyBvcmcuYXBhY2hlLmNhc3NhbmRyYS5sb2NhdG9yLlByb3Bl cnR5RmlsZVNuaXRjaDoNCiMgIC0gUHJveGltaXR5IGlzIGRldGVybWluZWQgYnkgcmFjayBhbmQg ZGF0YSBjZW50ZXIsIHdoaWNoIGFyZQ0KIyAgICBleHBsaWNpdGx5IGNvbmZpZ3VyZWQgaW4gY2Fz c2FuZHJhLXRvcG9sb2d5LnByb3BlcnRpZXMuDQplbmRwb2ludF9zbml0Y2g6IG9yZy5hcGFjaGUu Y2Fzc2FuZHJhLmxvY2F0b3IuU2ltcGxlU25pdGNoDQoNCiMgY29udHJvbHMgaG93IG9mdGVuIHRv IHBlcmZvcm0gdGhlIG1vcmUgZXhwZW5zaXZlIHBhcnQgb2YgaG9zdCBzY29yZQ0KIyBjYWxjdWxh dGlvbg0KZHluYW1pY19zbml0Y2hfdXBkYXRlX2ludGVydmFsX2luX21zOiAxMDAgDQojIGNvbnRy b2xzIGhvdyBvZnRlbiB0byByZXNldCBhbGwgaG9zdCBzY29yZXMsIGFsbG93aW5nIGEgYmFkIGhv c3QgdG8NCiMgcG9zc2libHkgcmVjb3Zlcg0KZHluYW1pY19zbml0Y2hfcmVzZXRfaW50ZXJ2YWxf aW5fbXM6IDYwMDAwMA0KIyBpZiBzZXQgZ3JlYXRlciB0aGFuIHplcm8gYW5kIHJlYWRfcmVwYWly X2NoYW5jZSBpcyA8IDEuMCwgdGhpcyB3aWxsIGFsbG93DQojICdwaW5uaW5nJyBvZiByZXBsaWNh cyB0byBob3N0cyBpbiBvcmRlciB0byBpbmNyZWFzZSBjYWNoZSBjYXBhY2l0eS4NCiMgVGhlIGJh ZG5lc3MgdGhyZXNob2xkIHdpbGwgY29udHJvbCBob3cgbXVjaCB3b3JzZSB0aGUgcGlubmVkIGhv c3QgaGFzIHRvIGJlDQojIGJlZm9yZSB0aGUgZHluYW1pYyBzbml0Y2ggd2lsbCBwcmVmZXIgb3Ro ZXIgcmVwbGljYXMgb3ZlciBpdC4gIFRoaXMgaXMNCiMgZXhwcmVzc2VkIGFzIGEgZG91YmxlIHdo aWNoIHJlcHJlc2VudHMgYSBwZXJjZW50YWdlLiAgVGh1cywgYSB2YWx1ZSBvZg0KIyAwLjIgbWVh bnMgQ2Fzc2FuZHJhIHdvdWxkIGNvbnRpbnVlIHRvIHByZWZlciB0aGUgc3RhdGljIHNuaXRjaCB2 YWx1ZXMNCiMgdW50aWwgdGhlIHBpbm5lZCBob3N0IHdhcyAyMCUgd29yc2UgdGhhbiB0aGUgZmFz dGVzdC4NCmR5bmFtaWNfc25pdGNoX2JhZG5lc3NfdGhyZXNob2xkOiAwLjENCg0KIyByZXF1ZXN0 X3NjaGVkdWxlciAtLSBTZXQgdGhpcyB0byBhIGNsYXNzIHRoYXQgaW1wbGVtZW50cw0KIyBSZXF1 ZXN0U2NoZWR1bGVyLCB3aGljaCB3aWxsIHNjaGVkdWxlIGluY29taW5nIGNsaWVudCByZXF1ZXN0 cw0KIyBhY2NvcmRpbmcgdG8gdGhlIHNwZWNpZmljIHBvbGljeS4gVGhpcyBpcyB1c2VmdWwgZm9y IG11bHRpLXRlbmFuY3kNCiMgd2l0aCBhIHNpbmdsZSBDYXNzYW5kcmEgY2x1c3Rlci4NCiMgTk9U RTogVGhpcyBpcyBzcGVjaWZpY2FsbHkgZm9yIHJlcXVlc3RzIGZyb20gdGhlIGNsaWVudCBhbmQg ZG9lcw0KIyBub3QgYWZmZWN0IGludGVyIG5vZGUgY29tbXVuaWNhdGlvbi4NCiMgb3JnLmFwYWNo ZS5jYXNzYW5kcmEuc2NoZWR1bGVyLk5vU2NoZWR1bGVyIC0gTm8gc2NoZWR1bGluZyB0YWtlcyBw bGFjZQ0KIyBvcmcuYXBhY2hlLmNhc3NhbmRyYS5zY2hlZHVsZXIuUm91bmRSb2JpblNjaGVkdWxl ciAtIFJvdW5kIHJvYmluIG9mDQojIGNsaWVudCByZXF1ZXN0cyB0byBhIG5vZGUgd2l0aCBhIHNl cGFyYXRlIHF1ZXVlIGZvciBlYWNoDQojIHJlcXVlc3Rfc2NoZWR1bGVyX2lkLiBUaGUgc2NoZWR1 bGVyIGlzIGZ1cnRoZXIgY3VzdG9taXplZCBieQ0KIyByZXF1ZXN0X3NjaGVkdWxlcl9vcHRpb25z IGFzIGRlc2NyaWJlZCBiZWxvdy4NCnJlcXVlc3Rfc2NoZWR1bGVyOiBvcmcuYXBhY2hlLmNhc3Nh bmRyYS5zY2hlZHVsZXIuTm9TY2hlZHVsZXINCg0KIyBTY2hlZHVsZXIgT3B0aW9ucyB2YXJ5IGJh c2VkIG9uIHRoZSB0eXBlIG9mIHNjaGVkdWxlcg0KIyBOb1NjaGVkdWxlciAtIEhhcyBubyBvcHRp b25zDQojIFJvdW5kUm9iaW4NCiMgIC0gdGhyb3R0bGVfbGltaXQgLS0gVGhlIHRocm90dGxlX2xp bWl0IGlzIHRoZSBudW1iZXIgb2YgaW4tZmxpZ2h0DQojICAgICAgICAgICAgICAgICAgICAgIHJl cXVlc3RzIHBlciBjbGllbnQuICBSZXF1ZXN0cyBiZXlvbmQgDQojICAgICAgICAgICAgICAgICAg ICAgIHRoYXQgbGltaXQgYXJlIHF1ZXVlZCB1cCB1bnRpbA0KIyAgICAgICAgICAgICAgICAgICAg ICBydW5uaW5nIHJlcXVlc3RzIGNhbiBjb21wbGV0ZS4NCiMgICAgICAgICAgICAgICAgICAgICAg VGhlIHZhbHVlIG9mIDgwIGhlcmUgaXMgdHdpY2UgdGhlIG51bWJlciBvZg0KIyAgICAgICAgICAg ICAgICAgICAgICBjb25jdXJyZW50X3JlYWRzICsgY29uY3VycmVudF93cml0ZXMuDQojICAtIGRl ZmF1bHRfd2VpZ2h0IC0tIGRlZmF1bHRfd2VpZ2h0IGlzIG9wdGlvbmFsIGFuZCBhbGxvd3MgZm9y DQojICAgICAgICAgICAgICAgICAgICAgIG92ZXJyaWRpbmcgdGhlIGRlZmF1bHQgd2hpY2ggaXMg MS4NCiMgIC0gd2VpZ2h0cyAtLSBXZWlnaHRzIGFyZSBvcHRpb25hbCBhbmQgd2lsbCBkZWZhdWx0 IHRvIDEgb3IgdGhlDQojICAgICAgICAgICAgICAgb3ZlcnJpZGRlbiBkZWZhdWx0X3dlaWdodC4g VGhlIHdlaWdodCB0cmFuc2xhdGVzIGludG8gaG93DQojICAgICAgICAgICAgICAgbWFueSByZXF1 ZXN0cyBhcmUgaGFuZGxlZCBkdXJpbmcgZWFjaCB0dXJuIG9mIHRoZQ0KIyAgICAgICAgICAgICAg IFJvdW5kUm9iaW4sIGJhc2VkIG9uIHRoZSBzY2hlZHVsZXIgaWQuDQojDQojIHJlcXVlc3Rfc2No ZWR1bGVyX29wdGlvbnM6DQojICAgIHRocm90dGxlX2xpbWl0OiA4MA0KIyAgICBkZWZhdWx0X3dl aWdodDogNQ0KIyAgICB3ZWlnaHRzOg0KIyAgICAgIEtleXNwYWNlMTogMQ0KIyAgICAgIEtleXNw YWNlMjogNQ0KDQojIHJlcXVlc3Rfc2NoZWR1bGVyX2lkIC0tIEFuIGlkZW50aWZlciBiYXNlZCBv biB3aGljaCB0byBwZXJmb3JtDQojIHRoZSByZXF1ZXN0IHNjaGVkdWxpbmcuIEN1cnJlbnRseSB0 aGUgb25seSB2YWxpZCBvcHRpb24gaXMga2V5c3BhY2UuDQojIHJlcXVlc3Rfc2NoZWR1bGVyX2lk OiBrZXlzcGFjZQ0KDQojIGluZGV4X2ludGVydmFsIGNvbnRyb2xzIHRoZSBzYW1wbGluZyBvZiBl bnRyaWVzIGZyb20gdGhlIHByaW1yYXJ5DQojIHJvdyBpbmRleCBpbiB0ZXJtcyBvZiBzcGFjZSB2 ZXJzdXMgdGltZS4gIFRoZSBsYXJnZXIgdGhlIGludGVydmFsLA0KIyB0aGUgc21hbGxlciBhbmQg bGVzcyBlZmZlY3RpdmUgdGhlIHNhbXBsaW5nIHdpbGwgYmUuICBJbiB0ZWNobmljaWFsDQojIHRl cm1zLCB0aGUgaW50ZXJ2YWwgY29yZXNwb25kcyB0byB0aGUgbnVtYmVyIG9mIGluZGV4IGVudHJp ZXMgdGhhdA0KIyBhcmUgc2tpcHBlZCBiZXR3ZWVuIHRha2luZyBlYWNoIHNhbXBsZS4gIEFsbCB0 aGUgc2FtcGxlZCBlbnRyaWVzDQojIG11c3QgZml0IGluIG1lbW9yeS4gIEdlbmVyYWxseSwgYSB2 YWx1ZSBiZXR3ZWVuIDEyOCBhbmQgNTEyIGhlcmUNCiMgY291cGxlZCB3aXRoIGEgbGFyZ2Uga2V5 IGNhY2hlIHNpemUgb24gQ0ZzIHJlc3VsdHMgaW4gdGhlIGJlc3QgdHJhZGUNCiMgb2Zmcy4gIFRo aXMgdmFsdWUgaXMgbm90IG9mdGVuIGNoYW5nZWQsIGhvd2V2ZXIgaWYgeW91IGhhdmUgbWFueQ0K IyB2ZXJ5IHNtYWxsIHJvd3MgKG1hbnkgdG8gYW4gT1MgcGFnZSksIHRoZW4gaW5jcmVhc2luZyB0 aGlzIHdpbGwNCiMgb2Z0ZW4gbG93ZXIgbWVtb3J5IHVzYWdlIHdpdGhvdXQgYSBpbXBhY3Qgb24g cGVyZm9ybWFuY2UuDQppbmRleF9pbnRlcnZhbDogMTI4DQoNCiMgRW5hYmxlIG9yIGRpc2FibGUg aW50ZXItbm9kZSBlbmNyeXB0aW9uDQojIERlZmF1bHQgc2V0dGluZ3MgYXJlIFRMUyB2MSwgUlNB IDEwMjQtYml0IGtleXMgKGl0IGlzIGltcGVyYXRpdmUgdGhhdA0KIyB1c2VycyBnZW5lcmF0ZSB0 aGVpciBvd24ga2V5cykgVExTX1JTQV9XSVRIX0FFU18xMjhfQ0JDX1NIQSBhcyB0aGUgY2lwaGVy DQojIHN1aXRlIGZvciBhdXRoZW50aWNhdGlvbiwga2V5IGV4Y2hhbmdlIGFuZCBlbmNyeXB0aW9u IG9mIHRoZSBhY3R1YWwgZGF0YSB0cmFuc2ZlcnMuDQojIE5PVEU6IE5vIGN1c3RvbSBlbmNyeXB0 aW9uIG9wdGlvbnMgYXJlIGVuYWJsZWQgYXQgdGhlIG1vbWVudA0KIyBUaGUgYXZhaWxhYmxlIGlu dGVybm9kZSBvcHRpb25zIGFyZSA6IGFsbCwgbm9uZSwgZGMsIHJhY2sNCiMNCiMgSWYgc2V0IHRv IGRjIGNhc3NhbmRyYSB3aWxsIGVuY3J5cHQgdGhlIHRyYWZmaWMgYmV0d2VlbiB0aGUgRENzDQoj IElmIHNldCB0byByYWNrIGNhc3NhbmRyYSB3aWxsIGVuY3J5cHQgdGhlIHRyYWZmaWMgYmV0d2Vl biB0aGUgcmFja3MNCiMNCiMgVGhlIHBhc3N3b3JkcyB1c2VkIGluIHRoZXNlIG9wdGlvbnMgbXVz dCBtYXRjaCB0aGUgcGFzc3dvcmRzIHVzZWQgd2hlbiBnZW5lcmF0aW5nDQojIHRoZSBrZXlzdG9y ZSBhbmQgdHJ1c3RzdG9yZS4gIEZvciBpbnN0cnVjdGlvbnMgb24gZ2VuZXJhdGluZyB0aGVzZSBm aWxlcywgc2VlOg0KIyBodHRwOi8vZG93bmxvYWQub3JhY2xlLmNvbS9qYXZhc2UvNi9kb2NzL3Rl Y2hub3Rlcy9ndWlkZXMvc2VjdXJpdHkvanNzZS9KU1NFUmVmR3VpZGUuaHRtbCNDcmVhdGVLZXlz dG9yZQ0KIw0KZW5jcnlwdGlvbl9vcHRpb25zOg0KICAgIGludGVybm9kZV9lbmNyeXB0aW9uOiBu b25lDQogICAga2V5c3RvcmU6IGNvbmYvLmtleXN0b3JlDQogICAga2V5c3RvcmVfcGFzc3dvcmQ6 IGNhc3NhbmRyYQ0KICAgIHRydXN0c3RvcmU6IGNvbmYvLnRydXN0c3RvcmUNCiAgICB0cnVzdHN0 b3JlX3Bhc3N3b3JkOiBjYXNzYW5kcmENCiAgICAjIE1vcmUgYWR2YW5jZWQgZGVmYXVsdHMgYmVs b3c6DQogICAgIyBwcm90b2NvbDogVExTDQogICAgIyBhbGdvcml0aG06IFN1blg1MDkNCiAgICAj IHN0b3JlX3R5cGU6IEpLUw0KICAgICMgY2lwaGVyX3N1aXRlczogW1RMU19SU0FfV0lUSF9BRVNf MTI4X0NCQ19TSEEsVExTX1JTQV9XSVRIX0FFU18yNTZfQ0JDX1NIQV0NCg== --_004_D79EEBEACB4D9545BA8B0B381ECDD4B201359CCB29F9NDAHCLTEVS0_--