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 CA96C42A51 for ; Tue, 11 Jan 2022 09:45:59 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 889CE68AEC2; Tue, 11 Jan 2022 11:45:57 +0200 (EET) Received: from smtp.heteigenwijsje.nl (unknown [185.216.161.180]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id AD15568A544 for ; Tue, 11 Jan 2022 11:45:50 +0200 (EET) Received: from mail.heteigenwijsje.nl (localhost [127.0.0.1]) by smtp.heteigenwijsje.nl (Postfix) with ESMTP id 54F038CC79 for ; Tue, 11 Jan 2022 10:40:41 +0100 (CET) Authentication-Results: mail.heteigenwijsje.nl (amavisd-new); dkim=pass (1024-bit key) reason="pass (just generated, assumed good)" header.d=heteigenwijsje.nl DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d= heteigenwijsje.nl; h=content-transfer-encoding:content-type :content-type:in-reply-to:from:from:references:to :content-language:subject:subject:user-agent:mime-version:date :date:message-id; s=dkim; t=1641894037; x=1644486038; bh=kspgwsI /AQUMTi90NfoaOxNtCHIR98JRIJ+bDwDPo7Y=; b=hugfv9vt3MCKPw4bs0VMvKj ERox53OIFRC9F5267SoXAdztyrzIjrQSB73diKaleSNq6UULkYVo87OyPQNBD1kO jZTdqXV0hSN0BN/4IL/NgtYe5a3m1OXwz26UFVhMpJfKDtrBAxdZHfnwFDb69PDH mYhmBz5X3OCGVGLHZKKQ= X-Virus-Scanned: amavisd-new at mail.heteigenwijsje.nl Received: from smtp.heteigenwijsje.nl ([127.0.0.1]) by mail.heteigenwijsje.nl (mail.heteigenwijsje.nl [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id 1b8uUQ117kxJ for ; Tue, 11 Jan 2022 10:40:37 +0100 (CET) Received: from smtp.heteigenwijsje.nl (localhost [127.0.0.1]) by smtp.heteigenwijsje.nl (Postfix) with ESMTP id 0F1278C76D for ; Tue, 11 Jan 2022 10:40:37 +0100 (CET) Received: from [IPV6:2001:985:7aa4:1:40c0:375f:e41:372b] ([2001:985:7aa4:1:40c0:375f:e41:372b]) by smtp.heteigenwijsje.nl with ESMTPSA id qLT1ApVQ3WHRXQEAc3PRCQ (envelope-from ) for ; Tue, 11 Jan 2022 10:40:37 +0100 Message-ID: Date: Tue, 11 Jan 2022 10:45:45 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.4.0 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20220111092338.194468-1-gijs@peskens.net> From: Gijs Peskens In-Reply-To: Subject: Re: [FFmpeg-devel] [PATCH] libRIST: allow setting fifo size and fail on overflow. 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: T24gMTEtMDEtMjAyMiAxMDo0MywgInpoaWxpemhhbyjotbXlv5fnq4spIiB3cm90ZToKPgo+PiBP biBKYW4gMTEsIDIwMjIsIGF0IDU6MjMgUE0sIEdpanMgUGVza2VucyA8Z2lqc0BwZXNrZW5zLm5l dD4gd3JvdGU6Cj4+Cj4+IEludHJvZHVjZSBmaWZvX3NpemUgYW5kIG92ZXJydW5fbm9uZmF0YWwg cGFyYW1zIHRvIGNvbmZpZ3VyZSBmaWZvIGJ1ZmZlcgo+PiBiZWhhdmlvci4KPj4KPj4gVXNlIG5l d2x5IGludHJvZHVjZWQgUklTVF9EQVRBX0ZMQUdTX09WRVJGTE9XIGZsYWcgdG8gY2hlY2sgZm9y IG92ZXJydW4KPj4gYW5kIGVycm9yIG91dCBpbiB0aGF0IGNhc2UuCj4+IC0tLQo+PiBkb2MvcHJv dG9jb2xzLnRleGkgICAgfCAgOSArKysrKysrKysKPj4gbGliYXZmb3JtYXQvbGlicmlzdC5jIHwg NDAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQo+PiAyIGZpbGVzIGNo YW5nZWQsIDQ4IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKPj4KPj4gZGlmZiAtLWdpdCBh L2RvYy9wcm90b2NvbHMudGV4aSBiL2RvYy9wcm90b2NvbHMudGV4aQo+PiBpbmRleCBkMjA3ZGYw YjUyLi5mMWFjZjBjYzc3IDEwMDY0NAo+PiAtLS0gYS9kb2MvcHJvdG9jb2xzLnRleGkKPj4gKysr IGIvZG9jL3Byb3RvY29scy50ZXhpCj4+IEBAIC03NDUsNiArNzQ1LDE1IEBAIFNldCBpbnRlcm5h bCBSSVNUIGJ1ZmZlciBzaXplIGluIG1pbGxpc2Vjb25kcyBmb3IgcmV0cmFuc21pc3Npb24gb2Yg ZGF0YS4KPj4gRGVmYXVsdCB2YWx1ZSBpcyAwIHdoaWNoIG1lYW5zIHRoZSBsaWJyaXN0IGRlZmF1 bHQgKDEgc2VjKS4gTWF4aW11bSB2YWx1ZSBpcyAzMAo+PiBzZWNvbmRzLgo+Pgo+PiArQGl0ZW0g Zmlmb19zaXplCj4+ICtTaXplIG9mIHRoZSBsaWJyaXN0IHJlY2VpdmVyIG91dHB1dCBmaWZvIGlu IG51bWJlciBvZiBwYWNrZXRzLiBUaGlzIG11c3QgYmUgYQo+PiArcG93ZXIgb2YgMi4KPj4gK0Rl ZmF1bHRzIHRvIDgxOTIgKHZzIHRoZSBsaWJSSVNUIGRlZmF1bHQgb2YgMTAyNCkuCj4+ICsKPj4g K0BpdGVtIG92ZXJydW5fbm9uZmF0YWw9QHZhcnsxfDB9Cj4+ICtTdXJ2aXZlIGluIGNhc2Ugb2Yg bGliUklTVCBmaWZvIGJ1ZmZlciBvdmVycnVuLiBEZWZhdWx0Cj4+ICt2YWx1ZSBpcyAwLgo+PiAr Cj4+IEBpdGVtIHBrdF9zaXplCj4+IFNldCBtYXhpbXVtIHBhY2tldCBzaXplIGZvciBzZW5kaW5n IGRhdGEuIDEzMTYgYnkgZGVmYXVsdC4KPj4KPj4gZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2xp YnJpc3QuYyBiL2xpYmF2Zm9ybWF0L2xpYnJpc3QuYwo+PiBpbmRleCAzNzhiNjM1ZWE3Li44M2Ji ZjlmMDdhIDEwMDY0NAo+PiAtLS0gYS9saWJhdmZvcm1hdC9saWJyaXN0LmMKPj4gKysrIGIvbGli YXZmb3JtYXQvbGlicmlzdC5jCj4+IEBAIC00Myw2ICs0Myw5IEBACj4+ICAgICAgKChwYXRjaCkg KyAoKG1pbm9yKSogMHgxMDApICsgKChtYWpvcikgKjB4MTAwMDApKQo+PiAjZGVmaW5lIEZGX0xJ QlJJU1RfVkVSU0lPTiBGRl9MSUJSSVNUX01BS0VfVkVSU0lPTihMSUJSSVNUX0FQSV9WRVJTSU9O X01BSk9SLCBMSUJSSVNUX0FQSV9WRVJTSU9OX01JTk9SLCBMSUJSSVNUX0FQSV9WRVJTSU9OX1BB VENIKQo+PiAjZGVmaW5lIEZGX0xJQlJJU1RfVkVSU0lPTl80MSBGRl9MSUJSSVNUX01BS0VfVkVS U0lPTig0LCAxLCAwKQo+PiArI2RlZmluZSBGRl9MSUJSSVNUX1ZFUlNJT05fNDIgRkZfTElCUklT VF9NQUtFX1ZFUlNJT04oNCwgMiwgMCkKPj4gKwo+PiArI2RlZmluZSBGRl9MSUJSSVNUX0ZJRk9f U0laRV9ERUZBVUxUICgyIDw8IDEyKS8vODE5Mgo+IEl04oCZcyBub3QgZWFzeSB0byByZWFkIHdp dGhvdXQgc3BhY2UgYmVmb3JlIOKAmC8vODE5MuKAmS4KPiBJIHByZWZlcgo+Cj4gI2RlZmluZSBG Rl9MSUJSSVNUX0ZJRk9fU0laRV9ERUZBVUxUIDgxOTIKPgo+PiB0eXBlZGVmIHN0cnVjdCBSSVNU Q29udGV4dCB7Cj4+ICAgICAgY29uc3QgQVZDbGFzcyAqY2xhc3M7Cj4+IEBAIC01Miw2ICs1NSw4 IEBAIHR5cGVkZWYgc3RydWN0IFJJU1RDb250ZXh0IHsKPj4gICAgICBpbnQgcGFja2V0X3NpemU7 Cj4+ICAgICAgaW50IGxvZ19sZXZlbDsKPj4gICAgICBpbnQgZW5jcnlwdGlvbjsKPj4gKyAgICBp bnQgZmlmb19zaXplOwo+PiArICAgIGJvb2wgb3ZlcnJ1bl9ub25mYXRhbDsKPiBTaG91bGQgYmUg 4oCYaW504oCZLCBwbGVhc2UgY2hlY2sgb3B0LmMuCj4KPj4gICAgICBjaGFyICpzZWNyZXQ7Cj4+ Cj4+ICAgICAgc3RydWN0IHJpc3RfbG9nZ2luZ19zZXR0aW5ncyBsb2dnaW5nX3NldHRpbmdzOwo+ PiBAQCAtNzAsNiArNzUsOCBAQCBzdGF0aWMgY29uc3QgQVZPcHRpb24gbGlicmlzdF9vcHRpb25z W10gPSB7Cj4+ICAgICAgeyAibWFpbiIsICAgICAgICBOVUxMLCAgICAgICAgICAgICAgMCwgICAg ICAgICAgICAgICAgICAgQVZfT1BUX1RZUEVfQ09OU1QsIHsuaTY0PVJJU1RfUFJPRklMRV9NQUlO fSwgICAgIDAsIDAsIC5mbGFncyA9IER8RSwgInByb2ZpbGUiIH0sCj4+ICAgICAgeyAiYWR2YW5j ZWQiLCAgICBOVUxMLCAgICAgICAgICAgICAgMCwgICAgICAgICAgICAgICAgICAgQVZfT1BUX1RZ UEVfQ09OU1QsIHsuaTY0PVJJU1RfUFJPRklMRV9BRFZBTkNFRH0sIDAsIDAsIC5mbGFncyA9IER8 RSwgInByb2ZpbGUiIH0sCj4+ICAgICAgeyAiYnVmZmVyX3NpemUiLCAic2V0IGJ1ZmZlcl9zaXpl IGluIG1zIiwgT0ZGU0VUKGJ1ZmZlcl9zaXplKSwgQVZfT1BUX1RZUEVfSU5ULCB7Lmk2ND0wfSwg ICAgICAgICAgICAgICAgIDAsIDMwMDAwLCAuZmxhZ3MgPSBEfEUgfSwKPj4gKyAgICB7ICJmaWZv X3NpemUiLCAiU2V0IGxpYlJJU1QgZmlmbyBidWZmZXIuIFNpemUgbXVzdCBiZSBwb3dlciBvZiAy IiwgT0ZGU0VUKGZpZm9fc2l6ZSksIEFWX09QVF9UWVBFX0lOVCwgey5pNjQ9RkZfTElCUklTVF9G SUZPX1NJWkVfREVGQVVMVH0sIDIgPDwgOSwgMiA8PCAxNSwgLmZsYWdzID0gRHxFIH0sCj4+ICsg ICAgeyAib3ZlcnJ1bl9ub25mYXRhbCIsICJzdXJ2aXZlIGluIGNhc2Ugb2YgbGliUklTVCByZWNl aXZpbmcgY2lyY3VsYXIgYnVmZmVyIG92ZXJydW4iLCBPRkZTRVQob3ZlcnJ1bl9ub25mYXRhbCks IEFWX09QVF9UWVBFX0JPT0wsIHsuaTY0ID0gMH0sIDAsIDEsICAgIEQgfSwKPj4gICAgICB7ICJw a3Rfc2l6ZSIsICAgICJzZXQgcGFja2V0IHNpemUiLCBPRkZTRVQocGFja2V0X3NpemUpLCBBVl9P UFRfVFlQRV9JTlQsICAgey5pNjQ9MTMxNn0sICAgICAgICAgICAgICAgICAgMSwgTUFYX1BBWUxP QURfU0laRSwgICAgLmZsYWdzID0gRHxFIH0sCj4+ICAgICAgeyAibG9nX2xldmVsIiwgICAic2V0 IGxvZ2xldmVsIiwgICAgT0ZGU0VUKGxvZ19sZXZlbCksICAgQVZfT1BUX1RZUEVfSU5ULCAgIHsu aTY0PVJJU1RfTE9HX0lORk99LCAgICAgICAgLTEsIElOVF9NQVgsIC5mbGFncyA9IER8RSB9LAo+ PiAgICAgIHsgInNlY3JldCIsICJzZXQgZW5jcnlwdGlvbiBzZWNyZXQiLE9GRlNFVChzZWNyZXQp LCAgICAgIEFWX09QVF9UWVBFX1NUUklORyx7LnN0cj1OVUxMfSwgICAgICAgICAgICAgICAgICAw LCAwLCAgICAgICAuZmxhZ3MgPSBEfEUgfSwKPj4gQEAgLTkwLDcgKzk3LDYgQEAgc3RhdGljIGlu dCByaXN0ZXJyMnJldChpbnQgZXJyKQo+PiBzdGF0aWMgaW50IGxvZ19jYih2b2lkICphcmcsIGVu dW0gcmlzdF9sb2dfbGV2ZWwgbG9nX2xldmVsLCBjb25zdCBjaGFyICptc2cpCj4+IHsKPj4gICAg ICBpbnQgbGV2ZWw7Cj4+IC0KPiBVbnJlbGF0ZWQgY2hhbmdlcy4KPgo+PiAgICAgIHN3aXRjaCAo bG9nX2xldmVsKSB7Cj4+ICAgICAgY2FzZSBSSVNUX0xPR19FUlJPUjogICAgbGV2ZWwgPSBBVl9M T0dfRVJST1I7ICAgYnJlYWs7Cj4+ICAgICAgY2FzZSBSSVNUX0xPR19XQVJOOiAgICAgbGV2ZWwg PSBBVl9MT0dfV0FSTklORzsgYnJlYWs7Cj4+IEBAIC0xMzksNiArMTQ1LDcgQEAgc3RhdGljIGlu dCBsaWJyaXN0X29wZW4oVVJMQ29udGV4dCAqaCwgY29uc3QgY2hhciAqdXJpLCBpbnQgZmxhZ3Mp Cj4+ICAgICAgICAgIGgtPm1heF9wYWNrZXRfc2l6ZSA9IHMtPnBhY2tldF9zaXplOwo+PiAgICAg ICAgICByZXQgPSByaXN0X3NlbmRlcl9jcmVhdGUoJnMtPmN0eCwgcy0+cHJvZmlsZSwgMCwgbG9n Z2luZ19zZXR0aW5ncyk7Cj4+ICAgICAgfQo+PiArCj4+ICAgICAgaWYgKHJldCA8IDApCj4+ICAg ICAgICAgIGdvdG8gZXJyOwo+Pgo+PiBAQCAtMTQ2LDYgKzE1Myw3IEBAIHN0YXRpYyBpbnQgbGli cmlzdF9vcGVuKFVSTENvbnRleHQgKmgsIGNvbnN0IGNoYXIgKnVyaSwgaW50IGZsYWdzKQo+PiAg ICAgICAgICBoLT5tYXhfcGFja2V0X3NpemUgPSBNQVhfUEFZTE9BRF9TSVpFOwo+PiAgICAgICAg ICByZXQgPSByaXN0X3JlY2VpdmVyX2NyZWF0ZSgmcy0+Y3R4LCBzLT5wcm9maWxlLCBsb2dnaW5n X3NldHRpbmdzKTsKPj4gICAgICB9Cj4+ICsKPj4gICAgICBpZiAocmV0IDwgMCkKPj4gICAgICAg ICAgZ290byBlcnI7Cj4+Cj4+IEBAIC0xNjEsNiArMTY5LDIwIEBAIHN0YXRpYyBpbnQgbGlicmlz dF9vcGVuKFVSTENvbnRleHQgKmgsIGNvbnN0IGNoYXIgKnVyaSwgaW50IGZsYWdzKQo+PiAgICAg IGlmIChyZXQgPCAwKQo+PiAgICAgICAgICBnb3RvIGVycjsKPj4KPj4gKyAgICAvL1ByaW9yIHRv IDQuMi4wIHRoZXJlIHdhcyBhIGJ1ZyBpbiBsaWJSSVNUIHdoaWNoIG1hZGUgdGhpcyBjYWxsIGFs d2F5cyBmYWlsLgo+PiArI2lmIEZGX0xJQlJJU1RfVkVSU0lPTiA+PSBGRl9MSUJSSVNUX1ZFUlNJ T05fNDIKPj4gKyAgICBpZiAoZmxhZ3MgJiBBVklPX0ZMQUdfUkVBRCkgewo+PiArICAgICAgICBy ZXQgPSByaXN0X3JlY2VpdmVyX3NldF9vdXRwdXRfZmlmb19zaXplKHMtPmN0eCwgcy0+Zmlmb19z aXplKTsKPj4gKyAgICAgICAgaWYgKHJldCAhPSAwKSB7Cj4+ICsgICAgICAgICAgICBnb3RvIGVy cjsKPj4gKyAgICAgICAgfQo+PiArICAgIH0KPj4gKyNlbHNlCj4+ICsgICAgaWYgKHMtPmZpZm9f c2l6ZSAhPSBGRl9MSUJSSVNUX0ZJRk9fU0laRV9ERUZBVUxUKSB7Cj4+ICsgICAgICAgIGF2X2xv ZyhoLCBBVl9MT0dfRVJST1IsICJsaWJSSVNUIHByaW9yIHRvIDAuMi43IGhhcyBhIGJ1ZyB3aGlj aCBmYWlscyBzZXR0aW5nIHRoZSBmaWZvIGJ1ZmZlciBzaXplIik7Cj4gTWlzc2luZyBuZXdsaW5l IGF0IHRoZSBlbmQgb2YgbG9nIG1lc3NhZ2UuCj4KPj4gKyAgICB9Cj4+ICsjZW5kaWYKPj4gKwo+ PiAgICAgIGlmICgoKHMtPmVuY3J5cHRpb24gPT0gMTI4IHx8IHMtPmVuY3J5cHRpb24gPT0gMjU2 KSAmJiAhcy0+c2VjcmV0KSB8fAo+PiAgICAgICAgICAoKHBlZXJfY29uZmlnLT5rZXlfc2l6ZSA9 PSAxMjggfHwgcGVlcl9jb25maWctPmtleV9zaXplID09IDI1NikgJiYgIXBlZXJfY29uZmlnLT5z ZWNyZXRbMF0pKSB7Cj4+ICAgICAgICAgIGF2X2xvZyhoLCBBVl9MT0dfRVJST1IsICJzZWNyZXQg aXMgbWFuZGF0b3J5IGlmIGVuY3J5cHRpb24gaXMgZW5hYmxlZFxuIik7Cj4+IEBAIC0yMjMsOCAr MjQ1LDI0IEBAIHN0YXRpYyBpbnQgbGlicmlzdF9yZWFkKFVSTENvbnRleHQgKmgsIHVpbnQ4X3Qg KmJ1ZiwgaW50IHNpemUpCj4+ICAgICAgICAgIHJldHVybiBBVkVSUk9SX0VYVEVSTkFMOwo+PiAg ICAgIH0KPj4KPj4gKyNpZiBGRl9MSUJSSVNUX1ZFUlNJT04gPj0gRkZfTElCUklTVF9WRVJTSU9O XzQyCj4+ICsgICAgaWYgKGRhdGFfYmxvY2stPmZsYWdzICYgUklTVF9EQVRBX0ZMQUdTX09WRVJG TE9XID09IFJJU1RfREFUQV9GTEFHU19PVkVSRkxPVykgewo+PiArICAgICAgICBpZiAoIXMtPm92 ZXJydW5fbm9uZmF0YWwpIHsKPj4gKyAgICAgICAgICAgIGF2X2xvZyhoLCBBVl9MT0dfRVJST1Is ICJGaWZvIGJ1ZmZlciBvdmVycnVuLiAiCj4+ICsgICAgICAgICAgICAgICAgICAgICJUbyBhdm9p ZCwgaW5jcmVhc2UgZmlmb19zaXplIFVSTCBvcHRpb24uICIKPj4gKyAgICAgICAgICAgICAgICAg ICAgIlRvIHN1cnZpdmUgaW4gc3VjaCBjYXNlLCB1c2Ugb3ZlcnJ1bl9ub25mYXRhbCBvcHRpb25c biIpOwo+PiArICAgICAgICAgICAgc2l6ZSA9IEFWRVJST1IoRUlPKTsKPj4gKyAgICAgICAgICAg IGdvdG8gb3V0X2ZyZWU7Cj4+ICsgICAgICAgIH0gZWxzZSB7Cj4+ICsgICAgICAgICAgICBhdl9s b2coaCwgQVZfTE9HX1dBUk5JTkcsICJGaWZvIGJ1ZmZlciBidWZmZXIgb3ZlcnJ1bi4gIgo+PiAr ICAgICAgICAgICAgICAgICAgICAiU3Vydml2aW5nIGR1ZSB0byBvdmVycnVuX25vbmZhdGFsIG9w dGlvblxuIik7Cj4gJ2J1ZmZlciBidWZmZXInID8KPgo+PiArICAgICAgICB9Cj4+ICsgICAgfQo+ PiArI2VuZGlmCj4+ICsKPj4gICAgICBzaXplID0gZGF0YV9ibG9jay0+cGF5bG9hZF9sZW47Cj4+ ICAgICAgbWVtY3B5KGJ1ZiwgZGF0YV9ibG9jay0+cGF5bG9hZCwgc2l6ZSk7Cj4+ICtvdXRfZnJl ZToKPj4gI2lmIEZGX0xJQlJJU1RfVkVSU0lPTiA8IEZGX0xJQlJJU1RfVkVSU0lPTl80MQo+PiAg ICAgIHJpc3RfcmVjZWl2ZXJfZGF0YV9ibG9ja19mcmVlKChzdHJ1Y3QgcmlzdF9kYXRhX2Jsb2Nr KiopJmRhdGFfYmxvY2spOwo+PiAjZWxzZQo+PiAtLSAKPj4gMi4zMi4wCj4+Cj4+IF9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4+IGZmbXBlZy1kZXZlbCBt YWlsaW5nIGxpc3QKPj4gZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKPj4gaHR0cHM6Ly9mZm1wZWcu b3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVsCj4+Cj4+IFRvIHVuc3Vic2NyaWJlLCB2 aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbAo+PiBmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcu b3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo+IF9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCj4gZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdAo+IGZm bXBlZy1kZXZlbEBmZm1wZWcub3JnCj4gaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGlu Zm8vZmZtcGVnLWRldmVsCj4KPiBUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBhYm92ZSwgb3Ig ZW1haWwKPiBmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5z dWJzY3JpYmUiLgpUaGFua3Mgd2lsbCBjb3JyZWN0IQpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0CmZmbXBlZy1k ZXZlbEBmZm1wZWcub3JnCmh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBl Zy1kZXZlbAoKVG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCmZmbXBl Zy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIuCg==