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 1iQ6A2-0006qr-4L for pgsql-hackers@arkaria.postgresql.org; Thu, 31 Oct 2019 08:50:30 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1iQ6A0-0000m5-Qc for pgsql-hackers@arkaria.postgresql.org; Thu, 31 Oct 2019 08:50:28 +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 1iQ69z-0000lv-Ok for pgsql-hackers@lists.postgresql.org; Thu, 31 Oct 2019 08:50:28 +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 1iQ69u-0007jq-LK for pgsql-hackers@postgresql.org; Thu, 31 Oct 2019 08:50:27 +0000 Received: from compute7.internal (compute7.nyi.internal [10.202.2.47]) by mailout.nyi.internal (Postfix) with ESMTP id 55D4E2258E for ; Thu, 31 Oct 2019 04:50:20 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute7.internal (MEProxy); Thu, 31 Oct 2019 04:50:20 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:message-id :mime-version:subject:to:x-me-proxy:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm1; bh=fKw3O6m8Pfuv8UQfznnaFdEaHgGXu ff7wUARwPYvuAI=; b=rqECT1qVyaiwOfRuTJN/B7s/9rsZrRMooUOGtl+oQAW/q 9SSjFUjOZrrIXz8RVTDfVbpCeaeZ4OkoRJooSIERDKpNH2LXlJDgLX+2wWGP2Ac8 VM8GXw1KFcGzUkfbtfAj3rkYgSW6YMRIvPMgNE8MAGnmyrJXBAFAYqC3EIv76t0r IXIXGCv8Mfr4exMmBAHdlA51PuGSd0jvGQ8U6YqP4mGuUA2l1y1MfKARHWPL2Itr hOri4Hadi24puvjavJVO5mnkQgxnh0d7kHHh9cW/H+UVPUyWBPetW7V9iLQ8PChJ zYsd9LkS6xtNOQljcT/OU/Rf4WejWKC2zkvPE0mPg== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedufedruddtgedguddviecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecunecujfgurhephffuvfhokffffgggtgesmhdtre ertdefjeenucfhrhhomheprfgvthgvrhcugfhishgvnhhtrhgruhhtuceophgvthgvrhdr vghishgvnhhtrhgruhhtsedvnhguqhhurggurhgrnhhtrdgtohhmqeenucffohhmrghinh epvdhnughquhgrughrrghnthdrtghomhenucfkphepleefrddvgedvrddugeejrdejleen ucfrrghrrghmpehmrghilhhfrhhomhepphgvthgvrhdrvghishgvnhhtrhgruhhtsedvnh guqhhurggurhgrnhhtrdgtohhmnecuvehluhhsthgvrhfuihiivgeptd X-ME-Proxy: Received: from april.pezone.net (p5df2934f.dip0.t-ipconnect.de [93.242.147.79]) by mail.messagingengine.com (Postfix) with ESMTPA id CA9D480059 for ; Thu, 31 Oct 2019 04:50:18 -0400 (EDT) From: Peter Eisentraut Subject: Remove configure --disable-float4-byval and --disable-float8-byval To: pgsql-hackers Organization: 2ndQuadrant Message-ID: Date: Thu, 31 Oct 2019 09:50:16 +0100 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 Content-Type: multipart/mixed; boundary="------------E12BAC548D38CD918BA0A238" 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. --------------E12BAC548D38CD918BA0A238 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit AFAICT, these build options were only useful to maintain compatibility for version-0 functions, but those are no longer supported, so these options can be removed. There is a fair amount of code all over the place to support these options, so the cleanup is quite significant. The current behavior became the default in PG9.3. Note that this does not affect on-disk storage. The only upgrade issue that I can see is that pg_upgrade refuses to upgrade incompatible clusters if you have contrib/isn installed. But hopefully everyone who is affected by that will have upgraded at least once since PG9.2 already. float4 is now always pass-by-value; the pass-by-reference code path is completely removed. float8 and related types are now hardcoded to pass-by-value or pass-by-reference depending on whether the build is 64- or 32-bit, as was previously also the default. -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services --------------E12BAC548D38CD918BA0A238 Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="0001-Remove-configure-disable-float4-byval-and-disable-fl.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0001-Remove-configure-disable-float4-byval-and-disable-fl.pa"; filename*1="tch" RnJvbSBlMDA5NzU1YTE2MGQzZDY3OTAwYzgwYzliYzE3Mjc2ZTI3Zjc5YmFhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogVGh1LCAzMSBPY3QgMjAxOSAwOToyMTozOCArMDEwMApTdWJqZWN0 OiBbUEFUQ0ggMS8zXSBSZW1vdmUgY29uZmlndXJlIC0tZGlzYWJsZS1mbG9hdDQtYnl2YWwg YW5kCiAtLWRpc2FibGUtZmxvYXQ4LWJ5dmFsCgpUaGVzZSBidWlsZCBvcHRpb25zIHdlcmUg b25seSB1c2VmdWwgdG8gbWFpbnRhaW4gY29tcGF0aWJpbGl0eSBmb3IgdmVyc2lvbi0wCmZ1 bmN0aW9ucywgYnV0IHRob3NlIGFyZSBubyBsb25nZXIgc3VwcG9ydGVkLCBzbyB0aGVzZSBv cHRpb25zIGNhbiBiZQpyZW1vdmVkLgoKZmxvYXQ0IGlzIG5vdyBhbHdheXMgcGFzcy1ieS12 YWx1ZTsgdGhlIHBhc3MtYnktcmVmZXJlbmNlCmNvZGUgcGF0aCBpcyBjb21wbGV0ZWx5IHJl bW92ZWQuCgpmbG9hdDggYW5kIHJlbGF0ZWQgdHlwZXMgYXJlIG5vdyBoYXJkY29kZWQgdG8g cGFzcy1ieS12YWx1ZSBvcgpwYXNzLWJ5LXJlZmVyZW5jZSBkZXBlbmRpbmcgb24gd2hldGhl ciB0aGUgYnVpbGQgaXMgNjQtIG9yIDMyLWJpdCwgYXMKd2FzIHByZXZpb3VzbHkgYWxzbyB0 aGUgZGVmYXVsdC4KLS0tCiBjb25maWd1cmUgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAxMTggLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBjb25maWd1cmUuaW4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgMzMgLS0tLS0tLQogZG9jL3NyYy9zZ21sL2Z1bmMu c2dtbCAgICAgICAgICAgICAgICAgIHwgIDEwIC0tCiBkb2Mvc3JjL3NnbWwvaW5zdGFsbGF0 aW9uLnNnbWwgICAgICAgICAgfCAgMjggLS0tLS0tCiBzcmMvYmFja2VuZC9hY2Nlc3MvaW5k ZXgvaW5kZXhhbS5jICAgICAgfCAgIDUgLQogc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0v eGxvZy5jICAgICAgIHwgIDM1IC0tLS0tLS0KIHNyYy9iYWNrZW5kL2Jvb3RzdHJhcC9ib290 c3RyYXAuYyAgICAgICB8ICAgMiArLQogc3JjL2JhY2tlbmQvY2F0YWxvZy9nZW5ia2kucGwg ICAgICAgICAgIHwgICAyICstCiBzcmMvYmFja2VuZC9jb21tYW5kcy9hbmFseXplLmMgICAg ICAgICAgfCAgIDIgKy0KIHNyYy9iYWNrZW5kL3V0aWxzL2FkdC9udW1lcmljLmMgICAgICAg ICB8ICAgNSArLQogc3JjL2JhY2tlbmQvdXRpbHMvZm1nci9kZm1nci5jICAgICAgICAgIHwg IDE4IC0tLS0KIHNyYy9iYWNrZW5kL3V0aWxzL2ZtZ3IvZm1nci5jICAgICAgICAgICB8ICAy MyArLS0tLQogc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9wZ19jb250cm9sZGF0YS5jIHwgIDE4 ICstLS0KIHNyYy9iaW4vaW5pdGRiL2luaXRkYi5jICAgICAgICAgICAgICAgICB8ICAgMyAt CiBzcmMvYmluL3BnX2NvbnRyb2xkYXRhL3BnX2NvbnRyb2xkYXRhLmMgfCAgIDQgLQogc3Jj L2Jpbi9wZ19yZXNldHdhbC9wZ19yZXNldHdhbC5jICAgICAgIHwgICA2IC0tCiBzcmMvYmlu L3BnX3VwZ3JhZGUvY29udHJvbGRhdGEuYyAgICAgICAgfCAgIDcgKysKIHNyYy9pbmNsdWRl L2MuaCAgICAgICAgICAgICAgICAgICAgICAgICB8ICAxNSArKysKIHNyYy9pbmNsdWRlL2Nh dGFsb2cvY2F0dmVyc2lvbi5oICAgICAgICB8ICAgMiArLQogc3JjL2luY2x1ZGUvY2F0YWxv Zy9wZ19jb250cm9sLmggICAgICAgIHwgICA2ICstCiBzcmMvaW5jbHVkZS9jYXRhbG9nL3Bn X3Byb2MuZGF0ICAgICAgICAgfCAgIDYgKy0KIHNyYy9pbmNsdWRlL2NhdGFsb2cvcGdfdHlw ZS5kYXQgICAgICAgICB8ICAgMiArLQogc3JjL2luY2x1ZGUvZm1nci5oICAgICAgICAgICAg ICAgICAgICAgIHwgICA0IC0KIHNyYy9pbmNsdWRlL3BnX2NvbmZpZy5oLmluICAgICAgICAg ICAgICB8ICAxNSAtLS0KIHNyYy9pbmNsdWRlL3Bvc3RncmVzLmggICAgICAgICAgICAgICAg ICB8ICAyMyArLS0tLQogc3JjL3Rvb2xzL21zdmMvU29sdXRpb24ucG0gICAgICAgICAgICAg IHwgIDI1IC0tLS0tCiBzcmMvdG9vbHMvbXN2Yy9jb25maWdfZGVmYXVsdC5wbCAgICAgICAg fCAgIDUgLQogMjcgZmlsZXMgY2hhbmdlZCwgNDAgaW5zZXJ0aW9ucygrKSwgMzgyIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZSBiL2NvbmZpZ3VyZQppbmRleCA2YjFj Nzc5ZWUzLi5iMzhhZDE1MjZkIDEwMDc1NQotLS0gYS9jb25maWd1cmUKKysrIGIvY29uZmln dXJlCkBAIC04NjYsOCArODY2LDYgQEAgd2l0aF9zeXN0ZW1fdHpkYXRhCiB3aXRoX3psaWIK IHdpdGhfZ251X2xkCiBlbmFibGVfbGFyZ2VmaWxlCi1lbmFibGVfZmxvYXQ0X2J5dmFsCi1l bmFibGVfZmxvYXQ4X2J5dmFsCiAnCiAgICAgICBhY19wcmVjaW91c192YXJzPSdidWlsZF9h bGlhcwogaG9zdF9hbGlhcwpAQCAtMTUyNSw4ICsxNTIzLDYgQEAgT3B0aW9uYWwgRmVhdHVy ZXM6CiAgIC0tZW5hYmxlLWNhc3NlcnQgICAgICAgIGVuYWJsZSBhc3NlcnRpb24gY2hlY2tz IChmb3IgZGVidWdnaW5nKQogICAtLWRpc2FibGUtdGhyZWFkLXNhZmV0eSBkaXNhYmxlIHRo cmVhZC1zYWZldHkgaW4gY2xpZW50IGxpYnJhcmllcwogICAtLWRpc2FibGUtbGFyZ2VmaWxl ICAgICBvbWl0IHN1cHBvcnQgZm9yIGxhcmdlIGZpbGVzCi0gIC0tZGlzYWJsZS1mbG9hdDQt Ynl2YWwgIGRpc2FibGUgZmxvYXQ0IHBhc3NlZCBieSB2YWx1ZQotICAtLWRpc2FibGUtZmxv YXQ4LWJ5dmFsICBkaXNhYmxlIGZsb2F0OCBwYXNzZWQgYnkgdmFsdWUKIAogT3B0aW9uYWwg UGFja2FnZXM6CiAgIC0td2l0aC1QQUNLQUdFWz1BUkddICAgIHVzZSBQQUNLQUdFIFtBUkc9 eWVzXQpAQCAtMTY4MDEsMTIwICsxNjc5Nyw2IEBAIF9BQ0VPRgogCiAKIAotIyBEZWNpZGUg d2hldGhlciBmbG9hdDQgaXMgcGFzc2VkIGJ5IHZhbHVlOiB1c2VyLXNlbGVjdGFibGUsIGVu YWJsZWQgYnkgZGVmYXVsdAoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5F Tk99OiBjaGVja2luZyB3aGV0aGVyIHRvIGJ1aWxkIHdpdGggZmxvYXQ0IHBhc3NlZCBieSB2 YWx1ZSIgPiY1Ci0kYXNfZWNob19uICJjaGVja2luZyB3aGV0aGVyIHRvIGJ1aWxkIHdpdGgg ZmxvYXQ0IHBhc3NlZCBieSB2YWx1ZS4uLiAiID4mNjsgfQotCi0KLSMgQ2hlY2sgd2hldGhl ciAtLWVuYWJsZS1mbG9hdDQtYnl2YWwgd2FzIGdpdmVuLgotaWYgdGVzdCAiJHtlbmFibGVf ZmxvYXQ0X2J5dmFsK3NldH0iID0gc2V0OyB0aGVuIDoKLSAgZW5hYmxldmFsPSRlbmFibGVf ZmxvYXQ0X2J5dmFsOwotICBjYXNlICRlbmFibGV2YWwgaW4KLSAgICB5ZXMpCi0KLSRhc19l Y2hvICIjZGVmaW5lIFVTRV9GTE9BVDRfQllWQUwgMSIgPj5jb25mZGVmcy5oCi0KLSAgICAg ICAgICAgICAgIGZsb2F0NHBhc3NieXZhbD10cnVlCi0gICAgICA7OwotICAgIG5vKQotICAg ICAgZmxvYXQ0cGFzc2J5dmFsPWZhbHNlCi0gICAgICA7OwotICAgICopCi0gICAgICBhc19m bl9lcnJvciAkPyAibm8gYXJndW1lbnQgZXhwZWN0ZWQgZm9yIC0tZW5hYmxlLWZsb2F0NC1i eXZhbCBvcHRpb24iICIkTElORU5PIiA1Ci0gICAgICA7OwotICBlc2FjCi0KLWVsc2UKLSAg ZW5hYmxlX2Zsb2F0NF9ieXZhbD15ZXMKLQotJGFzX2VjaG8gIiNkZWZpbmUgVVNFX0ZMT0FU NF9CWVZBTCAxIiA+PmNvbmZkZWZzLmgKLQotICAgICAgICAgICAgICAgZmxvYXQ0cGFzc2J5 dmFsPXRydWUKLWZpCi0KLQoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5F Tk99OiByZXN1bHQ6ICRlbmFibGVfZmxvYXQ0X2J5dmFsIiA+JjUKLSRhc19lY2hvICIkZW5h YmxlX2Zsb2F0NF9ieXZhbCIgPiY2OyB9Ci0KLWNhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YK LSNkZWZpbmUgRkxPQVQ0UEFTU0JZVkFMICRmbG9hdDRwYXNzYnl2YWwKLV9BQ0VPRgotCi0K LSMgRGVjaWRlIHdoZXRoZXIgZmxvYXQ4IGlzIHBhc3NlZCBieSB2YWx1ZS4KLSMgTm90ZTog dGhpcyBzZXR0aW5nIGFsc28gY29udHJvbHMgaW50OCBhbmQgcmVsYXRlZCB0eXBlcyBzdWNo IGFzIHRpbWVzdGFtcC4KLSMgSWYgc2l6ZW9mKERhdHVtKSA+PSA4LCB0aGlzIGlzIHVzZXIt c2VsZWN0YWJsZSwgZW5hYmxlZCBieSBkZWZhdWx0LgotIyBJZiBub3QsIHRyeWluZyB0byBz ZWxlY3QgaXQgaXMgYW4gZXJyb3IuCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8t JExJTkVOT306IGNoZWNraW5nIHdoZXRoZXIgdG8gYnVpbGQgd2l0aCBmbG9hdDggcGFzc2Vk IGJ5IHZhbHVlIiA+JjUKLSRhc19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIgdG8gYnVpbGQg d2l0aCBmbG9hdDggcGFzc2VkIGJ5IHZhbHVlLi4uICIgPiY2OyB9Ci1pZiB0ZXN0ICRhY19j dl9zaXplb2Zfdm9pZF9wIC1nZSA4IDsgdGhlbgotCi0KLSMgQ2hlY2sgd2hldGhlciAtLWVu YWJsZS1mbG9hdDgtYnl2YWwgd2FzIGdpdmVuLgotaWYgdGVzdCAiJHtlbmFibGVfZmxvYXQ4 X2J5dmFsK3NldH0iID0gc2V0OyB0aGVuIDoKLSAgZW5hYmxldmFsPSRlbmFibGVfZmxvYXQ4 X2J5dmFsOwotICBjYXNlICRlbmFibGV2YWwgaW4KLSAgICB5ZXMpCi0gICAgICA6Ci0gICAg ICA7OwotICAgIG5vKQotICAgICAgOgotICAgICAgOzsKLSAgICAqKQotICAgICAgYXNfZm5f ZXJyb3IgJD8gIm5vIGFyZ3VtZW50IGV4cGVjdGVkIGZvciAtLWVuYWJsZS1mbG9hdDgtYnl2 YWwgb3B0aW9uIiAiJExJTkVOTyIgNQotICAgICAgOzsKLSAgZXNhYwotCi1lbHNlCi0gIGVu YWJsZV9mbG9hdDhfYnl2YWw9eWVzCi0KLWZpCi0KLQotZWxzZQotCi0KLSMgQ2hlY2sgd2hl dGhlciAtLWVuYWJsZS1mbG9hdDgtYnl2YWwgd2FzIGdpdmVuLgotaWYgdGVzdCAiJHtlbmFi bGVfZmxvYXQ4X2J5dmFsK3NldH0iID0gc2V0OyB0aGVuIDoKLSAgZW5hYmxldmFsPSRlbmFi bGVfZmxvYXQ4X2J5dmFsOwotICBjYXNlICRlbmFibGV2YWwgaW4KLSAgICB5ZXMpCi0gICAg ICA6Ci0gICAgICA7OwotICAgIG5vKQotICAgICAgOgotICAgICAgOzsKLSAgICAqKQotICAg ICAgYXNfZm5fZXJyb3IgJD8gIm5vIGFyZ3VtZW50IGV4cGVjdGVkIGZvciAtLWVuYWJsZS1m bG9hdDgtYnl2YWwgb3B0aW9uIiAiJExJTkVOTyIgNQotICAgICAgOzsKLSAgZXNhYwotCi1l bHNlCi0gIGVuYWJsZV9mbG9hdDhfYnl2YWw9bm8KLQotZmkKLQotCi0gIGlmIHRlc3QgIiRl bmFibGVfZmxvYXQ4X2J5dmFsIiA9IHllcyA7IHRoZW4KLSAgICBhc19mbl9lcnJvciAkPyAi LS1lbmFibGUtZmxvYXQ4LWJ5dmFsIGlzIG5vdCBzdXBwb3J0ZWQgb24gMzItYml0IHBsYXRm b3Jtcy4iICIkTElORU5PIiA1Ci0gIGZpCi1maQotaWYgdGVzdCAiJGVuYWJsZV9mbG9hdDhf Ynl2YWwiID0geWVzIDsgdGhlbgotCi0kYXNfZWNobyAiI2RlZmluZSBVU0VfRkxPQVQ4X0JZ VkFMIDEiID4+Y29uZmRlZnMuaAotCi0gIGZsb2F0OHBhc3NieXZhbD10cnVlCi1lbHNlCi0g IGZsb2F0OHBhc3NieXZhbD1mYWxzZQotZmkKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xp bmVuby0kTElORU5PfTogcmVzdWx0OiAkZW5hYmxlX2Zsb2F0OF9ieXZhbCIgPiY1Ci0kYXNf ZWNobyAiJGVuYWJsZV9mbG9hdDhfYnl2YWwiID4mNjsgfQotCi1jYXQgPj5jb25mZGVmcy5o IDw8X0FDRU9GCi0jZGVmaW5lIEZMT0FUOFBBU1NCWVZBTCAkZmxvYXQ4cGFzc2J5dmFsCi1f QUNFT0YKLQotCiAjIERldGVybWluZSBtZW1vcnkgYWxpZ25tZW50IHJlcXVpcmVtZW50cyBm b3IgdGhlIGJhc2ljIEMgZGF0YSB0eXBlcy4KIAogIyBUaGUgY2FzdCB0byBsb25nIGludCB3 b3JrcyBhcm91bmQgYSBidWcgaW4gdGhlIEhQIEMgQ29tcGlsZXIsCmRpZmYgLS1naXQgYS9j b25maWd1cmUuaW4gYi9jb25maWd1cmUuaW4KaW5kZXggMmI5MDI1Y2FjMy4uNzNkNTVhZTQ4 ZCAxMDA2NDQKLS0tIGEvY29uZmlndXJlLmluCisrKyBiL2NvbmZpZ3VyZS5pbgpAQCAtMTkz MSwzOSArMTkzMSw2IEBAIEFDX0NIRUNLX1NJWkVPRihbdm9pZCAqXSkKIEFDX0NIRUNLX1NJ WkVPRihbc2l6ZV90XSkKIEFDX0NIRUNLX1NJWkVPRihbbG9uZ10pCiAKLSMgRGVjaWRlIHdo ZXRoZXIgZmxvYXQ0IGlzIHBhc3NlZCBieSB2YWx1ZTogdXNlci1zZWxlY3RhYmxlLCBlbmFi bGVkIGJ5IGRlZmF1bHQKLUFDX01TR19DSEVDS0lORyhbd2hldGhlciB0byBidWlsZCB3aXRo IGZsb2F0NCBwYXNzZWQgYnkgdmFsdWVdKQotUEdBQ19BUkdfQk9PTChlbmFibGUsIGZsb2F0 NC1ieXZhbCwgeWVzLCBbZGlzYWJsZSBmbG9hdDQgcGFzc2VkIGJ5IHZhbHVlXSwKLSAgICAg ICAgICAgICAgW0FDX0RFRklORShbVVNFX0ZMT0FUNF9CWVZBTF0sIDEsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgW0RlZmluZSB0byAxIGlmIHlvdSB3YW50IGZsb2F0NCB2YWx1ZXMg dG8gYmUgcGFzc2VkIGJ5IHZhbHVlLiAoLS1lbmFibGUtZmxvYXQ0LWJ5dmFsKV0pCi0gICAg ICAgICAgICAgICBmbG9hdDRwYXNzYnl2YWw9dHJ1ZV0sCi0gICAgICAgICAgICAgIFtmbG9h dDRwYXNzYnl2YWw9ZmFsc2VdKQotQUNfTVNHX1JFU1VMVChbJGVuYWJsZV9mbG9hdDRfYnl2 YWxdKQotQUNfREVGSU5FX1VOUVVPVEVEKFtGTE9BVDRQQVNTQllWQUxdLCBbJGZsb2F0NHBh c3NieXZhbF0sIFtmbG9hdDQgdmFsdWVzIGFyZSBwYXNzZWQgYnkgdmFsdWUgaWYgJ3RydWUn LCBieSByZWZlcmVuY2UgaWYgJ2ZhbHNlJ10pCi0KLSMgRGVjaWRlIHdoZXRoZXIgZmxvYXQ4 IGlzIHBhc3NlZCBieSB2YWx1ZS4KLSMgTm90ZTogdGhpcyBzZXR0aW5nIGFsc28gY29udHJv bHMgaW50OCBhbmQgcmVsYXRlZCB0eXBlcyBzdWNoIGFzIHRpbWVzdGFtcC4KLSMgSWYgc2l6 ZW9mKERhdHVtKSA+PSA4LCB0aGlzIGlzIHVzZXItc2VsZWN0YWJsZSwgZW5hYmxlZCBieSBk ZWZhdWx0LgotIyBJZiBub3QsIHRyeWluZyB0byBzZWxlY3QgaXQgaXMgYW4gZXJyb3IuCi1B Q19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgdG8gYnVpbGQgd2l0aCBmbG9hdDggcGFzc2VkIGJ5 IHZhbHVlXSkKLWlmIHRlc3QgJGFjX2N2X3NpemVvZl92b2lkX3AgLWdlIDggOyB0aGVuCi0g IFBHQUNfQVJHX0JPT0woZW5hYmxlLCBmbG9hdDgtYnl2YWwsIHllcywgW2Rpc2FibGUgZmxv YXQ4IHBhc3NlZCBieSB2YWx1ZV0pCi1lbHNlCi0gIFBHQUNfQVJHX0JPT0woZW5hYmxlLCBm bG9hdDgtYnl2YWwsIG5vLCBbZGlzYWJsZSBmbG9hdDggcGFzc2VkIGJ5IHZhbHVlXSkKLSAg aWYgdGVzdCAiJGVuYWJsZV9mbG9hdDhfYnl2YWwiID0geWVzIDsgdGhlbgotICAgIEFDX01T R19FUlJPUihbLS1lbmFibGUtZmxvYXQ4LWJ5dmFsIGlzIG5vdCBzdXBwb3J0ZWQgb24gMzIt Yml0IHBsYXRmb3Jtcy5dKQotICBmaQotZmkKLWlmIHRlc3QgIiRlbmFibGVfZmxvYXQ4X2J5 dmFsIiA9IHllcyA7IHRoZW4KLSAgQUNfREVGSU5FKFtVU0VfRkxPQVQ4X0JZVkFMXSwgMSwK LSAgICAgICAgICAgIFtEZWZpbmUgdG8gMSBpZiB5b3Ugd2FudCBmbG9hdDgsIGludDgsIGV0 YyB2YWx1ZXMgdG8gYmUgcGFzc2VkIGJ5IHZhbHVlLiAoLS1lbmFibGUtZmxvYXQ4LWJ5dmFs KV0pCi0gIGZsb2F0OHBhc3NieXZhbD10cnVlCi1lbHNlCi0gIGZsb2F0OHBhc3NieXZhbD1m YWxzZQotZmkKLUFDX01TR19SRVNVTFQoWyRlbmFibGVfZmxvYXQ4X2J5dmFsXSkKLUFDX0RF RklORV9VTlFVT1RFRChbRkxPQVQ4UEFTU0JZVkFMXSwgWyRmbG9hdDhwYXNzYnl2YWxdLCBb ZmxvYXQ4LCBpbnQ4LCBhbmQgcmVsYXRlZCB2YWx1ZXMgYXJlIHBhc3NlZCBieSB2YWx1ZSBp ZiAndHJ1ZScsIGJ5IHJlZmVyZW5jZSBpZiAnZmFsc2UnXSkKLQogIyBEZXRlcm1pbmUgbWVt b3J5IGFsaWdubWVudCByZXF1aXJlbWVudHMgZm9yIHRoZSBiYXNpYyBDIGRhdGEgdHlwZXMu CiAKIEFDX0NIRUNLX0FMSUdOT0Yoc2hvcnQpCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwv ZnVuYy5zZ21sIGIvZG9jL3NyYy9zZ21sL2Z1bmMuc2dtbAppbmRleCAyOGViMzIyZjNmLi5l NGFlMTJmODc0IDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvZnVuYy5zZ21sCisrKyBiL2Rv Yy9zcmMvc2dtbC9mdW5jLnNnbWwKQEAgLTE5OTY0LDE2ICsxOTk2NCw2IEBAIDx0aXRsZT48 ZnVuY3Rpb24+cGdfY29udHJvbF9pbml0PC9mdW5jdGlvbj4gQ29sdW1uczwvdGl0bGU+CiAg ICAgICAgPGVudHJ5Pjx0eXBlPmludGVnZXI8L3R5cGU+PC9lbnRyeT4KICAgICAgIDwvcm93 PgogCi0gICAgICA8cm93PgotICAgICAgIDxlbnRyeT48bGl0ZXJhbD5mbG9hdDRfcGFzc19i eV92YWx1ZTwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgIDxlbnRyeT48dHlwZT5ib29sZWFu PC90eXBlPjwvZW50cnk+Ci0gICAgICA8L3Jvdz4KLQotICAgICAgPHJvdz4KLSAgICAgICA8 ZW50cnk+PGxpdGVyYWw+ZmxvYXQ4X3Bhc3NfYnlfdmFsdWU8L2xpdGVyYWw+PC9lbnRyeT4K LSAgICAgICA8ZW50cnk+PHR5cGU+Ym9vbGVhbjwvdHlwZT48L2VudHJ5PgotICAgICAgPC9y b3c+Ci0KICAgICAgIDxyb3c+CiAgICAgICAgPGVudHJ5PjxsaXRlcmFsPmRhdGFfcGFnZV9j aGVja3N1bV92ZXJzaW9uPC9saXRlcmFsPjwvZW50cnk+CiAgICAgICAgPGVudHJ5Pjx0eXBl PmludGVnZXI8L3R5cGU+PC9lbnRyeT4KZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9pbnN0 YWxsYXRpb24uc2dtbCBiL2RvYy9zcmMvc2dtbC9pbnN0YWxsYXRpb24uc2dtbAppbmRleCBk ODQ5NGUyOTNiLi45YzEwYTg5N2YxIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvaW5zdGFs bGF0aW9uLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL2luc3RhbGxhdGlvbi5zZ21sCkBAIC0x MjA0LDM0ICsxMjA0LDYgQEAgPHRpdGxlPkFudGktRmVhdHVyZXM8L3RpdGxlPgogICAgICAg IDwvbGlzdGl0ZW0+CiAgICAgICA8L3Zhcmxpc3RlbnRyeT4KIAotICAgICAgPHZhcmxpc3Rl bnRyeT4KLSAgICAgICA8dGVybT48b3B0aW9uPi0tZGlzYWJsZS1mbG9hdDQtYnl2YWw8L29w dGlvbj48L3Rlcm0+Ci0gICAgICAgPGxpc3RpdGVtPgotICAgICAgICA8cGFyYT4KLSAgICAg ICAgIERpc2FibGUgcGFzc2luZyBmbG9hdDQgdmFsdWVzIDxxdW90ZT5ieSB2YWx1ZTwvcXVv dGU+LCBjYXVzaW5nIHRoZW0KLSAgICAgICAgIHRvIGJlIHBhc3NlZCA8cXVvdGU+YnkgcmVm ZXJlbmNlPC9xdW90ZT4gaW5zdGVhZC4gIFRoaXMgb3B0aW9uIGNvc3RzCi0gICAgICAgICBw ZXJmb3JtYW5jZSwgYnV0IG1heSBiZSBuZWVkZWQgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCB2 ZXJ5IG9sZAotICAgICAgICAgdXNlci1kZWZpbmVkIGZ1bmN0aW9ucyB3cml0dGVuIGluIEMu Ci0gICAgICAgIDwvcGFyYT4KLSAgICAgICA8L2xpc3RpdGVtPgotICAgICAgPC92YXJsaXN0 ZW50cnk+Ci0KLSAgICAgIDx2YXJsaXN0ZW50cnk+Ci0gICAgICAgPHRlcm0+PG9wdGlvbj4t LWRpc2FibGUtZmxvYXQ4LWJ5dmFsPC9vcHRpb24+PC90ZXJtPgotICAgICAgIDxsaXN0aXRl bT4KLSAgICAgICAgPHBhcmE+Ci0gICAgICAgICBEaXNhYmxlIHBhc3NpbmcgZmxvYXQ4IHZh bHVlcyA8cXVvdGU+YnkgdmFsdWU8L3F1b3RlPiwgY2F1c2luZyB0aGVtCi0gICAgICAgICB0 byBiZSBwYXNzZWQgPHF1b3RlPmJ5IHJlZmVyZW5jZTwvcXVvdGU+IGluc3RlYWQuICBUaGlz IG9wdGlvbiBjb3N0cwotICAgICAgICAgcGVyZm9ybWFuY2UsIGJ1dCBtYXkgYmUgbmVlZGVk IGZvciBjb21wYXRpYmlsaXR5IHdpdGggdmVyeSBvbGQKLSAgICAgICAgIHVzZXItZGVmaW5l ZCBmdW5jdGlvbnMgd3JpdHRlbiBpbiBDLgotICAgICAgICAgTm90ZSB0aGF0IHRoaXMgb3B0 aW9uIGFmZmVjdHMgbm90IG9ubHkgZmxvYXQ4LCBidXQgYWxzbyBpbnQ4IGFuZCBzb21lCi0g ICAgICAgICByZWxhdGVkIHR5cGVzIHN1Y2ggYXMgdGltZXN0YW1wLgotICAgICAgICAgT24g MzItYml0IHBsYXRmb3JtcywgPG9wdGlvbj4tLWRpc2FibGUtZmxvYXQ4LWJ5dmFsPC9vcHRp b24+IGlzIHRoZSBkZWZhdWx0Ci0gICAgICAgICBhbmQgaXQgaXMgbm90IGFsbG93ZWQgdG8g c2VsZWN0IDxvcHRpb24+LS1lbmFibGUtZmxvYXQ4LWJ5dmFsPC9vcHRpb24+LgotICAgICAg ICA8L3BhcmE+Ci0gICAgICAgPC9saXN0aXRlbT4KLSAgICAgIDwvdmFybGlzdGVudHJ5Pgot CiAgICAgICA8dmFybGlzdGVudHJ5PgogICAgICAgIDx0ZXJtPjxvcHRpb24+LS1kaXNhYmxl LXNwaW5sb2Nrczwvb3B0aW9uPjwvdGVybT4KICAgICAgICA8bGlzdGl0ZW0+CmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvaW5kZXgvaW5kZXhhbS5jIGIvc3JjL2JhY2tlbmQv YWNjZXNzL2luZGV4L2luZGV4YW0uYwppbmRleCA5ZGZhMGRkZmJiLi40YWY0MTgyODdkIDEw MDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvaW5kZXgvaW5kZXhhbS5jCisrKyBiL3Ny Yy9iYWNrZW5kL2FjY2Vzcy9pbmRleC9pbmRleGFtLmMKQEAgLTg3OSwxMSArODc5LDYgQEAg aW5kZXhfc3RvcmVfZmxvYXQ4X29yZGVyYnlfZGlzdGFuY2VzKEluZGV4U2NhbkRlc2Mgc2Nh biwgT2lkICpvcmRlckJ5VHlwZXMsCiAJCWVsc2UgaWYgKG9yZGVyQnlUeXBlc1tpXSA9PSBG TE9BVDRPSUQpCiAJCXsKIAkJCS8qIGNvbnZlcnQgZGlzdGFuY2UgZnVuY3Rpb24ncyByZXN1 bHQgdG8gT1JERVIgQlkgdHlwZSAqLwotI2lmbmRlZiBVU0VfRkxPQVQ0X0JZVkFMCi0JCQkv KiBtdXN0IGZyZWUgYW55IG9sZCB2YWx1ZSB0byBhdm9pZCBtZW1vcnkgbGVha2FnZSAqLwot CQkJaWYgKCFzY2FuLT54c19vcmRlcmJ5bnVsbHNbaV0pCi0JCQkJcGZyZWUoRGF0dW1HZXRQ b2ludGVyKHNjYW4tPnhzX29yZGVyYnl2YWxzW2ldKSk7Ci0jZW5kaWYKIAkJCWlmIChkaXN0 YW5jZXMgJiYgIWRpc3RhbmNlc1tpXS5pc251bGwpCiAJCQl7CiAJCQkJc2Nhbi0+eHNfb3Jk ZXJieXZhbHNbaV0gPSBGbG9hdDRHZXREYXR1bSgoZmxvYXQ0KSBkaXN0YW5jZXNbaV0udmFs dWUpOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGxvZy5jIGIv c3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGxvZy5jCmluZGV4IDJlM2NjNTEwMDYuLjI3 ZjJjNmJiZTIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hsb2cu YworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94bG9nLmMKQEAgLTQ1MTYsOSAr NDUxNiw2IEBAIFdyaXRlQ29udHJvbEZpbGUodm9pZCkKIAlDb250cm9sRmlsZS0+dG9hc3Rf bWF4X2NodW5rX3NpemUgPSBUT0FTVF9NQVhfQ0hVTktfU0laRTsKIAlDb250cm9sRmlsZS0+ bG9ibGtzaXplID0gTE9CTEtTSVpFOwogCi0JQ29udHJvbEZpbGUtPmZsb2F0NEJ5VmFsID0g RkxPQVQ0UEFTU0JZVkFMOwotCUNvbnRyb2xGaWxlLT5mbG9hdDhCeVZhbCA9IEZMT0FUOFBB U1NCWVZBTDsKLQogCS8qIENvbnRlbnRzIGFyZSBwcm90ZWN0ZWQgd2l0aCBhIENSQyAqLwog CUlOSVRfQ1JDMzJDKENvbnRyb2xGaWxlLT5jcmMpOwogCUNPTVBfQ1JDMzJDKENvbnRyb2xG aWxlLT5jcmMsCkBAIC00NzIwLDM4ICs0NzE3LDYgQEAgUmVhZENvbnRyb2xGaWxlKHZvaWQp CiAJCQkJCQkgICBDb250cm9sRmlsZS0+bG9ibGtzaXplLCAoaW50KSBMT0JMS1NJWkUpLAog CQkJCSBlcnJoaW50KCJJdCBsb29rcyBsaWtlIHlvdSBuZWVkIHRvIHJlY29tcGlsZSBvciBp bml0ZGIuIikpKTsKIAotI2lmZGVmIFVTRV9GTE9BVDRfQllWQUwKLQlpZiAoQ29udHJvbEZp bGUtPmZsb2F0NEJ5VmFsICE9IHRydWUpCi0JCWVyZXBvcnQoRkFUQUwsCi0JCQkJKGVycm1z ZygiZGF0YWJhc2UgZmlsZXMgYXJlIGluY29tcGF0aWJsZSB3aXRoIHNlcnZlciIpLAotCQkJ CSBlcnJkZXRhaWwoIlRoZSBkYXRhYmFzZSBjbHVzdGVyIHdhcyBpbml0aWFsaXplZCB3aXRo b3V0IFVTRV9GTE9BVDRfQllWQUwiCi0JCQkJCQkgICAiIGJ1dCB0aGUgc2VydmVyIHdhcyBj b21waWxlZCB3aXRoIFVTRV9GTE9BVDRfQllWQUwuIiksCi0JCQkJIGVycmhpbnQoIkl0IGxv b2tzIGxpa2UgeW91IG5lZWQgdG8gcmVjb21waWxlIG9yIGluaXRkYi4iKSkpOwotI2Vsc2UK LQlpZiAoQ29udHJvbEZpbGUtPmZsb2F0NEJ5VmFsICE9IGZhbHNlKQotCQllcmVwb3J0KEZB VEFMLAotCQkJCShlcnJtc2coImRhdGFiYXNlIGZpbGVzIGFyZSBpbmNvbXBhdGlibGUgd2l0 aCBzZXJ2ZXIiKSwKLQkJCQkgZXJyZGV0YWlsKCJUaGUgZGF0YWJhc2UgY2x1c3RlciB3YXMg aW5pdGlhbGl6ZWQgd2l0aCBVU0VfRkxPQVQ0X0JZVkFMIgotCQkJCQkJICAgIiBidXQgdGhl IHNlcnZlciB3YXMgY29tcGlsZWQgd2l0aG91dCBVU0VfRkxPQVQ0X0JZVkFMLiIpLAotCQkJ CSBlcnJoaW50KCJJdCBsb29rcyBsaWtlIHlvdSBuZWVkIHRvIHJlY29tcGlsZSBvciBpbml0 ZGIuIikpKTsKLSNlbmRpZgotCi0jaWZkZWYgVVNFX0ZMT0FUOF9CWVZBTAotCWlmIChDb250 cm9sRmlsZS0+ZmxvYXQ4QnlWYWwgIT0gdHJ1ZSkKLQkJZXJlcG9ydChGQVRBTCwKLQkJCQko ZXJybXNnKCJkYXRhYmFzZSBmaWxlcyBhcmUgaW5jb21wYXRpYmxlIHdpdGggc2VydmVyIiks Ci0JCQkJIGVycmRldGFpbCgiVGhlIGRhdGFiYXNlIGNsdXN0ZXIgd2FzIGluaXRpYWxpemVk IHdpdGhvdXQgVVNFX0ZMT0FUOF9CWVZBTCIKLQkJCQkJCSAgICIgYnV0IHRoZSBzZXJ2ZXIg d2FzIGNvbXBpbGVkIHdpdGggVVNFX0ZMT0FUOF9CWVZBTC4iKSwKLQkJCQkgZXJyaGludCgi SXQgbG9va3MgbGlrZSB5b3UgbmVlZCB0byByZWNvbXBpbGUgb3IgaW5pdGRiLiIpKSk7Ci0j ZWxzZQotCWlmIChDb250cm9sRmlsZS0+ZmxvYXQ4QnlWYWwgIT0gZmFsc2UpCi0JCWVyZXBv cnQoRkFUQUwsCi0JCQkJKGVycm1zZygiZGF0YWJhc2UgZmlsZXMgYXJlIGluY29tcGF0aWJs ZSB3aXRoIHNlcnZlciIpLAotCQkJCSBlcnJkZXRhaWwoIlRoZSBkYXRhYmFzZSBjbHVzdGVy IHdhcyBpbml0aWFsaXplZCB3aXRoIFVTRV9GTE9BVDhfQllWQUwiCi0JCQkJCQkgICAiIGJ1 dCB0aGUgc2VydmVyIHdhcyBjb21waWxlZCB3aXRob3V0IFVTRV9GTE9BVDhfQllWQUwuIiks Ci0JCQkJIGVycmhpbnQoIkl0IGxvb2tzIGxpa2UgeW91IG5lZWQgdG8gcmVjb21waWxlIG9y IGluaXRkYi4iKSkpOwotI2VuZGlmCi0KIAl3YWxfc2VnbWVudF9zaXplID0gQ29udHJvbEZp bGUtPnhsb2dfc2VnX3NpemU7CiAKIAlpZiAoIUlzVmFsaWRXYWxTZWdTaXplKHdhbF9zZWdt ZW50X3NpemUpKQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYm9vdHN0cmFwL2Jvb3RzdHJh cC5jIGIvc3JjL2JhY2tlbmQvYm9vdHN0cmFwL2Jvb3RzdHJhcC5jCmluZGV4IDkyMzhmYmU5 OGQuLjhlYTAzMzYxMGQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2Jvb3RzdHJhcC9ib290 c3RyYXAuYworKysgYi9zcmMvYmFja2VuZC9ib290c3RyYXAvYm9vdHN0cmFwLmMKQEAgLTEx MSw3ICsxMTEsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHR5cGluZm8gVHlwSW5mb1tdID0g ewogCUZfSU5UMklOLCBGX0lOVDJPVVR9LAogCXsiaW50NCIsIElOVDRPSUQsIDAsIDQsIHRy dWUsICdpJywgJ3AnLCBJbnZhbGlkT2lkLAogCUZfSU5UNElOLCBGX0lOVDRPVVR9LAotCXsi ZmxvYXQ0IiwgRkxPQVQ0T0lELCAwLCA0LCBGTE9BVDRQQVNTQllWQUwsICdpJywgJ3AnLCBJ bnZhbGlkT2lkLAorCXsiZmxvYXQ0IiwgRkxPQVQ0T0lELCAwLCA0LCB0cnVlLCAnaScsICdw JywgSW52YWxpZE9pZCwKIAlGX0ZMT0FUNElOLCBGX0ZMT0FUNE9VVH0sCiAJeyJuYW1lIiwg TkFNRU9JRCwgQ0hBUk9JRCwgTkFNRURBVEFMRU4sIGZhbHNlLCAnYycsICdwJywgQ19DT0xM QVRJT05fT0lELAogCUZfTkFNRUlOLCBGX05BTUVPVVR9LApkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvY2F0YWxvZy9nZW5ia2kucGwgYi9zcmMvYmFja2VuZC9jYXRhbG9nL2dlbmJraS5w bAppbmRleCAyMDFkMTJkMzU4Li42ZWZmMDQ1YmQ5IDEwMDY0NAotLS0gYS9zcmMvYmFja2Vu ZC9jYXRhbG9nL2dlbmJraS5wbAorKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL2dlbmJraS5w bApAQCAtODkwLDcgKzg5MCw3IEBAIHN1YiBtb3JwaF9yb3dfZm9yX3NjaGVtYXBnCiAJCX0K IAogCQkjIEV4cGFuZCBib29sZWFucyBmcm9tICdmJy8ndCcgdG8gJ2ZhbHNlJy8ndHJ1ZScu Ci0JCSMgU29tZSB2YWx1ZXMgbWlnaHQgYmUgb3RoZXIgbWFjcm9zIChlZyBGTE9BVDRQQVNT QllWQUwpLAorCQkjIFNvbWUgdmFsdWVzIG1pZ2h0IGJlIG90aGVyIG1hY3JvcyAoZWcgRkxP QVQ4UEFTU0JZVkFMKSwKIAkJIyBkb24ndCBjaGFuZ2UuCiAJCWVsc2lmICgkYXR0dHlwZSBl cSAnYm9vbCcpCiAJCXsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2FuYWx5 emUuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2FuYWx5emUuYwppbmRleCA3YWNjYjk1MGVi Li43MTM3MmNlYjE2IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy9hbmFseXpl LmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvYW5hbHl6ZS5jCkBAIC0xNDk2LDcgKzE0 OTYsNyBAQCB1cGRhdGVfYXR0c3RhdHMoT2lkIHJlbGlkLCBib29sIGluaCwgaW50IG5hdHRz LCBWYWNBdHRyU3RhdHMgKip2YWNhdHRyc3RhdHMpCiAJCQkJLyogWFhYIGtub3dzIG1vcmUg dGhhbiBpdCBzaG91bGQgYWJvdXQgdHlwZSBmbG9hdDQ6ICovCiAJCQkJYXJyeSA9IGNvbnN0 cnVjdF9hcnJheShudW1kYXR1bXMsIG5udW0sCiAJCQkJCQkJCQkgICBGTE9BVDRPSUQsCi0J CQkJCQkJCQkgICBzaXplb2YoZmxvYXQ0KSwgRkxPQVQ0UEFTU0JZVkFMLCAnaScpOworCQkJ CQkJCQkJICAgc2l6ZW9mKGZsb2F0NCksIHRydWUsICdpJyk7CiAJCQkJdmFsdWVzW2krK10g PSBQb2ludGVyR2V0RGF0dW0oYXJyeSk7CS8qIHN0YW51bWJlcnNOICovCiAJCQl9CiAJCQll bHNlCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hZHQvbnVtZXJpYy5jIGIvc3Jj L2JhY2tlbmQvdXRpbHMvYWR0L251bWVyaWMuYwppbmRleCBhMDBkYjNjZTdhLi4yMWNjOWE4 MTA5IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQvbnVtZXJpYy5jCisrKyBi L3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9udW1lcmljLmMKQEAgLTM1MSw4ICszNTEsOSBAQCB0 eXBlZGVmIHN0cnVjdCBOdW1lcmljU3VtQWNjdW0KIC8qCiAgKiBXZSBkZWZpbmUgb3VyIG93 biBtYWNyb3MgZm9yIHBhY2tpbmcgYW5kIHVucGFja2luZyBhYmJyZXZpYXRlZC1rZXkKICAq IHJlcHJlc2VudGF0aW9ucyBmb3IgbnVtZXJpYyB2YWx1ZXMgaW4gb3JkZXIgdG8gYXZvaWQg ZGVwZW5kaW5nIG9uCi0gKiBVU0VfRkxPQVQ4X0JZVkFMLiAgVGhlIHR5cGUgb2YgYWJicmV2 aWF0aW9uIHdlIHVzZSBpcyBiYXNlZCBvbmx5IG9uCi0gKiB0aGUgc2l6ZSBvZiBhIGRhdHVt LCBub3QgdGhlIGFyZ3VtZW50LXBhc3NpbmcgY29udmVudGlvbiBmb3IgZmxvYXQ4LgorICog VVNFX0ZMT0FUOF9CWVZBTCwgd2hpY2ggd2FzIHByZXZpb3VzbHkgYnVpbGQtdGltZSBjb25m aWd1cmFibGUuICBUaGUgdHlwZQorICogb2YgYWJicmV2aWF0aW9uIHdlIHVzZSBpcyBiYXNl ZCBvbmx5IG9uIHRoZSBzaXplIG9mIGEgZGF0dW0sIG5vdCB0aGUKKyAqIGFyZ3VtZW50LXBh c3NpbmcgY29udmVudGlvbiBmb3IgZmxvYXQ4LgogICovCiAjZGVmaW5lIE5VTUVSSUNfQUJC UkVWX0JJVFMgKFNJWkVPRl9EQVRVTSAqIEJJVFNfUEVSX0JZVEUpCiAjaWYgU0laRU9GX0RB VFVNID09IDgKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2ZtZ3IvZGZtZ3IuYyBi L3NyYy9iYWNrZW5kL3V0aWxzL2ZtZ3IvZGZtZ3IuYwppbmRleCBiZTY4NDc4NmQ2Li41ODkz NzE5NDJmIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9mbWdyL2RmbWdyLmMKKysr IGIvc3JjL2JhY2tlbmQvdXRpbHMvZm1nci9kZm1nci5jCkBAIC0zNjUsMjQgKzM2NSw2IEBA IGluY29tcGF0aWJsZV9tb2R1bGVfZXJyb3IoY29uc3QgY2hhciAqbGlibmFtZSwKIAkJCQkJ CSBtYWdpY19kYXRhLm5hbWVkYXRhbGVuLAogCQkJCQkJIG1vZHVsZV9tYWdpY19kYXRhLT5u YW1lZGF0YWxlbik7CiAJfQotCWlmIChtb2R1bGVfbWFnaWNfZGF0YS0+ZmxvYXQ0Ynl2YWwg IT0gbWFnaWNfZGF0YS5mbG9hdDRieXZhbCkKLQl7Ci0JCWlmIChkZXRhaWxzLmxlbikKLQkJ CWFwcGVuZFN0cmluZ0luZm9DaGFyKCZkZXRhaWxzLCAnXG4nKTsKLQkJYXBwZW5kU3RyaW5n SW5mbygmZGV0YWlscywKLQkJCQkJCSBfKCJTZXJ2ZXIgaGFzIEZMT0FUNFBBU1NCWVZBTCA9 ICVzLCBsaWJyYXJ5IGhhcyAlcy4iKSwKLQkJCQkJCSBtYWdpY19kYXRhLmZsb2F0NGJ5dmFs ID8gInRydWUiIDogImZhbHNlIiwKLQkJCQkJCSBtb2R1bGVfbWFnaWNfZGF0YS0+ZmxvYXQ0 Ynl2YWwgPyAidHJ1ZSIgOiAiZmFsc2UiKTsKLQl9Ci0JaWYgKG1vZHVsZV9tYWdpY19kYXRh LT5mbG9hdDhieXZhbCAhPSBtYWdpY19kYXRhLmZsb2F0OGJ5dmFsKQotCXsKLQkJaWYgKGRl dGFpbHMubGVuKQotCQkJYXBwZW5kU3RyaW5nSW5mb0NoYXIoJmRldGFpbHMsICdcbicpOwot CQlhcHBlbmRTdHJpbmdJbmZvKCZkZXRhaWxzLAotCQkJCQkJIF8oIlNlcnZlciBoYXMgRkxP QVQ4UEFTU0JZVkFMID0gJXMsIGxpYnJhcnkgaGFzICVzLiIpLAotCQkJCQkJIG1hZ2ljX2Rh dGEuZmxvYXQ4Ynl2YWwgPyAidHJ1ZSIgOiAiZmFsc2UiLAotCQkJCQkJIG1vZHVsZV9tYWdp Y19kYXRhLT5mbG9hdDhieXZhbCA/ICJ0cnVlIiA6ICJmYWxzZSIpOwotCX0KIAogCWlmIChk ZXRhaWxzLmxlbiA9PSAwKQogCQlhcHBlbmRTdHJpbmdJbmZvU3RyaW5nKCZkZXRhaWxzLApk aWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvZm1nci9mbWdyLmMgYi9zcmMvYmFja2Vu ZC91dGlscy9mbWdyL2ZtZ3IuYwppbmRleCAwOTllYmQ3NzliLi5jMmVhYTYxNzhkIDEwMDY0 NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9mbWdyL2ZtZ3IuYworKysgYi9zcmMvYmFja2Vu ZC91dGlscy9mbWdyL2ZtZ3IuYwpAQCAtMTY4MywxMyArMTY4Myw3IEBAIE9pZFNlbmRGdW5j dGlvbkNhbGwoT2lkIGZ1bmN0aW9uSWQsIERhdHVtIHZhbCkKIC8qLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQogICoJCVN1cHBvcnQgcm91dGluZXMgZm9yIHN0YW5kYXJkIG1heWJlLXBhc3MtYnkt cmVmZXJlbmNlIGRhdGF0eXBlcwogICoKLSAqIGludDgsIGZsb2F0NCwgYW5kIGZsb2F0OCBj YW4gYmUgcGFzc2VkIGJ5IHZhbHVlIGlmIERhdHVtIGlzIHdpZGUgZW5vdWdoLgotICogKEZv ciBiYWNrd2FyZHMtY29tcGF0aWJpbGl0eSByZWFzb25zLCB3ZSBhbGxvdyBwYXNzLWJ5LXJl ZiB0byBiZSBjaG9zZW4KLSAqIGF0IGNvbXBpbGUgdGltZSBldmVuIGlmIHBhc3MtYnktdmFs IGlzIHBvc3NpYmxlLikKLSAqCi0gKiBOb3RlOiB0aGVyZSBpcyBvbmx5IG9uZSBzd2l0Y2gg Y29udHJvbGxpbmcgdGhlIHBhc3MtYnktdmFsdWUgb3B0aW9uIGZvcgotICogYm90aCBpbnQ4 IGFuZCBmbG9hdDg7IHRoaXMgaXMgdG8gYXZvaWQgbWFraW5nIHRoaW5ncyB1bmR1bHkgY29t cGxpY2F0ZWQKLSAqIGZvciB0aGUgdGltZXN0YW1wIHR5cGVzLCB3aGljaCBtaWdodCBoYXZl IGVpdGhlciByZXByZXNlbnRhdGlvbi4KKyAqIGludDggYW5kIGZsb2F0OCBjYW4gYmUgcGFz c2VkIGJ5IHZhbHVlIGlmIERhdHVtIGlzIHdpZGUgZW5vdWdoLgogICotLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCiAgKi8KIApAQCAtMTcwMywyMSArMTY5Nyw2IEBAIEludDY0R2V0RGF0dW0oaW50 NjQgWCkKIAkqcmV0dmFsID0gWDsKIAlyZXR1cm4gUG9pbnRlckdldERhdHVtKHJldHZhbCk7 CiB9Ci0jZW5kaWYJCQkJCQkJLyogVVNFX0ZMT0FUOF9CWVZBTCAqLwotCi0jaWZuZGVmIFVT RV9GTE9BVDRfQllWQUwKLQotRGF0dW0KLUZsb2F0NEdldERhdHVtKGZsb2F0NCBYKQotewot CWZsb2F0NAkgICAqcmV0dmFsID0gKGZsb2F0NCAqKSBwYWxsb2Moc2l6ZW9mKGZsb2F0NCkp OwotCi0JKnJldHZhbCA9IFg7Ci0JcmV0dXJuIFBvaW50ZXJHZXREYXR1bShyZXR2YWwpOwot fQotI2VuZGlmCi0KLSNpZm5kZWYgVVNFX0ZMT0FUOF9CWVZBTAogCiBEYXR1bQogRmxvYXQ4 R2V0RGF0dW0oZmxvYXQ4IFgpCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9taXNj L3BnX2NvbnRyb2xkYXRhLmMgYi9zcmMvYmFja2VuZC91dGlscy9taXNjL3BnX2NvbnRyb2xk YXRhLmMKaW5kZXggYjQyOTIxODAwYi4uMzMwYzIxMDQwNyAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvdXRpbHMvbWlzYy9wZ19jb250cm9sZGF0YS5jCisrKyBiL3NyYy9iYWNrZW5kL3V0 aWxzL21pc2MvcGdfY29udHJvbGRhdGEuYwpAQCAtMjY0LDggKzI2NCw4IEBAIHBnX2NvbnRy b2xfcmVjb3ZlcnkoUEdfRlVOQ1RJT05fQVJHUykKIERhdHVtCiBwZ19jb250cm9sX2luaXQo UEdfRlVOQ1RJT05fQVJHUykKIHsKLQlEYXR1bQkJdmFsdWVzWzEyXTsKLQlib29sCQludWxs c1sxMl07CisJRGF0dW0JCXZhbHVlc1sxMF07CisJYm9vbAkJbnVsbHNbMTBdOwogCVR1cGxl RGVzYwl0dXBkZXNjOwogCUhlYXBUdXBsZQlodHVwOwogCUNvbnRyb2xGaWxlRGF0YSAqQ29u dHJvbEZpbGU7CkBAIC0yOTQsMTEgKzI5NCw3IEBAIHBnX2NvbnRyb2xfaW5pdChQR19GVU5D VElPTl9BUkdTKQogCQkJCQkgICBJTlQ0T0lELCAtMSwgMCk7CiAJVHVwbGVEZXNjSW5pdEVu dHJ5KHR1cGRlc2MsIChBdHRyTnVtYmVyKSA5LCAibGFyZ2Vfb2JqZWN0X2NodW5rX3NpemUi LAogCQkJCQkgICBJTlQ0T0lELCAtMSwgMCk7Ci0JVHVwbGVEZXNjSW5pdEVudHJ5KHR1cGRl c2MsIChBdHRyTnVtYmVyKSAxMCwgImZsb2F0NF9wYXNzX2J5X3ZhbHVlIiwKLQkJCQkJICAg Qk9PTE9JRCwgLTEsIDApOwotCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51 bWJlcikgMTEsICJmbG9hdDhfcGFzc19ieV92YWx1ZSIsCi0JCQkJCSAgIEJPT0xPSUQsIC0x LCAwKTsKLQlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpIDEyLCAi ZGF0YV9wYWdlX2NoZWNrc3VtX3ZlcnNpb24iLAorCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBk ZXNjLCAoQXR0ck51bWJlcikgMTAsICJkYXRhX3BhZ2VfY2hlY2tzdW1fdmVyc2lvbiIsCiAJ CQkJCSAgIElOVDRPSUQsIC0xLCAwKTsKIAl0dXBkZXNjID0gQmxlc3NUdXBsZURlc2ModHVw ZGVzYyk7CiAKQEAgLTMzNSwxNSArMzMxLDkgQEAgcGdfY29udHJvbF9pbml0KFBHX0ZVTkNU SU9OX0FSR1MpCiAJdmFsdWVzWzhdID0gSW50MzJHZXREYXR1bShDb250cm9sRmlsZS0+bG9i bGtzaXplKTsKIAludWxsc1s4XSA9IGZhbHNlOwogCi0JdmFsdWVzWzldID0gQm9vbEdldERh dHVtKENvbnRyb2xGaWxlLT5mbG9hdDRCeVZhbCk7CisJdmFsdWVzWzldID0gSW50MzJHZXRE YXR1bShDb250cm9sRmlsZS0+ZGF0YV9jaGVja3N1bV92ZXJzaW9uKTsKIAludWxsc1s5XSA9 IGZhbHNlOwogCi0JdmFsdWVzWzEwXSA9IEJvb2xHZXREYXR1bShDb250cm9sRmlsZS0+Zmxv YXQ4QnlWYWwpOwotCW51bGxzWzEwXSA9IGZhbHNlOwotCi0JdmFsdWVzWzExXSA9IEludDMy R2V0RGF0dW0oQ29udHJvbEZpbGUtPmRhdGFfY2hlY2tzdW1fdmVyc2lvbik7Ci0JbnVsbHNb MTFdID0gZmFsc2U7Ci0KIAlodHVwID0gaGVhcF9mb3JtX3R1cGxlKHR1cGRlc2MsIHZhbHVl cywgbnVsbHMpOwogCiAJUEdfUkVUVVJOX0RBVFVNKEhlYXBUdXBsZUdldERhdHVtKGh0dXAp KTsKZGlmZiAtLWdpdCBhL3NyYy9iaW4vaW5pdGRiL2luaXRkYi5jIGIvc3JjL2Jpbi9pbml0 ZGIvaW5pdGRiLmMKaW5kZXggODhhMjYxZDliZC4uMWY2ZDg5MzliZSAxMDA2NDQKLS0tIGEv c3JjL2Jpbi9pbml0ZGIvaW5pdGRiLmMKKysrIGIvc3JjL2Jpbi9pbml0ZGIvaW5pdGRiLmMK QEAgLTEzOTksOSArMTM5OSw2IEBAIGJvb3RzdHJhcF90ZW1wbGF0ZTEodm9pZCkKIAlia2lf bGluZXMgPSByZXBsYWNlX3Rva2VuKGJraV9saW5lcywgIkFMSUdOT0ZfUE9JTlRFUiIsCiAJ CQkJCQkJICAoc2l6ZW9mKFBvaW50ZXIpID09IDQpID8gImkiIDogImQiKTsKIAotCWJraV9s aW5lcyA9IHJlcGxhY2VfdG9rZW4oYmtpX2xpbmVzLCAiRkxPQVQ0UEFTU0JZVkFMIiwKLQkJ CQkJCQkgIEZMT0FUNFBBU1NCWVZBTCA/ICJ0cnVlIiA6ICJmYWxzZSIpOwotCiAJYmtpX2xp bmVzID0gcmVwbGFjZV90b2tlbihia2lfbGluZXMsICJGTE9BVDhQQVNTQllWQUwiLAogCQkJ CQkJCSAgRkxPQVQ4UEFTU0JZVkFMID8gInRydWUiIDogImZhbHNlIik7CiAKZGlmZiAtLWdp dCBhL3NyYy9iaW4vcGdfY29udHJvbGRhdGEvcGdfY29udHJvbGRhdGEuYyBiL3NyYy9iaW4v cGdfY29udHJvbGRhdGEvcGdfY29udHJvbGRhdGEuYwppbmRleCBiMTQ3NjdmOGI2Li5hMjYx MWMyNTNjIDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX2NvbnRyb2xkYXRhL3BnX2NvbnRyb2xk YXRhLmMKKysrIGIvc3JjL2Jpbi9wZ19jb250cm9sZGF0YS9wZ19jb250cm9sZGF0YS5jCkBA IC0zMjcsMTAgKzMyNyw2IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKIAkvKiBU aGlzIGlzIG5vIGxvbmdlciBjb25maWd1cmFibGUsIGJ1dCB1c2VycyBtYXkgc3RpbGwgZXhw ZWN0IHRvIHNlZSBpdDogKi8KIAlwcmludGYoXygiRGF0ZS90aW1lIHR5cGUgc3RvcmFnZTog ICAgICAgICAgICAgICAlc1xuIiksCiAJCSAgIF8oIjY0LWJpdCBpbnRlZ2VycyIpKTsKLQlw cmludGYoXygiRmxvYXQ0IGFyZ3VtZW50IHBhc3Npbmc6ICAgICAgICAgICAgICAlc1xuIiks Ci0JCSAgIChDb250cm9sRmlsZS0+ZmxvYXQ0QnlWYWwgPyBfKCJieSB2YWx1ZSIpIDogXygi YnkgcmVmZXJlbmNlIikpKTsKLQlwcmludGYoXygiRmxvYXQ4IGFyZ3VtZW50IHBhc3Npbmc6 ICAgICAgICAgICAgICAlc1xuIiksCi0JCSAgIChDb250cm9sRmlsZS0+ZmxvYXQ4QnlWYWwg PyBfKCJieSB2YWx1ZSIpIDogXygiYnkgcmVmZXJlbmNlIikpKTsKIAlwcmludGYoXygiRGF0 YSBwYWdlIGNoZWNrc3VtIHZlcnNpb246ICAgICAgICAgICAldVxuIiksCiAJCSAgIENvbnRy b2xGaWxlLT5kYXRhX2NoZWNrc3VtX3ZlcnNpb24pOwogCXByaW50ZihfKCJNb2NrIGF1dGhl bnRpY2F0aW9uIG5vbmNlOiAgICAgICAgICAgICVzXG4iKSwKZGlmZiAtLWdpdCBhL3NyYy9i aW4vcGdfcmVzZXR3YWwvcGdfcmVzZXR3YWwuYyBiL3NyYy9iaW4vcGdfcmVzZXR3YWwvcGdf cmVzZXR3YWwuYwppbmRleCBjNGVlMDE2OGE5Li4yMDFmY2RlMmNkIDEwMDY0NAotLS0gYS9z cmMvYmluL3BnX3Jlc2V0d2FsL3BnX3Jlc2V0d2FsLmMKKysrIGIvc3JjL2Jpbi9wZ19yZXNl dHdhbC9wZ19yZXNldHdhbC5jCkBAIC03MjIsOCArNzIyLDYgQEAgR3Vlc3NDb250cm9sVmFs dWVzKHZvaWQpCiAJQ29udHJvbEZpbGUuaW5kZXhNYXhLZXlzID0gSU5ERVhfTUFYX0tFWVM7 CiAJQ29udHJvbEZpbGUudG9hc3RfbWF4X2NodW5rX3NpemUgPSBUT0FTVF9NQVhfQ0hVTktf U0laRTsKIAlDb250cm9sRmlsZS5sb2Jsa3NpemUgPSBMT0JMS1NJWkU7Ci0JQ29udHJvbEZp bGUuZmxvYXQ0QnlWYWwgPSBGTE9BVDRQQVNTQllWQUw7Ci0JQ29udHJvbEZpbGUuZmxvYXQ4 QnlWYWwgPSBGTE9BVDhQQVNTQllWQUw7CiAKIAkvKgogCSAqIFhYWCBldmVudHVhbGx5LCBz aG91bGQgdHJ5IHRvIGdyb3ZlbCB0aHJvdWdoIG9sZCBYTE9HIHRvIGRldmVsb3AgbW9yZQpA QCAtODAxLDEwICs3OTksNiBAQCBQcmludENvbnRyb2xWYWx1ZXMoYm9vbCBndWVzc2VkKQog CS8qIFRoaXMgaXMgbm8gbG9uZ2VyIGNvbmZpZ3VyYWJsZSwgYnV0IHVzZXJzIG1heSBzdGls bCBleHBlY3QgdG8gc2VlIGl0OiAqLwogCXByaW50ZihfKCJEYXRlL3RpbWUgdHlwZSBzdG9y YWdlOiAgICAgICAgICAgICAgICVzXG4iKSwKIAkJICAgXygiNjQtYml0IGludGVnZXJzIikp OwotCXByaW50ZihfKCJGbG9hdDQgYXJndW1lbnQgcGFzc2luZzogICAgICAgICAgICAgICVz XG4iKSwKLQkJICAgKENvbnRyb2xGaWxlLmZsb2F0NEJ5VmFsID8gXygiYnkgdmFsdWUiKSA6 IF8oImJ5IHJlZmVyZW5jZSIpKSk7Ci0JcHJpbnRmKF8oIkZsb2F0OCBhcmd1bWVudCBwYXNz aW5nOiAgICAgICAgICAgICAgJXNcbiIpLAotCQkgICAoQ29udHJvbEZpbGUuZmxvYXQ4QnlW YWwgPyBfKCJieSB2YWx1ZSIpIDogXygiYnkgcmVmZXJlbmNlIikpKTsKIAlwcmludGYoXygi RGF0YSBwYWdlIGNoZWNrc3VtIHZlcnNpb246ICAgICAgICAgICAldVxuIiksCiAJCSAgIENv bnRyb2xGaWxlLmRhdGFfY2hlY2tzdW1fdmVyc2lvbik7CiB9CmRpZmYgLS1naXQgYS9zcmMv YmluL3BnX3VwZ3JhZGUvY29udHJvbGRhdGEuYyBiL3NyYy9iaW4vcGdfdXBncmFkZS9jb250 cm9sZGF0YS5jCmluZGV4IDkzZjNjMzRiNzQuLjg1ZTIyMjgzYTYgMTAwNjQ0Ci0tLSBhL3Ny Yy9iaW4vcGdfdXBncmFkZS9jb250cm9sZGF0YS5jCisrKyBiL3NyYy9iaW4vcGdfdXBncmFk ZS9jb250cm9sZGF0YS5jCkBAIC0yMDIsNiArMjAyLDEzIEBAIGdldF9jb250cm9sX2RhdGEo Q2x1c3RlckluZm8gKmNsdXN0ZXIsIGJvb2wgbGl2ZV9jaGVjaykKIAkJZ290X2RhdGFfY2hl Y2tzdW1fdmVyc2lvbiA9IHRydWU7CiAJfQogCisJLyogVGhpcyBpcyBubyBsb25nZXIgY29u ZmlndXJhYmxlLiAqLworCWlmIChHRVRfTUFKT1JfVkVSU0lPTihjbHVzdGVyLT5tYWpvcl92 ZXJzaW9uKSA+PSAxMzAwKQorCXsKKwkJY2x1c3Rlci0+Y29udHJvbGRhdGEuZmxvYXQ4X3Bh c3NfYnlfdmFsdWUgPSBGTE9BVDhQQVNTQllWQUw7CisJCWdvdF9mbG9hdDhfcGFzc19ieV92 YWx1ZSA9IHRydWU7CisJfQorCiAJLyogd2UgaGF2ZSB0aGUgcmVzdWx0IG9mIGNtZCBpbiAi b3V0cHV0Ii4gc28gcGFyc2UgaXQgbGluZSBieSBsaW5lIG5vdyAqLwogCXdoaWxlIChmZ2V0 cyhidWZpbiwgc2l6ZW9mKGJ1ZmluKSwgb3V0cHV0KSkKIAl7CmRpZmYgLS1naXQgYS9zcmMv aW5jbHVkZS9jLmggYi9zcmMvaW5jbHVkZS9jLmgKaW5kZXggZDc1MmNjMDdkYy4uYWI5Y2I3 M2E0YyAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvYy5oCisrKyBiL3NyYy9pbmNsdWRlL2Mu aApAQCAtNDkwLDYgKzQ5MCwyMSBAQCB0eXBlZGVmIHNpZ25lZCBpbnQgT2Zmc2V0OwogdHlw ZWRlZiBmbG9hdCBmbG9hdDQ7CiB0eXBlZGVmIGRvdWJsZSBmbG9hdDg7CiAKKy8qCisgKiBE ZWNpZGUgd2hldGhlciA4LWJ5dGUgdHlwZXMgYXJlIHBhc3NlZCBieSB2YWx1ZS4gIFRoaXMg Y29udHJvbHMgdGhlIHRpdHVsYXIKKyAqIGZsb2F0OCBidXQgYWxzbyBpbnQ4IGFuZCByZWxh dGVkIHR5cGVzIHN1Y2ggYXMgdGltZXN0YW1wLgorICoKKyAqIFRoaXMgaXMgZGVmaW5lZCBo ZXJlIGluc3RlYWQgb2YsIHNheSwgcG9zdGdyZXMuaCwgc28gdGhhdCBpbml0ZGIuYyBjYW4g c2VlCisgKiBpdC4KKyAqLworI2lmIFNJWkVPRl9WT0lEX1AgPj0gOAorI2RlZmluZSBGTE9B VDhQQVNTQllWQUwgdHJ1ZQorI2RlZmluZSBVU0VfRkxPQVQ4X0JZVkFMIDEKKyNlbHNlCisj ZGVmaW5lIEZMT0FUOFBBU1NCWVZBTCBmYWxzZQorI3VuZGVmIFVTRV9GTE9BVDhfQllWQUwK KyNlbmRpZgorCiAvKgogICogT2lkLCBSZWdQcm9jZWR1cmUsIFRyYW5zYWN0aW9uSWQsIFN1 YlRyYW5zYWN0aW9uSWQsIE11bHRpWGFjdElkLAogICogQ29tbWFuZElkCmRpZmYgLS1naXQg YS9zcmMvaW5jbHVkZS9jYXRhbG9nL2NhdHZlcnNpb24uaCBiL3NyYy9pbmNsdWRlL2NhdGFs b2cvY2F0dmVyc2lvbi5oCmluZGV4IDFmNmRlNzZlOWMuLjM3YzUyZGRkMzggMTAwNjQ0Ci0t LSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvY2F0dmVyc2lvbi5oCisrKyBiL3NyYy9pbmNsdWRl L2NhdGFsb2cvY2F0dmVyc2lvbi5oCkBAIC01Myw2ICs1Myw2IEBACiAgKi8KIAogLyoJCQkJ CQkJeXl5eW1tZGROICovCi0jZGVmaW5lIENBVEFMT0dfVkVSU0lPTl9OTwkyMDE5MTAyNTEK KyNkZWZpbmUgQ0FUQUxPR19WRVJTSU9OX05PCTIwMTkxMDMxMQogCiAjZW5kaWYKZGlmZiAt LWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfY29udHJvbC5oIGIvc3JjL2luY2x1ZGUv Y2F0YWxvZy9wZ19jb250cm9sLmgKaW5kZXggZmY5OGQ5ZTkxYS4uMTkyMDhhZWZkOCAxMDA2 NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19jb250cm9sLmgKKysrIGIvc3JjL2lu Y2x1ZGUvY2F0YWxvZy9wZ19jb250cm9sLmgKQEAgLTIyLDcgKzIyLDcgQEAKIAogCiAvKiBW ZXJzaW9uIGlkZW50aWZpZXIgZm9yIHRoaXMgcGdfY29udHJvbCBmb3JtYXQgKi8KLSNkZWZp bmUgUEdfQ09OVFJPTF9WRVJTSU9OCTEyMDEKKyNkZWZpbmUgUEdfQ09OVFJPTF9WRVJTSU9O CTEyMDIKIAogLyogTm9uY2Uga2V5IGxlbmd0aCwgc2VlIGJlbG93ICovCiAjZGVmaW5lIE1P Q0tfQVVUSF9OT05DRV9MRU4JCTMyCkBAIC0yMTQsMTAgKzIxNCw2IEBAIHR5cGVkZWYgc3Ry dWN0IENvbnRyb2xGaWxlRGF0YQogCXVpbnQzMgkJdG9hc3RfbWF4X2NodW5rX3NpemU7CS8q IGNodW5rIHNpemUgaW4gVE9BU1QgdGFibGVzICovCiAJdWludDMyCQlsb2Jsa3NpemU7CQkv KiBjaHVuayBzaXplIGluIHBnX2xhcmdlb2JqZWN0ICovCiAKLQkvKiBmbGFncyBpbmRpY2F0 aW5nIHBhc3MtYnktdmFsdWUgc3RhdHVzIG9mIHZhcmlvdXMgdHlwZXMgKi8KLQlib29sCQlm bG9hdDRCeVZhbDsJLyogZmxvYXQ0IHBhc3MtYnktdmFsdWU/ICovCi0JYm9vbAkJZmxvYXQ4 QnlWYWw7CS8qIGZsb2F0OCwgaW50OCwgZXRjIHBhc3MtYnktdmFsdWU/ICovCi0KIAkvKiBB cmUgZGF0YSBwYWdlcyBwcm90ZWN0ZWQgYnkgY2hlY2tzdW1zPyBaZXJvIGlmIG5vIGNoZWNr c3VtIHZlcnNpb24gKi8KIAl1aW50MzIJCWRhdGFfY2hlY2tzdW1fdmVyc2lvbjsKIApkaWZm IC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCBiL3NyYy9pbmNsdWRl L2NhdGFsb2cvcGdfcHJvYy5kYXQKaW5kZXggNThlYTViOTgyYi4uNGQ0ZjExOTI2OCAxMDA2 NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAorKysgYi9zcmMvaW5j bHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CkBAIC0xMDY2MCw5ICsxMDY2MCw5IEBACiAgIGRl c2NyID0+ICdwZ19jb250cm9sZGF0YSBpbml0IHN0YXRlIGluZm9ybWF0aW9uIGFzIGEgZnVu Y3Rpb24nLAogICBwcm9uYW1lID0+ICdwZ19jb250cm9sX2luaXQnLCBwcm92b2xhdGlsZSA9 PiAndicsIHByb3JldHR5cGUgPT4gJ3JlY29yZCcsCiAgIHByb2FyZ3R5cGVzID0+ICcnLAot ICBwcm9hbGxhcmd0eXBlcyA9PiAne2ludDQsaW50NCxpbnQ0LGludDQsaW50NCxpbnQ0LGlu dDQsaW50NCxpbnQ0LGJvb2wsYm9vbCxpbnQ0fScsCi0gIHByb2FyZ21vZGVzID0+ICd7byxv LG8sbyxvLG8sbyxvLG8sbyxvLG99JywKLSAgcHJvYXJnbmFtZXMgPT4gJ3ttYXhfZGF0YV9h bGlnbm1lbnQsZGF0YWJhc2VfYmxvY2tfc2l6ZSxibG9ja3NfcGVyX3NlZ21lbnQsd2FsX2Js b2NrX3NpemUsYnl0ZXNfcGVyX3dhbF9zZWdtZW50LG1heF9pZGVudGlmaWVyX2xlbmd0aCxt YXhfaW5kZXhfY29sdW1ucyxtYXhfdG9hc3RfY2h1bmtfc2l6ZSxsYXJnZV9vYmplY3RfY2h1 bmtfc2l6ZSxmbG9hdDRfcGFzc19ieV92YWx1ZSxmbG9hdDhfcGFzc19ieV92YWx1ZSxkYXRh X3BhZ2VfY2hlY2tzdW1fdmVyc2lvbn0nLAorICBwcm9hbGxhcmd0eXBlcyA9PiAne2ludDQs aW50NCxpbnQ0LGludDQsaW50NCxpbnQ0LGludDQsaW50NCxpbnQ0LGludDR9JywKKyAgcHJv YXJnbW9kZXMgPT4gJ3tvLG8sbyxvLG8sbyxvLG8sbyxvfScsCisgIHByb2FyZ25hbWVzID0+ ICd7bWF4X2RhdGFfYWxpZ25tZW50LGRhdGFiYXNlX2Jsb2NrX3NpemUsYmxvY2tzX3Blcl9z ZWdtZW50LHdhbF9ibG9ja19zaXplLGJ5dGVzX3Blcl93YWxfc2VnbWVudCxtYXhfaWRlbnRp Zmllcl9sZW5ndGgsbWF4X2luZGV4X2NvbHVtbnMsbWF4X3RvYXN0X2NodW5rX3NpemUsbGFy Z2Vfb2JqZWN0X2NodW5rX3NpemUsZGF0YV9wYWdlX2NoZWNrc3VtX3ZlcnNpb259JywKICAg cHJvc3JjID0+ICdwZ19jb250cm9sX2luaXQnIH0sCiAKICMgY29sbGF0aW9uIG1hbmFnZW1l bnQgZnVuY3Rpb25zCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3R5cGUu ZGF0IGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ190eXBlLmRhdAppbmRleCBiZTQ5ZTAwMTE0 Li5kOWIzNWFmOTE0IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3R5cGUu ZGF0CisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfdHlwZS5kYXQKQEAgLTIxNSw3ICsy MTUsNyBAQAogCiB7IG9pZCA9PiAnNzAwJywgYXJyYXlfdHlwZV9vaWQgPT4gJzEwMjEnLAog ICBkZXNjciA9PiAnc2luZ2xlLXByZWNpc2lvbiBmbG9hdGluZyBwb2ludCBudW1iZXIsIDQt Ynl0ZSBzdG9yYWdlJywKLSAgdHlwbmFtZSA9PiAnZmxvYXQ0JywgdHlwbGVuID0+ICc0Jywg dHlwYnl2YWwgPT4gJ0ZMT0FUNFBBU1NCWVZBTCcsCisgIHR5cG5hbWUgPT4gJ2Zsb2F0NCcs IHR5cGxlbiA9PiAnNCcsIHR5cGJ5dmFsID0+ICd0JywKICAgdHlwY2F0ZWdvcnkgPT4gJ04n LCB0eXBpbnB1dCA9PiAnZmxvYXQ0aW4nLCB0eXBvdXRwdXQgPT4gJ2Zsb2F0NG91dCcsCiAg IHR5cHJlY2VpdmUgPT4gJ2Zsb2F0NHJlY3YnLCB0eXBzZW5kID0+ICdmbG9hdDRzZW5kJywg dHlwYWxpZ24gPT4gJ2knIH0sCiB7IG9pZCA9PiAnNzAxJywgYXJyYXlfdHlwZV9vaWQgPT4g JzEwMjInLApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvZm1nci5oIGIvc3JjL2luY2x1ZGUv Zm1nci5oCmluZGV4IDI5YWU0Njc0Y2MuLjgzOGQ0Mzg3NWEgMTAwNjQ0Ci0tLSBhL3NyYy9p bmNsdWRlL2ZtZ3IuaAorKysgYi9zcmMvaW5jbHVkZS9mbWdyLmgKQEAgLTQ0Niw4ICs0NDYs NiBAQCB0eXBlZGVmIHN0cnVjdAogCWludAkJCWZ1bmNtYXhhcmdzOwkvKiBGVU5DX01BWF9B UkdTICovCiAJaW50CQkJaW5kZXhtYXhrZXlzOwkvKiBJTkRFWF9NQVhfS0VZUyAqLwogCWlu dAkJCW5hbWVkYXRhbGVuOwkvKiBOQU1FREFUQUxFTiAqLwotCWludAkJCWZsb2F0NGJ5dmFs OwkvKiBGTE9BVDRQQVNTQllWQUwgKi8KLQlpbnQJCQlmbG9hdDhieXZhbDsJLyogRkxPQVQ4 UEFTU0JZVkFMICovCiB9IFBnX21hZ2ljX3N0cnVjdDsKIAogLyogVGhlIGFjdHVhbCBkYXRh IGJsb2NrIGNvbnRlbnRzICovCkBAIC00NTgsOCArNDU2LDYgQEAgdHlwZWRlZiBzdHJ1Y3QK IAlGVU5DX01BWF9BUkdTLCBcCiAJSU5ERVhfTUFYX0tFWVMsIFwKIAlOQU1FREFUQUxFTiwg XAotCUZMT0FUNFBBU1NCWVZBTCwgXAotCUZMT0FUOFBBU1NCWVZBTCBcCiB9CiAKIC8qCmRp ZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9wZ19jb25maWcuaC5pbiBiL3NyYy9pbmNsdWRlL3Bn X2NvbmZpZy5oLmluCmluZGV4IDkzOTI0NWRiMzkuLjk3NTUyZDYzZDAgMTAwNjQ0Ci0tLSBh L3NyYy9pbmNsdWRlL3BnX2NvbmZpZy5oLmluCisrKyBiL3NyYy9pbmNsdWRlL3BnX2NvbmZp Zy5oLmluCkBAIC03MCwxMyArNzAsNiBAQAogICAgTVNWQyBhbmQgd2l0aCBDKysgY29tcGls ZXJzLiAqLwogI3VuZGVmIEZMRVhJQkxFX0FSUkFZX01FTUJFUgogCi0vKiBmbG9hdDQgdmFs dWVzIGFyZSBwYXNzZWQgYnkgdmFsdWUgaWYgJ3RydWUnLCBieSByZWZlcmVuY2UgaWYgJ2Zh bHNlJyAqLwotI3VuZGVmIEZMT0FUNFBBU1NCWVZBTAotCi0vKiBmbG9hdDgsIGludDgsIGFu ZCByZWxhdGVkIHZhbHVlcyBhcmUgcGFzc2VkIGJ5IHZhbHVlIGlmICd0cnVlJywgYnkKLSAg IHJlZmVyZW5jZSBpZiAnZmFsc2UnICovCi0jdW5kZWYgRkxPQVQ4UEFTU0JZVkFMCi0KIC8q IERlZmluZSB0byAxIGlmIGdldHRpbWVvZmRheSgpIHRha2VzIG9ubHkgMSBhcmd1bWVudC4g Ki8KICN1bmRlZiBHRVRUSU1FT0ZEQVlfMUFSRwogCkBAIC04OTgsMTQgKzg5MSw2IEBACiAv KiBEZWZpbmUgdG8gdXNlIC9kZXYvdXJhbmRvbSBmb3IgcmFuZG9tIG51bWJlciBnZW5lcmF0 aW9uICovCiAjdW5kZWYgVVNFX0RFVl9VUkFORE9NCiAKLS8qIERlZmluZSB0byAxIGlmIHlv dSB3YW50IGZsb2F0NCB2YWx1ZXMgdG8gYmUgcGFzc2VkIGJ5IHZhbHVlLgotICAgKC0tZW5h YmxlLWZsb2F0NC1ieXZhbCkgKi8KLSN1bmRlZiBVU0VfRkxPQVQ0X0JZVkFMCi0KLS8qIERl ZmluZSB0byAxIGlmIHlvdSB3YW50IGZsb2F0OCwgaW50OCwgZXRjIHZhbHVlcyB0byBiZSBw YXNzZWQgYnkgdmFsdWUuCi0gICAoLS1lbmFibGUtZmxvYXQ4LWJ5dmFsKSAqLwotI3VuZGVm IFVTRV9GTE9BVDhfQllWQUwKLQogLyogRGVmaW5lIHRvIGJ1aWxkIHdpdGggSUNVIHN1cHBv cnQuICgtLXdpdGgtaWN1KSAqLwogI3VuZGVmIFVTRV9JQ1UKIApkaWZmIC0tZ2l0IGEvc3Jj L2luY2x1ZGUvcG9zdGdyZXMuaCBiL3NyYy9pbmNsdWRlL3Bvc3RncmVzLmgKaW5kZXggMDU3 YTM0MTNhYy4uZjViN2M1MmY4YSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvcG9zdGdyZXMu aAorKysgYi9zcmMvaW5jbHVkZS9wb3N0Z3Jlcy5oCkBAIC02NTksMTEgKzY1OSw3IEBAIGV4 dGVybiBEYXR1bSBJbnQ2NEdldERhdHVtKGludDY0IFgpOwogLyoKICAqIERhdHVtR2V0Rmxv YXQ0CiAgKgkJUmV0dXJucyA0LWJ5dGUgZmxvYXRpbmcgcG9pbnQgdmFsdWUgb2YgYSBkYXR1 bS4KLSAqCi0gKiBOb3RlOiB0aGlzIG1hY3JvIGhpZGVzIHdoZXRoZXIgZmxvYXQ0IGlzIHBh c3MgYnkgdmFsdWUgb3IgYnkgcmVmZXJlbmNlLgogICovCi0KLSNpZmRlZiBVU0VfRkxPQVQ0 X0JZVkFMCiBzdGF0aWMgaW5saW5lIGZsb2F0NAogRGF0dW1HZXRGbG9hdDQoRGF0dW0gWCkK IHsKQEAgLTY3NiwxOCArNjcyLDExIEBAIERhdHVtR2V0RmxvYXQ0KERhdHVtIFgpCiAJbXl1 bmlvbi52YWx1ZSA9IERhdHVtR2V0SW50MzIoWCk7CiAJcmV0dXJuIG15dW5pb24ucmV0dmFs OwogfQotI2Vsc2UKLSNkZWZpbmUgRGF0dW1HZXRGbG9hdDQoWCkgKCogKChmbG9hdDQgKikg RGF0dW1HZXRQb2ludGVyKFgpKSkKLSNlbmRpZgogCiAvKgogICogRmxvYXQ0R2V0RGF0dW0K ICAqCQlSZXR1cm5zIGRhdHVtIHJlcHJlc2VudGF0aW9uIGZvciBhIDQtYnl0ZSBmbG9hdGlu ZyBwb2ludCBudW1iZXIuCi0gKgotICogTm90ZTogaWYgZmxvYXQ0IGlzIHBhc3MgYnkgcmVm ZXJlbmNlLCB0aGlzIGZ1bmN0aW9uIHJldHVybnMgYSByZWZlcmVuY2UKLSAqIHRvIHBhbGxv YydkIHNwYWNlLgogICovCi0jaWZkZWYgVVNFX0ZMT0FUNF9CWVZBTAogc3RhdGljIGlubGlu ZSBEYXR1bQogRmxvYXQ0R2V0RGF0dW0oZmxvYXQ0IFgpCiB7CkBAIC03MDAsOSArNjg5LDYg QEAgRmxvYXQ0R2V0RGF0dW0oZmxvYXQ0IFgpCiAJbXl1bmlvbi52YWx1ZSA9IFg7CiAJcmV0 dXJuIEludDMyR2V0RGF0dW0obXl1bmlvbi5yZXR2YWwpOwogfQotI2Vsc2UKLWV4dGVybiBE YXR1bSBGbG9hdDRHZXREYXR1bShmbG9hdDQgWCk7Ci0jZW5kaWYKIAogLyoKICAqIERhdHVt R2V0RmxvYXQ4CkBAIC03NTcsMTAgKzc0Myw5IEBAIGV4dGVybiBEYXR1bSBGbG9hdDhHZXRE YXR1bShmbG9hdDggWCk7CiAvKgogICogSW50NjRHZXREYXR1bUZhc3QKICAqIEZsb2F0OEdl dERhdHVtRmFzdAotICogRmxvYXQ0R2V0RGF0dW1GYXN0CiAgKgogICogVGhlc2UgbWFjcm9z IGFyZSBpbnRlbmRlZCB0byBhbGxvdyB3cml0aW5nIGNvZGUgdGhhdCBkb2VzIG5vdCBkZXBl bmQgb24KLSAqIHdoZXRoZXIgaW50NjQsIGZsb2F0OCwgZmxvYXQ0IGFyZSBwYXNzLWJ5LXJl ZmVyZW5jZSB0eXBlcywgd2hpbGUgbm90CisgKiB3aGV0aGVyIGludDY0IGFuZCBmbG9hdDgg YXJlIHBhc3MtYnktcmVmZXJlbmNlIHR5cGVzLCB3aGlsZSBub3QKICAqIHNhY3JpZmljaW5n IHBlcmZvcm1hbmNlIHdoZW4gdGhleSBhcmUuICBUaGUgYXJndW1lbnQgbXVzdCBiZSBhIHZh cmlhYmxlCiAgKiB0aGF0IHdpbGwgZXhpc3QgYW5kIGhhdmUgdGhlIHNhbWUgdmFsdWUgZm9y IGFzIGxvbmcgYXMgdGhlIERhdHVtIGlzIG5lZWRlZC4KICAqIEluIHRoZSBwYXNzLWJ5LXJl ZiBjYXNlLCB0aGUgYWRkcmVzcyBvZiB0aGUgdmFyaWFibGUgaXMgdGFrZW4gdG8gdXNlIGFz CkBAIC03NzYsMTAgKzc2MSw0IEBAIGV4dGVybiBEYXR1bSBGbG9hdDhHZXREYXR1bShmbG9h dDggWCk7CiAjZGVmaW5lIEZsb2F0OEdldERhdHVtRmFzdChYKSBQb2ludGVyR2V0RGF0dW0o JihYKSkKICNlbmRpZgogCi0jaWZkZWYgVVNFX0ZMT0FUNF9CWVZBTAotI2RlZmluZSBGbG9h dDRHZXREYXR1bUZhc3QoWCkgRmxvYXQ0R2V0RGF0dW0oWCkKLSNlbHNlCi0jZGVmaW5lIEZs b2F0NEdldERhdHVtRmFzdChYKSBQb2ludGVyR2V0RGF0dW0oJihYKSkKLSNlbmRpZgotCiAj ZW5kaWYJCQkJCQkJLyogUE9TVEdSRVNfSCAqLwpkaWZmIC0tZ2l0IGEvc3JjL3Rvb2xzL21z dmMvU29sdXRpb24ucG0gYi9zcmMvdG9vbHMvbXN2Yy9Tb2x1dGlvbi5wbQppbmRleCBhNjk1 ODI3M2FjLi4yNDIzMjY3YjU0IDEwMDY0NAotLS0gYS9zcmMvdG9vbHMvbXN2Yy9Tb2x1dGlv bi5wbQorKysgYi9zcmMvdG9vbHMvbXN2Yy9Tb2x1dGlvbi5wbQpAQCAtMzEsMTIgKzMxLDYg QEAgc3ViIF9uZXcKIAkkc2VsZi0+RGV0ZXJtaW5lUGxhdGZvcm0oKTsKIAlteSAkYml0cyA9 ICRzZWxmLT57cGxhdGZvcm19IGVxICdXaW4zMicgPyAzMiA6IDY0OwogCi0JJG9wdGlvbnMt PntmbG9hdDRieXZhbH0gPSAxCi0JICB1bmxlc3MgZXhpc3RzICRvcHRpb25zLT57ZmxvYXQ0 Ynl2YWx9OwotCSRvcHRpb25zLT57ZmxvYXQ4Ynl2YWx9ID0gKCRiaXRzID09IDY0KQotCSAg dW5sZXNzIGV4aXN0cyAkb3B0aW9ucy0+e2Zsb2F0OGJ5dmFsfTsKLQlkaWUgImZsb2F0OGJ5 dmFsIG5vdCBwZXJtaXR0ZWQgb24gMzIgYml0IHBsYXRmb3JtcyIKLQkgIGlmICRvcHRpb25z LT57ZmxvYXQ4Ynl2YWx9ICYmICRiaXRzID09IDMyOwogCWlmICgkb3B0aW9ucy0+e3hzbHR9 ICYmICEkb3B0aW9ucy0+e3htbH0pCiAJewogCQlkaWUgIlhTTFQgcmVxdWlyZXMgWE1MXG4i OwpAQCAtMjA5LDI1ICsyMDMsNiBAQCBzdWIgR2VuZXJhdGVGaWxlcwogCQlwcmludCAkbyAi I2RlZmluZSBYTE9HX0JMQ0tTWiAiLAogCQkgIDEwMjQgKiAkc2VsZi0+e29wdGlvbnN9LT57 d2FsX2Jsb2Nrc2l6ZX0sICJcbiI7CiAKLQkJaWYgKCRzZWxmLT57b3B0aW9uc30tPntmbG9h dDRieXZhbH0pCi0JCXsKLQkJCXByaW50ICRvICIjZGVmaW5lIFVTRV9GTE9BVDRfQllWQUwg MVxuIjsKLQkJCXByaW50ICRvICIjZGVmaW5lIEZMT0FUNFBBU1NCWVZBTCB0cnVlXG4iOwot CQl9Ci0JCWVsc2UKLQkJewotCQkJcHJpbnQgJG8gIiNkZWZpbmUgRkxPQVQ0UEFTU0JZVkFM IGZhbHNlXG4iOwotCQl9Ci0JCWlmICgkc2VsZi0+e29wdGlvbnN9LT57ZmxvYXQ4Ynl2YWx9 KQotCQl7Ci0JCQlwcmludCAkbyAiI2RlZmluZSBVU0VfRkxPQVQ4X0JZVkFMIDFcbiI7Ci0J CQlwcmludCAkbyAiI2RlZmluZSBGTE9BVDhQQVNTQllWQUwgdHJ1ZVxuIjsKLQkJfQotCQll bHNlCi0JCXsKLQkJCXByaW50ICRvICIjZGVmaW5lIEZMT0FUOFBBU1NCWVZBTCBmYWxzZVxu IjsKLQkJfQotCiAJCWlmICgkc2VsZi0+e29wdGlvbnN9LT57dXVpZH0pCiAJCXsKIAkJCXBy aW50ICRvICIjZGVmaW5lIEhBVkVfVVVJRF9PU1NQXG4iOwpkaWZmIC0tZ2l0IGEvc3JjL3Rv b2xzL21zdmMvY29uZmlnX2RlZmF1bHQucGwgYi9zcmMvdG9vbHMvbXN2Yy9jb25maWdfZGVm YXVsdC5wbAppbmRleCAwNDNkZjRjNWU4Li5kNWUwMTBiMThhIDEwMDY0NAotLS0gYS9zcmMv dG9vbHMvbXN2Yy9jb25maWdfZGVmYXVsdC5wbAorKysgYi9zcmMvdG9vbHMvbXN2Yy9jb25m aWdfZGVmYXVsdC5wbApAQCAtNCwxMSArNCw2IEBACiAKIG91ciAkY29uZmlnID0gewogCWFz c2VydHMgPT4gMCwgICAgIyAtLWVuYWJsZS1jYXNzZXJ0Ci0JICAgICAjIGZsb2F0NGJ5dmFs PT4xLCAgICAgICAgICMgLS1kaXNhYmxlLWZsb2F0NC1ieXZhbCwgb24gYnkgZGVmYXVsdAot Ci0JIyBmbG9hdDhieXZhbD0+ICRwbGF0Zm9ybWJpdHMgPT0gNjQsICMgLS1kaXNhYmxlLWZs b2F0OC1ieXZhbCwKLQkjIG9mZiBieSBkZWZhdWx0IG9uIDMyIGJpdCBwbGF0Zm9ybXMsIG9u IGJ5IGRlZmF1bHQgb24gNjQgYml0IHBsYXRmb3JtcwotCiAJIyBibG9ja3NpemUgPT4gOCwg ICAgICAgICAjIC0td2l0aC1ibG9ja3NpemUsIDhrQiBieSBkZWZhdWx0CiAJIyB3YWxfYmxv Y2tzaXplID0+IDgsICAgICAjIC0td2l0aC13YWwtYmxvY2tzaXplLCA4a0IgYnkgZGVmYXVs dAogCWxkYXAgICAgICA9PiAxLCAgICAgICAgIyAtLXdpdGgtbGRhcAoKYmFzZS1jb21taXQ6 IDczMDI1MTQwODg1Yzg4OTQxMGI5YmZjNGEzMGEzODY2Mzk2ZmM1ZGIKLS0gCjIuMjMuMAoK --------------E12BAC548D38CD918BA0A238 Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="0002-Replace-USE_FLOAT8_BYVAL-by-FLOAT8PASSBYVAL.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0002-Replace-USE_FLOAT8_BYVAL-by-FLOAT8PASSBYVAL.patch" RnJvbSAxYzIwZDAyMTdmMGZiODhhMjg2YTYxNTMyMzQwYjBjMDdkMWEwMTNhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogVGh1LCAzMSBPY3QgMjAxOSAwOToyMTozOCArMDEwMApTdWJqZWN0 OiBbUEFUQ0ggMi8zXSBSZXBsYWNlIFVTRV9GTE9BVDhfQllWQUwgYnkgRkxPQVQ4UEFTU0JZ VkFMCgpJdCdzIGVub3VnaCB0byBoYXZlIG9uZSBtYWNybyBmb3IgdGhlIHNhbWUgdGhpbmcu Ci0tLQogY29udHJpYi9idHJlZV9naXN0L2J0cmVlX3RpbWUuYyAgICAgICAgICAgICAgIHwg IDIgKy0KIGNvbnRyaWIvYnRyZWVfZ2lzdC9idHJlZV90cy5jICAgICAgICAgICAgICAgICB8 ICAyICstCiBzcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC9oZWFwYW1faGFuZGxlci5jICAgICAg fCAgMiArLQogc3JjL2JhY2tlbmQvYWNjZXNzL2luZGV4L2luZGV4YW0uYyAgICAgICAgICAg IHwgIDIgKy0KIHNyYy9iYWNrZW5kL3V0aWxzL2FkdC9pbnQ4LmMgICAgICAgICAgICAgICAg ICB8ICA0ICsrLS0KIHNyYy9iYWNrZW5kL3V0aWxzL2FkdC9udW1lcmljLmMgICAgICAgICAg ICAgICB8ICA2ICsrKy0tLQogc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3JhbmdldHlwZXNfdHlw YW5hbHl6ZS5jIHwgIDYgKy0tLS0tCiBzcmMvYmFja2VuZC91dGlscy9mbWdyL2ZtZ3IuYyAg ICAgICAgICAgICAgICAgfCAgMiArLQogc3JjL2luY2x1ZGUvYy5oICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgIDIgLS0KIHNyYy9pbmNsdWRlL3Bvc3RncmVzLmggICAgICAg ICAgICAgICAgICAgICAgICB8IDE0ICsrKysrKystLS0tLS0tCiAxMCBmaWxlcyBjaGFuZ2Vk LCAxOCBpbnNlcnRpb25zKCspLCAyNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9jb250 cmliL2J0cmVlX2dpc3QvYnRyZWVfdGltZS5jIGIvY29udHJpYi9idHJlZV9naXN0L2J0cmVl X3RpbWUuYwppbmRleCA5MGNmNjU1NGVhLi44ODRhZTIxZmY2IDEwMDY0NAotLS0gYS9jb250 cmliL2J0cmVlX2dpc3QvYnRyZWVfdGltZS5jCisrKyBiL2NvbnRyaWIvYnRyZWVfZ2lzdC9i dHJlZV90aW1lLmMKQEAgLTMwLDcgKzMwLDcgQEAgUEdfRlVOQ1RJT05fSU5GT19WMShnYnRf dGltZV9wZW5hbHR5KTsKIFBHX0ZVTkNUSU9OX0lORk9fVjEoZ2J0X3RpbWVfc2FtZSk7CiAK IAotI2lmZGVmIFVTRV9GTE9BVDhfQllWQUwKKyNpZiBGTE9BVDhQQVNTQllWQUwKICNkZWZp bmUgVGltZUFEVEdldERhdHVtRmFzdChYKSBUaW1lQURUR2V0RGF0dW0oWCkKICNlbHNlCiAj ZGVmaW5lIFRpbWVBRFRHZXREYXR1bUZhc3QoWCkgUG9pbnRlckdldERhdHVtKCYoWCkpCmRp ZmYgLS1naXQgYS9jb250cmliL2J0cmVlX2dpc3QvYnRyZWVfdHMuYyBiL2NvbnRyaWIvYnRy ZWVfZ2lzdC9idHJlZV90cy5jCmluZGV4IDQ5ZDE4NDlkODguLjMwODY0NDY1ZDIgMTAwNjQ0 Ci0tLSBhL2NvbnRyaWIvYnRyZWVfZ2lzdC9idHJlZV90cy5jCisrKyBiL2NvbnRyaWIvYnRy ZWVfZ2lzdC9idHJlZV90cy5jCkBAIC0zMyw3ICszMyw3IEBAIFBHX0ZVTkNUSU9OX0lORk9f VjEoZ2J0X3RzX3BlbmFsdHkpOwogUEdfRlVOQ1RJT05fSU5GT19WMShnYnRfdHNfc2FtZSk7 CiAKIAotI2lmZGVmIFVTRV9GTE9BVDhfQllWQUwKKyNpZiBGTE9BVDhQQVNTQllWQUwKICNk ZWZpbmUgVGltZXN0YW1wR2V0RGF0dW1GYXN0KFgpIFRpbWVzdGFtcEdldERhdHVtKFgpCiAj ZWxzZQogI2RlZmluZSBUaW1lc3RhbXBHZXREYXR1bUZhc3QoWCkgUG9pbnRlckdldERhdHVt KCYoWCkpCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC9oZWFwYW1faGFu ZGxlci5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvaGVhcGFtX2hhbmRsZXIuYwppbmRl eCAyZGQ4ODIxZmFjLi4xYWU0MjU4NjcwIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nl c3MvaGVhcC9oZWFwYW1faGFuZGxlci5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFw L2hlYXBhbV9oYW5kbGVyLmMKQEAgLTE4NTgsNyArMTg1OCw3IEBAIGhlYXBhbV9pbmRleF92 YWxpZGF0ZV9zY2FuKFJlbGF0aW9uIGhlYXBSZWxhdGlvbiwKIAkJCQlpbmRleGN1cnNvciA9 ICZkZWNvZGVkOwogCiAJCQkJLyogSWYgaW50OCBpcyBwYXNzLWJ5LXJlZiwgZnJlZSAoZW5j b2RlZCkgVElEIERhdHVtIG1lbW9yeSAqLwotI2lmbmRlZiBVU0VfRkxPQVQ4X0JZVkFMCisj aWYgIUZMT0FUOFBBU1NCWVZBTAogCQkJCXBmcmVlKERhdHVtR2V0UG9pbnRlcih0c192YWwp KTsKICNlbmRpZgogCQkJfQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL2luZGV4 L2luZGV4YW0uYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9pbmRleC9pbmRleGFtLmMKaW5kZXgg NGFmNDE4Mjg3ZC4uNmE0YTFmOTM1YyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNz L2luZGV4L2luZGV4YW0uYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaW5kZXgvaW5kZXhh bS5jCkBAIC04NjAsNyArODYwLDcgQEAgaW5kZXhfc3RvcmVfZmxvYXQ4X29yZGVyYnlfZGlz dGFuY2VzKEluZGV4U2NhbkRlc2Mgc2NhbiwgT2lkICpvcmRlckJ5VHlwZXMsCiAJewogCQlp ZiAob3JkZXJCeVR5cGVzW2ldID09IEZMT0FUOE9JRCkKIAkJewotI2lmbmRlZiBVU0VfRkxP QVQ4X0JZVkFMCisjaWYgIUZMT0FUOFBBU1NCWVZBTAogCQkJLyogbXVzdCBmcmVlIGFueSBv bGQgdmFsdWUgdG8gYXZvaWQgbWVtb3J5IGxlYWthZ2UgKi8KIAkJCWlmICghc2Nhbi0+eHNf b3JkZXJieW51bGxzW2ldKQogCQkJCXBmcmVlKERhdHVtR2V0UG9pbnRlcihzY2FuLT54c19v cmRlcmJ5dmFsc1tpXSkpOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2lu dDguYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9pbnQ4LmMKaW5kZXggMGZmOTM5NGEyZi4u MTY1YmU3NWRhOCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2ludDguYwor KysgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvaW50OC5jCkBAIC02NzksNyArNjc5LDcgQEAg aW50OGluYyhQR19GVU5DVElPTl9BUkdTKQogCSAqIChJZiBpbnQ4IGlzIHBhc3MtYnktdmFs dWUsIHRoZW4gb2YgY291cnNlIHRoaXMgaXMgdXNlbGVzcyBhcyB3ZWxsIGFzCiAJICogaW5j b3JyZWN0LCBzbyBqdXN0IGlmZGVmIGl0IG91dC4pCiAJICovCi0jaWZuZGVmIFVTRV9GTE9B VDhfQllWQUwJCS8qIGNvbnRyb2xzIGludDggdG9vICovCisjaWYgIUZMT0FUOFBBU1NCWVZB TAkJLyogY29udHJvbHMgaW50OCB0b28gKi8KIAlpZiAoQWdnQ2hlY2tDYWxsQ29udGV4dChm Y2luZm8sIE5VTEwpKQogCXsKIAkJaW50NjQJICAgKmFyZyA9IChpbnQ2NCAqKSBQR19HRVRB UkdfUE9JTlRFUigwKTsKQEAgLTcxNyw3ICs3MTcsNyBAQCBpbnQ4ZGVjKFBHX0ZVTkNUSU9O X0FSR1MpCiAJICogKElmIGludDggaXMgcGFzcy1ieS12YWx1ZSwgdGhlbiBvZiBjb3Vyc2Ug dGhpcyBpcyB1c2VsZXNzIGFzIHdlbGwgYXMKIAkgKiBpbmNvcnJlY3QsIHNvIGp1c3QgaWZk ZWYgaXQgb3V0LikKIAkgKi8KLSNpZm5kZWYgVVNFX0ZMT0FUOF9CWVZBTAkJLyogY29udHJv bHMgaW50OCB0b28gKi8KKyNpZiAhRkxPQVQ4UEFTU0JZVkFMCQkvKiBjb250cm9scyBpbnQ4 IHRvbyAqLwogCWlmIChBZ2dDaGVja0NhbGxDb250ZXh0KGZjaW5mbywgTlVMTCkpCiAJewog CQlpbnQ2NAkgICAqYXJnID0gKGludDY0ICopIFBHX0dFVEFSR19QT0lOVEVSKDApOwpkaWZm IC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L251bWVyaWMuYyBiL3NyYy9iYWNrZW5k L3V0aWxzL2FkdC9udW1lcmljLmMKaW5kZXggMjFjYzlhODEwOS4uMzE4YzZhNTQ5NCAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L251bWVyaWMuYworKysgYi9zcmMvYmFj a2VuZC91dGlscy9hZHQvbnVtZXJpYy5jCkBAIC0zNTEsNyArMzUxLDcgQEAgdHlwZWRlZiBz dHJ1Y3QgTnVtZXJpY1N1bUFjY3VtCiAvKgogICogV2UgZGVmaW5lIG91ciBvd24gbWFjcm9z IGZvciBwYWNraW5nIGFuZCB1bnBhY2tpbmcgYWJicmV2aWF0ZWQta2V5CiAgKiByZXByZXNl bnRhdGlvbnMgZm9yIG51bWVyaWMgdmFsdWVzIGluIG9yZGVyIHRvIGF2b2lkIGRlcGVuZGlu ZyBvbgotICogVVNFX0ZMT0FUOF9CWVZBTCwgd2hpY2ggd2FzIHByZXZpb3VzbHkgYnVpbGQt dGltZSBjb25maWd1cmFibGUuICBUaGUgdHlwZQorICogRkxPQVQ4UEFTU0JZVkFMLCB3aGlj aCB3YXMgcHJldmlvdXNseSBidWlsZC10aW1lIGNvbmZpZ3VyYWJsZS4gIFRoZSB0eXBlCiAg KiBvZiBhYmJyZXZpYXRpb24gd2UgdXNlIGlzIGJhc2VkIG9ubHkgb24gdGhlIHNpemUgb2Yg YSBkYXR1bSwgbm90IHRoZQogICogYXJndW1lbnQtcGFzc2luZyBjb252ZW50aW9uIGZvciBm bG9hdDguCiAgKi8KQEAgLTUzMDEsNyArNTMwMSw3IEBAIGludDJfc3VtKFBHX0ZVTkNUSU9O X0FSR1MpCiAJICogdGhlbiBvZiBjb3Vyc2UgdGhpcyBpcyB1c2VsZXNzIGFzIHdlbGwgYXMg aW5jb3JyZWN0LCBzbyBqdXN0IGlmZGVmIGl0CiAJICogb3V0LikKIAkgKi8KLSNpZm5kZWYg VVNFX0ZMT0FUOF9CWVZBTAkJLyogY29udHJvbHMgaW50OCB0b28gKi8KKyNpZiAhRkxPQVQ4 UEFTU0JZVkFMCQkvKiBjb250cm9scyBpbnQ4IHRvbyAqLwogCWlmIChBZ2dDaGVja0NhbGxD b250ZXh0KGZjaW5mbywgTlVMTCkpCiAJewogCQlpbnQ2NAkgICAqb2xkc3VtID0gKGludDY0 ICopIFBHX0dFVEFSR19QT0lOVEVSKDApOwpAQCAtNTM1MCw3ICs1MzUwLDcgQEAgaW50NF9z dW0oUEdfRlVOQ1RJT05fQVJHUykKIAkgKiB0aGVuIG9mIGNvdXJzZSB0aGlzIGlzIHVzZWxl c3MgYXMgd2VsbCBhcyBpbmNvcnJlY3QsIHNvIGp1c3QgaWZkZWYgaXQKIAkgKiBvdXQuKQog CSAqLwotI2lmbmRlZiBVU0VfRkxPQVQ4X0JZVkFMCQkvKiBjb250cm9scyBpbnQ4IHRvbyAq LworI2lmICFGTE9BVDhQQVNTQllWQUwJCS8qIGNvbnRyb2xzIGludDggdG9vICovCiAJaWYg KEFnZ0NoZWNrQ2FsbENvbnRleHQoZmNpbmZvLCBOVUxMKSkKIAl7CiAJCWludDY0CSAgICpv bGRzdW0gPSAoaW50NjQgKikgUEdfR0VUQVJHX1BPSU5URVIoMCk7CmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC91dGlscy9hZHQvcmFuZ2V0eXBlc190eXBhbmFseXplLmMgYi9zcmMvYmFj a2VuZC91dGlscy9hZHQvcmFuZ2V0eXBlc190eXBhbmFseXplLmMKaW5kZXggZDAxZDMwMzJj Yy4uYjQzODYyNTk1MSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Jhbmdl dHlwZXNfdHlwYW5hbHl6ZS5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9yYW5nZXR5 cGVzX3R5cGFuYWx5emUuYwpAQCAtMzI1LDExICszMjUsNyBAQCBjb21wdXRlX3JhbmdlX3N0 YXRzKFZhY0F0dHJTdGF0cyAqc3RhdHMsIEFuYWx5emVBdHRyRmV0Y2hGdW5jIGZldGNoZnVu YywKIAkJc3RhdHMtPm51bXZhbHVlc1tzbG90X2lkeF0gPSBudW1faGlzdDsKIAkJc3RhdHMt PnN0YXR5cGlkW3Nsb3RfaWR4XSA9IEZMT0FUOE9JRDsKIAkJc3RhdHMtPnN0YXR5cGxlbltz bG90X2lkeF0gPSBzaXplb2YoZmxvYXQ4KTsKLSNpZmRlZiBVU0VfRkxPQVQ4X0JZVkFMCi0J CXN0YXRzLT5zdGF0eXBieXZhbFtzbG90X2lkeF0gPSB0cnVlOwotI2Vsc2UKLQkJc3RhdHMt PnN0YXR5cGJ5dmFsW3Nsb3RfaWR4XSA9IGZhbHNlOwotI2VuZGlmCisJCXN0YXRzLT5zdGF0 eXBieXZhbFtzbG90X2lkeF0gPSBGTE9BVDhQQVNTQllWQUw7CiAJCXN0YXRzLT5zdGF0eXBh bGlnbltzbG90X2lkeF0gPSAnZCc7CiAKIAkJLyogU3RvcmUgdGhlIGZyYWN0aW9uIG9mIGVt cHR5IHJhbmdlcyAqLwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvZm1nci9mbWdy LmMgYi9zcmMvYmFja2VuZC91dGlscy9mbWdyL2ZtZ3IuYwppbmRleCBjMmVhYTYxNzhkLi5k NzNmZTU5YTI2IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9mbWdyL2ZtZ3IuYwor KysgYi9zcmMvYmFja2VuZC91dGlscy9mbWdyL2ZtZ3IuYwpAQCAtMTY4Nyw3ICsxNjg3LDcg QEAgT2lkU2VuZEZ1bmN0aW9uQ2FsbChPaWQgZnVuY3Rpb25JZCwgRGF0dW0gdmFsKQogICot LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCiAgKi8KIAotI2lmbmRlZiBVU0VfRkxPQVQ4X0JZVkFMCQkv KiBjb250cm9scyBpbnQ4IHRvbyAqLworI2lmICFGTE9BVDhQQVNTQllWQUwJCS8qIGNvbnRy b2xzIGludDggdG9vICovCiAKIERhdHVtCiBJbnQ2NEdldERhdHVtKGludDY0IFgpCmRpZmYg LS1naXQgYS9zcmMvaW5jbHVkZS9jLmggYi9zcmMvaW5jbHVkZS9jLmgKaW5kZXggYWI5Y2I3 M2E0Yy4uMjZkNTA0OTVlNiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvYy5oCisrKyBiL3Ny Yy9pbmNsdWRlL2MuaApAQCAtNDk5LDEwICs0OTksOCBAQCB0eXBlZGVmIGRvdWJsZSBmbG9h dDg7CiAgKi8KICNpZiBTSVpFT0ZfVk9JRF9QID49IDgKICNkZWZpbmUgRkxPQVQ4UEFTU0JZ VkFMIHRydWUKLSNkZWZpbmUgVVNFX0ZMT0FUOF9CWVZBTCAxCiAjZWxzZQogI2RlZmluZSBG TE9BVDhQQVNTQllWQUwgZmFsc2UKLSN1bmRlZiBVU0VfRkxPQVQ4X0JZVkFMCiAjZW5kaWYK IAogLyoKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3Bvc3RncmVzLmggYi9zcmMvaW5jbHVk ZS9wb3N0Z3Jlcy5oCmluZGV4IGY1YjdjNTJmOGEuLmJmNGI2MjIzZjMgMTAwNjQ0Ci0tLSBh L3NyYy9pbmNsdWRlL3Bvc3RncmVzLmgKKysrIGIvc3JjL2luY2x1ZGUvcG9zdGdyZXMuaApA QCAtNjAxLDcgKzYwMSw3IEBAIHR5cGVkZWYgc3RydWN0IE51bGxhYmxlRGF0dW0KICAqIE5v dGU6IHRoaXMgbWFjcm8gaGlkZXMgd2hldGhlciBpbnQ2NCBpcyBwYXNzIGJ5IHZhbHVlIG9y IGJ5IHJlZmVyZW5jZS4KICAqLwogCi0jaWZkZWYgVVNFX0ZMT0FUOF9CWVZBTAorI2lmIEZM T0FUOFBBU1NCWVZBTAogI2RlZmluZSBEYXR1bUdldEludDY0KFgpICgoaW50NjQpIChYKSkK ICNlbHNlCiAjZGVmaW5lIERhdHVtR2V0SW50NjQoWCkgKCogKChpbnQ2NCAqKSBEYXR1bUdl dFBvaW50ZXIoWCkpKQpAQCAtNjE1LDcgKzYxNSw3IEBAIHR5cGVkZWYgc3RydWN0IE51bGxh YmxlRGF0dW0KICAqIHRvIHBhbGxvYydkIHNwYWNlLgogICovCiAKLSNpZmRlZiBVU0VfRkxP QVQ4X0JZVkFMCisjaWYgRkxPQVQ4UEFTU0JZVkFMCiAjZGVmaW5lIEludDY0R2V0RGF0dW0o WCkgKChEYXR1bSkgKFgpKQogI2Vsc2UKIGV4dGVybiBEYXR1bSBJbnQ2NEdldERhdHVtKGlu dDY0IFgpOwpAQCAtNjI4LDcgKzYyOCw3IEBAIGV4dGVybiBEYXR1bSBJbnQ2NEdldERhdHVt KGludDY0IFgpOwogICogTm90ZTogdGhpcyBtYWNybyBoaWRlcyB3aGV0aGVyIGludDY0IGlz IHBhc3MgYnkgdmFsdWUgb3IgYnkgcmVmZXJlbmNlLgogICovCiAKLSNpZmRlZiBVU0VfRkxP QVQ4X0JZVkFMCisjaWYgRkxPQVQ4UEFTU0JZVkFMCiAjZGVmaW5lIERhdHVtR2V0VUludDY0 KFgpICgodWludDY0KSAoWCkpCiAjZWxzZQogI2RlZmluZSBEYXR1bUdldFVJbnQ2NChYKSAo KiAoKHVpbnQ2NCAqKSBEYXR1bUdldFBvaW50ZXIoWCkpKQpAQCAtNjQyLDcgKzY0Miw3IEBA IGV4dGVybiBEYXR1bSBJbnQ2NEdldERhdHVtKGludDY0IFgpOwogICogdG8gcGFsbG9jJ2Qg c3BhY2UuCiAgKi8KIAotI2lmZGVmIFVTRV9GTE9BVDhfQllWQUwKKyNpZiBGTE9BVDhQQVNT QllWQUwKICNkZWZpbmUgVUludDY0R2V0RGF0dW0oWCkgKChEYXR1bSkgKFgpKQogI2Vsc2UK ICNkZWZpbmUgVUludDY0R2V0RGF0dW0oWCkgSW50NjRHZXREYXR1bSgoaW50NjQpIChYKSkK QEAgLTY5Nyw3ICs2OTcsNyBAQCBGbG9hdDRHZXREYXR1bShmbG9hdDQgWCkKICAqIE5vdGU6 IHRoaXMgbWFjcm8gaGlkZXMgd2hldGhlciBmbG9hdDggaXMgcGFzcyBieSB2YWx1ZSBvciBi eSByZWZlcmVuY2UuCiAgKi8KIAotI2lmZGVmIFVTRV9GTE9BVDhfQllWQUwKKyNpZiBGTE9B VDhQQVNTQllWQUwKIHN0YXRpYyBpbmxpbmUgZmxvYXQ4CiBEYXR1bUdldEZsb2F0OChEYXR1 bSBYKQogewpAQCAtNzIyLDcgKzcyMiw3IEBAIERhdHVtR2V0RmxvYXQ4KERhdHVtIFgpCiAg KiB0byBwYWxsb2MnZCBzcGFjZS4KICAqLwogCi0jaWZkZWYgVVNFX0ZMT0FUOF9CWVZBTAor I2lmIEZMT0FUOFBBU1NCWVZBTAogc3RhdGljIGlubGluZSBEYXR1bQogRmxvYXQ4R2V0RGF0 dW0oZmxvYXQ4IFgpCiB7CkBAIC03NTMsNyArNzUzLDcgQEAgZXh0ZXJuIERhdHVtIEZsb2F0 OEdldERhdHVtKGZsb2F0OCBYKTsKICAqIG1hY3Jvcy4KICAqLwogCi0jaWZkZWYgVVNFX0ZM T0FUOF9CWVZBTAorI2lmIEZMT0FUOFBBU1NCWVZBTAogI2RlZmluZSBJbnQ2NEdldERhdHVt RmFzdChYKSAgSW50NjRHZXREYXR1bShYKQogI2RlZmluZSBGbG9hdDhHZXREYXR1bUZhc3Qo WCkgRmxvYXQ4R2V0RGF0dW0oWCkKICNlbHNlCi0tIAoyLjIzLjAKCg== --------------E12BAC548D38CD918BA0A238 Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="0003-Convert-some-if-calls-to-compiler-if-s.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0003-Convert-some-if-calls-to-compiler-if-s.patch" RnJvbSA5YzM4ZGIyMjdiN2YyMTU0YjVhMDZjNGZmNDJhNDNmODgzNWI5OTI5IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogVGh1LCAzMSBPY3QgMjAxOSAwOToyMTozOCArMDEwMApTdWJqZWN0 OiBbUEFUQ0ggMy8zXSBDb252ZXJ0IHNvbWUgI2lmIGNhbGxzIHRvIGNvbXBpbGVyIGlmKClz CgpUaGlzIGVuc3VyZXMgdGhhdCB0aGUgY29udGFpbmVkIGNvZGUgaXMgbG9va2VkIGF0IGJ5 IHRoZSBjb21waWxlciBhbmQKZG9lcyBub3QgYml0IHJvdC4gIFRoaXMgaXMgZXNwZWNpYWxs eSBpbnRlcmVzdGluZyBhcyB0aGUgYWZmZWN0ZWQgY29kZQppcyBmb3IgdGhlIGxlc3Nlci11 c2VkIDMyLWJpdCBidWlsZHMuCi0tLQogc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvaGVhcGFt X2hhbmRsZXIuYyB8ICA1ICsrLS0tCiBzcmMvYmFja2VuZC9hY2Nlc3MvaW5kZXgvaW5kZXhh bS5jICAgICAgIHwgMTEgKysrKysrLS0tLS0KIHNyYy9iYWNrZW5kL3V0aWxzL2FkdC9pbnQ4 LmMgICAgICAgICAgICAgfCAxMiArKysrLS0tLS0tLS0KIHNyYy9iYWNrZW5kL3V0aWxzL2Fk dC9udW1lcmljLmMgICAgICAgICAgfCAxNCArKysrLS0tLS0tLS0tLQogNCBmaWxlcyBjaGFu Z2VkLCAxNiBpbnNlcnRpb25zKCspLCAyNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC9hY2Nlc3MvaGVhcC9oZWFwYW1faGFuZGxlci5jIGIvc3JjL2JhY2tlbmQv YWNjZXNzL2hlYXAvaGVhcGFtX2hhbmRsZXIuYwppbmRleCAxYWU0MjU4NjcwLi5hMDAyOTE2 YTczIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC9oZWFwYW1faGFuZGxl ci5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL2hlYXBhbV9oYW5kbGVyLmMKQEAg LTE4NTgsOSArMTg1OCw4IEBAIGhlYXBhbV9pbmRleF92YWxpZGF0ZV9zY2FuKFJlbGF0aW9u IGhlYXBSZWxhdGlvbiwKIAkJCQlpbmRleGN1cnNvciA9ICZkZWNvZGVkOwogCiAJCQkJLyog SWYgaW50OCBpcyBwYXNzLWJ5LXJlZiwgZnJlZSAoZW5jb2RlZCkgVElEIERhdHVtIG1lbW9y eSAqLwotI2lmICFGTE9BVDhQQVNTQllWQUwKLQkJCQlwZnJlZShEYXR1bUdldFBvaW50ZXIo dHNfdmFsKSk7Ci0jZW5kaWYKKwkJCQlpZiAoIUZMT0FUOFBBU1NCWVZBTCkKKwkJCQkJcGZy ZWUoRGF0dW1HZXRQb2ludGVyKHRzX3ZhbCkpOwogCQkJfQogCQkJZWxzZQogCQkJewpkaWZm IC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL2luZGV4L2luZGV4YW0uYyBiL3NyYy9iYWNr ZW5kL2FjY2Vzcy9pbmRleC9pbmRleGFtLmMKaW5kZXggNmE0YTFmOTM1Yy4uOTM0YzQxYzFi ZSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL2luZGV4L2luZGV4YW0uYworKysg Yi9zcmMvYmFja2VuZC9hY2Nlc3MvaW5kZXgvaW5kZXhhbS5jCkBAIC04NjAsMTEgKzg2MCwx MiBAQCBpbmRleF9zdG9yZV9mbG9hdDhfb3JkZXJieV9kaXN0YW5jZXMoSW5kZXhTY2FuRGVz YyBzY2FuLCBPaWQgKm9yZGVyQnlUeXBlcywKIAl7CiAJCWlmIChvcmRlckJ5VHlwZXNbaV0g PT0gRkxPQVQ4T0lEKQogCQl7Ci0jaWYgIUZMT0FUOFBBU1NCWVZBTAotCQkJLyogbXVzdCBm cmVlIGFueSBvbGQgdmFsdWUgdG8gYXZvaWQgbWVtb3J5IGxlYWthZ2UgKi8KLQkJCWlmICgh c2Nhbi0+eHNfb3JkZXJieW51bGxzW2ldKQotCQkJCXBmcmVlKERhdHVtR2V0UG9pbnRlcihz Y2FuLT54c19vcmRlcmJ5dmFsc1tpXSkpOwotI2VuZGlmCisJCQlpZiAoIUZMT0FUOFBBU1NC WVZBTCkKKwkJCXsKKwkJCQkvKiBtdXN0IGZyZWUgYW55IG9sZCB2YWx1ZSB0byBhdm9pZCBt ZW1vcnkgbGVha2FnZSAqLworCQkJCWlmICghc2Nhbi0+eHNfb3JkZXJieW51bGxzW2ldKQor CQkJCQlwZnJlZShEYXR1bUdldFBvaW50ZXIoc2Nhbi0+eHNfb3JkZXJieXZhbHNbaV0pKTsK KwkJCX0KIAkJCWlmIChkaXN0YW5jZXMgJiYgIWRpc3RhbmNlc1tpXS5pc251bGwpCiAJCQl7 CiAJCQkJc2Nhbi0+eHNfb3JkZXJieXZhbHNbaV0gPSBGbG9hdDhHZXREYXR1bShkaXN0YW5j ZXNbaV0udmFsdWUpOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2ludDgu YyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9pbnQ4LmMKaW5kZXggMTY1YmU3NWRhOC4uM2Yy NWZmNmI2NCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2ludDguYworKysg Yi9zcmMvYmFja2VuZC91dGlscy9hZHQvaW50OC5jCkBAIC02NzcsMTAgKzY3Nyw5IEBAIGlu dDhpbmMoUEdfRlVOQ1RJT05fQVJHUykKIAkgKiBwYWxsb2Mgb3ZlcmhlYWQgZm9yIENPVU5U KCk6IHdoZW4gY2FsbGVkIGFzIGFuIGFnZ3JlZ2F0ZSwgd2Uga25vdyB0aGF0CiAJICogdGhl IGFyZ3VtZW50IGlzIG1vZGlmaWFibGUgbG9jYWwgc3RvcmFnZSwgc28ganVzdCB1cGRhdGUg aXQgaW4tcGxhY2UuCiAJICogKElmIGludDggaXMgcGFzcy1ieS12YWx1ZSwgdGhlbiBvZiBj b3Vyc2UgdGhpcyBpcyB1c2VsZXNzIGFzIHdlbGwgYXMKLQkgKiBpbmNvcnJlY3QsIHNvIGp1 c3QgaWZkZWYgaXQgb3V0LikKKwkgKiBpbmNvcnJlY3QuKQogCSAqLwotI2lmICFGTE9BVDhQ QVNTQllWQUwJCS8qIGNvbnRyb2xzIGludDggdG9vICovCi0JaWYgKEFnZ0NoZWNrQ2FsbENv bnRleHQoZmNpbmZvLCBOVUxMKSkKKwlpZiAoIUZMT0FUOFBBU1NCWVZBTCAmJiBBZ2dDaGVj a0NhbGxDb250ZXh0KGZjaW5mbywgTlVMTCkpCiAJewogCQlpbnQ2NAkgICAqYXJnID0gKGlu dDY0ICopIFBHX0dFVEFSR19QT0lOVEVSKDApOwogCkBAIC02OTIsNyArNjkxLDYgQEAgaW50 OGluYyhQR19GVU5DVElPTl9BUkdTKQogCQlQR19SRVRVUk5fUE9JTlRFUihhcmcpOwogCX0K IAllbHNlCi0jZW5kaWYKIAl7CiAJCS8qIE5vdCBjYWxsZWQgYXMgYW4gYWdncmVnYXRlLCBz byBqdXN0IGRvIGl0IHRoZSBkdW1iIHdheSAqLwogCQlpbnQ2NAkJYXJnID0gUEdfR0VUQVJH X0lOVDY0KDApOwpAQCAtNzE1LDEwICs3MTMsOSBAQCBpbnQ4ZGVjKFBHX0ZVTkNUSU9OX0FS R1MpCiAJICogcGFsbG9jIG92ZXJoZWFkIGZvciBDT1VOVCgpOiB3aGVuIGNhbGxlZCBhcyBh biBhZ2dyZWdhdGUsIHdlIGtub3cgdGhhdAogCSAqIHRoZSBhcmd1bWVudCBpcyBtb2RpZmlh YmxlIGxvY2FsIHN0b3JhZ2UsIHNvIGp1c3QgdXBkYXRlIGl0IGluLXBsYWNlLgogCSAqIChJ ZiBpbnQ4IGlzIHBhc3MtYnktdmFsdWUsIHRoZW4gb2YgY291cnNlIHRoaXMgaXMgdXNlbGVz cyBhcyB3ZWxsIGFzCi0JICogaW5jb3JyZWN0LCBzbyBqdXN0IGlmZGVmIGl0IG91dC4pCisJ ICogaW5jb3JyZWN0LikKIAkgKi8KLSNpZiAhRkxPQVQ4UEFTU0JZVkFMCQkvKiBjb250cm9s cyBpbnQ4IHRvbyAqLwotCWlmIChBZ2dDaGVja0NhbGxDb250ZXh0KGZjaW5mbywgTlVMTCkp CisJaWYgKCFGTE9BVDhQQVNTQllWQUwgJiYgQWdnQ2hlY2tDYWxsQ29udGV4dChmY2luZm8s IE5VTEwpKQogCXsKIAkJaW50NjQJICAgKmFyZyA9IChpbnQ2NCAqKSBQR19HRVRBUkdfUE9J TlRFUigwKTsKIApAQCAtNzI5LDcgKzcyNiw2IEBAIGludDhkZWMoUEdfRlVOQ1RJT05fQVJH UykKIAkJUEdfUkVUVVJOX1BPSU5URVIoYXJnKTsKIAl9CiAJZWxzZQotI2VuZGlmCiAJewog CQkvKiBOb3QgY2FsbGVkIGFzIGFuIGFnZ3JlZ2F0ZSwgc28ganVzdCBkbyBpdCB0aGUgZHVt YiB3YXkgKi8KIAkJaW50NjQJCWFyZyA9IFBHX0dFVEFSR19JTlQ2NCgwKTsKZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9udW1lcmljLmMgYi9zcmMvYmFja2VuZC91dGls cy9hZHQvbnVtZXJpYy5jCmluZGV4IDMxOGM2YTU0OTQuLmQ2ZWFlNzRhMzUgMTAwNjQ0Ci0t LSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9udW1lcmljLmMKKysrIGIvc3JjL2JhY2tlbmQv dXRpbHMvYWR0L251bWVyaWMuYwpAQCAtNTI5OCwxMSArNTI5OCw5IEBAIGludDJfc3VtKFBH X0ZVTkNUSU9OX0FSR1MpCiAJICogSWYgd2UncmUgaW52b2tlZCBhcyBhbiBhZ2dyZWdhdGUs IHdlIGNhbiBjaGVhdCBhbmQgbW9kaWZ5IG91ciBmaXJzdAogCSAqIHBhcmFtZXRlciBpbi1w bGFjZSB0byBhdm9pZCBwYWxsb2Mgb3ZlcmhlYWQuIElmIG5vdCwgd2UgbmVlZCB0byByZXR1 cm4KIAkgKiB0aGUgbmV3IHZhbHVlIG9mIHRoZSB0cmFuc2l0aW9uIHZhcmlhYmxlLiAoSWYg aW50OCBpcyBwYXNzLWJ5LXZhbHVlLAotCSAqIHRoZW4gb2YgY291cnNlIHRoaXMgaXMgdXNl bGVzcyBhcyB3ZWxsIGFzIGluY29ycmVjdCwgc28ganVzdCBpZmRlZiBpdAotCSAqIG91dC4p CisJICogdGhlbiBvZiBjb3Vyc2UgdGhpcyBpcyB1c2VsZXNzIGFzIHdlbGwgYXMgaW5jb3Jy ZWN0LikKIAkgKi8KLSNpZiAhRkxPQVQ4UEFTU0JZVkFMCQkvKiBjb250cm9scyBpbnQ4IHRv byAqLwotCWlmIChBZ2dDaGVja0NhbGxDb250ZXh0KGZjaW5mbywgTlVMTCkpCisJaWYgKCFG TE9BVDhQQVNTQllWQUwgJiYgQWdnQ2hlY2tDYWxsQ29udGV4dChmY2luZm8sIE5VTEwpKQog CXsKIAkJaW50NjQJICAgKm9sZHN1bSA9IChpbnQ2NCAqKSBQR19HRVRBUkdfUE9JTlRFUigw KTsKIApAQCAtNTMxMyw3ICs1MzExLDYgQEAgaW50Ml9zdW0oUEdfRlVOQ1RJT05fQVJHUykK IAkJUEdfUkVUVVJOX1BPSU5URVIob2xkc3VtKTsKIAl9CiAJZWxzZQotI2VuZGlmCiAJewog CQlpbnQ2NAkJb2xkc3VtID0gUEdfR0VUQVJHX0lOVDY0KDApOwogCkBAIC01MzQ3LDExICs1 MzQ0LDkgQEAgaW50NF9zdW0oUEdfRlVOQ1RJT05fQVJHUykKIAkgKiBJZiB3ZSdyZSBpbnZv a2VkIGFzIGFuIGFnZ3JlZ2F0ZSwgd2UgY2FuIGNoZWF0IGFuZCBtb2RpZnkgb3VyIGZpcnN0 CiAJICogcGFyYW1ldGVyIGluLXBsYWNlIHRvIGF2b2lkIHBhbGxvYyBvdmVyaGVhZC4gSWYg bm90LCB3ZSBuZWVkIHRvIHJldHVybgogCSAqIHRoZSBuZXcgdmFsdWUgb2YgdGhlIHRyYW5z aXRpb24gdmFyaWFibGUuIChJZiBpbnQ4IGlzIHBhc3MtYnktdmFsdWUsCi0JICogdGhlbiBv ZiBjb3Vyc2UgdGhpcyBpcyB1c2VsZXNzIGFzIHdlbGwgYXMgaW5jb3JyZWN0LCBzbyBqdXN0 IGlmZGVmIGl0Ci0JICogb3V0LikKKwkgKiB0aGVuIG9mIGNvdXJzZSB0aGlzIGlzIHVzZWxl c3MgYXMgd2VsbCBhcyBpbmNvcnJlY3QuKQogCSAqLwotI2lmICFGTE9BVDhQQVNTQllWQUwJ CS8qIGNvbnRyb2xzIGludDggdG9vICovCi0JaWYgKEFnZ0NoZWNrQ2FsbENvbnRleHQoZmNp bmZvLCBOVUxMKSkKKwlpZiAoIUZMT0FUOFBBU1NCWVZBTCAmJiBBZ2dDaGVja0NhbGxDb250 ZXh0KGZjaW5mbywgTlVMTCkpCiAJewogCQlpbnQ2NAkgICAqb2xkc3VtID0gKGludDY0ICop IFBHX0dFVEFSR19QT0lOVEVSKDApOwogCkBAIC01MzYyLDcgKzUzNTcsNiBAQCBpbnQ0X3N1 bShQR19GVU5DVElPTl9BUkdTKQogCQlQR19SRVRVUk5fUE9JTlRFUihvbGRzdW0pOwogCX0K IAllbHNlCi0jZW5kaWYKIAl7CiAJCWludDY0CQlvbGRzdW0gPSBQR19HRVRBUkdfSU5UNjQo MCk7CiAKLS0gCjIuMjMuMAoK --------------E12BAC548D38CD918BA0A238--