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 A7F6E4B5B5 for ; Sun, 9 Jun 2024 00:25:49 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 31AF868D72D; Sun, 9 Jun 2024 03:25:47 +0300 (EEST) Received: from mail-lj1-f173.google.com (mail-lj1-f173.google.com [209.85.208.173]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B5DEE68D725 for ; Sun, 9 Jun 2024 03:25:40 +0300 (EEST) Received: by mail-lj1-f173.google.com with SMTP id 38308e7fff4ca-2ead2c6b50bso34517821fa.0 for ; Sat, 08 Jun 2024 17:25:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1717892739; x=1718497539; darn=ffmpeg.org; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=r4QItABSAqpykQgNJUtPRIlMreGHJzK78XJNExo5z6M=; b=IPx0mDqTDm9sTydq2mjqrypTiNXvj48m13iCY+udXPRYkrzCIRd7p0NYELLaQzBMKe FoDfvK2FDNj6Ameib8iNkDSVmSEqhOvChGv+guB4XRst8yDrzxr4A+3fH5DplBcwUGcj inp6PQg5m4EYXLlu9yLdavQW4pabd45oOob3WzmmZOLTaeBTspfjCCfYZ4IOGUkpPRz+ QsNs+vJq1klh5WpmqtXkrHIT+ikws/OmYGaOtM8K8uYsEVyc+2OcUHSj+xlVJKP1JkMk sCA1Q4sJUs67c6Q5506WiKyDsVjnTMHBchivf8kWez4iJYtYoO6LgHmqpqY8qTDeDOkK 5iBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717892739; x=1718497539; h=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=r4QItABSAqpykQgNJUtPRIlMreGHJzK78XJNExo5z6M=; b=JbklrCYZGcff1fBxEQyjs6vmBXx7iXLyNsAmPa/cX+npLrmAzbTnJ9GSxuaTxkF+p3 BdIReib8S/lLDxhYHkZSH4KNTftOwO4S1VZsAn+cAlutNZF4/cifwHD/tC4D1xwVFXIN eBibLv/mh+j/12SHfZVeQYDhOf7jBjmPVuM5UssnPPbuCtnOzH6ynwJhPcxi7r8oRq6q QNG1QRURc90GWNN84G5UouxQepjqEXXt0DC2tkA7xuoIaifDtNfddH9q9QzOacFQgIH4 6Atl9mVB2BYLrYVXnNDgNB7T4JjQaouFpbVeTwK8NZh3neuip+2Xp64U0e5MJNILp2XE lvWg== X-Gm-Message-State: AOJu0YwkgtAjp1Cs9bPk/myWYigtLwZ5pWKuNtWmvW20mxTjLtDh+K6o 3PKdmW47OMEeYgxqs6pF9ZK7bGkS3/0N3uAui/A2QNp7sEVuVn8PCYNWXzq23VfIqm+6JoJTLdO ayPJ4x/gZQCJku/H9ZaSTzl6/dDsyEw== X-Google-Smtp-Source: AGHT+IGQCww0c5iv81J1Ga7KWlGcj13ufk7NmF6tNO0/JWck1xK5bMFBt5a4wrzML1aLcURQeCU0E7PDIp/T99lySlY= X-Received: by 2002:a2e:bc09:0:b0:2eb:dd68:b50c with SMTP id 38308e7fff4ca-2ebdd68b7c4mr6644101fa.32.1717892739262; Sat, 08 Jun 2024 17:25:39 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Nuo Mi Date: Sun, 9 Jun 2024 08:25:27 +0800 Message-ID: To: FFmpeg development discussions and patches X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH 4/7] avformat/vvc: Fix crash on allocation failure, avoid allocations 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-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: T24gU3VuLCBKdW4gOSwgMjAyNCBhdCA1OjE04oCvQU0gQW5kcmVhcyBSaGVpbmhhcmR0IDwKYW5k cmVhcy5yaGVpbmhhcmR0QG91dGxvb2suY29tPiB3cm90ZToKCj4gTnVvIE1pOgo+ID4gT24gV2Vk LCBKdW4gNSwgMjAyNCBhdCA3OjQx4oCvUE0gQW5kcmVhcyBSaGVpbmhhcmR0IDwKPiA+IGFuZHJl YXMucmhlaW5oYXJkdEBvdXRsb29rLmNvbT4gd3JvdGU6Cj4gPgo+ID4+IFRoaXMgaXMgdGhlIFZW QyB2ZXJzaW9uIG9mIDhiNWQxNTUzMDEyN2ZlYTU0ZTkzNDA0M2E2NDY1Mzg1OWRlMDczNTMuCj4g Pj4KPiA+PiAoSGludDogVGhpcyBlbnN1cmVzIHRoYXQgdGhlIG9yZGVyIG9mIE5BTFUgYXJyYXlz IGlzIE9QSS1WUFMtU1BTLVBQUy0KPiA+PiBQcmVmaXgtU0VJLVN1ZmZpeC1TRUksIHJlZ2FyZGxl c3Mgb2YgdGhlIG9yZGVyIGluIHRoZSBvcmlnaW5hbAo+ID4+IGV4dHJhZGF0YS4gSSBob3BlIHRo aXMgaXMgcmlnaHQuKQo+ID4+Cj4gPj4gU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBSaGVpbmhhcmR0 IDxhbmRyZWFzLnJoZWluaGFyZHRAb3V0bG9vay5jb20+Cj4gPj4gLS0tCj4gPj4gIGxpYmF2Zm9y bWF0L3Z2Yy5jIHwgMTY5ICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KPiA+PiAgMSBmaWxlIGNoYW5nZWQsIDczIGluc2VydGlvbnMoKyksIDk2IGRlbGV0aW9u cygtKQo+ID4+Cj4gPj4gZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L3Z2Yy5jIGIvbGliYXZmb3Jt YXQvdnZjLmMKPiA+PiBpbmRleCA2NzliYjA3YTRkLi44MTllZTAyZTJjIDEwMDY0NAo+ID4+IC0t LSBhL2xpYmF2Zm9ybWF0L3Z2Yy5jCj4gPj4gKysrIGIvbGliYXZmb3JtYXQvdnZjLmMKPiA+PiBA QCAtMzIsNiArMzIsMTYgQEAKPiA+PiAgI2luY2x1ZGUgImF2aW9faW50ZXJuYWwuaCIKPiA+PiAg I2luY2x1ZGUgInZ2Yy5oIgo+ID4+Cj4gPj4gK2VudW0gewo+ID4+ICsgICAgT1BJX0lOREVYLAo+ ID4+ICsgICAgVlBTX0lOREVYLAo+ID4+ICsgICAgU1BTX0lOREVYLAo+ID4+ICsgICAgUFBTX0lO REVYLAo+ID4+ICsgICAgU0VJX1BSRUZJWF9JTkRFWCwKPiA+PiArICAgIFNFSV9TVUZGSVhfSU5E RVgsCj4gPj4gKyAgICBOQl9BUlJBWVMKPiA+PiArfTsKPiA+PiArCj4gPj4gIHR5cGVkZWYgc3Ry dWN0IFZWQ0NOQUxVbml0QXJyYXkgewo+ID4+ICAgICAgdWludDhfdCBhcnJheV9jb21wbGV0ZW5l c3M7Cj4gPj4gICAgICB1aW50OF90IE5BTF91bml0X3R5cGU7Cj4gPj4gQEAgLTY3LDcgKzc3LDcg QEAgdHlwZWRlZiBzdHJ1Y3QgVlZDRGVjb2RlckNvbmZpZ3VyYXRpb25SZWNvcmQgewo+ID4+ICAg ICAgdWludDE2X3QgbWF4X3BpY3R1cmVfaGVpZ2h0Owo+ID4+ICAgICAgdWludDE2X3QgYXZnX2Zy YW1lX3JhdGU7Cj4gPj4gICAgICB1aW50OF90IG51bV9vZl9hcnJheXM7Cj4gPj4gLSAgICBWVkND TkFMVW5pdEFycmF5ICphcnJheTsKPiA+PiArICAgIFZWQ0NOQUxVbml0QXJyYXkgYXJyYXlzW05C X0FSUkFZU107Cj4gPj4gIH0gVlZDRGVjb2RlckNvbmZpZ3VyYXRpb25SZWNvcmQ7Cj4gPj4KPiA+ PiAgc3RhdGljIHZvaWQgdnZjY191cGRhdGVfcHRsKFZWQ0RlY29kZXJDb25maWd1cmF0aW9uUmVj b3JkICp2dmNjLAo+ID4+IEBAIC00MzIsMzIgKzQ0MiwxMSBAQCBzdGF0aWMgdm9pZCBuYWxfdW5p dF9wYXJzZV9oZWFkZXIoR2V0Qml0Q29udGV4dAo+ICpnYiwKPiA+PiB1aW50OF90ICpuYWxfdHlw ZSkKPiA+Pgo+ID4+ICBzdGF0aWMgaW50IHZ2Y2NfYXJyYXlfYWRkX25hbF91bml0KHVpbnQ4X3Qg Km5hbF9idWYsIHVpbnQzMl90IG5hbF9zaXplLAo+ID4+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHVpbnQ4X3QgbmFsX3R5cGUsIGludAo+ID4+IHBzX2FycmF5X2NvbXBsZXRl bmVzcywKPiA+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWVkNEZWNvZGVy Q29uZmlndXJhdGlvblJlY29yZCAqdnZjYykKPiA+PiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBWVkNDTkFMVW5pdEFycmF5ICphcnJheSkKPiA+PiAgewo+ID4+ICAgICAgaW50 IHJldDsKPiA+PiAtICAgIHVpbnQ4X3QgaW5kZXg7Cj4gPj4gICAgICB1aW50MTZfdCBudW1fbmFs dXM7Cj4gPj4gLSAgICBWVkNDTkFMVW5pdEFycmF5ICphcnJheTsKPiA+PiAtCj4gPj4gLSAgICBm b3IgKGluZGV4ID0gMDsgaW5kZXggPCB2dmNjLT5udW1fb2ZfYXJyYXlzOyBpbmRleCsrKQo+ID4+ IC0gICAgICAgIGlmICh2dmNjLT5hcnJheVtpbmRleF0uTkFMX3VuaXRfdHlwZSA9PSBuYWxfdHlw ZSkKPiA+PiAtICAgICAgICAgICAgYnJlYWs7Cj4gPj4gLQo+ID4+IC0gICAgaWYgKGluZGV4ID49 IHZ2Y2MtPm51bV9vZl9hcnJheXMpIHsKPiA+PiAtICAgICAgICB1aW50OF90IGk7Cj4gPj4gLQo+ ID4+IC0gICAgICAgIHJldCA9Cj4gPj4gLSAgICAgICAgICAgIGF2X3JlYWxsb2NwX2FycmF5KCZ2 dmNjLT5hcnJheSwgaW5kZXggKyAxLAo+ID4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzaXplb2YoVlZDQ05BTFVuaXRBcnJheSkpOwo+ID4+IC0gICAgICAgIGlmIChyZXQgPCAwKQo+ ID4+IC0gICAgICAgICAgICByZXR1cm4gcmV0Owo+ID4+IC0KPiA+PiAtICAgICAgICBmb3IgKGkg PSB2dmNjLT5udW1fb2ZfYXJyYXlzOyBpIDw9IGluZGV4OyBpKyspCj4gPj4gLSAgICAgICAgICAg IG1lbXNldCgmdnZjYy0+YXJyYXlbaV0sIDAsIHNpemVvZihWVkNDTkFMVW5pdEFycmF5KSk7Cj4g Pj4gLSAgICAgICAgdnZjYy0+bnVtX29mX2FycmF5cyA9IGluZGV4ICsgMTsKPiA+PiAtICAgIH0K PiA+Pgo+ID4+IC0gICAgYXJyYXkgPSAmdnZjYy0+YXJyYXlbaW5kZXhdOwo+ID4+ICAgICAgbnVt X25hbHVzID0gYXJyYXktPm51bV9uYWx1czsKPiA+Pgo+ID4+ICAgICAgcmV0ID0gYXZfcmVhbGxv Y3BfYXJyYXkoJmFycmF5LT5uYWxfdW5pdCwgbnVtX25hbHVzICsgMSwKPiA+PiBzaXplb2YodWlu dDhfdCAqKSk7Cj4gPj4gQEAgLTUwNCw3ICs0OTMsOCBAQCBzdGF0aWMgaW50IHZ2Y2NfYXJyYXlf YWRkX25hbF91bml0KHVpbnQ4X3QgKm5hbF9idWYsCj4gPj4gdWludDMyX3QgbmFsX3NpemUsCj4g Pj4KPiA+PiAgc3RhdGljIGludCB2dmNjX2FkZF9uYWxfdW5pdCh1aW50OF90ICpuYWxfYnVmLCB1 aW50MzJfdCBuYWxfc2l6ZSwKPiA+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg cHNfYXJyYXlfY29tcGxldGVuZXNzLAo+ID4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAg IFZWQ0RlY29kZXJDb25maWd1cmF0aW9uUmVjb3JkICp2dmNjKQo+ID4+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFZWQ0RlY29kZXJDb25maWd1cmF0aW9uUmVjb3JkICp2dmNjLAo+ID4+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGFycmF5X2lkeCkKPiA+PiAg ewo+ID4+ICAgICAgaW50IHJldCA9IDA7Cj4gPj4gICAgICBHZXRCaXRDb250ZXh0IGdiYzsKPiA+ PiBAQCAtNTI5LDE4ICs1MTksMTUgQEAgc3RhdGljIGludCB2dmNjX2FkZF9uYWxfdW5pdCh1aW50 OF90ICpuYWxfYnVmLAo+ID4+IHVpbnQzMl90IG5hbF9zaXplLAo+ID4+ICAgICAgICogdnZjYy4g UGVyaGFwcyB0aGUgU0VJIHBsYXlsb2FkIHR5cGUgc2hvdWxkIGJlIGNoZWNrZWQKPiA+PiAgICAg ICAqIGFuZCBub24tZGVjbGFyYXRpdmUgU0VJIG1lc3NhZ2VzIGRpc2NhcmRlZD8KPiA+PiAgICAg ICAqLwo+ID4+IC0gICAgc3dpdGNoIChuYWxfdHlwZSkgewo+ID4+IC0gICAgY2FzZSBWVkNfT1BJ X05VVDoKPiA+PiAtICAgIGNhc2UgVlZDX1ZQU19OVVQ6Cj4gPj4gLSAgICBjYXNlIFZWQ19TUFNf TlVUOgo+ID4+IC0gICAgY2FzZSBWVkNfUFBTX05VVDoKPiA+PiAtICAgIGNhc2UgVlZDX1BSRUZJ WF9TRUlfTlVUOgo+ID4+IC0gICAgY2FzZSBWVkNfU1VGRklYX1NFSV9OVVQ6Cj4gPj4gLSAgICAg ICAgcmV0ID0gdnZjY19hcnJheV9hZGRfbmFsX3VuaXQobmFsX2J1ZiwgbmFsX3NpemUsIG5hbF90 eXBlLAo+ID4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBzX2FycmF5 X2NvbXBsZXRlbmVzcywgdnZjYyk7Cj4gPj4gLSAgICAgICAgaWYgKHJldCA8IDApCj4gPj4gLSAg ICAgICAgICAgIGdvdG8gZW5kOwo+ID4+IC0gICAgICAgIGVsc2UgaWYgKG5hbF90eXBlID09IFZW Q19WUFNfTlVUKQo+ID4+ICsgICAgcmV0ID0gdnZjY19hcnJheV9hZGRfbmFsX3VuaXQobmFsX2J1 ZiwgbmFsX3NpemUsIG5hbF90eXBlLAo+ID4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgcHNfYXJyYXlfY29tcGxldGVuZXNzLAo+ID4+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJnZ2Y2MtPmFycmF5c1thcnJheV9pZHhdKTsKPiA+PiArICAgIGlmIChyZXQg PCAwKQo+ID4+ICsgICAgICAgIGdvdG8gZW5kOwo+ID4+ICsgICAgaWYgKHZ2Y2MtPmFycmF5c1th cnJheV9pZHhdLm51bV9uYWx1cyA9PSAxKQo+ID4+ICsgICAgICAgIHZ2Y2MtPm51bV9vZl9hcnJh eXMrKzsKPiA+PiArCj4gPj4gKyAgICAgICAgaWYgKG5hbF90eXBlID09IFZWQ19WUFNfTlVUKQo+ ID4+ICAgICAgICAgICAgICByZXQgPSB2dmNjX3BhcnNlX3ZwcygmZ2JjLCB2dmNjKTsKPiA+PiAg ICAgICAgICBlbHNlIGlmIChuYWxfdHlwZSA9PSBWVkNfU1BTX05VVCkKPiA+PiAgICAgICAgICAg ICAgcmV0ID0gdnZjY19wYXJzZV9zcHMoJmdiYywgdnZjYyk7Cj4gPj4gQEAgLTU1MSwxMSArNTM4 LDYgQEAgc3RhdGljIGludCB2dmNjX2FkZF9uYWxfdW5pdCh1aW50OF90ICpuYWxfYnVmLAo+ID4+ IHVpbnQzMl90IG5hbF9zaXplLAo+ID4+ICAgICAgICAgIH0KPiA+PiAgICAgICAgICBpZiAocmV0 IDwgMCkKPiA+PiAgICAgICAgICAgICAgZ290byBlbmQ7Cj4gPj4gLSAgICAgICAgYnJlYWs7Cj4g Pj4gLSAgICBkZWZhdWx0Ogo+ID4+IC0gICAgICAgIHJldCA9IEFWRVJST1JfSU5WQUxJRERBVEE7 Cj4gPj4gLSAgICAgICAgZ290byBlbmQ7Cj4gPj4gLSAgICB9Cj4gPj4KPiA+PiAgICBlbmQ6Cj4g Pj4gICAgICBhdl9mcmVlKHJic3BfYnVmKTsKPiA+PiBAQCAtNTcyLDIyICs1NTQsMjEgQEAgc3Rh dGljIHZvaWQKPiB2dmNjX2luaXQoVlZDRGVjb2RlckNvbmZpZ3VyYXRpb25SZWNvcmQKPiA+PiAq dnZjYykKPiA+Pgo+ID4+ICBzdGF0aWMgdm9pZCB2dmNjX2Nsb3NlKFZWQ0RlY29kZXJDb25maWd1 cmF0aW9uUmVjb3JkICp2dmNjKQo+ID4+ICB7Cj4gPj4gLSAgICB1aW50OF90IGk7Cj4gPj4gKyAg ICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgRkZfQVJSQVlfRUxFTVModnZjYy0+YXJyYXlzKTsg aSsrKSB7Cj4gPj4gKyAgICAgICAgVlZDQ05BTFVuaXRBcnJheSAqY29uc3QgYXJyYXkgPSAmdnZj Yy0+YXJyYXlzW2ldOwo+ID4+Cj4gPj4gLSAgICBmb3IgKGkgPSAwOyBpIDwgdnZjYy0+bnVtX29m X2FycmF5czsgaSsrKSB7Cj4gPj4gLSAgICAgICAgdnZjYy0+YXJyYXlbaV0ubnVtX25hbHVzID0g MDsKPiA+PiAtICAgICAgICBhdl9mcmVlcCgmdnZjYy0+YXJyYXlbaV0ubmFsX3VuaXQpOwo+ID4+ IC0gICAgICAgIGF2X2ZyZWVwKCZ2dmNjLT5hcnJheVtpXS5uYWxfdW5pdF9sZW5ndGgpOwo+ID4+ ICsgICAgICAgIGFycmF5LT5udW1fbmFsdXMgPSAwOwo+ID4+ICsgICAgICAgIGF2X2ZyZWVwKCZh cnJheS0+bmFsX3VuaXQpOwo+ID4+ICsgICAgICAgIGF2X2ZyZWVwKCZhcnJheS0+bmFsX3VuaXRf bGVuZ3RoKTsKPiA+PiAgICAgIH0KPiA+Pgo+ID4+ICAgICAgdnZjYy0+bnVtX29mX2FycmF5cyA9 IDA7Cj4gPj4gLSAgICBhdl9mcmVlcCgmdnZjYy0+YXJyYXkpOwo+ID4+ICB9Cj4gPj4KPiA+PiAg c3RhdGljIGludCB2dmNjX3dyaXRlKEFWSU9Db250ZXh0ICpwYiwgVlZDRGVjb2RlckNvbmZpZ3Vy YXRpb25SZWNvcmQKPiA+PiAqdnZjYykKPiA+PiAgewo+ID4+ICAgICAgdWludDhfdCBpOwo+ID4+ IC0gICAgdWludDE2X3QgaiwgdnBzX2NvdW50ID0gMCwgc3BzX2NvdW50ID0gMCwgcHBzX2NvdW50 ID0gMDsKPiA+PiArICAgIHVpbnQxNl90IHZwc19jb3VudCA9IDAsIHNwc19jb3VudCA9IDAsIHBw c19jb3VudCA9IDA7Cj4gPj4gICAgICAvKgo+ID4+ICAgICAgICogSXQncyB1bmNsZWFyIGhvdyB0 byBwcm9wZXJseSBjb21wdXRlIHRoZXNlIGZpZWxkcywgc28KPiA+PiAgICAgICAqIGxldCdzIGFs d2F5cyBzZXQgdGhlbSB0byB2YWx1ZXMgbWVhbmluZyAndW5zcGVjaWZpZWQnLgo+ID4+IEBAIC02 NzIsNDAgKzY1MywzMyBAQCBzdGF0aWMgaW50IHZ2Y2Nfd3JpdGUoQVZJT0NvbnRleHQgKnBiLAo+ ID4+IFZWQ0RlY29kZXJDb25maWd1cmF0aW9uUmVjb3JkICp2dmNjKQo+ID4+ICAgICAgYXZfbG9n KE5VTEwsIEFWX0xPR19UUkFDRSwKPiA+PiAgICAgICAgICAgICAibnVtX29mX2FycmF5czogICAg ICAgICAgICAgICAgICAgICAgICUiIFBSSXU4ICJcbiIsCj4gPj4gICAgICAgICAgICAgdnZjYy0+ bnVtX29mX2FycmF5cyk7Cj4gPj4gLSAgICBmb3IgKGkgPSAwOyBpIDwgdnZjYy0+bnVtX29mX2Fy cmF5czsgaSsrKSB7Cj4gPj4gKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgRkZfQVJSQVlf RUxFTVModnZjYy0+YXJyYXlzKTsgaSsrKSB7Cj4gPj4KPiA+IHRoaXMgd2lsbCBzaGFkb3cgdGhl ICJ1aW50OF90IGkiCj4gPgo+Cj4gSSBqdXN0IHNlbnQgYSBwYXRjaCBmb3IgdGhpcyAoYW5kIGZv ciBmaXhpbmcgdGhlIGNvbW1lbnQpLgo+CkxHVE0KVGhhbmsgeW91LCBBbmRyZWFzLgoKCj4gLSBB bmRyZWFzCj4KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Xwo+IGZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QKPiBmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwo+ IGh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAo+Cj4gVG8g dW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCj4gZmZtcGVnLWRldmVsLXJl cXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4KPgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpmZm1wZWctZGV2ZWwgbWFpbGlu ZyBsaXN0CmZmbXBlZy1kZXZlbEBmZm1wZWcub3JnCmh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAoKVG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUs IG9yIGVtYWlsCmZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1 bnN1YnNjcmliZSIuCg==