From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 25 00:55:01 2020 Received: (at 40709) by debbugs.gnu.org; 25 Apr 2020 04:55:01 +0000 Received: from localhost ([127.0.0.1]:58352 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jSCqC-0006Gw-68 for submit@debbugs.gnu.org; Sat, 25 Apr 2020 00:55:01 -0400 Received: from mx.kolabnow.com ([95.128.36.42]:17668) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jSCq9-0006Gd-47 for 40709@debbugs.gnu.org; Sat, 25 Apr 2020 00:54:58 -0400 Received: from localhost (unknown [127.0.0.1]) by ext-mx-out002.mykolab.com (Postfix) with ESMTP id C8FBEBB8 for <40709@debbugs.gnu.org>; Sat, 25 Apr 2020 06:54:50 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kolabnow.com; h= mime-version:content-type:content-type:date:date:from:from :subject:subject:message-id:received:received:received; s= dkim20160331; t=1587790489; x=1589604890; bh=FHI288RAQar41fjaiQY IELjdDGEfN+lCpB/eWWYHNig=; b=VDUpLabT6KQg03+3+tw4Jufx5c26gjIXVLP 21GdJLJY+bsCNm5dxDlPi3zno6AhkOayLll1XcwzwqTs7yyrdFAIuD36NdabPqjO JtTJZhpwR8iJdhR63HlhtAA0za7URYZ/GF4Z+xwqjcPedcScUpYjP3RFOMwglbie 9eBPS3P2Ks+wRe/k4iMzpvy0fuHeqZrydYjUKexsXryTZmwMdSZBogWXsnt2KWEo NKXb9EREs53nivAhv8UKI+iDYV583jxyp+nX1/OxFUfO6I0p70q2JvFQHsSZmdjC kWIhMRzE6AaZXyjUd6A6NKu5aOmPn+BzPWdAgkuVb2GTgnT3BBCTFXdz8N8YYqZ+ /pLfy1Lwm5j77OaLHR3PNlIzNZgHu4d7LGuAWfHaSjePgyHwW2gP5qFe5OBY4EBW v8L3VSYJS4V0z8/6gbZW+Elef+tV04sr6Q3x5rgw2XcgDFygnPgAMgDOgCWe51AA Wcsl29+EybXw9P/ujeAzcUaAqzhFitgvaRXDg88JxFxuBBTi8PgevjyEGBu5m1+/ 8Mkf2idNU4SM6MSVoSrqU7ljlRPb+bkUYUEseSJFvWaP0yB9ppqmdR5LxDlXe7gB 6NkuqBX0bzIbJRIChrR+ihUK9m6OR0NHlW21o+LFUxnDad3ZjBux1JflMwfRVSA9 ZMCyNeBs= X-Virus-Scanned: amavisd-new at mykolab.com X-Spam-Flag: NO X-Spam-Score: -1.899 X-Spam-Level: X-Spam-Status: No, score=-1.899 tagged_above=-10 required=5 tests=[BAYES_00=-1.9, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Received: from mx.kolabnow.com ([127.0.0.1]) by localhost (ext-mx-out002.mykolab.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id kuHNrN3ynoVn for <40709@debbugs.gnu.org>; Sat, 25 Apr 2020 06:54:49 +0200 (CEST) Received: from int-mx003.mykolab.com (unknown [10.9.13.3]) by ext-mx-out002.mykolab.com (Postfix) with ESMTPS id EF74C45E for <40709@debbugs.gnu.org>; Sat, 25 Apr 2020 06:54:48 +0200 (CEST) Received: from ext-subm002.mykolab.com (unknown [10.9.6.2]) by int-mx003.mykolab.com (Postfix) with ESMTPS id A4A6DB55 for <40709@debbugs.gnu.org>; Sat, 25 Apr 2020 06:54:48 +0200 (CEST) Message-ID: <8dad393915008d9ac66d9f0e36dc5e2b3c22e125.camel@librehacker.com> Subject: [patch] gnu: add tiemu From: Christopher Howard To: 40709@debbugs.gnu.org Date: Fri, 24 Apr 2020 20:54:44 -0800 Content-Type: multipart/mixed; boundary="=-0YGr2ecAUHgb0/OyGrtf" MIME-Version: 1.0 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 40709 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-0YGr2ecAUHgb0/OyGrtf Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Attached is another patch to add tiemu package definition. Note that there is a significant bug included: the pedrom files included with tiemu mysteriously cannot be loaded in tiemu itself, which is quickly noticed because one of the main menu options is to load these files. However, I know tiemu itself is working because I was able to load pre-built pedrom images from the original pedrom package. I could maybe work on fixing that problem someday, though I don't know if Guix likes the idea of having any pre-built images in a package, even though the source is included with them. Maybe those could just be removed some day along with the menu option to load them. In any case, we could not include pedrom images from the original packages as those are built with one non-free component, a standard library which I think has some kind of modification restriction. -- Christopher Howard p: +1 (907) 374-0257 w: https://librehacker.com social: https://gnusocial.club/librehacker gpg: ADDEAADE5D607C8D (keys.gnupg.net) --=-0YGr2ecAUHgb0/OyGrtf Content-Description: Content-Disposition: attachment; filename="0002-gnu-add-tiemu.patch" Content-Type: text/x-patch; name="0002-gnu-add-tiemu.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSBkODEyODAxMjRmN2FlOGQ3MDMwNDhiY2YwMDFkMWMzYmE4YzU2NDlmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpc3RvcGhlciBIb3dhcmQgPGNocmlzdG9waGVyQGxpYnJl aGFja2VyLmNvbT4KRGF0ZTogRnJpLCAyNCBBcHIgMjAyMCAyMDozNDowNyAtMDgwMApTdWJqZWN0 OiBbUEFUQ0hdIGdudTogYWRkIHRpZW11CgppbmNsdWRlcyBwYXRjaCBmb3IKLSB1cGRhdGluZyBj b2RlIHRvIG5ld2VyIGdsaWIvZ3RrKwotIGZpeGVzIGNvbmZsaWN0IHdpdGggbmV3ZXIgc3RhbmRh cmQgbGlicmFyeQotLS0KIGdudS9wYWNrYWdlcy9lbXVsYXRvcnMuc2NtICAgICAgICAgICAgICAg ICAgIHwgIDQ2ICsrCiBnbnUvcGFja2FnZXMvcGF0Y2hlcy90aWVtdS1idWlsZC1maXhlcy5wYXRj aCB8IDUxNSArKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDU2MSBpbnNlcnRp b25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ251L3BhY2thZ2VzL3BhdGNoZXMvdGllbXUtYnVp bGQtZml4ZXMucGF0Y2gKCmRpZmYgLS1naXQgYS9nbnUvcGFja2FnZXMvZW11bGF0b3JzLnNjbSBi L2dudS9wYWNrYWdlcy9lbXVsYXRvcnMuc2NtCmluZGV4IDJjNzA3YjcxMDUuLmQyYTc3Y2E0Mzgg MTAwNjQ0Ci0tLSBhL2dudS9wYWNrYWdlcy9lbXVsYXRvcnMuc2NtCisrKyBiL2dudS9wYWNrYWdl cy9lbXVsYXRvcnMuc2NtCkBAIC00Niw2ICs0Niw3IEBACiAgICM6dXNlLW1vZHVsZSAoZ251IHBh Y2thZ2VzIGJhc2UpCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGJvb3N0KQogICAjOnVz ZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBiYWNrdXApCisgICM6dXNlLW1vZHVsZSAoZ251IHBhY2th Z2VzIGNvbW1lbmNlbWVudCkKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgY2Ryb20pCiAg ICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGNvbXByZXNzaW9uKQogICAjOnVzZS1tb2R1bGUg KGdudSBwYWNrYWdlcyBjdXJsKQpAQCAtNTksNiArNjAsNyBAQAogICAjOnVzZS1tb2R1bGUgKGdu dSBwYWNrYWdlcyBnbCkKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgZ2xpYikKICAgIzp1 c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgZ3RrKQorICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdl cyBnbm9tZSkKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgaW1hZ2UpCiAgICM6dXNlLW1v ZHVsZSAoZ251IHBhY2thZ2VzIGltYWdlbWFnaWNrKQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNr YWdlcyBsaWJlZGl0KQpAQCAtMTc4NywzICsxNzg5LDQ3IEBAIEEgcGFydCBvZiB0aGUgVGlMUCBw cm9qZWN0IikKIHVzZSB3aXRoIGFsbCBUSSBncmFwaGluZyBjYWxjdWxhdG9ycyAoVEk3MyB0byBW MjAwUExUKS4iKQogICAgIChob21lLXBhZ2UgImh0dHA6Ly9scGcudGljYWxjLm9yZy9wcmpfdGls cC8iKQogICAgIChsaWNlbnNlIGxpY2Vuc2U6Z3BsMispKSkKKworKGRlZmluZS1wdWJsaWMgdGll bXUKKyAgKHBhY2thZ2UKKyAgICAobmFtZSAidGllbXUiKQorICAgICh2ZXJzaW9uICIzLjAzIikK KyAgICAoc291cmNlIChvcmlnaW4KKyAgICAgICAgICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpCisg ICAgICAgICAgICAgICh1cmkgImh0dHBzOi8vd3d3LnRpY2FsYy5vcmcvcHViL3VuaXgvdGllbXUu dGFyLmd6IikKKyAgICAgICAgICAgICAgKHNoYTI1NgorICAgICAgICAgICAgICAgKGJhc2UzMgor ICAgICAgICAgICAgICAgICIxNG01cDFhbmk3cHoyM3o3N2gyaGlibDM4c3owaTVkcHl3ZGhrYnI4 djJpNzg4NDg3bGxqIikpCisgICAgICAgICAgICAgIChwYXRjaGVzCisgICAgICAgICAgICAgICAo c2VhcmNoLXBhdGNoZXMgInRpZW11LWJ1aWxkLWZpeGVzLnBhdGNoIikpKSkKKyAgICAoYnVpbGQt c3lzdGVtIGdudS1idWlsZC1zeXN0ZW0pCisgICAgKGFyZ3VtZW50cworICAgICBgKCM6Y29uZmln dXJlLWZsYWdzIChsaXN0ICItLXdpdGhvdXQta2RlIiAiLS13aXRoLWdudS1sZCIgIi0tZGlzYWJs ZS1nZGIiKQorICAgICAgICM6dGVzdHM/ICNmKSkKKyAgICAobmF0aXZlLWlucHV0cworICAgICBg KCgiYXV0b2NvbmYiICxhdXRvY29uZikKKyAgICAgICAoImF1dG9tYWtlIiAsYXV0b21ha2UpCisg ICAgICAgKCJnY2MtdG9vbGNoYWluIiAsZ2NjLXRvb2xjaGFpbikKKyAgICAgICAoImdldHRleHQi ICxnbnUtZ2V0dGV4dCkKKyAgICAgICAoImxpYnRvb2wiICxsaWJ0b29sKQorICAgICAgICgicGtn LWNvbmZpZyIgLHBrZy1jb25maWcpKSkKKyAgICAoaW5wdXRzCisgICAgIGAoKCJnbGliIiAsZ2xp YikKKyAgICAgICAoImd0aystMiIgLGd0aystMikKKyAgICAgICAoImxpYmFyY2hpdmUiLCBsaWJh cmNoaXZlKQorICAgICAgICgibGliZ2xhZGUiLCBsaWJnbGFkZSkKKyAgICAgICAoImxpYnRpY2Fi bGVzMiIgLGxpYnRpY2FibGVzMikKKyAgICAgICAoImxpYnRpY2FsY3MyIiAsbGlidGljYWxjczIp CisgICAgICAgKCJsaWJ0aWNvbnYiICxsaWJ0aWNvbnYpCisgICAgICAgKCJsaWJ0aWZpbGVzMiIg LGxpYnRpZmlsZXMyKQorICAgICAgICgic2RsIiAsc2RsKQorICAgICAgICgieG9yZ3Byb3RvIiAs eG9yZ3Byb3RvKQorICAgICAgICgieG9yZy1zZXJ2ZXIiICx4b3JnLXNlcnZlcikpKQorICAgIChz eW5vcHNpcyAiRnVsbC1mZWF0dXJlZCBUSTg5L1RpdGFuaXVtLzkyLzkyKy9WMjAwIG11bHRpLXBs YXRmb3JtCitlbXVsYXRvciIpCisgICAgKGRlc2NyaXB0aW9uCisgICAgICJUaUVtdSBpcyBhIGZ1 bGwtZmVhdHVyZWQgVEk4OSAvVGl0YW5pdW0vOTIvOTIrL1YyMDAgbXVsdGktcGxhdGZvcm0KK2Vt dWxhdG9yIHdpdGggYW4gaHRtbCBtYW51YWwuICBJdCBvZmZlcnM6IHBvcHVwIG1lbnUsIHNjcmVl bnNob3RzLCBBU00vQworZGVidWdnZXIsIGxpbmsgcG9ydCwgc2F2aW5nIHN0YXRlIGFuZCBzb21l IG90aGVyIHN0dWZmcy4iKQorICAgIChob21lLXBhZ2UgImh0dHA6Ly9scGcudGljYWxjLm9yZy9w cmpfdGllbXUvIikKKyAgICAobGljZW5zZSBsaWNlbnNlOmdwbDIrKSkpCmRpZmYgLS1naXQgYS9n bnUvcGFja2FnZXMvcGF0Y2hlcy90aWVtdS1idWlsZC1maXhlcy5wYXRjaCBiL2dudS9wYWNrYWdl cy9wYXRjaGVzL3RpZW11LWJ1aWxkLWZpeGVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAuLjEwOTE3ZDFjMzUKLS0tIC9kZXYvbnVsbAorKysgYi9nbnUvcGFja2Fn ZXMvcGF0Y2hlcy90aWVtdS1idWlsZC1maXhlcy5wYXRjaApAQCAtMCwwICsxLDUxNSBAQAorZGlm ZiAtdSAtciBhL3NyYy9jb3JlL3VhZS9NYWtlZmlsZSBiL3NyYy9jb3JlL3VhZS9NYWtlZmlsZQor LS0tIGEvc3JjL2NvcmUvdWFlL01ha2VmaWxlCTIwMDYtMDEtMDYgMTQ6MzA6MDQuMDAwMDAwMDAw IC0wOTAwCisrKysgYi9zcmMvY29yZS91YWUvTWFrZWZpbGUJMjAyMC0wNC0yMiAyMDozNzoxOS40 MjA3MDkzMTQgLTA4MDAKK0BAIC0yOSwxMSArMjksMTEgQEAKKyAjIEJ1aWxkIGdlbmVyYXRvcnMg YW5kIGZpbGVzIHRvIGdlbmVyYXRlCisgYnVpbGQ2OGs6IGJ1aWxkNjhrX2hvc3QubworIAlAZWNo byAiLT4gQ29tcGlsaW5nIDY4ayBidWlsZGVyLi4uIgorLQlDX0lOQ0xVREVfUEFUSD0iIiBMSUJS QVJZX1BBVEg9IiIgZ2NjICQoTERGTEFHUykgLW8gJEAgJD8KKysJQ19JTkNMVURFX1BBVEg9IiIg Z2NjICQoTERGTEFHUykgLW8gJEAgJD8KKyAKKyBnZW5jcHU6IGdlbmNwdV9ob3N0Lm8gcmVhZGNw dV9ob3N0Lm8gY3B1ZGVmc19ob3N0Lm8gbWlzc2luZ19ob3N0Lm8geG1hbGxvY19ob3N0Lm8KKyAJ QGVjaG8gIi0+IENvbXBpbGluZyBDUFUgZ2VuZXJhdG9yLi4uIgorLQlDX0lOQ0xVREVfUEFUSD0i IiBMSUJSQVJZX1BBVEg9IiIgZ2NjICQoTERGTEFHUykgLW8gJEAgZ2VuY3B1X2hvc3QubyByZWFk Y3B1X2hvc3QubyBjcHVkZWZzX2hvc3QubyBtaXNzaW5nX2hvc3QubyB4bWFsbG9jX2hvc3Qubwor KwlDX0lOQ0xVREVfUEFUSD0iIiBnY2MgJChMREZMQUdTKSAtbyAkQCBnZW5jcHVfaG9zdC5vIHJl YWRjcHVfaG9zdC5vIGNwdWRlZnNfaG9zdC5vIG1pc3NpbmdfaG9zdC5vIHhtYWxsb2NfaG9zdC5v CisgCisgY3B1ZGVmcy5jOiBidWlsZDY4ayB0YWJsZTY4aworIAlAZWNobyAiLT4gQnVpbGRpbmcg Q1BVIGRlZmluaXRpb25zLi4uIgorZGlmZiAtdSAtciBhL3NyYy9jb3JlL3VhZS9zeXNkZXBzLmgg Yi9zcmMvY29yZS91YWUvc3lzZGVwcy5oCistLS0gYS9zcmMvY29yZS91YWUvc3lzZGVwcy5oCTIw MDctMDYtMjMgMjE6MDU6MDUuMDAwMDAwMDAwIC0wODAwCisrKysgYi9zcmMvY29yZS91YWUvc3lz ZGVwcy5oCTIwMjAtMDQtMjIgMjE6MTg6MjkuODYwNzExMjI0IC0wODAwCitAQCAtMTM4LDExICsx MzgsMTEgQEAKKyAjZGVmaW5lIEVOVU1OQU1FKG5hbWUpIG5hbWUKKyAKKyAvKiBXaGlsZSB3ZSdy ZSBoZXJlLCBtYWtlIGFib3J0IG1vcmUgdXNlZnVsLiAgKi8KKy0jZGVmaW5lIGFib3J0KCkgXAor LSAgZG8geyBcCistICAgIGZwcmludGYgKHN0ZGVyciwgIlVBRTogSW50ZXJuYWwgZXJyb3I7IGZp bGUgJXMsIGxpbmUgJWRcbiIsIF9fRklMRV9fLCBfX0xJTkVfXyk7IFwKKy0gICAgKGFib3J0KSAo KTsgXAorLX0gd2hpbGUgKDApCisrLyogI2RlZmluZSBhYm9ydCgpIFwgKi8KKysvKiAgIGRvIHsg XCAqLworKy8qICAgICBmcHJpbnRmIChzdGRlcnIsICJVQUU6IEludGVybmFsIGVycm9yOyBmaWxl ICVzLCBsaW5lICVkXG4iLCBfX0ZJTEVfXywgX19MSU5FX18pOyBcICovCisrLyogICAgIChhYm9y dCkgKCk7IFwgKi8KKysvKiB9IHdoaWxlICgwKSAqLworICNlbHNlCisgI2RlZmluZSBFTlVNREVD TCBlbnVtCisgI2RlZmluZSBFTlVNTkFNRShuYW1lKSA7IHR5cGVkZWYgaW50IG5hbWUKK2RpZmYg LXUgLXIgYS9zcmMvZ3VpL2NhbGMvY2FsYy5jIGIvc3JjL2d1aS9jYWxjL2NhbGMuYworLS0tIGEv c3JjL2d1aS9jYWxjL2NhbGMuYwkyMDA3LTEyLTE2IDA2OjI5OjE2LjAwMDAwMDAwMCAtMDkwMAor KysrIGIvc3JjL2d1aS9jYWxjL2NhbGMuYwkyMDIwLTA0LTIzIDA0OjU4OjEzLjk5MjczMjU1MCAt MDgwMAorQEAgLTMxMyw3ICszMTMsNyBAQAorIHsKKyAgICAgZ2RrX2RyYXdfcGl4bWFwKAorICAg ICAgICAgd2lkZ2V0LT53aW5kb3csCistCQl3aWRnZXQtPnN0eWxlLT5mZ19nY1tHVEtfV0lER0VU X1NUQVRFICh3aWRnZXQpXSwKKysJCXdpZGdldC0+c3R5bGUtPmZnX2djW2d0a193aWRnZXRfZ2V0 X3N0YXRlICh3aWRnZXQpXSwKKyAJCXBpeG1hcCwKKyAJCWV2ZW50LT5hcmVhLngsIGV2ZW50LT5h cmVhLnksCisgCQlldmVudC0+YXJlYS54LCBldmVudC0+YXJlYS55LAorQEAgLTQ2NSw3ICs0NjUs NyBAQAorIGV4dGVybiB2b2xhdGlsZSBpbnQgbGNkX2ZsYWc7CisgZXh0ZXJuIHZvbGF0aWxlIGlu dCBkZWJ1Z2dlcjsKKyAKKy1zdGF0aWMgZ2ludCBoaWRfcmVmcmVzaCAoZ3BvaW50ZXIgZGF0YSkK KytzdGF0aWMgZ2Jvb2xlYW4gaGlkX3JlZnJlc2ggKGdwb2ludGVyIGRhdGEpCisgeworICAgICBp ZihsY2RfZmxhZyB8fCAodGlody5od190eXBlID49IEhXMikpCisgICAgIHsKK0BAIC01ODYsNyAr NTg2LDcgQEAKKyAKKyAgICAgLy8gSW5zdGFsbCBMQ0QgcmVmcmVzaDogMTAwIEZQUyAoMTAgbXMp CisgICAgIHRpZCA9IGdfdGltZW91dF9hZGQoKHBhcmFtcy5sY2RfcmF0ZSA9PSAtMSkgPyA1MCA6 IHBhcmFtcy5sY2RfcmF0ZSwgCistCQkoR3RrRnVuY3Rpb24paGlkX3JlZnJlc2gsIE5VTEwpOwor KwkJKEdTb3VyY2VGdW5jKWhpZF9yZWZyZXNoLCBOVUxMKTsKKyAKKyAJZXhwbGljaXRfZGVzdHJv eSA9IDA7CisgCWd0a193aWRnZXRfc2hvdyhtYWluX3duZCk7CS8vIHNob3cgd25kIGhlcmUKK0BA IC02NDAsNyArNjQwLDcgQEAKKyAJZ19zb3VyY2VfcmVtb3ZlKHRpZCk7CisgCisgCXRpZCA9IGdf dGltZW91dF9hZGQoKHBhcmFtcy5sY2RfcmF0ZSA9PSAtMSkgPyA1MCA6IHBhcmFtcy5sY2RfcmF0 ZSwgCistCQkoR3RrRnVuY3Rpb24paGlkX3JlZnJlc2gsIE5VTEwpOworKwkJKEdTb3VyY2VGdW5j KWhpZF9yZWZyZXNoLCBOVUxMKTsKKyB9CisgCisgaW50IGhpZF9zd2l0Y2hfd2l0aF9za2luKHZv aWQpCitkaWZmIC11IC1yIGEvc3JjL2d1aS9jYWxjL3NjcmVlbi5jIGIvc3JjL2d1aS9jYWxjL3Nj cmVlbi5jCistLS0gYS9zcmMvZ3VpL2NhbGMvc2NyZWVuLmMJMjAwNi0xMS0wNiAwODoxODo1MS4w MDAwMDAwMDAgLTA5MDAKKysrKyBiL3NyYy9ndWkvY2FsYy9zY3JlZW4uYwkyMDIwLTA0LTIzIDA0 OjU4OjEzLjk5MjczMjU1MCAtMDgwMAorQEAgLTE4Nyw3ICsxODcsNyBAQAorIAlza2luX2luZm9z LmltYWdlID0gZ2RrX3BpeGJ1Zl9zY2FsZV9zaW1wbGUoc2tpbl9pbmZvcy5yYXcsIHdyLndyLncs IHdyLndyLmgsIEdES19JTlRFUlBfTkVBUkVTVCk7CisgCisgCS8vIGFuZCBkcmF3IGltYWdlIGlu dG8gcGl4bWFwIChuZXh0LCBpbnRvIHdpbmRvdyBvbiBleHBvc2UgZXZlbnQpCistICAgIGdka19k cmF3X3BpeGJ1ZihwaXhtYXAsIG1haW5fd25kLT5zdHlsZS0+ZmdfZ2NbR1RLX1dJREdFVF9TVEFU RShtYWluX3duZCldLAorKyAgICBnZGtfZHJhd19waXhidWYocGl4bWFwLCBtYWluX3duZC0+c3R5 bGUtPmZnX2djW2d0a193aWRnZXRfZ2V0X3N0YXRlKG1haW5fd25kKV0sCisgCQkgIHNraW5faW5m b3MuaW1hZ2UsIDAsIDAsIDAsIDAsIC0xLCAtMSwgR0RLX1JHQl9ESVRIRVJfTk9ORSwgMCwgMCk7 CisgCWdka193aW5kb3dfaW52YWxpZGF0ZV9yZWN0KG1haW5fd25kLT53aW5kb3csICZ3ci5nciwg RkFMU0UpOworIH0KK0BAIC0yMDQsNyArMjA0LDcgQEAKKyAJCWdka19waXhidWZfc2NhbGVfc2lt cGxlKHNraW5faW5mb3MucmF3LCBzci53LCBzci5oLCBHREtfSU5URVJQX05FQVJFU1QpOworIAor IAkvLyBhbmQgZHJhdworLQlnZGtfZHJhd19waXhidWYocGl4bWFwLCBtYWluX3duZC0+c3R5bGUt PmZnX2djW0dUS19XSURHRVRfU1RBVEUobWFpbl93bmQpXSwKKysJZ2RrX2RyYXdfcGl4YnVmKHBp eG1hcCwgbWFpbl93bmQtPnN0eWxlLT5mZ19nY1tndGtfd2lkZ2V0X2dldF9zdGF0ZShtYWluX3du ZCldLAorIAkJICBza2luX2luZm9zLmltYWdlLCBscy54LCBscy55LCBsci54LCBsci55LCBsci53 LCBsci5oLCBHREtfUkdCX0RJVEhFUl9OT05FLCAwLCAwKTsKKyAJZ3RrX3dpZGdldF9xdWV1ZV9k cmF3X2FyZWEoYXJlYSwgbHIueCwgbHIueSwgbHIudywgbHIuaCk7CisgfQorQEAgLTMyNCw3ICsz MjQsNyBAQAorIAkJCXNraW5faW5mb3MuaW1hZ2UgPSBnZGtfcGl4YnVmX3NjYWxlX3NpbXBsZShs Y2QsIGxyLncsIGxyLmgsIEdES19JTlRFUlBfTkVBUkVTVCk7CisgCisgCQkJLy8gYW5kIGRyYXcg aW1hZ2UgaW50byBwaXhtYXAgKG5leHQsIGludG8gd2luZG93IG9uIGV4cG9zZSBldmVudCkKKy0J CQlnZGtfZHJhd19waXhidWYocGl4bWFwLCBtYWluX3duZC0+c3R5bGUtPmZnX2djW0dUS19XSURH RVRfU1RBVEUobWFpbl93bmQpXSwKKysJCQlnZGtfZHJhd19waXhidWYocGl4bWFwLCBtYWluX3du ZC0+c3R5bGUtPmZnX2djW2d0a193aWRnZXRfZ2V0X3N0YXRlKG1haW5fd25kKV0sCisgCQkJIHNr aW5faW5mb3MuaW1hZ2UsIHNyYy54LCBzcmMueSwgbHIueCwgbHIueSwgc3JjLncsIHNyYy5oLAor IAkJCSAgR0RLX1JHQl9ESVRIRVJfTk9ORSwgMCwgMCk7CisgCQkJZ3RrX3dpZGdldF9xdWV1ZV9k cmF3X2FyZWEoYXJlYSwgbHIueCwgbHIueSwgc3JjLncsIHNyYy5oKTsKK0BAIC0zMzIsNyArMzMy LDcgQEAKKyAJCWVsc2UKKyAJCXsKKyAJCQkvLyBhbmQgZHJhdyBpbWFnZSBpbnRvIHBpeG1hcCAo bmV4dCwgaW50byB3aW5kb3cgb24gZXhwb3NlIGV2ZW50KQorLQkJCWdka19kcmF3X3BpeGJ1Zihw aXhtYXAsIG1haW5fd25kLT5zdHlsZS0+ZmdfZ2NbR1RLX1dJREdFVF9TVEFURShtYWluX3duZCld LAorKwkJCWdka19kcmF3X3BpeGJ1ZihwaXhtYXAsIG1haW5fd25kLT5zdHlsZS0+ZmdfZ2NbZ3Rr X3dpZGdldF9nZXRfc3RhdGUobWFpbl93bmQpXSwKKyAJCQkgIGxjZF9tZW0sIHNyYy54LCBzcmMu eSwgbHIueCwgbHIueSwgc3JjLncsIHNyYy5oLAorIAkJCSAgR0RLX1JHQl9ESVRIRVJfTk9ORSwg MCwgMCk7CisgCQkJZ3RrX3dpZGdldF9xdWV1ZV9kcmF3X2FyZWEoYXJlYSwgbHIueCwgbHIueSwg c3JjLncsIHNyYy5oKTsKK2RpZmYgLXUgLXIgYS9zcmMvZ3VpL2RlYnVnZ2VyL2RiZ19hbGwuYyBi L3NyYy9ndWkvZGVidWdnZXIvZGJnX2FsbC5jCistLS0gYS9zcmMvZ3VpL2RlYnVnZ2VyL2RiZ19h bGwuYwkyMDA5LTA1LTA4IDAyOjU2OjQwLjAwMDAwMDAwMCAtMDgwMAorKysrIGIvc3JjL2d1aS9k ZWJ1Z2dlci9kYmdfYWxsLmMJMjAyMC0wNC0yMyAwNDo1ODoxMy45OTY3MzI1NTAgLTA4MDAKK0BA IC05MCwyMSArOTAsMjEgQEAKKyB7CQorIAlXTkRfVE1SX1NUQVJUKCk7CisgCistCWlmKG9wdGlv bnMzLmRiZ19kb2NrIHx8IEdUS19XSURHRVRfVklTSUJMRShkYmd3LnJlZ3MpKQorKwlpZihvcHRp b25zMy5kYmdfZG9jayB8fCBndGtfd2lkZ2V0X2dldF92aXNpYmxlKGRiZ3cucmVncykpCisgCQlk YmdyZWdzX3JlZnJlc2hfd2luZG93KCk7CistCWlmKG9wdGlvbnMzLmRiZ19kb2NrIHx8IEdUS19X SURHRVRfVklTSUJMRShkYmd3Lm1lbSkpCisrCWlmKG9wdGlvbnMzLmRiZ19kb2NrIHx8IGd0a193 aWRnZXRfZ2V0X3Zpc2libGUoZGJndy5tZW0pKQorIAkJZGJnbWVtX3JlZnJlc2hfd2luZG93KCk7 CistCWlmKG9wdGlvbnMzLmRiZ19kb2NrIHx8IEdUS19XSURHRVRfVklTSUJMRShkYmd3LmJrcHRz KSkKKysJaWYob3B0aW9uczMuZGJnX2RvY2sgfHwgZ3RrX3dpZGdldF9nZXRfdmlzaWJsZShkYmd3 LmJrcHRzKSkKKyAJCWRiZ2JrcHRzX3JlZnJlc2hfd2luZG93KCk7CistCWlmKG9wdGlvbnMzLmRi Z19kb2NrIHx8IEdUS19XSURHRVRfVklTSUJMRShkYmd3LnBjbG9nKSkKKysJaWYob3B0aW9uczMu ZGJnX2RvY2sgfHwgZ3RrX3dpZGdldF9nZXRfdmlzaWJsZShkYmd3LnBjbG9nKSkKKyAJCWRiZ3Bj bG9nX3JlZnJlc2hfd2luZG93KCk7CistCWlmKG9wdGlvbnMzLmRiZ19kb2NrIHx8IEdUS19XSURH RVRfVklTSUJMRShkYmd3LmNvZGUpKQorKwlpZihvcHRpb25zMy5kYmdfZG9jayB8fCBndGtfd2lk Z2V0X2dldF92aXNpYmxlKGRiZ3cuY29kZSkpCisgCQlkYmdjb2RlX3JlZnJlc2hfd2luZG93KCk7 CistICAgIGlmKG9wdGlvbnMzLmRiZ19kb2NrIHx8IEdUS19XSURHRVRfVklTSUJMRShkYmd3LnN0 YWNrKSkKKysgICAgaWYob3B0aW9uczMuZGJnX2RvY2sgfHwgZ3RrX3dpZGdldF9nZXRfdmlzaWJs ZShkYmd3LnN0YWNrKSkKKyAJCWRiZ3N0YWNrX3JlZnJlc2hfd2luZG93KCk7CistCWlmKG9wdGlv bnMzLmRiZ19kb2NrIHx8IEdUS19XSURHRVRfVklTSUJMRShkYmd3LmhlYXApKQorKwlpZihvcHRp b25zMy5kYmdfZG9jayB8fCBndGtfd2lkZ2V0X2dldF92aXNpYmxlKGRiZ3cuaGVhcCkpCisgCQlk YmdoZWFwX3JlZnJlc2hfd2luZG93KCk7CistCWlmKG9wdGlvbnMzLmRiZ19kb2NrIHx8IEdUS19X SURHRVRfVklTSUJMRShkYmd3LmlvcCkpCisrCWlmKG9wdGlvbnMzLmRiZ19kb2NrIHx8IGd0a193 aWRnZXRfZ2V0X3Zpc2libGUoZGJndy5pb3ApKQorIAkJZGJnaW9wX3JlZnJlc2hfd2luZG93KCk7 CisgCisgCVdORF9UTVJfU1RPUCgiRGVidWdnZXIgUmVmcmVzaCBUaW1lIik7CitAQCAtMTYzLDcg KzE2Myw3IEBACisgCWd0a19kZWJ1Z2dlcl9yZWZyZXNoKCk7CisgCisgCS8vIGVuYWJsZSB0aGUg ZGVidWdnZXIgaWYgR0RCIGRpc2FibGVkIGl0CistCWlmICghb3B0aW9uczMuZGJnX2RvY2sgJiYg IUdUS19XSURHRVRfU0VOU0lUSVZFKGRiZ3cucmVncykpCisrCWlmICghb3B0aW9uczMuZGJnX2Rv Y2sgJiYgIWd0a193aWRnZXRfZ2V0X3NlbnNpdGl2ZShkYmd3LnJlZ3MpKQorIAkJZ3RrX2RlYnVn Z2VyX2VuYWJsZSgpOworIAorIAkvLyBoYW5kbGUgYXV0b21hdGljIGRlYnVnZ2luZyByZXF1ZXN0 cworQEAgLTE4MCw3ICsxODAsNyBAQAorIAorIAkJCXRpNjhrX2JrcHRfZ2V0X3BnbWVudHJ5X29m ZnNldChpZCwgJmhhbmRsZSwgJm9mZnNldCk7CisgCQkJdGk2OGtfYmtwdF9kZWxfcGdtZW50cnko aGFuZGxlKTsKKy0JCQlpZihvcHRpb25zMy5kYmdfZG9jayB8fCBHVEtfV0lER0VUX1ZJU0lCTEUo ZGJndy5ia3B0cykpCisrCQkJaWYob3B0aW9uczMuZGJnX2RvY2sgfHwgZ3RrX3dpZGdldF9nZXRf dmlzaWJsZShkYmd3LmJrcHRzKSkKKyAJCQkJZGJnYmtwdHNfcmVmcmVzaF93aW5kb3coKTsKKyAK KyAJCQlkZWxldGVfY29tbWFuZChOVUxMLCAwKTsKK2RpZmYgLXUgLXIgYS9zcmMvZ3VpL2RlYnVn Z2VyL2RiZ19ia3B0cy5jIGIvc3JjL2d1aS9kZWJ1Z2dlci9kYmdfYmtwdHMuYworLS0tIGEvc3Jj L2d1aS9kZWJ1Z2dlci9kYmdfYmtwdHMuYwkyMDA5LTA1LTA2IDExOjQ4OjQ3LjAwMDAwMDAwMCAt MDgwMAorKysrIGIvc3JjL2d1aS9kZWJ1Z2dlci9kYmdfYmtwdHMuYwkyMDIwLTA0LTIzIDA0OjU4 OjEzLjk5MjczMjU1MCAtMDgwMAorQEAgLTM4OCw3ICszODgsNyBAQAorIAkJZ3RrX3dpbmRvd19p Y29uaWZ5KEdUS19XSU5ET1cod25kKSk7CisgI2VuZGlmCisgCistCWlmKCFHVEtfV0lER0VUX1ZJ U0lCTEUoZGJndy5ia3B0cykgJiYgIW9wdGlvbnMzLmJrcHRzLmNsb3NlZCkKKysJaWYoIWd0a193 aWRnZXRfZ2V0X3Zpc2libGUoZGJndy5ia3B0cykgJiYgIW9wdGlvbnMzLmJrcHRzLmNsb3NlZCkK KyAJCWd0a193aWRnZXRfc2hvdyh3bmQpOworIAorIAlyZXR1cm4gd25kOworZGlmZiAtdSAtciBh L3NyYy9ndWkvZGVidWdnZXIvZGJnX2NvZGUuYyBiL3NyYy9ndWkvZGVidWdnZXIvZGJnX2NvZGUu YworLS0tIGEvc3JjL2d1aS9kZWJ1Z2dlci9kYmdfY29kZS5jCTIwMDktMDUtMDYgMTE6NDg6NDcu MDAwMDAwMDAwIC0wODAwCisrKysgYi9zcmMvZ3VpL2RlYnVnZ2VyL2RiZ19jb2RlLmMJMjAyMC0w NC0yMyAwNDo1ODoxMy45OTI3MzI1NTAgLTA4MDAKK0BAIC0xMTE3LDcgKzExMTcsNyBAQAorIAor IGludCBkYmdjb2RlX3F1aXRfZW5hYmxlZCh2b2lkKQorIHsKKy0JcmV0dXJuIEdUS19XSURHRVRf U0VOU0lUSVZFKG1pLm04KTsKKysJcmV0dXJuIGd0a193aWRnZXRfZ2V0X3NlbnNpdGl2ZShtaS5t OCk7CisgfQorIAorIHN0YXRpYyBpbnQgY2xvc2VfZGVidWdnZXJfd3JhcHBlcihncG9pbnRlciBk YXRhKQorZGlmZiAtdSAtciBhL3NyYy9ndWkvZGVidWdnZXIvZGJnX2RvY2suYyBiL3NyYy9ndWkv ZGVidWdnZXIvZGJnX2RvY2suYworLS0tIGEvc3JjL2d1aS9kZWJ1Z2dlci9kYmdfZG9jay5jCTIw MDgtMDUtMjYgMDg6NDg6MzAuMDAwMDAwMDAwIC0wODAwCisrKysgYi9zcmMvZ3VpL2RlYnVnZ2Vy L2RiZ19kb2NrLmMJMjAyMC0wNC0yMyAwNDo1ODoxMy45OTI3MzI1NTAgLTA4MDAKK0BAIC0xNTEs MjIgKzE1MSwyMiBAQAorIA0KKyB2b2lkIGRiZ2RvY2tfc2hvd19hbGwoaW50IGFsbCkNCisgew0K Ky0JaWYoIUdUS19XSURHRVRfVklTSUJMRShkYmd3LmRvY2spICYmIGFsbCkNCisrCWlmKCFndGtf d2lkZ2V0X2dldF92aXNpYmxlKGRiZ3cuZG9jaykgJiYgYWxsKQ0KKyAgICAgICAgIGd0a193aWRn ZXRfc2hvdyhkYmd3LmRvY2spOw0KKyANCistCWlmKEdUS19XSURHRVRfVklTSUJMRShkYmd3Lmlv cCkpDQorKwlpZihndGtfd2lkZ2V0X2dldF92aXNpYmxlKGRiZ3cuaW9wKSkNCisgICAgICAgICBn dGtfd2luZG93X2ljb25pZnkoR1RLX1dJTkRPVyhkYmd3LmlvcCkpOw0KKy0JaWYoR1RLX1dJREdF VF9WSVNJQkxFKGRiZ3cucGNsb2cpKQ0KKysJaWYoZ3RrX3dpZGdldF9nZXRfdmlzaWJsZShkYmd3 LnBjbG9nKSkNCisgICAgICAgICBndGtfd2luZG93X2ljb25pZnkoR1RLX1dJTkRPVyhkYmd3LnBj bG9nKSk7DQorIH0NCisgDQorIHZvaWQgZGJnZG9ja19oaWRlX2FsbChpbnQgYWxsKQ0KKyB7DQor LQlpZihHVEtfV0lER0VUX1ZJU0lCTEUoZGJndy5kb2NrKSAmJiBhbGwpDQorKwlpZihndGtfd2lk Z2V0X2dldF92aXNpYmxlKGRiZ3cuZG9jaykgJiYgYWxsKQ0KKyAgICAgICAgIGd0a193aWRnZXRf aGlkZShkYmd3LmRvY2spOw0KKyANCistICAgIGlmKEdUS19XSURHRVRfVklTSUJMRShkYmd3LnBj bG9nKSkNCisrICAgIGlmKGd0a193aWRnZXRfZ2V0X3Zpc2libGUoZGJndy5wY2xvZykpDQorICAg ICAgICAgZ3RrX3dpZGdldF9oaWRlKGRiZ3cucGNsb2cpOw0KKy0JaWYoR1RLX1dJREdFVF9WSVNJ QkxFKGRiZ3cuaW9wKSkNCisrCWlmKGd0a193aWRnZXRfZ2V0X3Zpc2libGUoZGJndy5pb3ApKQ0K KyAgICAgICAgIGd0a193aWRnZXRfaGlkZShkYmd3LmlvcCk7DQorIH0NCitkaWZmIC11IC1yIGEv c3JjL2d1aS9kZWJ1Z2dlci9kYmdfaGVhcC5jIGIvc3JjL2d1aS9kZWJ1Z2dlci9kYmdfaGVhcC5j CistLS0gYS9zcmMvZ3VpL2RlYnVnZ2VyL2RiZ19oZWFwLmMJMjAwOS0wNS0wNiAxMTo0ODo0Ny4w MDAwMDAwMDAgLTA4MDAKKysrKyBiL3NyYy9ndWkvZGVidWdnZXIvZGJnX2hlYXAuYwkyMDIwLTA0 LTIzIDA0OjU4OjEzLjk5MjczMjU1MCAtMDgwMAorQEAgLTE3MSw3ICsxNzEsNyBAQAorIAkJZ3Rr X3dpbmRvd19pY29uaWZ5KEdUS19XSU5ET1coZGJndy5oZWFwKSk7CisgI2VuZGlmCisgCistCWlm KCFHVEtfV0lER0VUX1ZJU0lCTEUoZGJndy5oZWFwKSAmJiAhb3B0aW9uczMuaGVhcC5jbG9zZWQp CisrCWlmKCFndGtfd2lkZ2V0X2dldF92aXNpYmxlKGRiZ3cuaGVhcCkgJiYgIW9wdGlvbnMzLmhl YXAuY2xvc2VkKQorIAkJZ3RrX3dpZGdldF9zaG93KGRiZ3cuaGVhcCk7CisgCisgCXJldHVybiBk Ymd3LmhlYXA7CitkaWZmIC11IC1yIGEvc3JjL2d1aS9kZWJ1Z2dlci9kYmdfaW9wLmMgYi9zcmMv Z3VpL2RlYnVnZ2VyL2RiZ19pb3AuYworLS0tIGEvc3JjL2d1aS9kZWJ1Z2dlci9kYmdfaW9wLmMJ MjAwOS0wNS0wMiAxMTo0NjowNC4wMDAwMDAwMDAgLTA4MDAKKysrKyBiL3NyYy9ndWkvZGVidWdn ZXIvZGJnX2lvcC5jCTIwMjAtMDQtMjMgMDQ6NTg6MTMuOTk2NzMyNTUwIC0wODAwCitAQCAtNDU1 LDcgKzQ1NSw3IEBACisgCQlndGtfd2luZG93X2ljb25pZnkoR1RLX1dJTkRPVyhkYmd3LmlvcCkp OworICNlbmRpZgorICAgICAKKy0JaWYoIUdUS19XSURHRVRfVklTSUJMRShkYmd3LmlvcCkgJiYg IW9wdGlvbnMzLmlvcC5jbG9zZWQpCisrCWlmKCFndGtfd2lkZ2V0X2dldF92aXNpYmxlKGRiZ3cu aW9wKSAmJiAhb3B0aW9uczMuaW9wLmNsb3NlZCkKKyAJCWd0a193aWRnZXRfc2hvdyhkYmd3Lmlv cCk7CisgCisgCXJldHVybiBkYmd3LmlvcDsKK2RpZmYgLXUgLXIgYS9zcmMvZ3VpL2RlYnVnZ2Vy L2RiZ19tZW0uYyBiL3NyYy9ndWkvZGVidWdnZXIvZGJnX21lbS5jCistLS0gYS9zcmMvZ3VpL2Rl YnVnZ2VyL2RiZ19tZW0uYwkyMDA5LTA1LTA2IDExOjQ4OjQ3LjAwMDAwMDAwMCAtMDgwMAorKysr IGIvc3JjL2d1aS9kZWJ1Z2dlci9kYmdfbWVtLmMJMjAyMC0wNC0yMyAwNDo1ODoxMy45OTI3MzI1 NTAgLTA4MDAKK0BAIC00MzUsNyArNDM1LDcgQEAKKyAJCWd0a193aW5kb3dfaWNvbmlmeShHVEtf V0lORE9XKGRiZ3cubWVtKSk7CisgI2VuZGlmCisgCistCWlmKCFHVEtfV0lER0VUX1ZJU0lCTEUo ZGJndy5tZW0pICYmICFvcHRpb25zMy5tZW0uY2xvc2VkKQorKwlpZighZ3RrX3dpZGdldF9nZXRf dmlzaWJsZShkYmd3Lm1lbSkgJiYgIW9wdGlvbnMzLm1lbS5jbG9zZWQpCisgCQlndGtfd2lkZ2V0 X3Nob3coZGJndy5tZW0pOworIAorICAgICByZXR1cm4gZGJndy5tZW07CitAQCAtNjAzLDE0ICs2 MDMsMTQgQEAKKyAJZ3RrX3dpZGdldF9zaG93KG1lbnUpOworIH0KKyAKKy1HTEFERV9DQiB2b2lk Cistb25fbm90ZWJvb2sxX3N3aXRjaF9wYWdlICAgICAgICAgICAgICAgKEd0a05vdGVib29rICAg ICAqbm90ZWJvb2ssCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEd0 a05vdGVib29rUGFnZSAqcGFnZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZ3VpbnQgICAgICAgICAgICBwYWdlX251bSwKKy0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZ3BvaW50ZXIgICAgICAgICB1c2VyX2RhdGEpCisteworLQlyZWZy ZXNoX3BhZ2UocGFnZV9udW0sIDApOworLX0KKysvKiBHTEFERV9DQiB2b2lkICovCisrLyogb25f bm90ZWJvb2sxX3N3aXRjaF9wYWdlICAgICAgICAgICAgICAgKEd0a05vdGVib29rICAgICAqbm90 ZWJvb2ssICovCisrLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEd0 a05vdGVib29rUGFnZSAqcGFnZSwgKi8KKysvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZ3VpbnQgICAgICAgICAgICBwYWdlX251bSwgKi8KKysvKiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3BvaW50ZXIgICAgICAgICB1c2VyX2RhdGEp ICovCisrLyogeyAqLworKy8qIAlyZWZyZXNoX3BhZ2UocGFnZV9udW0sIDApOyAqLworKy8qIH0g Ki8KKyAKKyAvKioqKiogTWlzYyAqKioqKi8KKyAKK2RpZmYgLXUgLXIgYS9zcmMvZ3VpL2RlYnVn Z2VyL2RiZ19wY2xvZy5jIGIvc3JjL2d1aS9kZWJ1Z2dlci9kYmdfcGNsb2cuYworLS0tIGEvc3Jj L2d1aS9kZWJ1Z2dlci9kYmdfcGNsb2cuYwkyMDA5LTA1LTAyIDExOjQ2OjA0LjAwMDAwMDAwMCAt MDgwMAorKysrIGIvc3JjL2d1aS9kZWJ1Z2dlci9kYmdfcGNsb2cuYwkyMDIwLTA0LTIzIDA0OjU4 OjEzLjk5MjczMjU1MCAtMDgwMAorQEAgLTE2Myw3ICsxNjMsNyBAQAorIAkJZ3RrX3dpbmRvd19p Y29uaWZ5KEdUS19XSU5ET1coZGJndy5wY2xvZykpOworICNlbmRpZgorIAorLQlpZighR1RLX1dJ REdFVF9WSVNJQkxFKGRiZ3cucGNsb2cpICYmICFvcHRpb25zMy5wY2xvZy5jbG9zZWQpCisrCWlm KCFndGtfd2lkZ2V0X2dldF92aXNpYmxlKGRiZ3cucGNsb2cpICYmICFvcHRpb25zMy5wY2xvZy5j bG9zZWQpCisgCQlndGtfd2lkZ2V0X3Nob3coZGJndy5wY2xvZyk7CisgCisgCXJldHVybiBkYmd3 LnBjbG9nOworZGlmZiAtdSAtciBhL3NyYy9ndWkvZGVidWdnZXIvZGJnX3JlZ3MuYyBiL3NyYy9n dWkvZGVidWdnZXIvZGJnX3JlZ3MuYworLS0tIGEvc3JjL2d1aS9kZWJ1Z2dlci9kYmdfcmVncy5j CTIwMDktMDUtMDYgMTE6NDg6NDcuMDAwMDAwMDAwIC0wODAwCisrKysgYi9zcmMvZ3VpL2RlYnVn Z2VyL2RiZ19yZWdzLmMJMjAyMC0wNC0yMyAwNDo1ODoxMy45OTY3MzI1NTAgLTA4MDAKK0BAIC0z MDIsNyArMzAyLDcgQEAKKyAJCWd0a193aW5kb3dfaWNvbmlmeShHVEtfV0lORE9XKGRiZ3cucmVn cykpOworICNlbmRpZgorIAorLQlpZighR1RLX1dJREdFVF9WSVNJQkxFKGRiZ3cucmVncykgJiYg IW9wdGlvbnMzLnJlZ3MuY2xvc2VkKQorKwlpZighZ3RrX3dpZGdldF9nZXRfdmlzaWJsZShkYmd3 LnJlZ3MpICYmICFvcHRpb25zMy5yZWdzLmNsb3NlZCkKKyAJCWd0a193aWRnZXRfc2hvdyhkYmd3 LnJlZ3MpOworIAorIAlyZXR1cm4gZGJndy5yZWdzOworZGlmZiAtdSAtciBhL3NyYy9ndWkvZGVi dWdnZXIvZGJnX3JvbWNhbGwuYyBiL3NyYy9ndWkvZGVidWdnZXIvZGJnX3JvbWNhbGwuYworLS0t IGEvc3JjL2d1aS9kZWJ1Z2dlci9kYmdfcm9tY2FsbC5jCTIwMDctMDctMDUgMDM6MzY6MTAuMDAw MDAwMDAwIC0wODAwCisrKysgYi9zcmMvZ3VpL2RlYnVnZ2VyL2RiZ19yb21jYWxsLmMJMjAyMC0w NC0yMyAwNTowMjoyMi4wOTI3MzI3NDIgLTA4MDAKK0BAIC0xNjMsNyArMTYzLDcgQEAKKyAKKyAJ Ly8gYW5kIHNldCBzdG9yYWdlCisgCWd0a19jb21ib19ib3hfc2V0X21vZGVsKGNvbWJvLCBtb2Rl bCk7CistCWd0a19jb21ib19ib3hfZW50cnlfc2V0X3RleHRfY29sdW1uKEdUS19DT01CT19CT1hf RU5UUlkoY29tYm8pLCBDT0xfRlVMTCk7CisrCWd0a19jb21ib19ib3hfc2V0X2VudHJ5X3RleHRf Y29sdW1uKGNvbWJvLCBDT0xfRlVMTCk7CisgCisgCS8qIC0tLSAqLworIAorZGlmZiAtdSAtciBh L3NyYy9ndWkvZGVidWdnZXIvZGJnX3N0YWNrLmMgYi9zcmMvZ3VpL2RlYnVnZ2VyL2RiZ19zdGFj ay5jCistLS0gYS9zcmMvZ3VpL2RlYnVnZ2VyL2RiZ19zdGFjay5jCTIwMDktMDUtMDYgMTE6NDg6 NDcuMDAwMDAwMDAwIC0wODAwCisrKysgYi9zcmMvZ3VpL2RlYnVnZ2VyL2RiZ19zdGFjay5jCTIw MjAtMDQtMjMgMDQ6NTg6MTMuOTk2NzMyNTUwIC0wODAwCitAQCAtMTk3LDcgKzE5Nyw3IEBACisg CQlndGtfd2luZG93X2ljb25pZnkoR1RLX1dJTkRPVyhkYmd3LnN0YWNrKSk7CisgI2VuZGlmCisg CistCWlmKCFHVEtfV0lER0VUX1ZJU0lCTEUoZGJndy5zdGFjaykgJiYgIW9wdGlvbnMzLnN0YWNr LmNsb3NlZCkKKysJaWYoIWd0a193aWRnZXRfZ2V0X3Zpc2libGUoZGJndy5zdGFjaykgJiYgIW9w dGlvbnMzLnN0YWNrLmNsb3NlZCkKKyAJCWd0a193aWRnZXRfc2hvdyhkYmd3LnN0YWNrKTsKKyAK KyAJcmV0dXJuIGRiZ3cuc3RhY2s7CitkaWZmIC11IC1yIGEvc3JjL2d1aS9kZWJ1Z2dlci9kYmdf d25kcy5jIGIvc3JjL2d1aS9kZWJ1Z2dlci9kYmdfd25kcy5jCistLS0gYS9zcmMvZ3VpL2RlYnVn Z2VyL2RiZ193bmRzLmMJMjAwOS0wNS0wNiAyMzoxODowMi4wMDAwMDAwMDAgLTA4MDAKKysrKyBi L3NyYy9ndWkvZGVidWdnZXIvZGJnX3duZHMuYwkyMDIwLTA0LTIzIDA0OjU4OjEzLjk5MjczMjU1 MCAtMDgwMAorQEAgLTc0LDIxICs3NCwyMSBAQAorIAlpZihvcHRpb25zMy5kYmdfZG9jaykNCisg CQlyZXR1cm47DQorIA0KKy0gICAgaWYoR1RLX1dJREdFVF9WSVNJQkxFKGRiZ3cucmVncykpDQor KyAgICBpZihndGtfd2lkZ2V0X2dldF92aXNpYmxlKGRiZ3cucmVncykpDQorICAgICAgICAgZ3Rr X3dpbmRvd19pY29uaWZ5KEdUS19XSU5ET1coZGJndy5yZWdzKSk7DQorLSAgICBpZihHVEtfV0lE R0VUX1ZJU0lCTEUoZGJndy5ia3B0cykpDQorKyAgICBpZihndGtfd2lkZ2V0X2dldF92aXNpYmxl KGRiZ3cuYmtwdHMpKQ0KKyAgICAgICAgIGd0a193aW5kb3dfaWNvbmlmeShHVEtfV0lORE9XKGRi Z3cuYmtwdHMpKTsNCistICAgIGlmKEdUS19XSURHRVRfVklTSUJMRShkYmd3Lm1lbSkpDQorKyAg ICBpZihndGtfd2lkZ2V0X2dldF92aXNpYmxlKGRiZ3cubWVtKSkNCisgICAgICAgICBndGtfd2lu ZG93X2ljb25pZnkoR1RLX1dJTkRPVyhkYmd3Lm1lbSkpOw0KKy0gICAgaWYoR1RLX1dJREdFVF9W SVNJQkxFKGRiZ3cucGNsb2cpKQ0KKysgICAgaWYoZ3RrX3dpZGdldF9nZXRfdmlzaWJsZShkYmd3 LnBjbG9nKSkNCisgICAgICAgICBndGtfd2luZG93X2ljb25pZnkoR1RLX1dJTkRPVyhkYmd3LnBj bG9nKSk7DQorLSAgICBpZihHVEtfV0lER0VUX1ZJU0lCTEUoZGJndy5jb2RlKSAmIGFsbCkNCisr ICAgIGlmKGd0a193aWRnZXRfZ2V0X3Zpc2libGUoZGJndy5jb2RlKSAmIGFsbCkNCisgICAgICAg ICBndGtfd2luZG93X2ljb25pZnkoR1RLX1dJTkRPVyhkYmd3LmNvZGUpKTsNCistICAgIGlmKEdU S19XSURHRVRfVklTSUJMRShkYmd3LnN0YWNrKSkNCisrICAgIGlmKGd0a193aWRnZXRfZ2V0X3Zp c2libGUoZGJndy5zdGFjaykpDQorICAgICAgICAgZ3RrX3dpbmRvd19pY29uaWZ5KEdUS19XSU5E T1coZGJndy5zdGFjaykpOw0KKy0JaWYoR1RLX1dJREdFVF9WSVNJQkxFKGRiZ3cuaGVhcCkpDQor KwlpZihndGtfd2lkZ2V0X2dldF92aXNpYmxlKGRiZ3cuaGVhcCkpDQorICAgICAgICAgZ3RrX3dp bmRvd19pY29uaWZ5KEdUS19XSU5ET1coZGJndy5oZWFwKSk7DQorLQlpZihHVEtfV0lER0VUX1ZJ U0lCTEUoZGJndy5pb3ApKQ0KKysJaWYoZ3RrX3dpZGdldF9nZXRfdmlzaWJsZShkYmd3LmlvcCkp DQorICAgICAgICAgZ3RrX3dpbmRvd19pY29uaWZ5KEdUS19XSU5ET1coZGJndy5pb3ApKTsNCisg fQ0KKyANCitAQCAtOTgsMjEgKzk4LDIxIEBACisgCWlmKG9wdGlvbnMzLmRiZ19kb2NrKQ0KKyAJ CXJldHVybjsNCisgDQorLSAgICBpZihHVEtfV0lER0VUX1ZJU0lCTEUoZGJndy5yZWdzKSkNCisr ICAgIGlmKGd0a193aWRnZXRfZ2V0X3Zpc2libGUoZGJndy5yZWdzKSkNCisgICAgICAgICBndGtf d2luZG93X2RlaWNvbmlmeShHVEtfV0lORE9XKGRiZ3cucmVncykpOw0KKy0gICAgaWYoR1RLX1dJ REdFVF9WSVNJQkxFKGRiZ3cuYmtwdHMpKQ0KKysgICAgaWYoZ3RrX3dpZGdldF9nZXRfdmlzaWJs ZShkYmd3LmJrcHRzKSkNCisgICAgICAgICBndGtfd2luZG93X2RlaWNvbmlmeShHVEtfV0lORE9X KGRiZ3cuYmtwdHMpKTsNCistICAgIGlmKEdUS19XSURHRVRfVklTSUJMRShkYmd3Lm1lbSkpDQor KyAgICBpZihndGtfd2lkZ2V0X2dldF92aXNpYmxlKGRiZ3cubWVtKSkNCisgICAgICAgICBndGtf d2luZG93X2RlaWNvbmlmeShHVEtfV0lORE9XKGRiZ3cubWVtKSk7DQorLSAgICBpZihHVEtfV0lE R0VUX1ZJU0lCTEUoZGJndy5wY2xvZykpDQorKyAgICBpZihndGtfd2lkZ2V0X2dldF92aXNpYmxl KGRiZ3cucGNsb2cpKQ0KKyAgICAgICAgIGd0a193aW5kb3dfZGVpY29uaWZ5KEdUS19XSU5ET1co ZGJndy5wY2xvZykpOw0KKy0gICAgaWYoR1RLX1dJREdFVF9WSVNJQkxFKGRiZ3cuY29kZSkgJiBh bGwpDQorKyAgICBpZihndGtfd2lkZ2V0X2dldF92aXNpYmxlKGRiZ3cuY29kZSkgJiBhbGwpDQor ICAgICAgICAgZ3RrX3dpbmRvd19kZWljb25pZnkoR1RLX1dJTkRPVyhkYmd3LmNvZGUpKTsNCist ICAgIGlmKEdUS19XSURHRVRfVklTSUJMRShkYmd3LnN0YWNrKSkNCisrICAgIGlmKGd0a193aWRn ZXRfZ2V0X3Zpc2libGUoZGJndy5zdGFjaykpDQorICAgICAgICAgZ3RrX3dpbmRvd19kZWljb25p ZnkoR1RLX1dJTkRPVyhkYmd3LnN0YWNrKSk7DQorLQlpZihHVEtfV0lER0VUX1ZJU0lCTEUoZGJn dy5oZWFwKSkNCisrCWlmKGd0a193aWRnZXRfZ2V0X3Zpc2libGUoZGJndy5oZWFwKSkNCisgICAg ICAgICBndGtfd2luZG93X2RlaWNvbmlmeShHVEtfV0lORE9XKGRiZ3cuaGVhcCkpOw0KKy0JaWYo R1RLX1dJREdFVF9WSVNJQkxFKGRiZ3cuaW9wKSkNCisrCWlmKGd0a193aWRnZXRfZ2V0X3Zpc2li bGUoZGJndy5pb3ApKQ0KKyAgICAgICAgIGd0a193aW5kb3dfZGVpY29uaWZ5KEdUS19XSU5ET1co ZGJndy5pb3ApKTsNCisgfQ0KKyANCitAQCAtMTIyLDIxICsxMjIsMjEgQEAKKyAgICAgaWYob3B0 aW9uczMuZGJnX2RvY2spDQorIAkJcmV0dXJuOw0KKyANCistICAgIGlmKCFHVEtfV0lER0VUX1ZJ U0lCTEUoZGJndy5yZWdzKSkNCisrICAgIGlmKCFndGtfd2lkZ2V0X2dldF92aXNpYmxlKGRiZ3cu cmVncykpDQorICAgICAgICAgZ3RrX3dpZGdldF9zaG93KGRiZ3cucmVncyk7DQorLSAgICBpZigh R1RLX1dJREdFVF9WSVNJQkxFKGRiZ3cuYmtwdHMpKQ0KKysgICAgaWYoIWd0a193aWRnZXRfZ2V0 X3Zpc2libGUoZGJndy5ia3B0cykpDQorICAgICAgICAgZ3RrX3dpZGdldF9zaG93KGRiZ3cuYmtw dHMpOw0KKy0gICAgaWYoIUdUS19XSURHRVRfVklTSUJMRShkYmd3Lm1lbSkpDQorKyAgICBpZigh Z3RrX3dpZGdldF9nZXRfdmlzaWJsZShkYmd3Lm1lbSkpDQorICAgICAgICAgZ3RrX3dpZGdldF9z aG93KGRiZ3cubWVtKTsNCistICAgIGlmKCFHVEtfV0lER0VUX1ZJU0lCTEUoZGJndy5wY2xvZykp DQorKyAgICBpZighZ3RrX3dpZGdldF9nZXRfdmlzaWJsZShkYmd3LnBjbG9nKSkNCisgICAgICAg ICBndGtfd2lkZ2V0X3Nob3coZGJndy5wY2xvZyk7DQorLSAgICBpZighR1RLX1dJREdFVF9WSVNJ QkxFKGRiZ3cuY29kZSkgJiYgYWxsKQ0KKysgICAgaWYoIWd0a193aWRnZXRfZ2V0X3Zpc2libGUo ZGJndy5jb2RlKSAmJiBhbGwpDQorICAgICAgICAgZ3RrX3dpZGdldF9zaG93KGRiZ3cuY29kZSk7 DQorLSAgICBpZighR1RLX1dJREdFVF9WSVNJQkxFKGRiZ3cuc3RhY2spKQ0KKysgICAgaWYoIWd0 a193aWRnZXRfZ2V0X3Zpc2libGUoZGJndy5zdGFjaykpDQorICAgICAgICAgZ3RrX3dpZGdldF9z aG93KGRiZ3cuc3RhY2spOw0KKy0JaWYoIUdUS19XSURHRVRfVklTSUJMRShkYmd3LmhlYXApKQ0K KysJaWYoIWd0a193aWRnZXRfZ2V0X3Zpc2libGUoZGJndy5oZWFwKSkNCisgICAgICAgICBndGtf d2lkZ2V0X3Nob3coZGJndy5oZWFwKTsNCistCWlmKCFHVEtfV0lER0VUX1ZJU0lCTEUoZGJndy5p b3ApKQ0KKysJaWYoIWd0a193aWRnZXRfZ2V0X3Zpc2libGUoZGJndy5pb3ApKQ0KKyAgICAgICAg IGd0a193aWRnZXRfc2hvdyhkYmd3LmlvcCk7DQorIH0NCisgDQorQEAgLTE0NiwyMSArMTQ2LDIx IEBACisgICAgIGlmKG9wdGlvbnMzLmRiZ19kb2NrKQ0KKyAJCXJldHVybjsNCisgDQorLSAgICBp ZihHVEtfV0lER0VUX1ZJU0lCTEUoZGJndy5yZWdzKSkNCisrICAgIGlmKGd0a193aWRnZXRfZ2V0 X3Zpc2libGUoZGJndy5yZWdzKSkNCisgICAgICAgICBndGtfd2lkZ2V0X2hpZGUoZGJndy5yZWdz KTsNCistICAgIGlmKEdUS19XSURHRVRfVklTSUJMRShkYmd3LmJrcHRzKSkNCisrICAgIGlmKGd0 a193aWRnZXRfZ2V0X3Zpc2libGUoZGJndy5ia3B0cykpDQorICAgICAgICAgZ3RrX3dpZGdldF9o aWRlKGRiZ3cuYmtwdHMpOw0KKy0gICAgaWYoR1RLX1dJREdFVF9WSVNJQkxFKGRiZ3cubWVtKSkN CisrICAgIGlmKGd0a193aWRnZXRfZ2V0X3Zpc2libGUoZGJndy5tZW0pKQ0KKyAgICAgICAgIGd0 a193aWRnZXRfaGlkZShkYmd3Lm1lbSk7DQorLSAgICBpZihHVEtfV0lER0VUX1ZJU0lCTEUoZGJn dy5wY2xvZykpDQorKyAgICBpZihndGtfd2lkZ2V0X2dldF92aXNpYmxlKGRiZ3cucGNsb2cpKQ0K KyAgICAgICAgIGd0a193aWRnZXRfaGlkZShkYmd3LnBjbG9nKTsNCistICAgIGlmKEdUS19XSURH RVRfVklTSUJMRShkYmd3LmNvZGUpICYmIGFsbCkNCisrICAgIGlmKGd0a193aWRnZXRfZ2V0X3Zp c2libGUoZGJndy5jb2RlKSAmJiBhbGwpDQorICAgICAgICAgZ3RrX3dpZGdldF9oaWRlKGRiZ3cu Y29kZSk7DQorLSAgICBpZihHVEtfV0lER0VUX1ZJU0lCTEUoZGJndy5zdGFjaykpDQorKyAgICBp ZihndGtfd2lkZ2V0X2dldF92aXNpYmxlKGRiZ3cuc3RhY2spKQ0KKyAgICAgICAgIGd0a193aWRn ZXRfaGlkZShkYmd3LnN0YWNrKTsNCistCWlmKEdUS19XSURHRVRfVklTSUJMRShkYmd3LmhlYXAp KQ0KKysJaWYoZ3RrX3dpZGdldF9nZXRfdmlzaWJsZShkYmd3LmhlYXApKQ0KKyAgICAgICAgIGd0 a193aWRnZXRfaGlkZShkYmd3LmhlYXApOw0KKy0JaWYoR1RLX1dJREdFVF9WSVNJQkxFKGRiZ3cu aW9wKSkNCisrCWlmKGd0a193aWRnZXRfZ2V0X3Zpc2libGUoZGJndy5pb3ApKQ0KKyAgICAgICAg IGd0a193aWRnZXRfaGlkZShkYmd3LmlvcCk7DQorIH0NCisgDQorQEAgLTMzOCw3ICszMzgsNyBA QAorIAlpZighb3B0aW9uczMuZGJnX2RvY2spDQorIAl7DQorIAkJZ19zaWduYWxfaGFuZGxlcnNf YmxvY2tfYnlfZnVuYyhHVEtfT0JKRUNUKGl0ZW0pLCBvbl9yZWdpc3RlcnMxX2FjdGl2YXRlLCBO VUxMKTsNCistCQlndGtfY2hlY2tfbWVudV9pdGVtX3NldF9hY3RpdmUoaXRlbSwgR1RLX1dJREdF VF9WSVNJQkxFKGRiZ3cucmVncykpOw0KKysJCWd0a19jaGVja19tZW51X2l0ZW1fc2V0X2FjdGl2 ZShpdGVtLCBndGtfd2lkZ2V0X2dldF92aXNpYmxlKGRiZ3cucmVncykpOw0KKyAJCWdfc2lnbmFs X2hhbmRsZXJzX3VuYmxvY2tfYnlfZnVuYyhHVEtfT0JKRUNUKGl0ZW0pLCBvbl9yZWdpc3RlcnMx X2FjdGl2YXRlLCBOVUxMKTsNCisgCX0NCisgCWVsc2UNCitAQCAtMzUwLDcgKzM1MCw3IEBACisg CWlmKCFvcHRpb25zMy5kYmdfZG9jaykNCisgCXsNCisgCQlnX3NpZ25hbF9oYW5kbGVyc19ibG9j a19ieV9mdW5jKEdUS19PQkpFQ1QoaXRlbSksIG9uX2JyZWFrcG9pbnRzMV9hY3RpdmF0ZSwgTlVM TCk7DQorLQkJZ3RrX2NoZWNrX21lbnVfaXRlbV9zZXRfYWN0aXZlKGl0ZW0sIEdUS19XSURHRVRf VklTSUJMRShkYmd3LmJrcHRzKSk7DQorKwkJZ3RrX2NoZWNrX21lbnVfaXRlbV9zZXRfYWN0aXZl KGl0ZW0sIGd0a193aWRnZXRfZ2V0X3Zpc2libGUoZGJndy5ia3B0cykpOw0KKyAJCWdfc2lnbmFs X2hhbmRsZXJzX3VuYmxvY2tfYnlfZnVuYyhHVEtfT0JKRUNUKGl0ZW0pLCBvbl9icmVha3BvaW50 czFfYWN0aXZhdGUsIE5VTEwpOw0KKyAJfQ0KKyAJZWxzZQ0KK0BAIC0zNjIsNyArMzYyLDcgQEAK KyAJaWYoIW9wdGlvbnMzLmRiZ19kb2NrKQ0KKyAJew0KKyAJCWdfc2lnbmFsX2hhbmRsZXJzX2Js b2NrX2J5X2Z1bmMoR1RLX09CSkVDVChpdGVtKSwgb25fbWVtb3J5MV9hY3RpdmF0ZSwgTlVMTCk7 DQorLQkJZ3RrX2NoZWNrX21lbnVfaXRlbV9zZXRfYWN0aXZlKGl0ZW0sIEdUS19XSURHRVRfVklT SUJMRShkYmd3Lm1lbSkpOw0KKysJCWd0a19jaGVja19tZW51X2l0ZW1fc2V0X2FjdGl2ZShpdGVt LCBndGtfd2lkZ2V0X2dldF92aXNpYmxlKGRiZ3cubWVtKSk7DQorIAkJZ19zaWduYWxfaGFuZGxl cnNfdW5ibG9ja19ieV9mdW5jKEdUS19PQkpFQ1QoaXRlbSksIG9uX21lbW9yeTFfYWN0aXZhdGUs IE5VTEwpOw0KKyAJfQ0KKyAJZWxzZQ0KK0BAIC0zNzIsNyArMzcyLDcgQEAKKyAgICAgZWx0ID0g Z19saXN0X250aChsaXN0LCAzKTsNCisgICAgIGl0ZW0gPSBHVEtfQ0hFQ0tfTUVOVV9JVEVNKGVs dC0+ZGF0YSk7DQorICAgICBnX3NpZ25hbF9oYW5kbGVyc19ibG9ja19ieV9mdW5jKEdUS19PQkpF Q1QoaXRlbSksIG9uX3BjX2xvZzFfYWN0aXZhdGUsIE5VTEwpOw0KKy0gICAgZ3RrX2NoZWNrX21l bnVfaXRlbV9zZXRfYWN0aXZlKGl0ZW0sIEdUS19XSURHRVRfVklTSUJMRShkYmd3LnBjbG9nKSk7 DQorKyAgICBndGtfY2hlY2tfbWVudV9pdGVtX3NldF9hY3RpdmUoaXRlbSwgZ3RrX3dpZGdldF9n ZXRfdmlzaWJsZShkYmd3LnBjbG9nKSk7DQorICAgICBnX3NpZ25hbF9oYW5kbGVyc191bmJsb2Nr X2J5X2Z1bmMoR1RLX09CSkVDVChpdGVtKSwgb25fcGNfbG9nMV9hY3RpdmF0ZSwgTlVMTCk7DQor IA0KKyAgICAgLy8gc3RhY2sNCitAQCAtMzgxLDcgKzM4MSw3IEBACisgCWlmKCFvcHRpb25zMy5k YmdfZG9jaykNCisgCXsNCisgCQlnX3NpZ25hbF9oYW5kbGVyc19ibG9ja19ieV9mdW5jKEdUS19P QkpFQ1QoaXRlbSksIG9uX3N0YWNrX2ZyYW1lMV9hY3RpdmF0ZSwgTlVMTCk7DQorLQkJZ3RrX2No ZWNrX21lbnVfaXRlbV9zZXRfYWN0aXZlKGl0ZW0sIEdUS19XSURHRVRfVklTSUJMRShkYmd3LnN0 YWNrKSk7DQorKwkJZ3RrX2NoZWNrX21lbnVfaXRlbV9zZXRfYWN0aXZlKGl0ZW0sIGd0a193aWRn ZXRfZ2V0X3Zpc2libGUoZGJndy5zdGFjaykpOw0KKyAJCWdfc2lnbmFsX2hhbmRsZXJzX3VuYmxv Y2tfYnlfZnVuYyhHVEtfT0JKRUNUKGl0ZW0pLCBvbl9zdGFja19mcmFtZTFfYWN0aXZhdGUsIE5V TEwpOw0KKyAJfQ0KKyAJZWxzZQ0KK0BAIC0zOTMsNyArMzkzLDcgQEAKKyAJaWYoIW9wdGlvbnMz LmRiZ19kb2NrKQ0KKyAJew0KKyAJCWdfc2lnbmFsX2hhbmRsZXJzX2Jsb2NrX2J5X2Z1bmMoR1RL X09CSkVDVChpdGVtKSwgb25faGVhcF9mcmFtZTFfYWN0aXZhdGUsIE5VTEwpOw0KKy0JCWd0a19j aGVja19tZW51X2l0ZW1fc2V0X2FjdGl2ZShpdGVtLCBHVEtfV0lER0VUX1ZJU0lCTEUoZGJndy5o ZWFwKSk7DQorKwkJZ3RrX2NoZWNrX21lbnVfaXRlbV9zZXRfYWN0aXZlKGl0ZW0sIGd0a193aWRn ZXRfZ2V0X3Zpc2libGUoZGJndy5oZWFwKSk7DQorIAkJZ19zaWduYWxfaGFuZGxlcnNfdW5ibG9j a19ieV9mdW5jKEdUS19PQkpFQ1QoaXRlbSksIG9uX2hlYXBfZnJhbWUxX2FjdGl2YXRlLCBOVUxM KTsNCisgCX0NCisgCWVsc2UNCitAQCAtNDAzLDcgKzQwMyw3IEBACisgCWVsdCA9IGdfbGlzdF9u dGgobGlzdCwgNik7DQorICAgICBpdGVtID0gR1RLX0NIRUNLX01FTlVfSVRFTShlbHQtPmRhdGEp Ow0KKyAgICAgZ19zaWduYWxfaGFuZGxlcnNfYmxvY2tfYnlfZnVuYyhHVEtfT0JKRUNUKGl0ZW0p LCBvbl9pb3BvcnRzX2ZyYW1lMV9hY3RpdmF0ZSwgTlVMTCk7DQorLSAgICBndGtfY2hlY2tfbWVu dV9pdGVtX3NldF9hY3RpdmUoaXRlbSwgR1RLX1dJREdFVF9WSVNJQkxFKGRiZ3cuaW9wKSk7DQor KyAgICBndGtfY2hlY2tfbWVudV9pdGVtX3NldF9hY3RpdmUoaXRlbSwgZ3RrX3dpZGdldF9nZXRf dmlzaWJsZShkYmd3LmlvcCkpOw0KKyAgICAgZ19zaWduYWxfaGFuZGxlcnNfdW5ibG9ja19ieV9m dW5jKEdUS19PQkpFQ1QoaXRlbSksIG9uX2lvcG9ydHNfZnJhbWUxX2FjdGl2YXRlLCBOVUxMKTsN CisgDQorIAkvLyBkb2NrL211bHRpIG1vZGUNCi0tIAoyLjI2LjIKCg== --=-0YGr2ecAUHgb0/OyGrtf--