From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mx.groups.io with SMTP id smtpd.web11.10438.1595383983744990582 for ; Tue, 21 Jul 2020 19:13:03 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=XECBsPS4; spf=pass (domain: intel.com, ip: 134.134.136.100, mailfrom: jiewen.yao@intel.com) IronPort-SDR: twwWelx0VPlvN1q/aEN5El1c/UdpLNc8nphTjh9FIijBzGmo7ZH6fkw01K6zwoyPUV1nB+9jiB Ba+ghA0Mld0g== X-IronPort-AV: E=McAfee;i="6000,8403,9689"; a="214903325" X-IronPort-AV: E=Sophos;i="5.75,381,1589266800"; d="scan'208";a="214903325" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Jul 2020 19:13:02 -0700 IronPort-SDR: bqr5atJ2mqYfqivq7INRR19DuwxKUQA7OvApirbGVVTa+IkMxUKeFMSXLGCNOhoWidJeReKD48 xfmLGN3QYXbA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,381,1589266800"; d="scan'208";a="392536478" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by fmsmga001.fm.intel.com with ESMTP; 21 Jul 2020 19:13:02 -0700 Received: from FMSEDG001.ED.cps.intel.com (10.1.192.133) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 21 Jul 2020 19:13:01 -0700 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.42) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 21 Jul 2020 19:13:02 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=H+3RQKD7olfYUlTWyln+nKJ4iYgEeVxTPzMO2b+PhpJHT5MQ5BWbUe0aqzpqW2lXR3yi0AqbeFxzBiJAyjm4Pw69/cp/LjIMlKMMekSH3PzmtO+/vzBpVLeOABUMnv0oWSEcdvBc/F2c2qWtjNhnfTkABXmVQ+8r5JmwQZbtHw/vDQueGMfJpf/Rek2WnbJYRm1dtKZ62jL4ctpnzmKib66s09XG5FaVOuf5uRQ96MTOz0ShBOcmyQwq/KM+IhZAZcNkGRCmaryGHyuQZVgVEgTpvIqm2G7JEsEOwGPK3xs6zXfZzQ2W9E5nGxdacIrdApIVnRGlbLKOdgsZyizOtw== 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=ilqXZV8Su/pEpUauutIHbaPz/g7TfiXj90EjHU0Yjuw=; b=XBnyOcggN8ouqJ9eExFuKfpYQsHsfMb7tNYOmrqkJNszcbmvIK8OyJv34scBDJ4By71YuMQ0NlQ4rTaoopQ5djkYFZLYDhvfvTV8LrJXEoNUjQrOceAKcA4wZ1RtVS/EH6yv61Or0cDW5zrQ0D/92DJmRhHhX18Cw2JArr8Q0Q9BdqJaF4XOkr2S+q+5gFI4J1/23mBhD1FIoccSupwm/ooNSHq2ZdFAkaj+7zRbdrmg+s3oh/AUy9HngHMa+7WgDvLA/zVZlpUOQVvUPfkbfh8Uk+3521sXwv9/qQBoAjEe5zy0n4VwEmP/bNPud8Kezn6iCInK6/6ZkQIwPteuwQ== 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=ilqXZV8Su/pEpUauutIHbaPz/g7TfiXj90EjHU0Yjuw=; b=XECBsPS4jMK+du4y4Wu3ptcP1sjes4S4VhYpApHotgzenVpwMQFnIHqFZjtYdyF97nVdSAnPMbfXB439IBjRJctHe/WoUdqDg7j8wqGNdav3a8orkk//dxSp9TyjTtHuwxzMOk0T3LitQoL9d7Nula6EB3ddzUaJm3oX5qNSsnQ= Received: from DM5PR11MB2026.namprd11.prod.outlook.com (2603:10b6:3:10::17) by DM5PR11MB1644.namprd11.prod.outlook.com (2603:10b6:4:c::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3195.25; Wed, 22 Jul 2020 02:13:00 +0000 Received: from DM5PR11MB2026.namprd11.prod.outlook.com ([fe80::e19d:1de4:c479:da4]) by DM5PR11MB2026.namprd11.prod.outlook.com ([fe80::e19d:1de4:c479:da4%4]) with mapi id 15.20.3216.020; Wed, 22 Jul 2020 02:13:00 +0000 From: "Yao, Jiewen" To: "Zhang, Qi1" CC: "Wang, Jian J" , "devel@edk2.groups.io" Subject: Re: [edk2-devel] [PATCH v4 5/6] SecurityPkg/PeiTpmMeasurementLib: Add PEI instance. Thread-Topic: [edk2-devel] [PATCH v4 5/6] SecurityPkg/PeiTpmMeasurementLib: Add PEI instance. Thread-Index: AQHWXBdB+ecqH2H06EKV3WvCo/ZO16kRwImAgAAGLUCAAGGjUIAAqKmAgAAQ1QCAAAE5jA== Date: Wed, 22 Jul 2020 02:13:00 +0000 Message-ID: <0DB391CA-88F9-4D3D-9F6B-CAEC7191DC80@intel.com> References: <20200717084935.11067-1-qi1.zhang@intel.com> <20200717084935.11067-6-qi1.zhang@intel.com> <1623B8ED1BE72736.9882@groups.io> , In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [2409:891e:6920:4ef2:6460:5b72:21ba:43d1] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 8ef69b53-01a3-447e-b288-08d82de4c240 x-ms-traffictypediagnostic: DM5PR11MB1644: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:3631; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: z7f1yCCAhh5aCgcait+Vh5sZ+OHhwI7DYeYfpPLtpoGWyFJQfggLI+wZv4BJiByzJY+4RXys2zkFRqErcAYO3yHKeSfYKYlpdpKtr58xqUbr1BjpESXtHhqLVP/5q2mMKs+QywZjyFXdzo1MldnGQXuLISjQHAWKuIapxmXg8cSdOiLsG8lAV0WNFMVqvUZfhoHuXWQlb+I43ivjCd1Vt2jRw5PGxIwtr4FCQMqKPHlMEHhBIIupVBWPvKFYQ0KL1OgOptnGFQVlXbWk4c033D6U8FOKLPjPkd4o39hNoRGnwWIBZKu0nI06jEuVrcco02ctYxgvT1xbBMNaGMpXyw4Qcx7fQi4FBCXB03wWeekei2wdeLgEJihnMXVq6kESBvPv/9nTsNSkruInbDAOfQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR11MB2026.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(4636009)(366004)(136003)(39860400002)(376002)(396003)(346002)(478600001)(316002)(86362001)(6636002)(33656002)(54906003)(91956017)(76116006)(966005)(8936002)(5660300002)(71200400001)(36756003)(4326008)(66946007)(66556008)(37006003)(15650500001)(6506007)(8676002)(6512007)(186003)(83380400001)(2906002)(30864003)(66446008)(64756008)(66476007)(6862004)(2616005)(53546011)(6486002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: MQZAm99WojB2samyan5EHoPslHRMQmB1uQMkZ3KtlD7rBvp6u+1NcHBAM/AHoxmRP1PIm6tWrwCgrb1bqWudaFMuKPp2U94EMzFpTtJNVDRHfd3d9hnDgUy3NtCny2cxOvjYIJ32JRUKH6xeEH1j31aWyvaSoVhUF2unQogqnT5Z3dneZAIhcd65A5DZ5KafpLrn6WLJlkopMowU2orFa/QsBpeX3RQ8ajn+E2MNOfKptTI5HO8ypX55h3lwuRcQ4XLIa4hoKD/TQASxSuWw5CPG1gBGf3I/0XAPxb69VBvhKgEuO+HtZLYYVEuHPe5UddvZ0QtERHA9eJ53pxRJSPyDHtkyxBD7KHNUopiTtM8zBvSbDbEy43madU6gtQaFZZxx6QyH0oJ1J1nVBnnG/iVGqtSqmPsyIZAKHT/hENNvei4/MbU63cxWvVAsiX3yqYh8ff4FdwgRz/0mtZ2VrpsBEA5k/GxRWYapKRIwxQeKMBGJ9dtQAqFWZ6+CrJO9fGxurTkj8eJcH6FYbt+1qI5xM3KSaLNhadFdAOnvlih4bzqmEn3ktBcGM6H7Jhtd MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM5PR11MB2026.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8ef69b53-01a3-447e-b288-08d82de4c240 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Jul 2020 02:13:00.6588 (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: e/86BNUrgMFulnnyLMk38oxt58/fX5Mu3a0qJevNvD+NEO/OvYBPwizMMnfbB55USLfzKbU1s86lc9C+bYLSLQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR11MB1644 Return-Path: jiewen.yao@intel.com X-OriginatorOrg: intel.com Content-Language: zh-CN Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 eWVzLCBpIGFtIG9rIHdpdGggdGhhdC4NCg0KdGhhbmsgeW91IQ0KWWFvLCBKaWV3ZW4NCg0KDQo+ IOWcqCAyMDIw5bm0N+aciDIy5pel77yM5LiK5Y2IMTA6MDjvvIxaaGFuZywgUWkxIDxxaTEuemhh bmdAaW50ZWwuY29tPiDlhpnpgZPvvJoNCj4gDQo+IO+7v0NhbiB3ZSBtb3ZlIHRoaXMgcmVxdWly ZW1lbnQgaW1wbGVtZW50YXRpb24gdG8gaHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3No b3dfYnVnLmNnaT9pZD0yMzc2OiBOZWVkIGFkZCBhIEZTUCBiaW5hcnkgbWVhc3VyZW1lbnQuDQo+ IA0KPiAzKSBBZGQgbW9yZSBBUEkgaW4gVHBtTWVhc3VyZW1lbnRMaWIsIHN1Y2ggYXMgTWVhc3Vy ZUZpcm13YXJlQmxvYiwgTWVhc3VyZUhhbmRvZmZUYWJsZSBmb3IgVFBNIFBGUCByZXYgMTA1IHN1 cHBvcnQgLSBhZGQgZGVzY3JpcHRpb24gZm9yIHRoZSBGaXJtd2FyZUJsb2IgYW5kIEhhbmRvZmZU YWJsZS4NCj4gDQo+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPj4gRnJvbTogV2FuZywg SmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+DQo+PiBTZW50OiBXZWRuZXNkYXksIEp1bHkg MjIsIDIwMjAgOTowOCBBTQ0KPj4gVG86IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNv bT47IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBaaGFuZywgUWkxDQo+PiA8cWkxLnpoYW5nQGludGVs LmNvbT4NCj4+IFN1YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF0gW1BBVENIIHY0IDUvNl0gU2VjdXJp dHlQa2cvUGVpVHBtTWVhc3VyZW1lbnRMaWI6DQo+PiBBZGQgUEVJIGluc3RhbmNlLg0KPj4gDQo+ PiBUbyBhdm9pZCBpbmNvbnNpc3RlbmN5LCBwbGVhc2UgYWRkIGNvbW1lbnRzIGluIHRoZSBCWiBv ciBpbiBjb21taXQgbWVzc2FnZQ0KPj4gb2YgdGhpcyBwYXRjaC4NCj4+IA0KPj4gV2l0aCBhbGwg Y29tbWVudHMgYWRkcmVzc2VkLA0KPj4gUmV2aWV3ZWQtYnk6IEppYW4gSiBXYW5nIDxqaWFuLmou d2FuZ0BpbnRlbC5jb20+DQo+PiANCj4+IFJlZ2FyZHMsDQo+PiBKaWFuDQo+PiANCj4+PiAtLS0t LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPj4+IEZyb206IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFv QGludGVsLmNvbT4NCj4+PiBTZW50OiBUdWVzZGF5LCBKdWx5IDIxLCAyMDIwIDExOjA1IFBNDQo+ Pj4gVG86IFdhbmcsIEppYW4gSiA8amlhbi5qLndhbmdAaW50ZWwuY29tPjsgZGV2ZWxAZWRrMi5n cm91cHMuaW87IFpoYW5nLA0KPj4+IFFpMSA8cWkxLnpoYW5nQGludGVsLmNvbT4NCj4+PiBDYzog WWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPg0KPj4+IFN1YmplY3Q6IFJFOiBbZWRr Mi1kZXZlbF0gW1BBVENIIHY0IDUvNl0NCj4+IFNlY3VyaXR5UGtnL1BlaVRwbU1lYXN1cmVtZW50 TGliOg0KPj4+IEFkZCBQRUkgaW5zdGFuY2UuDQo+Pj4gDQo+Pj4gUmlnaHQuIFRoYXQgY2FuIGJl IGltcGxlbWVudGVkIGFzIHNlcGFyYXRlZCBwYXRjaC4NCj4+PiANCj4+Pj4gLS0tLS1PcmlnaW5h bCBNZXNzYWdlLS0tLS0NCj4+Pj4gRnJvbTogV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRl bC5jb20+DQo+Pj4+IFNlbnQ6IFR1ZXNkYXksIEp1bHkgMjEsIDIwMjAgNToxNiBQTQ0KPj4+PiBU bzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IFdhbmcsIEppYW4gSiA8amlhbi5qLndhbmdAaW50ZWwu Y29tPjsNCj4+Pj4gWmhhbmcsIFFpMSA8cWkxLnpoYW5nQGludGVsLmNvbT4NCj4+Pj4gQ2M6IFlh bywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT4NCj4+Pj4gU3ViamVjdDogUkU6IFtlZGsy LWRldmVsXSBbUEFUQ0ggdjQgNS82XQ0KPj4gU2VjdXJpdHlQa2cvUGVpVHBtTWVhc3VyZW1lbnRM aWI6DQo+Pj4+IEFkZCBQRUkgaW5zdGFuY2UuDQo+Pj4+IA0KPj4+PiBTb3JyeSwgbWlzc2luZyB3 b3JkIGluIHByZXZpb3VzIGVtYWlsLiBJdCBzaG91bGQgYmUNCj4+Pj4gDQo+Pj4+ICJmb2xsb3dp bmcgcmVxdWlyZW1lbnQgaXMgbm90IGVtYm9kaWVkIGluIg0KPj4+PiANCj4+Pj4gUmVnYXJkcywN Cj4+Pj4gSmlhbg0KPj4+PiANCj4+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+Pj4+ PiBGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9uIEJl aGFsZiBPZg0KPj4+Pj4gV2FuZywNCj4+Pj4gSmlhbg0KPj4+Pj4gSg0KPj4+Pj4gU2VudDogVHVl c2RheSwgSnVseSAyMSwgMjAyMCA1OjAwIFBNDQo+Pj4+PiBUbzogWmhhbmcsIFFpMSA8cWkxLnpo YW5nQGludGVsLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+Pj4+PiBDYzogWWFvLCBKaWV3 ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPg0KPj4+Pj4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVs XSBbUEFUQ0ggdjQgNS82XQ0KPj4+IFNlY3VyaXR5UGtnL1BlaVRwbU1lYXN1cmVtZW50TGliOg0K Pj4+Pj4gQWRkIFBFSSBpbnN0YW5jZS4NCj4+Pj4+IA0KPj4+Pj4gUWksDQo+Pj4+PiANCj4+Pj4+ IFR3byBmb3JtYXQgaXNzdWVzIGlubGluZWQgYmVsb3cuDQo+Pj4+PiANCj4+Pj4+IEluIGFkZGl0 aW9uLCBhY2NvcmRpbmcgdG8gYnoyODQxLCBmb2xsb3dpbmcgcmVxdWlyZW1lbnQgaXMNCj4+Pj4+ IGVtYm9kaWVkIGluIHRoaXMgcGF0Y2guIE1heWJlIHRoZXJlJ3MgZGlzY3Vzc2lvbiBiZWZvcmUg ZGVjaWRpbmcNCj4+Pj4+IG5vdCB0byBpbXBsZW1lbnQgaXQuIElmIHNvLCBwbGVhc2UgdXBkYXRl IGJ6Mjg0MSB0byBzdGF0ZSBpdCBleHBsaWNpdGx5Lg0KPj4+Pj4gDQo+Pj4+PiAzKSBBZGQgbW9y ZSBBUEkgaW4gVHBtTWVhc3VyZW1lbnRMaWIsIHN1Y2ggYXMgTWVhc3VyZUZpcm13YXJlQmxvYiwN Cj4+Pj4+IE1lYXN1cmVIYW5kb2ZmVGFibGUgZm9yIFRQTSBQRlAgcmV2IDEwNSBzdXBwb3J0IC0g YWRkIGRlc2NyaXB0aW9uDQo+Pj4+PiBmb3IgdGhlIEZpcm13YXJlQmxvYiBhbmQgSGFuZG9mZlRh YmxlLg0KPj4+Pj4gDQo+Pj4+PiBSZWdhcmRzLA0KPj4+Pj4gSmlhbg0KPj4+Pj4gDQo+Pj4+Pj4g LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4+Pj4+PiBGcm9tOiBaaGFuZywgUWkxIDxxaTEu emhhbmdAaW50ZWwuY29tPg0KPj4+Pj4+IFNlbnQ6IEZyaWRheSwgSnVseSAxNywgMjAyMCA0OjUw IFBNDQo+Pj4+Pj4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+Pj4+Pj4gQ2M6IFlhbywgSmll d2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT47IFdhbmcsIEppYW4gSg0KPj4+Pj4gPGppYW4uai53 YW5nQGludGVsLmNvbT47DQo+Pj4+Pj4gWmhhbmcsIFFpMSA8cWkxLnpoYW5nQGludGVsLmNvbT4N Cj4+Pj4+PiBTdWJqZWN0OiBbUEFUQ0ggdjQgNS82XSBTZWN1cml0eVBrZy9QZWlUcG1NZWFzdXJl bWVudExpYjogQWRkDQo+Pj4+Pj4gUEVJDQo+Pj4+IGluc3RhbmNlLg0KPj4+Pj4+IA0KPj4+Pj4+ IEZyb206IEppZXdlbiBZYW8gPGppZXdlbi55YW9AaW50ZWwuY29tPg0KPj4+Pj4+IA0KPj4+Pj4+ IFJFRjogaHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0yODQx DQo+Pj4+Pj4gDQo+Pj4+Pj4gQ2M6IEppZXdlbiBZYW8gPGppZXdlbi55YW9AaW50ZWwuY29tPg0K Pj4+Pj4+IENjOiBKaWFuIEogV2FuZyA8amlhbi5qLndhbmdAaW50ZWwuY29tPg0KPj4+Pj4+IENj OiBRaSBaaGFuZyA8cWkxLnpoYW5nQGludGVsLmNvbT4NCj4+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBK aWV3ZW4gWWFvIDxqaWV3ZW4ueWFvQGludGVsLmNvbT4NCj4+Pj4+PiAtLS0NCj4+Pj4+PiAuLi4v UGVpVHBtTWVhc3VyZW1lbnRMaWIuYyAgICAgICAgICAgICAgICAgICAgfCA3NCArKysrKysrKysr KysrKysrKysrDQo+Pj4+Pj4gLi4uL1BlaVRwbU1lYXN1cmVtZW50TGliLmluZiAgICAgICAgICAg ICAgICAgIHwgNTAgKysrKysrKysrKysrKw0KPj4+Pj4+IC4uLi9QZWlUcG1NZWFzdXJlbWVudExp Yi51bmkgICAgICAgICAgICAgICAgICB8IDE3ICsrKysrDQo+Pj4+Pj4gMyBmaWxlcyBjaGFuZ2Vk LCAxNDEgaW5zZXJ0aW9ucygrKSAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+Pj4+Pj4gU2VjdXJpdHlQ a2cvTGlicmFyeS9QZWlUcG1NZWFzdXJlbWVudExpYi9QZWlUcG1NZWFzdXJlbWVudExpYi5jDQo+ Pj4+Pj4gY3JlYXRlIG1vZGUgMTAwNjQ0DQo+Pj4+Pj4gU2VjdXJpdHlQa2cvTGlicmFyeS9QZWlU cG1NZWFzdXJlbWVudExpYi9QZWlUcG1NZWFzdXJlbWVudExpYi5pbg0KPj4+Pj4+IGYNCj4+Pj4+ PiBjcmVhdGUgbW9kZSAxMDA2NDQNCj4+Pj4+PiANCj4+IFNlY3VyaXR5UGtnL0xpYnJhcnkvUGVp VHBtTWVhc3VyZW1lbnRMaWIvUGVpVHBtTWVhc3VyZW1lbnRMaWIudW4NCj4+Pj4+PiBpDQo+Pj4+ Pj4gDQo+Pj4+Pj4gZGlmZiAtLWdpdA0KPj4+Pj4+IGEvU2VjdXJpdHlQa2cvTGlicmFyeS9QZWlU cG1NZWFzdXJlbWVudExpYi9QZWlUcG1NZWFzdXJlbWVudExpYi4NCj4+Pj4+PiBjDQo+Pj4+Pj4g Yi9TZWN1cml0eVBrZy9MaWJyYXJ5L1BlaVRwbU1lYXN1cmVtZW50TGliL1BlaVRwbU1lYXN1cmVt ZW50TGliLg0KPj4+Pj4+IGMNCj4+Pj4+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPj4+Pj4+IGlu ZGV4IDAwMDAwMDAwMDAuLjFhNTkwZTBjOWUNCj4+Pj4+PiAtLS0gL2Rldi9udWxsDQo+Pj4+Pj4g KysrDQo+Pj4+IGIvU2VjdXJpdHlQa2cvTGlicmFyeS9QZWlUcG1NZWFzdXJlbWVudExpYi9QZWlU cG1NZWFzdXJlbWVudExpYi5jDQo+Pj4+Pj4gQEAgLTAsMCArMSw3NCBAQA0KPj4+Pj4+ICsvKiog QGZpbGUNCj4+Pj4+PiANCj4+Pj4+PiArICBUaGlzIGxpYnJhcnkgaXMgdXNlZCBieSBvdGhlciBt b2R1bGVzIHRvIG1lYXN1cmUgZGF0YSB0byBUUE0uDQo+Pj4+Pj4gDQo+Pj4+Pj4gKw0KPj4+Pj4+ IA0KPj4+Pj4+ICtDb3B5cmlnaHQgKGMpIDIwMjAsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmln aHRzIHJlc2VydmVkLg0KPj4+Pj4+ICs8QlI+DQo+Pj4+Pj4gDQo+Pj4+Pj4gK1NQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+Pj4+Pj4gDQo+Pj4+Pj4gKw0KPj4+ Pj4+IA0KPj4+Pj4+ICsqKi8NCj4+Pj4+PiANCj4+Pj4+PiArDQo+Pj4+Pj4gDQo+Pj4+Pj4gKyNp bmNsdWRlIDxQaVBlaS5oPg0KPj4+Pj4+IA0KPj4+Pj4+ICsNCj4+Pj4+PiANCj4+Pj4+PiArI2lu Y2x1ZGUgPExpYnJhcnkvQmFzZU1lbW9yeUxpYi5oPg0KPj4+Pj4+IA0KPj4+Pj4+ICsjaW5jbHVk ZSA8TGlicmFyeS9QZWlTZXJ2aWNlc0xpYi5oPg0KPj4+Pj4+IA0KPj4+Pj4+ICsjaW5jbHVkZSA8 TGlicmFyeS9QZWlTZXJ2aWNlc1RhYmxlUG9pbnRlckxpYi5oPg0KPj4+Pj4+IA0KPj4+Pj4+ICsj aW5jbHVkZSA8TGlicmFyeS9EZWJ1Z0xpYi5oPg0KPj4+Pj4+IA0KPj4+Pj4+ICsjaW5jbHVkZSA8 TGlicmFyeS9Ib2JMaWIuaD4NCj4+Pj4+PiANCj4+Pj4+PiArI2luY2x1ZGUgPExpYnJhcnkvVHBt TWVhc3VyZW1lbnRMaWIuaD4NCj4+Pj4+PiANCj4+Pj4+PiArDQo+Pj4+Pj4gDQo+Pj4+Pj4gKyNp bmNsdWRlIDxQcGkvVGNnLmg+DQo+Pj4+Pj4gDQo+Pj4+Pj4gKyNpbmNsdWRlIDxJbmR1c3RyeVN0 YW5kYXJkL1VlZmlUY2dQbGF0Zm9ybS5oPg0KPj4+Pj4+IA0KPj4+Pj4+ICsNCj4+Pj4+PiANCj4+ Pj4+PiArLyoqDQo+Pj4+Pj4gDQo+Pj4+Pj4gKyAgVHBtIG1lYXN1cmUgYW5kIGxvZyBkYXRhLCBh bmQgZXh0ZW5kIHRoZSBtZWFzdXJlbWVudCByZXN1bHQNCj4+Pj4+PiArIGludG8gYQ0KPj4+Pj4g c3BlY2lmaWMNCj4+Pj4+PiBQQ1IuDQo+Pj4+Pj4gDQo+Pj4+Pj4gKw0KPj4+Pj4+IA0KPj4+Pj4+ ICsgIEBwYXJhbVtpbl0gIFBjckluZGV4ICAgICAgICAgUENSIEluZGV4Lg0KPj4+Pj4+IA0KPj4+ Pj4+ICsgIEBwYXJhbVtpbl0gIEV2ZW50VHlwZSAgICAgICAgRXZlbnQgdHlwZS4NCj4+Pj4+PiAN Cj4+Pj4+PiArICBAcGFyYW1baW5dICBFdmVudExvZyAgICAgICAgIE1lYXN1cmVtZW50IGV2ZW50 IGxvZy4NCj4+Pj4+PiANCj4+Pj4+PiArICBAcGFyYW1baW5dICBMb2dMZW4gICAgICAgICAgIEV2 ZW50IGxvZyBsZW5ndGggaW4gYnl0ZXMuDQo+Pj4+Pj4gDQo+Pj4+Pj4gKyAgQHBhcmFtW2luXSAg SGFzaERhdGEgICAgICAgICBUaGUgc3RhcnQgb2YgdGhlIGRhdGEgYnVmZmVyIHRvIGJlIGhhc2hl ZCwNCj4+Pj4+PiBleHRlbmRlZC4NCj4+Pj4+PiANCj4+Pj4+PiArICBAcGFyYW1baW5dICBIYXNo RGF0YUxlbiAgICAgIFRoZSBsZW5ndGgsIGluIGJ5dGVzLCBvZiB0aGUgYnVmZmVyDQo+Pj4gcmVm ZXJlbmNlZA0KPj4+Pj4gYnkNCj4+Pj4+PiBIYXNoRGF0YQ0KPj4+Pj4+IA0KPj4+Pj4+ICsNCj4+ Pj4+PiANCj4+Pj4+PiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICAgICAgT3BlcmF0 aW9uIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuDQo+Pj4+PiANCj4+Pj4+IFRoZSBkZXNjcmlwdGlv biBvZiBhYm92ZSByZXR2YWwgaXMgbm90IGFsaWduZWQgd2l0aCBiZWxvdyBsaW5lLg0KPj4+Pj4g DQo+Pj4+Pj4gDQo+Pj4+Pj4gKyAgQHJldHZhbCBFRklfVU5TVVBQT1JURUQgICAgICAgVFBNIGRl dmljZSBub3QgYXZhaWxhYmxlLg0KPj4+Pj4+IA0KPj4+Pj4+ICsgIEByZXR2YWwgRUZJX09VVF9P Rl9SRVNPVVJDRVMgIE91dCBvZiBtZW1vcnkuDQo+Pj4+Pj4gDQo+Pj4+Pj4gKyAgQHJldHZhbCBF RklfREVWSUNFX0VSUk9SICAgICAgVGhlIG9wZXJhdGlvbiB3YXMgdW5zdWNjZXNzZnVsLg0KPj4+ Pj4+IA0KPj4+Pj4+ICsqKi8NCj4+Pj4+PiANCj4+Pj4+PiArRUZJX1NUQVRVUw0KPj4+Pj4+IA0K Pj4+Pj4+ICtFRklBUEkNCj4+Pj4+PiANCj4+Pj4+PiArVHBtTWVhc3VyZUFuZExvZ0RhdGEgKA0K Pj4+Pj4+IA0KPj4+Pj4+ICsgIElOIFVJTlQzMiAgICAgICAgICAgICBQY3JJbmRleCwNCj4+Pj4+ PiANCj4+Pj4+PiArICBJTiBVSU5UMzIgICAgICAgICAgICAgRXZlbnRUeXBlLA0KPj4+Pj4+IA0K Pj4+Pj4+ICsgIElOIFZPSUQgICAgICAgICAgICAgICAqRXZlbnRMb2csDQo+Pj4+Pj4gDQo+Pj4+ Pj4gKyAgSU4gVUlOVDMyICAgICAgICAgICAgIExvZ0xlbiwNCj4+Pj4+PiANCj4+Pj4+PiArICBJ TiBWT0lEICAgICAgICAgICAgICAgKkhhc2hEYXRhLA0KPj4+Pj4+IA0KPj4+Pj4+ICsgIElOIFVJ TlQ2NCAgICAgICAgICAgICBIYXNoRGF0YUxlbg0KPj4+Pj4+IA0KPj4+Pj4+ICsgICkNCj4+Pj4+ PiANCj4+Pj4+PiArew0KPj4+Pj4+IA0KPj4+Pj4+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAg ICAgU3RhdHVzOw0KPj4+Pj4+IA0KPj4+Pj4+ICsgIEVES0lJX1RDR19QUEkgICAgICAgICAgICAg KlRjZ1BwaTsNCj4+Pj4+PiANCj4+Pj4+PiArICBUQ0dfUENSX0VWRU5UX0hEUiAgICAgICAgIFRj Z0V2ZW50SGRyOw0KPj4+Pj4+IA0KPj4+Pj4+ICsNCj4+Pj4+PiANCj4+Pj4+PiArICBTdGF0dXMg PSBQZWlTZXJ2aWNlc0xvY2F0ZVBwaSgNCj4+Pj4+IA0KPj4+Pj4gTWlzc2luZyBhIHNwYWNlIGJl Zm9yZSAnKCcNCj4+Pj4+IA0KPj4+Pj4+IA0KPj4+Pj4+ICsgICAgICAgICAgICAgJmdFZGtpaVRj Z1BwaUd1aWQsDQo+Pj4+Pj4gDQo+Pj4+Pj4gKyAgICAgICAgICAgICAwLA0KPj4+Pj4+IA0KPj4+ Pj4+ICsgICAgICAgICAgICAgTlVMTCwNCj4+Pj4+PiANCj4+Pj4+PiArICAgICAgICAgICAgIChW T0lEKiopJlRjZ1BwaQ0KPj4+Pj4+IA0KPj4+Pj4+ICsgICAgICAgICAgICAgKTsNCj4+Pj4+PiAN Cj4+Pj4+PiArICBpZiAoRUZJX0VSUk9SKFN0YXR1cykpIHsNCj4+Pj4+PiANCj4+Pj4+PiArICAg IHJldHVybiBTdGF0dXM7DQo+Pj4+Pj4gDQo+Pj4+Pj4gKyAgfQ0KPj4+Pj4+IA0KPj4+Pj4+ICsN Cj4+Pj4+PiANCj4+Pj4+PiArICBUY2dFdmVudEhkci5QQ1JJbmRleCAgPSBQY3JJbmRleDsNCj4+ Pj4+PiANCj4+Pj4+PiArICBUY2dFdmVudEhkci5FdmVudFR5cGUgPSBFdmVudFR5cGU7DQo+Pj4+ Pj4gDQo+Pj4+Pj4gKyAgVGNnRXZlbnRIZHIuRXZlbnRTaXplID0gTG9nTGVuOw0KPj4+Pj4+IA0K Pj4+Pj4+ICsNCj4+Pj4+PiANCj4+Pj4+PiArICBTdGF0dXMgPSBUY2dQcGktPkhhc2hMb2dFeHRl bmRFdmVudCAoDQo+Pj4+Pj4gDQo+Pj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgIFRjZ1BwaSwN Cj4+Pj4+PiANCj4+Pj4+PiArICAgICAgICAgICAgICAgICAgICAgMCwNCj4+Pj4+PiANCj4+Pj4+ PiArICAgICAgICAgICAgICAgICAgICAgSGFzaERhdGEsDQo+Pj4+Pj4gDQo+Pj4+Pj4gKyAgICAg ICAgICAgICAgICAgICAgIChVSU5UTilIYXNoRGF0YUxlbiwNCj4+Pj4+PiANCj4+Pj4+PiArICAg ICAgICAgICAgICAgICAgICAgJlRjZ0V2ZW50SGRyLA0KPj4+Pj4+IA0KPj4+Pj4+ICsgICAgICAg ICAgICAgICAgICAgICBFdmVudExvZw0KPj4+Pj4+IA0KPj4+Pj4+ICsgICAgICAgICAgICAgICAg ICAgICApOw0KPj4+Pj4+IA0KPj4+Pj4+ICsgIHJldHVybiBTdGF0dXM7DQo+Pj4+Pj4gDQo+Pj4+ Pj4gK30NCj4+Pj4+PiANCj4+Pj4+PiBkaWZmIC0tZ2l0DQo+Pj4+Pj4gYS9TZWN1cml0eVBrZy9M aWJyYXJ5L1BlaVRwbU1lYXN1cmVtZW50TGliL1BlaVRwbU1lYXN1cmVtZW50TGliLg0KPj4+Pj4+ IGluZg0KPj4+Pj4+IGIvU2VjdXJpdHlQa2cvTGlicmFyeS9QZWlUcG1NZWFzdXJlbWVudExpYi9Q ZWlUcG1NZWFzdXJlbWVudExpYi4NCj4+Pj4+PiBpbmYNCj4+Pj4+PiBuZXcgZmlsZSBtb2RlIDEw MDY0NA0KPj4+Pj4+IGluZGV4IDAwMDAwMDAwMDAuLjY2MjVkMGZkMDENCj4+Pj4+PiAtLS0gL2Rl di9udWxsDQo+Pj4+Pj4gKysrDQo+Pj4+PiANCj4+IGIvU2VjdXJpdHlQa2cvTGlicmFyeS9QZWlU cG1NZWFzdXJlbWVudExpYi9QZWlUcG1NZWFzdXJlbWVudExpYi5pbg0KPj4+Pj4gZg0KPj4+Pj4+ IEBAIC0wLDAgKzEsNTAgQEANCj4+Pj4+PiArIyMgQGZpbGUNCj4+Pj4+PiANCj4+Pj4+PiArIyAg UHJvdmlkZXMgVFBNIG1lYXN1cmVtZW50IGZ1bmN0aW9ucyBmb3IgVFBNMS4yIGFuZCBUUE0gMi4w DQo+Pj4+Pj4gDQo+Pj4+Pj4gKyMNCj4+Pj4+PiANCj4+Pj4+PiArIyAgVGhpcyBsaWJyYXJ5IHBy b3ZpZGVzIFRwbU1lYXN1cmVBbmRMb2dEYXRhKCkgdG8gbWVhc3VyZSBhbmQNCj4+Pj4+PiArbG9n DQo+Pj4gZGF0YSwNCj4+Pj4+PiBhbmQNCj4+Pj4+PiANCj4+Pj4+PiArIyAgZXh0ZW5kIHRoZSBt ZWFzdXJlbWVudCByZXN1bHQgaW50byBhIHNwZWNpZmljIFBDUi4NCj4+Pj4+PiANCj4+Pj4+PiAr Iw0KPj4+Pj4+IA0KPj4+Pj4+ICsjIENvcHlyaWdodCAoYykgMjAyMCwgSW50ZWwgQ29ycG9yYXRp b24uIEFsbCByaWdodHMNCj4+Pj4+PiArcmVzZXJ2ZWQuPEJSPg0KPj4+Pj4+IA0KPj4+Pj4+ICsj IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+Pj4+Pj4gDQo+ Pj4+Pj4gKyMNCj4+Pj4+PiANCj4+Pj4+PiArIyMNCj4+Pj4+PiANCj4+Pj4+PiArDQo+Pj4+Pj4g DQo+Pj4+Pj4gK1tEZWZpbmVzXQ0KPj4+Pj4+IA0KPj4+Pj4+ICsgIElORl9WRVJTSU9OICAgICAg ICAgICAgICAgICAgICA9IDB4MDAwMTAwMDUNCj4+Pj4+PiANCj4+Pj4+PiArICBCQVNFX05BTUUg ICAgICAgICAgICAgICAgICAgICAgPSBQZWlUcG1NZWFzdXJlbWVudExpYg0KPj4+Pj4+IA0KPj4+ Pj4+ICsgIEZJTEVfR1VJRCAgICAgICAgICAgICAgICAgICAgICA9IDlBNjJDNDlELUM0NUEtNDMy Mi05RjNDLTQ1OTU4REYwMDU2Qg0KPj4+Pj4+IA0KPj4+Pj4+ICsgIE1PRFVMRV9UWVBFICAgICAg ICAgICAgICAgICAgICA9IFBFSU0NCj4+Pj4+PiANCj4+Pj4+PiArICBWRVJTSU9OX1NUUklORyAg ICAgICAgICAgICAgICAgPSAxLjANCj4+Pj4+PiANCj4+Pj4+PiArICBMSUJSQVJZX0NMQVNTICAg ICAgICAgICAgICAgICAgPSBUcG1NZWFzdXJlbWVudExpYnxQRUlNDQo+Pj4+Pj4gDQo+Pj4+Pj4g KyAgTU9EVUxFX1VOSV9GSUxFICAgICAgICAgICAgICAgID0gUGVpVHBtTWVhc3VyZW1lbnRMaWIu dW5pDQo+Pj4+Pj4gDQo+Pj4+Pj4gKw0KPj4+Pj4+IA0KPj4+Pj4+ICsjDQo+Pj4+Pj4gDQo+Pj4+ Pj4gKyMgVGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbiBpcyBmb3IgcmVmZXJlbmNlIG9ubHkgYW5k IG5vdA0KPj4+Pj4+ICtyZXF1aXJlZCBieSB0aGUNCj4+Pj4+IGJ1aWxkDQo+Pj4+Pj4gdG9vbHMu DQo+Pj4+Pj4gDQo+Pj4+Pj4gKyMNCj4+Pj4+PiANCj4+Pj4+PiArIyAgVkFMSURfQVJDSElURUNU VVJFUyAgICAgICAgICAgPSBJQTMyIFg2NA0KPj4+Pj4+IA0KPj4+Pj4+ICsjDQo+Pj4+Pj4gDQo+ Pj4+Pj4gKw0KPj4+Pj4+IA0KPj4+Pj4+ICtbU291cmNlc10NCj4+Pj4+PiANCj4+Pj4+PiArICBQ ZWlUcG1NZWFzdXJlbWVudExpYi5jDQo+Pj4+Pj4gDQo+Pj4+Pj4gKw0KPj4+Pj4+IA0KPj4+Pj4+ ICtbUGFja2FnZXNdDQo+Pj4+Pj4gDQo+Pj4+Pj4gKyAgTWRlUGtnL01kZVBrZy5kZWMNCj4+Pj4+ PiANCj4+Pj4+PiArICBNZGVNb2R1bGVQa2cvTWRlTW9kdWxlUGtnLmRlYw0KPj4+Pj4+IA0KPj4+ Pj4+ICsgIFNlY3VyaXR5UGtnL1NlY3VyaXR5UGtnLmRlYw0KPj4+Pj4+IA0KPj4+Pj4+ICsNCj4+ Pj4+PiANCj4+Pj4+PiArW0xpYnJhcnlDbGFzc2VzXQ0KPj4+Pj4+IA0KPj4+Pj4+ICsgIEJhc2VM aWINCj4+Pj4+PiANCj4+Pj4+PiArICBCYXNlTWVtb3J5TGliDQo+Pj4+Pj4gDQo+Pj4+Pj4gKyAg SG9iTGliDQo+Pj4+Pj4gDQo+Pj4+Pj4gKyAgRGVidWdMaWINCj4+Pj4+PiANCj4+Pj4+PiArICBQ Y2RMaWINCj4+Pj4+PiANCj4+Pj4+PiArICBQcmludExpYg0KPj4+Pj4+IA0KPj4+Pj4+ICsgIFBl aVNlcnZpY2VzTGliDQo+Pj4+Pj4gDQo+Pj4+Pj4gKyAgUGVpU2VydmljZXNUYWJsZVBvaW50ZXJM aWINCj4+Pj4+PiANCj4+Pj4+PiArDQo+Pj4+Pj4gDQo+Pj4+Pj4gK1tQcGlzXQ0KPj4+Pj4+IA0K Pj4+Pj4+ICsgIGdFZGtpaVRjZ1BwaUd1aWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICMjIENPTlNVTUVTDQo+Pj4+Pj4gDQo+Pj4+Pj4gKw0KPj4+ Pj4+IA0KPj4+Pj4+ICtbRGVwZXhdDQo+Pj4+Pj4gDQo+Pj4+Pj4gKyAgZ0VmaVBlaU1hc3RlckJv b3RNb2RlUHBpR3VpZCBBTkQNCj4+Pj4+PiANCj4+Pj4+PiArICBnRWZpVHBtRGV2aWNlU2VsZWN0 ZWRHdWlkDQo+Pj4+Pj4gDQo+Pj4+Pj4gZGlmZiAtLWdpdA0KPj4+Pj4+IA0KPj4+IGEvU2VjdXJp dHlQa2cvTGlicmFyeS9QZWlUcG1NZWFzdXJlbWVudExpYi9QZWlUcG1NZWFzdXJlbWVudExpYi51 bmkNCj4+Pj4+PiANCj4+PiBiL1NlY3VyaXR5UGtnL0xpYnJhcnkvUGVpVHBtTWVhc3VyZW1lbnRM aWIvUGVpVHBtTWVhc3VyZW1lbnRMaWIudW5pDQo+Pj4+Pj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQN Cj4+Pj4+PiBpbmRleCAwMDAwMDAwMDAwLi43YjQzNDFiNDQ5DQo+Pj4+Pj4gLS0tIC9kZXYvbnVs bA0KPj4+Pj4+ICsrKw0KPj4+Pj4gDQo+PiBiL1NlY3VyaXR5UGtnL0xpYnJhcnkvUGVpVHBtTWVh c3VyZW1lbnRMaWIvUGVpVHBtTWVhc3VyZW1lbnRMaWIudW4NCj4+Pj4+IGkNCj4+Pj4+PiBAQCAt MCwwICsxLDE3IEBADQo+Pj4+Pj4gKy8vIC8qKiBAZmlsZQ0KPj4+Pj4+IA0KPj4+Pj4+ICsvLyBQ cm92aWRlcyBUUE0gbWVhc3VyZW1lbnQgZnVuY3Rpb25zIGZvciBUUE0xLjIgYW5kIFRQTSAyLjAN Cj4+Pj4+PiANCj4+Pj4+PiArLy8NCj4+Pj4+PiANCj4+Pj4+PiArLy8gVGhpcyBsaWJyYXJ5IHBy b3ZpZGVzIFRwbU1lYXN1cmVBbmRMb2dEYXRhKCkgdG8gdG8gbWVhc3VyZQ0KPj4+Pj4+ICthbmQg bG9nDQo+Pj4+IGRhdGEsDQo+Pj4+Pj4gYW5kDQo+Pj4+Pj4gDQo+Pj4+Pj4gKy8vIGV4dGVuZCB0 aGUgbWVhc3VyZW1lbnQgcmVzdWx0IGludG8gYSBzcGVjaWZpYyBQQ1IuDQo+Pj4+Pj4gDQo+Pj4+ Pj4gKy8vDQo+Pj4+Pj4gDQo+Pj4+Pj4gKy8vIENvcHlyaWdodCAoYykgMjAyMCwgSW50ZWwgQ29y cG9yYXRpb24uIEFsbCByaWdodHMNCj4+Pj4+PiArcmVzZXJ2ZWQuPEJSPg0KPj4+Pj4+IA0KPj4+ Pj4+ICsvLw0KPj4+Pj4+IA0KPj4+Pj4+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNE LTItQ2xhdXNlLVBhdGVudA0KPj4+Pj4+IA0KPj4+Pj4+ICsvLw0KPj4+Pj4+IA0KPj4+Pj4+ICsv LyAqKi8NCj4+Pj4+PiANCj4+Pj4+PiArDQo+Pj4+Pj4gDQo+Pj4+Pj4gKw0KPj4+Pj4+IA0KPj4+ Pj4+ICsjc3RyaW5nIFNUUl9NT0RVTEVfQUJTVFJBQ1QgICAgICAgICAgICAgI2xhbmd1YWdlIGVu LVVTICJQcm92aWRlcw0KPj4gVFBNDQo+Pj4+Pj4gbWVhc3VyZW1lbnQgZnVuY3Rpb25zIGZvciBU UE0xLjIgYW5kIFRQTSAyLjAiDQo+Pj4+Pj4gDQo+Pj4+Pj4gKw0KPj4+Pj4+IA0KPj4+Pj4+ICsj c3RyaW5nIFNUUl9NT0RVTEVfREVTQ1JJUFRJT04gICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJU aGlzIGxpYnJhcnkNCj4+Pj4+PiBwcm92aWRlcyBUcG1NZWFzdXJlQW5kTG9nRGF0YSgpIHRvIHRv IG1lYXN1cmUgYW5kIGxvZyBkYXRhLCBhbmQNCj4+PiBleHRlbmQNCj4+Pj4+IHRoZQ0KPj4+Pj4+ IG1lYXN1cmVtZW50IHJlc3VsdCBpbnRvIGEgc3BlY2lmaWMgUENSLiINCj4+Pj4+PiANCj4+Pj4+ PiArDQo+Pj4+Pj4gDQo+Pj4+Pj4gLS0NCj4+Pj4+PiAyLjI2LjIud2luZG93cy4xDQo+Pj4+PiAN Cj4+Pj4+IA0KPj4+Pj4gDQo+IA0K