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 EC4A64445F for ; Sat, 12 Nov 2022 10:00:47 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 929C168B7B2; Sat, 12 Nov 2022 12:00:43 +0200 (EET) Received: from mail-yw1-f174.google.com (mail-yw1-f174.google.com [209.85.128.174]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9BE7268A2E8 for ; Sat, 12 Nov 2022 12:00:37 +0200 (EET) Received: by mail-yw1-f174.google.com with SMTP id 00721157ae682-333a4a5d495so63941267b3.10 for ; Sat, 12 Nov 2022 02:00:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=qbbSw6FrDbTw7pD266PXmgOCokOT9A8Vyz9EbRostTc=; b=ArEY7dVuT/glE3IrRTvZ5DrbLzZdluhRoKkURnEz0e15EhrDFIBwrNiZV6JOAzPFkE sOBk0dRiVGFUGjtEV9HvZn2Bgij8KQ1UNETrewi82iI/hf+IPYGLdbgltZ1LNmb4OFiX 92vrOclldYRUoZ3VEMiFFzLS1IqcIB/G712SxIN7IS9HfxLVtsz6ZlG4CgIYpk75JjK7 qdaqKv6rs1M1q+8LYnZI/YQNMYImQFneiYMfSsWhbxvqnvZFTyHi3coV283eNyO/+cLR zA2N2FZDz3S4ANSzRLq2S0+w/ELTG2BgizO3eJufn1Xe4ZQDGGI21LhWev9zlbFTCQbf D1sA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc: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=qbbSw6FrDbTw7pD266PXmgOCokOT9A8Vyz9EbRostTc=; b=iYOmKhqFPCffaXjGwVisdP+bQV2LOVrqms5K5LGqft7FxtLNIDVQe4/N4AxL31wt06 WSKcc92zpVIs3Gj4vHBweYbCNJPkaeudGyZrPw7igBIw5Sx4DfIeT+hEkA/6dGPVplOg 3bTiWwdPgCZWO41HOCN3Jsm+Sw44FN6708QkA+Qlt2+NzswK4H/tjSohoTQs8zU2IEaK CLlgb/uf3Zlicf6+nw6hJlqc5BmXBvVnZ+28GCPw12a/FmrXgw0CwBdURDfSyPsOdloB k13d/poP8ufHPYU/TV9lHz8A2s/1+sq4fwoeb5es4jdnlPvrGuMTU3wRsDw52Ts2tspg hJYw== X-Gm-Message-State: ANoB5pkC4lmUviSN8kwREgsBwyDB6ljwDD3iVu9HUZQAgqP5bRFXCzNc aFhYYsJaYfeJD6VO8/Iebc4/BUdusdrD4xeLsoabG3nXeYnHzA== X-Google-Smtp-Source: AA0mqf6zLolfB13vF60H9qpwVTT8BVc/c1+a8To4pbS0b4Xf78Pb80n/woW1b7lAjjJlBDaOQuSL6yXmnYx5/BkV+Cw= X-Received: by 2002:a0d:d40c:0:b0:345:5eaf:446f with SMTP id w12-20020a0dd40c000000b003455eaf446fmr5486471ywd.468.1668247235414; Sat, 12 Nov 2022 02:00:35 -0800 (PST) MIME-Version: 1.0 References: <2be0f2b8-5320-4a81-994a-2b35cc2d3af6@EX-SZ063.tencent.com> In-Reply-To: From: Olivier Ayache Date: Sat, 12 Nov 2022 11:00:27 +0100 Message-ID: To: FFmpeg development discussions and patches X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [Internet][PATCH 00/12] Add MediaCodec encoder and NDK MediaCodec 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: matthieu.bouron@stupeflix.com, aman@tmm1.net 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: SGVsbG8gdGhlcmUgSSBpbXBsZW1lbnRlZCB0aGF0IGZldyB5ZWFycyBhZ28gaW4KaHR0cHM6Ly9n aXRodWIuY29tL29saXZpZXJheWFjaGUveHVnZ2xlLXh1Z2dsZXIvCkFuZCB3aGVuIEkgdHJpZWQg dG8gc3VibWl0IGEgcGF0Y2ggdG8gRkZtcGVnIGZvciBhZGQgc3VwcG9ydCBmb3IgTkRLIEkgaGFk CnJlY2VpdmVkIHRoaXMgYW5zd2VyLgpJIHRoaW5rIHVzaW5nIE5ESyBkaXJlY3RseSByYXRoZXIg dGhhbiBKTkkgY2FuIGJlIGJldHRlciBpbiBjYXNlIG9mCmRldmVsb3BpbmcgbmF0aXZlIGFwcGxp Y2F0aW9uIG9uIEFuZHJvaWQuCklmIEkgY2FuIGhlbHAgb24gdGhlc2Ugc3ViamVjdHMgSSB3b3Vs ZCBiZSByZWFsbHkgaGFwcHkKCk9saXZpZXIgQXlhY2hlCgoKCi0tLS0tLS0tLS0gRm9yd2FyZGVk IG1lc3NhZ2UgLS0tLS0tLS0tCkZyb206IE9saXZpZXIgQXlhY2hlIDxvbGl2aWVyLmF5YWNoZUBn bWFpbC5jb20+CkRhdGU6IFN1biwgSnVuIDI4LCAyMDIwIGF0IDI6NDggUE0KU3ViamVjdDogUmU6 IFtGRm1wZWctZGV2ZWxdIFtQQVRDSF0gYWRkIHN1cHBvcnQgdG8gQW5kcm9pZCBuZGsgTWVkaWFD b2RlYwpmb3IgZW5jb2RpbmcvZGVjb2RpbmcKVG86IDxmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZz4K CgpUaGFuayBmb3IgeW91ciByZXBsaWVzIEkgY2hvb3NlIHRoZSBOREsgYXBwcm9hY2ggaW4gb3Jk ZXIgdG8gIGJlIGFibGUgdG8gYmUKaW5kZXBlbmRhbnQgZnJvbSB0aGUgSlZNLCB0byBtYXhpbWl6 ZSBwZXJmb3JtYW5jZSBhbmQgdG8gYmUgc3VyZSB0byBkZXRlY3QKY29tcGF0aWJpbGl0eSBpc3N1 ZXMgKHVzaW5nIEpOSSBhcHByb2FjaCBjYW4gY29tcGlsZSBhbmQgY3Jhc2ggYXQgcnVudGltZSku CkNvbmNlcm5pbmcgdGhlIHZlcnNpb24gb2YgQW5kcm9pZCBpdCBpcyBjb21wYXRpYmxlIGZyb20g QVBJIDIxICg5NCUgb2YKZGV2aWNlcykKSSBhZ3JlZSB0aGF0IEpOSSBvdmVyaGVhZCBpcyBub3Qg YmlnIGJ1dCBpbiBjb21iaW5haXNvbiB3aXRoIFh1Z2dsZXIgaXQKc2VlbXMgdG8gbWUgYSBsaXR0 bGUgd2VpcmQgYmVjYXVzZSBYdWdnbGVyIChKYXZhIHBhcnQpIGFscmVhZHkgdXNlIEpOSSB0bwpp bnRlcmFjdCB3aXRoIFh1Z2dsZXIgKEMrKykgYW5kIEZGbXBlZy4gSWYgRkZtcGVnIHVzZXMgSk5J IGluIHRoZSBvdGhlciB3YXkKKGZyb20gYyB0byBKYXZhKSBpdCBzZWVtcyB0byBtZSBhbiBhbnRp IHBhdHRlcm4uCgpJZiB5b3UgdGhpbmsgaXQgaXMgYmV0dGVyIHRvIGJlZ2luIHRvIHVzZSBKTkkg SSBjb3VsZCB0cmFuc2Zvcm0gbXkgZW5jb2RlcgphbmQgd2UgY291bGQgZGlzY3VzcyBhYm91dCBO REsgYWZ0ZXIKCk9saXZpZXIKCgoKTGUgc2FtLiAyNyBqdWluIDIwMjAgw6AgMjA6NTUsIE1hcnRp biBTdG9yc2rDtiA8bWFydGluQG1hcnRpbi5zdD4gYSDDqWNyaXQgOgoKPiBPbiBTYXQsIDI3IEp1 biAyMDIwLCBPbGl2aWVyIEF5YWNoZSB3cm90ZToKPgo+ID4gSGkgZXZlcnlvbmUgdGhpcyBpcyB0 aGUgZmlyc3QgdGltZSBJIHBvc3Qgb24gdGhpcyBtYWlsaW5nIGxpc3QuIEkgYW0KPiA+IHdvcmtp bmcgc2luY2Ugc2V2ZXJhbCB5ZWFycyBvbiBhIGZvcmsgb2YgWHVnZ2xlciBmb3IgbWFuaXB1bGF0 aW5nIGZmbXBlZwo+ID4gQVBJIHdpdGggSmF2YS9Lb3RsaW4uCj4gPiBUaGlzIHdvcmsgbGVhZHMg bWUgdG8gZGV2ZWxvcCBlbmNvZGVyIGFuZCBkZWNvZGVyIGJhc2VkIG9uIEFuZHJvaWQgTkRLCj4g PiBNZWRpYUNvZGVjLgo+ID4KPiA+IFRoaXMgd29yayBjYW4gYmUgZm91bmQgb24gbXkgR2l0aHVi IHJlcG9zaXRvcnkKPiA+Cj4gPiBodHRwczovL2dpdGh1Yi5jb20vb2xpdmllcmF5YWNoZS94dWdn bGUteHVnZ2xlcgo+ID4KPiA+Cj4gPiBJIGtub3cgdGhhdCBGRm1wZWcgYWxyZWFkeSBpbnRlZ3Jh dGUgTWVkaWFDb2RlYyBmb3IgZGVjb2RpbmcgdmlhIEpuaQo+ID4gd3JhcHBlcnMgc2luY2UgdmVy c2lvbiAzLjEuIEkgYmVnYW4gdGhpcyB3b3JrIG9uIEZGbXBlZyAyLjgueCBhbmQgSQo+IGNob29z ZQo+ID4gdGhlIE5ESyBpbiBvcmRlciB0byBhY2hpZXZlIG9wdGltdW0gcGVyZm9ybWFuY2UuCj4K PiBJZiB5b3UgbWVhbiB5b3UgdXNlZCB0aGUgTkRLIE1lZGlhQ29kZWMgQVBJLCBJJ2Qgc3VnZ2Vz dCB5b3UgdXNlIHRoZSBzYW1lCj4gSk5JIHdyYXBwZXJzIGFzIGZmbXBlZyBoYXMgYWxyZWFkeSwg Zm9yIGNvbnNpc3RlbmN5LiBUaGUgb3ZlcmhlYWQgb2YgYSBmZXcKPiBKTkkgY2FsbHMgcGVyIGVu Y29kZWQgZnJhbWUgaXMgZ2VuZXJhbGx5IG5lZ2xpZ2libGUuIElmIGl0LCBhdCBhIGxhdGVyCj4g dGltZSwgaXMgZGVjaWRlZCB0byBkcm9wIHN1cHBvcnQgZm9yIG9sZGVyIHZlcnNpb25zIGF0IHNv bWUgcG9pbnQsIGl0Cj4gc2hvdWxkIGJlIHN0cmFpZ2h0Zm9yd2FyZCB0byBjb252ZXJ0IGl0IHRv IHVzZSB0aGUgTkRLIE1lZGlhQ29kZWMgQVBJCj4gaW5zdGVhZC4KPgo+IC8vIE1hcnRpbgo+Cj4g X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBmZm1wZWct ZGV2ZWwgbWFpbGluZyBsaXN0Cj4gZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKPiBodHRwczovL2Zm bXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKPgo+IFRvIHVuc3Vic2NyaWJl LCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbAo+IGZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBl Zy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIuCgoKT24gU2F0LCBOb3YgMTIsIDIwMjIg YXQgNjowNyBBTSBaaGFvIFpoaWxpIDxxdWlua2JsYWNrQGZveG1haWwuY29tPiB3cm90ZToKCj4K Pgo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPiA+IEZyb206IGZmbXBlZy1kZXZlbCA8 ZmZtcGVnLWRldmVsLWJvdW5jZXNAZmZtcGVnLm9yZz4gT24gQmVoYWxmIE9mIENoZW1hCj4gR29u emFsZXoKPiA+IFNlbnQ6IDIwMjLlubQxMeaciDEy5pelIDA6NTUKPiA+IFRvOiBGRm1wZWcgZGV2 ZWxvcG1lbnQgZGlzY3Vzc2lvbnMgYW5kIHBhdGNoZXMgPGZmbXBlZy1kZXZlbEBmZm1wZWcub3Jn Pgo+ID4gQ2M6IG1hdHRoaWV1LmJvdXJvbkBzdHVwZWZsaXguY29tOyBhbWFuQHRtbTEubmV0Cj4g PiBTdWJqZWN0OiBSZTogW0ZGbXBlZy1kZXZlbF0gW0ludGVybmV0XVtQQVRDSCAwMC8xMl0gQWRk IE1lZGlhQ29kZWMKPiBlbmNvZGVyIGFuZCBOREsgTWVkaWFDb2RlYyBzdXBwb3J0Cj4gPgo+ID4g T24gVGh1LCBOb3YgMTAsIDIwMjIgYXQgNzozNiBQTSAiemhpbGl6aGFvKOi1teW/l+eriykiIDxx dWlua2JsYWNrQGZveG1haWwuY29tPgo+IHdyb3RlOgo+ID4gPgo+ID4gPiBQaW5nIGZvciByZXZp ZXcuCj4gPiA+Cj4gPiA+ID4gT24gT2N0IDI0LCAyMDIyLCBhdCAxMToxNiwgWmhhbyBaaGlsaSA8 cXVpbmtibGFja0Bmb3htYWlsLmNvbT4KPiB3cm90ZToKPiA+ID4gPgo+ID4gPiA+IEZyb206IFpo YW8gWmhpbGkgPHpoaWxpemhhb0B0ZW5jZW50LmNvbT4KPiA+ID4gPgo+ID4gPiA+IEZpcnN0bHks IHNvbWUgYnVncyB3ZXJlIGZpeGVkIChwYXRjaCAxLTQpLgo+ID4gPiA+Cj4gPiA+ID4gUGF0Y2gg NSBhbmQgNiBtYWtlIG1lZGlhY29kZWNfd3JhcHBlciBzdXBwb3J0IEphdmEgTWVkaWFDb2RlYyBh bmQgTkRLCj4gPiA+ID4gTWVkaWFDb2RlYy4gVGhlIHVzZSBjYXNlIEknbSBjb25zaWRlcmluZyBp cyBydW4gRkZtcGVnIG9uIGNtZGxpbmUKPiB3aXRob3V0IEpWTSwKPiA+ID4gPiBmb3IgZXhhbXBs ZSwgcnVuIEZGbXBlZyBpbnNpZGUgb2YgdGVybXV4IChhbiBBbmRyb2lkIHRlcm1pbmFsCj4gZW11 bGF0b3IpLiBJdCdzCj4gPiA+ID4gd2VsbCBrbm93biB0aGF0IE5ESyBNZWRpYUNvZGVjIG1pc3Np bmcgc29tZSBpbXBvcnRhbnQgZnVuY3Rpb25zLAo+IGxpa2UgZ2V0IHRoZQo+ID4gPiA+IGxpc3Qg b2YgY29kZWNzLCBidXQgc3RpbGwgdXNlYWJsZS4KPiA+ID4gPgo+ID4gPiA+IFBhdGNoIDcgYWRk IE5ESyBNZWRpYUNvZGVjIGRlY29kZXIgc3VwcG9ydC4gSXQgY2FuIGJlIGVuYWJsZWQgdmlhCj4g b3B0aW9ucywKPiA+ID4gPiBhbmQgZW5hYmxlZCBhdXRvbWF0aWNhbGx5IGlmIG5vIEpWTSBpcyBh dmFpbGFibGUuCj4gPiA+ID4KPiA+ID4gPiBQYXRjaCA4IGFkZCBBTmF0aXZlV2luZG93IHN1cHBv cnQgdG8gaHdjb250ZXh0X21lZGlhY29kZWMuIEl0IGNhbiBiZQo+IHNldCBieQo+ID4gPiA+IHVz ZXIsIGFuZCBjYW4gYmUgY3JlYXRlZCB2aWEgQU1lZGlhQ29kZWNfY3JlYXRlUGVyc2lzdGVudElu cHV0U3VyZmFjZQo+ID4gPiA+IGF1dG9tYXRpY2FsbHkuIFRoaXMgaXMgYSBwcmVwYXJhdGlvbiBm b3IgZW5jb2Rlci4KPiA+ID4gPgo+ID4gPiA+IFBhdGNoIDkgbWFrZXMgTWVkaWFDb2RlYyBkZWNv ZGVyIHRvIHN1cHBvcnQgQU5hdGl2ZVdpbmRvdyBkaXJlY3RseS4KPiBJdCB3b3J0aAo+ID4gPiA+ IHRvIG5vdGUgdGhhdCBBVk1lZGlhQ29kZWNDb250ZXh0IGhhcyBvbmx5IHN1cmZhY2UuIEFsdGhv dWdoIHdlCj4gcHJvdmlkZWQKPiA+ID4gPiBhdl9tZWRpYWNvZGVjX2FsbG9jX2NvbnRleHQoKSwg d2UgZGlkbid0IHN0cmljdGx5IHByZXZlbnQgdXNlcnMgdG8KPiBhbGxvY2F0ZQo+ID4gPiA+IEFW TWVkaWFDb2RlY0NvbnRleHQgb24gc3RhY2suIEknbSBub3Qgc3VyZSBpZiBpdCdzIE9LIHRvIGFk ZCBuZXcKPiBmaWVsZCB0bwo+ID4gPiA+IEFWTWVkaWFDb2RlY0NvbnRleHQuCj4gPiA+ID4KPiA+ ID4gPiBQYXRjaCAxMCBhZGQgTWVkaWFDb2RlYyBlbmNvZGVyIHN1cHBvcnQuIEZyYW1lIGNhbiBi ZSBmZWVkIHRvCj4gZW5jb2RlciB2aWEKPiA+ID4gPiBidWZmZXIsIG9yIHZpYSBTdXJmYWNlL0FO YXRpdmVXaW5kb3cuIElmIFN1cmZhY2UvQU5hdGl2ZVdpbmRvdyBpcwo+IHVzZWQsIGFuZAo+ID4g PiA+IHRoZSBmcmFtZXMgY29tZSBmcm9tIG91ciBNZWRpYUNvZGVjIGRlY29kZXIgd3JhcHBlciwg d2UgY2FuIGNvbnRyb2wKPiBpdCdzCj4gPiA+ID4gJ3JlbmRlcicgKHNlbmQgdG8gZW5jb2Rlcidz IHN1cmZhY2UpIHZpYQo+IGF2X21lZGlhY29kZWNfcmVsZWFzZV9idWZmZXIoKS4gQSBEVFMKPiA+ ID4gPiBnZW5lcmF0aW9uIHN0cmF0ZWd5IHdvcmtzIGluIHRoaXMgY2FzZS4gSG93ZXZlciwgaWYg ZnJhbWVzIGNvbWVzCj4gZnJvbSBvdGhlcgo+ID4gPiA+IHNvdXJjZXMsIGxpa2UgYSBjYW1lcmEs IHRoZXJlIGlzIG5vIHdheSB0byBjb250cm9sIHRoZSAncmVuZGVyJyB5ZXQsCj4gc28gRFRTIGlz Cj4gPiA+ID4gbWlzc2luZyBpbiB0aGlzIGNhc2UuCj4gPiA+ID4KPiA+ID4gPiBGaW5hbGx5LCB3 ZSBjYW4gZG8gbWVkaWFjb2RlYyB0cmFuc2NvZGluZyB3aXRoIEZGbXBlZyBjbWRsaW5lIG9uCj4g QW5kcm9pZC4KPiA+ID4gPiBNb3JlIGltcG9ydGFudGx5LCB3ZSBjYW4gZG8gTWVkaWFDb2RlYyBk ZWNvZGVyIHRvIGVuY29kZXIgd2l0aG91dAo+IGNvcHkgZnJhbWVzLAo+ID4gPiA+IGFsdGhvdWdo IGl0J3MgdmVyeSBsaW1pdGVkIHNpbmNlIG1vc3Qgb2YgYXZmaWx0ZXJzIGRvZXNuJ3Qgd29yay4g Rm9yCj4gZXhhbXBsZToKPiA+ID4gPgo+ID4gPiA+IC4vZmZtcGVnIC1od2FjY2VsIG1lZGlhY29k ZWMgLWh3YWNjZWxfb3V0cHV0X2Zvcm1hdCBtZWRpYWNvZGVjIC1pCj4gL3NkY2FyZC90ZXN0Lm1w NCAtYW4gLWM6diBoMjY0X21lZGlhY29kZWMgLXkKPiA+IC9zZGNhcmQvb3V0Lm1wNAo+ID4KPiA+ IEhvdyBkbyB5b3UgYnVpbGQgdGhlIGZmbXBlZyBiaW5hcnkgeW91J3JlIHVzaW5nIGZvciBleHBl cmltZW50cyBpbiB0aGUKPiA+IGFuZHJvaWQgZGV2aWNlPwo+Cj4gSnVzdCBjb25maWd1cmUgd2l0 aCAtLWVuYWJsZS1tZWRpYWNvZGVjIGFuZCAtLWVuYWJsZS1qbmkuIEhlcmUgaXMgdGhlIGJ1aWxk Cj4gc2NyaXB0IEkgdXNlZCBmb3IgdGhlIGRldmVsb3BtZW50Lgo+Cj4gaHR0cHM6Ly9naXRodWIu Y29tL3F1aW5rLWJsYWNrL2ZmbXBlZy1jaS9ibG9iL21hc3Rlci9hbmRyb2lkX2ZmbXBlZy5zaAo+ Cj4gSGVyZSBpcyB0aGUgQW5kcm9pZCBTdHVkaW8gcHJvamVjdCB3aGljaCBjYW4gYmUgdXNlZCB0 byB0ZXN0IHRoZSBtZWRpYWNvZGVjCj4gd3JhcHBlciBpbXBsZW1lbnRlZCB2aWEgSk5JLgo+Cj4g Pgo+ID4KPiA+Cj4gPgo+ID4gPiA+Cj4gPiA+ID4gU2luY2UgdGhlcmUgaXMgbm8gcmVhbCBBVkhX RnJhbWVDb250ZXh0IGltcGxlbWVudGF0aW9uIGluCj4gaHdjb250ZXh0X21lZGlhY29kZWMuCj4g PiA+ID4gdGhlcmUgaXMgbm8gaHdmcmFtZV9jdHggZm9yIG1lZGlhY29kZWMgYW5kCj4gYXZfaHdm cmFtZV90cmFuc2Zlcl9kYXRhKCkgZG9lc24ndAo+ID4gPiA+IHdvcmsuIFNvIGlmIC1od2FjY2Vs X291dHB1dF9mb3JtYXQgaXNuJ3QgYmVpbmcgc3BlY2lmaWVkIGxpa2U6Cj4gPiA+ID4KPiA+ID4g PiAuL2ZmbXBlZyAtaHdhY2NlbCBtZWRpYWNvZGVjIC1pIC9zZGNhcmQvdGVzdC5tcDQgLWFuIC1j OnYKPiBoMjY0X21lZGlhY29kZWMgLXkgL3NkY2FyZC9vdXQubXA0Cj4gPiA+ID4KPiA+ID4gPiBJ dCB3aWxsIHRyaWdnZXIgYSBjcmFzaCBpbiBhdl9od2ZyYW1lX3RyYW5zZmVyX2RhdGEuIFBhdGNo IDExIGFkZCBhCj4gY2hlY2sgb24KPiA+ID4gPiBod2ZyYW1lX2N0eC4gUGF0Y2ggMTIgc2V0IGh3 YWNjZWxfb3V0cHV0X2Zvcm1hdCBhdXRvbWF0aWNhbGx5IHRvCj4gYXZvaWQgc3VjaAo+ID4gPiA+ IGNhc2UuCj4gPiA+ID4KPiA+ID4gPgo+ID4gPiA+IFpoYW8gWmhpbGkgKDEyKToKPiA+ID4gPiAg YXZjb2RlYy9tZWRpYWNvZGVjOiBmaXggaW5jb3JyZWN0IGNyb3AgaW5mbwo+ID4gPiA+ICBhdmNv ZGVjL21lZGlhY29kZWNkZWM6IGRvbid0IGJyZWFrIG91dCBpZiBib3RoIGlucHV0IGFuZCBvdXRw dXQgcG9ydAo+ID4gPiA+ICAgIHJldHVybiB0cnkgYWdhaW4KPiA+ID4gPiAgYXZjb2RlYy9tZWRp YWNvZGVjZGVjX2NvbW1vbjogZml4IG1pc3VzZSBhdl9mcmVlL2F2X2ZyZWVwCj4gPiA+ID4gIGF2 Y29kZWMvbWVkaWFjb2RlY2RlY19jb21tb246IGZpeCB1c2VsZXNzIGF2X2J1ZmZlcl91bnJlZgo+ ID4gPiA+ICBhdmNvZGVjL21lZGlhY29kZWNfd3JhcHBlcjogc2VwYXJhdGUgaW1wbGVtZW50YXRp b24gZnJvbSBpbnRlcmZhY2UKPiA+ID4gPiAgYXZjb2RlYy9tZWRpYWNvZGVjOiBhZGQgTkRLIG1l ZGlhIGNvZGVjIHdyYXBwZXIKPiA+ID4gPiAgYXZjb2RlYy9tZWRpYWNvZGVjZGVjOiBlbmFibGUg TkRLIG1lZGlhY29kZWMKPiA+ID4gPiAgYXZ1dGlsL2h3Y29udGV4dF9tZWRpYWNvZGVjOiBhZGQg QU5hdGl2ZVdpbmRvdyBzdXBwb3J0Cj4gPiA+ID4gIGF2Y29kZWMvbWVkaWFjb2RlYzogYWRkIEFO YXRpdmVXaW5kb3cgc3VwcG9ydAo+ID4gPiA+ICBhdmNvZGVjOiBhZGQgTWVkaWFDb2RlYyBlbmNv ZGVyCj4gPiA+ID4gIGF2dXRpbC9od2NvbnRleHQ6IHZlcmlmeSBod19mcmFtZXNfY3R4IGluIHRy YW5zZmVyX2RhdGFfYWxsb2MKPiA+ID4gPiAgZmZ0b29scy9mZm1wZWdfb3B0OiBzZXQgZGVmYXVs dCBod2FjY2VsX291dHB1dF9mb3JtYXQgZm9yIG1lZGlhY29kZWMKPiA+ID4gPgo+ID4gPiA+IENo YW5nZWxvZyAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArCj4gPiA+ID4gY29uZmlndXJl ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA2ICsKPiA+ID4gPiBmZnRvb2xzL2ZmbXBlZ19v cHQuYyAgICAgICAgICAgICAgfCAgIDQgKwo+ID4gPiA+IGxpYmF2Y29kZWMvTWFrZWZpbGUgICAg ICAgICAgICAgICB8ICAgMiArCj4gPiA+ID4gbGliYXZjb2RlYy9hbGxjb2RlY3MuYyAgICAgICAg ICAgIHwgICAyICsKPiA+ID4gPiBsaWJhdmNvZGVjL21lZGlhY29kZWNfc3VyZmFjZS5jICAgfCAg NDYgKy0KPiA+ID4gPiBsaWJhdmNvZGVjL21lZGlhY29kZWNfc3VyZmFjZS5oICAgfCAgIDggKy0K PiA+ID4gPiBsaWJhdmNvZGVjL21lZGlhY29kZWNfd3JhcHBlci5jICAgfCA5NDIKPiArKysrKysr KysrKysrKysrKysrKysrKysrKystLS0KPiA+ID4gPiBsaWJhdmNvZGVjL21lZGlhY29kZWNfd3Jh cHBlci5oICAgfCAyNzUgKysrKysrKy0tCj4gPiA+ID4gbGliYXZjb2RlYy9tZWRpYWNvZGVjZGVj LmMgICAgICAgIHwgIDIxICstCj4gPiA+ID4gbGliYXZjb2RlYy9tZWRpYWNvZGVjZGVjX2NvbW1v bi5jIHwgIDM1ICstCj4gPiA+ID4gbGliYXZjb2RlYy9tZWRpYWNvZGVjZGVjX2NvbW1vbi5oIHwg ICAxICsKPiA+ID4gPiBsaWJhdmNvZGVjL21lZGlhY29kZWNlbmMuYyAgICAgICAgfCA0OTUgKysr KysrKysrKysrKysrKwo+ID4gPiA+IGxpYmF2Y29kZWMvdmVyc2lvbi5oICAgICAgICAgICAgICB8 ICAgMiArLQo+ID4gPiA+IGxpYmF2dXRpbC9od2NvbnRleHQuYyAgICAgICAgICAgICB8ICAgNiAr LQo+ID4gPiA+IGxpYmF2dXRpbC9od2NvbnRleHRfbWVkaWFjb2RlYy5jICB8ICA1NiArLQo+ID4g PiA+IGxpYmF2dXRpbC9od2NvbnRleHRfbWVkaWFjb2RlYy5oICB8ICAxMSArCj4gPiA+ID4gbGli YXZ1dGlsL3ZlcnNpb24uaCAgICAgICAgICAgICAgIHwgICA0ICstCj4gPiA+ID4gMTggZmlsZXMg Y2hhbmdlZCwgMTc4MCBpbnNlcnRpb25zKCspLCAxMzggZGVsZXRpb25zKC0pCj4gPiA+ID4gY3Jl YXRlIG1vZGUgMTAwNjQ0IGxpYmF2Y29kZWMvbWVkaWFjb2RlY2VuYy5jCj4gPiA+ID4KPiA+ID4g PiAtLQo+ID4gPiA+IDIuMjUuMQo+ID4gPiA+Cj4gPiA+ID4KPiA+ID4KPiA+ID4gX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiA+ID4gZmZtcGVnLWRldmVs IG1haWxpbmcgbGlzdAo+ID4gPiBmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwo+ID4gPiBodHRwczov L2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKPiA+ID4KPiA+ID4gVG8g dW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCj4gPiA+IGZmbXBlZy1kZXZl bC1yZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIuCj4gPiBfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ID4gZmZtcGVnLWRl dmVsIG1haWxpbmcgbGlzdAo+ID4gZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKPiA+IGh0dHBzOi8v ZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAo+ID4KPiA+IFRvIHVuc3Vi c2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbAo+ID4gZmZtcGVnLWRldmVsLXJlcXVl c3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4KPgo+IF9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gZmZtcGVnLWRldmVsIG1haWxp bmcgbGlzdAo+IGZmbXBlZy1kZXZlbEBmZm1wZWcub3JnCj4gaHR0cHM6Ly9mZm1wZWcub3JnL21h aWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVsCj4KPiBUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGlu ayBhYm92ZSwgb3IgZW1haWwKPiBmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGgg c3ViamVjdCAidW5zdWJzY3JpYmUiLgo+Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QKZmZtcGVnLWRldmVsQGZm bXBlZy5vcmcKaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVs CgpUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBhYm92ZSwgb3IgZW1haWwKZmZtcGVnLWRldmVs LXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4K