From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: Re: [Mesa-dev] Upstream support for FreeSync / Adaptive Sync Date: Wed, 18 Oct 2017 17:17:02 -0700 Message-ID: <20171019001702.GD10621@intel.com> References: <7fd9e5f1-ce62-e491-dff2-53e9e713bfd5@daenzer.net> <20171017122247.gyjjrdm3ig6blu5c@phenom.ffwll.local> <20171017150423.ldgldafxrlco4b4n@phenom.ffwll.local> <858af9dc-3a19-0e79-5608-d288f953fbab@daenzer.net> <20171018081017.7tenyvrbdh4lbflt@phenom.ffwll.local> <1fcfc815-2346-db8c-d535-fe098354f710@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1fcfc815-2346-db8c-d535-fe098354f710@amd.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Harry Wentland Cc: Nicolai =?iso-8859-1?Q?H=E4hnle?= , Nicolai =?iso-8859-1?Q?H=E4hnle?= , "dri-devel@lists.freedesktop.org" , "mesa-dev@lists.freedesktop.org" , Michel =?iso-8859-1?Q?D=E4nzer?= List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCBPY3QgMTgsIDIwMTcgYXQgMDM6MjA6NTdQTSAtMDQwMCwgSGFycnkgV2VudGxhbmQg d3JvdGU6Cj4gT24gMjAxNy0xMC0xOCAwNDoxMCBBTSwgRGFuaWVsIFZldHRlciB3cm90ZToKPiA+ IE9uIFR1ZSwgT2N0IDE3LCAyMDE3IGF0IDA5OjAxOjUyUE0gKzAyMDAsIE5pY29sYWkgSMOkaG5s ZSB3cm90ZToKPiA+PiBPbiAxNy4xMC4yMDE3IDE5OjE2LCBEYW5pZWwgVmV0dGVyIHdyb3RlOgo+ ID4+PiBPbiBUdWUsIE9jdCAxNywgMjAxNyBhdCA1OjQwIFBNLCBNaWNoZWwgRMOkbnplciA8bWlj aGVsQGRhZW56ZXIubmV0PiB3cm90ZToKPiA+Pj4+IE9uIDE3LzEwLzE3IDA1OjA0IFBNLCBEYW5p ZWwgVmV0dGVyIHdyb3RlOgo+ID4+Pj4+IE9uIFR1ZSwgT2N0IDE3LCAyMDE3IGF0IDAzOjQ2OjI0 UE0gKzAyMDAsIE1pY2hlbCBEw6RuemVyIHdyb3RlOgo+ID4+Pj4+PiBPbiAxNy8xMC8xNyAwMjoy MiBQTSwgRGFuaWVsIFZldHRlciB3cm90ZToKPiA+Pj4+Pj4+IE9uIFR1ZSwgT2N0IDE3LCAyMDE3 IGF0IDEyOjI4OjE3UE0gKzAyMDAsIE1pY2hlbCBEw6RuemVyIHdyb3RlOgo+ID4+Pj4+Pj4+IE9u IDE3LzEwLzE3IDExOjM0IEFNLCBOaWNvbGFpIEjDpGhubGUgd3JvdGU6Cj4gPj4+Pj4+Pgo+ID4+ Pj4+Pj4+PiBDb21tb24gc2Vuc2Ugc3VnZ2VzdHMgdGhhdCB0aGVyZSBuZWVkIHRvIGJlIHR3byBz aWRlIHRvIEZyZWVTeW5jIC8gVkVTQQo+ID4+Pj4+Pj4+PiBBZGFwdGl2ZSBTeW5jIHN1cHBvcnQ6 Cj4gPj4+Pj4+Pj4+Cj4gPj4+Pj4+Pj4+IDEuIFF1ZXJ5IHRoZSBkaXNwbGF5IGNhcGFiaWxpdGll cy4gVGhpcyBtZWFucyBxdWVyeWluZyBtaW5pbXVtIC8gbWF4aW11bQo+ID4+Pj4+Pj4+PiByZWZy ZXNoIGR1cmF0aW9uLCBwbHVzIHBvc3NpYmx5IGEgcXVlcnkgZm9yIHdoZW4gdGhlIGVhcmxpZXN0 L2xhdGVzdAo+ID4+Pj4+Pj4+PiB0aW1pbmcgb2YgdGhlICpuZXh0KiByZWZyZXNoLgo+ID4+Pj4+ Pj4+Pgo+ID4+Pj4+Pj4+PiAyLiBTaWduYWwgZGVzaXJlZCBwcmVzZW50IHRpbWUuIFRoaXMgbWVh bnMgcGFzc2luZyBhIHRhcmdldCB0aW1lciB2YWx1ZQo+ID4+Pj4+Pj4+PiBpbnN0ZWFkIG9mIGEg dGFyZ2V0IHZibGFuayBjb3VudCwgZS5nLiBzb21ldGhpbmcgbGlrZSB0aGlzIGZvciB0aGUgS01T Cj4gPj4+Pj4+Pj4+IGludGVyZmFjZToKPiA+Pj4+Pj4+Pj4KPiA+Pj4+Pj4+Pj4gICAgaW50IGRy bU1vZGVQYWdlRmxpcFRhcmdldDY0KGludCBmZCwgdWludDMyX3QgY3J0Y19pZCwgdWludDMyX3Qg ZmJfaWQsCj4gPj4+Pj4+Pj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf dCBmbGFncywgdm9pZCAqdXNlcl9kYXRhLAo+ID4+Pj4+Pj4+PiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdWludDY0X3QgdGFyZ2V0KTsKPiA+Pj4+Pj4+Pj4KPiA+Pj4+Pj4+Pj4gICAg KyBhIGZsYWcgdG8gaW5kaWNhdGUgd2hldGhlciB0YXJnZXQgaXMgdGhlIHZibGFuayBjb3VudCBv ciB0aGUKPiA+Pj4+Pj4+Pj4gQ0xPQ0tfTU9OT1RPTklDICg/KSB0aW1lIGluIG5zLgo+ID4+Pj4+ Pj4+Cj4gPj4+Pj4+Pj4gZHJtTW9kZVBhZ2VGbGlwKFRhcmdldCkgaXMgcGFydCBvZiB0aGUgcHJl LWF0b21pYyBLTVMgQVBJLCBidXQgYWRhcGF0aXZlCj4gPj4+Pj4+Pj4gc3luYyBzaG91bGQgcHJv YmFibHkgb25seSBiZSBzdXBwb3J0ZWQgdmlhIHRoZSBhdG9taWMgQVBJLCBwcmVzdW1hYmx5Cj4g Pj4+Pj4+Pj4gdmlhIG91dHB1dCBwcm9wZXJ0aWVzLgo+ID4+Pj4+Pj4KPiA+Pj4+Pj4+ICsxCj4g Pj4+Pj4+Pgo+ID4+Pj4+Pj4gQXQgbGVhc3Qgbm93IHRoYXQgREMgaXMgb24gdHJhY2sgdG8gbGFu ZCBwcm9wZXJseSwgYW5kIHlvdSB3YW50IHRvIGRvIHRoaXMKPiA+Pj4+Pj4+IGZvciBEQy1vbmx5 IGFueXdheSB0aGVyZSdzIG5vIHJlYXNvbiB0byBwaW1wIHRoZSBsZWdhY3kgaW50ZXJmYWNlcwo+ ID4+Pj4+Pj4gZnVydGhlci4gQW5kIGF0b21pYyBpcyBzb29vb29vIG11Y2ggZWFzaWVyIHRvIGV4 dGVuZC4KPiA+Pj4+Pj4+Cj4gPj4+Pj4+PiBUaGUgYmlnIHF1ZXN0aW9uIGltbyBpcyB3aGVyZSB3 ZSBuZWVkIHRvIHB1dCB0aGUgZmxhZyBvbiB0aGUga21zIHNpZGUsCj4gPj4+Pj4+PiBzaW5jZSBm cmVlc3luYyBpcyBub3QganVzdCBhYm91dCBwcmVzZW50aW5nIGVhcmxpZXIsIGJ1dCBhbHNvIGFi b3V0Cj4gPj4+Pj4+PiBwcmVzZW50aW5nIGxhdGVyLiBCdXQgZm9yIGJhY2t3YXJkcyBjb21wYXQg d2UgY2FuJ3Qgc3RyZXRjaCB0aGUgcmVmcmVzaAo+ID4+Pj4+Pj4gcmF0ZSBieSBkZWZhdWx0IGZv ciBldmVyeW9uZSwgb3IgY2xpZW50cyB0aGF0IHJlbHkgb24gaGlnaCBwcmVjaXNpb24KPiA+Pj4+ Pj4+IHRpbWVzdGFtcHMgYW5kIHJlZ3VsYXIgcmVmcmVzaCB3aWxsIGdldCBhIGJhZCBzdXJwcmlz ZS4KPiA+Pj4+Pj4KPiA+Pj4+Pj4gVGhlIGlkZWEgZGVzY3JpYmVkIGFib3ZlIGlzIHRoYXQgYWRh cHRpdmUgc3luYyB3b3VsZCBiZSB1c2VkIGZvciBmbGlwcwo+ID4+Pj4+PiB3aXRoIGEgdGFyZ2V0 IHRpbWVzdGFtcC4gQXBwcyB3aGljaCBkb24ndCB3YW50IHRvIHVzZSBhZGFwdGl2ZSBzeW5jCj4g Pj4+Pj4+IHdvdWxkbid0IHNldCBhIHRhcmdldCB0aW1lc3RhbXAuCj4gPj4+Pj4+Cj4gPj4+Pj4+ Cj4gPj4+Pj4+PiBJIHRoaW5rIGEgYm9vbGVhbiBlbmFibGVfZnJlZXN5bmMgcHJvcGVydHkgaXMg cHJvYmFibHkgd2hhdCB3ZSB3YW50LCB3aGljaAo+ID4+Pj4+Pj4gZW5hYmxlcyBmcmVlc3luYyBm b3IgYXMgbG9uZyBhcyBpdCdzIHNldC4KPiA+Pj4+Pj4KPiA+Pj4+Pj4gVGhlIHF1ZXN0aW9uIHRo ZW4gYmVjb21lcyB1bmRlciB3aGF0IGNpcmN1bXN0YW5jZXMgdGhlIHByb3BlcnR5IGlzIChub3Qp Cj4gPj4+Pj4+IHNldC4gTm90IHN1cmUgb2ZmaGFuZCB0aGlzIHdpbGwgYWN0dWFsbHkgc29sdmUg YW55IHByb2JsZW0sIG9yIGp1c3QgcHVzaAo+ID4+Pj4+PiBpdCBzb21ld2hlcmUgZWxzZS4KPiA+ Pj4+Pgo+ID4+Pj4+IEkgdGhvdWdodCB0aGF0J3Mgd2hhdCB0aGUgZHJpY29uZiBzd2l0Y2ggaXMg Zm9yLCB3aXRoIGEgcG9saWN5IG9mICJwbGVhc2UKPiA+Pj4+PiBzY2hlZHVsZSBhc2FwIiBpbnN0 ZWFkIG9mIGEgc3BlY2lmaWMgdGltZXN0YW1wLgo+ID4+Pj4KPiA+Pj4+IFRoZSBkcmljb25mIHN3 aXRjaCBpcyBqdXN0IGZvciB0aGUgdXNlcidzIGludGVudGlvbiB0byB1c2UgYWRhcHRpdmUgc3lu Ywo+ID4+Pj4gd2hlbiBwb3NzaWJsZS4gQSBwcm9wZXJ0eSBhcyB5b3Ugc3VnZ2VzdCBjYW5ub3Qg YmUgc2V0IGJ5IHRoZSBjbGllbnQKPiA+Pj4+IGRpcmVjdGx5LCBiZWNhdXNlIGl0IGNhbid0IGtu b3cgd2hlbiBhZGFwdGl2ZSBzeW5jIGNhbiBhY3R1YWxseSBiZSB1c2VkCj4gPj4+PiAob25seSB3 aGVuIGl0cyB3aW5kb3cgaXMgZnVsbHNjcmVlbiBhbmQgdXNpbmcgcGFnZSBmbGlwcGluZykuIFNv IHRoZQo+ID4+Pj4gcHJvcGVydHkgd291bGQgaGF2ZSB0byBiZSBzZXQgYnkgdGhlIFggc2VydmVy L2RyaXZlciAvIFdheWxhbmQKPiA+Pj4+IGNvbXBvc2l0b3IgLyAuLi4gaW5zdGVhZC4gVGhlIHF1 ZXN0aW9uIGlzIHdoZXRoZXIgc3VjaCBhIHByb3BlcnR5IGlzCj4gPj4+PiBhY3R1YWxseSBuZWVk ZWQsIG9yIHdoZXRoZXIgdGhlIGtlcm5lbCBjb3VsZCBqdXN0IGVuYWJsZSBhZGFwdGl2ZSBzeW5j Cj4gPj4+PiB3aGVuIHRoZXJlJ3MgYSBmbGlwIHdpdGggYSB0YXJnZXQgdGltZXN0YW1wLCBhbmQg ZGlzYWJsZSBpdCB3aGVuIHRoZXJlJ3MKPiA+Pj4+IGEgZmxpcCB3aXRob3V0IGEgdGFyZ2V0IHRp bWVzdGFtcCwgb3Igc29tZXRoaW5nIGxpa2UgdGhhdC4KPiA+Pj4KPiA+Pj4gSWYgeW91ciBhZGFw dGl2ZSBzeW5jIGFsc28gc3VwcG9ydHMgZXh0ZW5kaW5nIHRoZSB2YmxhbmsgYmV5b25kIHRoZQo+ ID4+PiBub21pbmFsIGxpbWl0LCB0aGVuIHlvdSBjYW4ndCBkbyB0aGF0IHdpdGggYSBwZXItZmxp cCBmbGFnLiBCZWNhdXNlCj4gPj4+IGFic2VudCBvZiBhIHVzZXJzcGFjZSByZXF1ZXN0aW5nIGFk YXB0aXZlIHN5bmMgeW91IG11c3QgZmxpcCBhdCB0aGUKPiA+Pj4gbm9taW5hbCB2cmVmcmVzaCBy YXRlLiBTbyBpZiB5b3VyIHVzZXJzcGFjZSBpcyBhIHRhZCBiaXQgbGF0ZSB3aXRoIHRoZQo+ID4+ PiBmcmFtZSBhbmQgd291bGQgbGlrZSB0byBleHRlbmQgdGhlIGZyYW1lIHRvIGF2b2lkIG1pc3Np bmcgYSBmcmFtZQo+ID4+PiBlbnRpcmVseSBpdCdsbCBiZSB0b28gbGF0ZSBieSB0aGUgdGltZSB0 aGUgdmJsYW5rIGFjdHVhbGx5IGdldHMKPiA+Pj4gc3VibWl0dGVkLiBUaGF0J3MgYSBiaXQgYSB2 YXJpYXRpb24gb2Ygd2hhdCBWaWxsZSBicm91Z2h0IHVwIGFib3V0Cj4gPj4+IHdoYXQgd2UncmUg Z29pbmcgdG8gZG8gd2hlbiB0aGUgdGltZXN0YW1wIHdhcyBtaXNzZWQgYnkgdGhlIHRpbWUgYWxs Cj4gPj4+IHRoZSBkZXBlbmRpbmcgZmVuY2VzIHNpZ25hbGxlZC4KPiA+Pgo+ID4+IFRoZXNlIGFy ZSB2ZXJ5IGdvb2QgcG9pbnRzLiBJdCBkb2VzIHNvdW5kIGxpa2Ugd2UnZCBuZWVkIGJvdGggYW4K PiA+PiAiQWRhcHRpdmVTeW5jIiBib29sZWFuIHByb3BlcnR5IGFuZCBhbiAob3B0aW9uYWwpICJE ZXNpcmVkUHJlc2VudFRpbWUiCj4gPj4gcHJvcGVydHkuCj4gPj4KPiA+PiBUaGUgRGVzaXJlZFBy ZXNlbnRUaW1lIHByb3BlcnR5IGFwcGxpZXMgb25seSB0byBhIHNpbmdsZSBjb21taXQgYW5kIGNv dWxkCj4gPj4gcGVyaGFwcyBiZSBsZWZ0IG91dCBpbiBhIGZpcnN0IHZlcnNpb24uIFRoZSBBZGFw dGl2ZVN5bmMgcHJvcGVydHkgaXMKPiA+PiBwZXJzaXN0ZW50LiBXaGVuIGVuYWJsZWQsIGl0IG1l YW5zOgo+ID4+Cj4gPj4gLSBoYW5kbGUgcGFnZSBmbGlwIHJlcXVlc3RzIGFzIHNvb24gYXMgcG9z c2libGUKPiA+PiAtIHdoaWxlIG5vIHBhZ2UgZmxpcCBpcyByZXF1ZXN0ZWQsIGRlbGF5IHZibGFu ayBhcyBsb25nIGFzIHBvc3NpYmxlCj4gPj4KPiA+PiBIb3cgZG9lcyB0aGF0IHNvdW5kPwoKVGhh bmtzIGZvciBpbml0aWF0aW5nIHRoaXMgZGlzY3Vzc2lvbi4gSSBoYWQgc29tZSBpbml0aWFsIHBh dGNoZXMgb2YgY3JlYXRpbmcgdGhlc2UKcHJvcGVydGllcyBpbiBEUk0gZm9yIEFkYXB0aXZlIFN5 bmMgYnV0IG5ldmVyIGdvdCBhIGNoYW5jZSB0byBjb21wbGV0ZSB0aGUgdGVzdGluZyBhbmQKc3Vi bWl0dGluZyB0aGVtIHVwc3RyZWFtLgpTbyB0aGUgaW5pdGlhbCB0aG91Z2h0IHdhcyB0byBhZGQg dHdvIHByb3BlcnRpZXM6CgoxLiBib29sIGVuYWJsZV9hZGFwdGl2ZV9zeW5jIC0gb25lIGZvciBh bGxvd2luZyB1c2Vyc3BhY2UgdG8KZW5hYmxlIFZSUiBhbmQgCjIuIGJvb2wgc3VwcG9ydHNfYWRh cHRpdmVfc3luYyAtIHRoZSBvdGhlciBpbW11dGFibGUgcHJvcGVydHkgZm9yIGV4cG9zaW5nCmhh cmR3YXJlJ3MgY2FwYWJpbGl0eSBvZiBzdXBwb3J0aW5nIFZSUi4KClRoZSBzZWNvbmQgcHJvcGVy dHkgd2lsbCBiZSBzZXQgYmFzZWQgb24gdGhlIFZSUiBjYXBhYmlsaXRpZXMgb2YgdGhlIGNvbm5l Y3RlZAptb25pdG9yLiBJZiB0aGlzIGlzIHNldCwgdXNlcnNwYWNlIGNhbiByZXF1ZXN0IHRvIGVu YWJsZSBhZGFwdGl2ZS1zeW5jIGJ5IHNldHRpbmcKdGhlIGZpcnN0IHByb3BlcnR5IGFuZCB0aHJv dWdoIHRoZSBhdG9taWMgbW9kZXNldCwgdGhlIGRyaXZlciB3aWxsIGNoZWNrIGlmIHRoZQpyZXF1 ZXN0ZWQgZnJhbWUgcmF0ZSBmYWxscyB3aXRoaW4gdGhlIG1vbml0b3IgcmFuZ2UgYW5kIGVuYWJs ZSBpdC4KCkkgaGF2ZSBzb21lIHByb3RvdHlwZSBwYXRjaGVzIGFzIHdlbGwuLi5CdXQgSSB3b3Vs ZCBsaWtlIHRvIHNlZSB3aGVyZSB0aGlzCmRpc2N1c3Npb24gaGVhZHMgYW5kIHRoZW4gc3VibWl0 IHRob3NlIHNvbWUgZGF5LgoKTWFuYXNpCgpNYW5hc2kKCj4gPiAKPiA+IFllYWgsIHRoYXQncyB3 aGF0IEkgaGFkIGluIG1pbmQuIE5vIGlkZWEgaXQnbGwgd29yayBvdXQgb24gcmVhbCBody9mdWxs Cj4gPiBzdGFjay4KPiA+IAo+IAo+IEEgYml0IGxhdGUgdG8gdGhlIHRocmVhZCBidXQgd2hhdGV2 ZXIgaGFzIGJlZW4gc3VnZ2VzdGVkIHNvdW5kcyBxdWl0ZSBnb29kLgo+IAo+IE91ciBleHBlcmll bmNlIGdlbmVyYWxseSBoYXMgYmVlbiB0aGF0IHdlIGRvbid0IHdhbnQgZ2FtZXMgdG8gZG8gZnJh bWVwYWNpbmcgYnV0IGZsaXAgYXMgc29vbiBhcyB0aGUgcmVuZGVyIGZpbmlzaGVzLCBhcyBnYW1l cyBoYXZlIG5vIGNsdWUgaG93IGxvbmcgYSByZW5kZXIgdGFrZXMsIGV2ZW4gdGhvdWdoIHNvbWUg bWlnaHQgcHJldGVuZCB0by4KPiAKPiBBcyBmb3IgdGFyZ2V0ZWQgYXBwbGljYXRpb25zLCBsaWtl IHZpZGVvLCBhIHRpbWVzdGFtcCBzaG91bGQgd29yay4gQSB0aW1lc3RhbXAgbWlnaHQgYWxzbyB3 b3JrIGFzIGEgcG93ZXItc2F2aW5nIGZlYXR1cmUgb24gdGhlIGRlc2t0b3Agd2hlcmUgdGhlIGNv bXBvc2l0b3Igd291bGQgYmFzaWNhbGx5IGZvcmNlIGEgcmVhc29uYWJsZSByZWZyZXNoIHJhdGUg KGxpa2UgNjAgaW5zdGVhZCBvZiAxNDRIeiksIHBvc3NpYmx5IHJhbXBpbmcgdGhhdCByYXRlIHVw IG9yIGRvd24gYmFzZWQgb24gYWN0aXZpdHkuIFRoZSB0aGluZyB0byBrZWVwIGluIG1pbmQgaGVy ZSBpcyB0aGF0IGEgbG90IG9mIEZyZWVzeW5jIGRpc3BsYXlzIG1pZ2h0IGZsaWNrZXIgaWYgdGhl IGFjdHVhbCByZWZyZXNoIHJhdGUgaGFzIGxhcmdlIGp1bXBzLgo+IAo+ID4+PiBHaXZlbiBhbGwg dGhhdCBJJ20gbm90IHN1cmUgd2hldGhlciByZXF1aXJpbmcgdGhhdCB1c2Vyc3BhY2Ugc3VibWl0 cyBhCj4gPj4+IHRpbWVzdGFtcCB0byBnZXQgYWRhcHRpdmUgc3luYyBpcyBhIGdvb2QgaWRlYSAo aWYgd2UgZG9uJ3QgaGF2ZSBhbiAiYXMKPiA+Pj4gc29vbiBhcyByZWFkeSIgZmxhZyBhdCBsZWFz dCksIGFuZCB0aGUgdGltZXN0YW1wL2ZsYWcgYXQgZmxpcCB0aW1lCj4gPj4+IGlzbid0IGVub3Vn aCBlaXRoZXIuCj4gPj4+Cj4gPj4+Pj4+PiBGaW5hbGx5IEknbSBub3Qgc3VyZSB3ZSB3YW50IHRv IGluc2lzdCBvbiBhIHRhcmdldCB0aW1lIGZvciBmcmVlc3luYy4gQXQKPiA+Pj4+Pj4+IGxlYXN0 IGFzIGZhciBhcyBJIHVuZGVyc3RhbmQgdGhpbmdzIHlvdSBqdXN0IHdhbnQgImFzIHNvb24gYXMg cG9zc2libGUiLgo+ID4+Pj4+Pj4gVGhpcyBtaWdodCBjaGFuZ2Ugd2l0aCBzb21lIG9mIHRoZSBW Sy9FR0wvR0xYIGV4dGVuc2lvbnMgd2hlcmUgeW91Cj4gPj4+Pj4+PiBzcGVjaWZ5IGEgcHJlY2lz ZSB0aW1pbmcgKG1lZGlhIHBsYXliYWNrKS4gQnV0IHRoYXQgbmVlZHMgYSBiaXQgbW9yZSB3b3Jr Cj4gPj4+Pj4+PiB0byBtYWtlIGl0IGhhcHBlbiBJIHRoaW5rLCBzbyBwZXJoYXBzIGJldHRlciB0 byBwb3N0cG9uZS4KPiA+Pj4+Pj4KPiA+Pj4+Pj4gSSBkb24ndCBzZWUgd2h5LiBUaGVyZSdzIGFu IG9idmlvdXMgdXNlIGNhc2UgZm9yIHRoaXMgbm93LCBmb3IgdmlkZW8KPiA+Pj4+Pj4gcGxheWJh Y2suIEF0IGxlYXN0IFZEUEFVIGFscmVhZHkgaGFzIHRhcmdldCB0aW1lc3RhbXBzIGZvciB0aGlz Lgo+ID4+Pj4+Pgo+ID4+Pj4+Pgo+ID4+Pj4+Pj4gQWxzbyBub3RlIHRoYXQgcmlnaHQgbm93IG5v IGRyaXZlciBleHBlY3QgYW1kZ3B1IGhhcyBzdXBwb3J0IGZvciBhIHRhcmdldAo+ID4+Pj4+Pj4g dmJsYW5rIG9uIGEgZmxpcC4gVGhhdCdzIGltbyBhbm90aGVyIHJlYXNvbiBmb3Igbm90IHJlcXVp cmluZyB0YXJnZXQKPiA+Pj4+Pj4+IHN1cHBvcnQgZm9yIGF0IGxlYXN0IGJhc2ljIGZyZWVzeW5j IHN1cHBvcnQuCj4gPj4+Pj4+Cj4gPj4+Pj4+IEkgdGhpbmsgdGhhdCdzIGEgYmFkIHJlYXNvbi4g OikgQWRkaW5nIGl0IGZvciBhdG9taWMgZHJpdmVycyBzaG91bGRuJ3QKPiA+Pj4+Pj4gYmUgdGhh dCBoYXJkLgo+ID4+Pj4+Cj4gPj4+Pj4gSSB0aG91Z2h0IHRoZSBwcmltYXJ5IHJlYXNvbiBmb3Ig YWRhcHRpdmUgc3luYyBpcyB0aGUgYWRhcHRpdmUgZnJhbWUgcmF0ZQo+ID4+Pj4+IHRvIGNvcGUg d2l0aCB0aGUgb2NjYXNpb25hbCBzdGFsbCBpbiBnYW1lcy4gSWYgdGhlIGludGVuZGVkIHVzZS1j YXNlIGlzCj4gPj4+Pj4gdnIvbWVkaWEsIHRoZW4gSSBhZ3JlZSBnb2luZyB3aXRoIHRpbWVzdGFt cHMgZnJvbSB0aGUgYmVnaW5uaW5nIG1ha2VzCj4gPj4+Pj4gc2Vuc2UuIFRoYXQgc3RpbGwgbGVh dmVzIHRoZSAic2NoZWR1bGUgYXNhcCwgd2l0aCBzb21lIGxlZXdheSIgbW9kZS4gT3IgaXMKPiA+ Pj4+PiB0aGF0IChubyBsb25nZXIpIHNvbWV0aGluZyB3ZSB3YW50Pwo+ID4+Pj4KPiA+Pj4+IEJv dGggYXJlIHVzZSBjYXNlcyBmb3IgYWRhcHRpdmUgc3luYy4gQm90aCBjYW4gYmUgY292ZXJlZCBi eSBhIHRhcmdldAo+ID4+Pj4gdGltZXN0YW1wLiBUaGVyZSBtYXkgYmUgb3RoZXIgcG9zc2libGUg c29sdXRpb25zIHdoaWNoIHdvcmsgZm9yIGJvdGggdGhvdWdoLgo+ID4+Pgo+ID4+PiBIbSwgaG93 IGRvIHlvdSBtYWtlIHRoZSAiZmxpcCBhcyBzb29uIGFzIHJlYWR5IiBzZW1hbnRpY3Mgd29yayB3 aXRoCj4gPj4+IHRpbWVzdGFtcHMsIHdpdGhvdXQgcmVxdWlyaW5nIHVzZXJzcGFjZSB0byB3YWl0 IGZvciB0aGUgZmVuY2VzIHRvCj4gPj4+IHNpZ25hbCBiZWZvcmUgc3VibWl0dGluZz8gU2V0IHRo ZSB0aW1lc3RhbXAgdG8gbm93IGFuZCBmb3JjZSB0aGUgbWlzcz8KPiA+Pgo+ID4+IExpa2UgSSB3 cm90ZSBpbiBteSByZXBseSB0byBWaWxsZSwgSSB0aGluayBpdCBtYWtlcyBzZW5zZSB0byBhbHdh eXMgdHJlYXQKPiA+PiBzdGFsZSB0aW1lc3RhbXBzIGFzICJmbGlwIGFzIHNvb24gYXMgcmVhZHki Lgo+ID4gCj4gPiBNYWtlcyBzZW5zZSwgYW5kIG1hdGNoZXMgd2hhdCB3ZSBkbyB3aXRoIHRoZSB2 YmxhbmsgdGFyZ2V0IHJpZ2h0IG5vdy4gQnV0Cj4gPiB3aXRoIHN0dWZmIGxpa2UgVlIgaXQgbWln aHQgYmUgdGhhdCB3ZSBuZWVkIGEgd2luZG93LCBhbmQgd2hlbiB0aGluZ3MgYXJlCj4gPiBkZWxh eWVkIHRvbyBtdWNoIGl0J3MgYmV0dGVyIHRvIHJlLXJlbmRlciBhIG5ld2x5IGRpc3RvcnRlZCBm cmFtZSBpbnN0ZWFkCj4gPiBvZiBtb3Rpb24gc2lja25lc3MuIFdlJ2xsIHNlZS4gVlIncyByZWFs IHRvdWdoIGFueXdheSA6LSkKPiAKPiBJIHRoaW5rIGN1cnJlbnRseSB3ZSBkb24ndCBkbyBGcmVl c3luYyBvbiBWUiBzaW5jZSB0aGUgVlIgYXBwIHdhbnRzIHRvIGJlIGFibGUgdG8gY29udHJvbCB0 aGUgcmVmcmVzaCByYXRlIHRvIGF2b2lkIG1vdGlvbiBzaWNrbmVzcy4KPiAKPiBIYXJyeQo+IAo+ ID4gLURhbmllbAo+ID4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KPiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0Cj4gZHJpLWRldmVsQGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vZHJpLWRldmVsCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZl bAo=