From vbrao@cse.Buffalo.EDU  Sat May 15 20:44:16 2004
Received: from armstrong.cse.Buffalo.EDU (root@armstrong.cse.Buffalo.EDU [128.205.32.3])
	by castor.cse.Buffalo.EDU (8.12.10/8.12.10) with ESMTP id i4G0iFGr007577
	for <rapaport@castor.cse.buffalo.edu>; Sat, 15 May 2004 20:44:15 -0400 (EDT)
Received: from yeager.cse.Buffalo.EDU (root@yeager.cse.Buffalo.EDU [128.205.36.9])
	by armstrong.cse.Buffalo.EDU (8.12.10/8.12.10) with ESMTP id i4G0iF9x017380
	for <rapaport@armstrong.cse.buffalo.edu>; Sat, 15 May 2004 20:44:15 -0400 (EDT)
Received: from yeager.cse.Buffalo.EDU (vbrao@localhost [127.0.0.1])
	by yeager.cse.Buffalo.EDU (8.12.10+Sun/8.12.4) with ESMTP id i4G0iFAw022603
	for <rapaport@cse.Buffalo.EDU>; Sat, 15 May 2004 20:44:15 -0400 (EDT)
Received: (from vbrao@localhost)
	by yeager.cse.Buffalo.EDU (8.12.10+Sun/8.12.8/Submit) id i4G0iFTB022602;
	Sat, 15 May 2004 20:44:15 -0400 (EDT)
Date: Sat, 15 May 2004 20:44:15 -0400 (EDT)
From: Vikranth B Rao <vbrao@cse.Buffalo.EDU>
To: "William J. Rapaport" <rapaport@cse.Buffalo.EDU>
Subject: Source files - grammar and lexicon - for brachet demo
In-Reply-To: <200404162343.i3GNhH5B009385@castor.cse.Buffalo.EDU>
Message-ID: <Pine.SOL.4.56.0405152015030.22507@yeager.cse.Buffalo.EDU>
References: <200404162343.i3GNhH5B009385@castor.cse.Buffalo.EDU>
MIME-Version: 1.0
Content-Type: MULTIPART/MIXED; BOUNDARY="-559023410-851401618-1084667599=:22512"
Content-ID: <Pine.SOL.4.56.0405152034140.22588@yeager.cse.Buffalo.EDU>
X-DCC-Buffalo.EDU-Metrics: castor.cse.Buffalo.EDU 1028; Body=0 Fuz1=0 Fuz2=0
Status: R
Content-Length: 77264

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

---559023410-851401618-1084667599=:22512
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
Content-ID: <Pine.SOL.4.56.0405152034141.22588@yeager.cse.Buffalo.EDU>

Dear Dr. Rapaport,

         I have attached to this email all the source files for the
work that I have done. I have made sure that the permissions for all of
them are set so that everyone has read, write and execute permissions. The
brachet demo can be run by demoing ``nlpdemo.sneps". I tried making a new
directory under /projects/rapaport/CVA and storing the files in that
directory. However, I did not have permissions to create a new directory,
so I decided to email the stuff to you. I hope this is allright.

        I am extremely sorry for the delay in getting this
stuff to you Sir. I had hoped to finish writing up the report and to send
you the code and the report together. However, since the end of the
semester, I have been unduly engaged in making all the arrangements to
change schools and move and so on before I left buffalo, as a result of
which I have not been able to complete the report. Therefore, as  per our
conversation I wanted to make sure I sent you atleast the code before I
left. I hope to finish writing the report by the end of the summer at the
latest.

       Lastly, I wanted to thank you very much for all the help and
encouragement you have extended me over the past few years Sir. I have
greatly enjoyed working with you on the CVA grammar. It was largely a result of
the experience I gained during the course of this work that I wanted to
continue doing research for the rest of my career. You were also an
invaluable source of advice and guidance during my graduate school search.

Thank you very much for everything Sir.


Sincerely,
Vik

Please let me know if there are any problems with executing the code.

---559023410-851401618-1084667599=:22512
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="pmla.cl"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.SOL.4.56.0405152033190.22512@yeager.cse.Buffalo.EDU>
Content-Description: 
Content-Disposition: ATTACHMENT; FILENAME="pmla.cl"

DQooaW4tcGFja2FnZSBzbmVwc3VsKQ0KDQoNCihsb2FkICIvcHJvamVjdHMv
c3RuMi9DVkEvZGVmdW5fbm91bi5jbCIpDQoNCg0KKGRlZmluZS1wcmltYWN0
aW9uIGRlZk4gKG9iamVjdDEpDQogIChkZWZpbmVOb3VuIG9iamVjdDEpKQ==

---559023410-851401618-1084667599=:22512
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="nlpdemo.sneps"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.SOL.4.56.0405152033191.22512@yeager.cse.Buffalo.EDU>
Content-Description: 
Content-Disposition: ATTACHMENT; FILENAME="nlpdemo.sneps"

Ozs7IERlbW8gZmlsZSBmb3IgTkxQIGJyYWNoZXQNCjs7OyBQcmVwYXJlZCBi
eSBWaWtyYW50aCBCLiBSYW8NCjs7OyBGYWxsIDIwMDMNCg0KKHJlc2V0bmV0
IHQpDQoNCjs7Ow0KOzs7IExvYWQgcmVxdWlzaXRlIGZpbGVzDQo7OzsNCg0K
Xl4NCihsb2FkICJwbWxhLmNsIikNCg0KKGxvYWQgIi9wcm9qZWN0cy9yb2Jv
dC9ZZ2RyYXNpbC9QcmluY2Vzcy9uZXdhY2hpZXZlIikNCihsb2FkICIvcHJv
amVjdHMvcm9ib3QvWWdkcmFzaWwvUHJpbmNlc3MvbmV3YWN0IikNCl5eDQoN
CihpbnRleHQgIi9wcm9qZWN0cy9zdG4yL0NWQS9kZW1vcy9yZWxzIikNCihk
ZW1vICIvcHJvamVjdHMvc3RuMi9DVkEvZGVtb3MvcGF0aHMiKQ0KKGRlbW8g
Ii9wcm9qZWN0cy9zdG4yL0NWQS9kZW1vcy9icmFjaGV0LmJhc2UiKQ0KDQpe
Xg0KOzs7KHNuZXBzOjpzbmVwcy1zZXR1cCkNCg0KKGF0bmluICJGYWxsdGVt
cGdyYW0ubGlzcCIpDQoobGV4aW4gIktsZXhpY29uLmxpc3AiKQ0KDQo7OzsN
Cjs7OyBEZWNsYXJlIHRoZSBwcmltaXRpdmUgYWN0aW9ucw0KOzs7DQoNCihh
dHRhY2gtcHJpbWFjdGlvbg0KIGJlbGlldmUgYmVsaWV2ZQ0KICAoPSAoYnVp
bGQgbGV4ICJkZWZub3VuIikgZGVmbm91bikgZGVmTikNCg0KXl4NCg0KKGRl
c2NyaWJlIA0KICAJKGFzc2VydCB3aGVuZXZlciAoYnVpbGQgYWdlbnQgKkkg
YWN0IChidWlsZCBhY3Rpb24gKGJ1aWxkIGxleCAiZGVmaW5pbmdub3VuIikp
KQ0KCSAgZG8gKGJ1aWxkIGFjdGlvbiAqZGVmbm91biBvYmplY3QxICJicmFj
aGV0IikpKQ0KDQoNCl5eKHBhcnNlKQ0KQSBoYXJ0IHJ1bnMuDQpBIHdoaXRl
IGJyYWNoZXQgaXMgbmV4dHRvIHRoZSBoYXJ0Lg0KQSBibGFjayBob3VuZCBy
dW5zLg0KVGhlIGhvdW5kIGlzIGJlaGluZCB0aGUgaGFydC4NClRoZSBoYXJ0
IGlzIG5leHR0byBSb3VuZCBUYWJsZS4NCkEga25pZ2h0IGFyaXNlcy4NClRo
ZSBrbmlnaHQgcGlja3N1cCB0aGUgYnJhY2hldC4NClRoZSBrbmlnaHQgY2Fy
cmllcyB0aGUgYnJhY2hldC4NClNpciBUb3IgZ29lcyB0byBhIHBhdmlsaW9u
Lg0KQSBsYWR5IHNheXMgdGhhdCB0aGUga25pZ2h0IHRha2VzIHRoZSBicmFj
aGV0Lg0KVGhlIGxhZHkgc2xlZXBzIGluIHRoZSBwYXZpbGlvbi4NClNpciBU
b3IgZmluZHMgdGhlIGxhZHkgaW4gdGhlIHBhdmlsaW9uLg0KU2lyIFRvciBm
aW5kcyB0aGUgYnJhY2hldCBpbiB0aGUgcGF2aWxpb24uDQpUaGUgYnJhY2hl
dCBiYXlzIGF0IFNpciBUb3IuDQpTaXIgVG9yIHNwaWVzIHRoZSBicmFjaGV0
Lg0KU2lyIFRvciB0YWtlcyB0aGUgYnJhY2hldC4NCkEgZHdhcmYgc2F5cyB0
aGF0IGhlIGtub3dzIHRoYXQgU2lyIFRvciBzZWVrcyB0aGUga25pZ2h0Lg0K
U2lyIFRvciBnaXZlcyB0aGUgYnJhY2hldCB0byB0aGUgZHdhcmYuDQpUaGUg
aGFydCBydW5zIGludG8gS2luZyBBcnRodXIncyBoYWxsLg0KVGhlIGJyYWNo
ZXQgYml0ZXMgYSBoYXJ0J3MgYnV0dG9jay4NClRoZSBrbmlnaHQgbW91bnRz
IGEgaG9yc2UuDQpUaGUga25pZ2h0IHJpZGVzIHRoZSBob3JzZS4NClNpciBU
b3IgbW91bnRzIGEgaG9yc2UuDQpUaGUgbGFkeSBzYXlzIHRoYXQgdGhlIGJy
YWNoZXQgYmVsb25ncyB0byBoZXIuDQpUaGUgbGFkeSBzYXlzIHRoYXQgc2hl
IHdhbnRzIHRoZSBicmFjaGV0Lg0KTWVybGluIHNheXMgdGhhdCBTaXIgR2F3
YWluIG11c3QgYnJpbmcgdGhlIGhhcnQgdG8gdGhlIGhhbGwuDQpNZXJsaW4g
c2F5cyB0aGF0IFNpciBUb3IgbXVzdCBicmluZyB0aGUgYnJhY2hldCB0byB0
aGUgaGFsbC4NCkFuIGVsZGVyIHNheXMgdGhhdCBhIHdoaXRlIGhhcnQgY29t
ZXMgdG8gYSBwbGFjZS4NClRoZSBlbGRlciBzYXlzIHRoYXQgYSBob3VuZCBj
aGFzZXMgdGhlIGhhcnQuDQpUaGUgZWxkZXIgc2F5cyB0aGF0IGEgd2hpdGUg
YnJhY2hldCBpcyBuZXh0dG8gdGhlIGhhcnQu

---559023410-851401618-1084667599=:22512
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="Klexicon.lisp"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.SOL.4.56.0405152033192.22512@yeager.cse.Buffalo.EDU>
Content-Description: 
Content-Disposition: ATTACHMENT; FILENAME="Klexicon.lisp"

Ozs7IE1hbnVhbCBMZXhpY29uKw0KOzs7IGF1Z21lbnRlZCBieSBKYW1hbGks
S29vbnR6IGFuZCBTZWxpYiBmb3IgQ1MtNzAzDQo7OzsgRmFsbCwgMTk5NA0K
Ozs7DQo7OzsgDQo7OzsgQWRqZWN0aXZlcw0KKCJibHVlIiAgICAgICAgICAg
ICAgKChjdGd5IC4gYWRqKSkpDQooImdyZWVuIiAgICAgICAgICAgICAoKGN0
Z3kgLiBhZGopKSkNCigib3JhbmdlIiAgICAgICAgICAgICgoY3RneSAuIGFk
aikpKQ0KKCJyZWQiICAgICAgICAgICAgICAgKChjdGd5IC4gYWRqKSkpDQoo
InZpb2xldCIgICAgICAgICAgICAoKGN0Z3kgLiBhZGopKSkNCigieWVsbG93
IiAgICAgICAgICAgICgoY3RneSAuIGFkaikpKQ0KKCJ5b3VuZyIgICAgICAg
ICAgICAgKChjdGd5IC4gYWRqKSkpDQooImNsZXZlciIgICAgICAgICAgICAo
KGN0Z3kgLiBhZGopKSkNCigiY2Fybml2b3JvdXMiICAgICAgICgoY3RneSAu
IGFkaikpKQ0KKCJzbWFydCIgICAgICAgICAgICAgKChjdGd5IC4gYWRqKSkp
DQooInN3ZWV0IiAgICAgICAgICAgICAoKGN0Z3kgLiBhZGopKSkNCigicmlj
aCIgICAgICAgICAgICAgICgoY3RneSAuIGFkaikpKQ0KKCJvbGQiICAgICAg
ICAgICAgICAgKChjdGd5IC4gYWRqKSkpDQooImZhdCIgICAgICAgICAgICAg
ICAoKGN0Z3kgLiBhZGopKSkNCigic3R1cGlkIiAgICAgICAgICAgICgoY3Rn
eSAuIGFkaikpKQ0KKCJ3aGl0ZSIgICAgICAgICAgICAgKChjdGd5IC4gYWRq
KSkpDQooImdyb3VwIiAgICAgICAgICAgICAoKGN0Z3kgLiBhZGopKSkNCigi
YmxhY2siICAgICAgICAgICAgICgoY3RneSAuIGFkaikpKQ0KKCJuZXh0IiAg
ICAgICAgICAgICAgKChjdGd5IC4gYWRqKSkpICAgIA0KKCJyb3VuZCIgICAg
ICAgICAgICAgKChjdGd5IC4gYWRqKSkpDQoNCjs7OyBBZHZlcmJzDQooInRo
ZXJlIiAoKGN0Z3kgLiBhZHYpKHJvb3QgLiAidGhlcmUiKSkpDQoNCjs7OyBE
ZXRlcm1pbmVycw0KKCJhIiAgICAgICAgICAgICAgICAgKChjdGd5IC4gYXJ0
KShkZWYgLiBuaWwpKSkNCigiYW4iICAgICAgICAgICAgICAgICgoY3RneSAu
IGFydCkoZGVmIC4gbmlsKSkpDQooInRoZSIgICAgICAgICAgICAgICAoKGN0
Z3kgLiBhcnQpKGRlZiAuIHQpKSkNCigiZXZlcnkiICAgICAgICAgICAgICgo
Y3RneSAuIHF1YW50KSkpDQoNCjs7OyBOb3Vucw0KDQooIktpbmcgQXJ0aHVy
IiAgICAgICgoY3RneSAuIG5wcikobnVtIC4gc2luZykoZ2VuZGVyIC4gbSkN
CgkJCQkgKGJhc2ljIC4gdCkoaHVtYW4gLiB0KSkpDQooIlJvdW5kIFRhYmxl
IiAgICAgICgoY3RneSAuIG5wcikobnVtIC4gc2luZykoZ2VuZGVyIC4gbSkN
CgkJCQkgKGJhc2ljIC4gdCkoaHVtYW4gLiBuaWwpKSkNCigiU2lyIFRvciIg
ICAgICAgICAgKChjdGd5IC4gbnByKShudW0gLiBzaW5nKShnZW5kZXIgLiBt
KQ0KCQkJCSAoYmFzaWMgLiB0KShodW1hbiAuIHQpKSkNCigiU2lyIEdhd2Fp
biIgICAgICAgKChjdGd5IC4gbnByKShudW0gLiBzaW5nKShnZW5kZXIgLiBt
KQ0KCQkJCSAoYmFzaWMgLiB0KShodW1hbiAuIHQpKSkNCigiTWVybGluIiAg
ICAgICAgICAgKChjdGd5IC4gbnByKShudW0gLiBzaW5nKShnZW5kZXIgLiBt
KQ0KCQkJCSAoYmFzaWMgLiB0KShodW1hbiAuIHQpKSkNCg0KDQooImR3YXJm
IiAgICAgICAgICAgICgoY3RneSAuIG4pKGh1bWFuIC4gdCkoZ2VuZGVyIG0g
ZikobnVtIC4gc2luZykoYmFzaWMgLiB0KSkpDQooImVsZGVyIiAgICAgICAg
ICAgICgoY3RneSAuIG4pKGh1bWFuIC4gdCkoZ2VuZGVyIG0gZikobnVtIC4g
c2luZykoYmFzaWMgLiB0KSkpDQooImhhbGwiICAgICAgICAgICAgICgoY3Rn
eSAuIG4pKSkNCigiYnV0dG9jayIgICAgICAgICAgKChjdGd5IC4gbikpKQ0K
KCJrbmlnaHQiICAgICAgICAgICAoKGN0Z3kgLiBuKShodW1hbiAuIHQpKGdl
bmRlciAuIG0pKG51bSAuIHNpbmcpKGJhc2ljIC4gdCkpKQ0KKCJsYWR5IiAg
ICAgICAgICAgICAoKGN0Z3kgLiBuKShodW1hbiAuIHQpKGdlbmRlciAuIGYp
KG51bSAuIHNpbmcpKGJhc2ljIC4gdCkpKQ0KDQooIlJvdW5kIiAgICAgICAg
ICAgICgoY3RneSAuIG11bHRpLXN0YXJ0KSAobXVsdGktcmVzdCAuICgiVGFi
bGUiKSkpDQogICAgICAgICAgICAgICAgICAgICgoY3RneSAuIGFkaikocm9v
dCAuICJyb3VuZCIpKSkNCigic2lyIiAgICAgICAgICAgICAgKChjdGd5IC4g
bikoaHVtYW4gLiB0KShnZW5kZXIgLiBtKShudW0gLiBzaW5nKShiYXNpYyAu
IHQpKSkNCigiU2lyIiAgICAgICAgICAgICAgKChjdGd5IC4gbXVsdGktc3Rh
cnQpIChtdWx0aS1yZXN0IC4gKCJUb3IiKSkpDQoJCSAgICAoKGN0Z3kgLiBt
dWx0aS1zdGFydCkgKG11bHRpLXJlc3QgLiAoIkdhd2FpbiIpKSkNCiAgICAg
ICAgICAgICAgICAgICAgKChjdGd5IC4gbikocm9vdCAuICJzaXIiKSkpDQoo
ImtpbmciICAgICAgICAgICAgICgoY3RneSAuIG4pKGh1bWFuIC4gdCkoZ2Vu
ZGVyIC4gZikobnVtIC4gc2luZykoYmFzaWMgLiB0KSkpDQooIktpbmciICAg
ICAgICAgICAgICgoY3RneSAuIG11bHRpLXN0YXJ0KSAobXVsdGktcmVzdCAu
ICgiQXJ0aHVyIikpKQ0KICAgICAgICAgICAgICAgICAgICAoKGN0Z3kgLiBu
KShyb290IC4gImtpbmciKSkpDQooImRvZ3MiICAgICAgICAgICAgICgoY3Rn
eSAuIG4pKGh1bWFuIC4gbmlsKShnZW5kZXIgLiBuKShudW0gLiBwbHVyKShi
YXNpYyAuIHQpKSkNCigiaG91bmQiICAgICAgICAgICAgKChjdGd5IC4gbiko
aHVtYW4gLiBuaWwpKGdlbmRlciBtIGYgbikobnVtIC4gc2luZykoYmFzaWMg
LiB0KSkpDQooImhvdW5kcyIgICAgICAgICAgICgoY3RneSAuIG4pKGh1bWFu
IC4gbmlsKShnZW5kZXIgbSBmIG4pKG51bSAuIHBsdXIpKGJhc2ljIC4gdCkp
KQ0KKCJoYXJ0IiAgICAgICAgICAgICAoKGN0Z3kgLiBuKShodW1hbiAuIG5p
bCkoZ2VuZGVyIG0gZiBuKShudW0gLiBzaW5nKShiYXNpYyAuIHQpKSkNCigi
aG9yc2UiICAgICAgICAgICAgKChjdGd5IC4gbikoaHVtYW4gLiBuaWwpKGdl
bmRlciBtIGYgbikobnVtIC4gc2luZykoYmFzaWMgLiB0KSkpDQooInBhdmls
aW9uIiAgICAgICAgICgoY3RneSAuIG4pKGh1bWFuIC4gbmlsKShnZW5kZXIg
LiBuKShudW0gLiBzaW5nKShiYXNpYyAuIHQpKSkNCg0KDQooImJyYWNoZXQi
ICAgICAgICAgICgoY3RneSAuIG4pKGh1bWFuIC4gbmlsKShnZW5kZXIgbiko
bnVtIC4gc2luZykoYmFzaWMgLiB0KSkpDQoNCigiZ2lybCIgICAgICAgICAg
ICAgKChjdGd5IC4gbikobnVtIC4gc2luZykoZ2VuZGVyIC4gZikoYmFzaWMg
LiB0KShodW1hbiAuIHQpKSkNCigiYm95IiAgICAgICAgICAgICAgKChjdGd5
IC4gbikobnVtIC4gc2luZykoZ2VuZGVyIC4gbSkoYmFzaWMgLiB0KShodW1h
biAuIHQpKSkNCigiY2F0IiAgICAgICAgICAgICAgKChjdGd5IC4gbikobnVt
IC4gc2luZykoZ2VuZGVyIG0gZiBuKShiYXNpYyAuIHQpKGh1bWFuIC4gbmls
KSkpDQooImRvZyIgICAgICAgICAgICAgICgoY3RneSAuIG4pKG51bSAuIHNp
bmcpKGdlbmRlciBtIGYgbikoYmFzaWMgLiB0KQ0KCQkgICAgKGh1bWFuIC4g
bmlsKSkpDQooIm1hbW1hbCIgICAgICAgICAgICgoY3RneSAuIG4pKG51bSAu
IHNpbmcpKGdlbmRlciBtIGYgbikoYmFzaWMgLiBuaWwpDQoJCSAgICAoaHVt
YW4gLiBuaWwpKSkNCigibWFueCIgICAgICAgICAgICAgKChjdGd5IC4gbiko
bnVtIC4gc2luZykoZ2VuZGVyIG0gZiBuKShiYXNpYyAuIG5pbCkNCgkJICAg
IChodW1hbiAuIG5pbCkpKQ0KDQooIkNvbXB1dGVyIFNjaWVuY2UiICgoY3Rn
eSAuIG5wcikobnVtIC4gc2luZykoZ2VuZGVyIC4gbikNCgkJCQkgKGJhc2lj
IC4gdCkoaHVtYW4gLiBuaWwpKSkNCigiSm9obiIgICAgICAgICAgICAgKChj
dGd5IC4gbnByKShudW0gLiBzaW5nKShnZW5kZXIgLiBtKQ0KCQkJCSAoYmFz
aWMgLiB0KShodW1hbiAuIHQpKSkNCigiTWFyeSIgICAgICAgICAgICAgKChj
dGd5IC4gbnByKShudW0gLiBzaW5nKShnZW5kZXIgLiBmKQ0KCQkJCSAoYmFz
aWMgLiB0KShodW1hbiAuIHQpKSkNCigiQm9iIiAgICAgICAgICAgICAgKChj
dGd5IC4gbnByKShudW0gLiBzaW5nKShnZW5kZXIgLiBtKQ0KCQkJCSAoYmFz
aWMgLiB0KShodW1hbiAuIHQpKSkNCigiQmlsbCIgICAgICAgICAgICAgKChj
dGd5IC4gbnByKShudW0gLiBzaW5nKShnZW5kZXIgLiBtKQ0KCQkJCSAoYmFz
aWMgLiB0KShodW1hbiAuIHQpKSkNCigiUm92ZXIiICAgICAgICAgICAgKChj
dGd5IC4gbnByKShudW0gLiBzaW5nKShnZW5kZXIgLiBtKQ0KCQkJCSAoYmFz
aWMgLiB0KShodW1hbiAuIG5pbCkpKQ0KDQoNCg0KKCJjb21wdXRlciIgICAg
ICAgICAoKGN0Z3kgLiBuKShudW0gLiBzaW5nKShnZW5kZXIgLiBuKShiYXNp
YyAuIHQpDQoJCQkgICAgICAgKGh1bWFuIC4gbmlsKSkpDQooIkNvbXB1dGVy
IiAgICAgICAgICgoY3RneSAuIG11bHRpLXN0YXJ0KSAobXVsdGktcmVzdCAu
ICgiU2NpZW5jZSIpKSkNCiAgICAgICAgICAgICAgICAgICAgKChjdGd5IC4g
bikocm9vdCAuICJjb21wdXRlciIpKGh1bWFuIC4gbmlsKSkpDQoNCigibWFu
IiAgICAgICAgICAgICAgKChjdGd5IC4gbikocGx1ciAuICJtZW4iKShudW0g
LiBzaW5nKQ0KCQkJICAgICAgIChodW1hbiAuIHQpKGdlbmRlciAuIG0pDQoJ
CQkgICAgICAgKGJhc2ljIC4gdCkpKQ0KKCJtZW4iICAgICAgICAgICAgICAo
KGN0Z3kgLiBuKShyb290IC4gIm1hbiIpKG51bSAuIHBsdXIpDQoJCQkgICAg
ICAgKGh1bWFuIC4gdCkoZ2VuZGVyIC4gbSkNCgkJCSAgICAgICAoYmFzaWMg
LiB0KSkpDQooIndvbWFuIiAgICAgICAgICAgICgoY3RneSAuICBuKShwbHVy
IC4gIndvbWVuIikobnVtIC4gc2luZykNCgkJCQkoZ2VuZGVyIC4gZikoYmFz
aWMgLiB0KQ0KCQkJCShodW1hbiAuIHQpKSkNCigid29tZW4iICAgICAgICAg
ICAgKChjdGd5IC4gbikocm9vdCAuICJ3b21hbiIpKG51bSAuIHBsdXIpDQoJ
CQkgICAgICAgKGdlbmRlciAuIGYpKGJhc2ljIC4gdCkNCgkJCSAgICAgICAo
aHVtYW4gLiB0KSkpDQooInBlcnNvbiIgICAgICAgICAgICgoY3RneSAuIG4p
KHBsdXIgLiAicGVvcGxlIikobnVtIC4gc2luZykNCgkJCSAgICAgICAoaHVt
YW4gLiB0KShiYXNpYyAuIG5pbCkpKQ0KKCJwZW9wbGUiICAgICAgICAgICAo
KGN0Z3kgLiBuKShyb290IC4gInBlcnNvbiIpKG51bSAuIHBsdXIpDQoJCQkg
ICAgICAgKGh1bWFuIC4gdCkoYmFzaWMgLiBuaWwpKSkNCigiYW5pbWFsIiAg
ICAgICAgICAgKChjdGd5IC4gbikobnVtIC4gc2luZykoZ2VuZGVyIG0gZiBu
KShodW1hbiAuIG5pbCkoYmFzaWMgLiBuaWwpKSkNCg0KKCJwZXQiIAkJICAg
ICgoY3RneSAuIG4pKG51bSAuIHNpbmcpKGdlbmRlciBtIGYgbikoYmFzaWMg
LiBuaWwpDQoJCSAgICAoaHVtYW4gLiBuaWwpKSkNCg0KKCJwcm9mZXNzb3Ii
ICAgICAgICAoKGN0Z3kgLiBuKShodW1hbiAuIHQpKGdlbmRlciBtIGYpKG51
bSAuIHNpbmcpKGJhc2ljIC4gdCkpKQ0KDQo7OzsgUHJvbm91bnMNCg0KKCJo
ZSIgKChjdGd5IC4gcHJvbikocm9vdCAuICJoZSIpKG51bSAuIHNpbmcpKGNh
c2UgLiBub20pDQoJCSAgICAoZ2VuZGVyIC4gbSkoaHVtYW4gLiB0KSkpDQoo
ImhlciIgKChjdGd5IC4gcHJvbikocm9vdCAuICJzaGUiKShudW0gLiBzaW5n
KShjYXNlIC4gYWNjKQ0KCQkgICAgIChnZW5kZXIgLiBmKShodW1hbiAuIHQp
KSkNCigiaGltIiAoKGN0Z3kgLiBwcm9uKShyb290IC4gImhlIikobnVtIC4g
c2luZykoY2FzZSAuIGFjYykNCgkJICAgICAoZ2VuZGVyIC4gbSkoaHVtYW4g
LiB0KSkpDQooIkkiICgoY3RneSAuIHByb24pKG51bSAuIHNpbmcpKGNhc2Ug
LiBub20pKGdlbmRlciBtIGYpDQoJCSAgIChodW1hbiAuIHQpKSkNCigiaXQi
ICgoY3RneSAuIHByb24pKHJvb3QgLiAiaXQiKShudW0gLiBzaW5nKShjYXNl
IG5vbSBhY2MpDQoJCSAgICAoZ2VuZGVyIC4gbikoaHVtYW4gLiBuaWwpKSkN
CigibWUiICgoY3RneSAuIHByb24pKHJvb3QgLiAiSSIpKG51bSAuIHNpbmcp
KGNhc2UgLiBhY2MpDQoJCSAgICAoZ2VuZGVyIG0gZikoaHVtYW4gLiB0KSkp
DQooInNoZSIgKChjdGd5IC4gcHJvbikocm9vdCAuICJzaGUiKShudW0gLiBz
aW5nKShjYXNlIC4gbm9tKQ0KCQkgICAgIChnZW5kZXIgLiBmKShodW1hbiAu
IHQpKSkNCigidGhleSIgKChjdGd5IC4gcHJvbikocm9vdCAuICJ0aGV5Iiko
bnVtIC4gcGx1cikoY2FzZSAuIG5vbSkNCgkoZ2VuZGVyIG0gZiBuKSkpDQoo
InRoZW0iICgoY3RneSAuIHByb24pKHJvb3QgLiAidGhleSIpKG51bSAuIHBs
dXIpKGNhc2UgLiBhY2MpKGdlbmRlciBtIGYgbikpKQ0KKCJ1cyIgKChjdGd5
IC4gcHJvbikocm9vdCAuICJJIikobnVtIC4gcGx1cikoY2FzZSAuIGFjYykN
CgkJICAgIChnZW5kZXIgbSBmKShodW1hbiAuIHQpKSkNCigid2UiICgoY3Rn
eSAuIHByb24pKHJvb3QgLiAiSSIpKG51bSAuIHBsdXIpKGNhc2UgLiBub20p
DQoJCSAgICAoZ2VuZGVyIG0gZikoaHVtYW4gLiB0KSkpDQooInlvdSIgKChj
dGd5IC4gcHJvbikobnVtIHNpbmcgcGx1cikoY2FzZSBub20gYWNjKQ0KCQkg
ICAgIChnZW5kZXIgbSBmKShodW1hbiAuIHQpKSkNCigibXlzZWxmIiAoKGN0
Z3kgLiBwcm9uKShudW0gLiBzaW5nKShjYXNlIC4gcmVmKShodW1hbiAuIHQp
KGdlbmRlciBtIGYpKSkNCigieW91cnNlbGYiICgoY3RneSAuIHByb24pKG51
bSAuIHNpbmcpKGNhc2UgLiByZWYpKGh1bWFuIC4gdCkoZ2VuZGVyIG0gZikp
KQ0KKCJ5b3Vyc2VsdmVzIiAoKGN0Z3kgLiBwcm9uKShudW0gLiBwbHVyKShj
YXNlIC4gcmVmKShodW1hbiAuIHQpKGdlbmRlciBtIGYpKSkJICANCigiaGlt
c2VsZiIgKChjdGd5IC4gcHJvbikobnVtIC4gc2luZykoY2FzZSAuIHJlZiko
aHVtYW4gLiB0KShnZW5kZXIgLiBtKSkpDQooImhlcnNlbGYiICgoY3RneSAu
IHByb24pKG51bSAuIHNpbmcpKGNhc2UgLiByZWYpKGh1bWFuIC4gdCkoZ2Vu
ZGVyIC4gZikpKQ0KDQo7OzsgUHJvcGVyIE5vdW5zDQooIkNhc3NpZSIgKChj
dGd5IC4gbnByKSAobnVtIC4gc2luZykgKGdlbmRlciAuIGYpKGh1bWFuIC4g
bmlsKSkpDQooIkZyZWQiICgoY3RneSAuIG5wcikobnVtIC4gc2luZykgKGdl
bmRlciAuIG0pKGh1bWFuIC4gdCkpKQ0KKCJKb2huIiAoKGN0Z3kgLiBucHIp
KG51bSAuIHNpbmcpIChnZW5kZXIgLiBtKShodW1hbiAuIHQpKSkNCigiTHVj
eSIgKChjdGd5IC4gbnByKShudW0gLiBzaW5nKSAoZ2VuZGVyIC4gZikoaHVt
YW4gLiB0KSkpDQooIk9zY2FyIiAoKGN0Z3kgLiBucHIpKG51bSAuIHNpbmcp
IChnZW5kZXIgLiBtKShodW1hbiAuIHQpKSkNCg0KOzs7IFZlcmJzDQooInBp
Y2tzdXAiICAgICAgICAgICgoY3RneSAuIHYpKSkNCigiYXJpc2UiICAgICAg
ICAgICAgKChjdGd5IC4gdikocGFzdCAuICJhcm9zZSIpKSkNCigiYXJvc2Ui
ICAgICAgICAgICAgKChjdGd5IC4gdikocm9vdCAuICJhcmlzZSIpKHRlbnNl
IC4gcGFzdCkpKQ0KKCJwaWNrIiAgICAgICAgICAgICAoKGN0Z3kgLiB2KShw
YXN0IC4gInBpY2tlZCIpKSkNCigicGljayIgICAgICAgICAgICAgKChjdGd5
IC4gbXVsdGktc3RhcnQpIChtdWx0aS1yZXN0IC4gKCJ1cCIpKSkNCiAgICAg
ICAgICAgICAgICAgICAgKChjdGd5IC4gdikocm9vdCAuICJwaWNrIikpKQ0K
KCJwaWNrZWQiICAgICAgICAgICAoKGN0Z3kgLiB2KShyb290IC4gInBpY2si
KSh0ZW5zZSAuIHBhc3QpKSkNCg0KKCJyaWRlIiAgICAgICAgICAgICAoKGN0
Z3kgLiB2KShwYXN0IC4gInJvZGUiKSkpDQooInJvZGUiICAgICAgICAgICAg
ICgoY3RneSAuIHYpKHJvb3QgLiAicmlkZSIpKHRlbnNlIC4gcGFzdCkpKQ0K
KCJtb3VudCIgICAgICAgICAgICAoKGN0Z3kgLiB2KShwYXN0IC4gIm1vdW50
ZWQiKSkpDQooIm1vdW50ZWQiICAgICAgICAgICgoY3RneSAuIHYpKHJvb3Qg
LiAibW91bnQiKSh0ZW5zZSAuIHBhc3QpKSkNCigiY2FycnkiICAgICAgICAg
ICAgKChjdGd5IC4gdikocGFzdCAuICJjYXJyaWVkIikpKQ0KKCJjYXJyaWVk
IiAgICAgICAgICAoKGN0Z3kgLiB2KShyb290IC4gImNhcnJ5IikodGVuc2Ug
LiBwYXN0KSkpDQooInJ1biIgICAgICAgICAgICAgICgoY3RneSAuIHYpKHBh
c3QgLiAicmFuIikpKQ0KKCJyYW4iICAgICAgICAgICAgICAoKGN0Z3kgLiB2
KShyb290IC4gInJ1biIpKHRlbnNlIC4gcGFzdCkpKQ0KKCJ0YWtlIiAgICAg
ICAgICAgICAoKGN0Z3kgLiB2KShwYXN0IC4gInRvb2siKSkpDQooInRvb2si
ICAgICAgICAgICAgICgoY3RneSAuIHYpKHJvb3QgLiAidGFrZSIpKHRlbnNl
IC4gcGFzdCkpKQ0KKCJzYXkiICAgICAgICAgICAgICAoKGN0Z3kgLiB2KShw
YXN0IC4gInNhaWQiKSkpDQooInNhaWQiICAgICAgICAgICAgICgoY3RneSAu
IHYpKHJvb3QgLiAic2F5IikodGVuc2UgLiBwYXN0KSkpDQooImRlZmluZSIg
ICAgICAgICAgICgoY3RneSAuIHYpKSkNCigid2FudCIgICAgICAgICAgICAg
KChjdGd5IC4gdikpKQ0KKCJtdXN0IiAgICAgICAgICAgICAoKGN0Z3kgLiBh
dikpKQ0KKCJ3aWxsIiAgICAgICAgICAgICAoKGN0Z3kgLiBhdikpKQ0KKCJj
aGFzZSIgICAgICAgICAgICAoKGN0Z3kgLiB2KSkpIA0KKCJzZWVrIiAgICAg
ICAgICAgICAoKGN0Z3kgLiB2KSkpDQooInNweSIgICAgICAgICAgICAgICgo
Y3RneSAuIHYpKSkNCigia25vdyIgICAgICAgICAgICAgKChjdGd5IC4gdikp
KQ0KKCJzcGllcyIgICAgICAgICAgICAoKGN0Z3kgLiB2KShyb290IC4gInNw
eSIpKHRlbnNlIC4gcHJlc2VudCkpKQ0KKCJnaXZlIiAgICAgICAgICAgICAo
KGN0Z3kgLiB2KSkpDQooImJheSIgICAgICAgICAgICAgICgoY3RneSAuIHYp
KSkNCigiZmluZCIgICAgICAgICAgICAgKChjdGd5IC4gdikpKQ0KKCJicmlu
ZyIgICAgICAgICAgICAoKGN0Z3kgLiB2KSkpDQooImJlbG9uZyIgICAgICAg
ICAgICgoY3RneSAuIHYpKSkNCg0KKCJhcmUiICgoY3RneSAuIHYpKHJvb3Qg
LiAiYmUiKShudW0gLiBwbHVyKSkpDQooImlzIiAoKGN0Z3kgLiB2KShyb290
IC4gImJlIikobnVtIC4gc2luZykodGVuc2UgLiBwcmVzKSkpDQooImxpdmUi
ICgoY3RneSAuIHYpKSkNCigib3duIiAoKGN0Z3kgLiB2KShudW0gLiBzaW5n
KSh0ZW5zZSAuIHByZXMpKSkNCigicGV0IiAoKGN0Z3kgLiB2KShudW0gLiBz
aW5nKSh0ZW5zZSAuIHByZXMpKSkNCigic2F3IiAoKGN0Z3kgLiB2KShyb290
IC4gInNlZSIpKHRlbnNlIC4gcGFzdCkpKQ0KKCJzZWUiICgoY3RneSAuIHYp
KHBhc3QgLiAic2F3IikpKQ0KKCJ3YXMiICgoY3RneSAuIHYpKHJvb3QgLiAi
YmUiKShudW0gLiBzaW5nKSh0ZW5zZSAuIHBhc3QpKSkNCigid2VyZSIgKChj
dGd5IC4gdikocm9vdCAuICJiZSIpKG51bSAuIHBsdXIpKHRlbnNlIC4gcGFz
dCkpKQ0KKCJzbGVlcCIgKChjdGd5IC4gdikocGFzdCAuICJzbGVwdCIpKSkN
Cigic2xlcHQiICgoY3RneSAuIHYpKHJvb3QgLiAic2xlZXAiKSh0ZW5zZSAu
IHBhc3QpKSkNCg0KKCJiZWxpZXZlIiAgICAgICAgICAoKGN0Z3kgLiB2KShz
dGF0aXZlIC4gdCkpKQ0KKCJiaXQiICAgICAgICAgICAgICAoKGN0Z3kgLiB2
KShyb290IC4gImJpdGUiKSh0ZW5zZSAuIHBhc3QpKSkNCigiYml0ZSIgICAg
ICAgICAgICAgKChjdGd5IC4gdikobnVtIC4gcGx1cikocGFzdCAuICJiaXQi
KSkpDQooImxpa2UiICAgICAgICAgICAgICgoY3RneSAuIHYpKG51bSAuIHBs
dXIpKSkNCigic3R1ZHkiICAgICAgICAgICAgKChjdGd5IC4gdikpKQ0KKCJ1
c2UiICAgICAgICAgICAgICAoKGN0Z3kgLiB2KSkpDQooImxvdmUiICAgICAg
ICAgICAgICgoY3RneSAuIHYpKSkNCigiZGlzbGlrZSIgICAgICAgICAgKChj
dGd5IC4gdikpKQ0KKCJoYXRlIiAgICAgICAgICAgICAoKGN0Z3kgLiB2KSkp
DQoNCjs7OyBBdXhpbGlhcnkgVmVyYnMNCigiZGlkIiAoKGN0Z3kgLiBhdXgp
KHJvb3QgLiAiZG8iKSh0ZW5zZSAuIHBhc3QpKSkNCigiZG9lcyIgKChjdGd5
IC4gYXV4KShyb290IC4gImRvIikobnVtIC4gc2luZykodGVuc2UgLiBwcmVz
KSkpDQooImRvIiAoKGN0Z3kgLiBhdXgpKHJvb3QgLiAiZG8iKShudW0gLiBw
bHVyKSh0ZW5zZSAuIHByZXMpKSkNCiANCjs7OyBLbm93bGVkZ2UgQ2F0ZWdv
cmllcw0KKCJsaWZlIiAoKGN0Z3kgLiBrbikpKQ0KKCJzdG9yeSIgKChjdGd5
IC4ga24pKSkNCg0KOzs7IEludGVycm9nYXRpdmVzDQooIndobyIgKChjdGd5
IC4gd2gpKGh1bWFuIC4gdCkpKQ0KKCJ3aGF0IiAoKGN0Z3kgLiB3aCkoaHVt
YW4gLiBuaWwpKSkNCg0KOzs7UHJlcG9zaXRpb25zDQooImludG8iICAgICAg
ICAgICAgICgoY3RneSAuIHByZXApKSkNCigidG8iICAgICAgICAgICAgICAg
KChjdGd5IC4gcHJlcCkpKQ0KKCJvZiIgICAgICAgICAgICAgICAoKGN0Z3kg
LiBwcmVwKSkpDQooImJlaGluZCIgICAgICAgICAgICgoY3RneSAuIHByZXAp
KSkNCigiaW4iICAgICAgICAgICAgICAgKChjdGd5IC4gcHJlcCkpKSANCigi
YXQiICAgICAgICAgICAgICAgKChjdGd5IC4gcHJlcCkpKQ0KKCJuZXh0dG8i
ICAgICAgICAgICAoKGN0Z3kgLiBwcmVwKSkpDQoNCjs7O0Nvbmp1Z2F0ZXMN
CigidGhhdCIgICAgICAgICAgICAgKChjdGd5IC4gY29uaikpKQ0KDQoNCg0K

---559023410-851401618-1084667599=:22512
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="Falltempgram.lisp"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.SOL.4.56.0405152033193.22512@yeager.cse.Buffalo.EDU>
Content-Description: 
Content-Disposition: ATTACHMENT; FILENAME="Falltempgram.lisp"

Ozs7OmxkIC9wcm9qZWN0cy9zdG4yL0NWQS9kZWZ1bl9ub3VuLmNsDQoNCihe
XiBkZWZ2YXIgKmtuY2F0KiAibGlmZSIpDQoNCiheXiBkZWZ1biBnZXRrbiAo
KSAqa25jYXQqKQ0KDQooXl4gZGVmdW4gc2V0a24gKHZhbHVlKQ0KICAgICAg
ICAgKHNldGYgKmtuY2F0KiB2YWx1ZSkpDQoNCjs7OyBGaXJzdCwgdGhlIFNO
ZVBTIHJlbGF0aW9ucyB1c2VkIGluIHRoZSBHQVROIGFyZSBkZWZpbmVkLg0K
KF5eIGRlZmluZSBhZ2VudCBhY3QgYWN0aW9uIG9iamVjdCBwcm9wZXJuYW1l
IG1lbWJlciBjbGFzcyBsZXgNCiAgICBzdWJjbGFzcyBzdXBlcmNsYXNzIHN0
aW1lIGV0aW1lIGJlZm9yZSBhZnRlciBza2ZuIHNrYXJnIGV2ZW50IHJlc3Vs
dHMNCiAgICBvYmplY3QtMSByZWwgb2JqZWN0LTIgcHJvcGVydHkgaW50byBz
cC1yZWwgbG9jYXRpb24gdG8NCiAgICBkaXJlY3Rpb24gcGxhY2UgbW9kZSBw
b3NzZXNzb3IgY2xhc3Ntb2QgY2xhc3NoZWFkIHByZWQgYmVnIGVxdWl2IGVu
ZCANCiAgICB8YXR8IHx0b3wgd29yZCBrbl9jYXQpDQoNCiheXiBkZWZ2YXIg
KlNheW5CZWZvcmVWb3dlbHMqIG5pbA0KICAgICJJZiB0cnVlIGFuZCB0aGUg
bmV4dCB3b3JkIHN0YXJ0cyB3aXRoIGEgdm93ZWwsIHByaW50ICduICcgYmVm
b3JlIHRoYXQgbmV4dCB3b3JkLiIpDQoNCiheXiBkZWZ2YXIgKk5vQmxhbmsq
IG5pbA0KICAgICJJZiB0cnVlLCBTYXlPbmVXb3JkIHNob3VsZG4ndCBwcmlu
dCBhIGJsYW5rIGJlZm9yZSBwcmludGluZyB0aGUgd29yZC4iKQ0KDQooXl4g
ZGVmY29uc3RhbnQgKnZvd2VscyogJygjXGEgI1xlICNcaSAjXG8gI1x1KQ0K
ICAgICJBIGxpc3Qgb2YgdGhlIHZvd2Vscy4iKQ0KDQooXl4gZGVmY29uc3Rh
bnQgKm15cHVuY3QtY2hhcnMqIChyZW1vdmUgI1xgICpwdW5jdC1jaGFycyop
DQogICAgIkRvbid0IGVsaW1pbmF0ZSB0aGUgYmxhbmsgYmVmb3JlIHRoZSBi
YWNrLXF1b3RlLiIpDQoNCjs7OyBUaGUgZm9sbG93aW5nIHRocmVlIGZ1bmN0
aW9ucyBpbXBsZW1lbnQgYSAicGhvbm9sb2dpY2FsIiBjb21wb25lbnQNCjs7
OyB0aGF0IGNhbiBiZSB1c2VkIHRvIG91dHB1dCB3b3JkcyBhbmQgcGhyYXNl
cyBmcm9tIGFyY3Mgb2YgdGhlIEdBVE4uDQo7OzsgSW4gdGhpcyB3YXksIHRo
ZSBiZWdpbm5pbmcgb2YgdGhlIHNlbnRlbmNlIGNhbiBiZSB1dHRlcmVkIGJl
Zm9yZQ0KOzs7IHRoZSByZXN0IG9mIHRoZSBzZW50ZW5jZSBoYXMgYmVlbiBj
b21wb3NlZC4NCg0KKF5eIGRlZnZhciAqU1BFQUsqIG5pbA0KICAgICJQb3Nz
aWJsZSB2YWx1ZXM6DQogICAgICAgIG5pbDogICAgICAgICAgbm8gc3BlZWNo
DQogICAgICAgIFwifGF1ZGlvcGxheVwiOiBydW5uaW5nIG9uIHNhbWUgbWFj
aGluZSBhcyBrZXlib2FyZC9tb25pdG9yDQogICAgICAgIFwifGF1cGxheVwi
OiAgICBydW5uaW5nIG9uIGEgcmVtb3RlIG1hY2hpbmUiDQogICAgKQ0KDQoo
Xl4gbGV0ICgoQlVGRkVSICIiKSkNCiAgICAgKGRlZnVuIHV0dGVyICh3b3Jk
cyAma2V5IChmbHVzaCBuaWwpIChub3ByaW50IG5pbCkgKHZvaWNlICJXQU5E
QSIpKQ0KICAgICAgICh3aGVuIChlcWwgZmx1c2ggOmJlZm9yZSkNCgkgKGZs
dXNoIHZvaWNlKQ0KCSAoZm9ybWF0IHNuZXBzOm91dHVuaXQgIn4mIikpDQog
ICAgICAgKHNldGYgQlVGRkVSIA0KCSAoY29uY2F0ZW5hdGUgJ3N0cmluZyBC
VUZGRVINCgkJICAgICAgIChyZW1vdmUgI1xgIChyZW1vdmUgI1wnIHdvcmRz
KSkpKQ0KICAgICAgICh1bmxlc3Mgbm9wcmludA0KCSAoZm9ybWF0IHNuZXBz
Om91dHVuaXQgIn5BIiB3b3JkcykpDQogICAgICAgKHdoZW4gKGVxbCBmbHVz
aCA6YWZ0ZXIpDQoJIChmbHVzaCB2b2ljZSkNCgkgKHVubGVzcyBub3ByaW50
DQoJICAgKGZvcm1hdCBzbmVwczpvdXR1bml0ICJ+JSIpKSkpDQogICAgIChk
ZWZ1biBmbHVzaCAodm9pY2UpDQogICAgICAgKGRlY2xhcmUgKHNwZWNpYWwg
KlNQRUFLKikpDQogICAgICAgKHdoZW4gKlNQRUFLKg0KCSAoZXhjbDpzaGVs
bA0KCSAgKGNvbmNhdGVuYXRlICdzdHJpbmcgImVjaG8gXCIiIEJVRkZFUg0K
CSAgICAiXCIgfCAvcHJvamVjdHMvc253aXovYmluL3R0c2VTcGVhayAiIHZv
aWNlICpTUEVBSyopKSkNCiAgICAgICAoc2V0ZiBCVUZGRVIgIiIpKSkNCg0K
Ozs7KF5eIGNvbmQgKCh5LW9yLW4tcCAifiZEbyB5b3Ugd2FudCBzcGVlY2g/
ICIpDQo7OzsJICAoc2V0ZiAqU1BFQUsqDQo7OzsJICAgIChjb25kICgoc3Ry
aW5nXD0gKHN5c3RlbTpnZXRlbnYgIkRJU1BMQVkiKSAiOjAuMCIpICJ8YXVk
aW9wbGF5IikNCjs7OwkJICAodCAoeS1vci1uLXAgIn4mRXhlY3V0ZX4lYXVz
dW4gLWFhICZ+JW9uIHlvdXIgbG9jYWwgbWFjaGluZS5+DQo7OzsgICAgICAg
ICAgICAgICAgICAgICAgICAgIFRoZW4gZW50ZXIgYHknLn4lIikNCjs7OwkJ
ICAgICAoZXhjbDpzaGVsbCANCjs7OwkJICAgICAgKGNvbmNhdGVuYXRlICdz
dHJpbmcNCjs7OwkJCSJzZXRlbnYgQVVESU9TRVJWRVIgIg0KOzs7CQkJKHN1
YnNlcSAoc3lzdGVtOmdldGVudiAiRElTUExBWSIpDQo7OzsJCQkJMA0KOzs7
CQkJCShwb3NpdGlvbiAjXDogKHN5c3RlbTpnZXRlbnYgIkRJU1BMQVkiKSkp
DQo7OzsJCQkiOjAiKSkNCjs7OwkJICAgICAifGF1cGxheSIpKSkNCjs7Owkg
ICh1dHRlciAiT0ssIEkgd2lsbCBzcGVhay4iIDpmbHVzaCA6YWZ0ZXIpKQ0K
Ozs7ICAgICh0IChzZXRmICpTUEVBSyogbmlsKSkpDQoNCiheXiBjb21waWxl
DQogICAgKGRlZnVuIGNvbWJpbmUtc3RyaW5ncyAoc3RyaW5ncykNCiAgICAg
IChpZiAobnVsbCBzdHJpbmdzKSAiIg0KCShjb25jYXRlbmF0ZSAnc3RyaW5n
IChmaXJzdCBzdHJpbmdzKSAiICINCgkJICAgICAoY29tYmluZS1zdHJpbmdz
IChyZXN0IHN0cmluZ3MpKSkpKSkNCg0KKF5eIGRlZnZhciAqU2VudGVuY2VT
dGFydCogdA0KICAgICJUcnVlIGlmIHRoZSBuZXh0IHdvcmQgdG8gYmUgc2Fp
ZA0KICAgICB3aWxsIGJlIHRoZSBmaXJzdCB3b3JkIG9mIGEgc2VudGVuY2Ui
KQ0KDQoNCiheXiBkZWZ1biBTYXlPbmVXb3JkICh3b3JkKQ0KICAgICJQcmlu
dHMgdGhlIHNpbmdsZSBXT1JELCB3aGljaCBtdXN0IGJlIGEgc3RyaW5nIG9y
IGEgbm9kZS4NCiAgICAgSWYgdGhlIHdvcmQgaXMgJ2EnLCBzZXRzICpTYXlu
QmVmb3JlVm93ZWxzKi4NCiAgICAgSWYgKlNheW5CZWZvcmVWb3dlbHMqIGlz
IHNldCwgdGhlbiBwcmludHMgJ24gJyBiZWZvcmUgd29yZC9zDQogICAgIGlm
IHRoZSBmaXJzdCBsZXR0ZXIgb2Ygd29yZC9zIGlzIGEgdm93ZWwuIg0KICAg
IChjaGVjay10eXBlIHdvcmQgKG9yIHN0cmluZyBzbmVwczpub2RlKSkNCiAg
ICAod2hlbiAoc25lcHM6bm9kZS1wIHdvcmQpIChzZXRmIHdvcmQgKGZvcm1h
dCBuaWwgIn5BIiB3b3JkKSkpDQogICAgKHdoZW4gKlNheW5CZWZvcmVWb3dl
bHMqDQogICAgICAgKHdoZW4gKG1lbWJlciAoY2hhciB3b3JkIDApICp2b3dl
bHMqIDp0ZXN0ICMnY2hhcj0pIChmb3JtYXQgdCAibiIpKQ0KICAgICAgKHNl
dGYgKlNheW5CZWZvcmVWb3dlbHMqIG5pbCkpDQogICAgKHdoZW4gKHN0cmlu
Z1w9IHdvcmQgImEiKSAoc2V0ZiAqU2F5bkJlZm9yZVZvd2VscyogdCkpDQog
ICAgKGZvcm1hdCB0ICIgfkEiIHdvcmQpKQ0KDQo7OzsoXl4gY29tcGlsZQ0K
Ozs7ICAgIChkZWZ1biBzYXkgKHdvcmQvcykNCjs7OyAgICAgICJQcmludHMg
dGhlIHNpbmdsZSB3b3JkIG9yIHRoZSBsaXN0IG9mIHdvcmRzLg0KOzs7ICAg
ICAgIElmIHRoZSB3b3JkIGlzICdhJywgc2V0cyAqU2F5bkJlZm9yZVZvd2Vs
cyouDQo7OzsgICAgICAgSWYgKlNheW5CZWZvcmVWb3dlbHMqIGlzIHNldCwg
dGhlbiBwcmludHMgJ24gJyBiZWZvcmUgd29yZC9zDQo7OzsgICAgICAgaWYg
dGhlIGZpcnN0IGxldHRlciBvZiB3b3JkL3MgaXMgYSB2b3dlbC4iDQo7Ozsg
ICAgICAoY29uZCAoKGxpc3RwIHdvcmQvcykgDQo7OzsJICAgICAjfChzcGVh
ayAoYXBwbHkgIydjb25jYXRlbmF0ZSAoY29ucyAnc3RyaW5nIHdvcmQvcykp
KXwjDQo7OzsJICAgICAobWFwYyAjJ1NheU9uZVdvcmQgd29yZC9zKSkNCjs7
OwkgICAgKHQgI3woc3BlYWsgd29yZC9zKXwjDQo7OzsJICAgICAgIChTYXlP
bmVXb3JkIHdvcmQvcykpKSkpDQoNCiheXiBkZWZ1biBzYXkgKHdvcmQvcykN
CiAgICAiUHJpbnRzIHRoZSBzaW5nbGUgd29yZCBvciB0aGUgbGlzdCBvZiB3
b3Jkcy4NCiAgICAgSWYgdGhlIHdvcmQgaXMgJ2EnLCBzZXRzICpTYXluQmVm
b3JlVm93ZWxzKi4NCiAgICAgSWYgKlNheW5CZWZvcmVWb3dlbHMqIGlzIHNl
dCwgdGhlbiBwcmludHMgJ24gJyBiZWZvcmUgd29yZC9zDQogICAgIGlmIHRo
ZSBmaXJzdCBsZXR0ZXIgb2Ygd29yZC9zIGlzIGEgdm93ZWwuIg0KICAgIChp
ZiAobGlzdHAgd29yZC9zKSAobWFwYyAjJ1NheU9uZVdvcmQgd29yZC9zKQ0K
ICAgICAgKFNheU9uZVdvcmQgd29yZC9zKSkpDQoNCiheXiBjb21waWxlDQog
ICAgKGRlZnVuIHBvc3Nlc3NpdmUtZm9ybSAobm91bikNCiAgICAgICJSZXR1
cm5zIHRoZSBwb3NzZXNzaXZlIGZvcm0gb2YgdGhlIG5vdW4gb3IgcHJvbm91
bi4iDQogICAgICAoY29uZCAoKG1lbWJlciBub3VuICcoIkkiICJtZSIpIDp0
ZXN0ICMnc3RyaW5nXD0pICJteSIpDQoJICAgICgoc3RyaW5nXD0gbm91biAi
eW91IikgInlvdXIiKQ0KCSAgICAoKG1lbWJlciBub3VuICcoImhlIiAiaGlt
IikgOnRlc3QgIydzdHJpbmdcPSkgImhpcyIpDQoJICAgICgobWVtYmVyIG5v
dW4gJygic2hlIiAiaGVyIikgOnRlc3QgIydzdHJpbmdcPSkgImhlciIpDQoJ
ICAgICgoc3RyaW5nXD0gbm91biAiaXQiKSAiaXRzIikNCgkgICAgKChtZW1i
ZXIgbm91biAnKCJ0aGV5IiAidGhlbSIpIDp0ZXN0ICMnc3RyaW5nXD0pICJ0
aGVpciIpDQoJICAgICh0IChjb25jYXRlbmF0ZSAnc3RyaW5nIG5vdW4gIidz
IikpKSkpDQoNCiheXiBjb21waWxlDQogICAgKGRlZnVuIHNheW4gKG5vdW4p
DQogICAgICAiUHJpbnRzIHRoZSBzaW5nbGUgbm91biBvciBwcm9ub3VuLg0K
ICAgICAgIFByaW50cyB0aGUgcG9zc2Vzc2l2ZSBmb3JtIGlmIHRoZSBQT1NT
IHJlZ2lzdGVyIGlzIFRydWUuDQogICAgICAgSWYgKlNheW5CZWZvcmVWb3dl
bHMqIGlzIHNldCwgdGhlbiBwcmludHMgJ24gJyBiZWZvcmUgdGhlIG5vdW4N
CiAgICAgICBpZiBpdHMgZmlyc3QgbGV0dGVyIGlzIGEgdm93ZWwuIg0KICAg
ICAgKHdoZW4gKGxpc3RwIG5vdW4pIChzZXRmIG5vdW4gKGZpcnN0IG5vdW4p
KSkNCiAgICAgIChpZiAoZ2V0ciBwb3NzKQ0KCSAgKFNheU9uZVdvcmQgKHBv
c3Nlc3NpdmUtZm9ybSAoZm9ybWF0IG5pbCAifkEiIG5vdW4pKSkNCgkoU2F5
T25lV29yZA0KCSAoaWYgKHNuZXBzOm5vZGUtcCBub3VuKQ0KCSAgIChvciAo
ZXZhbCBgKGdldGYgcm9vdCAsKGZvcm1hdCBuaWwgIn5BIiBub3VuKSkpDQoJ
ICAgICAgIChmb3JtYXQgbmlsICJ+QSIgbm91bikpDQoJICAgbm91bikpKSkp
DQoNCiheXiBkZWZ2YXIgKmxhc3RhZGRyZXNzZWUqIG5pbA0KICAgICJUaGUg
bGFzdCBhZ2VudCBhZGRyZXNzZWQgYnkgQ2Fzc2llLiIpDQoNCiheXiBjb21w
aWxlDQogICAgKGRlZnVuIGFkZE5hbWUgKG5vZGUgdXNlZXF1aXZwKQ0KICAg
ICAgIkFkZHMgdGhlIGFkZHJlc3NlZSdzIG5hbWUgKHNvIGl0IGNvbWVzIG91
dCBgeW91LCA8bmFtZT4nDQogICAgICAgdGhlIGZpcnN0IHRpbWUgdGhhdCBh
Z2VudCBpcyBhZGRyZXNzZWQuDQogICAgICAgQnV0IGRvZXNuJ3QgYWRkIHRo
ZSBuYW1lIGlmIGB5b3UnIGlzIHBvc3Nlc3NpdmUuIg0KICAgICAgKHVubGVz
cyANCgkgIChhbmQgKmxhc3RhZGRyZXNzZWUqDQoJICAgICAgIChzbmVwczpp
c21lbWIubnMNCgkJbm9kZSANCgkJKHNuZXBzOnBhdGhmcm9tICcoa3N0YXIg
KGVxdWl2LSAhIGVxdWl2KSkgKmxhc3RhZGRyZXNzZWUqKSkpDQoJKHNldGYg
Kmxhc3RhZGRyZXNzZWUqIG5vZGUpDQoJKHVubGVzcyAoZ2V0ciBwb3NzKQ0K
CSAgKGxldCAoKG5hbWUNCgkJIChzbmVwczpjaG9vc2UubnMNCgkJICAoaWYg
dXNlZXF1aXZwDQoJCSAgICAgICMhKChmaW5kIChwcm9wZXJuYW1lLSAhIG9i
amVjdA0KCQkJCQkgICAgKGtzdGFyIChjb21wb3NlIGVxdWl2LSAhIGVxdWl2
KSkpDQoJCQkgICAgICAgfm5vZGUpKQ0KCQkgICAgICAjISgoZmluZCAocHJv
cGVybmFtZS0gISBvYmplY3QpIH5ub2RlKSkpKSkpDQoJICAgICh3aGVuIG5h
bWUgKHNheSBgKCIsIiAsbmFtZSkpKSkpKSkpDQoNCiheXiBjb21waWxlDQog
ICAgKGRlZnVuIGJlc3QtY2xhc3MgKGNsYXNzbm9kZXMpDQogICAgICAiQ2hv
b3NlcyB0aGUgbW9zdCBzcGVjaWZpYyBmcm9tIHRoZSBzZXQgb2Ygbm9kZXMg
cmVwcmVzZW50aW5nIGNsYXNzZXMuIg0KICAgICAgKGxldCAoKGJlc3RjbGFz
cyAoc25lcHM6Y2hvb3NlLm5zIGNsYXNzbm9kZXMpKSkNCgkoc25lcHM6ZG8u
bnMgKGNsYXNzbm9kZSAoc25lcHM6b3RoZXJzLm5zIGNsYXNzbm9kZXMpIGJl
c3RjbGFzcykNCgkJICAgICAod2hlbiAjISgoZGVkdWNlIHN1YmNsYXNzIH5j
bGFzc25vZGUNCgkJCQkgICAgICBzdXBlcmNsYXNzIH5iZXN0Y2xhc3MpKQ0K
CQkJICAgKHNldGYgYmVzdGNsYXNzIGNsYXNzbm9kZSkpKSkpKQ0KDQooXl4g
Y29tcGlsZQ0KICAgIChkZWZ1biByZW1vdmUtZXF1aXZzIChub2Rlc2V0KQ0K
ICAgICAgIlJlbW92ZXMgZnJvbSBOT0RFU0VUIGFueSBub2RlIHRoYXQgaXMg
RVFVSVYgdG8gYW5vdGhlciwNCiAgICAgICBzbyBvbmx5IG9uZSBub2RlIGZy
b20gYW4gRVFVSVZhbGVuY2Ugc2V0IGlzIHJldGFpbmVkLiINCiAgICAgIChj
b25kICgoYXRvbSBub2Rlc2V0KSBub2Rlc2V0KQ0KCSAgICAoKG51bGwgKHJl
c3Qgbm9kZXNldCkpIG5vZGVzZXQpDQoJICAgICh0IChyZW1vdmUtZHVwbGlj
YXRlcw0KCQlub2Rlc2V0DQoJCTp0ZXN0ICMnKGxhbWJkYSAobmRlMSBuZGUy
KQ0KCQkJICAjISgoZGVkdWNlIGVxdWl2IH5uZGUxIGVxdWl2IH5uZGUyKSkp
KSkpKSkNCg0KKF5eIGNvbXBpbGUNCiAgICAoZGVmdW4gcmVtb3ZlLXJlZHVu
ZGFudC1jbGFzc2VzIChub2Rlc2V0KQ0KICAgICAgIlJlbW92ZXMgZnJvbSBO
T0RFU0VUIGFueSBtZW1iZXItY2xhc3MxIG5vZGUgZm9yIHdoaWNoIHRoZXJl
IGlzDQogICAgICAgYSBtZW1iZXItY2xhc3MyIG5vZGUgaW4gdGhlIHNldCBm
b3Igd2hpY2ggY2xhc3MyIGlzIGEgc3ViY2xhc3Mgb2YNCiAgICAgICBjbGFz
czEuDQogICAgICAgQWxzbyByZW1vdmVzIGZyb20gTk9ERVNFVCBhbnkgbm90
KG1lbWJlci1jbGFzczEpIG5vZGUgZm9yIHdoaWNoDQogICAgICAgdGhlcmUg
aXMgYSBub3QobWVtYmVyLWNsYXNzMikgbm9kZSBpbiB0aGUgc2V0IGZvciB3
aGljaCBjbGFzczINCiAgICAgICBpcyBhIHN1cGVyY2xhc3Mgb2YgY2xhc3Mx
LiINCiAgICAgIChjb25kDQogICAgICAgKChhdG9tIG5vZGVzZXQpIG5vZGVz
ZXQpDQogICAgICAgKChudWxsIChyZXN0IG5vZGVzZXQpKSBub2Rlc2V0KQ0K
ICAgICAgICh0IChyZW1vdmUtaWYNCgkgICAjJyhsYW1iZGEgKG5kZTEpDQoJ
ICAgICAgIChmaW5kLWlmDQoJCSMnKGxhbWJkYSAobmRlMikNCgkJICAgIChv
cg0KCQkgICAgIChhbmQNCgkJICAgICAgIyEoKGZpbmQgY2xhc3MtIH5uZGUx
KSkNCgkJICAgICAgIyEoKGZpbmQgY2xhc3MtIH5uZGUyKSkNCgkJICAgICAg
IyEoKGRlZHVjZSBzdXBlcmNsYXNzIH4oc25lcHM6bm9kZXNldC5uIG5kZTEg
J2NsYXNzKQ0KCQkJCSBzdWJjbGFzcyB+KHNuZXBzOm5vZGVzZXQubiBuZGUy
ICdjbGFzcykpKSkNCgkJICAgICAoYW5kDQoJCSAgICAgIChzbmVwczppcy1u
b3IubiBuZGUxKQ0KCQkgICAgICAoc25lcHM6aXMtbm9yLm4gbmRlMikNCgkJ
ICAgICAgIyEoKGZpbmQgKGNsYXNzLSBhcmctKSB+bmRlMSkpDQoJCSAgICAg
ICMhKChmaW5kIChjbGFzcy0gIGFyZy0pIH5uZGUyKSkNCgkJICAgICAgIyEo
KGRlZHVjZQ0KCQkJICBzdWJjbGFzcyB+KHNuZXBzOnBhdGhmcm9tICcoYXJn
IGNsYXNzKSBuZGUxKQ0KCQkJICBzdXBlcmNsYXNzIH4oc25lcHM6cGF0aGZy
b20gJyhhcmcgY2xhc3MpIG5kZTIpKSkpKSkNCgkJbm9kZXNldCkpDQoJICAg
bm9kZXNldCkpKSkpDQoNCg0KKF5eIGRlZnVuIHRlbnNlLWFuZC1hc3BlY3Qg
KHRpbWUpDQogICAgKGNvbmQgKCMhKChmaW5kYXNzZXJ0IHN1cGludCB+dGlt
ZSBzdWJpbnQgKk5PVykpICcocHJlcyBwcm9nKSkNCgkgICgjISgoZmluZGFz
c2VydCBiZWZvcmUgfnRpbWUgYWZ0ZXIgKk5PVykpICcocGFzdCBub24tcHJv
ZykpDQoJICAoIyEoKGZpbmRhc3NlcnQgc3VwaW50IH50aW1lDQoJCQkgIHN1
YmludCAoZmluZCBiZWZvcmUtIChmaW5kYXNzZXJ0IGFmdGVyICpub3cpKSkp
DQoJICAgICAnKHBhc3QgcHJvZykpDQoJICAoKGludGVyc2VjdGlvbiB0aW1l
ICgqICdOT1cpKSAnKHByZXMgbm9uLXByb2cpKQ0KCSAgKHQgJyhwYXN0IG5v
bi1wcm9nKSkpKQ0KDQooXl4gZGVmdW4gdGVtcG9yYWxseS1zb3J0IChub2Rl
cykNCiAgICAoY29uZCAoKGF0b20gbm9kZXMpIG5vZGVzKQ0KCSAgKChudWxs
IChyZXN0IG5vZGVzKSkgbm9kZXMpDQoJICAodCAoc29ydCBub2Rlcw0KCQkg
ICAjJyhsYW1iZGEgKG4gbSkNCgkJICAgICAgIChpZiAjISgoZmluZCB0aW1l
LSB+bikpDQoJCQkgKGlmICMhKChmaW5kIHRpbWUtIH5tKSkNCgkJCSAgICMh
KChmaW5kYXNzZXJ0IGJlZm9yZSAoZmluZCB0aW1lLSB+bikNCgkJCQkJICBh
ZnRlciAoZmluZCB0aW1lLSB+bSkpKQ0KCQkJICAgbmlsKQ0KCQkJIHQpKSkp
KSkNCg0KKF5eIGRlZnVuIHByb3Bvc2l0aW9ucCAobm9kZSkNCiAgICAiUmV0
dXJucyBUIGlmIE5PREUgcmVwcmVzZW50cyBhIHByb3Bvc2l0aW9uOyBOSUwg
b3RoZXJ3aXNlLiINCiAgICAoZG9saXN0IChhcmMgJyhhY3QgZXZlbnQgcHJv
cGVydHkgZXF1aXYgbWVtYmVyIHBvc3Nlc3NvciBzdWJjbGFzcw0KCQkgICBw
cm9wZXJuYW1lIHN1YmludCkNCgkgICAgICBuaWwpDQogICAgICAod2hlbiAo
cGFyc2VyOjppbnRlcm5hbC1nZXRhIGFyYyBub2RlKSAocmV0dXJuIHQpKSkp
DQoNCg0KOzs7IFRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIHdlcmUgYWxsIGFi
c3RyYWN0ZWQgZnJvbSB0aGUgZ3JhbW1hciBkZXZlbG9wZWQgYnkgS29vbnR6
IGFuZCBkZWFsIHdpdGggYW5hcGhvcmEgDQo7OzsgcmVzb2x1dGlvbi4NCjs7
OyAqKipuZXcgZGVmdW4gZnJvbSBidWdib29rDQoNCiheXiBkZWZ1biBudW1i
ZXJvZiAobm9kZSkNCiAgIlJldHVybnMgJ1BMVVIgaWYgTk9ERSByZXByZXNl
bnRzIGEgcGx1cmFsIGVudGl0eTsNCiAgICdTSU5HIG90aGVyd2lzZSINCiAg
KGRlY2xhcmUgKHNwZWNpYWwgbm9kZSkpDQogIChjaGVjay10eXBlIG5vZGUg
c25lcHM6bm9kZSkNCiAgKGlmIChmaW5kIChvciBzdWJjbGFzcyBzdXBlcmNs
YXNzKSAoXiBub2RlKSkNCiAgICAgICdwbHVyDQogICAgJ3NpbmcpKQ0KDQo7
OzsgKioqIGxpc3AgZnVuY3Rpb25zIGZvciByZXNvbHZpbmcgYW5hcGhvcmEN
Cg0KKF5eIGRlZnZhciAqZm9jdXNsaXN0KiAnKCkpDQoNCiheXiBkZWZ1biBn
ZXRpbmZvIChub2RlIGZvY3VzbGlzdCkJOyBub2RlKmZvY3VzbGlzdC0+bm9k
ZWxpc3QNCiAgKGlmIChlcWwgZm9jdXNsaXN0IG5pbCkgDQogICAgICBuaWwN
CiAgICAoaWYgKGVxbCBub2RlIChmaXJzdCAoZmlyc3QgZm9jdXNsaXN0KSkp
DQoJKGZpcnN0IGZvY3VzbGlzdCkNCiAgICAgIChnZXRpbmZvIG5vZGUgKHJl
c3QgZm9jdXNsaXN0KSkpKSkNCg0KKF5eIGRlZnVuIGRlbGV0ZS1ub2RlIChu
b2RlIGZvY3VzbGlzdCkgICAgICAgOyBub2RlKmZvY3VzbGlzdC0+Zm9jdXNs
aXN0DQogIChpZiAoZXFsIGZvY3VzbGlzdCBuaWwpDQogICAgICBuaWwNCiAg
ICAoaWYgKGVxbCBub2RlIChmaXJzdCAoZmlyc3QgZm9jdXNsaXN0KSkpDQoJ
KGRlbGV0ZS1ub2RlIG5vZGUgKHJlc3QgZm9jdXNsaXN0KSkNCiAgICAgIChj
b25zIChmaXJzdCBmb2N1c2xpc3QpIChkZWxldGUtbm9kZSBub2RlIChyZXN0
IGZvY3VzbGlzdCkpKSkpKQ0KDQooXl4gZGVmdW4gcmVkdWNlLWFsbCAoZm9j
dXNsaXN0KSAgOyBmb2N1c2xpc3QtPmZvY3VzbGlzdAkNCiAgKGlmIChlcWwg
Zm9jdXNsaXN0IG5pbCkgDQogICAgICBuaWwNCiAgICAoaWYgKGxpc3A6PCAo
bGlzcDpmb3VydGggKGZpcnN0IGZvY3VzbGlzdCkpIDIpDQoJKGRlbGV0ZS1u
b2RlIChmaXJzdCAoZmlyc3QgZm9jdXNsaXN0KSkgZm9jdXNsaXN0KQ0KICAg
ICAgKGNvbnMgKGxpc3QgKGZpcnN0IChmaXJzdCBmb2N1c2xpc3QpKSAoc2Vj
b25kIChmaXJzdCBmb2N1c2xpc3QpKSAodGhpcmQgKGZpcnN0IGZvY3VzbGlz
dCkpIChsaXNwOi0gKGxpc3A6Zm91cnRoIChmaXJzdCBmb2N1c2xpc3QpKSAy
KSkgKHJlZHVjZS1hbGwgKHJlc3QgZm9jdXNsaXN0KSkpKSkpDQoNCiheXiBk
ZWZ1biB1cGRhdGUgKG5vZGUgZ2VuZGVyIG51bSBjYXNlIGZvY3VzbGlzdCkg
O25vZGUqZ2VuZGVyKm51bSpjYXNlKmZvY3VzbGlzdC0+Zm9jdXNsaXN0DQog
IChpZiAobm90IChnZXRpbmZvIG5vZGUgZm9jdXNsaXN0KSk7IHRoZSBub2Rl
IGlzIG5vdCBjdXJyZW50bHkgaW4gZm9jdXNsaXN0DQogICAgICAob2NvbnMg
KGxpc3Qgbm9kZSBnZW5kZXIgbnVtIChnZXR3ZWlnaHQgY2FzZSkpIGZvY3Vz
bGlzdCkgOyBzbyBhZGQgaXQgd2l0aCB3ZWlnaHQgb2YgY2FzZSBvbmx5IA0K
ICAgIChpZiAob3IgKG5vdCAobGlzdHAgZ2VuZGVyKSkJOyBpZiBnZW5kZXIg
b2YgZW50aXR5IGlzIGEgc2luZ2xldG9uLCBvciBnZW5kZXIgKmlzKiBhIGxp
c3QgYnV0IG9ubHkgYSBzdWJzZXQgb2YgZm9jdXNsaXN0IHJlcHJlc2VudGF0
aW9uLCANCgkgICAgKGFuZCAobGlzdHAgKHNlY29uZCAoZ2V0aW5mbyBub2Rl
IGZvY3VzbGlzdCkpKSA7dGhlbiBjaGFuZ2UgZm9jdXNsaXN0IHJlcC4gdG8g
Z2VuZGVyJ3MgdmFsdWUNCgkJIChzdWJzZXRwIGdlbmRlciAoc2Vjb25kIChn
ZXRpbmZvIG5vZGUgZm9jdXNsaXN0KSkpKSkNCgkob2NvbnMgKGxpc3Qgbm9k
ZSBnZW5kZXIgbnVtIChsaXNwOisgKGxpc3A6Zm91cnRoIChnZXRpbmZvIG5v
ZGUgZm9jdXNsaXN0KSkgKGdldHdlaWdodCBjYXNlKSkpIGZvY3VzbGlzdCkg
DQogICAgICAob2NvbnMgKGxpc3Qgbm9kZSAoc2Vjb25kIChnZXRpbmZvIG5v
ZGUgZm9jdXNsaXN0KSkgbnVtIChsaXNwOisgKGxpc3A6Zm91cnRoIChnZXRp
bmZvIG5vZGUgZm9jdXNsaXN0KSkgKGdldHdlaWdodCBjYXNlKSkpIGZvY3Vz
bGlzdCkpKSk7ZWxzZSBrZWVwIGZvY3VzbGlzdCByZXAJDQoNCiheXiBkZWZ1
biBvY29ucyAobm9kZWxpc3QgZm9jdXNsaXN0KQk7IG5vZGVsaXN0KmZvY3Vz
bGlzdC0+Zm9jdXNsaXN0DQogIChpZiAoZXFsIGZvY3VzbGlzdCBuaWwpIChs
aXN0IG5vZGVsaXN0KQ0KICAgIChpZiAoZXFsIChmaXJzdCBub2RlbGlzdCkg
KGZpcnN0IChmaXJzdCBmb2N1c2xpc3QpKSkNCgkob2NvbnMgbm9kZWxpc3Qg
KHJlc3QgZm9jdXNsaXN0KSkNCiAgICAgIChpZiAobGlzcDo8IChsaXNwOmZv
dXJ0aCBub2RlbGlzdCkgKGxpc3A6Zm91cnRoIChmaXJzdCBmb2N1c2xpc3Qp
KSkNCgkgIChjb25zIChmaXJzdCBmb2N1c2xpc3QpIChvY29ucyBub2RlbGlz
dCAocmVzdCBmb2N1c2xpc3QpKSkNCgkoY29ucyBub2RlbGlzdCAoZGVsZXRl
LW5vZGUgKGZpcnN0IG5vZGVsaXN0KSBmb2N1c2xpc3QpKSkpKSkNCg0KKF5e
IGRlZnVuIHJlc29sdmUtcHJvbiAoZ2VuZGVyIG51bWJlciBmb2N1c2xpc3Qp
IDsgZ2VuZGVyKm51bWJlcipmb2N1c2xpc3QtPm5vZGUNCiAgKGlmIChlcWwg
Zm9jdXNsaXN0IG5pbCkgbmlsDQogICAgKGlmIChhbmQgKGVxbCBudW1iZXIg
KHRoaXJkIChmaXJzdCBmb2N1c2xpc3QpKSkNCgkgICAgIChvciAoYW5kIChs
aXN0cCBnZW5kZXIpDQoJCSAgICAgIChhbmQgKG9yIChhbmQgKGxpc3RwIChz
ZWNvbmQgKGZpcnN0IGZvY3VzbGlzdCkpKQ0KCQkJCSAgICAob3IgKHN1YnNl
dHAgZ2VuZGVyIChzZWNvbmQgKGZpcnN0IGZvY3VzbGlzdCkpKQ0KCQkJCQko
c3Vic2V0cCAoKHNlY29uZCAoZmlyc3QgZm9jdXNsaXN0KSkgZ2VuZGVyKSkp
KQ0KCQkJICAgICAgIChtZW1iZXIgKHNlY29uZCAoZmlyc3QgZm9jdXNsaXN0
KSkgZ2VuZGVyKSkpKQ0KCQkgKG9yIChhbmQgKGxpc3RwIChzZWNvbmQgKGZp
cnN0IGZvY3VzbGlzdCkpKQ0KCQkJICAobWVtYmVyIGdlbmRlciAoc2Vjb25k
IChmaXJzdCBmb2N1c2xpc3QpKSkpDQoJCSAgICAgKGVxbCBnZW5kZXIgKHNl
Y29uZCAoZmlyc3QgZm9jdXNsaXN0KSkpKSkpDQoJKGZpcnN0IChmaXJzdCBm
b2N1c2xpc3QpKQk7IHJldHVybiBub2RlDQogICAgICAocmVzb2x2ZS1wcm9u
IGdlbmRlciBudW1iZXIgKHJlc3QgZm9jdXNsaXN0KSkpKSkNCg0KKF5eIGRl
ZnVuIHJlc29sdmUtYWNjdXNhdGl2ZSAoZ2VuZGVyIG51bWJlciBkb250Ymlu
ZCBmb2N1c2xpc3QpIDsgZ2VuZGVyKm51bWJlcipmb2N1c2xpc3Qqbm9kZS0+
bm9kZQ0KICAoaWYgKGVxbCBkb250YmluZCAocmVzb2x2ZS1wcm9uIGdlbmRl
ciBudW1iZXIgZm9jdXNsaXN0KSkNCiAgICAgIChyZXNvbHZlLXByb24gZ2Vu
ZGVyIG51bWJlciAocmVzdCBmb2N1c2xpc3QpKQ0KICAgIChyZXNvbHZlLXBy
b24gZ2VuZGVyIG51bWJlciBmb2N1c2xpc3QpKSkNCiAgDQooXl4gZGVmdW4g
Z2V0d2VpZ2h0IChjYXNlKSA7Y2FzZS0+d2VpZ2h0DQogIChpZiAoZXFsIGNh
c2UgJ25vbSkgOA0KICAgIChpZiAoZXFsIGNhc2UgJ2FjYykgNw0KICAgICAg
KGlmIChlcWwgY2FzZSAncmVmKSAzDQoJbmlsKSkpKQ0KDQo7OzsgKioqDQoN
Cjs7OyBUaGUgaW5pdGlhbCBhcmMgaXMgdXNlZCB0byBtYWtlIHR3byBTTmVQ
U1VMIHZhcmlhYmxlcywgZWFjaCBvZg0KOzs7IHdoaWNoIGhvbGRzIGEgU05l
UFMgdmFyaWFibGUgbm9kZS4gIFRoaXMgcmVzdWx0cyBpbiBhIG1ham9yDQo7
OzsgZWZmaWNpZW5jeSBnYWluIG92ZXIgY3JlYXRpbmcgbmV3IFNOZVBTIHZh
cmlhYmxlIG5vZGVzIGVhY2ggdGltZSBhDQo7OzsgcXVlc3Rpb24gb3IgYW4g
aW5kZWZpbml0ZSBOUCBpcyBwYXJzZWQuDQoocyANCiAgICh3cmQgInNldGsi
IHQgKHRvIHN0aykpDQogICAod3JkICJpbiIgdCAodG8gc2luKSkNCiAgIChq
dW1wIHMxIHQgDQogICAgICAgICAob3IgKCogJ3doKSAoJCAnd2gpKQkJOyBh
IFNOZVBTIHZhcmlhYmxlIHRvIHVzZSBmb3IgV2ggcXVlc3Rpb25zDQogICAg
ICAgICAob3IgKCogJ3gpICgkICd4KSkJCTsgYSB2YXJpYWJsZSBmb3IgaW5k
ZWYgTlAncyBpbiBxdWVzdGlvbnMNCiAgICAgICAgICkpDQoNCihzaW4gKHdy
ZCAidGhlIiB0ICh0byBzaW4pKQ0KICAgICAod3JkICJzdG9yeSIgdCAodG8g
c2luKSkNCiAgICAgKHdyZCAiLCIgdCAodG8gcykpKQ0KDQooc3RrIChjYXQg
a24gdCANCiAgICAgICAgICAoc2V0ciBrbnZhbCAqKSAodG8gc3RrL2VuZCkp
KQ0KDQooc3RrL2VuZCAod3JkICIuIiB0IA0KICAgICAgICAgICAgICAoc2V0
a24gKGdldHIga252YWwpKSAoc2F5IChnZXRyIGtudmFsKSkgKHRvIGcvZW5k
KSkpDQoNCihzMSAod3JkICJkZWZpbmUiIHQgICAgICAgICAgICAgICAgICAg
ICAgIA0KCSAjISgocGVyZm9ybSAoYnVpbGQgYWN0aW9uIGJlbGlldmUNCgkJ
CSAgICBvYmplY3QxIChidWlsZCBhZ2VudCAqSSANCgkJCQkJICAgYWN0IChi
dWlsZCBhY3Rpb24gKGJ1aWxkIGxleCAiZGVmaW5pbmdub3VuIikpKSkpKQ0K
CSAodG8gczEpKQ0KDQogICAgKGp1bXAgcy9pbml0IHQgDQoJICAodW5sZXNz
ICgqICdOT1cpIChcIyAnTk9XKSkNCgkgICh1bmxlc3MgKCogJ3FvYmopICgk
ICdxb2JqKSkNCgkgICh1bmxlc3MgKCogJ3FzdCkgKCQgJ3FzdCkpDQoJICAo
dW5sZXNzICgqICdxZXQpICgkICdxZXQpKQ0KCSAgKHVubGVzcyAoKiAnbWVt
KSAoJCAnbWVtKSkNCgkgICh1bmxlc3MgKCogJ3Byb3B0eSkgKCQgJ3Byb3B0
eSkpKSkNCg0KKHMvaW5pdCAocHVzaCBwcyB0CQkJOyBQYXJzZSBhIHNlbnRl
bmNlLCBhbmQgc2VuZCByZXN1bHRzIHRvIFJFU1BPTkQNCgkgICAgICAoc2Vu
ZHIgbW9vZCAnZGVjbCkJOyB0aGUgZGVmYXVsdA0KCSAgICAgIChzZXRyIGFz
c2VydGlvbiAqKQ0KCSAgICAgIChzZXRmICpmb2N1c2xpc3QqIChyZWR1Y2Ut
YWxsICpmb2N1c2xpc3QqKSkNCgkgICAgICAoc2V0ciBmb28gKmZvY3VzbGlz
dCopDQoJICAgICAgKGp1bXAgcmVzcG9uZCkpKQ0KDQoNCg0KDQoNCg0KKHBz
IChjYXQgd2ggdCAgICAgICAgICAgICAgICAgICAgICAgIDsgQSBXaCBxdWVz
dGlvbiBzdGFydHMgd2l0aCAid2hvIiBvciAid2hhdCIuDQogICAgICAgICAo
c2V0ciBhZ2VudCAoKiAnd2gpKSAgICAgICAgOyBzZXQgQUdFTlQgdG8gYSB2
YXJpYWJsZSBub2RlLg0KICAgICAgICAgKHNldHIgbW9vZCAncXVlc3Rpb24p
IA0KCSAobGlmdHIgbW9vZCkNCgkgKHNldHIgaHVtYW5uZXNzIChnZXRmIGh1
bWFuKSkNCgkgKHRvIHMvc3ViaikpDQoNCiAgICAocHVzaCBucCB0IA0KCSAg
KHNlbmRyIG1vb2QgJ2RlY2wpDQoJICAoc2VuZHIgcHJvbl9jYXNlICdub20p
DQogICAgICAgICAgDQoNCg0KDQoJICAoc2V0ciBhZ2VudCAqKQ0KICAgICAg
ICAgIChzZXRyIG1vb2QgJ2RlY2wpIChsaWZ0ciBtb29kKQkNCiAgICAgICAg
ICAodG8gcy9zdWJqKSkpDQoNCg0KDQoocy9zdWJqICh0byAocy9pcykgKG92
ZXJsYXAgKGdldGYgcm9vdCkgJ2JlKSkNCgkoY2F0IHYgdCAoc2V0ciBwcm9w
dHlwZSAnYXZvKSAoanVtcCB2cCkpDQoJKGNhdCBhdiB0DQoJICAoc2V0ciBt
b2QgKikobGlmdHIgbW9kKSh0byBzL3N1YmopKQ0KCShjYXQgYXV4IHQNCgkg
CShzZXRyIG9iamVjdCAoKiAnd2gpKQ0KCQkoc2V0ciBwcm9wdHlwZSAnYXZv
KQ0KCSAJKHRvIHBzKSkpDQoNCg0KDQoNCg0KKHMvaXMgKHdyZCAiYSIgdCAo
dG8gcy9pc25vdW4pKQ0KICAgICAgKGNhdCBuIChhbmQgKGdldHIgZ2VuZXJp
YykgKG92ZXJsYXAgKGdldGYgbnVtKSAncGx1cikpDQoJICAgKGp1bXAgcy9p
c25vdW4pKQk7IGVnICJnaXJscyBhcmUgcGVvcGxlIg0KICAgICAgKGNhdCB2
IHQgKHNldHIgYWN0aW9uICopIChzZXRyIHBhc3MgdCkgKHRvIHZwL3Bhc3N2
KSkNCiAgICAgIChjYXQgYXYgdA0KCSAgKHNldHIgbW9kICopKGxpZnRyIG1v
ZCkodG8gcy9pcykpCQ0KICAgICAgKGNhdCBhZGogdCAoanVtcCBzL2lzYWRq
KSkNCiAgICAgICh3cmQgIm5hbWVkIiB0ICh0byBzL2lzbmFtZWQpKSkNCg0K
DQoNCg0KDQoNCg0KKHMvaXNub3VuIChjYXQgbiAobnVsbHIgZ2VuZXJpYykN
CgkgICAgKHNldHIgcHJvcHR5cGUgJ2lzbm91bikNCgkgICAgKHNldHIgb2Jq
ZWN0ICopDQoJICAgICh0byBzL2ZpbmFsKSkNCiAgICAgICAoY2F0IG4gZ2Vu
ZXJpYw0KCSAgICAoc2V0ciBwcm9wdHlwZSAnaXNub3VuKQ0KCSAgICAoc2V0
ciBvYmplY3QgICh3b3JkaXplICdzaW5nIChnZXRyICopKSkNCgkgICAgKHRv
IHMvZmluYWwpKSkNCg0KDQoNCg0KDQogICAgICAgDQoocy9pc2FkaiAoY2F0
IGFkaiAobnVsbHIgZ2VuZXJpYykNCgkgICAgICAoc2V0ciBvYmplY3QgKikN
CgkgICAgICAoc2V0ciBwcm9wdHlwZSAnaXNhZGopDQoJICAgICAgKHRvIHMv
ZmluYWwpKQ0KCSAoY2F0IGFkaiBnZW5lcmljDQoJICAgICAgKHNldHIgb2Jq
ZWN0ICopDQoJICAgICAgKHNldHIgcHJvcHR5cGUgJ2lzYWRqKQ0KCSAgICAg
ICh0byBzL2ZpbmFsKSkpDQoNCg0KDQoNCg0KDQoocy9pc25hbWVkIChjYXQg
bnByIHQgDQoJCShzZXRyIG9iamVjdCAqKQ0KCQkoc2V0ciBwcm9wdHlwZSAn
aXNuYW1lZCkNCgkJKHRvIHMvZmluYWwpKSkNCg0KDQoNCg0KDQoNCihzL3J1
bGUgIA0KICh3cmQgIi4iIHBhc3MNCiAgICAgIChzZXRyIHByb3ANCgkgICAg
KGFzc2VydCBmb3JhbGwgKF4gKGdldHIgYWdlbnQpKQ0KCQkgICAgYW50IChe
IChnZXRyIHJlc3RyKSkNCgkJICAgIGNxICheIChnZXRyIHNrcmVzdHIpKQ0K
CQkgICAgY3EgKGJ1aWxkIGFnZW50ICheIChnZXRyIG9iamVjdCkpDQoJCQkg
ICAgICBhY3QgKGJ1aWxkIGFjdGlvbiAoXiAoZ2V0ciBhY3Rpb24pKQ0KCQkJ
CQkgb2JqZWN0ICheIChnZXRyIGFnZW50KSkpDQoJCQkgICAgICBzdGltZSAo
XCMgJ3N0KQ0KCQkJICAgICAgZXRpbWUgKFwjICdldCkpKSkNCgkgICAgIChh
c3NlcnQgYmVmb3JlICgqICdzdCkgYWZ0ZXIgKCogJ05PVykpDQoJICAgICAo
YXNzZXJ0IGJlZm9yZSAoKiAnTk9XKSBhZnRlciAoKiAnZXQpKQ0KCSAgICAg
KHNldHIgcHJvcHR5cGUgJ3Bhc3NpdmUpDQoJICAgICAodG8gcy9lbmQpKQ0K
IA0KDQoNCg0KDQoNCiAod3JkICIuIiB0DQoJICAgICAoc2V0ciBwcm9wDQoJ
CSAgIChhc3NlcnQgZm9yYWxsICheIChnZXRyIHN1YmopKQ0KCQkgICAgIGFu
dCAoXiAoZ2V0ciByZXN0cikpDQoJCSAgICAgY3EgKF4gKGdldHIgc2tyZXN0
cikpDQoJCSAgICAgY3EgKGJ1aWxkIGFnZW50ICheIChnZXRyIG9iaikpDQoJ
CQkgICAgICAgYWN0ICheIChnZXRyIGFjdCkpDQoJCQkgICAgICAgb2JqZWN0
ICheIChnZXRyIHN1YmopKQ0KCQkJICAgICAgIHN0aW1lIChcIyAnc3QpDQoJ
CQkgICAgICAgZXRpbWUgKFwjICdldCkpKSkNCgkgICAgIChhc3NlcnQgYmVm
b3JlICgqICdzdCkgYWZ0ZXIgKCogJ05PVykpDQoJICAgICAoYXNzZXJ0IGJl
Zm9yZSAoKiAnTk9XKSBhZnRlciAoKiAnZXQpKQ0KCSAgICAgKHRvIHMvZW5k
KSkpDQoNCg0KDQoNCih2cC9wYXNzdiAod3JkICJieSIgdCAoc2V0ciBwcm9w
dHlwZSAncGFzc2l2ZSkgKHRvIHZwL3YpKSkNCg0KKHZwIChjYXQgdiB0ICAg
ICAgICAgICAgICAgICAgICAgICAgICA7IEFjY2VwdCBqdXN0IGEgc2ltcGxl
IHZlcmIgZm9yIHRoaXMgZXhhbXBsZSwNCiAgICAgICAgIChzZXRyIGFjdGlv
biAqKQ0KCSAodG8gdnAvdikpDQogICAgIChjYXQgYXYgdA0KCSAgKHNldHIg
bW9kICopKGxpZnRyIG1vZCkodG8gdnApKSkNCgkNCg0KKHZwL3YgKHdyZCAi
PyIgdCAoanVtcCBzL2ZpbmFsKSkNCiAgICAgIA0KCShwdXNoIHBwIHQNCgkg
ICAgKHNlbmRyIGFnZW50KQ0KCSAgICANCgkgICAgKHNldHIgcHJlcG8gJ3By
b3BvKQ0KCSAgICAodG8gdnAvdikpDQoNCgkocHVzaCBucCB0IA0KCSAgICAo
c2VuZHIgcHJvbl9jYXNlICdhY2MpDQoJICAgIChzZW5kciBtb29kKQ0KCSAg
ICAoc2VuZHIgYWdlbnQpDQogICAgICAgICAgICAoc2V0ciBvYmplY3QgKikg
ICAgIDsgU2V0IE9CSkVDVCB0byBwYXJzZSBvZiBvYmplY3QuDQogICAgICAg
ICAgICAodG8gcy9maW5hbCkpDQogICAgICAoanVtcCBzL2ZpbmFsIHQpKSAg
ICAgICAgIDsgSWYgbm8gb2JqZWN0Lg0KICAgICAgDQoNCihwcCAgICh3cmQg
ImludG8iIHQNCgkgICAoc2V0ciBpbnRvICd0cnVlKSAobGlmdHIgaW50byko
dG8gcHAvZW5kKSkNCiAgICAgICh3cmQgInRvIiB0DQoJICAgKHNldHIgdG8g
J3RydWUpKGxpZnRyIHRvKSh0byBwcC9lbmQpKQ0KICAgICAgKHdyZCAiYXQi
IHQNCgkgICAoc2V0ciBkaXIgJ3RydWUpKGxpZnRyIGRpcikodG8gcHAvZW5k
KSkNCiAgICAgICh3cmQgImluIiB0DQoJICAgKHNldHIgcGxhICd0cnVlKShs
aWZ0ciBwbGEpKHRvIHBwL2VuZCkpDQogICAgICAod3JkICJuZXh0dG8iIHQN
CgkgICAoc2V0ciByZWwgKikoc2V0ciBuZWMgJ3RydWUpKGxpZnRyIG5lYyko
bGlmdHIgcmVsKSh0byBwcC9lbmQpKQ0KICAgICAgKHdyZCAiYmVoaW5kIiB0
DQoJICAgKHNldHIgcmVsICopKHNldHIgbmVjICd0cnVlKShsaWZ0ciBuZWMp
KGxpZnRyIHJlbCkodG8gcHAvZW5kKSkpDQogICANCg0KKHBwL2VuZCAocG9w
IG9ud2EgdCkpDQoNCg0KDQoocy9maW5hbCANCgkocHVzaCBwcCB0DQoJIChz
ZXRyIHByZXBvICdwcmVwbykoc2V0ciByZWwgKikNCgkgKHRvIHMvZmluaXMp
KQ0KDQoJKGp1bXAgcy9lbmQgKG92ZXJsYXAgZW1iZWRkZWQgdCkpIDsgYW4g
ZW1iZWRkZWQgcHJvcG9zaXRpb24NCiAgICAgICAgIA0KCSh3cmQgIi4iIChv
dmVybGFwIG1vb2QgJ2RlY2wpICh0byBzL2VuZCkpDQogICAgICAgICANCgko
d3JkICI/IiAob3ZlcmxhcCBtb29kICdxdWVzdGlvbikgKHRvIHMvZW5kKSkp
DQoNCg0KKHMvZmluaXMgKHB1c2ggbnAgdCAoc2VuZHIgbW9vZCkgKHNlbmRy
IGFnZW50KSAoc2VuZHIgb2JqZWN0KSA7Y2hla2luZyBmb3IgYW4gaW5kaXJl
Y3Qgb2JqZWN0IA0KCQkJCQkgICAgICAgO2J5IHB1c2hpbmcgdG8gc3RhdGUg
bnAuDQoJICAgICAgIAkoc2V0ciBpbmRvYmplY3QgKikJDQoJICAgICAgIAko
dG8gcy9maW5hbCkpKQ0KDQoNCihzL2VuZCANCiANCiANCg0KIChwb3AgIyEg
KChhZGQgbWVtYmVyIH4oZ2V0ciBhZ2VudCkgOyAiaXNhIiBkZWNsYXJhdGl2
ZSBiYXNpYw0KCQkgIGNsYXNzIChidWlsZCBsZXggfihnZXRyIG9iamVjdCkp
DQoJCSAga25fY2F0ICJzdG9yeSIpKQ0KICAgICAgKGFuZCAob3ZlcmxhcCBt
b29kICdkZWNsKSAob3ZlcmxhcCBwcm9wdHlwZSAnaXNub3VuKQ0KCSAgIChv
dmVybGFwIChnZXRmIGJhc2ljIChnZXRyIG9iamVjdCkpIHQpKSkNCiAgIA0K
IChwb3AgIyEgKChhZGQgb2JqZWN0LTEgfihnZXRyIGFnZW50KSA7ICJpc2Ei
IGRlY2xhcmF0aXZlIHNwZWNpZi4NCgkJIHJlbCBpc2ENCgkJIG9iamVjdC0y
IChidWlsZCBsZXggfihnZXRyIG9iamVjdCkpDQoJCWtuX2NhdCAic3Rvcnki
KSkNCgkgICAgKGFuZCAob3ZlcmxhcCBtb29kICdkZWNsKSAob3ZlcmxhcCBw
cm9wdHlwZSAnaXNub3VuKQ0KCQkgKG51bGxyIGdlbmVyaWMpKQ0KCSAgICAo
bGlmdHIgcHJvcHR5cGUpKQ0KIA0KIChwb3AgIyEgKChhZGQgc3ViY2xhc3Mg
fihnZXRyIGFnZW50KSA7ICJpc2EiIGRlY2xhcmF0aXZlIGdlbmVyaWMNCgkJ
IHN1cGVyY2xhc3MgKGJ1aWxkIGxleCB+KGdldHIgb2JqZWN0KSkNCgkJa25f
Y2F0ICJzdG9yeSIpKQ0KCSAgICAoYW5kIChvdmVybGFwIG1vb2QgJ2RlY2wp
IChvdmVybGFwIHByb3B0eXBlICdpc25vdW4pDQoJCSAob3ZlcmxhcCBnZW5l
cmljIHQpKQ0KCSAgICAobGlmdHIgcHJvcHR5cGUpKSAocG9wICMhICgoYXNz
ZXJ0IG9iamVjdCB+KGdldHIgYWdlbnQpIDsgImlzIiArIGFkaiBkZWNsYXIu
IHNwZWNpZi4NCgkJICBwcm9wZXJ0eSAoYnVpbGQgbGV4IH4oZ2V0ciBvYmpl
Y3QpKQ0KCQlrbl9jYXQgInN0b3J5IikpDQoJICAgIChhbmQgKG92ZXJsYXAg
bW9vZCAnZGVjbCkgKG92ZXJsYXAgcHJvcHR5cGUgJ2lzYWRqKQ0KCQkgKG51
bGxyIGdlbmVyaWMpKQ0KCSAgICAobGlmdHIgcHJvcHR5cGUpKQ0KDQogKHBv
cCAjISAoKGFkZCBvYmplY3QgfihnZXRyIGFnZW50KSA7ICJpcyIgKyBhZGog
ZGVjbGFyLiBnZW5lcmljDQoJCSAgICAgICBwcm9wZXJ0eSAoYnVpbGQgbGV4
IH4oZ2V0ciBvYmplY3QpKQ0KCQlrbl9jYXQgInN0b3J5IikpDQoJICAgIChh
bmQgKG92ZXJsYXAgbW9vZCAnZGVjbCkgKG92ZXJsYXAgcHJvcHR5cGUgJ2lz
YWRqKQ0KCQkgKG92ZXJsYXAgZ2VuZXJpYyB0KSkNCgkgICAgKGxpZnRyIHBy
b3B0eXBlKSkJCQkNCg0KIChwb3AgIyEgKChhZGQgb2JqZWN0IH4oZ2V0ciBh
Z2VudCkNCgkJcHJvcGVybmFtZSAoYnVpbGQgbGV4IH4oZ2V0ciBvYmplY3Qp
KQ0KCQlrbl9jYXQgInN0b3J5IikpIDsgImlzIG5hbWVkIiArIHByb3Blcm5h
bWUNCiAgICAgIChvdmVybGFwIHByb3B0eXBlICdpc25hbWVkKQ0KICAgICAg
KGxpZnRyIHByb3B0eXBlKSkNCiANCiA7Ozt0ZXN0Ozs7DQogKHBvcCAjISAo
KGFzc2VydCBhZ2VudCB+KGdldHIgYWdlbnQpIDsgYXZvIGRlY2xhcmF0aXZl
DQoJCSAgYWN0IChidWlsZCBhY3Rpb24gKGJ1aWxkIGxleCB+KGdldHIgYWN0
aW9uKSkNCgkJCSAgICAgb2JqZWN0IH4oZ2V0ciBvYmplY3QpKQ0KCQlrbl9j
YXQgInN0b3J5IikpDQogICAgICAoYW5kIChvdmVybGFwIG1vb2QgJ2RlY2wp
IChudWxsciBpbnRvKShudWxsciB0bykobnVsbHIgZGlyKShudWxsciBwbGEp
KG51bGxyIG5lYykobnVsbHIgbW9kKQ0KCSAgIChvdmVybGFwIHByb3B0eXBl
ICdhdm8pKQ0KICAgICAgKGxpZnRyIHByb3B0eXBlKSkNCg0KICAgICAgIChw
b3AgIyEoKGFkZCBhZ2VudCB+KGdldHIgYWdlbnQpIDsgQXNzZXJ0IGEgdG9w
LWxldmVsIHN0YXRlbWVudC4NCiAgICAgICAgICAgICAgICAgICAgICAgYWN0
ICAgKCBidWlsZCBhY3Rpb24gKGJ1aWxkIGxleCB+KGdldHIgYWN0aW9uKSkN
CgkJCQkgICAgIG9iamVjdCAoYnVpbGQgbW9kZSB+KGdldHIgbW9kKQ0KCQkJ
CQkJICAgIG9iamVjdCB+KGdldHIgb2JqZWN0KSkpDQoJCQlrbl9jYXQgInN0
b3J5IikpDQogICAgICAgICAgICAoYW5kIChvdmVybGFwIG1vb2QgJ2RlY2wp
KG51bGxyIGludG8pKG51bGxyIHRvKShudWxsciBkaXIpKG51bGxyIHBsYSko
bnVsbHIgbmVjKShnZXRyIG1vZCkobnVsbHIgZW1iZWRkZWQpKSkgDQoNCiAg
ICAgICAocG9wICMhKChhZGQgYWdlbnQgfihnZXRyIGFnZW50KSA7IEFzc2Vy
dCBhIHRvcC1sZXZlbCBzdGF0ZW1lbnQuDQogICAgICAgICAgICAgICAgICAg
ICAgIGFjdCAgIChidWlsZCBhY3Rpb24gKGJ1aWxkIGxleCB+KGdldHIgYWN0
aW9uKSkpDQoJCSAgICAgICBpbnRvIH4oZ2V0ciBvYmplY3QpDQoJCWtuX2Nh
dCAic3RvcnkiKSkNCiAgICAgICAgICAgIChhbmQgKG92ZXJsYXAgbW9vZCAn
ZGVjbCkobnVsbHIgdG8pKG51bGxyIGRpcikobnVsbHIgcGxhKShudWxsciBu
ZWMpKGdldHIgaW50bykpKQ0KICAgICAgIDtidWlsZHMgdGhlIGFnZW50L2Fj
dC9pbnRvIHJlcHJlc2VudGF0aW9uIGZvciBzZW50ZW5jZXMgd2l0aCB0aGUg
cHJlcG9zaXRpb24gImludG8iLg0KICAgICAgIA0KICAgICAgIChwb3AgIyEo
KGFkZCBhZ2VudCB+KGdldHIgYWdlbnQpIDsgQXNzZXJ0IGEgdG9wLWxldmVs
IHN0YXRlbWVudC4NCiAgICAgICAgICAgICAgICAgICAgICAgYWN0ICAgKGJ1
aWxkIGFjdGlvbiAoYnVpbGQgbGV4IH4oZ2V0ciBhY3Rpb24pKSkNCgkJICAg
ICAgIHRvICAgIH4oZ2V0ciBvYmplY3QpDQoJCWtuX2NhdCAic3RvcnkiKSkN
CiAgICAgICAgICAgIChhbmQgKG92ZXJsYXAgbW9vZCAnZGVjbCkobnVsbHIg
ZGlyKShudWxsciBwbGEpKG51bGxyIG5lYykobnVsbHIgaW5kb2JqZWN0KShn
ZXRyIHRvKSkpDQogICAgICAgO2J1aWxkcyB0aGUgYWdlbnQvYWN0L3RvIHJl
cHJlc2VudGF0aW9uIGZvciBzZW50ZW5jZXMgd2l0aCB0aGUgcHJlcG9zaXRp
b24gInRvIi4NCiAgICAgICANCiAgICAgICAocG9wICMhKChhZGQgYWdlbnQg
fihnZXRyIGFnZW50KSA7IEFzc2VydCBhIHRvcC1sZXZlbCBzdGF0ZW1lbnQu
DQogICAgICAgICAgICAgICAgICAgICAgIGFjdCAgICggYnVpbGQgYWN0aW9u
IChidWlsZCBsZXggfihnZXRyIGFjdGlvbikpDQoJCQkJICAgICBvYmplY3Qg
fihnZXRyIG9iamVjdCkpDQoJCSAgICAgICB0byAgICB+KGdldHIgaW5kb2Jq
ZWN0KQ0KCQlrbl9jYXQgInN0b3J5IikpDQogICAgICAgICAgICAoYW5kIChv
dmVybGFwIG1vb2QgJ2RlY2wpKG51bGxyIGRpcikobnVsbHIgcGxhKShudWxs
ciBuZWMpKGdldHIgdG8pKGdldHIgaW5kb2JqZWN0KSkpDQogICAgICAgO2J1
aWxkcyB0aGUgYWdlbnQvYWN0LVthY3Rpb24vb2JqZWN0XS90byByZXByZXNl
bnRhdGlvbiBmb3Igc2VudGVuY2VzIHdpdGggdGhlIHByZXBvc2l0aW9uICJ0
byIgYW5kIGFuIGluZGlyZWN0IG9iamVjdC4NCiAgICAgICANCiAgICAgICAo
cG9wICMhKChhZGQgYWdlbnQgfihnZXRyIGFnZW50KSA7IEFzc2VydCBhIHRv
cC1sZXZlbCBzdGF0ZW1lbnQuDQogICAgICAgICAgICAgICAgICAgICAgIGFj
dCAgIChidWlsZCBhY3Rpb24gKGJ1aWxkIGxleCB+KGdldHIgYWN0aW9uKSkp
DQoJCSAgICAgICBkaXJlY3Rpb24gfihnZXRyIG9iamVjdCkNCgkJa25fY2F0
ICJzdG9yeSIpKSANCiAgICAgICAgICAgIChhbmQgKG92ZXJsYXAgbW9vZCAn
ZGVjbCkobnVsbHIgcGxhKShudWxsciBuZWMpKGdldHIgZGlyKSkpDQogICAg
ICAgO2J1aWxkcyB0aGUgYWdlbnQvYWN0L2RpcmVjdGlvbiByZXByZXNlbnRh
dGlvbiBmb3Igc2VudGVuY2VzIHdpdGggdGhlIHByZXBvc2l0aW9uICJhdCIu
DQogICAgICAgDQogICAgICAgKHBvcCAjISgoYWRkIGFnZW50IH4oZ2V0ciBh
Z2VudCkgOyBBc3NlcnQgYSB0b3AtbGV2ZWwgc3RhdGVtZW50Lg0KICAgICAg
ICAgICAgICAgICAgICAgICBhY3QgICAoYnVpbGQgYWN0aW9uIChidWlsZCBs
ZXggfihnZXRyIGFjdGlvbikpKQ0KCQkgICAgICAgcGxhY2UgfihnZXRyIG9i
amVjdCkNCgkJICAgICAgIGtuX2NhdCAic3RvcnkiKSkgDQogICAgICAgICAg
ICAoYW5kIChvdmVybGFwIG1vb2QgJ2RlY2wpKG51bGxyIGluZG9iamVjdCko
bnVsbHIgbmVjKShnZXRyIHBsYSkpKQ0KCQk7YnVpbGRzIHRoZSBhZ2VudC9h
Y3QvcGxhY2UgcmVwcmVzZW50YXRpb24gZm9yIHNlbnRlbmNlcyB3aXRoIHRo
ZSBwcmVwb3NpdGlvbiAiaW4iLg0KCQk7cmVtb3ZpbmcgbnVsbHIgZW1iZWRk
ZWQgZnJvbSBvYmVybGFwIHRlc3QgaGVyZSBiZWNhdXNlIHNjcmV3cyBpdCB1
cA0KICAgICAgIA0KICAgICAgIChwb3AgIyEoKGFkZCBhZ2VudCB+KGdldHIg
YWdlbnQpIDsgQXNzZXJ0IGEgdG9wLWxldmVsIHN0YXRlbWVudC4NCiAgICAg
ICAgICAgICAgICAgICAgICAgYWN0ICAgKGJ1aWxkIGFjdGlvbiAoYnVpbGQg
bGV4IH4oZ2V0ciBhY3Rpb24pKQ0KCQkJCSAgICBvYmplY3QgfihnZXRyIG9i
amVjdCkpDQoJCSAgICAgICBwbGFjZSB+KGdldHIgaW5kb2JqZWN0KQ0KCQkg
ICAgICAga25fY2F0ICJzdG9yeSIpKSANCiAgICAgICAgICAgIChhbmQgKG92
ZXJsYXAgbW9vZCAnZGVjbCkoZ2V0ciBwbGEpKG51bGxyIG5lYykoZ2V0ciBp
bmRvYmplY3QpKSkNCiAgICAgICA7YnVpbGRzIHRoZSBhZ2VudC9hY3QtW2Fj
dGlvbi9vYmplY3RdL2luIHJlcHJlc2VudGF0aW9uIGZvciBzZW50ZW5jZXMg
d2l0aCB0aGUgcHJlcG9zaXRpb24gImluIiBhbmQgYW4gaW5kaXJlY3Qgb2Jq
ZWN0Lg0KCTtyZW1vdmluZyBoZXJlIHRvby4NCiAgICAgICANCiAgICAgICAo
cG9wICMhKChhZGQgb2JqZWN0IH4oZ2V0ciBhZ2VudCkgOyBBc3NlcnQgYSB0
b3AtbGV2ZWwgc3RhdGVtZW50Lg0KICAgICAgICAgICAgICAgICAgICAgICBs
b2NhdGlvbiAoYnVpbGQgc3AtcmVsIChidWlsZCBsZXggfihnZXRyIHJlbCkp
DQoJCQkJICAgICAgIG9iamVjdCB+KGdldHIgb2JqZWN0KSkNCgkJICAgICAg
IGtuX2NhdCAic3RvcnkiKSkNCgkgICAgKGFuZCAob3ZlcmxhcCBtb29kICdk
ZWNsKShudWxsciBwbGEpKGdldHIgbmVjKShudWxsciBpbmRvYmplY3QpKSkN
CiAgICAgICA7YnVpbGRzIHRoZSBvYmplY3QvbG9jYXRpb24tW3NwLXJlbC9v
YmplY3RdIHJlcHJlc2VudGF0aW9uIGZvciBzZW50ZW5jZXMgd2l0aCB0aGUg
cHJlcG9zaXRpb24gIm5leHQgdG8iIG9yICJiZWhpbmQiLiANCiAgICAgICA7
IGFuZCBoZXJlDQoNCiAgICAgICAocG9wICMyISAoKGJ1aWxkIGFnZW50IH4o
Z2V0ciBhZ2VudCkgOyBCdWlsZCBhbiBlbWJlZGRlZCBzdGF0ZW1lbnQuDQog
ICAgICAgICAgICAgICAgICAgICAgIGFjdCAgIChidWlsZCBhY3Rpb24gKGJ1
aWxkIGxleCB+KGdldHIgYWN0aW9uKSkNCgkJCQkgICAgb2JqZWN0IH4oZ2V0
ciBvYmplY3QpKQ0KCQkgICAgICAga25fY2F0ICJzdG9yeSIpKQ0KICAgICAg
ICAgICAgKGFuZCAoZ2V0ciBlbWJlZGRlZCkgKG92ZXJsYXAgbW9vZCAnZGVj
bCkpDQoJICAgIChsaWZ0ciBwcm9wdHlwZSkpDQogDQogKHBvcCAjISAoKGRl
ZHVjZSBhZ2VudCB+KGdldHIgYWdlbnQpIDsgYXZvIGludGVycm9nYXRpdmUN
CiAgICAgIAkJICBhY3QgKGJ1aWxkIGFjdGlvbiAoYnVpbGQgbGV4IH4oZ2V0
ciBhY3Rpb24pKQ0KCQkJCSBvYmplY3QgfihnZXRyIG9iamVjdCkpDQoJCWtu
X2NhdCAic3RvcnkiKSkNCiAgICAgIChhbmQgKG92ZXJsYXAgbW9vZCAncXVl
c3Rpb24pDQoJICAgKG92ZXJsYXAgcHJvcHR5cGUgJ2F2bykpDQogICAgICAo
bGlmdHIgcHJvcHR5cGUpKQ0KDQogKHBvcCAjISAoKGRlZHVjZSBhZ2VudCB+
KGdldHIgb2JqZWN0KSA7IHBhc3NpdmUgcXVlc3Rpb24NCgkJICBhY3QgKGJ1
aWxkIGFjdGlvbiAoYnVpbGQgbGV4IH4oZ2V0ciBhY3Rpb24pKQ0KCQkJICAg
ICBvYmplY3QgfihnZXRyIGFnZW50KSkNCgkJa25fY2F0ICJzdG9yeSIpKQ0K
ICAgICAgKGFuZCAob3ZlcmxhcCBtb29kICdxdWVzdGlvbikgICAgIA0KCSAg
IChvdmVybGFwIHByb3B0eXBlICdwYXNzaXZlKSkgDQoJICAgIChsaWZ0ciBw
cm9wdHlwZSkpDQoNCiAocG9wICMhICgoYWRkIGFnZW50IH4oZ2V0ciBvYmpl
Y3QpIDsgcGFzc2l2ZQ0KCQkgIGFjdCAoYnVpbGQgYWN0aW9uIChidWlsZCBs
ZXggfihnZXRyIGFjdGlvbikpDQoJCQkgICAgIG9iamVjdCB+KGdldHIgYWdl
bnQpKQ0KCQlrbl9jYXQgInN0b3J5IikpDQogICAgICAgICAgICAob3Zlcmxh
cCBwcm9wdHlwZSAncGFzc2l2ZSkgDQoJICAgIChsaWZ0ciBwcm9wdHlwZSkp
DQogDQogKHBvcCAjISAoKGRlZHVjZSBvYmplY3QgfihnZXRyIGFnZW50KSA7
ICJpcyIgKyBhZGogaW50ZXJyb2dhdGl2ZQ0KCQkgICAgICAgcHJvcGVydHkg
KGJ1aWxkIGxleCB+KGdldHIgb2JqZWN0KSkNCgkJa25fY2F0ICJzdG9yeSIp
KQ0KCSAgICAoYW5kIChvdmVybGFwIG1vb2QgJ3F1ZXN0aW9uKQ0KCQkgKG92
ZXJsYXAgcHJvcHR5cGUgJ2lzYWRqKSkNCiAgICAgICAJICAgIChsaWZ0ciBw
cm9wdHlwZSkpKQ0KIA0KOztpc2EgaW50ZXJyb2dhdGl2ZXMgd2lsbCBiZSBp
bXBsZW1lbnRlZCBpbiB0aGUgZnV0dXJlLi4uLg0KDQoNCg0KDQoNCg0KDQo7
OzsgTm90aWNlIGluIGFsbCB0aHJlZSBhYm92ZSBhcmNzIHRoYXQgaWYgdGhl
cmUgaXMgbm8gb2JqZWN0LA0KOzs7IChnZXRyIG9iamVjdCkgd2lsbCBldmFs
dWF0ZSB0byBOSUwsDQo7OzsgYW5kIHRoZSBub2RlIHdpbGwgYmUgYnVpbHQg
d2l0aG91dCBhbiBPQkpFQ1QgYXJjLg0KDQoobnAgKHdyZCAiZXZlcnkiIHQg
KHNldHIgZ2VuZXJpYyB0KSAodG8gbnAvYXJ0KSkNCiAgICAod3JkICJ0aGF0
IiB0ICh0byBub21wcm9wKSkgICAgICAgIDsgYW4gZW1iZWRkZWQgcHJvcG9z
aXRpb24NCg0KICAgICh3cmQgInMiIHQgKHRvIG5wKSkNCiAgICAoY2F0IGFy
dCAoc2V0ciBkZWYgKGdldGYgZGVmKSkgKHRvIG5wL2FydCkpDQogICAgKGp1
bXAgbnAvYXJ0IHQpKQ0KDQoobnBwb3MgKHdyZCAiJyIgdCAoanVtcCBucGEp
KSA7IHdoaWNoIG1lYW5zIHRoYXQgdGhlIG5vdW4gaXMgYSBwb3NzZXNzaXZl
IG5vdW4NCiAgICAgICAoanVtcCBucC9uIHQpKQ0KDQoNCihucGEgKHdyZCAi
JyIgdCAgDQoJKHNldHIgcG9zICd0KSAoc2V0ciBwb3Nzb3IgKGdldHIgaGVh
ZCkpIChsaWZ0ciBwb3Nzb3IpIChsaWZ0ciBwb3MpICh0byBucCkpKQ0KDQoo
bnAvYXJ0IChjYXQgYWRqIHQgKGFkZHIgcHJvcHMgKGJ1aWxkIGxleCAoIF4o
Z2V0ciAqKSkpKQ0KCSAgICAgKHRvIG5wL2FydCkpDQoNCgkoY2F0IHByb24g
KG92ZXJsYXAgKGdldGYgY2FzZSkgJ3JlZikNCiAJICAgICAoc2V0ciBoZWFk
ICheKGdldHIgYWdlbnQpKSkgDQoJICAgICAoc2V0ciBudW0gKGdldGYgbnVt
KSkNCgkgICAgIChzZXRyIGdlbmRlciAoZ2V0ZiBnZW5kZXIpKQkgICAgIA0K
CSAgICAgKHNldHIgcHJvbl9jYXNlICdyZWYpDQoJICAgICAodG8gbnBwb3Mp
KQ0KDQoJKGNhdCBwcm9uIChhbmQgDQoJCSAgIChvdmVybGFwIChnZXRmIGNh
c2UpICdub20pIA0KCQkgICAob3ZlcmxhcCAoZ2V0ciBwcm9uX2Nhc2UpICdu
b20pDQoJCSAgIChyZXNvbHZlLXByb24gKGdldGYgZ2VuZGVyKSAoZ2V0ZiBu
dW0pICpmb2N1c2xpc3QqKSkNCgkgICAgIChzZXRyIGhlYWQgKHJlc29sdmUt
cHJvbiAoZ2V0ZiBnZW5kZXIpIChnZXRmIG51bSkgKmZvY3VzbGlzdCopKQ0K
CSAgICAgKHNldHIgbnVtIChnZXRmIG51bSkpDQoJICAgICAoc2V0ciBnZW5k
ZXIgKGdldGYgZ2VuZGVyKSkJICAgICANCgkgICAgICh0byBucHBvcykpDQoN
CgkoY2F0IHByb24gKGFuZCANCgkJICAgKG92ZXJsYXAgKGdldGYgY2FzZSkg
J2FjYykgDQoJCSAgIChvdmVybGFwIChnZXRyIHByb25fY2FzZSkgJ2FjYykN
CgkJICAgKHJlc29sdmUtYWNjdXNhdGl2ZSAoZ2V0ZiBnZW5kZXIpIChnZXRm
IG51bSkgDQoJCQkJKF4oZ2V0ciBhZ2VudCkpICpmb2N1c2xpc3QqKSkNCgkg
ICAgIChzZXRyIGhlYWQgKHJlc29sdmUtYWNjdXNhdGl2ZSAoZ2V0ZiBnZW5k
ZXIpIChnZXRmIG51bSkgDQoJCQkJCSAgICAoXihnZXRyIGFnZW50KSkgKmZv
Y3VzbGlzdCopKQ0KCSAgICAgKHNldHIgbnVtIChnZXRmIG51bSkpDQoJICAg
ICAoc2V0ciBnZW5kZXIgKGdldGYgZ2VuZGVyKSkJICAgICANCgkgICAgICh0
byBucHBvcykpDQoNCgkNCgkNCgkoY2F0IG5wciAoZmluZCAob2JqZWN0LSBw
cm9wZXJuYW1lIGxleCkgKF4gKGdldHIgKikpKQ0KCSAgICAgKHNldHIgaGVh
ZCAoZmluZCAob2JqZWN0LSBwcm9wZXJuYW1lIGxleCkgKF4gKGdldHIgKikp
KSkNCgkgICAgIChzZXRyIG51bSAoZ2V0ZiBudW0pKQ0KCSAgICAgKHNldHIg
Z2VuZGVyIChnZXRmIGdlbmRlcikpDQoJICAgICAodG8gbnBwb3MpKQ0KDQoJ
KGNhdCBucHIgKG51bGwgKGZpbmQgKG9iamVjdC0gcHJvcGVybmFtZSBsZXgp
ICheIChnZXRyICopKSkpDQoJICAgICAoYXNzZXJ0IG9iamVjdCAoXCMgJ2Vu
dGl0eSkNCgkgICAgICAgcHJvcGVybmFtZSAoXiAoZ2V0ciAqKSkpDQoJICAg
ICAoc2V0ciBoZWFkICgqICdlbnRpdHkpKQ0KCSAgICAgKHNldHIgbnVtIChn
ZXRmIG51bSkpDQoJICAgICAoc2V0ciBnZW5kZXIgKGdldGYgZ2VuZGVyKSkN
CgkgICAgICh0byBucHBvcykpDQoJCQkJOyBhIG5wIG9mIHRoZSBmb3JtICJh
e259IHthZGp9KiBuIiwgd2hlcmUgDQoJCQkJO3RoZSBuIGhhcyBuZXZlciBi
ZWVuIG1lbnRpb25lZCBiZWZvcmUsDQoJCQkJO2FuZCB0aGUgc2VudGVuY2Ug
aXMgZGVjbGFyYXRpdmUuCQ0KDQoJKGNhdCBuIChvdmVybGFwIChnZXRmIG51
bSkgJ3BsdXIpDQoJICAgICAoc2V0ciBoZWFkDQoJCSAgIChidWlsZCBsZXgg
KF4oZ2V0ciAqKSkpKQ0KCSAgICAgKGxpZnRyIGdlbmVyaWMgdCk7O25vdCBx
dWl0ZSByaWdodDogbm90IG5lY2Vzc2FyaWx5IGdlbmVyaWMgLSBkZXBlbmRz
DQoJICAgICAgICAgICAgICAgICAgICAgIDs7b24gd2hldGhlciB0aGVyZSBp
cyBhcnRpY2xlIG9yIG5vdA0KCSAgICAgKHNldHIgbnVtIChnZXRmIG51bSkp
DQoJICAgICAoc2V0ciBnZW5kZXIgKGdldGYgZ2VuZGVyKSkNCgkgICAgICh0
byBucHBvcykpDQoJDQoJKGNhdCBuIChhbmQgKGRpc2pvaW50IGRlZiB0KSAo
Z2V0ciBza29sZW0pIChudWxsciBnZW5lcmljKSkNCgkgICAgIChzZXRyIGhl
YWQNCgkJICAgKGJ1aWxkIHNrZm4gKFwjICduZXdza2ZuKSBza2FyZyAoXiAo
Z2V0ciBza29sZW0pKSkpDQoJICAgICAobGlmdHIgc2tyZXN0cg0KCQkgICAg
KGJ1aWxkIG1lbWJlciAoXiAoZ2V0ciBoZWFkKSkNCgkJCSAgIGNsYXNzIChi
dWlsZCBsZXggKF4gKGdldHIgKikpKSkpDQoJCQkJCQkgICAgIChzZXRyIGdl
bmRlciAoZ2V0ZiBnZW5kZXIpKQ0KCSAgICAgKHRvIG5wcG9zKSkNCgkgICAg
ICAgICAgICAgICAgICAgICAgICAgOyBub3Qgc3VyZSB0aGF0IHRoaXMgaXMg
bmVlZGVkDQoJKGNhdCBuIChhbmQgKGRpc2pvaW50IGRlZiB0KSAob3Zlcmxh
cCBtb29kICdkZWNsKShudWxsciBwb3Nzb3IpKSANCgkgICAgIChzZXRyIGhl
YWQgDQoJCSAgIChmaW5kIG1lbWJlci0gDQoJCQkgICAoYXNzZXJ0IG1lbWJl
ciAjaGQNCgkJCSAgICAgY2xhc3MgKGJ1aWxkIGxleCAoXiAoZ2V0ciAqKSkp
KSkpDQoJICAgICAoc2V0ciBudW0gKGdldGYgbnVtKSkNCgkgICAgIChzZXRy
IGdlbmRlciAoZ2V0ZiBnZW5kZXIpKQ0KCSAgICAgKHRvIG5wcG9zKSkNCgkg
ICAgICAgICAgICAgICAgICAgICAgICA7IGFuIGluZGVmaW5pdGUgbnAgaW4g
YSBxdWVzdGlvbg0KCQ0KCShjYXQgbiAoYW5kIChkaXNqb2ludCBkZWYgdCkg
KG92ZXJsYXAgbW9vZCAnZGVjbCkoZ2V0ciBwb3Nzb3IpKG51bGxyIG9iamVj
dCkpOyBhbiBpbmRlZmluaXRlIHBvc3Nlc3NpdmUgbnAuDQogICAgICAgICAg
ICAgKHNldHIgaGVhZAkJCTsgQ3JlYXRlIGEgbmV3IHJlZmVyZW50Lg0KCQkg
ICAjISgoZmluZCBvYmplY3QtDQoJCQkgICAgKGFzc2VydCBvYmplY3QgI2hl
ZA0KCQkJICAgICAgcG9zc2Vzc29yIH4oZ2V0ciBwb3Nzb3IpDQoJCQkgICAg
ICByZWwgKGJ1aWxkIGxleCB+KGdldHIgKikpKSkpKQ0KCSAgICAgIChzZXRy
IG90aGVyDQoJCSAgICMhKChmaW5kIG1lbWJlci0NCgkJCSAgICAoYXNzZXJ0
IG1lbWJlciB+IChnZXRyIGhlYWQpDQoJCQkJICAgIGNsYXNzIChidWlsZCBs
ZXggfihnZXRyICopKSkpKSkgDQoJICAgICAodG8gbnBwb3MpKQ0KCQ0KCShj
YXQgbiAoYW5kIChkaXNqb2ludCBkZWYgdCkgKG92ZXJsYXAgbW9vZCAncXVl
c3Rpb24pKSANCgkgICAgIChzZXRyIGhlYWQgKCogJ3gpKQ0KCSAgICAgKHRv
IG5wcG9zKSkNCgkJCQk7IGEgbnAgb2YgdGhlIGZvcm0gInRoZSBhZGogbiIs
IHdoZXJlDQoJCQkJOyB0aGUgbiBoYXMgYmVlbiBtZW50aW9uZWQgYmVmb3Jl
DQoJCQkJOyBob3BlZnVsbHksIHdpbGwgc29vbiBiZSAidGhlIGFkaiogbiIN
CgkJCQk7IGkuZS4gd2UnbGwgY29sbGFwc2UgdGhpcyBhbmQgdGhlIG5leHQN
CgkJCQk7IGNhdCBpbnRvIG9uZS4NCgkoY2F0IG4gKGFuZCAoZ2V0ciBkZWYp
IA0KCQkgICAgKGZpbmQgbWVtYmVyLSANCgkJCSAgKGZpbmQgY2xhc3MgKGZp
bmQgbGV4ICheIChnZXRyICopKSkpKQ0KCQkgICAgKGdldHIgcHJvcHMpKQ0K
CSAgICAgKHNldHIgaGVhZA0KCQkgICAoZmluZCBtZW1iZXItDQoJCQkgICAg
KGRlZHVjZSBtZW1iZXIgKCogJ21lbSkNCgkJCQkgICAgY2xhc3MgKGJ1aWxk
IGxleCAoXiAoZ2V0ciAqKSkpKQ0KCQkJICAgIG9iamVjdC0NCgkJCSAgICAo
ZGVkdWNlIG9iamVjdCAoKiAncHJvcHR5KQ0KCQkJCSAgICBwcm9wZXJ0eSAo
XiAoZ2V0ciBwcm9wcykpKSkpDQoJICAgICAoc2V0ciBudW0gKGdldGYgbnVt
KSkNCgkgICAgIChzZXRyIGdlbmRlciAoZ2V0ZiBnZW5kZXIpKQ0KCSAgICAg
KHRvIG5wcG9zKSkNCgkNCgkJCQk7IGEgbnAgb2YgdGhlIGZvcm0gInRoZSBu
Iiwgd2hlcmUNCgkJCQk7IHRoZSBuIGhhcyBiZWVuIG1lbnRpb25lZCBiZWZv
cmUNCgkoY2F0IG4gKG92ZXJsYXAgZGVmIHQpDQoJCShzZXRyIGhlYWQNCgkJ
ICAgIyEoKGZpbmQgbWVtYmVyLQ0KCQkJICAgIChkZWR1Y2UgbWVtYmVyICp4
DQoJCQkJICAgIGNsYXNzIChidWlsZCBsZXggfihnZXRyICopKSkpKSkNCgkg
ICAgIChzZXRyIG51bSAoZ2V0ZiBudW0pKQ0KCSAgICAgKHNldHIgZ2VuZGVy
IChnZXRmIGdlbmRlcikpDQoJICAgICAodG8gbnBwb3MpKQ0KCQ0KCQkJCTsg
YSBucCBvZiB0aGUgZm9ybSAidGhlIHthZGp9KiBuIiwgd2hlcmUNCgkJCQk7
IHRoZSBuIGlzIGJhc2ljIGFuZCBoYXMgbmV2ZXIgYmVlbg0KCQkJCTsgbWVu
dGlvbmVkIGJlZm9yZQ0KCShjYXQgbiAoYW5kIChnZXRyIGRlZikgKGdldGYg
YmFzaWMpKQ0KCSAgICAgKHNldHIgaGVhZA0KCQkgIChhc3NlcnQgbGV4IChe
KGdldHIgKikpKSkNCgkgICAgIChsaWZ0ciBnZW5lcmljIHQpDQoJICAgICAo
c2V0ciBudW0gJ3BsdXIpDQoJICAgICAoc2V0ciBnZW5kZXIgKGdldGYgZ2Vu
ZGVyKSkNCgkgICAgICh0byBucHBvcykpCTsgY2FuJ3QgYWRkIGFkaidzIHRv
IHRoZXNlIGZvciBub3cNCg0KCShjYXQgbiAoYW5kIChnZXRyIGdlbmVyaWMp
IChnZXRmIGJhc2ljKSkNCgkgICAgICgkICdhbnlkb2cpDQoJICAgICAobGlm
dHIgcmVzdHINCgkJICAgIChidWlsZCBtZW1iZXIgKCogJ2FueWRvZykNCgkJ
CSAgIGNsYXNzIChidWlsZCBsZXggKF4gKGdldHIgKikpKSkpDQoJICAgICAo
c2V0ciBoZWFkICgqICdhbnlkb2cpKQ0KCSAgICAgKHNldHIgZ2VuZGVyIChn
ZXRmIGdlbmRlcikpDQoJICAgICAodG8gbnBwb3MpKSkNCg0KDQoobm9tcHJv
cCAocHVzaCBwcyB0IDsgUmV0dXJuIHRoZSBwYXJzZSBvZiBlbWJlZGRlZCBz
ZW50ZW5jZS4NCiAgICAgICAgICAgICAgIChzZW5kciBlbWJlZGRlZCB0KSAo
c2V0ciBoZWFkICopIChsaWZ0ciBtb29kKShsaWZ0ciBtb2QpKHRvIG5wL2Vu
ZCkpKQ0KDQoobi9yZWYgKGp1bXAgbnAvZW5kIGhlYWQpDQogICAgICAgKGp1
bXAgbnAvZW5kIChudWxsciBoZWFkKQ0KCSAgICAgKGxpZnRyIGdlbmVyaWMg
dCkNCgkgICAgIChzZXRyIGhlYWQgKGFzc2VydCBsZXggKF4gKGdldHIgY2xh
c3MpKSkpKSkNCg0KKG5wL24gKGp1bXAgbnAvZW5kIHByb3BzDQoJICAgIChh
c3NlcnQgb2JqZWN0ICheIChnZXRyIGhlYWQpKSBwcm9wZXJ0eSAoXiAoZ2V0
ciBwcm9wcykpKSkNCiAgICAgIChqdW1wIG5wL2VuZCAobnVsbHIgb2JqZWN0
KQ0KCQkoc2V0ZiAqZm9jdXNsaXN0KiAodXBkYXRlICheIChnZXRyIGhlYWQp
KSAoXiAoZ2V0ciBnZW5kZXIpKSAoXiAoZ2V0ciBudW0pKSAgKF4gKGdldHIg
cHJvbl9jYXNlKSkgKmZvY3VzbGlzdCopKSkNCiAgICAgIChqdW1wIG5wL2Vu
ZCB0KSkNCg0KDQoobnAvZW5kIA0KIChwb3AgaGVhZCB0DQogICAgICAobGlm
dHIgbnVtKSkpDQoJDQoNCiAgIA0KDQo7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7
DQo7OzsgR2VuZXJhdGlvbiBTZWN0aW9uDQo7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7
Ozs7DQoNCg0KKHJlc3BvbmQgKHdyZCAnZHVtbXkgdCAodG8gZmx1c2gpKQ0K
CSAoY2FsbCBncyAqIChhbmQgKGdldHIgKikgKG92ZXJsYXAgbW9vZCAnZGVj
bCkpDQoJICAgICAgIChzZXRyIGNvbmogImFuZCIpDQogICAgICAgICAgICAg
ICAoc2F5ICJJIHVuZGVyc3RhbmQgdGhhdCIpIDsgQ2FubmVkIGJlZ2lubmlu
ZyBvZiBlY2hvDQoJICAgICAgICogKHRvIHJlc3AvZW5kKSkJICAgICAgICAg
OyBvZiBzdGF0ZW1lbnQuIA0KCSAod3JkICdGQUlMIHQJCTsgUXVlc3Rpb24g
bm90IGFuc3dlcmVkLg0KCSAgICAgIChzYXkgIkkgZG9uJ3Qga25vdyIpICh0
byByZXNwL2VuZCkpDQogICAgICAgICAoY2FsbCBncyAqIChhbmQgKGdldHIg
KikNCgkJCSAob3ZlcmxhcCBxdHlwZSAndGYpDQoJCQkgKG92ZXJsYXAgKGdl
dGEgbWF4KSAwKSkNCgkJCQk7IEFuc3dlciBObyB0byBUL0YgcXVlc3Rpb24u
DQoJICAgICAgIChzYXkgIk5vLCIpIChzZW5kciBjb25qICJhbmQiKQ0KCSAg
ICAgICAqICh0byByZXNwL2VuZCkpDQoJIChjYWxsIGdzICogKGFuZCAoZ2V0
ciAqKQ0KCQkJKG92ZXJsYXAgcXR5cGUgJ3RmKSkNCgkJCQk7IEFuc3dlciBZ
ZXMgdG8gVC9GIHF1ZXN0aW9uLg0KCSAgICAgICAoc2F5ICJZZXMsIikgKHNl
bmRyIGNvbmogImFuZCIpDQoJICAgICAgICogKHRvIHJlc3AvZW5kKSkNCgkg
KGNhbGwgZ3MgKiAoYW5kIChnZXRyICopDQoJCQkob3ZlcmxhcCBtb29kICco
cXVlc3Rpb24gI3xpbXBlcnwjKSkpDQoJCQkJOyBBbnN3ZXIgb2YgcXVlc3Rp
b24gb3IgcmVwb3J0IG9mDQoJCQkJOyBkb2luZyBjb21tYW5kLg0KCSAgICAg
ICAoc2VuZHIgY29uaiAiYW5kIikgKiAodG8gcmVzcC9lbmQpKQ0KCSAodG8g
KHJlc3AvZW5kKSAob3ZlcmxhcCBtb29kICdpbXBlcikpDQoJIChqdW1wIHJl
c3AvZW5kIChudWxsciAqKSkNCgkgKHRvIChmbHVzaCkgdCAjISgoZGVzY3Jp
YmUgfihnZXRyICopKSkpKQ0KDQoocmVzcC9lbmQgKHBvcCBuaWwgdCAoc2F5
ICIuIikpKQ0KDQooZyA7OyBGb3IgdXNlIGJ5IFNVUkZBQ0UNCiAocHVzaCBn
cyB0IChzZW5kciBjb25qICJhbmQiKSAodG8gcmVzcC9lbmQpKQ0KIChqdW1w
IGcvc3ViaiAoZ2V0YSBhY3Rpb24pIChzZXRyIHBlcnNvbiAncDEpKQ0KIChw
dXNoIGdjYXQgKGdldGEgY2xhc3Ntb2QpIChzZW5kciBudW0gJ3BsdXIpICh0
byBnL2VuZCkpDQogKHB1c2ggZ25wIHQgKHNlbmRyIGNhc2UgJ29iaikgKHRv
IGcvZW5kKSkpDQoNCihncyAoY2FsbCBncyAoZ2V0YSBldmVudCkgKGdldGEg
ZXZlbnQpDQoJICAoc2VuZHIgdGVuc2UgKGZpcnN0ICh0ZW5zZS1hbmQtYXNw
ZWN0IChnZXRhIHRpbWUpKSkpDQoJICAoc2VuZHIgYXNwZWN0IChzZWNvbmQg
KHRlbnNlLWFuZC1hc3BlY3QgKGdldGEgdGltZSkpKSkNCgkgIChzZW5kciBt
b29kKSAoc2V0ciBxdHlwZSkgKHNlbmRyIGNvbmopDQoJICAqICh0byBnL2Vu
ZCkpDQogICAgDQogICAgKGp1bXAgZ3MgKGFuZCAobnVsbHIgZGlyKSAoZ2V0
YSBkaXJlY3Rpb24pKSAoc2V0ciBkaXIgJ2RpcmVjKSkNCiAgICAoanVtcCBn
cyAoYW5kIChudWxsciBwbGEpIChnZXRhIHBsYWNlKSkgKHNldHIgcGxhICdw
bGFjaykpDQogICAgKGp1bXAgZ3MgKGFuZCAobnVsbHIgaW50d28pIChnZXRh
IGludG8pKSAoc2V0ciBpbnR3byAnaW50d28pKQ0KICAgIChqdW1wIGdzIChh
bmQgKG51bGxyIHR3bykgKGdldGEgdG8pKSAoc2V0ciB0d28gJ3R3bykpDQoJ
ICANCiAgICAocmNhbGwgZ25wIChnZXRhIGFnZW50KSAoZ2V0YSBhZ2VudCkg
OyBHZW5lcmF0ZSB0aGUgYWdlbnQgYXMgYW4gbnAuDQoJICAgKHNlbmRyIGNh
c2UgJ25vbSkgcmVnIChzZXRyIHRlcyAqKSAodG8gZy9zdWJqIChnZXRhIGFj
dCkpKQ0KICAgIChyY2FsbCBnbnAgKGdldGEgb2JqZWN0KSAoYW5kIChnZXRh
IG9iamVjdCkgKGdldGEgbG9jYXRpb24pKQ0KCSAgIChzZW5kciBjYXNlICdu
b20pIHJlZyAodG8gZ2xvYyAoZ2V0YSBsb2NhdGlvbikpKQ0KICAgIChyY2Fs
bCBnZXF1aXYgKGdldGEgZXF1aXYpIChnZXRhIGVxdWl2KSA7IEVxdWl2IHBy
b3Bvc2l0aW9uLg0KCSAgIHJlZyAodG8gZy9lbmQpKQ0KICAgIChyY2FsbCBn
bnAgKGdldGEgbWVtYmVyKSAoZ2V0YSBtZW1iZXIpIDsgR2VuZXJhdGUgdGhl
IG1lbWJlciBhcyBhbiBucC4NCgkgICAoc2VuZHIgdG9wY2wgKGdldGEgY2xh
c3MpKSAoc2VuZHIgY2FzZSAnbm9tKSAoc2V0ciBudW0gJ3NpbmcpIHJlZw0K
CSAgIChqdW1wIGcvbWVtYmVyKSkNCiAgICAocmNhbGwgZ2NhdCAoZ2V0YSBz
dWJjbGFzcykgKGdldGEgc3ViY2xhc3MpIDsgc3ViY2xzIGFyZSBzdXBlcmNs
cw0KCSAgIChzZW5kciBudW0gJ3BsKSByZWcNCgkgICAoanVtcCBnc3Vic3Vw
KSkNCiAgICAocmNhbGwgZ25wIChnZXRhIG9iamVjdCkgKGFuZCAoZ2V0YSBv
YmplY3QpIChnZXRhIHByb3BlcnR5KSkNCgkgICAoc2VuZHIgY2FzZSAnbm9t
KSAoc2V0ciBudW0gJ3NpbmcpIHJlZyAodG8gZ3Byb3AgKGdldGEgcHJvcGVy
dHkpKSkNCiAgICAoY2FsbCBnY2F0IChnZXRhIGNsYXNzKSAoZ2V0YSBtZW1i
ZXIpIDsgR2VuZXJhdGUgIlRoZXJlIGlzIGEgPGNsPi4iDQoJICAoc2F5ICco
InRoZXJlIiAiaXMiICJhIikpDQoJICAoc2VuZHIgY2FzZSAnbm9tKSAoc2V0
ciBudW0gJ3NpbmcpIHJlZw0KCSAgKHRvIGcvZW5kKSkNCiAgICAocmNhbGwg
Z25wIChnZXRhIGFyZzEpIChnZXRhIGFyZzEpIDsgYXJnMSByZWwgYXJnMg0K
CSAgIChzZW5kciBjYXNlICdub20pIHJlZyAoanVtcCBnL2FyZzEpKQ0KICAg
IChyY2FsbCBnbnAgKGdldGEgcG9zc2Vzc29yKQkJOyBwJ3MgcmVsIGlzIG9i
ag0KCSAgIChhbmQgKGdldGEgcG9zc2Vzc29yKSAobnVsbHIgZW1iZWRkZWQp
KQ0KCSAgIChzZW5kciBjYXNlICdub20pDQoJICAgKHNlbmRyIHBvc3MgdCkN
CgkgICByZWcgKGp1bXAgZ3Bvc3MvcCkpDQogICAgKHJjYWxsIGducCAoZ2V0
YSBwb3NzZXNzb3IpIDsgcCBoYXMgYSByZWwNCgkgICAoYW5kIChnZXRhIHBv
c3Nlc3NvcikgKGdldHIgZW1iZWRkZWQpKQ0KCSAgIChzZW5kciBjYXNlICdu
b20pDQoJICAgcmVnIChqdW1wIGdwb3NzL3ApKQ0KICAgIChjYWxsIGdzIChn
ZXRhIGNxKSAoZ2V0YSBjcSkNCgkgIChzZW5kciBjb25qICJhbmQiKSAqICh0
byBnL2VuZCkpDQogICAgKGNhbGwgZ3MgKGdldGEgYXJnKSAob3ZlcmxhcCAo
Z2V0YSBtYXgpIDEpDQoJICAoc2VuZHIgY29uaiAib3IiKSAqICh0byBnL2Vu
ZCkpDQogICAgKHJjYWxsIGdzIChnZXRhIGFyZykgKG92ZXJsYXAgKGdldGEg
bWF4KSAwKSAoc2VuZHIgbmVnICduZWcpIHJlZw0KCSAgICh0byBnL2VuZCkp
DQogICAgKHJjYWxsIGcvc3ViaiAoZ2V0YSBhY3QpIChnZXRhIGFjdCkJOyBU
byA8YWN0PiA8cGxhbj4uDQoJICAgKHNldHIgcGVyc29uICdwMSkgKHNlbmRy
IHBlcnNvbiAncDEpDQoJICAgKHNheSAidG8iKSByZWcgKHRvIGcvc3ViaiAo
Z2V0YSBwbGFuKSkpDQogICAgKQ0KDQooZ3Bvc3MvcCAocmNhbGwgZ2NhdCAo
Z2V0YSByZWwpIChudWxsciBlbWJlZGRlZCkNCgkJKHNlbmRyIGNhc2UgJ25v
bSkgKHNlbmRyIG51bSAnc2luZykgcmVnDQoJCShzYXkgImlzIikgKGp1bXAg
Z3Bvc3MvcmVsKSkNCgkgKHJjYWxsIGdjYXQgKGdldGEgcmVsKSBlbWJlZGRl
ZA0KCQkoc2F5ICh2ZXJiaXplIChnZXRyIHBlcnNvbikgKGdldHIgdGVuc2Up
IChnZXRyIGFzcGVjdCkNCgkJCSAgICAgIChnZXRyIG5lZykgImhhcyIpKSAo
c2F5ICJhIikNCgkJKHNlbmRyIGNhc2UgJ25vbSkgKHNlbmRyIG51bSAnc2lu
ZykgcmVnDQoJCSh0byBnL2VuZCkNCgkJKSkNCg0KKGdwb3NzL3JlbCAocmNh
bGwgZ25wIChnZXRhIG9iamVjdCkgKGdldGEgb2JqZWN0KQ0KCQkgIChzZW5k
ciBjYXNlICdub20pIHJlZyAodG8gZy9lbmQpKSkNCgkgIA0KKGdlcXVpdiAo
cHVzaCBnbnAgdCAoc2VuZHIgY2FzZSAnbm9tKSAoc2VuZHIgbG9jYWxkZXNj
ciB0KSAodG8gZ2VxdWl2cmVzdCkpKQ0KDQooZ2VxdWl2cmVzdCAoY2FsbCBn
bnAgKiAqIChzYXkgKHZlcmJpemUgKGdldHIgcGVyc29uKSAoZ2V0ciBuZWcp
ICJiZSIpKSANCgkJICAoc2VuZHIgY2FzZSAnbm9tKSAoc2VuZHIgbG9jYWxk
ZXNjciB0KSByZWcgKHRvIGdlcXVpdmVuZCkpKQ0KDQooZ2VxdWl2ZW5kIChq
dW1wIGdlcXVpdnJlc3QgKiAoc2F5ICJhbmQiKSkNCgkgICAocG9wIG5pbCB0
KSkNCg0KKGdzdWJzdXAgKHJjYWxsIGdjYXQgKGdldGEgc3VwZXJjbGFzcykg
KGdldGEgc3VwZXJjbGFzcykNCgkJKHNheSBgKCxAKHZlcmJpemUgJ3BsdXIg
KGdldHIgbmVnKSAiYmUiKSkpDQoJCShzZW5kciBudW0gJ3BsKQ0KCQlyZWcg
KHRvIGcvZW5kKSkpDQoNCihnL21lbWJlciAocmNhbGwgZ2RlZmNhdCAoZ2V0
YSBjbGFzcykgDQoJCSAoYW5kIChnZXRhIGNsYXNzKSAoc25lcHM6aXNhc3Nl
cnQubiAoZ2V0ciAqKSkpDQoJCSAoc2F5IGAoLEAodmVyYml6ZSAoZ2V0ciBw
ZXJzb24pIChnZXRyIG5lZykgKGdldHIgbnVtKSAiYmUiKSkpDQoJCSByZWcg
KHRvIGcvZW5kKSkNCgkgIChyY2FsbCBnY2F0IChnZXRhIGNsYXNzKQ0KCQkg
KGFuZCAoZ2V0YSBjbGFzcykgKG5vdCAoc25lcHM6aXNhc3NlcnQubiAoZ2V0
ciAqKSkpKQ0KCQkgKHNheSBgKCxAKHZlcmJpemUgKGdldHIgcGVyc29uKSAo
Z2V0ciBuZWcpIChnZXRyIG51bSkNCgkJCQkgICAiYmUiKSkpDQoJCSAoc2F5
ICJhIikNCgkJIHJlZyAodG8gZy9lbmQpKSkNCg0KKGdwcm9wICh0byAoZy9l
bmQpIHQNCgkgICAoc2F5IGAoLEAodmVyYml6ZSAoZ2V0ciBwZXJzb24pIChn
ZXRyIG5lZykgKGdldHIgbnVtKQ0KCQkJICAgICAiYmUiKSkpDQoJICAgKHNh
eSAoZ2V0YSBsZXgpKSkpDQoNCihnbG9jIChqdW1wIGdsb2MyIChnZXRhIGxl
eCAoZ2V0YSBzcC1yZWwpKQ0KCSAgICAoc2F5ICJpcyIpDQoJICAgIChzYXkg
KGdldGEgbGV4IChnZXRhIHNwLXJlbCkpKSkpDQoNCihnbG9jMiAocmNhbGwg
Z25wIChnZXRhIG9iamVjdCkgKGdldGEgb2JqZWN0KQ0KCSAgICAgIChzZW5k
ciBjYXNlICdvYmopIHJlZyAodG8gZy9lbmQpKSkNCiANCg0KKGcvYXJnMSAo
cmNhbGwgZ25wIChnZXRhIGFyZzIpIChnZXRhIGFyZzIpDQoJICAgICAgIChz
YXkgYCgsQCh2ZXJiaXplIChnZXRyIHBlcnNvbikgKGdldHIgbmVnKSAoZ2V0
ciBudW0pDQoJCQkJIChnZXRyIHRlbnNlKSAjfChnZXRyIGFzcGVjdCl8Iw0K
CQkJCSAiYmUiKSkpDQoJICAgICAgIChzYXkgKGdldGEgbGV4IChnZXRhIHJl
bCkpKQ0KCSAgICAgICByZWcgKHRvIGcvZW5kKSkpDQoNCihnL3NxY2UgKHJj
YWxsIGcvc3ViaiAoZ2V0YSBvYmplY3QxKSB0ICAoc2VuZHIgcGVyc29uKSBy
ZWcgKGp1bXAgZy9zcWNlMikpKQ0KDQooZy9zcWNlMiAocmNhbGwgZy9zdWJq
IChnZXRhIG9iamVjdDIpIHQgDQoJCSh1dHRlciAiYW5kIHRoZW4iIDpmbHVz
aCA6YmVmb3JlKSAoc2VuZHIgcGVyc29uKQ0KCQk7Oyhmb3JtYXQgc25lcHM6
b3V0dW5pdCAifiZhbmQgdGhlbiIpDQoJCXJlZyAodG8gZy9lbmQpKSkNCg0K
KGcvc3ViagkJCQk7ICogaXMgYW4gYWN0IG5vZGUNCiAoanVtcCBnL3NxY2UN
CiAgICAgICAob3ZlcmxhcCAoZ2V0YSBhY3Rpb24pIChzbmVwczpub2RlICdz
bnNlcXVlbmNlKSkpDQogKGp1bXAgZy92IA0KICAgICAgIChhbmQgKGdldGEg
YWN0aW9uKQ0KCSAgICAob3ZlcmxhcCAoZ2V0YSBhY3Rpb24pICMyISgoYnVp
bGQgbGV4ICJnbyIpKSkNCgkgICAgKG92ZXJsYXAgKGdldGEgfHRvfCkgKCog
J1lvdSkpKQ0KICAgICAgIChzYXkgImNhbWUiKSkJCQk7IEZvciB0aGlzIGV4
YW1wbGUsIGFsd2F5cyB1c2UgcGFzdCB0ZW5zZS4NCiAoanVtcCBnL3YgKGFu
ZCAoZ2V0ciBtb2QpIChnZXRhIGxleCAoZ2V0YSBhY3Rpb24pKSkNCiAgICAg
ICAoc2F5ICh2ZXJiaXplIChnZXRyIHBlcnNvbikgKGdldHIgdGVuc2UpIChn
ZXRyIGFzcGVjdCkgKGdldHIgbmVnKQ0KCQkgICAgICJtdXN0IiAoZmlyc3Qg
KGdldGEgbGV4IChnZXRhIGFjdGlvbikpKSkpKQ0KIChqdW1wIGcvdiAoZ2V0
YSBsZXggKGdldGEgYWN0aW9uKSkNCiAgICAgICAoc2F5ICh2ZXJiaXplIChn
ZXRyIHBlcnNvbikgKGdldHIgdGVuc2UpIChnZXRyIGFzcGVjdCkgKGdldHIg
bmVnKQ0KCQkgICAgIChmaXJzdCAoZ2V0YSBsZXggKGdldGEgYWN0aW9uKSkp
KSkpDQogKGp1bXAgZy92IChnZXRhIGFjdGlvbikJCTsgVXNlIG5vZGUgaWQg
YXMgdmVyYg0KICAgICAgIChzYXkgKHZlcmJpemUgKGdldHIgcGVyc29uKSAo
Z2V0ciB0ZW5zZSkgKGdldHIgYXNwZWN0KSAoZ2V0ciBuZWcpDQoJCSAgICAg
KHN0cmluZy1kb3duY2FzZQ0KCQkgICAgICAoZm9ybWF0IG5pbCAifkEiIChm
aXJzdCAoZ2V0YSBhY3Rpb24pKSkpKSkpKQ0KDQoNCg0KDQooZy92CQkJCTsg
KiBpcyBhbiBhY3Qgbm9kZQ0KIChyY2FsbCBnbnAgKGdldGEgb2JqZWN0KQk7
IEdlbmVyYXRlIHRoZSBvYmplY3QuDQoJKGFuZCAoZ2V0YSBvYmplY3QpICAg
ICAgOyBleGFtcGxlIHBzeWNob2xvZ2ljYWwgdmVyYg0KCSAgICAgKG92ZXJs
YXAgKGdldGEgYWN0aW9uKSAjMiEoKGJ1aWxkIGxleCAic2VlIikpKSkNCgko
c2VuZHIgY2FzZSAnb2JqKSAoc2VuZHIgbG9jYWxkZXNjciB0KSByZWcgKGp1
bXAgZy9vYmopKQ0KIChyY2FsbCBnbnAgKGdldGEgb2JqZWN0KSAoZ2V0YSBv
YmplY3QpIDsgR2VuZXJhdGUgdGhlIG9iamVjdC4NCgkoc2VuZHIgY2FzZSAn
b2JqKSByZWcgKGp1bXAgZy9vYmopKQ0KIChyY2FsbCBnbnAgKGdldGEgb2Jq
ZWN0MSkgKGdldGEgb2JqZWN0MSkgOyBHZW5lcmF0ZSB0aGUgb2JqZWN0IGlm
IG9iamVjdDEuDQoJKHNlbmRyIGNhc2UgJ29iaikgcmVnIChqdW1wIGcvb2Jq
KSkNCiAodG8gKGcvb2JqIChnZXRyIHRlcykpIHQpDQogKGp1bXAgZy9vYmog
KG5vdCAob3IgKGdldGEgb2JqZWN0KSAoZ2V0YSBvYmplY3QxKSkpKSkgOyBO
byBvYmplY3QuDQoNCg0KDQoNCg0KDQoNCihnL29iagkJCQkJOyAqIGlzIGFu
IGFjdCBub2RlDQogKHJjYWxsIGducCAoZ2V0YSB8dG98KSAoYW5kIChnZXRh
IHx0b3wpIDsgRS5nLiAiZ28gbGVmdCINCgkJCSAgICAgIyEoKGZpbmRhc3Nl
cnQgbWVtYmVyIH4oZ2V0YSB8dG98KQ0KCQkJCSAoY2xhc3MgbGV4KSAiZGly
ZWN0aW9uIikpKQ0KCShzZW5kciBjYXNlICdvYmopIHJlZyAodG8gZy9lbmQp
KQ0KIChyY2FsbCBnbnAgKGdldGEgfHRvfCkgKGdldGEgfHRvfCkgOyBHZW5l
cmF0ZSB0aGUgUFAuDQoJKHNlbmRyIGNhc2UgJ29iaikgKHNheSAidG8iKSBy
ZWcgKHRvIGcvZW5kKSkNCiAocmNhbGwgZ25wIChnZXRhIHxkaXJlY3Rpb258
KSAoZ2V0YSB8ZGlyZWN0aW9ufCkgOyBHZW5lcmF0ZSB0aGUgUFAuDQoJKHNl
bmRyIGNhc2UgJ29iaikgKHNheSAiYXQiKSByZWcgKHRvIGcvZW5kKSkNCiAo
cmNhbGwgZ25wIChnZXRhIHxpbnRvfCkgKGdldGEgfGludG98KSA7IEdlbmVy
YXRlIHRoZSBQUC4NCgkoc2VuZHIgY2FzZSAnb2JqKSAoc2F5ICJpbnRvIikg
cmVnICh0byBnL2VuZCkpDQogKHJjYWxsIGducCAoZ2V0YSB8cGxhY2V8KSAo
Z2V0YSB8cGxhY2V8KSA7IEdlbmVyYXRlIHRoZSBQUC4NCgkoc2VuZHIgY2Fz
ZSAnb2JqKSAoc2F5ICJpbiIpIHJlZyAodG8gZy9lbmQpKSANCg0KIChqdW1w
IGcvZW5kIChvciAoZ2V0ciBwbGEpIChnZXRyIHR3bykgKGdldHIgaW50d28p
IChnZXRyIGRpcikpKQ0KIA0KICh0byAoZy9lbmQpIHQpKQkJCQk7IE5vIFBQ
DQoNCg0KKGcvZW5kICh0byAoZy9vYmogKGdldHIgdGVzKSkgKG9yIChnZXRy
IHBsYSkgKGdldHIgdHdvKSAoZ2V0ciBpbnR3bykgKGdldHIgZGlyKSkgKHNl
dHIgKiAoZ2V0ciB0ZXMpKSkgDQoNCiAgICAgICAoanVtcCBncyAqDQoJICAg
ICAod2hlbiAoZ2V0ciBjb25qKSAodXR0ZXIgKGdldHIgY29uaikgOmZsdXNo
IDpiZWZvcmUpKQ0KCSAgICAgOzsoZm9ybWF0IHNuZXBzOm91dHVuaXQgIn4m
fkF+JSIgKGdldHIgY29uaikpDQoJICAgICApDQogICAgICAgKHBvcCBuaWwg
dCkpDQoNCg0KDQoNCg0KDQoNCihnbnAgKGp1bXAgZ25wIA0KCSAoYW5kIChu
dWxsciBhZGpkZXNjcikNCgkgICAgICAjISgoZmluZCAoY29tcG9zZSBwcm9w
ZXJ0eS0gISBvYmplY3QNCgkJCQkoa3N0YXIgKGNvbXBvc2UgZXF1aXYtICEg
ZXF1aXYpKSkNCgkJICAgICAgIH4oZ2V0ciAqKSkpKQ0KICAgICAgICAgKHNl
dHIgYWRqIChnZXRhIGxleCAjISgoZmluZCAoY29tcG9zZSBwcm9wZXJ0eS0g
ISBvYmplY3QNCgkJCQkgKGtzdGFyIChjb21wb3NlIGVxdWl2LSAhIGVxdWl2
KSkpDQoJCQkgICAgfihnZXRyICopKSkpKQ0KCSAoc2V0ciBhZGpkZXNjciAn
ZG9uZSkpCQk7IHN0b3JlIGFuIGFkamVjdGl2ZQ0KDQogICAgICh0byAoZ25w
IChnZXRhIG9iamVjdCkpIA0KCSAoZ2V0YSBtb2RlKSANCgkgKHNldHIgbW9k
IChnZXRhIG1vZGUpKSAobGlmdHIgbW9kKSAoc2VuZHIgbW9kKSkNCiAgICAg
DQogICAgICh0byAoZ25wL2VuZCkgKGFuZCAoZ2V0ciBsb2NhbGRlc2NyKSAo
b3ZlcmxhcCAqICgqICdJKSkNCgkJCShvdmVybGFwIGNhc2UgJ25vbSkpDQoJ
IChsaWZ0ciBwZXJzb24gJ3AxKSAoc2F5biAiSSIpKQ0KICAgICAodG8gKGdu
cC9lbmQpIChhbmQgKG51bGxyIGxvY2FsZGVzY3IpIChvdmVybGFwIGNhc2Ug
J25vbSkNCgkJCShvdmVybGFwICMhKChmaW5kIChrc3RhciAoY29tcG9zZSAo
ZXF1aXYtICEgZXF1aXYpKSkNCgkJCQkJICB+KGdldHIgKikpKSAoKiAnSSkp
KQ0KCSAobGlmdHIgcGVyc29uICdwMSkgKHNheW4gIkkiKSkNCiAgICAgKHRv
IChnbnAvZW5kKSAoYW5kIChnZXRyIGxvY2FsZGVzY3IpIChvdmVybGFwICog
KCogJ0kpKQ0KCQkJKG92ZXJsYXAgY2FzZSAnb2JqKSkNCgkgKGxpZnRyIHBl
cnNvbiAncDEpIChzYXluICJtZSIpKQ0KICAgICAodG8gKGducC9lbmQpIChh
bmQgKG51bGxyIGxvY2FsZGVzY3IpIChvdmVybGFwIGNhc2UgJ29iaikNCgkJ
CShvdmVybGFwICMhKChmaW5kIChrc3RhciAoY29tcG9zZSAoZXF1aXYtICEg
ZXF1aXYpKSkNCgkJCQkJICB+KGdldHIgKikpKSAoKiAnSSkpKQ0KCSAobGlm
dHIgcGVyc29uICdwMSkgKHNheW4gIm1lIikpDQogICAgICh0byAoZ25wL2Vu
ZCkNCgkgKGFuZCAobnVsbHIgbG9jYWxkZXNjcikNCgkgICAgICAob3Zlcmxh
cCAqICMhKChmaW5kIChrc3RhciAoY29tcG9zZSBlcXVpdi0gISBlcXVpdikp
ICpZb3UpKSkpDQoJIChzYXluICJ5b3UiKSAoYWRkTmFtZSAoZ2V0ciAqKSB0
KQ0KCSAobGlmdHIgcGVyc29uICdwMikgKGxpZnRyIG51bSAncGx1cikpDQog
ICAgICh0byAoZ25wL2VuZCkNCgkgKGFuZCAoZ2V0ciBsb2NhbGRlc2NyKQ0K
CSAgICAgIChvdmVybGFwICogKCogJ1lvdSkpKQ0KCSAoc2F5biAieW91Iikg
KGFkZE5hbWUgKGdldHIgKikgbmlsKQ0KCSAobGlmdHIgbnVtICdwbHVyKSAo
bGlmdHIgcGVyc29uICdwMikpDQogICAgICh0byAoZ25wL2VuZCkgKGdldGEg
bGV4KSAoc2F5biAoZ2V0YSBsZXgpKSkNCiAgICAgKHRvIChnbnAvZW5kKSAo
YW5kIChnZXRyIGxvY2FsZGVzY3IpDQoJCQkoZ2V0YSBwcm9wZXJuYW1lIChn
ZXRhIG9iamVjdC0gKikpKQ0KCSAoc2F5biAoZ2V0YSBwcm9wZXJuYW1lIChn
ZXRhIG9iamVjdC0gKikpKSkNCiAgICAgKHRvIChnbnAvZW5kKSANCgkgKGFu
ZCAobnVsbHIgbG9jYWxkZXNjcikNCgkgICAgICAjISgoZmluZCAoY29tcG9z
ZSBwcm9wZXJuYW1lLSAhIG9iamVjdA0KCQkJCShrc3RhciAoY29tcG9zZSBl
cXVpdi0gISBlcXVpdikpKQ0KCQkgICAgICAgfihnZXRyICopKSkpDQogICAg
ICAgICAoc2F5biAjISgoZmluZCAoY29tcG9zZSBwcm9wZXJuYW1lLSAhIG9i
amVjdA0KCQkJCSAoa3N0YXIgKGNvbXBvc2UgZXF1aXYtICEgZXF1aXYpKSkN
CgkJCX4oZ2V0ciAqKSkpKSkJOyBHZW5lcmF0ZSBhbiBucHIuDQogICAgICh0
byAoZ25wL2VuZCkgKG9yIChnZXRhIGxleC0pCTsgaXMgaXQgYSBsZXhlbWUN
CgkJICAgICAgIChvdmVybGFwICducHIJOyBvciBpbiB0aGUgbGV4aWNvbiBh
cyBhbiBucHINCgkJCQkoZXZhbCBgKGdldGYgY3RneSAsKGZvcm1hdCBuaWwg
In5BIg0KCQkJCQkJCSAgIChnZXRyICopKSkpKSkNCgkgKHNheSAobGlzdCAi
YCIgKGdldHIgKikgIiciKSkpDQogICAgIChyY2FsbCBnc3RyaW5nIChnZXRh
IGVuZCkgKGdldGEgYmVnKSAoc2VuZHIgYmVnIChnZXRhIGJlZykpDQoJICAg
IChzYXkgIlxgIikgcmVnIChzYXkgIlwnIikgKHRvIGducC9lbmQpKQ0KICAg
ICAodG8gKGdjYXQgIyEoKGZpbmQgKGNsYXNzLSBhbnQtICEgZm9yYWxsKSB+
KGdldHIgKikpKSkNCgkgKGFuZCAoc25lcHM6aXN2YXIubiAoZ2V0ciAqKSkN
CgkgICAgICAjISgoZmluZCAoY2xhc3MtIGFudC0gISBmb3JhbGwpIH4oZ2V0
ciAqKSkpKQ0KCSAoc2F5ICJldmVyeSIpKQ0KICAgICAoY2FsbCBncyAqIChw
cm9wb3NpdGlvbnAgKGdldHIgKikpDQoJICAgOzsgQW4gZW1iZWRkZWQgcHJv
cG9zaXRpb24NCgkgICAoc2VuZHIgZW1iZWRkZWQgdCkNCgkgICAoc2VuZHIg
bW9kKQ0KCSAgIChzYXkgInRoYXQiKSAqDQogICAgICAgICAgICh0byBnbnAv
ZW5kKSkNCiAgICAgKGNhbGwgZ3MgKGZpbmQtaWYgIydwcm9wb3NpdGlvbnAg
IyEoKGZpbmQgKGVxdWl2LSAhIGVxdWl2KSB+KGdldHIgKikpKSkNCgkgICAo
YW5kIChudWxsIChnZXRyIGxvY2FsZGVzY3IpKQ0KCQkoZmluZC1pZiAjJ3By
b3Bvc2l0aW9ucCAjISgoZmluZCAoZXF1aXYtICEgZXF1aXYpIH4oZ2V0ciAq
KSkpKSkNCgkgICA7OyBBbiBlbWJlZGRlZCBwcm9wb3NpdGlvbg0KCSAgIChz
YXkgInRoYXQiKSAqDQogICAgICAgICAgICh0byBnbnAvZW5kKSkNCiAgICAg
KHJjYWxsIGducCAjISgoZmluZCAocG9zc2Vzc29yLSAhIG9iamVjdCkgfihn
ZXRyICopKSkNCgkgICAgIyEoKGZpbmQgKHBvc3Nlc3Nvci0gISBvYmplY3Qp
IH4oZ2V0ciAqKSkpDQoJICAgIChzZW5kciBwb3NzIHQpDQoJICAgIHJlZyAo
c2V0ciBudW0gJ3NpbmcpICh0byBnY2F0IChnZXRhIHJlbCAoZ2V0YSBvYmpl
Y3QtKSkpKQ0KICAgICAodG8gKGdkZWZjYXQgDQoJICAoYmVzdC1jbGFzcw0K
CSAgICMhKCgtIChmaW5kIGNsYXNzLSAoZmluZGFzc2VydCBtZW1iZXIgfihn
ZXRyICopKSkgfihnZXRyIHRvcGNsKSkpKSkNCgkgIyEoKC0gKGZpbmQgKGNs
YXNzLSAhIG1lbWJlcikgfihnZXRyICopKSB+KGdldHIgdG9wY2wpKSkpDQoJ
CQkJCTsgQSBkZWYgb3IgaW5kZWYgbnAuDQoJCQkJCTsgQnV0IGRvbid0IHNh
eSAiYSA8Y2w+IGlzIGEgPGNsPi4iDQogICAgICkNCg0KKGdzdHJpbmcgKHRv
IChnbnAvZW5kKSAob3ZlcmxhcCAqIGJlZykgKHNheSAoZ2V0YSB3b3JkICop
KSkNCgkgKHJjYWxsIGdzdHJpbmcgKGdldGEgcHJlZCkgKGdldGEgcHJlZCkg
KHNlbmRyIGJlZykNCgkJcmVnIChzYXkgKGdldGEgd29yZCAqKSkgKHRvIGdu
cC9lbmQpKSkNCg0KKGdkZWZjYXQgKGp1bXAgZ2RlZmNhdDEgdA0KCSAgICAg
ICAoc2V0ciBtZW1zDQoJCSAgICAgKHJlbW92ZS1lcXVpdnMNCgkJCSAjISgo
ZmluZCBtZW1iZXItDQoJCQkJICAoZmluZGFzc2VydCBjbGFzcyB+KGdldHIg
KikpKSkpKSkpDQooZ2RlZmNhdDEgKGp1bXAgZ2NhdCAob3IgKGF0b20gKGdl
dHIgbWVtcykpIChsaXNwOlw9IChsZW5ndGggKGdldHIgbWVtcykpIDEpKQ0K
CQkoc2F5ICJ0aGUiKQ0KCQkoc2F5IChnZXRyIGFkaikpKQ0KCSAgKGp1bXAg
Z2NhdCAobGlzcDo+IChsZW5ndGggKGdldHIgbWVtcykpIDEpDQoJCShzYXkg
ImEiKQ0KCQkoc2F5IChnZXRyIGFkaikpKSkNCg0KKGdjYXQgKHRvIChnbnAv
ZW5kKSAoZ2V0YSBsZXgpIChzYXkgKHdvcmRpemUgKGdldHIgbnVtKSAoZ2V0
YSBsZXggKikpKSkNCiAgICAgICh0byAoZ2NhdCAoZ2V0YSBjbGFzc2hlYWQp
KSAoZ2V0YSBjbGFzc21vZCkgDQoJICAoc2F5IChnZXRhIGxleCAoZ2V0YSBj
bGFzc21vZCAqKSkpKSkNCg0KKGducC9lbmQgKHBvcCBuaWwgdCkpDQoNCihm
bHVzaCAgICA7OyBmbHVzaCB0aGUgcmVzdCBvZiB0aGUgc2VudGVuY2UgYW5k
IHBvcA0KICh0byAoZmx1c2gpIHQpDQogKHBvcCBuaWwgdCkpDQoNCg==

---559023410-851401618-1084667599=:22512--

From rapaport@cse.Buffalo.EDU  Mon May 17 09:08:03 2004
Received: from castor.cse.Buffalo.EDU (rapaport@localhost [127.0.0.1])
	by castor.cse.Buffalo.EDU (8.12.10/8.12.10) with ESMTP id i4HD82Gr006521;
	Mon, 17 May 2004 09:08:02 -0400 (EDT)
Received: (from rapaport@localhost)
	by castor.cse.Buffalo.EDU (8.12.10/8.12.9/Submit) id i4HD82Lu006520;
	Mon, 17 May 2004 09:08:02 -0400 (EDT)
Date: Mon, 17 May 2004 09:08:02 -0400 (EDT)
From: "William J. Rapaport" <rapaport@cse.Buffalo.EDU>
Message-Id: <200405171308.i4HD82Lu006520@castor.cse.Buffalo.EDU>
To: rapaport@cse.Buffalo.EDU, vbrao@cse.Buffalo.EDU
Subject: Re: Source files - grammar and lexicon - for brachet demo
Status: R
Content-Length: 175

Thanks Vik--both for the files and your work, as well as for
your kind words.  I look forward to the full report, but, more
importantly, I wish you well at the U of R!

-Bill

