From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=ham autolearn_force=no version=3.4.2 Received: from inbox.vuxu.org (localhost [::1]) by inbox.vuxu.org (OpenSMTPD) with ESMTP id 6a3edbad for ; Thu, 30 Jan 2020 16:59:50 +0000 (UTC) Content-Type: multipart/mixed; boundary="===============6617481745217805344==" MIME-Version: 1.0 Subject: [PR PATCH] xbps: update to 0.58 To: ml@inbox.vuxu.org From: voidlinux-github@inbox.vuxu.org Reply-to: ml@inbox.vuxu.org Message-ID: Date: Thu, 30 Jan 2020 17:59:49 +0100 GitHub notification mails are now in MIME to allow UTF8. --===============6617481745217805344== MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhlcmUgaXMgYSBuZXcgcHVsbCByZXF1ZXN0IGJ5IHh0cmFlbWUgYWdhaW5zdCBtYXN0ZXIgb24g dGhlIHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29tL3h0cmFlbWUv dm9pZC1wYWNrYWdlcyB4YnBzLTAuNTgKaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9p ZC1wYWNrYWdlcy9wdWxsLzE4NjY1Cgp4YnBzOiB1cGRhdGUgdG8gMC41OAp5b3VycyB0cnVseQoK QSBwYXRjaCBmaWxlIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNr YWdlcy9wdWxsLzE4NjY1LnBhdGNoIGlzIGF0dGFjaGVk --===============6617481745217805344== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-xbps-0.58-18665.patch" RnJvbSAxYzY2MjFmNjhkNGYwMzEwNTRiMTY1MjBkZmVmN2I1MjFkOGFlOTY4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKdWFuIFJQIDx4dHJhZW1lQGdtYWlsLmNvbT4KRGF0ZTogVGh1 LCAzMCBKYW4gMjAyMCAxNzo1Nzo0MyArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMS8yXSB4YnBzOiB1 cGRhdGUgdG8gMC41OC4KCi0tLQogc3JjcGtncy94YnBzL3BhdGNoZXMvMTAwNzVjMi5wYXRjaCAg ICAgICAgICAgIHwgIDMzIC0tCiBzcmNwa2dzL3hicHMvcGF0Y2hlcy84NWI4YjNiLnBhdGNoICAg ICAgICAgICAgfCAzNTUgLS0tLS0tLS0tLS0tLS0tLS0tCiAuLi4vOTktY2MtYWx0ZXJuYXRpdmUt d29ya2Fyb3VuZC5wYXRjaCAgICAgICAgfCAgMTQgLQogc3JjcGtncy94YnBzL3BhdGNoZXMvQ1ZF LTIwMjAtNzQ1MC5wYXRjaCAgICAgIHwgIDM2IC0tCiBzcmNwa2dzL3hicHMvcGF0Y2hlcy9wa2ct Y29uZmlnLWNyb3NzLnBhdGNoICAgfCAgNzAgLS0tLQogc3JjcGtncy94YnBzL3BhdGNoZXMvcmV2 ZXJ0cy1zdHJpY3QtcmV2LnBhdGNoIHwgMTQ0IC0tLS0tLS0KIC4uLi9wYXRjaGVzL3hicHMtY2hl Y2t2ZXJzLXN1YnBrZ3MtZml4LnBhdGNoICB8ICA4MiAtLS0tCiBzcmNwa2dzL3hicHMvdGVtcGxh dGUgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDYgKy0KIDggZmlsZXMgY2hhbmdlZCwgMyBp bnNlcnRpb25zKCspLCA3MzcgZGVsZXRpb25zKC0pCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtn cy94YnBzL3BhdGNoZXMvMTAwNzVjMi5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mv eGJwcy9wYXRjaGVzLzg1YjhiM2IucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3hi cHMvcGF0Y2hlcy85OS1jYy1hbHRlcm5hdGl2ZS13b3JrYXJvdW5kLnBhdGNoCiBkZWxldGUgbW9k ZSAxMDA2NDQgc3JjcGtncy94YnBzL3BhdGNoZXMvQ1ZFLTIwMjAtNzQ1MC5wYXRjaAogZGVsZXRl IG1vZGUgMTAwNjQ0IHNyY3BrZ3MveGJwcy9wYXRjaGVzL3BrZy1jb25maWctY3Jvc3MucGF0Y2gK IGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3hicHMvcGF0Y2hlcy9yZXZlcnRzLXN0cmljdC1y ZXYucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3hicHMvcGF0Y2hlcy94YnBzLWNo ZWNrdmVycy1zdWJwa2dzLWZpeC5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MveGJwcy9wYXRj aGVzLzEwMDc1YzIucGF0Y2ggYi9zcmNwa2dzL3hicHMvcGF0Y2hlcy8xMDA3NWMyLnBhdGNoCmRl bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MThjNTNjZDcxOS4uMDAwMDAwMDAwMDAKLS0t IGEvc3JjcGtncy94YnBzL3BhdGNoZXMvMTAwNzVjMi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0x LDMzICswLDAgQEAKLWNvbW1pdCAxMDA3NWMyOGU1MDY1ZTk0OGNhYzcwNzI4NTY4MWY2NTQxNzU5 ODczCi1BdXRob3I6IEp1YW4gUlAgPHh0cmFlbWVAZ21haWwuY29tPgotRGF0ZTogICBTYXQgSmFu IDQgMTM6MDE6MjggMjAyMCArMDEwMAotCi0gICAgbGlieGJwczogaWdub3JlIGluZGlyZWN0IGJy b2tlbiByZXZkZXBzIHdoaWxlIHVwZGF0aW5nIHhicHMuCi0gICAgCi0gICAgVGhpcyBmaXhlcyB0 aGUgbG9uZyBzdGFuZGluZyBpc3N1ZSB0aGF0IGhhcyBiZWVuIGEgcGxhZ3VlIGZvcgotICAgIGEg bG9uZyB0aW1lLgotICAgIAotICAgIFNlZSB0aGUgdGVzdCBjYXNlIGZvciBtb3JlIGluZm9ybWF0 aW9uLgotCi1kaWZmIC0tZ2l0IGEvbGliL3RyYW5zYWN0aW9uX29wcy5jIGIvbGliL3RyYW5zYWN0 aW9uX29wcy5jCi1pbmRleCAzZDNmYzM2YS4uMDM3MjVlZTMgMTAwNjQ0Ci0tLS0gbGliL3RyYW5z YWN0aW9uX29wcy5jCi0rKysgbGliL3RyYW5zYWN0aW9uX29wcy5jCi1AQCAtMjcxLDYgKzI3MSwx NyBAQCB4YnBzX2F1dG91cGRhdGUoc3RydWN0IHhicHNfaGFuZGxlICp4aHApCi0gCQkJaWYgKHJ2 ICYmIHJ2ICE9IEVOT0VOVCAmJiBydiAhPSBFRVhJU1QgJiYgcnYgIT0gRU5PREVWKQotIAkJCQly ZXR1cm4gLTE7Ci0gCQl9Ci0rCQkvKgotKwkJICogU2V0IFhCUFNfRkxBR19GT1JDRV9SRU1PVkVf UkVWREVQUyB0byBpZ25vcmUgYnJva2VuCi0rCQkgKiByZXZlcnNlIGRlcGVuZGVuY2llcyBpbiB4 YnBzX3RyYW5zYWN0aW9uX3ByZXBhcmUoKS4KLSsJCSAqCi0rCQkgKiBUaGlzIHdvbid0IHNraXAg cmV2ZGVwcyBvZiB0aGUgeGJwcyBwa2csIHJhdGhlciBvdGhlcgotKwkJICogcGFja2FnZXMgaW4g cm9vdGRpciB0aGF0IGNvdWxkIGJlIGJyb2tlbiBpbmRpcmVjdGx5LgotKwkJICoKLSsJCSAqIEEg c3lzdXAgdHJhbnNhY3Rpb24gYWZ0ZXIgdXBkYXRpbmcgeGJwcyBzaG91bGQgZml4IHRoZW0KLSsJ CSAqIGFnYWluLgotKwkJICovCi0rCQl4aHAtPmZsYWdzIHw9IFhCUFNfRkxBR19GT1JDRV9SRU1P VkVfUkVWREVQUzsKLSAJCXJldHVybiAxOwotIAl9IGVsc2UgaWYgKHJ2ID09IEVOT0VOVCB8fCBy diA9PSBFRVhJU1QgfHwgcnYgPT0gRU5PREVWKSB7Ci0gCQkvKiBubyB1cGRhdGUgKi8KZGlmZiAt LWdpdCBhL3NyY3BrZ3MveGJwcy9wYXRjaGVzLzg1YjhiM2IucGF0Y2ggYi9zcmNwa2dzL3hicHMv cGF0Y2hlcy84NWI4YjNiLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZGM4 NDI1N2MxNC4uMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy94YnBzL3BhdGNoZXMvODViOGIzYi5w YXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM1NSArMCwwIEBACi1Gcm9tIDg1YjhiM2JiYjcyYWI2 ZGU2ZjRkNzJjOWEyY2EzZjJiZTA1M2VlYjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9t OiBxNjYgPGRhbmllbEBvY3RhZm9yZ2Uub3JnPgotRGF0ZTogVGh1LCAxNCBOb3YgMjAxOSAxNzo0 MDo1NCArMDEwMAotU3ViamVjdDogW1BBVENIXSBsaWIvcGFja2FnZV9hbHRlcm5hdGl2ZXMuYzog cHJ1bmUgb2Jzb2xldGUgYWx0ZXJuYXRpdmVzCi0gZ3JvdXBzCi0KLUluIHRoZSBlZGdlIGNhc2Ug d2hlbiBhbiB1cGRhdGVkIHBhY2thZ2UgaGFzIGRpZmZlcmVudCAob3Igbm8pCi1hbHRlcm5hdGl2 ZXMgZ3JvdXBzLCBtYWtlIHN1cmUgdG8gcHJ1bmUgdGhvc2UgdGhhdCBhcmUgaW4gcGtnZGIKLWJ1 dCBub3QgaW4gdGhlIG5ld2x5IGluc3RhbGxlZCBwYWNrYWdlLgotCi1BIHBvdGVudGlhbGx5IGNv bW1vbiBjYXNlIG9mIHRoaXMgaXMgd2hlbiBhIHBhY2thZ2UgdGhhdCBmb3JtZXJseQotaGFkIGFs dGVybmF0aXZlcyBnZXRzIHJlbW92ZWQgYW5kIGEgdHJhbnNpdGlvbmFsIG1ldGFwYWNrYWdlCi10 YWtlcyBpdHMgcGxhY2UgKHdoaWNoIGhhcyBubyBhbHRlcm5hdGl2ZXMpLgotCi1XaGVuIHRoZSBu ZXcgcGFja2FnZSBoYXMgbm8gZGVwZW5kZW5jaWVzLCBvbGRlc3QgbmV4dCBwb3NzaWJsZQotYWx0 ZXJuYXRpdmVzIGdyb3VwIHdpbGwgYmUgdXNlZC4gVGhpcyBpcyBiZWNhdXNlIHRoYXQgaW5kaWNh dGVzCi1hIHJlbW92ZWQgcGFja2FnZS4gV2hlbiB0aGVyZSBhcmUgZGVwZW5kZW5jaWVzLCB0aGUg bmV3ZXN0IG9uZQotd2lsbCBiZSB1c2VkOyBhcyB0aGlzIGluZGljYXRlcyBhIHRyYW5zaXRpb25h bCBwYWNrYWdlLgotLS0tCi0gbGliL3BhY2thZ2VfYWx0ZXJuYXRpdmVzLmMgICAgICAgICAgICAg ICAgfCAxNTUgKysrKysrKysrKysrKysrKystLS0tLQotIHRlc3RzL3hicHMveGJwcy1hbHRlcm5h dGl2ZXMvbWFpbl90ZXN0LnNoIHwgIDkzICsrKysrKysrKysrKysKLSAyIGZpbGVzIGNoYW5nZWQs IDIxOCBpbnNlcnRpb25zKCspLCAzMCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2xpYi9w YWNrYWdlX2FsdGVybmF0aXZlcy5jIGIvbGliL3BhY2thZ2VfYWx0ZXJuYXRpdmVzLmMKLWluZGV4 IDVlNGYyYjM2Li5lY2RjNDBhZSAxMDA2NDQKLS0tLSBsaWIvcGFja2FnZV9hbHRlcm5hdGl2ZXMu YwotKysrIGxpYi9wYWNrYWdlX2FsdGVybmF0aXZlcy5jCi1AQCAtMzA5LDYgKzMwOSwyMiBAQCB4 YnBzX2FsdGVybmF0aXZlc19zZXQoc3RydWN0IHhicHNfaGFuZGxlICp4aHAsIGNvbnN0IGNoYXIg KnBrZ25hbWUsCi0gCXJldHVybiBydjsKLSB9Ci0gCi0rc3RhdGljIGludAotK3N3aXRjaF9hbHRf Z3JvdXAoc3RydWN0IHhicHNfaGFuZGxlICp4aHAsIGNvbnN0IGNoYXIgKmdycG4sIGNvbnN0IGNo YXIgKnBrZ24sCi0rCQl4YnBzX2RpY3Rpb25hcnlfdCAqcGtnX2FsdGVybmF0aXZlcykKLSt7Ci0r CXhicHNfZGljdGlvbmFyeV90IGN1cnBrZ2QsIHBrZ2FsdHM7Ci0rCi0rCWN1cnBrZ2QgPSB4YnBz X3BrZ2RiX2dldF9wa2coeGhwLCBwa2duKTsKLSsJYXNzZXJ0KGN1cnBrZ2QpOwotKwotKwl4YnBz X3NldF9jYl9zdGF0ZSh4aHAsIFhCUFNfU1RBVEVfQUxUR1JPVVBfU1dJVENIRUQsIDAsIE5VTEws Ci0rCQkiU3dpdGNoZWQgJyVzJyBhbHRlcm5hdGl2ZXMgZ3JvdXAgdG8gJyVzJyIsIGdycG4sIHBr Z24pOwotKwlwa2dhbHRzID0geGJwc19kaWN0aW9uYXJ5X2dldChjdXJwa2dkLCAiYWx0ZXJuYXRp dmVzIik7Ci0rCWlmIChwa2dfYWx0ZXJuYXRpdmVzKSAqcGtnX2FsdGVybmF0aXZlcyA9IHBrZ2Fs dHM7Ci0rCXJldHVybiBjcmVhdGVfc3ltbGlua3MoeGhwLCB4YnBzX2RpY3Rpb25hcnlfZ2V0KHBr Z2FsdHMsIGdycG4pLCBncnBuKTsKLSt9Ci0rCi0gaW50Ci0geGJwc19hbHRlcm5hdGl2ZXNfdW5y ZWdpc3RlcihzdHJ1Y3QgeGJwc19oYW5kbGUgKnhocCwgeGJwc19kaWN0aW9uYXJ5X3QgcGtnZCkK LSB7Ci1AQCAtMzM5LDcgKzM1NSw2IEBAIHhicHNfYWx0ZXJuYXRpdmVzX3VucmVnaXN0ZXIoc3Ry dWN0IHhicHNfaGFuZGxlICp4aHAsIHhicHNfZGljdGlvbmFyeV90IHBrZ2QpCi0gCWZvciAodW5z aWduZWQgaW50IGkgPSAwOyBpIDwgeGJwc19hcnJheV9jb3VudChhbGxrZXlzKTsgaSsrKSB7Ci0g CQl4YnBzX2FycmF5X3QgYXJyYXk7Ci0gCQl4YnBzX29iamVjdF90IGtleXN5bTsKLS0JCXhicHNf ZGljdGlvbmFyeV90IGN1cnBrZ2QgPSBwa2dkOwotIAkJYm9vbCBjdXJyZW50ID0gZmFsc2U7Ci0g CQljb25zdCBjaGFyICpmaXJzdCA9IE5VTEwsICprZXluYW1lOwotIAotQEAgLTM3NywxNSArMzky LDcgQEAgeGJwc19hbHRlcm5hdGl2ZXNfdW5yZWdpc3RlcihzdHJ1Y3QgeGJwc19oYW5kbGUgKnho cCwgeGJwc19kaWN0aW9uYXJ5X3QgcGtnZCkKLSAJCQljb250aW51ZTsKLSAKLSAJCS8qIGdldCB0 aGUgbmV3IGFsdGVybmF0aXZlIGdyb3VwIHBhY2thZ2UgKi8KLS0JCWN1cnBrZ2QgPSB4YnBzX3Br Z2RiX2dldF9wa2coeGhwLCBmaXJzdCk7Ci0tCQlhc3NlcnQoY3VycGtnZCk7Ci0tCQl4YnBzX3Nl dF9jYl9zdGF0ZSh4aHAsIFhCUFNfU1RBVEVfQUxUR1JPVVBfU1dJVENIRUQsIDAsIE5VTEwsCi0t CQkgICAgIlN3aXRjaGVkICclcycgYWx0ZXJuYXRpdmVzIGdyb3VwIHRvICclcyciLCBrZXluYW1l LCBmaXJzdCk7Ci0tCQlwa2dfYWx0ZXJuYXRpdmVzID0geGJwc19kaWN0aW9uYXJ5X2dldChjdXJw a2dkLCAiYWx0ZXJuYXRpdmVzIik7Ci0tCQlydiA9IGNyZWF0ZV9zeW1saW5rcyh4aHAsCi0tCQkJ eGJwc19kaWN0aW9uYXJ5X2dldChwa2dfYWx0ZXJuYXRpdmVzLCBrZXluYW1lKSwKLS0JCQlrZXlu YW1lKTsKLS0JCWlmIChydiAhPSAwKQotKwkJaWYgKHN3aXRjaF9hbHRfZ3JvdXAoeGhwLCBrZXlu YW1lLCBmaXJzdCwgJnBrZ19hbHRlcm5hdGl2ZXMpICE9IDApCi0gCQkJYnJlYWs7Ci0gCX0KLSAJ eGJwc19vYmplY3RfcmVsZWFzZShhbGxrZXlzKTsKLUBAIC0zOTQsMjUgKzQwMSwxMTkgQEAgeGJw c19hbHRlcm5hdGl2ZXNfdW5yZWdpc3RlcihzdHJ1Y3QgeGJwc19oYW5kbGUgKnhocCwgeGJwc19k aWN0aW9uYXJ5X3QgcGtnZCkKLSAJcmV0dXJuIHJ2OwotIH0KLSAKLSsvKgotKyAqIFBydW5lIHRo ZSBhbHRlcm5hdGl2ZXMgZ3JvdXAgZnJvbSB0aGUgZGIuIFRoaXMgd2lsbCBmaXJzdCB1bnJlZ2lz dGVyCi0rICogaXQgZm9yIHRoZSBwYWNrYWdlIGFuZCBpZiB0aGVyZSdzIG5vIG90aGVyIHBhY2th Z2UgbGVmdCBwcm92aWRpbmcgdGhlCi0rICogc2FtZSwgYWxzbyBkaXRjaCB0aGUgd2hvbGUgZ3Jv dXAuIFdoZW4gdGhpcyBpcyBjYWxsZWQsIGl0IGlzIGd1cmFudGVlZAotKyAqIHRoYXQgd2hhdCBp cyBoYXBwZW5pbmcgaXMgYW4gdXBncmFkZSwgYmVjYXVzZSBpdCdzIG9ubHkgaW52b2tlZCB3aGVu Ci0rICogdGhlIHJlcG8gYW5kIGluc3RhbGxlZCBhbHRlcm5hdGl2ZXMgc2V0cyBkaWZmZXIgZm9y IGEgc3BlY2lmaWMgcGFja2FnZS4KLSsgKi8KLStzdGF0aWMgdm9pZAotK3BydW5lX2FsdGdyb3Vw KHN0cnVjdCB4YnBzX2hhbmRsZSAqeGhwLCB4YnBzX2RpY3Rpb25hcnlfdCByZXBvZCwKLSsJCWNo YXIgKnBrZ25hbWUsIGNvbnN0IGNoYXIgKnBrZ3ZlciwgY29uc3QgY2hhciAqa2V5bmFtZSkgewot Kwljb25zdCBjaGFyICpuZXdwa2csICpjdXJwa2c7Ci0rCXhicHNfYXJyYXlfdCBhcnJheTsKLSsJ eGJwc19kaWN0aW9uYXJ5X3QgYWx0ZXJuYXRpdmVzOwotKwl4YnBzX3N0cmluZ190IGtzdHI7Ci0r CXVuc2lnbmVkIGludCBncnBfY291bnQ7Ci0rCWJvb2wgY3VycmVudCA9IGZhbHNlOwotKwotKwl4 YnBzX3NldF9jYl9zdGF0ZSh4aHAsIFhCUFNfU1RBVEVfQUxUR1JPVVBfUkVNT1ZFRCwgMCwgTlVM TCwKLSsJCSIlczogdW5yZWdpc3RlcmVkICclcycgYWx0ZXJuYXRpdmVzIGdyb3VwIiwgcGtndmVy LCBrZXluYW1lKTsKLSsKLSsJYWx0ZXJuYXRpdmVzID0geGJwc19kaWN0aW9uYXJ5X2dldCh4aHAt PnBrZ2RiLCAiX1hCUFNfQUxURVJOQVRJVkVTXyIpOwotKwlhc3NlcnQoYWx0ZXJuYXRpdmVzKTsK LSsJYXJyYXkgPSB4YnBzX2RpY3Rpb25hcnlfZ2V0KGFsdGVybmF0aXZlcywga2V5bmFtZSk7Ci0r Ci0rCS8qIGlmIHVzaW5nIGFsdCBncm91cCBmcm9tIGFub3RoZXIgcGFja2FnZSwgd2Ugd29uJ3Qg c3dpdGNoIGFueXRoaW5nICovCi0rCXhicHNfYXJyYXlfZ2V0X2NzdHJpbmdfbm9jb3B5KGFycmF5 LCAwLCAmY3VycGtnKTsKLSsJY3VycmVudCA9IChzdHJjbXAocGtnbmFtZSwgY3VycGtnKSA9PSAw KTsKLSsKLSsJLyogYWN0dWFsbHkgcHJ1bmUgdGhlIGFsdCBncm91cCBmb3IgdGhlIGN1cnJlbnQg cGFja2FnZSAqLwotKwl4YnBzX3JlbW92ZV9zdHJpbmdfZnJvbV9hcnJheShhcnJheSwgcGtnbmFt ZSk7Ci0rCWdycF9jb3VudCA9IHhicHNfYXJyYXlfY291bnQoYXJyYXkpOwotKwlpZiAoZ3JwX2Nv dW50ID09IDApIHsKLSsJCS8qIGl0IHdhcyB0aGUgbGFzdCBvbmUsIGRpdGNoIHRoZSB3aG9sZSB0 aGluZyAqLwotKwkJeGJwc19kaWN0aW9uYXJ5X3JlbW92ZShhbHRlcm5hdGl2ZXMsIGtleW5hbWUp OwotKwkJcmV0dXJuOwotKwl9Ci0rCWlmICghY3VycmVudCkgewotKwkJLyogbm90IHRoZSBsYXN0 IG9uZSwgYW5kIG91cnMgd2Fzbid0IHRoZSBvbmUgYmVpbmcgdXNlZCAqLwotKwkJcmV0dXJuOwot Kwl9Ci0rCi0rCWlmICh4YnBzX2FycmF5X2NvdW50KHhicHNfZGljdGlvbmFyeV9nZXQocmVwb2Qs ICJydW5fZGVwZW5kcyIpKSA9PSAwICYmCi0rCSAgICB4YnBzX2FycmF5X2NvdW50KHhicHNfZGlj dGlvbmFyeV9nZXQocmVwb2QsICJzaGxpYi1yZXF1aXJlcyIpKSA9PSAwKSB7Ci0rCQkvKgotKwkJ ICogRW1wdHkgZGVwZW5kZW5jaWVzIGluZGljYXRlIGEgcmVtb3ZlZCBwYWNrYWdlIChwdXJlIG1l dGEpLAotKwkJICogdXNlIHRoZSBmaXJzdCBhdmFpbGFibGUgZ3JvdXAgYWZ0ZXIgb3VycyBoYXMg YmVlbiBwcnVuZWQKLSsJCSAqLwotKwkJeGJwc19hcnJheV9nZXRfY3N0cmluZ19ub2NvcHkoYXJy YXksIDAsICZuZXdwa2cpOwotKwkJc3dpdGNoX2FsdF9ncm91cCh4aHAsIGtleW5hbWUsIG5ld3Br ZywgTlVMTCk7Ci0rCQlyZXR1cm47Ci0rCX0KLSsKLSsJLyoKLSsJICogVXNlIHRoZSBsYXN0IGdy b3VwLCBhcyB0aGlzIGluZGljYXRlcyB0aGF0IGEgdHJhbnNpdGlvbmFsIG1ldGFwYWNrYWdlCi0r CSAqIGlzIHJlcGxhY2luZyB0aGUgb3JpZ2luYWwgYW5kIHRoZXJlZm9yZSBhIG5ldyBwYWNrYWdl IGhhcyByZWdpc3RlcmVkCi0rCSAqIGEgcmVwbGFjZW1lbnQgZ3JvdXAsIHdoaWNoIHNob3VsZCBi ZSBsYXN0IGluIHRoZSBhcnJheSAobW9zdCByZWNlbnQpLgotKwkgKi8KLSsJeGJwc19hcnJheV9n ZXRfY3N0cmluZ19ub2NvcHkoYXJyYXksIGdycF9jb3VudCAtIDEsICZuZXdwa2cpOwotKwotKwkv KiBwdXQgdGhlIG5ldyBwYWNrYWdlIGFzIGhlYWQgKi8KLSsJa3N0ciA9IHhicHNfc3RyaW5nX2Ny ZWF0ZV9jc3RyaW5nKG5ld3BrZyk7Ci0rCXhicHNfcmVtb3ZlX3N0cmluZ19mcm9tX2FycmF5KGFy cmF5LCBuZXdwa2cpOwotKwl4YnBzX2FycmF5X2FkZF9maXJzdChhcnJheSwga3N0cik7Ci0rCXhi cHNfYXJyYXlfZ2V0X2NzdHJpbmdfbm9jb3B5KGFycmF5LCAwLCAmbmV3cGtnKTsKLSsJeGJwc19v YmplY3RfcmVsZWFzZShrc3RyKTsKLSsKLSsJc3dpdGNoX2FsdF9ncm91cCh4aHAsIGtleW5hbWUs IG5ld3BrZywgTlVMTCk7Ci0rfQotKwotKwotIHN0YXRpYyB2b2lkCi0tcmVtb3ZlX29ic29sZXRl cyhzdHJ1Y3QgeGJwc19oYW5kbGUgKnhocCwgeGJwc19kaWN0aW9uYXJ5X3QgcGtnZCwgeGJwc19k aWN0aW9uYXJ5X3QgcmVwb2QpCi0rcmVtb3ZlX29ic29sZXRlcyhzdHJ1Y3QgeGJwc19oYW5kbGUg KnhocCwgY2hhciAqcGtnbmFtZSwgY29uc3QgY2hhciAqcGtndmVyLAotKwkJeGJwc19kaWN0aW9u YXJ5X3QgcmVwb2QpCi0gewotIAl4YnBzX2FycmF5X3QgYWxsa2V5czsKLSsJeGJwc19kaWN0aW9u YXJ5X3QgcGtnZCwgcGtnZF9hbHRzLCByZXBvZF9hbHRzOwotIAotLQlhbGxrZXlzID0geGJwc19k aWN0aW9uYXJ5X2FsbF9rZXlzKHBrZ2QpOwotKwlwa2dkID0geGJwc19wa2dkYl9nZXRfcGtnKHho cCwgcGtnbmFtZSk7Ci0rCWlmICh4YnBzX29iamVjdF90eXBlKHBrZ2QpICE9IFhCUFNfVFlQRV9E SUNUSU9OQVJZKSB7Ci0rCQlyZXR1cm47Ci0rCX0KLSsKLSsJcGtnZF9hbHRzID0geGJwc19kaWN0 aW9uYXJ5X2dldChwa2dkLCAiYWx0ZXJuYXRpdmVzIik7Ci0rCXJlcG9kX2FsdHMgPSB4YnBzX2Rp Y3Rpb25hcnlfZ2V0KHJlcG9kLCAiYWx0ZXJuYXRpdmVzIik7Ci0rCi0rCWlmICh4YnBzX29iamVj dF90eXBlKHBrZ2RfYWx0cykgIT0gWEJQU19UWVBFX0RJQ1RJT05BUlkpIHsKLSsJCXJldHVybjsK LSsJfQotKwotKwlhbGxrZXlzID0geGJwc19kaWN0aW9uYXJ5X2FsbF9rZXlzKHBrZ2RfYWx0cyk7 Ci0gCWZvciAodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgeGJwc19hcnJheV9jb3VudChhbGxrZXlz KTsgaSsrKSB7Ci0gCQl4YnBzX2FycmF5X3QgYXJyYXksIGFycmF5X3JlcG87Ci0gCQl4YnBzX29i amVjdF90IGtleXN5bTsKLSAJCWNvbnN0IGNoYXIgKmtleW5hbWU7Ci0gCi0gCQlrZXlzeW0gPSB4 YnBzX2FycmF5X2dldChhbGxrZXlzLCBpKTsKLS0JCWFycmF5ID0geGJwc19kaWN0aW9uYXJ5X2dl dF9rZXlzeW0ocGtnZCwga2V5c3ltKTsKLSsJCWFycmF5ID0geGJwc19kaWN0aW9uYXJ5X2dldF9r ZXlzeW0ocGtnZF9hbHRzLCBrZXlzeW0pOwotIAkJa2V5bmFtZSA9IHhicHNfZGljdGlvbmFyeV9r ZXlzeW1fY3N0cmluZ19ub2NvcHkoa2V5c3ltKTsKLSAKLS0JCWFycmF5X3JlcG8gPSB4YnBzX2Rp Y3Rpb25hcnlfZ2V0KHJlcG9kLCBrZXluYW1lKTsKLSsJCWFycmF5X3JlcG8gPSB4YnBzX2RpY3Rp b25hcnlfZ2V0KHJlcG9kX2FsdHMsIGtleW5hbWUpOwotIAkJaWYgKCF4YnBzX2FycmF5X2VxdWFs cyhhcnJheSwgYXJyYXlfcmVwbykpIHsKLSAJCQlyZW1vdmVfc3ltbGlua3MoeGhwLCBhcnJheSwg a2V5bmFtZSk7Ci0gCQl9Ci0rCi0rCQkvKgotKwkJICogVGhlcmUgaXMgbm90aGluZyBsZWZ0IGlu IHRoZSBhbHRlcm5hdGl2ZXMgZ3JvdXAsIHdoaWNoIG1lYW5zCi0rCQkgKiB0aGUgcGFja2FnZSBp cyBiZWluZyB1cGdyYWRlZCBhbmQgaXMgcmVtb3ZpbmcgaXQ7IGlmIHdlIGRvbid0Ci0rCQkgKiBw cnVuZSBpdCwgdGhlIHN5c3RlbSB3aWxsIGtlZXAgaXQgc2V0IGFmdGVyIHJlbW92YWwgb2YgaXRz Ci0rCQkgKiBwYXJlbnQgcGFja2FnZSwgYnV0IGl0IHdpbGwgYmUgZW1wdHkgYW5kIGludmFsaWQu Li4KLSsJCSAqLwotKwkJaWYgKHhicHNfYXJyYXlfY291bnQoYXJyYXlfcmVwbykgPT0gMCkgewot KwkJCXBydW5lX2FsdGdyb3VwKHhocCwgcmVwb2QsIHBrZ25hbWUsIHBrZ3Zlciwga2V5bmFtZSk7 Ci0rCQl9Ci0gCX0KLSAJeGJwc19vYmplY3RfcmVsZWFzZShhbGxrZXlzKTsKLSB9Ci1AQCAtNDIx LDcgKzUyMiw3IEBAIGludAotIHhicHNfYWx0ZXJuYXRpdmVzX3JlZ2lzdGVyKHN0cnVjdCB4YnBz X2hhbmRsZSAqeGhwLCB4YnBzX2RpY3Rpb25hcnlfdCBwa2dfcmVwb2QpCi0gewotIAl4YnBzX2Fy cmF5X3QgYWxsa2V5czsKLS0JeGJwc19kaWN0aW9uYXJ5X3QgYWx0ZXJuYXRpdmVzLCBwa2dfYWx0 ZXJuYXRpdmVzLCBwa2dkLCBwa2dkX2FsdHM7Ci0rCXhicHNfZGljdGlvbmFyeV90IGFsdGVybmF0 aXZlcywgcGtnX2FsdGVybmF0aXZlczsKLSAJY29uc3QgY2hhciAqcGtndmVyOwotIAljaGFyICpw a2duYW1lOwotIAlpbnQgcnYgPSAwOwotQEAgLTQzMSwxMCArNTMyLDYgQEAgeGJwc19hbHRlcm5h dGl2ZXNfcmVnaXN0ZXIoc3RydWN0IHhicHNfaGFuZGxlICp4aHAsIHhicHNfZGljdGlvbmFyeV90 IHBrZ19yZXBvZCkKLSAJaWYgKHhocC0+cGtnZGIgPT0gTlVMTCkKLSAJCXJldHVybiBFSU5WQUw7 Ci0gCi0tCXBrZ19hbHRlcm5hdGl2ZXMgPSB4YnBzX2RpY3Rpb25hcnlfZ2V0KHBrZ19yZXBvZCwg ImFsdGVybmF0aXZlcyIpOwotLQlpZiAoIXhicHNfZGljdGlvbmFyeV9jb3VudChwa2dfYWx0ZXJu YXRpdmVzKSkKLS0JCXJldHVybiAwOwotLQotIAlhbHRlcm5hdGl2ZXMgPSB4YnBzX2RpY3Rpb25h cnlfZ2V0KHhocC0+cGtnZGIsICJfWEJQU19BTFRFUk5BVElWRVNfIik7Ci0gCWlmIChhbHRlcm5h dGl2ZXMgPT0gTlVMTCkgewotIAkJYWx0ZXJuYXRpdmVzID0geGJwc19kaWN0aW9uYXJ5X2NyZWF0 ZSgpOwotQEAgLTQ0OSwxNyArNTQ2LDE1IEBAIHhicHNfYWx0ZXJuYXRpdmVzX3JlZ2lzdGVyKHN0 cnVjdCB4YnBzX2hhbmRsZSAqeGhwLCB4YnBzX2RpY3Rpb25hcnlfdCBwa2dfcmVwb2QpCi0gCWlm IChwa2duYW1lID09IE5VTEwpCi0gCQlyZXR1cm4gRUlOVkFMOwotIAotLQlwa2dkID0geGJwc19w a2dkYl9nZXRfcGtnKHhocCwgcGtnbmFtZSk7Ci0tCWlmICh4YnBzX29iamVjdF90eXBlKHBrZ2Qp ID09IFhCUFNfVFlQRV9ESUNUSU9OQVJZKSB7Ci0tCQkvKgotLQkJICogQ29tcGFyZSBhbHRlcm5h dGl2ZXMgZnJvbSBwa2dkYiBhbmQgcmVwbyBhbmQKLS0JCSAqIHRoZW4gcmVtb3ZlIG9ic29sZXRl IHN5bWxpbmtzLgotLQkJICovCi0tCQlwa2dkX2FsdHMgPSB4YnBzX2RpY3Rpb25hcnlfZ2V0KHBr Z2QsICJhbHRlcm5hdGl2ZXMiKTsKLS0JCWlmICh4YnBzX29iamVjdF90eXBlKHBrZ2RfYWx0cykg PT0gWEJQU19UWVBFX0RJQ1RJT05BUlkpIHsKLS0JCQlyZW1vdmVfb2Jzb2xldGVzKHhocCwgcGtn ZF9hbHRzLCBwa2dfYWx0ZXJuYXRpdmVzKTsKLS0JCX0KLS0JfQotKwkvKgotKwkgKiBDb21wYXJl IGFsdGVybmF0aXZlcyBmcm9tIHBrZ2RiIGFuZCByZXBvIGFuZCB0aGVuIHJlbW92ZSBvYnNvbGV0 ZQotKwkgKiBzeW1saW5rcywgYWxzbyByZW1vdmUgb2Jzb2xldGUgKGVtcHR5KSBhbHRlcm5hdGl2 ZXMgZ3JvdXBzLgotKwkgKi8KLSsJcmVtb3ZlX29ic29sZXRlcyh4aHAsIHBrZ25hbWUsIHBrZ3Zl ciwgcGtnX3JlcG9kKTsKLSsKLSsJcGtnX2FsdGVybmF0aXZlcyA9IHhicHNfZGljdGlvbmFyeV9n ZXQocGtnX3JlcG9kLCAiYWx0ZXJuYXRpdmVzIik7Ci0rCWlmICgheGJwc19kaWN0aW9uYXJ5X2Nv dW50KHBrZ19hbHRlcm5hdGl2ZXMpKQotKwkJcmV0dXJuIDA7Ci0gCi0gCWFsbGtleXMgPSB4YnBz X2RpY3Rpb25hcnlfYWxsX2tleXMocGtnX2FsdGVybmF0aXZlcyk7Ci0gCWZvciAodW5zaWduZWQg aW50IGkgPSAwOyBpIDwgeGJwc19hcnJheV9jb3VudChhbGxrZXlzKTsgaSsrKSB7Ci1kaWZmIC0t Z2l0IGEvdGVzdHMveGJwcy94YnBzLWFsdGVybmF0aXZlcy9tYWluX3Rlc3Quc2ggYi90ZXN0cy94 YnBzL3hicHMtYWx0ZXJuYXRpdmVzL21haW5fdGVzdC5zaAotaW5kZXggZmQ2NmJjYmYuLjRlZGRj NDExIDEwMDY0NAotLS0tIHRlc3RzL3hicHMveGJwcy1hbHRlcm5hdGl2ZXMvbWFpbl90ZXN0LnNo Ci0rKysgdGVzdHMveGJwcy94YnBzLWFsdGVybmF0aXZlcy9tYWluX3Rlc3Quc2gKLUBAIC02NzQs NiArNjc0LDk4IEBAIHJlc3BlY3RfY3VycmVudF9wcm92aWRlcl9ib2R5KCkgewotIAlhdGZfY2hl Y2tfZXF1YWwgJHJ2IDAKLSB9Ci0gCi0rYXRmX3Rlc3RfY2FzZSBwcnVuZV9sZWZ0b3Zlcl9ncm91 cHMKLSsKLStwcnVuZV9sZWZ0b3Zlcl9ncm91cHNfaGVhZCgpIHsKLSsJYXRmX3NldCAiZGVzY3Ii ICJ4YnBzLWFsdGVybmF0aXZlczogcHJ1bmUgbGVmdG92ZXIgZ3JvdXBzIG9uIHVwZ3JhZGVzIgot K30KLStwcnVuZV9sZWZ0b3Zlcl9ncm91cHNfYm9keSgpIHsKLSsJbWtkaXIgLXAgcmVwbyBwa2df QS91c3IvYmluIHBrZ19CL3Vzci9iaW4KLSsJdG91Y2ggcGtnX0EvdXNyL2Jpbi9maWxlQSBwa2df Qi91c3IvYmluL2ZpbGVCCi0rCWNkIHJlcG8KLSsJeGJwcy1jcmVhdGUgLUEgbm9hcmNoIC1uIEEt MS4xXzEgLXMgIkEgcGtnIiAtLWFsdGVybmF0aXZlcyAiZmlsZTovdXNyL2Jpbi9maWxlOi91c3Iv YmluL2ZpbGVBIiAuLi9wa2dfQQotKwlhdGZfY2hlY2tfZXF1YWwgJD8gMAotKwl4YnBzLWNyZWF0 ZSAtQSBub2FyY2ggLW4gQi0xLjFfMSAtcyAiQiBwa2ciIC0tYWx0ZXJuYXRpdmVzICJmaWxlOi91 c3IvYmluL2ZpbGU6L3Vzci9iaW4vZmlsZUIiIC4uL3BrZ19CCi0rCWF0Zl9jaGVja19lcXVhbCAk PyAwCi0rCXhicHMtcmluZGV4IC1kIC1hICRQV0QvKi54YnBzCi0rCWF0Zl9jaGVja19lcXVhbCAk PyAwCi0rCWNkIC4uCi0rCi0rCSMgQSBpcyB0aGUgY3VycmVudCBwcm92aWRlciBub3cKLSsJeGJw cy1pbnN0YWxsIC1yIHJvb3QgLS1yZXBvc2l0b3J5PXJlcG8gLXlkdiBBCi0rCWF0Zl9jaGVja19l cXVhbCAkPyAwCi0rCi0rCW91dD0kKHhicHMtcXVlcnkgLXIgcm9vdCAtcCBwa2d2ZXIgQSkKLSsJ YXRmX2NoZWNrX2VxdWFsICRvdXQgQS0xLjFfMQotKwotKwkjIEMgd2lsbCByZXBsYWNlIGl0IHZp YSBhIHRyYW5zaXRpb25hbCBwYWNrYWdlCi0rCW1rZGlyIC1wIHBrZ19DL3Vzci9iaW4KLSsJdG91 Y2ggcGtnX0MvdXNyL2Jpbi9maWxlQwotKwlybSBwa2dfQS91c3IvYmluL2ZpbGVBCi0rCWNkIHJl cG8KLSsJeGJwcy1jcmVhdGUgLUEgbm9hcmNoIC1uIEMtMS4yXzEgLXMgIkMgcGtnIiAtLWFsdGVy bmF0aXZlcyAiZmlsZTovdXNyL2Jpbi9maWxlOi91c3IvYmluL2ZpbGVDIiAuLi9wa2dfQwotKwlh dGZfY2hlY2tfZXF1YWwgJD8gMAotKwl4YnBzLWNyZWF0ZSAtQSBub2FyY2ggLW4gQS0xLjJfMSAt cyAiQSBwa2ciIC0tZGVwZW5kZW5jaWVzICJDPj0xLjJfMSIgLi4vcGtnX0EKLSsJYXRmX2NoZWNr X2VxdWFsICQ/IDAKLSsJeGJwcy1yaW5kZXggLWQgLWEgJFBXRC8qLnhicHMKLSsJYXRmX2NoZWNr X2VxdWFsICQ/IDAKLSsJY2QgLi4KLSsKLSsJIyBDIGlzIG5vdyB0aGUgY3VycmVudCBwcm92aWRl ciwgdmlhIHVwZ3JhZGVkIEEKLSsJIyBhbHNvIGluc3RhbGwgQiwgdG8gbWFrZSBzdXJlIGl0IGRv ZXNuJ3QgZ2V0IHRoYXQgZmlyc3QKLSsJeGJwcy1pbnN0YWxsIC1yIHJvb3QgLS1yZXBvc2l0b3J5 PXJlcG8gLXlkdiBCIEEKLSsKLSsJb3V0PSQoeGJwcy1xdWVyeSAtciByb290IC1wIHBrZ3ZlciBB KQotKwlhdGZfY2hlY2tfZXF1YWwgJG91dCBBLTEuMl8xCi0rCW91dD0kKHhicHMtcXVlcnkgLXIg cm9vdCAtcCBwa2d2ZXIgQikKLSsJYXRmX2NoZWNrX2VxdWFsICRvdXQgQi0xLjFfMQotKwlvdXQ9 JCh4YnBzLXF1ZXJ5IC1yIHJvb3QgLXAgcGtndmVyIEMpCi0rCWF0Zl9jaGVja19lcXVhbCAkb3V0 IEMtMS4yXzEKLSsKLSsJbG5rPSQocmVhZGxpbmsgLWYgcm9vdC91c3IvYmluL2ZpbGUpCi0rCXJ2 PTEKLSsJaWYgWyAiJGxuayIgPSAiJFBXRC9yb290L3Vzci9iaW4vZmlsZUMiIF07IHRoZW4KLSsJ CXJ2PTAKLSsJZmkKLSsJZWNobyAibG5rOiAkbG5rIgotKwlhdGZfY2hlY2tfZXF1YWwgJHJ2IDAK LSsKLSsJIyBDcmVhdGUgYSBuZXcgcHJvdmlkZXIsIEQ7IHRoZW4gbWFrZSBDIGEgcmVtb3ZlZCBw YWNrYWdlCi0rCW1rZGlyIC1wIHBrZ19EL3Vzci9iaW4KLSsJdG91Y2ggcGtnX0QvdXNyL2Jpbi9m aWxlRAotKwlybSBwa2dfQy91c3IvYmluL2ZpbGVDCi0rCWNkIHJlcG8KLSsJeGJwcy1jcmVhdGUg LUEgbm9hcmNoIC1uIEQtMS40XzEgLXMgIkQgcGtnIiAtLWFsdGVybmF0aXZlcyAiZmlsZTovdXNy L2Jpbi9maWxlOi91c3IvYmluL2ZpbGVEIiAuLi9wa2dfRAotKwlhdGZfY2hlY2tfZXF1YWwgJD8g MAotKwl4YnBzLWNyZWF0ZSAtQSBub2FyY2ggLW4gQy0xLjNfMSAtcyAiQyBwa2ciIC4uL3BrZ19D Ci0rCWF0Zl9jaGVja19lcXVhbCAkPyAwCi0rCXhicHMtcmluZGV4IC1kIC1hICRQV0QvKi54YnBz Ci0rCWF0Zl9jaGVja19lcXVhbCAkPyAwCi0rCWNkIC4uCi0rCi0rCSMgQiBpcyBub3cgdGhlIGN1 cnJlbnQgcHJvdmlkZXIsIGFzIGl0J3MgdGhlIGZpcnN0IGdyb3VwIGF2YWlsYWJsZSBhZnRlcgot KwkjIHBydW5pbmcgQzsgdGhlIHN5c3RlbSBzcGVjaWFsIGNhc2VzIHBhY2thZ2VzIHdpdGhvdXQg ZGVwZW5kZW5jaWVzIGFzCi0rCSMgcmVtb3ZlZCBwYWNrYWdlcywgc28gaXQgd2lsbCBub3QgYXNz dW1lIGEgcmVuYW1lZCByZXBsYWNlbWVudAotKwl4YnBzLWluc3RhbGwgLXIgcm9vdCAtLXJlcG9z aXRvcnk9cmVwbyAteWR2IEMgRAotKwotKwlvdXQ9JCh4YnBzLXF1ZXJ5IC1yIHJvb3QgLXAgcGtn dmVyIEEpCi0rCWF0Zl9jaGVja19lcXVhbCAkb3V0IEEtMS4yXzEKLSsJb3V0PSQoeGJwcy1xdWVy eSAtciByb290IC1wIHBrZ3ZlciBCKQotKwlhdGZfY2hlY2tfZXF1YWwgJG91dCBCLTEuMV8xCi0r CW91dD0kKHhicHMtcXVlcnkgLXIgcm9vdCAtcCBwa2d2ZXIgQykKLSsJYXRmX2NoZWNrX2VxdWFs ICRvdXQgQy0xLjNfMQotKwlvdXQ9JCh4YnBzLXF1ZXJ5IC1yIHJvb3QgLXAgcGtndmVyIEQpCi0r CWF0Zl9jaGVja19lcXVhbCAkb3V0IEQtMS40XzEKLSsKLSsJbG5rPSQocmVhZGxpbmsgLWYgcm9v dC91c3IvYmluL2ZpbGUpCi0rCXJ2PTEKLSsJaWYgWyAiJGxuayIgPSAiJFBXRC9yb290L3Vzci9i aW4vZmlsZUIiIF07IHRoZW4KLSsJCXJ2PTAKLSsJZmkKLSsJZWNobyAibG5rOiAkbG5rIgotKwlh dGZfY2hlY2tfZXF1YWwgJHJ2IDAKLSt9Ci0rCi0gYXRmX2luaXRfdGVzdF9jYXNlcygpIHsKLSAJ YXRmX2FkZF90ZXN0X2Nhc2UgcmVnaXN0ZXJfb25lCi0gCWF0Zl9hZGRfdGVzdF9jYXNlIHJlZ2lz dGVyX29uZV9kYW5nbGluZwotQEAgLTY5Miw0ICs3ODQsNSBAQCBhdGZfaW5pdF90ZXN0X2Nhc2Vz KCkgewotIAlhdGZfYWRkX3Rlc3RfY2FzZSB1c2VsZXNzX3N3aXRjaAotIAlhdGZfYWRkX3Rlc3Rf Y2FzZSByZW1vdmVfY3VycmVudF9wcm92aWRlcgotIAlhdGZfYWRkX3Rlc3RfY2FzZSByZXNwZWN0 X2N1cnJlbnRfcHJvdmlkZXIKLSsJYXRmX2FkZF90ZXN0X2Nhc2UgcHJ1bmVfbGVmdG92ZXJfZ3Jv dXBzCi0gfQpkaWZmIC0tZ2l0IGEvc3JjcGtncy94YnBzL3BhdGNoZXMvOTktY2MtYWx0ZXJuYXRp dmUtd29ya2Fyb3VuZC5wYXRjaCBiL3NyY3BrZ3MveGJwcy9wYXRjaGVzLzk5LWNjLWFsdGVybmF0 aXZlLXdvcmthcm91bmQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJmZWUz MDhjYjk4Li4wMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3hicHMvcGF0Y2hlcy85OS1jYy1hbHRl cm5hdGl2ZS13b3JrYXJvdW5kLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAot ZGlmZiAtLWdpdCBsaWIvcGFja2FnZV9hbHRlcm5hdGl2ZXMuYyBsaWIvcGFja2FnZV9hbHRlcm5h dGl2ZXMuYwotaW5kZXggZWNkYzQwYWUuLjJkYmI2NTQ2IDEwMDY0NAotLS0tIGxpYi9wYWNrYWdl X2FsdGVybmF0aXZlcy5jCi0rKysgbGliL3BhY2thZ2VfYWx0ZXJuYXRpdmVzLmMKLUBAIC0xMTMs NiArMTEzLDkgQEAgcmVtb3ZlX3N5bWxpbmtzKHN0cnVjdCB4YnBzX2hhbmRsZSAqeGhwLCB4YnBz X2FycmF5X3QgYSwgY29uc3QgY2hhciAqZ3JuYW1lKQotIAl1bnNpZ25lZCBpbnQgaSwgY250Owot IAlzdHJ1Y3Qgc3RhdCBzdDsKLSAKLSsJaWYgKHN0cmNtcChncm5hbWUsICJjYyIpID09IDApCi0r CQlyZXR1cm4gMDsKLSsKLSAJY250ID0geGJwc19hcnJheV9jb3VudChhKTsKLSAJZm9yIChpID0g MDsgaSA8IGNudDsgaSsrKSB7Ci0gCQl4YnBzX3N0cmluZ190IHN0cjsKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MveGJwcy9wYXRjaGVzL0NWRS0yMDIwLTc0NTAucGF0Y2ggYi9zcmNwa2dzL3hicHMvcGF0 Y2hlcy9DVkUtMjAyMC03NDUwLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAz MDg1NGYyMmVjZi4uMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy94YnBzL3BhdGNoZXMvQ1ZFLTIw MjAtNzQ1MC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAKLWNvbW1pdCBjZjIw ZTUzZDM0NDQ2YmNmOGQxZGQ2YzhkYTlmZWRmNGRkNTQ0N2FiCi1BdXRob3I6IER1bmNhbiBPdmVy YnJ1Y2sgPG1haWxAZHVuY2Fuby5kZT4KLURhdGU6ICAgVHVlIEphbiAyOCAyMDowMzo1NiAyMDIw ICswMTAwCi0KLSAgICBsaWIvZmV0Y2g6IGZpeCBDVkUtMjAyMC03NDUwCi0KLWRpZmYgLS1naXQg bGliL2ZldGNoL2ZldGNoLmMgbGliL2ZldGNoL2ZldGNoLmMKLWluZGV4IGQwY2NlN2I4Li5mZWFm NzY4ZCAxMDA2NDQKLS0tLSBsaWIvZmV0Y2gvZmV0Y2guYwotKysrIGxpYi9mZXRjaC9mZXRjaC5j Ci1AQCAtMzMxLDYgKzMzMSw4IEBAIGZldGNoX3BjdGRlY29kZShjaGFyICpkc3QsIGNvbnN0IGNo YXIgKnNyYywgc2l6ZV90IGRsZW4pCi0gCQl9Ci0gCQlpZiAoZGxlbi0tID4gMCkKLSAJCQkqZHN0 KysgPSBjOwotKwkJZWxzZQotKwkJCXJldHVybiAoTlVMTCk7Ci0gCX0KLSAJcmV0dXJuIChzKTsK LSB9Ci1AQCAtNDgxLDEwICs0ODMsMTQgQEAgZmluZF91c2VyOgotIAlpZiAocCAhPSBOVUxMICYm ICpwID09ICdAJykgewotIAkJLyogdXNlcm5hbWUgKi8KLSAJCXEgPSBmZXRjaF9wY3RkZWNvZGUo dS0+dXNlciwgVVJMLCBVUkxfVVNFUkxFTik7Ci0rCQlpZiAocSA9PSBOVUxMKQotKwkJCWdvdG8g b3VjaDsKLSAJCS8qIHBhc3N3b3JkICovCi0tCQlpZiAoKnEgPT0gJzonKQotKwkJaWYgKCpxID09 ICc6JykgewotIAkJCXEgPSBmZXRjaF9wY3RkZWNvZGUodS0+cHdkLCBxICsgMSwgVVJMX1BXRExF Tik7Ci0tCi0rCQkJaWYgKHEgPT0gTlVMTCkKLSsJCQkJZ290byBvdWNoOwotKwkJfQotIAkJcCsr OwotIAl9IGVsc2UgewotIAkJcCA9IFVSTDsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MveGJwcy9wYXRj aGVzL3BrZy1jb25maWctY3Jvc3MucGF0Y2ggYi9zcmNwa2dzL3hicHMvcGF0Y2hlcy9wa2ctY29u ZmlnLWNyb3NzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0OTkwZjlkMWQ0 Ny4uMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy94YnBzL3BhdGNoZXMvcGtnLWNvbmZpZy1jcm9z cy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDcwICswLDAgQEAKLVdlIG9ubHkgY2FyZSBpZiB0 aGUgYHBrZy1jb25maWdgIGJpbiBpcyB0aGVyZSwgZG9uJ3Qgb3ZlcnJpZGUKLWl0IHdpdGggdGhl IHJlc3VsdCBmcm9tIF93aGljaCgpLiBJbiB0aGUgeGJwcy1zcmMgd29ybGQsCi1wa2ctY29uZmln IGlzIGEgd3JhcHBlciwgdGhhdCBtYWtlcyBpdCBjcm9zcyBjb21waWxlIGVhc2lseS4KLQktLXh0 cmFlbWUKLQotLS0tIGNvbmZpZ3VyZS5vcmlnCTIwMTktMTItMjYgMTQ6NDg6NTkuMTYwNDc3NDI5 ICswMTAwCi0rKysgY29uZmlndXJlCTIwMTktMTItMjYgMTQ6NTA6NDUuNDc2NjI4NTkxICswMTAw Ci1AQCAtNjgzLDE0ICs2ODMsMTQgQEAgZmkKLSBMSUJBUkNISVZFX1JFUVZFUj0zLjMuMwotIAot IHByaW50ZiAiQ2hlY2tpbmcgZm9yIGxpYmFyY2hpdmUgPj0gJHtMSUJBUkNISVZFX1JFUVZFUn0g IHZpYSBwa2ctY29uZmlnIC4uLiAiCi0taWYgISAkUEtHQ09ORklHX0JJTiAtLWF0bGVhc3QtdmVy c2lvbj0ke0xJQkFSQ0hJVkVfUkVRVkVSfSBsaWJhcmNoaXZlOyB0aGVuCi0raWYgISBwa2ctY29u ZmlnIC0tYXRsZWFzdC12ZXJzaW9uPSR7TElCQVJDSElWRV9SRVFWRVJ9IGxpYmFyY2hpdmU7IHRo ZW4KLSAJZWNobyAibGliYXJjaGl2ZS5wYyBmaWxlIG5vdCBmb3VuZCwgZXhpdGluZy4iCi0gCWV4 aXQgMQotIGVsc2UKLS0JZWNobyAiZm91bmQgdmVyc2lvbiAkKCRQS0dDT05GSUdfQklOIC0tbW9k dmVyc2lvbiBsaWJhcmNoaXZlKS4iCi0tCWVjaG8gIkNGTEFHUyArPSAkKCRQS0dDT05GSUdfQklO IC0tY2ZsYWdzIGxpYmFyY2hpdmUpIiA+PiRDT05GSUdfTUsKLS0JZWNobyAiTERGTEFHUyArPSAg ICAgICAgJCgkUEtHQ09ORklHX0JJTiAtLWxpYnMgbGliYXJjaGl2ZSkiID4+JENPTkZJR19NSwot LQllY2hvICJTVEFUSUNfTElCUyArPSAgICAkKCRQS0dDT05GSUdfQklOIC0tbGlicyAtLXN0YXRp YyBsaWJhcmNoaXZlKSIgXAotKwllY2hvICJmb3VuZCB2ZXJzaW9uICQocGtnLWNvbmZpZyAtLW1v ZHZlcnNpb24gbGliYXJjaGl2ZSkuIgotKwllY2hvICJDRkxBR1MgKz0gJChwa2ctY29uZmlnIC0t Y2ZsYWdzIGxpYmFyY2hpdmUpIiA+PiRDT05GSUdfTUsKLSsJZWNobyAiTERGTEFHUyArPSAgICAg ICAgJChwa2ctY29uZmlnIC0tbGlicyBsaWJhcmNoaXZlKSIgPj4kQ09ORklHX01LCi0rCWVjaG8g IlNUQVRJQ19MSUJTICs9ICAgICQocGtnLWNvbmZpZyAtLWxpYnMgLS1zdGF0aWMgbGliYXJjaGl2 ZSkiIFwKLSAJCT4+JENPTkZJR19NSwotIGZpCi0gCi1AQCAtNjk4LDE3ICs2OTgsMTcgQEAgZmkK LSAjIGxpYnNzbCB3aXRoIHBrZy1jb25maWcgc3VwcG9ydCBpcyByZXF1aXJlZC4KLSAjCi0gcHJp bnRmICJDaGVja2luZyBmb3IgbGlic3NsIHZpYSBwa2ctY29uZmlnIC4uLiAiCi0taWYgJFBLR0NP TkZJR19CSU4gLS1leGlzdHMgJ2xpYnNzbCA8IDEuMicgJiYgISAkUEtHQ09ORklHX0JJTiAtLWV4 aXN0cyBsaWJ0bHMgOyB0aGVuCi0tCWVjaG8gImZvdW5kIE9wZW5TU0wgdmVyc2lvbiAkKCRQS0dD T05GSUdfQklOIC0tbW9kdmVyc2lvbiBsaWJzc2wpLiIKLS1lbGlmICRQS0dDT05GSUdfQklOIC0t ZXhpc3RzIGxpYnNzbCBsaWJ0bHM7IHRoZW4KLS0JZWNobyAiZm91bmQgTGlicmVTU0wgdmVyc2lv biAkKCRQS0dDT05GSUdfQklOIC0tbW9kdmVyc2lvbiBsaWJzc2wpLiIKLStpZiBwa2ctY29uZmln IC0tZXhpc3RzICdsaWJzc2wgPCAxLjInICYmICEgcGtnLWNvbmZpZyAtLWV4aXN0cyBsaWJ0bHMg OyB0aGVuCi0rCWVjaG8gImZvdW5kIE9wZW5TU0wgdmVyc2lvbiAkKHBrZy1jb25maWcgLS1tb2R2 ZXJzaW9uIGxpYnNzbCkuIgotK2VsaWYgcGtnLWNvbmZpZyAtLWV4aXN0cyBsaWJzc2wgbGlidGxz OyB0aGVuCi0rCWVjaG8gImZvdW5kIExpYnJlU1NMIHZlcnNpb24gJChwa2ctY29uZmlnIC0tbW9k dmVyc2lvbiBsaWJzc2wpLiIKLSBlbHNlCi0gCWVjaG8gImxpYnNzbC5wYyBmaWxlIG5vdCBmb3Vu ZCBvciBpbmNvbXBhdGlibGUgdmVyc2lvbiBkZXRlY3RlZCwgZXhpdGluZy4iCi0gCWV4aXQgMQot IGZpCi0tZWNobyAiQ0ZMQUdTICs9ICQoJFBLR0NPTkZJR19CSU4gLS1jZmxhZ3MgbGlic3NsKSIg Pj4kQ09ORklHX01LCi0tZWNobyAiTERGTEFHUyArPSAgICAgICAgJCgkUEtHQ09ORklHX0JJTiAt LWxpYnMgbGlic3NsKSIgPj4kQ09ORklHX01LCi0tZWNobyAiU1RBVElDX0xJQlMgKz0gICAgJCgk UEtHQ09ORklHX0JJTiAtLWxpYnMgLS1zdGF0aWMgbGlic3NsKSIgXAotK2VjaG8gIkNGTEFHUyAr PSAkKHBrZy1jb25maWcgLS1jZmxhZ3MgbGlic3NsKSIgPj4kQ09ORklHX01LCi0rZWNobyAiTERG TEFHUyArPSAgICAgICAgJChwa2ctY29uZmlnIC0tbGlicyBsaWJzc2wpIiA+PiRDT05GSUdfTUsK LStlY2hvICJTVEFUSUNfTElCUyArPSAgICAkKHBrZy1jb25maWcgLS1saWJzIC0tc3RhdGljIGxp YnNzbCkiIFwKLSAJPj4kQ09ORklHX01LCi0gCi0gIwotQEAgLTcyNiwxMyArNzI2LDEzIEBAIGZp Ci0gIwotIGlmIFsgIiRCVUlMRF9URVNUUyIgPSAieWVzIiBdOyB0aGVuCi0gCXByaW50ZiAiQ2hl Y2tpbmcgZm9yIEFURiB2aWEgcGtnLWNvbmZpZyAuLi4gIgotLQlpZiAhICRQS0dDT05GSUdfQklO IC0tYXRsZWFzdC12ZXJzaW9uPTAuMTUgYXRmLWM7IHRoZW4KLSsJaWYgISBwa2ctY29uZmlnIC0t YXRsZWFzdC12ZXJzaW9uPTAuMTUgYXRmLWM7IHRoZW4KLSAJCWVjaG8gIkFURiA+PSAwLjE1IG5v dCBmb3VuZCBpbiBQS0dfQ09ORklHX0xJQkRJUiwgZXhpdGluZy4iCi0gCQlleGl0IDEKLSAJZmkK LS0JZWNobyAiZm91bmQgdmVyc2lvbiAkKCRQS0dDT05GSUdfQklOIC0tbW9kdmVyc2lvbiBhdGYt YykuIgotLQllY2hvICJURVNUX0NGTEFHUyArPSAkKCRQS0dDT05GSUdfQklOIC0tY2ZsYWdzIGF0 Zi1jKSIgPj4kQ09ORklHX01LCi0tCWVjaG8gIlRFU1RfTERGTEFHUyArPSAkKCRQS0dDT05GSUdf QklOIC0tbGlicyBhdGYtYykiID4+JENPTkZJR19NSwotKwllY2hvICJmb3VuZCB2ZXJzaW9uICQo cGtnLWNvbmZpZyAtLW1vZHZlcnNpb24gYXRmLWMpLiIKLSsJZWNobyAiVEVTVF9DRkxBR1MgKz0g JChwa2ctY29uZmlnIC0tY2ZsYWdzIGF0Zi1jKSIgPj4kQ09ORklHX01LCi0rCWVjaG8gIlRFU1Rf TERGTEFHUyArPSAkKHBrZy1jb25maWcgLS1saWJzIGF0Zi1jKSIgPj4kQ09ORklHX01LCi0gCWVj aG8gIkJVSUxEX1RFU1RTID0geWVzIiA+PiRDT05GSUdfTUsKLSAJQlVJTERfVEVTVFNfVkFMVUU9 eWVzCi0gZWxzZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy94YnBzL3BhdGNoZXMvcmV2ZXJ0cy1zdHJp Y3QtcmV2LnBhdGNoIGIvc3JjcGtncy94YnBzL3BhdGNoZXMvcmV2ZXJ0cy1zdHJpY3QtcmV2LnBh dGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NDFkZTk0MDYwNC4uMDAwMDAwMDAw MDAKLS0tIGEvc3JjcGtncy94YnBzL3BhdGNoZXMvcmV2ZXJ0cy1zdHJpY3QtcmV2LnBhdGNoCisr KyAvZGV2L251bGwKQEAgLTEsMTQ0ICswLDAgQEAKLWNvbW1pdCA4N2ZmNDFmNDAxY2I4YjE1OTg1 OWI2NWEwNGIzOThhYzU4YTU1ZTJkCi1BdXRob3I6IER1bmNhbiBPdmVyYnJ1Y2sgPG1haWxAZHVu Y2Fuby5kZT4KLURhdGU6ICAgVHVlIE9jdCAyOSAxMzoxMzoyMSAyMDE5ICswMTAwCi0KLSAgICBS ZXZlcnQgImxpYi91dGlsLmM6IHZlcmlmeSByZXZpc2lvbiBpbiB4YnBzX3BrZ197dmVyc2lvbixy ZXZpc2lvbixuYW1lfSIKLSAgICAKLSAgICBUaGlzIHJldmVydHMgY29tbWl0IDY5OWIyYmRkM2I5 OGIwODZhYzk4OWFmM2NmMDM0MTM1YTdhNmY1NzAuCi0KLWRpZmYgLS1naXQgbGliL3V0aWwuYyBs aWIvdXRpbC5jCi1pbmRleCA2MjI4ZDhmYy4uZWU2OTAzMDQgMTAwNjQ0Ci0tLS0gbGliL3V0aWwu YwotKysrIGxpYi91dGlsLmMKLUBAIC01MCwxNiArNTAsNiBAQAotICNwcmFnbWEgY2xhbmcgZGlh Z25vc3RpYyBpZ25vcmVkICItV2Zvcm1hdC1ub25saXRlcmFsIgotICNlbmRpZgotIAotLXN0YXRp YyBib29sIGlzX251bWVyaWMoY29uc3QgY2hhciAqc3RyKSB7Ci0tCWlmIChzdHIgPT0gTlVMTCB8 fCBzdHJbMF0gPT0gJ1wwJyl7Ci0tCQlyZXR1cm4gZmFsc2U7Ci0tCX0KLS0Jd2hpbGUgKGlzZGln aXQoc3RyWzBdKSkgewotLQkJKytzdHI7Ci0tCX0KLS0JcmV0dXJuIHN0clswXSA9PSAnXDAnOwot LX0KLS0KLSAvKioKLSAgKiBAZmlsZSBsaWIvdXRpbC5jCi0gICogQGJyaWVmIFV0aWxpdHkgcm91 dGluZXMKLUBAIC0xMjcsMjIgKzExNywxNiBAQCB4YnBzX3BrZ19pc19pZ25vcmVkKHN0cnVjdCB4 YnBzX2hhbmRsZSAqeGhwLCBjb25zdCBjaGFyICpwa2cpCi0gY29uc3QgY2hhciAqCi0geGJwc19w a2dfdmVyc2lvbihjb25zdCBjaGFyICpwa2cpCi0gewotLQljb25zdCBjaGFyICpwLCAqcjsKLS0J c2l6ZV90IHBfbGVuOwotKwljb25zdCBjaGFyICpwOwotIAotIAlpZiAoKHAgPSBzdHJyY2hyKHBr ZywgJy0nKSkgPT0gTlVMTCkKLSAJCXJldHVybiBOVUxMOwotIAotLQkrK3A7IC8qIHNraXAgZmly c3QgJy0nICovCi0tCXBfbGVuID0gc3RybGVuKHApOwotLQlmb3IgKHVuc2lnbmVkIGludCBpID0g MDsgaSA8IHBfbGVuOyBpKyspIHsKLSsJZm9yICh1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBzdHJs ZW4ocCk7IGkrKykgewotIAkJaWYgKHBbaV0gPT0gJ18nKQotIAkJCWJyZWFrOwotLQkJaWYgKGlz ZGlnaXQoKHVuc2lnbmVkIGNoYXIpcFtpXSkgJiYgKHIgPSBzdHJjaHIocCArIGkgKyAxLCAnXycp KSkgewotLQkJCWlmICghaXNfbnVtZXJpYyhyICsgMSkpIHsKLS0JCQkJYnJlYWs7Ci0tCQkJfQot LQkJCXJldHVybiBwOwotKwkJaWYgKGlzZGlnaXQoKHVuc2lnbmVkIGNoYXIpcFtpXSkgJiYgc3Ry Y2hyKHAsICdfJykpIHsKLSsJCQlyZXR1cm4gcCArIDE7IC8qIHNraXAgZmlyc3QgJy0nICovCi0g CQl9Ci0gCX0KLSAJcmV0dXJuIE5VTEw7Ci1AQCAtMjI0LDQ3ICsyMDgsMzYgQEAgeGJwc19iaW5w a2dfYXJjaChjb25zdCBjaGFyICpwa2cpCi0gY29uc3QgY2hhciAqCi0geGJwc19wa2dfcmV2aXNp b24oY29uc3QgY2hhciAqcGtnKQotIHsKLS0JY29uc3QgY2hhciAqcCwgKnI7Ci0tCXNpemVfdCBw X2xlbjsKLSsJY29uc3QgY2hhciAqcDsKLSAKLS0JaWYgKChwID0gc3RycmNocihwa2csICctJykp ID09IE5VTEwpCi0rCWFzc2VydChwa2cgIT0gTlVMTCk7Ci0rCi0rCS8qIEdldCB0aGUgcmVxdWly ZWQgcmV2aXNpb24gKi8KLSsJaWYgKChwID0gc3RycmNocihwa2csICdfJykpID09IE5VTEwpCi0g CQlyZXR1cm4gTlVMTDsKLSAKLS0JKytwOyAvKiBza2lwIGZpcnN0ICctJyAqLwotLQlwX2xlbiA9 IHN0cmxlbihwKTsKLS0JZm9yICh1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBwX2xlbjsgaSsrKSB7 Ci0tCQlpZiAocFtpXSA9PSAnXycpCi0tCQkJYnJlYWs7Ci0tCQlpZiAoaXNkaWdpdCgodW5zaWdu ZWQgY2hhcilwW2ldKSAmJiAociA9IHN0cmNocihwICsgaSArIDEsICdfJykpKSB7Ci0tCQkJKyty OyAvKiBza2lwIGZpcnN0ICdfJyAqLwotLQkJCWlmICghaXNfbnVtZXJpYyhyKSkgewotLQkJCQli cmVhazsKLS0JCQl9Ci0tCQkJcmV0dXJuIHI7Ci0tCQl9Ci0tCX0KLS0JcmV0dXJuIE5VTEw7Ci0r CWlmICghaXNkaWdpdCgodW5zaWduZWQgY2hhcilwWzFdKSkKLSsJCXJldHVybiBOVUxMOwotKwot KwlyZXR1cm4gcCArIDE7IC8qIHNraXAgZmlyc3QgJ18nICovCi0gfQotIAotIGNoYXIgKgotIHhi cHNfcGtnX25hbWUoY29uc3QgY2hhciAqcGtnKQotIHsKLS0JY29uc3QgY2hhciAqcCwgKnI7Ci0r CWNvbnN0IGNoYXIgKnA7Ci0gCWNoYXIgKmJ1ZjsKLSAJdW5zaWduZWQgaW50IGxlbjsKLS0Jc2l6 ZV90IHBfbGVuOwotIAlib29sIHZhbGlkID0gZmFsc2U7Ci0gCi0gCWlmICgocCA9IHN0cnJjaHIo cGtnLCAnLScpKSA9PSBOVUxMKQotIAkJcmV0dXJuIE5VTEw7Ci0gCi0tCXBfbGVuID0gc3RybGVu KHApOwotLQkvKiBpID0gMSBza2lwcyBmaXJzdCAnLScgKi8KLS0JZm9yICh1bnNpZ25lZCBpbnQg aSA9IDE7IGkgPCBwX2xlbjsgaSsrKSB7Ci0rCWZvciAodW5zaWduZWQgaW50IGkgPSAwOyBpIDwg c3RybGVuKHApOyBpKyspIHsKLSAJCWlmIChwW2ldID09ICdfJykKLSAJCQlicmVhazsKLS0JCWlm IChpc2RpZ2l0KCh1bnNpZ25lZCBjaGFyKXBbaV0pICYmIChyID0gc3RyY2hyKHAgKyBpICsgMSwg J18nKSkpIHsKLS0JCQl2YWxpZCA9IGlzX251bWVyaWMociArIDEpOwotKwkJaWYgKGlzZGlnaXQo KHVuc2lnbmVkIGNoYXIpcFtpXSkgJiYgc3RyY2hyKHAsICdfJykpIHsKLSsJCQl2YWxpZCA9IHRy dWU7Ci0gCQkJYnJlYWs7Ci0gCQl9Ci0gCX0KLWRpZmYgLS1naXQgdGVzdHMveGJwcy9saWJ4YnBz L3V0aWwvbWFpbi5jIHRlc3RzL3hicHMvbGlieGJwcy91dGlsL21haW4uYwotaW5kZXggNDFhYWM2 ZWUuLjlhZTg4ZjFjIDEwMDY0NAotLS0tIHRlc3RzL3hicHMvbGlieGJwcy91dGlsL21haW4uYwot KysrIHRlc3RzL3hicHMvbGlieGJwcy91dGlsL21haW4uYwotQEAgLTQzLDE5ICs0MywxOSBAQCBB VEZfVENfQk9EWSh1dGlsX3Rlc3QsIHRjKQotIAlBVEZfQ0hFQ0tfRVEoeGJwc19wa2dfbmFtZSgi cHl0aG9uLWVfZGJ1cyIpLCBOVUxMKTsKLSAJQVRGX0NIRUNLX0VRKHhicHNfcGtnX25hbWUoImZz LXV0aWxzLXYxIiksIE5VTEwpOwotIAlBVEZfQ0hFQ0tfRVEoeGJwc19wa2dfbmFtZSgiZnMtdXRp bHMtdl8xIiksIE5VTEwpOwotLQlBVEZfQ0hFQ0tfRVEoeGJwc19wa2dfbmFtZSgiZm9udC1hZG9i ZS0xMDBkcGktMS44X2JsYWgiKSwgTlVMTCk7Ci0gCUFURl9DSEVDS19FUSh4YnBzX3BrZ192ZXJz aW9uKCJmb250LWFkb2JlLTEwMGRwaSIpLCBOVUxMKTsKLSAJQVRGX0NIRUNLX0VRKHhicHNfcGtn X3ZlcnNpb24oImZvbnQtYWRvYmUtMTAwZHBpLTcuOCIpLCBOVUxMKTsKLSAJQVRGX0NIRUNLX0VR KHhicHNfcGtnX3ZlcnNpb24oInB5dGhvbi1lX2RidXMiKSwgTlVMTCk7Ci0gCUFURl9DSEVDS19F USh4YnBzX3BrZ192ZXJzaW9uKCJweXRob24tZV9kYnVzLTEiKSwgTlVMTCk7Ci0tCUFURl9DSEVD S19FUSh4YnBzX3BrZ192ZXJzaW9uKCJmb250LWFkb2JlLTEwMGRwaS0xLjhfYmxhaCIpLCBOVUxM KTsKLS0JQVRGX0NIRUNLX0VRKHhicHNfcGtnX3JldmlzaW9uKCJzeXN0ZW1kLTQzXzFfMCIpLCBO VUxMKTsKLSAJQVRGX1JFUVVJUkVfU1RSRVEoeGJwc19wa2dfbmFtZSgiZm9udC1hZG9iZS0xMDBk cGktNy44XzIiKSwgImZvbnQtYWRvYmUtMTAwZHBpIik7Ci0gCUFURl9SRVFVSVJFX1NUUkVRKHhi cHNfcGtnX25hbWUoInN5c3RlbWQtNDNfMSIpLCAic3lzdGVtZCIpOwotKwlBVEZfUkVRVUlSRV9T VFJFUSh4YnBzX3BrZ19uYW1lKCJmb250LWFkb2JlLTEwMGRwaS0xLjhfYmxhaCIpLCAiZm9udC1h ZG9iZS0xMDBkcGkiKTsKLSAJQVRGX1JFUVVJUkVfU1RSRVEoeGJwc19wa2dfbmFtZSgicHl0aG9u LWVfZGJ1cy0xLjBfMSIpLCAicHl0aG9uLWVfZGJ1cyIpOwotIAlBVEZfUkVRVUlSRV9TVFJFUSh4 YnBzX3BrZ192ZXJzaW9uKCJmb250LWFkb2JlLTEwMGRwaS03LjhfMiIpLCAiNy44XzIiKTsKLSsJ QVRGX1JFUVVJUkVfU1RSRVEoeGJwc19wa2dfdmVyc2lvbigiZm9udC1hZG9iZS0xMDBkcGktMS44 X2JsYWgiKSwgIjEuOF9ibGFoIik7Ci0gCUFURl9SRVFVSVJFX1NUUkVRKHhicHNfcGtnX3ZlcnNp b24oInB5dGhvbi1lX2RidXMtMV8xIiksICIxXzEiKTsKLSAJQVRGX1JFUVVJUkVfU1RSRVEoeGJw c19wa2dfdmVyc2lvbigiZnMtdXRpbHMtdjFfMSIpLCAidjFfMSIpOwotKwlBVEZfUkVRVUlSRV9T VFJFUSh4YnBzX3BrZ19yZXZpc2lvbigic3lzdGVtZC00M18xXzAiKSwgIjAiKTsKLSAJQVRGX1JF UVVJUkVfU1RSRVEoeGJwc19wa2dfcmV2aXNpb24oInN5c3RlbWRfMjEtNDNfMCIpLCAiMCIpOwot IAlBVEZfUkVRVUlSRV9TVFJFUSh4YnBzX3BrZ3BhdHRlcm5fbmFtZSgic3lzdGVtZD49NDMiKSwg InN5c3RlbWQiKTsKLSAJQVRGX1JFUVVJUkVfU1RSRVEoeGJwc19wa2dwYXR0ZXJuX25hbWUoInN5 c3RlbWQ+NDMiKSwgInN5c3RlbWQiKTsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MveGJwcy9wYXRjaGVz L3hicHMtY2hlY2t2ZXJzLXN1YnBrZ3MtZml4LnBhdGNoIGIvc3JjcGtncy94YnBzL3BhdGNoZXMv eGJwcy1jaGVja3ZlcnMtc3VicGtncy1maXgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDkyZWVlMTI1MjA4Li4wMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3hicHMvcGF0Y2hl cy94YnBzLWNoZWNrdmVycy1zdWJwa2dzLWZpeC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDgy ICswLDAgQEAKLVN5bmMgeGJwcy1jaGVja3ZlcnMoMSkgd2l0aCBjb2RlIGZyb20gMC41OC4KLVRo aXMgZml4ZXMgZGV0ZWN0aW9uIG9mIHN1YnBrZ3MgaW4geGJwcyByZXBvcy4KLQktLXh0cmFlbWUK LQotLS0tIGJpbi94YnBzLWNoZWNrdmVycy9tYWluLmMub3JpZwkyMDE5LTEwLTI3IDA5OjUwOjEx LjAwMDAwMDAwMCArMDEwMAotKysrIGJpbi94YnBzLWNoZWNrdmVycy9tYWluLmMJMjAyMC0wMS0w NCAxMToyNDozOC4xMDk3MDg4MTggKzAxMDAKLUBAIC00NiwyMiArNDYsMTUgQEAKLSAjZGVmaW5l IEdPVF9SRVZJU0lPTl9WQVIgCTB4NAotIAotIHR5cGVkZWYgc3RydWN0IF9yY3ZfdCB7Ci0tCWNv bnN0IGNoYXIgKnByb2csICpmbmFtZTsKLS0JY2hhciAqeGJwc19jb25mLCAqcm9vdGRpciwgKmRp c3RkaXI7Ci0tCWNoYXIgKmJ1ZjsKLS0Jc2l6ZV90IGJ1ZnN6OwotLQlzaXplX3QgbGVuOwotLQlj aGFyICpwdHI7Ci0rCWNvbnN0IGNoYXIgKnByb2csICpmbmFtZSwgKmZvcm1hdDsKLSsJY2hhciAq eGJwc19jb25mLCAqcm9vdGRpciwgKmRpc3RkaXIsICpidWYsICpwdHIsICpjYWNoZWZpbGU7Ci0r CXNpemVfdCBidWZzeiwgbGVuOwotIAl1aW50OF90IGhhdmVfdmFyczsKLSsJYm9vbCBzaG93X2Fs bCwgbWFudWFsLCBpbnN0YWxsZWQ7Ci0gCXhicHNfZGljdGlvbmFyeV90IGVudjsKLSAJeGJwc19k aWN0aW9uYXJ5X3QgcGtnZDsKLSAJeGJwc19kaWN0aW9uYXJ5X3QgY2FjaGU7Ci0gCXN0cnVjdCB4 YnBzX2hhbmRsZSB4aHA7Ci0tCWJvb2wgc2hvd19hbGw7Ci0tCWJvb2wgbWFudWFsOwotLQlib29s IGluc3RhbGxlZDsKLS0JY29uc3QgY2hhciAqZm9ybWF0OwotLQljaGFyICpjYWNoZWZpbGU7Ci0g fSByY3ZfdDsKLSAKLSB0eXBlZGVmIGludCAoKnJjdl9jaGVja19mdW5jKShyY3ZfdCAqKTsKLUBA IC01MzUsOSArNTI4LDEwIEBAIHN0YXRpYyBpbnQKLSByY3ZfY2hlY2tfdmVyc2lvbihyY3ZfdCAq cmN2KQotIHsKLSAJY29uc3QgY2hhciAqcmVwb3ZlciA9IE5VTEw7Ci0tCWNoYXIgc3JjdmVyW0JV RlNJWl0gPSB7ICdcMCcgfTsKLSsJY2hhciBzcmN2ZXJbQlVGU0laXSA9IHsgJ1wwJyB9LCAqYmlu cGtnbmFtZSA9IE5VTEwsICpzID0gTlVMTDsKLSAJY29uc3QgY2hhciAqcGtnbmFtZSwgKnZlcnNp b24sICpyZXZpc2lvbiwgKnJldmVydHMsICpyZXBvdXJsOwotIAlpbnQgc3o7Ci0rCXNpemVfdCBs ZW47Ci0gCi0gCWFzc2VydChyY3YpOwotIAotQEAgLTU2OCwxNyArNTYyLDI0IEBAIHJjdl9jaGVj a192ZXJzaW9uKHJjdl90ICpyY3YpCi0gCWlmIChzeiA8IDAgfHwgKHNpemVfdClzeiA+PSBzaXpl b2Ygc3JjdmVyKQotIAkJZXhpdChFWElUX0ZBSUxVUkUpOwotIAotKwkvKiBDaGVjayBhZ2FpbnN0 IGJpbnBrZydzIHBrZ25hbWUsIG5vdCBwa2duYW1lIGZyb20gdGVtcGxhdGUgKi8KLSsJcyA9IHN0 cmNocihyY3YtPmZuYW1lLCAnLycpOwotKwlsZW4gPSBzID8gc3RybGVuKHJjdi0+Zm5hbWUpIC0g c3RybGVuKHMpIDogc3RybGVuKHJjdi0+Zm5hbWUpOwotKwliaW5wa2duYW1lID0gc3RybmR1cChy Y3YtPmZuYW1lLCBsZW4pOwotKwlhc3NlcnQoYmlucGtnbmFtZSk7Ci0rCi0gCXJlcG91cmwgPSBO VUxMOwotIAlpZiAocmN2LT5pbnN0YWxsZWQpIHsKLS0JCXJjdi0+cGtnZCA9IHhicHNfcGtnZGJf Z2V0X3BrZygmcmN2LT54aHAsIHBrZ25hbWUpOwotKwkJcmN2LT5wa2dkID0geGJwc19wa2dkYl9n ZXRfcGtnKCZyY3YtPnhocCwgYmlucGtnbmFtZSk7Ci0gCX0gZWxzZSB7Ci0tCQlyY3YtPnBrZ2Qg PSB4YnBzX3Jwb29sX2dldF9wa2coJnJjdi0+eGhwLCBwa2duYW1lKTsKLSsJCXJjdi0+cGtnZCA9 IHhicHNfcnBvb2xfZ2V0X3BrZygmcmN2LT54aHAsIGJpbnBrZ25hbWUpOwotIAkJeGJwc19kaWN0 aW9uYXJ5X2dldF9jc3RyaW5nX25vY29weShyY3YtPnBrZ2QsICJyZXBvc2l0b3J5IiwgJnJlcG91 cmwpOwotIAl9Ci0gCXhicHNfZGljdGlvbmFyeV9nZXRfY3N0cmluZ19ub2NvcHkocmN2LT5wa2dk LCAicGtndmVyIiwgJnJlcG92ZXIpOwotIAlpZiAocmVwb3ZlcikKLS0JCXJlcG92ZXIgKz0gc3Ry bGVuKHBrZ25hbWUpKzE7Ci0rCQlyZXBvdmVyICs9IHN0cmxlbihiaW5wa2duYW1lKSsxOwotIAot KwlmcmVlKGJpbnBrZ25hbWUpOwotIAlpZiAoIXJlcG92ZXIgJiYgcmN2LT5tYW51YWwpCi0gCQk7 Ci0gCWVsc2UgaWYgKHJjdi0+c2hvd19hbGwpCi1AQCAtNzE3LDcgKzcxOCw3IEBAIG1haW4oaW50 IGFyZ2MsIGNoYXIgKiphcmd2KQotIAkJZnJlZSh0bXApOwotIAl9Ci0gCi0tCXJjdi5jYWNoZWZp bGUgPSB4YnBzX3hhc3ByaW50ZigiJXMvLnhicHMtY2hlY2t2ZXJzLnBsaXN0IiwgcmN2LmRpc3Rk aXIpOwotKwlyY3YuY2FjaGVmaWxlID0geGJwc194YXNwcmludGYoIiVzLy54YnBzLWNoZWNrdmVy cy0wLjU4LnBsaXN0IiwgcmN2LmRpc3RkaXIpOwotIAotIAlhcmdjIC09IG9wdGluZDsKLSAJYXJn diArPSBvcHRpbmQ7CmRpZmYgLS1naXQgYS9zcmNwa2dzL3hicHMvdGVtcGxhdGUgYi9zcmNwa2dz L3hicHMvdGVtcGxhdGUKaW5kZXggMTRlZDJiMDA4ZGIuLmIzM2Q2N2Q0ODYwIDEwMDY0NAotLS0g YS9zcmNwa2dzL3hicHMvdGVtcGxhdGUKKysrIGIvc3JjcGtncy94YnBzL3RlbXBsYXRlCkBAIC0x LDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAneGJwcycKIHBrZ25hbWU9eGJwcwotdmVy c2lvbj0wLjU3LjEKLXJldmlzaW9uPTkKK3ZlcnNpb249MC41OAorcmV2aXNpb249MQogYm9vdHN0 cmFwPXllcwogYnVpbGRfc3R5bGU9Y29uZmlndXJlCiBzaG9ydF9kZXNjPSJYQlBTIHBhY2thZ2Ug c3lzdGVtIHV0aWxpdGllcyIKQEAgLTEwLDcgKzEwLDcgQEAgbGljZW5zZT0iQlNELTItQ2xhdXNl IgogaG9tZXBhZ2U9Imh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3hicHMiCiBjaGFuZ2Vs b2c9Imh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3hicHMvYmxvYi9tYXN0ZXIvTkVXUyIK IGRpc3RmaWxlcz0iaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgveGJwcy9hcmNoaXZlLyR7 dmVyc2lvbn0udGFyLmd6IgotY2hlY2tzdW09YmNjYWQ3YzQxODdjNDY3ZjMyMmU2OTA1ZmJlOTY4 MzljMDBkMmNiZGRhMjU0YzBjOTliMzhlYWJlZWRiODY3OAorY2hlY2tzdW09YzljYjA4MjNkNGFh NzJlNTdiMTUzMWJjMDFlYjE3ZGM2NmQ2NGI0NjFiODg2MWJjNGUwODE0NjVhNWRmZjE0NAogCiBo b3N0bWFrZWRlcGVuZHM9InBrZ2NvbmYiCiBjaGVja2RlcGVuZHM9Imt5dWEiCgpGcm9tIDI3ZGYw ZjVmZDEwYWNlNTVlMzdmOTE1YWU3NjY4ZGU1MDRiOGIzYmUgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206IEp1YW4gUlAgPHh0cmFlbWVAZ21haWwuY29tPgpEYXRlOiBUaHUsIDMwIEphbiAy MDIwIDE3OjU4OjQ0ICswMTAwClN1YmplY3Q6IFtQQVRDSCAyLzJdIHhicHMtc3RhdGljOiB1cGRh dGUgdG8gMC41OC4KCi0tLQogc3JjcGtncy94YnBzLXN0YXRpYy90ZW1wbGF0ZSB8IDEwICsrKy0t LS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvc3JjcGtncy94YnBzLXN0YXRpYy90ZW1wbGF0ZSBiL3NyY3BrZ3MveGJwcy1z dGF0aWMvdGVtcGxhdGUKaW5kZXggZWU1OWI3MjQyNzcuLmM4NTJiYWE1MTk2IDEwMDY0NAotLS0g YS9zcmNwa2dzL3hicHMtc3RhdGljL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MveGJwcy1zdGF0aWMv dGVtcGxhdGUKQEAgLTEsOCArMSw4IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICd4YnBzLXN0YXRp YycKICMgTk9URToga2VlcCB0aGlzIHBhY2thZ2Ugc3luY2hyb25pemVkIHdpdGggInNyY3BrZ3Mv eGJwcyIKIHBrZ25hbWU9eGJwcy1zdGF0aWMKLXZlcnNpb249MC41Ny4xCi1yZXZpc2lvbj05Cit2 ZXJzaW9uPTAuNTgKK3JldmlzaW9uPTEKICMgb25seSBtdXNsCiBhcmNocz0iKi1tdXNsIgogd3Jr c3JjPSJ4YnBzLSR7dmVyc2lvbn0iCkBAIC0xNiwxMSArMTYsNyBAQCBsaWNlbnNlPSJCU0QtMi1D bGF1c2UiCiBob21lcGFnZT0iaHR0cHM6Ly93d3cudm9pZGxpbnV4Lm9yZy94YnBzIgogY2hhbmdl bG9nPSJodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC94YnBzL2Jsb2IvbWFzdGVyL05FV1Mi CiBkaXN0ZmlsZXM9Imh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3hicHMvYXJjaGl2ZS8k e3ZlcnNpb259LnRhci5neiIKLWNoZWNrc3VtPWJjY2FkN2M0MTg3YzQ2N2YzMjJlNjkwNWZiZTk2 ODM5YzAwZDJjYmRkYTI1NGMwYzk5YjM4ZWFiZWVkYjg2NzgKLQotIyBMVE8gb2JqZWN0cyBicmVh ayBzdGF0aWMgYnVpbGRzLCBvdmVycmlkZQotQ0ZMQUdTPSItZm5vLWx0byIKLUxERkxBR1M9Ii1m bm8tbHRvIgorY2hlY2tzdW09YzljYjA4MjNkNGFhNzJlNTdiMTUzMWJjMDFlYjE3ZGM2NmQ2NGI0 NjFiODg2MWJjNGUwODE0NjVhNWRmZjE0NAogCiBkb19jb25maWd1cmUoKSB7CiAJLi9jb25maWd1 cmUgLS1wcmVmaXg9L3VzciAtLXN5c2NvbmZkaXI9L2V0YyAtLWVuYWJsZS1zdGF0aWMK --===============6617481745217805344==--