From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.devel Subject: RE: [External] : Improvement proposals for `completing-read' Date: Thu, 8 Apr 2021 17:19:57 +0000 Message-ID: References: <3470841e-d0ef-69d2-aa58-67fd0fd57645@daniel-mendler.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="17918"; mail-complaints-to="usenet@ciao.gmane.io" To: Daniel Mendler , "emacs-devel@gnu.org" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Apr 08 19:21:47 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lUYLj-0004Yt-2o for ged-emacs-devel@m.gmane-mx.org; Thu, 08 Apr 2021 19:21:47 +0200 Original-Received: from localhost ([::1]:59614 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lUYLi-0006bw-49 for ged-emacs-devel@m.gmane-mx.org; Thu, 08 Apr 2021 13:21:46 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:60056) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lUYKV-0005M3-Ln for emacs-devel@gnu.org; Thu, 08 Apr 2021 13:20:32 -0400 Original-Received: from userp2130.oracle.com ([156.151.31.86]:46004) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lUYKQ-0003dG-64 for emacs-devel@gnu.org; Thu, 08 Apr 2021 13:20:31 -0400 Original-Received: from pps.filterd (userp2130.oracle.com [127.0.0.1]) by userp2130.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 138HJYUB194154; Thu, 8 Apr 2021 17:20:00 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2020-01-29; bh=68w756PiCNnLuo4nymJm+S2vL2H7daalhvNr9WfKUCc=; b=QUQviq5y4U3gycY+6qZYFLw3RvdMtvbBtQpWtN6w7tnQi9A7snVElM/oBsnp+OdDGxoR 2pCoV1deW83cxhxd/S7dH+NbX3VQPRtP/Uibrl4ktukzg50Hp9VAuQkXLb6+1mUN4aDw Th4IT7kRnt3fywfuGxZug7hT29PJPahK1mwtiXCfKur75RlEoFzxCSXgiiepF0epiDQh m1/OpDF+gYvPse2q8c79ph3ME71UtoLMhtvjYKKRHUnolZEH8dJ7U0HT7DyhsT2pVQS9 bjT44imqaq/80kHyNj27iQg/IMfLxC/lmcmKFwpNJXUQ9qInWe+zB18VuX2X5Bk4CC9A iw== Original-Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by userp2130.oracle.com with ESMTP id 37rva66q1v-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 08 Apr 2021 17:20:00 +0000 Original-Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1]) by aserp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 138H1Psl022188; Thu, 8 Apr 2021 17:19:59 GMT Original-Received: from nam04-bn3-obe.outbound.protection.outlook.com (mail-bn3nam04lp2058.outbound.protection.outlook.com [104.47.46.58]) by aserp3020.oracle.com with ESMTP id 37rvb5jrbn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 08 Apr 2021 17:19:59 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kEdrT+RzR2UOdoAQrMesHNx5FnFgusxpl6vmqVv/hNgnGXesUqleJdBzF09wzxFvLcSOf/sbBxOLCs/tFDOFSPkbWWcS/1Q9qCa32jPB/P5bR6MA63/Fnaa+1qzYh2JWp8Mcqx4szwiX/NoW6jG91WJ3qVGzWhUQReEfcfMQ7EZb6qnpOX1C6USHSP3ix30zBBw81AD8XHoDz+ay1WB3AhspVPoeoUWRJMTQ/RC04uXfVpWr8RljxWX+ylkrCwo/8uur9zGhK+jqC96h4slt1o9gAmLPnh+WEK2Ft7O+M0MDKRWYLnVWdErQ6cCXvUL63bdsf+2UgWJQggGyqthYog== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=68w756PiCNnLuo4nymJm+S2vL2H7daalhvNr9WfKUCc=; b=l8yPcT8OneNsZKqRLYb9epPQ+Q1rnFPP/I9NRWk5GrNCDGZteyCVID+/0kXk9XCPIckqtWZlBM+KmropsYbsa+Vq+MMYgvy/hjQGXPUscXMpXPmk+VPBet5ojoyhTHo0i/4MwRaRFR3DtiIocxSJorUbrHctBaDVuePpj/HF2BD82FaqvXvRnsbBHhyT5U8WmJNnzUdO0KC6ekrvYPtHhfgru2bZD1NUnfkFp5OXHabFxDFdj65qMc9xk1etKfRrQhTvYH7UqM1pyaFIf6EiFD/g1YX4N+TlL/4Orj/E8U1KC8SCltPMGrjYVn9zIponQ6gX1l9vaEt6XhwbG1+B1A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=68w756PiCNnLuo4nymJm+S2vL2H7daalhvNr9WfKUCc=; b=uI/jSWD1BERs/Lc0zsb/U8QAIANjYBNj+3JP91KmynYmN/8Uo7lkG/vmR57pIr6x26crjFqE7kqcNDjFasqtq3T96gh64S58R7mE8S7Md3SXr+NqmRAQiWrwOlC++ZH7ueRh9zwe+B2jtJsEsSBfRQh9+QoK2nuW1C8vbZWzGJQ= Original-Received: from SA2PR10MB4474.namprd10.prod.outlook.com (2603:10b6:806:11b::15) by SN6PR10MB2670.namprd10.prod.outlook.com (2603:10b6:805:42::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3999.26; Thu, 8 Apr 2021 17:19:57 +0000 Original-Received: from SA2PR10MB4474.namprd10.prod.outlook.com ([fe80::b8d2:db6d:3e4b:d315]) by SA2PR10MB4474.namprd10.prod.outlook.com ([fe80::b8d2:db6d:3e4b:d315%5]) with mapi id 15.20.3999.034; Thu, 8 Apr 2021 17:19:57 +0000 Thread-Topic: [External] : Improvement proposals for `completing-read' Thread-Index: AQHXLFm4iAv7t8TWokGVsGSHKAHjVaqqvR5g In-Reply-To: <3470841e-d0ef-69d2-aa58-67fd0fd57645@daniel-mendler.de> Accept-Language: en-US Content-Language: en-US authentication-results: daniel-mendler.de; dkim=none (message not signed) header.d=none;daniel-mendler.de; dmarc=none action=none header.from=oracle.com; x-originating-ip: [73.170.83.28] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: cdf959a4-476d-4648-49ed-08d8fab28889 x-ms-traffictypediagnostic: SN6PR10MB2670: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: pB0oyKNaLewHudsSr9qchs4sLguadW7Im6jtcL2y3/gU+4KCA0swJxgJWrdRF3tDq/Uw6OX+Z9eg+LJikUV2gtgHWxii08NM/suOEu1ZsaCV34I7vsF/ZYMEZUbjaLsIIeRy3xYsx1VCF+ZvyCQmL4GXGs1zwDcVJdyFuRYnOtHNajf04XOcMLoYkq0VL5a/mbI/woPJa/mlVZj1epT0Tb8+GUC/t72rBd8/bxgH6HImnoemfum2EHh9DlT9YSAjiiL7CFLgcX0efyTAVSCVijAUwzUr+ScLniqaEIuKiR8vgG5rYI6gs0W4s3Sq3cTpkYefv1KcEAa8LG8HMnYl3juSOYNEPa0/m7aFLP5jQRmdtAOx8YOP9Gxb6JNVDKegIzZ/nI46cDlW7C5QkFDbrZKy5nsqk5Jz8cEmAHGCxUr9y8VQ2oTdTBK/ZZ5N3fzpGvuPJqOk3U1JHn16upEdvQwPhP3JvrtyOWI2ygEfKqgqjAeqK4r9CdOMskhefJrJV3WHTxlMNQxhDoOiw4hfMpyliRCfBVOQomuEBcb8XQ8fLPNDHU8pMlvCPTrZpXOYe46FNvuAmpTzDTr0v1lZadK3tkkFb+p0cDUNKZM9FEgIPg2E4HHnDbJbEKmp9wHaHLXWqQeQloxD5GWbPiDbtS7qmRicJQLB1vEcuvFYJM66UPlMervPcwJCLYKZBOZ2 x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SA2PR10MB4474.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(346002)(376002)(396003)(39860400002)(136003)(110136005)(2906002)(5660300002)(9686003)(33656002)(55016002)(86362001)(26005)(83380400001)(71200400001)(8936002)(186003)(478600001)(66556008)(316002)(6506007)(38100700001)(66946007)(76116006)(8676002)(66476007)(7696005)(52536014)(44832011)(66446008)(64756008)(81973001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?YklhZ0MrNnB6WEltUXA2dmxQRGZjZEZHY1NVV0J1a3FIN1R3dGZaNUd1d0pD?= =?utf-8?B?WXpTRjVualk3aG81d29PN2NyWXNBN0tsMUJPWjZYdmV0N3BxS1NHbm9YcEdi?= =?utf-8?B?Sm00YTVwaFp5b093ZlFDMHp1TXdOdjRJQmVuUkZsRnpXNkJWSFJqRVRlTEVS?= =?utf-8?B?WE4xNGtnSC9PNFdSbkJzTnlNUjczOFM2VVRENmlERWw3S0lWakp3dm5UTThW?= =?utf-8?B?UmNkb2p4SnFhSC90dytGOFY3c0NXcEsvaXhEWXFOM21ST1I5TkgwTTVLWlFS?= =?utf-8?B?WGhPNllXYk9pcFg4SHUvMEhqUVpDUERYWk9hdkpERWRYSUhNMmJKd2REbHVq?= =?utf-8?B?TXhGbEVpcTczUGFhVGxaUEVScFRtcW5WYmk1dWRKd0x3UUNEUVhpNWR6V3d2?= =?utf-8?B?WXl0UjM1Q2tYT2RsNTIrV2QxMmNqUUcwK2gxOWxlZ3daN2pSNTh6TjRCQkR3?= =?utf-8?B?emZ1OFZqRUJmclFMSWIrdFBxVFpLeGFaWXAxYmxLcU53ajFpMmcxY2p6TnF0?= =?utf-8?B?ZFE4RkJ5TFZ0Y2s4S2Zod3JFUWpweWtVRDZ1WEpyelJib2ljUUpqZGpsOWVl?= =?utf-8?B?NDdyUVdCUzRZSVl1VTZGV0tFV0srWlRFNGJTdTBTUUQyZFFXT0dic3ZuTGx4?= =?utf-8?B?S1FVYTc0a0NxcDUwSXN6RHpMRFZZQjhPSUgrckZz x-ms-exchange-transport-forked: True X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SA2PR10MB4474.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: cdf959a4-476d-4648-49ed-08d8fab28889 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Apr 2021 17:19:57.4378 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Y2ngZGtBoV75PIJZARxghqgTGKHVtc6pqrgenzZ30pMjKhGk5LXHXZBjoUzx1QdKndJSQuc59oXmlTkzCRjXoA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR10MB2670 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=9948 signatures=668683 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 mlxlogscore=999 malwarescore=0 mlxscore=0 suspectscore=0 adultscore=0 spamscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2104060000 definitions=main-2104080114 X-Proofpoint-GUID: 5ldeTbM46o7Y4Ukaf2lQyqUaG4LQlQxZ X-Proofpoint-ORIG-GUID: 5ldeTbM46o7Y4Ukaf2lQyqUaG4LQlQxZ X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=9948 signatures=668683 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 clxscore=1015 lowpriorityscore=0 suspectscore=0 adultscore=0 mlxlogscore=999 bulkscore=0 priorityscore=1501 impostorscore=0 phishscore=0 mlxscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2104060000 definitions=main-2104080115 Received-SPF: pass client-ip=156.151.31.86; envelope-from=drew.adams@oracle.com; helo=userp2130.oracle.com X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:267633 Archived-At: PiA+PiBQcm9wb3NhbCAxOiBEaXNhYmxpbmcgdGhlIGhpc3RvcnkNCj4gPj4gfn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQo+ID4NCj4gPiBXaGF0J3MgdGhlIHByb2JsZW0/ICBIb3cg ZG9lcyBpdCBodXJ0IGZvciB1c2VycyB0bw0KPiA+IGhhdmUgdGhlIGRlZmF1bHQgaGlzdG9yeSwg YG1pbmlidWZmZXItaGlzdG9yeScsDQo+ID4gYXZhaWxhYmxlPyAgVGhleSBkb24ndCBoYXZlIHRv IHVzZSBpdCwgcmlnaHQ/DQo+ID4NCj4gPiBJJ20gbm90IHNheWluZyBJJ20gb3Bwb3NlZCB0byB5 b3VyIHByb3Bvc2VkIHNvbHV0aW9uLg0KPiA+IEknbSBzYXlpbmcgSSBoYXZlbid0IHNlZW4gdGhl IHByb2JsZW0gc3BlY2lmaWVkIHRoYXQNCj4gPiB5b3UncmUgdHJ5aW5nIHRvIHNvbHZlLg0KPiAN Cj4gQXMgYW4gYXV0aG9yIG9mIGNvbXBsZXRpb24gY29tbWFuZHMgSSBsaWtlIHRoZSBhYmlsaXR5 IHRvDQo+IGRpc2FibGUgdGhlIGhpc3RvcnkgaWYgSSB0aGluayBpdCBpcyB1c2VmdWwuDQoNClRo YXQganVzdGlmaWNhdGlvbiBqdXN0IHJlcGVhdHMgIkkgd2FudCBpdC4iICBXaHk/DQpXaGF0IHBy b2JsZW0gZG9lcyB0aGUgcHJvcG9zZWQgc29sdXRpb24gdHJ5IHRvIHNvbHZlPw0KDQpJJ20gbm90 IHNheWluZyB5b3UgZG9uJ3QgbmVlZCBpdCBvciB5b3Ugc2hvdWxkbid0DQpoYXZlIGl0LiAgSSdt IGFza2luZyB3aHkuDQoNCj4gT25lIHN1Y2ggY2FzZSBpcyB3aGVuIHlvdSBicm93c2UgdGhlIGhp c3RvcnkgaXRzZWxmDQo+IHVzaW5nIGBjb21wbGV0aW5nLXJlYWRgLCBidXQgdGhpcyBpcyBjZXJ0 YWlubHkgYSB2ZXJ5DQo+IG5hcnJvdyBjYXNlLg0KDQpXaHkgaXMgaXQgZXZlbiBhIHVzZSBjYXNl PyAgV2h5IGRpc2FibGUgaGlzdG9yeSB3aGVuDQpgY29tcGxldGluZy1yZWFkJyBhZ2FpbnN0IHRo ZSBoaXN0b3J5PyAgTWF5YmUgeW91DQpoYXZlIGEgZ29vZCByZWFzb24gLSB3aGF0IGlzIGl0Pw0K DQo+IEJ1dCBgcmVhZC1mcm9tLW1pbmlidWZmZXJgIGFscmVhZHkgYWNjZXB0cyB0aGUgYHRgDQo+ IGFyZ3VtZW50LCBzbyBpdCB3aWxsIGJlIGxlc3MgY29uZnVzaW5nIGlmDQo+IGBjb21wbGV0aW5n LXJlYWRgIGlzIGFsaWduZWQgd2l0aCBpdC4NCg0KVGhhdCBoYXJkbHkgc2VlbXMgbGlrZSBhIGdv b2QgYXJndW1lbnQuICBUaGUNCmJlaGF2aW9yIG9mIHRob3NlIGZ1bmN0aW9ucyBpcyBxdWl0ZSBk aWZmZXJlbnQsDQppbmNsdWRpbmcgdGhlaXIgdXNlIG9mIGFyZ3VtZW50cyB0aGF0IG1pZ2h0IHNl ZW0NCnNpbWlsYXIgYmVjYXVzZSBvZiB0aGVpciBuYW1lcy4NCg0KQ29uc2lzdGVuY3kgc2xhcHBl ZCBvbiB3aXRoIGEgYnJvYWQgYnJ1c2ggaXMNCmdlbmVyYWxseSBub3QgYSBnb29kIGd1aWRlbGlu ZS4gIExvY2FsIGNvbnNpc3RlbmN5DQpjYW4gYmUgYSBnb29kIGd1aWRlbGluZSAtIG9uZSBhbW9u ZyBtYW55Lg0KDQpBbmQgaXMgdGhpcyBwZXJoYXBzIGFub3RoZXIgY2FzZSBvZiBmYXZvcmluZyB1 c2Vycw0Kb2Ygc3VjaCBFbGlzcCBmdW5jdGlvbnMgb3ZlciB1c2VycyBvZiB0aGUgY29kZQ0KdGhh dCBtYWtlcyB1c2Ugb2YgdGhvc2UgZnVuY3Rpb25zPw0KDQpXaHkvd2hlbiBpcyBpdCB1c2VmdWwg Zm9yIF91c2Vyc18gdG8gbm90IGJlIGFibGUNCnRvIGFjY2VzcyB0aGUgaGlzdG9yeSBvZiB0aGVp ciBpbnB1dHM/ICBXaGF0IGlmDQp0aGV5IGp1c3Qgd2FudCB0byBleHBsb3JlIHRoYXQgaGlzdG9y eSAod2l0aG91dA0KdXNpbmcgc29tZSBjb21tYW5kIGV4cGxpY2l0bHkgZGVzaWduZWQgZm9yIHRo YXQpPw0KDQpBZ2FpbjoNCg0KIEknbSBub3Qgc2F5aW5nIEknbSBvcHBvc2VkIHRvIHlvdXIgcHJv cG9zZWQgc29sdXRpb24uDQogSSdtIHNheWluZyBJIGhhdmVuJ3Qgc2VlbiB0aGUgcHJvYmxlbSBz cGVjaWZpZWQgdGhhdA0KIHlvdSdyZSB0cnlpbmcgdG8gc29sdmUuDQoNCj4gPj4gUHJvcG9zYWwg NTogRm9yYmlkIHRoZSBudWxsIGNvbXBsZXRpb25zIGZvciBgUkVRVUlSRS1NQVRDSD10Jw0KPiA+ PiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+DQo+ID4NCj4gPiBFbXB0eSBjb21wbGV0aW9uIHJldHVybmluZyBhIHNwZWNpYWwgdmFs dWUgKG5hbWVseSAiIikNCj4gPiBsZXRzIGNvZGUga25vdyB0aGF0IHRoZSB1c2VyIHByb3ZpZGVk IGVtcHR5IGNvbXBsZXRpb24uDQo+ID4gVGhhdCdzIGEgX2ZlYXR1cmVfLg0KPiANCj4gSSdkIHNh eSBpdCBpcyBhIGJ1Zy4NCg0KV2h5PyAgUmVhc29ucywgcGxlYXNlLiAgSSBnYXZlIHJlYXNvbnMg d2h5IGl0J3MNCmEgZmVhdHVyZS4gIFdoeSBkbyB5b3UgdGhpbmsgaXQncyBhIGJ1Zz8NCg0KPiBT dGVmYW4gTW9ubmllciBzZWVtcyB0byBhZ3JlZSB0byBzb21lIGV4dGVudCBpZg0KPiBJIHVuZGVy c3Rvb2QgY29ycmVjdGx5Lg0KDQpBcHBlYWwgdG8gYXV0aG9yaXR5IG9yIHBvcHVsYXJpdHkgaXNu J3QgYSByZWFzb24uDQoNCkV4cGxhaW4gaG93IGVsc2UgY29kZSBjYW4ga25vdyB3aGV0aGVyIHRo ZSB1c2VyDQpqdXN0IGhpdCBSRVQgKGVtcHR5IGlucHV0KS4gIE9yIGV4cGxhaW4gd2h5IHdlDQp3 b3VsZCB3YW50IHRvIHJlbW92ZSB0aGUgcG9zc2liaWxpdHkgdG8ga25vdyB0aGF0Lg0KDQo+IFVu Zm9ydHVuYXRlbHkgdGhlIGJ1ZyBpcyB3aWRlc3ByZWFkIHNvIG9uZSBoYXMgdG8NCj4gbG9vayBh IGJpdCBhcm91bmQgaWYgdGhlcmUgd2lsbCBiYWQgZWZmZWN0cyBkdWUNCj4gdG8gZml4aW5nIHRo ZSBidWcuDQoNCldlJ3JlIG5vdCB0aGVyZSB5ZXQuICBJJ20gYXNraW5nIHdoeSB0aGlzIGZlYXR1 cmUNCnNob3VsZCBiZSByZW1vdmVkLg0KDQo+IFRoZXJlIHNlZW1zIHRvIGJlIHNvbWUgYWdyZWVt ZW50IHRoYXQgaXQgaXMgdXNlZnVsIHRvDQo+IGltcHJvdmUgdGhlIHN1cHBvcnQgb2YgdGhlIHNl bGVjdGlvbiB1c2UgY2FzZSBvZiBgY29tcGxldGluZy1yZWFkYC4NCg0KSSBkb24ndCBrbm93IHdo YXQgdGhhdCBtZWFucy4gIFdoYXQncyAidGhlIHNlbGVjLi4uIj8NCg0KPiA+PiBQcm9wb3NhbCA3 OiBBbGxvdyBkdXBsaWNhdGVzIGFuZCByZXRhaW4gb2JqZWN0IGlkZW50aXR5DQo+ID4+IH5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCj4gDQo+ ID4+ICAgICBUaGVyZSBhcmUgbm90IG1hbnkgY29tcGxldGlvbiB0YWJsZXMgd2hpY2ggZ2VuZXJh dGUNCj4gPj4gICAgIGR1cGxpY2F0ZSBjYW5kaWRhdGVzDQo+ID4NCj4gPiBEbyB5b3UgbWVhbiBu b3QgbWFueSBfa2luZHNfIG9mIGNvbXBsZXRpb24gdGFibGVzLA0KPiA+IG9yIG5vdCBtYW55IGNv bXBsZXRpb24gdGFibGVzIChpbiBwcmFjdGljZSk/ICBJZg0KPiA+IHlvdSBtZWFuIHRoZSBsYXR0 ZXIsIEknZCBsaWtlIHRvIGtub3cgd2h5IHlvdSB0aGluaw0KPiA+IHRoYXQsIGFzIEkgZG91YnQg aXQncyB0aGUgY2FzZS4gIChObywgSSBkb24ndCBoYXZlDQo+ID4gbnVtYmVycyBlaXRoZXIuKQ0K PiANCj4gSSBhbSBqdXN0IHNheWluZyB0aGF0IEkgaGF2ZSBub3Qgb2JzZXJ2ZWQgbWFueSBkdXBs aWNhdGVzIHdoaWxlIHVzaW5nDQo+IEVtYWNzIHdpdGggY29tcGxldGlvbiBzeXN0ZW1zLCB3aGlj aCBkbyBub3QgZGVkdXBsaWNhdGUuIEkgdGhpbmsNCj4gYGZpbmQtbGlicmFyeWAgb3IgYGxvYWQt bGlicmFyeWAgc2hvd3MgZHVwbGljYXRlIGNhbmRpZGF0ZXM/DQoNCllvdSBoYXZlbid0IHNlZW4g bWFueSBpcyBkaWZmZXJlbnQgZnJvbSAidGhlcmUNCmFyZSBub3QgbWFueS4iDQoNCkknZCBhZ3Jl ZSB0aGF0IHRoZXJlIGFyZSBsaWtlbHkgbW9yZSB1c2VzIG9mDQpjb21wbGV0aW9uIHdoZXJlIGR1 cGxpY2F0ZXMgYXJlIHJlbW92ZWQgdGhhbg0KdXNlcyB3aGVyZSB0aGV5IGFyZSBub3QuDQoNCkkn ZCBldmVuIHNheSB0aGVyZSBhcmUgbGlrZWx5IG1vcmUgdXNlcyB3aGVyZQ0KZHVwcyBfc2hvdWxk XyBiZSByZW1vdmVkLiAgQnV0IG1vcmUgZG9lc24ndA0KaW1wbHkgdGhhdCB0aGUgbGVzcyBjYXNl IGlzIGZldy4NCg0KSSBleHBlY3QgdGhlcmUgYXJlIG1hbnkgdXNlIGNhc2VzIGZvciByZXRhaW5p bmcNCmR1cGxpY2F0ZXMuICBBbmQgZXZlbiB0aGF0IGlmIHRoZXJlIHdlcmUgb25seSBhDQpmZXcg dGhlcmUgbWlnaHQgYmUgYSBsb3Qgb2YgdXNlIG9mIHRob3NlIGZldy4NCg0KPiA+PiAgICAgTm90 ZSB0aGF0IHRoaXMgcHJvcG9zYWwgaXMgdXNlZnVsIG1haW5seSBmb3INCj4gPj4gICAgIGNvbXBs ZXRpb24gdGFibGVzIHdoaWNoIGRpc2FibGUgc29ydGluZyBieQ0KPiA+PiAgICAgc2V0dGluZyBg ZGlzcGxheS9jeWNsZS1zb3J0LWZ1bmN0aW9uJyB0byB0aGUNCj4gPj4gICAgIGlkZW50aXR5IGZ1 bmN0aW9uLg0KPiA+DQo+ID4gV2h5PyAgKEknbSBwcmV0dHkgc3VyZSBJIGRpc2FncmVlLikNCj4g DQo+IEkgYXNzdW1lIGEgU3dpcGVyLWxpa2UgY29tbWFuZC4gSWYgeW91IGRvbid0IHNvcnQgdGhl biB5b3UgY2FuIHNpbXBseQ0KPiBzY3JvbGwgdGhyb3VnaCB0aGUgZHVwbGljYXRlIGNhbmRpZGF0 ZXMsIHdoaWNoIHJldGFpbiB0aGVpciBvcmlnaW5hbA0KPiBvcmRlci4NCg0KSXQgc291bmRzIGxp a2UgeW91J3JlIGFzc3VtaW5nIHRoYXQgdGhlIG9yZGVyIGlzLA0Kc2F5LCB0aGUgb3JkZXIgb2Yg dGhpbmdzICh0ZXh0IGJpdHMsIG1hcmtlcnMsLi4uKQ0KaW4gYSBidWZmZXIuDQoNCkFzIGxvbmcg YXMgdGhlICJkdXBsaWNhdGVzIiByZXRhaW4sIGludGVybmFsbHksDQp0aGVpciBjb21wbGV0ZSBp ZGVudGl0aWVzICh1bmlxdWUgb2JqZWN0cyksIHRoZQ0KVUkgY2FuLCBpZiBpdCBsaWtlcywgbWFr ZSB1c2Ugb2YgdGhhdCwgYW5kIGV2ZW4NCm1ha2UgaXQga25vd24gaW4gdmFyaW91cyB3YXlzIHRv IHVzZXJzLg0KDQpUaGVyZSdzIG5vIHJlYXNvbiB0aGF0IGFyYml0cmFyeSBzb3J0IG9yZGVycw0K Y2FuJ3QgYmUgdXNlZnVsLCBqdXN0IGJlY2F1c2UgdGhlIGRpc3BsYXllZA0KY2FuZGlkYXRlcyBt aWdodCBsb29rIGxpa2UgZHVwbGljYXRlcy4NCg0KPiBJIGFtIHN1cmUgb25lIGNhbiBqdW1wIHRo cm91Z2ggbWFueSBob29wcyB0byBtYWtlIHRoaXMgbmljZSBpbg0KPiBhbnkgY2FzZS4gU3RlZmFu IE1vbm5pZXIgcmVxdWVzdGVkIHRoYXQgZGVmYXVsdCBjb21wbGV0aW9uIHNob3VsZCBhbHNvDQo+ IGRpc2FtYmlndWF0ZSB0aGUgZHVwbGljYXRlcyBvbiB0aGUgVUkgbGV2ZWwsIHN1Y2ggdGhhdCBv bmUgY2FuIHN0aWxsDQo+IGNob3NlIGJldHdlZW4gdGhlbSAoInJlaWZ5aW5nIHRoZSBvYmplY3Qg aWRlbnRpdHkiKS4NCg0KV2h5IHRoZSAiZGVmYXVsdCBjb21wbGV0aW9uIj8gIFdlIGFscmVhZHkg aGF2ZQ0KdGhhdCBwb3NzaWJpbGl0eSAoZS5nLiB1c2luZyB0ZXh0IHByb3BlcnRpZXMpLg0KDQpJ dCBzaG91bGQgYmUgdXAgdG8gYSBzcGVjaWZpYyB1c2Ugb2YgY29tcGxldGlvbg0KKGUuZy4gb2Yg YGNvbXBsZXRpbmctcmVhZCcpIHdoZXRoZXIgdG8gKDEpIGFsbG93DQpzZWVtaW5nIGR1cGxpY2F0 ZXMgYW5kICgyKSBkaXN0aW5ndWlzaCB0aGVtIGR1cmluZw0KY29tcGxldGlvbi4NCg0KPiA+PiBQ cm9wb3NhbCA4OiBDb21wbGV0aW9uIHN0eWxlIG9wdGltaXphdGlvbiBvZg0KPiA+PiBmaWx0ZXJp bmcgYW5kIGhpZ2hsaWdodGluZw0KPiA+PiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+DQo+ID4NCj4gPiBBZ2FpbiwgcGxlYXNlIGV4cGxhaW4ganVzdCB3aGF0 J3MgYmVlbiBmb3VuZCwNCj4gPiBpbnN0ZWFkIG9mIHJlcG9ydGluZyB3aGF0IHlvdSd2ZSBkZWNp ZGVkLiAgRGV0YWlscw0KPiA+IG1hdHRlci4gIFdoYXQga2luZCBvZiBoaWdobGlnaHRpbmc/ICBX aGVuIGFuZCBob3cNCj4gPiB3YXMgaGlnaGxpZ2h0aW5nIGRvbmUsIGFuZCB0byB3aGF0PyAgV2hh dCB3YXMgdHJpZWQ/DQo+ID4gSW4gd2hhdCBjb250ZXh0cz8gIEp1c3Qgd2hhdCBwcm9ibGVtcyB3 ZXJlIGZvdW5kPw0KPiANCj4gTm8sIEkgYW0gbWFraW5nIGNvbmNyZXRlIHByb3Bvc2FscyBoZXJl LiBJIGFtIG5vdA0KPiByZXBvcnRpbmcgaXNzdWVzLg0KDQpQcm9wb3NhbHMgcmVxdWlyZSBzb21l IHByZXNlbnRhdGlvbiBvZiB0aGUgdXRpbGl0eQ0Kb3IgbmVlZC4gIFJhaXNvbiBkJ8OqdHJlIGlz IHBlcmhhcHMgdGhlIG1vc3QgaW1wb3J0YW50DQpwYXJ0IG9mIGEgcHJvcG9zYWwgLSBhbnkgcHJv cG9zYWwuDQoNCihBbmQgbm8sIHRob3NlIHByb3Bvc2FscyBhcmUgbm90IHZlcnkgY29uY3JldGUu KQ0KDQo+ID4gR2VuZXJhbCBjcml0aXF1ZTogUGxlYXNlIHByZXNlbnQgX29uZV8gcHJvcG9zYWwg cGVyDQo+ID4gdGhyZWFkLCBmb3IgY29uc2lkZXJhdGlvbi4gIFRoaXMgdGhpbmcgYWJvdXQgYSBZ YWx0YQ0KPiA+IG1lZXRpbmcgaGF2aW5nIHRha2VuIHBsYWNlIGFuZCBzb21lb25lIGRlc2NlbmRp bmcNCj4gPiBmcm9tIHRoZSBzdW1taXQgd2l0aCBzdG9uZSB0YWJsZXMgcHJlc2VudGluZyB0aGUN Cj4gPiBJWCBQcm9wb3NhbHMgaXNuJ3Qgc28gaGVscGZ1bCwgSU1PLg0KPiANCj4gSSBjb25zaWRl cmVkIHRoaXMgYnV0IGRlY2lkZWQgYWdhaW5zdCBpdCBkdWUgdG8gdGhlIHJlbGF0aW9ucyBhbmQg dG8NCj4ga2VlcCB0aGUgZGlzY3Vzc2lvbiBhdCBvbmUgcGxhY2UuIEFzIHlvdSBzZWUgZnJvbSB0 aGUgY3VycmVudCByZXNwb25zZXMNCj4gdGhlIGRpc2N1c3Npb24gc2VlbXMgdG8gYmUgcHJvZHVj dGl2ZS4gVGhpcyBpbmNsdWRlcyB5b3VyIG1haWwuIFRoYW5rDQo+IHlvdSBmb3IgeW91ciByZXNw b25zZXMhDQoNClN1Y2ggYSBkaXNjdXNzaW9uIGNhbiBiZSBwcm9kdWN0aXZlLCBidXQgaXQgY2Fu IG9ubHkNCmdvIHNvIGZhciwgYXMgdGhpbmdzIGdldCBtb3JlIHJlYWwuICBUaGUgZGV2aWwgaXMg aW4NCnRoZSBkZXRhaWxzLg0K