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 159224DCB9 for ; Sun, 2 Mar 2025 17:27:07 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0B87C68E3AB; Sun, 2 Mar 2025 19:27:03 +0200 (EET) Received: from smtp.waider.ie (smtp.waider.ie [52.31.250.228]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 0964D68D868 for ; Sun, 2 Mar 2025 19:26:56 +0200 (EET) Received: from smtpclient.apple (unknown [109.255.224.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.waider.ie (Postfix) with ESMTPSA id F40B349D45; Sun, 2 Mar 2025 17:26:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=waider.ie; s=waider_ie; t=1740936415; bh=Bpdk2xRS9T0ex/anV6PAdAyeBIwHO4D1E/btuPqzGq4=; h=Content-Type:Mime-Version:Subject:To:From:In-Reply-To:Date:Cc: Content-Transfer-Encoding:Message-Id:References; b=CQlSLruCwlBtsRBtltdQr0i47vpBXfV2p07SM/tGqa2ZE5XLfwN9OEOXU8IDeV5Vo nV85tYrSoolvnmqqBKX7r4pQZCjHY7OJKQCCWnKMlJZrP0QfyE2ttqkhOEzfD6pf2A HYQzHOYf9vRaTF5IFHO07X0msZCOhwERFIIVX4p0= Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.400.131.1.6\)) To: Soft Works From: Ronan Waide In-Reply-To: Date: Sun, 2 Mar 2025 17:26:42 +0000 Message-Id: <1D0DD077-900E-4CCE-B445-D58E6C077742@waider.ie> References: <78DB821E-BD88-4C49-A825-DF44E458066D@waider.ie> <20250301153208.3852-1-waider@waider.ie> Organization: Poor, at best X-Mailer: Apple Mail (2.3826.400.131.1.6) X-Spam-Status: No, score=-102.9 required=5.0 tests=ALL_TRUSTED,BAYES_00, USER_IN_WELCOMELIST,USER_IN_WHITELIST autolearn=ham autolearn_force=no version=3.4.3 X-Spam-Checker-Version: SpamAssassin 3.4.3 (2019-12-06) on ec2.waider.ie Subject: Re: [FFmpeg-devel] [PATCH v4] libavcodec/dvbsubenc.c: add a disable_2bpp option to work around some decoders. 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 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: Cgo+IE9uIDIgTWFyIDIwMjUsIGF0IDE1OjAwLCBTb2Z0IFdvcmtzIDxzb2Z0d29ya3pAaG90bWFp bC5jb20+IHdyb3RlOgo+IAo+IAo+IAo+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+PiBG cm9tOiBmZm1wZWctZGV2ZWwgPGZmbXBlZy1kZXZlbC1ib3VuY2VzQGZmbXBlZy5vcmc+IE9uIEJl aGFsZiBPZiBSb25hbgo+PiBXYWlkZQo+PiBTZW50OiBTYW1zdGFnLCAxLiBNw6RyeiAyMDI1IDE2 OjMyCj4+IFRvOiBmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwo+PiBDYzogUm9uYW4gV2FpZGUgPHdh aWRlckB3YWlkZXIuaWU+Cj4+IFN1YmplY3Q6IFtGRm1wZWctZGV2ZWxdIFtQQVRDSCB2NF0gbGli YXZjb2RlYy9kdmJzdWJlbmMuYzogYWRkIGEKPj4gZGlzYWJsZV8yYnBwIG9wdGlvbiB0byB3b3Jr IGFyb3VuZCBzb21lIGRlY29kZXJzLgo+PiAKPj4gQXMgbm90ZWQgaW4gdGhlIGNvZGUgaW4gc2V2 ZXJhbCBwbGFjZXMsIHNvbWUgRFZCIHN1YnRpdGxlIGRlY29kZXJzCj4+IGRvbid0IGhhbmRsZSAy YnBwIGNvbG9yLiBUaGlzIHBhdGNoIGFkZHMgYSBkaXNhYmxlXzJicHAgb3B0aW9uIHdoaWNoCj4+ IGRpc2FibGVzIHRoZSAyYnBwIGZvcm1hdDsgc3VidGl0bGVzIHdoaWNoIHdvdWxkIHVzZSAyYnBw IHdpbGwgYmUgYnVtcGVkCj4+IHVwIHRvIDRicHAuCj4+IAo+PiBTaWduZWQtb2ZmLWJ5OiBSb25h biBXYWlkZSA8d2FpZGVyQHdhaWRlci5pZT4KPj4gLS0tCj4+IGRvYy9lbmNvZGVycy50ZXhpICAg ICAgfCAyNyArKysrKysrKysrKysrKwo+PiBsaWJhdmNvZGVjL2R2YnN1YmVuYy5jIHwgODUgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tCj4+IDIgZmlsZXMgY2hhbmdl ZCwgOTUgaW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCj4+IAo+PiBkaWZmIC0tZ2l0IGEv ZG9jL2VuY29kZXJzLnRleGkgYi9kb2MvZW5jb2RlcnMudGV4aQo+PiBpbmRleCBmM2ZjYzFhYTYw Li4wNzk4NGI2YjU0IDEwMDY0NAo+PiAtLS0gYS9kb2MvZW5jb2RlcnMudGV4aQo+PiArKysgYi9k b2MvZW5jb2RlcnMudGV4aQo+PiBAQCAtNDQ4NCw2ICs0NDg0LDMzIEBAIFJlZHVjZXMgZGV0YWls IGJ1dCBhdHRlbXB0cyB0byBwcmVzZXJ2ZSBjb2xvciBhdAo+PiBleHRyZW1lbHkgbG93IGJpdHJh dGVzLgo+PiBAY2hhcHRlciBTdWJ0aXRsZXMgRW5jb2RlcnMKPj4gQGMgbWFuIGJlZ2luIFNVQlRJ VExFUyBFTkNPREVSUwo+PiAKPj4gK0BzZWN0aW9uIGR2YnN1Ygo+PiArCj4+ICtUaGlzIGNvZGVj IGVuY29kZXMgdGhlIGJpdG1hcCBzdWJ0aXRsZSBmb3JtYXQgdGhhdCBpcyB1c2VkIGluIERWQgo+ PiArYnJvYWRjYXN0cyBhbmQgcmVjb3JkaW5ncy4gVGhlIGJpdG1hcHMgYXJlIHR5cGljYWxseSBl bWJlZGRlZCBpbiBhCj4+ICtjb250YWluZXIgc3VjaCBhcyBNUEVHLVRTIGFzIGEgc2VwYXJhdGUg c3RyZWFtLgo+PiArCj4+ICtAc3Vic2VjdGlvbiBPcHRpb25zCj4+ICsKPj4gK0B0YWJsZSBAb3B0 aW9uCj4+ICtAaXRlbSBkaXNhYmxlXzJicHAgQHZhcntib29sZWFufQo+PiArRGlzYWJsZSB0aGUg MiBiaXRzLXBlci1waXhlbCBlbmNvZGluZyBmb3JtYXQuCj4+ICsKPj4gK0RWQiBzdXBwb3J0cyAy LCA0LCBhbmQgOCBiaXRzLXBlci1waXhlbCBjb2xvciBsb29rdXAgdGFibGVzLiBIb3dldmVyLAo+ PiArbm90IGFsbCBwbGF5ZXJzIHN1cHBvcnQgb3IgcHJvcGVybHkgc3VwcG9ydCAyIGJpdHMtcGVy LXBpeGVsLAo+PiArcmVzdWx0aW5nIGluIHVudXNhYmxlIHN1YnRpdGxlcy4KPj4gK0B0YWJsZSBA b3B0aW9uCj4+ICtAaXRlbSAwCj4+ICtUaGUgMiBiaXRzLXBlci1waXhlbCBlbmNvZGluZyBmb3Jt YXQgd2lsbCBiZSB1c2VkIGZvciBzdWJ0aXRsZXMgd2l0aCA0Cj4+ICtjb2xvcnMgb3IgbGVzcy4g KGRlZmF1bHQpCj4+ICsKPj4gK0BpdGVtIDEKPj4gK1RoZSAyIGJpdHMtcGVyLXBpeGVsIGVuY29k aW5nIGZvcm1hdCB3aWxsIGJlIGRpc2FibGVkLCBhbmQgc3VidGl0bGVzCj4+ICt3aXRoIDQgY29s b3JzIG9yIGxlc3Mgd2lsbCB1c2UgYSA0IGJpdHMtcGVyLXBpeGVsIGZvcm1hdC4KPj4gK0BlbmQg dGFibGUKPj4gKwo+PiArQGVuZCB0YWJsZQo+PiArCj4+IEBzZWN0aW9uIGR2ZHN1Ygo+PiAKPj4g VGhpcyBjb2RlYyBlbmNvZGVzIHRoZSBiaXRtYXAgc3VidGl0bGUgZm9ybWF0IHRoYXQgaXMgdXNl ZCBpbiBEVkRzLgo+PiBkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9kdmJzdWJlbmMuYyBiL2xpYmF2 Y29kZWMvZHZic3ViZW5jLmMKPj4gaW5kZXggODIyZTNhNTMwOS4uNzI3YTc1ZTkwMSAxMDA2NDQK Pj4gLS0tIGEvbGliYXZjb2RlYy9kdmJzdWJlbmMuYwo+PiArKysgYi9saWJhdmNvZGVjL2R2YnN1 YmVuYy5jCj4+IEBAIC0yMiw5ICsyMiwxMyBAQAo+PiAjaW5jbHVkZSAiYnl0ZXN0cmVhbS5oIgo+ PiAjaW5jbHVkZSAiY29kZWNfaW50ZXJuYWwuaCIKPj4gI2luY2x1ZGUgImxpYmF2dXRpbC9jb2xv cnNwYWNlLmgiCj4+ICsjaW5jbHVkZSAibGliYXZ1dGlsL29wdC5oIgo+PiAKPj4gdHlwZWRlZiBz dHJ1Y3QgRFZCU3VidGl0bGVDb250ZXh0IHsKPj4gKyAgICBBVkNsYXNzICogY2xhc3M7Cj4+ICAg ICBpbnQgb2JqZWN0X3ZlcnNpb247Cj4+ICsgICAgaW50IGRpc2FibGVfMmJwcDsKPj4gKyAgICBp bnQgbWluX2NvbG9yczsKPj4gfSBEVkJTdWJ0aXRsZUNvbnRleHQ7Cj4+IAo+PiAjZGVmaW5lIFBV VEJJVFMyKHZhbClcCj4+IEBAIC0zOCw2ICs0MiwxOCBAQCB0eXBlZGVmIHN0cnVjdCBEVkJTdWJ0 aXRsZUNvbnRleHQgewo+PiAgICAgfVwKPj4gfQo+PiAKPj4gK3N0YXRpYyBpbnQgZHZic3ViX2lu aXQoQVZDb2RlY0NvbnRleHQgKmF2Y3R4KQo+PiArewo+PiArICAgIERWQlN1YnRpdGxlQ29udGV4 dCAqcyA9IGF2Y3R4LT5wcml2X2RhdGE7Cj4+ICsgICAgaWYgKHMtPmRpc2FibGVfMmJwcCkgewo+ PiArICAgICAgICBhdl9sb2coYXZjdHgsIEFWX0xPR19ERUJVRywgIkRpc2FibGluZyAyYnBwIHN1 YnRpdGxlcy5cbiIpOwo+PiArICAgICAgICBzLT5taW5fY29sb3JzID0gMTY7Cj4+ICsgICAgfSBl bHNlIHsKPj4gKyAgICAgICAgcy0+bWluX2NvbG9ycyA9IDA7Cj4+ICsgICAgfQo+PiArICAgIHJl dHVybiAwOwo+PiArfQo+PiArCj4+IHN0YXRpYyBpbnQgZHZiX2VuY29kZV9ybGUyKHVpbnQ4X3Qg KipwcSwgaW50IGJ1Zl9zaXplLAo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1 aW50OF90ICpiaXRtYXAsIGludCBsaW5lc2l6ZSwKPj4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgaW50IHcsIGludCBoKQo+PiBAQCAtMzI2LDE4ICszNDIsMjIgQEAgc3RhdGljIGludCBkdmJz dWJfZW5jb2RlKEFWQ29kZWNDb250ZXh0ICphdmN0eCwKPj4gdWludDhfdCAqb3V0YnVmLCBpbnQg YnVmX3NpemUsCj4+IAo+PiAgICAgaWYgKGgtPm51bV9yZWN0cykgewo+PiAgICAgICAgIGZvciAo Y2x1dF9pZCA9IDA7IGNsdXRfaWQgPCBoLT5udW1fcmVjdHM7IGNsdXRfaWQrKykgewo+PiAtICAg ICAgICAgICAgaWYgKGJ1Zl9zaXplIDwgNiArIGgtPnJlY3RzW2NsdXRfaWRdLT5uYl9jb2xvcnMg KiA2KQo+PiArICAgICAgICAgICAgaW50IG5iX2NvbG9ycyA9IHMtPm1pbl9jb2xvcnMgPiBoLT5y ZWN0c1tjbHV0X2lkXS0KPj4+IG5iX2NvbG9ycwo+PiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgID8gcy0+bWluX2NvbG9ycwo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaC0+ cmVjdHNbY2x1dF9pZF0tPm5iX2NvbG9yczsKPj4gKwo+PiArICAgICAgICAgICAgaWYgKGJ1Zl9z aXplIDwgNiArIG5iX2NvbG9ycyAqIDYpCj4+ICAgICAgICAgICAgICAgICByZXR1cm4gQVZFUlJP Ul9CVUZGRVJfVE9PX1NNQUxMOwo+PiAKPj4gICAgICAgICAgICAgLyogQ0xVVCBzZWdtZW50ICov Cj4+IAo+PiAtICAgICAgICAgICAgaWYgKGgtPnJlY3RzW2NsdXRfaWRdLT5uYl9jb2xvcnMgPD0g NCkgewo+PiArICAgICAgICAgICAgaWYgKG5iX2NvbG9ycyA8PSA0KSB7Cj4+ICAgICAgICAgICAg ICAgICAvKiAyIGJwcCwgc29tZSBkZWNvZGVycyBkbyBub3Qgc3VwcG9ydCBpdCBjb3JyZWN0bHkg Ki8KPj4gICAgICAgICAgICAgICAgIGJwcF9pbmRleCA9IDA7Cj4+IC0gICAgICAgICAgICB9IGVs c2UgaWYgKGgtPnJlY3RzW2NsdXRfaWRdLT5uYl9jb2xvcnMgPD0gMTYpIHsKPj4gKyAgICAgICAg ICAgIH0gZWxzZSBpZiAobmJfY29sb3JzIDw9IDE2KSB7Cj4+ICAgICAgICAgICAgICAgICAvKiA0 IGJwcCwgc3RhbmRhcmQgZW5jb2RpbmcgKi8KPj4gICAgICAgICAgICAgICAgIGJwcF9pbmRleCA9 IDE7Cj4+IC0gICAgICAgICAgICB9IGVsc2UgaWYgKGgtPnJlY3RzW2NsdXRfaWRdLT5uYl9jb2xv cnMgPD0gMjU2KSB7Cj4+ICsgICAgICAgICAgICB9IGVsc2UgaWYgKG5iX2NvbG9ycyA8PSAyNTYp IHsKPj4gICAgICAgICAgICAgICAgIC8qIDggYnBwLCBzdGFuZGFyZCBlbmNvZGluZyAqLwo+PiAg ICAgICAgICAgICAgICAgYnBwX2luZGV4ID0gMjsKPj4gICAgICAgICAgICAgfSBlbHNlIHsKPj4g QEAgLTM1NCwxNiArMzc0LDI0IEBAIHN0YXRpYyBpbnQgZHZic3ViX2VuY29kZShBVkNvZGVjQ29u dGV4dCAqYXZjdHgsCj4+IHVpbnQ4X3QgKm91dGJ1ZiwgaW50IGJ1Zl9zaXplLAo+PiAgICAgICAg ICAgICAqcSsrID0gY2x1dF9pZDsKPj4gICAgICAgICAgICAgKnErKyA9ICgwIDw8IDQpIHwgMHhm OyAvKiB2ZXJzaW9uID0gMCAqLwo+PiAKPj4gLSAgICAgICAgICAgIGZvcihpID0gMDsgaSA8IGgt PnJlY3RzW2NsdXRfaWRdLT5uYl9jb2xvcnM7IGkrKykgewo+PiArICAgICAgICAgICAgZm9yKGkg PSAwOyBpIDwgbmJfY29sb3JzOyBpKyspIHsKPj4gICAgICAgICAgICAgICAgICpxKysgPSBpOyAv KiBjbHV0X2VudHJ5X2lkICovCj4+ICAgICAgICAgICAgICAgICAqcSsrID0gKDEgPDwgKDcgLSBi cHBfaW5kZXgpKSB8ICgweGYgPDwgMSkgfCAxOyAvKiAyCj4+IGJpdHMvcGl4ZWwgZnVsbCByYW5n ZSAqLwo+PiAgICAgICAgICAgICAgICAgewo+PiAgICAgICAgICAgICAgICAgICAgIGludCBhLCBy LCBnLCBiOwo+PiAtICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCB4PSAoKHVpbnQzMl90Kilo LT5yZWN0c1tjbHV0X2lkXS0KPj4+IGRhdGFbMV0pW2ldOwo+PiAtICAgICAgICAgICAgICAgICAg ICBhID0gKHggPj4gMjQpICYgMHhmZjsKPj4gLSAgICAgICAgICAgICAgICAgICAgciA9ICh4ID4+ IDE2KSAmIDB4ZmY7Cj4+IC0gICAgICAgICAgICAgICAgICAgIGcgPSAoeCA+PiAgOCkgJiAweGZm Owo+PiAtICAgICAgICAgICAgICAgICAgICBiID0gKHggPj4gIDApICYgMHhmZjsKPj4gKyAgICAg ICAgICAgICAgICAgICAgaWYgKGkgPCBoLT5yZWN0c1tjbHV0X2lkXS0+bmJfY29sb3JzKSB7Cj4+ ICsgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCB4PSAoKHVpbnQzMl90KiloLT5yZWN0 c1tjbHV0X2lkXS0KPj4+IGRhdGFbMV0pW2ldOwo+PiArICAgICAgICAgICAgICAgICAgICAgICAg YSA9ICh4ID4+IDI0KSAmIDB4ZmY7Cj4+ICsgICAgICAgICAgICAgICAgICAgICAgICByID0gKHgg Pj4gMTYpICYgMHhmZjsKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgIGcgPSAoeCA+PiAgOCkg JiAweGZmOwo+PiArICAgICAgICAgICAgICAgICAgICAgICAgYiA9ICh4ID4+ICAwKSAmIDB4ZmY7 Cj4+ICsgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Cj4+ICsgICAgICAgICAgICAgICAgICAg ICAgICAvKiBwYWQgb3V0IHRoZSBDTFVUICovCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICBh ID0gMDsKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgIHIgPSAwOwo+PiArICAgICAgICAgICAg ICAgICAgICAgICAgZyA9IDA7Cj4+ICsgICAgICAgICAgICAgICAgICAgICAgICBiID0gMDsKPj4g KyAgICAgICAgICAgICAgICAgICAgfQo+PiAKPj4gICAgICAgICAgICAgICAgICAgICAqcSsrID0g UkdCX1RPX1lfQ0NJUihyLCBnLCBiKTsKPj4gICAgICAgICAgICAgICAgICAgICAqcSsrID0gUkdC X1RPX1ZfQ0NJUihyLCBnLCBiLCAwKTsKPj4gQEAgLTM3Myw3ICs0MDEsNyBAQCBzdGF0aWMgaW50 IGR2YnN1Yl9lbmNvZGUoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LAo+PiB1aW50OF90ICpvdXRidWYs IGludCBidWZfc2l6ZSwKPj4gICAgICAgICAgICAgfQo+PiAKPj4gICAgICAgICAgICAgYnl0ZXN0 cmVhbV9wdXRfYmUxNigmcHNlZ19sZW4sIHEgLSBwc2VnX2xlbiAtIDIpOwo+PiAtICAgICAgICAg ICAgYnVmX3NpemUgLT0gNiArIGgtPnJlY3RzW2NsdXRfaWRdLT5uYl9jb2xvcnMgKiA2Owo+PiAr ICAgICAgICAgICAgYnVmX3NpemUgLT0gNiArIG5iX2NvbG9ycyAqIDY7Cj4+ICAgICAgICAgfQo+ PiAKPj4gICAgICAgICBpZiAoYnVmX3NpemUgPCBoLT5udW1fcmVjdHMgKiAyMikKPj4gQEAgLTM4 MSwxNCArNDA5LDE3IEBAIHN0YXRpYyBpbnQgZHZic3ViX2VuY29kZShBVkNvZGVjQ29udGV4dCAq YXZjdHgsCj4+IHVpbnQ4X3QgKm91dGJ1ZiwgaW50IGJ1Zl9zaXplLAo+PiAgICAgICAgIGZvciAo cmVnaW9uX2lkID0gMDsgcmVnaW9uX2lkIDwgaC0+bnVtX3JlY3RzOyByZWdpb25faWQrKykgewo+ PiAKPj4gICAgICAgICAgICAgLyogcmVnaW9uIGNvbXBvc2l0aW9uIHNlZ21lbnQgKi8KPj4gKyAg ICAgICAgICAgIGludCBuYl9jb2xvcnMgPSBzLT5taW5fY29sb3JzID4gaC0+cmVjdHNbcmVnaW9u X2lkXS0KPj4+IG5iX2NvbG9ycwo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gcy0+ bWluX2NvbG9ycwo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaC0+cmVjdHNbcmVn aW9uX2lkXS0+bmJfY29sb3JzOwo+PiAKPj4gLSAgICAgICAgICAgIGlmIChoLT5yZWN0c1tyZWdp b25faWRdLT5uYl9jb2xvcnMgPD0gNCkgewo+PiArICAgICAgICAgICAgaWYgKG5iX2NvbG9ycyA8 PSA0KSB7Cj4+ICAgICAgICAgICAgICAgICAvKiAyIGJwcCwgc29tZSBkZWNvZGVycyBkbyBub3Qg c3VwcG9ydCBpdCBjb3JyZWN0bHkgKi8KPj4gICAgICAgICAgICAgICAgIGJwcF9pbmRleCA9IDA7 Cj4+IC0gICAgICAgICAgICB9IGVsc2UgaWYgKGgtPnJlY3RzW3JlZ2lvbl9pZF0tPm5iX2NvbG9y cyA8PSAxNikgewo+PiArICAgICAgICAgICAgfSBlbHNlIGlmIChuYl9jb2xvcnMgPD0gMTYpIHsK Pj4gICAgICAgICAgICAgICAgIC8qIDQgYnBwLCBzdGFuZGFyZCBlbmNvZGluZyAqLwo+PiAgICAg ICAgICAgICAgICAgYnBwX2luZGV4ID0gMTsKPj4gLSAgICAgICAgICAgIH0gZWxzZSBpZiAoaC0+ cmVjdHNbcmVnaW9uX2lkXS0+bmJfY29sb3JzIDw9IDI1Nikgewo+PiArICAgICAgICAgICAgfSBl bHNlIGlmIChuYl9jb2xvcnMgPD0gMjU2KSB7Cj4+ICAgICAgICAgICAgICAgICAvKiA4IGJwcCwg c3RhbmRhcmQgZW5jb2RpbmcgKi8KPj4gICAgICAgICAgICAgICAgIGJwcF9pbmRleCA9IDI7Cj4+ ICAgICAgICAgICAgIH0gZWxzZSB7Cj4+IEBAIC00MjQsMTcgKzQ1NSwyMSBAQCBzdGF0aWMgaW50 IGR2YnN1Yl9lbmNvZGUoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LAo+PiB1aW50OF90ICpvdXRidWYs IGludCBidWZfc2l6ZSwKPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IHVpbnQ4X3QgKmJpdG1hcCwgaW50IGxpbmVzaXplLAo+PiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgaW50IHcsIGludCBoKTsKPj4gCj4+ICsgICAgICAgICAgICBpbnQgbmJfY29s b3JzID0gcy0+bWluX2NvbG9ycyA+IGgtPnJlY3RzW29iamVjdF9pZF0tCj4+PiBuYl9jb2xvcnMK Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBzLT5taW5fY29sb3JzCj4+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaC0+cmVjdHNbb2JqZWN0X2lkXS0+bmJf Y29sb3JzOwo+PiArCj4+ICAgICAgICAgICAgIGlmIChidWZfc2l6ZSA8IDEzKQo+PiAgICAgICAg ICAgICAgICAgcmV0dXJuIEFWRVJST1JfQlVGRkVSX1RPT19TTUFMTDsKPj4gCj4+ICAgICAgICAg ICAgIC8qIGJwcF9pbmRleCBtYXRocyAqLwo+PiAtICAgICAgICAgICAgaWYgKGgtPnJlY3RzW29i amVjdF9pZF0tPm5iX2NvbG9ycyA8PSA0KSB7Cj4+ICsgICAgICAgICAgICBpZiAobmJfY29sb3Jz IDw9IDQpIHsKPj4gICAgICAgICAgICAgICAgIC8qIDIgYnBwLCBzb21lIGRlY29kZXJzIGRvIG5v dCBzdXBwb3J0IGl0IGNvcnJlY3RseSAqLwo+PiAgICAgICAgICAgICAgICAgZHZiX2VuY29kZV9y bGUgPSBkdmJfZW5jb2RlX3JsZTI7Cj4+IC0gICAgICAgICAgICB9IGVsc2UgaWYgKGgtPnJlY3Rz W29iamVjdF9pZF0tPm5iX2NvbG9ycyA8PSAxNikgewo+PiArICAgICAgICAgICAgfSBlbHNlIGlm IChuYl9jb2xvcnMgPD0gMTYpIHsKPj4gICAgICAgICAgICAgICAgIC8qIDQgYnBwLCBzdGFuZGFy ZCBlbmNvZGluZyAqLwo+PiAgICAgICAgICAgICAgICAgZHZiX2VuY29kZV9ybGUgPSBkdmJfZW5j b2RlX3JsZTQ7Cj4+IC0gICAgICAgICAgICB9IGVsc2UgaWYgKGgtPnJlY3RzW29iamVjdF9pZF0t Pm5iX2NvbG9ycyA8PSAyNTYpIHsKPj4gKyAgICAgICAgICAgIH0gZWxzZSBpZiAobmJfY29sb3Jz IDw9IDI1Nikgewo+PiAgICAgICAgICAgICAgICAgLyogOCBicHAsIHN0YW5kYXJkIGVuY29kaW5n ICovCj4+ICAgICAgICAgICAgICAgICBkdmJfZW5jb2RlX3JsZSA9IGR2Yl9lbmNvZGVfcmxlODsK Pj4gICAgICAgICAgICAgfSBlbHNlIHsKPj4gQEAgLTUwNiw2ICs1NDEsMjAgQEAgc3RhdGljIGlu dCBkdmJzdWJfZW5jb2RlKEFWQ29kZWNDb250ZXh0ICphdmN0eCwKPj4gdWludDhfdCAqb3V0YnVm LCBpbnQgYnVmX3NpemUsCj4+ICAgICByZXR1cm4gcSAtIG91dGJ1ZjsKPj4gfQo+PiAKPj4gKyNk ZWZpbmUgT0ZGU0VUKHgpIG9mZnNldG9mKERWQlN1YnRpdGxlQ29udGV4dCwgeCkKPj4gKyNkZWZp bmUgU0UgQVZfT1BUX0ZMQUdfU1VCVElUTEVfUEFSQU0gfCBBVl9PUFRfRkxBR19FTkNPRElOR19Q QVJBTQo+PiArc3RhdGljIGNvbnN0IEFWT3B0aW9uIG9wdGlvbnNbXSA9IHsKPj4gKyAgICB7ImRp c2FibGVfMmJwcCIsICJkaXNhYmxlIHRoZSAyYnBwIHN1YnRpdGxlIGVuY29kZXIiLAo+PiBPRkZT RVQoZGlzYWJsZV8yYnBwKSwgQVZfT1BUX1RZUEVfQk9PTCwgey5pNjQgPSAwfSwgMCwgMSwgU0V9 LAo+PiArICAgIHsgTlVMTCB9LAo+PiArfTsKPj4gKwo+PiArc3RhdGljIGNvbnN0IEFWQ2xhc3Mg ZHZic3ViZW5jX2NsYXNzID0gewo+PiArICAgIC5jbGFzc19uYW1lID0gIkRWQlNVQiBzdWJ0aXRs ZSBlbmNvZGVyIiwKPj4gKyAgICAuaXRlbV9uYW1lICA9IGF2X2RlZmF1bHRfaXRlbV9uYW1lLAo+ PiArICAgIC5vcHRpb24gICAgID0gb3B0aW9ucywKPj4gKyAgICAudmVyc2lvbiAgICA9IExJQkFW VVRJTF9WRVJTSU9OX0lOVCwKPj4gK307Cj4+ICsKPj4gY29uc3QgRkZDb2RlYyBmZl9kdmJzdWJf ZW5jb2RlciA9IHsKPj4gICAgIC5wLm5hbWUgICAgICAgICA9ICJkdmJzdWIiLAo+PiAgICAgQ09E RUNfTE9OR19OQU1FKCJEVkIgc3VidGl0bGVzIiksCj4+IEBAIC01MTMsNCArNTYyLDYgQEAgY29u c3QgRkZDb2RlYyBmZl9kdmJzdWJfZW5jb2RlciA9IHsKPj4gICAgIC5wLmlkICAgICAgICAgICA9 IEFWX0NPREVDX0lEX0RWQl9TVUJUSVRMRSwKPj4gICAgIC5wcml2X2RhdGFfc2l6ZSA9IHNpemVv ZihEVkJTdWJ0aXRsZUNvbnRleHQpLAo+PiAgICAgRkZfQ09ERUNfRU5DT0RFX1NVQl9DQihkdmJz dWJfZW5jb2RlKSwKPj4gKyAgICAuaW5pdCAgICAgICAgICAgPSBkdmJzdWJfaW5pdCwKPj4gKyAg ICAucC5wcml2X2NsYXNzICAgPSAmZHZic3ViZW5jX2NsYXNzLAo+PiB9Owo+PiAtLQo+IAo+IAo+ IEhpIFJvbmFuLAo+IAo+IHRoYW5rcyBmb3IgeW91ciBwYXRjaCwgaXQgTEdUTS4KPiAKPiBUaGlz IHdhcyByaW5naW5nIHNvbWUgYmVsbCwgSSBkaWRuJ3QgaW1tZWRpYXRlbHkga25vdyB3aGF0IGl0 IHdhcywgYnV0IG5vdyBJIHJlbWVtYmVyIHRoYXQgd2UgaGFkIGVuY291bnRlcmVkIHRoZSAyYnBw IGluY29tcGF0aWJpbGl0eSB3aXRoIGNlcnRhaW4gZGVjb2RlcnMgd2hlbiBpbXBsZW1lbnRpbmcg dGhlIHRleHQyZ3JhcGhpY3N1YiBmaWx0ZXIgKGRlbW8gaGVyZTogaHR0cHM6Ly9naXRodWIuY29t L3NvZnR3b3Jrei9TdWJ0aXRsZUZpbHRlcmluZ0RlbW9zL3RyZWUvbWFzdGVyL0RlbW8xKSwgYW5k IHNvIHdlIGNob3NlIHRvIHVzZSBhIGRlZmF1bHQgb2YgMTYgZm9yIHRoZSBvdXRwdXQgY29sb3Jz IG9mIHRoZSB0ZXh0MmdyYXBoaWNzdWIgZmlsdGVyIHRvIGF2b2lkIHRoYXQgc2l0dWF0aW9uOgo+ IAo+IGh0dHBzOi8vZ2l0aHViLmNvbS9zb2Z0d29ya3ovRkZtcGVnL2Jsb2IvYmIxMTc5ODk3NDc0 ZTIwOTY2ZDVjYjc3MjQ4NzdjYTY1MWZlMTNkOC9saWJhdmZpbHRlci9zZl90ZXh0MmdyYXBoaWNz dWIuYyNMNTg3LUw1ODgKPiAKPiAKPiBJbiB0aGUgbGlnaHQgb2YgdGhlc2UgZXhwZXJpZW5jZXMs IEkgd291bGQgcHJvcG9zZSB0byBnbyBldmVuIG9uZSBzdGVwIGZ1cnRoZXIgYW5kIG1ha2UgNGJw cCB0aGUgZGVmYXVsdCBtaW5pbXVtLCBlaXRoZXIgYnkgc2V0dGluZyB0aGUgZGVmYXVsdCB2YWx1 ZSBvZiBkaXNhYmxlXzJicHAgdG8gMSAtIG9yIGJ5IHJlbmFtaW5nIGl0IHRvIGVuYWJsZV8yYnBw IHdpdGggYSBkZWZhdWx0IG9mIDAgYW5kIGEgZGVzY3JpcHRpb24gbGlrZSAiMmJwcCBpcyBub3Qg c3VwcG9ydGVkIGJ5IGFsbCBkZWNvZGVycy4gQnkgZGVmYXVsdCwgNGJwcCBpcyB1c2VkIGFzIHRo ZSBtaW5pbXVtLiBTZXQgdGhpcyB0byBlbmFibGUgMnBiYiBlbmNvZGluZy4iCj4gCj4gRGlkIHlv dSB0cnkgcnVubmluZyBGQVRFIHdoaWxlIGRpc2FibGVfMmJwcCBpcyBoYXJkY29kZWQgdG8gMT8g SWYgaXQgY2F1c2VzIGFueSB0ZXN0IGZhaWx1cmVzLCB0aGVuIHRoZSBGQVRFIHJlZmVyZW5jZSBy ZXN1bHRzIHdvdWxkIG5lZWQgdG8gYmUgYWRqdXN0ZWQgYWNjb3JkaW5nbHkuCj4gCj4gc3cKPiAK PiAKCnRoYW5rcyBmb3IgdGhlIGZlZWRiYWNrLCBBbmRyZWFzICYgc3cuIFY1IHN1Ym1pdHRlZCB3 aXRoIHlvdXIgc3VnZ2VzdGlvbnMgaW5jbHVkZWQuIEkndmUgcnVuIGl0IGFnYWluc3QgRkFURSBh bmQgY29tcGFyZWQgdGhlIG91dHB1dCB3aXRoIHByZXZpb3VzIHZlcnNpb25zIGFuZCBpdCBhbGwg bG9va3MgZ29vZC4KCkNoZWVycywKV2FpZGVyLgotLSAKUm9uYW4gV2FpZGUKd2FpZGVyQHdhaWRl ci5pZQoKCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K ZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRwczov L2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJl LCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcu b3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=