From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Gordon Subject: Re: [PATCH v3] drm/i915: Replace gen6 semaphore signal table with code Date: Fri, 22 Jul 2016 13:42:44 +0100 Message-ID: <579214C4.5040505@intel.com> References: <1469093495-2745-1-git-send-email-tvrtko.ursulin@linux.intel.com> <1469102447-4254-1-git-send-email-tvrtko.ursulin@linux.intel.com> <20160721125940.GQ10317@nuc-i3427.alporthouse.com> <5790CB26.1050509@linux.intel.com> <20160721133100.GV10317@nuc-i3427.alporthouse.com> <5790D219.6060305@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id DB3326EB57 for ; Fri, 22 Jul 2016 12:42:46 +0000 (UTC) In-Reply-To: <5790D219.6060305@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Tvrtko Ursulin , Chris Wilson , Intel-gfx@lists.freedesktop.org, Tvrtko Ursulin List-Id: intel-gfx@lists.freedesktop.org T24gMjEvMDcvMTYgMTQ6NDYsIFR2cnRrbyBVcnN1bGluIHdyb3RlOgo+Cj4gT24gMjEvMDcvMTYg MTQ6MzEsIENocmlzIFdpbHNvbiB3cm90ZToKPj4gT24gVGh1LCBKdWwgMjEsIDIwMTYgYXQgMDI6 MTY6MjJQTSArMDEwMCwgVHZydGtvIFVyc3VsaW4gd3JvdGU6Cj4+Pgo+Pj4gT24gMjEvMDcvMTYg MTM6NTksIENocmlzIFdpbHNvbiB3cm90ZToKPj4+PiBPbiBUaHUsIEp1bCAyMSwgMjAxNiBhdCAw MTowMDo0N1BNICswMTAwLCBUdnJ0a28gVXJzdWxpbiB3cm90ZToKPj4+Pj4gRnJvbTogVHZydGtv IFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KPj4+Pj4KPj4+Pj4gU3RhdGljIHRh YmxlIHdhc3RlcyBzcGFjZSBmb3IgaW52YWxpZCBjb21iaW5hdGlvbnMgYW5kCj4+Pj4+IGVuZ2lu ZXMgd2hpY2ggYXJlIG5vdCBzdXBwb3J0ZWQgYnkgR2VuNiAobGVnYWN5IHNlbWFwaG9yZXMpLgo+ Pj4+Pgo+Pj4+PiBSZXBsYWNlIGl0IHdpdGggYSBmdW5jdGlvbiBkZXZpc2VkIGJ5IERhdmUgR29y ZG9uLgo+Pj4+Pgo+Pj4+PiBJIGhhdmUgdmVyaWZpZWQgdGhhdCBpdCBnZW5lcmF0ZXMgdGhlIHNh bWUgbWFwcGluZ3MgYmV0d2Vlbgo+Pj4+PiBtYm94IHNlbGVjdG9ycyBhbmQgc2lnbmFsbGluZyBy ZWdpc3RlcnMuCj4+Pj4KPj4+PiBTbyBqdXN0IGhvdyBiaWcgd2FzIHRoYXQgdGFibGU/IEhvdyBi aWcgYXJlIHRoZSBmdW5jdGlvbnMgcmVwbGFjaW5nIGl0Pwo+Pj4KPj4+IFdpdGggSTkxNV9OVU1f RU5HSU5FUyBvZiA1IHRhYmxlIGlzIDUgKiA1ICogKDIgKiA0KSA9IDIwMCBieXRlcy4KPj4+Cj4+ PiBXaXRoIHRoZSBwYXRjaCAudGV4dCBncm93cyBieSAxNDQgYnl0ZXMgaGVyZSBhbmQgLnJvZGF0 YSBzaHJpbmtzIGJ5Cj4+PiAyNTYuIFNvIGEgbmV0IGdhaW4gb2YgMTEyIGJ5dGVzIHdpdGggbXkg Y29uZmlnLiBDb25jbHVzaW9uIGlzIHRoYXQKPj4+IGFzIGxvbmcgYXMgd2UgZ290IGZpdmUgZW5n aW5lcyBpdCBpcyBub3QgdGhhdCBpbnRlcmVzdGluZyB0byBnZXQgcmlkCj4+PiBvZiB0aGUgdGFi bGUuCgpTaW5jZSB0aGUgc2VtYXBob3JlIG1hdHJpeCBpcyBvbmx5IHJlbGV2YW50IHRvIGEgc3Bl Y2lmaWMgZ2VuLCB5b3UgY291bGQgCnJlbW92ZSBpdCBmcm9tIHRoZSBtdWx0aS1nZW5lcmF0aW9u YWwgZW5naW5lLWxpc3QgYW5kIGluc3RlYWQganVzdCBoYXZlIAppdCBpbiB0aGUgZ2VuLXNwZWNp ZmljIGNvZGUgdGhhdCBuZWVkcyBpdC4gVGhhdCB3YXkgaXQgd29uJ3QgY29udGludWUgdG8gCmdy b3cgYXMgbmV3IGVuZ2luZXMgYXJlIGFkZGVkLiBUaGUgb25lIGdlbiB0aGF0IG5lZWRzIGl0IGlz IGZpeGVkIGF0IAo0eDQsIHNvIGl0IGNvdWxkIGp1c3QgYmUgYSAxNi1ieXRlIGxvb2t1cCB0YWJs ZSwgb3IgMzIgYml0cwooMGIxMTAwMTAwMV8xMDExMDAwMV8wMDEwMTEwMV8xMDAxMDAxMSkgaWYg eW91IHJlYWxseSB3YW50IHRvIHNhdmUgc3BhY2UgOy0pCgo+Pj4+PiB2MjogQWRkIGEgY29tbWVu dCBkZXNjcmliaW5nIHdoYXQgZ2VuNl9zZW1fZiBkb2VzLgo+Pj4+PiB2MzogVGhpcyB0aW1lIHdp dGggZ2l0IGFkZC4KPj4+Pgo+Pj4+IEkgbGlrZSBoYXZpbmcgdGhlIHRhYmxlIGEgbG90Li4uIEV2 ZW4gaWYgd2UgZG9uJ3QgZmluZCB0aGUgZnVuY3Rpb24KPj4+PiBjb252aW5jaW5nIHdlIHNob3Vs ZCBhZGQgdGhhdCBjb21tZW50Lgo+Pj4+Cj4+Pj4+IFNpZ25lZC1vZmYtYnk6IFR2cnRrbyBVcnN1 bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+Cj4+Pj4+IENjOiBEYXZlIEdvcmRvbiA8ZGF2 aWQucy5nb3Jkb25AaW50ZWwuY29tPgo+Pj4+PiBDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJp cy13aWxzb24uY28udWs+Cj4+Pj4+IC0tLQo+Pj4+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfcmVnLmggICAgICAgICB8ICA3ICstLQo+Pj4+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2VuZ2luZV9jcy5jICB8IDkzCj4+Pj4+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKwo+Pj4+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYyB8IDQw ICstLS0tLS0tLS0tLS0tCj4+Pj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1 ZmZlci5oIHwgIDMgKysKPj4+Pj4gICA0IGZpbGVzIGNoYW5nZWQsIDEwMiBpbnNlcnRpb25zKCsp LCA0MSBkZWxldGlvbnMoLSkKPj4+Pj4KPj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcmVnLmgKPj4+Pj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5o Cj4+Pj4+IGluZGV4IDkzOTdkZGVjMjZiOS4uYzJmZTcxODU4MmM4IDEwMDY0NAo+Pj4+PiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfcmVnLmgKPj4+Pj4gQEAgLTE2MDQsOSArMTYwNCwxMCBAQCBlbnVtIHNr bF9kaXNwX3Bvd2VyX3dlbGxzIHsKPj4+Pj4gICAjZGVmaW5lIFJJTkdfSEVBRChiYXNlKSAgICAg ICAgX01NSU8oKGJhc2UpKzB4MzQpCj4+Pj4+ICAgI2RlZmluZSBSSU5HX1NUQVJUKGJhc2UpICAg IF9NTUlPKChiYXNlKSsweDM4KQo+Pj4+PiAgICNkZWZpbmUgUklOR19DVEwoYmFzZSkgICAgICAg IF9NTUlPKChiYXNlKSsweDNjKQo+Pj4+PiAtI2RlZmluZSBSSU5HX1NZTkNfMChiYXNlKSAgICBf TU1JTygoYmFzZSkrMHg0MCkKPj4+Pj4gLSNkZWZpbmUgUklOR19TWU5DXzEoYmFzZSkgICAgX01N SU8oKGJhc2UpKzB4NDQpCj4+Pj4+IC0jZGVmaW5lIFJJTkdfU1lOQ18yKGJhc2UpICAgIF9NTUlP KChiYXNlKSsweDQ4KQo+Pj4+PiArI2RlZmluZSBSSU5HX1NZTkMoYmFzZSwgbikgICAgX01NSU8o KGJhc2UpICsgMHg0MCArIChuKSAqIDQpCj4+Pj4+ICsjZGVmaW5lIFJJTkdfU1lOQ18wKGJhc2Up ICAgIFJJTkdfU1lOQyhiYXNlLCAwKQo+Pj4+PiArI2RlZmluZSBSSU5HX1NZTkNfMShiYXNlKSAg ICBSSU5HX1NZTkMoYmFzZSwgMSkKPj4+Pj4gKyNkZWZpbmUgUklOR19TWU5DXzIoYmFzZSkgICAg UklOR19TWU5DKGJhc2UsIDIpCj4+Pj4+ICAgI2RlZmluZSBHRU42X1JWU1lOQyAgICAoUklOR19T WU5DXzAoUkVOREVSX1JJTkdfQkFTRSkpCj4+Pj4+ICAgI2RlZmluZSBHRU42X1JCU1lOQyAgICAo UklOR19TWU5DXzEoUkVOREVSX1JJTkdfQkFTRSkpCj4+Pj4+ICAgI2RlZmluZSBHRU42X1JWRVNZ TkMgICAgKFJJTkdfU1lOQ18yKFJFTkRFUl9SSU5HX0JBU0UpKQo+Pj4+PiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMKPj4+Pj4gYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYwo+Pj4+PiBpbmRleCBmNGEzNWVjNzg0ODEuLjE5 NDU1YjIwYjMyMiAxMDA2NDQKPj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZW5naW5lX2NzLmMKPj4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5l X2NzLmMKPj4+Pj4gQEAgLTIwOSwzICsyMDksOTYgQEAgaW50IGludGVsX2VuZ2luZV9pbml0X2Nv bW1vbihzdHJ1Y3QKPj4+Pj4gaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4+Pj4+Cj4+Pj4+ICAg ICAgIHJldHVybiBpOTE1X2NtZF9wYXJzZXJfaW5pdF9yaW5nKGVuZ2luZSk7Cj4+Pj4+ICAgfQo+ Pj4+PiArCj4+Pj4+ICsjZGVmaW5lIEk5MTVfTlVNX0dFTjZfU0VNQVBIT1JFX0VOR0lORVMgKDQp Cj4+Pj4+ICsKPj4+Pj4gKy8qCj4+Pj4+ICsgKiBGb3IgR2VuNiBzZW1hcGhvcmVzIHdoZXJlIHRo ZSBkcml2ZXIgaXNzdWVzIE1JX1NFTUFQSE9SRV9NQk9YCj4+Pj4+IGNvbW1hbmRzCj4+Pj4+ICsg KiB3aXRoIHJlZ2lzdGVyIHNlbGVjdHMgc28gdGhhdCBhIHNwZWNpZmljIGVuZ2luZSBjYW4gd2Fr ZSB1cAo+Pj4+PiBhbm90aGVyIGVuZ2luZQo+Pj4+PiArICogd2FpdGluZyBvbiBhIG1hdGNoaW5n IHJlZ2lzdGVyLCB0aGUgbWF0cml4IG9mIHJlcXVpcmVkIHJlZ2lzdGVyCj4+Pj4+IHNlbGVjdHMK Pj4+Pj4gKyAqIGxvb2tzIGxpa2UgdGhpczoKPj4+Pj4gKyAqCj4+Pj4+ICsgKiAgICAgIHwgICAg ICAgICAgICBSQ1MgICAgICAgICAgICB8ICAgICAgICAgICBWQ1MKPj4+Pj4gfCAgICAgICAgICAg QkNTICAgICAgICAgICAgIHwgICAgICAgICBWRUNTCj4+Pj4+ICsgKgo+Pj4+PiAtLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPj4+Pj4K Pj4+Pj4gKyAqICBSQ1MgfCBNSV9TRU1BUEhPUkVfU1lOQ19JTlZBTElEIHwgICAgTUlfU0VNQVBI T1JFX1NZTkNfVlIKPj4+Pj4gfCAgICBNSV9TRU1BUEhPUkVfU1lOQ19CUiAgIHwgICAgTUlfU0VN QVBIT1JFX1NZTkNfVkVSCj4+Pj4+ICsgKiAgVkNTIHwgICAgTUlfU0VNQVBIT1JFX1NZTkNfUlYg ICB8IE1JX1NFTUFQSE9SRV9TWU5DX0lOVkFMSUQKPj4+Pj4gfCAgICBNSV9TRU1BUEhPUkVfU1lO Q19CViAgIHwgICAgTUlfU0VNQVBIT1JFX1NZTkNfVkVWCj4+Pj4+ICsgKiAgQkNTIHwgICAgTUlf U0VNQVBIT1JFX1NZTkNfUkIgICB8ICAgIE1JX1NFTUFQSE9SRV9TWU5DX1ZCICAgfAo+Pj4+PiBN SV9TRU1BUEhPUkVfU1lOQ19JTlZBTElEIHwgICAgTUlfU0VNQVBIT1JFX1NZTkNfVkVCCj4+Pj4+ ICsgKiBWRUNTIHwgICAgTUlfU0VNQVBIT1JFX1NZTkNfUlZFICB8ICAgIE1JX1NFTUFQSE9SRV9T WU5DX1ZWRQo+Pj4+PiB8ICAgIE1JX1NFTUFQSE9SRV9TWU5DX0JWRSAgfCBNSV9TRU1BUEhPUkVf U1lOQ19JTlZBTElECj4+Pj4+ICsgKgo+Pj4+PiArICogVGhpcyBkaXN0aWxsZWQgdG8gaW50ZWdl cnMgbG9va3MgbGlrZSB0aGlzOgo+Pj4+PiArICoKPj4+Pj4gKyAqICAgfCAgMCAgfCAgMSAgfCAg MiAgfCAgMwo+Pj4+PiArICogLS0rLS0tLS0rLS0tLS0rLS0tLS0rLS0tLS0KPj4+Pj4gKyAqIDAg fCAtMSAgfCAgMCAgfCAgMiAgfCAgMQo+Pj4+PiArICogMSB8ICAyICB8IC0xICB8ICAwICB8ICAx Cj4+Pj4+ICsgKiAyIHwgIDAgIHwgIDIgIHwgLTEgIHwgIDEKPj4+Pj4gKyAqIDMgfCAgMiAgfCAg MSAgfCAgMCAgfCAtMQoKQWN0dWFsbHkgKGFuZCBjb252ZW5pZW50bHkpIE1JX1NFTUFQSE9SRV9T WU5DX0lOVkFMSUQgaXMgMyAoPDwxNikgc28gd2UgCmRvbid0IHJlYWxseSBuZWVkIHRvIHJldHVy biAtMSBhbmQgdGhlbiBtYXAgaXQgdG8gSU5WQUxJRCwgd2UgY2FuIGp1c3QgCnVzZSAwLTMgZGly ZWN0bHkuIFRoZSBiaW5hcnkgc3RyaW5nIEkgd3JvdGUgYWJvdmUgcmVwcmVzZW50cyB0aGlzIHRh YmxlOyAKdGhlbiB0byBnZXQgdGhlIHJlc3VsdCB3ZSB3YW50IGl0IGp1c3QgaGFzIHRvIGJlIHNo aWZ0ZWQuCgo+Pj4+PiArICoKPj4+Pj4gKyAqIEluIHRoZSBvcHBvc2l0ZSBkaXJlY3Rpb24sIHRo ZSBzYW1lIHRhYmxlIHNob3dpbmcgcmVnaXN0ZXIKPj4+Pj4gYWRkcmVzc2VzIGlzOgo+Pj4+PiAr ICoKPj4+Pj4gKyAqICAgICAgfCAgICAgUkNTICAgICAgfCAgICAgVkNTICAgICAgfCAgICAgQkNT ICAgICAgfCAgICBWRUNTCj4+Pj4+ICsgKiAtLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLQo+Pj4+PiArICogIFJDUyB8IEdFTjZf Tk9TWU5DICB8IEdFTjZfUlZTWU5DICB8IEdFTjZfUkJTWU5DICB8IEdFTjZfUlZFU1lOQwo+Pj4+ PiArICogIFZDUyB8IEdFTjZfVlJTWU5DICB8IEdFTjZfTk9TWU5DICB8IEdFTjZfVkJTWU5DICB8 IEdFTjZfVlZFU1lOQwo+Pj4+PiArICogIEJDUyB8IEdFTjZfVlJTWU5DICB8IEdFTjZfQlZTWU5D ICB8IEdFTjZfTk9TWU5DICB8IEdFTjZfQlZFU1lOQwo+Pj4+PiArICogVkVDUyB8IEdFTjZfVkVS U1lOQyB8IEdFTjZfVkVWU1lOQyB8IEdFTjZfVkVCU1lOQyB8IEdFTjZfTk9TWU5DCj4+Pj4+ICsg Kgo+Pj4+PiArICogQWdhaW4gdGhpcyBkaXN0aWxsZWQgdG8gaW50ZWdlcnMgbG9va3MgbGlrZSB0 aGlzOgo+Pj4+PiArICoKPj4+Pj4gKyAqICAgfCAgMCAgfCAgMSAgfCAgMiAgfCAgMwo+Pj4+PiAr ICogLS0rLS0tLS0rLS0tLS0rLS0tLS0rLS0tLS0KPj4+Pj4gKyAqIDAgfCAtMSAgfCAgMCAgfCAg MSAgfCAgMgo+Pj4+PiArICogMSB8ICAxICB8IC0xICB8ICAwICB8ICAyCj4+Pj4+ICsgKiAyIHwg IDAgIHwgIDEgIHwgLTEgIHwgIDIKPj4+Pj4gKyAqIDMgfCAgMSAgfCAgMiAgfCAgMCAgfCAtMQoK V2l0aCB0aGF0IHRhYmxlIGFzIHRoZSBmaXJzdCBmdW5jdGlvbiBmMShyZXR1cm5pbmcgMC0zKSwg dGhlIHNlY29uZCAKZnVuY3Rpb24gY291bGQganVzdCBiZSBhIGxvb2t1cCBpbiBhIDQtZW50cnkg YXJyYXkgaW5kZXhlZCBieSB0aGUgCnJlc3VsdC4gT3IgY29udmVydCAzIHRvIE5PU1lOQywgdGhl biB0aGUgcmVzdCBpcyAoMy1mMSh4LHkpKSAlIDMuCgpJIHRoaW5rIHRob3NlIG1pZ2h0IGdpdmUg dGhlIGJlc3QgY29tYmluYXRpb24gb2YgY29kZStkYXRhIHNpemUgOikKCj4+Pj4gLyoKPj4+PiAg ICogICAgICAgICAgICAgICBYCj4+Pj4gICAqICAgICAgfCAgMCAgfCAgMSAgfCAgMiAgfCAgMwo+ Pj4+ICAgKiAgICAtLSstLS0tLSstLS0tLSstLS0tLSstLS0tLQo+Pj4+ICAgKiAgICAwIHwgICAg IHwgIDAgIHwgIDEgIHwgIDIKPj4+PiAgICogWSAgMSB8ICAxICB8ICAgICB8ICAwICB8ICAyCj4+ Pj4gICAqICAgIDIgfCAgMCAgfCAgMSAgfCAgICAgfCAgMgo+Pj4+ICAgKiAgICAzIHwgIDEgIHwg IDIgIHwgIDAgIHwKPj4+PiAgICovCj4+Pgo+Pj4gWW91IHdhbnQgYW5vdGhlciBjb3B5IG9mIHRo ZSB0YWJsZSBoZXJlPwo+Pgo+PiBZZXMuIEluIHBhcnRpY3VsYXIsIEkgbmVlZCB0byBrbm93IHdo aWNoIGF4aXMgaXMgWCBhbmQgd2hpY2ggaXMgWS4KPj4gSGF2aW5nIHRoZSB0YWJsZSBoZXJlIGlz IG11Y2ggZWFzaWVyIHRvIGNvbXBhcmUgdG8gdGhlIG91dHB1dCBvZiB0aGUKPj4gY29kZSAoc2Ft ZSBzY3JlZW4pLgo+Cj4gT2suCgpMZXQncyBjYWxsIHRoZW0gJ2Zyb20nIGFuZCAndG8nIChvciAn c2lnbmFsbGVyJyBhbmQgJ3dhaXRlcicsIHRob3VnaCAKdGhhdCdzIHJhdGhlciBsb25nKSByYXRo ZXIgdGhhbiB4ICYgeSwKCi5EYXZlLgoKPj4+Pj4gKyAgICB4IC09IHggPj0geTsKPj4+Pj4gKyAg ICBpZiAoeSA9PSAxKQo+Pj4+PiArICAgICAgICB4ID0gMyAtIHg7Cj4+Pj4+ICsgICAgeCArPSB5 ICYgMTsKPj4+Pj4gKyAgICByZXR1cm4geCAlIDM7Cj4+Pj4+ICt9Cj4+Pj4+ICsKPj4+Pj4gK3Uz MiBnZW42X3dhaXRfbWJveChlbnVtIGludGVsX2VuZ2luZV9pZCB4LCBlbnVtIGludGVsX2VuZ2lu ZV9pZCB5KQo+Pj4+Cj4+Pj4gc3RhdGljLi4uCj4+Pgo+Pj4gSXQgaXMgY2FsbGVkIGZyb20gaW50 ZWxfcmluZ2J1ZmZlci5jLgo+Pgo+PiBIbW0uIFRoaXMgd2FzIGluIGludGVsX3JpbmdidWZmZXIu YywgYXQgbGVhc3QgSSBhc3N1bWVkIHNvIGFzIHRoaXMgb25seQo+PiBhcHBsaWVzIHRvIGxlZ2Fj eSBzdWJtaXNzaW9uLCBmb3IgZ2VuNi03Lgo+Cj4gSXQgdXNlcyB0aGUgc3RhdGljIGludGVsX2Vu Z2luZXMgYXJyYXkgc2luY2UgdGhlIGRldl9wcml2LT5lbmdpbmVzIGFyZQo+IG5vdCBpbml0aWFs aXplZCB5ZXQgYnkgdGhlIHRpbWUgaXQgcnVucywgZm9yIGFuIGVuZ2luZS4KPgo+IENvdWxkIGFz IGFuIGFsdGVybmF0aXZlIG1ha2UgdGhlIGVuZ2luZSBpbml0IHBoYXNlIG11bHRpLXBhc3MuIE1h eWJlLgo+IE5vdCBzdXJlIHdoYXQgcmVwZXJjdXNzaW9ucyBmb3IgdGhlIGNsZWFudXAgcGF0aCB0 aGF0IHdvdWxkIGhhdmUuCj4KPiBSZWdhcmRzLAo+IFR2cnRrbwoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==