From jlukens@botch.com  Sat Mar  1 05:05:08 2014
Received: (at 440) by bugs.x2go.org; 1 Mar 2014 04:05:09 +0000
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on
	ymir.das-netzwerkteam.de
X-Spam-Level: 
X-Spam-Status: No, score=-0.5 required=5.0 tests=BAYES_05 autolearn=ham
	version=3.3.2
Received: from felt.botch.com (felt.botch.com [207.145.43.98])
	by ymir (Postfix) with ESMTP id 5064E5DA79
	for <440@bugs.x2go.org>; Sat,  1 Mar 2014 05:05:07 +0100 (CET)
Received: from [127.0.0.1] (unknown [192.168.254.1])
	(Authenticated sender: jlukens)
	by felt.botch.com (Postfix) with ESMTP id 837231AC0CB;
	Fri, 28 Feb 2014 23:05:05 -0500 (EST)
Date: Fri, 28 Feb 2014 23:05:05 -0500
From: Josh Lukens <jlukens@botch.com>
To: Oleksandr Shneyder <o.shneyder@phoca-gmbh.de>, 440@bugs.x2go.org
Message-ID: <063590E396BD4C059B471BC9B2AC6392@botch.com>
In-Reply-To: <AEE961B3E8874DC6AAE4353BBB346CA2@botch.com>
References: <20140227151513.Horde.aM8IYVn5opfJd9ozoLbE6w8@mail.das-netzwerkteam.de>
 <53108DDC.2030909@phoca-gmbh.de>
 <AEE961B3E8874DC6AAE4353BBB346CA2@botch.com>
Subject: Re: [X2Go-Dev] Bug#440: Bug#440: Request for patch review
X-Mailer: sparrow 1.6.4 (build 1178)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="53115c71_1626fb8c_233f"

--53115c71_1626fb8c_233f
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

One last try.  Cleaned up trailing white space, removed password from debug output, and fixed some spacing.

--53115c71_1626fb8c_233f
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Disposition: attachment; 
 filename="switch-to-QNetworkAccessManager-v3.patch"

ZGlmZiAtLWdpdCBhL2h0dHBicm9rZXJjbGllbnQuY3BwIGIvaHR0cGJyb2tlcmNsaWVudC5jcHAK
aW5kZXggNGNhOGU1ZC4uOWU4ZDIxZCAxMDA2NDQKLS0tIGEvaHR0cGJyb2tlcmNsaWVudC5jcHAK
KysrIGIvaHR0cGJyb2tlcmNsaWVudC5jcHAKQEAgLTE2LDggKzE2LDExIEBACiAqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKiovCiAKICNpbmNsdWRlICJodHRwYnJva2VyY2xpZW50LmgiCisjaW5jbHVkZSA8UU5l
dHdvcmtBY2Nlc3NNYW5hZ2VyPgogI2luY2x1ZGUgPFFVcmw+Ci0jaW5jbHVkZSA8UUh0dHA+Cisj
aW5jbHVkZSA8UU5ldHdvcmtSZXF1ZXN0PgorI2luY2x1ZGUgPFFOZXR3b3JrUmVwbHk+CisjaW5j
bHVkZSA8UVV1aWQ+CiAjaW5jbHVkZSA8UVRleHRTdHJlYW0+CiAjaW5jbHVkZSA8UUZpbGU+CiAj
aW5jbHVkZSA8UURpcj4KQEAgLTM0LDYgKzM3LDcgQEAKICNpbmNsdWRlIDxRVGVtcG9yYXJ5Rmls
ZT4KICNpbmNsdWRlIDxRSW5wdXREaWFsb2c+CiAKKwogSHR0cEJyb2tlckNsaWVudDo6SHR0cEJy
b2tlckNsaWVudCAoIE9OTWFpbldpbmRvdyogd25kLCBDb25maWdGaWxlKiBjZmcgKQogewogICAg
IGNvbmZpZz1jZmc7CkBAIC01NiwzMCArNjAsMTkgQEAgSHR0cEJyb2tlckNsaWVudDo6SHR0cEJy
b2tlckNsaWVudCAoIE9OTWFpbldpbmRvdyogd25kLCBDb25maWdGaWxlKiBjZmcgKQogICAgIHsK
ICAgICAgICAgc3NoQnJva2VyPWZhbHNlOwogCi0gICAgICAgIGh0dHA9bmV3IFFIdHRwICggdGhp
cyApOworICAgICAgICBpZiAoKGNvbmZpZy0+YnJva2VyQ2FDZXJ0RmlsZS5sZW5ndGgoKSA+MCkg
JiYgKFFGaWxlOjpleGlzdHMoY29uZmlnLT5icm9rZXJDYUNlcnRGaWxlKSkpIHsKKyAgICAgICAg
ICAgIFFTc2xTb2NrZXQ6OmFkZERlZmF1bHRDYUNlcnRpZmljYXRlcyhjb25maWctPmJyb2tlckNh
Q2VydEZpbGUsIFFTc2w6OlBlbSk7CisJCSAgICB4MmdvRGVidWc8PCJDdXN0b20gQ0EgY2VydGlm
aWNhdGUgZmlsZSBsb2FkZWQgaW50byBIVFRQUyBicm9rZXIgY2xpZW50OiAiPDxjb25maWctPmJy
b2tlckNhQ2VydEZpbGU7CisJICAgIH0KIAotICAgICAgICBpZiAoIGNvbmZpZy0+YnJva2VydXJs
LmluZGV4T2YgKCAiaHR0cHM6Ly8iICkgPT0wICkgewotICAgICAgICAgICAgaWYgKChjb25maWct
PmJyb2tlckNhQ2VydEZpbGUubGVuZ3RoKCkgPjApICYmIChRRmlsZTo6ZXhpc3RzKGNvbmZpZy0+
YnJva2VyQ2FDZXJ0RmlsZSkpKSB7CisgICAgICAgIGh0dHA9bmV3IFFOZXR3b3JrQWNjZXNzTWFu
YWdlciAoIHRoaXMgKTsKKyAgICAgICAgeDJnb0RlYnVnPDwiU2V0dGluZyB1cCBjb25uZWN0aW9u
IHRvIGJyb2tlcjogIjw8Y29uZmlnLT5icm9rZXJ1cmw7CiAKLSAgICAgICAgICAgICAgICBzc2xT
b2NrZXQgPSBuZXcgUVNzbFNvY2tldCh0aGlzKTsKLSAgICAgICAgICAgICAgICBjb25uZWN0ICgg
c3NsU29ja2V0LCBTSUdOQUwgKCBzc2xFcnJvcnMgKCBjb25zdCBRTGlzdDxRU3NsRXJyb3I+JiAp
ICksdGhpcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgU0xPVCAoIHNsb3RTc2xFcnJvcnMg
KCBjb25zdCBRTGlzdDxRU3NsRXJyb3I+JiApICkgKTsKLSAgICAgICAgICAgICAgICBodHRwLT5z
ZXRTb2NrZXQoc3NsU29ja2V0KTsKLSAgICAgICAgICAgICAgICBzc2xTb2NrZXQtPmFkZENhQ2Vy
dGlmaWNhdGVzKGNvbmZpZy0+YnJva2VyQ2FDZXJ0RmlsZSwgUVNzbDo6UGVtKTsKLSAgICAgICAg
ICAgICAgICB4MmdvRGVidWc8PCJDdXN0b20gQ0EgY2VydGlmaWNhdGUgZmlsZSBsb2FkZWQgaW50
byBIVFRQUyBicm9rZXIgY2xpZW50OiAiPDxjb25maWctPmJyb2tlckNhQ2VydEZpbGU7CisgICAg
ICAgIGNvbm5lY3QgKCBodHRwLCBTSUdOQUwgKCBzc2xFcnJvcnMgKCBRTmV0d29ya1JlcGx5Kiwg
Y29uc3QgUUxpc3Q8UVNzbEVycm9yPiYgKSApLHRoaXMsCisJICAgICAgICAgICAgICAgICBTTE9U
ICggc2xvdFNzbEVycm9ycyAoIFFOZXR3b3JrUmVwbHkqLCBjb25zdCBRTGlzdDxRU3NsRXJyb3I+
JiApICkgKTsKIAotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBjb25uZWN0
ICggaHR0cCwgU0lHTkFMICggc3NsRXJyb3JzICggY29uc3QgUUxpc3Q8UVNzbEVycm9yPiYgKSAp
LHRoaXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFNMT1QgKCBzbG90U3NsRXJyb3JzICgg
Y29uc3QgUUxpc3Q8UVNzbEVycm9yPiYgKSApICk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAg
ICBodHRwLT5zZXRIb3N0ICggbHVybC5ob3N0KCksUUh0dHA6OkNvbm5lY3Rpb25Nb2RlSHR0cHMs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbHVybC5wb3J0ICggNDQzICkgKTsKLSAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGh0dHAtPnNldEhvc3QgKCBsdXJsLmhvc3QoKSxRSHR0
cDo6Q29ubmVjdGlvbk1vZGVIdHRwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGx1cmwu
cG9ydCAoIDgwICkgKTsKLSAgICAgICAgfQotICAgICAgICBjb25uZWN0ICggaHR0cCxTSUdOQUwg
KCByZXF1ZXN0RmluaXNoZWQgKCBpbnQsYm9vbCApICksdGhpcywKLSAgICAgICAgICAgICAgICAg
IFNMT1QgKCBzbG90UmVxdWVzdEZpbmlzaGVkICggaW50LGJvb2wgKSApICk7CisgICAgICAgIGNv
bm5lY3QgKCBodHRwLFNJR05BTCAoIGZpbmlzaGVkIChRTmV0d29ya1JlcGx5KikgKSx0aGlzLAor
ICAgICAgICAgICAgICAgICAgU0xPVCAoIHNsb3RSZXF1ZXN0RmluaXNoZWQgKFFOZXR3b3JrUmVw
bHkqKSApICk7CiAgICAgfQogfQogCkBAIC0yNDgsNiArMjQxLDcgQEAgdm9pZCBIdHRwQnJva2Vy
Q2xpZW50OjpzbG90U3NoVXNlckF1dGhFcnJvcihRU3RyaW5nIGVycm9yKQogdm9pZCBIdHRwQnJv
a2VyQ2xpZW50OjpnZXRVc2VyU2Vzc2lvbnMoKQogewogICAgIFFTdHJpbmcgYnJva2VyVXNlcj1j
b25maWctPmJyb2tlclVzZXI7CisgICAgeDJnb0RlYnVnPDwiY2FsbGVkIGdldFVzZXJTZXNzaW9u
czogYnJva2VydXNlcjogIjw8YnJva2VyVXNlcjw8IiBhdXRoaWQ6ICI8PGNvbmZpZy0+YnJva2Vy
VXNlcklkOwogICAgIGlmKG1haW5XaW5kb3ctPmdldFVzZVBHUENhcmQoKSkKICAgICAgICAgYnJv
a2VyVXNlcj1tYWluV2luZG93LT5nZXRDYXJkTG9naW4oKTsKICAgICBjb25maWctPnNlc3Npb25k
YXRhPVFTdHJpbmc6Om51bGw7CkBAIC0yNTksMTAgKzI1MywxMSBAQCB2b2lkIEh0dHBCcm9rZXJD
bGllbnQ6OmdldFVzZXJTZXNzaW9ucygpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1
c2VyPSI8PGJyb2tlclVzZXI8PCImIjw8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJw
YXNzd29yZD0iPDxjb25maWctPmJyb2tlclBhc3M8PCImIjw8CiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJhdXRoaWQ9Ijw8Y29uZmlnLT5icm9rZXJVc2VySWQ7Ci0gICAgICAgIFFVcmwg
bHVybCAoIGNvbmZpZy0+YnJva2VydXJsICk7Ci0gICAgICAgIGh0dHBTZXNzaW9uQW5zd2VyLmNs
b3NlKCk7Ci0gICAgICAgIGh0dHBTZXNzaW9uQW5zd2VyLnNldERhdGEgKCAwLDAgKTsKLSAgICAg
ICAgc2Vzc2lvbnNSZXF1ZXN0PWh0dHAtPnBvc3QgKCBsdXJsLnBhdGgoKSxyZXEudG9VdGY4KCks
Jmh0dHBTZXNzaW9uQW5zd2VyICk7CisKKyAgICAgICAgeDJnb0RlYnVnIDw8ICJzZW5kaW5nIHJl
cXVlc3Q6ICI8PCByZXEudG9VdGY4KCk7CisJICAgIFFOZXR3b3JrUmVxdWVzdCByZXF1ZXN0KFFV
cmwoY29uZmlnLT5icm9rZXJ1cmwpKTsKKwkgICAgcmVxdWVzdC5zZXRIZWFkZXIoUU5ldHdvcmtS
ZXF1ZXN0OjpDb250ZW50VHlwZUhlYWRlciwgImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5j
b2RlZCIpOworICAgICAgICBzZXNzaW9uc1JlcXVlc3Q9aHR0cC0+cG9zdCAocmVxdWVzdCwgcmVx
LnRvVXRmOCgpICk7CiAgICAgfQogICAgIGVsc2UKICAgICB7CkBAIC0yODMsNiArMjc4LDcgQEAg
dm9pZCBIdHRwQnJva2VyQ2xpZW50OjpnZXRVc2VyU2Vzc2lvbnMoKQogCiB2b2lkIEh0dHBCcm9r
ZXJDbGllbnQ6OnNlbGVjdFVzZXJTZXNzaW9uKGNvbnN0IFFTdHJpbmcmIHNlc3Npb24pCiB7Cisg
ICAgeDJnb0RlYnVnPDwiY2FsbGVkIHNlbGVjdFVzZXJTZXNzaW9ucyI7CiAgICAgUVN0cmluZyBi
cm9rZXJVc2VyPWNvbmZpZy0+YnJva2VyVXNlcjsKICAgICBpZihtYWluV2luZG93LT5nZXRVc2VQ
R1BDYXJkKCkpCiAgICAgICAgIGJyb2tlclVzZXI9bWFpbldpbmRvdy0+Z2V0Q2FyZExvZ2luKCk7
CkBAIC0yOTYsMTAgKzI5MiwxMSBAQCB2b2lkIEh0dHBCcm9rZXJDbGllbnQ6OnNlbGVjdFVzZXJT
ZXNzaW9uKGNvbnN0IFFTdHJpbmcmIHNlc3Npb24pCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ1c2VyPSI8PGJyb2tlclVzZXI8PCImIjw8CiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJwYXNzd29yZD0iPDxjb25maWctPmJyb2tlclBhc3M8PCImIjw8CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJhdXRoaWQ9Ijw8Y29uZmlnLT5icm9rZXJVc2VySWQ7Ci0gICAgICAg
IFFVcmwgbHVybCAoIGNvbmZpZy0+YnJva2VydXJsICk7Ci0gICAgICAgIGh0dHBTZXNzaW9uQW5z
d2VyLmNsb3NlKCk7Ci0gICAgICAgIGh0dHBTZXNzaW9uQW5zd2VyLnNldERhdGEgKCAwLDAgKTsK
LSAgICAgICAgc2VsU2Vzc1JlcXVlc3Q9aHR0cC0+cG9zdCAoIGx1cmwucGF0aCgpLHJlcS50b1V0
ZjgoKSwmaHR0cFNlc3Npb25BbnN3ZXIgKTsKKyAgICAgICAgeDJnb0RlYnVnIDw8ICJzZW5kaW5n
IHJlcXVlc3Q6ICI8PCByZXEudG9VdGY4KCk7CisJICAgIFFOZXR3b3JrUmVxdWVzdCByZXF1ZXN0
KFFVcmwoY29uZmlnLT5icm9rZXJ1cmwpKTsKKwkgICAgcmVxdWVzdC5zZXRIZWFkZXIoUU5ldHdv
cmtSZXF1ZXN0OjpDb250ZW50VHlwZUhlYWRlciwgImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJs
ZW5jb2RlZCIpOworICAgICAgICBzZXNzaW9uc1JlcXVlc3Q9aHR0cC0+cG9zdCAocmVxdWVzdCwg
cmVxLnRvVXRmOCgpICk7CisKICAgICB9CiAgICAgZWxzZQogICAgIHsKQEAgLTMzMCwxMSArMzI3
LDExIEBAIHZvaWQgSHR0cEJyb2tlckNsaWVudDo6Y2hhbmdlUGFzc3dvcmQoUVN0cmluZyBuZXdQ
YXNzKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNlcj0iPDxicm9rZXJVc2VyPDwi
JiI8PAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFzc3dvcmQ9Ijw8Y29uZmlnLT5i
cm9rZXJQYXNzPDwiJiI8PAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXV0aGlkPSI8
PGNvbmZpZy0+YnJva2VyVXNlcklkOwotICAgICAgICBRVXJsIGx1cmwgKCBjb25maWctPmJyb2tl
cnVybCApOwotICAgICAgICBodHRwU2Vzc2lvbkFuc3dlci5jbG9zZSgpOwotICAgICAgICBodHRw
U2Vzc2lvbkFuc3dlci5zZXREYXRhICggMCwwICk7Ci0gICAgICAgIGNoUGFzc1JlcXVlc3Q9aHR0
cC0+cG9zdCAoIGx1cmwucGF0aCgpLHJlcS50b1V0ZjgoKSwmaHR0cFNlc3Npb25BbnN3ZXIgKTsK
LSAgICB9CisgICAgICAgIHgyZ29EZWJ1ZyA8PCAic2VuZGluZyByZXF1ZXN0OiAiPDwgcmVxLnRv
VXRmOCgpOworCSAgICBRTmV0d29ya1JlcXVlc3QgcmVxdWVzdChRVXJsKGNvbmZpZy0+YnJva2Vy
dXJsKSk7CisJICAgIHJlcXVlc3Quc2V0SGVhZGVyKFFOZXR3b3JrUmVxdWVzdDo6Q29udGVudFR5
cGVIZWFkZXIsICJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiKTsKKyAgICAgICAg
c2Vzc2lvbnNSZXF1ZXN0PWh0dHAtPnBvc3QgKHJlcXVlc3QsIHJlcS50b1V0ZjgoKSApOworCQl9
CiAgICAgZWxzZQogICAgIHsKICAgICAgICAgaWYgKGNvbmZpZy0+YnJva2VyVXNlcklkLmxlbmd0
aCgpID4gMCkgewpAQCAtMzQ5LDE3ICszNDYsMTcgQEAgdm9pZCBIdHRwQnJva2VyQ2xpZW50Ojpj
aGFuZ2VQYXNzd29yZChRU3RyaW5nIG5ld1Bhc3MpCiAKIHZvaWQgSHR0cEJyb2tlckNsaWVudDo6
dGVzdENvbm5lY3Rpb24oKQogeworICAgIHgyZ29EZWJ1Zzw8ImNhbGxlZCB0ZXN0Q29ubmVjdGlv
biI7CiAgICAgaWYoIXNzaEJyb2tlcikKICAgICB7CiAgICAgICAgIFFTdHJpbmcgcmVxOwogICAg
ICAgICBRVGV4dFN0cmVhbSAoICZyZXEgKSA8PAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAidGFzaz10ZXN0Y29uIjsKLSAgICAgICAgUVVybCBsdXJsICggY29uZmlnLT5icm9rZXJ1cmwg
KTsKLSAgICAgICAgaHR0cFNlc3Npb25BbnN3ZXIuY2xvc2UoKTsKLSAgICAgICAgaHR0cFNlc3Np
b25BbnN3ZXIuc2V0RGF0YSAoIDAsMCApOwotICAgICAgICByZXF1ZXN0VGltZS5zdGFydCgpOwot
ICAgICAgICB0ZXN0Q29uUmVxdWVzdD1odHRwLT5wb3N0ICggbHVybC5wYXRoKCkscmVxLnRvVXRm
OCgpLCZodHRwU2Vzc2lvbkFuc3dlciApOwotICAgIH0KKyAgICAgICAgeDJnb0RlYnVnIDw8ICJz
ZW5kaW5nIHJlcXVlc3Q6ICI8PCByZXEudG9VdGY4KCk7CisJICAgIFFOZXR3b3JrUmVxdWVzdCBy
ZXF1ZXN0KFFVcmwoY29uZmlnLT5icm9rZXJ1cmwpKTsKKwkgICAgcmVxdWVzdC5zZXRIZWFkZXIo
UU5ldHdvcmtSZXF1ZXN0OjpDb250ZW50VHlwZUhlYWRlciwgImFwcGxpY2F0aW9uL3gtd3d3LWZv
cm0tdXJsZW5jb2RlZCIpOworICAgICAgICBzZXNzaW9uc1JlcXVlc3Q9aHR0cC0+cG9zdCAocmVx
dWVzdCwgcmVxLnRvVXRmOCgpICk7CisJfQogICAgIGVsc2UKICAgICB7CiAgICAgICAgIGlmIChj
b25maWctPmJyb2tlclVzZXJJZC5sZW5ndGgoKSA+IDApIHsKQEAgLTM5Miw2ICszODksNyBAQCB2
b2lkIEh0dHBCcm9rZXJDbGllbnQ6OmNyZWF0ZUluaUZpbGUoY29uc3QgUVN0cmluZyYgcmF3X2Nv
bnRlbnQpCiAKIGJvb2wgSHR0cEJyb2tlckNsaWVudDo6Y2hlY2tBY2Nlc3MoUVN0cmluZyBhbnN3
ZXIgKQogeworICAgIHgyZ29EZWJ1Zzw8ImNhbGxlZCBjaGVja0FjY2VzcyAtIGFuc3dlciB3YXM6
ICI8PGFuc3dlcjsKICAgICBpZiAoYW5zd2VyLmluZGV4T2YoIkFjY2VzcyBncmFudGVkIik9PS0x
KQogICAgIHsKICAgICAgICAgUU1lc3NhZ2VCb3g6OmNyaXRpY2FsICgKQEAgLTQwOCw2ICs0MDYs
NyBAQCBib29sIEh0dHBCcm9rZXJDbGllbnQ6OmNoZWNrQWNjZXNzKFFTdHJpbmcgYW5zd2VyICkK
IAogdm9pZCBIdHRwQnJva2VyQ2xpZW50OjpzbG90Q29ubmVjdGlvblRlc3QoYm9vbCBzdWNjZXNz
LCBRU3RyaW5nIGFuc3dlciwgaW50KQogeworICAgIHgyZ29EZWJ1Zzw8ImNhbGxlZCBzbG90Q29u
bmVjdGlvblRlc3QiOwogICAgIGlmKCFzdWNjZXNzKQogICAgIHsKICAgICAgICAgeDJnb0RlYnVn
PDxhbnN3ZXI7CkBAIC00MTksOCArNDE4LDggQEAgdm9pZCBIdHRwQnJva2VyQ2xpZW50OjpzbG90
Q29ubmVjdGlvblRlc3QoYm9vbCBzdWNjZXNzLCBRU3RyaW5nIGFuc3dlciwgaW50KQogICAgICAg
ICByZXR1cm47CiAgICAgaWYoIXNzaEJyb2tlcikKICAgICB7Ci0gICAgICAgIHgyZ29EZWJ1Zzw8
ImVsYXBzZWQ6ICI8PHJlcXVlc3RUaW1lLmVsYXBzZWQoKTw8InJlY2VpdmVkOiI8PGh0dHBTZXNz
aW9uQW5zd2VyLnNpemUoKTw8ZW5kbDsKLSAgICAgICAgZW1pdCBjb25uZWN0aW9uVGltZShyZXF1
ZXN0VGltZS5lbGFwc2VkKCksaHR0cFNlc3Npb25BbnN3ZXIuc2l6ZSgpKTsKKyAgICAgICB4Mmdv
RGVidWc8PCJlbGFwc2VkOiAiPDxyZXF1ZXN0VGltZS5lbGFwc2VkKCk8PCJyZWNlaXZlZDoiPDxh
bnN3ZXIuc2l6ZSgpPDxlbmRsOworICAgICAgIGVtaXQgY29ubmVjdGlvblRpbWUocmVxdWVzdFRp
bWUuZWxhcHNlZCgpLGFuc3dlci5zaXplKCkpOwogICAgIH0KICAgICByZXR1cm47CiAKQEAgLTQ3
MSwzNiArNDcwLDM4IEBAIHZvaWQgSHR0cEJyb2tlckNsaWVudDo6c2xvdFNlbGVjdFNlc3Npb24o
Ym9vbCBzdWNjZXNzLCBRU3RyaW5nIGFuc3dlciwgaW50KQogfQogCiAKLXZvaWQgSHR0cEJyb2tl
ckNsaWVudDo6c2xvdFJlcXVlc3RGaW5pc2hlZCAoIGludCBpZCwgYm9vbCBlcnJvciApCit2b2lk
IEh0dHBCcm9rZXJDbGllbnQ6OnNsb3RSZXF1ZXN0RmluaXNoZWQgKCBRTmV0d29ya1JlcGx5KiAg
cmVwbHkgKQogewotLy8gICAJeDJnb0RlYnVnPDwiaHR0cCByZXF1ZXN0ICI8PGlkPDwiLCBmaW5p
c2hlZCB3aXRoOiAiPDxlcnJvcjsKLQotICAgIGlmICggZXJyb3IgKQotICAgIHsKLSAgICAgICAg
eDJnb0RlYnVnPDxodHRwLT5lcnJvclN0cmluZygpOwotICAgICAgICBRTWVzc2FnZUJveDo6Y3Jp
dGljYWwoMCx0cigiRXJyb3IiKSxodHRwLT5lcnJvclN0cmluZygpKTsKLSAgICAgICAgZW1pdCBm
YXRhbEh0dHBFcnJvcigpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgUVN0cmluZyBh
bnN3ZXIgKCBodHRwU2Vzc2lvbkFuc3dlci5kYXRhKCkgKTsKLSAgICB4MmdvRGVidWc8PCJjbWQg
cmVxdWVzdCBhbnN3ZXI6ICI8PGFuc3dlcjsKLSAgICBpZiAoaWQ9PXRlc3RDb25SZXF1ZXN0KQor
CWlmKHJlcGx5LT5lcnJvcigpICE9IFFOZXR3b3JrUmVwbHk6Ok5vRXJyb3IpCisJCXsKKwkJCXgy
Z29EZWJ1Zzw8IkJyb2tlciBIVFRQIHJlcXVlc3QgZmFpbGVkIHdpdGggZXJyb3I6ICI8PHJlcGx5
LT5lcnJvclN0cmluZygpOworCQkJUU1lc3NhZ2VCb3g6OmNyaXRpY2FsKDAsdHIoIkVycm9yIiks
cmVwbHktPmVycm9yU3RyaW5nKCkpOworCQkJZW1pdCBmYXRhbEh0dHBFcnJvcigpOworCQkJcmV0
dXJuOworCQl9CisKKyAgICBRU3RyaW5nIGFuc3dlciAoIHJlcGx5LT5yZWFkQWxsKCkgKTsKKyAg
ICB4MmdvRGVidWc8PCJBIGh0dHAgcmVxdWVzdCByZXR1cm5lZC4gIFJlc3VsdCB3YXM6ICI8PGFu
c3dlcjsKKyAgICBpZiAocmVwbHkgPT0gdGVzdENvblJlcXVlc3QpCiAgICAgewogICAgICAgICBz
bG90Q29ubmVjdGlvblRlc3QodHJ1ZSxhbnN3ZXIsMCk7CiAgICAgfQotICAgIGlmIChpZCA9PSBz
ZXNzaW9uc1JlcXVlc3QpCisgICAgaWYgKHJlcGx5ID09IHNlc3Npb25zUmVxdWVzdCkKICAgICB7
CiAgICAgICAgIHNsb3RMaXN0U2Vzc2lvbnModHJ1ZSwgYW5zd2VyLDApOwogICAgIH0KLSAgICBp
ZiAoaWQgPT0gc2VsU2Vzc1JlcXVlc3QpCisgICAgaWYgKHJlcGx5ID09IHNlbFNlc3NSZXF1ZXN0
KQogICAgIHsKICAgICAgICAgc2xvdFNlbGVjdFNlc3Npb24odHJ1ZSxhbnN3ZXIsMCk7CiAgICAg
fQotICAgIGlmICggaWQgPT0gY2hQYXNzUmVxdWVzdCkKKyAgICBpZiAocmVwbHkgPT0gY2hQYXNz
UmVxdWVzdCkKICAgICB7CiAgICAgICAgIHNsb3RQYXNzQ2hhbmdlZCh0cnVlLGFuc3dlciwwKTsK
ICAgICB9CisKKyAgICAvLyBXZSByZWNlaXZlIG93bmVyc2hpcCBvZiB0aGUgcmVwbHkgb2JqZWN0
CisgICAgLy8gYW5kIHRoZXJlZm9yZSBuZWVkIHRvIGhhbmRsZSBkZWxldGlvbi4KKyAgICByZXBs
eS0+ZGVsZXRlTGF0ZXIoKTsKIH0KIAogdm9pZCBIdHRwQnJva2VyQ2xpZW50OjpwYXJzZVNlc3Np
b24oUVN0cmluZyBzaW5mbykKQEAgLTUzNyw3ICs1MzgsNyBAQCB2b2lkIEh0dHBCcm9rZXJDbGll
bnQ6OnBhcnNlU2Vzc2lvbihRU3RyaW5nIHNpbmZvKQogfQogCiAKLXZvaWQgSHR0cEJyb2tlckNs
aWVudDo6c2xvdFNzbEVycm9ycyAoIGNvbnN0IFFMaXN0PFFTc2xFcnJvcj4gJiBlcnJvcnMgKQor
dm9pZCBIdHRwQnJva2VyQ2xpZW50OjpzbG90U3NsRXJyb3JzICggUU5ldHdvcmtSZXBseSogbmV0
UmVwbHksIGNvbnN0IFFMaXN0PFFTc2xFcnJvcj4gJiBlcnJvcnMgKQogewogICAgIFFTdHJpbmdM
aXN0IGVycjsKICAgICBRU3NsQ2VydGlmaWNhdGUgY2VydDsKQEAgLTU2NCw3ICs1NjUsNyBAQCB2
b2lkIEh0dHBCcm9rZXJDbGllbnQ6OnNsb3RTc2xFcnJvcnMgKCBjb25zdCBRTGlzdDxRU3NsRXJy
b3I+ICYgZXJyb3JzICkKICAgICAgICAgUVNzbENlcnRpZmljYXRlIG1jZXJ0ICggJmZsICk7CiAg
ICAgICAgIGlmICggbWNlcnQ9PWNlcnQgKQogICAgICAgICB7Ci0gICAgICAgICAgICBodHRwLT5p
Z25vcmVTc2xFcnJvcnMoKTsKKyAgICAgICAgICAgIG5ldFJlcGx5LT5pZ25vcmVTc2xFcnJvcnMo
KTsKICAgICAgICAgICAgIHJlcXVlc3RUaW1lLnJlc3RhcnQoKTsKICAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgfQpAQCAtNjM1LDcgKzYzNiw3IEBAIHZvaWQgSHR0cEJyb2tlckNsaWVudDo6
c2xvdFNzbEVycm9ycyAoIGNvbnN0IFFMaXN0PFFTc2xFcnJvcj4gJiBlcnJvcnMgKQogICAgICAg
ICBmbC5vcGVuICggUUlPRGV2aWNlOjpXcml0ZU9ubHkgfCBRSU9EZXZpY2U6OlRleHQgKTsKICAg
ICAgICAgUVRleHRTdHJlYW0gKCAmZmwgKSA8PGNlcnQudG9QZW0oKTsKICAgICAgICAgZmwuY2xv
c2UoKTsKLSAgICAgICAgaHR0cC0+aWdub3JlU3NsRXJyb3JzKCk7CisJCW5ldFJlcGx5LT5pZ25v
cmVTc2xFcnJvcnMoKTsKICAgICAgICAgeDJnb0RlYnVnPDwic3RvcmUgY2VydGlmaWNhdGUgaW4g
ICI8PGhvbWVEaXIrIi8ueDJnby9zc2wvZXhjZXB0aW9ucy8iKwogICAgICAgICAgICAgICAgICBs
dXJsLmhvc3QoKSArIi8iK2ZuYW1lOwogICAgICAgICByZXF1ZXN0VGltZS5yZXN0YXJ0KCk7CmRp
ZmYgLS1naXQgYS9odHRwYnJva2VyY2xpZW50LmggYi9odHRwYnJva2VyY2xpZW50LmgKaW5kZXgg
NGVhNGEzZC4uOGE3NzJkZiAxMDA2NDQKLS0tIGEvaHR0cGJyb2tlcmNsaWVudC5oCisrKyBiL2h0
dHBicm9rZXJjbGllbnQuaApAQCAtMTgsNiArMTgsMTAgQEAKICNpZm5kZWYgSFRUUEJST0tFUkNM
SUVOVF9ICiAjZGVmaW5lIEhUVFBCUk9LRVJDTElFTlRfSAogI2luY2x1ZGUgIngyZ29jbGllbnRj
b25maWcuaCIKKyNpbmNsdWRlIDxRTmV0d29ya0FjY2Vzc01hbmFnZXI+CisjaW5jbHVkZSA8UVVy
bD4KKyNpbmNsdWRlIDxRTmV0d29ya1JlcXVlc3Q+CisjaW5jbHVkZSA8UU5ldHdvcmtSZXBseT4K
ICNpbmNsdWRlIDxRU3NsRXJyb3I+CiAjaW5jbHVkZSA8UUJ1ZmZlcj4KICNpbmNsdWRlIDxRT2Jq
ZWN0PgpAQCAtMjcsNyArMzEsNyBAQAogLyoqCiAJQGF1dGhvciBPbGVrc2FuZHIgU2huZXlkZXIg
PG9sZWtzYW5kci5zaG5leWRlckBvYnZpb3VzbHktbmljZS5kZT4KICovCi1jbGFzcyBRSHR0cDsK
K2NsYXNzIFFOZXR3b3JrQWNjZXNzTWFuYWdlcjsKIHN0cnVjdCBDb25maWdGaWxlOwogY2xhc3Mg
T05NYWluV2luZG93OwogCkBAIC00MSwxNCArNDUsMTMgQEAgcHVibGljOgogICAgIHZvaWQgY2hh
bmdlUGFzc3dvcmQoUVN0cmluZyBuZXdQYXNzKTsKICAgICB2b2lkIHRlc3RDb25uZWN0aW9uKCk7
CiBwcml2YXRlOgotICAgIFFCdWZmZXIgaHR0cENtZEFuc3dlcjsKLSAgICBRQnVmZmVyIGh0dHBT
ZXNzaW9uQW5zd2VyOwotICAgIFFIdHRwKiBodHRwOworICAgIFFOZXR3b3JrQWNjZXNzTWFuYWdl
ciogaHR0cDsKKyAgICBRTmV0d29ya1JlcXVlc3QqIG5ldFJlcXVlc3Q7CiAgICAgUVNzbFNvY2tl
dCogc3NsU29ja2V0OwotICAgIGludCBzZXNzaW9uc1JlcXVlc3Q7Ci0gICAgaW50IHNlbFNlc3NS
ZXF1ZXN0OwotICAgIGludCBjaFBhc3NSZXF1ZXN0OwotICAgIGludCB0ZXN0Q29uUmVxdWVzdDsK
KyAgICBRTmV0d29ya1JlcGx5KiBzZXNzaW9uc1JlcXVlc3Q7CisgICAgUU5ldHdvcmtSZXBseSog
c2VsU2Vzc1JlcXVlc3Q7CisgICAgUU5ldHdvcmtSZXBseSogY2hQYXNzUmVxdWVzdDsKKyAgICBR
TmV0d29ya1JlcGx5KiB0ZXN0Q29uUmVxdWVzdDsKICAgICBRU3RyaW5nIG5ld0Jyb2tlclBhc3M7
CiAgICAgQ29uZmlnRmlsZSogY29uZmlnOwogICAgIE9OTWFpbldpbmRvdyogbWFpbldpbmRvdzsK
QEAgLTYyLDggKzY1LDggQEAgcHJpdmF0ZToKICAgICBib29sIGNoZWNrQWNjZXNzKFFTdHJpbmcg
YW5zd2VyKTsKIAogcHJpdmF0ZSBzbG90czoKLSAgICB2b2lkIHNsb3RSZXF1ZXN0RmluaXNoZWQg
KCBpbnQgaWQsIGJvb2wgZXJyb3IgKTsKLSAgICB2b2lkIHNsb3RTc2xFcnJvcnMgKCBjb25zdCBR
TGlzdDxRU3NsRXJyb3I+ICYgZXJyb3JzICkgOworICAgIHZvaWQgc2xvdFJlcXVlc3RGaW5pc2hl
ZCAoIFFOZXR3b3JrUmVwbHkqICByZXBseSApOworICAgIHZvaWQgc2xvdFNzbEVycm9ycyAoIFFO
ZXR3b3JrUmVwbHkqIG5ldFJlcGx5LCBjb25zdCBRTGlzdDxRU3NsRXJyb3I+ICYgZXJyb3JzICkg
OwogICAgIFFTdHJpbmcgZ2V0SGV4VmFsICggY29uc3QgUUJ5dGVBcnJheSYgYmEgKTsKICAgICB2
b2lkIHNsb3RTc2hDb25uZWN0aW9uRXJyb3IgKCBRU3RyaW5nIG1lc3NhZ2UsIFFTdHJpbmcgbGFz
dFNlc3Npb25FcnJvciApOwogICAgIHZvaWQgc2xvdFNzaFNlcnZlckF1dGhFcnJvciAoIGludCBl
cnJvciwgUVN0cmluZyBzc2hNZXNzYWdlLCBTc2hNYXN0ZXJDb25uZWN0aW9uKiBjb25uZWN0aW9u
ICk7Cg==

--53115c71_1626fb8c_233f--

