From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH v10 07/40] drm/i915: hdcp1.4 CP_IRQ handling and SW encryption tracking Date: Thu, 31 Jan 2019 08:56:54 +0100 Message-ID: <20190131075654.GR3271@phenom.ffwll.local> References: <1548917996-28081-1-git-send-email-ramalingam.c@intel.com> <1548917996-28081-8-git-send-email-ramalingam.c@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-ed1-x543.google.com (mail-ed1-x543.google.com [IPv6:2a00:1450:4864:20::543]) by gabe.freedesktop.org (Postfix) with ESMTPS id 02F626EC05 for ; Thu, 31 Jan 2019 07:56:58 +0000 (UTC) Received: by mail-ed1-x543.google.com with SMTP id d39so1751683edb.12 for ; Wed, 30 Jan 2019 23:56:58 -0800 (PST) Content-Disposition: inline In-Reply-To: <1548917996-28081-8-git-send-email-ramalingam.c@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Ramalingam C Cc: daniel.vetter@ffwll.ch, intel-gfx@lists.freedesktop.org, uma.shankar@intel.com, tomas.winkler@intel.com, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBKYW4gMzEsIDIwMTkgYXQgMTI6Mjk6MjNQTSArMDUzMCwgUmFtYWxpbmdhbSBDIHdy b3RlOgo+ICJoZGNwX2VuY3J5cHRlZCIgZmxhZyBpcyBkZWZpbmVkIHRvIGRlbm90ZSB0aGUgSERD UDEuNCBlbmNyeXB0aW9uIHN0YXR1cy4KPiBUaGlzIFNXIHRyYWNraW5nIGlzIHVzZWQgdG8gZGV0 ZXJtaW5lIHRoZSBuZWVkIGZvciByZWFsIGhkY3AxLjQgZGlzYWJsZQo+IGFuZCBoZGNwX2NoZWNr X2xpbmsgdXBvbiBDUF9JUlEuCj4gCj4gT24gQ1BfSVJRIHdlIGZpbHRlciB0aGUgQ1BfSVJRIHJl bGF0ZWQgdG8gdGhlIHN0YXRlcyBsaWtlIExpbmsgZmFpbHVyZQo+IGFuZCByZWF1dGhlbnRpY2F0 aW9uIHJlcSBldGMgYW5kIGhhbmRsZSB0aGVtIGluIGhkY3BfY2hlY2tfbGluay4KPiBDUF9JUlEg Y29ycmVzcG9uZGluZyB0byB0aGUgYXV0aGVudGljYXRpb24gbXNnIGF2YWlsYWJpbGl0eSBhcmUg aWdub3JlZC4KPiAKPiBXQVJOX09OIGlzIGFkZGVkIGZvciB0aGUgYWJydXB0IHN0b3Agb2YgSERD UCBlbmNyeXB0aW9uIG9mIGEgcG9ydC4KPiAKPiB2MjoKPiAgIGJvb2wgaXMgdXNlZCBpbiBzdHJ1 Y3QgZm9yIHRoZSBjbGVhbmVyIGNvZGluZy4gW0RhbmllbF0KPiAgIGNoZWNrX2xpbmsgd29ya19m biBpcyBzY2hlZHVsZWQgZm9yIGNwX2lycSBoYW5kbGluZyBbRGFuaWVsXQoKSnVzdCBkb2luZyBh IGRlbHRhLXJldmlldywgdjIgYWRkcmVzc2VzIG15IGNvbW1lbnQgYWJvdXQgc3luY2hyb25pemF0 aW9uCndpdGggdGhlIHdvcmtlciwgc28KClJldmlld2VkLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5p ZWwudmV0dGVyQGZmd2xsLmNoPgoKPiAKPiBTaWduZWQtb2ZmLWJ5OiBSYW1hbGluZ2FtIEMgPHJh bWFsaW5nYW0uY0BpbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RwLmMgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICB8ICA1 ICsrLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZGNwLmMgfCA3MyArKysrKysrKysr KysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KPiAgMyBmaWxlcyBjaGFuZ2VkLCA1OCBpbnNl cnRpb25zKCspLCAyMiBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiBp bmRleCA4MTVlZTY4ZWZhMmYuLjljZTA1ODE5ZmMxMSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHAuYwo+IEBAIC00Nzc2LDcgKzQ3NzYsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kcF9jaGVja19z ZXJ2aWNlX2lycShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ICAJCWludGVsX2RwX2hhbmRs ZV90ZXN0X3JlcXVlc3QoaW50ZWxfZHApOwo+ICAKPiAgCWlmICh2YWwgJiBEUF9DUF9JUlEpCj4g LQkJaW50ZWxfaGRjcF9jaGVja19saW5rKGludGVsX2RwLT5hdHRhY2hlZF9jb25uZWN0b3IpOwo+ ICsJCWludGVsX2hkY3BfaGFuZGxlX2NwX2lycShpbnRlbF9kcC0+YXR0YWNoZWRfY29ubmVjdG9y KTsKPiAgCj4gIAlpZiAodmFsICYgRFBfU0lOS19TUEVDSUZJQ19JUlEpCj4gIAkJRFJNX0RFQlVH X0RSSVZFUigiU2luayBzcGVjaWZpYyBpcnEgdW5oYW5kbGVkXG4iKTsKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcnYuaAo+IGluZGV4IDYzZTAwOTI4NmQ1Zi4uMTNhNDFlOGNmNGZmIDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBAQCAtMzk5LDYgKzM5OSw5IEBAIHN0cnVjdCBpbnRlbF9o ZGNwIHsKPiAgCXN0cnVjdCBkZWxheWVkX3dvcmsgY2hlY2tfd29yazsKPiAgCXN0cnVjdCB3b3Jr X3N0cnVjdCBwcm9wX3dvcms7Cj4gIAo+ICsJLyogSERDUDEuNCBFbmNyeXB0aW9uIHN0YXR1cyAq Lwo+ICsJYm9vbCBoZGNwX2VuY3J5cHRlZDsKPiArCj4gIAkvKiBIRENQMi4yIHJlbGF0ZWQgZGVm aW5pdGlvbnMgKi8KPiAgCS8qIEZsYWcgaW5kaWNhdGVzIHdoZXRoZXIgdGhpcyBjb25uZWN0b3Ig c3VwcG9ydHMgSERDUDIuMiBvciBub3QuICovCj4gIAlib29sIGhkY3AyX3N1cHBvcnRlZDsKPiBA QCAtMjA3MywxMCArMjA3NiwxMCBAQCBpbnQgaW50ZWxfaGRjcF9pbml0KHN0cnVjdCBpbnRlbF9j b25uZWN0b3IgKmNvbm5lY3RvciwKPiAgCQkgICAgYm9vbCBoZGNwMl9zdXBwb3J0ZWQpOwo+ICBp bnQgaW50ZWxfaGRjcF9lbmFibGUoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsK PiAgaW50IGludGVsX2hkY3BfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0 b3IpOwo+IC1pbnQgaW50ZWxfaGRjcF9jaGVja19saW5rKHN0cnVjdCBpbnRlbF9jb25uZWN0b3Ig KmNvbm5lY3Rvcik7Cj4gIGJvb2wgaXNfaGRjcF9zdXBwb3J0ZWQoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LCBlbnVtIHBvcnQgcG9ydCk7Cj4gIGJvb2wgaW50ZWxfaGRjcF9jYXBh YmxlKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3Rvcik7Cj4gIGJvb2wgaXNfaGRjcDJf c3VwcG9ydGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4gK3ZvaWQgaW50 ZWxfaGRjcF9oYW5kbGVfY3BfaXJxKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3Rvcik7 Cj4gIAo+ICAvKiBpbnRlbF9wc3IuYyAqLwo+ICAjZGVmaW5lIENBTl9QU1IoZGV2X3ByaXYpIChI QVNfUFNSKGRldl9wcml2KSAmJiBkZXZfcHJpdi0+cHNyLnNpbmtfc3VwcG9ydCkKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRjcC5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfaGRjcC5jCj4gaW5kZXggZTBiYjVmMzJiYTkwLi5jMWIwNTdmMTUwMWIgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRjcC5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRjcC5jCj4gQEAgLTc0LDYgKzc0LDE2IEBAIGJvb2wg aW50ZWxfaGRjcF9jYXBhYmxlKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAg CXJldHVybiBjYXBhYmxlOwo+ICB9Cj4gIAo+ICtzdGF0aWMgaW5saW5lIGJvb2wgaW50ZWxfaGRj cF9pbl91c2Uoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICt7Cj4gKwlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNvbm5lY3Rvci0+YmFzZS5k ZXYpOwo+ICsJZW51bSBwb3J0IHBvcnQgPSBjb25uZWN0b3ItPmVuY29kZXItPnBvcnQ7Cj4gKwl1 MzIgcmVnOwo+ICsKPiArCXJlZyA9IEk5MTVfUkVBRChQT1JUX0hEQ1BfU1RBVFVTKHBvcnQpKTsK PiArCXJldHVybiByZWcgJiBIRENQX1NUQVRVU19FTkM7Cj4gK30KPiArCj4gIHN0YXRpYyBpbnQg aW50ZWxfaGRjcF9wb2xsX2tzdl9maWZvKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVs X2RpZ19wb3J0LAo+ICAJCQkJICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9oZGNwX3NoaW0gKnNoaW0p Cj4gIHsKPiBAQCAtNjY4LDYgKzY3OCw3IEBAIHN0YXRpYyBpbnQgX2ludGVsX2hkY3BfZGlzYWJs ZShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIAlEUk1fREVCVUdfS01TKCJb JXM6JWRdIEhEQ1AgaXMgYmVpbmcgZGlzYWJsZWQuLi5cbiIsCj4gIAkJICAgICAgY29ubmVjdG9y LT5iYXNlLm5hbWUsIGNvbm5lY3Rvci0+YmFzZS5iYXNlLmlkKTsKPiAgCj4gKwloZGNwLT5oZGNw X2VuY3J5cHRlZCA9IGZhbHNlOwo+ICAJSTkxNV9XUklURShQT1JUX0hEQ1BfQ09ORihwb3J0KSwg MCk7Cj4gIAlpZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoZGV2X3ByaXYsIFBPUlRfSERDUF9T VEFUVVMocG9ydCksIH4wLCAwLAo+ICAJCQkJICAgIEVOQ1JZUFRfU1RBVFVTX0NIQU5HRV9USU1F T1VUX01TKSkgewo+IEBAIC03MTMsOCArNzI0LDEwIEBAIHN0YXRpYyBpbnQgX2ludGVsX2hkY3Bf ZW5hYmxlKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgCS8qIEluY2FzZSBv ZiBhdXRoZW50aWNhdGlvbiBmYWlsdXJlcywgSERDUCBzcGVjIGV4cGVjdHMgcmVhdXRoLiAqLwo+ ICAJZm9yIChpID0gMDsgaSA8IHRyaWVzOyBpKyspIHsKPiAgCQlyZXQgPSBpbnRlbF9oZGNwX2F1 dGgoY29ubl90b19kaWdfcG9ydChjb25uZWN0b3IpLCBoZGNwLT5zaGltKTsKPiAtCQlpZiAoIXJl dCkKPiArCQlpZiAoIXJldCkgewo+ICsJCQloZGNwLT5oZGNwX2VuY3J5cHRlZCA9IHRydWU7Cj4g IAkJCXJldHVybiAwOwo+ICsJCX0KPiAgCj4gIAkJRFJNX0RFQlVHX0tNUygiSERDUCBBdXRoIGZh aWx1cmUgKCVkKVxuIiwgcmV0KTsKPiAgCj4gQEAgLTc0MSwxNiArNzU0LDE3IEBAIGludCBpbnRl bF9oZGNwX2NoZWNrX2xpbmsoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICAJ ZW51bSBwb3J0IHBvcnQgPSBpbnRlbF9kaWdfcG9ydC0+YmFzZS5wb3J0Owo+ICAJaW50IHJldCA9 IDA7Cj4gIAo+IC0JaWYgKCFoZGNwLT5zaGltKQo+IC0JCXJldHVybiAtRU5PRU5UOwo+IC0KPiAg CW11dGV4X2xvY2soJmhkY3AtPm11dGV4KTsKPiAgCj4gLQlpZiAoaGRjcC0+dmFsdWUgPT0gRFJN X01PREVfQ09OVEVOVF9QUk9URUNUSU9OX1VOREVTSVJFRCkKPiArCS8qIENoZWNrX2xpbmsgdmFs aWQgb25seSB3aGVuIEhEQ1AxLjQgaXMgZW5hYmxlZCAqLwo+ICsJaWYgKGhkY3AtPnZhbHVlICE9 IERSTV9NT0RFX0NPTlRFTlRfUFJPVEVDVElPTl9FTkFCTEVEIHx8Cj4gKwkgICAgIWhkY3AtPmhk Y3BfZW5jcnlwdGVkKSB7Cj4gKwkJcmV0ID0gLUVJTlZBTDsKPiAgCQlnb3RvIG91dDsKPiArCX0K PiAgCj4gLQlpZiAoIShJOTE1X1JFQUQoUE9SVF9IRENQX1NUQVRVUyhwb3J0KSkgJiBIRENQX1NU QVRVU19FTkMpKSB7Cj4gLQkJRFJNX0VSUk9SKCIlczolZCBIRENQIGNoZWNrIGZhaWxlZDogbGlu ayBpcyBub3QgZW5jcnlwdGVkLCV4XG4iLAo+ICsJaWYgKFdBUk5fT04oIWludGVsX2hkY3BfaW5f dXNlKGNvbm5lY3RvcikpKSB7Cj4gKwkJRFJNX0VSUk9SKCIlczolZCBIRENQIGxpbmsgc3RvcHBl ZCBlbmNyeXB0aW9uLCV4XG4iLAo+ICAJCQkgIGNvbm5lY3Rvci0+YmFzZS5uYW1lLCBjb25uZWN0 b3ItPmJhc2UuYmFzZS5pZCwKPiAgCQkJICBJOTE1X1JFQUQoUE9SVF9IRENQX1NUQVRVUyhwb3J0 KSkpOwo+ICAJCXJldCA9IC1FTlhJTzsKPiBAQCAtNzkxLDE4ICs4MDUsNiBAQCBpbnQgaW50ZWxf aGRjcF9jaGVja19saW5rKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgCXJl dHVybiByZXQ7Cj4gIH0KPiAgCj4gLXN0YXRpYyB2b2lkIGludGVsX2hkY3BfY2hlY2tfd29yayhz dHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCj4gLXsKPiAtCXN0cnVjdCBpbnRlbF9oZGNwICpoZGNw ID0gY29udGFpbmVyX29mKHRvX2RlbGF5ZWRfd29yayh3b3JrKSwKPiAtCQkJCQkgICAgICAgc3Ry dWN0IGludGVsX2hkY3AsCj4gLQkJCQkJICAgICAgIGNoZWNrX3dvcmspOwo+IC0Jc3RydWN0IGlu dGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gaW50ZWxfaGRjcF90b19jb25uZWN0b3IoaGRjcCk7 Cj4gLQo+IC0JaWYgKCFpbnRlbF9oZGNwX2NoZWNrX2xpbmsoY29ubmVjdG9yKSkKPiAtCQlzY2hl ZHVsZV9kZWxheWVkX3dvcmsoJmhkY3AtPmNoZWNrX3dvcmssCj4gLQkJCQkgICAgICBEUk1fSERD UF9DSEVDS19QRVJJT0RfTVMpOwo+IC19Cj4gLQo+ICBzdGF0aWMgdm9pZCBpbnRlbF9oZGNwX3By b3Bfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCj4gIHsKPiAgCXN0cnVjdCBpbnRlbF9o ZGNwICpoZGNwID0gY29udGFpbmVyX29mKHdvcmssIHN0cnVjdCBpbnRlbF9oZGNwLAo+IEBAIC0x MTIwLDYgKzExMjIsMTggQEAgaW50IGhkY3AyX2RlYXV0aGVudGljYXRlX3BvcnQoc3RydWN0IGlu dGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICAJcmV0dXJuIGhkY3AyX2Nsb3NlX21laV9zZXNz aW9uKGNvbm5lY3Rvcik7Cj4gIH0KPiAgCj4gK3N0YXRpYyB2b2lkIGludGVsX2hkY3BfY2hlY2tf d29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCj4gK3sKPiArCXN0cnVjdCBpbnRlbF9oZGNw ICpoZGNwID0gY29udGFpbmVyX29mKHRvX2RlbGF5ZWRfd29yayh3b3JrKSwKPiArCQkJCQkgICAg ICAgc3RydWN0IGludGVsX2hkY3AsCj4gKwkJCQkJICAgICAgIGNoZWNrX3dvcmspOwo+ICsJc3Ry dWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gaW50ZWxfaGRjcF90b19jb25uZWN0b3Io aGRjcCk7Cj4gKwo+ICsJaWYgKCFpbnRlbF9oZGNwX2NoZWNrX2xpbmsoY29ubmVjdG9yKSkKPiAr CQlzY2hlZHVsZV9kZWxheWVkX3dvcmsoJmhkY3AtPmNoZWNrX3dvcmssCj4gKwkJCQkgICAgICBE Uk1fSERDUF9DSEVDS19QRVJJT0RfTVMpOwo+ICt9Cj4gKwo+ICBzdGF0aWMgaW50IGk5MTVfaGRj cF9jb21wb25lbnRfYmluZChzdHJ1Y3QgZGV2aWNlICppOTE1X2tkZXYsCj4gIAkJCQkgICAgc3Ry dWN0IGRldmljZSAqbWVpX2tkZXYsIHZvaWQgKmRhdGEpCj4gIHsKPiBAQCAtMTI4OCw3ICsxMzAy LDggQEAgaW50IGludGVsX2hkY3BfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25u ZWN0b3IpCj4gIAo+ICAJaWYgKGhkY3AtPnZhbHVlICE9IERSTV9NT0RFX0NPTlRFTlRfUFJPVEVD VElPTl9VTkRFU0lSRUQpIHsKPiAgCQloZGNwLT52YWx1ZSA9IERSTV9NT0RFX0NPTlRFTlRfUFJP VEVDVElPTl9VTkRFU0lSRUQ7Cj4gLQkJcmV0ID0gX2ludGVsX2hkY3BfZGlzYWJsZShjb25uZWN0 b3IpOwo+ICsJCWlmIChoZGNwLT5oZGNwX2VuY3J5cHRlZCkKPiArCQkJcmV0ID0gX2ludGVsX2hk Y3BfZGlzYWJsZShjb25uZWN0b3IpOwo+ICAJfQo+ICAKPiAgCW11dGV4X3VubG9jaygmaGRjcC0+ bXV0ZXgpOwo+IEBAIC0xMzI4LDMgKzEzNDMsMjEgQEAgdm9pZCBpbnRlbF9oZGNwX2F0b21pY19j aGVjayhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ICAJCQkJCQkgICBuZXdfc3Rh dGUtPmNydGMpOwo+ICAJY3J0Y19zdGF0ZS0+bW9kZV9jaGFuZ2VkID0gdHJ1ZTsKPiAgfQo+ICsK PiArLyogSGFuZGxlcyB0aGUgQ1BfSVJRIHJhaXNlZCBmcm9tIHRoZSBEUCBIRENQIHNpbmsgKi8K PiArdm9pZCBpbnRlbF9oZGNwX2hhbmRsZV9jcF9pcnEoc3RydWN0IGludGVsX2Nvbm5lY3RvciAq Y29ubmVjdG9yKQo+ICt7Cj4gKwlzdHJ1Y3QgaW50ZWxfaGRjcCAqaGRjcCA9ICZjb25uZWN0b3It PmhkY3A7Cj4gKwo+ICsJaWYgKCFoZGNwLT5zaGltKQo+ICsJCXJldHVybjsKPiArCj4gKwkvKgo+ ICsJICogQ1BfSVJRIGNvdWxkIGJlIHRyaWdnZXJlZCBkdWUgdG8gMS4gSERDUDIuMiBhdXRoIG1z Z3MgYXZhaWxhYmlsaXR5LAo+ICsJICogMi4gbGluayBmYWlsdXJlIGFuZCAzLiByZXBlYXRlciBy ZWF1dGggcmVxdWVzdC4gQXQgcHJlc2VudCB3ZSBkb250Cj4gKwkgKiBoYW5kbGUgdGhlIENQX0lS USBmb3IgdGhlIEhEQ1AyLjIgYXV0aCBtc2cgYXZhaWxhYmlsaXR5IGZvciByZWFkLgo+ICsJICog VG8gaGFuZGxlIG90aGVyIHR3byBjYXVzZXMgZm9yIENQX0lSUSB3ZSBoYXZlIHRoZSB3b3JrX2Zu IHdoaWNoIGlzCj4gKwkgKiBzY2hlZHVsZWQgaGVyZS4KPiArCSAqLwo+ICsJc2NoZWR1bGVfZGVs YXllZF93b3JrKCZoZGNwLT5jaGVja193b3JrLCAwKTsKPiArfQo+IC0tIAo+IDIuNy40Cj4gCgot LSAKRGFuaWVsIFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KaHR0 cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJp LWRldmVsCg==