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 128D540E6B for ; Fri, 11 Mar 2022 13:46:05 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B4C7068B0FD; Fri, 11 Mar 2022 15:46:03 +0200 (EET) Received: from mail-wr1-f46.google.com (mail-wr1-f46.google.com [209.85.221.46]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 37EF868AEAE for ; Fri, 11 Mar 2022 15:45:57 +0200 (EET) Received: by mail-wr1-f46.google.com with SMTP id x15so12969416wru.13 for ; Fri, 11 Mar 2022 05:45:57 -0800 (PST) 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; bh=+IUHVk8FDcUhHrE/NzVFHjOArNbU+9tOHGuK9KrILbY=; b=M7g4+0QrFeIACmgz3Dw7MEyF0dAzTZLJoLXYCCWI2tHYIEXaKNcMIM5rqwTU6GBqD6 jJJ3HUHD2h0Fc5hTP+A+hzAp9innT5BK7Q3pGoE38OkdsCXGDygY6OEXHQMT9YgwZlA2 fwpbKczMuDLzffq6ydoSP8M69Bk+sXaRF3H07heEE2OKnzNOZn4r9bTd2/xuFEBLFk3p r//r+ku/6iqLvD11QUjDxcvvj94GrFap9GO66qGA3aEC7TfrSpfTq+1kuooxfFwiryzd 5Vlw5dt5/Ue0MHeP3A46DnlXxRw33a9kO5zYwIHae/UPTrdM+M4EzgqDkMMK4dN4Z3v8 uHBg== 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; bh=+IUHVk8FDcUhHrE/NzVFHjOArNbU+9tOHGuK9KrILbY=; b=Sig3iWs/CLEJKjpyxgFb+7L9taH+O8fTyszMlYcqM4CcT8zL4XHs42zxymTEHUz8rJ nlKjjvir/nTa7sB7CewTL0+sy+pVmeMKw5CBPaa2f9uCTqi/OS8D1n9pqBeBQFrv47sp 8/PNfDCXnjFJ7z6R3sGcjFX/e1Q6+glj7AvUkYFmPdkBcSofISnAITl6gG38MJQkSrhH JYPe39y47N08TzpDsCSfDB5J0gEC337ZDaGIJh/8idUKbJOsWrGE5VhP/vFi8YXZc/E6 sYH1GjCpCZfk2wANI16qhBtzAn9hcqA/QOzhDYBV/dFFZn2HCX2KZIjft7C36nsgV8Z0 EQwQ== X-Gm-Message-State: AOAM533li2veHANT4AgmX9UddZEHaK0wwZtwvXRFYGQmfyLqhiMuJ6ir 2zr2NUgOJWunBZYPlXSfpot+paDbDLrHbOLCrcHK2ghx X-Google-Smtp-Source: ABdhPJyl7BzvwbgNfonp1MhQT+FWkvxtq9dY44CA8rmymdb4u/7/GiiMXuSoBnIOvStBQ33iUxvMf7EsxKqBNQ0kqBE= X-Received: by 2002:adf:9d8f:0:b0:1f1:e72e:72c with SMTP id p15-20020adf9d8f000000b001f1e72e072cmr7238775wre.561.1647006356021; Fri, 11 Mar 2022 05:45:56 -0800 (PST) MIME-Version: 1.0 References: <9d46b2e33342cef9793b1c71fb5a60aac9108ea1.camel@acc.umu.se> <20220301220134.GX2829255@pb2> <20220304180916.GD2829255@pb2> <20220308234522.GS2829255@pb2> <20220309093543.GT2829255@pb2> In-Reply-To: <20220309093543.GT2829255@pb2> From: Mark Gaiser Date: Fri, 11 Mar 2022 14:45:17 +0100 Message-ID: To: FFmpeg development discussions and patches X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH v8 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 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: T24gV2VkLCBNYXIgOSwgMjAyMiBhdCAxMDozNiBBTSBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNo YWVsQG5pZWRlcm1heWVyLmNjPgp3cm90ZToKCj4gT24gV2VkLCBNYXIgMDksIDIwMjIgYXQgMDE6 MzA6MzBBTSArMDEwMCwgTWFyayBHYWlzZXIgd3JvdGU6Cj4gPiBPbiBXZWQsIE1hciA5LCAyMDIy IGF0IDEyOjQ1IEFNIE1pY2hhZWwgTmllZGVybWF5ZXIgPAo+IG1pY2hhZWxAbmllZGVybWF5ZXIu Y2M+Cj4gPiB3cm90ZToKPiA+Cj4gPiA+IE9uIFR1ZSwgTWFyIDA4LCAyMDIyIGF0IDAxOjQ5OjIy UE0gKzAxMDAsIE1hcmsgR2Fpc2VyIHdyb3RlOgo+ID4gPiA+IE9uIEZyaSwgTWFyIDQsIDIwMjIg YXQgNzowOSBQTSBNaWNoYWVsIE5pZWRlcm1heWVyIDwKPiA+ID4gbWljaGFlbEBuaWVkZXJtYXll ci5jYz4KPiA+ID4gPiB3cm90ZToKPiA+ID4gPgo+ID4gPiA+ID4gT24gVGh1LCBNYXIgMDMsIDIw MjIgYXQgMDM6NTg6NTNQTSArMDEwMCwgTWFyayBHYWlzZXIgd3JvdGU6Cj4gPiA+ID4gPiA+IE9u IFR1ZSwgTWFyIDEsIDIwMjIgYXQgMTE6MDEgUE0gTWljaGFlbCBOaWVkZXJtYXllciA8Cj4gPiA+ ID4gPiBtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgo+ID4gPiA+ID4gPiB3cm90ZToKPiA+ID4gPiA+ ID4KPiA+ID4gPiA+ID4gPiBPbiBNb24sIEZlYiAyOCwgMjAyMiBhdCAwMjowOToxNVBNICswMTAw LCBUb21hcyBIw6RyZGluIHdyb3RlOgo+ID4gPiA+ID4gPiA+ID4gc8O2biAyMDIyLTAyLTI3IGts b2NrYW4gMTU6MjkgKzAxMDAgc2tyZXYgTWFyayBHYWlzZXI6Cj4gPiA+ID4gPiA+ID4gPiA+IFBp bmcgMi4uLi4KPiA+ID4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiA+ID4gSSdkIHJlYWxseSBs aWtlIHRvIGdldCB0aGlzIG1lcmdlZCEKPiA+ID4gPiA+ID4gPiA+ID4gVGhpcyBraW5kYSBibG9j a3MgbWUgcmlnaHQgbm93IGZyb20gcHJvY2VlZGluZyB3aXRoIElQRlMKPiA+ID4gPiA+IGludGVn cmF0aW9uCj4gPiA+ID4gPiA+ID4gPiA+IGluCj4gPiA+ID4gPiA+ID4gPiA+IEtvZGksIE1QViBh bmQgVkxDLiBJbXBsZW1lbnRhdGlvbnMgaW4gdGhvc2UgKHdobyByZWx5IG9uCj4gPiA+IGZmbXBl ZykKPiA+ID4gPiA+IGFyZQo+ID4gPiA+ID4gPiA+ID4gPiBzaWduaWZpY2FudGx5IGVhc2llciBv bmNlIHRoaXMgcGF0Y2ggaXMgZmluYWxseSBsYW5kZWQgaW4KPiA+ID4gZmZtcGVnLgo+ID4gPiA+ ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiA+IEknZCBsaWtlIHRvIGhlYXIgYXQgbGVhc3Qgb25lIG90 aGVyIGRldiBjaGltZSBpbiBvbiB0aGlzIG9uZQo+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4g d2hhdCBleGFjdGx5IGFyZSB5b3Ugbm90IHN1cmUgYWJvdXQgPwo+ID4gPiA+ID4gPiA+IHdoYXQg ZXhhY3RseSBuZWVkcyBhIDJuZCBsb29rID8KPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPgo+ID4g PiA+ID4gPiBNeSBhc3N1bXB0aW9uLgo+ID4gPiA+ID4gPiBJbiBnZW5lcmFsIGp1c3QgYSBzZWNv bmQgbG9vayBieSBzb21lb25lIG90aGVyIHRoYW4gVG9tYXMuCj4gPiA+ID4gPiA+IEFuZCwgYXMg aGUgd2FzIHNrZXB0aWNhbCBhYm91dCB0aGlzIHBhdGNoIGF0IGZpcnN0LCBsaWtlbHkKPiBhbm90 aGVyCj4gPiA+ID4gPiBvcGluaW9uCj4gPiA+ID4gPiA+IGlmIHRoaXMgbWFrZXMgc2Vuc2UgdG8g YWRkIGluIGZmbXBlZy4KPiA+ID4gPiA+ID4gVG8gbWUgaXQgZG9lcyB2ZXJ5IG11Y2ggYnV0IGkn bSBiaWFzZWQgOikKPiA+ID4gPiA+Cj4gPiA+ID4gPiBpcGZzIHN1cHBvcnQgbWFrZXMgc2Vuc2Ug dG8gYmUgYWRkZWQgdG8gZmZtcGVnLiBpdmUgc2VlbiBpcGZzIHVybHMKPiBhbmQKPiA+ID4gaXZl Cj4gPiA+ID4gPiBhbHJlYWR5IGJlZW4gYW5ub3llZCB0aGF0IHNvbWUgdG9vbHMgZG9udCAianVz dCIgd29yayB3aXRoIHRoZW0uCj4gPiA+ID4gPiBXaGlsZSBpZiBpIGNvbXBhcmUgdGhpcyB0byBt YW55IG90aGVyIGZvcm1hdHMgd2hpY2ggaSBoYXZlIG5ldmVyCj4gc2Vlbgo+ID4gPiA+ID4gb3V0 c2lkZSB0aGUgY29udGV4dCBvZiBGRm1wZWcuIFNvIGZyb20gdGhpcyBiaWFzZWQgc2luZ2xlIHNh bXBsZQo+IHRoYXQgaQo+ID4gPiA+ID4gYW0sIGlwZnMgc2VlbXMgbW9yZSB3aWRlc3ByZWFkIGFu ZCB0aGF0cyB3aHkgaWFtIGluIGZhdm9yIG9mIGl0cwo+ID4gPiBzdXBwb3J0Cj4gPiA+ID4gPgo+ ID4gPiA+ID4gdGh4Cj4gPiA+ID4gPgo+ID4gPiA+ID4gR3JlYXQgdG8gaGF2ZSB5b3VyIHN1cHBv cnQgOikKPiA+ID4gPiBSZWFkaW5nIHRoYXQgaXMgcXVpdGUgbW90aXZhdGluZyB0byB3b3JrIG9u IGl0LCBubyBqb2tlIQo+ID4gPiA+Cj4gPiA+ID4gSnVzdCB0byBiZSBjbGVhciBoZXJlLiBIYXZp bmcgdGhpcyBpbiBmZm1wZWcgd29uJ3QgbWFrZSBpdCAianVzdAo+IHdvcmsiCj4gPiA+IHlldC4K PiA+ID4gPiBGb3IgYSBtaW5pbWFsIGZlZWxpbmcgb2YgImhleSwgaXQgd29ya3Mgb3V0IG9mIHRo ZSBib3giIHlvdSdkIG5lZWQ6Cj4gPiA+ID4gLSBUaGUgbmV4dCBvciB2ZXJzaW9uIGFmdGVyIHRo ZSBuZXh0IElQRlMuCj4gPiA+ID4gLSBNUFYgc3VwcG9ydCB3aGljaCByZWxpZXMgb24gdGhpcyBw YXRjaCB0byBldmVuIGJlIHN1cHBvcnRlZCBpbiBtcHYKPiA+ID4gPiAtIEhhdmUgYSBub2RlIHJ1 bm5pbmcgbG9jYWxseQo+ID4gPgo+ID4gPiBpZiB0aGVyZXMgbm8gbG9jYWwgbm9kZSBpdCBzaG91 bGQgZmFsbGJhY2sgdG8gYSBwdWJsaWMgbm9kZQo+ID4gPiBBVE0KPiA+ID4gSVBGU19HQVRFV0FZ PWh0dHBzOi8vZHdlYi5saW5rIC4vZmZwbGF5IGlwZnM6Ly8uLi4KPiA+ID4gd29ya3MKPiA+ID4g c28gc3VjaCBhIGZhbGxiYWNrIGlzIGFsbCB0aGF0cyBuZWVkZWQgZm9yIGl0IHRvIGp1c3Qgd29y awo+ID4gPgo+ID4KPiA+IFllcywgdGhlIGJlYXV0eSBvZiBnYXRld2F5cy4KPiA+Cj4gPiBBcmUg eW91IHN1Z2dlc3RpbmcgdGhhdCBJIHVwZGF0ZSB0aGUgcGF0Y2ggdG8gYWRkIHRoaXMgZGVmYXVs dD8KPgo+IElhbSBub3Qgc3VyZQo+Cj4KPiA+IEkgd291bGQgcHJlZmVyIG5vdCB0byBhZGQgdGhh dCBldmVuIHRob3VnaCBpdCB3b3VsZCBnaXZlIGEgZmVlbGluZyBvZgo+ICJqdXN0Cj4gPiB3b3Jr cyIuCj4KPiA+IEknbSBtb3N0bHkgY29uY2VybmVkIGFib3V0IHRoZSBiYW5kd2lkdGggdXNhZ2Ug aXQgY291bGQgY2F1c2Ugb24gdGhhdAo+IHNpdGUuCj4KPiB5b3UgY291bGQgYWRkIG1vcmUgdGhh biBvbmUKPiB5b3UgY291bGQgcG9pbnQgcGVvcGxlIHRvIGh0dHBzOi8vaXBmcy5pby9pcG5zL2lw bnNvLmNvbS8gdG8gbGV0IHRoZW0KPiBzZWxlY3QKPiB0aGVpciBvd24gb3IgbWF5YmUgdGhlcmVz IGEgYmV0dGVyIHdheQo+Cj4KPiA+IEJ1dCBhbHNvIGFib3V0IHBvdGVudGlhbCBoYWNrcy4gSWYg dGhpcyBpcyBhIGRlZmF1bHQgYW5kIHdlbGwgdXNlZCB0aGVuCj4gaXQKPiA+IGJlY29tZXMgcXVp dGUgYXBwZWFsaW5nIGZvciBoYWNrZXJzIHRvIHRha2UgY29udHJvbCBvZiBkd2ViLmxpbmsgYW5k IHNlbmQKPiA+IGJhY2sgZGF0YSB0aGF0IHdhc24ndCByZXF1ZXN0ZWQuCj4KPiBUaGF0cyBhIHZh bGlkIGNvbmNlcm4gYnV0IG5vdCBhZGRpbmcgYSBkZWZhdWx0IGlzIG5vdCByZWFsbHkgc29sdmlu ZyB0aGlzCj4gQmVjYXVzZSB3aGF0IGRvIG1vc3QgcGVvcGxlIGRvIHRoZW4gPwo+IFRoZXkgZ29v Z2xlIGZvciBhIGdhdGV3YXkgYW5kIHBpY2sgdGhlIGZpcnN0IHRoYXQgd29ya3MuCj4gVGhhdHMg cGxhdXNpYmx5IG5vdCBnb2luZyB0byBnaXZlIHRoZW0gdGhlIGZhc3Rlc3Qgbm9yIHRoZSBtb3N0 IHNlY3VyZSBub3IKPiBldmVuIG5vdCB0aGUgc2FtZSBhcyB0aGUgbGFzdCBtaWxsaW9uIHBlb3Bs ZSBzZWFyY2hpbmcuCj4KPiBUbyBzZXR1cCBhIGlwZnMgbm9kZSBvbiBvbmVzIG93biBtYWNoaWVu ZSwgZmlyc3QgaXQgd291bGQgYmUgbmVlZGVkIHRoYXQKPiB0aGlzCj4gaXMgVkVSWSBzaW1wbGUg YW5kIGNsZWFuCj4gaWYgaSBydW4gImFwdCBzZWFyY2ggaXBmcyIsIHRoZXJlcyBub25lLCBzbyB0 aGF0IGFscmVhZHkgZmFpbHMgaGVyZQo+IGJ1dCBmb3IgdGhlIGZ1biwgaSB0cmllZCB0byBzZWFy Y2ggZm9yIGlwZnMgbm9kZSBvbiB0aGUgYXBwIHN0b3JlIG9uIG15Cj4gaXBob25lCj4gbm8sIGFs c28gbm90aGluZy4KPgo+IHNvIGkgZG9udCB0aGluayAiaW5zdGFsbCBhbiBpcGZzIG5vZGUiIGlz IHJlYWxseSBhIHZpYWJsZSBzb2x1dGlvbiBmb3IgdGhlCj4gYXZlcmFnZSBqb2UuCj4KPiB3ZSBo YXZlIGEgd2lkZSByYW5nZSBvZiBwbGF0Zm9ybXMsIGxpbnV4LCB3aW5kb3dzLCBhbmRyb2lkLCBp b3MganVzdCB0bwo+IG5hbWUKPiB0aGUgbWFqb3Igb25lcy4gVGhpcyBwcm90b2NvbCBzaG91bGQg d29yayBvbiBhbGwgb2YgdGhlbS4KPiBJIHRoaW5rIGEgZGVmYXVsdCBnYXRld2F5IGlzIHRoZSBl YXN5IHdheSB0byBtYWtlIHRoYXQgaGFwcGVuLCBhc2tpbmcgdGhlCj4gdXNlciB0byBzZXQgYSBn YXRld2F5IHdpbGwgYWxyZWFkeSBsZWF2ZSBhbmRyb2lkIGFuZCBpcGhvbmUgdXNlcnMgcHJvYmFi bHkKPiB3b25kZXJpbmcgaG93IHRvIGRvIHRoYXQuIElzIHRoZXJlIGEgd2F5ID8KPgo+IFNvIHJl YWxseSBpYW0gbm90IHNheWluZyAiYWRkIGEgZGVmYXVsdCIsIGlhbSByZWFsbHkgc2F5aW5nICJt YWtlIGl0IHdvcmsKPiBmb3IgZXZlcnlvbmUiLCBpdHMgb2sgaWYgdGhlIHVzZXIgaGFzIHRvIGNo b29zZSBvbmUgb3Igc2V0IHNvbWUgZGVmYXVsdCBidXQKPiBpdCByZWFsbHkgaGFzIHRvIHdvcmsg b24gYWxsIHBsYXRmb3JtcyBhbmQgd2l0aCBhbGwgdXNlciBhcHBzIHVzaW5nCj4gbGliYXZmb3Jt YXQuIEl0IHNob3VsZCBub3QgYmUgc3BlY2lmaWMgdG8gbXB2IG9yIHdpbmRvd3MvbGludXgKPgo+ IHlvdSBjYW4gYWxzbyBwcmludCBhIGJpZyBuYXN0eSB3YXJuaW5nIHRoYXQgYSBkZWZhdWx0IGlz IHVzZWQgYW5kIHRoZSB1c2VyCj4gc2hvdWxkIHJlYWxseSBzZXR1cCB0aGVpciBvd24gbm9kZSBh bmQgd2h5IHRoYXQgaXMgYmV0dGVyLgo+CgpTb3JyeSBmb3IgdGhlIGJlbGF5ZWQgcmVzcG9uc2Ug YnV0IGkgaGFkIHRvIGRpc2N1c3MgdGhpcyB3aXRoIHNvbWVvbmUgZnJvbQpQcm90b2NvbCBMYWJz ICh0aGV5IG1hbmFnZSBJUEZTKS4KCkknZCBsaWtlIHRvIHByb3Bvc2UgdGhlIGZvbGxvd2luZzoK CjEuIEZpcnN0IGFuZCBmb3JlbW9zdCwgdGhlIGdhdGV3YXkgZGV0ZWN0aW9uIHN0dWZmIGlzIHVz ZWQuIElmIGFsbCBvZiB0aGF0CnN0aWxsIGV2YWx1YXRlcyB0byBubyBnYXRld2F5IHRoZW4gYSBm YWxsYmFjayBvbiBkd2ViLmxpbmsgd2lsbCBiZSB1c2VkLiBJCmhhdmUgYXNrZWQgdGhlbSBmb3Ig dGhlaXIgYXBwcm92YWwuIFRoaXMgd291bGQgYmUgdGhlIG1vc3QgaWRlYWwgZ2F0ZXdheSBhcwpp dCBpcyBtYW5hZ2VkIGJ5IHRoZSBzYW1lIGNvbXBhbnkgYXMgSVBGUyAoUHJvdG9jb2wgTGFicyku IEFwcHJvdmFsIG9uCnRoZWlyIHBhcnQgaXMgYWxyZWFkeSBhIG5lYXIgY2VydGFpbiB5ZXMgYnV0 IGknbSBzdGlsbCB3YWl0aW5nIG9uIGFuCmV4cGxpY2l0IE9LIGZyb20gdGhlaXIgZW5kIHdpdGgg dGhlIGtub3dsZWRnZSB0aGF0IHRoaXMgbWlnaHQgYmVjb21lIGEKYmFuZHdpZHRoIGJlYXN0IG9u Y2UgaSBjb21wbGV0ZSBzcGVjaWZpY2FsbHkgdGhlIEtPREkgc2lkZSBvZiBpcGZzIGhhbmRsaW5n Cih3aGljaCB3b3VsZCB1c2UgdGhpcyBJUEZTIHBhdGgpLgoyLiBUaGVyZSB3b24ndCBiZSBhbnkg b3RoZXIgZmFsbGJhY2sgZ2F0ZXdheQozLiBUaGUgYWJvdmUgbWVudGlvbmVkIGZhbGxiYWNrIGdh dGV3YXkgd2lsbCBiZSBoYXJkY29kZWQuIFNvIG5vIGV4dHJhCmNvbW1hbmQgYXJndW1lbnQgdG8g Y2hhbmdlIGl0LiBDaGFuZ2luZyBpdCBsYXRlciB3b3VsZCBiZSBhIHBhdGNoIHRvIGZmbXBlZy4K NC4gV2hlbiB0aGUgZmFsbGJhY2sgZ2F0ZXdheSBpcyB1c2VkLCBwcmludCBhIHdhcm5pbmcgdGhh dCBhIHVzZXIgc2hvdWxkCmluc3RhbGwgYSBsb2NhbCBnYXRld2F5IGluc3RlYWQuIFNvbWV0aGlu ZyBhbG9uZyB0aG9zZSBsaW5lcy4gSnVzdCB0bwptb3RpdmF0ZSB0aGUgdXNlIG9mIGxvY2FsIGdh dGV3YXlzLgoKT24gdGhlIGJyaWdodCwgYW5kIHRoYXQncyBhd2Vzb21lLCBpdCB3aWxsIG1lYW4g dGhhdCBpcGZzIHVybCdzIHdpbGwganVzdAp3b3JrIQpUaGF0IGluY2x1ZGVzIG1vYmlsZSBwbGF0 Zm9ybXMgdG9vISBXaGljaCBpcyBhIHJlYWxseSBiaWcgd2luIGltaG8gYmVjYXVzZQptb2JpbGUv ZW1iZWRkZWQgbWlnaHQgbm90IGJlIGFibGUgdG8gY2hhbmdlIGZmbXBlZyBzZXR0aW5ncy9mbGFn cyBhdCBhbGwuCkFsc28gZm9yIG1wdiwgdmxjIGFuZCBrb2RpIChteSBuZXh0IHByb2plY3RzIGFm dGVyIGl0IGxhbmRzIGhlcmUpIGl0IHdpbGwKZ2l2ZSBhbiBpbXByZXNzaW9uIG9mICJpcGZzIHVy bHMgd29yayBvdXQgb2YgdGhlIGJveCIKClRoZSBkb3duc2lkZSBpcyB0aGUgcmVsaWFuY2Ugb24g ZHdlYi5saW5rLgpUaGVyZWZvcmUgaSdkIGxpa2UgdG8gYXNrIHlvdXIgZXhwbGljaXQgcGVybWlz c2lvbiB0aGF0IGEgcmVsaWFuY2Ugb24gLQplZmZlY3RpdmVseSBhbm90aGVyIHNlcnZpY2UgLSBp cyBPSyEKCkknbGwgc2VuZCBhIG1haWwgd2l0aCBhIG5ldyBwYXRjaCBvbmNlIHlvdXIgYXBwcm92 YWwgYW5kIHRoYXQgb2YgcHJvdG9jb2wKbGFicyBhcmUga25vd24gdG8gbWUuCgoKPgo+IHRoeAo+ Cj4gPgo+ID4gSWYgeW91IGluc2lzdCB0aGlzIHdvdWxkIGJlIHJlYWxseSBiZXR0ZXIgdG8gYWRk IHRoZW4gSSdsbCBuZWVkIHRvIGdvCj4gZmluZAo+ID4gdGhlIG9uZXMgbWFuYWdpbmcgdGhhdCBz aXRlIChwYXlpbmcgZm9yIGl0KSB0byBhc2sgcGVybWlzc2lvbiBpZiB0aGlzCj4gd291bGQKPiA+ IGJlIGFsbG93ZWQuCj4KPiBbLi4uXQo+IC0tCj4gTWljaGFlbCAgICAgR251UEcgZmluZ2VycHJp bnQ6IDlGRjIxMjhCMTQ3RUY2NzMwQkFERjEzMzYxMUVDNzg3MDQwQjBGQUIKPgo+IENvbXBsZXhp dHkgdGhlb3J5IGlzIHRoZSBzY2llbmNlIG9mIGZpbmRpbmcgdGhlIGV4YWN0IHNvbHV0aW9uIHRv IGFuCj4gYXBwcm94aW1hdGlvbi4gQmVuY2htYXJraW5nIE9UT0ggaXMgZmluZGluZyBhbiBhcHBy b3hpbWF0aW9uIG9mIHRoZSBleGFjdAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCj4gZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdAo+IGZmbXBlZy1kZXZl bEBmZm1wZWcub3JnCj4gaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVn LWRldmVsCj4KPiBUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBhYm92ZSwgb3IgZW1haWwKPiBm Zm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUi Lgo+Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmZmbXBl Zy1kZXZlbCBtYWlsaW5nIGxpc3QKZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKaHR0cHM6Ly9mZm1w ZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVsCgpUbyB1bnN1YnNjcmliZSwgdmlz aXQgbGluayBhYm92ZSwgb3IgZW1haWwKZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3 aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4K