From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Tak Kunihiro Newsgroups: gmane.emacs.devel Subject: Re: mouse-drag-and-drop-region Date: Mon, 20 Nov 2017 22:29:37 +0900 (JST) Message-ID: <20171120.222937.949251858246319152.tak.kunihiro@gmail.com> References: <5A0ABD41.5040402@gmx.at> <20171116.092825.1408561780440493246.tak.kunihiro@gmail.com> <5A0D562D.1010803@gmx.at> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: Text/Plain; charset=iso-8859-7 Content-Transfer-Encoding: base64 X-Trace: blaine.gmane.org 1511190814 4733 195.159.176.226 (20 Nov 2017 15:13:34 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 20 Nov 2017 15:13:34 +0000 (UTC) Cc: tak.kunihiro@gmail.com, emacs-devel@gnu.org To: rudalics@gmx.at, Eli Zaretskii , Alex Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Nov 20 16:13:21 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 1eGnl8-0000TT-Le for ged-emacs-devel@m.gmane.org; Mon, 20 Nov 2017 16:13:20 +0100 Original-Received: from localhost ([::1]:57852 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eGnlF-0001P9-QT for ged-emacs-devel@m.gmane.org; Mon, 20 Nov 2017 10:13:25 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:45400) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eGm93-0004CP-LR for emacs-devel@gnu.org; Mon, 20 Nov 2017 08:29:55 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eGm91-0007r7-B4 for emacs-devel@gnu.org; Mon, 20 Nov 2017 08:29:53 -0500 Original-Received: from mail-pf0-x232.google.com ([2607:f8b0:400e:c00::232]:38958) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eGm8w-0007pX-3C; Mon, 20 Nov 2017 08:29:46 -0500 Original-Received: by mail-pf0-x232.google.com with SMTP id l24so7313382pfj.6; Mon, 20 Nov 2017 05:29:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:message-id:to:cc:subject:from:in-reply-to:references :mime-version:content-transfer-encoding; bh=vRB3op/rWXZigMhCDZBYMHiWjH4fZlMkbzZWrAqNoxk=; b=PXQ/n3G3R04ahjD/7EGYAw9pHzQAfOQ6afUD5fQm1jPrcwF3FBC8FtJ9mfbHCeJCFn jra4C/GVZyLaL8M1XLb2vSG5e5WWejnwj6SLgDf7xXEiIymESC2lZR01cJ0kxA1Nytd2 enl3+4dxQJ7Udr67YfDuH6vROLdkSct+bQp2qEXf45Be0oD4PvyB/CVzMImZvhdSHmfY dnkmg5zYXZyhbg8aQR/fzyNtZtTFPuH5t0+hnqnj1AGWVnuORg4OJL03DCmBxwBMQe4D wfvl2MXgkkkhlMy6dWIhoi8hicP+hkUDLppRXsd0ujvRTlfP6wV44Gp6iUUTATv5BA1I Cplw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:message-id:to:cc:subject:from:in-reply-to :references:mime-version:content-transfer-encoding; bh=vRB3op/rWXZigMhCDZBYMHiWjH4fZlMkbzZWrAqNoxk=; b=S6++i7LB6BMWGRQN8Y01r9AN+R2xJzmS9PrEWDD7tYwanZ4msTBBndwZZ5vfBCqPWG PJgH8nIb4l0tWcPRdkfyiN2HwvVn/JsAqX8FNqsulZ+f3Lj150G5sWmusc7LMqXngQ/w FQ71pZxePsU2f+/3XMtj+xvJyRBGnYVEJoziZGpt8Wyxg4AJQtfHOITOsuYRjiThC0un PsojnMNQ+Y8hUXlxwVZBaWz04+2D7isbwhVDcZb8EJEfCCLRO0xWCPBbU9NJd9B3+d20 ufFlFqTewsF9qkzvjHe9/WjRIKoS1p8tixWEZPbqm7WynD10hFgk5h9jE918soefnWq7 lpHw== X-Gm-Message-State: AJaThX6Db8dBDnR+jVkrcbW4PH4GDzy+4vav45VQLiH7OmBjB1b6N1P+ CTE75Ph2TyD2bVam8IjTNtI= X-Google-Smtp-Source: AGs4zMYNgZfG/Whs7/5phSPV+vc+q6ivaZ5P/ycIMkRLEycfzpb5uh6CLgCDDzm2lyHVfD1GvnmGUw== X-Received: by 10.159.216.152 with SMTP id s24mr8037034plp.447.1511184583964; Mon, 20 Nov 2017 05:29:43 -0800 (PST) Original-Received: from localhost (p221050-ipngn200207tottori.tottori.ocn.ne.jp. [153.182.220.50]) by smtp.gmail.com with ESMTPSA id z78sm20771105pfk.115.2017.11.20.05.29.41 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 20 Nov 2017 05:29:43 -0800 (PST) In-Reply-To: <5A0D562D.1010803@gmx.at> X-Mailer: Mew version 6.7 on Emacs 25.3 / Mule 6.0 (HANACHIRUSATO) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400e:c00::232 X-Mailman-Approved-At: Mon, 20 Nov 2017 10:13:00 -0500 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:220290 Archived-At: SSByZXZpc2VkIG1vdXNlLWRyYWctYW5kLWRyb3AtcmVnaW9uLiAgSSdtIHNlbmRpbmcgcmVwbGF5 IHRvDQpodHRwczovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2VtYWNzLWRldmVsLzIwMTct MTEvbXNnMDAzODcuaHRtbCwNCkNoYW5nZUxvZywgYW5kIHBhdGNoLg0KDQoqIENoYW5nZUxvZw0K DQoyMDE3LTExLTIxIFRhayBLdW5paGlybyA8dGtrQG1pc2FzYS5va2F5YW1hLXUuYWMuanA+DQoN CiAgICAgICAgSW1wcm92ZSBjb21tZW50cyBhbmQgaGF2ZSB0d28gbmV3IG9wdGlvbnMNCg0KICAg ICAgICAqIGxpc3AvbW91c2UuZWwgKG1vdXNlLWRyYWctYW5kLWRyb3AtcmVnaW9uKTogTWFrZSB0 b29sdGlwIHByZXZpZXcgdG8gYmUgYW4gb3B0aW9uLiAgSGF2ZSBhbiBvcHRpb24gdG8gbWFrZSBk cmFnZ2luZyBjdXQgYW1vbmcgYnVmZmVycy4NCiAgICAgICAgKG1vdXNlLWRyYWctYW5kLWRyb3At cmVnaW9uLWN1dC1hbW9uZy1idWZmZXIpOiBOZXcgZmxhZy4gIFdoZW4gdCwgdGV4dCBpcyBjdXQg aW5zdGVhZCBvZiBjb3B5IHdoZW4gZHJhZ2dlZCBhbW9uZyBidWZmZXJzLg0KICAgICAgICAobW91 c2UtZHJhZy1hbmQtZHJvcC1yZWdpb24tc2hvdy10b29sdGlwKTogTmV3IGZsYWcuICBXaGVuIHQs IHRleHQgaXMgc2hvd24gYnkgYSB0b29sdGlwIGluIGEgZ3JhcGhpYyBkaXNwbGF5Lg0KDQoqIFJl cGxheQ0KDQo+IERpZCB5b3UgZXZlciBjb25zaWRlciB1c2luZyB0aGUgInIiIGludGVyYWN0aXZl IHN3aXRjaCBpbnN0ZWFkIG9mIHRoZQ0KPiAiZSIgb25lPw0KDQpJIHN1cHBvc2UgeW91IHN1Z2dl c3Qgc29tZXRoaW5nIGxpa2UgYmVsb3cuICBJIGNhbm5vdCBtYWtlIHRoaXMgd29yay4NClRodXMg dGhpcyByZXZpc2lvbiwgSSBkbyBub3QgdXNlICJyIiBpbnRlcmFjdGl2ZSBzd2l0Y2guDQoNCihk ZWZ1biBtb3VzZS1kcmFnLWFuZC1kcm9wLXJlZ2lvbiAoZXZlbnQgc3RhcnQgYW5kKQ0KICAoaW50 ZXJhY3RpdmUgImVcbnIiKQ0KICAuLi4pDQoNCj4+PiAoMikgQWN0aXZhdGluZyB0aGUgc2Vjb25k YXJ5IG92ZXJsYXkgY2FuIGJlIGRpc3RyYWN0aW5nIGFuZCBzaG91bGQNCj4+PiAgICAgYmUgbWFk ZSBvcHRpb25hbCAoZmFjdWx0YXRpdmVseSBrZWVwaW5nIHRoZSBwcmltYXJ5IG92ZXJsYXkgaW4N Cj4+PiAgICAgcGxhY2UgcHJvdmlkZWQgKDQpIGJlbG93IGlzIGRvbmUpLg0KPj4NCj4+IFJlZ2lv biBvbiB0aGUgb3RoZXIgd2luZG93IGlzIG5vdCB2aXNpYmxlLiAgVGh1cyBvcmlnaW5hbCByZWdp b24NCj4+IHNob3VsZCBiZSBoaS1saWdodGVkIHNvbWVob3cuICBTaW5jZSBtb3VzZS1kcmFnLWFu ZC1kcm9wLXJlZ2lvbiBpcw0KPj4gbG9jYXRlZCBvbiBtb3VzZS5lbCwgbW91c2Utc2Vjb25kYXJ5 LW92ZXJsYXkgd2FzIHVzZWQuDQo+DQo+IFlvdSBtZWFuIHRoYXQgeW91IGhpZ2hsaWdodCB0aGUg b3JpZ2luYWwgcmVnaW9uIHdpdGggdGhlIHNlY29uZGFyeQ0KPiBvdmVybGF5IHNvIHRoYXQgdGhl IG92ZXJsYXkgc2hvd3MgdXAgb24gdGhlIHRhcmdldCB3aW5kb3cgYXMgd2VsbCBhbmQNCj4gdGhl IHVzZXIgaXMgaW5mb3JtZWQgdGhhdCBkcm9wcGluZyB0aGVyZSBtaWdodCBsZWFkIHRvIHNheSAi ZHViaW91cyINCj4gcmVzdWx0cz8NCg0KSSB0aGluayB5ZXMuICBBbHNvLCBzaW5jZSB2YWx1ZS1z ZWxlY3Rpb24gd291bGQgYmUgaW5zZXJ0ZWQgYmVmb3JlIHRoZQ0KcG9pbnQgYW5kIG1hcmssIEkg dGhvdWdodCBpdCBpcyBoYW5keSB0byBrZWVwIHRyYWNrIHdoZXJlIHdhcyB0aGUNCnJlZ2lvbiBi eSBhbiBvdmVybGF5Lg0KDQo+IEkgbWVhbiBzb21ldGhpbmcgbGlrZQ0KPg0KPiAoZGVmY3VzdG9t IG1vdXNlLWRyYWctYW5kLWRyb3AtcmVnaW9uLXNob3ctc2Vjb25kYXJ5LW92ZXJsYXkgdCAuLi4p DQo+DQo+IHdoZXJlIHNldHRpbmcgdGhpcyB0byBuaWwgbWVhbnMgdG8ganVzdCBub3Qgc2hvdyBh bnkgb3ZlcmxheS4gIEFuZA0KPiB5b3VyIGNvZGUgd291bGQgaGF2ZSB0byBhY2NlcHQgdGhhdCB0 aGVyZSBpcyBubyBzZWNvbmRhcnkgb3ZlcmxheSBhdA0KPiB0aGUgdGltZSBvZiB0aGUgZHJvcC4N Cg0KSSBmb3VuZCB0aGlzIHRha2VzIHNpZ25pZmljYW50IHRpbWUuICBJIHNraXAgdG8gZ2V0IHJp ZCBvZiB1c2FnZSBvZg0Kc2Vjb25kYXJ5LW92ZXJsYXkgb24gdGhpcyByZXZpc2lvbi4NCg0KPj4+ ICgzKSBTaG93aW5nIHRvb2x0aXBzIGNhbiBiZSBkaXN0cmFjdGluZyBhbmQgc2hvdWxkIGJlIG9w dGlvbmFsLg0KPj4+ICAgICBOb3RlIGFsc28sIHRoYXQgdXN1cnBpbmcgdG9vbHRpcHMgdGhpcyB3 YXkgbWF5IHByZXZlbnQgdGhlbSBmcm9tDQo+Pj4gICAgIHNob3dpbmcgaW50ZXJlc3RpbmcgcHJv cGVydGllcyBvZiB0aGUgZHJvcCBhcmVhIGxpa2Ugd2hldGhlciB0aGUNCj4+PiAgICAgdGV4dCB0 aGVyZSBpcyByZWFkIG9ubHkuICBPVE9IIHdlIG1pZ2h0IGNvbnNpZGVyIHJldGFpbmluZw0KPj4+ ICAgICBwcm9wZXJ0aWVzIG9mIHRoZSB0ZXh0IGluIChub24tR1RLKSB0b29sdGlwcy4NCj4+DQo+ IEkgd291bGQgc2F5DQo+DQo+IChkZWZjdXN0b20gbW91c2UtZHJhZy1hbmQtZHJvcC1yZWdpb24t c2hvdy10b29sdGlwIHQpDQo+DQo+IGFuZCBuZXZlciBzaG93IGEgdG9vbHRpcCBvbiB0ZXh0LW9u bHkgdGVybWluYWxzIGV2ZW4gaWYgdGhpcyBpcyB0Lg0KDQpPSy4NCg0KPj4+ICg0KSBUaGUgKGRl YWN0aXZhdGUtbWFyaykgYW5kIChtb3VzZS1zZXQtcG9pbnQgZXZlbnQpIHRyaWNrIHRvIGFsbG93 DQo+Pj4gICAgIHNob3dpbmcgcG9pbnQgdGhlIHdheSChbW91c2UtZHJhZy10cmFja6IgZG9lcyBj YW4gYmUgZGlzdHJhY3RpbmcNCj4+PiAgICAgYW5kIHNob3VsZCBiZSBtYWRlIG9wdGlvbmFsLg0K Pj4NCj4+IEkgdGhpbmsgdGhhdCB0aGlzIGlzIHZlcnkgcmVsYXRlZCB0byAyLCAzLCBhbmQgNSAo YXMgeW91IGluZmVycmVkKS4NCj4NCj4gWWVzLiAgSXQncyBpcnJpdGF0aW5nIHRvIGRyYWcgYSBi bG9jayBjdXJzb3Igd2l0aCB0aGUgbW91c2UuICBEbyB5b3UNCj4ga25vdyBvZiBhbnkgb3RoZXIg YXBwbGljYXRpb25zIHdoaWNoIGRvIHN1Y2ggYSB0aGluZz8NCg0KSSBjYW5ub3QgdGhpbmsgb2Yg YSB3YXkgdG8gc2hvdyBpbnNlcnQgcG9pbnQgYmVzaWRlcyAobW91c2Utc2V0LXBvaW50DQpldmVu dCkuICBEbyB5b3Ugc3VnZ2VzdCBvdmVybGF5LXB1dCAifCIgb3IgY2hhbmdlIGN1cnNvci10eXBl IHRvICdiYXINCmR1cmluZyBkcmFnPyAgSSB0aG91Z2h0IHdobyBwcmVmZXJzIGJhciBjaGFuZ2Vz IHRoZSBkZWZhdWx0IGN1cnNvcg0KYW55d2F5LiAgSSBkaWQgbm90IHJldmlzZSBjb2RlIGluIHRo aXMgcmVzcGVjdC4NCg0KPj4+ICg1KSBUaGUgbW91c2UgcG9pbnRlciBzaGFwZSBzaG91bGQgdGFr ZSBjYXJlIG9mIGluZGljYXRpbmcgdGhlIGV4YWN0DQo+Pj4gICAgIHBvc2l0aW9uIHdoZXJlIHRo ZSBkcm9wIG9jY3Vycy4gIFdlIHNob3VsZCBwcm9iYWJseSBhbHNvIHNpZ25hbA0KPj4+ICAgICB3 aGVuZXZlciB0aGUgY3VycmVudCBkcm9wIHBvc2l0aW9uIGlzIGludmFsaWQuICBUaGlzIGlzIElJ VUMNCj4+PiAgICAgdXN1YWwgcHJhY3RpY2Ugb24gbW9zdCB3aW5kb3cgc3lzdGVtcyBub3cuDQo+ Pg0KPj4gSSB0aGluayBpdCBpcyBhIGdvb2QgaWRlYS4NCj4NCj4gV2UgcHJvYmFibHkgbmVlZCB0 byBkZWZpbmUgYWRkaXRpb25hbCBjdXJzb3JzIGZvciB0aGlzIHNvIGl0J3Mgbm90IGZvcg0KPiBF bWFjcyAyNi4NCg0KSSBkaWQgbm90IHJldmlzZSBjb2RlIGluIHRoaXMgYXNwZWN0Lg0KDQo+Pj4g KDcpIElNTyBlaXRoZXIgY3V0dGluZyBzaG91bGQgYmUgdGhlIGRlZmF1bHQgdG9vIHdoZW4gdGhl IGRyb3ANCj4+PiAgICAgb2NjdXJzIGluIGEgZGlmZmVyZW50IGJ1ZmZlciBvciBjb3B5aW5nIHdv dWxkIGJlIHRoZSBkZWZhdWx0IGFuZA0KPj4+ICAgICBwcmVzc2luZyB0aGUgbW9kaWZpZXIgc2hv dWxkIHByb2R1Y2UgYSBjdXQgaW5zdGVhZC4gIFRoZSBjdXJyZW50DQo+Pj4gICAgIGJlaGF2aW9y IHdhbnRzIG1lIHRvIGFsd2F5cyBrZWVwIGluIG1pbmQgd2hldGhlciB0aGUgdGFyZ2V0DQo+Pj4g ICAgIGJ1ZmZlciBpcyB0aGUgc2FtZSBhcyB0aGUgc291cmNlIGJ1ZmZlci4gIEF0IGxlYXN0LCB0 aGlzDQo+Pj4gICAgIGJlaGF2aW9yIHNob3VsZCBiZSBtYWRlIG9wdGlvbmFsLg0KPj4NCj4+IERl ZmF1bHQgYmVoYXZpb3IgZm9sbG93ZWQgdGhhdCBvZiBmaWxlIGJyb3dzZXIgb24gYGRyYWcnIGEg ZmlsZS4NCj4NCj4gV2hpY2ggZmlsZSBicm93c2VyPw0KDQpGaW5kZXIgb24gbWFjT1MgYW5kIEZp bGUgRXhwbG9yZXIgb24gV2luZG93cyAxMCBiZWhhdmUgbGlrZSB0aGF0IHdheS4NCg0KPj4gQmV0 d2VlbiB0aGUgc2FtZSB2b2x1bWUgKGJ1ZmZlciksIGBkcmFnJyBkb2VzIGBjdXQnIGluc3RlYWQg b2YgYGNvcHknLg0KPj4gSSBwcmVmZXIgY3VycmVudCBiZWhhdmlvciBhcyBkZWZhdWx0IGJ1dCBo YXZlDQo+PiBubyBvYmplY3Rpb24gdG8gaGF2ZSBvcHRpb24gc29tZXRoaW5nIGxpa2UNCj4+ICAg KGRlZnZhciBtb3VzZS1kcmFnLWFuZC1kcm9wLXJlZ2lvbi1jdXQtaHVuZ3J5IHQpDQo+DQo+IEkg d291bGQgYmUgbW9yZSByYWRpY2FsIHdpdGgNCj4NCj4gKGRlZmN1c3RvbSBtb3VzZS1kcmFnLWFu ZC1kcm9wLXJlZ2lvbi1jdXQtb3ItY29weSB0KQ0KPg0KPiB3aGVyZSB0aGUgdmFsdWVzICdjdXQg YW5kICdjb3B5IHdvdWxkIGFsd2F5cyBjYXRlZ29yaWNhbGx5IGN1dCBvciBjb3B5DQo+ICh1bmxl c3MgdGhlIHZhbHVlIG9mICdtb3VzZS1kcmFnLWFuZC1kcm9wLXJlZ2lvbicgaW1wbGllcyB0byBj b3B5DQo+IGluc3RlYWQgb2YgY3V0KSBhbmQgdCBtZWFucyB5b3VyIG9yaWdpbmFsIGJlaGF2aW9y Lg0KDQpBIG5ldyBvcHRpb24gd2FzIGNyZWF0ZWQuICBOb3cgYGN1dCcgY2FuIGJlIGRlZmF1bHQg ZXZlbiBhbW9uZw0KYnVmZmVycy4NCg0KKGRlZnZhciBtb3VzZS1kcmFnLWFuZC1kcm9wLXJlZ2lv bi1jdXQtYW1vbmctYnVmZmVyIG5pbA0KICAiV2hlbiB0LCB0ZXh0IGlzIGN1dCBpbnN0ZWFkIG9m IGNvcHkgd2hlbiBkcmFnZ2VkIGFtb25nIGJ1ZmZlcnMuIikNCg0KPj4+ICg4KSBSZWFkLW9ubHkg dGV4dCBzaG91bGQgYmUgaGFuZGxlZC4gIEFuIGF0dGVtcHQgdG8gZHJvcCB0ZXh0IGludG8NCj4+ PiAgICAgYSByZWFkLW9ubHkgYXJlYSBzaG91bGQgYmUgc2lnbmFsbGVkIHRvIHRoZSB1c2VyLiAg QW4gYXR0ZW1wdCB0bw0KPj4+ICAgICBjdXQgdGV4dCBmcm9tIGEgcmVhZC1vbmx5IHRleHQvYnVm ZmVyIHNob3VsZCBiZSBzaWduYWxsZWQgYXMNCj4+PiAgICAgd2VsbC4NCj4+DQo+Pj4gRm9yIHRo ZSBsYXR0ZXIsIHdlIGNvcHkgdGV4dCBpbnN0ZWFkIChjZiBDLXcgaW4gcmVhZC1vbmx5IHRleHQp LiAgU28NCj4+PiBJIHRoaW5rIHRoaXMgZmVhdHVyZSBzaG91bGQgYmVoYXZlIHNpbWlsYXJseSwg YXQgbGVhc3QgYnkgZGVmYXVsdC4NCj4+DQo+Pj4gSSBqdXN0IG5vdGljZWQgdGhhdCB0aGUgY29k ZSBkb2VzIHVzZSCha2lsbC1yZWdpb26iIGFscmVhZHkuICBUaGlzDQo+Pj4gaGFzIHRoZSBzaWRl LWVmZmVjdCBvZiBwdXR0aW5nIHRoZSB0ZXh0IGludG8gdGhlIGtpbGwgcmluZywNCj4+PiBzb21l dGhpbmcgd2hpY2ggc2hvdWxkIGJlIGRvY3VtZW50ZWQgYXQgbGVhc3QuICBCdXQgSSB0aGluayB0 aGUgY29kZQ0KPj4+IHNob3VsZCByYXRoZXIgdXNlIKFkZWxldGUtcmVnaW9uoiBpbnN0ZWFkIHdp dGggdGhlIGJlaGF2aW9yIHlvdQ0KPj4+IHByb3Bvc2VkLg0KPj4NCj4+IEkgc3VwcG9zZSB0aGF0 IHlvdSBzdWdnZXN0IHRvIHRlbGwgdXNlciBtb3JlIGV4cGxpY2l0bHkgaW4gZWNobyBhcmVhDQo+ PiBob3cgaGUgY2Fubm90IGNoYW5nZSB0aGUgdGV4dC4NCj4NCj4gVGhlIGVjaG8gYXJlYSBzaG91 bGQgYmUgYXZvaWRlZCBkdXJpbmcgdHJhY2tpbmcuICBUaGluayBvZiB1c2VycyB3aG8NCj4gaW52 b2tlICdtb3VzZS1kcmFnLWFuZC1kcm9wLXJlZ2lvbicgb24gYSBmcmFtZSB3aXRob3V0IGEgbWlu aWJ1ZmZlci4NCg0KT0suDQoNCj4gSSB0aGluayB0aGF0IGZpcnN0IG9mIGFsbCB5b3Ugc2hvdWxk IHVzZSAnZGVsZXRlLXJlZ2lvbicgaW5zdGVhZCBvZg0KPiAna2lsbC1yZWdpb24nIHRvIGF2b2lk IHRoZSBhYm92ZS1tZW50aW9uZWQgc2lkZSBlZmZlY3QuICBUaGVuIHlvdXINCj4gY29kZSBzaG91 bGQgc2lsZW50bHkgc3dhbGxvdyBhbnkgYnVncyBmb3IgY3V0dGluZyBmcm9tIHJlYWQtb25seQ0K PiB0ZXh0IHByb3ZpZGVkICdraWxsLXJlYWQtb25seS1vaycgaXMgdC4gIEZvciB0aGF0IHB1cnBv c2UsIHNpbXBseQ0KPiBwZXJ1c2UgdGhlIGNvcnJlc3BvbmRpbmcgY29kZSBmcm9tICdraWxsLXJl Z2lvbicuDQoNCk9LLiAgTm93IGBkZWxldGUtcmVnaW9uJyBpcyB1c2VkLg0KDQo+IEEgZmluYWwg ZHJvcCBpbnRvIHJlYWQtb25seSB0ZXh0IHNob3VsZCBhbHdheXMgZ2l2ZSBhbiBlcnJvci4gIFdl DQo+IHNob3VsZCBiZSBhYmxlIHRvIHJlZGVlbSB0aGF0IGJ5IHByb3ZpZGluZyBhIGZlZWRiYWNr IGluIGZvcm0gb2YgYQ0KPiBtb3VzZSBjdXJzb3Igd2hlbiB0aGUgbW91c2UgaXMgZWl0aGVyIG92 ZXIgcmVhZC1vbmx5IHRleHQgb3Igbm8NCj4gYnVmZmVyIHRleHQgYXQgYWxsLg0KDQpJIHJldmlz ZWQgb25seSB0byBnaXZlIG1lc3NhZ2UuICBJIGNvdWxkIG5vdCB0ZWxsIGhvdyB0byBicmluZw0K Y29uZGl0aW9uLWNhc2UgdG8gY29kZS4NCg0KPj4gT24gYW4gdXNlciBwZXJzcGVjdGl2ZSwgb3Bl cmF0aW9uIGBkcmFnLWFuZC1kcm9wLXJlZ2lvbicgaXMgYQ0KPj4gY29tYmluYXRpb24gb2YgYGN1 dCcgYW5kIGBwYXN0ZScuICBUaHVzIHRleHQgd2FzIGtpbGxlZCBpbnN0ZWFkIG9mDQo+PiBkZWxl dGVkLiAgSG93IHlvdSB0aGluayBkZWxldGUgaXMgbW9yZSBwcmVmZXJyZWQ/ICBJIGhhdmUgbm8N Cj4+IG9iamVjdGlvbiB0byBkb2N1bWVudCBpdC4NCg0KPiBJTU8gdXNpbmcgJ2tpbGwtcmVnaW9u JyBpcyBhbiB1bmV4cGVjdGVkIHNpZGUgZWZmZWN0LiAgSWYgcGVvcGxlDQo+IHRoaW5rIGRpZmZl cmVudGx5LCB3ZSBjb3VsZCBhZGQgeWV0IGFub3RoZXIgb3B0aW9uIGxpa2UNCj4NCj4gKGRlZnVj c3RvbSBtb3VzZS1kcmFnLWFuZC1kcm9wLXJlZ2lvbi1jdXQtZG9lcy1raWxsLXJlZ2lvbiB0KQ0K DQpOb3cgYGRlbGV0ZS1yZWdpb24nIGlzIHVzZWQgaW5zdGVhZCBvZiBga2lsbC1yZWdpb24nLg0K DQoqIFBhdGNoDQoNCmRpZmYgLS1naXQgYS9saXNwL21vdXNlLmVsIGIvbGlzcC9tb3VzZS5lbA0K b2xkIG1vZGUgMTAwNjQ0DQpuZXcgbW9kZSAxMDA3NTUNCmluZGV4IDE3ZDE3MzIuLjA4ZjcwZDQN Ci0tLSBhL2xpc3AvbW91c2UuZWwNCisrKyBiL2xpc3AvbW91c2UuZWwNCkBAIC0yMzYxLDYgKzIz NjEsMTIgQEAgdGV4dCBpcyBjb3BpZWQgaW5zdGVhZCBvZiBiZWluZyBjdXQuIg0KICAgOnZlcnNp b24gIjI2LjEiDQogICA6Z3JvdXAgJ21vdXNlKQ0KIA0KKyhkZWZ2YXIgbW91c2UtZHJhZy1hbmQt ZHJvcC1yZWdpb24tY3V0LWFtb25nLWJ1ZmZlciBuaWwNCisgICJXaGVuIHQsIHRleHQgaXMgY3V0 IGluc3RlYWQgb2YgY29weSB3aGVuIGRyYWdnZWQgYW1vbmcgYnVmZmVycy4iKQ0KKw0KKyhkZWZ2 YXIgbW91c2UtZHJhZy1hbmQtZHJvcC1yZWdpb24tc2hvdy10b29sdGlwIHQNCisgICJXaGVuIHQs IHRleHQgaXMgc2hvd24gYnkgYSB0b29sdGlwIGluIGEgZ3JhcGhpYyBkaXNwbGF5LiIpDQorDQog KGRlZnVuIG1vdXNlLWRyYWctYW5kLWRyb3AtcmVnaW9uIChldmVudCkNCiAgICJNb3ZlIHRleHQg aW4gdGhlIHJlZ2lvbiB0byBwb2ludCB3aGVyZSBtb3VzZSBpcyBkcmFnZ2VkIHRvLg0KIFRoZSB0 cmFuc3BvcnRhdGlvbiBvZiB0ZXh0IGlzIGFsc28gcmVmZXJyZWQgYXMgYGRyYWcgYW5kIGRyb3An Lg0KQEAgLTIzNjksNjQgKzIzNzUsOTggQEAgbW9kaWZpZXIga2V5IHdhcyBwcmVzc2VkIHdoZW4g ZHJvcHBpbmcsIGFuZCB0aGUgdmFsdWUgb2YgdGhlDQogdmFyaWFibGUgYG1vdXNlLWRyYWctYW5k LWRyb3AtcmVnaW9uJyBpcyB0aGF0IG1vZGlmaWVyLCB0aGUgdGV4dA0KIGlzIGNvcGllZCBpbnN0 ZWFkIG9mIGJlaW5nIGN1dC4iDQogICAoaW50ZXJhY3RpdmUgImUiKQ0KLSAgKHJlcXVpcmUgJ3Rv b2x0aXApDQotICAobGV0ICgoc3RhcnQgKHJlZ2lvbi1iZWdpbm5pbmcpKQ0KKyAgKGxldCAoKG1v dXNlLWRyYWctYW5kLWRyb3AtcmVnaW9uLXNob3ctdG9vbHRpcA0KKyAgICAgICAgIChhbmQgbW91 c2UtZHJhZy1hbmQtZHJvcC1yZWdpb24tc2hvdy10b29sdGlwDQorICAgICAgICAgICAgICAoZGlz cGxheS1tdWx0aS1mcmFtZS1wKQ0KKyAgICAgICAgICAgICAgKHJlcXVpcmUgJ3Rvb2x0aXApKSkN CisgICAgICAgIChzdGFydCAocmVnaW9uLWJlZ2lubmluZykpDQogICAgICAgICAoZW5kIChyZWdp b24tZW5kKSkNCiAgICAgICAgIChwb2ludCAocG9pbnQpKQ0KICAgICAgICAgKGJ1ZmZlciAoY3Vy cmVudC1idWZmZXIpKQ0KICAgICAgICAgKHdpbmRvdyAoc2VsZWN0ZWQtd2luZG93KSkNCi0gICAg ICAgIHZhbHVlLXNlbGVjdGlvbikNCisgICAgICAgIG5vLW1vZGlmaWVyLW9uLWRyb3ANCisgICAg ICAgIHZhbHVlLXNlbGVjdGlvbikgICAgOyBUaGlzIHJlbWFpbnMgbmlsIHdoZW4gZXZlbnQgd2Fz ICJjbGljayIuDQogICAgICh0cmFjay1tb3VzZQ0KLSAgICAgIDs7IFdoZW4gZXZlbnQgd2FzIGNs aWNrIGluc3RlYWQgb2YgZHJhZywgc2tpcCBsb29wDQorICAgICAgOzsgV2hlbiBldmVudCB3YXMg ImNsaWNrIiBpbnN0ZWFkIG9mICJkcmFnIiwgc2tpcCBsb29wLg0KICAgICAgICh3aGlsZSAocHJv Z24NCiAgICAgICAgICAgICAgICAoc2V0cSBldmVudCAocmVhZC1ldmVudCkpDQogICAgICAgICAg ICAgICAgKG9yIChtb3VzZS1tb3ZlbWVudC1wIGV2ZW50KQ0KICAgICAgICAgICAgICAgICAgICA7 OyBIYW5kbGUgYG1vdXNlLWF1dG9zZWxlY3Qtd2luZG93Jy4NCiAgICAgICAgICAgICAgICAgICAg KGVxIChjYXItc2FmZSBldmVudCkgJ3NlbGVjdC13aW5kb3cpKSkNCi0gICAgICAgICh1bmxlc3Mg dmFsdWUtc2VsZWN0aW9uIDsgaW5pdGlhbGl6YXRpb24NCisgICAgICAgIDs7IE9idGFpbiB0aGUg dGV4dCBpbiByZWdpb24uICBXaGVuIHRoZSBsb29wIHdhcyBza2lwcGVkLA0KKyAgICAgICAgOzsg dmFsdWUtc2VsZWN0aW9uIHJlbWFpbnMgbmlsLg0KKyAgICAgICAgKHVubGVzcyB2YWx1ZS1zZWxl Y3Rpb24NCiAgICAgICAgICAgKGRlbGV0ZS1vdmVybGF5IG1vdXNlLXNlY29uZGFyeS1vdmVybGF5 KQ0KICAgICAgICAgICAoc2V0cSB2YWx1ZS1zZWxlY3Rpb24gKGJ1ZmZlci1zdWJzdHJpbmcgc3Rh cnQgZW5kKSkNCiAgICAgICAgICAgKG1vdmUtb3ZlcmxheSBtb3VzZS1zZWNvbmRhcnktb3Zlcmxh eSBzdGFydCBlbmQpKSA7IChkZWFjdGl2YXRlLW1hcmspDQotICAgICAgICAoaWdub3JlLWVycm9y cyAoZGVhY3RpdmF0ZS1tYXJrKSA7IGNhcmUgZXhpc3RpbmcgcmVnaW9uIGluIG90aGVyIHdpbmRv dw0KLSAgICAgICAgICAgICAgICAgICAgICAgKG1vdXNlLXNldC1wb2ludCBldmVudCkNCi0gICAg ICAgICAgICAgICAgICAgICAgICh0b29sdGlwLXNob3cgdmFsdWUtc2VsZWN0aW9uKSkpDQotICAg ICAgKHRvb2x0aXAtaGlkZSkpDQotICAgIDs7IERvIG5vdCBtb2RpZnkgYnVmZmVyIHVuZGVyIG1v dXNlIHdoZW4gImV2ZW50IHdhcyBjbGljayIsDQotICAgIDs7ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgImRyYWcgbmVnbGlnaWJsZSIsIG9yDQotICAgIDs7ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRyYWcgdG8gcmVhZC1vbmx5Ii4NCi0gICAg KGlmIChvciAoZXF1YWwgKG1vdXNlLXBvc24tcHJvcGVydHkgKGV2ZW50LWVuZCBldmVudCkgJ2Zh Y2UpICdyZWdpb24pIDsgImV2ZW50IHdhcyBjbGljayINCi0gICAgICAgICAgICAobWVtYmVyICdz ZWNvbmRhcnktc2VsZWN0aW9uIDsgImRyYWcgbmVnbGlnaWJsZSINCi0gICAgICAgICAgICAgICAg ICAgIChtYXBjYXIgKGxhbWJkYSAoeHh4KSAob3ZlcmxheS1nZXQgeHh4ICdmYWNlKSkNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgKG92ZXJsYXlzLWF0IChwb3NuLXBvaW50IChldmVudC1l bmQgZXZlbnQpKSkpKQ0KLSAgICAgICAgICAgIGJ1ZmZlci1yZWFkLW9ubHkpDQotICAgICAgICA7 OyBEbyBub3QgbW9kaWZ5IGJ1ZmZlciB1bmRlciBtb3VzZS4NCisgICAgICAgIChpZ25vcmUtZXJy b3JzDQorICAgICAgICAgIChkZWFjdGl2YXRlLW1hcmspICAgICAgICAgOyBNYWludGFpbiByZWdp b24gaW4gb3RoZXIgd2luZG93Lg0KKyAgICAgICAgICAobW91c2Utc2V0LXBvaW50IGV2ZW50KQ0K KyAgICAgICAgICAod2hlbiBtb3VzZS1kcmFnLWFuZC1kcm9wLXJlZ2lvbi1zaG93LXRvb2x0aXAN CisgICAgICAgICAgICAodG9vbHRpcC1zaG93IHZhbHVlLXNlbGVjdGlvbikpKSkNCisgICAgICA7 OyBDaGVjayBpZiBtb2RpZmllciB3YXMgcHJlc3NlZCBvbiBkcm9wLg0KKyAgICAgIChzZXRxIG5v LW1vZGlmaWVyLW9uLWRyb3ANCisgICAgICAgICAgICAobm90IChtZW1iZXIgbW91c2UtZHJhZy1h bmQtZHJvcC1yZWdpb24gKGV2ZW50LW1vZGlmaWVycyBldmVudCkpKSkNCisgICAgICAod2hlbiBt b3VzZS1kcmFnLWFuZC1kcm9wLXJlZ2lvbi1zaG93LXRvb2x0aXAgKHRvb2x0aXAtaGlkZSkpKQ0K KyAgICA7OyBEbyBub3QgbW9kaWZ5IGJ1ZmZlciB1bmRlciBtb3VzZSB3aGVuIGV2ZW50IGlzICJj bGljayIsICJkcmFnDQorICAgIDs7IGJ1dCBuZWdsaWdpYmxlIiwgb3IgImRyYWcgdG8gcmVhZC1v bmx5Ii4gIE9wZXJhdGlvbiAiZHJhZyBidXQNCisgICAgOzsgbmVnbGlnaWJsZSIgaXMgZGVmaW5l ZCBhcyBkcmFnLWFuZC1kcm9wIHRoZSB0ZXh0IHRvDQorICAgIDs7IHNlY29uZGFyeS1zZWxlY3Rp b24gd2l0aG91dCBtb2RpZmllciBwcmVzc2VkLiAgV2hlbiBwcmVzc2VkLA0KKyAgICA7OyB0aGUg dGV4dCB3aWxsIGJlIGluc2VydGVkIHRvIGluc2lkZSBvZiBzZWNvbmRhcnktc2VsZWN0aW9uLg0K KyAgICAoaWYgKG9yIChlcXVhbCAobW91c2UtcG9zbi1wcm9wZXJ0eSAoZXZlbnQtZW5kIGV2ZW50 KSAnZmFjZSkgJ3JlZ2lvbikgOyAiY2xpY2siDQorICAgICAgICAgICAgKGFuZCAobWVtYmVyICdz ZWNvbmRhcnktc2VsZWN0aW9uIDsgImRyYWcgYnV0IG5lZ2xpZ2libGUiDQorICAgICAgICAgICAg ICAgICAgICAgICAgIChtYXBjYXIgKGxhbWJkYSAoeHh4KSAob3ZlcmxheS1nZXQgeHh4ICdmYWNl KSkNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob3ZlcmxheXMtYXQgKHBvc24t cG9pbnQgKGV2ZW50LWVuZCBldmVudCkpKSkpDQorICAgICAgICAgICAgICAgICBuby1tb2RpZmll ci1vbi1kcm9wKQ0KKyAgICAgICAgICAgIGJ1ZmZlci1yZWFkLW9ubHkpICAgICAgICAgICA7ICJk cmFnIHRvIHJlYWQtb25seSINCiAgICAgICAgIChjb25kDQotICAgICAgICAgOzsgImRyYWcgbmVn bGlnaWJsZSIgb3IgImRyYWcgdG8gcmVhZC1vbmx5IiwgcmVzdG9yZSByZWdpb24uDQorICAgICAg ICAgOzsgU2V0IGJhY2sgdGhlIG9yaWdpbmFsIHRleHQgYXMgcmVnaW9uIG9uICJkcmFnIGJ1dCBu ZWdsaWdpYmxlIg0KKyAgICAgICAgIDs7IG9yICJkcmFnIHRvIHJlYWQtb25seSIuDQogICAgICAg ICAgKHZhbHVlLXNlbGVjdGlvbg0KLSAgICAgICAgICAoc2VsZWN0LXdpbmRvdyB3aW5kb3cpIDsg SW4gY2FzZSBtaXNzIGRyYWcgdG8gb3RoZXIgd2luZG93DQorICAgICAgICAgIChpZiBidWZmZXIt cmVhZC1vbmx5IChtZXNzYWdlICJCdWZmZXIgaXMgcmVhZC1vbmx5IikpIDsgKGJhcmYtaWYtYnVm ZmVyLXJlYWQtb25seSkNCisgICAgICAgICAgKHNlbGVjdC13aW5kb3cgd2luZG93KSA7IFNlbGVj dCB0aGUgc291cmNlIHdpbmRvd3MgYmFjayBvbiBtaXNzLWRyYWcgdG8gb3RoZXIgd2luZG93Lg0K ICAgICAgICAgICAoZ290by1jaGFyIHBvaW50KQ0KICAgICAgICAgICAoc2V0cSBkZWFjdGl2YXRl LW1hcmsgbmlsKQ0KICAgICAgICAgICAoYWN0aXZhdGUtbWFyaykpDQotICAgICAgICAgOzsgImV2 ZW50IHdhcyBjbGljayINCisgICAgICAgICA7OyBNb3ZlIHBvaW50IHdpdGhpbiByZWdpb24gb24g ImNsaWNrIi4NCiAgICAgICAgICAodA0KICAgICAgICAgICAoZGVhY3RpdmF0ZS1tYXJrKQ0KICAg ICAgICAgICAobW91c2Utc2V0LXBvaW50IGV2ZW50KSkpDQotICAgICAgOzsgTW9kaWZ5IGJ1ZmZl ciB1bmRlciBtb3VzZSBieSBpbnNlcnRpbmcgdGV4dC4NCisgICAgICA7OyBJbnRlcnQgdGhlIHRl eHQgdG8gZGVzdGluYXRpb24gYnVmZmVyIHVuZGVyIG1vdXNlLg0KICAgICAgIChwdXNoLW1hcmsp DQogICAgICAgKGluc2VydCB2YWx1ZS1zZWxlY3Rpb24pDQotICAgICAgKHdoZW4gKG5vdCAoZXF1 YWwgKG1hcmspIChwb2ludCkpKSA7IG9uIHN1Y2Nlc3MgaW5zZXJ0DQorICAgICAgOzsgT24gc3Vj Y2Vzcywgc2V0IHRoZSB0ZXh0IGFzIHJlZ2lvbiBvbiBkZXN0aW5hdGlvbiBidWZmZXIuDQorICAg ICAgKHdoZW4gKG5vdCAoZXF1YWwgKG1hcmspIChwb2ludCkpKQ0KICAgICAgICAgKHNldHEgZGVh Y3RpdmF0ZS1tYXJrIG5pbCkNCi0gICAgICAgIChhY3RpdmF0ZS1tYXJrKSkgOyBoYXZlIHJlZ2lv biBvbiBkZXN0aW5hdGlvbg0KLSAgICAgIDs7IFRha2UgY2FyZSBvZiBpbml0aWFsIHJlZ2lvbiBv biBzb3VyY2UuDQotICAgICAgKGlmIChlcXVhbCAoY3VycmVudC1idWZmZXIpIGJ1ZmZlcikgOyB3 aGVuIHNhbWUgYnVmZmVyDQotICAgICAgICAgIChsZXQgKGRlYWN0aXZhdGUtbWFyaykgOyByZW1v dmUgdGV4dA0KLSAgICAgICAgICAgICh1bmxlc3MgKG1lbWJlciBtb3VzZS1kcmFnLWFuZC1kcm9w LXJlZ2lvbiAoZXZlbnQtbW9kaWZpZXJzIGV2ZW50KSkNCi0gICAgICAgICAgICAgIChraWxsLXJl Z2lvbiAob3ZlcmxheS1zdGFydCBtb3VzZS1zZWNvbmRhcnktb3ZlcmxheSkNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAob3ZlcmxheS1lbmQgbW91c2Utc2Vjb25kYXJ5LW92ZXJsYXkpKSkp DQotICAgICAgICAobGV0ICgod2luZG93MSAoc2VsZWN0ZWQtd2luZG93KSkpIDsgd2hlbiBiZXlv bmQgYnVmZmVyDQotICAgICAgICAgIChzZWxlY3Qtd2luZG93IHdpbmRvdykNCi0gICAgICAgICAg KGdvdG8tY2hhciBwb2ludCkgOyByZXN0b3JlIHBvaW50IG9uIHNvdXJjZSB3aW5kb3cNCi0gICAg ICAgICAgKGFjdGl2YXRlLW1hcmspIDsgcmVzdG9yZSByZWdpb24NCisgICAgICAgIChhY3RpdmF0 ZS1tYXJrKSkNCisgICAgICA7OyBTZXQgYmFjayB0aGUgb3JpZ2luYWwgdGV4dCBhcyByZWdpb24g b3IgZGVsZXRlIHRoZSBvcmlnaW5hbA0KKyAgICAgIDs7IHRleHQgb24gc291cmNlIGJ1ZmZlci4N CisgICAgICAoaWYgKGVxdWFsIChjdXJyZW50LWJ1ZmZlcikgYnVmZmVyKQ0KKyAgICAgICAgICA7 OyBXaGVuIHNvdXJjZSBidWZmZXIgYW5kIGRlc3RpbmF0aW9uIGJ1ZmZlciBhcmUgdGhlIHNhbWUs DQorICAgICAgICAgIDs7IHJlbW92ZSB0aGUgb3JpZ2luYWwgdGV4dC4NCisgICAgICAgICAgKGxl dCAoZGVhY3RpdmF0ZS1tYXJrKQ0KKyAgICAgICAgICAgIChpZiBuby1tb2RpZmllci1vbi1kcm9w DQorICAgICAgICAgICAgICAgIChkZWxldGUtcmVnaW9uIChvdmVybGF5LXN0YXJ0IG1vdXNlLXNl Y29uZGFyeS1vdmVybGF5KQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob3Zlcmxh eS1lbmQgbW91c2Utc2Vjb25kYXJ5LW92ZXJsYXkpKSkpDQorICAgICAgICA7OyBXaGVuIHNvdXJj ZSBidWZmZXIgYW5kIGRlc3RpbmF0aW9uIGJ1ZmZlciBhcmUgZGlmZmVyZW50LA0KKyAgICAgICAg Ozsga2VlcCAoc2V0IGJhY2sgdGhlIG9yaWdpbmFsIHRleHQgYXMgcmVnaW9uKSBvciByZW1vdmUg dGhlDQorICAgICAgICA7OyBvcmlnaW5hbCB0ZXh0Lg0KKyAgICAgICAgKGxldCAoKHdpbmRvdzEg KHNlbGVjdGVkLXdpbmRvdykpKQ0KKyAgICAgICAgICAoc2VsZWN0LXdpbmRvdyB3aW5kb3cpICAg OyBTZWxlY3Qgd2luZG93IHdpdGggc291cmNlIGJ1ZmZlci4NCisgICAgICAgICAgKGdvdG8tY2hh ciBwb2ludCkgOyBNb3ZlIHBvaW50IHRvIHRoZSBvcmlnaW5hbCB0ZXh0IG9uIHNvdXJjZSBidWZm ZXIuDQorICAgICAgICAgIChpZiAob3IgKGlmIG5vLW1vZGlmaWVyLW9uLWRyb3ANCisgICAgICAg ICAgICAgICAgICAgICAgKG5vdCBtb3VzZS1kcmFnLWFuZC1kcm9wLXJlZ2lvbi1jdXQtYW1vbmct YnVmZmVyKQ0KKyAgICAgICAgICAgICAgICAgICAgbW91c2UtZHJhZy1hbmQtZHJvcC1yZWdpb24t Y3V0LWFtb25nLWJ1ZmZlcikNCisgICAgICAgICAgICAgICAgICBidWZmZXItcmVhZC1vbmx5KQ0K KyAgICAgICAgICAgICAgOzsgU2V0IGJhY2sgdGhlIG9yaWdpbmFsIHRleHQgYXMgcmVnaW9uIG9u IHNvdXJjZSBidWZmZXINCisgICAgICAgICAgICAgIDs7IGxpa2Ugb3BlcmF0aW9uIGBjb3B5Jy4N CisgICAgICAgICAgICAgIChwcm9nbg0KKyAgICAgICAgICAgICAgICAoaWYgYnVmZmVyLXJlYWQt b25seSAobWVzc2FnZSAiU291cmNlIGlzIHJlYWQtb25seSIpKSA7IChiYXJmLWlmLWJ1ZmZlci1y ZWFkLW9ubHkpDQorICAgICAgICAgICAgICAgIChhY3RpdmF0ZS1tYXJrKSkNCisgICAgICAgICAg ICA7OyBSZW1vdmUgdGhlIG9yaWdpbmFsIHRleHQgZnJvbSBzb3VyY2UgYnVmZmVyIGxpa2UNCisg ICAgICAgICAgICA7OyBvcGVyYXRpb24gYGN1dCcuDQorICAgICAgICAgICAgKGRlbGV0ZS1yZWdp b24gKG92ZXJsYXktc3RhcnQgbW91c2Utc2Vjb25kYXJ5LW92ZXJsYXkpDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgKG92ZXJsYXktZW5kIG1vdXNlLXNlY29uZGFyeS1vdmVybGF5KSkpDQog ICAgICAgICAgIChzZWxlY3Qtd2luZG93IHdpbmRvdzEpKSkpDQogICAgIChkZWxldGUtb3Zlcmxh eSBtb3VzZS1zZWNvbmRhcnktb3ZlcmxheSkpKQ0KIAwNCg==