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: Michael J Gruber To: git-commits@fedoraproject.org Subject: [rpms/scribus] rawhide: Fix FTBFS with poppler up to 26.08.0 Date: Fri, 07 Aug 2026 21:05:53 GMT Message-ID: <178613675312.1.817565203608000445.rpms-scribus-7bb0c5bec52f@fedoraproject.org> List-ID: X-Git-Repo: rpms/scribus X-Git-Branch: rawhide X-Git-Rev: 7bb0c5bec52f9fd8f1d49072b3e2601fffaecb75 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvc2NyaWJ1cwpCcmFu Y2ggOiByYXdoaWRlCkNvbW1pdCA6IDdiYjBjNWJlYzUyZjlmZDhmMWQ0OTA3MmIzZTI2MDFmZmZh ZWNiNzUKQXV0aG9yIDogTWljaGFlbCBKIEdydWJlciA8bWpnQGZlZG9yYXByb2plY3Qub3JnPgpE YXRlICAgOiAyMDI2LTA4LTA3VDIyOjI2OjIxKzAyOjAwClN0YXRzICA6ICs2MDcvLTAgaW4gNiBm aWxlKHMpClVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvc2NyaWJ1 cy9jLzdiYjBjNWJlYzUyZjlmZDhmMWQ0OTA3MmIzZTI2MDFmZmZhZWNiNzU/YnJhbmNoPXJhd2hp ZGUKCkxvZzoKRml4IEZUQkZTIHdpdGggcG9wcGxlciB1cCB0byAyNi4wOC4wCgotLS0KZGlmZiAt LWdpdCBhLzAwMDEtMTc4MDgtRml4LWZhaWx1cmUtdG8tYnVpbGQtd2l0aC1wb3BwbGVyLTI2LjA1 LjAucGF0Y2ggYi8wMDAxLTE3ODA4LUZpeC1mYWlsdXJlLXRvLWJ1aWxkLXdpdGgtcG9wcGxlci0y Ni4wNS4wLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjZTNlMzcK LS0tIC9kZXYvbnVsbAorKysgYi8wMDAxLTE3ODA4LUZpeC1mYWlsdXJlLXRvLWJ1aWxkLXdpdGgt cG9wcGxlci0yNi4wNS4wLnBhdGNoCkBAIC0wLDAgKzEsNzcgQEAKK0Zyb20gMGU5ZGZkNTgxOTRi MTQ0NTAzODBkNzE5ODk2MzVhZGFhZGE2MmUzMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK01l c3NhZ2UtSUQ6IDwwZTlkZmQ1ODE5NGIxNDQ1MDM4MGQ3MTk4OTYzNWFkYWFkYTYyZTMwLjE3ODYx MzE1MDEuZ2l0Lm1qZ0BmZWRvcmFwcm9qZWN0Lm9yZz4KK0Zyb206IEplYW4gR2hhbGkgPGpnaGFs aUBsaWJlcnR5c3VyZi5mcj4KK0RhdGU6IFR1ZSwgNSBNYXkgMjAyNiAyMjoyODo0OCArMDAwMAor U3ViamVjdDogW1BBVENIXSAjMTc4MDg6IEZpeCBmYWlsdXJlIHRvIGJ1aWxkIHdpdGggcG9wcGxl ciAyNi4wNS4wCisKK2dpdC1zdm4taWQ6IHN2bjovL3NjcmlidXMubmV0L2JyYW5jaGVzL1ZlcnNp b24xNngvU2NyaWJ1c0AyNzU0NCAxMWQyMDcwMS04NDMxLTA0MTAtYTcxMS1lM2M5NTllM2I4NzAK Ky0tLQorIHNjcmlidXMvcGx1Z2lucy9pbXBvcnQvcGRmL2ltcG9ydHBkZmNvbmZpZy5oIHwgIDQg KysrKworIHNjcmlidXMvcGx1Z2lucy9pbXBvcnQvcGRmL3NsYW91dHB1dC5jcHAgICAgIHwgMjQg KysrKysrKysrKysrKysrKystLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDI1IGluc2VydGlvbnMoKyks IDMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zY3JpYnVzL3BsdWdpbnMvaW1wb3J0L3Bk Zi9pbXBvcnRwZGZjb25maWcuaCBiL3NjcmlidXMvcGx1Z2lucy9pbXBvcnQvcGRmL2ltcG9ydHBk ZmNvbmZpZy5oCitpbmRleCBiZDRkMzBmMjguLmNiZDVhN2UwMCAxMDA2NDQKKy0tLSBhL3Njcmli dXMvcGx1Z2lucy9pbXBvcnQvcGRmL2ltcG9ydHBkZmNvbmZpZy5oCisrKysgYi9zY3JpYnVzL3Bs dWdpbnMvaW1wb3J0L3BkZi9pbXBvcnRwZGZjb25maWcuaAorQEAgLTIxLDQgKzIxLDggQEAgZm9y IHdoaWNoIGEgbmV3IGxpY2Vuc2UgKEdQTCtleGNlcHRpb24pIGlzIGluIHBsYWNlLgorICNkZWZp bmUgUE9QUExFUl9DT05TVF8yNV8wMg0KKyAjZW5kaWYNCisgDQorKyNpZiBQT1BQTEVSX0VOQ09E RURfVkVSU0lPTiA+PSBQT1BQTEVSX1ZFUlNJT05fRU5DT0RFKDI2LCA1LCAwKQ0KKyt1c2luZyBT cGxhc2hDb29yZCA9IGRvdWJsZTsNCisrI2VuZGlmDQorKw0KKyAjZW5kaWYNCitkaWZmIC0tZ2l0 IGEvc2NyaWJ1cy9wbHVnaW5zL2ltcG9ydC9wZGYvc2xhb3V0cHV0LmNwcCBiL3NjcmlidXMvcGx1 Z2lucy9pbXBvcnQvcGRmL3NsYW91dHB1dC5jcHAKK2luZGV4IGM4OGY4YWZiYy4uZjc4ZWE2M2Jk IDEwMDY0NAorLS0tIGEvc2NyaWJ1cy9wbHVnaW5zL2ltcG9ydC9wZGYvc2xhb3V0cHV0LmNwcAor KysrIGIvc2NyaWJ1cy9wbHVnaW5zL2ltcG9ydC9wZGYvc2xhb3V0cHV0LmNwcAorQEAgLTMxNzcs NyArMzE3NywxMyBAQCB2b2lkIFNsYU91dHB1dERldjo6dXBkYXRlRm9udChHZnhTdGF0ZSAqc3Rh dGUpCisgCQkvLyBsb2FkIHRoZSBmb250IGZpbGUNCisgCQlzd2l0Y2ggKGZvbnRUeXBlKSB7DQor IAkJY2FzZSBmb250VHlwZTE6DQorLSNpZiBQT1BQTEVSX0VOQ09ERURfVkVSU0lPTiA+PSBQT1BQ TEVSX1ZFUlNJT05fRU5DT0RFKDI2LCAyLCAwKQ0KKysjaWYgUE9QUExFUl9FTkNPREVEX1ZFUlNJ T04gPj0gUE9QUExFUl9WRVJTSU9OX0VOQ09ERSgyNiwgNSwgMCkNCisrCQkJaWYgKCEoZm9udEZp bGUgPSBtX2ZvbnRFbmdpbmUtPmxvYWRUeXBlMUZvbnQoc3RkOjptb3ZlKGlkKSwgc3RkOjptb3Zl KGZvbnRzcmMpLCBzdGF0aWNfY2FzdDxHZng4Qml0Rm9udCo+KGdmeEZvbnQpLT5nZXRFbmNvZGlu ZygpLCBmb250TG9jLT5mb250TnVtKSkpDQorKwkJCXsNCisrCQkJCWVycm9yKGVyclN5bnRheEVy cm9yLCAtMSwgIkNvdWxkbid0IGNyZWF0ZSBhIGZvbnQgZm9yICd7MDpzfSciLCBnZnhGb250LT5n ZXROYW1lKCkgPyBnZnhGb250LT5nZXROYW1lKCktPmNfc3RyKCkgOiAiKHVubmFtZWQpIik7DQor KwkJCQlnb3RvIGVycjI7DQorKwkJCX0NCisrI2VsaWYgUE9QUExFUl9FTkNPREVEX1ZFUlNJT04g Pj0gUE9QUExFUl9WRVJTSU9OX0VOQ09ERSgyNiwgMiwgMCkNCisgCQkJaWYgKCEoZm9udEZpbGUg PSBtX2ZvbnRFbmdpbmUtPmxvYWRUeXBlMUZvbnQoc3RkOjptb3ZlKGlkKSwgc3RkOjptb3ZlKGZv bnRzcmMpLCAoY29uc3QgY2hhcioqKSAoKEdmeDhCaXRGb250KikgZ2Z4Rm9udCktPmdldEVuY29k aW5nKCksIGZvbnRMb2MtPmZvbnROdW0pKSkNCisgCQkJew0KKyAJCQkJZXJyb3IoZXJyU3ludGF4 RXJyb3IsIC0xLCAiQ291bGRuJ3QgY3JlYXRlIGEgZm9udCBmb3IgJ3swOnN9JyIsIGdmeEZvbnQt PmdldE5hbWUoKSA/IGdmeEZvbnQtPmdldE5hbWUoKS0+Y19zdHIoKSA6ICIodW5uYW1lZCkiKTsN CitAQCAtMzE5OCw3ICszMjA0LDEzIEBAIHZvaWQgU2xhT3V0cHV0RGV2Ojp1cGRhdGVGb250KEdm eFN0YXRlICpzdGF0ZSkKKyAjZW5kaWYNCisgCQkJYnJlYWs7DQorIAkJY2FzZSBmb250VHlwZTFD Og0KKy0jaWYgUE9QUExFUl9FTkNPREVEX1ZFUlNJT04gPj0gUE9QUExFUl9WRVJTSU9OX0VOQ09E RSgyNiwgMiwgMCkNCisrI2lmIFBPUFBMRVJfRU5DT0RFRF9WRVJTSU9OID49IFBPUFBMRVJfVkVS U0lPTl9FTkNPREUoMjYsIDUsIDApDQorKwkJCWlmICghKGZvbnRGaWxlID0gbV9mb250RW5naW5l LT5sb2FkVHlwZTFDRm9udChzdGQ6Om1vdmUoaWQpLCBzdGQ6Om1vdmUoZm9udHNyYyksIHN0YXRp Y19jYXN0PEdmeDhCaXRGb250Kj4oZ2Z4Rm9udCktPmdldEVuY29kaW5nKCksIGZvbnRMb2MtPmZv bnROdW0pKSkNCisrCQkJew0KKysJCQkJZXJyb3IoZXJyU3ludGF4RXJyb3IsIC0xLCAiQ291bGRu J3QgY3JlYXRlIGEgZm9udCBmb3IgJ3swOnN9JyIsIGdmeEZvbnQtPmdldE5hbWUoKSA/IGdmeEZv bnQtPmdldE5hbWUoKS0+Y19zdHIoKSA6ICIodW5uYW1lZCkiKTsNCisrCQkJCWdvdG8gZXJyMjsN CisrCQkJfQ0KKysjZWxpZiBQT1BQTEVSX0VOQ09ERURfVkVSU0lPTiA+PSBQT1BQTEVSX1ZFUlNJ T05fRU5DT0RFKDI2LCAyLCAwKQ0KKyAJCQlpZiAoIShmb250RmlsZSA9IG1fZm9udEVuZ2luZS0+ bG9hZFR5cGUxQ0ZvbnQoc3RkOjptb3ZlKGlkKSwgc3RkOjptb3ZlKGZvbnRzcmMpLCAoY29uc3Qg Y2hhcioqKSAoKEdmeDhCaXRGb250KikgZ2Z4Rm9udCktPmdldEVuY29kaW5nKCksIGZvbnRMb2Mt PmZvbnROdW0pKSkNCisgCQkJew0KKyAJCQkJZXJyb3IoZXJyU3ludGF4RXJyb3IsIC0xLCAiQ291 bGRuJ3QgY3JlYXRlIGEgZm9udCBmb3IgJ3swOnN9JyIsIGdmeEZvbnQtPmdldE5hbWUoKSA/IGdm eEZvbnQtPmdldE5hbWUoKS0+Y19zdHIoKSA6ICIodW5uYW1lZCkiKTsNCitAQCAtMzIxOSw3ICsz MjMxLDEzIEBAIHZvaWQgU2xhT3V0cHV0RGV2Ojp1cGRhdGVGb250KEdmeFN0YXRlICpzdGF0ZSkK KyAjZW5kaWYNCisgCQkJYnJlYWs7DQorIAkJY2FzZSBmb250VHlwZTFDT1Q6DQorLSNpZiBQT1BQ TEVSX0VOQ09ERURfVkVSU0lPTiA+PSBQT1BQTEVSX1ZFUlNJT05fRU5DT0RFKDI2LCAyLCAwKQ0K KysjaWYgUE9QUExFUl9FTkNPREVEX1ZFUlNJT04gPj0gUE9QUExFUl9WRVJTSU9OX0VOQ09ERSgy NiwgNSwgMCkNCisrCQkJaWYgKCEoZm9udEZpbGUgPSBtX2ZvbnRFbmdpbmUtPmxvYWRPcGVuVHlw ZVQxQ0ZvbnQoc3RkOjptb3ZlKGlkKSwgc3RkOjptb3ZlKGZvbnRzcmMpLCBzdGF0aWNfY2FzdDxH Zng4Qml0Rm9udCo+KGdmeEZvbnQpLT5nZXRFbmNvZGluZygpLCBmb250TG9jLT5mb250TnVtKSkp DQorKwkJCXsNCisrCQkJCWVycm9yKGVyclN5bnRheEVycm9yLCAtMSwgIkNvdWxkbid0IGNyZWF0 ZSBhIGZvbnQgZm9yICd7MDpzfSciLCBnZnhGb250LT5nZXROYW1lKCkgPyBnZnhGb250LT5nZXRO YW1lKCktPmNfc3RyKCkgOiAiKHVubmFtZWQpIik7DQorKwkJCQlnb3RvIGVycjI7DQorKwkJCX0N CisrI2VsaWYgUE9QUExFUl9FTkNPREVEX1ZFUlNJT04gPj0gUE9QUExFUl9WRVJTSU9OX0VOQ09E RSgyNiwgMiwgMCkNCisgCQkJaWYgKCEoZm9udEZpbGUgPSBtX2ZvbnRFbmdpbmUtPmxvYWRPcGVu VHlwZVQxQ0ZvbnQoc3RkOjptb3ZlKGlkKSwgc3RkOjptb3ZlKGZvbnRzcmMpLCAoY29uc3QgY2hh cioqKSAoKEdmeDhCaXRGb250KikgZ2Z4Rm9udCktPmdldEVuY29kaW5nKCksIGZvbnRMb2MtPmZv bnROdW0pKSkNCisgCQkJew0KKyAJCQkJZXJyb3IoZXJyU3ludGF4RXJyb3IsIC0xLCAiQ291bGRu J3QgY3JlYXRlIGEgZm9udCBmb3IgJ3swOnN9JyIsIGdmeEZvbnQtPmdldE5hbWUoKSA/IGdmeEZv bnQtPmdldE5hbWUoKS0+Y19zdHIoKSA6ICIodW5uYW1lZCkiKTsNCistLSAKKzIuNTUuMC43MDEu Zzg4MThmMjc3MDQKKwoKZGlmZiAtLWdpdCBhLzAwMDEtMTc4MzItQWRkaXRpb25hbC1maXgtZm9y LWZhaWx1cmUtdG8tYnVpbGQtd2l0aC1wb3BwbC5wYXRjaCBiLzAwMDEtMTc4MzItQWRkaXRpb25h bC1maXgtZm9yLWZhaWx1cmUtdG8tYnVpbGQtd2l0aC1wb3BwbC5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMmMwMTRlCi0tLSAvZGV2L251bGwKKysrIGIvMDAwMS0x NzgzMi1BZGRpdGlvbmFsLWZpeC1mb3ItZmFpbHVyZS10by1idWlsZC13aXRoLXBvcHBsLnBhdGNo CkBAIC0wLDAgKzEsMjggQEAKK0Zyb20gNTU4N2E3MGE1YzYzMmIyMmRmNDhiODk4YmE5MWU0YmE0 M2JkN2E3MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK01lc3NhZ2UtSUQ6IDw1NTg3YTcwYTVj NjMyYjIyZGY0OGI4OThiYTkxZTRiYTQzYmQ3YTcyLjE3ODYxMzE0OTcuZ2l0Lm1qZ0BmZWRvcmFw cm9qZWN0Lm9yZz4KK0Zyb206IEplYW4gR2hhbGkgPGpnaGFsaUBsaWJlcnR5c3VyZi5mcj4KK0Rh dGU6IFRodSwgMTEgSnVuIDIwMjYgMTk6MDI6NTUgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gIzE3 ODMyOiBBZGRpdGlvbmFsIGZpeCBmb3IgZmFpbHVyZSB0byBidWlsZCB3aXRoIHBvcHBsZXIKKyAy Ni4wNi4wCisKK2dpdC1zdm4taWQ6IHN2bjovL3NjcmlidXMubmV0L2JyYW5jaGVzL1ZlcnNpb24x NngvU2NyaWJ1c0AyNzY0MSAxMWQyMDcwMS04NDMxLTA0MTAtYTcxMS1lM2M5NTllM2I4NzAKKy0t LQorIHNjcmlidXMvcGx1Z2lucy9pbXBvcnQvcGRmL3NsYW91dHB1dC5jcHAgfCAyICstCisgMSBm aWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQg YS9zY3JpYnVzL3BsdWdpbnMvaW1wb3J0L3BkZi9zbGFvdXRwdXQuY3BwIGIvc2NyaWJ1cy9wbHVn aW5zL2ltcG9ydC9wZGYvc2xhb3V0cHV0LmNwcAoraW5kZXggY2VmMmNkMDdjLi42Mjk4MDExMWUg MTAwNjQ0CistLS0gYS9zY3JpYnVzL3BsdWdpbnMvaW1wb3J0L3BkZi9zbGFvdXRwdXQuY3BwCisr KysgYi9zY3JpYnVzL3BsdWdpbnMvaW1wb3J0L3BkZi9zbGFvdXRwdXQuY3BwCitAQCAtNzQ0LDcg Kzc0NCw3IEBAIGJvb2wgU2xhT3V0cHV0RGV2OjpoYW5kbGVXaWRnZXRBbm5vdChBbm5vdCogYW5u b3RhLCBkb3VibGUgeENvb3IsIGRvdWJsZSB5Q29vciwKKyAJCQl9DQorIAkJCWl0ZS0+c2V0SXNB bm5vdGF0aW9uKHRydWUpOw0KKyAJCQlpdGUtPkF1dG9OYW1lID0gZmFsc2U7DQorLQkJCUFubm90 Qm9yZGVyICpicmQgPSBhbm5vdGEtPmdldEJvcmRlcigpOw0KKysJCQljb25zdCBBbm5vdEJvcmRl ciAqYnJkID0gYW5ub3RhLT5nZXRCb3JkZXIoKTsNCisgCQkJaWYgKGJyZCkNCisgCQkJew0KKyAJ CQkJaW50IGJzdHkgPSBicmQtPmdldFN0eWxlKCk7DQorLS0gCisyLjU1LjAuNzAxLmc4ODE4ZjI3 NzA0CisKCmRpZmYgLS1naXQgYS8wMDAxLTE3ODMyLUZpeC1mYWlsdXJlLXRvLWJ1aWxkLXdpdGgt cG9wcGxlci0yNi4wNi4wLnBhdGNoIGIvMDAwMS0xNzgzMi1GaXgtZmFpbHVyZS10by1idWlsZC13 aXRoLXBvcHBsZXItMjYuMDYuMC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwLi5mYWI2OWM3Ci0tLSAvZGV2L251bGwKKysrIGIvMDAwMS0xNzgzMi1GaXgtZmFpbHVyZS10 by1idWlsZC13aXRoLXBvcHBsZXItMjYuMDYuMC5wYXRjaApAQCAtMCwwICsxLDQzMiBAQAorRnJv bSAyMDhhNjE2NmEwN2JjZGEyZjgyODMyYWNkMWVjMDc5NzA5MTg0NmMzIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQorTWVzc2FnZS1JRDogPDIwOGE2MTY2YTA3YmNkYTJmODI4MzJhY2QxZWMwNzk3 MDkxODQ2YzMuMTc4NjEzMTQ5OS5naXQubWpnQGZlZG9yYXByb2plY3Qub3JnPgorRnJvbTogSmVh biBHaGFsaSA8amdoYWxpQGxpYmVydHlzdXJmLmZyPgorRGF0ZTogV2VkLCAzIEp1biAyMDI2IDIz OjA2OjA3ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdICMxNzgzMjogRml4IGZhaWx1cmUgdG8gYnVp bGQgd2l0aCBwb3BwbGVyIDI2LjA2LjAKKworZ2l0LXN2bi1pZDogc3ZuOi8vc2NyaWJ1cy5uZXQv YnJhbmNoZXMvVmVyc2lvbjE2eC9TY3JpYnVzQDI3NjI4IDExZDIwNzAxLTg0MzEtMDQxMC1hNzEx LWUzYzk1OWUzYjg3MAorLS0tCisgc2NyaWJ1cy9wbHVnaW5zL2ltcG9ydC9wZGYvaW1wb3J0cGRm LmNwcCAgICAgfCAgMjEgKysrKworIHNjcmlidXMvcGx1Z2lucy9pbXBvcnQvcGRmL2ltcG9ydHBk ZmNvbmZpZy5oIHwgICA2ICsrCisgc2NyaWJ1cy9wbHVnaW5zL2ltcG9ydC9wZGYvc2xhb3V0cHV0 LmNwcCAgICAgfCAxMDEgKysrKysrKysrKysrKysrKystLQorIHNjcmlidXMvcGx1Z2lucy9pbXBv cnQvcGRmL3NsYW91dHB1dC5oICAgICAgIHwgIDI2ICsrKystCisgNCBmaWxlcyBjaGFuZ2VkLCAx NDEgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zY3JpYnVz L3BsdWdpbnMvaW1wb3J0L3BkZi9pbXBvcnRwZGYuY3BwIGIvc2NyaWJ1cy9wbHVnaW5zL2ltcG9y dC9wZGYvaW1wb3J0cGRmLmNwcAoraW5kZXggYTM1OWJjNWE3Li43MzQ3YTZmZDAgMTAwNjQ0Cist LS0gYS9zY3JpYnVzL3BsdWdpbnMvaW1wb3J0L3BkZi9pbXBvcnRwZGYuY3BwCisrKysgYi9zY3Jp YnVzL3BsdWdpbnMvaW1wb3J0L3BkZi9pbXBvcnRwZGYuY3BwCitAQCAtMzc4LDggKzM3OCwxMyBA QCBib29sIFBkZlBsdWc6OmNvbnZlcnQoY29uc3QgUVN0cmluZyYgZm4pCisgCQkJYm9vbCB1c2VN ZWRpYUJveCA9IHRydWU7DQorIAkJCWJvb2wgY3JvcCA9IHRydWU7DQorIAkJCWJvb2wgcHJpbnRp bmcgPSBmYWxzZTsNCisrI2lmIFBPUFBMRVJfRU5DT0RFRF9WRVJTSU9OID49IFBPUFBMRVJfVkVS U0lPTl9FTkNPREUoMjYsIDYsIDApDQorKwkJCWNvbnN0IFBERlJlY3RhbmdsZSYgbWVkaWFCb3gg PSBwZGZEb2MtPmdldFBhZ2UoMSktPmdldE1lZGlhQm94KCk7DQorKwkJCVFSZWN0RiBtZWRpYVJl Y3QgPSBRUmVjdEYoUVBvaW50RihtZWRpYUJveC54MSwgbWVkaWFCb3gueTEpLCBRUG9pbnRGKG1l ZGlhQm94LngyLCBtZWRpYUJveC55MikpLm5vcm1hbGl6ZWQoKTsNCisrI2Vsc2UNCisgCQkJY29u c3QgUERGUmVjdGFuZ2xlICptZWRpYUJveCA9IHBkZkRvYy0+Z2V0UGFnZSgxKS0+Z2V0TWVkaWFC b3goKTsNCisgCQkJUVJlY3RGIG1lZGlhUmVjdCA9IFFSZWN0RihRUG9pbnRGKG1lZGlhQm94LT54 MSwgbWVkaWFCb3gtPnkxKSwgUVBvaW50RihtZWRpYUJveC0+eDIsIG1lZGlhQm94LT55MikpLm5v cm1hbGl6ZWQoKTsNCisrI2VuZGlmDQorIAkJCWJvb2wgYm94ZXNBcmVEaWZmZXJlbnQgPSBmYWxz ZTsNCisgCQkJaWYgKGdldENCb3goQ3JvcF9Cb3gsIDEpICE9IG1lZGlhUmVjdCkNCisgCQkJCWJv eGVzQXJlRGlmZmVyZW50ID0gdHJ1ZTsNCitAQCAtODg1LDYgKzg5MCwyMSBAQCBRSW1hZ2UgUGRm UGx1Zzo6cmVhZFByZXZpZXcoaW50IHBnTnVtLCBpbnQgd2lkdGgsIGludCBoZWlnaHQsIGludCBi b3gpCisgDQorIFFSZWN0RiBQZGZQbHVnOjpnZXRDQm94KGludCBib3gsIGludCBwZ051bSkNCisg ew0KKysjaWYgUE9QUExFUl9FTkNPREVEX1ZFUlNJT04gPj0gUE9QUExFUl9WRVJTSU9OX0VOQ09E RSgyNiwgNiwgMCkNCisrCVBERlJlY3RhbmdsZSBjQm94Ow0KKysJaWYgKGJveCA9PSBNZWRpYV9C b3gpDQorKwkJY0JveCA9IG1fcGRmRG9jLT5nZXRQYWdlKHBnTnVtKS0+Z2V0TWVkaWFCb3goKTsN CisrCWVsc2UgaWYgKGJveCA9PSBCbGVlZF9Cb3gpDQorKwkJY0JveCA9IG1fcGRmRG9jLT5nZXRQ YWdlKHBnTnVtKS0+Z2V0QmxlZWRCb3goKTsNCisrCWVsc2UgaWYgKGJveCA9PSBUcmltX0JveCkN CisrCQljQm94ID0gbV9wZGZEb2MtPmdldFBhZ2UocGdOdW0pLT5nZXRUcmltQm94KCk7DQorKwll bHNlIGlmIChib3ggPT0gQ3JvcF9Cb3gpDQorKwkJY0JveCA9IG1fcGRmRG9jLT5nZXRQYWdlKHBn TnVtKS0+Z2V0Q3JvcEJveCgpOw0KKysJZWxzZSBpZiAoYm94ID09IEFydF9Cb3gpDQorKwkJY0Jv eCA9IG1fcGRmRG9jLT5nZXRQYWdlKHBnTnVtKS0+Z2V0QXJ0Qm94KCk7DQorKwlRUmVjdEYgY1Jl Y3QgPSBRUmVjdEYoUVBvaW50RihjQm94LngxLCBjQm94LnkxKSwgUVBvaW50RihjQm94LngyLCBj Qm94LnkyKSkubm9ybWFsaXplZCgpOw0KKysJcmV0dXJuIGNSZWN0Ow0KKysjZWxzZQ0KKyAJY29u c3QgUERGUmVjdGFuZ2xlICpjQm94ID0gbnVsbHB0cjsNCisgCWlmIChib3ggPT0gTWVkaWFfQm94 KQ0KKyAJCWNCb3ggPSBtX3BkZkRvYy0+Z2V0UGFnZShwZ051bSktPmdldE1lZGlhQm94KCk7DQor QEAgLTg5OCw2ICs5MTgsNyBAQCBRUmVjdEYgUGRmUGx1Zzo6Z2V0Q0JveChpbnQgYm94LCBpbnQg cGdOdW0pCisgCQljQm94ID0gbV9wZGZEb2MtPmdldFBhZ2UocGdOdW0pLT5nZXRBcnRCb3goKTsN CisgCVFSZWN0RiBjUmVjdCA9IFFSZWN0RihRUG9pbnRGKGNCb3gtPngxLCBjQm94LT55MSksIFFQ b2ludEYoY0JveC0+eDIsIGNCb3gtPnkyKSkubm9ybWFsaXplZCgpOw0KKyAJcmV0dXJuIGNSZWN0 Ow0KKysjZW5kaWYNCisgfQ0KKyANCisgUVN0cmluZyBQZGZQbHVnOjpVbmljb2RlUGFyc2VkU3Ry aW5nKGNvbnN0IEdvb1N0cmluZyAqczEpIGNvbnN0DQorZGlmZiAtLWdpdCBhL3NjcmlidXMvcGx1 Z2lucy9pbXBvcnQvcGRmL2ltcG9ydHBkZmNvbmZpZy5oIGIvc2NyaWJ1cy9wbHVnaW5zL2ltcG9y dC9wZGYvaW1wb3J0cGRmY29uZmlnLmgKK2luZGV4IGNiZDVhN2UwMC4uMDRiZDcxMGY0IDEwMDY0 NAorLS0tIGEvc2NyaWJ1cy9wbHVnaW5zL2ltcG9ydC9wZGYvaW1wb3J0cGRmY29uZmlnLmgKKysr KyBiL3NjcmlidXMvcGx1Z2lucy9pbXBvcnQvcGRmL2ltcG9ydHBkZmNvbmZpZy5oCitAQCAtMjUs NCArMjUsMTAgQEAgZm9yIHdoaWNoIGEgbmV3IGxpY2Vuc2UgKEdQTCtleGNlcHRpb24pIGlzIGlu IHBsYWNlLgorIHVzaW5nIFNwbGFzaENvb3JkID0gZG91YmxlOw0KKyAjZW5kaWYNCisgDQorKyNp ZiBQT1BQTEVSX0VOQ09ERURfVkVSU0lPTiA+PSBQT1BQTEVSX1ZFUlNJT05fRU5DT0RFKDI2LCA2 LCAwKQ0KKysjZGVmaW5lIFBPUFBMRVJfQ09OU1RfMjZfMDYgY29uc3QNCisrI2Vsc2UNCisrI2Rl ZmluZSBQT1BQTEVSX0NPTlNUXzI2XzA2DQorKyNlbmRpZg0KKysNCisgI2VuZGlmDQorZGlmZiAt LWdpdCBhL3NjcmlidXMvcGx1Z2lucy9pbXBvcnQvcGRmL3NsYW91dHB1dC5jcHAgYi9zY3JpYnVz L3BsdWdpbnMvaW1wb3J0L3BkZi9zbGFvdXRwdXQuY3BwCitpbmRleCBmNzhlYTYzYmQuLmNlZjJj ZDA3YyAxMDA2NDQKKy0tLSBhL3NjcmlidXMvcGx1Z2lucy9pbXBvcnQvcGRmL3NsYW91dHB1dC5j cHAKKysrKyBiL3NjcmlidXMvcGx1Z2lucy9pbXBvcnQvcGRmL3NsYW91dHB1dC5jcHAKK0BAIC0x Nyw2ICsxNyw3IEBAIGZvciB3aGljaCBhIG5ldyBsaWNlbnNlIChHUEwrZXhjZXB0aW9uKSBpcyBp biBwbGFjZS4KKyAjaW5jbHVkZSA8cG9wcGxlci9wb3BwbGVyLWNvbmZpZy5oPg0KKyAjaW5jbHVk ZSA8cG9wcGxlci9GaWxlU3BlYy5oPg0KKyAjaW5jbHVkZSA8cG9wcGxlci9mb2ZpL0ZvRmlUcnVl VHlwZS5oPg0KKysjaW5jbHVkZSA8cG9wcGxlci9PcHRpb25hbENvbnRlbnQuaD4NCisgDQorICNp bmNsdWRlIDxRQXBwbGljYXRpb24+DQorICNpbmNsdWRlIDxRRmlsZT4NCitAQCAtMTg5LDcgKzE5 MCwxMSBAQCB2b2lkIEFub091dHB1dERldjo6ZHJhd1N0cmluZyhHZnhTdGF0ZSAqc3RhdGUsIGNv bnN0IEdvb1N0cmluZyAqcykKKyAjZW5kaWYNCisgfQ0KKyANCisrI2lmIFBPUFBMRVJfRU5DT0RF RF9WRVJTSU9OID49IFBPUFBMRVJfVkVSU0lPTl9FTkNPREUoMjYsIDA2LCAwKQ0KKytRU3RyaW5n IEFub091dHB1dERldjo6Z2V0Q29sb3IoR2Z4Q29sb3JTcGFjZSAqY29sb3Jfc3BhY2UsIGNvbnN0 IEdmeENvbG9yICZjb2xvciwgaW50KiBzaGFkZSkNCisrI2Vsc2UNCisgUVN0cmluZyBBbm9PdXRw dXREZXY6OmdldENvbG9yKEdmeENvbG9yU3BhY2UgKmNvbG9yX3NwYWNlLCBjb25zdCBHZnhDb2xv ciAqY29sb3IsIGludCAqc2hhZGUpDQorKyNlbmRpZg0KKyB7DQorIAlRU3RyaW5nIGZOYW07DQor IAlRU3RyaW5nIG5hbVByZWZpeCA9ICJGcm9tUERGIjsNCitAQCAtMjcyLDcgKzI3NywxMSBAQCBR U3RyaW5nIEFub091dHB1dERldjo6Z2V0Q29sb3IoR2Z4Q29sb3JTcGFjZSAqY29sb3Jfc3BhY2Us IGNvbnN0IEdmeENvbG9yICpjb2xvcgorIAkJdG1wLnNldFNwb3RDb2xvcih0cnVlKTsNCisgDQor IAkJZk5hbSA9IG1fZG9jLT5QYWdlQ29sb3JzLnRyeUFkZENvbG9yKG5hbWUsIHRtcCk7DQorKyNp ZiBQT1BQTEVSX0VOQ09ERURfVkVSU0lPTiA+PSBQT1BQTEVSX1ZFUlNJT05fRU5DT0RFKDI2LCAw NiwgMCkNCisrCQkqc2hhZGUgPSBxUm91bmQoY29sVG9EYmwoY29sb3IuY1swXSkgKiAxMDApOw0K KysjZWxzZQ0KKyAJCSpzaGFkZSA9IHFSb3VuZChjb2xUb0RibChjb2xvci0+Y1swXSkgKiAxMDAp Ow0KKysjZW5kaWYNCisgCX0NCisgCWVsc2UNCisgCXsNCitAQCAtNjYwLDcgKzY2OSw3IEBAIGJv b2wgU2xhT3V0cHV0RGV2OjpoYW5kbGVXaWRnZXRBbm5vdChBbm5vdCogYW5ub3RhLCBkb3VibGUg eENvb3IsIGRvdWJsZSB5Q29vciwKKyAJCX0NCisgCQlpZiAocmV0VmFsKQ0KKyAJCXsNCistCQkJ QW5ub3RBcHBlYXJhbmNlQ2hhcmFjcyAqYWNoYXIgPSBhbm8tPmdldEFwcGVhckNoYXJhY3MoKTsN CisrCQkJUE9QUExFUl9DT05TVF8yNl8wNiBBbm5vdEFwcGVhcmFuY2VDaGFyYWNzICphY2hhciA9 IGFuby0+Z2V0QXBwZWFyQ2hhcmFjcygpOw0KKyAJCQlib29sIGZnRm91bmQgPSBmYWxzZTsNCisg CQkJYm9vbCBiZ0ZvdW5kID0gZmFsc2U7DQorIAkJCWlmIChhY2hhcikNCitAQCAtNjk2LDcgKzcw NSwxMCBAQCBib29sIFNsYU91dHB1dERldjo6aGFuZGxlV2lkZ2V0QW5ub3QoQW5ub3QqIGFubm90 YSwgZG91YmxlIHhDb29yLCBkb3VibGUgeUNvb3IsCisgCQkJaWYgKGFwYSB8fCAhYWNoYXIpDQor IAkJCXsNCisgCQkJCWF1dG8gYW5ub3RPdXREZXYgPSBzdGQ6Om1ha2Vfc2hhcmVkPEFub091dHB1 dERldj4obV9kb2MsIG1faW1wb3J0ZWRDb2xvcnMpOw0KKy0jaWYgUE9QUExFUl9FTkNPREVEX1ZF UlNJT04gPj0gUE9QUExFUl9WRVJTSU9OX0VOQ09ERSgyMiwgNCwgMCkNCisrI2lmIFBPUFBMRVJf RU5DT0RFRF9WRVJTSU9OID49IFBPUFBMRVJfVkVSU0lPTl9FTkNPREUoMjYsIDYsIDApDQorKwkJ CQljb25zdCBQREZSZWN0YW5nbGUmIGFubm90YVJlY3QgPSBhbm5vdGEtPmdldFJlY3QoKTsNCisr CQkJCWF1dG8gZ2Z4ID0gc3RkOjptYWtlX3NoYXJlZDxHZng+KG1fcGRmRG9jLCBhbm5vdE91dERl di5nZXQoKSwgbV9wZGZEb2MtPmdldFBhZ2UobV9hY3RQYWdlKS0+Z2V0UmVzb3VyY2VEaWN0KCks IGFubm90YVJlY3QsIG51bGxwdHIpOw0KKysjZWxpZiBQT1BQTEVSX0VOQ09ERURfVkVSU0lPTiA+ PSBQT1BQTEVSX1ZFUlNJT05fRU5DT0RFKDIyLCA0LCAwKQ0KKyAJCQkJY29uc3QgUERGUmVjdGFu Z2xlJiBhbm5vdGFSZWN0ID0gYW5ub3RhLT5nZXRSZWN0KCk7DQorIAkJCQlhdXRvIGdmeCA9IHN0 ZDo6bWFrZV9zaGFyZWQ8R2Z4PihtX3BkZkRvYywgYW5ub3RPdXREZXYuZ2V0KCksIG1fcGRmRG9j LT5nZXRQYWdlKG1fYWN0UGFnZSktPmdldFJlc291cmNlRGljdCgpLCAmYW5ub3RhUmVjdCwgbnVs bHB0cik7DQorICNlbHNlDQorQEAgLTg1Myw3ICs4NjUsMTEgQEAgYm9vbCBTbGFPdXRwdXREZXY6 OmhhbmRsZVdpZGdldEFubm90KEFubm90KiBhbm5vdGEsIGRvdWJsZSB4Q29vciwgZG91YmxlIHlD b29yLAorIAkJCQl7DQorIAkJCQkJaWYgKHd0eXAgPT0gNSkNCisgCQkJCQkJaXRlLT5hbm5vdGF0 aW9uKCkuYWRkVG9GbGFnKEFubm90YXRpb246OkZsYWdfQ29tYm8pOw0KKysjaWYgUE9QUExFUl9F TkNPREVEX1ZFUlNJT04gPj0gUE9QUExFUl9WRVJTSU9OX0VOQ09ERSgyNiwgNiwgMCkNCisrCQkJ CQlzaXplX3QgY28gPSBidG4tPmdldENob2ljZXMoKS5zaXplKCk7DQorKyNlbHNlDQorIAkJCQkJ aW50IGNvID0gYnRuLT5nZXROdW1DaG9pY2VzKCk7DQorKyNlbmRpZg0KKyAJCQkJCWlmIChjbyA+ IDApDQorIAkJCQkJew0KKyAJCQkJCQlRU3RyaW5nIGluaCA9IFVuaWNvZGVQYXJzZWRTdHJpbmco YnRuLT5nZXRDaG9pY2UoMCkpOw0KK0BAIC05NTgsNyArOTc0LDcgQEAgdm9pZCBTbGFPdXRwdXRE ZXY6OmFwcGx5VGV4dFN0eWxlKFBhZ2VJdGVtKiBpdGUsIGNvbnN0IFFTdHJpbmcmIGZvbnROYW1l LCBjb25zdAorIA0KKyB2b2lkIFNsYU91dHB1dERldjo6aGFuZGxlQWN0aW9ucyhQYWdlSXRlbSog aXRlLCBBbm5vdFdpZGdldCAqYW5vKQ0KKyB7DQorLQlMaW5rQWN0aW9uICpMYWN0ID0gYW5vLT5n ZXRBY3Rpb24oKTsNCisrCVBPUFBMRVJfQ09OU1RfMjZfMDYgTGlua0FjdGlvbiAqTGFjdCA9IGFu by0+Z2V0QWN0aW9uKCk7DQorIAlpZiAoTGFjdCkNCisgCXsNCisgCQlpZiAoTGFjdC0+Z2V0S2lu ZCgpID09IGFjdGlvbkphdmFTY3JpcHQpDQorQEAgLTE1MDgsNyArMTUyNCw5IEBAIHZvaWQgU2xh T3V0cHV0RGV2OjplbmRUcmFuc3BhcmVuY3lHcm91cChHZnhTdGF0ZSAqc3RhdGUpCisgCW1fdG1w U2VsLT5jbGVhcigpOw0KKyB9DQorIA0KKy0jaWYgUE9QUExFUl9FTkNPREVEX1ZFUlNJT04gPj0g UE9QUExFUl9WRVJTSU9OX0VOQ09ERSgyNSwgOSwgMCkNCisrI2lmIFBPUFBMRVJfRU5DT0RFRF9W RVJTSU9OID49IFBPUFBMRVJfVkVSU0lPTl9FTkNPREUoMjYsIDYsIDApDQorK3ZvaWQgU2xhT3V0 cHV0RGV2OjpzZXRTb2Z0TWFzayhHZnhTdGF0ZSogLypzdGF0ZSovLCBjb25zdCBzdGQ6OmFycmF5 PGRvdWJsZSwgND4mIGJib3gsIGJvb2wgYWxwaGEsIEZ1bmN0aW9uKiB0cmFuc2ZlckZ1bmMsIGNv bnN0IEdmeENvbG9yJiAvKmJhY2tkcm9wQ29sb3IqLykNCisrI2VsaWYgUE9QUExFUl9FTkNPREVE X1ZFUlNJT04gPj0gUE9QUExFUl9WRVJTSU9OX0VOQ09ERSgyNSwgOSwgMCkNCisgdm9pZCBTbGFP dXRwdXREZXY6OnNldFNvZnRNYXNrKEdmeFN0YXRlKiAvKnN0YXRlKi8sIGNvbnN0IHN0ZDo6YXJy YXk8ZG91YmxlLCA0PiYgYmJveCwgYm9vbCBhbHBoYSwgRnVuY3Rpb24qIHRyYW5zZmVyRnVuYywg R2Z4Q29sb3IqIC8qYmFja2Ryb3BDb2xvciovKQ0KKyAjZWxzZQ0KKyB2b2lkIFNsYU91dHB1dERl djo6c2V0U29mdE1hc2soR2Z4U3RhdGUqIC8qc3RhdGUqLywgY29uc3QgZG91YmxlKiBiYm94LCBi b29sIGFscGhhLCBGdW5jdGlvbiogdHJhbnNmZXJGdW5jLCBHZnhDb2xvciogLypiYWNrZHJvcENv bG9yKi8pDQorQEAgLTIzMDMsNyArMjMyMSwxMSBAQCBib29sIFNsYU91dHB1dERldjo6dGlsaW5n UGF0dGVybkZpbGwoR2Z4U3RhdGUgKnN0YXRlLCBHZngqIC8qZ2Z4Ki8sIENhdGFsb2cgKmNhdAor IAlRVHJhbnNmb3JtIG1tKG1hdFswXSwgbWF0WzFdLCBtYXRbMl0sIG1hdFszXSwgbWF0WzRdLCBt YXRbNV0pOw0KKyAJUVRyYW5zZm9ybSBtbXggPSBtbSAqIG1fY3RtOw0KKyANCisrI2lmIFBPUFBM RVJfRU5DT0RFRF9WRVJTSU9OID49IFBPUFBMRVJfVkVSU0lPTl9FTkNPREUoMjYsIDYsIDApDQor KwlhdXRvIGdmeCA9IHN0ZDo6bWFrZV9zaGFyZWQ8R2Z4PihtX3BkZkRvYywgdGhpcywgcmVzRGlj dCwgYm94LCBudWxscHRyKTsNCisrI2Vsc2UNCisgCWF1dG8gZ2Z4ID0gc3RkOjptYWtlX3NoYXJl ZDxHZng+KG1fcGRmRG9jLCB0aGlzLCByZXNEaWN0LCAmYm94LCBudWxscHRyKTsNCisrI2VuZGlm DQorIAltX2luUGF0dGVybisrOw0KKyAJLy8gVW5zZXQgdGhlIGNsaXAgcGF0aCBhcyBpdCBpcyB1 bnJlbGF0ZWQgdG8gdGhlIHBhdHRlcm4ncyBjb29yZGluYXRlIHNwYWNlLg0KKyAJUVBhaW50ZXJQ YXRoIHNhdmVkQ2xpcCA9IG1fZ3JhcGhpY1N0YWNrLnRvcCgpLmNsaXBQYXRoOw0KK0BAIC0yNTUx LDcgKzI1NzMsMTEgQEAgdm9pZCBTbGFPdXRwdXREZXY6OmRyYXdTb2Z0TWFza2VkSW1hZ2UoR2Z4 U3RhdGUgKnN0YXRlLCBPYmplY3QgKnJlZiwgU3RyZWFtICpzdHIKKyAJaWYgKG1hdHRlQ29sb3Ig IT0gbnVsbHB0cikNCisgCXsNCisgCQlHZnhSR0IgbWF0dGVSZ2I7DQorKyNpZiBQT1BQTEVSX0VO Q09ERURfVkVSU0lPTiA+PSBQT1BQTEVSX1ZFUlNJT05fRU5DT0RFKDI2LCA2LCAwKQ0KKysJCWNv bG9yTWFwLT5nZXRDb2xvclNwYWNlKCktPmdldFJHQigqbWF0dGVDb2xvciwgJm1hdHRlUmdiKTsN CisrI2Vsc2UNCisgCQljb2xvck1hcC0+Z2V0Q29sb3JTcGFjZSgpLT5nZXRSR0IobWF0dGVDb2xv ciwgJm1hdHRlUmdiKTsNCisrI2VuZGlmDQorIAkJbWF0dGVSYyA9IHFSb3VuZChjb2xUb0RibCht YXR0ZVJnYi5yKSAqIDI1NSk7DQorIAkJbWF0dGVHYyA9IHFSb3VuZChjb2xUb0RibChtYXR0ZVJn Yi5nKSAqIDI1NSk7DQorIAkJbWF0dGVCYyA9IHFSb3VuZChjb2xUb0RibChtYXR0ZVJnYi5iKSAq IDI1NSk7DQorQEAgLTI5MzksMTAgKzI5NjUsMTggQEAgdm9pZCBTbGFPdXRwdXREZXY6OmJlZ2lu TWFya2VkQ29udGVudChjb25zdCBjaGFyICpuYW1lLCBPYmplY3QgKmRpY3RSZWYpCisgCW1fbWNT dGFjay5wdXNoKG1TdGUpOw0KKyB9DQorIA0KKysjaWYgUE9QUExFUl9FTkNPREVEX1ZFUlNJT04g Pj0gUE9QUExFUl9WRVJTSU9OX0VOQ09ERSgyNiwgNiwgMCkNCisrdm9pZCBTbGFPdXRwdXREZXY6 OmJlZ2luTWFya2VkQ29udGVudChjb25zdCBzdGQ6OnN0cmluZyYgbmFtZSwgRGljdCogcHJvcGVy dGllcykNCisrI2Vsc2UNCisgdm9pZCBTbGFPdXRwdXREZXY6OmJlZ2luTWFya2VkQ29udGVudChj b25zdCBjaGFyICpuYW1lLCBEaWN0ICpwcm9wZXJ0aWVzKQ0KKysjZW5kaWYNCisgew0KKyAvLwlx RGVidWcoKSA8PCAiQmVnaW4gTWFya2VkIENvbnRlbnQgd2l0aCBOYW1lICIgPDwgUVN0cmluZyhu YW1lKTsNCisrI2lmIFBPUFBMRVJfRU5DT0RFRF9WRVJTSU9OID49IFBPUFBMRVJfVkVSU0lPTl9F TkNPREUoMjYsIDYsIDApDQorKwlRU3RyaW5nIG5hbSA9IFFTdHJpbmc6OmZyb21TdGRTdHJpbmco bmFtZSk7DQorKyNlbHNlDQorIAlRU3RyaW5nIG5hbShuYW1lKTsNCisrI2VuZGlmDQorIAltQ29u dGVudCBtU3RlOw0KKyAJbVN0ZS5uYW1lID0gbmFtOw0KKyAJbVN0ZS5vY2dOYW1lID0gIiI7DQor QEAgLTMwMjEsMTYgKzMwNTUsMzEgQEAgdm9pZCBTbGFPdXRwdXREZXY6OmVuZE1hcmtlZENvbnRl bnQoR2Z4U3RhdGUgKnN0YXRlKQorIAl9DQorIH0NCisgDQorKyNpZiBQT1BQTEVSX0VOQ09ERURf VkVSU0lPTiA+PSBQT1BQTEVSX1ZFUlNJT05fRU5DT0RFKDI2LCA2LCAwKQ0KKyt2b2lkIFNsYU91 dHB1dERldjo6bWFya1BvaW50KGNvbnN0IHN0ZDo6c3RyaW5nJiBuYW1lKQ0KKyt7DQorKwkvLwlx RGVidWcoKSA8PCAiQmVnaW4gTWFya2VkIFBvaW50IHdpdGggTmFtZSAiIDw8IFFTdHJpbmcobmFt ZSk7DQorK30NCisrI2Vsc2UNCisgdm9pZCBTbGFPdXRwdXREZXY6Om1hcmtQb2ludChjb25zdCBj aGFyICpuYW1lKQ0KKyB7DQorIC8vCXFEZWJ1ZygpIDw8ICJCZWdpbiBNYXJrZWQgUG9pbnQgd2l0 aCBOYW1lICIgPDwgUVN0cmluZyhuYW1lKTsNCisgfQ0KKysjZW5kaWYNCisgDQorKyNpZiBQT1BQ TEVSX0VOQ09ERURfVkVSU0lPTiA+PSBQT1BQTEVSX1ZFUlNJT05fRU5DT0RFKDI2LCA2LCAwKQ0K Kyt2b2lkIFNsYU91dHB1dERldjo6bWFya1BvaW50KGNvbnN0IHN0ZDo6c3RyaW5nJiBuYW1lLCBE aWN0KiBwcm9wZXJ0aWVzKQ0KKyt7DQorKwkvLwlxRGVidWcoKSA8PCAiQmVnaW4gTWFya2VkIFBv aW50IHdpdGggTmFtZSAiIDw8IFFTdHJpbmcobmFtZSkgPDwgImFuZCBQcm9wZXJ0aWVzIjsNCisr CWJlZ2luTWFya2VkQ29udGVudChuYW1lLmNfc3RyKCksIHByb3BlcnRpZXMpOw0KKyt9DQorKyNl bHNlDQorIHZvaWQgU2xhT3V0cHV0RGV2OjptYXJrUG9pbnQoY29uc3QgY2hhciAqbmFtZSwgRGlj dCAqcHJvcGVydGllcykNCisgew0KKyAvLwlxRGVidWcoKSA8PCAiQmVnaW4gTWFya2VkIFBvaW50 IHdpdGggTmFtZSAiIDw8IFFTdHJpbmcobmFtZSkgPDwgImFuZCBQcm9wZXJ0aWVzIjsNCisgCWJl Z2luTWFya2VkQ29udGVudChuYW1lLCBwcm9wZXJ0aWVzKTsNCisgfQ0KKysjZW5kaWYNCisgDQor IHZvaWQgU2xhT3V0cHV0RGV2Ojp1cGRhdGVGb250KEdmeFN0YXRlICpzdGF0ZSkNCisgew0KK0BA IC0zNzYxLDYgKzM4MTAsMTMgQEAgdm9pZCBTbGFPdXRwdXREZXY6OmVuZFRleHRPYmplY3QoR2Z4 U3RhdGUgKnN0YXRlKQorIH0NCisgDQorIFFTdHJpbmcgU2xhT3V0cHV0RGV2OjpnZXRDb2xvcihH ZnhDb2xvclNwYWNlICpjb2xvcl9zcGFjZSwgY29uc3QgR2Z4Q29sb3IgKmNvbG9yLCBpbnQgKnNo YWRlKQ0KKyt7DQorKwlpZiAoIWNvbG9yKQ0KKysJCXJldHVybiBDb21tb25TdHJpbmdzOjpOb25l Ow0KKysJcmV0dXJuIGdldENvbG9yKGNvbG9yX3NwYWNlLCAqY29sb3IsIHNoYWRlKTsNCisrfQ0K KysNCisrUVN0cmluZyBTbGFPdXRwdXREZXY6OmdldENvbG9yKEdmeENvbG9yU3BhY2UgKmNvbG9y X3NwYWNlLCBjb25zdCBHZnhDb2xvciAmY29sb3IsIGludCAqc2hhZGUpDQorIHsNCisgCVFTdHJp bmcgZk5hbTsNCisgCVFTdHJpbmcgbmFtUHJlZml4ID0gIkZyb21QREYiOw0KK0BAIC0zNzc3LDMx ICszODMzLDQzIEBAIFFTdHJpbmcgU2xhT3V0cHV0RGV2OjpnZXRDb2xvcihHZnhDb2xvclNwYWNl ICpjb2xvcl9zcGFjZSwgY29uc3QgR2Z4Q29sb3IgKmNvbG9yCisgCWlmICgoY29sb3Jfc3BhY2Ut PmdldE1vZGUoKSA9PSBjc0RldmljZVJHQikgfHwgKGNvbG9yX3NwYWNlLT5nZXRNb2RlKCkgPT0g Y3NDYWxSR0IpKQ0KKyAJew0KKyAJCUdmeFJHQiByZ2I7DQorKyNpZiBQT1BQTEVSX0VOQ09ERURf VkVSU0lPTiA+PSBQT1BQTEVSX1ZFUlNJT05fRU5DT0RFKDI2LCA2LCAwKQ0KKyAJCWNvbG9yX3Nw YWNlLT5nZXRSR0IoY29sb3IsICZyZ2IpOw0KKysjZWxzZQ0KKysJCWNvbG9yX3NwYWNlLT5nZXRS R0IoJmNvbG9yLCAmcmdiKTsNCisrI2VuZGlmDQorIAkJZG91YmxlIFJjID0gY29sVG9EYmwocmdi LnIpOw0KKyAJCWRvdWJsZSBHYyA9IGNvbFRvRGJsKHJnYi5nKTsNCisgCQlkb3VibGUgQmMgPSBj b2xUb0RibChyZ2IuYik7DQorIAkJdG1wLnNldFJnYkNvbG9yRihSYywgR2MsIEJjKTsNCistCQlm TmFtID0gbV9kb2MtPlBhZ2VDb2xvcnMudHJ5QWRkQ29sb3IobmFtUHJlZml4K3RtcC5uYW1lKCks IHRtcCk7DQorKwkJZk5hbSA9IG1fZG9jLT5QYWdlQ29sb3JzLnRyeUFkZENvbG9yKG5hbVByZWZp eCArIHRtcC5uYW1lKCksIHRtcCk7DQorIAl9DQorIAllbHNlIGlmIChjb2xvcl9zcGFjZS0+Z2V0 TW9kZSgpID09IGNzRGV2aWNlQ01ZSykNCisgCXsNCisgCQlHZnhDTVlLIGNteWs7DQorKyNpZiBQ T1BQTEVSX0VOQ09ERURfVkVSU0lPTiA+PSBQT1BQTEVSX1ZFUlNJT05fRU5DT0RFKDI2LCA2LCAw KQ0KKyAJCWNvbG9yX3NwYWNlLT5nZXRDTVlLKGNvbG9yLCAmY215ayk7DQorKyNlbHNlDQorKwkJ Y29sb3Jfc3BhY2UtPmdldENNWUsoJmNvbG9yLCAmY215ayk7DQorKyNlbmRpZg0KKyAJCWRvdWJs ZSBDYyA9IGNvbFRvRGJsKGNteWsuYyk7DQorIAkJZG91YmxlIE1jID0gY29sVG9EYmwoY215ay5t KTsNCisgCQlkb3VibGUgWWMgPSBjb2xUb0RibChjbXlrLnkpOw0KKyAJCWRvdWJsZSBLYyA9IGNv bFRvRGJsKGNteWsuayk7DQorIAkJdG1wLnNldENteWtDb2xvckYoQ2MsIE1jLCBZYywgS2MpOw0K Ky0JCWZOYW0gPSBtX2RvYy0+UGFnZUNvbG9ycy50cnlBZGRDb2xvcihuYW1QcmVmaXgrdG1wLm5h bWUoKSwgdG1wKTsNCisrCQlmTmFtID0gbV9kb2MtPlBhZ2VDb2xvcnMudHJ5QWRkQ29sb3IobmFt UHJlZml4ICsgdG1wLm5hbWUoKSwgdG1wKTsNCisgCX0NCisgCWVsc2UgaWYgKChjb2xvcl9zcGFj ZS0+Z2V0TW9kZSgpID09IGNzQ2FsR3JheSkgfHwgKGNvbG9yX3NwYWNlLT5nZXRNb2RlKCkgPT0g Y3NEZXZpY2VHcmF5KSkNCisgCXsNCisgCQlHZnhHcmF5IGdyYXk7DQorKyNpZiBQT1BQTEVSX0VO Q09ERURfVkVSU0lPTiA+PSBQT1BQTEVSX1ZFUlNJT05fRU5DT0RFKDI2LCA2LCAwKQ0KKyAJCWNv bG9yX3NwYWNlLT5nZXRHcmF5KGNvbG9yLCAmZ3JheSk7DQorKyNlbHNlDQorKwkJY29sb3Jfc3Bh Y2UtPmdldEdyYXkoJmNvbG9yLCAmZ3JheSk7DQorKyNlbmRpZg0KKyAJCWRvdWJsZSBLYyA9IDEu MCAtIGNvbFRvRGJsKGdyYXkpOw0KKyAJCXRtcC5zZXRDbXlrQ29sb3JGKDAsIDAsIDAsIEtjKTsN CistCQlmTmFtID0gbV9kb2MtPlBhZ2VDb2xvcnMudHJ5QWRkQ29sb3IobmFtUHJlZml4K3RtcC5u YW1lKCksIHRtcCk7DQorKwkJZk5hbSA9IG1fZG9jLT5QYWdlQ29sb3JzLnRyeUFkZENvbG9yKG5h bVByZWZpeCArIHRtcC5uYW1lKCksIHRtcCk7DQorIAl9DQorIAllbHNlIGlmIChjb2xvcl9zcGFj ZS0+Z2V0TW9kZSgpID09IGNzU2VwYXJhdGlvbikNCisgCXsNCitAQCAtMzgzOSw3ICszOTA3LDEx IEBAIFFTdHJpbmcgU2xhT3V0cHV0RGV2OjpnZXRDb2xvcihHZnhDb2xvclNwYWNlICpjb2xvcl9z cGFjZSwgY29uc3QgR2Z4Q29sb3IgKmNvbG9yCisgCQllbHNlDQorIAkJew0KKyAJCQlHZnhDTVlL IGNteWs7DQorKyNpZiBQT1BQTEVSX0VOQ09ERURfVkVSU0lPTiA+PSBQT1BQTEVSX1ZFUlNJT05f RU5DT0RFKDI2LCA2LCAwKQ0KKyAJCQljb2xvcl9zcGFjZS0+Z2V0Q01ZSyhjb2xvciwgJmNteWsp Ow0KKysjZWxzZQ0KKysJCQljb2xvcl9zcGFjZS0+Z2V0Q01ZSygmY29sb3IsICZjbXlrKTsNCisr I2VuZGlmDQorIAkJCWRvdWJsZSBDYyA9IGNvbFRvRGJsKGNteWsuYyk7DQorIAkJCWRvdWJsZSBN YyA9IGNvbFRvRGJsKGNteWsubSk7DQorIAkJCWRvdWJsZSBZYyA9IGNvbFRvRGJsKGNteWsueSk7 DQorQEAgLTM4NDksMjAgKzM5MjEsMjQgQEAgUVN0cmluZyBTbGFPdXRwdXREZXY6OmdldENvbG9y KEdmeENvbG9yU3BhY2UgKmNvbG9yX3NwYWNlLCBjb25zdCBHZnhDb2xvciAqY29sb3IKKyAJCXRt cC5zZXRTcG90Q29sb3IodHJ1ZSk7DQorIA0KKyAJCWZOYW0gPSBtX2RvYy0+UGFnZUNvbG9ycy50 cnlBZGRDb2xvcihuYW1lLCB0bXApOw0KKy0JCSpzaGFkZSA9IHFSb3VuZChjb2xUb0RibChjb2xv ci0+Y1swXSkgKiAxMDApOw0KKysJCSpzaGFkZSA9IHFSb3VuZChjb2xUb0RibChjb2xvci5jWzBd KSAqIDEwMCk7DQorIAl9DQorIAllbHNlDQorIAl7DQorIAkJR2Z4UkdCIHJnYjsNCisrI2lmIFBP UFBMRVJfRU5DT0RFRF9WRVJTSU9OID49IFBPUFBMRVJfVkVSU0lPTl9FTkNPREUoMjYsIDYsIDAp DQorIAkJY29sb3Jfc3BhY2UtPmdldFJHQihjb2xvciwgJnJnYik7DQorKyNlbHNlDQorKwkJY29s b3Jfc3BhY2UtPmdldFJHQigmY29sb3IsICZyZ2IpOw0KKysjZW5kaWYNCisgCQlkb3VibGUgUmMg PSBjb2xUb0RibChyZ2Iucik7DQorIAkJZG91YmxlIEdjID0gY29sVG9EYmwocmdiLmcpOw0KKyAJ CWRvdWJsZSBCYyA9IGNvbFRvRGJsKHJnYi5iKTsNCisgCQl0bXAuc2V0UmdiQ29sb3JGKFJjLCBH YywgQmMpOw0KKy0JCWZOYW0gPSBtX2RvYy0+UGFnZUNvbG9ycy50cnlBZGRDb2xvcihuYW1QcmVm aXgrdG1wLm5hbWUoKSwgdG1wKTsNCisrCQlmTmFtID0gbV9kb2MtPlBhZ2VDb2xvcnMudHJ5QWRk Q29sb3IobmFtUHJlZml4ICsgdG1wLm5hbWUoKSwgdG1wKTsNCisgLy8JCXFEZWJ1ZygpIDw8ICJ1 cGRhdGUgZmlsbCBjb2xvciBvdGhlciBjb2xvcnNwYWNlIiA8PCBjb2xvcl9zcGFjZS0+Z2V0TW9k ZSgpIDw8ICJ0cmVhdGluZyBhcyByZ2IiIDw8IFJjIDw8IEdjIDw8IEJjOw0KKyAJfQ0KKy0JaWYg KGZOYW0gPT0gbmFtUHJlZml4K3RtcC5uYW1lKCkpDQorKwlpZiAoZk5hbSA9PSBuYW1QcmVmaXgg KyB0bXAubmFtZSgpKQ0KKyAJCW1faW1wb3J0ZWRDb2xvcnMtPmFwcGVuZChmTmFtKTsNCisgCXJl dHVybiBmTmFtOw0KKyB9DQorQEAgLTQxMDksNiArNDE4NSwxMSBAQCB2b2lkIFNsYU91dHB1dERl djo6cHVzaEdyb3VwKGNvbnN0IFFTdHJpbmcmIG1hc2tOYW1lLCBib29sIGZvclNvZnRNYXNrLCBi b29sIGFscAorIAltX2dyb3VwU3RhY2sucHVzaChnRWxlbWVudHMpOw0KKyB9DQorIA0KKytRU3Ry aW5nIFNsYU91dHB1dERldjo6VW5pY29kZVBhcnNlZFN0cmluZyhjb25zdCBHb29TdHJpbmcmIHMx KSBjb25zdA0KKyt7DQorKwlyZXR1cm4gVW5pY29kZVBhcnNlZFN0cmluZygmczEpOw0KKyt9DQor Kw0KKyBRU3RyaW5nIFNsYU91dHB1dERldjo6VW5pY29kZVBhcnNlZFN0cmluZyhjb25zdCBHb29T dHJpbmcgKnMxKSBjb25zdA0KKyB7DQorICNpZiBQT1BQTEVSX0VOQ09ERURfVkVSU0lPTiA+PSBQ T1BQTEVSX1ZFUlNJT05fRU5DT0RFKDI1LCAxMCwgMCkNCitkaWZmIC0tZ2l0IGEvc2NyaWJ1cy9w bHVnaW5zL2ltcG9ydC9wZGYvc2xhb3V0cHV0LmggYi9zY3JpYnVzL3BsdWdpbnMvaW1wb3J0L3Bk Zi9zbGFvdXRwdXQuaAoraW5kZXggN2IzYTcxZGM2Li4wMjExZDc3ZTcgMTAwNjQ0CistLS0gYS9z Y3JpYnVzL3BsdWdpbnMvaW1wb3J0L3BkZi9zbGFvdXRwdXQuaAorKysrIGIvc2NyaWJ1cy9wbHVn aW5zL2ltcG9ydC9wZGYvc2xhb3V0cHV0LmgKK0BAIC0yMiw2ICsyMiw3IEBAIGZvciB3aGljaCBh IG5ldyBsaWNlbnNlIChHUEwrZXhjZXB0aW9uKSBpcyBpbiBwbGFjZS4KKyANCisgI2luY2x1ZGUg PGFycmF5Pg0KKyAjaW5jbHVkZSA8bWVtb3J5Pg0KKysjaW5jbHVkZSA8c3RyaW5nPg0KKyANCisg I2luY2x1ZGUgImZwb2ludGFycmF5LmgiDQorICNpbmNsdWRlICJpbXBvcnRwZGZjb25maWcuaCIN CitAQCAtMTU2LDkgKzE1NywxNCBAQCBwdWJsaWM6CisgCXN0ZDo6dW5pcXVlX3B0cjxHb29TdHJp bmc+IGl0ZW1UZXh0Ow0KKyANCisgcHJpdmF0ZToNCistCVFTdHJpbmcgZ2V0Q29sb3IoR2Z4Q29s b3JTcGFjZSAqY29sb3Jfc3BhY2UsIGNvbnN0IEdmeENvbG9yICpjb2xvciwgaW50ICpzaGFkZSk7 DQorIAlTY3JpYnVzRG9jKiBtX2RvYyB7IG51bGxwdHIgfTsNCisgCVFTdHJpbmdMaXN0ICptX2lt cG9ydGVkQ29sb3JzIHsgbnVsbHB0ciB9Ow0KKysNCisrI2lmIFBPUFBMRVJfRU5DT0RFRF9WRVJT SU9OID49IFBPUFBMRVJfVkVSU0lPTl9FTkNPREUoMjYsIDA2LCAwKQ0KKysJUVN0cmluZyBnZXRD b2xvcihHZnhDb2xvclNwYWNlICpjb2xvcl9zcGFjZSwgY29uc3QgR2Z4Q29sb3IgJmNvbG9yLCBp bnQgKnNoYWRlKTsNCisrI2Vsc2UNCisrCVFTdHJpbmcgZ2V0Q29sb3IoR2Z4Q29sb3JTcGFjZSAq Y29sb3Jfc3BhY2UsIGNvbnN0IEdmeENvbG9yICpjb2xvciwgaW50KiBzaGFkZSk7DQorKyNlbmRp Zg0KKyB9Ow0KKyANCisgDQorQEAgLTIzOSwxMSArMjQ1LDIxIEBAIHB1YmxpYzoKKyAJdmlydHVh bCB2b2lkIGVuZE1hc2tDbGlwKEdmeFN0YXRlICpzdGF0ZSkgeyBxRGVidWcoKSA8PCAiRW5kIE1h c2sgQ2xpcCI7IH0NCisgDQorICAgLy8tLS0tLSBncm91cGluZyBvcGVyYXRvcnMNCistCXZvaWQg YmVnaW5NYXJrZWRDb250ZW50KGNvbnN0IGNoYXIgKm5hbWUsIERpY3QgKnByb3BlcnRpZXMpIG92 ZXJyaWRlOw0KKysjaWYgUE9QUExFUl9FTkNPREVEX1ZFUlNJT04gPj0gUE9QUExFUl9WRVJTSU9O X0VOQ09ERSgyNiwgNiwgMCkNCisrCXZvaWQgYmVnaW5NYXJrZWRDb250ZW50KGNvbnN0IHN0ZDo6 c3RyaW5nJiBuYW1lLCBEaWN0KiBwcm9wZXJ0aWVzKSBvdmVycmlkZTsNCisrI2Vsc2UNCisrCXZv aWQgYmVnaW5NYXJrZWRDb250ZW50KGNvbnN0IGNoYXIqIG5hbWUsIERpY3QqIHByb3BlcnRpZXMp IG92ZXJyaWRlOw0KKysjZW5kaWYNCisgCXZpcnR1YWwgdm9pZCBiZWdpbk1hcmtlZENvbnRlbnQo Y29uc3QgY2hhciAqbmFtZSwgT2JqZWN0ICpkaWN0UmVmKTsNCisgCXZvaWQgZW5kTWFya2VkQ29u dGVudChHZnhTdGF0ZSAqc3RhdGUpIG92ZXJyaWRlOw0KKysNCisrI2lmIFBPUFBMRVJfRU5DT0RF RF9WRVJTSU9OID49IFBPUFBMRVJfVkVSU0lPTl9FTkNPREUoMjYsIDYsIDApDQorKwl2b2lkIG1h cmtQb2ludChjb25zdCBzdGQ6OnN0cmluZyYgbmFtZSkgb3ZlcnJpZGU7DQorKwl2b2lkIG1hcmtQ b2ludChjb25zdCBzdGQ6OnN0cmluZyYgbmFtZSwgRGljdCogcHJvcGVydGllcykgb3ZlcnJpZGU7 DQorKyNlbHNlDQorIAl2b2lkIG1hcmtQb2ludChjb25zdCBjaGFyICpuYW1lKSBvdmVycmlkZTsN CisgCXZvaWQgbWFya1BvaW50KGNvbnN0IGNoYXIgKm5hbWUsIERpY3QgKnByb3BlcnRpZXMpIG92 ZXJyaWRlOw0KKysjZW5kaWYNCisgDQorIAkvLy0tLS0tIGltYWdlIGRyYXdpbmcNCisgCXZvaWQg ZHJhd0ltYWdlTWFzayhHZnhTdGF0ZSAqc3RhdGUsIE9iamVjdCAqcmVmLCBTdHJlYW0gKnN0ciwg aW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBib29sIGludmVydCwgYm9vbCBpbnRlcnBvbGF0ZSwgYm9v bCBpbmxpbmVJbWcpIG92ZXJyaWRlOw0KK0BAIC0yNzUsNyArMjkxLDkgQEAgcHVibGljOgorICNl bmRpZg0KKyAJdm9pZCBlbmRUcmFuc3BhcmVuY3lHcm91cChHZnhTdGF0ZSAqc3RhdGUpIG92ZXJy aWRlOw0KKyANCistI2lmIFBPUFBMRVJfRU5DT0RFRF9WRVJTSU9OID49IFBPUFBMRVJfVkVSU0lP Tl9FTkNPREUoMjUsIDksIDApDQorKyNpZiBQT1BQTEVSX0VOQ09ERURfVkVSU0lPTiA+PSBQT1BQ TEVSX1ZFUlNJT05fRU5DT0RFKDI2LCA2LCAwKQ0KKysJdm9pZCBzZXRTb2Z0TWFzayhHZnhTdGF0 ZSAqIC8qc3RhdGUqLywgY29uc3Qgc3RkOjphcnJheTxkb3VibGUsIDQ+ICYgLypiYm94Ki8sIGJv b2wgLyphbHBoYSovLCBGdW5jdGlvbiAqIC8qdHJhbnNmZXJGdW5jKi8sIGNvbnN0IEdmeENvbG9y ICYgLypiYWNrZHJvcENvbG9yKi8pIG92ZXJyaWRlOw0KKysjZWxpZiBQT1BQTEVSX0VOQ09ERURf VkVSU0lPTiA+PSBQT1BQTEVSX1ZFUlNJT05fRU5DT0RFKDI1LCA5LCAwKQ0KKyAJdm9pZCBzZXRT b2Z0TWFzayhHZnhTdGF0ZSAqIC8qc3RhdGUqLywgY29uc3Qgc3RkOjphcnJheTxkb3VibGUsIDQ+ ICYgLypiYm94Ki8sIGJvb2wgLyphbHBoYSovLCBGdW5jdGlvbiAqIC8qdHJhbnNmZXJGdW5jKi8s IEdmeENvbG9yICogLypiYWNrZHJvcENvbG9yKi8pIG92ZXJyaWRlOw0KKyAjZWxzZQ0KKyAJdm9p ZCBzZXRTb2Z0TWFzayhHZnhTdGF0ZSAqIC8qc3RhdGUqLywgY29uc3QgZG91YmxlICogLypiYm94 Ki8sIGJvb2wgLyphbHBoYSovLCBGdW5jdGlvbiAqIC8qdHJhbnNmZXJGdW5jKi8sIEdmeENvbG9y ICogLypiYWNrZHJvcENvbG9yKi8pIG92ZXJyaWRlOw0KK0BAIC0zODQsMTAgKzQwMiwxMiBAQCBw cm90ZWN0ZWQ6CisgcHJpdmF0ZToNCisgCXZvaWQgZ2V0UGVuU3RhdGUoR2Z4U3RhdGUgKnN0YXRl KTsNCisgCVFTdHJpbmcgZ2V0Q29sb3IoR2Z4Q29sb3JTcGFjZSAqY29sb3Jfc3BhY2UsIGNvbnN0 IEdmeENvbG9yICpjb2xvciwgaW50ICpzaGFkZSk7DQorKwlRU3RyaW5nIGdldENvbG9yKEdmeENv bG9yU3BhY2UqIGNvbG9yX3NwYWNlLCBjb25zdCBHZnhDb2xvciAmY29sb3IsIGludCogc2hhZGUp Ow0KKyAJUVN0cmluZyBnZXRBbm5vdGF0aW9uQ29sb3IoY29uc3QgQW5ub3RDb2xvciAqY29sb3Ip Ow0KKyAJUVN0cmluZyBjb252ZXJ0UGF0aChjb25zdCBHZnhQYXRoICpwYXRoKTsNCisgCWludCBn ZXRCbGVuZE1vZGUoR2Z4U3RhdGUgKnN0YXRlKSBjb25zdDsNCisgCVFTdHJpbmcgVW5pY29kZVBh cnNlZFN0cmluZyhjb25zdCBHb29TdHJpbmcgKnMxKSBjb25zdDsNCisrCVFTdHJpbmcgVW5pY29k ZVBhcnNlZFN0cmluZyhjb25zdCBHb29TdHJpbmcgJnMxKSBjb25zdDsNCisgCVFTdHJpbmcgVW5p Y29kZVBhcnNlZFN0cmluZyhjb25zdCBzdGQ6OnN0cmluZyYgczEpIGNvbnN0Ow0KKyAJYm9vbCBj aGVja0NsaXAoKTsNCisgDQorLS0gCisyLjU1LjAuNzAxLmc4ODE4ZjI3NzA0CisKCmRpZmYgLS1n aXQgYS8wMDAxLTE3ODgwLUF0dGVtcHQtdG8tZml4LWZhaWx1cmUtdG8tYnVpbGQtd2l0aC1wb3Bw bGVyLTIucGF0Y2ggYi8wMDAxLTE3ODgwLUF0dGVtcHQtdG8tZml4LWZhaWx1cmUtdG8tYnVpbGQt d2l0aC1wb3BwbGVyLTIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u MTVhZjFiNwotLS0gL2Rldi9udWxsCisrKyBiLzAwMDEtMTc4ODAtQXR0ZW1wdC10by1maXgtZmFp bHVyZS10by1idWlsZC13aXRoLXBvcHBsZXItMi5wYXRjaApAQCAtMCwwICsxLDM1IEBACitGcm9t IDRkZWQxM2YyYzU2ODRlYjExOTM5Y2JiNGY2OWYzZmI5Yjc2OTZlOGEgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCitNZXNzYWdlLUlEOiA8NGRlZDEzZjJjNTY4NGViMTE5MzljYmI0ZjY5ZjNmYjli NzY5NmU4YS4xNzg2MTMxNDc1LmdpdC5tamdAZmVkb3JhcHJvamVjdC5vcmc+CitGcm9tOiBKZWFu IEdoYWxpIDxqZ2hhbGlAbGliZXJ0eXN1cmYuZnI+CitEYXRlOiBXZWQsIDggSnVsIDIwMjYgMDc6 MDQ6MzMgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gIzE3ODgwOiBBdHRlbXB0IHRvIGZpeCBmYWls dXJlIHRvIGJ1aWxkIHdpdGggcG9wcGxlciAyNi4wNy4wCisKK2dpdC1zdm4taWQ6IHN2bjovL3Nj cmlidXMubmV0L2JyYW5jaGVzL1ZlcnNpb24xNngvU2NyaWJ1c0AyNzcwMiAxMWQyMDcwMS04NDMx LTA0MTAtYTcxMS1lM2M5NTllM2I4NzAKKy0tLQorIHNjcmlidXMvcGx1Z2lucy9pbXBvcnQvcGRm L3NsYW91dHB1dC5jcHAgfCA3ICsrKystLS0KKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25z KCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc2NyaWJ1cy9wbHVnaW5zL2ltcG9y dC9wZGYvc2xhb3V0cHV0LmNwcCBiL3NjcmlidXMvcGx1Z2lucy9pbXBvcnQvcGRmL3NsYW91dHB1 dC5jcHAKK2luZGV4IDYyOTgwMTExZS4uMjZkOWMyZGY0IDEwMDY0NAorLS0tIGEvc2NyaWJ1cy9w bHVnaW5zL2ltcG9ydC9wZGYvc2xhb3V0cHV0LmNwcAorKysrIGIvc2NyaWJ1cy9wbHVnaW5zL2lt cG9ydC9wZGYvc2xhb3V0cHV0LmNwcAorQEAgLTkxNCwxMiArOTE0LDEzIEBAIGJvb2wgU2xhT3V0 cHV0RGV2OjpoYW5kbGVXaWRnZXRBbm5vdChBbm5vdCogYW5ub3RhLCBkb3VibGUgeENvb3IsIGRv dWJsZSB5Q29vciwKKyAJCQl7DQorIAkJCQkvLyBMb2FkIGNoaWxkcmVuDQorIAkJCQlRTGlzdDxp bnQ+IHJhZExpc3Q7DQorLQkJCQlmb3IgKGludCBpID0gMDsgaSA8IG9iajIuYXJyYXlHZXRMZW5n dGgoKTsgaSsrKQ0KKysJCQkJQXJyYXkqIGtpZHNBcnJheSA9IG9iajIuZ2V0QXJyYXkoKTsNCisr CQkJCWZvciAoaW50IGkgPSAwOyBpIDwga2lkc0FycmF5LT5nZXRMZW5ndGgoKTsgaSsrKQ0KKyAJ CQkJew0KKy0JCQkJCWNvbnN0IE9iamVjdCYgY2hpbGRSZWYgPSBvYmoyLmFycmF5R2V0TkYoaSk7 DQorKwkJCQkJY29uc3QgT2JqZWN0JiBjaGlsZFJlZiA9IGtpZHNBcnJheS0+Z2V0TkYoaSk7DQor IAkJCQkJaWYgKCFjaGlsZFJlZi5pc1JlZigpKQ0KKyAJCQkJCQljb250aW51ZTsNCistCQkJCQlP YmplY3QgY2hpbGRPYmogPSBvYmoyLmFycmF5R2V0KGkpOw0KKysJCQkJCU9iamVjdCBjaGlsZE9i aiA9IGtpZHNBcnJheS0+Z2V0KGkpOw0KKyAJCQkJCWlmICghY2hpbGRPYmouaXNEaWN0KCkpDQor IAkJCQkJCWNvbnRpbnVlOw0KKyAJCQkJCWNvbnN0IFJlZiByZWYgPSBjaGlsZFJlZi5nZXRSZWYo KTsNCistLSAKKzIuNTUuMC43MDEuZzg4MThmMjc3MDQKKwoKZGlmZiAtLWdpdCBhLzAwMDEtRml4 LWFub3RoZXItY29tcGlsZXItZXJyb3Itd2hlbi1idWlsZGluZy13aXRoLW9sZC1wby5wYXRjaCBi LzAwMDEtRml4LWFub3RoZXItY29tcGlsZXItZXJyb3Itd2hlbi1idWlsZGluZy13aXRoLW9sZC1w by5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYmVlYjUzCi0tLSAv ZGV2L251bGwKKysrIGIvMDAwMS1GaXgtYW5vdGhlci1jb21waWxlci1lcnJvci13aGVuLWJ1aWxk aW5nLXdpdGgtb2xkLXBvLnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK0Zyb20gMmFiODZiMWVkODc5 MmUyN2M0Y2YyMGYyZWUxMjllMDkzZmE4YjllNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK01l c3NhZ2UtSUQ6IDwyYWI4NmIxZWQ4NzkyZTI3YzRjZjIwZjJlZTEyOWUwOTNmYThiOWU2LjE3ODYx MzE0OTIuZ2l0Lm1qZ0BmZWRvcmFwcm9qZWN0Lm9yZz4KK0Zyb206IEplYW4gR2hhbGkgPGpnaGFs aUBsaWJlcnR5c3VyZi5mcj4KK0RhdGU6IFRodSwgMTEgSnVuIDIwMjYgMTk6NDc6MjYgKzAwMDAK K1N1YmplY3Q6IFtQQVRDSF0gRml4IGFub3RoZXIgY29tcGlsZXIgZXJyb3Igd2hlbiBidWlsZGlu ZyB3aXRoIG9sZCBwb3BwbGVyCisgdmVyc2lvbnMKKworZ2l0LXN2bi1pZDogc3ZuOi8vc2NyaWJ1 cy5uZXQvYnJhbmNoZXMvVmVyc2lvbjE2eC9TY3JpYnVzQDI3NjQzIDExZDIwNzAxLTg0MzEtMDQx MC1hNzExLWUzYzk1OWUzYjg3MAorLS0tCisgc2NyaWJ1cy9wbHVnaW5zL2ltcG9ydC9wZGYvaW1w b3J0cGRmLmNwcCB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVs ZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3NjcmlidXMvcGx1Z2lucy9pbXBvcnQvcGRmL2ltcG9y dHBkZi5jcHAgYi9zY3JpYnVzL3BsdWdpbnMvaW1wb3J0L3BkZi9pbXBvcnRwZGYuY3BwCitpbmRl eCA3MzQ3YTZmZDAuLmVkYjIyZGYzNCAxMDA2NDQKKy0tLSBhL3NjcmlidXMvcGx1Z2lucy9pbXBv cnQvcGRmL2ltcG9ydHBkZi5jcHAKKysrKyBiL3NjcmlidXMvcGx1Z2lucy9pbXBvcnQvcGRmL2lt cG9ydHBkZi5jcHAKK0BAIC04NDIsNyArODQyLDcgQEAgUUltYWdlIFBkZlBsdWc6OnJlYWRQcmV2 aWV3KGludCBwZ051bSwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgYm94KQorICNpZiBQT1BQ TEVSX0VOQ09ERURfVkVSU0lPTiA+PSBQT1BQTEVSX1ZFUlNJT05fRU5DT0RFKDI2LCAyLCAwKQ0K KyAJYXV0byBkZXYgPSBzdGQ6Om1ha2VfdW5pcXVlPFNwbGFzaE91dHB1dERldj4oc3BsYXNoTW9k ZVhCR1I4LCA0LCBiZ0NvbG9yLCB0cnVlKTsNCisgI2Vsc2UNCistCWF1dG8gZGV2ID0gc3RkOjpt YWtlX3VuaXF1ZTxTcGxhc2hPdXRwdXREZXY+KHNwbGFzaE1vZGVYQkdSOCwgNCwgZmFsc2UsIGJn Q29sb3IsIHRydWUpOw0KKysJc3RkOjp1bmlxdWVfcHRyPFNwbGFzaE91dHB1dERldj4gZGV2KG5l dyBTcGxhc2hPdXRwdXREZXYoc3BsYXNoTW9kZVhCR1I4LCA0LCBmYWxzZSwgYmdDb2xvciwgdHJ1 ZSkpOw0KKyAjZW5kaWYNCisgCWRldi0+c2V0VmVjdG9yQW50aWFsaWFzKHRydWUpOw0KKyAJZGV2 LT5zZXRGcmVlVHlwZUhpbnRpbmcodHJ1ZSwgZmFsc2UpOw0KKy0tIAorMi41NS4wLjcwMS5nODgx OGYyNzcwNAorCgpkaWZmIC0tZ2l0IGEvc2NyaWJ1cy5zcGVjIGIvc2NyaWJ1cy5zcGVjCmluZGV4 IDA3Nzc2NTUuLjcwODk5MTggMTAwNjQ0Ci0tLSBhL3NjcmlidXMuc3BlYworKysgYi9zY3JpYnVz LnNwZWMKQEAgLTE0LDYgKzE0LDEzIEBAIFNvdXJjZTA6ICAgICAgICAle25hbWV9LSV7dmVyc2lv bn0tZnJlZS50YXIueHoKICNTb3VyY2UwOiAgICAgICAgaHR0cDovL2Rvd25sb2Fkcy5zb3VyY2Vm b3JnZS5uZXQvJSV7bmFtZX0vJSV7bmFtZX0tJSV7dmVyc2lvbn0udGFyLnh6CiAjU291cmNlMTog ICAgICAgIGh0dHA6Ly9kb3dubG9hZHMuc291cmNlZm9yZ2UubmV0LyUle25hbWV9LyUle25hbWV9 LSUle3ZlcnNpb259LnRhci54ei5hc2MKIAorIyB1cHN0cmVhbSBwYXRjaGVzIGZyb20gYnJhbmNo IFZlcnNpb24xNngKK1BhdGNoOiAgICAgICAgICAwMDAxLTE3ODA4LUZpeC1mYWlsdXJlLXRvLWJ1 aWxkLXdpdGgtcG9wcGxlci0yNi4wNS4wLnBhdGNoCitQYXRjaDogICAgICAgICAgMDAwMS0xNzgz Mi1GaXgtZmFpbHVyZS10by1idWlsZC13aXRoLXBvcHBsZXItMjYuMDYuMC5wYXRjaAorUGF0Y2g6 ICAgICAgICAgIDAwMDEtMTc4MzItQWRkaXRpb25hbC1maXgtZm9yLWZhaWx1cmUtdG8tYnVpbGQt d2l0aC1wb3BwbC5wYXRjaAorUGF0Y2g6ICAgICAgICAgIDAwMDEtRml4LWFub3RoZXItY29tcGls ZXItZXJyb3Itd2hlbi1idWlsZGluZy13aXRoLW9sZC1wby5wYXRjaAorUGF0Y2g6ICAgICAgICAg IDAwMDEtMTc4ODAtQXR0ZW1wdC10by1maXgtZmFpbHVyZS10by1idWlsZC13aXRoLXBvcHBsZXIt Mi5wYXRjaAorCiBCdWlsZFJlcXVpcmVzOiAgYm9vc3QtZGV2ZWwKIEJ1aWxkUmVxdWlyZXM6ICBj bWFrZQogQnVpbGRSZXF1aXJlczogIGN1cHMtZGV2ZWwK