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 C0BB74B8B6 for ; Tue, 18 Jun 2024 09:17:20 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 88D2D68D757; Tue, 18 Jun 2024 12:17:16 +0300 (EEST) Received: from mail-lf1-f49.google.com (mail-lf1-f49.google.com [209.85.167.49]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id EDFD368D4C1 for ; Tue, 18 Jun 2024 12:17:10 +0300 (EEST) Received: by mail-lf1-f49.google.com with SMTP id 2adb3069b0e04-52cc148159dso1143726e87.0 for ; Tue, 18 Jun 2024 02:17:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718702229; x=1719307029; darn=ffmpeg.org; h=references:to:cc:in-reply-to:date:subject:mime-version:message-id :from:from:to:cc:subject:date:message-id:reply-to; bh=qGXbeWA5TmWVp7PGub4lZeXyiDzTSVG2dMkybWMH1BM=; b=iXVyEJ8UaKkE+/OQBO7c/uWAJbpxYOjmeLlUdE2tBSLjnCAsJlXCddcOwdwxvnT0IT FI7a9Uhgzn1Q9VzZyFiZWqEIQgGCuTjCqT7rkCNJWLi2Js/hLP+CuK9C/JN7WPq2kY0H DPcQQ7ugxbySevvoECJc0uB8psFYqPdPRKSqThi5BAJm/HERgukGpN8oMNqMe3YGaI1q iOeyVPnDsTxswO0TH/ZKtRfH9WHA5NJSAUPJtoi1DOFhi+Ul/rF7mYnoPjF5IerhYnhi PTysGYjGJLeU47G/jJDCngzOt8RAi83whh5vZRDiXr/9WUWvXfsOF2dC5KkxG5Mx8fgC C0/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718702229; x=1719307029; h=references:to:cc:in-reply-to:date:subject:mime-version:message-id :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=qGXbeWA5TmWVp7PGub4lZeXyiDzTSVG2dMkybWMH1BM=; b=C8gGonS/JYCjKBx82Z7VnttUdWQizOv9FTSIgozv7hIlowVw0FrdJA50sgHy+80VED tVgKXfX5JS9aR+7lPeJ0DzaWIssSmpZPEferLA/Y0zHxVj7TYDbWcEvbX7stdZ5x7GdO Xnq5XuZAx0SwTj+0xAyGHCX4OmlcR4IBeQ3Grt8w1b7EbBZ5kHsEApSU8b/qjMbpc6fT vTMITLRCIJ67aeKpOfItwIu1XOmYP61A2Uyvvz8XzIRvhcFJy/6d19sizebn+B40vHnp phQsn24WKk2v3cj2UYWvULWaFiHjLIA+icCX+3Lgvc4Hr6V1HMxFPWe16VQ2M6wgOW5c UUAQ== X-Gm-Message-State: AOJu0Yx06JlnGHsUN55balixGlUZNJngi/KFNAXCq8M57Y7btSFtMJN5 f/siiy95hgAfUrHQzMEgqTPqb/WQnV8qJXeMBzXvfTCGgRP+hUcWN2kACA== X-Google-Smtp-Source: AGHT+IGGX4R2dnsvmM97VBKplnVsfAGOG45s4AwPS3LppNMj9YRSalgW8SGRNjSXg8qqFZ0/CuWBNQ== X-Received: by 2002:a05:6512:e9f:b0:52c:bc50:ff35 with SMTP id 2adb3069b0e04-52cbc5102c0mr4598419e87.57.1718702228829; Tue, 18 Jun 2024 02:17:08 -0700 (PDT) Received: from smtpclient.apple ([94.235.234.24]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-422f5f33c38sm184834375e9.9.2024.06.18.02.17.06 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 18 Jun 2024 02:17:08 -0700 (PDT) From: Yigithan Yigit Message-Id: <39556A1B-2031-47E9-9E87-4D40C0FC74A5@gmail.com> Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.100.2.1.4\)) Date: Tue, 18 Jun 2024 12:16:55 +0300 In-Reply-To: <92092055-E0A7-45C5-A479-E43D41DF2BE6@remlab.net> To: FFmpeg development discussions and patches References: <20240617111812.84575-1-yigithanyigitdevel@gmail.com> <20240617111812.84575-3-yigithanyigitdevel@gmail.com> <92092055-E0A7-45C5-A479-E43D41DF2BE6@remlab.net> X-Mailer: Apple Mail (2.3774.100.2.1.4) X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH 2/3] avfilter/af_volumedetect.c: Add 32bit float audio 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: Thilo Borgmann 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+IE9uIEp1biAxNywgMjAyNCwgYXQgNTo1MuKAr1BNLCBSw6ltaSBEZW5pcy1Db3VybW9udCA8 cmVtaUByZW1sYWIubmV0PiB3cm90ZToKPiAKPiAKPiAKPiBMZSAxNyBqdWluIDIwMjQgMTM6MTg6 MTEgR01UKzAyOjAwLCBZaWdpdGhhbiBZaWdpdCA8eWlnaXRoYW55aWdpdGRldmVsQGdtYWlsLmNv bSA8bWFpbHRvOnlpZ2l0aGFueWlnaXRkZXZlbEBnbWFpbC5jb20+PiBhIMOpY3JpdCA6Cj4+IC0t LQo+PiBsaWJhdmZpbHRlci9hZl92b2x1bWVkZXRlY3QuYyB8IDE1OSArKysrKysrKysrKysrKysr KysrKysrKysrKysrLS0tLS0tCj4+IDEgZmlsZSBjaGFuZ2VkLCAxMzMgaW5zZXJ0aW9ucygrKSwg MjYgZGVsZXRpb25zKC0pCj4+IAo+PiBkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIvYWZfdm9sdW1l ZGV0ZWN0LmMgYi9saWJhdmZpbHRlci9hZl92b2x1bWVkZXRlY3QuYwo+PiBpbmRleCAzMjc4MDFh N2Y5Li5kYmJjZDAzN2E1IDEwMDY0NAo+PiAtLS0gYS9saWJhdmZpbHRlci9hZl92b2x1bWVkZXRl Y3QuYwo+PiArKysgYi9saWJhdmZpbHRlci9hZl92b2x1bWVkZXRlY3QuYwo+PiBAQCAtMjAsMjcg KzIwLDUxIEBACj4+IAo+PiAjaW5jbHVkZSAibGliYXZ1dGlsL2NoYW5uZWxfbGF5b3V0LmgiCj4+ ICNpbmNsdWRlICJsaWJhdnV0aWwvYXZhc3NlcnQuaCIKPj4gKyNpbmNsdWRlICJsaWJhdnV0aWwv bWVtLmgiCj4+ICNpbmNsdWRlICJhdWRpby5oIgo+PiAjaW5jbHVkZSAiYXZmaWx0ZXIuaCIKPj4g I2luY2x1ZGUgImludGVybmFsLmgiCj4+IAo+PiArI2RlZmluZSBNQVhfREJfRkxUIDEwMjQKPj4g I2RlZmluZSBNQVhfREIgOTEKPj4gKyNkZWZpbmUgSElTVE9HUkFNX1NJWkUgMHgxMDAwMAo+PiAr I2RlZmluZSBISVNUT0dSQU1fU0laRV9GTFQgKE1BWF9EQl9GTFQqMikKPj4gCj4+IHR5cGVkZWYg c3RydWN0IFZvbERldGVjdENvbnRleHQgewo+PiAtICAgIC8qKgo+PiAtICAgICAqIE51bWJlciBv ZiBzYW1wbGVzIGF0IGVhY2ggUENNIHZhbHVlLgo+PiAtICAgICAqIGhpc3RvZ3JhbVsweDgwMDAg KyBpXSBpcyB0aGUgbnVtYmVyIG9mIHNhbXBsZXMgYXQgdmFsdWUgaS4KPj4gLSAgICAgKiBUaGUg ZXh0cmEgZWxlbWVudCBpcyB0aGVyZSBmb3Igc3ltbWV0cnkuCj4+IC0gICAgICovCj4+IC0gICAg dWludDY0X3QgaGlzdG9ncmFtWzB4MTAwMDFdOwo+PiArICAgIHVpbnQ2NF90KiBoaXN0b2dyYW07 IC8vLzwgZm9yIGludGVnZXIgbnVtYmVyIG9mIHNhbXBsZXMgYXQgZWFjaCBQQ00gdmFsdWUsIGZv ciBmbG9hdCBudW1iZXIgb2Ygc2FtcGxlcyBhdCBlYWNoIGRCCj4+ICsgICAgdWludDY0X3QgbmJf c2FtcGxlczsgLy8vPCBudW1iZXIgb2Ygc2FtcGxlcwo+PiArICAgIGRvdWJsZSBzdW0yOyAgICAg ICAgIC8vLzwgc3VtIG9mIHRoZSBzcXVhcmVzIG9mIHRoZSBzYW1wbGVzCj4+ICsgICAgZG91Ymxl IG1heDsgICAgICAgICAgLy8vPCBtYXhpbXVtIHNhbXBsZSB2YWx1ZQo+PiArICAgIGludCBpc19m bG9hdDsgICAgICAgIC8vLzwgdHJ1ZSBpZiB0aGUgaW5wdXQgaXMgaW4gZmxvYXRpbmcgcG9pbnQK Pj4gfSBWb2xEZXRlY3RDb250ZXh0Owo+PiAKPj4gLXN0YXRpYyBpbmxpbmUgZG91YmxlIGxvZ2Ri KHVpbnQ2NF90IHYpCj4+ICtzdGF0aWMgaW5saW5lIGRvdWJsZSBsb2dkYihkb3VibGUgdiwgZW51 bSBBVlNhbXBsZUZvcm1hdCBzYW1wbGVfZm10KQo+PiB7Cj4+IC0gICAgZG91YmxlIGQgPSB2IC8g KGRvdWJsZSkoMHg4MDAwICogMHg4MDAwKTsKPj4gLSAgICBpZiAoIXYpCj4+IC0gICAgICAgIHJl dHVybiBNQVhfREI7Cj4+IC0gICAgcmV0dXJuIC1sb2cxMChkKSAqIDEwOwo+PiArICAgIGlmIChz YW1wbGVfZm10ID09IEFWX1NBTVBMRV9GTVRfRkxUKSB7Cj4+ICsgICAgICAgIGlmICghdikKPj4g KyAgICAgICAgICAgIHJldHVybiBNQVhfREJfRkxUOwo+PiArICAgICAgICByZXR1cm4gLWxvZzEw KHYpICogMTA7Cj4+ICsgICAgfSBlbHNlIHsKPj4gKyAgICAgICAgZG91YmxlIGQgPSB2IC8gKGRv dWJsZSkoMHg4MDAwICogMHg4MDAwKTsKPj4gKyAgICAgICAgaWYgKCF2KQo+PiArICAgICAgICAg ICAgcmV0dXJuIE1BWF9EQjsKPj4gKyAgICAgICAgcmV0dXJuIC1sb2cxMChkKSAqIDEwOwo+PiAr ICAgIH0KPj4gK30KPj4gKwo+PiArc3RhdGljIHZvaWQgdXBkYXRlX2Zsb2F0X3N0YXRzKFZvbERl dGVjdENvbnRleHQgKnZkLCBmbG9hdCAqYXVkaW9fZGF0YSkKPj4gK3sKPj4gKyAgICBkb3VibGUg c2FtcGxlOwo+PiArICAgIGludCBpZHg7Cj4+ICsgICAgaWYoIWlzbm9ybWFsKCphdWRpb19kYXRh KSkKPj4gKyAgICAgICAgcmV0dXJuOwo+IAo+IERvIHdlIHJlYWxseSBuZWVkIHRvIGNsYXNzaWZ5 IGZsb2F0cyBoZXJlPyBUaGF0J3MgcHJvYmFibHkgZ29pbmcgdG8gaHVydCBwZXJmcyBiYWRseSwg YW5kIG1ha2VzIGFuIG90aGVyd2lzZSB2ZXJ5IHZlY3RvcmlzYWJsZSBmdW5jdGlvbiBub3Qgc28g ZWFzaWx5IHZlY3RvcmVkLgoKWW91IGNvdWxkIGJlIGNvcnJlY3QsIHdlIG1pZ2h0IGNvbnNpZGVy IGNoZWNraW5nIE5hTiwgSW5mKy8tIHZhbHVlcy4gT3RoZXJ3aXNlIHRoZXJlIGlzIGEgcmlzayBv ZiBhIGNyYXNoIGlmIHNvbWVvbmUgdXNlcyBzb21ldGhpbmcgbGlrZSB0aGlzIOKAnGFlbHZhbHNy Yz0zLjRlMznigJ0uCgo+IAo+PiArICAgIHNhbXBsZSA9IGZhYnNmKCphdWRpb19kYXRhKTsKPj4g KyAgICBpZiAoc2FtcGxlID4gdmQtPm1heCkKPj4gKyAgICAgICAgdmQtPm1heCA9IHNhbXBsZTsK Pj4gKyAgICB2ZC0+c3VtMiArPSBzYW1wbGUgKiBzYW1wbGU7Cj4+ICsgICAgaWR4ID0gbHJpbnRm KGZsb29yZihsb2dkYihzYW1wbGUgKiBzYW1wbGUsIEFWX1NBTVBMRV9GTVRfRkxUKSkpICsgTUFY X0RCX0ZMVDsKPiAKPiBZb3UncmUgcmVjb21wdXRpbmcgdGhlIHNhbWUgdmFsdWUgYWdhaW4sIGFu ZCB5b3Ugc2VlbSB0byBiZSByb3VuZGluZyB0d2ljZSBpbiBhIHJvdz8KCkkgbWlzc2VkLCBmaXhl ZC4KCj4gCj4+ICsgICAgdmQtPmhpc3RvZ3JhbVtpZHhdKys7Cj4+ICsgICAgdmQtPm5iX3NhbXBs ZXMrKzsKPj4gfQo+PiAKPj4gc3RhdGljIGludCBmaWx0ZXJfZnJhbWUoQVZGaWx0ZXJMaW5rICpp bmxpbmssIEFWRnJhbWUgKnNhbXBsZXMpCj4+IEBAIC01MSwxOCArNzUsNDEgQEAgc3RhdGljIGlu dCBmaWx0ZXJfZnJhbWUoQVZGaWx0ZXJMaW5rICppbmxpbmssIEFWRnJhbWUgKnNhbXBsZXMpCj4+ ICAgIGludCBuYl9jaGFubmVscyA9IHNhbXBsZXMtPmNoX2xheW91dC5uYl9jaGFubmVsczsKPj4g ICAgaW50IG5iX3BsYW5lcyAgID0gbmJfY2hhbm5lbHM7Cj4+ICAgIGludCBwbGFuZSwgaTsKPj4g LSAgICBpbnQxNl90ICpwY207Cj4+ICsgICAgaW50IHBsYW5hciA9IDA7Cj4+IAo+PiAtICAgIGlm ICghYXZfc2FtcGxlX2ZtdF9pc19wbGFuYXIoc2FtcGxlcy0+Zm9ybWF0KSkgewo+PiAtICAgICAg ICBuYl9zYW1wbGVzICo9IG5iX2NoYW5uZWxzOwo+PiArICAgIHBsYW5hciA9IGF2X3NhbXBsZV9m bXRfaXNfcGxhbmFyKHNhbXBsZXMtPmZvcm1hdCk7Cj4+ICsgICAgaWYgKCFwbGFuYXIpCj4+ICAg ICAgICBuYl9wbGFuZXMgPSAxOwo+PiArICAgIGlmICh2ZC0+aXNfZmxvYXQpIHsKPj4gKyAgICAg ICAgZmxvYXQgKmF1ZGlvX2RhdGE7Cj4+ICsgICAgICAgIGZvciAocGxhbmUgPSAwOyBwbGFuZSA8 IG5iX3BsYW5lczsgcGxhbmUrKykgewo+PiArICAgICAgICAgICAgYXVkaW9fZGF0YSA9IChmbG9h dCAqKXNhbXBsZXMtPmV4dGVuZGVkX2RhdGFbcGxhbmVdOwo+PiArICAgICAgICAgICAgZm9yIChp ID0gMDsgaSA8IG5iX3NhbXBsZXM7IGkrKykgewo+PiArICAgICAgICAgICAgICAgIGlmIChwbGFu YXIpIHsKPj4gKyAgICAgICAgICAgICAgICAgICAgdXBkYXRlX2Zsb2F0X3N0YXRzKHZkLCAmYXVk aW9fZGF0YVtpXSk7Cj4+ICsgICAgICAgICAgICAgICAgfSBlbHNlIHsKPj4gKyAgICAgICAgICAg ICAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCBuYl9jaGFubmVsczsgaisrKQo+PiArICAgICAg ICAgICAgICAgICAgICAgICAgdXBkYXRlX2Zsb2F0X3N0YXRzKHZkLCAmYXVkaW9fZGF0YVtpICog bmJfY2hhbm5lbHMgKyBqXSk7Cj4+ICsgICAgICAgICAgICAgICAgfQo+PiArICAgICAgICAgICAg fQo+PiArICAgICAgICB9Cj4+ICsgICAgfSBlbHNlIHsKPj4gKyAgICAgICAgaW50MTZfdCAqcGNt Owo+PiArICAgICAgICBmb3IgKHBsYW5lID0gMDsgcGxhbmUgPCBuYl9wbGFuZXM7IHBsYW5lKysp IHsKPj4gKyAgICAgICAgICAgIHBjbSA9IChpbnQxNl90ICopc2FtcGxlcy0+ZXh0ZW5kZWRfZGF0 YVtwbGFuZV07Cj4+ICsgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbmJfc2FtcGxlczsgaSsr KSB7Cj4+ICsgICAgICAgICAgICAgICAgaWYgKHBsYW5hcikgewo+PiArICAgICAgICAgICAgICAg ICAgICB2ZC0+aGlzdG9ncmFtW3BjbVtpXSArIDB4ODAwMF0rKzsKPj4gKyAgICAgICAgICAgICAg ICAgICAgdmQtPm5iX3NhbXBsZXMrKzsKPj4gKyAgICAgICAgICAgICAgICB9IGVsc2Ugewo+PiAr ICAgICAgICAgICAgICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IG5iX2NoYW5uZWxzOyBqKysp IHsKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgIHZkLT5oaXN0b2dyYW1bcGNtW2kgKiBuYl9j aGFubmVscyArIGpdICsgMHg4MDAwXSsrOwo+PiArICAgICAgICAgICAgICAgICAgICAgICAgdmQt Pm5iX3NhbXBsZXMrKzsKPj4gKyAgICAgICAgICAgICAgICAgICAgfQo+PiArICAgICAgICAgICAg ICAgIH0KPj4gKyAgICAgICAgICAgIH0KPj4gKyAgICAgICAgfQo+IAo+IENhbid0IHdlIHBpY2sg dGhlIGNvcnJlY3QgaW1wbGVtZW50YXRpb24gKHBsYW5hci9wYWNrZWQgYW5kIGZsb2F0L2ludCkg b25jZSBhbmQgZm9yIGFsbCB3aGlsc3QgY29uZmlndXJpbmcgdGhlIGZpbHRlcj8KCkFjdHVhbGx5 IHNvdW5kcyBnb29kLCBJIGFtIGdvaW5nIHRvIHRyeS4KVGhhbmtzIGZvciB0aGUgZmVlZGJhY2sh Cgo+IAo+PiAgICB9Cj4+IC0gICAgZm9yIChwbGFuZSA9IDA7IHBsYW5lIDwgbmJfcGxhbmVzOyBw bGFuZSsrKSB7Cj4+IC0gICAgICAgIHBjbSA9IChpbnQxNl90ICopc2FtcGxlcy0+ZXh0ZW5kZWRf ZGF0YVtwbGFuZV07Cj4+IC0gICAgICAgIGZvciAoaSA9IDA7IGkgPCBuYl9zYW1wbGVzOyBpKysp Cj4+IC0gICAgICAgICAgICB2ZC0+aGlzdG9ncmFtW3BjbVtpXSArIDB4ODAwMF0rKzsKPj4gLSAg ICB9Cj4+IC0KPj4gICAgcmV0dXJuIGZmX2ZpbHRlcl9mcmFtZShpbmxpbmstPmRzdC0+b3V0cHV0 c1swXSwgc2FtcGxlcyk7Cj4+IH0KPj4gCj4+IEBAIC03Myw2ICsxMjAsMjAgQEAgc3RhdGljIHZv aWQgcHJpbnRfc3RhdHMoQVZGaWx0ZXJDb250ZXh0ICpjdHgpCj4+ICAgIHVpbnQ2NF90IG5iX3Nh bXBsZXMgPSAwLCBwb3dlciA9IDAsIG5iX3NhbXBsZXNfc2hpZnQgPSAwLCBzdW0gPSAwOwo+PiAg ICB1aW50NjRfdCBoaXN0ZGJbTUFYX0RCICsgMV0gPSB7IDAgfTsKPj4gCj4+ICsgICAgaWYgKCF2 ZC0+bmJfc2FtcGxlcykKPj4gKyAgICAgICAgcmV0dXJuOwo+PiArICAgIGlmICh2ZC0+aXNfZmxv YXQpIHsKPj4gKyAgICAgICAgYXZfbG9nKGN0eCwgQVZfTE9HX0lORk8sICJuX3NhbXBsZXM6ICUi IFBSSWQ2NCAiXG4iLCB2ZC0+bmJfc2FtcGxlcyk7Cj4+ICsgICAgICAgIGF2X2xvZyhjdHgsIEFW X0xPR19JTkZPLCAibWVhbl92b2x1bWU6ICUuMWYgZEJcbiIsIC1sb2dkYih2ZC0+c3VtMiAvIHZk LT5uYl9zYW1wbGVzLCBBVl9TQU1QTEVfRk1UX0ZMVCkpOwo+PiArICAgICAgICBhdl9sb2coY3R4 LCBBVl9MT0dfSU5GTywgIm1heF92b2x1bWU6ICUuMWYgZEJcbiIsIC0yLjAqbG9nZGIodmQtPm1h eCwgQVZfU0FNUExFX0ZNVF9GTFQpKTsKPj4gKyAgICAgICAgZm9yIChpID0gMDsgaSA8IEhJU1RP R1JBTV9TSVpFX0ZMVCAmJiAhdmQtPmhpc3RvZ3JhbVtpXTsgaSsrKTsKPj4gKyAgICAgICAgZm9y ICg7IGkgPj0gMCAmJiBzdW0gPCB2ZC0+bmJfc2FtcGxlcyAvIDEwMDA7IGkrKykgewo+PiArICAg ICAgICAgICAgaWYgKCF2ZC0+aGlzdG9ncmFtW2ldKQo+PiArICAgICAgICAgICAgICAgIGNvbnRp bnVlOwo+PiArICAgICAgICAgICAgYXZfbG9nKGN0eCwgQVZfTE9HX0lORk8sICJoaXN0b2dyYW1f JWRkYjogJSIgUFJJZDY0ICJcbiIsIE1BWF9EQl9GTFQgLSBpLCB2ZC0+aGlzdG9ncmFtW2ldKTsK Pj4gKyAgICAgICAgICAgIHN1bSArPSB2ZC0+aGlzdG9ncmFtW2ldOwo+PiArICAgICAgICB9Cj4+ ICsgICAgfSBlbHNlIHsKPj4gICAgZm9yIChpID0gMDsgaSA8IDB4MTAwMDA7IGkrKykKPj4gICAg ICAgIG5iX3NhbXBsZXMgKz0gdmQtPmhpc3RvZ3JhbVtpXTsKPj4gICAgYXZfbG9nKGN0eCwgQVZf TE9HX0lORk8sICJuX3NhbXBsZXM6ICUiUFJJZDY0IlxuIiwgbmJfc2FtcGxlcyk7Cj4+IEBAIC05 MiwyNiArMTUzLDYxIEBAIHN0YXRpYyB2b2lkIHByaW50X3N0YXRzKEFWRmlsdGVyQ29udGV4dCAq Y3R4KQo+PiAgICAgICAgcmV0dXJuOwo+PiAgICBwb3dlciA9IChwb3dlciArIG5iX3NhbXBsZXNf c2hpZnQgLyAyKSAvIG5iX3NhbXBsZXNfc2hpZnQ7Cj4+ICAgIGF2X2Fzc2VydDAocG93ZXIgPD0g MHg4MDAwICogMHg4MDAwKTsKPj4gLSAgICBhdl9sb2coY3R4LCBBVl9MT0dfSU5GTywgIm1lYW5f dm9sdW1lOiAlLjFmIGRCXG4iLCAtbG9nZGIocG93ZXIpKTsKPj4gKyAgICBhdl9sb2coY3R4LCBB Vl9MT0dfSU5GTywgIm1lYW5fdm9sdW1lOiAlLjFmIGRCXG4iLCAtbG9nZGIoKGRvdWJsZSlwb3dl ciwgQVZfU0FNUExFX0ZNVF9TMTYpKTsKPj4gCj4+ICAgIG1heF92b2x1bWUgPSAweDgwMDA7Cj4+ ICAgIHdoaWxlIChtYXhfdm9sdW1lID4gMCAmJiAhdmQtPmhpc3RvZ3JhbVsweDgwMDAgKyBtYXhf dm9sdW1lXSAmJgo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIXZkLT5oaXN0b2dyYW1b MHg4MDAwIC0gbWF4X3ZvbHVtZV0pCj4+ICAgICAgICBtYXhfdm9sdW1lLS07Cj4+IC0gICAgYXZf bG9nKGN0eCwgQVZfTE9HX0lORk8sICJtYXhfdm9sdW1lOiAlLjFmIGRCXG4iLCAtbG9nZGIobWF4 X3ZvbHVtZSAqIG1heF92b2x1bWUpKTsKPj4gKyAgICBhdl9sb2coY3R4LCBBVl9MT0dfSU5GTywg Im1heF92b2x1bWU6ICUuMWYgZEJcbiIsIC1sb2dkYigoZG91YmxlKShtYXhfdm9sdW1lICogbWF4 X3ZvbHVtZSksIEFWX1NBTVBMRV9GTVRfUzE2KSk7Cj4+IAo+PiAgICBmb3IgKGkgPSAwOyBpIDwg MHgxMDAwMDsgaSsrKQo+PiAtICAgICAgICBoaXN0ZGJbKGludClsb2dkYigoaSAtIDB4ODAwMCkg KiAoaSAtIDB4ODAwMCkpXSArPSB2ZC0+aGlzdG9ncmFtW2ldOwo+PiArICAgICAgICBoaXN0ZGJb KGludClsb2dkYigoZG91YmxlKShpIC0gMHg4MDAwKSAqIChpIC0gMHg4MDAwKSwgQVZfU0FNUExF X0ZNVF9TMTYpXSArPSB2ZC0+aGlzdG9ncmFtW2ldOwo+PiAgICBmb3IgKGkgPSAwOyBpIDw9IE1B WF9EQiAmJiAhaGlzdGRiW2ldOyBpKyspOwo+PiAgICBmb3IgKDsgaSA8PSBNQVhfREIgJiYgc3Vt IDwgbmJfc2FtcGxlcyAvIDEwMDA7IGkrKykgewo+PiAtICAgICAgICBhdl9sb2coY3R4LCBBVl9M T0dfSU5GTywgImhpc3RvZ3JhbV8lZGRiOiAlIlBSSWQ2NCJcbiIsIGksIGhpc3RkYltpXSk7Cj4+ ICsgICAgICAgIGF2X2xvZyhjdHgsIEFWX0xPR19JTkZPLCAiaGlzdG9ncmFtXyVkZGI6ICUiUFJJ ZDY0IlxuIiwgLWksIGhpc3RkYltpXSk7Cj4+ICAgICAgICBzdW0gKz0gaGlzdGRiW2ldOwo+PiAg ICB9Cj4+ICsgICAgfQo+PiArfQo+PiArCj4+ICtzdGF0aWMgaW50IGNvbmZpZ19vdXRwdXQoQVZG aWx0ZXJMaW5rICpvdXRsaW5rKQo+PiArewo+PiArICAgIEFWRmlsdGVyQ29udGV4dCAqY3R4ID0g b3V0bGluay0+c3JjOwo+PiArICAgIFZvbERldGVjdENvbnRleHQgKnZkID0gY3R4LT5wcml2Owo+ PiArICAgIHNpemVfdCBoaXN0b2dyYW1fc2l6ZTsKPj4gKwo+PiArICAgIHZkLT5pc19mbG9hdCA9 IG91dGxpbmstPmZvcm1hdCA9PSBBVl9TQU1QTEVfRk1UX0ZMVCB8fAo+PiArICAgICAgICAgICAg ICAgICAgIG91dGxpbmstPmZvcm1hdCA9PSBBVl9TQU1QTEVfRk1UX0ZMVFA7Cj4+ICsKPj4gKyAg ICBpZiAoIXZkLT5pc19mbG9hdCkgewo+PiArICAgICAgICAvKgo+PiArICAgICAgICAqIE51bWJl ciBvZiBzYW1wbGVzIGF0IGVhY2ggUENNIHZhbHVlLgo+PiArICAgICAgICAqIE9ubHkgdXNlZCBm b3IgaW50ZWdlciBmb3JtYXRzLgo+PiArICAgICAgICAqIEZvciAxNiBiaXQgc2lnbmVkIFBDTSB0 aGVyZSBhcmUgNjU1MzYuCj4+ICsgICAgICAgICogaGlzdG9ncmFtWzB4ODAwMCArIGldIGlzIHRo ZSBudW1iZXIgb2Ygc2FtcGxlcyBhdCB2YWx1ZSBpLgo+PiArICAgICAgICAqIFRoZSBleHRyYSBl bGVtZW50IGlzIHRoZXJlIGZvciBzeW1tZXRyeS4KPj4gKyAgICAgICAgKi8KPj4gKyAgICAgICAg aGlzdG9ncmFtX3NpemUgPSBISVNUT0dSQU1fU0laRSArIDE7Cj4+ICsgICAgfSBlbHNlIHsKPj4g KyAgICAgICAgLyoKPj4gKyAgICAgICAgKiBUaGUgaGlzdG9ncmFtIGlzIHVzZWQgdG8gc3RvcmUg dGhlIG51bWJlciBvZiBzYW1wbGVzIGF0IGVhY2ggZEIKPj4gKyAgICAgICAgKiBpbnN0ZWFkIG9m IHRoZSBudW1iZXIgb2Ygc2FtcGxlcyBhdCBlYWNoIFBDTSB2YWx1ZS4KPj4gKyAgICAgICAgKi8K Pj4gKyAgICAgICAgaGlzdG9ncmFtX3NpemUgPSBISVNUT0dSQU1fU0laRV9GTFQgKyAxOwo+PiAr ICAgIH0KPj4gKyAgICB2ZC0+aGlzdG9ncmFtID0gYXZfY2FsbG9jKGhpc3RvZ3JhbV9zaXplLCBz aXplb2YodWludDY0X3QpKTsKPj4gKyAgICBpZiAoIXZkLT5oaXN0b2dyYW0pCj4+ICsgICAgICAg IHJldHVybiBBVkVSUk9SKEVOT01FTSk7Cj4+ICsgICAgcmV0dXJuIDA7Cj4+IH0KPj4gCj4+IHN0 YXRpYyBhdl9jb2xkIHZvaWQgdW5pbml0KEFWRmlsdGVyQ29udGV4dCAqY3R4KQo+PiB7Cj4+ICsg ICAgVm9sRGV0ZWN0Q29udGV4dCAqdmQgPSBjdHgtPnByaXY7Cj4+ICAgIHByaW50X3N0YXRzKGN0 eCk7Cj4+ICsgICAgaWYgKHZkLT5oaXN0b2dyYW0pCj4+ICsgICAgICAgIGF2X2ZyZWVwKCZ2ZC0+ aGlzdG9ncmFtKTsKPj4gfQo+PiAKPj4gc3RhdGljIGNvbnN0IEFWRmlsdGVyUGFkIHZvbHVtZWRl dGVjdF9pbnB1dHNbXSA9IHsKPj4gQEAgLTEyMiw2ICsyMTgsMTQgQEAgc3RhdGljIGNvbnN0IEFW RmlsdGVyUGFkIHZvbHVtZWRldGVjdF9pbnB1dHNbXSA9IHsKPj4gICAgfSwKPj4gfTsKPj4gCj4+ ICtzdGF0aWMgY29uc3QgQVZGaWx0ZXJQYWQgdm9sdW1lZGV0ZWN0X291dHB1dHNbXSA9IHsKPj4g KyAgICB7Cj4+ICsgICAgICAgIC5uYW1lICAgICAgICAgPSAiZGVmYXVsdCIsCj4+ICsgICAgICAg IC50eXBlICAgICAgICAgPSBBVk1FRElBX1RZUEVfQVVESU8sCj4+ICsgICAgICAgIC5jb25maWdf cHJvcHMgPSBjb25maWdfb3V0cHV0LAo+PiArICAgIH0sCj4+ICt9Owo+PiArCj4+IGNvbnN0IEFW RmlsdGVyIGZmX2FmX3ZvbHVtZWRldGVjdCA9IHsKPj4gICAgLm5hbWUgICAgICAgICAgPSAidm9s dW1lZGV0ZWN0IiwKPj4gICAgLmRlc2NyaXB0aW9uICAgPSBOVUxMX0lGX0NPTkZJR19TTUFMTCgi RGV0ZWN0IGF1ZGlvIHZvbHVtZS4iKSwKPj4gQEAgLTEyOSw2ICsyMzMsOSBAQCBjb25zdCBBVkZp bHRlciBmZl9hZl92b2x1bWVkZXRlY3QgPSB7Cj4+ICAgIC51bmluaXQgICAgICAgID0gdW5pbml0 LAo+PiAgICAuZmxhZ3MgICAgICAgICA9IEFWRklMVEVSX0ZMQUdfTUVUQURBVEFfT05MWSwKPj4g ICAgRklMVEVSX0lOUFVUUyh2b2x1bWVkZXRlY3RfaW5wdXRzKSwKPj4gLSAgICBGSUxURVJfT1VU UFVUUyhmZl9hdWRpb19kZWZhdWx0X2ZpbHRlcnBhZCksCj4+IC0gICAgRklMVEVSX1NBTVBMRUZN VFMoQVZfU0FNUExFX0ZNVF9TMTYsIEFWX1NBTVBMRV9GTVRfUzE2UCksCj4+ICsgICAgRklMVEVS X09VVFBVVFModm9sdW1lZGV0ZWN0X291dHB1dHMpLAo+PiArICAgIEZJTFRFUl9TQU1QTEVGTVRT KEFWX1NBTVBMRV9GTVRfUzE2LAo+PiArICAgICAgICAgICAgICAgICAgICAgIEFWX1NBTVBMRV9G TVRfUzE2UCwKPj4gKyAgICAgICAgICAgICAgICAgICAgICBBVl9TQU1QTEVfRk1UX0ZMVCwKPj4g KyAgICAgICAgICAgICAgICAgICAgICBBVl9TQU1QTEVfRk1UX0ZMVFApLAo+PiB9Owo+IF9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gZmZtcGVnLWRldmVs IG1haWxpbmcgbGlzdAo+IGZmbXBlZy1kZXZlbEBmZm1wZWcub3JnIDxtYWlsdG86ZmZtcGVnLWRl dmVsQGZmbXBlZy5vcmc+Cj4gaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZt cGVnLWRldmVsCj4gCj4gVG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWls Cj4gZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyA8bWFpbHRvOmZmbXBlZy1kZXZlbC1y ZXF1ZXN0QGZmbXBlZy5vcmc+IHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxp bmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1h bi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3Zl LCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAi dW5zdWJzY3JpYmUiLgo=