From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=134.134.136.31; helo=mga06.intel.com; envelope-from=jian.j.wang@intel.com; receiver=edk2-devel@lists.01.org Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id B8E7D220D4C10 for ; Tue, 14 Nov 2017 06:32:11 -0800 (PST) Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 14 Nov 2017 06:36:18 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.44,395,1505804400"; d="scan'208";a="1243932066" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by fmsmga002.fm.intel.com with ESMTP; 14 Nov 2017 06:36:18 -0800 Received: from fmsmsx112.amr.corp.intel.com (10.18.116.6) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.319.2; Tue, 14 Nov 2017 06:36:17 -0800 Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by FMSMSX112.amr.corp.intel.com (10.18.116.6) with Microsoft SMTP Server (TLS) id 14.3.319.2; Tue, 14 Nov 2017 06:36:17 -0800 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.213]) by shsmsx102.ccr.corp.intel.com ([169.254.2.175]) with mapi id 14.03.0319.002; Tue, 14 Nov 2017 22:36:15 +0800 From: "Wang, Jian J" To: Laszlo Ersek CC: "edk2-devel@lists.01.org" , "Dong, Eric" , "Yao, Jiewen" , Ard Biesheuvel , Matt Fleming Thread-Topic: [PATCH v5] UefiCpuPkg/CpuDxe: Fix multiple entries of RT_CODE in memory map Thread-Index: AQHTWh7F8veaFCYph0uTMRM3TfcXLqMTycsw Date: Tue, 14 Nov 2017 14:36:14 +0000 Message-ID: References: <20171110010223.12696-1-jian.j.wang@intel.com> <9f53346f-c82c-c0ee-bca8-f53116227926@redhat.com> In-Reply-To: <9f53346f-c82c-c0ee-bca8-f53116227926@redhat.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiZWJmYzQ2YzAtZTlhMC00MzJlLWI2ZmMtOTAzMDdlZjUyOWE4IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjIuNS4xOCIsIlRydXN0ZWRMYWJlbEhhc2giOiJyZWxiclYyTThyQ3N4bjVwcVJBZE9GSTI2dW04WFwvNGV1Uk85MXFWOFNcL3dqeHlOMHlPNnFlelRqZHVJbk01RFoifQ== x-ctpclassification: CTP_IC dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH v5] UefiCpuPkg/CpuDxe: Fix multiple entries of RT_CODE in memory map X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Nov 2017 14:32:11 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTGFzemxvLA0KDQpJIGRpZCBzb21lIGludmVzdGlnYXRpb24gd29ya3Mgb24gdGhpcyBpc3N1 ZS4gSSB0aGluayBJIGZvdW5kIHRoZSByb290IGNhdXNlIGFuZA0KdGVuZCB0byBiZWxpZXZlIHRo aXMgaXMgYSBGZWRvcmEga2VybmVsIGlzc3VlLiBIZXJlJ3JlIHByb3ZlczoNCg0KbWVtbWFwIG91 dHB1dCBwYXR0ZXJucyBpbiB3aGljaCBGZWRvcmEgMjYgZmFpbGVkIHRvIGJvb3Q6DQoxKSBCU19E YXRhICAgIDAwMDAwMDAwQUUyMDAwMDAtMDAwMDAwMDBBRTIwRUZGRiAwMDAwMDAwMDAwMDAwMDBG IDAwMDAwMDAwMDAwMjYwMEYNCiAgICBSVF9EYXRhICAgIDAwMDAwMDAwQUUyMEYwMDAtMDAwMDAw MDBBRTM4RUZGRiAwMDAwMDAwMDAwMDAwMTgwIDgwMDAwMDAwMDAwMjYwMEYNCiAgICBSVF9Db2Rl ICAgIDAwMDAwMDAwQUUzOEYwMDAtMDAwMDAwMDBBRTQ4RUZGRiAwMDAwMDAwMDAwMDAwMTAwIDgw MDAwMDAwMDAwMjYwMEYNCiAgICBSZXNlcnZlZCAgIDAwMDAwMDAwQUU0OEYwMDAtMDAwMDAwMDBB RTU4RUZGRiAwMDAwMDAwMDAwMDAwMTAwIDAwMDAwMDAwMDAwMjYwMEYNCg0KMikgQlNfRGF0YSAg ICAwMDAwMDAwMEFFMjAwMDAwLTAwMDAwMDAwQUUyMEVGRkYgMDAwMDAwMDAwMDAwMDAwRiAwMDAw MDAwMDAwMDAwMDBGDQogICAgUlRfRGF0YSAgICAwMDAwMDAwMEFFMjBGMDAwLTAwMDAwMDAwQUUz OEVGRkYgMDAwMDAwMDAwMDAwMDE4MCA4MDAwMDAwMDAwMDAwMDBGDQogICAgUlRfQ29kZSAgICAw MDAwMDAwMEFFMzhGMDAwLTAwMDAwMDAwQUU0NjdGRkYgMDAwMDAwMDAwMDAwMDBEOSA4MDAwMDAw MDAwMDAwMDBGDQogICAgUlRfQ29kZSAgICAwMDAwMDAwMEFFNDY4MDAwLTAwMDAwMDAwQUU0NjlG RkYgMDAwMDAwMDAwMDAwMDAwMiA4MDAwMDAwMDAwMDI2MDBGDQogICAgUlRfQ29kZSAgICAwMDAw MDAwMEFFNDZBMDAwLTAwMDAwMDAwQUU0NkVGRkYgMDAwMDAwMDAwMDAwMDAwNSA4MDAwMDAwMDAw MDAwMDBGDQogICAgUlRfQ29kZSAgICAwMDAwMDAwMEFFNDZGMDAwLTAwMDAwMDAwQUU0NzBGRkYg MDAwMDAwMDAwMDAwMDAwMiA4MDAwMDAwMDAwMDI2MDBGDQogICAgUlRfQ29kZSAgICAwMDAwMDAw MEFFNDcxMDAwLTAwMDAwMDAwQUU0NzVGRkYgMDAwMDAwMDAwMDAwMDAwNSA4MDAwMDAwMDAwMDAw MDBGDQogICAgUlRfQ29kZSAgICAwMDAwMDAwMEFFNDc2MDAwLTAwMDAwMDAwQUU0NzlGRkYgMDAw MDAwMDAwMDAwMDAwNCA4MDAwMDAwMDAwMDI2MDBGDQogICAgUlRfQ29kZSAgICAwMDAwMDAwMEFF NDdBMDAwLTAwMDAwMDAwQUU0N0ZGRkYgMDAwMDAwMDAwMDAwMDAwNiA4MDAwMDAwMDAwMDAwMDBG DQogICAgUlRfQ29kZSAgICAwMDAwMDAwMEFFNDgwMDAwLTAwMDAwMDAwQUU0ODFGRkYgMDAwMDAw MDAwMDAwMDAwMiA4MDAwMDAwMDAwMDI2MDBGDQogICAgUlRfQ29kZSAgICAwMDAwMDAwMEFFNDgy MDAwLTAwMDAwMDAwQUU0ODdGRkYgMDAwMDAwMDAwMDAwMDAwNiA4MDAwMDAwMDAwMDAwMDBGDQog ICAgUlRfQ29kZSAgICAwMDAwMDAwMEFFNDg4MDAwLTAwMDAwMDAwQUU0ODlGRkYgMDAwMDAwMDAw MDAwMDAwMiA4MDAwMDAwMDAwMDI2MDBGDQogICAgUlRfQ29kZSAgICAwMDAwMDAwMEFFNDhBMDAw LTAwMDAwMDAwQUU0OEVGRkYgMDAwMDAwMDAwMDAwMDAwNSA4MDAwMDAwMDAwMDAwMDBGDQogICAg UmVzZXJ2ZWQgICAwMDAwMDAwMEFFNDhGMDAwLTAwMDAwMDAwQUU1OEVGRkYgMDAwMDAwMDAwMDAw MDEwMCAwMDAwMDAwMDAwMDAwMDBGDQoNCjMpIFJUX0RhdGEgICAgMDAwMDAwMDBBRTIwRjAwMC0w MDAwMDAwMEFFMzhFRkZGIDAwMDAwMDAwMDAwMDAxODAgODAwMDAwMDAwMDAwMDAwRg0KICAgIFJU X0NvZGUgICAgMDAwMDAwMDBBRTM4RjAwMC0wMDAwMDAwMEFFNDE4RkZGIDAwMDAwMDAwMDAwMDAw OEEgODAwMDAwMDAwMDAwMDAwRg0KICAgIFJUX0NvZGUgICAgMDAwMDAwMDBBRTQxOTAwMC0wMDAw MDAwMEFFNDhFRkZGIDAwMDAwMDAwMDAwMDAwNzYgODAwMDAwMDAwMDAyNjAwRg0KICAgIFJlc2Vy dmVkICAgMDAwMDAwMDBBRTQ4RjAwMC0wMDAwMDAwMEFFNThFRkZGIDAwMDAwMDAwMDAwMDAxMDAg MDAwMDAwMDAwMDAwMDAwRg0KDQo0KSBCU19EYXRhICAgIDAwMDAwMDAwQUUyMDAwMDAtMDAwMDAw MDBBRTIwRUZGRiAwMDAwMDAwMDAwMDAwMDBGIDAwMDAwMDAwMDAwMjQwMEYNCiAgICBSVF9EYXRh ICAgIDAwMDAwMDAwQUUyMEYwMDAtMDAwMDAwMDBBRTM4RUZGRiAwMDAwMDAwMDAwMDAwMTgwIDgw MDAwMDAwMDAwMjQwMEYNCiAgICBSVF9Db2RlICAgIDAwMDAwMDAwQUUzOEYwMDAtMDAwMDAwMDBB RTQ4RUZGRiAwMDAwMDAwMDAwMDAwMTAwIDgwMDAwMDAwMDAwMjQwMEYNCiAgICBSZXNlcnZlZCAg IDAwMDAwMDAwQUU0OEYwMDAtMDAwMDAwMDBBRTU4RUZGRiAwMDAwMDAwMDAwMDAwMTAwIDAwMDAw MDAwMDAwMjQwMEYNCg0KDQptZW1tYXAgb3V0cHV0IHBhdHRlcm4gaW4gd2hpY2ggRmVkb3JhIDI2 IGJvb3RlZCBzdWNjZXNzZnVsbHkNCjUpIEJTX0RhdGEgICAgMDAwMDAwMDBBRTIwMDAwMC0wMDAw MDAwMEFFMjBFRkZGIDAwMDAwMDAwMDAwMDAwMEYgMDAwMDAwMDAwMDAwMDAwRg0KICAgIFJUX0Rh dGEgICAgMDAwMDAwMDBBRTIwRjAwMC0wMDAwMDAwMEFFMzhFRkZGIDAwMDAwMDAwMDAwMDAxODAg ODAwMDAwMDAwMDAwMDAwRg0KICAgIFJUX0NvZGUgICAgMDAwMDAwMDBBRTM4RjAwMC0wMDAwMDAw MEFFNDhFRkZGIDAwMDAwMDAwMDAwMDAxMDAgODAwMDAwMDAwMDAwMDAwRg0KICAgIFJlc2VydmVk ICAgMDAwMDAwMDBBRTQ4RjAwMC0wMDAwMDAwMEFFNThFRkZGIDAwMDAwMDAwMDAwMDAxMDAgMDAw MDAwMDAwMDAwMDAwRg0KDQo2KSBCU19EYXRhICAgIDAwMDAwMDAwQUUyMDAwMDAtMDAwMDAwMDBB RTIwRUZGRiAwMDAwMDAwMDAwMDAwMDBGIDAwMDAwMDAwMDAwMDAwMEYNCiAgICBSVF9EYXRhICAg IDAwMDAwMDAwQUUyMEYwMDAtMDAwMDAwMDBBRTM4RUZGRiAwMDAwMDAwMDAwMDAwMTgwIDgwMDAw MDAwMDAwMDAwMEYNCiAgICBSVF9Db2RlICAgIDAwMDAwMDAwQUUzOEYwMDAtMDAwMDAwMDBBRTQx OEZGRiAwMDAwMDAwMDAwMDAwMDhBIDgwMDAwMDAwMDAwMDAwMEYNCiAgICBSVF9Db2RlICAgIDAw MDAwMDAwQUU0MTkwMDAtMDAwMDAwMDBBRTQxOUZGRiAwMDAwMDAwMDAwMDAwMDAxIDgwMDAwMDAw MDAwMDQwMEYNCiAgICBSVF9Db2RlICAgIDAwMDAwMDAwQUU0MUEwMDAtMDAwMDAwMDBBRTQxQkZG RiAwMDAwMDAwMDAwMDAwMDAyIDgwMDAwMDAwMDAwMjAwMEYNCiAgICBSVF9Db2RlICAgIDAwMDAw MDAwQUU0MUMwMDAtMDAwMDAwMDBBRTQyMEZGRiAwMDAwMDAwMDAwMDAwMDA1IDgwMDAwMDAwMDAw MDQwMEYNCiAgICBSVF9Db2RlICAgIDAwMDAwMDAwQUU0MjEwMDAtMDAwMDAwMDBBRTQyMkZGRiAw MDAwMDAwMDAwMDAwMDAyIDgwMDAwMDAwMDAwMjAwMEYNCiAgICBSVF9Db2RlICAgIDAwMDAwMDAw QUU0MjMwMDAtMDAwMDAwMDBBRTQyN0ZGRiAwMDAwMDAwMDAwMDAwMDA1IDgwMDAwMDAwMDAwMDQw MEYNCiAgICBSVF9Db2RlICAgIDAwMDAwMDAwQUU0MjgwMDAtMDAwMDAwMDBBRTQyQUZGRiAwMDAw MDAwMDAwMDAwMDAzIDgwMDAwMDAwMDAwMjAwMEYNCiAgICBSVF9Db2RlICAgIDAwMDAwMDAwQUU0 MkIwMDAtMDAwMDAwMDBBRTQyRkZGRiAwMDAwMDAwMDAwMDAwMDA1IDgwMDAwMDAwMDAwMDQwMEYN CiAgICBSVF9Db2RlICAgIDAwMDAwMDAwQUU0MzAwMDAtMDAwMDAwMDBBRTQzMkZGRiAwMDAwMDAw MDAwMDAwMDAzIDgwMDAwMDAwMDAwMjAwMEYNCiAgICBSVF9Db2RlICAgIDAwMDAwMDAwQUU0MzMw MDAtMDAwMDAwMDBBRTQzOUZGRiAwMDAwMDAwMDAwMDAwMDA3IDgwMDAwMDAwMDAwMDQwMEYNCiAg ICBSVF9Db2RlICAgIDAwMDAwMDAwQUU0M0EwMDAtMDAwMDAwMDBBRTQzREZGRiAwMDAwMDAwMDAw MDAwMDA0IDgwMDAwMDAwMDAwMjAwMEYNCiAgICBSVF9Db2RlICAgIDAwMDAwMDAwQUU0M0UwMDAt MDAwMDAwMDBBRTQ0NEZGRiAwMDAwMDAwMDAwMDAwMDA3IDgwMDAwMDAwMDAwMDQwMEYNCiAgICBS VF9Db2RlICAgIDAwMDAwMDAwQUU0NDUwMDAtMDAwMDAwMDBBRTQ0OEZGRiAwMDAwMDAwMDAwMDAw MDA0IDgwMDAwMDAwMDAwMjAwMEYNCiAgICBSVF9Db2RlICAgIDAwMDAwMDAwQUU0NDkwMDAtMDAw MDAwMDBBRTQ0RUZGRiAwMDAwMDAwMDAwMDAwMDA2IDgwMDAwMDAwMDAwMDQwMEYNCiAgICBSVF9D b2RlICAgIDAwMDAwMDAwQUU0NEYwMDAtMDAwMDAwMDBBRTQ1MEZGRiAwMDAwMDAwMDAwMDAwMDAy IDgwMDAwMDAwMDAwMjAwMEYNCiAgICBSVF9Db2RlICAgIDAwMDAwMDAwQUU0NTEwMDAtMDAwMDAw MDBBRTQ1NUZGRiAwMDAwMDAwMDAwMDAwMDA1IDgwMDAwMDAwMDAwMDQwMEYNCiAgICBSVF9Db2Rl ICAgIDAwMDAwMDAwQUU0NTYwMDAtMDAwMDAwMDBBRTQ1OEZGRiAwMDAwMDAwMDAwMDAwMDAzIDgw MDAwMDAwMDAwMjAwMEYNCiAgICBSVF9Db2RlICAgIDAwMDAwMDAwQUU0NTkwMDAtMDAwMDAwMDBB RTQ1RkZGRiAwMDAwMDAwMDAwMDAwMDA3IDgwMDAwMDAwMDAwMDQwMEYNCiAgICBSVF9Db2RlICAg IDAwMDAwMDAwQUU0NjAwMDAtMDAwMDAwMDBBRTQ2MUZGRiAwMDAwMDAwMDAwMDAwMDAyIDgwMDAw MDAwMDAwMjAwMEYNCiAgICBSVF9Db2RlICAgIDAwMDAwMDAwQUU0NjIwMDAtMDAwMDAwMDBBRTQ2 N0ZGRiAwMDAwMDAwMDAwMDAwMDA2IDgwMDAwMDAwMDAwMDQwMEYNCiAgICBSVF9Db2RlICAgIDAw MDAwMDAwQUU0NjgwMDAtMDAwMDAwMDBBRTQ2OUZGRiAwMDAwMDAwMDAwMDAwMDAyIDgwMDAwMDAw MDAwMjAwMEYNCiAgICBSVF9Db2RlICAgIDAwMDAwMDAwQUU0NkEwMDAtMDAwMDAwMDBBRTQ2RUZG RiAwMDAwMDAwMDAwMDAwMDA1IDgwMDAwMDAwMDAwMDQwMEYNCiAgICBSVF9Db2RlICAgIDAwMDAw MDAwQUU0NkYwMDAtMDAwMDAwMDBBRTQ3MEZGRiAwMDAwMDAwMDAwMDAwMDAyIDgwMDAwMDAwMDAw MjAwMEYNCiAgICBSVF9Db2RlICAgIDAwMDAwMDAwQUU0NzEwMDAtMDAwMDAwMDBBRTQ3NUZGRiAw MDAwMDAwMDAwMDAwMDA1IDgwMDAwMDAwMDAwMDQwMEYNCiAgICBSVF9Db2RlICAgIDAwMDAwMDAw QUU0NzYwMDAtMDAwMDAwMDBBRTQ3OUZGRiAwMDAwMDAwMDAwMDAwMDA0IDgwMDAwMDAwMDAwMjAw MEYNCiAgICBSVF9Db2RlICAgIDAwMDAwMDAwQUU0N0EwMDAtMDAwMDAwMDBBRTQ3RkZGRiAwMDAw MDAwMDAwMDAwMDA2IDgwMDAwMDAwMDAwMDQwMEYNCiAgICBSVF9Db2RlICAgIDAwMDAwMDAwQUU0 ODAwMDAtMDAwMDAwMDBBRTQ4MUZGRiAwMDAwMDAwMDAwMDAwMDAyIDgwMDAwMDAwMDAwMjAwMEYN CiAgICBSVF9Db2RlICAgIDAwMDAwMDAwQUU0ODIwMDAtMDAwMDAwMDBBRTQ4N0ZGRiAwMDAwMDAw MDAwMDAwMDA2IDgwMDAwMDAwMDAwMDQwMEYNCiAgICBSVF9Db2RlICAgIDAwMDAwMDAwQUU0ODgw MDAtMDAwMDAwMDBBRTQ4OUZGRiAwMDAwMDAwMDAwMDAwMDAyIDgwMDAwMDAwMDAwMjAwMEYNCiAg ICBSVF9Db2RlICAgIDAwMDAwMDAwQUU0OEEwMDAtMDAwMDAwMDBBRTQ4RUZGRiAwMDAwMDAwMDAw MDAwMDA1IDgwMDAwMDAwMDAwMDQwMEYNCiAgICBSZXNlcnZlZCAgIDAwMDAwMDAwQUU0OEYwMDAt MDAwMDAwMDBBRTU4RUZGRiAwMDAwMDAwMDAwMDAwMTAwIDAwMDAwMDAwMDAwMDAwMEYNCg0KWW91 IG1heSBub3RpY2UgdGhhdCA0KSB3aWxsIGZhaWwgYnV0IDYpIHdpbGwgc3VjY2VlZC4gVGFraW5n IGludG8gYWNjb3VudCB0aGUgZmFjdCB0aGF0IGZhaWx1cmUNCmFsd2F5cyBoYXBwZW5lZCBpbiB0 aGUgcnVudGltZSBzZXJ2aWNlIGFwaSAoc2V0X3ZhcmlhYmxlKSwgSSB0aGluayBpdCBtdXN0IGJl IHRoYXQgdGhlIGtlcm5lbCB3aWxsDQptYXJrIHRoZSBtZW1vcnkgYmxvY2sgdG8gYmUgUk8vWFAv UlAgbWVtb3J5IGFjY29yZGluZyB0byBpdHMgY2FwYWJpbGl0aWVzIGJ1dCBub3QgaXRzIGN1cnJl bnQNCmF0dHJpYnV0ZXMuIA0KDQpUaGlzIGNhbiBleHBsYWluIHdoeSA0KSB3aWxsIGZhaWwgYnV0 IDYpIHdpbGwgc3VjY2VlZC4gQWx0aG91Z2ggbWVtbWFwIHNob3dzIGFsbCBydW50aW1lIA0KZHJp dmVyIGltYWdlIG1lbW9yeSBhcyBSVF9Db2RlLCBidXQgdGhleSdyZSBub3QgYWxsIGNvZGUgc2Vn bWVudC4gSW5zdGVhZCBzb21lIG9mIHRoZW0gYXJlIA0KYWN0dWFsbHkgZGF0YSBzZWdtZW50Lg0K DQpJdCdzIG5vcm1hbCB0byBtYXJrIGNvZGUgc2VnbWVudCB0byBiZSBSTyBhbmQgZGF0YSBzZWdt ZW50IHRvIGJlIFhQLiBCdXQgbWFyayBkYXRhIHNlZ21lbnQNCnRvIGJlIFJPIHdpbGwgY2F1c2Ug cnVudGltZSBzZXJ2aWNlcyBmYWlsdXJlLiA0KSBzaG93cyBhbGwgUlRfQ29kZSB0byBiZSBYWFgy NFhYWCwgd2hpY2ggbWVhbnMNCkZlZG9yYSBrZXJuZWwgd2lsbCBtYXJrIGFsbCBjb2RlIHNlZ21l bnQgYW5kIGRhdGEgc2VnbWVudCB0byBiZSBSTyBhbmQgWFAgbWlzdGFrZW5seSwgYmFzZWQgDQpv biBteSBwcmV2aW91cyBoeXBvdGhlc2lzLiBUaGlzIGNhbiBhbHNvIGV4cGxhaW4gd2h5IDEpLCAy KSwgMykgd2lsbCBmYWlsIHRoZSBib290IGJlY2F1c2UgWFhYMjZYWFgNCndpbGwgbGV0IEZlZG9y YSBrZXJuZWwgdG8gbWFyayBSVF9Db2RlIG1lbW9yeSBibG9jayB0byBiZSBub3QtcHJlc2VudC4N Cg0KSSBoYXZlbid0IGdvdCB0aW1lIHRvIGxvb2sgaW50byB0aGUgTGludXgga2VybmVsIHNvdXJj ZSBzbyBJIGNhbid0IGNvbmZpcm0gYWJvdmUgYW5hbHlzaXMgeWV0Lg0KSSB0aGluayB5b3UncmUg bW9yZSBmYW1pbGlhciB3aXRoIGtlcm5lbCBzb3VyY2UgdGhhbiB1cy4gTWF5YmUgeW91IGNvdWxk IGhlbHAgdG8gdGFrZSBhIGxvb2suDQoNClRoYW5rcywNCkppYW4NCg0KPiAtLS0tLU9yaWdpbmFs IE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBMYXN6bG8gRXJzZWsgW21haWx0bzpsZXJzZWtAcmVkaGF0 LmNvbV0NCj4gU2VudDogRnJpZGF5LCBOb3ZlbWJlciAxMCwgMjAxNyA4OjI0IFBNDQo+IFRvOiBX YW5nLCBKaWFuIEogPGppYW4uai53YW5nQGludGVsLmNvbT4NCj4gQ2M6IGVkazItZGV2ZWxAbGlz dHMuMDEub3JnOyBEb25nLCBFcmljIDxlcmljLmRvbmdAaW50ZWwuY29tPjsgWWFvLCBKaWV3ZW4N Cj4gPGppZXdlbi55YW9AaW50ZWwuY29tPjsgQXJkIEJpZXNoZXV2ZWwgPGFyZC5iaWVzaGV1dmVs QGxpbmFyby5vcmc+OyBNYXR0DQo+IEZsZW1pbmcgPG1hdHRAY29kZWJsdWVwcmludC5jby51az4N Cj4gU3ViamVjdDogUmU6IFtQQVRDSCB2NV0gVWVmaUNwdVBrZy9DcHVEeGU6IEZpeCBtdWx0aXBs ZSBlbnRyaWVzIG9mIFJUX0NPREUgaW4NCj4gbWVtb3J5IG1hcA0KPiANCj4gSGkgSmlhbiwNCj4g DQo+IEknbSBDQydpbmcgQXJkIGFuZCBNYXR0LCBhbmQgY29tbWVudGluZyBhdCB0aGUgYm90dG9t Lg0KPiANCj4gT24gMTEvMTAvMTcgMDI6MDIsIEppYW4gSiBXYW5nIHdyb3RlOg0KPiA+PiB2NToN Cj4gPj4gICAgQ29kaW5nIHN0eWxlIGNsZWFuLXVwDQo+ID4NCj4gPj4gdjQ6DQo+ID4+IGEuIFJl bW92ZSBEb1VwZGF0ZSBhbmQgY2hlY2sgYXR0cmlidXRlcyBtaXNtYXRjaCBhbGwgdGhlIHRpbWUg dG8gYXZvaWQNCj4gPj4gICAgYSBsb2dpYyBob2xlDQo+ID4+IGIuIEFkZCB3YXJuaW5nIG1lc3Nh Z2UgaWYgZmFpbGVkIHRvIHVwZGF0ZSBjYXBhYmlsaXR5DQo+ID4+IGMuIEFkZCBsb2NhbCB2YXJp YWJsZSB0byBob2xkIG5ldyBhdHRyaWJ1dGVzIHRvIG1ha2UgY29kZSBjbGVhbmVyDQo+ID4NCj4g Pj4gdjM6DQo+ID4+IGEuIEFkZCBjb21tZW50IHRvIGV4cGxhaW4gbW9yZSBvbiB1cGRhdGluZyBt ZW1vcnkgY2FwYWJpbGl0aWVzDQo+ID4+IGIuIEZpeCBsb2dpYyBob2xlIGluIHVwZGF0aW5nIGF0 dHJpYnV0ZXMNCj4gPj4gYy4gSW5zdGVhZCBvZiBjaGVja2luZyBpbGxlZ2FsIG1lbW9yeSBzcGFj ZSBhZGRyZXNzIGFuZCBzaXplLCB1c2UgcmV0dXJuDQo+ID4+ICAgIHN0YXR1cyBvZiBnRFMtPlNl dE1lbW9yeVNwYWNlQ2FwYWJpbGl0aWVzKCkgdG8gc2tpcCBtZW1vcnkgYmxvY2sgd2hpY2gNCj4g Pj4gICAgY2Fubm90IGJlIHVwZGF0ZWQgd2l0aCBuZXcgY2FwYWJpbGl0aWVzLg0KPiA+DQo+ID4+ IHYyDQo+ID4+IGEuIEZpeCBhbiBpc3N1ZSB3aGljaCB3aWxsIGNhdXNlIHNldHRpbmcgY2FwYWJp bGl0eSBmYWlsdXJlIGlmIHNpemUgaXMgc21hbGxlcg0KPiA+PiAgICB0aGFuIGEgcGFnZS4NCj4g Pg0KPiA+IE1vcmUgdGhhbiBvbmUgZW50cnkgb2YgUlRfQ09ERSBtZW1vcnkgbWlnaHQgY2F1c2Ug Ym9vdCBwcm9ibGVtIGZvcg0KPiBzb21lDQo+ID4gb2xkIE9Tcy4gVGhpcyBwYXRjaCB3aWxsIGZp eCB0aGlzIGlzc3VlIHRvIGtlZXAgT1MgY29tcGF0aWJpbGl0eSBhcyBtdWNoDQo+ID4gYXMgcG9z c2libGUuDQo+ID4NCj4gPiBNb3JlIGRldGFpbGVkIGluZm9ybWF0aW9uLCBwbGVhc2UgcmVmZXIg dG8NCj4gPiAgICAgaHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9p ZD03NTMNCj4gPg0KPiA+IENjOiBFcmljIERvbmcgPGVyaWMuZG9uZ0BpbnRlbC5jb20+DQo+ID4g Q2M6IEppZXdlbiBZYW8gPGppZXdlbi55YW9AaW50ZWwuY29tPg0KPiA+IENjOiBMYXN6bG8gRXJz ZWsgPGxlcnNla0ByZWRoYXQuY29tPg0KPiA+IENvbnRyaWJ1dGVkLXVuZGVyOiBUaWFub0NvcmUg Q29udHJpYnV0aW9uIEFncmVlbWVudCAxLjENCj4gPiBTaWduZWQtb2ZmLWJ5OiBKaWFuIEogV2Fu ZyA8amlhbi5qLndhbmdAaW50ZWwuY29tPg0KPiA+IC0tLQ0KPiA+ICBVZWZpQ3B1UGtnL0NwdUR4 ZS9DcHVQYWdlVGFibGUuYyB8IDY5DQo+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0t LS0tLS0tLS0NCj4gPiAgMSBmaWxlIGNoYW5nZWQsIDUwIGluc2VydGlvbnMoKyksIDE5IGRlbGV0 aW9ucygtKQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL1VlZmlDcHVQa2cvQ3B1RHhlL0NwdVBhZ2VU YWJsZS5jDQo+IGIvVWVmaUNwdVBrZy9DcHVEeGUvQ3B1UGFnZVRhYmxlLmMNCj4gPiBpbmRleCBk MzEyZWI2NmY4Li42MTUzNzgzOGI3IDEwMDY0NA0KPiA+IC0tLSBhL1VlZmlDcHVQa2cvQ3B1RHhl L0NwdVBhZ2VUYWJsZS5jDQo+ID4gKysrIGIvVWVmaUNwdVBrZy9DcHVEeGUvQ3B1UGFnZVRhYmxl LmMNCj4gPiBAQCAtNzg5LDggKzc4OSw3IEBAIFJlZnJlc2hHY2RNZW1vcnlBdHRyaWJ1dGVzRnJv bVBhZ2luZyAoDQo+ID4gICAgVUlOVDY0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmFz ZUFkZHJlc3M7DQo+ID4gICAgVUlOVDY0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFn ZVN0YXJ0QWRkcmVzczsNCj4gPiAgICBVSU5UNjQgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBBdHRyaWJ1dGVzOw0KPiA+IC0gIFVJTlQ2NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IENhcGFiaWxpdGllczsNCj4gPiAtICBCT09MRUFOICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBEb1VwZGF0ZTsNCj4gPiArICBVSU5UNjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBO ZXdBdHRyaWJ1dGVzOw0KPiA+ICAgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IEluZGV4Ow0KPiA+DQo+ID4gICAgLy8NCj4gPiBAQCAtODAyLDkgKzgwMSw4IEBAIFJlZnJlc2hH Y2RNZW1vcnlBdHRyaWJ1dGVzRnJvbVBhZ2luZyAoDQo+ID4NCj4gPiAgICBHZXRDdXJyZW50UGFn aW5nQ29udGV4dCAoJlBhZ2luZ0NvbnRleHQpOw0KPiA+DQo+ID4gLSAgRG9VcGRhdGUgICAgICA9 IEZBTFNFOw0KPiA+IC0gIENhcGFiaWxpdGllcyAgPSAwOw0KPiA+ICAgIEF0dHJpYnV0ZXMgICAg PSAwOw0KPiA+ICsgIE5ld0F0dHJpYnV0ZXMgPSAwOw0KPiA+ICAgIEJhc2VBZGRyZXNzICAgPSAw Ow0KPiA+ICAgIFBhZ2VMZW5ndGggICAgPSAwOw0KPiA+DQo+ID4gQEAgLTgxMyw2ICs4MTEsMzQg QEAgUmVmcmVzaEdjZE1lbW9yeUF0dHJpYnV0ZXNGcm9tUGFnaW5nICgNCj4gPiAgICAgICAgY29u dGludWU7DQo+ID4gICAgICB9DQo+ID4NCj4gPiArICAgIC8vDQo+ID4gKyAgICAvLyBTeW5jIHRo ZSBhY3R1YWwgcGFnaW5nIHJlbGF0ZWQgY2FwYWJpbGl0aWVzIGJhY2sgdG8gR0NEIHNlcnZpY2Ug Zmlyc3QuDQo+ID4gKyAgICAvLyBBcyBhIHNpZGUgZWZmZWN0IChnb29kIG9uZSksIHRoaXMgY2Fu IGFsc28gaGVscCB0byBhdm9pZCB1bm5lY2Vzc2FyeQ0KPiA+ICsgICAgLy8gbWVtb3J5IG1hcCBl bnRyaWVzIGR1ZSB0byB0aGUgZGlmZmVyZW50IGNhcGFiaWxpdGllcyBvZiB0aGUgc2FtZSB0eXBl DQo+ID4gKyAgICAvLyBtZW1vcnksIHN1Y2ggYXMgbXVsdGlwbGUgUlRfQ09ERSBhbmQgUlRfREFU QSBlbnRyaWVzIGluIG1lbW9yeQ0KPiBtYXAsDQo+ID4gKyAgICAvLyB3aGljaCBjb3VsZCBjYXVz ZSBib290IGZhaWx1cmUgb2Ygc29tZSBvbGQgTGludXggZGlzdHJvIChiZWZvcmUgdjQuMykuDQo+ ID4gKyAgICAvLw0KPiA+ICsgICAgU3RhdHVzID0gZ0RTLT5TZXRNZW1vcnlTcGFjZUNhcGFiaWxp dGllcyAoDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgTWVtb3J5U3BhY2VNYXBbSW5kZXhdLkJh c2VBZGRyZXNzLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgIE1lbW9yeVNwYWNlTWFwW0luZGV4 XS5MZW5ndGgsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgTWVtb3J5U3BhY2VNYXBbSW5kZXhd LkNhcGFiaWxpdGllcyB8DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgRUZJX01FTU9SWV9QQUdF VFlQRV9NQVNLDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgKTsNCj4gPiArICAgIGlmIChFRklf RVJST1IgKFN0YXR1cykpIHsNCj4gPiArICAgICAgLy8NCj4gPiArICAgICAgLy8gSWYgd2UgY2Fu bm90IHVkcGF0ZSB0aGUgY2FwYWJpbGl0aWVzLCB3ZSBjYW5ub3QgdXBkYXRlIGl0cw0KPiA+ICsg ICAgICAvLyBhdHRyaWJ1dGVzIGVpdGhlci4gU28ganVzdCBzaW1wbHkgc2tpcCBjdXJyZW50IGJs b2NrIG9mIG1lbW9yeS4NCj4gPiArICAgICAgLy8NCj4gPiArICAgICAgREVCVUcgKCgNCj4gPiAr ICAgICAgICBERUJVR19XQVJOLA0KPiA+ICsgICAgICAgICJGYWlsZWQgdG8gdXBkYXRlIGNhcGFi aWxpdHk6IFslbHVdICUwMTZseCAtICUwMTZseCAoJTAxNmx4IC0NCj4gPiAlMDE2bHgpXHJcbiIs DQo+ID4gKyAgICAgICAgKFVJTlQ2NClJbmRleCwgQmFzZUFkZHJlc3MsIEJhc2VBZGRyZXNzICsg TGVuZ3RoIC0gMSwNCj4gPiArICAgICAgICBNZW1vcnlTcGFjZU1hcFtJbmRleF0uQ2FwYWJpbGl0 aWVzLA0KPiA+ICsgICAgICAgIE1lbW9yeVNwYWNlTWFwW0luZGV4XS5DYXBhYmlsaXRpZXMgfCBF RklfTUVNT1JZX1BBR0VUWVBFX01BU0sNCj4gPiArICAgICAgICApKTsNCj4gPiArICAgICAgY29u dGludWU7DQo+ID4gKyAgICB9DQo+ID4gKw0KPiA+ICAgICAgaWYgKE1lbW9yeVNwYWNlTWFwW0lu ZGV4XS5CYXNlQWRkcmVzcyA+PSAoQmFzZUFkZHJlc3MgKyBQYWdlTGVuZ3RoKSkgew0KPiA+ICAg ICAgICAvLw0KPiA+ICAgICAgICAvLyBDdXJyZW50IG1lbW9yeSBzcGFjZSBzdGFydHMgYXQgYSBu ZXcgcGFnZS4gUmVzZXR0aW5nIFBhZ2VMZW5ndGggd2lsbA0KPiA+IEBAIC04MjYsNyArODUyLDkg QEAgUmVmcmVzaEdjZE1lbW9yeUF0dHJpYnV0ZXNGcm9tUGFnaW5nICgNCj4gPiAgICAgICAgUGFn ZUxlbmd0aCAtPSAoTWVtb3J5U3BhY2VNYXBbSW5kZXhdLkJhc2VBZGRyZXNzIC0gQmFzZUFkZHJl c3MpOw0KPiA+ICAgICAgfQ0KPiA+DQo+ID4gLSAgICAvLyBTeW5jIHJlYWwgcGFnZSBhdHRyaWJ1 dGVzIHRvIEdDRA0KPiA+ICsgICAgLy8NCj4gPiArICAgIC8vIFN5bmMgYWN0dWFsIHBhZ2UgYXR0 cmlidXRlcyB0byBHQ0QNCj4gPiArICAgIC8vDQo+ID4gICAgICBCYXNlQWRkcmVzcyAgICAgICA9 IE1lbW9yeVNwYWNlTWFwW0luZGV4XS5CYXNlQWRkcmVzczsNCj4gPiAgICAgIE1lbW9yeVNwYWNl TGVuZ3RoID0gTWVtb3J5U3BhY2VNYXBbSW5kZXhdLkxlbmd0aDsNCj4gPiAgICAgIHdoaWxlIChN ZW1vcnlTcGFjZUxlbmd0aCA+IDApIHsNCj4gPiBAQCAtODQyLDIzICs4NzAsMjYgQEAgUmVmcmVz aEdjZE1lbW9yeUF0dHJpYnV0ZXNGcm9tUGFnaW5nICgNCj4gPiAgICAgICAgICBQYWdlU3RhcnRB ZGRyZXNzICA9ICgqUGFnZUVudHJ5KSAmDQo+IChVSU5UNjQpUGFnZUF0dHJpYnV0ZVRvTWFzayhQ YWdlQXR0cmlidXRlKTsNCj4gPiAgICAgICAgICBQYWdlTGVuZ3RoICAgICAgICA9IFBhZ2VBdHRy aWJ1dGVUb0xlbmd0aCAoUGFnZUF0dHJpYnV0ZSkgLSAoQmFzZUFkZHJlc3MgLQ0KPiBQYWdlU3Rh cnRBZGRyZXNzKTsNCj4gPiAgICAgICAgICBBdHRyaWJ1dGVzICAgICAgICA9IEdldEF0dHJpYnV0 ZXNGcm9tUGFnZUVudHJ5IChQYWdlRW50cnkpOw0KPiA+IC0NCj4gPiAtICAgICAgICBpZiAoQXR0 cmlidXRlcyAhPSAoTWVtb3J5U3BhY2VNYXBbSW5kZXhdLkF0dHJpYnV0ZXMgJg0KPiBFRklfTUVN T1JZX1BBR0VUWVBFX01BU0spKSB7DQo+ID4gLSAgICAgICAgICBEb1VwZGF0ZSA9IFRSVUU7DQo+ ID4gLSAgICAgICAgICBBdHRyaWJ1dGVzIHw9IChNZW1vcnlTcGFjZU1hcFtJbmRleF0uQXR0cmli dXRlcyAmDQo+IH5FRklfTUVNT1JZX1BBR0VUWVBFX01BU0spOw0KPiA+IC0gICAgICAgICAgQ2Fw YWJpbGl0aWVzID0gQXR0cmlidXRlcyB8IE1lbW9yeVNwYWNlTWFwW0luZGV4XS5DYXBhYmlsaXRp ZXM7DQo+ID4gLSAgICAgICAgfSBlbHNlIHsNCj4gPiAtICAgICAgICAgIERvVXBkYXRlID0gRkFM U0U7DQo+ID4gLSAgICAgICAgfQ0KPiA+ICAgICAgICB9DQo+ID4NCj4gPiAgICAgICAgTGVuZ3Ro ID0gTUlOIChQYWdlTGVuZ3RoLCBNZW1vcnlTcGFjZUxlbmd0aCk7DQo+ID4gLSAgICAgIGlmIChE b1VwZGF0ZSkgew0KPiA+IC0gICAgICAgIGdEUy0+U2V0TWVtb3J5U3BhY2VDYXBhYmlsaXRpZXMg KEJhc2VBZGRyZXNzLCBMZW5ndGgsIENhcGFiaWxpdGllcyk7DQo+ID4gLSAgICAgICAgZ0RTLT5T ZXRNZW1vcnlTcGFjZUF0dHJpYnV0ZXMgKEJhc2VBZGRyZXNzLCBMZW5ndGgsIEF0dHJpYnV0ZXMp Ow0KPiA+IC0gICAgICAgIERFQlVHICgoREVCVUdfSU5GTywgIlVwZGF0ZSBtZW1vcnkgc3BhY2Ug YXR0cmlidXRlOiBbJTAyZF0gJTAxNmx4DQo+IC0gJTAxNmx4ICglMDhseCAtPiAlMDhseClcclxu IiwNCj4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbmRleCwgQmFzZUFkZHJlc3Ms IEJhc2VBZGRyZXNzICsgTGVuZ3RoIC0gMSwNCj4gPiAtICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBNZW1vcnlTcGFjZU1hcFtJbmRleF0uQXR0cmlidXRlcywgQXR0cmlidXRlcykpOw0KPiA+ ICsgICAgICBpZiAoQXR0cmlidXRlcyAhPSAoTWVtb3J5U3BhY2VNYXBbSW5kZXhdLkF0dHJpYnV0 ZXMgJg0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgRUZJX01FTU9SWV9QQUdFVFlQRV9N QVNLKSkgew0KPiA+ICsgICAgICAgIE5ld0F0dHJpYnV0ZXMgPSAoTWVtb3J5U3BhY2VNYXBbSW5k ZXhdLkF0dHJpYnV0ZXMgJg0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgfkVGSV9NRU1P UllfUEFHRVRZUEVfTUFTSykgfCBBdHRyaWJ1dGVzOw0KPiA+ICsgICAgICAgIFN0YXR1cyA9IGdE Uy0+U2V0TWVtb3J5U3BhY2VBdHRyaWJ1dGVzICgNCj4gPiArICAgICAgICAgICAgICAgICAgICAg ICAgQmFzZUFkZHJlc3MsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgIExlbmd0aCwNCj4g PiArICAgICAgICAgICAgICAgICAgICAgICAgTmV3QXR0cmlidXRlcw0KPiA+ICsgICAgICAgICAg ICAgICAgICAgICAgICApOw0KPiA+ICsgICAgICAgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7 DQo+ID4gKyAgICAgICAgREVCVUcgKCgNCj4gPiArICAgICAgICAgIERFQlVHX0lORk8sDQo+ID4g KyAgICAgICAgICAiVXBkYXRlZCBtZW1vcnkgc3BhY2UgYXR0cmlidXRlOiBbJWx1XSAlMDE2bHgg LSAlMDE2bHggKCUwMTZseCAtDQo+ID4gJTAxNmx4KVxyXG4iLA0KPiA+ICsgICAgICAgICAgKFVJ TlQ2NClJbmRleCwgQmFzZUFkZHJlc3MsIEJhc2VBZGRyZXNzICsgTGVuZ3RoIC0gMSwNCj4gPiAr ICAgICAgICAgIE1lbW9yeVNwYWNlTWFwW0luZGV4XS5BdHRyaWJ1dGVzLA0KPiA+ICsgICAgICAg ICAgTmV3QXR0cmlidXRlcw0KPiA+ICsgICAgICAgICAgKSk7DQo+ID4gICAgICAgIH0NCj4gPg0K PiA+ICAgICAgICBQYWdlTGVuZ3RoICAgICAgICAtPSBMZW5ndGg7DQo+ID4NCj4gDQo+IFNvLCBJ IHdhcyByZWFkeSB0byBnaXZlIG15IFItYiBmb3IgdGhpcyBwYXRjaCwgYnV0IHRoZW4gSSBhbHNv IHdhbnRlZCB0bw0KPiB0ZXN0IGl0LiBJIGFwcGxpZWQgdGhlIHBhdGNoIG9uIGN1cnJlbnQgZWRr MiBtYXN0ZXIgKDdlMmE4ZGZlOGE5YSwNCj4gIkFybVBsYXRmb3JtUGtnL1ByZVBlaUNvcmU6IHNl ZWQgdGVtcG9yYXJ5IHN0YWNrIGJlZm9yZSBlbnRlcmluZyBQRUkNCj4gY29yZSIsIDIwMTctMTAt MjApLCBhbmQgYnVpbHQgT1ZNRiBsaWtlIHRoaXM6DQo+IA0KPiAkIGJ1aWxkIFwNCj4gICAtYSBJ QTMyIFwNCj4gICAtYSBYNjQgXA0KPiAgIC1wIE92bWZQa2cvT3ZtZlBrZ0lhMzJYNjQuZHNjIFwN Cj4gICAtdCBHQ0M0OCBcDQo+ICAgLWIgTk9PUFQgXA0KPiAgIC1EIFNNTV9SRVFVSVJFIFwNCj4g ICAtRCBTRUNVUkVfQk9PVF9FTkFCTEUgXA0KPiAgIC1EIEUxMDAwX0VOQUJMRSBcDQo+ICAgLUQg SFRUUF9CT09UX0VOQUJMRQ0KPiANCj4gRm9yIHRlc3RpbmcgSSB1c2VkIGEgcmVjZW50LWlzaCB1 cHN0cmVhbSBRRU1VIGRldmVsb3BtZW50IGJ1aWxkDQo+IChhZTQ5ZmJiY2Q4ZTQsICJNZXJnZSBy ZW1vdGUtdHJhY2tpbmcgYnJhbmNoDQo+ICdyZW1vdGVzL3J0aC90YWdzL3B1bGwtdGNnLTIwMTcx MDI1JyBpbnRvIHN0YWdpbmciLCAyMDE3LTEwLTI1KSwgd2l0aA0KPiB0aGUgUTM1IG1hY2hpbmUg dHlwZSAod2hpY2ggaXMgcmVxdWlyZWQgYnkgU01NIGFueXdheSkuDQo+IA0KPiBUaGUgcmVzdWx0 cyB2YXJ5IGFjcm9zcyBndWVzdCBPU2VzOg0KPiANCj4gKDEpIFVwLXRvLWRhdGUgRmVkb3JhIDI2 IGd1ZXN0IGNyYXNoZXMgZHVyaW5nIGJvb3QsIHdpdGggdGhlIGZvbGxvd2luZw0KPiBjYWxsIHN0 YWNrOg0KPiANCj4gQlVHOiB1bmFibGUgdG8gaGFuZGxlIGtlcm5lbCBwYWdpbmcgcmVxdWVzdCBh dCBmZmZmZmZmZWZlODkzMDE4DQo+IENhbGwgVHJhY2U6DQo+ICA/IF9fY2hhbmdlX3BhZ2VfYXR0 cl9zZXRfY2xyKzB4YWE2LzB4ZDcwDQo+ICA/IGtlcm5lbF9tYXBfcGFnZXNfaW5fcGdkKzB4YmMv MHhkMA0KPiAgPyBlZmlfY2FsbCsweDU4LzB4OTANCj4gID8gdmlydF9lZmlfc2V0X3ZhcmlhYmxl LnBhcnQuNysweDY2LzB4MTIwDQo+ICA/IHZpcnRfZWZpX3NldF92YXJpYWJsZSsweDRmLzB4NjAN Cj4gID8gZWZpX2RlbGV0ZV9kdW1teV92YXJpYWJsZSsweDYyLzB4OTANCj4gID8gZWZpX2VudGVy X3ZpcnR1YWxfbW9kZSsweDRkNC8weDRlOA0KPiAgPyBlZmlfZW50ZXJfdmlydHVhbF9tb2RlKzB4 NGQ0LzB4NGU4DQo+ICA/IHN0YXJ0X2tlcm5lbCsweDQ0Mi8weDRlNg0KPiAgPyBlYXJseV9pZHRf aGFuZGxlcl9hcnJheSsweDEyMC8weDEyMA0KPiAgPyB4ODZfNjRfc3RhcnRfcmVzZXJ2YXRpb25z KzB4MjQvMHgyNg0KPiAgPyB4ODZfNjRfc3RhcnRfa2VybmVsKzB4MTNlLzB4MTYxDQo+ICA/IHNl Y29uZGFyeV9zdGFydHVwXzY0KzB4OWYvMHg5Zg0KPiANCj4gKDIpIFRoZSBmb2xsb3dpbmcgV2lu ZG93cyBPU2VzIGFsbCBib290IHN1Y2Nlc3NmdWxseToNCj4gDQo+IC0gV2luZG93cyA3DQo+IC0g V2luZG93cyBTZXJ2ZXIgMjAwOCBSMg0KPiAtIFdpbmRvd3MgOC4xDQo+IC0gV2luZG93cyBTZXJ2 ZXIgMjAxMiBSMg0KPiAtIFdpbmRvd3MgMTANCj4gDQo+ICgzKSBXaW5kb3dzIFNlcnZlciAyMDE2 IGNyYXNoZXMgd2l0aCBhIEJTT0Q7IHJlcG9ydGluZyAiQVRURU1QVEVEIFdSSVRFDQo+IFRPIFJF QURPTkxZIE1FTU9SWSIuDQo+IA0KPiAoV2l0aG91dCB0aGUgcGF0Y2gsIGFsbCBPU2VzIGJvb3Qg T0suKQ0KPiANCj4gDQo+IEknbSBhdHRhY2hpbmcgYSBaSVAgZmlsZSB3aXRoIHRoZSBmb2xsb3dp bmcgY29udGVudHMgKG5vdGUgdGhhdCBJJ2xsDQo+IGF0dGFjaCB0aGUgc2FtZSBmaWxlIHRvIFRp YW5vQ29yZSBCWiM3NTMgYXMgd2VsbCwgYmVjYXVzZSB0aGUgbWFpbGluZw0KPiBsaXN0IGFyY2hp dmUocykgZG9uJ3Qgc2VlbSB0byBwcmVzZXJ2ZSBhdHRhY2htZW50cyk6DQo+IA0KPiAtICJvdm1m LnByZS50eHQiLCAic2hlbGwubWVtbWFwLnByZS50eHQiLCAia2VybmVsLnByZS50eHQiOiBPVk1G IGxvZywNCj4gTUVNTUFQIGNvbW1hbmQgb3V0cHV0IGluIHRoZSBVRUZJIHNoZWxsLCBhbmQgRmVk b3JhIDI2IGtlcm5lbCBib290IGxvZw0KPiAoc3VjY2Vzc2Z1bCkgKmJlZm9yZSogYXBwbHlpbmcg eW91ciBwYXRjaC4gVGhlIGtlcm5lbCBsb2cgaXMgZGV0YWlsZWQNCj4gKHRoZSBjbWRsaW5lIGhh ZCAiaWdub3JlX2xvZ2xldmVsIiBhbmQgImVmaT1kZWJ1ZyIpLg0KPiANCj4gLSAib3ZtZi5wb3N0 LnR4dCIsICJzaGVsbC5tZW1tYXAucG9zdC50eHQiLCAia2VybmVsLnBvc3QudHh0Ijogc2FtZQ0K PiBmaWxlcyBhcyBhYm92ZSwgYnV0IHNhdmVkICphZnRlciogYXBwbHlpbmcgeW91ciBwYXRjaC4g VGhpcyBpcyB3aGVuIHRoZQ0KPiBGMjYga2VybmVsIGNyYXNoZXMuDQo+IA0KPiAtICJ3aW4yMDE2 LnBvc3QucG5nIjogc2NyZWVuc2hvdCBvZiB0aGUgV2luZG93cyBTZXJ2ZXIgMjAxNiBib290IGZh aWx1cmUNCj4gKGFmdGVyIHRoZSBwYXRjaCB3YXMgYXBwbGllZCkuDQo+IA0KPiBUaGFua3MsDQo+ IExhc3psbw0K