From mboxrd@z Thu Jan 1 00:00:00 1970 From: Francisco Jerez Subject: [PATCH 0/9] GPU-bound energy efficiency improvements for the intel_pstate driver. Date: Tue, 27 Mar 2018 23:38:36 -0700 Message-ID: <20180328063845.4884-1-currojerez@riseup.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: linux-pm@vger.kernel.org, intel-gfx@lists.freedesktop.org, Srinivas Pandruvada Cc: Eero Tamminen , "Rafael J. Wysocki" List-Id: linux-pm@vger.kernel.org VGhpcyBzZXJpZXMgYXR0ZW1wdHMgdG8gc29sdmUgYW4gZW5lcmd5IGVmZmljaWVuY3kgcHJvYmxl bSBvZiB0aGUKY3VycmVudCBhY3RpdmUtbW9kZSBub24tSFdQIGdvdmVybm9yIG9mIHRoZSBpbnRl bF9wc3RhdGUgZHJpdmVyIHVzZWQKZm9yIHRoZSBtb3N0IHBhcnQgb24gbG93LXBvd2VyIHBsYXRm b3Jtcy4gIFVuZGVyIGhlYXZ5IElPIGxvYWQgdGhlCmN1cnJlbnQgY29udHJvbGxlciB0ZW5kcyB0 byBpbmNyZWFzZSBmcmVxdWVuY2llcyB0byB0aGUgbWF4aW11bSB0dXJibwpQLXN0YXRlLCBwYXJ0 bHkgZHVlIHRvIElPIHdhaXQgYm9vc3RpbmcsIHBhcnRseSBkdWUgdG8gdGhlIHJvdWdobHkKZmxh dCBmcmVxdWVuY3kgcmVzcG9uc2UgY3VydmUgb2YgdGhlIGN1cnJlbnQgY29udHJvbGxlciAoc2Vl Cls2XSksIHdoaWNoIGNhdXNlcyBpdCB0byByYW1wIGZyZXF1ZW5jaWVzIHVwIGFuZCBkb3duIHJl cGVhdGVkbHkgZm9yCmFueSBvc2NpbGxhdGluZyB3b3JrbG9hZCAodGhpbmsgb2YgZ3JhcGhpY3Ms IGF1ZGlvIG9yIGRpc2sgSU8gd2hlbiBhbnkKb2YgdGhlbSBiZWNvbWVzIGEgYm90dGxlbmVjayks IHNldmVyZWx5IGluY3JlYXNpbmcgZW5lcmd5IHVzYWdlCnJlbGF0aXZlIHRvIGEgKHRocm91Z2hw dXQtd2lzZSBlcXVpdmFsZW50KSBjb250cm9sbGVyIGFibGUgdG8gcHJvdmlkZQp0aGUgc2FtZSBh dmVyYWdlIGZyZXF1ZW5jeSB3aXRob3V0IGZsdWN0dWF0aW9uLiAgVGhlIGNvcmUgZW5lcmd5CmVm ZmljaWVuY3kgaW1wcm92ZW1lbnQgaGFzIGJlZW4gb2JzZXJ2ZWQgdG8gYmUgb2YgdGhlIG9yZGVy IG9mIDIwJSB2aWEKUkFQTCwgYnV0IGl0J3MgZXhwZWN0ZWQgdG8gdmFyeSBzdWJzdGFudGlhbGx5 IGJldHdlZW4gd29ya2xvYWRzIChzZWUKcGVyZi1wZXItd2F0dCBjb21wYXJpc29uIFsyXSkuCgpP bmUgbWlnaHQgZXhwZWN0IHRoYXQgdGhpcyBjb3VsZCBjb21lIGF0IHNvbWUgY29zdCBpbiB0ZXJt cyBvZiBzeXN0ZW0KcmVzcG9uc2l2ZW5lc3MsIGJ1dCB0aGUgZ292ZXJub3IgaW1wbGVtZW50ZWQg aW4gUEFUQ0ggNiBoYXMgYSB2YXJpYWJsZQpyZXNwb25zZSBjdXJ2ZSBjb250cm9sbGVkIGJ5IGEg aGV1cmlzdGljIHRoYXQga2VlcHMgdGhlIGNvbnRyb2xsZXIgaW4KYSBsb3ctbGF0ZW5jeSBzdGF0 ZSB1bmxlc3MgdGhlIHN5c3RlbSBpcyB1bmRlciBoZWF2eSBJTyBsb2FkIGZvciBhbgpleHRlbmRl ZCBwZXJpb2Qgb2YgdGltZS4gIFRoZSBsb3ctbGF0ZW5jeSBiZWhhdmlvciBpcyBhY3R1YWxseQpz aWduaWZpY2FudGx5IG1vcmUgYWdncmVzc2l2ZSB0aGFuIHRoZSBjdXJyZW50IGdvdmVybm9yLCBh bGxvd2luZyBpdAp0byBhY2hpZXZlIGJldHRlciB0aHJvdWdocHV0IGluIHNvbWUgc2NlbmFyaW9z IHdoZXJlIHRoZSBsb2FkCnBpbmctcG9uZ3MgYmV0d2VlbiB0aGUgQ1BVIGFuZCBzb21lIElPIGRl dmljZSAoc2VlIFBBVENIIDYgZm9yIG1vcmUgb2YKdGhlIHJhdGlvbmFsZSkuICBUaGUgY29udHJv bGxlciBvZmZlcnMgcmVsYXRpdmVseSBsb3dlciBsYXRlbmN5IHRoYW4KdGhlIHVwc3RyZWFtIG9u ZSBwYXJ0aWN1bGFybHkgd2hpbGUgQzAgcmVzaWRlbmN5IGlzIGxvdyAod2hpY2ggYnkKaXRzZWxm IGNvbnRyaWJ1dGVzIHRvIG1pdGlnYXRlIHRoZSBpbmNyZWFzZWQgZW5lcmd5IHVzYWdlIHdoaWxl IG9uCkMwKS4gIEhvd2V2ZXIgdW5kZXIgY2VydGFpbiBjb25kaXRpb25zIHRoZSBsb3ctbGF0ZW5j eSBoZXVyaXN0aWMgbWF5CmluY3JlYXNlIHBvd2VyIGNvbnN1bXB0aW9uIChzZWUgcGVyZi1wZXIt d2F0dCBjb21wYXJpc29uIFsyXSwgdGhlCmFwcGFyZW50IHJlZ3Jlc3Npb25zIGFyZSBjb3JyZWxh dGVkIHdpdGggYW4gaW5jcmVhc2UgaW4gcGVyZm9ybWFuY2UgaW4KdGhlIHNhbWUgYmVuY2htYXJr IGR1ZSB0byB0aGUgdXNlIG9mIHRoZSBsb3ctbGF0ZW5jeSBoZXVyaXN0aWMpIC0tIElmCnRoaXMg aXMgYSBwcm9ibGVtIGEgZGlmZmVyZW50IHRyYWRlLW9mZiBiZXR3ZWVuIGxhdGVuY3kgYW5kIGVu ZXJneQp1c2FnZSBzaG91bGRuJ3QgYmUgZGlmZmljdWx0IHRvIGFjaGlldmUsIGJ1dCBpdCB3aWxs IGNvbWUgYXQgYQpwZXJmb3JtYW5jZSBjb3N0IGluIHNvbWUgY2FzZXMuICBJIGNvdWxkbid0IG9i c2VydmUgYSBzdGF0aXN0aWNhbGx5CnNpZ25pZmljYW50IGluY3JlYXNlIGluIGlkbGUgcG93ZXIg Y29uc3VtcHRpb24gZHVlIHRvIHRoaXMgYmVoYXZpb3IKKG9uIEJYVCBKMzQ1NSk6CgpwYWNrYWdl LTAgUkFQTCAoVyk6ICAgIFhYWFhYWCDCsTAuMTQlIHg4IC0+ICAgICBYWFhYWFggwrEwLjE1JSB4 OSAgICAgICAgIGQ9LTAuMDQlIMKxMC4xNCUgICAgICBwPTYxLjczJQoKW0Fic29sdXRlIGJlbmNo bWFyayByZXN1bHRzIGFyZSB1bmZvcnR1bmF0ZWx5IG9taXR0ZWQgZnJvbSB0aGlzIGxldHRlcgpk dWUgdG8gY29tcGFueSBwb2xpY2llcywgYnV0IHRoZSBwZXJjZW50IGNoYW5nZSBhbmQgU3R1ZGVu dCdzIFQKcC12YWx1ZSBhcmUgaW5jbHVkZWQgYWJvdmUgYW5kIGluIHRoZSByZWZlcmVuY2VkIGJl bmNobWFyayByZXN1bHRzXQoKVGhlIG1vc3Qgb2J2aW91cyBpbXBhY3Qgb2YgdGhpcyBzZXJpZXMg d2lsbCBsaWtlbHkgYmUgdGhlIG92ZXJhbGwKaW1wcm92ZW1lbnQgaW4gZ3JhcGhpY3MgcGVyZm9y bWFuY2Ugb24gc3lzdGVtcyB3aXRoIGFuIElHUCBpbnRlZ3JhdGVkCmludG8gdGhlIHByb2Nlc3Nv ciBwYWNrYWdlICh0aG91Z2ggZm9yIHRoZSBtb21lbnQgdGhpcyBpcyBvbmx5IGVuYWJsZWQKb24g QlhUKyksIGJlY2F1c2UgdGhlIFREUCBidWRnZXQgc2hhcmVkIGFtb25nIENQVSBhbmQgR1BVIGNh bgpmcmVxdWVudGx5IGJlY29tZSBhIGxpbWl0aW5nIGZhY3RvciBpbiBsb3ctcG93ZXIgZGV2aWNl cy4gIE9uIGhlYXZpbHkKVERQLWJvdW5kIGRldmljZXMgdGhpcyBzZXJpZXMgaW1wcm92ZXMgcGVy Zm9ybWFuY2Ugb2YgdmlydHVhbGx5IGFueQpub24tdHJpdmlhbCBncmFwaGljcyByZW5kZXJpbmcg YnkgYSBzaWduaWZpY2FudCBhbW91bnQgKG9mIHRoZSBvcmRlcgpvZiB0aGUgZW5lcmd5IGVmZmlj aWVuY3kgaW1wcm92ZW1lbnQgZm9yIHRoYXQgd29ya2xvYWQgYXNzdW1pbmcgdGhlCm9wdGltaXph dGlvbiBkaWRuJ3QgY2F1c2UgaXQgdG8gYmVjb21lIG5vbi1URFAtYm91bmQpLgoKU2VlIFsxXS1b NV0gZm9yIGRldGFpbGVkIG51bWJlcnMgaW5jbHVkaW5nIHZhcmlvdXMgZ3JhcGhpY3MgYmVuY2ht YXJrcwphbmQgYSBzYW1wbGUgb2YgdGhlIFBob3Jvbml4IGRhaWx5LXN5c3RlbS10cmFja2VyLiAg U29tZSBwb3B1bGFyCmdyYXBoaWNzIGJlbmNobWFya3MgbGlrZSBHZnhCZW5jaCBnbF9tYW5oYXR0 YW4zMSBhbmQgZ2xfNCBpbXByb3ZlCmJldHdlZW4gNSUgYW5kIDExJSBvbiBvdXIgc3lzdGVtcy4g IFRoZSBleGFjdCBpbXByb3ZlbWVudCBjYW4gdmFyeQpzdWJzdGFudGlhbGx5IGJldHdlZW4gc3lz dGVtcyAoY29tcGFyZSB0aGUgYmVuY2htYXJrIHJlc3VsdHMgZnJvbSB0aGUKdHdvIGRpZmZlcmVu dCBKMzQ1NSBzeXN0ZW1zIFsxXSBhbmQgWzNdKSBkdWUgdG8gYSBudW1iZXIgb2YgZmFjdG9ycywK aW5jbHVkaW5nIHRoZSByYXRpbyBiZXR3ZWVuIENQVSBhbmQgR1BVIHByb2Nlc3NpbmcgcG93ZXIs IHRoZSBiZWhhdmlvcgpvZiB0aGUgdXNlcnNwYWNlIGdyYXBoaWNzIGRyaXZlciwgdGhlIHdpbmRv d2luZyBzeXN0ZW0gYW5kIHJlc29sdXRpb24sCnRoZSBCSU9TICh3aGljaCBoYXMgYW4gaW5mbHVl bmNlIG9uIHRoZSBwYWNrYWdlIFREUCksIHRoZSB0aGVybWFsCmNoYXJhY3RlcmlzdGljcyBvZiB0 aGUgc3lzdGVtLCBldGMuCgpVbmlnaW5lIFZhbGxleSBhbmQgSGVhdmVuIGltcHJvdmUgYnkgYSBz aW1pbGFyIGZhY3RvciBvbiBzb21lIHN5c3RlbXMKKHNlZSB0aGUgSjM0NTUgcmVzdWx0cyBbMV0p LCBidXQgb24gb3RoZXJzIHRoZSBpbXByb3ZlbWVudCBpcyBsb3dlcgpiZWNhdXNlIHRoZSBiZW5j aG1hcmsgZmFpbHMgdG8gZnVsbHkgdXRpbGl6ZSB0aGUgR1BVLCB3aGljaCBjYXVzZXMgdGhlCmhl dXJpc3RpYyB0byByZW1haW4gaW4gbG93LWxhdGVuY3kgc3RhdGUgZm9yIGxvbmdlciwgd2hpY2gg bGVhdmVzIGEKcmVkdWNlZCBURFAgYnVkZ2V0IGF2YWlsYWJsZSB0byB0aGUgR1BVLCB3aGljaCBw cmV2ZW50cyBwZXJmb3JtYW5jZQpmcm9tIGluY3JlYXNpbmcgZnVydGhlci4gIFRoaXMgY2FuIGJl IGF2b2lkZWQgYnkgdXNpbmcgdGhlIGFsdGVybmF0aXZlCmhldXJpc3RpYyBwYXJhbWV0ZXJzIHN1 Z2dlc3RlZCBpbiB0aGUgY29tbWl0IG1lc3NhZ2Ugb2YgUEFUQ0ggOCwgd2hpY2gKcHJvdmlkZSBh IGxvd2VyIElPIHV0aWxpemF0aW9uIHRocmVzaG9sZCBhbmQgaHlzdGVyZXNpcyBmb3IgdGhlCmNv bnRyb2xsZXIgdG8gYXR0ZW1wdCB0byBzYXZlIGVuZXJneS4gIEknbSBub3QgcHJvcG9zaW5nIHRo b3NlIGZvcgp1cHN0cmVhbSAoeWV0KSBiZWNhdXNlIHRoZXkgd291bGQgYWxzbyBpbmNyZWFzZSB0 aGUgcmlzayBmb3IKbGF0ZW5jeS1zZW5zaXRpdmUgSU8taGVhdnkgd29ya2xvYWRzIHRvIHJlZ3Jl c3MgKGxpa2UgU3luTWFyazIKT2dsVGVycmFpbkZseSogYW5kIHNvbWUgYXJndWFibHkgcG9vcmx5 IGRlc2lnbmVkIElQQy1ib3VuZCBYMTEKYmVuY2htYXJrcykuCgpEaXNjcmV0ZSBncmFwaGljcyBh cmVuJ3QgbGlrZWx5IHRvIGV4cGVyaWVuY2UgdGhhdCBtdWNoIG9mIGEgdmlzaWJsZQppbXByb3Zl bWVudCBmcm9tIHRoaXMsIGV2ZW4gdGhvdWdoIG1hbnkgbm9uLUlHUCB3b3JrbG9hZHMgKmNvdWxk KgpiZW5lZml0IGJ5IHJlZHVjaW5nIHRoZSBzeXN0ZW0ncyBlbmVyZ3kgdXNhZ2Ugd2hpbGUgdGhl IGRpc2NyZXRlIEdQVQoob3IgcmVhbGx5LCBhbnkgb3RoZXIgSU8gZGV2aWNlKSBiZWNvbWVzIGEg Ym90dGxlbmVjaywgYnV0IHRoaXMgaXMgbm90CmF0dGVtcHRlZCBpbiB0aGlzIHNlcmllcywgc2lu Y2UgdGhhdCB3b3VsZCBpbnZvbHZlIG1ha2luZyBhbiBlbmVyZ3kKZWZmaWNpZW5jeS9sYXRlbmN5 IHRyYWRlLW9mZiB0aGF0IG9ubHkgdGhlIG1haW50YWluZXJzIG9mIHRoZQpyZXNwZWN0aXZlIGRy aXZlcnMgYXJlIGluIGEgcG9zaXRpb24gdG8gbWFrZS4gIFRoZSBjcHVmcmVxIGludGVyZmFjZQpp bnRyb2R1Y2VkIGluIFBBVENIIDEgdG8gYWNoaWV2ZSB0aGlzIGlzIGxlZnQgYXMgYW4gb3B0LWlu IGZvciB0aGF0CnJlYXNvbiwgb25seSB0aGUgaTkxNSBEUk0gZHJpdmVyIGlzIGhvb2tlZCB1cCBz aW5jZSBpdCB3aWxsIGdldCB0aGUKbW9zdCBkaXJlY3QgcGF5LW9mZiBkdWUgdG8gdGhlIGluY3Jl YXNlZCBlbmVyZ3kgYnVkZ2V0IGF2YWlsYWJsZSB0bwp0aGUgR1BVLCBidXQgb3RoZXIgcG93ZXIt aHVuZ3J5IHRoaXJkLXBhcnR5IGdhZGdldHMgYnVpbHQgaW50byB0aGUKc2FtZSBwYWNrYWdlICgq Y291Z2gqIEFNRCAqY291Z2gqIE1hbGkgKmNvdWdoKiBQb3dlclZSICpjb3VnaCopIG1heSBiZQph YmxlIHRvIGJlbmVmaXQgZnJvbSB0aGlzIGludGVyZmFjZSBldmVudHVhbGx5IGJ5IGluc3RydW1l bnRpbmcgdGhlCmRyaXZlciBpbiBhIHNpbWlsYXIgd2F5LgoKVGhlIGNwdWZyZXEgaW50ZXJmYWNl IGlzIG5vdCBleGNsdXNpdmVseSB0aWVkIHRvIHRoZSBpbnRlbF9wc3RhdGUKZHJpdmVyLCBiZWNh dXNlIG90aGVyIGdvdmVybm9ycyBjYW4gbWFrZSB1c2Ugb2YgdGhlIHN0YXRpc3RpYwpjYWxjdWxh dGVkIGFzIHJlc3VsdCB0byBhdm9pZCBvdmVyLW9wdGltaXppbmcgZm9yIGxhdGVuY3kgaW4gc2Nl bmFyaW9zCndoZXJlIGEgbG93ZXIgZnJlcXVlbmN5IHdvdWxkIGJlIGFibGUgdG8gYWNoaWV2ZSBz aW1pbGFyIHRocm91Z2hwdXQKd2hpbGUgdXNpbmcgbGVzcyBlbmVyZ3kuICBUaGUgaW50ZXJwcmV0 YXRpb24gb2YgdGhpcyBzdGF0aXN0aWMgcmVsaWVzCm9uIHRoZSBvYnNlcnZhdGlvbiB0aGF0IGZv ciBhcyBsb25nIGFzIHRoZSBzeXN0ZW0gaXMgQ1BVLWJvdW5kLCBhbnkgSU8KbG9hZCBvY2N1cnJp bmcgYXMgYSByZXN1bHQgb2YgdGhlIGV4ZWN1dGlvbiBvZiBhIHByb2dyYW0gd2lsbCBzY2FsZQpy b3VnaGx5IGxpbmVhcmx5IHdpdGggdGhlIGNsb2NrIGZyZXF1ZW5jeSB0aGUgcHJvZ3JhbSBpcyBy dW4gYXQsIHNvCihhc3N1bWluZyB0aGF0IHRoZSBDUFUgaGFzIGVub3VnaCBwcm9jZXNzaW5nIHBv d2VyKSBhIHBvaW50IHdpbGwgYmUKcmVhY2hlZCBhdCB3aGljaCB0aGUgcHJvZ3JhbSB3b24ndCBi ZSBhYmxlIHRvIGV4ZWN1dGUgZmFzdGVyIHdpdGgKaW5jcmVhc2luZyBDUFUgZnJlcXVlbmN5IGJl Y2F1c2UgdGhlIHRocm91Z2hwdXQgbGltaXRzIG9mIHNvbWUgZGV2aWNlCndpbGwgaGF2ZSBiZWVu IGF0dGFpbmVkLiAgSW5jcmVhc2luZyBmcmVxdWVuY2llcyBwYXN0IHRoYXQgcG9pbnQgb25seQpw ZXNzaW1pemVzIGVuZXJneSB1c2FnZSBmb3Igbm8gcmVhbCBiZW5lZml0IC0tIFRoZSBvcHRpbWFs IGJlaGF2aW9yIGlzCmZvciB0aGUgQ1BVIHRvIGxvY2sgdG8gdGhlIG1pbmltdW0gZnJlcXVlbmN5 IHRoYXQgaXMgYWJsZSB0byBrZWVwIHRoZQpJTyBkZXZpY2VzIGludm9sdmVkIGZ1bGx5IHV0aWxp emVkIChhc3N1bWluZyB3ZSBhcmUgcGFzdCB0aGUKbWF4aW11bS1lZmZpY2llbmN5IGluZmxlY3Rp b24gcG9pbnQgb2YgdGhlIENQVSdzIHBvd2VyLXRvLWZyZXF1ZW5jeQpjdXJ2ZSksIHdoaWNoIGlz IHJvdWdobHkgdGhlIGdvYWwgb2YgdGhpcyBzZXJpZXMuCgpQRUxUIGNvdWxkIGJlIGEgdXNlZnVs IGV4dGVuc2lvbiBmb3IgdGhpcyBtb2RlbCBzaW5jZSBpdHMgbGFyZ2VseQpoZXVyaXN0aWMgYXNz dW1wdGlvbnMgd291bGQgYmVjb21lIG1vcmUgYWNjdXJhdGUgaWYgdGhlIElPIGFuZCBDUFUKbG9h ZCBjb3VsZCBiZSB0cmFja2VkIHNlcGFyYXRlbHkgZm9yIGVhY2ggc2NoZWR1bGluZyBlbnRpdHks IGJ1dCB0aGlzCmlzIG5vdCBhdHRlbXB0ZWQgaW4gdGhpcyBzZXJpZXMgYmVjYXVzZSB0aGUgYWRk aXRpb25hbCBjb21wbGV4aXR5IGFuZApjb21wdXRhdGlvbmFsIGNvc3Qgb2Ygc3VjaCBhbiBhcHBy b2FjaCBpcyBoYXJkIHRvIGp1c3RpZnkgYXQgdGhpcwpzdGFnZSwgcGFydGljdWxhcmx5IHNpbmNl IHRoZSBjdXJyZW50IGdvdmVybm9yIGhhcyBzaW1pbGFyCmxpbWl0YXRpb25zLgoKVmFyaW91cyBm cmVxdWVuY3kgYW5kIHN0ZXAtZnVuY3Rpb24gcmVzcG9uc2UgZ3JhcGhzIGFyZSBhdmFpbGFibGUg aW4KWzZdLVs5XSBmb3IgY29tcGFyaXNvbiAob2J0YWluZWQgZW1waXJpY2FsbHkgb24gYSBCWFQg SjM0NTUgc3lzdGVtKS4KVGhlIHJlc3BvbnNlIGN1cnZlcyBmb3IgdGhlIGxvdy1sYXRlbmN5IGFu ZCBsb3ctcG93ZXIgc3RhdGVzIG9mIHRoZQpoZXVyaXN0aWMgYXJlIHNob3duIHNlcGFyYXRlbHkg LS0gQXMgeW91IGNhbiBzZWUgdGhleSByb3VnaGx5IGJyYWNrZXQKdGhlIGZyZXF1ZW5jeSByZXNw b25zZSBjdXJ2ZSBvZiB0aGUgY3VycmVudCBnb3Zlcm5vci4gIFRoZSBzdGVwCnJlc3BvbnNlIG9m IHRoZSBhZ2dyZXNzaXZlIGhldXJpc3RpYyBpcyB3aXRoaW4gYSBzaW5nbGUgdXBkYXRlIHBlcmlv ZAooZXZlbiB0aG91Z2ggaXQncyBub3QgcXVpdGUgb2J2aW91cyBmcm9tIHRoZSBncmFwaCB3aXRo IHRoZSBsZXZlbHMgb2YKem9vbSBwcm92aWRlZCkuICBJJ2xsIGF0dGFjaCBiZW5jaG1hcmsgcmVz dWx0cyBmcm9tIGEgc2xvd2VyIGJ1dApub24tVERQLWxpbWl0ZWQgbWFjaGluZSAod2hpY2ggbWVh bnMgdGhlcmUgd2lsbCBiZSBubyBURFAgYnVkZ2V0CmluY3JlYXNlIHRoYXQgY291bGQgcG9zc2li bHkgbWFzayBhIHBlcmZvcm1hbmNlIHJlZ3Jlc3Npb24gb2Ygb3RoZXIKa2luZCkgYXMgc29vbiBh cyB0aGV5IGNvbWUgb3V0LgoKVGhhbmtzIHRvIEVlcm8gYW5kIFZhbHR0ZXJpIGZvciB0ZXN0aW5n IGEgbnVtYmVyIG9mIGludGVybWVkaWF0ZQpyZXZpc2lvbnMgb2YgdGhpcyBzZXJpZXMgKGFuZCB0 aGVyZSB3ZXJlIHF1aXRlIGEgZmV3IG9mIHRoZW0pIGluIG1vcmUKdGhhbiBoYWxmIGEgZG96ZW4g c3lzdGVtcywgdGhleSBoZWxwZWQgc3BvdCBxdWl0ZSBhIGZldyBpc3N1ZXMgb2YKZWFybGllciB2 ZXJzaW9ucyBvZiB0aGlzIGhldXJpc3RpYy4KCltQQVRDSCAxLzldIGNwdWZyZXE6IEltcGxlbWVu dCBpbmZyYXN0cnVjdHVyZSBrZWVwaW5nIHRyYWNrIG9mIGFnZ3JlZ2F0ZWQgSU8gYWN0aXZlIHRp bWUuCltQQVRDSCAyLzldIFJldmVydCAiY3B1ZnJlcTogaW50ZWxfcHN0YXRlOiBSZXBsYWNlIGJ4 dF9mdW5jcyB3aXRoIGNvcmVfZnVuY3MiCltQQVRDSCAzLzldIFJldmVydCAiY3B1ZnJlcTogaW50 ZWxfcHN0YXRlOiBTaG9ydGVuIGEgY291cGxlIG9mIGxvbmcgbmFtZXMiCltQQVRDSCA0LzldIFJl dmVydCAiY3B1ZnJlcTogaW50ZWxfcHN0YXRlOiBTaW1wbGlmeSBpbnRlbF9wc3RhdGVfYWRqdXN0 X3BzdGF0ZSgpIgpbUEFUQ0ggNS85XSBSZXZlcnQgImNwdWZyZXE6IGludGVsX3BzdGF0ZTogRHJv cCAtPnVwZGF0ZV91dGlsIGZyb20gcHN0YXRlX2Z1bmNzIgpbUEFUQ0ggNi85XSBjcHVmcmVxL2lu dGVsX3BzdGF0ZTogSW1wbGVtZW50IHZhcmlhYmx5IGxvdy1wYXNzIGZpbHRlcmluZyBjb250cm9s bGVyIGZvciBzbWFsbCBjb3JlLgpbUEFUQ0ggNy85XSBTUVVBU0g6IGNwdWZyZXEvaW50ZWxfcHN0 YXRlOiBFbmFibGUgTFAgY29udHJvbGxlciBiYXNlZCBvbiBBQ1BJIEZBRFQgcHJvZmlsZS4KW1BB VENIIDgvOV0gT1BUSU9OQUw6IGNwdWZyZXEvaW50ZWxfcHN0YXRlOiBFeHBvc2UgTFAgY29udHJv bGxlciBwYXJhbWV0ZXJzIHZpYSBkZWJ1Z2ZzLgpbUEFUQ0ggOS85XSBkcm0vaTkxNS9leGVjbGlz dHM6IFJlcG9ydCBHUFUgcmVuZGVyaW5nIGFzIElPIGFjdGl2aXR5IHRvIGNwdWZyZXEuCgpbMV0g aHR0cDovL3Blb3BsZS5mcmVlZGVza3RvcC5vcmcvfmN1cnJvamVyZXovaW50ZWxfcHN0YXRlLWxw L2JlbmNobWFyay1wZXJmLWNvbXBhcmlzb24tSjM0NTUubG9nClsyXSBodHRwOi8vcGVvcGxlLmZy ZWVkZXNrdG9wLm9yZy9+Y3Vycm9qZXJlei9pbnRlbF9wc3RhdGUtbHAvYmVuY2htYXJrLXBlcmYt cGVyLXdhdHQtY29tcGFyaXNvbi1KMzQ1NS5sb2cKWzNdIGh0dHA6Ly9wZW9wbGUuZnJlZWRlc2t0 b3Aub3JnL35jdXJyb2plcmV6L2ludGVsX3BzdGF0ZS1scC9iZW5jaG1hcmstcGVyZi1jb21wYXJp c29uLUozNDU1LTEubG9nCls0XSBodHRwOi8vcGVvcGxlLmZyZWVkZXNrdG9wLm9yZy9+Y3Vycm9q ZXJlei9pbnRlbF9wc3RhdGUtbHAvYmVuY2htYXJrLXBlcmYtY29tcGFyaXNvbi1KNDIwNS5sb2cK WzVdIGh0dHA6Ly9wZW9wbGUuZnJlZWRlc2t0b3Aub3JnL35jdXJyb2plcmV6L2ludGVsX3BzdGF0 ZS1scC9iZW5jaG1hcmstcGVyZi1jb21wYXJpc29uLUo1MDA1LmxvZwpbNl0gaHR0cDovL3Blb3Bs ZS5mcmVlZGVza3RvcC5vcmcvfmN1cnJvamVyZXovaW50ZWxfcHN0YXRlLWxwL2ZyZXF1ZW5jeS1y ZXNwb25zZS1tYWduaXR1ZGUtY29tcGFyaXNvbi5zdmcKWzddIGh0dHA6Ly9wZW9wbGUuZnJlZWRl c2t0b3Aub3JnL35jdXJyb2plcmV6L2ludGVsX3BzdGF0ZS1scC9mcmVxdWVuY3ktcmVzcG9uc2Ut cGhhc2UtY29tcGFyaXNvbi5zdmcKWzhdIGh0dHA6Ly9wZW9wbGUuZnJlZWRlc2t0b3Aub3JnL35j dXJyb2plcmV6L2ludGVsX3BzdGF0ZS1scC9zdGVwLXJlc3BvbnNlLWNvbXBhcmlzb24tMS5zdmcK WzldIGh0dHA6Ly9wZW9wbGUuZnJlZWRlc2t0b3Aub3JnL35jdXJyb2plcmV6L2ludGVsX3BzdGF0 ZS1scC9zdGVwLXJlc3BvbnNlLWNvbXBhcmlzb24tMi5zdmcKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==