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 75BEB472FC for ; Sun, 3 Mar 2024 05:22:50 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8DDBE68D364; Sun, 3 Mar 2024 07:22:47 +0200 (EET) Received: from mail-pl1-f182.google.com (mail-pl1-f182.google.com [209.85.214.182]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3AA6468D2FA for ; Sun, 3 Mar 2024 07:22:40 +0200 (EET) Received: by mail-pl1-f182.google.com with SMTP id d9443c01a7336-1dcfe6e26c9so2264995ad.0 for ; Sat, 02 Mar 2024 21:22:40 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709443358; x=1710048158; 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=CO3YCan9f7H9n3H+rGFBHpvTDVx/DFZIXDYED0qbLdw=; b=dEjYM7NjadA6e6AU/pC4D1CJByJgPw8MJs825BjKS1R2aPl9mThyr4IPicpr5Qeq2P txeBLC7B8WprMD1BLlhEsuQ9QAFOAmGRpzcA9cqJlLOsnlzVHOK3ovT9G29l+Jfz94Dg S1yHLeYW4EgkkF1SCIrqvGccTxF07RLhSZy4qC6aA2NOOXeJyMBBLCrdSa45b+7wL4em FToNxMd3wgWdRXUvYgQcQrROfdqNKyYuci5T361wuFXDgznys1nOHLytU2m07ola0MFD Yvc41TM2FMsvvDUhBxK4MLkphYsR0uHYw1BqpuZ4n5Ra76yantNMxeWJeuC2ejXlui+x FObQ== X-Gm-Message-State: AOJu0YwUmxaviqXJS2QGWhnQAweJwscd6biRffxg21+WAnuPhfgrvFho TNLXHiZF/3GKKMS9Imj0u+rkAdeeSuqj57klcLerrb+7NGvunkww79iBWHAieFkADROSPKo6DGe lFmR8tzcq01979igy9bJBEghgZm4y5+Q4bVTNUQ== X-Google-Smtp-Source: AGHT+IGSAn1MXgBUKKQaX1iJLaAIRhWVgWYb2R00a52FWwHfeU1i9kmLLtu3RhVUrUFzL1kYI/KaoOU2zLPsih46ECQ= X-Received: by 2002:a17:90b:4f90:b0:29b:4171:6304 with SMTP id qe16-20020a17090b4f9000b0029b41716304mr953594pjb.0.1709443358320; Sat, 02 Mar 2024 21:22:38 -0800 (PST) MIME-Version: 1.0 References: <20240219040145.1916326-1-marth64@proxyid.net> <20240219040145.1916326-2-marth64@proxyid.net> In-Reply-To: <20240219040145.1916326-2-marth64@proxyid.net> From: Marth64 Date: Sat, 2 Mar 2024 23:22:27 -0600 Message-ID: To: Marth64 X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH v14 2/2] libavformat/dvdvideo: add CLUT utilities and enable subtitle palette support 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: QnVtcCBvbiB0aGlzIG9uZS4gV291bGQgYmUgcmVhbGx5IG5pY2UgdG8gaGF2ZSBzaW5jZSBkdmQg ZGVtdXhlciBpcyBtZXJnZWQsCmFuZCBjb2xvcnMgYXJlIHBhcnQgb2YgdGhlIHByZXNlbnRhdGlv bi4gSXQgZGlkIGhhdmUgMiByZXZpZXdzLiBUaGFuayB5b3UuCgoKT24gU3VuLCBGZWIgMTgsIDIw MjQgYXQgMTA6MDLigK9QTSBNYXJ0aDY0IDxtYXJ0aDY0QHByb3h5aWQubmV0PiB3cm90ZToKCj4g U2lnbmVkLW9mZi1ieTogTWFydGg2NCA8bWFydGg2NEBwcm94eWlkLm5ldD4KPiAtLS0KPiAgZG9j L2RlbXV4ZXJzLnRleGkgICAgICAgICB8ICA1ICsrKwo+ICBsaWJhdmZvcm1hdC9NYWtlZmlsZSAg ICAgIHwgIDIgKy0KPiAgbGliYXZmb3JtYXQvZHZkY2x1dC5jICAgICB8IDc2ICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICBsaWJhdmZvcm1hdC9kdmRjbHV0LmggICAg IHwgMzcgKysrKysrKysrKysrKysrKysrKwo+ICBsaWJhdmZvcm1hdC9kdmR2aWRlb2RlYy5jIHwg MTQgKysrKysrKysKPiAgNSBmaWxlcyBjaGFuZ2VkLCAxMzMgaW5zZXJ0aW9ucygrKSwgMSBkZWxl dGlvbigtKQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgbGliYXZmb3JtYXQvZHZkY2x1dC5jCj4gIGNy ZWF0ZSBtb2RlIDEwMDY0NCBsaWJhdmZvcm1hdC9kdmRjbHV0LmgKPgo+IGRpZmYgLS1naXQgYS9k b2MvZGVtdXhlcnMudGV4aSBiL2RvYy9kZW11eGVycy50ZXhpCj4gaW5kZXggMDYyZWEyZWE0Mi4u ZDNjNzY3NTYzMSAxMDA2NDQKPiAtLS0gYS9kb2MvZGVtdXhlcnMudGV4aQo+ICsrKyBiL2RvYy9k ZW11eGVycy50ZXhpCj4gQEAgLTM5MSw2ICszOTEsMTEgQEAgb2Z0ZW4gd2l0aCBqdW5rIGRhdGEg aW50ZW5kZWQgZm9yIGNvbnRyb2xsaW5nIGEgcmVhbAo+IERWRCBwbGF5ZXIncwo+ICBidWZmZXJp bmcgc3BlZWQgYW5kIHdpdGggbm8gb3RoZXIgbWF0ZXJpYWwgZGF0YSB2YWx1ZS4KPiAgRGVmYXVs dCBpcyAxLCB0cnVlLgo+Cj4gK0BpdGVtIGNsdXRfcmdiIEB2YXJ7Ym9vbH0KPiArT3V0cHV0IHN1 YnRpdGxlIHBhbGV0dGVzIChDTFVUcykgYXMgUkdCLCByZXF1aXJlZCBmb3IgTWF0cm9za2EuCj4g K0Rpc2FibGUgdG8gb3V0cHV0IHRoZSBwYWxldHRlIGluIGl0cyBvcmlnaW5hbCBZVVYgY29sb3Jz cGFjZS4KPiArRGVmYXVsdCBpcyAxLCB0cnVlLgo+ICsKPiAgQGVuZCB0YWJsZQo+Cj4gIEBzdWJz ZWN0aW9uIEV4YW1wbGVzCj4gZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L01ha2VmaWxlIGIvbGli YXZmb3JtYXQvTWFrZWZpbGUKPiBpbmRleCBlZGExZjZlMTc3Li41MDExNTlkOWNhIDEwMDY0NAo+ IC0tLSBhL2xpYmF2Zm9ybWF0L01ha2VmaWxlCj4gKysrIGIvbGliYXZmb3JtYXQvTWFrZWZpbGUK PiBAQCAtMTkyLDcgKzE5Miw3IEBAIE9CSlMtJChDT05GSUdfRFRTX01VWEVSKSAgICAgICAgICAg ICAgICAgKz0gcmF3ZW5jLm8KPiAgT0JKUy0kKENPTkZJR19EVl9NVVhFUikgICAgICAgICAgICAg ICAgICArPSBkdmVuYy5vCj4gIE9CSlMtJChDT05GSUdfRFZCU1VCX0RFTVVYRVIpICAgICAgICAg ICAgKz0gZHZic3ViLm8gcmF3ZGVjLm8KPiAgT0JKUy0kKENPTkZJR19EVkJUWFRfREVNVVhFUikg ICAgICAgICAgICArPSBkdmJ0eHQubyByYXdkZWMubwo+IC1PQkpTLSQoQ09ORklHX0RWRFZJREVP X0RFTVVYRVIpICAgICAgICAgICs9IGR2ZHZpZGVvZGVjLm8KPiArT0JKUy0kKENPTkZJR19EVkRW SURFT19ERU1VWEVSKSAgICAgICAgICArPSBkdmR2aWRlb2RlYy5vIGR2ZGNsdXQubwo+ICBPQkpT LSQoQ09ORklHX0RYQV9ERU1VWEVSKSAgICAgICAgICAgICAgICs9IGR4YS5vCj4gIE9CSlMtJChD T05GSUdfRUFfQ0RBVEFfREVNVVhFUikgICAgICAgICAgKz0gZWFjZGF0YS5vCj4gIE9CSlMtJChD T05GSUdfRUFfREVNVVhFUikgICAgICAgICAgICAgICAgKz0gZWxlY3Ryb25pY2FydHMubwo+IGRp ZmYgLS1naXQgYS9saWJhdmZvcm1hdC9kdmRjbHV0LmMgYi9saWJhdmZvcm1hdC9kdmRjbHV0LmMK PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAwMDAuLjIxMjVlOTE1NDEKPiAt LS0gL2Rldi9udWxsCj4gKysrIGIvbGliYXZmb3JtYXQvZHZkY2x1dC5jCj4gQEAgLTAsMCArMSw3 NiBAQAo+ICsvKgo+ICsgKiBEVkQtVmlkZW8gc3VicGljdHVyZSBDTFVUIChDb2xvciBMb29rdXAg VGFibGUpIHV0aWxpdGllcwo+ICsgKgo+ICsgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBGRm1wZWcu Cj4gKyAqCj4gKyAqIEZGbXBlZyBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0 ZSBpdCBhbmQvb3IKPiArICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExl c3NlciBHZW5lcmFsIFB1YmxpYwo+ICsgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKPiArICogdmVyc2lvbiAyLjEgb2YgdGhlIExp Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gKyAqCj4gKyAq IEZGbXBlZyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs LAo+ICsgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll ZCB3YXJyYW50eSBvZgo+ICsgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQo+ICsgKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+ICsgKgo+ICsgKiBZb3Ugc2hvdWxkIGhhdmUgcmVj ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCj4gKyAqIExpY2Vu c2UgYWxvbmcgd2l0aCBGRm1wZWc7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUK PiArICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwg Qm9zdG9uLCBNQQo+IDAyMTEwLTEzMDEgVVNBCj4gKyAqLwo+ICsKPiArI2luY2x1ZGUgImxpYmF2 dXRpbC9icHJpbnQuaCIKPiArI2luY2x1ZGUgImxpYmF2dXRpbC9jb2xvcnNwYWNlLmgiCj4gKyNp bmNsdWRlICJsaWJhdnV0aWwvY29tbW9uLmgiCj4gKwo+ICsjaW5jbHVkZSAiZHZkY2x1dC5oIgo+ ICsjaW5jbHVkZSAiaW50ZXJuYWwuaCIKPiArCj4gK2ludCBmZl9kdmRjbHV0X3BhbGV0dGVfZXh0 cmFkYXRhX2NhdChjb25zdCB1aW50MzJfdCAqY2x1dCwKPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGNvbnN0IHNpemVfdCBjbHV0X3NpemUsCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBBVkNvZGVjUGFyYW1ldGVycyAqcGFyKQo+ICt7Cj4gKyAg ICBpbnQgcmV0ID0gMDsKPiArICAgIEFWQlByaW50IGJwOwo+ICsKPiArICAgIGlmIChjbHV0X3Np emUgIT0gRkZfRFZEQ0xVVF9DTFVUX1NJWkUpCj4gKyAgICAgICAgcmV0dXJuIEFWRVJST1IoRUlO VkFMKTsKPiArCj4gKyAgICBhdl9icHJpbnRfaW5pdCgmYnAsIDAsIEZGX0RWRENMVVRfRVhUUkFE QVRBX1NJWkUpOwo+ICsKPiArICAgIGF2X2JwcmludGYoJmJwLCAicGFsZXR0ZTogIik7Cj4gKwo+ ICsgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBGRl9EVkRDTFVUX0NMVVRfTEVOOyBpKyspCj4gKyAg ICAgICAgYXZfYnByaW50ZigmYnAsICIlMDYiUFJJeDMyIiVzIiwgY2x1dFtpXSwKPiArICAgICAg ICAgICAgICAgICAgIGkgIT0gKEZGX0RWRENMVVRfQ0xVVF9MRU4gLSAxKSA/ICIsICIgOiAiIik7 Cj4gKwo+ICsgICAgYXZfYnByaW50ZigmYnAsICJcbiIpOwo+ICsKPiArICAgIHJldHVybiBmZl9i cHJpbnRfdG9fY29kZWNwYXJfZXh0cmFkYXRhKHBhciwgJmJwKTsKPiArfQo+ICsKPiAraW50IGZm X2R2ZGNsdXRfeXV2X3RvX3JnYih1aW50MzJfdCAqY2x1dCwgY29uc3Qgc2l6ZV90IGNsdXRfc2l6 ZSkKPiArewo+ICsgICAgaW50IHksIGNiLCBjcjsKPiArICAgIHVpbnQ4X3QgciwgZywgYjsKPiAr ICAgIGludCByX2FkZCwgZ19hZGQsIGJfYWRkOwo+ICsKPiArICAgIGlmIChjbHV0X3NpemUgIT0g RkZfRFZEQ0xVVF9DTFVUX1NJWkUpCj4gKyAgICAgICAgcmV0dXJuIEFWRVJST1IoRUlOVkFMKTsK PiArCj4gKyAgICBmb3IgKGludCBpID0gMDsgaSA8IEZGX0RWRENMVVRfQ0xVVF9MRU47IGkrKykg ewo+ICsgICAgICAgIHkgID0gKGNsdXRbaV0gPj4gMTYpICYgMHhGRjsKPiArICAgICAgICBjciA9 IChjbHV0W2ldID4+IDgpICAmIDB4RkY7Cj4gKyAgICAgICAgY2IgPSBjbHV0W2ldICAgICAgICAg JiAweEZGOwo+ICsKPiArICAgICAgICBZVVZfVE9fUkdCMV9DQ0lSKGNiLCBjcik7Cj4gKwo+ICsg ICAgICAgIHkgPSAoeSAtIDE2KSAqIEZJWCgyNTUuMCAvIDIxOS4wKTsKPiArICAgICAgICByID0g YXZfY2xpcF91aW50OCgoeSArIHJfYWRkIC0gMTAyNCkgPj4gU0NBTEVCSVRTKTsKPiArICAgICAg ICBnID0gYXZfY2xpcF91aW50OCgoeSArIGdfYWRkIC0gMTAyNCkgPj4gU0NBTEVCSVRTKTsKPiAr ICAgICAgICBiID0gYXZfY2xpcF91aW50OCgoeSArIGJfYWRkIC0gMTAyNCkgPj4gU0NBTEVCSVRT KTsKPiArCj4gKyAgICAgICAgY2x1dFtpXSA9IChyIDw8IDE2KSB8IChnIDw8IDgpIHwgYjsKPiAr ICAgIH0KPiArCj4gKyAgICByZXR1cm4gMDsKPiArfQo+IGRpZmYgLS1naXQgYS9saWJhdmZvcm1h dC9kdmRjbHV0LmggYi9saWJhdmZvcm1hdC9kdmRjbHV0LmgKPiBuZXcgZmlsZSBtb2RlIDEwMDY0 NAo+IGluZGV4IDAwMDAwMDAwMDAuLjQxY2VhN2UyYzkKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIv bGliYXZmb3JtYXQvZHZkY2x1dC5oCj4gQEAgLTAsMCArMSwzNyBAQAo+ICsvKgo+ICsgKiBEVkQt VmlkZW8gc3VicGljdHVyZSBDTFVUIChDb2xvciBMb29rdXAgVGFibGUpIHV0aWxpdGllcwo+ICsg Kgo+ICsgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBGRm1wZWcuCj4gKyAqCj4gKyAqIEZGbXBlZyBp cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiArICogbW9k aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwo+ ICsgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u OyBlaXRoZXIKPiArICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9w dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gKyAqCj4gKyAqIEZGbXBlZyBpcyBkaXN0cmlidXRl ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+ICsgKiBidXQgV0lUSE9VVCBB TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+ICsgKiBN RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg dGhlIEdOVQo+ICsgKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh aWxzLgo+ICsgKgo+ICsgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH TlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCj4gKyAqIExpY2Vuc2UgYWxvbmcgd2l0aCBGRm1wZWc7 IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKPiArICogRm91bmRhdGlvbiwgSW5j LiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQQo+IDAyMTEwLTEz MDEgVVNBCj4gKyAqLwo+ICsKPiArI2lmbmRlZiBBVkZPUk1BVF9EVkRDTFVUX0gKPiArI2RlZmlu ZSBBVkZPUk1BVF9EVkRDTFVUX0gKPiArCj4gKyNpbmNsdWRlICJsaWJhdmNvZGVjL2NvZGVjX3Bh ci5oIgo+ICsKPiArLyogKCJwYWxldHRlOiAiKSArICgicnJnZ2JiLCAiKjE1KSArICgicnJnZ2Ji IikgKyBcbiArIFwwICovCj4gKyNkZWZpbmUgRkZfRFZEQ0xVVF9FWFRSQURBVEFfU0laRSAgICAg ICAgKDkgKyAoOCAqIDE1KSArIDYgKyAxICsgMSkKPiArI2RlZmluZSBGRl9EVkRDTFVUX0NMVVRf TEVOICAgICAgICAgICAgICAxNgo+ICsjZGVmaW5lIEZGX0RWRENMVVRfQ0xVVF9TSVpFICAgICAg ICAgICAgIEZGX0RWRENMVVRfQ0xVVF9MRU4gKgo+IHNpemVvZih1aW50MzJfdCkKPiArCj4gK2lu dCBmZl9kdmRjbHV0X3BhbGV0dGVfZXh0cmFkYXRhX2NhdChjb25zdCB1aW50MzJfdCAqY2x1dCwK PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNpemVfdCBjbHV0 X3NpemUsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVkNvZGVjUGFy YW1ldGVycyAqcGFyKTsKPiArCj4gK2ludCBmZl9kdmRjbHV0X3l1dl90b19yZ2IodWludDMyX3Qg KmNsdXQsIGNvbnN0IHNpemVfdCBjbHV0X3NpemUpOwo+ICsKPiArI2VuZGlmIC8qIEFWRk9STUFU X0RWRENMVVRfSCAqLwo+IGRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9kdmR2aWRlb2RlYy5jIGIv bGliYXZmb3JtYXQvZHZkdmlkZW9kZWMuYwo+IGluZGV4IDMzNTUwMTAzNTYuLjA5NTExODkxMjQg MTAwNjQ0Cj4gLS0tIGEvbGliYXZmb3JtYXQvZHZkdmlkZW9kZWMuYwo+ICsrKyBiL2xpYmF2Zm9y bWF0L2R2ZHZpZGVvZGVjLmMKPiBAQCAtNDksNiArNDksNyBAQAo+ICAjaW5jbHVkZSAiYXZpb19p bnRlcm5hbC5oIgo+ICAjaW5jbHVkZSAiYXZsYW5ndWFnZS5oIgo+ICAjaW5jbHVkZSAiZGVtdXgu aCIKPiArI2luY2x1ZGUgImR2ZGNsdXQuaCIKPiAgI2luY2x1ZGUgImludGVybmFsLmgiCj4gICNp bmNsdWRlICJ1cmwuaCIKPgo+IEBAIC05NSw2ICs5Niw3IEBAIHR5cGVkZWYgc3RydWN0IERWRFZp ZGVvUEdDU3VidGl0bGVTdHJlYW1FbnRyeSB7Cj4gICAgICBpbnQgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzdGFydGNvZGU7Cj4gICAgICBlbnVtIERWRFZpZGVvU3VicGljdHVyZVZp ZXdwb3J0ICAgICB2aWV3cG9ydDsKPiAgICAgIGludCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGRpc3Bvc2l0aW9uOwo+ICsgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY2x1dFtGRl9EVkRDTFVUX0NMVVRfTEVOXTsKPiAgICAgIGNvbnN0IGNoYXIgICAgICAg ICAgICAgICAgICAgICAgICAgICpsYW5nX2lzbzsKPiAgfSBEVkRWaWRlb1BHQ1N1YnRpdGxlU3Ry ZWFtRW50cnk7Cj4KPiBAQCAtMTI4LDYgKzEzMCw3IEBAIHR5cGVkZWYgc3RydWN0IERWRFZpZGVv RGVtdXhDb250ZXh0IHsKPiAgICAgIGludCAgICAgICAgICAgICAgICAgICAgICAgICBvcHRfYW5n bGU7ICAgICAgICAgIC8qIHRoZSB1c2VyLXByb3ZpZGVkCj4gYW5nbGUgbnVtYmVyICgxLWluZGV4 ZWQpICovCj4gICAgICBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgb3B0X2NoYXB0ZXJfZW5k OyAgICAvKiB0aGUgdXNlci1wcm92aWRlZAo+IGV4aXQgUFRUICgwIGZvciBsYXN0KSAqLwo+ICAg ICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgIG9wdF9jaGFwdGVyX3N0YXJ0OyAgLyogdGhl IHVzZXItcHJvdmlkZWQKPiBlbnRyeSBQVFQgKDEtaW5kZXhlZCkgKi8KPiArICAgIGludCAgICAg ICAgICAgICAgICAgICAgICAgICBvcHRfY2x1dF9yZ2I7ICAgICAgIC8qIG91dHB1dCBzdWJ0aXRs ZQo+IHBhbGV0dGUgKENMVVQpIGFzIFJHQiAqLwo+ICAgICAgaW50ICAgICAgICAgICAgICAgICAg ICAgICAgIG9wdF9wZzsgICAgICAgICAgICAgLyogdGhlIHVzZXItcHJvdmlkZWQKPiBQRyBudW1i ZXIgKDEtaW5kZXhlZCkgKi8KPiAgICAgIGludCAgICAgICAgICAgICAgICAgICAgICAgICBvcHRf cGdjOyAgICAgICAgICAgIC8qIHRoZSB1c2VyLXByb3ZpZGVkCj4gUEdDIG51bWJlciAoMS1pbmRl eGVkKSAqLwo+ICAgICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgIG9wdF9wcmVpbmRleDsg ICAgICAgLyogcHJlLWluZGV4aW5nIG1vZGUKPiAoMi1wYXNzIHJlYWQpICovCj4gQEAgLTEwMzgs NiArMTA0MSw4IEBAIGJyZWFrX2Vycm9yOgo+ICBzdGF0aWMgaW50IGR2ZHZpZGVvX3N1YnBfc3Ry ZWFtX2FuYWx5emUoQVZGb3JtYXRDb250ZXh0ICpzLCB1aW50MzJfdAo+IG9mZnNldCwgc3VicF9h dHRyX3Qgc3VicF9hdHRyLAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgRFZEVmlkZW9QR0NTdWJ0aXRsZVN0cmVhbUVudHJ5Cj4gKmVudHJ5KQo+ICB7Cj4gKyAgICBE VkRWaWRlb0RlbXV4Q29udGV4dCAqYyA9IHMtPnByaXZfZGF0YTsKPiArCj4gICAgICBjaGFyIGxh bmdfZHZkWzNdID0gezB9Owo+Cj4gICAgICBlbnRyeS0+c3RhcnRjb2RlID0gMHgyMCArIChvZmZz ZXQgJiAweDFGKTsKPiBAQCAtMTA0NSw2ICsxMDUwLDExIEBAIHN0YXRpYyBpbnQKPiBkdmR2aWRl b19zdWJwX3N0cmVhbV9hbmFseXplKEFWRm9ybWF0Q29udGV4dCAqcywgdWludDMyX3Qgb2Zmc2V0 LCBzdWIKPiAgICAgIGlmIChzdWJwX2F0dHIubGFuZ19leHRlbnNpb24gPT0gOSkKPiAgICAgICAg ICBlbnRyeS0+ZGlzcG9zaXRpb24gfD0gQVZfRElTUE9TSVRJT05fRk9SQ0VEOwo+Cj4gKyAgICBt ZW1jcHkoJmVudHJ5LT5jbHV0LCBjLT5wbGF5X3N0YXRlLnBnYy0+cGFsZXR0ZSwKPiBGRl9EVkRD TFVUX0NMVVRfU0laRSk7Cj4gKwo+ICsgICAgaWYgKGMtPm9wdF9jbHV0X3JnYikKPiArICAgICAg ICBmZl9kdmRjbHV0X3l1dl90b19yZ2IoZW50cnktPmNsdXQsIEZGX0RWRENMVVRfQ0xVVF9TSVpF KTsKPiArCj4gICAgICBBVl9XQjE2KGxhbmdfZHZkLCBzdWJwX2F0dHIubGFuZ19jb2RlKTsKPiAg ICAgIGVudHJ5LT5sYW5nX2lzbyA9IGZmX2NvbnZlcnRfbGFuZ190byhsYW5nX2R2ZCwgQVZfTEFO R19JU082MzlfMl9CSUJMKTsKPgo+IEBAIC0xMDY2LDYgKzEwNzYsOSBAQCBzdGF0aWMgaW50IGR2 ZHZpZGVvX3N1YnBfc3RyZWFtX2FkZChBVkZvcm1hdENvbnRleHQKPiAqcywgRFZEVmlkZW9QR0NT dWJ0aXRsZVN0cmVhCj4gICAgICBzdC0+Y29kZWNwYXItPmNvZGVjX3R5cGUgPSBBVk1FRElBX1RZ UEVfU1VCVElUTEU7Cj4gICAgICBzdC0+Y29kZWNwYXItPmNvZGVjX2lkID0gQVZfQ09ERUNfSURf RFZEX1NVQlRJVExFOwo+Cj4gKyAgICBpZiAoKHJldCA9IGZmX2R2ZGNsdXRfcGFsZXR0ZV9leHRy YWRhdGFfY2F0KGVudHJ5LT5jbHV0LAo+IEZGX0RWRENMVVRfQ0xVVF9TSVpFLCBzdC0+Y29kZWNw YXIpKSA8IDApCj4gKyAgICAgICAgcmV0dXJuIHJldDsKPiArCj4gICAgICBpZiAoZW50cnktPmxh bmdfaXNvKQo+ICAgICAgICAgIGF2X2RpY3Rfc2V0KCZzdC0+bWV0YWRhdGEsICJsYW5ndWFnZSIs IGVudHJ5LT5sYW5nX2lzbywgMCk7Cj4KPiBAQCAtMTM4Miw2ICsxMzk1LDcgQEAgc3RhdGljIGNv bnN0IEFWT3B0aW9uIGR2ZHZpZGVvX29wdGlvbnNbXSA9IHsKPiAgICAgIHsiYW5nbGUiLCAgICAg ICAgICAgInBsYXliYWNrIGFuZ2xlIG51bWJlciIsCj4gICAgICAgICAgIE9GRlNFVChvcHRfYW5n bGUpLCAgICAgICAgICBBVl9PUFRfVFlQRV9JTlQsICAgIHsgLmk2ND0xIH0sCj4gIDEsICAgICAg ICAgIDksICAgICAgICAgQVZfT1BUX0ZMQUdfREVDT0RJTkdfUEFSQU0gfSwKPiAgICAgIHsiY2hh cHRlcl9lbmQiLCAgICAgImV4aXQgY2hhcHRlciAoUFRUKSBudW1iZXIgKDA9ZW5kKSIsCj4gICAg ICAgICAgIE9GRlNFVChvcHRfY2hhcHRlcl9lbmQpLCAgICBBVl9PUFRfVFlQRV9JTlQsICAgIHsg Lmk2ND0wIH0sCj4gIDAsICAgICAgICAgIDk5LCAgICAgICAgQVZfT1BUX0ZMQUdfREVDT0RJTkdf UEFSQU0gfSwKPiAgICAgIHsiY2hhcHRlcl9zdGFydCIsICAgImVudHJ5IGNoYXB0ZXIgKFBUVCkg bnVtYmVyIiwKPiAgICAgICAgICAgIE9GRlNFVChvcHRfY2hhcHRlcl9zdGFydCksICBBVl9PUFRf VFlQRV9JTlQsICAgIHsgLmk2ND0xIH0sCj4gIDEsICAgICAgICAgIDk5LCAgICAgICAgQVZfT1BU X0ZMQUdfREVDT0RJTkdfUEFSQU0gfSwKPiArICAgIHsiY2x1dF9yZ2IiLCAgICAgICAgIm91dHB1 dCBzdWJ0aXRsZSBwYWxldHRlIChDTFVUKSBhcyBSR0IiLAo+ICAgICAgICAgICBPRkZTRVQob3B0 X2NsdXRfcmdiKSwgICAgICAgQVZfT1BUX1RZUEVfQk9PTCwgICB7IC5pNjQ9MSB9LAo+ICAwLCAg ICAgICAgICAxLCAgICAgICAgIEFWX09QVF9GTEFHX0RFQ09ESU5HX1BBUkFNIH0sCj4gICAgICB7 InBnIiwgICAgICAgICAgICAgICJlbnRyeSBQRyBudW1iZXIgKDA9YXV0bykiLAo+ICAgICAgICAg ICAgT0ZGU0VUKG9wdF9wZyksICAgICAgICAgICAgIEFWX09QVF9UWVBFX0lOVCwgICAgeyAuaTY0 PTAgfSwKPiAgMCwgICAgICAgICAgMjU1LCAgICAgICBBVl9PUFRfRkxBR19ERUNPRElOR19QQVJB TSB9LAo+ICAgICAgeyJwZ2MiLCAgICAgICAgICAgICAiZW50cnkgUEdDIG51bWJlciAoMD1hdXRv KSIsCj4gICAgICAgICAgIE9GRlNFVChvcHRfcGdjKSwgICAgICAgICAgICBBVl9PUFRfVFlQRV9J TlQsICAgIHsgLmk2ND0wIH0sCj4gIDAsICAgICAgICAgIDk5OSwgICAgICAgQVZfT1BUX0ZMQUdf REVDT0RJTkdfUEFSQU0gfSwKPiAgICAgIHsicHJlaW5kZXgiLCAgICAgICAgImVuYWJsZSBmb3Ig YWNjdXJhdGUgY2hhcHRlciBtYXJrZXJzLCBzbG93Cj4gKDItcGFzcyByZWFkKSIsICBPRkZTRVQo b3B0X3ByZWluZGV4KSwgICAgICAgQVZfT1BUX1RZUEVfQk9PTCwgICB7IC5pNjQ9MAo+IH0sICAg ICAwLCAgICAgICAgICAxLCAgICAgICAgIEFWX09QVF9GTEFHX0RFQ09ESU5HX1BBUkFNIH0sCj4g LS0KPiAyLjM0LjEKPgo+Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QKZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcK aHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVsCgpUbyB1bnN1 YnNjcmliZSwgdmlzaXQgbGluayBhYm92ZSwgb3IgZW1haWwKZmZtcGVnLWRldmVsLXJlcXVlc3RA ZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4K