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.web10.3793.1612320185717498258 for ; Tue, 02 Feb 2021 18:43:05 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=Bd+uCB5V; spf=pass (domain: intel.com, ip: 134.134.136.100, mailfrom: w.sheng@intel.com) IronPort-SDR: ibL+MXgOwG5BLyt65/a3fiP6hFe7PaDnNuIV7GOKIlqfnuW/jTuoGjf2FzOUneCpoucOnQYiTf PsNMrqUkSOsQ== X-IronPort-AV: E=McAfee;i="6000,8403,9883"; a="245051529" X-IronPort-AV: E=Sophos;i="5.79,397,1602572400"; d="scan'208";a="245051529" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Feb 2021 18:43:04 -0800 IronPort-SDR: OPgP3Ww53Qpce/Av2I/Icfo/Rz6wpfWwBl/xuIp/JasIzxQBIV9G5xtsgcKmKbHY0S9lR2fY5o Mio8rnHsT4CQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.79,397,1602572400"; d="scan'208";a="372199067" Received: from orsmsx606.amr.corp.intel.com ([10.22.229.19]) by orsmga002.jf.intel.com with ESMTP; 02 Feb 2021 18:43:04 -0800 Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) by ORSMSX606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Tue, 2 Feb 2021 18:43:04 -0800 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) by ORSMSX608.amr.corp.intel.com (10.22.229.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Tue, 2 Feb 2021 18:43:03 -0800 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2 via Frontend Transport; Tue, 2 Feb 2021 18:43:03 -0800 Received: from NAM04-SN1-obe.outbound.protection.outlook.com (104.47.44.50) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Tue, 2 Feb 2021 18:43:03 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=P7pXfX5SukEosP9+0b5v7DElaaep5qPM7FVcq8vILYlpPJzvnJdT18TcTbfIvEaPfpjPZKccUqenC+ZFqwijzSWAb/C5Es1zFyG4/k5G03J8mrMtT4MsJXkf3aGRa8f0Yoz+smCr3vQC7hL3o03+V7Vzr19DA/cfgclVx9dXl2lC93an5xGLejvVH6k0Q3NHsi0SpD7qm21cvx6UGHpjg/KgQYWaJHf4OYDzDbPLtIjKlj8LC1QT9id8rWbYU6Sr4fP1UqCVnYlJcxnatKOPEJPh5zv0XeLijzLEpgJegOXe1ZazcmQXtsiJQp+R1CNpU0aiPoJnGJn082WVx1/RnQ== 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=Oh8l1NdA+CvCyNYtg7VYdNn6f25uhcIUvgaOAUbiuDY=; b=mayS3w30qmS+rZPtiD/5oxidLZ0KSfezc88wOY0sxepJLGU2vxaLONXnCfBCGJAXAzYLVJLO3nEcX/dBnAFu9RipUl9OuG77sF5Pd3mk9kit06IlEALaq9uTczjAWTStA8HB8q01g07js2i1u6/HsR5YhqYsMwUyFUj0j1l8I9EgheCBzjPMNZgHOeYn6k0Wb13Kx4IX1fm5tMbItqVB5zNHpizhp7Yj4WrmnL85/ktP2EyOme8QmTFp7y7Oey6fbsiukccmfB5Q+3GmKrU1Rq7mCth3ovgMGk5LGFb6yjHUoA0XCzOQKBbEO5pam0udWcy7mdqf/PilU/w1Kfm1dw== 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=Oh8l1NdA+CvCyNYtg7VYdNn6f25uhcIUvgaOAUbiuDY=; b=Bd+uCB5VrU2S78Wr/NwHU/yccHf5im947p1bpp7OlP+gzZ+dE82Zxy9eayJeg54BobTpNXGaThUOlRFTDH65etZiOBP9tFDHrYPi0/MLw0j15iS139i/UM2hf/GEbPMIsLlbPldXUMVx3bBH6HE96s5E37MtmiMx/0oSOUV365E= Received: from CY4PR11MB1928.namprd11.prod.outlook.com (2603:10b6:903:11e::18) by CY4PR1101MB2358.namprd11.prod.outlook.com (2603:10b6:903:ba::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3805.17; Wed, 3 Feb 2021 02:43:02 +0000 Received: from CY4PR11MB1928.namprd11.prod.outlook.com ([fe80::ec50:9bc1:ff02:1387]) by CY4PR11MB1928.namprd11.prod.outlook.com ([fe80::ec50:9bc1:ff02:1387%5]) with mapi id 15.20.3805.028; Wed, 3 Feb 2021 02:43:02 +0000 From: "Sheng Wei" To: "Yao, Jiewen" , "devel@edk2.groups.io" CC: "Dong, Eric" , "Ni, Ray" , "Laszlo Ersek" , "Kumar, Rahul1" Subject: Re: [edk2-devel] [PATCH 2/2] UefiCpuPkg/CpuExceptionHandlerLib: Clear CET shadow stack token busy bit Thread-Topic: [edk2-devel] [PATCH 2/2] UefiCpuPkg/CpuExceptionHandlerLib: Clear CET shadow stack token busy bit Thread-Index: AQHW93Lnb/McfQ+45ECyvbkzKx/yrapFu5Ig Date: Wed, 3 Feb 2021 02:43:02 +0000 Message-ID: References: <20210129075946.31684-1-w.sheng@intel.com> <20210129075946.31684-3-w.sheng@intel.com> <165F2D66EAF4D84C.16314@groups.io> 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: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.55.46.46] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 973b934e-00bb-4556-d2e4-08d8c7ed6cf8 x-ms-traffictypediagnostic: CY4PR1101MB2358: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:2657; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ZoVUYpiVI9uH7NtH0+2b53FWmXI03Bt1sCrvv/LnLVJQziJRWSsbFk3O0UsUAyKSseHRKgzlJIt/Gyk0Q55eBMHWZpSeblDNPIgNRTv0qN5JySGOxozaoJ7dj0OnXhkhqpO+lRrWaEIHjasInBlQDcS04ocOGaInSCKwZDSagtVBeaIIUGy4d0qg6IjZJ9aPQNpfuW1RdtG8mcuFMtpQ3u4VutvKXHNEgtltD9V9aaLPwIYd7A4NwQOnnESLFsfwj+S4Lt7hPdi3gMZIf5J36nKT1XPrd5NgYLWdu4TVvn60rkTu8Bmhb6GU0Vz0ypXyV2A4/NkY7ZPxaJa16o26voHePjOiXxkaSLuw1ITbh+73T0OfXvMB1OR5KR4o69Iix3DBNuQ41WXtNQsJiwVYZuQhxg5NTlZzxl2wP96LTygnSn8zs0Sj8NXlSUKFSouExkDNaIYYZHOYOWDZo2xXokLWjI9SKJB3RaVq+tJWKF/wEYn1HIvQOLo0syZdDBYMDCgFrE4psbEGLG2OB3hoaVsPPyJP3T7G0rgowHyE7r+1aChLa1Frr5MrcGM73Krgr/PsiQK0+mi8rj3yveITckmBWF9K8G0IC9w9ZxsTSMF8UvytYnywhHWguuGkKA8ic6j75Mc9RS+z+CY7woBdqg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY4PR11MB1928.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(376002)(39860400002)(136003)(396003)(346002)(5660300002)(83380400001)(52536014)(107886003)(9686003)(55016002)(8676002)(4326008)(19627235002)(54906003)(66446008)(66556008)(64756008)(33656002)(86362001)(2906002)(76116006)(8936002)(110136005)(71200400001)(30864003)(186003)(966005)(7696005)(316002)(66476007)(66946007)(6506007)(53546011)(478600001)(26005)(21314003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?gb2312?B?NWtFSHNoWnRObTJqbVVHc1VsSFJzc0p0MjZDQ0RBa1BiU254YnJDKytyanVQ?= =?gb2312?B?YkV4OXNEbjFabCtIMWQwYUQ4WVRiL28vSkRBNUI0S1QrQlpIS0h1WU9UaTg1?= =?gb2312?B?Q2VMTWRQY0UzN0RFbUZ0UFlIL0gzQzYrQ1ZpZk0zbUpCRVNiWE9UZzBsWHFj?= =?gb2312?B?eXl0MmNGOXJOeHAxRkRXYjQrb2JCVnd4RzlFNlJLYk5WVENSL3YzMmN6TkIv?= =?gb2312?B?Yk43TUl0bm5IN3djVHNvb1diTWNybWE2TWZ5UzY4eThPUWpVdVRMYXhsN05x?= =?gb2312?B?YmI4OW1DOG92N0VFenNPOExIWXljTjlRR1F2RXJKa1k2eThtMDFhTkhFMGVL?= =?gb2312?B?Wnh0bmRXa2xCYW9xTXFjOFRYNUZmaklQMXJQeXFweUV2enNCdk5GM05HVGhY?= =?gb2312?B?akxaZ0ZhaW1McWhyNktCVDJuOURNRDdzanpsdHVmVjErNFBxTGVXN1ZUZndD?= =?gb2312?B?cXNlYmRmb2Jqa01wTW1Gc3REVjhPUnVYQ1Y3VTNDSzMyNkEvei9sbXY0ZDZu?= =?gb2312?B?TWFPNXRJK3BGUDNhS3ZzMDdMNVZIVHhmc0J5V3QrVEpkYUljU2t0cTNWMnM4?= =?gb2312?B?N01BUHYxazRqSFdGNGFnTnQ5dHZVRXlJOTFJdUFPMGxmNlVWVXpraXlXMW9G?= =?gb2312?B?L1EvVzlQamg1Mmd5UWtQdGlPMlFLZnJuWTBSckRzRGYzK1IvaUN4ZHZBTlhB?= =?gb2312?B?VmVyR3hDR1JkWXNBZVNadjJEdEd4ekZ0T0M5L3pKV0pTa1NzSmpuWlFLaWtO?= =?gb2312?B?RElyalh0SzhIUHlOTFNYTExkcjE1eWRWL09VRTFESzJwd2JJWVoxVExLMXBU?= =?gb2312?B?TXcrVEVsOTJiMGkzc1oza0xmREN0K2J4NnJNbldhTG53RmZHMDQrM1YwRVpY?= =?gb2312?B?K1Q1Q2NUVUJqTFdYbnRFaVZWbDFoTmttNTNJM1ByTUFvV09GQU1iTFJoTkI4?= =?gb2312?B?Yi9May9UTE1SQkVVRWE5aWtnSFp6Yk5DV2JZM2hsbVJRbHRRSitNTXZqSTZF?= =?gb2312?B?NkpiUFlHN0k2ekNQY09RRDVjTE9rT204T0tqTm5QMGVDZEVrVTdsS3ZFSkxI?= =?gb2312?B?VHljd3ZYK1ZQdUZjWEdrYTJiM212WkduS1VNdHJNUVpNdnhqNkRGMlN5MFMx?= =?gb2312?B?bTJTbkxMTEFqVjRQR29VMXZnQ2NJaEd0ZVh1dXRwQ1djc1Z0TEsvc2RNMVYz?= =?gb2312?B?bXdFY05iRG1XU3NmTzljNGNQdlNlN3B4aDVBajF6WDVXMEFLM0NyUDVkL2dh?= =?gb2312?B?YWxaUXV6cGhoQmxrbEcyNEVtM3hOUWxEZzFsanc4UnVFSWpYYzNpMDhFY3p4?= =?gb2312?B?M0tWb2MvYkEwZXhvOEN2Q3o1TEltMTBZZ0w4V08zcXp2eUlaQUFnK280Z1ZF?= =?gb2312?B?Ym9xd0U2ODNhaWhEekRLSkJqbGdtS1Z5YjVnVThSa1poQXphZWo5V3FHV1BO?= =?gb2312?B?ai8zcENMQktkVTR2ODlVRkppUHNmMUFVOUlhZGt2S3lpTW5GclVXMDZwSTh5?= =?gb2312?B?ck1QNS9yNm5PSjV1ZnUrTXNiVDFRTEw5dXdKTVF3NlVId1NpRk5Hck9zZXVa?= =?gb2312?B?Nk80MU1rZXVUbTdadVhQaDIxakV1UTFSd29tTVlWWWFzNHlVQ1ArUm4ycnFC?= =?gb2312?B?S28wYUhJZldnSVdsQmRnemdXRCtjNVdPWGw3aC9RZ0tNL3dWWUZaQTgwT0Z3?= =?gb2312?B?N3ViWUVLM0dlaUhWZHhQUkpaYnJINUJKbkhMMmI2cEtpbnVWYmU0TGRiNktE?= =?gb2312?Q?//qjabfiyKr0nSKfDo=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CY4PR11MB1928.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 973b934e-00bb-4556-d2e4-08d8c7ed6cf8 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Feb 2021 02:43:02.1288 (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: O42Y923pOk/ePwD1o41NCm0P6Miha7F4r4UpZgtAYtGSf/mX3ZeeFspBGuPC5MwibaujVOM38Vk373X5mSsvQA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR1101MB2358 Return-Path: w.sheng@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 SGkgSmlld2VuLA0KVGhhbmsgeW91IGZvciB0aGUgY29tbWVudHMuDQoxKSANCkkgaGF2ZSB0cmll ZCBDRVQgaXMgd29ya2luZyBpZiBzZXQgZ1VlZmlDcHVQa2dUb2tlblNwYWNlR3VpZC5QY2RDcHVT bW1SZXN0cmljdGVkTWVtb3J5QWNjZXNzID0gVFJVRQ0KDQoyKQ0KMykNCkkgd2lsbCBhZGQgZGV0 YWlsIGNvbW1lbnRzIGFuZCBhZGQgc2hhZG93IHN0YWNrIGxheW91dCBpbiB0aGUgc291cmNlIGNv ZGUgZmlsZS4NCg0KNCkgDQpTb3JyeSBmb3IgbWlzcyB0aGUgY29kZSBpbiBmaWxlIGh0dHBzOi8v Z2l0aHViLmNvbS90aWFub2NvcmUvZWRrMi9ibG9iL21hc3Rlci9VZWZpQ3B1UGtnL1BpU21tQ3B1 RHhlU21tL1g2NC9TbW1GdW5jc0FyY2guYw0KSSB3aWxsIHVwZGF0ZSB0aGUgY29kZSBpbiBuZXh0 IHBhdGNoIHNldC4NCg0KSSB3aWxsIHJhaXNlIHBhdGNoIFYyIGFmdGVyIHdlIGdldCB0aGUgY29u c2Vuc3VzIG9mIHVzaW5nIEJEIHh4eCBvciB1cGRhdGUgTkFTTSB2ZXJzaW9uIGZvciBDRVQgaW5z dHJ1Y3Rpb24gc3VwcG9ydC4NCkJSDQpTaGVuZyBXZWkNCg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVz c2FnZS0tLS0tDQo+IEZyb206IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT4NCj4g U2VudDogMjAyMcTqMdTCMzHI1SA5OjQ3DQo+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgWWFv LCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPjsgU2hlbmcsIFcNCj4gPHcuc2hlbmdAaW50 ZWwuY29tPg0KPiBDYzogRG9uZywgRXJpYyA8ZXJpYy5kb25nQGludGVsLmNvbT47IE5pLCBSYXkg PHJheS5uaUBpbnRlbC5jb20+OyBMYXN6bG8NCj4gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPjsg S3VtYXIsIFJhaHVsMSA8cmFodWwxLmt1bWFyQGludGVsLmNvbT4NCj4gU3ViamVjdDogUkU6IFtl ZGsyLWRldmVsXSBbUEFUQ0ggMi8yXSBVZWZpQ3B1UGtnL0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWI6 DQo+IENsZWFyIENFVCBzaGFkb3cgc3RhY2sgdG9rZW4gYnVzeSBiaXQNCj4gDQo+IE9uZSBtb3Jl IHF1ZXN0aW9uOg0KPiANCj4gNCkgSSBzYXcgZnJvbSBvcmlnaW5hbCBhdXRob3IncyBub3RlOiBU aGUgaW50ZXJydXB0IFNTUCB0YWJsZSBwb2ludCBzaG91bGQgYmUNCj4gMHhGRjAuDQo+IA0KPiBJ IGhhdmUgbm90IHNlZW4geW91IHVwZGF0ZQ0KPiBodHRwczovL2dpdGh1Yi5jb20vdGlhbm9jb3Jl L2VkazIvYmxvYi9tYXN0ZXIvVWVmaUNwdVBrZy9QaVNtbUNwdUR4DQo+IGVTbW0vWDY0L1NtbUZ1 bmNzQXJjaC5jI0wxOTQNCj4gDQo+IE1heSBJIGtub3cgdGhhdCBTU1AgdGFibGUgcG9pbnQgaXMg Pw0KPiANCj4gDQo+IA0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTog ZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYgT2Yg WWFvLA0KPiA+IEppZXdlbg0KPiA+IFNlbnQ6IFN1bmRheSwgSmFudWFyeSAzMSwgMjAyMSA5OjM4 IEFNDQo+ID4gVG86IFNoZW5nLCBXIDx3LnNoZW5nQGludGVsLmNvbT47IGRldmVsQGVkazIuZ3Jv dXBzLmlvDQo+ID4gQ2M6IERvbmcsIEVyaWMgPGVyaWMuZG9uZ0BpbnRlbC5jb20+OyBOaSwgUmF5 IDxyYXkubmlAaW50ZWwuY29tPjsNCj4gPiBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29t PjsgS3VtYXIsIFJhaHVsMQ0KPiA+IDxyYWh1bDEua3VtYXJAaW50ZWwuY29tPjsgWWFvLCBKaWV3 ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPg0KPiA+IFN1YmplY3Q6IFJlOiBbZWRrMi1kZXZlbF0g W1BBVENIIDIvMl0NCj4gVWVmaUNwdVBrZy9DcHVFeGNlcHRpb25IYW5kbGVyTGliOg0KPiA+IENs ZWFyIENFVCBzaGFkb3cgc3RhY2sgdG9rZW4gYnVzeSBiaXQNCj4gPg0KPiA+IEhpDQo+ID4gSSBo YXZlIHNvbWUgZmVlZGJhY2suDQo+ID4NCj4gPiAxKSBXb3VsZCB5b3UgcGxlYXNlIGNvbmZpcm0g eW91IGhhdmUgdmFsaWRhdGVkIHRoZQ0KPiA+DQo+IGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2Nv cmUvZWRrMi90cmVlL21hc3Rlci9VZWZpQ3B1UGtnL0xpYnJhcnkvU21tQw0KPiBwDQo+ID4gdUYN Cj4gPiBlYXR1cmVzTGliIGFuZA0KPiA+DQo+IGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUv ZWRrMi90cmVlL21hc3Rlci9VZWZpQ3B1UGtnL1BpU21tQ3B1RHgNCj4gZVNtDQo+ID4gbSB3aXRo IGR5bmFtaWMgcGFnaW5nIHR1cm4gb24NCj4gPg0KPiAoZ1VlZmlDcHVQa2dUb2tlblNwYWNlR3Vp ZC5QY2RDcHVTbW1SZXN0cmljdGVkTWVtb3J5QWNjZXNzfEZBTFNFDQo+ICksDQo+ID4gYW5kIHdp dGggbXVsdGlwbGUgcGFnZSBmYXVsdCB0cmlnZ2VyZWQgaW4gdGhlIGNvZGU/DQo+ID4NCj4gPiAy KSBXb3VsZCB5b3UgcGxlYXNlIGFkZCBjb21tZW50IGZvciB0aGUgYXNzZW1ibHkgaW5zdHJ1Y3Rp b24/DQo+ID4NCj4gPiBJIHNhdyBnb29kIGNvbW1lbnQgZnJvbSB0aGUgb3JpZ2luYWwgYXV0aG9y LiBOb3Qgc3VyZSB3aHkgeW91IHJlbW92ZWQNCj4gdGhlbT8NCj4gPg0KPiA+IAkgICBwdXNoICVy YXggICAgICAgICAgICAgICA7IFNTUCBzaG91bGQgYmUgMHhGRDggYXQgdGhpcyBwb2ludA0KPiA+ IAkgICBtb3YgJDB4MDQsICVyYXggICAgICAgICA7IGFkdmFuY2UgcGFzdCBjczpsaXA6cHJldnNz cDtzdXBlcnZpc29yDQo+IHNoYWRvdw0KPiA+IHN0YWNrIHRva2VuDQo+ID4gCSAgIElOQ1NTUCAl cmF4ICAgICAgICAgICAgOyBBZnRlciB0aGlzIFNTUCBzaG91bGQgYmUgMHhGRjgNCj4gPiAJICAg U0FWRVBSRVZTU1AgICAgICAgICAgICAgOyBub3cgcyBzaGFkb3cgc3RhY2sgcmVzdG9yZSB0b2tl biB3aWxsIGJlDQo+ID4gY3JlYXRlZCBhdCAweEZEMA0KPiA+IAkgICBSRFNTUCAlcmF4ICAgICAg ICAgICAgICA7IFJlYWQgbmV3IFNTUCAtIHNob3VsZCBiZSAweDEwMDANCj4gPiAJICAgQ0xSU1NC U1kgKCVyYXggLSAkMHgxMCkgOyBDbGVhciB0b2tlbiBhdCAweEZGMDsgU1NQIHNob3VsZCBiZSAw DQo+ID4gYWZ0ZXIgdGhpcw0KPiA+IAkgICBSRVNUT1JFU1NQICglcmF4IC0gJDB4MzApIDsgUmVz dG9yZSB0byB0b2tlbiBhdCAweEZEMCAtIG5ldyBTU1ANCj4gPiB3aWxsIGJlIDB4RkQwDQo+ID4g CSAgIE1vdiAkMHgwMSwgJXJheCAgICAgICAgIDsgUG9wIG9mZiB0aGUgbmV3IHNhdmUgdG9rZW4g Y3JlYXRlZA0KPiA+IAkgICBJTkNTU1AgJXJheCAgICAgICAgICAgIDsgU1NQIHNob3VsZCBiZSAw eEZEOCBub3cNCj4gPiAJICAgcG9wICVyYXggICAgICAgICAgICAgICAgOyByZXN0b3JlIHJheA0K PiA+IAkgICBSZXRmICAgICAgICAgICAgICAgICAgICA7IFJldHVybg0KPiA+DQo+ID4gMykgUGxl YXNlIGRyYXcgdGhlIHN0YWNrIGxheW91dCBpbiB0aGUgZmlsZS4gSXQgd2lsbCBoZWxwIG90aGVy IHBlb3BsZQ0KPiA+IG1haW50YWluIHRoZSBjb2RlIGxhdGVyLg0KPiA+DQo+ID4gRm9yIGV4YW1w bGU6DQo+ID4NCj4gPiAgICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKw0KPiA+IDB4RkQwIHwgICBGUkVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgLy8gaXQgaXMgMHhGRDh8MHgwMnwoTE1BICYgQ1MuTCksIGFmdGVyDQo+ID4gU0FW RVBSRVZTU1AuDQo+ID4gICAgICAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSsNCj4gPiAweEZEOCB8ICBQcmV2IFNTUCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8DQo+ID4gICAgICAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSsNCj4gPiAweEZFMCB8ICAgUklQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwNCj4gPiAgICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKw0KPiA+IDB4RkU4IHwgICBDUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwNCj4gPiAgICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKw0KPiA+IDB4RkYwIHwgIDB4RkYwIHwgQlVTWSAgICAgICAgICAgICAgICAgICAg ICAgIHwgLy8gQlVTWSBmbGFnIGNsZWFyZWQgYWZ0ZXIgQ0xSU1NCU1kNCj4gPiAgICAgICAgICAg ICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KPiA+IDB4RkY4IHwgMHhG RDh8MHgwMnwoTE1BICYgQ1MuTCkgfA0KPiA+ICAgICAgICAgICAgICstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rDQo+ID4NCj4gPiBUaGFuayB5b3UNCj4gPiBZYW8gSmlld2Vu DQo+ID4NCj4gPg0KPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+IEZyb206 IFNoZW5nLCBXIDx3LnNoZW5nQGludGVsLmNvbT4NCj4gPiA+IFNlbnQ6IEZyaWRheSwgSmFudWFy eSAyOSwgMjAyMSA0OjAwIFBNDQo+ID4gPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gPiA+ IENjOiBEb25nLCBFcmljIDxlcmljLmRvbmdAaW50ZWwuY29tPjsgTmksIFJheSA8cmF5Lm5pQGlu dGVsLmNvbT47DQo+ID4gPiBMYXN6bG8NCj4gPiBFcnNlaw0KPiA+ID4gPGxlcnNla0ByZWRoYXQu Y29tPjsgS3VtYXIsIFJhaHVsMSA8cmFodWwxLmt1bWFyQGludGVsLmNvbT47IFlhbywNCj4gPiBK aWV3ZW4NCj4gPiA+IDxqaWV3ZW4ueWFvQGludGVsLmNvbT4NCj4gPiA+IFN1YmplY3Q6IFtQQVRD SCAyLzJdIFVlZmlDcHVQa2cvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYjogQ2xlYXIgQ0VUDQo+ID4g PiBzaGFkb3cgc3RhY2sgdG9rZW4gYnVzeSBiaXQNCj4gPiA+DQo+ID4gPiBJZiBDRVQgc2hhZG93 cyBzdGFjayBmZWF0dXJlIGVuYWJsZWQgaW4gU01NIGFuZCBzdGFjayBzd2l0Y2ggaXMgZW5hYmxl ZC4NCj4gPiA+IFdoZW4gY29kZSBleGVjdXRlIGZyb20gU01NIGhhbmRsZXIgdG8gU01NIGV4Y2Vw dGlvbiwgQ1BVIHdpbGwNCj4gY2hlY2sNCj4gPiBTTU0NCj4gPiA+IGV4Y2VwdGlvbiBzaGFkb3cg c3RhY2sgdG9rZW4gYnVzeSBiaXQgaWYgaXQgaXMgY2xlYXJlZCBvciBub3QuDQo+ID4gPiBJZiBp dCBpcyBzZXQsIGl0IHdpbGwgdHJpZ2dlciAjREYgZXhjZXB0aW9uLg0KPiA+ID4gSWYgaXQgaXMg bm90IHNldCwgQ1BVIHdpbGwgc2V0IHRoZSBidXN5IGJpdCB3aGVuIGVudGVyIFNNTSBleGNlcHRp b24uDQo+ID4gPiBUaGUgYnVzeSBiaXQgc2hvdWxkIGJlIGNsZWFyZWQgd2hlbiByZXR1cm4gYmFj ayBmb3JtIFNNTSBleGNlcHRpb24NCj4gPiA+IHRvIFNNTSBoYW5kbGVyLiBPdGhlcndpc2UsIGtl ZXBpbmcgYnVzeSBiaXQgaW4gc2V0IHN0YXRlIHdpbGwgY2F1c2UNCj4gPiA+IHRvIHRyaWdnZXIg I0RGIGV4Y2VwdGlvbiB3aGVuIGVudGVyIFNNTSBleGNlcHRpb24gbmV4dCB0aW1lLg0KPiA+ID4g U28sIHdlIHVzZSBpbnN0cnVjdGlvbiBTQVZFUFJFVlNTUCwgQ0xSU1NCU1kgYW5kIFJTVE9SU1NQ IHRvIGNsZWFyDQo+ID4gPiB0aGUgc2hhZG93IHN0YWNrIHRva2VuIGJ1c3kgYml0IGJlZm9yZSBS RVRGIGluc3RydWN0aW9uIGluIFNNTQ0KPiBleGNlcHRpb24uDQo+ID4gPg0KPiA+ID4gUkVGOiBo dHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTMxOTINCj4gPiA+ DQo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBTaGVuZyBXZWkgPHcuc2hlbmdAaW50ZWwuY29tPg0KPiA+ ID4gQ2M6IEVyaWMgRG9uZyA8ZXJpYy5kb25nQGludGVsLmNvbT4NCj4gPiA+IENjOiBSYXkgTmkg PHJheS5uaUBpbnRlbC5jb20+DQo+ID4gPiBDYzogTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0 LmNvbT4NCj4gPiA+IENjOiBSYWh1bCBLdW1hciA8cmFodWwxLmt1bWFyQGludGVsLmNvbT4NCj4g PiA+IENjOiBKaWV3ZW4gWWFvIDxqaWV3ZW4ueWFvQGludGVsLmNvbT4NCj4gPiA+IC0tLQ0KPiA+ ID4gIC4uLi9EeGVDcHVFeGNlcHRpb25IYW5kbGVyTGliLmluZiAgICAgICAgICAgICAgICAgIHwg IDMgKysrDQo+ID4gPiAgLi4uL1BlaUNwdUV4Y2VwdGlvbkhhbmRsZXJMaWIuaW5mICAgICAgICAg ICAgICAgICAgfCAgMyArKysNCj4gPiA+ICAuLi4vU2VjUGVpQ3B1RXhjZXB0aW9uSGFuZGxlckxp Yi5pbmYgICAgICAgICAgICAgICB8ICA0ICsrKysNCj4gPiA+ICAuLi4vU21tQ3B1RXhjZXB0aW9u SGFuZGxlckxpYi5pbmYgICAgICAgICAgICAgICAgICB8ICAzICsrKw0KPiA+ID4gIC4uLi9YNjQv WGNvZGU1RXhjZXB0aW9uSGFuZGxlckFzbS5uYXNtICAgICAgICAgICAgIHwgMjgNCj4gPiA+ICsr KysrKysrKysrKysrKysrKysrKy0NCj4gPiA+ICAuLi4vWGNvZGU1U2VjUGVpQ3B1RXhjZXB0aW9u SGFuZGxlckxpYi5pbmYgICAgICAgICB8ICA0ICsrKysNCj4gPiA+ICA2IGZpbGVzIGNoYW5nZWQs IDQ0IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkNCj4gPiA+DQo+ID4gPiBkaWZmIC0tZ2l0 DQo+ID4gPg0KPiA+DQo+IGEvVWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4Y2VwdGlvbkhhbmRsZXJM aWIvRHhlQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi4NCj4gPiBpbmYNCj4gPiA+DQo+ID4NCj4gYi9V ZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9EeGVDcHVFeGNlcHRpb25I YW5kbGVyTGliLg0KPiA+IGluZg0KPiA+ID4gaW5kZXggMDdiMzRjOTJhOC4uZTdhODFiZWJkYiAx MDA2NDQNCj4gPiA+IC0tLQ0KPiA+ID4NCj4gPg0KPiBhL1VlZmlDcHVQa2cvTGlicmFyeS9DcHVF eGNlcHRpb25IYW5kbGVyTGliL0R4ZUNwdUV4Y2VwdGlvbkhhbmRsZXJMaWIuDQo+ID4gaW5mDQo+ ID4gPiArKysNCj4gPiA+DQo+ID4NCj4gYi9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9u SGFuZGxlckxpYi9EeGVDcHVFeGNlcHRpb25IYW5kbGVyTGliLg0KPiA+IGluZg0KPiA+ID4gQEAg LTQzLDYgKzQzLDkgQEANCj4gPiA+ICAgIGdVZWZpQ3B1UGtnVG9rZW5TcGFjZUd1aWQuUGNkQ3B1 U3RhY2tTd2l0Y2hFeGNlcHRpb25MaXN0DQo+ID4gPiAgICBnVWVmaUNwdVBrZ1Rva2VuU3BhY2VH dWlkLlBjZENwdUtub3duR29vZFN0YWNrU2l6ZQ0KPiA+ID4NCj4gPiA+ICtbRmVhdHVyZVBjZF0N Cj4gPiA+ICsgIGdVZWZpQ3B1UGtnVG9rZW5TcGFjZUd1aWQuUGNkQ3B1U21tU3RhY2tHdWFyZCAg ICAgICAgICAgICAgICAgICAgIyMNCj4gPiA+IENPTlNVTUVTDQo+ID4gPiArDQo+ID4gPiAgW1Bh Y2thZ2VzXQ0KPiA+ID4gICAgTWRlUGtnL01kZVBrZy5kZWMNCj4gPiA+ICAgIE1kZU1vZHVsZVBr Zy9NZGVNb2R1bGVQa2cuZGVjDQo+ID4gPiBkaWZmIC0tZ2l0DQo+ID4gPg0KPiBhL1VlZmlDcHVQ a2cvTGlicmFyeS9DcHVFeGNlcHRpb25IYW5kbGVyTGliL1BlaUNwdUV4Y2VwdGlvbkhhbmRsZXJM aQ0KPiA+ID4gYi5pbmYNCj4gPiA+DQo+IGIvVWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4Y2VwdGlv bkhhbmRsZXJMaWIvUGVpQ3B1RXhjZXB0aW9uSGFuZGxlckxpDQo+ID4gPiBiLmluZg0KPiA+ID4g aW5kZXggZmVhZTdiM2UwNi4uY2Y1YmZlNDA4MyAxMDA2NDQNCj4gPiA+IC0tLQ0KPiA+ID4NCj4g YS9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9QZWlDcHVFeGNlcHRp b25IYW5kbGVyTGkNCj4gPiA+IGIuaW5mDQo+ID4gPiArKysNCj4gPiA+DQo+IGIvVWVmaUNwdVBr Zy9MaWJyYXJ5L0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWIvUGVpQ3B1RXhjZXB0aW9uSGFuZGxlckxp DQo+ID4gPiBiLmluZg0KPiA+ID4gQEAgLTU3LDMgKzU3LDYgQEANCj4gPiA+ICBbUGNkXQ0KPiA+ ID4gICAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZENwdVN0YWNrR3VhcmQgICAg IyBDT05TVU1FUw0KPiA+ID4NCj4gPiA+ICtbRmVhdHVyZVBjZF0NCj4gPiA+ICsgIGdVZWZpQ3B1 UGtnVG9rZW5TcGFjZUd1aWQuUGNkQ3B1U21tU3RhY2tHdWFyZCAgICAgICAgICAgICAgICAgICAg IyMNCj4gPiA+IENPTlNVTUVTDQo+ID4gPiArDQo+ID4gPiBkaWZmIC0tZ2l0DQo+ID4gPg0KPiA+ DQo+IGEvVWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWIvU2VjUGVpQ3B1 RXhjZXB0aW9uSGFuZGxlcg0KPiBMDQo+ID4gaWIuaQ0KPiA+ID4gbmYNCj4gPiA+DQo+ID4NCj4g Yi9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9TZWNQZWlDcHVFeGNl cHRpb25IYW5kbGVyDQo+IEwNCj4gPiBpYi5pDQo+ID4gPiBuZg0KPiA+ID4gaW5kZXggOTY3Y2I2 MWJhNi4uOGFlNGZlYWU2MiAxMDA2NDQNCj4gPiA+IC0tLQ0KPiA+ID4NCj4gPg0KPiBhL1VlZmlD cHVQa2cvTGlicmFyeS9DcHVFeGNlcHRpb25IYW5kbGVyTGliL1NlY1BlaUNwdUV4Y2VwdGlvbkhh bmRsZXINCj4gTA0KPiA+IGliLmkNCj4gPiA+IG5mDQo+ID4gPiArKysNCj4gPiA+DQo+ID4NCj4g Yi9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9TZWNQZWlDcHVFeGNl cHRpb25IYW5kbGVyDQo+IEwNCj4gPiBpYi5pDQo+ID4gPiBuZg0KPiA+ID4gQEAgLTQ5LDMgKzQ5 LDcgQEANCj4gPiA+ICAgIExvY2FsQXBpY0xpYg0KPiA+ID4gICAgUGVDb2ZmR2V0RW50cnlQb2lu dExpYg0KPiA+ID4gICAgVm1nRXhpdExpYg0KPiA+ID4gKw0KPiA+ID4gK1tGZWF0dXJlUGNkXQ0K PiA+ID4gKyAgZ1VlZmlDcHVQa2dUb2tlblNwYWNlR3VpZC5QY2RDcHVTbW1TdGFja0d1YXJkICAg ICAgICAgICAgICAgICAgICAjIw0KPiA+ID4gQ09OU1VNRVMNCj4gPiA+ICsNCj4gPiA+IGRpZmYg LS1naXQNCj4gPiA+DQo+ID4NCj4gYS9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFu ZGxlckxpYi9TbW1DcHVFeGNlcHRpb25IYW5kbGVyTGkNCj4gYi4NCj4gPiBpbmYNCj4gPiA+DQo+ ID4NCj4gYi9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9TbW1DcHVF eGNlcHRpb25IYW5kbGVyTGkNCj4gYi4NCj4gPiBpbmYNCj4gPiA+IGluZGV4IDRjZGIxMWMwNGUu LjVjM2QxZjdjZmQgMTAwNjQ0DQo+ID4gPiAtLS0NCj4gPiA+DQo+ID4NCj4gYS9VZWZpQ3B1UGtn L0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9TbW1DcHVFeGNlcHRpb25IYW5kbGVyTGkN Cj4gYi4NCj4gPiBpbmYNCj4gPiA+ICsrKw0KPiA+ID4NCj4gPg0KPiBiL1VlZmlDcHVQa2cvTGli cmFyeS9DcHVFeGNlcHRpb25IYW5kbGVyTGliL1NtbUNwdUV4Y2VwdGlvbkhhbmRsZXJMaQ0KPiBi Lg0KPiA+IGluZg0KPiA+ID4gQEAgLTUzLDMgKzUzLDYgQEANCj4gPiA+ICAgIERlYnVnTGliDQo+ ID4gPiAgICBWbWdFeGl0TGliDQo+ID4gPg0KPiA+ID4gK1tGZWF0dXJlUGNkXQ0KPiA+ID4gKyAg Z1VlZmlDcHVQa2dUb2tlblNwYWNlR3VpZC5QY2RDcHVTbW1TdGFja0d1YXJkICAgICAgICAgICAg ICAgICAgICAjIw0KPiA+ID4gQ09OU1VNRVMNCj4gPiA+ICsNCj4gPiA+IGRpZmYgLS1naXQNCj4g PiA+DQo+ID4NCj4gYS9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9Y NjQvWGNvZGU1RXhjZXB0aW9uSGFuZGxlDQo+IHINCj4gPiBBcw0KPiA+ID4gbS5uYXNtDQo+ID4g Pg0KPiA+DQo+IGIvVWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWIvWDY0 L1hjb2RlNUV4Y2VwdGlvbkhhbmRsZQ0KPiByDQo+ID4gQXMNCj4gPiA+IG0ubmFzbQ0KPiA+ID4g aW5kZXggMjZjYWU1NmNjNS4uMTNmZDE0N2YxMSAxMDA2NDQNCj4gPiA+IC0tLQ0KPiA+ID4NCj4g Pg0KPiBhL1VlZmlDcHVQa2cvTGlicmFyeS9DcHVFeGNlcHRpb25IYW5kbGVyTGliL1g2NC9YY29k ZTVFeGNlcHRpb25IYW5kbGUNCj4gcg0KPiA+IEFzDQo+ID4gPiBtLm5hc20NCj4gPiA+ICsrKw0K PiA+ID4NCj4gPg0KPiBiL1VlZmlDcHVQa2cvTGlicmFyeS9DcHVFeGNlcHRpb25IYW5kbGVyTGli L1g2NC9YY29kZTVFeGNlcHRpb25IYW5kbGUNCj4gcg0KPiA+IEFzDQo+ID4gPiBtLm5hc20NCj4g PiA+IEBAIC0xLDUgKzEsNSBAQA0KPiA+ID4NCj4gPiA+IDstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gPiAtLS0t LS0tLS0tLSA7IC07IENvcHlyaWdodCAoYykgMjAxMiAtIDIwMTgsIEludGVsIENvcnBvcmF0aW9u LiBBbGwNCj4gPiA+IHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ID4gPiArOyBDb3B5cmlnaHQgKGMp IDIwMTIgLSAyMDIxLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cw0KPiA+ID4gK3Jlc2Vy dmVkLjxCUj4NCj4gPiA+ICA7IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2Ut UGF0ZW50ICA7ICA7IE1vZHVsZSBOYW1lOg0KPiA+ID4gQEAgLTEzLDYgKzEzLDcgQEANCj4gPiA+ ICA7IE5vdGVzOg0KPiA+ID4gIDsNCj4gPiA+DQo+ID4gPiA7LS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ID4gLS0t LS0tLS0tLS0NCj4gPiA+ICslaW5jbHVkZSAiTmFzbS5pbmMiDQo+ID4gPg0KPiA+ID4gIDsNCj4g PiA+ICA7IENvbW1vbkV4Y2VwdGlvbkhhbmRsZXIoKQ0KPiA+ID4gQEAgLTIzLDYgKzI0LDcgQEAN Cj4gPiA+ICBleHRlcm4gQVNNX1BGWChtRXJyb3JDb2RlRmxhZykgICAgOyBFcnJvciBjb2RlIGZs YWdzIGZvciBleGNlcHRpb25zDQo+ID4gPiAgZXh0ZXJuIEFTTV9QRlgobURvRmFyUmV0dXJuRmxh ZykgIDsgRG8gZmFyIHJldHVybiBmbGFnICBleHRlcm4NCj4gPiA+IEFTTV9QRlgoQ29tbW9uRXhj ZXB0aW9uSGFuZGxlcikNCj4gPiA+ICtleHRlcm4gQVNNX1BGWChGZWF0dXJlUGNkR2V0IChQY2RD cHVTbW1TdGFja0d1YXJkKSkNCj4gPiA+DQo+ID4gPiAgU0VDVElPTiAuZGF0YQ0KPiA+ID4NCj4g PiA+IEBAIC0zNzEsNiArMzczLDMwIEBAIERvUmV0dXJuOg0KPiA+ID4gICAgICBwdXNoICAgIHF3 b3JkIFtyYXggKyAweDE4XSAgICAgICA7IHNhdmUgRUZMQUdTIGluIG5ldyBsb2NhdGlvbg0KPiA+ ID4gICAgICBtb3YgICAgIHJheCwgW3JheF0gICAgICAgIDsgcmVzdG9yZSByYXgNCj4gPiA+ICAg ICAgcG9wZnEgICAgICAgICAgICAgICAgICAgICA7IHJlc3RvcmUgRUZMQUdTDQo+ID4gPiArDQo+ ID4gPiArICAgIHB1c2ggICAgcmF4DQo+ID4gPiArICAgIGNtcCAgICAgYnl0ZSBbZHdvcmQgQVNN X1BGWChGZWF0dXJlUGNkR2V0DQo+IChQY2RDcHVTbW1TdGFja0d1YXJkKSldLCAwDQo+ID4gPiAr ICAgIGp6ICAgICAgQ2V0RG9uZQ0KPiA+ID4gKyAgICBtb3YgICAgIHJheCwgY3I0DQo+ID4gPiAr ICAgIGFuZCAgICAgcmF4LCAweDgwMDAwMCAgICAgOyBjaGVjayBpZiBDRVQgaXMgZW5hYmxlZA0K PiA+ID4gKyAgICBqeiAgICAgIENldERvbmUNCj4gPiA+ICsgICAgcHVzaCAgICByYngNCj4gPiA+ ICsgICAgbW92ICAgICByYXgsIDB4MDQNCj4gPiA+ICsgICAgSU5DU1NQX1JBWA0KPiA+ID4gKyAg ICBTQVZFUFJFVlNTUA0KPiA+ID4gKyAgICBSRUFEU1NQX1JBWA0KPiA+ID4gKyAgICBtb3YgICAg IHJieCwgcmF4DQo+ID4gPiArICAgIHN1YiAgICAgcmF4LCAweDEwDQo+ID4gPiArICAgIENMUlNT QlNZX1JBWA0KPiA+ID4gKyAgICBtb3YgICAgIHJheCwgcmJ4DQo+ID4gPiArICAgIHN1YiAgICAg cmF4LCAweDMwDQo+ID4gPiArICAgIFJTVE9SU1NQX1JBWA0KPiA+ID4gKyAgICBtb3YgICAgIHJh eCwgMHgwMQ0KPiA+ID4gKyAgICBJTkNTU1BfUkFYDQo+ID4gPiArICAgIHBvcCAgICAgcmJ4DQo+ ID4gPiArQ2V0RG9uZToNCj4gPiA+ICsgICAgcG9wICAgICByYXgNCj4gPiA+ICsNCj4gPiA+ICAg ICAgREIgICAgICAweDQ4ICAgICAgICAgICAgICAgOyBwcmVmaXggdG8gY29tcG9zaXRlICJyZXRx IiB3aXRoIG5leHQgInJldGYiDQo+ID4gPiAgICAgIHJldGYgICAgICAgICAgICAgICAgICAgICAg OyBmYXIgcmV0dXJuDQo+ID4gPiAgRG9JcmV0Og0KPiA+ID4gZGlmZiAtLWdpdA0KPiA+ID4NCj4g Pg0KPiBhL1VlZmlDcHVQa2cvTGlicmFyeS9DcHVFeGNlcHRpb25IYW5kbGVyTGliL1hjb2RlNVNl Y1BlaUNwdUV4Y2VwdGlvbg0KPiBIYQ0KPiA+IG4NCj4gPiA+IGRsZXJMaWIuaW5mDQo+ID4gPg0K PiA+DQo+IGIvVWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWIvWGNvZGU1 U2VjUGVpQ3B1RXhjZXB0aW9uDQo+IEhhDQo+ID4gbg0KPiA+ID4gZGxlckxpYi5pbmYNCj4gPiA+ IGluZGV4IDc0M2MyYWE3NjYuLmExNWYxMjVkNWIgMTAwNjQ0DQo+ID4gPiAtLS0NCj4gPiA+DQo+ ID4NCj4gYS9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9YY29kZTVT ZWNQZWlDcHVFeGNlcHRpb24NCj4gSGENCj4gPiBuDQo+ID4gPiBkbGVyTGliLmluZg0KPiA+ID4g KysrDQo+ID4gPg0KPiA+DQo+IGIvVWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4Y2VwdGlvbkhhbmRs ZXJMaWIvWGNvZGU1U2VjUGVpQ3B1RXhjZXB0aW9uDQo+IEhhDQo+ID4gbg0KPiA+ID4gZGxlckxp Yi5pbmYNCj4gPiA+IEBAIC01NCwzICs1NCw3IEBADQo+ID4gPiAgICBMb2NhbEFwaWNMaWINCj4g PiA+ICAgIFBlQ29mZkdldEVudHJ5UG9pbnRMaWINCj4gPiA+ICAgIFZtZ0V4aXRMaWINCj4gPiA+ ICsNCj4gPiA+ICtbRmVhdHVyZVBjZF0NCj4gPiA+ICsgIGdVZWZpQ3B1UGtnVG9rZW5TcGFjZUd1 aWQuUGNkQ3B1U21tU3RhY2tHdWFyZCAgICAgICAgICAgICAgICAgICAgIyMNCj4gPiA+IENPTlNV TUVTDQo+ID4gPiArDQo+ID4gPiAtLQ0KPiA+ID4gMi4xNi4yLndpbmRvd3MuMQ0KPiA+DQo+ID4N Cj4gPg0KPiA+IA0KPiA+DQoNCg==