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: Gerald B Cox To: git-commits@fedoraproject.org Subject: [rpms/sox] rawhide: Remove obsolete downstream patches Date: Wed, 02 Sep 2026 22:08:37 GMT Message-ID: <178838691761.1.1900357202547577514.rpms-sox-86ba5bcc4cd9@fedoraproject.org> List-ID: X-Git-Repo: rpms/sox X-Git-Branch: rawhide X-Git-Rev: 86ba5bcc4cd919b55bf7cca2a1e10fe2a7858e4a QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvc294CkJyYW5jaCA6 IHJhd2hpZGUKQ29tbWl0IDogODZiYTViY2M0Y2Q5MTliNTViZjdjY2EyYTFlMTBmZTJhNzg1OGU0 YQpBdXRob3IgOiBHZXJhbGQgQiBDb3ggPGdiY294QGZlZG9yYXByb2plY3Qub3JnPgpEYXRlICAg OiAyMDI2LTA5LTAyVDE1OjA4OjMxLTA3OjAwClN0YXRzICA6ICswLy00OTUgaW4gMTMgZmlsZShz KQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL3NveC9jLzg2YmE1 YmNjNGNkOTE5YjU1YmY3Y2NhMmExZTEwZmUyYTc4NThlNGE/YnJhbmNoPXJhd2hpZGUKCkxvZzoK UmVtb3ZlIG9ic29sZXRlIGRvd25zdHJlYW0gcGF0Y2hlcwoKLS0tCmRpZmYgLS1naXQgYS9zb3gt MTQuNC4yLWJ1Z18xMjI2Njc1X2ZpeC5wYXRjaCBiL3NveC0xNC40LjItYnVnXzEyMjY2NzVfZml4 LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNDI3OWY1Li4wMDAwMDAwCi0t LSBhL3NveC0xNC40LjItYnVnXzEyMjY2NzVfZml4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEs NDkgKzAsMCBAQAotZGlmZiAtLWdpdCBhL3NyYy9hby5jIGIvc3JjL2FvLmMKLWluZGV4IDQ3OTFk NGUuLjNkNjQzMWQgMTAwNjQ0Ci0tLS0gYS9zcmMvYW8uYwotKysrIGIvc3JjL2FvLmMKLUBAIC0z NCw5ICszNCwyMSBAQCB0eXBlZGVmIHN0cnVjdCB7Ci0gc3RhdGljIGludCBzdGFydHdyaXRlKHNv eF9mb3JtYXRfdCAqIGZ0KQotIHsKLSAgIHByaXZfdCAqIGFvID0gKHByaXZfdCAqKWZ0LT5wcml2 OwotKyAgdW5zaWduZWQgYnl0ZXNfcGVyX3NhbXBsZSA9IChmdC0+ZW5jb2RpbmcuYml0c19wZXJf c2FtcGxlICsgNykgPj4gMzsKLSAKLS0gIGFvLT5idWZfc2l6ZSA9IHNveF9nbG9iYWxzLmJ1ZnNp eiAtIChzb3hfZ2xvYmFscy5idWZzaXogJSAoZnQtPmVuY29kaW5nLmJpdHNfcGVyX3NhbXBsZSA+ PiAzKSk7Ci0tICBhby0+YnVmX3NpemUgKj0gKGZ0LT5lbmNvZGluZy5iaXRzX3Blcl9zYW1wbGUg Pj4gMyk7Ci0rICBpZiAoYnl0ZXNfcGVyX3NhbXBsZSA9PSAwKQotKyAgewotKyAgICAgIGxzeF9m YWlsKCJzdGFydHdyaXRlIFthbyBkcml2ZXJdOiBDb3JydXB0ZWQgZW5jb2RpbmcgZGF0YSAoYml0 cyBwZXIgc2FtcGxlIHNob3VsZCBub3QgYmUgemVybykiKTsKLSsgICAgICByZXR1cm4gU09YX0VP RjsKLSsgIH0KLSsKLSsgIC8qIFNpbmNlIHNveF9zd193cml0ZV9idWYgd29ya3Mgd2l0aCAxNi1i aXQgc2FtcGxlcywgZW5zdXJlIHRoZXJlIGlzIGFuIGVub3VnaCByb29tICovCi0rICBpZiAoYnl0 ZXNfcGVyX3NhbXBsZSA8IDIpCi0rICAgIGJ5dGVzX3Blcl9zYW1wbGUgPSAyOwotKyAgLyogQWxp Z24gdGhlIGJ1ZmZlciBzaXplIHRvIHRoZSBib3VuZGFyeSBkaXZpc2libGUgYnkgYnl0ZXNfcGVy X3NhbXBsZSAqLwotKyAgYW8tPmJ1Zl9zaXplID0gc294X2dsb2JhbHMuYnVmc2l6IC0gKHNveF9n bG9iYWxzLmJ1ZnNpeiAlIGJ5dGVzX3Blcl9zYW1wbGUpOwotKyAgLyogLSBhZGQgYmFjayBwb3Nz aWJseSB0cnVuY2F0ZWQgYnl0ZXMgKi8KLSsgIGFvLT5idWZfc2l6ZSArPSBieXRlc19wZXJfc2Ft cGxlOwotICAgYW8tPmJ1ZiA9IGxzeF9tYWxsb2MoYW8tPmJ1Zl9zaXplKTsKLSAKLSAgIGlmICgh YW8tPmJ1ZikKLUBAIC05MCwxMiArMTAyLDE3IEBAIHN0YXRpYyB2b2lkIHNveF9zd193cml0ZV9i dWYoY2hhciAqYnVmMSwgc294X3NhbXBsZV90IGNvbnN0ICogYnVmMiwgc2l6ZV90IGxlbiwKLSBz dGF0aWMgc2l6ZV90IHdyaXRlX3NhbXBsZXMoc294X2Zvcm1hdF90ICpmdCwgY29uc3Qgc294X3Nh bXBsZV90ICpidWYsIHNpemVfdCBsZW4pCi0gewotICAgcHJpdl90ICogYW8gPSAocHJpdl90ICop ZnQtPnByaXY7Ci0rICAvKiBUaGlzIHdpbGwgYmUgYWx3YXlzID4gMCBpbiB0aGUgY2FzZSB0aGUg Zm9ybWF0IGhhbmRsZXIgaXMgcHJvcGVybHkgdXNlZCAqLwotKyAgdW5zaWduZWQgYnl0ZXNfcGVy X3NhbXBsZSA9IChmdC0+ZW5jb2RpbmcuYml0c19wZXJfc2FtcGxlICsgNykgPj4gMzsKLSAgIHVp bnRfMzIgYW9idWZfc2l6ZTsKLSAKLS0gIGlmIChsZW4gPiBhby0+YnVmX3NpemUgLyAoZnQtPmVu Y29kaW5nLmJpdHNfcGVyX3NhbXBsZSA+PiAzKSkKLS0gICAgICBsZW4gPSBhby0+YnVmX3NpemUg LyAoZnQtPmVuY29kaW5nLmJpdHNfcGVyX3NhbXBsZSA+PiAzKTsKLSsgIC8qIE5vcm1hbGl6ZSB0 aGUgbnVtYmVyIG9mIHNhbXBsZXMgKi8KLSsgIGlmIChieXRlc19wZXJfc2FtcGxlIDwgMikKLSsg ICAgICBieXRlc19wZXJfc2FtcGxlID0gMjsKLSsgIGlmIChsZW4gPiBhby0+YnVmX3NpemUgLyBi eXRlc19wZXJfc2FtcGxlKQotKyAgICAgIGxlbiA9IGFvLT5idWZfc2l6ZSAvIGJ5dGVzX3Blcl9z YW1wbGU7Ci0gCi0tICBhb2J1Zl9zaXplID0gKGZ0LT5lbmNvZGluZy5iaXRzX3Blcl9zYW1wbGUg Pj4gMykgKiBsZW47Ci0rICBhb2J1Zl9zaXplID0gYnl0ZXNfcGVyX3NhbXBsZSAqIGxlbjsKLSAK LSAgIHNveF9zd193cml0ZV9idWYoYW8tPmJ1ZiwgYnVmLCBsZW4sIGZ0LT5lbmNvZGluZy5yZXZl cnNlX2J5dGVzLAotICAgICAgICAgICAgICAgICAgICAmKGZ0LT5jbGlwcykpOwoKZGlmZiAtLWdp dCBhL3NveC0xNC40LjItYnVnXzE0ODA2NzhfZml4LnBhdGNoIGIvc294LTE0LjQuMi1idWdfMTQ4 MDY3OF9maXgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFkMmI0MDguLjAw MDAwMDAKLS0tIGEvc294LTE0LjQuMi1idWdfMTQ4MDY3OF9maXgucGF0Y2gKKysrIC9kZXYvbnVs bApAQCAtMSw1OCArMCwwIEBACi0tLS0gYS9zcmMvd2F2LmMKLSsrKyBiL3NyYy93YXYuYwotQEAg LTcxMiw2ICs3MTIsMTEgQEAKLSAgICAgICAgIGZ0LT5zaWduYWwuY2hhbm5lbHMgPSB3Q2hhbm5l bHM7Ci0gICAgIGVsc2UKLSAgICAgICAgIGxzeF9yZXBvcnQoIlVzZXIgb3B0aW9ucyBvdmVycmlk aW5nIGNoYW5uZWxzIHJlYWQgaW4gLndhdiBoZWFkZXIiKTsKLSsKLSsgICAgaWYgKGZ0LT5zaWdu YWwuY2hhbm5lbHMgPT0gMCkgewotKyAgICAgICAgbHN4X2ZhaWxfZXJybm8oZnQsIFNPWF9FSERS LCAiQ2hhbm5lbCBjb3VudCBpcyB6ZXJvIik7Ci0rICAgICAgICByZXR1cm4gU09YX0VPRjsKLSsg ICAgfQotIAotICAgICBpZiAoZnQtPnNpZ25hbC5yYXRlID09IDAgfHwgZnQtPnNpZ25hbC5yYXRl ID09IGR3U2FtcGxlc1BlclNlY29uZCkKLSAgICAgICAgIGZ0LT5zaWduYWwucmF0ZSA9IGR3U2Ft cGxlc1BlclNlY29uZDsKLS0tLSBhL3NyYy9oY29tLmMKLSsrKyBiL3NyYy9oY29tLmMKLUBAIC03 Myw2ICs3MywxNCBAQAotICAgc2l6ZV90IHBvczsgICAgICAgICAgICAgICAgLyogV2hlcmUgbmV4 dCBieXRlIGdvZXMgKi8KLSB9IHByaXZfdDsKLSAKLStzdGF0aWMgaW50IGRpY3R2YWxpZChpbnQg biwgaW50IHNpemUsIGludCBsZWZ0LCBpbnQgcmlnaHQpCi0rewotKyAgICAgICAgaWYgKG4gPiAw ICYmIGxlZnQgPCAwKQotKyAgICAgICAgICAgICAgICByZXR1cm4gMTsKLSsKLSsgICAgICAgIHJl dHVybiAodW5zaWduZWQpbGVmdCA8IHNpemUgJiYgKHVuc2lnbmVkKXJpZ2h0IDwgc2l6ZTsKLSt9 Ci0rCi0gc3RhdGljIGludCBzdGFydHJlYWQoc294X2Zvcm1hdF90ICogZnQpCi0gewotICAgICAg ICAgcHJpdl90ICpwID0gKHByaXZfdCAqKSBmdC0+cHJpdjsKLUBAIC0xNTAsNiArMTU4LDExIEBA Ci0gICAgICAgICAgICAgICAgIGxzeF9kZWJ1ZygiJWQgJWQiLAotICAgICAgICAgICAgICAgICAg ICAgICAgcC0+ZGljdGlvbmFyeVtpXS5kaWN0X2xlZnRzb24sCi0gICAgICAgICAgICAgICAgICAg ICAgICBwLT5kaWN0aW9uYXJ5W2ldLmRpY3RfcmlnaHRzb24pOwotKyAgICAgICAgICAgICAgICBp ZiAoIWRpY3R2YWxpZChpLCBkaWN0c2l6ZSwgcC0+ZGljdGlvbmFyeVtpXS5kaWN0X2xlZnRzb24s Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAtPmRpY3Rpb25hcnlbaV0uZGljdF9y aWdodHNvbikpIHsKLSsgICAgICAgICAgICAgICAgICAgICAgICBsc3hfZmFpbF9lcnJubyhmdCwg U09YX0VIRFIsICJJbnZhbGlkIGRpY3Rpb25hcnkiKTsKLSsgICAgICAgICAgICAgICAgICAgICAg ICByZXR1cm4gU09YX0VPRjsKLSsgICAgICAgICAgICAgICAgfQotICAgICAgICAgfQotICAgICAg ICAgcmMgPSBsc3hfc2tpcGJ5dGVzKGZ0LCAoc2l6ZV90KSAxKTsgLyogc2tpcCBwYWQgYnl0ZSAq LwotICAgICAgICAgaWYgKHJjKQotLS0tIGEvc3JjL3dhdi5jCi0rKysgYi9zcmMvd2F2LmMKLUBA IC0xMzgxLDYgKzEzODEsMTIgQEAKLSAgICAgaW50IGJ5dGVzcGVyc2FtcGxlOyAvKiAodW5jb21w cmVzc2VkKSBieXRlcyBwZXIgc2FtcGxlIChwZXIgY2hhbm5lbCkgKi8KLSAgICAgbG9uZyBibG9j a3NXcml0dGVuID0gMDsKLSAgICAgc294X2Jvb2wgaXNFeHRlbnNpYmxlID0gc294X2ZhbHNlOyAg ICAvKiBXQVZFX0ZPUk1BVF9FWFRFTlNJQkxFPyAqLwotKwotKyAgICBpZiAoZnQtPnNpZ25hbC5j aGFubmVscyA+IFVJTlQxNl9NQVgpIHsKLSsgICAgICAgIGxzeF9mYWlsX2Vycm5vKGZ0LCBTT1hf RU9GLCAiVG9vIG1hbnkgY2hhbm5lbHMgKCV1KSIsCi0rICAgICAgICAgICAgICAgICAgICAgICBm dC0+c2lnbmFsLmNoYW5uZWxzKTsKLSsgICAgICAgIHJldHVybiBTT1hfRU9GOwotKyAgICB9Ci0g Ci0gICAgIGR3U2FtcGxlc1BlclNlY29uZCA9IGZ0LT5zaWduYWwucmF0ZTsKLSAgICAgd0NoYW5u ZWxzID0gZnQtPnNpZ25hbC5jaGFubmVsczsKCmRpZmYgLS1naXQgYS9zb3gtMTQuNC4yLWJ1Z18x NTAwNTUzX2ZpeC5wYXRjaCBiL3NveC0xNC40LjItYnVnXzE1MDA1NTNfZml4LnBhdGNoCmRlbGV0 ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYmJiZjAwLi4wMDAwMDAwCi0tLSBhL3NveC0xNC40 LjItYnVnXzE1MDA1NTNfZml4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsODYgKzAsMCBAQAot ZGlmZiAtLWdpdCBhL3NyYy9hZHBjbS5jIGIvc3JjL2FkcGNtLmMKLWluZGV4IDJlMTM4NjcuLmY2 NGI3ZDUgMTAwNjQ0Ci0tLS0gYS9zcmMvYWRwY20uYwotKysrIGIvc3JjL2FkcGNtLmMKLUBAIC03 MSw2ICs3MSwxMSBAQCBjb25zdCBzaG9ydCBsc3hfbXNfYWRwY21faV9jb2VmWzddWzJdID0gewot ICAgICAgICAgICAgICAgICAgICAgICAgIHsgMzkyLC0yMzJ9Ci0gfTsKLSAKLStleHRlcm4gdm9p ZCAqbHN4X21zX2FkcGNtX2FsbG9jKHVuc2lnbmVkIGNoYW5zKQotK3sKLSsgICAgICAgIHJldHVy biBsc3hfbWFsbG9jKGNoYW5zICogc2l6ZW9mKE1zU3RhdGVfdCkpOwotK30KLSsKLSBzdGF0aWMg aW5saW5lIHNveF9zYW1wbGVfdCBBZHBjbURlY29kZShzb3hfc2FtcGxlX3QgYywgTXNTdGF0ZV90 ICpzdGF0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc294X3NhbXBsZV90IHNh bXBsZTEsIHNveF9zYW1wbGVfdCBzYW1wbGUyKQotIHsKLUBAIC0xMDIsNiArMTA3LDcgQEAgc3Rh dGljIGlubGluZSBzb3hfc2FtcGxlX3QgQWRwY21EZWNvZGUoc294X3NhbXBsZV90IGMsIE1zU3Rh dGVfdCAqc3RhdGUsCi0gCi0gLyogbHN4X21zX2FkcGNtX2Jsb2NrX2V4cGFuZF9pKCkgb3V0cHV0 cyBpbnRlcmxlYXZlZCBzYW1wbGVzIGludG8gb25lIG91dHB1dCBidWZmZXIgKi8KLSBjb25zdCBj aGFyICpsc3hfbXNfYWRwY21fYmxvY2tfZXhwYW5kX2koCi0rICAgICAgICB2b2lkICpwcml2LAot ICAgICAgICAgdW5zaWduZWQgY2hhbnMsICAgICAgICAgIC8qIHRvdGFsIGNoYW5uZWxzICAgICAg ICAgICAgICovCi0gICAgICAgICBpbnQgbkNvZWYsCi0gICAgICAgICBjb25zdCBzaG9ydCAqY29l ZiwKLUBAIC0xMTMsNyArMTE5LDcgQEAgY29uc3QgY2hhciAqbHN4X21zX2FkcGNtX2Jsb2NrX2V4 cGFuZF9pKAotICAgY29uc3QgdW5zaWduZWQgY2hhciAqaXA7Ci0gICB1bnNpZ25lZCBjaDsKLSAg IGNvbnN0IGNoYXIgKmVycm1zZyA9IE5VTEw7Ci0tICBNc1N0YXRlX3Qgc3RhdGVbNF07ICAvKiBP bmUgZGVjb21wcmVzc29yIHN0YXRlIGZvciBlYWNoIGNoYW5uZWwgKi8KLSsgIE1zU3RhdGVfdCAq c3RhdGUgPSBwcml2OyAgLyogT25lIGRlY29tcHJlc3NvciBzdGF0ZSBmb3IgZWFjaCBjaGFubmVs ICovCi0gCi0gICAvKiBSZWFkIHRoZSBmb3VyLWJ5dGUgaGVhZGVyIGZvciBlYWNoIGNoYW5uZWwg Ki8KLSAgIGlwID0gaWJ1ZmY7Ci1kaWZmIC0tZ2l0IGEvc3JjL2FkcGNtLmggYi9zcmMvYWRwY20u aAotaW5kZXggYWY0ZDZmMC4uZGI1Y2M2MSAxMDA2NDQKLS0tLSBhL3NyYy9hZHBjbS5oCi0rKysg Yi9zcmMvYWRwY20uaAotQEAgLTI5LDggKzI5LDExIEBACi0gLyogZGVmYXVsdCBjb2VmIHNldHMg Ki8KLSBleHRlcm4gY29uc3Qgc2hvcnQgbHN4X21zX2FkcGNtX2lfY29lZls3XVsyXTsKLSAKLStl eHRlcm4gdm9pZCAqbHN4X21zX2FkcGNtX2FsbG9jKHVuc2lnbmVkIGNoYW5zKTsKLSsKLSAvKiBs c3hfbXNfYWRwY21fYmxvY2tfZXhwYW5kX2koKSBvdXRwdXRzIGludGVybGVhdmVkIHNhbXBsZXMg aW50byBvbmUgb3V0cHV0IGJ1ZmZlciAqLwotIGV4dGVybiBjb25zdCBjaGFyICpsc3hfbXNfYWRw Y21fYmxvY2tfZXhwYW5kX2koCi0rCXZvaWQgKnByaXYsCi0gCXVuc2lnbmVkIGNoYW5zLCAgICAg ICAgICAvKiB0b3RhbCBjaGFubmVscyAgICAgICAgICAgICAqLwotIAlpbnQgbkNvZWYsCi0gCWNv bnN0IHNob3J0ICpjb2VmLAotZGlmZiAtLWdpdCBhL3NyYy93YXYuYyBiL3NyYy93YXYuYwotaW5k ZXggM2U4MGU2OS4uZjdlNzJjMiAxMDA2NDQKLS0tLSBhL3NyYy93YXYuYwotKysrIGIvc3JjL3dh di5jCi1AQCAtODIsNiArODIsNyBAQCB0eXBlZGVmIHN0cnVjdCB7Ci0gICAgIC8qIGZvbGxvd2lu ZyB1c2VkIGJ5ICpBRFBDTSB3YXYgZmlsZXMgKi8KLSAgICAgdW5zaWduZWQgc2hvcnQgbkNvZWZz OyAgICAgICAgICAvKiBBRFBDTTogbnVtYmVyIG9mIGNvZWYgc2V0cyAqLwotICAgICBzaG9ydCAg ICAgICAgICpsc3hfbXNfYWRwY21faV9jb2VmczsgICAgICAgICAgLyogQURQQ006IGNvZWYgc2V0 cyAgICAgICAgICAgKi8KLSsgICAgdm9pZCAgICAgICAgICAqbXNfYWRwY21fZGF0YTsgICAvKiBQ cml2YXRlIGRhdGEgb2YgYWRwY20gZGVjb2RlciAqLwotICAgICB1bnNpZ25lZCBjaGFyICpwYWNr ZXQ7ICAgICAgICAgIC8qIFRlbXBvcmFyeSBidWZmZXIgZm9yIHBhY2tldHMgKi8KLSAgICAgc2hv cnQgICAgICAgICAqc2FtcGxlczsgICAgICAgICAvKiBpbnRlcmxlYXZlZCBzYW1wbGVzIGJ1ZmZl ciAqLwotICAgICBzaG9ydCAgICAgICAgICpzYW1wbGVQdHI7ICAgICAgIC8qIFBvaW50ZXIgdG8g Y3VycmVudCBzYW1wbGUgICovCi1AQCAtMTc1LDcgKzE3Niw3IEBAIHN0YXRpYyB1bnNpZ25lZCBz aG9ydCAgQWRwY21SZWFkQmxvY2soc294X2Zvcm1hdF90ICogZnQpCi0gICAgICAgICB9Ci0gICAg IH0KLSAKLS0gICAgZXJybXNnID0gbHN4X21zX2FkcGNtX2Jsb2NrX2V4cGFuZF9pKGZ0LT5zaWdu YWwuY2hhbm5lbHMsIHdhdi0+bkNvZWZzLCB3YXYtPmxzeF9tc19hZHBjbV9pX2NvZWZzLCB3YXYt PnBhY2tldCwgd2F2LT5zYW1wbGVzLCBzYW1wbGVzVGhpc0Jsb2NrKTsKLSsgICAgZXJybXNnID0g bHN4X21zX2FkcGNtX2Jsb2NrX2V4cGFuZF9pKHdhdi0+bXNfYWRwY21fZGF0YSwgZnQtPnNpZ25h bC5jaGFubmVscywgd2F2LT5uQ29lZnMsIHdhdi0+bHN4X21zX2FkcGNtX2lfY29lZnMsIHdhdi0+ cGFja2V0LCB3YXYtPnNhbXBsZXMsIHNhbXBsZXNUaGlzQmxvY2spOwotIAotICAgICBpZiAoZXJy bXNnKQotICAgICAgICAgbHN4X3dhcm4oIiVzIiwgZXJybXNnKTsKLUBAIC03ODYsNiArNzg3LDcg QEAgc3RhdGljIGludCBzdGFydHJlYWQoc294X2Zvcm1hdF90ICogZnQpCi0gCi0gICAgICAgICAv KiBuQ29lZnMsIGxzeF9tc19hZHBjbV9pX2NvZWZzIHVzZWQgYnkgYWRwY20uYyAqLwotICAgICAg ICAgd2F2LT5sc3hfbXNfYWRwY21faV9jb2VmcyA9IGxzeF9tYWxsb2Mod2F2LT5uQ29lZnMgKiAy ICogc2l6ZW9mKHNob3J0KSk7Ci0rICAgICAgICB3YXYtPm1zX2FkcGNtX2RhdGEgPSBsc3hfbXNf YWRwY21fYWxsb2Mod0NoYW5uZWxzKTsKLSAgICAgICAgIHsKLSAgICAgICAgICAgICBpbnQgaSwg ZXJyY3Q9MDsKLSAgICAgICAgICAgICBmb3IgKGk9MDsgbGVuPj0yICYmIGkgPCAyKndhdi0+bkNv ZWZzOyBpKyspIHsKLUBAIC0xMjExLDYgKzEyMTMsNyBAQCBzdGF0aWMgaW50IHN0b3ByZWFkKHNv eF9mb3JtYXRfdCAqIGZ0KQotICAgICBmcmVlKHdhdi0+cGFja2V0KTsKLSAgICAgZnJlZSh3YXYt PnNhbXBsZXMpOwotICAgICBmcmVlKHdhdi0+bHN4X21zX2FkcGNtX2lfY29lZnMpOwotKyAgICBm cmVlKHdhdi0+bXNfYWRwY21fZGF0YSk7Ci0gICAgIGZyZWUod2F2LT5jb21tZW50KTsKLSAgICAg d2F2LT5jb21tZW50ID0gTlVMTDsKLSAKCmRpZmYgLS1naXQgYS9zb3gtMTQuNC4yLWJ1Z18xNTAw NTU0X2ZpeC5wYXRjaCBiL3NveC0xNC40LjItYnVnXzE1MDA1NTRfZml4LnBhdGNoCmRlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NzNjMzgzLi4wMDAwMDAwCi0tLSBhL3NveC0xNC40LjIt YnVnXzE1MDA1NTRfZml4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotRnJv bSBlZjNkOGJlMGY4MGNiYjY1MGU0NzY2YjU0NWQ2MWUxMGQ3YTI0YzllIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQotRnJvbTogTWFucyBSdWxsZ2FyZCA8bWFuc0BtYW5zci5jb20+Ci1EYXRlOiBT dW4sIDUgTm92IDIwMTcgMTY6MjE6MjMgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gd2F2OiBpbWFf YWRwY206IGZpeCBidWZmZXIgb3ZlcmZsb3cgb24gY29ycnVwdCBpbnB1dAotIChDVkUtMjAxNy0x NTM3MCkKLQotQWRkIHRoZSBzYW1lIGNoZWNrIGJhZCBibG9jayBzaXplIGFzIHdhcyBkb25lIGZv ciBNUyBhZHBjbSBpbiBjb21taXQKLWYzOWM1NzRiICgiTW9yZSBjaGVja3MgZm9yIGludmFsaWQg TVMgQURQQ00gYmxvY2tzIikuCi0tLS0KLSBzcmMvd2F2LmMgfCAyICstCi0gMSBmaWxlIGNoYW5n ZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvd2F2 LmMgYi9zcmMvd2F2LmMKLWluZGV4IDUyMDI1NTZjLi4zZTgwZTY5MiAxMDA2NDQKLS0tLSBhL3Ny Yy93YXYuYwotKysrIGIvc3JjL3dhdi5jCi1AQCAtMTI3LDcgKzEyNyw3IEBAIHN0YXRpYyB1bnNp Z25lZCBzaG9ydCAgSW1hQWRwY21SZWFkQmxvY2soc294X2Zvcm1hdF90ICogZnQpCi0gICAgICAg ICAvKiB3b3JrIHdpdGggcGFydGlhbCBibG9ja3MuICBTcGVjcyBzYXkgaXQgc2hvdWxkIGJlIG51 bGwgKi8KLSAgICAgICAgIC8qIHBhZGRlZCBidXQgSSBndWVzcyB0aGlzIGlzIGJldHRlciB0aGFu IHRyYWlsaW5nIHF1aWV0LiAqLwotICAgICAgICAgc2FtcGxlc1RoaXNCbG9jayA9IGxzeF9pbWFf c2FtcGxlc19pbigoc2l6ZV90KTAsIChzaXplX3QpZnQtPnNpZ25hbC5jaGFubmVscywgYnl0ZXNS ZWFkLCAoc2l6ZV90KSAwKTsKLS0gICAgICAgIGlmIChzYW1wbGVzVGhpc0Jsb2NrID09IDApCi0r ICAgICAgICBpZiAoc2FtcGxlc1RoaXNCbG9jayA9PSAwIHx8IHNhbXBsZXNUaGlzQmxvY2sgPiB3 YXYtPnNhbXBsZXNQZXJCbG9jaykKLSAgICAgICAgIHsKLSAgICAgICAgICAgICBsc3hfd2Fybigi UHJlbWF0dXJlIEVPRiBvbiAud2F2IGlucHV0IGZpbGUiKTsKLSAgICAgICAgICAgICByZXR1cm4g MDsKCmRpZmYgLS1naXQgYS9zb3gtMTQuNC4yLWJ1Z18xNTAwNTcwX2ZpeC5wYXRjaCBiL3NveC0x NC40LjItYnVnXzE1MDA1NzBfZml4LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCBjZGUyNTNkLi4wMDAwMDAwCi0tLSBhL3NveC0xNC40LjItYnVnXzE1MDA1NzBfZml4LnBhdGNo CisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotRnJvbSA4MThiZGQwY2NjMWU1YjZjYWU3 NDJjNzQwYzE3ZmQ0MTQ5MzVjZjM5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWFu cyBSdWxsZ2FyZCA8bWFuc0BtYW5zci5jb20+Ci1EYXRlOiBTdW4sIDUgTm92IDIwMTcgMTU6NTc6 NDggKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gZmxhYzogZml4IGNyYXNoIG9uIGNvcnJ1cHQgbWV0 YWRhdGEgKENWRS0yMDE3LTE1MzcxKQotCi0tLS0KLSBzcmMvZmxhYy5jIHwgOCArKysrKy0tLQot IDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCi0KLUluZGV4 OiBzb3gvc3JjL2ZsYWMuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHNveC5vcmlnL3NyYy9mbGFjLmMKLSsr KyBzb3gvc3JjL2ZsYWMuYwotQEAgLTExOSw5ICsxMTksMTAgQEAgc3RhdGljIHZvaWQgZGVjb2Rl cl9tZXRhZGF0YV9jYWxsYmFjayhGTAotICAgICBwLT50b3RhbF9zYW1wbGVzID0gbWV0YWRhdGEt PmRhdGEuc3RyZWFtX2luZm8udG90YWxfc2FtcGxlczsKLSAgIH0KLSAgIGVsc2UgaWYgKG1ldGFk YXRhLT50eXBlID09IEZMQUNfX01FVEFEQVRBX1RZUEVfVk9SQklTX0NPTU1FTlQpIHsKLSsgICAg Y29uc3QgRkxBQ19fU3RyZWFtTWV0YWRhdGFfVm9yYmlzQ29tbWVudCAqdmMgPSAmbWV0YWRhdGEt PmRhdGEudm9yYmlzX2NvbW1lbnQ7Ci0gICAgIHNpemVfdCBpOwotIAotLSAgICBpZiAobWV0YWRh dGEtPmRhdGEudm9yYmlzX2NvbW1lbnQubnVtX2NvbW1lbnRzID09IDApCi0rICAgIGlmICh2Yy0+ bnVtX2NvbW1lbnRzID09IDApCi0gICAgICAgcmV0dXJuOwotIAotICAgICBpZiAoZnQtPm9vYi5j b21tZW50cyAhPSBOVUxMKSB7Ci1AQCAtMTI5LDggKzEzMCw5IEBAIHN0YXRpYyB2b2lkIGRlY29k ZXJfbWV0YWRhdGFfY2FsbGJhY2soRkwKLSAgICAgICByZXR1cm47Ci0gICAgIH0KLSAKLS0gICAg Zm9yIChpID0gMDsgaSA8IG1ldGFkYXRhLT5kYXRhLnZvcmJpc19jb21tZW50Lm51bV9jb21tZW50 czsgKytpKQotLSAgICAgIHNveF9hcHBlbmRfY29tbWVudCgmZnQtPm9vYi5jb21tZW50cywgKGNo YXIgY29uc3QgKikgbWV0YWRhdGEtPmRhdGEudm9yYmlzX2NvbW1lbnQuY29tbWVudHNbaV0uZW50 cnkpOwotKyAgICBmb3IgKGkgPSAwOyBpIDwgdmMtPm51bV9jb21tZW50czsgKytpKQotKyAgICAg IGlmICh2Yy0+Y29tbWVudHNbaV0uZW50cnkpCi0rICAgICAgICBzb3hfYXBwZW5kX2NvbW1lbnQo JmZ0LT5vb2IuY29tbWVudHMsIChjaGFyIGNvbnN0ICopIHZjLT5jb21tZW50c1tpXS5lbnRyeSk7 Ci0gICB9Ci0gfQotIAoKZGlmZiAtLWdpdCBhL3NveC0xNC40LjItYnVnXzE1MTA5MjNfZml4LnBh dGNoIGIvc294LTE0LjQuMi1idWdfMTUxMDkyM19maXgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDc3MmEwYmIuLjAwMDAwMDAKLS0tIGEvc294LTE0LjQuMi1idWdfMTUxMDky M19maXgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi1kaWZmIC0tZ2l0IGEv c3JjL2FpZmYuYyBiL3NyYy9haWZmLmMKLWluZGV4IDI0MGQyZTEuLjExZGRiNTQgMTAwNjQ0Ci0t LS0gYS9zcmMvYWlmZi5jCi0rKysgYi9zcmMvYWlmZi5jCi1AQCAtNjIsNyArNjIsNiBAQCBpbnQg bHN4X2FpZmZzdGFydHJlYWQoc294X2Zvcm1hdF90ICogZnQpCi0gICBzaXplX3Qgc3NuZHNpemUg PSAwOwotICAgY2hhciAqYW5ub3RhdGlvbjsKLSAgIGNoYXIgKmF1dGhvcjsKLS0gIGNoYXIgKmNv bW1lbnQgPSBOVUxMOwotICAgY2hhciAqY29weXJpZ2h0OwotICAgY2hhciAqbmFtZXRleHQ7Ci0g Ci1AQCAtMjcwLDYgKzI2OSw3IEBAIGludCBsc3hfYWlmZnN0YXJ0cmVhZChzb3hfZm9ybWF0X3Qg KiBmdCkKLSAgICAgICBmcmVlKGFubm90YXRpb24pOwotICAgICB9Ci0gICAgIGVsc2UgaWYgKHN0 cm5jbXAoYnVmLCAiQ09NVCIsIChzaXplX3QpNCkgPT0gMCkgewotKyAgICAgIGNoYXIgKmNvbW1l bnQgPSBOVUxMOwotICAgICAgIHJjID0gY29tbWVudENodW5rKCZjb21tZW50LCAiQ29tbWVudDoi LCBmdCk7Ci0gICAgICAgaWYgKHJjKSB7Ci0gICAgICAgICAvKiBGYWlsIGFscmVhZHkgY2FsbGVk IGluIGZ1bmN0aW9uICovCgpkaWZmIC0tZ2l0IGEvc294LTE0LjQuMi1idWdfMTU0NTg2N19maXgu cGF0Y2ggYi9zb3gtMTQuNC4yLWJ1Z18xNTQ1ODY3X2ZpeC5wYXRjaApkZWxldGVkIGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggNTYyY2IyMi4uMDAwMDAwMAotLS0gYS9zb3gtMTQuNC4yLWJ1Z18xNTQ1 ODY3X2ZpeC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAKLUEgY29ycnVwdCBo ZWFkZXIgc3BlY2lmeWluZyB6ZXJvIGNoYW5uZWxzIHdvdWxkIHNlbmQgcmVhZF9jaGFubmVscygp Ci1pbnRvIGFuIGluZmluaXRlIGxvb3AuICBQcmV2ZW50IHRoaXMgYnkgc2FuaXR5IGNoZWNraW5n IHRoZSBjaGFubmVsCi1jb3VudCBpbiBvcGVuX3JlYWQoKS4gIEFsc28gYWRkIGFuIHVwcGVyIGJv dW5kIHRvIHByZXZlbnQgb3ZlcmZsb3cKLWluIG11bHRpcGxpY2F0aW9uLgotLS0tCi0gc3JjL3hh LmMgfCA2ICsrKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKykKLQotZGlmZiAt LWdpdCBhL3NyYy94YS5jIGIvc3JjL3hhLmMKLWluZGV4IDgxYTc2NzcyMGQ5My4uOWZjMDg2ZWNh MmIyIDEwMDY0NAotLS0tIGEvc3JjL3hhLmMKLSsrKyBiL3NyYy94YS5jCi1AQCAtMTQzLDYgKzE0 MywxMiBAQCBzdGF0aWMgaW50IHN0YXJ0cmVhZChzb3hfZm9ybWF0X3QgKiBmdCkKLSAgICAgICAg IGxzeF9yZXBvcnQoIlVzZXIgb3B0aW9ucyBvdmVycmlkaW5nIHJhdGUgcmVhZCBpbiAueGEgaGVh ZGVyIik7Ci0gICAgIH0KLSAKLSsgICAgaWYgKGZ0LT5zaWduYWwuY2hhbm5lbHMgPT0gMCB8fCBm dC0+c2lnbmFsLmNoYW5uZWxzID4gVUlOVDE2X01BWCkgewotKyAgICAgICAgbHN4X2ZhaWxfZXJy bm8oZnQsIFNPWF9FRk1ULCAiaW52YWxpZCBjaGFubmVsIGNvdW50ICVkIiwKLSsgICAgICAgICAg ICAgICAgICAgICAgIGZ0LT5zaWduYWwuY2hhbm5lbHMpOwotKyAgICAgICAgcmV0dXJuIFNPWF9F T0Y7Ci0rICAgIH0KLSsKLSAgICAgLyogQ2hlY2sgZm9yIHN1cHBvcnRlZCBmb3JtYXRzICovCi0g ICAgIGlmIChmdC0+ZW5jb2RpbmcuYml0c19wZXJfc2FtcGxlICE9IDE2KSB7Ci0gICAgICAgICBs c3hfZmFpbF9lcnJubyhmdCwgU09YX0VGTVQsICIlZC1iaXQgc2FtcGxlIHJlc29sdXRpb24gbm90 IHN1cHBvcnRlZC4iLAotLS0gCi0yLjE3LjAKCmRpZmYgLS1naXQgYS9zb3gtMTQuNC4yLWZzZl9h ZGRyZXNzX2ZpeC5wYXRjaCBiL3NveC0xNC40LjItZnNmX2FkZHJlc3NfZml4LnBhdGNoCmRlbGV0 ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YzZlNTM3Li4wMDAwMDAwCi0tLSBhL3NveC0xNC40 LjItZnNmX2FkZHJlc3NfZml4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAot RnJvbSBmNDg1M2E4MTE5ZDIyMDk2ZmJlOWZkMDc2Nzk5YTEwNWUzYjNhYmI3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQotRnJvbTogSmlyaSBLdWNlcmEgPGprdWNlcmFAcmVkaGF0LmNvbT4KLURh dGU6IFR1ZSwgMzAgSmFuIDIwMTggMDA6Mjk6MTkgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSF0gRml4 ZWQgRlNGIGFkZHJlc3MKLQotLS0tCi0gc3JjL2xhZHNwYS5oIHwgMjUgKysrKysrKysrKysrLS0t LS0tLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlv bnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9sYWRzcGEuaCBiL3NyYy9sYWRzcGEuaAotaW5kZXgg NWMzMGE4YS4uMjk5NDEyYiAxMDA2NDQKLS0tLSBhL3NyYy9sYWRzcGEuaAotKysrIGIvc3JjL2xh ZHNwYS5oCi1AQCAtMywyMSArMywyMCBAQAotICAgIExpbnV4IEF1ZGlvIERldmVsb3BlcidzIFNp bXBsZSBQbHVnaW4gQVBJIFZlcnNpb24gMS4xW0xHUExdLgotICAgIENvcHlyaWdodCAoQykgMjAw MC0yMDAyIFJpY2hhcmQgVy5FLiBGdXJzZSwgUGF1bCBCYXJ0b24tRGF2aXMsCi0gICAgU3RlZmFu IFdlc3RlcmZlbGQuCi0tICAgCi0tICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotLSAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVy bXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotLSAgIGFzIHB1Ymxp c2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLjEg b2YKLS0gICB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv bi4KLS0gICAKLSsKLSsgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAotKyAgIHVuZGVyIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotKyAg IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIuMSBvZiB0aGUg TGljZW5zZSwgb3IgKGF0Ci0rICAgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotKwot ICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg YmUgdXNlZnVsLCBidXQKLSAgICBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0tICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlIEdOVQotLSAgIExlc3NlciBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0tICAgCi0tICAgWW91IHNob3VsZCBoYXZl IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotLSAgIExp Y2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUg U29mdHdhcmUKLS0gICBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMz MCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3Ci0tICAgVVNBLiAqLwotKyAgIE1FUkNIQU5UQUJJTElU WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VIExlc3Nl cgotKyAgIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSsKLSsgICBZ b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwg UHVibGljIExpY2Vuc2UKLSsgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0 ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLAotKyAgIEluYy4sIDUxIEZyYW5rbGlu IFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQSAgKi8KLSAK LSAjaWZuZGVmIExBRFNQQV9JTkNMVURFRAotICNkZWZpbmUgTEFEU1BBX0lOQ0xVREVECgpkaWZm IC0tZ2l0IGEvc294LTE0LjQuMi1oY29tX3N0b3B3cml0ZV9iaWdfZW5kaWFuX2J1Z19maXgucGF0 Y2ggYi9zb3gtMTQuNC4yLWhjb21fc3RvcHdyaXRlX2JpZ19lbmRpYW5fYnVnX2ZpeC5wYXRjaApk ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWFhODIwNi4uMDAwMDAwMAotLS0gYS9zb3gt MTQuNC4yLWhjb21fc3RvcHdyaXRlX2JpZ19lbmRpYW5fYnVnX2ZpeC5wYXRjaAorKysgL2Rldi9u dWxsCkBAIC0xLDQ0ICswLDAgQEAKLWRpZmYgLS1naXQgYS9zcmMvaGNvbS5jIGIvc3JjL2hjb20u YwotaW5kZXggZTc2ODIwZS4uZmI4ZGU5OSAxMDA2NDQKLS0tLSBhL3NyYy9oY29tLmMKLSsrKyBi L3NyYy9oY29tLmMKLUBAIC00MjgsMTIgKzQyOCwxOSBAQCBzdGF0aWMgaW50IHN0b3B3cml0ZShz b3hfZm9ybWF0X3QgKiBmdCkKLSB7Ci0gICBwcml2X3QgKnAgPSAocHJpdl90ICopIGZ0LT5wcml2 OwotICAgdW5zaWduZWQgY2hhciAqY29tcHJlc3NlZF9kYXRhID0gcC0+ZGF0YTsKLS0gIHNpemVf dCBjb21wcmVzc2VkX2xlbiA9IHAtPnBvczsKLSsgIGludDMyX3QgY29tcHJlc3NlZF9sZW4gPSAo aW50MzJfdClwLT5wb3M7Ci0gICBpbnQgcmMgPSBTT1hfU1VDQ0VTUzsKLSAKLSsgIGlmIChwLT5w b3MgPj4gMzIgPiAwKQotKyAgICBsc3hfd2FybigKLSsgICAgICAiJXM6IHBvc3NpYmxlIGRhdGEg bG9zcyIKLSsgICAgICAiICh0aGUgc2l6ZSBvZiBkYXRhIHRvIGJlIHdyaXR0ZW4gaGFzIGV4Y2Vl ZGVkIGl0cyBsaW1pdCkiLAotKyAgICAgIGZ0LT5maWxlbmFtZQotKyAgICApOwotKwotICAgLyog Q29tcHJlc3MgaXQgYWxsIGF0IG9uY2UgKi8KLSAgIGlmIChjb21wcmVzc2VkX2xlbikKLS0gICAg Y29tcHJlc3MoZnQsICZjb21wcmVzc2VkX2RhdGEsIChpbnQzMl90ICopJmNvbXByZXNzZWRfbGVu KTsKLSsgICAgY29tcHJlc3MoZnQsICZjb21wcmVzc2VkX2RhdGEsICZjb21wcmVzc2VkX2xlbik7 Ci0gICBmcmVlKHAtPmRhdGEpOwotIAotICAgLyogV3JpdGUgdGhlIGhlYWRlciAqLwotQEAgLTQ0 Nyw3ICs0NTQsNyBAQCBzdGF0aWMgaW50IHN0b3B3cml0ZShzb3hfZm9ybWF0X3QgKiBmdCkKLSAg IGlmIChsc3hfZXJyb3IoZnQpKSB7Ci0gICAgIGxzeF9mYWlsX2Vycm5vKGZ0LCBlcnJubywgIndy aXRlIGVycm9yIGluIEhDT00gaGVhZGVyIik7Ci0gICAgIHJjID0gU09YX0VPRjsKLS0gIH0gZWxz ZSBpZiAobHN4X3dyaXRlYnVmKGZ0LCBjb21wcmVzc2VkX2RhdGEsIGNvbXByZXNzZWRfbGVuKSAh PSBjb21wcmVzc2VkX2xlbikgewotKyAgfSBlbHNlIGlmIChsc3hfd3JpdGVidWYoZnQsIGNvbXBy ZXNzZWRfZGF0YSwgKHNpemVfdCkgY29tcHJlc3NlZF9sZW4pICE9IChzaXplX3QpIGNvbXByZXNz ZWRfbGVuKSB7Ci0gICAgIC8qIFdyaXRlIHRoZSBjb21wcmVzc2VkX2RhdGEgZm9yayAqLwotICAg ICBsc3hfZmFpbF9lcnJubyhmdCwgZXJybm8sICJjYW4ndCB3cml0ZSBjb21wcmVzc2VkIEhDT00g ZGF0YSIpOwotICAgICByYyA9IFNPWF9FT0Y7Ci1AQCAtNDU2LDcgKzQ2Myw3IEBAIHN0YXRpYyBp bnQgc3RvcHdyaXRlKHNveF9mb3JtYXRfdCAqIGZ0KQotIAotICAgaWYgKHJjID09IFNPWF9TVUND RVNTKQotICAgICAvKiBQYWQgdGhlIGNvbXByZXNzZWRfZGF0YSBmb3JrIHRvIGEgbXVsdGlwbGUg b2YgMTI4IGJ5dGVzICovCi0tICAgIGxzeF9wYWRieXRlcyhmdCwgMTI4dSAtIChjb21wcmVzc2Vk X2xlbiAlIDEyOCkpOwotKyAgICBsc3hfcGFkYnl0ZXMoZnQsIChzaXplX3QpIDEyOCAtIChjb21w cmVzc2VkX2xlbiAlIDEyOCkpOwotIAotICAgcmV0dXJuIHJjOwotIH0KCmRpZmYgLS1naXQgYS9z b3gtMTQuNC4yLWluc3RhbGxjaGVja19maXgucGF0Y2ggYi9zb3gtMTQuNC4yLWluc3RhbGxjaGVj a19maXgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBkNjU0YTAuLjAwMDAw MDAKLS0tIGEvc294LTE0LjQuMi1pbnN0YWxsY2hlY2tfZml4LnBhdGNoCisrKyAvZGV2L251bGwK QEAgLTEsMjMgKzAsMCBAQAotRnJvbSA5YzA4NDI2ODBhNGE0NmVmNjQ5OTBkNmM0MGRlMDVhYTMw Mjg2ZDU0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSmlyaSBLdWNlcmEgPGprdWNl cmFAcmVkaGF0LmNvbT4KLURhdGU6IFRodSwgMjUgSmFuIDIwMTggMjE6NTM6MzAgKzAxMDAKLVN1 YmplY3Q6IFtQQVRDSF0gQWRkZWQgJChERVNURElSKSBpbiBmcm9udCBvZiAke2JpbmRpcn0gc28g cHJvcGVyIHNveCBiaW5hcnkKLSBpcyBpbnZva2VkIGR1cmluZyB0ZXN0cwotCi0tLS0KLSBzcmMv TWFrZWZpbGUuYW0gfCA0ICsrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAy IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL01ha2VmaWxlLmFtIGIvc3JjL01ha2Vm aWxlLmFtCi1pbmRleCA3Y2NlYWFmLi5jYWY5ODY0IDEwMDY0NAotLS0tIGEvc3JjL01ha2VmaWxl LmFtCi0rKysgYi9zcmMvTWFrZWZpbGUuYW0KLUBAIC0xOTQsNiArMTk0LDYgQEAgbG9jOgotICMg d291bGQgcnVuIHRoZSB0ZXN0IHN1aXRlLCBidXQgYW4gdW5pbnN0YWxsZWQgbGlibHRkbCBidWls ZCBjYW5ub3QKLSAjIGN1cnJlbnRseSBsb2FkIGl0cyBmb3JtYXRzIGFuZCBlZmZlY3RzLCBzbyB0 aGUgY2hlY2tzIHdvdWxkIGZhaWwuCi0gaW5zdGFsbGNoZWNrOgotLQkkKHNyY2RpcikvdGVzdHMu c2ggLS1iaW5kaXI9JHtiaW5kaXJ9IC0tYnVpbGRkaXI9JHtidWlsZGRpcn0gLS1zcmNkaXI9JHtz cmNkaXJ9Ci0tCSQoc3JjZGlyKS90ZXN0YWxsLnNoIC0tYmluZGlyPSR7YmluZGlyfSAtLXNyY2Rp cj0ke3NyY2Rpcn0KLSsJJChzcmNkaXIpL3Rlc3RzLnNoIC0tYmluZGlyPSQoREVTVERJUikke2Jp bmRpcn0gLS1idWlsZGRpcj0ke2J1aWxkZGlyfSAtLXNyY2Rpcj0ke3NyY2Rpcn0KLSsJJChzcmNk aXIpL3Rlc3RhbGwuc2ggLS1iaW5kaXI9JChERVNURElSKSR7YmluZGlyfSAtLXNyY2Rpcj0ke3Ny Y2Rpcn0KLSAKCmRpZmYgLS1naXQgYS9zb3gtMTQuNC4yLWxwYzEwLnBhdGNoIGIvc294LTE0LjQu Mi1scGMxMC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGEzNTliZS4uMDAw MDAwMAotLS0gYS9zb3gtMTQuNC4yLWxwYzEwLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzUg KzAsMCBAQAotZGlmZiAtTmF1ciBzb3gtMTQuNC4yLm9yaWcvY29uZmlndXJlLmFjIHNveC0xNC40 LjIvY29uZmlndXJlLmFjCi0tLS0gc294LTE0LjQuMi5vcmlnL2NvbmZpZ3VyZS5hYwkyMDE1LTAy LTIyIDE0OjQ4OjU3LjAwMDAwMDAwMCAtMDYwMAotKysrIHNveC0xNC40LjIvY29uZmlndXJlLmFj CTIwMTUtMTEtMDYgMTE6NDg6MjYuMTc5ODU4MTQ5IC0wNjAwCi1AQCAtNDcxLDggKzQ3MSw2IEBA Ci0gICAgIEFDX0NIRUNLX0xJQihscGMxMCwgY3JlYXRlX2xwYzEwX2VuY29kZXJfc3RhdGUsIExQ QzEwX0xJQlM9IiRMUEMxMF9MSUJTIC1sbHBjMTAiLCBmb3VuZF9saWJscGMxMD1ubykKLSBpZiB0 ZXN0ICIkZm91bmRfbGlibHBjMTAiID0geWVzOyB0aGVuCi0gICAgIEFDX0RFRklORShFWFRFUk5B TF9MUEMxMCwgMSwgW0RlZmluZSBpZiB5b3UgYXJlIHVzaW5nIGFuIGV4dGVybmFsIExQQzEwIGxp YnJhcnldKQotLWVsc2UKLS0gICAgTElCTFBDMTBfTElCQUREPS4uL2xwYzEwL2xpYmxwYzEwLmxh Ci0gZmkKLSBBTV9DT05ESVRJT05BTChFWFRFUk5BTF9MUEMxMCwgdGVzdCB4JGZvdW5kX2xpYmxw YzEwID0geHllcykKLSBBQ19TVUJTVChMSUJMUEMxMF9MSUJBREQpCi1AQCAtNjcwLDcgKzY2OCw3 IEBACi0gQU1fQ09ORElUSU9OQUwoU1RBVElDX0xJQlNPWF9PTkxZLCB0ZXN0ICIkZW5hYmxlX3No YXJlZCIgPSAibm8iIC1hICIkZW5hYmxlX3N0YXRpYyIgPSAieWVzIikKLSAKLSBkbmwgR2VuZXJh dGUgb3V0cHV0IGZpbGVzLgotLUFDX0NPTkZJR19GSUxFUyhNYWtlZmlsZSBzcmMvTWFrZWZpbGUg bGliZ3NtL01ha2VmaWxlIGxwYzEwL01ha2VmaWxlIG1zdmM5L01ha2VmaWxlIG1zdmMxMC9NYWtl ZmlsZSBzb3gucGMpCi0rQUNfQ09ORklHX0ZJTEVTKE1ha2VmaWxlIHNyYy9NYWtlZmlsZSBsaWJn c20vTWFrZWZpbGUgbXN2YzkvTWFrZWZpbGUgbXN2YzEwL01ha2VmaWxlIHNveC5wYykKLSBBQ19P VVRQVVQKLSAKLSBpZiB0ZXN0ICIkdXNpbmdfZ3NtIiAhPSAibm8iOyB0aGVuCi1kaWZmIC1OYXVy IHNveC0xNC40LjIub3JpZy9NYWtlZmlsZS5hbSBzb3gtMTQuNC4yL01ha2VmaWxlLmFtCi0tLS0g c294LTE0LjQuMi5vcmlnL01ha2VmaWxlLmFtCTIwMTQtMTAtMDUgMjE6MDI6MzAuMDAwMDAwMDAw IC0wNTAwCi0rKysgc294LTE0LjQuMi9NYWtlZmlsZS5hbQkyMDE1LTExLTA2IDExOjQ4OjI2LjE3 OTg1ODE0OSAtMDYwMAotQEAgLTIsOCArMiw4IEBACi0gCi0gQUNMT0NBTF9BTUZMQUdTID0gLUkg bTQKLSAKLS1TVUJESVJTID0gbHBjMTAgbGliZ3NtIHNyYwotLURJU1RfU1VCRElSUyA9IGxwYzEw IGxpYmdzbSBzcmMgbXN2YzkgbXN2YzEwCi0rU1VCRElSUyA9IGxpYmdzbSBzcmMKLStESVNUX1NV QkRJUlMgPSBsaWJnc20gc3JjIG1zdmM5IG1zdmMxMAotIAotIFJNID0gcm0gLWYKLSAKCmRpZmYg LS1naXQgYS9zb3gtMTQuNC4yLWxzeF9zeW1ib2xzLnBhdGNoIGIvc294LTE0LjQuMi1sc3hfc3lt Ym9scy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjVjZWJkNy4uMDAwMDAw MAotLS0gYS9zb3gtMTQuNC4yLWxzeF9zeW1ib2xzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEs MTIgKzAsMCBAQAotZGlmZiAtTmF1ciBzb3gtMTQuNC4yLm9yaWcvc3JjL01ha2VmaWxlLmFtIHNv eC0xNC40LjIvc3JjL01ha2VmaWxlLmFtCi0tLS0gc294LTE0LjQuMi5vcmlnL3NyYy9NYWtlZmls ZS5hbQkyMDE0LTEwLTI5IDIyOjI5OjU0LjAwMDAwMDAwMCAtMDUwMAotKysrIHNveC0xNC40LjIv c3JjL01ha2VmaWxlLmFtCTIwMTUtMTEtMDYgMDk6NDk6MzQuNDY2NTk1NjE2IC0wNjAwCi1AQCAt OTUsNyArOTUsNyBAQAotIAotIGxpYnNveF9sYV9DRkxBR1MgPSBAV0FSTl9DRkxBR1NACi0gbGli c294X2xhX0xERkxBR1MgPSBAQVBQX0xERkxBR1NAIC12ZXJzaW9uLWluZm8gQFNITElCX1ZFUlNJ T05AIFwKLS0gIC1leHBvcnQtc3ltYm9scy1yZWdleCAnXihzb3hfLip8bHN4XyhjaGVja19yZWFk X3BhcmFtc3woY2xvc2V8b3BlbilfZGxsaWJyYXJ5fChkZWJ1ZyhfbW9yZXxfbW9zdCk/fGZhaWx8 cmVwb3J0fHdhcm4pX2ltcGx8ZW9mfGZhaWxfZXJybm98ZmlsZWxlbmd0aHxmaW5kXyhlbnVtXyh0 ZXh0fHZhbHVlKXxmaWxlX2V4dGVuc2lvbil8Z2V0b3B0KF9pbml0KT98bHBjMTBfKGNyZWF0ZV8o ZGV8ZW4pY29kZXJfc3RhdGV8KGRlfGVuKWNvZGUpfHJhdyhyZWFkfHdyaXRlKXxyZWFkKF9iX2J1 ZnxidWZ8Y2hhcnMpfHJlYWxsb2N8cmV3aW5kfHNlZWtpfHNpZ2ZpZ3MzcD98c3RyY2FzZWNtcHx0 ZWxsfHVucmVhZGJ8d3JpdGUoYnxfYl9idWZ8YnVmfHMpKSkkJCcKLSsgIC1leHBvcnQtc3ltYm9s cy1yZWdleCAnXihzb3hfLip8bHN4XyhjaGVja19yZWFkX3BhcmFtc3woY2xvc2V8b3BlbilfZGxs aWJyYXJ5fChkZWJ1ZyhfbW9yZXxfbW9zdCk/fGZhaWx8cmVwb3J0fHdhcm4pX2ltcGx8Zmx1c2h8 ZXJyb3J8ZW9mfGZhaWxfZXJybm98ZmlsZWxlbmd0aHxmaW5kXyhlbnVtXyh0ZXh0fHZhbHVlKXxm aWxlX2V4dGVuc2lvbil8Z2V0b3B0KF9pbml0KT98bHBjMTBfKGNyZWF0ZV8oZGV8ZW4pY29kZXJf c3RhdGV8KGRlfGVuKWNvZGUpfHJhdyhyZWFkfHdyaXRlKXxyZWFkKF9iX2J1ZnxidWZ8Y2hhcnMp fHJlYWxsb2N8cmV3aW5kfHNlZWtpfHNpZ2ZpZ3MzcD98c3RyY2FzZWNtcHx0ZWxsfHVucmVhZGJ8 d3JpdGUoYnxfYl9idWZ8YnVmfHMpKSkkJCcKLSAKLSBpZiBIQVZFX1dJTjMyX0xUREwKLSAgIGxp YnNveF9sYV9TT1VSQ0VTICs9IHdpbjMyLWx0ZGwuYyB3aW4zMi1sdGRsLmgKCmRpZmYgLS1naXQg YS9zb3gtc2FtcGxlX3Rlcy10LWM5OS5wYXRjaCBiL3NveC1zYW1wbGVfdGVzLXQtYzk5LnBhdGNo CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZjcyZDk5Li4wMDAwMDAwCi0tLSBhL3Nv eC1zYW1wbGVfdGVzLXQtYzk5LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzIgKzAsMCBAQAot SW5jbHVkZSA8bWF0aC5oPiBmb3IgdGhlIGZhYnMgZnVuY3Rpb24sIHRvIGF2b2lkIGFuIGltcGxp Y2l0IGZ1bmN0aW9uCi1kZWNsYXJhdGlvbi4gIFN1Y2ggaW1wbGljaXQgZGVjbGFyYXRpb25zIGFy ZSBpbmNvbXBhdGlibGUgd2l0aCBzdHJpY3QKLUM5OSBjb21waWxlcnMgYmVjYXVzZSB0aGlzIGZl YXR1cmUgd2FzIHJlbW92ZWQgZnJvbSBDIGluIDE5OTkuCi0KLUZpeGVkIHNsaWdodGx5IGRpZmZl cmVudGx5IHVwc3RyZWFtIHZpYToKLQotY29tbWl0IDY1YzdhNDNmZjM1N2QyMGEzNzVjYmMwZjJi YmJiOTE4NGIxZGExMGUKLUF1dGhvcjogTWFucyBSdWxsZ2FyZCA8bWFuc0BtYW5zci5jb20+Ci1E YXRlOiAgIE1vbiBBdWcgMyAxMTowNDozMCAyMDIwICswMTAwCi0KLSAgICBzb3hfc2FtcGxlX3Rl c3Q6IGNsZWFuIHVwIG5vbnNlbnNlCi0gICAgCi0gICAgTW92ZSBjb2RlIGZyb20gcG9pbnRsZXNz IC5oIGZpbGUgdG8gLmMgZmlsZS4KLSAgICBSZW1vdmUgd2FybmluZyBzdXBwcmVzc2lvbiBwcmFn bWFzLgotICAgIEZpeCBjYXVzZXMgb2Ygd2FybmluZ3MuCi0gICAgCi0gICAgU2VlIGFsc28gYnVn ICMzMjYuCi0KLWh0dHBzOi8vc291cmNlZm9yZ2UubmV0L3Avc294L2NvZGUvY2kvNjVjN2E0M2Zm MzU3ZDIwYTM3NWNiYzBmMmJiYmI5MTg0YjFkYTEwZQotCi1kaWZmIC0tZ2l0IGEvc3JjL3NveF9z YW1wbGVfdGVzdC5oIGIvc3JjL3NveF9zYW1wbGVfdGVzdC5oCi1pbmRleCA2MmI1NWU0MTM3YTNh YTdlLi4xN2YwMDY5Y2Q1NjFiOGM0IDEwMDY0NAotLS0tIGEvc3JjL3NveF9zYW1wbGVfdGVzdC5o Ci0rKysgYi9zcmMvc294X3NhbXBsZV90ZXN0LmgKLUBAIC0xOSw2ICsxOSw3IEBACi0gI3VuZGVm IE5ERUJVRyAvKiBNdXN0IHVuZGVmIGFib3ZlIGFzc2VydC5oIG9yIG90aGVyIHRoYXQgbWlnaHQg aW5jbHVkZSBpdC4gKi8KLSAjZW5kaWYKLSAjaW5jbHVkZSA8YXNzZXJ0Lmg+Ci0rI2luY2x1ZGUg PG1hdGguaD4KLSAjaW5jbHVkZSAic294LmgiCi0gCi0gI2RlZmluZSBURVNUX1VJTlQoYml0cykg XAo=