From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=pass header.i=@amdcloud.onmicrosoft.com header.s=selector2-amdcloud-onmicrosoft-com header.b=rj4DOjPg; spf=none, err=SPF record not found (domain: amd.com, ip: 40.107.78.81, mailfrom: thomas.lendacky@amd.com) Received: from NAM03-BY2-obe.outbound.protection.outlook.com (NAM03-BY2-obe.outbound.protection.outlook.com [40.107.78.81]) by groups.io with SMTP; Tue, 24 Sep 2019 11:57:44 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PFE6ZR7eCm7Qg25xFo0+JtodVHdt0jgWcq8iBkJP9ulBk6047p4RkfH48XFFiEzxlEDY2IR9wM72IjgEwsJMoJ1k6GkbC7cFPnXHZ8WWpp0FKDixGibMWQIjj3MSM+0K7Uj8gochFOv8UysrsDVqJgBK7nONtb2aOqU10VpvoaqBKkJMhkZ0iGRl+cp+00EIPxpj6pGoXItLGmrAAro4cLfww4+5YsEDVK8eR8nWR+I+6BJpGa8p2z+/f4xS99Xj4cM86bM5vYg4vVgr5D7mNVHWQPjVNStxFOPf8DNDkszxU2uMdfD7a0TWB6/YxOyHfj5DZ0YDlAcb0/zBjDmfnw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=RA2B3y3J+UlWJtpxE8BIdMsb/yayoUk/MijGDl8z+cQ=; b=idi+VkyoQMS8L5zhhAtRprOyPpiZuVT2rNpEPaouY4AsSKd4UuclN8GGvmUtBzonc0753WQk3xYYZo8dnfTr7ZQpDIe/qpihCK6dLWFcV2nhwUvH0uSaxk49SNI98CQOlAlO7+7KSf4pZi2O64+xA/Yxv5TOQMCuDc8fyf2xnmB4BNfbGjumewrrsh/6UN6sZl1HilEAa42ly6o+qvzbIgucxySElvTlQnvBJ4VKp4XXh4BR5tzSXmSDMeZ3dvHZvTHpI0PuGtzxa6eDGpmRl6bUOF81we+K5FDToO28+doEU3L0h3RrQB2wHV2NaKc44Yb30ClRg3kJ952Kws/a3A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector2-amdcloud-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=RA2B3y3J+UlWJtpxE8BIdMsb/yayoUk/MijGDl8z+cQ=; b=rj4DOjPgcXFBFATd4+V6M//LNhu+wlBrLkG27RW3Ke6vboUl5Mk7qga5irljU5fBQXWlA2s/iUDbx+KrJL9fOq6Jg2tqvunNek4H6w0dQ9re11rV4A20SNCktECm3LSBfVejTEOPpA7rTi1HbAE7XNTmR35MDS1HjamH5FHyW2Q= Received: from DM6PR12MB3163.namprd12.prod.outlook.com (20.179.104.150) by DM6PR12MB3467.namprd12.prod.outlook.com (20.178.199.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2284.26; Tue, 24 Sep 2019 18:57:43 +0000 Received: from DM6PR12MB3163.namprd12.prod.outlook.com ([fe80::400e:f0c3:7ca:2fcc]) by DM6PR12MB3163.namprd12.prod.outlook.com ([fe80::400e:f0c3:7ca:2fcc%6]) with mapi id 15.20.2284.023; Tue, 24 Sep 2019 18:57:43 +0000 From: "Lendacky, Thomas" To: Laszlo Ersek , "devel@edk2.groups.io" CC: Jordan Justen , Ard Biesheuvel , Michael D Kinney , Liming Gao , Eric Dong , Ray Ni , "Singh, Brijesh" Subject: Re: [edk2-devel] [RFC PATCH v2 04/44] OvmfPkg/ResetVector: Add support for a 32-bit SEV check Thread-Topic: [edk2-devel] [RFC PATCH v2 04/44] OvmfPkg/ResetVector: Add support for a 32-bit SEV check Thread-Index: AQHVbyPEW2twUlghfEifX1FioTvTGKc63XkAgABYIYA= Date: Tue, 24 Sep 2019 18:57:43 +0000 Message-ID: <4dda0b6e-c464-ef55-2745-ad6beabb98b7@amd.com> References: <54ebf48fe05c20a1181a3dc90496e4835912ebf2.1568922728.git.thomas.lendacky@amd.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: SN6PR04CA0105.namprd04.prod.outlook.com (2603:10b6:805:f2::46) To DM6PR12MB3163.namprd12.prod.outlook.com (2603:10b6:5:182::22) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Thomas.Lendacky@amd.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [165.204.78.1] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: b9b2ab30-1e62-49e3-019e-08d74121145e x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(5600167)(711020)(4605104)(1401327)(4618075)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7193020);SRVR:DM6PR12MB3467; x-ms-traffictypediagnostic: DM6PR12MB3467: x-ms-exchange-purlcount: 2 x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:3968; x-forefront-prvs: 0170DAF08C x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(4636009)(346002)(376002)(366004)(136003)(39860400002)(396003)(189003)(199004)(51914003)(229853002)(14444005)(478600001)(2906002)(486006)(26005)(186003)(53546011)(476003)(6506007)(52116002)(71190400001)(2616005)(71200400001)(102836004)(966005)(6116002)(86362001)(316002)(66066001)(2501003)(5660300002)(99286004)(14454004)(6436002)(386003)(256004)(30864003)(6306002)(305945005)(54906003)(7736002)(446003)(11346002)(8676002)(19627235002)(8936002)(31686004)(66556008)(3846002)(6486002)(76176011)(6246003)(64756008)(66446008)(66946007)(81166006)(31696002)(110136005)(66476007)(6512007)(25786009)(4326008)(36756003)(81156014);DIR:OUT;SFP:1101;SCL:1;SRVR:DM6PR12MB3467;H:DM6PR12MB3163.namprd12.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; received-spf: None (protection.outlook.com: amd.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: phRgNZNfxT4CKu+SoPHGo3tiahaBya4yafqO7E2iyRwiQFZybiMtgeIE2FcWltiv6SZ91nqX1w0nz8VgSxcP73+dMLV9Ds7zwqyiLR9zWmoM6qhi4N6fbTUjX4b7lLiWfEvjfrYQm0V0DvMl7yihPgo3Cm1DQ47CISpRdkN/sSZG6j1NEd8+0TPUI22lozclqeeFX5bZSwfDHfoAM2S02O2dwDRSeyreTSzp85xsUMfJrowliikhkUx8wCU7yEL03ACInXU58mOCjd4Kc+PQoOjuNCc6mBkATu9gXXSDzsIDhjNwn2B9QKvYtZHJ4ezmsR+xj5bLFayO5ZdjO0pbe3NjDdLEaKJMp8C3dgiDsPYnmSz2pyGXy6Q7ze1nLiHm3R62bIFBsErag+1IWpaYH6vpC04BTKhXyM79gD5rQiBETtKE5b3Cezo0P+FobqLdl5B/Foq0rXenchxH882SKA== MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: b9b2ab30-1e62-49e3-019e-08d74121145e X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Sep 2019 18:57:43.0624 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: B7E08Yft73rLsFaniFUET85xf6pi4H1r0EBpURMbmnK+oS0cEMS5A0BJq8dMQz3lLh9Pxdq3cZIHdzjWuBOV1Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB3467 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-ID: <1F3C31481D0E3345847F493844223AF8@namprd12.prod.outlook.com> Content-Transfer-Encoding: base64 T24gOS8yNC8xOSA4OjQyIEFNLCBMYXN6bG8gRXJzZWsgd3JvdGU6DQo+IE9uIDA5LzE5LzE5IDIx OjUyLCBMZW5kYWNreSwgVGhvbWFzIHdyb3RlOg0KPj4gRnJvbTogVG9tIExlbmRhY2t5IDx0aG9t YXMubGVuZGFja3lAYW1kLmNvbT4NCj4+DQo+PiBCWjogaHR0cHM6Ly9idWd6aWxsYS50aWFub2Nv cmUub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTk4DQo+Pg0KPj4gRHVyaW5nIEJTUCBzdGFydHVwLCB0 aGUgcmVzZXQgdmVjdG9yIGNvZGUgd2lsbCBpc3N1ZSBhIENQVUlEIGluc3RydWN0aW9uDQo+PiB3 aGlsZSBpbiAzMi1iaXQgbW9kZS4gV2hlbiBydW5uaW5nIGFzIGFuIFNFVi1FUyBndWVzdCwgdGhp cyB3aWxsIHRyaWdnZXINCj4+IGEgI1ZDIGV4Y2VwdGlvbi4NCj4gDQo+ICgxKSBJbiB0aGUgYXNz ZW1ibHkgc291cmNlIGNvZGUsIHBsZWFzZSBhbm5vdGF0ZSBib3RoIENQVUlEIGluc3RydWN0aW9u cw0KPiB1bmRlciBDaGVja1NldkZlYXR1cmUsIHN1Y2ggYXMNCj4gDQo+ICAgOyByYWlzZXMgI1ZD IHdoZW4gaW4gYW4gU0VWLUVTIGd1ZXN0DQoNCldpbGwgZG8uDQoNCj4gDQo+Pg0KPj4gQWRkIGV4 Y2VwdGlvbiBoYW5kbGluZyBzdXBwb3J0IHRvIHRoZSBlYXJseSByZXNldCB2ZWN0b3IgY29kZSB0 byBjYXRjaA0KPj4gdGhlc2UgZXhjZXB0aW9ucy4gIEFsc28sIHNpbmNlIHRoZSBndWVzdCBpcyBp biAzMi1iaXQgbW9kZSBhdCB0aGlzIHBvaW50LA0KPj4gd3JpdGVzIHRvIHRoZSBHSENCIHdpbGwg YmUgZW5jcnlwdGVkIGFuZCB0aHVzIG5vdCBhYmxlIHRvIGJlIHJlYWQgYnkgdGhlDQo+PiBoeXBl cnZpc29yLCBzbyB1c2UgdGhlIEdIQ0IgQ1BVSUQgcmVxdWVzdC9yZXNwb25zZSBwcm90b2NvbCB0 byBvYnRhaW4gdGhlDQo+PiByZXF1ZXN0ZWQgQ1BVSUQgZnVuY3Rpb24gdmFsdWVzIGFuZCBwcm92 aWRlIHRoZXNlIHRvIHRoZSBndWVzdC4NCj4+DQo+PiBUaGUgZXhjZXB0aW9uIGhhbmRsaW5nIHN1 cHBvcnQgaXMgYWN0aXZlIGR1cmluZyB0aGUgU0VWIGNoZWNrIGFuZCB1c2VzIHRoZQ0KPj4gT1ZN RiB0ZW1wb3JhcnkgUkFNIHNwYWNlIGZvciBhIHN0YWNrLiBBZnRlciB0aGUgU0VWIGNoZWNrIGlz IGNvbXBsZXRlLCB0aGUNCj4+IGV4Y2VwdGlvbiBoYW5kbGluZyBzdXBwb3J0IGlzIHJlbW92ZWQg YW5kIHRoZSBzdGFjayBwb2ludGVyIGNsZWFyZWQuDQo+Pg0KPj4gQ2M6IEpvcmRhbiBKdXN0ZW4g PGpvcmRhbi5sLmp1c3RlbkBpbnRlbC5jb20+DQo+PiBDYzogTGFzemxvIEVyc2VrIDxsZXJzZWtA cmVkaGF0LmNvbT4NCj4+IENjOiBBcmQgQmllc2hldXZlbCA8YXJkLmJpZXNoZXV2ZWxAbGluYXJv Lm9yZz4NCj4+IFNpZ25lZC1vZmYtYnk6IFRvbSBMZW5kYWNreSA8dGhvbWFzLmxlbmRhY2t5QGFt ZC5jb20+DQo+PiAtLS0NCj4+ICBPdm1mUGtnL1Jlc2V0VmVjdG9yL1Jlc2V0VmVjdG9yLmluZiAg ICAgICB8ICAgMiArDQo+PiAgT3ZtZlBrZy9SZXNldFZlY3Rvci9JYTMyL1BhZ2VUYWJsZXM2NC5h c20gfCAxNzcgKysrKysrKysrKysrKysrKysrKysrLQ0KPj4gIE92bWZQa2cvUmVzZXRWZWN0b3Iv UmVzZXRWZWN0b3IubmFzbWIgICAgIHwgICAxICsNCj4+ICAzIGZpbGVzIGNoYW5nZWQsIDE3OSBp bnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pDQo+Pg0KPj4gZGlmZiAtLWdpdCBhL092bWZQa2cv UmVzZXRWZWN0b3IvUmVzZXRWZWN0b3IuaW5mIGIvT3ZtZlBrZy9SZXNldFZlY3Rvci9SZXNldFZl Y3Rvci5pbmYNCj4+IGluZGV4IGIwZGRmYTU4MzJhMi4uOTYwYjQ3Y2QwNzk3IDEwMDY0NA0KPj4g LS0tIGEvT3ZtZlBrZy9SZXNldFZlY3Rvci9SZXNldFZlY3Rvci5pbmYNCj4+ICsrKyBiL092bWZQ a2cvUmVzZXRWZWN0b3IvUmVzZXRWZWN0b3IuaW5mDQo+PiBAQCAtMzUsMyArMzUsNSBAQCBbQnVp bGRPcHRpb25zXQ0KPj4gIFtQY2RdDQo+PiAgICBnVWVmaU92bWZQa2dUb2tlblNwYWNlR3VpZC5Q Y2RPdm1mU2VjUGFnZVRhYmxlc0Jhc2UNCj4+ICAgIGdVZWZpT3ZtZlBrZ1Rva2VuU3BhY2VHdWlk LlBjZE92bWZTZWNQYWdlVGFibGVzU2l6ZQ0KPj4gKyAgZ1VlZmlPdm1mUGtnVG9rZW5TcGFjZUd1 aWQuUGNkT3ZtZlNlY1BlaVRlbXBSYW1CYXNlDQo+PiArICBnVWVmaU92bWZQa2dUb2tlblNwYWNl R3VpZC5QY2RPdm1mU2VjUGVpVGVtcFJhbVNpemUNCj4+IGRpZmYgLS1naXQgYS9Pdm1mUGtnL1Jl c2V0VmVjdG9yL0lhMzIvUGFnZVRhYmxlczY0LmFzbSBiL092bWZQa2cvUmVzZXRWZWN0b3IvSWEz Mi9QYWdlVGFibGVzNjQuYXNtDQo+PiBpbmRleCBhYmFkMDA5ZjIwZjUuLjQwZjc4MTRjMTEzNCAx MDA2NDQNCj4+IC0tLSBhL092bWZQa2cvUmVzZXRWZWN0b3IvSWEzMi9QYWdlVGFibGVzNjQuYXNt DQo+PiArKysgYi9Pdm1mUGtnL1Jlc2V0VmVjdG9yL0lhMzIvUGFnZVRhYmxlczY0LmFzbQ0KPj4g QEAgLTMzLDEwICszMywyMSBAQCBCSVRTICAgIDMyDQo+PiAgDQo+PiAgOyBDaGVjayBpZiBTZWN1 cmUgRW5jcnlwdGVkIFZpcnR1YWxpemF0aW9uIChTRVYpIGZlYXR1cmUgaXMgZW5hYmxlZA0KPj4g IDsNCj4+IC07IElmIFNFViBpcyBlbmFibGVkIHRoZW4gRUFYIHdpbGwgYmUgYXQgbGVhc3QgMzIN Cj4+ICs7IE1vZGlmaWVkOiAgRUFYLCBFQlgsIEVDWCwgRURYLCBFU1ANCj4+ICs7DQo+PiArOyBJ ZiBTRVYgaXMgZW5hYmxlZCB0aGVuIEVBWCB3aWxsIGJlIGF0IGxlYXN0IDMyLg0KPj4gIDsgSWYg U0VWIGlzIGRpc2FibGVkIHRoZW4gRUFYIHdpbGwgYmUgemVyby4NCj4+ICA7DQo+PiAgQ2hlY2tT ZXZGZWF0dXJlOg0KPj4gKyAgICA7DQo+PiArICAgIDsgU2V0IHVwIGV4Y2VwdGlvbiBoYW5kbGVy cyB0byBjaGVjayBmb3IgU0VWLUVTDQo+PiArICAgIDsgICBMb2FkIHRlbXBvcmFyeSBSQU0gc3Rh Y2sgYmFzZWQgb24gUENEcw0KPj4gKyAgICA7ICAgRXN0YWJsaXNoIGV4Y2VwdGlvbiBoYW5kbGVy cw0KPj4gKyAgICA7DQo+PiArICAgIG1vdiAgICAgICBlc3AsIFNFVl9UT1BfT0ZfU1RBQ0sNCj4g DQo+ICgyKSBDYW4gd2UgJWRlZmluZSBTRVZfVE9QX09GX1NUQUNLIGluIHRoaXMgZmlsZSwgb3Ig ZG9lcyBpdCBoYXZlIHRvIGJlDQo+IGluICJSZXNldFZlY3Rvci5uYXNtYiI/DQoNCkl0IGxvb2tz IGxpa2UgaXQgaGFzIHRvIGJlIGluIFJlc2V0VmVjdG9yLm5hc21iIGZvciBzb21lIHJlYXNvbi4g SWYgSSBtb3ZlDQppdCBpbnRvIHRoaXMgZmlsZSwgaXQgZmFpbHM6DQoNCklhMzIvUGFnZVRhYmxl czY0LmFzbTo3NjogZXJyb3I6IGV4cGVjdGluZyBgKScNCg0KPiANCj4gKDMpIERvIHdlIGhhdmUg YW4gZXN0aW1hdGUgaG93IG11Y2ggc3RhY2sgd2UgbmVlZD8gVGhpcyB3b3VsZCBiZSBhDQo+IGNv bnN0cmFpbnQgb24gUGNkT3ZtZlNlY1BlaVRlbXBSYW1TaXplLiBUaGUgbGltaXQgd291bGQgYmUg bmljZSB0bw0KPiBkb2N1bWVudCAocGVyaGFwcyBpbiBhIGNvbW1lbnQgc29tZXdoZXJlKS4NCg0K SXQncyBhIGZhaXJseSBzbWFsbCBhbW91bnQgb2Ygc3RhY2sgc3BhY2UsIGFib3V0IDQ0IGJ5dGVz ICgxMiBieXRlcyBmb3INCnRoZSBJUkVUIGZyYW1lIGFuZCAzMiBieXRlcyBmb3IgdGhlICNWQyAi bG9jYWwiIHZhcmlhYmxlcykuIFRoZSB0ZW1wb3JhcnkNClJBTSBzaXplIGlzIDY0Sywgc28gd2Un cmUgZmluZS4gSSdsbCBkb2N1bWVudCB0aGUgc3RhY2sgdXNhZ2UgYXQgdGhlIHN0YXJ0DQpvZiB0 aGUgU2V2RXNJZHRWbW1Db21tIGV4Y2VwdGlvbiBoYW5kbGVyLg0KDQo+IA0KPj4gKyAgICBtb3Yg ICAgICAgZWF4LCBBRERSX09GKElkdHIpDQo+PiArICAgIGxpZHQgICAgICBbY3M6ZWF4XQ0KPj4g Kw0KPj4gICAgICA7IENoZWNrIGlmIHdlIGhhdmUgYSB2YWxpZCAoMHg4MDAwXzAwMUYpIENQVUlE IGxlYWYNCj4+ICAgICAgbW92ICAgICAgIGVheCwgMHg4MDAwMDAwMA0KPj4gICAgICBjcHVpZA0K Pj4gQEAgLTczLDYgKzg0LDE1IEBAIE5vU2V2Og0KPj4gICAgICB4b3IgICAgICAgZWF4LCBlYXgN Cj4+ICANCj4+ICBTZXZFeGl0Og0KPj4gKyAgICA7DQo+PiArICAgIDsgQ2xlYXIgZXhjZXB0aW9u IGhhbmRsZXJzIGFuZCBzdGFjaw0KPj4gKyAgICA7DQo+PiArICAgIHB1c2ggICAgICBlYXgNCj4+ ICsgICAgbW92ICAgICAgIGVheCwgQUREUl9PRihJZHRyQ2xlYXIpDQo+PiArICAgIGxpZHQgICAg ICBbY3M6ZWF4XQ0KPj4gKyAgICBwb3AgICAgICAgZWF4DQo+PiArICAgIG1vdiAgICAgICBlc3As IDANCj4+ICsNCj4gDQo+IEknbSBub3Qgc3VyZSB0aGUgcmVzdWx0YW50IElEVCBhbmQgRVNQIGNv bnRlbnRzIGFyZSB0aGUgc2FtZSBhcyBiZWZvcmUNCj4gKHByZS1wYXRjaCksIGJ1dCBJIGd1ZXNz IHRoZXNlIHZhbHVlcyBzaG91bGQgYmUgT0sgdG9vLg0KDQpBdCB0aGlzIHN0YWdlIG9mIHRoZSBi b290LCBib3RoIHRoZSBJRFQgYW5kIEVTUCB2YWx1ZXMgYXJlIHplcm8uIFRoZXkNCmhhdmVuJ3Qg YmVlbiBzZXQgdXAgdGhpcyBlYXJseSBpbiB0aGUgYm9vdC4NCg0KPiANCj4+ICAgICAgT25lVGlt ZUNhbGxSZXQgQ2hlY2tTZXZGZWF0dXJlDQo+PiAgDQo+PiAgOw0KPj4gQEAgLTE0NiwzICsxNjYs MTU4IEBAIHBhZ2VUYWJsZUVudHJpZXNMb29wOg0KPj4gICAgICBtb3YgICAgIGNyMywgZWF4DQo+ PiAgDQo+PiAgICAgIE9uZVRpbWVDYWxsUmV0IFNldENyM0ZvclBhZ2VUYWJsZXM2NA0KPj4gKw0K Pj4gK1NldkVzSWR0Q29tbW9uOg0KPj4gKyAgICBobHQNCj4+ICsgICAgam1wICAgICBTZXZFc0lk dENvbW1vbg0KPj4gKyAgICBpcmV0DQo+PiArDQo+PiArU2V2RXNJZHRWbW1Db21tOg0KPj4gKyAg ICA7DQo+PiArICAgIDsgSWYgd2UncmUgaGVyZSwgdGhlbiB3ZSBhcmUgYW4gU0VWLUVTIGd1ZXN0 IGFuZCB0aGlzDQo+PiArICAgIDsgd2FzIHRyaWdnZXJlZCBieSBhIENQVUlEIGluc3RydWN0aW9u DQo+PiArICAgIDsNCj4+ICsgICAgcG9wICAgICBlY3ggICAgICAgICAgICAgICAgICAgICA7IEVy cm9yIGNvZGUNCj4+ICsgICAgY21wICAgICBlY3gsIDB4NzIgICAgICAgICAgICAgICA7IEJlIHN1 cmUgaXQgd2FzIENQVUlEDQo+PiArICAgIGpuZSAgICAgU2V2RXNJZHRDb21tb24NCj4gDQo+ICg0 KSBDYW4geW91IHN0ZWFsIHRoZSBEZWJ1Z0xvZyAvIFByaW50U3RyaW5nU2kgY29kZSBmcm9tDQo+ ICJPdm1mUGtnL1FlbXVWaWRlb0R4ZS9WYmVTaGltLmFzbSIsIGFuZCBwcmludCBhIHNpbXBsZSBt ZXNzYWdlIHRvIHRoZQ0KPiBRRU1VIGRlYnVnIHBvcnQsIHdoZW5ldmVyIHlvdSBqdW1wIHRvIFNl dkVzSWR0Q29tbW9uPw0KPiANCj4gVGhpcyBpcyBiYXNpY2FsbHkgYW4gQVNTRVJUKCkuIEl0IHNo b3VsZCBoYXZlIGEgbWVzc2FnZSwgaWYgcG9zc2libGUuDQo+IChJJ20gbm90IHN1cmUgaWYgdGhl IE9VVCBpbnN0cnVjdGlvbiB3aWxsIHdvcmsgd2l0aCBTRVYtRVMgYXQgdGhpcw0KPiBzdGFnZSwg aS5lLiBpbiAzMi1iaXQgbW9kZS4pDQoNClJpZ2h0LCB0aGVyZSBpc24ndCBhIHdheSB0byBzaGFy ZSB0aGUgT1VUIGluc3RydWN0aW9uIGluZm9ybWF0aW9uIHdpdGgNCnRoZSBoeXBlcnZpc29yIGF0 IHRoaXMgcG9pbnQgYmVjYXVzZSB3ZSBhcmUgcnVubmluZyBpbiAzMi1iaXQgbW9kZSAodGhpcw0K bWlnaHQgYmUgbmljZSB0byBhZGQgdG8gdGhlIEdIQ0IgcHJvdG9jb2wsIHNpbWlsYXIgdG8gdGhl IENQVUlEIHN1cHBvcnQsDQpJJ2xsIGhhdmUgdG8gdGhpbmsgYWJvdXQgdGhhdCkuDQoNClNpbmNl IHdlIGNhbid0IG91dHB1dCBhIG1lc3NhZ2UsIEkgY2FuIGRvIHNvbWV0aGluZyBhbG9uZyB0aGUg bGluZSBvZg0KdXNpbmcgdGhlIEdIQ0IgcHJvdG9jb2wgdG8gcmVxdWVzdCB0aGUgaHlwZXJ2aXNv ciB0byB0ZXJtaW5hdGUgdGhlIGd1ZXN0Lg0KV291bGQgdGhhdCBiZSBiZXR0ZXI/DQoNCj4gDQo+ PiArDQo+PiArICAgIDsNCj4+ICsgICAgOyBTZXQgdXAgbG9jYWwgdmFyaWFibGUgcm9vbSBvbiB0 aGUgc3RhY2sNCj4+ICsgICAgOyAgIENQVUlEIGZ1bmN0aW9uICAgICAgOiArIDI4DQo+PiArICAg IDsgICBDUFVJRCByZWdpc3RlciAgICAgIDogKyAyNA0KPj4gKyAgICA7ICAgR0hDQiBNU1IgKEVB WCkgICAgICA6ICsgMjANCj4+ICsgICAgOyAgIEdIQ0IgTVNSIChFRFgpICAgICAgOiArIDE2DQo+ PiArICAgIDsgICBDUFVJRCByZXN1bHQgKEVEWCkgIDogKyAxMg0KPj4gKyAgICA7ICAgQ1BVSUQg cmVzdWx0IChFQ1gpICA6ICsgOA0KPj4gKyAgICA7ICAgQ1BVSUQgcmVzdWx0IChFQlgpICA6ICsg NA0KPj4gKyAgICA7ICAgQ1BVSUQgcmVzdWx0IChFQVgpICA6ICsgMA0KPj4gKyAgICBzdWIgICAg IGVzcCwgMzINCj4gDQo+ICg1KSBDYW4gd2UgJWRlZmluZSBtYWNyb3MgZm9yIHRoZXNlIG9mZnNl dHM/IChJbmNsdWRpbmcgdGhlIHNpemUNCj4gY29uc3RhbnQgMzIuKQ0KDQpXaWxsIGRvLg0KDQo+ IA0KPj4gKw0KPj4gKyAgICA7IFNhdmUgQ1BVSUQgZnVuY3Rpb24gYW5kIGluaXRpYWwgcmVnaXN0 ZXIgcmVxdWVzdA0KPj4gKyAgICBtb3YgICAgIFtlc3AgKyAyOF0sIGVheA0KPj4gKyAgICB4b3Ig ICAgIGVheCwgZWF4DQo+PiArICAgIG1vdiAgICAgW2VzcCArIDI0XSwgZWF4DQo+IA0KPiAoNikg VGhlIGNvbW1lbnQgIkNQVUlEIHJlZ2lzdGVyIiAoYXQgb2Zmc2V0IDI0KSwgYW5kIHRoZSBvdGhl ciBjb21tZW50DQo+ICJpbml0aWFsIHJlZ2lzdGVyIiwgYXJlIHByZXR0eSBjb25mdXNpbmcuIENh biB5b3UgcGxlYXNlIGRvY3VtZW50Og0KPiANCj4gLSB0aGUgbWFwcGluZzogMC0+RUFYLCAuLi4g My0+RURYLA0KPiAtIGFuZCB0aGUgZmFjdCB0aGF0IHRoZSBkd29yZCBhdCBbZXNwICsgMjRdIGlz IHRoZSBsb29wIHZhcmlhYmxlPw0KDQpZdXAsIGNhbiBkby4NCg0KPiANCj4+ICsNCj4+ICsgICAg OyBTYXZlIGN1cnJlbnQgR0hDQiBNU1IgdmFsdWUNCj4+ICsgICAgbW92ICAgICBlY3gsIDB4YzAw MTAxMzANCj4+ICsgICAgcmRtc3INCj4+ICsgICAgbW92ICAgICBbZXNwICsgMjBdLCBlYXgNCj4+ ICsgICAgbW92ICAgICBbZXNwICsgMTZdLCBlZHgNCj4+ICsNCj4+ICtOZXh0UmVnOg0KPj4gKyAg ICA7DQo+PiArICAgIDsgU2V0dXAgR0hDQiBNU1INCj4+ICsgICAgOyAgIEdIQ0JfTVNSWzYzOjMy XSA9IENQVUlEIGZ1bmN0aW9uDQo+PiArICAgIDsgICBHSENCX01TUlszMTozMF0gPSBDUFVJRCBy ZWdpc3Rlcg0KPj4gKyAgICA7ICAgR0hDQl9NU1JbMTE6MF0gID0gQ1BVSUQgcmVxdWVzdCBwcm90 b2NvbA0KPj4gKyAgICA7DQo+PiArICAgIG1vdiAgICAgZWF4LCBbZXNwICsgMjRdDQo+PiArICAg IGNtcCAgICAgZWF4LCA0DQo+PiArICAgIGpnZSAgICAgVm1tRG9uZQ0KPj4gKw0KPj4gKyAgICBz aGwgICAgIGVheCwgMzANCj4+ICsgICAgb3IgICAgICBlYXgsIDB4MDA0DQo+IA0KPiAoNykgUGxl YXNlICVkZWZpbmUgR0hDQkluZm9DcHVJZFJlcXVlc3Qgb3Igc29tZXRoaW5nIHNpbWlsYXIgZm9y IHRoZQ0KPiB2YWx1ZSA0Lg0KDQpPay4gSSdsbCByZW1vdmUgYWxsIG9mIHRoZSBoYXJkY29kZWQg dmFsdWVzIGFuZCAlZGVmaW5lIHRoZW0uDQoNCj4gDQo+PiArICAgIG1vdiAgICAgZWR4LCBbZXNw ICsgMjhdDQo+PiArICAgIG1vdiAgICAgZWN4LCAweGMwMDEwMTMwDQo+PiArICAgIHdybXNyDQo+ PiArDQo+PiArICAgIDsgSXNzdWUgVk1HRVhJVCAocmVwOyB2bW1jYWxsKQ0KPj4gKyAgICBkYiAg ICAgIDB4ZjMNCj4+ICsgICAgZGIgICAgICAweDBmDQo+PiArICAgIGRiICAgICAgMHgwMQ0KPj4g KyAgICBkYiAgICAgIDB4ZDkNCj4gDQo+ICg4KSBDYW4geW91IHBsZWFzZSBmaWxlIGFuIFJGRSBh dCA8aHR0cHM6Ly9idWd6aWxsYS5uYXNtLnVzLz4sIGZvcg0KPiBzdXBwb3J0aW5nIHRoaXMgaW5z dHJ1Y3Rpb24sIGFuZCBhZGQgdGhlIGxpbmsgaGVyZSwgYXMgYSBjb21tZW50PyBJJ3ZlDQo+IGJl ZW4gZmlnaHRpbmcgYW4gdXBoaWxsIGJhdHRsZSBhZ2FpbnN0IERCLWVuY29kZWQgaW5zdHJ1Y3Rp b25zIGluIGVkazINCj4gYXNzZW1ibHkgY29kZS4NCg0KWWVzLCBsZXQgbWUgbG9vayBpbnRvIHRo YXQuDQoNCj4gDQo+PiArDQo+PiArICAgIDsNCj4+ICsgICAgOyBSZWFkIEdIQ0IgTVNSDQo+PiAr ICAgIDsgICBHSENCX01TUls2MzozMl0gPSBDUFVJRCByZWdpc3RlciB2YWx1ZQ0KPj4gKyAgICA7 ICAgR0hDQl9NU1JbMzE6MzBdID0gQ1BVSUQgcmVnaXN0ZXINCj4+ICsgICAgOyAgIEdIQ0JfTVNS WzExOjBdICA9IENQVUlEIHJlc3BvbnNlIHByb3RvY29sDQo+PiArICAgIDsNCj4+ICsgICAgbW92 ICAgICBlY3gsIDB4YzAwMTAxMzANCj4+ICsgICAgcmRtc3INCj4+ICsgICAgbW92ICAgICBlY3gs IGVheA0KPj4gKyAgICBhbmQgICAgIGVjeCwgMHhmZmYNCj4+ICsgICAgY21wICAgICBlY3gsIDB4 MDA1DQo+IA0KPiAoOSkgUGxlYXNlICVkZWZpbmUgR0hDQkluZm9DcHVJZFJlc3BvbnNlIGZvciB2 YWx1ZSA1Lg0KPiANCj4+ICsgICAgam5lICAgICBTZXZFc0lkdENvbW1vbg0KPiANCj4gKDEwKSBQ bGVhc2Ugc2VlICg0KS4gVGhlIG1lc3NhZ2UgY291bGQgYmUsICJubyBHSENCSW5mb0NwdUlkUmVz cG9uc2UNCj4gcmVjZWl2ZWQiLCBvciBzaW1pbGFyLg0KDQpTdXJlLCBpZiBJIGZpbmQgYSB3YXkg dG8gaXNzdWUgbWVzc2FnZXMgYXQgdGhpcyBwb2ludC4NCg0KPiANCj4+ICsNCj4+ICsgICAgOyBT YXZlIHJldHVybmVkIHZhbHVlDQo+PiArICAgIHNociAgICAgZWF4LCAzMA0KPj4gKyAgICBhbmQg ICAgIGVheCwgMHgzDQo+IA0KPiAoMTEpIERvIHdlIG5lZWQgdGhlIEFORCBhZnRlciB0aGUgU0hS PyBJIHRoaW5rIHRoZSBuZXcgaGlnaCBvcmRlciBiaXRzDQo+IGZyb20gdGhlIFNIUiBzaG91bGQg YmUgemVyby4NCg0KTm8sIHdlIGRvbid0IGFjdHVhbGx5IG5lZWQgdGhlIEFORCwganVzdCBhIGhh Yml0IHRvIHNob3cgdGhlIHNpemUgb2YgdGhlDQphcmVhLiBCdXQgc2luY2Ugd2UncmUgYXQgdGhl IHRvcCBvZiB0aGUgcmVnaXN0ZXIgcmFuZ2UgKGJpdHMgMzAgYW5kIDMxKQ0KaXQncyBub3QgcmVh bGx5IG5lY2Vzc2FyeS4gSSdsbCByZW1vdmUgaXQuDQoNCj4gDQo+PiArICAgIHNobCAgICAgZWF4 LCAyDQo+PiArICAgIG1vdiAgICAgZWN4LCBlc3ANCj4+ICsgICAgYWRkICAgICBlY3gsIGVheA0K Pj4gKyAgICBtb3YgICAgIFtlY3hdLCBlZHgNCj4gDQo+ICgxMikgVGhlIGJlYXV0eSBvZiB0aGUg bGVhbiBhbmQgbWVhbiB4ODYgaW5zdHJ1Y3Rpb24gc2V0Og0KPiANCj4gICAgICAgIG1vdiAgICAg W2VzcCArIGVheCAqIDRdLCBlZHgNCj4gDQo+IChJIHRlc3RlZCBqdXN0IHRoaXMgb25lIGluc3Ry dWN0aW9uIHdpdGggbmFzbSArIG5kaXNhc207IHRoZSBlbmNvZGluZyBpcw0KPiAweDg5LCAweDE0 LCAweDg0LikNCg0KQWgsIHllcy4gV2lsbCBkby4NCg0KPiANCj4+ICsNCj4+ICsgICAgOyBOZXh0 IHJlZ2lzdGVyDQo+PiArICAgIGluYyAgICAgd29yZCBbZXNwICsgMjRdDQo+PiArDQo+PiArICAg IGptcCAgICAgTmV4dFJlZw0KPj4gKw0KPj4gK1ZtbURvbmU6DQo+PiArICAgIDsNCj4+ICsgICAg OyBBdCB0aGlzIHBvaW50IHdlIGhhdmUgYWxsIENQVUlEIHJlZ2lzdGVyIHZhbHVlcy4gUmVzdG9y ZSB0aGUgR0hDQiBNU1IsDQo+PiArICAgIDsgc2V0IHRoZSByZXR1cm4gcmVnaXN0ZXIgdmFsdWVz IGFuZCByZXR1cm4uDQo+PiArICAgIDsNCj4+ICsgICAgbW92ICAgICBlYXgsIFtlc3AgKyAyMF0N Cj4+ICsgICAgbW92ICAgICBlZHgsIFtlc3AgKyAxNl0NCj4+ICsgICAgbW92ICAgICBlY3gsIDB4 YzAwMTAxMzANCj4+ICsgICAgd3Jtc3INCj4+ICsNCj4+ICsgICAgbW92ICAgICBlYXgsIFtlc3Ag KyAwXQ0KPj4gKyAgICBtb3YgICAgIGVieCwgW2VzcCArIDRdDQo+PiArICAgIG1vdiAgICAgZWN4 LCBbZXNwICsgOF0NCj4+ICsgICAgbW92ICAgICBlZHgsIFtlc3AgKyAxMl0NCj4+ICsNCj4+ICsg ICAgYWRkICAgICBlc3AsIDMyDQo+IA0KPiAoMTMpIFBsZWFzZSBzZWUgKDUpLg0KPiANCj4+ICsg ICAgYWRkICAgICB3b3JkIFtlc3BdLCAyICAgICAgICAgICA7IFNraXAgb3ZlciB0aGUgQ1BVSUQg aW5zdHJ1Y3Rpb24NCj4gDQo+IE9LLCB0aGlzIHNlZW1zIHNhZmUuIENQVUlEIGhhcyBvbmx5IG9u ZSBlbmNvZGluZyAoMHgwRiwgMHhBMiksIGFuZCB3ZQ0KPiBjaGVja2VkIFNXX0VYSVRDT0RFID0g MHg3MiBhdCB0aGUgdG9wLg0KDQpJbiB0aGlzIGNhc2UsIHllcy4gU2luY2Ugd2UncmUgY292ZXJp bmcgYSBzbWFsbCBwaWVjZSBvZiBjb2RlIGFuZCB3ZQ0KZ2VuZXJhdGVkIHRoZSBpbnN0cnVjdGlv bnMgSSB0aGluayB3ZSBjYW4gcmVseSBvbiB0aGF0LiBMYXRlciBvbiwgdGhhdCdzDQp3aGVyZSB0 aGUgaW5zdHJ1Y3Rpb24gcGFyc2luZyBjb21lcyBpbi4NCg0KPiANCj4+ICsgICAgaXJldA0KPj4g Kw0KPj4gK0FMSUdOICAgMg0KPj4gKw0KPj4gK0lkdHI6DQo+PiArICAgIGR3ICAgICAgSURUX0VO RCAtIElEVF9CQVNFIC0gMSAgOyBMaW1pdA0KPj4gKyAgICBkZCAgICAgIEFERFJfT0YoSURUX0JB U0UpICAgICAgIDsgQmFzZQ0KPj4gKw0KPj4gK0lkdHJDbGVhcjoNCj4+ICsgICAgZHcgICAgICAw ICAgICAgICAgICAgICAgICAgICAgICA7IExpbWl0DQo+PiArICAgIGRkICAgICAgMCAgICAgICAg ICAgICAgICAgICAgICAgOyBCYXNlDQo+PiArDQo+PiArQUxJR04gICAxNg0KPj4gKw0KPj4gKzsN Cj4+ICs7IFRoZSBJbnRlcnJ1cHQgRGVzY3JpcHRvciBUYWJsZSAoSURUKQ0KPj4gKzsgICBUaGlz IHdpbGwgYmUgdXNlZCB0byBkZXRlcm1pbmUgaWYgU0VWLUVTIGlzIGVuYWJsZWQuICBVcG9uIGV4 ZWN1dGlvbg0KPj4gKzsgICBvZiB0aGUgQ1BVSUQgaW5zdHJ1Y3Rpb24sIGEgVk1NIENvbW11bmlj YXRpb24gRXhjZXB0aW9uIHdpbGwgb2NjdXIuDQo+PiArOyAgIFRoaXMgd2lsbCB0ZWxsIHVzIGlm IFNFVi1FUyBpcyBlbmFibGVkLiAgV2UgY2FuIHVzZSB0aGUgY3VycmVudCB2YWx1ZQ0KPj4gKzsg ICBvZiB0aGUgR0hDQiBNU1IgdG8gZGV0ZXJtaW5lIHRoZSBTRVYgYXR0cmlidXRlcy4NCj4+ICs7 DQo+PiArSURUX0JBU0U6DQo+PiArOw0KPj4gKzsgVmVjdG9ycyAwIC0gMjgNCj4+ICs7DQo+PiAr JXJlcCAyOQ0KPj4gKyAgICBkdyAgICAgIChBRERSX09GKFNldkVzSWR0Q29tbW9uKSAmIDB4ZmZm ZikgICA7IE9mZnNldCBsb3cgYml0cyAxNS4uMA0KPj4gKyAgICBkdyAgICAgIDB4MTAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA7IFNlbGVjdG9yDQo+PiArICAgIGRiICAgICAgMCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsgUmVzZXJ2ZWQNCj4+ICsgICAgZGIg ICAgICAweDhFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOyBHYXRlIFR5cGUgKElB MzJfSURUX0dBVEVfVFlQRV9JTlRFUlJVUFRfMzIpDQo+PiArICAgIGR3ICAgICAgKEFERFJfT0Yo U2V2RXNJZHRDb21tb24pID4+IDE2KSAgICAgIDsgT2Zmc2V0IGhpZ2ggYml0cyAzMS4uMTYNCj4+ ICslZW5kcmVwDQo+PiArOw0KPj4gKzsgVmVjdG9yIDI5IChWTU0gQ29tbXVuaWNhdGlvbiBFeGNl cHRpb24pDQo+PiArOw0KPj4gKyAgICBkdyAgICAgIChBRERSX09GKFNldkVzSWR0Vm1tQ29tbSkg JiAweGZmZmYpICA7IE9mZnNldCBsb3cgYml0cyAxNS4uMA0KPj4gKyAgICBkdyAgICAgIDB4MTAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7IFNlbGVjdG9yDQo+PiArICAgIGRiICAg ICAgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsgUmVzZXJ2ZWQNCj4+ICsg ICAgZGIgICAgICAweDhFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOyBHYXRlIFR5 cGUgKElBMzJfSURUX0dBVEVfVFlQRV9JTlRFUlJVUFRfMzIpDQo+PiArICAgIGR3ICAgICAgKEFE RFJfT0YoU2V2RXNJZHRWbW1Db21tKSA+PiAxNikgICAgIDsgT2Zmc2V0IGhpZ2ggYml0cyAzMS4u MTYNCj4+ICs7DQo+PiArOyBWZWN0b3JzIDMwIC0gMzENCj4+ICs7DQo+PiArJXJlcCAyDQo+PiAr ICAgIGR3ICAgICAgKEFERFJfT0YoU2V2RXNJZHRDb21tb24pICYgMHhmZmZmKSAgIDsgT2Zmc2V0 IGxvdyBiaXRzIDE1Li4wDQo+PiArICAgIGR3ICAgICAgMHgxMCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDsgU2VsZWN0b3INCj4+ICsgICAgZGIgICAgICAwICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgOyBSZXNlcnZlZA0KPj4gKyAgICBkYiAgICAgIDB4OEUgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7IEdhdGUgVHlwZSAoSUEzMl9JRFRfR0FURV9U WVBFX0lOVEVSUlVQVF8zMikNCj4+ICsgICAgZHcgICAgICAoQUREUl9PRihTZXZFc0lkdENvbW1v bikgPj4gMTYpICAgICAgOyBPZmZzZXQgaGlnaCBiaXRzIDMxLi4xNg0KPj4gKyVlbmRyZXANCj4+ ICtJRFRfRU5EOg0KPiANCj4gKDE0KSBBYm92ZSwgd2UgaGF2ZSB0d28gZXhwbGljaXQganVtcHMg dG8gU2V2RXNJZHRDb21tb24sIGFuZCBJJ3ZlIGFza2VkDQo+IGZvciBtZWFuaW5nZnVsIGFzc2Vy dGlvbiBtZXNzYWdlcyB0aGVyZS4NCj4gDQo+IEZvciB0aGUgdW5pbnRlcmVzdGluZyBleGNlcHRp b24gdmVjdG9ycyAwLTI4IGFuZCAzMC0zMSwgY2FuIHdlIHVzZSBhDQo+IGhhbmRsZXIgdGhhdCBp cyBub3QgZGlyZWN0bHkgU2V2RXNJZHRDb21tb24sIGJ1dCBsb2dzIGEgbWVzc2FnZSwgYW5kDQo+ IHRoZW4ganVtcHMgdG8gU2V2RXNJZHRDb21tb24/IChJdCBjb3VsZCBldmVuIGJlIGltcGxlbWVu dGVkIGFzIGENCj4gInByZWZpeCIgb2YgU2V2RXNJZHRDb21tb24sIGFuZCB0aGVuIG5vIGp1bXAg d291bGQgYmUgcmVxdWlyZWQuKQ0KDQpJZiBJIGNvbWUgdXAgd2l0aCBhIHdheSB0byBnZXQgYSBt ZXNzYWdlIG91dCwgd2UgY2FuIGxvb2sgYXQgdGhhdC4gSSdsbA0KbmVlZCB0byBzZWUgaWYgaXQg aXMgdG9vIGxhdGUgdG8gdXBkYXRlIHRoZSBHSENCIHByb3RvY29sIHNwZWNpZmljYXRpb24NCnRv IGFkZCBhbiBPVVQgcHJvdG9jb2wgdG8gc3VwcG9ydCBtZXNzYWdlcyB3aGVuIGluIDMyLWJpdC4N Cg0KSSB0aGluayBJIGNhbiBhY3R1YWxseSBzZXQganVzdCB0aGUgI1ZDIGV4Y2VwdGlvbiBlbnRy eSBzbyB0aGF0IGFueSBvdGhlcg0KZXhjZXB0aW9uIGp1c3QgY2F1c2VzIHRoZSBndWVzdCB0byBk aWUsIHNpbWlsYXIgdG8gd2hhdCB3b3VsZCBoYXBwZW4gaWYgYW4NCmV4Y2VwdGlvbiB3ZXJlIHRv IG9jY3VyIGF0IHRoaXMgc3RhZ2UgdG9kYXkuDQoNClRoYW5rcyBmb3IgdGhlIHRob3JvdWdoIHJl dmlldyENClRvbQ0KDQo+IA0KPj4gZGlmZiAtLWdpdCBhL092bWZQa2cvUmVzZXRWZWN0b3IvUmVz ZXRWZWN0b3IubmFzbWIgYi9Pdm1mUGtnL1Jlc2V0VmVjdG9yL1Jlc2V0VmVjdG9yLm5hc21iDQo+ PiBpbmRleCA3NWNmZTE2NjU0YjEuLjNiMjEzY2QwNWFiMiAxMDA2NDQNCj4+IC0tLSBhL092bWZQ a2cvUmVzZXRWZWN0b3IvUmVzZXRWZWN0b3IubmFzbWINCj4+ICsrKyBiL092bWZQa2cvUmVzZXRW ZWN0b3IvUmVzZXRWZWN0b3IubmFzbWINCj4+IEBAIC01NSw2ICs1NSw3IEBADQo+PiAgDQo+PiAg ICAlZGVmaW5lIFBUX0FERFIoT2Zmc2V0KSAoRml4ZWRQY2RHZXQzMiAoUGNkT3ZtZlNlY1BhZ2VU YWJsZXNCYXNlKSArIChPZmZzZXQpKQ0KPj4gICVpbmNsdWRlICJJYTMyL0ZsYXQzMlRvRmxhdDY0 LmFzbSINCj4+ICsgICVkZWZpbmUgU0VWX1RPUF9PRl9TVEFDSyAoRml4ZWRQY2RHZXQzMiAoUGNk T3ZtZlNlY1BlaVRlbXBSYW1CYXNlKSArIEZpeGVkUGNkR2V0MzIgKFBjZE92bWZTZWNQZWlUZW1w UmFtU2l6ZSkpDQo+PiAgJWluY2x1ZGUgIklhMzIvUGFnZVRhYmxlczY0LmFzbSINCj4+ICAlZW5k aWYNCj4+ICANCj4+DQo+IA0KPiAoSSd2ZSBjb21tZW50ZWQgb24gdGhpcyB1bmRlciAoMikuKQ0K PiANCj4gVGhhbmtzIQ0KPiBMYXN6bG8NCj4gDQo=