From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.9]) by sourceware.org (Postfix) with ESMTPS id 0E3883856DE8 for ; Wed, 27 Sep 2023 15:57:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0E3883856DE8 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1695830231; x=1727366231; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=AWjFJzg2b5NMzKuoHzDnkIdqBB2N/F+7/FwZQGjsV44=; b=cP/uaFjlq2uNeMtqnL0eXb9wYWEiEVfN8kmUVuzcu1WOrBkp2ZGo21fQ DtP53NxKxX/h5Pcsz3fBhwesX8G6wnWLQ6PxdPprSEVDnKu/hFEisaB0c ZWjs4ggc9J/9jz/X4BA30HuPHSiOo7iJqNPgdUPlI2muynwRkTLKoz6a4 ppf5ZqXPhmZR9l0Rwd3hplp8rGYVlB8v9jnghzfF8Q3VvJBkfQwPjje9p TAFWe6p/EG1SFCTAk4Am7bmGqZ73/oO+kuQofyt0+qyZMfEBFa/th9MEk gxMJrXWtd5+UsQh8wNUxs07d0c4NNxcMSukXS04gJIFRAZQNZYj1qWCXy w==; X-IronPort-AV: E=McAfee;i="6600,9927,10846"; a="458715" X-IronPort-AV: E=Sophos;i="6.03,181,1694761200"; d="scan'208";a="458715" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orvoesa101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Sep 2023 08:57:10 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10846"; a="839501765" X-IronPort-AV: E=Sophos;i="6.03,181,1694761200"; d="scan'208";a="839501765" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by FMSMGA003.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 27 Sep 2023 08:57:07 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.32; Wed, 27 Sep 2023 08:57:07 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.32; Wed, 27 Sep 2023 08:57:06 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.32 via Frontend Transport; Wed, 27 Sep 2023 08:57:06 -0700 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.48) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.32; Wed, 27 Sep 2023 08:57:05 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=T4Z7l7H+VZYVn4Wg+aFkHQeqPVI3iuPHsjVlMCkno6d9LvmxYzJ3JS9f13BWr9ZwqesV+mMgXrQH1BMixDQ9VzvxmqEKSqjLo323c5grOk5cgUMGBfLzoiC+FiVp6xvJmAZ4RA4+E3QcZTiINNUcTyCgkJG7J6IEg4oZP/zFjpBq1rMLw6lifhzAmQMJP1Tt+xCvwuZOQm102Be4ezeHiEdXdNajvwyKQ68DpUxEE1JSA+PTIf9W/unv7aChB17HervAsR5wkW4EK3q6zDCf+cwh5FHe/So/HIKJdfirbIMv44Sn6giVkjkDwE9HB0dZqgVXdRLN3EuKKq61NOD1/Q== 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=AWjFJzg2b5NMzKuoHzDnkIdqBB2N/F+7/FwZQGjsV44=; b=AgDVFdEv1p6QoSwR7QPQjfd41ZzFP4AHgZfYd1UuedVuj1SmIm5YNsq1TA/HFhMaQO3jf92GRCd8xZKFL14Op06IcF54lIissrpv7+IhEWwFDsc0VhCYSUrPbvDwwT5Hsegve3OyQg+ysx/5M4+fGe0LGpzCxEZ+UHbfHfuNntB15WHIhltHi/8HDWwqnbS785l+OKbezyPNhzWi3D4NqIw3eBjWqsRsK1qXek1C0NwGVjXe5cZq9dwVAA3X5xhjl6jBFEsZUF6HCz7gZjW2MV2QcnbJqUtiAnFhJh3Hljkepp6fJVPD2ce1vHYbfGeKL8LUQY2YKNENH/zbu1K12g== 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 SJ0PR11MB5600.namprd11.prod.outlook.com (2603:10b6:a03:3ab::16) by PH0PR11MB5904.namprd11.prod.outlook.com (2603:10b6:510:14e::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.31; Wed, 27 Sep 2023 15:57:02 +0000 Received: from SJ0PR11MB5600.namprd11.prod.outlook.com ([fe80::d326:acc6:dd1:db5e]) by SJ0PR11MB5600.namprd11.prod.outlook.com ([fe80::d326:acc6:dd1:db5e%3]) with mapi id 15.20.6813.027; Wed, 27 Sep 2023 15:57:02 +0000 From: "Cui, Lili" To: "Beulich, Jan" CC: "Lu, Hongjiu" , "binutils@sourceware.org" Subject: RE: [PATCH 1/8] Support APX GPR32 with rex2 prefix Thread-Topic: [PATCH 1/8] Support APX GPR32 with rex2 prefix Thread-Index: AQHZ6w3vFxodTWpTjEmqTDYEZNd4N7AlakcAgACummA= Date: Wed, 27 Sep 2023 15:57:01 +0000 Message-ID: References: <20230919152527.497773-1-lili.cui@intel.com> <20230919152527.497773-2-lili.cui@intel.com> <2b287fde-d810-0642-f76e-a8b15e4b8cad@suse.com> In-Reply-To: <2b287fde-d810-0642-f76e-a8b15e4b8cad@suse.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: 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: SJ0PR11MB5600:EE_|PH0PR11MB5904:EE_ x-ms-office365-filtering-correlation-id: c7ff4c6a-5513-4824-c8eb-08dbbf726367 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: OgtvfDuXIBjh84Uo3wNQ8k93eOjTJ4rUBD0EmxgEBchwaxvREF2aZhOwzaB2JmNs6HRNTkIv0+8XEJ1QHSDk612Ir3eaqneLnwV4T8Wo/5Na+4wwJSJl7E6fZRZEsxWuNiLK8O3IvVVZWU0Mf/4j71BP5M2PgRXXPPGStJL8r62SmlWAh0Bq4upgBo7LS1tFZCH3A4oHhMlWhKb5Q7tD21+4pu5j76QtsWZqzZFoPtuo7guxRx0Z4LblnGiV3zLzgd6BEPDdE/vxlJlJbl1xdWQLYlmxk5egLPJpX+Tma1vSItusNIX6TiSdnGjJon2n1uBrP7kds5Z2d28+gayMlhcyZ1IdzirRB6BEWLesK1HEtQ8alifVzJsS6WQ2DX5lnPzhFADCQT0ZoTyZVsWNCpcoBvZbMRgTFaGKH3bzJUlcXVCPnUp/Tx9kVuorhI/cora6irWcYeS7QeFaHH0BbXSHC29yVBbEO9frK3PIGzwl0V15BT0T3VLvRn+Ityv28vPbvuKevNfCFMboJ7KjVtjMBasS+PRICLQoac0GGaM8M67Fl6a16F5U7kvykes32ZmjIT86J+2RBh4YscGTvhPNG2sSPLMXT9qdh8v34eq7QZ8y6x8MOhy1GWpGSYNb x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR11MB5600.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(346002)(39860400002)(136003)(396003)(376002)(230922051799003)(186009)(1800799009)(451199024)(66446008)(66476007)(9686003)(55016003)(316002)(26005)(41300700001)(64756008)(66556008)(66946007)(54906003)(478600001)(38070700005)(76116006)(7696005)(38100700002)(6506007)(71200400001)(82960400001)(53546011)(122000001)(6916009)(33656002)(86362001)(30864003)(2906002)(4326008)(52536014)(8676002)(8936002)(83380400001)(5660300002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VzFlMlRjaU1BR2ZjaGNyRnY1VjMxTDN6U1F4T0ZTVVhrbERmWTZ4eFN5OStX?= =?utf-8?B?NkJvbzBwejBSWmcvYzFucHlZQ1VMdzRvdm90OGova3JPWTFnblFWd2NjellT?= =?utf-8?B?eEJWOUNFcGVYVTlNdTYrcW43K3J0Q3J0c3EzWW9aMGtaVU9HS2VwcDZ2MGdN?= =?utf-8?B?SVIrYW5iL0NlblVKVDM2QXNxbE5xbDZlbmRUclFQRk5veFpwSTFKUnNWaFhY?= =?utf-8?B?blRBaWV5LytGbExRdys4dDIyZmRPUXpvTVIxd3p2dWdSdlVoODhBZ0crQ2xp?= =?utf-8?B?aURTRUxteHFBZ29LLzIrT2xSMVpHSGhKYXNnalFvSzFXcG13bi9HNVVXcUR1?= =?utf-8?B?azFxbVlDa3NoRmN3aURIaTdXSk54OFNvY0NvajlwbDNXWW9XdGhnbDlBd2Rh?= =?utf-8?B?UDlzVmhXdnNtaWdiRGVoSnlkOGkzclJYSU9IQ1o1NVBDRysyU0h3eHUrTlRY?= =?utf-8?B?VHNsYk1XcEhsUFBLVzFxT2Y1YXBLUlpnSzBnWjA3bzd2TEJHUUFaVEhrMnQ4?= =?utf-8?B?VlVlVTQwT2tiKzR3S3FaUzNPZXNtR2p0ckE0QkduMndzY0s0bW5pUFFoYUwx?= =?utf-8?B?dWM4d2tlQytyMDBKZE9SWkJvZng2TGF6eEF3NC81K2Y1a2cyNDhpbGJhMU1a?= =?utf-8?B?OEFISi9HMUdaR21jeFROYStYRnYwWUZ5YndTU3BUMGdBOEZCOEUvc1Y0UUF2?= =?utf-8?B?UkEvVTBtR295RkI0V3FTSzZCMno2TmQ2MWh3eFdBekpjODl5aDMxcWxnRklQ?= =?utf-8?B?YzhVSjlWNXE2dVFaS2cyNmo3VEV2Z1d4ZlpvVlBDQXkzZ3JEcmVhUHU3WVph?= =?utf-8?B?a0trOVk0QURyN2NVTW1iTVYyMFQybEV1NlV5QVF5R2Y3N3BnZFIxQksyUU0v?= =?utf-8?B?QUc0WUFaVERrUndpRFZmNkxQdTNFREVMZTkxL0wyOFVYQUorU2drVnNwMWgx?= =?utf-8?B?Y3VGajdMWmJFRUR4WElDWnVSMzYyeEFEdkxnQVZtY1lCQUlBVEZYMUtHNEp0?= =?utf-8?B?bmVRVTY3NFJJYmRDTUpUWFRIczJIcVVOZDJYQ1p3N0JROCtvd3JQWXc0cU14?= =?utf-8?B?OE1KT1BhTlRmWG5LdVZRMk9qRVF3VzRuZXdoQktFZ3ppN3FXQkJYc1ZTM1dY?= =?utf-8?B?THVaSHBWckJSN3ZWZUFFcXh1T1NHUnFDZUl3S2RCbXJ0d2tnaXRHVXhyVm1U?= =?utf-8?B?SHBIWUthdHk5cnNrREZRdU1LWEdHbEQ5M0tLMERpNEZTbmw2TEUyaEkzbGFP?= =?utf-8?B?SHNWSUJ2WXRxRk1HSzdUb3d1ZVdsMXNEdW9HVUpEMHlwYkJ0ME1tZzJUL0pR?= =?utf-8?B?N09HYlFFcXhMbFo1QUNwRk54dHpGNVlyUjRNMklQZ1AxeEY2a0xsUy9IRVJk?= =?utf-8?B?K3U3eDdrZUlSSmE2YUNMZWxwZlpOb1p5M1AvU0MrcmhuUnJRTkJqL3RTcFk3?= =?utf-8?B?Vm90WGxUWUcxRzJNNGo3K0JGZUZsUEUvK3JJbmdBRzV2djhGb0ZxZ2xrbG1D?= =?utf-8?B?dloyYjJTaW5TdC83WWMvd09XUzh4NXp5NEdWNDlPbVVzU1JmM2lJRTRRQVpZ?= =?utf-8?B?eHBGS3BaaWY2cnNRdTNNQ2VpVHVDclk2bXE5dEVObnpmRWFTQ3FqWnJJUlRS?= =?utf-8?B?R1R3VmhNSkkwNW1ZMFQ0ME55bVJqYzV1OFZjRUZrR01EV0M4Z1VZdjV6eXlT?= =?utf-8?B?dXRRM3JMN2RwdHluUGkyMDBwcEpINDVHcGFxNk9FdW50WGFlb2UweFV5WTlR?= =?utf-8?B?QWhCV3UyR290ZWd3SHIxNUdLS2VlUXRHY1NlM1JwUnZjeW1TUUg5dTV4SlQw?= =?utf-8?B?Y2VPTU4vYkNDSXg0VHFEV09HUndnL0prV2FmbEhWNUFET3BxNi9zTEo0Ly83?= =?utf-8?B?OFU1ck5GczNaTVVHTSs4NmhTQ1hBVGw0NTREZlhmb3lWK1NFM2RNMWFLbW5i?= =?utf-8?B?c0R1ZmtoK3JVSFNGSGlHTi81bHRYMmlBY1hHN1A3b2JvVDRhYk1tV3ZuWEdz?= =?utf-8?B?ZEh5T0ZiRFdOK3B4UWxxNU81SHJNN1ZHZDVkWHZISFAvMjh3eHQydzBNUmwr?= =?utf-8?B?dVY4VEswZmkvYVdjTFM2b2dPVncvTDV5N1czZmppNmF4dVNqaldvZVBORXpE?= =?utf-8?Q?M+9Y=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SJ0PR11MB5600.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c7ff4c6a-5513-4824-c8eb-08dbbf726367 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Sep 2023 15:57:01.7621 (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: mV9KR1HI6mj96k5Sr4rxGK4e5VxQEfofGYV10+xIjDHf4ew9erpJTg+DSlUbKNxKbI0N1z5mRZO8NHvSXw6h7A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB5904 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-5.9 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_NONE,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSmFuIEJldWxpY2ggPGpi ZXVsaWNoQHN1c2UuY29tPg0KPiBTZW50OiBUaHVyc2RheSwgU2VwdGVtYmVyIDIxLCAyMDIzIDEx OjI4IFBNDQo+IFRvOiBDdWksIExpbGkgPGxpbGkuY3VpQGludGVsLmNvbT4NCj4gQ2M6IEx1LCBI b25naml1IDxob25naml1Lmx1QGludGVsLmNvbT47IEtvbmcsIExpbmdsaW5nDQo+IDxsaW5nbGlu Zy5rb25nQGludGVsLmNvbT47IGJpbnV0aWxzQHNvdXJjZXdhcmUub3JnDQo+IFN1YmplY3Q6IFJl OiBbUEFUQ0ggMS84XSBTdXBwb3J0IEFQWCBHUFIzMiB3aXRoIHJleDIgcHJlZml4DQo+IA0KPiBP biAxOS4wOS4yMDIzIDE3OjI1LCBDdWksIExpbGkgd3JvdGU6DQo+ID4gLS0tIGEvZ2FzL2NvbmZp Zy90Yy1pMzg2LmMNCj4gPiArKysgYi9nYXMvY29uZmlnL3RjLWkzODYuYw0KPiA+IEBAIC0zNTMs NiArMzU0LDcgQEAgc3RydWN0IF9pMzg2X2luc24NCj4gPiAgICAgIG1vZHJtX2J5dGUgcm07DQo+ ID4gICAgICByZXhfYnl0ZSByZXg7DQo+ID4gICAgICByZXhfYnl0ZSB2cmV4Ow0KPiA+ICsgICAg cmV4X2J5dGUgcmV4MjsgLy8gZm9yIGV4dGVuZHMgZ3ByMzIgcjE2LXIzMQ0KPiANCj4gTWFsZm9y bWVkIGNvbW1lbnQuIEknbSBub3QgY29udmluY2VkIG9uZSBuZWVkcyB0byBiZSBoZXJlIGluIHRo ZSBmaXJzdCBwbGFjZS4NCj4gDQoNClJlbW92ZWQgdGhlIGNvbW1lbnQuIA0KDQp7DQo+ID4gQEAg LTQyNiw2ICs0MzMsOSBAQCBzdHJ1Y3QgX2kzODZfaW5zbg0KPiA+ICAgICAgLyogUHJlZmVyIHRo ZSBSRVggYnl0ZSBpbiBlbmNvZGluZy4gICovDQo+ID4gICAgICBib29sIHJleF9lbmNvZGluZzsN Cj4gPg0KPiA+ICsgICAgLyogUHJlZmVyIHRoZSBSRVgyIGJ5dGUgaW4gZW5jb2RpbmcuICAqLw0K PiA+ICsgICAgYm9vbCByZXgyX2VuY29kaW5nOw0KPiANCj4gV2hhdCBpcyAidGhlIFJFWDIgYnl0 ZSI/IFRoZXJlIGFyZSB0d28gYnl0ZXMgaW52b2x2ZWQgdGhlcmUgLi4uDQo+IA0KQ2hhbmdlZCBp dCB0byAiIFByZWZlciB0aGUgUkVYMiBwcmVmaXggaW4gZW5jb2RpbmcgIg0KDQo+ID4gQEAgLTE2 OTQsNiArMTcwNSw3IEBAIGlzX2NwdSAoY29uc3QgaW5zbl90ZW1wbGF0ZSAqdCwgZW51bSBpMzg2 X2NwdQ0KPiBjcHUpDQo+ID4gICAgICBjYXNlIENwdUhMRTogICAgICByZXR1cm4gdC0+Y3B1LmJp dGZpZWxkLmNwdWhsZTsNCj4gPiAgICAgIGNhc2UgQ3B1QVZYNTEyRjogIHJldHVybiB0LT5jcHUu Yml0ZmllbGQuY3B1YXZ4NTEyZjsNCj4gPiAgICAgIGNhc2UgQ3B1QVZYNTEyVkw6IHJldHVybiB0 LT5jcHUuYml0ZmllbGQuY3B1YXZ4NTEydmw7DQo+ID4gKyAgICBjYXNlIENwdUFQWF9GOiAgICAg IHJldHVybiB0LT5jcHUuYml0ZmllbGQuY3B1YXB4X2Y7DQo+IA0KPiBOaXQ6IFBsZWFzZSBnZXQg cGFkZGluZyByaWdodC4NCg0KRG9uZS4NCg0KPiANCj4gPiArc3RhdGljIElOTElORSBib29sDQo+ ID4gK2lzX2FueV9hcHhfZW5jb2RpbmcgKHZvaWQpDQo+ID4gK3sNCj4gPiArICByZXR1cm4gaS5y ZXgyIHx8IGkucmV4Ml9lbmNvZGluZzsNCj4gPiArfQ0KPiA+ICsNCj4gPiArc3RhdGljIElOTElO RSBib29sDQo+ID4gK2lzX2FueV9hcHhfcmV4Ml9lbmNvZGluZyAodm9pZCkNCj4gPiArew0KPiA+ ICsgIHJldHVybiAoaS5yZXgyICYmIGkudmV4Lmxlbmd0aCA9PSAyKSB8fCBpLnJleDJfZW5jb2Rp bmc7IH0NCj4gDQo+IFRoZXJlJ3Mgbm8gcGFydGljdWxhcmx5IGdvb2QgcGxhY2UgdG8gbWFrZSB0 aGlzIHJlbWFyazogSSB3YXMgZXhwZWN0aW5nDQo+IFJFWDIgaGFuZGxpbmcgdG8gcmF0aGVyIGZv bGxvdyBSRVggaGFuZGxpbmcsIG5vdCBWRVgvRVZFWCBvbmUuIEkgY2VydGFpbmx5DQo+IGNvbnNp ZGVyIGF0IGxlYXN0IHRoZSBmaXJzdCBoZWxwZXIncyBuYW1lIG1pc2xlYWRpbmcgKEFQWCBhbHNv IGluY2x1ZGVzIHZhcmlvdXMNCj4gRVZFWCBlbmNvZGluZ3MsIGFmdGVyIGFsbCksIGFuZCBJIGFs c28gZG9uJ3QgcmVhbGx5IGxpa2UgeW91IChhYil1c2luZyBpLnZleC5sZW5ndGgNCj4gZm9yIFJF WDIgaGFuZGxpbmcuDQo+IA0KDQpHb29kIGFkdmljZSwgSSBwdXQgYnVpbGRfcmV4Ml9wcmVmaXgg anVzdCBiZWZvcmUgUkVYIGhhbmRsaW5nIGFuZCByZW1vdmVkIHRoZSBjb21wbGV4IGp1ZGdtZW50 cy4gQWxzbyByZW1vdmVkIGkudmV4Lmxlbmd0aCwgaXQgc2VlbXMgcmVkdW5kYW50IGhlcmUuDQpB bmQgZm9yIHRoZSBwYXRjaCAyLzggKFN1cHBvcnQgQVBYIEdQUjMyIHdpdGggZXh0ZW5kIGV2ZXgg cHJlZml4KSwgIGl0IGNhbiBmb2xsb3cgdGhlIFZFWC9FVkVYIGhhbmRsaW5nLg0KDQotICBpZiAo aS5yZXggIT0gMCkNCisgIGlmIChpLnJleDIgIT0gMCB8fCBpLnJleDJfZW5jb2RpbmcpDQorICAg IHsNCisgICAgICBidWlsZF9yZXgyX3ByZWZpeCAoKTsNCisgICAgICAvKiBUaGUgaW5kaXZpZHVh bCBSRVguUlhCVyBiaXRzIGdvdCBjb25zdW1lZC4gICovDQorICAgICAgaS5yZXggJj0gUkVYX09Q Q09ERTsNCisgICAgfQ0KKyAgZWxzZSBpZiAoaS5yZXggIT0gMCkNCiAgICAgYWRkX3ByZWZpeCAo UkVYX09QQ09ERSB8IGkucmV4KTsNCg0KDQo+ID4gQEAgLTQzNTQsMTIgKzQzOTQsMTIgQEAgb3B0 aW1pemVfZW5jb2RpbmcgKHZvaWQpDQo+ID4gIAkgIGkuc3VmZml4ID0gMDsNCj4gPiAgCSAgLyog Q29udmVydCB0byBieXRlIHJlZ2lzdGVycy4gICovDQo+ID4gIAkgIGlmIChpLnR5cGVzWzFdLmJp dGZpZWxkLndvcmQpDQo+ID4gLQkgICAgaiA9IDE2Ow0KPiA+ICsJICAgIGogPSAxNiArIDE2OyAv LyBuZXcgMTYgYXB4IGFkZGl0aW9uYWwgZ3Bycy4NCj4gPiAgCSAgZWxzZSBpZiAoaS50eXBlc1sx XS5iaXRmaWVsZC5kd29yZCkNCj4gPiAtCSAgICBqID0gMzI7DQo+ID4gKwkgICAgaiA9IDMyICsg MTYgKiAyOyAvLyBuZXcgMTYgYXB4IGFkZGl0aW9uYWwgZ3Bycw0KPiA+ICAJICBlbHNlDQo+ID4g LQkgICAgaiA9IDQ4Ow0KPiA+IC0JICBpZiAoIShpLm9wWzFdLnJlZ3MtPnJlZ19mbGFncyAmIFJl Z1JleCkgJiYgYmFzZV9yZWdudW0gPCA0KQ0KPiA+ICsJICAgIGogPSA0OCArIDE2ICogMzsgLy8g bmV3IDE2IGFweCBhZGRpdGlvbmFsIGdwcnMNCj4gPiArCSAgaWYgKCEoaS5vcFsxXS5yZWdzLT5y ZWdfZmxhZ3MgJiAoUmVnUmV4IHwgUmVnUmV4MikpICYmIGJhc2VfcmVnbnVtDQo+ID4gKzwgNCkN Cj4gPiAgCSAgICBqICs9IDg7DQo+IA0KPiBUaGlzIGlzIGdldHRpbmcgdW53aWVsZHk6IFRoZXJl IGFyZSB0b28gbWFueSBoYXJkLWNvZGVkIGxpdGVyYWwgbnVtYmVycyBoZXJlLA0KPiBhbmQgdGhl cmUgY29udGludWVzIHRvIGJlIHplcm8gaW5kaWNhdGlvbiBpbiBpMzg2LXJlZy50YmwgdGhhdCB0 aGUgb3JkZXIgb2YgZW50cmllcw0KPiBpcyBhY3R1YWxseSByZWxldmFudC4NCj4gDQo+IEFsc28g YWdhaW4sIHBsZWFzZSB3cml0ZSB3ZWxsZm9ybWVkIGNvbW1lbnRzICh3aGVuIHN1Y2ggYXJlIHVz ZWZ1bCkuDQo+IA0KDQpEbyB5b3UgbWVhbiBhZGQgYSBuZXcgY29sdW1uIG9yIHNvbWV0aGluZyB0 byByZXBsYWNlIHRoZSBoYXJkIGltbWVkaWF0ZSBoZXJlPyBJIGRpZG4ndCBmaW5kIGEgZ29vZCB3 YXkgdG8gaGFuZGxlIGl0LCBqdXN0IGFkZCBtb3JlIGNvbW1lbnRzIGFuZCByZWR1Y2UgdGhlIGFt b3VudCBvZiBoYXJkIGNvZGUuDQoNCiAgICAgICAgICBpZiAoaS50eXBlc1sxXS5iaXRmaWVsZC53 b3JkKQ0KICAgICAgICAgICAgLyogVGhlcmUgYXJlIDMyIDgtYml0IHJlZ2lzdGVycy4gICovDQog ICAgICAgICAgICBqID0gMzI7DQogICAgICAgICAgZWxzZSBpZiAoaS50eXBlc1sxXS5iaXRmaWVs ZC5kd29yZCkNCiAgICAgICAgICAgIC8qIDMyIDgtYml0IHJlZ2lzdGVycyArIDMyIDE2LWJpdCBy ZWdpc3RlcnMuICAqLw0KICAgICAgICAgICAgaiA9IDY0Ow0KICAgICAgICAgIGVsc2UNCiAgICAg ICAgICAgIC8qIDMyIDgtYml0IHJlZ2lzdGVycyArIDMyIDE2LWJpdCByZWdpc3RlcnMNCiAgICAg ICAgICAgICAgICsgMzIgMzItYml0IHJlZ2lzdGVycy4gICovDQogICAgICAgICAgICBqID0gOTY7 DQoNCj4gPiBAQCAtNTI2OSw2ICs1MzA5LDkgQEAgbWRfYXNzZW1ibGUgKGNoYXIgKmxpbmUpDQo+ ID4gIAljYXNlIGludmFsaWRfZGVzdF9hbmRfc3JjX3JlZ2lzdGVyX3NldDoNCj4gPiAgCSAgZXJy X21zZyA9IF8oImRlc3RpbmF0aW9uIGFuZCBzb3VyY2UgcmVnaXN0ZXJzIG11c3QgYmUgZGlzdGlu Y3QiKTsNCj4gPiAgCSAgYnJlYWs7DQo+ID4gKwljYXNlIGludmFsaWRfcHNldWRvX3ByZWZpeDoN Cj4gPiArCSAgZXJyX21zZyA9IF8oInVuc3VwcG9ydCByZXgyIHBzZXVkbyBwcmVmaXgiKTsNCj4g DQo+IElmIGF0IGFsbCwgInVuc3VwcG9ydGVkIi4gTWF5YmUgYmV0dGVyICJjYW5ub3QgYmUgdXNl ZCBoZXJlIj8NCg0KRG9uZS4NCg0KPiANCj4gPiBAQCAtNTQ5OCw3ICs1NTQxLDE3IEBAIG1kX2Fz c2VtYmxlIChjaGFyICpsaW5lKQ0KPiA+ICAgICAgICBhc193YXJuIChfKCJ0cmFuc2xhdGluZyB0 byBgJXNwJyIpLCBpbnNuX25hbWUgKCZpLnRtKSk7DQo+ID4gICAgICB9DQo+ID4NCj4gPiAtICBp ZiAoaXNfYW55X3ZleF9lbmNvZGluZyAoJmkudG0pKQ0KPiA+ICsgIGlmIChpc19hbnlfYXB4X2Vu Y29kaW5nICgpKQ0KPiA+ICsgICAgew0KPiA+ICsgICAgICBpZiAoIWlzX2FueV92ZXhfZW5jb2Rp bmcgKCZpLnRtKQ0KPiANCj4gSSB0aGluayB5b3Ugc2hvdWxkIGJlIGFibGUgdG8gdXNlIGEgY2hl YXBlciBwcmVkaWNhdGUgaGVyZS4gTm8gVkVYLSBlbmNvZGVkIEFQWA0KPiBpbnNucyBleGlzdCwg YWl1aS4NCj4gDQo+ID4gKwkgICYmIGkudG0ub3Bjb2RlX3NwYWNlIDw9IFNQQUNFXzBGDQo+ID4g KwkgICYmICFpLnZleC5yZWdpc3Rlcl9zcGVjaWZpZXIgJiYgIWkuaGFzX25mICYmICFpLmhhc196 ZXJvX3VwcGVyKQ0KPiANCj4gSXMgdGhlIGkudmV4LnJlZ2lzdGVyX3NwZWNpZmllciBjaGVjayBy ZWFsbHkgbmVlZGVkIGhlcmU/IEFueSBzdWNoIHRlbXBsYXRlIHdvdWxkDQo+IGJlIGFuIEVWRVgg b25lLCB3b3VsZG4ndCBpdCAoc28gdGhlIGVhcmxpZXIgY2hlY2sgYWxyZWFkeSBjb3ZlcmVkIHRo b3NlKT8NCj4gDQo+ID4gKwlidWlsZF9yZXgyX3ByZWZpeCAoKTsNCj4gPiArDQo+ID4gKyAgICAg IC8qIFRoZSBpbmRpdmlkdWFsIFJFWC5SWEJXIGJpdHMgZ290IGNvbnN1bWVkLiAgKi8NCj4gPiAr ICAgICAgaS5yZXggJj0gUkVYX09QQ09ERTsNCj4gDQo+IEFzIHRvIG15IGVhcmxpZXIgbmFtaW5n IHJlbWFyayAtIG11Y2ggb2YgY291cnNlIGRlcGVuZHMgb24gd2hhdCB0aGUgZnVydGhlcg0KPiBw bGFucyBoZXJlIGFyZS4NCg0KWWVzLCBhcyB5b3VyIHByZXZpb3VzIHN1Z2dlc3Rpb24sIHRoZXNl IGNvbXBsaWNhdGVkIGp1ZGdlbWVudCBhcmUgcmVtb3ZlZC4NCg0KPiANCj4gPiArICAgIH0NCj4g PiArICBlbHNlIGlmIChpc19hbnlfdmV4X2VuY29kaW5nICgmaS50bSkpDQo+ID4gICAgICB7DQo+ ID4gICAgICAgIGlmICghY3B1X2FyY2hfZmxhZ3MuYml0ZmllbGQuY3B1aTI4NikNCj4gPiAgCXsN Cj4gPiBAQCAtNTUxNCw2ICs1NTY3LDEzIEBAIG1kX2Fzc2VtYmxlIChjaGFyICpsaW5lKQ0KPiA+ ICAJICByZXR1cm47DQo+ID4gIAl9DQo+ID4NCj4gPiArICAgICAgLyogQ2hlY2sgZm9yIGV4cGxp Y2l0IFJFWDIgcHJlZml4LiAgKi8NCj4gPiArICAgICAgaWYgKGkucmV4MiB8fCBpLnJleDJfZW5j b2RpbmcpDQo+ID4gKwl7DQo+ID4gKwkgIGFzX2JhZCAoXygiUkVYMiBwcmVmaXggaW52YWxpZCB3 aXRoIGAlcyciKSwgaW5zbl9uYW1lICgmaS50bSkpOw0KPiA+ICsJICByZXR1cm47DQo+ID4gKwl9 DQo+ID4gKw0KPiA+ICAgICAgICBpZiAoaS50bS5vcGNvZGVfbW9kaWZpZXIudmV4KQ0KPiA+ICAJ YnVpbGRfdmV4X3ByZWZpeCAodCk7DQo+ID4gICAgICAgIGVsc2UNCj4gPiBAQCAtNTU1MywxMSAr NTYxMywxMSBAQCBtZF9hc3NlbWJsZSAoY2hhciAqbGluZSkNCj4gPiAgCSAgJiYgKGkub3BbMV0u cmVncy0+cmVnX2ZsYWdzICYgUmVnUmV4NjQpICE9IDApDQo+ID4gICAgICAgIHx8ICgoKGkudHlw ZXNbMF0uYml0ZmllbGQuY2xhc3MgPT0gUmVnICYmIGkudHlwZXNbMF0uYml0ZmllbGQuYnl0ZSkN Cj4gPiAgCSAgIHx8IChpLnR5cGVzWzFdLmJpdGZpZWxkLmNsYXNzID09IFJlZyAmJiBpLnR5cGVz WzFdLmJpdGZpZWxkLmJ5dGUpKQ0KPiA+IC0JICAmJiBpLnJleCAhPSAwKSkNCj4gPiArCSAgJiYg KGkucmV4ICE9IDAgfHwgaS5yZXgyIT0wKSkpDQo+IA0KPiBOaXQ6IFBsZWFzZSBnZXQgY29kaW5n IHN0eWxlIHJpZ2h0IChhbHNvIGVsc2V3aGVyZSkuDQoNCkRvbmUuDQoNCj4gDQo+ID4gKzU2Mjcs MTYgQEAgbWRfYXNzZW1ibGUgKGNoYXIgKmxpbmUpDQo+ID4gIAkgICAgICBnYXNfYXNzZXJ0ICgh KGkub3BbeF0ucmVncy0+cmVnX2ZsYWdzICYgUmVnUmV4KSk7DQo+ID4gIAkgICAgICAvKiBJbiBj YXNlIGl0IGlzICJoaSIgcmVnaXN0ZXIsIGdpdmUgdXAuICAqLw0KPiA+ICAJICAgICAgaWYgKGku b3BbeF0ucmVncy0+cmVnX251bSA+IDMpDQo+ID4gLQkJYXNfYmFkIChfKCJjYW4ndCBlbmNvZGUg cmVnaXN0ZXIgJyVzJXMnIGluIGFuICINCj4gPiAtCQkJICAiaW5zdHJ1Y3Rpb24gcmVxdWlyaW5n IFJFWCBwcmVmaXguIiksDQo+ID4gLQkJCXJlZ2lzdGVyX3ByZWZpeCwgaS5vcFt4XS5yZWdzLT5y ZWdfbmFtZSk7DQo+ID4gKwkJew0KPiA+ICsJCSAgaWYgKGkucmV4KQ0KPiA+ICsJCSAgICBhc19i YWQgKF8oImNhbid0IGVuY29kZSByZWdpc3RlciAnJXMlcycgaW4gYW4gIg0KPiA+ICsJCQkgICAg ICAiaW5zdHJ1Y3Rpb24gcmVxdWlyaW5nIFJFWCBwcmVmaXguIiksDQo+ID4gKwkJCSAgICByZWdp c3Rlcl9wcmVmaXgsIGkub3BbeF0ucmVncy0+cmVnX25hbWUpOw0KPiA+ICsJCSAgZWxzZQ0KPiA+ ICsJCSAgICBhc19iYWQgKF8oImNhbid0IGVuY29kZSByZWdpc3RlciAnJXMlcycgaW4gYW4gIg0K PiA+ICsJCQkgICAgICAiaW5zdHJ1Y3Rpb24gcmVxdWlyaW5nIFJFWDIgcHJlZml4LiIpLA0KPiA+ ICsJCQkgICAgcmVnaXN0ZXJfcHJlZml4LCBpLm9wW3hdLnJlZ3MtPnJlZ19uYW1lKTsNCj4gPiAr CQl9DQo+IA0KPiBJIGRvbid0IHRoaW5rIHNlcGFyYXRlIG1lc3NhZ2VzIGFyZSBuZWVkZWQgaGVy ZSwgSnVzdCBhbHRlciB0aGUgZXhpc3Rpbmcgb25lIHRvDQo+IHNheSAiLi4uIFJFWC9SRVgyIC4u LiIuDQo+IA0KDQpEb25lLg0KDQo+ID4gICAgICB7DQo+ID4gICAgICAgIC8qIENoZWNrIGlmIHdl IGNhbiBhZGQgYSBSRVhfT1BDT0RFIGJ5dGUuICBMb29rIGZvciA4IGJpdCBvcGVyYW5kDQo+ID4g IAkgdGhhdCB1c2VzIGxlZ2FjeSByZWdpc3Rlci4gIElmIGl0IGlzICJoaSIgcmVnaXN0ZXIsIGRv bid0IGFkZA0KPiANCj4gSSB0aGluayB0aGlzIGNvbW1lbnQgd2FudHMgdXBkYXRpbmcgYXMgd2Vs bCwgc28gdGhlcmUncyBubyBxdWVzdGlvbiBvZiBpdCBoYXZpbmcNCj4gZ29uZSBzdGFsZSAoYnkg bWVudGlvbmluZyBvbmx5IFJFWF9PUENPREUpLg0KPiANCg0KRG9uZS4NCg0KPiA+IEBAIC02ODk5 LDYgKzY5NzEsNDIgQEAgVkVYX2NoZWNrX2VuY29kaW5nIChjb25zdCBpbnNuX3RlbXBsYXRlICp0 KQ0KPiA+ICAgIHJldHVybiAwOw0KPiA+ICB9DQo+ID4NCj4gPiArLyogQ2hlY2sgaWYgRWdwcnMg b3BlcmFuZHMgYXJlIHZhbGlkIGZvciB0aGUgaW5zdHJ1Y3Rpb24uICAqLw0KPiA+ICsNCj4gPiAr c3RhdGljIGludA0KPiA+ICtjaGVja19FZ3ByT3BlcmFuZHMgKGNvbnN0IGluc25fdGVtcGxhdGUg KnQpIHsNCj4gPiArICBpZiAodC0+b3Bjb2RlX21vZGlmaWVyLm5vX2VncHIpDQo+ID4gKyAgICB7 DQo+ID4gKyAgICAgIGZvciAodW5zaWduZWQgaW50IG9wID0gMDsgb3AgPCBpLm9wZXJhbmRzOyBv cCsrKQ0KPiA+ICsJew0KPiA+ICsJICBpZiAoaS50eXBlc1tvcF0uYml0ZmllbGQuY2xhc3MgIT0g UmVnKQ0KPiA+ICsJICAgIGNvbnRpbnVlOw0KPiA+ICsNCj4gPiArCSAgaWYgKGkub3Bbb3BdLnJl Z3MtPnJlZ19mbGFncyAmIFJlZ1JleDIpDQo+ID4gKwkgICAgew0KPiA+ICsJICAgICAgaS5lcnJv ciA9IHJlZ2lzdGVyX3R5cGVfbWlzbWF0Y2g7DQo+IA0KPiBBbHJlYWR5IGhlcmUgSSB3b25kZXIg aWYgcmUtdXNpbmcgdGhpcyBlcnJvciBpbmRpY2F0b3IgKGFuZCBoZW5jZSBpc3N1aW5nIHRoZSBz YW1lDQo+IGVycm9yIG1lc3NhZ2UgYXMgaXMgaXNzdWVkIGZvciBvdGhlciByZWFzb25zKSBpcyBn b2luZyB0byBiZSBoZWxwZnVsLiBIb3dldmVyLCAuLi4NCj4gDQo+ID4gKwkgICAgICByZXR1cm4g MTsNCj4gPiArCSAgICB9DQo+ID4gKwl9DQo+ID4gKw0KPiA+ICsgICAgICBpZiAoKGkuaW5kZXhf cmVnICYmIChpLmluZGV4X3JlZy0+cmVnX2ZsYWdzICYgUmVnUmV4MikpDQo+ID4gKwkgIHx8IChp LmJhc2VfcmVnICYmIChpLmJhc2VfcmVnLT5yZWdfZmxhZ3MgJiBSZWdSZXgyKSkpDQo+ID4gKwl7 DQo+ID4gKwkgIGkuZXJyb3IgPSByZWdpc3Rlcl90eXBlX21pc21hdGNoOw0KPiANCj4gLi4uIGhl cmUgSSdtIGNlcnRhaW4gaXQgbmVlZHMgdG8gYmUgYSBkaWZmZXJlbnQgb25lLiBJdCBzaG91bGQg YmUgbWFkZSBvYnZpb3VzIHRoYXQNCj4gdGhlIHJlZ2lzdGVyIHVzZWQgaXMgcGFydCBvZiB0aGUg YWRkcmVzcyBmb3IgdGhlIG1lbW9yeSBvcGVyYW5kLCBub3QgYSByZWdpc3Rlcg0KPiBvbmUuDQo+ IA0KDQpEb25lLg0KDQo+ID4gKwkgIHJldHVybiAxOw0KPiA+ICsJfQ0KPiA+ICsNCj4gPiArICAg ICAgLyogQ2hlY2sgcHNldWRvIHByZWZpeCB7cmV4Mn0gYXJlIHZhbGlkLiAgKi8NCj4gPiArICAg ICAgaWYgKGkucmV4Ml9lbmNvZGluZykNCj4gPiArCXsNCj4gPiArCSAgaS5lcnJvciA9IGludmFs aWRfcHNldWRvX3ByZWZpeDsNCj4gPiArCSAgcmV0dXJuIDE7DQo+ID4gKwl9DQo+ID4gKyAgICB9 DQo+ID4gKyAgcmV0dXJuIDA7DQo+ID4gK30NCj4gDQo+IFRyYW5zaWVudGx5LCB1bnRpbCBtb3Jl IGNoZWNraW5nIGlzIGFkZGVkIChsaWtlIHBhdGNoIDIgaW4gdGhlIHNlY29uZCBzZXJpZXMgeW91 J3ZlDQo+IHNlbnQpLCB5b3UnbGwgYnJlYWsgYWxsIGtpbmRzIG9mIGluc25zIHdoaWNoIGRvbid0 IGhhdmUgTm9fZWdwciBzZXQsIGJ1dCB3aGljaA0KPiBhcmVuJ3QgdmFsaWQgdG8gYmUgdXNlZCB3 aXRoIHRoZSBleHRlbmRlZCByZWdpc3RlcnMgKGUuZy4gYWxsIFZFWCBlbmNvZGluZ3MsIHRvDQo+ IG5hbWUgb25lIGxhcmdlIGdyb3VwKS4NCj4gDQoNCldlIHNldCBOb19lZ3ByIGZvciBWRVggYW5k IHNvbWUgbGVnYWN5IChtYXAyIGFuZCBtYXAzKSAgaW5zdHJ1Y3Rpb25zIGluIHRoZSBwYXRjaCAy Lg0KDQogICAgICBpZiAobW9kaWZpZXJzW1ZleF0udmFsdWUNCiAgICAgICAgIHx8IChzcGFjZSA+ IFNQQUNFXzBGDQogICAgICAgICAgICAgJiYgIShzcGFjZSA9PSBTUEFDRV9FVkVYTUFQNA0KICAg ICAgICAgICAgICAgICAgfHwgbW9kaWZpZXJzW0VWZXhdLnZhbHVlDQogICAgICAgICAgICAgICAg ICB8fCBtb2RpZmllcnNbRGlzcDhNZW1TaGlmdF0udmFsdWUNCiAgICAgICAgICAgICAgICAgIHx8 IG1vZGlmaWVyc1tCcm9hZGNhc3RdLnZhbHVlDQogICAgICAgICAgICAgICAgICB8fCBtb2RpZmll cnNbTWFza2luZ10udmFsdWUNCiAgICAgICAgICAgICAgICAgIHx8IG1vZGlmaWVyc1tTQUVdLnZh bHVlKSkpDQogICAgICAgbW9kaWZpZXJzW05vX2VncHJdLnZhbHVlID0gMTsNCg0KPiA+IEBAIC0x Mzk4NSw2ICsxNDExNSwxNCBAQCBzdGF0aWMgYm9vbCBjaGVja19yZWdpc3RlciAoY29uc3QgcmVn X2VudHJ5ICpyKQ0KPiA+ICAJaS52ZWNfZW5jb2RpbmcgPSB2ZXhfZW5jb2RpbmdfZXJyb3I7DQo+ ID4gICAgICB9DQo+ID4NCj4gPiArICBpZiAoci0+cmVnX2ZsYWdzICYgUmVnUmV4MikNCj4gPiAr ICAgIHsNCj4gPiArICAgICAgaWYgKCFjcHVfYXJjaF9mbGFncy5iaXRmaWVsZC5jcHVhcHhfZg0K PiA+ICsJICB8fCBmbGFnX2NvZGUgIT0gQ09ERV82NEJJVA0KPiA+ICsJICB8fCBpLnJleF9lbmNv ZGluZykNCj4gDQo+IEknbSBub3Qgc3VyZSBpLnJleF9lbmNvZGluZyBpcyB2YWxpZCB0byBjaGVj ayAoYWxyZWFkeSkgaGVyZS4gT3IgZWxzZSB5b3UnZCBhbHNvDQo+IG5lZWQgdG8gY2hlY2sgaS52 ZWNfZW5jb2RpbmcuDQo+IA0KDQppLnJleF9lbmNvZGluZyBzaG91bGQgbm90IGJlIGNoZWNrZWQg aGVyZSBzaW5jZSB0aGlzIGVuY29kaW5nICJSRVggMHg2NiBSRVgyIiBpcyBhbGxvd2VkLiBJIHdp bGwgZGVsZXRlIGl0Lg0KDQo+ID4gLS0tIC9kZXYvbnVsbA0KPiA+ICsrKyBiL2dhcy90ZXN0c3Vp dGUvZ2FzL2kzODYveDg2LTY0LWFweC1lZ3ByLWludmFsLnMNCj4gPiBAQCAtMCwwICsxLDE4IEBA DQo+ID4gKyMgQ2hlY2sgSWxsZWdhbCA2NGJpdCBBUFggaW5zdHJ1Y3Rpb25zDQo+ID4gKwkudGV4 dA0KPiA+ICsJLmFyY2ggLm5vYXB4X2YNCj4gPiArCXRlc3QgICAgJDB4NywgJXIxN2QNCj4gPiAr CS5hcmNoIC5hcHhfZg0KPiA+ICsJdGVzdCAgICAkMHg3LCAlcjE3ZA0KPiA+ICsJeHNhdmUgKCVy MTYsICVyYngpDQo+ID4gKwl4c2F2ZTY0ICglcjE2LCAlcmJ4KQ0KPiA+ICsJeHJzdG9yICglcjE2 LCAlcmJ4KQ0KPiA+ICsJeHJzdG9yNjQgKCVyMTYsICVyYngpDQo+ID4gKwl4c2F2ZXMgKCVyMTYs ICVyYngpDQo+ID4gKwl4c2F2ZXM2NCAoJXIxNiwgJXJieCkNCj4gPiArCXhyc3RvcnMgKCVyMTYs ICVyYngpDQo+ID4gKwl4cnN0b3JzNjQgKCVyMTYsICVyYngpDQo+ID4gKwl4c2F2ZW9wdCAoJXIx NiwgJXJieCkNCj4gPiArCXhzYXZlb3B0NjQgKCVyMTYsICVyYngpDQo+ID4gKwl4c2F2ZWMgKCVy MTYsICVyYngpDQo+ID4gKwl4c2F2ZWM2NCAoJXIxNiwgJXJieCkNCj4gDQo+IERvbid0IHlvdSBh bHNvIHdhbnQgdG8gY2hlY2sgdGhlIGluZGV4IHJlZ2lzdGVyPw0KDQpEb25lLg0KDQo+ID4gKzAr IDxfc3RhcnQ+Og0KPiA+ICtccypbYS1mMC05XSs6XHMqZDUgZjAgZDUgZjBccyt7cmV4Mn0gcG11 bGx3ICVtbTAsJW1tNg0KPiA+ICtccypbYS1mMC05XSs6XHMqZDUgZjkgZDUgZjlccyt7cmV4Mn0g cG11bGx3ICVtbTEsJW1tNw0KPiA+ICtccypbYS1mMC05XSs6XHMqZDUgODggZDUgZjlccyt7cmV4 Mn0gcG11bGx3ICVtbTEsJW1tNw0KPiA+ICtccypbYS1mMC05XSs6XHMqZDUgZjcgZDUgZjlccyt7 cmV4Mn0gcG11bGx3ICVtbTEsJW1tNw0KPiA+ICtccypbYS1mMC05XSs6XHMqZDUgODAgZDUgZjlc cyt7cmV4Mn0gcG11bGx3ICVtbTEsJW1tNw0KPiA+ICtccypbYS1mMC05XSs6XHMqNjYgZDUgZjkg ZDUgZjlccyt7cmV4Mn0gcG11bGx3ICV4bW05LCV4bW03DQo+IA0KPiBUaGVzZSBhbGwgbG9vayB2 YWxpZCwgeWV0IHRoZSB0ZXN0IG5hbWUgc2F5cyAiaW52YWxpZCIgYW5kIHRoZSB0aXRsZSBzYXlz ICJpbGxlZ2FsIi4NCj4gQ2FuIHlvdSBjbGFyaWZ5IHdoYXQgdGhpcyBpcyBhYm91dD8NCg0KT25s eSB0aGUgbGFzdCB0aHJlZSBhcmUgdGVzdCBpbGxlZ2FsIGNhc2VzLCBJIHJlbW92ZWQgdGhpcyBm aWxlLCAgYWRkZWQge3JleDJ9ICBwbXVsbHcqIGNoZWNrIGluIHg4Ni02NC1wc2V1ZG9zLnMgYW5k IHtyZXgyfSB4c2F2ZS94cnN0b3JlIHRlc3QgdG8geDg2LTY0LXBzZXVkb3MtYmFkLnMNCg0KPiAN Cj4gQWxzbyBtYXkgSSBhc2sgdGhhdCB5b3UgdXNlIFsgCV0gaW5zdGVhZCBvZiBccywgdG8gYWlk IHJlYWRhYmlsaXR5Pw0KPiANCg0KRG9uZS4NCg0KPiA+ICsrKyBiL2dhcy90ZXN0c3VpdGUvZ2Fz L2kzODYveDg2LTY0LWFweC1yZXgyLWludmFsLnMNCj4gPiBAQCAtMCwwICsxLDI1IEBADQo+ID4g KyMgQ2hlY2sgNjRiaXQgaW5zdHJ1Y3Rpb25zIHdpdGggcmV4MiBwcmVmaXggYmFkIGVuY29kaW5n DQo+ID4gKw0KPiA+ICsJLmFsbG93X2luZGV4X3JlZw0KPiA+ICsJLnRleHQNCj4gPiArX3N0YXJ0 Og0KPiA+ICsjIGNoZWNrIHtyZXgyfSBwc2V1ZG8gcHJlZml4IHRvIGZvcmNlIFJFWDIgZW5jb2Rp bmcuDQo+ID4gKy5ieXRlIDB4ZDUsIDB4ZjAsIDB4ZDUsIDB4ZjANCj4gPiArLmJ5dGUgMHhkNSwg MHhmOSwgMHhkNSwgMHhmOQ0KPiA+ICsuYnl0ZSAweGQ1LCAweDg4LCAweGQ1LCAweGY5DQo+ID4g Ky5ieXRlIDB4ZDUsIDB4ZjcsIDB4ZDUsIDB4ZjkNCj4gPiArLmJ5dGUgMHhkNSwgMHg4MCwgMHhk NSwgMHhmOQ0KPiA+ICsNCj4gPiArLmJ5dGUgMHg2Ng0KPiA+ICsuYnl0ZSAweGQ1LCAweGY5LCAw eGQ1LCAweGY5DQo+ID4gKy5ieXRlIDB4NjYsIDB4NDENCj4gPiArLmJ5dGUgMHhkNSwgMHhmOSwg MHhkNSwgMHhmOQ0KPiA+ICsuYnl0ZSAweGQ1LCAweGZmLCAweDIxLCAweGY4DQo+ID4gKy5ieXRl IDB4ZDUsIDB4MDEsIDB4MjEsIDB4MDANCj4gPiArLmJ5dGUgMHhkNSwgMHgwMCwgMHgwMCwgMHhm Nw0KPiA+ICsuYnl0ZSAweGQ1LCAweGZmLCAweDIwLCAweGY4DQo+ID4gKyMgY2hlY2sgeHNhdmUv eHN0b3JlIGFyZSBub3QgYWxsb3dlZCB0byB1c2UgcmV4Mi4NCj4gPiArLmJ5dGUgMHhkNSwgMHg4 MSwgMHhhZSwgMHgyNw0KPiA+ICsjIGNoZWNrIHJleDIgb25seSB1c2UgZm9yIG1hcDAvMQ0KPiA+ ICsuYnl0ZSAweGQ1LCAweGMxLCAweDM4LCAweGY2LCAweDA3DQo+IA0KPiBQbGVhc2UgdHJ5IHRv IGxpbWl0IC5ieXRlIHVzZSBpbiBzb3VyY2UgYXMgbXVjaCBhcyBwb3NzaWJsZS4gRW1pdHRpbmcg Ym9ndXMNCj4gcHJlZml4ZXMgbWF5IHJlcXVpcmUgaXRzIHVzZSwgYnV0IHRoYXQgc2hvdWxkIGJl IGFib3V0IGl0Lg0KPiANCg0KRG9uZSwgcmVtb3ZlZCB0aGlzIGZpbGUuDQoNCj4gPiAtLS0gL2Rl di9udWxsDQo+ID4gKysrIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvaTM4Ni94ODYtNjQtYXB4LXJleDIu cw0KPiA+IEBAIC0wLDAgKzEsMTc1IEBADQo+ID4gKyMjIFNJQg0KPiA+ICsgICAgICAgICBsZWFs CTEoJXIyMCksICVlYXgNCj4gPiArICAgICAgICAgbGVhbAkxKCVyMjgpLCAlZWF4DQo+ID4gKyAg ICAgICAgIGxlYWwJMTI5KCVyMjApLCAlZWF4DQo+ID4gKyAgICAgICAgIGxlYWwJMTI5KCVyMjgp LCAlZWF4DQo+IA0KPiBJIGRvbid0IHNlZSB3aHkgdGhlIGNvbW1lbnQgc2F5cyAiU0lCIiBmb3Ig dGhlc2UuDQo+IA0KDQpDaGFuZ2VkIHRoZW0gdG8gDQorICAgICAgICAgbGVhbCAgMSglcjE2LCAl cjIwKSwgJWVheA0KKyAgICAgICAgIGxlYWwgIDEoJXIxNiwgJXIyOCksICVyMzFkDQorICAgICAg ICAgbGVhbCAgMTI5KCVyMjAsICVyOCksICVlYXgNCisgICAgICAgICBsZWFsICAxMjkoJXIyOCwg JXI4KSwgJXIzMWQNCg0KPiA+ICsjIyBNIGJpdA0KPiA+ICsgICAgICAgICBpbXVsbAklZWF4LCAl cjE1ZA0KPiA+ICsgICAgICAgICBpbXVsbAklZWF4LCAlcjE2ZA0KPiA+ICsJIHB1bnBja2xkcSAo JXIxOCksICVtbTIgI0Q1OTA2MjEyDQo+IA0KPiBQbGVhc2UgZW5zdXJlIGNvbnNpc3RlbnQgaW5k ZW50YXRpb24sIGFuZCBwbGVhc2Ugb21pdCBtZWFuaW5nbGVzcyBjb21tZW50cy4NCj4gDQoNCkRv bmUuDQoNCj4gPiArIyMgQWRkUmVnRnJtDQo+ID4gKyAgICAgICAgIG1vdmwJJDEsICVyMTZkDQo+ IA0KPiBGcm9tIGhlcmUgb253YXJkcyBJJ20gYWZyYWlkIEkgY2FuJ3QgZGVjaXBoZXIgYW55IG9m IHRoZSBjb21tZW50cy4gSW4gbWFueQ0KPiBjYXNlcyB0aGUgY2hvaWNlIG9mIHdoYXQgdG8gdGVz dCAoYW5kIHdoYXQgbm90KSBsb29rcyBwcmV0dHkgcmFuZG9tLg0KPiANClJlbW92ZWQgdGhlc2Ug dGVzdGNhc2UuIFRoZXkgaGF2ZSBsaXR0bGUgdG8gZG8gd2l0aCByZXgyLCBhZGRlZCBzb21lIGNh c2VzIGZvciB0cmF2ZXJzaW5nIFJFWDIgOCBiaXQuDQoNCj4gPiAtLS0gYS9vcGNvZGVzL2kzODYt ZGlzLmMNCj4gPiArKysgYi9vcGNvZGVzL2kzODYtZGlzLmMNCj4gDQo+IChJJ2xsIGxvb2sgYXQg dGhlIGRpc2Fzc2VtYmxlciBwYXJ0cyBzZXBhcmF0ZWx5LiBUaGlzIGFuZCB0aGUgb3RoZXIgcGF0 Y2hlcyBhcmUNCj4gcXVpdGUgYSBiaXQgdG9vIGxhcmdlIGFueXdheS4pDQo+IA0KPiA+IC0tLSBh L29wY29kZXMvaTM4Ni1nZW4uYw0KPiA+ICsrKyBiL29wY29kZXMvaTM4Ni1nZW4uYw0KPiA+IEBA IC0zODAsNiArMzgwLDcgQEAgc3RhdGljIGJpdGZpZWxkIGNwdV9mbGFnc1tdID0NCj4gPiAgICBC SVRGSUVMRCAoUkFPX0lOVCksDQo+ID4gICAgQklURklFTEQgKEZSRUQpLA0KPiA+ICAgIEJJVEZJ RUxEIChMS0dTKSwNCj4gPiArICBCSVRGSUVMRCAoQVBYX0YpLA0KPiANCj4gQWRkaXRpb25hbGx5 IGEgZGVwZW5kZW5jeSBvZiBBUFhfRiBvbiBYU0FWRSBuZWVkcyBpbnRyb2R1Y2luZy4NCj4gDQoN CllvdSdyZSByaWdodCwgQVBYX0YgaXMgYW4gWFNBVkUtZW5hYmxlZCBmZWF0dXJlLCBhZGRlZCBp dC4NCg0KPiA+IC0tLSBhL29wY29kZXMvaTM4Ni1vcGMuaA0KPiA+ICsrKyBiL29wY29kZXMvaTM4 Ni1vcGMuaA0KPiA+IEBAIC0zMTcsNiArMzE3LDggQEAgZW51bSBpMzg2X2NwdQ0KPiA+ICAgIENw dUFWWDUxMkYsDQo+ID4gICAgLyogSW50ZWwgQVZYLTUxMiBWTCBJbnN0cnVjdGlvbnMgc3VwcG9y dCByZXF1aXJlZC4gICovDQo+ID4gICAgQ3B1QVZYNTEyVkwsDQo+ID4gKyAgLyogSW50ZWwgQVBY IEluc3RydWN0aW9ucyBzdXBwb3J0IHJlcXVpcmVkLiAgKi8gIENwdUFQWF9GLA0KPiANCj4gVGhl IGNvbW1lbnQga2luZCBvZiBtaXNzZXMgdGhlIEYgaW4gdGhlIGZlYXR1cmUgaWRlbnRpZmllci4N Cj4gDQoNCkRvbmUuDQoNCj4gPiArICAvKiBlZ3BycyAocjE2LXIzMSkgb24gaW5zdHJ1Y3Rpb24g aWxsZWdhbC4gICovICBOb19lZ3ByLA0KPiANCj4gSSdtIG5vdCBvdmVybHkgaGFwcHkgd2l0aCB0 aGUgbmFtZSBhbmQgc3BlbGxpbmcuIEhvdyBhYm91dCBOb0VncHI/IFRoYXQncw0KPiBtb3JlIGlu IGxpbmUgd2l0aCB0aGUgbWFqb3JpdHkgb2YgdGhlIGF0dHJpYnV0ZXMuDQo+IA0KDQpOb0VncHIg aXMgYmV0dGVyLCBjaGFuZ2VkIHRoZW0uDQoNCj4gPiBAQCAtNzg5LDYgKzc5Niw3IEBAIHR5cGVk ZWYgc3RydWN0IGkzODZfb3Bjb2RlX21vZGlmaWVyDQo+ID4gICAgdW5zaWduZWQgaW50IGF0dHN5 bnRheDoxOw0KPiA+ICAgIHVuc2lnbmVkIGludCBpbnRlbHN5bnRheDoxOw0KPiA+ICAgIHVuc2ln bmVkIGludCBpc2E2NDoyOw0KPiA+ICsgIHVuc2lnbmVkIGludCBub19lZ3ByOjE7DQo+ID4gIH0g aTM4Nl9vcGNvZGVfbW9kaWZpZXI7DQo+ID4NCj4gPiAgLyogT3BlcmFuZCBjbGFzc2VzLiAgKi8N Cj4gPiBAQCAtOTg4LDcgKzk5Niw3IEBAIHR5cGVkZWYgc3RydWN0IGluc25fdGVtcGxhdGUNCj4g PiAgICAgICBBTUQgM0ROb3chIGluc3RydWN0aW9ucy4NCj4gPiAgICAgICBJZiB0aGlzIHRlbXBs YXRlIGhhcyBubyBleHRlbnNpb24gb3Bjb2RlICh0aGUgdXN1YWwgY2FzZSkgdXNlIE5vbmUNCj4g PiAgICAgICBJbnN0cnVjdGlvbnMgKi8NCj4gPiAtICBzaWduZWQgaW50IGV4dGVuc2lvbl9vcGNv ZGU6OTsNCj4gPiArICBzaWduZWQgaW50IGV4dGVuc2lvbl9vcGNvZGU6MHhBOw0KPiANCj4gV2h5 Pw0KDQpUaGlzIGlzIGEgbWlzdGFrZSwgcmVjb3ZlcmVkLg0KDQo+ID4gQEAgLTEwMDEsNyArMTAw OSw4IEBAIHR5cGVkZWYgc3RydWN0IGluc25fdGVtcGxhdGUNCj4gPiArI2RlZmluZSBQcmVmaXhf UkVYMgkJOQkvKiB7cmV4Mn0gKi8NCj4gPiArI2RlZmluZSBQcmVmaXhfTm9PcHRpbWl6ZQkweEEJ Lyoge25vb3B0aW1pemV9ICovDQo+IA0KPiBBbnkgcmVhc29uIHRvIHVzZSBhIGhleCBudW1iZXIg aGVyZT8NCg0KRGVjaW1hbCBzaG91bGQgYmUgdXNlZCBoZXJlLg0KDQo+ID4gQEAgLTEwMjgsNiAr MTAzNyw3IEBAIHR5cGVkZWYgc3RydWN0DQo+ID4gICNkZWZpbmUgUmVnUmV4CSAgICAweDEgIC8q IEV4dGVuZGVkIHJlZ2lzdGVyLiAgKi8NCj4gPiAgI2RlZmluZSBSZWdSZXg2NCAgICAweDIgIC8q IEV4dGVuZGVkIDggYml0IHJlZ2lzdGVyLiAgKi8NCj4gPiAgI2RlZmluZSBSZWdWUmV4CSAgICAw eDQgIC8qIEV4dGVuZGVkIHZlY3RvciByZWdpc3Rlci4gICovDQo+ID4gKyNkZWZpbmUgUmVnUmV4 MgkgICAgMHg4ICAvKiBFeHRlbmRlZCByZXgyIGludGVyZ2UgcmVnaXN0ZXIuICAqLw0KPiANCj4g U2luY2UgSSBleHBlY3QgLyBob3BlIHRoZSBiaXQgd2lsbCBiZSByZXVzZWQgZm9yIGV4dGVuZGVk IEVWRVggZW5jb2RpbmdzLCBJIGRvbid0DQo+IHRoaW5rICJyZXgyIiBzaG91bGQgYmUgbWVudGlv bmVkIGhlcmUuIEFsc28gImludGVnZXIiIHBsZWFzZS4NCiANCkRvbmUuDQoNCj4gPiBAQCAtOTMs NiArMTQxLDIyIEBAIHIxMiwgQ2xhc3M9UmVnfFF3b3JkfEJhc2VJbmRleCwgUmVnUmV4LCA0LA0K PiA+IER3MkludmFsLCAxMiAgcjEzLCBDbGFzcz1SZWd8UXdvcmR8QmFzZUluZGV4LCBSZWdSZXgs IDUsIER3MkludmFsLCAxMw0KPiA+IHIxNCwgQ2xhc3M9UmVnfFF3b3JkfEJhc2VJbmRleCwgUmVn UmV4LCA2LCBEdzJJbnZhbCwgMTQgIHIxNSwNCj4gPiBDbGFzcz1SZWd8UXdvcmR8QmFzZUluZGV4 LCBSZWdSZXgsIDcsIER3MkludmFsLCAxNQ0KPiA+ICtyMTYsIENsYXNzPVJlZ3xRd29yZHxCYXNl SW5kZXgsIFJlZ1JleDIsIDAsIER3MkludmFsLCAxMzAgcjE3LA0KPiA+ICtDbGFzcz1SZWd8UXdv cmR8QmFzZUluZGV4LCBSZWdSZXgyLCAxLCBEdzJJbnZhbCwgMTMxIHIxOCwNCj4gPiArQ2xhc3M9 UmVnfFF3b3JkfEJhc2VJbmRleCwgUmVnUmV4MiwgMiwgRHcySW52YWwsIDEzMiByMTksDQo+ID4g K0NsYXNzPVJlZ3xRd29yZHxCYXNlSW5kZXgsIFJlZ1JleDIsIDMsIER3MkludmFsLCAxMzMgcjIw LA0KPiA+ICtDbGFzcz1SZWd8UXdvcmR8QmFzZUluZGV4LCBSZWdSZXgyLCA0LCBEdzJJbnZhbCwg MTM0IHIyMSwNCj4gPiArQ2xhc3M9UmVnfFF3b3JkfEJhc2VJbmRleCwgUmVnUmV4MiwgNSwgRHcy SW52YWwsIDEzNSByMjIsDQo+ID4gK0NsYXNzPVJlZ3xRd29yZHxCYXNlSW5kZXgsIFJlZ1JleDIs IDYsIER3MkludmFsLCAxMzYgcjIzLA0KPiA+ICtDbGFzcz1SZWd8UXdvcmR8QmFzZUluZGV4LCBS ZWdSZXgyLCA3LCBEdzJJbnZhbCwgMTM3IHIyNCwNCj4gPiArQ2xhc3M9UmVnfFF3b3JkfEJhc2VJ bmRleCwgUmVnUmV4MnxSZWdSZXgsIDAsIER3MkludmFsLCAxMzggcjI1LA0KPiA+ICtDbGFzcz1S ZWd8UXdvcmR8QmFzZUluZGV4LCBSZWdSZXgyfFJlZ1JleCwgMSwgRHcySW52YWwsIDEzOSByMjYs DQo+ID4gK0NsYXNzPVJlZ3xRd29yZHxCYXNlSW5kZXgsIFJlZ1JleDJ8UmVnUmV4LCAyLCBEdzJJ bnZhbCwgMTQwIHIyNywNCj4gPiArQ2xhc3M9UmVnfFF3b3JkfEJhc2VJbmRleCwgUmVnUmV4MnxS ZWdSZXgsIDMsIER3MkludmFsLCAxNDEgcjI4LA0KPiA+ICtDbGFzcz1SZWd8UXdvcmR8QmFzZUlu ZGV4LCBSZWdSZXgyfFJlZ1JleCwgNCwgRHcySW52YWwsIDE0MiByMjksDQo+ID4gK0NsYXNzPVJl Z3xRd29yZHxCYXNlSW5kZXgsIFJlZ1JleDJ8UmVnUmV4LCA1LCBEdzJJbnZhbCwgMTQzIHIzMCwN Cj4gPiArQ2xhc3M9UmVnfFF3b3JkfEJhc2VJbmRleCwgUmVnUmV4MnxSZWdSZXgsIDYsIER3Mklu dmFsLCAxNDQgcjMxLA0KPiA+ICtDbGFzcz1SZWd8UXdvcmR8QmFzZUluZGV4LCBSZWdSZXgyfFJl Z1JleCwgNywgRHcySW52YWwsIDE0NQ0KPiANCj4gSSB3b25kZXIgaG93IHRoZSBEd2FyZiByZWdp c3RlciBudW1iZXIgd2VyZSBjaG9zZW4gLi4uDQoNCjEyNSBpcyB1c2VkIEluIGs3IHJlZ2lzdGVy LCB3aGljaCBpcyB0aGUgbGFyZ2VzdCBudW1iZXIgYmVmb3JlLCAxMzAgc2hvdWxkIGJlIGEgcmFu ZG9tIG51bWJlciBqdXN0IGJpZ2dlciB0aGFuIDEyNS4NCg0KazAsIENsYXNzPVJlZ01hc2ssIDAs IDAsIDkzLCAxMTgNCmsxLCBDbGFzcz1SZWdNYXNrLCAwLCAxLCA5NCwgMTE5DQprMiwgQ2xhc3M9 UmVnTWFzaywgMCwgMiwgOTUsIDEyMA0KazMsIENsYXNzPVJlZ01hc2ssIDAsIDMsIDk2LCAxMjEN Cms0LCBDbGFzcz1SZWdNYXNrLCAwLCA0LCA5NywgMTIyDQprNSwgQ2xhc3M9UmVnTWFzaywgMCwg NSwgOTgsIDEyMw0KazYsIENsYXNzPVJlZ01hc2ssIDAsIDYsIDk5LCAxMjQNCms3LCBDbGFzcz1S ZWdNYXNrLCAwLCA3LCAxMDAsIDEyNQ0KDQpUaGFua3MNCkxpbGkuDQo+IA0KPiBKYW4NCg==