From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-1.mimecast.com (us-smtp-1.mimecast.com [205.139.110.120]) by mx.groups.io with SMTP id smtpd.web12.9298.1582478760927833086 for ; Sun, 23 Feb 2020 09:26:01 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=ieZqzfbW; spf=pass (domain: redhat.com, ip: 205.139.110.120, mailfrom: lersek@redhat.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1582478760; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=8wP5eh6FgBr3BlQQ1B3+ZZUtyZp+mramvsWrgTVpCdU=; b=ieZqzfbW6gncqxXUfxcyQrCdbm26krdJ5JAFqaePEf/WvYeVdn5NBhdtiNy7ybfqnw6ILU j6nAWD6hvuhZJxqdY53eJVcPPXHNUYLcbZwgFh2zdtaie/WYGVeZh3IhHfBLrRy5THmLW5 /7oQ3wD+ZzwhoGrwkXv3y8bzAcIZ49k= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-50-ORI0vY8qPlWpFWeHiDMgfw-1; Sun, 23 Feb 2020 12:25:54 -0500 X-MC-Unique: ORI0vY8qPlWpFWeHiDMgfw-1 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 39A1713E2; Sun, 23 Feb 2020 17:25:52 +0000 (UTC) Received: from lacos-laptop-7.usersys.redhat.com (ovpn-116-53.ams2.redhat.com [10.36.116.53]) by smtp.corp.redhat.com (Postfix) with ESMTP id 7EC9C90F5B; Sun, 23 Feb 2020 17:25:50 +0000 (UTC) From: "Laszlo Ersek" To: edk2-devel-groups-io Cc: Ard Biesheuvel , Igor Mammedov , Jiewen Yao , Jordan Justen , Michael Kinney , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH 04/16] OvmfPkg: enable SMM Monarch Election in PiSmmCpuDxeSmm Date: Sun, 23 Feb 2020 18:25:25 +0100 Message-Id: <20200223172537.28464-5-lersek@redhat.com> In-Reply-To: <20200223172537.28464-1-lersek@redhat.com> References: <20200223172537.28464-1-lersek@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 V2l0aCAiUGNkQ3B1U21tRW5hYmxlQnNwRWxlY3Rpb24iIHNldCB0byBGQUxTRSwgUGlTbW1DcHVE eGVTbW0gYWx3YXlzCmNvbnNpZGVycyB0aGUgcHJvY2Vzc29yIHdpdGggaW5kZXggMCB0byBiZSB0 aGUgU01NIE1vbmFyY2ggKGEuay5hLiB0aGUgU01NCkJTUCkuIFRoZSBTTU0gTW9uYXJjaCBoYW5k bGVzIHRoZSBTTUkgZm9yIHJlYWwsIHdoaWxlIHRoZSBvdGhlciBDUFVzIHdhaXQKaW4gdGhlaXIg U01NIGxvb3BzLgoKSW4gYSBzdWJzZXF1ZW50IHBhdGNoLCB3ZSB3YW50IHRvIHNldCAiUGNkQ3B1 SG90UGx1Z1N1cHBvcnQiIHRvIFRSVUUuIEZvcgp0aGF0LCBQaUNwdVNtbUVudHJ5KCkgW1VlZmlD cHVQa2cvUGlTbW1DcHVEeGVTbW0vUGlTbW1DcHVEeGVTbW0uY10gZm9yY2VzCnVzIHdpdGggYW4g QVNTRVJUKCkgdG8gc2V0ICJQY2RDcHVTbW1FbmFibGVCc3BFbGVjdGlvbiIgdG8gVFJVRSBhcyB3 ZWxsLgpUbyBzYXRpc2Z5IHRoYXQgZXhwZWN0YXRpb24sIHdlIGNhbiBzaW1wbHkgcmVtb3ZlIG91 ciBjdXJyZW50CiJQY2RDcHVTbW1FbmFibGVCc3BFbGVjdGlvbnxGQUxTRSIgc2V0dGluZywgYW5k IGluaGVyaXQgdGhlIGRlZmF1bHQgVFJVRQp2YWx1ZSBmcm9tICJVZWZpQ3B1UGtnLmRlYyIuCgpU aGlzIGNhdXNlcyAibVNtbU1wU3luY0RhdGEtPkJzcEluZGV4IiBpbiBQaVNtbUNwdUR4ZVNtbSB0 byBsb3NlIGl0cwpzdGF0aWMgemVybyB2YWx1ZSAoc3RhbmRpbmcgZm9yIENQVSMwKTsgaW5zdGVh ZCBpdCBiZWNvbWVzICgtMSkgaW4KZ2VuZXJhbCwgYW5kIHRoZSBTTU0gTW9uYXJjaCBpcyBlbGVj dGVkIGFuZXcgb24gZXZlcnkgU01JLgoKVGhlIGRlZmF1bHQgU01NIE1vbmFyY2ggRWxlY3Rpb24g aXMgYmFzaWNhbGx5IGEgcmFjZSAtLSB3aGljaGV2ZXIgQ1BVIGNhbgpmbGlwICJtU21tTXBTeW5j RGF0YS0+QnNwSW5kZXgiIGZyb20gKC0xKSB0byBpdHMgb3duIGluZGV4LCBiZWNvbWVzIGtpbmcs CmZvciBoYW5kbGluZyB0aGF0IFNNSS4gUmVmZXIgdG8gU21pUmVuZGV6dm91cygpCltVZWZpQ3B1 UGtnL1BpU21tQ3B1RHhlU21tL01wU2VydmljZS5jXS4KCkkgY29uc2lkZXIgdGhpcyBub24tZGV0 ZXJtaW5pc20gbGVzcyB0aGFuIGlkZWFsIG9uIFFFTVUvS1ZNOyBpdCB3b3VsZCBiZQpuaWNlIHRv IHN0aWNrIHdpdGggYSAibW9zdGx5IHBlcm1hbmVudCIgU01NIE1vbmFyY2ggZXZlbiB3aXRoIHRo ZSBFbGVjdGlvbgplbmFibGVkLiBXZSBjYW4gZG8gdGhhdCBieSBpbXBsZW1lbnRpbmcgdGhlIFBs YXRmb3JtU21tQnNwRWxlY3Rpb24oKSBBUEkKaW4gdGhlIFNtbUNwdVBsYXRmb3JtSG9va0xpYlFl bXUgaW5zdGFuY2U6CgpUaGUgSUEzMiBBUElDIEJhc2UgTVNSIGNhbiBiZSByZWFkIG9uIGVhY2gg Q1BVIGNvbmN1cnJlbnRseSwgYW5kIGl0IHdpbGwKcmVwb3J0IHRoZSBCU1AgYml0IGFzIHNldCBv bmx5IG9uIHRoZSBjdXJyZW50IEJvb3QgU2VydmljZSBQcm9jZXNzb3IuIFFFTVUKbWFya3MgQ1BV IzAgYXMgdGhlIEJTUCwgYnkgZGVmYXVsdC4KCkVsZWN0IHRoZSBjdXJyZW50IEJTUCwgYXMgcmVw b3J0ZWQgYnkgUUVNVSwgZm9yIHRoZSBTTU0gTW9uYXJjaCByb2xlLgoKKE5vdGUgdGhhdCB0aGUg UUVNVSBjb21taXQgaGlzdG9yeSBpcyBub3QgZW50aXJlbHkgY29uc2lzdGVudCBvbiB3aGV0aGVy ClFFTVUvS1ZNIG1heSBtYXJrIGEgQ1BVIHdpdGggbm9uemVybyBpbmRleCBhcyB0aGUgQlNQOgoK LSBBdCB0YWcgdjQuMi4wLCAidGFyZ2V0L2kzODYvY3B1LmMiIGhhcyBhIGNvbW1lbnQgc2F5aW5n ICJXZSBoYXJkLXdpcmUKICB0aGUgQlNQIHRvIHRoZSBmaXJzdCBDUFUiLiBUaGlzIGNvbW1lbnQg Z29lcyBiYWNrIHRvIGNvbW1pdCA2Y2IyOTk2Y2VmNWUKICAoIng4NjogRXh0ZW5kIHZhbGlkaXR5 IG9mIGJzcF90b19jcHUiLCAyMDEwLTAzLTA0KS4KCi0gQ29tcGFyZSBjb21taXQgOWNiMTFmZDc1 MzliICgidGFyZ2V0LWkzODY6IGNsZWFyIGJzcCBiaXQgd2hlbgogIGRlc2lnbmF0aW5nIGJzcCIs IDIwMTUtMDQtMDIpIHRob3VnaCwgZXNwZWNpYWxseSBjb25zaWRlcmluZyBLVk0uCgpFaXRoZXIg d2F5LCB0aGlzIE92bWZQa2cgcGF0Y2ggaXMgKm5vdCogZGVwZW5kZW50IG9uIENQVSBpbmRleCAw OyBpdCBqdXN0CnRha2VzIHRoZSByYWNlIG9uIGV2ZXJ5IFNNSSBvdXQgb2YgdGhlIGdhbWUuKQoK T25lIGJlbmVmaXQgb2YgdXNpbmcgYSAibW9zdGx5IHBlcm1hbmVudCIgU01NIE1vbmFyY2ggLyBC U1AgaXMgdGhhdCB3ZSBjYW4KY29udGludWUgdGVzdGluZyB0aGUgU01NIENQVSBzeW5jaHJvbml6 YXRpb24gYnkgZGV0ZXJtaW5pc3RpY2FsbHkgZW50ZXJpbmcKdGhlIGZpcm13YXJlIG9uIHRoZSBC U1AsIHZzLiBvbiBhbiBBUCwgZnJvbSBMaW51eCBndWVzdHM6CgokIHRpbWUgdGFza3NldCAtYyAw IGVmaWJvb3RtZ3IKJCB0aW1lIHRhc2tzZXQgLWMgMSBlZmlib290bWdyCgooU2VlCjxodHRwczov L2dpdGh1Yi5jb20vdGlhbm9jb3JlL3RpYW5vY29yZS5naXRodWIuaW8vd2lraS9UZXN0aW5nLVNN TS13aXRoLVFFTVUsLUtWTS1hbmQtbGlidmlydCN1ZWZpLXZhcmlhYmxlLWFjY2Vzcy10ZXN0Pi4p CgpDYzogQXJkIEJpZXNoZXV2ZWwgPGFyZC5iaWVzaGV1dmVsQGxpbmFyby5vcmc+CkNjOiBJZ29y IE1hbW1lZG92IDxpbWFtbWVkb0ByZWRoYXQuY29tPgpDYzogSmlld2VuIFlhbyA8amlld2VuLnlh b0BpbnRlbC5jb20+CkNjOiBKb3JkYW4gSnVzdGVuIDxqb3JkYW4ubC5qdXN0ZW5AaW50ZWwuY29t PgpDYzogTWljaGFlbCBLaW5uZXkgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPgpDYzogUGhp bGlwcGUgTWF0aGlldS1EYXVkw6kgPHBoaWxtZEByZWRoYXQuY29tPgpTdWdnZXN0ZWQtYnk6IEln b3IgTWFtbWVkb3YgPGltYW1tZWRvQHJlZGhhdC5jb20+ClJlZjogaHR0cHM6Ly9idWd6aWxsYS50 aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTEyI2M1ClNpZ25lZC1vZmYtYnk6IExhc3ps byBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb20+Ci0tLQogT3ZtZlBrZy9Pdm1mUGtnSWEzMi5kc2Mg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxIC0KIE92 bWZQa2cvT3ZtZlBrZ0lhMzJYNjQuZHNjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgMSAtCiBPdm1mUGtnL092bWZQa2dYNjQuZHNjICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEgLQogT3ZtZlBrZy9MaWJyYXJ5 L1NtbUNwdVBsYXRmb3JtSG9va0xpYlFlbXUvU21tQ3B1UGxhdGZvcm1Ib29rTGliUWVtdS5pbmYg fCAzICsrKwogT3ZtZlBrZy9MaWJyYXJ5L1NtbUNwdVBsYXRmb3JtSG9va0xpYlFlbXUvU21tQ3B1 UGxhdGZvcm1Ib29rTGliUWVtdS5jICAgfCA5ICsrKysrKysrLQogNSBmaWxlcyBjaGFuZ2VkLCAx MSBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL092bWZQa2cvT3Zt ZlBrZ0lhMzIuZHNjIGIvT3ZtZlBrZy9Pdm1mUGtnSWEzMi5kc2MKaW5kZXggODEzOTk1ZmVmYWQ4 Li42MGQ4YWYxODViOWMgMTAwNjQ0Ci0tLSBhL092bWZQa2cvT3ZtZlBrZ0lhMzIuZHNjCisrKyBi L092bWZQa2cvT3ZtZlBrZ0lhMzIuZHNjCkBAIC00MTQsNDUgKzQxNCw0NCBAQCBbTGlicmFyeUNs YXNzZXMuY29tbW9uLlNNTV9DT1JFXQogIWVuZGlmDQogICBQY2lMaWJ8T3ZtZlBrZy9MaWJyYXJ5 L0R4ZVBjaUxpYkk0NDBGeFEzNS9EeGVQY2lMaWJJNDQwRnhRMzUuaW5mDQogDQogIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMNCiAjDQogIyBQY2QgU2VjdGlvbiAtIGxpc3Qgb2YgYWxsIEVESyBJSSBQ Q0QgRW50cmllcyBkZWZpbmVkIGJ5IHRoaXMgUGxhdGZvcm0uDQogIw0KICMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjDQogW1BjZHNGZWF0dXJlRmxhZ10NCiAgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNw YWNlR3VpZC5QY2RIaWlPc1J1bnRpbWVTdXBwb3J0fEZBTFNFDQogICBnRWZpTWRlTW9kdWxlUGtn VG9rZW5TcGFjZUd1aWQuUGNkU3RhdHVzQ29kZVVzZVNlcmlhbHxGQUxTRQ0KICAgZ0VmaU1kZU1v ZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFN0YXR1c0NvZGVVc2VNZW1vcnl8VFJVRQ0KICAgZ0Vm aU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZER4ZUlwbFN1cHBvcnRVZWZpRGVjb21wcmVz c3xGQUxTRQ0KICAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZER4ZUlwbFN3aXRj aFRvTG9uZ01vZGV8RkFMU0UNCiAgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RD b25PdXRHb3BTdXBwb3J0fFRSVUUNCiAgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5Q Y2RDb25PdXRVZ2FTdXBwb3J0fEZBTFNFDQogICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1 aWQuUGNkSW5zdGFsbEFjcGlTZHRQcm90b2NvbHxUUlVFDQogIWlmZGVmICQoQ1NNX0VOQUJMRSkN CiAgIGdVZWZpT3ZtZlBrZ1Rva2VuU3BhY2VHdWlkLlBjZENzbUVuYWJsZXxUUlVFDQogIWVuZGlm DQogIWlmICQoU01NX1JFUVVJUkUpID09IFRSVUUNCiAgIGdVZWZpT3ZtZlBrZ1Rva2VuU3BhY2VH dWlkLlBjZFNtbVNtcmFtUmVxdWlyZXxUUlVFDQotICBnVWVmaUNwdVBrZ1Rva2VuU3BhY2VHdWlk LlBjZENwdVNtbUVuYWJsZUJzcEVsZWN0aW9ufEZBTFNFDQogICBnRWZpTWRlTW9kdWxlUGtnVG9r ZW5TcGFjZUd1aWQuUGNkRW5hYmxlVmFyaWFibGVSdW50aW1lQ2FjaGV8RkFMU0UNCiAhZW5kaWYN CiANCiBbUGNkc0ZpeGVkQXRCdWlsZF0NCiAgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3Vp ZC5QY2RTdGF0dXNDb2RlTWVtb3J5U2l6ZXwxDQogICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFj ZUd1aWQuUGNkUmVzZXRPbk1lbW9yeVR5cGVJbmZvcm1hdGlvbkNoYW5nZXxGQUxTRQ0KICAgZ0Vm aU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZE1heGltdW1HdWlkZWRFeHRyYWN0SGFuZGxlcnwweDEw DQogIWlmICgkKEZEX1NJWkVfSU5fS0IpID09IDEwMjQpIHx8ICgkKEZEX1NJWkVfSU5fS0IpID09 IDIwNDgpDQogICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkTWF4VmFyaWFibGVT aXplfDB4MjAwMA0KICAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZE1heEF1dGhW YXJpYWJsZVNpemV8MHgyODAwDQogIWlmICQoTkVUV09SS19UTFNfRU5BQkxFKSA9PSBGQUxTRQ0K ICAgIyBtYXRjaCBQY2RGbGFzaE52U3RvcmFnZVZhcmlhYmxlU2l6ZSBwdXJlbHkgZm9yIGNvbnZl bmllbmNlDQogICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkVmFyaWFibGVTdG9y ZVNpemV8MHhlMDAwDQogIWVuZGlmDQogIWVuZGlmDQogIWlmICQoRkRfU0laRV9JTl9LQikgPT0g NDA5Ng0KICAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZE1heFZhcmlhYmxlU2l6 ZXwweDg0MDANCiAgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RNYXhBdXRoVmFy aWFibGVTaXplfDB4ODQwMA0KICFpZiAkKE5FVFdPUktfVExTX0VOQUJMRSkgPT0gRkFMU0UNCiAg ICMgbWF0Y2ggUGNkRmxhc2hOdlN0b3JhZ2VWYXJpYWJsZVNpemUgcHVyZWx5IGZvciBjb252ZW5p ZW5jZQ0KICAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFZhcmlhYmxlU3RvcmVT aXplfDB4NDAwMDANCiAhZW5kaWYNCmRpZmYgLS1naXQgYS9Pdm1mUGtnL092bWZQa2dJYTMyWDY0 LmRzYyBiL092bWZQa2cvT3ZtZlBrZ0lhMzJYNjQuZHNjCmluZGV4IGEyNTZjNzA4NGE3ZS4uYmU2 YmM3YmQ4OGE3IDEwMDY0NAotLS0gYS9Pdm1mUGtnL092bWZQa2dJYTMyWDY0LmRzYworKysgYi9P dm1mUGtnL092bWZQa2dJYTMyWDY0LmRzYwpAQCAtNDE5LDQ1ICs0MTksNDQgQEAgW0xpYnJhcnlD bGFzc2VzLmNvbW1vbi5TTU1fQ09SRV0KICFlbmRpZg0KICAgUGNpTGlifE92bWZQa2cvTGlicmFy eS9EeGVQY2lMaWJJNDQwRnhRMzUvRHhlUGNpTGliSTQ0MEZ4UTM1LmluZg0KIA0KICMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjDQogIw0KICMgUGNkIFNlY3Rpb24gLSBsaXN0IG9mIGFsbCBFREsgSUkg UENEIEVudHJpZXMgZGVmaW5lZCBieSB0aGlzIFBsYXRmb3JtLg0KICMNCiAjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIw0KIFtQY2RzRmVhdHVyZUZsYWddDQogICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5T cGFjZUd1aWQuUGNkSGlpT3NSdW50aW1lU3VwcG9ydHxGQUxTRQ0KICAgZ0VmaU1kZU1vZHVsZVBr Z1Rva2VuU3BhY2VHdWlkLlBjZFN0YXR1c0NvZGVVc2VTZXJpYWx8RkFMU0UNCiAgIGdFZmlNZGVN b2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RTdGF0dXNDb2RlVXNlTWVtb3J5fFRSVUUNCiAgIGdF ZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2REeGVJcGxTdXBwb3J0VWVmaURlY29tcHJl c3N8RkFMU0UNCiAgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2REeGVJcGxTd2l0 Y2hUb0xvbmdNb2RlfFRSVUUNCiAgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RD b25PdXRHb3BTdXBwb3J0fFRSVUUNCiAgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5Q Y2RDb25PdXRVZ2FTdXBwb3J0fEZBTFNFDQogICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1 aWQuUGNkSW5zdGFsbEFjcGlTZHRQcm90b2NvbHxUUlVFDQogIWlmZGVmICQoQ1NNX0VOQUJMRSkN CiAgIGdVZWZpT3ZtZlBrZ1Rva2VuU3BhY2VHdWlkLlBjZENzbUVuYWJsZXxUUlVFDQogIWVuZGlm DQogIWlmICQoU01NX1JFUVVJUkUpID09IFRSVUUNCiAgIGdVZWZpT3ZtZlBrZ1Rva2VuU3BhY2VH dWlkLlBjZFNtbVNtcmFtUmVxdWlyZXxUUlVFDQotICBnVWVmaUNwdVBrZ1Rva2VuU3BhY2VHdWlk LlBjZENwdVNtbUVuYWJsZUJzcEVsZWN0aW9ufEZBTFNFDQogICBnRWZpTWRlTW9kdWxlUGtnVG9r ZW5TcGFjZUd1aWQuUGNkRW5hYmxlVmFyaWFibGVSdW50aW1lQ2FjaGV8RkFMU0UNCiAhZW5kaWYN CiANCiBbUGNkc0ZpeGVkQXRCdWlsZF0NCiAgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3Vp ZC5QY2RTdGF0dXNDb2RlTWVtb3J5U2l6ZXwxDQogICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFj ZUd1aWQuUGNkUmVzZXRPbk1lbW9yeVR5cGVJbmZvcm1hdGlvbkNoYW5nZXxGQUxTRQ0KICAgZ0Vm aU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZE1heGltdW1HdWlkZWRFeHRyYWN0SGFuZGxlcnwweDEw DQogIWlmICgkKEZEX1NJWkVfSU5fS0IpID09IDEwMjQpIHx8ICgkKEZEX1NJWkVfSU5fS0IpID09 IDIwNDgpDQogICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkTWF4VmFyaWFibGVT aXplfDB4MjAwMA0KICAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZE1heEF1dGhW YXJpYWJsZVNpemV8MHgyODAwDQogIWlmICQoTkVUV09SS19UTFNfRU5BQkxFKSA9PSBGQUxTRQ0K ICAgIyBtYXRjaCBQY2RGbGFzaE52U3RvcmFnZVZhcmlhYmxlU2l6ZSBwdXJlbHkgZm9yIGNvbnZl bmllbmNlDQogICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkVmFyaWFibGVTdG9y ZVNpemV8MHhlMDAwDQogIWVuZGlmDQogIWVuZGlmDQogIWlmICQoRkRfU0laRV9JTl9LQikgPT0g NDA5Ng0KICAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZE1heFZhcmlhYmxlU2l6 ZXwweDg0MDANCiAgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RNYXhBdXRoVmFy aWFibGVTaXplfDB4ODQwMA0KICFpZiAkKE5FVFdPUktfVExTX0VOQUJMRSkgPT0gRkFMU0UNCiAg ICMgbWF0Y2ggUGNkRmxhc2hOdlN0b3JhZ2VWYXJpYWJsZVNpemUgcHVyZWx5IGZvciBjb252ZW5p ZW5jZQ0KICAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFZhcmlhYmxlU3RvcmVT aXplfDB4NDAwMDANCiAhZW5kaWYNCmRpZmYgLS1naXQgYS9Pdm1mUGtnL092bWZQa2dYNjQuZHNj IGIvT3ZtZlBrZy9Pdm1mUGtnWDY0LmRzYwppbmRleCA3ODA3OWI5ZjhlMTMuLmUyNThjNDc0YjYw ZCAxMDA2NDQKLS0tIGEvT3ZtZlBrZy9Pdm1mUGtnWDY0LmRzYworKysgYi9Pdm1mUGtnL092bWZQ a2dYNjQuZHNjCkBAIC00MTksNDUgKzQxOSw0NCBAQCBbTGlicmFyeUNsYXNzZXMuY29tbW9uLlNN TV9DT1JFXQogIWVuZGlmDQogICBQY2lMaWJ8T3ZtZlBrZy9MaWJyYXJ5L0R4ZVBjaUxpYkk0NDBG eFEzNS9EeGVQY2lMaWJJNDQwRnhRMzUuaW5mDQogDQogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMN CiAjDQogIyBQY2QgU2VjdGlvbiAtIGxpc3Qgb2YgYWxsIEVESyBJSSBQQ0QgRW50cmllcyBkZWZp bmVkIGJ5IHRoaXMgUGxhdGZvcm0uDQogIw0KICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQogW1Bj ZHNGZWF0dXJlRmxhZ10NCiAgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RIaWlP c1J1bnRpbWVTdXBwb3J0fEZBTFNFDQogICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQu UGNkU3RhdHVzQ29kZVVzZVNlcmlhbHxGQUxTRQ0KICAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3Bh Y2VHdWlkLlBjZFN0YXR1c0NvZGVVc2VNZW1vcnl8VFJVRQ0KICAgZ0VmaU1kZU1vZHVsZVBrZ1Rv a2VuU3BhY2VHdWlkLlBjZER4ZUlwbFN1cHBvcnRVZWZpRGVjb21wcmVzc3xGQUxTRQ0KICAgZ0Vm aU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZER4ZUlwbFN3aXRjaFRvTG9uZ01vZGV8RkFM U0UNCiAgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RDb25PdXRHb3BTdXBwb3J0 fFRSVUUNCiAgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RDb25PdXRVZ2FTdXBw b3J0fEZBTFNFDQogICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkSW5zdGFsbEFj cGlTZHRQcm90b2NvbHxUUlVFDQogIWlmZGVmICQoQ1NNX0VOQUJMRSkNCiAgIGdVZWZpT3ZtZlBr Z1Rva2VuU3BhY2VHdWlkLlBjZENzbUVuYWJsZXxUUlVFDQogIWVuZGlmDQogIWlmICQoU01NX1JF UVVJUkUpID09IFRSVUUNCiAgIGdVZWZpT3ZtZlBrZ1Rva2VuU3BhY2VHdWlkLlBjZFNtbVNtcmFt UmVxdWlyZXxUUlVFDQotICBnVWVmaUNwdVBrZ1Rva2VuU3BhY2VHdWlkLlBjZENwdVNtbUVuYWJs ZUJzcEVsZWN0aW9ufEZBTFNFDQogICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNk RW5hYmxlVmFyaWFibGVSdW50aW1lQ2FjaGV8RkFMU0UNCiAhZW5kaWYNCiANCiBbUGNkc0ZpeGVk QXRCdWlsZF0NCiAgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RTdGF0dXNDb2Rl TWVtb3J5U2l6ZXwxDQogICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkUmVzZXRP bk1lbW9yeVR5cGVJbmZvcm1hdGlvbkNoYW5nZXxGQUxTRQ0KICAgZ0VmaU1kZVBrZ1Rva2VuU3Bh Y2VHdWlkLlBjZE1heGltdW1HdWlkZWRFeHRyYWN0SGFuZGxlcnwweDEwDQogIWlmICgkKEZEX1NJ WkVfSU5fS0IpID09IDEwMjQpIHx8ICgkKEZEX1NJWkVfSU5fS0IpID09IDIwNDgpDQogICBnRWZp TWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkTWF4VmFyaWFibGVTaXplfDB4MjAwMA0KICAg Z0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZE1heEF1dGhWYXJpYWJsZVNpemV8MHgy ODAwDQogIWlmICQoTkVUV09SS19UTFNfRU5BQkxFKSA9PSBGQUxTRQ0KICAgIyBtYXRjaCBQY2RG bGFzaE52U3RvcmFnZVZhcmlhYmxlU2l6ZSBwdXJlbHkgZm9yIGNvbnZlbmllbmNlDQogICBnRWZp TWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkVmFyaWFibGVTdG9yZVNpemV8MHhlMDAwDQog IWVuZGlmDQogIWVuZGlmDQogIWlmICQoRkRfU0laRV9JTl9LQikgPT0gNDA5Ng0KICAgZ0VmaU1k ZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZE1heFZhcmlhYmxlU2l6ZXwweDg0MDANCiAgIGdF ZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RNYXhBdXRoVmFyaWFibGVTaXplfDB4ODQw MA0KICFpZiAkKE5FVFdPUktfVExTX0VOQUJMRSkgPT0gRkFMU0UNCiAgICMgbWF0Y2ggUGNkRmxh c2hOdlN0b3JhZ2VWYXJpYWJsZVNpemUgcHVyZWx5IGZvciBjb252ZW5pZW5jZQ0KICAgZ0VmaU1k ZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFZhcmlhYmxlU3RvcmVTaXplfDB4NDAwMDANCiAh ZW5kaWYNCmRpZmYgLS1naXQgYS9Pdm1mUGtnL0xpYnJhcnkvU21tQ3B1UGxhdGZvcm1Ib29rTGli UWVtdS9TbW1DcHVQbGF0Zm9ybUhvb2tMaWJRZW11LmluZiBiL092bWZQa2cvTGlicmFyeS9TbW1D cHVQbGF0Zm9ybUhvb2tMaWJRZW11L1NtbUNwdVBsYXRmb3JtSG9va0xpYlFlbXUuaW5mCmluZGV4 IDgyZWRlY2EzZDEyZC4uNDEzYzU2ZmNlNmUxIDEwMDY0NAotLS0gYS9Pdm1mUGtnL0xpYnJhcnkv U21tQ3B1UGxhdGZvcm1Ib29rTGliUWVtdS9TbW1DcHVQbGF0Zm9ybUhvb2tMaWJRZW11LmluZgor KysgYi9Pdm1mUGtnL0xpYnJhcnkvU21tQ3B1UGxhdGZvcm1Ib29rTGliUWVtdS9TbW1DcHVQbGF0 Zm9ybUhvb2tMaWJRZW11LmluZgpAQCAtOCwyMiArOCwyNSBAQAogDQogW0RlZmluZXNdDQogICBJ TkZfVkVSU0lPTiAgICAgICAgICAgICAgICAgICAgPSAxLjI5DQogICBCQVNFX05BTUUgICAgICAg ICAgICAgICAgICAgICAgPSBTbW1DcHVQbGF0Zm9ybUhvb2tMaWJRZW11DQogICBGSUxFX0dVSUQg ICAgICAgICAgICAgICAgICAgICAgPSAxNTRENkQyNi01NEI4LTQ1QkMtQkEzQS1DQkFBMjBDMDJB NkENCiAgIE1PRFVMRV9UWVBFICAgICAgICAgICAgICAgICAgICA9IERYRV9EUklWRVINCiAgIFZF UlNJT05fU1RSSU5HICAgICAgICAgICAgICAgICA9IDEuMA0KICAgTElCUkFSWV9DTEFTUyAgICAg ICAgICAgICAgICAgID0gU21tQ3B1UGxhdGZvcm1Ib29rTGliDQogDQogIw0KICMgVGhlIGZvbGxv d2luZyBpbmZvcm1hdGlvbiBpcyBmb3IgcmVmZXJlbmNlIG9ubHkgYW5kIG5vdCByZXF1aXJlZCBi eSB0aGUgYnVpbGQNCiAjIHRvb2xzLg0KICMNCiAjICBWQUxJRF9BUkNISVRFQ1RVUkVTICAgICAg ICAgICA9IElBMzIgWDY0DQogIw0KIA0KIFtTb3VyY2VzXQ0KICAgU21tQ3B1UGxhdGZvcm1Ib29r TGliUWVtdS5jDQogDQogW1BhY2thZ2VzXQ0KICAgTWRlUGtnL01kZVBrZy5kZWMNCiAgIFVlZmlD cHVQa2cvVWVmaUNwdVBrZy5kZWMNCisNCitbTGlicmFyeUNsYXNzZXNdDQorICBCYXNlTGliDQpk aWZmIC0tZ2l0IGEvT3ZtZlBrZy9MaWJyYXJ5L1NtbUNwdVBsYXRmb3JtSG9va0xpYlFlbXUvU21t Q3B1UGxhdGZvcm1Ib29rTGliUWVtdS5jIGIvT3ZtZlBrZy9MaWJyYXJ5L1NtbUNwdVBsYXRmb3Jt SG9va0xpYlFlbXUvU21tQ3B1UGxhdGZvcm1Ib29rTGliUWVtdS5jCmluZGV4IDI1N2UxZDM5OWNj Ni4uYzg4YTk1YzZkZWZmIDEwMDY0NAotLS0gYS9Pdm1mUGtnL0xpYnJhcnkvU21tQ3B1UGxhdGZv cm1Ib29rTGliUWVtdS9TbW1DcHVQbGF0Zm9ybUhvb2tMaWJRZW11LmMKKysrIGIvT3ZtZlBrZy9M aWJyYXJ5L1NtbUNwdVBsYXRmb3JtSG9va0xpYlFlbXUvU21tQ3B1UGxhdGZvcm1Ib29rTGliUWVt dS5jCkBAIC0xLDMxICsxLDM0IEBACiAvKiogQGZpbGUNCiBTTU0gQ1BVIFBsYXRmb3JtIEhvb2sg bGlicmFyeSBpbnN0YW5jZSBmb3IgUUVNVS4NCiANCiBDb3B5cmlnaHQgKGMpIDIwMjAsIFJlZCBI YXQsIEluYy4NCiBDb3B5cmlnaHQgKGMpIDIwMDYgLSAyMDE1LCBJbnRlbCBDb3Jwb3JhdGlvbi4g QWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0y LUNsYXVzZS1QYXRlbnQNCiANCiAqKi8NCisjaW5jbHVkZSA8TGlicmFyeS9CYXNlTGliLmg+ICAg ICAgICAgICAgICAgICAvLyBBc21SZWFkTXNyNjQoKQ0KICNpbmNsdWRlIDxQaVNtbS5oPg0KKyNp bmNsdWRlIDxSZWdpc3Rlci9JbnRlbC9BcmNoaXRlY3R1cmFsTXNyLmg+IC8vIE1TUl9JQTMyX0FQ SUNfQkFTRV9SRUdJU1RFUg0KKw0KICNpbmNsdWRlIDxMaWJyYXJ5L1NtbUNwdVBsYXRmb3JtSG9v a0xpYi5oPg0KIA0KIC8qKg0KICAgQ2hlY2tzIGlmIHBsYXRmb3JtIHByb2R1Y2VzIGEgdmFsaWQg U01JLg0KIA0KICAgVGhpcyBmdW5jdGlvbiBjaGVja3MgaWYgcGxhdGZvcm0gcHJvZHVjZXMgYSB2 YWxpZCBTTUkuIFRoaXMgZnVuY3Rpb24gaXMNCiAgIGNhbGxlZCBhdCBTTU0gZW50cnkgdG8gZGV0 ZWN0IGlmIHRoaXMgaXMgYSBzcHVyaW91cyBTTUkuIFRoaXMgZnVuY3Rpb24NCiAgIG11c3QgYmUg aW1wbGVtZW50ZWQgaW4gYW4gTVAgc2FmZSB3YXkgYmVjYXVzZSBpdCBpcyBjYWxsZWQgYnkgbXVs dGlwbGUgQ1BVDQogICB0aHJlYWRzLg0KIA0KICAgQHJldHZhbCBUUlVFICAgICAgICAgICAgICBU aGVyZSBpcyBhIHZhbGlkIFNNSQ0KICAgQHJldHZhbCBGQUxTRSAgICAgICAgICAgICBUaGVyZSBp cyBubyB2YWxpZCBTTUkNCiANCiAqKi8NCiBCT09MRUFODQogRUZJQVBJDQogUGxhdGZvcm1WYWxp ZFNtaSAoDQogICBWT0lEDQogICApDQogew0KICAgcmV0dXJuIFRSVUU7DQogfQ0KQEAgLTU2LDQ1 ICs1OSw0OSBAQCBDbGVhclRvcExldmVsU21pU3RhdHVzICgKIA0KICAgQHBhcmFtICBJc0JzcCAg ICAgICAgICAgICBPdXRwdXQgcGFyYW1ldGVyLiBUUlVFOiB0aGUgQ1BVIHRoaXMgZnVuY3Rpb24N CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhlY3V0ZXMgb24gaXMgZWxlY3RlZCB0byBi ZSB0aGUgU01NIEJTUC4gRkFMU0U6DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBD UFUgdGhpcyBmdW5jdGlvbiBleGVjdXRlcyBvbiBpcyB0byBiZSBTTU0gQVAuDQogDQogICBAcmV0 dmFsIEVGSV9TVUNDRVNTICAgICAgIFRoZSBmdW5jdGlvbiBleGVjdXRlcyBzdWNjZXNzZnVsbHku DQogICBAcmV0dmFsIEVGSV9OT1RfUkVBRFkgICAgIFRoZSBmdW5jdGlvbiBkb2VzIG5vdCBkZXRl cm1pbmUgd2hldGhlciB0aGlzIENQVQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG91 bGQgYmUgQlNQIG9yIEFQLiBUaGlzIG1heSBvY2N1ciBpZiBoYXJkd2FyZQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBpbml0IHNlcXVlbmNlIHRvIGVuYWJsZSB0aGUgZGV0ZXJtaW5hdGlv biBpcyB5ZXQgdG8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmUgZG9uZSwgb3IgdGhl IGZ1bmN0aW9uIGNob29zZXMgbm90IHRvIGRvIEJTUA0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBlbGVjdGlvbiBhbmQgd2lsbCBsZXQgU01NIENQVSBkcml2ZXIgdG8gdXNlIGl0cw0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0IEJTUCBlbGVjdGlvbiBwcm9jZXNzLg0K ICAgQHJldHZhbCBFRklfREVWSUNFX0VSUk9SICBUaGUgZnVuY3Rpb24gY2Fubm90IGRldGVybWlu ZSB3aGV0aGVyIHRoaXMgQ1BVDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3VsZCBi ZSBCU1Agb3IgQVAgZHVlIHRvIGhhcmR3YXJlIGVycm9yLg0KIA0KICoqLw0KIEVGSV9TVEFUVVMN CiBFRklBUEkNCiBQbGF0Zm9ybVNtbUJzcEVsZWN0aW9uICgNCiAgIE9VVCBCT09MRUFOICAgICAq SXNCc3ANCiAgICkNCiB7DQotICByZXR1cm4gRUZJX05PVF9SRUFEWTsNCisgIE1TUl9JQTMyX0FQ SUNfQkFTRV9SRUdJU1RFUiBBcGljQmFzZU1zcjsNCisNCisgIEFwaWNCYXNlTXNyLlVpbnQ2NCA9 IEFzbVJlYWRNc3I2NCAoTVNSX0lBMzJfQVBJQ19CQVNFKTsNCisgICpJc0JzcCA9IChCT09MRUFO KShBcGljQmFzZU1zci5CaXRzLkJTUCA9PSAxKTsNCisgIHJldHVybiBFRklfU1VDQ0VTUzsNCiB9 DQogDQogLyoqDQogICBHZXQgcGxhdGZvcm0gcGFnZSB0YWJsZSBhdHRyaWJ1dGUuDQogDQogICBU aGlzIGZ1bmN0aW9uIGdldHMgcGFnZSB0YWJsZSBhdHRyaWJ1dGUgb2YgcGxhdGZvcm0uDQogDQog ICBAcGFyYW0gIEFkZHJlc3MgICAgICAgIElucHV0IHBhcmFtZXRlci4gT2J0YWluIHRoZSBwYWdl IHRhYmxlIGVudHJpZXMNCiAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIG9uIHRo aXMgYWRkcmVzcy4NCiAgIEBwYXJhbSAgUGFnZVNpemUgICAgICAgT3V0cHV0IHBhcmFtZXRlci4g VGhlIHNpemUgb2YgdGhlIHBhZ2UuDQogICBAcGFyYW0gIE51bU9mUGFnZXMgICAgIE91dHB1dCBw YXJhbWV0ZXIuIE51bWJlciBvZiBwYWdlLg0KICAgQHBhcmFtICBQYWdlQXR0cmlidXRlICBPdXRw dXQgcGFyYW1ldGVyLiBQYWdpbmcgQXR0cmlidXRlcyAoV0IsIFVDLCBldGMpLg0KIA0KICAgQHJl dHZhbCBFRklfU1VDQ0VTUyAgICAgIFRoZSBwbGF0Zm9ybSBwYWdlIHRhYmxlIGF0dHJpYnV0ZSBm cm9tIHRoZSBhZGRyZXNzDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaXMgZGV0ZXJtaW5l ZC4NCiAgIEByZXR2YWwgRUZJX1VOU1VQUE9SVEVEICBUaGUgcGxhdGZvcm0gZG9lcyBub3Qgc3Vw cG9ydCBnZXR0aW5nIHBhZ2UgdGFibGUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRy aWJ1dGUgZm9yIHRoZSBhZGRyZXNzLg0KIA0KICoqLw0KIEVGSV9TVEFUVVMNCiBFRklBUEkNCiBH ZXRQbGF0Zm9ybVBhZ2VUYWJsZUF0dHJpYnV0ZSAoDQotLSAKMi4xOS4xLjMuZzMwMjQ3YWE1ZDIw MQoKCg==