From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0a-002e3701.pphosted.com (mx0a-002e3701.pphosted.com [148.163.147.86]) by mx.groups.io with SMTP id smtpd.web10.4604.1574238211743456634 for ; Wed, 20 Nov 2019 00:23:32 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: hpe.com, ip: 148.163.147.86, mailfrom: prvs=022721cd6d=abner.chang@hpe.com) Received: from pps.filterd (m0134421.ppops.net [127.0.0.1]) by mx0b-002e3701.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id xAK8IkPW005965; Wed, 20 Nov 2019 08:23:30 GMT Received: from g2t2353.austin.hpe.com (g2t2353.austin.hpe.com [15.233.44.26]) by mx0b-002e3701.pphosted.com with ESMTP id 2wcwyq9pec-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 20 Nov 2019 08:23:30 +0000 Received: from G4W9121.americas.hpqcorp.net (exchangepmrr1.us.hpecorp.net [16.210.21.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by g2t2353.austin.hpe.com (Postfix) with ESMTPS id B33BE65; Wed, 20 Nov 2019 08:23:29 +0000 (UTC) Received: from G4W9120.americas.hpqcorp.net (2002:10d2:150f::10d2:150f) by G4W9121.americas.hpqcorp.net (2002:10d2:1510::10d2:1510) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Wed, 20 Nov 2019 08:23:29 +0000 Received: from NAM03-CO1-obe.outbound.protection.outlook.com (15.241.52.10) by G4W9120.americas.hpqcorp.net (16.210.21.15) with Microsoft SMTP Server (TLS) id 15.0.1367.3 via Frontend Transport; Wed, 20 Nov 2019 08:23:29 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iN+z8H2IPqoSNf6s1ytxsFO7HvRBl1iwfpsm4fbcByzyCF+e2wQD7oYVi9aT/maH52cGVUbZtcHcHnV05swH/iWBPZOgfogHAnYaAmeDNwVjgNOdX8P908abIXoT5f5llE6Trm8cTtb6gOFaGI5JR7VevO6BxggAC6z2sgcdMlfRd+X5cbC+mgCoW/iBhw0tJGmGQBm2fGJkpq/3bb9au+eIyPgeWvxoE/NjxE9pcPQp+yuj1IzW/OP5NFUkZUnT/OAAijsKwbPJyymS1zvDPsgZQGkSnEzT60+gSYPmfguMihmfkE9hJgHJrVPfzQt0KpKXZYMQOjkxSILsy1jPjQ== 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=JvhqOe+QrOKWRx7GOKDnF63zXxb3qAT9+oHMJPJsGro=; b=DyiASdmHAzY8JRkDG3qeOMIS7OOJvAu6HHYE7DXR5erM06iEVpfvPFpQsaNsOaaI2B4inixmAir2AH5JlV7OKRb4QR0DyKUkyRZuyMKj+UiRrpmpg2AahGVVLtgteL28/+U2bMNMS0Y8qgK5I/tK9KdbAgGDMrzQIAZRMIHfNG17IJ2FMQ3fcqWYhCp8qBXpPYiQV1b42yY+bgnZk0CamIg1cHz/GnTuLmzgCeUUMO+GCf5APPNvlgFe6ydPvz6a/4XGhLRx8RoFz9jKHSmJwzbrxHdqx2w2c+NyuPe+eHRH7sUQ6ZSn6W5aw6Jcc1dn5ytKliJWIADMd8pwtac9Dg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=hpe.com; dmarc=pass action=none header.from=hpe.com; dkim=pass header.d=hpe.com; arc=none Received: from CS1PR8401MB1192.NAMPRD84.PROD.OUTLOOK.COM (10.169.12.151) by CS1PR8401MB0406.NAMPRD84.PROD.OUTLOOK.COM (10.169.13.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2451.30; Wed, 20 Nov 2019 08:23:27 +0000 Received: from CS1PR8401MB1192.NAMPRD84.PROD.OUTLOOK.COM ([fe80::b49a:cecb:54b0:29ac]) by CS1PR8401MB1192.NAMPRD84.PROD.OUTLOOK.COM ([fe80::b49a:cecb:54b0:29ac%7]) with mapi id 15.20.2474.015; Wed, 20 Nov 2019 08:23:27 +0000 From: "Abner Chang" To: "devel@edk2.groups.io" , "msalter@redhat.com" CC: Bob Feng , Liming Gao , "Leif Lindholm" , "Chen, Gilbert" Subject: Re: [edk2-devel] [edk2-staging/RISC-V-V2 PATCH v3 25/39] BaseTools/Scripts Thread-Topic: [edk2-devel] [edk2-staging/RISC-V-V2 PATCH v3 25/39] BaseTools/Scripts Thread-Index: AQHVjTfqOJkIQsNY10SEQz/YRpN2nqeS8N0AgADoonA= Date: Wed, 20 Nov 2019 08:23:27 +0000 Message-ID: References: <1572227957-13169-1-git-send-email-abner.chang@hpe.com> <1572227957-13169-26-git-send-email-abner.chang@hpe.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [16.242.247.131] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 82bbacf0-df92-4fea-06c5-08d76d92eb45 x-ms-traffictypediagnostic: CS1PR8401MB0406: x-ms-exchange-purlcount: 1 x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7691; x-forefront-prvs: 02272225C5 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(136003)(366004)(39860400002)(346002)(396003)(376002)(189003)(199004)(13464003)(6506007)(6246003)(110136005)(102836004)(186003)(5660300002)(53546011)(99286004)(11346002)(476003)(54906003)(33656002)(4326008)(26005)(486006)(7696005)(229853002)(8936002)(76176011)(4001150100001)(74316002)(25786009)(2906002)(66946007)(76116006)(66476007)(66556008)(64756008)(66446008)(14454004)(19627235002)(71190400001)(71200400001)(446003)(6436002)(554214002)(7736002)(305945005)(8676002)(52536014)(316002)(6116002)(81156014)(86362001)(81166006)(966005)(66066001)(478600001)(6306002)(2501003)(9686003)(256004)(3846002)(55016002);DIR:OUT;SFP:1102;SCL:1;SRVR:CS1PR8401MB0406;H:CS1PR8401MB1192.NAMPRD84.PROD.OUTLOOK.COM;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; received-spf: None (protection.outlook.com: hpe.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: vgpBB8GWbbIT3bMejYLUshC1YPovOloklp2eK2RW2PIMOBLr2fwhBWS9JjatTGnqPdAnl9MiHNYhEfizMa0iqOo5YGXtU9WHVo1UGQEHs/RzhKHGvYS8bCLm5Z9K74XthIdyWwUL7Pryqajv5f2+CIIutcF1II9Fq2BrbooHRD2BqDajgEFuYMA2sXPXXCviFbg/0y88rtG7OBHwQpccUPFKRVb8Hd6cvFLzr/XXCm0jsc+8Aab85ad+TzOzC/qQtfdJm5Vnij5K/lMdM12nkqF17yu8X6NmLx0iOwuQJMISAS2T0+RD4HoJn4ATdQmagiBp6C2GN8PxS7ctShVehk43wH4tXQ0mro3SYTy5kVE1UbKwkUQSBs8HlMuq4PkKfeKyUAq5+R1iCpMMuXLWzfQEwALkXaXmzlgFeaID10Vy4CkqhzIS7E4cwDQD/GuJ0uWOqf9MT5yIsDSJ1Cbza8IqiDLJRrozpBK+NF/bXTs= X-MS-Exchange-CrossTenant-Network-Message-Id: 82bbacf0-df92-4fea-06c5-08d76d92eb45 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Nov 2019 08:23:27.3797 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 105b2061-b669-4b31-92ac-24d304d195dc X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: oLymoJSS3CJP4rwceeOAAoCmcW3zVrBu2moUONasHNqHDW63pTRmflHch/JM7CblO4IxRN4ML0Kro90xeLG8Xw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CS1PR8401MB0406 X-OriginatorOrg: hpe.com X-Proofpoint-UnRewURL: 0 URL was un-rewritten MIME-Version: 1.0 X-HPE-SCL: -1 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.95,18.0.572 definitions=2019-11-20_02:2019-11-15,2019-11-20 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 adultscore=0 phishscore=0 malwarescore=0 priorityscore=1501 impostorscore=0 mlxscore=0 lowpriorityscore=0 bulkscore=0 suspectscore=0 mlxlogscore=999 clxscore=1011 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-1910280000 definitions=main-1911200075 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhhbmtzIE1hcmshDQpUaGlzIGlzIGFjdHVhbGx5IHRoZSBwcm9ibGVtIG9mIHVzaW5nIGxhdGVz dCBSSVNDLVYgZ251IHRvb2xjaGFpbiB3aGljaCBjYXVzZXMgc3lzdGVtIGhhbmdzIGluIHRoZSBl YXJseSBQT1NULiBHTlUgdG9vbGNoYWluIGF0IGNvbW1pdCA2NDg3OWIyNCBkb2Vzbid0IGhhdmUg dGhpcyBwcm9ibGVtLiBUaGFua3MgZm9yIGNhdGNoaW5nIHRoaXMgYW5kIEkgYW0gbG9va2luZyBm b3IgdGhlIHNvbHV0aW9uIGluIGVkazIgYnVpbGQgdG9vbCB0byBmaXggdGhpcyBpc3N1ZSBpbnN0 ZWFkIG9mIGNoYW5naW5nIGxkcyBmaWxlLiBXZSB3b3VsZCBsaWtlIHRvIHVzZSB0aGUgY29tbW9u IGxkcyBpbnN0ZWFkIG9mIGNyZWF0aW5nIHNwZWNpZmljIG9uZSBmb3IgUklTQy1WLg0KDQpPciBk byB5b3Uga25vdyBpcyB0aGVyZSBhbnkgbGluayBvcHRpb25zIGNvdWxkIGF2b2lkIHRob3NlIHNw ZWNpYWwgc2VjdGlvbnM/DQoNCmJyDQpBYm5lcg0KDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0NCj4gRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gW21haWx0bzpkZXZlbEBlZGsyLmdy b3Vwcy5pb10gT24gQmVoYWxmIE9mDQo+IE1hcmsgU2FsdGVyDQo+IFNlbnQ6IFdlZG5lc2RheSwg Tm92ZW1iZXIgMjAsIDIwMTkgMjoxOCBBTQ0KPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IENo YW5nLCBBYm5lciAoSFBTIFNXL0ZXIFRlY2hub2xvZ2lzdCkNCj4gPGFibmVyLmNoYW5nQGhwZS5j b20+DQo+IENjOiBCb2IgRmVuZyA8Ym9iLmMuZmVuZ0BpbnRlbC5jb20+OyBMaW1pbmcgR2FvIDxs aW1pbmcuZ2FvQGludGVsLmNvbT47DQo+IExlaWYgTGluZGhvbG0gPGxlaWYubGluZGhvbG1AbGlu YXJvLm9yZz47IENoZW4sIEdpbGJlcnQNCj4gPGdpbGJlcnQuY2hlbkBocGUuY29tPg0KPiBTdWJq ZWN0OiBSZTogW2VkazItZGV2ZWxdIFtlZGsyLXN0YWdpbmcvUklTQy1WLVYyIFBBVENIIHYzIDI1 LzM5XQ0KPiBCYXNlVG9vbHMvU2NyaXB0cw0KPiANCj4gT24gTW9uLCAyMDE5LTEwLTI4IGF0IDA5 OjU5ICswODAwLCBBYm5lciBDaGFuZyB3cm90ZToNCj4gPiBBZGQgUklTQy1WIHNwZWNpZmljIExE IHNjcmlwdHMuIC4icmVsYShJTkZPKSIgaW4gdGhlIGxhdGVzdA0KPiA+IEdjY0Jhc2UubGRzIGNh dXNlcyBQRTMyIHJlbG9jYXRpb24gZXJyb3IuDQo+ID4gVGhpcyBpcyB0aGUgdGVtcG9yYXR5IHNv bHV0aW9uIHVudGlsbCB3ZSBmaW5kIHRoZSByb290IGNhc3VlLg0KPiA+DQo+ID4gU2lnbmVkLW9m Zi1ieTogQWJuZXIgQ2hhbmcgPGFibmVyLmNoYW5nQGhwZS5jb20+DQo+ID4NCj4gPiBDYzogQm9i IEZlbmcgPGJvYi5jLmZlbmdAaW50ZWwuY29tPg0KPiA+IENjOiBMaW1pbmcgR2FvIDxsaW1pbmcu Z2FvQGludGVsLmNvbT4NCj4gPiBDYzogTGVpZiBMaW5kaG9sbSA8bGVpZi5saW5kaG9sbUBsaW5h cm8ub3JnPg0KPiA+IENjOiBHaWxiZXJ0IENoZW4gPGdpbGJlcnQuY2hlbkBocGUuY29tPg0KPiA+ IC0tLQ0KPiA+ICBCYXNlVG9vbHMvU2NyaXB0cy9HY2NCYXNlUmlzY1YubGRzIHwgNzkNCj4gPiAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPiA+ICAxIGZpbGUgY2hhbmdl ZCwgNzkgaW5zZXJ0aW9ucygrKQ0KPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgQmFzZVRvb2xzL1Nj cmlwdHMvR2NjQmFzZVJpc2NWLmxkcw0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL0Jhc2VUb29scy9T Y3JpcHRzL0djY0Jhc2VSaXNjVi5sZHMNCj4gPiBiL0Jhc2VUb29scy9TY3JpcHRzL0djY0Jhc2VS aXNjVi5sZHMNCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+IGluZGV4IDAwMDAwMDAuLjkx OTM3YWENCj4gPiAtLS0gL2Rldi9udWxsDQo+ID4gKysrIGIvQmFzZVRvb2xzL1NjcmlwdHMvR2Nj QmFzZVJpc2NWLmxkcw0KPiA+IEBAIC0wLDAgKzEsNzkgQEANCj4gPiArLyoqIEBmaWxlDQo+ID4g Kw0KPiA+ICsgIFVuaWZpZWQgbGlua2VyIHNjcmlwdCBmb3IgR0NDIGJhc2VkIGJ1aWxkcw0KPiA+ ICsNCj4gPiArICBDb3B5cmlnaHQgKGMpIDIwMTAgLSAyMDE1LCBJbnRlbCBDb3Jwb3JhdGlvbi4g QWxsIHJpZ2h0cw0KPiA+ICsgcmVzZXJ2ZWQuPEJSPiAgQ29weXJpZ2h0IChjKSAyMDE1LCBMaW5h cm8gTHRkLiBBbGwgcmlnaHRzDQo+ID4gKyByZXNlcnZlZC48QlI+ICBDb3B5cmlnaHQgKGMpIDIw MTksIEhld2xldHQgUGFja2FyZCBFbnRlcnByaXNlDQo+ID4gKyBEZXZlbG9wbWVudCBMUC4gQWxs IHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ID4gKw0KPiA+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ID4gKw0KPiA+ICsqKi8NCj4gPiArDQo+ID4gK1NF Q1RJT05TIHsNCj4gPiArDQo+ID4gKyAgLyoNCj4gPiArICAgKiBUaGUgUEUvQ09GRiBiaW5hcnkg Y29uc2lzdHMgb2YgRE9TIGFuZCBQRS9DT0ZGIGhlYWRlcnMsIGFuZCBhDQo+IHNlcXVlbmNlIG9m DQo+ID4gKyAgICogc2VjdGlvbiBoZWFkZXJzIGFkZGluZyB1cCB0byBQRUNPRkZfSEVBREVSX1NJ WkUgYnl0ZXMgKHdoaWNoDQo+IGRpZmZlcnMNCj4gPiArICAgKiBiZXR3ZWVuIDMyLWJpdCBhbmQg NjQtYml0IGJ1aWxkcykuIFRoZSBhY3R1YWwgc3RhcnQgb2YgdGhlIC50ZXh0IHNlY3Rpb24NCj4g PiArICAgKiB3aWxsIGJlIHJvdW5kZWQgdXAgYmFzZWQgb24gaXRzIGFjdHVhbCBhbGlnbm1lbnQu DQo+ID4gKyAgICovDQo+ID4gKyAgLiA9IFBFQ09GRl9IRUFERVJfU0laRTsNCj4gPiArDQo+ID4g KyAgLnRleHQgOiBBTElHTihDT05TVEFOVChDT01NT05QQUdFU0laRSkpIHsNCj4gPiArICAgICoo LnRleHQgLnRleHQuKiAuc3R1YiAuZ251LmxpbmtvbmNlLnQuKikNCj4gPiArICAgICooLnJvZGF0 YSAucm9kYXRhLiogLmdudS5saW5rb25jZS5yLiopDQo+IA0KPiBTbywgSSB0cmllZCBydW5uaW5n IHRoaXMgcmlzYy12IHBvcnQgb24gYSBIaUZpdmUgVW5sZWFzaGVkIGJvYXJkIGJ1dCBpdCBjcmFz aGVkDQo+IHByZXR0eSBlYXJseSBvbi4gSXQgdHVybmVkIG91dCB0aGF0IHRoZSBsaW5rZXIgd2Fz IHBsYWNpbmcgc29tZSBjb25zdCBkYXRhIGF0DQo+IHRoZSBzdGFydCBvZiAudGV4dCBiZWZvcmUg YW55IGFjdHVhbCBjb2RlLiBUaGF0IGRpZG4ndCB3b3JrIG91dCB3ZWxsLiBJIGdvdA0KPiBhcm91 bmQgdGhhdCBhbmQgd2FzIGFibGUgdG8gYm9vdCBpbnRvIHRoZSBlZmkgc2hlbGwgYnkgYWRkaW5n IHRoaXMgdG8gdGVsbCB0aGUNCj4gbGlua2VyIGV4cGxpY2l0bHkgd2hlcmUgdG8gcHV0IHRoYXQg ZGF0YToNCj4gDQo+ICAgICAqKC5zZGF0YTIgLnNkYXRhMi4qIC5nbnUubGlua29uY2UuczIuKikN Cj4gICAgICooLnNic3MyIC5zYnNzMi4qIC5nbnUubGlua29uY2Uuc2IyLiopDQo+IA0KPiA+ICsg ICAgKiguZ290IC5nb3QuKikNCj4gPiArDQo+ID4gKyAgICAvKg0KPiA+ICsgICAgICogVGhlIGNv bnRlbnRzIG9mIEF1dG9HZW4uYyBmaWxlcyBhcmUgbW9zdGx5IGNvbnN0YW50IGZyb20gdGhlIFBP ViBvZg0KPiB0aGUNCj4gPiArICAgICAqIHByb2dyYW0sIGJ1dCBtb3N0IG9mIGl0IGVuZHMgdXAg aW4gLmRhdGEgb3IgLmJzcyBieSBkZWZhdWx0IHNpbmNlIGZldw0KPiBvZg0KPiA+ICsgICAgICog dGhlIHZhcmlhYmxlIGRlZmluaXRpb25zIHRoYXQgZ2V0IGVtaXR0ZWQgYXJlIGRlY2xhcmVkIGFz IENPTlNULg0KPiA+ICsgICAgICogVW5mb3J0dW5hdGVseSwgd2UgY2Fubm90IHB1bGwgaXQgaW50 byB0aGUgLnRleHQgc2VjdGlvbiBlbnRpcmVseSwgc2luY2UNCj4gPiArICAgICAqIHBhdGNoYWJs ZSBQQ0RzIGFyZSBhbHNvIGVtaXR0ZWQgaGVyZSwgYnV0IHdlIGNhbiBhdCBsZWFzdCBtb3ZlIGFs bCBvZg0KPiB0aGUNCj4gPiArICAgICAqIGVtaXR0ZWQgR1VJRHMgaGVyZS4NCj4gPiArICAgICAq Lw0KPiA+ICsgICAgKjpBdXRvR2VuLm9iaiguZGF0YS5nKkd1aWQpDQo+ID4gKyAgfQ0KPiA+ICsN Cj4gPiArICAvKg0KPiA+ICsgICAqIFRoZSBhbGlnbm1lbnQgb2YgdGhlIC5kYXRhIHNlY3Rpb24g c2hvdWxkIGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byB0aGUNCj4gPiArICAgKiBhbGlnbm1lbnQg b2YgdGhlIC50ZXh0IHNlY3Rpb24uIFRoaXMgZW5zdXJlcyB0aGF0IHRoZSByZWxhdGl2ZSBvZmZz ZXQNCj4gPiArICAgKiBiZXR3ZWVuIHRoZXNlIHNlY3Rpb25zIGlzIHRoZSBzYW1lIGluIHRoZSBF TEYgYW5kIHRoZSBQRS9DT0ZGDQo+IHZlcnNpb25zIG9mDQo+ID4gKyAgICogdGhpcyBiaW5hcnku DQo+ID4gKyAgICovDQo+ID4gKyAgLmRhdGEgQUxJR04oQUxJR05PRigudGV4dCkpIDogQUxJR04o Q09OU1RBTlQoQ09NTU9OUEFHRVNJWkUpKQ0KPiB7DQo+ID4gKyAgICAqKC5kYXRhIC5kYXRhLiog LmdudS5saW5rb25jZS5kLiopDQo+ID4gKyAgICAqKC5ic3MgLmJzcy4qKQ0KPiA+ICsgIH0NCj4g PiArDQo+ID4gKyAgLmVoX2ZyYW1lIEFMSUdOKENPTlNUQU5UKENPTU1PTlBBR0VTSVpFKSkgOiB7 DQo+ID4gKyAgICBLRUVQICgqKC5laF9mcmFtZSkpDQo+ID4gKyAgfQ0KPiA+ICsNCj4gPiArICAu cmVsYSBBTElHTihDT05TVEFOVChDT01NT05QQUdFU0laRSkpIDogew0KPiA+ICsgICAgKigucmVs YSAucmVsYS4qKQ0KPiA+ICsgIH0NCj4gPiArDQo+ID4gKyAgLmhpaSA6IEFMSUdOKENPTlNUQU5U KENPTU1PTlBBR0VTSVpFKSkgew0KPiA+ICsgICAgS0VFUCAoKiguaGlpKSkNCj4gPiArICB9DQo+ ID4gKw0KPiA+ICsgIC8qDQo+ID4gKyAgICogUmV0YWluIHRoZSBHTlUgYnVpbGQgaWQgYnV0IGlu IGEgbm9uLWFsbG9jYXRhYmxlIHNlY3Rpb24gc28gR2VuRncNCj4gPiArICAgKiBkb2VzIG5vdCBj b3B5IGl0IGludG8gdGhlIFBFL0NPRkYgaW1hZ2UuDQo+ID4gKyAgICovDQo+ID4gKyAgLmJ1aWxk LWlkIChJTkZPKSA6IHsgKigubm90ZS5nbnUuYnVpbGQtaWQpIH0NCj4gPiArDQo+ID4gKyAgL0RJ U0NBUkQvIDogew0KPiA+ICsgICAgKigubm90ZS5HTlUtc3RhY2spDQo+ID4gKyAgICAqKC5nbnVf ZGVidWdsaW5rKQ0KPiA+ICsgICAgKiguaW50ZXJwKQ0KPiA+ICsgICAgKiguZHluc3ltKQ0KPiA+ ICsgICAgKiguZHluc3RyKQ0KPiA+ICsgICAgKiguZHluYW1pYykNCj4gPiArICAgICooLmhhc2gg LmdudS5oYXNoKQ0KPiA+ICsgICAgKiguY29tbWVudCkNCj4gPiArICAgICooQ09NTU9OKQ0KPiA+ ICsgIH0NCj4gPiArfQ0KPiANCj4gDQo+IA0KPiANCg0K