From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mx.groups.io with SMTP id smtpd.web11.6409.1589292428227504411 for ; Tue, 12 May 2020 07:07:08 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=FzIFkP5b; spf=pass (domain: intel.com, ip: 192.55.52.93, mailfrom: liming.gao@intel.com) IronPort-SDR: zQLmH/Dli7ZupVpyCE+voFznS/ya9fkNK0tdRcXmD3b05itfz6bRTZp1Vq45ln4xhgsdJGrOPu pCQoS0/Y55PA== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 May 2020 07:07:06 -0700 IronPort-SDR: nf7NkiI2vj2X2bEc0MqGRJDcpKh1O4W5LnzuoouGt2Nd3uTxyR2mW41F1meOBYmtmoP+M+gPd6 I1ftFyTO3PpA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,384,1583222400"; d="scan'208";a="463557401" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by fmsmga005.fm.intel.com with ESMTP; 12 May 2020 07:07:04 -0700 Received: from fmsmsx602.amr.corp.intel.com (10.18.126.82) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 12 May 2020 07:07:04 -0700 Received: from fmsmsx602.amr.corp.intel.com (10.18.126.82) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 12 May 2020 07:07:03 -0700 Received: from FMSEDG001.ED.cps.intel.com (10.1.192.133) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Tue, 12 May 2020 07:07:03 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.101) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 12 May 2020 07:06:54 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=h6eat0Vi/b4CxK/nxlcE0FB02kQR8NcpElZYA3Y8w9UQ67ZFrktUT7GLcg7UxOn5+t4P2bOJeokr8DfjWYhUIK/raRn2N7XYRgXvJBxgol1ax1Sz+/RfeSmDKdH5LfSDuutYjoo4EzmaQKDWCMyxI9DEKiwj6USUpB2cx1emzBuQuajjdLH1ZW4fQCPhWfLfMgm+YxcXkW/Wpkd0d/4joLP9iG2jeSsRV2HCbCAfIia5KT7IpEUdqpdoEELPcKm2q8KNd7DzkH7I88z3hVjY+vACksYPGXiACAUKKpPPw63Knbq4t8lJXOt/7HtqG+vNBjgPllz23GumMUAzsaOhng== 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=bCn7nom4xY8gBiQtbTsBg/fV2HR6eiMti13KvrDbIHE=; b=JLA+nE9k4ci9CDshUVwPAKkNgqRfSNNsOGsqcjkUGWr8gCwHEHifaOCAdFKaW6ZjD+/qNiNOD+3mRI1C74U6qJTXy8MCAwdWJHG2K9QaZr8TtqQeOspM8FBjEpN00whmQwev625kQ3KgO3YHY2eUfcKC9ZYfbwljoHGFXXhe3WC/LpKIWI5e6g+o3U3X/kMGY9eLRMMdGDIf2JIEMqoJ7JkutOALTe6tFQQ4UX0J77sDRVyTUISvklDo1U8yFeAwpTO0/h008VIPhCJ0xL2rTXUvlQnKrqSJA3kujCNJ/Im1pz2ss9c9Tm2NJk0uZ1c7XrKD6Z1W9sXh13rr4OIsFA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bCn7nom4xY8gBiQtbTsBg/fV2HR6eiMti13KvrDbIHE=; b=FzIFkP5bX/kiS4cKDLSIdVtMeJTK+B/S9gp4xS3dMNpnsOmKgpmesg/b59bnxVldMII/TBLuzs+nrs6sUZKm4rwEmggrYkYFU8J6HmrJIYKnmO/MR9mql1YpOA7J/p/tv5Rz/UmHf+ViFDSAGdizrU5Upj6HXzxM1GR8NBFHuKE= Received: from BN6PR11MB3972.namprd11.prod.outlook.com (2603:10b6:405:7f::11) by BN6PR11MB0068.namprd11.prod.outlook.com (2603:10b6:405:69::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.29; Tue, 12 May 2020 14:06:53 +0000 Received: from BN6PR11MB3972.namprd11.prod.outlook.com ([fe80::3c03:da06:5345:bfa0]) by BN6PR11MB3972.namprd11.prod.outlook.com ([fe80::3c03:da06:5345:bfa0%7]) with mapi id 15.20.2979.033; Tue, 12 May 2020 14:06:53 +0000 From: "Liming Gao" To: Oleksiy Yakovlev , "devel@edk2.groups.io" CC: "Feng, Bob C" , "Kinney, Michael D" , Felix Polyudov Subject: Re: [edk2-devel] [PATCH v5 1/7] MdePkg: Extend SERIAL_IO with DeviceTypeGuid Thread-Topic: [edk2-devel] [PATCH v5 1/7] MdePkg: Extend SERIAL_IO with DeviceTypeGuid Thread-Index: AQHWJ9GfJiEkhVI+TUajoXAebfY/J6ijnnnwgADdYYCAAACQsA== Date: Tue, 12 May 2020 14:06:53 +0000 Message-ID: References: <20200511201923.67744-1-oleksiyy@ami.com> <20200511201923.67744-2-oleksiyy@ami.com> <6BD875C24FFE2A4E8D6EFC142C67836F03FFFFA032@atlms1.us.megatrends.com> In-Reply-To: <6BD875C24FFE2A4E8D6EFC142C67836F03FFFFA032@atlms1.us.megatrends.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.2.0.6 dlp-product: dlpe-windows dlp-reaction: no-action authentication-results: ami.com; dkim=none (message not signed) header.d=none;ami.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.55.52.200] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: df83fa0a-1c59-4246-8d7e-08d7f67db943 x-ms-traffictypediagnostic: BN6PR11MB0068: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6790; x-forefront-prvs: 0401647B7F x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 9B9S2/IZRcc5ZDrXP2yX4zJzvlZ7e3cvVSMVWxM2FG67v3UqvvhcQp0y95PqyWsnbUTmGv5oz8Bdbb4px/4PeeWsHXSFKnyTM4sw5yahToUbhk4JTfM40HRjUIT6FYT41huFWpc/irYefzPWoEuQFDoqQqhoZVS/asT+riTyvMwrw8T7pMKvUhjbuY4Odv+gWw17tHViQfL91X/bA2SH2ZGUZvGzxeBvGBRsN1wcZmp17MAbAMCPxaVh06LxlwmLr7KT3iTVB8p51CcopbYzbObC9DH2bfj09zEpl/wjRPJJSGXBDYy6PX/T4Pv1bRQkpGnGasTPTQgxYszQUR7ffMIeACP8cDXHMnM+EMK1FpiyVDrWoTs3QDd9OdjFQZ1wOPiXL2gTYW0/QI1Ud3oBLed8E4O8jB0Eys0AufRWjS3HH/Qr1vxq75KcDaCZ9pRogqBu+lUNNir1QyrZzau1Czt8Wjnpb55l0XMiasTD/3YsMtdsLuK/HbFsfkHqIGeOq5teLwfO0GgyDyKjkaw73Mp2ThSL1NGw5SqGBQBnzIs0Xtzw0MD9p4iR3trwuYQa9n7G7kjFA2cSUFyOlZSBMiQZeuUtCNDsciYH0VP3ZWM= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN6PR11MB3972.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(39860400002)(396003)(376002)(366004)(136003)(346002)(33430700001)(7696005)(76116006)(8936002)(33440700001)(316002)(6506007)(66556008)(66476007)(66446008)(86362001)(71200400001)(5660300002)(54906003)(64756008)(186003)(52536014)(8676002)(53546011)(55016002)(478600001)(9686003)(33656002)(2906002)(110136005)(66946007)(966005)(26005)(4326008);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: KgYZXrX9gfdLQYG96sLeRHuKkrv7ZbNOx/+cR03S1UObNinzYAFmw5lNaeFU+jbkyDiFA9/UGX6itC39Mhd0IypYw8VuHJz5WZCzBPRYL0jidubuGSrSllhVQNvtJbO49ZUDnt/cMXLjIqGv1Mm+72ZWpDRUThu9h4oIFIHR0d0nntIBt2410H3eyinFPH8HBPdiRqeEC8CtXKUEV1b6Q3021+8xD7gu5hnZZL1O/oRcw1sJ/+C1I3c2RFDqa1t/YF0+D/B6pIYY3dxlN27a/VxheNthEqAZCA+vW5dzRWMzXdwS7AO81OT3y/elT/WASnjiZBZMQ7kicCoGmtN0VGbWswc/h2gkPAz0zv6a/IZMBv1r43BkUFbQyG2Tq67JGjscbWFgZ+Fn3kD3fan0B+VwS7JlnnHEkhQAdzHlU7kaO35015XcrLj82/l8xhK7QYUIsdfpO+kRJZrwS7DabNzYH9x55p+dcQsnKfdKRKO1UUoZjebbcvw2q8tTuTMd MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: df83fa0a-1c59-4246-8d7e-08d7f67db943 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 May 2020 14:06:53.5071 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: HkX357k50pfUga0Q5bby7YuBp7/ZF2nHlkTxv+o+GTMw4N5fvSk82p5dGlSoMPLRAtxHPMFvLYccP58jM/SXLg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB0068 Return-Path: liming.gao@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 TWRlTW9kdWxlUGtnXFVuaXZlcnNhbFxTZXJpYWxEeGUgYW5kIE1kZU1vZHVsZVBrZ1xCdXNcUGNp XFBjaVNpb1NlcmlhbER4ZSBhcmUgdHdvIGRyaXZlcnMgdG8gaW5zdGFsbCBTZXJpYWxJbyBwcm90 b2NvbCB3aXRoIHRoZSBvcmlnaW5hbCBzdHJ1Y3R1cmUuIFBsZWFzZSBzZWUgYmVsb3cgY29kZSBs b2dpYy4gV2l0aCB0aGlzIHBhdGNoLCBTRVJJQUxfSU9fSU5URVJGQUNFX1JFVklTSU9OIG1hY3Jv IGlzIHVwZGF0ZWQgdG8gMS4xLiBCdXQsIHRoaXMgcHJvdG9jb2wgZG9lc24ndCBzZXQgdGhlIHZh bHVlIGZvciBuZXcgZmllbGQgRGV2aWNlVHlwZUd1aWQuIFNvLCBJIHdhbnQgdG8gY29uZmlybSB3 aGV0aGVyIE5VTEwgRGV2aWNlVHlwZUd1aWQgaXMgdmFsaWQgb3Igbm90LiANCg0KRUZJX1NFUklB TF9JT19QUk9UT0NPTCBtU2VyaWFsSW9UZW1wbGF0ZSA9IHsNCiAgU0VSSUFMX0lPX0lOVEVSRkFD RV9SRVZJU0lPTiwNCiAgU2VyaWFsUmVzZXQsDQogIFNlcmlhbFNldEF0dHJpYnV0ZXMsDQogIFNl cmlhbFNldENvbnRyb2wsDQogIFNlcmlhbEdldENvbnRyb2wsDQogIFNlcmlhbFdyaXRlLA0KICBT ZXJpYWxSZWFkLA0KICAmbVNlcmlhbElvTW9kZQ0KfTsNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KPiBGcm9tOiBPbGVrc2l5IFlha292bGV2IDxPbGVrc2l5eUBhbWkuY29tPg0KPiBT ZW50OiBUdWVzZGF5LCBNYXkgMTIsIDIwMjAgMTA6MDEgUE0NCj4gVG86IEdhbywgTGltaW5nIDxs aW1pbmcuZ2FvQGludGVsLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+IENjOiBGZW5nLCBC b2IgQyA8Ym9iLmMuZmVuZ0BpbnRlbC5jb20+OyBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5k Lmtpbm5leUBpbnRlbC5jb20+OyBGZWxpeCBQb2x5dWRvdiA8RmVsaXhwQGFtaS5jb20+DQo+IFN1 YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF0gW1BBVENIIHY1IDEvN10gTWRlUGtnOiBFeHRlbmQgU0VS SUFMX0lPIHdpdGggRGV2aWNlVHlwZUd1aWQNCj4gDQo+IEhpIExpbWluZy4NCj4gDQo+IEkgZGlk IG5vdCB1bmRlcnN0YW5kIHlvdXIgcXVlc3Rpb24gYWJvdXQgTWRlTW9kdWxlUGtnXFVuaXZlcnNh bFxTZXJpYWxEeGUgYW5kIE1kZU1vZHVsZVBrZ1xCdXNcUGNpXFBjaVNpb1NlcmlhbER4ZQ0KPiAN Cj4gUmVnYXJkcywgT2xla3NpeS4NCj4gDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ IEZyb206IEdhbywgTGltaW5nIFttYWlsdG86bGltaW5nLmdhb0BpbnRlbC5jb21dDQo+IFNlbnQ6 IE1vbmRheSwgTWF5IDExLCAyMDIwIDg6NTIgUE0NCj4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlv OyBPbGVrc2l5IFlha292bGV2DQo+IENjOiBGZW5nLCBCb2IgQzsgS2lubmV5LCBNaWNoYWVsIEQ7 IEZlbGl4IFBvbHl1ZG92DQo+IFN1YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF0gW1BBVENIIHY1IDEv N10gTWRlUGtnOiBFeHRlbmQgU0VSSUFMX0lPIHdpdGggRGV2aWNlVHlwZUd1aWQNCj4gDQo+IE9s ZWtzaXk6DQo+ICAgU2VlbWx5LCB0aGlzIHBhdGNoIGRvZXNuJ3QgcmVzcG9uc2UgdG8gbXkgY29t bWVudC4gSXMgdGhlcmUgdGhlIGNvbW1lbnRzIHRvIGJlIGFkZGVkIGZvciBuZXcgZmllbGQgRGV2 aWNlVHlwZUd1aWQ/IENhbiBpdHMNCj4gdmFsdWUgYmUgTlVMTD8gQW5kLCBhcmUgTWRlTW9kdWxl UGtnXFVuaXZlcnNhbFxTZXJpYWxEeGUgYW5kIE1kZU1vZHVsZVBrZ1xCdXNcUGNpXFBjaVNpb1Nl cmlhbER4ZSByZXF1aXJlZCB0byBiZSB1cGRhdGVkDQo+IHRvZ2V0aGVyPw0KPiANCj4gVGhhbmtz DQo+IExpbWluZw0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBkZXZlbEBl ZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9uIEJlaGFsZiBPZiBPbGVrc2l5 IFlha292bGV2DQo+IFNlbnQ6IDIwMjDE6jXUwjEyyNUgNDoxOQ0KPiBUbzogZGV2ZWxAZWRrMi5n cm91cHMuaW8NCj4gQ2M6IEZlbmcsIEJvYiBDIDxib2IuYy5mZW5nQGludGVsLmNvbT47IEdhbywg TGltaW5nIDxsaW1pbmcuZ2FvQGludGVsLmNvbT47IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVs LmQua2lubmV5QGludGVsLmNvbT47DQo+IEZlbGl4cEBhbWkuY29tOyBvbGVrc2l5eUBhbWkuY29t DQo+IFN1YmplY3Q6IFtlZGsyLWRldmVsXSBbUEFUQ0ggdjUgMS83XSBNZGVQa2c6IEV4dGVuZCBT RVJJQUxfSU8gd2l0aCBEZXZpY2VUeXBlR3VpZA0KPiANCj4gRUZJX1NFUklBTF9JT19QUk9UT0NP TF9SRVZJU0lPTiBpbmNyZW1lbnRlZCB0byAweDAwMDEwMDAxLg0KPiBDT05TVCBFRklfR1VJRCAq RGV2aWNlVHlwZUd1aWQgZmllbGQgYWRkZWQgdG8gdGhlIHByb3RvY29sIHN0cnVjdHVyZS4NCj4g VUVGSSAyLjggbWFudGlzIDE4MzIuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBPbGVrc2l5IFlha292 bGV2IDxvbGVrc2l5eUBhbWkuY29tPg0KPiANCj4gUmV2aWV3ZWQtYnk6IExpbWluZyBHYW8gPGxp bWluZy5nYW9AaW50ZWwuY29tPg0KPiAtLS0NCj4gIE1kZVBrZy9JbmNsdWRlL1Byb3RvY29sL1Nl cmlhbElvLmggfCAzICsrLQ0KPiAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBk ZWxldGlvbigtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL01kZVBrZy9JbmNsdWRlL1Byb3RvY29sL1Nl cmlhbElvLmggYi9NZGVQa2cvSW5jbHVkZS9Qcm90b2NvbC9TZXJpYWxJby5oDQo+IGluZGV4IDUx ZWFhNTMuLmIyMzk4YzIgMTAwNjQ0DQo+IC0tLSBhL01kZVBrZy9JbmNsdWRlL1Byb3RvY29sL1Nl cmlhbElvLmgNCj4gKysrIGIvTWRlUGtnL0luY2x1ZGUvUHJvdG9jb2wvU2VyaWFsSW8uaA0KPiBA QCAtMjYyLDcgKzI2Miw3IEBAIHR5cGVkZWYgc3RydWN0IHsNCj4gICAgVUlOVDMyICBTdG9wQml0 czsNCj4gIH0gRUZJX1NFUklBTF9JT19NT0RFOw0KPiANCj4gLSNkZWZpbmUgRUZJX1NFUklBTF9J T19QUk9UT0NPTF9SRVZJU0lPTiAgICAweDAwMDEwMDAwDQo+ICsjZGVmaW5lIEVGSV9TRVJJQUxf SU9fUFJPVE9DT0xfUkVWSVNJT04gICAgMHgwMDAxMDAwMQ0KPiAgI2RlZmluZSBTRVJJQUxfSU9f SU5URVJGQUNFX1JFVklTSU9OICBFRklfU0VSSUFMX0lPX1BST1RPQ09MX1JFVklTSU9ODQo+IA0K PiAgLy8vDQo+IEBAIC0yODcsNiArMjg3LDcgQEAgc3RydWN0IF9FRklfU0VSSUFMX0lPX1BST1RP Q09MIHsNCj4gICAgLy8vIFBvaW50ZXIgdG8gU0VSSUFMX0lPX01PREUgZGF0YS4NCj4gICAgLy8v DQo+ICAgIEVGSV9TRVJJQUxfSU9fTU9ERSAgICAgICAgICAqTW9kZTsNCj4gKyAgQ09OU1QgRUZJ X0dVSUQgICAgICAgICAgICAgICAqRGV2aWNlVHlwZUd1aWQ7IC8vIFJldmlzaW9uIDEuMQ0KPiAg fTsNCj4gDQo+ICBleHRlcm4gRUZJX0dVSUQgZ0VmaVNlcmlhbElvUHJvdG9jb2xHdWlkOw0KPiAt LQ0KPiAyLjkuMC53aW5kb3dzLjENCj4gDQo+IA0KPiBQbGVhc2UgY29uc2lkZXIgdGhlIGVudmly b25tZW50IGJlZm9yZSBwcmludGluZyB0aGlzIGVtYWlsLg0KPiANCj4gVGhlIGluZm9ybWF0aW9u IGNvbnRhaW5lZCBpbiB0aGlzIG1lc3NhZ2UgbWF5IGJlIGNvbmZpZGVudGlhbCBhbmQgcHJvcHJp ZXRhcnkgdG8gQW1lcmljYW4gTWVnYXRyZW5kcyAoQU1JKS4gIFRoaXMgY29tbXVuaWNhdGlvbg0K PiBpcyBpbnRlbmRlZCB0byBiZSByZWFkIG9ubHkgYnkgdGhlIGluZGl2aWR1YWwgb3IgZW50aXR5 IHRvIHdob20gaXQgaXMgYWRkcmVzc2VkIG9yIGJ5IHRoZWlyIGRlc2lnbmVlLiBJZiB0aGUgcmVh ZGVyIG9mIHRoaXMgbWVzc2FnZSBpcw0KPiBub3QgdGhlIGludGVuZGVkIHJlY2lwaWVudCwgeW91 IGFyZSBvbiBub3RpY2UgdGhhdCBhbnkgZGlzdHJpYnV0aW9uIG9mIHRoaXMgbWVzc2FnZSwgaW4g YW55IGZvcm0sIGlzIHN0cmljdGx5IHByb2hpYml0ZWQuICBQbGVhc2UNCj4gcHJvbXB0bHkgbm90 aWZ5IHRoZSBzZW5kZXIgYnkgcmVwbHkgZS1tYWlsIG9yIGJ5IHRlbGVwaG9uZSBhdCA3NzAtMjQ2 LTg2MDAsIGFuZCB0aGVuIGRlbGV0ZSBvciBkZXN0cm95IGFsbCBjb3BpZXMgb2YgdGhlIHRyYW5z bWlzc2lvbi4NCj4gDQo+IA0KPiANCj4gDQo+IFBsZWFzZSBjb25zaWRlciB0aGUgZW52aXJvbm1l bnQgYmVmb3JlIHByaW50aW5nIHRoaXMgZW1haWwuDQo+IA0KPiBUaGUgaW5mb3JtYXRpb24gY29u dGFpbmVkIGluIHRoaXMgbWVzc2FnZSBtYXkgYmUgY29uZmlkZW50aWFsIGFuZCBwcm9wcmlldGFy eSB0byBBbWVyaWNhbiBNZWdhdHJlbmRzIChBTUkpLiAgVGhpcyBjb21tdW5pY2F0aW9uDQo+IGlz IGludGVuZGVkIHRvIGJlIHJlYWQgb25seSBieSB0aGUgaW5kaXZpZHVhbCBvciBlbnRpdHkgdG8g d2hvbSBpdCBpcyBhZGRyZXNzZWQgb3IgYnkgdGhlaXIgZGVzaWduZWUuIElmIHRoZSByZWFkZXIg b2YgdGhpcyBtZXNzYWdlIGlzDQo+IG5vdCB0aGUgaW50ZW5kZWQgcmVjaXBpZW50LCB5b3UgYXJl IG9uIG5vdGljZSB0aGF0IGFueSBkaXN0cmlidXRpb24gb2YgdGhpcyBtZXNzYWdlLCBpbiBhbnkg Zm9ybSwgaXMgc3RyaWN0bHkgcHJvaGliaXRlZC4gIFBsZWFzZQ0KPiBwcm9tcHRseSBub3RpZnkg dGhlIHNlbmRlciBieSByZXBseSBlLW1haWwgb3IgYnkgdGVsZXBob25lIGF0IDc3MC0yNDYtODYw MCwgYW5kIHRoZW4gZGVsZXRlIG9yIGRlc3Ryb3kgYWxsIGNvcGllcyBvZiB0aGUgdHJhbnNtaXNz aW9uLg0K