From mboxrd@z Thu Jan 1 00:00:00 1970 From: Srinivas Pandruvada Subject: Re: [PATCH 0/9] GPU-bound energy efficiency improvements for the intel_pstate driver. Date: Wed, 11 Apr 2018 23:17:05 -0700 Message-ID: <1523513825.9016.1.camel@linux.intel.com> References: <20180328063845.4884-1-currojerez@riseup.net> <87604ybssf.fsf@riseup.net> <1523416474.2700.2.camel@linux.intel.com> <87vacx7mh3.fsf@riseup.net> <87muy97lr0.fsf@riseup.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <87muy97lr0.fsf@riseup.net> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Francisco Jerez , linux-pm@vger.kernel.org, intel-gfx@lists.freedesktop.org Cc: Peter Zijlstra , Eero Tamminen , "Rafael J. Wysocki" List-Id: linux-pm@vger.kernel.org T24gV2VkLCAyMDE4LTA0LTExIGF0IDA5OjI2IC0wNzAwLCBGcmFuY2lzY28gSmVyZXogd3JvdGU6 Cj4gCj4gImp1c3QgbGlrZSIgaGVyZSBpcyBwb3NzaWJseSBzb21ld2hhdCB1bmZhaXIgdG8gdGhl IHNjaGVkdXRpbAo+IGdvdmVybm9yLAo+IGFkbWl0dGVkbHkgaXRzIHByb2dyZXNzaXZlIElPV0FJ VCBib29zdGluZyBiZWhhdmlvciBzZWVtcyBzb21ld2hhdAo+IGxlc3MKPiB3YXN0ZWZ1bCB0aGFu IHRoZSBpbnRlbF9wc3RhdGUgbm9uLUhXUCBnb3Zlcm5vcidzIElPV0FJVCBib29zdGluZwo+IGJl aGF2aW9yLCBidXQgaXQncyBzdGlsbCBsYXJnZWx5IHVuaGVscGZ1bCBvbiBJTy1ib3VuZCBjb25k aXRpb25zLgo+IAoKT0ssIGlmIHlvdSB0aGluayBzbywgdGhlbiBpbXByb3ZlIGl0IGZvciBzY2hl ZC11dGlsIGdvdmVybm9yIG9yIG90aGVyCm1lY2hhbmlzbXMgKGFzIEp1cmkgc3VnZ2VzdGVkKSBp bnN0ZWFkIG9mIGludGVsLXBzdGF0ZS4gVGhpcyB3aWxsCmJlbmVmaXQgYWxsIGFyY2hpdGVjdHVy ZXMgaW5jbHVkaW5nIHg4NiArIG5vbiBpOTE1LgoKQlRXIGludGVsLXBzdGF0ZSBjYW4gYmUgZHJp dmVuIGJ5IHNjaGVkLXV0aWwgZ292ZXJub3IgKHBhc3NpdmUgbW9kZSksCnNvIGlmIHlvdXIgcHJv dmUgYmVuZWZpdHMgdG8gQnJveHRvbiwgdGhpcyBjYW4gYmUgYSBkZWZhdWx0LgpBcyBiZWZvcmU6 Ci0gTm8gcmVncmVzc2lvbiB0byBpZGxlIHBvd2VyIGF0IGFsbC4gVGhpcyBpcyBtb3JlIGltcG9y dGFudCB0aGFuCmJlbmNobWFya3MKLSBOb3QganVzdCBzY29yZSwgcGVyZm9ybWFuY2Uvd2F0dCBp cyBpbXBvcnRhbnQKClRoYW5rcywKU3Jpbml2YXMKCgo+ID4gY29udHJvbGxlciBkb2VzLCBldmVu IHRob3VnaCB0aGUgZnJlcXVlbnQgSU8gd2FpdHMgbWF5IGFjdHVhbGx5IGJlCj4gPiBhbgo+ID4g aW5kaWNhdGlvbiB0aGF0IHRoZSBzeXN0ZW0gaXMgSU8tYm91bmQgKHdoaWNoIG1lYW5zIHRoYXQg dGhlIGxhcmdlCj4gPiBlbmVyZ3kgdXNhZ2UgaW5jcmVhc2UgbWF5IG5vdCBiZSB0cmFuc2xhdGVk IGluIGFueSBwZXJmb3JtYW5jZQo+ID4gYmVuZWZpdAo+ID4gaW4gcHJhY3RpY2UsIG5vdCB0byBz cGVhayBvZiBwZXJmb3JtYW5jZSBiZWluZyBpbXBhY3RlZCBuZWdhdGl2ZWx5Cj4gPiBpbgo+ID4g VERQLWJvdW5kIHNjZW5hcmlvcyBsaWtlIEdQVSByZW5kZXJpbmcpLgo+ID4gCj4gPiBSZWdhcmRp bmcgcnVuLXRpbWUgY29tcGxleGl0eSwgSSBoYXZlbid0IG9ic2VydmVkIHRoaXMgZ292ZXJub3Ig dG8KPiA+IGJlCj4gPiBtZWFzdXJhYmx5IG1vcmUgY29tcHV0YXRpb25hbGx5IGludGVuc2l2ZSB0 aGFuIHRoZSBwcmVzZW50Cj4gPiBvbmUuwqDCoEl0J3MgYQo+ID4gYnVuY2ggbW9yZSBpbnN0cnVj dGlvbnMgaW5kZWVkLCBidXQgc3RpbGwgd2l0aGluIHRoZSBzYW1lIGJhbGxwYXJrCj4gPiBhcwo+ ID4gdGhlIGN1cnJlbnQgZ292ZXJub3IuwqDCoFRoZSBhdmVyYWdlIGluY3JlYXNlIGluIENQVSB1 dGlsaXphdGlvbiBvbgo+ID4gbXkgQlhUCj4gPiB3aXRoIHRoaXMgc2VyaWVzIGlzIGxlc3MgdGhh biAwLjAzJSAoc2FtcGxlZCB2aWEgZnRyYWNlIGZvciB2MSwgSQo+ID4gY2FuCj4gPiByZXBlYXQg dGhlIG1lYXN1cmVtZW50IGZvciB0aGUgdjIgSSBoYXZlIGluIHRoZSB3b3JrcywgdGhvdWdoIEkK PiA+IGRvbid0Cj4gPiBleHBlY3QgdGhlIHJlc3VsdCB0byBiZSBzdWJzdGFudGlhbGx5IGRpZmZl cmVudCkuwqDCoElmIHRoaXMgaXMgYQo+ID4gcHJvYmxlbQo+ID4gZm9yIHlvdSB0aGVyZSBhcmUg c2V2ZXJhbCBvcHRpbWl6YXRpb24gb3Bwb3J0dW5pdGllcyB0aGF0IHdvdWxkIGN1dAo+ID4gZG93 bgo+ID4gdGhlIG51bWJlciBvZiBDUFUgY3ljbGVzIGdldF90YXJnZXRfcHN0YXRlX2xwKCkgdGFr ZXMgdG8gZXhlY3V0ZSBieQo+ID4gYQo+ID4gbGFyZ2UgcGVyY2VudCAobW9zdCBvZiB0aGUgb3B0 aW1pemF0aW9uIGlkZWFzIEkgY2FuIHRoaW5rIG9mIHJpZ2h0Cj4gPiBub3cKPiA+IHRob3VnaCB3 b3VsZCBjb21lIGF0IHNvbWUgYWNjdXJhY3kvbWFpbnRhaW5hYmlsaXR5L2RlYnVnZ2FiaWxpdHkK PiA+IGNvc3QsCj4gPiBidXQgbWF5IHN0aWxsIGJlIHdvcnRoIHB1cnN1aW5nKSwgYnV0IHRoZSBj b21wdXRhdGlvbmFsIG92ZXJoZWFkIGlzCj4gPiBsb3cKPiA+IGVub3VnaCBhdCB0aGlzIHBvaW50 IHRoYXQgdGhlIGltcGFjdCBvbiBhbnkgYmVuY2htYXJrIG9yIHJlYWwKPiA+IHdvcmtsb2FkCj4g PiB3b3VsZCBiZSBvcmRlcnMgb2YgbWFnbml0dWRlIGxvd2VyIHRoYW4gaXRzIHZhcmlhbmNlLCB3 aGljaCBtYWtlcwo+ID4gaXQKPiA+IGtpbmQgb2YgZGlmZmljdWx0IHRvIGtlZXAgdGhlIGRpc2N1 c3Npb24gZGF0YS1kcml2ZW4gW2FzIHBvc3NpYmx5Cj4gPiBhbnkKPiA+IHBlcmZvcm1hbmNlIG9w dGltaXphdGlvbiBkaXNjdXNzaW9uIHNob3VsZCBldmVyIGJlIDspXS4KPiA+IAo+ID4gPiAKPiA+ ID4gVGhhbmtzLAo+ID4gPiBTcmluaXZhcwo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4gPiA+IAo+ ID4gPiA+ID4gW0Fic29sdXRlIGJlbmNobWFyayByZXN1bHRzIGFyZSB1bmZvcnR1bmF0ZWx5IG9t aXR0ZWQgZnJvbQo+ID4gPiA+ID4gdGhpcwo+ID4gPiA+ID4gbGV0dGVyCj4gPiA+ID4gPiBkdWUg dG8gY29tcGFueSBwb2xpY2llcywgYnV0IHRoZSBwZXJjZW50IGNoYW5nZSBhbmQgU3R1ZGVudCdz Cj4gPiA+ID4gPiBUCj4gPiA+ID4gPiBwLXZhbHVlIGFyZSBpbmNsdWRlZCBhYm92ZSBhbmQgaW4g dGhlIHJlZmVyZW5jZWQgYmVuY2htYXJrCj4gPiA+ID4gPiByZXN1bHRzXQo+ID4gPiA+ID4gCj4g PiA+ID4gPiBUaGUgbW9zdCBvYnZpb3VzIGltcGFjdCBvZiB0aGlzIHNlcmllcyB3aWxsIGxpa2Vs eSBiZSB0aGUKPiA+ID4gPiA+IG92ZXJhbGwKPiA+ID4gPiA+IGltcHJvdmVtZW50IGluIGdyYXBo aWNzIHBlcmZvcm1hbmNlIG9uIHN5c3RlbXMgd2l0aCBhbiBJR1AKPiA+ID4gPiA+IGludGVncmF0 ZWQKPiA+ID4gPiA+IGludG8gdGhlIHByb2Nlc3NvciBwYWNrYWdlICh0aG91Z2ggZm9yIHRoZSBt b21lbnQgdGhpcyBpcwo+ID4gPiA+ID4gb25seQo+ID4gPiA+ID4gZW5hYmxlZAo+ID4gPiA+ID4g b24gQlhUKyksIGJlY2F1c2UgdGhlIFREUCBidWRnZXQgc2hhcmVkIGFtb25nIENQVSBhbmQgR1BV IGNhbgo+ID4gPiA+ID4gZnJlcXVlbnRseSBiZWNvbWUgYSBsaW1pdGluZyBmYWN0b3IgaW4gbG93 LXBvd2VyIGRldmljZXMuwqDCoE9uCj4gPiA+ID4gPiBoZWF2aWx5Cj4gPiA+ID4gPiBURFAtYm91 bmQgZGV2aWNlcyB0aGlzIHNlcmllcyBpbXByb3ZlcyBwZXJmb3JtYW5jZSBvZgo+ID4gPiA+ID4g dmlydHVhbGx5IGFueQo+ID4gPiA+ID4gbm9uLXRyaXZpYWwgZ3JhcGhpY3MgcmVuZGVyaW5nIGJ5 IGEgc2lnbmlmaWNhbnQgYW1vdW50IChvZgo+ID4gPiA+ID4gdGhlCj4gPiA+ID4gPiBvcmRlcgo+ ID4gPiA+ID4gb2YgdGhlIGVuZXJneSBlZmZpY2llbmN5IGltcHJvdmVtZW50IGZvciB0aGF0IHdv cmtsb2FkCj4gPiA+ID4gPiBhc3N1bWluZyB0aGUKPiA+ID4gPiA+IG9wdGltaXphdGlvbiBkaWRu J3QgY2F1c2UgaXQgdG8gYmVjb21lIG5vbi1URFAtYm91bmQpLgo+ID4gPiA+ID4gCj4gPiA+ID4g PiBTZWUgWzFdLVs1XSBmb3IgZGV0YWlsZWQgbnVtYmVycyBpbmNsdWRpbmcgdmFyaW91cyBncmFw aGljcwo+ID4gPiA+ID4gYmVuY2htYXJrcwo+ID4gPiA+ID4gYW5kIGEgc2FtcGxlIG9mIHRoZSBQ aG9yb25peCBkYWlseS1zeXN0ZW0tdHJhY2tlci7CoMKgU29tZQo+ID4gPiA+ID4gcG9wdWxhcgo+ ID4gPiA+ID4gZ3JhcGhpY3MgYmVuY2htYXJrcyBsaWtlIEdmeEJlbmNoIGdsX21hbmhhdHRhbjMx IGFuZCBnbF80Cj4gPiA+ID4gPiBpbXByb3ZlCj4gPiA+ID4gPiBiZXR3ZWVuIDUlIGFuZCAxMSUg b24gb3VyIHN5c3RlbXMuwqDCoFRoZSBleGFjdCBpbXByb3ZlbWVudCBjYW4KPiA+ID4gPiA+IHZh cnkKPiA+ID4gPiA+IHN1YnN0YW50aWFsbHkgYmV0d2VlbiBzeXN0ZW1zIChjb21wYXJlIHRoZSBi ZW5jaG1hcmsgcmVzdWx0cwo+ID4gPiA+ID4gZnJvbQo+ID4gPiA+ID4gdGhlCj4gPiA+ID4gPiB0 d28gZGlmZmVyZW50IEozNDU1IHN5c3RlbXMgWzFdIGFuZCBbM10pIGR1ZSB0byBhIG51bWJlciBv Zgo+ID4gPiA+ID4gZmFjdG9ycywKPiA+ID4gPiA+IGluY2x1ZGluZyB0aGUgcmF0aW8gYmV0d2Vl biBDUFUgYW5kIEdQVSBwcm9jZXNzaW5nIHBvd2VyLCB0aGUKPiA+ID4gPiA+IGJlaGF2aW9yCj4g PiA+ID4gPiBvZiB0aGUgdXNlcnNwYWNlIGdyYXBoaWNzIGRyaXZlciwgdGhlIHdpbmRvd2luZyBz eXN0ZW0gYW5kCj4gPiA+ID4gPiByZXNvbHV0aW9uLAo+ID4gPiA+ID4gdGhlIEJJT1MgKHdoaWNo IGhhcyBhbiBpbmZsdWVuY2Ugb24gdGhlIHBhY2thZ2UgVERQKSwgdGhlCj4gPiA+ID4gPiB0aGVy bWFsCj4gPiA+ID4gPiBjaGFyYWN0ZXJpc3RpY3Mgb2YgdGhlIHN5c3RlbSwgZXRjLgo+ID4gPiA+ ID4gCj4gPiA+ID4gPiBVbmlnaW5lIFZhbGxleSBhbmQgSGVhdmVuIGltcHJvdmUgYnkgYSBzaW1p bGFyIGZhY3RvciBvbiBzb21lCj4gPiA+ID4gPiBzeXN0ZW1zCj4gPiA+ID4gPiAoc2VlIHRoZSBK MzQ1NSByZXN1bHRzIFsxXSksIGJ1dCBvbiBvdGhlcnMgdGhlIGltcHJvdmVtZW50IGlzCj4gPiA+ ID4gPiBsb3dlcgo+ID4gPiA+ID4gYmVjYXVzZSB0aGUgYmVuY2htYXJrIGZhaWxzIHRvIGZ1bGx5 IHV0aWxpemUgdGhlIEdQVSwgd2hpY2gKPiA+ID4gPiA+IGNhdXNlcwo+ID4gPiA+ID4gdGhlCj4g PiA+ID4gPiBoZXVyaXN0aWMgdG8gcmVtYWluIGluIGxvdy1sYXRlbmN5IHN0YXRlIGZvciBsb25n ZXIsIHdoaWNoCj4gPiA+ID4gPiBsZWF2ZXMgYQo+ID4gPiA+ID4gcmVkdWNlZCBURFAgYnVkZ2V0 IGF2YWlsYWJsZSB0byB0aGUgR1BVLCB3aGljaCBwcmV2ZW50cwo+ID4gPiA+ID4gcGVyZm9ybWFu Y2UKPiA+ID4gPiA+IGZyb20gaW5jcmVhc2luZyBmdXJ0aGVyLsKgwqBUaGlzIGNhbiBiZSBhdm9p ZGVkIGJ5IHVzaW5nIHRoZQo+ID4gPiA+ID4gYWx0ZXJuYXRpdmUKPiA+ID4gPiA+IGhldXJpc3Rp YyBwYXJhbWV0ZXJzIHN1Z2dlc3RlZCBpbiB0aGUgY29tbWl0IG1lc3NhZ2Ugb2YgUEFUQ0gKPiA+ ID4gPiA+IDgsCj4gPiA+ID4gPiB3aGljaAo+ID4gPiA+ID4gcHJvdmlkZSBhIGxvd2VyIElPIHV0 aWxpemF0aW9uIHRocmVzaG9sZCBhbmQgaHlzdGVyZXNpcyBmb3IKPiA+ID4gPiA+IHRoZQo+ID4g PiA+ID4gY29udHJvbGxlciB0byBhdHRlbXB0IHRvIHNhdmUgZW5lcmd5LsKgwqBJJ20gbm90IHBy b3Bvc2luZwo+ID4gPiA+ID4gdGhvc2UgZm9yCj4gPiA+ID4gPiB1cHN0cmVhbSAoeWV0KSBiZWNh dXNlIHRoZXkgd291bGQgYWxzbyBpbmNyZWFzZSB0aGUgcmlzayBmb3IKPiA+ID4gPiA+IGxhdGVu Y3ktc2Vuc2l0aXZlIElPLWhlYXZ5IHdvcmtsb2FkcyB0byByZWdyZXNzIChsaWtlCj4gPiA+ID4g PiBTeW5NYXJrMgo+ID4gPiA+ID4gT2dsVGVycmFpbkZseSogYW5kIHNvbWUgYXJndWFibHkgcG9v cmx5IGRlc2lnbmVkIElQQy1ib3VuZAo+ID4gPiA+ID4gWDExCj4gPiA+ID4gPiBiZW5jaG1hcmtz KS4KPiA+ID4gPiA+IAo+ID4gPiA+ID4gRGlzY3JldGUgZ3JhcGhpY3MgYXJlbid0IGxpa2VseSB0 byBleHBlcmllbmNlIHRoYXQgbXVjaCBvZiBhCj4gPiA+ID4gPiB2aXNpYmxlCj4gPiA+ID4gPiBp bXByb3ZlbWVudCBmcm9tIHRoaXMsIGV2ZW4gdGhvdWdoIG1hbnkgbm9uLUlHUCB3b3JrbG9hZHMK PiA+ID4gPiA+ICpjb3VsZCoKPiA+ID4gPiA+IGJlbmVmaXQgYnkgcmVkdWNpbmcgdGhlIHN5c3Rl bSdzIGVuZXJneSB1c2FnZSB3aGlsZSB0aGUKPiA+ID4gPiA+IGRpc2NyZXRlCj4gPiA+ID4gPiBH UFUKPiA+ID4gPiA+IChvciByZWFsbHksIGFueSBvdGhlciBJTyBkZXZpY2UpIGJlY29tZXMgYSBi b3R0bGVuZWNrLCBidXQKPiA+ID4gPiA+IHRoaXMgaXMKPiA+ID4gPiA+IG5vdAo+ID4gPiA+ID4g YXR0ZW1wdGVkIGluIHRoaXMgc2VyaWVzLCBzaW5jZSB0aGF0IHdvdWxkIGludm9sdmUgbWFraW5n IGFuCj4gPiA+ID4gPiBlbmVyZ3kKPiA+ID4gPiA+IGVmZmljaWVuY3kvbGF0ZW5jeSB0cmFkZS1v ZmYgdGhhdCBvbmx5IHRoZSBtYWludGFpbmVycyBvZiB0aGUKPiA+ID4gPiA+IHJlc3BlY3RpdmUg ZHJpdmVycyBhcmUgaW4gYSBwb3NpdGlvbiB0byBtYWtlLsKgwqBUaGUgY3B1ZnJlcQo+ID4gPiA+ ID4gaW50ZXJmYWNlCj4gPiA+ID4gPiBpbnRyb2R1Y2VkIGluIFBBVENIIDEgdG8gYWNoaWV2ZSB0 aGlzIGlzIGxlZnQgYXMgYW4gb3B0LWluCj4gPiA+ID4gPiBmb3IgdGhhdAo+ID4gPiA+ID4gcmVh c29uLCBvbmx5IHRoZSBpOTE1IERSTSBkcml2ZXIgaXMgaG9va2VkIHVwIHNpbmNlIGl0IHdpbGwK PiA+ID4gPiA+IGdldCB0aGUKPiA+ID4gPiA+IG1vc3QgZGlyZWN0IHBheS1vZmYgZHVlIHRvIHRo ZSBpbmNyZWFzZWQgZW5lcmd5IGJ1ZGdldAo+ID4gPiA+ID4gYXZhaWxhYmxlIHRvCj4gPiA+ID4g PiB0aGUgR1BVLCBidXQgb3RoZXIgcG93ZXItaHVuZ3J5IHRoaXJkLXBhcnR5IGdhZGdldHMgYnVp bHQKPiA+ID4gPiA+IGludG8gdGhlCj4gPiA+ID4gPiBzYW1lIHBhY2thZ2UgKCpjb3VnaCogQU1E ICpjb3VnaCogTWFsaSAqY291Z2gqIFBvd2VyVlIKPiA+ID4gPiA+ICpjb3VnaCopIG1heQo+ID4g PiA+ID4gYmUKPiA+ID4gPiA+IGFibGUgdG8gYmVuZWZpdCBmcm9tIHRoaXMgaW50ZXJmYWNlIGV2 ZW50dWFsbHkgYnkKPiA+ID4gPiA+IGluc3RydW1lbnRpbmcgdGhlCj4gPiA+ID4gPiBkcml2ZXIg aW4gYSBzaW1pbGFyIHdheS4KPiA+ID4gPiA+IAo+ID4gPiA+ID4gVGhlIGNwdWZyZXEgaW50ZXJm YWNlIGlzIG5vdCBleGNsdXNpdmVseSB0aWVkIHRvIHRoZQo+ID4gPiA+ID4gaW50ZWxfcHN0YXRl Cj4gPiA+ID4gPiBkcml2ZXIsIGJlY2F1c2Ugb3RoZXIgZ292ZXJub3JzIGNhbiBtYWtlIHVzZSBv ZiB0aGUgc3RhdGlzdGljCj4gPiA+ID4gPiBjYWxjdWxhdGVkIGFzIHJlc3VsdCB0byBhdm9pZCBv dmVyLW9wdGltaXppbmcgZm9yIGxhdGVuY3kgaW4KPiA+ID4gPiA+IHNjZW5hcmlvcwo+ID4gPiA+ ID4gd2hlcmUgYSBsb3dlciBmcmVxdWVuY3kgd291bGQgYmUgYWJsZSB0byBhY2hpZXZlIHNpbWls YXIKPiA+ID4gPiA+IHRocm91Z2hwdXQKPiA+ID4gPiA+IHdoaWxlIHVzaW5nIGxlc3MgZW5lcmd5 LsKgwqBUaGUgaW50ZXJwcmV0YXRpb24gb2YgdGhpcwo+ID4gPiA+ID4gc3RhdGlzdGljCj4gPiA+ ID4gPiByZWxpZXMKPiA+ID4gPiA+IG9uIHRoZSBvYnNlcnZhdGlvbiB0aGF0IGZvciBhcyBsb25n IGFzIHRoZSBzeXN0ZW0gaXMgQ1BVLQo+ID4gPiA+ID4gYm91bmQsIGFueQo+ID4gPiA+ID4gSU8K PiA+ID4gPiA+IGxvYWQgb2NjdXJyaW5nIGFzIGEgcmVzdWx0IG9mIHRoZSBleGVjdXRpb24gb2Yg YSBwcm9ncmFtIHdpbGwKPiA+ID4gPiA+IHNjYWxlCj4gPiA+ID4gPiByb3VnaGx5IGxpbmVhcmx5 IHdpdGggdGhlIGNsb2NrIGZyZXF1ZW5jeSB0aGUgcHJvZ3JhbSBpcyBydW4KPiA+ID4gPiA+IGF0 LCBzbwo+ID4gPiA+ID4gKGFzc3VtaW5nIHRoYXQgdGhlIENQVSBoYXMgZW5vdWdoIHByb2Nlc3Np bmcgcG93ZXIpIGEgcG9pbnQKPiA+ID4gPiA+IHdpbGwgYmUKPiA+ID4gPiA+IHJlYWNoZWQgYXQg d2hpY2ggdGhlIHByb2dyYW0gd29uJ3QgYmUgYWJsZSB0byBleGVjdXRlIGZhc3Rlcgo+ID4gPiA+ ID4gd2l0aAo+ID4gPiA+ID4gaW5jcmVhc2luZyBDUFUgZnJlcXVlbmN5IGJlY2F1c2UgdGhlIHRo cm91Z2hwdXQgbGltaXRzIG9mCj4gPiA+ID4gPiBzb21lCj4gPiA+ID4gPiBkZXZpY2UKPiA+ID4g PiA+IHdpbGwgaGF2ZSBiZWVuIGF0dGFpbmVkLsKgwqBJbmNyZWFzaW5nIGZyZXF1ZW5jaWVzIHBh c3QgdGhhdAo+ID4gPiA+ID4gcG9pbnQKPiA+ID4gPiA+IG9ubHkKPiA+ID4gPiA+IHBlc3NpbWl6 ZXMgZW5lcmd5IHVzYWdlIGZvciBubyByZWFsIGJlbmVmaXQgLS0gVGhlIG9wdGltYWwKPiA+ID4g PiA+IGJlaGF2aW9yCj4gPiA+ID4gPiBpcwo+ID4gPiA+ID4gZm9yIHRoZSBDUFUgdG8gbG9jayB0 byB0aGUgbWluaW11bSBmcmVxdWVuY3kgdGhhdCBpcyBhYmxlIHRvCj4gPiA+ID4gPiBrZWVwCj4g PiA+ID4gPiB0aGUKPiA+ID4gPiA+IElPIGRldmljZXMgaW52b2x2ZWQgZnVsbHkgdXRpbGl6ZWQg KGFzc3VtaW5nIHdlIGFyZSBwYXN0IHRoZQo+ID4gPiA+ID4gbWF4aW11bS1lZmZpY2llbmN5IGlu ZmxlY3Rpb24gcG9pbnQgb2YgdGhlIENQVSdzIHBvd2VyLXRvLQo+ID4gPiA+ID4gZnJlcXVlbmN5 Cj4gPiA+ID4gPiBjdXJ2ZSksIHdoaWNoIGlzIHJvdWdobHkgdGhlIGdvYWwgb2YgdGhpcyBzZXJp ZXMuCj4gPiA+ID4gPiAKPiA+ID4gPiA+IFBFTFQgY291bGQgYmUgYSB1c2VmdWwgZXh0ZW5zaW9u IGZvciB0aGlzIG1vZGVsIHNpbmNlIGl0cwo+ID4gPiA+ID4gbGFyZ2VseQo+ID4gPiA+ID4gaGV1 cmlzdGljIGFzc3VtcHRpb25zIHdvdWxkIGJlY29tZSBtb3JlIGFjY3VyYXRlIGlmIHRoZSBJTwo+ ID4gPiA+ID4gYW5kIENQVQo+ID4gPiA+ID4gbG9hZCBjb3VsZCBiZSB0cmFja2VkIHNlcGFyYXRl bHkgZm9yIGVhY2ggc2NoZWR1bGluZyBlbnRpdHksCj4gPiA+ID4gPiBidXQKPiA+ID4gPiA+IHRo aXMKPiA+ID4gPiA+IGlzIG5vdCBhdHRlbXB0ZWQgaW4gdGhpcyBzZXJpZXMgYmVjYXVzZSB0aGUg YWRkaXRpb25hbAo+ID4gPiA+ID4gY29tcGxleGl0eQo+ID4gPiA+ID4gYW5kCj4gPiA+ID4gPiBj b21wdXRhdGlvbmFsIGNvc3Qgb2Ygc3VjaCBhbiBhcHByb2FjaCBpcyBoYXJkIHRvIGp1c3RpZnkg YXQKPiA+ID4gPiA+IHRoaXMKPiA+ID4gPiA+IHN0YWdlLCBwYXJ0aWN1bGFybHkgc2luY2UgdGhl IGN1cnJlbnQgZ292ZXJub3IgaGFzIHNpbWlsYXIKPiA+ID4gPiA+IGxpbWl0YXRpb25zLgo+ID4g PiA+ID4gCj4gPiA+ID4gPiBWYXJpb3VzIGZyZXF1ZW5jeSBhbmQgc3RlcC1mdW5jdGlvbiByZXNw b25zZSBncmFwaHMgYXJlCj4gPiA+ID4gPiBhdmFpbGFibGUKPiA+ID4gPiA+IGluCj4gPiA+ID4g PiBbNl0tWzldIGZvciBjb21wYXJpc29uIChvYnRhaW5lZCBlbXBpcmljYWxseSBvbiBhIEJYVCBK MzQ1NQo+ID4gPiA+ID4gc3lzdGVtKS4KPiA+ID4gPiA+IFRoZSByZXNwb25zZSBjdXJ2ZXMgZm9y IHRoZSBsb3ctbGF0ZW5jeSBhbmQgbG93LXBvd2VyIHN0YXRlcwo+ID4gPiA+ID4gb2YgdGhlCj4g PiA+ID4gPiBoZXVyaXN0aWMgYXJlIHNob3duIHNlcGFyYXRlbHkgLS0gQXMgeW91IGNhbiBzZWUg dGhleSByb3VnaGx5Cj4gPiA+ID4gPiBicmFja2V0Cj4gPiA+ID4gPiB0aGUgZnJlcXVlbmN5IHJl c3BvbnNlIGN1cnZlIG9mIHRoZSBjdXJyZW50IGdvdmVybm9yLsKgwqBUaGUKPiA+ID4gPiA+IHN0 ZXAKPiA+ID4gPiA+IHJlc3BvbnNlIG9mIHRoZSBhZ2dyZXNzaXZlIGhldXJpc3RpYyBpcyB3aXRo aW4gYSBzaW5nbGUKPiA+ID4gPiA+IHVwZGF0ZQo+ID4gPiA+ID4gcGVyaW9kCj4gPiA+ID4gPiAo ZXZlbiB0aG91Z2ggaXQncyBub3QgcXVpdGUgb2J2aW91cyBmcm9tIHRoZSBncmFwaCB3aXRoIHRo ZQo+ID4gPiA+ID4gbGV2ZWxzCj4gPiA+ID4gPiBvZgo+ID4gPiA+ID4gem9vbSBwcm92aWRlZCku wqDCoEknbGwgYXR0YWNoIGJlbmNobWFyayByZXN1bHRzIGZyb20gYSBzbG93ZXIKPiA+ID4gPiA+ IGJ1dAo+ID4gPiA+ID4gbm9uLVREUC1saW1pdGVkIG1hY2hpbmUgKHdoaWNoIG1lYW5zIHRoZXJl IHdpbGwgYmUgbm8gVERQCj4gPiA+ID4gPiBidWRnZXQKPiA+ID4gPiA+IGluY3JlYXNlIHRoYXQg Y291bGQgcG9zc2libHkgbWFzayBhIHBlcmZvcm1hbmNlIHJlZ3Jlc3Npb24gb2YKPiA+ID4gPiA+ IG90aGVyCj4gPiA+ID4gPiBraW5kKSBhcyBzb29uIGFzIHRoZXkgY29tZSBvdXQuCj4gPiA+ID4g PiAKPiA+ID4gPiA+IFRoYW5rcyB0byBFZXJvIGFuZCBWYWx0dGVyaSBmb3IgdGVzdGluZyBhIG51 bWJlciBvZgo+ID4gPiA+ID4gaW50ZXJtZWRpYXRlCj4gPiA+ID4gPiByZXZpc2lvbnMgb2YgdGhp cyBzZXJpZXMgKGFuZCB0aGVyZSB3ZXJlIHF1aXRlIGEgZmV3IG9mIHRoZW0pCj4gPiA+ID4gPiBp bgo+ID4gPiA+ID4gbW9yZQo+ID4gPiA+ID4gdGhhbiBoYWxmIGEgZG96ZW4gc3lzdGVtcywgdGhl eSBoZWxwZWQgc3BvdCBxdWl0ZSBhIGZldwo+ID4gPiA+ID4gaXNzdWVzIG9mCj4gPiA+ID4gPiBl YXJsaWVyIHZlcnNpb25zIG9mIHRoaXMgaGV1cmlzdGljLgo+ID4gPiA+ID4gCj4gPiA+ID4gPiBb UEFUQ0ggMS85XSBjcHVmcmVxOiBJbXBsZW1lbnQgaW5mcmFzdHJ1Y3R1cmUga2VlcGluZyB0cmFj awo+ID4gPiA+ID4gb2YKPiA+ID4gPiA+IGFnZ3JlZ2F0ZWQgSU8gYWN0aXZlIHRpbWUuCj4gPiA+ ID4gPiBbUEFUQ0ggMi85XSBSZXZlcnQgImNwdWZyZXE6IGludGVsX3BzdGF0ZTogUmVwbGFjZSBi eHRfZnVuY3MKPiA+ID4gPiA+IHdpdGgKPiA+ID4gPiA+IGNvcmVfZnVuY3MiCj4gPiA+ID4gPiBb UEFUQ0ggMy85XSBSZXZlcnQgImNwdWZyZXE6IGludGVsX3BzdGF0ZTogU2hvcnRlbiBhIGNvdXBs ZQo+ID4gPiA+ID4gb2YgbG9uZwo+ID4gPiA+ID4gbmFtZXMiCj4gPiA+ID4gPiBbUEFUQ0ggNC85 XSBSZXZlcnQgImNwdWZyZXE6IGludGVsX3BzdGF0ZTogU2ltcGxpZnkKPiA+ID4gPiA+IGludGVs X3BzdGF0ZV9hZGp1c3RfcHN0YXRlKCkiCj4gPiA+ID4gPiBbUEFUQ0ggNS85XSBSZXZlcnQgImNw dWZyZXE6IGludGVsX3BzdGF0ZTogRHJvcCAtPnVwZGF0ZV91dGlsCj4gPiA+ID4gPiBmcm9tCj4g PiA+ID4gPiBwc3RhdGVfZnVuY3MiCj4gPiA+ID4gPiBbUEFUQ0ggNi85XSBjcHVmcmVxL2ludGVs X3BzdGF0ZTogSW1wbGVtZW50IHZhcmlhYmx5IGxvdy1wYXNzCj4gPiA+ID4gPiBmaWx0ZXJpbmcg Y29udHJvbGxlciBmb3Igc21hbGwgY29yZS4KPiA+ID4gPiA+IFtQQVRDSCA3LzldIFNRVUFTSDog Y3B1ZnJlcS9pbnRlbF9wc3RhdGU6IEVuYWJsZSBMUAo+ID4gPiA+ID4gY29udHJvbGxlcgo+ID4g PiA+ID4gYmFzZWQgb24gQUNQSSBGQURUIHByb2ZpbGUuCj4gPiA+ID4gPiBbUEFUQ0ggOC85XSBP UFRJT05BTDogY3B1ZnJlcS9pbnRlbF9wc3RhdGU6IEV4cG9zZSBMUAo+ID4gPiA+ID4gY29udHJv bGxlcgo+ID4gPiA+ID4gcGFyYW1ldGVycyB2aWEgZGVidWdmcy4KPiA+ID4gPiA+IFtQQVRDSCA5 LzldIGRybS9pOTE1L2V4ZWNsaXN0czogUmVwb3J0IEdQVSByZW5kZXJpbmcgYXMgSU8KPiA+ID4g PiA+IGFjdGl2aXR5Cj4gPiA+ID4gPiB0byBjcHVmcmVxLgo+ID4gPiA+ID4gCj4gPiA+ID4gPiBb MV0gaHR0cDovL3Blb3BsZS5mcmVlZGVza3RvcC5vcmcvfmN1cnJvamVyZXovaW50ZWxfcHN0YXRl LWxwCj4gPiA+ID4gPiAvYmVuY2gKPiA+ID4gPiA+IG1hcmstcGVyZi1jb21wYXJpc29uLUozNDU1 LmxvZwo+ID4gPiA+ID4gWzJdIGh0dHA6Ly9wZW9wbGUuZnJlZWRlc2t0b3Aub3JnL35jdXJyb2pl cmV6L2ludGVsX3BzdGF0ZS1scAo+ID4gPiA+ID4gL2JlbmNoCj4gPiA+ID4gPiBtYXJrLXBlcmYt cGVyLXdhdHQtY29tcGFyaXNvbi1KMzQ1NS5sb2cKPiA+ID4gPiA+IFszXSBodHRwOi8vcGVvcGxl LmZyZWVkZXNrdG9wLm9yZy9+Y3Vycm9qZXJlei9pbnRlbF9wc3RhdGUtbHAKPiA+ID4gPiA+IC9i ZW5jaAo+ID4gPiA+ID4gbWFyay1wZXJmLWNvbXBhcmlzb24tSjM0NTUtMS5sb2cKPiA+ID4gPiA+ IFs0XSBodHRwOi8vcGVvcGxlLmZyZWVkZXNrdG9wLm9yZy9+Y3Vycm9qZXJlei9pbnRlbF9wc3Rh dGUtbHAKPiA+ID4gPiA+IC9iZW5jaAo+ID4gPiA+ID4gbWFyay1wZXJmLWNvbXBhcmlzb24tSjQy MDUubG9nCj4gPiA+ID4gPiBbNV0gaHR0cDovL3Blb3BsZS5mcmVlZGVza3RvcC5vcmcvfmN1cnJv amVyZXovaW50ZWxfcHN0YXRlLWxwCj4gPiA+ID4gPiAvYmVuY2gKPiA+ID4gPiA+IG1hcmstcGVy Zi1jb21wYXJpc29uLUo1MDA1LmxvZwo+ID4gPiA+ID4gWzZdIGh0dHA6Ly9wZW9wbGUuZnJlZWRl c2t0b3Aub3JnL35jdXJyb2plcmV6L2ludGVsX3BzdGF0ZS1scAo+ID4gPiA+ID4gL2ZyZXF1Cj4g PiA+ID4gPiBlbmN5LXJlc3BvbnNlLW1hZ25pdHVkZS1jb21wYXJpc29uLnN2Zwo+ID4gPiA+ID4g WzddIGh0dHA6Ly9wZW9wbGUuZnJlZWRlc2t0b3Aub3JnL35jdXJyb2plcmV6L2ludGVsX3BzdGF0 ZS1scAo+ID4gPiA+ID4gL2ZyZXF1Cj4gPiA+ID4gPiBlbmN5LXJlc3BvbnNlLXBoYXNlLWNvbXBh cmlzb24uc3ZnCj4gPiA+ID4gPiBbOF0gaHR0cDovL3Blb3BsZS5mcmVlZGVza3RvcC5vcmcvfmN1 cnJvamVyZXovaW50ZWxfcHN0YXRlLWxwCj4gPiA+ID4gPiAvc3RlcC0KPiA+ID4gPiA+IHJlc3Bv bnNlLWNvbXBhcmlzb24tMS5zdmcKPiA+ID4gPiA+IFs5XSBodHRwOi8vcGVvcGxlLmZyZWVkZXNr dG9wLm9yZy9+Y3Vycm9qZXJlei9pbnRlbF9wc3RhdGUtbHAKPiA+ID4gPiA+IC9zdGVwLQo+ID4g PiA+ID4gcmVzcG9uc2UtY29tcGFyaXNvbi0yLnN2Zwo+ID4gCj4gPiBfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ID4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dAo+ID4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ID4gaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==