From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (NAM10-DM6-obe.outbound.protection.outlook.com [40.107.93.83]) by mx.groups.io with SMTP id smtpd.web10.9570.1624030765031657415 for ; Fri, 18 Jun 2021 08:39:25 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@ami.com header.s=selector1 header.b=ZR/Ogg/4; spf=pass (domain: ami.com, ip: 40.107.93.83, mailfrom: manickavasakamk@ami.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AYeavcTc2Lm5CEW5aJG2V1naMdLTppwN4X+axCYtZoa3/TmayuUjP+q78aNxjachN+UC1Hw18pbYP1qojh2AXXzXGdh0OUfPbVm5SqBlaLsoVmB3+XKUGLbd+aBLaiTZGkws63wdhoSovVCTiGwkjTYNwsoVoj2iPTfxig20M3/6ylhsNgJzT+4YYSRONuy8ehRUOFbyLffjK1RcqDUkB4t8H++Aa5OflV4sENmSaFSU5nFqDK9UT14GvwJY52BahadI7v+UNjEIG1bXN8KtM9LlzvpX3bNemBRdPjI6e1gFThGp0n5UrxI7BbpWZsnTdrKhjiYIT/qosLysa4DtlQ== 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=ML+SYopL6kYJYhoU7R+cLpVaaXQdFzBC+VE87T8GiZ4=; b=UP6ph/wW7i46oldrOTw/qE1Auy0NII9nYy78BsaXapO8wtL6muDx6CIs2sPqUeBCK4gX/ejXSa0QJ2cYQOSMU8Gfq36DrLs/gvuZcVusL4eDL1uXDLPbGoC/UYeHWsvy0YHsYtmgIZoNK9azuv8mZjSw6y+nSLHcCnrXproii5KAMuKWg+pCHZWmP7MdOcb0dzK+plpr/CPbUipub+biGOPh9kx/Tx2bxhY4ervKfSgVqfjYp/q8FY/TGfaKHwPbCBpFplkmsSL+w3/gZ/tH+rs2bo1CsYgmRfsYDD6ZuMALyfRqx5QZxus34DFJk52aAhMMRJGCZNQdZNjsFimqDg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ami.com; dmarc=pass action=none header.from=ami.com; dkim=pass header.d=ami.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ami.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ML+SYopL6kYJYhoU7R+cLpVaaXQdFzBC+VE87T8GiZ4=; b=ZR/Ogg/4HB8hBObfuPcRnGIuUwgntZK8lJPvtSMTdDoK8x80jz6fdGfK5hU+3/aGBQMTMrYKBHPCYNIHmgXA1v3veQHUcwlv46NLxbWIb921WBKFhav4IydIA2Y8clZl4f1KiZTBDSaRbBuVSeaW0fr1oGaT78RCCcY3LBPfDjw= Received: from PH0PR10MB4408.namprd10.prod.outlook.com (2603:10b6:510:39::16) by PH0PR10MB4741.namprd10.prod.outlook.com (2603:10b6:510:3d::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4242.19; Fri, 18 Jun 2021 15:39:22 +0000 Received: from PH0PR10MB4408.namprd10.prod.outlook.com ([fe80::c578:856e:c894:d2b0]) by PH0PR10MB4408.namprd10.prod.outlook.com ([fe80::c578:856e:c894:d2b0%9]) with mapi id 15.20.4242.021; Fri, 18 Jun 2021 15:39:22 +0000 From: "manickavasakam karpagavinayagam" To: gaoliming , "devel@edk2.groups.io" CC: "isaac.w.oram@intel.com" , "nathaniel.l.desimone@intel.com" , Felix Polyudov , Harikrishna Doppalapudi , Manish Jha , Zachary Bobroff Subject: =?UTF-8?B?UmU6IFtFWFRFUk5BTF0g5Zue5aSNOiBbZWRrMl1bUEFUQ0ggVjFdIE1kZVBrZyA6IEFkZCBJUE1JIE1hY3JvIGFuZCBTdHJ1Y3R1cmUgRGVmaW50aW9ucyB0byByZXNvbHZlIHRoZSBJUE1JIGJ1aWxkIGVycm9y?= Thread-Topic: =?utf-8?B?W0VYVEVSTkFMXSDlm57lpI06IFtlZGsyXVtQQVRDSCBWMV0gTWRlUGtnIDog?= =?utf-8?B?QWRkIElQTUkgTWFjcm8gYW5kIFN0cnVjdHVyZSBEZWZpbnRpb25zIHRvIHJl?= =?utf-8?Q?solve_the_IPMI_build_error?= Thread-Index: AQK59nhV0Ohq4KM3aYmee3SBoO4P/qlSWf9ggAAAGsCAAPjmwIAAfCuAgADzwIA= Date: Fri, 18 Jun 2021 15:39:22 +0000 Message-ID: References: <20210611215004.8873-1-manickavasakamk@ami.com> <005f01d76323$a5338060$ef9a8120$@byosoft.com.cn> <009c01d763de$0e343130$2a9c9390$@byosoft.com.cn> In-Reply-To: <009c01d763de$0e343130$2a9c9390$@byosoft.com.cn> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: byosoft.com.cn; dkim=none (message not signed) header.d=none;byosoft.com.cn; dmarc=none action=none header.from=ami.com; x-originating-ip: [63.147.10.3] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 5258dd4e-416c-4e2d-a0e1-08d9326f3ed3 x-ms-traffictypediagnostic: PH0PR10MB4741: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:2887; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: rFORTQ6itcXwU2tHsf3yymGvtD1jwvwvHIemfbHMHjO46YPl+wMAVa3ayYVglBw42JN0g0spDDxv+5W4OLqsVlGXDank6ivgsNaT8ArIp7YYHsgkHarm34gg3QJTjY0ZzGeTrpUZyfPLfnTN6i4CGDR4aldWwq27dwy6eLQz3hzKUzRTaXLDy4G/ZJsZyockE2Aow79vPM8oVMk4tNsd7st4SH+Qawp5eEEkU7JaCJBDPdU2Qf9DSCxLFzSmp7M1YErWcu4glkDTG0xp+DfAmb1Fa55d77c+cFr3BZia7DESsh05I7+tfddUU437RqR7fGTWho2NXFk7w4qAqGspuzpkAltCpgW57lDI4mXfnBqDGNiSebPhLtTZXGYgixjh70Ifr1WTM9fDnlLfXtv02aC7d7jJe3JKH9XCqmn0vkWlR0SA/sdkW7Du6rqCFa4lPOf6nvFHHJcKRXMGxwQyvZ4UxEAexf5ZWKwQuIuBARI9jVCQnRM9TYgl2v9tYqjzeXcsziszjfwfVERcULRBXj9neb4ysHivCTSTgAl3GYH6pglWNPhljaw76w8afyd0Go752INE6NWn4h9rLoNOk0E2XSKtYUSpIT5t9mzOk8k= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR10MB4408.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(136003)(346002)(376002)(396003)(39850400004)(366004)(478600001)(52536014)(5660300002)(83380400001)(30864003)(8936002)(122000001)(66476007)(316002)(38100700002)(110136005)(26005)(6506007)(4326008)(2906002)(55016002)(224303003)(33656002)(9686003)(7696005)(66556008)(71200400001)(86362001)(53546011)(54906003)(76116006)(186003)(66446008)(66946007)(64756008);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?dDR4S0JZTCtDWUNpOTJIVmlXRWVTVm92QUlWMU82aDViZkM4RGQyU08xVGNE?= =?utf-8?B?N2xTMzhvTk9YK2lhOUl3OVorZFptY3c3Tkd5NEdqME9SZ0xsQUMzQTlhTFVC?= =?utf-8?B?eDlvU3Z0RHBSbWVOcVJpLy9VVmZPL0RIMGlwOWhURld1aWp4cUlzNlpUOHE2?= =?utf-8?B?cDVaSEwxdTZjcHZ4ZUdZWFBJV3M4S3Q3bzl0STlmajBBRzVWcUNuMjU5Zmoz?= =?utf-8?B?c0IwU1VtT095RDJWV1hLVE8veE1jWUg1Q3hhdUxFV3R5dGhHNmxLRmFnalJD?= =?utf-8?B?c2YvL3lqdVBwT3lXTExwc2J5UlNUdEJFeTRJblEvY05VQXg0Q0l0Y3g0ZWZo?= =?utf-8?B?b0U0ZWhhRDA5SW91WEJvZ2IwcGVSeXVwdjJaN0VMT08zam1ZbEZzenRjaGtl?= =?utf-8?B?VjkyRFR2L0VsU2pwTVdUc0dQRU9IUWdLL0tJRE9pU1VRMmdwSTZ5a1NqVXFq?= =?utf-8?B?T2xCTXJsM0MrU3AxeXV0YlRMMkpCVFhtUE1EWmh1ZnJsZnhmcTJ2NDNCalB3?= =?utf-8?B?RnJ0OUhRZ3psU0NxRXBqcWxLc0ZwZC9aR0FQaDNXWWtyQmhwWEppcy9ScTE5?= =?utf-8?B?Zk5Lc3RkemFISVBPTHY3Sjh2R21GRGUzNjFaM29MUmloaWo1MXo1STdXVk81?= =?utf-8?B?V280VnQyQU5ab3J2bk5DdnJpZkFzOENBM1owclhIbDNaZFBFSkFxNHhKU2J4?= =?utf-8?B?S1ZwVDdsVEpjYUFxK3FSeDg4Y2E3Sm12Z2lReGVkaUxvUis4VjhQUVo3MzJB?= =?utf-8?B?cmNFbC9uT21PbEJvNnc0cUN5VzFCNzN0U0NxTWxqajBIZDdiKzAzc2VGZ2hU?= =?utf-8?B?OEUvNVF5TEpJdmRvbVc4UFJ5U0dveUkyZWcvUWU2UitGSU9Nd3o0T0I2d1Rj?= =?utf-8?B?bWtJNlgvQnJ5KytCMmQzUmdYUGM2UFdsYWJHaVZWTmxlblYvRi9qVm1hWFh4?= =?utf-8?B?ekNhWXpMZWZtVFRNV3hmalkrRis2cUNiV0VrQ0NJSGhuNkxDR0dqcFlTOU1Z?= =?utf-8?B?Z1kva0swdFE5L2RENzVIVUtDZWd2VFVTVnBBckZvTmtHbVNZRXJlRzZMRVh5?= =?utf-8?B?TmtXMXJSTmFmekhkYVpScExYV2h1dTM2MTE3N3lYYmJGMGFsRzIzc0pmaUpT?= =?utf-8?B?b0FxNlBVbU96OU8wTWcrSVc3dC84dTBIVFRSeU4rNXVyak9pTHYzSHFIZGIr?= =?utf-8?B?MFZpZ3d3RHJaYUJ6Y29wUzBpSzBPVVF6akVZUkE4RTJEUDZpWEROWmRsNGFq?= =?utf-8?B?ZHZzQnd4ZzIvNnJrSW0zUVVVY0NQMUI2WW1CVUtTYVFwQW4xR211UE9yZ1Q4?= =?utf-8?B?NEpKWjZUVGVuc2EwWnI0Qk9sUENTazRJRjZ3bzhscUdRZmsyVEMrQ29CVWhY?= =?utf-8?B?dlBQMWdFUExIK0FRWWNEZFBqSjBac0hqLzM1YUVrTmo2Vm9zNHEzNVBUdEtq?= =?utf-8?B?QjhoMXZ1N3c4NVpNRlZoWmI4VDQwcFR0OUk1YTFQUFdtRUlwVE0zM1k2Q1RT?= =?utf-8?B?TncvbmZNQ21PMXJ3VWsrS1dZUmJRTlN2Qnc0NUx6eVN0ZUttZVNJNXhhZHc1?= =?utf-8?B?Y0xBYkZaOUk1RllzOUZhb0g3aTltZkxobUtMN3FuemI2RkJuK29XRktUbFRm?= =?utf-8?B?LzhrMEVGTjZnc01iejRzQnpIeEhNTDB2R2NjVDdlUlZYbkNHaUpSNDYwQnVQ?= =?utf-8?B?SHdyV0YvQ3VQZHRrRTVSekNjM01ndnlPTUtJSzFvOU5DVS9td0pXY2dCMXZx?= =?utf-8?Q?CFH3G41/BOPIT5eXCc=3D?= MIME-Version: 1.0 X-OriginatorOrg: ami.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR10MB4408.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5258dd4e-416c-4e2d-a0e1-08d9326f3ed3 X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Jun 2021 15:39:22.4509 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 27e97857-e15f-486c-b58e-86c2b3040f93 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: eAmJV5s+hA1io0JGPOTHkWiUaOIrLnOudN8Z6u/Psc5o8VQHVEMbnNd90WmJuPRGkZxNq4rxeACuZGzKUTXpVQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB4741 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 TGltaW5nIDoNCg0KQWRkIFNpZ25lZC1vZmYtYnkgaW5mb3JtYXRpb24gYW5kIGNyZWF0ZWQvc2Vu dCBhIG5ldyBQQVRDSCBWMyBbZWRrMl1bUEFUQ0ggVjNdIE1kZVBrZyA6IEFkZCBJUE1JIE1hY3Jv IGFuZCBTdHJ1Y3R1cmUgRGVmaW50aW9ucyB0byByZXNvbHZlIGJ1aWxkIGVycm9ycw0KDQpUaGFu ayB5b3UNCg0KLU1hbmljDQoNCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IGdh b2xpbWluZyA8Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuPg0KU2VudDogVGh1cnNkYXksIEp1bmUg MTcsIDIwMjEgOTowNiBQTQ0KVG86IE1hbmlja2F2YXNha2FtIEthcnBhZ2F2aW5heWFnYW0gPG1h bmlja2F2YXNha2Fta0BhbWkuY29tPjsgZGV2ZWxAZWRrMi5ncm91cHMuaW8NCkNjOiBpc2FhYy53 Lm9yYW1AaW50ZWwuY29tOyBuYXRoYW5pZWwubC5kZXNpbW9uZUBpbnRlbC5jb207IEZlbGl4IFBv bHl1ZG92IDxGZWxpeHBAYW1pLmNvbT47IEhhcmlrcmlzaG5hIERvcHBhbGFwdWRpIDxIYXJpa3Jp c2huYWRAYW1pLmNvbT47IE1hbmlzaCBKaGEgPG1hbmlzaGpAYW1pLmNvbT47IFphY2hhcnkgQm9i cm9mZiA8emFjaGFyeWJAYW1pLmNvbT4NClN1YmplY3Q6IOWbnuWkjTogW0VYVEVSTkFMXSDlm57l pI06IFtlZGsyXVtQQVRDSCBWMV0gTWRlUGtnIDogQWRkIElQTUkgTWFjcm8gYW5kIFN0cnVjdHVy ZSBEZWZpbnRpb25zIHRvIHJlc29sdmUgdGhlIElQTUkgYnVpbGQgZXJyb3INCg0KTWFuaWM6DQog IFRoZSBwYXRjaCBjb250ZW50IGlzIGdvb2QuIEJ1dCwgdGhlIGNvbW1pdCBtZXNzYWdlIG1pc3Nl cyBTaWduZWQtb2ZmLWJ5OiBDb250cmlidXRvciBOYW1lIDxjb250cmlidXRvckBlbWFpbC5zZXJ2 ZXI+DQoNCiAgQW5kLCBwbGVhc2UgcnVuIEJhc2VUb29sc1xTY3JpcHRzXFBhdGNoQ2hlY2sucHkg dG8gY2hlY2sgdGhlIGNvbW1pdCBtZXNzYWdlIGZvcm1hdC4NCg0KVGhhbmtzDQpMaW1pbmcNCj4g LS0tLS3pgq7ku7bljp/ku7YtLS0tLQ0KPiDlj5Hku7bkuro6IE1hbmlja2F2YXNha2FtIEthcnBh Z2F2aW5heWFnYW0gPG1hbmlja2F2YXNha2Fta0BhbWkuY29tPg0KPiDlj5HpgIHml7bpl7Q6IDIw MjHlubQ25pyIMTjml6UgMTo0Mg0KPiDmlLbku7bkuro6IGdhb2xpbWluZyA8Z2FvbGltaW5nQGJ5 b3NvZnQuY29tLmNuPjsgZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4g5oqE6YCBOiBpc2FhYy53Lm9y YW1AaW50ZWwuY29tOyBuYXRoYW5pZWwubC5kZXNpbW9uZUBpbnRlbC5jb207IEZlbGl4DQo+IFBv bHl1ZG92IDxGZWxpeHBAYW1pLmNvbT47IEhhcmlrcmlzaG5hIERvcHBhbGFwdWRpDQo+IDxIYXJp a3Jpc2huYWRAYW1pLmNvbT47IE1hbmlzaCBKaGEgPG1hbmlzaGpAYW1pLmNvbT47IFphY2hhcnkg Qm9icm9mZg0KPiA8emFjaGFyeWJAYW1pLmNvbT4NCj4g5Li76aKYOiBSRTogW0VYVEVSTkFMXSDl m57lpI06IFtlZGsyXVtQQVRDSCBWMV0gTWRlUGtnIDogQWRkIElQTUkgTWFjcm8gYW5kDQo+IFN0 cnVjdHVyZSBEZWZpbnRpb25zIHRvIHJlc29sdmUgdGhlIElQTUkgYnVpbGQgZXJyb3INCj4NCj4g TGltaW5nIDoNCj4NCj4gVGhhbmsgeW91IGZvciB0aGUgcmV2aWV3IGNvbW1lbnRzLiBDcmVhdGVk IFtlZGsyXSBbUEFUQ0ggVjJdIE1kZVBrZyA6DQo+IEFkZCBJUE1JIE1hY3JvIGFuZCBTdHJ1Y3R1 cmUgRGVmaW50aW9ucyB0byByZXNvbHZlIGJ1aWxkIGVycm9ycyBhbmQNCj4gc2VudCBmb3IgcmV2 aWV3Lg0KPg0KPiAtTWFuaWMNCj4NCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJv bTogZ2FvbGltaW5nIDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24+DQo+IFNlbnQ6IFdlZG5lc2Rh eSwgSnVuZSAxNiwgMjAyMSAxMDo1MSBQTQ0KPiBUbzogTWFuaWNrYXZhc2FrYW0gS2FycGFnYXZp bmF5YWdhbSA8bWFuaWNrYXZhc2FrYW1rQGFtaS5jb20+Ow0KPiBkZXZlbEBlZGsyLmdyb3Vwcy5p bw0KPiBDYzogaXNhYWMudy5vcmFtQGludGVsLmNvbTsgbmF0aGFuaWVsLmwuZGVzaW1vbmVAaW50 ZWwuY29tOyBGZWxpeA0KPiBQb2x5dWRvdiA8RmVsaXhwQGFtaS5jb20+OyBIYXJpa3Jpc2huYSBE b3BwYWxhcHVkaQ0KPiA8SGFyaWtyaXNobmFkQGFtaS5jb20+OyBNYW5pc2ggSmhhIDxtYW5pc2hq QGFtaS5jb20+OyBaYWNoYXJ5IEJvYnJvZmYNCj4gPHphY2hhcnliQGFtaS5jb20+DQo+IFN1Ympl Y3Q6IFtFWFRFUk5BTF0g5Zue5aSNOiBbZWRrMl1bUEFUQ0ggVjFdIE1kZVBrZyA6IEFkZCBJUE1J IE1hY3JvIGFuZA0KPiBTdHJ1Y3R1cmUgRGVmaW50aW9ucyB0byByZXNvbHZlIHRoZSBJUE1JIGJ1 aWxkIGVycm9yDQo+DQo+DQo+ICoqQ0FVVElPTjogVGhlIGUtbWFpbCBiZWxvdyBpcyBmcm9tIGFu IGV4dGVybmFsIHNvdXJjZS4gUGxlYXNlDQo+IGV4ZXJjaXNlIGNhdXRpb24gYmVmb3JlIG9wZW5p bmcgYXR0YWNobWVudHMsIGNsaWNraW5nIGxpbmtzLCBvcg0KPiBmb2xsb3dpbmcgZ3VpZGFuY2Uu KioNCj4NCj4gTWFuaWNrYXZhc2FrYW06DQo+ICAgUGxlYXNlIHVwZGF0ZSB0aGlzIHBhdGNoLiBJ dCBhbHNvIGluY2x1ZGVzDQo+IDAwMDEtTWRlUGtnLUFkZC1JUE1JLU1hY3JvLWFuZC1TdHJ1Y3R1 cmUtRGVmaW50aW9ucy10by1yZS5wYXRjaC4NCj4NCj4gICBUaGUgcGF0Y2ggc2hvdWxkIG9ubHkg aW5jbHVkZSB0aGUgY29kZSBjaGFuZ2VzIGluIE1kZVBrZy4NCj4NCj4gVGhhbmtzDQo+IExpbWlu Zw0KPiA+IC0tLS0t6YKu5Lu25Y6f5Lu2LS0tLS0NCj4gPiDlj5Hku7bkuro6IGdhb2xpbWluZyA8 Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuPg0KPiA+IOWPkemAgeaXtumXtDogMjAyMeW5tDbmnIgx N+aXpSAxMDo1MA0KPiA+IOaUtuS7tuS6ujogJ21hbmlja2F2YXNha2FtIGthcnBhZ2F2aW5heWFn YW0nDQo+ID4gPG1hbmlja2F2YXNha2Fta0BhbWkuY29tPjsgJ2RldmVsQGVkazIuZ3JvdXBzLmlv Jw0KPiA+IDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4NCj4gPiDmioTpgIE6ICdpc2FhYy53Lm9yYW1A aW50ZWwuY29tJyA8aXNhYWMudy5vcmFtQGludGVsLmNvbT47DQo+ID4gJ25hdGhhbmllbC5sLmRl c2ltb25lQGludGVsLmNvbScgPG5hdGhhbmllbC5sLmRlc2ltb25lQGludGVsLmNvbT47DQo+ID4g J0ZlbGl4cEBhbWkuY29tJyA8RmVsaXhwQGFtaS5jb20+OyAnSGFyaWtyaXNobmFkQGFtaS5jb20n DQo+ID4gPEhhcmlrcmlzaG5hZEBhbWkuY29tPjsgJ21hbmlzaGpAYW1pLmNvbScgPG1hbmlzaGpA YW1pLmNvbT47DQo+ID4gJ3phY2hhcnliQGFtaS5jb20nIDx6YWNoYXJ5YkBhbWkuY29tPg0KPiA+ IOS4u+mimDog5Zue5aSNOiBbZWRrMl1bUEFUQ0ggVjFdIE1kZVBrZyA6IEFkZCBJUE1JIE1hY3Jv IGFuZCBTdHJ1Y3R1cmUNCj4gPiBEZWZpbnRpb25zIHRvIHJlc29sdmUgdGhlIElQTUkgYnVpbGQg ZXJyb3INCj4gPg0KPiA+DQo+ID4NCj4gPiA+IC0tLS0t6YKu5Lu25Y6f5Lu2LS0tLS0NCj4gPiA+ IOWPkeS7tuS6ujogbWFuaWNrYXZhc2FrYW0ga2FycGFnYXZpbmF5YWdhbQ0KPiA+IDxtYW5pY2th dmFzYWthbWtAYW1pLmNvbT4NCj4gPiA+IOWPkemAgeaXtumXtDogMjAyMeW5tDbmnIgxMuaXpSA1 OjUwDQo+ID4gPiDmlLbku7bkuro6IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+ID4gPiDmioTpgIE6 IGlzYWFjLncub3JhbUBpbnRlbC5jb207IG5hdGhhbmllbC5sLmRlc2ltb25lQGludGVsLmNvbTsN Cj4gPiA+IEZlbGl4cEBhbWkuY29tOyBIYXJpa3Jpc2huYWRAYW1pLmNvbTsgbWFuaXNoakBhbWku Y29tOw0KPiA+ID4gemFjaGFyeWJAYW1pLmNvbTsgbWFuaWNrYXZhc2FrYW1rQGFtaS5jb207DQo+ IGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbg0KPiA+ID4g5Li76aKYOiBbZWRrMl1bUEFUQ0ggVjFd IE1kZVBrZyA6IEFkZCBJUE1JIE1hY3JvIGFuZCBTdHJ1Y3R1cmUNCj4gPiBEZWZpbnRpb25zDQo+ ID4gPiB0byByZXNvbHZlIHRoZSBJUE1JIGJ1aWxkIGVycm9yDQo+ID4gPg0KPiA+ID4gQnVpbGQg ZXJyb3IgcmVwb3J0ZWQgZm9yIG1pc3Npbmcgc3RydWN0dXJlcw0KPiA+ID4gSVBNSV9TRVRfQk9P VF9PUFRJT05TX1JFU1BPTlNFLA0KPiBFRklfSVBNSV9NU0dfR0VUX0JNQ19FWEVDX1JTUCBhbmQN Cj4gPiA+IG1hY3JvcyBFRklfRklSTVdBUkVfR0VUX0JNQ19FWEVDVVRJT05fQ09OVEVYVA0KPiA+ ID4NCj4gPg0KPiBFRklfRklSTVdBUkVfQk1DX0lOX0ZVTExfUlVOVElNRS9FRklfRklSTVdBUkVf Qk1DX0lOX0ZPUkNFDQo+ID4gPiBEX1VQREFURV9NT0RFDQo+ID4gPiB3aGVuIHVzaW5nDQo+ID4g PiBlZGsyLXBsYXRmb3Jtc1xGZWF0dXJlc1xJbnRlbFxPdXRPZkJhbmRNYW5hZ2VtZW50XElwbWlG ZWF0dXJlUGtnDQo+ID4gPg0KPiA+ID4gTWRlUGtnIDogUmVuYW1lIElQTUkgTWFjcm8gYW5kIFN0 cnVjdHVyZSBEZWZpbnRpb25zDQo+ID4gPg0KPiA+ID4gUmVuYW1lIHRoZSBFRklfSVBNSV9NU0df R0VUX0JNQ19FWEVDX1JTUEIsDQo+ID4gPiBFRklfRklSTVdBUkVfR0VUX0JNQ19FWEVDVVRJT05f Q09OVEVYVA0KPiA+ID4gRUZJX0ZJUk1XQVJFX0JNQ19JTl9GT1JDRURfVVBEQVRFX01PREUgdG8N Cj4gPiA+DQo+IElQTUlfTVNHX0dFVF9CTUNfRVhFQ19SU1BCLElQTUlfR0VUX0JNQ19FWEVDVVRJ T05fQ09OVEVYVA0KPiA+ID4gSVBNSV9CTUNfSU5fRk9SQ0VEX1VQREFURV9NT0RFDQo+ID4gPiAt LS0NCj4gPiA+DQo+ID4gPiBOb3RlczoNCj4gPiA+ICAgICBWMSA6DQo+ID4gPiAgICAgLSBSZW5h bWUgdGhlIEVGSV9JUE1JX01TR19HRVRfQk1DX0VYRUNfUlNQQiwNCj4gPiA+IEVGSV9GSVJNV0FS RV9HRVRfQk1DX0VYRUNVVElPTl9DT05URVhUDQo+ID4gPiAgICAgLSBFRklfRklSTVdBUkVfQk1D X0lOX0ZPUkNFRF9VUERBVEVfTU9ERSB0bw0KPiA+ID4NCj4gSVBNSV9NU0dfR0VUX0JNQ19FWEVD X1JTUEIsSVBNSV9HRVRfQk1DX0VYRUNVVElPTl9DT05URVhUDQo+ID4gPiAgICAgLSBJUE1JX0JN Q19JTl9GT1JDRURfVVBEQVRFX01PREUNCj4gPiA+DQo+ID4gPiAgMDAwMS1NZGVQa2ctQWRkLUlQ TUktTWFjcm8tYW5kLVN0cnVjdHVyZS1EZWZpbnRpb25zLXRvLXJlLnBhdGNoIHwNCj4gPiA+IDYx DQo+ID4gPiArKysrKysrKysrKysrKysrKysrKw0KPiA+ID4gIE1kZVBrZy9JbmNsdWRlL0luZHVz dHJ5U3RhbmRhcmQvSXBtaU5ldEZuQ2hhc3Npcy5oDQo+IHwNCj4gPiA+IDQgKysNCj4gPiA+ICBN ZGVQa2cvSW5jbHVkZS9JbmR1c3RyeVN0YW5kYXJkL0lwbWlOZXRGbkZpcm13YXJlLmgNCj4gPiB8 DQo+ID4gPiAxOCArKysrKysNCj4gPiA+ICAzIGZpbGVzIGNoYW5nZWQsIDgzIGluc2VydGlvbnMo KykNCj4gPiA+DQo+ID4gPiBkaWZmIC0tZ2l0DQo+ID4gPiBhLzAwMDEtTWRlUGtnLUFkZC1JUE1J LU1hY3JvLWFuZC1TdHJ1Y3R1cmUtRGVmaW50aW9ucy10by1yZS5wYXRjaA0KPiA+ID4gYi8wMDAx LU1kZVBrZy1BZGQtSVBNSS1NYWNyby1hbmQtU3RydWN0dXJlLURlZmludGlvbnMtdG8tcmUucGF0 Y2gNCj4gPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ID4gPiBpbmRleCAwMDAwMDAwMDAwLi4x NmQxNDllMmQ4DQo+ID4gPiAtLS0gL2Rldi9udWxsDQo+ID4gPiArKysNCj4gYi8wMDAxLU1kZVBr Zy1BZGQtSVBNSS1NYWNyby1hbmQtU3RydWN0dXJlLURlZmludGlvbnMtdG8tcmUucGF0Yw0KPiA+ ID4gKysrIGgNCj4gPiA+IEBAIC0wLDAgKzEsNjEgQEANCj4gPiA+ICtGcm9tIGM1ZTIyMWNmZTVk ODE1ODgzZjM5YjcxNjY3YjZlOGY2NDRhMjczOTAgTW9uIFNlcCAxNw0KPiA+IDAwOjAwOjAwDQo+ ID4gPiAyMDAxDQo+ID4gPiArRnJvbTogbWFuaWNrYXZhc2FrYW0ga2FycGFnYXZpbmF5YWdhbQ0K PiA+IDxtYW5pY2thdmFzYWthbWtAYW1pLmNvbT4NCj4gPiA+ICtEYXRlOiBUaHUsIDEwIEp1biAy MDIxIDE0OjU5OjIyIC0wNDAwDQo+ID4gPiArU3ViamVjdDogW2VkazJdW1BBVENIXSBNZGVQa2cg OiBBZGQgSVBNSSBNYWNybyBhbmQgU3RydWN0dXJlDQo+ID4gPiArRGVmaW50aW9ucw0KPiA+ID4g dG8gcmVzb2x2ZQ0KPiA+ID4gKyB0aGUgSVBNSSBidWlsZCBlcnJvcg0KPiA+ID4gKw0KPiA+ID4g K0J1aWxkIGVycm9yIHJlcG9ydGVkIGZvciBtaXNzaW5nIHN0cnVjdHVyZXMNCj4gPiA+IElQTUlf U0VUX0JPT1RfT1BUSU9OU19SRVNQT05TRSwNCj4gPiA+ICtFRklfSVBNSV9NU0dfR0VUX0JNQ19F WEVDX1JTUCBhbmQgbWFjcm9zDQo+ID4gPiBFRklfRklSTVdBUkVfR0VUX0JNQ19FWEVDVVRJT05f Q09OVEVYVA0KPiA+ID4NCj4gPg0KPiArRUZJX0ZJUk1XQVJFX0JNQ19JTl9GVUxMX1JVTlRJTUUv RUZJX0ZJUk1XQVJFX0JNQ19JTl9GT1JDDQo+ID4gPiBFRF9VUERBVEVfTU9ERQ0KPiA+ID4gK3do ZW4gdXNpbmcNCj4gPiA+IGVkazItcGxhdGZvcm1zXEZlYXR1cmVzXEludGVsXE91dE9mQmFuZE1h bmFnZW1lbnRcSXBtaUZlYXR1cmVQa2cNCj4gPiA+ICstLS0NCj4gPiA+ICsgTWRlUGtnL0luY2x1 ZGUvSW5kdXN0cnlTdGFuZGFyZC9JcG1pTmV0Rm5DaGFzc2lzLmggIHwgIDQgKysrKw0KPiA+ID4g K01kZVBrZy9JbmNsdWRlL0luZHVzdHJ5U3RhbmRhcmQvSXBtaU5ldEZuRmlybXdhcmUuaCB8IDE5 DQo+ID4gPiArKysrKysrKysrKysrKysrKysrDQo+ID4gPiArIDIgZmlsZXMgY2hhbmdlZCwgMjMg aW5zZXJ0aW9ucygrKQ0KPiA+ID4gKw0KPiA+ID4gK2RpZmYgLS1naXQgYS9NZGVQa2cvSW5jbHVk ZS9JbmR1c3RyeVN0YW5kYXJkL0lwbWlOZXRGbkNoYXNzaXMuaA0KPiA+ID4gYi9NZGVQa2cvSW5j bHVkZS9JbmR1c3RyeVN0YW5kYXJkL0lwbWlOZXRGbkNoYXNzaXMuaA0KPiA+ID4gK2luZGV4IDc5 ZGI1NTUyM2QuLmQ3Y2RkM2E4NjUgMTAwNjQ0DQo+ID4gPiArLS0tIGEvTWRlUGtnL0luY2x1ZGUv SW5kdXN0cnlTdGFuZGFyZC9JcG1pTmV0Rm5DaGFzc2lzLmgNCj4gPiA+ICsrKysgYi9NZGVQa2cv SW5jbHVkZS9JbmR1c3RyeVN0YW5kYXJkL0lwbWlOZXRGbkNoYXNzaXMuaA0KPiA+ID4gK0BAIC0x ODYsNiArMTg2LDEwIEBAIHR5cGVkZWYgc3RydWN0IHsNCj4gPiA+ICsgICBVSU5UOCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBQYXJhbWV0ZXJEYXRhWzBdOw0KPiA+ID4gKyB9IElQ TUlfU0VUX0JPT1RfT1BUSU9OU19SRVFVRVNUOw0KPiA+ID4gKw0KPiA+ID4gKyt0eXBlZGVmIHN0 cnVjdCB7DQo+ID4gPiArKyAgVUlOVDggICBDb21wbGV0aW9uQ29kZTo4Ow0KPiA+ID4gKyt9IElQ TUlfU0VUX0JPT1RfT1BUSU9OU19SRVNQT05TRTsNCj4gPiA+ICsrDQo+ID4gPiArIC8vDQo+ID4g PiArIC8vICBEZWZpbml0aW9ucyBmb3IgR2V0IFN5c3RlbSBCb290IG9wdGlvbnMgY29tbWFuZCAg Ly8gZGlmZg0KPiA+ID4gKy0tZ2l0IGEvTWRlUGtnL0luY2x1ZGUvSW5kdXN0cnlTdGFuZGFyZC9J cG1pTmV0Rm5GaXJtd2FyZS5oDQo+ID4gPiBiL01kZVBrZy9JbmNsdWRlL0luZHVzdHJ5U3RhbmRh cmQvSXBtaU5ldEZuRmlybXdhcmUuaA0KPiA+ID4gK2luZGV4IDJkODkyZGJkNWEuLjFjNjkyY2M3 OTIgMTAwNjQ0DQo+ID4gPiArLS0tIGEvTWRlUGtnL0luY2x1ZGUvSW5kdXN0cnlTdGFuZGFyZC9J cG1pTmV0Rm5GaXJtd2FyZS5oDQo+ID4gPiArKysrIGIvTWRlUGtnL0luY2x1ZGUvSW5kdXN0cnlT dGFuZGFyZC9JcG1pTmV0Rm5GaXJtd2FyZS5oDQo+ID4gPiArQEAgLTE3LDQgKzE3LDIzIEBADQo+ ID4gPiArIC8vIEFsbCBGaXJtd2FyZSBjb21tYW5kcyBhbmQgdGhlaXIgc3RydWN0dXJlIGRlZmlu aXRpb25zIHRvDQo+ID4gPiArZm9sbG93DQo+IGhlcmUNCj4gPiA+ICsgLy8NCj4gPiA+ICsNCj4g PiA+DQo+ID4NCj4gKysvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiArKy0tDQo+ICsrLS0tLQ0KPiAtLS0tLS0tLS0t LS0tLS0NCj4gPiA+IC0NCj4gPiA+ICsrICAgIERlZmluaXRpb25zIGZvciBHZXQgQk1DIEV4ZWN1 dGlvbiBDb250ZXh0DQo+ID4gPg0KPiA+DQo+ICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gKystLQ0KPiArKy0t LS0NCj4gLS0tLS0tLS0tLS0tLS0qDQo+ID4gPiAvDQo+ID4gPiArKyNkZWZpbmUgRUZJX0ZJUk1X QVJFX0dFVF9CTUNfRVhFQ1VUSU9OX0NPTlRFWFQgIDB4MjMNCj4gPiA+ICsrDQo+ID4gPiArKy8v DQo+ID4gPiArKy8vICBDb25zdGFudHMgYW5kIFN0cnVjdHVyZSBkZWZpbml0aW9ucyBmb3IgIkdl dCBEZXZpY2UgSUQiDQo+ID4gPiArK2NvbW1hbmQgdG8NCj4gPiA+IGZvbGxvdyBoZXJlDQo+ID4g PiArKy8vDQo+ID4gPiArK3R5cGVkZWYgc3RydWN0IHsNCj4gPiA+ICsrICBVSU5UOCAgIEN1cnJl bnRFeGVjdXRpb25Db250ZXh0Ow0KPiA+ID4gKysgIFVJTlQ4ICAgUGFydGl0aW9uUG9pbnRlcjsN Cj4gPiA+ICsrfSBFRklfSVBNSV9NU0dfR0VUX0JNQ19FWEVDX1JTUDsNCj4gPiA+ICsrDQo+ID4g PiArKy8vDQo+ID4gPiArKy8vIEN1cnJlbnQgRXhlY3V0aW9uIENvbnRleHQgcmVzcG9uc2VzIC8v DQo+ID4gPiArKyNkZWZpbmUgRUZJX0ZJUk1XQVJFX0JNQ19JTl9GVUxMX1JVTlRJTUUgICAgICAg IDB4MTANCj4gPiA+ICsrI2RlZmluZSBFRklfRklSTVdBUkVfQk1DX0lOX0ZPUkNFRF9VUERBVEVf TU9ERSAgMHgxMQ0KPiA+ID4gKysNCj4gPiA+ICsgI2VuZGlmDQo+ID4gPiArLS0NCj4gPiA+ICsy LjI1LjAud2luZG93cy4xDQo+ID4gPiArDQo+ID4gPiBkaWZmIC0tZ2l0IGEvTWRlUGtnL0luY2x1 ZGUvSW5kdXN0cnlTdGFuZGFyZC9JcG1pTmV0Rm5DaGFzc2lzLmgNCj4gPiA+IGIvTWRlUGtnL0lu Y2x1ZGUvSW5kdXN0cnlTdGFuZGFyZC9JcG1pTmV0Rm5DaGFzc2lzLmgNCj4gPiA+IGluZGV4IDc5 ZGI1NTUyM2QuLmQ3Y2RkM2E4NjUgMTAwNjQ0DQo+ID4gPiAtLS0gYS9NZGVQa2cvSW5jbHVkZS9J bmR1c3RyeVN0YW5kYXJkL0lwbWlOZXRGbkNoYXNzaXMuaA0KPiA+ID4gKysrIGIvTWRlUGtnL0lu Y2x1ZGUvSW5kdXN0cnlTdGFuZGFyZC9JcG1pTmV0Rm5DaGFzc2lzLmgNCj4gPiA+IEBAIC0xODYs NiArMTg2LDEwIEBAIHR5cGVkZWYgc3RydWN0IHsNCj4gPiA+ICAgIFVJTlQ4ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFBhcmFtZXRlckRhdGFbMF07DQo+ID4gPg0KPiA+ID4gIH0g SVBNSV9TRVRfQk9PVF9PUFRJT05TX1JFUVVFU1Q7DQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4g PiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiA+ID4NCj4gPiA+ICsgIFVJTlQ4ICAgQ29tcGxldGlvbkNv ZGU6ODsNCj4gPiA+DQo+ID4gPiArfSBJUE1JX1NFVF9CT09UX09QVElPTlNfUkVTUE9OU0U7DQo+ ID4gPg0KPiA+ID4gKw0KPiA+ID4NCj4gPiA+ICAvLw0KPiA+ID4NCj4gPiA+ICAvLyAgRGVmaW5p dGlvbnMgZm9yIEdldCBTeXN0ZW0gQm9vdCBvcHRpb25zIGNvbW1hbmQNCj4gPiA+DQo+ID4gPiAg Ly8NCj4gPiA+DQo+ID4gPiBkaWZmIC0tZ2l0IGEvTWRlUGtnL0luY2x1ZGUvSW5kdXN0cnlTdGFu ZGFyZC9JcG1pTmV0Rm5GaXJtd2FyZS5oDQo+ID4gPiBiL01kZVBrZy9JbmNsdWRlL0luZHVzdHJ5 U3RhbmRhcmQvSXBtaU5ldEZuRmlybXdhcmUuaA0KPiA+ID4gaW5kZXggMmQ4OTJkYmQ1YS4uYzRj YmUyMzQ5YiAxMDA2NDQNCj4gPiA+IC0tLSBhL01kZVBrZy9JbmNsdWRlL0luZHVzdHJ5U3RhbmRh cmQvSXBtaU5ldEZuRmlybXdhcmUuaA0KPiA+ID4gKysrIGIvTWRlUGtnL0luY2x1ZGUvSW5kdXN0 cnlTdGFuZGFyZC9JcG1pTmV0Rm5GaXJtd2FyZS5oDQo+ID4gPiBAQCAtMTcsNCArMTcsMjIgQEAN Cj4gPiA+ICAvLyBBbGwgRmlybXdhcmUgY29tbWFuZHMgYW5kIHRoZWlyIHN0cnVjdHVyZSBkZWZp bml0aW9ucyB0bw0KPiA+ID4gZm9sbG93IGhlcmUNCj4gPiA+DQo+ID4gPiAgLy8NCj4gPiA+DQo+ ID4gPg0KPiA+ID4NCj4gPiA+ICsvLw0KPiA+DQo+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gLS0tLS0tDQo+ IC0tLS0tLS0tLS0tLQ0KPiA+ID4NCj4gPiA+ICsvLyAgICBEZWZpbml0aW9ucyBmb3IgR2V0IEJN QyBFeGVjdXRpb24gQ29udGV4dA0KPiA+ID4NCj4gPiA+ICsvLw0KPiA+DQo+IC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0NCj4gLS0tLS0tDQo+IC0tLS0tLS0tLS0tLQ0KPiA+ID4NCj4gPiA+ICsjZGVmaW5lIElQTUlf R0VUX0JNQ19FWEVDVVRJT05fQ09OVEVYVCAgMHgyMw0KPiA+ID4NCj4gPiA+ICsNCj4gPiA+DQo+ ID4gPiArLy8NCj4gPiA+DQo+ID4gPiArLy8gIENvbnN0YW50cyBhbmQgU3RydWN0dXJlIGRlZmlu aXRpb25zIGZvciAiR2V0IERldmljZSBJRCINCj4gPiA+ICtjb21tYW5kIHRvDQo+ID4gPiBmb2xs b3cgaGVyZQ0KPiA+ID4NCj4gPiA+ICsvLw0KPiA+ID4NCj4gPiA+ICt0eXBlZGVmIHN0cnVjdCB7 DQo+ID4gPg0KPiA+ID4gKyAgVUlOVDggICBDdXJyZW50RXhlY3V0aW9uQ29udGV4dDsNCj4gPiA+ DQo+ID4gPiArICBVSU5UOCAgIFBhcnRpdGlvblBvaW50ZXI7DQo+ID4gPg0KPiA+ID4gK30gSVBN SV9NU0dfR0VUX0JNQ19FWEVDX1JTUDsNCj4gPiA+DQo+ID4gPiArDQo+ID4gPg0KPiA+ID4gKy8v DQo+ID4gPg0KPiA+ID4gKy8vIEN1cnJlbnQgRXhlY3V0aW9uIENvbnRleHQgcmVzcG9uc2VzDQo+ ID4gPg0KPiA+ID4gKy8vDQo+ID4gPg0KPiA+ID4gKyNkZWZpbmUgSVBNSV9CTUNfSU5fRk9SQ0VE X1VQREFURV9NT0RFICAweDExDQo+ID4gPg0KPiA+ID4gKw0KPiA+ID4NCj4gPiA+ICAjZW5kaWYN Cj4gPiA+DQo+ID4gPiAtLQ0KPiA+ID4gMi4yNS4wLndpbmRvd3MuMQ0KPiA+ID4NCj4gPiA+DQo+ ID4gPiBQbGVhc2UgY29uc2lkZXIgdGhlIGVudmlyb25tZW50IGJlZm9yZSBwcmludGluZyB0aGlz IGVtYWlsLg0KPiA+ID4NCj4gPiA+IFRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQgaW4gdGhpcyBt ZXNzYWdlIG1heSBiZSBjb25maWRlbnRpYWwgYW5kDQo+ID4gPiBwcm9wcmlldGFyeSB0byBBbWVy aWNhbiBNZWdhdHJlbmRzIChBTUkpLiAgVGhpcyBjb21tdW5pY2F0aW9uIGlzDQo+ID4gaW50ZW5k ZWQNCj4gPiA+IHRvIGJlIHJlYWQgb25seSBieSB0aGUgaW5kaXZpZHVhbCBvciBlbnRpdHkgdG8g d2hvbSBpdCBpcw0KPiA+ID4gYWRkcmVzc2VkIG9yDQo+IGJ5IHRoZWlyDQo+ID4gPiBkZXNpZ25l ZS4gSWYgdGhlIHJlYWRlciBvZiB0aGlzIG1lc3NhZ2UgaXMgbm90IHRoZSBpbnRlbmRlZA0KPiA+ ID4gcmVjaXBpZW50LA0KPiB5b3UgYXJlDQo+ID4gPiBvbiBub3RpY2UgdGhhdCBhbnkgZGlzdHJp YnV0aW9uIG9mIHRoaXMgbWVzc2FnZSwgaW4gYW55IGZvcm0sIGlzDQo+IHN0cmljdGx5DQo+ID4g PiBwcm9oaWJpdGVkLiAgUGxlYXNlIHByb21wdGx5IG5vdGlmeSB0aGUgc2VuZGVyIGJ5IHJlcGx5 IGUtbWFpbCBvcg0KPiA+ID4gYnkgdGVsZXBob25lIGF0IDc3MC0yNDYtODYwMCwgYW5kIHRoZW4g ZGVsZXRlIG9yIGRlc3Ryb3kgYWxsDQo+ID4gPiBjb3BpZXMgb2YgdGhlIHRyYW5zbWlzc2lvbi4N Cj4NCj4NCj4gLVRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQgaW4gdGhpcyBtZXNzYWdlIG1heSBi ZSBjb25maWRlbnRpYWwgYW5kDQo+IHByb3ByaWV0YXJ5IHRvIEFtZXJpY2FuIE1lZ2F0cmVuZHMg KEFNSSkuIFRoaXMgY29tbXVuaWNhdGlvbiBpcw0KPiBpbnRlbmRlZCB0byBiZSByZWFkIG9ubHkg YnkgdGhlIGluZGl2aWR1YWwgb3IgZW50aXR5IHRvIHdob20gaXQgaXMNCj4gYWRkcmVzc2VkIG9y IGJ5IHRoZWlyIGRlc2lnbmVlLiBJZiB0aGUgcmVhZGVyIG9mIHRoaXMgbWVzc2FnZSBpcyBub3QN Cj4gdGhlIGludGVuZGVkIHJlY2lwaWVudCwgeW91IGFyZSBvbiBub3RpY2UgdGhhdCBhbnkgZGlz dHJpYnV0aW9uIG9mDQo+IHRoaXMgbWVzc2FnZSwgaW4gYW55IGZvcm0sIGlzIHN0cmljdGx5IHBy b2hpYml0ZWQuIFBsZWFzZSBwcm9tcHRseQ0KPiBub3RpZnkgdGhlIHNlbmRlciBieSByZXBseSBl LW1haWwgb3IgYnkgdGVsZXBob25lIGF0IDc3MC0yNDYtODYwMCwgYW5kIHRoZW4gZGVsZXRlIG9y IGRlc3Ryb3kgYWxsIGNvcGllcyBvZiB0aGUgdHJhbnNtaXNzaW9uLg0KDQoNCi1UaGUgaW5mb3Jt YXRpb24gY29udGFpbmVkIGluIHRoaXMgbWVzc2FnZSBtYXkgYmUgY29uZmlkZW50aWFsIGFuZCBw cm9wcmlldGFyeSB0byBBbWVyaWNhbiBNZWdhdHJlbmRzIChBTUkpLiBUaGlzIGNvbW11bmljYXRp b24gaXMgaW50ZW5kZWQgdG8gYmUgcmVhZCBvbmx5IGJ5IHRoZSBpbmRpdmlkdWFsIG9yIGVudGl0 eSB0byB3aG9tIGl0IGlzIGFkZHJlc3NlZCBvciBieSB0aGVpciBkZXNpZ25lZS4gSWYgdGhlIHJl YWRlciBvZiB0aGlzIG1lc3NhZ2UgaXMgbm90IHRoZSBpbnRlbmRlZCByZWNpcGllbnQsIHlvdSBh cmUgb24gbm90aWNlIHRoYXQgYW55IGRpc3RyaWJ1dGlvbiBvZiB0aGlzIG1lc3NhZ2UsIGluIGFu eSBmb3JtLCBpcyBzdHJpY3RseSBwcm9oaWJpdGVkLiBQbGVhc2UgcHJvbXB0bHkgbm90aWZ5IHRo ZSBzZW5kZXIgYnkgcmVwbHkgZS1tYWlsIG9yIGJ5IHRlbGVwaG9uZSBhdCA3NzAtMjQ2LTg2MDAs IGFuZCB0aGVuIGRlbGV0ZSBvciBkZXN0cm95IGFsbCBjb3BpZXMgb2YgdGhlIHRyYW5zbWlzc2lv bi4NCg==