Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hpcuN-0000tx-1r for pgsql-hackers@arkaria.postgresql.org; Mon, 22 Jul 2019 18:19:35 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1hpcuL-0004zp-Sx for pgsql-hackers@arkaria.postgresql.org; Mon, 22 Jul 2019 18:19:33 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hpcuL-0004yP-JD for pgsql-hackers@lists.postgresql.org; Mon, 22 Jul 2019 18:19:33 +0000 Received: from out2-smtp.messagingengine.com ([66.111.4.26]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hpcuI-0002Uu-OZ for pgsql-hackers@postgresql.org; Mon, 22 Jul 2019 18:19:33 +0000 Received: from compute7.internal (compute7.nyi.internal [10.202.2.47]) by mailout.nyi.internal (Postfix) with ESMTP id 3C81322138; Mon, 22 Jul 2019 14:19:29 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute7.internal (MEProxy); Mon, 22 Jul 2019 14:19:29 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=EJSKU/ X6cbpVd5qMDC7ih4hodVtDws7OwsDom4yK18c=; b=c4XvOWU1CecuzZWZXKGkpJ vFG9d9VNxHNubiLo++8e+vl0kct7/tw/x7UItNKHlcR75AYhBpl4t0tuME3MOu46 pRbDmrzQXV0+ZI4xNTJNahZAN5f5vtfvT8gTP3nhY8NGP6ECGdRjnnyu+AuWVWti qu28gHAzBY158lmK6x/N+vK0Y20Q3vf0NyX7Md5dkFEVBMmxumY+uiux/Bm0S+Jx FN/F6nRptZQD1rwbaDZ3ctzF7gCalaEiRMKgltdCTAWU4XUsI7DUHgR0iB6E8fSp J92Xwbeavk93w05chwgxvk6RX/VBOb+X2KA7ezbw6XWm7k5j63TzMzg9wBdevQCg == X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduvddrjeeggdduvdeiucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepuffhvfhfohfkffgfgggjtgesmhdtreertdefjeenucfhrhhomheprfgvthgv rhcugfhishgvnhhtrhgruhhtuceophgvthgvrhdrvghishgvnhhtrhgruhhtsedvnhguqh hurggurhgrnhhtrdgtohhmqeenucffohhmrghinhepvdhnughquhgrughrrghnthdrtgho mhenucfkphepleefrddvgedvrdegtddrvddtvdenucfrrghrrghmpehmrghilhhfrhhomh epphgvthgvrhdrvghishgvnhhtrhgruhhtsedvnhguqhhurggurhgrnhhtrdgtohhmnecu vehluhhsthgvrhfuihiivgeptd X-ME-Proxy: Received: from april.pezone.net (p5df228ca.dip0.t-ipconnect.de [93.242.40.202]) by mail.messagingengine.com (Postfix) with ESMTPA id DC61980063; Mon, 22 Jul 2019 14:19:27 -0400 (EDT) Subject: Re: errbacktrace From: Peter Eisentraut To: pgsql-hackers References: <20190708162851.GA11054@alvherre.pgsql> Cc: Alvaro Herrera , Dmitry Dolgov <9erthalion6@gmail.com>, Thomas Munro Openpgp: preference=signencrypt Autocrypt: addr=peter.eisentraut@2ndquadrant.com; prefer-encrypt=mutual; keydata= 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 3jI= Organization: 2ndQuadrant Message-ID: <3814a094-7dcd-106b-d2ad-7ef78f563356@2ndquadrant.com> Date: Mon, 22 Jul 2019 20:19:26 +0200 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/mixed; boundary="------------1BDE8545E152246C7820425F" Content-Language: en-US List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk This is a multi-part message in MIME format. --------------1BDE8545E152246C7820425F Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit On 2019-07-09 11:43, Peter Eisentraut wrote: > After further research I'm thinking about dropping the libunwind > support. The backtrace()/backtrace_symbols() API is more widely > available: darwin, freebsd, linux, netbsd, openbsd (via port), solaris, > and of course it's built-in, whereas libunwind is only available for > linux, freebsd, hpux, solaris, and requires an external dependency. Here is an updated patch without the libunwind support, some minor cleanups, documentation, and automatic back traces from assertion failures. -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services --------------1BDE8545E152246C7820425F Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="v3-0001-Add-backtrace-support.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="v3-0001-Add-backtrace-support.patch" RnJvbSA3NzkyMzFkZmU1NmNmOGYxMzhhOTRiYTAxMDZjYTcyMTcxYjYzMzUwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogTW9uLCAyMiBKdWwgMjAxOSAyMDowODozNyArMDIwMApTdWJqZWN0 OiBbUEFUQ0ggdjNdIEFkZCBiYWNrdHJhY2Ugc3VwcG9ydAoKQWRkIHNvbWUgc3VwcG9ydCBm b3IgYXV0b21hdGljYWxseSBzaG93aW5nIGJhY2t0cmFjZXMgaW4gY2VydGFpbiBlcnJvcgpz aXR1YXRpb25zIGluIHRoZSBzZXJ2ZXIuICBCYWNrdHJhY2VzIGFyZSBzaG93biBvbiBhc3Nl cnRpb24gZmFpbHVyZS4KQSBuZXcgc2V0dGluZyBiYWNrdHJhY2VfZnVuY3Rpb24gY2FuIGJl IHNldCB0byB0aGUgbmFtZSBvZiBhIEMKZnVuY3Rpb24sIGFuZCBhbGwgZXJlcG9ydCgpcyBh bmQgZWxvZygpcyBmcm9tIHRoZSBmdW5jdGlvbiB3aWxsIGhhdmUKYmFja3RyYWNlcyBnZW5l cmF0ZWQuICBGaW5hbGx5LCB0aGUgZnVuY3Rpb24gZXJyYmFja3RyYWNlKCkgY2FuIGJlCm1h bnVhbGx5IGFkZGVkIHRvIGFuIGVyZXBvcnQoKSBjYWxsIHRvIGdlbmVyYXRlIGEgYmFja3Ry YWNlIGZvciB0aGF0CmNhbGwuCgpEaXNjdXNzaW9uOiBodHRwczovL3d3dy5wb3N0Z3Jlc3Fs Lm9yZy9tZXNzYWdlLWlkL2ZsYXQvNWY0OGNiNDctYmYxZS0wNWI2LTdhYWUtM2JmMmNkMDE1 ODZkQDJuZHF1YWRyYW50LmNvbQotLS0KIGNvbmZpZ3VyZSAgICAgICAgICAgICAgICAgICAg ICAgIHwgNjEgKysrKysrKysrKysrKysrKysrKysrLQogY29uZmlndXJlLmluICAgICAgICAg ICAgICAgICAgICAgfCAgNCArKwogZG9jL3NyYy9zZ21sL2NvbmZpZy5zZ21sICAgICAgICAg fCAyNSArKysrKysrKysKIHNyYy9iYWNrZW5kL3V0aWxzL2Vycm9yL2Fzc2VydC5jIHwgMTMg KysrKysKIHNyYy9iYWNrZW5kL3V0aWxzL2Vycm9yL2Vsb2cuYyAgIHwgOTAgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysKIHNyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjLmMg ICAgIHwgMTIgKysrKysKIHNyYy9pbmNsdWRlL3BnX2NvbmZpZy5oLmluICAgICAgIHwgIDYg KysrCiBzcmMvaW5jbHVkZS91dGlscy9lbG9nLmggICAgICAgICB8ICAzICsrCiBzcmMvaW5j bHVkZS91dGlscy9ndWMuaCAgICAgICAgICB8ICAxICsKIDkgZmlsZXMgY2hhbmdlZCwgMjEz IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvY29uZmlndXJl IGIvY29uZmlndXJlCmluZGV4IDdhNmJmYzIzMzkuLmZiZDgyMjRmNTAgMTAwNzU1Ci0tLSBh L2NvbmZpZ3VyZQorKysgYi9jb25maWd1cmUKQEAgLTExNjYyLDYgKzExNjYyLDYzIEBAIGlm IHRlc3QgIiRhY19yZXMiICE9IG5vOyB0aGVuIDoKIAogZmkKIAorIyAqQlNEOgoreyAkYXNf ZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgbGlicmFy eSBjb250YWluaW5nIGJhY2t0cmFjZV9zeW1ib2xzIiA+JjUKKyRhc19lY2hvX24gImNoZWNr aW5nIGZvciBsaWJyYXJ5IGNvbnRhaW5pbmcgYmFja3RyYWNlX3N5bWJvbHMuLi4gIiA+JjY7 IH0KK2lmICR7YWNfY3Zfc2VhcmNoX2JhY2t0cmFjZV9zeW1ib2xzKzp9IGZhbHNlOyB0aGVu IDoKKyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKK2Vsc2UKKyAgYWNfZnVuY19zZWFy Y2hfc2F2ZV9MSUJTPSRMSUJTCitjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVz dC4kYWNfZXh0CisvKiBlbmQgY29uZmRlZnMuaC4gICovCisKKy8qIE92ZXJyaWRlIGFueSBH Q0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgorICAgVXNlIGNoYXIg YmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCisgICBi dWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBw bHkuICAqLworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiCisjZW5kaWYKK2NoYXIg YmFja3RyYWNlX3N5bWJvbHMgKCk7CitpbnQKK21haW4gKCkKK3sKK3JldHVybiBiYWNrdHJh Y2Vfc3ltYm9scyAoKTsKKyAgOworICByZXR1cm4gMDsKK30KK19BQ0VPRgorZm9yIGFjX2xp YiBpbiAnJyBleGVjaW5mbzsgZG8KKyAgaWYgdGVzdCAteiAiJGFjX2xpYiI7IHRoZW4KKyAg ICBhY19yZXM9Im5vbmUgcmVxdWlyZWQiCisgIGVsc2UKKyAgICBhY19yZXM9LWwkYWNfbGli CisgICAgTElCUz0iLWwkYWNfbGliICAkYWNfZnVuY19zZWFyY2hfc2F2ZV9MSUJTIgorICBm aQorICBpZiBhY19mbl9jX3RyeV9saW5rICIkTElORU5PIjsgdGhlbiA6CisgIGFjX2N2X3Nl YXJjaF9iYWNrdHJhY2Vfc3ltYm9scz0kYWNfcmVzCitmaQorcm0gLWYgY29yZSBjb25mdGVz dC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBcCisgICAgY29uZnRlc3QkYWNfZXhlZXh0Cisg IGlmICR7YWNfY3Zfc2VhcmNoX2JhY2t0cmFjZV9zeW1ib2xzKzp9IGZhbHNlOyB0aGVuIDoK KyAgYnJlYWsKK2ZpCitkb25lCitpZiAke2FjX2N2X3NlYXJjaF9iYWNrdHJhY2Vfc3ltYm9s cys6fSBmYWxzZTsgdGhlbiA6CisKK2Vsc2UKKyAgYWNfY3Zfc2VhcmNoX2JhY2t0cmFjZV9z eW1ib2xzPW5vCitmaQorcm0gY29uZnRlc3QuJGFjX2V4dAorTElCUz0kYWNfZnVuY19zZWFy Y2hfc2F2ZV9MSUJTCitmaQoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5F Tk99OiByZXN1bHQ6ICRhY19jdl9zZWFyY2hfYmFja3RyYWNlX3N5bWJvbHMiID4mNQorJGFz X2VjaG8gIiRhY19jdl9zZWFyY2hfYmFja3RyYWNlX3N5bWJvbHMiID4mNjsgfQorYWNfcmVz PSRhY19jdl9zZWFyY2hfYmFja3RyYWNlX3N5bWJvbHMKK2lmIHRlc3QgIiRhY19yZXMiICE9 IG5vOyB0aGVuIDoKKyAgdGVzdCAiJGFjX3JlcyIgPSAibm9uZSByZXF1aXJlZCIgfHwgTElC Uz0iJGFjX3JlcyAkTElCUyIKKworZmkKKwogCiBpZiB0ZXN0ICIkd2l0aF9yZWFkbGluZSIg PSB5ZXM7IHRoZW4KIApAQCAtMTI3NjAsNyArMTI4MTcsNyBAQCAkYXNfZWNobyAiI2RlZmlu ZSBIQVZFX1NUREJPT0xfSCAxIiA+PmNvbmZkZWZzLmgKIGZpCiAKIAotZm9yIGFjX2hlYWRl ciBpbiBhdG9taWMuaCBjb3B5ZmlsZS5oIGNyeXB0LmggZnBfY2xhc3MuaCBnZXRvcHQuaCBp ZWVlZnAuaCBpZmFkZHJzLmggbGFuZ2luZm8uaCBtYmFycmllci5oIHBvbGwuaCBzeXMvZXBv bGwuaCBzeXMvaXBjLmggc3lzL3ByY3RsLmggc3lzL3Byb2NjdGwuaCBzeXMvcHN0YXQuaCBz eXMvcmVzb3VyY2UuaCBzeXMvc2VsZWN0Lmggc3lzL3NlbS5oIHN5cy9zaG0uaCBzeXMvc29j a2lvLmggc3lzL3Rhcy5oIHN5cy91bi5oIHRlcm1pb3MuaCB1Y3JlZC5oIHV0aW1lLmggd2No YXIuaCB3Y3R5cGUuaAorZm9yIGFjX2hlYWRlciBpbiBhdG9taWMuaCBjb3B5ZmlsZS5oIGNy eXB0LmggZXhlY2luZm8uaCBmcF9jbGFzcy5oIGdldG9wdC5oIGllZWVmcC5oIGlmYWRkcnMu aCBsYW5naW5mby5oIG1iYXJyaWVyLmggcG9sbC5oIHN5cy9lcG9sbC5oIHN5cy9pcGMuaCBz eXMvcHJjdGwuaCBzeXMvcHJvY2N0bC5oIHN5cy9wc3RhdC5oIHN5cy9yZXNvdXJjZS5oIHN5 cy9zZWxlY3QuaCBzeXMvc2VtLmggc3lzL3NobS5oIHN5cy9zb2NraW8uaCBzeXMvdGFzLmgg c3lzL3VuLmggdGVybWlvcy5oIHVjcmVkLmggdXRpbWUuaCB3Y2hhci5oIHdjdHlwZS5oCiBk byA6CiAgIGFzX2FjX0hlYWRlcj1gJGFzX2VjaG8gImFjX2N2X2hlYWRlcl8kYWNfaGVhZGVy IiB8ICRhc190cl9zaGAKIGFjX2ZuX2NfY2hlY2tfaGVhZGVyX21vbmdyZWwgIiRMSU5FTk8i ICIkYWNfaGVhZGVyIiAiJGFzX2FjX0hlYWRlciIgIiRhY19pbmNsdWRlc19kZWZhdWx0IgpA QCAtMTUxNDMsNyArMTUyMDAsNyBAQCBmaQogTElCU19pbmNsdWRpbmdfcmVhZGxpbmU9IiRM SUJTIgogTElCUz1gZWNobyAiJExJQlMiIHwgc2VkIC1lICdzLy1sZWRpdC8vZycgLWUgJ3Mv LWxyZWFkbGluZS8vZydgCiAKLWZvciBhY19mdW5jIGluIGNicnQgY2xvY2tfZ2V0dGltZSBj b3B5ZmlsZSBmZGF0YXN5bmMgZ2V0aWZhZGRycyBnZXRwZWVydWNyZWQgZ2V0cmxpbWl0IG1i c3Rvd2NzX2wgbWVtbW92ZSBwb2xsIHBvc2l4X2ZhbGxvY2F0ZSBwcG9sbCBwc3RhdCBwdGhy ZWFkX2lzX3RocmVhZGVkX25wIHJlYWRsaW5rIHNldHByb2N0aXRsZSBzZXRwcm9jdGl0bGVf ZmFzdCBzZXRzaWQgc2htX29wZW4gc3RyY2hybnVsIHN0cnNpZ25hbCBzeW1saW5rIHN5bmNf ZmlsZV9yYW5nZSB1c2Vsb2NhbGUgdXRpbWUgdXRpbWVzIHdjc3RvbWJzX2wKK2ZvciBhY19m dW5jIGluIGJhY2t0cmFjZV9zeW1ib2xzIGNicnQgY2xvY2tfZ2V0dGltZSBjb3B5ZmlsZSBm ZGF0YXN5bmMgZ2V0aWZhZGRycyBnZXRwZWVydWNyZWQgZ2V0cmxpbWl0IG1ic3Rvd2NzX2wg bWVtbW92ZSBwb2xsIHBvc2l4X2ZhbGxvY2F0ZSBwcG9sbCBwc3RhdCBwdGhyZWFkX2lzX3Ro cmVhZGVkX25wIHJlYWRsaW5rIHNldHByb2N0aXRsZSBzZXRwcm9jdGl0bGVfZmFzdCBzZXRz aWQgc2htX29wZW4gc3RyY2hybnVsIHN0cnNpZ25hbCBzeW1saW5rIHN5bmNfZmlsZV9yYW5n ZSB1c2Vsb2NhbGUgdXRpbWUgdXRpbWVzIHdjc3RvbWJzX2wKIGRvIDoKICAgYXNfYWNfdmFy PWAkYXNfZWNobyAiYWNfY3ZfZnVuY18kYWNfZnVuYyIgfCAkYXNfdHJfc2hgCiBhY19mbl9j X2NoZWNrX2Z1bmMgIiRMSU5FTk8iICIkYWNfZnVuYyIgIiRhc19hY192YXIiCmRpZmYgLS1n aXQgYS9jb25maWd1cmUuaW4gYi9jb25maWd1cmUuaW4KaW5kZXggZGRlM2VlYzg5Zi4uZjBj NWVjOWY0NyAxMDA2NDQKLS0tIGEvY29uZmlndXJlLmluCisrKyBiL2NvbmZpZ3VyZS5pbgpA QCAtMTEzMSw2ICsxMTMxLDggQEAgQUNfU0VBUkNIX0xJQlMoc2NoZWRfeWllbGQsIHJ0KQog QUNfU0VBUkNIX0xJQlMoZ2V0aG9zdGJ5bmFtZV9yLCBuc2wpCiAjIEN5Z3dpbjoKIEFDX1NF QVJDSF9MSUJTKHNobWdldCwgY3lnaXBjKQorIyAqQlNEOgorQUNfU0VBUkNIX0xJQlMoYmFj a3RyYWNlX3N5bWJvbHMsIGV4ZWNpbmZvKQogCiBpZiB0ZXN0ICIkd2l0aF9yZWFkbGluZSIg PSB5ZXM7IHRoZW4KICAgUEdBQ19DSEVDS19SRUFETElORQpAQCAtMTI3NCw2ICsxMjc2LDcg QEAgQUNfQ0hFQ0tfSEVBREVSUyhtNF9ub3JtYWxpemUoWwogCWF0b21pYy5oCiAJY29weWZp bGUuaAogCWNyeXB0LmgKKwlleGVjaW5mby5oCiAJZnBfY2xhc3MuaAogCWdldG9wdC5oCiAJ aWVlZWZwLmgKQEAgLTE1ODgsNiArMTU5MSw3IEBAIExJQlNfaW5jbHVkaW5nX3JlYWRsaW5l PSIkTElCUyIKIExJQlM9YGVjaG8gIiRMSUJTIiB8IHNlZCAtZSAncy8tbGVkaXQvL2cnIC1l ICdzLy1scmVhZGxpbmUvL2cnYAogCiBBQ19DSEVDS19GVU5DUyhtNF9ub3JtYWxpemUoWwor CWJhY2t0cmFjZV9zeW1ib2xzCiAJY2JydAogCWNsb2NrX2dldHRpbWUKIAljb3B5ZmlsZQpk aWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2NvbmZpZy5zZ21sIGIvZG9jL3NyYy9zZ21sL2Nv bmZpZy5zZ21sCmluZGV4IGM5MWUzZTE1NTAuLjdiYzViZmU3MzMgMTAwNjQ0Ci0tLSBhL2Rv Yy9zcmMvc2dtbC9jb25maWcuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvY29uZmlnLnNnbWwK QEAgLTkzMDMsNiArOTMwMywzMSBAQCA8dGl0bGU+RGV2ZWxvcGVyIE9wdGlvbnM8L3RpdGxl PgogICAgICAgPC9saXN0aXRlbT4KICAgICAgPC92YXJsaXN0ZW50cnk+CiAKKyAgICAgPHZh cmxpc3RlbnRyeSBpZD0iZ3VjLWJhY2t0cmFjZS1mdW5jdGlvbiIgeHJlZmxhYmVsPSJiYWNr dHJhY2VfZnVuY3Rpb24iPgorICAgICAgPHRlcm0+PHZhcm5hbWU+YmFja3RyYWNlX2Z1bmN0 aW9uPC92YXJuYW1lPiAoPHR5cGU+c3RyaW5nPC90eXBlPikKKyAgICAgIDxpbmRleHRlcm0+ CisgICAgICAgIDxwcmltYXJ5Pjx2YXJuYW1lPmJhY2t0cmFjZV9mdW5jdGlvbjwvdmFybmFt ZT4gY29uZmlndXJhdGlvbiBwYXJhbWV0ZXI8L3ByaW1hcnk+CisgICAgICA8L2luZGV4dGVy bT4KKyAgICAgIDwvdGVybT4KKyAgICAgIDxsaXN0aXRlbT4KKyAgICAgICA8cGFyYT4KKyAg ICAgICAgSWYgYW4gZXJyb3IgaXMgcmFpc2VkIGFuZCB0aGUgbmFtZSBvZiB0aGUgaW50ZXJu YWwgQyBmdW5jdGlvbiB3aGVyZQorICAgICAgICB0aGUgZXJyb3IgaGFwcGVucyBtYXRjaGVz IHRoZSB2YWx1ZSBvZiB0aGlzIHNldHRpbmcsIHRoZW4gYSBiYWNrdHJhY2UKKyAgICAgICAg aXMgd3JpdHRlbiB0byB0aGUgc2VydmVyIGxvZyB0b2dldGhlciB3aXRoIHRoZSBlcnJvciBt ZXNzYWdlLiAgVGhpcworICAgICAgICBjYW4gYmUgdXNlZCB0byBkZWJ1ZyBzcGVjaWZpYyBh cmVhcyBvZiB0aGUgc291cmNlIGNvZGUuCisgICAgICAgPC9wYXJhPgorCisgICAgICAgPHBh cmE+CisgICAgICAgIEJhY2t0cmFjZSBzdXBwb3J0IGlzIG5vdCBhdmFpbGFibGUgb24gYWxs IHBsYXRmb3JtcywgYW5kIHRoZSBxdWFsaXR5CisgICAgICAgIG9mIHRoZSBiYWNrdHJhY2Vz IGRlcGVuZHMgb24gY29tcGlsYXRpb24gb3B0aW9ucy4KKyAgICAgICA8L3BhcmE+CisKKyAg ICAgICA8cGFyYT4KKyAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIG9ubHkgYmUgc2V0IGJ5 IHN1cGVydXNlcnMuCisgICAgICAgPC9wYXJhPgorICAgICAgPC9saXN0aXRlbT4KKyAgICAg PC92YXJsaXN0ZW50cnk+CisKICAgICAgPHZhcmxpc3RlbnRyeSBpZD0iZ3VjLWlnbm9yZS1z eXN0ZW0taW5kZXhlcyIgeHJlZmxhYmVsPSJpZ25vcmVfc3lzdGVtX2luZGV4ZXMiPgogICAg ICAgPHRlcm0+PHZhcm5hbWU+aWdub3JlX3N5c3RlbV9pbmRleGVzPC92YXJuYW1lPiAoPHR5 cGU+Ym9vbGVhbjwvdHlwZT4pCiAgICAgICA8aW5kZXh0ZXJtPgpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvdXRpbHMvZXJyb3IvYXNzZXJ0LmMgYi9zcmMvYmFja2VuZC91dGlscy9lcnJv ci9hc3NlcnQuYwppbmRleCAyMDUwYjQzNTVkLi4xNDcwN2ZjMjk2IDEwMDY0NAotLS0gYS9z cmMvYmFja2VuZC91dGlscy9lcnJvci9hc3NlcnQuYworKysgYi9zcmMvYmFja2VuZC91dGls cy9lcnJvci9hc3NlcnQuYwpAQCAtMTgsNiArMTgsOSBAQAogI2luY2x1ZGUgInBvc3RncmVz LmgiCiAKICNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpZmRlZiBIQVZFX0VYRUNJTkZPX0gKKyNp bmNsdWRlIDxleGVjaW5mby5oPgorI2VuZGlmCiAKIC8qCiAgKiBFeGNlcHRpb25hbENvbmRp dGlvbiAtIEhhbmRsZXMgdGhlIGZhaWx1cmUgb2YgYW4gQXNzZXJ0KCkKQEAgLTQyLDYgKzQ1 LDE2IEBAIEV4Y2VwdGlvbmFsQ29uZGl0aW9uKGNvbnN0IGNoYXIgKmNvbmRpdGlvbk5hbWUs CiAJLyogVXN1YWxseSB0aGlzIHNob3VsZG4ndCBiZSBuZWVkZWQsIGJ1dCBtYWtlIHN1cmUg dGhlIG1zZyB3ZW50IG91dCAqLwogCWZmbHVzaChzdGRlcnIpOwogCisjaWZkZWYgSEFWRV9C QUNLVFJBQ0VfU1lNQk9MUworCXsKKwkJdm9pZAkgICAqYnVmWzEwMF07CisJCWludAkJCW5m cmFtZXM7CisKKwkJbmZyYW1lcyA9IGJhY2t0cmFjZShidWYsIHNpemVvZihidWYpKTsKKwkJ YmFja3RyYWNlX3N5bWJvbHNfZmQoYnVmLCBuZnJhbWVzLCBmaWxlbm8oc3RkZXJyKSk7CisJ fQorI2VuZGlmCisKICNpZmRlZiBTTEVFUF9PTl9BU1NFUlQKIAogCS8qCmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC91dGlscy9lcnJvci9lbG9nLmMgYi9zcmMvYmFja2VuZC91dGlscy9l cnJvci9lbG9nLmMKaW5kZXggOGI0NzIwZWYzYS4uN2Y1YzI0ODk5MiAxMDA2NDQKLS0tIGEv c3JjL2JhY2tlbmQvdXRpbHMvZXJyb3IvZWxvZy5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxz L2Vycm9yL2Vsb2cuYwpAQCAtNjIsNiArNjIsOSBAQAogI2lmZGVmIEhBVkVfU1lTTE9HCiAj aW5jbHVkZSA8c3lzbG9nLmg+CiAjZW5kaWYKKyNpZmRlZiBIQVZFX0VYRUNJTkZPX0gKKyNp bmNsdWRlIDxleGVjaW5mby5oPgorI2VuZGlmCiAKICNpbmNsdWRlICJhY2Nlc3MvdHJhbnNh bS5oIgogI2luY2x1ZGUgImFjY2Vzcy94YWN0LmgiCkBAIC0xNjYsNiArMTY5LDcgQEAgc3Rh dGljIGNoYXIgZm9ybWF0dGVkX2xvZ190aW1lW0ZPUk1BVFRFRF9UU19MRU5dOwogCX0gd2hp bGUgKDApCiAKIAorc3RhdGljIHBnX25vaW5saW5lIHZvaWQgc2V0X2JhY2t0cmFjZShFcnJv ckRhdGEgKmVkYXRhLCBpbnQgbnVtX3NraXApOwogc3RhdGljIGNvbnN0IGNoYXIgKmVycl9n ZXR0ZXh0KGNvbnN0IGNoYXIgKnN0cikgcGdfYXR0cmlidXRlX2Zvcm1hdF9hcmcoMSk7CiBz dGF0aWMgdm9pZCBzZXRfZXJyZGF0YV9maWVsZChNZW1vcnlDb250ZXh0RGF0YSAqY3h0LCBj aGFyICoqcHRyLCBjb25zdCBjaGFyICpzdHIpOwogc3RhdGljIHZvaWQgd3JpdGVfY29uc29s ZShjb25zdCBjaGFyICpsaW5lLCBpbnQgbGVuKTsKQEAgLTQyNCw2ICs0MjgsMTMgQEAgZXJy ZmluaXNoKGludCBkdW1teSwuLi4pCiAJICovCiAJb2xkY29udGV4dCA9IE1lbW9yeUNvbnRl eHRTd2l0Y2hUbyhFcnJvckNvbnRleHQpOwogCisJaWYgKCFlZGF0YS0+YmFja3RyYWNlICYm CisJCWVkYXRhLT5mdW5jbmFtZSAmJgorCQliYWNrdHJhY2VfZnVuY3Rpb24gJiYKKwkJYmFj a3RyYWNlX2Z1bmN0aW9uWzBdICYmCisJCXN0cmNtcChiYWNrdHJhY2VfZnVuY3Rpb24sIGVk YXRhLT5mdW5jbmFtZSkgPT0gMCkKKwkJc2V0X2JhY2t0cmFjZShlZGF0YSwgMik7CisKIAkv KgogCSAqIENhbGwgYW55IGNvbnRleHQgY2FsbGJhY2sgZnVuY3Rpb25zLiAgRXJyb3JzIG9j Y3VycmluZyBpbiBjYWxsYmFjawogCSAqIGZ1bmN0aW9ucyB3aWxsIGJlIHRyZWF0ZWQgYXMg cmVjdXJzaXZlIGVycm9ycyAtLS0gdGhpcyBlbnN1cmVzIHdlIHdpbGwKQEAgLTQ4OCw2ICs0 OTksOCBAQCBlcnJmaW5pc2goaW50IGR1bW15LC4uLikKIAkJcGZyZWUoZWRhdGEtPmhpbnQp OwogCWlmIChlZGF0YS0+Y29udGV4dCkKIAkJcGZyZWUoZWRhdGEtPmNvbnRleHQpOworCWlm IChlZGF0YS0+YmFja3RyYWNlKQorCQlwZnJlZShlZGF0YS0+YmFja3RyYWNlKTsKIAlpZiAo ZWRhdGEtPnNjaGVtYV9uYW1lKQogCQlwZnJlZShlZGF0YS0+c2NoZW1hX25hbWUpOwogCWlm IChlZGF0YS0+dGFibGVfbmFtZSkKQEAgLTc5OCw2ICs4MTEsNjIgQEAgZXJybXNnKGNvbnN0 IGNoYXIgKmZtdCwuLi4pCiAJcmV0dXJuIDA7CQkJCQkvKiByZXR1cm4gdmFsdWUgZG9lcyBu b3QgbWF0dGVyICovCiB9CiAKKy8qCisgKiBBZGQgYSBiYWNrdHJhY2UgdG8gdGhlIGNvbnRh aW5pbmcgZXJlcG9ydCgpIGNhbGwuICBUaGlzIGlzIGludGVuZGVkIHRvIGJlCisgKiBhZGRl ZCB0ZW1wb3JhcmlseSBkdXJpbmcgZGVidWdnaW5nLgorICovCitpbnQKK2VycmJhY2t0cmFj ZSh2b2lkKQoreworCUVycm9yRGF0YSAgICplZGF0YSA9ICZlcnJvcmRhdGFbZXJyb3JkYXRh X3N0YWNrX2RlcHRoXTsKKwlNZW1vcnlDb250ZXh0IG9sZGNvbnRleHQ7CisKKwlyZWN1cnNp b25fZGVwdGgrKzsKKwlDSEVDS19TVEFDS19ERVBUSCgpOworCW9sZGNvbnRleHQgPSBNZW1v cnlDb250ZXh0U3dpdGNoVG8oZWRhdGEtPmFzc29jX2NvbnRleHQpOworCisJc2V0X2JhY2t0 cmFjZShlZGF0YSwgMSk7CisKKwlNZW1vcnlDb250ZXh0U3dpdGNoVG8ob2xkY29udGV4dCk7 CisJcmVjdXJzaW9uX2RlcHRoLS07CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIENvbXB1 dGUgYmFja3RyYWNlIGRhdGEgYW5kIGFkZCBpdCB0byB0aGUgc3VwcGxpZWQgRXJyb3JEYXRh LiAgbnVtX3NraXAKKyAqIHNwZWNpZmllcyBob3cgbWFueSBpbm5lciBmcmFtZXMgdG8gc2tp cC4gIFVzZSB0aGlzIHRvIGF2b2lkIHNob3dpbmcgdGhlCisgKiBpbnRlcm5hbCBiYWNrdHJh Y2Ugc3VwcG9ydCBmdW5jdGlvbnMgaW4gdGhlIGJhY2t0cmFjZS4gIFRoaXMgcmVxdWlyZXMg dGhhdAorICogdGhpcyBhbmQgcmVsYXRlZCBmdW5jdGlvbnMgYXJlIG5vdCBpbmxpbmVkLgor ICovCitzdGF0aWMgdm9pZAorc2V0X2JhY2t0cmFjZShFcnJvckRhdGEgKmVkYXRhLCBpbnQg bnVtX3NraXApCit7CisJU3RyaW5nSW5mb0RhdGEgZXJydHJhY2U7CisKKwlpbml0U3RyaW5n SW5mbygmZXJydHJhY2UpOworCisjaWZkZWYgSEFWRV9CQUNLVFJBQ0VfU1lNQk9MUworCXsK KwkJdm9pZAkgICAqYnVmWzEwMF07CisJCWludAkJCW5mcmFtZXM7CisJCWNoYXIJICAqKnN0 cmZybXM7CisKKwkJbmZyYW1lcyA9IGJhY2t0cmFjZShidWYsIHNpemVvZihidWYpKTsKKwkJ c3RyZnJtcyA9IGJhY2t0cmFjZV9zeW1ib2xzKGJ1ZiwgbmZyYW1lcyk7CisJCWlmIChzdHJm cm1zID09IE5VTEwpCisJCQlyZXR1cm47CisKKwkJZm9yIChpbnQgaSA9IG51bV9za2lwOyBp IDwgbmZyYW1lczsgaSsrKQorCQkJYXBwZW5kU3RyaW5nSW5mbygmZXJydHJhY2UsICJcbiVz Iiwgc3RyZnJtc1tpXSk7CisJCWZyZWUoc3RyZnJtcyk7CisJfQorI2Vsc2UKKwlhcHBlbmRT dHJpbmdJbmZvU3RyaW5nKCZlcnJ0cmFjZSwgImJhY2t0cmFjZSBub3Qgc3VwcG9ydGVkIik7 CisjZW5kaWYKKworCWVkYXRhLT5iYWNrdHJhY2UgPSBlcnJ0cmFjZS5kYXRhOworfQogCiAv KgogICogZXJybXNnX2ludGVybmFsIC0tLSBhZGQgYSBwcmltYXJ5IGVycm9yIG1lc3NhZ2Ug dGV4dCB0byB0aGUgY3VycmVudCBlcnJvcgpAQCAtMTM1Myw2ICsxNDIyLDEyIEBAIGVsb2df ZmluaXNoKGludCBlbGV2ZWwsIGNvbnN0IGNoYXIgKmZtdCwuLi4pCiAJcmVjdXJzaW9uX2Rl cHRoKys7CiAJb2xkY29udGV4dCA9IE1lbW9yeUNvbnRleHRTd2l0Y2hUbyhlZGF0YS0+YXNz b2NfY29udGV4dCk7CiAKKwlpZiAoIWVkYXRhLT5iYWNrdHJhY2UgJiYKKwkJZWRhdGEtPmZ1 bmNuYW1lICYmCisJCWJhY2t0cmFjZV9mdW5jdGlvblswXSAmJgorCQlzdHJjbXAoYmFja3Ry YWNlX2Z1bmN0aW9uLCBlZGF0YS0+ZnVuY25hbWUpID09IDApCisJCXNldF9iYWNrdHJhY2Uo ZWRhdGEsIDIpOworCiAJZWRhdGEtPm1lc3NhZ2VfaWQgPSBmbXQ7CiAJRVZBTFVBVEVfTUVT U0FHRShlZGF0YS0+ZG9tYWluLCBtZXNzYWdlLCBmYWxzZSwgZmFsc2UpOwogCkBAIC0xNTA5 LDYgKzE1ODQsOCBAQCBDb3B5RXJyb3JEYXRhKHZvaWQpCiAJCW5ld2VkYXRhLT5oaW50ID0g cHN0cmR1cChuZXdlZGF0YS0+aGludCk7CiAJaWYgKG5ld2VkYXRhLT5jb250ZXh0KQogCQlu ZXdlZGF0YS0+Y29udGV4dCA9IHBzdHJkdXAobmV3ZWRhdGEtPmNvbnRleHQpOworCWlmIChu ZXdlZGF0YS0+YmFja3RyYWNlKQorCQluZXdlZGF0YS0+YmFja3RyYWNlID0gcHN0cmR1cChu ZXdlZGF0YS0+YmFja3RyYWNlKTsKIAlpZiAobmV3ZWRhdGEtPnNjaGVtYV9uYW1lKQogCQlu ZXdlZGF0YS0+c2NoZW1hX25hbWUgPSBwc3RyZHVwKG5ld2VkYXRhLT5zY2hlbWFfbmFtZSk7 CiAJaWYgKG5ld2VkYXRhLT50YWJsZV9uYW1lKQpAQCAtMTU0Nyw2ICsxNjI0LDggQEAgRnJl ZUVycm9yRGF0YShFcnJvckRhdGEgKmVkYXRhKQogCQlwZnJlZShlZGF0YS0+aGludCk7CiAJ aWYgKGVkYXRhLT5jb250ZXh0KQogCQlwZnJlZShlZGF0YS0+Y29udGV4dCk7CisJaWYgKGVk YXRhLT5iYWNrdHJhY2UpCisJCXBmcmVlKGVkYXRhLT5iYWNrdHJhY2UpOwogCWlmIChlZGF0 YS0+c2NoZW1hX25hbWUpCiAJCXBmcmVlKGVkYXRhLT5zY2hlbWFfbmFtZSk7CiAJaWYgKGVk YXRhLT50YWJsZV9uYW1lKQpAQCAtMTYyMiw2ICsxNzAxLDggQEAgVGhyb3dFcnJvckRhdGEo RXJyb3JEYXRhICplZGF0YSkKIAkJbmV3ZWRhdGEtPmhpbnQgPSBwc3RyZHVwKGVkYXRhLT5o aW50KTsKIAlpZiAoZWRhdGEtPmNvbnRleHQpCiAJCW5ld2VkYXRhLT5jb250ZXh0ID0gcHN0 cmR1cChlZGF0YS0+Y29udGV4dCk7CisJaWYgKGVkYXRhLT5iYWNrdHJhY2UpCisJCW5ld2Vk YXRhLT5iYWNrdHJhY2UgPSBwc3RyZHVwKGVkYXRhLT5iYWNrdHJhY2UpOwogCS8qIGFzc3Vt ZSBtZXNzYWdlX2lkIGlzIG5vdCBhdmFpbGFibGUgKi8KIAlpZiAoZWRhdGEtPnNjaGVtYV9u YW1lKQogCQluZXdlZGF0YS0+c2NoZW1hX25hbWUgPSBwc3RyZHVwKGVkYXRhLT5zY2hlbWFf bmFtZSk7CkBAIC0xNjg5LDYgKzE3NzAsOCBAQCBSZVRocm93RXJyb3IoRXJyb3JEYXRhICpl ZGF0YSkKIAkJbmV3ZWRhdGEtPmhpbnQgPSBwc3RyZHVwKG5ld2VkYXRhLT5oaW50KTsKIAlp ZiAobmV3ZWRhdGEtPmNvbnRleHQpCiAJCW5ld2VkYXRhLT5jb250ZXh0ID0gcHN0cmR1cChu ZXdlZGF0YS0+Y29udGV4dCk7CisJaWYgKG5ld2VkYXRhLT5iYWNrdHJhY2UpCisJCW5ld2Vk YXRhLT5iYWNrdHJhY2UgPSBwc3RyZHVwKG5ld2VkYXRhLT5iYWNrdHJhY2UpOwogCWlmIChu ZXdlZGF0YS0+c2NoZW1hX25hbWUpCiAJCW5ld2VkYXRhLT5zY2hlbWFfbmFtZSA9IHBzdHJk dXAobmV3ZWRhdGEtPnNjaGVtYV9uYW1lKTsKIAlpZiAobmV3ZWRhdGEtPnRhYmxlX25hbWUp CkBAIC0yOTE0LDYgKzI5OTcsMTMgQEAgc2VuZF9tZXNzYWdlX3RvX3NlcnZlcl9sb2coRXJy b3JEYXRhICplZGF0YSkKIAkJCWFwcGVuZF93aXRoX3RhYnMoJmJ1ZiwgZWRhdGEtPmNvbnRl eHQpOwogCQkJYXBwZW5kU3RyaW5nSW5mb0NoYXIoJmJ1ZiwgJ1xuJyk7CiAJCX0KKwkJaWYg KGVkYXRhLT5iYWNrdHJhY2UpCisJCXsKKwkJCWxvZ19saW5lX3ByZWZpeCgmYnVmLCBlZGF0 YSk7CisJCQlhcHBlbmRTdHJpbmdJbmZvU3RyaW5nKCZidWYsIF8oIkJBQ0tUUkFDRTogICIp KTsKKwkJCWFwcGVuZF93aXRoX3RhYnMoJmJ1ZiwgZWRhdGEtPmJhY2t0cmFjZSk7CisJCQlh cHBlbmRTdHJpbmdJbmZvQ2hhcigmYnVmLCAnXG4nKTsKKwkJfQogCQlpZiAoTG9nX2Vycm9y X3ZlcmJvc2l0eSA+PSBQR0VSUk9SX1ZFUkJPU0UpCiAJCXsKIAkJCS8qIGFzc3VtZSBubyBu ZXdsaW5lcyBpbiBmdW5jbmFtZSBvciBmaWxlbmFtZS4uLiAqLwpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvdXRpbHMvbWlzYy9ndWMuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3Vj LmMKaW5kZXggZmM0NjM2MDFmZi4uMTVlYjQ1Nzg1ZiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tl bmQvdXRpbHMvbWlzYy9ndWMuYworKysgYi9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Yy5j CkBAIC01MTQsNiArNTE0LDcgQEAgaW50CQkJbG9nX3RlbXBfZmlsZXMgPSAtMTsKIGRvdWJs ZQkJbG9nX3N0YXRlbWVudF9zYW1wbGVfcmF0ZSA9IDEuMDsKIGRvdWJsZQkJbG9nX3hhY3Rf c2FtcGxlX3JhdGUgPSAwOwogaW50CQkJdHJhY2VfcmVjb3ZlcnlfbWVzc2FnZXMgPSBMT0c7 CitjaGFyCSAgICpiYWNrdHJhY2VfZnVuY3Rpb247CiAKIGludAkJCXRlbXBfZmlsZV9saW1p dCA9IC0xOwogCkBAIC00MjEyLDYgKzQyMTMsMTcgQEAgc3RhdGljIHN0cnVjdCBjb25maWdf c3RyaW5nIENvbmZpZ3VyZU5hbWVzU3RyaW5nW10gPQogCQlOVUxMLCBOVUxMLCBOVUxMCiAJ fSwKIAorCXsKKwkJeyJiYWNrdHJhY2VfZnVuY3Rpb24iLCBQR0NfU1VTRVQsIERFVkVMT1BF Ul9PUFRJT05TLAorCQkJZ2V0dGV4dF9ub29wKCJMb2cgYmFja3RyYWNlIGZvciBlcnJvcnMg aW4gdGhpcyBmdW5jdGlvbi4iKSwKKwkJCU5VTEwsCisJCQlHVUNfTk9UX0lOX1NBTVBMRQor CQl9LAorCQkmYmFja3RyYWNlX2Z1bmN0aW9uLAorCQkiIiwKKwkJTlVMTCwgTlVMTCwgTlVM TAorCX0sCisKIAkvKiBFbmQtb2YtbGlzdCBtYXJrZXIgKi8KIAl7CiAJCXtOVUxMLCAwLCAw LCBOVUxMLCBOVUxMfSwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTApkaWZmIC0tZ2l0 IGEvc3JjL2luY2x1ZGUvcGdfY29uZmlnLmguaW4gYi9zcmMvaW5jbHVkZS9wZ19jb25maWcu aC5pbgppbmRleCA1MTIyMTNhYTMyLi4yMWNkMDFhNjZjIDEwMDY0NAotLS0gYS9zcmMvaW5j bHVkZS9wZ19jb25maWcuaC5pbgorKysgYi9zcmMvaW5jbHVkZS9wZ19jb25maWcuaC5pbgpA QCAtOTYsNiArOTYsOSBAQAogLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxhdG9t aWMuaD4gaGVhZGVyIGZpbGUuICovCiAjdW5kZWYgSEFWRV9BVE9NSUNfSAogCisvKiBEZWZp bmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGJhY2t0cmFjZV9zeW1ib2xzJyBmdW5jdGlvbi4g Ki8KKyN1bmRlZiBIQVZFX0JBQ0tUUkFDRV9TWU1CT0xTCisKIC8qIERlZmluZSB0byAxIGlm IHlvdSBoYXZlIHRoZSBgQklPX2dldF9kYXRhJyBmdW5jdGlvbi4gKi8KICN1bmRlZiBIQVZF X0JJT19HRVRfREFUQQogCkBAIC0yMDEsNiArMjA0LDkgQEAKIC8qIERlZmluZSB0byAxIGlm IHlvdSBoYXZlIHRoZSA8ZWRpdGxpbmUvcmVhZGxpbmUuaD4gaGVhZGVyIGZpbGUuICovCiAj dW5kZWYgSEFWRV9FRElUTElORV9SRUFETElORV9ICiAKKy8qIERlZmluZSB0byAxIGlmIHlv dSBoYXZlIHRoZSA8ZXhlY2luZm8uaD4gaGVhZGVyIGZpbGUuICovCisjdW5kZWYgSEFWRV9F WEVDSU5GT19ICisKIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZmRhdGFzeW5j JyBmdW5jdGlvbi4gKi8KICN1bmRlZiBIQVZFX0ZEQVRBU1lOQwogCmRpZmYgLS1naXQgYS9z cmMvaW5jbHVkZS91dGlscy9lbG9nLmggYi9zcmMvaW5jbHVkZS91dGlscy9lbG9nLmgKaW5k ZXggZGJmZDhlZmQyNi4uYjU4YWVlNzkyYSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvdXRp bHMvZWxvZy5oCisrKyBiL3NyYy9pbmNsdWRlL3V0aWxzL2Vsb2cuaApAQCAtMTg5LDYgKzE4 OSw4IEBAIGV4dGVybiBpbnQJZXJyY29udGV4dF9tc2coY29uc3QgY2hhciAqZm10LC4uLikg cGdfYXR0cmlidXRlX3ByaW50ZigxLCAyKTsKIGV4dGVybiBpbnQJZXJyaGlkZXN0bXQoYm9v bCBoaWRlX3N0bXQpOwogZXh0ZXJuIGludAllcnJoaWRlY29udGV4dChib29sIGhpZGVfY3R4 KTsKIAorZXh0ZXJuIGludAllcnJiYWNrdHJhY2Uodm9pZCk7CisKIGV4dGVybiBpbnQJZXJy ZnVuY3Rpb24oY29uc3QgY2hhciAqZnVuY25hbWUpOwogZXh0ZXJuIGludAllcnJwb3NpdGlv bihpbnQgY3Vyc29ycG9zKTsKIApAQCAtMzYyLDYgKzM2NCw3IEBAIHR5cGVkZWYgc3RydWN0 IEVycm9yRGF0YQogCWNoYXIJICAgKmRldGFpbF9sb2c7CQkvKiBkZXRhaWwgZXJyb3IgbWVz c2FnZSBmb3Igc2VydmVyIGxvZyBvbmx5ICovCiAJY2hhcgkgICAqaGludDsJCQkvKiBoaW50 IG1lc3NhZ2UgKi8KIAljaGFyCSAgICpjb250ZXh0OwkJLyogY29udGV4dCBtZXNzYWdlICov CisJY2hhcgkgICAqYmFja3RyYWNlOwkJLyogYmFja3RyYWNlICovCiAJY29uc3QgY2hhciAq bWVzc2FnZV9pZDsJCS8qIHByaW1hcnkgbWVzc2FnZSdzIGlkIChvcmlnaW5hbCBzdHJpbmcp ICovCiAJY2hhcgkgICAqc2NoZW1hX25hbWU7CS8qIG5hbWUgb2Ygc2NoZW1hICovCiAJY2hh cgkgICAqdGFibGVfbmFtZTsJCS8qIG5hbWUgb2YgdGFibGUgKi8KZGlmZiAtLWdpdCBhL3Ny Yy9pbmNsdWRlL3V0aWxzL2d1Yy5oIGIvc3JjL2luY2x1ZGUvdXRpbHMvZ3VjLmgKaW5kZXgg ZTcwOTE3N2MzNy4uMDMyZjRmMTZhYiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvdXRpbHMv Z3VjLmgKKysrIGIvc3JjL2luY2x1ZGUvdXRpbHMvZ3VjLmgKQEAgLTI1NSw2ICsyNTUsNyBA QCBleHRlcm4gaW50CWxvZ19taW5fZHVyYXRpb25fc3RhdGVtZW50OwogZXh0ZXJuIGludAls b2dfdGVtcF9maWxlczsKIGV4dGVybiBkb3VibGUgbG9nX3N0YXRlbWVudF9zYW1wbGVfcmF0 ZTsKIGV4dGVybiBkb3VibGUgbG9nX3hhY3Rfc2FtcGxlX3JhdGU7CitleHRlcm4gY2hhciAq YmFja3RyYWNlX2Z1bmN0aW9uOwogCiBleHRlcm4gaW50CXRlbXBfZmlsZV9saW1pdDsKIAoK YmFzZS1jb21taXQ6IDIzYmNjYzgyM2Q0MzRkOWRjZjNjMTI2MjJmZTI2MGQ5MjM1YmFhZTIK LS0gCjIuMjIuMAoK --------------1BDE8545E152246C7820425F--