From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by mx.groups.io with SMTP id smtpd.web11.917.1667494246507315393 for ; Thu, 03 Nov 2022 09:50:46 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=ctG+efsN; spf=pass (domain: intel.com, ip: 192.55.52.115, mailfrom: michael.d.kinney@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1667494246; x=1699030246; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=0gXHMYBYrkOmPcIPBcUlkym7wRP5/AWxPnQ/e6AYeyI=; b=ctG+efsNohFc/1+CEODo1vixTBWj5t/W3NYFgAb0KdUFd41lJAiVwRF7 QJJOMzoFxNnv3fdlwx6UC+/tnb0HnZ3LtWEow298oeTVLVsOUccUH6ixj +KFp6U8EIzbjPuSZSR22H0d8sqfXnF3vInmT4pOvaPFDOs28MmEjlViHc HfCrgmmBKmxtYWZq9vEp7Kt2/XFp14aLeGWT+aiLlmxUCf6x7OI9bUp1a cdT/joyBjMJ6kkV87TclpRWOoJk8T4lMHihwnawtjgU7i9imfC8IJiFAL +SCQfM0vTmY5QlV1XXwPOFIaSUDebp69cNp/P3j6/h3dO5G8cHFdPI5Zq w==; X-IronPort-AV: E=McAfee;i="6500,9779,10520"; a="309734054" X-IronPort-AV: E=Sophos;i="5.96,134,1665471600"; d="scan'208";a="309734054" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Nov 2022 09:50:38 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10520"; a="777376574" X-IronPort-AV: E=Sophos;i="5.96,134,1665471600"; d="scan'208";a="777376574" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmsmga001.fm.intel.com with ESMTP; 03 Nov 2022 09:50:37 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Thu, 3 Nov 2022 09:50:36 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Thu, 3 Nov 2022 09:50:36 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.171) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Thu, 3 Nov 2022 09:50:35 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EcsvjcTDhGb7ZLdR247aG1P+2nx6U3Klu6ihOG+o5IXEo9fyYp2yLmxxKJPHaVhDMWOtURS/at9mVPj3zGzFZckQ8K32myXHZDVTAfy35pXzYYCXtIafn188MBlYw2yT+gU+2cJ2vUSTl1P3Jcq2F4EXktcomNbPoULu/bbI5jn47p2k+iYfrh+xqMKPM95SkCMYg0r1GiMUrq5UzFl2UmiY+kxARLK9Lu5ysJvAj399CJjfjprVQ5RJrtg8JKCxTPsltN3QZU02QJkKY45yjrMcynxqK2OGfVhZ1jKq03fzHBuEhLncBbs3gtU2LuI6z79MPYbDOKnn2t0vgPPgPg== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=0gXHMYBYrkOmPcIPBcUlkym7wRP5/AWxPnQ/e6AYeyI=; b=G7SyTH+Q7wNXZGn4erWsq7y7H8bZHR9SRY/XO7yEOM9hCDkFZKHBYOp95qnPMAdv4mzR8bLc9CExM47cxKm/XkikcBoc1sbAv3INfWA4S/A0FjFWkpkfNT+0nwh75LzVfzxND9pdYhWgc+vK4zACwqmjEQodV4l3TwiLxYcIpvfjWVt0TlccRwMGP7V9OAOUkMGinmmRD7TCDTseTHoksvFEbHeJf5efvgZbc4hkx5jTQXFxb9cTzFQeA0P+nVjpDhmMtoeMuYAUg8FTEcjk9DxaisRsK/DDroRJeh6q/uJmNdRLNKOI3u8r9JSQ9Oik/B1exxr7Dh0env4AmqbQmw== 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 Received: from CO1PR11MB4929.namprd11.prod.outlook.com (2603:10b6:303:6d::19) by SA1PR11MB7014.namprd11.prod.outlook.com (2603:10b6:806:2b9::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5769.21; Thu, 3 Nov 2022 16:50:24 +0000 Received: from CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::d936:6054:442a:9dde]) by CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::d936:6054:442a:9dde%5]) with mapi id 15.20.5791.022; Thu, 3 Nov 2022 16:50:24 +0000 From: "Michael D Kinney" To: "devel@edk2.groups.io" , "lersek@redhat.com" , "Kinney, Michael D" CC: "Zurcher, Christopher" , "Jiang, Guomin" , "Wang, Jian J" , "Yao, Jiewen" , "Lu, Xiaoyu1" , "Sukerkar, Amol N" Subject: Re: [edk2-devel] [PATCH] CryptoPkg/Readme.md: typo and grammar fixes Thread-Topic: [edk2-devel] [PATCH] CryptoPkg/Readme.md: typo and grammar fixes Thread-Index: AQHY7p6n6vuwHG/6pUGR48xkejLI8K4r1pgAgAFvH4CAACO4EA== Date: Thu, 3 Nov 2022 16:50:24 +0000 Message-ID: References: <20221102093637.9132-1-lersek@redhat.com> <44f3166a-1e79-906c-9a65-8c71bd93f5ac@redhat.com> In-Reply-To: <44f3166a-1e79-906c-9a65-8c71bd93f5ac@redhat.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.6.500.17 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CO1PR11MB4929:EE_|SA1PR11MB7014:EE_ x-ms-office365-filtering-correlation-id: 62631977-6790-49aa-cbfe-08dabdbb80ff x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: t8dYtYCxnMdiQFFJOx5MH+rqVVauBnmkuNtxz1MM8SlURd90EFVXH86Lp5E8U1+IDE1NDbclGl2iNxRKlTJSaQEa236Qz+PpdXc6Hwj6+kepMWVp3XwiornxhNBDFYQ4jx7VDIk0nqs04zTPn94RgQu6KPhmzUOAtCbVqzb8tgpW6kOXxa73Yw7lLpG7aRHNj6s67wdPfZQDKrFyhUq4zSdm26lSehWKN5TKTkKKPsJDnd/PD0gFZ+CH4M7gY+1Cpf/XdaYdVDlZhqsZTj6top7wbsiyS8keERB45TeTbRpYSDLaNq34PMr8gBr2JKJwizvHCIO4FSgshtmq6aEEKskd5dudhjWJqGQMy3YoRH2nhfCcbeZIfXLHVa/VeDK8duu2TjHgDo+4SH5c293827z0S7DDdu1Nhc+Jm5WfftCZx4o4YuEM75HhjMWgmIfFA0waUikyAsE1tXeY3OhtTnsaSma5ylT2+5eqxOlowDzZKpot4Qs7gzbjY3d0c9P77MDZEt8hmoXHVukuHkaaegi3JWvxtEnt4N89jYM9sHf7UMDdLGdW8CfL6gsXIjix8iUrckdA5KtEoRDy+wZek2PkCI9zaJTtLNsnn1V2N6rqZ0tdblF52vk8ZyTZEVElY3aowqgRF40TNI1185rZNaHfnoYnajx7i93y4RH6fywnOrxp/mxxuh/qIALcbscFSkzxszntI8IRsovpF9hKHpt4mOAwjPreEAmwkERFq6m2TmcH07C4zChcf0bd0i5xrm3n25iN/VRnNymiZFe6HvT+FXrZl9WPzOwdbJJcJc6D/sTX44oCF5mszeylZRR//RWUZEkSrPOjx8RLGetyIg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB4929.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(39860400002)(136003)(366004)(396003)(346002)(376002)(451199015)(71200400001)(966005)(7696005)(478600001)(66899015)(64756008)(41300700001)(4326008)(4001150100001)(8676002)(66476007)(2906002)(76116006)(26005)(66946007)(66446008)(5660300002)(6506007)(9686003)(53546011)(8936002)(30864003)(186003)(66556008)(52536014)(38070700005)(83380400001)(38100700002)(110136005)(122000001)(54906003)(316002)(19627235002)(107886003)(82960400001)(33656002)(55016003)(86362001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?MjQrYTdZdU8wSXd5UWw1Szc5a2l3YjJQczFheTg5SWlIZkxVV2E2c0xOR2M2?= =?utf-8?B?UzhZQVRldmhCczRCM2tLb1VaU01raUNMVXk3L0xjdU0ycmU5TmJiR0xSa2kr?= =?utf-8?B?UHZmSWhScmlNSm1VNmg0WjBrL2dyMVNKeVQ2ZHZEd2k4T2tUMmpqRk16d0hN?= =?utf-8?B?eWJMS2xlQ1FxTDJOUmNNazFxOTl1T1hyL0lXcS9YWmpHY25KWFY0SHpYODJT?= =?utf-8?B?MWlJZ0pyODZhNkVLdWpPTnFqK2Z0TCtmWW1KWm5uT3dQOUEya1Z4VVc3eFpQ?= =?utf-8?B?TTJyeDhnUHFpSTZiamY2a2lERmo5RTRrc2ZKcW9hZUFhdlZEVGs4NmZ4VmpC?= =?utf-8?B?L3g4a3BweWc0Q2tDbHhRaU8vV2E0RjRyakZUYXM5U1hMb3dGbzNPaWxidDNs?= =?utf-8?B?dXQ4QjNJbVNOZEFhM25LbzRZUkROWjZxaHR0cnNSaStRM0V3cjFKV0VqMWkr?= =?utf-8?B?SkZRQS94YnBzTFFUbnlPWGdDOTlweGZPSnpKaUZiL0d2bXJqYUZWS3Zjb0JB?= =?utf-8?B?cFA4aGQyYk5GSFdrYXgwSE1may9kK2FjZXJ6MXE0U01hNzYzRE05Q2UzVjFz?= =?utf-8?B?NTJGMm1pd0E4b3ZNdXJhUXNUWUlDQTBCRUFpVURGRFFUdFpiMkc2VjZrOCtx?= =?utf-8?B?NTA3WndiNGpOMXVnbXlDZmhpQ3ZxZTFEL3pEV2p0ZlhUVzM1ZkpCQzBGWmVo?= =?utf-8?B?U3ExL3M1RXlFNmwvK0dhMEpWYmhXVVZSSnZTSUl5YmIwVkc4U0VtWnJBb05p?= =?utf-8?B?Y1VQeGJQN05haGRQc29pek95OFRvcmNmcmhKc2lmVllXQ0NIVk5ENEV6NUhp?= =?utf-8?B?NXd2bjVIbEs2WHAzeGttUHNXQUFqTUNQTjA3ODFZdVBBNU9QdWhncnplQUFn?= =?utf-8?B?ajBLNGRhMUdGRXVUUXVoUHFFV3R2RXFWWXU3dkQ2NDhwODVqZkhwbjV3dU1Y?= =?utf-8?B?SFExM3lWSjBQR3NFalVSb2swVkVaR002STl0QTRPMWo0OUdTWVBnWlh5bzI5?= =?utf-8?B?cWZZc0E1SCs2Qm9BSUhVSFIxdnVCYUVnS3dqbU9LWitscnR3RmhZZFVEdGxB?= =?utf-8?B?YmphYXZDS2tyTndxbzRieUxOc2RVV2lQYkhKMzZBTi95YUVHc0ZIZ3ZYY0FT?= =?utf-8?B?aXlxWVNhTWFpTUwxdjhSb3JKd1lub1I0ZUFwYnFDZllEWk9sUG5KVUxPYmFX?= =?utf-8?B?OVJTTGplVzRTVEk1anBJZnFDK2g3Wllrckl5SDA2ZGdWK2JJR1JIRVFPNEFP?= =?utf-8?B?YmlKQktaSmRFdnFSRjZZL0t0YW5qeW5ZdGt3bUtnRDVKTXZvQ1ZQeVZGYWU4?= =?utf-8?B?azZjNDB3ejYrcHZ0T2VxNFloUVZLSW1Yb0JuSGhmNlN0OGtIVkRyRWJ1RXJu?= =?utf-8?B?emROakdEK3FNZDJYR3E3SW44djRaOUJBdzc2YUNodWcvenJSZXl4djJPcmZK?= =?utf-8?B?anFBek5Icm9mb0lrV3FJdkRjcGtpdVc0Ri9iK0ZMWkgyNk9DMkJQQitBVlRS?= =?utf-8?B?T0J4bEwwNkxtTGlkR0trR2tnUjBDR2FybWpqa01GalJ3Q0VMU05aQkE1VEla?= =?utf-8?B?TWpsZEplWndocnFJSldTaFh3VnBoOVhOdVZyaVIrdFV6ZitIOXNnbzZPRjBQ?= =?utf-8?B?Qkc1Y0QxWlcvaWVoVm1mcGU2N3NJRktycXlzVGN1b2xrdHN0Q2ZEL2wybnNR?= =?utf-8?B?dytJS1JlWjNwWFRXZXB1YnpOMXNRS2NZWDVMaUY3QVZ6WjVBTHd0eWF0akky?= =?utf-8?B?eEt3T1V2WlJTallUTmNyZlErQUwwZm1WV3lRb3ZkdEJwcVlWZkFickh5ZEND?= =?utf-8?B?UXlIL0k5UWpNdytuREN2cVFHQWI3Y0ROSDdtU3ZyNFNPWTZUT0NHMWR6Vk5r?= =?utf-8?B?R2NGZ25HZkN6eFV0N1pWNXpidWlRVXg4ZFhKQzllMERHSkxTWXE1VzF0aTBw?= =?utf-8?B?MmFzYXlPV3pUalB2blFKR2Z0Rzl6SUczNWZiY1AvanRCMUc2bUpPUGphUFQz?= =?utf-8?B?OVhYOXlHakJLaFhiUUZNaTVQU3RocnRRSWFBTFA3R0krZUg5NkQvZERyZ051?= =?utf-8?B?OHhBQkdvakh4ZGh0Rm1JWkM2OUhmRnhzbHNUemVMeWU5ZDdvTDhaYVZndHR1?= =?utf-8?B?WXZlbmh3Qm5xOE9Ha1hKTnJVQ3Y1cFkyUFVlQ0tqcHhBWnc4SU5rK0tyc1Ni?= =?utf-8?B?YlE9PQ==?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4929.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 62631977-6790-49aa-cbfe-08dabdbb80ff X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Nov 2022 16:50:24.6659 (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: dl5pK0dyWUTfZ+A68LLpvW4UCfg1LuqdY+j0g2bYV2o7PlWh1RVMC/2yrvZuutVzLndwU5YvB165hPRkuR+bbI7c7gxhWx/Vdrbl1d9T7/A= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR11MB7014 Return-Path: michael.d.kinney@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTGFzemxvLA0KDQpJIHRoaW5rIHdlIHNob3VsZCBjb25zaWRlciBleHBlbmRpbmcgdGhlIG1l YW5pbmcgb2YgUENEIHRvIGFsbG93DQptdWx0aXBsZSBhbGdvcyBhbmQgdXBkYXRlIGxpYiBpbXBs ZW1lbnRhdGlvbiB0byBzdXBwb3J0IG11bHRpcGxlLg0KDQpUaGlzIHNob3VsZCBub3QgaGF2ZSBh IHNpemUgaW1wYWN0IGZvciBwbGF0Zm9ybXMgdGhhdCBvbmx5IHdhbnQgb25lDQphbGdvLiAgQW5k IHNob3VsZCBhbHNvIGJlIGJhY2t3YXJkcyBjb21wYXRpYmxlIHRvIGV4cGFuZCBtZWFuaW5nIHRv DQpzdXBwb3J0IG11bHRpcGxlLg0KDQpMZXQncyBnbyB3aXRoIHlvdXIgdXBkYXRlZCBwYXRjaCB0 aGF0IGxlYXZlcyBpdCBzaW5nbGUgYWxnbyB0byBnZXQNCnRoZSBSZWFkbWUubWQgZml4ZWQgbm93 LiAgV2UgY2FuIGVudGVyIG5ldyBCWnMgZmVhdHVyZSByZXF1ZXN0cyB0bw0KZXhwYW5kIFBDRCBm cm9tIHNpbmdsZSB0byBtdWx0aXBsZSBhbmQgZXhwYW5kIGxpYiB0byBzdXBwb3J0IG11bHRpcGxl Lg0KDQpUaGFua3MsDQoNCk1pa2UNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBG cm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9uIEJlaGFs ZiBPZiBMYXN6bG8gRXJzZWsNCj4gU2VudDogVGh1cnNkYXksIE5vdmVtYmVyIDMsIDIwMjIgNzoz NSBBTQ0KPiBUbzogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29t PjsgZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gQ2M6IFp1cmNoZXIsIENocmlzdG9waGVyIDxjaHJp c3RvcGhlci56dXJjaGVyQG1pY3Jvc29mdC5jb20+OyBKaWFuZywgR3VvbWluIDxndW9taW4uamlh bmdAaW50ZWwuY29tPjsgV2FuZywgSmlhbiBKDQo+IDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+OyBZ YW8sIEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb20+OyBMdSwgWGlhb3l1MSA8eGlhb3l1MS5s dUBpbnRlbC5jb20+OyBTdWtlcmthciwgQW1vbCBODQo+IDxhbW9sLm4uc3VrZXJrYXJAaW50ZWwu Y29tPg0KPiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQQVRDSF0gQ3J5cHRvUGtnL1JlYWRt ZS5tZDogdHlwbyBhbmQgZ3JhbW1hciBmaXhlcw0KPiANCj4gSGkgTWlrZSwNCj4gDQo+IE9uIDEx LzAyLzIyIDE3OjQ4LCBLaW5uZXksIE1pY2hhZWwgRCB3cm90ZToNCj4gPiBIaSBMYXN6bG8sDQo+ ID4NCj4gPiBUaGFuayB5b3UgZm9yIGFsbCB0aGUgdXBkYXRlcy4gIE9uZSBjb21tZW50IGJlbG93 Lg0KPiA+DQo+ID4gTWlrZQ0KPiA+DQo+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ ID4+IEZyb206IExhc3psbyBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb20+DQo+ID4+IFNlbnQ6IFdl ZG5lc2RheSwgTm92ZW1iZXIgMiwgMjAyMiAyOjM3IEFNDQo+ID4+IFRvOiBkZXZlbEBlZGsyLmdy b3Vwcy5pbzsgbGVyc2VrQHJlZGhhdC5jb20NCj4gPj4gQ2M6IFp1cmNoZXIsIENocmlzdG9waGVy IDxjaHJpc3RvcGhlci56dXJjaGVyQG1pY3Jvc29mdC5jb20+OyBKaWFuZywgR3VvbWluIDxndW9t aW4uamlhbmdAaW50ZWwuY29tPjsgV2FuZywgSmlhbiBKDQo+ID4+IDxqaWFuLmoud2FuZ0BpbnRl bC5jb20+OyBZYW8sIEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb20+OyBLaW5uZXksIE1pY2hh ZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+OyBMdSwgWGlhb3l1MQ0KPiA+PiA8eGlh b3l1MS5sdUBpbnRlbC5jb20+DQo+ID4+IFN1YmplY3Q6IFtQQVRDSF0gQ3J5cHRvUGtnL1JlYWRt ZS5tZDogdHlwbyBhbmQgZ3JhbW1hciBmaXhlcw0KPiA+Pg0KPiA+PiBDb21taXQgMjQ0Y2UzM2Jk ZDJmICgiQ3J5cHRvUGtnOiBBZGQgUmVhZG1lLm1kIiwgMjAyMi0xMC0yNCkgaGFkIGFkZGVkIHRo ZQ0KPiA+PiBsb25nLWF3YWl0ZWQgZG9jdW1lbnRhdGlvbiBvbiB0aGUgZHluYW1pYyBjcnlwdG8g c2VydmljZXMuIEZpeCBzb21lIG9mIHRoZQ0KPiA+PiB0eXBvcyBhbmQgYXJndWFibGUgZ3JhbW1h ciBlcnJvcnMgaW4gIlJlYWRtZS5tZCIuIEEgZmV3IGxpZ2h0DQo+ID4+IGNsYXJpZmljYXRpb25z IGFyZSBhbHNvIHNudWNrIGluLg0KPiA+Pg0KPiA+PiBDYzogQ2hyaXN0b3BoZXIgWnVyY2hlciA8 Y2hyaXN0b3BoZXIuenVyY2hlckBtaWNyb3NvZnQuY29tPg0KPiA+PiBDYzogR3VvbWluIEppYW5n IDxndW9taW4uamlhbmdAaW50ZWwuY29tPg0KPiA+PiBDYzogSmlhbiBKIFdhbmcgPGppYW4uai53 YW5nQGludGVsLmNvbT4NCj4gPj4gQ2M6IEppZXdlbiBZYW8gPGppZXdlbi55YW9AaW50ZWwuY29t Pg0KPiA+PiBDYzogTWljaGFlbCBEIEtpbm5leSA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+ DQo+ID4+IENjOiBYaWFveXUgTHUgPHhpYW95dTEubHVAaW50ZWwuY29tPg0KPiA+PiBTaWduZWQt b2ZmLWJ5OiBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPg0KPiA+PiAtLS0NCj4gPj4N Cj4gPj4gTm90ZXM6DQo+ID4+ICAgICBCZXN0IGRpc3BsYXllZCBhcyBhIHdvcmQtZGlmZiBmb3Ig cmV2aWV3LCBmb3IgZXhhbXBsZSB3aXRoIHRoZSBjb21tYW5kDQo+ID4+DQo+ID4+ICAgICAgIGdp dCBzaG93IC0td29yZC1kaWZmDQo+ID4+DQo+ID4+ICAgICBvciBvbiB0aGUgd2ViIGF0DQo+ID4+ DQo+ID4+ICAgICAgIGh0dHBzOi8vcGFndXJlLmlvL2xlcnNlay9lZGsyL2MvYTcyNjlmMTcwNDM3 P2JyYW5jaD1jcnlwdG9wa2dfcmVhZG1lX3R5cG9zDQo+ID4+DQo+ID4+ICBDcnlwdG9Qa2cvUmVh ZG1lLm1kIHwgNDggKysrKysrKysrKy0tLS0tLS0tLS0NCj4gPj4gIDEgZmlsZSBjaGFuZ2VkLCAy NCBpbnNlcnRpb25zKCspLCAyNCBkZWxldGlvbnMoLSkNCj4gPj4NCj4gPj4gZGlmZiAtLWdpdCBh L0NyeXB0b1BrZy9SZWFkbWUubWQgYi9DcnlwdG9Qa2cvUmVhZG1lLm1kDQo+ID4+IGluZGV4IDk0 NmFhMWU5OWU3ZC4uOWRkM2E5NTE4MzZiIDEwMDY0NA0KPiA+PiAtLS0gYS9DcnlwdG9Qa2cvUmVh ZG1lLm1kDQo+ID4+ICsrKyBiL0NyeXB0b1BrZy9SZWFkbWUubWQNCj4gPj4gQEAgLTM5LDcgKzM5 LDcgQEAgcHJvdmlkZXMgdGhlIHNtYWxsZXN0IG92ZXJhbGwgZmlybXdhcmUgb3ZlcmhlYWQuDQo+ ID4+DQo+ID4+ICAjIyBTdGF0aWNhbGx5IExpbmtpbmcgQ3J5cHRvZ3JhcGhpYyBTZXJ2aWNlcw0K PiA+Pg0KPiA+PiAtVGhlIGZpZ3VyZSBiZWxvdyBzaG93cyBhbiBleGFtcGxlIG9mIGEgZmlybXdh cmUgbW9kdWxlcyB0aGF0IHJlcXVpcmVzIHRoZSB1c2Ugb2YNCj4gPj4gK1RoZSBmaWd1cmUgYmVs b3cgc2hvd3MgYW4gZXhhbXBsZSBvZiBhIGZpcm13YXJlIG1vZHVsZSB0aGF0IHJlcXVpcmVzIHRo ZSB1c2Ugb2YNCj4gPj4gIGNyeXB0b2dyYXBoaWMgc2VydmljZXMuIFRoZSBjcnlwdG9ncmFwaGlj IHNlcnZpY2VzIGFyZSBwcm92aWRlZCBieSB0aHJlZSBsaWJyYXJ5DQo+ID4+ICBjbGFzc2VzIGNh bGxlZCBCYXNlQ3J5cHRMaWIsIFRsc0xpYiwgYW5kIEhhc2hBcGlMaWIuIFRoZXNlIGxpYnJhcnkg Y2xhc3NlcyBhcmUNCj4gPj4gIGltcGxlbWVudGVkIHVzaW5nIEFQSXMgZnJvbSB0aGUgT3BlblNT TCBwcm9qZWN0IHRoYXQgYXJlIGFic3RyYWN0ZWQgYnkgdGhlDQo+ID4+IEBAIC00OSw3ICs0OSw3 IEBAIGZ1bGwgQyBydW50aW1lIGxpYnJhcnkgZm9yIGZpcm13YXJlIGNvbXBvbmVudHMuIEluc3Rl YWQsIHRoZSBDcnlwdG9Qa2cgaW5jbHVkZXMNCj4gPj4gIHRoZSBzbWFsbGVzdCBzdWJzZXQgb2Yg c2VydmljZXMgcmVxdWlyZWQgdG8gYnVpbGQgdGhlIE9wZW5TU0wgcHJvamVjdCBpbiB0aGUNCj4g Pj4gIHByaXZhdGUgbGlicmFyeSBjbGFzcyBjYWxsZWQgSW50cmluc2ljTGliLg0KPiA+Pg0KPiA+ PiAtVGhlIENyeXB0b1BrZyBwcm92aWRlcyBzZXZlcmFsIGluc3RhbmNlcyBpZiB0aGUgQmFzZUNy eXB0TGliIGFuZCBPcGVuc3NsTGliIHdpdGgNCj4gPj4gK1RoZSBDcnlwdG9Qa2cgcHJvdmlkZXMg c2V2ZXJhbCBpbnN0YW5jZXMgb2YgdGhlIEJhc2VDcnlwdExpYiBhbmQgT3BlbnNzbExpYiB3aXRo DQo+ID4+ICBkaWZmZXJlbnQgY3J5cHRvZ3JhcGhpYyBzZXJ2aWNlIGZlYXR1cmVzIGFuZCBwZXJm b3JtYW5jZSBvcHRpbWl6YXRpb25zLiBUaGUNCj4gPj4gIHBsYXRmb3JtIGRldmVsb3BlciBtdXN0 IHNlbGVjdCB0aGUgY29ycmVjdCBpbnN0YW5jZXMgYmFzZWQgb24gY3J5cHRvZ3JhcGhpYw0KPiA+ PiAgc2VydmljZSByZXF1aXJlbWVudHMgaW4gZWFjaCBVRUZJL1BJIGZpcm13YXJlIHBoYXNlIChT RUMsIFBFSSwgRFhFLCBVRUZJLA0KPiA+PiBAQCAtOTcsOSArOTcsOSBAQCBsaW5raW5nIGlzIG5v dCBhdmFpbGFibGUgZm9yIFNFQyBvciBVRUZJIFJUIG1vZHVsZXMuDQo+ID4+DQo+ID4+ICBUaGUg RURLIElJIG1vZHVsZXMvbGlicmFyaWVzIHRoYXQgcmVxdWlyZSBjcnlwdG9ncmFwaGljIHNlcnZp Y2VzIHVzZSB0aGUgc2FtZQ0KPiA+PiAgQmFzZUNyeXB0TGliL1Rsc0xpYi9IYXNoQXBpTGliIEFQ SXMuIFRoaXMgbWVhbnMgbm8gc291cmNlIGNoYW5nZXMgYXJlIHJlcXVpcmVkDQo+ID4+IC10byB1 c2Ugc3RhdGljIGxpbmtpbmcgb3IgZHluYW1pYyBsaW5raW5nLiBJdCBpcyBhIHBsYXRmb3JtIGNv bmZpZ3VyYXRpb24gb3B0aW9ucw0KPiA+PiAtdG8gc2VsZWN0IHN0YXRpYyBsaW5raW5nIG9yIGR5 bmFtaWMgbGlua2luZy4gVGhpcyBjaG9pY2UgY2FuIGJlIG1ha2UgZ2xvYmFsbHksDQo+ID4+IC1w ZXIgZmlybXdhcmUgbW9kdWxlIHR5cGUsIG9yIGluZGl2aWR1YWwgbW9kdWxlcy4NCj4gPj4gK3Rv IHVzZSBzdGF0aWMgbGlua2luZyBvciBkeW5hbWljIGxpbmtpbmcuIEl0IGlzIGEgcGxhdGZvcm0g Y29uZmlndXJhdGlvbiBvcHRpb24NCj4gPj4gK3RvIHNlbGVjdCBzdGF0aWMgbGlua2luZyBvciBk eW5hbWljIGxpbmtpbmcuIFRoaXMgY2hvaWNlIGNhbiBiZSBtYWRlIGdsb2JhbGx5LA0KPiA+PiAr cGVyIGZpcm13YXJlIG1vZHVsZSB0eXBlLCBvciBmb3IgaW5kaXZpZHVhbCBtb2R1bGVzLg0KPiA+ Pg0KPiA+PiAgYGBgDQo+ID4+ICArPT09PT09PT09PT09PT09PT09PSsgICAgKz09PT09PT09PT09 PT09PT09PT0rICAgICArPT09PT09PT09PT09PT09PT09PSsNCj4gPj4gQEAgLTE1OSw3ICsxNTks NyBAQCBUaGUgdGFibGUgYmVsb3cgcHJvdmlkZXMgYSBzdW1tYXJ5IG9mIHRoZSBzdXBwb3J0ZWQg Y3J5cHRvZ3JhcGhpYyBzZXJ2aWNlcy4gSXQNCj4gPj4gIGluZGljYXRlcyBpZiB0aGUgZmFtaWx5 IG9yIHNlcnZpY2UgaXMgZGVwcmVjYXRlZCBvciByZWNvbW1lbmRlZCB0byBub3QgYmUgdXNlZC4N Cj4gPj4gIEl0IGFsc28gc2hvd3Mgd2hpY2ggKkNyeXB0TGliIGxpYnJhcnkgaW5zdGFuY2VzIHN1 cHBvcnQgdGhlIGZhbWlseSBvciBzZXJ2aWNlLg0KPiA+PiAgSWYgYSBjZWxsIGlzIGJsYW5rIHRo ZW4gdGhlIHNlcnZpY2Ugb3IgZmFtaWx5IGlzIGFsd2F5cyBkaXNhYmxlZCBhbmQgdGhlDQo+ID4+ IC1gUGNkQ3J5cHRvU2VydmljZUZhbWlseUVuYWJsZWAgc2V0dGluZ3MgZm9yIHRoYXQgZmFtaWx5 IG9yIHNlcnZpY2UgaXMgaWdub3JlZC4NCj4gPj4gK2BQY2RDcnlwdG9TZXJ2aWNlRmFtaWx5RW5h YmxlYCBzZXR0aW5nIGZvciB0aGF0IGZhbWlseSBvciBzZXJ2aWNlIGlzIGlnbm9yZWQuDQo+ID4+ ICBJZiB0aGUgY2VsbCBpcyBub3QgYmxhbmssIHRoZW4gdGhlIHNlcnZpY2Ugb3IgZmFtaWx5IGlz IGNvbmZpZ3VyYWJsZSB1c2luZw0KPiA+PiAgYFBjZENyeXB0b1NlcnZpY2VGYW1pbHlFbmFibGVg IGFzIGxvbmcgYXMgdGhlIGNvcnJlY3QgT3BlbnNzbExpYiBvciBUbHNMaWIgaXMNCj4gPj4gIGFs c28gY29uZmlndXJlZC4NCj4gPj4gQEAgLTIzNCwxMCArMjM0LDEwIEBAIHBoYXNlcyAoU0VDLCBQ RUksIERYRSwgVUVGSSwgU01NLCBVRUZJIFJUKS4NCj4gPj4NCj4gPj4gIFRoZSBmb2xsb3dpbmcg dGFibGUgY2FuIGJlIHVzZWQgdG8gaGVscCBzZWxlY3QgdGhlIGJlc3QgT3BlbnNzbExpYiBpbnN0 YW5jZSBmb3INCj4gPj4gIGVhY2ggcGhhc2UuIFRoZSBTaXplIGNvbHVtbiBvbmx5IHNob3dzIHRo ZSBlc3RpbWF0ZWQgc2l6ZSBpbmNyZWFzZSBmb3IgYQ0KPiA+PiAtY29tcHJlc3NlZCBJQTMyL1g2 NCBtb2R1bGVzIHRoYXQgdXNlcyB0aGUgY3J5cHRvZ3JhcGhpYyBzZXJ2aWNlcyB3aXRoDQo+ID4+ ICtjb21wcmVzc2VkIElBMzIvWDY0IG1vZHVsZSB0aGF0IHVzZXMgdGhlIGNyeXB0b2dyYXBoaWMg c2VydmljZXMgd2l0aA0KPiA+PiAgYE9wZW5zc2xMaWIuaW5mYCBhcyB0aGUgYmFzZWxpbmUgc2l6 ZS4gVGhlIGFjdHVhbCBzaXplIGluY3JlYXNlIGRlcGVuZHMgb24gdGhlDQo+ID4+ICBzcGVjaWZp YyBzZXQgb2YgZW5hYmxlZCBjcnlwdG9ncmFwaGljIHNlcnZpY2VzLiBJZiBFQ0Mgc2VydmljZXMg YXJlIG5vdA0KPiA+PiAtcmVxdWlyZWQsIHRoZW4gc2l6ZSBjYW4gYmUgcmVkdWNlZCBieSB1c2lu ZyBPcGVuc3NsTGliLmluZiBpbnN0ZWFkIG9mDQo+ID4+ICtyZXF1aXJlZCwgdGhlbiB0aGUgc2l6 ZSBjYW4gYmUgcmVkdWNlZCBieSB1c2luZyBPcGVuc3NsTGliLmluZiBpbnN0ZWFkIG9mDQo+ID4+ ICBgT3BlbnNzbExpYkZ1bGwuaW5mYC4gUGVyZm9ybWFuY2Ugb3B0aW1pemF0aW9uIHJlcXVpcmVz IGEgc2l6ZSBpbmNyZWFzZS4NCj4gPj4NCj4gPj4gIHwgT3BlbnNzbExpYiBJbnN0YW5jZSAgICAg fCBTU0wgfCBFQ0MgfCBQZXJmIE9wdCB8IENQVSBBcmNoIHwgU2l6ZSAgfA0KPiA+PiBAQCAtMzcx LDEwICszNzEsMTAgQEAgc2V0dGluZ3MuDQo+ID4+DQo+ID4+ICAjIyMgVUVGSSBSdW50aW1lIERy aXZlciBMaWJyYXJ5IE1hcHBpbmdzDQo+ID4+DQo+ID4+IC1VRUZJIFJ1bnRpbWUgRHJpdmVycyBv bmx5IHN1cHBvcnRzIHN0YXRpYyBsaW5raW5nIG9mIGNyeXB0b2dyYXBoaWMgc2VydmljZXMuDQo+ ID4+IC1UaGUgZm9sbG93aW5nIGxpYnJhcnkgbWFwcGluZ3MgYXJlIHJlY29tbWVuZGVkIGZvciBV RUZJIFJ1bnRpbWUgRHJpdmVycy4gSXQgdXNlcw0KPiA+PiAtdGhlIHJ1bnRpbWUgc3BlY2lmaWMg dmVyc2lvbiBvZiB0aGUgQmFzZUNyeXB0TGliIGFuZCB0aGUgbnVsbCB2ZXJzaW9uIG9mIHRoZQ0K PiA+PiAtVGxzTGliIGJlY2F1c2UgVExTIHNlcnZpY2VzIGFyZSBub3QgdHlwaWNhbGx5IHVzZWQg aW4gcnVudGltZS4NCj4gPj4gK1VFRkkgUnVudGltZSBEcml2ZXJzIG9ubHkgc3VwcG9ydCBzdGF0 aWMgbGlua2luZyBvZiBjcnlwdG9ncmFwaGljIHNlcnZpY2VzLg0KPiA+PiArVGhlIGZvbGxvd2lu ZyBsaWJyYXJ5IG1hcHBpbmdzIGFyZSByZWNvbW1lbmRlZCBmb3IgVUVGSSBSdW50aW1lIERyaXZl cnMuIFRoZXkNCj4gPj4gK3VzZSB0aGUgcnVudGltZSBzcGVjaWZpYyB2ZXJzaW9uIG9mIHRoZSBC YXNlQ3J5cHRMaWIgYW5kIHRoZSBudWxsIHZlcnNpb24gb2YgdGhlDQo+ID4+ICtUbHNMaWIgYmVj YXVzZSBUTFMgc2VydmljZXMgYXJlIG5vdCB0eXBpY2FsbHkgdXNlZCBhdCBydW50aW1lLg0KPiA+ Pg0KPiA+PiAgYGBgDQo+ID4+ICBbTGlicmFyeUNsYXNzZXMuY29tbW9uLkRYRV9SVU5USU1FX0RS SVZFUl0NCj4gPj4gQEAgLTM4OCwxMyArMzg4LDEzIEBAIFRsc0xpYiBiZWNhdXNlIFRMUyBzZXJ2 aWNlcyBhcmUgbm90IHR5cGljYWxseSB1c2VkIGluIHJ1bnRpbWUuDQo+ID4+ICAjIyMgUENEIENv bmZpZ3VyYXRpb24gU2V0dGluZ3MNCj4gPj4NCj4gPj4gIFRoZXJlIGFyZSAyIFBDRCBzZXR0aW5n cyB0aGF0IGFyZSB1c2VkIHRvIGNvbmZpZ3VyZSBjcnlwdG9ncmFwaGljIHNlcnZpY2VzLg0KPiA+ PiAtYFBjZEhhc2hBcGlMaWJQb2xpY3lgIGlzIHVzZWQgdG8gY29uZmlndXJlIHRoZSBoYXNoIGFs Z29yaXRobSBwcm92aWRlZCBieSB0aGUNCj4gPj4gK2BQY2RIYXNoQXBpTGliUG9saWN5YCBpcyB1 c2VkIHRvIGNvbmZpZ3VyZSB0aGUgaGFzaCBhbGdvcml0aG1zIHByb3ZpZGVkIGJ5IHRoZQ0KPiA+ PiAgQmFzZUhhc2hBcGlMaWIgbGlicmFyeSBpbnN0YW5jZS4gYFBjZENyeXB0b1NlcnZpY2VGYW1p bHlFbmFibGVgIGlzIHVzZWQgdG8NCj4gPj4gIGNvbmZpZ3VyZSB0aGUgY3J5cHRvZ3JhcGhpYyBz ZXJ2aWNlcyBzdXBwb3J0ZWQgYnkgdGhlIENyeXB0b1BlaSwgQ3J5cHRvRHhlLA0KPiA+PiAgYW5k IENyeXB0b1NtbSBtb2R1bGVzLg0KPiA+Pg0KPiA+PiAgKiBgZ0VmaUNyeXB0b1BrZ1Rva2VuU3Bh Y2VHdWlkLlBjZEhhc2hBcGlMaWJQb2xpY3lgIC0gVGhpcyBQQ0QgaW5kaWNhdGVzIHRoZQ0KPiA+ PiAtICBIQVNIIGFsZ29yaXRobSB0byB0byB1c2UgaW4gdGhlIEJhc2VIYXNoQXBpTGliIHRvIGNh bGN1bGF0ZSBoYXNoIG9mIGRhdGEuIFRoZQ0KPiA+PiArICBIQVNIIGFsZ29yaXRobXMgdG8gdXNl IGluIHRoZSBCYXNlSGFzaEFwaUxpYiB0byBjYWxjdWxhdGUgaGFzaCBvZiBkYXRhLiBUaGUNCj4g Pg0KPiA+IEl0IGlzIG15IHVuZGVyc3RhbmRpbmcgdGhhdCB0aGUgQmFzZUhhc2hBcGlMaWIgc3Vw cG9ydHMgYXQgbW9zdCBvbmUgYWxnb3JpdGhtLg0KPiA+IFBlcmhhcHMgdGhpcyBpcyBvbmx5IGFu IGF0dHJpYnV0ZSBvZiB0aGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbi4gIFRoZSBkZWNsYXJhdGlv bg0KPiA+IG9mIHRoZSBQQ0QgdmFsdWVzIGZvciB0aGlzIFBDRCBjb3VsZCBzdXBwb3J0IGEgYml0 bWFzayB0aGF0IGNvdWxkIGFsbG93IG11bHRpcGxlDQo+ID4gYWxnb3JpdGhtIHZhbHVlcyB0byBi ZSBPUmVkIHRvZ2V0aGVyLiAgSG93ZXZlciwgdGhlIERFQyBmaWxlIGRlc2NyaXB0aW9uIGRvZXMg bm90DQo+ID4gc3RhdGUgdGhhdC4gIFRoZSBleGFtcGxlIGJlbG93IHNob3dzIHRoZSBjdXJyZW50 IGltcGxlbWVudGF0aW9uIHRoYXQgZG9lcw0KPiA+IG5vdCBpbnRlcnByZXQgYXMgYSBiaXRtYXNr LiAgSW4gZmFjdCwgc2V0dGluZyBtb3JlIHRoYW4gb25lIGFsZ29yaXRobSB2YWx1ZQ0KPiA+IHdv dWxkIGZhbGwgdGhyb3VnaCB0byB0aGUgZGVmYXVsdCBjbGF1c2UuICBTbyB5b3UgcmVjb21tZW5k IGFuIHVwZGF0ZSB0byBERUMNCj4gPiBhbmQgaW1wbGVtZW50YXRpb24gdG8gc3VwcG9ydCBiaXRt YXNrPyAgT3IgcmVzdHJpY3QgdGhlIFBDRCBhbmQgaW1wbGVtZW50YXRpb24NCj4gPiB0byBhIHNp bmdsZSBhbGdvcml0aG0/DQo+ID4NCj4gPiBVSU5UTg0KPiA+IEVGSUFQSQ0KPiA+IEhhc2hBcGlH ZXRDb250ZXh0U2l6ZSAoDQo+ID4gICBWT0lEDQo+ID4gICApDQo+ID4gew0KPiA+ICAgc3dpdGNo IChQY2RHZXQzMiAoUGNkSGFzaEFwaUxpYlBvbGljeSkpIHsNCj4gPiAgICAgY2FzZSBIQVNIX0FM R19TSEExOg0KPiA+ICAgICAgIHJldHVybiBTaGExR2V0Q29udGV4dFNpemUgKCk7DQo+ID4gICAg ICAgYnJlYWs7DQo+ID4NCj4gPiAgICAgY2FzZSBIQVNIX0FMR19TSEEyNTY6DQo+ID4gICAgICAg cmV0dXJuIFNoYTI1NkdldENvbnRleHRTaXplICgpOw0KPiA+ICAgICAgIGJyZWFrOw0KPiA+DQo+ ID4gICAgIGNhc2UgSEFTSF9BTEdfU0hBMzg0Og0KPiA+ICAgICAgIHJldHVybiBTaGEzODRHZXRD b250ZXh0U2l6ZSAoKTsNCj4gPiAgICAgICBicmVhazsNCj4gPg0KPiA+ICAgICBjYXNlIEhBU0hf QUxHX1NIQTUxMjoNCj4gPiAgICAgICByZXR1cm4gU2hhNTEyR2V0Q29udGV4dFNpemUgKCk7DQo+ ID4gICAgICAgYnJlYWs7DQo+ID4NCj4gPiAgICAgY2FzZSBIQVNIX0FMR19TTTNfMjU2Og0KPiA+ ICAgICAgIHJldHVybiBTbTNHZXRDb250ZXh0U2l6ZSAoKTsNCj4gPiAgICAgICBicmVhazsNCj4g Pg0KPiA+ICAgICBkZWZhdWx0Og0KPiA+ICAgICAgIEFTU0VSVCAoRkFMU0UpOw0KPiA+ICAgICAg IHJldHVybiAwOw0KPiA+ICAgICAgIGJyZWFrOw0KPiA+ICAgfQ0KPiA+IH0NCj4gDQo+IFRoYW5r IHlvdSBmb3IgY29uZmlybWluZyB0aGlzOyBpbiBmYWN0IEkgaGFkIG15IGRvdWJ0cyBvbiB0aGlz IGh1bmsuIEkNCj4gaGFkIGNoZWNrZWQgdGhlIFBDRCBpbiB0aGUgREVDIGZpbGUsIGJ1dCBub3Qg dGhlIGltcGxlbWVudGF0aW9uLg0KPiANCj4gVGhlIERFQyBmaWxlIGRvZXMgZW1wbG95IHRoZSB0 ZXJtICJhbGdvcml0aG0iIGluIHNpbmd1bGFyLCBtdWx0aXBsZQ0KPiB0aW1lcyBhdCB0aGF0LiBI b3dldmVyLCB0aGUgaW5kaXZpZHVhbCB2YWx1ZXMgYXJlIG5vdCBjb25zZWN1dGl2ZSAtLQ0KPiB0 aGV5IGFyZSB2YWx1ZXMgb2YgZGlzdGluY3QgYml0cy4gVGhpcyBzdWdnZXN0cyBhIGEgYml0bWFw LCBhbmQgaXQgYWxzbw0KPiBzZWVtZWQgIm1vcmUgc2Vuc2libGUiIGZvciBhIGxpYnJhcnkgdG8g c3VwcG9ydCBtdWx0aXBsZSBoYXNoIGFsZ29yaXRobXMNCj4gYXQgdGhlIHNhbWUgdGltZSAoc2lt aWxhcmx5IHRvIGhvdyBQY2RDcnlwdG9TZXJ2aWNlRmFtaWx5RW5hYmxlIGNvdWxkDQo+IGVuYWJs ZSBtdWx0aXBsZSBhbGdvcml0aG1zIGF0IHRoZSBzYW1lIHRpbWUpLiBJIGRpZG4ndCByZWFsaXpl IHRoZSBQQ0QNCj4gd2FzIHN1cHBvc2VkIHRvIGJpbmQgdGhlIGxpYnJhcnkgdG8gb25lIHBhcnRp Y3VsYXIgaGFzaCBhbGdvcml0aG0gLS0NCj4gdGhhdCBzZWVtZWQgdG9vIGxpbWl0aW5nIGZvciBh biBlbnRpcmUgcGxhdGZvcm0uIChFdmVuIHdpdGgNCj4gY29tcG9uZW50LXNjb3BlIG9yIGNvbXBv bmVudC10eXBlLXNjb3BlIEZpeGVkLWF0LUJ1aWxkIG92ZXJyaWRlcyBpbiBhDQo+IERTQyBmaWxl LCBpdCB3YXMgaGFyZCB0byBmaW5kIGEgdXNlIGNhc2UgZm9yIGZpeGF0aW5nIGRpZmZlcmVudCBz ZXRzIG9mDQo+IG1vZHVsZXMgaW4gdGhlIHNhbWUgcGxhdGZvcm0gdG8gZGlmZmVyZW50ICp1bmlx dWUqIGhhc2ggYWxnb3MgYXQgYnVpbGQNCj4gdGltZS4pIEluIGVmZmVjdCBJIGV4cGVjdGVkIFBj ZEhhc2hBcGlMaWJQb2xpY3kgdG8gd29yayBzaW1pbGFybHkgdG8NCj4gUGNkQ3J5cHRvU2Vydmlj ZUZhbWlseUVuYWJsZS4NCj4gDQo+IEFkZGl0aW9uYWxseSAtLSBJIGhhZCBtaXNzZWQgQFZhbGlk TGlzdCBpbiB0aGUgREVDIGZpbGU7IHNvcnJ5IGFib3V0DQo+IHRoYXQuIFRoZSBleHBsaWNpdCBs aXN0aW5nIHRoZXJlIG1ha2VzIGl0IGEgYml0IGNsZWFyZXIgdGhhdA0KPiBQY2RIYXNoQXBpTGli UG9saWN5IGlzIG5vdCBhIGJpdG1hcC4NCj4gDQo+IEkgZG9uJ3Qga25vdyB3aHkgdGhlIGN1cnJl bnQgdmFsdWVzIHN1Z2dlc3QgdGhlIHBvc3NpYmlsaXR5IG9mIGEgYml0bWFwDQo+IC0tIHdlcmUg dGhleSBtZWFudCBhcyBmdXR1cmUtcHJvb2ZpbmcsIGZvciBhbiBpbXBsZW1lbnRhdGlvbiB0aGF0 IG1pZ2h0DQo+IHN1cHBvcnQgbW9yZSBhbGdvcyBhdCB0aGUgc2FtZSB0aW1lPw0KPiANCj4gU28g bXkgc3VnZ2VzdGlvbiB3b3VsZCBiZSB0byAicmVzdHJpY3QgdGhlIFBDRCBhbmQgaW1wbGVtZW50 YXRpb24gdG8gYQ0KPiBzaW5nbGUgYWxnb3JpdGhtIiAoYXMgeW91IHdyaXRlKSwgaW4gcGFydGlj dWxhciByZW1vdmUgdGhlIGNvbmZ1c2lvbiBieQ0KPiByZW51bWJlcmluZyB0aGUgaWRlbnRpZmll cnMgc28gdGhleSBmb3JtIGEgY29uc2VjdXRpdmUgc2VxdWVuY2UuDQo+IA0KPiBFeGNlcHQuLi4g OikgSSBub3RpY2UgdGhhdDoNCj4gDQo+IChhKSBUaGVzZSBtYWNyb3MgKHN1Y2ggYXMgSEFTSF9B TEdfU0hBMjU2KSBhcmUgZGVmaW5lZCBpbg0KPiAiTWRlUGtnL0luY2x1ZGUvSW5kdXN0cnlTdGFu ZGFyZC9UcG0yMC5oIi4gU28gaXQncyBub3QgcG9zc2libGUgdG8ganVzdA0KPiBjaGFuZ2UgdGhl IGludGVnZXIgdmFsdWVzIGluIHRoZSBERUMgZmlsZSBidXQga2VlcCB0aGUgbWFjcm8gbmFtZXM7 IHRoYXQNCj4gd291bGQgZGUtc3luYyB0aGUgUENEIGZpbGUgd2l0aCAiVHBtMjAuaCIuDQo+IA0K PiBUbyBiZSBob25lc3QgSSBmaW5kIGl0IHN1Ym9wdGltYWwgdGhhdCB0aGUgSGFzaCBsaWJyYXJ5 IEFQSSBpcyBib3VuZCB0bw0KPiBUUE0yIHNwZWNpZmljcyAtLSBoYXNoaW5nIGlzIG1vcmUgZ2Vu ZXJhbCB0aGFuIGl0cyB1c2FnZSBpbiBUUE0yLg0KPiANCj4gKGIpICJnaXQgYmxhbWUiIGFjdHVh bGx5IHByb3ZpZGVzIGNvbnRleHQ6DQo+IA0KPiAtIGNvbW1pdCAzZmVlYTU0ZWFlMzMgKCJDcnlw dG9Qa2cvQmFzZUhhc2hBcGlMaWI6IEltcGxlbWVudCBVbmlmaWVkIEhhc2gNCj4gQ2FsY3VsYXRp b24gQVBJIiwgMjAyMC0wMi0wMyksIGZvciBidWd6aWxsYSAyMTUxLCBpbnRyb2R1Y2VkIEhhc2hB cGlMaWINCj4gd2l0aCBhIGNvbnNlY3V0aXZlIGxpc3Qgb2YgaW50ZWdlciBoYXNoIGFsZ28gaWRl bnRpZmllcnMsDQo+IA0KPiAtIGNvbW1pdCBjNzBiZGY5ZDRhNmEgKCJDcnlwdG9Qa2cvQmFzZUhh c2hBcGlMaWI6IEFsaWduIEJhc2VIYXNoQXBpTGliDQo+IHdpdGggVFBNIDIuMCBJbXBsZW1lbnRh dGlvbiIsIDIwMjAtMDItMTkpLCBmb3IgYnVnemlsbGEgMjUxMSwgcmVwbGFjZWQNCj4gdGhlIG9y aWdpbmFsbHkgY29uc2VjdXRpdmUgdmFsdWVzIHdpdGggdGhlIFRQTTIgYml0IHZhbHVlcywNCj4g DQo+IFNvIHdoYXQgSSB0aG91Z2h0IHdhcyBsb2dpY2FsIGhhZCBhY3R1YWxseSBleGlzdGVkIGlu IHRoZSBwYXN0LCBidXQgdGhlbg0KPiBpdCBnb3QgcmVwbGFjZWQgd2l0aCB0aGUgY3VycmVudCAi Yml0bWFzay1zdWdnZXN0aW5nIiB2YWx1ZXMsIGZvciBidWcgMjUxMS4NCj4gDQo+IA0KPiBJbiB0 aGUgZW5kIEkgdGhpbmsgSSBzaG91bGQgZHJvcCB0aGlzIGh1bmsgZnJvbSB0aGUgIlJlYWRtZS5t ZCIgcGF0Y2g7DQo+IGhvd2V2ZXIsIHdoaWxlIHRlY2huaWNhbGx5IGNvcnJlY3QsIHRoZSBERUMg ZmlsZSByZW1haW5zIGNvbmZ1c2luZy4gVGhlDQo+IHZhbHVlcyBzZWVtIHRvIGJlIGFsaWduZWQg d2l0aCB0aGUgVFBNMiBzcGVjIGp1c3QgZm9yIHNpbXBsaWNpdHkncyBzYWtlLA0KPiBhbmQgdGhh dCdzIGZpbmUsIGJ1dCBpdCBzaG91bGQgYmUgZG9jdW1lbnRlZC4gSUlVQyB0aGUgVFBNMiBzcGVj IGRvZXMNCj4gYWN0dWFsbHkgcmVseSBvbiB0aGVzZSB2YWx1ZXMgYmVpbmcgb3JnYW5pemVkIGlu dG8gYSBiaXRtYXAsIGJ1dCB0aGF0J3MNCj4gc29tZXRoaW5nIHRoYXQgSGFzaEFwaUxpYiBkb2Vz IG5vdCB1dGlsaXplLiBJIHRoaW5rIHRoaXMgc2hvdWxkIGJlDQo+IGVtcGhhc2l6ZWQgaW4gdGhl IERFQyBmaWxlIChpLmUuIHRoYXQgdGhlIGxpYnJhcnkgaW50ZXJmYWNlIHBlcm1pdHMgYQ0KPiBz aW5nbGUgaGFzaCBhbGdvIG9ubHkpLg0KPiANCj4gV2UgYWxzbyBoYXZlOg0KPiANCj4gPiBAUHJv bXB0IFNldCBwb2xpY3kgZm9yIGhhc2hpbmcgdW5zaWduZWQgaW1hZ2UgZm9yIFNlY3VyZSBCb290 Lg0KPiANCj4gd2hpY2ggSSB0aGluayBpcyB0b28gcmVzdHJpY3RpdmU7IHN1cmVseSB0aGVyZSBh cmUgdXNlcyBmb3IgSGFzaEFwaUxpYg0KPiBvdGhlciB0aGFuIFNlY3VyZUJvb3QuIFRoaXMgdmVy eSAiUmVhZG1lLm1kIiBmaWxlIGRpc2N1c3NlcyBIYXNoQXBpTGliDQo+IGluIHRoZSBTRUMgYW5k IFBFSSBwaGFzZXMsIGFuZCBTZWN1cmUgQm9vdCBpcyBub3QgZGVmaW5lZCBpbiB0aG9zZSBwaGFz ZXMuDQo+IA0KPiBJJ20gaGFwcHkgdG8gdXBkYXRlIHRoaXMgcGF0Y2ggZm9yIFJlYWRtZS5tZCAo bm90ZTogdGhlcmUncyBzdGlsbCBhIHR5cG8NCj4gdG8gZml4IGluIHRoaXMgY29udGV4dDogInRv IHRvIHVzZSIpOyBJJ2QgcmF0aGVyIGxlYXZlIHRoZQ0KPiAiQ3J5cHRvUGtnLmRlYyIgdXBkYXRl IHRvIHNvbWVvbmUgZWxzZSA6KSAoTW9zdCBsaWtlbHkgQW1vbCAtLSBDQydkLikNCj4gDQo+IFRo YW5rcywNCj4gTGFzemxvDQo+IA0KPiANCj4gPg0KPiA+DQo+ID4NCj4gPj4gICAgZGVmYXVsdCBo YXNoaW5nIGFsZ29yaXRobSBmb3IgQmFzZUhhc2hBcGlMaWIgaXMgc2V0IHRvIEhBU0hfQUxHX1NI QTI1Ni4NCj4gPj4gICAgfCAgU2V0dGluZyAgIHwgICAgQWxnb3JpdGhtICAgICB8DQo+ID4+ICAg IHwtLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tfA0KPiA+PiBAQCAtNDA3LDggKzQwNyw4 IEBAIGFuZCBDcnlwdG9TbW0gbW9kdWxlcy4NCj4gPj4gICogYGdFZmlDcnlwdG9Qa2dUb2tlblNw YWNlR3VpZC5QY2RDcnlwdG9TZXJ2aWNlRmFtaWx5RW5hYmxlYCAtIEVuYWJsZS9EaXNhYmxlDQo+ ID4+ICAgICB0aGUgZmFtaWxpZXMgYW5kIGluZGl2aWR1YWwgc2VydmljZXMgcHJvZHVjZWQgYnkg dGhlIEVESyBJSSBDcnlwdG8NCj4gPj4gICAgIFByb3RvY29scy9QUElzLiBUaGUgZGVmYXVsdCBp cyBhbGwgc2VydmljZXMgZGlzYWJsZWQuIFRoaXMgU3RydWN0dXJlZCBQQ0QgaXMNCj4gPj4gLSAg IGFzc29jaWF0ZWQgd2l0aCBgUENEX0NSWVBUT19TRVJWSUNFX0ZBTUlMWV9FTkFCTEVgIHN0cnVj dHVyZSB0aGF0IGRlZmluZWQgaW4NCj4gPj4gLSAgIGBJbmNsdWRlL1BjZC9QY2RDcnlwdG9TZXJ2 aWNlRmFtaWx5RW5hYmxlLmhgLg0KPiA+PiArICAgYXNzb2NpYXRlZCB3aXRoIHRoZSBgUENEX0NS WVBUT19TRVJWSUNFX0ZBTUlMWV9FTkFCTEVgIHN0cnVjdHVyZSB0aGF0IGlzDQo+ID4+ICsgICBk ZWZpbmVkIGluIGBJbmNsdWRlL1BjZC9QY2RDcnlwdG9TZXJ2aWNlRmFtaWx5RW5hYmxlLmhgLg0K PiA+Pg0KPiA+PiAgICAgVGhlcmUgYXJlIHRocmVlIGxheWVycyBvZiBwcmlvcml0eSB0aGF0IGRl dGVybWluZSBpZiBhIHNwZWNpZmljIGZhbWlseSBvcg0KPiA+PiAgICAgaW5kaXZpZHVhbCBjcnlw dG9ncmFwaGljIHNlcnZpY2UgaXMgYWN0dWFsbHkgZW5hYmxlZCBpbiB0aGUgQ3J5cHRvUGVpLA0K PiA+PiBAQCAtNDIwLDE1ICs0MjAsMTUgQEAgYW5kIENyeXB0b1NtbSBtb2R1bGVzLg0KPiA+PiAg ICAgICAgT3BlbnNzbExpYiBpbnN0YW5jZSBsaW5rZWQsIHRoZW4gdGhlIHNlcnZpY2UgaXMgYWx3 YXlzIGRpc2FibGVkLg0KPiA+PiAgICAgMikgQmFzZUNyeXB0TGliIGluc3RhbmNlIHNlbGVjdGlv bi4NCj4gPj4gICAgICAgICogQ3J5cHRvUGVpIGlzIGFsd2F5cyBsaW5rZWQgd2l0aCB0aGUgUGVp Q3J5cHRMaWIgaW5zdGFuY2Ugb2YgdGhlDQo+ID4+IC0gICAgICAgIEJhc2VDcnlwdExpYiBsaWJy YXJ5IGNsYXNzLiBUaGUgdGFibGUgYWJvdmUgaGF2ZSBhIGNvbHVtbiBmb3IgdGhlDQo+ID4+ICsg ICAgICAgIEJhc2VDcnlwdExpYiBsaWJyYXJ5IGNsYXNzLiBUaGUgdGFibGUgYWJvdmUgaGFzIGEg Y29sdW1uIGZvciB0aGUNCj4gPj4gICAgICAgICAgUGVpQ3J5cHRMaWIuIElmIHRoZSBmYW1pbHkg b3Igc2VydmljZSBpcyBibGFuaywgdGhlbiB0aGF0IGZhbWlseSBvcg0KPiA+PiAgICAgICAgICBz ZXJ2aWNlIGlzIGFsd2F5cyBkaXNhYmxlZC4NCj4gPj4gICAgICAgICogQ3J5cHRvRHhlIGlzIGFs d2F5cyBsaW5rZWQgd2l0aCB0aGUgQmFzZUNyeXB0TGliIGluc3RhbmNlIG9mIHRoZQ0KPiA+PiAt ICAgICAgICBCYXNlQ3J5cHRMaWIgbGlicmFyeSBjbGFzcy4gVGhlIHRhYmxlIGFib3ZlIGhhdmUg YSBjb2x1bW4gZm9yIHRoZQ0KPiA+PiArICAgICAgICBCYXNlQ3J5cHRMaWIgbGlicmFyeSBjbGFz cy4gVGhlIHRhYmxlIGFib3ZlIGhhcyBhIGNvbHVtbiBmb3IgdGhlDQo+ID4+ICAgICAgICAgIEJh c2VDcnlwdExpYi4gSWYgdGhlIGZhbWlseSBvciBzZXJ2aWNlIGlzIGJsYW5rLCB0aGVuIHRoYXQg ZmFtaWx5IG9yDQo+ID4+ICAgICAgICAgIHNlcnZpY2UgaXMgYWx3YXlzIGRpc2FibGVkLg0KPiA+ PiAgICAgICAgKiBDcnlwdG9TbW0gaXMgYWx3YXlzIGxpbmtlZCB3aXRoIHRoZSBTbW1DcnlwdExp YiBpbnN0YW5jZSBvZiB0aGUNCj4gPj4gLSAgICAgICAgQmFzZUNyeXB0TGliIGxpYnJhcnkgY2xh c3MuIFRoZSB0YWJsZSBhYm92ZSBoYXZlIGEgY29sdW1uIGZvciB0aGUNCj4gPj4gKyAgICAgICAg QmFzZUNyeXB0TGliIGxpYnJhcnkgY2xhc3MuIFRoZSB0YWJsZSBhYm92ZSBoYXMgYSBjb2x1bW4g Zm9yIHRoZQ0KPiA+PiAgICAgICAgICBTbW1DcnlwdExpYi4gSWYgdGhlIGZhbWlseSBvciBzZXJ2 aWNlIGlzIGJsYW5rLCB0aGVuIHRoYXQgZmFtaWx5IG9yDQo+ID4+ICAgICAgICAgIHNlcnZpY2Ug aXMgYWx3YXlzIGRpc2FibGVkLg0KPiA+PiAgICAgMykgSWYgYSBmYW1pbHkgb3Igc2VydmljZSBp cyBlbmFibGVkIGluIHRoZSBPcGVuc3NsTGliIGluc3RhbmNlIGFuZCBpdCBpcw0KPiA+PiBAQCAt NDM4LDExICs0MzgsMTEgQEAgYW5kIENyeXB0b1NtbSBtb2R1bGVzLg0KPiA+PiAgICAgICAgYml0 IGZpZWxkcyBmb3IgZWFjaCBmYW1pbHkgb2Ygc2VydmljZXMuIEFsbCBvZiB0aGUgZmFtaWxpZXMg YXJlIGRpc2FibGVkDQo+ID4+ICAgICAgICBieSBkZWZhdWx0LiBBbiBlbnRpcmUgZmFtaWx5IG9m IHNlcnZpY2VzIGNhbiBiZSBlbmFibGVkIGJ5IHNldHRpbmcgdGhlDQo+ID4+ICAgICAgICBmYW1p bHkgZmllbGQgdG8gdGhlIHZhbHVlIGBQQ0RfQ1JZUFRPX1NFUlZJQ0VfRU5BQkxFX0ZBTUlMWWAu IEluZGl2aWR1YWwNCj4gPj4gLSAgICAgIHNlcnZpY2VzIGNhbiBiZSBlbmFibGVkIGJ5IHNldHRp bmcgYSBzaW5nbGUgc2VydmljZSBuYW1lIHRvIGBUUlVFYC4NCj4gPj4gLSAgICAgIFNldHRpbmdz IGxpc3RlZCBsYXRlciBpbiB0aGUgRFNDIGZpbGUgaGF2ZSBwcmlvcml0eSBvdmVyIHNldHRpbmdz IGVhcmxpZXINCj4gPj4gLSAgICAgIGluIHRoZSBEU0MgZmlsZSwgc28gaXQgaXMgbGVnYWwgZm9y IGFuIGVudGlyZSBmYW1pbHkgdG8gYmUgZW5hYmxlZCBmaXJzdA0KPiA+PiAtICAgICAgYW5kIHRo ZW4gYSBmZXcgaW5kaXZpZHVhbCBzZXJ2aWNlcyBkaXNhYmxlZCBieSBzZXR0aW5nIHRoZSBzZXJ2 aWNlIG5hbWUgdG8NCj4gPj4gLSAgICAgIGBGQUxTRWAuDQo+ID4+ICsgICAgICBzZXJ2aWNlcyBj YW4gYmUgZW5hYmxlZCBieSBzZXR0aW5nIGEgc2luZ2xlIHNlcnZpY2UgbmFtZSAoYml0KSB0byBg VFJVRWAuDQo+ID4+ICsgICAgICBTZXR0aW5ncyBsaXN0ZWQgbGF0ZXIgaW4gdGhlIERTQyBmaWxl IGhhdmUgcHJpb3JpdHkgb3ZlciBzZXR0aW5ncyBsaXN0ZWQNCj4gPj4gKyAgICAgIGVhcmxpZXIg aW4gdGhlIERTQyBmaWxlLCBzbyBpdCBpcyB2YWxpZCBmb3IgYW4gZW50aXJlIGZhbWlseSB0byBi ZSBlbmFibGVkDQo+ID4+ICsgICAgICBmaXJzdCBhbmQgdGhlbiBmb3IgYSBmZXcgaW5kaXZpZHVh bCBzZXJ2aWNlcyB0byBiZSBkaXNhYmxlZCBieSBzZXR0aW5nDQo+ID4+ICsgICAgICB0aG9zZSBz ZXJ2aWNlIG5hbWVzIHRvIGBGQUxTRWAuDQo+ID4+DQo+ID4+ICAjIyMjIENvbW1vbiBQRUkgUGNk Q3J5cHRvU2VydmljZUZhbWlseUVuYWJsZSBTZXR0aW5ncw0KPiA+Pg0KPiANCj4gDQo+IA0KPiAN Cj4gDQoNCg==