From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: martin rudalics Newsgroups: gmane.emacs.bugs Subject: bug#12251: 24.2.50; crash in note_mouse_highlight Date: Sat, 25 Aug 2012 15:40:15 +0200 Message-ID: <5038D5BF.70306@gmx.at> References: <87obm4ayyn.fsf@gnu.org> <83fw7gaxyx.fsf@gnu.org> <87k3wsax0k.fsf@gnu.org> <83ehn0aw3p.fsf@gnu.org> <87sjbfhcii.fsf@gnu.org> <83vcgaam5w.fsf@gnu.org> <5035EE6B.50208@gmx.at> <87sjbd9253.fsf@gnu.org> <503665EA.2000600@gmx.at> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------020306050505020509050702" X-Trace: ger.gmane.org 1345902030 16765 80.91.229.3 (25 Aug 2012 13:40:30 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 25 Aug 2012 13:40:30 +0000 (UTC) Cc: 12251@debbugs.gnu.org To: Sam Steingold Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Aug 25 15:40:30 2012 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1T5GbF-0001WG-TO for geb-bug-gnu-emacs@m.gmane.org; Sat, 25 Aug 2012 15:40:30 +0200 Original-Received: from localhost ([::1]:43843 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T5GbE-0003J8-3P for geb-bug-gnu-emacs@m.gmane.org; Sat, 25 Aug 2012 09:40:28 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:57872) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T5Gb9-0003J3-Ev for bug-gnu-emacs@gnu.org; Sat, 25 Aug 2012 09:40:25 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1T5Gb7-00064C-8o for bug-gnu-emacs@gnu.org; Sat, 25 Aug 2012 09:40:23 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:38651) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T5Gb7-00063w-47 for bug-gnu-emacs@gnu.org; Sat, 25 Aug 2012 09:40:21 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1T5Gbm-0000Vc-DB for bug-gnu-emacs@gnu.org; Sat, 25 Aug 2012 09:41:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: martin rudalics Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 25 Aug 2012 13:41:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 12251 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 12251-submit@debbugs.gnu.org id=B12251.13459020601948 (code B ref 12251); Sat, 25 Aug 2012 13:41:02 +0000 Original-Received: (at 12251) by debbugs.gnu.org; 25 Aug 2012 13:41:00 +0000 Original-Received: from localhost ([127.0.0.1]:48197 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T5Gbj-0000VM-Lj for submit@debbugs.gnu.org; Sat, 25 Aug 2012 09:41:00 -0400 Original-Received: from mailout-de.gmx.net ([213.165.64.22]:59103) by debbugs.gnu.org with smtp (Exim 4.72) (envelope-from ) id 1T5Gbg-0000VC-0d for 12251@debbugs.gnu.org; Sat, 25 Aug 2012 09:40:59 -0400 Original-Received: (qmail invoked by alias); 25 Aug 2012 13:40:12 -0000 Original-Received: from 62-47-58-37.adsl.highway.telekom.at (EHLO [62.47.58.37]) [62.47.58.37] by mail.gmx.net (mp004) with SMTP; 25 Aug 2012 15:40:12 +0200 X-Authenticated: #14592706 X-Provags-ID: V01U2FsdGVkX1/12KJLy1X1eMdtjHtHjeXeHdooA/HNEf2dZLgm/7 NTIJqw2sY1Fvfy In-Reply-To: X-Y-GMX-Trusted: 0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list 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:63476 Archived-At: This is a multi-part message in MIME format. --------------020306050505020509050702 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit > tried, but got a crash in different place instead. Interesting. Could you try the more invasive patch I attached? I have no idea what it could break, so please don't do any important work with it. martin --------------020306050505020509050702 Content-Type: text/plain; name="windowp.diff" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="windowp.diff" YnpyIGRpZmYNCj09PSBtb2RpZmllZCBmaWxlICdzcmMvYnVmZmVyLmMnDQotLS0gc3JjL2J1 ZmZlci5jCTIwMTItMDgtMjQgMDQ6Mzc6NTcgKzAwMDANCisrKyBzcmMvYnVmZmVyLmMJMjAx Mi0wOC0yNSAxMzoxNjoxOSArMDAwMA0KQEAgLTEzNTEsNyArMTM1MSw3IEBADQogQSBub24t bmlsIEZMQUcgbWVhbnMgbWFyayB0aGUgYnVmZmVyIG1vZGlmaWVkLiAgKi8pDQogICAoTGlz cF9PYmplY3QgZmxhZykNCiB7DQotICBMaXNwX09iamVjdCBmbiwgYnVmZmVyLCB3aW5kb3c7 DQorICBMaXNwX09iamVjdCBmbiwgYnVmZmVyOw0KIA0KICNpZmRlZiBDTEFTSF9ERVRFQ1RJ T04NCiAgIC8qIElmIGJ1ZmZlciBiZWNvbWluZyBtb2RpZmllZCwgbG9jayB0aGUgZmlsZS4N CkBAIC0xNDAxLDggKzE0MDEsNyBAQA0KICAgICAgYnVmZmVycyB3aXRob3V0ICJtb2RpZnlp bmciIGJ1ZmZlcnMsIG9yIHJlZGlzcGxheSBzaG91bGQgYmUNCiAgICAgIHNtYXJ0ZXIgYWJv dXQgdXBkYXRpbmcgdGhlIGAqJyBpbiBtb2RlIGxpbmVzLiAgLS1nZXJkICAqLw0KICAgWFNF VEJVRkZFUiAoYnVmZmVyLCBjdXJyZW50X2J1ZmZlcik7DQotICB3aW5kb3cgPSBGZ2V0X2J1 ZmZlcl93aW5kb3cgKGJ1ZmZlciwgUXQpOw0KLSAgaWYgKFdJTkRPV1AgKHdpbmRvdykpDQor ICBpZiAoIU5JTFAgKEZnZXRfYnVmZmVyX3dpbmRvdyAoYnVmZmVyLCBRdCkpKQ0KICAgICB7 DQogICAgICAgKyt1cGRhdGVfbW9kZV9saW5lczsNCiAgICAgICBjdXJyZW50X2J1ZmZlci0+ cHJldmVudF9yZWRpc3BsYXlfb3B0aW1pemF0aW9uc19wID0gMTsNCkBAIC0zMTk1LDcgKzMx OTQsNyBAQA0KIAkgICAgICBMaXNwX09iamVjdCB3aW5kb3c7DQogDQogCSAgICAgIHdpbmRv dyA9IEZvdmVybGF5X2dldCAob3ZlcmxheSwgUXdpbmRvdyk7DQotCSAgICAgIGlmIChXSU5E T1dQICh3aW5kb3cpICYmIFhXSU5ET1cgKHdpbmRvdykgIT0gdykNCisJICAgICAgaWYgKFdJ TkRPV19MSVZFX1AgKHdpbmRvdykgJiYgWFdJTkRPVyAod2luZG93KSAhPSB3KQ0KIAkJY29u dGludWU7DQogCSAgICB9DQogDQpAQCAtMzMzNyw3ICszMzM2LDcgQEANCiAgICAgICBpZiAo ZW5kcG9zICE9IHBvcyAmJiBzdGFydHBvcyAhPSBwb3MpDQogCWNvbnRpbnVlOw0KICAgICAg IHdpbmRvdyA9IEZvdmVybGF5X2dldCAob3ZlcmxheSwgUXdpbmRvdyk7DQotICAgICAgaWYg KFdJTkRPV1AgKHdpbmRvdykgJiYgWFdJTkRPVyAod2luZG93KSAhPSB3KQ0KKyAgICAgIGlm IChXSU5ET1dfTElWRV9QICh3aW5kb3cpICYmIFhXSU5ET1cgKHdpbmRvdykgIT0gdykNCiAJ Y29udGludWU7DQogICAgICAgaWYgKHN0YXJ0cG9zID09IHBvcw0KIAkgICYmIChzdHIgPSBG b3ZlcmxheV9nZXQgKG92ZXJsYXksIFFiZWZvcmVfc3RyaW5nKSwgU1RSSU5HUCAoc3RyKSkp DQpAQCAtMzM2NSw3ICszMzY0LDcgQEANCiAgICAgICBpZiAoZW5kcG9zICE9IHBvcyAmJiBz dGFydHBvcyAhPSBwb3MpDQogCWNvbnRpbnVlOw0KICAgICAgIHdpbmRvdyA9IEZvdmVybGF5 X2dldCAob3ZlcmxheSwgUXdpbmRvdyk7DQotICAgICAgaWYgKFdJTkRPV1AgKHdpbmRvdykg JiYgWFdJTkRPVyAod2luZG93KSAhPSB3KQ0KKyAgICAgIGlmIChXSU5ET1dfTElWRV9QICh3 aW5kb3cpICYmIFhXSU5ET1cgKHdpbmRvdykgIT0gdykNCiAJY29udGludWU7DQogICAgICAg aWYgKHN0YXJ0cG9zID09IHBvcw0KIAkgICYmIChzdHIgPSBGb3ZlcmxheV9nZXQgKG92ZXJs YXksIFFiZWZvcmVfc3RyaW5nKSwgU1RSSU5HUCAoc3RyKSkpDQoNCj09PSBtb2RpZmllZCBm aWxlICdzcmMvZWRpdGZucy5jJw0KLS0tIHNyYy9lZGl0Zm5zLmMJMjAxMi0wOC0yMSAyMzoz OTo1NiArMDAwMA0KKysrIHNyYy9lZGl0Zm5zLmMJMjAxMi0wOC0yNSAxMjozNDozNyArMDAw MA0KQEAgLTM2MCw3ICszNjAsNyBAQA0KIA0KICAgaWYgKE5JTFAgKG9iamVjdCkpDQogICAg IFhTRVRCVUZGRVIgKG9iamVjdCwgY3VycmVudF9idWZmZXIpOw0KLSAgZWxzZSBpZiAoV0lO RE9XUCAob2JqZWN0KSkNCisgIGVsc2UgaWYgKFdJTkRPV19MSVZFX1AgKG9iamVjdCkpDQog ICAgIG9iamVjdCA9IFhXSU5ET1cgKG9iamVjdCktPmJ1ZmZlcjsNCiANCiAgIGlmICghQlVG RkVSUCAob2JqZWN0KSkNCg0KPT09IG1vZGlmaWVkIGZpbGUgJ3NyYy9mcmFtZS5jJw0KLS0t IHNyYy9mcmFtZS5jCTIwMTItMDgtMjIgMTY6MDU6MDQgKzAwMDANCisrKyBzcmMvZnJhbWUu YwkyMDEyLTA4LTI1IDEzOjE0OjMxICswMDAwDQpAQCAtOTUxLDcgKzk1MSw3IEBADQogCQkg ICAgfHwgRlJBTUVfSUNPTklGSUVEX1AgKFhGUkFNRSAoZikpKQ0KIAkJICByZXR1cm4gZjsN CiAJICAgICAgfQ0KLQkgICAgZWxzZSBpZiAoV0lORE9XUCAobWluaWJ1ZikpDQorCSAgICBl bHNlIGlmIChXSU5ET1dfTElWRV9QIChtaW5pYnVmKSkNCiAJICAgICAgew0KIAkJaWYgKEVR IChGUkFNRV9NSU5JQlVGX1dJTkRPVyAoWEZSQU1FIChmKSksIG1pbmlidWYpDQogCQkgICAg fHwgRVEgKFdJTkRPV19GUkFNRSAoWFdJTkRPVyAobWluaWJ1ZikpLCBmKQ0KQEAgLTEwMTAs NyArMTAxMCw3IEBADQogCSAgICAgIGlmICghIEZSQU1FX01JTklCVUZfT05MWV9QIChYRlJB TUUgKGYpKSkNCiAJCXByZXYgPSBmOw0KIAkgICAgfQ0KLQkgIGVsc2UgaWYgKFdJTkRPV1Ag KG1pbmlidWYpKQ0KKwkgIGVsc2UgaWYgKFdJTkRPV19MSVZFX1AgKG1pbmlidWYpKQ0KIAkg ICAgew0KIAkgICAgICBpZiAoRVEgKEZSQU1FX01JTklCVUZfV0lORE9XIChYRlJBTUUgKGYp KSwgbWluaWJ1ZikNCiAJCSAgfHwgRVEgKFdJTkRPV19GUkFNRSAoWFdJTkRPVyAobWluaWJ1 ZikpLCBmKQ0KQEAgLTIxNTAsNyArMjE1MCw3IEBADQogCXNldF90ZXJtX2ZyYW1lX25hbWUg KGYsIHZhbCk7DQogICAgIH0NCiANCi0gIGlmIChFUSAocHJvcCwgUW1pbmlidWZmZXIpICYm IFdJTkRPV1AgKHZhbCkpDQorICBpZiAoRVEgKHByb3AsIFFtaW5pYnVmZmVyKSAmJiBXSU5E T1dfTElWRV9QICh2YWwpKQ0KICAgICB7DQogICAgICAgaWYgKCEgTUlOSV9XSU5ET1dfUCAo WFdJTkRPVyAodmFsKSkpDQogCWVycm9yICgiU3Vycm9nYXRlIG1pbmlidWZmZXIgd2luZG93 cyBtdXN0IGJlIG1pbmlidWZmZXIgd2luZG93cyIpOw0KDQo9PT0gbW9kaWZpZWQgZmlsZSAn c3JjL2tleWJvYXJkLmMnDQotLS0gc3JjL2tleWJvYXJkLmMJMjAxMi0wOC0yMyAwODozMzo1 NiArMDAwMA0KKysrIHNyYy9rZXlib2FyZC5jCTIwMTItMDgtMjUgMTI6MzQ6MzMgKzAwMDAN CkBAIC0zNTIxLDcgKzM1MjEsNyBAQA0KICAgZnJhbWUgPSBldmVudC0+ZnJhbWVfb3Jfd2lu ZG93Ow0KICAgaWYgKENPTlNQIChmcmFtZSkpDQogICAgIGZyYW1lID0gWENBUiAoZnJhbWUp Ow0KLSAgZWxzZSBpZiAoV0lORE9XUCAoZnJhbWUpKQ0KKyAgZWxzZSBpZiAoV0lORE9XX0xJ VkVfUCAoZnJhbWUpKQ0KICAgICBmcmFtZSA9IFdJTkRPV19GUkFNRSAoWFdJTkRPVyAoZnJh bWUpKTsNCiANCiAgIC8qIFRoZXJlIGFyZSBzdGlsbCBzb21lIGV2ZW50cyB0aGF0IGRvbid0 IHNldCB0aGlzIGZpZWxkLg0KQEAgLTM3MzgsNyArMzczOCw3IEBADQogICBldmVudC5raW5k ID0gSEVMUF9FVkVOVDsNCiAgIGV2ZW50LmZyYW1lX29yX3dpbmRvdyA9IGZyYW1lOw0KICAg ZXZlbnQuYXJnID0gb2JqZWN0Ow0KLSAgZXZlbnQueCA9IFdJTkRPV1AgKHdpbmRvdykgPyB3 aW5kb3cgOiBmcmFtZTsNCisgIGV2ZW50LnggPSBXSU5ET1dfTElWRV9QICh3aW5kb3cpID8g d2luZG93IDogZnJhbWU7DQogICBldmVudC55ID0gaGVscDsNCiAgIGV2ZW50LmNvZGUgPSBw b3M7DQogICBrYmRfYnVmZmVyX3N0b3JlX2V2ZW50ICgmZXZlbnQpOw0KQEAgLTQwNjQsNyAr NDA2NCw3IEBADQogCSAgY2xlYXJfZXZlbnQgKGV2ZW50KTsNCiANCiAJICBrYmRfZmV0Y2hf cHRyID0gZXZlbnQgKyAxOw0KLQkgIGlmICghV0lORE9XUCAod2luZG93KSkNCisJICBpZiAo IVdJTkRPV19MSVZFX1AgKHdpbmRvdykpDQogCSAgICB3aW5kb3cgPSBRbmlsOw0KIAkgIG9i aiA9IEZjb25zIChRaGVscF9lY2hvLA0KIAkJICAgICAgIGxpc3Q1IChmcmFtZSwgaGVscCwg d2luZG93LCBvYmplY3QsIHBvc2l0aW9uKSk7DQpAQCAtNDEwOSw3ICs0MTA5LDcgQEANCiAJ ICBmcmFtZSA9IGV2ZW50LT5mcmFtZV9vcl93aW5kb3c7DQogCSAgaWYgKENPTlNQIChmcmFt ZSkpDQogCSAgICBmcmFtZSA9IFhDQVIgKGZyYW1lKTsNCi0JICBlbHNlIGlmIChXSU5ET1dQ IChmcmFtZSkpDQorCSAgZWxzZSBpZiAoV0lORE9XX0xJVkVfUCAoZnJhbWUpKQ0KIAkgICAg ZnJhbWUgPSBXSU5ET1dfRlJBTUUgKFhXSU5ET1cgKGZyYW1lKSk7DQogDQogCSAgZm9jdXMg PSBGUkFNRV9GT0NVU19GUkFNRSAoWEZSQU1FIChmcmFtZSkpOw0KQEAgLTUxOTIsNyArNTE5 Miw3IEBADQogICAgID8gd2luZG93X2Zyb21fY29vcmRpbmF0ZXMgKGYsIFhJTlQgKHgpLCBY SU5UICh5KSwgJnBhcnQsIDApDQogICAgIDogUW5pbDsNCiANCi0gIGlmIChXSU5ET1dQICh3 aW5kb3cpKQ0KKyAgaWYgKFdJTkRPV19MSVZFX1AgKHdpbmRvdykpDQogICAgIHsNCiAgICAg ICAvKiBJdCdzIGEgY2xpY2sgaW4gd2luZG93IFdJTkRPVyBhdCBmcmFtZSBjb29yZGluYXRl cyAoWCxZKSAgKi8NCiAgICAgICBzdHJ1Y3Qgd2luZG93ICp3ID0gWFdJTkRPVyAod2luZG93 KTsNCkBAIC01NjIxLDcgKzU2MjEsNyBAQA0KIAkgIHN0cnVjdCBmcmFtZSAqZjsNCiAJICBp bnQgZnV6ejsNCiANCi0JICBpZiAoV0lORE9XUCAoZXZlbnQtPmZyYW1lX29yX3dpbmRvdykp DQorCSAgaWYgKFdJTkRPV19MSVZFX1AgKGV2ZW50LT5mcmFtZV9vcl93aW5kb3cpKQ0KIAkg ICAgZiA9IFhGUkFNRSAoWFdJTkRPVyAoZXZlbnQtPmZyYW1lX29yX3dpbmRvdyktPmZyYW1l KTsNCiAJICBlbHNlIGlmIChGUkFNRVAgKGV2ZW50LT5mcmFtZV9vcl93aW5kb3cpKQ0KIAkg ICAgZiA9IFhGUkFNRSAoZXZlbnQtPmZyYW1lX29yX3dpbmRvdyk7DQpAQCAtNTc4OSw3ICs1 Nzg5LDcgQEANCiAJICBpbnQgc3ltYm9sX251bTsNCiAJICBpbnQgaXNfZG91YmxlOw0KIA0K LQkgIGlmIChXSU5ET1dQIChldmVudC0+ZnJhbWVfb3Jfd2luZG93KSkNCisJICBpZiAoV0lO RE9XX0xJVkVfUCAoZXZlbnQtPmZyYW1lX29yX3dpbmRvdykpDQogCSAgICBmciA9IFhGUkFN RSAoWFdJTkRPVyAoZXZlbnQtPmZyYW1lX29yX3dpbmRvdyktPmZyYW1lKTsNCiAJICBlbHNl IGlmIChGUkFNRVAgKGV2ZW50LT5mcmFtZV9vcl93aW5kb3cpKQ0KIAkgICAgZnIgPSBYRlJB TUUgKGV2ZW50LT5mcmFtZV9vcl93aW5kb3cpOw0KQEAgLTk1NTUsNyArOTU1NSw3IEBADQog CQkgICAgIHJlYWQgdXNpbmcgdGhlIGtleW1hcHMgaW4gdGhlIGJ1ZmZlciBjbGlja2VkIG9u LA0KIAkJICAgICBub3QgdGhlIGN1cnJlbnQgYnVmZmVyLiAgSWYgd2UncmUgYXQgdGhlDQog CQkgICAgIGJlZ2lubmluZyBvZiBhIGtleSBzZXF1ZW5jZSwgc3dpdGNoIGJ1ZmZlcnMuICAq Lw0KLQkJICBpZiAoV0lORE9XUCAod2luZG93KQ0KKwkJICBpZiAoV0lORE9XX0xJVkVfUCAo d2luZG93KQ0KIAkJICAgICAgJiYgQlVGRkVSUCAoWFdJTkRPVyAod2luZG93KS0+YnVmZmVy KQ0KIAkJICAgICAgJiYgWEJVRkZFUiAoWFdJTkRPVyAod2luZG93KS0+YnVmZmVyKSAhPSBj dXJyZW50X2J1ZmZlcikNCiAJCSAgICB7DQpAQCAtMTEyNDksNyArMTEyNDksNyBAQA0KICAg aWYgKE5JTFAgKGZyYW1lX29yX3dpbmRvdykpDQogICAgIGZyYW1lX29yX3dpbmRvdyA9IHNl bGVjdGVkX3dpbmRvdzsNCiANCi0gIGlmIChXSU5ET1dQIChmcmFtZV9vcl93aW5kb3cpKQ0K KyAgaWYgKFdJTkRPV19MSVZFX1AgKGZyYW1lX29yX3dpbmRvdykpDQogICAgIHsNCiAgICAg ICBzdHJ1Y3Qgd2luZG93ICp3ID0gZGVjb2RlX2xpdmVfd2luZG93IChmcmFtZV9vcl93aW5k b3cpOw0KIA0KDQo9PT0gbW9kaWZpZWQgZmlsZSAnc3JjL2tleW1hcC5jJw0KLS0tIHNyYy9r ZXltYXAuYwkyMDEyLTA4LTE4IDA2OjA2OjM5ICswMDAwDQorKysgc3JjL2tleW1hcC5jCTIw MTItMDgtMjUgMTI6NDE6MDcgKzAwMDANCkBAIC0xNTU5LDcgKzE1NTksNyBAQA0KIA0KICAg ICAgIHdpbmRvdyA9IFBPU05fV0lORE9XIChwb3NpdGlvbik7DQogDQotICAgICAgaWYgKFdJ TkRPV1AgKHdpbmRvdykNCisgICAgICBpZiAoV0lORE9XX0xJVkVfUCAod2luZG93KQ0KIAkg ICYmIEJVRkZFUlAgKFhXSU5ET1cgKHdpbmRvdyktPmJ1ZmZlcikNCiAJICAmJiBYQlVGRkVS IChYV0lORE9XICh3aW5kb3cpLT5idWZmZXIpICE9IGN1cnJlbnRfYnVmZmVyKQ0KIAl7DQoN Cj09PSBtb2RpZmllZCBmaWxlICdzcmMvdGV4dHByb3AuYycNCi0tLSBzcmMvdGV4dHByb3Au YwkyMDEyLTA4LTE3IDIxOjEyOjExICswMDAwDQorKysgc3JjL3RleHRwcm9wLmMJMjAxMi0w OC0yNSAxMzowNTo1MyArMDAwMA0KQEAgLTU4NCw3ICs1ODQsNyBAQA0KICAgaWYgKE5JTFAg KG9iamVjdCkpDQogICAgIFhTRVRCVUZGRVIgKG9iamVjdCwgY3VycmVudF9idWZmZXIpOw0K IA0KLSAgaWYgKFdJTkRPV1AgKG9iamVjdCkpDQorICBpZiAoV0lORE9XX0xJVkVfUCAob2Jq ZWN0KSkNCiAgICAgew0KICAgICAgIHcgPSBYV0lORE9XIChvYmplY3QpOw0KICAgICAgIG9i amVjdCA9IHctPmJ1ZmZlcjsNCg0KPT09IG1vZGlmaWVkIGZpbGUgJ3NyYy93MzJpbmV2dC5j Jw0KLS0tIHNyYy93MzJpbmV2dC5jCTIwMTItMDctMzAgMTc6MDc6MzMgKzAwMDANCisrKyBz cmMvdzMyaW5ldnQuYwkyMDEyLTA4LTI1IDEzOjA2OjIwICswMDAwDQpAQCAtNjUwLDcgKzY1 MCw3IEBADQogCQkgc2VsZWN0ZWQgbm93LCBhbmQgdGhlIGxhc3QgbW91c2UgbW92ZW1lbnQg ZXZlbnQgd2FzDQogCQkgbm90IGluIGl0LiAgQSBtaW5pYnVmZmVyIHdpbmRvdyB3aWxsIGJl IHNlbGVjdGVkIGlmZg0KIAkJIGl0IGlzIGFjdGl2ZS4gICovDQotCSAgICAgIGlmIChXSU5E T1dQIChtb3VzZV93aW5kb3cpDQorCSAgICAgIGlmIChXSU5ET1dfTElWRV9QIChtb3VzZV93 aW5kb3cpDQogCQkgICYmICFFUSAobW91c2Vfd2luZG93LCBsYXN0X21vdXNlX3dpbmRvdykN CiAJCSAgJiYgIUVRIChtb3VzZV93aW5kb3csIHNlbGVjdGVkX3dpbmRvdykpDQogCQl7DQoN Cj09PSBtb2RpZmllZCBmaWxlICdzcmMvdzMydGVybS5jJw0KLS0tIHNyYy93MzJ0ZXJtLmMJ MjAxMi0wOC0xOCAwMTo0Mjo1MiArMDAwMA0KKysrIHNyYy93MzJ0ZXJtLmMJMjAxMi0wOC0y NSAxMzoxMDowMiArMDAwMA0KQEAgLTM5MjcsNyArMzkyNyw3IEBADQogdzMyX3Njcm9sbF9i YXJfaGFuZGxlX2NsaWNrIChzdHJ1Y3Qgc2Nyb2xsX2JhciAqYmFyLCBXMzJNc2cgKm1zZywN CiAJCQkgICAgIHN0cnVjdCBpbnB1dF9ldmVudCAqZW1hY3NfZXZlbnQpDQogew0KLSAgaWYg KCEgV0lORE9XUCAoYmFyLT53aW5kb3cpKQ0KKyAgaWYgKCEgV0lORE9XX0xJVkVfUCAoYmFy LT53aW5kb3cpKQ0KICAgICBhYm9ydCAoKTsNCiANCiAgIGVtYWNzX2V2ZW50LT5raW5kID0g U0NST0xMX0JBUl9DTElDS19FVkVOVDsNCkBAIC00NDIwLDcgKzQ0MjAsNyBAQA0KIAkJICAg ICBzZWxlY3RlZCBub3cgYW5kIGxhc3QgbW91c2UgbW92ZW1lbnQgZXZlbnQgd2FzDQogCQkg ICAgIG5vdCBpbiBpdC4gIE1pbmlidWZmZXIgd2luZG93IHdpbGwgYmUgc2VsZWN0ZWQNCiAJ CSAgICAgb25seSB3aGVuIGl0IGlzIGFjdGl2ZS4gICovDQotCQkgIGlmIChXSU5ET1dQICh3 aW5kb3cpDQorCQkgIGlmIChXSU5ET1dfTElWRV9QICh3aW5kb3cpDQogCQkgICAgICAmJiAh RVEgKHdpbmRvdywgbGFzdF93aW5kb3cpDQogCQkgICAgICAmJiAhRVEgKHdpbmRvdywgc2Vs ZWN0ZWRfd2luZG93KQ0KIAkJICAgICAgLyogRm9yIGNsaWNrLXRvLWZvY3VzIHdpbmRvdyBt YW5hZ2Vycw0KDQo9PT0gbW9kaWZpZWQgZmlsZSAnc3JjL3dpbmRvdy5jJw0KLS0tIHNyYy93 aW5kb3cuYwkyMDEyLTA4LTIxIDA5OjI3OjA3ICswMDAwDQorKysgc3JjL3dpbmRvdy5jCTIw MTItMDgtMjUgMTI6NTI6NDIgKzAwMDANCkBAIC0xOTY5LDcgKzE5NjksNyBAQA0KICAgICAg U28gZG9uJ3QgY2xvYmJlciBwb2ludCBpbiB0aGF0IGJ1ZmZlci4gICovDQogICBpZiAoISBF USAoYnVmLCBYV0lORE9XIChzZWxlY3RlZF93aW5kb3cpLT5idWZmZXIpDQogICAgICAgLyog VGhpcyBsaW5lIGhlbHBzIHRvIGZpeCBIb3JzbGV5J3MgdGVzdGJ1Zy5lbCBidWcuICAqLw0K LSAgICAgICYmICEoV0lORE9XUCAoQlZBUiAoYiwgbGFzdF9zZWxlY3RlZF93aW5kb3cpKQ0K KyAgICAgICYmICEoV0lORE9XX0xJVkVfUCAoQlZBUiAoYiwgbGFzdF9zZWxlY3RlZF93aW5k b3cpKQ0KIAkgICAmJiB3ICE9IFhXSU5ET1cgKEJWQVIgKGIsIGxhc3Rfc2VsZWN0ZWRfd2lu ZG93KSkNCiAJICAgJiYgRVEgKGJ1ZiwgWFdJTkRPVyAoQlZBUiAoYiwgbGFzdF9zZWxlY3Rl ZF93aW5kb3cpKS0+YnVmZmVyKSkpDQogICAgIHRlbXBfc2V0X3BvaW50X2JvdGggKGIsDQpA QCAtMTk4MCw3ICsxOTgwLDcgQEANCiAJCQkJCSBtYXJrZXJfYnl0ZV9wb3NpdGlvbiAody0+ cG9pbnRtKSwNCiAJCQkJCSBCVUZfWlZfQllURSAoYikpKTsNCiANCi0gIGlmIChXSU5ET1dQ IChCVkFSIChiLCBsYXN0X3NlbGVjdGVkX3dpbmRvdykpDQorICBpZiAoV0lORE9XX0xJVkVf UCAoQlZBUiAoYiwgbGFzdF9zZWxlY3RlZF93aW5kb3cpKQ0KICAgICAgICYmIHcgPT0gWFdJ TkRPVyAoQlZBUiAoYiwgbGFzdF9zZWxlY3RlZF93aW5kb3cpKSkNCiAgICAgYnNldF9sYXN0 X3NlbGVjdGVkX3dpbmRvdyAoYiwgUW5pbCk7DQogfQ0KQEAgLTIyMDUsNyArMjIwNSw3IEBA DQogICAgIGNhbmRpZGF0ZV9wID0gMDsNCiAgIGVsc2UgaWYgKE1JTklfV0lORE9XX1AgKHcp DQogICAgICAgICAgICAmJiAoRVEgKG1pbmlidWYsIFFsYW1iZGEpDQotCSAgICAgICB8fCAo V0lORE9XUCAobWluaWJ1ZikgJiYgIUVRIChtaW5pYnVmLCB3aW5kb3cpKSkpDQorCSAgICAg ICB8fCAoV0lORE9XX0xJVkVfUCAobWluaWJ1ZikgJiYgIUVRIChtaW5pYnVmLCB3aW5kb3cp KSkpDQogICAgIHsNCiAgICAgICAvKiBJZiBNSU5JQlVGIGlzIGBsYW1iZGEnIGRvbid0IGNv bnNpZGVyIGFueSBtaW5pLXdpbmRvd3MuDQogICAgICAgICAgSWYgaXQgaXMgYSB3aW5kb3cs IGNvbnNpZGVyIG9ubHkgdGhhdCBvbmUuICAqLw0KQEAgLTIyMTUsNyArMjIxNSw3IEBADQog ICAgIGNhbmRpZGF0ZV9wID0gMTsNCiAgIGVsc2UgaWYgKE5JTFAgKGFsbF9mcmFtZXMpKQ0K ICAgICB7DQotICAgICAgZWFzc2VydCAoV0lORE9XUCAob3dpbmRvdykpOw0KKyAgICAgIGVh c3NlcnQgKFdJTkRPV19MSVZFX1AgKG93aW5kb3cpKTsNCiAgICAgICBjYW5kaWRhdGVfcCA9 IEVRICh3LT5mcmFtZSwgWFdJTkRPVyAob3dpbmRvdyktPmZyYW1lKTsNCiAgICAgfQ0KICAg ZWxzZSBpZiAoRVEgKGFsbF9mcmFtZXMsIFF2aXNpYmxlKSkNCkBAIC0yMjQ0LDcgKzIyNDQs NyBAQA0KIAkmJiAoRlJBTUVfVEVSTUlOQUwgKFhGUkFNRSAody0+ZnJhbWUpKQ0KIAkgICAg PT0gRlJBTUVfVEVSTUlOQUwgKFhGUkFNRSAoc2VsZWN0ZWRfZnJhbWUpKSk7DQogICAgIH0N Ci0gIGVsc2UgaWYgKFdJTkRPV1AgKGFsbF9mcmFtZXMpKQ0KKyAgZWxzZSBpZiAoV0lORE9X X0xJVkVfUCAoYWxsX2ZyYW1lcykpDQogICAgIGNhbmRpZGF0ZV9wID0gKEVRIChGUkFNRV9N SU5JQlVGX1dJTkRPVyAoZiksIGFsbF9mcmFtZXMpDQogCQkgICB8fCBFUSAoWFdJTkRPVyAo YWxsX2ZyYW1lcyktPmZyYW1lLCB3LT5mcmFtZSkNCiAJCSAgIHx8IEVRIChYV0lORE9XIChh bGxfZnJhbWVzKS0+ZnJhbWUsIEZSQU1FX0ZPQ1VTX0ZSQU1FIChmKSkpOw0KQEAgLTIzNDgs NyArMjM0OCw3IEBADQogCXsNCiAJICBpZiAoRVEgKFhDQVIgKGxpc3QpLCB3aW5kb3cpKQ0K IAkgICAgew0KLQkgICAgICBpZiAoV0lORE9XUCAoY2FuZGlkYXRlKSkNCisJICAgICAgaWYg KFdJTkRPV19MSVZFX1AgKGNhbmRpZGF0ZSkpDQogCQlicmVhazsNCiAJICAgIH0NCiAJICBl bHNlIGlmIChjYW5kaWRhdGVfd2luZG93X3AgKFhDQVIgKGxpc3QpLCB3aW5kb3csIG1pbmli dWYsDQpAQCAtMjM1Niw3ICsyMzU2LDcgQEANCiAJICAgIGNhbmRpZGF0ZSA9IFhDQVIgKGxp c3QpOw0KIAl9DQogDQotICAgICAgaWYgKFdJTkRPV1AgKGNhbmRpZGF0ZSkpDQorICAgICAg aWYgKFdJTkRPV19MSVZFX1AgKGNhbmRpZGF0ZSkpDQogCXdpbmRvdyA9IGNhbmRpZGF0ZTsN CiAgICAgfQ0KIA0KQEAgLTI1ODAsNyArMjU4MCw3IEBADQogICAgICBvciBRdCBvdGhlcndp c2UuICAqLw0KIA0KICAgLyogUGljayBhIHdpbmRvdyB0byBzdGFydCB3aXRoLiAgKi8NCi0g IGlmIChXSU5ET1dQIChvYmopKQ0KKyAgaWYgKFdJTkRPV19MSVZFX1AgKG9iaikpDQogICAg IHdpbmRvdyA9IG9iajsNCiAgIGVsc2UgaWYgKGYpDQogICAgIHdpbmRvdyA9IEZSQU1FX1NF TEVDVEVEX1dJTkRPVyAoZik7DQpAQCAtMzMyMSw3ICszMzIxLDcgQEANCiAgICAgICByZXR1 cm4gUXQ7DQogICAgIH0NCiANCi0gIGlmIChXSU5ET1dQIChvYmplY3QpKQ0KKyAgaWYgKFdJ TkRPV19MSVZFX1AgKG9iamVjdCkpDQogICAgIHsNCiAgICAgICBzdHJ1Y3Qgd2luZG93ICp3 ID0gWFdJTkRPVyAob2JqZWN0KTsNCiAgICAgICBtYXJrX3dpbmRvd19kaXNwbGF5X2FjY3Vy YXRlIChvYmplY3QsIDApOw0KQEAgLTU1NjIsNyArNTU2Miw3IEBADQogCSAgIHRoZSBjdXJy ZW50LXNlbGVjdGVkLXdpbmRvdy4gIFNvIHdlIGhhdmUgdG8gYmUgY2FyZWZ1bCB3aGljaA0K IAkgICBwb2ludCBvZiB0aGUgY3VycmVudC1idWZmZXIgd2UgY29weSBpbnRvIG9sZF9wb2lu dC4gICovDQogCWlmIChFUSAoWFdJTkRPVyAoZGF0YS0+Y3VycmVudF93aW5kb3cpLT5idWZm ZXIsIG5ld19jdXJyZW50X2J1ZmZlcikNCi0JICAgICYmIFdJTkRPV1AgKHNlbGVjdGVkX3dp bmRvdykNCisJICAgICYmIFdJTkRPV19MSVZFX1AgKHNlbGVjdGVkX3dpbmRvdykNCiAJICAg ICYmIEVRIChYV0lORE9XIChzZWxlY3RlZF93aW5kb3cpLT5idWZmZXIsIG5ld19jdXJyZW50 X2J1ZmZlcikNCiAJICAgICYmICFFUSAoc2VsZWN0ZWRfd2luZG93LCBkYXRhLT5jdXJyZW50 X3dpbmRvdykpDQogCSAgb2xkX3BvaW50ID0gWE1BUktFUiAoWFdJTkRPVyAoZGF0YS0+Y3Vy cmVudF93aW5kb3cpLT5wb2ludG0pLT5jaGFycG9zOw0KQEAgLTY0OTUsNyArNjQ5NSw3IEBA DQogCQl2b2lkICp1c2VyX2RhdGEpDQogew0KICAgLyogZGVsZXRlX2ZyYW1lIG1heSBzZXQg RlJBTUVfUk9PVF9XSU5ET1cgKGYpIHRvIFFuaWwuICAqLw0KLSAgaWYgKFdJTkRPV1AgKEZS QU1FX1JPT1RfV0lORE9XIChmKSkpDQorICBpZiAoV0lORE9XX1ZBTElEX1AgKEZSQU1FX1JP T1RfV0lORE9XIChmKSkpDQogICAgIGZvcmVhY2hfd2luZG93XzEgKFhXSU5ET1cgKEZSQU1F X1JPT1RfV0lORE9XIChmKSksIGZuLCB1c2VyX2RhdGEpOw0KIH0NCiANCkBAIC02NTM0LDcg KzY1MzQsNyBAQA0KIGZyZWV6ZV93aW5kb3dfc3RhcnQgKHN0cnVjdCB3aW5kb3cgKncsIHZv aWQgKmZyZWV6ZV9wKQ0KIHsNCiAgIGlmIChNSU5JX1dJTkRPV19QICh3KQ0KLSAgICAgIHx8 IChXSU5ET1dQIChzZWxlY3RlZF93aW5kb3cpIC8qIENhbiBiZSBuaWwgaW4gY29ybmVyIGNh c2VzLiAgKi8NCisgICAgICB8fCAoV0lORE9XX0xJVkVfUCAoc2VsZWN0ZWRfd2luZG93KSAv KiBDYW4gYmUgbmlsIGluIGNvcm5lciBjYXNlcy4gICovDQogICAgICAgICAgJiYgKHcgPT0g WFdJTkRPVyAoc2VsZWN0ZWRfd2luZG93KQ0KICAgICAgICAgICAgICB8fCAoTUlOSV9XSU5E T1dfUCAoWFdJTkRPVyAoc2VsZWN0ZWRfd2luZG93KSkNCiAgICAgICAgICAgICAgICAgICYm ICEgTklMUCAoVm1pbmlidWZfc2Nyb2xsX3dpbmRvdykNCg0KPT09IG1vZGlmaWVkIGZpbGUg J3NyYy94ZGlzcC5jJw0KLS0tIHNyYy94ZGlzcC5jCTIwMTItMDgtMjEgMjM6Mzk6NTYgKzAw MDANCisrKyBzcmMveGRpc3AuYwkyMDEyLTA4LTI1IDEzOjE2OjE2ICswMDAwDQpAQCAtMjcx NCw3ICsyNzE0LDcgQEANCiAJICAvKiBPciBzaG93IHRoZSByZWdpb24gaWYgd2UgYXJlIGlu IHRoZSBtaW5pLWJ1ZmZlciBhbmQgVyBpcw0KIAkgICAgIHRoZSB3aW5kb3cgdGhlIG1pbmkt YnVmZmVyIHJlZmVycyB0by4gICovDQogCSAgfHwgKE1JTklfV0lORE9XX1AgKFhXSU5ET1cg KHNlbGVjdGVkX3dpbmRvdykpDQotCSAgICAgICYmIFdJTkRPV1AgKG1pbmlidWZfc2VsZWN0 ZWRfd2luZG93KQ0KKwkgICAgICAmJiBXSU5ET1dfTElWRV9QIChtaW5pYnVmX3NlbGVjdGVk X3dpbmRvdykNCiAJICAgICAgJiYgdyA9PSBYV0lORE9XIChtaW5pYnVmX3NlbGVjdGVkX3dp bmRvdykpKSkNCiAgICAgew0KICAgICAgIHB0cmRpZmZfdCBtYXJrcG9zID0gbWFya2VyX3Bv c2l0aW9uIChCVkFSIChjdXJyZW50X2J1ZmZlciwgbWFyaykpOw0KQEAgLTEwMDgyLDcgKzEw MDgyLDcgQEANCiAgIFZkZWFjdGl2YXRlX21hcmsgPSBBUkVGICh2ZWN0b3IsIDEpOw0KICAg d2luZG93c19vcl9idWZmZXJzX2NoYW5nZWQgPSBYRkFTVElOVCAoQVJFRiAodmVjdG9yLCAy KSk7DQogDQotICBpZiAoV0lORE9XUCAoQVJFRiAodmVjdG9yLCAzKSkpDQorICBpZiAoV0lO RE9XX0xJVkVfUCAoQVJFRiAodmVjdG9yLCAzKSkpDQogICAgIHsNCiAgICAgICBzdHJ1Y3Qg d2luZG93ICp3Ow0KICAgICAgIExpc3BfT2JqZWN0IGJ1ZmZlciwgY2hhcnBvcywgYnl0ZXBv czsNCkBAIC0xMDI1MSw3ICsxMDI1MSw3IEBADQogcmVzaXplX2VjaG9fYXJlYV9leGFjdGx5 ICh2b2lkKQ0KIHsNCiAgIGlmIChCVUZGRVJQIChlY2hvX2FyZWFfYnVmZmVyWzBdKQ0KLSAg ICAgICYmIFdJTkRPV1AgKGVjaG9fYXJlYV93aW5kb3cpKQ0KKyAgICAgICYmIFdJTkRPV19M SVZFX1AgKGVjaG9fYXJlYV93aW5kb3cpKQ0KICAgICB7DQogICAgICAgc3RydWN0IHdpbmRv dyAqdyA9IFhXSU5ET1cgKGVjaG9fYXJlYV93aW5kb3cpOw0KICAgICAgIGludCByZXNpemVk X3A7DQpAQCAtMTMwNTcsNyArMTMwNTcsOCBAQA0KIA0KICAgLyogZG9fcGVuZGluZ193aW5k b3dfY2hhbmdlIGNvdWxkIGNoYW5nZSB0aGUgc2VsZWN0ZWRfd2luZG93IGR1ZSB0bw0KICAg ICAgZnJhbWUgcmVzaXppbmcgd2hpY2ggbWFrZXMgdGhlIHNlbGVjdGVkIHdpbmRvdyB0b28g c21hbGwuICAqLw0KLSAgaWYgKFdJTkRPV1AgKHNlbGVjdGVkX3dpbmRvdykgJiYgKHcgPSBY V0lORE9XIChzZWxlY3RlZF93aW5kb3cpKSAhPSBzdykNCisgIGlmIChXSU5ET1dfTElWRV9Q IChzZWxlY3RlZF93aW5kb3cpDQorICAgICAgJiYgKHcgPSBYV0lORE9XIChzZWxlY3RlZF93 aW5kb3cpKSAhPSBzdykNCiAgICAgew0KICAgICAgIHN3ID0gdzsNCiAgICAgICByZWNvbnNp ZGVyX2NsaXBfY2hhbmdlcyAodywgY3VycmVudF9idWZmZXIpOw0KQEAgLTEzMzM2LDcgKzEz MzM3LDcgQEANCiAJICAgIHsNCiAJICAgICAgZG9fcGVuZGluZ193aW5kb3dfY2hhbmdlICgx KTsNCiAJICAgICAgLyogSWYgc2VsZWN0ZWRfd2luZG93IGNoYW5nZWQsIHJlZGlzcGxheSBh Z2Fpbi4gICovDQotCSAgICAgIGlmIChXSU5ET1dQIChzZWxlY3RlZF93aW5kb3cpDQorCSAg ICAgIGlmIChXSU5ET1dfTElWRV9QIChzZWxlY3RlZF93aW5kb3cpDQogCQkgICYmICh3ID0g WFdJTkRPVyAoc2VsZWN0ZWRfd2luZG93KSkgIT0gc3cpDQogCQlnb3RvIHJldHJ5Ow0KIA0K QEAgLTEzNjQ3LDcgKzEzNjQ4LDggQEANCiAgIC8qIElmIHdlIGp1c3QgZGlkIGEgcGVuZGlu ZyBzaXplIGNoYW5nZSwgb3IgaGF2ZSBhZGRpdGlvbmFsDQogICAgICB2aXNpYmxlIGZyYW1l cywgb3Igc2VsZWN0ZWRfd2luZG93IGNoYW5nZWQsIHJlZGlzcGxheSBhZ2Fpbi4gICovDQog ICBpZiAoKHdpbmRvd3Nfb3JfYnVmZmVyc19jaGFuZ2VkICYmICFwZW5kaW5nKQ0KLSAgICAg IHx8IChXSU5ET1dQIChzZWxlY3RlZF93aW5kb3cpICYmICh3ID0gWFdJTkRPVyAoc2VsZWN0 ZWRfd2luZG93KSkgIT0gc3cpKQ0KKyAgICAgIHx8IChXSU5ET1dfTElWRV9QIChzZWxlY3Rl ZF93aW5kb3cpDQorCSAgJiYgKHcgPSBYV0lORE9XIChzZWxlY3RlZF93aW5kb3cpKSAhPSBz dykpDQogICAgIGdvdG8gcmV0cnk7DQogDQogICAvKiBDbGVhciB0aGUgZmFjZSBhbmQgaW1h Z2UgY2FjaGVzLg0KQEAgLTI2MzU4LDcgKzI2MzYwLDcgQEANCiAgIE1vdXNlX0hMSW5mbyAq aGxpbmZvID0gTU9VU0VfSExfSU5GTyAoWEZSQU1FICh3LT5mcmFtZSkpOw0KIA0KICAgLyog UXVpY2tseSByZXNvbHZlIHRoZSBlYXN5IGNhc2VzLiAgKi8NCi0gIGlmICghKFdJTkRPV1Ag KGhsaW5mby0+bW91c2VfZmFjZV93aW5kb3cpDQorICBpZiAoIShXSU5ET1dfTElWRV9QICho bGluZm8tPm1vdXNlX2ZhY2Vfd2luZG93KQ0KIAkmJiBYV0lORE9XIChobGluZm8tPm1vdXNl X2ZhY2Vfd2luZG93KSA9PSB3KSkNCiAgICAgcmV0dXJuIDA7DQogICBpZiAodnBvcyA8IGhs aW5mby0+bW91c2VfZmFjZV9iZWdfcm93DQpAQCAtMjc2NjAsNyArMjc2NjIsNyBAQA0KICAg ICBjbGVhcl9tb3VzZV9mYWNlIChobGluZm8pOw0KIA0KICAgLyogTm90IG9uIGEgd2luZG93 IC0+IHJldHVybi4gICovDQotICBpZiAoIVdJTkRPV1AgKHdpbmRvdykpDQorICBpZiAoIVdJ TkRPV19MSVZFX1AgKHdpbmRvdykpDQogICAgIHJldHVybjsNCiANCiAgIC8qIFJlc2V0IGhl bHBfZWNob19zdHJpbmcuIEl0IHdpbGwgZ2V0IHJlY29tcHV0ZWQgYmVsb3cuICAqLw0KDQo9 PT0gbW9kaWZpZWQgZmlsZSAnc3JjL3hmYWNlcy5jJw0KLS0tIHNyYy94ZmFjZXMuYwkyMDEy LTA4LTIxIDEwOjIxOjA0ICswMDAwDQorKysgc3JjL3hmYWNlcy5jCTIwMTItMDgtMjUgMTM6 MDk6NTggKzAwMDANCkBAIC00MzUwLDcgKzQzNTAsNyBAQA0KIAkgbWF0cmljZXMgYXMgaW52 YWxpZCBiZWNhdXNlIHRoZXkgd2lsbCByZWZlcmVuY2UgZmFjZXMgZnJlZWQNCiAJIGFib3Zl LiAgVGhpcyBmdW5jdGlvbiBpcyBhbHNvIGNhbGxlZCB3aGVuIGEgZnJhbWUgaXMNCiAJIGRl c3Ryb3llZC4gIEluIHRoaXMgY2FzZSwgdGhlIHJvb3Qgd2luZG93IG9mIEYgaXMgbmlsLiAg Ki8NCi0gICAgICBpZiAoV0lORE9XUCAoZi0+cm9vdF93aW5kb3cpKQ0KKyAgICAgIGlmIChX SU5ET1dfVkFMSURfUCAoZi0+cm9vdF93aW5kb3cpKQ0KIAl7DQogCSAgY2xlYXJfY3VycmVu dF9tYXRyaWNlcyAoZik7DQogCSAgKyt3aW5kb3dzX29yX2J1ZmZlcnNfY2hhbmdlZDsNCg0K PT09IG1vZGlmaWVkIGZpbGUgJ3NyYy94dGVybS5jJw0KLS0tIHNyYy94dGVybS5jCTIwMTIt MDgtMTggMDE6NDI6NTIgKzAwMDANCisrKyBzcmMveHRlcm0uYwkyMDEyLTA4LTI1IDEzOjA5 OjUxICswMDAwDQpAQCAtNDIzNSw3ICs0MjM1LDcgQEANCiANCiAgIGlmIChzY3JvbGxfYmFy X3ANCiAgICAgICAmJiBzdHJjbXAgKGFjdGlvbl9uYW1lLCBlbmRfYWN0aW9uKSA9PSAwDQot ICAgICAgJiYgV0lORE9XUCAod2luZG93X2JlaW5nX3Njcm9sbGVkKSkNCisgICAgICAmJiBX SU5ET1dfTElWRV9QICh3aW5kb3dfYmVpbmdfc2Nyb2xsZWQpKQ0KICAgICB7DQogICAgICAg c3RydWN0IHdpbmRvdyAqdzsNCiANCkBAIC00NTEyLDcgKzQ1MTIsNyBAQA0KIHsNCiAgIHN0 cnVjdCBzY3JvbGxfYmFyICpiYXIgPSAoc3RydWN0IHNjcm9sbF9iYXIgKikgdXNlcl9kYXRh Ow0KICAgYmFyLT5kcmFnZ2luZyA9IFFuaWw7DQotICBpZiAoV0lORE9XUCAod2luZG93X2Jl aW5nX3Njcm9sbGVkKSkNCisgIGlmIChXSU5ET1dfTElWRV9QICh3aW5kb3dfYmVpbmdfc2Ny b2xsZWQpKQ0KICAgICB7DQogICAgICAgeF9zZW5kX3Njcm9sbF9iYXJfZXZlbnQgKHdpbmRv d19iZWluZ19zY3JvbGxlZCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Ny b2xsX2Jhcl9lbmRfc2Nyb2xsLCAwLCAwKTsNCkBAIC01NTU3LDcgKzU1NTcsNyBAQA0KIHN0 YXRpYyB2b2lkDQogeF9zY3JvbGxfYmFyX2hhbmRsZV9jbGljayAoc3RydWN0IHNjcm9sbF9i YXIgKmJhciwgWEV2ZW50ICpldmVudCwgc3RydWN0IGlucHV0X2V2ZW50ICplbWFjc19ldmVu dCkNCiB7DQotICBpZiAoISBXSU5ET1dQIChiYXItPndpbmRvdykpDQorICBpZiAoISBXSU5E T1dfTElWRV9QIChiYXItPndpbmRvdykpDQogICAgIGFib3J0ICgpOw0KIA0KICAgZW1hY3Nf ZXZlbnQtPmtpbmQgPSBTQ1JPTExfQkFSX0NMSUNLX0VWRU5UOw0KQEAgLTY3ODIsNyArNjc4 Miw3IEBADQogICAgICAgICAgICAgICAgIC8qIFdpbmRvdyB3aWxsIGJlIHNlbGVjdGVkIG9u bHkgd2hlbiBpdCBpcyBub3Qgc2VsZWN0ZWQgbm93IGFuZA0KICAgICAgICAgICAgICAgICAg ICBsYXN0IG1vdXNlIG1vdmVtZW50IGV2ZW50IHdhcyBub3QgaW4gaXQuICBNaW5pYnVmZmVy IHdpbmRvdw0KICAgICAgICAgICAgICAgICAgICB3aWxsIGJlIHNlbGVjdGVkIG9ubHkgd2hl biBpdCBpcyBhY3RpdmUuICAqLw0KLSAgICAgICAgICAgICAgICBpZiAoV0lORE9XUCAod2lu ZG93KQ0KKyAgICAgICAgICAgICAgICBpZiAoV0lORE9XX0xJVkVfUCAod2luZG93KQ0KICAg ICAgICAgICAgICAgICAgICAgJiYgIUVRICh3aW5kb3csIGxhc3Rfd2luZG93KQ0KIAkJICAg ICYmICFFUSAod2luZG93LCBzZWxlY3RlZF93aW5kb3cpDQogCQkgICAgLyogRm9yIGNsaWNr LXRvLWZvY3VzIHdpbmRvdyBtYW5hZ2Vycw0KDQoNCg== --------------020306050505020509050702--