From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: martin rudalics Newsgroups: gmane.emacs.devel Subject: Re: mouse-drag-and-drop-region Date: Fri, 15 Dec 2017 09:50:11 +0100 Message-ID: <5A338CC3.20302@gmx.at> References: <5A265E99.8030908@gmx.at> <20171206.182939.453729203755008958.tak.kunihiro@gmail.com> <5A290951.7000807@gmx.at> <20171208.064540.661845144160459379.tak.kunihiro@gmail.com> <5A2A657D.4010909@gmx.at> <5A2BBC85.9050006@gmx.at> <67BAABFE-B45E-415F-BFDA-BED32D6CB982@misasa.okayama-u.ac.jp> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------020906050900070303060208" X-Trace: blaine.gmane.org 1513327881 4506 195.159.176.226 (15 Dec 2017 08:51:21 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Fri, 15 Dec 2017 08:51:21 +0000 (UTC) Cc: Eli Zaretskii , rswgnu@gmail.com, Alex , emacs-devel To: Tak Kunihiro Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Dec 15 09:51:15 2017 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ePli6-0000pW-Ca for ged-emacs-devel@m.gmane.org; Fri, 15 Dec 2017 09:51:14 +0100 Original-Received: from localhost ([::1]:45157 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePliD-0006Qa-I4 for ged-emacs-devel@m.gmane.org; Fri, 15 Dec 2017 03:51:21 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:48957) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ePlhR-0006QR-7J for emacs-devel@gnu.org; Fri, 15 Dec 2017 03:50:35 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ePlhN-0005vb-0U for emacs-devel@gnu.org; Fri, 15 Dec 2017 03:50:33 -0500 Original-Received: from mout.gmx.net ([212.227.17.21]:63240) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ePlhM-0005th-HW; Fri, 15 Dec 2017 03:50:28 -0500 Original-Received: from [192.168.1.100] ([46.125.250.80]) by mail.gmx.com (mrgmx103 [212.227.17.168]) with ESMTPSA (Nemesis) id 0MLelb-1eOwkP3mDr-000pbF; Fri, 15 Dec 2017 09:50:15 +0100 In-Reply-To: <67BAABFE-B45E-415F-BFDA-BED32D6CB982@misasa.okayama-u.ac.jp> X-Provags-ID: V03:K0:KrgmAiHt+AUeEBToaP91mFiZlXy2AbxnOx7wyI9DgLTDNM66e6r Y406EmOEvhvtDoVw2xdbMIPfVypdLRK9Y9ncvEasmh+g7r5J28nZrAbvbKlb4ehBtjfQ90R 3LnnvCjdqP9WdQn71tsr9b+NZ/fLkN3ETABIIGf7nnzIxnIWbwQFrKuWT1ehSPqcp7xyIUZ JK+T0Oh4jdNGU0KR8z6Cg== X-UI-Out-Filterresults: notjunk:1;V01:K0:usdTZY5IK0k=:3Tkw0SvsJNMJATPT2aAKuS WcSSrLhqTTZClmAOV0dZXUozhkq/1R0Qqb3BuhTLwuqU/IQJ4GZmuIKF/6uTabHw3gsnfNU+O ChZzyCD21OWqpJTsEIGM9oZcLxhLe1pHVa5oy/pRN52Pck3zgX2r7CBsqNESwgkYJnJmTS/Q/ qn5tdV+bnUcwkVr3X0g+3uMtMPQMDb4Yx6EW+F6QsxgECewkqWQ2IAokTkPz8izqlS39V57N2 ITvwHz/K7WAUBfGuaNYpdXeXj79ao6GkfzDlFXY7Xw6OoFsWV8LNI6DWL2WYbSatPaQRugedE 6mjzJlBxAdeLWGwJPjM2V7qXOKIrQnrMYih3zpUEM8ngjvYn5/zLb3IYnTwYfUC8ql2xCT5nY 2YF44UaGR4aH3NXaIlBnqPGoncaQjvqfAQSEg0etnttBPrZ1wACWVOK0itegVFmskZ8Bkm9LP lCjRaeOC5IGBSJw8vC1jT5Iv79doHT85875BUESBTxziL1+ncl7k3t3cdLohlZlku1iTjxRfG CW+HLoJjkJhplryIk7/JMpDWMq+8GryadU1z7lTqbVXIUdBuM3MQqsb3tEBRTRFLbJOXOHDZy Fap4BzQeTI2ide9IIAH7u1K3FXoWzolm2XVAWD0tLSGtqVCYX8PHAmC5teQMOTCONbWBq5BKV 68LlQtoJYFORT8Ep2n29J0DkeL9utCSnQX+2Azdo2f5L04S63ZGLcx7QmBvIeBiOoI17OIFjS dD74al2FMPt8Gtj3ZcDSI5WjeiStJdvdeAQppgKYScjr1SfLEDSZdQfUmip4+J0JKrlpOdpM X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 212.227.17.21 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:221087 Archived-At: This is a multi-part message in MIME format. --------------020906050900070303060208 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit > I re-re-re-revised mouse-drag-and-drop-region. I'm sending reply to https://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00258.html, ChangeLog, and patch. > > * ChangeLog > > 2017-12-16 Tak Kunihiro > > Improve comments and have four new options > > * lisp/mouse.el (mouse-drag-and-drop-region): Have option to make dragging cut among buffers. Make usage of tooltip option. > (mouse-drag-and-drop-region-cut-when-buffers-differ): New variable. If non-nil, text is cut instead of copied when dragged among buffers. > (mouse-drag-and-drop-region-show-tooltip): New variable. If non-nil, text is shown by tooltip in a graphic display. > (mouse-drag-and-drop-region-show-cursor): New variable. If non-nil, point is set to where the mouse cursor. > (mouse-drag-and-drop-region-face): New variable for face. The face is used to highlight the original text. Thanks. I resend you yet another revised version which mostly fixes the doc-strings of these options and replaces the option `mouse-drag-and-drop-region-face' with a face `mouse-drag-and-drop-region' inheriting from the region face. Please have a look. Unless you or someone else sees problems, I will install it. Thanks again for your efforts, martin --------------020906050900070303060208 Content-Type: text/plain; charset=windows-1252; name="mouse.el.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="mouse.el.diff" LS0tIGEvbGlzcC9tb3VzZS5lbAorKysgYi9saXNwL21vdXNlLmVsCkBAIC0yMzQ1LDEwICsy MzQ1LDEwIEBAIG1vdXNlLWFwcGVhcmFuY2UtbWVudQogDAogOzsgRHJhZyBhbmQgZHJvcCBz dXBwb3J0LgogKGRlZmN1c3RvbSBtb3VzZS1kcmFnLWFuZC1kcm9wLXJlZ2lvbiBuaWwKLSAg IklmIG5vbi1uaWwsIGRyYWdnaW5nIHRoZSBtb3VzZSBkcmFncyB0aGUgcmVnaW9uLCBpZiB0 aGF0IGV4aXN0cy4KLUlmIHRoZSB2YWx1ZSBpcyBhIG1vZGlmaWVyLCBzdWNoIGFzIGBjb250 cm9sJyBvciBgc2hpZnQnIG9yIGBtZXRhJywKLXRoZW4gaWYgdGhhdCBtb2RpZmllciBrZXkg aXMgcHJlc3NlZCB3aGVuIGRyb3BwaW5nIHRoZSByZWdpb24sIHJlZ2lvbgotdGV4dCBpcyBj b3BpZWQgaW5zdGVhZCBvZiBiZWluZyBjdXQuIgorICAiSWYgbm9uLW5pbCwgZHJhZ2dpbmcg dGhlIG1vdXNlIGRyYWdzIHRoZSByZWdpb24sIGlmIGl0IGV4aXN0cy4KK0lmIHRoZSB2YWx1 ZSBpcyBhIG1vZGlmaWVyLCBzdWNoIGFzIGBjb250cm9sJyBvciBgc2hpZnQnIG9yCitgbWV0 YScsIHRoZW4gaWYgdGhhdCBtb2RpZmllciBrZXkgaXMgcHJlc3NlZCB3aGVuIGRyb3BwaW5n IHRoZQorcmVnaW9uLCB0ZXh0IGlzIGNvcGllZCBpbnN0ZWFkIG9mIGJlaW5nIGN1dC4iCiAg IDp0eXBlIGAoY2hvaWNlCiAgICAgICAgICAgKGNvbnN0IDp0YWcgIkRpc2FibGUgZHJhZ2dp bmcgdGhlIHJlZ2lvbiIgbmlsKQogICAgICAgICAgICxAKG1hcGNhcgpAQCAtMjM2MSw2ICsy MzYxLDQ1IEBAIG1vdXNlLWRyYWctYW5kLWRyb3AtcmVnaW9uCiAgIDp2ZXJzaW9uICIyNi4x IgogICA6Z3JvdXAgJ21vdXNlKQogCisoZGVmY3VzdG9tIG1vdXNlLWRyYWctYW5kLWRyb3At cmVnaW9uLWN1dC13aGVuLWJ1ZmZlcnMtZGlmZmVyIG5pbAorICAiSWYgbm9uLW5pbCwgY3V0 IHRleHQgYWxzbyB3aGVuIHNvdXJjZSBhbmQgZGVzdGluYXRpb24gYnVmZmVycyBkaWZmZXIu CitJZiB0aGlzIG9wdGlvbiBpcyBuaWwsIGBtb3VzZS1kcmFnLWFuZC1kcm9wLXJlZ2lvbicg d2lsbCBsZWF2ZQordGhlIHRleHQgaW4gdGhlIHNvdXJjZSBidWZmZXIgYWxvbmUgd2hlbiBk cm9wcGluZyBpdCBpbiBhCitkaWZmZXJlbnQgYnVmZmVyLiAgSWYgdGhpcyBpcyBub24tbmls LCBpdCB3aWxsIGN1dCB0aGUgdGV4dCBqdXN0CithcyBpdCBkb2VzIHdoZW4gZHJvcHBpbmcg dGV4dCBpbiB0aGUgc291cmNlIGJ1ZmZlci4iCisgIDp0eXBlICdib29sZWFuCisgIDp2ZXJz aW9uICIyNi4xIgorICA6Z3JvdXAgJ21vdXNlKQorCisoZGVmY3VzdG9tIG1vdXNlLWRyYWct YW5kLWRyb3AtcmVnaW9uLXNob3ctdG9vbHRpcCAyNTYKKyAgIklmIG5vbi1uaWwsIHRleHQg aXMgc2hvd24gYnkgYSB0b29sdGlwIGluIGEgZ3JhcGhpYyBkaXNwbGF5LgorSWYgdGhpcyBv cHRpb24gaXMgbmlsLCBgbW91c2UtZHJhZy1hbmQtZHJvcC1yZWdpb24nIGRvZXMgbm90IHNo b3cKK3Rvb2x0aXBzLiAgSWYgdGhpcyBpcyB0LCBpdCBzaG93cyB0aGUgZW50aXJlIHRleHQg ZHJhZ2dlZCBpbiBhCit0b29sdGlwLiAgSWYgdGhpcyBpcyBhbiBpbnRlZ2VyIChhcyB3aXRo IHRoZSBkZWZhdWx0IHZhbHVlIG9mCisyNTYpLCBpdCB3aWxsIHNob3cgdGhhdCBtYW55IGNo YXJhY3RlcnMgb2YgdGhlIGRyYWdnZWQgdGV4dCBpbgorYSB0b29sdGlwLiIKKyAgOnR5cGUg J2ludGVnZXIKKyAgOnZlcnNpb24gIjI2LjEiCisgIDpncm91cCAnbW91c2UpCisKKyhkZWZj dXN0b20gbW91c2UtZHJhZy1hbmQtZHJvcC1yZWdpb24tc2hvdy1jdXJzb3IgdAorICAiSWYg bm9uLW5pbCwgbW92ZSBwb2ludCB3aXRoIG1vdXNlIGN1cnNvciBkdXJpbmcgZHJhZ2dpbmcu CitJZiB0aGlzIGlzIG5pbCwgYG1vdXNlLWRyYWctYW5kLWRyb3AtcmVnaW9uJyBsZWF2ZXMg cG9pbnQgYWxvbmUuCitPdGhlcndpc2UsIGl0IHdpbGwgbW92ZSBwb2ludCB0b2dldGhlciB3 aXRoIHRoZSBtb3VzZSBjdXJzb3IgYW5kLAoraW4gYWRkaXRpb24sIHRlbXBvcmFyaWx5IGhp Z2hsaWdodCB0aGUgb3JpZ2luYWwgcmVnaW9uIHdpdGggdGhlCitgbW91c2UtZHJhZy1hbmQt ZHJvcC1yZWdpb24nIGZhY2UuIgorICA6dHlwZSAnYm9vbGVhbgorICA6dmVyc2lvbiAiMjYu MSIKKyAgOmdyb3VwICdtb3VzZSkKKworKGRlZmZhY2UgbW91c2UtZHJhZy1hbmQtZHJvcC1y ZWdpb24gJygodCA6aW5oZXJpdCByZWdpb24pKQorICAiRmFjZSB0byBoaWdobGlnaHQgb3Jp Z2luYWwgdGV4dCBkdXJpbmcgZHJhZ2dpbmcuCitUaGlzIGZhY2UgaXMgdXNlZCBieSBgbW91 c2UtZHJhZy1hbmQtZHJvcC1yZWdpb24nIHRvIHRlbXBvcmFyaWx5CitoaWdobGlnaHQgdGhl IG9yaWdpbmFsIHJlZ2lvbiB3aGVuCitgbW91c2UtZHJhZy1hbmQtZHJvcC1yZWdpb24tc2hv dy1jdXJzb3InIGlzIG5vbi1uaWwuIgorICA6dmVyc2lvbiAiMjYuMSIKKyAgOmdyb3VwICdt b3VzZSkKKwogKGRlZnVuIG1vdXNlLWRyYWctYW5kLWRyb3AtcmVnaW9uIChldmVudCkKICAg Ik1vdmUgdGV4dCBpbiB0aGUgcmVnaW9uIHRvIHBvaW50IHdoZXJlIG1vdXNlIGlzIGRyYWdn ZWQgdG8uCiBUaGUgdHJhbnNwb3J0YXRpb24gb2YgdGV4dCBpcyBhbHNvIHJlZmVycmVkIGFz IGBkcmFnIGFuZCBkcm9wJy4KQEAgLTIzNjksNjYgKzI0MDgsMjQ4IEBAIG1vdXNlLWRyYWct YW5kLWRyb3AtcmVnaW9uCiB2YXJpYWJsZSBgbW91c2UtZHJhZy1hbmQtZHJvcC1yZWdpb24n IGlzIHRoYXQgbW9kaWZpZXIsIHRoZSB0ZXh0CiBpcyBjb3BpZWQgaW5zdGVhZCBvZiBiZWlu ZyBjdXQuIgogICAoaW50ZXJhY3RpdmUgImUiKQotICAocmVxdWlyZSAndG9vbHRpcCkKLSAg KGxldCAoKHN0YXJ0IChyZWdpb24tYmVnaW5uaW5nKSkKLSAgICAgICAgKGVuZCAocmVnaW9u LWVuZCkpCi0gICAgICAgIChwb2ludCAocG9pbnQpKQotICAgICAgICAoYnVmZmVyIChjdXJy ZW50LWJ1ZmZlcikpCi0gICAgICAgICh3aW5kb3cgKHNlbGVjdGVkLXdpbmRvdykpCi0gICAg ICAgIHZhbHVlLXNlbGVjdGlvbikKLSAgICAodHJhY2stbW91c2UKLSAgICAgIDs7IFdoZW4g ZXZlbnQgd2FzIGNsaWNrIGluc3RlYWQgb2YgZHJhZywgc2tpcCBsb29wCi0gICAgICAod2hp bGUgKHByb2duCi0gICAgICAgICAgICAgICAoc2V0cSBldmVudCAocmVhZC1ldmVudCkpCi0g ICAgICAgICAgICAgICAob3IgKG1vdXNlLW1vdmVtZW50LXAgZXZlbnQpCi0gICAgICAgICAg ICAgICAgICAgOzsgSGFuZGxlIGBtb3VzZS1hdXRvc2VsZWN0LXdpbmRvdycuCi0gICAgICAg ICAgICAgICAgICAgKGVxIChjYXItc2FmZSBldmVudCkgJ3NlbGVjdC13aW5kb3cpKSkKLSAg ICAgICAgKHVubGVzcyB2YWx1ZS1zZWxlY3Rpb24gOyBpbml0aWFsaXphdGlvbgotICAgICAg ICAgIChkZWxldGUtb3ZlcmxheSBtb3VzZS1zZWNvbmRhcnktb3ZlcmxheSkKLSAgICAgICAg ICAoc2V0cSB2YWx1ZS1zZWxlY3Rpb24gKGJ1ZmZlci1zdWJzdHJpbmcgc3RhcnQgZW5kKSkK LSAgICAgICAgICAobW92ZS1vdmVybGF5IG1vdXNlLXNlY29uZGFyeS1vdmVybGF5IHN0YXJ0 IGVuZCkpIDsgKGRlYWN0aXZhdGUtbWFyaykKLSAgICAgICAgKGlnbm9yZS1lcnJvcnMgKGRl YWN0aXZhdGUtbWFyaykgOyBjYXJlIGV4aXN0aW5nIHJlZ2lvbiBpbiBvdGhlciB3aW5kb3cK LSAgICAgICAgICAgICAgICAgICAgICAgKG1vdXNlLXNldC1wb2ludCBldmVudCkKLSAgICAg ICAgICAgICAgICAgICAgICAgKHRvb2x0aXAtc2hvdyB2YWx1ZS1zZWxlY3Rpb24pKSkKLSAg ICAgICh0b29sdGlwLWhpZGUpKQotICAgIDs7IERvIG5vdCBtb2RpZnkgYnVmZmVyIHVuZGVy IG1vdXNlIHdoZW4gImV2ZW50IHdhcyBjbGljayIsCi0gICAgOzsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAiZHJhZyBuZWdsaWdpYmxlIiwgb3IKLSAgICA7OyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkcmFnIHRvIHJlYWQtb25s eSIuCi0gICAgKGlmIChvciAoZXF1YWwgKG1vdXNlLXBvc24tcHJvcGVydHkgKGV2ZW50LWVu ZCBldmVudCkgJ2ZhY2UpICdyZWdpb24pIDsgImV2ZW50IHdhcyBjbGljayIKLSAgICAgICAg ICAgIChtZW1iZXIgJ3NlY29uZGFyeS1zZWxlY3Rpb24gOyAiZHJhZyBuZWdsaWdpYmxlIgot ICAgICAgICAgICAgICAgICAgICAobWFwY2FyIChsYW1iZGEgKHh4eCkgKG92ZXJsYXktZ2V0 IHh4eCAnZmFjZSkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKG92ZXJsYXlzLWF0 IChwb3NuLXBvaW50IChldmVudC1lbmQgZXZlbnQpKSkpKQotICAgICAgICAgICAgYnVmZmVy LXJlYWQtb25seSkKLSAgICAgICAgOzsgRG8gbm90IG1vZGlmeSBidWZmZXIgdW5kZXIgbW91 c2UuCisgIChsZXQqICgobW91c2UtYnV0dG9uIChldmVudC1iYXNpYy10eXBlIGxhc3QtaW5w dXQtZXZlbnQpKQorICAgICAgICAgKG1vdXNlLWRyYWctYW5kLWRyb3AtcmVnaW9uLXNob3ct dG9vbHRpcAorICAgICAgICAgICh3aGVuIChhbmQgbW91c2UtZHJhZy1hbmQtZHJvcC1yZWdp b24tc2hvdy10b29sdGlwCisgICAgICAgICAgICAgICAgICAgICAoZGlzcGxheS1tdWx0aS1m cmFtZS1wKQorICAgICAgICAgICAgICAgICAgICAgKHJlcXVpcmUgJ3Rvb2x0aXApKQorICAg ICAgICAgICAgbW91c2UtZHJhZy1hbmQtZHJvcC1yZWdpb24tc2hvdy10b29sdGlwKSkKKyAg ICAgICAgIChzdGFydCAocmVnaW9uLWJlZ2lubmluZykpCisgICAgICAgICAoZW5kIChyZWdp b24tZW5kKSkKKyAgICAgICAgIChwb2ludCAocG9pbnQpKQorICAgICAgICAgKGJ1ZmZlciAo Y3VycmVudC1idWZmZXIpKQorICAgICAgICAgKHdpbmRvdyAoc2VsZWN0ZWQtd2luZG93KSkK KyAgICAgICAgICh0ZXh0LWZyb20tcmVhZC1vbmx5IGJ1ZmZlci1yZWFkLW9ubHkpCisgICAg ICAgICAobW91c2UtZHJhZy1hbmQtZHJvcC1vdmVybGF5IChtYWtlLW92ZXJsYXkgc3RhcnQg ZW5kKSkKKyAgICAgICAgIHBvaW50LXRvLXBhc3RlCisgICAgICAgICBwb2ludC10by1wYXN0 ZS1yZWFkLW9ubHkKKyAgICAgICAgIHdpbmRvdy10by1wYXN0ZQorICAgICAgICAgYnVmZmVy LXRvLXBhc3RlCisgICAgICAgICBjdXJzb3ItaW4tdGV4dC1hcmVhCisgICAgICAgICBuby1t b2RpZmllci1vbi1kcm9wCisgICAgICAgICBkcmFnLWJ1dC1uZWdsaWdpYmxlCisgICAgICAg ICBjbGlja2VkCisgICAgICAgICB2YWx1ZS1zZWxlY3Rpb24gICAgOyBUaGlzIHJlbWFpbnMg bmlsIHdoZW4gZXZlbnQgd2FzICJjbGljayIuCisgICAgICAgICB0ZXh0LXRvb2x0aXAKKyAg ICAgICAgIHN0YXRlcworICAgICAgICAgd2luZG93LWV4ZW1wdCkKKworICAgIDs7IFNUQVRF UyBzdG9yZXMgZm9yIGVhY2ggd2luZG93IG9uIHRoaXMgZnJhbWUgaXRzIHN0YXJ0IGFuZCBw b2ludAorICAgIDs7IHBvc2l0aW9ucyBzbyB3ZSBjYW4gcmVzdG9yZSB0aGVtIG9uIGFsbCB3 aW5kb3dzIGJ1dCBmb3IgdGhlIG9uZQorICAgIDs7IHdoZXJlIHRoZSBkcm9wIG9jY3Vycy4g IEZvciBpbnRlci1mcmFtZSBkcmFncyB3ZSdsbCBoYXZlIHRvIGRvCisgICAgOzsgdGhpcyBm b3IgYWxsIHdpbmRvd3Mgb24gYWxsIHZpc2libGUgZnJhbWVzLiAgSW4gYWRkaXRpb24gd2Ug c2F2ZQorICAgIDs7IGFsc28gdGhlIGN1cnNvciB0eXBlIGZvciB0aGUgd2luZG93J3MgYnVm ZmVyIHNvIHdlIGNhbiByZXN0b3JlIGl0CisgICAgOzsgaW4gY2FzZSB3ZSBtb2RpZmllZCBp dC4KKyAgICA7OyBodHRwczovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2VtYWNzLWRl dmVsLzIwMTctMTIvbXNnMDAwOTAuaHRtbAorICAgICh3YWxrLXdpbmRvdy10cmVlCisgICAg IChsYW1iZGEgKHdpbmRvdykKKyAgICAgICAoc2V0cSBzdGF0ZXMKKyAgICAgICAgICAgICAo Y29ucworICAgICAgICAgICAgICAobGlzdAorICAgICAgICAgICAgICAgd2luZG93CisgICAg ICAgICAgICAgICAoY29weS1tYXJrZXIgKHdpbmRvdy1zdGFydCB3aW5kb3cpKQorICAgICAg ICAgICAgICAgKGNvcHktbWFya2VyICh3aW5kb3ctcG9pbnQgd2luZG93KSkKKyAgICAgICAg ICAgICAgICh3aXRoLWN1cnJlbnQtYnVmZmVyICh3aW5kb3ctYnVmZmVyIHdpbmRvdykKKyAg ICAgICAgICAgICAgICAgY3Vyc29yLXR5cGUpKQorICAgICAgICAgICAgICBzdGF0ZXMpKSkp CisKKyAgICAoaWdub3JlLWVycm9ycworICAgICAgKHRyYWNrLW1vdXNlCisgICAgICAgIDs7 IFdoZW4gZXZlbnQgd2FzICJjbGljayIgaW5zdGVhZCBvZiAiZHJhZyIsIHNraXAgbG9vcC4K KyAgICAgICAgKHdoaWxlIChwcm9nbgorICAgICAgICAgICAgICAgICA7OyBodHRwczovL2xp c3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2VtYWNzLWRldmVsLzIwMTctMTEvbXNnMDAzNjQu aHRtbAorICAgICAgICAgICAgICAgICAoc2V0cSBldmVudCAocmVhZC1rZXkpKSAgICAgIDsg cmVhZC1ldmVudCBvciByZWFkLWtleQorICAgICAgICAgICAgICAgICAob3IgKG1vdXNlLW1v dmVtZW50LXAgZXZlbnQpCisgICAgICAgICAgICAgICAgICAgICA7OyBIYW5kbGUgYG1vdXNl LWF1dG9zZWxlY3Qtd2luZG93Jy4KKyAgICAgICAgICAgICAgICAgICAgIChlcSAoY2FyLXNh ZmUgZXZlbnQpICdzZWxlY3Qtd2luZG93KSkpCisgICAgICAgICAgOzsgT2J0YWluIHRoZSBk cmFnZ2VkIHRleHQgaW4gcmVnaW9uLiAgV2hlbiB0aGUgbG9vcCB3YXMKKyAgICAgICAgICA7 OyBza2lwcGVkLCB2YWx1ZS1zZWxlY3Rpb24gcmVtYWlucyBuaWwuCisgICAgICAgICAgKHVu bGVzcyB2YWx1ZS1zZWxlY3Rpb24KKyAgICAgICAgICAgIChzZXRxIHZhbHVlLXNlbGVjdGlv biAoYnVmZmVyLXN1YnN0cmluZyBzdGFydCBlbmQpKQorICAgICAgICAgICAgKHdoZW4gbW91 c2UtZHJhZy1hbmQtZHJvcC1yZWdpb24tc2hvdy10b29sdGlwCisgICAgICAgICAgICAgIChs ZXQgKCh0ZXh0LXNpemUgbW91c2UtZHJhZy1hbmQtZHJvcC1yZWdpb24tc2hvdy10b29sdGlw KSkKKyAgICAgICAgICAgICAgICAoc2V0cSB0ZXh0LXRvb2x0aXAgKGlmIChhbmQgKGludGVn ZXJwIHRleHQtc2l6ZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKD4gKGxlbmd0aCB2YWx1ZS1zZWxlY3Rpb24pIHRleHQtc2l6ZSkpCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uY2F0CisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN1YnN0cmluZyB2YWx1ZS1zZWxlY3Rpb24g MCAoLyB0ZXh0LXNpemUgMikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIlxuLi4uXG4iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKHN1YnN0cmluZyB2YWx1ZS1zZWxlY3Rpb24gKC0gKC8gdGV4dC1zaXplIDIpKSAtMSkp CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUtc2VsZWN0aW9u KSkpKQorCisgICAgICAgICAgICA7OyBDaGVjayBpZiBzZWxlY3RlZCB0ZXh0IGlzIHJlYWQt b25seS4KKyAgICAgICAgICAgIDs7IGh0dHBzOi8vbGlzdHMuZ251Lm9yZy9hcmNoaXZlL2h0 bWwvZW1hY3MtZGV2ZWwvMjAxNy0xMS9tc2cwMDY2My5odG1sCisgICAgICAgICAgICA7OyAo YWRkLXRleHQtcHJvcGVydGllcyAocmVnaW9uLWJlZ2lubmluZykgKHJlZ2lvbi1lbmQpICco cmVhZC1vbmx5IHQpKQorICAgICAgICAgICAgKHNldHEgdGV4dC1mcm9tLXJlYWQtb25seSAo b3IgdGV4dC1mcm9tLXJlYWQtb25seQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKGdldC10ZXh0LXByb3BlcnR5IHN0YXJ0ICdyZWFkLW9ubHkpCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobm90IChlcXVhbAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5leHQtc2lu Z2xlLWNoYXItcHJvcGVydHktY2hhbmdlIHN0YXJ0ICdyZWFkLW9ubHkgbmlsIGVuZCkKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZCkpKSkp CisgICAgICAgICAgKHNldHEgd2luZG93LXRvLXBhc3RlIChwb3NuLXdpbmRvdyAoZXZlbnQt ZW5kIGV2ZW50KSkpCisgICAgICAgICAgKHNldHEgcG9pbnQtdG8tcGFzdGUgKHBvc24tcG9p bnQgKGV2ZW50LWVuZCBldmVudCkpKQorICAgICAgICAgIChzZXRxIGJ1ZmZlci10by1wYXN0 ZSAobGV0IChidWYpIDsgU2V0IG5pbCB3aGVuIHRhcmdldCBidWZmZXIgaXMgbWluaWJ1ZmZl ci4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAod2hlbiAod2luZG93cCB3 aW5kb3ctdG8tcGFzdGUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo c2V0cSBidWYgKHdpbmRvdy1idWZmZXIgd2luZG93LXRvLXBhc3RlKSkKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICh3aGVuIChub3QgKG1pbmlidWZmZXJwIGJ1Zikp CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZikpKSkKKyAgICAg ICAgICAoc2V0cSBjdXJzb3ItaW4tdGV4dC1hcmVhIChhbmQgd2luZG93LXRvLXBhc3RlCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50LXRvLXBhc3Rl CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZmZlci10by1w YXN0ZSkpCisKKyAgICAgICAgICAod2hlbiBjdXJzb3ItaW4tdGV4dC1hcmVhCisgICAgICAg ICAgICA7OyBDaGVjayBpZiBwb2ludCB1bmRlciBtb3VzZSBpcyByZWFkLW9ubHkuCisgICAg ICAgICAgICAoc2F2ZS13aW5kb3ctZXhjdXJzaW9uCisgICAgICAgICAgICAgIChzZWxlY3Qt d2luZG93IHdpbmRvdy10by1wYXN0ZSkKKyAgICAgICAgICAgICAgOzsgKGFkZC10ZXh0LXBy b3BlcnRpZXMgKHJlZ2lvbi1iZWdpbm5pbmcpIChyZWdpb24tZW5kKSAnKHJlYWQtb25seSB0 KSkKKyAgICAgICAgICAgICAgKHNldHEgcG9pbnQtdG8tcGFzdGUtcmVhZC1vbmx5CisgICAg ICAgICAgICAgICAgICAgIChvciBidWZmZXItcmVhZC1vbmx5CisgICAgICAgICAgICAgICAg ICAgICAgICAoZ2V0LXRleHQtcHJvcGVydHkgcG9pbnQtdG8tcGFzdGUgJ3JlYWQtb25seSkp KSkKKworICAgICAgICAgICAgOzsgQ2hlY2sgaWYgImRyYWcgYnV0IG5lZ2xpZ2libGUiLiAg T3BlcmF0aW9uICJkcmFnIGJ1dAorICAgICAgICAgICAgOzsgbmVnbGlnaWJsZSIgaXMgZGVm aW5lZCBhcyBkcmFnLWFuZC1kcm9wIHRoZSB0ZXh0IHRvCisgICAgICAgICAgICA7OyB0aGUg b3JpZ2luYWwgcmVnaW9uLiAgV2hlbiBtb2RpZmllciBpcyBwcmVzc2VkLCB0aGUKKyAgICAg ICAgICAgIDs7IHRleHQgd2lsbCBiZSBpbnNlcnRlZCB0byBpbnNpZGUgb2YgdGhlIG9yaWdp bmFsCisgICAgICAgICAgICA7OyByZWdpb24uCisgICAgICAgICAgICAoc2V0cSBkcmFnLWJ1 dC1uZWdsaWdpYmxlCisgICAgICAgICAgICAgICAgICAobWVtYmVyIG1vdXNlLWRyYWctYW5k LWRyb3AtcmVnaW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgIChtYXBjYXIgKGxhbWJk YSAoeHh4KSAob3ZlcmxheS1nZXQgeHh4ICdmYWNlKSkKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAob3ZlcmxheXMtYXQgcG9pbnQtdG8tcGFzdGUpKSkpKQorCisgICAg ICAgICAgOzsgU2hvdyBhIHRvb2x0aXAuCisgICAgICAgICAgKGlmIG1vdXNlLWRyYWctYW5k LWRyb3AtcmVnaW9uLXNob3ctdG9vbHRpcAorICAgICAgICAgICAgICA7OyAoYW5kIG1vdXNl LWRyYWctYW5kLWRyb3AtcmVnaW9uLXNob3ctdG9vbHRpcAorICAgICAgICAgICAgICA7OyAg ICAgIChub3QgZHJhZy1idXQtbmVnbGlnaWJsZSkKKyAgICAgICAgICAgICAgOzsgICAgICAo bm90IHBvaW50LXRvLXBhc3RlLXJlYWQtb25seSkKKyAgICAgICAgICAgICAgOzsgICAgICBj dXJzb3ItaW4tdGV4dC1hcmVhKQorICAgICAgICAgICAgICAodG9vbHRpcC1zaG93IHRleHQt dG9vbHRpcCkKKyAgICAgICAgICAgICh0b29sdGlwLWhpZGUpKQorCisgICAgICAgICAgOzsg U2hvdyBjdXJzb3IgYW5kIGhpZ2hsaWdodCB0aGUgb3JpZ2luYWwgcmVnaW9uLgorICAgICAg ICAgICh3aGVuIG1vdXNlLWRyYWctYW5kLWRyb3AtcmVnaW9uLXNob3ctY3Vyc29yCisgICAg ICAgICAgICA7OyBNb2RpZnkgY3Vyc29yIGV2ZW4gd2hlbiBwb2ludCBpcyBvdXQgb2YgZnJh bWUuCisgICAgICAgICAgICAoc2V0cSBjdXJzb3ItdHlwZSAoY29uZAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICgobm90IGN1cnNvci1pbi10ZXh0LWFyZWEpCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIG5pbCkKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoKG9yIHBvaW50LXRvLXBhc3RlLXJlYWQtb25seQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZHJhZy1idXQtbmVnbGlnaWJsZSkKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJ2hvbGxvdykKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAodAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFyKSkpCisg ICAgICAgICAgICAod2hlbiBjdXJzb3ItaW4tdGV4dC1hcmVhCisgICAgICAgICAgICAgIChv dmVybGF5LXB1dCBtb3VzZS1kcmFnLWFuZC1kcm9wLW92ZXJsYXkKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICdmYWNlIG1vdXNlLWRyYWctYW5kLWRyb3AtcmVnaW9uKQorICAgICAg ICAgICAgICAoZGVhY3RpdmF0ZS1tYXJrKSAgICAgOyBNYWludGFpbiByZWdpb24gaW4gb3Ro ZXIgd2luZG93LgorICAgICAgICAgICAgICAobW91c2Utc2V0LXBvaW50IGV2ZW50KSkpKSkK KworICAgICAgOzsgSGlkZSBhIHRvb2x0aXAuCisgICAgICAod2hlbiBtb3VzZS1kcmFnLWFu ZC1kcm9wLXJlZ2lvbi1zaG93LXRvb2x0aXAgKHRvb2x0aXAtaGlkZSkpCisKKyAgICAgIDs7 IENoZWNrIGlmIG1vZGlmaWVyIHdhcyBwcmVzc2VkIG9uIGRyb3AuCisgICAgICAoc2V0cSBu by1tb2RpZmllci1vbi1kcm9wCisgICAgICAgICAgICAobm90IChtZW1iZXIgbW91c2UtZHJh Zy1hbmQtZHJvcC1yZWdpb24gKGV2ZW50LW1vZGlmaWVycyBldmVudCkpKSkKKworICAgICAg OzsgQ2hlY2sgaWYgZXZlbnQgd2FzICJjbGljayIuCisgICAgICAoc2V0cSBjbGlja2VkIChu b3QgdmFsdWUtc2VsZWN0aW9uKSkKKworICAgICAgOzsgUmVzdG9yZSBzdGF0dXMgb24gZHJh ZyB0byBvdXRzaWRlIG9mIHRleHQtYXJlYSBvciBub24tbW91c2UgaW5wdXQuCisgICAgICA7 OyBodHRwczovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2VtYWNzLWRldmVsLzIwMTct MTEvbXNnMDA0ODYuaHRtbAorICAgICAgKHdoZW4gKG9yIChub3QgY3Vyc29yLWluLXRleHQt YXJlYSkKKyAgICAgICAgICAgICAgICAobm90IChlcXVhbCAoZXZlbnQtYmFzaWMtdHlwZSBl dmVudCkgbW91c2UtYnV0dG9uKSkpCisgICAgICAgIChzZXRxIGRyYWctYnV0LW5lZ2xpZ2li bGUgdAorICAgICAgICAgICAgICBuby1tb2RpZmllci1vbi1kcm9wIHQpKQorCisgICAgICA7 OyBEbyBub3QgbW9kaWZ5IGFueSBidWZmZXJzIHdoZW4gZXZlbnQgaXMgImNsaWNrIiwKKyAg ICAgIDs7ICJkcmFnIGJ1dCBuZWdsaWdpYmxlIiwgb3IgImRyYWcgdG8gcmVhZC1vbmx5Ii4K KyAgICAgIChsZXQqICgobW91c2UtZHJhZy1hbmQtZHJvcC1yZWdpb24tY3V0LXdoZW4tYnVm ZmVycy1kaWZmZXIKKyAgICAgICAgICAgICAgKGlmIG5vLW1vZGlmaWVyLW9uLWRyb3AKKyAg ICAgICAgICAgICAgICAgIG1vdXNlLWRyYWctYW5kLWRyb3AtcmVnaW9uLWN1dC13aGVuLWJ1 ZmZlcnMtZGlmZmVyCisgICAgICAgICAgICAgICAgKG5vdCBtb3VzZS1kcmFnLWFuZC1kcm9w LXJlZ2lvbi1jdXQtd2hlbi1idWZmZXJzLWRpZmZlcikpKQorICAgICAgICAgICAgICh3YW5u YS1wYXN0ZS10by1zYW1lLWJ1ZmZlciAoZXF1YWwgYnVmZmVyLXRvLXBhc3RlIGJ1ZmZlcikp CisgICAgICAgICAgICAgKHdhbm5hLWN1dC1vbi1zYW1lLWJ1ZmZlciAoYW5kIHdhbm5hLXBh c3RlLXRvLXNhbWUtYnVmZmVyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG5vLW1vZGlmaWVyLW9uLWRyb3ApKQorICAgICAgICAgICAgICh3YW5uYS1j dXQtb24tb3RoZXItYnVmZmVyIChhbmQgKG5vdCB3YW5uYS1wYXN0ZS10by1zYW1lLWJ1ZmZl cikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vdXNl LWRyYWctYW5kLWRyb3AtcmVnaW9uLWN1dC13aGVuLWJ1ZmZlcnMtZGlmZmVyKSkKKyAgICAg ICAgICAgICAoY2Fubm90LXBhc3RlIChvciBwb2ludC10by1wYXN0ZS1yZWFkLW9ubHkKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAod2hlbiAob3Igd2FubmEtY3V0LW9uLXNh bWUtYnVmZmVyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdh bm5hLWN1dC1vbi1vdGhlci1idWZmZXIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB0ZXh0LWZyb20tcmVhZC1vbmx5KSkpKQorCiAgICAgICAgIChjb25kCi0gICAgICAg ICA7OyAiZHJhZyBuZWdsaWdpYmxlIiBvciAiZHJhZyB0byByZWFkLW9ubHkiLCByZXN0b3Jl IHJlZ2lvbi4KLSAgICAgICAgICh2YWx1ZS1zZWxlY3Rpb24KLSAgICAgICAgICAoc2VsZWN0 LXdpbmRvdyB3aW5kb3cpIDsgSW4gY2FzZSBtaXNzIGRyYWcgdG8gb3RoZXIgd2luZG93Cisg ICAgICAgICA7OyBNb3ZlIHBvaW50IHdpdGhpbiByZWdpb24uCisgICAgICAgICAoY2xpY2tl ZAorICAgICAgICAgIChkZWFjdGl2YXRlLW1hcmspCisgICAgICAgICAgKG1vdXNlLXNldC1w b2ludCBldmVudCkpCisgICAgICAgICA7OyBVbmRvIG9wZXJhdGlvbi4gU2V0IGJhY2sgdGhl IG9yaWdpbmFsIHRleHQgYXMgcmVnaW9uLgorICAgICAgICAgKChvciAoYW5kIGRyYWctYnV0 LW5lZ2xpZ2libGUKKyAgICAgICAgICAgICAgICAgICBuby1tb2RpZmllci1vbi1kcm9wKQor ICAgICAgICAgICAgICBjYW5ub3QtcGFzdGUpCisgICAgICAgICAgOzsgSW5mb3JtIHVzZXIg ZWl0aGVyIHNvdXJjZSBvciBkZXN0aW5hdGlvbiBidWZmZXIgY2Fubm90IGJlIG1vZGlmaWVk LgorICAgICAgICAgICh3aGVuIChhbmQgKG5vdCBkcmFnLWJ1dC1uZWdsaWdpYmxlKQorICAg ICAgICAgICAgICAgICAgICAgY2Fubm90LXBhc3RlKQorICAgICAgICAgICAgKG1lc3NhZ2Ug IkJ1ZmZlciBpcyByZWFkLW9ubHkiKSkKKworICAgICAgICAgIDs7IFNlbGVjdCBzb3VyY2Ug d2luZG93IGJhY2sgYW5kIHJlc3RvcmUgcmVnaW9uLgorICAgICAgICAgIDs7IChzZXQtd2lu ZG93LXBvaW50IHdpbmRvdyBwb2ludCkKKyAgICAgICAgICAoc2VsZWN0LXdpbmRvdyB3aW5k b3cpCiAgICAgICAgICAgKGdvdG8tY2hhciBwb2ludCkKICAgICAgICAgICAoc2V0cSBkZWFj dGl2YXRlLW1hcmsgbmlsKQogICAgICAgICAgIChhY3RpdmF0ZS1tYXJrKSkKLSAgICAgICAg IDs7ICJldmVudCB3YXMgY2xpY2siCisgICAgICAgICA7OyBNb2RpZnkgYnVmZmVycy4KICAg ICAgICAgICh0Ci0gICAgICAgICAgKGRlYWN0aXZhdGUtbWFyaykKLSAgICAgICAgICAobW91 c2Utc2V0LXBvaW50IGV2ZW50KSkpCi0gICAgICA7OyBNb2RpZnkgYnVmZmVyIHVuZGVyIG1v dXNlIGJ5IGluc2VydGluZyB0ZXh0LgotICAgICAgKHB1c2gtbWFyaykKLSAgICAgIChpbnNl cnQgdmFsdWUtc2VsZWN0aW9uKQotICAgICAgKHdoZW4gKG5vdCAoZXF1YWwgKG1hcmspIChw b2ludCkpKSA7IG9uIHN1Y2Nlc3MgaW5zZXJ0Ci0gICAgICAgIChzZXRxIGRlYWN0aXZhdGUt bWFyayBuaWwpCi0gICAgICAgIChhY3RpdmF0ZS1tYXJrKSkgOyBoYXZlIHJlZ2lvbiBvbiBk ZXN0aW5hdGlvbgotICAgICAgOzsgVGFrZSBjYXJlIG9mIGluaXRpYWwgcmVnaW9uIG9uIHNv dXJjZS4KLSAgICAgIChpZiAoZXF1YWwgKGN1cnJlbnQtYnVmZmVyKSBidWZmZXIpIDsgd2hl biBzYW1lIGJ1ZmZlcgotICAgICAgICAgIChsZXQgKGRlYWN0aXZhdGUtbWFyaykgOyByZW1v dmUgdGV4dAotICAgICAgICAgICAgKHVubGVzcyAobWVtYmVyIG1vdXNlLWRyYWctYW5kLWRy b3AtcmVnaW9uIChldmVudC1tb2RpZmllcnMgZXZlbnQpKQotICAgICAgICAgICAgICAoa2ls bC1yZWdpb24gKG92ZXJsYXktc3RhcnQgbW91c2Utc2Vjb25kYXJ5LW92ZXJsYXkpCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAob3ZlcmxheS1lbmQgbW91c2Utc2Vjb25kYXJ5LW92 ZXJsYXkpKSkpCi0gICAgICAgIChsZXQgKCh3aW5kb3cxIChzZWxlY3RlZC13aW5kb3cpKSkg OyB3aGVuIGJleW9uZCBidWZmZXIKLSAgICAgICAgICAoc2VsZWN0LXdpbmRvdyB3aW5kb3cp Ci0gICAgICAgICAgKGdvdG8tY2hhciBwb2ludCkgOyByZXN0b3JlIHBvaW50IG9uIHNvdXJj ZSB3aW5kb3cKLSAgICAgICAgICAoYWN0aXZhdGUtbWFyaykgOyByZXN0b3JlIHJlZ2lvbgot ICAgICAgICAgIChzZWxlY3Qtd2luZG93IHdpbmRvdzEpKSkpCi0gICAgKGRlbGV0ZS1vdmVy bGF5IG1vdXNlLXNlY29uZGFyeS1vdmVybGF5KSkpCisgICAgICAgICAgOzsgKiBERVNUSU5B VElPTiBCVUZGRVI6OgorICAgICAgICAgIDs7IEluc2VydCB0aGUgdGV4dCB0byBkZXN0aW5h dGlvbiBidWZmZXIgdW5kZXIgbW91c2UuCisgICAgICAgICAgKHNlbGVjdC13aW5kb3cgd2lu ZG93LXRvLXBhc3RlKQorICAgICAgICAgIChzZXRxIHdpbmRvdy1leGVtcHQgd2luZG93LXRv LXBhc3RlKQorICAgICAgICAgIChnb3RvLWNoYXIgcG9pbnQtdG8tcGFzdGUpCisgICAgICAg ICAgKHB1c2gtbWFyaykKKyAgICAgICAgICAoaW5zZXJ0IHZhbHVlLXNlbGVjdGlvbikKKyAg ICAgICAgICA7OyBPbiBzdWNjZXNzLCBzZXQgdGhlIHRleHQgYXMgcmVnaW9uIG9uIGRlc3Rp bmF0aW9uIGJ1ZmZlci4KKyAgICAgICAgICAod2hlbiAobm90IChlcXVhbCAobWFyaykgKHBv aW50KSkpCisgICAgICAgICAgICAoc2V0cSBkZWFjdGl2YXRlLW1hcmsgbmlsKQorICAgICAg ICAgICAgKGFjdGl2YXRlLW1hcmspKQorCisgICAgICAgICAgOzsgKiBTT1VSQ0UgQlVGRkVS OjoKKyAgICAgICAgICA7OyBTZXQgYmFjayB0aGUgb3JpZ2luYWwgdGV4dCBhcyByZWdpb24g b3IgZGVsZXRlIHRoZSBvcmlnaW5hbAorICAgICAgICAgIDs7IHRleHQsIG9uIHNvdXJjZSBi dWZmZXIuCisgICAgICAgICAgKGlmIHdhbm5hLXBhc3RlLXRvLXNhbWUtYnVmZmVyCisgICAg ICAgICAgICAgIDs7IFdoZW4gc291cmNlIGJ1ZmZlciBhbmQgZGVzdGluYXRpb24gYnVmZmVy IGFyZSB0aGUgc2FtZSwKKyAgICAgICAgICAgICAgOzsgcmVtb3ZlIHRoZSBvcmlnaW5hbCB0 ZXh0LgorICAgICAgICAgICAgICAod2hlbiBuby1tb2RpZmllci1vbi1kcm9wCisgICAgICAg ICAgICAgICAgKGxldCAoZGVhY3RpdmF0ZS1tYXJrKQorICAgICAgICAgICAgICAgICAgKGRl bGV0ZS1yZWdpb24gKG92ZXJsYXktc3RhcnQgbW91c2UtZHJhZy1hbmQtZHJvcC1vdmVybGF5 KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG92ZXJsYXktZW5kIG1vdXNl LWRyYWctYW5kLWRyb3Atb3ZlcmxheSkpKSkKKyAgICAgICAgICAgIDs7IFdoZW4gc291cmNl IGJ1ZmZlciBhbmQgZGVzdGluYXRpb24gYnVmZmVyIGFyZSBkaWZmZXJlbnQsCisgICAgICAg ICAgICA7OyBrZWVwIChzZXQgYmFjayB0aGUgb3JpZ2luYWwgdGV4dCBhcyByZWdpb24pIG9y IHJlbW92ZSB0aGUKKyAgICAgICAgICAgIDs7IG9yaWdpbmFsIHRleHQuCisgICAgICAgICAg ICAoc2VsZWN0LXdpbmRvdyB3aW5kb3cpIDsgU2VsZWN0IHdpbmRvdyB3aXRoIHNvdXJjZSBi dWZmZXIuCisgICAgICAgICAgICAoZ290by1jaGFyIHBvaW50KSA7IE1vdmUgcG9pbnQgdG8g dGhlIG9yaWdpbmFsIHRleHQgb24gc291cmNlIGJ1ZmZlci4KKworICAgICAgICAgICAgKGlm IG1vdXNlLWRyYWctYW5kLWRyb3AtcmVnaW9uLWN1dC13aGVuLWJ1ZmZlcnMtZGlmZmVyCisg ICAgICAgICAgICAgICAgOzsgUmVtb3ZlIHRoZSBkcmFnZ2VkIHRleHQgZnJvbSBzb3VyY2Ug YnVmZmVyIGxpa2UKKyAgICAgICAgICAgICAgICA7OyBvcGVyYXRpb24gYGN1dCcuCisgICAg ICAgICAgICAgICAgKGRlbGV0ZS1yZWdpb24gKG92ZXJsYXktc3RhcnQgbW91c2UtZHJhZy1h bmQtZHJvcC1vdmVybGF5KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvdmVy bGF5LWVuZCBtb3VzZS1kcmFnLWFuZC1kcm9wLW92ZXJsYXkpKQorICAgICAgICAgICAgICA7 OyBTZXQgYmFjayB0aGUgZHJhZ2dlZCB0ZXh0IGFzIHJlZ2lvbiBvbiBzb3VyY2UgYnVmZmVy CisgICAgICAgICAgICAgIDs7IGxpa2Ugb3BlcmF0aW9uIGBjb3B5Jy4KKyAgICAgICAgICAg ICAgKGFjdGl2YXRlLW1hcmspKQorICAgICAgICAgICAgKHNlbGVjdC13aW5kb3cgd2luZG93 LXRvLXBhc3RlKSkpKSkpCisKKyAgICA7OyBDbGVhbiB1cC4KKyAgICAoZGVsZXRlLW92ZXJs YXkgbW91c2UtZHJhZy1hbmQtZHJvcC1vdmVybGF5KQorCisgICAgOzsgUmVzdG9yZSBvbGQg c3RhdGVzIGJ1dCBmb3IgdGhlIHdpbmRvdyB3aGVyZSB0aGUgZHJvcAorICAgIDs7IG9jY3Vy cmVkLiBSZXN0b3JlIGN1cnNvciB0eXBlcyBmb3IgYWxsIHdpbmRvd3MuCisgICAgKGRvbGlz dCAoc3RhdGUgc3RhdGVzKQorICAgICAgKGxldCAoKHdpbmRvdyAoY2FyIHN0YXRlKSkpCisg ICAgICAgICh3aGVuIChhbmQgd2luZG93LWV4ZW1wdAorICAgICAgICAgICAgICAgICAgIChu b3QgKGVxIHdpbmRvdyB3aW5kb3ctZXhlbXB0KSkpCisgICAgICAgICAgKHNldC13aW5kb3ct c3RhcnQgd2luZG93IChudGggMSBzdGF0ZSkgJ25vZm9yY2UpCisgICAgICAgICAgKHNldC1t YXJrZXIgKG50aCAxIHN0YXRlKSBuaWwpCisgICAgICAgICAgOzsgSWYgd2luZG93IGlzIHNl bGVjdGVkLCB0aGUgZm9sbG93aW5nIGF1dG9tYXRpY2FsbHkgc2V0cworICAgICAgICAgIDs7 IHBvaW50IGZvciB0aGF0IHdpbmRvdydzIGJ1ZmZlci4KKyAgICAgICAgICAoc2V0LXdpbmRv dy1wb2ludCB3aW5kb3cgKG50aCAyIHN0YXRlKSkKKyAgICAgICAgICAoc2V0LW1hcmtlciAo bnRoIDIgc3RhdGUpIG5pbCkpCisgICAgICAgICh3aXRoLWN1cnJlbnQtYnVmZmVyICh3aW5k b3ctYnVmZmVyIHdpbmRvdykKKyAgICAgICAgICAoc2V0cSBjdXJzb3ItdHlwZSAobnRoIDMg c3RhdGUpKSkpKSkpCiAMCiAKIDs7OyBCaW5kaW5ncyBmb3IgbW91c2UgY29tbWFuZHMuCgo= --------------020906050900070303060208--