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.help Subject: RE: [External] : On Bookmarks+ package Date: Thu, 16 Feb 2023 17:38:25 +0000 Message-ID: References: <972bedcc-37c9-5180-ac41-90e25d854a63@yandex.ru> <83mt5hdj28.fsf@gnu.org> 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="4596"; mail-complaints-to="usenet@ciao.gmane.io" Cc: GNU Emacs Help To: Jean Louis Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Thu Feb 16 18:39:03 2023 Return-path: Envelope-to: geh-help-gnu-emacs@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 1pSiDm-0000wL-7P for geh-help-gnu-emacs@m.gmane-mx.org; Thu, 16 Feb 2023 18:39:02 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pSiDM-0000ED-U7; Thu, 16 Feb 2023 12:38:37 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pSiDL-0008T3-Ez for help-gnu-emacs@gnu.org; Thu, 16 Feb 2023 12:38:35 -0500 Original-Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pSiDI-0002vr-Ll for help-gnu-emacs@gnu.org; Thu, 16 Feb 2023 12:38:35 -0500 Original-Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 31GFO77h011757; Thu, 16 Feb 2023 17:38:28 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=z7OGrd0eO8/5COLkK0zKlqrNZWLIpyB0h4BiXTe4zJ8=; b=j5SeuhUGlgmlcnLGRwsd8v5S8YBtT7e/Cnpb0vztXcxJvCRde+qMOMznWiqIKvSUUOEP tbyX8RZBjIyjmlv9oDmZuUVO+ZASKeq2ESWC7W6ViDsQb44yiNmx97nhVULGOFryeoiU 7RJbopGCdBtfFAEc4Z5KxlEs1mlR7wAlITZV9O3ZR6zjDrzLYqFslY83nxZQLRjokw+y Fjzqx9yiiQNMQQYqERoLV9eC0ESIdc2R40/6GhOA1mqkV3pGUQtY/DsaKClFeFKAmZ+u nuT9KdactYv9pQfnc/JShoY69lRHnP8cEkpn20zpK05dX1tjytgU3PFeU6HMqsKkP2+f kg== Original-Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3np1m13xj7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 16 Feb 2023 17:38:28 +0000 Original-Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 31GGFr6K015210; Thu, 16 Feb 2023 17:38:27 GMT Original-Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2172.outbound.protection.outlook.com [104.47.56.172]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3np1f8xt2a-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 16 Feb 2023 17:38:27 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iFiVlRL7oxXA+V1Pw9sPwk3iVxB2S+JwDP1l2onyFfI6EqI4qgVChHm34rJde6D8FEowe5Qk4l9vNwG6jBdJWGSOoI9ahICfShqQ2qoYl7tzTq/SuhADvZmoVkxTkGal1QmTBW3QSwPVtNw3lqFy8M8pgxUfgjxZpvPYC+QoDUsEfGo7ks6xprk+rIqJBwgPcx4/F1/Y6/5BVPwR9gNwql5AvcIQbwf+6o6NJSzklGT0i/Rlc44v/ZWAzLuaYGJmSV7jWpVJsoN/U8FoxwRrbox7EGVRtoz99oZb1lfz1YmgJ76S5wPRogcuguNgjbt0U5T3bnw06ARAyu+Ah7tF4A== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=z7OGrd0eO8/5COLkK0zKlqrNZWLIpyB0h4BiXTe4zJ8=; b=cn+uprwoLVaSsIxp7GmXgPCcF1rtTmxR7Rm0ij7pu+4iUwKQ8oVe/avceXc8pTNrdzMyjZu8eaN4uHebi70qBtcs0CtHj90/I5nn2tYJpTUafByN2dMaXdGUVvDftxLf6lEuFAww++Miwf70faUxtyZCoERPFmbfd43Z6bdsE/lut5gmI5T6y6ZvxtJCRDUqZt5Cmjj15S2NEWP2gjjSuxWgEDJvEpZsMQxapNLZUI/ZSYq7kcg3F/ArM+la48jQh7ylDcqDDSj/EwU07Wbsr3tU5RTlWUFKpZYHFkcoU2cDr0AEdDLW9JcsBN9lBPTGr9fS8R2TMc+lVgwzxoToeA== 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=z7OGrd0eO8/5COLkK0zKlqrNZWLIpyB0h4BiXTe4zJ8=; b=AVXB6ldhcj0AswKMJ5tUTQZoz73tdnStW60SabBJCpP87RIOuPihgE0ATV7tCSZcWhsLq3I0GOdjGPES72nO/iitcA2d9ep5vcnhd5HFLNtzym1RlD6Xc3FZgUq5r0kycJ8QUPRmQH7UDKgTZTC1376PZyHM6W1spWSzNY0pm+0= Original-Received: from SJ0PR10MB5488.namprd10.prod.outlook.com (2603:10b6:a03:37e::19) by SA3PR10MB6951.namprd10.prod.outlook.com (2603:10b6:806:304::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.6; Thu, 16 Feb 2023 17:38:25 +0000 Original-Received: from SJ0PR10MB5488.namprd10.prod.outlook.com ([fe80::d353:3fb:94e4:18b9]) by SJ0PR10MB5488.namprd10.prod.outlook.com ([fe80::d353:3fb:94e4:18b9%8]) with mapi id 15.20.6134.006; Thu, 16 Feb 2023 17:38:25 +0000 Thread-Topic: [External] : On Bookmarks+ package Thread-Index: AQHZQeA9XiusdEiR2EqQMWd8GZTV8q7RyENQ In-Reply-To: Accept-Language: en-US Content-Language: en-US x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SJ0PR10MB5488:EE_|SA3PR10MB6951:EE_ x-ms-office365-filtering-correlation-id: 4c0219d6-25a6-4b67-b7ab-08db10449b66 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: XXvacqdURefYk1UV/KQxjynd4qgf5ZwXJqPXjSbK9Ss+bXQZNBjsQ0tdIGjPhRoYYOpW8ZIvT1PP7YVBWFNLJGD5E7/i2vZqcZMUugBswlVFnm+/M+lhHzJ8wU6VT/iztkxXixucwnBIK6SqxW9PRHhwuZRJwlV5EQrsWAIMhWPceEdWvDOTqi/Zb08CMiTjepuN6Lpgrelf/8PG4yOmvLSz5Wturcl7DaHVjQWxo46zHqwTW8gR31PvuYhr8zYm/J+Ip2QlMwN9LG5bhZHReLsrmhkn7spal6wxVs9sNCD8aLmW27KbmfhVauGXZsQLo33f4BhZzmH5kTjrZnL8f0R1q5ZwZbJJh2LefmEzl9UfMMxEdrpM5lxE7GolIV0YCbsyGpKDBLXS9iRGUXH/4QuqhRN2Gb6cniva7hd2xd4Ut+WoNWVJtfJrpbx1qc1w9n6wCzAeYK/hbMWfvHNRJjnAdtWikxbVWJL2TEadIp3j6RoxtmB1SdFDCM4XRg/2vzaxl2hzvIazHOVqhvzt2gOECCfUa9zv3LBIPOYtZuI+XIL4BWfjvGBnZjBZ0c8b1WZpoTd0LEBFhLH+nJsHqr/rHT3l5EDgAyR4VaO/rs2FpaAfC735fSMOlAScG3MjJmjHCQuAdC1+Qc07FFYpwB9MHpVCqVEKsbAvezX3UXeWgRf6sqTmF5zCYDQ0u4PgDbGpXcYmEm6PolAsog+owA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR10MB5488.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230025)(366004)(396003)(346002)(376002)(136003)(39860400002)(451199018)(478600001)(83380400001)(8676002)(66446008)(55016003)(66946007)(66556008)(76116006)(64756008)(8936002)(52536014)(6916009)(66476007)(5660300002)(6506007)(186003)(26005)(4326008)(9686003)(71200400001)(7696005)(41300700001)(316002)(86362001)(2906002)(122000001)(38100700002)(38070700005)(33656002)(44832011); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ek1ROTZIMzBlR05aMm1qWE5nMzZUOTg4VlQyK3pZQUdSTkZ2YnV3b3N1aWJs?= =?utf-8?B?QmVZaC9Bbm5TRDk5c05BdUlpUmt6U3BVUzRBVHlCS0ZPZXZJL0xzVS9xVytG?= =?utf-8?B?ZnR0djEwQS9mNmFlZGtRWWJZMmtDdXFsZzN3WERMcGJDcG9pOEVybFRqaGQy?= =?utf-8?B?OEloL3h1akpqaUZBQisyaDRoRmNaUUc5am1KUXh1bjA0cjVaZmlQZ01PYjRn?= =?utf-8?B?Mmk3Mmk1OFFUMHRKOWRxZlhtZnlYM0pzQklYUURza1g1NVVZWVBtQjRMZVBX?= =?utf-8?B?ZnNDMVh4bHk1Z3VUQUk2cUdxSDF2UGtjNWxYUGtGYzlOekNwa0dMSlhFdmkr?= =?utf-8?B?eXk0aExGNFlxeXN1aWk4V1VvUy8xcnNNMTdUMmlCb3JzK0ovU3dkcGc3dFp6?= =?utf-8?B?T0daQ0g5c0FBYThBRVU4K1djRDRTM0p1TnpBbVBDbUN1U3IyK1NxTkphTUF3?= =?utf-8?B?Q25EMEZ0R0tuS2wzR1Rkd2NlaGtlM2xYcThwTWtzN2M2cXpybld5TDhZb2NE?= =?utf-8?B?NDdCYmFrWnhWcVo0V2U5N0xtYytBZi9yMzZxS3I4aWwzVGh5RWxkNUh0NDl5?= =?utf-8?B?aXMxU2srRzV4cHRzeTdsdzIza2U3SkFSdENZSFcwZU5LZEtlb1NuTHNUOWRo?= =?utf-8?B?T01JZkpJajBqbEh4WEJlSkRjck1kZ0hXZUI5Sz X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: N1QV0Zy3+HUczAF2yn+8PKOEu1eCbCSHZF1D3H68AG7PmLelY1hNAtKPeMsuD1oV593m+eJKBVqqr4qvzr5GIJDSWnrFsywLfe9nLVWNa2HxSlyhtBIM7GdQwCL5PeJSyUJZ3D71o1qg7KjhnJvlUwa5nM+JwDycGRceRoGpTBC94g5cnknaEUOSMhVBdn/djHQ9irQUDxxsoB5+LNK8az5nI7Kz1rdysrP+wR4/A4H+PVrO/V2jC0+Hoz7H+Qzk2FWylnkraoro7YmL9/WEn5pDUxCRla2eS3CzKP8M/yTDU10Hhf6af6TJwza9z0k9Wlh8+qAKfckZP6YytRFn23Ul9xNsX928nGDjv0DcZ5tcFhbyR8rrOQsKCYyWGCmixweFIqUkjYlT3fI3v6mCJn/DYBBtBgcHjjrw4CugftHFGhAXIbTrYx73L+AM2nl7D8xavGiBHiWps9z3KIyAwi2kG14obBYRzovEt2ed/UTGBBigyA5832fIagdwnsiDg3plaINe8tVbkE5jql61MyYOo12STB0v8vxBSXCdIrLRYBvjvGu4bCX5+pf0+agAlwJ9GjIIqJnT9kAkvEtmKpJWhAAqenJmJWfeebhH5efuijJ+hZmo38deYDglFpaO/D6CGvmnoHIdmtqrI6iic/ZiexVqBggtD1NBdAjdQRZn8Yzd9Zk68F4mX1+L8kehidpdou5WuJNSugbckwv52kZnw9wNp0DJms6ifE6q0g0aAC w021XUwwBLi2pqIOxdJYXZkUhXPx0wAzLGf48Q6w== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SJ0PR10MB5488.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4c0219d6-25a6-4b67-b7ab-08db10449b66 X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Feb 2023 17:38:25.3924 (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: o++wO3IQx929Vgqwpgca6Q/3ozDBYW/LeTbyn8OEj6gPiPbPlcCRgyifi0H0L7DzP3pJZz/4w75Ifi+d212bFQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR10MB6951 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.930,Hydra:6.0.562,FMLib:17.11.170.22 definitions=2023-02-16_14,2023-02-16_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 spamscore=0 malwarescore=0 mlxlogscore=999 bulkscore=0 mlxscore=0 adultscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2302160152 X-Proofpoint-GUID: tPoeBkR_psFeJWLnNKMaVclA9mzruQbF X-Proofpoint-ORIG-GUID: tPoeBkR_psFeJWLnNKMaVclA9mzruQbF Received-SPF: pass client-ip=205.220.165.32; envelope-from=drew.adams@oracle.com; helo=mx0a-00069f02.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.help:142767 Archived-At: PiA+IEVtYWNzIGJvb2ttYXJrcyBjYW4gImhvbGQiIGFueXRoaW5nIHlvdSBsaWtlLiAgRm9yIGJv b2ttYXJrcyB0aGF0DQo+ID4geW91IHdhbnQgdG8gcGVyc2lzdCwgdGhlICJhbnl0aGluZyIgbmVl ZHMgdG8gYmUgcGVyc2lzdGFibGUgYW5kDQo+ID4gcmVhZGFibGUuDQo+IA0KPiBJIGhhdmUgNTMx MTEgZWxlbWVudGFyeSBvYmplY3RzIGN1cnJlbnRseS4gV2hpbGUgSSBjYWxsIHRoZW0NCj4gSHlw ZXJkb2N1bWVudHMgYW5kIGVsZW1lbnRhcnkgb2JqZWN0cywgeW91IGNhbGwgaXQgYm9va21hcmtz Lg0KPiANCj4gSSB3YXMgdGhpbmtpbmcgYm9va21hcmtzIGluIEVtYWNzIGFyZSBtb3JlIG5hcnJv d2VkIHR5cGVzIG9mDQo+IG9iamVjdHMuIEFuZCBkaWQgbm90IGV4cGFuZCBteSBwZXJzb25hbCB1 c2Ugb2YgdGhlbS4NCj4gDQo+IERvIHlvdSB0aGluayB0aGF0IGJvb2ttYXJrcygrKSB3aXRoIGl0 J3MgaW1wbGVtZW50YXRpb24gY291bGQgc2NhbGUgdG8NCj4gdGhhdCBudW1iZXIgb2Ygb2JqZWN0 cyB3aXRob3V0IGxvc2luZyBzcGVlZD8NCg0KTm8gaWRlYS4NCg0KQXMgSSBzYWlkIGluIHRoZSBl bWFjcy1kZXZlbCB0aHJlYWQsIHR5cGljYWxseSBib29rbWFya3MgaG9sZCByZWxhdGl2ZWx5IGxp dHRsZSBjb250ZW50LiAgVGhleSBjYW4gcmVmZXIgdG8gb3RoZXIgY29udGVudC4gIFRoZXkgY2Fu IGFsc28gaG9sZCBob3dldmVyIG11Y2ggY29udGVudCB5b3UgbGlrZS4gIFRoYXQgZG9lc24ndCBt ZWFuIGl0J3MgYSBncmVhdCBpZGVhIHRvIHN0b3JlIGFsbCBvZiB0aGUgdGV4dCBmcm9tIGFsbCBv ZiBXaWtpcGVkaWEgaW4gYSBib29rbWFyay4gIFlNTVYuDQoNCj4gPiBCdXQgdHlwaWNhbGx5IGJv b2ttYXJrcyBkb24ndCAiaG9sZCIgbXVjaCBkYXRhLiAgSW5zdGVhZCwgdGhleSBwb2ludA0KPiA+ IHRvIGRhdGEgdGhhdCdzIGF2YWlsYWJsZSBzb21ld2hlcmUgZWxzZSAod2hldGhlciBpdCdzIHBl cnNpc3RlZCBvcg0KPiA+IG5vdCBhdCB0aGF0ICJzb21ld2hlcmUgZWxzZSIpLg0KPiANCj4gLi4u DQo+IElmIEkgd291bGQga2VlcCBMYVRlWCBvYmplY3Qgb3IgTGFUZVggdGV4dCBpbiBib29rbWFy aywgSSB3b3VsZCBub3QNCj4ga25vdyB3aGVyZSBpdCBpcyBzdG9yZWQgcmVhbGx5LCBpdCB3b3Vs ZCBiZSBvbmUgZmlsZSwgYnV0IHRoYXQgZmlsZSBpcw0KPiBub3QgcHJvdGVjdGVkIGZyb20gaW5m bHVlbmNlcyBmcm9tIGZpbGUgc3lzdGVtLCBhbmQgdGhlbiBzaW5nbGUNCj4gYm9va21hcmsgZmls ZSB3b3VsZCBiZSBibG9hdGVkIHdpdGggaHVuZHJlZHMgb3IgdGhvdXNhbmRzIG9mIHN1Y2gNCj4g b2JqZWN0cywgYW5kIGV4dGVybmFsIGFjY2VzcyB0byBzdWNoIG9iamVjdHMsIGJleW9uZCBFbWFj cyBMaXNwLCB3b3VsZA0KPiBub3QgYmUgcG9zc2libGUuIFdpdGggdGhlIGRhdGFiYXNlIGl0IGlz IGVhc3ksIEkgY2FuIHVzZSBleHRlcm5hbA0KPiBzY3JpcHRzIHRvIGluc2VydCBvciBzaGFyZSBh bnkgb2JqZWN0cy4NCg0KRG9uJ3QgdXNlIGJvb2ttYXJrcyB0byBob2xkIHRvbnMgb2YgZGF0YS4N ClVzZSBhIGRhdGFiYXNlIGZvciB0aGF0LCBpZiB5b3UgbGlrZSwgb3INCmp1c3QgZmlsZXMuICBJ dCdzIGVhc3kgdG8gc3RvcmUgTGlzcCBjb2RlDQppbiBhIGZpbGUsIGFueSBmaWxlOiBzZWUgYHdy aXRlLWZpbGUnIGFuZA0KYHdyaXRlLXJlZ2lvbicsIHRvIHN0YXJ0IHdpdGguDQogDQo+ID4gVGhl cmUgc2hvdWxkIGJlIG5vIGluaGVyZW50IHByb2JsZW0gYm9va21hcmtpbmcgYSAibm9uLWZpbGUg ZGF0YWJhc2UNCj4gPiBlbnRyeSIuICBZb3UganVzdCBoYXZlIHRvIGRlY2lkZSB3aGF0IHlvdSBu ZWVkIHRvIHB1dCBpbiB0aGUNCj4gPiBib29rbWFyaywgdG8gbGF0ZXIgZ2V0IHRvIGl0IChlLmcu IHJlc3RvcmUgaXQpLg0KPiANCj4gRXhhY3RseSwgSSB1bmRlcnN0YW5kIGl0LCB0aGF0IGlzIGhv dyBpdCB3b3JrcyBoZXJlIHRvby4gVGhvdWdoIHlvdQ0KPiBzcGVhayBpbiB0ZXJtcyBvZiBwcm9n cmFtbWluZyBjYXBhYmlsaXR5LCBub3Qgb2Ygc29tZXRoaW5nIHRoYXQgaXMNCj4gYWxyZWFkeSBp bXBsZW1lbnRlZC4NCg0KWW91IGNhbiBib29rbWFyayBhbnkgYnVmZmVyLCBPT1RCLg0KDQpIb3dl dmVyLCBpZiBqdXN0IGNyZWF0aW5nIHRvIG9yIGdvaW5nIHRvIHRoZQ0KYnVmZmVyIGlzbid0IHN1 ZmZpY2llbnQgdG8gcmVzdG9yZSB3aGF0IHlvdQ0Kd2FudCB0aGVyZSwgdGhlbiB5ZXMsIG9mIGNv dXJzZSwgeW91IG5lZWQgdG8NCnB1dCBpbnRvIHlvdXIgYm9va21hcmsgZGF0YSB3aGF0ZXZlciB5 b3UgbmVlZA0KdG8gZ2V0IHRoZSBidWZmZXIgY29udGVudC9zdGF0ZSB5b3Ugd2FudC4NCg0KU29t ZSBwcmVkZWZpbmVkIGJvb2ttYXJrIHR5cGVzIGZvciBub24tZmlsZQ0KYnVmZmVycyBkbyBleGFj dGx5IHRoYXQuICBgbWFuJyBib29rbWFya3MsDQpmb3IgZXhhbXBsZS4gIEFuZCBEaXJlZCBib29r bWFya3MuDQoNCklmIHlvdSdyZSBhZGRpbmcgYm9va21hcmtzIGZvciBzb21lIGtpbmQgb2YNCmJ1 ZmZlciB0aGF0IGRvZXNuJ3QgaGF2ZSBhIHByZWRlZmluZWQgYm9va21hcmsNCnR5cGUsIHRoZW4g eWVzLCBqdXN0IGRlZmluZSB3aGF0IHlvdSBuZWVkLg0KDQpUaGUgcnVsZSBpcyBzaW1wbGU6IHdo YXRldmVyIHlvdSBzdG9yZSBpbiBhDQpib29rbWFyayBpcyB3aGF0J3MgdXNlZCB0byByZXN0b3Jl LyJqdW1wIiB0bw0KaXRzIHRhcmdldC4gIEdhcmJhZ2UgaW4sIG9yIG5vdCBlbm91Z2ggaW5mbw0K aW4sIG1lYW5zIGdhcmJhZ2Ugb3V0LCBvciBub3QgZW5vdWdoIGluZm8gb3V0Lg0KDQo+ID4gWW91 IGNhbiBzb3J0LCBlZGl0LCB0YWcg4oCTIHdoYXRldmVyIG5vbi1pbnZva2FibGUgYm9va21hcmtz LCBpLmUuLA0KPiA+IHlvdSBjYW4gdXNlIGJvb2ttYXJrcyBqdXN0IHRvIG9yZ2FuaXplIHRoaW5n cy4gIChBbmQgeW91IGhhdmUNCj4gPiBib29rbWFya3MgdGhhdCBhcmUgaW52b2thYmxlIG9ubHkg aW4gY2VydGFpbiBjb250ZXh0cy4pDQo+IA0KPiBQbGVhc2UgbGV0IG1lIGtub3csIGRvIHlvdSBk d2VsbCBpbiBCb29rbWFya3M/DQoNCk5vcGUuICBJIGR3ZWxsIG9uIEVhcnRoLiAgTm9yIGRvIGJv b2ttYXJrcw0KZHdlbGwgd2l0aGluIG1lLCBBRkFJSy4NCg0KPiBUaGF0IGlzIHdoYXQgSSBkby4g TXkgd29ya3NwYWNlIGlzIGluIEh5cGVyc2NvcGUgYW5kIHBlb3BsZS4gSSBoYXZlDQo+IGRhc2hi b2FyZCwgcmVtaW5kZXJzLCBhbmQgb2Z0ZW4gZHdlbGwsIHNwZW5kIHRpbWUgaW4gdGhhdA0KPiBv cmdhbml6YXRpb24sIGZpbmlzaGluZyBhIGRvY3VtZW50LCBzaGFyaW5nLCBlZGl0aW5nLCBnZW5l cmF0ZWQNCj4gbWl4ZWQtb2JqZWN0IGRvY3VtZW50LCBzaGFyaW5nIGl0LCBsaWtlIHRoYXQuIEFs bCB0aW1lIHRoZXJlLg0KPiANCj4gRG8geW91IGFjdHVhbGx5IHVzZSB5b3VyIGJvb2ttYXJrcz8N Cg0KWWVzLiAgUHJvYmFibHkgbm90IGFzIG11Y2ggYXMgc29tZSBvdGhlcnMgdXNlIHRoZWlycy4N Cg0KPiBIb3cgbWFueSB0aW1lcyBwZXIgZGF5Pw0KDQpObyBpZGVhLiAgV2h5Pw0KDQo+IEhlcmUg aXMgaG93IGl0IHdvcmtzIG9uIG15IHNpZGUsIHRoZXJlIGFyZSAyMTUgZWxlbWVudGFyeSBvYmpl Y3RzIGZyb20NCj4gbGFzdCB3ZWVrLiBJbiBhIHdheSB0aGV5IGFyZSBzaW1pbGFyIHRvIGJvb2tt YXJrcywgdGhvdWdoIEkgZGlkIG5vdA0KPiBwdXQgbXVjaCB0aGlua2luZyBpbnRvIGl0LiBJcyB0 aGF0IGhvdyB5b3Ugc3BlbmQgdGltZSBhcyB3ZWxsIGluIHlvdXINCj4gYm9va21hcmtzPw0KDQpJ IGRvbid0IHNwZW5kIHRpbWUgaW4gbXkgYm9va21hcmtzLg0KDQo+ID4gQm9va21hcmsgdGFncyBh cmUgYSBnb29kIHdheSB0byBjYXRlZ29yaXplIHRoaW5ncw0KPiA+IGFuZCBhY2Nlc3MgdGhlbSBi eSBjb21iaW5hdGlvbnMgb2Ygc3VjaCBjYXRlZ29yaWVzLg0KPiANCj4gSSB1bmRlcnN0YW5kIHRh Z3MsIGFuZCBJIHVzZSB0aGVtIHRvbywgdGhvdWdoIGluIEh5cGVyc2NvcGUNCj4gc3lzdGVtLiBF YWNoIGVsZW1lbnRhcnkgb2JqZWN0IG1heSBiZSB0YWdnZWQuIFRoZXJlIGFyZSB0eXBlcyBvZiB0 YWdzDQo+IGluIG15IHN5c3RlbSwgc28gdGhlcmUgbWF5IGJlICJzdWJqZWN0IHRhZyIgbGlrZSAi Q29tcHV0ZXIgdGFnIiwgd2hlcmUNCj4gbWVhbmluaW5nIG5lZWQgbm90IGJlIHNhbWUgdG8gb3Ro ZXIgdGFnIG9mIHNhbWUgbmFtZS4gQnkgdXNpbmcNCj4gZGF0YWJhc2UsIHRoZXJlIGlzIHByaXZp bGVnZSB0aGF0IHRhZ3MgbWF5IGJlIHJlbmFtZWQsIGVkaXRlZCwNCj4gZGVzY3JpYmVkLCB0aGV5 IGFyZSBvYmplY3RzIGl0c2VsZiwgbm90IG9ubHkgYSB3b3JkLg0KDQpCb29rbWFyaysgdGFncyBh cmUgYXJiaXRyYXJ5IHN0cmluZ3MsIGJ5IGRlZmF1bHQuDQpUaGV5J3JlIG5vdCBqc3V0IHdvcmRz LiAgQW5kIHRoZXkgY2FuIGFsc28gYmUNCmNvbnNlczogKFNUUklORyAuIEFOWVRISU5HKSwgd2hl cmUgQU5ZVEhJTkcgaXMNCmFueSBMaXNwIHZhbHVlLg0KDQpJZiB0aGUgdGFnZ2VkIGJvb2ttYXJr IGlzIHRvIGJlIHBlcnNpc3RlZA0KKHdoaWNoIGlzIHR5cGljYWwpLCB0aGVuIEFOWVRISU5HIG5l ZWRzIHRvIGJlDQpwZXJzaXN0YWJsZSBhbmQgTGlzcC1yZWFkYWJsZS4NCg0KSSd2ZSBtZW50aW9u ZWQgdGhpcyAoYWxsIG9mIHRoaXMsIGluIGZhY3QpIHRvDQp5b3UgYmVmb3JlLiAgTWF5YmUgeW91 J3JlIHJlYWxseSB3YW50aW5nIHRvDQp0YWxrIGFib3V0IHlvdXIgZGF0YWJhc2Ugc2V0dXAgYW5k IHdoYXQgeW91IGRvDQp3aXRoIGl0PyAgSWYgc28sIEkgaGF2ZSBub3RoaW5nIHRvIHNheSBhYm91 dA0KeW91ciBzZXR1cDsgc29ycnkuDQoNCkkgZG9uJ3Qgc2F5IHlvdSBzaG91bGQgdXNlIEJvb2tt YXJrKyBvciBib29rbWFya3MsDQpvciBpbiBwYXJ0aWN1bGFyIHRoYXQgeW91IHNob3VsZCB1c2Ug dGhlbSBpbnN0ZWFkDQpvZiB3aGF0IHlvdSdyZSB1c2luZyBub3cuDQoNCkkgY2FuIHRlbGwgdGhh dCB5b3UncmUgc29tZXdoYXQgaW50ZXJlc3RlZCBpbg0KQm9va21hcmsrIGFuZCBib29rbWFya3Mu ICBUaGVuIEknZCBzYXkgdHJ5IHVzaW5nDQpib29rbWFya3MgZm9yIHNvbWUgdGhpbmdzLCBhbmQg c2VlIGlmIHlvdSBsaWtlDQp0aGF0IGFuZCBpdCBoZWxwcy4gIElmIG5vdCwgZG9uJ3QgYm90aGVy IHdpdGgNCmJvb2ttYXJrcy4NCg0KPiA+IE9yZyBtb2RlLCBmb3IgZXhhbXBsZSwgbGV0cyB5b3Ug ZW1iZWQgZGlmZmVyZW50IGtpbmRzIG9mIHRoaW5ncyBpbg0KPiA+IGFuIE9yZyBidWZmZXIvZmls ZS4gIFlvdSBjYW4gdGFnIHRoZW0sIGxpbmsgdGhlbSwgYW5ub3RhdGUgdGhlbSwgYW5kDQo+ID4g YWN0IG9uIHRoZW0gaW4gYW55IG51bWJlciBvZiB3YXlzLiAgQSBiaWcgZGlmZmVyZW5jZSBoZXJl IGlzIHRoYXQNCj4gPiB0aGUgaW5mby9kYXRhIG9mIHRoZSB0aGluZ3MsIGFuZCB0aGUgdGFncyBh bmQgbGlua3MgYW5kDQo+ID4gYW5ub3RhdGlvbnMuLi4gYXJlIGluIHRoZSBPcmcgZmlsZSwgYWxv bmcgd2l0aCB0aGUgb3RoZXIgdGhpbmdzIGFuZA0KPiA+IGFueSAibWFpbiIgdGV4dC4NCj4gDQo+ IE9rLCB0aGF0IGdpdmVzIG1lIGlkZWEgdGhhdCB5b3VyIGJvb2ttYXJrKyBib29rbWFya3MgY2Fu IGFsc28gYmUNCj4gdGFza3MsIG5vdGVzLCByaWdodD8NCg0KRHVubm8gd2hhdCB5b3UgaGF2ZSBp biBtaW5kLiAgTWF5YmUuICBBIGJvb2ttYXJrDQppcyBqdXN0IGEgcGVyc2lzdGVkIGJpdCBvZiB0 ZXh0IChjb2RlKSB0aGF0IHlvdQ0KY2FuIHVzZSB0byBkbyBzb21ldGhpbmcuICBJdCBjYW4gZG8g YW55dGhpbmcgeW91DQpsaWtlLiAgQXMgSSBzYWlkLCBpdCdzIGVzc2VudGlhbGx5IGEgbmFtZWQs DQpwZXJzaXN0ZW50IChkb2Vzbid0IGhhdmUgdG8gYmUsIGJ1dCBjYW4gYmUpLA0KY2xvc3VyZS4g IFdoYXQgeW91IGRlZmluZSBpdCB0byBiZSwgaXQgaXMuICBXaGF0DQp5b3UgdXNlIGl0IGZvciBp cyB1cCB0byB5b3UuDQoNCj4gVGhlbiBieSB1c2luZyB0YWdzLCBvciBvdGhlciBhc3NvY2lhdGlv bnMsIHlvdSBjb3VsZCByZWNvbnN0cnVjdCB3aG9sZQ0KPiBkb2N1bWVudCwgcmlnaHQ/DQoNCkkg c3VwcG9zZSBzby4gIEkgY2FuJ3QgcmVhbGx5IGhlbHAgd2l0aCB5b3VyDQppbWFnaW5pbmdzLCBh bmQgSSdtIHN1cmUgeW91IGNhbiBpbWFnaW5lIHdoYXQNCnlvdSB3YW50L25lZWQuICBJZiBib29r bWFya3MgaGVscCB5b3UgZ2V0IHdoYXQNCnlvdSBpbWFnaW5lLCBncmVhdC4gIElmIG5vdCwgb3Bl biB0aGUgdG9vbA0KY2hlc3QgYW5kIHRyeSBhbm90aGVyIHRvb2wuDQoNCj4gW0lkZWFzIGFib3V0 IE9yZyBhbmQgTGFUZVguLi5dDQoNCkJvb2ttYXJrcyBhbmQgQm9va21hcmsrIGFyZSBub3QgYSBy ZXBsYWNlbWVudA0KZm9yIE9yZyBtb2RlIG9yIExhVGVYIGV0Yy4gIFRoZXkncmUgYSBiYXNpYw0K dG9vbC4gIElmIHlvdSB3YW50IHRvIGJ1aWxkIGFuIGFsdGVybmF0aXZlIHRvDQpPcmcgb3Igd2hh dGV2ZXIsIG1heWJlIHlvdSBjYW4gbWFrZSB1c2Ugb2YNCmJvb2ttYXJrcyBzb21laG93IHRvIGhl bHAgeW91IGRvIHRoYXQuICBEdW5uby4NCg0KPiBXaXRoIGJvb2ttYXJrcywgb3IgZWxlbWVudGFy eSBvYmplY3RzLCBJIGNvdWxkIHVzZSB0YWdzLCBvciB2YXJpb3VzDQo+IGludGVyc2VjdGlvbnMs IG1hcmsgc29tZSBvYmplY3RzIGFuZCB3aXRoIHNpbmdsZSBrZXkgcHJlc3MgcHJvZHVjZSB0aGUN Cj4gbWl4ZWQtb2JqZWN0IGRvY3VtZW50Lg0KDQpZZXMsIEkgc3VwcG9zZSB5b3UgY291bGQuICBZ b3UnbGwgbmVlZCB0byBkbw0Kc29tZSBjb2RpbmcsIHRvIGdldCB0aGVyZSwgSSBleHBlY3QuDQoN Cj4gPiBUaGUgaW1wbGVtZW50YXRpb24gb2YgYm9va21hcmtzLCBhcyB0ZXh0IGZpbGVzIG9mIExp c3AgY29kZSwgaXMgZmluZQ0KPiA+IGZvciBtYW55IHVzZSBjYXNlcy4gIEl0IGZpdHMgdGhlIHVz ZSBvZiBhbnkgbnVtYmVyIG9mIGJvb2ttYXJrDQo+ID4gZmlsZXMsIGVhY2ggb2Ygd2hpY2ggaXMg bm90IGdpZ2FudGljLg0KPiANCj4gQ291bGQgdGhleSByZWFsbHkgd29yayB3aXRoIDUwMDAwIG9i amVjdHM/IERpZCB5b3UgZXZlciB0ZXN0IHRoZSBzcGVlZA0KPiBvZiBhY2Nlc3NpbmcsIHVzaW5n IHRoZW0/DQoNCk5vLCBJIGhhdmVuJ3QuICBXaGF0IHdvdWxkIGJlIGluIHlvdXIgNTAsMDAwDQpM aXNwIGNvZGVsZXRzPyAgSG93IHdvdWxkIHRoZXkgYmUgcHV0IHRvIHVzZT8NCg0KWW91J3JlIGFz a2luZyB3aGV0aGVyIDUwLDAwMCBzbmlwcGV0cyBvZiBMaXNwDQpjb2RlIGNhbiBiZSB1c2VkLiAg IFcgYSB5ICAgdCBvIG8gICBhYnN0cmFjdC4NCg0KPiA+IEJ1dCB5ZXMsIFNvbWVvbmUgKFRNKSwg c29tZXRpbWUsIHdpbGwgaG9wZWZ1bGx5IGRvIHRoaW5ncyBzdWNoIGFzOg0KPiA+DQo+ID4gMS4g QWxsb3cgKGFsc28pIGZvciBiaW5hcnkgKCJjb21waWxlZCIpIGJvb2ttYXJrDQo+ID4gICAgZm9y bWF0cyAoYW5kIHRodXMgZmlsZXMpLg0KPiANCj4gSXMgdGhhdCBmb3IgcmVhc29ucyBvZiBzcGVl ZD8NCg0KSWYgeW91IGV4cGVjdCBib29rbWFya3MgdG8gYmUgbGFyZ2UgY29kZQ0KYmxvY2tzIG9y IGxhcmdlIGRhdGEgYmxvY2tzLCB0aGVuIG9idmlvdXNseQ0KdGV4dCBpc24ndCB0aGUgbW9zdCBw ZXJmb3JtYW50IG9yIGRpc2stc3BhY2UNCmNvbnNlcnZpbmcuDQoNCkl0J3MgYSBiaXQgbGlrZSBF bGlzcCB2cyBDb21tb24gTGlzcC4gIE1vc3QNCnVzZXMgb2YgRWxpc3AgZG9uJ3QgcmVxdWlyZSBo eXBlcnBlcmZvcm1hbmNlLg0KQ29tbW9uIExpc3AgaXMgYSBtdWNoIG1vcmUgZ2VuZXJhbCBwcm9n cmFtbWluZw0KbGFuZ3VhZ2UsIGFuZCBpdCdzIGltcG9ydGFudCAoZm9yIHNvbWUgYXBwcykNCnRo YXQgaXQgYmUgYXMgcGVyZm9ybWFudCBhcyBGb3J0cmFuIG9yIEMgKG9yDQpiZXR0ZXIpLg0KDQpO b3Qgc28gKHNvIGZhciksIGZvciBtb3N0IEVsaXNwIHVzZXMuICBTYW1lDQp0aGluZyBmb3IgbW9z dCBib29rbWFyayB1c2VzLiAgSWYgeW91IHdhbnQgdG8NCnB1c2ggdGhlIGVudmVsb3BlIHRoZW4g eW91IG1pZ2h0IHdhbnQgYmluYXJ5DQpib29rbWFyayBkYXRhLiAgQm9va21hcmsrIGRvZXNuJ3Qg aGF2ZS9zdXBwb3J0DQp0aGF0IG5vdy4gIEFuZCBJIGRvdWJ0IHRoYXQgSSwgYXQgbGVhc3QsIHdp bGwNCmV2ZXIgZ2V0IGFyb3VuZCB0byBhZGRpbmcgdGhhdC4gIEJ1dCBzdXJlLCBpdA0Kd291bGQg YmUgYSBnb29kIHRoaW5nIHRvIGhhdmUgLSB3aHkgbm90Pw0KDQo+IEkgYXNrZWQgeW91IGlmIHRo YXQgZm9sbG93aW5nIGlzIGFsc28gcG9zc2libGUgd2l0aCBCb29rbWFya3MgUGx1czoNCj4gLSBj cmVhdGUgYm9va21hcmssIGxldCB1cyBzYXkgIkFCQyINCj4gLSBlZGl0IEFCQyBhcyB0ZXh0LCBy ZXByZXNlbnRpbmcgbm90ZSwgdGFzaw0KPiANCj4gSSB1bmRlcnN0YW5kIHRoYXQgaXQgY2FuIGJl IGRvbmUgcHJvZ3JhbW1hdGljYWxseSBpbiBmdXR1cmUsIGJ1dCBpcyBpdA0KPiBhbHJlYWR5IHRo ZXJlIG1heWJlPyBJIGtub3cgYW5ub3RhdGlvbnMgYXJlIHRoZXJlLCBzbyBpbiB0aGUgc2Vuc2Ug aXQNCj4gaXMgdmVyeSBzaW1pbGFyIHRvIG15IHVzZSBjYXNlcy4NCg0KRGlkbid0IGtub3cgdGhh dCB5b3UgYXNrZWQgbWUgdGhhdC4NCg0KWW91IGNhbiBlZGl0IHRoZSBzb3VyY2UgY29kZSBvZiBh bnkgYm9va21hcmssDQp5ZXMuICBUaGUgRWRpdCBzdWJtZW51IG9mIG1lbnUgQm9va21hcmsrIGhh cw0KdGhlc2UgaXRlbXMgZm9yIHRoYXQ6DQoNCiBFZGl0IEZ1bGwgUmVjb3JkIChMaXNwKSAgICAg ICAgICAgIC0gYm91bmQgdG8gYGUnDQogRWRpdCBGdWxsIFJlY29yZHMgb2YgTWFya2VkIChMaXNw KSAtIGJvdW5kIHRvIGBFJyAgICAgICANCg0KKFlvdSBjYW4gYWxzbyBkbyB0aGUgc2FtZSBmb3Ig anVzdCBib29rbWFyaw0KYW5ub3RhdGlvbnMuKQ0KDQo+IEkgY2Fubm90IGZpbmQgW2Z1bmN0aW9u IGBibWtwLXR5cGVzLWFsaXN0JyB1c2luZyBgZ3JlcCddDQo+IFdoZW4gSSBsb2FkICJib29rbWFy aysiIEkgY2Fubm90IGZpbmQgdGhhdCBmdW5jdGlvbi4NCj4gRGVidWdnZXIgZW50ZXJlZC0tTGlz cCBlcnJvcjogKHZvaWQtZnVuY3Rpb24gYm1rcC10eXBlcy1hbGlzdCkNCj4gSSBjYW5ub3QgZmlu ZCB0aGUgZnVuY3Rpb24uDQoNCkl0J3MgYmVlbiBpbiBCb29rbWFyaysgc2luY2UgMjAyMS8wMy8w NC4gIEl0J3MgaW4NCmZpbGUgYm9va21hcmsrLTEuZWwuICBUaGUgbGF0ZXN0IHB1Ymxpc2hlZCB2 ZXJzaW9uDQpvZiB0aGUgZmlsZSBpcyB0aGlzIC0gbWF5YmUgeW91IG5lZWQgdG8gdXBkYXRlPw0K DQo7OyBMYXN0LVVwZGF0ZWQ6IFdlZCBTZXAgIDcgMTU6NTA6MDkgMjAyMiAoLTA3MDApDQo7OyAg ICAgICAgICAgQnk6IGRyYWRhbXMNCjs7ICAgICBVcGRhdGUgIzogOTQ4OA0KDQpIVEguDQo=