From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mx.groups.io with SMTP id smtpd.web11.9798.1603156001933255154 for ; Mon, 19 Oct 2020 18:06:42 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=uxmiYa11; spf=pass (domain: intel.com, ip: 134.134.136.65, mailfrom: zhichao.gao@intel.com) IronPort-SDR: UjJ9AIlY1wBpcu8NUrLyazbp3Su3GY0QVGY3ARLWjENXww0HCx/dlIyqCcYZDaKJhA8SuJiT69 oZepHLRyQh7Q== X-IronPort-AV: E=McAfee;i="6000,8403,9779"; a="167219679" X-IronPort-AV: E=Sophos;i="5.77,395,1596524400"; d="scan'208";a="167219679" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Oct 2020 18:06:39 -0700 IronPort-SDR: ROz9bxsH5XGsyK4MEQmYeiG1WlwkSoS4fJN6Ht02ONX9S2rm+mhls2kFn1zLCOGR4lQA/Ej4Gd N545pILDrgTg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,395,1596524400"; d="scan'208";a="353164014" Received: from fmsmsx605.amr.corp.intel.com ([10.18.126.85]) by fmsmga002.fm.intel.com with ESMTP; 19 Oct 2020 18:06:39 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx605.amr.corp.intel.com (10.18.126.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 19 Oct 2020 18:06:39 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 19 Oct 2020 18:06:38 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Mon, 19 Oct 2020 18:06:38 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.175) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Mon, 19 Oct 2020 18:06:37 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WR4MjyyFDmfUTBUUzLXW51cnCNg0z3wG9OVMocaSFi05YrPNSbcVw2ZWOYLVBragX3Fi2D5KuJlgJiksC7qf/hMyxKoYGTWL62cdlpgc0fYkzZZJFwPS4WtiiQcaFwLbUW2+7LFAvMk8QDnodq8zn3FBz67tAlB0ofP6TL1YN9RZvMx0yt28LmxqYyG8TXiMdgoaWlqpdsIrjBAZU6avT4PreemrrQkPvuWYSJMfDl+Qw0rx08Csst/7hroTGrQeq/Emocph88wR4hO6fC7E0pkY4LWfNhOtf86HVu7K2FbJYqUGRo+pExWVAlN9fPC8U7Yna4zVXXOQLy+yjdrxeg== 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=9svfEHkVUN5Yh2UgIPqRtUVCAx+yu8BNM7TNOL3DLJg=; b=j8ywQ3i6999Qzc/tdXwe5P07KokCxS7ZuYu9g7JStfNQpjeZ82JPwAW23ZS5ptw+23nw7IMWV4Qhz/FpPMAH5VbGpgq0eNKSE4r76GH8ezTVcYrb4JnQ2tAa8aYiFotfC6Xza+U6udFFnR+CARcPZvcoSQUQEUY9ROke3mXDiT/ngj+3L6Qj52C/u75qo0yspWKZyfIMFb17bSigsiHOa+cqfwjrbPNIhsi5WQeF74tJh+Z1yyuhqbYJSKWLq8W4izUOS214/1RNc0AHD8lX6R2dO325Mb7OFbeVNnXMQTPRjEk2DwFtgfcx7UqRK1s1vYSs52J1Q4RXScpypwrCJA== 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=9svfEHkVUN5Yh2UgIPqRtUVCAx+yu8BNM7TNOL3DLJg=; b=uxmiYa11R2uAUzG4shY7RMMuYEdXWPK+R/a8hemsMU2TqHMs7MwbOSREktRYnBFODh3Z0gh1DNhvEiIEUGw23YExI3JoclF33MgLEYFttL5D/n1wwCTIN1PFGhox6ewY+e54vY9vdw6nCt5BmfHJjLKYO13zLhiDj96IQZ8lDqU= Received: from MWHPR11MB1647.namprd11.prod.outlook.com (2603:10b6:301:d::12) by MWHPR11MB0013.namprd11.prod.outlook.com (2603:10b6:301:67::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3477.23; Tue, 20 Oct 2020 01:06:36 +0000 Received: from MWHPR11MB1647.namprd11.prod.outlook.com ([fe80::b96a:621b:54b6:c8ea]) by MWHPR11MB1647.namprd11.prod.outlook.com ([fe80::b96a:621b:54b6:c8ea%8]) with mapi id 15.20.3477.028; Tue, 20 Oct 2020 01:06:36 +0000 From: "Gao, Zhichao" To: "devel@edk2.groups.io" , "lersek@redhat.com" , "Ni, Ray" , "glin@suse.com" CC: "Wu, Hao A" Subject: Re: [edk2-devel] [PATCH] MdeModulePkg/PartitionDxe: Revert the child handler blocksize change Thread-Topic: [edk2-devel] [PATCH] MdeModulePkg/PartitionDxe: Revert the child handler blocksize change Thread-Index: AQHWotxvCXf9EMfMvUaKOPLqN2LlJamZyTOAgARzt0CAADZygIAAO+7ggAA+FYCAAMbXEA== Date: Tue, 20 Oct 2020 01:06:36 +0000 Message-ID: References: <20201012072230.46152-1-zhichao.gao@intel.com> <4f20aa01-793a-8477-53c1-56a5899caa14@redhat.com> <20201016064205.GI19552@GaryWorkstation> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.102.204.37] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 057732d7-8ece-4093-0b86-08d87494647b x-ms-traffictypediagnostic: MWHPR11MB0013: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: HLy+fTeSV56GnDKARcD6tY1hiFpFILZOgFsb6d/XJ8mrhVyGSkM8iATlAVtr+n/2EiKcyFBfloL6w+o1h4Cg64Czwa3OKbtngLugWfoYvX2SXZSS9u2IF3IuiF0GYrDQdCEMFPcpeIuhw2JUol0Pm5V1jsGelny7TqJcz0NGjfdDwc3TSKW17rhnM7OlKv2Zan05icYckMr+OEEbj/fBDcSNFrEjNjVrS8QtosOVw82jm80/3+r7GER3lh9qIUfTdG+tYnstQ+OiXRAEYycdLbQY4svS1+Bv9pFiB0oOsk3qOW8iFRrTmwrXrh+yGia7rwDVapO5l3SOqoVuHXOA2P01F0Dn6xdh6waD8X42cpfErfmTnNhpZsBqDaC8JiQ21z4zNFAihhAlAP0DKZeapQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR11MB1647.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(39860400002)(346002)(376002)(136003)(396003)(366004)(107886003)(66446008)(64756008)(76116006)(9686003)(2906002)(966005)(66556008)(8936002)(478600001)(110136005)(30864003)(66476007)(316002)(52536014)(5660300002)(66946007)(83380400001)(26005)(55016002)(53546011)(6506007)(86362001)(186003)(71200400001)(33656002)(4326008)(8676002)(7696005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: k6I2HAm0AhDmaTaAwGWFKlGZVyrwZzaxMGqbx3iGGbJAvotM0//x9p7n4yevMS16xE6WS7xgU0As7zgTmSDHkMFXJfacSnqhVl/FEyjjFqDzBRa4fWbURmCdAIxgu0IxgZDmNxu8W0BqupXiIS7grd95vKKPiAWGwfpIa6HYeAI1M//TI66mOqIvT/dXJkpoqBnqiMCFEz2SLMaR94Xvp4I/r11I8bsxtphmPRvfjG37G5MpxjUD/WBioierBqhhcgLDzDQAOP/wWmYrL+fB/1H1orIF22omS6+K/ZVClMnhI1/gf+ysiswHBboFCybU9IOZnR8oyvJH2b1fUsLxjbOCXu+ig5EpDJhd2lVMk5BgwE/ii7Nk0y5KrTlG+FO1doHzZuOYs8luZ5nOBTdbOIYGTEAsrnL5uCPd2EHP3tjagQ80Zddx02YulM//ZuDUmRzKSWAd0UsF2h3SKbeTwBMk3Dwy0CZypOuphCcWQA33Fe+Iu5EwW3NNugI7KSgX+Xtf7eXSOjuC7JMsDPxihHGq1ieNZ/35/qret1owFMhJT31sEBvfJyA52eBnIJBLpOIjrfkn8nu3FKPdQH7xhh/9lv8uiKZ9vQroj7rHzL0Qefqh/LmQWbkXku5uEpj1KD3O569ylj1qzYIK4Jmg/Q== MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MWHPR11MB1647.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 057732d7-8ece-4093-0b86-08d87494647b X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Oct 2020 01:06:36.0773 (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: Jf/gn3GLaunblb18Xzn6JnjzoqOgyRioY0Mh/HnVyK+2nYtfCgfki0beqO8hXJU3KO3JJV/EWIrXp4CFL0ZoWQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR11MB0013 Return-Path: zhichao.gao@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhhbmtzLCBMYXN6bG8uIEl0IGhlbHBzIGEgbG90IGFuZCBnaXZlcyBhIG5pY2UgZ3VpZGUgZm9y IHJldmVydC4NCg0KVGhhbmtzLA0KWmhpY2hhbw0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0t LS0tDQo+IEZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4g T24gQmVoYWxmIE9mIExhc3psbyBFcnNlaw0KPiBTZW50OiBNb25kYXksIE9jdG9iZXIgMTksIDIw MjAgOToxMyBQTQ0KPiBUbzogR2FvLCBaaGljaGFvIDx6aGljaGFvLmdhb0BpbnRlbC5jb20+OyBO aSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPjsNCj4gZGV2ZWxAZWRrMi5ncm91cHMuaW87IGdsaW5A c3VzZS5jb20NCj4gQ2M6IFd1LCBIYW8gQSA8aGFvLmEud3VAaW50ZWwuY29tPg0KPiBTdWJqZWN0 OiBSZTogW2VkazItZGV2ZWxdIFtQQVRDSF0gTWRlTW9kdWxlUGtnL1BhcnRpdGlvbkR4ZTogUmV2 ZXJ0IHRoZSBjaGlsZA0KPiBoYW5kbGVyIGJsb2Nrc2l6ZSBjaGFuZ2UNCj4gDQo+IE9uIDEwLzE5 LzIwIDExOjM1LCBHYW8sIFpoaWNoYW8gd3JvdGU6DQo+ID4gWWVzLiBCdXQgSSBuZWVkIHRvIGNv bmZpcm0gdGhlIGNvbW1lbnQgIzMuIFRoZSBkaXJlY3RseSByZXZlcnQgd291bGQNCj4gPiBtYWtl IHRoZSB0aXRsZSBvZiB0aGUgY29tbWl0IG1lc3NhZ2UgbGFyZ2VyIHdoaWNoIG1heSBiZSBsYXJn ZXIgdGhhbg0KPiA+IDcyIGNoYXJzLiBUaGF0IGlzIGFub3RoZXIgcmVhc29uIEkgZGlkbid0IHVz ZSByZXZlcnQgZGlyZWN0bHkuDQo+IA0KPiBJZiB0aGUgZGVzaXJlZCBhY3Rpb24gaXMgdG8gdW5k byAocm9sbCBiYWNrIC8gcmV2ZXJ0KSBhIHNwZWNpZmljIGVhcmxpZXIgY29tbWl0LCB0aGVuDQo+ IGdpdC1yZXZlcnQgaXMgYWx3YXlzIHRoZSByaWdodCB0b29sIHRvICpzdGFydCB3aXRoKi4gVGhl biBnaXQtcmV2ZXJ0IGVpdGhlciB3b3Jrcywgb3INCj4gaXQgZG9lc24ndDoNCj4gDQo+IC0gaWYg Z2l0LXJldmVydCBjb21wbGV0ZXMgYXQgb25jZSwgY29kZS13aXNlLCB0aGVuIHRoZSBjb21taXQg bWVzc2FnZSBpcw0KPiAgIHN1cHBvc2VkIHRvIGJlIGVkaXRlZCBtYW51YWxseSwgaW4gZXZlcnkg Y2FzZS4gVGhlIGNvbW1pdCBtZXNzYWdlDQo+ICAgcHJlcGFyZWQgYnkgZ2l0LXJldmVydCBpcyBq dXN0IGEgdGVtcGxhdGUuIFdoYXQncyBpbXBvcnRhbnQgaXMgdGhhdA0KPiAgIHRoZSBzdWJqZWN0 IG9mIHRoZSByZXZlcnQgcGF0Y2ggY2xlYXJseSByZWZsZWN0IChhKSB0aGUgc3ViamVjdCBvZiB0 aGUNCj4gICBvcmlnaW5hbCBwYXRjaCwgYW5kIChiKSB0aGUgZmFjdCB0aGF0IHdlJ3JlIHVuZG9p bmcgYW4gZWFybGllciBjb21taXQuDQo+ICAgQWRkaXRpb25hbGx5LCB0aGUgY29tbWl0IG1lc3Nh Z2UgYm9keSBzaG91bGQgY2xlYXJseSBpZGVudGlmeSB0aGUNCj4gICBjb21taXQgaGFzaCBvZiB0 aGUgcGF0Y2ggYmVpbmcgcm9sbGVkIGJhY2suIEJleW9uZCB0aGF0LCB0aGUgYXV0aG9yIG9mDQo+ ICAgdGhlIHJldmVydCBwYXRjaCBpcyB3ZWxjb21lIHRvIGV4dGVuZCB0aGUgY29tbWl0IG1lc3Nh Z2Ugd2l0aCBhcyBtYW55DQo+ICAgZGV0YWlscyBhcyBuZWNlc3NhcnkuDQo+IA0KPiAtIGdpdC1y ZXZlcnQgbWlnaHQgZmluZCB0aGF0LCBkdWUgdG8gY2hhbmdlcyBjb21taXR0ZWQgaW4gdGhlIG1l YW50aW1lLA0KPiAgIGl0IGNhbm5vdCBqdXN0IHVuZG8gdGhlIG9yaWdpbmFsIGNvbW1pdCAoaS5l LiwgdGhlIGludmVyc2UgZGlmZg0KPiAgIGRvZXNuJ3QgYXBwbHkgY2xlYW5seSwgYW5kIGNhbm5v dCBiZSBmaXhlZCB1cCBhdXRvbWF0aWNhbGx5KS4gSW4gdGhhdA0KPiAgIGNhc2UsIG1hbnVhbCBj b2RlIGVkaXRpbmcgaXMgbmVjZXNzYXJ5LiBUaGlzIGNhbiBtZWFuIGEgc3VjY2Vzc2Z1bA0KPiAg IG1hbnVhbCBjb25mbGljdCByZXNvbHV0aW9uOyBhZnRlciB3aWNoIGdpdC1yZXZlcnQgY291bnRz IGFzDQo+ICAgInN1Y2Nlc3NmdWwiLCBzbyBzZWUgdGhlIHByZXZpb3VzIHBhcmFncmFwaC4NCj4g DQo+IC0gRmFpbHVyZSBvZiBnaXQtcmV2ZXJ0IGNhbiBhbHNvIG5lY2Vzc2l0YXRlIGVudGlyZWx5 IG5ldywgbWFudWFsDQo+ICAgY29kaW5nLCBmb3Igcm9sbGluZyBiYWNrIHRoZSBvcmlnaW5hbCBw YXRjaC4gU2VtYW50aWNhbGx5LCB0aGUNCj4gICBzaXR1YXRpb24gc3RheXMgdGhlIHNhbWUsIHRo dXMgdGhlIHNhbWUgaW5mb3JtYXRpb24gYXMgaW4gdGhlIHByZXZpb3VzDQo+ICAgYnVsbGV0cyBz aG91bGQgYmUgaW5jbHVkZWQgaW4gdGhlIGNvbW1pdCBtZXNzYWdlLiBUaGUgZm9ybWFsDQo+ICAg cmVxdWlyZW1lbnRzIGFyZSBhIGJpdCBsb29zZXIsIGJlY2F1c2UgZ2l0LXJldmVydCBuZXZlciBj b21wbGV0ZWQsIGFuZA0KPiAgIHNvIGl0IGRpZG4ndCBnaXZlIHVzIGEgY29tbWl0IG1lc3NhZ2Ug dGVtcGxhdGUgdG8gZXh0ZW5kLiBJdCdzIHN0aWxsDQo+ICAgcHJlZmVycmVkIHRvIHNheSBzb21l dGhpbmcgbGlrZSAiVW5kbyAnPG9yaWdpbmFsIHN1YmplY3Q+JyIgaW4gdGhlDQo+ICAgc3ViamVj dCBsaW5lLCBhbmQgdG8gaW5jbHVkZSB0aGUgb3JpZ2luYWwgY29tbWl0IGhhc2ggaW4gdGhlIGNv bW1pdA0KPiAgIG1lc3NhZ2UgYm9keS4NCj4gDQo+IElmIGdpdC1yZXZlcnQgY29tcGxldGVzLCBi dXQgcHJvcG9zZXMgYW4gb3Zlcmxvbmcgc3ViamVjdCAoYWNjb3JkaW5nIHRvDQo+IFBhdGNoQ2hl Y2sucHkpLCB0aGVuIHBlcnNvbmFsbHkgSSBwcmVmZXIgdHJ1bmNhdGluZyB0aGUgb3JpZ2luYWws IHF1b3RlZCBzdWJqZWN0LA0KPiB3aXRoIGFuIGVsbGlwc2lzICguLi4pLg0KPiANCj4gSW4gdGhp cyBwYXJ0aWN1bGFyIGNhc2UsICJnaXQgcmV2ZXJ0IGUwZWFjZDdkYWE2ZiIgc2VlbXMgdG8gd29y ayB3aXRob3V0IG1hbnVhbA0KPiBjb2RlIGVkaXRpbmcuIFRoZSBzdWJqZWN0IGxpbmUgaXQgY3Jl YXRlcyBpcyAzIGNoYXJhY3RlcnMgdG9vIGxvbmcuIEVkaXRpbmcgdGhhdCB0bw0KPiB0aGUgZm9s bG93aW5nIHZhcmlhbnQ6DQo+IA0KPiAgIFJldmVydCAiTWRlTW9kdWxlUGtnL1BhcnRpdGlvbkR4 ZTogRml4IHRoZSBpbmNvcnJlY3QgTEJBIHNpemUgaW4gY2hpbGQgLi4uIg0KPiANCj4gd29ya3Mg T0suDQo+IA0KPiBTdW1tYXJ5Og0KPiANCj4gKDEpIGFsd2F5cyBzdGFydCB3aXRoIGdpdC1yZXZl cnQgcGxlYXNlLA0KPiANCj4gKDIpIHRyeSB0byBzdGljayB3aXRoIHRoZSBzdWJqZWN0IHBhdHRl cm4gdGhhdCBnaXQtcmV2ZXJ0IGNyZWF0ZXM7DQo+ICAgICB0cnVuY2F0ZSBhcyBuZWVkZWQsDQo+ IA0KPiAoMykgKmFsd2F5cyogbmFtZSB0aGUgY29tbWl0IGJlaW5nIHJldmVydGVkIGJ5IGNvbW1p dCBoYXNoLCBpbiB0aGUgbmV3DQo+ICAgICBjb21taXQgbWVzc2FnZSBib2R5LA0KPiANCj4gKDQp IGFwcGVuZCBhcyBtdWNoIGluZm9ybWF0aW9uIGFzIHlvdSBzZWUgZml0LCB0byB0aGUgY29tbWl0 IG1lc3NhZ2UNCj4gICAgIGJvZHkuDQo+IA0KPiBUaGFua3MNCj4gTGFzemxvDQo+IA0KPiA+DQo+ ID4gVGhhbmtzLA0KPiA+IFpoaWNoYW8NCj4gPg0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2Ut LS0tLQ0KPiA+PiBGcm9tOiBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPg0KPiA+PiBTZW50OiBN b25kYXksIE9jdG9iZXIgMTksIDIwMjAgMTo1NiBQTQ0KPiA+PiBUbzogR2FvLCBaaGljaGFvIDx6 aGljaGFvLmdhb0BpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsNCj4gPj4gZ2xpbkBz dXNlLmNvbTsgTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT4NCj4gPj4gQ2M6IFd1LCBI YW8gQSA8aGFvLmEud3VAaW50ZWwuY29tPg0KPiA+PiBTdWJqZWN0OiBSRTogW2VkazItZGV2ZWxd IFtQQVRDSF0gTWRlTW9kdWxlUGtnL1BhcnRpdGlvbkR4ZTogUmV2ZXJ0DQo+ID4+IHRoZSBjaGls ZCBoYW5kbGVyIGJsb2Nrc2l6ZSBjaGFuZ2UNCj4gPj4NCj4gPj4gWmhpY2hhbywNCj4gPj4gQ2Fu IHlvdSBwbGVhc2UgdXBkYXRlIHRoZSBjb21taXQgbWVzc2FnZSB0byBhZGRyZXNzIExhc3psbydz IGNvbW1lbnRzPw0KPiA+Pg0KPiA+PiBUaGFua3MsDQo+ID4+IFJheQ0KPiA+Pg0KPiA+Pj4gLS0t LS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4+IEZyb206IEdhbywgWmhpY2hhbyA8emhpY2hh by5nYW9AaW50ZWwuY29tPg0KPiA+Pj4gU2VudDogTW9uZGF5LCBPY3RvYmVyIDE5LCAyMDIwIDEw OjQ2IEFNDQo+ID4+PiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IGdsaW5Ac3VzZS5jb207IExh c3psbyBFcnNlaw0KPiA+Pj4gPGxlcnNla0ByZWRoYXQuY29tPg0KPiA+Pj4gQ2M6IE5pLCBSYXkg PHJheS5uaUBpbnRlbC5jb20+OyBXdSwgSGFvIEEgPGhhby5hLnd1QGludGVsLmNvbT4NCj4gPj4+ IFN1YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF0gW1BBVENIXSBNZGVNb2R1bGVQa2cvUGFydGl0aW9u RHhlOiBSZXZlcnQNCj4gPj4+IHRoZSBjaGlsZCBoYW5kbGVyIGJsb2Nrc2l6ZSBjaGFuZ2UNCj4g Pj4+DQo+ID4+PiBUaGFua3MgR2FyeSBmb3IgeW91ciB0ZXN0LiBJIGhhdmUgZ2l2ZSBteSBjb21t ZW50cyBiYXNlIG9uIExhc3psbydzDQo+ID4+PiByZXBseS4gSSBkb24ndCB0aGluayB0aGUgcmVn cmVzc2lvbiB3b3VsZCBhZmZlY3QgTGludXggSVNPIGltYWdlDQo+ID4+PiBleGNlcHQgdGhlcmUg aXMgb25lIExpbnV4IGltYWdlIHdpdGggYm9vdCBjYXRhbG9nIG1lZGlhIHR5cGUgbm90DQo+ID4+ PiBOT19FTVVMQVRPUi4gQW55d2F5LCB0aGFua3MgZm9yIHlvdXIgdGVzdCBhbmQgeW91ciBxdWlj a2x5IHJlc3BvbnNlLg0KPiA+Pj4NCj4gPj4+IFRoYW5rcywNCj4gPj4+IFpoaWNoYW8NCj4gPj4+ DQo+ID4+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4+PiBGcm9tOiBkZXZlbEBl ZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9uIEJlaGFsZiBPZiBHYXJ5DQo+ ID4+Pj4gTGluDQo+ID4+Pj4gU2VudDogRnJpZGF5LCBPY3RvYmVyIDE2LCAyMDIwIDI6NDIgUE0N Cj4gPj4+PiBUbzogTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT4NCj4gPj4+PiBDYzog R2FvLCBaaGljaGFvIDx6aGljaGFvLmdhb0BpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5p bzsgTmksDQo+ID4+Pj4gUmF5IDxyYXkubmlAaW50ZWwuY29tPjsgV3UsIEhhbyBBIDxoYW8uYS53 dUBpbnRlbC5jb20+DQo+ID4+Pj4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbUEFUQ0hdIE1k ZU1vZHVsZVBrZy9QYXJ0aXRpb25EeGU6IFJldmVydA0KPiA+Pj4+IHRoZQ0KPiA+Pj4gY2hpbGQN Cj4gPj4+PiBoYW5kbGVyIGJsb2Nrc2l6ZSBjaGFuZ2UNCj4gPj4+Pg0KPiA+Pj4+IE9uIFRodSwg T2N0IDE1LCAyMDIwIGF0IDEyOjE3OjUwUE0gKzAyMDAsIExhc3psbyBFcnNlayB3cm90ZToNCj4g Pj4+Pj4gT24gMTAvMTIvMjAgMDk6MjIsIEdhbywgWmhpY2hhbyB3cm90ZToNCj4gPj4+Pj4+IFJF RjogaHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0yODQzDQo+ ID4+Pj4+Pg0KPiA+Pj4+Pj4gUmV2ZXJ0IHRoZSBwYXRjaCB0byBjaGFuZ2UgdGhlIGJsb2NrIHNp emUgaW4gY2hpbGQgaGFuZGxlci4gSXQNCj4gPj4+Pj4+IHdvdWxkIGJsb2NrIHRoZSBDRCAoRWx0 b3JpdG8pIEhhcmQgZGlzayBtZWRpYSB0eXBlJ3Mgc3ViDQo+ID4+Pj4+PiBwYXJ0aXRpb24gYmVp bmcgb2JzZXJ2ZWQuDQo+ID4+Pj4+PiBUaGUgYmxvY2tzaXplIHBhdGNoIHVzZWQgdG8gZml4IHRo ZSBDRCBpbWFnZSdzIE1CUiB0YWJsZSBpc3N1ZS4NCj4gPj4+Pj4+IFRoZSBDRCBNQlIgdGFibGUg d291bGQgYWx3YXlzIGJlIGlnbm9yZWQgYmVjYXVzZSBpdCB3b3VsZCBiZQ0KPiA+Pj4+Pj4gaGFu ZGxlZCBieSB0aGUgRWx0b3JpdG8gcGFydGl0aW9uIGhhbmRsZXIgZmlyc3QgYW5kIG5ldmVyIGdv IGludG8NCj4gPj4+Pj4+IHRoZSBNQlIgaGFuZGxlci4gU28gZGlyZWN0bHkgcmV2ZXJ0IGl0Lg0K PiA+Pj4+Pj4NCj4gPj4+Pj4+IENjOiBSYXkgTmkgPHJheS5uaUBpbnRlbC5jb20+DQo+ID4+Pj4+ PiBDYzogSGFvIEEgV3UgPGhhby5hLnd1QGludGVsLmNvbT4NCj4gPj4+Pj4+IFNpZ25lZC1vZmYt Ynk6IFpoaWNoYW8gR2FvIDx6aGljaGFvLmdhb0BpbnRlbC5jb20+DQo+ID4+Pj4+PiAtLS0NCj4g Pj4+Pj4+ICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0Rpc2svUGFydGl0aW9uRHhlL1BhcnRpdGlv bi5jIHwgMTINCj4gPj4+Pj4+ICsrKysrKysrKy0tLQ0KPiA+Pj4+Pj4gIDEgZmlsZSBjaGFuZ2Vk LCA5IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gZGlm ZiAtLWdpdA0KPiA+Pj4+Pj4gYS9NZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0Rpc2svUGFydGl0aW9u RHhlL1BhcnRpdGlvbi5jDQo+ID4+Pj4+PiBiL01kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvRGlzay9Q YXJ0aXRpb25EeGUvUGFydGl0aW9uLmMNCj4gPj4+Pj4+IGluZGV4IGYxMGNlN2M2NWIuLjQ3M2Uw OTEzMjAgMTAwNjQ0DQo+ID4+Pj4+PiAtLS0gYS9NZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0Rpc2sv UGFydGl0aW9uRHhlL1BhcnRpdGlvbi5jDQo+ID4+Pj4+PiArKysgYi9NZGVNb2R1bGVQa2cvVW5p dmVyc2FsL0Rpc2svUGFydGl0aW9uRHhlL1BhcnRpdGlvbi5jDQo+ID4+Pj4+PiBAQCAtMTE0OSw4 ICsxMTQ5LDggQEAgUGFydGl0aW9uSW5zdGFsbENoaWxkSGFuZGxlICgNCj4gPj4+Pj4+DQo+ID4+ Pj4+PiAgICBQcml2YXRlLT5TaWduYXR1cmUgICAgICAgID0gUEFSVElUSU9OX1BSSVZBVEVfREFU QV9TSUdOQVRVUkU7DQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gLSAgUHJpdmF0ZS0+U3RhcnQgICAgICAg ICAgICA9IE11bHRVNjR4MzIgKFN0YXJ0LCBCbG9ja1NpemUpOw0KPiA+Pj4+Pj4gLSAgUHJpdmF0 ZS0+RW5kICAgICAgICAgICAgICA9IE11bHRVNjR4MzIgKEVuZCArIDEsIEJsb2NrU2l6ZSk7DQo+ ID4+Pj4+PiArICBQcml2YXRlLT5TdGFydCAgICAgICAgICAgID0gTXVsdFU2NHgzMiAoU3RhcnQs IFBhcmVudEJsb2NrSW8tPk1lZGlhLQ0KPiA+Pj4+PiBCbG9ja1NpemUpOw0KPiA+Pj4+Pj4gKyAg UHJpdmF0ZS0+RW5kICAgICAgICAgICAgICA9IE11bHRVNjR4MzIgKEVuZCArIDEsIFBhcmVudEJs b2NrSW8tPk1lZGlhLQ0KPiA+Pj4+PiBCbG9ja1NpemUpOw0KPiA+Pj4+Pj4NCj4gPj4+Pj4+ICAg IFByaXZhdGUtPkJsb2NrU2l6ZSAgICAgICAgPSBCbG9ja1NpemU7DQo+ID4+Pj4+PiAgICBQcml2 YXRlLT5QYXJlbnRCbG9ja0lvICAgID0gUGFyZW50QmxvY2tJbzsNCj4gPj4+Pj4+IEBAIC0xMTg3 LDcgKzExODcsMTMgQEAgUGFydGl0aW9uSW5zdGFsbENoaWxkSGFuZGxlICgNCj4gPj4+Pj4+DQo+ ID4+Pj4+PiAgICBQcml2YXRlLT5NZWRpYS5Jb0FsaWduICAgPSAwOw0KPiA+Pj4+Pj4gICAgUHJp dmF0ZS0+TWVkaWEuTG9naWNhbFBhcnRpdGlvbiA9IFRSVUU7DQo+ID4+Pj4+PiAtICBQcml2YXRl LT5NZWRpYS5MYXN0QmxvY2sgPSBFbmQgLSBTdGFydDsNCj4gPj4+Pj4+ICsgIFByaXZhdGUtPk1l ZGlhLkxhc3RCbG9jayA9IERpdlU2NHgzMiAoDQo+ID4+Pj4+PiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIE11bHRVNjR4MzIgKA0KPiA+Pj4+Pj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEVuZCAtIFN0YXJ0ICsgMSwNCj4gPj4+Pj4+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBQYXJlbnRCbG9ja0lvLT5NZWRpYS0+QmxvY2tTaXplDQo+ID4+Pj4+ PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwNCj4gPj4+Pj4+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEJsb2NrU2l6ZQ0KPiA+Pj4+Pj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICApIC0gMTsNCj4gPj4+Pj4+DQo+ID4+Pj4+PiAgICBQcml2YXRl LT5NZWRpYS5CbG9ja1NpemUgPSAoVUlOVDMyKSBCbG9ja1NpemU7DQo+ID4+Pj4+Pg0KPiA+Pj4+ Pj4NCj4gPj4+Pj4NCj4gPj4+PiBIaSBMYXN6bG8sDQo+ID4+Pj4NCj4gPj4+Pj4gKDEpIEFkZGlu ZyBHYXJ5IExpbiB0byB0aGUgQ0MgbGlzdC4NCj4gPj4+Pj4NCj4gPj4+PiBUaGFua3MgZm9yIG5v dGljaW5nIG1lIDopDQo+ID4+Pj4NCj4gPj4+Pj4NCj4gPj4+Pj4gKDIpIEkgY2FuIHNlZSB0aGF0 IHRoZSBUaWFub0NvcmUgYnVnemlsbGEgdGlja2V0LCBuYW1lbHkNCj4gPj4+Pj4gPGh0dHBzOi8v YnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjg0Mz4sIGhhcyBiZWVuDQo+ ID4+IHJlb3BlbmVkLg0KPiA+Pj4+Pg0KPiA+Pj4+PiBUaGF0J3Mgd3JvbmcuDQo+ID4+Pj4+DQo+ ID4+Pj4+IFRpYW5vQ29yZSMyODQzIHdhcyBhYm91dCBjYWxjdWxhdGluZyB0aGUgc3RhcnRpbmcg YW5kIGVuZGluZyBMQkFzDQo+ID4+Pj4+IHdpdGggaW5jb3JyZWN0IGJsb2NrIHNpemVzLiBJdCB3 YXMgZml4ZWQgYnkgY29tbWl0IGUwZWFjZDdkYWE2Zi4NCj4gPj4+Pj4gVGhlcmVmb3JlDQo+ID4+ Pj4+IFRpYW5vQ29yZSMyODQzIHNob3VsZCBzdGF5IGluIFJFU09MVkVEfEZJWEVEIHN0YXR1cy4N Cj4gPj4+Pj4NCj4gPj4+Pj4gTm93IHRoYXQgd2UgaGF2ZSByZWFsaXplZCB0aGF0IGNvbW1pdCBl MGVhY2Q3ZGFhNmYgY2F1c2VkIGENCj4gPj4+Pj4gcmVncmVzc2lvbiwgYSAqbmV3IEJaKiBzaG91 bGQgYmUgZmlsZWQsIHN0YXRpbmcgdGhlIHBhcnRpY3VsYXINCj4gPj4+Pj4gY29tcGF0aWJpbGl0 eSBpc3N1ZSAocmVncmVzc2lvbikuIEl0IGlzIGEgZGlmZmVyZW50IHN5bXB0b20gZnJvbQ0KPiA+ Pj4+PiB0aGUgc3ltcHRvbSBvcmlnaW5hbGx5IHJlcG9ydGVkIHVuZGVyIFRpYW5vQ29yZSMyODQz LCBzbyBpdA0KPiA+Pj4+PiBiZWxvbmdzIGluIGENCj4gPj4+PiBkaWZmZXJlbnQgdGlja2V0Lg0K PiA+Pj4+Pg0KPiA+Pj4+PiBJbiBwYXJ0aWN1bGFyLCB0aGUgc3RhdGVtZW50IGluDQo+ID4+Pj4+ IDxodHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTI4NDMjYzg+ IHRoYXQgdGhlDQo+ID4+Pj4+IG9yaWdpbmFsIGNvbW1pdCAod2hpY2ggbm93IHNob3VsZCBiZSBy ZXZlcnRlZCkgImRvZXNuJ3QgZml4IGFueQ0KPiA+Pj4+PiBzcGVjaWZpYyBpc3N1ZSIsIGlzICpj b21wbGV0ZWx5IHdyb25nKi4gSWYgeW91IGxvb2sgYXQgY29tbWl0DQo+ID4+Pj4+IGUwZWFjZDdk YWE2ZiwgaXQgY29udGFpbnMgdGhlIHRhZw0KPiA+Pj4+Pg0KPiA+Pj4+PiAgICAgVGVzdGVkLWJ5 OiBHYXJ5IExpbiA8Z2xpbkBzdXNlLmNvbT4NCj4gPj4+Pj4NCj4gPj4+Pj4gRnVydGhlcm1vcmUs IGlmIHlvdSBsb29rIGF0IHRoZSBtYWlsaW5nIGxpc3QgYXJjaGl2ZSwgeW91IHdpbGwNCj4gPj4+ Pj4gZmluZCB0aGUgZm9sbG93aW5nIGNvbmZpcm1hdGlvbiBmcm9tIEdhcnk6DQo+ID4+Pj4+DQo+ ID4+Pj4+ICAgICBBZnRlciBhcHBseWluZyB0aGlzIHBhdGNoIHNlcmllcywgdGhlIGZpcm13YXJl IHJlY29nbml6ZXMNCj4gPj4+Pj4gICAgIG9wZW5TVVNFL1NVU0UgaXNvIGltYWdlcyBhZ2Fpbi4N Cj4gPj4+Pj4NCj4gPj4+Pj4gSW4gdGhlIHYxIHRocmVhZCBhdA0KPiA+Pj4+Pg0KPiA+Pj4+PiAg IFtlZGsyLWRldmVsXSBbUEFUQ0ggMC8zXQ0KPiA+Pj4+PiAgIE1kZU1vZHVsZVBrZy9QYXJ0aXRp b25EeGU6IE1ha2UgdGhlIHBhcml0aW9uIGRyaXZlciBtYXRjaCB0aGUNCj4gPj4+Pj4gc3BlYw0K PiA+Pj4+Pg0KPiA+Pj4+PiAgIGh0dHBzOi8vZWRrMi5ncm91cHMuaW8vZy9kZXZlbC9tZXNzYWdl LzYzOTcyDQo+ID4+Pj4+ICAgaHR0cDovL21pZC5tYWlsLQ0KPiA+Pj4gYXJjaGl2ZS5jb20vMjAy MDA4MTEwNzU0NDMuR0cyMTUzOEBHYXJ5V29ya3N0YXRpb24NCj4gPj4+Pj4NCj4gPj4+Pj4gQW5k IHRoZW4sIGluIHRoZSB2MiB0aHJlYWQsIEdhcnkgd3JvdGUNCj4gPj4+Pj4NCj4gPj4+Pj4gICAg IEkndmUgdGVzdGVkIHRoZSBmb2xsb3dpbmcgSVNPIGltYWdlcyBhbmQgYWxsIGJvb3RlZCBhcyBl eHBlY3RlZC4NCj4gPj4+Pj4gICAgIFsuLi5dDQo+ID4+Pj4+DQo+ID4+Pj4+IGFnYWluIGdpdmlu ZyBhIFRlc3RlZC1ieToNCj4gPj4+Pj4NCj4gPj4+Pj4gICBbZWRrMi1kZXZlbF0gW1BBVENIIFYy IDAvM10NCj4gPj4+Pj4gICBNZGVNb2R1bGVQa2cvUGFydGl0aW9uRHhlOiBNYWtlIHRoZSBwYXJp dGlvbiBkcml2ZXIgbWF0Y2ggdGhlDQo+ID4+Pj4+IHNwZWMNCj4gPj4+Pj4NCj4gPj4+Pj4gICBo dHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvbWVzc2FnZS82NDA0Nw0KPiA+Pj4+PiAgIGh0 dHA6Ly9taWQubWFpbC0NCj4gPj4+IGFyY2hpdmUuY29tLzIwMjAwODEyMDYyNjUyLkdMMjE1MzhA R2FyeVdvcmtzdGF0aW9uDQo+ID4+Pj4+DQo+ID4+Pj4+DQo+ID4+Pj4+IE5vdyB0aGF0IHlvdSBh cmUgcHJvcG9zaW5nIGEgcmV2ZXJ0LCB5b3UgaGF2ZSBtaXNzZWQgYWxsIG9mIHRoZQ0KPiA+Pj4+ PiBhYm92ZSBmZWVkYmFjayBmcm9tIEdhcnkuIFRoYXQncyBiZWNhdXNlIHlvdSBuZXZlciBib3Ro ZXJlZCB0bw0KPiA+Pj4+PiBsaW5rIHRoZSB2MSBhbmQNCj4gPj4+Pj4gdjIgbWFpbGluZyBsaXN0 IHRocmVhZHMgaW50byB0aGUgYnVnemlsbGEgdGlja2V0Lg0KPiA+Pj4+Pg0KPiA+Pj4+PiBTbyB0 aGlzIHBhdGNoIHJpc2tzIHJlaW50cm9kdWNpbmcgdGhlIGlzc3VlIHRoYXQgR2FyeSByZXBvcnRl ZCBvcmlnaW5hbGx5Lg0KPiA+Pj4+Pg0KPiA+Pj4+PiAoT2YgY291cnNlLCB0aGUgb3JpZ2luYWwg YnVnIHJlcG9ydCBmcm9tIEdhcnkgaXMgKmFsc28qIG5vdCBsaW5rZWQNCj4gPj4+Pj4gaW50bw0K PiA+Pj4+PiBUaWFub0NvcmUjMjg0MzoNCj4gPj4+Pj4NCj4gPj4+Pj4gICBodHRwczovL2VkazIu Z3JvdXBzLmlvL2cvZGV2ZWwvbWVzc2FnZS82MjY0OA0KPiA+Pj4+PiAgIGh0dHBzOi8vYnVnemls bGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjgyMyNjNg0KPiA+Pj4+Pg0KPiA+Pj4+ PiBodHRwOi8vbWlkLm1haWwtYXJjaGl2ZS5jb20vMjAyMDA3MTYwMzMyNTUuR0w2MDU4QEdhcnlX b3Jrc3RhdGlvbg0KPiA+Pj4+Pg0KPiA+Pj4+PiBzbyBpdCdzIG5vIHdvbmRlciB3ZSBoYXZlIG5v IGlkZWEgd2hvc2UgdXNlIGNhc2Ugd2UgY291bGQgcmVncmVzcw0KPiA+Pj4+PiB3aXRoIGENCj4g Pj4+Pj4gcmV2ZXJ0ISkNCj4gPj4+Pj4NCj4gPj4+Pj4gVGhpcyBwYXRjaCBzaG91bGQgKk5PVCog YmUgbWVyZ2VkIHVudGlsIEdhcnkgY29uZmlybXMgaXQncyBPSy4NCj4gPj4+Pj4NCj4gPj4+Pj4g KEFuZCBpZiBpdCdzIG5vdCBPSywgdGhlbiBhIHNvbHV0aW9uIGlzIG5lZWRlZCB0aGF0IGZpeGVz IGJvdGgNCj4gPj4+Pj4gR2FyeSdzIHVzZSBjYXNlLCBhbmQgdGhlIGNvbXBhdGliaWxpdHkgcmVn cmVzc2lvbi4gSXQgbWlnaHQgZXZlbg0KPiA+Pj4+PiBuZWVkIGEgUENELCBpZiB0aGVyZSBpcyBt ZWRpYSBvdXQgdGhlcmUgdGhhdCBuZWVkcyBvbmUga2luZCBvZg0KPiA+Pj4+PiBsb2dpYywgYW5k IG90aGVyIG1lZGlhIHRoYXQgbmVlZHMgdGhlIG90aGVyIGtpbmQgb2YgbG9naWMuKQ0KPiA+Pj4+ Pg0KPiA+Pj4+IEkganVzdCB0ZXN0ZWQgdGhlIHBhdGNoIHdpdGggdGhlIElTTyBmaWxlcyB3aXRo IFNMRTE1LVNQMiwgb3BlblNVU0UNCj4gPj4+PiBMZWFwIDE1LjIsIEZlZG9yYSAzMiwgYW5kIHVi dW50dSAyMC4wNCwgYW5kIHRoZSBWTSBsb2FkcyB0aGVtDQo+ID4+Pj4gd2l0aG91dCBhbnkgcHJv YmxlbSwgc28gdGhlcmUgaXMgbm8gcmVncmVzc2lvbiBJIGhhZCBiZWZvcmUuDQo+ID4+Pj4NCj4g Pj4+PiBJJ2QgZ2l2ZSBpdCBteSBUZXN0ZWQtYnkuDQo+ID4+Pj4NCj4gPj4+PiBUZXN0ZWQtYnk6 IEdhcnkgTGluIDxnbGluQHN1c2UuY29tPg0KPiA+Pj4+DQo+ID4+Pj4gR2FyeSBMaW4NCj4gPj4+ Pg0KPiA+Pj4+Pg0KPiA+Pj4+PiAoMykgSWYgdGhpcyBwYXRjaCBpcyBhIHJldmVydCBvZiBjb21t aXQgZTBlYWNkN2RhYTZmLCB0aGVuIHRoZQ0KPiA+Pj4+PiByZXZlcnQgc2hvdWxkIGJlIHByZXBh cmVkIHdpdGggdGhlICJnaXQgcmV2ZXJ0IiBjb21tYW5kLiBJbg0KPiA+Pj4+PiBwYXJ0aWN1bGFy LCB0aGUgY29tbWl0IG1lc3NhZ2Ugc2hvdWxkIHZlcnkgY2xlYXJseSBzdGF0ZSB0aGF0IHRoaXMN Cj4gPj4+Pj4gcGF0Y2ggcmV2ZXJ0cyBjb21taXQgZTBlYWNkN2RhYTZmLg0KPiA+Pj4+Pg0KPiA+ Pj4+Pg0KPiA+Pj4+PiBUaGFua3MNCj4gPj4+Pj4gTGFzemxvDQo+ID4+Pj4+DQo+ID4+Pj4NCj4g Pj4+Pg0KPiA+Pj4+DQo+ID4+Pj4NCj4gPj4+Pg0KPiA+DQo+IA0KPiANCj4gDQo+IA0KPiANCg0K