From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id 732891FF13F for ; Thu, 29 Jan 2026 09:05:48 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 636732103C; Thu, 29 Jan 2026 09:06:12 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=kUyvgUWsEm8cXkXorHx3jv+9JRr+qMOkAD4mpAUiGw7UHHnyNTTEGYXGaMxZiGB/ZRmVZkl8YVLaLsz7UyHvWHEtN+g12kF95glY5MM814zihE6g9PwCavBnq09tCpz9Hyj5uFawwnCMZmUHbk2pkJZEyhTxK6yIWO/izbNYgEVD5CN9Fc99scgHakj9M8MwXqxy0y+P1qq13/etmh3xRi2WYULFBRb7ccvBR5JWgCXqkBRr7kMmnFzACz5OGeO++Rp++NFfss04t1muDwr3eNp+c7/oOfILmoxLgWxqht0+mMpo9X+Lqpu68kte78hS7keKSir2S2r1NU7VmWJ48Q== 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=f8X87vUD+o9KhJ8XbmnYAFmraMTDRDPVzAzV9xNTzEo=; b=v/NF6v+t8e8XIFr4Lop3pWeT/JU3MeeNiuQB/l72SRtw4xHjv8TQKB9IMrIMUVifZEArEuM5fCTA7wyHTLYxuzdW0XerV1/pDnwGPpL9Z4iHPiHiRlGKo5O2CkbGm9F9vt7lF6oZa3UF9hbr4de3rUuCmUSJMaSVPmpSWfxx0Znbb6jfIsFJnWQcZrwRAQTRd0BCZbAD2E7vkyxHGpiHgFZ2sEGy8Ozo5H1G7UGQj8ArOLQJ6IXbbvpJrDL/PEIn1QvCn0597UejO84BlM0EFkSudJFfqADeyYAXjHHT5WGR1HMuWrq41PEE9xr4ViBL1CI1a5Kl5E7JLhXxs6T1gw== 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=f8X87vUD+o9KhJ8XbmnYAFmraMTDRDPVzAzV9xNTzEo=; b=U1ZB1+mGt8Omxe7USBJjGmfgWwCQ9eCaYMn3HWPUqEzPEzFgXkUyhSEhpN4Bftzdj4ksTxcSt9+xNC7nibHumI897JkC4I3lTPDfDqgB9E+FE25p3sR0nDDwGJD8p/2kc9Ck69CA7KnD1VrUmua7udsmUpWvPrdyR5PokD1C9UY= From: "DERUMIER, Alexandre" To: "pve-devel@lists.proxmox.com" Subject: Re: [pve-devel] PVE Auditing System Thread-Topic: [pve-devel] PVE Auditing System Thread-Index: AQHcjnCRnpUSlhWKvEaotDyC8r0gRLVoxa4A Date: Thu, 29 Jan 2026 07:31:29 +0000 Message-ID: <3fa0f706c47fd855c7e5c3b1e9adc51f70befa9f.camel@groupe-cyllene.com> References: 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_|MR1P264MB2418:EE_ x-ms-office365-filtering-correlation-id: ee957439-0ba9-4e10-1948-08de5f086b40 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|366016|1800799024|376014|7142099003|38070700021; x-microsoft-antispam-message-info: =?utf-8?B?YzZ1czhjYytXcmYwQzFtWHhqZTA1OW9ianFiMHF2b1FGczBzMXgwRkt0ZXBI?= =?utf-8?B?QlpLS0ZsRThtY1hPT2JXZW1ZWTBBc1Evdi9mc1JGMnlTcEljUFJNcVJ3Y2sy?= =?utf-8?B?SUVzdy9aNjZnb2N3WkMvckpzT1JCRE5Yai94dzlmRklzelJiU2VRUktJU0tN?= =?utf-8?B?Y0ZLN3BHRVVrc0E5WUNNQjBHSlRqL1o3Z1MyRlR3TEd2aUduSW1tRDF2U1hm?= =?utf-8?B?N2hERTRPQ2dqUjVPV2trc0Y0T0VjeGRmZ29SVkZab2paVUtZbzF4aVVXU2k0?= =?utf-8?B?MWJpWVhJSW9oMERWcjFTQllMa3l5UHdzZ0lQUTJlbys2NkNpMmxEYUlaMGdl?= =?utf-8?B?SzBKbXdjRHhBTW11cmIvQ3VBVjVDQW5lc2Z6S0dhMXkzTDBhelFHT2tocG1V?= =?utf-8?B?S3ZmWTZPUEphMGVQdmJhWkY2UVBHSmZkQXdOU2k4ZzNxZDF6ZU9IKzdEbHBY?= =?utf-8?B?WFpBd3k3MmVsM2VSY1R2MFdtanRYT0g0VDhtb1kvZmp2YzFGc1U2ZTQyVjgw?= =?utf-8?B?eEh0QXRlZjZyTnVvclZzdHJyWFd3czhDeHNCek5FWE1PWkN5eldXb1Z5Y0Ra?= =?utf-8?B?N05ybXh0YUFTYUdwYVJZa01XZ1plK2ZTeURNTjF2Sy9XcXFtR0VzTDJRTk9y?= =?utf-8?B?RUF1N1FCWnhWNlg5SzVsVHc1MHU5TUxuMjJTeHd4bjFOTTByaUdvTTVhZG5Z?= =?utf-8?B?dnpsRmJGbDdIZmpFZExKM2wxcHZXZGV6TUlzU0t5SDdBcVZTK3hDbmJMNlIz?= =?utf-8?B?cGI1NktQZDJSNU45L2pQb00yOHhXT0Rhc2NqU3pPUSs5aFRCU1k0L0pHZk9z?= =?utf-8?B?bXkyQUJ0MDRNeG1UODY5dFY1NTBHanNUNis3T1FTamxEV0tuZklhVG5EOTFD?= =?utf-8?B?M0NJT2lRZmJyaFlTMEhpTDIwRGhySTV2OFZIQmtMN3ZmdFYzZDZDZ3Q1R3Vo?= =?utf-8?B?N1hoT251eEZSQkRxQTRLaWZyWlNRYjBDZSsxOVgxZFdTaGxLS2FPYlVLK0Rn?= =?utf-8?B?YnZodk9LSG1yb2llVEtqcDE2ZUFmaUdNMW9vTkZwUVNWdm5IOUYycGs0b3Vj?= =?utf-8?B?b3dOL2Y3RGJPZUtvZHVZMFJscWh3ZklLM0NUUXFURXlVZTJnU2NMTDJFM2JB?= =?utf-8?B?L21zU3Z3c0xFMUZab21zQ3IzZEgwaXJRRGlqdW9CT3p4WW5INTBjaGN2NWVR?= =?utf-8?B?S2IrTlZIWEI3VGQwam5hYjBLbXFpa3lLNVljM0VycjhIWEUzNGhPWW16RkRC?= =?utf-8?B?dHJBZU54TWZuMkJLY2I1Uk1ZZi9razk0blJiTnROWlpTRUpyaFRlOS82WFZa?= =?utf-8?B?UEZZNlZXTi8yU0F1d1hNc2pXZ1lKOC93b21GKzYwWExkWE9LV2dHaE1aR2lt?= =?utf-8?B?QjEySUdCeE5BZVQxejU2RUJiQ0hVeGV5dk9KMjRLSWVlOVN1bE5yKzROU0lQ?= =?utf-8?B?Z0N5Q3JzZjdrREpNVTFiUXJQa2FCK1N1SUpadnBXbXpPeU95emw2bC9McjJM?= =?utf-8?B?aFplcm5keWVicjF4TnQzMUU1MDlVQnlDc2lGQjNxMEFPblhuYTdNb0E5Y2E0?= =?utf-8?B?d0REN2QrMitkMW5FUDBGc2dpanI5bGxsc2NOZkdBSDk1RHo2MHhURFNpZFc1?= =?utf-8?B?RmhHcXM5ejJjRnhPQWR4Tkd6czMxVDYzaThvcWt5dkREb3p5WnVnOWlHYzZl?= =?utf-8?B?WkFIY3FMTTZaZVUwRVpBQ3UybjBzcHlvZDZLNnNYNXIwSFZ2TGFXZmNjbTlE?= =?utf-8?B?QmlHcU9MZnM4NkJoQ3BrMUFrSjMrTzR2emIwN1lzS0R0YnFoWTkxNUpGdlll?= =?utf-8?B?MURGcUVEK3FpSHJGQm9DakkrNm9DTk1jTlhoSytyYTZDcVg4V2UvMkhJVlBV?= =?utf-8?B?MnY4enVad3JqaFAvSk9wZzdySUN1YWd3QTNPYW5zdjluWGVVVTBkWFdVYTFO?= =?utf-8?B?N283S1lBczZja2QrazJlalZ4dVBwbVR3a1piTi9RSjluRHBHb2tkdmI2ek0w?= =?utf-8?B?N3cwU2tGd3dOODUrL1N5elVaTEtGS21sQTBmSUFIU1BVd1ZPbGIvdFZKRjdI?= =?utf-8?B?QVZVMEtuTGxYaWR1Z3BqclNqejY5eWNFYU9tai96RUlZMlRKUmYvRFFJY3Vk?= =?utf-8?Q?H8hQxHcCr9xdsaA5tB9jRFPkn?= 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)(1800799024)(376014)(7142099003)(38070700021);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?d2JOeTY2Q3RvR1ZGUTJMaFR2eENRbXNTemgyM1NGTmw5U2JiTXR5OGd1cVlX?= =?utf-8?B?dk83MUZPSEY2NmtlaGhaVndsVjQxSnBrVUZZN1hIdXpsSTU2dHN0bzhpVFFr?= =?utf-8?B?UC9SRDU0WHBFODhNeWV0cDdRakZrZ0xVNjBoRyt0RnhML2srbTk5YkI1TlFF?= =?utf-8?B?Um9QOG1xc29LZWZtazNUM2N1azRpV2JNRmE5OVppS1h3UG03K0RkRjcxZGw5?= =?utf-8?B?eCsyQjNjYjkrajJ6cUdDNk1Ia0JoSGwzQjVQVVdaQTZHdzRrdG43QXV0TVVz?= =?utf-8?B?L1E2MkZJTURjb3hXWldnSC9Wa01nS3dNVEV0ajg4N1hleVRwcDc2WWRxTVV2?= =?utf-8?B?ZU5LTVZZQy9yUnlJaGJFZ2V0UncrK3V3SWNFemwyMDl6eXpGVkRPSUkwZ01z?= =?utf-8?B?ZjNrSXFvdzlkVUwxWHY3dThSMTA2K295N0Q4S015UmJqWkcyMFR3MXJRbnBM?= =?utf-8?B?ZGVHbWdOangrdEtqdVU5S2U0WWg1NjdmWVBHTmplY1hKQWorSmNUSG55eHhZ?= =?utf-8?B?dlRHV01obkhXZ3d2ODF1UytxOGFiQ2RpS1VlQ3hPdCs5OUw2aXZaZG1YNG5B?= =?utf-8?B?VjNPTjdneWt2QUZSUU83dE9jL1JKa2hyZ3JZNCtJVjVoSno5M1B5M0cxNmpx?= =?utf-8?B?MlNKZ210SHFVZy8ySWRodzR6SGkzYVYxZlNPK1grbU85OWQ4S01aMjlsLzNB?= =?utf-8?B?WFRDbFZhczhrNkg0Y01DNmxGRW9yU09kU3hTSDJJd1l1VDY4dXdEZVg1YjRR?= =?utf-8?B?Q3VqYklyYmNLVFVNeXZZV2YvSysybjJIUUdqaXdHKzBONlhqdTVxTGRDdUdS?= =?utf-8?B?YWVwblN0OWxLNS9LN1dlM2J0aVd2STZFNThOdnhrZU9XbkxvaFFHcEo5dVJG?= =?utf-8?B?dmNqbTRORjRsWFBGTHREZkxWQ2kvRDYyWTdjOVFLeVhuZXI3SEQrb2tFYnA2?= =?utf-8?B?SDFCeVhCS3lFSkovKzNhejN3Q1NsQzRVWnowVjltUjNKbVVBaDJDcjAwcnYv?= =?utf-8?B?dVFsVW85Z3cwanJkci82SGZmZm9xK0ZwRGRyU212eHR3VGtIK3UzaXczeGhX?= =?utf-8?B?K3d4YXlzMUYwdGdlQ1N3SDVZSStaVlRwVXdlOXI4NFBXVDRBLzhKalpTZmdS?= =?utf-8?B?S1RPZVQxaURSU2pqZkhySHQwQm1iYTJDRk9TK2k2aWthTVozeklkZk1VWFFr?= =?utf-8?B?cjYwdEhrNnRuMW9Ra0hLSlkrdnEyd0tsdnhFRmYyNTRyb2ozcll6OXQ2YXZJ?= =?utf-8?B?SndBR25FN2pzbUw5eHVxaDhLdnVFWVA4d2lRanBUM0hadjV5c3pONzNvZ1Ex?= =?utf-8?B?dHhnVkN0R1lWM09lbEd3Q0FibmhESmVWVmZMWGU3Y0VHaUZPZ0dTRkthdFFi?= =?utf-8?B?aTVZS0ZMQkl0aGpXelhEQlNVVnhNdVpEVk12ZnVtV2o0aTJBUCt3WElJb2pR?= =?utf-8?B?bVFQcnpUUm56Vjh1czlyUDZZbE5ISDZGNktwREhMS2t0UmU2RndjdUdGZzlh?= =?utf-8?B?UE0rbXVoMm9EWno0eUJOaC9oYlV0eXZHUi8wd0tRQitPc2lPeW0vT0RyaG1R?= =?utf-8?B?eEMrd1U5N1M1T1hLZ0c5L000UVloMFFXbVRZNVdkWEh3eHQ2dVFGYUU4dmY5?= =?utf-8?B?ZE1tUnNVR2Z2aTRiOVo2dlN1ZVZjN3FZU2kxNHhjZmZCQzBPdmF0eHV4aHhG?= =?utf-8?B?Yjg0Zzl6LzZsSDZVYWxUSGJkL0t4Q3NaYlhrbU9OMU9USzRzNUtWYy9LZjhF?= =?utf-8?B?S3VZVlhQOEV0eXIrVFI1RkR3MjI2Ujdkb3kyWU9ybCtmNVJDZ3NXN05DYVBk?= =?utf-8?B?ejBLVE5vWkh2N1Y5d1NRNEtXVUVSTHR5cFExSmw1NEpxT2d3eXlCc3NYZmRi?= =?utf-8?B?M2U4T3RFcE41Y29DZXQ4L1MvQzZaTzdMODJmcVkyektFTWVHdkZveWNsOGw2?= =?utf-8?B?aU8ySHdmYUtNWnpoL29NNVh3T2VSOWxQZGkvYldxNDhWb21zcUdqS0xxbURs?= =?utf-8?B?K1VoY0h4ZnpyaHlyMWRRTE5salVkdGxZUWV3UFNUYnlrQnV3MTVtWCtwMDlM?= =?utf-8?B?OC9mUDBtclRFQ2pUaUtUcXVtY1NYa3NVK0xLait4SklrZFVxb1FuS0s4K1ov?= =?utf-8?B?elo2bExGT0JIUXhYSGpOa1pycE1hb2x0M1lTRnU2TDRrdG5WdTVqQmNlZS9z?= =?utf-8?B?Y1JsZ0ZPQktkUlViQ25XVGZyVEErYnppUkJKTTRUOUU3Ynl6VGcxN08vNGZJ?= =?utf-8?B?MWZDbnF2ZFo1VlVjVTBjeDRnZmxxbm5nVjFOOTFWVXZCcEFTenBCbXJwWE5h?= =?utf-8?B?aU1GeldhVXp2b3QwZmpvUXRSSUVNTVdqS3U0ODJ5aWVJTi9PYlY5SXNqNEZa?= =?utf-8?Q?bmHfzipx3sCoRYXe5aGPsS1GrhnmsYHh1Yx7+?= 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: ee957439-0ba9-4e10-1948-08de5f086b40 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Jan 2026 07:31:29.6354 (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: /o2TV1FXSGJLVCH9/4xKyjkkXXFnRFNwb3CtVON3se7VGOnwu3D3ukO5PlP6AMUGw6fZG3Ir1bURyl4Q4C7y3z2RbWHsxoVb7FC7iVtGiU0xG+s1o6YFr6pfrfA8EQUs X-MS-Exchange-Transport-CrossTenantHeadersStamped: MR1P264MB2418 X-SPAM-LEVEL: Spam detection results: 0 ARC_SIGNED 0.001 Message has a ARC signature ARC_VALID 0.001 Message has a valid ARC signature AWL -0.065 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 RCVD_IN_MSPIKE_H2 0.001 Average reputation (+2) RCVD_IN_VALIDITY_CERTIFIED_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_RPBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_SAFE_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. SPF_HELO_PASS -0.001 SPF: HELO matches SPF record SPF_PASS -0.001 SPF: sender matches SPF record Message-ID-Hash: 4JRPQ3FHUFJKBZIACEHD4U7WO5EMCIGG X-Message-ID-Hash: 4JRPQ3FHUFJKBZIACEHD4U7WO5EMCIGG 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: SGksDQoNCkknbSBhbHNvIGludGVyZXN0ZWQgYnkgdGhpcyBmZWF0dXJlLCBhcyB3ZSBhcmUgZ29p bmcgdG8gYnVpbGQgc29tZSBQQ0kNCmNvbXBsaWFudCBjbHVzdGVyIHNvb24sIGFuZCBjdXJyZW50 bHkgaXQncyBhbG1vc3QgaW1wb3NzaWJsZSB0byB0cmFjaw0Kd2hvIGlzIGRvaW5nIHdoYXQuDQoN Cih3ZSBzb21lIGluZm9zIGZvciB0YXNrLCBidXQgbm90IGZvciBhbGwgY2hhbmdlIGFjdGlvbnMg d2l0aG91dCB0YXNrLA0KYW5kIHRhc2tzIGFyZSBub3QgY2VudHJhbGlzZWQpLg0KDQpBdCBtaW5p bXVtLCBsb2dnaW5nIHRoZSByYXcgYXBpIHJlcXVlc3QgdXJsICYmIGNvbnRlbnQgKHJlbW92aW5n DQpjcmVkZW50aWFscyAmJiBvdGhlciBjcml0aWNhbCBpbmZvcyApIGZyb20gcHZlcHJveHkgd2l0 aCB0aW1lc3RhbXAgJiYNCnVzZXIgJiYgaXAgY291bGQgYmUgYSBmaXJzdCBzdGVwLg0KDQpQZXJz b25uYWx5LCBJIGNvdWxkIG1hbmFnZSB0byBwYXJzZSB0aGVtIHRvIHB1dCB0aGVtIGluIGEgc2ll bQ0KDQpiZXR0ZXIgY291bGQgYmUgdG8gaGF2ZSBhIHN0cnVjdHVyZWQgbG9nIHdpdGggYWN0aW9u LG9iamVjdCwuLi4gaW5kZWVkDQoNCmJ1dCBJIERvbid0IGhhdmUgdG9vIG11Y2ggdGltZSB0byB3 b3JrIG9uIHRoaXMgY3VycmVudGx5IDovDQoNCkFsZXhhbmRyZQ0KDQoNCg0KDQotLS0tLS0tLSBN ZXNzYWdlIGluaXRpYWwgLS0tLS0tLS0NCkRlOiBUaG9tYXMgU2tpbm5lciA8dGhvbWFzQGF0c2tp bm5lci5uZXQ+DQpSw6lwb25kcmUgw6A6IFByb3htb3ggVkUgZGV2ZWxvcG1lbnQgZGlzY3Vzc2lv biA8cHZlLQ0KZGV2ZWxAbGlzdHMucHJveG1veC5jb20+DQrDgDogUHJveG1veCBWRSBkZXZlbG9w bWVudCBkaXNjdXNzaW9uIDxwdmUtZGV2ZWxAbGlzdHMucHJveG1veC5jb20+DQpPYmpldDogW3B2 ZS1kZXZlbF0gUFZFIEF1ZGl0aW5nIFN5c3RlbQ0KRGF0ZTogMjYvMDEvMjAyNiAwNDowMzo0Ng0K DQpIZWxsbyENCg0KSSdtIGxvb2tpbmcgdG8gaW1wbGVtZW50IGFuIGF1ZGl0aW5nIHN5c3RlbSBm b3IgUFZFIHRvIGhlbHANCm9yZ2FuaXphdGlvbnMgYmV0dGVyIHVuZGVyc3RhbmQgdGhlIGFjdGlv bnMgcGVyZm9ybWVkIGJ5IHVzZXJzIHZpYSB0aGUNCkFQSS4gSW4gcmVmZXJlbmNlIHRvIHRoZSBj b252ZXJzYXRpb24gaW4gYnVnICM0MjQ0LCBpdCBzZWVtcyB0aGF0DQp0aGVyZSdzIG5vdCBjdXJy ZW50bHkgYW55IGRldmVsb3BtZW50IG9uIGFuIGF1ZGl0aW5nIHN5c3RlbS4gSSBhbSB3aXRoDQpG YWJpYW4gaW4gdGhhdCB3ZSBuZWVkIHRvIGZsZXNoIG91dCBhIGRlc2lnbiBiZWZvcmUgZ29pbmcg dG9vIGZhciBpbnRvDQpkZXZlbG9wbWVudC4gQmVsb3cgYXJlIFRob21hcyBMYW1wcmVjaHQncyB0 aG91Z2h0cyBmcm9tIGEgY291cGxlIHllYXJzDQphZ28gd2l0aCBteSBjb21tZW50cyBpbmxpbmUu DQoNCi0tLS0NCg0KPiAtIFsgXSBBdWRpdGluZyBGcmFtZXdvcmsNCj4gwqDCoMKgIC0gWyBdIEV4 cGxvcmUgc29tZSBhdWRpdGluZyBwcm9qZWN0cyBhbmQgcG9zc2libHkgc29tZSAoc2VjdXJpdHkp DQo+IHN0YW5kYXJkDQo+IMKgwqDCoMKgwqDCoMKgwqDCoCByZXF1aXJlbWVudHMgYWJvdXQgd2hh dCBjb3VsZCBiZSBhIGdvb2QgZmVhdHVyZSBzZXQgYW5kDQo+IGRlc2lnbiwgYW5kDQo+IMKgwqDC oMKgwqDCoMKgwqDCoCBhYm91dCB3aGF0IGlzIGEgcmVxdWlyZW1lbnQgdG8gaGF2ZSB0byBoZWxw IHVzZXJzIHdpdGgNCj4gc3RyaWN0DQo+IMKgwqDCoMKgwqDCoMKgwqDCoCByZXF1aXJlbWVudHMv cnVsZXMgb24gc3VjaCB0aGluZ3MgKGUuZy4sIGdvdiBhZ2VuY2llcykNCg0KQSBsb3Qgb2Ygd2hh dCBJJ3ZlIHNlZW4gaGF2ZSBiZWVuIHJlcXVpcmVtZW50cyB0byBiZSBhYmxlIHRvDQphZGp1c3Qv Y29uZmlndXJlIHN1Y2Nlc3MvZmFpbHVyZSBhdWRpdGluZyBmb3IgZWxldmF0ZWQgcHJpdmlsZWdl cywNCmFjY2VzcyBjb250cm9sIENSVUQgKHVzZXIvZ3JvdXAvZG9tYWluL0FDTCksIGFuZCBvdGhl cg0Kb3JnYW5pemF0aW9uYWxseSBkZWZpbmVkIHJlcXVpcmVtZW50cyAoYSBjYXRjaC1hbGwgZm9y IHN1YmplY3RpdmVseQ0KX2ltcG9ydGFudF8gaGFwcGVuaW5nIGluIHRoZSBhcHBsaWNhdGlvbiku IFRoZSBsb2dzIG11c3QgYmUgaW4gYQ0Kc3RhbmRhcmRpemVkIGZvcm1hdCBpbmNsdWRpbmcgZW50 aXRpZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBldmVudCBhbmQNCmFuIGFjY3VyYXRlIHJlcHJlc2Vu dGF0aW9uIG9mIHdoYXQvd2hlbi93aGVyZSBhY3Rpb25zIG9jY3VycmVkLiBTb21lDQpvZiB0aGUg cmVxdWlyZW1lbnRzIGluIHRoZSBVUyBzdGVtIGZyb20gUENJLCBOSVNUIChzcGVjaWZpY2FsbHkN CjgwMHI1MyksIGFuZCBISVBBQS4NCg0KPiDCoMKgwqAgLSBbIF0gUHJvYmFibHkgYWRkIHNvbWUg KHJvb3Qgb25seSkgbG9nIGZvcm1hdCBvbiBkaXNrIHRoYXQgY2FuDQo+IGJlDQo+IMKgwqDCoMKg wqDCoMKgwqDCoCBmaWx0ZXJlZCwgcm90YXRlZCBhbmQgYWxsb3dzIGNvbmZpZ3VyaW5nIHNvbWUg Z3VhcmFudGVlcw0KPiBmb3IgaG93IGxvbmcNCj4gwqDCoMKgwqDCoMKgwqDCoMKgIHN0dWZmIGlz IHNhdmVkDQoNCkkgd291bGQgc2F5IGxlYXZlIHRoZSBzaXplLCByb3RhdGlvbiwgYW5kIHJldGVu dGlvbiB1cCB0byB0aGUgdXNlci4NClRoZSB3YXkgdGhhdCBsb2dyb3RhdGUgaXMgYWxyZWFkeSB1 c2VkIGluIHRoZSBwdmVwcm94eSBsb2dzIHNob3VsZA0KYWxyZWFkeSBiZSBzdWZmaWNpZW50bHkg Y29uZmlndXJhYmxlIGZvciB0aGlzLiBJbiBzb21lIGZpZGRsaW5nIHNvDQpmYXIsIEkgZm91bmQg aXQgZWFzaWVzdCB0byBzcGl0IG91dCBhIGxlYXN0IHByaXZpbGVnZSBsb2cgZmlsZSBmb3INCmVh Y2ggb2YgcHZlcHJveHksIHB2ZWRhZW1vbiwgYW5kIHNwaWNlcHJveHkgYWxsIGluIEpTT04gZm9y bWF0LCB3aGljaA0KaXMgaGlnaGx5IGluZ2VzdGlibGUgYW5kIGV4dGVuZGFibGUgbGF0ZXIuIFVs dGltYXRlbHksIEkgdGhpbmsgdGhlDQpvdXRwdXQgc2hvdWxkIGJlIHRvIGEgZmlsZSB0aGF0IHNv bWUgbG9nIGluZ2VzdGVyIGNvdWxkIHJlYWQgZm9yDQphZ2dyZWdhdGlvbiBvbiBhbm90aGVyIHN5 c3RlbSBpZiByZXF1aXJlZC4NCg0KPiDCoMKgwqAgLSBbIF0gVGhlbiwgb25lIHByb2JhYmx5IHdh bnRzIGhvb2svdHJhY2Ugb24gZXZlcnkgY29uZmlnIGNoYW5nZQ0KPiBvZiBndWVzdHMNCj4gwqDC oMKgwqDCoMKgwqDCoMKgIGFuZCBub2RlIHJlbGV2YW50IHN0dWZmIHdpdGggYW4gc2lnbmF0dXJl IGxpa2U6IGAoJHR5cGUsDQo+ICRpZCwNCj4gwqDCoMKgwqDCoMKgwqDCoMKgICRjaGFuZ2Uta2V5 LCAkb2xkLCAkbmV3KWAgd2hlcmUgYCR0eXBlYCBhbmQgYCRjaGFuZ2Uta2V5YA0KPiB0byBiZQ0K PiDCoMKgwqDCoMKgwqDCoMKgwqAgY29uc2lkZXJlZCBBUEkgKG5vIGFyYml0cmFyeSBjaGFuZ2Vz IG9mIGV4aXN0aW5nIG9uZXMpIGFuZA0KPiBgJG9sZGAgYW5kDQo+IMKgwqDCoMKgwqDCoMKgwqDC oCBgJG5ld2AgYXJlIGFyYml0cmFyeSAoc2NhbGFyLCBoYXNoL2FycmF5IHJlZikuDQoNCkEgZ29v ZCBob29rIHNwb3QgbG9va3MgbGlrZSBpbiB0aGUgYHJlc3RfaGFuZGxlcmAgZnVuY3Rpb24gaW4N CmBQVkUvSFRUUFNlcnZlci5wbWAgb2YgdGhlIHB2ZS1tYW5hZ2VyIHBhY2thZ2UuIEknZCBwcm9w b3NlIGhhdmluZyBhDQpjYWxsIG91dHNpZGUgb2YgdGhlIGV2YWwgc28gdGhhdCBpdCBjYW4gaGFu ZGxlIGJvdGggc3VjY2VzcyBhbmQNCmZhaWx1cmVzIGluIHRoZSBsb2dzLiBJbiBteSBleHBlcmll bmNlIHNvIGZhciwgaXQncyBuZWNlc3NhcnkgdG8gbG9nDQpmcm9tIGVhY2ggcHJveHkgZW5kcG9p bnQgYmVjYXVzZSBvZiB0aGUgd2F5IHRoYXQgdmFsaWRhdGlvbi9wZXJtaXNzaW9uDQpjaGVjayBv Y2N1cnM6IGUuZy4gcHZlZGFlbW9uIHdvbid0IGV2ZXIgc2VlIGEgZmFpbHVyZSBkdWUgdG8gYQ0K cGVybWlzc2lvbnMgY2hlY2sgZnJvbSBwdmVwcm94eSBiZWNhdXNlIHRoZSBjb2RlIHJldHVybnMg YmVmb3JlIGl0J3MNCmV2ZXIgcHJveGllZCBvdmVyLiBQdXR0aW5nIHRoZSBsb2dnaW5nIGZ1bmN0 aW9uIGhlcmUgbWVhbnMgdGhlcmUgaXMNCnJpc2sgb2YgdGhlIGZ1bmN0aW9uIHBvdGVudGlhbGx5 IG5vdCByZXR1cm5pbmcgYSB2YWxpZCByZXNwb25zZSBvbiBhbg0KYXVkaXQgbG9nIGZhaWx1cmUs IGJ1dCBJIGhhdmUgc2VlbiBzb21lIHJlcXVpcmVtZW50cyB3aGVyZSBzdG9wcGluZw0KdGhlIGFw cGxpY2F0aW9uIHdoZW4gaXQgY2Fubm90IGF1ZGl0IGlzIGEgcmVxdWlyZW1lbnQgKG5lZWQgdG8g bWFrZQ0KdGhpcyBjb25maWd1cmFibGUgYW5kIHNhZmUpLg0KDQpBbm90aGVyIG9wdGlvbiB0aGF0 IEkndmUgdGhvdWdodCBvZiBpcyBoYXZpbmcgYW5vdGhlciBkYWVtb24gcnVuIChjYWxsDQppdCBw dmVhdWRpdGQpLCB3aGljaCByZWNlaXZlcyBtZXNzYWdlcyBmcm9tIGRpZmZlcmVudCBQVkUgcHJv Y2Vzc2VzDQp3aXRoIGF1ZGl0IGxvZ2dpbmcgaW5mb3JtYXRpb24uIFRoaXMgcmVxdWlyZXMgc29t ZSBpbnRlcnByb2Nlc3MNCmNvbW11bmljYXRpb24sIGJ1dCBjb3VsZCBwb3RlbnRpYWxseSByZWR1 Y2UgYW55IGtpbmQgb2YgbGFnIGJlY2F1c2UNCnRoZSBkYWVtb24gY291bGQgYnVmZmVyIG1lc3Nh Z2VzIGFuZCBpdCBoYXMgdGhlIEkvTyB3YWl0IGluc3RlYWQgb2YNCnRoZSBjYWxsaW5nIHByb2Nl c3MuIFBlcm1pc3Npb25zIGxvY2tkb3duIG9uIGZpbGVzIGlzIGVhc2llciBoZXJlLA0KdG9vLiBI b29rIHdvdWxkIHByb2JhYmx5IHN0aWxsIGJlIGluIHRoZSBzYW1lIHNwb3QsIGJ1dCBhdWRpdCBm YWlsdXJlcw0Kd291bGQgYmUgaGFuZGxlZCBkaWZmZXJlbnRseS4gQSBuaWNlIHBybyB3b3VsZCBi ZSB0aGF0IG90aGVyIFBWRQ0KcHJvY2Vzc2VzIGNvdWxkIGNvbW11bmljYXRlIGxvZyBtZXNzYWdl cyB0aGlzIHdheSwgdG9vLiBJIGNvdWxkIHVzZSBhDQpsaXR0bGUgZ3VpZGFuY2UvZXhhbXBsZSBv ZiBleGlzdGluZyBjb2RlIGlmIHRoZSBkZXZlbG9wZXJzIHdhbnQgdG8gZ28NCnRoaXMgcm91dGUu DQoNCkFzIGZhciBhcyBmaWVsZHMgZ28sIEkgdGhpbmsgdGhlcmUgYXJlIHNvbWUgc3RlYWRmYXN0 IHJlcXVpcmVkIGZpZWxkczoNCi0gRGF0ZXRpbWUgaW4gVVRDDQotIFN1YmplY3QgKHdobyBwZXJm b3JtZWQpDQotIE9iamVjdCAoaWRlbnRpZmllciBvZiBvYmplY3QgbW9kaWZpZWQgYW5kIGl0cyB0 eXBlKQ0KLSBBY3Rpb24gKHdoYXQgZGlkIHRoZSBzdWJqZWN0IGF0dGVtcHQgdG8vc3VjY2Vzc2Z1 bGx5IGRvIHRvIHRoZQ0Kb2JqZWN0KQ0KLSBTdGF0dXMgKHN1Y2Nlc3MvZmFpbHVyZSkNCi0gTm9k ZSBuYW1lIG9yIElQICh3aGVyZSBpdCB3YXMgcGVyZm9ybWVkLCBjb3VsZCBiZSBpbXBsaWVkIGJ5 IHdoZXJlDQp0aGUgbG9nIHJlc2lkZXMpDQotIFNvdXJjZSBJUCAod2hlcmUgdGhlIHJlcXVlc3Qg b3JpZ2luYXRlZCkNCi0gUHJvY2VzcyBuYW1lIGFuZCBJRCAobmFtZSBjb3VsZCBiZSBpbXBsaWVk IGluIGxvZyBmaWxlIG5hbWUpDQoNClNvbWUgb3RoZXIgaW50ZXJlc3RpbmcgZmllbGRzIHdvdWxk IGJlOg0KLSBCZWZvcmUvYWZ0ZXIgd2hvbGUgb2JqZWN0cyAobWVudGlvbmVkIHNwZWNpZmljYWxs eSBpbiBidWcgIzQyNDQpOg0KSSdkIHJlY29tbWVuZCB0aGlzIHRvIGJlIGNvbmZpZ3VyYWJsZSBi ZWNhdXNlIEkgdGhpbmsgaXQgd291bGQgcmVxdWlyZQ0KdHdvIGV4dHJhIGNhbGxzOiBvbmUgdG8g cmV0cmlldmUgdGhlIG9iamVjdCBiZWZvcmUgYW5kIGFub3RoZXIgYWZ0ZXINCml0J3MgbW9kaWZp ZWQuDQrCoCAtIENvbnNpZGVyYXRpb25zOiBzZW5zaXRpdmUgZmllbGRzIChlc3BlY2lhbGx5IGNy ZWRlbnRpYWxzKSB3b3VsZA0KbmVlZCB0byBiZSByZWRhY3RlZCAoY2hhcmFjdGVyIHJlcGxhY2Vt ZW50IG9yIGhhc2hlZCkNCi0gV2hhdCBjaGFuZ2VkIG9uIHRoZSBvYmplY3Q6IHRoaXMgd291bGQg YmUgYSBicmVha2Rvd24gb2YgdGhlDQpkaWZmZXJlbmNlcyBvZiB0aGUgYWJvdmUgb2JqZWN0cyAo ZWl0aGVyIGZpZWxkcyB0aGF0IGNoYW5nZWQgb3IgdGhlDQphY3R1YWwgY2hhbmdlcyB0aGF0IHdl cmUgbWFkZSkNCsKgIC0gQ29uc2lkZXJhdGlvbnM6IHJlcXVpcmVzIGF0IGxlYXN0IHRoZSBpbmZv cm1hdGlvbiBhYm92ZSBhbmQgbWF5IGJlDQpyZWR1bmRhbnQgaWYgdGhlIGFib3ZlIGlzIGluY2x1 ZGVkDQotIEFQSSBwYXJhbWV0ZXJzOiB0aGlzIHdvdWxkIGluY2x1ZGUgdGhlIHBhcmFtZXRlcnMg cGFzc2VkIHRvIHRoZSBBUEkNCmVuZHBvaW50OyBkZXZlbG9wbWVudCBzaWRlLCB0aGlzIGlzIGVh c3kgdG8gaW5jbHVkZSBhbmQgd291bGQgYmUNCnVzZWZ1bCBmb3IgZGV0ZXJtaW5pbmcgaG93IGFu IG9iamVjdCB3YXMgY2hhbmdlZCBhbmQgaXMgbGVzcyBjb3N0bHkNCnRoYW4gdGhlIGJlZm9yZS9h ZnRlciBtb2RlbC4NCsKgIC0gQ29uc2lkZXJhdGlvbnM6IHNlbnNpdGl2ZSBmaWVsZHMgKGVzcGVj aWFsbHkgY3JlZGVudGlhbHMpIHdvdWxkDQpuZWVkIHRvIGJlIHJlZGFjdGVkIChjaGFyYWN0ZXIg cmVwbGFjZW1lbnQgb3IgaGFzaGVkKQ0KLSBFdmVudCBJRDogc29tZSBhdWRpdGluZyBzeXN0ZW1z IChwYXJ0aWN1bGFybHkgTWljcm9zb2Z0J3MpIHVzZSBhDQp1bmlxdWUgSUQgZm9yIGV2ZXJ5IGRp ZmZlcmVudCB0eXBlIG9mIGF1ZGl0IGV2ZW50Lg0KwqAgLSBQcm9zOiB0cmFuc2xhdGlvbnMgb2Yg YW5kIGN1c3RvbSBmb3JtYXR0ZWQgbWVzc2FnZXMsIGVhc2lseQ0KcHJvY2Vzc2VkL2ZpbHRlcmVk IGJ5IGF1dG9tYXRlZCBzeXN0ZW1zLCBJRCBtYXBwaW5nIGNvdWxkIGJlIHVzZWQNCmFjcm9zcyBt dWx0aXBsZSBwcm9kdWN0cyAoZS5nLiBwdmUgYW5kIGRhdGFjZW50ZXIgbWFuYWdlcik7DQrCoCAt IENvbnM6IHVuaXF1ZW5lc3Mgb2YgdXNlIG11c3QgYmUgZ3VhcmFudGVlZCwgbm90IGFsd2F5cyBo dW1hbg0KZnJpZW5kbHkuDQrCoCAtIENvbnNpZGVyYXRpb25zOiBoYXZpbmcgdGhpcyBmaWVsZCBj b3VsZCBwb3RlbnRpYWxseSBlbGltaW5hdGUgdGhlDQpuZWVkIGZvciBhY3Rpb24vb2JqZWN0LXR5 cGUgZmllbGRzIGlmIGVhY2ggYWN0aW9uL29iamVjdC10eXBlIGNvbWJvDQpoYXMgaXRzIG93biBJ RDsgZm9ybWF0IG9mIHRoZSBJRA0KDQpGb3IgaW5jbHVzaW9uIG9mIGF1ZGl0aW5nIGludG8gZWFj aCBBUEkgZW5kcG9pbnQsIEkgdGhpbmsgYW4gYWRkaXRpb24NCnRvIHRoZSBgbWV0aG9kX2luZm9g IGNvbnN0cnVjdCBmb3IgZWFjaCBtZXRob2Qgd291bGQgYmUgYXBwcm9wcmlhdGUuDQpTb21lIGFk dmFuY2VkIHZhbGlkYXRpb25zIGNvdWxkIGJlIGRvbmUgZHVyaW5nIGJ1aWxkLXRpbWUgdG8gZW5z dXJlDQp1bmlxdWVuZXNzIG9mIGFjdGlvbi9vYmplY3QgdHlwZSBvciBldmVudCBJRC4NCg0KPiDC oMKgwqAgLSBbIF0gQWxsb3cgb25lIHRvIGVuYWJsZSBvciBkaXNhYmxlIGF1ZGl0aW5nIG9uIHNv bWUvYWxsDQo+IGd1ZXN0cy9ub2RlcywgYW5kDQo+IMKgwqDCoMKgwqDCoMKgwqDCoCBkaXNhYmxl IGl0IGJ5IGRlZmF1bHQgZHVlIHRvIGNvc3QNCg0KSSBjb21wbGV0ZWx5IGFncmVlIG9uIHRoaXMg b25lLCBhbmQgSSdkIGFyZ3VlIHRoYXQgaXQgc2hvdWxkIGJlDQpidWlsdC1pbiBmcm9tIHRoZSBz dGFydC4gVGhlIGRlZmF1bHQgY291bGQgZWFzaWx5IGJlIHRvIG5vdCBhdWRpdA0KYW55dGhpbmcg ZXhwbGljaXRseSwgd2hpY2ggc2hvdWxkIGhhdmUgbWluaW1hbCBpbXBhY3Qgb24gcnVudGltZS4g SXQNCndvdWxkIGJlIG5pY2UgdG8gaGF2ZSBjb25maWd1cmF0aW9uIG9mIHRoZSBhdWRpdGluZyBw ZXJmb3JtZWQgaW4gdGhlDQpBUEkgYW5kIHN5bmNlZCBhY3Jvc3MgdGhlIGNsdXN0ZXIgZmlsZXN5 c3RlbS4gSSdkIHJlY29tbWVuZCBub2RlLWxldmVsDQpvdmVycmlkZXMgdG8gY2x1c3Rlci1sZXZl bCBzZXR0aW5ncy4gSWYgZG9uZSBpbiB0aGUgQVBJLCB0aGlzIHNob3VsZA0KaGF2ZSBhIHNlcGFy YXRlIHBlcm1pc3Npb24gb3IgQVBJIHBhdGguDQoNCk15IGlkZWEgZm9yIGltcGxlbWVudGF0aW9u IGhlcmUgaXMgdG8gaGF2ZSBhIGhhc2ggYnVpbHQgZHVyaW5nDQphcHBsaWNhdGlvbiBzdGFydHVw IHRvIGxvYWQgYWxsIG9mIHRoZSBhY3Rpb24vb2JqZWN0IHR5cGVzIG9yIGV2ZW50DQpJRHMgYW5k IGxvb2t1cCB0aGVpciBzdGF0dXMgaW4gc2FpZCBoYXNoLiBUaGUgaGFzaCBjb3VsZCBlaXRoZXIg YmUNCnVwZGF0ZWQgb3IgcmVsb2FkZWQgb24gY2hhbmdlcyBpbiBhdWRpdGluZyBzZXR0aW5ncy4N Cg0KPiDCoMKgwqAgLSBbIF0gQWRkIGludGVyZmFjZSB0byB2aWV3IGFuZCBmaWx0ZXIgYXVkaXQg ZXZlbnRzDQoNCkNvbnNpc3RlbnQgZm9ybWF0IGluIHRoZSBsb2cgZmlsZXMgc2hvdWxkIG1ha2Ug dGhpcyBlYXNpZXIgb24gdGhlIGRldg0Kc2lkZS4gRXZlbnQgSURzIG9yIGFjdGlvbi9vYmplY3Qg Y29tYm9zIGNvdWxkIGJlIHVzZWQgdG8gZGV0ZXJtaW5lDQp0cmFuc2xhdGFibGUgbWVzc2FnZSBm b3JtYXRzIHRvIGJlIHNob3duIHRvIHRoZSB1c2VyLiBJbnRlcmZhY2VzDQpzaG91bGQgaGF2ZSBl aXRoZXIgYSBzZXBhcmF0ZSBwZXJtaXNzaW9uIG9yIEFQSSBwYXRoIChyZXN0cmljdGluZyB0aGlz DQpldmVuIHRvIGFkbWluaXN0cmF0b3JzIGlzIGEgY29tbW9uIHJlcXVpcmVtZW50KS4gQ2x1c3Rl ci1sZXZlbCB2aWV3DQp3b3VsZCBiZSBuaWNlIHdpdGggYSByZWFzb25hYmxlIGRlZmF1bHQgZm9y IGhvdyBtYW55IG1lc3NhZ2VzIHRvDQpyZXRyaWV2ZSBwZXIgbm9kZS4gQW4gb3B0aW9uIHRvIHJl dHJpZXZlIG1vcmUgZm9yIGVhY2ggbm9kZSB3b3VsZCBiZQ0KbmljZS4gTm9kZS1sZXZlbCB2aWV3 IGNvdWxkIGFsc28gYmUgYWRhcHRlZCwgc2ltaWxhciB0byBob3cgdGhlIFZNDQpldmVudHMgYXJl IGN1cnJlbnRseSBzaG93bi4NCg0KPiDCoMKgwqAgLSBbIF0gQWxsb3cgdG8gcHJvZHVjZSBub3Rp ZmljYXRpb24ncyBmb3IgYW4gYXVkaXQgZmlsdGVyDQoNCkknZCB1c2UgdGhlIHNhbWUgbG9naWMg YXMgZm9yIHRoZSB2aWV3L2ZpbHRlciBpbnRlcmZhY2UgYWJvdmUuIEV2ZW50DQpJRHMgbWlnaHQg bWFrZSB0aGlzIGVhc2llci4NCg0KLS0tLQ0KDQpJIGFwcHJlY2lhdGUgeW91IGFsbCB0YWtpbmcg dGhlIHRpbWUgdG8gcmV2aWV3IGFuZCByZXBseSB0byB0aGlzDQp0aHJlYWQuIEFuIGF1ZGl0aW5n IHN5c3RlbSB3b3VsZCBiZSBhIGdyZWF0IGFkZGl0aW9uIHRvIHRoZSBQVkUNCnByb2plY3QgdGhh dCBtYWtlcyBpdCBldmVuIG1vcmUgZW50ZXJwcmlzZSBmcmllbmRseS4gSW4gdGhlDQppbXBsZW1l bnRhdGlvbiB0aGF0IEknbSB0aGlua2luZyBvZiwgdGhpcyB3b3VsZCBiZSBhbiBhZGRpdGlvbiB0 bw0KY3VycmVudCBsb2dnaW5nIGZpbGVzLCBub3QgY2hhbmdpbmcgYW55IGV4aXN0aW5nIGZvcm1h dHMsIHdoaWNoIHNob3VsZA0KbWFrZSBpdCBhIG5vbi1icmVha2luZyBjaGFuZ2UuDQoNCi0tIFRo b21hcyBTa2lubmVyDQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fDQpwdmUtZGV2ZWwgbWFpbGluZyBsaXN0DQpwdmUtZGV2ZWxAbGlzdHMucHJveG1veC5j b20NCmh0dHBzOi8vYW50aXBoaXNoaW5nLnZhZGVzZWN1cmUuY29tL3Y0P2Y9VVU5SU1ucGtkbUpt U2s5WU9IVnRjNGRJb2pZRFV2DQpMVjZYTS1aVHo2a08zNHY5aE9LQk5DNU1jR0JvS2MtDQo5QWMz MHZFUHJZdmh2c0R3aHpBc1dZMjhRJmk9WjA5bGJWaFJPVkJhT0hkM05qWlpNWFR5aEVXcGJ4aldo VDRsOXpneDh3SQ0KJms9ZUZSSSZyPWVWVkpXa2RpYzNOdFpUZFpWMnB5Y2QwNEVKSklmUUR3X0NV T01LdjB4ZkM3UzVJSkU1em9ZM0VHSVFUSXINCmhlVSZzPTAwOGMzZDMwN2MxMzVhYmUwZTg5MTYx ZDUwMTU5ZTMxZDExMGQyMTRjNzQzMjE4YTg1ZTYxNzIwYWQ0YTk2NjMmDQp1PWh0dHBzJTNBJTJG JTJGbGlzdHMucHJveG1veC5jb20lMkZjZ2ktYmluJTJGbWFpbG1hbiUyRmxpc3RpbmZvJTJGcHZl LQ0KZGV2ZWwNCg0K