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.bugs Subject: bug#59937: 28.2; Bad defcustom behavior Date: Wed, 14 Dec 2022 01:51:48 +0000 Message-ID: References: <533dba58-e543-f356-664f-5dfa0b85467c@gmail.com> 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="9506"; mail-complaints-to="usenet@ciao.gmane.io" Cc: "59937@debbugs.gnu.org" <59937@debbugs.gnu.org> To: Mauro Aranda Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Wed Dec 14 02:52:21 2022 Return-path: Envelope-to: geb-bug-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 1p5GwW-0002EY-On for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 14 Dec 2022 02:52:21 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1p5GwH-0001Ok-KP; Tue, 13 Dec 2022 20:52:05 -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 1p5GwF-0001OE-7p for bug-gnu-emacs@gnu.org; Tue, 13 Dec 2022 20:52:03 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1p5GwE-0005gC-K6 for bug-gnu-emacs@gnu.org; Tue, 13 Dec 2022 20:52:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1p5GwD-0008UE-UD for bug-gnu-emacs@gnu.org; Tue, 13 Dec 2022 20:52:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 14 Dec 2022 01:52:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 59937 X-GNU-PR-Package: emacs Original-Received: via spool by 59937-submit@debbugs.gnu.org id=B59937.167098271632615 (code B ref 59937); Wed, 14 Dec 2022 01:52:01 +0000 Original-Received: (at 59937) by debbugs.gnu.org; 14 Dec 2022 01:51:56 +0000 Original-Received: from localhost ([127.0.0.1]:35857 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5Gw7-0008Tw-0w for submit@debbugs.gnu.org; Tue, 13 Dec 2022 20:51:55 -0500 Original-Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]:60076) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5Gw4-0008Tl-AP for 59937@debbugs.gnu.org; Tue, 13 Dec 2022 20:51:53 -0500 Original-Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 2BDLNnPQ032315; Wed, 14 Dec 2022 01:51:51 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=3CdK/BeEMyu8rZy9Cc33t2hOxsAufnLuOjzpRIdnYm4=; b=2ipIsUIVCmKdw6EG5bPajIF0crY2mSzulvrtsIP7Sdl6cOeMQu+3osic8Q4pVvwKbOos zAKPG4Nnv2ODHU1psbOPT/o+cu8n77f/8ZFUXCDCLSfwDwnDQjqhYJOc5zGX5w76JtZO +8No4AdP2iszZzR/SunR38yD/eUjnU9QNhFksMbXwOTm/JErWsasDaD7t60q4n0XgWos yShwjC9JZsahbqdWAJf+Y91IzUlmTJxZXrEIEv6NKNk6Vwz2CZZ/vgdqzbPR3FDIruWO +/Ps/YHnh2kfjgUVPSebTbVRD5nA3a5oFcVa6UjEbuYZva691ElJ9r9McQYEn9hURXU3 HQ== Original-Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3meyewrrvu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 14 Dec 2022 01:51:51 +0000 Original-Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2BDNfQGq031183; Wed, 14 Dec 2022 01:51:50 GMT Original-Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2174.outbound.protection.outlook.com [104.47.57.174]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3meyet6gen-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 14 Dec 2022 01:51:50 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gD9jpKTTQcVo9OLOEARTWIyYFCi9boGJG6ctqu5FhJPzIrA4s1ExU00+X4gS41wZlWDxL5b4N7KGmwXyYPe0iK+NZZhTybJ8iKWk8Berf/fAp8VCWSXM0tVh7B17O9JlTnNALMDcTre1OK1UGx3A1Q3Ezia6CC0qKv5hO2UAcezSK/eUT8dmurjVzhhv+tzbWMJeSRwRqSZPZ1Ndc272kvxWIYMYAInDgEzfo3wib1e9ICZq6j+lON6ryazNYIA8z6do/QZmO93iR4oPm4jNjsela5EuR3qaxU9/+lRPtWeUaSAvNHP7W2JrHPyGlg+QbBcnNF+qSB9HNuNPgYDExw== 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=3CdK/BeEMyu8rZy9Cc33t2hOxsAufnLuOjzpRIdnYm4=; b=kPFHn1ZoenLgGRnaYqLtylJbjqBjQo+Rb8YnuEzpNldDN0o050556NkB5UoWjCBvsbjeTtR0mNTgpxRxCU/6WwV4QfnB49+gkCARqYmsKxgRz7egdjzx0CQe1NbxH8aSYdtaALJENf5xtPssPJptdLh3Kmia0Exk7OpTe1i9Ixz5yTCzEm0ImnR+k0T7JMqUWVFYr/oU82N0Gywr6ZYuN0gIlhX9OoGgO5HKQu6bQlfakNgy/SDXLk/Akbq4DnIlSHJEK+3gSOSoISJfiBTdBkFCY84KuWKscLpdRKW1VpRrUcyIx2OHF2ZJ1H6NwF/g8mCCJKZMoFTSYMeJJlAUlQ== 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=3CdK/BeEMyu8rZy9Cc33t2hOxsAufnLuOjzpRIdnYm4=; b=cMtWKrtb36uwqMIuadM/YE7QrnhtTmipk3m9dH2g+TeOs9AqS0YmgZsigdqu6p1cBcBlffavjSk+U8tRwfycdUmfmgHPramcNxEpStbT6M27p8QjEsPBQcbZHzNgXfBBepXYoCzresRAXKFYLkRKlaRqgmVTwD++mukK4qDlH5w= Original-Received: from SJ0PR10MB5488.namprd10.prod.outlook.com (2603:10b6:a03:37e::19) by CH3PR10MB6761.namprd10.prod.outlook.com (2603:10b6:610:146::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11; Wed, 14 Dec 2022 01:51:48 +0000 Original-Received: from SJ0PR10MB5488.namprd10.prod.outlook.com ([fe80::176d:3689:aa5b:91b]) by SJ0PR10MB5488.namprd10.prod.outlook.com ([fe80::176d:3689:aa5b:91b%2]) with mapi id 15.20.5880.019; Wed, 14 Dec 2022 01:51:48 +0000 Thread-Topic: [External] : Re: bug#59937: 28.2; Bad defcustom behavior Thread-Index: AQHZD0VBHndTYOhpekykRUUNXr1nL65shutQ In-Reply-To: <533dba58-e543-f356-664f-5dfa0b85467c@gmail.com> Accept-Language: en-US Content-Language: en-US x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SJ0PR10MB5488:EE_|CH3PR10MB6761:EE_ x-ms-office365-filtering-correlation-id: 6a06f805-907e-4867-baa9-08dadd75c32c x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Sd+tm2Yh8G++PgSsui4D3Su9TBT+RUBKvP6w7nOYyuHje9802owa904TmLWfKiIlSOqqgoJeCIu2ZWygwzHF9ZkNJjRB+FwUy4lrFJCy9QJSiv/5ezm1PrXS/+uxP01wd34WUxsP+R5DItR0rdtwhTpCg94UblyVwGNYZPnzrhK6r5wLZanyHHCIRAkTnv0YcJ35EelPWymlZ3bWN+ZGNhJbOTiofSKspcOiGSdwUvqMDA/iVKR3Xv0ChxEEmglrAafk5DO9lwQkSI0UYY7fc1ZWT8m4bMMoY0L9krh0fpJA5PqVu2oSQe2Xz3LbhUiT8qOL4uGmEaUmfRO3AFyF/Iiv3MAwlMojclYI0rL5leBFuMc/bzq3FEM4YUIhqMnsh3QksJ05ArFUxr6vYJ8EdrMtJzV/PCyLyT/XSNkP47p32gBjK/abfetB3yd7jncwWcSfvjX1yiwfFNKyR/Wxo+YlabVIQUiXQBcvQw2MnZudaSKeMwf5VBOp7i98p5K8KNnFtcRRd6u4hb9fvJivBjsEEX3ZJeA4Iu4WJkH0IYIfk65ZBjHofv/g1HBw1sVPQOSU5m1Qdv9vyy3HUZTQWwiAh2IRCyrIpuCl4f/XFu3fs0O2htQd68DjCmVhhKPAgCbs+BSm02v3dOuNlWHjBqWV61xollCZrxiqnFNobdvUtNzny5IrywMa66U0GqAflZcMKPeBNu1Tgyb2ygEDPA== 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:(13230022)(136003)(346002)(376002)(39860400002)(366004)(396003)(451199015)(83380400001)(86362001)(38100700002)(38070700005)(122000001)(2906002)(8936002)(52536014)(30864003)(44832011)(5660300002)(55016003)(41300700001)(478600001)(9686003)(186003)(26005)(7696005)(6506007)(71200400001)(76116006)(66946007)(66556008)(66446008)(66476007)(64756008)(8676002)(4326008)(316002)(6916009)(66899015)(33656002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: qc9hIG+BD3YTXunY1CVm9ySMbPidP1QwHKnkBcQiXhFfNN5CE5n6SV7hOetlr/dKSEPHwLpYZxPtPb0zGK/NYunUYf/zbsdvRfuEfQmjFsxrC2GZXZFx7Z8qqt5yeaqwBCeEaySwJOnuS3TO9oKBThINSuFggb8bi3RMsPIbtbCIsEefhCSsN9ecxwgEfNpT0RkcaNPmRiI7BkRNj7anU8orcdoIpLYVAZKvDhiJkCUyEwXgYuuQQzYQi1SPdlIMItL54arSlzE4bNF1LPE8XKn8kkDBsKDv5SMbqTd09p0KSBzd6vKMznHOMhAWRHvlTlUbOWv+ljo2EHGLxR3KMm1/JAPQxxf+KZt7GXQ5Be26/YxqVnaCsajNhE+R6M4C8ohUwBAoPabzsLW9qWYx3mIAGq1aUByQRy7pgQPZU/E1nExJOQGx0rq7BS7vbK2RiW+nT+kVrDYzzw0k8zb+/b+KxWrrD2sbHcqi8JEcLhppfMMhPM9P8uiBS/LwNxTIZhwKDqvfJhV6bk7FYmfc4pgjaKwbPQqp6PnUzfQ6NZlZz0UnY+WnlSsPAfgrU77WV+IidF1LjsF1QMLzD7wtD77YmYbNEh3VU13PiSwswoch+j7apeiFBjGftRo2HEvnUAb26Y1j8csHnggFF+IyMl7/0UWzXiLIpWKiWct4eXkqUanpbVyynDkgFGE5wHeU/erJuMDk67lFfybXv2quUdXPzE1HIrkl79iSKBXYHNcGsq18CUlpPSQrht n6wcpWCL6DvJ+TSONucw5kWMCF7oNKF9qUzi13eVP0WkROaIubCxlwKAmyP2YO5YziqnwAGpNBl+s5mKcgtWDPwPYrN3dukhzZ 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: 6a06f805-907e-4867-baa9-08dadd75c32c X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Dec 2022 01:51:48.1122 (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: 3C5SLAQnAgTUec6fqmykrWpR5qV4TXuKQ/n9Nx/56UXOf9pa8MukldSEVxg3BpqsqV72wDaqURCZLCJJf9qt1Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR10MB6761 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-12-13_03,2022-12-13_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 mlxscore=0 spamscore=0 mlxlogscore=999 bulkscore=0 phishscore=0 adultscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2212140012 X-Proofpoint-GUID: E-0ncf8r9cA_eery_H14F0HO_BdAVEgx X-Proofpoint-ORIG-GUID: E-0ncf8r9cA_eery_H14F0HO_BdAVEgx X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list 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-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:250905 Archived-At: PiAgPiBIb3cgZG9lcyBzP2hlIGRlZmluZS9wcm92aWRlIGEgZGVmYXVsdCB2YWx1ZSBmb3IgdGhl DQo+ICA+IGByZXN0cmljdGVkLXNleHAnIHdpZGdldD/CoCBJIHNlZSBubyB3YXkgdG8gZG8gdGhh dC4NCj4gDQo+IEl0J3MgdGhlIHZlcnkgZmlyc3Qga2V5d29yZCBtZW50aW9uZWQgdW5kZXIgdGhl IFR5cGUgS2V5d29yZHMgbm9kZSBpbg0KPiB0aGUgRUxpc3AgbWFudWFsLsKgIFVzYWdlIHdvdWxk IGJlIGxpa2UgdGhpczoNCj4gDQo+IChkZWZjdXN0b20gZm9vIG5pbA0KPiAgwqAgIi4uLiINCj4g IMKgIDp0eXBlICcocmVwZWF0IChyZXN0cmljdGVkLXNleHANCj4gIMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgOnZhbHVlIDprZXkNCj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgOnRhZyAiS2V5d29yZCINCj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgOm1hdGNoLWFsdGVybmF0aXZlcyAoa2V5d29yZHApKSkpDQoNClRoYW5rIHlvdSEN Cg0KRm9yIHNvbWUgcmVhc29uLCBJIGRpZG4ndCByZWFsaXplIHRoYXQgOnZhbHVlIHdhcw0KYXZh aWxhYmxlIGZvciBgcmVzdHJpY3RlZC1zZXhwJy4gIEkgZ3Vlc3MgSSBoYWQNCnRoZSBpbXByZXNz aW9uIGl0IHdhcyB1c2FibGUgb25seSB3aXRoIGBjaG9pY2UnLg0KDQooSSBhbHNvIHdvbmRlcmVk IGlmLCBieSAidGhlIHJlc3RyaWN0ZWQtc2V4cCB3aWRnZXQiDQp5b3UgbWF5YmUgc29tZWhvdyBt ZWFudCB0aGUgZGVmaW5pdGlvbiBvZiB0aGUgd2lkZ2V0DQppdHNlbGYsIGkuZS4sIGl0cyBgZGVm aW5lLXdpZGdldCcgZGVmaW5pdGlvbi4pDQoNCj4gID4gQW5kIHRoYXQncyB0aGUgY2FzZSB3aGV0 aGVyIG9yIG5vdCB0aGUgX29wdGlvbidzXyBkZWZhdWx0DQo+ICA+IHZhbHVlIGhhcyBhIHBhcnQg dGhhdCBjb3JyZXNwb25kcyB0byBhIHBsaXN0IGtleS7CoCAoSWYgeWVzLA0KPiAgPiB0aGUgZGVm YXVsdCB2YWx1ZSBtdXN0IG1hdGNoIHRoZSBgcmVzdHJpY3RlZC1zZXhwJywgaWYgbm8sDQo+ICA+ IHlvdSdyZSBwcm9tcHRlZCBmb3IgdGhlIHNleHAgdHlwZSwgc28gaXQga25vd3Mgd2hhdCBraW5k DQo+ICA+IG9mIGZpZWxkIHRvIG1ha2UuKQ0KPiAgPg0KPiAgPiBBbmQgeWVzLCBhIHNpbXBsZSBl eGFtcGxlIHdpdGggYHJlc3RyaWN0ZWQtc2V4cCcgd291bGQNCj4gID4gaGVscCAobWF5YmUgMiBl eGFtcGxlczogYmFkICYgZ29vZCkuDQo+IA0KPiBJJ2xsIHdvcmsgb24gYSBwYXRjaCBzb21lIGRh eSB0aGlzIHdlZWssIHRoZW4uDQoNClRoYW5rIHlvdSBhZ2Fpbi4gIFRoZXJlJ3Mgbm8gaHVycnkg LSBpdCdzIGJlZW4NCnRoZSB3YXkgaXQgaXMgbm93IGZvciBhIGxvbmcgdGltZS4NCg0KPiAgPiBU aGUgcHJvYmxlbSByZWFsbHkgc3RlbXMsIEkgZ3Vlc3MsIGZyb20gdGhlIGZhY3QgdGhhdA0KPiAg PiBgcmVzdHJpY3RlZC1zZXhwJyBjYW4gaW52b2x2ZSBhbnkga2luZHMgb2YgcHJlZGljYXRlcywN Cj4gID4gYW5kIGRlcGVuZGluZyBvbiB3aGF0IHRob3NlIGRvLCB0aGUgVUkgZmllbGQgY2FuIGJl DQo+ICA+IGRpZmZlcmVudC7CoCBQdXQgZGlmZmVyZW50bHksIHRoZSBVSSBmaWVsZCB0YWtlcyBp bnRvDQo+ICA+IGFjY291bnQgdGhlIGByZXN0cmljdGVkLXNleHAnIHByZWRpY2F0ZXMuwqAgQnV0 IHRoZQ0KPiAgPiBwcm9tcHRpbmcgZG9lcyBub3QgdGFrZSB0aGVtIGludG8gYWNjb3VudCENCj4g DQo+IEknZCBzYXkgZG9uJ3QgZm9jdXMgdG9vIG11Y2ggb24gdGhlIHByb21wdC7CoCBJdCByZWFs bHkgc2hvdWxkbid0IGJlDQo+IHRoZXJlLCBhbmQgSSBjb25zaWRlciBpdCBhIGJ1ZyBpbiB0aGUg V2lkZ2V0IGNvZGUsIGJ1dCBpdCdzIHJlYWxseSBhbg0KPiBpbXBsZW1lbnRhdGlvbiBkZXRhaWwu wqAgV2l0aG91dCBnb2luZyBpbnRvIGEgbG90IG9mIGRldGFpbHMsIHdlIHdhbnQgdG8NCj4gUkVB RCBhIHN0cmluZyBsaWtlIHRoaXM6IChyZWFkIHZhcikgd2hlcmUgVkFSIGlzIGEgc3RyaW5nLCB0 aGUNCj4gcmVwcmVzZW50YXRpb24gb2YgdGhlIHZhbHVlIG9mIHRoZSB3aWRnZXQsIHdoYXRldmVy IHRoYXQgaXMsIGJ1dCBiZWNhdXNlDQo+IHRoZSB3aWRnZXQncyB2YWx1ZSBkaWRuJ3QgbWF0Y2gs IGl0IGlzIG5vdCBhIHN0cmluZyB0aGF0IHdlIHJlYWQgYW5kIFZBUg0KPiBpcyBuaWwgKE5vdGU6 IG5vdCAibmlsIiwgYnV0IG5pbCksIHNvIHdlIGVuZCB1cCBjYWxsaW5nIChyZWFkIG5pbCkgYW5k DQo+IHRoYXQncyB0aGUgdW5pbnRlbmRlZCBwcm9tcHQuDQoNClRvIG1lIChzbyBmYXIpOg0KDQpJ J2Qgc2F5IGRvbid0IGZvY3VzIHRvbyBtdWNoIG9uIGhvdyB0aGUgdmFsdWUgaXMNCmN1cnJlbnRs eSByZWFkICh3aGV0aGVyIHRoZSBjb2RlIGdpdmVzIG5pbCBldGMuKSA7LSkuDQoNCmRlZmN1c3Rv bSBkZWZpbmVycyBfd2lsbF8gc29tZXRpbWVzIChtYXliZSB1c3VhbGx5KQ0Kbm90IHVzZSA6dmFs dWUgZm9yIGEgYHJlc3RyaWN0ZWQtc2V4cCcuICBXaXRob3V0DQpwcm9tcHRpbmcgKHJlZ2FyZGxl c3Mgb2YgaG93IGl0cyByZWFkLCB0aG91Z2ggaXQNCnNob3VsZCBiZSByZWFkIGluIGEgZ29vZCB3 YXkpLCBDdXN0b21pemUgYXBwYXJlbnRseQ0KY2FuJ3QgY3JlYXRlIHRoZSAoc3ViKXdpZGdldCB0 aGF0IGNvcnJlc3BvbmRzIHRvDQp0aGUgYHJlc3RyaWN0ZWQtc2V4cCcuICBTbyBJIHRoaW5rIHRo ZSB1c2VyIG5lZWRzDQp0byBiZSBwcm9tcHRlZCAtIG5vIHdheSBhcm91bmQgdGhhdCwgbm8/DQoN CkFuZCBpbiB0aGUgY2FzZSB3aGVyZSB3ZSBuZWVkIHRvIHByb21wdCwgd2h5IG5vdA0KcmVhZCB0 YWtpbmcgdGhlIHByZWRpY2F0ZXMgaW50byBhY2NvdW50PyAgSU9XLCB3aHkNCnNob3VsZG4ndCB3 ZSBkbyB0aGUgc2FtZSB0aGluZyB3ZSBkbyB3aGVuIHlvdSBlbnRlcg0KdGV4dCBpbiB0aGUgZWRp dGFibGUgZmllbGQ6IHJlcXVpcmUgdGhlIHByZWRpY2F0ZXMNCnRvIGJlIHNhdGlzZmllZD8NCg0K SSByZXBlYXQgdGhhdCBxdWVzdGlvbiwgYXMgeW91IGRpZG4ndCBzcGVhayB0byBpdC4NCklmIHdl IG5lZWQgdG8gcHJvbXB0LCBhbmQgd2Ugd2FudCB0byBnZXQgcmVhc29uYWJsZQ0KaW5wdXQgYXQg dGhlIHByb21wdCwgd2h5IG5vdCBhcHBseSB0aGUgcHJlZGljYXRlcw0KdGhhdCB3ZSBrbm93IHRo ZSB2YWx1ZSBtdXN0IHNhdGlzZnk/ICBXaHkgaW5zdGVhZA0KbGV0IGEgdXNlciBlbnRlciBhbnkg b2xkIHN0cmluZywgcHJvdmlkaW5nIGludmFsaWQNCmlucHV0Pw0KDQo+ICA+IE15IHRob3VnaHRz IGFib3V0IHRoaXMgLSBsZXQgbWUga25vdyB3aGF0IHlvdSB0aGluazoNCj4gID4NCj4gID4gMS4g VGhlIHdhcm5pbmcocykgYXJlIG5vdCB2ZXJ5IGhlbHBmdWwuwqAgVGhleSB3aWxsDQo+ICA+IG1h aW5seSBjb25mdXNlLCBJIHRoaW5rLg0KPiAgPg0KPiAgPiBGaXJzdCwgZW5kIHVzZXJzIF93aWxs XyBzZWUgdGhlbSwgYXMgdGhlIGRlZmN1c3RvbQ0KPiAgPiBhdXRob3IgbWF5IG5vdCBoYXZlIHRl c3RlZCBldmVyeSBwb3NzaWJpbGl0eSB3ZWxsLg0KPiAgPg0KPiAgPiBTZWNvbmQsIG1hbnkgZGVm Y3VzdG9tIGF1dGhvcnMgYWxzbyB3b24ndCB1bmRlcnN0YW5kDQo+ICA+IHRoZW0uDQo+IA0KPiBJ IGRvbid0IGtub3cgaWYgeW91J3JlIHN1Z2dlc3RpbmcgdG8gaW1wcm92ZSBpdCBvciB0byBnZXQg cmlkIG9mIGl0Lg0KPiBJJ2QgbGlrZSB0byBtYWtlIGl0IG1vcmUgaGVscGZ1bCwgYXMgSSB0aGlu ayBpdCBzaG91bGQgYmUgdGhlcmUuDQoNCkkgdGhpbmsgaXQncyBqdXN0IGEgbGlhYmlsaXR5IGFu ZCBzaG91bGQgYmUgcmVtb3ZlZC4NCkJ1dCBjbGVhcmx5IHlvdSB1bmRlcnN0YW5kIGFsbCBvZiB0 aGlzIG11Y2ggYmV0dGVyDQp0aGFuIEkuDQoNCk15IG92ZXJhbGwgZmVlbGluZyBpczoNCg0KMS4g V2Ugc2hvdWxkIG5ldmVyIG5lZWQgdG8gcG9pbnQgb3V0IHRoYXQgdGhlcmUncw0Kc3VjaCBhIHBy b2JsZW0gKEkgdGhpbmsgYWNjZXB0aW5nIG9ubHkgdmFsaWQgaW5wdXQNCmF0IGEgcHJvbXB0IHNo b3VsZCBvYnZpYXRlIHRoZSBwcm9ibGVtKS4NCg0KMi4gV2FybmluZ3MgYXJlIGluIGdlbmVyYWwg bm90IGEgZ29vZCBpZGVhLiAgUXVpdGUNCmRpZmZlcmVudCBmcm9tIG1lc3NhZ2VzIChlY2hvIGFy ZWEpIGFuZCBlcnJvcnMuDQooSnVzdCBhIHBlcnNvbmFsIG9waW5pb24sIG5vIGRvdWJ0LikNCg0K My4gSWYgd2UgY2FuJ3QgYXZvaWQgdGhlIHByb2JsZW0gKHNlZSAjMSkgdGhlbiBlbmQNCnVzZXJz IHdpbGwgc2VlIHRoZSB3YXJuaW5ncywgYW5kIHRoYXQgd2lsbCBvbmx5DQpjb25mdXNlIHRoZW0u ICBUaGUgd2FybmluZ3Mgd2lsbCBjb25mdXNlIGRlZmN1c3RvbQ0KZGVmaW5lcnMgYXMgd2VsbCwg bm8gbWF0dGVyIGhvdyB3ZWxsIHRoZXkncmUgd29yZGVkLg0KDQo+ICA+IDIuIEkgdGhpbmsgYSBi aWcgaW1wcm92ZW1lbnQgY291bGQgYmUgdG8gbWFrZSB1c2Ugb2YNCj4gID4gYW55IDp0YWcgdGhh dCB0aGUgZGVmY3VzdG9tIGF1dGhvciBwcm92aWRlcyBmb3IgdGhlDQo+ICA+IGByZXN0cmljdGVk LXNleHAnIGZpZWxkIC0gdXNpbmcgdGhlIDp0YWcgYWxzbyBhcyB0aGUNCj4gID4gcHJvbXB0LCBp bnN0ZWFkIG9mICJMaXNwIGV4cHJlc3Npb246ICIuwqAgV2hlbiB5b3Ugc2VlDQo+ICA+IHRoYXQg Z2VuZXJpYyBwcm9tcHQgeW91IGhhdmUgX25vIGNsdWVfIHdoYXQgaXQgd2FudHMsDQo+ICA+IG9y IHdoeS7CoCBUaGUgOnRhZyBzaG91bGQgdGVsbCB5b3Ugd2hhdCB0byBlbnRlci4NCj4gDQo+IEkg ZG9uJ3QgdGhpbmsgdGhhdCdzIGFuIGltcHJvdmVtZW50IGJlY2F1c2Ugb2Ygd2hhdCBJIHNhaWQg YWJvdmUuIE5vDQo+IHByb21wdCBzaG91bGQgYmUgdGhlcmUgZm9yIHN0YXJ0ZXJzLsKgIEF0IGxl YXN0IHRoYXQncyB3aGF0IEkgdW5kZXJzdGFuZA0KPiBhYm91dCB0aGUgY29kZS4NCg0KSSBkb24n dCB0aGluayB5b3UndmUgc2FpZCB3aHkvaG93IHlvdSB0aGluaw0KdGhlcmUncyBubyBuZWVkIGZv ciBwcm9tcHRpbmcuICBJcyB0aGlzIGFib3V0DQp0aGUgcmV0dXJuaW5nLW5pbC1pbnN0ZWFkLW9m LWEtc3RyaW5nIHRoaW5nPw0KSWYgc28sIHN1cmUsIGlmIHlvdSBjYW4gcmVtb3ZlIHRoZSBuZWVk IHRvDQpwcm9tcHQgYWx0b2dldGhlciwgZ3JlYXQuDQoNCk15IHVuZGVyc3RhbmRpbmcgYWJvdXQg d2h5L3doZW4gdGhlIHByb21wdCBpcw0KbmVlZGVkIGlzIHN0YXRlZCBhYm92ZS4gIFdoYXQgZG8g eW91IGRvIGlmIG5vDQo6dmFsdWUgaXMgcHJvdmlkZWQgZm9yIHRoZSBgcmVzdHJpY3RlZC1zZXhw Jw0KYW5kIHRoZSBkZWZhdWx0IG9wdGlvbiB2YWx1ZSBkb2Vzbid0IGZpbGwgaW4NCmEgZGVmYXVs dCBmb3IgdGhhdCBmaWVsZCBlaXRoZXI/DQoNCk1heWJlIHlvdSdyZSBzYXlpbmcgdGhhdCB5b3Ug Y2FuIGZpeCB0aGUgY29kZQ0Kc28gaXQgY3JlYXRlcyB0aGUgcmlnaHQga2luZCBvZiBlZGl0YWJs ZSBmaWVsZCwNCmJhc2VkIG9ubHkgb24gdGhlIGByZXN0cmljdGVkLXNleHAnIHByZWRpY2F0ZXMs DQppLmUuLCB3aXRob3V0IG5lZWRpbmcgYW55IGRlZmF1bHQgdmFsdWUgZm9yDQp0aGF0IGZpZWxk Lg0KDQpJZiBzbywgZ3JlYXQhICBUaGF0J3Mgd2hhdCBJIHdhcyBzYXlpbmcgZnJvbQ0KdGhlIGJl Z2lubmluZzogd2lkLWVkaXQga25vd3MgaG93IHRvIGNyZWF0ZQ0KdGhlIGZpZWxkIFVJLCBzbyB3 aHkgZG9lcyBpdCBuZWVkIGEgZGVmYXVsdA0KdmFsdWUgZm9yIHRoZSBmaWVsZCB0byBkbyBzbz8g IE9mIHdoYXQgKHJlYWwpDQp1c2UgaXMgdGhlIGRlZmF1bHQgdmFsdWU/DQoNCj4gTm90ZSB0aGF0 IGluIEJ1ZyMyNTE1MiB5b3UgZW5kZWQgdXAgd2l0aCBhIHdlaXJkIGJ1ZmZlciBzdGF0ZSBhZnRl cg0KPiBoaXR0aW5nIEMtZyBhdCB0aGF0IHByb21wdC7CoCBUaGF0J3MgYmVjYXVzZSB0aGUgV2lk Z2V0IGxpYnJhcnkgaXMgbm90DQo+IHJlYWR5IHRvIHRha2UgdXNlciBpbnB1dCBhdCB0aGF0IG1v bWVudC4NCg0KSSdtIG5vdCBzdXJlIHdoYXQgdGhhdCdzIGFib3V0LCBlLmcuIHdoZXRoZXINCml0 J3Mgc29tZXRoaW5nIGVsc2Ugb3IgcmVsYXRlZCB0byB0aGUgc2FtZQ0KcHJvYmxlbSB3ZSd2ZSBi ZWVuIHRhbGtpbmcgYWJvdXQgaGVyZS4gIElzDQp0aGF0IGFib3V0IHRoZSBmYWN0IHRoYXQgaWYg eW91IGZhbGwgaW50byB0aGUNCnByb2JsZW0gKGUuZy4sIHlvdSBnZXQgdGhlIHdhcm5pbmdzKSB0 aGVuIHRoZQ0KVUkga2VlcHMgYWRkaW5nIGFub3RoZXIgSU5TIERFTCBwYWlyPw0KDQo+ICA+IDMu IERvbid0IHNob3cgYW55IHdhcm5pbmcgd2hlbiBwcm9tcHRpbmcuwqAgSnVzdCB0cnkNCj4gID4g dG8gaGF2ZSB0aGUgaW5wdXR0aW5nIGl0c2VsZiBiZSBjbGVhcmVyICgjMikuDQo+IA0KPiBCZWNh dXNlIG9mIG15IHJlc3BvbnNlLCBJIGRvbid0IHRoaW5rICMzIGFwcGxpZXMuwqAgSSBob3BlIHlv dSBhZ3JlZSB3aXRoDQo+IG1lIGFmdGVyIHJlYWRpbmcgbXkgcmVzcG9uc2UuDQoNClNlZSBhYm92 ZS4gIENsZWFybHkgSSBzdGlsbCBkb24ndCB1bmRlcnN0YW5kDQp0aGlzIHdlbGwuICBJZiB5b3Ug dW5kZXJzdGFuZCB3aGF0IEknbSBzYXlpbmcsDQp0aGVuIHRoYXQncyBlbm91Z2guICBJIHRydXN0 IHlvdXIganVkZ21lbnQNCihhbmQgeW91ciBrbm93bGVkZ2Ugb2YgdGhlIHByb2JsZW0pLg0KDQpG cm9tIG15IHBvaW50IG9mIHZpZXcsIG5laXRoZXIgdXNlcnMgbm9yDQpkZWZjdXN0b20gZGVmaW5l cnMgc2hvdWxkIGJlIGJvdGhlcmVkIHdpdGgNCndhcm5pbmdzIG5vciBpbmNvbXByZWhlbnNpYmxl IHByb21wdHMgKG5vcg0KYW55IHByb21wdHMgYXQgYWxsLCBpZiBFbWFjcyBjYW4gZG8gd2l0aG91 dA0KdGhlbSkuDQoNCkFuZCBkZWZpbmVycyBpZGVhbGx5IHNob3VsZG4ndCBuZWVkIHRvIHNwZWNp ZnkNCmRlZmF1bHQgdmFsdWVzIGZvciBzdWNoIGZpZWxkcyAtIHRoZSBzZXQgb2YNCnByZWRpY2F0 ZXMgc2hvdWxkIGJlIGFibGUgdG8gZGVmaW5lIHdoYXQga2luZA0Kb2YgVUkgZmllbGQgaXMgbmVl ZGVkLg0KDQo+ICA+IFdpdGggdGhvc2UgY2hhbmdlcywgdGhlIG1hbnVhbCBjb3VsZCBhbHNvIGJl IGltcHJvdmVkOg0KPiAgPg0KPiAgPiAoMSkgVGVsbCBkZWZjdXN0b20gZGVmaW5lcnMgdGhhdCBp ZiB0aGV5IHVzZQ0KPiAgPiBgcmVzdHJpY3RlZC1zZXhwJyB0aGVuIGdvb2QgcHJhY3RpY2UgaXMg dG8gcHJvdmlkZSBhDQo+ICA+IDp0YWcgZm9yIHRoZSBmaWVsZC7CoCBBbmQgdGVsbCB0aGVtIHRo YXQgdGhlIDp0YWcgd2lsbA0KPiAgPiBhbHNvIGJlIHVzZWQgYXMgYSBwcm9tcHQgZm9yIGNyZWF0 aW5nIHRoZSBhcHByb3ByaWF0ZQ0KPiAgPiBlZGl0YWJsZSBmaWVsZC4NCj4gDQo+IEhlcmUgYWdh aW4sIEkgZG9uJ3QgdGhpbmsgdGhpcyBpcyB0aGUgcGF0aCB3ZSB3YW50IHRvIGZvbGxvdy7CoCBB bmQgdGhlDQo+IG1hbnVhbCBhbHJlYWR5IGVtcGhhc2l6ZXMgdGhhdCBwcm92aWRpbmcgYSB2YWxp ZCBkZWZhdWx0IHZhbHVlIGlzDQo+IGVzc2VudGlhbCwgd2hlbiBuaWwgaXNuJ3QgaXQuDQoNCldo eSBpcyBhIGRlZmF1bHQgdmFsdWUgZXNzZW50aWFsPyAgV2h5IGNhbid0IHRoZQ0KcmlnaHQgZWRp dGFibGUgZmllbGQgKFVJKSBiZSBjcmVhdGVkIGJhc2VkIG9uDQp0aGUgYHJlc3RyaWN0aXZlLXNl eHAnIGRlZmluaXRpb24sIGkuZS4sIGl0cw0KcHJlZGljYXRlcz8gIFdoeSBpcyBhIGRlZmF1bHQg dmFsdWUgbmVlZGVkPw0KDQpJIGNyZWF0ZSBhbiBvcHRpb24gdXNpbmcgOnZhbHVlLCBhcyB5b3Ug c3VnZ2VzdGVkOg0KDQooZGVmY3VzdG9tIG15dmFyICgpDQogICIuLi4iDQogIDpncm91cCAnZW1h Y3MNCiAgOnR5cGUgJyhhbGlzdCA6a2V5LXR5cGUgKHN0cmluZyA6dGFnICJBbGlzdCBrZXkgKHN0 cmluZyk6IikNCgkgICAgICAgIDp2YWx1ZS10eXBlDQoJCShwbGlzdCA6a2V5LXR5cGUNCiAgICAg ICAgICAgICAgICAgICAgICAgKHJlc3RyaWN0ZWQtc2V4cCA6bWF0Y2gtYWx0ZXJuYXRpdmVzIChr ZXl3b3JkcCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6dGFnICJQ bGlzdCBrZXkgKGtleXdvcmQpIg0KCQkJCQk6dmFsdWUgOngpIDsgPD09PT09PT09PT09PT09DQog ICAgICAgICAgICAgICAgICAgICAgIDpvcHRpb25zICg6eCA6eSA6eikNCiAgICAgICAgICAgICAg ICAgICAgICAgOnZhbHVlLXR5cGUgKHJlcGVhdCBzdHJpbmcpKSkpDQoNCkkgY2xpY2sgSU5TIHRv IGdldCB0aGUgZmllbGRzIGZvciB0aGUgYWxpc3Qga2V5DQphbmQgdGhlIG9wdGlvbnMgKGNoZWNr Ym94ZXMpLg0KDQpJIGNsaWNrIHRoZSBJTlMgKGFmdGVyIHRoZSBjaGVja2JveGVzKSwgdG8gZ2V0 DQp0aGUgZmllbGRzIGZvciB0aGUgcGxpc3Q6DQoNCklOUyBERUwgOg0KICAgICAgICAgIFBsaXN0 IGtleSAoa2V5d29yZCk6IDp4DQogICAgICAgICAgUmVwZWF0Og0KICAgICAgICAgIElOUw0KDQpO b3cgc3VwcG9zZSBJIF9yZW1vdmVfIHRoYXQgOnggaW4gdGhlIGVkaXRhYmxlDQpmaWVsZC4gIFRo YXQncyB0aGUgc3RhdGUgSSdkIGxpa2UgdG8gZ2V0IHdpdGhvdXQNCmhhdmluZyB0byBzcGVjaWZ5 IDp2YWx1ZS4gIElzIGl0IGRvYWJsZT8NCg0KQWxsIGZpZWxkcyBhcmUgcHJlc2VudCAoZm9yIG9u ZSBhbGlzdCBlbnRyeSB3aXRoDQpvbmUgcGxpc3QgZW50cnkpLiAgTm9uZSBvZiB0aGVtIGFyZSBm aWxsZWQgaW4NCihiZXlvbmQgdGhlIGluaXRpYXRpdmUgb2Ygc3RhcnRpbmcgdG8gY3JlYXRlIGFu DQphbGlzdCBlbnRyeSBhbmQgYSBwbGlzdCBlbnRyeSkuDQoNCkkgZG9uJ3QgdGhpbmsgYW55IGRl ZmF1bHQgdmFsdWVzIHdlcmUgcmVhbGx5DQpuZWVkZWQgdG8gZ2V0IHRoZXJlIC0gb3IgYXQgbGVh c3Qgbm9uZSBzaG91bGQgYmUNCm5lZWRlZCwgSSdtIGd1ZXNzaW5nLg0KDQpJIHRoaW5rIHdlIGFn cmVlIHRoYXQgQ3VzdG9taXplIGNhbid0IGRvIHRoYXQNCnRvZGF5OiBpdCBjYW4ndCBidWlsZCB0 aGUgVUkgZm9yIGEgZmllbGQgdW5sZXNzDQppdCBrbm93cyB3aGF0IGl0cyBkZWZhdWx0IHZhbHVl IGlzLiAgKENvcnJlY3Q/KQ0KDQpCdXQgaXMgdGhhdCBhIG5lY2Vzc2FyeSAobG9naWNhbCkgcmVz dHJpY3Rpb24/DQpEb2VzIHRoZSBkZWZhdWx0IHZhbHVlIGFjdHVhbGx5IGhlbHAgd2l0aCB0aGUN CmRlZmluaXRpb24gb2YgdGhlIGtpbmQgb2YgZmllbGQgbmVlZGVkPw0KDQpJIGRvbid0IGdldCB0 aGF0LiAgSSdkIHRoaW5rIHRoYXQgYWxsIHRoYXQncw0KbmVlZGVkIHRvIGRlZmluZSB0aGUgcGxp c3Qga2V5IGZpZWxkIGlzIHRoZSBzZXQNCm9mIHByZWRpY2F0ZXMgaW4gdGhlIGByZXN0cmljdGVk LXNleHAnLiAgT2Ygd2hhdA0KdXNlL25lZWQgaXMgdGhlIGRlZmF1bHQgdmFsdWUsIGZvciBjcmVh dGluZyB0aGF0DQpVSSBmaWVsZD8NCg0KU29ycnkgdGhpcyBpcyB0YWtpbmcgc28gbXVjaCBvZiB5 b3VyIHRpbWUuICBJZg0KeW91IGZlZWwgeW91IHVuZGVyc3RhbmQgd2hhdCBJJ20gbWlzc2luZywg YW5kDQppdCBkb2Vzbid0IG1hdHRlciwgcGxlYXNlIGp1c3QgZG8gd2hhdGV2ZXIgeW91DQp0aGlu ayBpcyByaWdodC4gIEkgZG8gaG9wZSB0aGF0IHdlIGNhbiBzb21laG93DQpkbyBhd2F5IHdpdGgg dGhlIHdhcm5pbmdzIC0gYW5kIHRoZSBwcm9tcHQgYXMNCndlbGwsIGlmIHBvc3NpYmxlLg0KDQo+ ICA+ICgyKSBFeHBsYWluIHRoYXQgc3VjaCBwcm9tcHRpbmcgaGFwcGVucyB3aGVuZXZlciB0aGUN Cj4gID4gZGVmYXVsdCB2YWx1ZSBvZiB0aGUgb3B0aW9uIGRvZXNuJ3QgcHJvdmlkZSBhIHZhbHVl DQo+ICA+IGZvciBlYWNoIG9mIGl0cyBwYXJ0cyB0aGF0IGNvcnJlc3BvbmRzIHRvIHRoZSB1c2Ug b2YNCj4gID4gYSBgcmVzdHJpY3RlZC1zZXhwJy4NCj4gDQo+IEFzIEkgc2FpZCwgSSBjb25zaWRl ciB0aGUgcHJvbXB0IGEgYnVnIGluIHRoZSBXaWRnZXQgY29kZSwgc28gSSBkb24ndA0KPiB0aGlu ayB3ZSBzaG91bGQgbWVudGlvbiBpdCBpbiBkb2NzLg0KDQpPSy4gIFNlZSBhYm92ZSBmb3IgbXkg dW5kZXJzdGFuZGluZy4gIEhvcGVmdWxseQ0KeW91IGNhbiBzZWUgd2hhdCBpdCBpcyB0aGF0IEkn bSBtaXNzaW5nLg0KIA0KPiBXZSdsbCBoYXZlIHRvIGRpc2FncmVlIGhlcmUsIGFib3V0IHR3byB0 aGluZ3MuDQo+IA0KPiAxLsKgIEkgc3RpbGwgdGhpbmsgdGhlcmUncyBhIGJ1ZyBpbiB0aGUgZGVm Y3VzdG9tcy7CoCBBbnkgd2lkZ2V0IG5lZWRzIGENCj4gdmFsaWQgZGVmYXVsdCB2YWx1ZSwgYW5k IGl0J3MgdXAgdG8gdGhlIHBlcnNvbiB0aGF0J3MgZGVmaW5pbmcgdGhlDQo+IHdpZGdldCB0byBw cm92aWRlIGl0LsKgIElmIGhlL3NoZSBkb2Vzbid0LCB0aGVuIHRoYXQncyBhIGJ1Zy4NCg0KSSd2 ZSB1bmRlcnN0b29kIHRoYXQgbm93LiAgSSBkb24ndCB1bmRlcnN0YW5kDQp3aHkgaXQncyB0aGUg Y2FzZSwgaG93ZXZlci4gIFdoYXQncyB0aGUgcmVhc29uDQp3ZSBjYW4ndCBjcmVhdGUgdGhlIHBs aXN0IGZpZWxkIHNob3duIGFib3ZlDQood2hpY2ggcmVxdWlyZXMgdGhlIHBsaXN0IGtleSBmaWVs ZCB2YWx1ZSB0byBiZQ0KYGtleXdvcmRwJykgd2l0aG91dCBwcm92aWRpbmcgYSBkZWZhdWx0IHZh bHVlPw0KDQpPZiB3aGF0IHJlYWwgdXNlIGlzIHRoZSBkZWZhdWx0IHZhbHVlPyAgVGhhdCBJDQpk b24ndCBnZXQuDQoNCj4gSSB0aGluayB5b3UgdW5kZXJzdGFuZCBub3csIA0KDQpJIHRob3VnaHQg SSBkaWQuICBOb3cgSSB0aGluayBJIG11c3Qgbm90LiA7LSkNCg0KPiBidXQgdGhlIHByb21wdCBi ZWluZyB0aGVyZSBpcyByZWFsbHkgY29uZnVzaW5nDQoNCkkgYWdyZWUgd2l0aCB0aGF0LiAgSSBm ZWVsIGRvdWJseSBzbyBhYm91dCB0aGUNCndhcm5pbmdzLCBob3dldmVyLiAgSSBtYWRlIGEgc3Vn Z2VzdGlvbiB0byBoZWxwDQpnZXQgYmV0dGVyIHByb21wdGluZy4gIChCdXQgSSBhZ3JlZSB0aGF0 IGlmIHlvdQ0KY291bGQgZG8gYXdheSB3aXRoIHRoZSBwcm9tcHQgYWx0b2dldGhlciB0aGF0DQp3 b3VsZCBiZSBnb29kLikNCg0KPiAoaXQgd2FzIHRvIG1lIHdoZW4gSSBmaXJzdCByZWFkIHlvdXIg YnVnIHJlcG9ydCBpbg0KPiBCdWcjMjUxNTIpLsKgIEhvcGVmdWxseSBJIGNsYXJpZmllZCBhIGxp dHRsZSBtb3JlIHdpdGggbXkgcmVzcG9uc2UuDQoNClllcyBhbmQgbm8sIEknbSBhZnJhaWQuICBJ IGRvbid0IGdldCB3aHkgYQ0KZGVmYXVsdCBpcyBuZWVkZWQsIHRvIGNvbnN0cnVjdCB0aGUgVUkg ZmllbGQuDQooSSB1bmRlcnN0YW5kIHRoYXQgaXQgX2lzXyBuZWVkZWQ7IEkgZG9uJ3QNCnVuZGVy c3RhbmQgd2h5IHRoYXQgaXMuKQ0KDQpBbmQgSSBkb24ndCB1bmRlcnN0YW5kIHdoeSwgaWYgYSB2 YWx1ZSBpcw0KbmVlZGVkIGFuZCBtaXNzaW5nLCB3ZSB3b3VsZG4ndCBuZWVkIHRvIHByb21wdA0K Zm9yIGl0LiAgSU9XOiBpZiB3ZSBuZWVkIGEgdmFsdWUsIHRoZW4gSSB0aGluaw0Kd2UgbmVlZCB0 byBwcm9tcHQgZm9yIGl0Lg0KDQpJZiB3ZSBkb24ndCBuZWVkIGEgdmFsdWUgdGhlbiBncmVhdCEN Cg0KQnV0IGluIHRoYXQgY2FzZSwgSSB0aGluayB3ZSBzaG91bGRuJ3QgbmVlZCBhbnkNCndhcm5p bmdzIGVpdGhlci4gIEluIHRoYXQgY2FzZSwgd2UnZCBidWlsZCB0aGUNCmZpZWxkIGJhc2VkIG9u IHRoZSBwcmVkaWNhdGVzLCBhbmQgdGhlIGZpZWxkDQppdHNlbGYgd291bGQgLSBhcyBpdCBkb2Vz IG5vdyBhbnl3YXkgLSBhbGxvdw0Kb25seSB2YWxpZCBpbnB1dHMvZWRpdHMuDQoNClRoZSBmaWVs ZCwgYW5kIG9ubHkgdGhlIGZpZWxkLCB3b3VsZCBoYW5kbGUNCmVycm9uZW91cyBpbnB1dCB0byBp dC4gIFRoZSBmaWVsZCB3b3VsZCBiZQ0KZGVmaW5lZCBvbmx5IGJ5IHRoZSBwcmVkaWNhdGVzLiAg KEkgdGhpbmsNCnRoYXQncyB0aGUgY2FzZSBsb2dpY2FsbHkgLSBJIGRvbid0IHNlZSB3aHkNCnRo ZSBkZWZhdWx0IHZhbHVlJ3MgbmVlZGVkLikNCg0KSSdtIGhvcGluZyBteSBtaXN1bmRlcnN0YW5k aW5nIGlzIGNsZWFyIHRvDQp5b3Ugbm93LCBhbmQgeW91IGNhbiBzZXQgbWUgc3RyYWlnaHQuICBJ J20NCnN1cmUgeW91J3JlIHJpZ2h0OyBJIGp1c3QgZG9uJ3QgdW5kZXJzdGFuZCB5ZXQuDQoNCj4g ID4gVGhhbmtzIGZvciB5b3VyIGVmZm9ydHMgd2l0aCB0aGlzLg0KPiANCj4gWW91J3JlIHdlbGNv bWUsIEknbSBoYXBweSB0byBoZWxwLg0KDQpXZSdyZSB2ZXJ5IGx1Y2t5IHdlIGhhdmUgeW91ciBl eHBlcnRpc2UgYW5kDQppbnRlcmVzdCB3aXRoIEN1c3RvbWl6ZS4gIFBlciBBLiB3YXMgdGhlIGV4 cGVydCwNCmJ1dCBoZSdzIG5vIGxvbmdlciBhdmFpbGFibGUgdG8gaGVscC4NCg==