From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id 296201FF141 for ; Mon, 13 Apr 2026 15:14:09 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 42D21250D1; Mon, 13 Apr 2026 15:14:57 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=XF0W1ty9wmqxPE44NxaI+CcSQyzcRKJzoSFvMXPMtPugVq5eiJteqA4ngXPOzgFURr6zUihcFogY7RwkAz0bZjAaVBlR4lnJ11d6O5Zvz3mhFcacyOJc6Wvw6o2T/SJ7h1JDfNSbIi0L3R2vD5xCfUwe+NCvugOZq6KsVrpaM+bdfo7JOKrUeIptSemLDgF4yy5qxR2RZ3aE6rbk0eDPGvtoeIsoxl4cNbk+LpitWB7o6CxfhpXCWjKCn9fk4yWGyLMxKfYzbQTXiWIJHpyGSgLFWXvKflCYbQzG6xwKJ0vIQ5C+rCYb99vyQyLhszWFl+iSg5LXOtZZeUFkL+VyMQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=RYmdqds4A9YPAM99Ky8t2zzPeruTc/ihGDiQBKs+f74=; b=aEwwerayGEYpjAOCzPZUvWKpXrU+MFD9x5Q7SLZiVJcIS4WQkVT1yMstmvzWdvMkNhrYJQEj5g1UxmMeMhe19yaw59nkJZqpUu1QS0lMfxbswjcHpolLiy7GcYHDAdW6nMgiuGRcGrbjgtI7z+yqJ+hTkqSIKKzrF9YILn92tA5QPgv1rgepLTn5yx21SjxGZuHsphzm0QsplvgyNxRID2CURfX5DifTnsc6rJAOY4zz1GX2vuYMVVEewVdgv8VYdgika2uhV/cFyqjpQAXcyERHATGdyDh97D2glqNDbdZYH1hXxHnXJ8aYdyhjM0yrHupdXIzQTVc7bBNYiaVYVQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=groupe-cyllene.com; dmarc=pass action=none header.from=groupe-cyllene.com; dkim=pass header.d=groupe-cyllene.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=groupecyllene.onmicrosoft.com; s=selector2-groupecyllene-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=RYmdqds4A9YPAM99Ky8t2zzPeruTc/ihGDiQBKs+f74=; b=vO0FLML7PZrQVHs8wQZ8By9ATdnvlwQUpfXPA7+FJOxr3bfFOCCfhJnVWLnoA5uQY4zRzNT7qip89zGiHbUJBW3UQsrjJTxtUp/BnAULx2WBBVwcGBmmjeGcpTeys5cVK42FIwB0o/3ygBQI2R5nsdBtztkLGGasT/mXrKbYdnM= From: "DERUMIER, Alexandre" To: "pve-devel@lists.proxmox.com" , "f.ebner@proxmox.com" , "k.chai@proxmox.com" Subject: Re: [PATCH pve-qemu 0/2] Re-enable tcmalloc as the memory allocator Thread-Topic: [PATCH pve-qemu 0/2] Re-enable tcmalloc as the memory allocator Thread-Index: AQHcyKLcadcCUtQ+T0KnbodZuSUzGrXX8lmAgAAqsACABIzsgIAAMc0AgAAhzwA= Date: Mon, 13 Apr 2026 13:14:13 +0000 Message-ID: References: <20260410043027.3621673-1-k.chai@proxmox.com> <4628fcc1c283bc4ae80f19e6fe8ae922c0968af9.camel@groupe-cyllene.com> <9db86c5e-d382-4eed-a1fd-905e44a259e1@proxmox.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.56.2-4 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=groupe-cyllene.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PAZP264MB3686:EE_|PAZP264MB3136:EE_ x-ms-office365-filtering-correlation-id: 1df48b0e-0706-4d82-86ca-08de995e8f24 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|366016|10070799003|1800799024|376014|38070700021|18002099003|22082099003|56012099003; x-microsoft-antispam-message-info: viDxEWvnSkhgpqPRoZoc2vahtDSqY2I6ydLVQnBMDyDnqqNIbt2EEjagPQrGpLnzdPSfRLEWEw1c0/6IRCuzMy4UEL+G8BybUOKMz+M9Aq+P06k5UWIHvP5tFFaDSaopMPrmhdsyzt8KRFApYbUZ3wiSSHnEOfUO2ihv02CMsjv5i9Y281gPFpBAeCZJqpViYa4YFmYz72lxrjD9oga2jEW+X4vd/oqTObqeAY0VaWjWcVSf8Puo/YIVm9DI7S/jr7h3BIA6G2QeA0CZ4NXP3a2sjW0PxWWCbehPd2V1sC84kRyEG97xNwoAcc2yOlthii5asNhxX5gjHfi/FbIfVHkD+ZH+8CdarsyuoZxl+Y0t0iceVymq+czBdJfll3U0/B5/+OVa2myiGYBfYo078nf6hzSyXrzuyfKjQBpdFSCZSbJ8h58GpE4TPA6M2wfMA28gBtgsDi7+ZJLBwdRqI2CeQQeb2CodJKU6uKjx+QbdT2FIqmmtsS75wuGpat9Jso7ekGZct425SOe3no5SrJUBJmfXglncgd13Kxgi371YWbUTC71yPeglJBUDn62ZwjKhTzLi41Uc9lRO6T7c+Lwlj9/8soL5VNdKCfp0h16fR8bVdShN7/R8F12hu59TzcbmrLAWJsEQmk0/2MmQec6SD90WmqAU6I8lM7K+y+s/D/OWzlfwp+VkvSCVrcsbpiO1Xh7oTDD+QALwYyMo//HJkPmeM1wcxYv1r/8xhQlFwtNIdzTpW0Uiy73RiuT+42bzbDnEjgr8Geqx1rKSO4y1VDvVQcVtHrw1SxMzp60= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAZP264MB3686.FRAP264.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(10070799003)(1800799024)(376014)(38070700021)(18002099003)(22082099003)(56012099003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 2 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?akVYcGcrZm5PbG5BTU1RZEZrUVN6UHNiMUpnZmFqNHAxNi8zR3ZBdFBEZnRE?= =?utf-8?B?QXE1L2lMczhGNUtCcGEvc1poSlRxV0ZvdnZzeTVoOHpabVA2SExTOTJWUHJK?= =?utf-8?B?Z25EUDFaMjNKbWl1Q0hNQjhzZ2RBenlROGJwYWRqWGNzR3ZZTnpZYTdOdlVi?= =?utf-8?B?Ni81b1R0azQ3RWhmeDJpTUpUdGVDNVZ4amF0Sm94M3ZSL0pENXZKZlNIWjhx?= =?utf-8?B?ZE1DOWs5bjB0YWRoM1kxTWVnYlB0enJmZkI5cE0vcDdCeG9EWjRLNXlua0Zo?= =?utf-8?B?dTFnSnRRYnd3YmFrN0wySm1leGp6NE1ibnc2bG5hVmtXandqdTVhdFlWUnFU?= =?utf-8?B?blFxd3ZHOURmQWhsV0QvbDIxZlhCNDdHaVRpaEhQbUs0V1I3YnhDdzh0Snpt?= =?utf-8?B?dFBpOWt3Y0dyOUJnR1pscmFlRkwzOXV4ZUZ5c2NNbnNqUTBNb25xL1o5b21O?= =?utf-8?B?NjNOWUpkaFdqN2dEamxXWklqa1k4V2xYYTgrRERQK2ZLWUhCcXh5VnliTTVj?= =?utf-8?B?YUVPYVQwT2xyVWwrcU9TSkRRQWQwSUxJZTdudGc1cnV1Q003MkVUeGNvSVZG?= =?utf-8?B?dWkxbDFycTl6TVRzZVhoSVlYaWZxek81THcxelMvSzZiRzdqYjVqTWNlWHNC?= =?utf-8?B?bXdZK3FQOFhmVDV3eDhXelFYbzQvNy80dzBmaVM4UFprczI5NTE3UXBJUm1r?= =?utf-8?B?dFREWUlocTR1Q2M2VXhyQmE1MlQrSUU1TjNLeUhJak9DdEVTMGYvV3BSbXhr?= =?utf-8?B?Zk5Gak9QbVJmZ29sY2JJTFByblZRWWhtYkNwUXZYNzVxYnQyLzc4K0xFY0Z4?= =?utf-8?B?eTA3Wi96N1o0Rmttdnpvdkd5K3o0Qk1XVGVjYVEwM2xEY2l6MEIrenlEaStm?= =?utf-8?B?Vk95WmM1SWhDZ1pEZk5mMC9PMGZlTWV5cCtoQWJtalhITTJieW1UdlFTcGUr?= =?utf-8?B?TTc5MHE0ZE80TENNeUNDTzVTUnIrMlNVV1V5WExpMlBqKy9PdmFHdkJLdFhu?= =?utf-8?B?Vlg4dEoxL1BiMUdaM05EYldFci9zNk8vUU12WDhVeUkrRTZHejdDTFVjV2ky?= =?utf-8?B?ZTlmaTV1NkJyV0FYWDZqdE5LS1RsZ3V5Tk91Yjk5MWxXSWdBYjVtQmJEc3V5?= =?utf-8?B?cjJIbnpFemg2NWVSQzRLWXJWZTFSWGZ1NFdmU0hxL0xsWlRIRFltcFNKRXUr?= =?utf-8?B?Si80K2ZXek9Xb0MvaHVtb2tBWXRqaFRTOERjSDBvUUlZUkRLZVE0MXhyc0cr?= =?utf-8?B?YzFiWVA4Mll1dlRLZFJsalNNcGhYU1NUU3MvZDZiMElqVHpFQURpMS9pM0dF?= =?utf-8?B?WU5sM3dVYTA3RjJPWHRjdi9LVGtBV2g4ZzhVUytPUy9hKy9TSUc2S0hPaGtz?= =?utf-8?B?VHJKTDFPQmM4Q2E2dDdUMVNxdEhjeWR1RlFlNktxZFpUMndvWmRHVjJIY2pz?= =?utf-8?B?NUlEenUzNVFVbTZpSXRoMmVTdnBDK2xITUc2aGorNHpwczlyNlM0b3RsVFhK?= =?utf-8?B?bmMyUVM0SEdmblhIMHNhZjRESDkwVk1SbnR5Rzg5NDNCZWJFaVVucmU3MFo0?= =?utf-8?B?TXZVbUNGRi9qTFV6UTBrS0hTSjZOZmEreVdUV1VmSHo3MVFyTWFnOE9NZGZ5?= =?utf-8?B?K0x4SUpwQjNuK0wrN21nQmVES3ZyTkFhMkdiNndtWmZLcFgwQlM2MkkveDNM?= =?utf-8?B?K2QvcTZXY2dJelZtTUoyVGpTT2cxRGlUYzNkQk5sUkZyYkpRaS9KV3pqaEtx?= =?utf-8?B?cm93eHlXc0oyakNiZndjR3hMMVIxNFZOS0w0OUZQdmhvV2FuQlZoWXRVL2Fv?= =?utf-8?B?K0hLM0FybHNQYzVxZzRnUW1YTDBJdW5YWndNSUVTWmlEQzhuZ0dGMlZiOFor?= =?utf-8?B?bmlMbnlqblMxclFXaW9UbUhxTzF0YzVvT3Jzci90REQ5NTBBdklRWlRYVERv?= =?utf-8?B?YVBqTUV5YnNkOHk0Ri8wdkhGaCtHb05IMmx3c05vbjhFT1BwSjYvbG9yU0JE?= =?utf-8?B?LzBiZ3ovVUt0U2ZLU1pqTHFBUmtUSDJOOEJrOWF5QmV2Qkc2YXBiYUN1UnBm?= =?utf-8?B?SDhvOVNqWXgwNjR2eDhLVitlNzBicmE5dUtIWUZsZU9iL0V6aHlPbFVLM2VZ?= =?utf-8?B?S2dCem9aMForM2czUE0vbjRuTUVwdnNGVGpSZjJNTDF4Nmk2VGlGSEdTUUxW?= =?utf-8?B?N3RFVE1LdzlvRHVadGJqN1dTNTVzTXEzaG5IRkczd3Q5R0FhR1RlZXVqdXVJ?= =?utf-8?B?Myt0WnBCaG1RUTh1WnFRT1RsSlZtUE5ZazFyVzBJVzR5V0NZYmRMUEptamlI?= =?utf-8?B?VUdjTU1Gb2xqdlZtQzNCMHF4NDBNdDBaT253UW5RZ3l0YmhkZWYxeUhGb0RO?= =?utf-8?Q?tpvBMrunRlk+6lr1U8nVE47lrKY2Qv3FQhsJdrT4bFBIv?= x-ms-exchange-antispam-messagedata-1: v6McEgP01TcrOA== Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: groupe-cyllene.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PAZP264MB3686.FRAP264.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 1df48b0e-0706-4d82-86ca-08de995e8f24 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Apr 2026 13:14:14.0139 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: ee11ccf7-112c-4284-848b-f229745e715b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: n0gJtPYjsn4CNsKTYLuImsroaUtgbeGsMOIePodoPVkqjSqm+GLvk+HaHuzcnb1Gv8mEdHgrng/UW5+50KElISaWiumik38Gq+5kq143IVf+bFX2ePSvZTo5mskVZxBs X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAZP264MB3136 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.056 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DMARC_PASS -0.1 DMARC pass policy RCVD_IN_DNSWL_NONE -0.0001 Sender listed at https://www.dnswl.org/, no trust SPF_HELO_PASS -0.001 SPF: HELO matches SPF record SPF_PASS -0.001 SPF: sender matches SPF record Message-ID-Hash: 2GELZ3JU55C7U2ZWPLFVHCZYLAKZM6HG X-Message-ID-Hash: 2GELZ3JU55C7U2ZWPLFVHCZYLAKZM6HG X-MailFrom: alexandre.derumier@groupe-cyllene.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox VE development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: SGksDQoNCkkgaGF2ZSBkb25lIGEgc21hbGwgdGVzdCBvbiBhIGZyZWUgY2x1c3RlciAodGhpcyB3 YXMgd2l0aCBvbGQgeGVvbiB2Mw0Kd2l0aCAxOCBzc2QpLg0KDQpGb3IgNGsgcmFuZHdyaXRlLCBJ IGRvbid0IHNlZSBkaWZmZXJlbmNlIChidXQgSSB0aGluayBJJ20gd3JpdGUgbGltaXRlZA0KYnkg dGhlIHNzZCksIEknbSBhcm91bmQgNDBrfjUwayBpb3BzDQoNCmZvciA0ayByYW5kcmVhZCwgSSBz ZWUgMzAlIGltcHJvdmVtZW50ICh+NzBrIGlvcHMgLT4gfjEwMGtpb3BzKQ0KDQoNCnRlc3Q6IHZp cnRpby1zY3NpICsgaW90aHJlYWQgKyBjYWNoZT1ub25lDQoNCg0Kd2l0aG91dCB0Y21hbGxvYzoN Cg0KIyBmaW8gLS1maWxlbmFtZT0vZGV2L3NkYiAtLWRpcmVjdD0xIC0tcnc9cmFuZHJlYWQgLS1i cz00ayAtLWlvZGVwdGg9NjQNCi0taW9lbmdpbmU9bGliYWlvIC0tbmFtZSB0ZXN0DQp0ZXN0OiAo Zz0wKTogcnc9cmFuZHJlYWQsIGJzPShSKSA0MDk2Qi00MDk2QiwgKFcpIDQwOTZCLTQwOTZCLCAo VCkNCjQwOTZCLTQwOTZCLCBpb2VuZ2luZT1saWJhaW8sIGlvZGVwdGg9NjQNCmZpby0zLjMzDQpT dGFydGluZyAxIHByb2Nlc3MNCl5DYnM6IDEgKGY9MSk6IFtyKDEpXVsyMCVdW3I9MjczTWlCL3Nd W3I9NjkuOWsgSU9QU11bZXRhIDA1bToxMnNdDQoNCg0KIyBmaW8gLS1maWxlbmFtZT0vZGV2L3Nk YSAtLWRpcmVjdD0xIC0tcnc9cmFuZHJlYWQgLS1icz00ayAtLWlvZGVwdGg9NjQNCi0taW9lbmdp bmU9bGliYWlvIC0tbmFtZSB0ZXN0DQoNCnRlc3Q6IChnPTApOiBydz1yYW5kcmVhZCwgYnM9KFIp IDQwOTZCLTQwOTZCLCAoVykgNDA5NkItNDA5NkIsIChUKQ0KNDA5NkItNDA5NkIsIGlvZW5naW5l PWxpYmFpbywgaW9kZXB0aD02NA0KZmlvLTMuMzMNClN0YXJ0aW5nIDEgcHJvY2Vzcw0KXkNiczog MSAoZj0xKTogW3IoMSldWzEzLjYlXVtyPTI3M01pQi9zXVtyPTY5LjlrIElPUFNdW2V0YSAwNW06 MTJzXQ0KZmlvOiB0ZXJtaW5hdGluZyBvbiBzaWduYWwgMg0KDQp0ZXN0OiAoZ3JvdXBpZD0wLCBq b2JzPTEpOiBlcnI9IDA6IHBpZD05MjkyODI6IE1vbiBBcHIgMTMgMTU6MDE6MzMgMjAyNg0KICBy ZWFkOiBJT1BTPTcyLjdrLCBCVz0yODRNaUIvcyAoMjk4TUIvcykoMTMuN0dpQi80OTMxNm1zZWMp DQogICAgc2xhdCAodXNlYyk6IG1pbj0zLCBtYXg9OTE3LCBhdmc9IDYuMDAsIHN0ZGV2PSAzLjY2 DQogICAgY2xhdCAodXNlYyk6IG1pbj0xNjksIG1heD0xMTczNjksIGF2Zz04NzMuODMsIHN0ZGV2 PTUyMS40Ng0KICAgICBsYXQgKHVzZWMpOiBtaW49MTgwLCBtYXg9MTE3Mzc3LCBhdmc9ODc5Ljgz LCBzdGRldj01MjEuNDQNCiAgICBjbGF0IHBlcmNlbnRpbGVzICh1c2VjKToNCiAgICAgfCAgMS4w MHRoPVsgIDQwOF0sICA1LjAwdGg9WyAgNTEwXSwgMTAuMDB0aD1bICA1NzhdLCAyMC4wMHRoPVsg DQo2NjhdLA0KICAgICB8IDMwLjAwdGg9WyAgNzM0XSwgNDAuMDB0aD1bICA3OTldLCA1MC4wMHRo PVsgIDg0OF0sIDYwLjAwdGg9WyANCjkwNl0sDQogICAgIHwgNzAuMDB0aD1bICA5NzFdLCA4MC4w MHRoPVsgMTA1N10sIDkwLjAwdGg9WyAxMTcyXSwgOTUuMDB0aD1bDQoxMzAzXSwNCiAgICAgfCA5 OS4wMHRoPVsgMTU5OF0sIDk5LjUwdGg9WyAxNzYyXSwgOTkuOTB0aD1bIDIzMTFdLCA5OS45NXRo PVsNCjI2MzhdLA0KICAgICB8IDk5Ljk5dGg9WyA0NDkwXQ0KICAgYncgKCAgS2lCL3MpOiBtaW49 MjI4NTIwLCBtYXg9MzE1NDY0LCBwZXI9MTAwLjAwJSwgYXZnPTI5MTA1OS40MywNCnN0ZGV2PTE0 MjAyLjQ1LCBzYW1wbGVzPTk4DQogICBpb3BzICAgICAgICA6IG1pbj01NzEzMCwgbWF4PTc4ODY2 LCBhdmc9NzI3NjQuOTAsIHN0ZGV2PTM1NTAuNjEsDQpzYW1wbGVzPTk4DQogIGxhdCAodXNlYykg ICA6IDI1MD0wLjAxJSwgNTAwPTQuMzIlLCA3NTA9MjcuOTglLCAxMDAwPTQxLjYxJQ0KICBsYXQg KG1zZWMpICAgOiAyPTI1Ljg1JSwgND0wLjIxJSwgMTA9MC4wMSUsIDEwMD0wLjAxJSwgMjUwPTAu MDElDQogIGNwdSAgICAgICAgICA6IHVzcj0xNS4xNSUsIHN5cz01MC4zNCUsIGN0eD0yMjYzMDMs IG1hamY9MCwgbWluZj00MzAxDQogIElPIGRlcHRocyAgICA6IDE9MC4xJSwgMj0wLjElLCA0PTAu MSUsIDg9MC4xJSwgMTY9MC4xJSwgMzI9MC4xJSwNCj49NjQ9MTAwLjAlDQogICAgIHN1Ym1pdCAg ICA6IDA9MC4wJSwgND0xMDAuMCUsIDg9MC4wJSwgMTY9MC4wJSwgMzI9MC4wJSwgNjQ9MC4wJSwN Cj49NjQ9MC4wJQ0KICAgICBjb21wbGV0ZSAgOiAwPTAuMCUsIDQ9MTAwLjAlLCA4PTAuMCUsIDE2 PTAuMCUsIDMyPTAuMCUsIDY0PTAuMSUsDQo+PTY0PTAuMCUNCiAgICAgaXNzdWVkIHJ3dHM6IHRv dGFsPTM1ODQwNjcsMCwwLDAgc2hvcnQ9MCwwLDAsMCBkcm9wcGVkPTAsMCwwLDANCiAgICAgbGF0 ZW5jeSAgIDogdGFyZ2V0PTAsIHdpbmRvdz0wLCBwZXJjZW50aWxlPTEwMC4wMCUsIGRlcHRoPTY0 DQoNClJ1biBzdGF0dXMgZ3JvdXAgMCAoYWxsIGpvYnMpOg0KICAgUkVBRDogYnc9Mjg0TWlCL3Mg KDI5OE1CL3MpLCAyODRNaUIvcy0yODRNaUIvcyAoMjk4TUIvcy0yOThNQi9zKSwNCmlvPTEzLjdH aUIgKDE0LjdHQiksIHJ1bj00OTMxNi00OTMxNm1zZWMNCg0KRGlzayBzdGF0cyAocmVhZC93cml0 ZSk6DQogIHNkYzogaW9zPTM1NzEyMDcvMCwgbWVyZ2U9MC8wLCB0aWNrcz0yODY4MjM3LzAsIGlu X3F1ZXVlPTI4NjgyMzcsDQp1dGlsPTk5LjkwJQ0KDQoNCg0Kd2l0aCB0Y21hbGxvYw0KLS0tLS0t LS0tLS0tLQ0KDQpmaW8gLS1maWxlbmFtZT0vZGV2L3NkYSAtLWRpcmVjdD0xIC0tcnc9cmFuZHJl YWQgLS1icz00ayAtLWlvZGVwdGg9NjQgLQ0KLWlvZW5naW5lPWxpYmFpbyAtLW5hbWUgdGVzdA0K dGVzdDogKGc9MCk6IHJ3PXJhbmRyZWFkLCBicz0oUikgNDA5NkItNDA5NkIsIChXKSA0MDk2Qi00 MDk2QiwgKFQpDQo0MDk2Qi00MDk2QiwgaW9lbmdpbmU9bGliYWlvLCBpb2RlcHRoPTY0DQpmaW8t My4zMw0KU3RhcnRpbmcgMSBwcm9jZXNzDQpeQ2JzOiAxIChmPTEpOiBbcigxKV1bMTkuMCVdW3I9 MzgzTWlCL3NdW3I9OTguMGsgSU9QU11bZXRhIDAzbTo0MnNdDQoNCg0KdGVzdDogKGdyb3VwaWQ9 MCwgam9icz0xKTogZXJyPSAwOiBwaWQ9MTI5MzogTW9uIEFwciAxMyAxNTowNTowNCAyMDI2DQog IHJlYWQ6IElPUFM9OTUuN2ssIEJXPTM3NE1pQi9zICgzOTJNQi9zKSgxOS4xR2lCLzUyMjU2bXNl YykNCiAgICBzbGF0ICh1c2VjKTogbWluPTIsIG1heD0xNjA1LCBhdmc9IDUuOTQsIHN0ZGV2PSAz LjkzDQogICAgY2xhdCAodXNlYyk6IG1pbj0xNTAsIG1heD03NDI2LCBhdmc9NjYxLjgzLCBzdGRl dj0yMDQuMjINCiAgICAgbGF0ICh1c2VjKTogbWluPTE1NywgbWF4PTc0MzMsIGF2Zz02NjcuNzcs IHN0ZGV2PTIwNC40Mg0KICAgIGNsYXQgcGVyY2VudGlsZXMgKHVzZWMpOg0KICAgICB8ICAxLjAw dGg9WyAgMzQ3XSwgIDUuMDB0aD1bICA0MTJdLCAxMC4wMHRoPVsgIDQ1M10sIDIwLjAwdGg9WyAN CjUwNl0sDQogICAgIHwgMzAuMDB0aD1bICA1NTNdLCA0MC4wMHRoPVsgIDU4Nl0sIDUwLjAwdGg9 WyAgNjI3XSwgNjAuMDB0aD1bIA0KNjY4XSwNCiAgICAgfCA3MC4wMHRoPVsgIDcxN10sIDgwLjAw dGg9WyAgNzkxXSwgOTAuMDB0aD1bICA5MDZdLCA5NS4wMHRoPVsNCjEwMjBdLA0KICAgICB8IDk5 LjAwdGg9WyAxMzM2XSwgOTkuNTB0aD1bIDE1MDBdLCA5OS45MHRoPVsgMTkwOV0sIDk5Ljk1dGg9 Ww0KMjExNF0sDQogICAgIHwgOTkuOTl0aD1bIDMzNTldDQogICBidyAoICBLaUIvcyk6IG1pbj0z MjQyNjQsIG1heD00NDIxMjAsIHBlcj0xMDAuMDAlLCBhdmc9MzgzNDA1Ljk1LA0Kc3RkZXY9MjAy NjMuNTAsIHNhbXBsZXM9MTA0DQogICBpb3BzICAgICAgICA6IG1pbj04MTA2NiwgbWF4PTExMDUz MCwgYXZnPTk1ODUxLjYwLCBzdGRldj01MDY1Ljg3LA0Kc2FtcGxlcz0xMDQNCiAgbGF0ICh1c2Vj KSAgIDogMjUwPTAuMDIlLCA1MDA9MTguNDclLCA3NTA9NTYuMjUlLCAxMDAwPTE5LjU0JQ0KICBs YXQgKG1zZWMpICAgOiAyPTUuNjQlLCA0PTAuMDYlLCAxMD0wLjAxJQ0KICBjcHUgICAgICAgICAg OiB1c3I9MTkuNjElLCBzeXM9NjUuNTQlLCBjdHg9MjYyMTI5LCBtYWpmPTAsIG1pbmY9NDI5Ng0K ICBJTyBkZXB0aHMgICAgOiAxPTAuMSUsIDI9MC4xJSwgND0wLjElLCA4PTAuMSUsIDE2PTAuMSUs IDMyPTAuMSUsDQo+PTY0PTEwMC4wJQ0KICAgICBzdWJtaXQgICAgOiAwPTAuMCUsIDQ9MTAwLjAl LCA4PTAuMCUsIDE2PTAuMCUsIDMyPTAuMCUsIDY0PTAuMCUsDQo+PTY0PTAuMCUNCiAgICAgY29t cGxldGUgIDogMD0wLjAlLCA0PTEwMC4wJSwgOD0wLjAlLCAxNj0wLjAlLCAzMj0wLjAlLCA2ND0w LjElLA0KPj02ND0wLjAlDQogICAgIGlzc3VlZCByd3RzOiB0b3RhbD01MDAyOTMyLDAsMCwwIHNo b3J0PTAsMCwwLDAgZHJvcHBlZD0wLDAsMCwwDQogICAgIGxhdGVuY3kgICA6IHRhcmdldD0wLCB3 aW5kb3c9MCwgcGVyY2VudGlsZT0xMDAuMDAlLCBkZXB0aD02NA0KDQpSdW4gc3RhdHVzIGdyb3Vw IDAgKGFsbCBqb2JzKToNCiAgIFJFQUQ6IGJ3PTM3NE1pQi9zICgzOTJNQi9zKSwgMzc0TWlCL3Mt Mzc0TWlCL3MgKDM5Mk1CL3MtMzkyTUIvcyksDQppbz0xOS4xR2lCICgyMC41R0IpLCBydW49NTIy NTYtNTIyNTZtc2VjDQoNCkRpc2sgc3RhdHMgKHJlYWQvd3JpdGUpOg0KICBzZGE6IGlvcz00OTkw ODAxLzAsIG1lcmdlPTAvMCwgdGlja3M9Mjg2MjgzNy8wLCBpbl9xdWV1ZT0yODYyODM3LA0KdXRp bD05OS45MSUNCg0KDQoNCi0tLS0tLS0tIE1lc3NhZ2UgaW5pdGlhbCAtLS0tLS0tLQ0KRGU6IEtl ZnUgQ2hhaSA8ay5jaGFpQHByb3htb3guY29tPg0Kw4A6IEZpb25hIEVibmVyIDxmLmVibmVyQHBy b3htb3guY29tPiwgIkRFUlVNSUVSLCBBbGV4YW5kcmUiDQo8YWxleGFuZHJlLmRlcnVtaWVyQGdy b3VwZS1jeWxsZW5lLmNvbT4sIHB2ZS1kZXZlbEBsaXN0cy5wcm94bW94LmNvbQ0KPHB2ZS1kZXZl bEBsaXN0cy5wcm94bW94LmNvbT4NCk9iamV0OiBSZTogW1BBVENIIHB2ZS1xZW11IDAvMl0gUmUt ZW5hYmxlIHRjbWFsbG9jIGFzIHRoZSBtZW1vcnkNCmFsbG9jYXRvcg0KRGF0ZTogMTMvMDQvMjAy NiAxMzoxMzoxMg0KDQpPbiBNb24gQXByIDEzLCAyMDI2IGF0IDQ6MTQgUE0gQ1NULCBGaW9uYSBF Ym5lciB3cm90ZToNCj4gQW0gMTAuMDQuMjYgdW0gMTI6NDQgUE0gc2NocmllYiBERVJVTUlFUiwg QWxleGFuZHJlOg0KPiA+IA0KPiA+ID4gPiBIb3cgZG9lcyB0aGUgcGVyZm9ybWFuY2UgY2hhbmdl IHdoZW4gZG9pbmcgSU8gd2l0aGluIGEgUUVNVQ0KPiA+ID4gPiBndWVzdD8NCj4gPiA+ID4gDQo+ ID4gPiA+IEhvdyBkb2VzIHRoaXMgYWZmZWN0IHRoZSBwZXJmb3JtYW5jZSBmb3Igb3RoZXIgc3Rv cmFnZSB0eXBlcywNCj4gPiA+ID4gbGlrZQ0KPiA+ID4gPiBaRlMsDQo+ID4gPiA+IHFjb3cyIG9u IHRvcCBvZiBkaXJlY3RvcnktYmFzZWQgc3RvcmFnZXMsIHFjb3cyIG9uIHRvcCBvZiBMVk0sDQo+ ID4gPiA+IExWTS0NCj4gPiA+ID4gdGhpbiwNCj4gPiA+ID4gZXRjLiBhbmQgb3RoZXIgd29ya2xv YWRzIGxpa2Ugc2F2aW5nIFZNIHN0YXRlIGR1cmluZyBzbmFwc2hvdCwNCj4gPiA+ID4gdHJhbnNm ZXINCj4gPiA+ID4gZHVyaW5nIG1pZ3JhdGlvbiwgbWF5YmUgbWVtb3J5IGhvdHBsdWcvYmFsbG9v bmluZywgbmV0d29yaw0KPiA+ID4gPiBwZXJmb3JtYW5jZQ0KPiA+ID4gPiBmb3Igdk5JQ3M/DQoN CkhpIEZpb25hLA0KDQpUaGFua3MgZm9yIHRoZSBxdWVzdGlvbnMuDQoNCkkgdHJhY2VkIFFFTVUn cyBzb3VyY2UgY29kZS4gSXQgdHVybnMgb3V0IHRoYXQgZ3Vlc3QncyBSQU0gaXMgYWxsb2NhdGVk DQp2aWEgZGlyZWN0IG1tYXAoKSBjYWxscywgd2hpY2ggY29tcGxldGVseSBieXBhc3NpbmcgUUVN VSdzIEMgbGlicmFyeQ0KYWxsb2NhdG9yLiBUaGUgcGF0aCBsb29rcyBsaWtlOg0KDQotbSA0RyBv biBjb21tYW5kIGxpbmU6DQoNCm1lbW9yeV9yZWdpb25faW5pdF9yYW1fZmxhZ3Nfbm9taWdyYXRl KCnCoMKgIA0KwqAgcWVtdV9yYW1fYWxsb2MoKQ0KwqDCoMKgIHFlbXVfcmFtX2FsbG9jX2ludGVy bmFsKCkNCsKgwqDCoMKgwqAgZ19tYWxsb2MwKHNpemVvZigqbmV3X2Jsb2NrKSnCoCA8LS0gb25s eSB0aGUgUkFNQmxvY2sgbWV0YWRhdGENCsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCwg YWJvdXQgNTEyIGJ5dGVzDQrCoMKgwqDCoMKgIHJhbV9ibG9ja19hZGQoKQ0KwqDCoMKgwqDCoMKg wqAgcWVtdV9hbm9uX3JhbV9hbGxvYygpDQrCoMKgwqDCoMKgwqDCoMKgwqAgcWVtdV9yYW1fbW1h cCgtMSwgc2l6ZSwgLi4uKQ0KwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBtbWFwX3Jlc2VydmUodG90 YWwpDQrCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBtbWFwKDAsIHNpemUsIFBST1RfTk9ORSwg Li4uKcKgIDwtLSByZXNlcnZlIGFkZHJlc3Mgc3BhY2UNCsKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg bW1hcF9hY3RpdmF0ZShwdHIsIHNpemUsIC4uLikNCsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IG1tYXAocHRyLCBzaXplLCBQUk9UX1JXLCAuLi4pwqAgPC0tIGFjdHVhbCBndWVzdCBSQU0NCg0K U28gdGhlIGdpZ2FieXRlcyBvZiBndWVzdCBtZW1vcnkgZ28gc3RyYWlnaHQgdG8gdGhlIGtlcm5l bCB2aWEgbW1hcCgpDQphbmQgbmV2ZXIgdG91Y2ggbWFsbG9jIG9yIHRjbWFsbG9jLiBPbmx5IHRo ZSBzbWFsbCBSQU1CbG9jayBtZXRhZGF0YQ0Kc3RydWN0dXJlICh+NTEyIGJ5dGVzIHBlciByZWdp b24pIGdvZXMgdGhyb3VnaCBnX21hbGxvYzAoKS4NCg0KSW4gb3RoZXIgd29yZHMsIHRjbWFsbG9j J3Mgc2NvcGUgaXMgbGltaXRlZCB0byBRRU1VJ3Mgb3duIHdvcmtpbmcNCm1lbW9yeSwgYW1vbmcg b3RoZXIgdGhpbmdzLCBibG9jayBsYXllciBidWZmZXJzLCBjb3JvdXRpbmUgc3RhY2tzLA0KaW50 ZXJuYWwgZGF0YSBzdHJ1Y3RzLiBJdCBkb2VzIG5vdCB0b3VjaCBndWVzIFJBTSBhdCBhbGwuDQoN ClRoZSBpbmZsYXQvZGVmbGF0ZSBwYXRoIG9mIGJhbGxvb24gY29kZSBkb2VzIGludm9sdmUgZ2xp YiBtYWxsb2MuIEl0J3MNCnZpcnRpb19iYWxsb29uX3BicF9hbGxvYygpLCB3aGljaCBjYWxscyBi aXRtYXBfbmV3KCkgdmlhIGdfbmV3MCgpIHRvDQp0cmFjayBwYXJ0aWFsbHktYmFsbG9vbmVkIHBh Z2VzLiBCdXQgdGhlc2UgYml0bWFwcyB0cmFja3Mgb25seQ0KbWV0YWRhdGEsDQp3aG9zZSBtZW1v cnkgZm9vdHByaW50cyBhcmUgcmVsYXRpdmVseSBzbWFsbC4gQW5kIHRoaXMgb25seSBoYXBwZW5z IGluIA0KaW5mcmVxdWVudCBvcGVyYXRpb25zLg0KDQpIb3BlZnVsbHksIHRoaXMgYWRkcmVzc2Vz IHRoZSBiYWxsb29uIGNvbmNlcm4uIElmIEkndmUgbWlzc2VkIHNvbWV0aGluZw0Kb3IgbWlzcmVh ZCB0aGUgY29kZSwgcGxlYXNlIGhlbHAgcG9pbnQgaXQgb3V0Lg0KDQpXaGVuIGl0IGNvbWVzIHRv IGRpZmZlcmVudCBzdG9yYWdlIHR5cGVzIGFuZCB3b3JrbG9hZHMsIEkgcmFuDQpiZW5jaG1hcmtz DQpjb3ZlcmluZyBzb21lIHNjZW5hcmlvcyB5b3UgbGlzdGVkLiBBbGwgY29tcGFyaXNvbiB1c2Ug dGhlIHNhbWUgYmluYXJ5DQoocHZlLXFlbXUta3ZtIDEwLjEuMi03KSB3aXRoIGFuZCB3aXRob3V0 IExEX1BSRUxPQUQ9bGlidGNtYWxsb2Muc28uNCwNCnNvDQp0aGUgYWxsb2NhdG9yIGlzIHRoZSBv bmx5IHZhcmlhYmxlLg0KDQoNClN0b3JhZ2UgYmFja2VuZHMgKGJsb2NrIGxheWVyLCB2aWEgcWVt dS1pbWcgYmVuY2gpDQoNCsKgIDRLIHJlYWRzLCBkZXB0aD0zMiwgaW9fdXJpbmcsIGNhY2hlPW5v bmUsIDVNIG9wcyBwZXIgcnVuLCBiZXN0DQrCoCBvZiAzLiBIb3N0IE5WTWUgKGV4dDQpIG9yIExW TS10aGluIGJhY2tlZCBieSBOVk1lLg0KDQrCoCBiYWNrZW5kwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgZ2xpYmMgb3BzL3PCoMKgIHRjbWFsbG9jIG9wcy9zwqDCoCBkZWx0YQ0KwqAgcWNvdzIg b24gZXh0NMKgwqDCoMKgwqDCoMKgIDEsMTg4LDQ5NcKgwqDCoMKgIDEsMTg5LDM0M8KgwqDCoMKg wqDCoMKgICswLjElDQrCoCBxY293MiBvbiBleHQ0IHdyaXRlwqAgMSwwMzYsOTE0wqDCoMKgwqAg MSwwMzYsNjk5wqDCoMKgwqDCoMKgwqDCoCAwLjAlDQrCoCByYXcgb24gZXh0NMKgwqDCoMKgwqDC oMKgwqDCoCAxLDI2Myw1ODPCoMKgwqDCoCAxLDI3Nyw0NjXCoMKgwqDCoMKgwqDCoCArMS4xJQ0K wqAgcmF3IG9uIExWTS10aGluwqDCoMKgwqDCoMKgwqAgNDMzLDcyN8KgwqDCoMKgwqDCoCA0MzMs NTc2wqDCoMKgwqDCoMKgwqDCoCAwLjAlDQoNCsKgIFRoZSByZWFzb24gd2h5IHJhdy9MVk0tdGhp biBpcyBzbG93ZXIsIGlzIHRoYXQsIEkgKnRoaW5rKiBpdCBhY3R1YWxseQ0KwqAgaGl0cyB0aGUg ZG0tdGhpbiBsYXllciByYXRoZXIgdGhhbiBwYWdlIGNhY2hlLiBUaGUgYWxsb2NhdG9yIGRlbHRh IGlzDQrCoCBub2lzZSBpbiBhbGwgY2FzZXMuDQoNCsKgIFJCRCB0ZXN0ZWQgdmlhIGEgbG9jYWwg dnN0YXJ0IGNsdXN0ZXIgKDMgT1NEcywgYmx1ZXN0b3JlIG9uIE5WTWUpOg0KDQrCoCBwYXRowqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBnbGliY8KgwqDCoMKg wqDCoCB0Y21hbGxvY8KgwqDCoCBkZWx0YQ0KwqAgcWVtdS1pbWcgYmVuY2ggKyBsaWJyYmTCoMKg wqDCoCAxOSwxMTHCoMKgwqDCoMKgIDE5LDE1NsKgwqDCoMKgwqAgKzAuMiUNCsKgIHJiZCBiZW5j aCAobGlicmJkIGRpcmVjdCnCoMKgIDM1LDMyOcKgwqDCoMKgwqAgMzYsNjIywqDCoMKgwqDCoCAr My43JQ0KDQrCoCBJIGRvbid0IGhhdmUgWkZTIGNvbmZpZ3VyZWQgb24gdGhpcyAoaG9zdCkgbWFj aGluZSwgYnV0IFFFTVUncyBmaWxlDQpJL08NCsKgIHBhdGggdG8gWkZTIGdvZXMgdGhyb3VnaCB0 aGUgc2FtZSBjb2RlIGFzIGV4dDQsIHNvIHRoZSBkaWZmZXJlbmNlDQrCoCBpcyBpbiB0aGUga2Vy bmVsLiBJJ2QgZXhwZWN0IHRoZSBzYW1lIG51bGwgcmVzdWx0LA0KwqAgdGhvdWdoIEkgY291bGQg YmUgd3JvbmcgYW5kIGFtIGhhcHB5IHRvIHNldCB1cCBhIHRlc3QgcG9vbCBpZg0KwqAgeW91J2Qg bGlrZSB0byBzZWUgdGhlIG51bWJlcnMuDQoNCkd1ZXN0IEkvTyAoRGViaWFuIDEzIGd1ZXN0LCB2 aXJ0aW8tYmxrKQ0KDQrCoCBSYW4gZGQgaW5zaWRlIGEgRGViaWFuIDEzIGNsb3VkIGltYWdlIGd1 ZXN0ICg0IHZDUFUsIDIgR0IgUkFNLA0KwqAgcWNvdzIgb24gZXh0NCwgY2FjaGU9bm9uZSwgYWlv PW5hdGl2ZSkgYWdhaW5zdCBhIHNlY29uZCB2aXJ0aW8NCsKgIGRpc2sgKC9kZXYvdmRiLCA4IEdC IHFjb3cyKS4NCg0KwqAgd29ya2xvYWTCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGdsaWJjwqDCoMKgwqAgdGNtYWxsb2PCoMKgIGRlbHRh DQrCoCBkZCBpZj0vZGV2L3ZkYiBicz00TSBjb3VudD0xMDI0wqDCoMKgwqDCoMKgIDE1LjMgR0Iv cyAxNS41IEdCL3PCoCArMS4zJQ0KwqDCoMKgIGlmbGFnPWRpcmVjdCAoc2VxdWVudGlhbCkNCsKg IDh4IHBhcmFsbGVsIGRkIGlmPS9kZXYvdmRiIGJzPTRrwqDCoMKgwqDCoCA3ODcgTUIvc8KgIDg3 MCBNQi9zwqAgKzEwLjUlDQrCoMKgwqAgY291bnQ9MTAwayBpZmxhZz1kaXJlY3QNCsKgwqDCoCAo ZWFjaCBzdGFydGluZyBhdCBhIGRpZmZlcmVudCBvZmZzZXQpDQoNCk1pZ3JhdGlvbiBhbmQgc2F2 ZXZtDQoNCsKgIFRlc3RlZCB3aXRoIGEgNCBHQiBndWVzdCB3aGVyZSBhYm91dCAyIEdCIG9mIFJB TSB3YXMgZGlydGllZA0KwqAgKGZpbGxlZCAvZGV2L3NobSB3aXRoIHVyYW5kb20sIDh4MjU2IE1C KSBiZWZvcmUgdHJpZ2dlcmluZyBlYWNoDQrCoCBvcGVyYXRpb24uDQoNCsKgIHNjZW5hcmlvwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGdsaWJjwqDCoMKgwqDCoCB0Y21hbGxvY8KgwqAg ZGVsdGENCsKgIG1pZ3JhdGUgKGV4ZWM6IFVSSSnCoMKgwqDCoCAwLjYyMiBzwqDCoMKgIDAuNjIy IHPCoMKgwqAgMC4wJQ0KwqAgc2F2ZXZtIChxY293MiBzbmFwKcKgwqDCoMKgIDAuNTAzIHPCoMKg wqAgMC41MDQgc8KgwqDCoCArMC4yJQ0KDQpXaGF0IEkgZGlkbid0IG1lYXN1cmUNCg0KwqAgSSBk aWQnbnQgdGVzdCBaRlMvdk5JQyB0aHJvdWdocHV0LCBhcyB0aGUgaG9zdCBwYXRoIGxpdmVzIGlu IHRoZQ0Ka2VybmVsDQrCoCBzaWRlLCB3aGlsZSBRRU1VIG9ubHkgaGFuZGxlcyB0aGUgY29udHJv bCBwbGFuZS4gSGVuY2UgSSdkIGV4cGVjdA0KdmVyeQ0KwqAgbGl0dGxlIGFsbG9jYXRvciBpbXBh Y3QgdGhlcmUsIHRob3VnaCBJIGNvdWxkIGJlIHdyb25nLg0KDQrCoCBJIGFsc28gZGlkbid0IHRl c3QgbWVtb3J5IGhvdHBsdWcgb24gYmFsbG9vbmluZyBjYXNlcywgYmVjYXVzZSwgYXMNCsKgIGV4 cGxhaW5lZCBhYm92ZSwgdGhlc2UgYXJlIHJhcmUgb25lLXNob3Qgb3BlcmF0aW9ucy4gYW5kIGFz IHRoZQ0Kc291cmNlDQrCoCBjb2RlIHRyYWNlIHNob3dzIG1hbGxvYyBpcyBub3QgaW52b2x2ZWQu IEJ1dCBhZ2FpbiwgaGFwcHkgdG8gbG9vaw0KaW50bw0KwqAgaXQsIGlmIGl0J3Mgc3RpbGwgYSBj b25jZXJuLg0KDQo+ID4gDQo+ID4gSGkgRmlvbmEsDQo+ID4gDQo+ID4gSSdtIHN0aWwgcnVubmlu ZyBpbiBwcm9kdWN0aW9uIChJIGhhdmUga2VlcGVkIHRjbWFsbG9jIGFmdGVyIHRoZQ0KPiA+IHJl bW92YWwgc29tZSB5ZWFyIGFnbyBmcm9tIHRoZSBwdmUgYnVpbGQpLCBhbmQgSSBkaWRuJ3Qgbm90 aWNlDQo+ID4gcHJvYmxlbS4NCj4gPiAoYnV0IEkgc3RpbGwgZG9uJ3QgdXNlIHBicykuDQo+ID4g DQo+ID4gQnV0IEkgbmV2ZXIgaGF2ZSBkb25lIGJlbmNoIHdpdGgvd2l0aG91dCBpdCBzaW5jZSA1 LzYgeWVhci4NCg0KQW5kIHRoYW5rcyBBbGV4YW5kcmUgZm9yIHNoYXJpbmcgeW91ciBwcm9kdWN0 aW9uIGV4cGVyaWVuY2UsIHRoYXQncw0KdmVyeQ0KdmFsdWFibGUgY29udGV4dC4NCg0KPiA+IA0K PiA+IE1heWJlIHZtIG1lbW9yeSBzaG91bGQgYmUgY2hlY2tlZCB0b28sIEknbSB0aGlua2luZyBh Ym91dCBSU1MNCj4gPiBtZW1vcnkNCj4gPiB3aXRoIGJhbGxvb24gZnJlZV9wYWdlX3JlcG9ydGlu ZywgdG8gc2VlIGlmIGl0J3MgY29ycmVjdGluZyBmcmVlaW5nDQo+ID4gbWVtb3J5Lg0KDQpGb3Ig ZnJlZV9wYWdlX3JlcG9ydGluZywgdGhlIFZJUlRJT19CQUxMT09OX0ZfUkVQT1JUSU5HIHBhdGg6 DQoNCnZpcnR1YWxfYmFsbG9vbl9oYW5kbGVfcmVwb3J0KCkNCsKgIHJhbV9ibG9ja19kaXNjYXJk X3JhbmdlKCkNCsKgwqDCoCBtYWR2aXNlKGhvc3Rfc3RhcnRhZGRyLCBrZWJuZ3RoLCBRRU1VX01B RFZfRE9OVE5FRUQpDQoNClRoaXMgb3BlcmF0ZXMgZGlyZWN0bHkgb24gdGhlIG1tYXAnZWQgZ3Vl c3QgUkFNIHJlZ2lvbi4gU3RpbGwgbm8gbWFsbG9jDQppbnZvbHZlbWVudCBhbnl3aGVyZSBpbiB0 aGlzIHBhdGguDQoNCkluIHNob3J0LCB0aGUgdGVzdHMgYWJvdmUgcmV2ZWFsIGEgY29uc2lzdGVu dCBwYXR0ZXJuOiB0Y21hbGxvYyBoZWxwcw0Kd2hlcmUgYWxsb2NhdGlvbiBwcmVzc3VyZSBpcyBo aWdoLCBhbmQgaXMgbmV1dHJhbCBldmVyeXdoZXJlIGVsc2UuDQpQbGVhc2UgbGV0IG1lIGtub3cg aWYgeW91J2QgbGlrZSBtb3JlIGRhdGEgb24gYW55IHNwZWNpZmljIHdvcmtsb2FkLCBvcg0KaWYg dGhlcmUgaXMgYW55dGhpbmcgSSBvdmVybG9va2VkLiBJIGFwcHJlY2lhdGUgdGhlIGNhcmVmdWwg cmV2aWV3IGFuZA0KaW5zaWdodHMuDQoNCg0KPiANCj4gVGhhbmtzISBJZiBpdCB3YXMgcnVubmlu ZyBmaW5lIGZvciB5b3UgZm9yIHRoaXMgbG9uZywgdGhhdCBpcyBhIHZlcnkNCj4gZ29vZCBkYXRh IHBvaW50IDopIFN0aWxsLCB0ZXN0aW5nIGRpZmZlcmVudCBzY2VuYXJpb3MvY29uZmlndXJhdGlv bnMNCj4gd291bGQgYmUgbmljZSB0byBydWxlIG91dCB0aGF0IHRoZXJlIGlzIGEgKHBlcmZvcm1h bmNlKSByZWdyZXNzaW9uDQo+IHNvbWV3aGVyZSBlbHNlLg0KDQpjaGVlcnMsDQpLZWZ1DQoNCg==