From owner-sc22wg5@open-std.org  Mon Jan  5 12:00:27 2009
Return-Path: <owner-sc22wg5@open-std.org>
X-Original-To: sc22wg5-dom7
Delivered-To: sc22wg5-dom7@www2.open-std.org
Received: by www2.open-std.org (Postfix, from userid 521)
	id 428CBC178E0; Mon,  5 Jan 2009 12:00:27 +0100 (CET)
X-Original-To: sc22wg5@open-std.org
Delivered-To: sc22wg5@open-std.org
Received: from gloin.rl.ac.uk (gloin.rl.ac.uk [130.246.135.201])
	by www2.open-std.org (Postfix) with ESMTP id 6903DC178DE
	for <sc22wg5@open-std.org>; Mon,  5 Jan 2009 12:00:20 +0100 (CET)
X-RAL-MFrom: <John.Reid@stfc.ac.uk>
X-RAL-Connect: <jkr.cse.rl.ac.uk [130.246.9.202]>
Received: from jkr.cse.rl.ac.uk (jkr.cse.rl.ac.uk [130.246.9.202])
	by gloin.rl.ac.uk (8.12.11.20060308/8.12.11) with ESMTP id n05AxUYO014680
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Mon, 5 Jan 2009 10:59:30 GMT
Received: from [127.0.0.1] (localhost.localdomain [127.0.0.1])
	by jkr.cse.rl.ac.uk (8.12.10/8.12.8) with ESMTP id n05AxUEf018773;
	Mon, 5 Jan 2009 10:59:30 GMT
Message-ID: <4961E812.9050601@stfc.ac.uk>
Date: Mon, 05 Jan 2009 10:59:30 +0000
From: John Reid <John.Reid@stfc.ac.uk>
Reply-To: John.Reid@stfc.ac.uk
Organization: Rutherford Appleton Laboratory
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20060209 Fedora/1.7.12-1.1.2.legacy
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: WG5 <sc22wg5@open-std.org>
Subject: Result letter ballot 5 on technical content of N1761
Content-Type: multipart/mixed;
 boundary="------------070200040809010602010909"
X-CCLRC-SPAM-report: -1.44 : ALL_TRUSTED
X-Scanned-By: MIMEDefang 2.61 on 130.246.135.201
Sender: owner-sc22wg5@open-std.org
Precedence: bulk

This is a multi-part message in MIME format.
--------------070200040809010602010909
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

WG5,

Here is a draft of the paper that gives the results of the ballot on the 
technical content of N1761. Please let me know at once if I have omitted
your ballot or not included it correctly.

Happy New Year!

John.

--------------070200040809010602010909
Content-Type: application/unknown;
 name="N1766-1.txt"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
 filename="N1766-1.txt"

ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElTTy9JRUMgSlRDMS9T
QzIyL1dHNSBOMTc2Ni0xCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgCiAgICAgICAgICBSZXN1bHQgbGV0dGVyIGJhbGxvdCA1IG9uIHRl
Y2huaWNhbCBjb250ZW50IG9mIE4xNzYxCgogICAgICAgICAgICAgICAgICAgICBKb2huIFJl
aWQsIDUgSmFudWFyeSAyMDA5CgpUaGlzIGlzIHJlc3VsdCBvZiB0aGUgbGV0dGVyIGJhbGxv
dCAoTjE3NjMpIHRoYXQgV0c1IGFncmVlZCB0byBob2xkIGluIAp2aWV3IG9mIHRoZXJlIGJl
aW5nIGluc3VmZmljaWVudCB0aW1lIGluIFRva3lvIHRvIGRpc2N1c3MgdGhlIHRlY2huaWNh
bCAKY29udGVudCBvZiB0aGUgVFIgb24gIkZ1cnRoZXIgSW50ZXJvcGVyYWJpbGl0eSBvZiBG
b3J0cmFuIHdpdGggQyIuIAoKV0c1IG1lbWJlcnMgd2VyZSBhc2tlZCB0byBhbnN3ZXIgdGhl
IGZvbGxvd2luZyBxdWVzdGlvbiAiRG8geW91IGFwcHJvdmUgCm9mIHRoZSB0ZWNobmljYWwg
Y29udGVudCBvZiBOMTc2MT8iIGluIG9uZSBvciBtb3JlIG9mIHRoZXNlIHdheXMgKGl0IGlz
IAphY2NlcHRhYmxlIHRvIGNob29zZSBib3RoIDIgYW5kIDMpLiAKCjEpIFllcy4KMikgWWVz
LCB3aXRoIGNvbW1lbnRzLgozKSBZZXMsIGV4Y2VwdCB3aXRoIE9QVElPTkFMIGR1bW15IGFy
Z3VtZW50cyBpbiBpbnRlcm9wZXJhYmxlIGludGVyZmFjZXMgCiAgIHJlbW92ZWQsIHdpdGgg
Y29tbWVudHMuCjQpIE5vLCB3aXRoIGNvbW1lbnRzIChjb21tZW50cyByZXF1aXJlZCkuCjUp
IEFic3RhaW4uCgpUaGUgdm90ZXMgd2VyZSBhcyBmb2xsb3dzOgoKMSkgWWVzLgogICBSYXNt
dXNzZW4KCjIpIFllcywgd2l0aCBjb21tZW50cy4KICAgU255ZGVyCgozKSBZZXMsIGV4Y2Vw
dCB3aXRoIE9QVElPTkFMIGR1bW15IGFyZ3VtZW50cyBpbiBpbnRlcm9wZXJhYmxlIGludGVy
ZmFjZXMgCiAgIHJlbW92ZWQsIHdpdGggY29tbWVudHMuCgo0KSBObywgd2l0aCBjb21tZW50
cyAoY29tbWVudHMgcmVxdWlyZWQpLgogICAgIEJhZGVyCiAgICAgQ2hpdmVycwogICAgIE1h
Y2xhcmVuCiAgICAgUmVpZAogICAgIFNsZWlnaHRob2xtZQogICAgIFhpYQoKNSkgQWJzdGFp
bi4KICAgICBNb3JnYW4KCgpUaGUgZm9sbG93aW5nIGNvbW1lbnRzIHdlcmUgc3VibWl0dGVk
OgoKLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KClNueWRlcgoKQSBDIGRlc2Ny
aXB0b3IgaGFzIGEgZmxhZyB0aGF0IGluZGljYXRlcyB3aGV0aGVyIGEgcG9pbnRlciBpcyBv
ciBpcyBub3QgYXNzb2NpYXRlZC4gIApJdCdzIG5vdCBhbHdheXMgcG9zc2libGUgdG8gdGVs
bC4gIEl0IGlzIGFsd2F5cyBwb3NzaWJsZSB0byB0ZWxsIHdoZXRoZXIgYSBwb2ludGVyIApp
cyBvciBpcyBub3QgZGlzYXNzb2NpYXRlZC4KCldoZW5ldmVyICJ0eXBlIiBpcyB1c2VkIGl0
IHNob3VsZCBiZSBjbGVhciB3aGV0aGVyIGl0J3MgQyB0eXBlIG9yIEZvcnRyYW4gdHlwZS4g
IApJdCdzIG5vdCBleHBsaWNpdCwgYW5kIHRoZXJlZm9yZSBub3QgY2xlYXIsIGluIGEgZmV3
IHBsYWNlcy4KClRoZSAic20iIGNvbXBvbmVudCBvZiBhIENGSV9kaW1fdCBzdHJ1Y3QgaXMg
c3BlY2lmaWVkIHRvIGJlIG1lYXN1cmVkIGluIGJ5dGVzLiAgClRoaXMgc2hvdWxkIGJlIGlu
IHByb2Nlc3Nvci1kZXBlbmRlbnQgdW5pdHMuCgpJbiB0aGUgZm91cnRoIHBhcmFncmFwaCBv
ZiB0aGUgIkFzc3VtZWQtc2hhcGUsIC4uLiIgc2VjdGlvbiwgc2hvdWxkbid0IGl0IGJlIHBv
c3NpYmxlIAp0byBkZWFsbG9jYXRlIGEgcG9pbnRlciBvYmplY3Q/CgouLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLgoKQmFkZXIKClJlZmVyZW5jZXM6CgpmdHA6Ly9mdHAubmFn
LmNvLnVrL3NjMjJ3ZzUvTjE3NTEtTjE4MDAvTjE3NjEudHh0Cmh0dHA6Ly9qMy1mb3J0cmFu
Lm9yZy9kb2MvbWVldGluZy8xODYvMDgtMjk1LnR4dAoKCk15IHJlc3BvbnNlIGlzICJOTywg
d2l0aCBjb21tZW50cyIuIFRoZSBjb21tZW50cyBhcmUgcHJvdmlkZWQKYmVsb3cgaW4gdGhl
IGZvcm0gb2YgYSBsaXN0IG9mIGlzc3VlcywgZXhhbXBsZXMgYW5kIHN1Z2dlc3Rpb25zLgpU
aGUgbWluaW11bSByZXF1aXJlZCB0byBtYWtlIG1lIHNheSBZRVMgaXM6CiogSXNzdWVzIDEs
IDIsIDQgYW5kIDYgbXVzdCBiZSBmaXhlZC4gSXNzdWUgNCBtYXkgYmUgcmVnYXJkZWQgYXMg
YQogIHNob3dzdG9wcGVyIGJ5IHRob3NlIGZyb20gdGhlIE1QSSBGb3J1bSB3aG8gcmVxdWly
ZSBleGlzdGluZwogIGluZnJhc3RydWN0dXJlIHRvIGJlIHByZXNlcnZlZCwgd2hpbGUgcHJv
dmlkaW5nIGltcHJvdmVkIEZvcnRyYW4KICBpbnRlcmZhY2VzLiAKCgpJc3N1ZSAxIC0gbWlz
c2luZyBleGFtcGxlcyBmb3IgdXNhZ2Ugb2YgZGVzY3JpcHRvcnM6Cn5+fn5+fn5+fn5+fn5+
fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgpJJ3ZlIHRyaWVkIHRv
IHN1cHBseSBvbmUgd2hpY2ggY291bGQgYmUgYWRkZWQgdG8gdGhlIGRyYWZ0OyBpdCBpcyBh
bHNvIHVzZWQKaGVyZSB0byBpbGx1c3RyYXRlIGZ1cnRoZXIgVFIgaXNzdWVzLgoKCkV4YW1w
bGUgMToKCgpDIGNhbGxpbmcgYSBGb3J0cmFuIGltcGxlbWVudGF0aW9uCgptb2R1bGUgbW9k
X2ZvbwogIHVzZSwgaW50cmluc2ljIDo6IGlzb19jX2JpbmRpbmcKICB0eXBlLCBiaW5kKGMp
IDo6IGZvbwogICAgaW50ZWdlcihjX2ludCkgOjogaQogICAgcmVhbChjX2Zsb2F0KSA6OiBy
KDMpCiAgICBjaGFyYWN0ZXIoY19pbnQpIDo6IGMKICBlbmQgdHlwZQpjb250YWlucwogIHN1
YnJvdXRpbmUgY29uc3RydWN0X2Zvbyh0aGlzLCBuLCBpLCByLCBjKSBiaW5kKGMpCiEgICBi
aW5kKGMpIGV4dGVuZGVkIGZvciBUUjI5MTEzIAogICAgdHlwZShmb28pLCBhbGxvY2F0YWJs
ZSwgaW50ZW50KG91dCkgOjogdGhpcyg6KQogICAgaW50ZWdlcihjX2ludCksIGludGVudChp
bikgOjogbiwgaShuKQogICAgcmVhbChjX2Zsb2F0KSwgaW50ZW50KGluKSA6OiByKDMsIG4p
CiAgICBjaGFyYWN0ZXIoY19jaGFyKSwgaW50ZW50KGluKSA6OiBjKG4pCiAgICA6ICEgY29k
ZSBmb3IgY29uc3RydWN0aW5nIHRoaXMKICBlbmQgc3Vicm91dGluZQplbmQgbW9kdWxlCgpD
IGNsaWVudCBjb2RlOgoKI2luY2x1ZGUgPElTT19Gb3J0cmFuX2JpbmRpbmcuaD4KCi8qIGlu
dGVyZmFjZSAqLwoKdm9pZCBjb25zdHJ1Y3RfZm9vKHZvaWQgKiwgaW50LCBpbnQgKiwgZmxv
YXQgKiwgY2hhciAqKTsgCgovKiBtYXRjaGluZyB0eXBlIGRlZmluaXRpb24gKi8KCnR5cGVk
ZWYgc3RydWN0IHsKICBpbnQgaTsKICBmbG9hdCByWzNdOwogIGNoYXIgYzsKfSBGb287Cgpp
bnQgbWFpbigpIHsKICBDRklfZGVzY190ICpteV9kZXNjOyAKICB0eXBlIEZvbyAqYXJyYXlf
ZWxlbTsgCiAgaW50IDo6IGlzdGF0dXM7CiAgaW50IGlbNF0gPSB7IDEsIDIsIDMsIDQgfTsg
CiAgZmxvYXQgcls0XVszXSA9IHsgeyAxLjAsIDEuMSwgMS4yIH0sIHsgMi4wLCAyLjEsIDIu
MiB9LCAKICAgICAgICAgICAgICAgICAgICB7IDMuMCwgMy4xLCAzLjIgfSwgeyA0LjAsIDQu
MSwgNC4yIH0gfTsKICBjaGFyIGNbNF0gPSB7ICdhJywgJ2InLCAnYycsICdkJyB9OwoKICBt
eV9kZXNjID0gKENGSV9kZXNjX3QgKikgbWFsbG9jKHNpemVvZihDRklfZGVzY190KSk7CiAg
bXlfZGVzYy0+YmFzZV9hZGRyID0gTlVMTDsKICBteV9kZXNjLT5lbGVtX2xlbiA9IHNpemVv
ZihGb28pOyAvKiBtYXkgbmVlZCBGb3J0cmFuIGNhbGwgdG8gQ19TSVpFT0YgaWYgdW5rbm93
biAqLwogIG15X2Rlc2MtPnJhbmsgPSAxOwogIG15X2Rlc2MtPnR5cGUgPSBDRklfdHlwZV9z
dHJ1Y3Q7CiAgbXlfZGVzYy0+YXR0cmlidXRlID0gQ0ZJX2F0dHJpYnV0ZV9hbGxvY2F0YWJs
ZTsKICBteV9kZXNjLT5zdGF0ZSA9IDA7CiAgbXlfZGVzYy0+ZmRlc2MgPSBOVUxMOwoKICBp
c3RhdHVzID0gQ0ZJX3VwZGF0ZV9mZGVzYyhteV9kZXNjKTsgLyogbWFrZSBhdHRyaWJ1dGVz
IGtub3duIHRvIHByb2Nlc3NvciAqLwogIGNvbnN0cnVjdF9mb28obXlfZGVzYy0+ZmRlc2Ms
IDQsIGksIHIsIGMpOwogIGlzdGF0dXMgPSBDRklfdXBkYXRlX2NkZXNjKG15X2Rlc2MpOyAv
KiB1cGRhdGUgYXR0cmlidXRlcyBmb3IgQyBwcm9ncmFtICovCgoKLyogYWxpZ24gM3JkIGVs
ZW1lbnQgdG8gQyBzY2FsYXIgb2YgbWF0Y2hpbmcgdHlwZS4KICAgKGZvciBjb250aWd1b3Vz
IEZvcnRyYW4gYXJyYXlzIG9uZSBjb3VsZCBhbHNvIGFsaWduIGEgQyBhcnJheSkgKi8KICBh
cnJheV9lbGVtID0gKEZvbyAqKShiYXNlX2FkZHIgKyAyICogc2l6ZW9mKEZvbykpOwoKICBw
cmludGYoIkNoYXJhY3RlciBjb21wb25lbnQgb2YgM3JkIGVsZW1lbnQ6ICVzXG4iLGFycmF5
X2VsZW0tPmMpOwoKICBpc3RhdHVzID0gQ0ZJX2RlYWxsb2NhdGUobXlfZGVzYyk7CiAgZnJl
ZShteV9kZXNjKTsKICAKfQoKCklzc3VlIDIgLSBwb2x5bW9ycGhpc20gb2YgYXNzdW1lZC10
eXBlIGVudGl0eToKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+
fn5+fgoKU2luY2Ugbm8gY2hhbmdlcyB0byB0aGUgZGVmaW5pdGlvbiBvZiBDX0xPQygpIGhh
dmUgYmVlbiBpbnRyb2R1Y2VkLCBhbmQgCnRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBjYXN0
IGFuIG9iamVjdCBvZiBUWVBFKCopIHRvIGEgdXNhYmxlIHR5cGUsIHRoZSAKdGV4dCBiZWdp
bm5pbmcgaW4gbGluZSA5MiBvZiBOMTc2MSBzaG91bGQgYmUgcmVwbGFjZWQgYnkKCiJJbiB0
aGUgYXNzb2NpYXRpb24gb2YgYWN0dWFsIGFuZCBkdW1teSBhcmd1bWVudHMsIGFuIGFzc3Vt
ZWQtdHlwZQogZHVtbXkgYXJndW1lbnQgaXMgdHlwZSBhbmQga2luZCBjb21wYXRpYmxlIHdp
dGggYSBub24tcG9seW1vcnBoaWMgCiBhY3R1YWwgZGF0YSBhcmd1bWVudCBvZiBhbnkgdHlw
ZS4iCgoKSXNzdWUgMyAtIGludGVyZmFjZSBvZiBDRklfaXNfY29udGlndW91czoKfn5+fn5+
fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgpJJ2Qgc3VnZ2VzdCAKCl9C
b29sIENGSV9pc19jb250aWd1b3VzKGNvbnN0IENGSV9jZGVzY190ICopCgphbmQgaGF2ZSBp
dCByZXR1cm4gZmFsc2UgaWYgYSBkeW5hbWljIG9iamVjdCBpcyBub3QgYWxsb2NhdGVkLiBU
aGUgCnR5cGljYWwgdXNhZ2Ugd291bGQgdGhlbiBiZSBtb3JlIGNvbmNpc2U6CgppZiAobXlk
ZXNjLT5zdGF0ZSAmJiBDRklfaXNfY29udGlndW91cyhteWRlc2MpKSAuLi4KCgpJc3N1ZSA0
IC0gcmFuayBtYXRjaGluZyBmb3IgZ2VuZXJpY3M6Cn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+
fn5+fn5+fn5+fn5+fn5+CgpUaGUgZXhhbXBsZSBwcm92aWRlZCBpbiBsaW5lIDU1Mi01NzUg
b2YgTjE3NjEgaXMgbm90IGNvbmZvcm1pbmcsIHNpbmNlIApvbiBvZiB0aGUgdXNlcyBvZiB0
aGUgaW50ZXJmYWNlIGNvbnRyYXZlbmVzIHAyOTAsIHBhcmEgMTMgb2YgdGhlIEYyMDA4IApk
cmFmdCBzdGFuZGFyZCAwOC0wMDdyMiwgd2hpY2ggZGlzYWxsb3dzIG1hdGNoaW5nIG9mIGFj
dHVhbCBhcmd1bWVudHMKb2YgYXJiaXRyYXJ5IHJhbmtzIHRvIHRoZSBhc3N1bWVkIHNpemUg
ZHVtbXkgb2YgcmFuayBvbmUgZm9yCmEgZ2VuZXJpYyBpbnRlcmZhY2UuCgpFaXRoZXIgb25l
IG11c3QgZ2l2ZSB1cCB1c2luZyBhIGdlbmVyaWMgaW50ZXJmYWNlLCBpbgp3aGljaCBjYXNl
IHR3byBzZXBhcmF0ZSBjYWxscyBtdXN0IGJlIHByb3ZpZGVkIGZvciB0aGUgc2NhbGFyIGFu
ZCAKYXJyYXkgYXJndW1lbnRzLCBvciBhIGZlYXR1cmUgbXVzdCBiZSBhZGRlZCB0byB0aGUg
bGFuZ3VhZ2Ugd2hpY2gKYWxsb3dzIHRvIHBhc3MgYW4gYXJndW1lbnQgb2YgYXJiaXRyYXJ5
IHJhbmsgYnkgYWRkcmVzcyAvIHNlcXVlbmNlCmFzc29jaWF0aW9uLgoKU3VnZ2VzdGlvbiAy
IGJlbG93IHRyaWVzIHRvIHByb3ZpZGUgYW4gZXh0ZW5zaW9uIHdoaWNoIHNvbHZlcyB0aGlz
CnByb2JsZW0uCgoKSXNzdWUgNSAtIFJBTksgaW50cmluc2ljOgp+fn5+fn5+fn5+fn5+fn5+
fn5+fn5+fn5+fgoKSXMgdGhpcyByZWFsbHkgbmVlZGVkIGNvbnNpZGVyaW5nIHdlIGFscmVh
ZHkgaGF2ZSBTSVpFKFNIQVBFKFgpKT8KCgpJc3N1ZSA2IC0gcmVmZXJlbmNpbmcgb3IgZGVm
aW5pbmcgYXNzdW1lZCByYW5rIGVudGl0aWVzOgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+
fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCldlIG5lZWQgc29tZSBydWxlcyB0
byBkZWFsIHdpdGggdGhpcy4gVW5sZXNzIHNvbWUgY2hlY2tzIApub3JtYWxseSBwZXJmb3Jt
ZWQgYXQgY29tcGlsZSB0aW1lIGFyZSBkZWZlcnJlZCB0byBydW4gdGltZSwKaW50cm9kdWNp
bmcgYSBTRUxFQ1QgUkFOSyBibG9jayBjb25zdHJ1Y3QgbWlnaHQgYmUgYXBwcm9wcmlhdGUu
IAoKCiAgcmVhbCwgZGltZW5zaW9uKDo6KSA6OiBhCiAgcmVhbCwgcG9pbnRlciA6OiBwKDop
CgogIHNlbGVjdCByYW5rIChhKQogICAgY2FzZSgwKSAKICAgICAgYSA9IDEuCiAgICBjYXNl
KDEpCiAgICAgIGEoOikgPSBbIC4uLiBdCiAgICBkZWZhdWx0CiAgICAgIC4uLiAhIG5vIHJl
ZmVyZW5jZXMgb3IgZGVmaW5pdGlvbnMgb2YgYSBhbGxvd2VkIGhlcmUKICBlbmQgc2VsZWN0
CgpJdCBtaWdodCBhbHNvIGJlIGZlYXNpYmxlIHRvIGFsbG93IGEgcG9pbnRlciBvZiByYW5r
IDEKdG8gcG9pbnQgYXQgc3VjaCBhbiBvYmplY3Q6CgogIHAgPT4gYQogIGlmIChpIDwgc2l6
ZShhKSkgdGhlbgogICAgLi4uID0gcChpKQogIGVuZCBpZgoKVGhpcyB3b3VsZCBob3dldmVy
IGltcGx5IGEgcmUtaW50ZXJwcmV0YXRpb24gb2Ygc2NhbGFyIGFjdHVhbHMgCmFzIHJhbmsg
MSBlbnRpdGllcyBvZiBzaXplIDEuCgoKSXNzdWUgNyAtIG5vbi1pbnRlcm9wZXJhYmxlIHR5
cGVzOgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoKV2hpbGUgSSd2ZSBo
ZWFyZCBpdCBzYWlkIHRoYXQgY292ZXJhZ2Ugb2Ygbm9uLWludGVyb3BlcmFibGUgdHlwZXMg
CndhcyBub3QgdGhlIHB1cnBvc2Ugb2YgdGhpcyBUUiwgSSB3b25kZXIgd2hldGhlciB0aGlz
IGlzIG5vdCAKaW1wbGljaXRseSBhbHJlYWR5IGNvbnRhaW5lZCwgYXQgbGVhc3QgZm9yIG5v
bi1pbnRlcm9wZXJhYmxlCmVudGl0aWVzIHdpdGggZm9sbG93aW5nIHByb3BlcnRpZXM6Cgoq
IG5vbi1wb2x5bW9ycGhpYywgbm9uLXNlcXVlbmNlCiogYWxsb2NhdGFibGUgb3IgcG9pbnRl
ciB0eXBlIGNvbXBvbmVudHMKKiB1bHRpbWF0ZSB0eXBlIGNvbXBvbmVudHMgb2YgaW50ZXJv
cGVyYWJsZSBpbnRyaW5zaWMgdHlwZQpBc3N1bWVkLXNoYXBlL2Fzc3VtZWQtcmFuay9hbGxv
Y2F0YWJsZS9wb2ludGVyLCBzY2FsYXJzIGFuZCBhcnJheXMgb2YgCnRoaXMgdHlwZSB3b3Vs
ZCBiZSBhY2NlcHRhYmxlIGFzIGR1bW15IGFyZ3VtZW50cywgYmFzZWQgb24gdGhlIApleGlz
dGluZyBjYXBhYmlsaXRpZXMgb2YgdGhlIGRlc2NyaXB0b3JzLgpbc2luY2UgQklORCBpcyBu
b3QgYSBjaGFyYWN0ZXJpc3RpYyBvZiBhIGR1bW15IGFyZ3VtZW50LCAKIG5vcm1hbCBzY2Fs
YXJzIG1heSBiZSBhIHByb2JsZW0uIFNpbmNlIGFsbG9jYXRhYmxlIHNjYWxhcnMgb3IKIHBv
aW50ZXIgc2NhbGFycyBjYW4gYmUgdXNlZCwgaXQgaXMgbm90IHJlYWxseSBhIGJpZyBwcm9i
bGVtLl0KClNvLCBpZiB0aGUgdHlwZSBkZWZpbml0aW9uIGZyb20gZXhhbXBsZSAxIGFib3Zl
IHdlcmUgcmVwbGFjZWQgYnkKCiAgdHlwZSA6OiBmb28KICAgIGludGVnZXIoY19pbnQpIDo6
IGkKICAgIHJlYWwoY19mbG9hdCksIGFsbG9jYXRhYmxlIDo6IHIoOikKICAgIGNoYXJhY3Rl
cihjX2ludCkgOjogYwogIGVuZCB0eXBlCgp0aGUgdW5wYWNraW5nIHByb2Nlc3MgaW4gQyB3
b3VsZCBuZWVkIHRvIHVzZSBhIHR5cGUgZGVmaW5pdGlvbgoKdHlwZWRlZiBzdHJ1Y3Qgewog
IGludCBpOwogIHZvaWQgKmZkZXNjOwogIGNoYXIgYzsKfSBGb287CgpPbmNlIGFuIG9iamVj
dCBvZiB0aGlzIHR5cGUgaXMgbWFwcGVkIHRvIGFuIGFycmF5IGVsZW1lbnQsIGVpdGhlcgpD
RklfdXBkYXRlX2NkZXNjKCkgY2FuIGJlIHVzZWQgdG8gYWNjZXNzIHRoZSB0eXBlIGNvbXBv
bmVudCwgb3IKKGlmIFN1Z2dlc3Rpb24gMSBiZWxvdyBpcyBhZG9wdGVkKSwgdGhlIENGSV9j
cmVhdGVfZGVzYygpIGNvbnN0cnVjdG9yCndpdGggYSBub24tTlVMTCBsYXN0IGFyZ3VtZW50
LgoKW0lmIHR5cGUgZmllbGRzIGFuZCBkdW1teSBhcmd1bWVudHMgdXNlIGRpZmZlcmVudCBk
ZXNjcmlwdG9ycywgaXQgbWF5CmJlIG5lY2Vzc2FyeSB0byBpbnRyb2R1Y2UgYW5vdGhlciBj
b21wb25lbnQgb2YgQ0ZJX2Rlc2NfdCwgc2F5CnRmX2Rlc2MuXQoKCklzc3VlIDggLSBDIHZh
cmlhYmxlIGFyZ3VtZW50IGxpc3RzOgp+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+
fn5+fn4KCndpdGggdGhlIGNoYW5nZXMgaW50cm9kdWNlZCBpbiAwOC0yOTUgaXQgc2hvdWxk
IG5vdyBhbHNvIGJlIHBvc3NpYmxlCnRvIHByb3ZpZGUgc3VwcG9ydCBmb3IgdmFyYXJnIGlu
dGVyZmFjZXMgYnkgbWF0Y2hpbmcgdG8gc3BlY2lmaWNzIG9mCmEgRm9ydHJhbiBnZW5lcmlj
IGludGVyZmFjZS4gVGhlIG9ubHkgb2JzdHJ1Y3Rpb24gdG8gdGhpcyB3b3VsZCBiZQpkZWFs
aW5nIHdpdGggY19jaGFyIGFyZ3VtZW50czsgdGhpcyBob3dldmVyIG1pZ2h0IGFsc28gYmUg
c29sdmVkIGJ5ClN1Z2dlc3Rpb24gMiBiZWxvdy4KCgpTdWdnZXN0aW9uIDEgKGRlc2lnbiBj
aGFuZ2UgaW50ZXJmYWNlIGNyZWF0aW9uKToKfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+
fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgpUaGlzIGlzIGFuIGF0dGVtcHQgdG8gZm9ybXVsYXRl
IGFuIGFsdGVybmF0aXZlIHRvIHRoZSBkZXNjcmlwdG9yIHVzYWdlIAooYW5kLCB0byBhIGxl
c3NlciBleHRlbnQsIGRlc2lnbikgZGVzY3JpYmVkIGluIE4xNzYxLiBUaGUgaWRlYSBpcyB0
bwoqIGltcHJvdmUgcHJvcGVyIHNlcGFyYXRpb24gb2YgY29uY2VybnMKKiByZXF1aXJlIHRo
ZSBwcm9jZXNzb3IgdG8gYXV0by1nZW5lcmF0ZSBjb2RlIHdoaWNoIHVuZGVyIHRoZSAKICBw
cmVzZW50IHByb3Bvc2FsIG11c3QgYmUgaW5zZXJ0ZWQgbWFudWFsbHksIGFuZCB0aGVyZWJ5
IGltcHJvdmUKICB1c2FiaWxpdHkuCkFmdGVyIGEgZmlyc3QgZGVzY3JpcHRpb24gSSdsbCBh
dHRlbXB0IHRvIGlsbHVzdHJhdGUgdGhlIGFkdmFudGFnZXMgCmNvbXBhcmVkIHRvIE4xNzYx
IHZpYSBleGFtcGxlIHByb2dyYW1zLgoKU2luY2UgdGhlIGF0dHJpYnV0ZXMgcHJlc2VudGx5
IG5vdCBzdXBwb3J0ZWQgZm9yIGludGVyb3BlcmFibGUgcHJvY2VkdXJlCmFyZ3VtZW50cyAo
YXNzdW1lZCBzaGFwZSwgcG9pbnRlciwgYWxsb2NhdGFibGUsIGFuZCBwZXJoYXBzIGFsc28K
bm9uLWludGVyb3BlcmFibGUgdHlwZXMpIGFyZSBjaGFyYWN0ZXJpc3RpY3MsIHRoZSBwcm9j
ZXNzb3IgaXMgaW4gcHJpbmNpcGxlIApjYXBhYmxlIG9mIGRpc2FtYmlndWF0aW5nIGludGVy
ZmFjZXMgdXNpbmcgdGhlc2UgZmVhdHVyZXMgZnJvbSB0aG9zZSAKcHJldmlvdXNseSBhdmFp
bGFibGUgZm9yIEMgaW50ZXJvcGVyYXRpb24uIEhlbmNlIEkgZG8gbm90IGNvbnNpZGVyIGl0
IApuZWNlc3NhcnkgdG8gcHJvdmlkZSBhIHNlcGFyYXRlIGF0dHJpYnV0ZSB3aXRoIHRoZSBC
SU5EIHN0YXRlbWVudC4KCihBKSBDIGNhbGxpbmcgYSBGb3J0cmFuIGltcGxlbWVudGF0aW9u
OgoKVGhlIG1hdGNoaW5nIEMgaW50ZXJmYWNlIGlzIHJlcGxhY2VkIGJ5IGFuIGF1dG8tZ2Vu
ZXJhdGVkIG1hcHBlZCBDIAppbnRlcmZhY2UuIEZvciBleGFtcGxlIDEsIHRoaXMgd291bGQg
YmUKCiAgICAgdm9pZCBjb25zdHJ1Y3RfZm9vKENGSV9kZXNjX3QgKiwgaW50LCBpbnQgKiwg
ZmxvYXQgKiwgY2hhciAqKTsgCgpJdCB3b3VsZCBiZSB0aGUgcmVzcG9uc2liaWxpdHkgb2Yg
dGhlIHByb2Nlc3NvciB0byAKKiBnZW5lcmF0ZSBhIGxvY2FsIG5hbWUgYnkgd2hpY2ggdGhl
IHByb2NlZHVyZSBuYW1lIGlzIGtub3duIGluIEZvcnRyYW4KKiBnZW5lcmF0ZSBhIGdsb2Jh
bCBuYW1lIGJhc2VkIG9uIHRoZSBkZWZhdWx0IGxhYmVsIG9mIHRoZSBGb3J0cmFuIGVudGl0
eSwgdW5sZXNzCiAgYSBiaW5kaW5nIGxhYmVsIGlzIHNwZWNpZmllZC4KICAoVGhlc2UgdHdv
IGl0ZW1zIGNvdWxkIGJlIGhhbmRsZWQgYW5hbG9nb3VzbHkgdG8gdGhlIHRyZWF0bWVudCBv
ZiBGb3J0cmFuCiAgZXh0ZXJuYWwgcHJvY2VkdXJlcyB3aXRoIG5vIGJpbmRpbmcgbGFiZWwg
KDA4LTI5NSkpLgoqIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSB3cmFwcGVyIHdoaWNoIHBl
cmZvcm1zIGFueSB1cGRhdGVzIGNvdmVyZWQgYnkKICBDRklfdXBkYXRlX2ZkZXNjIGluIHRo
ZSBwcmVzZW50IGRlc2lnbiwgdW53cmFwcyB0aGUgZW50aXR5IENGSV9kZXNjX3QKICBhbmQg
aGFuZHMgb24gdGhlIEZvcnRyYW4gZGVzY3JpcHRvciBmaWVsZCB0byB0aGUgRm9ydHJhbi1s
b2NhbCBwcm9jZWR1cmUKICBjYWxsLiBBIGRpcmVjdCBjYWxsIGZyb20gRm9ydHJhbiB0byB0
aGUgZ2xvYmFsIEMgbmFtZSBpcyBub24tY29uZm9ybWluZwogIHNpbmNlIG5vIHR5cGUgbWF0
Y2hpbmcgQ0ZJX2Rlc2NfdCBpcyBhdmFpbGFibGUgd2l0aGluIEZvcnRyYW47IHRoZSBwcm9j
ZXNzb3IKICBzaG91bGQgcHJldmVudCBhbiBpbnRlcmZhY2UgYXR0ZW1wdGluZyB0aGlzIGZy
b20gYmVpbmcgY3JlYXRlZC4KKiBhZnRlciByZXR1cm4gZnJvbSB0aGUgRm9ydHJhbi1sb2Nh
bCBwcm9jZWR1cmUgcGVyZm9ybXMgYW55IHVwZGF0ZXMgd2hpY2gKICBhcmUgY292ZXJlZCBi
eSBDRklfdXBkYXRlX2NkZXNjIGluIHRoZSBwcmVzZW50IGRlc2lnbi4KCkl0IGlzIGZ1cnRo
ZXIgc3VnZ2VzdGVkIHRvIHByb3ZpZGUgYSBjb25zdHJ1Y3RvciAoYW5kIGFzc29jaWF0ZWQg
ZGVzdHJ1Y3RvcikgCmZ1bmN0aW9uIGZvciB0aGUgZGVzY3JpcHRvciBpdHNlbGYgd2hpY2gg
aGFzIGFzIGl0cyBhcmd1bWVudHMgdGhvc2UgZW50aXRpZXMgCnRoZSBwcm9ncmFtbWVyIGlz
IHJlc3BvbnNpYmxlIGZvci4gVGhlIGNhbGwgdG8gdGhlIGNvbnN0cnVjdG9yIHdvdWxkIHJl
cGxhY2UKdGhlIHNpbXBsZSBtYWxsb2MoKSBhbmQgdGhlIGltbWVkaWF0ZWx5IGZvbGxvd2lu
ZyBmaWVsZCBzZXR0aW5ncyBpbiB0aGUgCmV4YW1wbGUgMSBhYm92ZS4gVGhlIG5lY2Vzc2Fy
eSBjcmVhdGlvbiBvZiB0aGUgZmRlc2MgZmllbGQgc2hvdWxkIGFsc28gYmUgCnBlcmZvcm1l
ZCBpbiB0aGlzIGNvbnN0cnVjdG9yIHVubGVzcyBhIG5vbi1OVUxMIHZhbHVlIGlzIHN1cHBs
aWVkIGluIHRoZSBsYXN0CmFyZ3VtZW50LCByZXBsYWNpbmcgdGhpcyBmdW5jdGlvbmFsaXR5
IGluIENGSV91cGRhdGVfZmRlc2MoKS4gSWYgYSBub24tTlVMTAp2YWx1ZSBpZiBwcm92aWRl
ZCBmb3IgZmRlc2MsIGEgY29uc2lzdGVudCBDIGRlc2NyaXB0b3IgaXMgY3JlYXRlZCwgaWdu
b3JpbmcKdGhlIG90aGVyIGFyZ3VtZW50cy4gSGVyZSB0aGUgaW50ZXJmYWNlczoKCiAgICAg
Q0ZJX2Rlc2NfdCAqQ0ZJX2NyZWF0ZV9kZXNjKHNpemVfdCBlbGVtX2xlbiwgaW50IHJhbmss
IGludCB0eXBlLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGF0dHJp
YnV0ZSwgdm9pZCAqZmRlc2MpOwogICAgIHZvaWQgQ0ZJX2Rlc3Ryb3lfZGVzYyhDRklfZGVz
Y190ICpjZGVzYywgX0Jvb2wgZGVzdHJveV9mZGVzYyk7CgphbmQgdHdvIGNvbnN0YW50cyBm
b3IgcmVhZGFiaWxpdHk6CgogICAgIENGSV9kZXN0cm95X2ZkZXNjIChfQm9vbCB3aXRoIHZh
bHVlIHRydWUpCiAgICAgQ0ZJX2tlZXBfZmRlc2MgICAgKF9Cb29sIHdpdGggdmFsdWUgZmFs
c2UpCgpJbiBjb250cmFzdCB0byBzdGF0aWNhbGx5IGRldGVybWluZWQgRm9ydHJhbiBjb2Rl
IHRoZSBjb25zdHJ1Y3RvciBzZXRzIHRoZQphdHRyaWJ1dGUsIHR5cGUgYW5kIHJhbmsgb2Yg
YW4gb2JqZWN0IGF0IHJ1biB0aW1lLiAgCkRvIHdlIG9ibGlnZSB0aGUgcHJvY2Vzc29yIHRv
IHVwZGF0ZSB0aGlzIGluZm9ybWF0aW9uIGlmIGluY29uc2lzdGVudCB3aXRoIHRoZQpkZWZp
bmVkIEZvcnRyYW4gaW50ZXJmYWNlPyAKQWxsIG90aGVyIHR5cGUgZmllbGRzIG9mIGEgQ0ZJ
X2Rlc2NfdCBvYmplY3Qgc2hvdWxkIG5vdCBiZSBleHBsaWNpdGx5IHNldCBieQp0aGUgdXNl
ciwgZXhjZXB0IGZvciBvdGhlciBjYWxscyB0byB0aGUgcHJvY2Vzc29yLWRlZmluZWQgcm91
dGluZXMuClRoZSBBUEkgY2FsbHMgQ0ZJX3VwZGF0ZV9mZGVzYygpIGFuZCBDRklfdXBkYXRl
X2NkZXNjKCkgc2hvdWxkIGJlIHJlbW92ZWQuCgpUaGUgbmV0IGFtb3VudCBvZiBmdW5jdGlv
biBjYWxsIG92ZXJoZWFkIHdvdWxkIHN0YXkgdGhlIHNhbWUsIGJ1dCB1c2FiaWxpdHkgCmlz
IGltcHJvdmVkIGF0IGxlYXN0IGZvciB0aGUgcmVhbCBpbnRlci1sYW5ndWFnZSBjYXNlLiAK
CgpUaGUgQyBtYWluKCkgb2YgZXhhbXBsZSAxIGFib3ZlIHdvdWxkIHRodXMgcmVhZAoKaW50
IG1haW4oKSB7CiAgQ0ZJX2Rlc2NfdCAqbXlfZGVzYzsgCiAgdHlwZSBGb28gKmFycmF5X2Vs
ZW07IAogIGludCA6OiBpc3RhdHVzOwogIGludCBpWzRdID0geyAxLCAyLCAzLCA0IH07IAog
IGZsb2F0IHJbNF1bM10gPSB7IHsgMS4wLCAxLjEsIDEuMiB9LCB7IDIuMCwgMi4xLCAyLjIg
fSwgCiAgICAgICAgICAgICAgICAgICAgeyAzLjAsIDMuMSwgMy4yIH0sIHsgNC4wLCA0LjEs
IDQuMiB9IH07CiAgY2hhciBjWzRdID0geyAnYScsICdiJywgJ2MnLCAnZCcgfTsKCiAgbXlf
ZGVzYyA9IENGSV9jcmVhdGVfZGVzYyhzaXplb2YoRm9vKSwgMSwgQ0ZJX3R5cGVfc3RydWN0
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0ZJX2F0dHJpYnV0ZV9hbGxvY2F0YWJs
ZSwgTlVMTCk7CgogIGNvbnN0cnVjdF9mb28obXlfZGVzYywgNCwgaSwgciwgYyk7CgovKiBh
bGlnbiAzcmQgZWxlbWVudCB0byBDIHNjYWxhciBvZiBtYXRjaGluZyB0eXBlLgogICAoZm9y
IGNvbnRpZ3VvdXMgRm9ydHJhbiBhcnJheXMgb25lIGNvdWxkIGFsc28gYWxpZ24gYSBDIGFy
cmF5KSAqLwogIGFycmF5X2VsZW0gPSAoRm9vICopKGJhc2VfYWRkciArIDIgKiBzaXplb2Yo
Rm9vKSk7CgogIHByaW50ZigiQ2hhcmFjdGVyIGNvbXBvbmVudCBvZiAzcmQgZWxlbWVudDog
JXNcbiIsYXJyYXlfZWxlbS0+Yyk7CgogIGlzdGF0dXMgPSBDRklfZGVhbGxvY2F0ZShteV9k
ZXNjKTsKICBDRklfZGVzdHJveV9kZXNjKG15X2Rlc2MsIENGSV9kZXN0cm95X2ZkZXNjKTsK
ICAKfQoKCihCKSBGb3J0cmFuIGNhbGxpbmcgYSBDIGltcGxlbWVudGF0aW9uOgoKVGhlIHdy
YXBwZXIgZ2VuZXJhdGVkIGZyb20gdGhlIGludGVyZmFjZQoqIHBhY2tzIHVwIHRoZSBGb3J0
cmFuIGRlc2NyaXB0b3IgaW50byBhIEMgZGVzY3JpcHRvciB1cG9uIGNhbGwgdG8gdGhlCiAg
bG9jYWwgRm9ydHJhbiBuYW1lLCB3aGljaCBpcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBm
b3IgdGhpcyBwdXJwb3NlCiogZXhlY3V0ZXMgdGhlIEMgcm91dGluZQphbmQgb25jZSB0aGUg
QyByb3V0aW5lIGhhcyBmaW5pc2hlZAoqIHVwZGF0ZXMgdGhlIEZvcnRyYW4gZGVzY3JpcHRv
ciwgYW5kIHRoZW4gZGVhbGxvY2F0ZXMgdGhlIEMgZGVzY3JpcHRvciAKICB3aXRob3V0IGRl
c3Ryb3lpbmcgdGhlIEZvcnRyYW4gZGVzY3JpcHRvci4gUnVuIHRpbWUgY2hlY2tzIG1heSBi
ZSAKICByZXF1aXJlZCB0byBhc3N1cmUgbm8gaW5jb21wYXRpYmlsaXRpZXMgd2l0aCBzdGF0
aWNhbGx5IGRlZmluZWQKICBwcm9wZXJ0aWVzIGhhdmUgYmVlbiBpbnRyb2R1Y2VkLgoKSXQg
aXMgbm90IGludGVuZGVkIHRoYXQgdGhlIEZvcnRyYW4gbG9jYWwgbmFtZSBiZSBkZXJlZmVy
ZW5jZWQgZnJvbSBDLgpBIEMgcHJvZ3JhbSBjYWxsaW5nIHRoZSBDIGludGVyZmFjZSAodW50
eXBpY2FsKSB3b3VsZCBuZWVkIHRvIHBlcmZvcm0KdGhlIGNvbnN0cnVjdGlvbiBhbmQgYWxs
b2NhdGlvbiwgZGVhbGxvY2F0aW9uIGFuZCBkZXN0cnVjdGlvbiBvZiBkZXNjcmlwdG9ycyAK
bWFudWFsbHkgYmVmb3JlIGFuZCBhZnRlciB0aGUgY2FsbCwgcmVzcGVjdGl2ZWx5LgoKQXMg
YW4gZXhhbXBsZSwgc3VwcG9zZSB3ZSB3ZXJlIHRvIGltcGxlbWVudCBhIG1vZGVybiBNUEkg
SW50ZXJmYWNlLgoKRXhhbXBsZSAyOgoKbW9kdWxlIG1waQogIHVzZSwgaW50cmluc2ljIDo6
IGlzb19jX2JpbmRpbmcKICBpbXBsaWNpdCBub25lCiAgcHJpdmF0ZQohIHZhcmlvdXMgQyBp
bnRlcm9wZXJhYmxlIG9wYXF1ZSB0eXBlIGRlZmluaXRpb25zIG5vdCBzaG93biBoZXJlCiAg
cHVibGljIDo6IG1waV9zZW5kCiAgaW50ZXJmYWNlCiAgICBzdWJyb3V0aW5lIG1waV9zZW5k
KGJ1ZiwgZGF0YXR5cGUsIGVsZW1fc2l6ZSwgZGVzdCwgdGFnLCBjb21tLCBpZXJyb3IpIGJp
bmQoYykKICAgICAgdHlwZSgqKSwgZGltZW5zaW9uKC4uKSwgY29udGlndW91cywgaW50ZW50
KGluKSA6OiBidWYgCiAgICAgIHR5cGUobXBpX2RhdGF0eXBlKSwgaW50ZW50KGluKSA6OiBk
YXRhdHlwZQogICAgICBpbnRlZ2VyKGNfc2l6ZV90KSwgb3B0aW9uYWwsIGludGVudChpbikg
OjogZWxlbV9zaXplCiAgICAgIGludGVnZXIoY19pbnQpLCBpbnRlbnQoaW4pIDo6IGRlc3Qs
IGllcnJvcgogICAgICBpbnRlZ2VyKGNfc2l6ZV90KSwgb3B0aW9uYWwsIGludGVudChpbikg
OjogdGFnCiAgICAgIHR5cGUobXBpX2NvbW0pLCBpbnRlbnQoaW4pIDo6IGNvbW0KICAgIGVu
ZCBzdWJyb3V0aW5lCiAgZW5kIGludGVyZmFjZQplbmQgbW9kdWxlCgpUaGUgQyBpbXBsZW1l
bnRhdGlvbiBjb3VsZCBsb29rIHNvbWV0aGluZyBsaWtlIHRoaXM6CgojaW5jbHVkZSA8SVNP
X0ZvcnRyYW5fYmluZGluZy5oPgoKdm9pZCBtcGlfc2VuZChDRklfZGVzY190ICpidWYsIE1Q
SV9GdHlwZSAqZGF0YXR5cGUsIHNpemVfdCAqZWxlbV9zaXplLCAKICAgICAgICAgICAgICBp
bnQgKmRlc3QsIHNpemVfdCAqdGFnLCBNUElfQ29tbSAqY29tbSwgaW50ICppZXJyb3IpIHsK
ICBpbnQgbG9jYWxfc2l6ZSA9IDA7IC8qIGJ5dGVzICovCiAgaW50IGk7CiAgdm9pZCAqbG9j
YWxfYnVmOwogIGlmIChidWYtPnN0YXRlID09IDApIHsKICAgICAqaWVycm9yID0gLi4uOyAv
KiBtYXkgd2FudCB0byBzZW5kIGxlbmd0aCAwIGJ1ZmZlcj8gKi8KICAgICByZXR1cm47CiAg
fQogIGlmIChNUElfRnR5cGUtPk1QSV9EYXRhdHlwZSA9PSBNUElfSU5UKSBsb2NhbF9zaXpl
ID0gNDsKICBpZiAoTVBJX0Z0eXBlLT5NUElfRGF0YXR5cGUgPT0gTVBJX0ZMT0FUKSBsb2Nh
bF9zaXplID0gLi4uOwogIC8qIGV0Yy4gKi8KICBpZiAoZWxlbV9zaXplICE9IE5VTEwgJiYg
TVBJX0Z0eXBlLT5NUElfRGF0YXR5cGUgPT0gTVBJX0RFUklWRUQpIHsKICAgIGxvY2FsX3Np
emUgPSAqZWxlbV9zaXplOwogIH0KICBpZiAobG9jYWxfc2l6ZSA9PSAwKSB7CiAgICAgKmll
cnJvciA9IC4uLjsKICAgICByZXR1cm47CiAgfQogIGZvciAoaT0wOyBpPGJ1Zi0+cmFuaykg
ewogICAgbG9jYWxfY291bnQgKj0gYnVmLT5kaW1baV0tPmV4dGVudDsKICB9CiAgKmllcnJv
ciA9IE1QSV9TZW5kKGJ1Zi0+YmFzZV9hZGRyLCBsb2NhbF9jb3VudCwgTVBJX0JZVEUsICpk
ZXN0LCAqdGFnLCAqY29tbSk7Cn0KCnRoaXMgc2luZ2xlIGNhbGwgd291bGQgY292ZXIgCiog
c2NhbGFycyBhbmQgY29udGlndW91cyBhcnJheXMgb2YgYXJiaXRyYXJ5IHJhbmsgKGlzICJj
b250aWd1b3VzIiB1bmFtYmlndW91cyBoZXJlPykKKiBhbGwgaW50cmluc2ljIHR5cGVzIGRl
ZmluZWQgaW4gTVBJCiogYWxsIEMgaW50ZXJvcGVyYWJsZSB0eXBlcyAod2l0aCBhIHN0YXRp
YyB0eXBlIHN0cnVjdHVyZSwgYW5kIGluIGEgc2xpZ2h0bHkgCiAgbGVzcyBzYWZlIG1hbm5l
ciB0aGFuIHdoZW4gdXNpbmcgdGhlIE1QSSBkYXRhdHlwZSBjb25zdHJ1Y3RvcnMpCgpBIEMg
aW1wbGVtZW50YXRpb24gbWlnaHQgZm9yIGV4YW1wbGUgYmUgb2YgYWR2YW50YWdlIG92ZXIg
YSBGb3J0cmFuIG9uZSBpZiAKaXQgaXMgZWFzaWVyIHRvIG9idGFpbiBjZXJ0YWluIHR5cGUt
aW50ZXJuYWwgaW5mb3JtYXRpb24gZnJvbSBDIChlLmcuLCB0aGUKTVBJX0Z0eXBlLT5NUElf
RGF0YXR5cGUgZGVyZWZlcmVuY2VzKS4KCk5vdGUgdGhhdCB0aGlzIGFsc28gaWxsdXN0cmF0
ZXMgdGhhdCBPUFRJT05BTCBhcmd1bWVudHMgY2FuIGFsc28gYmUgaGFuZGxlZCBieQp0aGUg
d3JhcHBpbmcgcHJvY2VzcyAoaS5lLiwgbm9uLXByZXNlbnQgYXJndW1lbnRzIHdpbGwgYmUg
c2V0IE5VTEwgb24gdGhlIApjYWxsIHRvIHRoZSBDIGVudGl0eSkuIEluIHBhcnRpY3VsYXIs
IHRoZSBwcm9ibGVtIHdpdGggaGF2aW5nIHRoZSBjb21iaW5hdGlvbiAKb2YgT1BUSU9OQUwg
YW5kIFZBTFVFIChub3QgdXNlZCBpbiB0aGlzIGV4YW1wbGUpIGF0dHJpYnV0ZXMgdmFuaXNo
ZXMgKGZvcgpub24tY19wdHIgdHlwZXMgYSBjb252ZW50aW9uIG1heSBiZSBuZWVkZWQpLgoK
CgpTdWdnZXN0aW9uIDIgKGFkZCBhc3N1bWVkLXJhbmstYW5kLXNpemUpOgp+fn5+fn5+fn5+
fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoKaW4gYW5hbG9neSB0byBhc3N1bWVk
IHJhbmsgKERJTUVOU0lPTig6OikpLCB3aGljaCBvbmUgbWlnaHQgYWxzbyBjYWxsCmFzc3Vt
ZWQtcmFuay1hbmQtc2hhcGUsIGEgZHVtbXkgdmFyaWFibGUgY2FuIGJlIGRlY2xhcmVkIHdp
dGgKCnR5cGUoZm9vKSwgRElNRU5TSU9OKCoqKSA6OiBkdW1teQoKQSBjb3JyZXNwb25kaW5n
IGFjdHVhbCBhcmd1bWVudCB3aGljaCBpcyBlaXRoZXIgYSBzY2FsYXIgb3IgYW4gCmFyYml0
cmFyeSByYW5rIGFycmF5IG9mIHR5cGUgZm9vIHdvdWxkIG1hdGNoIHRoaXMgZHVtbXkgYXJn
dW1lbnQKYW5kIGl0IHdvdWxkIGJlIGFsbG93ZWQgdG8gaGF2ZSBleGFjdGx5IG9uZSBjb3Jy
ZXNwb25kaW5nIGR1bW15IHdpdGggdGhpcwphdHRyaWJ1dGUgaW4gYSBzcGVjaWZpYyBwcm9j
ZWR1cmUgb2YgYSBnZW5lcmljIGludGVyZmFjZSB3aGVuIGFsbCBvdGhlciBkdW1taWVzCmhh
dmUgdGhlIHNhbWUgY2hhcmFjdGVyaXN0aWNzLiAKVGhlIG9ubHkgYWxsb3dlZCBtZXRob2Qg
b2YgZGVyZWZlcmVuY2luZyBvciBkZWZpbmluZyBzdWNoIGFuIG9iamVjdCBmcm9tCndpdGhp
biBGb3J0cmFuIHdvdWxkIGJlIHZpYSBvbmUgZGltZW5zaW9uYWwgaW5kZXhpbmc6CgpkdW1t
eShpKSA9IC4uLgoKQSBCSU5EKEMpIGludGVyZmFjZSBtYXkgc3BlY2lmeSBkdW1teSBhcmd1
bWVudHMgdGhhdCBhcmUKYXNzdW1lZC1yYW5rLWFuZC1zaXplLiBJZiB0aGUgZHVtbXkgYXJn
dW1lbnQgaXMgYXNzdW1lZC1yYW5rLWFuZC1zaXplLAp0aGUgYWN0dWFsIGFyZ3VtZW50IGlz
IHBhc3NlZCBhcyBpdHMgQyBhZGRyZXNzLgoKT3RoZXJ3aXNlLCB0aGUgcmVzdHJpY3Rpb25z
IG9uIHRoaXMga2luZCBvZiBhcmd1bWVudCB3aWxsIGJlIGVzc2VudGlhbGx5IHRoZQpzYW1l
IGFzIHRob3NlIGZvciBhc3N1bWVkLXNpemUgZW50aXRpZXMuCgoKRXhhbXBsZSAyYTogZXh0
ZW5kaW5nIHRoZSBnZW5lcmljIGludGVyZmFjZSBvZiBleGFtcGxlIDEgZm9yIG9sZC1zdHls
ZSBjYWxscy4KCm1vZHVsZSBtcGkKICB1c2UsIGludHJpbnNpYyA6OiBpc29fY19iaW5kaW5n
CiAgaW1wbGljaXQgbm9uZQogIHByaXZhdGUKISB2YXJpb3VzIEMgaW50ZXJvcGVyYWJsZSBv
cGFxdWUgdHlwZSBkZWZpbml0aW9ucyBub3Qgc2hvd24gaGVyZQogIHB1YmxpYyA6OiBtcGlf
c2VuZAogIGludGVyZmFjZQogICAgc3Vicm91dGluZSBtcGlmX3NlbmQoYnVmLCBjb3VudCwg
ZGF0YXR5cGUsIGRlc3QsIHRhZywgY29tbSwgaWVycm9yKSAmCiAgICAgICAgICAgICAgICAg
ICAgICAgIGJpbmQoYywgbmFtZT0nTVBJRl9TZW5kJykKICAgICAgdHlwZSgqKSwgZGltZW5z
aW9uKCoqKSwgaW50ZW50KGluKSA6OiBidWYgCiAgICAgIGludGVnZXIoY19pbnQpIDo6IGRh
dGF5cGUsIGRlc3QsIHRhZywgY29tbSwgaWVycm9yCiAgICBlbmQgc3Vicm91dGluZQogICAg
c3Vicm91dGluZSBtcGlfc2VuZChidWYsIGRhdGF0eXBlLCBlbGVtX3NpemUsIGRlc3QsIHRh
ZywgY29tbSwgaWVycm9yKSBiaW5kKGMpCiAgICAgIHR5cGUoKiksIGRpbWVuc2lvbiguLiks
IGNvbnRpZ3VvdXMsIGludGVudChpbikgOjogYnVmIAogICAgICB0eXBlKG1waV9kYXRhdHlw
ZSksIGludGVudChpbikgOjogZGF0YXR5cGUKICAgICAgaW50ZWdlcihjX3NpemVfdCksIG9w
dGlvbmFsLCBpbnRlbnQoaW4pIDo6IGVsZW1fc2l6ZQogICAgICBpbnRlZ2VyKGNfaW50KSwg
aW50ZW50KGluKSA6OiBkZXN0LCBpZXJyb3IKICAgICAgaW50ZWdlcihjX3NpemVfdCksIG9w
dGlvbmFsLCBpbnRlbnQoaW4pIDo6IHRhZwogICAgICB0eXBlKG1waV9jb21tKSwgaW50ZW50
KGluKSA6OiBjb21tCiAgICBlbmQgc3Vicm91dGluZQogIGVuZCBpbnRlcmZhY2UKZW5kIG1v
ZHVsZQoKTm90ZSBob3dldmVyIHRoYXQgdGhlIGllcnJvciBhcmd1bWVudCBpcyBzdGlsbCBG
b3J0cmFuLXN0eWxlLCBzbyBhIGRpcmVjdCAKbWFwcGluZyB0byB0aGUgQyBNUElfU2VuZCBy
b3V0aW5lIGlzIG5vdCBwb3NzaWJsZS4gV2l0aCB0aGUgb2xkLXN0eWxlIGNhbGwsCmRlcml2
ZWQgZGF0YXR5cGVzIG11c3QgYmUgZGVhbHQgd2l0aCB2aWEgdGhlIE1QSSBkYXRhdHlwZSBj
b25zdHJ1Y3Rpb24Kcm91dGluZXM7IGFwYXJ0IGZyb20gdGhhdCB0aGUgc2FtZSBmdW5jdGlv
bmFsaXR5IGlzIGF2YWlsYWJsZSBhcyBmb3IgdGhlCm5ldyBjYWxsLCBvbmx5IGluIGEgc2xp
Z2h0bHkgbGVzcyB0eXBlLXNhZmUgbWFubmVyLgoKCkFkZGl0aW9uYWwgbm90ZXM6CgoqIHBy
b2Nlc3Npbmcgb2YgQyBpbnRlcm9wZXJhYmxlIHN0cmluZyBlbnRpdGllcyB3b3VsZCBiZSBz
dHJhaWdodGZvcndhcmQgdXNpbmcKICB0aGlzLCBtYWtpbmcgdGhlIHNwZWNpYWwgcnVsZSBp
bnRyb2R1Y2VkIGZvciB0aGlzIGNhc2UgaW4gRjIwMDMgc3VwZXJmbHVvdXMuCiogdGhlIGFk
ZGVkIGJvbnVzIGlzIHRoYXQgdGhpcyBhbHNvIHN1cHBvcnRzIHVzaW5nIGNoYXJhY3RlciBh
cmd1bWVudHMgaW4KICBnZW5lcmljIGludGVyZmFjZXMuCiAKLi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4KCkNoaXZlcnMKCk15IG1ham9yIGNvbmNlcm4gaXMgdGltaW5nLiBU
aGUgZW1waGFzaXMgc2hvdWxkIGJlCm9uIGdldHRpbmcgdGhlIGZpbmFsIGNkIG91dCBhcyBz
b29uIGFzIHBvc3NpYmxlLgoKLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KICAg
ICAKTWFjbGFyZW4KCjEuIENvbW1lbnRzIG9uIE4xNzYxCi0tLS0tLS0tLS0tLS0tLS0tLS0t
CgogICAgMSkgSXQgaXMgdW5jbGVhciB3aGF0IGl0IGlzIHByb3Bvc2luZyBmb3Igbm9ybWF0
aXZlIHRleHQsIHByb3Bvc2luZwpmb3IgaW5mb3JtYXRpdmUgdGV4dCwgb3IgbWVyZWx5IGlu
Y2x1ZGluZyBhcyBkaXNjdXNzaW9uLiAgSW4gc29tZSBjYXNlcywKaXQgaXMgaGFyZCB0byB3
b3JrIG91dCBleGFjdGx5IHdoYXQgaXQgaXMgcHJvcG9zaW5nLgoKSXQgc2hvdWxkIGJlIHJl
ZHJhZnRlZCB0byBiZSBtdWNoIGNsb3NlciB0byB0aGUgSVNPL0lFQyBEaXJlY3RpdmVzLCBQ
YXJ0CjIsIFJ1bGVzIGZvciB0aGUgc3RydWN0dXJlIGFuZCBkcmFmdGluZyBvZiBJbnRlcm5h
dGlvbmFsIFN0YW5kYXJkcwood2hpY2ggYWxzbyBhcHBsaWVzIHRvIFRlY2huaWNhbCBSZXBv
cnRzKS4KCgogICAgMikgSXRzIG92ZXJhbGwgZGVzaWduIGlzIHNlcmlvdXNseSBsaW1pdGVk
LCB3aWxsIGNhdXNlIGRpZmZpY3VsdHkKZm9yIHNvbWUgaW1wbGVtZW50YXRpb25zIGluIG1h
bnkgd2F5cyAod2hpY2ggaXMgYXQgdGhlIGhlYXJ0IG9mIHRoZQpPUFRJT05BTCBjb250cm92
ZXJzeSksIGFuZCBkb2VzIG5vdCBhbGxvdyBmb3IgZnV0dXJlIHN0YW5kYXJkIG9yCnByb2Nl
c3NvciBleHRlbnNpb24uICBJdCBhbHNvIGRvZXMgbm90IHN1cHBvcnQgdGhlIG1vc3QgaW1w
b3J0YW50CnJlcXVpcmVkIGludGVyb3BlcmFiaWxpdHkgYXNwZWN0cyAoZS5nLiAoYSkgYmVs
b3cpLgoKRm9yIHRoZXNlIHJlYXNvbnMsIEkgdGhpbmsgdGhhdCBpdCBuZWVkcyBhIHJlZGVz
aWduLCBzdGFydGluZyBmcm9tIGEKbXVjaCBtb3JlIGNsZWFybHkgc3RhdGVkIHNldCBvZiBv
YmplY3RpdmVzLiAgSW4gcGFydGljdWxhciwgdGhvc2UKb2JqZWN0aXZlcyBzaG91bGQgaW5j
bHVkZSBhdCBsZWFzdDoKCiAgICAgICAgYSkgdGhlIGFiaWxpdHkgdG8gY2FsbCB0aGUgTVBJ
IHRyYW5zZmVyIGZ1bmN0aW9ucyB3aXRoIGFycmF5cwpvZiBpbnRlcm9wZXJhYmxlIGRlcml2
ZWQgdHlwZXMgYXMgY2hvaWNlIGFyZ3VtZW50czsKCiAgICAgICAgYikgdG8gYXZvaWQgaW50
cm9kdWNpbmcgdW5uZWNlc3NhcnkgcmVzdHJpY3Rpb25zIGFuZCBhcnRpZmljaWFsCmRpc3Rp
bmN0aW9ucyBiZXR3ZWVuIEZvcnRyYW4gZmVhdHVyZXMuICBGb3IgZXhhbXBsZSwgdGhlIGN1
cnJlbnQgcHJvcG9zYWwKYWxsb3dzIGZvciB0aGUgcGFzc2luZyBvZiBhc3N1bWVkLXNoYXBl
IGFycmF5cyBidXQgbm90IGFzc3VtZWQtbGVuZ3RoCkNIQVJBQ1RFUiwgYW5kIHJlcXVpcmVz
IGVudGlyZWx5IHNlcGFyYXRlIGNvZGUgdG8gaGFuZGxlIGV4cGxpY2l0LXNoYXBlCmFuZCBh
c3N1bWVkLXNoYXBlIGFycmF5czsKCiAgICAgICAgYykgdG8gYmUgYXQgbGVhc3QgcG90ZW50
aWFsbHkgZXh0ZW5zaWJsZSB0byBpbnRlcmZhY2luZyB3aXRoIHRoZQpDIHZhcmlhYmxlIGFy
Z3VtZW50IGxpc3QgbWVjaGFuaXNtLCBvciB0aGUgbWFueSBsYW5ndWFnZXMgdGhhdCB1c2Ug
YQpkeW5hbWljIHR5cGUgc3lzdGVtOwoKICAgICAgICBkKSB0byBhdCBsZWFzdCBwb3RlbnRp
YWxseSBwZXJtaXQgdGhlIGNvbXBhbmlvbiBwcm9jZXNzb3IgdG8gYmUKYSBkZWJ1Z2dpbmcg
dG9vbCAocHJlZmVyYWJseSBwYXNzaW5nIG9iamVjdCBib3VuZHMgYWNyb3NzIHRoZSBpbnRl
cmZhY2UKZm9yIGFsbCBhcmd1bWVudHMpOwoKICAgICAgICBlKSB0byBhdCBsZWFzdCBwb3Rl
bnRpYWxseSBwZXJtaXQgaW50ZXJmYWNpbmcgd2l0aCBsYW5ndWFnZXMKdGhhdCBkbyBub3Qg
aGF2ZSBjb21wYXRpYmxlIGNhbGxpbmcgc2VxdWVuY2VzIHRvIEZvcnRyYW4gKGUuZy4gdGhl
eQp1c2UgZGlmZmVyZW50IGxpbmthZ2UgcmVnaXN0ZXJzKS4KClBsZWFzZSBub3RlIHRoYXQg
dGhlc2Ugb2JqZWN0aXZlcyBhcmUgTk9UIGltcHJhY3RpY2FibGU7IGJvdGggb2YgKGMpIGFu
ZAooZCkgdXNlZCB0byBiZSBjb21tb24sIGFuZCBJIGhhdmUgaW1wbGVtZW50ZWQgKGUpIG1v
cmUgdGhhbiBvbmNlLgoKCiAgICAzKSBUaGVyZSBhcmUgc29tZSBzZXJpb3VzIGRlc2lnbiBm
bGF3cyBhbmQgZGVmaW5pdGUgZXJyb3JzIGluIHRoZQpkZXRhaWxzLCBtYW55IG9mIHdoaWNo
IGFyZSB0byBkbyB3aXRoIGl0cyB1c2Ugb2YgQywgYW5kIEkgYXBwZW5kIHNvbWUgb2YKdGhl
bSBpbiB0ZXh0IChub3QgaW1wb3J0YW5jZSkgb3JkZXIuCgpCZWNhdXNlIG9mIHBvaW50ICgx
KSwgdGhlc2UgY29tbWVudHMgYXJlIG5lY2Vzc2FyaWx5IGluY29tcGxldGUsIG9mdGVuCmdl
bmVyYWwgcmF0aGVyIHRoYW4gc3BlY2lmaWMsIGFuZCBJIGhhdmUgcHJvYmFibHkgbWlzc2Vk
IHNldmVyYWwKaW1wb3J0YW50IHRlY2huaWNhbCBpc3N1ZXMuCgoKICAgIDQpIFRoZSBzaW1w
bGVzdCBhbmQgY2xlYW5lc3Qgd2F5IG9mIHJlc29sdmluZyBtYW55IG9mIHRoZSBpc3N1ZXMg
aXMKdG8gZXh0ZW5kIHRoZSBCSU5EIGF0dHJpYnV0ZSBzbGlnaHRseSwgdG8gYWxsb3cgdGhl
IHByb2dyYW1tZXIgdG8gc2VsZWN0CmJldHdlZW4gdGhlIGN1cnJlbnQgaW50ZXJmYWNlIGFu
ZCBhIGRlc2NyaXB0b3ItYmFzZWQgb25lLCBhbG9uZyB0aGUKbGluZXMgb2Y6Cgpwcm9jLWxh
bmd1YWdlLWJpbmRpbmctc3BlYyBpcwogICAgQklORChDWyxNRVRIT0Q9YmluZGluZ19tZXRo
b2RdW05BTUU9c2NhbGFyLWNoYXItaW5pdGlhbGl6YXRpb24tZXhwcl0pCgpiaW5kaW5nX21l
dGhvZCBpcyBESVJFQ1QKICAgICAgICAgICAgICAgb3IgREVTQ1JJUFRPUgoKVGhlIGRlZmF1
bHQgaXMgRElSRUNULCBhbmQgaXMgd2hhdCB3ZSBoYXZlIGF0IHByZXNlbnQuCgpJIGhhdmUg
c3RhcnRlZCBkcmFmdGluZyBhIGRlc2lnbiwgYW5kIHdpbGwgY2lyY3VsYXRlIGl0IHNlcGFy
YXRlbHksIGJ1dApzaGFsbCBub3QgaGF2ZSB0aW1lIGZvciBtb3JlIHdvcmsgb24gaXQgYmVm
b3JlIGxhdGUgSmFudWFyeS4KCgoKICAgIDUpIFRoZSBVSydzIHJlcXVpcmVtZW50IGFnYWlu
c3QgTjE3NjMgZm9yIE1QSSBzdXBwb3J0IGFsc28gbmVlZHMKc3VwcG9ydCBmb3Igbm9uLWJs
b2NraW5nIGFuZCBvbmUtc2lkZWQgdHJhbnNmZXJzLCBpdCB3YXMgYW5zd2VyZWQgYnkKYmVp
bmcgcmVmZXJyZWQgdG8gdGhpcyBwcm9wb3NlZCBUZWNobmljYWwgUmVwb3J0LCBidXQgdGhl
cmUgaXMgbm90aGluZwpvbiB0aG9zZSBpbiBpdC4gIEkgYW0gcHJldHR5IHN1cmUgdGhhdCBp
dCBpcyBzdHJhaWdodGZvcndhcmQsIHRob3VnaAp0cmlja3kgdG8gcGhyYXNlLCBhbmQgaGF2
ZSBzdGFydGVkIGRyYWZ0aW5nIHNvbWUgcHJvcG9zYWxzLCBidXQgSSBkbyBub3QKaGF2ZSB0
aW1lIHRvIHdvcmsgb24gaXQgbm93LgoKCgoKMi4gREVTSUdOIEZMQVdTIEFORCBFUlJPUlMg
SU4gTjE3NjEKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgpJbnRyb2R1
Y3Rpb24KLS0tLS0tLS0tLS0tCgpJIGFzc3VtZSB0aGlzIHNlY3Rpb24gaXMgZW50aXJlbHkg
ZGlzY3Vzc2lvbi4KCgpPcHRpb25hbCBhcmd1bWVudHMKLS0tLS0tLS0tLS0tLS0tLS0tCgpJ
IGhhdmUgbm8gc3BlY2lhbCBjb21tZW50cyBvbiB0aGlzIHNlY3Rpb24sIGV4Y2VwdCB0byBu
b3RlIHRoYXQKZXhjbHVkaW5nIHRoZSBjb21iaW5hdGlvbiBvZiBPUFRJT05BTCBhbmQgVkFM
VUUgaXMgdGVjaG5pY2FsbHkKdW5uZWNlc3NhcnkuCgoKQXNzdW1lZC10eXBlIHZhcmlhYmxl
cwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpUaGVyZSBpcyBubyByZWFzb24gdG8gZXhjbHVk
ZSB0aGUgVkFMVUUgYXR0cmlidXRlLCBhcyB0aGUgQyBhcmd1bWVudCBpcwphIHBvaW50ZXIu
CgoKQXNzdW1lZC1yYW5rIHZhcmlhYmxlcwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpUaGVy
ZSBpcyBubyByZWFzb24gdG8gZXhjbHVkZSB0aGUgVkFMVUUgYXR0cmlidXRlLCBhcyB0aGUg
QyBhcmd1bWVudCBpcwphIHBvaW50ZXIuCgpJIGRvIG5vdCBrbm93IHdoYXQgdGhlIHdvcmRp
bmcgIkluIG90aGVyIHJlc3BlY3RzLCB0aGUgcnVsZXMgZm9yCmFzc3VtZWQtcmFuayBkdW1t
eSBhcmd1bWVudHMgYXJlIHNpbWlsYXIgdG8gdGhvc2UgZm9yIGFzc3VtZWQtc2hhcGUKYXJy
YXlzIiBtZWFucywgYW5kIHdoZXRoZXIgaXQgcHJvcG9zZXMgYW55IGNvbnN0cmFpbnRzIG9u
IGVpdGhlciB0aGUKcHJvY2Vzc29yIG9yIHByb2dyYW1tZXIuCgoKT2JqZWN0IERlc2NyaXB0
b3JzCi0tLS0tLS0tLS0tLS0tLS0tLQoKSSBhc3N1bWUgdGhpcyBzZWN0aW9uIGlzIGVudGly
ZWx5IGRpc2N1c3Npb24uCgoKRm9ydHJhbiBkZXNjcmlwdG9ycwotLS0tLS0tLS0tLS0tLS0t
LS0tCgpJdCBpcyB1bmNsZWFyIHdoeSB0aGlzIHNlY3Rpb24gaXMgcHJlc2VudCBhdCBhbGws
IGFzIGl0IGlzIHB1cmVseSBhYm91dAooZmFpcmx5IG9idmlvdXMpIGltcGxlbWVudGF0aW9u
IGRldGFpbHMuICBJIGFzc3VtZSB0aGF0IGl0IGlzIGVudGlyZWx5CmRpc2N1c3Npb24uCgoK
QyBkZXNjcmlwdG9ycwotLS0tLS0tLS0tLS0tCgpBICJwb2ludGVyIG9mIHR5cGUgdm9pZCIg
aXMgbWVhbmluZ2xlc3MgLSBDIGhhcyBubyBkYXRhIHR5cGUgInZvaWQiLgpUaGUgdGVybWlu
b2xvZ3kgc2hvdWxkIGJlIGZpeGVkLCBldmVyeXdoZXJlIHRoZSB3b3JkaW5nIGlzIHVzZWQu
CgoiVGhlIEMgZGVzY3JpcHRvciBpcyBhIHN0cnVjdCBvZiB0eXBlIENGSV9kZXNjX3QiIGlz
IGFtYmlndW91cy4gIElzIHRoZQp0eXBlICJzdHJ1Y3QgQ0ZJX2Rlc2NfdCIgKGFzICJzdHJ1
Y3QgdG0iIGluIHRpbWUuaCkgb3IgIkNGSV9kZXNjX3QiIChhcwoiZGl2X3QiIGluIHN0ZGxp
Yi5oKT8KClRoZSBkZXNpZ24gZG9lcyBub3Qgc3VwcG9ydCBBTExPQ0FUQUJMRSBhbmQgUE9J
TlRFUiBhcnJheXMgY2xlYW5seTsgaW4KcGFydGljdWxhciwgdGhlIEMgZGVzY3JpcHRvciBk
b2VzIG5vdCBjb250YWluIGVub3VnaCBpbmZvcm1hdGlvbiB0bwp1cGRhdGUgdGhlIHBvaW50
ZXIgdmFsdWUgY29ycmVjdGx5LiAgQ2hhbmdpbmcgdGhlIGJhc2UgYWRkcmVzcyBpbiB0aGUK
ZGVzY3JpcHRvciBhbG9uZSB3aWxsIE5PVCB3b3JrLgoKVGhlIHNwZWNpZmljYXRpb24gb2Yg
dGhlICJhdHRyaWJ1dGUiIGZpZWxkIGlzIGJyb2tlbi4gIEludGVyIGFsaWEsIGl0Cm1peGVz
IHR5cGUgcHJvcGVydGllcyB3aXRoIGF0dHJpYnV0ZXMsIGRvZXMgbm90IGFsbG93IGFzc3Vt
ZWQtc2hhcGUKYXJyYXlzIHRvIGJlIGFsbG9jYXRhYmxlIG9yIHBvaW50ZXJzLCBhbmQgbWFr
ZXMgbm8gcmVmZXJlbmNlIHRvCmFzc3VtZWQtcmFuay4gIEkgYW0gbm90IHN1cmUgZXhhY3Rs
eSB3aGF0IGl0IGlzIHByb3Bvc2luZywgb3Igd2h5LiAgSWYKaXQgaXMgbmVlZGVkLCBpdCBz
aG91bGQgc3BlY2lmeSB0aGUgYXR0cmlidXRlcyBhcyBiaXRzIGluIGEgbWFzay4KClRoZSBk
ZXNjcmlwdGlvbiBvZiB0aGUgInN0YXRlIiBmaWVsZCBpcyBiYWZmbGluZy4gIFdoeSBzaG91
bGQKYXNzdW1lZC1zaGFwZSBidXQgbm90IGFzc3VtZWQtcmFuayBiZSBpbmNsdWRlZCB0b2dl
dGhlciB3aXRoIGFzc29jaWF0ZWQKcG9pbnRlcnMgYW5kIGFsbG9jYWJsZSB2YXJpYWJsZXM/
ICBJIGFzc3VtZSB0aGF0IHRoZXJlIGlzIGFuIGVycm9yLCBidXQKYW0gbm90IHN1cmUgd2hh
dCBpdCBpcy4KCkl0IGlzIGNvbXBsZXRlbHkgdW5uZWNlc3NhcnkgZm9yICJkaW0iIHRvIGJl
IHNwZWNpZmllZCBvZiBiZWluZyBhIGZpeGVkCmxlbmd0aC4gIEMgaGFzIHRoZSBjb25jZXB0
IG9mIGEgZmxleGlibGUgYXJyYXkgbWVtYmVyIGFzIHRoZSBsYXN0CmVsZW1lbnQgb2YgYSBz
dHJ1Y3R1cmUgKEM5OSA2LjcuMi4xLCBwYXJhZ3JhcGggMTYpLiAgVGhhdCB3b3VsZCBlbmFi
bGUKYWxsIG9mIHRoZSByZWZlcmVuY2VzIHRvIENGSV9NQVhfUkFOSyB0byBiZSByZW1vdmVk
LgoKVGhlIHR5cGUgImludHB0cl90IiBpcyB1bnN1aXRhYmxlIGZvciBhcnJheSBpbmRleGlu
ZywgYXMgaXQgd2FzCmludHJvZHVjZWQgZm9yIGVudGlyZWx5IHNlcGFyYXRlIHB1cnBvc2Vz
LCBhbmQgY291bGQgYmUgdmVyeSBpbmVmZmljaWVudApvbiBzb21lIHN5c3RlbXMuICBGb3Ig
ZXhhbXBsZSwgb24gdGhlIElCTSBBUy80MDAgKGEgJ2NhcGFiaWxpdHknCnN5c3RlbSksIGl0
IHdvdWxkIG5lZWQgdG8gYmUgNjQgYnl0ZXMuICBXaXRoIHNvbWUgcmVhc29uYWJsZSBwYXJh
bGxlbAppbXBsZW1lbnRhdGlvbnMsIHBvaW50ZXJzIGFuZCBoZW5jZSBpbnRwdHJfdCB3b3Vs
ZCBpbmNsdWRlIHRoZQpwcm9jZXNzb3IvaW1hZ2UgaWRlbnRpZmllciAoZS5nLiBiZSAxNiBi
eXRlcywgb2Ygd2hpY2ggb25seSA4IHdhcwpyZWxldmFudCkuICAicHRyZGlmZl90IiBpcyBh
IGZhciBiZXR0ZXIgdHlwZSBmb3IgdGhlIHB1cnBvc2UuICBUaGlzCmlzc3VlIGFsc28gYXJp
c2VzIGluIHRoZSBuZXh0IHNlY3Rpb24uCgpUaGUgc3BlY2lmaWNhdGlvbiBtdXN0IHNheSB3
aGljaCBraW5kIG9mIEMgY29uc3RhbnRzIGFyZSBkZWZpbmVkIGluIHRoZQpmaWxlIElTT19G
b3J0cmFuX2JpbmRpbmcuaCwgYXMgQyBoYXMgc2V2ZXJhbCwgd2l0aCBkaWZmZXJlbnQgcHJv
cGVydGllcy4KVGhhdCB3b3VsZCBuZWVkIGNhcmVmdWwgZGVzaWduLiAgTW9zdCBvZiB0aGVt
IHNob3VsZCBiZSBwcmVwcm9jZXNzb3IKY29uc3RhbnRzIHN1aXRhYmxlIGZvciB1c2UgaW4g
I2lmIGRpcmVjdGl2ZXMsIGJ1dCBwZXJoYXBzIG5vdCBhbGwuCgpUaGUgdHlwZXMgbmVlZCB0
byBpbmNsdWRlIGEgbm9uLWludGVyb3BlcmFibGUgdHlwZSwgZm9yIHVzZSB3aXRoCmFzc3Vt
ZWQtdHlwZSBhcmd1bWVudHMuICBUaGUgZXhpc3Rpbmcgc3RhbmRhcmQgYWxyZWFkeSBhbGxv
d3MgdGhlbSB0byBiZQpwYXNzZWQgYmV0d2VlbiBGb3J0cmFuIGFuZCBDLgoKCkFzc3VtZWQt
c2hhcGUsIGFzc3VtZWQtcmFuaywgYWxsb2NhdGFibGUsIGRhdGEgcG9pbnRlciBhcmd1bWVu
dHMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQoKRm9yIHNvbWUgcmVhc29uLCB0aGlzIGNvbnRhaW5zIG1vc3Qgb2Yg
dGhlIGRlc2NyaXB0aW9uIG9mCklTT19Gb3J0cmFuX2JpbmRpbmcuaDsgdGhhdCBzaG91bGQg
YmUgZXh0cmFjdGVkIHRvIGEgc2VwYXJhdGUgc2VjdGlvbi4KClRoZSBzcGVjaWZpY2F0aW9u
IG9mIElTT19Gb3J0cmFuX2JpbmRpbmcuaCBpcyBzZXJpb3VzbHkgaW5jb21wbGV0ZS4KRm9y
IGV4YW1wbGUsIGl0IHNob3VsZCBiZSBzcGVjaWZpZWQgdG8gYmUgdW5pdGFyeSAoYXMgdGhl
IHN0YW5kYXJkIEMKaGVhZGVycyBhcmUpLgoKVGhlIGxldmVsIG9mIG5hbWVzcGFjZSBwb2xs
dXRpb24gbXVzdCBhbHNvIGJlIHNwZWNpZmllZCwgZm9yIGZ1dHVyZQplbmhhbmNlbWVudHMu
ICBUaGF0IGlzIHZlcnkgaW1wb3J0YW50IGZvciBDLgoKVGhlIGxheW91dCBvZiBDIHN0cnVj
dHVyZXMgaXMgdmVyeSBkZXBlbmRlbnQgb24gdGhlIGNvbXBpbGVyIG9wdGlvbnMuCkluIHRo
ZSBleGlzdGluZyBGb3J0cmFuIHN0YW5kYXJkLCB0aGUgcHJvY2Vzc29yIGNhbiAoaW4gdGhl
b3J5LCBhdApsZWFzdCkgcmVtYXAgc3RydWN0dXJlcy4gIEJlY2F1c2UgTjE3NjEgcHJvcG9z
ZXMgc3RydWN0dXJlcyB0byB1c2UgYXMKdGhlIGFjdHVhbCBpbnRlcmZhY2UgZGVzY3JpcHRv
cnMsIHRoYXQgaXMgbm90IGZlYXNpYmxlLiAgVGhlIG1hdHRlcgpuZWVkcyBjb25zaWRlcmF0
aW9uLgoKVGhlIGRlc2NyaXB0b3IgZnVuY3Rpb25zIGFyZSBpbXB1cmUgYW5kIHJldHVybiBh
biBlcnJvciBjb2RlIHRocm91Z2gKdGhlaXIgZnVuY3Rpb24gcmVzdWx0LiAgQmVjYXVzZSB0
aGV5IGFyZSBDIGludGVyZmFjZXMsIHRoYXQgaXMKcGxhdXNpYmxlLCBidXQgaXQgaXMgdW5k
ZXNpcmFibGUgdG8gdXNlIGEgc3BlY2lmaWNhdGlvbiB0aGF0IGNvbmZsaWN0cwp3aXRoIEZv
cnRyYW4ncyBjb252ZW50aW9ucy4gIEluIHBhcnRpY3VsYXIsIGl0IHdvdWxkIG9ic3RydWN0
IGEgdmVuZG9yCm9yIGZ1dHVyZSB2ZXJzaW9uIG9mIHRoZSBzdGFuZGFyZCBmcm9tIGRlZmlu
aW5nIHRoZW0gYXMgaW50ZXJvcGVyYWJsZQpwcm9jZWR1cmVzLiAgVGhhdCBvcHRpb24gc2hv
dWxkIGJlIGxlZnQgb3Blbi4KCkl0IHNlZW1zIHRoYXQgdGhlIGRlc2NyaXB0b3IgZnVuY3Rp
b25zIHVzZSB0aGUgc3VwcGxpZWQgZGVzY3JpcHRvcnMgYm90aAphcyB0aGUgc291cmNlIG9m
IGRhdGEgYW5kIHdoZXJlIHRoZXkgc3RvcmUgdGhlIHJlc3VsdHMsIGJ1dCB0aGV5IGRvIG5v
dApzcGVjaWZ5IHdoaWNoIGZpZWxkcyBtdXN0IGJlIHNldCBvbiBlbnRyeSBhbmQgd2hpY2gg
YXJlIHNldCBvbiBleGl0LiAgSXQKaXMgZXNzZW50aWFsIHRvIGZpeCB0aGF0IC0gb3IsIHBy
ZWZlcmFibHksIHVzZSBhIGNsZWFuZXIgaW50ZXJmYWNlLgoKQ0ZJX3VwZGF0ZV9mZGVzYyBp
cyBzcGVjaWZpZWQgdG8gdXNlIG1hbGxvYywgYnV0IHRoYXQgaXMgYW4gdW5yZWFzb25hYmxl
CnJlc3RyaWN0aW9uIG9uIGFuIGltcGxlbWVudGF0aW9uOyB0aGUgcmVxdWlyZW1lbnQgc2hv
dWxkIGJlIHJlbW92ZWQuCgpDRklfYWxsb2NhdGUgc2F5cyAiVGhlIHN1cHBsaWVkIGJvdW5k
cyBvdmVycmlkZSBhbnkgY3VycmVudCBkaW1lbnNpb24KaW5mb3JtYXRpb24gaW4gdGhlIGRl
c2NyaXB0b3JzLiBUaGUgc3RyaWRlIHZhbHVlcyBhcmUgaWdub3JlZCBhbmQKYXNzdW1lZCB0
byBiZSBvbmUuIEJvdGggdGhlIEZvcnRyYW4gYW5kIEMgZGVzY3JpcHRvcnMgYXJlIHVwZGF0
ZWQgYnkKdGhpcyBmdW5jdGlvbi4iICBUaGF0IG1ha2VzIG5vIHNlbnNlLCBhcyBpdCB3b3Vs
ZCBsZWF2ZSB0aGUgZGVzY3JpcHRvcnMKaW4gYW4gaW52YWxpZCBzdGF0ZS4KClRoZSBpbnRl
bnQgb2YgQ0ZJX2JvdW5kc190b19jZGVzYyBpcyB1bmNsZWFyLCBlc3BlY2lhbGx5IGFzIGl0
IGRvZXMgbm90CnNheSB0aGF0IGNyZWF0aW5nIGFuIGludmFsaWQgZGVzY3JpcHRvciBpcyBm
b3JiaWRkZW4uCgpUaGUgZGVzY3JpcHRpb24gb2Ygc3RyaWRlICJlcXVhbCB0byB0aGUgZGlm
ZmVyZW5jZSBiZXR3ZWVuIHRoZSBzdWJzY3JpcHQKdmFsdWVzIG9mIGNvbnNlY3V0aXZlIGVs
ZW1lbnRzIG9mIGFuIGFycmF5IGFsb25nIGEgc3BlY2lmaWVkIGRpbWVuc2lvbiIKbWFrZXMg
bm8gc2Vuc2Ugd2hlbiBhcHBsaWVkIHRvIGEgZHVtbXkgYXJndW1lbnQgLSBpdCBpcyBhbHdh
eXMgb25lLgpGb3J0cmFuIGhhcyBubyBjb25jZXB0IG9mIHRoZSBzdHJpZGVzIG9mIHRoZSBh
Y3R1YWwgYXJndW1lbnRzIGJlaW5nCnZpc2libGUgdG8gdGhlIGNhbGxlZCBwcm9jZWR1cmUu
CgoiVGhlIGJhc2UgYWRkcmVzcyBpbiB0aGUgQyBkZXNjcmlwdG9yIGZvciBhIGRhdGEgcG9p
bnRlciBtYXkgYmUgbW9kaWZpZWQKYnkgYXNzaWdubWVudCBhbmQgdGhhdCBjaGFuZ2UgbGF0
ZXIgYWZmZWN0ZWQgaW4gdGhlIGNvcnJlc3BvbmRpbmcKRm9ydHJhbiBkZXNjcmlwdG9yIGJ5
IHRoZSBDRklfdXBkYXRlX2ZkZXNjIGZ1bmN0aW9uIiBtZWFucyB0aGF0CmFsbG9jYXRhYmxl
IGFuZCBwb2ludGVyIGFycmF5cyBjYW4gYmUgY2hhbmdlZCBvdGhlciB0aGFuIGJ5IGNhbGxz
IHRvCkNGSV9hbGxvY2F0ZSBhbmQgQ0ZJX2RlYWxsb2NhdGUgKHdoaWNoIGlzIHN0YXRlZCB0
byBiZSBmb3JiaWRkZW4KZWxzZXdoZXJlKS4gIFNvbWV0aGluZyBpcyB3cm9uZywgYnV0IEkg
ZG9uJ3Qga25vdyB3aGF0LgoKVGhlcmUgaXMgYSBsb3Qgb2YgbWlzc2luZyB3b3JkaW5nIC0g
c3VjaCBhcyBmb3JiaWRkaW5nIHRoZSBib3VuZHMgYXJyYXkKdG8gaGF2ZSBhIGhpZ2hlciBy
YW5rIHRoYW4gdGhlIGRlc2NyaXB0b3IuCgoKPT09PT09PT09PT09PT09PT09PT09PT09PT09
CgpUaGUgZXhhbXBsZXMgdXNlICJpbnRlZ2VyKDgpIiB0byBpbmRpY2F0ZSBhbiA4LWJ5dGUg
aW50ZWdlciBzZXQgdXAgYnkgYQpjb21waWxlciBvcHRpb24gIi1pOCIuICBUaGF0IGlzIGNv
bXBsZXRlbHkgcHJvY2Vzc29yLWRlcGVuZGVudCwgYW5kCnNob3VsZCBub3QgYmUgaW5jbHVk
ZWQgaW4gYSBUZWNobmljYWwgUmVwb3J0LgoKVGhlIGV4YW1wbGVzIHVzZSBNUEkgbmFtZXMs
IGJ1dCBhcmUgd2lsZGx5IGludmFsaWQuICBUaGV5IHNob3VsZCB1c2UKTVBJIGNvcnJlY3Rs
eSwgb3Igbm90IHJlZmVyIHRvIGl0LgoKLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4KICAgICAKUmVpZAoKTXkgcmVhc29uIGZvciB0aGUgTk8gdm90ZSBpcyB0aGF0IEkgd291
bGQgbGlrZSB0byBzZWUgc3VwcG9ydCBmb3IgTVBJCm5vbi1ibG9ja2luZyBwcm9jZWR1cmUg
Y2FsbHMuCgpNeSBtYWpvciBjb21tZW50IGNvbmNlcm5zIHRpbWluZy4gSW4gbXkgcmVwb3J0
IHRvIFNDMjIgKE4xNzM3KSwgSSBzYWlkCidJdCBpcyBlbnZpc2FnZWQgdGhhdCB0aGUgZmly
c3QgZHJhZnQgb2YgdGhlIFRSIG9uIEZ1cnRoZXIgSW50ZXJvcGVyYWJpbGl0eQpvZiBGb3J0
cmFuIHdpdGggQyB3aWxsIGJlIGZvcndhcmRlZCBieSBNYXJjaCAyMDA5Jy4gSSB0aGluayB3
ZSBuZWVkIHRvCmFiYW5kb24gdGhpcyBhaW0uIEl0IHdhcyBlbnZpc2FnZWQgdGhhdCB0aGUg
ZGV0YWlsZWQgd29yayBvbiB0aGUgVFIgYmUgZG9uZQppbiB0aGUgc2xhY2sgdGltZSB3aGls
ZSB0aGUgc3RhbmRhcmQgd2FzIG91dCBmb3Igdm90ZSwgbm90IGluIHRoZSBidXN5IHRpbWUK
YWZ0ZXIgdGhlIHZvdGUgaXMgaW4gYW5kIHRoZSByZXNwb25zZXMgYWdyZWVkLiBXZSBuZWVk
IHRvIGNvbmNlbnRyYXRlIG9uCnRoZSBwcmVwYXJhdGlvbiBvZiB0aGUgRmluYWwgQ0QgaW4g
dGhlIGVhcmx5IG1vbnRocyBvZiAyMDA5LgoKTXkgbWlub3IgY29tbWVudHMgKHVzaW5nIGxp
bmUgbnVtYmVycyBpbiBOMTc2MSkgZm9sbG93LgoKNDUtNDcuIFRoZSBjb25jZXB0cyBvZiBh
c3N1bWVkIHR5cGUgYW5kIGFzc3VtZWQgcmFuayBhcmUgdXNlZnVsIHdpdGhpbgpGb3J0cmFu
IHRvbywgYXMgdGhlIGZpbmFsIGV4YW1wbGUgaWxsdXN0cmF0ZXMuCgoxMDItMTAzLiBDaGFu
Z2UgJ0lmIC4uLiBhc3N1bWVkLXNpemUgYXJyYXksIHRoZScgdG8gJ1RoZScuCltBcyBmYXIg
YXMgSSBjYW4gc2VlLCB0aGlzIHJlc3RyaWN0aW9uIGlzIG5vdCBuZWVkZWQuXQoKMTA0LTEw
Ny4gVGhlIHNlbnRlbmNlIHNob3VsZCBiZSBhIHNlcGFyYXRlIHBhcmFncmFwaCBhbmQgcHJl
ZmVyYWJseSBtb3ZlZCB0bwphbm90aGVyIHNlY3Rpb24gc2luY2UgaXQgYXBwbGllcyB0byBt
b3JlIHRoYW4gYXNzdW1lZC10eXBlIHZhcmlhYmxlcy4KCjM0NC0zNDYuIFdoYXQgZG9lcyBp
dCBtZWFuIGlmIHRoZSBzcGVjaWZpZXJzIGhhdmUgdGhlIHNhbWUgdmFsdWU/Cgo0MTQuIENo
YW5nZSB0bwondXNpbmcgdGhlIG1lY2hhbmlzbSBvZiB0aGUgRm9ydHJhbiBBTExPQ0FURSBz
dGF0ZW1lbnQuIE9uJwoKNDUxLiBDaGFuZ2UgdG8KJ2luZm9ybWF0aW9uIGZvciBvbmUgZGlt
ZW5zaW9uIG9mIGFuIGFycmF5IHNlY3Rpb24uIEl0IGlzIGRlZmluZWQgaW4gdGhlIGZpbGUn
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeXl5eXl5eCjQ2
Ni4gQ2hhbmdlIHRvCidtb2RpZmllZCBieSBhc3NpZ25tZW50IGFuZCB0aGF0IGNoYW5nZSBs
YXRlciBlZmZlY3RlZCBpbiB0aGUnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBeCjQ3MC4gU3VyZWx5IGl0IGlzIG5lY2Vzc2FyeSB0byBiZSBhYmxl
IHRvIGNhbGwgQ0ZJX3VwZGF0ZV9jZGVzYyBmb3IgYW4KYWxsb2NhdGFibGUgb2JqZWN0LgoK
NDcwLTQ3My4gV2h5IHdvdWxkIHRoZSBwcm9ncmFtbWVyIHdhbnQgdG8gY2hhbmdlIHN1Y2gg
YSBiYXNlIGFkZHJlc3M/CldoeSBub3QgZGlzYWxsb3cgaXQ/Cgo1MTkuIFdoYXQgdW5pdHMg
YXJlIHVzZWQgZm9yIHRoZSBzaXplPwoKNTIwLTUyMS4gQ2hhbmdlIHRvCidnZW5lcmljIGlu
dGVyZmFjZSBhbGxvd3MgdGhlIHNpemUgdG8gYmUgZ2l2ZW4gYnkgYWx0ZXJuYXRpdmUga2lu
ZHMgb2YgaW50ZWdlcnMnLgpbSSBkb24ndCBrbm93IHdoYXQgdGhlICItaTgiIGNvbXBpbGVy
IHN3aXRjaCBwcm9ibGVtIGlzLl0KCjU3My4gV2h5IGlzIHkgb2YgcmFuayAwPwoKNTc0LiB5
KDosMSkgaXMgY29udGlndW91cyBzbyBubyBjb3B5IGlzIGV2ZXIgbmVlZGVkLgoKNTc1LiBX
aHkgaXMgdGhpcyBpbGxlZ2FsLCByYXRoZXIgdGhhbiByYW5rIDA/Cgo2MjgrLiBNb3JlIGV4
YW1wbGVzIG5lZWRlZCwgc2hvd2luZyB0aGUgdXNlIG9mIGRlc2NyaXB0b3JzLgoKLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KICAgICAKU2xlaWdodGhvbG1lCgpJIHRoaW5r
IHdlIG5lZWQgdG8gY29uY2VudHJhdGUgb24gdGhlIGZpbmFsIENEIGZpcnN0LgoKUXVvdGlu
ZyBKb2huIFJlaWQgPEpvaG4uUmVpZEBzdGZjLmFjLnVrPjogCgpbUmVwZXRpdGlvbiBvZiBK
b2huIFJlaWQncyBjb21tZW50c10KCi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
CgpYaWEKCjEuKSBPUFRJT05BTCBhcmd1bWVudApUaGUgY3VycmVudCBkZXNpZ24gZG9lcyBu
b3Qgc3VwcG9ydCBPUFRJT05BTCBhcmd1bWVudCB3aXRoIFZBTFVFIGF0dHJpYnV0ZS4gVGhp
cwppcyBhIGZ1bmRhbWVudGFsIHRlY2huaWNhbCBmbGF3IGluIHRoZSBkZXNpZ24uICBUaGUg
Rm9ydHJhbiAyMDAzIHN0YW5kYXJkIGFsbG93cwpWQUxVRSB0byBiZSBzcGVjaWZpZWQgd2l0
aCBPUFRJT05BTCBhcmd1bWVudCwgd2hpbGUgaW4gdGhlIFRSIHRoaXMgY29tYmluYXRpb24K
YmVjb21lcyBpbGxlZ2FsLiAgVGhpcyBvYnZpb3VzbHkgaXMgYW4gYWR2ZXJzZSBjaGFuZ2Ug
Y29tcGFyZWQgdG8gRjAzLgpJdCBzaG91bGQgYWxzbyBiZSBub3RlZCB0aGF0IG9uZSBzb2x1
dGlvbiB0aGF0IHN1cHBvcnRzIHRoaXMgcGFydGljdWxhciBjb21iaW5hdGlvbgp3YXMgcHJv
cG9zZWQsIGJ1dCBpdCB3YXMgcmVqZWN0ZWQgZHVlIHRvIHRoZSBpbXBsZW1lbnRhdGlvbiBj
b252ZW5pZW5jZSBvZiBhIGZldwp2ZW5kb3JzLgoKCjIuKSBGb3J0cmFuIGRlc2NyaXB0b3Jz
CkFsdGhvdWdoIEZvcnRyYW4gZGVzY3JpcHRvcnMgYXJlIHVzZWQgd2hlbiBwYXNzaW5nIGFz
c3VtZWQtc2hhcGUgYXJyYXlzLCBwb2ludGVyCmFycmF5cyBhbmQgYWxsb2NhdGFibGUgYXJy
YXlzIGJ5IG1hbnkgdmVuZG9ycywgdGhleSBhcmUgaG93ZXZlciBub3QgdW5pdmVyc2FsbHkg
dXNlZApieSBhbGwgdmVuZG9ycy4gIEJhc2VkIG9uIGEgc3VydmV5IGVhcmxpZXIgdGhpcyB5
ZWFyIChieSBDcmFpZyBSYXNtdXNzZW4gYXQgSjMgbTE4MyksCnNvbWUgdmVuZG9ycyBoYXZl
bid0IGFkb3B0ZWQgZGVzY3JpcHRvcnMgZm9yIGFzc3VtZWQgc2hhcGUgYXJyYXlzLCBwb2lu
dGVyIGFycmF5cwpvciBhbGxvY2F0YWJsZSBhcnJheXMuICBUaGUgcmVxdWlyZW1lbnQgaW4g
dGhlIEMtaW50ZXJvcCBUUiBtYXkgcG9zZSBpbXBsZW1lbnRhdGlvbgpkaWZmaWN1bHRpZXMg
Zm9yIHRob3NlIHZlbmRvcnMuICBGdXJ0aGVybW9yZSBhbGxvd2luZyB1cGRhdGVzIG9uIEZv
cnRyYW4gZGVzY3JpcHRvcnMgZnJvbQpDIHByb2dyYW1zIHdpbGwgbGlrZWx5IGNhdXNlIHNh
ZmV0eSBpc3N1ZXMgYW5kIGFsc28gYmUgcHJvYmxlbWF0aWMgaW4gY29uc2lzdGVuY3kKY2hl
Y2sgYnkgc29tZSB2ZW5kb3JzLiAgVGhpcyBiZWNvbWVzIGEgc3VyZSB3YXkgdG8gaW50cm9k
dWNlIGJ1Z3MgZGlmZmljdWx0IHRvIGRpYWdub3NlLgoKCjMuKSBhc3N1bWVkLXR5cGUgYW5k
IGFzc3VtZWQtcmFuawpUaGVzZSB0d28gZmVhdHVyZXMgd2VyZSBub3QgaW4gdGhlIG9yaWdp
bmFsIHNjb3BlIG9mIFRSIDI5MTEzLiAgVGhleSB3ZXJlIHByb3Bvc2VkCigwOC0yNzFyMSkg
dG8gYmUgYWRkZWQgdG8gdGhpcyBUUiBpbiBhbiBhdHRlbXB0IHRvIHJlc3BvbmQgdG8gdGhl
IHJlcXVpcmVtZW50IGZyb20KTVBJIGNvbW11bml0eSBmb3Igc29tZXRoaW5nIHNpbWlsYXIg
dG8gSUdOT1JFX1RLUiBkaXJlY3RpdmVzIGFscmVhZHkgaW1wbGVtZW50ZWQgYnkKYSBudW1i
ZXIgb2YgdmVuZG9ycy4gIFRoZXNlIGZlYXR1cmVzIGFyZSBvZiBtb3JlIHVyZ2VudCBhbmQg
aW1wb3J0YW50IG5hdHVyZSB0aGFuIHRoZQpPUFRJT05BTCBvciB0aGUgZGVzY3JpcHRvciBm
ZWF0dXJlcyBpbiBUUiAyOTExMy4gIFRoZXJlZm9yZSBpdCBpcyBtb3JlIGRlc2lyYWJsZSB0
bwpkZXZvdGUgZWZmb3J0IGFuZCBzdHVkeSB0byB0aGVzZSBmZWF0dXJlcyBpbiBhIHNlcGFy
YXRlIFRSLgoKLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KCk1vcmdhbgoKSSBo
YXZlbid0IGhhZCB0aW1lIHRvIGxvb2sgYXQgdGhpcyBwcm9wZXJseSBzbyBJIGFic3RhaW4u
IAoKCg==
--------------070200040809010602010909--
