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 F29B64E118 for ; Sat, 8 Mar 2025 19:25:23 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D0E4C68E6F8; Sat, 8 Mar 2025 21:25:21 +0200 (EET) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10olkn2105.outbound.protection.outlook.com [40.92.42.105]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id DBCE568E6EB for ; Sat, 8 Mar 2025 21:25:20 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=g3COpkPKuL5eCYYj4/dVpKRKt3S+0xG0fVn01Ldz8RdkkQ6nagPMRHYRuJWDKAvetj3amjyyGNhyloGU3t6Cz7FNTNjUpH0KFUapH2pVO+jtpern7wGR7GGr1EusHOeHHv+hBDrnRH97NSo/UgTO5tfG+ZvUoJUbavaZBLz+KxdkVEtaKFU0CTSEnzag8t1N5nH9DE6i5b+ZrK2wRyfk1lyqdtvRAYlI0HLHajAhZ/XZAggYfSqV8Nj5/XkN0UewEfR8eMszmU/r30iTu4Q2XVFRfmero1XhAySPtZrwdShSCgXvLKApeXeg+8ymZe7gMD4V15hxjKvI6JAJ+ON8fg== 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=1OTu6z0zYZP+zYsH8IgtsQfHB3ihsTi89Wl1c6kJXX8=; b=UIoegnk8b/S/A1EMc9AK320H7r2d/z5xSKnZx/D8vM9SUF/taa+M3Gv0TDwDrd/OvCpdwyKSX6LYo6Q4oatgSGMC4kADUp3f6xoAMYBZy94qya1j41pNBhPRNy/4rEmmm2aTzVbpFd4dBAT4mzh9cyEpavI7+PTK3NUtLIYG7zEKtIUyENvSYOvEyHY+QWZmUk83Us6EYdtPHqKuDFab9La4WxLv6+IQRTGfP2Q1t4BRrcdSBpkWUpk5PJ/VY7El/HJdjf688XIx5YXb+BisRubcLHhCipnZvw8L6MREmtqQZrqndCz06RkICihpKJjIvbEcW+njgA7gZbdhsscQyg== 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=1OTu6z0zYZP+zYsH8IgtsQfHB3ihsTi89Wl1c6kJXX8=; b=AdQfpHjhigqEF8CibQxUg2rIUluk5RiAM4SirBAC46sYfV9WOU5kq1VItRlQIAhSyKMm+pbfkvOO33Pzuzh5tXDndgn8OanHS8/iKsBWNN3PO9zfNQ5T58RTFNpLZwAt9uL/ggtWw2m7vk0D6j6bsIWV4NtnaEhVxCUZ5YZtIhpwa7YfWvrFjdSBu8ZC/QxlQWsPlHNUAWlKPQegzCaUTuLb38fJnZEjYqK+OrMMxFbq0P8BBxFZC7bSfi05F/09PrWOMEzuEYWyVZ6M23kSwGS8EFZSL7l3l3L/ZTR6s2V5Ck/LwsZZe6jB0d7yQjEPra4s7dIpmgYqu2Y3XDF6eA== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by SJ2P223MB0912.NAMP223.PROD.OUTLOOK.COM (2603:10b6:a03:591::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.23; Sat, 8 Mar 2025 19:25:17 +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.8511.025; Sat, 8 Mar 2025 19:25:17 +0000 From: Soft Works To: Stefano Sabatini Thread-Topic: [FFmpeg-devel] [PATCH v3 1/7] fftools/textformat: Extract and generalize textformat api from ffprobe.c Thread-Index: AQHbipEFizx1C9jbWEO+DATMb/mrbbNpWdgAgAAIwuCAADN/gIAABrOw Date: Sat, 8 Mar 2025 19:25:17 +0000 Message-ID: References: <6239813ba0e293bd427cecf8437aadef778ea3ee.1740823324.git.ffmpegagent@gmail.com> 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_|SJ2P223MB0912:EE_ x-ms-office365-filtering-correlation-id: d29f21a8-9fff-4a1a-5d2a-08dd5e76f557 x-microsoft-antispam: BCL:0; ARA:14566002|15080799006|7092599003|461199028|8062599003|19110799003|8060799006|102099032|3412199025|440099028; x-microsoft-antispam-message-info: =?utf-8?B?M2JYS2U1dWN5anRsbmNKWE1lRjI4b2tjUW0vbGN3MVNOSG9zT1Avd3NKQ2Nh?= =?utf-8?B?WFRjWFpRSEd6a3JKRnJoZkF1WjJ1emFWV1RzZld3V0gvVEE4Q1lMYVVqNkhO?= =?utf-8?B?dUNkYUJRRklLdWQ0VUw0cStqNGc4TkdIUDZXaEVra2E5MHFTWnFUWlN0YTFm?= =?utf-8?B?OEMvY2JvOHlCSXR6dFBwckZVeGpONTFHK3RLcFFBd1lSTWFqL3FBcUpkRS9C?= =?utf-8?B?TWJoL1dVdzl3TUVFT0xFRWZiVUJmR1VScEUrQkF0RmFhcGdnNTdPWVRnZ01Z?= =?utf-8?B?WCtjbnYrNlhFSXlMSnNKaU5wUkRJM1czRlJpOS92V2NKMVNzMjVWakIwVWs1?= =?utf-8?B?RWFIQ3hrWGVhNjFrbCtDKzN5R1U3bWJiT0hhS0drQnZJYVdmUTNUOGFSMVJH?= =?utf-8?B?RHpCM0s3OVFONkZkSngwbmdLa2RNTUt2Sm5DcW9Ua1ZTMHdUU21mMGNxZ3JQ?= =?utf-8?B?THlMQ3VKTFhDb1dCTHdaa25qb2cxRWFrRG1JZE1VRkJhaFhuQisrVUdmbUJS?= =?utf-8?B?NnF6MGF3YWhXS243OUpzQy9sRXJqbzNiR3dzMlhpaDgrQTgrUzNMRVZSUkZG?= =?utf-8?B?ZkxJNFNEaXJsQThKdjJQVWFqcng3SVpDRDZsWHA3MHpaUUhvb3B2RDlla3g2?= =?utf-8?B?UGMycEswSEwwdlNTb3JONW11NldsTHNaeGVtRE9KMHEvSUFBbXEvcG45NzhD?= =?utf-8?B?N1NHaG0yR3NXbWdoSStuQk54NUp6RFNENlVselk3NmtTOW1rYVpkNVBZdVlC?= =?utf-8?B?YlBxcGdkM0ZXQ043M3ZFSUI5MytrTFQvdFFDNW9EWm92SksrbHRmUnJyQ1l2?= =?utf-8?B?L000Y2lMMjRKb2RBVTFxczdRMFJGOEpqVHdlVktnbGM0Qm5FeHRTZW96NEc0?= =?utf-8?B?S2NpOU92Skg1VEs4MVdjbjFXZ3hnNmNsS3djMm5nck9MQi96QWNmdG54b1pZ?= =?utf-8?B?U09YY0FLTnovNGhZbVZKamozOXo3emx1WlMwMCtITUpGZUFOQXg1RUU3Y2ww?= =?utf-8?B?Y2xBaE0rQW4yN1BSdVpqWGI4dm90VGpoeVNSS3FkOTVSNHQ0L2ovK1hsVmxx?= =?utf-8?B?ZDkrVm1lWE1rb1FaTTh3eU1BVmdwWmJhRjZ1dkdUYkRLUmk3UFhsNXBVT3R0?= =?utf-8?B?OVRmaWdnOG5jLzVoUExOTXdody9DakZ3d0VNcHJlMkRrZk5YdjJFMld6OUZ3?= =?utf-8?B?bXl3VU1wZlFUVGh2ZlN3anZhcWFFRXFHMXR1d0hYbElyUFA1YjR2VGluNFdW?= =?utf-8?B?WGFqb0FlTzFNb21GSXMwM1liUStobzdJaXFxRjZzdmFwTXkrcDZ3YmFKbnhS?= =?utf-8?B?bFJHd1ZDMS9TbGVhWlhoend4blN2N1hla0IrVW4rUkU2RHo4dXdKakZoNmhD?= =?utf-8?B?dGhpclRiaFQrNXExeVlYbjFXZHVYbWkxVUMyd3Z3NUxMRmZzcXVINlhYNzli?= =?utf-8?B?eEJUOGFpRmw3c0RpNWtSZUNHTDdOMXdhaTBhaThRPT0=?= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?WlFVdWt0N0dQa3Rjc1JLb3BYbHJJK2VYZzNSeTA2Q29vUVpRZzVNVEkvZUJE?= =?utf-8?B?SGZET0Q4Wm4xcklZTDVqTUxlUWN6cnA4Zm1tOVZlNEZDUHNvTm9VeGtXZUNs?= =?utf-8?B?STBXSUJJT2JrWEVrWWdGOW84cFhQdzc3RHQxUHY0RnRvcXZ2d0hLWlVNOGla?= =?utf-8?B?RHlwanVybnhUOEQ1cno5dEd6cUp2NmVrRXFUOHFKRStHclZWMzhsdnZvL25K?= =?utf-8?B?Qmp6K2Vod3I5RUEyRzJSa3VDMW5heEV0NXZ4Vk81TU9MTGhwZ1RrZmV6SVNY?= =?utf-8?B?VVBoZnNZZ1UxVnNyc09aSFZwdjkyQWZheUlCaFVmN1p2WkRwMm51ai81Szc3?= =?utf-8?B?NEdQMmxEbDR0bko1R0RHREJiTUtLb3VPd0hLNlZVQ3F4czVlTkNTR0g4S1JY?= =?utf-8?B?eWtpaHpwakgyK0s3UE5CMno2aUwvRVNidjgwMmF2VXM2NFFpcG10eGVMbVBG?= =?utf-8?B?ZzZnbHpWOWJWNTNJTXpIVWRyUGdnS2RUdU56V2F0T0wvbkJzNEdTb0xqaWx3?= =?utf-8?B?ajJCdVpTTC9zVUsvUjN5c2FUYVVJRVEvd3NWQU95SGZVUUtQK2RDektUWVpT?= =?utf-8?B?TGRWQlBkSjlwem9HWmNSNzNjZ3Z0ckRzR2pRbTZLUkRFeER2eVgzY2ZwTjQ0?= =?utf-8?B?WG03c1VNZjhDb2VhN2ZENlJ2bTlhSzUvbHZ2OWV5cXhtR1JMR3A3TlI3OVcr?= =?utf-8?B?cE1ZQ2k3U3NJTW9UL2NOellUZjNqR0hsaEw2UjhGYjUxUVhHV3U3b0VJUk1I?= =?utf-8?B?ZW9LYnFsNWpxM0NERTZCNjFCUG1kYkZiUitXUGhzdHJrM3ZBMm1YUkVyZ0JZ?= =?utf-8?B?eVdtMXV2a0RnVW1NVk9VVXZTRXp3UDBoT1FvNzV2b1NxLzNSSks0Z0FZRnZM?= =?utf-8?B?aU1DVGpxbkVjbmRuUDFoZjNjTlBxVVVMQlZaeWRkS2lVOG1jL2NiejhYK2hV?= =?utf-8?B?SExJZVBuMUNmYkVnTWVDKy8zaUFTNGRmWFBvaUhRZEVHdDRGNVVocE8wTEc0?= =?utf-8?B?MTdGaFFEMUtyNHUyN3k4ZmRyRUtQVnlHMFNjNERDVm1tcGpjZVd0Ykt0dEoy?= =?utf-8?B?Wkdidkc0RGVhNlp4bW93V3FnbFZ5eVIzNmw0dkFqamFKdmZXdlpSM3dvSVpV?= =?utf-8?B?ckhSTGZXS0loTGtORy80cEpJMGxCMFQxZ1lKYnV5MHdzbTE2dzFwcXFrbFFZ?= =?utf-8?B?Zzd6WmxhRmRQRWJGUk15eGE4d0xqRzkwbU5nZVRtVlZ0bXhEV2FNd1BtWXBv?= =?utf-8?B?aWg5RDFkRlpYcHo2ZE9ZcnNuK2lsZzNuaTNFUHNOYTNSWGVFUDMyeXhmVjlo?= =?utf-8?B?ajBGZjd4UUJZbE9RK2oyWWgrc3lxcXllQkV5dnBqY1A2anJXODZjY3Fucmcz?= =?utf-8?B?OVRYVGNCOGphb0EzVW5acytIMnVzUnZUM1I3UnVzUDRNbXRvWUsrenhnaTB6?= =?utf-8?B?Sy9HVG5NSU5WTXVHOVk3MGd2WUdWSzQ4UmJPYks4RExnMnFzY25melg2aUZP?= =?utf-8?B?T0U3ekk4NnVwWDBtaHRFbWRsOStWbGVTT2xXUHVPem5nVUJuZnpRMGNTdW9R?= =?utf-8?B?YnVUbUlGbVhoOXJGMHNVbFdsNFp3TE1xaTdOMlRvSytYUm9sNm84NGFpTm5C?= =?utf-8?Q?fD5JAs3sV1Kw2ZExmPqc6LtKV6MkiJ6ey2g+mWGgih1A=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: d29f21a8-9fff-4a1a-5d2a-08dd5e76f557 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Mar 2025 19:25:17.1376 (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: SJ2P223MB0912 Subject: Re: [FFmpeg-devel] [PATCH v3 1/7] fftools/textformat: Extract and generalize textformat api from ffprobe.c 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: Soft Works , FFmpeg development discussions and patches 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: DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogU3RlZmFubyBTYWJhdGlu aSA8c3RlZmFzYWJAZ21haWwuY29tPg0KPiBTZW50OiBTYW1zdGFnLCA4LiBNw6RyeiAyMDI1IDE5 OjEyDQo+IFRvOiBTb2Z0IFdvcmtzIDxzb2Z0d29ya3pAaG90bWFpbC5jb20+DQo+IENjOiBGRm1w ZWcgZGV2ZWxvcG1lbnQgZGlzY3Vzc2lvbnMgYW5kIHBhdGNoZXMgPGZmbXBlZy0NCj4gZGV2ZWxA ZmZtcGVnLm9yZz47IFNvZnQgV29ya3MgPHNvZnR3b3Jrei1hdC1ob3RtYWlsLmNvbUBmZm1wZWcu b3JnPg0KPiBTdWJqZWN0OiBSZTogW0ZGbXBlZy1kZXZlbF0gW1BBVENIIHYzIDEvN10gZmZ0b29s cy90ZXh0Zm9ybWF0OiBFeHRyYWN0DQo+IGFuZCBnZW5lcmFsaXplIHRleHRmb3JtYXQgYXBpIGZy b20gZmZwcm9iZS5jDQo+IA0KPiBPbiBkYXRlIFNhdHVyZGF5IDIwMjUtMDMtMDggMTU6MzA6Mjgg KzAwMDAsIFNvZnQgV29ya3Mgd3JvdGU6DQo+ID4NCj4gPg0KPiA+ID4gLS0tLS1PcmlnaW5hbCBN ZXNzYWdlLS0tLS0NCj4gPiA+IEZyb206IFN0ZWZhbm8gU2FiYXRpbmkgPHN0ZWZhc2FiQGdtYWls LmNvbT4NCj4gPiA+IFNlbnQ6IFNhbXN0YWcsIDguIE3DpHJ6IDIwMjUgMTU6MzcNCj4gPiA+IFRv OiBGRm1wZWcgZGV2ZWxvcG1lbnQgZGlzY3Vzc2lvbnMgYW5kIHBhdGNoZXMgPGZmbXBlZy0NCj4g ZGV2ZWxAZmZtcGVnLm9yZz4NCj4gPiA+IENjOiBTb2Z0IFdvcmtzIDxzb2Z0d29ya3otYXQtaG90 bWFpbC5jb21AZmZtcGVnLm9yZz47IHNvZnR3b3Jreg0KPiA+ID4gPHNvZnR3b3JrekBob3RtYWls LmNvbT47IEFuZHJlYXMgUmhlaW5oYXJkdA0KPiA+ID4gPGFuZHJlYXMucmhlaW5oYXJkdEBvdXRs b29rLmNvbT4NCj4gPiA+IFN1YmplY3Q6IFJlOiBbRkZtcGVnLWRldmVsXSBbUEFUQ0ggdjMgMS83 XSBmZnRvb2xzL3RleHRmb3JtYXQ6DQo+IEV4dHJhY3QNCj4gPiA+IGFuZCBnZW5lcmFsaXplIHRl eHRmb3JtYXQgYXBpIGZyb20gZmZwcm9iZS5jDQo+ID4gPg0KPiA+ID4gT24gZGF0ZSBTYXR1cmRh eSAyMDI1LTAzLTAxIDEwOjAxOjU4ICswMDAwLCBzb2Z0d29ya3ogd3JvdGU6DQo+ID4gPiBbLi4u XQ0KPiA+ID4NCj4gPiA+ID4gK2ludCBhdnRleHRfY29udGV4dF9vcGVuKEFWVGV4dEZvcm1hdENv bnRleHQgKipwdGN0eCwgY29uc3QNCj4gPiA+IEFWVGV4dEZvcm1hdHRlciAqZm9ybWF0dGVyLCBB VlRleHRXcml0ZXJDb250ZXh0ICp3cml0ZXIsIGNvbnN0IGNoYXINCj4gPiA+ICphcmdzLA0KPiA+ ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IEFWVGV4dEZvcm1hdFNl Y3Rpb24NCj4gKnNlY3Rpb25zLA0KPiA+ID4gaW50IG5iX3NlY3Rpb25zLA0KPiA+ID4gPiArICAg ICAgICAgICAgICAgICAgICAgICAgaW50IHNob3dfdmFsdWVfdW5pdCwNCj4gPiA+ID4gKyAgICAg ICAgICAgICAgICAgICAgICAgIGludCB1c2VfdmFsdWVfcHJlZml4LA0KPiA+ID4gPiArICAgICAg ICAgICAgICAgICAgICAgICAgaW50IHVzZV9ieXRlX3ZhbHVlX2JpbmFyeV9wcmVmaXgsDQo+ID4g PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICBpbnQgdXNlX3ZhbHVlX3NleGFnZXNpbWFsX2Zv cm1hdCwNCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgIGludCBzaG93X29wdGlvbmFs X2ZpZWxkcywNCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKnNob3dfZGF0 YV9oYXNoKTsNCj4gPiA+DQo+ID4gPiB3cml0ZXIgLT4gd3JpdGVyX2N0eD8NCj4gPiA+DQo+ID4g PiBJJ20gZmluZSB3aXRoIGNoYW5naW5nIHRoaXMgbGF0ZXIgdG8gYXZvaWQgbWFzc2l2ZSByZWJh c2UgZWRpdHMuDQo+ID4NCj4gDQo+ID4gTm8gcHJvYmxlbSwgSSByZWFsaXplZCB0aGF0IGl0J3Mg anVzdCBhIG1hdHRlciBvZiB0b29saW5nIGFmdGVyDQo+IGdldHRpbmcgYW5ub3llZCBieSB0aGVz ZSB0aGluZ3MgZm9yIHllYXJzIPCfmIoNCj4gPiAoZG9uZSBhbHJlYWR5KQ0KPiANCj4gSSdtIGN1 cmlvdXMgd2hhdCB0b29saW5nIGFyZSB5b3UgdXNpbmcgaW4gdGhpcyBjYXNlPw0KDQpTbWFydEdp dC4gSXQncyBmcm9tIGEgc21hbGwgR2VybWFuIGNvbXBhbnksIFdpbi9MaW51eC9NYWMuIA0KV2lu ZG93ID4gU2hvdyBMb2cgV2luZG93IC0gdGhpcyBpcyB3aGF0IEknbSBhbHdheXMgdXNpbmcuIFRo ZSAnU3RhbmRhcmQgd2luZG93JyBpcyBhIHJlY2VudCBhZGRpdGlvbiBidXQgaXQgZG9lc24ndCBw cm92aWRlIHRoYXQgd29ya2Zsb3cgd2hlcmUgeW91J3JlIHJlYWxseSBmZWVsaW5nIGluIGNoYXJn ZS4NCkF0IHRoZSBsZWZ0IHNpZGUgYm90dG9tLCB0aGVyZSdzIGEgdHJlZSB3aXRoIGFsbCBicmFu Y2hlcywgbG9jYWwgYW5kIHJlbW90ZSB3aXRoIGNoZWNrYm94ZXMuIFRob3NlIGNoZWNrYm94ZXMg YXJlIG1hZ2ljLiBBbGwgY2hlY2tlZCBicmFuY2hlcyBhcmUgbWl4ZWQgdG9nZXRoZXIgaW4gdGhl IGxvZyBsaXN0LiBJbiB0aGF0IGxpc3Qgd2hlbiB5b3Ugc2VsZWN0IHR3byBlbnRyaWVzLCB5b3Ug Z2V0IHRoZSBkaWZmIGJldHdlZW4gdGhvc2Ugc2hvd24gbGlrZSBub3JtYWwgY29tbWl0cywgd2hp bGUgdGhlIHR3byBjb21taXRzIGNhbiBiZSBmcm9tIGFueXdoZXJlIG5vIG1hdHRlciB3aGV0aGVy IGxvY2FsIG9yIHJlbW90ZSBvciBldmVuIGRpc2pvaW50LiANCkFub3RoZXIga2V5IHBvaW50IGlz IHRoZSB3YXkgaG93IGl0IGFsbG93cyB0byByZXNoYXBlIGEgcmFuZ2Ugb2YgY29tbWl0cyBpbiBu byB0aW1lLiBZb3UgY2FuIHNlbGVjdCBmaWxlcyBpbiBwYXN0IGNvbW1pdHMgYW5kIHNwbGl0IHRo ZW0gb2ZmIGluIGEgc2Vjb25kLCBkcmFnLWRyb3AgcmUtb3JkZXIgY29tbWl0cywgbW9kaWZ5IHBh c3QgY29tbWl0cywgcmV2ZXJ0IGNoYW5nZXMgZnJvbSBhIHNpbmdsZSBmaWxlIGluIGEgcGFzdCBj b21taXQgb24gdG9wIG9mIHRoZSBIRUFEIHdpdGggYSBzaW5nbGUgY2xpY2suIFNvLCB3aGVuIHlv dSBoYXZlIGEgcmFuZ2Ugb2YgY29tbWl0cyBhbmQgc29tZW9uZSBzYXlzIGNoYW5nZSBBIG5lZWRz IHRvIGJlIGluIGNvbW1pdCBYIGFuZCBCIG1vdmVkIHRvIFkgYW5kIGFsbCB0aGVzZSBraW5kcyBv ZiB0aGluZ3MsIHlvdSBjYW4gZ2V0IGl0IGRvbmUgZXZlbiBiZWZvcmUgeW91J3JlIGNsZWFyIHdo YXQgeW91ciBmaXJzdCBDTEkgY29tbWFuZCB3b3VsZCBuZWVkIHRvIGJlLg0KSXQncyB3ZWxsIHRo b3VnaHQgb3V0IGluIHNvIG1hbnkgZGV0YWlscyBhbmQgYWxsb3dzIG1lIHRvIHdvcmsgbGlrZSBJ IGhhZCBhbHdheXMgdGhvdWdodCBpdCBzaG91bGQgYmUuDQpTb3JyeSBmb3IgdGhlIGNvbW1lcmNp YWwsIGJ1dCBzdWNoIGdyZWF0IHRvb2wgZGVzZXJ2ZXMgaXQgaW1vLg0KDQo+IFsuLi5dDQo+IA0K PiA+IE5hbWluZzoNCj4gPg0KPiA+IEkgdGhpbmsgdGhlIHdvcmQgY29udGV4dCBpcyBoZWxwZnVs IHRvIGluZGljYXRlIHdoYXQgaXQgaXMgLSBsaWtlDQo+IENvZGVjIGFuZCBDb2RlYy1Db250ZXh0 IHRoZXJlJ3MgQVZUZXh0Rm9ybWF0dGVyIGFuZCBBVlRleHRGb3JtYXRDb250ZXh0DQo+IC0gaW1v IGl0IGlzIGdvb2QgdG8gdW5kZXJzdGFuZCB0aGUgcmVsYXRpb24gYmV0d2VlbiB0aGUgdG9vLg0K PiA+DQo+ID4gRm9yIGV2ZXJ5dGhpbmcgZWxzZSBJIGRvbid0IG1pbmQuIEkgaGFkIGNoYW5nZWQg dGhlIG5hbWluZ3MgbXlzZWxmIGENCj4gbnVtYmVyIG9mIHRpbWVzIGJ1dCBlYWNoIHRpbWUgaXQg ZW5kZWQgd2l0aCBhbm90aGVyIGluY29uc2lzdGVuY3kgLSBJDQo+IHdhcyBqdXN0IGtpbmQgb2Yg bW92aW5nIHRoZSBpbmNvbnNpc3RlbmN5IGFyb3VuZC4NCj4gPiBTbywgSSdsbCBoYXBwaWx5IHJl bmFtZSBldmVyeXRoaW5nIGluIHdoYXRldmVyIHdheSBpcyBkZXNpcmVkLCBJJ2QNCj4ganVzdCBz YXkgdGhhdCBiZWZvcmUgcmVuYW1pbmcgd2Ugc2hvdWxkIG1ha2UgYSBmdWxsIHBsYW4gaW4gYWR2 YW5jZQ0KPiB3aGljaCBjb3ZlcnMgdGhlIGZ1bGwgcmFuZ2UuDQo+IA0KPiBPSywgYW55d2F5IHRo aXMgY2FuIGJlIGRvbmUgaW4gYSBzZWNvbmQgc3RlcCBzbyBpdCdzIG5vdCBibG9ja2luZy4NCj4g DQo+IEp1c3QgdG8gZWxhYm9yYXRlIGEgYml0IG1vcmU6DQo+IGludCBhdmNvZGVjX29wZW4yKEFW Q29kZWNDb250ZXh0ICphdmN0eCwgY29uc3QgQVZDb2RlYyAqY29kZWMsDQo+IEFWRGljdGlvbmFy eSAqKm9wdGlvbnMpOw0KPiANCj4gbm90ZSB0aGF0IGluIGF2Y29kZWNfb3BlbjIgZG9lcyBub3Qg cmVmZXIgdG8gY29udGV4dCwgYWx0aG91Z2ggd2UNCj4gcHJvdmlkZSBib3RoIGEgY29udGV4dCBh bmQgYSBjb2RlYy4gSW4gZ2VuZXJhbCBhZGRpbmcgdGhhdCB3b3JkIGlzDQo+IHByb3ZpZGluZyBu byBhZGRlZCBpbmZvcm1hdGlvbi4NCg0KT2theSBmaW5lLCBubyBuZWVkIHRvIGFyZ3VlIGFib3V0 IHRoYXQgYml0IQ0KDQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QKZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcK aHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVsCgpUbyB1bnN1 YnNjcmliZSwgdmlzaXQgbGluayBhYm92ZSwgb3IgZW1haWwKZmZtcGVnLWRldmVsLXJlcXVlc3RA ZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4K