From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.bugs Subject: bug#9960: fix for Bug#9772 should also help fix Bug#9960 Date: Mon, 07 Nov 2011 22:43:46 -0800 Organization: UCLA Computer Science Department Message-ID: <4EB8CFA2.8050809@cs.ucla.edu> References: <8339e2lsu7.fsf@gnu.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------060707080900070208090306" X-Trace: dough.gmane.org 1320734664 25275 80.91.229.12 (8 Nov 2011 06:44:24 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Tue, 8 Nov 2011 06:44:24 +0000 (UTC) To: 9960@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Nov 08 07:44:19 2011 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1RNfPt-0000Q6-Fs for geb-bug-gnu-emacs@m.gmane.org; Tue, 08 Nov 2011 07:44:19 +0100 Original-Received: from localhost ([::1]:33305 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RNfPs-00052B-DP for geb-bug-gnu-emacs@m.gmane.org; Tue, 08 Nov 2011 01:44:16 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:38494) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RNfPm-000525-Hf for bug-gnu-emacs@gnu.org; Tue, 08 Nov 2011 01:44:13 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RNfPj-00044w-0q for bug-gnu-emacs@gnu.org; Tue, 08 Nov 2011 01:44:10 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:54213) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RNfPi-00044r-QF for bug-gnu-emacs@gnu.org; Tue, 08 Nov 2011 01:44:06 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.69) (envelope-from ) id 1RNfSY-0006MN-58 for bug-gnu-emacs@gnu.org; Tue, 08 Nov 2011 01:47:02 -0500 X-Loop: help-debbugs@gnu.org In-Reply-To: <8339e2lsu7.fsf@gnu.org> Resent-From: Paul Eggert Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 08 Nov 2011 06:47:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 9960 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 9960-submit@debbugs.gnu.org id=B9960.132073480824429 (code B ref 9960); Tue, 08 Nov 2011 06:47:01 +0000 Original-Received: (at 9960) by debbugs.gnu.org; 8 Nov 2011 06:46:48 +0000 Original-Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RNfSI-0006Lw-8W for submit@debbugs.gnu.org; Tue, 08 Nov 2011 01:46:47 -0500 Original-Received: from smtp.cs.ucla.edu ([131.179.128.62]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RNfSC-0006Ll-5H for 9960@debbugs.gnu.org; Tue, 08 Nov 2011 01:46:43 -0500 Original-Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id E957539E800C for <9960@debbugs.gnu.org>; Mon, 7 Nov 2011 22:43:43 -0800 (PST) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Original-Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id p1RYXqCDDmc8 for <9960@debbugs.gnu.org>; Mon, 7 Nov 2011 22:43:41 -0800 (PST) Original-Received: from [192.168.1.10] (pool-71-189-109-235.lsanca.fios.verizon.net [71.189.109.235]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 8A52F39E8007 for <9960@debbugs.gnu.org>; Mon, 7 Nov 2011 22:43:41 -0800 (PST) User-Agent: Mozilla/5.0 (X11; Linux i686; rv:7.0.1) Gecko/20110929 Thunderbird/7.0.1 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list Resent-Date: Tue, 08 Nov 2011 01:47:02 -0500 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:53684 Archived-At: This is a multi-part message in MIME format. --------------060707080900070208090306 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit It appears that the patch for Bug#9772 would help fix one of the problems with the MSVC port (Bug#9960), as the patch solves the problem of DECL_ALIGN in a portable way that should work with MSVC. So I updated the Bug#9772 patch to reflect the latest GNU Emacs trunk (bzr 106319) and am attaching it here. --------------060707080900070208090306 Content-Type: text/plain; name="stdalign1.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="stdalign1.txt" IyBCYXphYXIgbWVyZ2UgZGlyZWN0aXZlIGZvcm1hdCAyIChCYXphYXIgMC45MCkKIyByZXZp c2lvbl9pZDogZWdnZXJ0QGNzLnVjbGEuZWR1LTIwMTExMTA4MDYzNTM3LWRqejRha2hwazRr cG9heTEKIyB0YXJnZXRfYnJhbmNoOiBienIrc3NoOi8vZWdnZXJ0QGJ6ci5zYXZhbm5haC5n bnUub3JnL2VtYWNzL3RydW5rCiMgdGVzdGFtZW50X3NoYTE6IDc3YTUwZTE1NGI4M2M5NTY1 Y2MxNDJmNTc2ZjgxNDE3ZjY3YjdlOWQKIyB0aW1lc3RhbXA6IDIwMTEtMTEtMDcgMjI6MzU6 NDQgLTA4MDAKIyBiYXNlX3JldmlzaW9uX2lkOiBtb25uaWVyQGlyby51bW9udHJlYWwuY2Et MjAxMTExMDgwMjU3NTktXAojICAgZDV1MGFnNGhkaWUyN2xjegojIAojIEJlZ2luIHBhdGNo Cj09PSBtb2RpZmllZCBmaWxlICcuYnpyaWdub3JlJwotLS0gLmJ6cmlnbm9yZQkyMDExLTA5 LTI5IDE0OjE5OjExICswMDAwCisrKyAuYnpyaWdub3JlCTIwMTEtMTAtMTcgMDE6MjI6MTkg KzAwMDAKQEAgLTUzLDYgKzUzLDcgQEAKIGxpYi9jKytkZWZzLmgKIGxpYi9nZXRvcHQuaAog bGliL2ludHR5cGVzLmgKK2xpYi9zdGRhbGlnbi5oCiBsaWIvc3RkYm9vbC5oCiBsaWIvc3Rk aW8uaAogbGliL3N0ZGludC5oCgo9PT0gbW9kaWZpZWQgZmlsZSAnQ2hhbmdlTG9nJwotLS0g Q2hhbmdlTG9nCTIwMTEtMTEtMDUgMTE6MzQ6NTYgKzAwMDAKKysrIENoYW5nZUxvZwkyMDEx LTExLTA4IDAxOjA3OjE4ICswMDAwCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTEtMTEtMDggIFBh dWwgRWdnZXJ0ICA8ZWdnZXJ0QGNzLnVjbGEuZWR1PgorCisJVXNlIEdudWxpYiBzdGRhbGln biBtb2R1bGUgKEJ1ZyM5NzcyLCBCdWcjOTk2MCkuCisJVGhpcyBzaG91bGQgaW1wcm92ZSBw b3J0YWJpbGl0eSBvZiBtYWNyb3MgbGlrZSBhbGlnbm9mIGFuZCBERUNMX0FMSUdOLgorCSog bGliL3N0ZGFsaWduLmluLmgsIG00L3N0ZGFsaWduLm00OiBOZXcgZmlsZXMsIGZyb20gZ251 bGliLgorCSogLmJ6cmlnbm9yZTogQWRkIGxpYi9zdGRhbGlnbi5oLgorCSogTWFrZWZpbGUu aW4gKEdOVUxJQl9NT0RVTEVTKTogQWRkIHN0ZGFsaWduLgorCSogY29uZmlnLmJhdDogRG8g bm90IHNldCBOT19ERUNMX0FMSUdOOyBubyBsb25nZXIgbmVlZGVkLgorCUNvcHkgbGliL3N0 ZGFsaWduLmluLmggdG8gbGliL3N0ZGFsaWduLmluLWggYXMgbmVlZGVkLgorCSogY29uZmln dXJlLmluIChIQVZFX0FUVFJJQlVURV9BTElHTkVEKTogUmVtb3ZlIHRoZSBjb2RlIHRoYXQK KwlmaWRkbGVzIHdpdGggdGhpcywgYXMgZ251bGliIG5vdyBkb2VzIHRoaXMgZm9yIHVzLgor CSogbGliL2dudWxpYi5taywgbGliL21kNS5jLCBsaWIvc2hhMS5jLCBsaWIvc2hhMjU2LmMs IGxpYi9zaGE1MTIuYzoKKwkqIG00L2dsLWNvbXAubTQsIG00L3B0aHJlYWRfc2lnbWFzay5t NDogTWVyZ2UgZnJvbSBnbnVsaWIuCisKKwkqIGRvYy9taXNjL3RleGluZm8udGV4LCBsaWIv Z2V0dGV4dC5oLCBsaWIvZ251bGliLm1rLCBsaWIvc3RkbGliLmluLmg6CisJKiBtNC9pbmNs dWRlX25leHQubTQsIG00L3N0ZGxpYl9oLm00OiBNZXJnZSBmcm9tIGdudWxpYi4KKwogMjAx MS0xMS0wNSAgRWxpIFphcmV0c2tpaSAgPGVsaXpAZ251Lm9yZz4KIAogCSogbGliL21ha2Vm aWxlLnczMi1pbiAoRlJDKTogTmV3IGR1bW15IHRhcmdldC4KCj09PSBtb2RpZmllZCBmaWxl ICdNYWtlZmlsZS5pbicKLS0tIE1ha2VmaWxlLmluCTIwMTEtMDktMjYgMjE6MzA6MTggKzAw MDAKKysrIE1ha2VmaWxlLmluCTIwMTEtMTAtMTcgMDE6MjI6MTkgKzAwMDAKQEAgLTMzNyw3 ICszMzcsNyBAQAogICBkdXAyIFwKICAgZmlsZW1vZGUgZ2V0bG9hZGF2ZyBnZXRvcHQtZ251 IGlnbm9yZS12YWx1ZSBpbnRwcm9wcyBsc3RhdCBcCiAgIG1rdGltZSBwdGhyZWFkX3NpZ21h c2sgcmVhZGxpbmsgXAotICBzb2NrbGVuIHN0ZGFyZyBzdGRpbyBzdHJmdGltZSBzdHJ0b2lt YXggc3RydG91bWF4IHN5bWxpbmsgc3lzX3N0YXQKKyAgc29ja2xlbiBzdGRhbGlnbiBzdGRh cmcgc3RkaW8gc3RyZnRpbWUgc3RydG9pbWF4IHN0cnRvdW1heCBzeW1saW5rIHN5c19zdGF0 CiBHTlVMSUJfVE9PTF9GTEFHUyA9IFwKICAtLWF2b2lkPW1zdmMtaW52YWwgLS1hdm9pZD1t c3ZjLW5vdGhyb3cgLS1hdm9pZD1wYXRobWF4IFwKICAtLWF2b2lkPXJhaXNlIC0tYXZvaWQ9 dGhyZWFkbGliIFwKCj09PSBtb2RpZmllZCBmaWxlICdjb25maWcuYmF0JwotLS0gY29uZmln LmJhdAkyMDExLTEwLTMxIDE3OjQ5OjEwICswMDAwCisrKyBjb25maWcuYmF0CTIwMTEtMTEt MDEgMDU6MDM6NTYgKzAwMDAKQEAgLTE2MywyMiArMTYzLDYgQEAKIGlmIGV4aXN0IC4uXGF1 dG9nZW5cY29uZmlnLmluIHNlZCAtZiAuLi9tc2Rvcy9zZWQyeC5pbnAgPCAuLlxhdXRvZ2Vu XGNvbmZpZy5pbiA+IGNvbmZpZy50bXANCiA6c3JjNA0KIHNlZCAtZiAuLi9tc2Rvcy9zZWQy djIuaW5wIDxjb25maWcudG1wID5jb25maWcuaDINCi1SZW0gU2VlIGlmIERFQ0xfQUxJR04g Y2FuIGJlIHN1cHBvcnRlZCB3aXRoIHRoaXMgR0NDDQotcm0gLWYganVuay5jIGp1bmsubyBq dW5rIGp1bmsuZXhlDQotZWNobyBzdHJ1Y3QgeyBpbnQgaTsgY2hhciAqcDsgfSBfX2F0dHJp YnV0ZV9fKChfX2FsaWduZWRfXyg4KSkpIGZvbzsgID5qdW5rLmMNCi1yZW0gVHdvIHBlcmNl bnQgc2lnbnMgYmVjYXVzZSBpdCBpcyBhIHNwZWNpYWwgY2hhcmFjdGVyIGZvciBDT01NQU5E LkNPTS9DTUQNCi1yZW0gRmlsdGVyIHRocnUgU2VkIGJlY2F1c2UgIiYiIGlzIHNwZWNpYWwg Zm9yIENNRC5FWEUNCi1lY2hvIGludCBtYWluKHZvaWQpIHsgcmV0dXJuICh1bnNpZ25lZCBs b25nKSImImZvbyAlJSA4OyB9IHwgc2VkICJzLy4mLi9cJi8iICAgICAgICAgPj5qdW5rLmMN Ci1nY2MgLW8ganVuayBqdW5rLmMNCi1pZiBub3QgZXhpc3QganVuay5leGUgY29mZjJleGUg anVuaw0KLWp1bmsNCi1JZiBOb3QgRXJyb3JMZXZlbCAxIEdvdG8gYWxpZ25Paw0KLUVjaG8g V0FSTklORzogWW91ciBHQ0MgZG9lcyBub3Qgc3VwcG9ydCA4LWJ5dGUgYWxpZ25lZCB2YXJp YWJsZXMuDQotRWNobyBXQVJOSU5HOiBUaGVyZWZvcmUgRW1hY3MgY2Fubm90IHN1cHBvcnQg YnVmZmVycyBsYXJnZXIgdGhhbiAxMjhNQi4NCi1yZW0gVGhlIGZvbGxvd2luZyBsaW5lIGRp c2FibGVzIERFQ0xfQUxJR04gd2hpY2ggaW4gdHVybiBkaXNhYmxlcyBVU0VfTFNCX1RBRw0K LXJlbSBGb3IgZGV0YWlscyBzZWUgbGlzcC5oIHdoZXJlIGl0IGRlZmluZXMgVVNFX0xTQl9U QUcNCi1lY2hvICNkZWZpbmUgTk9fREVDTF9BTElHTiA+PmNvbmZpZy5oMg0KLTphbGlnbk9r DQogUmVtIFNlZSBpZiB0aGV5IGhhdmUgbGlieG1sMiBsYXRlciB0aGFuIHYyLjIuMCBpbnN0 YWxsZWQNCiBFY2hvIENoZWNraW5nIHdoZXRoZXIgbGlieG1sMiB2Mi4yLjEgb3IgbGF0ZXIg aXMgaW5zdGFsbGVkIC4uLg0KIHJtIC1mIGp1bmsuYyBqdW5rLm8ganVuayBqdW5rLmV4ZQ0K QEAgLTI4Myw2ICsyNjcsNyBAQAogSWYgRXhpc3QgYnVpbGQtYXV4XHNuaXBwZXRcYysrZGVm cy5oIHVwZGF0ZSBidWlsZC1hdXgvc25pcHBldC9jKytkZWZzLmggYnVpbGQtYXV4L3NuaXBw ZXQvY3h4ZGVmcy5oDQogSWYgRXhpc3QgYWxsb2NhLmluLmggdXBkYXRlIGFsbG9jYS5pbi5o IGFsbG9jYS5pbi1oDQogSWYgRXhpc3QgZ2V0b3B0LmluLmggdXBkYXRlIGdldG9wdC5pbi5o IGdldG9wdC5pbi1oDQorSWYgRXhpc3Qgc3RkYWxpZ24uaW4uaCB1cGRhdGUgc3RkYWxpZ24u aW4uaCBzdGRhbGlnbi5pbi1oDQogSWYgRXhpc3Qgc3RkYm9vbC5pbi5oIHVwZGF0ZSBzdGRi b29sLmluLmggc3RkYm9vbC5pbi1oDQogSWYgRXhpc3Qgc2lnbmFsLmluLmggdXBkYXRlIHNp Z25hbC5pbi5oIHNpZ25hbC5pbi1oDQogSWYgRXhpc3Qgc3RkZGVmLmluLmggdXBkYXRlIHN0 ZGRlZi5pbi5oICBzdGRkZWYuaW4taA0KQEAgLTM0Niw0ICszMzEsMyBAQAogc2V0IGRqZ3Bw X3Zlcj0NCiBzZXQgc3lzX21hbGxvYz0NCiBzZXQgbGlieG1sPQ0KLQ0KCj09PSBtb2RpZmll ZCBmaWxlICdjb25maWd1cmUuaW4nCi0tLSBjb25maWd1cmUuaW4JMjAxMS0xMS0wNCAyMjox Njo0NiArMDAwMAorKysgY29uZmlndXJlLmluCTIwMTEtMTEtMDcgMDU6NTk6MjkgKzAwMDAK QEAgLTEzNTEsMTkgKzEzNTEsNiBAQAogZG5sIENoZWNrIGZvciBlbmRpYW5lc3MKIEFDX0Nf QklHRU5ESUFOCiAKLUFDX0NBQ0hFX0NIRUNLKFtmb3IgIF9fYXR0cmlidXRlX18gKChfX2Fs aWduZWRfXyAoZXhwcikpKV0sCi0gIFtlbWFjc19jdl9hdHRyaWJ1dGVfYWxpZ25lZF0sCi0g IFtBQ19DT01QSUxFX0lGRUxTRSgKLSAgICAgW0FDX0xBTkdfUFJPR1JBTSgKLQlbW2NoYXIg X19hdHRyaWJ1dGVfXyAoKF9fYWxpZ25lZF9fICgxIDw8IDMpKSkgYztdXSwKLQlbW11dKV0s Ci0gICAgIFtlbWFjc19jdl9hdHRyaWJ1dGVfYWxpZ25lZD15ZXNdLAotICAgICBbZW1hY3Nf Y3ZfYXR0cmlidXRlX2FsaWduZWQ9bm9dKV0pCi1pZiB0ZXN0ICRlbWFjc19jdl9hdHRyaWJ1 dGVfYWxpZ25lZCA9IHllczsgdGhlbgotICBBQ19ERUZJTkUoW0hBVkVfQVRUUklCVVRFX0FM SUdORURdLCAxLAotICAgIFtEZWZpbmUgdG8gMSBpZiBHQ0Mtc3R5bGUgX19hdHRyaWJ1dGVf XyAoKF9fYWxpZ25lZF9fIChleHByKSkpIHdvcmtzLl0pCi1maQotCiBkbmwgY2hlY2sgZm9y IE1ha2UgZmVhdHVyZQogQUNfUFJPR19NQUtFX1NFVAogCgo9PT0gbW9kaWZpZWQgZmlsZSAn ZG9jL21pc2MvQ2hhbmdlTG9nJwotLS0gZG9jL21pc2MvQ2hhbmdlTG9nCTIwMTEtMTEtMDEg MTk6MjI6NTcgKzAwMDAKKysrIGRvYy9taXNjL0NoYW5nZUxvZwkyMDExLTExLTA4IDAxOjA3 OjE4ICswMDAwCkBAIC0xLDMgKzEsNyBAQAorMjAxMS0xMS0wOCAgUGF1bCBFZ2dlcnQgIDxl Z2dlcnRAY3MudWNsYS5lZHU+CisKKwkqIHRleGluZm8udGV4OiBNZXJnZSBmcm9tIGdudWxp Yi4KKwogMjAxMS0xMC0zMSAgS2F0c3VtaSBZYW1hb2thICA8eWFtYW9rYUBqcGwub3JnPgog CiAJKiBnbnVzLnRleGkgKE90aGVyIEdudXMgVmVyc2lvbnMpOiBSZW1vdmUuCgo9PT0gbW9k aWZpZWQgZmlsZSAnZG9jL21pc2MvdGV4aW5mby50ZXgnCi0tLSBkb2MvbWlzYy90ZXhpbmZv LnRleAkyMDExLTA5LTI2IDIxOjMwOjE4ICswMDAwCisrKyBkb2MvbWlzYy90ZXhpbmZvLnRl eAkyMDExLTExLTA3IDA1OjU2OjA0ICswMDAwCkBAIC0zLDcgKzMsNyBAQAogJSBMb2FkIHBs YWluIGlmIG5lY2Vzc2FyeSwgaS5lLiwgaWYgcnVubmluZyB1bmRlciBpbml0ZXguCiBcZXhw YW5kYWZ0ZXJcaWZ4XGNzbmFtZSBmbXRuYW1lXGVuZGNzbmFtZVxyZWxheFxpbnB1dCBwbGFp blxmaQogJQotXGRlZlx0ZXhpbmZvdmVyc2lvbnsyMDExLTA5LTIzLjA5fQorXGRlZlx0ZXhp bmZvdmVyc2lvbnsyMDExLTExLTA2LjA5fQogJQogJSBDb3B5cmlnaHQgMTk4NSwgMTk4Niwg MTk4OCwgMTk5MCwgMTk5MSwgMTk5MiwgMTk5MywgMTk5NCwgMTk5NSwKICUgMTk5NiwgMTk5 NywgMTk5OCwgMTk5OSwgMjAwMCwgMjAwMSwgMjAwMiwgMjAwMywgMjAwNCwgMjAwNSwgMjAw NiwKQEAgLTExNiw2ICsxMTYsNyBAQAogJSBTZXQgdXAgZml4ZWQgd29yZHMgZm9yIEVuZ2xp c2ggaWYgbm90IGFscmVhZHkgc2V0LgogXGlmeFxwdXR3b3JkQXBwZW5kaXhcdW5kZWZpbmVk ICBcZ2RlZlxwdXR3b3JkQXBwZW5kaXh7QXBwZW5kaXh9XGZpCiBcaWZ4XHB1dHdvcmRDaGFw dGVyXHVuZGVmaW5lZCAgIFxnZGVmXHB1dHdvcmRDaGFwdGVye0NoYXB0ZXJ9XGZpCitcaWZ4 XHB1dHdvcmRlcnJvclx1bmRlZmluZWQgICAgIFxnZGVmXHB1dHdvcmRmaWxle2Vycm9yfVxm aQogXGlmeFxwdXR3b3JkZmlsZVx1bmRlZmluZWQgICAgICBcZ2RlZlxwdXR3b3JkZmlsZXtm aWxlfVxmaQogXGlmeFxwdXR3b3JkaW5cdW5kZWZpbmVkICAgICAgICBcZ2RlZlxwdXR3b3Jk aW57aW59XGZpCiBcaWZ4XHB1dHdvcmRJbmRleElzRW1wdHlcdW5kZWZpbmVkICAgICAgIFxn ZGVmXHB1dHdvcmRJbmRleElzRW1wdHl7KEluZGV4IGlzIGVtcHR5KX1cZmkKQEAgLTExOTQs MjkgKzExOTUsMzEgQEAKICAgICBcZGVmXGltYWdld2lkdGh7IzJ9XHNldGJveDAgPSBcaGJv eHtcaWdub3Jlc3BhY2VzICMyfSUKICAgICBcZGVmXGltYWdlaGVpZ2h0eyMzfVxzZXRib3gy ID0gXGhib3h7XGlnbm9yZXNwYWNlcyAjM30lCiAgICAgJQotICAgICUgcGRmdGV4IChhbmQg dGhlIFBERiBmb3JtYXQpIHN1cHBvcnQgLnBuZywgLmpwZywgLnBkZiAoYW1vbmcKLSAgICAl IG90aGVycykuICBMZXQncyB0cnkgaW4gdGhhdCBvcmRlci4KKyAgICAlIHBkZnRleCAoYW5k IHRoZSBQREYgZm9ybWF0KSBzdXBwb3J0IC5wZGYsIC5wbmcsIC5qcGcgKGFtb25nCisgICAg JSBvdGhlcnMpLiAgTGV0J3MgdHJ5IGluIHRoYXQgb3JkZXIsIFBERiBmaXJzdCBzaW5jZSBp ZgorICAgICUgc29tZW9uZSBoYXMgYSBzY2FsYWJsZSBpbWFnZSwgcHJlc3VtYWJseSBiZXR0 ZXIgdG8gdXNlIHRoYXQgdGhhbiBhCisgICAgJSBiaXRtYXAuCiAgICAgXGxldFxwZGZpbWdl eHQ9XGVtcHR5CiAgICAgXGJlZ2luZ3JvdXAKLSAgICAgIFxvcGVuaW4gMSAjMS5wbmcgXGlm ZW9mIDEKLSAgICAgICAgXG9wZW5pbiAxICMxLmpwZyBcaWZlb2YgMQotICAgICAgICAgIFxv cGVuaW4gMSAjMS5qcGVnIFxpZmVvZiAxCi0gICAgICAgICAgICBcb3BlbmluIDEgIzEuSlBH IFxpZmVvZiAxCi0gICAgICAgICAgICAgIFxvcGVuaW4gMSAjMS5wZGYgXGlmZW9mIDEKLSAg ICAgICAgICAgICAgICBcb3BlbmluIDEgIzEuUERGIFxpZmVvZiAxCisgICAgICBcb3Blbmlu IDEgIzEucGRmIFxpZmVvZiAxCisgICAgICAgIFxvcGVuaW4gMSAjMS5QREYgXGlmZW9mIDEK KyAgICAgICAgICBcb3BlbmluIDEgIzEucG5nIFxpZmVvZiAxCisgICAgICAgICAgICBcb3Bl bmluIDEgIzEuanBnIFxpZmVvZiAxCisgICAgICAgICAgICAgIFxvcGVuaW4gMSAjMS5qcGVn IFxpZmVvZiAxCisgICAgICAgICAgICAgICAgXG9wZW5pbiAxICMxLkpQRyBcaWZlb2YgMQog ICAgICAgICAgICAgICAgICAgXGVycmhlbHAgPSBcbm9wZGZpbWFnZWhlbHAKICAgICAgICAg ICAgICAgICAgIFxlcnJtZXNzYWdle0NvdWxkIG5vdCBmaW5kIGltYWdlIGZpbGUgIzEgZm9y IHBkZn0lCi0gICAgICAgICAgICAgICAgXGVsc2UgXGdkZWZccGRmaW1nZXh0e1BERn0lCisg ICAgICAgICAgICAgICAgXGVsc2UgXGdkZWZccGRmaW1nZXh0e0pQR30lCiAgICAgICAgICAg ICAgICAgXGZpCi0gICAgICAgICAgICAgIFxlbHNlIFxnZGVmXHBkZmltZ2V4dHtwZGZ9JQor ICAgICAgICAgICAgICBcZWxzZSBcZ2RlZlxwZGZpbWdleHR7anBlZ30lCiAgICAgICAgICAg ICAgIFxmaQotICAgICAgICAgICAgXGVsc2UgXGdkZWZccGRmaW1nZXh0e0pQR30lCisgICAg ICAgICAgICBcZWxzZSBcZ2RlZlxwZGZpbWdleHR7anBnfSUKICAgICAgICAgICAgIFxmaQot ICAgICAgICAgIFxlbHNlIFxnZGVmXHBkZmltZ2V4dHtqcGVnfSUKKyAgICAgICAgICBcZWxz ZSBcZ2RlZlxwZGZpbWdleHR7cG5nfSUKICAgICAgICAgICBcZmkKLSAgICAgICAgXGVsc2Ug XGdkZWZccGRmaW1nZXh0e2pwZ30lCisgICAgICAgIFxlbHNlIFxnZGVmXHBkZmltZ2V4dHtQ REZ9JQogICAgICAgICBcZmkKLSAgICAgIFxlbHNlIFxnZGVmXHBkZmltZ2V4dHtwbmd9JQor ICAgICAgXGVsc2UgXGdkZWZccGRmaW1nZXh0e3BkZn0lCiAgICAgICBcZmkKICAgICAgIFxj bG9zZWluIDEKICAgICBcZW5kZ3JvdXAKQEAgLTIzNzIsNyArMjM3NSw5IEBACiAgIFxlbHNl XGlmeFxuZXh0LSUKICAgXGVsc2VcaWZ4XG5leHQuJQogICBcZWxzZVxwdGV4c2xhc2gKLSAg XGZpXGZpXGZpfQorICBcZmlcZmlcZmkKKyAgXGFmdGVyc21hcnRpYworfQogCiAlIGxpa2Ug XHNtYXJ0c2xhbnRlZCBleGNlcHQgdW5jb25kaXRpb25hbGx5IHVzZXMgXHR0c2wsIGFuZCBu byBpYy4KICUgQHZhciBpcyBzZXQgdG8gdGhpcyBmb3IgZGVmdW4gYXJndW1lbnRzLgpAQCAt MjM4Miw5ICsyMzg3LDE1IEBACiAlIHR0c2wgZm9yIGJvb2sgdGl0bGVzLCBkbyB3ZT8KIFxk ZWZcY2l0ZSMxe3tcc2wgIzF9XGZ1dHVyZWxldFxuZXh0XHNtYXJ0aXRhbGljY29ycmVjdGlv bn0KIAorXGRlZlxhZnRlcnNtYXJ0aWN7fQorXGRlZlx2YXIjMXslCisgIFxsZXRcc2F2ZWFm dGVyc21hcnRpYyA9IFxhZnRlcnNtYXJ0aWMKKyAgXGRlZlxhZnRlcnNtYXJ0aWN7XG51bGxc bGV0XGFmdGVyc21hcnRpYz1cc2F2ZWFmdGVyc21hcnRpY30lCisgIFxzbWFydHNsYW50ZWR7 IzF9JQorfQorCiBcbGV0XGk9XHNtYXJ0aXRhbGljCiBcbGV0XHNsYW50ZWQ9XHNtYXJ0c2xh bnRlZAotXGRlZlx2YXIjMXtcc21hcnRzbGFudGVkeyMxfX0KIFxsZXRcZGZuPVxzbWFydHNs YW50ZWQKIFxsZXRcZW1waD1cc21hcnRpdGFsaWMKIApAQCAtMjQ4MCw3ICsyNDkxLDcgQEAK ICAgICBccGxhaW5mcmVuY2hzcGFjaW5nCiAgICAgIzElCiAgIH0lCi0gIFxudWxsCisgIFxu dWxsICUgcmVzZXQgc3BhY2VmYWN0b3IgdG8gMTAwMAogfQogCiAlIFdlICptdXN0KiB0dXJu IG9uIGh5cGhlbmF0aW9uIGF0IGAtJyBhbmQgYF8nIGluIEBjb2RlLgpAQCAtMjc2Miw2ICsy NzczLDcgQEAKICAgXGlmeFx0ZW1wXGVtcHR5IFxlbHNlCiAgICAgXHNwYWNlICh7XHVuc2Vw c3BhY2VzIFxpZ25vcmVzcGFjZXMgXHRlbXAgXHVuc2tpcH0pJQogICBcZmkKKyAgXG51bGwg JSByZXNldCBcc3BhY2VmYWN0b3I9MTAwMAogfQogCiAlIEBhYmJyIGZvciAiQ29tcHV0LiBK LiIgYW5kIHRoZSBsaWtlLgpAQCAtMjc3NCw2ICsyNzg2LDcgQEAKICAgXGlmeFx0ZW1wXGVt cHR5IFxlbHNlCiAgICAgXHNwYWNlICh7XHVuc2Vwc3BhY2VzIFxpZ25vcmVzcGFjZXMgXHRl bXAgXHVuc2tpcH0pJQogICBcZmkKKyAgXG51bGwgJSByZXNldCBcc3BhY2VmYWN0b3I9MTAw MAogfQogCiAlIEBhc2lzIGp1c3QgeWllbGRzIGl0cyBhcmd1bWVudC4gIFVzZWQgd2l0aCBA dGFibGUsIGZvciBleGFtcGxlLgpAQCAtMjk3OSw3ICsyOTkyLDcgQEAKIHtcdGVudHQgXGds b2JhbFxkaW1lbjAgPSAzZW19JSBXaWR0aCBvZiB0aGUgYm94LgogXGRpbWVuMiA9IC41NXB0 ICUgVGhpY2tuZXNzIG9mIHJ1bGVzCiAlIFRoZSB0ZXh0LiAoYHInIGlzIG9wZW4gb24gdGhl IHJpZ2h0LCBgZScgc29tZXdoYXQgbGVzcyBzbyBvbiB0aGUgbGVmdC4pCi1cc2V0Ym94MCA9 IFxoYm94e1xrZXJuLS43NXB0IFxyZWR1Y2Vkc2YgZXJyb3Jca2Vybi0xLjVwdH0KK1xzZXRi b3gwID0gXGhib3h7XGtlcm4tLjc1cHQgXHJlZHVjZWRzZiBccHV0d29yZGVycm9yXGtlcm4t MS41cHR9CiAlCiBcc2V0Ym94XGVycm9yYm94PVxoYm94IHRvIFxkaW1lbjB7XGhmaWwKICAg IFxoc2l6ZSA9IFxkaW1lbjAgXGFkdmFuY2VcaHNpemUgYnkgLTUuOHB0ICUgU3BhY2UgdG8g bGVmdCtyaWdodC4KQEAgLTgxMDMsNyArODExNiw3IEBACiAlIHNwYWNlIHRvIHByZXZlbnQg c3RyYW5nZSBleHBhbnNpb24gZXJyb3JzLikKIFxkZWZcc3VwZXJlamVjdHtccGFyXHBlbmFs dHkgLTIwMDAwXGZvb3Rub3Rlbm8gPTAgfQogCi0lIEBmb290bm90ZXN0eWxlIGlzIG1lYW5p bmdmdWwgZm9yIGluZm8gb3V0cHV0IG9ubHkuCislIEBmb290bm90ZXN0eWxlIGlzIG1lYW5p bmdmdWwgZm9yIEluZm8gb3V0cHV0IG9ubHkuCiBcbGV0XGZvb3Rub3Rlc3R5bGU9XGNvbW1l bnQKIAoge1xjYXRjb2RlIGBcQD0xMQpAQCAtODE2Niw2ICs4MTc5LDggQEAKICAgJSBleHBh bmRzIGludG8gYSBib3gsIGl0IG11c3QgY29tZSB3aXRoaW4gdGhlIHBhcmFncmFwaCwgbGVz dCBpdAogICAlIHByb3ZpZGUgYSBwbGFjZSB3aGVyZSBUZVggY2FuIHNwbGl0IHRoZSBmb290 bm90ZS4KICAgXGZvb3RzdHJ1dAorICAlCisgICUgSW52b2tlIHJlc3Qgb2YgcGxhaW4gVGVY IGZvb3Rub3RlIHJvdXRpbmUuCiAgIFxmdXR1cmVsZXRcbmV4dFxmb0B0CiB9CiB9JWVuZCBc Y2F0Y29kZSBgXEA9MTEKCj09PSBtb2RpZmllZCBmaWxlICdsaWIvZ2V0dGV4dC5oJwotLS0g bGliL2dldHRleHQuaAkyMDExLTAyLTE1IDA0OjUzOjI5ICswMDAwCisrKyBsaWIvZ2V0dGV4 dC5oCTIwMTEtMTAtMjcgMTk6NTE6MjYgKzAwMDAKQEAgLTE4NSw3ICsxODUsNyBAQAogI2lu Y2x1ZGUgPHN0cmluZy5oPgogCiAjZGVmaW5lIF9MSUJHRVRURVhUX0hBVkVfVkFSSUFCTEVf U0laRV9BUlJBWVMgXAotICAoKChfX0dOVUNfXyA+PSAzIHx8IF9fR05VR19fID49IDIpICYm ICFfX1NUUklDVF9BTlNJX18pIFwKKyAgKCgoX19HTlVDX18gPj0gMyB8fCBfX0dOVUdfXyA+ PSAyKSAmJiAhZGVmaW5lZCBfX1NUUklDVF9BTlNJX18pIFwKICAgIC8qIHx8IF9fU1REQ19W RVJTSU9OX18gPj0gMTk5OTAxTCAqLyApCiAKICNpZiAhX0xJQkdFVFRFWFRfSEFWRV9WQVJJ QUJMRV9TSVpFX0FSUkFZUwoKPT09IG1vZGlmaWVkIGZpbGUgJ2xpYi9nbnVsaWIubWsnCi0t LSBsaWIvZ251bGliLm1rCTIwMTEtMDktMjYgMjE6MzA6MTggKzAwMDAKKysrIGxpYi9nbnVs aWIubWsJMjAxMS0xMC0yNyAxOTo1MToyNiArMDAwMApAQCAtMjEsNyArMjEsNyBAQAogIyB0 aGUgc2FtZSBkaXN0cmlidXRpb24gdGVybXMgYXMgdGhlIHJlc3Qgb2YgdGhhdCBwcm9ncmFt LgogIwogIyBHZW5lcmF0ZWQgYnkgZ251bGliLXRvb2wuCi0jIFJlcHJvZHVjZSBieTogZ251 bGliLXRvb2wgLS1pbXBvcnQgLS1kaXI9LiAtLWxpYj1saWJnbnUgLS1zb3VyY2UtYmFzZT1s aWIgLS1tNC1iYXNlPW00IC0tZG9jLWJhc2U9ZG9jIC0tdGVzdHMtYmFzZT10ZXN0cyAtLWF1 eC1kaXI9YnVpbGQtYXV4IC0tYXZvaWQ9bXN2Yy1pbnZhbCAtLWF2b2lkPW1zdmMtbm90aHJv dyAtLWF2b2lkPXBhdGhtYXggLS1hdm9pZD1yYWlzZSAtLWF2b2lkPXRocmVhZGxpYiAtLW1h a2VmaWxlLW5hbWU9Z251bGliLm1rIC0tY29uZGl0aW9uYWwtZGVwZW5kZW5jaWVzIC0tbm8t bGlidG9vbCAtLW1hY3JvLXByZWZpeD1nbCAtLW5vLXZjLWZpbGVzIGFsbG9jYS1vcHQgY2Fy ZWFkbGlua2F0IGNyeXB0by9tZDUgY3J5cHRvL3NoYTEgY3J5cHRvL3NoYTI1NiBjcnlwdG8v c2hhNTEyIGR0b2FzdHIgZHVwMiBmaWxlbW9kZSBnZXRsb2FkYXZnIGdldG9wdC1nbnUgaWdu b3JlLXZhbHVlIGludHByb3BzIGxzdGF0IG1rdGltZSBwdGhyZWFkX3NpZ21hc2sgcmVhZGxp bmsgc29ja2xlbiBzdGRhcmcgc3RkaW8gc3RyZnRpbWUgc3RydG9pbWF4IHN0cnRvdW1heCBz eW1saW5rIHN5c19zdGF0CisjIFJlcHJvZHVjZSBieTogZ251bGliLXRvb2wgLS1pbXBvcnQg LS1kaXI9LiAtLWxpYj1saWJnbnUgLS1zb3VyY2UtYmFzZT1saWIgLS1tNC1iYXNlPW00IC0t ZG9jLWJhc2U9ZG9jIC0tdGVzdHMtYmFzZT10ZXN0cyAtLWF1eC1kaXI9YnVpbGQtYXV4IC0t YXZvaWQ9bXN2Yy1pbnZhbCAtLWF2b2lkPW1zdmMtbm90aHJvdyAtLWF2b2lkPXBhdGhtYXgg LS1hdm9pZD1yYWlzZSAtLWF2b2lkPXRocmVhZGxpYiAtLW1ha2VmaWxlLW5hbWU9Z251bGli Lm1rIC0tY29uZGl0aW9uYWwtZGVwZW5kZW5jaWVzIC0tbm8tbGlidG9vbCAtLW1hY3JvLXBy ZWZpeD1nbCAtLW5vLXZjLWZpbGVzIGFsbG9jYS1vcHQgY2FyZWFkbGlua2F0IGNyeXB0by9t ZDUgY3J5cHRvL3NoYTEgY3J5cHRvL3NoYTI1NiBjcnlwdG8vc2hhNTEyIGR0b2FzdHIgZHVw MiBmaWxlbW9kZSBnZXRsb2FkYXZnIGdldG9wdC1nbnUgaWdub3JlLXZhbHVlIGludHByb3Bz IGxzdGF0IG1rdGltZSBwdGhyZWFkX3NpZ21hc2sgcmVhZGxpbmsgc29ja2xlbiBzdGRhbGln biBzdGRhcmcgc3RkaW8gc3RyZnRpbWUgc3RydG9pbWF4IHN0cnRvdW1heCBzeW1saW5rIHN5 c19zdGF0CiAKIAogTU9TVExZQ0xFQU5GSUxFUyArPSBjb3JlICouc3RhY2tkdW1wCkBAIC00 MjEsNiArNDIxLDI5IEBACiAKICMjIGVuZCAgIGdudWxpYiBtb2R1bGUgc3RhdAogCisjIyBi ZWdpbiBnbnVsaWIgbW9kdWxlIHN0ZGFsaWduCisKK0JVSUxUX1NPVVJDRVMgKz0gJChTVERB TElHTl9IKQorCisjIFdlIG5lZWQgdGhlIGZvbGxvd2luZyBpbiBvcmRlciB0byBjcmVhdGUg PHN0ZGFsaWduLmg+IHdoZW4gdGhlIHN5c3RlbQorIyBkb2Vzbid0IGhhdmUgb25lIHRoYXQg d29ya3MuCitpZiBHTF9HRU5FUkFURV9TVERBTElHTl9ICitzdGRhbGlnbi5oOiBzdGRhbGln bi5pbi5oICQodG9wX2J1aWxkZGlyKS9jb25maWcuc3RhdHVzCisJJChBTV9WX0dFTilybSAt ZiAkQC10ICRAICYmIFwKKwl7IGVjaG8gJy8qIERPIE5PVCBFRElUISBHRU5FUkFURUQgQVVU T01BVElDQUxMWSEgKi8nOyBcCisJICBjYXQgJChzcmNkaXIpL3N0ZGFsaWduLmluLmg7IFwK Kwl9ID4gJEAtdCAmJiBcCisJbXYgJEAtdCAkQAorZWxzZQorc3RkYWxpZ24uaDogJCh0b3Bf YnVpbGRkaXIpL2NvbmZpZy5zdGF0dXMKKwlybSAtZiAkQAorZW5kaWYKK01PU1RMWUNMRUFO RklMRVMgKz0gc3RkYWxpZ24uaCBzdGRhbGlnbi5oLXQKKworRVhUUkFfRElTVCArPSBzdGRh bGlnbi5pbi5oCisKKyMjIGVuZCAgIGdudWxpYiBtb2R1bGUgc3RkYWxpZ24KKwogIyMgYmVn aW4gZ251bGliIG1vZHVsZSBzdGRhcmcKIAogQlVJTFRfU09VUkNFUyArPSAkKFNUREFSR19I KQpAQCAtNzEwLDYgKzczMyw3IEBACiAJICAgICAgLWUgJ3MvQCcnR05VTElCX01LT1NURU1Q UycnQC8kKEdOVUxJQl9NS09TVEVNUFMpL2cnIFwKIAkgICAgICAtZSAncy9AJydHTlVMSUJf TUtTVEVNUCcnQC8kKEdOVUxJQl9NS1NURU1QKS9nJyBcCiAJICAgICAgLWUgJ3MvQCcnR05V TElCX01LU1RFTVBTJydALyQoR05VTElCX01LU1RFTVBTKS9nJyBcCisJICAgICAgLWUgJ3Mv QCcnR05VTElCX1BPU0lYX09QRU5QVCcnQC8kKEdOVUxJQl9QT1NJWF9PUEVOUFQpL2cnIFwK IAkgICAgICAtZSAncy9AJydHTlVMSUJfUFRTTkFNRScnQC8kKEdOVUxJQl9QVFNOQU1FKS9n JyBcCiAJICAgICAgLWUgJ3MvQCcnR05VTElCX1BVVEVOVicnQC8kKEdOVUxJQl9QVVRFTlYp L2cnIFwKIAkgICAgICAtZSAncy9AJydHTlVMSUJfUkFORE9NX1InJ0AvJChHTlVMSUJfUkFO RE9NX1IpL2cnIFwKQEAgLTczNiw2ICs3NjAsNyBAQAogCSAgICAgIC1lICdzfEAnJ0hBVkVf TUtPU1RFTVBTJydAfCQoSEFWRV9NS09TVEVNUFMpfGcnIFwKIAkgICAgICAtZSAnc3xAJydI QVZFX01LU1RFTVAnJ0B8JChIQVZFX01LU1RFTVApfGcnIFwKIAkgICAgICAtZSAnc3xAJydI QVZFX01LU1RFTVBTJydAfCQoSEFWRV9NS1NURU1QUyl8ZycgXAorCSAgICAgIC1lICdzfEAn J0hBVkVfUE9TSVhfT1BFTlBUJydAfCQoSEFWRV9QT1NJWF9PUEVOUFQpfGcnIFwKIAkgICAg ICAtZSAnc3xAJydIQVZFX1BUU05BTUUnJ0B8JChIQVZFX1BUU05BTUUpfGcnIFwKIAkgICAg ICAtZSAnc3xAJydIQVZFX1JBTkRPTV9IJydAfCQoSEFWRV9SQU5ET01fSCl8ZycgXAogCSAg ICAgIC1lICdzfEAnJ0hBVkVfUkFORE9NX1InJ0B8JChIQVZFX1JBTkRPTV9SKXxnJyBcCgo9 PT0gbW9kaWZpZWQgZmlsZSAnbGliL21kNS5jJwotLS0gbGliL21kNS5jCTIwMTEtMDItMTkg MDc6Mjg6MjkgKzAwMDAKKysrIGxpYi9tZDUuYwkyMDExLTEwLTE3IDAxOjIyOjE5ICswMDAw CkBAIC0yNCw3ICsyNCw4IEBACiAKICNpbmNsdWRlICJtZDUuaCIKIAotI2luY2x1ZGUgPHN0 ZGRlZi5oPgorI2luY2x1ZGUgPHN0ZGFsaWduLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CiAj aW5jbHVkZSA8c3RkbGliLmg+CiAjaW5jbHVkZSA8c3RyaW5nLmg+CiAjaW5jbHVkZSA8c3lz L3R5cGVzLmg+CkBAIC0yNTQsOCArMjU1LDcgQEAKICAgaWYgKGxlbiA+PSA2NCkKICAgICB7 CiAjaWYgIV9TVFJJTkdfQVJDSF91bmFsaWduZWQKLSMgZGVmaW5lIGFsaWdub2YodHlwZSkg b2Zmc2V0b2YgKHN0cnVjdCB7IGNoYXIgYzsgdHlwZSB4OyB9LCB4KQotIyBkZWZpbmUgVU5B TElHTkVEX1AocCkgKCgoc2l6ZV90KSBwKSAlIGFsaWdub2YgKHVpbnQzMl90KSAhPSAwKQor IyBkZWZpbmUgVU5BTElHTkVEX1AocCkgKCh1aW50cHRyX3QpIChwKSAlIGFsaWdub2YgKHVp bnQzMl90KSAhPSAwKQogICAgICAgaWYgKFVOQUxJR05FRF9QIChidWZmZXIpKQogICAgICAg ICB3aGlsZSAobGVuID4gNjQpCiAgICAgICAgICAgewoKPT09IG1vZGlmaWVkIGZpbGUgJ2xp Yi9zaGExLmMnCi0tLSBsaWIvc2hhMS5jCTIwMTEtMDUtMjQgMDg6MTI6NTIgKzAwMDAKKysr IGxpYi9zaGExLmMJMjAxMS0xMC0xNyAwMToyMjoxOSArMDAwMApAQCAtMjYsNyArMjYsOCBA QAogCiAjaW5jbHVkZSAic2hhMS5oIgogCi0jaW5jbHVkZSA8c3RkZGVmLmg+CisjaW5jbHVk ZSA8c3RkYWxpZ24uaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KICNpbmNsdWRlIDxzdGRsaWIu aD4KICNpbmNsdWRlIDxzdHJpbmcuaD4KIApAQCAtMjQxLDggKzI0Miw3IEBACiAgIGlmIChs ZW4gPj0gNjQpCiAgICAgewogI2lmICFfU1RSSU5HX0FSQ0hfdW5hbGlnbmVkCi0jIGRlZmlu ZSBhbGlnbm9mKHR5cGUpIG9mZnNldG9mIChzdHJ1Y3QgeyBjaGFyIGM7IHR5cGUgeDsgfSwg eCkKLSMgZGVmaW5lIFVOQUxJR05FRF9QKHApICgoKHNpemVfdCkgcCkgJSBhbGlnbm9mICh1 aW50MzJfdCkgIT0gMCkKKyMgZGVmaW5lIFVOQUxJR05FRF9QKHApICgodWludHB0cl90KSAo cCkgJSBhbGlnbm9mICh1aW50MzJfdCkgIT0gMCkKICAgICAgIGlmIChVTkFMSUdORURfUCAo YnVmZmVyKSkKICAgICAgICAgd2hpbGUgKGxlbiA+IDY0KQogICAgICAgICAgIHsKCj09PSBt b2RpZmllZCBmaWxlICdsaWIvc2hhMjU2LmMnCi0tLSBsaWIvc2hhMjU2LmMJMjAxMS0wNi0y MSAwODo0NTozOSArMDAwMAorKysgbGliL3NoYTI1Ni5jCTIwMTEtMTAtMTcgMDE6MjI6MTkg KzAwMDAKQEAgLTI0LDcgKzI0LDggQEAKIAogI2luY2x1ZGUgInNoYTI1Ni5oIgogCi0jaW5j bHVkZSA8c3RkZGVmLmg+CisjaW5jbHVkZSA8c3RkYWxpZ24uaD4KKyNpbmNsdWRlIDxzdGRp bnQuaD4KICNpbmNsdWRlIDxzdGRsaWIuaD4KICNpbmNsdWRlIDxzdHJpbmcuaD4KIApAQCAt MzczLDggKzM3NCw3IEBACiAgIGlmIChsZW4gPj0gNjQpCiAgICAgewogI2lmICFfU1RSSU5H X0FSQ0hfdW5hbGlnbmVkCi0jIGRlZmluZSBhbGlnbm9mKHR5cGUpIG9mZnNldG9mIChzdHJ1 Y3QgeyBjaGFyIGM7IHR5cGUgeDsgfSwgeCkKLSMgZGVmaW5lIFVOQUxJR05FRF9QKHApICgo KHNpemVfdCkgcCkgJSBhbGlnbm9mICh1aW50MzJfdCkgIT0gMCkKKyMgZGVmaW5lIFVOQUxJ R05FRF9QKHApICgodWludHB0cl90KSAocCkgJSBhbGlnbm9mICh1aW50MzJfdCkgIT0gMCkK ICAgICAgIGlmIChVTkFMSUdORURfUCAoYnVmZmVyKSkKICAgICAgICAgd2hpbGUgKGxlbiA+ IDY0KQogICAgICAgICAgIHsKCj09PSBtb2RpZmllZCBmaWxlICdsaWIvc2hhNTEyLmMnCi0t LSBsaWIvc2hhNTEyLmMJMjAxMS0wNi0yMSAwODo0NTozOSArMDAwMAorKysgbGliL3NoYTUx Mi5jCTIwMTEtMTAtMTcgMDE6MjI6MTkgKzAwMDAKQEAgLTI0LDcgKzI0LDggQEAKIAogI2lu Y2x1ZGUgInNoYTUxMi5oIgogCi0jaW5jbHVkZSA8c3RkZGVmLmg+CisjaW5jbHVkZSA8c3Rk YWxpZ24uaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KICNpbmNsdWRlIDxzdGRsaWIuaD4KICNp bmNsdWRlIDxzdHJpbmcuaD4KIApAQCAtMzgxLDggKzM4Miw3IEBACiAgIGlmIChsZW4gPj0g MTI4KQogICAgIHsKICNpZiAhX1NUUklOR19BUkNIX3VuYWxpZ25lZAotIyBkZWZpbmUgYWxp Z25vZih0eXBlKSBvZmZzZXRvZiAoc3RydWN0IHsgY2hhciBjOyB0eXBlIHg7IH0sIHgpCi0j IGRlZmluZSBVTkFMSUdORURfUChwKSAoKChzaXplX3QpIHApICUgYWxpZ25vZiAodTY0KSAh PSAwKQorIyBkZWZpbmUgVU5BTElHTkVEX1AocCkgKCh1aW50cHRyX3QpIChwKSAlIGFsaWdu b2YgKHU2NCkgIT0gMCkKICAgICAgIGlmIChVTkFMSUdORURfUCAoYnVmZmVyKSkKICAgICAg ICAgd2hpbGUgKGxlbiA+IDEyOCkKICAgICAgICAgICB7Cgo9PT0gYWRkZWQgZmlsZSAnbGli L3N0ZGFsaWduLmluLmgnCi0tLSBsaWIvc3RkYWxpZ24uaW4uaAkxOTcwLTAxLTAxIDAwOjAw OjAwICswMDAwCisrKyBsaWIvc3RkYWxpZ24uaW4uaAkyMDExLTExLTA3IDA1OjU2OjA0ICsw MDAwCkBAIC0wLDAgKzEsODkgQEAKKy8qIEEgc3Vic3RpdHV0ZSBmb3IgSVNPIEMgMXggPHN0 ZGFsaWduLmg+LgorCisgICBDb3B5cmlnaHQgMjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4KKworICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g cmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgICB0 aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzLCBvciAoYXQg eW91ciBvcHRpb24pCisgICBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgVGhpcyBwcm9ncmFt IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisg ICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3 YXJyYW50eSBvZgorICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug Zm9yIG1vcmUgZGV0YWlscy4KKworICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w eSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgIGFsb25nIHdpdGggdGhp cyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sCisgICBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24s IE1BIDAyMTEwLTEzMDEsIFVTQS4gICovCisKKy8qIFdyaXR0ZW4gYnkgUGF1bCBFZ2dlcnQg YW5kIEJydW5vIEhhaWJsZS4gICovCisKKyNpZm5kZWYgX0dMX1NUREFMSUdOX0gKKyNkZWZp bmUgX0dMX1NUREFMSUdOX0gKKworLyogSVNPIEMxWCA8c3RkYWxpZ24uaD4gZm9yIHBsYXRm b3JtcyB0aGF0IGxhY2sgaXQuCisKKyAgIFJlZmVyZW5jZXM6CisgICBJU08gQzFYIDxodHRw Oi8vd3d3Lm9wZW4tc3RkLm9yZy9qdGMxL3NjMjIvd2cxNC93d3cvZG9jcy9uMTU3MC5wZGY+ CisgICBzZWN0aW9ucyA2LjUuMy40LCA2LjcuNSwgNy4xNS4KKyAgIEMrKzBYIDxodHRwOi8v d3d3Lm9wZW4tc3RkLm9yZy9qdGMxL3NjMjIvd2cyMS9kb2NzL3BhcGVycy8yMDExL24zMjQy LnBkZj4KKyAgIHNlY3Rpb24gMTguMTAuICovCisKKy8qIGFsaWdub2YgKFRZUEUpLCBhbHNv IGtub3duIGFzIF9BbGlnbm9mIChUWVBFKSwgeWllbGRzIHRoZSBhbGlnbm1lbnQKKyAgIHJl cXVpcmVtZW50IG9mIGEgc3RydWN0dXJlIG1lbWJlciAoaS5lLiwgc2xvdCBvciBmaWVsZCkg dGhhdCBpcyBvZgorICAgdHlwZSBUWVBFLCBhcyBhbiBpbnRlZ2VyIGNvbnN0YW50IGV4cHJl c3Npb24uCisKKyAgIFRoaXMgZGlmZmVycyBmcm9tIEdDQydzIF9fYWxpZ25vZl9fIG9wZXJh dG9yLCB3aGljaCBjYW4geWllbGQgYQorICAgYmV0dGVyLXBlcmZvcm1pbmcgYWxpZ25tZW50 IGZvciBhbiBvYmplY3Qgb2YgdGhhdCB0eXBlLiAgRm9yCisgICBleGFtcGxlLCBvbiB4ODYg d2l0aCBHQ0MsIF9fYWxpZ25vZl9fIChkb3VibGUpIGFuZCBfX2FsaWdub2ZfXworICAgKGxv bmcgbG9uZykgYXJlIDgsIHdoZXJlYXMgYWxpZ25vZiAoZG91YmxlKSBhbmQgYWxpZ25vZiAo bG9uZyBsb25nKQorICAgYXJlIDQgdW5sZXNzIHRoZSBvcHRpb24gJy1tYWxpZ24tZG91Ymxl JyBpcyB1c2VkLgorCisgICBUaGUgcmVzdWx0IGNhbm5vdCBiZSB1c2VkIGFzIGEgdmFsdWUg Zm9yIGFuICdlbnVtJyBjb25zdGFudCwgaWYgeW91CisgICB3YW50IHRvIGJlIHBvcnRhYmxl IHRvIEhQLVVYIDEwLjIwIGNjIGFuZCBBSVggMy4yLjUgeGxjLiAgKi8KKyNpbmNsdWRlIDxz dGRkZWYuaD4KKyNpZiBkZWZpbmVkIF9fY3BsdXNwbHVzCisgICB0ZW1wbGF0ZSA8Y2xhc3Mg X190PiBzdHJ1Y3QgX19hbGlnbm9mX2hlbHBlciB7IGNoYXIgX19hOyBfX3QgX19iOyB9Owor IyBkZWZpbmUgX0FsaWdub2YodHlwZSkgb2Zmc2V0b2YgKF9fYWxpZ25vZl9oZWxwZXI8dHlw ZT4sIF9fYikKKyNlbHNlCisjIGRlZmluZSBfQWxpZ25vZih0eXBlKSBvZmZzZXRvZiAoc3Ry dWN0IHsgY2hhciBfX2E7IHR5cGUgX19iOyB9LCBfX2IpCisjZW5kaWYKKyNkZWZpbmUgYWxp Z25vZiBfQWxpZ25vZgorI2RlZmluZSBfX2FsaWdub2ZfaXNfZGVmaW5lZCAxCisKKy8qIGFs aWduYXMgKEEpLCBhbHNvIGtub3duIGFzIF9BbGlnbmFzIChBKSwgYWxpZ25zIGEgdmFyaWFi bGUgb3IgdHlwZQorICAgdG8gdGhlIGFsaWdubWVudCBBLCB3aGVyZSBBIGlzIGFuIGludGVn ZXIgY29uc3RhbnQgZXhwcmVzc2lvbi4gIEZvcgorICAgZXhhbXBsZToKKworICAgICAgaW50 IGFsaWduYXMgKDgpIGZvbzsKKyAgICAgIHN0cnVjdCBzIHsgaW50IGE7IGludCBhbGlnbmFz ICg4KSBiYXI7IH07CisKKyAgIGFsaWducyB0aGUgYWRkcmVzcyBvZiBGT08gYW5kIHRoZSBv ZmZzZXQgb2YgQkFSIHRvIGJlIG11bHRpcGxlcyBvZiA4LgorCisgICBBIHNob3VsZCBiZSBh IHBvd2VyIG9mIHR3byB0aGF0IGlzIGF0IGxlYXN0IHRoZSB0eXBlJ3MgYWxpZ25tZW50Cisg ICBhbmQgYXQgbW9zdCB0aGUgaW1wbGVtZW50YXRpb24ncyBhbGlnbm1lbnQgbGltaXQuICBU aGlzIGxpbWl0IGlzCisgICAyKioyOCBvbiB0eXBpY2FsIEdOVWlzaCBob3N0cywgYW5kIDIq KjEzIG9uIE1TVkMuICBUbyBiZSBwb3J0YWJsZQorICAgdG8gTVNWQyB0aHJvdWdoIGF0IGxl YXN0IHZlcnNpb24gMTAuMCwgQSBzaG91bGQgYmUgYW4gaW50ZWdlcgorICAgY29uc3RhbnQs IGFzIE1TVkMgZG9lcyBub3Qgc3VwcG9ydCBleHByZXNzaW9ucyBzdWNoIGFzIDEgPDwgMy4K KyAgIFRvIGJlIHBvcnRhYmxlIHRvIFN1biBDIDUuMTEsIGRvIG5vdCBhbGlnbiBhdXRvIHZh cmlhYmxlcyB0bworICAgYW55dGhpbmcgc3RyaWN0ZXIgdGhhbiB0aGVpciBkZWZhdWx0IGFs aWdubWVudC4KKworICAgVGhlIGZvbGxvd2luZyBkcmFmdCBDMVggcmVxdWlyZW1lbnRzIGFy ZSBub3Qgc3VwcG9ydGVkIGhlcmU6CisKKyAgICAgLSBJZiBBIGlzIHplcm8sIGFsaWduYXMg aGFzIG5vIGVmZmVjdC4KKyAgICAgLSBhbGlnbmFzIGNhbiBiZSB1c2VkIG11bHRpcGxlIHRp bWVzOyB0aGUgc3RyaWN0ZXN0IG9uZSB3aW5zLgorICAgICAtIGFsaWduYXMgKFRZUEUpIGlz IGVxdWl2YWxlbnQgdG8gYWxpZ25hcyAoYWxpZ25vZiAoVFlQRSkpLgorCisgICAqLworCisj aWYgX19HTlVDX18gfHwgX19JQk1DX18gfHwgX19JQk1DUFBfXyB8fCAweDUxMTAgPD0gX19T VU5QUk9fQworIyBkZWZpbmUgX0FsaWduYXMoYSkgX19hdHRyaWJ1dGVfXyAoKF9fYWxpZ25l ZF9fIChhKSkpCisjZWxpZiAxMzAwIDw9IF9NU0NfVkVSCisjIGRlZmluZSBfQWxpZ25hcyhh KSBfX2RlY2xzcGVjIChhbGlnbiAoYSkpCisjZW5kaWYKKyNpZmRlZiBfQWxpZ25hcworIyBk ZWZpbmUgYWxpZ25hcyBfQWxpZ25hcworIyBkZWZpbmUgX19hbGlnbmFzX2lzX2RlZmluZWQg MQorI2VuZGlmCisKKyNlbmRpZiAvKiBfR0xfU1REQUxJR05fSCAqLwoKPT09IG1vZGlmaWVk IGZpbGUgJ2xpYi9zdGRsaWIuaW4uaCcKLS0tIGxpYi9zdGRsaWIuaW4uaAkyMDExLTA3LTI0 IDIyOjE1OjQ3ICswMDAwCisrKyBsaWIvc3RkbGliLmluLmgJMjAxMS0xMS0wOCAwMToxMjow OCArMDAwMApAQCAtMjQ3LDcgKzI0Nyw3IEBACiAjZWxpZiBkZWZpbmVkIEdOVUxJQl9QT1NJ WENIRUNLCiAjIHVuZGVmIGdyYW50cHQKICMgaWYgSEFWRV9SQVdfREVDTF9HUkFOVFBUCi1f R0xfV0FSTl9PTl9VU0UgKHB0c25hbWUsICJncmFudHB0IGlzIG5vdCBwb3J0YWJsZSAtICIK K19HTF9XQVJOX09OX1VTRSAoZ3JhbnRwdCwgImdyYW50cHQgaXMgbm90IHBvcnRhYmxlIC0g IgogICAgICAgICAgICAgICAgICAidXNlIGdudWxpYiBtb2R1bGUgZ3JhbnRwdCBmb3IgcG9y dGFiaWxpdHkiKTsKICMgZW5kaWYKICNlbmRpZgpAQCAtNDIzLDYgKzQyMywyMiBAQAogIyBl bmRpZgogI2VuZGlmCiAKKyNpZiBAR05VTElCX1BPU0lYX09QRU5QVEAKKy8qIFJldHVybiBh biBGRCBvcGVuIHRvIHRoZSBtYXN0ZXIgc2lkZSBvZiBhIHBzZXVkby10ZXJtaW5hbC4gIEZs YWdzIHNob3VsZAorICAgaW5jbHVkZSBPX1JEV1IsIGFuZCBtYXkgYWxzbyBpbmNsdWRlIE9f Tk9DVFRZLiAgKi8KKyMgaWYgIUBIQVZFX1BPU0lYX09QRU5QVEAKK19HTF9GVU5DREVDTF9T WVMgKHBvc2l4X29wZW5wdCwgaW50LCAoaW50IGZsYWdzKSk7CisjIGVuZGlmCitfR0xfQ1hY QUxJQVNfU1lTIChwb3NpeF9vcGVucHQsIGludCwgKGludCBmbGFncykpOworX0dMX0NYWEFM SUFTV0FSTiAocG9zaXhfb3BlbnB0KTsKKyNlbGlmIGRlZmluZWQgR05VTElCX1BPU0lYQ0hF Q0sKKyMgdW5kZWYgcG9zaXhfb3BlbnB0CisjIGlmIEhBVkVfUkFXX0RFQ0xfUE9TSVhfT1BF TlBUCitfR0xfV0FSTl9PTl9VU0UgKHBvc2l4X29wZW5wdCwgInBvc2l4X29wZW5wdCBpcyBu b3QgcG9ydGFibGUgLSAiCisgICAgICAgICAgICAgICAgICJ1c2UgZ251bGliIG1vZHVsZSBw b3NpeF9vcGVucHQgZm9yIHBvcnRhYmlsaXR5Iik7CisjIGVuZGlmCisjZW5kaWYKKwogI2lm IEBHTlVMSUJfUFRTTkFNRUAKIC8qIFJldHVybiB0aGUgcGF0aG5hbWUgb2YgdGhlIHBzZXVk by10ZXJtaW5hbCBzbGF2ZSBhc3NvY2lhdGVkIHdpdGgKICAgIHRoZSBtYXN0ZXIgRkQgaXMg b3BlbiBvbiwgb3IgTlVMTCBvbiBlcnJvcnMuICAqLwoKPT09IG1vZGlmaWVkIGZpbGUgJ200 L2dsLWNvbXAubTQnCi0tLSBtNC9nbC1jb21wLm00CTIwMTEtMTAtMDcgMjE6MTU6MDAgKzAw MDAKKysrIG00L2dsLWNvbXAubTQJMjAxMS0xMC0xNyAwMToyMjoxOSArMDAwMApAQCAtNzYs NiArNzYsNyBAQAogICAjIENvZGUgZnJvbSBtb2R1bGUgc29ja2xlbjoKICAgIyBDb2RlIGZy b20gbW9kdWxlIHNzaXplX3Q6CiAgICMgQ29kZSBmcm9tIG1vZHVsZSBzdGF0OgorICAjIENv ZGUgZnJvbSBtb2R1bGUgc3RkYWxpZ246CiAgICMgQ29kZSBmcm9tIG1vZHVsZSBzdGRhcmc6 CiAgIGRubCBTb21lIGNvbXBpbGVycyAoZS5nLiwgQUlYIDUuMyBjYykgbmVlZCB0byBiZSBp biBjOTkgbW9kZQogICBkbmwgZm9yIHRoZSBidWlsdGluIHZhX2NvcHkgdG8gd29yay4gIFdp dGggQXV0b2NvbmYgMi42MCBvciBsYXRlciwKQEAgLTE4MCw2ICsxODEsNyBAQAogZ2xfU0lH TkFMX0gKIGdsX1RZUEVfU09DS0xFTl9UCiBndF9UWVBFX1NTSVpFX1QKK2dsX1NUREFMSUdO X0gKIGdsX1NUREFSR19ICiBBTV9TVERCT09MX0gKIGdsX1NURERFRl9ICkBAIC0zMTEsMTgg KzMxMywxOCBAQAogICBpZiB0ZXN0ICRIQVZFX1JFQURMSU5LID0gMCB8fCB0ZXN0ICRSRVBM QUNFX1JFQURMSU5LID0gMTsgdGhlbgogICAgIGZ1bmNfZ2xfZ251bGliX200Y29kZV9zdGF0 CiAgIGZpCi0gIGlmIHRlc3QgJGFjX2N2X2Z1bmNfc3RydG9pbWF4ID0gbm87IHRoZW4KLSAg ICBmdW5jX2dsX2dudWxpYl9tNGNvZGVfdmVyaWZ5Ci0gIGZpCiAgIGlmIHRlc3QgJGFjX2N2 X2Z1bmNfc3RydG9pbWF4ID0gbm8gJiYgdGVzdCAkYWNfY3ZfdHlwZV9sb25nX2xvbmdfaW50 ID0geWVzOyB0aGVuCiAgICAgZnVuY19nbF9nbnVsaWJfbTRjb2RlX3N0cnRvbGwKICAgZmkK LSAgaWYgdGVzdCAkYWNfY3ZfZnVuY19zdHJ0b3VtYXggPSBubzsgdGhlbgorICBpZiB0ZXN0 ICRhY19jdl9mdW5jX3N0cnRvaW1heCA9IG5vOyB0aGVuCiAgICAgZnVuY19nbF9nbnVsaWJf bTRjb2RlX3ZlcmlmeQogICBmaQogICBpZiB0ZXN0ICRhY19jdl9mdW5jX3N0cnRvdW1heCA9 IG5vICYmIHRlc3QgJGFjX2N2X3R5cGVfdW5zaWduZWRfbG9uZ19sb25nX2ludCA9IHllczsg dGhlbgogICAgIGZ1bmNfZ2xfZ251bGliX200Y29kZV9zdHJ0b3VsbAogICBmaQorICBpZiB0 ZXN0ICRhY19jdl9mdW5jX3N0cnRvdW1heCA9IG5vOyB0aGVuCisgICAgZnVuY19nbF9nbnVs aWJfbTRjb2RlX3ZlcmlmeQorICBmaQogICBtNF9wYXR0ZXJuX2FsbG93KFteZ2xfR05VTElC X0VOQUJMRURfXSkKICAgQU1fQ09ORElUSU9OQUwoW2dsX0dOVUxJQl9FTkFCTEVEX2Rvc25h bWVdLCBbJGdsX2dudWxpYl9lbmFibGVkX2Rvc25hbWVdKQogICBBTV9DT05ESVRJT05BTChb Z2xfR05VTElCX0VOQUJMRURfYmU0NTNjZWM1ZWVjZjU3MzFhMjc0ZjJkZTdmMmRiMzZdLCBb JGdsX2dudWxpYl9lbmFibGVkX2JlNDUzY2VjNWVlY2Y1NzMxYTI3NGYyZGU3ZjJkYjM2XSkK QEAgLTUxMyw2ICs1MTUsNyBAQAogICBsaWIvc2lnbmFsLmluLmgKICAgbGliL3NpZ3Byb2Nt YXNrLmMKICAgbGliL3N0YXQuYworICBsaWIvc3RkYWxpZ24uaW4uaAogICBsaWIvc3RkYXJn LmluLmgKICAgbGliL3N0ZGJvb2wuaW4uaAogICBsaWIvc3RkZGVmLmluLmgKQEAgLTU2Myw2 ICs1NjYsNyBAQAogICBtNC9zc2l6ZV90Lm00CiAgIG00L3N0X2RtX21vZGUubTQKICAgbTQv c3RhdC5tNAorICBtNC9zdGRhbGlnbi5tNAogICBtNC9zdGRhcmcubTQKICAgbTQvc3RkYm9v bC5tNAogICBtNC9zdGRkZWZfaC5tNAoKPT09IG1vZGlmaWVkIGZpbGUgJ200L2luY2x1ZGVf bmV4dC5tNCcKLS0tIG00L2luY2x1ZGVfbmV4dC5tNAkyMDExLTA5LTI2IDIxOjMwOjE4ICsw MDAwCisrKyBtNC9pbmNsdWRlX25leHQubTQJMjAxMS0xMC0yNyAxOTo1MToyNiArMDAwMApA QCAtMSw0ICsxLDQgQEAKLSMgaW5jbHVkZV9uZXh0Lm00IHNlcmlhbCAyMgorIyBpbmNsdWRl X25leHQubTQgc2VyaWFsIDIzCiBkbmwgQ29weXJpZ2h0IChDKSAyMDA2LTIwMTEgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiBkbmwgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdh cmU7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24KIGRubCBnaXZlcyB1bmxpbWl0ZWQg cGVybWlzc2lvbiB0byBjb3B5IGFuZC9vciBkaXN0cmlidXRlIGl0LApAQCAtMjE5LDEyICsy MTksMTcgQEAKICAgICAgICAgICAgICAgICAgICBnbF9kaXJzZXBfcmVnZXg9J1svXFxdJwog ICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICopCi0gICAgICAgICAg ICAgICAgICAgZ2xfZGlyc2VwX3JlZ2V4PScvJworICAgICAgICAgICAgICAgICAgIGdsX2Rp cnNlcF9yZWdleD0nXC8nCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAg IGVzYWMKKyAgICAgICAgICAgICAgIGRubCBBIHNlZCBleHByZXNzaW9uIHRoYXQgdHVybnMg YSBzdHJpbmcgaW50byBhIGJhc2ljIHJlZ3VsYXIKKyAgICAgICAgICAgICAgIGRubCBleHBy ZXNzaW9uLCBmb3IgdXNlIHdpdGhpbiAiLy4uLi8iLgorICAgICAgICAgICAgICAgZ2xfbWFr ZV9saXRlcmFsX3JlZ2V4X3NlZD0ncyxbXSReXFwuKi9bXSxcXCYsZycKIGNoYW5nZXF1b3Rl KFssXSkKLSAgICAgICAgICAgICAgIGdsX2Fic29sdXRlX2hlYWRlcl9zZWQ9J1x8JyIke2ds X2RpcnNlcF9yZWdleH0iJ11tNF9kZWZuKFtnbF9IRUFERVJfTkFNRV0pW3x7Ci0gICAgICAg ICAgICAgICAgICAgc3wuKiJcKC4qJyIke2dsX2RpcnNlcF9yZWdleH0iJ11tNF9kZWZuKFtn bF9IRUFERVJfTkFNRV0pW1wpIi4qfFwxfAorICAgICAgICAgICAgICAgZ2xfaGVhZGVyX2xp dGVyYWxfcmVnZXg9YGVjaG8gJ11tNF9kZWZuKFtnbF9IRUFERVJfTkFNRV0pWycgXAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgc2VkIC1lICIkZ2xfbWFr ZV9saXRlcmFsX3JlZ2V4X3NlZCJgCisgICAgICAgICAgICAgICBnbF9hYnNvbHV0ZV9oZWFk ZXJfc2VkPSIvJHtnbF9kaXJzZXBfcmVnZXh9JHtnbF9oZWFkZXJfbGl0ZXJhbF9yZWdleH0v Iid7CisgICAgICAgICAgICAgICAgICAgcy8uKiJcKC4qJyIke2dsX2RpcnNlcF9yZWdleH0k e2dsX2hlYWRlcl9saXRlcmFsX3JlZ2V4fSInXCkiLiovXDEvCiBjaGFuZ2VxdW90ZSgsKWRu bAogICAgICAgICAgICAgICAgICAgIHN8Xi9bXi9dfC8vJnwKIGNoYW5nZXF1b3RlKFssXSlk bmwKCj09PSBtb2RpZmllZCBmaWxlICdtNC9wdGhyZWFkX3NpZ21hc2subTQnCi0tLSBtNC9w dGhyZWFkX3NpZ21hc2subTQJMjAxMS0wOS0wMyAyMzowODozMiArMDAwMAorKysgbTQvcHRo cmVhZF9zaWdtYXNrLm00CTIwMTEtMTAtMTcgMDE6MjI6MTkgKzAwMDAKQEAgLTEsNCArMSw0 IEBACi0jIHB0aHJlYWRfc2lnbWFzay5tNCBzZXJpYWwgMTIKKyMgcHRocmVhZF9zaWdtYXNr Lm00IHNlcmlhbCAxMwogZG5sIENvcHlyaWdodCAoQykgMjAxMSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIEluYy4KIGRubCBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgdGhlIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbgogZG5sIGdpdmVzIHVubGltaXRlZCBwZXJtaXNzaW9u IHRvIGNvcHkgYW5kL29yIGRpc3RyaWJ1dGUgaXQsCkBAIC02LDYgKzYsOCBAQAogCiBBQ19E RUZVTihbZ2xfRlVOQ19QVEhSRUFEX1NJR01BU0tdLAogWworICBBQ19SRVFVSVJFKFtnbF9T SUdOQUxfSF9ERUZBVUxUU10pCisKICAgQUNfQ0hFQ0tfRlVOQ1NfT05DRShbcHRocmVhZF9z aWdtYXNrXSkKICAgTElCX1BUSFJFQURfU0lHTUFTSz0KIAoKPT09IGFkZGVkIGZpbGUgJ200 L3N0ZGFsaWduLm00JwotLS0gbTQvc3RkYWxpZ24ubTQJMTk3MC0wMS0wMSAwMDowMDowMCAr MDAwMAorKysgbTQvc3RkYWxpZ24ubTQJMjAxMS0xMC0yNyAxOTozOTozMCArMDAwMApAQCAt MCwwICsxLDIyIEBACisjIENoZWNrIGZvciBzdGRhbGlnbi5oIHRoYXQgY29uZm9ybXMgdG8g QzF4LgorCitkbmwgQ29weXJpZ2h0IDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ bmMuCitkbmwgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHRoZSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24KK2RubCBnaXZlcyB1bmxpbWl0ZWQgcGVybWlzc2lvbiB0byBjb3B5IGFu ZC9vciBkaXN0cmlidXRlIGl0LAorZG5sIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb25z LCBhcyBsb25nIGFzIHRoaXMgbm90aWNlIGlzIHByZXNlcnZlZC4KKworIyBQcmVwYXJlIGZv ciBzdWJzdGl0dXRpbmcgPHN0ZGFsaWduLmg+IGlmIGl0IGlzIG5vdCBzdXBwb3J0ZWQuCisK K0FDX0RFRlVOKFtnbF9TVERBTElHTl9IXSwKK1sKKyAgQUNfQ0hFQ0tfSEVBREVSU19PTkNF KFtzdGRhbGlnbi5oXSkKKworICBpZiB0ZXN0ICRhY19jdl9oZWFkZXJfc3RkYWxpZ25faCA9 IHllczsgdGhlbgorICAgIFNUREFMSUdOX0g9JycKKyAgZWxzZQorICAgIFNUREFMSUdOX0g9 J3N0ZGFsaWduLmgnCisgIGZpCisKKyAgQUNfU1VCU1QoW1NUREFMSUdOX0hdKQorICBBTV9D T05ESVRJT05BTChbR0xfR0VORVJBVEVfU1REQUxJR05fSF0sIFt0ZXN0IC1uICIkU1REQUxJ R05fSCJdKQorXSkKCj09PSBtb2RpZmllZCBmaWxlICdtNC9zdGRsaWJfaC5tNCcKLS0tIG00 L3N0ZGxpYl9oLm00CTIwMTEtMDItMjUgMDc6MzY6MzcgKzAwMDAKKysrIG00L3N0ZGxpYl9o Lm00CTIwMTEtMTAtMjcgMTk6NTE6MjYgKzAwMDAKQEAgLTE5LDEwICsxOSwxMCBAQAogI2lm IEhBVkVfUkFORE9NX0gKICMgaW5jbHVkZSA8cmFuZG9tLmg+CiAjZW5kaWYKLSAgICBdXSwg W19FeGl0IGF0b2xsIGNhbm9uaWNhbGl6ZV9maWxlX25hbWUgZ2V0bG9hZGF2ZyBnZXRzdWJv cHQgZ3JhbnRwdCBta2R0ZW1wCi0gICAgbWtvc3RlbXAgbWtvc3RlbXBzIG1rc3RlbXAgbWtz dGVtcHMgcHRzbmFtZSByYW5kb21fciBpbml0c3RhdF9yIHNyYW5kb21fcgotICAgIHNldHN0 YXRlX3IgcmVhbHBhdGggcnBtYXRjaCBzZXRlbnYgc3RydG9kIHN0cnRvbGwgc3RydG91bGwg dW5sb2NrcHQKLSAgICB1bnNldGVudl0pCisgICAgXV0sIFtfRXhpdCBhdG9sbCBjYW5vbmlj YWxpemVfZmlsZV9uYW1lIGdldGxvYWRhdmcgZ2V0c3Vib3B0IGdyYW50cHQKKyAgICBpbml0 c3RhdGVfciBta2R0ZW1wIG1rb3N0ZW1wIG1rb3N0ZW1wcyBta3N0ZW1wIG1rc3RlbXBzIHBv c2l4X29wZW5wdAorICAgIHB0c25hbWUgcmFuZG9tX3IgcmVhbHBhdGggcnBtYXRjaCBzZXRl bnYgc2V0c3RhdGVfciBzcmFuZG9tX3Igc3RydG9kCisgICAgc3RydG9sbCBzdHJ0b3VsbCB1 bmxvY2twdCB1bnNldGVudl0pCiBdKQogCiBBQ19ERUZVTihbZ2xfU1RETElCX01PRFVMRV9J TkRJQ0FUT1JdLApAQCAtNTAsNiArNTAsNyBAQAogICBHTlVMSUJfTUtPU1RFTVBTPTA7ICAg ICBBQ19TVUJTVChbR05VTElCX01LT1NURU1QU10pCiAgIEdOVUxJQl9NS1NURU1QPTA7ICAg ICAgIEFDX1NVQlNUKFtHTlVMSUJfTUtTVEVNUF0pCiAgIEdOVUxJQl9NS1NURU1QUz0wOyAg ICAgIEFDX1NVQlNUKFtHTlVMSUJfTUtTVEVNUFNdKQorICBHTlVMSUJfUE9TSVhfT1BFTlBU PTA7ICBBQ19TVUJTVChbR05VTElCX1BPU0lYX09QRU5QVF0pCiAgIEdOVUxJQl9QVFNOQU1F PTA7ICAgICAgIEFDX1NVQlNUKFtHTlVMSUJfUFRTTkFNRV0pCiAgIEdOVUxJQl9QVVRFTlY9 MDsgICAgICAgIEFDX1NVQlNUKFtHTlVMSUJfUFVURU5WXSkKICAgR05VTElCX1JBTkRPTV9S PTA7ICAgICAgQUNfU1VCU1QoW0dOVUxJQl9SQU5ET01fUl0pCkBAIC03Niw2ICs3Nyw3IEBA CiAgIEhBVkVfTUtPU1RFTVBTPTE7ICAgICAgICAgIEFDX1NVQlNUKFtIQVZFX01LT1NURU1Q U10pCiAgIEhBVkVfTUtTVEVNUD0xOyAgICAgICAgICAgIEFDX1NVQlNUKFtIQVZFX01LU1RF TVBdKQogICBIQVZFX01LU1RFTVBTPTE7ICAgICAgICAgICBBQ19TVUJTVChbSEFWRV9NS1NU RU1QU10pCisgIEhBVkVfUE9TSVhfT1BFTlBUPTE7ICAgICAgIEFDX1NVQlNUKFtIQVZFX1BP U0lYX09QRU5QVF0pCiAgIEhBVkVfUFRTTkFNRT0xOyAgICAgICAgICAgIEFDX1NVQlNUKFtI QVZFX1BUU05BTUVdKQogICBIQVZFX1JBTkRPTV9IPTE7ICAgICAgICAgICBBQ19TVUJTVChb SEFWRV9SQU5ET01fSF0pCiAgIEhBVkVfUkFORE9NX1I9MTsgICAgICAgICAgIEFDX1NVQlNU KFtIQVZFX1JBTkRPTV9SXSkKCj09PSBtb2RpZmllZCBmaWxlICdtc2Rvcy9DaGFuZ2VMb2cn Ci0tLSBtc2Rvcy9DaGFuZ2VMb2cJMjAxMS0xMC0zMSAxNzozNzozOSArMDAwMAorKysgbXNk b3MvQ2hhbmdlTG9nCTIwMTEtMTEtMDggMDY6MzU6MzcgKzAwMDAKQEAgLTEsMyArMSwxMCBA QAorMjAxMS0xMS0wOCAgUGF1bCBFZ2dlcnQgIDxlZ2dlcnRAY3MudWNsYS5lZHU+CisKKwlV c2UgR251bGliIHN0ZGFsaWduIG1vZHVsZSAoQnVnIzk3NzIsIEJ1ZyM5OTYwKS4KKwkqIHNl ZDJ2Mi5pbnAgKEhBVkVfQVRUUklCVVRFX0FMSUdORUQpOiBSZW1vdmUgZWRpdC4KKwkqIHNl ZGxpYm1rLmlucCAoU1REQUxJR05fSCwgQEdMX0dFTkVSQVRFX1NUREFMSUdOX0hfVFJVRUAp CisJKEdMX0dFTkVSQVRFX1NUREFMSUdOX0hfRkFMU0UpOiBOZXcgZWRpdHMuCisKIDIwMTEt MTAtMzEgIEVsaSBaYXJldHNraWkgIDxlbGl6QGdudS5vcmc+CiAKIAkqIHNlZDN2Mi5pbnAg KGluc3JjZGlyKTogQ29tbWVudCBvdXQgZGVmaW5pdGlvbi4KCj09PSBtb2RpZmllZCBmaWxl ICdtc2Rvcy9zZWQydjIuaW5wJwotLS0gbXNkb3Mvc2VkMnYyLmlucAkyMDExLTEwLTMxIDAy OjI1OjAxICswMDAwCisrKyBtc2Rvcy9zZWQydjIuaW5wCTIwMTEtMTEtMDEgMDU6MDM6NTYg KzAwMDAKQEAgLTM1LDcgKzM1LDYgQEAKIC9eI3VuZGVmIEhBVkVfRlJFWFAgKiQvcy9eLiok LyNkZWZpbmUgSEFWRV9GUkVYUCAxLwogL14jdW5kZWYgSEFWRV9GTU9EICokL3MvXi4qJC8j ZGVmaW5lIEhBVkVfRk1PRCAxLwogL14jdW5kZWYgSEFWRV9SSU5UICokL3MvXi4qJC8jZGVm aW5lIEhBVkVfUklOVCAxLwotL14jdW5kZWYgSEFWRV9BVFRSSUJVVEVfQUxJR05FRCAqJC9z L14uKiQvI2RlZmluZSBIQVZFX0FUVFJJQlVURV9BTElHTkVEIDEvCiAvXiN1bmRlZiBIQVZF X0M5OV9TVFJUT0xEICokL3MvXi4qJC8jZGVmaW5lIEhBVkVfQzk5X1NUUlRPTEQgMS8KIC9e I3VuZGVmIEhBVkVfQ0JSVCAqJC9zL14uKiQvI2RlZmluZSBIQVZFX0NCUlQgMS8KIC9eI3Vu ZGVmIEhBVkVfRElGRlRJTUUgKiQvcy9eLiokLyNkZWZpbmUgSEFWRV9ESUZGVElNRSAxLwpA QCAtMTE5LDQgKzExOCwzIEBACiAjIG1pZ2h0IGJlIGRlZmluZWQgaW4gc3lzL2NvbmZpZy5o IHdlIGluY2x1ZGUgYXQgdGhlIHRvcCBvZiBjb25maWcuaC4KIC9eI3VuZGVmIEJTVFJJTkcv c3wjdW5kZWZ8IyB1bmRlZnwKIC9eI3VuZGVmIC4qJC9zfF4uKiR8LyogJiAqL3wKLQoKPT09 IG1vZGlmaWVkIGZpbGUgJ21zZG9zL3NlZGxpYm1rLmlucCcKLS0tIG1zZG9zL3NlZGxpYm1r LmlucAkyMDExLTA5LTI5IDEyOjAwOjE4ICswMDAwCisrKyBtc2Rvcy9zZWRsaWJtay5pbnAJ MjAxMS0xMC0xNyAwMToyMjoxOSArMDAwMApAQCAtMjcsNyArMjcsNyBAQAogIyAgICBvdGhl cndpc2UgZWRpdCB0aGVtIHRvIHplcm86CiAjCiAjICAgICAvXlJFUExBQ0VfQ0FMTE9DICo9 L3MvQFJFUExBQ0VfQ0FMTE9DQC8wLwotIyAKKyMKICMgIC4gSWYgdGhlIG1vZHVsZSBpcyBh IGhlYWRlciBvciBhZGRzIGhlYWRlcnMsIGVkaXQgdGhlIGNvcnJlc3BvbmRpbmcKICMgICAg dmFyaWFibGUgdG8gZWl0aGVyIGFuIGVtcHR5IHZhbHVlIG9yIHRvIHRoZSBuYW1lIG9mIHRo ZSBoZWFkZXIuCiAjICAgIEV4YW1wbGVzOgpAQCAtNTQ3LDYgKzU0Nyw3IEBACiAvXlNJWkVf VF9TVUZGSVggKj0vcy9AU0laRV9UX1NVRkZJWEAvdS8KIC9eQUxMT0NBX0ggKj0vcy9AW15A XG5dKkAvYWxsb2NhLmgvCiAvXlNUREJPT0xfSCAqPS9zL0BbXkBcbl0qQC8vCisvXlNUREFM SUdOX0ggKj0vcy9AW15AXG5dKkAvc3RkYWxpZ24uaC8KIC9eU1REQVJHX0ggKj0vcy9AW15A XG5dKkAvLwogL15TVERERUZfSCAqPS9zL0BbXkBcbl0qQC8vCiAvXlNURElOVF9IICo9L3Mv QFteQFxuXSpAL3N0ZGludC5oLwpAQCAtNjAwLDYgKzYwMSw4IEBACiBzL15AR0xfR0VORVJB VEVfQUxMT0NBX0hfRkFMU0VAL1wjLwogcy9eQEdMX0dFTkVSQVRFX1NUREJPT0xfSF9UUlVF QC9cIy8KIHMvXkBHTF9HRU5FUkFURV9TVERCT09MX0hfRkFMU0VALy8KK3MvXkBHTF9HRU5F UkFURV9TVERBTElHTl9IX1RSVUVALy8KK3MvXkBHTF9HRU5FUkFURV9TVERBTElHTl9IX0ZB TFNFQC9cIy8KIHMvXkBHTF9HRU5FUkFURV9TVERBUkdfSF9UUlVFQC9cIy8KIHMvXkBHTF9H RU5FUkFURV9TVERBUkdfSF9GQUxTRUAvXCMvCiBzL15AR0xfR0VORVJBVEVfU1REREVGX0hf VFJVRUAvXCMvCgo9PT0gbW9kaWZpZWQgZmlsZSAnbnQvQ2hhbmdlTG9nJwotLS0gbnQvQ2hh bmdlTG9nCTIwMTEtMTEtMDUgMjI6MzM6NDQgKzAwMDAKKysrIG50L0NoYW5nZUxvZwkyMDEx LTExLTA4IDA2OjM1OjM3ICswMDAwCkBAIC0xLDMgKzEsOCBAQAorMjAxMS0xMS0wOCAgUGF1 bCBFZ2dlcnQgIDxlZ2dlcnRAY3MudWNsYS5lZHU+CisKKwlVc2UgR251bGliIHN0ZGFsaWdu IG1vZHVsZSAoQnVnIzk3NzIsIEJ1ZyM5OTYwKS4KKwkqIGNvbmZpZy5udCAoSEFWRV9BVFRS SUJVVEVfQUxJR05FRCk6IFJlbW92ZS4KKwogMjAxMS0xMS0wNSAgQ2hyaXN0b3BoIFNjaG9s dGVzICA8Y3NjaG9sMjExMkBnb29nbGVtYWlsLmNvbT4KIAogCSogaW5jL3N0ZGludC5oIChV SU5UNjRfTUFYLCBVSU5UNjRfTUlOLCBJTlQ2NF9NSU4sIFVJTlRNQVhfTUFYKQoKPT09IG1v ZGlmaWVkIGZpbGUgJ250L2NvbmZpZy5udCcKLS0tIG50L2NvbmZpZy5udAkyMDExLTExLTA1 IDE3OjE2OjAxICswMDAwCisrKyBudC9jb25maWcubnQJMjAxMS0xMS0wNyAwNTo1OToyOSAr MDAwMApAQCAtMjc4LDEzICsyNzgsNiBAQAogCiAvKiBQcmVwcm9jZXNzb3IgbWFjcm9zIG5l ZWRlZCBmb3IgZ251bGliIGltcG9ydHMuICAqLwogCi0vKiBEZWZpbmUgdG8gMSBpZiBHQ0Mt c3R5bGUgX19hdHRyaWJ1dGVfXyAoKF9fYWxpZ25lZF9fIChleHByKSkpIHdvcmtzLiAqLwot I2lmZGVmIF9fR05VQ19fCi0jZGVmaW5lIEhBVkVfQVRUUklCVVRFX0FMSUdORUQgMQotI2Vs c2UKLSN1bmRlZiBIQVZFX0FUVFJJQlVURV9BTElHTkVECi0jZW5kaWYKLQogLyogRGVmaW5l IHRvIDEgaWYgc3RydG9sZCBjb25mb3JtcyB0byBDOTkuICovCiAjaWZkZWYgX19HTlVDX18K ICNkZWZpbmUgSEFWRV9DOTlfU1RSVE9MRCAxCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3JjL0No YW5nZUxvZycKLS0tIHNyYy9DaGFuZ2VMb2cJMjAxMS0xMS0wNyAxNzowNDowMSArMDAwMAor Kysgc3JjL0NoYW5nZUxvZwkyMDExLTExLTA4IDA2OjM1OjM3ICswMDAwCkBAIC0xLDMgKzEs MTQgQEAKKzIwMTEtMTEtMDggIFBhdWwgRWdnZXJ0ICA8ZWdnZXJ0QGNzLnVjbGEuZWR1Pgor CisJVXNlIEdudWxpYiBzdGRhbGlnbiBtb2R1bGUgKEJ1ZyM5NzcyLCBCdWcjOTk2MCkuCisJ KiBhbGxvYy5jIChYTUFMTE9DX0JBU0VfQUxJR05NRU5ULCBHQ19MSVNQX09CSkVDVF9BTElH Tk1FTlQpCisJKEdDX1BPSU5URVJfQUxJR05NRU5ULCBwdXJlX2FsbG9jKTogU2ltcGxpZnkg YnkgdXNpbmcgYWxpZ25vZi4KKwkocHVyZV9hbGxvYykgWyEgVVNFX0xTQl9UQUddOiBEb24n dCBvdmVyLWFsaWduIEVNQUNTX0lOVCB2YWx1ZXMuCisJKiBsaXNwLmg6IEluY2x1ZGUgPHN0 ZGFsaWduLmg+LgorCShERUNMX0FMSUdOKTogU2ltcGxpZnkgYnkgdXNpbmcgYWxpZ25hcy4K KwlQb3J0IHRvIE1TVkMsIGJ5IHVzaW5nIEFMSUdOX0dDVFlQRUJJVFMuCisJKEFMSUdOX0dD VFlQRUJJVFMpOiBOZXcgbWFjcm8uCisKIDIwMTEtMTEtMDcgIEp1YW5tYSBCYXJyYW5xdWVy byAgPGxla2t0dUBnbWFpbC5jb20+CiAKIAkqIGxpc3AuaCAoc3ltc19vZl9hYmJyZXYpOiBS ZW1vdmUgZGVjbGFyYXRpb24uCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3JjL2FsbG9jLmMnCi0t LSBzcmMvYWxsb2MuYwkyMDExLTExLTA3IDA1OjM3OjQ5ICswMDAwCisrKyBzcmMvYWxsb2Mu YwkyMDExLTExLTA3IDA1OjU5OjI5ICswMDAwCkBAIC01MTMsMTIgKzUxMyw3IEBACiAgICBo b2xkIGEgc2l6ZV90IHZhbHVlIGFuZCAoMikgdGhlIGhlYWRlciBzaXplIGlzIGEgbXVsdGlw bGUgb2YgdGhlCiAgICBhbGlnbm1lbnQgdGhhdCBFbWFjcyBuZWVkcyBmb3IgQyB0eXBlcyBh bmQgZm9yIFVTRV9MU0JfVEFHLiAgKi8KICNkZWZpbmUgWE1BTExPQ19CQVNFX0FMSUdOTUVO VAkJCQlcCi0gIG9mZnNldG9mICgJCQkJCQlcCi0gICAgc3RydWN0IHsJCQkJCQlcCi0gICAg ICB1bmlvbiB7IGxvbmcgZG91YmxlIGQ7IGludG1heF90IGk7IHZvaWQgKnA7IH0gdTsJXAot ICAgICAgY2hhciBjOwkJCQkJCVwKLSAgICB9LAkJCQkJCQlcCi0gICAgYykKKyAgYWxpZ25v ZiAodW5pb24geyBsb25nIGRvdWJsZSBkOyBpbnRtYXhfdCBpOyB2b2lkICpwOyB9KQogI2lm ZGVmIFVTRV9MU0JfVEFHCiAvKiBBIGNvbW1vbiBtdWx0aXBsZSBvZiB0aGUgcG9zaXRpdmUg aW50ZWdlcnMgQSBhbmQgQi4gIElkZWFsbHkgdGhpcwogICAgd291bGQgYmUgdGhlIGxlYXN0 IGNvbW1vbiBtdWx0aXBsZSwgYnV0IHRoZXJlJ3Mgbm8gd2F5IHRvIGRvIHRoYXQKQEAgLTQy NDEsMTUgKzQyMzYsMTUgQEAKIH0KIAogCi0vKiBBbGlnbm1lbnQgb2YgTGlzcF9PYmplY3Qg YW5kIHBvaW50ZXIgdmFsdWVzLiAgVXNlIG9mZnNldG9mLCBhcyBpdAorLyogQWxpZ25tZW50 IG9mIExpc3BfT2JqZWN0IGFuZCBwb2ludGVyIHZhbHVlcy4gIFVzZSBhbGlnbm9mLCBhcyBp dAogICAgc29tZXRpbWVzIHJldHVybnMgYSBzbWFsbGVyIGFsaWdubWVudCB0aGFuIEdDQydz IF9fYWxpZ25vZl9fIGFuZAogICAgbWFya19tZW1vcnkgbWlnaHQgbWlzcyBvYmplY3RzIGlm IF9fYWxpZ25vZl9fIHdlcmUgdXNlZC4gIEZvcgogICAgZXhhbXBsZSwgb24geDg2IHdpdGgg V0lERV9FTUFDU19JTlQsIF9fYWxpZ25vZl9fIChMaXNwX09iamVjdCkgaXMgOAogICAgYnV0 IEdDX0xJU1BfT0JKRUNUX0FMSUdOTUVOVCBzaG91bGQgYmUgNC4gICovCiAjaWZuZGVmIEdD X0xJU1BfT0JKRUNUX0FMSUdOTUVOVAotIyBkZWZpbmUgR0NfTElTUF9PQkpFQ1RfQUxJR05N RU5UIG9mZnNldG9mIChzdHJ1Y3Qge2NoYXIgYTsgTGlzcF9PYmplY3QgYjt9LCBiKQorIyBk ZWZpbmUgR0NfTElTUF9PQkpFQ1RfQUxJR05NRU5UIGFsaWdub2YgKExpc3BfT2JqZWN0KQog I2VuZGlmCi0jZGVmaW5lIEdDX1BPSU5URVJfQUxJR05NRU5UIG9mZnNldG9mIChzdHJ1Y3Qg e2NoYXIgYTsgdm9pZCAqYjt9LCBiKQorI2RlZmluZSBHQ19QT0lOVEVSX0FMSUdOTUVOVCBh bGlnbm9mICh2b2lkICopCiAKIC8qIE1hcmsgTGlzcCBvYmplY3RzIHJlZmVyZW5jZWQgZnJv bSB0aGUgYWRkcmVzcyByYW5nZSBTVEFSVCtPRkZTRVQuLkVORAogICAgb3IgRU5EK09GRlNF VC4uU1RBUlQuICovCkBAIC00NjY4LDE3ICs0NjYzLDExIEBACiAjaWZkZWYgVVNFX0xTQl9U QUcKICAgc2l6ZV90IGFsaWdubWVudCA9ICgxIDw8IEdDVFlQRUJJVFMpOwogI2Vsc2UKLSAg c2l6ZV90IGFsaWdubWVudCA9IHNpemVvZiAoRU1BQ1NfSU5UKTsKKyAgc2l6ZV90IGFsaWdu bWVudCA9IGFsaWdub2YgKEVNQUNTX0lOVCk7CiAKICAgLyogR2l2ZSBMaXNwX0Zsb2F0cyBh biBleHRyYSBhbGlnbm1lbnQuICAqLwogICBpZiAodHlwZSA9PSBMaXNwX0Zsb2F0KQotICAg IHsKLSNpZiBkZWZpbmVkIF9fR05VQ19fICYmIF9fR05VQ19fID49IDIKLSAgICAgIGFsaWdu bWVudCA9IF9fYWxpZ25vZiAoc3RydWN0IExpc3BfRmxvYXQpOwotI2Vsc2UKLSAgICAgIGFs aWdubWVudCA9IHNpemVvZiAoc3RydWN0IExpc3BfRmxvYXQpOwotI2VuZGlmCi0gICAgfQor ICAgIGFsaWdubWVudCA9IGFsaWdub2YgKHN0cnVjdCBMaXNwX0Zsb2F0KTsKICNlbmRpZgog CiAgYWdhaW46Cgo9PT0gbW9kaWZpZWQgZmlsZSAnc3JjL2xpc3AuaCcKLS0tIHNyYy9saXNw LmgJMjAxMS0xMS0wNyAxNzowNDowMSArMDAwMAorKysgc3JjL2xpc3AuaAkyMDExLTExLTA4 IDAxOjA3OjE4ICswMDAwCkBAIC0yMCw2ICsyMCw3IEBACiAjaWZuZGVmIEVNQUNTX0xJU1Bf SAogI2RlZmluZSBFTUFDU19MSVNQX0gKIAorI2luY2x1ZGUgPHN0ZGFsaWduLmg+CiAjaW5j bHVkZSA8c3RkYXJnLmg+CiAjaW5jbHVkZSA8c3RkZGVmLmg+CiAjaW5jbHVkZSA8aW50dHlw ZXMuaD4KQEAgLTE2MywxOCArMTY0LDggQEAKIC8qIEZpcnN0LCB0cnkgYW5kIGRlZmluZSBE RUNMX0FMSUdOKHR5cGUsdmFyKSB3aGljaCBkZWNsYXJlcyBhIHN0YXRpYwogICAgdmFyaWFi bGUgVkFSIG9mIHR5cGUgVFlQRSB3aXRoIHRoZSBhZGRlZCByZXF1aXJlbWVudCB0aGF0IGl0 IGJlCiAgICBUWVBFQklUUy1hbGlnbmVkLiAgKi8KLSNpZm5kZWYgTk9fREVDTF9BTElHTgot IyBpZm5kZWYgREVDTF9BTElHTgotIyAgaWYgSEFWRV9BVFRSSUJVVEVfQUxJR05FRAotIyAg IGRlZmluZSBERUNMX0FMSUdOKHR5cGUsIHZhcikgXAotICAgICB0eXBlIF9fYXR0cmlidXRl X18gKChfX2FsaWduZWRfXyAoMSA8PCBHQ1RZUEVCSVRTKSkpIHZhcgotIyAgZWxpZiBkZWZp bmVkKF9NU0NfVkVSKQotIyAgIGRlZmluZSBERUNMX0FMSUdOKHR5cGUsIHZhcikgXAotICAg ICB0eXBlIF9fZGVjbHNwZWMoYWxpZ24oMSA8PCBHQ1RZUEVCSVRTKSkgdmFyCi0jICBlbHNl Ci0gICAgIC8qIFdoYXQgZGlyZWN0aXZlcyBkbyBvdGhlciBjb21waWxlcnMgdXNlPyAgKi8K LSMgIGVuZGlmCi0jIGVuZGlmCisjaWZkZWYgYWxpZ25hcworIyBkZWZpbmUgREVDTF9BTElH Tih0eXBlLCB2YXIpIHR5cGUgYWxpZ25hcyAoQUxJR05fR0NUWVBFQklUUykgdmFyCiAjZW5k aWYKIAogLyogTGV0J3MgVVNFX0xTQl9UQUcgb24gc3lzdGVtcyB3aGVyZSB3ZSBrbm93IG1h bGxvYyByZXR1cm5zIG11bHQtb2YtOC4gICovCkBAIC0zMDIsNiArMjkzLDEwIEBACiAKICNp Zm5kZWYgR0NUWVBFQklUUwogI2RlZmluZSBHQ1RZUEVCSVRTIDMKKyNkZWZpbmUgQUxJR05f R0NUWVBFQklUUyA4IC8qIFRoaXMgbXVzdCBiZSBhbiBpbnRlZ2VyIGNvbnN0YW50LCBmb3Ig TVNWQy4gICovCisjZW5kaWYKKyNpZiAxIDw8IEdDVFlQRUJJVFMgIT0gQUxJR05fR0NUWVBF QklUUworIyBlcnJvciAiQUxJR05fR0NUWVBFQklUUyBpcyB3cm9uZyEiCiAjZW5kaWYKIAog LyogVGhlc2UgdmFsdWVzIGFyZSBvdmVycmlkZGVuIGJ5IHRoZSBtLSBmaWxlIG9uIHNvbWUg bWFjaGluZXMuICAqLwo= --------------060707080900070208090306--