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 18:53:53 +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="35910"; 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 19:55:16 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 1p5WuS-0009BP-92 for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 14 Dec 2022 19:55:16 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1p5WuG-0006Vl-Mj; Wed, 14 Dec 2022 13:55:04 -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 1p5WuE-0006VX-Ky for bug-gnu-emacs@gnu.org; Wed, 14 Dec 2022 13:55:02 -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 1p5WuE-00011k-C6 for bug-gnu-emacs@gnu.org; Wed, 14 Dec 2022 13:55:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1p5WuE-0006Z2-4L for bug-gnu-emacs@gnu.org; Wed, 14 Dec 2022 13:55:02 -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 18:55:02 +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.167104404225202 (code B ref 59937); Wed, 14 Dec 2022 18:55:02 +0000 Original-Received: (at 59937) by debbugs.gnu.org; 14 Dec 2022 18:54:02 +0000 Original-Received: from localhost ([127.0.0.1]:40977 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5WtF-0006YJ-9l for submit@debbugs.gnu.org; Wed, 14 Dec 2022 13:54:02 -0500 Original-Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]:23358) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5WtB-0006YB-VS for 59937@debbugs.gnu.org; Wed, 14 Dec 2022 13:53:59 -0500 Original-Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 2BEHFXaw026505; Wed, 14 Dec 2022 18:53:57 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=pQpC/bAcdgEaZCEeAi5R32n1ZyP1h+IG5p8/mMl3DSI=; b=A3CH4phpwlOj/+02dgNSFYUGEuVhTrUtmewbJQolubcDZFnH1AYL/pjF4zhxfBdCUU+F vd42BtpZOD12dV6mkxNtADtWpx9Jp4Kn/+8HlYFdUJLkXjRin8PmBOKUKO48mRjQ6XVc f6iWxJBG0S2hq4DfIVhMdvvY7NYL9SBdvIRPmfxVtEX6PLS9sG1WoAPAARvP8/zn/G3Y CKG3B6urnpAc3owDb2LhooD9rdcVDdKJq3JFp4aLgoCusUT/u3aLkrhcC2Bc3B4pVV3U G9S5/xZ7fHmVDHY/NzSwRZdU6CNOsTlHN5GhKPiP8MfAnFGribhLfBWbWrjHkdgKlzAI fw== 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 3meyewb2f7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 14 Dec 2022 18:53:56 +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 2BEIrtxm018782; Wed, 14 Dec 2022 18:53:55 GMT Original-Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2169.outbound.protection.outlook.com [104.47.58.169]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3meyeqg73r-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 14 Dec 2022 18:53:55 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fr5hTfFY/NFcoHBVEgjWhynDgOBRaxYcuICbmmRItes5uN3KDj//vGhgN22r5yNSw3VK9I+QV6vjc+90DbrM1l+fCwUily8vT5KW6GSiSHMRxAl6zuB2/AOAv7YmKjD4pUJz6obQJT5Mb5IGMrhXBElOtUKUOOlI9hxL05jDbtLjnSpUGDLeaiVJqdmabvHvFtzxnhM/fsr8FfV1bFIfWw/Vp354AwjLgizvBI2DY9vWPkT2RMd73PjVzJcKulELSyqkYPdPaKBvMAXrwI6wXze0rO42lDVKPu4k7ZxmJAvcgFWC172D/RaCpZ5agpcQRHoP6mTOA1bkjh0Jq1Y7vQ== 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=pQpC/bAcdgEaZCEeAi5R32n1ZyP1h+IG5p8/mMl3DSI=; b=OivR8IAhagrEzQAOn5aU04TCh929WesCQUij48ujO2y4Hb+D+/9pHU0Yexk/8TIvOkh+xYwmUEJKw2kJARIS9polQmyjUsKRcsGwjt9xmJXpiC9ABEvuFNrkITVI34XoYWBseBSKY5nU8mZDx51/JoWE5yqSVDGFd+UIZ6dApMu4Zyi7It35pdmefaQEOqr+I+tzYl8anqGZBIIqTsc8ldvEmMhYfCtLUckXE8GNSQvVO/BfjpoliyCFDly2rPC1DQZfeP6YUeE8PfnC+keaDEyKL/NGa10L3VfDeUfQqKnKoM+8HfPU7pHoSl8i+A3V6c2w8gDt8NUtsHZ1PE+aGA== 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=pQpC/bAcdgEaZCEeAi5R32n1ZyP1h+IG5p8/mMl3DSI=; b=qJs9bNtK7+U/lJ9ZYfQAp8CZJxvX4eq8ZR2NfQanzWE/qkk94wn03Nh9akH08VIZt3v/pgAWm3/M1cWmbQrOlWJQ8k229ljuwA+1eUr4MSBILJElqp50uosa0Y5u4ay5QcKvTpDCmgKVcSRNpVkgzC7kPdt6abZpLG45hBnFRZY= Original-Received: from CO6PR10MB5473.namprd10.prod.outlook.com (2603:10b6:5:355::21) by CY8PR10MB7170.namprd10.prod.outlook.com (2603:10b6:930:74::7) 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 18:53:53 +0000 Original-Received: from CO6PR10MB5473.namprd10.prod.outlook.com ([fe80::59af:ade8:1aa1:3ec0]) by CO6PR10MB5473.namprd10.prod.outlook.com ([fe80::59af:ade8:1aa1:3ec0%7]) with mapi id 15.20.5924.011; Wed, 14 Dec 2022 18:53:53 +0000 Thread-Topic: [External] : Re: bug#59937: 28.2; Bad defcustom behavior Thread-Index: AQHZD7lDHndTYOhpekykRUUNXr1nL65trx1g In-Reply-To: Accept-Language: en-US Content-Language: en-US x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CO6PR10MB5473:EE_|CY8PR10MB7170:EE_ x-ms-office365-filtering-correlation-id: 01e963a2-0010-4596-9754-08dade048bf4 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 68xyMBe5ydS0qIaGIztOxDu6xHqAVPWAQ2vYobCuiQeQmOdAuOmJdVj/FVkf6VEeiPNCQ1hW6hIlAESUzkWVtdE4IKzsyouuDwq4JspoIGcpYqnWdn5bI3Vae2BbmE+X8VjxoFyI//4VZmp0CMwayk4S0oLW9vbgJOEax3YxHY0WWwluAuohsZMmMwzSNwJl4SGvvLkEwE14EQRiyn+mLGfM3KBxFPUmFUTu4nHFVu8Kzqkku/8T2HJYdwm7qqAY5DOfS4fb6KMEN9+YiAzFIBPt+oc11FfTWxxW7ILvFCyVl81TqPXZ/cOGUutezj+cVTYZgRkJRT41dNSOfi58NMFymqKXWKHJa3kzbr65m93+SGFGGTsFCFrFgj9d1hXUSkSvcBKRSo65STDKDJC5dndySVJwwIVBcW9g/5SWwL/5yMaHsoYZGipiJvL5qCP0Eoj2kaygNGxHux0J3X/NhwKdCv9l2rnEPsOk8MqSEdbK/Kbh9VbduuLm9uWTD6QPUXBxpV5Ptc4UkrHHhXMxTw5uFq4C5OVw2oJ9zIVF5d7zeUCoRWeF/6SVx2g5j1ToDurkB6oWYBCXaUpRi9Pi9x2E6XLcefXn0rV43qph0bM3cIHEVOt7ywlqrlY5de4KrHVmUh8Y5n+e00L89+tKurxnb+i0BLUWrigxsFsMe8kdlxV264DPmGzgsuhRpyQfUm3pEXg1+WoRmVTDoGlVVQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CO6PR10MB5473.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(366004)(39860400002)(376002)(346002)(396003)(136003)(451199015)(66899015)(86362001)(55016003)(83380400001)(33656002)(122000001)(38070700005)(38100700002)(44832011)(2906002)(316002)(8936002)(41300700001)(52536014)(76116006)(66946007)(5660300002)(8676002)(64756008)(4326008)(66476007)(66556008)(66446008)(478600001)(9686003)(7696005)(186003)(26005)(6916009)(6506007)(71200400001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: vWtGt6pak47YUhLJr25xod0bUXEyfyTpRP0yJoIyIScYq5o36K1xc2+LsoDzl0vAo+y0pQLIghslSykH3BF9JBN018Ly8HjhwJAfQnAZccI2bxGSwCsTUo7NrdWhqW3dslpuylaJbprzIvHa35BdGGSWyh8NYTfAyyaNHsQkOdrNxZ4rsU+vFGF1Tlc7WRuqG3vwuXBvuycOx6+lo+kNTDdYSXfXbnjDtzTgd70MOELiIr8Yi6g7EFytUIMkz5XilZZ2Bq5RI61dRqZxlKjHUYtE+su3yd1j447oC8ivx8R2TJqmiGM+oX1c3xGIFLFvPwfdkFO+E1OlouM9PanMTeN9UVK3wZZE49FGXkHyfrN+cC9CmNMasLE8tUyZh84woWdMPkw2nATTaO5A4QMNiQ0pdPSUEEu6v9rlydW5NZfeHu75AJEABZ4UNbBNjflwNOiqOAwAWsO0XPjci/o4H9PHKv6ke2Jg+dQeaoobfpikKL58JAocv/SthEzYCU5w/Wk8D5DUJyyLRx1E81XYynvAlkYE8NlAdmXN6giYTNEhv5cGYioFR2LyciOUv4AtD0DNIvv/q/I/yr0Rd3TIaM7kdlPTZppC7QCZsXnfgRDnU9xoO55CvBEzsjDD9PVUbYR16Dc18plxwGFj20XEEKigRuCHf782KSBdGvSGPyrRmJTEyInTpGroFvieQQC0yKGr+xIkGGJtytvkzgx+uV/nBd/AWoMqK9D0GmA+Lu+V4FOl5airOaHfm5 UkneaIXkRKuG0kri/m8rBHBsG1hircazHkNgOz1NaiFND/+SC+fL2feZSEzrUSDYJzG/vsYNp+vuwqvBnKmSSPCLVxUVOdtS/p X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO6PR10MB5473.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 01e963a2-0010-4596-9754-08dade048bf4 X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Dec 2022 18:53:53.5175 (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: ejyQb4DXjKQT2KOQZu5K+9Fd+0gCjjckX1MqwAncMkZS8jKZn3zyoSJh2jAqjDJjTBvSubpcLaTBwdApDgD6fw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR10MB7170 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-14_09,2022-12-14_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 bulkscore=0 mlxscore=0 phishscore=0 malwarescore=0 spamscore=0 mlxlogscore=999 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2212140154 X-Proofpoint-GUID: CEjhtJBJHqmDJdNjc2Bmc4wSsJwYeb1N X-Proofpoint-ORIG-GUID: CEjhtJBJHqmDJdNjc2Bmc4wSsJwYeb1N 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:250986 Archived-At: PiBPaCwgSSB0aGluayBJIHNlZSBhIHdheSBhcm91bmQgdGhhdCBub3cuwqAgSSB0aGluayB0aGUg Zm9sbG93aW5nIHdpbGwNCj4gdGFrZSBjYXJlIG9mOg0KPg0KPiAxLsKgIEJlaW5nIGFibGUgdG8g Y3JlYXRlIHRoZSByZXN0cmljdGVkLXNleHAgKHN1Yil3aWRnZXQgZXZlbiBpZiB0aGUNCj4gZGVm YXVsdCB2YWx1ZSBpc24ndCB2YWxpZC4NCj4gKFdoaWNoIEkgdGhpbmsgaXQncyBvbmUgb2YgeW91 ciBtYWluIHBvaW50cyB0aHJvdWdob3V0IHRoZSBidWcgcmVwb3J0KQ0KPiANCj4gMi7CoCBCZWlu ZyBhYmxlIHRvIGRvIGl0IHdpdGhvdXQgcHJvbXB0aW5nIG9yIHdoYXRzb2V2ZXIuDQo+IChXaGlj aCBpcyBvbmUgb2YgbXkgbWFpbiBwb2ludHMgaW4gdGhpcyBjb252ZXJzYXRpb24pLg0KDQpGYWJ1 bG91cyENCg0KPiBXaGVuIHRoZSByZXN0cmljdGVkLXNleHAgd2lkZ2V0IGhhcyB0byBiZSBjcmVh dGVkLCBpZiB0aGVyZSdzIGEgdmFsaWQNCj4gZGVmYXVsdCB2YWx1ZSB3ZSBjcmVhdGUgaXQgd2l0 aCB0aGF0IG9uZSAobGlrZSBJIHNob3dlZCBpbiBteSBwcmV2aW91cw0KPiBtZXNzYWdlKSwgYnV0 IGlmIHRoZXJlJ3Mgbm90IHdlIGNyZWF0ZSBpdCBlbXB0eS4NCj4gDQo+IExldCBtZSBrbm93IGlm IHlvdSBhZ3JlZSB3aXRoIHRoYXQuDQoNCjEwMCUuICBJIGhvcGUgeW91IGNhbiBkbyBpdCB3aXRo b3V0IHRvbyBtdWNoIHRyb3VibGUuDQpJdCB3aWxsIG1ha2UgYSBiaWcgZGlmZmVyZW5jZSwgSSB0 aGluaywgaW5jbHVkaW5nDQpwZXJoYXBzIGluIGhvdyBtdWNoIHBlb3BsZSBtYWtlIHVzZSBvZiBg cmVzdHJpY3RlZC1zZXhwJy4NCg0KPiBBcyBJJ3ZlIHNhaWQsIEkgZG9uJ3QgdGhpbmsgd2UgbmVl ZCB0byAobm9yIHdhbnQgdG8pIHByb21wdC7CoCBJIHRoaW5rDQo+IHRoZSBwcm9tcHQgdGhlcmUg aXMganVzdCBhbiBhY2NpZGVudCwgYW5kIEkgd291bGQgbGlrZSB0byBhdm9pZCBpdC4NCj4gU29y cnkgaWYgSSBzb3VuZCBzdHViYm9ybiBhYm91dCB0aGlzLCBidXQgSSdtIGNvbnZpbmNlZCB0aGF0 IHByb21wdGluZw0KPiBhdCB0aGF0IHRpbWUgb2YgdGhlIHdpZGdldCdzIGNyZWF0aW9uIGNhbiBi ZSByZWFsbHkgaGFybWZ1bC4NCg0KSSB3YXMgc2VlaW5nIHByb21wdGluZyBvbmx5IGFzIGEgbmVj ZXNzaXR5IGFzIGxvbmcgYXMgdGhlIGNvZGUgcmVxdWlyZXMgYSB2YWx1ZSBiZWZvcmUgaXQgY2Fu IGNyZWF0ZSB0aGUgVUkgZmllbGQgZm9yIHRoZSBgcmVzdHJpY3RlZC1zZXhwJy4gIElmIHlvdSBj YW4gZGlzcGVuc2Ugd2l0aCB0aGF0IG5lZWQgdGhlbiBncmVhdCEgIENlcnRhaW5seSBpdCB3b3Vs ZCBiZSBtdWNoIGJldHRlciBub3QgdG8gaGF2ZSBhbnkgcHJvbXB0aW5nIChlc3BlY2lhbGx5IG5v dCB3aXRoIGp1c3QgdGhlIGRlZmF1bHQgcHJvbXB0KS4NCg0KPiBJIHRob3VnaHQgSSB3YXMgZG9p bmcgYW4gaW1wcm92ZW1lbnQgYnkgZ2l2aW5nIHRoZSB3YXJuaW5nLCBzaW5jZQ0KPiBwcm92aWRp bmcgaW52YWxpZCBkZWZhdWx0IHZhbHVlcyBpcyBzb21ld2hhdCBjb21tb24uDQoNCkkga25vdyB5 b3UgZGlkLiAgSSdtIGFmcmFpZCB0aGF0IHRoZSB3YXJuaW5ncyBhcmUgdG9vDQpkaWZmaWN1bHQg dG8gdW5kZXJzdGFuZC4gIFRoZXkgd2VyZSBmb3IgbWUsIGFzIG9uZSB1c2VyLg0KDQo+IEkndmUg c2VlbiB0aGluZ3MgbGlrZTogDQo+IChkZWZjdXN0b20gZm9vIG5pbA0KPiAgwqAgIi4uLiINCj4g IMKgIDp0eXBlICcocmVwZWF0IChmdW5jdGlvbiA6dmFsdWUgdCkpKQ0KPiANCj4gQW5kIEkgd291 bGQgbGlrZSB0byBtYWtlIG1vcmUgZXZpZGVudCB0aGVzZSBraW5kIG9mIGVycm9ycy7CoCBCdXQg aWYgd2UNCj4gZmluZCBhIHdheSB0byBjb3BlIHdpdGggYW4gaW52YWxpZCBkZWZhdWx0IHZhbHVl IGZvciB0aGUgcmVzdHJpY3RlZC1zZXhwDQo+IHdpZGdldCwgdGhlbiBpdCBtaWdodCBiZSBmaW5l IHRvIHJlbW92ZSBpdCAoSSdtIG5vdCBzbyBzdXJlIHlldCkuDQoNCkkgdGhvdWdodCBpdCBhbHJl YWR5IGNvcGVkIHdpdGggaW52YWxpZCBpbnB1dC4NCkkgZ3Vlc3MgSSB3YXMgbWlzdGFrZW4uICBJ dCBkZWZpbml0ZWx5IHNob3VsZC4NCg0KR2VuZXJhbGx5LCBhbGwgQ3VzdG9taXplIFVJIGZpZWxk cyAoaW5jbHVkaW5nDQpidXR0b25zLCBjaGVja2JveGVzLCBldGMuKSBkbyBjaGVjayB0aGUgaW5w dXQNCmZvciB2YWxpZGl0eSwgSSB0aGluay4gIE5vdCBuZWNlc3NhcmlseSBhdCB0aGUNCnRpbWUg eW91IGVkaXQgYnV0IGF0IGxlYXN0IHdoZW4geW91IHRyeSB0byBzZXQNCnRoZSB2YWx1ZSB0byB3 aGF0IHlvdXIgZWRpdGluZyByZXN1bHRlZCBpbi4NCg0KPiAgPiBJIGRvbid0IHRoaW5rIHlvdSd2 ZSBzYWlkIHdoeS9ob3cgeW91IHRoaW5rDQo+ICA+IHRoZXJlJ3Mgbm8gbmVlZCBmb3IgcHJvbXB0 aW5nLsKgIElzIHRoaXMgYWJvdXQNCj4gID4gdGhlIHJldHVybmluZy1uaWwtaW5zdGVhZC1vZi1h LXN0cmluZyB0aGluZz8NCj4gID4gSWYgc28sIHN1cmUsIGlmIHlvdSBjYW4gcmVtb3ZlIHRoZSBu ZWVkIHRvDQo+ICA+IHByb21wdCBhbHRvZ2V0aGVyLCBncmVhdC4NCj4gDQo+IEJlY2F1c2UgbXkg dW5kZXJzdGFuZGluZyBpcyB0aGF0IGluIChyZWFkIHZhcikNCj4gaXQgd2FzIGFsd2F5cyBleHBl Y3RlZCB0aGF0IHZhciBob2xkcyBhIHN0cmluZywNCj4gd2hhdGV2ZXIgdGhhdCBpcy4NCg0KWWVz LiAgSSB0aGluayB0aGUgY29kZSBlc3NlbnRpYWxseSByZWFkcyBhIExpc3ANCmV4cHJlc3Npb24u ICBJT1csIEkgdGhpbmsgdGhhdCBpdCBqdXN0IGRvZXMgd2hhdA0KYHJlYWQtLWV4cHJlc3Npb24n IGRvZXMsIGJ1dCBpbiBhIHJvdW5kYWJvdXQgd2F5Lg0KKEkgaGF2ZW4ndCBsb29rZWQgYXQgdGhl IHdpZC1lZGl0LmVsIGNvZGUgYmVmb3JlDQpzYXlpbmcgdGhpczsgSSBjb3VsZCBiZSB3cm9uZy4p DQoNCjs7IEZyb20gYHNpbXBsZS5lbCc6DQooZGVmdW4gcmVhZC0tZXhwcmVzc2lvbiAocHJvbXB0 ICZvcHRpb25hbCBpbml0aWFsLWNvbnRlbnRzKQ0KICAobGV0ICgobWluaWJ1ZmZlci1jb21wbGV0 aW5nLXN5bWJvbCB0KSkNCiAgICAobWluaWJ1ZmZlci13aXRoLXNldHVwLWhvb2sNCiAgICAgICAg KGxhbWJkYSAoKQ0KICAgICAgICAgIDs7IEZJWE1FOiBjYWxsIGVtYWNzLWxpc3AtbW9kZT8NCiAg ICAgICAgICAoYWRkLWZ1bmN0aW9uIDpiZWZvcmUtdW50aWwgKGxvY2FsICdlbGRvYy1kb2N1bWVu dGF0aW9uLWZ1bmN0aW9uKQ0KICAgICAgICAgICAgICAgICAgICAgICAgIydlbGlzcC1lbGRvYy1k b2N1bWVudGF0aW9uLWZ1bmN0aW9uKQ0KICAgICAgICAgIChlbGRvYy1tb2RlIDEpDQogICAgICAg ICAgKGFkZC1ob29rICdjb21wbGV0aW9uLWF0LXBvaW50LWZ1bmN0aW9ucw0KICAgICAgICAgICAg ICAgICAgICAjJ2VsaXNwLWNvbXBsZXRpb24tYXQtcG9pbnQgbmlsIHQpDQogICAgICAgICAgKHJ1 bi1ob29rcyAnZXZhbC1leHByZXNzaW9uLW1pbmlidWZmZXItc2V0dXAtaG9vaykpDQogICAgICAo cmVhZC1mcm9tLW1pbmlidWZmZXIgcHJvbXB0IGluaXRpYWwtY29udGVudHMNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICByZWFkLWV4cHJlc3Npb24tbWFwIHQNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAncmVhZC1leHByZXNzaW9uLWhpc3RvcnkpKSkpDQoNCkZXSVcsIEkgZGVmaW5l IGBwcC1yZWFkLS1leHByZXNzaW9uJyBpbiBwcCsuZWwNCnRvIGhhdmUgdGhlIHNhbWUgY29kZSwg ZXhjZXB0IHRoYXQgaXQgdXNlcw0KYHBwLXJlYWQtZXhwcmVzc2lvbi1tYXAnLCB3aGljaCBwcm92 aWRlcyBFbGlzcA0Ka2V5IGJpbmRpbmdzOg0KDQooZGVmdmFyIHBwLXJlYWQtZXhwcmVzc2lvbi1t YXAgbmlsDQogICJgcmVhZC1leHByZXNzaW9uLW1hcCcgd2l0aCBzb21lIEVtYWNzLUxpc3Aga2V5 IGJpbmRpbmdzLiIpDQoodW5sZXNzIHBwLXJlYWQtZXhwcmVzc2lvbi1tYXANCiAgKGxldCAoKG1h cCAgKG1ha2Utc3BhcnNlLWtleW1hcCkpKQ0KICAgIChkZWZpbmUta2V5IG1hcCAiXE0tXHQiICds aXNwLWluZGVudC1saW5lKQ0KICAgIChkZWZpbmUta2V5IG1hcCAiXHQiICdsaXNwLWNvbXBsZXRl LXN5bWJvbCkNCiAgICAoZGVmaW5lLWtleSBtYXAgIlxlXEMtcSIgJ2luZGVudC1zZXhwKQ0KICAg IChkZWZpbmUta2V5IG1hcCAiXGVcdCIgJ2xpc3AtaW5kZW50LWxpbmUpDQogICAgKGRlZmluZS1r ZXkgbWFwICJcZVxDLXgiICdldmFsLWRlZnVuKQ0KICAgIChkZWZpbmUta2V5IG1hcCAiXGVcQy1x IiAnaW5kZW50LXBwLXNleHApDQogICAgOzsoZGVmaW5lLWtleSBtYXAgIlwxNzciICdiYWNrd2Fy ZC1kZWxldGUtY2hhci11bnRhYmlmeSkNCiAgICAoc2V0LWtleW1hcC1wYXJlbnQgbWFwIG1pbmli dWZmZXItbG9jYWwtbWFwKQ0KICAgIChzZXRxIHBwLXJlYWQtZXhwcmVzc2lvbi1tYXAgIG1hcCkp KQ0KDQo+IFllcywgdGhhbmtzIHRvIHlvdXIgcmVzcG9uc2UgSSB3YXMgYWJsZSB0byBzZWUgYSB3 YXkgdG8gY3JlYXRlIHRoZQ0KPiBlZGl0YWJsZSBmaWVsZCAod2l0aCB2YWx1ZSAiIiksIHdoZW4g dGhlcmUncyBubyB2YWxpZCBkZWZhdWx0IHZhbHVlLg0KDQpSZWFsbHkgZ2xhZCBJIGNvdWxkIGNv bnRyaWJ1dGUgc29tZXRoaW5nIHRvIHRoaXMsDQpieSBteSBpbmNlc3NhbnQgYXJndWluZy9xdWVz dGlvbmluZy4gOy0pDQpJIGFwcHJlY2lhdGUgeW91ciB3b3JraW5nIG9uIHRoaXMuICBJIGRvdWJ0 IHRoYXQNCmFueW9uZSBlbHNlIHdvdWxkIHRyeSB0byB0YWNrbGUgaXQuDQoNCj4gSSByZWFsbHkg aG9wZSB3ZSBhcmUgaW4gYWdyZWVtZW50IGhlcmUgdGhhdCB0aGF0IGFwcHJvYWNoIGlzIGEgZ29v ZCBvbmUNCj4gdG8gZm9sbG93Lg0KDQpTb3VuZHMgZ3JlYXQgdG8gbWUuICBEbyB3aGF0IHlvdSBj YW4sIGFuZCB3ZSdsbA0Kc2VlIGhvdyBmYXIgd2UgZ2V0Lg0KDQo+Pj4gTm90ZSB0aGF0IGluIEJ1 ZyMyNTE1MiB5b3UgZW5kZWQgdXAgd2l0aCBhIHdlaXJkIGJ1ZmZlciBzdGF0ZSBhZnRlcg0KPj4+ IGhpdHRpbmcgQy1nIGF0IHRoYXQgcHJvbXB0LsKgIFRoYXQncyBiZWNhdXNlIHRoZSBXaWRnZXQg bGlicmFyeSBpcyBub3QNCj4+PiByZWFkeSB0byB0YWtlIHVzZXIgaW5wdXQgYXQgdGhhdCBtb21l bnQuDQo+IA0KPiBJIHdhcyB0cnlpbmcgdG8gbWFrZSB0aGUgcG9pbnQgdGhhdCBwcm9tcHRpbmcg YXQgdGhhdCBtb21lbnQgY2FuIHJlc3VsdA0KPiBpbiBiYWQgdGhpbmdzOiB3ZSBhcmUgbm90IHJl YWR5IHRvIHByb2Nlc3MgYSBxdWl0LCB0byBjYXRjaCBhbiBlcnJvciBvcg0KPiB3aGF0ZXZlciwg c28gdGhlIHdob2xlIFVJIGJyZWFrcy4NCg0KWWVhaCwgbm8gZG91YnQgdGhlcmUgYXJlIHN0aWxs IHRoaW5ncyB0aGF0IGNvdWxkDQpiZSBpcm9uZWQgb3V0LiAgVGhlIGluc2VydGlvbiBvZiBhZGRp dGlvbmFsIChlbXB0eSkNCnBhaXJzIG9mIElOUyBERUwgd2hlbiB5b3UgY2xpY2sgSU5TIGlzIG9u ZS4NCg0KPiAgPiBBbmQgZGVmaW5lcnMgaWRlYWxseSBzaG91bGRuJ3QgbmVlZCB0byBzcGVjaWZ5 DQo+ICA+IGRlZmF1bHQgdmFsdWVzIGZvciBzdWNoIGZpZWxkcyAtIHRoZSBzZXQgb2YNCj4gID4g cHJlZGljYXRlcyBzaG91bGQgYmUgYWJsZSB0byBkZWZpbmUgd2hhdCBraW5kDQo+ICA+IG9mIFVJ IGZpZWxkIGlzIG5lZWRlZC4NCj4gDQo+IEknbSBub3Qgc3VyZSBpZiBJIHVuZGVyc3RhbmQgd2hh dCB5b3Ugc2F5IGhlcmUuwqAgSSBkb24ndCB0aGluayBpdCdzDQo+IHBvc3NpYmxlIHRvIGZpZ3Vy ZSBvdXQgYSBnb29kIHZhbHVlIHRvIHVzZSBhcyBhIGRlZmF1bHQgZnJvbSB0aGUNCj4gcHJlZGlj YXRlczogdGhhdCdzIHdoeSBteSBpZGVhIGlzIGFib3V0IGNyZWF0aW5nIGl0IHdpdGggdGhlIGVt cHR5DQo+IHN0cmluZy4NCg0KQWguICBNYXliZSB3ZSBkbyBkaXNhZ3JlZSwgaW4gdGhlIHNlbnNl IHRoYXQgSSBzdGlsbA0KZG9uJ3QgdW5kZXJzdGFuZC4NCg0KSXMgdGhlcmUgYSBfbG9naWNhbF8g cmVxdWlyZW1lbnQgdGhhdCB0aGVyZSBiZSBhDQp2YWx1ZSwgaW4gb3JkZXIgdG8gY3JlYXRlIHRo ZSBlZGl0YWJsZSBmaWVsZCBmb3INCnRoZSBgcmVzdHJpY3RlZC1zZXhwJz8gIEkgZG9uJ3QgdGhp bmsgdGhlcmUgc2hvdWxkDQpiZS4NCg0KVGhhdCdzIGRpZmZlcmVudCBmcm9tIHRoZSBuZWVkIGZv ciBhIHZhbHVlIGJlY2F1c2UNCnRoZSBjdXJyZW50IGNvZGUgd29ya3MgdGhhdCB3YXkuDQoNCkJ1 dCBJIHJlYWxseSBkb24ndCBzZWUgd2h5IGEgdmFsdWUgaXMgbmVlZGVkLiAgQWxsDQp0aGUgY29k ZSBuZWVkcyB0byBkbyBpcyBjcmVhdGUgYW4gZWRpdGFibGUgZmllbGQNCnRoYXQgZXhwZWN0cyB0 ZXh0IHRoYXQgc2F0aXNmaWVzIHRoZSBwcmVkaWNhdGVzLA0Kbm8/ICBPZiB3aGF0IChsb2dpY2Fs KSB1c2UgaXMgdGhlICgiZGVmYXVsdCIpIHZhbHVlPw0KDQpBbnl3YXksIGlmIHlvdSBjYW4gZ2V0 IGVtcHR5IGZpZWxkcyBieSBqdXN0IHVzaW5nDQoiIiBhcyB0aGUgdmFsdWUgdGhlbiBwZXJoYXBz IGFsbCB3aWxsIGJlIHdlbGwuICBNeQ0KZmVlbGluZyB3YXMvaXMgdGhhdCB0aGVyZSBzaG91bGQg YmUgbm8gbmVlZCBmb3IgYW55DQp2YWx1ZSwganVzdCB0byBjcmVhdGUgdGhlIGZpZWxkLiAgQnV0 IGlmIG15IGxvZ2ljDQppcyB3cm9uZywgb3IgaWYgaXQncyB0b28gY29tcGxleCB0byBhbHRlciB0 aGUgY29kZQ0Kbm90IHRvIG5lZWQgYSBkZWZhdWx0IHZhbHVlIChpbiBvcmRlciB0byBjcmVhdGUg dGhlDQpmaWVsZCksIGFuZCBpZiB1c2luZyAiIiB3b3JrcywgdGhlbiBncmVhdCENCg0KQW5kIHll cywgaWYgdGhlIGRlZmluZXIgcHJvdmlkZXMgYSBkZWZhdWx0IHZhbHVlDQp0aGVuIHRoYXQgc2hv dWxkIGJlIHJlc3BlY3RlZCBpbnN0ZWFkIG9mICIiLiAgQnV0DQpJIHdhcyB0aGlua2luZy9leHBl Y3RpbmcgdGhhdCB0aGUgZGVmYXVsdCB2YWx1ZQ0KKGFuZCBhbnkgdXNlci1zdXBwbGllZCB2YWx1 ZSBieSBlZGl0aW5nKSB3b3VsZCBiZQ0KY2hlY2tlZCBieSB0aGUgcHJlZGljYXRlcy4gIE5vdyBJ IGd1ZXNzIHRoYXQncyBub3QNCnRoZSBjYXNlIGF0IHRoZSB0aW1lIG9mIGZpZWxkIGNyZWF0aW9u LCBvciBldmVuIGF0DQp0aGUgdGltZSBvZiBlZGl0aW5nLiAgKEkgZXhwZWN0IGl0J3MgdGhlIGNh c2UgYXQNCnRpbWUgb2Ygc2V0dGluZywgaG93ZXZlci4pDQoNCj4gID4gTm93IHN1cHBvc2UgSSBf cmVtb3ZlXyB0aGF0IDp4IGluIHRoZSBlZGl0YWJsZQ0KPiAgPiBmaWVsZC7CoCBUaGF0J3MgdGhl IHN0YXRlIEknZCBsaWtlIHRvIGdldCB3aXRob3V0DQo+ICA+IGhhdmluZyB0byBzcGVjaWZ5IDp2 YWx1ZS7CoCBJcyBpdCBkb2FibGU/DQo+IA0KPiBUaGVuIG1heWJlIHlvdSBhZ3JlZSB3aXRoIG1l IHRoYXQgY3JlYXRpbmcgaXQgd2l0aCB0aGUgZW1wdHkgc3RyaW5nIGlzIGENCj4gZ29vZCBlbm91 Z2ggc29sdXRpb24uwqAgSSdsbCB3YWl0IGZvciB5b3VyIGNvbmZpcm1hdGlvbi4NCg0KU291bmRz IGdvb2QgdG8gbWUuICBBcyBJIHNheSBhYm92ZSwgSSBzdGlsbCBkb24ndA0Kc2VlIHdoeSBhbnkg dmFsdWUgd291bGQgYmUgbmVlZGVkLCBqdXN0IHRvIGNyZWF0ZQ0KdGhlIGZpZWxkLiAgQnV0ICgx KSBJIGNvdWxkIGJlIHdyb25nIGFib3V0IHRoYXQNCm5vdCBiZWluZyBhIGxvZ2ljYWwgbmVjZXNz aXR5IG9yICgyKSBpdCBjb3VsZCBiZQ0KYSBwYWluIHRvIHRyeSB0byBtb2RpZnkgdGhlIGNvZGUg bm90IHRvIG5lZWQgdGhhdC4NCg0KSSByZWFsbHkgaGF2ZSBubyBpZGVhIGhvdyB0aGUgY29kZSBj dXJyZW50bHkgZGVwZW5kcw0Kb24gaGF2aW5nIGEgdmFsdWUgaW4gb3JkZXIgdG8gY3JlYXRlIHRo ZSBmaWVsZC4NCg0KPiAgPiBTb3JyeSB0aGlzIGlzIHRha2luZyBzbyBtdWNoIG9mIHlvdXIgdGlt ZS7CoCBJZg0KPiAgPiB5b3UgZmVlbCB5b3UgdW5kZXJzdGFuZCB3aGF0IEknbSBtaXNzaW5nLCBh bmQNCj4gID4gaXQgZG9lc24ndCBtYXR0ZXIsIHBsZWFzZSBqdXN0IGRvIHdoYXRldmVyIHlvdQ0K PiAgPiB0aGluayBpcyByaWdodC7CoCBJIGRvIGhvcGUgdGhhdCB3ZSBjYW4gc29tZWhvdw0KPiAg PiBkbyBhd2F5IHdpdGggdGhlIHdhcm5pbmdzIC0gYW5kIHRoZSBwcm9tcHQgYXMNCj4gID4gd2Vs bCwgaWYgcG9zc2libGUuDQo+IA0KPiBPaCwgZG9uJ3Qgd29ycnkuwqAgSXQgaXMgYSBwbGVhc3Vy ZSBmb3IgbWUgdG8gY29udHJpYnV0ZSB0byBFbWFjcyB3aXRoDQo+IHRoZSBmZXcgYnVnIHJlcG9y dHMgSSBjYW4sIGFuZCB0aGlzIGlzIG9uZSBvZiB0aGVtLg0KDQpUZXJyaWZpYy4gIFRvIG1lLCBg cmVzdHJpY3RlZC1zZXhwJyBpcyBzdXBlcg0KcG93ZXJmdWwvZ2VuZXJhbCwgYnV0IGl0J3Mgbm90 IHVzZWQgbXVjaCBhbmQNCml0IHNlZW1zIHRoZXJlIGFyZSBzb21lIH5idWdzIHdydCBpdHMgdXNl IChieQ0KZGVmaW5lcnMpIGFuZCB0aGUgdXNlIG9mIGl0cyBmaWVsZHMgKGJ5IHVzZXJzKS4NCg0K SWYgeW91IGNhbiBmaXggdGhpcyB0aGVuIEknbSBob3BpbmcgbW9yZSBwZW9wbGUNCndpbGwgdGFr ZSBhZHZhbnRhZ2Ugb2YgYHJlc3RyaWN0ZWQtc2V4cCcuICBJbiBhDQp3YXksIGl0J3MgYSBwb29y LW1hbidzIHN1YnN0aXR1dGUgZm9yIGRlZmluaW5nIFVJDQp3aWRnZXRzIGZvciBjdXN0b20gdHlw ZXMuICBPbmx5IGEgcG9vciBzdWJzdGl0dXRlLA0KYnV0IHN0aWxsIHVzZWZ1bC4NCg0KPiAgPiBP ZiB3aGF0IHJlYWwgdXNlIGlzIHRoZSBkZWZhdWx0IHZhbHVlP8KgIFRoYXQgSQ0KPiAgPiBkb24n dCBnZXQuDQo+IA0KPiBNYXliZSBpdCdzIG5vdCB2ZXJ5IHVzZWZ1bCwgYW5kIGl0IGlzIGp1c3Qg YSBjdXJyZW50IGxpbWl0YXRpb24gb2YgdGhlDQo+IGNvZGUuDQoNClRoYXQncyB3aGF0IEkndmUg YmVlbiBndWVzc2luZy4gIEJ1dCBldmVuIGlmIHRoYXQncw0KdHJ1ZSwgaXQgZG9lc24ndCBmb2xs b3cgdGhhdCBpdCdzIHdvcnRoIHRyeWluZyB0bw0KcmV3cml0ZSB0aGUgY29kZSBub3QgdG8gZGVw ZW5kIG9uIHRoYXQuICBXaWRnZXQgJg0KY3VzdG9tIGNvZGUgaXMgY29tcGxpY2F0ZWQuDQoNCj4g QnV0IG9uZSBjYW4gc2F5IHRoYXQgdGhlIGRlZmF1bHQgdmFsdWUgYXQgbGVhc3Qgc2hvd3MgYW4g ZXhhbXBsZQ0KPiBvZiB3aGF0J3MgZXhwZWN0ZWQuDQoNCkFic29sdXRlbHkuICBXaGVuIHlvdSBj YW4gcHJvdmlkZSBhICh1c2VmdWwsIGNvcnJlY3QpDQpkZWZhdWx0IHZhbHVlLCB5b3Ugc2hvdWxk Lg0KDQpJJ20gZW1iYXJyYXNzZWQgdGhhdCBJIGRpZG4ndCB1bmRlcnN0YW5kIHRoYXQgeW91DQpj YW4gdXNlIDp2YWx1ZSBuZWFybHkgZXZlcnl3aGVyZS4gIEkgdGhpbmsgdGhlIGRvYw0KY291bGQg bWF5YmUgYmUgaW1wcm92ZWQgYSBiaXQuLi4NCg0KPiBJJ20gbm90IHRvbyBjb252aW5jZWQgb2Yg dGhhdCBwb2ludCBvZiB2aWV3LCBzbw0KPiBkb24ndCB0YWtlIGl0IHRvbyBzZXJpb3VzbHkuDQoN Ck5vdCB0byB3b3JyeS4NCg0KPiBTbywgd291bGQgeW91IGFncmVlIHRvIGNyZWF0aW5nIHRoZSBy ZXN0cmljdGVkLXNleHAgd2lkZ2V0IHdpdGggYW4gZW1wdHkNCj4gZWRpdGFibGUgZmllbGQsIGlu IGNhc2UgdGhlIGRlZmF1bHQgdmFsdWUgaXMgbm90IHZhbGlkPw0KDQpJbiBjYXNlIGl0J3MgbWlz c2luZywgZGVmaW5pdGVseS4NCg0KSW4gY2FzZSBpdCdzIG5vdCB2YWxpZD8gIEkgZ3Vlc3Mgc28s IGJ1dCBpbiB0aGF0DQpjYXNlIGl0IHdvdWxkIGJlIGdvb2QgdG8gc2lnbmFsIGFuIGVycm9yIChz b21laG93KSwNCm9yIGEgbWVzc2FnZSBzYXlpbmcgdGhhdCBpdCdzIGludmFsaWQgYW5kIHNvIHdp bGwNCmJlIGlnbm9yZWQgKGNyZWF0ZSB0aGUgZmllbGQgd2l0aG91dCBhbnkgdmFsdWUpLg0KDQo+ IFRoZW4gdGhlIG5lZWQgdG8gcHJvdmlkZSBhIHZhbGlkIGRlZmF1bHQgdmFsdWUgaXMgbm90IHNv IHN0cm9uZyBhbnltb3JlDQo+IChidXQgc3RpbGwgc2hvdWxkIGJlIGVuY291cmFnZWQsIEkgdGhp bmspLCBhbmQgQ3VzdG9taXplIGNhbiB3b3JrIGJldHRlcg0KPiBhbmQgbW9yZSBpbnR1aXRpdmVs eSB3aGVuIHRoZXJlIGlzbid0IGEgdmFsaWQgZGVmYXVsdCB2YWx1ZS4NCg0KSXQgYWxsIHNvdW5k cyBnb29kIHRvIG1lLiAgTG9va2luZyBmb3J3YXJkIHRvDQp3aGF0ZXZlciB5b3UgY29tZSB1cCB3 aXRoLiAgVGh4Lg0K