From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 0C3144C0AF for ; Fri, 21 Feb 2025 20:10:19 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id F3BC468C75A; Fri, 21 Feb 2025 22:10:15 +0200 (EET) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11olkn2053.outbound.protection.outlook.com [40.92.18.53]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 061DC68C5E3 for ; Fri, 21 Feb 2025 22:10:08 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=en2iJgRMpw2PUpAhz4tShOwpfcitava715mTq7uE5TUyKNfftYhE6blYHzqCYnklu+0t07glW8+vd1KU+P2CpGqpU0Lm7teFZwgMwkZNTLxr0IjigX0PhnKkKKnCzAtdGg5BfHNEdYCTXOMpC2j7ULojggcwbFhX1C4OvGjtoY0zz13RYBMAxJx6+jgNTeqHqLjRfJquxJdDCdcTs90xzjk9mCR2IcadcTTWzdNj5QQuWRQtVRd2wp6eSvD3SU1iPwPK+gsJ/OALwiHSuSeLXlnbcogfZteWXB+9T3gwmqOTkbSPbEs9esb+eD02hcWgrzoKuXCRm03FTjcgCaBLTA== 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=07ZW1Bzee+ShGcQP8JPhZSH898yWE+N9tLbBck+bRCY=; b=B88zsKIrQAo7hAnRNpSPuQB7Y9T4mdvwiTBJzozGrGXH310peKRw42ZFSWcEt3ynpmcnvZEK/qCGfBEKYRzg+acuKC5JrsvUkNm4fiZp6FKmofSWFnHbI8/s6nZwGQQMSRlw2FCRVwwQvHMMTurBpL23IXTK71P7CaOxxBJcwp1AUoPOBjwrEZqynh0Lfvk5HnmIwhohXtNVt4EVRS9iTnRSfdyFYX3DYu2ywfEWp8/qPvp0PY7E0VAhR7h+tv3/4xsr4nQo5Xr8D+c1haAP+kXWkw994WQto7BmqWitxyrn0XmiWRJDKCauvoGDu8yB2n/hdiqk6KvWQG+zDnKySA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=07ZW1Bzee+ShGcQP8JPhZSH898yWE+N9tLbBck+bRCY=; b=hqgAYAarNtTPlyLhCCM4/rtSRwKQXNBg9uX1JFc8UdWHyx1WNyhKZa/uhSdU2mPHewaJp4w4gN7i2yO5SDYlldpuPMlJPJnJQe19TBuOS3L7aB3KWXfhRt9+CfPchGAVdb//IXuT3xooh+0muS36tiE+n+tf4UZi9IiF/Uh/EmRtZt+VrWvU4kdDkdojXlhZVENo9y648dyBC+tS4c/zYxO+I2BeChcoMY3qkQPe9caO6MAv0P6QD2c63bXnnzb34pJF/k7meFnCB+mQ6Ls2M+Mt5gBEntuRcrcWuvsubqLP1qZ7vI51bMx9xz4JLuosS9OYcJQeavs7MgloBijFLQ== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by IA2P223MB1199.NAMP223.PROD.OUTLOOK.COM (2603:10b6:208:4ab::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.15; Fri, 21 Feb 2025 20:10:04 +0000 Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::bf09:8e9:b07f:98a7]) by DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::bf09:8e9:b07f:98a7%7]) with mapi id 15.20.8466.016; Fri, 21 Feb 2025 20:10:04 +0000 From: Soft Works To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] I've written a filter in Rust Thread-Index: AQHbg5hWghKdMXcgTkawKHWedZ1fLrNQzC8AgACrJACAAEiLgIAADGeQgAANPYCAAAECoIAAS3aAgAAGfbA= Date: Fri, 21 Feb 2025 20:10:04 +0000 Message-ID: References: <418474f4-5b38-4a44-822a-8e3c367e673c@gmail.com> <20250220224924.GL4991@pb2> <20030c591bd5c5568759d5c2d7c889e3b8cf1ea1.camel@haerdin.se> <20250221132135.GN4991@pb2> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM8P223MB0365:EE_|IA2P223MB1199:EE_ x-ms-office365-filtering-correlation-id: 11e86352-75d0-4443-e4e6-08dd52b3bae1 x-microsoft-antispam: BCL:0; ARA:14566002|8060799006|7092599003|461199028|12050799009|15080799006|8062599003|9400799030|19110799003|12121999004|102099032|3412199025|10035399004|440099028; x-microsoft-antispam-message-info: =?utf-8?B?eWtOSWpzL3AvanBkQWpaR3MyZ2swaU03VGdTS2ZJU08vd1UySmZucnNsb01u?= =?utf-8?B?a2FweHhCOU9yNVAwZVZJL0pYUkJXc1U2ZjRkNUMzUDFXTzRBQ1k2cnB5cXdj?= =?utf-8?B?RjUwU0VONlBVUGR6TzBWUDhSN0pIL1ZwUVBZbC9LZ1RqZmtOZXAzeXEzek9w?= =?utf-8?B?OTBTRzViaWo2RnJUVTliT3BNc1B1YllueCt4d1l5b0gxVXJjS0QwWW5HaHFV?= =?utf-8?B?WEZVbXROWlhKS1ZjZ3FpL1lWWWlaWFBBb2FMRHYvZWJRa3NOZENVMXpVSHQx?= =?utf-8?B?UXIrKzUzaXFlaVd2TDVXUXhWMWduT0lnMjN6cUhORk1XbUgzdjBjMkpTZlFT?= =?utf-8?B?TWx2OHdod3hTODJQQzNBSUdlM1ViTld6K2pZUGFSSjBzMWgrMXMrK3pOdXI2?= =?utf-8?B?eG5JZEF5anl3K0RJOC8wM1NyWkJobWI3N1ZxcmFCZk84aE1ybjlCaldwSmZ5?= =?utf-8?B?UTE3WUpCOEZsVktIMjVIMDlvUE5TUlc5TXhpZ2x6UlNiTk9SSzdxc2UvOUZr?= =?utf-8?B?aTl0RjNwQmFUR1l4NEtIVW5vZ1NtNUFHWkQ3VXFIWjNTZDhtRXNmZjZuV1ZN?= =?utf-8?B?MzdvVGRPUXdMaGFYWU9oTVZYUkhDWUZnVUVyQ0RBVlk1M05ROHdqM052aWEx?= =?utf-8?B?Y0czWmJ6U01nWUtKTE91VGpkR1oxMW1DQUZubEZBelp5azhRbzd3RjRyeit2?= =?utf-8?B?MTJPWlhhL29NN2p4YTlXQThsbDY5ZUxzK1RITnpuUXJaZG1LZVQ5Skxvd05I?= =?utf-8?B?SGVCdXBkSjRmWnhnN2J4dUxVT1luTStIemRmR1p3d3hCVDZlbm5lNVpwMU95?= =?utf-8?B?ZmhIc2N4V3BkQkpsMnNrWkl1OWliM2g2WTRpdkJpVU5Ec2FIbmF3NFc3QUJm?= =?utf-8?B?MTdranZOVWV0MWJLVVI1N3JCNmhnT1ZkeUNpRWhROXY0anU1Z00xNldQcmNp?= =?utf-8?B?a210TVV5aEdCK3dZY3luVXU0ald6V09lTHpNYzl1Ull4R1hDQW0xZkZSMjhF?= =?utf-8?B?eTYyWVFRSms5eWhMWForZExhcGtYZEYyd093OUxneFVKTk9JNlRqcmZVdmRm?= =?utf-8?B?QlJXU0FHekFqa2V2UVdSQW9hWGE2cmdYaWlvenlMbmFEbVQvZ2F0WUg2UFFi?= =?utf-8?B?clJPVlJvOWtrb055NnlpL3VZMVJXVlRPaWcrRFZMamFpZHNZUjQyaURWSGxs?= =?utf-8?B?SWdjQldic0ZQNkRqdGRoUWdaWEF5MXBjWXRXaVhkcnUyWEo1cVU2T2l4NGZ5?= =?utf-8?B?RWhZUkpPdkhBelZrMENqL2ZabkN6SmxLaWt0WXQvR3NYeWhhTDMyZGYzNVdj?= =?utf-8?B?MzdWWW1QNENuTTZyMklraU1Ra2RQV3JRRkhuNmd4RmVjSmR0U0lnMExkbXVD?= =?utf-8?B?TzZsV0ZRQjc1SmE5bk5CY25rSjkvZDZmcE1iRFRxYmNHYTlSQXE0Sjh2bVFw?= =?utf-8?B?WCtISGhoU3FKS3NMMHhvVFZyRUF6anpONlFxTjVHbTVzZ1k4NUNCbUZPbXkv?= =?utf-8?B?QlUzeW5VWGNFQlhCZnhjKzg5RlNOMXB4S2J2YkdmdUkvV2hZSTdUQ1M1MFVF?= =?utf-8?B?MEFFbmFMYTd6SHA2TFJJU1hKcXNVSEV3cHBJcVFsaEZDQ0V5c0Q0YU5BYTFq?= =?utf-8?B?TjVMRnNjdXdMamxuenp3RVpyQitaOWc9PQ==?= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?eG1rSFJVTnRURTg2ajdPczJmbjBwN084L0duS0RyRk9hYnZHQ3lKOGh2NmRu?= =?utf-8?B?TkNSNWN3SlgrSUU0Mm9qL1JDaFNrL0Vla2xRTmQzQkJjWGxqWG9iNkU2d2Nm?= =?utf-8?B?NEtIbjBvaFJja1RqV0Mzd1laT0QxTnZXZkVraDNuN2dIcFRvV0IrNnlHV1hz?= =?utf-8?B?Y3Q4MWt3dzU4Q3BhZU9JMkxuOXlyd0hmRnA3RXViU1V6Yy92Q1BnWlBYRW0x?= =?utf-8?B?ZmMvZXdtRUtHRmJZNlFZcTFkZDNJeWlMNHAxdU9Wa3N0Nk9DRE5pVEpBWTla?= =?utf-8?B?Qkt0K0FzcTFRNkNhZlNtNCtxd0lJcGlTTzR1cVJhb0h3VVo4cXVsNVcxeHNP?= =?utf-8?B?WEZRTlB2d0VSM1dnN3RJTGZnUEs2M0k4QXBNZ3pySDkrTFdLdW9LWG9xelNh?= =?utf-8?B?WVlKTzM0anplM2NGRm5ER0lkN1lUOHlwNXJxTGZXc2xqSmdhc2x6TU9RRndD?= =?utf-8?B?RlExQlYxRlFZNGk3U0tKRERNeXQ2bU9zd1Q0TUJteXlNSGdjemxmUi9VYWVv?= =?utf-8?B?UG5mY2FxYlJWWnRCNmhzYTNLWkJRSVJ1c1NDbCtta2NpelpuRFhzRWs4TnpR?= =?utf-8?B?bVZ6U3NpRWdHR2lrN0lLQUkvRlNEMXJaVVBiN1FaRlJkQ0VubVk5WTRGUEc5?= =?utf-8?B?emRJa0laSm1GdWVKSDR4aURJeXVXdlpUUjBoa3RkWGFoUm5FdmpYLy9iTnE5?= =?utf-8?B?VW5LMm5HT0pIWGdGWDBaa21IZGxxREY0dE5pUi9jTUVIVEtyaVIxc2lVL0pL?= =?utf-8?B?ZFRsT1dGR05vSyttWjdCTjN1dk1Xam5mUlp4dnByZlhLcFgrV3RncE9IUnlH?= =?utf-8?B?bDJ4T2FocWJ0TDZEa1p4eEhwSjhUTzBSUG02NjlTcmJWSVlGUWxoL0g3dUZT?= =?utf-8?B?Q2o4UXNJSFBSRjNSb2hSSWdwR1VqeWNBNEtIY2lEWC9mQ1pmbHlwczlSSU5i?= =?utf-8?B?bmZLb003U0RFRGo1UjhpTDltL0dZSy9QanBtYkJ6c2taMForOHM5YWZLOFU2?= =?utf-8?B?K1Jkc0NHK3liZnNvVkhyVWIweEd5TmtYTVI1aHR4R3pUUVhoTEFWR0lOVUFO?= =?utf-8?B?RExTUkhyMU01ZjYwS3JjNU1ZWndyNm9UdytOdVh5Rmg5MnlZb3pYZW5QVHh1?= =?utf-8?B?cFVzTW5yS1RJYTJSQ1ltZEp6bG5WUjFabWk2VmI2bVZEUnVmSHlLUUNJanhq?= =?utf-8?B?V1NQd043UlFjdVFVNGJrZFVwN2NYOUNOSXJMZkcwNkdUTUtQVWFyZ0RBMUdF?= =?utf-8?B?Mmd3QUF2YjRVRDNVQnN6cDM3OG4vNDRKS2hFR2ZXeHNGSC9BVmo1VnBZNW4v?= =?utf-8?B?OHNjOERsUUUxd2pNay9XZHdNZDhieVB4VWwxSEtWdml5engxRHdjeGhvaWVo?= =?utf-8?B?UEZGbkp0TkhXazRnV3JPREs2OFlYcVFISWRDSHBrTGNOUTRJbGNjRzRsaCtK?= =?utf-8?B?V0NEMlZaSEtBZERtUFRENTNTeEtzVDhLTTRjVm4vZG90a3o5cmhVamJlclhL?= =?utf-8?B?UWJka3VwcU5OcXh6dWdFTjRXbkVQd1lIZjJZbmk1Q20wQWJkTk1ZQXZyMzR2?= =?utf-8?B?WEFjM3k5S1JGOHhocnRPZUpBZkJobVhRTGhqbVZ1UGpRYUZVZ01tN0NwNU5Y?= =?utf-8?Q?4ptRmL82C7it/kHegGtyyftixoioZpKdtrs8wxgJI1Ss=3D?= MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-7719-20-msonline-outlook-92255.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 11e86352-75d0-4443-e4e6-08dd52b3bae1 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Feb 2025 20:10:04.4187 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA2P223MB1199 X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] I've written a filter in Rust X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Kieran Kunhya Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: DQoNCkZyb206IEtpZXJhbiBLdW5oeWEgPGtpZXJhbjYxOEBnb29nbGVtYWlsLmNvbT4NClNlbnQ6 IEZyZWl0YWcsIDIxLiBGZWJydWFyIDIwMjUgMjA6MjcNClRvOiBTb2Z0IFdvcmtzIDxzb2Z0d29y a3pAaG90bWFpbC5jb20+DQpDYzogRkZtcGVnIGRldmVsb3BtZW50IGRpc2N1c3Npb25zIGFuZCBw YXRjaGVzIDxmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZz4NClN1YmplY3Q6IFJlOiBbRkZtcGVnLWRl dmVsXSBJJ3ZlIHdyaXR0ZW4gYSBmaWx0ZXIgaW4gUnVzdA0KDQoNCk9uIEZyaSwgMjEgRmViIDIw MjUsIDE1OjAyIFNvZnQgV29ya3MsIDxzb2Z0d29ya3pAaG90bWFpbC5jb208bWFpbHRvOnNvZnR3 b3JrekBob3RtYWlsLmNvbT4+IHdyb3RlOg0KDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t LS0NCj4gRnJvbTogZmZtcGVnLWRldmVsIDxmZm1wZWctZGV2ZWwtYm91bmNlc0BmZm1wZWcub3Jn PG1haWx0bzpmZm1wZWctZGV2ZWwtYm91bmNlc0BmZm1wZWcub3JnPj4gT24gQmVoYWxmIE9mDQo+ IEtpZXJhbiBLdW5oeWEgdmlhIGZmbXBlZy1kZXZlbA0KPiBTZW50OiBGcmVpdGFnLCAyMS4gRmVi cnVhciAyMDI1IDE1OjUzDQo+IFRvOiBGRm1wZWcgZGV2ZWxvcG1lbnQgZGlzY3Vzc2lvbnMgYW5k IHBhdGNoZXMgPGZmbXBlZy0NCj4gZGV2ZWxAZmZtcGVnLm9yZzxtYWlsdG86ZGV2ZWxAZmZtcGVn Lm9yZz4+DQo+IENjOiBLaWVyYW4gS3VuaHlhIDxraWVyYW42MThAZ29vZ2xlbWFpbC5jb208bWFp bHRvOmtpZXJhbjYxOEBnb29nbGVtYWlsLmNvbT4+DQo+IFN1YmplY3Q6IFJlOiBbRkZtcGVnLWRl dmVsXSBJJ3ZlIHdyaXR0ZW4gYSBmaWx0ZXIgaW4gUnVzdA0KPg0KPiBPbiBGcmksIDIxIEZlYiAy MDI1LCAxNDozMCBTb2Z0IFdvcmtzLCA8c29mdHdvcmt6LWF0LQ0KPiBob3RtYWlsLmNvbUBmZm1w ZWcub3JnPG1haWx0bzpob3RtYWlsLmNvbUBmZm1wZWcub3JnPj4NCj4gd3JvdGU6DQo+DQo+ID4N Cj4gPg0KPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+IEZyb206IGZmbXBl Zy1kZXZlbCA8ZmZtcGVnLWRldmVsLWJvdW5jZXNAZmZtcGVnLm9yZzxtYWlsdG86ZmZtcGVnLWRl dmVsLWJvdW5jZXNAZmZtcGVnLm9yZz4+IE9uIEJlaGFsZiBPZg0KPiA+ID4gTWljaGFlbCBOaWVk ZXJtYXllcg0KPiA+ID4gU2VudDogRnJlaXRhZywgMjEuIEZlYnJ1YXIgMjAyNSAxNDoyMg0KPiA+ ID4gVG86IEZGbXBlZyBkZXZlbG9wbWVudCBkaXNjdXNzaW9ucyBhbmQgcGF0Y2hlcyA8ZmZtcGVn LQ0KPiA+ID4gZGV2ZWxAZmZtcGVnLm9yZzxtYWlsdG86ZGV2ZWxAZmZtcGVnLm9yZz4+DQo+ID4g PiBTdWJqZWN0OiBSZTogW0ZGbXBlZy1kZXZlbF0gSSd2ZSB3cml0dGVuIGEgZmlsdGVyIGluIFJ1 c3QNCj4gPiA+DQo+ID4gPiBIaQ0KPiA+ID4NCj4gPiA+IE9uIEZyaSwgRmViIDIxLCAyMDI1IGF0 IDEwOjAxOjU2QU0gKzAxMDAsIFRvbWFzIEjDpHJkaW4gd3JvdGU6DQo+ID4gPiA+IHRvciAyMDI1 LTAyLTIwIGtsb2NrYW4gMjM6NDkgKzAxMDAgc2tyZXYgTWljaGFlbCBOaWVkZXJtYXllcjoNCj4g PiA+ID4gPiBIaQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gT24gVGh1LCBGZWIgMjAsIDIwMjUgYXQg MDI6MDY6NDdQTSArMDEwMCwgTGVhbmRybyBTYW50aWFnbyB3cm90ZToNCj4gPiA+ID4gPiA+IFtp bnNlcnQgbWVtZSBoZXJlXQ0KPiA+ID4gPiA+IFsuLi5dDQo+ID4gPiA+ID4gPiBJIGFsc28gcmVj b3JkZWQgYSB2aWRlbyBzaG93aW5nIHRoZSBmaWx0ZXIgaW4gYWN0aW9uIFs3XS4NCj4gPiA+ID4g PiBbLi4uDQo+ID4gPiA+ID4gPiBbN10gaHR0cHM6Ly95b3V0dS5iZS9VX3k0LU5uYUlOZw0KPiA+ ID4gPiA+DQo+ID4gPiA+ID4gY29vbCwgaXQgZG9lc250IGRldGVjdCBldmVyeW9uZSB0aG91Z2gN Cj4gPiA+ID4gPg0KPiA+ID4gPiA+IGFsc28gaSB0aGluayB0aGlzIHNob3dzIGhvdyB1c2VmdWwg YSBwbHVnaW4gZnJhbWV3b3JrIHdvdWxkIGJlIGZvcg0KPiA+ID4gPiA+IGZmbXBlZw0KPiA+ID4g PiA+DQo+ID4gPiA+ID4gd2l0aCBwbHVnaW5zIGV2ZXJ5b25lIGNvdWxkIHVzZSx0ZXN0IGFuZCBj b250cmlidXRlIHRvIHRoaXMgdG9kYXkuDQo+ID4gPiA+ID4gd2l0aG91dCBwbHVnaW5zLCB0aGlz IG5lZWRzIHRvIGJlIG1lcmdlZCBpbiBmZm1wZWcgZ2l0IG1hc3Rlci4gKHdoaWNoDQo+ID4gPiA+ ID4gd2lsbCB0YWtlIHNvbWUgdGltZSBpIHN1c3BlY3QpDQo+ID4gPiA+DQo+ID4gPiA+IEhhdmUg d2Ugbm90IGdvbmUgb3ZlciBhbmQgcmVqZWN0ZWQgcGx1Z2lucyBtYW55IHRpbWVzPyBJIHJlY2Fs bCBwb2ludHMNCj4gPiA+DQo+ID4gPiBubw0KPiA+ID4gdGhlcmUgd2FzIG5vIGZvcm1hbCBhbmQg bm8gcHVibGljIGluZm9ybWFsIHZvdGUgdGhhdCBpIHJlbWVtYmVyLg0KPiA+ID4NCj4gPiA+IGl2 ZSByYWlzZWQgdGhlIGlzc3VlIHdpdGggcGx1Z2lucyBtYW55IHRpbWVzLiBCZWNhdXNlIGl0IHdv dWxkDQo+ID4gPiBhbGxvdyBwZW9wbGUgYW5kIG15c2VsZiB0byBjb250cmlidXRlIG1vcmUgY29t cGxleCBmZWF0dXJlcyBhbmQNCj4gPiA+IGVuZCB0aGUgc3RhZ25hdGlvbiBvZiBGRm1wZWcuDQo+ ID4NCj4gPiBZdXAsIHRoYXQncyBleGFjdGx5IG9uZSBvZiB0aGUgcmVhc29ucyB3aHkgb3RoZXIg cHJvamVjdHMgbGlrZSBHU3RyZWFtZXINCj4gPiBoYXZlIGdhaW5lZCB0aGF0IG11Y2ggcG9wdWxh cml0eS4gSXQgbWlnaHQgbm90IGhhdmUgaGFwcGVuZWQgd2hlbg0KPiA+IGZmbXBlZyB3b3VsZCBo YXZlIGJlZW4gbW9yZSBvcGVuIGFuZCBleHRlbnNpYmxlIGluIHRoZSBmaXJzdCBwbGFjZS4NCj4g Pg0KPg0KPiBJdCdzIHF1aXRlIHRoZSBvcHBvc2l0ZS4gR3N0cmVhbWVyIGlzIHN1Y2Nlc3NmdWwg aW4gaXRzIHZlcnRpY2FsIGJlY2F1c2UgaXQNCj4gYWxsb3dzIGVhc3kgaW5jbHVzaW9uIG9mIHZl bmRvciBiaW5hcnkgYmxvYnMuIFRoaXMgaXMgbm90ICJvcGVuIGFuZA0KPiBleHRlbnNpYmxlIi4N Cg0KT3BlbiBtZWFucyBpdCdzIGV4dGVuc2libGUgZm9yIGV2ZXJ5Ym9keSwgaW5jbHVkaW5nIHZl bmRvcnMuIEkgZmFpbCB0byBzZWUNCndoYXQncyBiYWQgYWJvdXQgaXQuIERvIHdlIGhhdmUgYSBm aWdodCBhZ2FpbnN0IGV2ZXJ5dGhpbmcgY29tbWVyY2lhbD8NCg0KV2hhdCBhcmUgeW91IGFmcmFp ZCBvZiB0byBoYXBwZW4/DQoNCkp1c3Qgd2FubmEgdW5kZXJzdGFuZCB0aGUgcG9zaXRpb24sIHRo YW5rcy4NCnN3DQoNCg0KSGkgS2llcmFuLA0KDQpXaGF0IHdpbGwgaGFwcGVuIGlzIGFsbCB0aGUg YmluYXJ5IGJsb2IgdmVuZG9ycyB3aG8gaGF2ZSB0byBjdXJyZW50bHkgc2hpcCBhIGN1c3RvbSBm Zm1wZWcgYW5kIHRlbGwgdGhlaXIgdXNlcnMgdG8gY29tcGlsZSBmcm9tIHNvdXJjZSBjYW4ganVz dCBzaGlwIHRoZWlyIGJsb2IgYXMgYSBwbHVnaW4uDQoNCldlIGN1cnJlbnRseSBoYXZlIDIwMCBy ZWFzb25zIChjb21taXRzKSBmb3IgbmVlZGluZyB0byBzaGlwIGEgY3VzdG9tIGZmbXBlZyBhbmQg YSBwbHVnaW4gbW9kZWwgd291bGQgbm90IGNoYW5nZSB0aGF0Lg0KSXTigJlzIGhhcmQgZm9yIGV2 ZXJ5Ym9keSB0byBnZXQgZXZlbiBnb29kIGNoYW5nZXMgaW4gZmZtcGVnIGFuZCB0aGVyZSBhcmUg b3RoZXIgY2hhbmdlcyBmb3Igd2hpY2ggdGhlcmXigJlzIGNsZWFybHkgbm8gcGxhY2UgaW4gdGhl IGZmbXBlZyBjb2RlYmFzZS4gVGhlcmUgc2hvdWxkIGJlIGFuIGVxdWFsaXphdGlvbiBmb3IgdGhp cyBzaXR1YXRpb24uDQpBbHNvLCBJIHRoaW5rIGl04oCZcyBhIGJpdCB1bmZhaXIgYW5kIG92ZXJz aW1wbGlmeWluZyB0byBibGFtZSBhbGwgdmVuZG9yc+KAmSBtYWluIGludGVyZXN0IGJlaW5nIHRv IHNoaXAgYmluYXJpZXMgYXMgZXh0ZW5zaW9uIGp1c3QgZm9yIHRoZSBzYWtlIG9mIGtlZXBpbmcg dGhlbSBjbG9zZWQgc291cmNlIOKAkyBldmVuIHRob3VnaCB0aG9zZSBjYXNlcyBtaWdodCBvY2N1 ci4NCg0KDQpGRm1wZWcgd2lsbCBnZXQgYWxsIHRoZSBidWcgcmVwb3J0cyBmcm9tIGNyYXNoZXMg KHRoaXMgaXMgd2h5IHRoZSBrZXJuZWwgaGFkIHRvIGFkZCB0aGUgInRhaW50ZWQiKSBmbGFnLg0K DQpJcyB0aGlzIHJlYWxseSBhIGJpZyBwcm9ibGVtPyBJdCBzZWVtcyB0byBtZSB0aGF0IHN1Y2gg Y2FzZXMgY2FuIGJlIGVhc2lseSBpZGVudGlmaWVkICh0aGUgcHJlc2VuY2Ugb2YgbG9hZGVkIHBs dWdpbnMgY291bGQgYWxzbyBiZSBpbmRpY2F0ZWQgaW4gdGhlIHZlcnNpb24gaGVhZGVyKS4NCg0K SSBoYXZlIGEgZGVlcCBkaXNsaWtlIGZvciBiaW5hcnkgYmxvYnMuDQoNClRoYXQgSSBjYW4gdW5k ZXJzdGFuZC4gQnV0IG9uIG9uZSBzaWRlIHJlamVjdGluZyBhIGxvdCBvZiBzb3VyY2UgY29kZSBh bmQgYWxzbyBub3QgYWxsb3dpbmcgY29tcGlsZWQgY29kZSBmb3IgZXh0ZW5kaW5nIGlzIGEgcHJl dHR5IGZlbmNpbmcgcG9saWN5IGVzIHdlbGwuDQoNCldoYXQgZG8geW91IHRoaW5rIGFib3V0IGEg Y29tcGlsZS10aW1lIHBsdWdpbiBtb2RlbD8NCg0KUFM6SSBkb27igJl0IGtub3cgdGhlIGF2aXN5 bnRoIGJhY2sgc3RvcnkuLi4NCg0KVGhhbmtzDQpzdw0KDQoNCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCmZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QKZmZt cGVnLWRldmVsQGZmbXBlZy5vcmcKaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8v ZmZtcGVnLWRldmVsCgpUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBhYm92ZSwgb3IgZW1haWwK ZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJl Ii4K