From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.devel Subject: Re: expose XHASH [patch] Date: Fri, 8 Apr 2016 15:37:14 -0700 Organization: UCLA Computer Science Department Message-ID: <5708329A.5030700@cs.ucla.edu> References: <56FDA815.2090801@cs.ucla.edu> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------070908070404080905030304" X-Trace: ger.gmane.org 1460155053 17547 80.91.229.3 (8 Apr 2016 22:37:33 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 8 Apr 2016 22:37:33 +0000 (UTC) Cc: emacs-devel@gnu.org To: Paul Pogonyshev Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Apr 09 00:37:31 2016 Return-path: Envelope-to: ged-emacs-devel@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 1aof1p-0002O1-6B for ged-emacs-devel@m.gmane.org; Sat, 09 Apr 2016 00:37:25 +0200 Original-Received: from localhost ([::1]:58689 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aof1o-0007Ht-HP for ged-emacs-devel@m.gmane.org; Fri, 08 Apr 2016 18:37:24 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:60932) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aof1k-0007FO-85 for emacs-devel@gnu.org; Fri, 08 Apr 2016 18:37:20 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aof1h-0005xI-2c for emacs-devel@gnu.org; Fri, 08 Apr 2016 18:37:20 -0400 Original-Received: from zimbra.cs.ucla.edu ([131.179.128.68]:44129) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aof1g-0005x1-PV for emacs-devel@gnu.org; Fri, 08 Apr 2016 18:37:16 -0400 Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 64695161245; Fri, 8 Apr 2016 15:37:15 -0700 (PDT) Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id QyoTRZN1lNSd; Fri, 8 Apr 2016 15:37:14 -0700 (PDT) Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id B971D161246; Fri, 8 Apr 2016 15:37:14 -0700 (PDT) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id zkdmu9ZB6p0H; Fri, 8 Apr 2016 15:37:14 -0700 (PDT) Original-Received: from penguin.cs.ucla.edu (Penguin.CS.UCLA.EDU [131.179.64.200]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 9C64B161245; Fri, 8 Apr 2016 15:37:14 -0700 (PDT) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.7.1 In-Reply-To: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 131.179.128.68 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:202822 Archived-At: This is a multi-part message in MIME format. --------------070908070404080905030304 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Thanks. I installed that into the master branch, with the attached further minor cleanups for the hash function code. I wrote a new ChangeLog entry for it because I didn't notice the free text in your email until just now. Perhaps next time you can send the output of 'git send-email'? That's what I did to generate this attachment anyway. --------------070908070404080905030304 Content-Type: application/x-patch; name="0002-Minor-improvements-for-hash-function-primitives.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0002-Minor-improvements-for-hash-function-primitives.patch" RnJvbSBiOTkzOWZjOTViZGQ2NGVlYTA5MGUyZTAwOGQ1OTlmNTA4OGRkNjI5IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBGcmksIDggQXByIDIwMTYgMTU6MzM6MjIgLTA3MDAKU3ViamVjdDogW1BBVENI IDIvMl0gTWlub3IgaW1wcm92ZW1lbnRzIGZvciBoYXNoIGZ1bmN0aW9uIHByaW1pdGl2ZXMK Ciogc3JjL2Zucy5jIChoYXNoZm5fZXFsKTogRGVmaW5lIGluIHRlcm1zIG9mIGhhc2hmbl9l cXVhbCBhbmQKaGFzaGZuX2VxIHJhdGhlciB0aGFuIHJlYWNoaW5nIGluc2lkZSB0aGVtLgoo aGFzaHRlc3RfZXEsIGhhc2h0ZXN0X2VxbCwgaGFzaHRlc3RfZXF1YWwpOgpOb3cgY29uc3Rh bnRzIHdpdGggaW5pdGlhbGl6ZXJzLgooc3ltc19vZl9mbnMpOiBPbWl0IG5vLWxvbmdlci1u ZWVkZWQgaW5pdGlhbGl6YXRpb24uCiogc3JjL2xpc3AuaCAoTElTUFNZTV9JTklUSUFMTFkp OiBOZXcgbWFjcm8uCihERUZJTkVfTElTUF9TWU1CT0wpOiBVc2UgaXQuCi0tLQogc3JjL2Zu cy5jICB8IDY4ICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCiBzcmMvbGlzcC5oIHwgIDggKysrKysrLS0KIDIgZmlsZXMg Y2hhbmdlZCwgMjggaW5zZXJ0aW9ucygrKSwgNDggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvc3JjL2Zucy5jIGIvc3JjL2Zucy5jCmluZGV4IGRhNzRiOWMuLjYxN2E4ZTggMTAwNjQ0 Ci0tLSBhL3NyYy9mbnMuYworKysgYi9zcmMvZm5zLmMKQEAgLTM2NjcsOCArMzY2Nyw2IEBA IGxhcmdlcl92ZWN0b3IgKExpc3BfT2JqZWN0IHZlYywgcHRyZGlmZl90IGluY3JfbWluLCBw dHJkaWZmX3Qgbml0ZW1zX21heCkKIAkJCSBMb3ctbGV2ZWwgRnVuY3Rpb25zCiAgKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKiovCiAKLXN0cnVjdCBoYXNoX3RhYmxlX3Rlc3QgaGFzaHRlc3RfZXEsIGhh c2h0ZXN0X2VxbCwgaGFzaHRlc3RfZXF1YWw7Ci0KIC8qIENvbXBhcmUgS0VZMSB3aGljaCBo YXMgaGFzaCBjb2RlIEhBU0gxIGFuZCBLRVkyIHdpdGggaGFzaCBjb2RlCiAgICBIQVNIMiBp biBoYXNoIHRhYmxlIEggdXNpbmcgYGVxbCcuICBWYWx1ZSBpcyB0cnVlIGlmIEtFWTEgYW5k CiAgICBLRVkyIGFyZSB0aGUgc2FtZS4gICovCkBAIC0zNzA5LDcgKzM3MDcsNiBAQCBjbXBm bl91c2VyX2RlZmluZWQgKHN0cnVjdCBoYXNoX3RhYmxlX3Rlc3QgKmh0LAogICByZXR1cm4g IU5JTFAgKGNhbGwyIChodC0+dXNlcl9jbXBfZnVuY3Rpb24sIGtleTEsIGtleTIpKTsKIH0K IAotCiAvKiBWYWx1ZSBpcyBhIGhhc2ggY29kZSBmb3IgS0VZIGZvciB1c2UgaW4gaGFzaCB0 YWJsZSBIIHdoaWNoIHVzZXMKICAgIGBlcScgdG8gY29tcGFyZSBrZXlzLiAgVGhlIGhhc2gg Y29kZSByZXR1cm5lZCBpcyBndWFyYW50ZWVkIHRvIGZpdAogICAgaW4gYSBMaXNwIGludGVn ZXIuICAqLwpAQCAtMzcxNywzNCArMzcxNCwyNyBAQCBjbXBmbl91c2VyX2RlZmluZWQgKHN0 cnVjdCBoYXNoX3RhYmxlX3Rlc3QgKmh0LAogc3RhdGljIEVNQUNTX1VJTlQKIGhhc2hmbl9l cSAoc3RydWN0IGhhc2hfdGFibGVfdGVzdCAqaHQsIExpc3BfT2JqZWN0IGtleSkKIHsKLSAg RU1BQ1NfVUlOVCBoYXNoID0gWEhBU0ggKGtleSkgXiBYVFlQRSAoa2V5KTsKLSAgcmV0dXJu IGhhc2g7CisgIHJldHVybiBYSEFTSCAoa2V5KSBeIFhUWVBFIChrZXkpOwogfQogCiAvKiBW YWx1ZSBpcyBhIGhhc2ggY29kZSBmb3IgS0VZIGZvciB1c2UgaW4gaGFzaCB0YWJsZSBIIHdo aWNoIHVzZXMKLSAgIGBlcWwnIHRvIGNvbXBhcmUga2V5cy4gIFRoZSBoYXNoIGNvZGUgcmV0 dXJuZWQgaXMgZ3VhcmFudGVlZCB0byBmaXQKKyAgIGBlcXVhbCcgdG8gY29tcGFyZSBrZXlz LiAgVGhlIGhhc2ggY29kZSByZXR1cm5lZCBpcyBndWFyYW50ZWVkIHRvIGZpdAogICAgaW4g YSBMaXNwIGludGVnZXIuICAqLwogCiBzdGF0aWMgRU1BQ1NfVUlOVAotaGFzaGZuX2VxbCAo c3RydWN0IGhhc2hfdGFibGVfdGVzdCAqaHQsIExpc3BfT2JqZWN0IGtleSkKK2hhc2hmbl9l cXVhbCAoc3RydWN0IGhhc2hfdGFibGVfdGVzdCAqaHQsIExpc3BfT2JqZWN0IGtleSkKIHsK LSAgRU1BQ1NfVUlOVCBoYXNoOwotICBpZiAoRkxPQVRQIChrZXkpKQotICAgIGhhc2ggPSBz eGhhc2ggKGtleSwgMCk7Ci0gIGVsc2UKLSAgICBoYXNoID0gWEhBU0ggKGtleSkgXiBYVFlQ RSAoa2V5KTsKLSAgcmV0dXJuIGhhc2g7CisgIHJldHVybiBzeGhhc2ggKGtleSwgMCk7CiB9 CiAKIC8qIFZhbHVlIGlzIGEgaGFzaCBjb2RlIGZvciBLRVkgZm9yIHVzZSBpbiBoYXNoIHRh YmxlIEggd2hpY2ggdXNlcwotICAgYGVxdWFsJyB0byBjb21wYXJlIGtleXMuICBUaGUgaGFz aCBjb2RlIHJldHVybmVkIGlzIGd1YXJhbnRlZWQgdG8gZml0CisgICBgZXFsJyB0byBjb21w YXJlIGtleXMuICBUaGUgaGFzaCBjb2RlIHJldHVybmVkIGlzIGd1YXJhbnRlZWQgdG8gZml0 CiAgICBpbiBhIExpc3AgaW50ZWdlci4gICovCiAKIHN0YXRpYyBFTUFDU19VSU5UCi1oYXNo Zm5fZXF1YWwgKHN0cnVjdCBoYXNoX3RhYmxlX3Rlc3QgKmh0LCBMaXNwX09iamVjdCBrZXkp CitoYXNoZm5fZXFsIChzdHJ1Y3QgaGFzaF90YWJsZV90ZXN0ICpodCwgTGlzcF9PYmplY3Qg a2V5KQogewotICBFTUFDU19VSU5UIGhhc2ggPSBzeGhhc2ggKGtleSwgMCk7Ci0gIHJldHVy biBoYXNoOworICByZXR1cm4gRkxPQVRQIChrZXkpID8gaGFzaGZuX2VxdWFsIChodCwga2V5 KSA6IGhhc2hmbl9lcSAoaHQsIGtleSk7CiB9CiAKIC8qIFZhbHVlIGlzIGEgaGFzaCBjb2Rl IGZvciBLRVkgZm9yIHVzZSBpbiBoYXNoIHRhYmxlIEggd2hpY2ggdXNlcyBhcwpAQCAtMzc1 OCw2ICszNzQ4LDE0IEBAIGhhc2hmbl91c2VyX2RlZmluZWQgKHN0cnVjdCBoYXNoX3RhYmxl X3Rlc3QgKmh0LCBMaXNwX09iamVjdCBrZXkpCiAgIHJldHVybiBoYXNoZm5fZXEgKGh0LCBo YXNoKTsKIH0KIAorc3RydWN0IGhhc2hfdGFibGVfdGVzdCBjb25zdAorICBoYXNodGVzdF9l cSA9IHsgTElTUFNZTV9JTklUSUFMTFkgKFFlcSksIExJU1BTWU1fSU5JVElBTExZIChRbmls KSwKKwkJICBMSVNQU1lNX0lOSVRJQUxMWSAoUW5pbCksIDAsIGhhc2hmbl9lcSB9LAorICBo YXNodGVzdF9lcWwgPSB7IExJU1BTWU1fSU5JVElBTExZIChRZXFsKSwgTElTUFNZTV9JTklU SUFMTFkgKFFuaWwpLAorCQkgICBMSVNQU1lNX0lOSVRJQUxMWSAoUW5pbCksIGNtcGZuX2Vx bCwgaGFzaGZuX2VxbCB9LAorICBoYXNodGVzdF9lcXVhbCA9IHsgTElTUFNZTV9JTklUSUFM TFkgKFFlcXVhbCksIExJU1BTWU1fSU5JVElBTExZIChRbmlsKSwKKwkJICAgICBMSVNQU1lN X0lOSVRJQUxMWSAoUW5pbCksIGNtcGZuX2VxdWFsLCBoYXNoZm5fZXF1YWwgfTsKKwogLyog QWxsb2NhdGUgYmFzaWNhbGx5IGluaXRpYWxpemVkIGhhc2ggdGFibGUuICAqLwogCiBzdGF0 aWMgc3RydWN0IExpc3BfSGFzaF9UYWJsZSAqCkBAIC00NDQ4LDMzICs0NDQ2LDI5IEBAIHN4 aGFzaCAoTGlzcF9PYmplY3Qgb2JqLCBpbnQgZGVwdGgpCiAgKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiov CiAKIERFRlVOICgic3hoYXNoLWVxIiwgRnN4aGFzaF9lcSwgU3N4aGFzaF9lcSwgMSwgMSwg MCwKLSAgICAgICBkb2M6IC8qIENvbXB1dGUgaWRlbnRpdHkgaGFzaCBjb2RlIGZvciBPQkog YW5kIHJldHVybiBpdCBhcyBpbnRlZ2VyLgotSW4gb3RoZXIgd29yZHMsIGhhc2ggY29kZXMg b2YgdHdvIG5vbi1gZXEnIGxpc3RzIHdpbGwgYmUgKG1vc3QgbGlrZWx5KQotZGlmZmVyZW50 LCBldmVuIGlmIHRoZSBsaXN0cyBjb250YWluIHRoZSBzYW1lIGVsZW1lbnRzLiAqLykKKyAg ICAgICBkb2M6IC8qIFJldHVybiBhbiBpbnRlZ2VyIGhhc2ggY29kZSBmb3IgT0JKIHN1aXRh YmxlIGZvciBgZXEnLgorSWYgKGVxIEEgQiksIHRoZW4gKD0gKHN4aGFzaC1lcSBBKSAoc3ho YXNoLWVxIEIpKS4gICovKQogICAoTGlzcF9PYmplY3Qgb2JqKQogewogICByZXR1cm4gbWFr ZV9udW1iZXIgKGhhc2hmbl9lcSAoTlVMTCwgb2JqKSk7CiB9CiAKIERFRlVOICgic3hoYXNo LWVxbCIsIEZzeGhhc2hfZXFsLCBTc3hoYXNoX2VxbCwgMSwgMSwgMCwKLSAgICAgICBkb2M6 IC8qIENvbXB1dGUgaWRlbnRpdHkgaGFzaCBjb2RlIGZvciBPQkogYW5kIHJldHVybiBpdCBh cyBpbnRlZ2VyLgotSW4gY29tcGFyaXNvbiB0byBgc3hoYXNoLWVxJywgaXQgaXMgYWxzbyBn dWFyYW50ZWVkIHRoYXQgaGFzaCBjb2Rlcwotb2YgZXF1YWwgZmxvYXQgbnVtYmVycyB3aWxs IGJlIHRoZSBzYW1lLCBldmVuIGlmIHRoZSBudW1iZXJzIGFyZSBub3QKLXRoZSBzYW1lIExp c3Agb2JqZWN0LiAqLykKKyAgICAgICBkb2M6IC8qIFJldHVybiBhbiBpbnRlZ2VyIGhhc2gg Y29kZSBmb3IgT0JKIHN1aXRhYmxlIGZvciBgZXFsJy4KK0lmIChlcWwgQSBCKSwgdGhlbiAo PSAoc3hoYXNoLWVxbCBBKSAoc3hoYXNoLWVxbCBCKSkuICAqLykKICAgKExpc3BfT2JqZWN0 IG9iaikKIHsKICAgcmV0dXJuIG1ha2VfbnVtYmVyIChoYXNoZm5fZXFsIChOVUxMLCBvYmop KTsKIH0KIAogREVGVU4gKCJzeGhhc2gtZXF1YWwiLCBGc3hoYXNoX2VxdWFsLCBTc3hoYXNo X2VxdWFsLCAxLCAxLCAwLAotICAgICAgIGRvYzogLyogQ29tcHV0ZSBhIGhhc2ggY29kZSBm b3IgT0JKIGFuZCByZXR1cm4gaXQgYXMgaW50ZWdlci4gICovKQorICAgICAgIGRvYzogLyog UmV0dXJuIGFuIGludGVnZXIgaGFzaCBjb2RlIGZvciBPQkogc3VpdGFibGUgZm9yIGBlcXVh bCcuCitJZiAoZXF1YWwgQSBCKSwgdGhlbiAoPSAoc3hoYXNoLWVxdWFsIEEpIChzeGhhc2gt ZXF1YWwgQikpLiAgKi8pCiAgIChMaXNwX09iamVjdCBvYmopCiB7Ci0gIEVNQUNTX1VJTlQg aGFzaCA9IHN4aGFzaCAob2JqLCAwKTsKLSAgcmV0dXJuIG1ha2VfbnVtYmVyIChoYXNoKTsK KyAgcmV0dXJuIG1ha2VfbnVtYmVyIChoYXNoZm5fZXF1YWwgKE5VTEwsIG9iaikpOwogfQog Ci0KIERFRlVOICgibWFrZS1oYXNoLXRhYmxlIiwgRm1ha2VfaGFzaF90YWJsZSwgU21ha2Vf aGFzaF90YWJsZSwgMCwgTUFOWSwgMCwKICAgICAgICBkb2M6IC8qIENyZWF0ZSBhbmQgcmV0 dXJuIGEgbmV3IGhhc2ggdGFibGUuCiAKQEAgLTUyMjAsMjIgKzUyMTQsNCBAQCB0aGlzIHZh cmlhYmxlLiAgKi8pOwogICBkZWZzdWJyICgmU3NlY3VyZV9oYXNoKTsKICAgZGVmc3ViciAo JlNidWZmZXJfaGFzaCk7CiAgIGRlZnN1YnIgKCZTbG9jYWxlX2luZm8pOwotCi0gIGhhc2h0 ZXN0X2VxLm5hbWUgPSBRZXE7Ci0gIGhhc2h0ZXN0X2VxLnVzZXJfaGFzaF9mdW5jdGlvbiA9 IFFuaWw7Ci0gIGhhc2h0ZXN0X2VxLnVzZXJfY21wX2Z1bmN0aW9uID0gUW5pbDsKLSAgaGFz aHRlc3RfZXEuY21wZm4gPSAwOwotICBoYXNodGVzdF9lcS5oYXNoZm4gPSBoYXNoZm5fZXE7 Ci0KLSAgaGFzaHRlc3RfZXFsLm5hbWUgPSBRZXFsOwotICBoYXNodGVzdF9lcWwudXNlcl9o YXNoX2Z1bmN0aW9uID0gUW5pbDsKLSAgaGFzaHRlc3RfZXFsLnVzZXJfY21wX2Z1bmN0aW9u ID0gUW5pbDsKLSAgaGFzaHRlc3RfZXFsLmNtcGZuID0gY21wZm5fZXFsOwotICBoYXNodGVz dF9lcWwuaGFzaGZuID0gaGFzaGZuX2VxbDsKLQotICBoYXNodGVzdF9lcXVhbC5uYW1lID0g UWVxdWFsOwotICBoYXNodGVzdF9lcXVhbC51c2VyX2hhc2hfZnVuY3Rpb24gPSBRbmlsOwot ICBoYXNodGVzdF9lcXVhbC51c2VyX2NtcF9mdW5jdGlvbiA9IFFuaWw7Ci0gIGhhc2h0ZXN0 X2VxdWFsLmNtcGZuID0gY21wZm5fZXF1YWw7Ci0gIGhhc2h0ZXN0X2VxdWFsLmhhc2hmbiA9 IGhhc2hmbl9lcXVhbDsKIH0KZGlmZiAtLWdpdCBhL3NyYy9saXNwLmggYi9zcmMvbGlzcC5o CmluZGV4IDE3MGRhNjcuLmQxMTFhNzggMTAwNjQ0Ci0tLSBhL3NyYy9saXNwLmgKKysrIGIv c3JjL2xpc3AuaApAQCAtNzIxLDEyICs3MjEsMTYgQEAgc3RydWN0IExpc3BfU3ltYm9sCiAg ICBleGNlcHQgdGhlIGZvcm1lciBleHBhbmRzIHRvIGFuIGludGVnZXIgY29uc3RhbnQgZXhw cmVzc2lvbi4gICovCiAjZGVmaW5lIFhMSV9CVUlMVElOX0xJU1BTWU0oaW5hbWUpIFRBR19T WU1PRkZTRVQgKChpbmFtZSkgKiBzaXplb2YgKmxpc3BzeW0pCiAKKy8qIExJU1BTWU1fSU5J VElBTExZIChRZm9vKSBpcyBlcXVpdmFsZW50IHRvIFFmb28gZXhjZXB0IGl0IGlzCisgICBk ZXNpZ25lZCBmb3IgdXNlIGFzIGFuIGluaXRpYWxpemVyLCBldmVuIGZvciBhIGNvbnN0YW50 IGluaXRpYWxpemVyLiAgKi8KKyNkZWZpbmUgTElTUFNZTV9JTklUSUFMTFkobmFtZSkgTElT UF9JTklUSUFMTFkgKFhMSV9CVUlMVElOX0xJU1BTWU0gKGkjI25hbWUpKQorCiAvKiBEZWNs YXJlIGV4dGVybiBjb25zdGFudHMgZm9yIExpc3Agc3ltYm9scy4gIFRoZXNlIGNhbiBiZSBo ZWxwZnVsCiAgICB3aGVuIHVzaW5nIGEgZGVidWdnZXIgbGlrZSBHREIsIG9uIG9sZGVyIHBs YXRmb3JtcyB3aGVyZSB0aGUgZGVidWcKICAgIGZvcm1hdCBkb2VzIG5vdCByZXByZXNlbnQg QyBtYWNyb3MuICAqLwogI2RlZmluZSBERUZJTkVfTElTUF9TWU1CT0wobmFtZSkgXAogICBE RUZJTkVfR0RCX1NZTUJPTF9CRUdJTiAoTGlzcF9PYmplY3QsIG5hbWUpIFwKLSAgREVGSU5F X0dEQl9TWU1CT0xfRU5EIChMSVNQX0lOSVRJQUxMWSAoWExJX0JVSUxUSU5fTElTUFNZTSAo aSMjbmFtZSkpKQorICBERUZJTkVfR0RCX1NZTUJPTF9FTkQgKExJU1BTWU1fSU5JVElBTExZ IChuYW1lKSkKIAogLyogQnkgZGVmYXVsdCwgZGVmaW5lIG1hY3JvcyBmb3IgUXQsIGV0Yy4s IGFzIHRoaXMgbGVhZHMgdG8gYSBiaXQKICAgIGJldHRlciBwZXJmb3JtYW5jZSBpbiB0aGUg Y29yZSBFbWFjcyBpbnRlcnByZXRlci4gIEEgcGx1Z2luIGNhbgpAQCAtMzQ0MSw3ICszNDQ1 LDcgQEAgcHRyZGlmZl90IGhhc2hfbG9va3VwIChzdHJ1Y3QgTGlzcF9IYXNoX1RhYmxlICos IExpc3BfT2JqZWN0LCBFTUFDU19VSU5UICopOwogcHRyZGlmZl90IGhhc2hfcHV0IChzdHJ1 Y3QgTGlzcF9IYXNoX1RhYmxlICosIExpc3BfT2JqZWN0LCBMaXNwX09iamVjdCwKIAkJICAg IEVNQUNTX1VJTlQpOwogdm9pZCBoYXNoX3JlbW92ZV9mcm9tX3RhYmxlIChzdHJ1Y3QgTGlz cF9IYXNoX1RhYmxlICosIExpc3BfT2JqZWN0KTsKLWV4dGVybiBzdHJ1Y3QgaGFzaF90YWJs ZV90ZXN0IGhhc2h0ZXN0X2VxLCBoYXNodGVzdF9lcWwsIGhhc2h0ZXN0X2VxdWFsOworZXh0 ZXJuIHN0cnVjdCBoYXNoX3RhYmxlX3Rlc3QgY29uc3QgaGFzaHRlc3RfZXEsIGhhc2h0ZXN0 X2VxbCwgaGFzaHRlc3RfZXF1YWw7CiBleHRlcm4gdm9pZCB2YWxpZGF0ZV9zdWJhcnJheSAo TGlzcF9PYmplY3QsIExpc3BfT2JqZWN0LCBMaXNwX09iamVjdCwKIAkJCSAgICAgICBwdHJk aWZmX3QsIHB0cmRpZmZfdCAqLCBwdHJkaWZmX3QgKik7CiBleHRlcm4gTGlzcF9PYmplY3Qg c3Vic3RyaW5nX2JvdGggKExpc3BfT2JqZWN0LCBwdHJkaWZmX3QsIHB0cmRpZmZfdCwKLS0g CjIuNS41Cgo= --------------070908070404080905030304--