From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Federico Tedin Newsgroups: gmane.emacs.bugs Subject: bug#31240: 26.1; mouse-save-then-kill does not kill rectangles Date: Sat, 29 Sep 2018 20:18:59 -0300 Message-ID: References: <5BADDC88.7010206@gmx.at> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="000000000000c76f6105770acc5c" X-Trace: blaine.gmane.org 1538263093 9041 195.159.176.226 (29 Sep 2018 23:18:13 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sat, 29 Sep 2018 23:18:13 +0000 (UTC) Cc: 31240@debbugs.gnu.org, charles@aurox.ch To: rudalics@gmx.at Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun Sep 30 01:18:09 2018 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1g6OUy-0002GE-OP for geb-bug-gnu-emacs@m.gmane.org; Sun, 30 Sep 2018 01:18:09 +0200 Original-Received: from localhost ([::1]:52970 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g6OX5-0001RX-AI for geb-bug-gnu-emacs@m.gmane.org; Sat, 29 Sep 2018 19:20:19 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:34391) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g6OWs-0001Q4-Ry for bug-gnu-emacs@gnu.org; Sat, 29 Sep 2018 19:20:08 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g6OWo-0004CU-Pb for bug-gnu-emacs@gnu.org; Sat, 29 Sep 2018 19:20:06 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:55008) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1g6OWo-0004CP-Iu for bug-gnu-emacs@gnu.org; Sat, 29 Sep 2018 19:20:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1g6OWo-0004Zg-8c for bug-gnu-emacs@gnu.org; Sat, 29 Sep 2018 19:20:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Federico Tedin Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 29 Sep 2018 23:20:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 31240 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 31240-submit@debbugs.gnu.org id=B31240.153826316117526 (code B ref 31240); Sat, 29 Sep 2018 23:20:02 +0000 Original-Received: (at 31240) by debbugs.gnu.org; 29 Sep 2018 23:19:21 +0000 Original-Received: from localhost ([127.0.0.1]:59266 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1g6OW8-0004Yc-S1 for submit@debbugs.gnu.org; Sat, 29 Sep 2018 19:19:21 -0400 Original-Received: from mail-lf1-f67.google.com ([209.85.167.67]:43315) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1g6OW6-0004YO-Dv for 31240@debbugs.gnu.org; Sat, 29 Sep 2018 19:19:19 -0400 Original-Received: by mail-lf1-f67.google.com with SMTP id p34-v6so68932lfg.10 for <31240@debbugs.gnu.org>; Sat, 29 Sep 2018 16:19:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=YJqpdxHU32twyLn9GDN3UDtvLXEXMptPyyBJpK9sH7Q=; b=bz1l1p6a09641O5f2759akUxt0wRBzNOELgTesEE7KovTsKV/fjjNkL249Td/WJIFl fhF3MiJewgwMZbLwD0grz+4hQ7rjULtH/jDG6jW9WMBcF1etYSqpfacBCiFOctsfeNbZ /7SgqOpLVGhSWz9g7lL890Ub975N8T7ZFpR4GNqrnIXIdszAB+QynCvquLGDcDF1Aa+m ehqywCWcHSdzR61e1Bek6M0QQHZyp6Vyrw37NSo2ySbHW54sbelinyfDHksY89Fw8WzC FIivF3e6YtmcOGezRpFt1TTN/jHCEPyU1eADZd9QM/+gRsiaR6B4gtNL4s1P+u2rn2yI 9ZZg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=YJqpdxHU32twyLn9GDN3UDtvLXEXMptPyyBJpK9sH7Q=; b=pv5r6f7x/hpV0Tg4rUPjVK8M++wxILOAyi6AmpA/S5M3SsmPBWKpab8c5x9Qr/kR4V CYIEJ+zysJ1Yb38NLK3GOLPSpX2oJ6B8/pDrgNyXd2BvOFH8lytal3Czf5SUSsezlFCY xuTbt3pK6yjy+uOPOsX4AvPDAxYcD7fMGdfu6J+BNFgRsjvBIJqRdBmBqwnlOkSf2NsK sPNXuaKcxULS5fDMD99Y7mN/FkHD3Gb5BFLtxNR7gtETwHmpXG279Uo21JZpgQm5waoA 7B8kRScVb/oLIdimRCdsBgIxuWWhWDYLL3UlXrlc1EzFRybd1Tu8ktnXTX+SPm98AMK4 dt3w== X-Gm-Message-State: ABuFfohT87ef3Vhi+QR8YYnGu0hXM1uaj8SbIxxlh7l9VQAoJEoalJmP poqEpUH+PMT7jzMxyheJ/Mqs0RfRekZGCiLzfSQ= X-Google-Smtp-Source: ACcGV60dQwOvAy40044qIpp9WWUVI7MZ59nDyjGlfY1baA818oSveg5njXBtFDELBIC/EP2mAUXyVr3wc+b9kNOpKVU= X-Received: by 2002:a19:9e54:: with SMTP id h81-v6mr2101137lfe.155.1538263152538; Sat, 29 Sep 2018 16:19:12 -0700 (PDT) In-Reply-To: <5BADDC88.7010206@gmx.at> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:150773 Archived-At: --000000000000c76f6105770acc5c Content-Type: text/plain; charset="UTF-8" > > So I think I have two options now: either forbid the user from > > dragging a rectangle to a position where the inserted rectangle would > > intersect the original rectangle, > > IIRC that would be faithful to the original (non-rectangle-dragging) > design. > This second option sounds like it can be quite hard to define. If you > decide in the end to prevent the user from dragging the region > somewhere that would intersect with the dragged region (which, as > Martin said, is in line with the original design of > mouse-drag-and-drop-region) that would be fine. After trying out some solutions and reading these two suggestions, I've decided to implement the feature like this. The problem of correctly handling the cases where the dragged rectangular text would overlap with the original one was more complex than I'd thought, and I have some doubts if the usefulness of the feature justifies this added complexity. I'm attaching a new patch with all my changes to mouse.el (and rect.el) so far. I've created two new helper functions in rect.el to avoid cluttering mouse.el with more functions. So, the cases to test out are: 1) Dragging and dropping non-rectangular regions should be exactly the same as before. 2) Dragging and dropping a rectangle _outside_ of itself should insert it in the new position, and then delete the original. 3) Dragging and dropping a rectangle _inside_ of itself should leave everything unchanged. After evaluating "(setq mouse-drag-and-drop-region 'shift)": 4) Dragging and dropping a rectangle inside or outside of itself, while holding the Shift key when dropping, should insert it there, without deleting the original. When I say 'outside of itself' I mean that there shouldn't be any overlapping at all between the original and the newly inserted rectangles. --000000000000c76f6105770acc5c Content-Type: text/x-patch; charset="US-ASCII"; name="mouse.patch" Content-Disposition: attachment; filename="mouse.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jmo24pl30 RnJvbSA3NzdhYWY3MzJmMzQ4YjNiN2NmNDFkMzM2NjA3MWY2MDJiOGNiYjBjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBGZWRlcmljbyBUZWRpbiA8ZmVkZXJpY290ZWRpbkBnbWFpbC5j b20+CkRhdGU6IFNhdCwgMjkgU2VwIDIwMTggMjA6MTY6MDAgLTAzMDAKU3ViamVjdDogW1BBVENI IDEvMV0gQWxsb3cgdHdvIG1vdXNlIGZ1bmN0aW9ucyB0byB3b3JrIHdpdGggUmVjdGFuZ2xlIE1h cmsKIG1vZGUKCiogbGlzcC9tb3VzZS5lbCAobW91c2Utc2F2ZS10aGVuLWtpbGwpOiBNYWtlIG1v dXNlLXNhdmUtdGhlbi1raWxsIHdvcmsKICB3aXRoIHJlY3Rhbmd1bGFyIHJlZ2lvbnMsIGluY2x1 ZGluZyB3aGVuIG1vdXNlLWRyYWctY29weS1yZWdpb24gaXMKICBzZXQgdG8gdC4gKEJ1ZyMzMTI0 MCkKICAobW91c2UtZHJhZy1hbmQtZHJvcC1yZWdpb24pOiBBbGxvdyBkcmFnZ2luZyBhbmQgZHJv cHBpbmcKICByZWN0YW5ndWxhciByZWdpb25zLiAoQnVnIzMxMjQwKQoqIHJlY3QuZWwgKHJlY3Rh bmdsZS1pbnRlcnNlY3QtcCk6IEFkZCBhIG5ldyBmdW5jdGlvbi4KICAocmVjdGFuZ2xlLXBvc2l0 aW9uLWFzLWNvb3JkaW5hdGVzKTogQWRkIGEgbmV3IGZ1bmN0aW9uLgotLS0KIGxpc3AvbW91c2Uu ZWwgfCA5MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0t LS0KIGxpc3AvcmVjdC5lbCAgfCAzNSArKysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFu Z2VkLCAxMDEgaW5zZXJ0aW9ucygrKSwgMjYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGlz cC9tb3VzZS5lbCBiL2xpc3AvbW91c2UuZWwKaW5kZXggY2I2M2NhNTFjNS4uYjAwZjM4YTBmNiAx MDA2NDQKLS0tIGEvbGlzcC9tb3VzZS5lbAorKysgYi9saXNwL21vdXNlLmVsCkBAIC0yOSw2ICsy OSw4IEBACiAKIDs7OyBDb2RlOgogCisoZXZhbC13aGVuLWNvbXBpbGUgKHJlcXVpcmUgJ3JlY3Qp KQorCiA7OzsgVXRpbGl0eSBmdW5jdGlvbnMuCiAKIDs7IEluZGVudCB0cmFjay1tb3VzZSBsaWtl IHByb2duLgpAQCAtMTYwNiw4ICsxNjA4LDggQEAgbW91c2Utc2F2ZS10aGVuLWtpbGwKICAgICAg IChpZiBtb3VzZS1kcmFnLWNvcHktcmVnaW9uCiAgICAgICAgICAgOzsgUmVnaW9uIGFscmVhZHkg c2F2ZWQgaW4gdGhlIHByZXZpb3VzIGNsaWNrOwogICAgICAgICAgIDs7IGRvbid0IG1ha2UgYSBk dXBsaWNhdGUgZW50cnksIGp1c3QgZGVsZXRlLgotICAgICAgICAgIChkZWxldGUtcmVnaW9uICht YXJrIHQpIChwb2ludCkpCi0gICAgICAgIChraWxsLXJlZ2lvbiAobWFyayB0KSAocG9pbnQpKSkK KyAgICAgICAgICAoZnVuY2FsbCByZWdpb24tZXh0cmFjdC1mdW5jdGlvbiAnZGVsZXRlLW9ubHkp CisgICAgICAgIChraWxsLXJlZ2lvbiAobWFyayB0KSAocG9pbnQpICdyZWdpb24pKQogICAgICAg KHNldHEgbW91c2Utc2VsZWN0aW9uLWNsaWNrLWNvdW50IDApCiAgICAgICAoc2V0cSBtb3VzZS1z YXZlLXRoZW4ta2lsbC1wb3NuIG5pbCkpCiAKQEAgLTE2MzIsNyArMTYzNCw3IEBAIG1vdXNlLXNh dmUtdGhlbi1raWxsCiAJKG1vdXNlLXNldC1yZWdpb24tMSkKICAgICAgICAgKHdoZW4gbW91c2Ut ZHJhZy1jb3B5LXJlZ2lvbgogICAgICAgICAgIDs7IFJlZ2lvbiBhbHJlYWR5IGNvcGllZCB0byBr aWxsLXJpbmcgb25jZSwgc28gcmVwbGFjZS4KLSAgICAgICAgICAoa2lsbC1uZXcgKGZpbHRlci1i dWZmZXItc3Vic3RyaW5nIChtYXJrIHQpIChwb2ludCkpIHQpKQorICAgICAgICAgIChraWxsLW5l dyAoZnVuY2FsbCByZWdpb24tZXh0cmFjdC1mdW5jdGlvbiBuaWwpIHQpKQogCTs7IEFycmFuZ2Ug Zm9yIGEgcmVwZWF0ZWQgbW91c2UtMyB0byBraWxsIHRoZSByZWdpb24uCiAJKHNldHEgbW91c2Ut c2F2ZS10aGVuLWtpbGwtcG9zbiBjbGljay1wdCkpKQogCkBAIC0yNDExLDcgKzI0MTMsMTUgQEAg bW91c2UtZHJhZy1hbmQtZHJvcC1yZWdpb24KICAgICAgICAgIChidWZmZXIgKGN1cnJlbnQtYnVm ZmVyKSkKICAgICAgICAgICh3aW5kb3cgKHNlbGVjdGVkLXdpbmRvdykpCiAgICAgICAgICAodGV4 dC1mcm9tLXJlYWQtb25seSBidWZmZXItcmVhZC1vbmx5KQotICAgICAgICAgKG1vdXNlLWRyYWct YW5kLWRyb3Atb3ZlcmxheSAobWFrZS1vdmVybGF5IHN0YXJ0IGVuZCkpCisgICAgICAgICA7OyBV c2UgbXVsdGlwbGUgb3ZlcmxheXMgdG8gY292ZXIgY2FzZXMgd2hlcmUgdGhlIHJlZ2lvbiBpcyBy ZWN0YW5ndWxhci4KKyAgICAgICAgIChtb3VzZS1kcmFnLWFuZC1kcm9wLW92ZXJsYXlzIChtYXBj YXIgKGxhbWJkYSAoYm91bmRzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChtYWtlLW92ZXJsYXkgKGNhciBib3VuZHMpCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2RyIGJvdW5k cykpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVn aW9uLWJvdW5kcykpKQorICAgICAgICAgKHJlZ2lvbi1ub25jb250aWd1b3VzIChyZWdpb24tbm9u Y29udGlndW91cy1wKSkKKyAgICAgICAgIChyZWdpb24td2lkdGggKC0gKG92ZXJsYXktZW5kIChj YXIgbW91c2UtZHJhZy1hbmQtZHJvcC1vdmVybGF5cykpCisgICAgICAgICAgICAgICAgICAgICAg ICAgIChvdmVybGF5LXN0YXJ0IChjYXIgbW91c2UtZHJhZy1hbmQtZHJvcC1vdmVybGF5cykpKSkK KyAgICAgICAgIChyZWdpb24taGVpZ2h0IChsZW5ndGggbW91c2UtZHJhZy1hbmQtZHJvcC1vdmVy bGF5cykpCiAgICAgICAgICBwb2ludC10by1wYXN0ZQogICAgICAgICAgcG9pbnQtdG8tcGFzdGUt cmVhZC1vbmx5CiAgICAgICAgICB3aW5kb3ctdG8tcGFzdGUKQEAgLTI0NTUsNyArMjQ2NSwxMSBA QCBtb3VzZS1kcmFnLWFuZC1kcm9wLXJlZ2lvbgogICAgICAgICAgIDs7IE9idGFpbiB0aGUgZHJh Z2dlZCB0ZXh0IGluIHJlZ2lvbi4gIFdoZW4gdGhlIGxvb3Agd2FzCiAgICAgICAgICAgOzsgc2tp cHBlZCwgdmFsdWUtc2VsZWN0aW9uIHJlbWFpbnMgbmlsLgogICAgICAgICAgICh1bmxlc3MgdmFs dWUtc2VsZWN0aW9uCi0gICAgICAgICAgICAoc2V0cSB2YWx1ZS1zZWxlY3Rpb24gKGJ1ZmZlci1z dWJzdHJpbmcgc3RhcnQgZW5kKSkKKyAgICAgICAgICAgIChzZXRxIHZhbHVlLXNlbGVjdGlvbiAo ZnVuY2FsbCByZWdpb24tZXh0cmFjdC1mdW5jdGlvbiBuaWwpKQorICAgICAgICAgICAgOzsgUmVt b3ZlIHlhbmstaGFuZGxlciBwcm9wZXJ0eSBpbiBvcmRlciB0byByZS1pbnNlcnQgdGV4dCB1c2lu ZworICAgICAgICAgICAgOzsgdGhlIGBpbnNlcnQtcmVjdGFuZ2xlJyBmdW5jdGlvbiBsYXRlciBv bi4KKyAgICAgICAgICAgIChyZW1vdmUtdGV4dC1wcm9wZXJ0aWVzIDAgKGxlbmd0aCB2YWx1ZS1z ZWxlY3Rpb24pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnKHlhbmstaGFu ZGxlcikgdmFsdWUtc2VsZWN0aW9uKQogICAgICAgICAgICAgKHdoZW4gbW91c2UtZHJhZy1hbmQt ZHJvcC1yZWdpb24tc2hvdy10b29sdGlwCiAgICAgICAgICAgICAgIChsZXQgKCh0ZXh0LXNpemUg bW91c2UtZHJhZy1hbmQtZHJvcC1yZWdpb24tc2hvdy10b29sdGlwKSkKICAgICAgICAgICAgICAg ICAoc2V0cSB0ZXh0LXRvb2x0aXAKQEAgLTI0NjgsMTIgKzI0ODIsMTggQEAgbW91c2UtZHJhZy1h bmQtZHJvcC1yZWdpb24KICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLXNlbGVjdGlvbikp KSkKIAogICAgICAgICAgICAgOzsgQ2hlY2sgaWYgc2VsZWN0ZWQgdGV4dCBpcyByZWFkLW9ubHku Ci0gICAgICAgICAgICAoc2V0cSB0ZXh0LWZyb20tcmVhZC1vbmx5IChvciB0ZXh0LWZyb20tcmVh ZC1vbmx5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZ2V0LXRl eHQtcHJvcGVydHkgc3RhcnQgJ3JlYWQtb25seSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChub3QgKGVxdWFsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAobmV4dC1zaW5nbGUtY2hhci1wcm9wZXJ0eS1jaGFuZ2UKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydCAncmVh ZC1vbmx5IG5pbCBlbmQpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBlbmQpKSkpKQorICAgICAgICAgICAgKHNldHEgdGV4dC1mcm9tLXJlYWQtb25seQor ICAgICAgICAgICAgICAgICAgKG9yIHRleHQtZnJvbS1yZWFkLW9ubHkKKyAgICAgICAgICAgICAg ICAgICAgICAoZ2V0LXRleHQtcHJvcGVydHkgc3RhcnQgJ3JlYWQtb25seSkKKyAgICAgICAgICAg ICAgICAgICAgICAoZ2V0LXRleHQtcHJvcGVydHkgZW5kICdyZWFkLW9ubHkpCisgICAgICAgICAg ICAgICAgICAgICAgKGNhdGNoICdsb29wCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChk b2xpc3QgKGJvdW5kIChyZWdpb24tYm91bmRzKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAodW5sZXNzIChlcXVhbAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChuZXh0LXNpbmdsZS1jaGFyLXByb3BlcnR5LWNoYW5nZQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoY2FyIGJvdW5kKSAncmVhZC1vbmx5IG5pbCAoY2RyIGJv dW5kKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2RyIGJvdW5k KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0aHJvdyAnbG9vcCB0KSkpKSkp KQorCiAgICAgICAgICAgKHNldHEgd2luZG93LXRvLXBhc3RlIChwb3NuLXdpbmRvdyAoZXZlbnQt ZW5kIGV2ZW50KSkpCiAgICAgICAgICAgKHNldHEgcG9pbnQtdG8tcGFzdGUgKHBvc24tcG9pbnQg KGV2ZW50LWVuZCBldmVudCkpKQogICAgICAgICAgIDs7IFNldCBuaWwgd2hlbiB0YXJnZXQgYnVm ZmVyIGlzIG1pbmlidWZmZXIuCkBAIC0yNTAwLDEyICsyNTIwLDIwIEBAIG1vdXNlLWRyYWctYW5k LWRyb3AtcmVnaW9uCiAgICAgICAgICAgICA7OyB0ZXh0IHdpbGwgYmUgaW5zZXJ0ZWQgdG8gaW5z aWRlIG9mIHRoZSBvcmlnaW5hbAogICAgICAgICAgICAgOzsgcmVnaW9uLgogICAgICAgICAgICAg KHNldHEgZHJhZy1idXQtbmVnbGlnaWJsZQotICAgICAgICAgICAgICAgICAgKGFuZCAoZXEgKG92 ZXJsYXktYnVmZmVyIG1vdXNlLWRyYWctYW5kLWRyb3Atb3ZlcmxheSkKKyAgICAgICAgICAgICAg ICAgIChhbmQgKGVxIChvdmVybGF5LWJ1ZmZlciAoY2FyIG1vdXNlLWRyYWctYW5kLWRyb3Atb3Zl cmxheXMpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZmVyLXRvLXBhc3RlKQotICAg ICAgICAgICAgICAgICAgICAgICAoPD0gKG92ZXJsYXktc3RhcnQgbW91c2UtZHJhZy1hbmQtZHJv cC1vdmVybGF5KQotICAgICAgICAgICAgICAgICAgICAgICAgICBwb2ludC10by1wYXN0ZSkKLSAg ICAgICAgICAgICAgICAgICAgICAgKDw9IHBvaW50LXRvLXBhc3RlCi0gICAgICAgICAgICAgICAg ICAgICAgICAgIChvdmVybGF5LWVuZCBtb3VzZS1kcmFnLWFuZC1kcm9wLW92ZXJsYXkpKSkpKQor ICAgICAgICAgICAgICAgICAgICAgICAoaWYgcmVnaW9uLW5vbmNvbnRpZ3VvdXMKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgIDs7IElmIHRoZSByZWdpb24gaXMgcmVjdGFuZ3VsYXIsIGNoZWNr IGlmIHRoZSBuZXdseSBpbnNlcnRlZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgcmVj dGFuZ3VsYXIgdGV4dCB3b3VsZCBpbnRlcnNlY3QgdGhlIGFscmVhZHkgc2VsZWN0ZWQKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgIDs7IHJlZ2lvbi4gSWYgaXQgd291bGQsIHRoZW4gc2V0ICJk cmFnLWJ1dC1uZWdsaWdpYmxlIiB0byB0LgorICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxl dCAoKHNpemUgKGNvbnMgcmVnaW9uLXdpZHRoIHJlZ2lvbi1oZWlnaHQpKSkKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKHJlY3RhbmdsZS1pbnRlcnNlY3QtcAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKHJlY3RhbmdsZS1wb3NpdGlvbi1hcy1jb29yZGluYXRlcyBzdGFydCkg c2l6ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlY3RhbmdsZS1wb3NpdGlvbi1h cy1jb29yZGluYXRlcyBwb2ludC10by1wYXN0ZSkgc2l6ZSkpCisgICAgICAgICAgICAgICAgICAg ICAgICAgKGFuZCAoPD0gKG92ZXJsYXktc3RhcnQgKGNhciBtb3VzZS1kcmFnLWFuZC1kcm9wLW92 ZXJsYXlzKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2ludC10by1wYXN0 ZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg8PSBwb2ludC10by1wYXN0ZQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvdmVybGF5LWVuZCAoY2FyIG1vdXNlLWRy YWctYW5kLWRyb3Atb3ZlcmxheXMpKSkpKSkpKQogCiAgICAgICAgICAgOzsgU2hvdyBhIHRvb2x0 aXAuCiAgICAgICAgICAgKGlmIG1vdXNlLWRyYWctYW5kLWRyb3AtcmVnaW9uLXNob3ctdG9vbHRp cApAQCAtMjUyNCw4ICsyNTUyLDkgQEAgbW91c2UtZHJhZy1hbmQtZHJvcC1yZWdpb24KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAodAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAnYmFyKSkpCiAgICAgICAgICAgICAod2hlbiBjdXJzb3ItaW4tdGV4dC1hcmVhCi0gICAg ICAgICAgICAgIChvdmVybGF5LXB1dCBtb3VzZS1kcmFnLWFuZC1kcm9wLW92ZXJsYXkKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICdmYWNlICdtb3VzZS1kcmFnLWFuZC1kcm9wLXJlZ2lvbikK KyAgICAgICAgICAgICAgKGRvbGlzdCAob3ZlcmxheSBtb3VzZS1kcmFnLWFuZC1kcm9wLW92ZXJs YXlzKQorICAgICAgICAgICAgICAgIChvdmVybGF5LXB1dCBvdmVybGF5CisgICAgICAgICAgICAg ICAgICAgICAgICAgICAnZmFjZSAnbW91c2UtZHJhZy1hbmQtZHJvcC1yZWdpb24pKQogICAgICAg ICAgICAgICAoZGVhY3RpdmF0ZS1tYXJrKSAgICAgOyBNYWludGFpbiByZWdpb24gaW4gb3RoZXIg d2luZG93LgogICAgICAgICAgICAgICAobW91c2Utc2V0LXBvaW50IGV2ZW50KSkpKSkKIApAQCAt MjU4MSw3ICsyNjEwLDkgQEAgbW91c2UtZHJhZy1hbmQtZHJvcC1yZWdpb24KICAgICAgICAgICAo c2VsZWN0LXdpbmRvdyB3aW5kb3cpCiAgICAgICAgICAgKGdvdG8tY2hhciBwb2ludCkKICAgICAg ICAgICAoc2V0cSBkZWFjdGl2YXRlLW1hcmsgbmlsKQotICAgICAgICAgIChhY3RpdmF0ZS1tYXJr KSkKKyAgICAgICAgICAoYWN0aXZhdGUtbWFyaykKKyAgICAgICAgICAod2hlbiByZWdpb24tbm9u Y29udGlndW91cworICAgICAgICAgICAgKHJlY3RhbmdsZS1tYXJrLW1vZGUpKSkKICAgICAgICAg IDs7IE1vZGlmeSBidWZmZXJzLgogICAgICAgICAgKHQKICAgICAgICAgICA7OyAqIERFU1RJTkFU SU9OIEJVRkZFUjo6CkBAIC0yNTkwLDExICsyNjIxLDE3IEBAIG1vdXNlLWRyYWctYW5kLWRyb3At cmVnaW9uCiAgICAgICAgICAgKHNldHEgd2luZG93LWV4ZW1wdCB3aW5kb3ctdG8tcGFzdGUpCiAg ICAgICAgICAgKGdvdG8tY2hhciBwb2ludC10by1wYXN0ZSkKICAgICAgICAgICAocHVzaC1tYXJr KQotICAgICAgICAgIChpbnNlcnQgdmFsdWUtc2VsZWN0aW9uKQorCisgICAgICAgICAgKGlmIHJl Z2lvbi1ub25jb250aWd1b3VzCisgICAgICAgICAgICAgIChpbnNlcnQtcmVjdGFuZ2xlIChzcGxp dC1zdHJpbmcgdmFsdWUtc2VsZWN0aW9uICJcbiIpKQorICAgICAgICAgICAgKGluc2VydCB2YWx1 ZS1zZWxlY3Rpb24pKQorCiAgICAgICAgICAgOzsgT24gc3VjY2Vzcywgc2V0IHRoZSB0ZXh0IGFz IHJlZ2lvbiBvbiBkZXN0aW5hdGlvbiBidWZmZXIuCiAgICAgICAgICAgKHdoZW4gKG5vdCAoZXF1 YWwgKG1hcmspIChwb2ludCkpKQogICAgICAgICAgICAgKHNldHEgZGVhY3RpdmF0ZS1tYXJrIG5p bCkKLSAgICAgICAgICAgIChhY3RpdmF0ZS1tYXJrKSkKKyAgICAgICAgICAgIChhY3RpdmF0ZS1t YXJrKQorICAgICAgICAgICAgKHdoZW4gcmVnaW9uLW5vbmNvbnRpZ3VvdXMKKyAgICAgICAgICAg ICAgKHJlY3RhbmdsZS1tYXJrLW1vZGUpKSkKIAogICAgICAgICAgIDs7ICogU09VUkNFIEJVRkZF Ujo6CiAgICAgICAgICAgOzsgU2V0IGJhY2sgdGhlIG9yaWdpbmFsIHRleHQgYXMgcmVnaW9uIG9y IGRlbGV0ZSB0aGUgb3JpZ2luYWwKQEAgLTI2MDQsOCArMjY0MSw5IEBAIG1vdXNlLWRyYWctYW5k LWRyb3AtcmVnaW9uCiAgICAgICAgICAgICAgIDs7IHJlbW92ZSB0aGUgb3JpZ2luYWwgdGV4dC4K ICAgICAgICAgICAgICAgKHdoZW4gbm8tbW9kaWZpZXItb24tZHJvcAogICAgICAgICAgICAgICAg IChsZXQgKGRlYWN0aXZhdGUtbWFyaykKLSAgICAgICAgICAgICAgICAgIChkZWxldGUtcmVnaW9u IChvdmVybGF5LXN0YXJ0IG1vdXNlLWRyYWctYW5kLWRyb3Atb3ZlcmxheSkKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChvdmVybGF5LWVuZCBtb3VzZS1kcmFnLWFuZC1kcm9wLW92 ZXJsYXkpKSkpCisgICAgICAgICAgICAgICAgICAoZG9saXN0IChvdmVybGF5IG1vdXNlLWRyYWct YW5kLWRyb3Atb3ZlcmxheXMpCisgICAgICAgICAgICAgICAgICAgIChkZWxldGUtcmVnaW9uIChv dmVybGF5LXN0YXJ0IG92ZXJsYXkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChvdmVybGF5LWVuZCBvdmVybGF5KSkpKSkKICAgICAgICAgICAgIDs7IFdoZW4gc291cmNlIGJ1 ZmZlciBhbmQgZGVzdGluYXRpb24gYnVmZmVyIGFyZSBkaWZmZXJlbnQsCiAgICAgICAgICAgICA7 OyBrZWVwIChzZXQgYmFjayB0aGUgb3JpZ2luYWwgdGV4dCBhcyByZWdpb24pIG9yIHJlbW92ZSB0 aGUKICAgICAgICAgICAgIDs7IG9yaWdpbmFsIHRleHQuCkBAIC0yNjE1LDE1ICsyNjUzLDE3IEBA IG1vdXNlLWRyYWctYW5kLWRyb3AtcmVnaW9uCiAgICAgICAgICAgICAoaWYgbW91c2UtZHJhZy1h bmQtZHJvcC1yZWdpb24tY3V0LXdoZW4tYnVmZmVycy1kaWZmZXIKICAgICAgICAgICAgICAgICA7 OyBSZW1vdmUgdGhlIGRyYWdnZWQgdGV4dCBmcm9tIHNvdXJjZSBidWZmZXIgbGlrZQogICAgICAg ICAgICAgICAgIDs7IG9wZXJhdGlvbiBgY3V0Jy4KLSAgICAgICAgICAgICAgICAoZGVsZXRlLXJl Z2lvbiAob3ZlcmxheS1zdGFydCBtb3VzZS1kcmFnLWFuZC1kcm9wLW92ZXJsYXkpCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKG92ZXJsYXktZW5kIG1vdXNlLWRyYWctYW5kLWRyb3At b3ZlcmxheSkpCisgICAgICAgICAgICAgICAgKGRvbGlzdCAob3ZlcmxheSBtb3VzZS1kcmFnLWFu ZC1kcm9wLW92ZXJsYXlzKQorICAgICAgICAgICAgICAgICAgICAoZGVsZXRlLXJlZ2lvbiAob3Zl cmxheS1zdGFydCBvdmVybGF5KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo b3ZlcmxheS1lbmQgb3ZlcmxheSkpKQogICAgICAgICAgICAgICA7OyBTZXQgYmFjayB0aGUgZHJh Z2dlZCB0ZXh0IGFzIHJlZ2lvbiBvbiBzb3VyY2UgYnVmZmVyCiAgICAgICAgICAgICAgIDs7IGxp a2Ugb3BlcmF0aW9uIGBjb3B5Jy4KICAgICAgICAgICAgICAgKGFjdGl2YXRlLW1hcmspKQogICAg ICAgICAgICAgKHNlbGVjdC13aW5kb3cgd2luZG93LXRvLXBhc3RlKSkpKSkpCiAKICAgICA7OyBD bGVhbiB1cC4KLSAgICAoZGVsZXRlLW92ZXJsYXkgbW91c2UtZHJhZy1hbmQtZHJvcC1vdmVybGF5 KQorICAgIChkb2xpc3QgKG92ZXJsYXkgbW91c2UtZHJhZy1hbmQtZHJvcC1vdmVybGF5cykKKyAg ICAgIChkZWxldGUtb3ZlcmxheSBvdmVybGF5KSkKIAogICAgIDs7IFJlc3RvcmUgb2xkIHN0YXRl cyBidXQgZm9yIHRoZSB3aW5kb3cgd2hlcmUgdGhlIGRyb3AKICAgICA7OyBvY2N1cnJlZC4gUmVz dG9yZSBjdXJzb3IgdHlwZXMgZm9yIGFsbCB3aW5kb3dzLgpkaWZmIC0tZ2l0IGEvbGlzcC9yZWN0 LmVsIGIvbGlzcC9yZWN0LmVsCmluZGV4IDhjY2YwNTFlZTEuLjA0NTYyNDJmNjQgMTAwNjQ0Ci0t LSBhL2xpc3AvcmVjdC5lbAorKysgYi9saXNwL3JlY3QuZWwKQEAgLTE2Nyw2ICsxNjcsNDEgQEAg YXBwbHktb24tcmVjdGFuZ2xlCiAgICAgICAgICAgICAgICAgICg8PSAocG9pbnQpIGVuZHB0KSkp KQogICAgICAgZmluYWwtcG9pbnQpKSkKIAorKGRlZnVuIHJlY3RhbmdsZS1wb3NpdGlvbi1hcy1j b29yZGluYXRlcyAocG9zaXRpb24pCisgICJSZXR1cm4gYW4gaW50ZWdlciBidWZmZXIgcG9zaXRp b24gYXMgYSAoQ09MIC4gTElORSkgY29vcmRpbmF0ZS4iCisgIChzYXZlLWV4Y3Vyc2lvbgorICAg IChnb3RvLWNoYXIgcG9zaXRpb24pCisgICAgKGxldCAoKGNvbCAoY3VycmVudC1jb2x1bW4pKQor ICAgICAgICAgIChsaW5lIChwcm9nbgorICAgICAgICAgICAgICAgICAgKGJlZ2lubmluZy1vZi1s aW5lKQorICAgICAgICAgICAgICAgICAgKGNvdW50LWxpbmVzIDEgcG9zaXRpb24pKSkpCisgICAg ICAoY29ucyBjb2wgbGluZSkpKSkKKworKGRlZnVuIHJlY3RhbmdsZS1pbnRlcnNlY3QtcCAocG9z MSBzaXplMSBwb3MyIHNpemUyKQorICAiUmV0dXJuIHQgaWYgdGhlIHJlY3RhbmdsZSBkZWZpbmVk IGJ5IFBPUzEgYW5kIFNJWkUxIGludGVyc2VjdHMgd2l0aAordGhlIG9uZSBkZWZpbmVkIGJ5IFBP UzIgYW5kIFNJWkUyLCBhbmQgcmV0dXJuIG5pbCBpZiB0aGV5IGRvIG5vdC4KKworUE9TMSBhbmQg UE9TMiBzaG91bGQgZGVzY3JpYmUgdGhlIHBvc2l0aW9ucyBvZiB0aGUgdXBwZXItbGVmdAorY29y bmVycyBvZiB0aGUgZmlyc3QgYW5kIHNlY29uZCByZWN0YW5nbGVzLCBpbiB0aGUgZm9ybSBvZiAo Q09MIC4gTElORSkuCitTSVpFMSBhbmQgU0laRTIgc2hvdWxkIGRlc2NyaWJlIHRoZSBkaW1lbnNp b25zIG9mIHRoZSBmaXJzdCBhbmQgc2Vjb25kCityZWN0YW5nbGVzLCBpbiB0aGUgZm9ybSBvZiAo V0lEVEggLiBIRUlHSFQpLiIKKyAgKGxldCAoKHgxIChjYXIgcG9zMSkpCisgICAgICAgICh5MSAo Y2RyIHBvczEpKQorICAgICAgICAoeDIgKGNhciBwb3MyKSkKKyAgICAgICAgKHkyIChjZHIgcG9z MikpCisgICAgICAgICh3MSAoY2FyIHNpemUxKSkKKyAgICAgICAgKGgxIChjZHIgc2l6ZTEpKQor ICAgICAgICAodzIgKGNhciBzaXplMikpCisgICAgICAgIChoMiAoY2RyIHNpemUyKSkpCisgICAg KG5vdCAob3IgKDw9ICgrIHgxIHcxKQorICAgICAgICAgICAgICAgICB4MikKKyAgICAgICAgICAg ICAoPD0gKCsgeDIgdzIpCisgICAgICAgICAgICAgICAgIHgxKQorICAgICAgICAgICAgICg8PSAo KyB5MSBoMSkKKyAgICAgICAgICAgICAgICAgeTIpCisgICAgICAgICAgICAgKDw9ICgrIHkyIGgy KQorICAgICAgICAgICAgICAgICB5MSkpKSkpCisKIChkZWZ1biBkZWxldGUtcmVjdGFuZ2xlLWxp bmUgKHN0YXJ0Y29sIGVuZGNvbCBmaWxsKQogICAod2hlbiAoPSAobW92ZS10by1jb2x1bW4gc3Rh cnRjb2wgKGlmIGZpbGwgdCAnY29lcmNlKSkgc3RhcnRjb2wpCiAgICAgKGRlbGV0ZS1yZWdpb24g KHBvaW50KQotLSAKMi4xNy4xCgo= --000000000000c76f6105770acc5c--