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 ESMTP id AB3D949E90 for ; Tue, 12 Mar 2024 21:24:46 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E604068CE37; Tue, 12 Mar 2024 23:24:43 +0200 (EET) Received: from iq.passwd.hu (iq.passwd.hu [217.27.212.140]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A34F968CDA0 for ; Tue, 12 Mar 2024 23:24:37 +0200 (EET) Received: from localhost (localhost [127.0.0.1]) by iq.passwd.hu (Postfix) with ESMTP id 40257E99DC for ; Tue, 12 Mar 2024 22:24:37 +0100 (CET) X-Virus-Scanned: amavisd-new at passwd.hu Received: from iq.passwd.hu ([127.0.0.1]) by localhost (iq.passwd.hu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OmRuQ4p_OndI for ; Tue, 12 Mar 2024 22:24:33 +0100 (CET) Received: from iq (iq [217.27.212.140]) by iq.passwd.hu (Postfix) with ESMTPS id F143FE5FDA for ; Tue, 12 Mar 2024 22:24:32 +0100 (CET) Date: Tue, 12 Mar 2024 22:24:32 +0100 (CET) From: Marton Balint To: Allan Cady via ffmpeg-devel In-Reply-To: <296519687.1767810.1710212258566@mail.yahoo.com> Message-ID: <03d6b5ee-5895-879f-605d-5c4cace3fbbf@passwd.hu> References: <20240311025607.3468624-1-allancady@yahoo.com> <01469fba-cd3c-2190-7297-6016bfb65700@passwd.hu> <296519687.1767810.1710212258566@mail.yahoo.com> MIME-Version: 1.0 Content-ID: <3f79b064-b7ec-17c1-0fed-46b846ce3854@passwd.hu> X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH] change av_ts_make_time_string precision 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 Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: CgpPbiBUdWUsIDEyIE1hciAyMDI0LCBBbGxhbiBDYWR5IHZpYSBmZm1wZWctZGV2ZWwgd3JvdGU6 Cgo+IE9uIE1vbmRheSwgTWFyY2ggMTEsIDIwMjQgYXQgMTI6MTE6NDUgUE0gUERULCBNYXJ0b24g QmFsaW50IDxjdXNAcGFzc3dkLmh1PiB3cm90ZTogCj4+IE9uIE1vbiwgMTEgTWFyIDIwMjQsIEFu ZHJlYXMgUmhlaW5oYXJkdCB3cm90ZToKPj4gQWxsYW4gQ2FkeSB2aWEgZmZtcGVnLWRldmVsOgo+ Pj4gRnJvbTogIkFsbGFuIENhZHkiIDxhbGxhbmNhZHlAeWFob28uY29tPgo+Pj4KPj4+IEkgcHJv cG9zZSBjaGFuZ2luZyB0aGUgZm9ybWF0IHRvICIlLjZmIiwgd2hpY2ggd2lsbAo+Pj4gZ2l2ZSBt aWNyb3NlY29uZCBwcmVjaXNpb24gZm9yIGFsbCB0aW1lc3RhbXBzLCByZWdhcmRsZXNzIG9mCj4+ PiBvZmZzZXQuIFRyYWlsaW5nIHplcm9zIGNhbiBiZSB0cmltbWVkIGZyb20gdGhlIGZyYWN0aW9u LCB3aXRob3V0Cj4+PiBsb3NpbmcgcHJlY2lzaW9uLiBJZiB0aGUgbGVuZ3RoIG9mIHRoZSBmaXhl ZC1wcmVjaXNpb24gZm9ybWF0dGVkCj4+PiB0aW1lc3RhbXAgZXhjZWVkcyB0aGUgbGVuZ3RoIG9m IHRoZSBhbGxvY2F0ZWQgYnVmZmVyCj4+PiAoQVZfVFNfTUFYX1NUUklOR19TSVpFLCBjdXJyZW50 bHkgMzIsIGxlc3Mgb25lIGZvciB0aGUKPj4+IHRlcm1pbmF0aW5nIG51bGwpLCB0aGVuIHdlIGNh biBmYWxsIGJhY2sgdG8gc2NpZW50aWZpYyBub3RhdGlvbiwgdGhvdWdoCj4+PiB0aGlzIHNlZW1z IGFsbW9zdCBjZXJ0YWluIHRvIG5ldmVyIG9jY3VyLCBiZWNhdXNlIDMyIGNoYXJhY3RlcnMgd291 bGQKPj4+IGFsbG93IGEgbWF4aW11bSB0aW1lc3RhbXAgdmFsdWUgb2YgKDMyIC0gMSAtIDYgLSAx KSA9IDI0IGNoYXJhY3RlcnMuCj4+PiBCeSBteSBjYWxjdWxhdGlvbiwgMTBeMjQgc2Vjb25kcyBp cyBhYm91dCBzaXggb3JkZXJzIG9mIG1hZ25pdHVkZQo+Pj4gZ3JlYXRlciB0aGFuIHRoZSBhZ2Ug b2YgdGhlIHVuaXZlcnNlLgo+Pj4KPj4+IFRoZSBmaXggcHJvcG9zZWQgaGVyZSBmb2xsb3dzIHRo ZSBmb2xsb3dpbmcgbG9naWM6Cj4+Pgo+Pj4gMSkgVHJ5IGZvcm1hdHRpbmcgdGhlIG51bWJlciBv ZiBzZWNvbmRzIHVzaW5nICIlLjZmIi4gVGhpcyB3aWxsCj4+PiBhbHdheXMgcmVzdWx0IGluIGEg c3RyaW5nIHdpdGggc2l4IGRlY2ltYWwgZGlnaXRzIGluIHRoZSBmcmFjdGlvbiwKPj4+IHBvc3Np Ymx5IGluY2x1ZGluZyB0cmFpbGluZyB6ZXJvcy4gKGUuZy4gIjg5NzIzNC43MzIwMCIpLgo+Pj4K Pj4+IDIpIENoZWNrIGlmIHRoYXQgc3RyaW5nIHdvdWxkIG92ZXJmbG93IHRoZSBidWZmZXIuIElm IGl0IHdvdWxkLCB0aGVuCj4+PiBmb3JtYXQgaXQgdXNpbmcgc2NpZW50aWZpYyBub3RhdGlvbiAo IiUuOGciKS4KPj4+Cj4+PiAzKSBJZiB0aGUgb3JpZ2luYWwgZml4ZWQtcG9pbnQgZm9ybWF0IGZp dHMsIHRoZW4gdHJpbSBhbnkgdHJhaWxpbmcKPj4+IHplcm9zIGFuZCBkZWNpbWFsIHBvaW50LCBh bmQgcmV0dXJuIHRoYXQgcmVzdWx0Lgo+Pj4KPj4+IE1ha2luZyB0aGlzIGNoYW5nZSBicm9rZSB0 d28gZmF0ZSB0ZXN0cywgZmlsdGVyLW1ldGFkYXRhLXNjZGV0LAo+Pj4gYW5kIGZpbHRlci1tZXRh ZGF0YS1zaWxlbmNlZGV0ZWN0LiBUbyBjb3JyZWN0IHRoaXMsIEkndmUgbW9kaWZpZWQKPj4+IHRl c3RzL3JlZi9mYXRlL2ZpbHRlci1tZXRhZGF0YS1zY2RldCBhbmQKPj4+IHRlc3RzL3JlZi9mYXRl L2ZpbHRlci1tZXRhZGF0YS1zaWxlbmNlZGV0ZWN0IHRvIG1hdGNoIHRoZQo+Pj4gbmV3IG91dHB1 dC4KPj4+Cj4+PiBTaWduZWQtb2ZmLWJ5OiBBbGxhbiBDYWR5IDxhbGxhbmNhZHlAeWFob28uY29t Pgo+Pj4gLS0tCj4+PiDCoCBsaWJhdnV0aWwvdGltZXN0YW1wLmjCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCB8IDUzICsrKysrKysrKysrKysrKysrKystCj4+PiDCoCB0ZXN0cy9y ZWYvZmF0ZS9maWx0ZXItbWV0YWRhdGEtc2NkZXTCoCDCoCDCoCDCoCB8IDEyICsrLS0tCj4+PiDC oCB0ZXN0cy9yZWYvZmF0ZS9maWx0ZXItbWV0YWRhdGEtc2lsZW5jZWRldGVjdCB8wqAgMiArLQo+ Pj4gwqAgMyBmaWxlcyBjaGFuZ2VkLCA1OCBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQo+ Pj4KPj4+IGRpZmYgLS1naXQgYS9saWJhdnV0aWwvdGltZXN0YW1wLmggYi9saWJhdnV0aWwvdGlt ZXN0YW1wLmgKPj4+IGluZGV4IDJiMzc3ODFlYmEuLjJmMDRmOWJiMmIgMTAwNjQ0Cj4+PiAtLS0g YS9saWJhdnV0aWwvdGltZXN0YW1wLmgKPj4+ICsrKyBiL2xpYmF2dXRpbC90aW1lc3RhbXAuaAo+ Pj4gQEAgLTI1LDYgKzI1LDcgQEAKPj4+IMKgICNkZWZpbmUgQVZVVElMX1RJTUVTVEFNUF9ICj4+ Pgo+Pj4gwqAgI2luY2x1ZGUgImF2dXRpbC5oIgo+Pj4gKyNpbmNsdWRlIDxzdGRib29sLmg+Cj4+ Pgo+Pj4gwqAgI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpICYmICFkZWZpbmVkKF9fU1REQ19GT1JN QVRfTUFDUk9TKSAmJiAhZGVmaW5lZChQUklkNjQpCj4+PiDCoCAjZXJyb3IgbWlzc2luZyAtRF9f U1REQ19GT1JNQVRfTUFDUk9TIC8gI2RlZmluZSBfX1NURENfRk9STUFUX01BQ1JPUwo+Pj4gQEAg LTUzLDYgKzU0LDMyIEBAIHN0YXRpYyBpbmxpbmUgY2hhciAqYXZfdHNfbWFrZV9zdHJpbmcoY2hh ciAqYnVmLCBpbnQ2NF90IHRzKQo+Pj4gwqAgKi8KPj4+IMKgICNkZWZpbmUgYXZfdHMyc3RyKHRz KSBhdl90c19tYWtlX3N0cmluZygoY2hhcltBVl9UU19NQVhfU1RSSU5HX1NJWkVdKXswfSwgdHMp Cj4+Pgo+Pj4gKy8qKgo+Pj4gKyAqIFN0cmlwIHRyYWlsaW5nIHplcm9zIGFuZCBkZWNpbWFsIHBv aW50IGZyb20gYSBzdHJpbmcuIFBlcmZvcm1lZAo+Pj4gKyAqIGluLXBsYWNlIG9uIGlucHV0IGJ1 ZmZlci4gRm9yIGxvY2FsIHVzZSBvbmx5IGJ5IGF2X3RzX21ha2VfdGltZV9zdHJpbmcuCj4+PiAr ICoKPj4+ICsgKiBlLmcuOgo+Pj4gKyAqICI3NTIuMzc4MDAwIiAtPiAiNzUyLjM3OCIKPj4+ICsg KsKgIMKgIMKgIMKgICI0LjAiIC0+ICI0Igo+Pj4gKyAqwqAgwqAgwqAgIjk3MzAwIiAtPiAiOTcz MDAiCj4+PiArICovCj4+PiArc3RhdGljIGlubGluZSB2b2lkIGF2X3RzX3N0cmlwX3RyYWlsaW5n X3plcm9zX2FuZF9kZWNpbWFsX3BvaW50KGNoYXIgKnN0cikgewo+Pj4gK8KgIMKgIGlmIChzdHJj aHIoc3RyLCAnLicpKQo+Pj4gK8KgIMKgIHsKPj4+ICvCoCDCoCDCoCDCoCBpbnQgaTsKPj4+ICvC oCDCoCDCoCDCoCBmb3IgKGkgPSBzdHJsZW4oc3RyKSAtIDE7IGkgPj0gMCAmJiBzdHJbaV0gPT0g JzAnOyBpLS0pIHsKPj4+ICvCoCDCoCDCoCDCoCDCoCDCoCBzdHJbaV0gPSAnXDAnOwo+Pj4gK8Kg IMKgIMKgIMKgIH0KPj4+ICsKPj4+ICvCoCDCoCDCoCDCoCAvLyBSZW1vdmUgZGVjaW1hbCBwb2lu dCBpZiBpdCdzIHRoZSBsYXN0IGNoYXJhY3Rlcgo+Pj4gK8KgIMKgIMKgIMKgIGlmIChpID49IDAg JiYgc3RyW2ldID09ICcuJykgewo+Pj4gK8KgIMKgIMKgIMKgIMKgIMKgIHN0cltpXSA9ICdcMCc7 Cj4+PiArwqAgwqAgwqAgwqAgfQo+Pj4gKwo+Pj4gK8KgIMKgIMKgIMKgIC8vIFN0cmluZyB3YXMg bW9kaWZpZWQgaW4gcGxhY2U7IG5vIG5lZWQgZm9yIHJldHVybiB2YWx1ZS4KPj4+ICvCoCDCoCB9 Cj4+PiArfQo+Pj4gKwo+Pj4gwqAgLyoqCj4+PiDCoCAqIEZpbGwgdGhlIHByb3ZpZGVkIGJ1ZmZl ciB3aXRoIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSB0aW1lc3RhbXAgdGltZQo+Pj4gwqAgKiByZXBy ZXNlbnRhdGlvbi4KPj4+IEBAIC02NSw4ICs5MiwzMCBAQCBzdGF0aWMgaW5saW5lIGNoYXIgKmF2 X3RzX21ha2Vfc3RyaW5nKGNoYXIgKmJ1ZiwgaW50NjRfdCB0cykKPj4+IMKgIHN0YXRpYyBpbmxp bmUgY2hhciAqYXZfdHNfbWFrZV90aW1lX3N0cmluZyhjaGFyICpidWYsIGludDY0X3QgdHMsCj4+ PiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCBjb25zdCBBVlJhdGlvbmFsICp0YikKPj4+IMKgIHsKPj4+IC3CoCDCoCBpZiAo dHMgPT0gQVZfTk9QVFNfVkFMVUUpIHNucHJpbnRmKGJ1ZiwgQVZfVFNfTUFYX1NUUklOR19TSVpF LCAiTk9QVFMiKTsKPj4+IC3CoCDCoCBlbHNlwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgc25wcmludGYoYnVmLCBBVl9UU19NQVhfU1RSSU5HX1NJWkUsICIlLjZnIiwgYXZfcTJkKCp0 YikgKiB0cyk7Cj4+PiArwqAgwqAgaWYgKHRzID09IEFWX05PUFRTX1ZBTFVFKQo+Pj4gK8KgIMKg IHsKPj4+ICvCoCDCoCDCoCDCoCBzbnByaW50ZihidWYsIEFWX1RTX01BWF9TVFJJTkdfU0laRSwg Ik5PUFRTIik7Cj4+PiArwqAgwqAgfQo+Pj4gK8KgIMKgIGVsc2UKPj4+ICvCoCDCoCB7Cj4+PiAr wqAgwqAgwqAgwqAgY29uc3QgaW50IG1heF9mcmFjdGlvbl9kaWdpdHMgPSA2Owo+Pj4gKwo+Pj4g K8KgIMKgIMKgIMKgIC8vIENvbnZlcnQgNjQtYml0IHRpbWVzdGFtcCB0byBkb3VibGUsIHVzaW5n IHJhdGlvbmFsIHRpbWViYXNlCj4+PiArwqAgwqAgwqAgwqAgZG91YmxlIHNlY29uZHMgPSBhdl9x MmQoKnRiKSAqIHRzOwo+Pj4gKwo+Pj4gK8KgIMKgIMKgIMKgIGludCBsZW5ndGggPSBzbnByaW50 ZihOVUxMLCAwLCAiJS4qZiIsIG1heF9mcmFjdGlvbl9kaWdpdHMsIHNlY29uZHMpOwo+Pj4gK8Kg IMKgIMKgIMKgIGlmIChsZW5ndGggPD0gQVZfVFNfTUFYX1NUUklOR19TSVpFIC0gMSkKPj4+ICvC oCDCoCDCoCDCoCB7Cj4+PiArwqAgwqAgwqAgwqAgwqAgwqAgc25wcmludGYoYnVmLCBBVl9UU19N QVhfU1RSSU5HX1NJWkUsICIlLipmIiwgbWF4X2ZyYWN0aW9uX2RpZ2l0cywgc2Vjb25kcyk7Cj4+ PiArwqAgwqAgwqAgwqAgwqAgwqAgYXZfdHNfc3RyaXBfdHJhaWxpbmdfemVyb3NfYW5kX2RlY2lt YWxfcG9pbnQoYnVmKTsKPj4+ICvCoCDCoCDCoCDCoCB9Cj4+PiArwqAgwqAgwqAgwqAgZWxzZQo+ Pj4gK8KgIMKgIMKgIMKgIHsKPj4+ICvCoCDCoCDCoCDCoCDCoCDCoCBzbnByaW50ZihidWYsIEFW X1RTX01BWF9TVFJJTkdfU0laRSwgIiUuOGciLCBzZWNvbmRzKTsKPj4+ICvCoCDCoCDCoCDCoCB9 Cj4+PiArCj4+PiArwqAgwqAgfQo+Pj4gKwo+Pj4gwqAgwqAgwqAgcmV0dXJuIGJ1ZjsKPj4+IMKg IH0KPj4+Cj4+Cj4+IDEuIFdoYXQgbWFrZXMgeW91IGJlbGlldmUgdGhhdCBhbGwgdXNlcnMgd2Fu dCB0aGUgbmV3IGZvcm1hdCBhbmQgdGhhdCBpdAo+PiBkb2VzIG5vdCBjYXVzZSB1bmRlc2lyZWQg YmVoYXZpb3VyIGZvciBzb21lIChtYXliZSBhIGxvdCkgb2YgdGhlbT8gVGhlCj4+IG51bWJlciBv ZiBjaGFyYWN0ZXJzIHdyaXR0ZW4gYnkgdGhlIGVhcmxpZXIgY29kZSBzdGF5ZWQgcHJldHR5IGNv bnN0YW50Cj4+IGV2ZW4gd2hlbiB0aGUgdGltZXMgYmVjYW1lIGJpZyAoaW4gdGhpcyBjYXNlLCBp dCBqdXN0IHByaW50ZWQgOCBjaGFycyBpZgo+PiB0cz49MCksIHlldCB5b3VyIGNvZGUgd2lsbCBy ZWFsbHkgbWFrZSB1c2Ugb2YgdGhlIHdob2xlIGJ1ZmZlci4KPj4gR3JhbnRlZCwgd2UgY291bGQg dGVsbCBvdXIgdXNlcnMgdGhhdCB0aGV5IGhhdmUgbm8gcmlnaHQgdG8gY29tcGxhaW4KPj4gYWJv dXQgdGhpcywgZ2l2ZW4gdGhhdCB3ZSBhbHdheXMgaGFkIGEgInJpZ2h0IiB0byB1c2UgdGhlIGZ1 bGwgYnVmZmVyLAo+PiBidXQgSSBjb25zaWRlciB0aGlzIGEgdmlvbGF0aW9uIG9mIHRoZSBwcmlu Y2lwbGUgb2YgbGVhc3Qgc3VycHJpc2UuIFdoeQo+PiBkb24ndCB5b3UganVzdCBjaGFuZ2Ugc2ls ZW5jZWRldGVjdCBvciBhZGQgYW5vdGhlciBmdW5jdGlvbj8KPj4KPj4gSSBzdWdnZXN0ZWQgdG8g Y2hhbmdlIGF2X3RzX21ha2VfdGltZV9zdHJpbmcoKSBiZWNhdXNlIHRoaXMKPj4gcHJvYmxlbSBh ZmZlY3QgYWxsIGRldGVjdGlvbiBmaWx0ZXJzLCBub3Qgb25seSBzaWxlbmNlZGV0ZWN0LiBTbyBm aXhpbmcKPj4gaXQgaW4gc2lsZW5jZWRldGVjdCBvbmx5IGlzIHdyb25nLgo+Pgo+PiBUaGUgQVBJ IGRpZCBub3QgbWFrZSBhbnkgcHJvbWlzZXMgYWJvdXQgdGhlIGZvcm1hdCwgYW5kIGFzIGxvbmcg YXMgaXQKPj4gcHJvdmlkZXMgbGVzcyBjaGFycyB0aGFuIEFWX1RTX01BWF9TVFJJTkdfU0laRSwg YW5kIHRoZSBzdHJpbmcgaXMKPj4gcGFyc2VhYmxlIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBh IGZsb2F0aW5nIHBvaW50IG51bWJlciwgaXQgaXMgbm90IGEKPj4gYnJlYWsuCj4+Cj4+IFN1cmUs IGl0IGNoYW5nZXMgYmVoYXZpb3VyLCBidXQgdGhhdCBpcyBub3QgdW5oZWFyZCBvZiBpZiB0aGVy ZSBpcyBhIGdvb2QKPj4gcmVhc29uLCBhbmQgaW4gdGhpcyBjYXNlLCBJIGJlbGlldmUgdGhlcmUg aXMuIEFuZCBJIHRoaW5rIGl0IGlzIG1vcmUKPj4gbGlrZWx5IHRoYXQgc29tZSBjb2RlIGlzIGJy b2tlbiByaWdodCBub3cgYmVjYXVzZSB0aGUgZnVuY3Rpb24KPj4gbG9zZXMgcHJlY2lzaW9uIG9y IHJldHVybnMgc2NpZW50aWZpYyBub3RhdGlvbiBmb3IgcmVsYXRpdmVseSBzbWFsbAo+PiB0aW1l c3RhbXBzLiBBY3R1YWxseSwgaXQgX3dhc18gYSBzdXByaXNlIGZvciBtZSwgc28gSU1ITyB0aGUg ZWxlbWVudCBvZgo+PiBsZWFzdCBzdXByaXNlIGlzIHRoYXQgcHJlY2lzaW9uIHdpbGwgbm90IGZh ZGUgYXdheSBmb3IgcmVhc29uYWJseSBzbWFsbAo+PiB0aW1lc3RhbXBzLgo+Pgo+PiAyLiBGb3Ig dmVyeSBzbWFsbCB0aW1lc3RhbXBzICg8IDEwXi00KSwgdGhlIG5ldyBjb2RlIHdpbGwgcHJpbnQg YSBsb3Qgb2YKPj4gdXNlbGVzcyBsZWFkaW5nIHplcm9zIChhZnRlciB0aGUgZGVjaW1hbCBwb2lu dCkuIEluIGZhY3QsIGl0IGNhbiBiZSBzbwo+PiBtYW55IHRoYXQgdGhlIG5ldyBjb2RlIGhhcyBs ZXNzIHByZWNpc2lvbiB0aGFuIHRoZSBvbGQgY29kZSwgZGVzcGl0ZQo+PiB1c2luZyB0aGUgZmls bCBidWZmZXIuCj4+IDIuIFRoaXMgaXMgd2F5IHRvbyBtdWNoIGNvZGUgZm9yIGFuIGlubGluZSBm dW5jdGlvbi4KPj4gMy4gQW55d2F5LCB5b3VyIHBsYWNlbWVudCBvZiB7fSBvbiB0aGVpciBvd24g bGluZXMgZG9lcyBub3QgbWF0Y2ggdGhlCj4+IHByb2plY3QgY29kaW5nIHN0eWxlLgo+Pgo+PiBJ IGFtIE9LIHdpdGggYW55IGltcGxlbWVudGF0aW9uIHdoaWNoIGtlZXBzIGF0IGxlYXN0IG1pbGxp c2Vjb25kCj4+IHByZWNpc2lvbiBmb3IgdGltZXN0YW1wcyA8IDEwXjEwLiBZb3UgYXJlIHJpZ2h0 LCBpdCBzaG91bGQgYmUgYXMgc2ltcGxlIGFzCj4+IHBvc3NpYmxlLgo+Pgo+Cj4gTWlsbGlzZWNv bmRzIHdvdWxkIGJlIGZpbmUgd2l0aCBtZS4KPgo+IE1hcnRvbiwgZG8geW91IGhhdmUgYW55IG90 aGVyIGNvbW1lbnRzIG9uIG15IGltcGxlbWVudGF0aW9uPyBJIGhhdmUKPiBmcm9tIEFuZHJlYXMg dGhhdCBJIHNob3VsZCByZW1vdmUgdGhlIGlubGluZXMsIGFuZCBtb3ZlIHRoZSBjdXJseQo+IGJy YWNlcyB0byBtYXRjaCBjb2Rpbmcgc3R5bGUuIEkgYWxzbyBwbGFuIG9uIHJlbW92aW5nIHRoZQo+ ICNpbmNsdWRlIDxzdGRib29sLmg+LCB3aGljaCBJIGFkZGVkIGF0IHNvbWUgcG9pbnQgYnV0IGlz IG5vIGxvbmdlcgo+IG5lZWRlZC4gQW5kIEkgd291bGQgYmUgaGFwcHkgdG8gY2hhbmdlIGZyb20g JS42ZiB0byAlLjNmLgoKVEJIIEknZCByYXRoZXIga2VlcCB0aGUgcHJlY2lzaW9uIGFzIGlzLiBJ ZiB5b3Ugd2FudCB0byBjb252ZXJ0IHRoZSAKZnVuY3Rpb24gdG8gbm9uLWlubGluZWQsIHRoZW4g eW91IHdpbGwgaGF2ZSB0byBtb3ZlIHRoZSBpbXBsZW1lbnRhdGlvbiAKZnJvbSB0aGUgaGVhZGVy IHRvIGFuIGV4aXN0aW5nIG9yIG5ldyBDIGZpbGUgYW5kIHVuY29uZGl0aW9uYWxseSBjb21waWxl IAppdCB0byBhdnV0aWwuLi4gTWF5YmUgd2Ugc2hvdWxkIGdpdmUgaXQgYW5vdGhlciBnbyBrZWVw aW5nIGl0IGlubGluZWFibGUgCmJ5IHNpbXBsaWZ5aW5nIGl0IGEgbGl0dGxlLgoKPgo+IElmIHRo YXQgc291bmRzIGdvb2QsIEknbGwgc3VibWl0IGFub3RoZXIgcGF0Y2ggc29tZXRpbWUgdG9tb3Jy b3cuCj4KPiBUaGUgb25seSBvdGhlciB0aGluZyBJIGhhZCB0aG91Z2h0IG9mIGlzIHRvIHdvbmRl ciBpZiBJIHNob3VsZCBhZGQgc29tZQo+IGFkZGl0aW9uYWwgdGVzdGluZyBmb3IgdGhlIG5ldyBm b3JtYXR0aW5nLiBJIGRpZCBhIGZhaXIgYW1vdW50IG9mIHRlc3RpbmcKPiBvbiBteSBvd24sIGJ1 dCBpdCB3b3VsZCBwcm9iYWJseSBiZSBnb29kIHRvIGhhdmUgYXQgbGVhc3Qgc29tZSBvZiB0aGF0 Cj4gaW4gRkFURS4gSSBoYWQgdGhvdWdodCBhYm91dCBtYXliZSBnZW5lcmF0aW5nIGFuIGF1ZGlv IGZpbGUgd2l0aCBqdXN0Cj4gYSB0b25lIGFuZCBzZXZlcmFsIHNpbGVuY2UgaW50ZXJ2YWxzLgoK T25lIHRoaW5nIHRvIG5vdGljZSBpcyB0aGF0IHlvdSB3aWxsIG5vdCBuZWVkIHRvIHVzZSB0aGUg c2NpZW50aWZpYyAKcmVwcmVzZW50YXRpb24gYXQgYWxsLCBiZWNhdXNlIG1heGltdW0gdmFsdWUg dGhpcyBmdW5jdGlvbiBwcmludHMgaXMgdGhlIApwcm9kdWN0IG9mIGFuIElOVDMyIGFuZCBhbiBJ TlQ2NCwgYW5kIHRoYXQgaXMgOTYgYml0LCB3aGljaCBpcyBhdCBtb3N0IDI5IApjaGFycy4gQWRk aW5nIHRoZSBvcHRpb25hbCBzaWduIGFuZCB0aGUgZGVjaW1hbCBwb2ludCwgdGhhdCBpcyBzdGls bCBvbmx5IAozMS4gU28gd2UgY2FuIGJlIHN1cmUgdGhhdCBieSB1c2luZyAlLjZmLCB0aGUgZmly c3QgY2hhcmFjdGVyIG9mIAp0aGUgZGVjaW1hbCBwb2ludCBpcyBnb2luZyB0byBiZSBwcmVzZW50 IGluIHRoZSBvdXRwdXQuIFdoaWNoIGlzIGdyZWF0LCAKYmVjYXVzZSB0aGF0IG1lYW5zIHdlIG9u bHkgaGF2ZSB0bwotIGRvIGEgc2luZ2xlIHNucHJpbnRmKCIlLjZmIikKLSBjYWxjdWxhdGUgbGFz dCBjaGFyIHBvc2l0aW9uIGJ5IHN1YnRyYWN0aW5nIDEgZnJvbSB0aGUgbWluaW11bSBvZiAKQVZf VFNfTUFYX1NUUklOR19TSVpFLTEgYW5kIHRoZSByZXN1bHQgb2YgdGhlIHNucHJpbnRmKCkgY2Fs bC4KLSBkZWNyZW1lbnQgc3RyaW5nIGxlbmd0aCB3aGlsZSBsYXN0IGNoYXIgaXMgJzAnIHRvIHJl bW92ZSB0cmFpbGluZyAwcwotIGRlY3JlbWVudCBzdHJpbmcgbGVuZ3RoIHdoaWxlIGxhc3QgY2hh ciBpcyBub24tZGlnaXQgdG8gcmVtb3ZlIGRlY2ltYWwgCnBvaW50ICh3aGljaCBjYW4gYmUgYSBt dWx0aXBsZSBjaGFycyBmb3Igc29tZSBsb2NhbGVzKS4KLSB1cGRhdGUgbGFzdCsxIGNoYXIgdG8g XDAuCgpPdCBpcyBpdCBzdGlsbCB0b28gY29tcGxleCB0byBrZWVwIGl0IGlubGluZT8KClJlZ2Fy ZHMsCk1hcnRvbgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0CmZmbXBlZy1kZXZlbEBmZm1wZWcub3JnCmh0dHBz Oi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAoKVG8gdW5zdWJzY3Jp YmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCmZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBl Zy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIuCg==