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 3EBF9428FC for ; Tue, 5 Apr 2022 21:28:34 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1ABA768B1FB; Wed, 6 Apr 2022 00:28:33 +0300 (EEST) Received: from mail-wr1-f54.google.com (mail-wr1-f54.google.com [209.85.221.54]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 39FDD68AECD for ; Wed, 6 Apr 2022 00:28:27 +0300 (EEST) Received: by mail-wr1-f54.google.com with SMTP id k23so387438wrd.8 for ; Tue, 05 Apr 2022 14:28:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=FYkew+zfjPN99fB+3koQBhHfPHFejhSy4xa1uAatAys=; b=OIw/6n3Aecy+lpO6Q0p9jkFbZ2c9D0InYHMF6NPcmGV14xYp6AEAxPR3qmIK5ex1as ptntYLFp6cNlJTNw0fpjZxgwRhKKOqlv887FLdfS/Y/jSvTn1zt3vUmPWXCsozdTvnVt tJ+AI8KGyKIxxCEU/9U/JkEUYQ2j13ycVGAmg5PLkzWex8AHpZM28kINhbrajyHZuHNt Z9ULsV0aDx52LhCUVXSvgAUoOYPDMst0aKWoYj/voRBPOo+W3RyW+Ktt7zUki2P//LTq 5Sa1tJiyT253nkoofmmmu66CZ506W9gr52Xp++cco9OVc4B0zDgcocITU+pK0wXfp42a oLUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=FYkew+zfjPN99fB+3koQBhHfPHFejhSy4xa1uAatAys=; b=QUzIqUgiDt9kp5QTlkvTk0hACsG6FhQKOfgIyzPgH4rvWRerTCBCT2h6hs002D9mJp nXXZpz9tkyNECcxp3p2jzEj/oOXWvxTM61hAJKwv+3y3CjelQLBXqAh/QkLFC6LmXJP2 GmcFBccq6JiUMR5ISlCK5FEccNNzbMMw1Ly7W0RLhPp+Eaj+/JRDC8CRInVswu1DiDYt hx/k1+gl6+edXl6FneUzpNM6JTvr53JxMgs1saX7gt8yVhMpH9ZSCb8PKsG+/UD07lsK YOzsUFr5CBd3n+tuWqVIkxYshVYhvbmRe4KNBwxT68tfn7egCDnnXJp5phJeWa1oSMp2 Yn0w== X-Gm-Message-State: AOAM531VY/wJ5bvl/wHnUqIbAICbR2EX9O3HcOm80ARiMvKSaudgLrbQ xCxPdBeDpM6OH4P3DwEnC2LHmIntd3iCjVmusAtinxrtPB0= X-Google-Smtp-Source: ABdhPJz/uEGIDE76HEhXbQ7c/d0mY0EHpRaSteQM7z2aUDZsVuts2BBYNV7Dae3RQEXG2/JHnejLdET5fDLKmyO48yI= X-Received: by 2002:a5d:64aa:0:b0:206:132a:aeb5 with SMTP id m10-20020a5d64aa000000b00206132aaeb5mr4074615wrp.561.1649194106061; Tue, 05 Apr 2022 14:28:26 -0700 (PDT) MIME-Version: 1.0 References: <20220403223825.26764-1-markg85@gmail.com> <20220403223825.26764-2-markg85@gmail.com> <20220405210105.GY2829255@pb2> In-Reply-To: <20220405210105.GY2829255@pb2> From: Mark Gaiser Date: Tue, 5 Apr 2022 23:27:12 +0200 Message-ID: To: FFmpeg development discussions and patches X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH v12 1/1] avformat: Add IPFS protocol 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: michael@niedermayer.cc 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: T24gVHVlLCBBcHIgNSwgMjAyMiBhdCAxMTowMSBQTSBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNo YWVsQG5pZWRlcm1heWVyLmNjPgp3cm90ZToKCj4gT24gTW9uLCBBcHIgMDQsIDIwMjIgYXQgMTI6 Mzg6MjVBTSArMDIwMCwgTWFyayBHYWlzZXIgd3JvdGU6Cj4gPiBUaGlzIHBhdGNoIGFkZHMgc3Vw cG9ydCBmb3I6Cj4gPiAtIGZmcGxheSBpcGZzOi8vPGNpZD4KPiA+IC0gZmZwbGF5IGlwbnM6Ly88 Y2lkPgo+ID4KPiA+IElQRlMgZGF0YSBjYW4gYmUgcGxheWVkIGZyb20gc28gY2FsbGVkICJpcGZz IGdhdGV3YXlzIi4KPiA+IEEgZ2F0ZXdheSBpcyBlc3NlbnRpYWxseSBhIHdlYnNlcnZlciB0aGF0 IGdpdmVzIGFjY2VzcyB0byB0aGUKPiA+IGRpc3RyaWJ1dGVkIElQRlMgbmV0d29yay4KPiA+Cj4g PiBUaGlzIHByb3RvY29sIHN1cHBvcnQgKGlwZnMgYW5kIGlwbnMpIHRoZXJlZm9yZSB0cmFuc2xh dGVzCj4gPiBpcGZzOi8vIGFuZCBpcG5zOi8vIHRvIGEgaHR0cDovLyB1cmwuIFRoaXMgcmVzdWx0 aW5nIHVybCBpcwo+ID4gdGhlbiBoYW5kbGVkIGJ5IHRoZSBodHRwIHByb3RvY29sLiBJdCBjb3Vs ZCBhbHNvIGJlIGh0dHBzCj4gPiBkZXBlbmRpbmcgb24gdGhlIGdhdGV3YXkgcHJvdmlkZWQuCj4g Pgo+ID4gVG8gdXNlIHRoaXMgcHJvdG9jb2wsIGEgZ2F0ZXdheSBtdXN0IGJlIHByb3ZpZGVkLgo+ ID4gSWYgeW91IGRvIG5vdGhpbmcgaXQgd2lsbCB0cnkgdG8gZmluZCBpdCBpbiB5b3VyCj4gPiAk SE9NRS8uaXBmcy9nYXRld2F5IGZpbGUuIFRoZSB3YXlzIHRvIHNldCBpdCBtYW51YWxseSBhcmU6 Cj4gPiAxLiBEZWZpbmUgYSAtZ2F0ZXdheSA8dXJsPiB0byB0aGUgZ2F0ZXdheS4KPiA+IDIuIERl ZmluZSAkSVBGU19HQVRFV0FZIHdpdGggdGhlIGZ1bGwgaHR0cCBsaW5rIHRvIHRoZSBnYXRld2F5 Lgo+ID4gMy4gRGVmaW5lICRJUEZTX1BBVEggYW5kIHBvaW50IGl0IHRvIHRoZSBJUEZTIGRhdGEg cGF0aC4KPiA+IDQuIEhhdmUgSVBGUyBydW5uaW5nIGluIHlvdXIgbG9jYWwgdXNlciBmb2xkZXIg KHVuZGVyICRIT01FLy5pcGZzKS4KPiA+Cj4gWy4uLl0KPgo+ID4gKyAgICAgICAgZ290byBlcnI7 Cj4gPiArICAgIH0KPiA+ICsKPiA+ICsgICAgLy8gUmVhZCBhIHNpbmdsZSBsaW5lIChmZ2V0cyBz dG9wcyBhdCBuZXcgbGluZSBtYXJrKS4KPiA+ICsgICAgaWYgKCFmZ2V0cyhjLT5nYXRld2F5X2J1 ZmZlciwgc2l6ZW9mKGMtPmdhdGV3YXlfYnVmZmVyKSAtIDEsCj4gZ2F0ZXdheV9maWxlKSkgewo+ ID4gKyAgICAgIGF2X2xvZyhoLCBBVl9MT0dfV0FSTklORywgIlVuYWJsZSB0byByZWFkIGZyb20g ZmlsZSAoZnVsbCB1cmk6Cj4gJXMpLlxuIiwKPiA+ICsgICAgICAgICAgICAgaXBmc19nYXRld2F5 X2ZpbGUpOwo+ID4gKyAgICAgIHJldCA9IEFWRVJST1IoRU5PRU5UKTsKPiA+ICsgICAgICBnb3Rv IGVycjsKPiA+ICsgICAgfQo+Cj4gVGhlIGluZGVudGlvbiBpcyBub3QgY29uc2lzdGVudAo+CgpX aGF0J3MgdGhlIGludGVuZGVkIGluZGVudGF0aW9uIGhlcmU/CkluIG15IGVkaXRvciAoUXRDcmVh dG9yLCBpdCdzIHNldCB0byAyIHNwYWNlcyBmb3IgdGFicykgdGhlCiJpcGZzX2dhdGV3YXlfZmls ZSIgaXMgYWxpZ25lZCBkaXJlY3RseSB1bmRlcm5lYXRoIHRoZSBmaXJzdCBhcmd1bWVudCBvZgph dl9sb2cuClRoYXQgaXMgYXMgaXQgc2hvdWxkIGJlLCByaWdodD8KCkZvciB0aGlzIGFuZCB5b3Vy IG90aGVyIGNvbW1lbnRzLCBJIHNlZSBubyBpc3N1ZSBvbiBteSBzaWRlLiBBbHNvIG5vCnRyYWls aW5nIHdoaXRlc3BhY2UuCgpIZXJlJ3MgYW4gaW1hZ2Ugb2Ygd2hhdCBpIHNlZSB3aXRoIHNwYWNl cyB2aXN1YWxpemVzOgpodHRwczovL2kuaW1ndXIuY29tLzM3azY4UkgucG5nCklzIHRoZXJlIHNv bWV0aGluZyB3cm9uZyBvbiBteSBlbmQ/CgoKPgo+Cj4gWy4uLl0KPiA+ICsgICAgLy8gUG9wdWxh dGUgYy0+Z2F0ZXdheV9idWZmZXIgd2l0aCB3aGF0ZXZlciBpcyBpbiBjLT5nYXRld2F5Cj4gPiAr ICAgIGlmIChjLT5nYXRld2F5ICE9IE5VTEwpIHsKPiA+ICsgICAgICAgIGlmIChzbnByaW50Zihj LT5nYXRld2F5X2J1ZmZlciwgc2l6ZW9mKGMtPmdhdGV3YXlfYnVmZmVyKSwgIiVzIiwKPiA+ICsg ICAgICAgICAgICAgICAgICAgICBjLT5nYXRld2F5KSA+PSBzaXplb2YoYy0+Z2F0ZXdheV9idWZm ZXIpKSB7Cj4gPiArICAgICAgICAgICAgYXZfbG9nKGgsIEFWX0xPR19XQVJOSU5HLCAiVGhlIC1n YXRld2F5IHBhcmFtZXRlciBpcyB0b28KPiBsb25nLiAiCj4gPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAiV2UgYWxsb3cgYSBtYXggb2YgJXp1Cj4gY2hhcmFjdGVyc1xu IiwKPiA+ICsgICAgICAgICAgICAgICAgICAgc2l6ZW9mKGMtPmdhdGV3YXlfYnVmZmVyKSk7Cj4g PiArICAgICAgICAgICAgcmV0ID0gQVZFUlJPUihFSU5WQUwpOwo+ID4gKyAgICAgICAgICAgIGdv dG8gZXJyOwo+ID4gKyAgICAgICAgfQo+ID4gKyAgICB9IGVsc2Ugewo+ID4gKyAgICAgICAgLy8g UG9wdWxhdGUgdGhlIElQRlMgZ2F0ZXdheSBpZiB3ZSBoYXZlIGFueS4KPiA+ICsgICAgICAgIC8v IElmIG5vdCwgaW5mb3JtIHRoZSB1c2VyIGhvdyB0byBwcm9wZXJseSBzZXQgb25lLgo+ID4gKyAg ICAgICAgcmV0ID0gcG9wdWxhdGVfaXBmc19nYXRld2F5KGgpOwo+ID4gKwo+ID4gKyAgICAgICAg aWYgKHJldCA8IDEpIHsKPiA+ICsgICAgICAgICAgICAvLyBXZSBmYWxsYmFjayBvbiBkd2ViLmxp bmsgKG1hbmFnZWQgYnkgUHJvdG9jb2wgTGFicykuCj4gPiArICAgICAgICAgICAgc25wcmludGYo Yy0+Z2F0ZXdheV9idWZmZXIsIHNpemVvZihjLT5nYXRld2F5X2J1ZmZlciksICIKPiBodHRwczov L2R3ZWIubGluayIpOwo+ID4gKwo+ID4gKyAgICAgICAgICAgIGF2X2xvZyhoLCBBVl9MT0dfV0FS TklORywgIklQRlMgZG9lcyBub3QgYXBwZWFyIHRvIGJlCj4gcnVubmluZy4gIgo+ID4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIllvdeKAmXJlIG5vdyB1c2luZyB0aGUg cHVibGljCj4gZ2F0ZXdheSBhdCBkd2ViLmxpbmsuXG4iKTsKPiA+ICsgICAgICAgICAgICBhdl9s b2coaCwgQVZfTE9HX0lORk8sICJJbnN0YWxsaW5nIElQRlMgbG9jYWxseSBpcwo+IHJlY29tbWVu ZGVkIHRvICIKPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpbXByb3Zl IHBlcmZvcm1hbmNlIGFuZAo+IHJlbGlhYmlsaXR5LCAiCj4gPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAiYW5kIG5vdCBzaGFyZSBhbGwgeW91ciBhY3Rpdml0eQo+IHdpdGgg YSBzaW5nbGUgSVBGUyBnYXRld2F5LlxuIgo+ID4gKyAgICAgICAgICAgICAgICAgICAiVGhlcmUg YXJlIG11bHRpcGxlIG9wdGlvbnMgdG8gZGVmaW5lIHRoaXMKPiBnYXRld2F5LlxuIgo+ID4gKyAg ICAgICAgICAgICAgICAgICAiMS4gQ2FsbCBmZm1wZWcgd2l0aCBhIGdhdGV3YXkgcGFyYW0sICIK PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3aXRob3V0IGEgdHJhaWxp bmcgc2xhc2g6IC1nYXRld2F5Cj4gPHVybD4uXG4iCj4gPiArICAgICAgICAgICAgICAgICAgICIy LiBEZWZpbmUgYW4gJElQRlNfR0FURVdBWSBlbnZpcm9ubWVudCB2YXJpYWJsZQo+IHdpdGggdGhl ICIKPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmdWxsIEhUVFAgVVJM IHRvIHRoZSBnYXRld2F5ICIKPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICJ3aXRob3V0IHRyYWlsaW5nIGZvcndhcmQgc2xhc2guXG4iCj4gPiArICAgICAgICAgICAgICAg ICAgICIzLiBEZWZpbmUgYW4gJElQRlNfUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZSAiCj4gPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYW5kIHBvaW50IGl0IHRvIHRoZSBJ UEZTIGRhdGEgcGF0aCAiCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi LSB0aGlzIGlzIHR5cGljYWxseSB+Ly5pcGZzXG4iKTsKPiA+ICsgICAgICAgIH0KPiA+ICsgICAg fQo+Cj4gVGhpcyB3aWxsIHByaW50IHRoZSB3YXJuaW5nIGV2ZXJ5IHRpbWUgYSBpcGZzIHVybCBp cyBvcGVuZWQuIE5vdCBqdXN0IG9uY2UKPiBpcyB0aGF0IGludGVuZGVkID8KPgoKWWVzLgoKT3Ig cmF0aGVyLCBJIGRvbid0IHNlZSBob3cgdG8gbWFrZSBpdCBwZXJzaXN0ZW50IGluIGEgbmljZSBp bnR1aXRpdmUgd2F5LgpCeSBuaWNlIGludHVpdGl2ZSBJIG1lYW4gc2hvd2luZyBpdCBmb3IsIGxl dHMgc2F5LCAxMCB0aW1lcyB5b3UgdXNlIGZmbXBlZwp0byBiZSAic3VyZSIgeW91J3ZlIHNlZW4g aXQgYmVmb3JlIGl0IGNhbiBzdG9wIGFubm95aW5nIHRoZSB1c2VyIGFib3V0IGl0LgoKQWRkaW5n IGNvbXBsZXhpdHkgZm9yIHRoYXQgZG9lc24ndCBzZWVtIHRvIGJlIHdvcnRoIGl0IHRvIG1lLgoK Cj4KPgo+Cj4gPiArCj4gPiArICAgIC8vIFRlc3QgaWYgdGhlIGdhdGV3YXkgc3RhcnRzIHdpdGgg ZWl0aGVyIGh0dHA6Ly8gb3IgaHR0cHM6Ly8KPiA+ICsgICAgaWYgKGF2X3N0cmlzdGFydChjLT5n YXRld2F5X2J1ZmZlciwgImh0dHA6Ly8iLCBOVUxMKSA9PSAwCj4gPiArICAgICAgICAmJiBhdl9z dHJpc3RhcnQoYy0+Z2F0ZXdheV9idWZmZXIsICJodHRwczovLyIsIE5VTEwpID09IDApIHsKPiA+ ICsgICAgICAgIGF2X2xvZyhoLCBBVl9MT0dfV0FSTklORywgIlRoZSBnYXRld2F5IFVSTCBkaWRu J3Qgc3RhcnQgd2l0aAo+IGh0dHA6Ly8gb3IgIgo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAiaHR0cHM6Ly8gYW5kIGlzIHRoZXJlZm9yZQo+IGludmFsaWQuXG4iKTsKPiA+ ICsgICAgICAgIHJldCA9IEFWRVJST1IoRUlMU0VRKTsKPiA+ICsgICAgICAgIGdvdG8gZXJyOwo+ ID4gKyAgICB9Cj4gPiArCj4gPiArICAgIC8vIENvbmNhdGVuYXRlIHRoZSB1cmwuCj4gPiArICAg IC8vIFRoaXMgZW5kcyB1cCB3aXRoIHNvbWV0aGluZyBsaWtlOgo+IGh0dHA6Ly9sb2NhbGhvc3Q6 ODA4MC9pcGZzL1FtLi4uLi4KPiA+ICsgICAgLy8gVGhlIGZvcm1hdCBvZiAiJXMlcyVzJXMiIGlz IHRoZSBmb2xsb3dpbmc6Cj4gPiArICAgIC8vIDFzdCAlcyA9IFRoZSBnYXRld2F5Lgo+ID4gKyAg ICAvLyAybmQgJXMgPSBJZiB0aGUgZ2F0ZXdheSBkaWRuJ3QgZW5kIGluIGEgc2xhc2gsIGFkZCBh ICIvIi4KPiBPdGhlcndpc2UgaXQncyBhbiBlbXB0eSBzdHJpbmcKPiA+ICsgICAgLy8gM3JkICVz ID0gRWl0aGVyIGlwbnMvIG9yIGlwZnMvLgo+ID4gKyAgICAvLyA0dGggJXMgPSBUaGUgSVBGUyBD SUQgKFFtLi4uLCBiYWZ5Li4uLCAuLi4pLgo+ID4gKyAgICBmdWxsdXJpID0gYXZfYXNwcmludGYo IiVzJXMlcyVzIiwKPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIGMtPmdhdGV3YXlfYnVm ZmVyLAo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgKGMtPmdhdGV3YXlfYnVmZmVyW3N0 cmxlbihjLT5nYXRld2F5X2J1ZmZlcikKPiAtIDFdID09ICcvJykgPyAiIiA6ICIvIiwKPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgIChpc19pcG5zKSA/ICJpcG5zLyIgOiAiaXBmcy8iLAo+ ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgaXBmc19jaWQpOwo+ID4gKwo+ID4gKyAgICBp ZiAoIWZ1bGx1cmkpIHsKPiA+ICsgICAgICBhdl9sb2coaCwgQVZfTE9HX0VSUk9SLCAiRmFpbGVk IHRvIGNvbXBvc2UgdGhlIFVSTFxuIik7Cj4gPiArICAgICAgcmV0ID0gQVZFUlJPUihFTk9NRU0p Owo+ID4gKyAgICAgIGdvdG8gZXJyOwo+ID4gKyAgICB9Cj4KPiBhbm90aGVyIGluZGVudGlvbiBj YXNlCj4KPiBUaGVyZXMgYWxzbyBzb21lIHRyYWlsaW5nIHdoaXRlc3BhY2UgaW4gdGhlIHBhdGNo IGxlZnQKPgo+Cj4gTm8gbW9yZSBjb21tZW50cyBmcm9tIG1lLiBMR1RNIGFmdGVyIHRoZXNlIHRv IG1lIGkgdGhpbmsKPgoKQXdlc29tZSEKU3RpbGwgYSBWMTMgbWlnaHQgYmUgbmVlZGVkLi4uClRo b3VnaCB0aGF0IG1pZ2h0IGRlcGVuZCBvbiB5b3VyIGFuc3dlciB0byBteSBjb21tZW50IGFib3Zl IHdpdGggdGhlIGltYWdlCmxpbmsuCgoKPgo+IHRoeAo+Cj4gWy4uLl0KPiAtLQo+IE1pY2hhZWwg ICAgIEdudVBHIGZpbmdlcnByaW50OiA5RkYyMTI4QjE0N0VGNjczMEJBREYxMzM2MTFFQzc4NzA0 MEIwRkFCCj4KPiBNYW55IHRoYXQgbGl2ZSBkZXNlcnZlIGRlYXRoLiBBbmQgc29tZSB0aGF0IGRp ZSBkZXNlcnZlIGxpZmUuIENhbiB5b3UgZ2l2ZQo+IGl0IHRvIHRoZW0/IFRoZW4gZG8gbm90IGJl IHRvbyBlYWdlciB0byBkZWFsIG91dCBkZWF0aCBpbiBqdWRnZW1lbnQuIEZvcgo+IGV2ZW4gdGhl IHZlcnkgd2lzZSBjYW5ub3Qgc2VlIGFsbCBlbmRzLiAtLSBHYW5kYWxmCj4gX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBmZm1wZWctZGV2ZWwgbWFpbGlu ZyBsaXN0Cj4gZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKPiBodHRwczovL2ZmbXBlZy5vcmcvbWFp bG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKPgo+IFRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5r IGFib3ZlLCBvciBlbWFpbAo+IGZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBz dWJqZWN0ICJ1bnN1YnNjcmliZSIuCj4KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZt cGVnLm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwK ClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwt cmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=