From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.11]) by sourceware.org (Postfix) with ESMTPS id 879963858C5F for ; Tue, 12 Dec 2023 03:18:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 879963858C5F Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 879963858C5F Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=192.198.163.11 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1702351099; cv=pass; b=MJgjgyJSSX2wHT/uVyZVxTWt4tMMxgsqghjAzLJyFlYkxY3WRhhExP6JF79Acbb0dGXlTuK42LuXWZsSuJy+skE4kFSAc5FEaMQ5IPg7XTaaZ1rCu9P7fTVId6SplZ6LhNjAJTBc0VsnuZ+4h9S68+g96f3wJOns7bMeYG+jPQ8= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1702351099; c=relaxed/simple; bh=0BW+TFW2FQnrjHAZL3yw7xheyMEkLrHwuykpbPMwgNI=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=mui1P5o0/Wp6xK6jNrMB+48gJlLGCh1Lx67f8eH2dn0bjAgx3MeqT4LNdsrl9xtGhHuHmkrX/EOKZL8Pa7uD3+7rrk6ugHZAwyND60Gn+L2o36WwjwYpzhjTR8pduv//b3QQnBSR+0pGayi2iNOTG6ZawoTWxT9ZBELLZ5JsvgA= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1702351096; x=1733887096; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=0BW+TFW2FQnrjHAZL3yw7xheyMEkLrHwuykpbPMwgNI=; b=jIqDasF7bq3C9Y6Mcb700mzRN68zsrxwHWnUfXmYxY4AhVYCNT/fa8Wk 6ndwlCmdRWCnQBACRb8TYTrp7X31AD0XsvcNExHDp7H+cbF7MRzTBKlNf z9X5hNYOY5ELZOZQF+AyAstrbe4pmz++WUuv4en84488msKJgpMG7urJT wVEmXSljiDNjjgjtxai2UexyBtP4PtinL7j/CRcniHHmMnaEB5AifhumQ 3BNNmI5fGfApersBsuP2edX77qKYLaq3Vbva6vcC5rL8FR9DV5nj60haQ ektXxnDLVQFoCTG3y6B7204roqVsX90E7O0HpmulzOLLD6RHTeb8AH7q+ g==; X-IronPort-AV: E=McAfee;i="6600,9927,10921"; a="1560486" X-IronPort-AV: E=Sophos;i="6.04,269,1695711600"; d="scan'208";a="1560486" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmvoesa105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Dec 2023 19:18:15 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10921"; a="766645919" X-IronPort-AV: E=Sophos;i="6.04,269,1695711600"; d="scan'208";a="766645919" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga007.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 11 Dec 2023 19:18:14 -0800 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) 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.35; Mon, 11 Dec 2023 19:18:13 -0800 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) 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.2507.35; Mon, 11 Dec 2023 19:18:13 -0800 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) 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.35 via Frontend Transport; Mon, 11 Dec 2023 19:18:13 -0800 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.101) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Mon, 11 Dec 2023 19:18:12 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=L8q2jFxT6bh2VvR7m9Qkv8KUUOZWrNWXAmAKY5XJZwU7Qs2vHbttJQi7YSGuB9F8oF9Ri4FA5wPWw2p6aT7nicjVnZoVUTARl1aT9Q5aUkFOowSkVis+mRrxRuJi1iELLwks6Yr1RDzryrlqekL4lMurkrWgyI/eQj9XOzTlUdCVcYs3WbERXBostgqteTK4POPykQ0rs4Tdwtgv+iVcRaHNBQkjyjs+Kc4nBVl/vaq0jmFNjLCGQpRhj8P4gHGCiJC8fDMP0EB8c9QVJbc1hyKME9/ncY7xCBefaZ9VEBt5BhpUtzeGSBYNQxotb01KLe56on8kT54v4f2mDsa7BA== 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=0BW+TFW2FQnrjHAZL3yw7xheyMEkLrHwuykpbPMwgNI=; b=ABJffcUP5hXNMJ+p6pFIfw5hgpmigohm21nfv1kFYvZfTCDMCw6xS+ybe2vyAqdh/fx3Ua88kWokb7Fww8iCqNwoCxXRyZ+fq3BtYHaXqxKR6R/wNqvi1Ra3htvYEz4umuZCS3X0Lb1VRaVwhR8nOmKhTVGRBI4dn3gPdrLZTPXq2kXLzjwViRB+wcDKOIUGg7yyL2zWgvT4TmTIg/55C4Sh3cb3FBBO+aZST/yaz4stQxFU0T9bBnTQC4v1oYGeX1pSxTBmW/i+YBP6QAf+YWx/2JRUeENSWFyW5UO0ryFTFvXp7wR5+/eBp2wxeAQvoU0Xt/AcGGkogmWX/Nq3Pg== 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 SJ0PR11MB5940.namprd11.prod.outlook.com (2603:10b6:a03:42f::18) by CH3PR11MB7844.namprd11.prod.outlook.com (2603:10b6:610:12a::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7068.33; Tue, 12 Dec 2023 03:18:09 +0000 Received: from SJ0PR11MB5940.namprd11.prod.outlook.com ([fe80::8a10:338f:c17e:dd7f]) by SJ0PR11MB5940.namprd11.prod.outlook.com ([fe80::8a10:338f:c17e:dd7f%7]) with mapi id 15.20.7068.033; Tue, 12 Dec 2023 03:18:09 +0000 From: "Hu, Lin1" To: "Beulich, Jan" , "Cui, Lili" CC: "Lu, Hongjiu" , "binutils@sourceware.org" Subject: RE: [PATCH v3 8/9] Support APX NDD optimized encoding. Thread-Topic: [PATCH v3 8/9] Support APX NDD optimized encoding. Thread-Index: AQHaHqQzHbZavNqhXk6noMy5NCgmwLCkHZqAgADVmLA= Date: Tue, 12 Dec 2023 03:18:09 +0000 Message-ID: References: <20231124070213.3886483-1-lili.cui@intel.com> <20231124070213.3886483-8-lili.cui@intel.com> In-Reply-To: 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: SJ0PR11MB5940:EE_|CH3PR11MB7844:EE_ x-ms-office365-filtering-correlation-id: 0b7cc559-9774-4168-758f-08dbfac0f798 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: 52jHKkZrkhbHidEztPPPgWFqsY7CjyQ7wCF22mz2+yuD82d4XWPZDWF5quK8o7K+aJauFskzXa108gFyvUA7ByIlTbQ8q/xzfOzxFpZgs2YT6FWSCcuT+T6JbRBEZJkSD61GevlNjsTKoS3IMwjwpj5f4G4aYaHc6Xq10pUo5p3z61NBZ7v7Tpqv23oQD3ZbbHGWCNEAkSzyOoDhKU0+K29tdK9JAVklD67sYA4kTSKVYyZLuZBccEvAjaVssBfZU27rERP0hZ2wboHkyBz/NvL29ECYZ4qez91tzdaqTB3ITIDJzLpVEpW3ZUCK5eJ+LTOoMIfmwfIhoBhF5eYG4NKspBJ/nncMuZqQfaIljqKpqaWSh14e/ZuNlRLjMI4uQ1K14NlAZFMvd4C3vGZMNaQvpEZyUhKR8EuX3YdDV5accgVIP0PlADF/DOvwFyT1L6p4YrUEK3G5usVTU9QpQXNMEo7QoZygz4js/k8awGqaEOcLNb2OSLo8vV+9LeGFnENmi1E/LjAUXuSwJaAfHYk/uq/v8XcCEYGg5720to8/tpsUFhADDeoRjrNLD37YboX8YKg3rKR04gvDz6yHWLo3+jzu4CuMMfOe8aAF+jdQWz7CFgYHqhIfzhW9+ygD x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR11MB5940.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(376002)(346002)(136003)(366004)(396003)(230922051799003)(64100799003)(1800799012)(186009)(451199024)(122000001)(38100700002)(86362001)(30864003)(82960400001)(316002)(6636002)(33656002)(66476007)(55016003)(66556008)(41300700001)(64756008)(26005)(83380400001)(9686003)(6506007)(66446008)(7696005)(53546011)(2906002)(71200400001)(478600001)(38070700009)(76116006)(110136005)(66946007)(54906003)(8936002)(4326008)(8676002)(52536014)(5660300002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?YmxORUJUb3ZmTWFGS1puMEthRnFCWExVRkJ4ZW1kVEN3bkpGOUZ5K3Q0UE1v?= =?utf-8?B?QzF3cVZlNzk3Yk4zMlNoRlRKYWNKODRWMkVZN25FTldWSVh6VGtnYlUyY0tv?= =?utf-8?B?VFd0cDZHczhFUjN0MnY5N2VsUFBtR28zcCswMlNUSjJEU3hCQnN3M0EyQVpS?= =?utf-8?B?a2I3eHBudHdNNmRSQWVGNDRCLzRWR2hLWWU4dlg5QkJMNkRwdW1WakhGUnV5?= =?utf-8?B?cVQ4cXpJRExnYm5DVlV0K1IwVWkvKzkycWlmRHBkcEJOaElYcUQraEZ2eDFW?= =?utf-8?B?blhGaVNPTmZBUno5NFpGdUI3NGI2NWtISnpIenlpVWJVMy9lVzYwSzFiemt4?= =?utf-8?B?dDIxaTFZWnlQVEVXVExxVnl3WDRySjdGU3BIYVhzZVRQaHRSK1A1ZmdMdHd5?= =?utf-8?B?TEtjT04ydHNXUVJYZERXNzFNWGNWK3JybFl4MUpFU01QOG1LQjNkbGhXOEhU?= =?utf-8?B?TzRPOC8xS3RNK3BSeHFYcWJKQ1diQm5uUFQ0NDM1aE5jWm9sTGNueWZWUXdv?= =?utf-8?B?ekZZNWJsYkxlR2s5OFNZU04zU2twQ0Z0RklxQkx5Sm1KRFZUY1JZNE1BNmEr?= =?utf-8?B?NVd4TGg0b2ErZ090Qi8zb0JCVmF0WnFJR21wM0taNmttWDRwS0EwRmtWbFEr?= =?utf-8?B?aDFVaVBuRmRBUXRtOG80Z0dsZEpyeWpTaWFCZ3UvbFhZOGVNUWtENzAwRk5j?= =?utf-8?B?Ym9TYWVpUk1sRjZnYmRQZWxsa0pUSmpJSGkwUHFwQmN1WmJ5ZDBIbDFuUnQx?= =?utf-8?B?enRKd2VjUkpVelFNbitQQmpIT2x3cWNIcDRQY01ZMVg0Uzh6eHhxNEUxdnN0?= =?utf-8?B?dXJ0dXBobUFuZy91ZU1Ma2Foc0FGQTdSc1VscXJtMkwyOXpMcXBSUHdEZWw4?= =?utf-8?B?bnVPNEhST3dMRUFFcEI5Y2hWSFA1ckE0WWFsaWZmeXpxWlVhYlVaTnNueDJ4?= =?utf-8?B?aUJyZ3R3RW9tSTdtV2FaT2xjSENScjBhcVBEN0RvQkxsY3dPRUw1eHdjNmxs?= =?utf-8?B?UnkybGNXUExvRzVjNkZYdHhJTnNsdFdXL2VHWGs3MndYZmFFSHdjQ2VUSnFX?= =?utf-8?B?U1FPZEMwdWlZOEswUDBjMk5KazFkQklGWFRwWTVOT25SSnI4SHJqQW91VWVO?= =?utf-8?B?RHN1RmlVdm45RXk1NUhFdmpvUDNwQ3JEQTMrZXRZWmE0bFpRZnZqYUxOajZG?= =?utf-8?B?akdyOE1MRFUrYzVITklHMDdLeXpLa08rSlVsSytZVVlrUW9zakZ6TFkvYlR3?= =?utf-8?B?RzNQVHhWL1RKWGFKNmdTQnVRb01yMWpCRjV1blI5VjlRd0RFSnc0Smc5TFJy?= =?utf-8?B?c24yTStsTWsrRW9qQ1U3djBYS04vN3RHRWVsdi9ERWZ2Rnc3T2J0ekxqRHpt?= =?utf-8?B?OGt1TzAzSjVQU0VnQmpQS29VOGhDdVgwSVlud3UwUFdsVXd1U3NmYlNtUmxi?= =?utf-8?B?OUVXYU5uTG52UHovUi83ZmZtTU51Yzk1UlBwbEpWVjI0bS9JSHpQZWluS2No?= =?utf-8?B?NFFXMGQvbmxuTlVQRU5TdW9NZm1BaUY0bVFYSjBRNnhCMFBTa3RLVVQ0bTQ2?= =?utf-8?B?UDNJTzBPSG91WGJremFveEVMUFBzTUJ6M2xMWWwxcE9RMUFGamtSeFRubmRu?= =?utf-8?B?S2twOTlLZjl3OGk2NDZaa0tpODBjcEp4dGRhNGp2UkdxZ1FVUlRZRlpKWUJi?= =?utf-8?B?dFVibVczMWVjeEt3ZVJoUWZLODFyRzNqWXhUYXR5OVhBaEVMdkJvVGxyelND?= =?utf-8?B?K3lERVNDNlA0Smc4VmpQMkZ2RXVTNk9FcmpCVXFKMUdZd29hU1lTL3NoYlRv?= =?utf-8?B?M1lBRk1VdlN3TGoxU2lCQWpta04ycm1hdzJaM3RkSE5mT1JITzBzYmYxMmNC?= =?utf-8?B?SWtyckkxMTZxY2NFMno2VHI3Nk1PRnZHam1PUkZjcXNLNURuWGgvb1laejdJ?= =?utf-8?B?VEpUNzArVDh4MGQ0UW1HRHlRaUZ0UWh3QU94ZnJzV3VhMkVtZjBsUHJyYjNB?= =?utf-8?B?U1I4cnlDa3c0c2ZhdTh2b0wremZGTDVMZW1aWHVNOHh1UHdNckNRTDc3NzNh?= =?utf-8?B?OTFjRUlnSFRjSjRJR2lESUZNNC9MVWE3NFl4YkEvNXlha2N0UDdIY25DKzZT?= =?utf-8?Q?tko0=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: SJ0PR11MB5940.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0b7cc559-9774-4168-758f-08dbfac0f798 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Dec 2023 03:18:09.6927 (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: TVfsKJ0RnpxNIvelDkNRBMK7J6La13YmEmAPUZr1Y+oakT8uHA4FkcfxFhnM+YFZvUMGT6TLSWh7f6ZsZtw8SA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR11MB7844 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-4.6 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,T_SCC_BODY_TEXT_LINE 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: PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBKYW4gQmV1bGljaCA8amJldWxp Y2hAc3VzZS5jb20+DQo+IFNlbnQ6IE1vbmRheSwgRGVjZW1iZXIgMTEsIDIwMjMgODoyOCBQTQ0K PiBUbzogQ3VpLCBMaWxpIDxsaWxpLmN1aUBpbnRlbC5jb20+DQo+IENjOiBMdSwgSG9uZ2ppdSA8 aG9uZ2ppdS5sdUBpbnRlbC5jb20+OyBIdSwgTGluMSA8bGluMS5odUBpbnRlbC5jb20+Ow0KPiBi aW51dGlsc0Bzb3VyY2V3YXJlLm9yZw0KPiBTdWJqZWN0OiBSZTogW1BBVENIIHYzIDgvOV0gU3Vw cG9ydCBBUFggTkREIG9wdGltaXplZCBlbmNvZGluZy4NCj4gDQo+IE9uIDI0LjExLjIwMjMgMDg6 MDIsIEN1aSwgTGlsaSB3cm90ZToNCj4gPiAtLS0gYS9nYXMvY29uZmlnL3RjLWkzODYuYw0KPiA+ ICsrKyBiL2dhcy9jb25maWcvdGMtaTM4Ni5jDQo+ID4gQEAgLTcxNDgsNiArNzE0OCw1OCBAQCBj aGVja19BUFhfb3BlcmFuZHMgKGNvbnN0IGluc25fdGVtcGxhdGUgKnQpDQo+ID4gICAgcmV0dXJu IDA7DQo+ID4gIH0NCj4gPg0KPiA+ICsvKiBDaGVjayBpZiB0aGUgaW5zdHJ1Y3Rpb24gdXNlIHRo ZSBSRVggcmVnaXN0ZXJzLiAgKi8gc3RhdGljIGJvb2wNCj4gPiArY2hlY2tfUmV4T3BlcmFuZHMg KCkgew0KPiA+ICsgIGZvciAodW5zaWduZWQgaW50IG9wID0gMDsgb3AgPCBpLm9wZXJhbmRzOyBv cCsrKQ0KPiA+ICsgICAgew0KPiA+ICsgICAgICBpZiAoaS50eXBlc1tvcF0uYml0ZmllbGQuY2xh c3MgIT0gUmVnKQ0KPiA+ICsJY29udGludWU7DQo+ID4gKw0KPiA+ICsgICAgICBpZiAoaS5vcFtv cF0ucmVncy0+cmVnX2ZsYWdzICYgKFJlZ1JleCB8IFJlZ1JleDY0KSkNCj4gPiArCXJldHVybiB0 cnVlOw0KPiA+ICsgICAgfQ0KPiA+ICsNCj4gPiArICBpZiAoKGkuaW5kZXhfcmVnICYmIChpLmlu ZGV4X3JlZy0+cmVnX2ZsYWdzICYgKFJlZ1JleCB8IFJlZ1JleDY0KSkpDQo+ID4gKyAgICAgIHx8 IChpLmJhc2VfcmVnICYmIChpLmJhc2VfcmVnLT5yZWdfZmxhZ3MgJiAoUmVnUmV4IHwgUmVnUmV4 NjQpKSkpDQo+ID4gKyAgICByZXR1cm4gdHJ1ZTsNCj4gPiArDQo+ID4gKyAgLyogQ2hlY2sgcHNl dWRvIHByZWZpeCB7cmV4fSBhcmUgdmFsaWQuICAqLyAgcmV0dXJuIGkucmV4X2VuY29kaW5nOw0K PiANCj4gQ2FuIHRoaXMgYWN0dWFsbHkgaGFwcGVuLCB3aGVuIHdlJ3JlIGNvbnZlcnRpbmcgZnJv bSBFVkVYIHRvIGxlZ2FjeT8NCj4gKEluaXRpYWxseSBJIHdhbnRlZCB0byBhc2sgYWJvdXQgInJl eCIgYW5kIGFsaWtlIHByZWZpeGVzLCBpLmUuIHRoZSBub24tIHBzZXVkbw0KPiBvbmVzLikNCj4N Cg0KVGhpcyBpcyB0byBhbGlnbiB3aXRoIGNoZWNrX0VncHJPcGVyYW5kcy4gSSBob3BlIHRoZSBm dW5jdGlvbiBiZSBtb3JlIGdlbmVyYWwuIE5vdCBqdXN0IGZvciB0aGlzIG9wdGltaXphdGlvbiBw cm9ibGVtLg0KIA0KPg0KPiA+ICt9DQo+ID4gKw0KPiA+ICsvKiBPcHRpbWl6ZSBBUFggTkREIGlu c25zIHRvIGxlZ2FjeSBpbnNucy4gICovIHN0YXRpYyB1bnNpZ25lZCBpbnQNCj4gPiArY2FuX2Nv bnZlcnRfTkREX3RvX2xlZ2FjeSAoY29uc3QgaW5zbl90ZW1wbGF0ZSAqdCkgew0KPiA+ICsgIHVu c2lnbmVkIGludCBtYXRjaF9kZXN0X29wID0gfjA7DQo+ID4gKw0KPiA+ICsgIGlmICh0LT5vcGNv ZGVfbW9kaWZpZXIudmV4dnZ2diA9PSBWZXhWVlZWX0RTVA0KPiANCj4gTm8gbmV3IGNhbGxlcnMg YXJlIGV4cGVjdGVkIHRvIGFwcGVhciAoYW55IHRpbWUgc29vbikgYW5kIHRoZSBzb2xlIGNhbGxl ciBoYXMNCj4gY2hlY2tlZCB0aGlzIGFscmVhZHkuDQo+DQoNCkkgd2lsbCByZW1vdmUgdGhlIGNv bmRpdGlvbi4NCiANCj4NCj4gQWxzbyB3aXRoIHRoaXMgY2hlY2ssIC4uLg0KPiANCj4gPiArICAg ICAgJiYgdC0+b3Bjb2RlX3NwYWNlID09IFNQQUNFX0VWRVhNQVA0DQo+IA0KPiAuLi4gd2hhdCAo ZnVydGhlcikgZWZmZWN0IGlzIHRoaXMgb25lIGludGVuZGVkIHRvIGhhdmU/DQo+DQoNCkF0IGZp cnN0IGl0IHdhcyBiZWNhdXNlIG9mIG1hcDQrdmV4dnZ2dnYgaW4gb3JkZXIgdG8gbG9jYXRlIHRo ZSBpbnN0cnVjdGlvbnMgdGhhdCBuZWVkZWQgdG8gYmUgb3B0aW1pemVkLiBJdCBzZWVtcyB0aGF0 IGl0J3MgdXNlbGVzcyBub3cuIEkgd2lsbCByZW1vdmUgaXQuDQogDQo+DQo+ID4gKyAgICAgICYm ICFpLmhhc19uZg0KPiA+ICsgICAgICAmJiBpLnJlZ19vcGVyYW5kcyA+PSAyKQ0KPiA+ICsgICAg ew0KPiA+ICsgICAgICB1bnNpZ25lZCBpbnQgZGVzdCA9IGkub3BlcmFuZHMgLSAxOw0KPiA+ICsg ICAgICB1bnNpZ25lZCBpbnQgc3JjMSA9IGkub3BlcmFuZHMgLSAyOw0KPiA+ICsgICAgICB1bnNp Z25lZCBpbnQgc3JjMiA9IChpLm9wZXJhbmRzID4gMykgPyBpLm9wZXJhbmRzIC0gMyA6IDA7DQo+ ID4gKw0KPiA+ICsgICAgICBpZiAoaS50eXBlc1tzcmMxXS5iaXRmaWVsZC5jbGFzcyA9PSBSZWcN Cj4gPiArCSAgJiYgaS5vcFtzcmMxXS5yZWdzID09IGkub3BbZGVzdF0ucmVncykNCj4gPiArCW1h dGNoX2Rlc3Rfb3AgPSBzcmMxOw0KPiA+ICsgICAgICAvKiBJZiB0aGUgZmlyc3Qgb3BlcmFuZCBp cyB0aGUgc2FtZSBhcyB0aGUgdGhpcmQgb3BlcmFuZCwNCj4gPiArCSB0aGVzZSBpbnN0cnVjdGlv bnMgbmVlZCB0byBzdXBwb3J0IHRoZSBhYmlsaXR5IHRvIGNvbW11dGF0aXZlDQo+ID4gKwkgdGhl IGZpcnN0IHR3byBvcGVyYW5kcyBhbmQgc3RpbGwgbm90IGNoYW5nZSB0aGUgc2VtYW50aWNzIGlu IG9yZGVyDQo+ID4gKwkgdG8gYmUgb3B0aW1pemVkLiAgKi8NCj4gPiArICAgICAgZWxzZSBpZiAo aS50eXBlc1tzcmMyXS5iaXRmaWVsZC5jbGFzcyA9PSBSZWcNCj4gPiArCSAgICAgICAmJiBpLm9w W3NyYzJdLnJlZ3MgPT0gaS5vcFtkZXN0XS5yZWdzDQo+ID4gKwkgICAgICAgJiYgb3B0aW1pemUg PiAxDQo+ID4gKwkgICAgICAgJiYgdC0+b3Bjb2RlX21vZGlmaWVyLmNvbW11dGF0aXZlKQ0KPiAN Cj4gQmFzZWQgb24gdGhlICJjaGVhcCBjb25kaXRpb25zIGZpcnN0IiBwcmluY2lwbGUgYW5kIHRv IGFsc28gYmUgYmV0dGVyIGluIGxpbmUgd2l0aA0KPiB0aGUgY29tbWVudCwgbWF5IEkgc3VnZ2Vz dA0KPiANCj4gKyAgICAgIGVsc2UgaWYgKG9wdGltaXplID4gMQ0KPiArCSAgICAgICAmJiB0LT5v cGNvZGVfbW9kaWZpZXIuY29tbXV0YXRpdmUNCj4gKwkgICAgICAgJiYgaS50eXBlc1tzcmMyXS5i aXRmaWVsZC5jbGFzcyA9PSBSZWcNCj4gKwkgICAgICAgJiYgaS5vcFtzcmMyXS5yZWdzID09IGku b3BbZGVzdF0ucmVncykNCj4gDQo+ID8NCj4NCg0KVGhhbmtzIHlvdXIgYWR2aWNlLCBJIGhhdmUg bW9kaWZpZWQuDQoNCj4gDQo+ID4gKwltYXRjaF9kZXN0X29wID0gc3JjMjsNCj4gPiArICAgIH0N Cj4gPiArICByZXR1cm4gbWF0Y2hfZGVzdF9vcDsNCj4gPiArfQ0KPiA+ICsNCj4gPiAgLyogSGVs cGVyIGZ1bmN0aW9uIGZvciB0aGUgcHJvZ3Jlc3MoKSBtYWNybyBpbiBtYXRjaF90ZW1wbGF0ZSgp LiAgKi8NCj4gPiBzdGF0aWMgSU5MSU5FIGVudW0gaTM4Nl9lcnJvciBwcm9ncmVzcyAoZW51bSBp Mzg2X2Vycm9yIG5ldywNCj4gPiAgCQkJCQllbnVtIGkzODZfZXJyb3IgbGFzdCwNCj4gPiBAQCAt NzY3NSw2ICs3NzI3LDYxIEBAIG1hdGNoX3RlbXBsYXRlIChjaGFyIG1uZW1fc3VmZml4KQ0KPiA+ ICAJICBpLm1lbXNoaWZ0ID0gbWVtc2hpZnQ7DQo+ID4gIAl9DQo+ID4NCj4gPiArICAgICAgLyog SWYgd2UgY2FuIG9wdGltaXplIGEgTkREIGluc24gdG8gbGVnYWN5IGluc24sIGxpa2UNCj4gPiAr CSBhZGQgJXIxNiwgJXI4LCAlcjggLT4gYWRkICVyMTYsICVyOCwNCj4gPiArCSBhZGQgICVyOCwg JXIxNiwgJXI4IC0+IGFkZCAlcjE2LCAlcjgsIHRoZW4gcmVtYXRjaCB0ZW1wbGF0ZS4NCj4gPiAr CSBOb3RlIHRoYXQgdGhlIHNlbWFudGljcyBoYXZlIG5vdCBiZWVuIGNoYW5nZWQuICAqLw0KPiA+ ICsgICAgICBpZiAob3B0aW1pemUNCj4gPiArCSAgJiYgIWkubm9fb3B0aW1pemUNCj4gPiArCSAg JiYgaS52ZWNfZW5jb2RpbmcgIT0gdmV4X2VuY29kaW5nX2V2ZXgNCj4gPiArCSAgJiYgdCArIDEg PCBjdXJyZW50X3RlbXBsYXRlcy0+ZW5kDQo+ID4gKwkgICYmICF0WzFdLm9wY29kZV9tb2RpZmll ci5ldmV4DQo+ID4gKwkgICYmIHRbMV0ub3Bjb2RlX3NwYWNlIDw9IFNQQUNFXzBGMzgNCj4gPiAr CSAgJiYgdC0+b3Bjb2RlX21vZGlmaWVyLnZleHZ2dnYgPT0gVmV4VlZWVl9EU1QpDQo+ID4gKwl7 DQo+ID4gKwkgIHVuc2lnbmVkIGludCBtYXRjaF9kZXN0X29wID0gY2FuX2NvbnZlcnRfTkREX3Rv X2xlZ2FjeSAodCk7DQo+ID4gKwkgIHNpemVfbWF0Y2ggPSB0cnVlOw0KPiANCj4gVGhpcyB3b3Vs ZCBwZXJoYXBzIGJldHRlciAuLi4NCj4gDQo+ID4gKwkgIGlmIChtYXRjaF9kZXN0X29wICE9ICh1 bnNpZ25lZCBpbnQpIH4wKQ0KPiA+ICsJICAgIHsNCj4gDQo+IC4uLiBsaXZlIGhlcmUNCj4NCg0K T0suDQogDQo+DQo+ID4gKwkgICAgICAvKiBXZSBlbnN1cmUgdGhhdCB0aGUgbmV4dCB0ZW1wbGF0 ZSBoYXMgdGhlIHNhbWUgaW5wdXQNCj4gPiArCQkgb3BlcmFuZHMgYXMgdGhlIG9yaWdpbmFsIG1h dGNoaW5nIHRlbXBsYXRlIGJ5IHRoZSBmaXJzdA0KPiA+ICsJCSBvcGVybmQgKEFUVCksIHRodXMg YXZvaWRpbmcgdGhlIGVycm9yIGNhdXNlZCBieSB0aGUgd3JvbmcNCj4gb3JkZXINCj4gPiArCQkg b2YgaW5zbnMgaW4gaTM4Ni50YmwuICAqLw0KPiANCj4gSSdtIHNvcnJ5LCBidXQgSSAoc3RpbGwp IGNhbid0IG1ha2Ugc2Vuc2Ugb2YgdGhpcyBsYXN0IHBhcnQgb2YgdGhlIGNvbW1lbnQsIGFmdGVy IHRoZQ0KPiBjb21tYS4NCj4NCg0KSSBtZWFuIGlmIHNvbWVvbmUgc3VwcG9ydCBuZXcgTkREIGlu c25zIGFuZCBwdXQgaXQgaW4gdGhlIHdyb25nIHBvc2l0aW9uLCBzbyB0aGUgcGFydCB3aWxsIHRy eSB0byBhdm9pZCB0byBvcHRpbWl6ZSB0aGUgaW5zbi4NCiANCj4NCj4gPiArCSAgICAgIG92ZXJs YXAwID0gb3BlcmFuZF90eXBlX2FuZCAoaS50eXBlc1swXSwNCj4gPiArCQkJCQkgICB0WzFdLm9w ZXJhbmRfdHlwZXNbMF0pOw0KPiA+ICsJICAgICAgaWYgKHQtPm9wY29kZV9tb2RpZmllci5kKQ0K PiA+ICsJCW92ZXJsYXAxID0gb3BlcmFuZF90eXBlX2FuZCAoaS50eXBlc1swXSwNCj4gPiArCQkJ CQkgICAgIHRbMV0ub3BlcmFuZF90eXBlc1sxXSk7DQo+ID4gKwkgICAgICBpZiAoIW9wZXJhbmRf dHlwZV9tYXRjaCAob3ZlcmxhcDAsIGkudHlwZXNbMF0pDQo+ID4gKwkJICAmJiAoIXQtPm9wY29k ZV9tb2RpZmllci5kDQo+ID4gKwkJICAgICAgfHwgKHQtPm9wY29kZV9tb2RpZmllci5kDQo+ID4g KwkJCSAgJiYgIW9wZXJhbmRfdHlwZV9tYXRjaCAob3ZlcmxhcDEsIGkudHlwZXNbMF0pKSkpDQo+ IA0KPiBXaGF0J3Mgd3Jvbmcgd2l0aCB0aGUgc2ltcGxlcg0KPiANCj4gCQkgICYmICghdC0+b3Bj b2RlX21vZGlmaWVyLmQNCj4gCQkgICAgICB8fCAhb3BlcmFuZF90eXBlX21hdGNoIChvdmVybGFw MSwgaS50eXBlc1swXSkpKQ0KPiANCj4gPw0KPg0KDQpZZXMsIHRoZSBzaW1wbGVyIGlzIHVzZWZ1 bCwgSSBoYXZlIG1vZGlmaWVkIHRoZXNlIGNvbmRpdGlvbnMuDQogDQo+DQo+ID4gKwkJc2l6ZV9t YXRjaCA9IGZhbHNlOw0KPiANCj4gWWV0IHN0aWxsLCBhbmQgZGVzcGl0ZSB0aGUgaW1wcm92ZWQg Y29tbWVudCwgSSBkb24ndCByZWFsbHkgc2VlIHdoYXQgYWxsIG9mIHRoaXMgaXMNCj4gYWJvdXQu IFdoYXQgY2FzZXMgd291bGQgYmUgbWlzLWhhbmRsZWQgaWYgdGhpcyB3YXNuJ3QgdGhlcmU/DQo+ DQoNCk5vdCBjdXJyZW50bHkuIEl0J3MgZm9yIHNvbWVvbmUgc3VwcG9ydCBuZXcgTkREIGluc3Ry dWN0aW9ucyB3aXRoIHdyb25nIG9yZGVyLiBNeSBpZGVhIGlzIHRvIHByZWZlciBub3QgdG8gb3B0 aW1pemUsIGJ1dCB0cnkgdG8gYXZvaWQgcmVwb3J0aW5nIGVycm9yLg0KIA0KPg0KPiA+ICsJICAg ICAgaWYgKHNpemVfbWF0Y2gNCj4gPiArCQkgIC8qIE9wdGltaXppbmcgc29tZSBub24tbGVnYWN5 LW1hcDAvMSB3aXRob3V0IFJFWC9SRVgyDQo+IHByZWZpeCB3aWxsIGJlIHZhbHVhYmxlLiAgKi8N Cj4gPiArCQkgICYmICh0WzFdLm9wY29kZV9zcGFjZSA8PSBTUEFDRV8wRg0KPiANCj4gV2hlcmUg YSBjb21tZW50IGlzIHBsYWNlZCBpcyBtZWFuaW5nZnVsIHRvIHVuZGVyc3RhbmRpbmcgd2hhdCBp dCdzIGFib3V0LiBUaGUNCj4gd2F5eSB5b3UgaGF2ZSBpdCwgaXMgc2F5cyAibm9uLWxlZ2FjeS1t YXAwLzEiIG9uIGEgY2hlY2sgdGhhdCB0aGUgKG5leHQpDQo+IGVuY29kaW5nIGlzIG1hcDAgb3Ig bWFwMS4gSSB0aGluayB0aGlzIHdhbnRzIG1vdmluZyBkb3duIGJ5IGEgbGluZSwgYW5kIGV2ZW4N Cj4gdGhlbiBhbHNvIHJlLXdvcmRpbmc6IElmIEkgZGlkbid0ICh2YWd1ZWx5KSByZWNhbGwgY29u dGV4dCwgSSBkb24ndCB0aGluayBJIGNvdWxkDQo+IGRlcml2ZSB3aGF0IGlzIG1lYW50LiBJaXJj IHRoaXMgaXMgYWJvdXQgbGVnYWN5IGVuY29kaW5ncyBiZWluZyBvbmUgYnl0ZSBzaG9ydGVyDQo+ IGZvciBjZXJ0YWluIDBmMzggc3BhY2UgaW5zbnMgd2hlbiB0aGV5IGRvbid0IHJlcXVpcmUgYSBS RVggcHJlZml4IHRvIGVuY29kZS4NCj4gSG93IGFib3V0IHNvbWV0aGluZyBsaWtlICJTb21lIG5v bi1sZWdhY3ktbWFwMC8xIGluc25zIGNhbiBiZSBzaG9ydGVyIHdoZW4NCj4gbGVnYWN5LWVuY29k ZWQgYW5kIHdoZW4gbm8gUkVYIHByZWZpeCBpcyByZXF1aXJlZCI/DQo+DQoNCk9LLCBJIGhhdmUg bW9kaWZpZWQuIA0KIA0KPg0KPiA+ICsJCSAgICAgIHx8ICghY2hlY2tfRWdwck9wZXJhbmRzICh0 ICsgMSkNCj4gPiArCQkJICAmJiAhY2hlY2tfUmV4T3BlcmFuZHMgKCkNCj4gDQo+IEknbSBub3Qg Z29pbmcgdG8gaW5zaXN0IHRoYXQgeW91IGFkanVzdCB0aGlzLCBidXQgdGhlc2UgdHdvIGNhbGxz IHNpZGUgYnkgc2lkZQ0KPiBkZW1vbnN0cmF0ZSBhIGN1cmlvdXMgaW5jb25zaXN0ZW5jeTogVGhl IGZvcm1lciByZXF1aXJlcyB0IHRvIGJlIHBhc3NlZCBpbi4gSWYNCj4geW91IGtlZXAgaXQgbGlr ZSB0aGF0LCBJIG1heSBjaGFuZ2UgdGhpcyBkb3duIHRoZSByb2FkLCB0aGUgbW9yZSB0aGF0IHRo ZSB0LQ0KPiByZWxhdGVkIGFzcGVjdCBpc24ndCByZWxldmFudCBoZXJlIGF0IGFsbCAoYW5kIGNv dWxkIGhlbmNlIGJlIG1vdmVkIG91dCBvZiB0aGUNCj4gZnVuY3Rpb24gdG8gdGhlIHNpbmdsZSBw bGFjZSB3aGVyZSBpdCBpcyBuZWVkZWQpLg0KPg0KDQpJIHdpbGwga2VlcCB0aGUgcGFydCBvZiBj b2RlLiBJIHByZWZlciB0byBtb2RpZmllZCBjaGVja19FZ3ByT3BlcmFuZHMgaW4gYW5vdGhlciBw YXRjaC4NCiANCj4NCj4gPiArCQkJICAmJiAhaS5vcFtpLm9wZXJhbmRzIC0gMV0ucmVncy0NCj4g PnJlZ190eXBlLmJpdGZpZWxkLnF3b3JkKSkpDQo+ID4gKwkJew0KPiA+ICsJCSAgdW5zaWduZWQg aW50IHNyYzEgPSBpLm9wZXJhbmRzIC0gMjsNCj4gPiArCQkgIHVuc2lnbmVkIGludCBzcmMyID0g KGkub3BlcmFuZHMgPiAzKSA/IGkub3BlcmFuZHMgLSAzIDogMDsNCj4gPiArDQo+ID4gKwkJICBp ZiAobWF0Y2hfZGVzdF9vcCA9PSBzcmMyKQ0KPiA+ICsJCSAgICBzd2FwXzJfb3BlcmFuZHMgKG1h dGNoX2Rlc3Rfb3AsIHNyYzEpOw0KPiANCj4gSXNuJ3QgaXQgd3JvbmcgKGFsYmVpdCBiZW5pZ24p IHRvIHN3YXAgd2hlbiBpLm9wZXJhbmRzID09IDI/IElPVyB3b3VsZG4ndA0KPiANCj4gCQkgIGlm IChpLnJlZ19vcGVyYW5kcyA+IDIgJiYgbWF0Y2hfZGVzdF9vcCA9PSBpLm9wZXJhbmRzIC0gMykN Cj4gCQkgICAgc3dhcF8yX29wZXJhbmRzIChtYXRjaF9kZXN0X29wLCBpLm9wZXJhbmRzIC0gMik7 DQo+IA0KPiBiZSBtb3JlIGluIGxpbmUgd2l0aCB3aGF0J3MgYWN0dWFsbHkgd2FudGVkPw0KPiAN Cg0KQmVjYXVzZSBzb21lIGluc24gdXNlIG1lbW9yeSAobGlrZSBhZGQgJXI4LCAoJXJzcCksICVy OCksIHNvIEkgY2hhbmdlIHRoZSBjb2RlIGJlDQoJCSAgaWYgKGkub3BlcmFuZHMgPiAyICYmIG1h dGNoX2Rlc3Rfb3AgPT0gaS5vcGVyYW5kcyAtIDMpDQoJCSAgICBzd2FwXzJfb3BlcmFuZHMgKG1h dGNoX2Rlc3Rfb3AsIGkub3BlcmFuZHMgLSAyKTsNCg0KPg0KPiA+IC0tLSAvZGV2L251bGwNCj4g PiArKysgYi9nYXMvdGVzdHN1aXRlL2dhcy9pMzg2L3g4Ni02NC1hcHgtbmRkLW9wdGltaXplLnMN Cj4gPiBAQCAtMCwwICsxLDEyMyBAQA0KPiA+ICsjIENoZWNrIDY0Yml0IEFQWCBOREQgaW5zdHJ1 Y3Rpb25zIHdpdGggb3B0aW1pemVkIGVuY29kaW5nDQo+ID4gKw0KPiA+ICsJLnRleHQNCj4gPiAr X3N0YXJ0Og0KPiA+ICthZGQgICAgJXIzMSwlcjgsJXI4DQo+ID4gK2FkZGIgICAlcjMxYiwlcjhi LCVyOGINCj4gPiAre3N0b3JlfSBhZGQgICAgJXIzMSwlcjgsJXI4DQo+ID4gK3tsb2FkfSAgYWRk ICAgICVyMzEsJXI4LCVyOA0KPiA+ICthZGQgICAgJXIzMSwoJXI4KSwlcjMxDQo+ID4gK2FkZCAg ICAoJXIzMSksJXI4LCVyOA0KPiA+ICthZGQgICAgJDB4MTIzNDQ0MzMsJXIxNSwlcjE1DQo+ID4g K2FkZCAgICAkMHhmZmZmZmZmZmY0MzMyMjExLCVyOCwlcjgNCj4gPiAraW5jICAgICVyMzEsJXIz MQ0KPiA+ICtpbmNiICAgJXIzMWIsJXIzMWINCj4gPiArc3ViICAgICVyMTUsJXIxNywlcjE3DQo+ ID4gK3N1YmIgICAlcjE1YiwlcjE3YiwlcjE3Yg0KPiA+ICtzdWIgICAgJXIxNSwoJXI4KSwlcjE1 DQo+ID4gK3N1YiAgICAoJXIxNSwlcmF4LDEpLCVyMTYsJXIxNg0KPiA+ICtzdWIgICAgJDB4MTIz NCwlcjMwLCVyMzANCj4gPiArZGVjICAgICVyMTcsJXIxNw0KPiA+ICtkZWNiICAgJXIxN2IsJXIx N2INCj4gPiArc2JiICAgICVyMTUsJXIxNywlcjE3DQo+ID4gK3NiYmIgICAlcjE1YiwlcjE3Yiwl cjE3Yg0KPiA+ICtzYmIgICAgJXIxNSwoJXI4KSwlcjE1DQo+ID4gK3NiYiAgICAoJXIxNSwlcmF4 LDEpLCVyMTYsJXIxNg0KPiA+ICtzYmIgICAgJDB4MTIzNCwlcjMwLCVyMzANCj4gPiArYW5kICAg ICVyMTUsJXIxNywlcjE3DQo+ID4gK2FuZGIgICAlcjE1YiwlcjE3YiwlcjE3Yg0KPiA+ICthbmQg ICAgJXIxNSwoJXI4KSwlcjE1DQo+ID4gK2FuZCAgICAoJXIxNSwlcmF4LDEpLCVyMTYsJXIxNg0K PiA+ICthbmQgICAgJDB4MTIzNCwlcjMwLCVyMzANCj4gPiArb3IgICAgICVyMTUsJXIxNywlcjE3 DQo+ID4gK29yYiAgICAlcjE1YiwlcjE3YiwlcjE3Yg0KPiA+ICtvciAgICAgJXIxNSwoJXI4KSwl cjE1DQo+ID4gK29yICAgICAoJXIxNSwlcmF4LDEpLCVyMTYsJXIxNg0KPiA+ICtvciAgICAgJDB4 MTIzNCwlcjMwLCVyMzANCj4gPiAreG9yICAgICVyMTUsJXIxNywlcjE3DQo+ID4gK3hvcmIgICAl cjE1YiwlcjE3YiwlcjE3Yg0KPiA+ICt4b3IgICAgJXIxNSwoJXI4KSwlcjE1DQo+ID4gK3hvciAg ICAoJXIxNSwlcmF4LDEpLCVyMTYsJXIxNg0KPiA+ICt4b3IgICAgJDB4MTIzNCwlcjMwLCVyMzAN Cj4gPiArYWRjICAgICVyMTUsJXIxNywlcjE3DQo+ID4gK2FkY2IgICAlcjE1YiwlcjE3YiwlcjE3 Yg0KPiA+ICthZGMgICAgJXIxNSwoJXI4KSwlcjE1DQo+ID4gK2FkYyAgICAoJXIxNSwlcmF4LDEp LCVyMTYsJXIxNg0KPiA+ICthZGMgICAgJDB4MTIzNCwlcjMwLCVyMzANCj4gPiArbmVnICAgICVy MTcsJXIxNw0KPiA+ICtuZWdiICAgJXIxN2IsJXIxN2INCj4gPiArbm90ICAgICVyMTcsJXIxNw0K PiA+ICtub3RiICAgJXIxN2IsJXIxN2INCj4gPiAraW11bCAgIDB4OTA5MDkoJWVheCksJWVkeCwl ZWR4DQo+ID4gK2ltdWwgICAweDkwOSglcmF4LCVyMzEsOCksJXJkeCwlcmR4DQo+ID4gK2ltdWwg ICAlcmR4LCVyYXgsJXJkeA0KPiA+ICtyb2wgICAgJXIzMSwlcjMxDQo+ID4gK3JvbGIgICAlcjMx YiwlcjMxYg0KPiA+ICtyb2wgICAgJDB4MiwlcjEyLCVyMTINCj4gPiArcm9sYiAgICQweDIsJXIx MmIsJXIxMmINCj4gPiArcm9yICAgICVyMzEsJXIzMQ0KPiA+ICtyb3JiICAgJXIzMWIsJXIzMWIN Cj4gPiArcm9yICAgICQweDIsJXIxMiwlcjEyDQo+ID4gK3JvcmIgICAkMHgyLCVyMTJiLCVyMTJi DQo+ID4gK3JjbCAgICAlcjMxLCVyMzENCj4gPiArcmNsYiAgICVyMzFiLCVyMzFiDQo+ID4gK3Jj bCAgICAkMHgyLCVyMTIsJXIxMg0KPiA+ICtyY2xiICAgJDB4MiwlcjEyYiwlcjEyYg0KPiA+ICty Y3IgICAgJXIzMSwlcjMxDQo+ID4gK3JjcmIgICAlcjMxYiwlcjMxYg0KPiA+ICtyY3IgICAgJDB4 MiwlcjEyLCVyMTINCj4gPiArcmNyYiAgICQweDIsJXIxMmIsJXIxMmINCj4gPiArc2FsICAgICVy MzEsJXIzMQ0KPiA+ICtzYWxiICAgJXIzMWIsJXIzMWINCj4gPiArc2FsICAgICQweDIsJXIxMiwl cjEyDQo+ID4gK3NhbGIgICAkMHgyLCVyMTJiLCVyMTJiDQo+ID4gK3NobCAgICAlcjMxLCVyMzEN Cj4gPiArc2hsYiAgICVyMzFiLCVyMzFiDQo+ID4gK3NobCAgICAkMHgyLCVyMTIsJXIxMg0KPiA+ ICtzaGxiICAgJDB4MiwlcjEyYiwlcjEyYg0KPiA+ICtzaHIgICAgJXIzMSwlcjMxDQo+ID4gK3No cmIgICAlcjMxYiwlcjMxYg0KPiA+ICtzaHIgICAgJDB4MiwlcjEyLCVyMTINCj4gPiArc2hyYiAg ICQweDIsJXIxMmIsJXIxMmINCj4gPiArc2FyICAgICVyMzEsJXIzMQ0KPiA+ICtzYXJiICAgJXIz MWIsJXIzMWINCj4gPiArc2FyICAgICQweDIsJXIxMiwlcjEyDQo+ID4gK3NhcmIgICAkMHgyLCVy MTJiLCVyMTJiDQo+ID4gK3NobGQgICAkMHgxLCVyMTIsKCVyYXgpLCVyMTINCj4gPiArc2hsZCAg ICQweDIsJXI4LCVyMTIsJXIxMg0KPiA+ICtzaGxkICAgJDB4MiwlcjgsJXIxMiwlcjgNCj4gPiAr c2hsZCAgICVjbCwlcjksKCVyYXgpLCVyOQ0KPiA+ICtzaGxkICAgJWNsLCVyMTIsJXIxNiwlcjE2 DQo+ID4gK3NobGQgICAlY2wsJXIxMiwlcjE2LCVyMTINCj4gPiArc2hyZCAgICQweDEsJXIxMiwo JXJheCksJXIxMg0KPiA+ICtzaHJkICAgJDB4MSwlcjEzLCVyMTIsJXIxMg0KPiA+ICtzaHJkICAg JDB4MSwlcjEzLCVyMTIsJXIxMw0KPiA+ICtzaHJkICAgJWNsLCVyOSwoJXJheCksJXI5DQo+ID4g K3NocmQgICAlY2wsJXIxMiwlcjE2LCVyMTYNCj4gPiArc2hyZCAgICVjbCwlcjEyLCVyMTYsJXIx Mg0KPiA+ICtjbW92byAgMHg5MDkwOTA5MCglZWF4KSwlZWR4LCVlZHgNCj4gPiArY21vdm5vIDB4 OTA5MDkwOTAoJWVheCksJWVkeCwlZWR4DQo+ID4gK2Ntb3ZiICAweDkwOTA5MDkwKCVlYXgpLCVl ZHgsJWVkeA0KPiA+ICtjbW92YWUgMHg5MDkwOTA5MCglZWF4KSwlZWR4LCVlZHgNCj4gPiArY21v dmUgIDB4OTA5MDkwOTAoJWVheCksJWVkeCwlZWR4DQo+ID4gK2Ntb3ZuZSAweDkwOTA5MDkwKCVl YXgpLCVlZHgsJWVkeA0KPiA+ICtjbW92YmUgMHg5MDkwOTA5MCglZWF4KSwlZWR4LCVlZHgNCj4g PiArY21vdmEgIDB4OTA5MDkwOTAoJWVheCksJWVkeCwlZWR4DQo+ID4gK2Ntb3ZzICAweDkwOTA5 MDkwKCVlYXgpLCVlZHgsJWVkeA0KPiA+ICtjbW92bnMgMHg5MDkwOTA5MCglZWF4KSwlZWR4LCVl ZHgNCj4gPiArY21vdnAgIDB4OTA5MDkwOTAoJWVheCksJWVkeCwlZWR4DQo+ID4gK2Ntb3ZucCAw eDkwOTA5MDkwKCVlYXgpLCVlZHgsJWVkeA0KPiA+ICtjbW92bCAgMHg5MDkwOTA5MCglZWF4KSwl ZWR4LCVlZHgNCj4gPiArY21vdmdlIDB4OTA5MDkwOTAoJWVheCksJWVkeCwlZWR4DQo+ID4gK2Nt b3ZsZSAweDkwOTA5MDkwKCVlYXgpLCVlZHgsJWVkeA0KPiA+ICtjbW92ZyAgMHg5MDkwOTA5MCgl ZWF4KSwlZWR4LCVlZHgNCj4gPiArYWRjeCAgICVlYngsJWVheCwlZWF4DQo+ID4gK2FkY3ggICAl ZWF4LCVlYngsJWVheA0KPiA+ICthZGN4ICAgJXJieCwlcmF4LCVyYXgNCj4gPiArYWRjeCAgICVy MTUsJXI4LCVyOA0KPiANCj4gTWlnaHQgdGhpcyBiZXR0ZXIgYmUNCj4gDQo+IGFkY3ggICAlcjE1 ZCwlcjhkLCVyOGQNCj4gDQo+IHRvIGF2b2lkIGhhdmluZyB0d28gZXhjbHVzaW9uIGNyaXRlcmlh IChSRVggcmVnaXN0ZXIgdXNlIGFuZCBSRVguVyBzZXQpPw0KPiBPciBtYXliZSBldmVuIHNwbGl0 IHRvIGZ1cnRoZXIgc2VwYXJhdGUgc291cmNlIGFuZCBkZXN0aW5hdGlvbjoNCj4gDQo+IGFkY3gg ICAlZWF4LCVyOGQsJXI4ZA0KPiBhZGN4ICAgJXIxNWQsJWVheCwlZWF4DQo+IA0KPiA/DQo+DQoN Ck9LLCBJIGhhdmUgc3BsaXQgYWRjeCBhbmQgYWRveC4NCiANCkJSLA0KTGluDQo=