From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.2 required=5.0 tests=ALL_TRUSTED, DKIM_ADSP_NXDOMAIN autolearn=no autolearn_force=no version=3.4.4 Received: (qmail 15254 invoked from network); 1 May 2021 01:53:26 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 1 May 2021 01:53:26 -0000 Content-Type: multipart/mixed; boundary="===============2543663184981588031==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_mozc=3A_update_to_2=2E26=2E4353=2E100=2E_=28new_package_for_fcitx5-mozc=29?= To: ml@inbox.vuxu.org From: sgn Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Sat, 01 May 2021 03:53:25 +0200 List-Id: Message-ID: <20210501015325.7qRmJ1Le9saov5u_pGRg-j0-qECNK_AXQEZCfjsstK0@z> GitHub notification mails are now in MIME to allow UTF8. --===============2543663184981588031== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgc2duIGFnYWluc3QgbWFzdGVyIG9u IHRoZSB2b2lkLXBhY2thZ2VzIHJlcG9zaXRvcnkKCmh0dHBzOi8vZ2l0aHViLmNvbS9zZ24vdm9p ZC1wYWNrYWdlcyBmY2l0eDUtbW96YwpodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lk LXBhY2thZ2VzL3B1bGwvMzA0OTIKCm1vemM6IHVwZGF0ZSB0byAyLjI2LjQzNTMuMTAwLiAobmV3 IHBhY2thZ2UgZm9yIGZjaXR4NS1tb3pjKQo8IS0tIE1hcmsgaXRlbXMgd2l0aCBbeF0gd2hlcmUg YXBwbGljYWJsZSAtLT4NCg0KIyMjIyBHZW5lcmFsDQotIFsgXSBUaGlzIGlzIGEgbmV3IHBhY2th Z2UgYW5kIGl0IGNvbmZvcm1zIHRvIHRoZSBbcXVhbGl0eSByZXF1aXJlbWVudHNdKGh0dHBzOi8v Z2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIvTWFudWFsLm1k I3F1YWxpdHktcmVxdWlyZW1lbnRzKQ0KDQojIyMjIEhhdmUgdGhlIHJlc3VsdHMgb2YgdGhlIHBy b3Bvc2VkIGNoYW5nZXMgYmVlbiB0ZXN0ZWQ/DQotIFsgXSBJIHVzZSB0aGUgcGFja2FnZXMgYWZm ZWN0ZWQgYnkgdGhlIHByb3Bvc2VkIGNoYW5nZXMgb24gYSByZWd1bGFyIGJhc2lzIGFuZCBjb25m aXJtIHRoaXMgUFIgd29ya3MgZm9yIG1lDQotIFt4XSBJIGdlbmVyYWxseSBkb24ndCB1c2UgdGhl IGFmZmVjdGVkIHBhY2thZ2VzIGJ1dCBicmllZmx5IHRlc3RlZCB0aGlzIFBSDQoNCjwhLS0NCklm IEdpdEh1YiBDSSBjYW5ub3QgYmUgdXNlZCB0byB2YWxpZGF0ZSB0aGUgYnVpbGQgcmVzdWx0IChm b3IgZXhhbXBsZSwgaWYgdGhlDQpidWlsZCBpcyBsaWtlbHkgdG8gdGFrZSBzZXZlcmFsIGhvdXJz KSwgbWFrZSBzdXJlIHRvDQpbc2tpcCBDSV0oaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgv dm9pZC1wYWNrYWdlcy9ibG9iL21hc3Rlci9DT05UUklCVVRJTkcubWQjY29udGludW91cy1pbnRl Z3JhdGlvbikuDQpXaGVuIHNraXBwaW5nIENJLCB1bmNvbW1lbnQgYW5kIGZpbGwgb3V0IHRoZSBm b2xsb3dpbmcgc2VjdGlvbi4NCk5vdGU6IGZvciBidWlsZHMgdGhhdCBhcmUgbGlrZWx5IHRvIGNv bXBsZXRlIGluIGxlc3MgdGhhbiAyIGhvdXJzLCBpdCBpcyBub3QNCmFjY2VwdGFibGUgdG8gc2tp cCBDSS4NCi0tPg0KPCEtLSANCiMjIyMgRG9lcyBpdCBidWlsZCBhbmQgcnVuIHN1Y2Nlc3NmdWxs eT8gDQooUGxlYXNlIGNob29zZSBhdCBsZWFzdCBvbmUgbmF0aXZlIGJ1aWxkIGFuZCwgaWYgc3Vw cG9ydGVkLCBhdCBsZWFzdCBvbmUgY3Jvc3MgYnVpbGQuIE1vcmUgYXJlIGJldHRlci4pDQotIFsg XSBJIGJ1aWx0IHRoaXMgUFIgbG9jYWxseSBmb3IgbXkgbmF0aXZlIGFyY2hpdGVjdHVyZSwgKEFS Q0gtTElCQykNCi0gWyBdIEkgYnVpbHQgdGhpcyBQUiBsb2NhbGx5IGZvciB0aGVzZSBhcmNoaXRl Y3R1cmVzIChpZiBzdXBwb3J0ZWQuIG1hcmsgY3Jvc3NidWlsZHMpOg0KICAtIFsgXSBhYXJjaDY0 LW11c2wNCiAgLSBbIF0gYXJtdjdsDQogIC0gWyBdIGFybXY2bC1tdXNsDQotLT4NCgoKQSBwYXRj aCBmaWxlIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9w dWxsLzMwNDkyLnBhdGNoIGlzIGF0dGFjaGVk --===============2543663184981588031== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-fcitx5-mozc-30492.patch" RnJvbSBhMTM1YTZhMzFiOWVlMGM3Y2NkNGFmN2IxNTQ4MWM1NTM1NGMxMzIyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1B N249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogU3Vu LCAyNSBBcHIgMjAyMSAyMjo1MzoxNCArMDcwMApTdWJqZWN0OiBbUEFUQ0hdIG1vemM6IHVwZGF0 ZSB0byAyLjI2LjQzNTMuMTAwLgoKLS0tCiBzcmNwa2dzL2ZjaXR4NS1tb3pjICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgIDEgKwogc3JjcGtncy9tb3pjL3BhdGNoZXMvYWJzZWlsLnBhdGNo ICAgICAgICAgICAgIHwgIDczICsrKysKIHNyY3BrZ3MvbW96Yy9wYXRjaGVzL2Nyb3NzLnBhdGNo ICAgICAgICAgICAgICB8ICAxMCArLQogc3JjcGtncy9tb3pjL3BhdGNoZXMvY3h4LXN0ZGxpYi5w YXRjaCAgICAgICAgIHwgIDI5ICsrCiAuLi4vZGVmYXVsdF9oaXJhZ2FuYV9mcm9tX2Vudmlyb25t ZW50LnBhdGNoICAgfCAgMjAgLS0KIHNyY3BrZ3MvbW96Yy9wYXRjaGVzL2ZjaXR4LnBhdGNoICAg ICAgICAgICAgICB8ICAxMyArCiBzcmNwa2dzL21vemMvcGF0Y2hlcy9uby1wYXJhbGxlbC5wYXRj aCAgICAgICAgfCAgIDYgKy0KIHNyY3BrZ3MvbW96Yy9wYXRjaGVzL3Byb3RvYnVmLTM3MC5wYXRj aCAgICAgICB8IDMyNyAtLS0tLS0tLS0tLS0tLS0tLS0KIHNyY3BrZ3MvbW96Yy9wYXRjaGVzL3Vu c2lnbmVkLWludC5wYXRjaCAgICAgICB8IDIxMCArKysrKysrKysrKwogc3JjcGtncy9tb3pjL3Rl bXBsYXRlICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTA5ICsrKystLQogc3JjcGtncy9tb3pj L3VwZGF0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAyICsKIDExIGZpbGVzIGNoYW5n ZWQsIDQwOSBpbnNlcnRpb25zKCspLCAzOTEgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMjAw MDAgc3JjcGtncy9mY2l0eDUtbW96YwogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbW96Yy9w YXRjaGVzL2Fic2VpbC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbW96Yy9wYXRj aGVzL2N4eC1zdGRsaWIucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL21vemMvcGF0 Y2hlcy9kZWZhdWx0X2hpcmFnYW5hX2Zyb21fZW52aXJvbm1lbnQucGF0Y2gKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBzcmNwa2dzL21vemMvcGF0Y2hlcy9mY2l0eC5wYXRjaAogZGVsZXRlIG1vZGUgMTAw NjQ0IHNyY3BrZ3MvbW96Yy9wYXRjaGVzL3Byb3RvYnVmLTM3MC5wYXRjaAogY3JlYXRlIG1vZGUg MTAwNjQ0IHNyY3BrZ3MvbW96Yy9wYXRjaGVzL3Vuc2lnbmVkLWludC5wYXRjaAogY3JlYXRlIG1v ZGUgMTAwNjQ0IHNyY3BrZ3MvbW96Yy91cGRhdGUKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2ZjaXR4 NS1tb3pjIGIvc3JjcGtncy9mY2l0eDUtbW96YwpuZXcgZmlsZSBtb2RlIDEyMDAwMAppbmRleCAw MDAwMDAwMDAwMDAuLjY4NzRjYTQyNmI1ZgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvZmNp dHg1LW1vemMKQEAgLTAsMCArMSBAQAorbW96YwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbW96Yy9wYXRjaGVzL2Fic2VpbC5wYXRjaCBiL3NyY3BrZ3Mv bW96Yy9wYXRjaGVzL2Fic2VpbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAwMDAuLjIyNTEwMjk5ZGM5ZgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvbW96Yy9w YXRjaGVzL2Fic2VpbC5wYXRjaApAQCAtMCwwICsxLDczIEBACisKK1BvcnRlZCBmcm9tIGdycGMn cyBwYXRjaGVzCisKK0FuIGFsbC1pbi1vbmUgcGF0Y2ggdGhhdCBmaXhlcyBzZXZlcmFsIGlzc3Vl czoKKworMSkgVW5zY2FsZWRDeWNsZUNsb2NrIG5vdCBmdWxseSBpbXBsZW1lbnRlZCBmb3IgcHBj Ki1tdXNsIChkaXNhYmxlZCBvbiBtdXNsKQorMikgcG93ZXJwYyBzdGFja3RyYWNlIGltcGxlbWVu dGF0aW9uIG9ubHkgd29ya3Mgb24gZ2xpYmMgKGRpc2FibGVkIG9uIG11c2wpCiszKSBwb3dlcnBj IHN0YWNrdHJhY2UgaW1wbGVtZW50YXRpb24gaGFzIHBwYzY0IGFzc3VtcHRpb25zIChmaXhlZCkK KzQpIGV4YW1pbmVfc3RhY2suY3BwIG1ha2VzIGdsaWJjIGFzc3VtcHRpb25zIG9uIHBvd2VycGMg KGZpeGVkKQorCistLS0gbW96Yy9zcmMvdGhpcmRfcGFydHkvYWJzZWlsLWNwcC9hYnNsL2Jhc2Uv aW50ZXJuYWwvdW5zY2FsZWRjeWNsZWNsb2NrLmgKKysrKyBtb3pjL3NyYy90aGlyZF9wYXJ0eS9h YnNlaWwtY3BwL2Fic2wvYmFzZS9pbnRlcm5hbC91bnNjYWxlZGN5Y2xlY2xvY2suaAorQEAgLTQ2 LDcgKzQ2LDcgQEAKKyAKKyAvLyBUaGUgZm9sbG93aW5nIHBsYXRmb3JtcyBoYXZlIGFuIGltcGxl bWVudGF0aW9uIG9mIGEgaGFyZHdhcmUgY291bnRlci4KKyAjaWYgZGVmaW5lZChfX2kzODZfXykg fHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBcCistICBk ZWZpbmVkKF9fcG93ZXJwY19fKSB8fCBkZWZpbmVkKF9fcHBjX18pIHx8IFwKKysgICgoZGVmaW5l ZChfX3Bvd2VycGNfXykgfHwgZGVmaW5lZChfX3BwY19fKSkgJiYgZGVmaW5lZChfX0dMSUJDX18p KSB8fCBcCisgICBkZWZpbmVkKF9NX0lYODYpIHx8IGRlZmluZWQoX01fWDY0KQorICNkZWZpbmUg QUJTTF9IQVZFX1VOU0NBTEVEX0NZQ0xFQ0xPQ0tfSU1QTEVNRU5UQVRJT04gMQorICNlbHNlCist LS0gbW96Yy9zcmMvdGhpcmRfcGFydHkvYWJzZWlsLWNwcC9hYnNsL2RlYnVnZ2luZy9pbnRlcm5h bC9leGFtaW5lX3N0YWNrLmNjCisrKysgbW96Yy9zcmMvdGhpcmRfcGFydHkvYWJzZWlsLWNwcC9h YnNsL2RlYnVnZ2luZy9pbnRlcm5hbC9leGFtaW5lX3N0YWNrLmNjCitAQCAtMjcsNiArMjcsMTAg QEAKKyAjaW5jbHVkZSA8Y3NpZ25hbD4KKyAjaW5jbHVkZSA8Y3N0ZGlvPgorIAorKyNpZiBkZWZp bmVkKF9fcG93ZXJwY19fKQorKyNpbmNsdWRlIDxhc20vcHRyYWNlLmg+CisrI2VuZGlmCisrCisg I2luY2x1ZGUgImFic2wvYmFzZS9hdHRyaWJ1dGVzLmgiCisgI2luY2x1ZGUgImFic2wvYmFzZS9p bnRlcm5hbC9yYXdfbG9nZ2luZy5oIgorICNpbmNsdWRlICJhYnNsL2Jhc2UvbWFjcm9zLmgiCitA QCAtNTUsOCArNTksMTAgQEAKKyAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KGNv bnRleHQtPnVjX21jb250ZXh0LnBjKTsKKyAjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisg ICAgIHJldHVybiByZWludGVycHJldF9jYXN0PHZvaWQqPihjb250ZXh0LT51Y19tY29udGV4dC5n cF9yZWdzWzMyXSk7CistI2VsaWYgZGVmaW5lZChfX3Bvd2VycGNfXykKKysjZWxpZiBkZWZpbmVk KF9fcG93ZXJwY19fKSAmJiBkZWZpbmVkKF9fR0xJQkNfXykKKyAgICAgcmV0dXJuIHJlaW50ZXJw cmV0X2Nhc3Q8dm9pZCo+KGNvbnRleHQtPnVjX21jb250ZXh0LnJlZ3MtPm5pcCk7CisrI2VsaWYg ZGVmaW5lZChfX3Bvd2VycGNfXykKKysgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+ KCgoc3RydWN0IHB0X3JlZ3MgKiljb250ZXh0LT51Y19yZWdzKS0+bmlwKTsKKyAjZWxpZiBkZWZp bmVkKF9fcmlzY3YpCisgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PHZvaWQqPihjb250ZXh0 LT51Y19tY29udGV4dC5fX2dyZWdzW1JFR19QQ10pOworICNlbGlmIGRlZmluZWQoX19zMzkwX18p ICYmICFkZWZpbmVkKF9fczM5MHhfXykKKy0tLSBtb3pjL3NyYy90aGlyZF9wYXJ0eS9hYnNlaWwt Y3BwL2Fic2wvZGVidWdnaW5nL2ludGVybmFsL3N0YWNrdHJhY2VfY29uZmlnLmgKKysrKyBtb3pj L3NyYy90aGlyZF9wYXJ0eS9hYnNlaWwtY3BwL2Fic2wvZGVidWdnaW5nL2ludGVybmFsL3N0YWNr dHJhY2VfY29uZmlnLmgKK0BAIC02NCw3ICs2NCw3IEBACisgI2VsaWYgZGVmaW5lZChfX2kzODZf XykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKQorICNkZWZpbmUgQUJTTF9TVEFDS1RSQUNFX0lOTF9I RUFERVIgXAorICAgImFic2wvZGVidWdnaW5nL2ludGVybmFsL3N0YWNrdHJhY2VfeDg2LWlubC5p bmMiCistI2VsaWYgZGVmaW5lZChfX3BwY19fKSB8fCBkZWZpbmVkKF9fUFBDX18pCisrI2VsaWYg KGRlZmluZWQoX19wcGNfXykgfHwgZGVmaW5lZChfX1BQQ19fKSkgJiYgZGVmaW5lZChfX0dMSUJD X18pCisgI2RlZmluZSBBQlNMX1NUQUNLVFJBQ0VfSU5MX0hFQURFUiBcCisgICAiYWJzbC9kZWJ1 Z2dpbmcvaW50ZXJuYWwvc3RhY2t0cmFjZV9wb3dlcnBjLWlubC5pbmMiCisgI2VsaWYgZGVmaW5l ZChfX2FhcmNoNjRfXykKKy0tLSBtb3pjL3NyYy90aGlyZF9wYXJ0eS9hYnNlaWwtY3BwL2Fic2wv ZGVidWdnaW5nL2ludGVybmFsL3N0YWNrdHJhY2VfcG93ZXJwYy1pbmwuaW5jCisrKysgbW96Yy9z cmMvdGhpcmRfcGFydHkvYWJzZWlsLWNwcC9hYnNsL2RlYnVnZ2luZy9pbnRlcm5hbC9zdGFja3Ry YWNlX3Bvd2VycGMtaW5sLmluYworQEAgLTEzMCw4ICsxMzAsMTMgQEAKKyAgICAgICAgIFN0YWNr dHJhY2VQb3dlclBDR2V0TFIobmV3X3NwKSA9PSBrZXJuZWxfc2lndHJhbXBfcnQ2NF9hZGRyZXNz KSB7CisgICAgICAgY29uc3QgdWNvbnRleHRfdCogc2lnbmFsX2NvbnRleHQgPQorICAgICAgICAg ICByZWludGVycHJldF9jYXN0PGNvbnN0IHVjb250ZXh0X3QqPih1Yyk7CisrI2lmIGRlZmluZWQo X19wb3dlcnBjNjRfXykKKyAgICAgICB2b2lkICoqY29uc3Qgc3BfYmVmb3JlX3NpZ25hbCA9Cisg ICAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPihzaWduYWxfY29udGV4dC0+dWNfbWNv bnRleHQuZ3BfcmVnc1tQVF9SMV0pOworKyNlbHNlCisrICAgICAgdm9pZCAqKmNvbnN0IHNwX2Jl Zm9yZV9zaWduYWwgPQorKyAgICAgICAgICByZWludGVycHJldF9jYXN0PHZvaWQqKj4oc2lnbmFs X2NvbnRleHQtPnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzW1BUX1IxXSk7CisrI2VuZGlmCisg ICAgICAgLy8gQ2hlY2sgdGhhdCBhbGxlZ2VkIHNwIGJlZm9yZSBzaWduYWwgaXMgbm9ubnVsbCBh bmQgaXMgcmVhc29uYWJseQorICAgICAgIC8vIGFsaWduZWQuCisgICAgICAgaWYgKHNwX2JlZm9y ZV9zaWduYWwgIT0gbnVsbHB0ciAmJgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tb3pjL3BhdGNoZXMv Y3Jvc3MucGF0Y2ggYi9zcmNwa2dzL21vemMvcGF0Y2hlcy9jcm9zcy5wYXRjaAppbmRleCAxN2Q0 N2E5MDBlYjkuLmQ3M2M1ZjgyYjQzMCAxMDA2NDQKLS0tIGEvc3JjcGtncy9tb3pjL3BhdGNoZXMv Y3Jvc3MucGF0Y2gKKysrIGIvc3JjcGtncy9tb3pjL3BhdGNoZXMvY3Jvc3MucGF0Y2gKQEAgLTEs NyArMSw5IEBACi0tLS0gbW96Yy9zcmMvZ3lwL2NvbW1vbi5neXBpCitJbmRleDogbW96Yy9zcmMv Z3lwL2NvbW1vbi5neXBpCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbW96Yy9zcmMvZ3lwL2NvbW1vbi5neXBp Lm9yaWcKICsrKyBtb3pjL3NyYy9neXAvY29tbW9uLmd5cGkKLUBAIC00NDQsMTIgKzQ0NCwxMiBA QAotICAgICB9XSwKK0BAIC00MDksMTIgKzQwOSwxMiBAQAorICAgJ2NvbmRpdGlvbnMnOiBbCiAg ICAgIFsndGFyZ2V0X3BsYXRmb3JtPT0iTGludXgiJywgewogICAgICAgICdtYWtlX2dsb2JhbF9z ZXR0aW5ncyc6IFsKIC0gICAgICAgIFsnQVInLCAnPCEod2hpY2ggYXIpJ10sCkBAIC0xOSw3ICsy MSw3IEBACiAgICAgICAgXSwKICAgICAgfV0sCiAgICAgIFsndGFyZ2V0X3BsYXRmb3JtPT0iQW5k cm9pZCInLCB7Ci1AQCAtNDk0LDEyICs0OTQsMTIgQEAKK0BAIC00NTksMTIgKzQ1OSwxMiBAQAog ICAgICAgICAgWydMRCcsICc8KG5ka19iaW5fZGlyKS88KHRvb2xjaGFpbl9wcmVmaXgpLWxkJ10s CiAgICAgICAgICBbJ05NJywgJzwobmRrX2Jpbl9kaXIpLzwodG9vbGNoYWluX3ByZWZpeCktbm0n XSwKICAgICAgICAgIFsnUkVBREVMRicsICc8KG5ka19iaW5fZGlyKS88KHRvb2xjaGFpbl9wcmVm aXgpLXJlYWRlbGYnXSwKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbW96Yy9wYXRjaGVzL2N4eC1zdGRs aWIucGF0Y2ggYi9zcmNwa2dzL21vemMvcGF0Y2hlcy9jeHgtc3RkbGliLnBhdGNoCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMGJjY2FmOGRkYzRmCi0tLSAvZGV2L251 bGwKKysrIGIvc3JjcGtncy9tb3pjL3BhdGNoZXMvY3h4LXN0ZGxpYi5wYXRjaApAQCAtMCwwICsx LDI5IEBACitJbmRleDogbW96Yy9zcmMvZ3lwL2NvbW1vbi5neXBpCis9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0g bW96Yy9zcmMvZ3lwL2NvbW1vbi5neXBpCisrKysgbW96Yy9zcmMvZ3lwL2NvbW1vbi5neXBpCitA QCAtMTA1LDcgKzEwNSw3IEBACisgICAgIF0sCisgICAgICMgTGlicmFyaWVzIGZvciBHTlUvTGlu dXggZW52aXJvbm1lbnQuCisgICAgICdsaW51eF9sZGZsYWdzJzogWworLSAgICAgICctbGMrKycs CisrICAgICAgJy1sc3RkYysrJywKKyAgICAgICAnLXB0aHJlYWQnLAorICAgICBdLAorIAorQEAg LTIwNSw3ICsyMDUsNiBAQAorICAgICAgICAgICAgICAgJy1XdHlwZS1saW1pdHMnLAorICAgICAg ICAgICAgIF0sCisgICAgICAgICAgICAgJ2NmbGFnc19jYyc6IFsKKy0gICAgICAgICAgICAgICct c3RkbGliPWxpYmMrKycsCisgICAgICAgICAgICAgICAnLVduby1jb3ZlcmVkLXN3aXRjaC1kZWZh dWx0JywKKyAgICAgICAgICAgICAgICctV25vLXVubmFtZWQtdHlwZS10ZW1wbGF0ZS1hcmdzJywK KyAgICAgICAgICAgICAgICctV25vLWMrKzExLW5hcnJvd2luZycsCitAQCAtMjI1LDcgKzIyNCw2 IEBACisgICAgICAgICAgICAgICAnLVd0eXBlLWxpbWl0cycsCisgICAgICAgICAgICAgXSwKKyAg ICAgICAgICAgICAnY2ZsYWdzX2NjJzogWworLSAgICAgICAgICAgICAgJy1zdGRsaWI9bGliYysr JywKKyAgICAgICAgICAgICAgICctV25vLWNvdmVyZWQtc3dpdGNoLWRlZmF1bHQnLAorICAgICAg ICAgICAgICAgJy1Xbm8tdW5uYW1lZC10eXBlLXRlbXBsYXRlLWFyZ3MnLAorICAgICAgICAgICAg ICAgJy1Xbm8tYysrMTEtbmFycm93aW5nJywKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbW96Yy9wYXRj aGVzL2RlZmF1bHRfaGlyYWdhbmFfZnJvbV9lbnZpcm9ubWVudC5wYXRjaCBiL3NyY3BrZ3MvbW96 Yy9wYXRjaGVzL2RlZmF1bHRfaGlyYWdhbmFfZnJvbV9lbnZpcm9ubWVudC5wYXRjaApkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDczMzYzNWFjNWExLi4wMDAwMDAwMDAwMDAKLS0tIGEv c3JjcGtncy9tb3pjL3BhdGNoZXMvZGVmYXVsdF9oaXJhZ2FuYV9mcm9tX2Vudmlyb25tZW50LnBh dGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotLS0tIG1vemMvc3JjL3VuaXgvaWJ1 cy9wcm9wZXJ0eV9oYW5kbGVyLmNjCi0rKysgbW96Yy9zcmMvdW5peC9pYnVzL3Byb3BlcnR5X2hh bmRsZXIuY2MKLUBAIC00MCw2ICs0MCw4IEBACi0gI2luY2x1ZGUgInVuaXgvaWJ1cy9tb3pjX2Vu Z2luZV9wcm9wZXJ0eS5oIgotICNpbmNsdWRlICJ1bml4L2lidXMvcGF0aF91dGlsLmgiCi0gCi0r I2luY2x1ZGUgPGNzdGRsaWI+Ci0rCi0gLy8gT24gR25vbWUgU2hlbGwgd2l0aCBJQnVzIDEuNSwg bmV3IHByb3BlcnR5IG5hbWVkICJzeW1ib2wiIGlzIHVzZWQgdG8KLSAvLyByZXByZXNlbnQgdGhl IG1vZGUgaW5kaWNhdG9yIG9uIHRoZSBzeXN0ZW0gcGFuZWwuIE5vdGUgdGhhdCAic3ltYm9sIiBk b2VzCi0gLy8gbm90IGV4aXN0IGluIElCdXMgMS40LnguCi1AQCAtODAsNyArODIsNyBAQCBib29s IEdldERpc2FibGVkKElCdXNFbmdpbmUgKmVuZ2luZSkgewotIC8vIE9uIElCdXMgMS40LngsIElC dXMgZXhwZWN0cyB0aGF0IGFuIElNRSBzaG91bGQgYWx3YXlzIGJlIHR1cm5lZCBvbiBhbmQKLSAv LyBJTUUgb24vb2ZmIGtleXMgYXJlIGhhbmRsZWQgYnkgSUJ1cyBpdHNlbGYgcmF0aGVyIHRoYW4g ZWFjaCBJTUUuCi0gI2lmIElCVVNfQ0hFQ0tfVkVSU0lPTigxLCA1LCAwKQotLWNvbnN0IGJvb2wg a0FjdGl2YXRlZE9uTGF1bmNoID0gZmFsc2U7Ci0rY29uc3QgYm9vbCBrQWN0aXZhdGVkT25MYXVu Y2ggPSAhITo6c3RkOjpnZXRlbnYoIklCVVNfTU9aQ19ERUZBVUxUX0hJUkFHQU5BIik7Ci0gI2Vs c2UKLSBjb25zdCBib29sIGtBY3RpdmF0ZWRPbkxhdW5jaCA9IHRydWU7Ci0gI2VuZGlmICAvLyBJ QnVzPj0xLjUuMApkaWZmIC0tZ2l0IGEvc3JjcGtncy9tb3pjL3BhdGNoZXMvZmNpdHgucGF0Y2gg Yi9zcmNwa2dzL21vemMvcGF0Y2hlcy9mY2l0eC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAwMDAuLjFlZDZkMDE1MTZmNQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3Br Z3MvbW96Yy9wYXRjaGVzL2ZjaXR4LnBhdGNoCkBAIC0wLDAgKzEsMTMgQEAKK0luZGV4OiBtb3pj L3NyYy91bml4L2ZjaXR4L2ZjaXR4Lmd5cAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIG1vemMvc3JjL3VuaXgv ZmNpdHgvZmNpdHguZ3lwLm9yaWcKKysrKyBtb3pjL3NyYy91bml4L2ZjaXR4L2ZjaXR4Lmd5cAor QEAgLTk2LDcgKzk2LDcgQEAKKyAgICAgICAgICc8QChmY2l0eF9kZXBfaW5jbHVkZV9kaXJzKScs CisgICAgICAgXSwKKyAgICAgICAnZGVmaW5lcyc6IFsKKy0gICAgICAgICdMT0NBTEVESVI9Ijwh QChmY2l0eDQtY29uZmlnIC0tcHJlZml4KS9zaGFyZS9sb2NhbGUvIicsCisrICAgICAgICAnTE9D QUxFRElSPSIvdXNyL3NoYXJlL2xvY2FsZS8iJywKKyAgICAgICBdLAorICAgICB9LAorICAgXSwK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbW96Yy9wYXRjaGVzL25vLXBhcmFsbGVsLnBhdGNoIGIvc3Jj cGtncy9tb3pjL3BhdGNoZXMvbm8tcGFyYWxsZWwucGF0Y2gKaW5kZXggMTRiMjMzNjdmMDllLi41 OTUyY2JjNmEwNDAgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvbW96Yy9wYXRjaGVzL25vLXBhcmFsbGVs LnBhdGNoCisrKyBiL3NyY3BrZ3MvbW96Yy9wYXRjaGVzL25vLXBhcmFsbGVsLnBhdGNoCkBAIC0x LDYgKzEsOCBAQAotLS0tIG1vemMvc3JjL2J1aWxkX21vemMucHkKK0luZGV4OiBtb3pjL3NyYy9i dWlsZF9tb3pjLnB5Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbW96Yy9zcmMvYnVpbGRfbW96Yy5weS5vcmln CiArKysgbW96Yy9zcmMvYnVpbGRfbW96Yy5weQotQEAgLTcyOCw2ICs3MjgsNyBAQCBkZWYgR3lw TWFpbihvcHRpb25zLCB1bnVzZWRfYXJncyk6CitAQCAtNDk2LDYgKzQ5Niw3IEBAIGRlZiBHeXBN YWluKG9wdGlvbnMsIHVudXNlZF9hcmdzKToKICAgIGd5cF9vcHRpb25zLmV4dGVuZChbJy0tZ2Vu ZXJhdG9yLW91dHB1dD0uJ10pCiAgICBzaG9ydF9iYXNlbmFtZSA9IEdldEJ1aWxkU2hvcnRCYXNl TmFtZSh0YXJnZXRfcGxhdGZvcm0pCiAgICBneXBfb3B0aW9ucy5leHRlbmQoWyctRycsICdvdXRw dXRfZGlyPSVzJyAlIHNob3J0X2Jhc2VuYW1lXSkKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbW96Yy9w YXRjaGVzL3Byb3RvYnVmLTM3MC5wYXRjaCBiL3NyY3BrZ3MvbW96Yy9wYXRjaGVzL3Byb3RvYnVm LTM3MC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTlkNGUwYmI5OTVkLi4w MDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9tb3pjL3BhdGNoZXMvcHJvdG9idWYtMzcwLnBhdGNo CisrKyAvZGV2L251bGwKQEAgLTEsMzI3ICswLDAgQEAKLS0tLSBtb3pjL3NyYy9kaWN0aW9uYXJ5 L3VzZXJfZGljdGlvbmFyeS5jYwotKysrIG1vemMvc3JjL2RpY3Rpb25hcnkvdXNlcl9kaWN0aW9u YXJ5LmNjCi1AQCAtMjg5LDcgKzI4OSw3IEBAIGNsYXNzIFVzZXJEaWN0aW9uYXJ5OjpVc2VyRGlj dGlvbmFyeVJlbG9hZGVyIDogcHVibGljIFRocmVhZCB7Ci0gICAgIH0KLSAKLSAgICAgYXV0b19y ZWdpc3Rlcl9tb2RlXyA9IGZhbHNlOwotLSAgICBkaWNfLT5Mb2FkKCooc3RvcmFnZS5nZXQoKSkp OwotKyAgICBkaWNfLT5Mb2FkKCooc3RvcmFnZS0+c3RvcmFnZSgpKSk7Ci0gICB9Ci0gCi0gIHBy aXZhdGU6Ci0tLS0gbW96Yy9zcmMvZGljdGlvbmFyeS91c2VyX2RpY3Rpb25hcnlfc2Vzc2lvbi5j YwotKysrIG1vemMvc3JjL2RpY3Rpb25hcnkvdXNlcl9kaWN0aW9uYXJ5X3Nlc3Npb24uY2MKLUBA IC0xNDQsNyArMTQ0LDcgQEAgY2xhc3MgVW5kb1JlbmFtZURpY3Rpb25hcnlDb21tYW5kIDogcHVi bGljIFVzZXJEaWN0aW9uYXJ5U2Vzc2lvbjo6VW5kb0NvbW1hbmQgewotICAgdmlydHVhbCBib29s IFJ1blVuZG8obW96Yzo6VXNlckRpY3Rpb25hcnlTdG9yYWdlICpzdG9yYWdlKSB7Ci0gICAgIFVz ZXJEaWN0aW9uYXJ5ICpkaWN0aW9uYXJ5ID0KLSAgICAgICAgIFVzZXJEaWN0aW9uYXJ5VXRpbDo6 R2V0TXV0YWJsZVVzZXJEaWN0aW9uYXJ5QnlJZCgKLS0gICAgICAgICAgICBzdG9yYWdlLCBkaWN0 aW9uYXJ5X2lkXyk7Ci0rICAgICAgICAgICAgc3RvcmFnZS0+c3RvcmFnZSgpLCBkaWN0aW9uYXJ5 X2lkXyk7Ci0gICAgIGlmIChkaWN0aW9uYXJ5ID09IE5VTEwpIHsKLSAgICAgICByZXR1cm4gZmFs c2U7Ci0gICAgIH0KLUBAIC0xNjksNyArMTY5LDcgQEAgY2xhc3MgVW5kb0FkZEVudHJ5Q29tbWFu ZCA6IHB1YmxpYyBVc2VyRGljdGlvbmFyeVNlc3Npb246OlVuZG9Db21tYW5kIHsKLSAgIHZpcnR1 YWwgYm9vbCBSdW5VbmRvKG1vemM6OlVzZXJEaWN0aW9uYXJ5U3RvcmFnZSAqc3RvcmFnZSkgewot ICAgICBVc2VyRGljdGlvbmFyeSAqZGljdGlvbmFyeSA9Ci0gICAgICAgICBVc2VyRGljdGlvbmFy eVV0aWw6OkdldE11dGFibGVVc2VyRGljdGlvbmFyeUJ5SWQoCi0tICAgICAgICAgICAgc3RvcmFn ZSwgZGljdGlvbmFyeV9pZF8pOwotKyAgICAgICAgICAgIHN0b3JhZ2UtPnN0b3JhZ2UoKSwgZGlj dGlvbmFyeV9pZF8pOwotICAgICBpZiAoZGljdGlvbmFyeSA9PSBOVUxMIHx8IGRpY3Rpb25hcnkt PmVudHJpZXNfc2l6ZSgpID09IDApIHsKLSAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgIH0KLUBA IC0xOTUsNyArMTk1LDcgQEAgY2xhc3MgVW5kb0VkaXRFbnRyeUNvbW1hbmQgOiBwdWJsaWMgVXNl ckRpY3Rpb25hcnlTZXNzaW9uOjpVbmRvQ29tbWFuZCB7Ci0gICB2aXJ0dWFsIGJvb2wgUnVuVW5k byhtb3pjOjpVc2VyRGljdGlvbmFyeVN0b3JhZ2UgKnN0b3JhZ2UpIHsKLSAgICAgVXNlckRpY3Rp b25hcnkgKmRpY3Rpb25hcnkgPQotICAgICAgICAgVXNlckRpY3Rpb25hcnlVdGlsOjpHZXRNdXRh YmxlVXNlckRpY3Rpb25hcnlCeUlkKAotLSAgICAgICAgICAgIHN0b3JhZ2UsIGRpY3Rpb25hcnlf aWRfKTsKLSsgICAgICAgICAgICBzdG9yYWdlLT5zdG9yYWdlKCksIGRpY3Rpb25hcnlfaWRfKTsK LSAgICAgaWYgKGRpY3Rpb25hcnkgPT0gTlVMTCB8fAotICAgICAgICAgaW5kZXhfIDwgMCB8fCBk aWN0aW9uYXJ5LT5lbnRyaWVzX3NpemUoKSA8PSBpbmRleF8pIHsKLSAgICAgICByZXR1cm4gZmFs c2U7Ci1AQCAtMjQwLDcgKzI0MCw3IEBAIGNsYXNzIFVuZG9EZWxldGVFbnRyeUNvbW1hbmQgOiBw dWJsaWMgVXNlckRpY3Rpb25hcnlTZXNzaW9uOjpVbmRvQ29tbWFuZCB7Ci0gICB2aXJ0dWFsIGJv b2wgUnVuVW5kbyhtb3pjOjpVc2VyRGljdGlvbmFyeVN0b3JhZ2UgKnN0b3JhZ2UpIHsKLSAgICAg VXNlckRpY3Rpb25hcnkgKmRpY3Rpb25hcnkgPQotICAgICAgICAgVXNlckRpY3Rpb25hcnlVdGls OjpHZXRNdXRhYmxlVXNlckRpY3Rpb25hcnlCeUlkKAotLSAgICAgICAgICAgIHN0b3JhZ2UsIGRp Y3Rpb25hcnlfaWRfKTsKLSsgICAgICAgICAgICBzdG9yYWdlLT5zdG9yYWdlKCksIGRpY3Rpb25h cnlfaWRfKTsKLSAgICAgaWYgKGRpY3Rpb25hcnkgPT0gTlVMTCkgewotICAgICAgIHJldHVybiBm YWxzZTsKLSAgICAgfQotQEAgLTMwNiw3ICszMDYsNyBAQCBjbGFzcyBVbmRvSW1wb3J0RnJvbVN0 cmluZ0NvbW1hbmQgOiBwdWJsaWMgVXNlckRpY3Rpb25hcnlTZXNzaW9uOjpVbmRvQ29tbWFuZCB7 Ci0gICB2aXJ0dWFsIGJvb2wgUnVuVW5kbyhtb3pjOjpVc2VyRGljdGlvbmFyeVN0b3JhZ2UgKnN0 b3JhZ2UpIHsKLSAgICAgVXNlckRpY3Rpb25hcnkgKmRpY3Rpb25hcnkgPQotICAgICAgICAgVXNl ckRpY3Rpb25hcnlVdGlsOjpHZXRNdXRhYmxlVXNlckRpY3Rpb25hcnlCeUlkKAotLSAgICAgICAg ICAgIHN0b3JhZ2UsIGRpY3Rpb25hcnlfaWRfKTsKLSsgICAgICAgICAgICBzdG9yYWdlLT5zdG9y YWdlKCksIGRpY3Rpb25hcnlfaWRfKTsKLSAgICAgaWYgKGRpY3Rpb25hcnkgPT0gTlVMTCkgewot ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgfQotQEAgLTM0NSw3ICszNDUsNyBAQCBVc2VyRGlj dGlvbmFyeVNlc3Npb246On5Vc2VyRGljdGlvbmFyeVNlc3Npb24oKSB7Ci0gCi0gLy8gVE9ETyho aWRlaGlrbykgbW92ZSB0aGlzIHRvIGhlYWRlci4KLSBjb25zdCBVc2VyRGljdGlvbmFyeVN0b3Jh Z2UgJlVzZXJEaWN0aW9uYXJ5U2Vzc2lvbjo6c3RvcmFnZSgpIGNvbnN0IHsKLS0gIHJldHVybiAq c3RvcmFnZV87Ci0rICByZXR1cm4gKnN0b3JhZ2VfLT5zdG9yYWdlKCk7Ci0gfQotIG1vemM6OlVz ZXJEaWN0aW9uYXJ5U3RvcmFnZSAqVXNlckRpY3Rpb25hcnlTZXNzaW9uOjptdXRhYmxlX3N0b3Jh Z2UoKSB7Ci0gICByZXR1cm4gc3RvcmFnZV8uZ2V0KCk7Ci1AQCAtNDY0LDcgKzQ2NCw3IEBAIFVz ZXJEaWN0aW9uYXJ5Q29tbWFuZFN0YXR1czo6U3RhdHVzIFVzZXJEaWN0aW9uYXJ5U2Vzc2lvbjo6 Q3JlYXRlRGljdGlvbmFyeSgKLSAgICAgY29uc3Qgc3RyaW5nICZkaWN0aW9uYXJ5X25hbWUsIHVp bnQ2NCAqbmV3X2RpY3Rpb25hcnlfaWQpIHsKLSAgIFVzZXJEaWN0aW9uYXJ5Q29tbWFuZFN0YXR1 czo6U3RhdHVzIHN0YXR1cyA9Ci0gICAgICAgVXNlckRpY3Rpb25hcnlVdGlsOjpDcmVhdGVEaWN0 aW9uYXJ5KAotLSAgICAgICAgICBzdG9yYWdlXy5nZXQoKSwgZGljdGlvbmFyeV9uYW1lLCBuZXdf ZGljdGlvbmFyeV9pZCk7Ci0rICAgICAgICAgIHN0b3JhZ2VfLT5zdG9yYWdlKCksIGRpY3Rpb25h cnlfbmFtZSwgbmV3X2RpY3Rpb25hcnlfaWQpOwotICAgaWYgKHN0YXR1cyA9PSBVc2VyRGljdGlv bmFyeUNvbW1hbmRTdGF0dXM6OlVTRVJfRElDVElPTkFSWV9DT01NQU5EX1NVQ0NFU1MpIHsKLSAg ICAgQWRkVW5kb0NvbW1hbmQobmV3IFVuZG9DcmVhdGVEaWN0aW9uYXJ5Q29tbWFuZCk7Ci0gICB9 Ci1AQCAtNDg4LDcgKzQ4OCw3IEBAIFVzZXJEaWN0aW9uYXJ5U2Vzc2lvbjo6RGVsZXRlRGljdGlv bmFyeUludGVybmFsKAotICAgaW50IG9yaWdpbmFsX2luZGV4OwotICAgVXNlckRpY3Rpb25hcnkg KmRlbGV0ZWRfZGljdGlvbmFyeTsKLSAgIGlmICghVXNlckRpY3Rpb25hcnlVdGlsOjpEZWxldGVE aWN0aW9uYXJ5KAotLSAgICAgICAgICBzdG9yYWdlXy5nZXQoKSwgZGljdGlvbmFyeV9pZCwKLSsg ICAgICAgICAgc3RvcmFnZV8tPnN0b3JhZ2UoKSwgZGljdGlvbmFyeV9pZCwKLSAgICAgICAgICAg Jm9yaWdpbmFsX2luZGV4LCAmZGVsZXRlZF9kaWN0aW9uYXJ5KSkgewotICAgICAvLyBGYWlsZWQg dG8gZGVsZXRlIHRoZSBkaWN0aW9uYXJ5LgotICAgICByZXR1cm4gVXNlckRpY3Rpb25hcnlDb21t YW5kU3RhdHVzOjpVTktOT1dOX0RJQ1RJT05BUllfSUQ7Ci1AQCAtNTEwLDcgKzUxMCw3IEBAIFVz ZXJEaWN0aW9uYXJ5Q29tbWFuZFN0YXR1czo6U3RhdHVzIFVzZXJEaWN0aW9uYXJ5U2Vzc2lvbjo6 UmVuYW1lRGljdGlvbmFyeSgKLSAgICAgdWludDY0IGRpY3Rpb25hcnlfaWQsIGNvbnN0IHN0cmlu ZyAmZGljdGlvbmFyeV9uYW1lKSB7Ci0gICBzdHJpbmcgb3JpZ2luYWxfbmFtZTsKLSAgIGNvbnN0 IFVzZXJEaWN0aW9uYXJ5ICpkaWN0aW9uYXJ5ID0KLS0gICAgICBVc2VyRGljdGlvbmFyeVV0aWw6 OkdldFVzZXJEaWN0aW9uYXJ5QnlJZCgqc3RvcmFnZV8sIGRpY3Rpb25hcnlfaWQpOwotKyAgICAg IFVzZXJEaWN0aW9uYXJ5VXRpbDo6R2V0VXNlckRpY3Rpb25hcnlCeUlkKCpzdG9yYWdlXy0+c3Rv cmFnZSgpLCBkaWN0aW9uYXJ5X2lkKTsKLSAgIGlmIChkaWN0aW9uYXJ5ICE9IE5VTEwpIHsKLSAg ICAgLy8gTm90ZSB0aGF0IGlmIGRpY3Rpb25hcnkgaXMgbnVsbCwgaXQgbWVhbnMgdGhlIGRpY3Rp b25hcnlfaWQgaXMgaW52YWxpZAotICAgICAvLyBzbyBmb2xsb3dpbmcgUmVuYW1lRGljdGlvbmFy eSB3aWxsIGZhaWwsIGFuZCBlcnJvciBoYW5kbGluZyBpcyBkb25lCi1AQCAtNTQ3LDcgKzU0Nyw3 IEBAIFVzZXJEaWN0aW9uYXJ5Q29tbWFuZFN0YXR1czo6U3RhdHVzIFVzZXJEaWN0aW9uYXJ5U2Vz c2lvbjo6QWRkRW50cnkoCi0gICAgIHVpbnQ2NCBkaWN0aW9uYXJ5X2lkLCBjb25zdCBVc2VyRGlj dGlvbmFyeTo6RW50cnkgJmVudHJ5KSB7Ci0gICBVc2VyRGljdGlvbmFyeSAqZGljdGlvbmFyeSA9 Ci0gICAgICAgVXNlckRpY3Rpb25hcnlVdGlsOjpHZXRNdXRhYmxlVXNlckRpY3Rpb25hcnlCeUlk KAotLSAgICAgICAgICBzdG9yYWdlXy5nZXQoKSwgZGljdGlvbmFyeV9pZCk7Ci0rICAgICAgICAg IHN0b3JhZ2VfLT5zdG9yYWdlKCksIGRpY3Rpb25hcnlfaWQpOwotICAgaWYgKGRpY3Rpb25hcnkg PT0gTlVMTCkgewotICAgICByZXR1cm4gVXNlckRpY3Rpb25hcnlDb21tYW5kU3RhdHVzOjpVTktO T1dOX0RJQ1RJT05BUllfSUQ7Ci0gICB9Ci1AQCAtNTc1LDcgKzU3NSw3IEBAIFVzZXJEaWN0aW9u YXJ5Q29tbWFuZFN0YXR1czo6U3RhdHVzIFVzZXJEaWN0aW9uYXJ5U2Vzc2lvbjo6RWRpdEVudHJ5 KAotICAgICB1aW50NjQgZGljdGlvbmFyeV9pZCwgaW50IGluZGV4LCBjb25zdCBVc2VyRGljdGlv bmFyeTo6RW50cnkgJmVudHJ5KSB7Ci0gICBVc2VyRGljdGlvbmFyeSAqZGljdGlvbmFyeSA9Ci0g ICAgICAgVXNlckRpY3Rpb25hcnlVdGlsOjpHZXRNdXRhYmxlVXNlckRpY3Rpb25hcnlCeUlkKAot LSAgICAgICAgICBzdG9yYWdlXy5nZXQoKSwgZGljdGlvbmFyeV9pZCk7Ci0rICAgICAgICAgIHN0 b3JhZ2VfLT5zdG9yYWdlKCksIGRpY3Rpb25hcnlfaWQpOwotICAgaWYgKGRpY3Rpb25hcnkgPT0g TlVMTCkgewotICAgICByZXR1cm4gVXNlckRpY3Rpb25hcnlDb21tYW5kU3RhdHVzOjpVTktOT1dO X0RJQ1RJT05BUllfSUQ7Ci0gICB9Ci1AQCAtNjA0LDcgKzYwNCw3IEBAIFVzZXJEaWN0aW9uYXJ5 Q29tbWFuZFN0YXR1czo6U3RhdHVzIFVzZXJEaWN0aW9uYXJ5U2Vzc2lvbjo6RGVsZXRlRW50cnko Ci0gICAgIHVpbnQ2NCBkaWN0aW9uYXJ5X2lkLCBjb25zdCBzdGQ6OnZlY3RvcjxpbnQ+ICZpbmRl eF9saXN0KSB7Ci0gICBVc2VyRGljdGlvbmFyeSAqZGljdGlvbmFyeSA9Ci0gICAgICAgVXNlckRp Y3Rpb25hcnlVdGlsOjpHZXRNdXRhYmxlVXNlckRpY3Rpb25hcnlCeUlkKAotLSAgICAgICAgICBz dG9yYWdlXy5nZXQoKSwgZGljdGlvbmFyeV9pZCk7Ci0rICAgICAgICAgIHN0b3JhZ2VfLT5zdG9y YWdlKCksIGRpY3Rpb25hcnlfaWQpOwotICAgaWYgKGRpY3Rpb25hcnkgPT0gTlVMTCkgewotICAg ICByZXR1cm4gVXNlckRpY3Rpb25hcnlDb21tYW5kU3RhdHVzOjpVTktOT1dOX0RJQ1RJT05BUllf SUQ7Ci0gICB9Ci1AQCAtNjQ0LDcgKzY0NCw3IEBAIFVzZXJEaWN0aW9uYXJ5Q29tbWFuZFN0YXR1 czo6U3RhdHVzIFVzZXJEaWN0aW9uYXJ5U2Vzc2lvbjo6SW1wb3J0RnJvbVN0cmluZygKLSAgICAg dWludDY0IGRpY3Rpb25hcnlfaWQsIGNvbnN0IHN0cmluZyAmZGF0YSkgewotICAgVXNlckRpY3Rp b25hcnkgKmRpY3Rpb25hcnkgPQotICAgICAgIFVzZXJEaWN0aW9uYXJ5VXRpbDo6R2V0TXV0YWJs ZVVzZXJEaWN0aW9uYXJ5QnlJZCgKLS0gICAgICAgICAgc3RvcmFnZV8uZ2V0KCksIGRpY3Rpb25h cnlfaWQpOwotKyAgICAgICAgICBzdG9yYWdlXy0+c3RvcmFnZSgpLCBkaWN0aW9uYXJ5X2lkKTsK LSAgIGlmIChkaWN0aW9uYXJ5ID09IE5VTEwpIHsKLSAgICAgcmV0dXJuIFVzZXJEaWN0aW9uYXJ5 Q29tbWFuZFN0YXR1czo6VU5LTk9XTl9ESUNUSU9OQVJZX0lEOwotICAgfQotQEAgLTY5OSw3ICs2 OTksNyBAQCBVc2VyRGljdGlvbmFyeVNlc3Npb246OkltcG9ydFRvTmV3RGljdGlvbmFyeUZyb21T dHJpbmcoCi0gICAgIHVpbnQ2NCAqbmV3X2RpY3Rpb25hcnlfaWQpIHsKLSAgIFVzZXJEaWN0aW9u YXJ5Q29tbWFuZFN0YXR1czo6U3RhdHVzIHN0YXR1cyA9Ci0gICAgICAgVXNlckRpY3Rpb25hcnlV dGlsOjpDcmVhdGVEaWN0aW9uYXJ5KAotLSAgICAgICAgICBzdG9yYWdlXy5nZXQoKSwgZGljdGlv bmFyeV9uYW1lLCBuZXdfZGljdGlvbmFyeV9pZCk7Ci0rICAgICAgICAgIHN0b3JhZ2VfLT5zdG9y YWdlKCksIGRpY3Rpb25hcnlfbmFtZSwgbmV3X2RpY3Rpb25hcnlfaWQpOwotICAgaWYgKHN0YXR1 cyAhPSBVc2VyRGljdGlvbmFyeUNvbW1hbmRTdGF0dXM6OlVTRVJfRElDVElPTkFSWV9DT01NQU5E X1NVQ0NFU1MpIHsKLSAgICAgcmV0dXJuIHN0YXR1czsKLSAgIH0KLUBAIC03MDksNyArNzA5LDcg QEAgVXNlckRpY3Rpb25hcnlTZXNzaW9uOjpJbXBvcnRUb05ld0RpY3Rpb25hcnlGcm9tU3RyaW5n KAotIAotICAgVXNlckRpY3Rpb25hcnkgKmRpY3Rpb25hcnkgPQotICAgICAgIFVzZXJEaWN0aW9u YXJ5VXRpbDo6R2V0TXV0YWJsZVVzZXJEaWN0aW9uYXJ5QnlJZCgKLS0gICAgICAgICAgc3RvcmFn ZV8uZ2V0KCksICpuZXdfZGljdGlvbmFyeV9pZCk7Ci0rICAgICAgICAgIHN0b3JhZ2VfLT5zdG9y YWdlKCksICpuZXdfZGljdGlvbmFyeV9pZCk7Ci0gICBpZiAoZGljdGlvbmFyeSA9PSBOVUxMKSB7 Ci0gICAgIC8vIFRoZSBkaWN0aW9uYXJ5IHNob3VsZCBiZSBhbHdheXMgZm91bmQuCi0gICAgIHJl dHVybiBVc2VyRGljdGlvbmFyeUNvbW1hbmRTdGF0dXM6OlVOS05PV05fRVJST1I7Ci1AQCAtNzI4 LDcgKzcyOCw3IEBAIGJvb2wgVXNlckRpY3Rpb25hcnlTZXNzaW9uOjpFbnN1cmVOb25FbXB0eVN0 b3JhZ2UoKSB7Ci0gICB1aW50NjQgbmV3X2RpY3Rpb25hcnlfaWQ7Ci0gICBVc2VyRGljdGlvbmFy eUNvbW1hbmRTdGF0dXM6OlN0YXR1cyBzdGF0dXMgPQotICAgICAgIFVzZXJEaWN0aW9uYXJ5VXRp bDo6Q3JlYXRlRGljdGlvbmFyeSgKLS0gICAgICAgICAgc3RvcmFnZV8uZ2V0KCksIGRlZmF1bHRf ZGljdGlvbmFyeV9uYW1lXywgJm5ld19kaWN0aW9uYXJ5X2lkKTsKLSsgICAgICAgICAgc3RvcmFn ZV8tPnN0b3JhZ2UoKSwgZGVmYXVsdF9kaWN0aW9uYXJ5X25hbWVfLCAmbmV3X2RpY3Rpb25hcnlf aWQpOwotICAgQ0hFQ0tfRVEoCi0gICAgICAgc3RhdHVzLCBVc2VyRGljdGlvbmFyeUNvbW1hbmRT dGF0dXM6OlVTRVJfRElDVElPTkFSWV9DT01NQU5EX1NVQ0NFU1MpOwotICAgcmV0dXJuIHRydWU7 Ci0tLS0gbW96Yy9zcmMvZGljdGlvbmFyeS91c2VyX2RpY3Rpb25hcnlfc3RvcmFnZS5jYwotKysr IG1vemMvc3JjL2RpY3Rpb25hcnkvdXNlcl9kaWN0aW9uYXJ5X3N0b3JhZ2UuY2MKLUBAIC0xMDks NyArMTA5LDcgQEAgYm9vbCBVc2VyRGljdGlvbmFyeVN0b3JhZ2U6OkxvYWRJbnRlcm5hbCgpIHsK LSAgIG1vemM6OnByb3RvYnVmOjppbzo6SXN0cmVhbUlucHV0U3RyZWFtIHplcm9fY29weV9pbnB1 dCgmaWZzKTsKLSAgIG1vemM6OnByb3RvYnVmOjppbzo6Q29kZWRJbnB1dFN0cmVhbSBkZWNvZGVy KCZ6ZXJvX2NvcHlfaW5wdXQpOwotICAgZGVjb2Rlci5TZXRUb3RhbEJ5dGVzTGltaXQoa0RlZmF1 bHRUb3RhbEJ5dGVzTGltaXQsIC0xKTsKLS0gIGlmICghUGFyc2VGcm9tQ29kZWRTdHJlYW0oJmRl Y29kZXIpKSB7Ci0rICBpZiAoIXN0b3JhZ2VfLlBhcnNlRnJvbUNvZGVkU3RyZWFtKCZkZWNvZGVy KSkgewotICAgICBMT0coRVJST1IpIDw8ICJGYWlsZWQgdG8gcGFyc2UiOwotICAgICBpZiAoIWRl Y29kZXIuQ29uc3VtZWRFbnRpcmVNZXNzYWdlKCkgfHwgIWlmcy5lb2YoKSkgewotICAgICAgIExP RyhFUlJPUikgPDwgIlBhcnNlRnJvbVN0cmVhbSBmYWlsZWQ6IGZpbGUgc2VlbXMgYnJva2VuIjsK LUBAIC0xNDEsNyArMTQxLDcgQEAgYm9vbCBVc2VyRGljdGlvbmFyeVN0b3JhZ2U6OkxvYWQoKSB7 Ci0gICAgIGNvbnN0IFVzZXJEaWN0aW9uYXJ5ICZkaWN0ID0gZGljdGlvbmFyaWVzKGkpOwotICAg ICBpZiAoZGljdC5pZCgpID09IDApIHsKLSAgICAgICBtdXRhYmxlX2RpY3Rpb25hcmllcyhpKS0+ c2V0X2lkKAotLSAgICAgICAgICBVc2VyRGljdGlvbmFyeVV0aWw6OkNyZWF0ZU5ld0RpY3Rpb25h cnlJZCgqdGhpcykpOwotKyAgICAgICAgICBVc2VyRGljdGlvbmFyeVV0aWw6OkNyZWF0ZU5ld0Rp Y3Rpb25hcnlJZChzdG9yYWdlXykpOwotICAgICB9Ci0gICB9Ci0gCi1AQCAtMTcxLDcgKzE3MSw3 IEBAIGJvb2wgVXNlckRpY3Rpb25hcnlTdG9yYWdlOjpTYXZlKCkgewotICAgICAgIHJldHVybiBm YWxzZTsKLSAgICAgfQotIAotLSAgICBpZiAoIVNlcmlhbGl6ZVRvT3N0cmVhbSgmb2ZzKSkgewot KyAgICBpZiAoIXN0b3JhZ2VfLlNlcmlhbGl6ZVRvT3N0cmVhbSgmb2ZzKSkgewotICAgICAgIExP RyhFUlJPUikgPDwgIlNlcmlhbGl6ZVRvU3RyaW5nIGZhaWxlZCI7Ci0gICAgICAgbGFzdF9lcnJv cl90eXBlXyA9IFNZTkNfRkFJTFVSRTsKLSAgICAgICByZXR1cm4gZmFsc2U7Ci1AQCAtMjQxLDcg KzI0MSw3IEBAIGJvb2wgVXNlckRpY3Rpb25hcnlTdG9yYWdlOjpFeHBvcnREaWN0aW9uYXJ5KAot IGJvb2wgVXNlckRpY3Rpb25hcnlTdG9yYWdlOjpDcmVhdGVEaWN0aW9uYXJ5KAotICAgICBjb25z dCBzdHJpbmcgJmRpY19uYW1lLCB1aW50NjQgKm5ld19kaWNfaWQpIHsKLSAgIFVzZXJEaWN0aW9u YXJ5Q29tbWFuZFN0YXR1czo6U3RhdHVzIHN0YXR1cyA9Ci0tICAgICAgVXNlckRpY3Rpb25hcnlV dGlsOjpDcmVhdGVEaWN0aW9uYXJ5KHRoaXMsIGRpY19uYW1lLCBuZXdfZGljX2lkKTsKLSsgICAg ICBVc2VyRGljdGlvbmFyeVV0aWw6OkNyZWF0ZURpY3Rpb25hcnkoJnN0b3JhZ2VfLCBkaWNfbmFt ZSwgbmV3X2RpY19pZCk7Ci0gICAvLyBVcGRhdGUgbGFzdF9lcnJvcl90eXBlXwotICAgc3dpdGNo IChzdGF0dXMpIHsKLSAgICAgY2FzZSBVc2VyRGljdGlvbmFyeUNvbW1hbmRTdGF0dXM6OkRJQ1RJ T05BUllfTkFNRV9FTVBUWToKLUBAIC0yNzMsNyArMjczLDcgQEAgYm9vbCBVc2VyRGljdGlvbmFy eVN0b3JhZ2U6OkNyZWF0ZURpY3Rpb25hcnkoCi0gfQotIAotIGJvb2wgVXNlckRpY3Rpb25hcnlT dG9yYWdlOjpEZWxldGVEaWN0aW9uYXJ5KHVpbnQ2NCBkaWNfaWQpIHsKLS0gIGlmICghVXNlckRp Y3Rpb25hcnlVdGlsOjpEZWxldGVEaWN0aW9uYXJ5KHRoaXMsIGRpY19pZCwgTlVMTCwgTlVMTCkp IHsKLSsgIGlmICghVXNlckRpY3Rpb25hcnlVdGlsOjpEZWxldGVEaWN0aW9uYXJ5KCZzdG9yYWdl XywgZGljX2lkLCBOVUxMLCBOVUxMKSkgewotICAgICAvLyBGYWlsZWQgdG8gZGVsZXRlIGRpY3Rp b25hcnkuCi0gICAgIGxhc3RfZXJyb3JfdHlwZV8gPSBJTlZBTElEX0RJQ1RJT05BUllfSUQ7Ci0g ICAgIHJldHVybiBmYWxzZTsKLUBAIC0zMTgsNyArMzE4LDcgQEAgYm9vbCBVc2VyRGljdGlvbmFy eVN0b3JhZ2U6OlJlbmFtZURpY3Rpb25hcnkodWludDY0IGRpY19pZCwKLSB9Ci0gCi0gaW50IFVz ZXJEaWN0aW9uYXJ5U3RvcmFnZTo6R2V0VXNlckRpY3Rpb25hcnlJbmRleCh1aW50NjQgZGljX2lk KSBjb25zdCB7Ci0tICByZXR1cm4gVXNlckRpY3Rpb25hcnlVdGlsOjpHZXRVc2VyRGljdGlvbmFy eUluZGV4QnlJZCgqdGhpcywgZGljX2lkKTsKLSsgIHJldHVybiBVc2VyRGljdGlvbmFyeVV0aWw6 OkdldFVzZXJEaWN0aW9uYXJ5SW5kZXhCeUlkKHN0b3JhZ2VfLCBkaWNfaWQpOwotIH0KLSAKLSBi b29sIFVzZXJEaWN0aW9uYXJ5U3RvcmFnZTo6R2V0VXNlckRpY3Rpb25hcnlJZChjb25zdCBzdHJp bmcgJmRpY19uYW1lLAotQEAgLTMzNSw3ICszMzUsNyBAQCBib29sIFVzZXJEaWN0aW9uYXJ5U3Rv cmFnZTo6R2V0VXNlckRpY3Rpb25hcnlJZChjb25zdCBzdHJpbmcgJmRpY19uYW1lLAotIAotIHVz ZXJfZGljdGlvbmFyeTo6VXNlckRpY3Rpb25hcnkgKlVzZXJEaWN0aW9uYXJ5U3RvcmFnZTo6R2V0 VXNlckRpY3Rpb25hcnkoCi0gICAgIHVpbnQ2NCBkaWNfaWQpIHsKLS0gIHJldHVybiBVc2VyRGlj dGlvbmFyeVV0aWw6OkdldE11dGFibGVVc2VyRGljdGlvbmFyeUJ5SWQodGhpcywgZGljX2lkKTsK LSsgIHJldHVybiBVc2VyRGljdGlvbmFyeVV0aWw6OkdldE11dGFibGVVc2VyRGljdGlvbmFyeUJ5 SWQoJnN0b3JhZ2VfLCBkaWNfaWQpOwotIH0KLSAKLSBVc2VyRGljdGlvbmFyeVN0b3JhZ2U6OlVz ZXJEaWN0aW9uYXJ5U3RvcmFnZUVycm9yVHlwZQotQEAgLTM2MSwxNCArMzYxLDE0IEBAIGJvb2wg VXNlckRpY3Rpb25hcnlTdG9yYWdlOjpBZGRUb0F1dG9SZWdpc3RlcmVkRGljdGlvbmFyeSgKLSAK LSAgIFVzZXJEaWN0aW9uYXJ5ICpkaWMgPSBOVUxMOwotICAgaWYgKGF1dG9faW5kZXggPT0gLTEp IHsKLS0gICAgaWYgKFVzZXJEaWN0aW9uYXJ5VXRpbDo6SXNTdG9yYWdlRnVsbCgqdGhpcykpIHsK LSsgICAgaWYgKFVzZXJEaWN0aW9uYXJ5VXRpbDo6SXNTdG9yYWdlRnVsbChzdG9yYWdlXykpIHsK LSAgICAgICBsYXN0X2Vycm9yX3R5cGVfID0gVE9PX01BTllfRElDVElPTkFSSUVTOwotICAgICAg IExPRyhFUlJPUikgPDwgInRvbyBtYW55IGRpY3Rpb25hcmllcyI7Ci0gICAgICAgVW5Mb2NrKCk7 Ci0gICAgICAgcmV0dXJuIGZhbHNlOwotICAgICB9Ci0gICAgIGRpYyA9IGFkZF9kaWN0aW9uYXJp ZXMoKTsKLS0gICAgZGljLT5zZXRfaWQoVXNlckRpY3Rpb25hcnlVdGlsOjpDcmVhdGVOZXdEaWN0 aW9uYXJ5SWQoKnRoaXMpKTsKLSsgICAgZGljLT5zZXRfaWQoVXNlckRpY3Rpb25hcnlVdGlsOjpD cmVhdGVOZXdEaWN0aW9uYXJ5SWQoc3RvcmFnZV8pKTsKLSAgICAgZGljLT5zZXRfbmFtZShrQXV0 b1JlZ2lzdGVyZWREaWN0aW9uYXJ5TmFtZSk7Ci0gICB9IGVsc2UgewotICAgICBkaWMgPSBtdXRh YmxlX2RpY3Rpb25hcmllcyhhdXRvX2luZGV4KTsKLUBAIC00MTAsNyArNDEwLDcgQEAgYm9vbCBV c2VyRGljdGlvbmFyeVN0b3JhZ2U6OkFkZFRvQXV0b1JlZ2lzdGVyZWREaWN0aW9uYXJ5KAotIH0K LSAKLSBib29sIFVzZXJEaWN0aW9uYXJ5U3RvcmFnZTo6Q29udmVydFN5bmNEaWN0aW9uYXJpZXNU b05vcm1hbERpY3Rpb25hcmllcygpIHsKLS0gIGlmIChDb3VudFN5bmNhYmxlRGljdGlvbmFyaWVz KCp0aGlzKSA9PSAwKSB7Ci0rICBpZiAoQ291bnRTeW5jYWJsZURpY3Rpb25hcmllcyhzdG9yYWdl XykgPT0gMCkgewotICAgICByZXR1cm4gZmFsc2U7Ci0gICB9Ci0gCi1AQCAtNDQ1LDcgKzQ0NSw3 IEBAIGJvb2wgVXNlckRpY3Rpb25hcnlTdG9yYWdlOjpDb252ZXJ0U3luY0RpY3Rpb25hcmllc1Rv Tm9ybWFsRGljdGlvbmFyaWVzKCkgewotICAgICAgICAgICBrRGljdGlvbmFyeU5hbWVDb252ZXJ0 ZWRGcm9tU3luY2FibGVEaWN0aW9uYXJ5OwotICAgICAgIGludCBpbmRleCA9IDA7Ci0gICAgICAg d2hpbGUgKFVzZXJEaWN0aW9uYXJ5VXRpbDo6VmFsaWRhdGVEaWN0aW9uYXJ5TmFtZSgKLS0gICAg ICAgICAgICAgICAgICp0aGlzLCBuZXdfZGljdGlvbmFyeV9uYW1lKQotKyAgICAgICAgICAgICAg ICAgc3RvcmFnZV8sIG5ld19kaWN0aW9uYXJ5X25hbWUpCi0gICAgICAgICAgICAgICE9IFVzZXJE aWN0aW9uYXJ5Q29tbWFuZFN0YXR1czo6VVNFUl9ESUNUSU9OQVJZX0NPTU1BTkRfU1VDQ0VTUykg ewotICAgICAgICAgKytpbmRleDsKLSAgICAgICAgIG5ld19kaWN0aW9uYXJ5X25hbWUgPSBVdGls OjpTdHJpbmdQcmludGYoCi1AQCAtNDU2LDcgKzQ1Niw3IEBAIGJvb2wgVXNlckRpY3Rpb25hcnlT dG9yYWdlOjpDb252ZXJ0U3luY0RpY3Rpb25hcmllc1RvTm9ybWFsRGljdGlvbmFyaWVzKCkgewot ICAgICBkaWMtPnNldF9zeW5jYWJsZShmYWxzZSk7Ci0gICB9Ci0gCi0tICBEQ0hFQ0tfRVEoMCwg Q291bnRTeW5jYWJsZURpY3Rpb25hcmllcygqdGhpcykpOwotKyAgRENIRUNLX0VRKDAsIENvdW50 U3luY2FibGVEaWN0aW9uYXJpZXMoc3RvcmFnZV8pKTsKLSAKLSAgIHJldHVybiB0cnVlOwotIH0K LS0tLSBtb3pjL3NyYy9kaWN0aW9uYXJ5L3VzZXJfZGljdGlvbmFyeV9zdG9yYWdlLmgKLSsrKyBt b3pjL3NyYy9kaWN0aW9uYXJ5L3VzZXJfZGljdGlvbmFyeV9zdG9yYWdlLmgKLUBAIC03NCw4ICs3 NCwyMCBAQCBjbGFzcyBQcm9jZXNzTXV0ZXg7Ci0gCi0gLy8gSW5oZXJpdCBmcm9tIFByb3RvY29s QnVmZmVyCi0gLy8gVE9ETyhoaWRlaGlrbyk6IEdldCByaWQgb2YgdGhpcyBpbXBsZW1lbnRhdGlv bi4KLS1jbGFzcyBVc2VyRGljdGlvbmFyeVN0b3JhZ2UgOiBwdWJsaWMgdXNlcl9kaWN0aW9uYXJ5 OjpVc2VyRGljdGlvbmFyeVN0b3JhZ2UgewotK2NsYXNzIFVzZXJEaWN0aW9uYXJ5U3RvcmFnZSB7 Ci0rIHByaXZhdGU6Ci0rICB1c2VyX2RpY3Rpb25hcnk6OlVzZXJEaWN0aW9uYXJ5U3RvcmFnZSBz dG9yYWdlXzsKLSAgcHVibGljOgotKyAgc3RhdGljIGNvbnN0IHVzZXJfZGljdGlvbmFyeTo6VXNl ckRpY3Rpb25hcnlTdG9yYWdlJiBkZWZhdWx0X2luc3RhbmNlKCkgeyByZXR1cm4gdXNlcl9kaWN0 aW9uYXJ5OjpVc2VyRGljdGlvbmFyeVN0b3JhZ2U6OmRlZmF1bHRfaW5zdGFuY2UoKTsgfQotKyAg dXNlcl9kaWN0aW9uYXJ5OjpVc2VyRGljdGlvbmFyeVN0b3JhZ2UgKnN0b3JhZ2UoKSB7IHJldHVy biAmc3RvcmFnZV87IH0KLSsgIGludCBkaWN0aW9uYXJpZXNfc2l6ZSgpIGNvbnN0IHsgcmV0dXJu IHN0b3JhZ2VfLmRpY3Rpb25hcmllc19zaXplKCk7IH0KLSsgIHZvaWQgY2xlYXJfZGljdGlvbmFy aWVzKCkgeyBzdG9yYWdlXy5jbGVhcl9kaWN0aW9uYXJpZXMoKTsgfQotKyAgdXNlcl9kaWN0aW9u YXJ5OjpVc2VyRGljdGlvbmFyeSogbXV0YWJsZV9kaWN0aW9uYXJpZXMoaW50IGluZGV4KSB7IHJl dHVybiBzdG9yYWdlXy5tdXRhYmxlX2RpY3Rpb25hcmllcyhpbmRleCk7IH0KLSsgIDo6Z29vZ2xl Ojpwcm90b2J1Zjo6UmVwZWF0ZWRQdHJGaWVsZDx1c2VyX2RpY3Rpb25hcnk6OlVzZXJEaWN0aW9u YXJ5ID4qIG11dGFibGVfZGljdGlvbmFyaWVzKCkgeyByZXR1cm4gc3RvcmFnZV8ubXV0YWJsZV9k aWN0aW9uYXJpZXMoKTsgfQotKyAgY29uc3QgOjpnb29nbGU6OnByb3RvYnVmOjpSZXBlYXRlZFB0 ckZpZWxkPHVzZXJfZGljdGlvbmFyeTo6VXNlckRpY3Rpb25hcnkgPiYgZGljdGlvbmFyaWVzKCkg Y29uc3QgeyByZXR1cm4gc3RvcmFnZV8uZGljdGlvbmFyaWVzKCk7IH0KLSsgIGNvbnN0IHVzZXJf ZGljdGlvbmFyeTo6VXNlckRpY3Rpb25hcnkmIGRpY3Rpb25hcmllcyhpbnQgaW5kZXgpIGNvbnN0 IHsgcmV0dXJuIHN0b3JhZ2VfLmRpY3Rpb25hcmllcyhpbmRleCk7IH0KLSsgIHVzZXJfZGljdGlv bmFyeTo6VXNlckRpY3Rpb25hcnkqIGFkZF9kaWN0aW9uYXJpZXMoKSB7IHJldHVybiBzdG9yYWdl Xy5hZGRfZGljdGlvbmFyaWVzKCk7IH0KLSsKLSAgIHR5cGVkZWYgdXNlcl9kaWN0aW9uYXJ5OjpV c2VyRGljdGlvbmFyeSBVc2VyRGljdGlvbmFyeTsKLSAgIHR5cGVkZWYgdXNlcl9kaWN0aW9uYXJ5 OjpVc2VyRGljdGlvbmFyeTo6RW50cnkgVXNlckRpY3Rpb25hcnlFbnRyeTsKLSAKLS0tLSBtb3pj L3NyYy9wcmVkaWN0aW9uL3VzZXJfaGlzdG9yeV9wcmVkaWN0b3IuY2MKLSsrKyBtb3pjL3NyYy9w cmVkaWN0aW9uL3VzZXJfaGlzdG9yeV9wcmVkaWN0b3IuY2MKLUBAIC0yOTEsNyArMjkxLDcgQEAg Ym9vbCBVc2VySGlzdG9yeVN0b3JhZ2U6OkxvYWQoKSB7Ci0gICAgIHJldHVybiBmYWxzZTsKLSAg IH0KLSAKLS0gIGlmICghUGFyc2VGcm9tU3RyaW5nKGlucHV0KSkgewotKyAgaWYgKCF1c2VySGlz dG9yeV8uUGFyc2VGcm9tU3RyaW5nKGlucHV0KSkgewotICAgICBMT0coRVJST1IpIDw8ICJQYXJz ZUZyb21TdHJpbmcgZmFpbGVkLiBtZXNzYWdlIGxvb2tzIGJyb2tlbiI7Ci0gICAgIHJldHVybiBm YWxzZTsKLSAgIH0KLUBAIC0zMDcsNyArMzA3LDcgQEAgYm9vbCBVc2VySGlzdG9yeVN0b3JhZ2U6 OlNhdmUoKSBjb25zdCB7Ci0gICB9Ci0gCi0gICBzdHJpbmcgb3V0cHV0OwotLSAgaWYgKCFBcHBl bmRUb1N0cmluZygmb3V0cHV0KSkgewotKyAgaWYgKCF1c2VySGlzdG9yeV8uQXBwZW5kVG9TdHJp bmcoJm91dHB1dCkpIHsKLSAgICAgTE9HKEVSUk9SKSA8PCAiQXBwZW5kVG9TdHJpbmcgZmFpbGVk IjsKLSAgICAgcmV0dXJuIGZhbHNlOwotICAgfQotLS0tIG1vemMvc3JjL3ByZWRpY3Rpb24vdXNl cl9oaXN0b3J5X3ByZWRpY3Rvci5oCi0rKysgbW96Yy9zcmMvcHJlZGljdGlvbi91c2VyX2hpc3Rv cnlfcHJlZGljdG9yLmgKLUBAIC02MSw4ICs2MSwxMyBAQCBjbGFzcyBTZWdtZW50czsKLSBjbGFz cyBVc2VySGlzdG9yeVByZWRpY3RvclN5bmNlcjsKLSAKLSAvLyBBZGRlZCBzZXJpYWxpemF0aW9u IG1ldGhvZCBmb3IgVXNlckhpc3RvcnkuCi0tY2xhc3MgVXNlckhpc3RvcnlTdG9yYWdlIDogcHVi bGljIG1vemM6OnVzZXJfaGlzdG9yeV9wcmVkaWN0b3I6OlVzZXJIaXN0b3J5IHsKLStjbGFzcyBV c2VySGlzdG9yeVN0b3JhZ2UgewotKyBwcml2YXRlOgotKyAgdXNlcl9oaXN0b3J5X3ByZWRpY3Rv cjo6VXNlckhpc3RvcnkgdXNlckhpc3RvcnlfOwotICBwdWJsaWM6Ci0rICBpbnQgZW50cmllc19z aXplKCkgY29uc3QgeyByZXR1cm4gdXNlckhpc3RvcnlfLmVudHJpZXNfc2l6ZSgpOyB9Ci0rICBj b25zdCB1c2VyX2hpc3RvcnlfcHJlZGljdG9yOjpVc2VySGlzdG9yeV9FbnRyeSYgZW50cmllcyhp bnQgaW5kZXgpIGNvbnN0IHsgcmV0dXJuIHVzZXJIaXN0b3J5Xy5lbnRyaWVzKGluZGV4KTsgfQot KyAgdXNlcl9oaXN0b3J5X3ByZWRpY3Rvcjo6VXNlckhpc3RvcnlfRW50cnkqIGFkZF9lbnRyaWVz KCkgeyByZXR1cm4gdXNlckhpc3RvcnlfLmFkZF9lbnRyaWVzKCk7IH0KLSAgIGV4cGxpY2l0IFVz ZXJIaXN0b3J5U3RvcmFnZShjb25zdCBzdHJpbmcgJmZpbGVuYW1lKTsKLSAgIH5Vc2VySGlzdG9y eVN0b3JhZ2UoKTsKLSAKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbW96Yy9wYXRjaGVzL3Vuc2lnbmVk LWludC5wYXRjaCBiL3NyY3BrZ3MvbW96Yy9wYXRjaGVzL3Vuc2lnbmVkLWludC5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjgyM2RiOWYyMTk5MwotLS0gL2Rl di9udWxsCisrKyBiL3NyY3BrZ3MvbW96Yy9wYXRjaGVzL3Vuc2lnbmVkLWludC5wYXRjaApAQCAt MCwwICsxLDIxMCBAQAorSW5kZXg6IG1vemMvc3JjL2d1aS93b3JkX3JlZ2lzdGVyX2RpYWxvZy93 b3JkX3JlZ2lzdGVyX2RpYWxvZy5jYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIG1vemMvc3JjL2d1aS93b3Jk X3JlZ2lzdGVyX2RpYWxvZy93b3JkX3JlZ2lzdGVyX2RpYWxvZy5jYworKysrIG1vemMvc3JjL2d1 aS93b3JkX3JlZ2lzdGVyX2RpYWxvZy93b3JkX3JlZ2lzdGVyX2RpYWxvZy5jYworQEAgLTk0LDcg Kzk0LDcgQEAgUVN0cmluZyBHZXRFbnYoY29uc3QgY2hhciAqZW52bmFtZSkgeworICAgICAgIHJl dHVybiBRU3RyaW5nOjpmcm9tVXRmMTYocmVpbnRlcnByZXRfY2FzdDxjb25zdCB1c2hvcnQgKj4o YnVmZmVyLmdldCgpKSk7CisgICAgIH0gZWxzZSB7CisgICAgICAgLy8gVGhpcyBpcyBhIGZhbGxi YWNrIGp1c3QgaW4gY2FzZS4KKy0gICAgICByZXR1cm4gUVN0cmluZzo6ZnJvbVVjczQocmVpbnRl cnByZXRfY2FzdDxjb25zdCB1aW50ICo+KGJ1ZmZlci5nZXQoKSkpOworKyAgICAgIHJldHVybiBR U3RyaW5nOjpmcm9tVWNzNChyZWludGVycHJldF9jYXN0PGNvbnN0IHVuc2lnbmVkICo+KGJ1ZmZl ci5nZXQoKSkpOworICAgICB9CisgICB9CisgICByZXR1cm4gUUxhdGluMVN0cmluZygiIik7CitJ bmRleDogbW96Yy9zcmMvdW5peC9mY2l0eC9zdXJyb3VuZGluZ190ZXh0X3V0aWwuY2MKKz09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KKy0tLSBtb3pjL3NyYy91bml4L2ZjaXR4L3N1cnJvdW5kaW5nX3RleHRfdXRpbC5jYwor KysrIG1vemMvc3JjL3VuaXgvZmNpdHgvc3Vycm91bmRpbmdfdGV4dF91dGlsLmNjCitAQCAtNDEs MTAgKzQxLDEwIEBACisgbmFtZXNwYWNlIG1vemMgeworIG5hbWVzcGFjZSBmY2l0eCB7CisgCist Ym9vbCBTdXJyb3VuZGluZ1RleHRVdGlsOjpHZXRTYWZlRGVsdGEodWludCBmcm9tLCB1aW50IHRv LCBpbnQzMiAqZGVsdGEpIHsKKytib29sIFN1cnJvdW5kaW5nVGV4dFV0aWw6OkdldFNhZmVEZWx0 YSh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCB0bywgaW50MzIgKmRlbHRhKSB7CisgICBEQ0hFQ0so ZGVsdGEpOworIAorLSAgc3RhdGljX2Fzc2VydChzaXplb2YoaW50NjQpID49IHNpemVvZih1aW50 KSwKKysgIHN0YXRpY19hc3NlcnQoc2l6ZW9mKGludDY0KSA+PSBzaXplb2YodW5zaWduZWQpLAor ICAgICAgICAgICAgICAgICAiaW50NjQgbXVzdCBiZSBzdWZmaWNpZW50IHRvIHN0b3JlIGEgZ3Vp bnQgdmFsdWUuIik7CisgICBzdGF0aWNfYXNzZXJ0KHNpemVvZihpbnQ2NCkgPT0gc2l6ZW9mKGxs YWJzKDApKSwKKyAgICAgICAgICAgICAgICAgInxsbGFicygwKXwgbXVzdCByZXR1cm5zIGEgNjQt Yml0IGludGVnZXIuIik7CitAQCAtMTEzLDggKzExMyw4IEBAIGJvb2wgU2VhcmNoQW5jaG9yUG9z Rm9yd2FyZCgKKyAgICAgY29uc3Qgc3RkOjpzdHJpbmcgJnN1cnJvdW5kaW5nX3RleHQsCisgICAg IGNvbnN0IHN0ZDo6c3RyaW5nICZzZWxlY3RlZF90ZXh0LAorICAgICBzaXplX3Qgc2VsZWN0ZWRf Y2hhcnNfbGVuLAorLSAgICB1aW50IGN1cnNvcl9wb3MsCistICAgIHVpbnQgKmFuY2hvcl9wb3Mp IHsKKysgICAgdW5zaWduZWQgY3Vyc29yX3BvcywKKysgICAgdW5zaWduZWQgKmFuY2hvcl9wb3Mp IHsKKyAKKyAgIENvbnN0Q2hhcjMySXRlcmF0b3IgaXRlcihzdXJyb3VuZGluZ190ZXh0KTsKKyAg IC8vIE1vdmUgfGl0ZXJ8IHRvIGN1cnNvciBwb3MuCitAQCAtMTM3LDE1ICsxMzcsMTUgQEAgYm9v bCBTZWFyY2hBbmNob3JQb3NCYWNrd2FyZCgKKyAgICAgY29uc3Qgc3RkOjpzdHJpbmcgJnN1cnJv dW5kaW5nX3RleHQsCisgICAgIGNvbnN0IHN0ZDo6c3RyaW5nICZzZWxlY3RlZF90ZXh0LAorICAg ICBzaXplX3Qgc2VsZWN0ZWRfY2hhcnNfbGVuLAorLSAgICB1aW50IGN1cnNvcl9wb3MsCistICAg IHVpbnQgKmFuY2hvcl9wb3MpIHsKKysgICAgdW5zaWduZWQgY3Vyc29yX3BvcywKKysgICAgdW5z aWduZWQgKmFuY2hvcl9wb3MpIHsKKyAgIGlmIChjdXJzb3JfcG9zIDwgc2VsZWN0ZWRfY2hhcnNf bGVuKSB7CisgICAgIHJldHVybiBmYWxzZTsKKyAgIH0KKyAKKyAgIENvbnN0Q2hhcjMySXRlcmF0 b3IgaXRlcihzdXJyb3VuZGluZ190ZXh0KTsKKyAgIC8vIFNraXAgfGl0ZXJ8IHRvIChwb3RlbnRp YWwpIGFuY2hvciBwb3MuCistICBjb25zdCB1aW50IHNraXBfY291bnQgPSBjdXJzb3JfcG9zIC0g c2VsZWN0ZWRfY2hhcnNfbGVuOworKyAgY29uc3QgdW5zaWduZWQgc2tpcF9jb3VudCA9IGN1cnNv cl9wb3MgLSBzZWxlY3RlZF9jaGFyc19sZW47CisgICBEQ0hFQ0tfTEUoc2tpcF9jb3VudCwgY3Vy c29yX3Bvcyk7CisgICBpZiAoIVNraXAoJml0ZXIsIHNraXBfY291bnQpKSB7CisgICAgIHJldHVy biBmYWxzZTsKK0BAIC0xNjQsOCArMTY0LDggQEAgYm9vbCBTZWFyY2hBbmNob3JQb3NCYWNrd2Fy ZCgKKyBib29sIFN1cnJvdW5kaW5nVGV4dFV0aWw6OkdldEFuY2hvclBvc0Zyb21TZWxlY3Rpb24o CisgICAgIGNvbnN0IHN0ZDo6c3RyaW5nICZzdXJyb3VuZGluZ190ZXh0LAorICAgICBjb25zdCBz dGQ6OnN0cmluZyAmc2VsZWN0ZWRfdGV4dCwKKy0gICAgdWludCBjdXJzb3JfcG9zLAorLSAgICB1 aW50ICphbmNob3JfcG9zKSB7CisrICAgIHVuc2lnbmVkIGN1cnNvcl9wb3MsCisrICAgIHVuc2ln bmVkICphbmNob3JfcG9zKSB7CisgICBEQ0hFQ0soYW5jaG9yX3Bvcyk7CisgCisgICBpZiAoc3Vy cm91bmRpbmdfdGV4dC5lbXB0eSgpKSB7CitAQCAtMTk2LDggKzE5Niw4IEBAIGJvb2wgR2V0U3Vy cm91bmRpbmdUZXh0KEZjaXR4SW5zdGFuY2UqIGkKKyAgICAgICAgIHJldHVybiBmYWxzZTsKKyAg ICAgfQorIAorLSAgICB1aW50IGN1cnNvcl9wb3MgPSAwOworLSAgICB1aW50IGFuY2hvcl9wb3Mg PSAwOworKyAgICB1bnNpZ25lZCBjdXJzb3JfcG9zID0gMDsKKysgICAgdW5zaWduZWQgYW5jaG9y X3BvcyA9IDA7CisgICAgIGNoYXIqIHN0ciA9IE5VTEw7CisgCisgICAgIGlmICghRmNpdHhJbnN0 YW5jZUdldFN1cnJvdW5kaW5nVGV4dChpbnN0YW5jZSwgaWMsICZzdHIsICZjdXJzb3JfcG9zLCAm YW5jaG9yX3BvcykpIHsKK0BAIC0yMTEsNyArMjExLDcgQEAgYm9vbCBHZXRTdXJyb3VuZGluZ1Rl eHQoRmNpdHhJbnN0YW5jZSogaQorICAgICAgICAgY29uc3QgY2hhciogcHJpbWFyeSA9IE5VTEw7 CisgCisgICAgICAgICBpZiAoKHByaW1hcnkgPSBGY2l0eENsaXBib2FyZEdldFByaW1hcnlTZWxl Y3Rpb24oaW5zdGFuY2UsIE5VTEwpKSAhPSBOVUxMKSB7CistICAgICAgICAgICAgdWludCBuZXdf YW5jaG9yX3BvcyA9IDA7CisrICAgICAgICAgICAgdW5zaWduZWQgbmV3X2FuY2hvcl9wb3MgPSAw OworICAgICAgICAgICAgIGNvbnN0IHN0ZDo6c3RyaW5nIHByaW1hcnlfdGV4dChwcmltYXJ5KTsK KyAgICAgICAgICAgICBpZiAoU3Vycm91bmRpbmdUZXh0VXRpbDo6R2V0QW5jaG9yUG9zRnJvbVNl bGVjdGlvbigKKyAgICAgICAgICAgICAgICAgc3Vycm91bmRpbmdfdGV4dCwgcHJpbWFyeV90ZXh0 LAorSW5kZXg6IG1vemMvc3JjL3VuaXgvZmNpdHgvc3Vycm91bmRpbmdfdGV4dF91dGlsLmgKKz09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KKy0tLSBtb3pjL3NyYy91bml4L2ZjaXR4L3N1cnJvdW5kaW5nX3RleHRfdXRpbC5o CisrKysgbW96Yy9zcmMvdW5peC9mY2l0eC9zdXJyb3VuZGluZ190ZXh0X3V0aWwuaAorQEAgLTU1 LDcgKzU1LDcgQEAgY2xhc3MgU3Vycm91bmRpbmdUZXh0VXRpbCB7CisgICAvLyBSZXR1cm5zIHRy dWUgd2hlbiBuZWl0aGVyIHxhYnMoZGVsdGEpfCBub3IgfC1kZWx0YXwgZG9lcyBub3QgY2F1c2UK KyAgIC8vIGludGVnZXIgb3ZlcmZsb3csIHRoYXQgaXMsIHxkZWx0YXwgaXMgaW4gYSBzYWZlIHJh bmdlLgorICAgLy8gUmV0dXJucyBmYWxzZSBvdGhlcndpc2UuCistICBzdGF0aWMgYm9vbCBHZXRT YWZlRGVsdGEodWludCBmcm9tLCB1aW50IHRvLCBpbnQzMiAqZGVsdGEpOworKyAgc3RhdGljIGJv b2wgR2V0U2FmZURlbHRhKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIHRvLCBpbnQzMiAqZGVsdGEp OworIAorICAgLy8gUmV0dXJucyB0cnVlIGlmCisgICAvLyAxLiB8c3Vycm91bmRpbmdfdGV4dHwg Y29udGFpbnMgfHNlbGVjdGVkX3RleHR8CitAQCAtNzEsOCArNzEsOCBAQCBjbGFzcyBTdXJyb3Vu ZGluZ1RleHRVdGlsIHsKKyAgIHN0YXRpYyBib29sIEdldEFuY2hvclBvc0Zyb21TZWxlY3Rpb24o CisgICAgICAgY29uc3Qgc3RkOjpzdHJpbmcgJnN1cnJvdW5kaW5nX3RleHQsCisgICAgICAgY29u c3Qgc3RkOjpzdHJpbmcgJnNlbGVjdGVkX3RleHQsCistICAgICAgdWludCBjdXJzb3JfcG9zLAor LSAgICAgIHVpbnQgKmFuY2hvcl9wb3MpOworKyAgICAgIHVuc2lnbmVkIGN1cnNvcl9wb3MsCisr ICAgICAgdW5zaWduZWQgKmFuY2hvcl9wb3MpOworIAorICBwcml2YXRlOgorICAgRElTQUxMT1df SU1QTElDSVRfQ09OU1RSVUNUT1JTKFN1cnJvdW5kaW5nVGV4dFV0aWwpOworSW5kZXg6IG1vemMv c3JjL3VuaXgvZmNpdHg1L3N1cnJvdW5kaW5nX3RleHRfdXRpbC5jYworPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0t IG1vemMvc3JjL3VuaXgvZmNpdHg1L3N1cnJvdW5kaW5nX3RleHRfdXRpbC5jYworKysrIG1vemMv c3JjL3VuaXgvZmNpdHg1L3N1cnJvdW5kaW5nX3RleHRfdXRpbC5jYworQEAgLTQzLDEwICs0Mywx MCBAQCBuYW1lc3BhY2UgZmNpdHggeworIAorIHVzaW5nIG5hbWVzcGFjZSBtb3pjOworIAorLWJv b2wgU3Vycm91bmRpbmdUZXh0VXRpbDo6R2V0U2FmZURlbHRhKHVpbnQgZnJvbSwgdWludCB0bywg aW50MzIgKmRlbHRhKSB7CisrYm9vbCBTdXJyb3VuZGluZ1RleHRVdGlsOjpHZXRTYWZlRGVsdGEo dW5zaWduZWQgZnJvbSwgdW5zaWduZWQgdG8sIGludDMyICpkZWx0YSkgeworICAgRENIRUNLKGRl bHRhKTsKKyAKKy0gIHN0YXRpY19hc3NlcnQoc2l6ZW9mKGludDY0KSA+PSBzaXplb2YodWludCks CisrICBzdGF0aWNfYXNzZXJ0KHNpemVvZihpbnQ2NCkgPj0gc2l6ZW9mKHVuc2lnbmVkKSwKKyAg ICAgICAgICAgICAgICAgImludDY0IG11c3QgYmUgc3VmZmljaWVudCB0byBzdG9yZSBhIGd1aW50 IHZhbHVlLiIpOworICAgc3RhdGljX2Fzc2VydChzaXplb2YoaW50NjQpID09IHNpemVvZihsbGFi cygwKSksCisgICAgICAgICAgICAgICAgICJ8bGxhYnMoMCl8IG11c3QgcmV0dXJucyBhIDY0LWJp dCBpbnRlZ2VyLiIpOworQEAgLTExMCw4ICsxMTAsOCBAQCBib29sIFN0YXJ0c1dpdGgoQ29uc3RD aGFyMzJJdGVyYXRvciAqaXRlCisgLy8gT3RoZXJ3aXNlIHJldHVybnMgZmFsc2UuCisgYm9vbCBT ZWFyY2hBbmNob3JQb3NGb3J3YXJkKGNvbnN0IHN0ZDo6c3RyaW5nICZzdXJyb3VuZGluZ190ZXh0 LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGQ6OnN0cmluZyAmc2VsZWN0 ZWRfdGV4dCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IHNlbGVjdGVkX2No YXJzX2xlbiwgdWludCBjdXJzb3JfcG9zLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1 aW50ICphbmNob3JfcG9zKSB7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBz ZWxlY3RlZF9jaGFyc19sZW4sIHVuc2lnbmVkIGN1cnNvcl9wb3MsCisrICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHVuc2lnbmVkICphbmNob3JfcG9zKSB7CisgICBDb25zdENoYXIzMkl0ZXJh dG9yIGl0ZXIoc3Vycm91bmRpbmdfdGV4dCk7CisgICAvLyBNb3ZlIHxpdGVyfCB0byBjdXJzb3Ig cG9zLgorICAgaWYgKCFTa2lwKCZpdGVyLCBjdXJzb3JfcG9zKSkgeworQEAgLTEzMSwxNSArMTMx LDE1IEBAIGJvb2wgU2VhcmNoQW5jaG9yUG9zRm9yd2FyZChjb25zdCBzdGQ6OnMKKyAvLyBPdGhl cndpc2UgcmV0dXJucyBmYWxzZS4KKyBib29sIFNlYXJjaEFuY2hvclBvc0JhY2t3YXJkKGNvbnN0 IHN0ZDo6c3RyaW5nICZzdXJyb3VuZGluZ190ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY29uc3Qgc3RkOjpzdHJpbmcgJnNlbGVjdGVkX3RleHQsCistICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzaXplX3Qgc2VsZWN0ZWRfY2hhcnNfbGVuLCB1aW50IGN1cnNvcl9wb3Ms CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50ICphbmNob3JfcG9zKSB7CisrICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3Qgc2VsZWN0ZWRfY2hhcnNfbGVuLCB1bnNp Z25lZCBjdXJzb3JfcG9zLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg KmFuY2hvcl9wb3MpIHsKKyAgIGlmIChjdXJzb3JfcG9zIDwgc2VsZWN0ZWRfY2hhcnNfbGVuKSB7 CisgICAgIHJldHVybiBmYWxzZTsKKyAgIH0KKyAKKyAgIENvbnN0Q2hhcjMySXRlcmF0b3IgaXRl cihzdXJyb3VuZGluZ190ZXh0KTsKKyAgIC8vIFNraXAgfGl0ZXJ8IHRvIChwb3RlbnRpYWwpIGFu Y2hvciBwb3MuCistICBjb25zdCB1aW50IHNraXBfY291bnQgPSBjdXJzb3JfcG9zIC0gc2VsZWN0 ZWRfY2hhcnNfbGVuOworKyAgY29uc3QgdW5zaWduZWQgc2tpcF9jb3VudCA9IGN1cnNvcl9wb3Mg LSBzZWxlY3RlZF9jaGFyc19sZW47CisgICBEQ0hFQ0tfTEUoc2tpcF9jb3VudCwgY3Vyc29yX3Bv cyk7CisgICBpZiAoIVNraXAoJml0ZXIsIHNraXBfY291bnQpKSB7CisgICAgIHJldHVybiBmYWxz ZTsKK0BAIC0xNTcsNyArMTU3LDcgQEAgYm9vbCBTZWFyY2hBbmNob3JQb3NCYWNrd2FyZChjb25z dCBzdGQ6OgorIAorIGJvb2wgU3Vycm91bmRpbmdUZXh0VXRpbDo6R2V0QW5jaG9yUG9zRnJvbVNl bGVjdGlvbigKKyAgICAgY29uc3Qgc3RkOjpzdHJpbmcgJnN1cnJvdW5kaW5nX3RleHQsIGNvbnN0 IHN0ZDo6c3RyaW5nICZzZWxlY3RlZF90ZXh0LAorLSAgICB1aW50IGN1cnNvcl9wb3MsIHVpbnQg KmFuY2hvcl9wb3MpIHsKKysgICAgdW5zaWduZWQgY3Vyc29yX3BvcywgdW5zaWduZWQgKmFuY2hv cl9wb3MpIHsKKyAgIERDSEVDSyhhbmNob3JfcG9zKTsKKyAKKyAgIGlmIChzdXJyb3VuZGluZ190 ZXh0LmVtcHR5KCkpIHsKK0BAIC0xODcsMTMgKzE4NywxMyBAQCBib29sIEdldFN1cnJvdW5kaW5n VGV4dChJbnB1dENvbnRleHQgKmljCisgICB9CisgCisgICBjb25zdCBhdXRvIHN1cnJvdW5kaW5n X3RleHQgPSBpYy0+c3Vycm91bmRpbmdUZXh0KCkudGV4dCgpOworLSAgdWludCBjdXJzb3JfcG9z ID0gaWMtPnN1cnJvdW5kaW5nVGV4dCgpLmN1cnNvcigpOworLSAgdWludCBhbmNob3JfcG9zID0g aWMtPnN1cnJvdW5kaW5nVGV4dCgpLmFuY2hvcigpOworKyAgdW5zaWduZWQgY3Vyc29yX3BvcyA9 IGljLT5zdXJyb3VuZGluZ1RleHQoKS5jdXJzb3IoKTsKKysgIHVuc2lnbmVkIGFuY2hvcl9wb3Mg PSBpYy0+c3Vycm91bmRpbmdUZXh0KCkuYW5jaG9yKCk7CisgCisgICBpZiAoY3Vyc29yX3BvcyA9 PSBhbmNob3JfcG9zICYmIGNsaXBib2FyZCkgeworICAgICBzdGQ6OnN0cmluZyBwcmltYXJ5ID0g Y2xpcGJvYXJkLT5jYWxsPElDbGlwYm9hcmQ6OnByaW1hcnk+KGljKTsKKyAgICAgaWYgKCFwcmlt YXJ5LmVtcHR5KCkpIHsKKy0gICAgICB1aW50IG5ld19hbmNob3JfcG9zID0gMDsKKysgICAgICB1 bnNpZ25lZCBuZXdfYW5jaG9yX3BvcyA9IDA7CisgICAgICAgaWYgKFN1cnJvdW5kaW5nVGV4dFV0 aWw6OkdldEFuY2hvclBvc0Zyb21TZWxlY3Rpb24oCisgICAgICAgICAgICAgICBzdXJyb3VuZGlu Z190ZXh0LCBwcmltYXJ5LCBjdXJzb3JfcG9zLCAmbmV3X2FuY2hvcl9wb3MpKSB7CisgICAgICAg ICBhbmNob3JfcG9zID0gbmV3X2FuY2hvcl9wb3M7CitJbmRleDogbW96Yy9zcmMvdW5peC9mY2l0 eDUvc3Vycm91bmRpbmdfdGV4dF91dGlsLmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBtb3pjL3NyYy91bml4 L2ZjaXR4NS9zdXJyb3VuZGluZ190ZXh0X3V0aWwuaAorKysrIG1vemMvc3JjL3VuaXgvZmNpdHg1 L3N1cnJvdW5kaW5nX3RleHRfdXRpbC5oCitAQCAtNTYsNyArNTYsNyBAQCBjbGFzcyBTdXJyb3Vu ZGluZ1RleHRVdGlsIHsKKyAgIC8vIFJldHVybnMgdHJ1ZSB3aGVuIG5laXRoZXIgfGFicyhkZWx0 YSl8IG5vciB8LWRlbHRhfCBkb2VzIG5vdCBjYXVzZQorICAgLy8gaW50ZWdlciBvdmVyZmxvdywg dGhhdCBpcywgfGRlbHRhfCBpcyBpbiBhIHNhZmUgcmFuZ2UuCisgICAvLyBSZXR1cm5zIGZhbHNl IG90aGVyd2lzZS4KKy0gIHN0YXRpYyBib29sIEdldFNhZmVEZWx0YSh1aW50IGZyb20sIHVpbnQg dG8sIGludDMyICpkZWx0YSk7CisrICBzdGF0aWMgYm9vbCBHZXRTYWZlRGVsdGEodW5zaWduZWQg ZnJvbSwgdW5zaWduZWQgdG8sIGludDMyICpkZWx0YSk7CisgCisgICAvLyBSZXR1cm5zIHRydWUg aWYKKyAgIC8vIDEuIHxzdXJyb3VuZGluZ190ZXh0fCBjb250YWlucyB8c2VsZWN0ZWRfdGV4dHwK K0BAIC03MSw3ICs3MSw3IEBAIGNsYXNzIFN1cnJvdW5kaW5nVGV4dFV0aWwgeworICAgLy8gT3Ro ZXJ3aXNlIHJldHVybnMgZmFsc2UuCisgICBzdGF0aWMgYm9vbCBHZXRBbmNob3JQb3NGcm9tU2Vs ZWN0aW9uKGNvbnN0IHN0ZDo6c3RyaW5nICZzdXJyb3VuZGluZ190ZXh0LAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGQ6OnN0cmluZyAmc2VsZWN0ZWRf dGV4dCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludCBjdXJz b3JfcG9zLCB1aW50ICphbmNob3JfcG9zKTsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdW5zaWduZWQgY3Vyc29yX3BvcywgdW5zaWduZWQgKmFuY2hvcl9wb3MpOwor IAorICBwcml2YXRlOgorICAgRElTQUxMT1dfSU1QTElDSVRfQ09OU1RSVUNUT1JTKFN1cnJvdW5k aW5nVGV4dFV0aWwpOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tb3pjL3RlbXBsYXRlIGIvc3JjcGtn cy9tb3pjL3RlbXBsYXRlCmluZGV4IDcxZDMyZWI1YjljZC4uMWE3OGQ0MDdmNDcxIDEwMDY0NAot LS0gYS9zcmNwa2dzL21vemMvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9tb3pjL3RlbXBsYXRlCkBA IC0xLDMzICsxLDM2IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdtb3pjJwogcGtnbmFtZT1tb3pj Ci12ZXJzaW9uPTIuMjMuMjgxNS4xMDIKLXJldmlzaW9uPTEwCisjIHNyYy9kYXRhL3ZlcnNpb24v bW96Y192ZXJzaW9uX3RlbXBsYXRlLmJ6bAordmVyc2lvbj0yLjI2LjQzNTMuMTAwCityZXZpc2lv bj0xCiBjcmVhdGVfd3Jrc3JjPXllcwogYnVpbGRfd3Jrc3JjPW1vemMvc3JjCi1ob3N0bWFrZWRl cGVuZHM9ImdldHRleHQgbmluamEgcGtnLWNvbmZpZyBwcm90b2J1ZiBwcm90b2J1Zi1kZXZlbCBw eXRob24gd2hpY2giCitob3N0bWFrZWRlcGVuZHM9ImdldHRleHQgbmluamEgcGtnLWNvbmZpZyBw cm90b2J1ZiBwcm90b2J1Zi1kZXZlbAorIHB5dGhvbjMtc2l4IHdoaWNoIHF0NS1xbWFrZSBxdDUt aG9zdC10b29scyIKIG1ha2VkZXBlbmRzPSJndGsrLWRldmVsIGlidXMtZGV2ZWwgbGliemlubmlh LWRldmVsIHByb3RvYnVmLWRldmVsIHF0NS1kZXZlbAotIGZjaXR4LWRldmVsIgorIGZjaXR4LWRl dmVsIGxpYmZjaXR4NS1kZXZlbCIKIGRlcGVuZHM9InRlZ2FraS16aW5uaWEtamFwYW5lc2U+PTAu MyIKIHNob3J0X2Rlc2M9IkphcGFuZXNlIElNRSAoT3BlbiBTb3VyY2UgdmVyc2lvbiBvZiBHb29n bGUgSmFwYW5lc2UgSW5wdXQpIgogbWFpbnRhaW5lcj0iTWF0dGhpYXMgdm9uIEZhYmVyIDxtdmZA Z214LmV1PiIKIGxpY2Vuc2U9IkJTRC0zLUNsYXVzZSIKIGhvbWVwYWdlPSJodHRwczovL2dpdGh1 Yi5jb20vZ29vZ2xlL21vemMiCiBkaXN0ZmlsZXM9IgotIGh0dHBzOi8vZ2l0bGFiLmNvbS9mY2l0 eC9tb3pjL3JlcG9zaXRvcnkvZGFkOTQ1ODRlYTUwMTIxMTBhZDFkMjA0ZTQzMzk2NDI0M2ExNjM5 ZC9hcmNoaXZlLnRhci5iejI+JHtwa2duYW1lfS0ke3ZlcnNpb259LnRhci5iejIKLSBodHRwczov L2dpdGh1Yi5jb20vYm5vb3JkaHVpcy9neXAvYXJjaGl2ZS9jNmY0NzE2ODc0MDdiZjI4ZGRmYzYz ZjFhOGY0N2FlYjdiZjU0ZWRjLnRhci5negorIGh0dHBzOi8vZ2l0aHViLmNvbS9mY2l0eC9tb3pj L2FyY2hpdmUvZDM4NGMzYjNlN2VlZDFhYTU0YTZhZjMzNjM3ODE2MDRmZTUzOGQ2NS50YXIuZ3oK KyBodHRwczovL2dpdGh1Yi5jb20vYWJzZWlsL2Fic2VpbC1jcHAvYXJjaGl2ZS8wZjNiYjQ2NmI4 NjhiNTIzY2YxZGM5YjJhYWFlZDY1Yzc3YjI4ODYyLnRhci5negorICR7REVCSUFOX1NJVEV9L21h aW4vZy9neXAvZ3lwXzAuMSsyMDIwMDUxM2dpdGNhYTYwMDIub3JpZy50YXIuZ3oKICBodHRwczov L2dpdGh1Yi5jb20vaGlyb3l1a2kta29tYXRzdS9qYXBhbmVzZS11c2FnZS1kaWN0aW9uYXJ5L2Fy Y2hpdmUvZTViMzQyNTU3NTczNGMzMjNlMWQ5NDcwMDlkZDc0NzA5NDM3YjY4NC50YXIuZ3oKICIK LWNoZWNrc3VtPSIKLSBlMzg0NTdlNjNhN2ZhOGQ2MmQ4N2I0ZjhiM2U4OWZlNWY2OTM5ZDkyZTNj NGZkMjg3YTkzMzU4Mzc1NjkzODkyCi0gODgyZjA3NGNiYjNhNGYyYmJhNTUwZmI2MTVlNjM5NDlj MGZiZjM5ZWViMTcxOGEwMzMwYjRhNTQ1YWI5NzYxNgotIDBiNmVmZWUwZWViYWMyYzFhOGVlZWEz MzMyNzhhYTQwZmNlZjc4NDZiYmE5YTM3OTk2MmM2ZTU2N2U3ZTNkYzEKLSIKK2NoZWNrc3VtPSI2 OWNiMjZlMWY5YzAzZTIwNzE1MzU2ZWY1NjhiNTgzZjJiYWY5OTZkZjVmZDg1MzZhY2EyZWQ4ZTdi ZDk0NDRmCisgM2Q3NGNkYzk4YjQyZmQ0MjU3ZDkxZjY1MjU3NTIwNmRlMTk1ZTJjODI0ZmNkOGQ2 ZTZkMjI3Zjg1Y2IxNDNlZgorIDhkNTMxYmM3ZDMzMDI0NjFkNzZhMzIzNjc0NTNjZWM2MGVkMDhi NDU1ZjI3YTUzZDhmMzEzZDgxNzYxNzEzYTgKKyAwYjZlZmVlMGVlYmFjMmMxYThlZWVhMzMzMjc4 YWE0MGZjZWY3ODQ2YmJhOWEzNzk5NjJjNmU1NjdlN2UzZGMxIgogCiBDWFhGTEFHUz0iLURfR05V X1NPVVJDRSIKK3BhdGNoX2FyZ3M9LU5wMAorbGliMzJkaXNhYmxlZD15ZXMKIAogaWYgWyAiJENS T1NTX0JVSUxEIiBdOyB0aGVuCi0JaG9zdG1ha2VkZXBlbmRzKz0iIHF0NS1kZXZlbCIKLQlzdWJw YWNrYWdlcz0iaWJ1cy1tb3pjIGZjaXR4LW1vemMiCisJc3VicGFja2FnZXM9ImlidXMtbW96YyBm Y2l0eC1tb3pjIGZjaXR4NS1tb3pjIgogZmkKIAogaWYgWyAiJFhCUFNfVEFSR0VUX0VORElBTiIg PSAiYmUiIF07IHRoZW4KQEAgLTM1LDQ1ICszOCw0MyBAQCBpZiBbICIkWEJQU19UQVJHRVRfRU5E SUFOIiA9ICJiZSIgXTsgdGhlbgogZmkKIAogcG9zdF9leHRyYWN0KCkgewotCWxuIC1zIG1vemMt KiBtb3pjCi0Jcm0gLXJmIG1vemMvc3JjL3VuaXgvZmNpdHg1CisJbXYgbW96Yy0qIG1vemMKIAog CSMgc3ltbGluayAic3VibW9kdWxlcyIgaW50byBwbGFjZQotCWZvciBfc3JjX2Rlc3QgaW4gZ3lw IGphcGFuZXNlLXVzYWdlLWRpY3Rpb25hcnk6amFwYW5lc2VfdXNhZ2VfZGljdGlvbmFyeTsgZG8K Kwlmb3IgX3NyY19kZXN0IGluIGd5cCBcCisJCWFic2VpbC1jcHAgXAorCQlqYXBhbmVzZS11c2Fn ZS1kaWN0aW9uYXJ5OmphcGFuZXNlX3VzYWdlX2RpY3Rpb25hcnkKKwlkbwogCQlfc3JjPSR7X3Ny Y19kZXN0JToqfQogCQlfZHN0PW1vemMvc3JjL3RoaXJkX3BhcnR5LyR7X3NyY19kZXN0Iyo6fQog CQlybWRpciAkX2RzdAogCQlsbiAtc3IgJF9zcmMtKiAkX2RzdAogCWRvbmUKK30KIAotCWlmIFsg IiRDUk9TU19CVUlMRCIgXTsgdGhlbgotCQkjIGZpbmQgZmNpdHg0LWNvbmZpZwotCQlzZWQgLWkg LWUgInM7ZmNpdHg0LWNvbmZpZzske1hCUFNfQ1JPU1NfQkFTRX0vdXNyL2Jpbi9mY2l0eDQtY29u ZmlnOyIgbW96Yy9zcmMvdW5peC9mY2l0eC9mY2l0eC5neXAKK3Bvc3RfcGF0Y2goKSB7CisJaWYg WyAiJFhCUFNfVEFSR0VUX0xJQkMiID0gbXVzbCBdOyB0aGVuCisJCXZzZWQgLWkgLWUgJ3N8UFRI UkVBRF9NVVRFWF9SRUNVUlNJVkVfTlB8UFRIUkVBRF9NVVRFWF9SRUNVUlNJVkV8ZycgYmFzZS9t dXRleC5jYwogCWZpCiB9CiAKIGRvX2NvbmZpZ3VyZSgpIHsKLQljYXNlICIkWEJQU19UQVJHRVRf TUFDSElORSIgaW4KLQkJKi1tdXNsKSBzZWQgLWkgLWUgJ3N8UFRIUkVBRF9NVVRFWF9SRUNVUlNJ VkVfTlB8UFRIUkVBRF9NVVRFWF9SRUNVUlNJVkV8ZycgYmFzZS9tdXRleC5jYyA7OwotCWVzYWMK IAlHWVBfREVGSU5FUz0iCiAJIGRvY3VtZW50X2Rpcj0vdXNyL3NoYXJlL2xpY2Vuc2VzLyR7cGtn bmFtZX0KIAkgdXNlX2xpYnByb3RvYnVmPTEKIAkgdXNlX2xpYnppbm5pYT0xCi0JIiBweXRob24y IGJ1aWxkX21vemMucHkgZ3lwIC0tdGFyZ2V0X3BsYXRmb3JtPUxpbnV4CisJIiBweXRob24zIGJ1 aWxkX21vemMucHkgZ3lwIC0tdGFyZ2V0X3BsYXRmb3JtPUxpbnV4CiB9CiAKIGRvX2J1aWxkKCkg ewotCWxvY2FsIHRhcmdldHMKLQl0YXJnZXRzPSIKLQkgc2VydmVyL3NlcnZlci5neXA6bW96Y19z ZXJ2ZXIKLQkgZ3VpL2d1aS5neXA6bW96Y190b29sCi0JIHVuaXgvZW1hY3MvZW1hY3MuZ3lwOm1v emNfZW1hY3NfaGVscGVyCi0JIHVuaXgvaWJ1cy9pYnVzLmd5cDppYnVzX21vemMKLQkgcmVuZGVy ZXIvcmVuZGVyZXIuZ3lwOm1vemNfcmVuZGVyZXIKLQkgdW5peC9mY2l0eC9mY2l0eC5neXA6ZmNp dHgtbW96YwotCSIKLQlweXRob24yIGJ1aWxkX21vemMucHkgYnVpbGQgLWMgUmVsZWFzZSAkdGFy Z2V0cworCXB5dGhvbjMgYnVpbGRfbW96Yy5weSBidWlsZCAtYyBSZWxlYXNlIFwKKwkJc2VydmVy L3NlcnZlci5neXA6bW96Y19zZXJ2ZXIgXAorCQlndWkvZ3VpLmd5cDptb3pjX3Rvb2wgXAorCQl1 bml4L2VtYWNzL2VtYWNzLmd5cDptb3pjX2VtYWNzX2hlbHBlciBcCisJCXVuaXgvaWJ1cy9pYnVz Lmd5cDppYnVzX21vemMgXAorCQlyZW5kZXJlci9yZW5kZXJlci5neXA6bW96Y19yZW5kZXJlciBc CisJCXVuaXgvZmNpdHgvZmNpdHguZ3lwOmZjaXR4LW1vemMgXAorCQl1bml4L2ZjaXR4NS9mY2l0 eDUuZ3lwOmZjaXR4NS1tb3pjCiAKIAlzZWQgLWkgJ3N8L3Vzci9saWJleGVjL3wvdXNyL2xpYi9p YnVzLW1vemMvfGcnIG91dF9saW51eC9SZWxlYXNlL2dlbi91bml4L2lidXMvbW96Yy54bWwKIH0K QEAgLTgyLDE1ICs4MywxNiBAQCBkb19pbnN0YWxsKCkgewogCXZpbnN0YWxsIG91dF9saW51eC9S ZWxlYXNlL21vemNfc2VydmVyIDc1NSB1c3IvbGliL21vemMKIAl2aW5zdGFsbCBvdXRfbGludXgv UmVsZWFzZS9tb3pjX3Rvb2wgNzU1IHVzci9saWIvbW96YwogCi0JaGVhZCAtbiAyOSBzZXJ2ZXIv bW96Y19zZXJ2ZXIuY2MgPiBMSUNFTlNFCi0JZm9yIGkgaW4gTElDRU5TRSBkYXRhL2luc3RhbGxl ci8qLmh0bWw7IGRvCi0JCXZsaWNlbnNlICIkaSIKLQlkb25lCisJaGVhZCAtbiAyOSB1bml4L2Zj aXR4NS9mY2l0eF9rZXlfdHJhbnNsYXRvci5jYyA+bW96Yy5MSUNFTlNFCisJdmxpY2Vuc2UgbW96 Yy5MSUNFTlNFCisJdmxpY2Vuc2UgZGF0YS9pbnN0YWxsZXIvY3JlZGl0c19lbi5odG1sCisJdmxp Y2Vuc2UgdGhpcmRfcGFydHkvamFwYW5lc2VfdXNhZ2VfZGljdGlvbmFyeS9MSUNFTlNFIGRpY3Qu TElDRU5TRQogfQogCiBpYnVzLW1vemNfcGFja2FnZSgpIHsKIAlzaG9ydF9kZXNjPSJNb3pjIGVu Z2luZSBmb3IgSUJ1cyAtIENsaWVudCBvZiB0aGUgTW96YyBpbnB1dCBtZXRob2QiCiAJZGVwZW5k cz0iJHtzb3VyY2Vwa2d9LSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0gaWJ1cz49MS41LjE0IgorCWxp YjMyZGlzYWJsZWQ9eWVzCiAJcGtnX2luc3RhbGwoKSB7CiAJCXZpbnN0YWxsIG91dF9saW51eC9S ZWxlYXNlL2lidXNfbW96YyA3NTUgdXNyL2xpYi9pYnVzLW1vemMgaWJ1cy1lbmdpbmUtbW96Ywog CQl2aW5zdGFsbCBvdXRfbGludXgvUmVsZWFzZS9nZW4vdW5peC9pYnVzL21vemMueG1sIDY0NCB1 c3Ivc2hhcmUvaWJ1cy9jb21wb25lbnQKQEAgLTEwNSw2ICsxMDcsNyBAQCBpYnVzLW1vemNfcGFj a2FnZSgpIHsKIGVtYWNzLW1vemNfcGFja2FnZSgpIHsKIAlwa2dkZXNjPSJNb3pjIGZvciBFbWFj cyIKIAlkZXBlbmRzPSIke3NvdXJjZXBrZ30tJHt2ZXJzaW9ufV8ke3JldmlzaW9ufSBlbWFjcyIK KwlsaWIzMmRpc2FibGVkPXllcwogCXBrZ19pbnN0YWxsKCkgewogCQl2YmluIG91dF9saW51eC9S ZWxlYXNlL21vemNfZW1hY3NfaGVscGVyCiAJCXZpbnN0YWxsIHVuaXgvZW1hY3MvbW96Yy5lbCA2 NDQgdXNyL3NoYXJlL2VtYWNzL3NpdGUtbGlzcC9lbWFjcy1tb3pjCkBAIC0xMTUsMTAgKzExOCw0 MCBAQCBmY2l0eC1tb3pjX3BhY2thZ2UoKSB7CiAJc2hvcnRfZGVzYz0iTW96YyBlbmdpbmUgZm9y IGZjaXR4IC0gQ2xpZW50IG9mIHRoZSBNb3pjIGlucHV0IG1ldGhvZCIKIAlkZXBlbmRzPSIke3Nv dXJjZXBrZ30tJHt2ZXJzaW9ufV8ke3JldmlzaW9ufSBmY2l0eD49NC4yLjkiCiAJaG9tZXBhZ2U9 Imh0dHBzOi8vZmNpdHgtaW0ub3JnLyIKLQlsaWNlbnNlPSJHUEwtMi4wLW9yLWxhdGVyIgorCWxp YjMyZGlzYWJsZWQ9eWVzCiAJcGtnX2luc3RhbGwoKSB7CisJCWxvY2FsIF9maWxlIF9sYW5nCiAJ CXZpbnN0YWxsIG91dF9saW51eC9SZWxlYXNlL2ZjaXR4LW1vemMuc28gNjQ0IHVzci9saWIvZmNp dHgKIAkJdmluc3RhbGwgdW5peC9mY2l0eC9mY2l0eC1tb3pjLmNvbmYgNjQ0IHVzci9zaGFyZS9m Y2l0eC9hZGRvbgogCQl2aW5zdGFsbCB1bml4L2ZjaXR4L21vemMuY29uZiA2NDQgdXNyL3NoYXJl L2ZjaXR4L2lucHV0bWV0aG9kCisJCXZpbnN0YWxsIGRhdGEvaW1hZ2VzL3VuaXgvaW1lX3Byb2R1 Y3RfaWNvbl9vcGVuc291cmNlLTMyLnBuZyBcCisJCQk2NDQgdXNyL3NoYXJlL2ZjaXR4L2ljb24g bW96Yy5wbmcKKwkJZm9yIF9maWxlIGluIG91dF9saW51eC9SZWxlYXNlL2dlbi91bml4L2ZjaXR4 L3BvLyoubW8KKwkJZG8KKwkJCV9sYW5nPSR7X2ZpbGUjIyovfQorCQkJX2xhbmc9JHtfbGFuZyUu bW99CisJCQl2aW5zdGFsbCAiJF9maWxlIiA2NDQgdXNyL3NoYXJlL2xvY2FsZS8kX2xhbmcgZmNp dHgtbW96Yy5tbworCQlkb25lCisJfQorfQorCitmY2l0eDUtbW96Y19wYWNrYWdlKCkgeworCXNo b3J0X2Rlc2M9Ik1vemMgZW5naW5lIGZvciBmY2l0eCB2NSIKKwlkZXBlbmRzPSIke3NvdXJjZXBr Z30tJHt2ZXJzaW9ufV8ke3JldmlzaW9ufSBmY2l0eDUiCisJaG9tZXBhZ2U9Imh0dHBzOi8vZmNp dHgtaW0ub3JnLyIKKwlsaWIzMmRpc2FibGVkPXllcworCXBrZ19pbnN0YWxsKCkgeworCQlsb2Nh bCBfZmlsZSBfbGFuZworCQl2aW5zdGFsbCBvdXRfbGludXgvUmVsZWFzZS9mY2l0eDUtbW96Yy5z byA2NDQgdXNyL2xpYi9mY2l0eDUKKwkJdmluc3RhbGwgdW5peC9mY2l0eDUvbW96Yy1hZGRvbi5j b25mIDY0NCBcCisJCQl1c3Ivc2hhcmUvZmNpdHg1L2FkZG9uIG1vemMuY29uZgorCQl2aW5zdGFs bCB1bml4L2ZjaXR4NS9tb3pjLmNvbmYgNjQ0IHVzci9zaGFyZS9mY2l0eDUvaW5wdXRtZXRob2QK KwkJZm9yIF9maWxlIGluIHVuaXgvZmNpdHg1L3BvLyoucG8KKwkJZG8KKwkJCV9sYW5nPSR7X2Zp bGUjIyovfQorCQkJX2xhbmc9JHtfbGFuZyUucG99CisJCQl2bWtkaXIgdXNyL3NoYXJlL2xvY2Fs ZS8kX2xhbmcKKwkJCW1zZ2ZtdCAiJF9maWxlIiAtbyAkUEtHREVTVERJUi91c3Ivc2hhcmUvbG9j YWxlLyRfbGFuZy9mY2l0eDUtbW96Yy5tbworCQlkb25lCiAJfQogfQpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9tb3pjL3VwZGF0ZSBiL3NyY3BrZ3MvbW96Yy91cGRhdGUKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwMDAwLi41YTdkZjQ2NGJhNzkKLS0tIC9kZXYvbnVsbAorKysgYi9z cmNwa2dzL21vemMvdXBkYXRlCkBAIC0wLDAgKzEsMiBAQAorIyBHb29nbGUgbmV2ZXIgdGFncyBh bnkgcmVsZWFzZXMuCitpZ25vcmU9IioiCg== --===============2543663184981588031==--