From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Vivek Dasmohapatra Newsgroups: gmane.emacs.devel Subject: Re: hexl mode update (variable word size for hexl mode) Date: Wed, 18 Nov 2009 00:52:13 +0000 (GMT) Message-ID: References: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="8323328-391342176-1258505555=:9073" X-Trace: ger.gmane.org 1258505577 6722 80.91.229.12 (18 Nov 2009 00:52:57 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 18 Nov 2009 00:52:57 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Nov 18 01:52:50 2009 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1NAYmu-0000ao-Oz for ged-emacs-devel@m.gmane.org; Wed, 18 Nov 2009 01:52:49 +0100 Original-Received: from localhost ([127.0.0.1]:42441 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NAYmu-0000qg-4j for ged-emacs-devel@m.gmane.org; Tue, 17 Nov 2009 19:52:48 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NAYmo-0000qB-Or for emacs-devel@gnu.org; Tue, 17 Nov 2009 19:52:42 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NAYmn-0000py-RF for emacs-devel@gnu.org; Tue, 17 Nov 2009 19:52:42 -0500 Original-Received: from [199.232.76.173] (port=47041 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NAYmn-0000pv-Ou for emacs-devel@gnu.org; Tue, 17 Nov 2009 19:52:41 -0500 Original-Received: from flounder.pepperfish.net ([87.237.62.181]:58264) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1NAYmm-000770-U5 for emacs-devel@gnu.org; Tue, 17 Nov 2009 19:52:41 -0500 Original-Received: from [213.165.225.94] (helo=[192.168.0.5]) by flounder.pepperfish.net with esmtpsa (Exim 4.69 #1 (Debian)) id 1NAYmQ-0008MB-8h for ; Wed, 18 Nov 2009 00:52:18 +0000 X-X-Sender: vivek@localhost In-Reply-To: User-Agent: Alpine 1.10 (DEB 962 2008-03-14) X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 3) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:117137 Archived-At: This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --8323328-391342176-1258505555=:9073 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed There was no response to this last time, so I'm re-posting it: The user can select the "word size" hexl will use with defcustom (it currently screws up if you change this size behind hexl's back, ie after hexlifying a buffer but before unhexlifying it: this could be fixed by saving the word size used in a a local variable in the hexl buffer, let me know if you think this is important enough to add). Other than that, the hexl code doesn't seem to have changed since I last updated the patch from emacs 22 to emacs 23. The word-size could also be chosen at invocation time via a prefix arg, but I have not done this yet either: Again, let me know if you think it's worth adding. I originally prepared this patch for a friend who was debugging something and needed other word sizes: Upon investigation I discovered that the hexl binary had support for the word sizes 8, 16, 32 and 64 bits but the hexl mode code only supported one of those - hence this patch. --8323328-391342176-1258505555=:9073 Content-Type: TEXT/x-diff; name=hexl.variable-word-size.2009-07-21.patch Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename=hexl.variable-word-size.2009-07-21.patch ZGlmZiAtLWdpdCBhL2xpc3AvaGV4bC5lbCBiL2xpc3AvaGV4bC5lbA0NCmlu ZGV4IDJjZGQ0NDkuLjBlZWJlNTUgMTAwNjQ0DQ0KLS0tIGEvbGlzcC9oZXhs LmVsDQ0KKysrIGIvbGlzcC9oZXhsLmVsDQ0KQEAgLTUxLDYgKzUxLDEzIEBA DQ0KICAgIkVkaXQgYSBmaWxlIGluIGEgaGV4IGR1bXAgZm9ybWF0IHVzaW5n IHRoZSBoZXhsIGZpbHRlci4iDQ0KICAgOmdyb3VwICdkYXRhKQ0NCiANDQor KGRlZmN1c3RvbSBoZXhsLWJpdHMgMTYNDQorICAiVGhlIGJpdCBncm91cGlu ZyB0aGF0IGhleGwgd2lsbCB1c2UiDQ0KKyAgOnR5cGUgJyhjaG9pY2UgKGNv bnN0IDggKQ0NCisgICAgICAgICAgICAgICAgIChjb25zdCAxNikNDQorICAg ICAgICAgICAgICAgICAoY29uc3QgMzIpDQ0KKyAgICAgICAgICAgICAgICAg KGNvbnN0IDY0KSkNDQorICA6Z3JvdXAgJ2hleGwpDQ0KIA0NCiAoZGVmY3Vz dG9tIGhleGwtcHJvZ3JhbSAiaGV4bCINDQogICAiVGhlIHByb2dyYW0gdGhh dCB3aWxsIGhleGxpZnkgYW5kIGRlaGV4bGlmeSBpdHMgc3RkaW4uDQ0KQEAg LTEzNSw2ICsxNDIsMTUgQEAgUXVvdGluZyBjYW5ub3QgYmUgdXNlZCwgc28g dGhlIGFyZ3VtZW50cyBjYW5ub3QgdGhlbXNlbHZlcyBjb250YWluIHNwYWNl cy4iDQ0KIA0NCiAocHV0ICdoZXhsLW1vZGUgJ21vZGUtY2xhc3MgJ3NwZWNp YWwpDQ0KIA0NCis7OyAxMCBjaGFycyBmb3IgdGhlICJhZGRyZXNzOiAiDQ0K Kzs7IDMyIGNoYXJzIGZvciB0aGUgaGV4bGlmaWVkIGJ5dGVzDQ0KKzs7IDEg Y2hhciBmb3IgdGhlIHNwYWNlIA0NCis7OyAxNiBjaGFycyBmb3IgdGhlIGNo YXJhY3RlciBkaXNwbGF5DQ0KKzs7IFggY2hhcnMgZm9yIHRoZSBzcGFjZXMg KDEyOCBiaXRzIGRpdmlkZWQgYnkgdGhlIGhleGwtYml0cykNDQorOzsgMSBj aGFyIGZvciB0aGUgbmV3bGluZS4NDQorKGRlZnVuIGhleGwtbGluZS1kaXNw bGVuICgpDQ0KKyAgKCsgNjAgKC8gMTI4IChvciBoZXhsLWJpdHMgMTYpKSkp DQ0KKw0NCiA7OzsjIyNhdXRvbG9hZA0NCiAoZGVmdW4gaGV4bC1tb2RlICgm b3B0aW9uYWwgYXJnKQ0NCiAgICJcXDxoZXhsLW1vZGUtbWFwPkEgbW9kZSBm b3IgZWRpdGluZyBiaW5hcnkgZmlsZXMgaW4gaGV4IGR1bXAgZm9ybWF0Lg0N CkBAIC0yMTMsMjcgKzIyOSwzMyBAQCBZb3UgY2FuIHVzZSBcXFtoZXhsLWZp bmQtZmlsZV0gdG8gdmlzaXQgYSBmaWxlIGluIEhleGwgbW9kZS4NDQogICAo dW5sZXNzIChlcSBtYWpvci1tb2RlICdoZXhsLW1vZGUpDQ0KICAgICAobGV0 ICgobW9kaWZpZWQgKGJ1ZmZlci1tb2RpZmllZC1wKSkNDQogCSAgKGluaGli aXQtcmVhZC1vbmx5IHQpDQ0KLQkgIChvcmlnaW5hbC1wb2ludCAoLSAocG9p bnQpIChwb2ludC1taW4pKSkpDQ0KKwkgIChvcmlnaW5hbC1wb2ludCAoLSAo cG9pbnQpIChwb2ludC1taW4pKSkNDQorCSAgbWF4LWFkZHJlc3MpDQ0KICAg ICAgIChhbmQgKGVvYnApIChub3QgKGJvYnApKQ0NCiAJICAgKHNldHEgb3Jp Z2luYWwtcG9pbnQgKDEtIG9yaWdpbmFsLXBvaW50KSkpDQ0KLSAgICAgIDs7 IElmIGBoZXhsLW1vZGUnIGlzIGludm9rZWQgd2l0aCBhbiBhcmd1bWVudCB0 aGUgYnVmZmVyIGlzIGFzc3VtZWQgdG8NDQotICAgICAgOzsgYmUgaW4gaGV4 bCBmb3JtYXQuDQ0KLSAgICAgICh3aGVuIChtZW1xIGFyZyAnKDEgbmlsKSkN DQorICAgICAgKGlmIChub3QgKG1lbXEgYXJnICcoMSBuaWwpKSkNDQorCSAg OzsgaWYgbm8gYXJndW1lbnQgdGhlbiB3ZSBndWVzcyBhdCBoZXhsLW1heC1h ZGRyZXNzDQ0KKyAgICAgICAgICAoc2V0cSBtYXgtYWRkcmVzcyANDQorICAg ICAgICAgICAgICAgICgrICgqICgvICgxLSAoYnVmZmVyLXNpemUpKSAoaGV4 bC1saW5lLWRpc3BsZW4pKSAxNikgMTUpKQ0NCisgICAgICAgIChzZXRxIG1h eC1hZGRyZXNzICgxLSAoYnVmZmVyLXNpemUpKSkNDQogCTs7IElmIHRoZSBi dWZmZXIncyBFT0wgdHlwZSBpcyAtZG9zLCB3ZSBuZWVkIHRvIGFjY291bnQg Zm9yDQ0KIAk7OyBleHRyYSBDUiBjaGFyYWN0ZXJzIGFkZGVkIHdoZW4gaGV4 bGlmeS1idWZmZXIgd3JpdGVzIHRoZQ0NCiAJOzsgYnVmZmVyIHRvIGEgZmls ZS4NDQogICAgICAgICA7OyBGSVhNRTogVGhpcyBkb2Vzbid0IHRha2UgaW50 byBhY2NvdW50IG11bHRpYnl0ZSBjb2Rpbmcgc3lzdGVtcy4NDQogCSh3aGVu IChlcSAoY29kaW5nLXN5c3RlbS1lb2wtdHlwZSBidWZmZXItZmlsZS1jb2Rp bmctc3lzdGVtKSAxKQ0NCi0gICAgICAgICAgKHNldHEgb3JpZ2luYWwtcG9p bnQgKCsgKGNvdW50LWxpbmVzIChwb2ludC1taW4pIChwb2ludCkpDQ0KKyAg ICAgICAgICAoc2V0cSBtYXgtYWRkcmVzcyAoKyAoY291bnQtbGluZXMgKHBv aW50LW1pbikgKHBvaW50LW1heCkpDQ0KKwkJCSAgICAgICBtYXgtYWRkcmVz cykpDQ0KKwkgIDs7IEJ1dCBpZiB0aGVyZSdzIG5vIG5ld2xpbmUgYXQgdGhl IGxhc3QgbGluZSwgd2UgYXJlIG9mZiBieQ0NCisJICA7OyBvbmU7IGFkanVz dC4NDQorCSAgKG9yIChlcSAoY2hhci1iZWZvcmUgKHBvaW50LW1heCkpID9c bikNDQorCSAgICAgIChzZXRxIG1heC1hZGRyZXNzICgxLSBtYXgtYWRkcmVz cykpKQ0NCisJICAoc2V0cSBvcmlnaW5hbC1wb2ludCAoKyAoY291bnQtbGlu ZXMgKHBvaW50LW1pbikgKHBvaW50KSkNDQogCQkJCSAgb3JpZ2luYWwtcG9p bnQpKQ0NCiAJICAob3IgKGJvbHApIChzZXRxIG9yaWdpbmFsLXBvaW50ICgx LSBvcmlnaW5hbC1wb2ludCkpKSkNDQogICAgICAgICAoaGV4bGlmeS1idWZm ZXIpDQ0KICAgICAgICAgKHJlc3RvcmUtYnVmZmVyLW1vZGlmaWVkLXAgbW9k aWZpZWQpKQ0NCi0gICAgICAoc2V0IChtYWtlLWxvY2FsLXZhcmlhYmxlICdo ZXhsLW1heC1hZGRyZXNzKQ0NCi0gICAgICAgICAgIChsZXQqICgoZnVsbC1s aW5lcyAoLyAoYnVmZmVyLXNpemUpIDY4KSkNDQotICAgICAgICAgICAgICAg ICAgKGxhc3QtbGluZSAoJSAoYnVmZmVyLXNpemUpIDY4KSkNDQotICAgICAg ICAgICAgICAgICAgKGxhc3QtbGluZS1ieXRlcyAoJSBsYXN0LWxpbmUgNTIp KSkNDQotICAgICAgICAgICAgICgrIGxhc3QtbGluZS1ieXRlcyAoKiBmdWxs LWxpbmVzIDE2KSAtMSkpKQ0NCisgICAgICAobWFrZS1sb2NhbC12YXJpYWJs ZSAnaGV4bC1tYXgtYWRkcmVzcykNDQorICAgICAgKHNldHEgaGV4bC1tYXgt YWRkcmVzcyBtYXgtYWRkcmVzcykNDQogICAgICAgKGNvbmRpdGlvbi1jYXNl IG5pbA0NCiAJICAoaGV4bC1nb3RvLWFkZHJlc3Mgb3JpZ2luYWwtcG9pbnQp DQ0KIAkoZXJyb3IgbmlsKSkpDQ0KQEAgLTQzNiwxOSArNDU4LDIzIEBAIEFz ayB0aGUgdXNlciBmb3IgY29uZmlybWF0aW9uLiINDQogKGRlZnVuIGhleGwt Y3VycmVudC1hZGRyZXNzICgmb3B0aW9uYWwgdmFsaWRhdGUpDQ0KICAgIlJl dHVybiBjdXJyZW50IGhleGwtYWRkcmVzcy4iDQ0KICAgKGludGVyYWN0aXZl KQ0NCi0gIChsZXQgKChjdXJyZW50LWNvbHVtbiAoLSAoJSAoLSAocG9pbnQp IChwb2ludC1taW4pIC0xKSA2OCkgMTEpKQ0NCisgIChsZXQgKChjdXJyZW50 LWNvbHVtbiANDQorICAgICAgICAgKC0gKCUgKC0gKHBvaW50KSAocG9pbnQt bWluKSAtMSkgKGhleGwtbGluZS1kaXNwbGVuKSkgMTEpKQ0NCiAJKGhleGwt YWRkcmVzcyAwKSkNDQogICAgIChpZiAoPCBjdXJyZW50LWNvbHVtbiAwKQ0N CiAJKGlmIHZhbGlkYXRlDQ0KIAkgICAgKGVycm9yICJQb2ludCBpcyBub3Qg b24gYSBjaGFyYWN0ZXIgaW4gdGhlIGZpbGUiKQ0NCiAJICAoc2V0cSBjdXJy ZW50LWNvbHVtbiAwKSkpDQ0KICAgICAoc2V0cSBoZXhsLWFkZHJlc3MNDQot CSAgKCsgKCogKC8gKC0gKHBvaW50KSAocG9pbnQtbWluKSAtMSkgNjgpIDE2 KQ0NCi0JICAgICAoaWYgKD49IGN1cnJlbnQtY29sdW1uIDQxKQ0NCi0JCSAo LSBjdXJyZW50LWNvbHVtbiA0MSkNDQotCSAgICAgICAoLyAoLSBjdXJyZW50 LWNvbHVtbiAgKC8gY3VycmVudC1jb2x1bW4gNSkpIDIpKSkpDQ0KKwkgICgr ICgqICgvICgtIChwb2ludCkgKHBvaW50LW1pbikgLTEpIA0NCisgICAgICAg ICAgICAgICAgICAgKGhleGwtbGluZS1kaXNwbGVuKSkgMTYpDQ0KKwkgICAg IChpZiAoPj0gY3VycmVudC1jb2x1bW4gKC0gKGhleGwtYXNjaWktc3RhcnQt Y29sdW1uKSAxMCkpDQ0KKwkJICgtIGN1cnJlbnQtY29sdW1uICgtIChoZXhs LWFzY2lpLXN0YXJ0LWNvbHVtbikgMTApKQ0NCisgICAgICAgICAgICAgICAo LyAoLSBjdXJyZW50LWNvbHVtbiANDQorICAgICAgICAgICAgICAgICAgICAg KC8gY3VycmVudC1jb2x1bW4gKDErICgvIGhleGwtYml0cyA0KSkpKSAyKSAp KSApDQ0KICAgICAod2hlbiAoaW50ZXJhY3RpdmUtcCkNDQotICAgICAgKG1l c3NhZ2UgIkN1cnJlbnQgYWRkcmVzcyBpcyAlZC8weCUwOHgiIGhleGwtYWRk cmVzcyBoZXhsLWFkZHJlc3MpKQ0NCisgICAgICAobWVzc2FnZSAiQ3VycmVu dCBhZGRyZXNzIGlzIFtjb2x1bW46ICVkXSAlZC8weCUwOHgiIA0NCisgICAg ICAgICAgICAgICBjdXJyZW50LWNvbHVtbiBoZXhsLWFkZHJlc3MgaGV4bC1h ZGRyZXNzKSkNDQogICAgIGhleGwtYWRkcmVzcykpDQ0KIA0NCiAoZGVmdW4g aGV4bC1wcmludC1jdXJyZW50LXBvaW50LWluZm8gKCkNDQpAQCAtNDU3LDEw ICs0ODMsMTggQEAgVGhpcyBmdW5jdGlvbiBpcyBpbnRlbmRlZCB0byBiZSB1 c2VkIGFzIGVsZG9jIGNhbGxiYWNrLiINDQogICAobGV0ICgoYWRkciAoaGV4 bC1jdXJyZW50LWFkZHJlc3MpKSkNDQogICAgIChmb3JtYXQgIkN1cnJlbnQg YWRkcmVzcyBpcyAlZC8weCUwOHgiIGFkZHIgYWRkcikpKQ0NCiANDQorKGRl ZnVuIGhleGwtYXNjaWktc3RhcnQtY29sdW1uICgpIA0NCisgICJDb2x1bW4g YXQgd2hpY2ggdGhlIGFzY2lpIGRpc3BsYXkgc3RhcnRzLiINDQorICAoKyA0 MyAoLyAxMjggaGV4bC1iaXRzKSkpDQ0KKw0NCiAoZGVmdW4gaGV4bC1hZGRy ZXNzLXRvLW1hcmtlciAoYWRkcmVzcykNDQogICAiUmV0dXJuIGJ1ZmZlciBw b3NpdGlvbiBmb3IgQUREUkVTUy4iDQ0KICAgKGludGVyYWN0aXZlICJuQWRk cmVzczogIikNDQotICAoKyAoKiAoLyBhZGRyZXNzIDE2KSA2OCkgMTAgKHBv aW50LW1pbikgKC8gKCogKCUgYWRkcmVzcyAxNikgNSkgMikpKQ0NCisgIChs ZXQgKChOICgqICglIGFkZHJlc3MgMTYpIDIpKSkNDQorICAgICgrICgqICgv IGFkZHJlc3MgMTYpIChoZXhsLWxpbmUtZGlzcGxlbikpIDsgaGV4bCBsaW5l IG5vICogZGlzcGxheSBsZW5ndGgNDQorICAgICAgIDEwICAgICAgICAgICAg ICAgICAgICAgIDsgMTAgY2hhcnMgZm9yIHRoZSAiYWRkcmVzczogIiBwcmVm aXgNDQorICAgICAgIChwb2ludC1taW4pICAgICAgICAgICAgIDsgYmFzZSBv ZmZzZXQgKHBvaW50IHVzdWFsbHkgc3RhcnRzIGF0IDEsIG5vdCAwKQ0NCisg ICAgICAgKCsgTiAoLyBOICgvIGhleGwtYml0cyA0KSkpICkpICkgOyBjaGFy IG9mZnNldCBpbnRvIGhleGwgZGlzcGxheSBsaW5lDQ0KIA0NCiAoZGVmdW4g aGV4bC1nb3RvLWFkZHJlc3MgKGFkZHJlc3MpDQ0KICAgIkdvIHRvIGhleGwt bW9kZSAoZGVjaW1hbCkgYWRkcmVzcyBBRERSRVNTLg0NCkBAIC01MDUsNyAr NTM5LDcgQEAgU2lnbmFsIGVycm9yIGlmIEhFWC1BRERSRVNTIGlzIG91dCBv ZiByYW5nZS4iDQ0KICAgKGhleGwtZ290by1hZGRyZXNzICgtIChoZXhsLWN1 cnJlbnQtYWRkcmVzcykgYXJnKSkpDQ0KIA0NCiAoZGVmdW4gaGV4bC1mb3J3 YXJkLWNoYXIgKGFyZykNDQotICAiTW92ZSB0byByaWdodCBBUkcgYnl0ZXMg KGxlZnQgaWYgQVJHIG5lZ2F0aXZlKSBpbiBoZXhsLW1vZGUuIg0NCisgICJN b3ZlIHJpZ2h0IEFSRyBieXRlcyAobGVmdCBpZiBBUkcgbmVnYXRpdmUpIGlu IGhleGwtbW9kZS4iDQ0KICAgKGludGVyYWN0aXZlICJwIikNDQogICAoaGV4 bC1nb3RvLWFkZHJlc3MgKCsgKGhleGwtY3VycmVudC1hZGRyZXNzKSBhcmcp KSkNDQogDQ0KQEAgLTU0NCw3ICs1NzgsNyBAQCBTaWduYWwgZXJyb3IgaWYg SEVYLUFERFJFU1MgaXMgb3V0IG9mIHJhbmdlLiINDQogCQkgICAgICAgYWRk cmVzcykpKQ0NCiANDQogKGRlZnVuIGhleGwtZm9yd2FyZC1zaG9ydCAoYXJn KQ0NCi0gICJNb3ZlIHRvIHJpZ2h0IEFSRyBzaG9ydHMgKGxlZnQgaWYgQVJH IG5lZ2F0aXZlKSBpbiBoZXhsLW1vZGUuIg0NCisgICJNb3ZlIHJpZ2h0IEFS RyBzaG9ydHMgKGxlZnQgaWYgQVJHIG5lZ2F0aXZlKSBpbiBoZXhsLW1vZGUu Ig0NCiAgIChpbnRlcmFjdGl2ZSAicCIpDQ0KICAgKGhleGwtYmFja3dhcmQt c2hvcnQgKC0gYXJnKSkpDQ0KIA0NCkBAIC01ODMsNyArNjE3LDcgQEAgU2ln bmFsIGVycm9yIGlmIEhFWC1BRERSRVNTIGlzIG91dCBvZiByYW5nZS4iDQ0K IAkJICAgICAgIGFkZHJlc3MpKSkNDQogDQ0KIChkZWZ1biBoZXhsLWZvcndh cmQtd29yZCAoYXJnKQ0NCi0gICJNb3ZlIHRvIHJpZ2h0IEFSRyB3b3JkcyAo bGVmdCBpZiBBUkcgbmVnYXRpdmUpIGluIGhleGwtbW9kZS4iDQ0KKyAgIk1v dmUgcmlnaHQgQVJHIHdvcmRzIChsZWZ0IGlmIEFSRyBuZWdhdGl2ZSkgaW4g aGV4bC1tb2RlLiINDQogICAoaW50ZXJhY3RpdmUgInAiKQ0NCiAgIChoZXhs LWJhY2t3YXJkLXdvcmQgKC0gYXJnKSkpDQ0KIA0NCkBAIC02MzAsNyArNjY0 LDcgQEAgV2l0aCBwcmVmaXggYXJnIE4sIHB1dHMgcG9pbnQgTiBieXRlcyBv ZiB0aGUgd2F5IGZyb20gdGhlIHRydWUgYmVnaW5uaW5nLiINDQogKGRlZnVu IGhleGwtYmVnaW5uaW5nLW9mLWxpbmUgKCkNDQogICAiR290byBiZWdpbm5p bmcgb2YgbGluZSBpbiBoZXhsIG1vZGUuIg0NCiAgIChpbnRlcmFjdGl2ZSkN DQotICAoZ290by1jaGFyICgrICgqICgvIChwb2ludCkgNjgpIDY4KSAxMSkp KQ0NCisgIChnb3RvLWNoYXIgKCsgKCogKC8gKHBvaW50KSAoaGV4bC1saW5l LWRpc3BsZW4pKSAoaGV4bC1saW5lLWRpc3BsZW4pKSAxMSkpKQ0NCiANDQog KGRlZnVuIGhleGwtZW5kLW9mLWxpbmUgKCkNDQogICAiR290byBlbmQgb2Yg bGluZSBpbiBoZXhsIG1vZGUuIg0NCkBAIC02NzUsMTIgKzcwOSwxMiBAQCBJ ZiB0aGVyZSdzIG5vIGJ5dGUgYXQgdGhlIHRhcmdldCBhZGRyZXNzLCBtb3Zl IHRvIHRoZSBmaXJzdCBvciBsYXN0IGxpbmUuIg0NCiAgICAgKHJlY2VudGVy IDApKSkNDQogDQ0KIChkZWZ1biBoZXhsLWJlZ2lubmluZy1vZi0xay1wYWdl ICgpDQ0KLSAgIkdvIHRvIGJlZ2lubmluZyBvZiAxS0IgYm91bmRhcnkuIg0N CisgICJHbyB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBjdXJyZW50IDEgS2lC IGJsb2NrIg0NCiAgIChpbnRlcmFjdGl2ZSkNDQogICAoaGV4bC1nb3RvLWFk ZHJlc3MgKGxvZ2FuZCAoaGV4bC1jdXJyZW50LWFkZHJlc3MpIC0xMDI0KSkp DQ0KIA0NCiAoZGVmdW4gaGV4bC1lbmQtb2YtMWstcGFnZSAoKQ0NCi0gICJH byB0byBlbmQgb2YgMUtCIGJvdW5kYXJ5LiINDQorICAiR28gdG8gdGhlIGVu ZCBvZiB0aGUgY3VycmVudCAxIEtpQiBibG9jay4iDQ0KICAgKGludGVyYWN0 aXZlKQ0NCiAgIChoZXhsLWdvdG8tYWRkcmVzcyAobGV0ICgoYWRkcmVzcyAo bG9naW9yIChoZXhsLWN1cnJlbnQtYWRkcmVzcykgMTAyMykpKQ0NCiAJCSAg ICAgICAoaWYgKD4gYWRkcmVzcyBoZXhsLW1heC1hZGRyZXNzKQ0NCkBAIC03 MTAsNiArNzQ0LDE1IEBAIFlvdSBtYXkgYWxzbyB0eXBlIG9jdGFsIGRpZ2l0 cywgdG8gaW5zZXJ0IGEgY2hhcmFjdGVyIHdpdGggdGhhdCBjb2RlLiINDQog DQ0KIDswMDAwMDAwMDogMDAxMSAyMjMzIDQ0NTUgNjY3NyA4ODk5IGFhYmIg Y2NkZCBlZWZmICAwMTIzNDU2Nzg5QUJDREVGDQ0KIA0NCisoZGVmdW4gaGV4 bC1vcHRpb25zICgmb3B0aW9uYWwgdGVzdCkNDQorICAobGV0ICgob3B0cyAo b3IgdGVzdCBoZXhsLW9wdGlvbnMpKSkNDQorICAgICh3aGVuIChtZW1xIGhl eGwtYml0cyAnKDggMTYgMzIgNjQpKQ0NCisgICAgICAod2hlbiAoc3RyaW5n LW1hdGNoICJcXCguKlxcKS1ncm91cC1ieS1bMC05XSstYml0c1xcKC4qXFwp IiBvcHRzKQ0NCisgICAgICAgIChzZXRxIG9wdHMgKGNvbmNhdCAobWF0Y2gt c3RyaW5nIDEgb3B0cykgDQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg IChtYXRjaC1zdHJpbmcgMiBvcHRzKSkpICkgDQ0KKyAgICAgIChzZXRxIG9w dHMgKGZvcm1hdCAiJXMgLWdyb3VwLWJ5LSVkLWJpdHMgIiBvcHRzIGhleGwt Yml0cykpICkNDQorICAgIG9wdHMpKQ0NCisNDQogOzs7IyMjYXV0b2xvYWQN DQogKGRlZnVuIGhleGxpZnktYnVmZmVyICgpDQ0KICAgIkNvbnZlcnQgYSBi aW5hcnkgYnVmZmVyIHRvIGhleGwgZm9ybWF0Lg0NCkBAIC03MzIsNyArNzc1 LDcgQEAgVGhpcyBkaXNjYXJkcyB0aGUgYnVmZmVyJ3MgdW5kbyBpbmZvcm1h dGlvbi4iDQ0KICAgICAgICAgICAgKG1hcGNhciAobGFtYmRhIChzKQ0NCiAg ICAgICAgICAgICAgICAgICAgICAoaWYgKG5vdCAobXVsdGlieXRlLXN0cmlu Zy1wIHMpKSBzDQ0KICAgICAgICAgICAgICAgICAgICAgICAgKGVuY29kZS1j b2Rpbmctc3RyaW5nIHMgbG9jYWxlLWNvZGluZy1zeXN0ZW0pKSkNDQotICAg ICAgICAgICAgICAgICAgIChzcGxpdC1zdHJpbmcgaGV4bC1vcHRpb25zKSkp DQ0KKyAgICAgICAgICAgICAgICAgICAoc3BsaXQtc3RyaW5nIChoZXhsLW9w dGlvbnMpKSkpDQ0KICAgICAoaWYgKD4gKHBvaW50KSAoaGV4bC1hZGRyZXNz LXRvLW1hcmtlciBoZXhsLW1heC1hZGRyZXNzKSkNDQogCShoZXhsLWdvdG8t YWRkcmVzcyBoZXhsLW1heC1hZGRyZXNzKSkpKQ0NCiANDQpAQCAtNzQ5LDcg Kzc5Miw3IEBAIFRoaXMgZGlzY2FyZHMgdGhlIGJ1ZmZlcidzIHVuZG8gaW5m b3JtYXRpb24uIg0NCiAJKGJ1ZmZlci11bmRvLWxpc3QgdCkpDQ0KICAgICAo YXBwbHkgJ2NhbGwtcHJvY2Vzcy1yZWdpb24gKHBvaW50LW1pbikgKHBvaW50 LW1heCkNDQogCSAgIChleHBhbmQtZmlsZS1uYW1lIGhleGwtcHJvZ3JhbSBl eGVjLWRpcmVjdG9yeSkNDQotCSAgIHQgdCBuaWwgIi1kZSIgKHNwbGl0LXN0 cmluZyBoZXhsLW9wdGlvbnMpKSkpDQ0KKwkgICB0IHQgbmlsICItZGUiIChz cGxpdC1zdHJpbmcgKGhleGwtb3B0aW9ucykpKSkpDQ0KIA0NCiAoZGVmdW4g aGV4bC1jaGFyLWFmdGVyLXBvaW50ICgpDQ0KICAgIlJldHVybiBjaGFyIGZv ciBBU0NJSSBoZXggZGlnaXRzIGF0IHBvaW50LiINDQpAQCAtODQ2LDEyICs4 ODksMTUgQEAgQ0ggbXVzdCBiZSBhIHVuaWJ5dGUgY2hhcmFjdGVyIHdob3Nl IHZhbHVlIGlzIGJldHdlZW4gMCBhbmQgMjU1LiINDQogICAobGV0ICgoYWRk cmVzcyAoaGV4bC1jdXJyZW50LWFkZHJlc3MgdCkpKQ0NCiAgICAgKHdoaWxl ICg+IG51bSAwKQ0NCiAgICAgICAobGV0ICgoaGV4LXBvc2l0aW9uDQ0KLQkg ICAgICgrICgqICgvIGFkZHJlc3MgMTYpIDY4KQ0NCisJICAgICAoKyAoKiAo LyBhZGRyZXNzIDE2KSAoaGV4bC1saW5lLWRpc3BsZW4pKQ0NCiAJCTEwIChw b2ludC1taW4pDQ0KIAkJKCogMiAoJSBhZGRyZXNzIDE2KSkNDQogCQkoLyAo JSBhZGRyZXNzIDE2KSAyKSkpDQ0KIAkgICAgKGFzY2lpLXBvc2l0aW9uDQ0K LQkgICAgICgrICgqICgvIGFkZHJlc3MgMTYpIDY4KSA1MSAocG9pbnQtbWlu KSAoJSBhZGRyZXNzIDE2KSkpDQ0KKwkgICAgICgrICgqICgvIGFkZHJlc3Mg MTYpIChoZXhsLWxpbmUtZGlzcGxlbikpIA0NCisgICAgICAgICAgICAgICAg KGhleGwtYXNjaWktc3RhcnQtY29sdW1uKSANDQorICAgICAgICAgICAgICAg IChwb2ludC1taW4pIA0NCisgICAgICAgICAgICAgICAgKCUgYWRkcmVzcyAx NikpKQ0NCiAJICAgIGF0LWFzY2lpLXBvc2l0aW9uKQ0NCiAJKGlmICg9IChw b2ludCkgYXNjaWktcG9zaXRpb24pDQ0KIAkgICAgKHNldHEgYXQtYXNjaWkt cG9zaXRpb24gdCkpDQ0KQEAgLTg2Nyw3ICs5MTMsNyBAQCBDSCBtdXN0IGJl IGEgdW5pYnl0ZSBjaGFyYWN0ZXIgd2hvc2UgdmFsdWUgaXMgYmV0d2VlbiAw IGFuZCAyNTUuIg0NCiAJKGlmIGF0LWFzY2lpLXBvc2l0aW9uDQ0KIAkgICAg KHByb2duDQ0KIAkgICAgICAoYmVnaW5uaW5nLW9mLWxpbmUpDQ0KLQkgICAg ICAoZm9yd2FyZC1jaGFyIDUxKQ0NCisJICAgICAgKGZvcndhcmQtY2hhciAo aGV4bC1hc2NpaS1zdGFydC1jb2x1bW4pKQ0NCiAJICAgICAgKGZvcndhcmQt Y2hhciAoJSBhZGRyZXNzIDE2KSkpKSkNDQogICAgICAgKHNldHEgbnVtICgx LSBudW0pKSkpKQ0NCiANDQpAQCAtOTg1LDcgKzEwMzEsNyBAQCBUaGlzIGZ1 bmN0aW9uIGlzIGFzc3VtZWQgdG8gYmUgdXNlZCBhcyBjYWxsYmFjayBmdW5j dGlvbiBmb3IgYGhsLWxpbmUtbW9kZScuIg0NCiANDQogKGRlZnVuIGhleGwt Zm9sbG93LWFzY2lpLWZpbmQgKCkNDQogICAiRmluZCBhbmQgaGlnaGxpZ2h0 IHRoZSBBU0NJSSBlbGVtZW50IGNvcnJlc3BvbmRpbmcgdG8gY3VycmVudCBw b2ludC4iDQ0KLSAgKGxldCAoKHBvcyAoKyA1MQ0NCisgIChsZXQgKChwb3Mg KCsgKGhleGwtYXNjaWktc3RhcnQtY29sdW1uKQ0NCiAJCSgtIChwb2ludCkg KGN1cnJlbnQtY29sdW1uKSkNDQogCQkobW9kIChoZXhsLWN1cnJlbnQtYWRk cmVzcykgMTYpKSkpDQ0KICAgICAobW92ZS1vdmVybGF5IGhleGwtYXNjaWkt b3ZlcmxheSBwb3MgKDErIHBvcykpDQ0K --8323328-391342176-1258505555=:9073--