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 93F4B44114 for ; Fri, 28 Oct 2022 12:53:13 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 962EF68BCF6; Fri, 28 Oct 2022 15:53:11 +0300 (EEST) Received: from mail-oi1-f181.google.com (mail-oi1-f181.google.com [209.85.167.181]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D5EDF68BA6F for ; Fri, 28 Oct 2022 15:53:04 +0300 (EEST) Received: by mail-oi1-f181.google.com with SMTP id n83so6000107oif.11 for ; Fri, 28 Oct 2022 05:53:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=t1q6nf/U96ZVHeMuDhjtadUOVInHoOc4u65wUDJry+k=; b=QVvH+jmbiQODpl2wwY+dJq9WtfQ827Md2xDviNHGyPAw1i6yOijavZOjnZkdjsn4d+ I89+2/EroM03F+i32NemGGWfT8icc5uS9typWHvZ8ety8bO+Q93o0CLoelunMDDEXDKe LuXOPy7Mib2fk7Z3B/Ed6QIKjYSWdhWckexY3cWZKk7cChj39G5RAkb3eIYD9qyI9Kit NxdbObaFyFbZ2dtdbmUh9GA2qd+lOW9xiIyRAAHxykOaC7EM1RWIW7So5XiUzseHxRMB BSwIgvw7j2qY6w/gfcsI2d55TOwsCWELJqOJdvDLJ68gYZAVcXY72x4D7bxQoRZPjQ5l tFjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=t1q6nf/U96ZVHeMuDhjtadUOVInHoOc4u65wUDJry+k=; b=KE7h+2QNOj0s6e1p+lY2tgyjhv75PTvPOJsIKYXhmdrGAXOAAOUh0sH3l7ZdjKZdUs BEtkOPGzMBUCa6etkEdHXEcf/UeDOFod6zBugfQ6jvfDAer2BMnunmhuHVPWnUNtQum4 MtRs8lCzwrIxhCzHXKY27vAguxGNNzcA/9ItPbJeM6WMH8VMDg8ikaqQViU7v3kbs1yh xKrn+X4FR1TGASrq3RFlMjXqFoXNix5fNpNQHIQoVn4fI4zRMLAMRksJ0v9DHXBU9HlY 4uKuFmIC/+VxtrFs9vf4FHU+VB1RstQtKDpTuGra07Kn9gN4zn/9hq/CDnn+awRifcBo NVYw== X-Gm-Message-State: ACrzQf1ZuNAaTjy8BUagELJmn3RB/hvktXlG+5RWTLLqDquWTxKZj3uR JlMF7JcI0nRHpBrCeMkRhy20IuMbfsE= X-Google-Smtp-Source: AMsMyM6WHWZzbGEDnmDy3AQjyFR25cxl/A8fETIKljV20VTMvgLfefgGmexsyf8iNp5G5THR9f1CXw== X-Received: by 2002:a05:6808:14d5:b0:355:1b83:8464 with SMTP id f21-20020a05680814d500b003551b838464mr8171183oiw.206.1666961582801; Fri, 28 Oct 2022 05:53:02 -0700 (PDT) Received: from [192.168.0.13] ([191.97.187.183]) by smtp.gmail.com with ESMTPSA id j126-20020aca3c84000000b0035770fc6ca9sm1478822oia.16.2022.10.28.05.53.01 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 28 Oct 2022 05:53:02 -0700 (PDT) Message-ID: <602ecade-5b4b-21f5-c7c8-7f3e4797856b@gmail.com> Date: Fri, 28 Oct 2022 09:53:19 -0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.4.1 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20221028122140.1885-1-jamrial@gmail.com> <20221028122140.1885-3-jamrial@gmail.com> From: James Almer In-Reply-To: Subject: Re: [FFmpeg-devel] [PATCH 3/4 v2] avcodec/aacdec: add support for channel configuration 14 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: T24gMTAvMjgvMjAyMiA5OjUwIEFNLCBBbmRyZWFzIFJoZWluaGFyZHQgd3JvdGU6Cj4gSmFtZXMg QWxtZXI6Cj4+IE9uIDEwLzI4LzIwMjIgOTozMSBBTSwgQW5kcmVhcyBSaGVpbmhhcmR0IHdyb3Rl Ogo+Pj4gSmFtZXMgQWxtZXI6Cj4+Pj4gSXQgY29ycmVzcG9uZHMgdG8gdGhlIDcuMSh0b3ApIGxh eW91dC4KPj4+Pgo+Pj4+IFNpZ25lZC1vZmYtYnk6IEphbWVzIEFsbWVyIDxqYW1yaWFsQGdtYWls LmNvbT4KPj4+PiAtLS0KPj4+PiAgwqAgbGliYXZjb2RlYy9hYWNkZWNfdGVtcGxhdGUuYyB8IDIz ICsrKysrKysrKysrKysrKysrKysrKystCj4+Pj4gIMKgIGxpYmF2Y29kZWMvYWFjZGVjdGFiLmjC oMKgwqDCoMKgwqAgfMKgIDYgKysrLS0tCj4+Pj4gIMKgIGxpYmF2Y29kZWMvbXBlZzRhdWRpby5j wqDCoMKgwqDCoCB8wqAgNSArKystLQo+Pj4+ICDCoCBsaWJhdmNvZGVjL21wZWc0YXVkaW8uaMKg wqDCoMKgwqAgfMKgIDIgKy0KPj4+PiAgwqAgNCBmaWxlcyBjaGFuZ2VkLCAyOSBpbnNlcnRpb25z KCspLCA3IGRlbGV0aW9ucygtKQo+Pj4+Cj4+Pj4gZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvYWFj ZGVjX3RlbXBsYXRlLmMgYi9saWJhdmNvZGVjL2FhY2RlY190ZW1wbGF0ZS5jCj4+Pj4gaW5kZXgg YzEwYmM3NDNiNi4uNGI4ZTI5YmE3MSAxMDA2NDQKPj4+PiAtLS0gYS9saWJhdmNvZGVjL2FhY2Rl Y190ZW1wbGF0ZS5jCj4+Pj4gKysrIGIvbGliYXZjb2RlYy9hYWNkZWNfdGVtcGxhdGUuYwo+Pj4+ IEBAIC00MDQsNiArNDA0LDIxIEBAIHN0YXRpYyB1aW50NjRfdCBzbmlmZl9jaGFubmVsX29yZGVy KHVpbnQ4X3QKPj4+PiAoKmxheW91dF9tYXApWzNdLCBpbnQgdGFncykKPj4+PiAgwqDCoMKgwqDC oMKgwqDCoMKgIGkrKzsKPj4+PiAgwqDCoMKgwqDCoCB9Cj4+Pj4gIMKgICvCoMKgwqAgLy8gVGhl IHByZXZpb3VzIGNoZWNrcyB3b3VsZCBlbmQgdXAgYXQgNCBhdCB0aGlzIHBvaW50IGZvcgo+Pj4+ IGNoYW5fY29uZmlnIDE0Cj4+Pj4gK8KgwqDCoCBpZiAobGF5b3V0ID09IEFWX0NIX0xBWU9VVF81 UE9JTlQxICYmIHRhZ3MgPT0gNSAmJiBpID09IDQpIHsKPj4+PiArwqDCoMKgwqDCoMKgwqAgY29u c3QgdWludDhfdCAoKnJlZmVyZW5jZV9sYXlvdXRfbWFwKVszXSA9Cj4+Pj4gYWFjX2NoYW5uZWxf bGF5b3V0X21hcFsxM107Cj4+Pj4gK8KgwqDCoMKgwqDCoMKgIGZvciAoaW50IGogPSAwOyBqIDwg dGFnczsgaisrKSB7Cj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWYgKGxheW91dF9tYXBb al1bMF0gIT0gcmVmZXJlbmNlX2xheW91dF9tYXBbal1bMF0gfHwKPj4+PiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIGxheW91dF9tYXBbal1bMl0gIT0gcmVmZXJlbmNlX2xheW91dF9t YXBbal1bMl0pCj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBnb3RvIGVuZF9v Zl9sYXlvdXRfZGVmaW5pdGlvbjsKPj4+PiArwqDCoMKgwqDCoMKgwqAgfQo+Pj4+ICsKPj4+PiAr wqDCoMKgwqDCoMKgwqAgaSArPSBhc3NpZ25fcGFpcihlMmNfdmVjLCBsYXlvdXRfbWFwLCBpLAo+ Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgQVZf Q0hfVE9QX0ZST05UX0xFRlQsCj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBBVl9DSF9UT1BfRlJPTlRfUklHSFQsCj4+Pj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBBQUNfQ0hBTk5FTF9GUk9OVCwK Pj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICZs YXlvdXQpOwo+Pj4+ICvCoMKgwqAgfQo+Pj4+ICDCoMKgwqDCoMKgIC8vIFRoZSBwcmV2aW91cyBj aGVja3Mgd291bGQgZW5kIHVwIGF0IDggYXQgdGhpcyBwb2ludCBmb3IgMjIuMgo+Pj4+ICDCoMKg wqDCoMKgIGlmIChsYXlvdXQgPT0gUFJFRklYX0ZPUl8yMlBPSU5UMiAmJiB0YWdzID09IDE2ICYm IGkgPT0gOCkgewo+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqAgY29uc3QgdWludDhfdCAoKnJlZmVy ZW5jZV9sYXlvdXRfbWFwKVszXSA9Cj4+Pj4gYWFjX2NoYW5uZWxfbGF5b3V0X21hcFsxMl07Cj4+ Pj4gQEAgLTYzMyw3ICs2NDgsNyBAQCBzdGF0aWMgaW50IHNldF9kZWZhdWx0X2NoYW5uZWxfY29u ZmlnKEFBQ0NvbnRleHQKPj4+PiAqYWMsIEFWQ29kZWNDb250ZXh0ICphdmN0eCwKPj4+PiAgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIGludCBjaGFubmVsX2NvbmZpZykKPj4+PiAgwqAgewo+Pj4+ICDC oMKgwqDCoMKgIGlmIChjaGFubmVsX2NvbmZpZyA8IDEgfHwgKGNoYW5uZWxfY29uZmlnID4gNyAm JiBjaGFubmVsX2NvbmZpZwo+Pj4+IDwgMTEpIHx8Cj4+Pj4gLcKgwqDCoMKgwqDCoMKgIGNoYW5u ZWxfY29uZmlnID4gMTMpIHsKPj4+PiArwqDCoMKgwqDCoMKgwqAgY2hhbm5lbF9jb25maWcgPiAx NCkgewo+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqAgYXZfbG9nKGF2Y3R4LCBBVl9MT0dfRVJST1Is Cj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICJpbnZhbGlkIGRlZmF1bHQg Y2hhbm5lbCBjb25maWd1cmF0aW9uICglZClcbiIsCj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIGNoYW5uZWxfY29uZmlnKTsKPj4+PiBAQCAtNzE3LDYgKzczMiwxMiBAQCBz dGF0aWMgQ2hhbm5lbEVsZW1lbnQgKmdldF9jaGUoQUFDQ29udGV4dCAqYWMsCj4+Pj4gaW50IHR5 cGUsIGludCBlbGVtX2lkKQo+Pj4+ICDCoMKgwqDCoMKgIC8qIEZvciBpbmRleGVkIGNoYW5uZWwg Y29uZmlndXJhdGlvbnMgbWFwIHRoZSBjaGFubmVscyBzb2xlbHkKPj4+PiBiYXNlZAo+Pj4+ICDC oMKgwqDCoMKgwqAgKiBvbiBwb3NpdGlvbi4gKi8KPj4+PiAgwqDCoMKgwqDCoCBzd2l0Y2ggKGFj LT5vY1sxXS5tNGFjLmNoYW5fY29uZmlnKSB7Cj4+Pj4gK8KgwqDCoCBjYXNlIDE0Ogo+Pj4+ICvC oMKgwqDCoMKgwqDCoCBpZiAoYWMtPnRhZ3NfbWFwcGVkID4gMiAmJiAoKHR5cGUgPT0gVFlQRV9D UEUgJiYgZWxlbV9pZCA8Cj4+Pj4gMykgfHwKPj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAodHlwZSA9PSBU WVBFX0xGRSAmJiBlbGVtX2lkIDwKPj4+PiAxKSkpIHsKPj4+PiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBhYy0+dGFnc19tYXBwZWQrKzsKPj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1 cm4gYWMtPnRhZ19jaGVfbWFwW3R5cGVdW2VsZW1faWRdID0KPj4+PiBhYy0+Y2hlW3R5cGVdW2Vs ZW1faWRdOwo+Pj4+ICvCoMKgwqDCoMKgwqDCoCB9Cj4+Pj4gIMKgwqDCoMKgwqAgY2FzZSAxMzoK Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoMKgIGlmIChhYy0+dGFnc19tYXBwZWQgPiAzICYmICgodHlw ZSA9PSBUWVBFX0NQRSAmJiBlbGVtX2lkIDwKPj4+PiA4KSB8fAo+Pj4+ICDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCAodHlwZSA9PSBUWVBFX1NDRSAmJiBlbGVtX2lkIDwKPj4+PiA2KSB8fAo+Pj4+IGRpZmYg LS1naXQgYS9saWJhdmNvZGVjL2FhY2RlY3RhYi5oIGIvbGliYXZjb2RlYy9hYWNkZWN0YWIuaAo+ Pj4+IGluZGV4IGI4MjBmMTA1NTYuLmU5YmJkMWZlMTMgMTAwNjQ0Cj4+Pj4gLS0tIGEvbGliYXZj b2RlYy9hYWNkZWN0YWIuaAo+Pj4+ICsrKyBiL2xpYmF2Y29kZWMvYWFjZGVjdGFiLmgKPj4+PiBA QCAtNjgsOCArNjgsOCBAQCBzdGF0aWMgY29uc3QgdWludDhfdAo+Pj4+IGFhY19jaGFubmVsX2xh eW91dF9tYXBbMTZdWzE2XVszXSA9IHsKPj4+PiAgwqDCoMKgwqDCoMKgwqAgeyBUWVBFX1NDRSwg NSwgQUFDX0NIQU5ORUxfRlJPTlQgfSwgLy8gU0NFNiA9IEJ0RkMsCj4+Pj4gIMKgwqDCoMKgwqDC oMKgIHsgVFlQRV9DUEUsIDcsIEFBQ19DSEFOTkVMX0ZST05UIH0sIC8vIENQRTggPSBCdEZMIGFu ZCBCdEZSCj4+Pj4gIMKgwqDCoMKgwqAgfSwKPj4+PiArwqDCoMKgIHsgeyBUWVBFX1NDRSwgMCwg QUFDX0NIQU5ORUxfRlJPTlQgfSwgeyBUWVBFX0NQRSwgMCwKPj4+PiBBQUNfQ0hBTk5FTF9GUk9O VCB9LCB7IFRZUEVfQ1BFLCAxLCBBQUNfQ0hBTk5FTF9TSURFIH0sIHsgVFlQRV9MRkUsCj4+Pj4g MCwgQUFDX0NIQU5ORUxfTEZFIH0sIHsgVFlQRV9DUEUsIDIsIEFBQ19DSEFOTkVMX0ZST05UwqAg fSwgfSwKPj4+PiAgwqDCoMKgwqDCoCB7IHsgMCwgfSB9LAo+Pj4+IC3CoMKgwqAgLyogVE9ETzog QWRkIDcrMSBUT1AgY29uZmlndXJhdGlvbiAqLwo+Pj4+ICDCoCB9Owo+Pj4+ICDCoCDCoCAjaWYg RkZfQVBJX09MRF9DSEFOTkVMX0xBWU9VVAo+Pj4+IEBAIC04NCw4ICs4NCw4IEBAIHN0YXRpYyBj b25zdCB1aW50NjRfdCBhYWNfY2hhbm5lbF9sYXlvdXRbXSA9IHsKPj4+PiAgwqDCoMKgwqDCoCBB Vl9DSF9MQVlPVVRfNlBPSU5UMSwKPj4+PiAgwqDCoMKgwqDCoCBBVl9DSF9MQVlPVVRfN1BPSU5U MSwKPj4+PiAgwqDCoMKgwqDCoCBBVl9DSF9MQVlPVVRfMjJQT0lOVDIsCj4+Pj4gK8KgwqDCoCBB Vl9DSF9MQVlPVVRfN1BPSU5UMV9UT1AsCj4+Pj4gIMKgwqDCoMKgwqAgMCwKPj4+PiAtwqDCoMKg IC8qIEFWX0NIX0xBWU9VVF83UE9JTlQxX1RPUCwgKi8KPj4+PiAgwqAgfTsKPj4+PiAgwqAgI2Vu ZGlmCj4+Pj4gIMKgIEBAIC0xMDAsOCArMTAwLDggQEAgc3RhdGljIGNvbnN0IEFWQ2hhbm5lbExh eW91dCBhYWNfY2hfbGF5b3V0W10gPSB7Cj4+Pj4gIMKgwqDCoMKgwqAgQVZfQ0hBTk5FTF9MQVlP VVRfNlBPSU5UMSwKPj4+PiAgwqDCoMKgwqDCoCBBVl9DSEFOTkVMX0xBWU9VVF83UE9JTlQxLAo+ Pj4+ICDCoMKgwqDCoMKgIEFWX0NIQU5ORUxfTEFZT1VUXzIyUE9JTlQyLAo+Pj4+ICvCoMKgwqAg QVZfQ0hBTk5FTF9MQVlPVVRfN1BPSU5UMV9UT1AsCj4+Pj4gIMKgwqDCoMKgwqAgeyAwIH0sCj4+ Pj4gLcKgwqDCoCAvKiBBVl9DSEFOTkVMX0xBWU9VVF83UE9JTlQxX1RPUCwgKi8KPj4+PiAgwqAg fTsKPj4+PiAgwqAgwqAgI2VuZGlmIC8qIEFWQ09ERUNfQUFDREVDVEFCX0ggKi8KPj4+PiBkaWZm IC0tZ2l0IGEvbGliYXZjb2RlYy9tcGVnNGF1ZGlvLmMgYi9saWJhdmNvZGVjL21wZWc0YXVkaW8u Ywo+Pj4+IGluZGV4IGUzOGE4YzA4NTIuLjRhOTk2NDExZDEgMTAwNjQ0Cj4+Pj4gLS0tIGEvbGli YXZjb2RlYy9tcGVnNGF1ZGlvLmMKPj4+PiArKysgYi9saWJhdmNvZGVjL21wZWc0YXVkaW8uYwo+ Pj4+IEBAIC01Niw3ICs1Niw3IEBAIHN0YXRpYyBpbnQgcGFyc2VfY29uZmlnX0FMUyhHZXRCaXRD b250ZXh0ICpnYiwKPj4+PiBNUEVHNEF1ZGlvQ29uZmlnICpjLCB2b2lkICpsb2djdHgKPj4+PiAg wqDCoMKgwqDCoCByZXR1cm4gMDsKPj4+PiAgwqAgfQo+Pj4+ICDCoCAtY29uc3QgdWludDhfdCBm Zl9tcGVnNGF1ZGlvX2NoYW5uZWxzWzE0XSA9IHsKPj4+PiArY29uc3QgdWludDhfdCBmZl9tcGVn NGF1ZGlvX2NoYW5uZWxzWzE1XSA9IHsKPj4+PiAgwqDCoMKgwqDCoCAwLAo+Pj4+ICDCoMKgwqDC oMKgIDEsIC8vIG1vbm8gKDEvMCkKPj4+PiAgwqDCoMKgwqDCoCAyLCAvLyBzdGVyZW8gKDIvMCkK Pj4+PiBAQCAtNzAsNyArNzAsOCBAQCBjb25zdCB1aW50OF90IGZmX21wZWc0YXVkaW9fY2hhbm5l bHNbMTRdID0gewo+Pj4+ICDCoMKgwqDCoMKgIDAsCj4+Pj4gIMKgwqDCoMKgwqAgNywgLy8gMy8z LjEKPj4+PiAgwqDCoMKgwqDCoCA4LCAvLyAzLzIvMi4xCj4+Pj4gLcKgwqDCoCAyNCAvLyAzLzMv MyAtIDUvMi8zIC0gMy8wLzAuMgo+Pj4+ICvCoMKgwqAgMjQsIC8vIDMvMy8zIC0gNS8yLzMgLSAz LzAvMC4yCj4+Pj4gK8KgwqDCoCA4IC8vIDMvMi4xIC0gMi8wCj4+Pgo+Pj4gSXMgaXQgZ3VhcmFu dGVlZCB0aGF0IDggd2lsbCBhbHdheXMgYmUgdGhlIGxhc3QgZWxlbWVudCBvZiB0aGlzIGFycmF5 Pwo+Pj4gSWYgbm90LCB5b3Ugc2hvdWxkIHVzZSAiOCwiLCBzbyB0aGF0IHRoZSBjb21tYSB3b24n dCBoYXZlIHRvIGJlIGFkZGVkCj4+PiB3aGVuIHNvbWVvbmUgbWFrZXMgYW4gYWRkaXRpb24gaW4g dGhlIGZ1dHVyZS4KPj4KPj4gV2hhdCBkb2VzIHRoZSBwZWRhbnRpYyBnY2Mgb3B0aW9uIHNheSBh Ym91dCB0aGlzPyBJIHJlY2FsbCBpdCBjb21wbGFpbmVkCj4+IGFib3V0IGVpdGhlciBoYXZpbmcg b3IgbWlzc2luZyB0aGUgY29tbWEgaW4gdGhlIGxhc3QgZWxlbWVudCwgc28gZ2l2ZW4KPj4gdGhh dCBpdCBtYWtlcyBubyByZWFsIGRpZmZlcmVuY2UgSSdkIGdvIHdpdGggd2hhdGV2ZXIga2VlcHMg aXQgcXVpZXQuCj4+Cj4gCj4gWW91IGFyZSBjb25mdXNpbmcgdGhpcyB3aXRoIGVudW0gZGVjbGFy YXRpb25zOiBJbiBDOTAsIGEgdHJhaWxpbmcgY29tbWEKPiB3YXMgbm90IGFsbG93ZWQgaW4gdGhl aXIgZGVjbGFyYXRpb247IEM5OSBsaWZ0ZWQgdGhpcyByZXN0cmljdGlvbiAod2UKPiBoYXZlIGVu dW1zIHRoYXQgbWFrZSB1c2Ugb2YgdGhpcykuIEJ1dCB0cmFpbGluZyBjb21tYXMgd2VyZSBhbHdh eXMKPiBhbGxvd2VkIGluIGluaXRpYWxpemVycy4KPiAKPiAtIEFuZHJlYXMKPiAKPiBQUzogRG8g eW91IHVzZSAtcGVkYW50aWM/CgpObywgYnV0IGkgcmVtZW1iZXIgc29tZW9uZSBzdGFydGVkIGNv bnRyaWJ1dGluZyBwYXRjaGVzIGxvbmcgYWdvIHRvIApzaWxlbmNlIC1wZWRhbnRpYyB3YXJuaW5n cywgc28gbWlnaHQgYXMgd2VsbCBub3QgaW50cm9kdWNlIG5ldyBvbmVzLgoKV2lsbCBhZGQgdGhl IGNvbW1hIHRoZW4uCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QKZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKaHR0 cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVsCgpUbyB1bnN1YnNj cmliZSwgdmlzaXQgbGluayBhYm92ZSwgb3IgZW1haWwKZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZt cGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4K