From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laszlo Ersek Subject: [edk2] apparent SMBASE relocation issue with noexec enabled [was: MdeModulePkg DxeIpl: Add stack NX support] Date: Thu, 6 Aug 2015 16:31:15 +0200 Message-ID: <55C36FB3.2040602@redhat.com> References: <1438345360-7076-1-git-send-email-star.zeng@intel.com> <55C22EC0.2030400@redhat.com> <43260721-AB29-4182-8961-D33A70C5377B@apple.com> <55C23994.4000804@redhat.com> <0C09AFA07DD0434D9E2A0C6AEB04831002175554@shsmsx102.ccr.corp.intel.com> <55C31D59.6060400@redhat.com> <0C09AFA07DD0434D9E2A0C6AEB04831002175A03@shsmsx102.ccr.corp.intel.com> <55C36446.1030904@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: "edk2-devel@ml01.01.org" , KVM devel mailing list , =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= To: Paolo Bonzini Return-path: In-Reply-To: <55C36446.1030904@redhat.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" List-Id: kvm.vger.kernel.org U2VwYXJhdGUgZm9sbG93dXAgbWVzc2FnZSB3aXRoIHRoZSBzeW1wdG9tcyBJIG1hbmFnZWQgdG8g Z2F0aGVyIGFib3V0CnRoZSBmYWlsdXJlIG9uIEtWTS4KCk9uIDA4LzA2LzE1IDE1OjQyLCBMYXN6 bG8gRXJzZWsgd3JvdGU6Cj4gSGkgU3RhciwKPgo+IE9uIDA4LzA2LzE1IDExOjQ0LCBaZW5nLCBT dGFyIHdyb3RlOgo+PiBIaSBMYXN6bG8sCj4+Cj4+IENvdWxkIHlvdSBoZWxwIHRha2UgYSB0cnkg d2l0aCB0aGUgYXR0YWNoZWQgcGF0Y2ggb24geW91ciBWTSBiZWZvcmUgSQo+PiBzZW5kIGl0IGZv ciBmb3JtYWwgcmV2aWV3Pwo+Cj4gSSBnb3QgeW91ciBwYXRjaCB2aWEgeW91ciBmaXJzdCAocHVi bGljKSBtZXNzYWdlIGFzIHdlbGwgLS0gbm90IHRoZQo+IG9uZSByZWZsZWN0ZWQgYnkgdGhlIGxp c3Qgc29mdHdhcmUsIGJ1dCBvbiB0aGUgZGlyZWN0IHJvdXRlLiBTbywgSSBjYW4KPiB0ZXN0IGl0 IGFuZCBldmVuIGNvbW1lbnQgb24gaXQgYSBsaXR0bGUgYml0IGJlbG93IChpbiBUaHVuZGVyYmly ZAo+IHBsYWludGV4dCBhdHRhY2htZW50cyBhcmUgZGlzcGxheWVkIGlubGluZSwgYW5kIGlmIHlv dSBzZWxlY3QgdGhlIGZ1bGwKPiBjb250ZW50cyBvZiB0aGUgImJvZHkiIHdpbmRvdyBiZWZvcmUg aGl0dGluZyBSZXBseSBBbGwsIHRoZW4gdGhlCj4gZW50aXJlIHNlbGVjdGlvbiB3aWxsIGJlIHF1 b3RlZCwgaW5jbHVkaW5nIHRoZSBpbmxpbmUgZGlzcGxheWVkIHRleHQKPiBhdHRhY2htZW50cyku Cj4KPiAqKiBTbywgdGVzdCByZXN1bHRzOgo+Cj4gLSBXaXRoIFg2NCBEWEUsIHlvdXIgcGF0Y2gg c29sdmVzIHRoZSBpc3N1ZSBmb3IgbWUuCj4KPiAtIFdpdGggSWEzMiBEWEUsIHlvdXIgcGF0Y2gg YWxzbyBzb3ZlcyB0aGUgaXNzdWUuCj4KPiAtIFdpdGggdGhpcyBwYXRjaCBhcHBsaWVkLCBpZiBJ IHVzZSBJYTMyIERYRSAqcGx1cyogbXkgU01NIHNlcmllcywKPiAgIHRoZW46Cj4KPiAgIC0gVXNp bmcgVENHIGluIFFFTVUgKD0gc29mdHdhcmUgZW11bGF0aW9uKSwgdGhlIHBhdGNoIHNvbHZlcyB0 aGUKPiAgICAgaXNzdWUuCj4KPiAgIC0gVXNpbmcgS1ZNIHdpdGggUUVNVSAoPSBoYXJkd2FyZSB2 aXJ0dWFsaXphdGlvbiksIEkgY29udGludWUgc2VlaW5nCj4gICAgIHJlYm9vdHMsIGJ1dCB0aGV5 IGhpdCBpbiBhIGRpZmZlcmVudCBwbGFjZS4gU29tZXdoZXJlIGluc2lkZSBvcgo+ICAgICBhZnRl ciB0aGUgU01CQVNFIHJlbG9jYXRpb24uIEkgYmVsaWV2ZSB0aGlzIGlzIGEgS1ZNIGJ1Zy4gSSB3 aWxsCj4gICAgIHNlbmQgYSBzZXBhcmF0ZSBlbWFpbCBhYm91dCB0aGlzLgoKKiogQm90dG9tLXVw IGludmVzdGlnYXRpb246CgpJIGNhcHR1cmVkIGEgS1ZNIHRyYWNlLiBUaGUgaW50ZXJlc3Rpbmcg cGFydCBpcyBub3QgdmVyeSBsb25nIChmZXdlcgp0aGFuIDMwMCBsaW5lcyksIEkganVzdCBzZWFy Y2hlZCBmb3IgYSB0cmlwbGUgZmF1bHQsIGFuZCB0aGVuIHNlYXJjaGVkCmJhY2t3YXJkcyBmb3Ig YW4gU01JOgoKPiBrdm1fYXBpY19pcGk6ICAgICAgICAgZHN0IDAgdmVjIDAgKFNNSXxwaHlzaWNh bHxhc3NlcnR8ZWRnZXxkc3QpCj4ga3ZtX2FwaWNfYWNjZXB0X2lycTogIGFwaWNpZCAwIHZlYyAw IChTTUl8ZWRnZSkKPiBrdm1fZW50ZXJfc21tOiAgICAgICAgdmNwdSAwOiBlbnRlcmluZyBTTU0s IHNtYmFzZSAweDMwMDAwCj4ga3ZtX2VudHJ5OiAgICAgICAgICAgIHZjcHUgMAo+IGt2bV9leGl0 OiAgICAgICAgICAgICByZWFzb24gRVBUX1ZJT0xBVElPTiByaXAgMHg4MDAwIGluZm8gMTg0IDAK PiBrdm1fcGFnZV9mYXVsdDogICAgICAgYWRkcmVzcyAzODAwMCBlcnJvcl9jb2RlIDE4NAo+IGt2 bV9lbnRyeTogICAgICAgICAgICB2Y3B1IDAKPiBrdm1fZXhpdDogICAgICAgICAgICAgcmVhc29u IEVQVF9WSU9MQVRJT04gcmlwIDB4N2ZmYTc4Y2EgaW5mbyAxODQgMAo+IGt2bV9wYWdlX2ZhdWx0 OiAgICAgICBhZGRyZXNzIDdmZmQ3OGNhIGVycm9yX2NvZGUgMTg0Cj4ga3ZtX2VudHJ5OiAgICAg ICAgICAgIHZjcHUgMAo+IGt2bV9leGl0OiAgICAgICAgICAgICByZWFzb24gQ1JfQUNDRVNTIHJp cCAweDdmZmE3OGQwIGluZm8gMyAwCj4ga3ZtX2NyOiAgICAgICAgICAgICAgIGNyX3dyaXRlIDMg PSAweDdmZTY0MDAwCj4ga3ZtX2VudHJ5OiAgICAgICAgICAgIHZjcHUgMAo+IGt2bV9leGl0OiAg ICAgICAgICAgICByZWFzb24gQ1JfQUNDRVNTIHJpcCAweDdmZmE3OGUwIGluZm8gNCAwCj4ga3Zt X2NyOiAgICAgICAgICAgICAgIGNyX3dyaXRlIDQgPSAweDY2MAo+IGt2bV9lbnRyeTogICAgICAg ICAgICB2Y3B1IDAKPiBrdm1fZXhpdDogICAgICAgICAgICAgcmVhc29uIENSX0FDQ0VTUyByaXAg MHg3ZmZhNzhlYyBpbmZvIDAgMAo+IGt2bV9jcjogICAgICAgICAgICAgICBjcl93cml0ZSAwID0g MHg4MDAwMDAzMwo+IGt2bV9lbnRyeTogICAgICAgICAgICB2Y3B1IDAKPiBrdm1fZXhpdDogICAg ICAgICAgICAgcmVhc29uIEVQVF9WSU9MQVRJT04gcmlwIDB4N2ZmYTc4ZWYgaW5mbyA4MSAwCj4g a3ZtX3BhZ2VfZmF1bHQ6ICAgICAgIGFkZHJlc3MgN2ZlNjZmZjggZXJyb3JfY29kZSA4MQo+IGt2 bV9lbnRyeTogICAgICAgICAgICB2Y3B1IDAKPiBrdm1fZXhpdDogICAgICAgICAgICAgcmVhc29u IEVQVF9WSU9MQVRJT04gcmlwIDB4N2ZmYTc4ZWYgaW5mbyA4MSAwCj4ga3ZtX3BhZ2VfZmF1bHQ6 ICAgICAgIGFkZHJlc3MgN2ZlNjNlYjggZXJyb3JfY29kZSA4MQo+IGt2bV9lbnRyeTogICAgICAg ICAgICB2Y3B1IDAKPiBrdm1fZXhpdDogICAgICAgICAgICAgcmVhc29uIEVQVF9WSU9MQVRJT04g cmlwIDB4N2ZmYTc4ZWYgaW5mbyAxODEgMAo+IGt2bV9wYWdlX2ZhdWx0OiAgICAgICBhZGRyZXNz IDdmZmRmNzEwIGVycm9yX2NvZGUgMTgxCj4ga3ZtX2VudHJ5OiAgICAgICAgICAgIHZjcHUgMAo+ IGt2bV9leGl0OiAgICAgICAgICAgICByZWFzb24gRVBUX1ZJT0xBVElPTiByaXAgMHg3ZmZkNzkw NiBpbmZvIDE4MiAwCj4ga3ZtX3BhZ2VfZmF1bHQ6ICAgICAgIGFkZHJlc3MgN2ZmYzFmZjggZXJy b3JfY29kZSAxODIKPiBrdm1fZW50cnk6ICAgICAgICAgICAgdmNwdSAwCj4ga3ZtX2V4aXQ6ICAg ICAgICAgICAgIHJlYXNvbiBFUFRfVklPTEFUSU9OIHJpcCAweDdmZmQyZjIwIGluZm8gMTg0IDAK PiBrdm1fcGFnZV9mYXVsdDogICAgICAgYWRkcmVzcyA3ZmZkMmYyMCBlcnJvcl9jb2RlIDE4NAo+ IGt2bV9lbnRyeTogICAgICAgICAgICB2Y3B1IDAKPiBrdm1fZXhpdDogICAgICAgICAgICAgcmVh c29uIEVQVF9WSU9MQVRJT04gcmlwIDB4N2ZmZDhlYzQgaW5mbyAxODQgMAo+IGt2bV9wYWdlX2Zh dWx0OiAgICAgICBhZGRyZXNzIDdmZmQ4ZWM0IGVycm9yX2NvZGUgMTg0Cj4ga3ZtX2VudHJ5OiAg ICAgICAgICAgIHZjcHUgMAo+IGt2bV9leGl0OiAgICAgICAgICAgICByZWFzb24gRVBUX1ZJT0xB VElPTiByaXAgMHg3ZmZkOGVjNCBpbmZvIDE4MSAwCj4ga3ZtX3BhZ2VfZmF1bHQ6ICAgICAgIGFk ZHJlc3MgN2ZmZGI4YzggZXJyb3JfY29kZSAxODEKPiBrdm1fZW50cnk6ICAgICAgICAgICAgdmNw dSAwCj4ga3ZtX2V4aXQ6ICAgICAgICAgICAgIHJlYXNvbiBFUFRfVklPTEFUSU9OIHJpcCAweDdm ZmRhMmE4IGluZm8gMTg0IDAKPiBrdm1fcGFnZV9mYXVsdDogICAgICAgYWRkcmVzcyA3ZmZkYTJh OCBlcnJvcl9jb2RlIDE4NAo+IGt2bV9lbnRyeTogICAgICAgICAgICB2Y3B1IDAKPiBrdm1fZXhp dDogICAgICAgICAgICAgcmVhc29uIEVQVF9WSU9MQVRJT04gcmlwIDB4N2ZmZDlmZTQgaW5mbyAx ODQgMAo+IGt2bV9wYWdlX2ZhdWx0OiAgICAgICBhZGRyZXNzIDdmZmQ5ZmU0IGVycm9yX2NvZGUg MTg0Cj4ga3ZtX2VudHJ5OiAgICAgICAgICAgIHZjcHUgMAo+IGt2bV9leGl0OiAgICAgICAgICAg ICByZWFzb24gQ1BVSUQgcmlwIDB4N2ZmZDg5MjMgaW5mbyAwIDAKPiBrdm1fY3B1aWQ6ICAgICAg ICAgICAgZnVuYyAxIHJheCA2ZTggcmJ4IDgwMCByY3ggODAyMDAwMDEgcmR4IGY4OWZiZmYKPiBr dm1fZW50cnk6ICAgICAgICAgICAgdmNwdSAwCj4ga3ZtX2V4aXQ6ICAgICAgICAgICAgIHJlYXNv biBNU1JfUkVBRCByaXAgMHg3ZmZkODg2ZiBpbmZvIDAgMAo+IGt2bV9tc3I6ICAgICAgICAgICAg ICBtc3JfcmVhZCAxYiA9IDB4ZmVlMDA5MDAKPiBrdm1fZW50cnk6ICAgICAgICAgICAgdmNwdSAw Cj4ga3ZtX2V4aXQ6ICAgICAgICAgICAgIHJlYXNvbiBDUFVJRCByaXAgMHg3ZmZkODkyMyBpbmZv IDAgMAo+IGt2bV9jcHVpZDogICAgICAgICAgICBmdW5jIDEgcmF4IDZlOCByYnggODAwIHJjeCA4 MDIwMDAwMSByZHggZjg5ZmJmZgo+IGt2bV9lbnRyeTogICAgICAgICAgICB2Y3B1IDAKPiBrdm1f ZXhpdDogICAgICAgICAgICAgcmVhc29uIE1TUl9SRUFEIHJpcCAweDdmZmQ4ODZmIGluZm8gMCAw Cj4ga3ZtX21zcjogICAgICAgICAgICAgIG1zcl9yZWFkIDFiID0gMHhmZWUwMDkwMAo+IGt2bV9l bnRyeTogICAgICAgICAgICB2Y3B1IDAKPiBrdm1fZXhpdDogICAgICAgICAgICAgcmVhc29uIENQ VUlEIHJpcCAweDdmZmQ4OTIzIGluZm8gMCAwCj4ga3ZtX2NwdWlkOiAgICAgICAgICAgIGZ1bmMg MCByYXggYSByYnggNzU2ZTY1NDcgcmN4IDZjNjU3NDZlIHJkeCA0OTY1NmU2OQo+IGt2bV9lbnRy eTogICAgICAgICAgICB2Y3B1IDAKPiBrdm1fZXhpdDogICAgICAgICAgICAgcmVhc29uIENQVUlE IHJpcCAweDdmZmQ4OTIzIGluZm8gMCAwCj4ga3ZtX2NwdWlkOiAgICAgICAgICAgIGZ1bmMgMSBy YXggNmU4IHJieCA4MDAgcmN4IDgwMjAwMDAxIHJkeCBmODlmYmZmCj4ga3ZtX2VudHJ5OiAgICAg ICAgICAgIHZjcHUgMAo+IGt2bV9leGl0OiAgICAgICAgICAgICByZWFzb24gQ1BVSUQgcmlwIDB4 N2ZmZDg5MjMgaW5mbyAwIDAKPiBrdm1fY3B1aWQ6ICAgICAgICAgICAgZnVuYyAxIHJheCA2ZTgg cmJ4IDgwMCByY3ggODAyMDAwMDEgcmR4IGY4OWZiZmYKPiBrdm1fZW50cnk6ICAgICAgICAgICAg dmNwdSAwCj4ga3ZtX2V4aXQ6ICAgICAgICAgICAgIHJlYXNvbiBNU1JfUkVBRCByaXAgMHg3ZmZk ODg2ZiBpbmZvIDAgMAo+IGt2bV9tc3I6ICAgICAgICAgICAgICBtc3JfcmVhZCAxYiA9IDB4ZmVl MDA5MDAKPiBrdm1fZW50cnk6ICAgICAgICAgICAgdmNwdSAwCj4ga3ZtX2V4aXQ6ICAgICAgICAg ICAgIHJlYXNvbiBDUFVJRCByaXAgMHg3ZmZkODkyMyBpbmZvIDAgMAo+IGt2bV9jcHVpZDogICAg ICAgICAgICBmdW5jIDEgcmF4IDZlOCByYnggODAwIHJjeCA4MDIwMDAwMSByZHggZjg5ZmJmZgo+ IGt2bV9lbnRyeTogICAgICAgICAgICB2Y3B1IDAKPiBrdm1fZXhpdDogICAgICAgICAgICAgcmVh c29uIE1TUl9SRUFEIHJpcCAweDdmZmQ4ODZmIGluZm8gMCAwCj4ga3ZtX21zcjogICAgICAgICAg ICAgIG1zcl9yZWFkIDFiID0gMHhmZWUwMDkwMAo+IGt2bV9lbnRyeTogICAgICAgICAgICB2Y3B1 IDAKPiBrdm1fZXhpdDogICAgICAgICAgICAgcmVhc29uIEVQVF9WSU9MQVRJT04gcmlwIDB4N2Zm ZGI2NjkgaW5mbyA4MSAwCj4ga3ZtX3BhZ2VfZmF1bHQ6ICAgICAgIGFkZHJlc3MgN2ZlNjhmYjgg ZXJyb3JfY29kZSA4MQo+IGt2bV9lbnRyeTogICAgICAgICAgICB2Y3B1IDAKPiBrdm1fZXhpdDog ICAgICAgICAgICAgcmVhc29uIEVQVF9WSU9MQVRJT04gcmlwIDB4N2ZmZGI2NjkgaW5mbyAxODEg MAo+IGt2bV9wYWdlX2ZhdWx0OiAgICAgICBhZGRyZXNzIGZlZTAwMDIwIGVycm9yX2NvZGUgMTgx Cj4ga3ZtX2VudHJ5OiAgICAgICAgICAgIHZjcHUgMAo+IGt2bV9leGl0OiAgICAgICAgICAgICBy ZWFzb24gRVBUX1ZJT0xBVElPTiByaXAgMHg3ZmZkMmY2YyBpbmZvIDE4MSAwCj4ga3ZtX3BhZ2Vf ZmF1bHQ6ICAgICAgIGFkZHJlc3MgN2ZmZGVhNjAgZXJyb3JfY29kZSAxODEKPiBrdm1fZW50cnk6 ICAgICAgICAgICAgdmNwdSAwCj4ga3ZtX2V4aXQ6ICAgICAgICAgICAgIHJlYXNvbiBFUFRfVklP TEFUSU9OIHJpcCAweDdmZmQ0M2I0IGluZm8gMTg0IDAKPiBrdm1fcGFnZV9mYXVsdDogICAgICAg YWRkcmVzcyA3ZmZkNDNiNCBlcnJvcl9jb2RlIDE4NAo+IGt2bV9lbnRyeTogICAgICAgICAgICB2 Y3B1IDAKPiBrdm1fZXhpdDogICAgICAgICAgICAgcmVhc29uIEVQVF9WSU9MQVRJT04gcmlwIDB4 N2ZmZDQ0MjEgaW5mbyA4MSAwCj4ga3ZtX3BhZ2VfZmF1bHQ6ICAgICAgIGFkZHJlc3MgN2ZlNjUw MDAgZXJyb3JfY29kZSA4MQo+IGt2bV9lbnRyeTogICAgICAgICAgICB2Y3B1IDAKPiBrdm1fZXhp dDogICAgICAgICAgICAgcmVhc29uIEVQVF9WSU9MQVRJT04gcmlwIDB4N2ZmZDQ0MjEgaW5mbyAx ODIgMAo+IGt2bV9wYWdlX2ZhdWx0OiAgICAgICBhZGRyZXNzIDNmZWY4IGVycm9yX2NvZGUgMTgy Cj4ga3ZtX2VudHJ5OiAgICAgICAgICAgIHZjcHUgMAo+IGt2bV9leGl0OiAgICAgICAgICAgICBy ZWFzb24gTVNSX1JFQUQgcmlwIDB4N2ZmZDg4NmYgaW5mbyAwIDAKPiBrdm1fbXNyOiAgICAgICAg ICAgICAgbXNyX3JlYWQgZmUgPSAweDUwOAo+IGt2bV9lbnRyeTogICAgICAgICAgICB2Y3B1IDAK PiBrdm1fZXhpdDogICAgICAgICAgICAgcmVhc29uIEVQVF9WSU9MQVRJT04gcmlwIDB4N2ZmZGIy YjggaW5mbyAxODEgMAo+IGt2bV9wYWdlX2ZhdWx0OiAgICAgICBhZGRyZXNzIDdmZmRjMDAwIGVy cm9yX2NvZGUgMTgxCj4ga3ZtX2VudHJ5OiAgICAgICAgICAgIHZjcHUgMAo+IGt2bV9leGl0OiAg ICAgICAgICAgICByZWFzb24gSU9fSU5TVFJVQ1RJT04gcmlwIDB4N2ZmZDhkZTMgaW5mbyA0MDIw MDAwIDAKPiBrdm1fcGlvOiAgICAgICAgICAgICAgcGlvX3dyaXRlIGF0IDB4NDAyIHNpemUgMSBj b3VudCAxIHZhbCAweDQ5Cj4ga3ZtX3VzZXJzcGFjZV9leGl0OiAgIHJlYXNvbiBLVk1fRVhJVF9J TyAoMikKPiBrdm1fZW50cnk6ICAgICAgICAgICAgdmNwdSAwCj4ga3ZtX2V4aXQ6ICAgICAgICAg ICAgIHJlYXNvbiBJT19JTlNUUlVDVElPTiByaXAgMHg3ZmZkOGRlMyBpbmZvIDQwMjAwMDAgMAo+ IGt2bV9waW86ICAgICAgICAgICAgICBwaW9fd3JpdGUgYXQgMHg0MDIgc2l6ZSAxIGNvdW50IDEg dmFsIDB4NzMKPiBrdm1fdXNlcnNwYWNlX2V4aXQ6ICAgcmVhc29uIEtWTV9FWElUX0lPICgyKQo+ IGt2bV9lbnRyeTogICAgICAgICAgICB2Y3B1IDAKPiBrdm1fZXhpdDogICAgICAgICAgICAgcmVh c29uIElPX0lOU1RSVUNUSU9OIHJpcCAweDdmZmQ4ZGUzIGluZm8gNDAyMDAwMCAwCj4ga3ZtX3Bp bzogICAgICAgICAgICAgIHBpb193cml0ZSBhdCAweDQwMiBzaXplIDEgY291bnQgMSB2YWwgMHg1 Mwo+IGt2bV91c2Vyc3BhY2VfZXhpdDogICByZWFzb24gS1ZNX0VYSVRfSU8gKDIpCj4ga3ZtX2Vu dHJ5OiAgICAgICAgICAgIHZjcHUgMAo+IGt2bV9leGl0OiAgICAgICAgICAgICByZWFzb24gSU9f SU5TVFJVQ1RJT04gcmlwIDB4N2ZmZDhkZTMgaW5mbyA0MDIwMDAwIDAKPiBrdm1fcGlvOiAgICAg ICAgICAgICAgcGlvX3dyaXRlIGF0IDB4NDAyIHNpemUgMSBjb3VudCAxIHZhbCAweDZkCj4ga3Zt X3VzZXJzcGFjZV9leGl0OiAgIHJlYXNvbiBLVk1fRVhJVF9JTyAoMikKPiBrdm1fZW50cnk6ICAg ICAgICAgICAgdmNwdSAwCj4ga3ZtX2V4aXQ6ICAgICAgICAgICAgIHJlYXNvbiBJT19JTlNUUlVD VElPTiByaXAgMHg3ZmZkOGRlMyBpbmZvIDQwMjAwMDAgMAo+IGt2bV9waW86ICAgICAgICAgICAg ICBwaW9fd3JpdGUgYXQgMHg0MDIgc2l6ZSAxIGNvdW50IDEgdmFsIDB4NzIKPiBrdm1fdXNlcnNw YWNlX2V4aXQ6ICAgcmVhc29uIEtWTV9FWElUX0lPICgyKQo+IGt2bV9lbnRyeTogICAgICAgICAg ICB2Y3B1IDAKPiBrdm1fZXhpdDogICAgICAgICAgICAgcmVhc29uIElPX0lOU1RSVUNUSU9OIHJp cCAweDdmZmQ4ZGUzIGluZm8gNDAyMDAwMCAwCj4ga3ZtX3BpbzogICAgICAgICAgICAgIHBpb193 cml0ZSBhdCAweDQwMiBzaXplIDEgY291bnQgMSB2YWwgMHg3Mgo+IGt2bV91c2Vyc3BhY2VfZXhp dDogICByZWFzb24gS1ZNX0VYSVRfSU8gKDIpCj4ga3ZtX2VudHJ5OiAgICAgICAgICAgIHZjcHUg MAo+IGt2bV9leGl0OiAgICAgICAgICAgICByZWFzb24gSU9fSU5TVFJVQ1RJT04gcmlwIDB4N2Zm ZDhkZTMgaW5mbyA0MDIwMDAwIDAKPiBrdm1fcGlvOiAgICAgICAgICAgICAgcGlvX3dyaXRlIGF0 IDB4NDAyIHNpemUgMSBjb3VudCAxIHZhbCAweDUzCj4ga3ZtX3VzZXJzcGFjZV9leGl0OiAgIHJl YXNvbiBLVk1fRVhJVF9JTyAoMikKPiBrdm1fZW50cnk6ICAgICAgICAgICAgdmNwdSAwCj4ga3Zt X2V4aXQ6ICAgICAgICAgICAgIHJlYXNvbiBJT19JTlNUUlVDVElPTiByaXAgMHg3ZmZkOGRlMyBp bmZvIDQwMjAwMDAgMAo+IGt2bV9waW86ICAgICAgICAgICAgICBwaW9fd3JpdGUgYXQgMHg0MDIg c2l6ZSAxIGNvdW50IDEgdmFsIDB4NzUKPiBrdm1fdXNlcnNwYWNlX2V4aXQ6ICAgcmVhc29uIEtW TV9FWElUX0lPICgyKQo+IGt2bV9lbnRyeTogICAgICAgICAgICB2Y3B1IDAKPiBrdm1fZXhpdDog ICAgICAgICAgICAgcmVhc29uIElPX0lOU1RSVUNUSU9OIHJpcCAweDdmZmQ4ZGUzIGluZm8gNDAy MDAwMCAwCj4ga3ZtX3BpbzogICAgICAgICAgICAgIHBpb193cml0ZSBhdCAweDQwMiBzaXplIDEg Y291bnQgMSB2YWwgMHg3MAo+IGt2bV91c2Vyc3BhY2VfZXhpdDogICByZWFzb24gS1ZNX0VYSVRf SU8gKDIpCj4ga3ZtX2VudHJ5OiAgICAgICAgICAgIHZjcHUgMAo+IGt2bV9leGl0OiAgICAgICAg ICAgICByZWFzb24gSU9fSU5TVFJVQ1RJT04gcmlwIDB4N2ZmZDhkZTMgaW5mbyA0MDIwMDAwIDAK PiBrdm1fcGlvOiAgICAgICAgICAgICAgcGlvX3dyaXRlIGF0IDB4NDAyIHNpemUgMSBjb3VudCAx IHZhbCAweDcwCj4ga3ZtX3VzZXJzcGFjZV9leGl0OiAgIHJlYXNvbiBLVk1fRVhJVF9JTyAoMikK PiBrdm1fZW50cnk6ICAgICAgICAgICAgdmNwdSAwCj4ga3ZtX2V4aXQ6ICAgICAgICAgICAgIHJl YXNvbiBJT19JTlNUUlVDVElPTiByaXAgMHg3ZmZkOGRlMyBpbmZvIDQwMjAwMDAgMAo+IGt2bV9w aW86ICAgICAgICAgICAgICBwaW9fd3JpdGUgYXQgMHg0MDIgc2l6ZSAxIGNvdW50IDEgdmFsIDB4 NmYKPiBrdm1fdXNlcnNwYWNlX2V4aXQ6ICAgcmVhc29uIEtWTV9FWElUX0lPICgyKQo+IGt2bV9l bnRyeTogICAgICAgICAgICB2Y3B1IDAKPiBrdm1fZXhpdDogICAgICAgICAgICAgcmVhc29uIElP X0lOU1RSVUNUSU9OIHJpcCAweDdmZmQ4ZGUzIGluZm8gNDAyMDAwMCAwCj4ga3ZtX3BpbzogICAg ICAgICAgICAgIHBpb193cml0ZSBhdCAweDQwMiBzaXplIDEgY291bnQgMSB2YWwgMHg3Mgo+IGt2 bV91c2Vyc3BhY2VfZXhpdDogICByZWFzb24gS1ZNX0VYSVRfSU8gKDIpCj4ga3ZtX2VudHJ5OiAg ICAgICAgICAgIHZjcHUgMAo+IGt2bV9leGl0OiAgICAgICAgICAgICByZWFzb24gSU9fSU5TVFJV Q1RJT04gcmlwIDB4N2ZmZDhkZTMgaW5mbyA0MDIwMDAwIDAKPiBrdm1fcGlvOiAgICAgICAgICAg ICAgcGlvX3dyaXRlIGF0IDB4NDAyIHNpemUgMSBjb3VudCAxIHZhbCAweDc0Cj4ga3ZtX3VzZXJz cGFjZV9leGl0OiAgIHJlYXNvbiBLVk1fRVhJVF9JTyAoMikKPiBrdm1fZW50cnk6ICAgICAgICAg ICAgdmNwdSAwCj4ga3ZtX2V4aXQ6ICAgICAgICAgICAgIHJlYXNvbiBJT19JTlNUUlVDVElPTiBy aXAgMHg3ZmZkOGRlMyBpbmZvIDQwMjAwMDAgMAo+IGt2bV9waW86ICAgICAgICAgICAgICBwaW9f d3JpdGUgYXQgMHg0MDIgc2l6ZSAxIGNvdW50IDEgdmFsIDB4NjUKPiBrdm1fdXNlcnNwYWNlX2V4 aXQ6ICAgcmVhc29uIEtWTV9FWElUX0lPICgyKQo+IGt2bV9lbnRyeTogICAgICAgICAgICB2Y3B1 IDAKPiBrdm1fZXhpdDogICAgICAgICAgICAgcmVhc29uIElPX0lOU1RSVUNUSU9OIHJpcCAweDdm ZmQ4ZGUzIGluZm8gNDAyMDAwMCAwCj4ga3ZtX3BpbzogICAgICAgICAgICAgIHBpb193cml0ZSBh dCAweDQwMiBzaXplIDEgY291bnQgMSB2YWwgMHg2NAo+IGt2bV91c2Vyc3BhY2VfZXhpdDogICBy ZWFzb24gS1ZNX0VYSVRfSU8gKDIpCj4ga3ZtX2VudHJ5OiAgICAgICAgICAgIHZjcHUgMAo+IGt2 bV9leGl0OiAgICAgICAgICAgICByZWFzb24gSU9fSU5TVFJVQ1RJT04gcmlwIDB4N2ZmZDhkZTMg aW5mbyA0MDIwMDAwIDAKPiBrdm1fcGlvOiAgICAgICAgICAgICAgcGlvX3dyaXRlIGF0IDB4NDAy IHNpemUgMSBjb3VudCAxIHZhbCAweDNhCj4ga3ZtX3VzZXJzcGFjZV9leGl0OiAgIHJlYXNvbiBL Vk1fRVhJVF9JTyAoMikKPiBrdm1fZW50cnk6ICAgICAgICAgICAgdmNwdSAwCj4ga3ZtX2V4aXQ6 ICAgICAgICAgICAgIHJlYXNvbiBJT19JTlNUUlVDVElPTiByaXAgMHg3ZmZkOGRlMyBpbmZvIDQw MjAwMDAgMAo+IGt2bV9waW86ICAgICAgICAgICAgICBwaW9fd3JpdGUgYXQgMHg0MDIgc2l6ZSAx IGNvdW50IDEgdmFsIDB4MjAKPiBrdm1fdXNlcnNwYWNlX2V4aXQ6ICAgcmVhc29uIEtWTV9FWElU X0lPICgyKQo+IGt2bV9lbnRyeTogICAgICAgICAgICB2Y3B1IDAKPiBrdm1fZXhpdDogICAgICAg ICAgICAgcmVhc29uIElPX0lOU1RSVUNUSU9OIHJpcCAweDdmZmQ4ZGUzIGluZm8gNDAyMDAwMCAw Cj4ga3ZtX3BpbzogICAgICAgICAgICAgIHBpb193cml0ZSBhdCAweDQwMiBzaXplIDEgY291bnQg MSB2YWwgMHg1Mwo+IGt2bV91c2Vyc3BhY2VfZXhpdDogICByZWFzb24gS1ZNX0VYSVRfSU8gKDIp Cj4ga3ZtX2VudHJ5OiAgICAgICAgICAgIHZjcHUgMAo+IGt2bV9leGl0OiAgICAgICAgICAgICBy ZWFzb24gSU9fSU5TVFJVQ1RJT04gcmlwIDB4N2ZmZDhkZTMgaW5mbyA0MDIwMDAwIDAKPiBrdm1f cGlvOiAgICAgICAgICAgICAgcGlvX3dyaXRlIGF0IDB4NDAyIHNpemUgMSBjb3VudCAxIHZhbCAw eDRkCj4ga3ZtX3VzZXJzcGFjZV9leGl0OiAgIHJlYXNvbiBLVk1fRVhJVF9JTyAoMikKPiBrdm1f ZW50cnk6ICAgICAgICAgICAgdmNwdSAwCj4ga3ZtX2V4aXQ6ICAgICAgICAgICAgIHJlYXNvbiBJ T19JTlNUUlVDVElPTiByaXAgMHg3ZmZkOGRlMyBpbmZvIDQwMjAwMDAgMAo+IGt2bV9waW86ICAg ICAgICAgICAgICBwaW9fd3JpdGUgYXQgMHg0MDIgc2l6ZSAxIGNvdW50IDEgdmFsIDB4NTIKPiBr dm1fdXNlcnNwYWNlX2V4aXQ6ICAgcmVhc29uIEtWTV9FWElUX0lPICgyKQo+IGt2bV9lbnRyeTog ICAgICAgICAgICB2Y3B1IDAKPiBrdm1fZXhpdDogICAgICAgICAgICAgcmVhc29uIElPX0lOU1RS VUNUSU9OIHJpcCAweDdmZmQ4ZGUzIGluZm8gNDAyMDAwMCAwCj4ga3ZtX3BpbzogICAgICAgICAg ICAgIHBpb193cml0ZSBhdCAweDQwMiBzaXplIDEgY291bnQgMSB2YWwgMHg1Mgo+IGt2bV91c2Vy c3BhY2VfZXhpdDogICByZWFzb24gS1ZNX0VYSVRfSU8gKDIpCj4ga3ZtX2VudHJ5OiAgICAgICAg ICAgIHZjcHUgMAo+IGt2bV9leGl0OiAgICAgICAgICAgICByZWFzb24gSU9fSU5TVFJVQ1RJT04g cmlwIDB4N2ZmZDhkZTMgaW5mbyA0MDIwMDAwIDAKPiBrdm1fcGlvOiAgICAgICAgICAgICAgcGlv X3dyaXRlIGF0IDB4NDAyIHNpemUgMSBjb3VudCAxIHZhbCAweDIwCj4ga3ZtX3VzZXJzcGFjZV9l eGl0OiAgIHJlYXNvbiBLVk1fRVhJVF9JTyAoMikKPiBrdm1fZW50cnk6ICAgICAgICAgICAgdmNw dSAwCj4ga3ZtX2V4aXQ6ICAgICAgICAgICAgIHJlYXNvbiBJT19JTlNUUlVDVElPTiByaXAgMHg3 ZmZkOGRlMyBpbmZvIDQwMjAwMDAgMAo+IGt2bV9waW86ICAgICAgICAgICAgICBwaW9fd3JpdGUg YXQgMHg0MDIgc2l6ZSAxIGNvdW50IDEgdmFsIDB4NzMKPiBrdm1fdXNlcnNwYWNlX2V4aXQ6ICAg cmVhc29uIEtWTV9FWElUX0lPICgyKQo+IGt2bV9lbnRyeTogICAgICAgICAgICB2Y3B1IDAKPiBr dm1fZXhpdDogICAgICAgICAgICAgcmVhc29uIElPX0lOU1RSVUNUSU9OIHJpcCAweDdmZmQ4ZGUz IGluZm8gNDAyMDAwMCAwCj4ga3ZtX3BpbzogICAgICAgICAgICAgIHBpb193cml0ZSBhdCAweDQw MiBzaXplIDEgY291bnQgMSB2YWwgMHg3NQo+IGt2bV91c2Vyc3BhY2VfZXhpdDogICByZWFzb24g S1ZNX0VYSVRfSU8gKDIpCj4ga3ZtX2VudHJ5OiAgICAgICAgICAgIHZjcHUgMAo+IGt2bV9leGl0 OiAgICAgICAgICAgICByZWFzb24gSU9fSU5TVFJVQ1RJT04gcmlwIDB4N2ZmZDhkZTMgaW5mbyA0 MDIwMDAwIDAKPiBrdm1fcGlvOiAgICAgICAgICAgICAgcGlvX3dyaXRlIGF0IDB4NDAyIHNpemUg MSBjb3VudCAxIHZhbCAweDcwCj4ga3ZtX3VzZXJzcGFjZV9leGl0OiAgIHJlYXNvbiBLVk1fRVhJ VF9JTyAoMikKPiBrdm1fZW50cnk6ICAgICAgICAgICAgdmNwdSAwCj4ga3ZtX2V4aXQ6ICAgICAg ICAgICAgIHJlYXNvbiBJT19JTlNUUlVDVElPTiByaXAgMHg3ZmZkOGRlMyBpbmZvIDQwMjAwMDAg MAo+IGt2bV9waW86ICAgICAgICAgICAgICBwaW9fd3JpdGUgYXQgMHg0MDIgc2l6ZSAxIGNvdW50 IDEgdmFsIDB4NzAKPiBrdm1fdXNlcnNwYWNlX2V4aXQ6ICAgcmVhc29uIEtWTV9FWElUX0lPICgy KQo+IGt2bV9lbnRyeTogICAgICAgICAgICB2Y3B1IDAKPiBrdm1fZXhpdDogICAgICAgICAgICAg cmVhc29uIElPX0lOU1RSVUNUSU9OIHJpcCAweDdmZmQ4ZGUzIGluZm8gNDAyMDAwMCAwCj4ga3Zt X3BpbzogICAgICAgICAgICAgIHBpb193cml0ZSBhdCAweDQwMiBzaXplIDEgY291bnQgMSB2YWwg MHg2Zgo+IGt2bV91c2Vyc3BhY2VfZXhpdDogICByZWFzb24gS1ZNX0VYSVRfSU8gKDIpCj4ga3Zt X2VudHJ5OiAgICAgICAgICAgIHZjcHUgMAo+IGt2bV9leGl0OiAgICAgICAgICAgICByZWFzb24g SU9fSU5TVFJVQ1RJT04gcmlwIDB4N2ZmZDhkZTMgaW5mbyA0MDIwMDAwIDAKPiBrdm1fcGlvOiAg ICAgICAgICAgICAgcGlvX3dyaXRlIGF0IDB4NDAyIHNpemUgMSBjb3VudCAxIHZhbCAweDcyCj4g a3ZtX3VzZXJzcGFjZV9leGl0OiAgIHJlYXNvbiBLVk1fRVhJVF9JTyAoMikKPiBrdm1fZW50cnk6 ICAgICAgICAgICAgdmNwdSAwCj4ga3ZtX2V4aXQ6ICAgICAgICAgICAgIHJlYXNvbiBJT19JTlNU UlVDVElPTiByaXAgMHg3ZmZkOGRlMyBpbmZvIDQwMjAwMDAgMAo+IGt2bV9waW86ICAgICAgICAg ICAgICBwaW9fd3JpdGUgYXQgMHg0MDIgc2l6ZSAxIGNvdW50IDEgdmFsIDB4NzQKPiBrdm1fdXNl cnNwYWNlX2V4aXQ6ICAgcmVhc29uIEtWTV9FWElUX0lPICgyKQo+IGt2bV9lbnRyeTogICAgICAg ICAgICB2Y3B1IDAKPiBrdm1fZXhpdDogICAgICAgICAgICAgcmVhc29uIElPX0lOU1RSVUNUSU9O IHJpcCAweDdmZmQ4ZGUzIGluZm8gNDAyMDAwMCAwCj4ga3ZtX3BpbzogICAgICAgICAgICAgIHBp b193cml0ZSBhdCAweDQwMiBzaXplIDEgY291bnQgMSB2YWwgMHgyMAo+IGt2bV91c2Vyc3BhY2Vf ZXhpdDogICByZWFzb24gS1ZNX0VYSVRfSU8gKDIpCj4ga3ZtX2VudHJ5OiAgICAgICAgICAgIHZj cHUgMAo+IGt2bV9leGl0OiAgICAgICAgICAgICByZWFzb24gSU9fSU5TVFJVQ1RJT04gcmlwIDB4 N2ZmZDhkZTMgaW5mbyA0MDIwMDAwIDAKPiBrdm1fcGlvOiAgICAgICAgICAgICAgcGlvX3dyaXRl IGF0IDB4NDAyIHNpemUgMSBjb3VudCAxIHZhbCAweDc3Cj4ga3ZtX3VzZXJzcGFjZV9leGl0OiAg IHJlYXNvbiBLVk1fRVhJVF9JTyAoMikKPiBrdm1fZW50cnk6ICAgICAgICAgICAgdmNwdSAwCj4g a3ZtX2V4aXQ6ICAgICAgICAgICAgIHJlYXNvbiBJT19JTlNUUlVDVElPTiByaXAgMHg3ZmZkOGRl MyBpbmZvIDQwMjAwMDAgMAo+IGt2bV9waW86ICAgICAgICAgICAgICBwaW9fd3JpdGUgYXQgMHg0 MDIgc2l6ZSAxIGNvdW50IDEgdmFsIDB4NjEKPiBrdm1fdXNlcnNwYWNlX2V4aXQ6ICAgcmVhc29u IEtWTV9FWElUX0lPICgyKQo+IGt2bV9lbnRyeTogICAgICAgICAgICB2Y3B1IDAKPiBrdm1fZXhp dDogICAgICAgICAgICAgcmVhc29uIElPX0lOU1RSVUNUSU9OIHJpcCAweDdmZmQ4ZGUzIGluZm8g NDAyMDAwMCAwCj4ga3ZtX3BpbzogICAgICAgICAgICAgIHBpb193cml0ZSBhdCAweDQwMiBzaXpl IDEgY291bnQgMSB2YWwgMHg3Mwo+IGt2bV91c2Vyc3BhY2VfZXhpdDogICByZWFzb24gS1ZNX0VY SVRfSU8gKDIpCj4ga3ZtX2VudHJ5OiAgICAgICAgICAgIHZjcHUgMAo+IGt2bV9leGl0OiAgICAg ICAgICAgICByZWFzb24gSU9fSU5TVFJVQ1RJT04gcmlwIDB4N2ZmZDhkZTMgaW5mbyA0MDIwMDAw IDAKPiBrdm1fcGlvOiAgICAgICAgICAgICAgcGlvX3dyaXRlIGF0IDB4NDAyIHNpemUgMSBjb3Vu dCAxIHZhbCAweDIwCj4ga3ZtX3VzZXJzcGFjZV9leGl0OiAgIHJlYXNvbiBLVk1fRVhJVF9JTyAo MikKPiBrdm1fZW50cnk6ICAgICAgICAgICAgdmNwdSAwCj4ga3ZtX2V4aXQ6ICAgICAgICAgICAg IHJlYXNvbiBJT19JTlNUUlVDVElPTiByaXAgMHg3ZmZkOGRlMyBpbmZvIDQwMjAwMDAgMAo+IGt2 bV9waW86ICAgICAgICAgICAgICBwaW9fd3JpdGUgYXQgMHg0MDIgc2l6ZSAxIGNvdW50IDEgdmFs IDB4NmUKPiBrdm1fdXNlcnNwYWNlX2V4aXQ6ICAgcmVhc29uIEtWTV9FWElUX0lPICgyKQo+IGt2 bV9lbnRyeTogICAgICAgICAgICB2Y3B1IDAKPiBrdm1fZXhpdDogICAgICAgICAgICAgcmVhc29u IElPX0lOU1RSVUNUSU9OIHJpcCAweDdmZmQ4ZGUzIGluZm8gNDAyMDAwMCAwCj4ga3ZtX3Bpbzog ICAgICAgICAgICAgIHBpb193cml0ZSBhdCAweDQwMiBzaXplIDEgY291bnQgMSB2YWwgMHg2Zgo+ IGt2bV91c2Vyc3BhY2VfZXhpdDogICByZWFzb24gS1ZNX0VYSVRfSU8gKDIpCj4ga3ZtX2VudHJ5 OiAgICAgICAgICAgIHZjcHUgMAo+IGt2bV9leGl0OiAgICAgICAgICAgICByZWFzb24gSU9fSU5T VFJVQ1RJT04gcmlwIDB4N2ZmZDhkZTMgaW5mbyA0MDIwMDAwIDAKPiBrdm1fcGlvOiAgICAgICAg ICAgICAgcGlvX3dyaXRlIGF0IDB4NDAyIHNpemUgMSBjb3VudCAxIHZhbCAweDc0Cj4ga3ZtX3Vz ZXJzcGFjZV9leGl0OiAgIHJlYXNvbiBLVk1fRVhJVF9JTyAoMikKPiBrdm1fZW50cnk6ICAgICAg ICAgICAgdmNwdSAwCj4ga3ZtX2V4aXQ6ICAgICAgICAgICAgIHJlYXNvbiBJT19JTlNUUlVDVElP TiByaXAgMHg3ZmZkOGRlMyBpbmZvIDQwMjAwMDAgMAo+IGt2bV9waW86ICAgICAgICAgICAgICBw aW9fd3JpdGUgYXQgMHg0MDIgc2l6ZSAxIGNvdW50IDEgdmFsIDB4MjAKPiBrdm1fdXNlcnNwYWNl X2V4aXQ6ICAgcmVhc29uIEtWTV9FWElUX0lPICgyKQo+IGt2bV9lbnRyeTogICAgICAgICAgICB2 Y3B1IDAKPiBrdm1fZXhpdDogICAgICAgICAgICAgcmVhc29uIElPX0lOU1RSVUNUSU9OIHJpcCAw eDdmZmQ4ZGUzIGluZm8gNDAyMDAwMCAwCj4ga3ZtX3BpbzogICAgICAgICAgICAgIHBpb193cml0 ZSBhdCAweDQwMiBzaXplIDEgY291bnQgMSB2YWwgMHg2Ngo+IGt2bV91c2Vyc3BhY2VfZXhpdDog ICByZWFzb24gS1ZNX0VYSVRfSU8gKDIpCj4ga3ZtX2VudHJ5OiAgICAgICAgICAgIHZjcHUgMAo+ IGt2bV9leGl0OiAgICAgICAgICAgICByZWFzb24gSU9fSU5TVFJVQ1RJT04gcmlwIDB4N2ZmZDhk ZTMgaW5mbyA0MDIwMDAwIDAKPiBrdm1fcGlvOiAgICAgICAgICAgICAgcGlvX3dyaXRlIGF0IDB4 NDAyIHNpemUgMSBjb3VudCAxIHZhbCAweDZmCj4ga3ZtX3VzZXJzcGFjZV9leGl0OiAgIHJlYXNv biBLVk1fRVhJVF9JTyAoMikKPiBrdm1fZW50cnk6ICAgICAgICAgICAgdmNwdSAwCj4ga3ZtX2V4 aXQ6ICAgICAgICAgICAgIHJlYXNvbiBJT19JTlNUUlVDVElPTiByaXAgMHg3ZmZkOGRlMyBpbmZv IDQwMjAwMDAgMAo+IGt2bV9waW86ICAgICAgICAgICAgICBwaW9fd3JpdGUgYXQgMHg0MDIgc2l6 ZSAxIGNvdW50IDEgdmFsIDB4NzUKPiBrdm1fdXNlcnNwYWNlX2V4aXQ6ICAgcmVhc29uIEtWTV9F WElUX0lPICgyKQo+IGt2bV9lbnRyeTogICAgICAgICAgICB2Y3B1IDAKPiBrdm1fZXhpdDogICAg ICAgICAgICAgcmVhc29uIElPX0lOU1RSVUNUSU9OIHJpcCAweDdmZmQ4ZGUzIGluZm8gNDAyMDAw MCAwCj4ga3ZtX3BpbzogICAgICAgICAgICAgIHBpb193cml0ZSBhdCAweDQwMiBzaXplIDEgY291 bnQgMSB2YWwgMHg2ZQo+IGt2bV91c2Vyc3BhY2VfZXhpdDogICByZWFzb24gS1ZNX0VYSVRfSU8g KDIpCj4ga3ZtX2VudHJ5OiAgICAgICAgICAgIHZjcHUgMAo+IGt2bV9leGl0OiAgICAgICAgICAg ICByZWFzb24gSU9fSU5TVFJVQ1RJT04gcmlwIDB4N2ZmZDhkZTMgaW5mbyA0MDIwMDAwIDAKPiBr dm1fcGlvOiAgICAgICAgICAgICAgcGlvX3dyaXRlIGF0IDB4NDAyIHNpemUgMSBjb3VudCAxIHZh bCAweDY0Cj4ga3ZtX3VzZXJzcGFjZV9leGl0OiAgIHJlYXNvbiBLVk1fRVhJVF9JTyAoMikKPiBr dm1fZW50cnk6ICAgICAgICAgICAgdmNwdSAwCj4ga3ZtX2V4aXQ6ICAgICAgICAgICAgIHJlYXNv biBJT19JTlNUUlVDVElPTiByaXAgMHg3ZmZkOGRlMyBpbmZvIDQwMjAwMDAgMAo+IGt2bV9waW86 ICAgICAgICAgICAgICBwaW9fd3JpdGUgYXQgMHg0MDIgc2l6ZSAxIGNvdW50IDEgdmFsIDB4ZAo+ IGt2bV91c2Vyc3BhY2VfZXhpdDogICByZWFzb24gS1ZNX0VYSVRfSU8gKDIpCj4ga3ZtX2VudHJ5 OiAgICAgICAgICAgIHZjcHUgMAo+IGt2bV9leGl0OiAgICAgICAgICAgICByZWFzb24gSU9fSU5T VFJVQ1RJT04gcmlwIDB4N2ZmZDhkZTMgaW5mbyA0MDIwMDAwIDAKPiBrdm1fcGlvOiAgICAgICAg ICAgICAgcGlvX3dyaXRlIGF0IDB4NDAyIHNpemUgMSBjb3VudCAxIHZhbCAweGEKPiBrdm1fdXNl cnNwYWNlX2V4aXQ6ICAgcmVhc29uIEtWTV9FWElUX0lPICgyKQo+IGt2bV9lbnRyeTogICAgICAg ICAgICB2Y3B1IDAKPiBrdm1fZXhpdDogICAgICAgICAgICAgcmVhc29uIEVQVF9WSU9MQVRJT04g cmlwIDB4N2ZmZDUzN2QgaW5mbyAxODQgMAo+IGt2bV9wYWdlX2ZhdWx0OiAgICAgICBhZGRyZXNz IDdmZmQ1MzdkIGVycm9yX2NvZGUgMTg0Cj4ga3ZtX2VudHJ5OiAgICAgICAgICAgIHZjcHUgMAo+ IGt2bV9leGl0OiAgICAgICAgICAgICByZWFzb24gRVBUX1ZJT0xBVElPTiByaXAgMHg3ZmZkMzAx NSBpbmZvIDE4NCAwCj4ga3ZtX3BhZ2VfZmF1bHQ6ICAgICAgIGFkZHJlc3MgN2ZmZDMwMTUgZXJy b3JfY29kZSAxODQKPiBrdm1fZW50cnk6ICAgICAgICAgICAgdmNwdSAwCj4ga3ZtX2V4aXQ6ICAg ICAgICAgICAgIHJlYXNvbiBFWENFUFRJT05fTk1JIHJpcCAweDdmZmQ3OTBiIGluZm8gMCA4MDAw MDMwNgo+IGt2bV9lbXVsYXRlX2luc246ICAgICAwOjdmZmQ3OTBiOiAwZiBhYQo+IGt2bV9jcHVp ZDogICAgICAgICAgICBmdW5jIDgwMDAwMDAxIHJheCA2ZTggcmJ4IDAgcmN4IDAgcmR4IDEwMDAw MAo+IGt2bV9lbnRlcl9zbW06ICAgICAgICB2Y3B1IDA6IGxlYXZpbmcgU01NLCBzbWJhc2UgMHg3 ZmZjMDAwMAo+IGt2bV9lbnRyeTogICAgICAgICAgICB2Y3B1IDAKPiBrdm1fZXhpdDogICAgICAg ICAgICAgcmVhc29uIFRSSVBMRV9GQVVMVCByaXAgMHg3ZmZkYjZiMiBpbmZvIDAgMAo+IGt2bV91 c2Vyc3BhY2VfZXhpdDogICByZWFzb24gS1ZNX0VYSVRfU0hVVERPV04gKDgpCgpUaGUgZW11bGF0 ZWQgaW5zdHJ1Y3Rpb24gYXQgN2ZmZDc5MGIsIFswZiBhYV0sIGlzIFJTTS4KCkkgY29ycmVsYXRl ZCB0aGF0IGFkZHJlc3Mgd2l0aCB0aGUgbG9hZCBhZGRyZXNzIG9mIHRoZSBQaVNtbUNwdUR4ZVNt bQpkcml2ZXIsIGxvZ2dlZCBieSB0aGUgZmlybXdhcmU6Cgo+IExvYWRpbmcgU01NIGRyaXZlciBh dCAweDAwMDdGRkQyMDAwIEVudHJ5UG9pbnQ9MHgwMDA3RkZEMjI1MyBQaVNtbUNwdUR4ZVNtbS5l ZmkKClRoZSBkaWZmZXJlbmNlICgweDU5MEIpIG1hdGNoZXMgdGhlIGRpc2Fzc2VtYmx5IG9mIHRo ZSBQaVNtbUNwdUR4ZVNtbQptb2R1bGU6Cgo+IDAwMDA1OTAyIDxnU21tSW5pdFN0YWNrPjoKPiAg ICAgNTkwMjogICAgICAgMDAgMDAgICAgICAgICAgICAgICAgICAgYWRkICAgICVhbCwoJWVheCkK PiAgICAgNTkwNDogICAgICAgMDAgMDAgICAgICAgICAgICAgICAgICAgYWRkICAgICVhbCwoJWVh eCkKPiAgICAgNTkwNjogICAgICAgZTggMTUgYjYgZmYgZmYgICAgICAgICAgY2FsbCAgIGYyMCA8 U21tSW5pdEhhbmRsZXI+Cj4gICAgIDU5MGI6ICAgICAgIDBmIGFhICAgICAgICAgICAgICAgICAg IHJzbQoKVGhpcyBkaXNhc3NlbWJseSBzbmlwcGV0IGNvbWVzIGZvcm0KIk92bWZQa2cvUXVhcmtQ b3J0L1BpU21tQ3B1RHhlU21tL0lhMzIvU21tSW5pdC5TIjoKCj4gQVNNX1BGWChnU21tSW5pdFN0 YWNrKTogIC5zcGFjZSAgNAo+ICAgICBjYWxsICAgIEFTTV9QRlgoU21tSW5pdEhhbmRsZXIpCj4g ICAgIHJzbQoKVGhlIFNtbUluaXRIYW5kbGVyKCkgZnVuY3Rpb24gcnVucyBhbmQgcmV0dXJucywg dGhlIFJTTSBpcyBhbHNvCmV4ZWN1dGVkLCBhbmQgdGhlbiB0aGUgaW5zdHJ1Y3Rpb24gYXQgMHg3 ZmZkYjZiMiBzZWVtcyB0byBjYXVzZSBhIHRyaXBsZQpmYXVsdC4KCkFnYWluIGZyb20gdGhlIGRp c2Fzc2VtYmx5ICgweDdmZmRiNmIyIC0gMHgwMDA3RkZEMjAwMCA9IDB4OTZCMik6Cgo+IDAwMDA5 Njc3IDxNbWlvV3JpdGUzMj46Cj4gICAgIDk2Nzc6ICAgICAgIDU1ICAgICAgICAgICAgICAgICAg ICAgIHB1c2ggICAlZWJwCj4gICAgIDk2Nzg6ICAgICAgIDg5IGU1ICAgICAgICAgICAgICAgICAg IG1vdiAgICAlZXNwLCVlYnAKPiAgICAgOTY3YTogICAgICAgNTYgICAgICAgICAgICAgICAgICAg ICAgcHVzaCAgICVlc2kKPiAgICAgOTY3YjogICAgICAgOGIgNzUgMDggICAgICAgICAgICAgICAg bW92ICAgIDB4OCglZWJwKSwlZXNpCj4gICAgIDk2N2U6ICAgICAgIDUzICAgICAgICAgICAgICAg ICAgICAgIHB1c2ggICAlZWJ4Cj4gICAgIDk2N2Y6ICAgICAgIDhiIDVkIDBjICAgICAgICAgICAg ICAgIG1vdiAgICAweGMoJWVicCksJWVieAo+ICAgICA5NjgyOiAgICAgICBlOCAzZCBkOCBmZiBm ZiAgICAgICAgICBjYWxsICAgNmVjNCA8RGVidWdBc3NlcnRFbmFibGVkPgo+ICAgICA5Njg3OiAg ICAgICA4NCBjMCAgICAgICAgICAgICAgICAgICB0ZXN0ICAgJWFsLCVhbAo+ICAgICA5Njg5OiAg ICAgICA3NCAyMCAgICAgICAgICAgICAgICAgICBqZSAgICAgOTZhYiA8TW1pb1dyaXRlMzIrMHgz ND4KPiAgICAgOTY4YjogICAgICAgZjcgYzYgMDMgMDAgMDAgMDAgICAgICAgdGVzdCAgICQweDMs JWVzaQo+ICAgICA5NjkxOiAgICAgICA3NCAxOCAgICAgICAgICAgICAgICAgICBqZSAgICAgOTZh YiA8TW1pb1dyaXRlMzIrMHgzND4KPiAgICAgOTY5MzogICAgICAgNTAgICAgICAgICAgICAgICAg ICAgICAgcHVzaCAgICVlYXgKPiAgICAgOTY5NDogICAgICAgNjggYTcgYzcgMDAgMDAgICAgICAg ICAgcHVzaCAgICQweGM3YTcKPiAgICAgOTY5OTogICAgICAgNjggZjcgMDAgMDAgMDAgICAgICAg ICAgcHVzaCAgICQweGY3Cj4gICAgIDk2OWU6ICAgICAgIDY4IDQ0IGM3IDAwIDAwICAgICAgICAg IHB1c2ggICAkMHhjNzQ0Cj4gICAgIDk2YTM6ICAgICAgIGU4IGFlIGQ3IGZmIGZmICAgICAgICAg IGNhbGwgICA2ZTU2IDxEZWJ1Z0Fzc2VydD4KPiAgICAgOTZhODogICAgICAgODMgYzQgMTAgICAg ICAgICAgICAgICAgYWRkICAgICQweDEwLCVlc3AKPiAgICAgOTZhYjogICAgICAgZTggOWIgZDEg ZmYgZmYgICAgICAgICAgY2FsbCAgIDY4NGIgPE1lbW9yeUZlbmNlPgo+ICAgICA5NmIwOiAgICAg ICA4OSAxZSAgICAgICAgICAgICAgICAgICBtb3YgICAgJWVieCwoJWVzaSkKPiAgICAgOTZiMjog ICAgICAgZTggOTQgZDEgZmYgZmYgICAgICAgICAgY2FsbCAgIDY4NGIgPE1lbW9yeUZlbmNlPiAg ICAgICA8PT09PT09PT0gYm9vbQo+ICAgICA5NmI3OiAgICAgICA4ZCA2NSBmOCAgICAgICAgICAg ICAgICBsZWEgICAgLTB4OCglZWJwKSwlZXNwCj4gICAgIDk2YmE6ICAgICAgIDg5IGQ4ICAgICAg ICAgICAgICAgICAgIG1vdiAgICAlZWJ4LCVlYXgKPiAgICAgOTZiYzogICAgICAgNWIgICAgICAg ICAgICAgICAgICAgICAgcG9wICAgICVlYngKPiAgICAgOTZiZDogICAgICAgNWUgICAgICAgICAg ICAgICAgICAgICAgcG9wICAgICVlc2kKPiAgICAgOTZiZTogICAgICAgNWQgICAgICAgICAgICAg ICAgICAgICAgcG9wICAgICVlYnAKPiAgICAgOTZiZjogICAgICAgYzMgICAgICAgICAgICAgICAg ICAgICAgcmV0CgpUaGUgY29ycmVzcG9uZGluZyBzb3VyY2UgY29kZSBpcwooIk1kZVBrZy9MaWJy YXJ5L0Jhc2VJb0xpYkludHJpbnNpYy9Jb0xpYi5jIik6Cgo+IFVJTlQzMgo+IEVGSUFQSQo+IE1t aW9Xcml0ZTMyICgKPiAgIElOICAgICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBBZGRyZXNz LAo+ICAgSU4gICAgICBVSU5UMzIgICAgICAgICAgICAgICAgICAgIFZhbHVlCj4gICApCj4gewo+ ICAgQVNTRVJUICgoQWRkcmVzcyAmIDMpID09IDApOwo+Cj4gICBNZW1vcnlGZW5jZSAoKTsKPiAg ICoodm9sYXRpbGUgVUlOVDMyKilBZGRyZXNzID0gVmFsdWU7Cj4gICBNZW1vcnlGZW5jZSAoKTsK Pgo+ICAgcmV0dXJuIFZhbHVlOwo+IH0KCgoqKiBUb3AtZG93biBpbnZlc3RpZ2F0aW9uOgoKSSBh ZGRlZCBhIGJ1bmNoIG9mIGRlYnVnIHN0YXRlbWVudHMgdG8gdGhlIFBpU21tQ3B1RHhlU21tIHNv dXJjZSBjb2RlLAphbmQgdGhpcyBpcyB0aGUgY2FsbCBzdGFjayB0aGF0IGJsb3dzIHVwOgoKU21t UmVsb2NhdGVCYXNlcygpICAgICAgICBbT3ZtZlBrZy9RdWFya1BvcnQvUGlTbW1DcHVEeGVTbW0v UGlTbW1DcHVEeGVTbW0uY10KICAvLwogIC8vIFJlbG9jYXRlIEJTUCdzIFNNIGJhc2UKICAvLwog IFNlbmRTbWlJcGkoKSAgICAgICAgICAgIFtVZWZpQ3B1UGtnL0xpYnJhcnkvQmFzZVhBcGljTGli L0Jhc2VYQXBpY0xpYi5jXQogICAgU2VuZElwaSgpICAgICAgICAgICAgIFtVZWZpQ3B1UGtnL0xp YnJhcnkvQmFzZVhBcGljTGliL0Jhc2VYQXBpY0xpYi5jXQogICAgICBXcml0ZUxvY2FsQXBpY1Jl ZygpIFtVZWZpQ3B1UGtnL0xpYnJhcnkvQmFzZVhBcGljTGliL0Jhc2VYQXBpY0xpYi5jXQogICAg ICAgIC8vCiAgICAgICAgLy8gTG9jYWxBcGljQmFzZUFkZHJlc3M9MHhGRUUwMDAwMCBNbWlvT2Zm c2V0PTB4MzEwIFZhbHVlPTB4MAogICAgICAgIC8vIChYQVBJQ19JQ1JfSElHSF9PRkZTRVQgPSAw eDMxMCkKICAgICAgICAvLwogICAgICAgIE1taW9Xcml0ZTMyKCkgICAgIFtNZGVQa2cvTGlicmFy eS9CYXNlSW9MaWJJbnRyaW5zaWMvSW9MaWIuY10KCiAgICAgIFdyaXRlTG9jYWxBcGljUmVnKCkg W1VlZmlDcHVQa2cvTGlicmFyeS9CYXNlWEFwaWNMaWIvQmFzZVhBcGljTGliLmNdCiAgICAgICAg Ly8KICAgICAgICAvLyBMb2NhbEFwaWNCYXNlQWRkcmVzcz0weEZFRTAwMDAwIE1taW9PZmZzZXQ9 MHgzMDAgVmFsdWU9MHg0MjAwCiAgICAgICAgLy8gKFhBUElDX0lDUl9MT1dfT0ZGU0VUID0gMHgz MDApCiAgICAgICAgLy8KICAgICAgICBNbWlvV3JpdGUzMigpICAgICBbTWRlUGtnL0xpYnJhcnkv QmFzZUlvTGliSW50cmluc2ljL0lvTGliLmNdCgpUaGlzIGlzIHdoZW4gdGhlICJnU21tSW5pdFN0 YWNrIiBjb2RlIHRoYXQgSSBxdW90ZWQgZnJvbQoiT3ZtZlBrZy9RdWFya1BvcnQvUGlTbW1DcHVE eGVTbW0vSWEzMi9TbW1Jbml0LlMiIHJ1bnMgKGluIHJlc3BvbnNlIHRvCnRoZSB3cml0ZSB0byBY QVBJQ19JQ1JfTE9XX09GRlNFVCkuCgoiZ1NtbUluaXRTdGFjayIgY2FsbHMgYmFjayB0byBDIChp bnZva2luZyB0aGUgU21tSW5pdEhhbmRsZXIoKQpmdW5jdGlvbikuIEFmdGVyIFNtbUluaXRIYW5k bGVyKCkgcmV0dXJucywgdGhlIFJTTSBpbnN0cnVjdGlvbiBmcm9tIHRoZQphc3NlbWJseSBzb3Vy Y2UgKGF0IHRoZSBlbmQgb2YgImdTbW1Jbml0U3RhY2siKSBpcyBleGVjdXRlZC4KCkhvd2V2ZXIs IHRoZSAqdmVyeSBmaXJzdCogaW5zdHJ1Y3Rpb24gZXhlY3V0ZWQgYWZ0ZXIgdGhlIFJTTSAtLSBp ZS4gdGhlCnNlY29uZCBNZW1vcnlGZW5jZSgpIGNhbGwgaW4gTW1pb1dyaXRlMzIoKSAtLSBjYXVz ZXMgYSB0cmlwbGUgZmF1bHQuCgpUaGFua3MKTGFzemxvCgpPbiAwOC8wNi8xNSAxNTo0MiwgTGFz emxvIEVyc2VrIHdyb3RlOgo+Cj4gKiogQ29tbWVudHMgb24gdGhlIHBhdGNoOgo+Cj4+IENwdUR4 ZS5kaWZmCj4+Cj4+Cj4+IDkyMzgzNTVlNzEwYTg5OGExNDhlZmEwNzJjNjc2OTNmYWM2MzFlNDIK Pj4gIFVlZmlDcHVQa2cvQ3B1RHhlL0FwU3RhcnR1cC5jIHwgMTQwICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrLQo+PiAgMSBmaWxlIGNoYW5nZWQsIDEzOCBpbnNlcnRp b25zKCspLCAyIGRlbGV0aW9ucygtKQo+Pgo+PiBkaWZmIC0tZ2l0IGEvVWVmaUNwdVBrZy9DcHVE eGUvQXBTdGFydHVwLmMgYi9VZWZpQ3B1UGtnL0NwdUR4ZS9BcFN0YXJ0dXAuYwo+PiBpbmRleCA3 NjEzYjQ3Li41OWNmOGU2IDEwMDY0NAo+PiAtLS0gYS9VZWZpQ3B1UGtnL0NwdUR4ZS9BcFN0YXJ0 dXAuYwo+PiArKysgYi9VZWZpQ3B1UGtnL0NwdUR4ZS9BcFN0YXJ0dXAuYwo+PiBAQCAtMTksNiAr MTksNDcgQEAKPj4gICNwcmFnbWEgcGFjaygxKQo+Pgo+PiAgdHlwZWRlZiBzdHJ1Y3Qgewo+PiAr ICBVSU5UOCAgTW92ZUlhMzJFZmVyTXNyVG9FY3hbNV07Cj4+ICsgIFVJTlQ4ICBSZWFkSWEzMkVm ZXJNc3JbMl07Cj4+ICsgIFVJTlQ4ICBTZXRFeGVjdXRlRGlzYWJsZUJpdEVuYWJsZUJpdFs0XTsK Pj4gKyAgVUlOVDggIFdyaXRlSWEzMkVmZXJNc3JbMl07Cj4+ICsKPj4gKyNpZiBkZWZpbmVkIChN REVfQ1BVX0lBMzIpCj4+ICsgIFVJTlQ4ICBNb3ZFYXhDcjM7Cj4+ICsgIFVJTlQzMiBDcjNWYWx1 ZTsKPj4gKyAgVUlOVDggIE1vdkNyM0VheFszXTsKPj4gKwo+PiArICBVSU5UOCAgTW92ZUNyNFRv RWF4WzNdOwo+PiArICBVSU5UOCAgU2V0Q3I0Qml0NVs0XTsKPj4gKyAgVUlOVDggIE1vdmVFYXhU b0NyNFszXTsKPj4gKwo+PiArICBVSU5UOCAgTW92ZUNyMFRvRWF4WzNdOwo+PiArICBVSU5UOCAg U2V0Q3IwUGFnaW5nQml0WzRdOwo+PiArICBVSU5UOCAgTW92ZUVheFRvQ3IwWzNdOwo+PiArI2Vu ZGlmCj4+ICt9IEVOQUJMRV9FWEVDVVRFX0RJU0FCTEVfQ09ERTsKPj4gKwo+PiArRU5BQkxFX0VY RUNVVEVfRElTQUJMRV9DT0RFIG1FbmFibGVFeGVjdXRlRGlzYmxlQ29kZVRlbXBsYXRlID0gewo+ Cj4gKDEpIFRoaXMgc2hvdWxkIGJlIFNUQVRJQy4gKEFsdGhvdWdoLCBJIHJlYWxpemUgbVN0YXJ0 dXBDb2RlVGVtcGxhdGUgaXMKPiBub3QgU1RBVElDIGVpdGhlciwgc28gZmVlbCBmcmVlIHRvIGln bm9yZSB0aGlzLikKPgo+PiArICB7IDB4QjksIDB4ODAsIDB4MDAsIDB4MDAsIDB4QzAgfSwgICAv LyBtb3YgZWN4LCAweGMwMDAwMDgwCj4+ICsgIHsgMHgwRiwgMHgzMiB9LCAgICAgICAgICAgICAg ICAgICAgIC8vIHJkbXNyCj4+ICsgIHsgMHgwRiwgMHhCQSwgMHhFOCwgMHgwQiB9LCAgICAgICAg IC8vIGJ0cyBlYXgsIDExCj4+ICsgIHsgMHgwRiwgMHgzMCB9LCAgICAgICAgICAgICAgICAgICAg IC8vIHdybXNyCj4+ICsKPj4gKyNpZiBkZWZpbmVkIChNREVfQ1BVX0lBMzIpCj4+ICsgIDB4Qjgs IDB4MDAwMDAwMDAsICAgICAgICAgICAgICAgICAgIC8vIG1vdiBlYXgsIGNyMyB2YWx1ZQo+PiAr ICB7IDB4MEYsIDB4MjIsIDB4ZDggfSwgICAgICAgICAgICAgICAvLyBtb3YgY3IzLCBlYXgKPj4g Kwo+PiArICB7IDB4MEYsIDB4MjAsIDB4RTAgfSwgICAgICAgICAgICAgICAvLyBtb3YgZWF4LCBj cjQKPj4gKyAgeyAweDBGLCAweEJBLCAweEU4LCAweDA1IH0sICAgICAgICAgLy8gYnRzIGVheCwg NQo+PiArICB7IDB4MEYsIDB4MjIsIDB4RTAgfSwgICAgICAgICAgICAgICAvLyBtb3YgY3I0LCBl YXgKPj4gKwo+PiArICB7IDB4MEYsIDB4MjAsIDB4QzAgfSwgICAgICAgICAgICAgICAvLyBtb3Yg ZWF4LCBjcjAKPj4gKyAgeyAweDBGLCAweEJBLCAweEU4LCAweDFGIH0sICAgICAgICAgLy8gYnRz IGVheCwgMzEKPj4gKyAgeyAweDBGLCAweDIyLCAweEMwIH0sICAgICAgICAgICAgICAgLy8gbW92 IGNyMCwgZWF4Cj4+ICsjZW5kaWYKPj4gK307Cj4+ICsKPj4gK3R5cGVkZWYgc3RydWN0IHsKPj4g ICAgVUlOVDggIEptcFRvQ2xpWzJdOwo+Pgo+PiAgICBVSU5UMTYgR2R0TGltaXQ7Cj4+IEBAIC01 Niw2ICs5NywxMiBAQCB0eXBlZGVmIHN0cnVjdCB7Cj4+ICAgIC8vCj4+ICAgIC8vIFRyYW5zaXRp b24gdG8gWDY0Cj4+ICAgIC8vCj4+ICsKPj4gKyAgLy8KPj4gKyAgLy8gQ29kZSBwbGFjZWhvbGRl ciB0byBlbmFibGUgRXhlY3V0ZSBEaXNhYmxlIEJpdAo+PiArICAvLwo+PiArICBFTkFCTEVfRVhF Q1VURV9ESVNBQkxFX0NPREUgRW5hYmxlRXhlY3V0ZURpc2JsZTsKPj4gKwo+PiAgICBVSU5UOCAg TW92RWF4Q3IzOwo+PiAgICBVSU5UMzIgQ3IzVmFsdWU7Cj4+ICAgIFVJTlQ4ICBNb3ZDcjNFYXhb M107Cj4+IEBAIC03NSw3ICsxMjIsMTIgQEAgdHlwZWRlZiBzdHJ1Y3Qgewo+PiAgICAvL1VJTlQ4 ICBEZWFkTG9vcFsyXTsKPj4KPj4gICAgVUlOVDggIEZhckptcDMyTG9uZ01vZGU7IFVJTlQzMiBM b25nSm1wT2Zmc2V0OyBVSU5UMTYgTG9uZ0ptcFNlbGVjdG9yOwo+PiAtI2VuZGlmIC8vIGRlZmlu ZWQgKE1ERV9DUFVfWDY0KQo+PiArI2Vsc2UKPj4gKyAgLy8KPj4gKyAgLy8gQ29kZSBwbGFjZWhv bGRlciB0byBlbmFibGUgSUEzMiBQQUUgRXhlY3V0ZSBEaXNhYmxlCj4+ICsgIC8vCj4+ICsgIEVO QUJMRV9FWEVDVVRFX0RJU0FCTEVfQ09ERSBFbmFibGVFeGVjdXRlRGlzYmxlOwo+PiArI2VuZGlm Cj4KPiAoMikgSSB0aGluayB0aGF0IHlvdSBjYW4gZWxpbWluYXRlIHRoZSAjZWxzZSBicmFuY2gg KG1vcmUgcHJlY2lzZWx5LCB5b3UKPiBkb24ndCBuZWVkIHRvIGludHJvZHVjZSBpdCBhdCBhbGwp LiBTaW1wbHkgYWRkIHRoZQo+IEVOQUJMRV9FWEVDVVRFX0RJU0FCTEVfQ09ERSBmaWVsZCBhYm92 ZSB0aGUKPgo+ICAgI2lmIGRlZmluZWQgKE1ERV9DUFVfWDY0KQo+Cj4gbGluZSwgc28gdGhhdCBp dCBiZWNvbWVzIGNvbW1vbiB0byBYNjQgYW5kIElhMzIuIEkgYWdyZWUgdGhhdCB0aGUKPiBjb21t ZW50IC8gcHVycG9zZSBvZiB0aGUgZmllbGQgZGlmZmVycyBiZXR3ZWVuIFg2NCBhbmQgSWEzMiwg YnV0IHRoYXQKPiBjb3VsZCBiZSBzcGVsbGVkIG91dCBpbiBvbmUsIGNvbW1vbiBjb21tZW50IGJs b2NrLgo+Cj4gKDMpIEFsc28sIHBsZWFzZSBzZWFyY2ggdGhlIHdob2xlIHBhdGNoIGZvciBvY2N1 cnJlbmNlcyBvZiAiRGlzYmxlIiwKPiB0aGF0J3MgYSB0eXBvLgo+Cj4+Cj4+ICAjaWYgZGVmaW5l ZCAoTURFX0NQVV9YNjQpCj4+ICAgIFVJTlQ4ICBNb3ZFYXhPclJheENwdUR4ZUVudHJ5WzJdOyBV SU5UTiBDcHVEeGVFbnRyeVZhbHVlOwo+PiBAQCAtMjA3LDYgKzI1OSwxNyBAQCBTVEFSVFVQX0NP REUgbVN0YXJ0dXBDb2RlVGVtcGxhdGUgPSB7Cj4+ICAgIHsgMHg4ZSwgMHhkMCB9LCAgICAgICAg ICAgICAgICAgICAgIC8vIG1vdiBzcywgYXgKPj4KPj4gICNpZiBkZWZpbmVkIChNREVfQ1BVX1g2 NCkKPj4gKyAgLy8KPj4gKyAgLy8gQ29kZSBwbGFjZWhvbGRlciB0byBlbmFibGUgRXhlY3V0ZSBE aXNhYmxlIEJpdAo+PiArICAvLyBEZWZhdWx0IGlzIGFsbCBOT1DCocKqTm8gT3BlcmF0aW9uCj4K PiAoNCkgWW91ciBwYXRjaCBzaG91bGQgYmUgcHVyZSBBU0NJSS4gVGhlcmUgc2VlbXMgdG8gYmUg YSBVVEYtOCBzZXF1ZW5jZQo+IGJldHdlZW4gIk5PUCIgYW5kICJObyBPcGVyYXRpb24iLCAweEEx IDB4QUEuCj4KPj4gKyAgLy8KPj4gKyAgewo+PiArICAgIHsgMHg5MCwgMHg5MCwgMHg5MCwgMHg5 MCwgMHg5MCB9LCAgIC8vIG1vdiBlY3gsIDB4YzAwMDAwODAKPj4gKyAgICB7IDB4OTAsIDB4OTAg fSwgICAgICAgICAgICAgICAgICAgICAvLyByZG1zcgo+PiArICAgIHsgMHg5MCwgMHg5MCwgMHg5 MCwgMHg5MCB9LCAgICAgICAgIC8vIGJ0cyBlYXgsIDExCj4+ICsgICAgeyAweDkwLCAweDkwIH0s ICAgICAgICAgICAgICAgICAgICAgLy8gd3Jtc3IKPj4gKyAgfSwKPj4gKwo+Cj4gKDUpIEkgZG9u J3QgdGhpbmsgaXQgaXMgdXNlZnVsIHRvIHByZXNlcnZlIHRoZSBhc3NlbWJseSBpbnN0cnVjdGlv bnMKPiBoZXJlLCBpbiBjb21tZW50czsgdGhlIGJpbmFyeSBjb250ZW50cyBpcyBqdXN0IE5PUHMu IFRoZSBjb21tZW50cyB0byB0aGUKPiByaWdodCBkb24ndCBtYXRjaC4KPgo+PiAgICAweEI4LCAw eDAwMDAwMDAwLCAgICAgICAgICAgICAgICAgICAvLyBtb3YgZWF4LCBjcjMgdmFsdWUKPj4gICAg eyAweDBGLCAweDIyLCAweGQ4IH0sICAgICAgICAgICAgICAgLy8gbW92IGNyMywgZWF4Cj4+Cj4+ IEBAIC0yMjYsNyArMjg5LDI5IEBAIFNUQVJUVVBfQ09ERSBtU3RhcnR1cENvZGVUZW1wbGF0ZSA9 IHsKPj4gICAgMHhFQSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRmFySm1wMzJM b25nTW9kZQo+PiAgICAgICAgICBPRkZTRVRfT0YoU1RBUlRVUF9DT0RFLCBNb3ZFYXhPclJheENw dUR4ZUVudHJ5KSwKPj4gICAgICAgICAgTElORUFSX0NPREU2NF9TRUwsCj4+IC0jZW5kaWYgLy8g ZGVmaW5lZCAoTURFX0NQVV9YNjQpCj4+ICsjZWxzZQo+PiArICAvLwo+PiArICAvLyBDb2RlIHBs YWNlaG9sZGVyIHRvIGVuYWJsZSBJQTMyIFBBRSBFeGVjdXRlIERpc2FibGUKPj4gKyAgLy8gRGVm YXVsdCBpcyBhbGwgTk9QwqHCqk5vIE9wZXJhdGlvbgo+PiArICAvLwo+PiArICB7Cj4+ICsgICAg eyAweDkwLCAweDkwLCAweDkwLCAweDkwLCAweDkwIH0sICAgLy8gbW92IGVjeCwgMHhjMDAwMDA4 MAo+PiArICAgIHsgMHg5MCwgMHg5MCB9LCAgICAgICAgICAgICAgICAgICAgIC8vIHJkbXNyCj4+ ICsgICAgeyAweDkwLCAweDkwLCAweDkwLCAweDkwIH0sICAgICAgICAgLy8gYnRzIGVheCwgMTEK Pj4gKyAgICB7IDB4OTAsIDB4OTAgfSwgICAgICAgICAgICAgICAgICAgICAvLyB3cm1zcgo+PiAr Cj4+ICsgICAgMHg5MCwgMHg5MDkwOTA5MCwgICAgICAgICAgICAgICAgICAgLy8gbW92IGVheCwg Y3IzIHZhbHVlCj4+ICsgICAgeyAweDkwLCAweDkwLCAweDkwIH0sICAgICAgICAgICAgICAgLy8g bW92IGNyMywgZWF4Cj4+ICsKPj4gKyAgICB7IDB4OTAsIDB4OTAsIDB4OTAgfSwgICAgICAgICAg ICAgICAvLyBtb3YgZWF4LCBjcjQKPj4gKyAgICB7IDB4OTAsIDB4OTAsIDB4OTAsIDB4OTAgfSwg ICAgICAgICAvLyBidHMgZWF4LCA1Cj4+ICsgICAgeyAweDkwLCAweDkwLCAweDkwIH0sICAgICAg ICAgICAgICAgLy8gbW92IGNyNCwgZWF4Cj4+ICsKPj4gKyAgICB7IDB4OTAsIDB4OTAsIDB4OTAg fSwgICAgICAgICAgICAgICAvLyBtb3YgZWF4LCBjcjAKPj4gKyAgICB7IDB4OTAsIDB4OTAsIDB4 OTAsIDB4OTAgfSwgICAgICAgICAvLyBidHMgZWF4LCAzMQo+PiArICAgIHsgMHg5MCwgMHg5MCwg MHg5MCB9LCAgICAgICAgICAgICAgIC8vIG1vdiBjcjAsIGVheAo+PiArICB9LAo+PiArI2VuZGlm Cj4KPiAoNikgRGl0dG8uCj4KPj4KPj4gICAgLy8weGViLCAweGZlLCAgICAgICAvLyBqbXAgJAo+ PiAgI2lmIGRlZmluZWQgKE1ERV9DUFVfWDY0KQo+PiBAQCAtMjQxLDYgKzMyNiw0OCBAQCBTVEFS VFVQX0NPREUgbVN0YXJ0dXBDb2RlVGVtcGxhdGUgPSB7Cj4+ICB2b2xhdGlsZSBTVEFSVFVQX0NP REUgKlN0YXJ0dXBDb2RlID0gTlVMTDsKPj4KPj4gIC8qKgo+PiArICBUaGUgZnVuY3Rpb24gd2ls bCBjaGVjayBpZiBCU1AgRXhlY3V0ZSBEaXNhYmxlIGlzIGVuYWJsZWQuCj4+ICsgIER4ZUlwbCBt YXkgaGF2ZSBlbmFibGVkIEV4ZWN1dGUgRGlzYWJsZSBmb3IgQlNQLAo+PiArICBBUHMgbmVlZCB0 byBnZXQgdGhlIHN0YXR1cyBhbmQgc3luYyB1cCB0aGUgc2V0dGluZ3MuCj4+ICsKPj4gKyAgQHJl dHZhbCBUUlVFICAgICAgQlNQIEV4ZWN1dGUgRGlzYWJsZSBpcyBlbmFibGVkLgo+PiArICBAcmV0 dmFsIEZBTFNFICAgICBCU1AgRXhlY3V0ZSBEaXNhYmxlIGlzIG5vdCBlbmFibGVkLgo+PiArCj4+ ICsqKi8KPj4gK0JPT0xFQU4KPj4gK0lzQnNwRXhlY3V0ZURpc2FibGVFbmFibGVkICgKPj4gKyAg Vk9JRAo+PiArICApCj4+ICt7Cj4+ICsgIFVJTlQzMiAgICAgICAgICAgIFJlZ0VheDsKPj4gKyAg VUlOVDMyICAgICAgICAgICAgUmVnRWR4Owo+PiArICBVSU5UNjQgICAgICAgICAgICBNc3JSZWdp c3RlcnM7Cj4+ICsgIEJPT0xFQU4gICAgICAgICAgIEVuYWJsZWQ7Cj4+ICsKPj4gKyAgRW5hYmxl ZCA9IEZBTFNFOwo+PiArICBBc21DcHVpZCAoMHg4MDAwMDAwMCwgJlJlZ0VheCwgTlVMTCwgTlVM TCwgTlVMTCk7Cj4+ICsgIGlmIChSZWdFYXggPj0gMHg4MDAwMDAwMSkgewo+PiArICAgIEFzbUNw dWlkICgweDgwMDAwMDAxLCBOVUxMLCBOVUxMLCBOVUxMLCAmUmVnRWR4KTsKPj4gKyAgICAvLwo+ PiArICAgIC8vIENwdWlkIDB4ODAwMDAwMDEKPj4gKyAgICAvLyBCaXQgMjA6IEV4ZWN1dGUgRGlz YWJsZSBCaXQgYXZhaWxhYmxlLgo+PiArICAgIC8vCj4+ICsgICAgaWYgKChSZWdFZHggJiBCSVQy MCkgIT0gMCkgewo+PiArICAgICAgTXNyUmVnaXN0ZXJzID0gQXNtUmVhZE1zcjY0ICgweEMwMDAw MDgwKTsKPj4gKyAgICAgIC8vCj4+ICsgICAgICAvLyBNc3IgMHhDMDAwMDA4MAo+PiArICAgICAg Ly8gQml0IDExOiBFeGVjdXRlIERpc2FibGUgQml0IGVuYWJsZS4KPj4gKyAgICAgIC8vCj4+ICsg ICAgICBpZiAoKE1zclJlZ2lzdGVycyAmIEJJVDExKSAhPSAwKSB7Cj4+ICsgICAgICAgIEVuYWJs ZWQgPSBUUlVFOwo+PiArICAgICAgfQo+PiArICAgIH0KPj4gKyAgfQo+PiArCj4+ICsgIHJldHVy biBFbmFibGVkOwo+PiArfQo+PiArCj4+ICsvKioKPj4gICAgUHJlcGFyZXMgU3RhcnR1cCBDb2Rl IGZvciBBUHMuCj4+ICAgIFRoaXMgZnVuY3Rpb24gcHJlcGFyZXMgU3RhcnR1cCBDb2RlIGZvciBB UHMuCj4+Cj4+IEBAIC0yODAsOSArNDA3LDE4IEBAIFByZXBhcmVBUFN0YXJ0dXBDb2RlICgKPj4K Pj4gICAgU3RhcnR1cENvZGUtPkZsYXRKbXBPZmZzZXQgKz0gKFVJTlQzMikgU3RhcnRBZGRyZXNz Owo+Pgo+PiArICBpZiAoSXNCc3BFeGVjdXRlRGlzYWJsZUVuYWJsZWQgKCkpIHsKPj4gKyAgICBD b3B5TWVtICgKPj4gKyAgICAgIChWT0lEKikgJlN0YXJ0dXBDb2RlLT5FbmFibGVFeGVjdXRlRGlz YmxlLAo+Cj4gKDcpIE5vIG5lZWQgZm9yIHRoZSAoVk9JRCopIGNhc3QuCj4KPj4gKyAgICAgICZt RW5hYmxlRXhlY3V0ZURpc2JsZUNvZGVUZW1wbGF0ZSwKPj4gKyAgICAgIHNpemVvZiAoRU5BQkxF X0VYRUNVVEVfRElTQUJMRV9DT0RFKQo+PiArICAgICAgKTsKPj4gKyAgfQo+PiAgI2lmIGRlZmlu ZWQgKE1ERV9DUFVfWDY0KQo+PiAgICBTdGFydHVwQ29kZS0+Q3IzVmFsdWUgPSAoVUlOVDMyKSBB c21SZWFkQ3IzICgpOwo+PiAgICBTdGFydHVwQ29kZS0+TG9uZ0ptcE9mZnNldCArPSAoVUlOVDMy KSBTdGFydEFkZHJlc3M7Cj4+ICsjZWxzZQo+PiArICBTdGFydHVwQ29kZS0+RW5hYmxlRXhlY3V0 ZURpc2JsZS5DcjNWYWx1ZSA9IChVSU5UMzIpIEFzbVJlYWRDcjMgKCk7Cj4KPiAoOCkgSSB0aGlu ayB0aGUgKFVJTlQzMikgY2FzdCBjYW4gYmUgZHJvcHBlZCBpbiB0aGlzIGJyYW5jaCwgYnV0IGl0 J3MKPiBub3QgaW1wb3J0YW50Lgo+Cj4+ICAjZW5kaWYKPj4KPj4gICAgcmV0dXJuIEVGSV9TVUND RVNTOwo+Pgo+Cj4gU28sIEkgdGhpbmsgdGhlIHBhdGNoIGlzIGdvb2QsIGFuZCB0aGF0IHdlIHNo b3VsZCBsb29rIGludG8gdGhlIEtWTQo+IHByb2JsZW0gc2VwYXJhdGVseS4gSSdsbCBmb2xsb3cg dXAgc29vbi4KPgo+IFRoYW5rcwo+IExhc3psbwo+CgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwplZGsyLWRldmVsIG1haWxpbmcgbGlzdAplZGsyLWRldmVs QGxpc3RzLjAxLm9yZwpodHRwczovL2xpc3RzLjAxLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2VkazIt ZGV2ZWwK