From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Takao Fujiwara To: git-commits@fedoraproject.org Subject: [rpms/ibus] autotool: Emoji dialog enhancements and bug fixes Date: Sun, 31 May 2026 02:06:30 GMT Message-ID: <178019319015.1.15706136126822109026.rpms-ibus-4b04cc4195b7@fedoraproject.org> List-ID: X-Git-Repo: rpms/ibus X-Git-Branch: autotool X-Git-Rev: 4b04cc4195b7e007da336a8c0f09694f5bee0963 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvaWJ1cwogICAgICAgICAgICBCcmFuY2ggOiBhdXRvdG9vbAogICAgICAgICAg ICBDb21taXQgOiA0YjA0Y2M0MTk1YjdlMDA3ZGEzMzZhOGMwZjA5Njk0ZjViZWUwOTYzCiAgICAg ICAgICAgIEF1dGhvciA6IFRha2FvIEZ1aml3YXJhIDx0ZnVqaXdhckByZWRoYXQuY29tPgogICAg ICAgICAgICBEYXRlICAgOiAyMDE3LTAzLTEzVDEyOjMwOjU0KzA5OjAwCiAgICAgICAgICAgIFN0 YXRzICA6ICs1NTkvLTEgaW4gMiBmaWxlKHMpCiAgICAgICAgICAgIFVSTCAgICA6IGh0dHBzOi8v c3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvaWJ1cy9jLzRiMDRjYzQxOTViN2UwMDdkYTMzNmE4 YzBmMDk2OTRmNWJlZTA5NjM/YnJhbmNoPWF1dG90b29sCgogICAgICAgICAgICBMb2c6CiAgICAg ICAgICAgIEVtb2ppIGRpYWxvZyBlbmhhbmNlbWVudHMgYW5kIGJ1ZyBmaXhlcwoKRml4ZWQgaWJ1 c19lbW9qaV9kaWN0X2xvYWQoKSBBUEkuCkZvY3VzIG9uIGVtb2ppIHRleHQgZW50cnkgYnkgZGVm YXVsdApSZW1vdmVkIGludGVybmFsIHRleHQgYnVmZmVyIGFuZCB1c2UgR3RrLkVudHJ5IGJ1ZmZl ciBpbnN0ZWFkLgpJbXBsZW1lbnRlZCBjdXJzb3IgbGVmdCwgcmlnaHQsIGhvbWUsIGVuZCBvbiBl bW9qaSBhbm5vdGF0aW9uIHByZWVkaXQuClNob3cgbG9jYWxpemVkIGVtb2ppIGRlc2NyaXB0aW9u IGZyb20gdHRzIGluIGVtb2ppIHhtbC4KCi0tLQpkaWZmIC0tZ2l0IGEvaWJ1cy1IRUFELnBhdGNo IGIvaWJ1cy1IRUFELnBhdGNoCmluZGV4IDFlYjQ3ZWIuLjQ1ZDBlZWYgMTAwNjQ0Ci0tLSBhL2li dXMtSEVBRC5wYXRjaAorKysgYi9pYnVzLUhFQUQucGF0Y2gKQEAgLTY3MywzICs2NzMsNTUzIEBA IGluZGV4IDU0OTZjNGUuLmJjMWVmZjQgMTAwNjQ0CiAtLSAKIDIuNy40CiAKK0Zyb20gMzFlZDMx ZTUzMDNjMzk0NmY1M2IwMzVhNjNkNzZmNWMxZTNjZDg0YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKK0Zyb206IGZ1aml3YXJhdCA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4KK0RhdGU6IE1v biwgMTMgTWFyIDIwMTcgMTE6NDM6MDkgKzA5MDAKK1N1YmplY3Q6IFtQQVRDSF0gc3JjOiBGaXgg aWJ1c19lbW9qaV9kaWN0X2xvYWQoKQorCitSPVNoYXduLlAuSHVhbmdAZ21haWwuY29tCisKK1Jl dmlldyBVUkw6IGh0dHBzOi8vY29kZXJldmlldy5hcHBzcG90LmNvbS8zMjAzNTAwNDMKKy0tLQor IGNvbmZpZ3VyZS5hYyAgICAgICB8IDMgKystCisgc3JjL2Vtb2ppLXBhcnNlci5jIHwgNiArKysr LS0KKyBzcmMvaWJ1c2Vtb2ppLmMgICAgfCA2ICsrKy0tLQorIDMgZmlsZXMgY2hhbmdlZCwgOSBp bnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFj IGIvY29uZmlndXJlLmFjCitpbmRleCAwMjdjMDI3Li4zNjk0ODVjIDEwMDY0NAorLS0tIGEvY29u ZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC02MjAsNyArNjIwLDggQEAgZmkKKyAK KyBBQ19BUkdfV0lUSChlbW9qaS1qc29uLWZpbGUsCisgICAgIEFTX0hFTFBfU1RSSU5HKFstLXdp dGgtZW1vamktanNvbi1maWxlWz1ESVIvZW1vamkuanNvbl1dLAorLSAgICAgICAgW1NldCBlbW9q aS5qc29uLiAoZGVmYXVsdDogIi91c3IvbGliL25vZGVfbW9kdWxlcy9lbW9qaW9uZS9lbW9qaS5q c29uIildKSwKKysgICAgICAgIFtTZXQgZW1vamkuanNvbi4gKGRlZmF1bHQ6ICIvdXNyL2xpYi9u b2RlX21vZHVsZXMvZW1vamlvbmUvZW1vamkuanNvbiIpCisrICAgICAgICAgWW91IGNhbiBnZXQg ZW1vamkuanNvbiB3aXRoICJucG0gaW5zdGFsbCAtZyBlbW9qaW9uZSIuXSksCisgICAgIEVNT0pJ X0pTT05fRklMRT0kd2l0aF9lbW9qaV9qc29uX2ZpbGUsCisgICAgIEVNT0pJX0pTT05fRklMRT0i L3Vzci9saWIvbm9kZV9tb2R1bGVzL2Vtb2ppb25lL2Vtb2ppLmpzb24iCisgKQorZGlmZiAtLWdp dCBhL3NyYy9lbW9qaS1wYXJzZXIuYyBiL3NyYy9lbW9qaS1wYXJzZXIuYworaW5kZXggYzVhZjQy Yy4uNTk2NTMwOSAxMDA2NDQKKy0tLSBhL3NyYy9lbW9qaS1wYXJzZXIuYworKysrIGIvc3JjL2Vt b2ppLXBhcnNlci5jCitAQCAtMSw3ICsxLDcgQEAKKyAvKiAtKi0gbW9kZTogQzsgYy1iYXNpYy1v ZmZzZXQ6IDQ7IGluZGVudC10YWJzLW1vZGU6IG5pbDsgLSotICovCisgLyogdmltOnNldCBldCBz dHM9NDogKi8KKyAvKiBpYnVzIC0gVGhlIElucHV0IEJ1cworLSAqIENvcHlyaWdodCAoQykgMjAx NiBUYWthbyBGdWppd2FyYSA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4KKysgKiBDb3B5cmln aHQgKEMpIDIwMTYtMjAxNyBUYWthbyBGdWppd2FyYSA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNv bT4KKyAgKiBDb3B5cmlnaHQgKEMpIDIwMTYgUmVkIEhhdCwgSW5jLgorICAqCisgICogVGhpcyBs aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgor QEAgLTIwLDkgKzIwLDExIEBACisgICogVVNBCisgICovCisgCistLyogQ29udmVydCAuLi9kYXRh L2Fubm90YXRpb25zL2VuLnhtbCBhbmQKKysvKiBDb252ZXJ0IC91c3Ivc2hhcmUvdW5pY29kZS9j bGRyL2NvbW1vbi9hbm5vdGF0aW9ucy8qLnhtbCBhbmQKKyAgKiAvdXNyL2xpYi9ub2RlX21vZHVs ZXMvZW1vamlvbmUvZW1vamkuanNvbgorICAqIHRvIHRoZSBkaWN0aW9uYXJ5IGZpbGUgd2hpY2gg bG9vayB1cCB0aGUgRW1vamkgZnJvbSB0aGUgYW5ub3RhdGlvbi4KKysgKiBHZXQgKi54bWwgZnJv bSBodHRwczovL2dpdGh1Yi5jb20vZnVqaXdhcmF0L2NsZHItZW1vamktYW5ub3RhdGlvbgorKyAq IG9yIGh0dHA6Ly93d3cudW5pY29kZS5vcmcvcmVwb3MvY2xkci90cnVuay9jb21tb24vYW5ub3Rh dGlvbnMgLgorICAqIEdldCBlbW9qaS5qc29uIHdpdGggJ25wbSBpbnN0YWxsIC1nIGVtb2ppb25l Jy4KKyAgKiBlbi54bWwgaXMgdXNlZCBmb3IgdGhlIFVuaWNvZGUgYW5ub3RhdGlvbnMgYW5kIGVt b2ppLmpzb24gaXMgdXNlZAorICAqIGZvciB0aGUgYWxpYXNlc19hc2NpaSwgZS5nLiAiOikiLCBh bmQgY2F0ZWdvcnksIGUuZy4gInBlb3BsZSIuCitkaWZmIC0tZ2l0IGEvc3JjL2lidXNlbW9qaS5j IGIvc3JjL2lidXNlbW9qaS5jCitpbmRleCA4ZDg4NzA0Li45OTZkMTM2IDEwMDY0NAorLS0tIGEv c3JjL2lidXNlbW9qaS5jCisrKysgYi9zcmMvaWJ1c2Vtb2ppLmMKK0BAIC00MzEsMTAgKzQzMSwx MCBAQCBpYnVzX2Vtb2ppX2RpY3RfbG9hZCAoY29uc3QgZ2NoYXIgKnBhdGgpCisgICAgIEdIYXNo VGFibGUgKmRpY3QgPSBnX2hhc2hfdGFibGVfbmV3X2Z1bGwgKGdfc3RyX2hhc2gsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfc3RyX2VxdWFsLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX2ZyZWUsCistICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyZWVfZGljdF93b3Jk cyk7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfb2Jq ZWN0X3VucmVmKTsKKyAKKyAgICAgZm9yIChsID0gbGlzdDsgbDsgbCA9IGwtPm5leHQpIHsKKy0g ICAgICAgIElCdXNFbW9qaURhdGEgKmRhdGEgPSBsaXN0LT5kYXRhOworKyAgICAgICAgSUJ1c0Vt b2ppRGF0YSAqZGF0YSA9IGwtPmRhdGE7CisgICAgICAgICBpZiAoIUlCVVNfSVNfRU1PSklfREFU QSAoZGF0YSkpIHsKKyAgICAgICAgICAgICBnX3dhcm5pbmcgKCJZb3VyIGRpY3QgZm9ybWF0IGlz IG5vIGxvbmdlciBzdXBwb3J0ZWQuXG4iCisgICAgICAgICAgICAgICAgICAgICAgICAiTmVlZCB0 byBjcmVhdGUgdGhlIGRpY3Rpb25hcmllcyBhZ2Fpbi4iKTsKK0BAIC00NDIsNyArNDQyLDcgQEAg aWJ1c19lbW9qaV9kaWN0X2xvYWQgKGNvbnN0IGdjaGFyICpwYXRoKQorICAgICAgICAgfQorICAg ICAgICAgZ19oYXNoX3RhYmxlX2luc2VydCAoZGljdCwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGdfc3RyZHVwIChpYnVzX2Vtb2ppX2RhdGFfZ2V0X2Vtb2ppIChkYXRhKSksCistICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhKTsKKysgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGdfb2JqZWN0X3JlZl9zaW5rIChkYXRhKSk7CisgICAgIH0KKyAKKyAgICAgZ19zbGlz dF9mcmVlIChsaXN0KTsKKy0tIAorMi45LjMKKworRnJvbSBjNTgwODQ1MTY3YjU0Y2NhYjc2ZDhi NzJiZGM3OTdlZjhkNjRkNTU0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogZnVqaXdh cmF0IDx0YWthby5mdWppd2FyYTFAZ21haWwuY29tPgorRGF0ZTogTW9uLCAxMyBNYXIgMjAxNyAx MTo1ODowNiArMDkwMAorU3ViamVjdDogW1BBVENIXSB1aS9ndGszOiBGaXggZW1vamkgdGV4dCBl bnRyeSBjdXNvciBwb3NpdGlvbgorCitGb2N1cyBvbiBlbW9qaSB0ZXh0IGVudHJ5IGJ5IGRlZmF1 bHQKK1JlbW92ZSBpbnRlcm5hbCB0ZXh0IGJ1ZmZlciBhbmQgdXNlIEd0ay5FbnRyeSBidWZmZXIg aW5zdGVhZC4KK0ltcGxlbWVudCBjdXNvciBsZWZ0LCByaWdodCwgaG9tZSwgZW5kIG9uIGVtb2pp IGFubm90YXRpb24gcHJlZWRpdC4KKworUmV2aWV3IFVSTDogaHR0cHM6Ly9jb2RlcmV2aWV3LmFw cHNwb3QuY29tLzMxMzcxMDA0MworLS0tCisgdWkvZ3RrMy9lbW9qaWVyLnZhbGEgfCAxMDQgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tCisgMSBmaWxl IGNoYW5nZWQsIDY4IGluc2VydGlvbnMoKyksIDM2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0 IGEvdWkvZ3RrMy9lbW9qaWVyLnZhbGEgYi91aS9ndGszL2Vtb2ppZXIudmFsYQoraW5kZXggYmMx ZWZmNC4uOGNlY2VhOCAxMDA2NDQKKy0tLSBhL3VpL2d0azMvZW1vamllci52YWxhCisrKysgYi91 aS9ndGszL2Vtb2ppZXIudmFsYQorQEAgLTc1LDcgKzc1LDEwIEBAIGNsYXNzIElCdXNFbW9qaWVy IDogR3RrLldpbmRvdyB7CisgICAgICAgICAgICAgICAgIHJvd19ob21vZ2VuZW91cyA6IGZhbHNl LAorICAgICAgICAgICAgICAgICB2ZXhwYW5kIDogdHJ1ZSwKKyAgICAgICAgICAgICAgICAgaGFs aWduIDogR3RrLkFsaWduLkZJTEwsCistICAgICAgICAgICAgICAgIHZhbGlnbiA6IEd0ay5BbGln bi5GSUxMCisrICAgICAgICAgICAgICAgIHZhbGlnbiA6IEd0ay5BbGlnbi5GSUxMLAorKyAgICAg ICAgICAgICAgICByb3dfc3BhY2luZyA6IDUsCisrICAgICAgICAgICAgICAgIGNvbHVtbl9zcGFj aW5nIDogNSwKKysgICAgICAgICAgICAgICAgYm9yZGVyX3dpZHRoIDogMgorICAgICAgICAgICAg ICk7CisgICAgICAgICB9CisgICAgIH0KK0BAIC0xOTAsNyArMTkzLDYgQEAgY2xhc3MgSUJ1c0Vt b2ppZXIgOiBHdGsuV2luZG93IHsKKyAgICAgcHJpdmF0ZSBDYXRlZ29yeVR5cGUgbV9jdXJyZW50 X2NhdGVnb3J5X3R5cGUgPSBDYXRlZ29yeVR5cGUuRU1PSkk7CisgICAgIHByaXZhdGUgYm9vbCBt X2lzX3J1bm5pbmcgPSBmYWxzZTsKKyAgICAgcHJpdmF0ZSBzdHJpbmcgbV9pbnB1dF9jb250ZXh0 X3BhdGggPSAiIjsKKy0gICAgcHJpdmF0ZSBHTGliLlN0cmluZ0J1aWxkZXIgbV9idWZmZXJfc3Ry aW5nOworICAgICBwcml2YXRlIEdMaWIuTWFpbkxvb3A/IG1fbG9vcDsKKyAgICAgcHJpdmF0ZSBz dHJpbmc/IG1fcmVzdWx0OworICAgICBwcml2YXRlIEdMaWIuU0xpc3Q8c3RyaW5nPiBtX2xhbmdf bGlzdDsKK0BAIC0yODgsMTEgKzI5MCw5IEBAIGNsYXNzIElCdXNFbW9qaWVyIDogR3RrLldpbmRv dyB7CisgICAgICAgICBtX2VudHJ5LnNldF9wbGFjZWhvbGRlcl90ZXh0KF8oIlR5cGUgYW5ub3Rh dGlvbiBvciBjaG9vc2UgZW1vamkiKSk7CisgICAgICAgICBtX3Zib3guYWRkKG1fZW50cnkpOwor ICAgICAgICAgbV9lbnRyeS5jaGFuZ2VkLmNvbm5lY3QoKCkgPT4geworLSAgICAgICAgICAgIG1f YnVmZmVyX3N0cmluZy5hc3NpZ24obV9lbnRyeS5nZXRfdGV4dCgpKTsKKy0gICAgICAgICAgICB1 cGRhdGVfY2FkaWRhdGVfd2luZG93KCk7CisrICAgICAgICAgICAgdXBkYXRlX2NhbmRpZGF0ZV93 aW5kb3coKTsKKyAgICAgICAgIH0pOworICAgICAgICAgbV9lbnRyeS5pY29uX3JlbGVhc2UuY29u bmVjdCgoaWNvbl9wb3MsIGV2ZW50KSA9PiB7CistICAgICAgICAgICAgbV9idWZmZXJfc3RyaW5n LmVyYXNlKCk7CisgICAgICAgICAgICAgaGlkZV9jYW5kaWRhdGVfcGFuZWwoKTsKKyAgICAgICAg IH0pOworIAorQEAgLTMwMyw3ICszMDMsNiBAQCBjbGFzcyBJQnVzRW1vamllciA6IEd0ay5XaW5k b3cgeworICAgICAgICAgQXRrLk9iamVjdCBvYmogPSBtX2VudHJ5LmdldF9hY2Nlc3NpYmxlKCk7 CisgICAgICAgICBvYmouc2V0X3JvbGUgKEF0ay5Sb2xlLlNUQVRVU0JBUik7CisgCistICAgICAg ICBtX2J1ZmZlcl9zdHJpbmcgPSBuZXcgU3RyaW5nQnVpbGRlcigpOworICAgICAgICAgZ3JhYl9m b2N1cygpOworIAorICAgICAgICAgLy8gVGhlIGNvbnN0cnVjdG9yIG9mIElCdXMuTG9va3VwVGFi bGUgZG9lcyBub3Qgc3VwcG9ydCBtb3JlIHRoYW4KK0BAIC02ODAsMTEgKzY3OSwxNiBAQCBjbGFz cyBJQnVzRW1vamllciA6IEd0ay5XaW5kb3cgeworICAgICAgICAgYnV0dG9uc19oYm94LnNob3df YWxsKCk7CisgICAgIH0KKyAKKy0gICAgcHJpdmF0ZSBib29sIGNoZWNrX3VuaWNvZGVfcG9pbnQo Ym9vbCBjaGVja194ZGlnaXRfb25seSkgeworLSAgICAgICAgbV91bmljb2RlX3BvaW50ID0gbnVs bDsKKysgICAgcHJpdmF0ZSBib29sIGNoZWNrX3VuaWNvZGVfcG9pbnQoc3RyaW5nPyBhbm5vdGF0 aW9uPW51bGwpIHsKKysgICAgICAgIGJvb2wgY2hlY2tfeGRpZ2l0X29ubHkgPSB0cnVlOworKyAg ICAgICAgaWYgKGFubm90YXRpb24gPT0gbnVsbCkgeworKyAgICAgICAgICAgIGFubm90YXRpb24g PSBtX2VudHJ5LmdldF90ZXh0KCk7CisrICAgICAgICAgICAgbV91bmljb2RlX3BvaW50ID0gbnVs bDsKKysgICAgICAgICAgICBjaGVja194ZGlnaXRfb25seSA9IGZhbHNlOworKyAgICAgICAgfQor ICAgICAgICAgR0xpYi5TdHJpbmdCdWlsZGVyIGJ1ZmYgPSBuZXcgR0xpYi5TdHJpbmdCdWlsZGVy KCk7CistICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG1fYnVmZmVyX3N0cmluZy5zdHIuY2hh cl9jb3VudCgpOyBpKyspIHsKKy0gICAgICAgICAgICB1bmljaGFyIGNoID0gbV9idWZmZXJfc3Ry aW5nLnN0ci5nZXRfY2hhcihpKTsKKysgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgYW5ub3Rh dGlvbi5jaGFyX2NvdW50KCk7IGkrKykgeworKyAgICAgICAgICAgIHVuaWNoYXIgY2ggPSBhbm5v dGF0aW9uLmdldF9jaGFyKGkpOworICAgICAgICAgICAgIGlmIChjaCA9PSAwKQorICAgICAgICAg ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICAgaWYgKCFjaC5pc3hkaWdpdCgpKQor QEAgLTcwNCw3ICs3MDgsNyBAQCBjbGFzcyBJQnVzRW1vamllciA6IEd0ay5XaW5kb3cgeworICAg ICAgICAgcmV0dXJuIHRydWU7CisgICAgIH0KKyAKKy0gICAgcHVibGljIHZvaWQgdXBkYXRlX2Nh ZGlkYXRlX3dpbmRvdygpIHsKKysgICAgcHVibGljIHZvaWQgdXBkYXRlX2NhbmRpZGF0ZV93aW5k b3coKSB7CisgICAgICAgICBzdHJpbmcgYW5ub3RhdGlvbiA9IG1fZW50cnkuZ2V0X3RleHQoKTsK KyAgICAgICAgIGlmIChhbm5vdGF0aW9uLmxlbmd0aCA9PSAwKSB7CisgICAgICAgICAgICAgaGlk ZV9jYW5kaWRhdGVfcGFuZWwoKTsKK0BAIC03MTYsNyArNzIwLDcgQEAgY2xhc3MgSUJ1c0Vtb2pp ZXIgOiBHdGsuV2luZG93IHsKKyAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICB9CisgICAg ICAgICAvLyBDYWxsIGNoZWNrX3VuaWNvZGVfcG9pbnQoKSB0byBnZXQgbV91bmljb2RlX3BvaW50 CistICAgICAgICBjaGVja191bmljb2RlX3BvaW50KGZhbHNlKTsKKysgICAgICAgIGNoZWNrX3Vu aWNvZGVfcG9pbnQoKTsKKyAgICAgICAgIHVub3duZWQgR0xpYi5TTGlzdDxzdHJpbmc+PyBlbW9q aXMgPQorICAgICAgICAgICAgIG1fYW5ub3RhdGlvbl90b19lbW9qaXNfZGljdC5sb29rdXAoYW5u b3RhdGlvbik7CisgICAgICAgICBpZiAoZW1vamlzID09IG51bGwgJiYgbV91bmljb2RlX3BvaW50 ID09IG51bGwpIHsKK0BAIC03MjUsNyArNzI5LDcgQEAgY2xhc3MgSUJ1c0Vtb2ppZXIgOiBHdGsu V2luZG93IHsKKyAgICAgICAgIH0KKyAgICAgICAgIG1fbG9va3VwX3RhYmxlLmNsZWFyKCk7Cisg ICAgICAgICAvLyBDYWxsIGNoZWNrX3VuaWNvZGVfcG9pbnQoKSB0byB1cGRhdGUgbV9sb29rdXBf dGFibGUKKy0gICAgICAgIGNoZWNrX3VuaWNvZGVfcG9pbnQoZmFsc2UpOworKyAgICAgICAgY2hl Y2tfdW5pY29kZV9wb2ludCgpOworICAgICAgICAgZm9yZWFjaCAodW5vd25lZCBzdHJpbmcgZW1v amkgaW4gZW1vamlzKSB7CisgICAgICAgICAgICAgSUJ1cy5UZXh0IHRleHQgPSBuZXcgSUJ1cy5U ZXh0LmZyb21fc3RyaW5nKGVtb2ppKTsKKyAgICAgICAgICAgICBtX2xvb2t1cF90YWJsZS5hcHBl bmRfY2FuZGlkYXRlKHRleHQpOworQEAgLTc2MCw5ICs3NjQsNiBAQCBjbGFzcyBJQnVzRW1vamll ciA6IEd0ay5XaW5kb3cgeworICAgICAgICAgICAgIH0pOworICAgICAgICAgfQorICAgICAgICAg RUdyaWQgZ3JpZCA9IG5ldyBFR3JpZCgpOworLSAgICAgICAgZ3JpZC5zZXRfcm93X3NwYWNpbmco NSk7CistICAgICAgICBncmlkLnNldF9jb2x1bW5fc3BhY2luZyg1KTsKKy0gICAgICAgIGdyaWQu c2V0X2JvcmRlcl93aWR0aCgyKTsKKyAgICAgICAgIGludCBuID0gMDsKKyAgICAgICAgIGZvciAo dWludCBpID0gcGFnZV9zdGFydF9wb3M7IGkgPCBwYWdlX2VuZF9wb3M7IGkrKykgeworICAgICAg ICAgICAgIElCdXMuVGV4dCBjYW5kaWRhdGUgPSBtX2xvb2t1cF90YWJsZS5nZXRfY2FuZGlkYXRl KGkpOworQEAgLTg3OCwxNCArODc5LDExIEBAIGNsYXNzIElCdXNFbW9qaWVyIDogR3RrLldpbmRv dyB7CisgICAgIHByaXZhdGUgYm9vbCBpZl9pbl9yYW5nZV9vZl9sb29rdXAodWludCBrZXl2YWwp IHsKKyAgICAgICAgIGlmICghbV9jYW5kaWRhdGVfcGFuZWxfaXNfdmlzaWJsZSkKKyAgICAgICAg ICAgICByZXR1cm4gZmFsc2U7CistICAgICAgICBzdHJpbmcgYmFja3VwX2Fubm90YXRpb24gPSBt X2J1ZmZlcl9zdHJpbmcuc3RyLmR1cCgpOworKyAgICAgICAgU3RyaW5nQnVpbGRlciBidWZmZXJf c3RyaW5nID0gbmV3IFN0cmluZ0J1aWxkZXIobV9lbnRyeS5nZXRfdGV4dCgpKTsKKyAgICAgICAg IHVuaWNoYXIgY2ggPSBJQnVzLmtleXZhbF90b191bmljb2RlIChrZXl2YWwpOworLSAgICAgICAg bV9idWZmZXJfc3RyaW5nLmFwcGVuZF91bmljaGFyKGNoKTsKKy0gICAgICAgIGlmIChjaGVja191 bmljb2RlX3BvaW50KHRydWUpKSB7CistICAgICAgICAgICAgbV9idWZmZXJfc3RyaW5nLmFzc2ln bihiYWNrdXBfYW5ub3RhdGlvbik7CisrICAgICAgICBidWZmZXJfc3RyaW5nLmFwcGVuZF91bmlj aGFyKGNoKTsKKysgICAgICAgIGlmIChjaGVja191bmljb2RlX3BvaW50KGJ1ZmZlcl9zdHJpbmcu c3RyKSkKKyAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CistICAgICAgICB9CistICAgICAgICBt X2J1ZmZlcl9zdHJpbmcuYXNzaWduKGJhY2t1cF9hbm5vdGF0aW9uKTsKKyAgICAgICAgIGlmIChr ZXl2YWwgPCBHZGsuS2V5LkAwIHx8IGtleXZhbCA+IEdkay5LZXkuQDkpCisgICAgICAgICAgICAg cmV0dXJuIGZhbHNlOworICAgICAgICAgaWYgKGtleXZhbCA9PSBHZGsuS2V5LkAwKQorQEAgLTk1 OCw2ICs5NTYsMTggQEAgY2xhc3MgSUJ1c0Vtb2ppZXIgOiBHdGsuV2luZG93IHsKKyAgICAgICAg IHNob3dfY2F0ZWdvcnlfbGlzdCgpOworICAgICB9CisgCisrICAgIHByaXZhdGUgdm9pZCBlbnRy eV9lbnRlcl9rZXl2YWwodWludCBrZXl2YWwpIHsKKysgICAgICAgIHVuaWNoYXIgY2ggPSBJQnVz LmtleXZhbF90b191bmljb2RlKGtleXZhbCk7CisrICAgICAgICBpZiAoIWNoLmlzZ3JhcGgoKSkK KysgICAgICAgICAgICByZXR1cm47CisrICAgICAgICBzdHJpbmcgc3RyID0gY2gudG9fc3RyaW5n KCk7CisrCisrICAgICAgICAvLyB3aGF0IGd0a19lbnRyeV9jb21taXRfY2IoKSBkbworKyAgICAg ICAgaW50IHBvcyA9IG1fZW50cnkuZ2V0X3Bvc2l0aW9uKCk7CisrICAgICAgICBtX2VudHJ5Lmlu c2VydF90ZXh0KHN0ciwgLTEsIHJlZiBwb3MpOworKyAgICAgICAgbV9lbnRyeS5zZXRfcG9zaXRp b24ocG9zKTsKKysgICAgfQorKworICAgICBwdWJsaWMgc3RyaW5nIHJ1bihHZGsuRXZlbnQgZXZl bnQsCisgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZyAgICBpbnB1dF9jb250ZXh0X3BhdGgp IHsKKyAgICAgICAgIGFzc2VydCAobV9sb29wID09IG51bGwpOworQEAgLTk3Miw3ICs5ODIsNyBA QCBjbGFzcyBJQnVzRW1vamllciA6IEd0ay5XaW5kb3cgeworICAgICAgICAgcmVzaXplKDEsIDEp OworIAorICAgICAgICAgbV9lbnRyeS5zZXRfdGV4dCgiIik7CistICAgICAgICBtX2J1ZmZlcl9z dHJpbmcuZXJhc2UoKTsKKysgICAgICAgIG1fZW50cnkuZ3JhYl9mb2N1cygpOworIAorICAgICAg ICAgR2RrLkRldmljZSBkZXZpY2UgPSBldmVudC5nZXRfZGV2aWNlKCk7CisgICAgICAgICBpZiAo ZGV2aWNlID09IG51bGwpIHsKK0BAIC0xMDcwLDEyICsxMDgwLDEyIEBAIGNsYXNzIElCdXNFbW9q aWVyIDogR3RrLldpbmRvdyB7CisgICAgICAgICAgICAgICAgIG1fY3VycmVudF9jYXRlZ29yeV90 eXBlID0gQ2F0ZWdvcnlUeXBlLkVNT0pJOworICAgICAgICAgICAgICAgICBzaG93X2NhbmRpZGF0 ZV9wYW5lbCgpOworICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKy0gICAgICAgICAgICB9 IGVsc2UgaWYgKG1fYnVmZmVyX3N0cmluZy5zdHIubGVuZ3RoID09IDApIHsKKysgICAgICAgICAg ICB9IGVsc2UgaWYgKG1fZW50cnkuZ2V0X3RleHQoKS5sZW5ndGggPT0gMCkgeworICAgICAgICAg ICAgICAgICBtX2xvb3AucXVpdCgpOworICAgICAgICAgICAgICAgICBoaWRlX2NhbmRpZGF0ZV9w YW5lbCgpOworICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgICB9Cist ICAgICAgICAgICAgbV9idWZmZXJfc3RyaW5nLmVyYXNlKCk7CisrICAgICAgICAgICAgbV9lbnRy eS5kZWxldGVfdGV4dCgwLCAtMSk7CisgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICBjYXNl IEdkay5LZXkuUmV0dXJuOgorICAgICAgICAgICAgIGlmIChtX2NhbmRpZGF0ZV9wYW5lbF9pc192 aXNpYmxlKSB7CitAQCAtMTA5NCwxNCArMTEwNCwxNCBAQCBjbGFzcyBJQnVzRW1vamllciA6IEd0 ay5XaW5kb3cgeworICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg ICAgICAgIGNhc2UgR2RrLktleS5CYWNrU3BhY2U6CistICAgICAgICAgICAgaWYgKG1fYnVmZmVy X3N0cmluZy5sZW4gPiAwKQorLSAgICAgICAgICAgICAgICBtX2J1ZmZlcl9zdHJpbmcuZXJhc2Uo bV9idWZmZXJfc3RyaW5nLmxlbiAtIDEpOworKyAgICAgICAgICAgIGlmIChtX2VudHJ5LmdldF90 ZXh0KCkubGVuKCkgPiAwKSB7CisrICAgICAgICAgICAgICAgIEdMaWIuU2lnbmFsLmVtaXRfYnlf bmFtZShtX2VudHJ5LCAiYmFja3NwYWNlIik7CisrICAgICAgICAgICAgfQorICAgICAgICAgICAg IGJyZWFrOworICAgICAgICAgY2FzZSBHZGsuS2V5LnNwYWNlOgorICAgICAgICAgY2FzZSBHZGsu S2V5LktQX1NwYWNlOgorICAgICAgICAgICAgIGlmICgobW9kaWZpZXJzICYgR2RrLk1vZGlmaWVy VHlwZS5TSElGVF9NQVNLKSAhPSAwKSB7CistICAgICAgICAgICAgICAgIHVuaWNoYXIgY2ggPSBJ QnVzLmtleXZhbF90b191bmljb2RlIChrZXl2YWwpOworLSAgICAgICAgICAgICAgICBtX2J1ZmZl cl9zdHJpbmcuYXBwZW5kX3VuaWNoYXIoY2gpOworKyAgICAgICAgICAgICAgICBlbnRyeV9lbnRl cl9rZXl2YWwoa2V5dmFsKTsKKyAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAg fQorICAgICAgICAgICAgIGlmIChtX2NhbmRpZGF0ZV9wYW5lbF9pc192aXNpYmxlKSB7CitAQCAt MTEyMCw2ICsxMTMwLDEyIEBAIGNsYXNzIElCdXNFbW9qaWVyIDogR3RrLldpbmRvdyB7CisgICAg ICAgICAgICAgICAgIHNob3dfY2FuZGlkYXRlX3BhbmVsKCk7CisgICAgICAgICAgICAgICAgIHJl dHVybiB0cnVlOworICAgICAgICAgICAgIH0KKysgICAgICAgICAgICBpZiAobV9lbnRyeS5nZXRf dGV4dCgpLmxlbigpID4gMCkgeworKyAgICAgICAgICAgICAgICBHTGliLlNpZ25hbC5lbWl0X2J5 X25hbWUobV9lbnRyeSwgIm1vdmUtY3Vyc29yIiwKKysgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEd0ay5Nb3ZlbWVudFN0ZXAuVklTVUFMX1BPU0lUSU9OUywKKysgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEsIGZhbHNlKTsKKysgICAgICAg ICAgICAgICAgcmV0dXJuIHRydWU7CisrICAgICAgICAgICAgfQorICAgICAgICAgICAgIGJyZWFr OworICAgICAgICAgY2FzZSBHZGsuS2V5LkxlZnQ6CisgICAgICAgICAgICAgaWYgKG1fY2FuZGlk YXRlX3BhbmVsX2lzX3Zpc2libGUpIHsKK0BAIC0xMTI4LDYgKzExNDQsMTIgQEAgY2xhc3MgSUJ1 c0Vtb2ppZXIgOiBHdGsuV2luZG93IHsKKyAgICAgICAgICAgICAgICAgc2hvd19jYW5kaWRhdGVf cGFuZWwoKTsKKyAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgICAgfQor KyAgICAgICAgICAgIGlmIChtX2VudHJ5LmdldF90ZXh0KCkubGVuKCkgPiAwKSB7CisrICAgICAg ICAgICAgICAgIEdMaWIuU2lnbmFsLmVtaXRfYnlfbmFtZShtX2VudHJ5LCAibW92ZS1jdXJzb3Ii LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR3RrLk1vdmVtZW50 U3RlcC5WSVNVQUxfUE9TSVRJT05TLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLTEsIGZhbHNlKTsKKysgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisrICAg ICAgICAgICAgfQorICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgY2FzZSBHZGsuS2V5LkRv d246CisgICAgICAgICAgICAgaWYgKG1fY2FuZGlkYXRlX3BhbmVsX2lzX3Zpc2libGUpCitAQCAt MTE1NywxNyArMTE3OSwyNyBAQCBjbGFzcyBJQnVzRW1vamllciA6IEd0ay5XaW5kb3cgeworICAg ICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgICB9CisgICAgICAgICAgICAg YnJlYWs7CistICAgICAgICBkZWZhdWx0OgorLSAgICAgICAgICAgIHVuaWNoYXIgY2ggPSBJQnVz LmtleXZhbF90b191bmljb2RlKGtleXZhbCk7CistICAgICAgICAgICAgaWYgKCFjaC5pc2dyYXBo KCkpCisrICAgICAgICBjYXNlIEdkay5LZXkuSG9tZToKKysgICAgICAgICAgICBpZiAobV9lbnRy eS5nZXRfdGV4dCgpLmxlbigpID4gMCkgeworKyAgICAgICAgICAgICAgICBHTGliLlNpZ25hbC5l bWl0X2J5X25hbWUobV9lbnRyeSwgIm1vdmUtY3Vyc29yIiwKKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEd0ay5Nb3ZlbWVudFN0ZXAuRElTUExBWV9MSU5FX0VORFMs CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMSwgZmFsc2UpOwor KyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKysgICAgICAgICAgICB9CisrICAgICAgICAg ICAgYnJlYWs7CisrICAgICAgICBjYXNlIEdkay5LZXkuRW5kOgorKyAgICAgICAgICAgIGlmICht X2VudHJ5LmdldF90ZXh0KCkubGVuKCkgPiAwKSB7CisrICAgICAgICAgICAgICAgIEdMaWIuU2ln bmFsLmVtaXRfYnlfbmFtZShtX2VudHJ5LCAibW92ZS1jdXJzb3IiLAorKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgR3RrLk1vdmVtZW50U3RlcC5ESVNQTEFZX0xJTkVf RU5EUywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEsIGZhbHNl KTsKKyAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CistICAgICAgICAgICAgbV9idWZmZXJf c3RyaW5nLmFwcGVuZF91bmljaGFyKGNoKTsKKysgICAgICAgICAgICB9CisrICAgICAgICAgICAg YnJlYWs7CisrICAgICAgICBkZWZhdWx0OgorKyAgICAgICAgICAgIGVudHJ5X2VudGVyX2tleXZh bChrZXl2YWwpOworICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgfQorIAorLSAgICAgICAg c3RyaW5nIGFubm90YXRpb24gPSBtX2J1ZmZlcl9zdHJpbmcuc3RyOworLSAgICAgICAgbV9lbnRy eS5zZXRfdGV4dChhbm5vdGF0aW9uKTsKKy0KKyAgICAgICAgIHJldHVybiB0cnVlOworICAgICB9 CisgCistLSAKKzIuOS4zCisKK0Zyb20gZmJlM2RlMTc4OWM3M2E4YTE3NWE0NTFiMmE2Yjk2N2Y1 ZDNjNjUxNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGZ1aml3YXJhdCA8dGFrYW8u ZnVqaXdhcmExQGdtYWlsLmNvbT4KK0RhdGU6IE1vbiwgMTMgTWFyIDIwMTcgMTI6MDg6MjEgKzA5 MDAKK1N1YmplY3Q6IFtQQVRDSF0gc3JjOiBVcGRhdGUgZW1vamktcGFyc2VyIHRvIHRyZWF0IHR0 cyBhcyBlbW9qaQorIGRlc2NyaXB0aW9uCisKK3VuaWNvZGUgYW5ub3RhdGlvbiB4bWwgZmlsZXMg aGF2ZSBhICd0dHMnIGF0dHJpYnV0ZSBhbmQgc2VlbQoraXQgaXMgdXNlZCBhcyB0aGUgZW1vamkg ZGVzY3JpcHRpb25zIGluc3RlYWQgb2YgZW1vamkgYW5ub3RhdGlvbnMuCitUaGlzIGNhbiBzaG93 IHRoZSB0cmFuc2xhdGVkIGRlc2NyaXB0aW9ucy4KKworUj1TaGF3bi5QLkh1YW5nQGdtYWlsLmNv bQorCitSZXZpZXcgVVJMOiBodHRwczovL2NvZGVyZXZpZXcuYXBwc3BvdC5jb20vMzE5NDgwMDQz CistLS0KKyBzcmMvZW1vamktcGFyc2VyLmMgICB8IDI2ICsrKysrKysrKysrKysrKysrKystLS0t LS0tCisgc3JjL2lidXNlbW9qaS5jICAgICAgfCAxNiArKysrKysrKysrKysrLS0tCisgc3JjL2li dXNlbW9qaS5oICAgICAgfCAxMSArKysrKysrKysrKworIHVpL2d0azMvZW1vamllci52YWxhIHwg MTcgKysrKysrKysrKysrKystLS0KKyA0IGZpbGVzIGNoYW5nZWQsIDU3IGluc2VydGlvbnMoKyks IDEzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2Vtb2ppLXBhcnNlci5jIGIvc3Jj L2Vtb2ppLXBhcnNlci5jCitpbmRleCA1OTY1MzA5Li44ZmYwNGYxIDEwMDY0NAorLS0tIGEvc3Jj L2Vtb2ppLXBhcnNlci5jCisrKysgYi9zcmMvZW1vamktcGFyc2VyLmMKK0BAIC00Myw2ICs0Myw3 IEBAIHN0cnVjdCBfRW1vamlEYXRhIHsKKyAgICAgR1NMaXN0ICAgICAqYW5ub3RhdGlvbnM7Cisg ICAgIGdib29sZWFuICAgIGlzX2Fubm90YXRpb247CisgICAgIGdjaGFyICAgICAgKmRlc2NyaXB0 aW9uOworKyAgICBnYm9vbGVhbiAgICBpc190dHM7CisgICAgIGdjaGFyICAgICAgKmNhdGVnb3J5 OworICAgICBHU0xpc3QgICAgICpsaXN0OworIH07CitAQCAtOTcsNiArOTgsOCBAQCB1cGRhdGVf ZW1vamlfbGlzdCAoRW1vamlEYXRhICpkYXRhKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChHQ29weUZ1bmMpIGdfc3RyZHVwLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE5VTEwpKTsKKyAgICAgICAgIH0KKysgICAgICAgIGlmIChkYXRh LT5kZXNjcmlwdGlvbikKKysgICAgICAgICAgICBpYnVzX2Vtb2ppX2RhdGFfc2V0X2Rlc2NyaXB0 aW9uIChlbW9qaSwgZGF0YS0+ZGVzY3JpcHRpb24pOworICAgICB9IGVsc2UgeworICAgICAgICAg SUJ1c0Vtb2ppRGF0YSAqZW1vamkgPQorICAgICAgICAgICAgICAgICBpYnVzX2Vtb2ppX2RhdGFf bmV3ICgiZW1vamkiLAorQEAgLTE0OSwxMyArMTUyLDEyIEBAIHVuaWNvZGVfYW5ub3RhdGlvbnNf c3RhcnRfZWxlbWVudF9jYiAoR01hcmt1cFBhcnNlQ29udGV4dCAqY29udGV4dCwKKyAgICAgICAg ICAgICAgICAgZGF0YS0+ZW1vamkgPSBnX3N0cmR1cCAodmFsdWUpOworICAgICAgICAgICAgIH0K KyAgICAgICAgIH0KKy0gICAgICAgIGVsc2UgaWYgKGdfc3RyY21wMCAoYXR0cmlidXRlLCAidHRz IikgPT0gMCkgeworLSAgICAgICAgICAgIEdTTGlzdCAqZHVwbGljYXRlZCA9IGdfc2xpc3RfZmlu ZF9jdXN0b20gKGRhdGEtPmFubm90YXRpb25zLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLAorLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChHQ29tcGFyZUZ1bmMpIGdfc3RyY21w MCk7CistICAgICAgICAgICAgaWYgKGR1cGxpY2F0ZWQgPT0gTlVMTCkgeworLSAgICAgICAgICAg ICAgICBkYXRhLT5hbm5vdGF0aW9ucyA9IGdfc2xpc3RfcHJlcGVuZCAoZGF0YS0+YW5ub3RhdGlv bnMsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBnX3N0cmR1cCAodmFsdWUpKTsKKysgICAgICAgIC8qIHR0cyBzZWVtcyAndGV4dCB0byBzcGVh Y2gnIGFuZCBpdCB3b3VsZCBiZSBhIGRlc2NyaXB0aW9uCisrICAgICAgICAgKiBpbnN0ZWFkIG9m IGFubm90YXRpb24uCisrICAgICAgICAgKi8KKysgICAgICAgIGVsc2UgaWYgKGdfc3RyY21wMCAo YXR0cmlidXRlLCAidHlwZSIpID09IDApIHsKKysgICAgICAgICAgICBpZiAoZ19zdHJjbXAwICh2 YWx1ZSwgInR0cyIpID09IDApIHsKKysgICAgICAgICAgICAgICAgZGF0YS0+aXNfdHRzID0gVFJV RTsKKyAgICAgICAgICAgICB9CisgICAgICAgICB9CisgICAgIH0KK0BAIC0xNzcsNiArMTc5LDcg QEAgdW5pY29kZV9hbm5vdGF0aW9uc19lbmRfZWxlbWVudF9jYiAoR01hcmt1cFBhcnNlQ29udGV4 dCAqY29udGV4dCwKKyAKKyAgICAgdXBkYXRlX2Vtb2ppX2xpc3QgKGRhdGEpOworICAgICBkYXRh LT5pc19hbm5vdGF0aW9uID0gRkFMU0U7CisrICAgIGRhdGEtPmlzX3R0cyA9IEZBTFNFOworIH0K KyAKKyB2b2lkCitAQCAtMTk0LDYgKzE5NywxNSBAQCB1bmljb2RlX2Fubm90YXRpb25zX3RleHRf Y2IgKEdNYXJrdXBQYXJzZUNvbnRleHQgKmNvbnRleHQsCisgICAgIGdfYXNzZXJ0IChkYXRhICE9 IE5VTEwpOworICAgICBpZiAoIWRhdGEtPmlzX2Fubm90YXRpb24pCisgICAgICAgICByZXR1cm47 CisrICAgIGlmIChkYXRhLT5pc190dHMpIHsKKysgICAgICAgIGlmIChkYXRhLT5kZXNjcmlwdGlv bikgeworKyAgICAgICAgICAgIGdfd2FybmluZyAoIkR1cGxpY2F0ZWQgJ3R0cycgaXMgZm91bmQ6 ICVzOiAlcyIsCisrICAgICAgICAgICAgICAgICAgICAgICBkYXRhLT5kZXNjcmlwdGlvbiwgdGV4 dCk7CisrICAgICAgICAgICAgZ19jbGVhcl9wb2ludGVyICgmZGF0YS0+ZGVzY3JpcHRpb24sIGdf ZnJlZSk7CisrICAgICAgICB9CisrICAgICAgICBkYXRhLT5kZXNjcmlwdGlvbiA9IGdfc3RyZHVw ICh0ZXh0KTsKKysgICAgICAgIHJldHVybjsKKysgICAgfQorICAgICBhbm5vdGF0aW9ucyA9IGdf c3Ryc3BsaXQgKHRleHQsICIgfCAiLCAtMSk7CisgICAgIGZvciAoaSA9IDA7IChhbm5vdGF0aW9u ID0gYW5ub3RhdGlvbnNbaV0pICE9IE5VTEw7IGkrKykgeworICAgICAgICAgR1NMaXN0ICpkdXBs aWNhdGVkID0gZ19zbGlzdF9maW5kX2N1c3RvbSAoZGF0YS0+YW5ub3RhdGlvbnMsCitkaWZmIC0t Z2l0IGEvc3JjL2lidXNlbW9qaS5jIGIvc3JjL2lidXNlbW9qaS5jCitpbmRleCA5OTZkMTM2Li5j NjFjZDcwIDEwMDY0NAorLS0tIGEvc3JjL2lidXNlbW9qaS5jCisrKysgYi9zcmMvaWJ1c2Vtb2pp LmMKK0BAIC0yOSw3ICsyOSw3IEBACisgI2luY2x1ZGUgImlidXNpbnRlcm5hbC5oIgorIAorICNk ZWZpbmUgSUJVU19FTU9KSV9EQVRBX01BR0lDICJJQnVzRW1vamlEYXRhIgorLSNkZWZpbmUgSUJV U19FTU9KSV9EQVRBX1ZFUlNJT04gKDEpCisrI2RlZmluZSBJQlVTX0VNT0pJX0RBVEFfVkVSU0lP TiAoMikKKyAKKyBlbnVtIHsKKyAgICAgUFJPUF8wID0gMCwKK0BAIC0xMjgsNyArMTI4LDcgQEAg aWJ1c19lbW9qaV9kYXRhX2NsYXNzX2luaXQgKElCdXNFbW9qaURhdGFDbGFzcyAqY2xhc3MpCisg ICAgICAgICAgICAgICAgICAgICAgICAgImVtb2ppIGRlc2NyaXB0aW9uIiwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAiVGhlIGVtb2ppIGRlc2NyaXB0aW9uIiwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAiIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICBHX1BBUkFNX1JFQURXUklURSB8 IEdfUEFSQU1fQ09OU1RSVUNUX09OTFkpKTsKKysgICAgICAgICAgICAgICAgICAgICAgICBHX1BB UkFNX1JFQURXUklURSkpOworIAorICAgICAvKioKKyAgICAgICogSUJ1c0Vtb2ppRGF0YTpjYXRl Z29yeToKK0BAIC0zNTIsNiArMzUyLDE2IEBAIGlidXNfZW1vamlfZGF0YV9nZXRfZGVzY3JpcHRp b24gKElCdXNFbW9qaURhdGEgKmVtb2ppKQorICAgICByZXR1cm4gZW1vamktPnByaXYtPmRlc2Ny aXB0aW9uOworIH0KKyAKKyt2b2lkCisraWJ1c19lbW9qaV9kYXRhX3NldF9kZXNjcmlwdGlvbiAo SUJ1c0Vtb2ppRGF0YSAqZW1vamksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y29uc3QgZ2NoYXIgICAqZGVzY3JpcHRpb24pCisreworKyAgICBnX3JldHVybl9pZl9mYWlsIChJ QlVTX0lTX0VNT0pJX0RBVEEgKGVtb2ppKSk7CisrCisrICAgIGdfZnJlZSAoZW1vamktPnByaXYt PmRlc2NyaXB0aW9uKTsKKysgICAgZW1vamktPnByaXYtPmRlc2NyaXB0aW9uID0gZ19zdHJkdXAg KGRlc2NyaXB0aW9uKTsKKyt9CisrCisgY29uc3QgZ2NoYXIgKgorIGlidXNfZW1vamlfZGF0YV9n ZXRfY2F0ZWdvcnkgKElCdXNFbW9qaURhdGEgKmVtb2ppKQorIHsKK0BAIC01NDEsNyArNTUxLDcg QEAgaWJ1c19lbW9qaV9kYXRhX2xvYWQgKGNvbnN0IGdjaGFyICpwYXRoKQorICAgICAgICAgZ290 byBvdXRfbG9hZF9jYWNoZTsKKyAgICAgfQorIAorLSAgICBpZiAodmVyc2lvbiAhPSBJQlVTX0VN T0pJX0RBVEFfVkVSU0lPTikgeworKyAgICBpZiAodmVyc2lvbiA+IElCVVNfRU1PSklfREFUQV9W RVJTSU9OKSB7CisgICAgICAgICBnX3dhcm5pbmcgKCJjYWNoZSB2ZXJzaW9uIGlzIGRpZmZlcmVu dDogJXUgIT0gJXUiLAorICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uLCBJQlVTX0VNT0pJX0RB VEFfVkVSU0lPTik7CisgICAgICAgICBnb3RvIG91dF9sb2FkX2NhY2hlOworZGlmZiAtLWdpdCBh L3NyYy9pYnVzZW1vamkuaCBiL3NyYy9pYnVzZW1vamkuaAoraW5kZXggM2ZkMDlhOS4uZWIyNGZk ZCAxMDA2NDQKKy0tLSBhL3NyYy9pYnVzZW1vamkuaAorKysrIGIvc3JjL2lidXNlbW9qaS5oCitA QCAtMTM0LDYgKzEzNCwxNyBAQCB2b2lkICAgICAgICAgICAgaWJ1c19lbW9qaV9kYXRhX3NldF9h bm5vdGF0aW9ucyAoSUJ1c0Vtb2ppRGF0YSAqZW1vamksCisgY29uc3QgZ2NoYXIgKiAgIGlidXNf ZW1vamlfZGF0YV9nZXRfZGVzY3JpcHRpb24gKElCdXNFbW9qaURhdGEgKmVtb2ppKTsKKyAKKyAv KioKKysgKiBpYnVzX2Vtb2ppX2RhdGFfc2V0X2Rlc2NyaXB0aW9uOgorKyAqIEBlbW9qaSA6IEFu ICNJQnVzRW1vamlEYXRhCisrICogQGRlc2NyaXB0aW9uOiBBbiBlbW9qaSBkZXNjcmlwdGlvbgor KyAqCisrICogU2V0cyB0aGUgZGVzY3JpcHRpb24gaW4gI0lCdXNFbW9qaURhdGEuCisrICovCisr dm9pZCAgICAgICAgICAgIGlidXNfZW1vamlfZGF0YV9zZXRfZGVzY3JpcHRpb24gKElCdXNFbW9q aURhdGEgKmVtb2ppLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjb25zdCBnY2hhciAgICpkZXNjcmlwdGlvbik7CisrCisrCisrLyoqCisgICogaWJ1 c19lbW9qaV9kYXRhX2dldF9jYXRlZ29yeToKKyAgKiBAZW1vamkgOiBBbiAjSUJ1c0Vtb2ppRGF0 YQorICAqCitkaWZmIC0tZ2l0IGEvdWkvZ3RrMy9lbW9qaWVyLnZhbGEgYi91aS9ndGszL2Vtb2pp ZXIudmFsYQoraW5kZXggOGNlY2VhOC4uNWUxMjZlOSAxMDA2NDQKKy0tLSBhL3VpL2d0azMvZW1v amllci52YWxhCisrKysgYi91aS9ndGszL2Vtb2ppZXIudmFsYQorQEAgLTM3MCw4ICszNzAsMTQg QEAgY2xhc3MgSUJ1c0Vtb2ppZXIgOiBHdGsuV2luZG93IHsKKyAgICAgcHJpdmF0ZSB2b2lkIHJl bG9hZF9lbW9qaV9kaWN0KCkgeworICAgICAgICAgaW5pdF9lbW9qaV9kaWN0KCk7CisgICAgICAg ICBtYWtlX2Vtb2ppX2RpY3QoImVuIik7CistICAgICAgICBpZiAobV9jdXJyZW50X2xhbmdfaWQg IT0gImVuIikKKysgICAgICAgIGlmIChtX2N1cnJlbnRfbGFuZ19pZCAhPSAiZW4iKSB7CisrICAg ICAgICAgICAgdmFyIGxhbmdfaWRzID0gbV9jdXJyZW50X2xhbmdfaWQuc3BsaXQoIl8iKTsKKysg ICAgICAgICAgICBpZiAobGFuZ19pZHMubGVuZ3RoID4gMSkgeworKyAgICAgICAgICAgICAgICBz dHJpbmcgc3ViX2lkID0gbGFuZ19pZHNbMF07CisrICAgICAgICAgICAgICAgIG1ha2VfZW1vamlf ZGljdChzdWJfaWQpOworKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgICBtYWtlX2Vtb2ppX2Rp Y3QobV9jdXJyZW50X2xhbmdfaWQpOworKyAgICAgICAgfQorICAgICAgICAgbG9hZGVkX2Vtb2pp X2RpY3QoKTsKKyAgICAgfQorIAorQEAgLTM5Myw4ICszOTksOCBAQCBjbGFzcyBJQnVzRW1vamll ciA6IEd0ay5XaW5kb3cgeworICAgICAgICAgaWYgKGVtb2ppX2xpc3QgPT0gbnVsbCkKKyAgICAg ICAgICAgICByZXR1cm47CisgICAgICAgICBmb3JlYWNoIChJQnVzLkVtb2ppRGF0YSBkYXRhIGlu IGVtb2ppX2xpc3QpIHsKKy0gICAgICAgICAgICB1cGRhdGVfYW5ub3RhdGlvbl90b19lbW9qaXNf ZGljdChkYXRhKTsKKyAgICAgICAgICAgICB1cGRhdGVfZW1vamlfdG9fZGF0YV9kaWN0KGRhdGEs IGxhbmcpOworKyAgICAgICAgICAgIHVwZGF0ZV9hbm5vdGF0aW9uX3RvX2Vtb2ppc19kaWN0KGRh dGEpOworICAgICAgICAgICAgIHVwZGF0ZV9jYXRlZ29yeV90b19lbW9qaXNfZGljdChkYXRhLCBs YW5nKTsKKyAgICAgICAgIH0KKyAgICAgICAgIEdMaWIuTGlzdDx1bm93bmVkIHN0cmluZz4gYW5u b3RhdGlvbnMgPQorQEAgLTQzNCwxMSArNDQwLDE2IEBAIGNsYXNzIElCdXNFbW9qaWVyIDogR3Rr LldpbmRvdyB7CisgICAgICAgICAgICAgdW5vd25lZCBJQnVzLkVtb2ppRGF0YT8gZW5fZGF0YSA9 CisgICAgICAgICAgICAgICAgICAgICBtX2Vtb2ppX3RvX2RhdGFfZGljdC5sb29rdXAoZW1vamkp OworICAgICAgICAgICAgIGlmIChlbl9kYXRhID09IG51bGwpIHsKKy0gICAgICAgICAgICAgICAg d2FybmluZygiTm8gSUJ1c0Vtb2ppRGF0YSBmb3IgRW5nbGlzaDogJXMiLnByaW50ZihlbW9qaSkp OworICAgICAgICAgICAgICAgICBtX2Vtb2ppX3RvX2RhdGFfZGljdC5pbnNlcnQoZW1vamksIGRh dGEpOworICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgfQorKyAgICAgICAg ICAgIHN0cmluZyB0cmFuc19kZXNjcmlwdGlvbiA9IGRhdGEuZ2V0X2Rlc2NyaXB0aW9uKCk7Cisr ICAgICAgICAgICAgZW5fZGF0YS5zZXRfZGVzY3JpcHRpb24odHJhbnNfZGVzY3JpcHRpb24pOwor ICAgICAgICAgICAgIHVub3duZWQgR0xpYi5TTGlzdDxzdHJpbmc+IGFubm90YXRpb25zID0gZGF0 YS5nZXRfYW5ub3RhdGlvbnMoKTsKKysgICAgICAgICAgICB2YXIgd29yZHMgPSB0cmFuc19kZXNj cmlwdGlvbi5zcGxpdCgiICIpOworKyAgICAgICAgICAgIC8vIElmIHRoZSBkZXNjcmlwdGlvbiBo YXMgbGVzcyB0aGFuIDMgd29yZHMsIGFkZCBpdCB0byBhbm5vdGF0aW9ucworKyAgICAgICAgICAg IGlmICh3b3Jkcy5sZW5ndGggPCAzKQorKyAgICAgICAgICAgICAgICBhbm5vdGF0aW9ucy5hcHBl bmQodHJhbnNfZGVzY3JpcHRpb24pOworICAgICAgICAgICAgIHVub3duZWQgR0xpYi5TTGlzdDxz dHJpbmc+IGVuX2Fubm90YXRpb25zCisgICAgICAgICAgICAgICAgID0gZW5fZGF0YS5nZXRfYW5u b3RhdGlvbnMoKTsKKyAgICAgICAgICAgICBmb3JlYWNoIChzdHJpbmcgYW5ub3RhdGlvbiBpbiBl bl9hbm5vdGF0aW9ucykgeworLS0gCisyLjkuMworCgpkaWZmIC0tZ2l0IGEvaWJ1cy5zcGVjIGIv aWJ1cy5zcGVjCmluZGV4IGYwMmQxYzYuLjMxNjY3MzMgMTAwNjQ0Ci0tLSBhL2lidXMuc3BlYwor KysgYi9pYnVzLnNwZWMKQEAgLTI4LDcgKzI4LDcgQEAKIAogTmFtZTogICAgICAgICAgIGlidXMK IFZlcnNpb246ICAgICAgICAxLjUuMTUKLVJlbGVhc2U6ICAgICAgICAyJXs/ZGlzdH0KK1JlbGVh c2U6ICAgICAgICAzJXs/ZGlzdH0KIFN1bW1hcnk6ICAgICAgICBJbnRlbGxpZ2VudCBJbnB1dCBC dXMgZm9yIExpbnV4IE9TCiBMaWNlbnNlOiAgICAgICAgTEdQTHYyKwogR3JvdXA6ICAgICAgICAg IFN5c3RlbSBFbnZpcm9ubWVudC9MaWJyYXJpZXMKQEAgLTQyNiw2ICs0MjYsMTQgQEAgZ3RrLXF1 ZXJ5LWltbW9kdWxlcy0zLjAtJXtfX2lzYV9iaXRzfSAtLXVwZGF0ZS1jYWNoZSAmPiAvZGV2L251 bGwgfHwgOgogJXtfZGF0YWRpcn0vZ3RrLWRvYy9odG1sLyoKIAogJWNoYW5nZWxvZworKiBNb24g TWFyIDEzIDIwMTcgVGFrYW8gRnVqaXdhcmEgPHRmdWppd2FyQHJlZGhhdC5jb20+IC0gMS41LjE1 LTMKKy0gRW1vamkgZGlhbG9nIGVuaGFuY2VtZW50cyBhbmQgYnVnIGZpeGVzCisgIEZpeGVkIGli dXNfZW1vamlfZGljdF9sb2FkKCkgQVBJLgorICBGb2N1cyBvbiBlbW9qaSB0ZXh0IGVudHJ5IGJ5 IGRlZmF1bHQKKyAgUmVtb3ZlZCBpbnRlcm5hbCB0ZXh0IGJ1ZmZlciBhbmQgdXNlIEd0ay5FbnRy eSBidWZmZXIgaW5zdGVhZC4KKyAgSW1wbGVtZW50ZWQgY3Vyc29yIGxlZnQsIHJpZ2h0LCBob21l LCBlbmQgb24gZW1vamkgYW5ub3RhdGlvbiBwcmVlZGl0LgorICBTaG93IGxvY2FsaXplZCBlbW9q aSBkZXNjcmlwdGlvbiBmcm9tIHR0cyBpbiBlbW9qaSB4bWwuCisKICogVGh1IE1hciAwOSAyMDE3 IFRha2FvIEZ1aml3YXJhIDx0ZnVqaXdhckByZWRoYXQuY29tPiAtIDEuNS4xNS0yCiAtIEFkZGVk IGlidXMtSEVBRC5wYXRjaCB0byBnZXQgdXBzdHJlYW0gcGF0Y2hlcwogICBGaXhlZCBpYnVzX2Vt b2ppZXJfcnVuKCkgU0lHQUJSVCB3aXRoIGBpYnVzIGVtb2ppYAo=