From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: from inbox.vuxu.org (inbox.vuxu.org [IPv6:::1]) by inbox.vuxu.org (Postfix) with ESMTP id CA698290F3 for ; Wed, 14 Feb 2024 23:17:37 +0100 (CET) Content-Type: multipart/mixed; boundary="===============7350120053787498371==" MIME-Version: 1.0 Subject: =?utf8?q?=5BPR_PATCH=5D_alsa-=7Blib=2Ctools=2Cucm-conf=2Cutils=7D=3A_update_to_1=2E2=2E11?= To: ml@inbox.vuxu.org From: cinerea0 Reply-to: ml@inbox.vuxu.org Message-ID: Date: Wed, 14 Feb 2024 23:17:37 +0100 List-Id: GitHub notification mails are now in MIME to allow UTF8. --===============7350120053787498371== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYSBuZXcgcHVsbCByZXF1ZXN0IGJ5IGNpbmVyZWEwIGFnYWluc3QgbWFzdGVyIG9u IHRoZSB2b2lkLXBhY2thZ2VzIHJlcG9zaXRvcnkKCmh0dHBzOi8vZ2l0aHViLmNvbS9jaW5lcmVh MC92b2lkLXBhY2thZ2VzIGFsc2EKaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1w YWNrYWdlcy9wdWxsLzQ4NzI4CgphbHNhLXtsaWIsdG9vbHMsdWNtLWNvbmYsdXRpbHN9OiB1cGRh dGUgdG8gMS4yLjExCiMjIyMgVGVzdGluZyB0aGUgY2hhbmdlcwotIEkgdGVzdGVkIHRoZSBjaGFu Z2VzIGluIHRoaXMgUFI6ICoqWUVTKioKCgoKQSBwYXRjaCBmaWxlIGZyb20gaHR0cHM6Ly9naXRo dWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzQ4NzI4LnBhdGNoIGlzIGF0dGFj aGVk --===============7350120053787498371== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-alsa-48728.patch" RnJvbSBkNjU4YjFmYmJjZGZmYzE0NDBhNWIxZTI4NTQzYWNhMWU4NzQ1YjQzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBjaW5lcmVhMCA8Y2luZXJlYTBAZGlzcm9vdC5vcmc+CkRhdGU6 IFdlZCwgMTQgRmViIDIwMjQgMTc6MTU6NTEgLTA1MDAKU3ViamVjdDogW1BBVENIIDEvNF0gYWxz YS1saWI6IHVwZGF0ZSB0byAxLjIuMTEKCi0tLQogLi4uL2Fsc2EtbGliL3BhdGNoZXMvZml4LXNl Z2ZhdWx0LTMyYml0LnBhdGNoIHwgMTEwIC0tLS0tLS0tLS0tLS0tLS0tLQogLi4uL2Fsc2EtbGli L3BhdGNoZXMvbW92ZS1zdHJpbmctbWFjcm8ucGF0Y2ggIHwgIDMxIC0tLS0tCiAuLi4vcGF0Y2hl cy91bXAtaGVhZGVyLWRldGVjdGlvbi5wYXRjaCAgICAgICAgfCAgMTUgLS0tCiBzcmNwa2dzL2Fs c2EtbGliL3RlbXBsYXRlICAgICAgICAgICAgICAgICAgICAgfCAgIDYgKy0KIDQgZmlsZXMgY2hh bmdlZCwgMyBpbnNlcnRpb25zKCspLCAxNTkgZGVsZXRpb25zKC0pCiBkZWxldGUgbW9kZSAxMDA2 NDQgc3JjcGtncy9hbHNhLWxpYi9wYXRjaGVzL2ZpeC1zZWdmYXVsdC0zMmJpdC5wYXRjaAogZGVs ZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvYWxzYS1saWIvcGF0Y2hlcy9tb3ZlLXN0cmluZy1tYWNy by5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvYWxzYS1saWIvcGF0Y2hlcy91bXAt aGVhZGVyLWRldGVjdGlvbi5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvYWxzYS1saWIvcGF0 Y2hlcy9maXgtc2VnZmF1bHQtMzJiaXQucGF0Y2ggYi9zcmNwa2dzL2Fsc2EtbGliL3BhdGNoZXMv Zml4LXNlZ2ZhdWx0LTMyYml0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3 ODhhY2U4NWU4MzhlZi4uMDAwMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9hbHNhLWxpYi9wYXRj aGVzL2ZpeC1zZWdmYXVsdC0zMmJpdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDExMCArMCww IEBACi1Gcm9tIDBlM2RmYjlmNzA1Y2E3OGJlMzRjZDcwZmQ1OWQ2N2M0MzFlMjljYzcgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBUYWthc2hpIEl3YWkgPHRpd2FpQHN1c2UuZGU+Ci1E YXRlOiBTYXQsIDkgU2VwIDIwMjMgMTc6NDI6MDMgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gcGNt OiBGaXggc2VnZmF1bHQgd2l0aCAzMmJpdCBsaWJzCi0KLVRoZSByZWNlbnQgcmVhcnJhbmdlbWVu dCBvZiBoZWFkZXIgaW5jbHVzaW9uIG9yZGVyIGNhdXNlZCBhIHJlZ3Jlc3Npb24KLXNob3dpbmcg c2VnZmF1bHRzIG9uIDMyYml0IEFybS4gIFRoZSBwcmltYXJ5IHJlYXNvbiBpcyB0aGUKLWluY29u c2lzdGVudCBjb21waWxlIGNvbmRpdGlvbiBkZXBlbmRpbmcgb24gdGhlIGluY2x1c2lvbiBvZiBj b25maWcuaDsKLXdoaWxlIG1vc3Qgb2Ygb3RoZXIgY29kZSBpbmNsdWRlIHBjbV9sb2NhbC5oICh0 aGF0IGltcGxpY2l0bHkgaW5jbHVkZXMKLWNvbmZpZy5oKSBhdCBmaXJzdCwgcGNtX2RpcmVjdC5j IGRvZXNuJ3QgZG8gaXQsIGhlbmNlIHRoZSBhY2Nlc3Mgd2l0aAotZGlyZWN0IHBsdWdpbnMgY3Jh c2hlcy4KLQotRm9yIGZpeGluZyBpdCwgd2UgbmVlZCB0byBpbmNsdWRlIGNvbmZpZy5oIGF0IHRo ZSBiZWdpbm5pbmcuICBCdXQsCi1pdCdzIGJldHRlciB0byBpbmNsdWRlIHBjbV9sb2NhbC5oIGZv ciBhbGwgcmVsZXZhbnQgY29kZSBmb3IKLWNvbnNpc3RlbmN5LiAgVGhlIHBhdGNoIGRvZXMgaXQs IGFuZCBhbHNvIGl0IGFkZHMgdGhlIGd1YXJkIGluCi1wY21fbG9jYWwuaCBmb3IgZG91YmxlIGlu Y2x1c2lvbnMuCi0KLUZpeGVzOiBhZDNhOGI4YjMxNGUgKCJyZXNodWZmbGUgaW5jbHVkZWQgZmls ZXMgdG8gaW5jbHVkZSBjb25maWcuaCBhcyBmaXJzdCIpCi1MaW5rOiBodHRwczovL2dpdGh1Yi5j b20vYWxzYS1wcm9qZWN0L2Fsc2EtbGliL2lzc3Vlcy8zNTIKLVNpZ25lZC1vZmYtYnk6IFRha2Fz aGkgSXdhaSA8dGl3YWlAc3VzZS5kZT4KLS0tLQotIHNyYy9wY20vcGNtX2RpcmVjdC5jIHwgMSAr Ci0gc3JjL3BjbS9wY21fZG1peC5jICAgfCAyICstCi0gc3JjL3BjbS9wY21fZHNoYXJlLmMgfCAx ICsKLSBzcmMvcGNtL3BjbV9kc25vb3AuYyB8IDEgKwotIHNyYy9wY20vcGNtX2xvY2FsLmggIHwg NSArKysrKwotIHNyYy9wY20vcGNtX3NobS5jICAgIHwgMSArCi0gNiBmaWxlcyBjaGFuZ2VkLCAx MCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvcGNtL3Bj bV9kaXJlY3QuYyBiL3NyYy9wY20vcGNtX2RpcmVjdC5jCi1pbmRleCAwNDBmYzE2MC4uZTUzZTU5 MjMgMTAwNjQ0Ci0tLS0gYS9zcmMvcGNtL3BjbV9kaXJlY3QuYwotKysrIGIvc3JjL3BjbS9wY21f ZGlyZWN0LmMKLUBAIC0xOSw2ICsxOSw3IEBACi0gICoKLSAgKi8KLSAgIAotKyNpbmNsdWRlICJw Y21fbG9jYWwuaCIKLSAjaW5jbHVkZSA8c3RkaW8uaD4KLSAjaW5jbHVkZSA8c3RkbGliLmg+Ci0g I2luY2x1ZGUgPHN0ZGRlZi5oPgotZGlmZiAtLWdpdCBhL3NyYy9wY20vcGNtX2RtaXguYyBiL3Ny Yy9wY20vcGNtX2RtaXguYwotaW5kZXggN2NkM2M1MDguLjU1Y2FlM2U3IDEwMDY0NAotLS0tIGEv c3JjL3BjbS9wY21fZG1peC5jCi0rKysgYi9zcmMvcGNtL3BjbV9kbWl4LmMKLUBAIC0yNiw3ICsy Niw3IEBACi0gICoKLSAgKi8KLSAgIAotLSNpbmNsdWRlICJjb25maWcuaCIKLSsjaW5jbHVkZSAi cGNtX2xvY2FsLmgiCi0gI2luY2x1ZGUgPHN0ZGlvLmg+Ci0gI2luY2x1ZGUgPHN0ZGxpYi5oPgot ICNpbmNsdWRlIDxzdGRkZWYuaD4KLWRpZmYgLS1naXQgYS9zcmMvcGNtL3BjbV9kc2hhcmUuYyBi L3NyYy9wY20vcGNtX2RzaGFyZS5jCi1pbmRleCA0NTRiMzlhOS4uYzAzMjkwOTggMTAwNjQ0Ci0t LS0gYS9zcmMvcGNtL3BjbV9kc2hhcmUuYwotKysrIGIvc3JjL3BjbS9wY21fZHNoYXJlLmMKLUBA IC0yNiw2ICsyNiw3IEBACi0gICoKLSAgKi8KLSAgIAotKyNpbmNsdWRlICJwY21fbG9jYWwuaCIK LSAjaW5jbHVkZSA8c3RkaW8uaD4KLSAjaW5jbHVkZSA8c3RkbGliLmg+Ci0gI2luY2x1ZGUgPHN0 ZGRlZi5oPgotZGlmZiAtLWdpdCBhL3NyYy9wY20vcGNtX2Rzbm9vcC5jIGIvc3JjL3BjbS9wY21f ZHNub29wLmMKLWluZGV4IGQzY2UzMDBjLi5iZjY3YzY4YSAxMDA2NDQKLS0tLSBhL3NyYy9wY20v cGNtX2Rzbm9vcC5jCi0rKysgYi9zcmMvcGNtL3BjbV9kc25vb3AuYwotQEAgLTI2LDYgKzI2LDcg QEAKLSAgKgotICAqLwotICAgCi0rI2luY2x1ZGUgInBjbV9sb2NhbC5oIgotICNpbmNsdWRlIDxz dGRpby5oPgotICNpbmNsdWRlIDxzdGRsaWIuaD4KLSAjaW5jbHVkZSA8c3RkZGVmLmg+Ci1kaWZm IC0tZ2l0IGEvc3JjL3BjbS9wY21fbG9jYWwuaCBiL3NyYy9wY20vcGNtX2xvY2FsLmgKLWluZGV4 IDZhMGU3MWU3Li4xNTJjOTJjMyAxMDA2NDQKLS0tLSBhL3NyYy9wY20vcGNtX2xvY2FsLmgKLSsr KyBiL3NyYy9wY20vcGNtX2xvY2FsLmgKLUBAIC0yMCw2ICsyMCw5IEBACi0gICoKLSAgKi8KLSAK LSsjaWZuZGVmIF9fUENNX0xPQ0FMX0gKLSsjZGVmaW5lIF9fUENNX0xPQ0FMX0gKLSsKLSAjaW5j bHVkZSAiY29uZmlnLmgiCi0gCi0gI2luY2x1ZGUgPHN0ZGlvLmg+Ci1AQCAtMTIyMywzICsxMjI2 LDUgQEAgc3RhdGljIGlubGluZSB2b2lkIHNuZF9wY21fdW5sb2NrKHNuZF9wY21fdCAqcGNtKQot ICNkZWZpbmUgc25kX3BjbV9sb2NrKHBjbSkJCWRvIHt9IHdoaWxlICgwKQotICNkZWZpbmUgc25k X3BjbV91bmxvY2socGNtKQkJZG8ge30gd2hpbGUgKDApCi0gI2VuZGlmIC8qIFRIUkVBRF9TQUZF X0FQSSAqLwotKwotKyNlbmRpZiAvKiBfX1BDTV9MT0NBTF9IICovCi1kaWZmIC0tZ2l0IGEvc3Jj L3BjbS9wY21fc2htLmMgYi9zcmMvcGNtL3BjbV9zaG0uYwotaW5kZXggZjBiZmQ5MzQuLmQ5NTk2 NTQ3IDEwMDY0NAotLS0tIGEvc3JjL3BjbS9wY21fc2htLmMKLSsrKyBiL3NyYy9wY20vcGNtX3No bS5jCi1AQCAtMjYsNiArMjYsNyBAQAotICAqCi0gICovCi0gICAKLSsjaW5jbHVkZSAicGNtX2xv Y2FsLmgiCi0gI2luY2x1ZGUgPHN0ZGlvLmg+Ci0gI2luY2x1ZGUgPHN0ZGxpYi5oPgotICNpbmNs dWRlIDxzdGRkZWYuaD4KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvYWxzYS1saWIvcGF0Y2hlcy9tb3Zl LXN0cmluZy1tYWNyby5wYXRjaCBiL3NyY3BrZ3MvYWxzYS1saWIvcGF0Y2hlcy9tb3ZlLXN0cmlu Zy1tYWNyby5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTg5NzNjMWU4YTEz YjUuLjAwMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvYWxzYS1saWIvcGF0Y2hlcy9tb3ZlLXN0 cmluZy1tYWNyby5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLSMgRml4ZXMg Y29tcGlsYXRpb24gaXNzdWUgb24gbXVzbAotIyBVcHN0cmVhbTogaHR0cHM6Ly9naXRodWIuY29t L2Fsc2EtcHJvamVjdC9hbHNhLWxpYi9jb21taXQvMTBiZDU5OTk3MGFjYzcxYzkyZjg1ZWIwODk0 M2ViOGQzZDcwMmE5YwotZGlmZiAtLWdpdCBhL2luY2x1ZGUvZ2xvYmFsLmggYi9pbmNsdWRlL2ds b2JhbC5oCi1pbmRleCBkZmU5YmMyYi4uM2VjYWVlZTggMTAwNjQ0Ci0tLS0gYS9pbmNsdWRlL2ds b2JhbC5oCi0rKysgYi9pbmNsdWRlL2dsb2JhbC5oCi1AQCAtNTEsNiArNTEsMTEgQEAgY29uc3Qg Y2hhciAqc25kX2Fzb3VuZGxpYl92ZXJzaW9uKHZvaWQpOwotICNkZWZpbmUgQVRUUklCVVRFX1VO VVNFRCBfX2F0dHJpYnV0ZV9fICgoX191bnVzZWRfXykpCi0gI2VuZGlmCi0gCi0rI2lmbmRlZiBf X1NUUklORwotKy8qKiBcYnJpZWYgUmV0dXJuICd4JyBhcmd1bWVudCBhcyBzdHJpbmcgKi8KLSsj ZGVmaW5lIF9fU1RSSU5HKHgpICAgICAjeAotKyNlbmRpZgotKwotICNpZmRlZiBQSUMgLyogZHlu YW1pYyBidWlsZCAqLwotIAotIC8qKiBcaGlkZWluaXRpYWxpemVyIFxicmllZiBIZWxwZXIgbWFj cm8gZm9yICNTTkRfRExTWU1fQlVJTERfVkVSU0lPTi4gKi8KLUBAIC03MSwxMSArNzYsNiBAQCBz dHJ1Y3Qgc25kX2Rsc3ltX2xpbmsgewotIAotIGV4dGVybiBzdHJ1Y3Qgc25kX2Rsc3ltX2xpbmsg KnNuZF9kbHN5bV9zdGFydDsKLSAKLS0jaWZuZGVmIF9fU1RSSU5HCi0tLyoqIFxicmllZiBSZXR1 cm4gJ3gnIGFyZ3VtZW50IGFzIHN0cmluZyAqLwotLSNkZWZpbmUgX19TVFJJTkcoeCkgICAgICN4 Ci0tI2VuZGlmCi0tCi0gLyoqIFxoaWRlaW5pdGlhbGl6ZXIgXGJyaWVmIEhlbHBlciBtYWNybyBm b3IgI1NORF9ETFNZTV9CVUlMRF9WRVJTSU9OLiAqLwotICNkZWZpbmUgX19TTkRfRExTWU1fVkVS U0lPTihwcmVmaXgsIG5hbWUsIHZlcnNpb24pIF8gIyMgcHJlZml4ICMjIG5hbWUgIyMgdmVyc2lv bgotIC8qKgotCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Fsc2EtbGliL3BhdGNoZXMvdW1wLWhlYWRl ci1kZXRlY3Rpb24ucGF0Y2ggYi9zcmNwa2dzL2Fsc2EtbGliL3BhdGNoZXMvdW1wLWhlYWRlci1k ZXRlY3Rpb24ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVmZTk5MDlmZWY5 MTJhLi4wMDAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2Fsc2EtbGliL3BhdGNoZXMvdW1wLWhl YWRlci1kZXRlY3Rpb24ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi0jIEZp eGVzIHVtcCBoZWFkZXIgZGV0ZWN0aW9uIHdoZW4gdXNlZCBieSBleHRlcm5hbCBwcm9ncmFtcwot IyBVcHN0cmVhbTogaHR0cHM6Ly9naXRodWIuY29tL2Fsc2EtcHJvamVjdC9hbHNhLWxpYi9jb21t aXQvZmNjZTEzYTY3MjZjNTI4ODJiZDhiNzEzMWM2MWM0ZWJhMzA4NzkyYwotZGlmZiAtLWdpdCBh L2luY2x1ZGUvY29udHJvbC5oIGIvaW5jbHVkZS9jb250cm9sLmgKLWluZGV4IGFiNDgyYmE0Li5l NzU0MWQ1NiAxMDA2NDQKLS0tLSBhL2luY2x1ZGUvY29udHJvbC5oCi0rKysgYi9pbmNsdWRlL2Nv bnRyb2wuaAotQEAgLTQxMyw2ICs0MTMsOCBAQCBpbnQgc25kX2N0bF9wY21fcHJlZmVyX3N1YmRl dmljZShzbmRfY3RsX3QgKmN0bCwgaW50IHN1YmRldik7Ci0gaW50IHNuZF9jdGxfcmF3bWlkaV9u ZXh0X2RldmljZShzbmRfY3RsX3QgKmN0bCwgaW50ICogZGV2aWNlKTsKLSBpbnQgc25kX2N0bF9y YXdtaWRpX2luZm8oc25kX2N0bF90ICpjdGwsIHNuZF9yYXdtaWRpX2luZm9fdCAqIGluZm8pOwot IGludCBzbmRfY3RsX3Jhd21pZGlfcHJlZmVyX3N1YmRldmljZShzbmRfY3RsX3QgKmN0bCwgaW50 IHN1YmRldik7Ci0rI2VuZGlmCi0rI2lmZGVmIF9fQUxTQV9VTVBfSAotIGludCBzbmRfY3RsX3Vt cF9uZXh0X2RldmljZShzbmRfY3RsX3QgKmN0bCwgaW50ICpkZXZpY2UpOwotIGludCBzbmRfY3Rs X3VtcF9lbmRwb2ludF9pbmZvKHNuZF9jdGxfdCAqY3RsLCBzbmRfdW1wX2VuZHBvaW50X2luZm9f dCAqaW5mbyk7Ci0gaW50IHNuZF9jdGxfdW1wX2Jsb2NrX2luZm8oc25kX2N0bF90ICpjdGwsIHNu ZF91bXBfYmxvY2tfaW5mb190ICppbmZvKTsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvYWxzYS1saWIv dGVtcGxhdGUgYi9zcmNwa2dzL2Fsc2EtbGliL3RlbXBsYXRlCmluZGV4IGNkZjVmMTBmMDU5NjFk Li42Yzc4YTBhYjA2Mzg3MiAxMDA2NDQKLS0tIGEvc3JjcGtncy9hbHNhLWxpYi90ZW1wbGF0ZQor KysgYi9zcmNwa2dzL2Fsc2EtbGliL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0 ZSBmaWxlIGZvciAnYWxzYS1saWInCiBwa2duYW1lPWFsc2EtbGliCi12ZXJzaW9uPTEuMi4xMAot cmV2aXNpb249MgordmVyc2lvbj0xLjIuMTEKK3JldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWdudS1j b25maWd1cmUKIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyBsaWJ0b29sIgogc2hvcnRfZGVz Yz0iQWR2YW5jZWQgTGludXggU291bmQgQXJjaGl0ZWN0dXJlIChBTFNBKSBsaWJyYXJ5IgpAQCAt OSw3ICs5LDcgQEAgbWFpbnRhaW5lcj0iY2luZXJlYTAgPGNpbmVyZWEwQHByb3Rvbm1haWwuY29t PiIKIGxpY2Vuc2U9IkxHUEwtMi4xLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHA6Ly93d3cuYWxz YS1wcm9qZWN0Lm9yZyIKIGRpc3RmaWxlcz0iaHR0cHM6Ly93d3cuYWxzYS1wcm9qZWN0Lm9yZy9m aWxlcy9wdWIvbGliL2Fsc2EtbGliLSR7dmVyc2lvbn0udGFyLmJ6MiIKLWNoZWNrc3VtPWM4NmE0 NWE4NDYzMzFiMWIwYWE2ZTZiZTEwMGJlMmE3YWVmOTJlZmQ0MDVjZjZiYWM3ZWVmODE3NGJhYTky MGUKK2NoZWNrc3VtPTlmM2YyZjY5Yjk5NWY5YWQzNzM1OTA3MmZiYzY5YTNhODhiZmJhMDgxZmM4 M2U5YmUzMGUxNDY2Mjc5NWJiNGQKIAogYWxzYS1saWItZGV2ZWxfcGFja2FnZSgpIHsKIAlkZXBl bmRzPSIke3NvdXJjZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCgpGcm9tIDg1MWE5ODY5 NGEwZDQ2NTkyYmFlNjJmNzg1YThmYzk0YjVmNDAyY2MgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IGNpbmVyZWEwIDxjaW5lcmVhMEBkaXNyb290Lm9yZz4KRGF0ZTogV2VkLCAxNCBGZWIg MjAyNCAxNzoxNjowNiAtMDUwMApTdWJqZWN0OiBbUEFUQ0ggMi80XSBhbHNhLXV0aWxzOiB1cGRh dGUgdG8gMS4yLjExCgotLS0KIHNyY3BrZ3MvYWxzYS11dGlscy9wYXRjaGVzL211c2wucGF0Y2gg fCA1MjkgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHNyY3BrZ3MvYWxzYS11dGlscy90ZW1w bGF0ZSAgICAgICAgICAgfCAgIDQgKy0KIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCsp LCA1MzEgZGVsZXRpb25zKC0pCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9hbHNhLXV0aWxz L3BhdGNoZXMvbXVzbC5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvYWxzYS11dGlscy9wYXRj aGVzL211c2wucGF0Y2ggYi9zcmNwa2dzL2Fsc2EtdXRpbHMvcGF0Y2hlcy9tdXNsLnBhdGNoCmRl bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YjE3ZTg4NjIyN2NmZi4uMDAwMDAwMDAwMDAw MDAKLS0tIGEvc3JjcGtncy9hbHNhLXV0aWxzL3BhdGNoZXMvbXVzbC5wYXRjaAorKysgL2Rldi9u dWxsCkBAIC0xLDUyOSArMCwwIEBACi0jIFVwc3RyZWFtIFBSOiBodHRwczovL2dpdGh1Yi5jb20v YWxzYS1wcm9qZWN0L2Fsc2EtdXRpbHMvcHVsbC8yMzQKLSMgdV9pbnRfKiBhcmVuJ3Qgc3RhbmRh cmQsIGJ1dCB1aW50KiBhcmUuIFVzZSB0aG9zZSBpbnN0ZWFkIGZvciBtdXNsIGNvbXBhdC4KLSMg Rml4IHNldGxvY2FsZSgpIGJ5IGFkZGluZyBpbmNsdWRlIGZvciBFTkFCTEVfTkxTCi1kaWZmIC0t Z2l0IGEvYXBsYXkvYXBsYXkuYyBiL2FwbGF5L2FwbGF5LmMKLWluZGV4IGYxODBkNDJiLi40ZDU3 OGYzYiAxMDA2NDQKLS0tLSBhL2FwbGF5L2FwbGF5LmMKLSsrKyBiL2FwbGF5L2FwbGF5LmMKLUBA IC0xMTQsNyArMTE0LDcgQEAgc3RhdGljIGludCBtbWFwX2ZsYWcgPSAwOwotIHN0YXRpYyBpbnQg aW50ZXJsZWF2ZWQgPSAxOwotIHN0YXRpYyBpbnQgbm9uYmxvY2sgPSAwOwotIHN0YXRpYyB2b2xh dGlsZSBzaWdfYXRvbWljX3QgaW5fYWJvcnRpbmcgPSAwOwotLXN0YXRpYyB1X2NoYXIgKmF1ZGlv YnVmID0gTlVMTDsKLStzdGF0aWMgdW5zaWduZWQgY2hhciAqYXVkaW9idWYgPSBOVUxMOwotIHN0 YXRpYyBzbmRfcGNtX3VmcmFtZXNfdCBjaHVua19zaXplID0gMDsKLSBzdGF0aWMgdW5zaWduZWQg cGVyaW9kX3RpbWUgPSAwOwotIHN0YXRpYyB1bnNpZ25lZCBidWZmZXJfdGltZSA9IDA7Ci1AQCAt ODU5LDcgKzg1OSw3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCi0gCWNodW5r X3NpemUgPSAxMDI0OwotIAlod3BhcmFtcyA9IHJod3BhcmFtczsKLSAKLS0JYXVkaW9idWYgPSAo dV9jaGFyICopbWFsbG9jKDEwMjQpOwotKwlhdWRpb2J1ZiA9ICh1bnNpZ25lZCBjaGFyICopbWFs bG9jKDEwMjQpOwotIAlpZiAoYXVkaW9idWYgPT0gTlVMTCkgewotIAkJZXJyb3IoXygibm90IGVu b3VnaCBtZW1vcnkiKSk7Ci0gCQlyZXR1cm4gMTsKLUBAIC05NzAsNyArOTcwLDcgQEAgc3RhdGlj IGludCB0ZXN0X3ZvY2ZpbGUodm9pZCAqYnVmZmVyKQotICAqIGhlbHBlciBmb3IgdGVzdF93YXZl ZmlsZQotICAqLwotIAotLXN0YXRpYyBzaXplX3QgdGVzdF93YXZlZmlsZV9yZWFkKGludCBmZCwg dV9jaGFyICpidWZmZXIsIHNpemVfdCAqc2l6ZSwgc2l6ZV90IHJlcXNpemUsIGludCBsaW5lKQot K3N0YXRpYyBzaXplX3QgdGVzdF93YXZlZmlsZV9yZWFkKGludCBmZCwgdW5zaWduZWQgY2hhciAq YnVmZmVyLCBzaXplX3QgKnNpemUsIHNpemVfdCByZXFzaXplLCBpbnQgbGluZSkKLSB7Ci0gCWlm ICgqc2l6ZSA+PSByZXFzaXplKQotIAkJcmV0dXJuICpzaXplOwotQEAgLTk5NSwxNyArOTk1LDE3 IEBAIHN0YXRpYyBzaXplX3QgdGVzdF93YXZlZmlsZV9yZWFkKGludCBmZCwgdV9jaGFyICpidWZm ZXIsIHNpemVfdCAqc2l6ZSwgc2l6ZV90IHJlCi0gICogICAgICAgICAgICAgICAgICAgICAgICAg ICAgPT0gMCBpZiBub3QKLSAgKiBWYWx1ZSByZXR1cm5lZCBpcyBieXRlcyB0byBiZSBkaXNjYXJk ZWQuCi0gICovCi0tc3RhdGljIHNzaXplX3QgdGVzdF93YXZlZmlsZShpbnQgZmQsIHVfY2hhciAq X2J1ZmZlciwgc2l6ZV90IHNpemUpCi0rc3RhdGljIHNzaXplX3QgdGVzdF93YXZlZmlsZShpbnQg ZmQsIHVuc2lnbmVkIGNoYXIgKl9idWZmZXIsIHNpemVfdCBzaXplKQotIHsKLSAJV2F2ZUhlYWRl ciAqaCA9IChXYXZlSGVhZGVyICopX2J1ZmZlcjsKLS0JdV9jaGFyICpidWZmZXIgPSBOVUxMOwot Kwl1bnNpZ25lZCBjaGFyICpidWZmZXIgPSBOVUxMOwotIAlzaXplX3QgYmxpbWl0ID0gMDsKLSAJ V2F2ZUZtdEJvZHkgKmY7Ci0gCVdhdmVDaHVua0hlYWRlciAqYzsKLS0JdV9pbnQgdHlwZSwgbGVu OwotKwl1bnNpZ25lZCBpbnQgdHlwZSwgbGVuOwotIAl1bnNpZ25lZCBzaG9ydCBmb3JtYXQsIGNo YW5uZWxzOwotIAlpbnQgYmlnX2VuZGlhbiwgbmF0aXZlX2Zvcm1hdDsKLS0JdV9jaGFyIHZicHMg PSAwOwotKwl1bnNpZ25lZCBjaGFyIHZicHMgPSAwOwotIAotIAlpZiAoc2l6ZSA8IHNpemVvZihX YXZlSGVhZGVyKSkKLSAJCXJldHVybiAtMTsKLUBAIC0xMDQ0LDcgKzEwNDQsNyBAQCBzdGF0aWMg c3NpemVfdCB0ZXN0X3dhdmVmaWxlKGludCBmZCwgdV9jaGFyICpfYnVmZmVyLCBzaXplX3Qgc2l6 ZSkKLSAKLSAJaWYgKGxlbiA8IHNpemVvZihXYXZlRm10Qm9keSkpIHsKLSAJCWVycm9yKF8oInVu a25vd24gbGVuZ3RoIG9mICdmbXQgJyBjaHVuayAocmVhZCAldSwgc2hvdWxkIGJlICV1IGF0IGxl YXN0KSIpLAotLQkJICAgICAgbGVuLCAodV9pbnQpc2l6ZW9mKFdhdmVGbXRCb2R5KSk7Ci0rCQkg ICAgICBsZW4sICh1bnNpZ25lZCBpbnQpc2l6ZW9mKFdhdmVGbXRCb2R5KSk7Ci0gCQlwcmdfZXhp dChFWElUX0ZBSUxVUkUpOwotIAl9Ci0gCWNoZWNrX3dhdmVmaWxlX3NwYWNlKGJ1ZmZlciwgbGVu LCBibGltaXQpOwotQEAgLTEwNTUsNyArMTA1NSw3IEBAIHN0YXRpYyBzc2l6ZV90IHRlc3Rfd2F2 ZWZpbGUoaW50IGZkLCB1X2NoYXIgKl9idWZmZXIsIHNpemVfdCBzaXplKQotIAkJV2F2ZUZtdEV4 dGVuc2libGVCb2R5ICpmZSA9IChXYXZlRm10RXh0ZW5zaWJsZUJvZHkqKWJ1ZmZlcjsKLSAJCWlm IChsZW4gPCBzaXplb2YoV2F2ZUZtdEV4dGVuc2libGVCb2R5KSkgewotIAkJCWVycm9yKF8oInVu a25vd24gbGVuZ3RoIG9mIGV4dGVuc2libGUgJ2ZtdCAnIGNodW5rIChyZWFkICV1LCBzaG91bGQg YmUgJXUgYXQgbGVhc3QpIiksCi0tCQkJCQlsZW4sICh1X2ludClzaXplb2YoV2F2ZUZtdEV4dGVu c2libGVCb2R5KSk7Ci0rCQkJCQlsZW4sICh1bnNpZ25lZCBpbnQpc2l6ZW9mKFdhdmVGbXRFeHRl bnNpYmxlQm9keSkpOwotIAkJCXByZ19leGl0KEVYSVRfRkFJTFVSRSk7Ci0gCQl9Ci0gCQlpZiAo bWVtY21wKGZlLT5ndWlkX3RhZywgV0FWX0dVSURfVEFHLCAxNCkgIT0gMCkgewotQEAgLTExNjcs NyArMTE2Nyw3IEBAIHN0YXRpYyBzc2l6ZV90IHRlc3Rfd2F2ZWZpbGUoaW50IGZkLCB1X2NoYXIg Kl9idWZmZXIsIHNpemVfdCBzaXplKQotIAlzaXplIC09IGxlbjsKLSAJCi0gCXdoaWxlICgxKSB7 Ci0tCQl1X2ludCB0eXBlLCBsZW47Ci0rCQl1bnNpZ25lZCBpbnQgdHlwZSwgbGVuOwotIAotIAkJ Y2hlY2tfd2F2ZWZpbGVfc3BhY2UoYnVmZmVyLCBzaXplb2YoV2F2ZUNodW5rSGVhZGVyKSwgYmxp bWl0KTsKLSAJCXRlc3Rfd2F2ZWZpbGVfcmVhZChmZCwgYnVmZmVyLCAmc2l6ZSwgc2l6ZW9mKFdh dmVDaHVua0hlYWRlciksIF9fTElORV9fKTsKLUBAIC0xODA5LDcgKzE4MDksNyBAQCBzdGF0aWMg dm9pZCBwcmludF92dV9tZXRlcihzaWduZWQgaW50ICpwZXJjLCBzaWduZWQgaW50ICptYXhwZXJj KQotIH0KLSAKLSAvKiBwZWFrIGhhbmRsZXIgKi8KLS1zdGF0aWMgdm9pZCBjb21wdXRlX21heF9w ZWFrKHVfY2hhciAqZGF0YSwgc2l6ZV90IHNhbXBsZXMpCi0rc3RhdGljIHZvaWQgY29tcHV0ZV9t YXhfcGVhayh1bnNpZ25lZCBjaGFyICpkYXRhLCBzaXplX3Qgc2FtcGxlcykKLSB7Ci0gCXNpZ25l ZCBpbnQgdmFsLCBtYXgsIHBlcmNbMl0sIG1heF9wZWFrWzJdOwotIAlzdGF0aWMgaW50IHJ1biA9 IDA7Ci1AQCAtMjA1NCw5ICsyMDU0LDkgQEAgc3RhdGljIHZvaWQgZG9fdGVzdF9wb3NpdGlvbih2 b2lkKQotIC8qCi0gICovCi0gI2lmZGVmIENPTkZJR19TVVBQT1JUX0NITUFQCi0tc3RhdGljIHVf Y2hhciAqcmVtYXBfZGF0YSh1X2NoYXIgKmRhdGEsIHNpemVfdCBjb3VudCkKLStzdGF0aWMgdW5z aWduZWQgY2hhciAqcmVtYXBfZGF0YSh1bnNpZ25lZCBjaGFyICpkYXRhLCBzaXplX3QgY291bnQp Ci0gewotLQlzdGF0aWMgdV9jaGFyICp0bXAsICpzcmMsICpkc3Q7Ci0rCXN0YXRpYyB1bnNpZ25l ZCBjaGFyICp0bXAsICpzcmMsICpkc3Q7Ci0gCXN0YXRpYyBzaXplX3QgdG1wX3NpemU7Ci0gCXNp emVfdCBzYW1wbGVfYnl0ZXMgPSBiaXRzX3Blcl9zYW1wbGUgLyA4OwotIAlzaXplX3Qgc3RlcCA9 IGJpdHNfcGVyX2ZyYW1lIC8gODsKLUBAIC0yMDkwLDkgKzIwOTAsOSBAQCBzdGF0aWMgdV9jaGFy ICpyZW1hcF9kYXRhKHVfY2hhciAqZGF0YSwgc2l6ZV90IGNvdW50KQotIAlyZXR1cm4gdG1wOwot IH0KLSAKLS1zdGF0aWMgdV9jaGFyICoqcmVtYXBfZGF0YXYodV9jaGFyICoqZGF0YSwgc2l6ZV90 IGNvdW50IEFUVFJJQlVURV9VTlVTRUQpCi0rc3RhdGljIHVuc2lnbmVkIGNoYXIgKipyZW1hcF9k YXRhdih1bnNpZ25lZCBjaGFyICoqZGF0YSwgc2l6ZV90IGNvdW50IEFUVFJJQlVURV9VTlVTRUQp Ci0gewotLQlzdGF0aWMgdV9jaGFyICoqdG1wOwotKwlzdGF0aWMgdW5zaWduZWQgY2hhciAqKnRt cDsKLSAJdW5zaWduZWQgaW50IGNoOwotIAotIAlpZiAoIWh3X21hcCkKLUBAIC0yMTE4LDcgKzIx MTgsNyBAQCBzdGF0aWMgdV9jaGFyICoqcmVtYXBfZGF0YXYodV9jaGFyICoqZGF0YSwgc2l6ZV90 IGNvdW50IEFUVFJJQlVURV9VTlVTRUQpCi0gICogIHdyaXRlIGZ1bmN0aW9uCi0gICovCi0gCi0t c3RhdGljIHNzaXplX3QgcGNtX3dyaXRlKHVfY2hhciAqZGF0YSwgc2l6ZV90IGNvdW50KQotK3N0 YXRpYyBzc2l6ZV90IHBjbV93cml0ZSh1bnNpZ25lZCBjaGFyICpkYXRhLCBzaXplX3QgY291bnQp Ci0gewotIAlzc2l6ZV90IHI7Ci0gCXNzaXplX3QgcmVzdWx0ID0gMDsKLUBAIC0yMTU3LDcgKzIx NTcsNyBAQCBzdGF0aWMgc3NpemVfdCBwY21fd3JpdGUodV9jaGFyICpkYXRhLCBzaXplX3QgY291 bnQpCi0gCXJldHVybiByZXN1bHQ7Ci0gfQotIAotLXN0YXRpYyBzc2l6ZV90IHBjbV93cml0ZXYo dV9jaGFyICoqZGF0YSwgdW5zaWduZWQgaW50IGNoYW5uZWxzLCBzaXplX3QgY291bnQpCi0rc3Rh dGljIHNzaXplX3QgcGNtX3dyaXRldih1bnNpZ25lZCBjaGFyICoqZGF0YSwgdW5zaWduZWQgaW50 IGNoYW5uZWxzLCBzaXplX3QgY291bnQpCi0gewotIAlzc2l6ZV90IHI7Ci0gCXNpemVfdCByZXN1 bHQgPSAwOwotQEAgLTIyMTAsNyArMjIxMCw3IEBAIHN0YXRpYyBzc2l6ZV90IHBjbV93cml0ZXYo dV9jaGFyICoqZGF0YSwgdW5zaWduZWQgaW50IGNoYW5uZWxzLCBzaXplX3QgY291bnQpCi0gICog IHJlYWQgZnVuY3Rpb24KLSAgKi8KLSAKLS1zdGF0aWMgc3NpemVfdCBwY21fcmVhZCh1X2NoYXIg KmRhdGEsIHNpemVfdCByY291bnQpCi0rc3RhdGljIHNzaXplX3QgcGNtX3JlYWQodW5zaWduZWQg Y2hhciAqZGF0YSwgc2l6ZV90IHJjb3VudCkKLSB7Ci0gCXNzaXplX3QgcjsKLSAJc2l6ZV90IHJl c3VsdCA9IDA7Ci1AQCAtMjI1Miw3ICsyMjUyLDcgQEAgc3RhdGljIHNzaXplX3QgcGNtX3JlYWQo dV9jaGFyICpkYXRhLCBzaXplX3QgcmNvdW50KQotIAlyZXR1cm4gcmVzdWx0ID4gcmNvdW50ID8g cmNvdW50IDogcmVzdWx0OwotIH0KLSAKLS1zdGF0aWMgc3NpemVfdCBwY21fcmVhZHYodV9jaGFy ICoqZGF0YSwgdW5zaWduZWQgaW50IGNoYW5uZWxzLCBzaXplX3QgcmNvdW50KQotK3N0YXRpYyBz c2l6ZV90IHBjbV9yZWFkdih1bnNpZ25lZCBjaGFyICoqZGF0YSwgdW5zaWduZWQgaW50IGNoYW5u ZWxzLCBzaXplX3QgcmNvdW50KQotIHsKLSAJc3NpemVfdCByOwotIAlzaXplX3QgcmVzdWx0ID0g MDsKLUBAIC0yMzA0LDcgKzIzMDQsNyBAQCBzdGF0aWMgc3NpemVfdCBwY21fcmVhZHYodV9jaGFy ICoqZGF0YSwgdW5zaWduZWQgaW50IGNoYW5uZWxzLCBzaXplX3QgcmNvdW50KQotICAqICBvaywg bGV0J3MgcGxheSBhIC52b2MgZmlsZQotICAqLwotIAotLXN0YXRpYyBzc2l6ZV90IHZvY19wY21f d3JpdGUodV9jaGFyICpkYXRhLCBzaXplX3QgY291bnQpCi0rc3RhdGljIHNzaXplX3Qgdm9jX3Bj bV93cml0ZSh1bnNpZ25lZCBjaGFyICpkYXRhLCBzaXplX3QgY291bnQpCi0gewotIAlzc2l6ZV90 IHJlc3VsdCA9IGNvdW50LCByOwotIAlzaXplX3Qgc2l6ZTsKLUBAIC0yMzI5LDkgKzIzMjksOSBA QCBzdGF0aWMgc3NpemVfdCB2b2NfcGNtX3dyaXRlKHVfY2hhciAqZGF0YSwgc2l6ZV90IGNvdW50 KQotIHN0YXRpYyB2b2lkIHZvY193cml0ZV9zaWxlbmNlKHVuc2lnbmVkIHgpCi0gewotIAl1bnNp Z25lZCBsOwotLQl1X2NoYXIgKmJ1ZjsKLSsJdW5zaWduZWQgY2hhciAqYnVmOwotIAotLQlidWYg PSAodV9jaGFyICopIG1hbGxvYyhjaHVua19ieXRlcyk7Ci0rCWJ1ZiA9ICh1bnNpZ25lZCBjaGFy ICopIG1hbGxvYyhjaHVua19ieXRlcyk7Ci0gCWlmIChidWYgPT0gTlVMTCkgewotIAkJZXJyb3Io XygiY2FuJ3QgYWxsb2NhdGUgYnVmZmVyIGZvciBzaWxlbmNlIikpOwotIAkJcmV0dXJuOwkJLyog bm90IGZhdGFsIGVycm9yICovCi1AQCAtMjM3MiwxNSArMjM3MiwxNSBAQCBzdGF0aWMgdm9pZCB2 b2NfcGxheShpbnQgZmQsIGludCBvZnMsIGNoYXIgKm5hbWUpCi0gCVZvY1ZvaWNlRGF0YSAqdmQ7 Ci0gCVZvY0V4dEJsb2NrICplYjsKLSAJc2l6ZV90IG5leHRibG9jaywgaW5fYnVmZmVyOwotLQl1 X2NoYXIgKmRhdGEsICpidWY7Ci0rCXVuc2lnbmVkIGNoYXIgKmRhdGEsICpidWY7Ci0gCWNoYXIg d2FzX2V4dGVuZGVkID0gMCwgb3V0cHV0ID0gMDsKLS0JdV9zaG9ydCAqc3AsIHJlcGVhdCA9IDA7 Ci0rCXVuc2lnbmVkIHNob3J0ICpzcCwgcmVwZWF0ID0gMDsKLSAJb2ZmX3QgZmlsZXBvcyA9IDA7 Ci0gCi0gI2RlZmluZSBDT1VOVCh4KQluZXh0YmxvY2sgLT0geDsgaW5fYnVmZmVyIC09IHg7IGRh dGEgKz0geAotICNkZWZpbmUgQ09VTlQxKHgpCWluX2J1ZmZlciAtPSB4OyBkYXRhICs9IHgKLSAK LS0JZGF0YSA9IGJ1ZiA9ICh1X2NoYXIgKiltYWxsb2MoNjQgKiAxMDI0KTsKLSsJZGF0YSA9IGJ1 ZiA9ICh1bnNpZ25lZCBjaGFyICopbWFsbG9jKDY0ICogMTAyNCk7Ci0gCWJ1ZmZlcl9wb3MgPSAw OwotIAlpZiAoZGF0YSA9PSBOVUxMKSB7Ci0gCQllcnJvcihfKCJtYWxsb2MgZXJyb3IiKSk7Ci1A QCAtMjQ3Miw4ICsyNDcyLDggQEAgc3RhdGljIHZvaWQgdm9jX3BsYXkoaW50IGZkLCBpbnQgb2Zz LCBjaGFyICpuYW1lKQotICNlbmRpZgotIAkJCQlicmVhazsKLSAJCQljYXNlIDM6CS8qIGEgc2ls ZW5jZSBibG9jaywgbm8gZGF0YSwgb25seSBhIGNvdW50ICovCi0tCQkJCXNwID0gKHVfc2hvcnQg KikgZGF0YTsKLS0JCQkJQ09VTlQxKHNpemVvZih1X3Nob3J0KSk7Ci0rCQkJCXNwID0gKHVuc2ln bmVkIHNob3J0ICopIGRhdGE7Ci0rCQkJCUNPVU5UMShzaXplb2YodW5zaWduZWQgc2hvcnQpKTsK LSAJCQkJaHdwYXJhbXMucmF0ZSA9IChpbnQpICgqZGF0YSk7Ci0gCQkJCUNPVU5UMSgxKTsKLSAJ CQkJaHdwYXJhbXMucmF0ZSA9IDEwMDAwMDAgLyAoMjU2IC0gaHdwYXJhbXMucmF0ZSk7Ci1AQCAt MjQ4OCw4ICsyNDg4LDggQEAgc3RhdGljIHZvaWQgdm9jX3BsYXkoaW50IGZkLCBpbnQgb2ZzLCBj aGFyICpuYW1lKQotIAkJCQl2b2Nfd3JpdGVfc2lsZW5jZSgqc3ApOwotIAkJCQlicmVhazsKLSAJ CQljYXNlIDQ6CS8qIGEgbWFya2VyIGZvciBzeW5jcm9uaXNhdGlvbiwgbm8gZWZmZWN0ICovCi0t CQkJCXNwID0gKHVfc2hvcnQgKikgZGF0YTsKLS0JCQkJQ09VTlQxKHNpemVvZih1X3Nob3J0KSk7 Ci0rCQkJCXNwID0gKHVuc2lnbmVkIHNob3J0ICopIGRhdGE7Ci0rCQkJCUNPVU5UMShzaXplb2Yo dW5zaWduZWQgc2hvcnQpKTsKLSAjaWYgMAotIAkJCQlkX3ByaW50ZigiTWFya2VyICVkXG4iLCAq c3ApOwotICNlbmRpZgotQEAgLTI1MDMsOCArMjUwMyw4IEBAIHN0YXRpYyB2b2lkIHZvY19wbGF5 KGludCBmZCwgaW50IG9mcywgY2hhciAqbmFtZSkKLSAJCQljYXNlIDY6CS8qIHJlcGVhdCBtYXJr ZXIsIHNheXMgcmVwZWF0Y291bnQgKi8KLSAJCQkJLyogbXkgc3BlY3MgZG9uJ3Qgc2F5IGl0OiBt YXliZSB0aGlzIGNhbiBiZSByZWN1cnNpdmUsIGJ1dAotIAkJCQkgICBJIGRvbid0IHRoaW5rIHNv bWVib2R5IHVzZSBpdCAqLwotLQkJCQlyZXBlYXQgPSAqKHVfc2hvcnQgKikgZGF0YTsKLS0JCQkJ Q09VTlQxKHNpemVvZih1X3Nob3J0KSk7Ci0rCQkJCXJlcGVhdCA9ICoodW5zaWduZWQgc2hvcnQg KikgZGF0YTsKLSsJCQkJQ09VTlQxKHNpemVvZih1bnNpZ25lZCBzaG9ydCkpOwotICNpZiAwCi0g CQkJCWRfcHJpbnRmKCJSZXBlYXQgbG9vcCAlZCB0aW1lc1xuIiwgcmVwZWF0KTsKLSAjZW5kaWYK LUBAIC0yNjQ5LDE0ICsyNjQ5LDE0IEBAIHN0YXRpYyB2b2lkIGJlZ2luX3ZvYyhpbnQgZmQsIHNp emVfdCBjbnQpCi0gCX0KLSAJYnQudHlwZSA9IDE7Ci0gCWNudCArPSBzaXplb2YoVm9jVm9pY2VE YXRhKTsJLyogQ2hhbm5lbF9kYXRhIGJsb2NrIGZvbGxvd3MgKi8KLS0JYnQuZGF0YWxlbiA9ICh1 X2NoYXIpIChjbnQgJiAweEZGKTsKLS0JYnQuZGF0YWxlbl9tID0gKHVfY2hhcikgKChjbnQgJiAw eEZGMDApID4+IDgpOwotLQlidC5kYXRhbGVuX2ggPSAodV9jaGFyKSAoKGNudCAmIDB4RkYwMDAw KSA+PiAxNik7Ci0rCWJ0LmRhdGFsZW4gPSAodW5zaWduZWQgY2hhcikgKGNudCAmIDB4RkYpOwot KwlidC5kYXRhbGVuX20gPSAodW5zaWduZWQgY2hhcikgKChjbnQgJiAweEZGMDApID4+IDgpOwot KwlidC5kYXRhbGVuX2ggPSAodW5zaWduZWQgY2hhcikgKChjbnQgJiAweEZGMDAwMCkgPj4gMTYp OwotIAlpZiAoeHdyaXRlKGZkLCAmYnQsIHNpemVvZihWb2NCbG9ja1R5cGUpKSAhPSBzaXplb2Yo Vm9jQmxvY2tUeXBlKSkgewotIAkJZXJyb3IoXygid3JpdGUgZXJyb3IiKSk7Ci0gCQlwcmdfZXhp dChFWElUX0ZBSUxVUkUpOwotIAl9Ci0tCXZkLnRjID0gKHVfY2hhcikgKDI1NiAtICgxMDAwMDAw IC8gaHdwYXJhbXMucmF0ZSkpOwotKwl2ZC50YyA9ICh1bnNpZ25lZCBjaGFyKSAoMjU2IC0gKDEw MDAwMDAgLyBod3BhcmFtcy5yYXRlKSk7Ci0gCXZkLnBhY2sgPSAwOwotIAlpZiAoeHdyaXRlKGZk LCAmdmQsIHNpemVvZihWb2NWb2ljZURhdGEpKSAhPSBzaXplb2YoVm9jVm9pY2VEYXRhKSkgewot IAkJZXJyb3IoXygid3JpdGUgZXJyb3IiKSk7Ci1AQCAtMjY3MSw4ICsyNjcxLDggQEAgc3RhdGlj IHZvaWQgYmVnaW5fd2F2ZShpbnQgZmQsIHNpemVfdCBjbnQpCi0gCVdhdmVGbXRCb2R5IGY7Ci0g CVdhdmVDaHVua0hlYWRlciBjZiwgY2Q7Ci0gCWludCBiaXRzOwotLQl1X2ludCB0bXA7Ci0tCXVf c2hvcnQgdG1wMjsKLSsJdW5zaWduZWQgaW50IHRtcDsKLSsJdW5zaWduZWQgc2hvcnQgdG1wMjsK LSAKLSAJLyogV0FWRSBjYW5ub3QgaGFuZGxlIGdyZWF0ZXIgdGhhbiAzMmJpdCAoc2lnbmVkPykg aW50ICovCi0gCWlmIChjbnQgPT0gKHNpemVfdCktMikKLUBAIC0yNzE1LDExICsyNzE1LDExIEBA IHN0YXRpYyB2b2lkIGJlZ2luX3dhdmUoaW50IGZkLCBzaXplX3QgY250KQotICNpZiAwCi0gCXRt cDIgPSAoc2FtcGxlc2l6ZSA9PSA4KSA/IDEgOiAyOwotIAlmLmJ5dGVfcF9zcGwgPSBMRV9TSE9S VCh0bXAyKTsKLS0JdG1wID0gZHNwX3NwZWVkICogaHdwYXJhbXMuY2hhbm5lbHMgKiAodV9pbnQp IHRtcDI7Ci0rCXRtcCA9IGRzcF9zcGVlZCAqIGh3cGFyYW1zLmNoYW5uZWxzICogKHVuc2lnbmVk IGludCkgdG1wMjsKLSAjZWxzZQotIAl0bXAyID0gaHdwYXJhbXMuY2hhbm5lbHMgKiBzbmRfcGNt X2Zvcm1hdF9waHlzaWNhbF93aWR0aChod3BhcmFtcy5mb3JtYXQpIC8gODsKLSAJZi5ieXRlX3Bf c3BsID0gTEVfU0hPUlQodG1wMik7Ci0tCXRtcCA9ICh1X2ludCkgdG1wMiAqIGh3cGFyYW1zLnJh dGU7Ci0rCXRtcCA9ICh1bnNpZ25lZCBpbnQpIHRtcDIgKiBod3BhcmFtcy5yYXRlOwotICNlbmRp ZgotIAlmLmJ5dGVfcF9zZWMgPSBMRV9JTlQodG1wKTsKLSAJZi5iaXRfcF9zcGwgPSBMRV9TSE9S VChiaXRzKTsKLUBAIC0yNzg2LDkgKzI3ODYsOSBAQCBzdGF0aWMgdm9pZCBlbmRfdm9jKGludCBm ZCkKLSAJY250ICs9IHNpemVvZihWb2NWb2ljZURhdGEpOwkvKiBDaGFubmVsX2RhdGEgYmxvY2sg Zm9sbG93cyAqLwotIAlpZiAoY250ID4gMHgwMGZmZmZmZikKLSAJCWNudCA9IDB4MDBmZmZmZmY7 Ci0tCWJ0LmRhdGFsZW4gPSAodV9jaGFyKSAoY250ICYgMHhGRik7Ci0tCWJ0LmRhdGFsZW5fbSA9 ICh1X2NoYXIpICgoY250ICYgMHhGRjAwKSA+PiA4KTsKLS0JYnQuZGF0YWxlbl9oID0gKHVfY2hh cikgKChjbnQgJiAweEZGMDAwMCkgPj4gMTYpOwotKwlidC5kYXRhbGVuID0gKHVuc2lnbmVkIGNo YXIpIChjbnQgJiAweEZGKTsKLSsJYnQuZGF0YWxlbl9tID0gKHVuc2lnbmVkIGNoYXIpICgoY250 ICYgMHhGRjAwKSA+PiA4KTsKLSsJYnQuZGF0YWxlbl9oID0gKHVuc2lnbmVkIGNoYXIpICgoY250 ICYgMHhGRjAwMDApID4+IDE2KTsKLSAJaWYgKGxzZWVrKGZkLCBsZW5ndGhfc2VlaywgU0VFS19T RVQpID09IGxlbmd0aF9zZWVrKQotIAkJeHdyaXRlKGZkLCAmYnQsIHNpemVvZihWb2NCbG9ja1R5 cGUpKTsKLSB9Ci1AQCAtMjc5OCw3ICsyNzk4LDcgQEAgc3RhdGljIHZvaWQgZW5kX3dhdmUoaW50 IGZkKQotIAlXYXZlQ2h1bmtIZWFkZXIgY2Q7Ci0gCW9mZl90IGxlbmd0aF9zZWVrOwotIAlvZmZf dCBmaWxlbGVuOwotLQl1X2ludCByaWZmbGVuOwotKwl1bnNpZ25lZCBpbnQgcmlmZmxlbjsKLSAJ Ci0gCWxlbmd0aF9zZWVrID0gc2l6ZW9mKFdhdmVIZWFkZXIpICsKLSAJCSAgICAgIHNpemVvZihX YXZlQ2h1bmtIZWFkZXIpICsKLUBAIC0zMzM5LDcgKzMzMzksNyBAQCBzdGF0aWMgdm9pZCBwbGF5 YmFja3ZfZ28oaW50KiBmZHMsIHVuc2lnbmVkIGludCBjaGFubmVscywgc2l6ZV90IGxvYWRlZCwg b2ZmX3QgYwotIAlzaXplX3QgdnNpemU7Ci0gCi0gCXVuc2lnbmVkIGludCBjaGFubmVsOwotLQl1 X2NoYXIgKmJ1ZnNbY2hhbm5lbHNdOwotKwl1bnNpZ25lZCBjaGFyICpidWZzW2NoYW5uZWxzXTsK LSAKLSAJaGVhZGVyKHJ0eXBlLCBuYW1lc1swXSk7Ci0gCXNldF9wYXJhbXMoKTsKLUBAIC0zMzkz LDcgKzMzOTMsNyBAQCBzdGF0aWMgdm9pZCBjYXB0dXJldl9nbyhpbnQqIGZkcywgdW5zaWduZWQg aW50IGNoYW5uZWxzLCBvZmZfdCBjb3VudCwgaW50IHJ0eXBlLAotIAlzc2l6ZV90IHI7Ci0gCXVu c2lnbmVkIGludCBjaGFubmVsOwotIAlzaXplX3QgdnNpemU7Ci0tCXVfY2hhciAqYnVmc1tjaGFu bmVsc107Ci0rCXVuc2lnbmVkIGNoYXIgKmJ1ZnNbY2hhbm5lbHNdOwotIAotIAloZWFkZXIocnR5 cGUsIG5hbWVzWzBdKTsKLSAJc2V0X3BhcmFtcygpOwotZGlmZiAtLWdpdCBhL2FwbGF5L2Zvcm1h dHMuaCBiL2FwbGF5L2Zvcm1hdHMuaAotaW5kZXggMDkzYWI4MDkuLmEzY2Y2Y2JhIDEwMDY0NAot LS0tIGEvYXBsYXkvZm9ybWF0cy5oCi0rKysgYi9hcGxheS9mb3JtYXRzLmgKLUBAIC0xNywyOCAr MTcsMjggQEAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgCSgodV9sb25nKShicC0+ZGF0YWxl bl9oKSA8PCAxNikgKQotIAotIHR5cGVkZWYgc3RydWN0IHZvY19oZWFkZXIgewotLQl1X2NoYXIg bWFnaWNbMjBdOwkvKiBtdXN0IGJlIE1BR0lDX1NUUklORyAqLwotLQl1X3Nob3J0IGhlYWRlcmxl bjsJLyogSGVhZGVybGVuZ3RoLCBzaG91bGQgYmUgMHgxQSAqLwotLQl1X3Nob3J0IHZlcnNpb247 CS8qIFZPQy1maWxlIHZlcnNpb24gKi8KLS0JdV9zaG9ydCBjb2RlZF92ZXI7CS8qIDB4MTIzMy12 ZXJzaW9uICovCi0rCXVuc2lnbmVkIGNoYXIgbWFnaWNbMjBdOwkvKiBtdXN0IGJlIE1BR0lDX1NU UklORyAqLwotKwl1bnNpZ25lZCBzaG9ydCBoZWFkZXJsZW47CS8qIEhlYWRlcmxlbmd0aCwgc2hv dWxkIGJlIDB4MUEgKi8KLSsJdW5zaWduZWQgc2hvcnQgdmVyc2lvbjsJLyogVk9DLWZpbGUgdmVy c2lvbiAqLwotKwl1bnNpZ25lZCBzaG9ydCBjb2RlZF92ZXI7CS8qIDB4MTIzMy12ZXJzaW9uICov Ci0gfSBWb2NIZWFkZXI7Ci0gCi0gdHlwZWRlZiBzdHJ1Y3Qgdm9jX2Jsb2NrdHlwZSB7Ci0tCXVf Y2hhciB0eXBlOwotLQl1X2NoYXIgZGF0YWxlbjsJCS8qIGxvdy1ieXRlICAgICovCi0tCXVfY2hh ciBkYXRhbGVuX207CS8qIG1lZGl1bS1ieXRlICovCi0tCXVfY2hhciBkYXRhbGVuX2g7CS8qIGhp Z2gtYnl0ZSAgICovCi0rCXVuc2lnbmVkIGNoYXIgdHlwZTsKLSsJdW5zaWduZWQgY2hhciBkYXRh bGVuOwkJLyogbG93LWJ5dGUgICAgKi8KLSsJdW5zaWduZWQgY2hhciBkYXRhbGVuX207CS8qIG1l ZGl1bS1ieXRlICovCi0rCXVuc2lnbmVkIGNoYXIgZGF0YWxlbl9oOwkvKiBoaWdoLWJ5dGUgICAq LwotIH0gVm9jQmxvY2tUeXBlOwotIAotIHR5cGVkZWYgc3RydWN0IHZvY192b2ljZV9kYXRhIHsK LS0JdV9jaGFyIHRjOwotLQl1X2NoYXIgcGFjazsKLSsJdW5zaWduZWQgY2hhciB0YzsKLSsJdW5z aWduZWQgY2hhciBwYWNrOwotIH0gVm9jVm9pY2VEYXRhOwotIAotIHR5cGVkZWYgc3RydWN0IHZv Y19leHRfYmxvY2sgewotLQl1X3Nob3J0IHRjOwotLQl1X2NoYXIgcGFjazsKLS0JdV9jaGFyIG1v ZGU7Ci0rCXVuc2lnbmVkIHNob3J0IHRjOwotKwl1bnNpZ25lZCBjaGFyIHBhY2s7Ci0rCXVuc2ln bmVkIGNoYXIgbW9kZTsKLSB9IFZvY0V4dEJsb2NrOwotIAotIC8qIERlZmluaXRpb25zIGZvciBN aWNyb3NvZnQgV0FWRSBmb3JtYXQgKi8KLUBAIC04NSwzMiArODUsMzIgQEAgdHlwZWRlZiBzdHJ1 Y3Qgdm9jX2V4dF9ibG9jayB7Ci0gICAgaXQgd29ya3Mgb24gYWxsIFdBVkUtZmlsZSBJIGhhdmUK LSAgKi8KLSB0eXBlZGVmIHN0cnVjdCB7Ci0tCXVfaW50IG1hZ2ljOwkJLyogJ1JJRkYnICovCi0t CXVfaW50IGxlbmd0aDsJCS8qIGZpbGVsZW4gKi8KLS0JdV9pbnQgdHlwZTsJCS8qICdXQVZFJyAq LwotKwl1bnNpZ25lZCBpbnQgbWFnaWM7CQkvKiAnUklGRicgKi8KLSsJdW5zaWduZWQgaW50IGxl bmd0aDsJCS8qIGZpbGVsZW4gKi8KLSsJdW5zaWduZWQgaW50IHR5cGU7CQkvKiAnV0FWRScgKi8K LSB9IFdhdmVIZWFkZXI7Ci0gCi0gdHlwZWRlZiBzdHJ1Y3QgewotLQl1X3Nob3J0IGZvcm1hdDsJ CS8qIHNlZSBXQVZfRk1UXyogKi8KLS0JdV9zaG9ydCBjaGFubmVsczsKLS0JdV9pbnQgc2FtcGxl X2ZxOwkvKiBmcmVxdWVuY2Ugb2Ygc2FtcGxlICovCi0tCXVfaW50IGJ5dGVfcF9zZWM7Ci0tCXVf c2hvcnQgYnl0ZV9wX3NwbDsJLyogc2FtcGxlc2l6ZTsgMSBvciAyIGJ5dGVzICovCi0tCXVfc2hv cnQgYml0X3Bfc3BsOwkvKiA4LCAxMiBvciAxNiBiaXQgKi8KLSsJdW5zaWduZWQgc2hvcnQgZm9y bWF0OwkJLyogc2VlIFdBVl9GTVRfKiAqLwotKwl1bnNpZ25lZCBzaG9ydCBjaGFubmVsczsKLSsJ dW5zaWduZWQgaW50IHNhbXBsZV9mcTsJLyogZnJlcXVlbmNlIG9mIHNhbXBsZSAqLwotKwl1bnNp Z25lZCBpbnQgYnl0ZV9wX3NlYzsKLSsJdW5zaWduZWQgc2hvcnQgYnl0ZV9wX3NwbDsJLyogc2Ft cGxlc2l6ZTsgMSBvciAyIGJ5dGVzICovCi0rCXVuc2lnbmVkIHNob3J0IGJpdF9wX3NwbDsJLyog OCwgMTIgb3IgMTYgYml0ICovCi0gfSBXYXZlRm10Qm9keTsKLSAKLSB0eXBlZGVmIHN0cnVjdCB7 Ci0gCVdhdmVGbXRCb2R5IGZvcm1hdDsKLS0JdV9zaG9ydCBleHRfc2l6ZTsKLS0JdV9zaG9ydCBi aXRfcF9zcGw7Ci0tCXVfaW50IGNoYW5uZWxfbWFzazsKLS0JdV9zaG9ydCBndWlkX2Zvcm1hdDsJ LyogV0FWX0ZNVF8qICovCi0tCXVfY2hhciBndWlkX3RhZ1sxNF07CS8qIFdBVl9HVUlEX1RBRyAq LwotKwl1bnNpZ25lZCBzaG9ydCBleHRfc2l6ZTsKLSsJdW5zaWduZWQgc2hvcnQgYml0X3Bfc3Bs OwotKwl1bnNpZ25lZCBpbnQgY2hhbm5lbF9tYXNrOwotKwl1bnNpZ25lZCBzaG9ydCBndWlkX2Zv cm1hdDsJLyogV0FWX0ZNVF8qICovCi0rCXVuc2lnbmVkIGNoYXIgZ3VpZF90YWdbMTRdOwkvKiBX QVZfR1VJRF9UQUcgKi8KLSB9IFdhdmVGbXRFeHRlbnNpYmxlQm9keTsKLSAKLSB0eXBlZGVmIHN0 cnVjdCB7Ci0tCXVfaW50IHR5cGU7CQkvKiAnZGF0YScgKi8KLS0JdV9pbnQgbGVuZ3RoOwkJLyog c2FtcGxlY291bnQgKi8KLSsJdW5zaWduZWQgaW50IHR5cGU7CQkvKiAnZGF0YScgKi8KLSsJdW5z aWduZWQgaW50IGxlbmd0aDsJCS8qIHNhbXBsZWNvdW50ICovCi0gfSBXYXZlQ2h1bmtIZWFkZXI7 Ci0gCi0gLyogRGVmaW5pdGlvbnMgZm9yIFNwYXJjIC5hdSBoZWFkZXIgKi8KLUBAIC0xMjIsMTIg KzEyMiwxMiBAQCB0eXBlZGVmIHN0cnVjdCB7Ci0gI2RlZmluZSBBVV9GTVRfTElOMTYJCTMKLSAK LSB0eXBlZGVmIHN0cnVjdCBhdV9oZWFkZXIgewotLQl1X2ludCBtYWdpYzsJCS8qICcuc25kJyAq LwotLQl1X2ludCBoZHJfc2l6ZTsJCS8qIHNpemUgb2YgaGVhZGVyIChtaW4gMjQpICovCi0tCXVf aW50IGRhdGFfc2l6ZTsJLyogc2l6ZSBvZiBkYXRhICovCi0tCXVfaW50IGVuY29kaW5nOwkJLyog c2VlIHRvIEFVX0ZNVF9YWFhYICovCi0tCXVfaW50IHNhbXBsZV9yYXRlOwkvKiBzYW1wbGUgcmF0 ZSAqLwotLQl1X2ludCBjaGFubmVsczsJCS8qIG51bWJlciBvZiBjaGFubmVscyAodm9pY2VzKSAq LwotKwl1bnNpZ25lZCBpbnQgbWFnaWM7CQkvKiAnLnNuZCcgKi8KLSsJdW5zaWduZWQgaW50IGhk cl9zaXplOwkJLyogc2l6ZSBvZiBoZWFkZXIgKG1pbiAyNCkgKi8KLSsJdW5zaWduZWQgaW50IGRh dGFfc2l6ZTsJLyogc2l6ZSBvZiBkYXRhICovCi0rCXVuc2lnbmVkIGludCBlbmNvZGluZzsJCS8q IHNlZSB0byBBVV9GTVRfWFhYWCAqLwotKwl1bnNpZ25lZCBpbnQgc2FtcGxlX3JhdGU7CS8qIHNh bXBsZSByYXRlICovCi0rCXVuc2lnbmVkIGludCBjaGFubmVsczsJCS8qIG51bWJlciBvZiBjaGFu bmVscyAodm9pY2VzKSAqLwotIH0gQXVIZWFkZXI7Ci0gCi0gI2VuZGlmCQkJCS8qIEZPUk1BVFMg Ki8KLQotZGlmZiAtLWdpdCBhL25obHQvbmhsdC1kbWljLWluZm8uYyBiL25obHQvbmhsdC1kbWlj LWluZm8uYwotaW5kZXggM2Y2YzY0ZDkuLmYxYjA4NTc0IDEwMDY0NAotLS0tIGEvbmhsdC9uaGx0 LWRtaWMtaW5mby5jCi0rKysgYi9uaGx0L25obHQtZG1pYy1pbmZvLmMKLUBAIC00NSw3ICs0NSw3 IEBAIGludCBkZWJ1ZyA9IDA7Ci0gI2RlZmluZSBOSExUX0VQX0hEUl9TSVpFICg0ICsgMSArIDEg KyAyICsgMiArIDIgKyA0ICsgMSArIDEgKyAxKQotICNkZWZpbmUgVkVORE9SX01JQ19DRkdfU0la RSAoMSArIDEgKyAyICsgMiArIDIgKyAxICsgMSArIDIgKyAyICsgMiArIDIgKyAyICsgMikKLSAK LS1zdGF0aWMgY29uc3QgY2hhciAqbWljcm9waG9uZV90eXBlKHVfaW50OF90IHR5cGUpCi0rc3Rh dGljIGNvbnN0IGNoYXIgKm1pY3JvcGhvbmVfdHlwZSh1aW50OF90IHR5cGUpCi0gewotIAlzd2l0 Y2ggKHR5cGUpIHsKLSAJY2FzZSAwOiByZXR1cm4gIm9tbmlkaXJlY3Rpb25hbCI7Ci1AQCAtNTks NyArNTksNyBAQCBzdGF0aWMgY29uc3QgY2hhciAqbWljcm9waG9uZV90eXBlKHVfaW50OF90IHR5 cGUpCi0gCXJldHVybiAidW5rbm93biI7Ci0gfQotIAotLXN0YXRpYyBjb25zdCBjaGFyICptaWNy b3Bob25lX2xvY2F0aW9uKHVfaW50OF90IGxvY2F0aW9uKQotK3N0YXRpYyBjb25zdCBjaGFyICpt aWNyb3Bob25lX2xvY2F0aW9uKHVpbnQ4X3QgbG9jYXRpb24pCi0gewotIAlzd2l0Y2ggKGxvY2F0 aW9uKSB7Ci0gCWNhc2UgMDogcmV0dXJuICJsYXB0b3AtdG9wLXBhbmVsIjsKLUBAIC03MywyMSAr NzMsMjEgQEAgc3RhdGljIGNvbnN0IGNoYXIgKm1pY3JvcGhvbmVfbG9jYXRpb24odV9pbnQ4X3Qg bG9jYXRpb24pCi0gfQotIAotIAotLXN0YXRpYyBpbmxpbmUgdV9pbnQ4X3QgZ2V0X3U4KHVfaW50 OF90ICpiYXNlLCB1X2ludDMyX3Qgb2ZmKQotK3N0YXRpYyBpbmxpbmUgdWludDhfdCBnZXRfdTgo dWludDhfdCAqYmFzZSwgdWludDMyX3Qgb2ZmKQotIHsKLSAJcmV0dXJuICooYmFzZSArIG9mZik7 Ci0gfQotIAotLXN0YXRpYyBpbmxpbmUgaW50MzJfdCBnZXRfczE2bGUodV9pbnQ4X3QgKmJhc2Us IHVfaW50MzJfdCBvZmYpCi0rc3RhdGljIGlubGluZSBpbnQzMl90IGdldF9zMTZsZSh1aW50OF90 ICpiYXNlLCB1aW50MzJfdCBvZmYpCi0gewotLQl1X2ludDMyX3QgdiA9ICAqKGJhc2UgKyBvZmYg KyAwKSB8Ci0rCXVpbnQzMl90IHYgPSAgKihiYXNlICsgb2ZmICsgMCkgfAotIAkJICAgICAgKCoo YmFzZSArIG9mZiArIDEpIDw8IDgpOwotIAlpZiAodiAmIDB4ODAwMCkKLSAJCXJldHVybiAtKChp bnQzMl90KTB4MTAwMDAgLSAoaW50MzJfdCl2KTsKLSAJcmV0dXJuIHY7Ci0gfQotIAotLXN0YXRp YyBpbmxpbmUgdV9pbnQzMl90IGdldF91MzJsZSh1X2ludDhfdCAqYmFzZSwgdV9pbnQzMl90IG9m ZikKLStzdGF0aWMgaW5saW5lIHVpbnQzMl90IGdldF91MzJsZSh1aW50OF90ICpiYXNlLCB1aW50 MzJfdCBvZmYpCi0gewotIAlyZXR1cm4gICAqKGJhc2UgKyBvZmYgKyAwKSB8Ci0gCQkoKihiYXNl ICsgb2ZmICsgMSkgPDwgOCkgfAotQEAgLTEzNywxMCArMTM3LDEwIEBAIHN0YXRpYyBpbnQgbmhs dF9kbWljX2NvbmZpZyhGSUxFICpvdXQsIHVpbnQ4X3QgKmRtaWMsIHVpbnQ4X3QgbWljKQotIAly ZXR1cm4gMDsKLSB9Ci0gCi0tc3RhdGljIGludCBuaGx0X2RtaWNfZXBfdG9fanNvbihGSUxFICpv dXQsIHVpbnQ4X3QgKmVwLCB1X2ludDMyX3QgZXBfc2l6ZSkKLStzdGF0aWMgaW50IG5obHRfZG1p Y19lcF90b19qc29uKEZJTEUgKm91dCwgdWludDhfdCAqZXAsIHVpbnQzMl90IGVwX3NpemUpCi0g ewotLQl1X2ludDMyX3Qgb2ZmLCBzcGVjaWZpY19jZmdfc2l6ZTsKLS0JdV9pbnQ4X3QgY29uZmln X3R5cGUsIGFycmF5X3R5cGUsIG1pYywgbnVtX21pY3M7Ci0rCXVpbnQzMl90IG9mZiwgc3BlY2lm aWNfY2ZnX3NpemU7Ci0rCXVpbnQ4X3QgY29uZmlnX3R5cGUsIGFycmF5X3R5cGUsIG1pYywgbnVt X21pY3M7Ci0gCWludCByZXM7Ci0gCi0gCW9mZiA9IE5ITFRfRVBfSERSX1NJWkU7Ci1AQCAtMTgx LDE1ICsxODEsMTUgQEAgc3RhdGljIGludCBuaGx0X2RtaWNfZXBfdG9fanNvbihGSUxFICpvdXQs IHVpbnQ4X3QgKmVwLCB1X2ludDMyX3QgZXBfc2l6ZSkKLSAJcmV0dXJuIC1FSU5WQUw7Ci0gfQot IAotLXN0YXRpYyBpbnQgbmhsdF90YWJsZV90b19qc29uKEZJTEUgKm91dCwgdV9pbnQ4X3QgKm5o bHQsIHVfaW50MzJfdCBzaXplKQotK3N0YXRpYyBpbnQgbmhsdF90YWJsZV90b19qc29uKEZJTEUg Km91dCwgdWludDhfdCAqbmhsdCwgdWludDMyX3Qgc2l6ZSkKLSB7Ci0tCXVfaW50MzJfdCBfc2l6 ZSwgb2ZmLCBlcF9zaXplOwotLQl1X2ludDhfdCBzdW0gPSAwLCBlcCwgZXBfY291bnQsIGxpbmtf dHlwZSwgZG1pY3MgPSAwOwotKwl1aW50MzJfdCBfc2l6ZSwgb2ZmLCBlcF9zaXplOwotKwl1aW50 OF90IHN1bSA9IDAsIGVwLCBlcF9jb3VudCwgbGlua190eXBlLCBkbWljcyA9IDA7Ci0gCWludCBy ZXM7Ci0gCi0gCV9zaXplID0gZ2V0X3UzMmxlKG5obHQsIDQpOwotIAlpZiAoX3NpemUgIT0gc2l6 ZSkgewotLQkJZnByaW50ZihzdGRlcnIsICJUYWJsZSBzaXplIG1pc21hdGNoICglMDh4ICE9ICUw OHgpXG4iLCBfc2l6ZSwgKHVfaW50MzJfdClzaXplKTsKLSsJCWZwcmludGYoc3RkZXJyLCAiVGFi bGUgc2l6ZSBtaXNtYXRjaCAoJTA4eCAhPSAlMDh4KVxuIiwgX3NpemUsICh1aW50MzJfdClzaXpl KTsKLSAJCXJldHVybiAtRUlOVkFMOwotIAl9Ci0gCWZvciAob2ZmID0gMDsgb2ZmIDwgc2l6ZTsg b2ZmKyspCi1AQCAtMjMxLDcgKzIzMSw3IEBAIHN0YXRpYyBpbnQgbmhsdF90YWJsZV90b19qc29u KEZJTEUgKm91dCwgdV9pbnQ4X3QgKm5obHQsIHVfaW50MzJfdCBzaXplKQotIHN0YXRpYyBpbnQg bmhsdF90b19qc29uKEZJTEUgKm91dCwgY29uc3QgY2hhciAqbmhsdF9maWxlKQotIHsKLSAJc3Ry dWN0IHN0YXQgc3Q7Ci0tCXVfaW50OF90ICpidWY7Ci0rCXVpbnQ4X3QgKmJ1ZjsKLSAJaW50IF9l cnJubywgZmQsIHJlczsKLSAJc2l6ZV90IHBvcywgc2l6ZTsKLSAJc3NpemVfdCByZXQ7Ci1kaWZm IC0tZ2l0IGEvdG9wb2xvZ3kvdG9wb2xvZ3kuYyBiL3RvcG9sb2d5L3RvcG9sb2d5LmMKLWluZGV4 IDE4NDBmZmU2Li45OGIwMDBhYSAxMDA2NDQKLS0tLSBhL3RvcG9sb2d5L3RvcG9sb2d5LmMKLSsr KyBiL3RvcG9sb2d5L3RvcG9sb2d5LmMKLUBAIC0zNiw2ICszNiw5IEBACi0gI2luY2x1ZGUgPGFs c2EvYXNvdW5kbGliLmg+Ci0gI2luY2x1ZGUgPGFsc2EvdG9wb2xvZ3kuaD4KLSAjaW5jbHVkZSAi Z2V0dGV4dC5oIgotKyNpZmRlZiBFTkFCTEVfTkxTCi0rI2luY2x1ZGUgPGxvY2FsZS5oPgotKyNl bmRpZgotICNpbmNsdWRlICJ2ZXJzaW9uLmgiCi0gI2luY2x1ZGUgInRvcG9sb2d5LmgiCi0gCmRp ZmYgLS1naXQgYS9zcmNwa2dzL2Fsc2EtdXRpbHMvdGVtcGxhdGUgYi9zcmNwa2dzL2Fsc2EtdXRp bHMvdGVtcGxhdGUKaW5kZXggMTIwNmMyZTFiMjMyNDguLjM0MzFiZDUwOGJmMjU2IDEwMDY0NAot LS0gYS9zcmNwa2dzL2Fsc2EtdXRpbHMvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9hbHNhLXV0aWxz L3RlbXBsYXRlCkBAIC0xLDYgKzEsNiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnYWxzYS11dGls cycKIHBrZ25hbWU9YWxzYS11dGlscwotdmVyc2lvbj0xLjIuMTAKK3ZlcnNpb249MS4yLjExCiBy ZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBjb25maWd1cmVfYXJncz0iLS13 aXRoLXVkZXYtcnVsZXMtZGlyPS91c3IvbGliL3VkZXYvcnVsZXMuZCAtLWRpc2FibGUtYWxzYWNv bmYKQEAgLTE0LDcgKzE0LDcgQEAgbWFpbnRhaW5lcj0iY2luZXJlYTAgPGNpbmVyZWEwQHByb3Rv bm1haWwuY29tPiIKIGxpY2Vuc2U9IkdQTC0yLjAtb25seSIKIGhvbWVwYWdlPSJodHRwOi8vd3d3 LmFsc2EtcHJvamVjdC5vcmciCiBkaXN0ZmlsZXM9Imh0dHBzOi8vd3d3LmFsc2EtcHJvamVjdC5v cmcvZmlsZXMvcHViL3V0aWxzL2Fsc2EtdXRpbHMtJHt2ZXJzaW9ufS50YXIuYnoyIgotY2hlY2tz dW09MTA0YjYyZWM3ZjAyYTdjZTE2Y2E3NzlmNDgxNTYxNmRmMWNjMjE5MzM1MDM3ODNhOTEwN2I1 OTQ0ZjgzMDYzYQorY2hlY2tzdW09OWFjNmNhM2E4ODNmMTUxZTU2OGRjZjk3OWI4ZDJlNWNiZWNj NTFiODE5YmIwZTZiYjhhMmU5YjM0Y2M0MjhhNwogCiBwb3N0X2luc3RhbGwoKSB7CiAJIyBJbnN0 YWxsIHJlcXVpcmVkIHVkZXYgcnVsZXMgZmlsZS4KCkZyb20gZmExY2EwNzc0Njc0YWQ2ZTFmNTYw NTNmYmNkNmIzZTI0OWFhNTA4ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogY2luZXJl YTAgPGNpbmVyZWEwQGRpc3Jvb3Qub3JnPgpEYXRlOiBXZWQsIDE0IEZlYiAyMDI0IDE3OjE2OjE4 IC0wNTAwClN1YmplY3Q6IFtQQVRDSCAzLzRdIGFsc2EtdG9vbHM6IHVwZGF0ZSB0byAxLjIuMTEK Ci0tLQogc3JjcGtncy9hbHNhLXRvb2xzL3RlbXBsYXRlIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdl ZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv YWxzYS10b29scy90ZW1wbGF0ZSBiL3NyY3BrZ3MvYWxzYS10b29scy90ZW1wbGF0ZQppbmRleCBj MTZmYWZhZDU3MjExMS4uZWMwMWZiNDM5ODYyZDAgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvYWxzYS10 b29scy90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2Fsc2EtdG9vbHMvdGVtcGxhdGUKQEAgLTEsNiAr MSw2IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdhbHNhLXRvb2xzJwogcGtnbmFtZT1hbHNhLXRv b2xzCi12ZXJzaW9uPTEuMi41Cit2ZXJzaW9uPTEuMi4xMQogcmV2aXNpb249MQogaG9zdG1ha2Vk ZXBlbmRzPSJwa2ctY29uZmlnIgogbWFrZWRlcGVuZHM9ImZsdGstZGV2ZWwgZ3RrKy1kZXZlbCBn dGsrMy1kZXZlbCIKQEAgLTEwLDcgKzEwLDcgQEAgbWFpbnRhaW5lcj0iT3JwaGFuZWQgPG9ycGhh bkB2b2lkbGludXgub3JnPiIKIGxpY2Vuc2U9IkdQTC0yLjAtb25seSIKIGhvbWVwYWdlPSJodHRw Oi8vYWxzYS1wcm9qZWN0Lm9yZyIKIGRpc3RmaWxlcz0iaHR0cHM6Ly93d3cuYWxzYS1wcm9qZWN0 Lm9yZy9maWxlcy9wdWIvdG9vbHMvYWxzYS10b29scy0ke3ZlcnNpb259LnRhci5iejIiCi1jaGVj a3N1bT0zNWE3MTAyN2EwMWY0ZDdkZTQ3MjJlMjIzNTIwZTk0MGRlNjhiM2M1NzBiNmM2NzE2OTE1 NjdhZTI4Zjk4OTNlCitjaGVja3N1bT0wOTE1Yzk2MzRhNTAyZmQzNjU1Y2E5YzU3NGQyNTliYzll Nzk5ODNkOTFkNDVhZWFjZmY2ZjNjMDBmOGFlM2U5CiBweXRob25fdmVyc2lvbj0zCiAKIF90b29s cz0iCgpGcm9tIDk4YmIxNmUyNWVkMDliMGQ2YWQ3ZjZmNjEyNDc5ZjNmYWJiNmQ1YjggTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206IGNpbmVyZWEwIDxjaW5lcmVhMEBkaXNyb290Lm9yZz4K RGF0ZTogV2VkLCAxNCBGZWIgMjAyNCAxNzoxNjozMCAtMDUwMApTdWJqZWN0OiBbUEFUQ0ggNC80 XSBhbHNhLXVjbS1jb25mOiB1cGRhdGUgdG8gMS4yLjExCgotLS0KIHNyY3BrZ3MvYWxzYS11Y20t Y29uZi90ZW1wbGF0ZSB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwg MiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Fsc2EtdWNtLWNvbmYvdGVtcGxh dGUgYi9zcmNwa2dzL2Fsc2EtdWNtLWNvbmYvdGVtcGxhdGUKaW5kZXggZDAyZjIyODg5NWVmNjku LjBiOGZkODFhZTQ3MDU3IDEwMDY0NAotLS0gYS9zcmNwa2dzL2Fsc2EtdWNtLWNvbmYvdGVtcGxh dGUKKysrIGIvc3JjcGtncy9hbHNhLXVjbS1jb25mL3RlbXBsYXRlCkBAIC0xLDEzICsxLDEzIEBA CiAjIFRlbXBsYXRlIGZpbGUgZm9yICdhbHNhLXVjbS1jb25mJwogcGtnbmFtZT1hbHNhLXVjbS1j b25mCi12ZXJzaW9uPTEuMi4xMAordmVyc2lvbj0xLjIuMTEKIHJldmlzaW9uPTEKIHNob3J0X2Rl c2M9IkFMU0EgVXNlIENhc2UgTWFuYWdlciB0b3BvbG9neSBjb25maWd1cmF0aW9ucyIKIG1haW50 YWluZXI9ImNpbmVyZWEwIDxjaW5lcmVhMEBwcm90b25tYWlsLmNvbT4iCiBsaWNlbnNlPSJCU0Qt My1DbGF1c2UiCiBob21lcGFnZT0iaHR0cHM6Ly9naXRodWIuY29tL2Fsc2EtcHJvamVjdC9hbHNh LXVjbS1jb25mIgogZGlzdGZpbGVzPSJodHRwczovL2dpdGh1Yi5jb20vYWxzYS1wcm9qZWN0L2Fs c2EtdWNtLWNvbmYvYXJjaGl2ZS9yZWZzL3RhZ3MvdiR7dmVyc2lvbn0udGFyLmd6IgotY2hlY2tz dW09MDBlNjdjMzFiNjA0OTQ2NjVmNDVjZTU3Y2E5ZDJjNDI0MjFjNDBmYmUwMTQwYjVhNTY0ODI5 MTIzOGU2MzUwOAorY2hlY2tzdW09NjdmOTZlMjE3N2ZlMGNlOWU5MGU3NTczNGNmZmM4MDVhMzc1 Yjk4OGU3N2M3NjE1ODc5ZGZiMzVkZDQwMzFkNQogCiBkb19pbnN0YWxsKCkgewogCXZkb2MgdWNt Mi9SRUFETUUubWQK --===============7350120053787498371==--