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 A18B848F10 for ; Tue, 30 Jan 2024 05:41:43 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5C1F868D2B2; Tue, 30 Jan 2024 07:41:40 +0200 (EET) Received: from mail-lj1-f172.google.com (mail-lj1-f172.google.com [209.85.208.172]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 97D2968D280 for ; Tue, 30 Jan 2024 07:41:34 +0200 (EET) Received: by mail-lj1-f172.google.com with SMTP id 38308e7fff4ca-2cf2fdd518bso31385791fa.1 for ; Mon, 29 Jan 2024 21:41:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1706593294; x=1707198094; darn=ffmpeg.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=fV9iVXMmtM1+uZMYLrftaTx7PRsa1bk+RIVm8u8JNbM=; b=EgD2Lr0/PKlwDyo+GqyZ/Qh7XE78by3bAb8tLQIaJC1SsbZV1CFSddiJd5DFCSCHFa oREU0YTuGYUwvQIKjn8/gCwfQI7EXSXYFtigAyR/Dfw7DezHu82SxGV1swG95hiun0v2 6jGFHb1BRayOErlGpr92Pybdx0FAI8s7MgeXNxYTDn/9zemMmT5jtYFta3JyczdCSPqT SRLOghkWeFg28jxB7sMUVPcB3L8AKHnAwCfAHG8n47TRK/VwGLvpkTf4hJ3bEpTv3KbR hhZMYMMRge6ODfkOjuGF2yufh7IFLQnUJy+rlv/EeG//0ZTWPYjm/t422N2l2dczOY4J Redg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706593294; x=1707198094; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=fV9iVXMmtM1+uZMYLrftaTx7PRsa1bk+RIVm8u8JNbM=; b=hXvIup2B2mpgEuBmgMnG6v5qHrZaY3mn/rX13OQ/KJOynLiXI1nuGFqUPTU3lFn9pm lHEfbtNkF2fkRv4wy2PVBBFuKF50JJVbuCvby5fAxePpJRRZw0pu9XKncZJvfNNd7VRv fD1xr6hIMqHctCQbbR+LDOqca+p++xMoCN+kYzJRKfpzIXpR3cAQ9L6mzIuZf2tIv6hj 6watXNVaIxRexD/SeO0KWBUHyZwRbFULF2ULhySbWbIO+9NZAzttaDgnyNxgavSWpeDw 1VMqFN+mCXePh02PxBpY5CvkPapfOAFirOt/6B8li1MdMXozEh4vcJG41ukLPnt+PZkg KXWQ== X-Gm-Message-State: AOJu0YyWUDWHbHHqLyjqTj+dcHHBZ4PcJoDHdlldSqn+Hf0Rv90Q3YRF XCFYsyD1ogVAaJWwTP9+KSzF5ZIaCVAaofSCIEjNajzyssL6Zh4Yyh1EnHSNydwEu3nBHbpjGcA 6X2BCZVGvQQYQcZWLp/OZwELV1RjnT0z9HrE= X-Google-Smtp-Source: AGHT+IEUYzBod9zNRC1epq7790nmzsVTAjEzzfQSlx+NV+0Ygac1JG7KURut2azaUZfZKVTcv4tV1ZYMJbsUEp69jUI= X-Received: by 2002:a05:6512:3f08:b0:511:1abf:2a6c with SMTP id y8-20020a0565123f0800b005111abf2a6cmr590846lfa.62.1706593293387; Mon, 29 Jan 2024 21:41:33 -0800 (PST) MIME-Version: 1.0 References: <20240125122601.5473-1-nuomi2021@gmail.com> In-Reply-To: From: Nuo Mi Date: Tue, 30 Jan 2024 13:41:21 +0800 Message-ID: To: Thomas Siedel X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH v2 1/2] avformat: add muxer support for H266/VVC 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: ffmpeg-devel@ffmpeg.org 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: T24gTW9uLCBKYW4gMjksIDIwMjQgYXQgMTE6MzXigK9QTSBUaG9tYXMgU2llZGVsIDx0aG9tYXMu ZmZAc3Bpbi1kaWdpdGFsLmNvbT4Kd3JvdGU6Cgo+IE9uIEZyaSwgMjYgSmFuIDIwMjQgYXQgMTY6 MjIsIE51byBNaSA8bnVvbWkyMDIxQGdtYWlsLmNvbT4gd3JvdGU6Cj4KPj4KPj4KPj4gT24gRnJp LCBKYW4gMjYsIDIwMjQgYXQgMTA6MDTigK9QTSBUaG9tYXMgU2llZGVsIDwKPj4gdGhvbWFzLmZm QHNwaW4tZGlnaXRhbC5jb20+IHdyb3RlOgo+Pgo+Pj4gVGhhbmtzIGZvciBwaWNraW5nIHVwIHRo ZSBwYXRjaCBzZXQhCj4+Pgo+Pj4gT24gVGh1LCAyNSBKYW4gMjAyNCBhdCAxMzoyNiwgTnVvIE1p IDxudW9taTIwMjFAZ21haWwuY29tPiB3cm90ZToKPj4+Cj4+Pj4gRnJvbTogVGhvbWFzIFNpZWRl bCA8dGhvbWFzLmZmQHNwaW4tZGlnaXRhbC5jb20+Cj4+Pj4KPj4+PiBBZGQgbXV4ZXIgZm9yIHZ2 Y2MgYnl0ZSBzdHJlYW0gZm9ybWF0Lgo+Pj4+IEFkZCBBVl9DT0RFQ19JRF9WVkMgdG8gZmZfbXA0 X29ial90eXBlLgo+Pj4+IEFkZCBBVl9DT0RFQ19JRF9WVkMgdG8gSVNPIE1lZGlhIGNvZGVjIChW dmNDb25maWd1cmF0aW9uQm94IHZ2aTEsCj4+Pj4gdnZjMSBkZWZpbmVkIGluIElTTy9JRUMgMTQ0 OTYtMTU6MjAyMSkuCj4+Pj4gQWRkIFZ2Y0NvbmZpZ3VyYXRpb25Cb3ggdnZjQyB3aGljaCBleHRl bmRzIEZ1bGxCb3ggdHlwZSBpbgo+Pj4+IElTTy9JRUMgMTQ0OTYtMTU6MjAyMS4KPj4+PiBBZGQg ZmZfdnZjX211eGVyIHRvIFJBVyBtdXhlcnMuCj4+Pj4KPj4+PiBUZXN0ZWQgd2l0aDoKPj4+PiAg ICAgZmZtcGVnIC1pIE5vdm9zb2Jvcm5heWFTcXVhcmVfMTkyMHgxMDgwLm1wNCAtYzp2IGxpYnZ2 ZW5jIHRlc3QubXA0Cj4+Pj4gJiYgZmZtcGVnIC1pIHRlc3QubXA0IC1mIG51bGwgLQo+Pj4+ICAg ICBmZm1wZWcgLWkgTm92b3NvYm9ybmF5YVNxdWFyZV8xOTIweDEwODAubXA0IC1jOnYgY29weSB0 ZXN0Lm1wNAo+Pj4+ICAmJiBmZm1wZWcgLWkgdGVzdC5tcDQgLWYgbWQ1IC0KPj4+Pgo+Pj4+IFNp Z25lZC1vZmYtYnk6IFRob21hcyBTaWVkZWwgPHRob21hcy5mZkBzcGluLWRpZ2l0YWwuY29tPgo+ Pj4+IENvLUF1dGhvcmVkLUJ5OiBOdW8gTWkgPG51b21pMjAyMUBnbWFpbC5jb20+Cj4+Pj4gLS0t Cj4+Pj4gIGxpYmF2Zm9ybWF0L01ha2VmaWxlICAgIHwgICA2ICstCj4+Pj4gIGxpYmF2Zm9ybWF0 L2lzb20uYyAgICAgIHwgICAxICsKPj4+PiAgbGliYXZmb3JtYXQvaXNvbV90YWdzLmMgfCAgIDMg Kwo+Pj4+ICBsaWJhdmZvcm1hdC9tb3YuYyAgICAgICB8ICAgNiArCj4+Pj4gIGxpYmF2Zm9ybWF0 L21vdmVuYy5jICAgIHwgIDQxICstCj4+Pj4gIGxpYmF2Zm9ybWF0L3Z2Yy5jICAgICAgIHwgOTcx ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPj4+PiAgbGliYXZmb3Jt YXQvdnZjLmggICAgICAgfCAgOTkgKysrKwo+Pj4+ICA3IGZpbGVzIGNoYW5nZWQsIDExMjMgaW5z ZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKPj4+PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYmF2 Zm9ybWF0L3Z2Yy5jCj4+Pj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWJhdmZvcm1hdC92dmMuaAo+ Pj4+Cj4+Pj4gZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L01ha2VmaWxlIGIvbGliYXZmb3JtYXQv TWFrZWZpbGUKPj4+PiBpbmRleCBkY2M5OWVlYWM0Li4wNWI5YjhhMTE1IDEwMDY0NAo+Pj4+IC0t LSBhL2xpYmF2Zm9ybWF0L01ha2VmaWxlCj4+Pj4gKysrIGIvbGliYXZmb3JtYXQvTWFrZWZpbGUK Pj4+PiBAQCAtMzQzLDcgKzM0Myw3IEBAIE9CSlMtJChDT05GSUdfTUFUUk9TS0FfREVNVVhFUikg ICAgICAgICAgKz0KPj4+PiBtYXRyb3NrYWRlYy5vIG1hdHJvc2thLm8gIFwKPj4+PiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZ2dwYXJzZXZvcmJpcy5vCj4+ Pj4gdm9yYmlzY29tbWVudC5vIFwKPj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBxdHBhbGV0dGUubyByZXBsYXlnYWluLm8KPj4+PiBkb3ZpX2lzb20ubwo+ Pj4+ICBPQkpTLSQoQ09ORklHX01BVFJPU0tBX01VWEVSKSAgICAgICAgICAgICs9IG1hdHJvc2th ZW5jLm8gbWF0cm9za2EubyBcCj4+Pj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYXYxLm8gYXZjLm8gaGV2Yy5vIFwKPj4+PiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBhdjEubyBhdmMubyBoZXZjLm8gdnZjLm9cCj4+Pj4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhY2VuY19oZWFk ZXIubwo+Pj4+IGF2bGFuZ3VhZ2UubyBcCj4+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdm9yYmlzY29tbWVudC5vIHd2Lm8KPj4+PiBkb3ZpX2lzb20ubwo+ Pj4+ICBPQkpTLSQoQ09ORklHX01DQV9ERU1VWEVSKSAgICAgICAgICAgICAgICs9IG1jYS5vCj4+ Pj4gQEAgLTM2NSw3ICszNjUsNyBAQCBPQkpTLSQoQ09ORklHX01PRFNfREVNVVhFUikgICAgICAg ICAgICAgICs9IG1vZHMubwo+Pj4+ICBPQkpTLSQoQ09ORklHX01PRkxFWF9ERU1VWEVSKSAgICAg ICAgICAgICs9IG1vZmxleC5vCj4+Pj4gIE9CSlMtJChDT05GSUdfTU9WX0RFTVVYRVIpICAgICAg ICAgICAgICAgKz0gbW92Lm8gbW92X2NoYW4ubwo+Pj4+IG1vdl9lc2RzLm8gXAo+Pj4+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF0cGFsZXR0ZS5vIHJlcGxh eWdhaW4ubwo+Pj4+IGRvdmlfaXNvbS5vCj4+Pj4gLU9CSlMtJChDT05GSUdfTU9WX01VWEVSKSAg ICAgICAgICAgICAgICAgKz0gbW92ZW5jLm8gYXYxLm8gYXZjLm8KPj4+PiBoZXZjLm8gdnBjYy5v IFwKPj4+PiArT0JKUy0kKENPTkZJR19NT1ZfTVVYRVIpICAgICAgICAgICAgICAgICArPSBtb3Zl bmMubyBhdjEubyBhdmMubwo+Pj4+IGhldmMubyB2dmMubyB2cGNjLm8gXAo+Pj4+ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vdmVuY2hpbnQubyBtb3ZfY2hh bi5vCj4+Pj4gcnRwLm8gXAo+Pj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG1vdmVuY2NlbmMubyBtb3ZlbmNfdHRtbC5vCj4+Pj4gcmF3dXRpbHMubyBcCj4+ Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG92aV9pc29t Lm8gZXZjLm8KPj4+PiBAQCAtNTIwLDcgKzUyMCw3IEBAIE9CSlMtJChDT05GSUdfUlRQX01VWEVS KSAgICAgICAgICAgICAgICAgKz0gcnRwLm8KPj4+PiAgICAgICAgXAo+Pj4+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ0cGVuY192cDgubyAgXAo+Pj4+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ0cGVuY192cDkubwo+ Pj4+ICAgXAo+Pj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHJ0cGVuY194aXBoLm8gXAo+Pj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGF2Yy5vIGhldmMubwo+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGF2Yy5vIGhldmMubyB2dmMubwo+Pj4+ICBPQkpTLSQoQ09ORklHX1JU U1BfREVNVVhFUikgICAgICAgICAgICAgICs9IHJ0c3AubyBydHNwZGVjLm8KPj4+PiBodHRwYXV0 aC5vIFwKPj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1 cmxkZWNvZGUubwo+Pj4+ICBPQkpTLSQoQ09ORklHX1JUU1BfTVVYRVIpICAgICAgICAgICAgICAg ICs9IHJ0c3AubyBydHNwZW5jLm8KPj4+PiBodHRwYXV0aC5vIFwKPj4+PiBkaWZmIC0tZ2l0IGEv bGliYXZmb3JtYXQvaXNvbS5jIGIvbGliYXZmb3JtYXQvaXNvbS5jCj4+Pj4gaW5kZXggNmQwMTk4 ODFlNS4uOWZiY2NkNDQzNyAxMDA2NDQKPj4+PiAtLS0gYS9saWJhdmZvcm1hdC9pc29tLmMKPj4+ PiArKysgYi9saWJhdmZvcm1hdC9pc29tLmMKPj4+PiBAQCAtMzYsNiArMzYsNyBAQCBjb25zdCBB VkNvZGVjVGFnIGZmX21wNF9vYmpfdHlwZVtdID0gewo+Pj4+ICAgICAgeyBBVl9DT0RFQ19JRF9N UEVHNCAgICAgICAsIDB4MjAgfSwKPj4+PiAgICAgIHsgQVZfQ09ERUNfSURfSDI2NCAgICAgICAg LCAweDIxIH0sCj4+Pj4gICAgICB7IEFWX0NPREVDX0lEX0hFVkMgICAgICAgICwgMHgyMyB9LAo+ Pj4+ICsgICAgeyBBVl9DT0RFQ19JRF9WVkMgICAgICAgICAsIDB4MzMgfSwKPj4+PiAgICAgIHsg QVZfQ09ERUNfSURfQUFDICAgICAgICAgLCAweDQwIH0sCj4+Pj4gICAgICB7IEFWX0NPREVDX0lE X01QNEFMUyAgICAgICwgMHg0MCB9LCAvKiAxNDQ5Ni0zIEFMUyAqLwo+Pj4+ICAgICAgeyBBVl9D T0RFQ19JRF9NUEVHMlZJREVPICAsIDB4NjEgfSwgLyogTVBFRy0yIE1haW4gKi8KPj4+PiBkaWZm IC0tZ2l0IGEvbGliYXZmb3JtYXQvaXNvbV90YWdzLmMgYi9saWJhdmZvcm1hdC9pc29tX3RhZ3Mu Ywo+Pj4+IGluZGV4IGE1NzViN2MxNjAuLjcwNTgxMWU5NTAgMTAwNjQ0Cj4+Pj4gLS0tIGEvbGli YXZmb3JtYXQvaXNvbV90YWdzLmMKPj4+PiArKysgYi9saWJhdmZvcm1hdC9pc29tX3RhZ3MuYwo+ Pj4+IEBAIC0xMjMsNiArMTIzLDkgQEAgY29uc3QgQVZDb2RlY1RhZyBmZl9jb2RlY19tb3Z2aWRl b190YWdzW10gPSB7Cj4+Pj4gICAgICB7IEFWX0NPREVDX0lEX0hFVkMsIE1LVEFHKCdkJywgJ3Yn LCAnaCcsICdlJykgfSwgLyogSEVWQy1iYXNlZAo+Pj4+IERvbGJ5IFZpc2lvbiBkZXJpdmVkIGZy b20gaGV2MSAqLwo+Pj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIC8qIGR2aDEgaXMKPj4+PiBoYW5kbGVkIHdpdGhpbiBtb3YuYyAqLwo+Pj4+ Cj4+Pj4gKyAgICB7IEFWX0NPREVDX0lEX1ZWQywgTUtUQUcoJ3YnLCAndicsICdpJywgJzEnKSB9 LCAgLyogVlZDL0guMjY2Cj4+Pj4gd2hpY2ggaW5kaWNhdGVzIHBhcmFtZXRlciBzZXRzIG1heSBi ZSBpbiBFUyAqLwo+Pj4+ICsgICAgeyBBVl9DT0RFQ19JRF9WVkMsIE1LVEFHKCd2JywgJ3YnLCAn YycsICcxJykgfSwgIC8qIFZWQy9ILjI2Ngo+Pj4+IHdoaWNoIGluZGljYXRlcyBwYXJhbWV0ZXIg c2hhbGwgbm90IGJlIGluIEVTICovCj4+Pj4gKwo+Pj4+ICAgICAgeyBBVl9DT0RFQ19JRF9IMjY0 LCBNS1RBRygnYScsICd2JywgJ2MnLCAnMScpIH0sIC8qIEFWQy0xL0guMjY0ICovCj4+Pj4gICAg ICB7IEFWX0NPREVDX0lEX0gyNjQsIE1LVEFHKCdhJywgJ3YnLCAnYycsICcyJykgfSwKPj4+PiAg ICAgIHsgQVZfQ09ERUNfSURfSDI2NCwgTUtUQUcoJ2EnLCAndicsICdjJywgJzMnKSB9LAo+Pj4+ IGRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9tb3YuYyBiL2xpYmF2Zm9ybWF0L21vdi5jCj4+Pj4g aW5kZXggNGNmZmQ2YzdkYi4uY2Y5MzFkNDU5NCAxMDA2NDQKPj4+PiAtLS0gYS9saWJhdmZvcm1h dC9tb3YuYwo+Pj4+ICsrKyBiL2xpYmF2Zm9ybWF0L21vdi5jCj4+Pj4gQEAgLTIxMjMsNiArMjEy MywxMSBAQCBzdGF0aWMgaW50IG1vdl9yZWFkX2dsYmwoTU9WQ29udGV4dCAqYywKPj4+PiBBVklP Q29udGV4dCAqcGIsIE1PVkF0b20gYXRvbSkKPj4+PiAgICAgIGlmICgodWludDY0X3QpYXRvbS5z aXplID4gKDE8PDMwKSkKPj4+PiAgICAgICAgICByZXR1cm4gQVZFUlJPUl9JTlZBTElEREFUQTsK Pj4+Pgo+Pj4+ICsgICAgaWYgKGF0b20udHlwZSA9PSBNS1RBRygndicsJ3YnLCdjJywnQycpKSB7 Cj4+Pj4gKyAgICAgICAgYXZpb19za2lwKHBiLCA0KTsKPj4+PiArICAgICAgICBhdG9tLnNpemUg LT0gNDsKPj4+PiArICAgIH0KPj4+PiArCj4+Pj4gICAgICBpZiAoYXRvbS5zaXplID49IDEwKSB7 Cj4+Pj4gICAgICAgICAgLy8gQnJva2VuIGZpbGVzIGNyZWF0ZWQgYnkgbGVnYWN5IHZlcnNpb25z IG9mIGxpYmF2Zm9ybWF0IHdpbGwKPj4+PiAgICAgICAgICAvLyB3cmFwIGEgd2hvbGUgZmllbCBh dG9tIGluc2lkZSBvZiBhIGdsYmwgYXRvbS4KPj4+PiBAQCAtODEyOSw2ICs4MTM0LDcgQEAgc3Rh dGljIGNvbnN0IE1PVlBhcnNlVGFibGVFbnRyeQo+Pj4+IG1vdl9kZWZhdWx0X3BhcnNlX3RhYmxl W10gPSB7Cj4+Pj4gIHsgTUtUQUcoJ3MnLCdnJywncCcsJ2QnKSwgbW92X3JlYWRfc2dwZCB9LAo+ Pj4+ICB7IE1LVEFHKCdzJywnYicsJ2cnLCdwJyksIG1vdl9yZWFkX3NiZ3AgfSwKPj4+PiAgeyBN S1RBRygnaCcsJ3YnLCdjJywnQycpLCBtb3ZfcmVhZF9nbGJsIH0sCj4+Pj4gK3sgTUtUQUcoJ3Yn LCd2JywnYycsJ0MnKSwgbW92X3JlYWRfZ2xibCB9LAo+Pj4+ICB7IE1LVEFHKCd1JywndScsJ2kn LCdkJyksIG1vdl9yZWFkX3V1aWQgfSwKPj4+PiAgeyBNS1RBRygnQycsJ2knLCduJywgMHg4ZSks IG1vdl9yZWFkX3RhcmdhX3kyMTYgfSwKPj4+PiAgeyBNS1RBRygnZicsJ3InLCdlJywnZScpLCBt b3ZfcmVhZF9mcmVlIH0sCj4+Pj4gZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L21vdmVuYy5jIGIv bGliYXZmb3JtYXQvbW92ZW5jLmMKPj4+PiBpbmRleCA4YTI3YWZiYzU3Li40MGJlNzFmM2UwIDEw MDY0NAo+Pj4+IC0tLSBhL2xpYmF2Zm9ybWF0L21vdmVuYy5jCj4+Pj4gKysrIGIvbGliYXZmb3Jt YXQvbW92ZW5jLmMKPj4+PiBAQCAtNjgsNiArNjgsNyBAQAo+Pj4+ICAjaW5jbHVkZSAidHRtbGVu Yy5oIgo+Pj4+ICAjaW5jbHVkZSAidmVyc2lvbi5oIgo+Pj4+ICAjaW5jbHVkZSAidnBjYy5oIgo+ Pj4+ICsjaW5jbHVkZSAidnZjLmgiCj4+Pj4KPj4+PiAgc3RhdGljIGNvbnN0IEFWT3B0aW9uIG9w dGlvbnNbXSA9IHsKPj4+PiAgICAgIHsgImJyYW5kIiwgICAgIk92ZXJyaWRlIG1ham9yIGJyYW5k Iiwgb2Zmc2V0b2YoTU9WTXV4Q29udGV4dCwKPj4+PiBtYWpvcl9icmFuZCksICAgQVZfT1BUX1RZ UEVfU1RSSU5HLCB7LnN0ciA9IE5VTEx9LCAuZmxhZ3MgPQo+Pj4+IEFWX09QVF9GTEFHX0VOQ09E SU5HX1BBUkFNIH0sCj4+Pj4gQEAgLTE0NzMsNiArMTQ3NCwyMyBAQCBzdGF0aWMgaW50IG1vdl93 cml0ZV9ldmNjX3RhZyhBVklPQ29udGV4dCAqcGIsCj4+Pj4gTU9WVHJhY2sgKnRyYWNrKQo+Pj4+ ICAgICAgcmV0dXJuIHVwZGF0ZV9zaXplKHBiLCBwb3MpOwo+Pj4+ICB9Cj4+Pj4KPj4+PiArc3Rh dGljIGludCBtb3Zfd3JpdGVfdnZjY190YWcoQVZJT0NvbnRleHQgKnBiLCBNT1ZUcmFjayAqdHJh Y2spCj4+Pj4gK3sKPj4+PiArICAgIGludDY0X3QgcG9zID0gYXZpb190ZWxsKHBiKTsKPj4+PiAr Cj4+Pj4gKyAgICBhdmlvX3diMzIocGIsIDApOwo+Pj4+ICsgICAgZmZpb193Zm91cmNjKHBiLCAi dnZjQyIpOwo+Pj4+ICsKPj4+PiArICAgIGF2aW9fdzggIChwYiwgMCk7IC8qIHZlcnNpb24gKi8K Pj4+PiArICAgIGF2aW9fd2IyNChwYiwgMCk7IC8qIGZsYWdzICovCj4+Pj4gKwo+Pj4+ICsgICAg aWYgKHRyYWNrLT50YWcgPT0gTUtUQUcoJ3YnLCd2JywnYycsJzEnKSkKPj4+PiArICAgICAgICBm Zl9pc29tX3dyaXRlX3Z2Y2MocGIsIHRyYWNrLT52b3NfZGF0YSwgdHJhY2stPnZvc19sZW4sIDEp Owo+Pj4+ICsgICAgZWxzZQo+Pj4+ICsgICAgICAgIGZmX2lzb21fd3JpdGVfdnZjYyhwYiwgdHJh Y2stPnZvc19kYXRhLCB0cmFjay0+dm9zX2xlbiwgMCk7Cj4+Pj4gKyAgICByZXR1cm4gdXBkYXRl X3NpemUocGIsIHBvcyk7Cj4+Pj4gK30KPj4+PiArCj4+Pj4gIC8qIGFsc28gdXNlZCBieSBhbGwg YXZpZCBjb2RlY3MgKGR2LCBpbXgsIG1lcmlkaWVuKSBhbmQgdGhlaXIgdmFyaWFudHMKPj4+PiAq Lwo+Pj4+ICBzdGF0aWMgaW50IG1vdl93cml0ZV9hdmlkX3RhZyhBVklPQ29udGV4dCAqcGIsIE1P VlRyYWNrICp0cmFjaykKPj4+PiAgewo+Pj4+IEBAIC0yMzgyLDYgKzI0MDAsOCBAQCBzdGF0aWMg aW50IG1vdl93cml0ZV92aWRlb190YWcoQVZGb3JtYXRDb250ZXh0Cj4+Pj4gKnMsIEFWSU9Db250 ZXh0ICpwYiwgTU9WTXV4Q29udGV4Cj4+Pj4gICAgICAgICAgYXZpZCA9IDE7Cj4+Pj4gICAgICB9 IGVsc2UgaWYgKHRyYWNrLT5wYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX0hFVkMpCj4+Pj4g ICAgICAgICAgbW92X3dyaXRlX2h2Y2NfdGFnKHBiLCB0cmFjayk7Cj4+Pj4gKyAgICBlbHNlIGlm ICh0cmFjay0+cGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9WVkMpCj4+Pj4gKyAgICAgICAg bW92X3dyaXRlX3Z2Y2NfdGFnKHBiLCB0cmFjayk7Cj4+Pj4gICAgICBlbHNlIGlmICh0cmFjay0+ cGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9IMjY0ICYmCj4+Pj4gIVRBR19JU19BVkNJKHRy YWNrLT50YWcpKSB7Cj4+Pj4gICAgICAgICAgbW92X3dyaXRlX2F2Y2NfdGFnKHBiLCB0cmFjayk7 Cj4+Pj4gICAgICAgICAgaWYgKHRyYWNrLT5tb2RlID09IE1PREVfSVBPRCkKPj4+PiBAQCAtNjE3 MCw2ICs2MTkwLDcgQEAgaW50IGZmX21vdl93cml0ZV9wYWNrZXQoQVZGb3JtYXRDb250ZXh0ICpz LAo+Pj4+IEFWUGFja2V0ICpwa3QpCj4+Pj4gICAgICBpZiAoKHBhci0+Y29kZWNfaWQgPT0gQVZf Q09ERUNfSURfRE5YSEQgfHwKPj4+PiAgICAgICAgICAgcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RF Q19JRF9IMjY0IHx8Cj4+Pj4gICAgICAgICAgIHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURf SEVWQyB8fAo+Pj4+ICsgICAgICAgICBwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX1ZWQyB8 fAo+Pj4+ICAgICAgICAgICBwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX1ZQOSB8fAo+Pj4+ ICAgICAgICAgICBwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX0VWQyB8fAo+Pj4+ICAgICAg ICAgICBwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX1RSVUVIRCkgJiYgIXRyay0+dm9zX2xl biAmJgo+Pj4+IEBAIC02MjM1LDYgKzYyNTYsMTggQEAgaW50IGZmX21vdl93cml0ZV9wYWNrZXQo QVZGb3JtYXRDb250ZXh0ICpzLAo+Pj4+IEFWUGFja2V0ICpwa3QpCj4+Pj4gICAgICAgICAgICAg ICAgICBzaXplID0gZmZfaGV2Y19hbm5leGIybXA0KHBiLCBwa3QtPmRhdGEsIHBrdC0+c2l6ZSwg MCwKPj4+PiBOVUxMKTsKPj4+PiAgICAgICAgICAgICAgfQo+Pj4+ICAgICAgICAgIH0KPj4+PiAr ICAgIH0gZWxzZSBpZiAocGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9WVkMgJiYgdHJrLT52 b3NfbGVuID4gNiAmJgo+Pj4+ICsgICAgICAgICAgICAgKEFWX1JCMjQodHJrLT52b3NfZGF0YSkg PT0gMSB8fCBBVl9SQjMyKHRyay0+dm9zX2RhdGEpID09Cj4+Pj4gMSkpIHsKPj4+PiArICAgICAg LyogZXh0cmFkYXRhIGlzIEFubmV4IEIsIGFzc3VtZSB0aGUgYml0c3RyZWFtIGlzIHRvbyBhbmQg Y29udmVydAo+Pj4+IGl0ICovCj4+Pj4gKyAgICAgIGlmICh0cmstPmhpbnRfdHJhY2sgPj0gMCAm JiB0cmstPmhpbnRfdHJhY2sgPCBtb3YtPm5iX3RyYWNrcykgewo+Pj4+ICsgICAgICAgICAgICBy ZXQgPSBmZl92dmNfYW5uZXhiMm1wNF9idWYocGt0LT5kYXRhLCAmcmVmb3JtYXR0ZWRfZGF0YSwK Pj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc2l6ZSwgMCwg TlVMTCk7Cj4+Pj4gKyAgICAgICAgICAgIGlmIChyZXQgPCAwKQo+Pj4+ICsgICAgICAgICAgICAg ICAgcmV0dXJuIHJldDsKPj4+PiArICAgICAgICAgICAgYXZpb193cml0ZShwYiwgcmVmb3JtYXR0 ZWRfZGF0YSwgc2l6ZSk7Cj4+Pj4gKyAgICAgIH0gZWxzZSB7Cj4+Pj4gKyAgICAgICAgICBzaXpl ID0gZmZfdnZjX2FubmV4YjJtcDQocGIsIHBrdC0+ZGF0YSwgcGt0LT5zaXplLCAwLCBOVUxMKTsK Pj4+PiArICAgICAgfQo+Pj4+ICAgICAgfSBlbHNlIGlmIChwYXItPmNvZGVjX2lkID09IEFWX0NP REVDX0lEX0FWMSkgewo+Pj4+ICAgICAgICAgIGlmICh0cmstPmhpbnRfdHJhY2sgPj0gMCAmJiB0 cmstPmhpbnRfdHJhY2sgPCBtb3YtPm5iX3RyYWNrcykgewo+Pj4+ICAgICAgICAgICAgICByZXQg PSBmZl9hdjFfZmlsdGVyX29idXNfYnVmKHBrdC0+ZGF0YSwgJnJlZm9ybWF0dGVkX2RhdGEsCj4+ Pj4gQEAgLTYyODEsNiArNjMxNCw5IEBAIGludCBmZl9tb3Zfd3JpdGVfcGFja2V0KEFWRm9ybWF0 Q29udGV4dCAqcywKPj4+PiBBVlBhY2tldCAqcGt0KQo+Pj4+ICAgICAgICAgICAgICB9IGVsc2Ug aWYocGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9IRVZDICYmCj4+Pj4gcGFyLT5leHRyYWRh dGFfc2l6ZSA+IDIxKSB7Cj4+Pj4gICAgICAgICAgICAgICAgICBpbnQgbmFsX3NpemVfbGVuZ3Ro ID0gKHBhci0+ZXh0cmFkYXRhWzIxXSAmIDB4MykgKyAxOwo+Pj4+ICAgICAgICAgICAgICAgICAg cmV0ID0gZmZfbW92X2NlbmNfYXZjX3dyaXRlX25hbF91bml0cyhzLCAmdHJrLT5jZW5jLAo+Pj4+ IG5hbF9zaXplX2xlbmd0aCwgcGIsIHBrdC0+ZGF0YSwgc2l6ZSk7Cj4+Pj4gKyAgICAgICAgICAg IH0gZWxzZSBpZihwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX1ZWQyAmJgo+Pj4+IHBhci0+ ZXh0cmFkYXRhX3NpemUgPiAyMSkgewo+Pj4+ICsgICAgICAgICAgICAgICAgaW50IG5hbF9zaXpl X2xlbmd0aCA9IChwYXItPmV4dHJhZGF0YVsyMV0gJiAweDMpICsgMTsKPj4+Pgo+Pj4KPj4+IFRo aXMgaXMgd3JvbmcgZm9yIFZWQyAod2FzIG5vdGljZWQgYnkgSmFtZXMgQWxtZXIgaW4gcHJldmlv dXMgdmVyc2lvbiBvZgo+Pj4gdGhlIHBhdGNoIHNldCkuIEluc3RlYWQsIGl0IHNob3VsZCBiZSB0 aGlzOgo+Pj4gaW50IG5hbF9zaXplX2xlbmd0aCA9ICgocGFyLT5leHRyYWRhdGFbNF0+PjEpICYg MHgzKSArIDE7Cj4+Pgo+PiBIaSBUaG9tYXMsCj4+IFRoYW5rIHlvdSBmb3IgdGhlIHJlcGx5Lgo+ PiA0IGlzIHJlbGF0aXZlbHkgc21hbGwgY29tcGFyZWQgdG8gMjEuIElzIHRoZXJlIGFueSBwbGFj ZSB3aGVyZSB3ZSBjYW4KPj4gZmluZCBkZXRhaWxzIGFib3V0IENFTkM/Cj4+Cj4KPiBUaGlzIHdh cyBqdXN0IHVzaW5nIHRoZSBzYW1lIGFwcHJvYWNoIGFzIGZvciBIRVZDLCBidXQgd2l0aAo+IGFk anVzdGVkIG5hbF9zaXplX2xlbmd0aCBmb3IgVlZDLgo+IEFmdGVyIG1vcmUgdGhvdWdoLCBJIHRo aW5rIHRoaXMgd2FzIHN0aWxsIHdyb25nIGFuZCBzaG91bGQgYmUgdGhpcyBpbnN0ZWFkOgo+IG5h bF9zaXplX2xlbmd0aCA9ICgocGFyLT5leHRyYWRhdGFbMF0+PjEpICYgMHgzKSArIDE7Cj4KPiBV bmZvcnR1bmF0ZWx5IEkgYW0gbm90IHJlYWxseSBmYW1pbGlhciB3aXRoIHRoZSBDRU5DIHBhcnQs IHNvIEkgYW0gbm90Cj4gc3VyZSBpZiB0aGUgZmZfbW92X2NlbmNfYXZjX3dyaXRlX25hbF91bml0 cygpIGNhbiB3b3JrIGZvciBWVkMgbGlrZSB0aGlzLgo+IFBlcmhhcHMgaXQgd291bGQgYmUgYmV0 dGVyIHRvIGp1c3QgcmVtb3ZlIHRoaXMgcGFydCBmb3Igbm93Lgo+Cj4gUmVnYXJkaW5nIHRoZSBu YWxfc2l6ZV9sZW5ndGgsIEkgYmFzZWQgaXQgb24gdGhpczoKPiAgc3BlYzogSVNPL0lFQyAxNDQ5 Ni0xNToyMDIxKEUpCj4gICBJbmZvcm1hdGlvbiB0ZWNobm9sb2d5IOKAlCBDb2Rpbmcgb2YgYXVk aW8tdmlzdWFsIG9iamVjdHMg4oCUIFBhcnQgMTU6Cj4gQ2FycmlhZ2Ugb2YgbmV0d29yayBhYnN0 cmFjdGlvbiBsYXllciAoTkFMKSB1bml0IHN0cnVjdHVyZWQgdmlkZW8gaW4gdGhlCj4gSVNPIGJh c2UgbWVkaWEgZmlsZSBmb3JtYXQKPiBpbiAgMTEuMi40LjIuMiAgU3ludGF4Cj4gYWxpZ25lZCg4 KSBjbGFzcyBWdmNEZWNvZGVyQ29uZmlndXJhdGlvblJlY29yZCB7Cj4gYml0KDUpIHJlc2VydmVk ID0gJzExMTExJ2I7Cj4gdW5zaWduZWQgaW50KDIpIExlbmd0aFNpemVNaW51c09uZTsKPiB1bnNp Z25lZCBpbnQoMSkgcHRsX3ByZXNlbnRfZmxhZzsKPiBpZiAocHRsX3ByZXNlbnRfZmxhZykgewo+ ClRoYW5rIHlvdSBmb3IgZmVlZGJhY2ssIEkgd2lsbCBjaGFuZ2UgdG8KIgplbHNlIGlmKHBhci0+ Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfVlZDKSB7CiAgICByZXQgPSBBVkVSUk9SX1BBVENIV0VM Q09NRQp9CiIKCj4gLi4uCj4KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVnLm9y ZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRvIHVu c3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVxdWVz dEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=