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 359364B7CA for ; Thu, 13 Jun 2024 14:20:55 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5C0B968D9FA; Thu, 13 Jun 2024 17:20:53 +0300 (EEST) Received: from b-painless.mh.aa.net.uk (b-painless.mh.aa.net.uk [81.187.30.52]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 263BA68D8A6 for ; Thu, 13 Jun 2024 17:20:46 +0300 (EEST) Received: from a.8.6.e.1.b.d.6.4.1.4.c.e.2.e.7.0.5.8.0.9.1.8.0.0.b.8.0.1.0.0.2.ip6.arpa ([2001:8b0:819:850:7e2e:c414:6db1:e68a] helo=andrews-2024-laptop.sayers) by painless-b.tch.aa.net.uk with esmtp (Exim 4.96) (envelope-from ) id 1sHlJl-000XOD-0x for ffmpeg-devel@ffmpeg.org; Thu, 13 Jun 2024 15:20:45 +0100 Date: Thu, 13 Jun 2024 15:20:38 +0100 From: Andrew Sayers To: FFmpeg development discussions and patches Message-ID: References: <20240418150614.3952107-1-ffmpeg-devel@pileofstuff.org> <20240604144919.213799-1-ffmpeg-devel@pileofstuff.org> <20240604144919.213799-2-ffmpeg-devel@pileofstuff.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: Subject: Re: [FFmpeg-devel] [PATCH v6 1/4] doc: Explain what "context" means 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: T24gV2VkLCBKdW4gMTIsIDIwMjQgYXQgMTA6NTI6MDBQTSArMDIwMCwgU3RlZmFubyBTYWJhdGlu aSB3cm90ZToKPiBPbiBkYXRlIFR1ZXNkYXkgMjAyNC0wNi0wNCAxNTo0NzoyMSArMDEwMCwgQW5k cmV3IFNheWVycyB3cm90ZToKWy4uLl0KPiBNeSBpbXByZXNzaW9uIGlzIHRoYXQgdGhpcyBpcyBn cm93aW5nIG91dCBvZiBzY29wZSBmb3IgYQo+IHJlZmVyZW5jZS4gVGhlIGRveHkgaXMgYSByZWZl cmVuY2UsIHRoZXJlZm9yZSBpdCBzaG91bGQgYmUgY2xlYW4gYW5kCj4gdGVyc2UsIGFuZCB3ZSBz aG91bGQgYXZvaWQgYWRkaW5nIHRvbyBtdWNoIGluZm9ybWF0aW9uLCBlbm91Z2gKPiBpbmZvcm1h dGlvbiBzaG91bGQgYmUgcmlnaHQgZW5vdWdoLiBJbiBmYWN0LCBhIHJlZmVyZW5jZSBpcyBkaWZm ZXJlbnQKPiBmcm9tIGEgdHV0b3JpYWwsIGFuZCBtdWNoIGRpZmZlcmVudCBmcm9tIGEgQyB0dXRv cmlhbC4gQWxzbyB0aGlzIGlzCj4gbm90IGEgdHJlYXRpc2UgY29tcGFyaW5nIGRpZmZlcmVudCBs YW5ndWFnZXMgYW5kIGZyYW1ld29ya3MsIGFzIHRoaXMKPiB3b3VsZCBjb25mdXNlIGJlZ2lubmVy cyBhbmQgd291bGQgYW5ub3kgZXhwZXJpZW5jZWQgZGV2ZWxvcGVycy4KPiAKPiBJIHByb3Bvc2Ug dG8gY3V0IHRoaXMgcGF0Y2ggdG8gcHJvdmlkZSB0aGUgbWluaW1hbCBpbmZvcm1hdGlvbiB5b3Ug Y2FuCj4gZXhwZWN0IGluIGEgcmVmZXJlbmNlLCBidXQgbm90IG1vcmUgdGhhbiB0aGF0LiBBZGRp dGlvbiBjYW4gYmUgYWRkZWQKPiBsYXRlciwgYnV0IEkgdGhpbmsgd2Ugc2hvdWxkIHRyeSB0byBh dm9pZCBhbnkgdW5uZWNlc3NhcnkgY29udGVudCwgaW4KPiB0aGUgc3Bpcml0IG9mIGtlZXBpbmcg dGhpcyBhIHJlZmVyZW5jZS4gTW9yZSBleHRlbnNpdmUgZGlzY3Vzc2lvbnMKPiBtaWdodCBiZSBk b25lIGluIGEgc2VwYXJhdGUgcGxhY2UgKHRoZSB3aWtpLCBhIGJsb2cgcG9zdCBldGMuKSwgYnV0 IGluCj4gdGhlIHNwaXJpdCBvZiBhIGtlZXBpbmcgdGhpcyBhIHJlZmVyZW5jZSB0aGV5IHNob3Vs ZCBub3QgYmUgcHV0IGhlcmUuCgpJIHdvdWxkIGFncmVlIGlmIHdlIGhhZCBhIHRyYWRpdGlvbiBv ZiBsaW5raW5nIHRvIHRoZSB3aWtpIG9yIHJlZ3VsYXIgYmxvZwpwb3N0cywgYnV0IGV2ZW4gcHJv cG9zaW5nIGludGVybmFsIGxpbmtzIGhhcyBnZW5lcmF0ZWQgcHVzaGJhY2sgaW4gdGhpcyB0aHJl YWQsCnNvIHRoYXQgZmVlbHMgbGlrZSBtYWtpbmcgdGhlIHBlcmZlY3QgdGhlIGVuZW15IG9mIHRo ZSBnb29kLiAgTGV0J3MgZ2V0IHRoaXMKY29tbWl0dGVkLCBzZWUgaG93IHBlb3BsZSByZWFjdCwg dGhlbiBsb29rIGZvciBpbXByb3ZlbWVudHMuCgpJbiBmYWN0LCBvbmNlIHRoaXMgaXMgYXZhaWxh YmxlIGluIHRoZSB0cnVuayB2ZXJzaW9uIG9mIHRoZSB3ZWJzaXRlLAp3ZSBzaG91bGQgYXNrIGZv ciBmZWVkYmFjayBmcm9tIHRoZSBsaWJhdi11c2VyIE1MIGFuZCAjZmZtcGVnIElSQyBjaGFubmVs LgpUaGVuIHdlIGNhbiBleHBhbmQvbW92ZS9yZW1vdmUgc3R1ZmYgYmFzZWQgb24gZmVlZGJhY2su Cgo+IAo+ID4gKwo+ID4gK0BzZWN0aW9uIENvbnRleHRfZ2VuZXJhbCDigJxDb250ZXh04oCdIGFz IGEgZ2VuZXJhbCBjb25jZXB0ClsuLi5dCj4gSSdkIHNraXAgYWxsIHRoaXMgcGFydCwgYXMgd2Ug YXNzdW1lIHRoZSByZWFkZXIgaXMgYWxyZWFkeSBmYW1pbGlhcgo+IHdpdGggQyBsYW5ndWFnZSBh bmQgd2l0aCBkYXRhIGVuY2Fwc3VsYXRpb24gdGhyb3VnaCBzdHJ1Y3QsIGlmIGhlIGlzCj4gbm90 IHRoaXMgaXMgbm90IHRoZSByaWdodCBwbGFjZSB3aGVyZSB0byB0ZWFjaCBhYm91dCBDIGxhbmd1 YWdlCj4gZnVuZGFtZW50YWxzLgoKSSBkaXNhZ3JlZSwgZm9yIGEgcmVhc29uIEkndmUgYmVlbiBs b29raW5nIGZvciBhbiBleGN1c2UgdG8gbWVudGlvbiA6KQoKTGV0J3MgYXNzdW1lIDkwJSBvZiBw ZW9wbGUgd2hvIHVzZSBGRm1wZWcgYWxyZWFkeSBrbm93IHNvbWV0aGluZyBpbiB0aGUgZG9jLgpZ b3UgY291bGQgc2F5IHRoYXQgcGFydCBvZiB0aGUgZG9jIGlzIHVzZWxlc3MgdG8gOTAlIG9mIHRo ZSBhdWRpZW5jZS4KT3IgeW91IGNvdWxkIHNheSB0aGF0IDkwJSBvZiBGRm1wZWcgdXNlcnMgYXJl IG5vdCBvdXIgYXVkaWVuY2UuCgpMb29raW5nIGF0IGl0IHRoZSBzZWNvbmQgd2F5IG1lYW5zIHlv dSBuZWVkIHRvIHNwZW5kIG1vcmUgdGltZSBvbiAicm91dGluZyIgLQpsaW5raW5nIHRvIHRoZSBk b2N1bWVudCBpbiB3YXlzIHRoYXQgKG9ubHkpIGF0dHJhY3QgeW91ciB0YXJnZXQgYXVkaWVuY2Us Cm1ha2luZyBhIHRhYmxlIG9mIGNvbnRlbnRzIHdpdGggaGVhZGluZ3MgdGhhdCBhaWQgc2tpcC1y ZWFkZXJzLCBldGMuCkJ1dCBvbmNlIHlvdSd2ZSByb3V0ZWQgcGVvcGxlIGFyb3VuZCB0aGUgYml0 cyB0aGV5IGRvbid0IGNhcmUgYWJvdXQsCml0J3MgZmluZSB0byBoYXZlIGRvY3VtZW50YXRpb24g dGhhdCdzIG9ubHkgbmVlZGVkIGJ5IGEgbWlub3JpdHkuCgpBbHNvLCBsZXNzIGludGVyZXN0aW5n IGJ1dCBlcXVhbGx5IGltcG9ydGFudCAtIGNvbnRleHQgaXMgbm90IGEgQyBsYW5ndWFnZQpmdW5k YW1lbnRhbCwgaXQncyBtb3JlIGxpa2UgYW4gZW1lcmdlbnQgcHJvcGVydHkgb2YgbGFyZ2UgQyBw cm9qZWN0cy4gIEEKZGV2ZWxvcGVyIHRoYXQgY2FtZSBoZXJlIHdpdGhvdXQga25vd2luZyBlLmcu IHdoYXQgYSBzdHJ1Y3QgaXMgY291bGQgcmVhZAphbnkgb2YgdGhlIG9ubGluZSB0dXRvcmlhbHMg dGhhdCBleHBsYWluIHRoZSBjb25jZXB0IGJldHRlciB0aGFuIHdlIGNvdWxkLgpJJ2QgYmUgaGFw cHkgdG8gbGluayB0byBhIGdvb2QgdHV0b3JpYWwgYWJvdXQgY29udGV4dHMgaWYgd2UgZm91bmQg b25lLApidXQgd2UgaGF2ZSB0byBtZWV0IHBlb3BsZSB3aGVyZSB0aGV5IGFyZSwgYW5kIHRoaXMg aXMgdGhlIGJlc3Qgc29sdXRpb24KSSd2ZSBiZWVuIGFibGUgdG8gZmluZC4KCj4gCj4gPiArCj4g PiArV2hlbiByZWFkaW5nIGNvZGUgdGhhdCAqaXMqIGV4cGxpY2l0bHkgZGVzY3JpYmVkIGluIHRl cm1zIG9mIGNvbnRleHRzLAo+ID4gK3JlbWVtYmVyIHRoYXQgdGhlIHRlcm0ncyBtZWFuaW5nIGlz IGd1YXJhbnRlZWQgYnkgKnRoZSBwcm9qZWN0J3MgY29tbXVuaXR5KiwKPiA+ICtub3QgKnRoZSBs YW5ndWFnZSBpdCdzIHdyaXR0ZW4gaW4qLiAgVGhhdCBtZWFucyBndWFyYW50ZWVzIG1heSBiZSBt b3JlIGZsZXhpYmxlCj4gPiArYW5kIGNoYW5nZSBtb3JlIG92ZXIgdGltZS4gIEZvciBleGFtcGxl LCBwcm9ncmFtbWluZyBsYW5ndWFnZXMgdGhhdCB1c2UKPiA+ICtbZW5jYXBzdWxhdGlvbl0oaHR0 cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvRW5jYXBzdWxhdGlvbl8oY29tcHV0ZXJfcHJvZ3Jh bW1pbmcpKQo+ID4gK3dpbGwgc2ltcGx5IHJlZnVzZSB0byBjb21waWxlIGNvZGUgdGhhdCB2aW9s YXRlcyBpdHMgcnVsZXMgYWJvdXQgYWNjZXNzLAo+ID4gK3doaWxlIGNvbW11bml0aWVzIGNhbiBw dXQgdXAgd2l0aCBzcGVjaWFsIGNhc2VzIGlmIHRoZXkgaW1wcm92ZSBjb2RlIHF1YWxpdHkuCj4g PiArCj4gCj4gVGhpcyBsb29rcyBhIGJpdCB2YWd1ZSBzbyBJJ2QgcmF0aGVyIGRyb3AgdGhpcy4K ClRoaXMgcHJvYmFibHkgbG9va3MgdmFndWUgdG8geW91IGJlY2F1c2UgeW91J3JlIHBhcnQgb2Yg dGhlIDkwJSBvZiBwZW9wbGUgdGhpcwpwYXJhZ3JhcGggaXNuJ3QgZm9yLiAgQWxsIHByb2dyYW1t aW5nIGxhbmd1YWdlcyBwcm92aWRlIHNvbWUgZ3VhcmFudGVlcywgYW5kCmxlYXZlIG90aGVycyB1 cCB0byB0aGUgY29tbXVuaXR5IHRvIGVuZm9yY2UgKG9yIG5vdCkuICBPdmVyIHRpbWUsIHBlb3Bs ZSBzdG9wCnNlZWluZyB0aGUgbGFuZ3VhZ2UgZ3VhcmFudGVlcyBhdCBhbGwsIGFuZCBhc3N1bWUg dGhlIG9ubHkgYWx0ZXJuYXRpdmUgaXMKYW5hcmNoeS4gIEZvciBleGFtcGxlLCBpZiB5b3UgZ290 IGludm9sdmVkIGluIGEgbGFyZ2UgSmF2YVNjcmlwdCBwcm9qZWN0LAp5b3UgbWlnaHQgYmUgaG9y cmlmaWVkIHRvIHNlZSBhbG1vc3QgYWxsIHN0cnVjdHMgYXJlIHRoZSBzYW1lIHR5cGUgKCJPYmpl Y3QiKSwKYW5kIGFyZSBpbXBsZW1lbnRlZCBhcyBkaWN0aW9uYXJpZXMgdGhhdCBhcmUgZXhwZWN0 ZWQgdG8gaGF2ZSBjZXJ0YWluIGtleXMuCkJ1dCBpbiBwcmFjdGljZSwgdGhpcyBzdHVmZiBnZXRz IGVuZm9yY2VkIGF0IHRoZSBjb21tdW5pdHkgbGV2ZWwgd2VsbCBlbm91Z2guClNpbWlsYXJseSwg YSBKUyBwcm9ncmFtbWVyIG1pZ2h0IGJlIGhvcnJpZmllZCB0byBsZWFybiBGRm1wZWcgbmVlZHMg YSB3aG9sZQptYWpvciB2ZXJzaW9uIGJ1bXAganVzdCB0byBhZGQgYSBrZXkgdG8gYSBzdHJ1Y3Qu ICBUaGlzIHBhcmFncmFwaCBpcyB0aGVyZSB0bwpudWRnZSBwZW9wbGUgd2hvIGhhdmUgc3RvcHBl ZCBzZWVpbmcgdGhpbmdzIHdlIG5lZWQgdGhlbSB0byBsb29rIG91dCBmb3IuCgpJZiB5b3UnZCBs aWtlIHRvIG1haW50YWluIGFuIG9mZmljaWFsIEZGbXBlZyBibG9nLCBJJ2QgYmUgaGFwcHkgdG8g ZXhwYW5kIHRoZQpwYXJhZ3JhcGggYWJvdmUgaW50byBhIG1lZGl1bS1zaXplZCBwb3N0LCB0aGVu IGp1c3QgbGluayBpdCBmcm9tIHRoZSBkb2MuCkJ1dCB0aGF0IHBvc3Qgd291bGQgYmUgdG9vIHN1 YmplY3RpdmUgdG8gYmUgYSB3aWtpIHBhZ2UgLSBKYXZhU2NyaXB0IGlzCmV2b2x2aW5nIGluIGEg bW9yZSBzdHJvbmdseS10eXBlZCBkaXJlY3Rpb24sIHNvIGl0IHdvdWxkIG9ubHkgbWFrZSBzZW5z ZSB0bwpmdXR1cmUgcmVhZGVycyBpZiB0aGV5IGNvdWxkIHNheSAib2ggeWVhaCB0aGlzIHdhcyB3 cml0dGVuIGluIDIwMjQsIEpTIHdhcwpzdGlsbCBsaWtlIHRoYXQgYmFjayB0aGVuIi4gIFRoaXMg cGFyYWdyYXBoIGlzIGFuIGFjaGlldmFibGUgY29tcHJvbWlzZSAtCmNvdmVycyBlbm91Z2ggZ3Jv dW5kIHRvIGdpdmUgcGVvcGxlIGEgd2F5IHRvIHRoaW5rIGFib3V0IHRoZSBjb2RlLCBzaG9ydCBl bm91Z2gKZm9yIHBlb3BsZSB3aG8gZG9uJ3QgY2FyZSB0byBza2lwIG92ZXIsIGFuZCBvYmplY3Rp dmUgZW5vdWdoIHRvIGJlbG9uZyBpbgpkb2N1bWVudGF0aW9uLiAgV2UgY2FuIGFsd2F5cyBjaGFu Z2UgaXQgaWYgd2UgZmluZCBhIGJldHRlciBzb2x1dGlvbi4KClsuLi5dCj4gPiArU29tZSBmdW5j dGlvbnMgZml0IGF3a3dhcmRseSB3aXRoaW4gRkZtcGVnJ3MgY29udGV4dCBpZGlvbSwgc28gdGhl eSBzZW5kIG1peGVkCj4gPiArc2lnbmFscy4gIEZvciBleGFtcGxlLCBhdl9hbWJpZW50X3ZpZXdp bmdfZW52aXJvbm1lbnRfY3JlYXRlX3NpZGVfZGF0YSgpIGNyZWF0ZXMKPiA+ICthbiBBVkFtYmll bnRWaWV3aW5nRW52aXJvbm1lbnQgY29udGV4dCwgdGhlbiBhZGRzIGl0IHRvIHRoZSBzaWRlLWRh dGEgb2YgYW4KPiA+ICtBVkZyYW1lIGNvbnRleHQuICBTbyBpdHMgbmFtZSBoaW50cyBhdCBvbmUg Y29udGV4dCwgaXRzIHBhcmFtZXRlciBoaW50cyBhdAo+ID4gK2Fub3RoZXIsIGFuZCBpdHMgZG9j dW1lbnRhdGlvbiBpcyBzaWxlbnQgb24gdGhlIGlzc3VlLiAgWW91IG1pZ2h0IHByZWZlciB0bwo+ ID4gK3RoaW5rIG9mIHN1Y2ggZnVuY3Rpb25zIGFzIG5vdCBoYXZpbmcgYSBjb250ZXh0LCBvciBh cyDigJxyZWNlaXZpbmfigJ0gb25lIGNvbnRleHQKPiA+ICthbmQg4oCccHJvZHVjaW5n4oCdIGFu b3RoZXIuCj4gCj4gSSdkIHNraXAgdGhpcyBwYXJhZ3JhcGguIEluIGZhY3QsIEkgdGhpbmsgdGhh dCBBUEkgbWFrZXMgcGVyZmVjdAo+IHNlbnNlLCBPT1AgbGFuZ3VhZ2VzIGFkb3B0IHN1Y2ggY29u c3RydWN0cyBhbGwgdGhlIHRpbWUsIGZvciBleGFtcGxlCj4gdGhpcyBjb3VsZCBiZSBhIHN0YXRp YyBtb2R1bGUvY2xhc3MgY29uc3RydWN0b3IuIEluIG90aGVyIHdvcmRzLCB3ZQo+IGFyZSBub3Qg dGVsbGluZyBhbnl3aGVyZSB0aGF0IGFsbCBmdW5jdGlvbnMgc2hvdWxkIHRha2UgYSAiY29udGV4 dCIgYXMKPiBpdHMgZmlyc3QgYXJndW1lbnQsIGFuZCB0aGUgZG9jdW1lbnRhdGlvbiBzcGVjaWZ5 IGV4YWN0bHkgaG93IHRoaXMKPiB3b3JrcywgaWYgeW91IGZlZWwgdGhpcyBpcyBub3QgY2xlYXIg b3Igc2lsZW50IHByb2JhYmx5IHRoaXMgaXMgYSBzaWduCj4gdGhhdCB0aGF0IGZ1bmN0aW9uIGRv Y3VtZW50YXRpb24gc2hvdWxkIGJlIGV4dGVuZGVkLgoKVGhhdCB3b3VsZCBiZSBmaW5lIGlmIGl0 IHdlcmUganVzdCB0aGlzIGZ1bmN0aW9uLCBidXQgRkZtcGVnIGlzIGxpdHRlcmVkCndpdGggc3Bl Y2lhbCBjYXNlcyB0aGF0IGRvbid0IHF1aXRlIGZpdC4gIEFub3RoZXIgZXhhbXBsZSBtaWdodCBi ZQpzd3JfYWxsb2Nfc2V0X29wdHMyKCksIHdoaWNoIGNhbiB0YWtlIGFuIFN3ckNvbnRleHQgaW4g YSB3YXkgdGhhdCByZXNlbWJsZXMKYSBjb250ZXh0LCBvciBjYW4gdGFrZSBOVUxMIGFuZCBhbGxv Y2F0ZSBhIG5ldyBTd3JDb250ZXh0LiAgQW5kIHllcywKd2UgY291bGQgZG9jdW1lbnQgdGhhdCBl ZGdlIGNhc2UsIGFuZCB0aGUgbmV4dCBvbmUsIGFuZCB0aGUgb25lIGFmdGVyIHRoYXQuCkJ1dCBl dmVuIGlmIHdlIGRvY3VtZW50ZWQgZXZlcnkgbGl0dGxlIHNwZWNpYWwgY2FzZSB0aGF0IGV4aXN0 ZWQgdG9kYXksCnRoZXJlJ3Mgbm8gcnVsZSwgc28gbmV3IGJpdHMgb2YgQVBJIHdpbGwganVzdCBy ZWludHJvZHVjZSB0aGUgcHJvYmxlbSBhZ2Fpbi4KClRoZXJlJ3MgYSBkZWVwZXIgaXNzdWUgaGVy ZSAtIGFzIGFuIGV4cGVydCwgd2hlbiB5b3UgZG9uJ3Qga25vdyBzb21ldGhpbmcsCnlvdXIgZGVm YXVsdCBhc3N1bXB0aW9uIGlzIHRoYXQgaXQncyB1bmRlZmluZWQsIGFuZCBjb3VsZCBldm9sdmUg aW4gZnV0dXJlLgpXaGVuIGEgbmV3YmllIGRvZXNuJ3Qga25vdyBzb21ldGhpbmcsIHRoZWlyIGRl ZmF1bHQgYXNzdW1wdGlvbiBpcyB0aGF0CmV2ZXJ5Ym9keSBlbHNlIGtub3dzIGFuZCB0aGV5J3Jl IGp1c3Qgc3R1cGlkLiAgVGhhdCBhc3N1bXB0aW9uIGRyaXZlcwpuZXdiaWVzIGF3YXkgZnJvbSBw cm9qZWN0cywgc28gaXQncyBpbXBvcnRhbnQgdG8gZmlsbCBpbiBhcyBtYW55IGJsYW5rcyBhcwpw b3NzaWJsZSwgZXZlbiBpZiBpdCBoYXMgdG8gYmUgd2l0aCBzaW1wbGUgYW5zd2VycyB0aGF0IHRo ZXkgZXZlbnR1YWxseQpldm9sdmUgYmV5b25kIChhbmQgZmVlbCBzbWFydCBmb3IgZG9pbmcgc28p LgoKPiA+ICtAc3Vic2VjdGlvbiBDb250ZXh0X2xpZmV0aW1lIE1hbmFnZSBsaWZldGltZTogY3Jl YXRpb24sIHVzZSwgZGVzdHJ1Y3Rpb24KWy4uLl0KPiBBYm91dCB0aGlzIEkgaGF2ZSBtaXhlZCBm ZWVsaW5ncywgYnV0IHRvIG1lIGl0IHNvdW5kcyBsaWtlIGEtcG9zdGVyaW9yaQo+IHJhdGlvbmFs aXphdGlvbi4KPiAKPiBJIGRvbid0IHRoaW5rIHRoZXJlIGlzIGEgZ2VuZXJhbCBydWxlIHdpdGgg dGhlIGFsbG9jYXRpb24vY2xvc2luZy9mcmVlCj4gcnVsZSBmb3IgdGhlIHZhcmlvdXMgRkZtcGVn IEFQSXMsIGFuZCBnaXZpbmcgdGhlIGltcHJlc3Npb24gdGhhdCB0aGlzCj4gaXMgdGhlIGNhc2Ug bWlnaHQgYmUgbWlzbGVhZGluZy4gSW4gcHJhY3RpY2UgdGhlIHVzZXIgbmVlZHMgdG8gbWFzdGVy Cj4gb25seSBhIHNpbmdsZSBBUEkgYXQgYSB0aW1lIChlbmNvZGVyaW5nL2RlY29kaW5nLCBtdXhp bmcvZGVtdXhpbmcsCj4gZXRjLikgIGVhY2ggb25lIHdpdGggcG9zc2libHkgc2xpZ2h0IGRpZmZl cmVuY2VzIGluIGhvdyB0aGUgdGVybQo+IGNsb3NlL2FsbG9jYXRpb24vZnJlZSBhcmUgdXNlZC4g VGhpcyBpcyBwcm9iYWJseSBub3Qgb3B0aW1hbCwgYnV0IGluCj4gcHJhY3RpY2UgaXQgd29ya3Mg YXMgdGhlIHVzZXIgZG8gbm90IHJlYWxseSBuZWVkIHRvIGtub3cgYWxsIHRoZQo+IHBvc3NpYmxl IHVzZXMgb2YgdGhlIEFQSSAoc2hlIHdpbGwgd29yayB0aHJvdWdoIHdoYXQgc2hlIGlzIGludGVy ZXN0ZWQKPiBmb3IgdGhlIGpvYiBhdCBoYW5kKS4KCk5vdGU6IEknbSBhc3N1bWluZyAidGhpcyIg bWVhbnMgInRoaXMgc2VjdGlvbiIsIG5vdCAidGhpcyBwYXJhZ3JhcGgiLgpBcG9sb2dpZXMgaWYg aXQgd2FzIGludGVuZGVkIGFzIGEgc3BlY2lmaWMgbml0cGljayBhYm91dCBjbG9zaW5nIGZ1bmN0 aW9ucy4KClRCSCwgYSBsb3Qgb2YgdGhpcyBkb2N1bWVudCBpcyBhYm91dCBpbnZlbnRpbmcgbWVt b3JhYmxlIHJ1bGVzIG9mIHRodW1iLgpUaGUgYWx0ZXJuYXRpdmUgaXMgdG8gc2F5ICJGRm1wZWcg ZGV2cyBjYW4ndCBhZ3JlZSBvbiBhbiBhbnN3ZXIsIHNvIHRoZXkganVzdApsZWZ0IHlvdSB0byBt ZW1vcmlzZSAzLDAwMCsgc3BlY2lhbCBjYXNlcyIuCgpMZXQncyBhc3N1bWUgbGVhcm5pbmcgdGhl IHdob2xlIG9mIEZGbXBlZyBtZWFucyB1bmRlcnN0YW5kaW5nIDMsMDAwIHRva2VucwooSSdtIG5v dCBzdXJlIHRoZSBleGFjdCBjb3VudCBpbiA3LjAsIGJ1dCBpdCdzIGFib3V0IHRoYXQgbnVtYmVy IGlmIHlvdSBkb24ndAppbmNsdWRlIGluZGl2aWR1YWwgbWVtYmVycyBvZiBzdHJ1Y3RzLCBhcmd1 bWVudHMgdG8gZnVuY3Rpb25zIGV0Yy4pLiAgTGV0J3MKYWxzbyBhc3N1bWUgaXQgdGFrZXMgYW4g YXZlcmFnZSBvZiB0ZW4gbWludXRlcyB0byBsZWFybiBlYWNoIHRva2VuIChvYnZpb3VzbHkKdGhh dCB2YXJpZXMgLSBBVl9MT0dfUEFOSUMgd2lsbCB0YWtlIGxlc3MsIEFWQ29kZWNDb250ZXh0IHdp bGwgdGFrZSBtb3JlKS4KVGhhdCBtZWFucyB5b3UnZCBoYXZlIHRvIHNwZW5kIDggaG91cnMgYSBk YXkgZXZlcnkgZGF5IGZvciBvdmVyIHR3byBtb250aHMKdG8gbGVhcm4gRkZtcGVnLiAgT2J2aW91 c2x5IHRoZXJlIGFyZSB1c2FibGUgc3Vic2V0cywgYnV0IHRoZXkgbW9zdGx5IGN1dCBvdXQKdGhl IHNpbXBsZSB0aGluZ3MsIHNvIGRvbid0IHNhdmUgbmVhcmx5IGFzIG11Y2ggdGltZSBhcyB5b3Un ZCB0aGluay4gIElmIHlvdQp3YW50IHBlb3BsZSB0byBwaWNrIHVwIEZGbXBlZywgdGhleSBuZWVk IHRvIGxlYXJuIGEgdXNlZnVsIHN1YnNldCBpbiBhYm91dCA4CmhvdXJzLCB3aGljaCByZXF1aXJl cyBhIGRyYXN0aWNhbGx5IHNpbXBsaWZpZWQgZXhwbGFuYXRpb24uCgoodGhlIGFib3ZlIGlzIGNs b3NlbHkgcmVsYXRlZCB0byBhbiBhcmd1bWVudCBmcm9tIGEgcmVjZW50IHBvc3RbMV0sCmJ1dCB0 aGUgbnVtYmVycyBtaWdodCBoZWxwIGV4cGxhaW4gdGhlIHNjYWxlIG9mIHRoZSBjaGFsbGVuZ2Up CgpUaGVyZSBtYXkgbm90IGJlIGFuIGV4cGxpY2l0IHJ1bGUgZm9yIGNvbnRleHQgbGlmZXRpbWVz LCBidXQgSSd2ZSBsb29rZWQgYXQgdGhlCmNvZGUgY2FyZWZ1bGx5IGVub3VnaCB0byBoYXZlIGEg bnVhbmNlZCBvcGluaW9uIGFib3V0IHRoZSBudW1iZXIgb2YgdG9rZW5zLAphbmQgdGhlIGVkZ2ll c3QgY2FzZSBJJ3ZlIGZvdW5kIHNvIGZhciBpcyBzd3JfYWxsb2Nfc2V0X29wdHMyKCkgKHNlZSBh Ym92ZSkuCkknbSBvcGVuIHRvIGNvdW50ZXJleGFtcGxlcywgYnV0IHRoZSBtb2RlbCBkaXNjdXNz ZWQgaW4gdGhpcyBzZWN0aW9uIGZlZWxzCnByZXR0eSByZWxpYWJsZS4KCj4gCj4gPiArCj4gPiAr QHN1YnNlY3Rpb24gQ29udGV4dF9hdm9wdGlvbnMgQ29uZmlndXJhdGlvbiBvcHRpb25zOiBBVk9w dGlvbnMtZW5hYmxlZCBzdHJ1Y3RzCj4gPiArCj4gCj4gPiArVGhlIEByZWYgYXZvcHRpb25zICJB Vk9wdGlvbnMgQVBJIiBpcyBhIGZyYW1ld29yayB0byBjb25maWd1cmUgdXNlci1mYWNpbmcKPiA+ ICtvcHRpb25zLCBlLmcuIG9uIHRoZSBjb21tYW5kLWxpbmUgb3IgaW4gR1VJIGNvbmZpZ3VyYXRp b24gZm9ybXMuCj4gCj4gVGhpcyBsb29rcyB3cm9uZy4gQVZPcHRpb25zIGlzIG5vdCBhdCBhbGwg YWJvdXQgQ0xJIG9yIEdVSSBvcHRpb25zLCBpcwo+IGp1c3Qgc29tZSB3YXkgdG8gc2V0L2dldCBm aWVsZHMgKHRoYXQgaXMgIm9wdGlvbnMiKSBkZWZpbmVkIGluIGEKPiBzdHJ1Y3QgKGEgY29udGV4 dCkgdXNpbmcgYSBoaWdoIGxldmVsIEFQSSBpbmNsdWRpbmc6IHNldHRpbmcgbXVsdGlwbGUKPiBv cHRpb25zIGF0IG9uY2UgKHRocm91Z2ggYSB0ZXh0dWFsIGVuY29kaW5nIG9yIGEgZGljdGlvbmFy eSksCj4gaW5wdXQvcmFuZ2UgdmFsaWRhdGlvbiwgc2V0dGluZyBtb3JlIGZpZWxkcyBiYXNlZCBv biBhIHNpbmdsZSBvcHRpb24KPiAoZS5nLiB0aGUgc2l6ZSkgZXRjLgo+IAo+IFRoZW4geW91IGNh biBxdWVyeSB0aGUgb3B0aW9ucyBpbiBhIGdpdmVuIHN0cnVjdCBhbmQgY3JlYXRlCj4gY29ycmVz cG9uZGluZyBvcHRpb25zIGluIGEgVUksIGJ1dCB0aGlzIGlzIG5vdCB0aGUgcG9pbnQgb2YgQVZP cHRpb25zLgoKVGhlcmUncyBhIHByb2JsZW0gaGVyZSBJIGhhdmVuJ3QgYmVlbiBjb21tdW5pY2F0 aW5nIGNsZWFybHkgZW5vdWdoLgpJIHRoaW5rIHRoYXQncyBiZWNhdXNlIEkndmUgdW5kZXJzdGF0 ZWQgdGhlIHByb2JsZW0gaW4gdGhlIHBhc3QsCnNvIEknbGwgdHJ5IG92ZXJzdGF0aW5nIGluc3Rl YWQ6CgoiT3B0aW9uIiBpcyBhIG1lYW5pbmdsZXNzIG5vaXNlIHdvcmQuICBBIG5ldyBkZXZlbG9w ZXIgbWlnaHQgYXNrICJpcyB0aGlzIGxpa2UgYQpjb21tYW5kLWxpbmUgb3B0aW9uLCBvciBhIENN YWtlIG9wdGlvbj8gIElzIGl0IGxpa2UgdGhvc2UgUHl0aG9uIGZ1bmN0aW9ucyB3aXRoCmEgbWls bGlvbiBrZXl3b3JkIGFyZ3VtZW50cywgb3IgYSBjb25maWcgZmlsZSB3aXRoIHNlbnNpYmxlIGRl ZmF1bHRzPyIuCkFuc3dlcmluZyAiaXQgY2FuIGJlIGFueSBvZiB0aG9zZSBpZiB5b3UgbmVlZCBp dCB0byBiZSIgbWlnaHQgaGVscCBhbiBhZHZhbmNlZAp1c2VyIChub3Qgb3VyIGF1ZGllbmNlKSwg YnV0IGlzIGJld2lsZGVyaW5nIHRvIGEgbmV3YmllIHdobyBuZWVkcyBhIHJvdWdoIGd1aWRlCmZv ciBob3cgdGhleSdyZSBsaWtlbHkgdG8gdXNlIGl0LiAgVGhlIG9ubHkgc29sdXRpb24gdGhhdCdz IHVzZWZ1bCB0byBhIG5ld2JpZQppcyB0byBwcm92aWRlIGEgZnJhbWUgb2YgcmVmZXJlbmNlLCBw cmVmZXJhYmx5IGluIHRoZSBmb3JtIG9mIHNvbWV0aGluZyB0aGV5CmFscmVhZHkga25vdyBob3cg dG8gdXNlLgoKSGF2aW5nIHNhaWQgYWxsIHRoYXQsIHllcyB0aGlzIHBhcnRpY3VsYXIgYW5zd2Vy IGlzIHdyb25nLiAgQ291bGQgeW91IGFwcGx5IFsyXQpzbyBJIGNhbiBzdGFydCB0aGlua2luZyBh Ym91dCB3aGF0IHRvIHJlcGxhY2UgaXQgd2l0aD8KClsuLi5dCgpbMV0gaHR0cHM6Ly9mZm1wZWcu b3JnL3BpcGVybWFpbC9mZm1wZWctZGV2ZWwvMjAyNC1KdW5lLzMyODk3MC5odG1sClsyXSBodHRw czovL2ZmbXBlZy5vcmcvcGlwZXJtYWlsL2ZmbXBlZy1kZXZlbC8yMDI0LUp1bmUvMzI5MDY4Lmh0 bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZmZtcGVn LWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRwczovL2ZmbXBl Zy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJlLCB2aXNp dCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdp dGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=