From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id E91748936C for ; Wed, 5 Jun 2019 12:57:59 +0000 (UTC) Date: Wed, 5 Jun 2019 15:57:56 +0300 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Message-ID: <20190605125756.GN5942@intel.com> References: <20190605123300.2709-1-jani.nikula@intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20190605123300.2709-1-jani.nikula@intel.com> Subject: Re: [igt-dev] [PATCH i-g-t] tools/intel_vbt_decode: update vbt defs from kernel List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: Jani Nikula Cc: igt-dev@lists.freedesktop.org List-ID: T24gV2VkLCBKdW4gMDUsIDIwMTkgYXQgMDM6MzM6MDBQTSArMDMwMCwgSmFuaSBOaWt1bGEgd3Jv dGU6Cj4gU3luYyB1cCB0byBjb21taXQgZjQxYzYxNTMxMGQyICgiZHJtL2k5MTUvYmlvczogYWRk IGFuIGVudW0gZm9yIEJEQgo+IGJsb2NrIElEcyIpIGluIGtlcm5lbCBpbnRlbF92YnRfZGVmcy5o LCBhbmQgdXBkYXRlIHRoZSB0b29sIHdpdGggdGhlCj4gc3RydWN0IHJlbmFtZXMuCj4gCj4gU2ln bmVkLW9mZi1ieTogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNvbT4KClJldmlld2Vk LWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgoKPiAt LS0KPiAgdG9vbHMvaW50ZWxfdmJ0X2RlY29kZS5jIHwgICA2ICstCj4gIHRvb2xzL2ludGVsX3Zi dF9kZWZzLmggICB8IDY1NyArKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K PiAgMiBmaWxlcyBjaGFuZ2VkLCAyODAgaW5zZXJ0aW9ucygrKSwgMzgzIGRlbGV0aW9ucygtKQo+ IAo+IGRpZmYgLS1naXQgYS90b29scy9pbnRlbF92YnRfZGVjb2RlLmMgYi90b29scy9pbnRlbF92 YnRfZGVjb2RlLmMKPiBpbmRleCBkODBiMWRhZTc3MjUuLjM4ZWNjYzQ4ZjM4YiAxMDA2NDQKPiAt LS0gYS90b29scy9pbnRlbF92YnRfZGVjb2RlLmMKPiArKysgYi90b29scy9pbnRlbF92YnRfZGVj b2RlLmMKPiBAQCAtMjI4LDcgKzIyOCw3IEBAIHN0YXRpYyB2b2lkIGR1bXBfYmFja2xpZ2h0X2lu Zm8oc3RydWN0IGNvbnRleHQgKmNvbnRleHQsCj4gIAkJCQljb25zdCBzdHJ1Y3QgYmRiX2Jsb2Nr ICpibG9jaykKPiAgewo+ICAJY29uc3Qgc3RydWN0IGJkYl9sZnBfYmFja2xpZ2h0X2RhdGEgKmJh Y2tsaWdodCA9IGJsb2NrLT5kYXRhOwo+IC0JY29uc3Qgc3RydWN0IGJkYl9sZnBfYmFja2xpZ2h0 X2RhdGFfZW50cnkgKmJsYzsKPiArCWNvbnN0IHN0cnVjdCBsZnBfYmFja2xpZ2h0X2RhdGFfZW50 cnkgKmJsYzsKPiAgCj4gIAlpZiAoc2l6ZW9mKCpibGMpICE9IGJhY2tsaWdodC0+ZW50cnlfc2l6 ZSkgewo+ICAJCXByaW50ZigiXHRCYWNrbGlnaHQgc3RydWN0IHNpemVzIGRvbid0IG1hdGNoIChl eHBlY3RlZCAlenUsIGdvdCAldSksIHNraXBwaW5nXG4iLAo+IEBAIC02MjksOCArNjI5LDggQEAg c3RhdGljIHZvaWQgZHVtcF9sdmRzX2RhdGEoc3RydWN0IGNvbnRleHQgKmNvbnRleHQsCj4gIAkJ Y29uc3QgdWludDhfdCAqbGZwX2RhdGFfcHRyID0KPiAgCQkgICAgKGNvbnN0IHVpbnQ4X3QgKikg bHZkc19kYXRhLT5kYXRhICsgbGZwX2RhdGFfc2l6ZSAqIGk7Cj4gIAkJY29uc3QgdWludDhfdCAq dGltaW5nX2RhdGEgPSBsZnBfZGF0YV9wdHIgKyBkdm9fb2Zmc2V0Owo+IC0JCWNvbnN0IHN0cnVj dCBiZGJfbHZkc19sZnBfZGF0YV9lbnRyeSAqbGZwX2RhdGEgPQo+IC0JCSAgICAoY29uc3Qgc3Ry dWN0IGJkYl9sdmRzX2xmcF9kYXRhX2VudHJ5ICopbGZwX2RhdGFfcHRyOwo+ICsJCWNvbnN0IHN0 cnVjdCBsdmRzX2xmcF9kYXRhX2VudHJ5ICpsZnBfZGF0YSA9Cj4gKwkJICAgIChjb25zdCBzdHJ1 Y3QgbHZkc19sZnBfZGF0YV9lbnRyeSAqKWxmcF9kYXRhX3B0cjsKPiAgCQljaGFyIG1hcmtlcjsK PiAgCj4gIAkJaWYgKGkgIT0gY29udGV4dC0+cGFuZWxfdHlwZSAmJiAhY29udGV4dC0+ZHVtcF9h bGxfcGFuZWxfdHlwZXMpCj4gZGlmZiAtLWdpdCBhL3Rvb2xzL2ludGVsX3ZidF9kZWZzLmggYi90 b29scy9pbnRlbF92YnRfZGVmcy5oCj4gaW5kZXggM2Y1ZWZmNDkxMDViLi44OWVmMTRjYWZiNmIg MTAwNjQ0Cj4gLS0tIGEvdG9vbHMvaW50ZWxfdmJ0X2RlZnMuaAo+ICsrKyBiL3Rvb2xzL2ludGVs X3ZidF9kZWZzLmgKPiBAQCAtNzUsNjUgKzc1LDUxIEBAIHN0cnVjdCBiZGJfaGVhZGVyIHsKPiAg CXUxNiBiZGJfc2l6ZTsKPiAgfSBfX3BhY2tlZDsKPiAgCj4gLS8qIHN0cmljdGx5IHNwZWFraW5n LCB0aGlzIGlzIGEgInNraXAiIGJsb2NrLCBidXQgaXQgaGFzIGludGVyZXN0aW5nIGluZm8gKi8K PiAtc3RydWN0IHZiaW9zX2RhdGEgewo+IC0JdTggdHlwZTsgLyogMCA9PSBkZXNrdG9wLCAxID09 IG1vYmlsZSAqLwo+IC0JdTggcmVsc3RhZ2U7Cj4gLQl1OCBjaGlwc2V0Owo+IC0JdTggbHZkc19w cmVzZW50OjE7Cj4gLQl1OCB0dl9wcmVzZW50OjE7Cj4gLQl1OCByc3ZkMjo2OyAvKiBmaW5pc2gg Ynl0ZSAqLwo+IC0JdTggcnN2ZDNbNF07Cj4gLQl1OCBzaWdub25bMTU1XTsKPiAtCXU4IGNvcHly aWdodFs2MV07Cj4gLQl1MTYgY29kZV9zZWdtZW50Owo+IC0JdTggZG9zX2Jvb3RfbW9kZTsKPiAt CXU4IGJhbmR3aWR0aF9wZXJjZW50Owo+IC0JdTggcnN2ZDQ7IC8qIHBvcHVwIG1lbW9yeSBzaXpl ICovCj4gLQl1OCByZXNpemVfcGNpX2Jpb3M7Cj4gLQl1OCByc3ZkNTsgLyogaXMgY3J0IGFscmVh ZHkgb24gZGRjMiAqLwo+IC19IF9fcGFja2VkOwo+IC0KPiAgLyoKPiAgICogVGhlcmUgYXJlIHNl dmVyYWwgdHlwZXMgb2YgQklPUyBkYXRhIGJsb2NrcyAoQkRCcyksIGVhY2ggYmxvY2sgaGFzCj4g ICAqIGFuIElEIGFuZCBzaXplIGluIHRoZSBmaXJzdCAzIGJ5dGVzIChJRCBpbiBmaXJzdCwgc2l6 ZSBpbiBuZXh0IDIpLgo+ICAgKiBLbm93biB0eXBlcyBhcmUgbGlzdGVkIGJlbG93Lgo+ICAgKi8K PiAtI2RlZmluZSBCREJfR0VORVJBTF9GRUFUVVJFUwkgIDEKPiAtI2RlZmluZSBCREJfR0VORVJB TF9ERUZJTklUSU9OUwkgIDIKPiAtI2RlZmluZSBCREJfT0xEX1RPR0dMRV9MSVNUCSAgMwo+IC0j ZGVmaW5lIEJEQl9NT0RFX1NVUFBPUlRfTElTVAkgIDQKPiAtI2RlZmluZSBCREJfR0VORVJJQ19N T0RFX1RBQkxFCSAgNQo+IC0jZGVmaW5lIEJEQl9FWFRfTU1JT19SRUdTCSAgNgo+IC0jZGVmaW5l IEJEQl9TV0ZfSU8JCSAgNwo+IC0jZGVmaW5lIEJEQl9TV0ZfTU1JTwkJICA4Cj4gLSNkZWZpbmUg QkRCX1BTUgkJCSAgOQo+IC0jZGVmaW5lIEJEQl9NT0RFX1JFTU9WQUxfVEFCTEUJIDEwCj4gLSNk ZWZpbmUgQkRCX0NISUxEX0RFVklDRV9UQUJMRQkgMTEKPiAtI2RlZmluZSBCREJfRFJJVkVSX0ZF QVRVUkVTCSAxMgo+IC0jZGVmaW5lIEJEQl9EUklWRVJfUEVSU0lTVEVOQ0UJIDEzCj4gLSNkZWZp bmUgQkRCX0VYVF9UQUJMRV9QVFJTCSAxNAo+IC0jZGVmaW5lIEJEQl9ET1RfQ0xPQ0tfT1ZFUlJJ REUJIDE1Cj4gLSNkZWZpbmUgQkRCX0RJU1BMQVlfU0VMRUNUCSAxNgo+IC0vKiAxNyByc3ZkICov Cj4gLSNkZWZpbmUgQkRCX0RSSVZFUl9ST1RBVElPTgkgMTgKPiAtI2RlZmluZSBCREJfRElTUExB WV9SRU1PVkUJIDE5Cj4gLSNkZWZpbmUgQkRCX09FTV9DVVNUT00JCSAyMAo+IC0jZGVmaW5lIEJE Ql9FRlBfTElTVAkJIDIxIC8qIHdvcmthcm91bmRzIGZvciBWR0EgaHN5bmMvdnN5bmMgKi8KPiAt I2RlZmluZSBCREJfU0RWT19MVkRTX09QVElPTlMJIDIyCj4gLSNkZWZpbmUgQkRCX1NEVk9fUEFO RUxfRFREUwkgMjMKPiAtI2RlZmluZSBCREJfU0RWT19MVkRTX1BOUF9JRFMJIDI0Cj4gLSNkZWZp bmUgQkRCX1NEVk9fTFZEU19QT1dFUl9TRVEJIDI1Cj4gLSNkZWZpbmUgQkRCX1RWX09QVElPTlMJ CSAyNgo+IC0jZGVmaW5lIEJEQl9FRFAJCQkgMjcKPiAtI2RlZmluZSBCREJfTFZEU19PUFRJT05T CSA0MAo+IC0jZGVmaW5lIEJEQl9MVkRTX0xGUF9EQVRBX1BUUlMJIDQxCj4gLSNkZWZpbmUgQkRC X0xWRFNfTEZQX0RBVEEJIDQyCj4gLSNkZWZpbmUgQkRCX0xWRFNfQkFDS0xJR0hUCSA0Mwo+IC0j ZGVmaW5lIEJEQl9MVkRTX1BPV0VSCQkgNDQKPiAtI2RlZmluZSBCREJfTUlQSV9DT05GSUcJCSA1 Mgo+IC0jZGVmaW5lIEJEQl9NSVBJX1NFUVVFTkNFCSA1Mwo+IC0jZGVmaW5lIEJEQl9TS0lQCQky NTQgLyogVkJJT1MgcHJpdmF0ZSBibG9jaywgaWdub3JlICovCj4gK2VudW0gYmRiX2Jsb2NrX2lk IHsKPiArCUJEQl9HRU5FUkFMX0ZFQVRVUkVTCQk9IDEsCj4gKwlCREJfR0VORVJBTF9ERUZJTklU SU9OUwkJPSAyLAo+ICsJQkRCX09MRF9UT0dHTEVfTElTVAkJPSAzLAo+ICsJQkRCX01PREVfU1VQ UE9SVF9MSVNUCQk9IDQsCj4gKwlCREJfR0VORVJJQ19NT0RFX1RBQkxFCQk9IDUsCj4gKwlCREJf RVhUX01NSU9fUkVHUwkJPSA2LAo+ICsJQkRCX1NXRl9JTwkJCT0gNywKPiArCUJEQl9TV0ZfTU1J TwkJCT0gOCwKPiArCUJEQl9QU1IJCQkJPSA5LAo+ICsJQkRCX01PREVfUkVNT1ZBTF9UQUJMRQkJ PSAxMCwKPiArCUJEQl9DSElMRF9ERVZJQ0VfVEFCTEUJCT0gMTEsCj4gKwlCREJfRFJJVkVSX0ZF QVRVUkVTCQk9IDEyLAo+ICsJQkRCX0RSSVZFUl9QRVJTSVNURU5DRQkJPSAxMywKPiArCUJEQl9F WFRfVEFCTEVfUFRSUwkJPSAxNCwKPiArCUJEQl9ET1RfQ0xPQ0tfT1ZFUlJJREUJCT0gMTUsCj4g KwlCREJfRElTUExBWV9TRUxFQ1QJCT0gMTYsCj4gKwlCREJfRFJJVkVSX1JPVEFUSU9OCQk9IDE4 LAo+ICsJQkRCX0RJU1BMQVlfUkVNT1ZFCQk9IDE5LAo+ICsJQkRCX09FTV9DVVNUT00JCQk9IDIw LAo+ICsJQkRCX0VGUF9MSVNUCQkJPSAyMSwgLyogd29ya2Fyb3VuZHMgZm9yIFZHQSBoc3luYy92 c3luYyAqLwo+ICsJQkRCX1NEVk9fTFZEU19PUFRJT05TCQk9IDIyLAo+ICsJQkRCX1NEVk9fUEFO RUxfRFREUwkJPSAyMywKPiArCUJEQl9TRFZPX0xWRFNfUE5QX0lEUwkJPSAyNCwKPiArCUJEQl9T RFZPX0xWRFNfUE9XRVJfU0VRCQk9IDI1LAo+ICsJQkRCX1RWX09QVElPTlMJCQk9IDI2LAo+ICsJ QkRCX0VEUAkJCQk9IDI3LAo+ICsJQkRCX0xWRFNfT1BUSU9OUwkJPSA0MCwKPiArCUJEQl9MVkRT X0xGUF9EQVRBX1BUUlMJCT0gNDEsCj4gKwlCREJfTFZEU19MRlBfREFUQQkJPSA0MiwKPiArCUJE Ql9MVkRTX0JBQ0tMSUdIVAkJPSA0MywKPiArCUJEQl9MVkRTX1BPV0VSCQkJPSA0NCwKPiArCUJE Ql9NSVBJX0NPTkZJRwkJCT0gNTIsCj4gKwlCREJfTUlQSV9TRVFVRU5DRQkJPSA1MywKPiArCUJE Ql9TS0lQCQkJPSAyNTQsIC8qIFZCSU9TIHByaXZhdGUgYmxvY2ssIGlnbm9yZSAqLwo+ICt9Owo+ ICsKPiArLyoKPiArICogQmxvY2sgMSAtIEdlbmVyYWwgQml0IERlZmluaXRpb25zCj4gKyAqLwo+ ICAKPiAgc3RydWN0IGJkYl9nZW5lcmFsX2ZlYXR1cmVzIHsKPiAgICAgICAgICAvKiBiaXRzIDEg Ki8KPiBAQCAtMTc2LDYgKzE2MiwxMCBAQCBzdHJ1Y3QgYmRiX2dlbmVyYWxfZmVhdHVyZXMgewo+ ICAJdTggcnN2ZDExOjI7IC8qIGZpbmlzaCBieXRlICovCj4gIH0gX19wYWNrZWQ7Cj4gIAo+ICsv Kgo+ICsgKiBCbG9jayAyIC0gR2VuZXJhbCBCeXRlcyBEZWZpbml0aW9uCj4gKyAqLwo+ICsKPiAg LyogcHJlLTkxNSAqLwo+ICAjZGVmaW5lIEdQSU9fUElOX0RWSV9MVkRTCTB4MDMgLyogIkRWSS9M VkRTIEREQyBHUElPIHBpbnMiICovCj4gICNkZWZpbmUgR1BJT19QSU5fQUREX0kyQwkweDA1IC8q ICJBRERDQVJEIEkyQyBHUElPIHBpbnMiICovCj4gQEAgLTI5OSw2ICsyODksOCBAQCBzdHJ1Y3Qg YmRiX2dlbmVyYWxfZmVhdHVyZXMgewo+ICAjZGVmaW5lIERWT19QT1JUX0RQQQkJMTAKPiAgI2Rl ZmluZSBEVk9fUE9SVF9EUEUJCTExCQkJCS8qIDE5MyAqLwo+ICAjZGVmaW5lIERWT19QT1JUX0hE TUlFCQkxMgkJCQkvKiAxOTMgKi8KPiArI2RlZmluZSBEVk9fUE9SVF9EUEYJCTEzCQkJCS8qIE4v QSAqLwo+ICsjZGVmaW5lIERWT19QT1JUX0hETUlGCQkxNAkJCQkvKiBOL0EgKi8KPiAgI2RlZmlu ZSBEVk9fUE9SVF9NSVBJQQkJMjEJCQkJLyogMTcxICovCj4gICNkZWZpbmUgRFZPX1BPUlRfTUlQ SUIJCTIyCQkJCS8qIDE3MSAqLwo+ICAjZGVmaW5lIERWT19QT1JUX01JUElDCQkyMwkJCQkvKiAx NzEgKi8KPiBAQCAtMzE2LDggKzMwOCwyNiBAQCBlbnVtIHZidF9nbWJ1c19kZGkgewo+ICAJRERD X0JVU19ERElfQywKPiAgCUREQ19CVVNfRERJX0QsCj4gIAlERENfQlVTX0RESV9GLAo+ICsJSUNM X0REQ19CVVNfRERJX0EgPSAweDEsCj4gKwlJQ0xfRERDX0JVU19ERElfQiwKPiArCUlDTF9ERENf QlVTX1BPUlRfMSA9IDB4NCwKPiArCUlDTF9ERENfQlVTX1BPUlRfMiwKPiArCUlDTF9ERENfQlVT X1BPUlRfMywKPiArCUlDTF9ERENfQlVTX1BPUlRfNCwKPiAgfTsKPiAgCj4gKyNkZWZpbmUgRFBf QVVYX0EgMHg0MAo+ICsjZGVmaW5lIERQX0FVWF9CIDB4MTAKPiArI2RlZmluZSBEUF9BVVhfQyAw eDIwCj4gKyNkZWZpbmUgRFBfQVVYX0QgMHgzMAo+ICsjZGVmaW5lIERQX0FVWF9FIDB4NTAKPiAr I2RlZmluZSBEUF9BVVhfRiAweDYwCj4gKwo+ICsjZGVmaW5lIFZCVF9EUF9NQVhfTElOS19SQVRF X0hCUjMJMAo+ICsjZGVmaW5lIFZCVF9EUF9NQVhfTElOS19SQVRFX0hCUjIJMQo+ICsjZGVmaW5l IFZCVF9EUF9NQVhfTElOS19SQVRFX0hCUgkyCj4gKyNkZWZpbmUgVkJUX0RQX01BWF9MSU5LX1JB VEVfTEJSCTMKPiArCj4gIC8qCj4gICAqIFRoZSBjaGlsZCBkZXZpY2UgY29uZmlnLCBha2EgdGhl IGRpc3BsYXkgZGV2aWNlIGRhdGEgc3RydWN0dXJlLCBwcm92aWRlcyBhCj4gICAqIGRlc2NyaXB0 aW9uIG9mIGEgcG9ydCBhbmQgaXRzIGNvbmZpZ3VyYXRpb24gb24gdGhlIHBsYXRmb3JtLgo+IEBA IC0zODIsNyArMzkyLDggQEAgc3RydWN0IGNoaWxkX2RldmljZV9jb25maWcgewo+ICAJCQl1OCBs c3Bjb246MTsJCQkJLyogMTkyICovCj4gIAkJCXU4IGlib29zdDoxOwkJCQkvKiAxOTYgKi8KPiAg CQkJdTggaHBkX2ludmVydDoxOwkJCS8qIDE5NiAqLwo+IC0JCQl1OCBmbGFnX3Jlc2VydmVkOjM7 Cj4gKwkJCXU4IHVzZV92YnRfdnN3aW5nOjE7CQkJLyogMjE4ICovCj4gKwkJCXU4IGZsYWdfcmVz ZXJ2ZWQ6MjsKPiAgCQkJdTggaGRtaV9zdXBwb3J0OjE7CQkJLyogMTU4ICovCj4gIAkJCXU4IGRw X3N1cHBvcnQ6MTsJCQkvKiAxNTggKi8KPiAgCQkJdTggdG1kc19zdXBwb3J0OjE7CQkJLyogMTU4 ICovCj4gQEAgLTQwNyw3ICs0MTgsOSBAQCBzdHJ1Y3QgY2hpbGRfZGV2aWNlX2NvbmZpZyB7Cj4g IAl1MTYgZXh0ZW5kZWRfdHlwZTsKPiAgCXU4IGR2b19mdW5jdGlvbjsKPiAgCXU4IGRwX3VzYl90 eXBlX2M6MTsJCQkJCS8qIDE5NSAqLwo+IC0JdTggZmxhZ3MyX3Jlc2VydmVkOjc7CQkJCQkvKiAx OTUgKi8KPiArCXU4IHRidDoxOwkJCQkJCS8qIDIwOSAqLwo+ICsJdTggZmxhZ3MyX3Jlc2VydmVk OjI7CQkJCQkvKiAxOTUgKi8KPiArCXU4IGRwX3BvcnRfdHJhY2VfbGVuZ3RoOjQ7CQkJCS8qIDIw OSAqLwo+ICAJdTggZHBfZ3Bpb19pbmRleDsJCQkJCS8qIDE5NSAqLwo+ICAJdTE2IGRwX2dwaW9f cGluX251bTsJCQkJCS8qIDE5NSAqLwo+ICAJdTggZHBfaWJvb3N0X2xldmVsOjQ7CQkJCQkvKiAx OTYgKi8KPiBAQCAtNDQxLDE5NCArNDU0LDQ0IEBAIHN0cnVjdCBiZGJfZ2VuZXJhbF9kZWZpbml0 aW9ucyB7Cj4gIAkgKiBudW1iZXIgPSAoYmxvY2tfc2l6ZSAtIHNpemVvZihiZGJfZ2VuZXJhbF9k ZWZpbml0aW9ucykpLwo+ICAJICoJICAgICBkZWZzLT5jaGlsZF9kZXZfc2l6ZTsKPiAgCSAqLwo+ IC0JdWludDhfdCBkZXZpY2VzWzBdOwo+IC19IF9fcGFja2VkOwo+IC0KPiAtLyogTWFzayBmb3Ig RFJSUyAvIFBhbmVsIENoYW5uZWwgLyBTU0MgLyBCTFQgY29udHJvbCBiaXRzIGV4dHJhY3Rpb24g Ki8KPiAtI2RlZmluZSBNT0RFX01BU0sJCTB4Mwo+IC0KPiAtc3RydWN0IGJkYl9sdmRzX29wdGlv bnMgewo+IC0JdTggcGFuZWxfdHlwZTsKPiAtCXU4IHJzdmQxOwo+IC0JLyogTFZEUyBjYXBhYmls aXRpZXMsIHN0b3JlZCBpbiBhIGR3b3JkICovCj4gLQl1OCBwZml0X21vZGU6MjsKPiAtCXU4IHBm aXRfdGV4dF9tb2RlX2VuaGFuY2VkOjE7Cj4gLQl1OCBwZml0X2dmeF9tb2RlX2VuaGFuY2VkOjE7 Cj4gLQl1OCBwZml0X3JhdGlvX2F1dG86MTsKPiAtCXU4IHBpeGVsX2RpdGhlcjoxOwo+IC0JdTgg bHZkc19lZGlkOjE7Cj4gLQl1OCByc3ZkMjoxOwo+IC0JdTggcnN2ZDQ7Cj4gLQkvKiBMVkRTIFBh bmVsIGNoYW5uZWwgYml0cyBzdG9yZWQgaGVyZSAqLwo+IC0JdTMyIGx2ZHNfcGFuZWxfY2hhbm5l bF9iaXRzOwo+IC0JLyogTFZEUyBTU0MgKFNwcmVhZCBTcGVjdHJ1bSBDbG9jaykgYml0cyBzdG9y ZWQgaGVyZS4gKi8KPiAtCXUxNiBzc2NfYml0czsKPiAtCXUxNiBzc2NfZnJlcTsKPiAtCXUxNiBz c2NfZGR0Owo+IC0JLyogUGFuZWwgY29sb3IgZGVwdGggZGVmaW5lZCBoZXJlICovCj4gLQl1MTYg cGFuZWxfY29sb3JfZGVwdGg7Cj4gLQkvKiBMVkRTIHBhbmVsIHR5cGUgYml0cyBzdG9yZWQgaGVy ZSAqLwo+IC0JdTMyIGRwc19wYW5lbF90eXBlX2JpdHM7Cj4gLQkvKiBMVkRTIGJhY2tsaWdodCBj b250cm9sIHR5cGUgYml0cyBzdG9yZWQgaGVyZSAqLwo+IC0JdTMyIGJsdF9jb250cm9sX3R5cGVf Yml0czsKPiAtfSBfX3BhY2tlZDsKPiAtCj4gLS8qIExGUCBwb2ludGVyIHRhYmxlIGNvbnRhaW5z IGVudHJpZXMgdG8gdGhlIHN0cnVjdCBiZWxvdyAqLwo+IC1zdHJ1Y3QgYmRiX2x2ZHNfbGZwX2Rh dGFfcHRyIHsKPiAtCXUxNiBmcF90aW1pbmdfb2Zmc2V0OyAvKiBvZmZzZXRzIGFyZSBmcm9tIHN0 YXJ0IG9mIGJkYiAqLwo+IC0JdTggZnBfdGFibGVfc2l6ZTsKPiAtCXUxNiBkdm9fdGltaW5nX29m ZnNldDsKPiAtCXU4IGR2b190YWJsZV9zaXplOwo+IC0JdTE2IHBhbmVsX3BucF9pZF9vZmZzZXQ7 Cj4gLQl1OCBwbnBfdGFibGVfc2l6ZTsKPiAtfSBfX3BhY2tlZDsKPiAtCj4gLXN0cnVjdCBiZGJf bHZkc19sZnBfZGF0YV9wdHJzIHsKPiAtCXU4IGx2ZHNfZW50cmllczsgLyogZm9sbG93ZWQgYnkg b25lIG9yIG1vcmUgbHZkc19kYXRhX3B0ciBzdHJ1Y3RzICovCj4gLQlzdHJ1Y3QgYmRiX2x2ZHNf bGZwX2RhdGFfcHRyIHB0clsxNl07Cj4gLX0gX19wYWNrZWQ7Cj4gLQo+IC0vKiBMRlAgZGF0YSBo YXMgMyBibG9ja3MgcGVyIGVudHJ5ICovCj4gLXN0cnVjdCBsdmRzX2ZwX3RpbWluZyB7Cj4gLQl1 MTYgeF9yZXM7Cj4gLQl1MTYgeV9yZXM7Cj4gLQl1MzIgbHZkc19yZWc7Cj4gLQl1MzIgbHZkc19y ZWdfdmFsOwo+IC0JdTMyIHBwX29uX3JlZzsKPiAtCXUzMiBwcF9vbl9yZWdfdmFsOwo+IC0JdTMy IHBwX29mZl9yZWc7Cj4gLQl1MzIgcHBfb2ZmX3JlZ192YWw7Cj4gLQl1MzIgcHBfY3ljbGVfcmVn Owo+IC0JdTMyIHBwX2N5Y2xlX3JlZ192YWw7Cj4gLQl1MzIgcGZpdF9yZWc7Cj4gLQl1MzIgcGZp dF9yZWdfdmFsOwo+IC0JdTE2IHRlcm1pbmF0b3I7Cj4gKwl1OCBkZXZpY2VzWzBdOwo+ICB9IF9f cGFja2VkOwo+ICAKPiAtc3RydWN0IGx2ZHNfZHZvX3RpbWluZyB7Cj4gLQl1MTYgY2xvY2s7CQkv Kio8IEluIDEwa2h6ICovCj4gLQl1OCBoYWN0aXZlX2xvOwo+IC0JdTggaGJsYW5rX2xvOwo+IC0J dTggaGJsYW5rX2hpOjQ7Cj4gLQl1OCBoYWN0aXZlX2hpOjQ7Cj4gLQl1OCB2YWN0aXZlX2xvOwo+ IC0JdTggdmJsYW5rX2xvOwo+IC0JdTggdmJsYW5rX2hpOjQ7Cj4gLQl1OCB2YWN0aXZlX2hpOjQ7 Cj4gLQl1OCBoc3luY19vZmZfbG87Cj4gLQl1OCBoc3luY19wdWxzZV93aWR0aF9sbzsKPiAtCXU4 IHZzeW5jX3B1bHNlX3dpZHRoX2xvOjQ7Cj4gLQl1OCB2c3luY19vZmZfbG86NDsKPiAtCXU4IHZz eW5jX3B1bHNlX3dpZHRoX2hpOjI7Cj4gLQl1OCB2c3luY19vZmZfaGk6MjsKPiAtCXU4IGhzeW5j X3B1bHNlX3dpZHRoX2hpOjI7Cj4gLQl1OCBoc3luY19vZmZfaGk6MjsKPiAtCXU4IGhpbWFnZV9s bzsKPiAtCXU4IHZpbWFnZV9sbzsKPiAtCXU4IHZpbWFnZV9oaTo0Owo+IC0JdTggaGltYWdlX2hp OjQ7Cj4gLQl1OCBoX2JvcmRlcjsKPiAtCXU4IHZfYm9yZGVyOwo+IC0JdTggcnN2ZDE6MzsKPiAt CXU4IGRpZ2l0YWw6MjsKPiAtCXU4IHZzeW5jX3Bvc2l0aXZlOjE7Cj4gLQl1OCBoc3luY19wb3Np dGl2ZToxOwo+IC0JdTggbm9uX2ludGVybGFjZWQ6MTsKPiAtfSBfX3BhY2tlZDsKPiAtCj4gLXN0 cnVjdCBsdmRzX3BucF9pZCB7Cj4gLQl1MTYgbWZnX25hbWU7Cj4gLQl1MTYgcHJvZHVjdF9jb2Rl Owo+IC0JdTMyIHNlcmlhbDsKPiAtCXU4IG1mZ193ZWVrOwo+IC0JdTggbWZnX3llYXI7Cj4gLX0g X19wYWNrZWQ7Cj4gLQo+IC1zdHJ1Y3QgYmRiX2x2ZHNfbGZwX2RhdGFfZW50cnkgewo+IC0Jc3Ry dWN0IGx2ZHNfZnBfdGltaW5nIGZwX3RpbWluZzsKPiAtCXN0cnVjdCBsdmRzX2R2b190aW1pbmcg ZHZvX3RpbWluZzsKPiAtCXN0cnVjdCBsdmRzX3BucF9pZCBwbnBfaWQ7Cj4gLX0gX19wYWNrZWQ7 Cj4gLQo+IC1zdHJ1Y3QgYmRiX2x2ZHNfbGZwX2RhdGEgewo+IC0Jc3RydWN0IGJkYl9sdmRzX2xm cF9kYXRhX2VudHJ5IGRhdGFbMTZdOwo+IC19IF9fcGFja2VkOwo+IC0KPiAtI2RlZmluZSBCREJf QkFDS0xJR0hUX1RZUEVfTk9ORQkwCj4gLSNkZWZpbmUgQkRCX0JBQ0tMSUdIVF9UWVBFX1BXTQky Cj4gLQo+IC1zdHJ1Y3QgYmRiX2xmcF9iYWNrbGlnaHRfZGF0YV9lbnRyeSB7Cj4gLQl1OCB0eXBl OjI7Cj4gLQl1OCBhY3RpdmVfbG93X3B3bToxOwo+IC0JdTggb2Jzb2xldGUxOjU7Cj4gLQl1MTYg cHdtX2ZyZXFfaHo7Cj4gLQl1OCBtaW5fYnJpZ2h0bmVzczsKPiAtCXU4IG9ic29sZXRlMjsKPiAt CXU4IG9ic29sZXRlMzsKPiAtfSBfX3BhY2tlZDsKPiAtCj4gLXN0cnVjdCBiZGJfbGZwX2JhY2ts aWdodF9jb250cm9sX21ldGhvZCB7Cj4gLQl1OCB0eXBlOjQ7Cj4gLQl1OCBjb250cm9sbGVyOjQ7 Cj4gLX0gX19wYWNrZWQ7Cj4gLQo+IC1zdHJ1Y3QgYmRiX2xmcF9iYWNrbGlnaHRfZGF0YSB7Cj4g LQl1OCBlbnRyeV9zaXplOwo+IC0Jc3RydWN0IGJkYl9sZnBfYmFja2xpZ2h0X2RhdGFfZW50cnkg ZGF0YVsxNl07Cj4gLQl1OCBsZXZlbFsxNl07Cj4gLQlzdHJ1Y3QgYmRiX2xmcF9iYWNrbGlnaHRf Y29udHJvbF9tZXRob2QgYmFja2xpZ2h0X2NvbnRyb2xbMTZdOwo+IC19IF9fcGFja2VkOwo+ICsv Kgo+ICsgKiBCbG9jayA5IC0gU1JEIEZlYXR1cmUgQmxvY2sKPiArICovCj4gIAo+IC1zdHJ1Y3Qg YWltZGJfaGVhZGVyIHsKPiAtCWNoYXIgc2lnbmF0dXJlWzE2XTsKPiAtCWNoYXIgb2VtX2Rldmlj ZVsyMF07Cj4gLQl1MTYgYWltZGJfdmVyc2lvbjsKPiAtCXUxNiBhaW1kYl9oZWFkZXJfc2l6ZTsK PiAtCXUxNiBhaW1kYl9zaXplOwo+IC19IF9fcGFja2VkOwo+ICtzdHJ1Y3QgcHNyX3RhYmxlIHsK PiArCS8qIEZlYXR1cmUgYml0cyAqLwo+ICsJdTggZnVsbF9saW5rOjE7Cj4gKwl1OCByZXF1aXJl X2F1eF90b193YWtldXA6MTsKPiArCXU4IGZlYXR1cmVfYml0c19yc3ZkOjY7Cj4gIAo+IC1zdHJ1 Y3QgYWltZGJfYmxvY2sgewo+IC0JdTggYWltZGJfaWQ7Cj4gLQl1MTYgYWltZGJfc2l6ZTsKPiAt fSBfX3BhY2tlZDsKPiArCS8qIFdhaXQgdGltZXMgKi8KPiArCXU4IGlkbGVfZnJhbWVzOjQ7Cj4g Kwl1OCBsaW5lc190b193YWl0OjM7Cj4gKwl1OCB3YWl0X3RpbWVzX3JzdmQ6MTsKPiAgCj4gLXN0 cnVjdCB2Y2hfcGFuZWxfZGF0YSB7Cj4gLQl1MTYgZnBfdGltaW5nX29mZnNldDsKPiAtCXU4IGZw X3RpbWluZ19zaXplOwo+IC0JdTE2IGR2b190aW1pbmdfb2Zmc2V0Owo+IC0JdTggZHZvX3RpbWlu Z19zaXplOwo+IC0JdTE2IHRleHRfZml0dGluZ19vZmZzZXQ7Cj4gLQl1OCB0ZXh0X2ZpdHRpbmdf c2l6ZTsKPiAtCXUxNiBncmFwaGljc19maXR0aW5nX29mZnNldDsKPiAtCXU4IGdyYXBoaWNzX2Zp dHRpbmdfc2l6ZTsKPiAtfSBfX3BhY2tlZDsKPiArCS8qIFRQIHdha2UgdXAgdGltZSBpbiBtdWx0 aXBsZSBvZiAxMDAgKi8KPiArCXUxNiB0cDFfd2FrZXVwX3RpbWU7Cj4gKwl1MTYgdHAyX3RwM193 YWtldXBfdGltZTsKPiAgCj4gLXN0cnVjdCB2Y2hfYmRiXzIyIHsKPiAtCXN0cnVjdCBhaW1kYl9i bG9jayBhaW1kYl9ibG9jazsKPiAtCXN0cnVjdCB2Y2hfcGFuZWxfZGF0YSBwYW5lbHNbMTZdOwo+ ICsJLyogUFNSMiBUUDIvVFAzIHdha2V1cCB0aW1lIGZvciAxNiBwYW5lbHMgKi8KPiArCXUzMiBw c3IyX3RwMl90cDNfd2FrZXVwX3RpbWU7Cj4gIH0gX19wYWNrZWQ7Cj4gIAo+IC1zdHJ1Y3QgYmRi X3Nkdm9fbHZkc19vcHRpb25zIHsKPiAtCXU4IHBhbmVsX2JhY2tsaWdodDsKPiAtCXU4IGg0MF9z ZXRfcGFuZWxfdHlwZTsKPiAtCXU4IHBhbmVsX3R5cGU7Cj4gLQl1OCBzc2NfY2xrX2ZyZXE7Cj4g LQl1MTYgYWxzX2xvd190cmlwOwo+IC0JdTE2IGFsc19oaWdoX3RyaXA7Cj4gLQl1OCBzY2xhbGFy Y29lZmZfdGFiX3Jvd19udW07Cj4gLQl1OCBzY2xhbGFyY29lZmZfdGFiX3Jvd19zaXplOwo+IC0J dTggY29lZmZpY2llbnRbOF07Cj4gLQl1OCBwYW5lbF9taXNjX2JpdHNfMTsKPiAtCXU4IHBhbmVs X21pc2NfYml0c18yOwo+IC0JdTggcGFuZWxfbWlzY19iaXRzXzM7Cj4gLQl1OCBwYW5lbF9taXNj X2JpdHNfNDsKPiArc3RydWN0IGJkYl9wc3Igewo+ICsJc3RydWN0IHBzcl90YWJsZSBwc3JfdGFi bGVbMTZdOwo+ICB9IF9fcGFja2VkOwo+ICAKPiArLyoKPiArICogQmxvY2sgMTIgLSBEcml2ZXIg RmVhdHVyZXMgRGF0YSBCbG9jawo+ICsgKi8KPiAgCj4gICNkZWZpbmUgQkRCX0RSSVZFUl9GRUFU VVJFX05PX0xWRFMJCTAKPiAgI2RlZmluZSBCREJfRFJJVkVSX0ZFQVRVUkVfSU5UX0xWRFMJCTEK PiAgI2RlZmluZSBCREJfRFJJVkVSX0ZFQVRVUkVfU0RWT19MVkRTCQkyCj4gLSNkZWZpbmUgQkRC X0RSSVZFUl9GRUFUVVJFX0VEUAkJCTMKPiArI2RlZmluZSBCREJfRFJJVkVSX0ZFQVRVUkVfSU5U X1NEVk9fTFZEUwkzCj4gIAo+ICBzdHJ1Y3QgYmRiX2RyaXZlcl9mZWF0dXJlcyB7Cj4gIAl1OCBi b290X2Rldl9hbGdvcml0aG06MTsKPiBAQCAtNjg0LDYgKzU0Nyw2OSBAQCBzdHJ1Y3QgYmRiX2Ry aXZlcl9mZWF0dXJlcyB7Cj4gIAl1MTYgcGNfZmVhdHVyZV92YWxpZDoxOwo+ICB9IF9fcGFja2Vk Owo+ICAKPiArLyoKPiArICogQmxvY2sgMjIgLSBTRFZPIExWRFMgR2VuZXJhbCBPcHRpb25zCj4g KyAqLwo+ICsKPiArc3RydWN0IGJkYl9zZHZvX2x2ZHNfb3B0aW9ucyB7Cj4gKwl1OCBwYW5lbF9i YWNrbGlnaHQ7Cj4gKwl1OCBoNDBfc2V0X3BhbmVsX3R5cGU7Cj4gKwl1OCBwYW5lbF90eXBlOwo+ ICsJdTggc3NjX2Nsa19mcmVxOwo+ICsJdTE2IGFsc19sb3dfdHJpcDsKPiArCXUxNiBhbHNfaGln aF90cmlwOwo+ICsJdTggc2NsYWxhcmNvZWZmX3RhYl9yb3dfbnVtOwo+ICsJdTggc2NsYWxhcmNv ZWZmX3RhYl9yb3dfc2l6ZTsKPiArCXU4IGNvZWZmaWNpZW50WzhdOwo+ICsJdTggcGFuZWxfbWlz Y19iaXRzXzE7Cj4gKwl1OCBwYW5lbF9taXNjX2JpdHNfMjsKPiArCXU4IHBhbmVsX21pc2NfYml0 c18zOwo+ICsJdTggcGFuZWxfbWlzY19iaXRzXzQ7Cj4gK30gX19wYWNrZWQ7Cj4gKwo+ICsvKgo+ ICsgKiBCbG9jayAyMyAtIFNEVk8gTFZEUyBQYW5lbCBEVERzCj4gKyAqLwo+ICsKPiArc3RydWN0 IGx2ZHNfZHZvX3RpbWluZyB7Cj4gKwl1MTYgY2xvY2s7CQkvKio8IEluIDEwa2h6ICovCj4gKwl1 OCBoYWN0aXZlX2xvOwo+ICsJdTggaGJsYW5rX2xvOwo+ICsJdTggaGJsYW5rX2hpOjQ7Cj4gKwl1 OCBoYWN0aXZlX2hpOjQ7Cj4gKwl1OCB2YWN0aXZlX2xvOwo+ICsJdTggdmJsYW5rX2xvOwo+ICsJ dTggdmJsYW5rX2hpOjQ7Cj4gKwl1OCB2YWN0aXZlX2hpOjQ7Cj4gKwl1OCBoc3luY19vZmZfbG87 Cj4gKwl1OCBoc3luY19wdWxzZV93aWR0aF9sbzsKPiArCXU4IHZzeW5jX3B1bHNlX3dpZHRoX2xv OjQ7Cj4gKwl1OCB2c3luY19vZmZfbG86NDsKPiArCXU4IHZzeW5jX3B1bHNlX3dpZHRoX2hpOjI7 Cj4gKwl1OCB2c3luY19vZmZfaGk6MjsKPiArCXU4IGhzeW5jX3B1bHNlX3dpZHRoX2hpOjI7Cj4g Kwl1OCBoc3luY19vZmZfaGk6MjsKPiArCXU4IGhpbWFnZV9sbzsKPiArCXU4IHZpbWFnZV9sbzsK PiArCXU4IHZpbWFnZV9oaTo0Owo+ICsJdTggaGltYWdlX2hpOjQ7Cj4gKwl1OCBoX2JvcmRlcjsK PiArCXU4IHZfYm9yZGVyOwo+ICsJdTggcnN2ZDE6MzsKPiArCXU4IGRpZ2l0YWw6MjsKPiArCXU4 IHZzeW5jX3Bvc2l0aXZlOjE7Cj4gKwl1OCBoc3luY19wb3NpdGl2ZToxOwo+ICsJdTggbm9uX2lu dGVybGFjZWQ6MTsKPiArfSBfX3BhY2tlZDsKPiArCj4gK3N0cnVjdCBiZGJfc2R2b19wYW5lbF9k dGRzIHsKPiArCXN0cnVjdCBsdmRzX2R2b190aW1pbmcgZHRkc1s0XTsKPiArfSBfX3BhY2tlZDsK PiArCj4gKy8qCj4gKyAqIEJsb2NrIDI3IC0gZURQIFZCVCBCbG9jawo+ICsgKi8KPiArCj4gICNk ZWZpbmUgRURQXzE4QlBQCTAKPiAgI2RlZmluZSBFRFBfMjRCUFAJMQo+ICAjZGVmaW5lIEVEUF8z MEJQUAkyCj4gQEAgLTczNiwxNTEgKzY2MiwxMzMgQEAgc3RydWN0IGJkYl9lZHAgewo+ICAJc3Ry dWN0IGVkcF9mdWxsX2xpbmtfcGFyYW1zIGZ1bGxfbGlua19wYXJhbXNbMTZdOwkvKiAxOTkgKi8K PiAgfSBfX3BhY2tlZDsKPiAgCj4gLXN0cnVjdCBwc3JfdGFibGUgewo+IC0JLyogRmVhdHVyZSBi aXRzICovCj4gLQl1OCBmdWxsX2xpbms6MTsKPiAtCXU4IHJlcXVpcmVfYXV4X3RvX3dha2V1cDox Owo+IC0JdTggZmVhdHVyZV9iaXRzX3JzdmQ6NjsKPiArLyoKPiArICogQmxvY2sgNDAgLSBMRlAg RGF0YSBCbG9jawo+ICsgKi8KPiAgCj4gLQkvKiBXYWl0IHRpbWVzICovCj4gLQl1OCBpZGxlX2Zy YW1lczo0Owo+IC0JdTggbGluZXNfdG9fd2FpdDozOwo+IC0JdTggd2FpdF90aW1lc19yc3ZkOjE7 Cj4gKy8qIE1hc2sgZm9yIERSUlMgLyBQYW5lbCBDaGFubmVsIC8gU1NDIC8gQkxUIGNvbnRyb2wg Yml0cyBleHRyYWN0aW9uICovCj4gKyNkZWZpbmUgTU9ERV9NQVNLCQkweDMKPiAgCj4gLQkvKiBU UCB3YWtlIHVwIHRpbWUgaW4gbXVsdGlwbGUgb2YgMTAwICovCj4gLQl1MTYgdHAxX3dha2V1cF90 aW1lOwo+IC0JdTE2IHRwMl90cDNfd2FrZXVwX3RpbWU7Cj4gK3N0cnVjdCBiZGJfbHZkc19vcHRp b25zIHsKPiArCXU4IHBhbmVsX3R5cGU7Cj4gKwl1OCBwYW5lbF90eXBlMjsJCQkJCQkvKiAyMTIg Ki8KPiArCS8qIExWRFMgY2FwYWJpbGl0aWVzLCBzdG9yZWQgaW4gYSBkd29yZCAqLwo+ICsJdTgg cGZpdF9tb2RlOjI7Cj4gKwl1OCBwZml0X3RleHRfbW9kZV9lbmhhbmNlZDoxOwo+ICsJdTggcGZp dF9nZnhfbW9kZV9lbmhhbmNlZDoxOwo+ICsJdTggcGZpdF9yYXRpb19hdXRvOjE7Cj4gKwl1OCBw aXhlbF9kaXRoZXI6MTsKPiArCXU4IGx2ZHNfZWRpZDoxOwo+ICsJdTggcnN2ZDI6MTsKPiArCXU4 IHJzdmQ0Owo+ICsJLyogTFZEUyBQYW5lbCBjaGFubmVsIGJpdHMgc3RvcmVkIGhlcmUgKi8KPiAr CXUzMiBsdmRzX3BhbmVsX2NoYW5uZWxfYml0czsKPiArCS8qIExWRFMgU1NDIChTcHJlYWQgU3Bl Y3RydW0gQ2xvY2spIGJpdHMgc3RvcmVkIGhlcmUuICovCj4gKwl1MTYgc3NjX2JpdHM7Cj4gKwl1 MTYgc3NjX2ZyZXE7Cj4gKwl1MTYgc3NjX2RkdDsKPiArCS8qIFBhbmVsIGNvbG9yIGRlcHRoIGRl ZmluZWQgaGVyZSAqLwo+ICsJdTE2IHBhbmVsX2NvbG9yX2RlcHRoOwo+ICsJLyogTFZEUyBwYW5l bCB0eXBlIGJpdHMgc3RvcmVkIGhlcmUgKi8KPiArCXUzMiBkcHNfcGFuZWxfdHlwZV9iaXRzOwo+ ICsJLyogTFZEUyBiYWNrbGlnaHQgY29udHJvbCB0eXBlIGJpdHMgc3RvcmVkIGhlcmUgKi8KPiAr CXUzMiBibHRfY29udHJvbF90eXBlX2JpdHM7Cj4gKwo+ICsJdTE2IGxjZHZjY19zMF9lbmFibGU7 CQkJCQkvKiAyMDAgKi8KPiArCXUzMiByb3RhdGlvbjsJCQkJCQkvKiAyMjggKi8KPiAgfSBfX3Bh Y2tlZDsKPiAgCj4gLXN0cnVjdCBiZGJfcHNyIHsKPiAtCXN0cnVjdCBwc3JfdGFibGUgcHNyX3Rh YmxlWzE2XTsKPiArLyoKPiArICogQmxvY2sgNDEgLSBMRlAgRGF0YSBUYWJsZSBQb2ludGVycwo+ ICsgKi8KPiArCj4gKy8qIExGUCBwb2ludGVyIHRhYmxlIGNvbnRhaW5zIGVudHJpZXMgdG8gdGhl IHN0cnVjdCBiZWxvdyAqLwo+ICtzdHJ1Y3QgbHZkc19sZnBfZGF0YV9wdHIgewo+ICsJdTE2IGZw X3RpbWluZ19vZmZzZXQ7IC8qIG9mZnNldHMgYXJlIGZyb20gc3RhcnQgb2YgYmRiICovCj4gKwl1 OCBmcF90YWJsZV9zaXplOwo+ICsJdTE2IGR2b190aW1pbmdfb2Zmc2V0Owo+ICsJdTggZHZvX3Rh YmxlX3NpemU7Cj4gKwl1MTYgcGFuZWxfcG5wX2lkX29mZnNldDsKPiArCXU4IHBucF90YWJsZV9z aXplOwo+ICt9IF9fcGFja2VkOwo+ICsKPiArc3RydWN0IGJkYl9sdmRzX2xmcF9kYXRhX3B0cnMg ewo+ICsJdTggbHZkc19lbnRyaWVzOyAvKiBmb2xsb3dlZCBieSBvbmUgb3IgbW9yZSBsdmRzX2Rh dGFfcHRyIHN0cnVjdHMgKi8KPiArCXN0cnVjdCBsdmRzX2xmcF9kYXRhX3B0ciBwdHJbMTZdOwo+ ICB9IF9fcGFja2VkOwo+ICAKPiAgLyoKPiAtICogRHJpdmVyPC0+VkJJT1MgaW50ZXJhY3Rpb24g b2NjdXJzIHRocm91Z2ggc2NyYXRjaCBiaXRzIGluCj4gLSAqIEdSMTggJiBTV0YqLgo+ICsgKiBC bG9jayA0MiAtIExGUCBEYXRhIFRhYmxlcwo+ICAgKi8KPiAgCj4gLS8qIEdSMTggYml0cyBhcmUg c2V0IG9uIGRpc3BsYXkgc3dpdGNoIGFuZCBob3RrZXkgZXZlbnRzICovCj4gLSNkZWZpbmUgR1Ix OF9EUklWRVJfU1dJVENIX0VOCSgxPDw3KSAvKiAwOiBWQklPUyBjb250cm9sLCAxOiBkcml2ZXIg Y29udHJvbCAqLwo+IC0jZGVmaW5lIEdSMThfSE9US0VZX01BU0sJMHg3OCAvKiBTZWUgYWxzbyBT V0Y0IDE1OjAgKi8KPiAtI2RlZmluZSAgIEdSMThfSEtfTk9ORQkJKDB4MDw8MykKPiAtI2RlZmlu ZSAgIEdSMThfSEtfTEZQX1NUUkVUQ0gJKDB4MTw8MykKPiAtI2RlZmluZSAgIEdSMThfSEtfVE9H R0xFX0RJU1AJKDB4Mjw8MykKPiAtI2RlZmluZSAgIEdSMThfSEtfRElTUF9TV0lUQ0gJKDB4NDw8 MykgLyogc2VlIFNXRjE0IDE1OjAgZm9yIHdoYXQgdG8gZW5hYmxlICovCj4gLSNkZWZpbmUgICBH UjE4X0hLX1BPUFVQX0RJU0FCTEVEICgweDY8PDMpCj4gLSNkZWZpbmUgICBHUjE4X0hLX1BPUFVQ X0VOQUJMRUQJKDB4Nzw8MykKPiAtI2RlZmluZSAgIEdSMThfSEtfUEZJVAkJKDB4ODw8MykKPiAt I2RlZmluZSAgIEdSMThfSEtfQVBNX0NIQU5HRQkoMHhhPDwzKQo+IC0jZGVmaW5lICAgR1IxOF9I S19NVUxUSVBMRQkoMHhjPDwzKQo+IC0jZGVmaW5lIEdSMThfVVNFUl9JTlRfRU4JKDE8PDIpCj4g LSNkZWZpbmUgR1IxOF9BMDAwMF9GTFVTSF9FTgkoMTw8MSkKPiAtI2RlZmluZSBHUjE4X1NNTV9F TgkJKDE8PDApCj4gLQo+IC0vKiBTZXQgYnkgZHJpdmVyLCBjbGVhcmVkIGJ5IFZCSU9TICovCj4g LSNkZWZpbmUgU1dGMDBfWVJFU19TSElGVAkxNgo+IC0jZGVmaW5lIFNXRjAwX1hSRVNfU0hJRlQJ MAo+IC0jZGVmaW5lIFNXRjAwX1JFU19NQVNLCQkweGZmZmYKPiAtCj4gLS8qIFNldCBieSBWQklP UyBhdCBib290IHRpbWUgYW5kIGRyaXZlciBhdCBydW50aW1lICovCj4gLSNkZWZpbmUgU1dGMDFf VFYyX0ZPUk1BVF9TSElGVAk4Cj4gLSNkZWZpbmUgU1dGMDFfVFYxX0ZPUk1BVF9TSElGVAkwCj4g LSNkZWZpbmUgU1dGMDFfVFZfRk9STUFUX01BU0sJMHhmZmZmCj4gLQo+IC0jZGVmaW5lIFNXRjEw X1ZCSU9TX0JMQ19JMkNfRU4JKDE8PDI5KQo+IC0jZGVmaW5lIFNXRjEwX0dUVF9PVkVSUklERV9F TgkoMTw8MjgpCj4gLSNkZWZpbmUgU1dGMTBfTEZQX0RQTVNfT1ZSCSgxPDwyNykgLyogb3ZlcnJp ZGUgRFBNUyBvbiBkaXNwbGF5IHN3aXRjaCAqLwo+IC0jZGVmaW5lIFNXRjEwX0FDVElWRV9UT0dH TEVfTElTVF9NQVNLICg3PDwyNCkKPiAtI2RlZmluZSAgIFNXRjEwX09MRF9UT0dHTEUJMHgwCj4g LSNkZWZpbmUgICBTV0YxMF9UT0dHTEVfTElTVF8xCTB4MQo+IC0jZGVmaW5lICAgU1dGMTBfVE9H R0xFX0xJU1RfMgkweDIKPiAtI2RlZmluZSAgIFNXRjEwX1RPR0dMRV9MSVNUXzMJMHgzCj4gLSNk ZWZpbmUgICBTV0YxMF9UT0dHTEVfTElTVF80CTB4NAo+IC0jZGVmaW5lIFNXRjEwX1BBTk5JTkdf RU4JKDE8PDIzKQo+IC0jZGVmaW5lIFNXRjEwX0RSSVZFUl9MT0FERUQJKDE8PDIyKQo+IC0jZGVm aW5lIFNXRjEwX0VYVEVOREVEX0RFU0tUT1AJKDE8PDIxKQo+IC0jZGVmaW5lIFNXRjEwX0VYQ0xV U0lWRV9NT0RFCSgxPDwyMCkKPiAtI2RlZmluZSBTV0YxMF9PVkVSTEFZX0VOCSgxPDwxOSkKPiAt I2RlZmluZSBTV0YxMF9QTEFORUJfSE9MRE9GRgkoMTw8MTgpCj4gLSNkZWZpbmUgU1dGMTBfUExB TkVBX0hPTERPRkYJKDE8PDE3KQo+IC0jZGVmaW5lIFNXRjEwX1ZHQV9IT0xET0ZGCSgxPDwxNikK PiAtI2RlZmluZSBTV0YxMF9BQ1RJVkVfRElTUF9NQVNLCTB4ZmZmZgo+IC0jZGVmaW5lICAgU1dG MTBfUElQRUJfTEZQMgkoMTw8MTUpCj4gLSNkZWZpbmUgICBTV0YxMF9QSVBFQl9FRlAyCSgxPDwx NCkKPiAtI2RlZmluZSAgIFNXRjEwX1BJUEVCX1RWMgkoMTw8MTMpCj4gLSNkZWZpbmUgICBTV0Yx MF9QSVBFQl9DUlQyCSgxPDwxMikKPiAtI2RlZmluZSAgIFNXRjEwX1BJUEVCX0xGUAkoMTw8MTEp Cj4gLSNkZWZpbmUgICBTV0YxMF9QSVBFQl9FRlAJKDE8PDEwKQo+IC0jZGVmaW5lICAgU1dGMTBf UElQRUJfVFYJKDE8PDkpCj4gLSNkZWZpbmUgICBTV0YxMF9QSVBFQl9DUlQJKDE8PDgpCj4gLSNk ZWZpbmUgICBTV0YxMF9QSVBFQV9MRlAyCSgxPDw3KQo+IC0jZGVmaW5lICAgU1dGMTBfUElQRUFf RUZQMgkoMTw8NikKPiAtI2RlZmluZSAgIFNXRjEwX1BJUEVBX1RWMgkoMTw8NSkKPiAtI2RlZmlu ZSAgIFNXRjEwX1BJUEVBX0NSVDIJKDE8PDQpCj4gLSNkZWZpbmUgICBTV0YxMF9QSVBFQV9MRlAJ KDE8PDMpCj4gLSNkZWZpbmUgICBTV0YxMF9QSVBFQV9FRlAJKDE8PDIpCj4gLSNkZWZpbmUgICBT V0YxMF9QSVBFQV9UVgkoMTw8MSkKPiAtI2RlZmluZSAgIFNXRjEwX1BJUEVBX0NSVAkoMTw8MCkK PiAtCj4gLSNkZWZpbmUgU1dGMTFfTUVNT1JZX1NJWkVfU0hJRlQJMTYKPiAtI2RlZmluZSBTV0Yx MV9TVl9URVNUX0VOCSgxPDwxNSkKPiAtI2RlZmluZSBTV0YxMV9JU19BR1AJCSgxPDwxNCkKPiAt I2RlZmluZSBTV0YxMV9ESVNQTEFZX0hPTERPRkYJKDE8PDEzKQo+IC0jZGVmaW5lIFNXRjExX0RQ TVNfUkVEVUNFRAkoMTw8MTIpCj4gLSNkZWZpbmUgU1dGMTFfSVNfVkJFX01PREUJKDE8PDExKQo+ IC0jZGVmaW5lIFNXRjExX1BJUEVCX0FDQ0VTUwkoMTw8MTApIC8qIDAgaGVyZSBtZWFucyBwaXBl IGEgKi8KPiAtI2RlZmluZSBTV0YxMV9EUE1TX01BU0sJCTB4MDcKPiAtI2RlZmluZSAgIFNXRjEx X0RQTVNfT0ZGCSgxPDwyKQo+IC0jZGVmaW5lICAgU1dGMTFfRFBNU19TVVNQRU5ECSgxPDwxKQo+ IC0jZGVmaW5lICAgU1dGMTFfRFBNU19TVEFOREJZCSgxPDwwKQo+IC0jZGVmaW5lICAgU1dGMTFf RFBNU19PTgkJMAo+IC0KPiAtI2RlZmluZSBTV0YxNF9HRlhfUEZJVF9FTgkoMTw8MzEpCj4gLSNk ZWZpbmUgU1dGMTRfVEVYVF9QRklUX0VOCSgxPDwzMCkKPiAtI2RlZmluZSBTV0YxNF9MSURfU1RB VFVTX0NMT1NFRAkoMTw8MjkpIC8qIDAgaGVyZSBtZWFucyBvcGVuICovCj4gLSNkZWZpbmUgU1dG MTRfUE9QVVBfRU4JCSgxPDwyOCkKPiAtI2RlZmluZSBTV0YxNF9ESVNQTEFZX0hPTERPRkYJKDE8 PDI3KQo+IC0jZGVmaW5lIFNXRjE0X0RJU1BfREVURUNUX0VOCSgxPDwyNikKPiAtI2RlZmluZSBT V0YxNF9ET0NLSU5HX1NUQVRVU19ET0NLRUQgKDE8PDI1KSAvKiAwIGhlcmUgbWVhbnMgdW5kb2Nr ZWQgKi8KPiAtI2RlZmluZSBTV0YxNF9EUklWRVJfU1RBVFVTCSgxPDwyNCkKPiAtI2RlZmluZSBT V0YxNF9PU19UWVBFX1dJTjlYCSgxPDwyMykKPiAtI2RlZmluZSBTV0YxNF9PU19UWVBFX1dJTk5U CSgxPDwyMikKPiAtLyogMjE6MTkgcnN2ZCAqLwo+IC0jZGVmaW5lIFNXRjE0X1BNX1RZUEVfTUFT SwkweDAwMDcwMDAwCj4gLSNkZWZpbmUgICBTV0YxNF9QTV9BQ1BJX1ZJREVPCSgweDQgPDwgMTYp Cj4gLSNkZWZpbmUgICBTV0YxNF9QTV9BQ1BJCQkoMHgzIDw8IDE2KQo+IC0jZGVmaW5lICAgU1dG MTRfUE1fQVBNXzEyCSgweDIgPDwgMTYpCj4gLSNkZWZpbmUgICBTV0YxNF9QTV9BUE1fMTEJKDB4 MSA8PCAxNikKPiAtI2RlZmluZSBTV0YxNF9IS19SRVFVRVNUX01BU0sJMHgwMDAwZmZmZiAvKiBz ZWUgR1IxOCA2OjMgZm9yIGV2ZW50IHR5cGUgKi8KPiAtICAgICAgICAgIC8qIGlmIEdSMTggaW5k aWNhdGVzIGEgZGlzcGxheSBzd2l0Y2ggKi8KPiAtI2RlZmluZSAgIFNXRjE0X0RTX1BJUEVCX0xG UDJfRU4gKDE8PDE1KQo+IC0jZGVmaW5lICAgU1dGMTRfRFNfUElQRUJfRUZQMl9FTiAoMTw8MTQp Cj4gLSNkZWZpbmUgICBTV0YxNF9EU19QSVBFQl9UVjJfRU4gICgxPDwxMykKPiAtI2RlZmluZSAg IFNXRjE0X0RTX1BJUEVCX0NSVDJfRU4gKDE8PDEyKQo+IC0jZGVmaW5lICAgU1dGMTRfRFNfUElQ RUJfTEZQX0VOICAoMTw8MTEpCj4gLSNkZWZpbmUgICBTV0YxNF9EU19QSVBFQl9FRlBfRU4gICgx PDwxMCkKPiAtI2RlZmluZSAgIFNXRjE0X0RTX1BJUEVCX1RWX0VOICAgKDE8PDkpCj4gLSNkZWZp bmUgICBTV0YxNF9EU19QSVBFQl9DUlRfRU4gICgxPDw4KQo+IC0jZGVmaW5lICAgU1dGMTRfRFNf UElQRUFfTEZQMl9FTiAoMTw8NykKPiAtI2RlZmluZSAgIFNXRjE0X0RTX1BJUEVBX0VGUDJfRU4g KDE8PDYpCj4gLSNkZWZpbmUgICBTV0YxNF9EU19QSVBFQV9UVjJfRU4gICgxPDw1KQo+IC0jZGVm aW5lICAgU1dGMTRfRFNfUElQRUFfQ1JUMl9FTiAoMTw8NCkKPiAtI2RlZmluZSAgIFNXRjE0X0RT X1BJUEVBX0xGUF9FTiAgKDE8PDMpCj4gLSNkZWZpbmUgICBTV0YxNF9EU19QSVBFQV9FRlBfRU4g ICgxPDwyKQo+IC0jZGVmaW5lICAgU1dGMTRfRFNfUElQRUFfVFZfRU4gICAoMTw8MSkKPiAtI2Rl ZmluZSAgIFNXRjE0X0RTX1BJUEVBX0NSVF9FTiAgKDE8PDApCj4gLSAgICAgICAgICAvKiBpZiBH UjE4IGluZGljYXRlcyBhIHBhbmVsIGZpdHRpbmcgcmVxdWVzdCAqLwo+IC0jZGVmaW5lICAgU1dG MTRfUEZJVF9FTgkJKDE8PDApIC8qIDAgbWVhbnMgZGlzYWJsZSAqLwo+IC0gICAgICAgICAgLyog aWYgR1IxOCBpbmRpY2F0ZXMgYW4gQVBNIGNoYW5nZSByZXF1ZXN0ICovCj4gLSNkZWZpbmUgICBT V0YxNF9BUE1fSElCRVJOQVRFCTB4NAo+IC0jZGVmaW5lICAgU1dGMTRfQVBNX1NVU1BFTkQJMHgz Cj4gLSNkZWZpbmUgICBTV0YxNF9BUE1fU1RBTkRCWQkweDEKPiAtI2RlZmluZSAgIFNXRjE0X0FQ TV9SRVNUT1JFCTB4MAo+IC0KPiAtLyogQmxvY2sgNTIgY29udGFpbnMgTUlQSSBjb25maWd1cmF0 aW9uIGJsb2NrCj4gLSAqIDYgKiBiZGJfbWlwaV9jb25maWcsIGZvbGxvd2VkIGJ5IDYgcHBzIGRh dGEgYmxvY2sKPiAtICogYmxvY2sgYmVsb3cKPiArLyogTEZQIGRhdGEgaGFzIDMgYmxvY2tzIHBl ciBlbnRyeSAqLwo+ICtzdHJ1Y3QgbHZkc19mcF90aW1pbmcgewo+ICsJdTE2IHhfcmVzOwo+ICsJ dTE2IHlfcmVzOwo+ICsJdTMyIGx2ZHNfcmVnOwo+ICsJdTMyIGx2ZHNfcmVnX3ZhbDsKPiArCXUz MiBwcF9vbl9yZWc7Cj4gKwl1MzIgcHBfb25fcmVnX3ZhbDsKPiArCXUzMiBwcF9vZmZfcmVnOwo+ ICsJdTMyIHBwX29mZl9yZWdfdmFsOwo+ICsJdTMyIHBwX2N5Y2xlX3JlZzsKPiArCXUzMiBwcF9j eWNsZV9yZWdfdmFsOwo+ICsJdTMyIHBmaXRfcmVnOwo+ICsJdTMyIHBmaXRfcmVnX3ZhbDsKPiAr CXUxNiB0ZXJtaW5hdG9yOwo+ICt9IF9fcGFja2VkOwo+ICsKPiArc3RydWN0IGx2ZHNfcG5wX2lk IHsKPiArCXUxNiBtZmdfbmFtZTsKPiArCXUxNiBwcm9kdWN0X2NvZGU7Cj4gKwl1MzIgc2VyaWFs Owo+ICsJdTggbWZnX3dlZWs7Cj4gKwl1OCBtZmdfeWVhcjsKPiArfSBfX3BhY2tlZDsKPiArCj4g K3N0cnVjdCBsdmRzX2xmcF9kYXRhX2VudHJ5IHsKPiArCXN0cnVjdCBsdmRzX2ZwX3RpbWluZyBm cF90aW1pbmc7Cj4gKwlzdHJ1Y3QgbHZkc19kdm9fdGltaW5nIGR2b190aW1pbmc7Cj4gKwlzdHJ1 Y3QgbHZkc19wbnBfaWQgcG5wX2lkOwo+ICt9IF9fcGFja2VkOwo+ICsKPiArc3RydWN0IGJkYl9s dmRzX2xmcF9kYXRhIHsKPiArCXN0cnVjdCBsdmRzX2xmcF9kYXRhX2VudHJ5IGRhdGFbMTZdOwo+ ICt9IF9fcGFja2VkOwo+ICsKPiArLyoKPiArICogQmxvY2sgNDMgLSBMRlAgQmFja2xpZ2h0IENv bnRyb2wgRGF0YSBCbG9jawo+ICAgKi8KPiArCj4gKyNkZWZpbmUgQkRCX0JBQ0tMSUdIVF9UWVBF X05PTkUJMAo+ICsjZGVmaW5lIEJEQl9CQUNLTElHSFRfVFlQRV9QV00JMgo+ICsKPiArc3RydWN0 IGxmcF9iYWNrbGlnaHRfZGF0YV9lbnRyeSB7Cj4gKwl1OCB0eXBlOjI7Cj4gKwl1OCBhY3RpdmVf bG93X3B3bToxOwo+ICsJdTggb2Jzb2xldGUxOjU7Cj4gKwl1MTYgcHdtX2ZyZXFfaHo7Cj4gKwl1 OCBtaW5fYnJpZ2h0bmVzczsKPiArCXU4IG9ic29sZXRlMjsKPiArCXU4IG9ic29sZXRlMzsKPiAr fSBfX3BhY2tlZDsKPiArCj4gK3N0cnVjdCBsZnBfYmFja2xpZ2h0X2NvbnRyb2xfbWV0aG9kIHsK PiArCXU4IHR5cGU6NDsKPiArCXU4IGNvbnRyb2xsZXI6NDsKPiArfSBfX3BhY2tlZDsKPiArCj4g K3N0cnVjdCBiZGJfbGZwX2JhY2tsaWdodF9kYXRhIHsKPiArCXU4IGVudHJ5X3NpemU7Cj4gKwlz dHJ1Y3QgbGZwX2JhY2tsaWdodF9kYXRhX2VudHJ5IGRhdGFbMTZdOwo+ICsJdTggbGV2ZWxbMTZd Owo+ICsJc3RydWN0IGxmcF9iYWNrbGlnaHRfY29udHJvbF9tZXRob2QgYmFja2xpZ2h0X2NvbnRy b2xbMTZdOwo+ICt9IF9fcGFja2VkOwo+ICsKPiArLyoKPiArICogQmxvY2sgNTIgLSBNSVBJIENv bmZpZ3VyYXRpb24gQmxvY2sKPiArICovCj4gKwo+ICAjZGVmaW5lIE1BWF9NSVBJX0NPTkZJR1VS QVRJT05TCTYKPiAgCj4gIHN0cnVjdCBiZGJfbWlwaV9jb25maWcgewo+IEBAIC04ODgsMjQgKzc5 NiwxMyBAQCBzdHJ1Y3QgYmRiX21pcGlfY29uZmlnIHsKPiAgCXN0cnVjdCBtaXBpX3Bwc19kYXRh IHBwc1tNQVhfTUlQSV9DT05GSUdVUkFUSU9OU107Cj4gIH0gX19wYWNrZWQ7Cj4gIAo+IC0vKiBC bG9jayA1MyBjb250YWlucyBNSVBJIHNlcXVlbmNlcyBhcyBuZWVkZWQgYnkgdGhlIHBhbmVsCj4g LSAqIGZvciBlbmFibGluZyBpdC4gVGhpcyBibG9jayBjYW4gYmUgdmFyaWFibGUgaW4gc2l6ZSBh bmQKPiAtICogY2FuIGJlIG1heGltdW0gb2YgNiBibG9ja3MKPiArLyoKPiArICogQmxvY2sgNTMg LSBNSVBJIFNlcXVlbmNlIEJsb2NrCj4gICAqLwo+ICsKPiAgc3RydWN0IGJkYl9taXBpX3NlcXVl bmNlIHsKPiAgCXU4IHZlcnNpb247Cj4gLQl1OCBkYXRhWzBdOwo+ICsJdTggZGF0YVswXTsgLyog dXAgdG8gNiB2YXJpYWJsZSBsZW5ndGggYmxvY2tzICovCj4gIH0gX19wYWNrZWQ7Cj4gIAo+IC1l bnVtIG1pcGlfZ3Bpb19waW5faW5kZXggewo+IC0JTUlQSV9HUElPX1VOREVGSU5FRCA9IDAsCj4g LQlNSVBJX0dQSU9fUEFORUxfRU5BQkxFLAo+IC0JTUlQSV9HUElPX0JMX0VOQUJMRSwKPiAtCU1J UElfR1BJT19QV01fRU5BQkxFLAo+IC0JTUlQSV9HUElPX1JFU0VUX04sCj4gLQlNSVBJX0dQSU9f UFdSX0RPV05fUiwKPiAtCU1JUElfR1BJT19TVERCWV9SU1RfTiwKPiAtCU1JUElfR1BJT19NQVgK PiAtfTsKPiAtCj4gICNlbmRpZiAvKiBfSU5URUxfVkJUX0RFRlNfSF8gKi8KPiAtLSAKPiAyLjIw LjEKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ IGlndC1kZXYgbWFpbGluZyBsaXN0Cj4gaWd0LWRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXYKCi0t IApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KaWd0LWRldiBtYWlsaW5nIGxpc3QKaWd0LWRldkBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p Z3QtZGV2