From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Stuart D. Herring" Newsgroups: gmane.emacs.devel Subject: Re: A few questions about desktop.el Date: Tue, 2 May 2006 10:57:51 -0700 (PDT) Message-ID: <34348.128.165.123.132.1146592671.squirrel@webmail.lanl.gov> References: <58643.128.165.123.132.1146179153.squirrel@webmail.lanl.gov><25279.128.165.0.81.1146286645.squirrel@webmail.lanl.gov><34179.128.165.123.132.1146582412.squirrel@webmail.lanl.gov> <34206.128.165.123.132.1146584538.squirrel@webmail.lanl.gov> Reply-To: herring@lanl.gov NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed;boundary="----=_20060502105751_36320" X-Trace: sea.gmane.org 1146592744 6160 80.91.229.2 (2 May 2006 17:59:04 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Tue, 2 May 2006 17:59:04 +0000 (UTC) Cc: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue May 02 19:59:01 2006 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1Faz8b-00031V-EX for ged-emacs-devel@m.gmane.org; Tue, 02 May 2006 19:58:43 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Faz8Z-00056V-Bl for ged-emacs-devel@m.gmane.org; Tue, 02 May 2006 13:58:15 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Faz8M-00056Q-3J for emacs-devel@gnu.org; Tue, 02 May 2006 13:58:02 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Faz8J-00055p-8A for emacs-devel@gnu.org; Tue, 02 May 2006 13:58:01 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Faz8J-00055m-4M for emacs-devel@gnu.org; Tue, 02 May 2006 13:57:59 -0400 Original-Received: from [192.65.95.54] (helo=mailwasher-b.lanl.gov) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA:32) (Exim 4.52) id 1Faz8U-0004dy-OA for emacs-devel@gnu.org; Tue, 02 May 2006 13:58:11 -0400 Original-Received: from mailrelay3.lanl.gov (mailrelay3.lanl.gov [128.165.4.104]) by mailwasher-b.lanl.gov (8.12.11.20060308/8.12.11/(ccn-5)) with ESMTP id k42Hvr3f029749 for ; Tue, 2 May 2006 11:57:53 -0600 Original-Received: from webmail1.lanl.gov (webmail1.lanl.gov [128.165.4.106]) by mailrelay3.lanl.gov (8.12.11.20060308/8.12.11/(ccn-5)) with ESMTP id k42HvpKR009405; Tue, 2 May 2006 11:57:51 -0600 Original-Received: from webmail1.lanl.gov (localhost.localdomain [127.0.0.1]) by webmail1.lanl.gov (8.12.11.20060308/8.12.11) with ESMTP id k42HvpWg032120; Tue, 2 May 2006 11:57:51 -0600 Original-Received: (from apache@localhost) by webmail1.lanl.gov (8.12.11.20060308/8.12.11/Submit) id k42HvpKM032118; Tue, 2 May 2006 10:57:51 -0700 X-Authentication-Warning: webmail1.lanl.gov: apache set sender to herring@lanl.gov using -f Original-Received: from 128.165.123.132 (SquirrelMail authenticated user 196434); by webmail.lanl.gov with HTTP; Tue, 2 May 2006 10:57:51 -0700 (PDT) In-Reply-To: <34206.128.165.123.132.1146584538.squirrel@webmail.lanl.gov> Original-To: "Juanma Barranquero" User-Agent: SquirrelMail/1.4.3a-11.EL3 X-Mailer: SquirrelMail/1.4.3a-11.EL3 X-Priority: 3 (Normal) Importance: Normal X-PMX-Version: 4.7.1.128075 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:53805 Archived-At: ------=_20060502105751_36320 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit >>From my previous message: > The only problem I see is how to inform the user (aside from etc/NEWS) > that the hook exists, since the behavior with it uncustomized can be > annoying but it's not an obvious customization locus. Certainly it could > be given an obnoxious default value like > '(announce-the-presence-of-this-hook), but that's silly. Any ideas? I haven't addressed this bit, but the attached patch (superceding the previous one, not combined with it) redoes the locking with a separate file and adds hook support for the not-loaded case, with useful options provided via customize. It also properly disposes of the temporary *desktop* buffer and, as a new feature, runs the desktop-save-hooks with the *desktop* buffer current (but still before any inspection of Emacs state is done) so they can be used to add custom Lisp to the file as well as adjust Emacs state for the write. Let me know if it's less rough-cut now. Davis -- This product is sold by volume, not by mass. If it appears too dense or too sparse, it is because mass-energy conversion has occurred during shipping. ------=_20060502105751_36320 Content-Type: application/octet-stream; name="desktop-conflict-2.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="desktop-conflict-2.patch" SW5kZXg6IGRlc2t0b3AuZWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL3NvdXJjZXMvZW1hY3MvZW1h Y3MvbGlzcC9kZXNrdG9wLmVsLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjk5CmRpZmYgLWMgLXIx Ljk5IGRlc2t0b3AuZWwKKioqIGRlc2t0b3AuZWwJMTAgRmViIDIwMDYgMTE6MDU6MzAgLTAwMDAJ MS45OQotLS0gZGVza3RvcC5lbAkyIE1heSAyMDA2IDE3OjU2OjI5IC0wMDAwCioqKioqKioqKioq KioqKgoqKiogMTYyLDE2NyAqKioqCi0tLSAxNjIsMTcxIC0tLS0KICAoZGVmaW5lLW9ic29sZXRl LXZhcmlhYmxlLWFsaWFzICdkZXNrdG9wLWVuYWJsZQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJ2Rlc2t0b3Atc2F2ZS1tb2RlICIyMi4xIikKICAKKyAoZGVmdW4gZGVza3RvcC1z YXZlLW1vZGUtb2ZmICgpCisgICAiRGlzYWJsZSBgZGVza3RvcC1zYXZlLW1vZGUnLiAgUHJvdmlk ZWQgZm9yIHVzZSBpbiBob29rcy4iCisgICAoZGVza3RvcC1zYXZlLW1vZGUgMCkpCisgCiAgKGRl ZmN1c3RvbSBkZXNrdG9wLXNhdmUgJ2Fzay1pZi1uZXcKICAgICIqU3BlY2lmaWVzIHdoZXRoZXIg dGhlIGRlc2t0b3Agc2hvdWxkIGJlIHNhdmVkIHdoZW4gaXQgaXMga2lsbGVkLgogIEEgZGVza3Rv cCBpcyBraWxsZWQgd2hlbiB0aGUgdXNlciBjaGFuZ2VzIGRlc2t0b3Agb3IgcXVpdHMgRW1hY3Mu CioqKioqKioqKioqKioqKgoqKiogMTc2LDE4NyAqKioqCiAgVGhlIHZhcmlhYmxlcyBgZGVza3Rv cC1kaXJuYW1lJyBhbmQgYGRlc2t0b3AtYmFzZS1maWxlLW5hbWUnCiAgZGV0ZXJtaW5lIHdoZXJl IHRoZSBkZXNrdG9wIGlzIHNhdmVkLiIKICAgIDp0eXBlICcoY2hvaWNlCiEgICAgIChjb25zdCA6 dGFnICJBbHdheXMgc2F2ZSIgdCkKISAgICAgKGNvbnN0IDp0YWcgIkFsd2F5cyBhc2siIGFzaykK ISAgICAgKGNvbnN0IDp0YWcgIkFzayBpZiBkZXNrdG9wIGZpbGUgaXMgbmV3LCBlbHNlIGRvIHNh dmUiIGFzay1pZi1uZXcpCiEgICAgIChjb25zdCA6dGFnICJBc2sgaWYgZGVza3RvcCBmaWxlIGV4 aXN0cywgZWxzZSBkb24ndCBzYXZlIiBhc2staWYtZXhpc3RzKQohICAgICAoY29uc3QgOnRhZyAi U2F2ZSBpZiBkZXNrdG9wIGZpbGUgZXhpc3RzLCBlbHNlIGRvbid0IiBpZi1leGlzdHMpCiEgICAg IChjb25zdCA6dGFnICJOZXZlciBzYXZlIiBuaWwpKQogICAgOmdyb3VwICdkZXNrdG9wCiAgICA6 dmVyc2lvbiAiMjIuMSIpCiAgCi0tLSAxODAsMTkxIC0tLS0KICBUaGUgdmFyaWFibGVzIGBkZXNr dG9wLWRpcm5hbWUnIGFuZCBgZGVza3RvcC1iYXNlLWZpbGUtbmFtZScKICBkZXRlcm1pbmUgd2hl cmUgdGhlIGRlc2t0b3AgaXMgc2F2ZWQuIgogICAgOnR5cGUgJyhjaG9pY2UKISAJICAoY29uc3Qg OnRhZyAiQWx3YXlzIHNhdmUiIHQpCiEgCSAgKGNvbnN0IDp0YWcgIkFsd2F5cyBhc2siIGFzaykK ISAJICAoY29uc3QgOnRhZyAiQXNrIGlmIGRlc2t0b3AgZmlsZSBpcyBuZXcsIGVsc2UgZG8gc2F2 ZSIgYXNrLWlmLW5ldykKISAJICAoY29uc3QgOnRhZyAiQXNrIGlmIGRlc2t0b3AgZmlsZSBleGlz dHMsIGVsc2UgZG9uJ3Qgc2F2ZSIgYXNrLWlmLWV4aXN0cykKISAJICAoY29uc3QgOnRhZyAiU2F2 ZSBpZiBkZXNrdG9wIGZpbGUgZXhpc3RzLCBlbHNlIGRvbid0IiBpZi1leGlzdHMpCiEgCSAgKGNv bnN0IDp0YWcgIk5ldmVyIHNhdmUiIG5pbCkpCiAgICA6Z3JvdXAgJ2Rlc2t0b3AKICAgIDp2ZXJz aW9uICIyMi4xIikKICAKKioqKioqKioqKioqKioqCioqKiAxOTMsMTk4ICoqKioKLS0tIDE5Nywy MDkgLS0tLQogIChkZWZpbmUtb2Jzb2xldGUtdmFyaWFibGUtYWxpYXMgJ2Rlc2t0b3AtYmFzZWZp bGVuYW1lCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVza3RvcC1iYXNlLWZp bGUtbmFtZSAiMjIuMSIpCiAgCisgKGRlZmN1c3RvbSBkZXNrdG9wLWJhc2UtbG9jay1uYW1lCisg ICAoY29udmVydC1zdGFuZGFyZC1maWxlbmFtZSAiLmVtYWNzLmRlc2t0b3AubG9jayIpCisgICAi TmFtZSBvZiBsb2NrIGZpbGUgZm9yIEVtYWNzIGRlc2t0b3AsIGV4Y2x1ZGluZyB0aGUgZGlyZWN0 b3J5IHBhcnQuIgorICAgOnR5cGUgJ2ZpbGUKKyAgIDpncm91cCAnZGVza3RvcAorICAgOnZlcnNp b24gIjIyLjEiKQorIAogIChkZWZjdXN0b20gZGVza3RvcC1wYXRoICcoIi4iICJ+IikKICAgICJM aXN0IG9mIGRpcmVjdG9yaWVzIHRvIHNlYXJjaCBmb3IgdGhlIGRlc2t0b3AgZmlsZS4KICBUaGUg YmFzZSBuYW1lIG9mIHRoZSBmaWxlIGlzIHNwZWNpZmllZCBpbiBgZGVza3RvcC1iYXNlLWZpbGUt bmFtZScuIgoqKioqKioqKioqKioqKioKKioqIDIxMiwyMzIgKioqKgogIAogIChkZWZjdXN0b20g ZGVza3RvcC1uby1kZXNrdG9wLWZpbGUtaG9vayBuaWwKICAgICJOb3JtYWwgaG9vayBydW4gd2hl biBgZGVza3RvcC1yZWFkJyBjYW4ndCBmaW5kIGEgZGVza3RvcCBmaWxlLgogIE1heSBiZSB1c2Vk IHRvIHNob3cgYSBkaXJlZCBidWZmZXIuIgogICAgOnR5cGUgJ2hvb2sKICAgIDpncm91cCAnZGVz a3RvcAogICAgOnZlcnNpb24gIjIyLjEiKQogIAogIChkZWZjdXN0b20gZGVza3RvcC1hZnRlci1y ZWFkLWhvb2sgbmlsCiAgICAiTm9ybWFsIGhvb2sgcnVuIGFmdGVyIGEgc3VjY2Vzc2Z1bCBgZGVz a3RvcC1yZWFkJy4KICBNYXkgYmUgdXNlZCB0byBzaG93IGEgYnVmZmVyIGxpc3QuIgogICAgOnR5 cGUgJ2hvb2sKICAgIDpncm91cCAnZGVza3RvcAogICAgOnZlcnNpb24gIjIyLjEiKQogIAogIChk ZWZjdXN0b20gZGVza3RvcC1zYXZlLWhvb2sgbmlsCiAgICAiTm9ybWFsIGhvb2sgcnVuIGJlZm9y ZSB0aGUgZGVza3RvcCBpcyBzYXZlZCBpbiBhIGRlc2t0b3AgZmlsZS4KISBUaGlzIGlzIHVzZWZ1 bCBmb3IgdHJ1bmNhdGluZyBoaXN0b3J5IGxpc3RzLCBmb3IgZXhhbXBsZS4iCiAgICA6dHlwZSAn aG9vawogICAgOmdyb3VwICdkZXNrdG9wKQogIAotLS0gMjIzLDI1NiAtLS0tCiAgCiAgKGRlZmN1 c3RvbSBkZXNrdG9wLW5vLWRlc2t0b3AtZmlsZS1ob29rIG5pbAogICAgIk5vcm1hbCBob29rIHJ1 biB3aGVuIGBkZXNrdG9wLXJlYWQnIGNhbid0IGZpbmQgYSBkZXNrdG9wIGZpbGUuCisgUnVuIGlu IHRoZSBkaXJlY3RvcnkgaW4gd2hpY2ggdGhlIGRlc2t0b3AgZmlsZSB3YXMgc291Z2h0LgogIE1h eSBiZSB1c2VkIHRvIHNob3cgYSBkaXJlZCBidWZmZXIuIgogICAgOnR5cGUgJ2hvb2sKICAgIDpn cm91cCAnZGVza3RvcAogICAgOnZlcnNpb24gIjIyLjEiKQogIAorIChkZWZjdXN0b20gZGVza3Rv cC1ub3QtbG9hZGVkLWhvb2sgbmlsCisgICAiTm9ybWFsIGhvb2sgcnVuIHdoZW4gdGhlIHVzZXIg ZGVjbGluZXMgdG8gcmUtdXNlIGEgZGVza3RvcCBmaWxlLgorIFJ1biBpbiB0aGUgZGlyZWN0b3J5 IGluIHdoaWNoIHRoZSBkZXNrdG9wIGZpbGUgd2FzIGZvdW5kLgorIE1heSBiZSB1c2VkIHRvIGRl YWwgd2l0aCBhY2NpZGVudGFsIG11bHRpcGxlIEVtYWNzIGpvYnMuIgorICAgOnR5cGUgJ2hvb2sK KyAgIDpncm91cCAnZGVza3RvcAorICAgOm9wdGlvbnMgJyhkZXNrdG9wLXNhdmUtbW9kZS1vZmYg c2F2ZS1idWZmZXJzLWtpbGwtZW1hY3MpCisgICA6dmVyc2lvbiAiMjIuMSIpCisgCiAgKGRlZmN1 c3RvbSBkZXNrdG9wLWFmdGVyLXJlYWQtaG9vayBuaWwKICAgICJOb3JtYWwgaG9vayBydW4gYWZ0 ZXIgYSBzdWNjZXNzZnVsIGBkZXNrdG9wLXJlYWQnLgogIE1heSBiZSB1c2VkIHRvIHNob3cgYSBi dWZmZXIgbGlzdC4iCiAgICA6dHlwZSAnaG9vawogICAgOmdyb3VwICdkZXNrdG9wCisgICA6b3B0 aW9ucyAnKGxpc3QtYnVmZmVycykKICAgIDp2ZXJzaW9uICIyMi4xIikKICAKICAoZGVmY3VzdG9t IGRlc2t0b3Atc2F2ZS1ob29rIG5pbAogICAgIk5vcm1hbCBob29rIHJ1biBiZWZvcmUgdGhlIGRl c2t0b3AgaXMgc2F2ZWQgaW4gYSBkZXNrdG9wIGZpbGUuCiEgUnVuIHdpdGggdGhlIGRlc2t0b3Ag YnVmZmVyIGN1cnJlbnQgd2l0aCBvbmx5IHRoZSBoZWFkZXIgcHJlc2VudC4KISBNYXkgYmUgdXNl ZCB0byBhZGQgdG8gdGhlIGRlc2t0b3AgY29kZSBvciB0byB0cnVuY2F0ZSBoaXN0b3J5IGxpc3Rz LAohIGZvciBleGFtcGxlLiIKICAgIDp0eXBlICdob29rCiAgICA6Z3JvdXAgJ2Rlc2t0b3ApCiAg CioqKioqKioqKioqKioqKgoqKiogMjgyLDI4NyAqKioqCi0tLSAzMDYsMzEyIC0tLS0KICAgICAg c2l6ZS1pbmRpY2F0aW9uLW1vZGUKICAgICAgYnVmZmVyLWZpbGUtY29kaW5nLXN5c3RlbQogICAg ICBpbmRlbnQtdGFicy1tb2RlCisgICAgIHRhYi13aWR0aAogICAgICBpbmRpY2F0ZS1idWZmZXIt Ym91bmRhcmllcwogICAgICBpbmRpY2F0ZS1lbXB0eS1saW5lcwogICAgICBzaG93LXRyYWlsaW5n LXdoaXRlc3BhY2UpCioqKioqKioqKioqKioqKgoqKiogNDc1LDQ4MCAqKioqCi0tLSA1MDAsNTE1 IC0tLS0KICAoZGVmdmFyIGRlc2t0b3AtZGlybmFtZSBuaWwKICAgICJUaGUgZGlyZWN0b3J5IGlu IHdoaWNoIHRoZSBkZXNrdG9wIGZpbGUgc2hvdWxkIGJlIHNhdmVkLiIpCiAgCisgKGRlZnVuIGRl c2t0b3AtZnVsbC1maWxlLW5hbWUgKCZvcHRpb25hbCBkaXJuYW1lKQorICAgIlJldHVybiB0aGUg ZnVsbCBuYW1lIG9mIHRoZSBkZXNrdG9wIGZpbGUgaW4gRElSTkFNRS4KKyBESVJOQU1FIG9taXR0 ZWQgb3IgbmlsIG1lYW5zIHVzZSBgZGVza3RvcC1kaXJuYW1lJy4iCisgICAoZXhwYW5kLWZpbGUt bmFtZSBkZXNrdG9wLWJhc2UtZmlsZS1uYW1lIChvciBkaXJuYW1lIGRlc2t0b3AtZGlybmFtZSkp KQorIAorIChkZWZ1biBkZXNrdG9wLWZ1bGwtbG9jay1uYW1lICgmb3B0aW9uYWwgZGlybmFtZSkK KyAgICJSZXR1cm4gdGhlIGZ1bGwgbmFtZSBvZiB0aGUgZGVza3RvcCBsb2NrIGZpbGUgaW4gRElS TkFNRS4KKyBESVJOQU1FIG9taXR0ZWQgb3IgbmlsIG1lYW5zIHVzZSBgZGVza3RvcC1kaXJuYW1l Jy4iCisgICAoZXhwYW5kLWZpbGUtbmFtZSBkZXNrdG9wLWJhc2UtbG9jay1uYW1lIChvciBkaXJu YW1lIGRlc2t0b3AtZGlybmFtZSkpKQorIAogIChkZWZjb25zdCBkZXNrdG9wLWhlYWRlcgogICI7 OyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQogIDs7IERlc2t0b3AgRmlsZSBmb3IgRW1hY3MKKioqKioqKioq KioqKioqCioqKiA0ODUsNDkwICoqKioKLS0tIDUyMCw1NTggLS0tLQogICAgIkhvb2tzIHJ1biBh ZnRlciBhbGwgYnVmZmVycyBhcmUgbG9hZGVkOyBpbnRlbmRlZCBmb3IgaW50ZXJuYWwgdXNlLiIp CiAgCiAgOzsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDs7IERlc2t0b3AgZmlsZSBjb25mbGljdCBk ZXRlY3Rpb24KKyAoZGVmdmFyIGRlc2t0b3AtZmlsZS1tb2R0aW1lIG5pbAorICAgIldoZW4gdGhl IGRlc2t0b3AgZmlsZSB3YXMgbGFzdCBtb2RpZmllZCB0byB0aGUga25vd2xlZGdlIG9mIHRoaXMg RW1hY3MuCisgVXNlZCB0byBkZXRlY3QgZGVza3RvcCBmaWxlIGNvbmZsaWN0cy4iKQorIAorIChk ZWZ1biBkZXNrdG9wLW93bmVyICgmb3B0aW9uYWwgZGlybmFtZSkKKyAgICJSZXR1cm4gdGhlIFBJ RCBvZiB0aGUgRW1hY3MgcHJvY2VzcyB0aGF0IG93bnMgdGhlIGRlc2t0b3AgZmlsZSBpbiBESVJO QU1FLgorIFJldHVybiBuaWwgaWYgbm8gZGVza3RvcCBmaWxlIGZvdW5kIG9yIG5vIEVtYWNzIHBy b2Nlc3MgaXMgdXNpbmcgaXQuCisgRElSTkFNRSBvbWl0dGVkIG9yIG5pbCBtZWFucyB1c2UgYGRl c2t0b3AtZGlybmFtZScuIgorICAgKGxldCAob3duZXIpCisgICAgIChhbmQgKGZpbGUtZXhpc3Rz LXAgKGRlc2t0b3AtZnVsbC1sb2NrLW5hbWUgZGlybmFtZSkpCisgCSAoY29uZGl0aW9uLWNhc2Ug bmlsCisgCSAgICAgKHdpdGgtdGVtcC1idWZmZXIgKGluc2VydC1maWxlLWNvbnRlbnRzLWxpdGVy YWxseQorIAkJCQkoZGVza3RvcC1mdWxsLWxvY2stbmFtZSBkaXJuYW1lKSkKKyAJCQkgICAgICAg KGdvdG8tY2hhciAocG9pbnQtbWluKSkKKyAJCQkgICAgICAgKHNldHEgb3duZXIgKHJlYWQgKGN1 cnJlbnQtYnVmZmVyKSkpCisgCQkJICAgICAgIChpbnRlZ2VycCBvd25lcikpCisgCSAgIChlcnJv ciBuaWwpKQorIAkgb3duZXIpKSkKKyAKKyAoZGVmdW4gZGVza3RvcC1jbGFpbS1sb2NrICgmb3B0 aW9uYWwgZGlybmFtZSkKKyAgICJSZWNvcmQgdGhpcyBFbWFjcyBwcm9jZXNzIGFzIHRoZSBvd25l ciBvZiB0aGUgZGVza3RvcCBmaWxlIGluIERJUk5BTUUuCisgRElSTkFNRSBvbWl0dGVkIG9yIG5p bCBtZWFucyB1c2UgYGRlc2t0b3AtZGlybmFtZScuIgorICAgKHdyaXRlLXJlZ2lvbiAobnVtYmVy LXRvLXN0cmluZyAoZW1hY3MtcGlkKSkgbmlsCisgCQkoZGVza3RvcC1mdWxsLWxvY2stbmFtZSBk aXJuYW1lKSkpCisgCisgKGRlZnVuIGRlc2t0b3AtcmVsZWFzZS1sb2NrICgmb3B0aW9uYWwgZGly bmFtZSkKKyAgICJSZW1vdmUgdGhlIGxvY2sgZmlsZSBmb3IgdGhlIGRlc2t0b3AgaW4gRElSTkFN RS4KKyBESVJOQU1FIG9taXR0ZWQgb3IgbmlsIG1lYW5zIHVzZSBgZGVza3RvcC1kaXJuYW1lJy4i CisgICAobGV0ICgoZmlsZSAoZGVza3RvcC1mdWxsLWxvY2stbmFtZSBkaXJuYW1lKSkpCisgICAg ICh3aGVuIChmaWxlLWV4aXN0cy1wIGZpbGUpIChkZWxldGUtZmlsZSBmaWxlKSkpKQorIAorIDs7 IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KICAoZGVmdW4gZGVza3RvcC10cnVuY2F0ZSAobGlzdCBuKQog ICAgIlRydW5jYXRlIExJU1QgdG8gYXQgbW9zdCBOIGVsZW1lbnRzIGRlc3RydWN0aXZlbHkuIgog ICAgKGxldCAoKGhlcmUgKG50aGNkciAoMS0gbikgbGlzdCkpKQoqKioqKioqKioqKioqKioKKioq IDUyOSw1NTYgKioqKgogIElmIHRoZSBkZXNrdG9wIHNob3VsZCBiZSBzYXZlZCBhbmQgYGRlc2t0 b3AtZGlybmFtZScKICBpcyBuaWwsIGFzayB0aGUgdXNlciB3aGVyZSB0byBzYXZlIHRoZSBkZXNr dG9wLiIKICAgICh3aGVuCiEgICAgIChhbmQKISAgICAgICBkZXNrdG9wLXNhdmUtbW9kZQohICAg ICAgIChsZXQgKChleGlzdHMgKGZpbGUtZXhpc3RzLXAgKGV4cGFuZC1maWxlLW5hbWUgZGVza3Rv cC1iYXNlLWZpbGUtbmFtZSBkZXNrdG9wLWRpcm5hbWUpKSkpCiEgICAgICAgICAob3IKISAgICAg ICAgICAgKGVxIGRlc2t0b3Atc2F2ZSB0KQohICAgICAgICAgICAoYW5kIGV4aXN0cyAobWVtcSBk ZXNrdG9wLXNhdmUgJyhhc2staWYtbmV3IGlmLWV4aXN0cykpKQohICAgICAgICAgICAoYW5kCiEg ICAgICAgICAgICAgKG9yCiEgICAgICAgICAgICAgICAobWVtcSBkZXNrdG9wLXNhdmUgJyhhc2sg YXNrLWlmLW5ldykpCiEgICAgICAgICAgICAgICAoYW5kIGV4aXN0cyAoZXEgZGVza3RvcC1zYXZl ICdhc2staWYtZXhpc3RzKSkpCiEgICAgICAgICAgICAgKHktb3Itbi1wICJTYXZlIGRlc2t0b3A/ ICIpKSkpKQogICAgICAodW5sZXNzIGRlc2t0b3AtZGlybmFtZQogICAgICAgIChzZXRxIGRlc2t0 b3AtZGlybmFtZQohICAgICAgICAgKGZpbGUtbmFtZS1hcy1kaXJlY3RvcnkKISAgICAgICAgICAg KGV4cGFuZC1maWxlLW5hbWUKISAgICAgICAgICAgICAoY2FsbC1pbnRlcmFjdGl2ZWx5CiEgICAg ICAgICAgICAgICAobGFtYmRhIChkaXIpIChpbnRlcmFjdGl2ZSAiRERpcmVjdG9yeSBmb3IgZGVz a3RvcCBmaWxlOiAiKSBkaXIpKSkpKSkKICAgICAgKGNvbmRpdGlvbi1jYXNlIGVycgohICAgICAg IChkZXNrdG9wLXNhdmUgZGVza3RvcC1kaXJuYW1lKQogICAgICAgIChmaWxlLWVycm9yCiEgICAg ICAgICAodW5sZXNzICh5ZXMtb3Itbm8tcCAiRXJyb3Igd2hpbGUgc2F2aW5nIHRoZSBkZXNrdG9w LiAgSWdub3JlPyAiKQohICAgICAgICAgICAoc2lnbmFsIChjYXIgZXJyKSAoY2RyIGVycikpKSkp KSkKICAKICA7OyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgKGRlZnVuIGRlc2t0b3AtbGlzdCogKCZy ZXN0IGFyZ3MpCi0tLSA1OTcsNjI2IC0tLS0KICBJZiB0aGUgZGVza3RvcCBzaG91bGQgYmUgc2F2 ZWQgYW5kIGBkZXNrdG9wLWRpcm5hbWUnCiAgaXMgbmlsLCBhc2sgdGhlIHVzZXIgd2hlcmUgdG8g c2F2ZSB0aGUgZGVza3RvcC4iCiAgICAod2hlbgohICAgICAgIChhbmQKISAgICAgICAgZGVza3Rv cC1zYXZlLW1vZGUKISAgICAgICAgKGxldCAoKGV4aXN0cyAoZmlsZS1leGlzdHMtcCAoZGVza3Rv cC1mdWxsLWZpbGUtbmFtZSkpKSkKISAJIChvcgohIAkgIChlcSBkZXNrdG9wLXNhdmUgdCkKISAJ ICAoYW5kIGV4aXN0cyAobWVtcSBkZXNrdG9wLXNhdmUgJyhhc2staWYtbmV3IGlmLWV4aXN0cykp KQohIAkgIChhbmQKISAJICAgKG9yCiEgCSAgICAobWVtcSBkZXNrdG9wLXNhdmUgJyhhc2sgYXNr LWlmLW5ldykpCiEgCSAgICAoYW5kIGV4aXN0cyAoZXEgZGVza3RvcC1zYXZlICdhc2staWYtZXhp c3RzKSkpCiEgCSAgICh5LW9yLW4tcCAiU2F2ZSBkZXNrdG9wPyAiKSkpKSkKICAgICAgKHVubGVz cyBkZXNrdG9wLWRpcm5hbWUKICAgICAgICAoc2V0cSBkZXNrdG9wLWRpcm5hbWUKISAJICAgIChm aWxlLW5hbWUtYXMtZGlyZWN0b3J5CiEgCSAgICAgKGV4cGFuZC1maWxlLW5hbWUKISAJICAgICAg KGNhbGwtaW50ZXJhY3RpdmVseQohIAkgICAgICAgKGxhbWJkYSAoZGlyKSAoaW50ZXJhY3RpdmUg IkREaXJlY3RvcnkgZm9yIGRlc2t0b3AgZmlsZTogIikgZGlyKSkpKSkpCiAgICAgIChjb25kaXRp b24tY2FzZSBlcnIKISAJKGRlc2t0b3Atc2F2ZSBkZXNrdG9wLWRpcm5hbWUgdCkKICAgICAgICAo ZmlsZS1lcnJvcgohICAgICAgICAodW5sZXNzICh5ZXMtb3Itbm8tcCAiRXJyb3Igd2hpbGUgc2F2 aW5nIHRoZSBkZXNrdG9wLiAgSWdub3JlPyAiKQohIAkgKHNpZ25hbCAoY2FyIGVycikgKGNkciBl cnIpKSkpKSkKISAgIDs7IElmIHdlIG93biBpdCwgd2UgZG9uJ3QgYW55bW9yZS4KISAgIChpZiAo ZXEgKGVtYWNzLXBpZCkgKGRlc2t0b3Atb3duZXIpKSAoZGVza3RvcC1yZWxlYXNlLWxvY2spKSkK ICAKICA7OyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgKGRlZnVuIGRlc2t0b3AtbGlzdCogKCZyZXN0 IGFyZ3MpCioqKioqKioqKioqKioqKgoqKiogNTY1LDU3MCAqKioqCi0tLSA2MzUsNjc2IC0tLS0K ICAgICAgICB2YWx1ZSkpKQogIAogIDs7IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAoZGVmdW4gZGVz a3RvcC1idWZmZXItaW5mbyAoYnVmZmVyKQorICAgKHNldC1idWZmZXIgYnVmZmVyKQorICAgKGxp c3QKKyAgICA7OyBiYXNpYyBpbmZvcm1hdGlvbgorICAgIChkZXNrdG9wLWZpbGUtbmFtZSAoYnVm ZmVyLWZpbGUtbmFtZSkgZGlybmFtZSkgKGJ1ZmZlci1uYW1lKSBtYWpvci1tb2RlCisgICAgOzsg bWlub3IgbW9kZXMKKyAgICAobGV0IChyZXQpCisgICAgICAobWFwYworICAgICAgICMnKGxhbWJk YSAobWlub3ItbW9kZSkKKyAJICAoYW5kCisgCSAgIChib3VuZHAgbWlub3ItbW9kZSkKKyAJICAg KHN5bWJvbC12YWx1ZSBtaW5vci1tb2RlKQorIAkgICAobGV0KiAoKHNwZWNpYWwgKGFzc3EgbWlu b3ItbW9kZSBkZXNrdG9wLW1pbm9yLW1vZGUtdGFibGUpKQorIAkJICAodmFsdWUgKGNvbmQgKHNw ZWNpYWwgKGNhZHIgc3BlY2lhbCkpCisgCQkJICAgICAgICgoZnVuY3Rpb25wIG1pbm9yLW1vZGUp IG1pbm9yLW1vZGUpKSkpCisgCSAgICAgKHdoZW4gdmFsdWUgKGFkZC10by1saXN0ICdyZXQgdmFs dWUpKSkpKQorICAgICAgIChtYXBjYXIgIydjYXIgbWlub3ItbW9kZS1hbGlzdCkpCisgICAgICBy ZXQpCisgICAgOzsgcG9pbnQgYW5kIG1hcmssIGFuZCByZWFkLW9ubHkgc3RhdHVzCisgICAgKHBv aW50KSAobGlzdCAobWFyayB0KSBtYXJrLWFjdGl2ZSkgYnVmZmVyLXJlYWQtb25seQorICAgIDs7 IGF1eGlsaWFyeSBpbmZvcm1hdGlvbgorICAgICh3aGVuIChmdW5jdGlvbnAgZGVza3RvcC1zYXZl LWJ1ZmZlcikKKyAgICAgIChmdW5jYWxsIGRlc2t0b3Atc2F2ZS1idWZmZXIgZGlybmFtZSkpCisg ICAgOzsgbG9jYWwgdmFyaWFibGVzCisgICAgKGxldCAoKGxvY2FscyBkZXNrdG9wLWxvY2Fscy10 by1zYXZlKQorIAkgKGxvY2xpc3QgKGJ1ZmZlci1sb2NhbC12YXJpYWJsZXMpKQorIAkgKGxsKSkK KyAgICAgICh3aGlsZSBsb2NhbHMKKyAgICAgICAgKGxldCAoKGhlcmUgKGFzc3EgKGNhciBsb2Nh bHMpIGxvY2xpc3QpKSkKKyAJIChpZiBoZXJlIChzZXRxIGxsIChjb25zIGhlcmUgbGwpKQorIAkg ICAod2hlbiAobWVtYmVyIChjYXIgbG9jYWxzKSBsb2NsaXN0KQorIAkgICAgIChzZXRxIGxsIChj b25zIChjYXIgbG9jYWxzKSBsbCkpKSkpCisgICAgICAgIChzZXRxIGxvY2FscyAoY2RyIGxvY2Fs cykpKQorICAgICAgbGwpKSkKKyAKKyA7OyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgKGRlZnVuIGRl c2t0b3AtaW50ZXJuYWwtdjJzICh2YWx1ZSkKICAgICJDb252ZXJ0IFZBTFVFIHRvIGEgcGFpciAo UVVPVEUgLiBUWFQpOyAoZXZhbCAocmVhZCBUWFQpKSBnaXZlcyBWQUxVRS4KICBUWFQgaXMgYSBz dHJpbmcgdGhhdCB3aGVuIHJlYWQgYW5kIGV2YWx1YXRlZCB5aWVsZHMgdmFsdWUuCioqKioqKioq KioqKioqKgoqKiogNzE1LDgwOCAqKioqCiAgICAgICh0IChleHBhbmQtZmlsZS1uYW1lIGZpbGVu YW1lKSkpKQogIAogIDs7IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KISAoZGVmdW4gZGVza3RvcC1zYXZl IChkaXJuYW1lKQogICAgIlNhdmUgdGhlIGRlc2t0b3AgaW4gYSBkZXNrdG9wIGZpbGUuCiAgUGFy YW1ldGVyIERJUk5BTUUgc3BlY2lmaWVzIHdoZXJlIHRvIHNhdmUgdGhlIGRlc2t0b3AgZmlsZS4K ICBTZWUgYWxzbyBgZGVza3RvcC1iYXNlLWZpbGUtbmFtZScuIgogICAgKGludGVyYWN0aXZlICJE RGlyZWN0b3J5IHRvIHNhdmUgZGVza3RvcCBmaWxlIGluOiAiKQohICAgKHJ1bi1ob29rcyAnZGVz a3RvcC1zYXZlLWhvb2spCiEgICAoc2V0cSBkaXJuYW1lIChmaWxlLW5hbWUtYXMtZGlyZWN0b3J5 IChleHBhbmQtZmlsZS1uYW1lIGRpcm5hbWUpKSkKICAgIChzYXZlLWV4Y3Vyc2lvbgohICAgICAo bGV0ICgoZmlsZW5hbWUgKGV4cGFuZC1maWxlLW5hbWUgZGVza3RvcC1iYXNlLWZpbGUtbmFtZSBk aXJuYW1lKSkKISAgICAgICAgICAgKGluZm8KISAgICAgICAgICAgICAobWFwY2FyCiEgICAgICAg ICAgICAgICAjJyhsYW1iZGEgKGIpCiEgICAgICAgICAgICAgICAgICAgKHNldC1idWZmZXIgYikK ISAgICAgICAgICAgICAgICAgICAobGlzdAohICAgICAgICAgICAgICAgICAgICAgKGRlc2t0b3At ZmlsZS1uYW1lIChidWZmZXItZmlsZS1uYW1lKSBkaXJuYW1lKQohICAgICAgICAgICAgICAgICAg ICAgKGJ1ZmZlci1uYW1lKQohICAgICAgICAgICAgICAgICAgICAgbWFqb3ItbW9kZQohICAgICAg ICAgICAgICAgICAgICAgOzsgbWlub3IgbW9kZXMKISAgICAgICAgICAgICAgICAgICAgIChsZXQg KHJldCkKISAgICAgICAgICAgICAgICAgICAgICAgKG1hcGMKISAgICAgICAgICAgICAgICAgICAg ICAgICAjJyhsYW1iZGEgKG1pbm9yLW1vZGUpCiEgICAgICAgICAgICAgICAgICAgICAgICAgICAo YW5kCiEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChib3VuZHAgbWlub3ItbW9kZSkKISAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN5bWJvbC12YWx1ZSBtaW5vci1tb2RlKQohICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAobGV0KiAoKHNwZWNpYWwgKGFzc3EgbWlub3ItbW9k ZSBkZXNrdG9wLW1pbm9yLW1vZGUtdGFibGUpKQohICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKHZhbHVlIChjb25kIChzcGVjaWFsIChjYWRyIHNwZWNpYWwpKQohICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoZnVuY3Rpb25wIG1pbm9y LW1vZGUpIG1pbm9yLW1vZGUpKSkpCiEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHdo ZW4gdmFsdWUgKGFkZC10by1saXN0ICdyZXQgdmFsdWUpKSkpKQohICAgICAgICAgICAgICAgICAg ICAgICAgIChtYXBjYXIgIydjYXIgbWlub3ItbW9kZS1hbGlzdCkpCiEgICAgICAgICAgICAgICAg ICAgICAgIHJldCkKISAgICAgICAgICAgICAgICAgICAgIChwb2ludCkKISAgICAgICAgICAgICAg ICAgICAgIChsaXN0IChtYXJrIHQpIG1hcmstYWN0aXZlKQohICAgICAgICAgICAgICAgICAgICAg YnVmZmVyLXJlYWQtb25seQohICAgICAgICAgICAgICAgICAgICAgOzsgQXV4aWxpYXJ5IGluZm9y bWF0aW9uCiEgICAgICAgICAgICAgICAgICAgICAod2hlbiAoZnVuY3Rpb25wIGRlc2t0b3Atc2F2 ZS1idWZmZXIpCiEgICAgICAgICAgICAgICAgICAgICAgIChmdW5jYWxsIGRlc2t0b3Atc2F2ZS1i dWZmZXIgZGlybmFtZSkpCiEgICAgICAgICAgICAgICAgICAgICAobGV0ICgobG9jYWxzIGRlc2t0 b3AtbG9jYWxzLXRvLXNhdmUpCiEgICAgICAgICAgICAgICAgICAgICAgICAgICAobG9jbGlzdCAo YnVmZmVyLWxvY2FsLXZhcmlhYmxlcykpCiEgICAgICAgICAgICAgICAgICAgICAgICAgICAobGwp KQohICAgICAgICAgICAgICAgICAgICAgICAod2hpbGUgbG9jYWxzCiEgICAgICAgICAgICAgICAg ICAgICAgICAgKGxldCAoKGhlcmUgKGFzc3EgKGNhciBsb2NhbHMpIGxvY2xpc3QpKSkKISAgICAg ICAgICAgICAgICAgICAgICAgICAgIChpZiBoZXJlCiEgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChzZXRxIGxsIChjb25zIGhlcmUgbGwpKQohICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAod2hlbiAobWVtYmVyIChjYXIgbG9jYWxzKSBsb2NsaXN0KQohICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChzZXRxIGxsIChjb25zIChjYXIgbG9jYWxzKSBsbCkpKSkpCiEgICAgICAg ICAgICAgICAgICAgICAgICAgKHNldHEgbG9jYWxzIChjZHIgbG9jYWxzKSkpCiEgICAgICAgICAg ICAgICAgICAgICAgIGxsKSkpCiEgICAgICAgICAgICAgICAoYnVmZmVyLWxpc3QpKSkKISAgICAg ICAgICAgKGVhZ2VyIGRlc2t0b3AtcmVzdG9yZS1lYWdlcikKISAgICAgICAgICAgKGJ1ZiAoZ2V0 LWJ1ZmZlci1jcmVhdGUgIipkZXNrdG9wKiIpKSkKISAgICAgICAoc2V0LWJ1ZmZlciBidWYpCiEg ICAgICAgKGVyYXNlLWJ1ZmZlcikKISAKISAgICAgICAoaW5zZXJ0CiEgICAgICAgICAiOzsgLSot IG1vZGU6IGVtYWNzLWxpc3A7IGNvZGluZzogZW1hY3MtbXVsZTsgLSotXG4iCiEgICAgICAgICBk ZXNrdG9wLWhlYWRlcgohICAgICAgICAgIjs7IENyZWF0ZWQgIiAoY3VycmVudC10aW1lLXN0cmlu ZykgIlxuIgohICAgICAgICAgIjs7IERlc2t0b3AgZmlsZSBmb3JtYXQgdmVyc2lvbiAiIGRlc2t0 b3AtZmlsZS12ZXJzaW9uICJcbiIKISAgICAgICAgICI7OyBFbWFjcyB2ZXJzaW9uICIgZW1hY3Mt dmVyc2lvbiAiXG5cbiIKISAgICAgICAgICI7OyBHbG9iYWwgc2VjdGlvbjpcbiIpCiEgICAgICAg KG1hcGMgKGZ1bmN0aW9uIGRlc2t0b3Atb3V0dmFyKSBkZXNrdG9wLWdsb2JhbHMtdG8tc2F2ZSkK ISAgICAgICAoaWYgKG1lbXEgJ2tpbGwtcmluZyBkZXNrdG9wLWdsb2JhbHMtdG8tc2F2ZSkKISAg ICAgICAgIChpbnNlcnQKISAgICAgICAgICAgIihzZXRxIGtpbGwtcmluZy15YW5rLXBvaW50ZXIg KG50aGNkciAiCiEgICAgICAgICAgIChpbnQtdG8tc3RyaW5nICgtIChsZW5ndGgga2lsbC1yaW5n KSAobGVuZ3RoIGtpbGwtcmluZy15YW5rLXBvaW50ZXIpKSkKISAgICAgICAgICAgIiBraWxsLXJp bmcpKVxuIikpCiEgCiEgICAgICAgKGluc2VydCAiXG47OyBCdWZmZXIgc2VjdGlvbiAtLSBidWZm ZXJzIGxpc3RlZCBpbiBzYW1lIG9yZGVyIGFzIGluIGJ1ZmZlciBsaXN0OlxuIikKISAgICAgICAo bWFwYyAjJyhsYW1iZGEgKGwpCiEgICAgICAgICAgICAgICAgICh3aGVuIChhcHBseSAnZGVza3Rv cC1zYXZlLWJ1ZmZlci1wIGwpCiEgICAgICAgICAgICAgICAgICAgKGluc2VydCAiKCIKISAgICAg ICAgICAgICAgICAgICAgICAgICAgIChpZiAob3IgKG5vdCAoaW50ZWdlcnAgZWFnZXIpKQohICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodW5sZXNzICh6ZXJvcCBlYWdlcikKISAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2V0cSBlYWdlciAoMS0gZWFnZXIp KQohICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHQpKQohICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICJkZXNrdG9wLWNyZWF0ZS1idWZmZXIiCiEgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICJkZXNrdG9wLWFwcGVuZC1idWZmZXItYXJncyIpCiEgICAgICAgICAg ICAgICAgICAgICAgICAgICAiICIKISAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2t0b3At ZmlsZS12ZXJzaW9uKQohICAgICAgICAgICAgICAgICAgIChtYXBjICMnKGxhbWJkYSAoZSkKISAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGluc2VydCAiXG4gICIgKGRlc2t0b3AtdmFsdWUt dG8tc3RyaW5nIGUpKSkKISAgICAgICAgICAgICAgICAgICAgICAgICBsKQohICAgICAgICAgICAg ICAgICAgIChpbnNlcnQgIilcblxuIikpKQohICAgICAgICAgICAgIGluZm8pCiEgICAgICAgKHNl dHEgZGVmYXVsdC1kaXJlY3RvcnkgZGlybmFtZSkKISAgICAgICAobGV0ICgoY29kaW5nLXN5c3Rl bS1mb3Itd3JpdGUgJ2VtYWNzLW11bGUpKQohICAgICAgICAgKHdyaXRlLXJlZ2lvbiAocG9pbnQt bWluKSAocG9pbnQtbWF4KSBmaWxlbmFtZSBuaWwgJ25vbWVzc2FnZSkpKSkKISAgIChzZXRxIGRl c2t0b3AtZGlybmFtZSBkaXJuYW1lKSkKICAKICA7OyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgKGRl ZnVuIGRlc2t0b3AtcmVtb3ZlICgpCi0tLSA4MjEsODkxIC0tLS0KICAgICAgKHQgKGV4cGFuZC1m aWxlLW5hbWUgZmlsZW5hbWUpKSkpCiAgCiAgOzsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQohIChkZWZ1 biBkZXNrdG9wLXNhdmUgKGRpcm5hbWUgJm9wdGlvbmFsIHJlbGVhc2UpCiAgICAiU2F2ZSB0aGUg ZGVza3RvcCBpbiBhIGRlc2t0b3AgZmlsZS4KICBQYXJhbWV0ZXIgRElSTkFNRSBzcGVjaWZpZXMg d2hlcmUgdG8gc2F2ZSB0aGUgZGVza3RvcCBmaWxlLgorIE9wdGlvbmFsIHBhcmFtZXRlciBSRUxF QVNFIHNheXMgd2hldGhlciB3ZSdyZSBkb25lIHdpdGggdGhpcyBkZXNrdG9wLgogIFNlZSBhbHNv IGBkZXNrdG9wLWJhc2UtZmlsZS1uYW1lJy4iCiAgICAoaW50ZXJhY3RpdmUgIkREaXJlY3Rvcnkg dG8gc2F2ZSBkZXNrdG9wIGZpbGUgaW46ICIpCiEgICAoc2V0cSBkZXNrdG9wLWRpcm5hbWUgKGZp bGUtbmFtZS1hcy1kaXJlY3RvcnkgKGV4cGFuZC1maWxlLW5hbWUgZGlybmFtZSkpKQogICAgKHNh dmUtZXhjdXJzaW9uCiEgICAgIChsZXQgKChlYWdlciBkZXNrdG9wLXJlc3RvcmUtZWFnZXIpCiEg CSAgKG5ldy1tb2R0aW1lIChudGggNSAoZmlsZS1hdHRyaWJ1dGVzIChkZXNrdG9wLWZ1bGwtZmls ZS1uYW1lKSkpKSkKISAgICAgICAod2hlbgohIAkgIChvciAobm90IG5ldy1tb2R0aW1lKQkJOyBu b3RoaW5nIHRvIG92ZXJ3cml0ZQohIAkgICAgICAoZXF1YWwgZGVza3RvcC1maWxlLW1vZHRpbWUg bmV3LW1vZHRpbWUpCiEgCSAgICAgICh5ZXMtb3Itbm8tcCAoaWYgZGVza3RvcC1maWxlLW1vZHRp bWUKISAJCQkgICAgICAgKGlmICg+IChmbG9hdC10aW1lIG5ldy1tb2R0aW1lKSAoZmxvYXQtdGlt ZSBkZXNrdG9wLWZpbGUtbW9kdGltZSkpCiEgCQkJCSAgICJEZXNrdG9wIGZpbGUgaXMgbW9yZSBy ZWNlbnQgdGhhbiB0aGUgb25lIGxvYWRlZC4gIFNhdmUgYW55d2F5PyAiCiEgCQkJCSAiRGVza3Rv cCBmaWxlIGlzbid0IHRoZSBvbmUgbG9hZGVkLiAgT3ZlcndyaXRlIGl0PyAiKQohIAkJCSAgICAg IkN1cnJlbnQgZGVza3RvcCB3YXMgbm90IGxvYWRlZCBmcm9tIGEgZmlsZS4gIE92ZXJ3cml0ZSB0 aGlzIGRlc2t0b3AgZmlsZT8gIikpCiEgCSAgICAgICh1bmxlc3MgcmVsZWFzZSAoZXJyb3IgIkRl c2t0b3AgZmlsZSBjb25mbGljdCIpKSkKISAKISAJOzsgSWYgd2UncmUgZG9uZSB3aXRoIGl0LCBy ZWxlYXNlIHRoZSBsb2NrLgohIAk7OyBPdGhlcndpc2UsIGNsYWltIGl0IGlmIGl0J3MgdW5jbGFp bWVkIG9yIGlmIHdlIGNyZWF0ZWQgaXQuCiEgCShpZiByZWxlYXNlIChkZXNrdG9wLXJlbGVhc2Ut bG9jaykKISAJICAodW5sZXNzIChhbmQgbmV3LW1vZHRpbWUgKGRlc2t0b3Atb3duZXIpKSAoZGVz a3RvcC1jbGFpbS1sb2NrKSkpCiEgCiEgCSh3aXRoLXRlbXAtYnVmZmVyCiEgCSAgKGluc2VydAoh IAkgICAiOzsgLSotIG1vZGU6IGVtYWNzLWxpc3A7IGNvZGluZzogZW1hY3MtbXVsZTsgLSotXG4i CiEgCSAgIGRlc2t0b3AtaGVhZGVyCiEgCSAgICI7OyBDcmVhdGVkICIgKGN1cnJlbnQtdGltZS1z dHJpbmcpICJcbiIKISAJICAgIjs7IERlc2t0b3AgZmlsZSBmb3JtYXQgdmVyc2lvbiAiIGRlc2t0 b3AtZmlsZS12ZXJzaW9uICJcbiIKISAJICAgIjs7IEVtYWNzIHZlcnNpb24gIiBlbWFjcy12ZXJz aW9uICJcblxuIikKISAJICAoc2F2ZS1leGN1cnNpb24gKHJ1bi1ob29rcyAnZGVza3RvcC1zYXZl LWhvb2spKQohIAkgIChnb3RvLWNoYXIgKHBvaW50LW1heCkpCiEgCSAgKGluc2VydCAiOzsgR2xv YmFsIHNlY3Rpb246XG4iKQohIAkgIChtYXBjIChmdW5jdGlvbiBkZXNrdG9wLW91dHZhcikgZGVz a3RvcC1nbG9iYWxzLXRvLXNhdmUpCiEgCSAgKGlmIChtZW1xICdraWxsLXJpbmcgZGVza3RvcC1n bG9iYWxzLXRvLXNhdmUpCiEgCSAgICAgIChpbnNlcnQKISAJICAgICAgICIoc2V0cSBraWxsLXJp bmcteWFuay1wb2ludGVyIChudGhjZHIgIgohIAkgICAgICAgKGludC10by1zdHJpbmcgKC0gKGxl bmd0aCBraWxsLXJpbmcpIChsZW5ndGgga2lsbC1yaW5nLXlhbmstcG9pbnRlcikpKQohIAkgICAg ICAgIiBraWxsLXJpbmcpKVxuIikpCiEgCiEgCSAgKGluc2VydCAiXG47OyBCdWZmZXIgc2VjdGlv biAtLSBidWZmZXJzIGxpc3RlZCBpbiBzYW1lIG9yZGVyIGFzIGluIGJ1ZmZlciBsaXN0OlxuIikK ISAJICAobWFwYyAjJyhsYW1iZGEgKGwpCiEgCQkgICAgKHdoZW4gKGFwcGx5ICdkZXNrdG9wLXNh dmUtYnVmZmVyLXAgbCkKISAJCSAgICAgIChpbnNlcnQgIigiCiEgCQkJICAgICAgKGlmIChvciAo bm90IChpbnRlZ2VycCBlYWdlcikpCiEgCQkJCSAgICAgICh1bmxlc3MgKHplcm9wIGVhZ2VyKQoh IAkJCQkJKHNldHEgZWFnZXIgKDEtIGVhZ2VyKSkKISAJCQkJCXQpKQohIAkJCQkgICJkZXNrdG9w LWNyZWF0ZS1idWZmZXIiCiEgCQkJCSJkZXNrdG9wLWFwcGVuZC1idWZmZXItYXJncyIpCiEgCQkJ ICAgICAgIiAiCiEgCQkJICAgICAgZGVza3RvcC1maWxlLXZlcnNpb24pCiEgCQkgICAgICAobWFw YyAjJyhsYW1iZGEgKGUpCiEgCQkJCShpbnNlcnQgIlxuICAiIChkZXNrdG9wLXZhbHVlLXRvLXN0 cmluZyBlKSkpCiEgCQkJICAgIGwpCiEgCQkgICAgICAoaW5zZXJ0ICIpXG5cbiIpKSkKISAJCSht YXBjYXIgJ2Rlc2t0b3AtYnVmZmVyLWluZm8gKGJ1ZmZlci1saXN0KSkpCiEgCiEgCSAgKHNldHEg ZGVmYXVsdC1kaXJlY3RvcnkgZGlybmFtZSkKISAJICAobGV0ICgoY29kaW5nLXN5c3RlbS1mb3It d3JpdGUgJ2VtYWNzLW11bGUpKQohIAkgICAgKHdyaXRlLXJlZ2lvbiAocG9pbnQtbWluKSAocG9p bnQtbWF4KSAoZGVza3RvcC1mdWxsLWZpbGUtbmFtZSkgbmlsICdub21lc3NhZ2UpKQohIAkgIDs7 IFdlIHJlbWVtYmVyIHdoZW4gaXQgd2FzIG1vZGlmaWVkICh3aGljaCBpcyBwcmVzdW1hYmx5IGp1 c3Qgbm93KS4KISAJICAoc2V0cSBkZXNrdG9wLWZpbGUtbW9kdGltZSAobnRoIDUgKGZpbGUtYXR0 cmlidXRlcyAoZGVza3RvcC1mdWxsLWZpbGUtbmFtZSkpKSkpKSkpKQogIAogIDs7IC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KICAoZGVmdW4gZGVza3RvcC1yZW1vdmUgKCkKKioqKioqKioqKioqKioqCioq KiA4MTAsODE2ICoqKioKICBUaGlzIGZ1bmN0aW9uIGFsc28gc2V0cyBgZGVza3RvcC1kaXJuYW1l JyB0byBuaWwuIgogICAgKGludGVyYWN0aXZlKQogICAgKHdoZW4gZGVza3RvcC1kaXJuYW1lCiEg ICAgIChsZXQgKChmaWxlbmFtZSAoZXhwYW5kLWZpbGUtbmFtZSBkZXNrdG9wLWJhc2UtZmlsZS1u YW1lIGRlc2t0b3AtZGlybmFtZSkpKQogICAgICAgIChzZXRxIGRlc2t0b3AtZGlybmFtZSBuaWwp CiAgICAgICAgKHdoZW4gKGZpbGUtZXhpc3RzLXAgZmlsZW5hbWUpCiAgICAgICAgICAoZGVsZXRl LWZpbGUgZmlsZW5hbWUpKSkpKQotLS0gODkzLDg5OSAtLS0tCiAgVGhpcyBmdW5jdGlvbiBhbHNv IHNldHMgYGRlc2t0b3AtZGlybmFtZScgdG8gbmlsLiIKICAgIChpbnRlcmFjdGl2ZSkKICAgICh3 aGVuIGRlc2t0b3AtZGlybmFtZQohICAgICAobGV0ICgoZmlsZW5hbWUgKGRlc2t0b3AtZnVsbC1m aWxlLW5hbWUpKSkKICAgICAgICAoc2V0cSBkZXNrdG9wLWRpcm5hbWUgbmlsKQogICAgICAgICh3 aGVuIChmaWxlLWV4aXN0cy1wIGZpbGVuYW1lKQogICAgICAgICAgKGRlbGV0ZS1maWxlIGZpbGVu YW1lKSkpKSkKKioqKioqKioqKioqKioqCioqKiA4MzMsODg0ICoqKioKICAgIChpbnRlcmFjdGl2 ZSkKICAgICh1bmxlc3Mgbm9uaW50ZXJhY3RpdmUKICAgICAgKHNldHEgZGVza3RvcC1kaXJuYW1l CiEgICAgICAgKGZpbGUtbmFtZS1hcy1kaXJlY3RvcnkKISAgICAgICAgIChleHBhbmQtZmlsZS1u YW1lCiEgICAgICAgICAgIChvcgohICAgICAgICAgICAgIDs7IElmIERJUk5BTUUgaXMgc3BlY2lm aWVkLCB1c2UgaXQuCiEgICAgICAgICAgICAgKGFuZCAoPCAwIChsZW5ndGggZGlybmFtZSkpIGRp cm5hbWUpCiEgICAgICAgICAgICAgOzsgT3RoZXJ3aXNlIHNlYXJjaCBkZXNrdG9wIGZpbGUgaW4g ZGVza3RvcC1wYXRoLgohICAgICAgICAgICAgIChsZXQgKChkaXJzIGRlc2t0b3AtcGF0aCkpCiEg ICAgICAgICAgICAgICAod2hpbGUKISAgICAgICAgICAgICAgICAgKGFuZAohICAgICAgICAgICAg ICAgICAgIGRpcnMKISAgICAgICAgICAgICAgICAgICAobm90CiEgICAgICAgICAgICAgICAgICAg ICAoZmlsZS1leGlzdHMtcCAoZXhwYW5kLWZpbGUtbmFtZSBkZXNrdG9wLWJhc2UtZmlsZS1uYW1l IChjYXIgZGlycykpKSkpCiEgICAgICAgICAgICAgICAgIChzZXRxIGRpcnMgKGNkciBkaXJzKSkp CiEgICAgICAgICAgICAgICAoYW5kIGRpcnMgKGNhciBkaXJzKSkpCiEgICAgICAgICAgICAgOzsg SWYgbm90IGZvdW5kIGFuZCBgZGVza3RvcC1wYXRoJyBpcyBub24tbmlsLCB1c2UgaXRzIGZpcnN0 IGVsZW1lbnQuCiEgICAgICAgICAgICAgKGFuZCBkZXNrdG9wLXBhdGggKGNhciBkZXNrdG9wLXBh dGgpKQohICAgICAgICAgICAgIDs7IERlZmF1bHQ6IEhvbWUgZGlyZWN0b3J5LgohICAgICAgICAg ICAgICJ+IikpKSkKISAgICAgKGlmIChmaWxlLWV4aXN0cy1wIChleHBhbmQtZmlsZS1uYW1lIGRl c2t0b3AtYmFzZS1maWxlLW5hbWUgZGVza3RvcC1kaXJuYW1lKSkKISAgICAgICA7OyBEZXNrdG9w IGZpbGUgZm91bmQsIHByb2Nlc3MgaXQuCiEgICAgICAgKGxldCAoKGRlc2t0b3AtZmlyc3QtYnVm ZmVyIG5pbCkKISAgICAgICAgICAgICAoZGVza3RvcC1idWZmZXItb2stY291bnQgMCkKISAgICAg ICAgICAgICAoZGVza3RvcC1idWZmZXItZmFpbC1jb3VudCAwKSkKISAgICAgICAgIChzZXRxIGRl c2t0b3AtbGF6eS10aW1lciBuaWwpCiEgICAgICAgICA7OyBFdmFsdWF0ZSBkZXNrdG9wIGJ1ZmZl ci4KISAgICAgICAgIChsb2FkIChleHBhbmQtZmlsZS1uYW1lIGRlc2t0b3AtYmFzZS1maWxlLW5h bWUgZGVza3RvcC1kaXJuYW1lKSB0IHQgdCkKISAgICAgICAgIDs7IGBkZXNrdG9wLWNyZWF0ZS1i dWZmZXInIHB1dHMgYnVmZmVycyBhdCBlbmQgb2YgdGhlIGJ1ZmZlciBsaXN0LgohICAgICAgICAg OzsgV2Ugd2FudCBidWZmZXJzIGV4aXN0aW5nIHByaW9yIHRvIGV2YWx1YXRpbmcgdGhlIGRlc2t0 b3AgKGFuZCBub3QgcmV1c2VkKQohICAgICAgICAgOzsgdG8gYmUgcGxhY2VkIGF0IHRoZSBlbmQg b2YgdGhlIGJ1ZmZlciBsaXN0LCBzbyB3ZSBtb3ZlIHRoZW0gaGVyZS4KISAgICAgICAgIChtYXBj ICdidXJ5LWJ1ZmZlcgohICAgICAgICAgICAgICAgKG5yZXZlcnNlIChjZHIgKG1lbXEgZGVza3Rv cC1maXJzdC1idWZmZXIgKG5yZXZlcnNlIChidWZmZXItbGlzdCkpKSkpKQohICAgICAgICAgKHN3 aXRjaC10by1idWZmZXIgKGNhciAoYnVmZmVyLWxpc3QpKSkKISAgICAgICAgIChydW4taG9va3Mg J2Rlc2t0b3AtZGVsYXktaG9vaykKISAgICAgICAgIChzZXRxIGRlc2t0b3AtZGVsYXktaG9vayBu aWwpCiEgICAgICAgICAocnVuLWhvb2tzICdkZXNrdG9wLWFmdGVyLXJlYWQtaG9vaykKISAgICAg ICAgIChtZXNzYWdlICJEZXNrdG9wOiAlZCBidWZmZXIlcyByZXN0b3JlZCVzJXMuIgohICAgICAg ICAgICAgICAgICAgZGVza3RvcC1idWZmZXItb2stY291bnQKISAgICAgICAgICAgICAgICAgIChp ZiAoPSAxIGRlc2t0b3AtYnVmZmVyLW9rLWNvdW50KSAiIiAicyIpCiEgICAgICAgICAgICAgICAg ICAoaWYgKDwgMCBkZXNrdG9wLWJ1ZmZlci1mYWlsLWNvdW50KQohICAgICAgICAgICAgICAgICAg ICAgIChmb3JtYXQgIiwgJWQgZmFpbGVkIHRvIHJlc3RvcmUiIGRlc2t0b3AtYnVmZmVyLWZhaWwt Y291bnQpCiEgICAgICAgICAgICAgICAgICAgICIiKQohICAgICAgICAgICAgICAgICAgKGlmIGRl c2t0b3AtYnVmZmVyLWFyZ3MtbGlzdAohICAgICAgICAgICAgICAgICAgICAgIChmb3JtYXQgIiwg JWQgdG8gcmVzdG9yZSBsYXppbHkiCiEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobGVu Z3RoIGRlc2t0b3AtYnVmZmVyLWFyZ3MtbGlzdCkpCiEgICAgICAgICAgICAgICAgICAgICIiKSkK ISAgICAgICAgIHQpCiAgICAgICAgOzsgTm8gZGVza3RvcCBmaWxlIGZvdW5kLgogICAgICAgIChk ZXNrdG9wLWNsZWFyKQogICAgICAgIChsZXQgKChkZWZhdWx0LWRpcmVjdG9yeSBkZXNrdG9wLWRp cm5hbWUpKQotLS0gOTE2LDk4MyAtLS0tCiAgICAoaW50ZXJhY3RpdmUpCiAgICAodW5sZXNzIG5v bmludGVyYWN0aXZlCiAgICAgIChzZXRxIGRlc2t0b3AtZGlybmFtZQohIAkgIChmaWxlLW5hbWUt YXMtZGlyZWN0b3J5CiEgCSAgIChleHBhbmQtZmlsZS1uYW1lCiEgCSAgICAob3IKISAJICAgICA7 OyBJZiBESVJOQU1FIGlzIHNwZWNpZmllZCwgdXNlIGl0LgohIAkgICAgIChhbmQgKDwgMCAobGVu Z3RoIGRpcm5hbWUpKSBkaXJuYW1lKQohIAkgICAgIDs7IE90aGVyd2lzZSBzZWFyY2ggZGVza3Rv cCBmaWxlIGluIGRlc2t0b3AtcGF0aC4KISAJICAgICAobGV0ICgoZGlycyBkZXNrdG9wLXBhdGgp KQohIAkgICAgICAgKHdoaWxlCiEgCQkgICAoYW5kCiEgCQkgICAgZGlycwohIAkJICAgIChub3QK ISAJCSAgICAgKGZpbGUtZXhpc3RzLXAgKGRlc2t0b3AtZnVsbC1maWxlLW5hbWUgKGNhciBkaXJz KSkpKSkKISAJCSAoc2V0cSBkaXJzIChjZHIgZGlycykpKQohIAkgICAgICAgKGFuZCBkaXJzIChj YXIgZGlycykpKQohIAkgICAgIDs7IElmIG5vdCBmb3VuZCBhbmQgYGRlc2t0b3AtcGF0aCcgaXMg bm9uLW5pbCwgdXNlIGl0cyBmaXJzdCBlbGVtZW50LgohIAkgICAgIChhbmQgZGVza3RvcC1wYXRo IChjYXIgZGVza3RvcC1wYXRoKSkKISAJICAgICA7OyBEZWZhdWx0OiBIb21lIGRpcmVjdG9yeS4K ISAJICAgICAifiIpKSkpCiEgICAgIChpZiAoZmlsZS1leGlzdHMtcCAoZGVza3RvcC1mdWxsLWZp bGUtbmFtZSkpCiEgCTs7IERlc2t0b3AgZmlsZSBmb3VuZCwgYnV0IGlzIGl0IGFscmVhZHkgaW4g dXNlPwohIAkobGV0ICgoZGVza3RvcC1maXJzdC1idWZmZXIgbmlsKQohIAkgICAgICAoZGVza3Rv cC1idWZmZXItb2stY291bnQgMCkKISAJICAgICAgKGRlc2t0b3AtYnVmZmVyLWZhaWwtY291bnQg MCkKISAJICAgICAgKG93bmVyIChkZXNrdG9wLW93bmVyKSkpCiEgCSAgKGlmIChhbmQgb3duZXIK ISAJCSAgIChub3QgKHktb3Itbi1wIChmb3JtYXQgIldhcm5pbmc6IGRlc2t0b3AgZmlsZSBhcHBl YXJzIHRvIGJlIGluIHVzZSBieSBQSUQgJXMuXG5Vc2luZyBpdCBtYXkgY2F1c2UgY29uZmxpY3Rz LiAgVXNlIGl0IGFueXdheT8gIiBvd25lcikpKSkKISAJICAgICAgKHByb2duIChzZXRxIGRlc2t0 b3AtZGlybmFtZSBuaWwpCiEgCQkgICAgIChsZXQgKChkZWZhdWx0LWRpcmVjdG9yeSBkZXNrdG9w LWRpcm5hbWUpKQohIAkJICAgICAgIChydW4taG9va3MgJ2Rlc2t0b3Atbm90LWxvYWRlZC1ob29r KSkKISAJCSAgICAgKG1lc3NhZ2UgIkRlc2t0b3AgZmlsZSBpbiB1c2U7IG5vdCBsb2FkZWQuIikp CiEgCSAgICAoc2V0cSBkZXNrdG9wLWxhenktdGltZXIgbmlsKQohIAkgICAgOzsgRXZhbHVhdGUg ZGVza3RvcCBidWZmZXIgYW5kIHJlbWVtYmVyIHdoZW4gaXQgd2FzIG1vZGlmaWVkLgohIAkgICAg KGxvYWQgKGRlc2t0b3AtZnVsbC1maWxlLW5hbWUpIHQgdCB0KQohIAkgICAgKHNldHEgZGVza3Rv cC1maWxlLW1vZHRpbWUgKG50aCA1IChmaWxlLWF0dHJpYnV0ZXMgKGRlc2t0b3AtZnVsbC1maWxl LW5hbWUpKSkpCiEgCSAgICA7OyBJZiBpdCB3YXNuJ3QgYWxyZWFkeSwgbWFyayBpdCBhcyBpbi11 c2UsIHRvIGJvdGhlciBvdGhlcgohIAkgICAgOzsgZGVza3RvcCBpbnN0YW5jZXMuCiEgCSAgICAo dW5sZXNzIG93bmVyCiEgCSAgICAgIChjb25kaXRpb24tY2FzZSBuaWwgKGRlc2t0b3AtY2xhaW0t bG9jaykKISAJCShmaWxlLWVycm9yIChtZXNzYWdlICJDb3VsZG4ndCByZWNvcmQgdXNlIG9mIGRl c2t0b3AgZmlsZSIpCiEgCQkJICAgIChzaXQtZm9yIDEpKSkpCiEgCiEgCSAgICA7OyBgZGVza3Rv cC1jcmVhdGUtYnVmZmVyJyBwdXRzIGJ1ZmZlcnMgYXQgZW5kIG9mIHRoZSBidWZmZXIgbGlzdC4K ISAJICAgIDs7IFdlIHdhbnQgYnVmZmVycyBleGlzdGluZyBwcmlvciB0byBldmFsdWF0aW5nIHRo ZSBkZXNrdG9wIChhbmQKISAJICAgIDs7IG5vdCByZXVzZWQpIHRvIGJlIHBsYWNlZCBhdCB0aGUg ZW5kIG9mIHRoZSBidWZmZXIgbGlzdCwgc28gd2UKISAJICAgIDs7IG1vdmUgdGhlbSBoZXJlLgoh IAkgICAgKG1hcGMgJ2J1cnktYnVmZmVyCiEgCQkgIChucmV2ZXJzZSAoY2RyIChtZW1xIGRlc2t0 b3AtZmlyc3QtYnVmZmVyIChucmV2ZXJzZSAoYnVmZmVyLWxpc3QpKSkpKSkKISAJICAgIChzd2l0 Y2gtdG8tYnVmZmVyIChjYXIgKGJ1ZmZlci1saXN0KSkpCiEgCSAgICAocnVuLWhvb2tzICdkZXNr dG9wLWRlbGF5LWhvb2spCiEgCSAgICAoc2V0cSBkZXNrdG9wLWRlbGF5LWhvb2sgbmlsKQohIAkg ICAgKHJ1bi1ob29rcyAnZGVza3RvcC1hZnRlci1yZWFkLWhvb2spCiEgCSAgICAobWVzc2FnZSAi RGVza3RvcDogJWQgYnVmZmVyJXMgcmVzdG9yZWQlcyVzLiIKISAJCSAgICAgZGVza3RvcC1idWZm ZXItb2stY291bnQKISAJCSAgICAgKGlmICg9IDEgZGVza3RvcC1idWZmZXItb2stY291bnQpICIi ICJzIikKISAJCSAgICAgKGlmICg8IDAgZGVza3RvcC1idWZmZXItZmFpbC1jb3VudCkKISAJCQkg KGZvcm1hdCAiLCAlZCBmYWlsZWQgdG8gcmVzdG9yZSIgZGVza3RvcC1idWZmZXItZmFpbC1jb3Vu dCkKISAJCSAgICAgICAiIikKISAJCSAgICAgKGlmIGRlc2t0b3AtYnVmZmVyLWFyZ3MtbGlzdAoh IAkJCSAoZm9ybWF0ICIsICVkIHRvIHJlc3RvcmUgbGF6aWx5IgohIAkJCQkgKGxlbmd0aCBkZXNr dG9wLWJ1ZmZlci1hcmdzLWxpc3QpKQohIAkJICAgICAgICIiKSkKISAJICAgIHQpKQogICAgICAg IDs7IE5vIGRlc2t0b3AgZmlsZSBmb3VuZC4KICAgICAgICAoZGVza3RvcC1jbGVhcikKICAgICAg ICAobGV0ICgoZGVmYXVsdC1kaXJlY3RvcnkgZGVza3RvcC1kaXJuYW1lKSkK ------=_20060502105751_36320 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel ------=_20060502105751_36320--