From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.65]) by sourceware.org (Postfix) with ESMTPS id E866C3858CDA for ; Mon, 30 Oct 2023 15:21:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E866C3858CDA 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 E866C3858CDA Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=134.134.136.65 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1698679309; cv=pass; b=kSLp9CMEhKRItW/2R353udSGcn7nEVWbRWdEKkU826Zg408aHDqfwA/UEszIQMDRo5X8Vcvwr9S0XftVkiDtsx7oroPDoR7CAJlLu3EAU8PqFiawdiRcMcMPcfTqtSdQSLMsyjsIIIFHnBb+dsYtZN4bhljHT2bUvqC93Iho4vs= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1698679309; c=relaxed/simple; bh=1nU+JGvdIz7v+7BUB9ONSWKI4WbY675tmYIge0u86Dg=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=A0rPrQgEUdSFBTveNbRnAmuIXabKU+VQFFg/Ko0wc23LcXdzbdPtE7Z7sTbdcveXNjwMTUHBm8o1NZDiY9A92ohWERpmedN72IkaZ2rYSnceNDbpaxKadD6UAa8+kyBtqrUgLHB2nlW/p1/9S0QvGYSPcyftRP5msXcP6kcO95g= 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=1698679307; x=1730215307; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=1nU+JGvdIz7v+7BUB9ONSWKI4WbY675tmYIge0u86Dg=; b=YV+KTh4Eqz7ruvuynx/PgkFCoBTfxYaQLw+9dQ117kW6PMxS9ClGHF+O HsUD0oQROkrvaTnhZXFLzc0z9QGlj5gUnPnjnElUboFqXtnKyTI3tHMjj xkwCbLZ7RYjV6RGoez3wKOah27Ow1D0XwLTcmM+gJiQWm6F7CQ3jDGh2z iyS0LSFlWwNMLvSUAHkIZR+pdlTdHh4uOgYq0Bxp0mmQZhE+nS91xMmYe 2E0PxupINyuWOIUbP3FmRZKaYBNKfCBpk9s/2wQmpjKB0+KnCHZT2kpGO I/hUAx69JqE5esx4+CGcnpXeZuLO/AgL4cwEBOx9kbA7yYE1hKVaNfG6d A==; X-IronPort-AV: E=McAfee;i="6600,9927,10879"; a="391950654" X-IronPort-AV: E=Sophos;i="6.03,263,1694761200"; d="scan'208";a="391950654" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Oct 2023 08:21:45 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10879"; a="736765510" X-IronPort-AV: E=Sophos;i="6.03,263,1694761200"; d="scan'208";a="736765510" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by orsmga006.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 30 Oct 2023 08:21:45 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Mon, 30 Oct 2023 08:21:44 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Mon, 30 Oct 2023 08:21:44 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34 via Frontend Transport; Mon, 30 Oct 2023 08:21:44 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.169) 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.34; Mon, 30 Oct 2023 08:21:43 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gyhXoWR5zCH7E+iDaajYMDrNqK+Hy6jCFcumj4kL4iEM4NJBU4NFvBU7OHTPPuQU4OlCZ0hJbZ3XVROpewMULsP1V/FcMElPwvdcxBIC+YFygn5ceXqpmHh2DBhKdUTDJyRvaG+bMDiwYCUFjgKz4o79mjkKP+nPRJReuc0XFv6J+8HQWFOX6QJ8qwk0mj2nQKL0h4cBMI1Z2gp3zSEWo5csy6xYiUmVwFPfyj+149iH95WF60p+XByjcmVEtFW1Ve2R36dL+XRI0JMu3rlY8hFsb2F/ZPCElIjKwptxeDscjDd1xxp/aC8Th/4dRIsHOz0bI6UnaN/52XtnX3HgpQ== 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=1nU+JGvdIz7v+7BUB9ONSWKI4WbY675tmYIge0u86Dg=; b=Uy+hlnt68xQ5CzYTP9twvBjSIRkWcy1n4QzczkuDTP6x4iNsWMPOwRomUZQfNmvRxpHmGFYKriCMK0MbJcPEOX4/YPxJ60m0mw1985J68pZahkEIGc4GGgrjFMYuLjX8/HWgz6RFFvf4jTyzMckv774aml2s4INuy/oKwoLDxl+EtO9KDlbGxRoIyZqWIRLI8nvnKTmkUTsHRnW1Ep/Hh3F9uspp7cRsF8WyI5v2SUtX1H43aKVREW4RcnkDGkT3Gc2SAtSDhVUNZxgYm/wzRljuVVmhQ/UtZn8tD+83zsymhb+zs8MvVxchVfUzBjLZh7EUjwxKUPJEdT5lERa76Q== 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 MW4PR11MB6912.namprd11.prod.outlook.com (2603:10b6:303:22a::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.28; Mon, 30 Oct 2023 15:21:40 +0000 Received: from SJ0PR11MB5600.namprd11.prod.outlook.com ([fe80::6ff2:834a:7174:8903]) by SJ0PR11MB5600.namprd11.prod.outlook.com ([fe80::6ff2:834a:7174:8903%4]) with mapi id 15.20.6933.028; Mon, 30 Oct 2023 15:21:40 +0000 From: "Cui, Lili" To: "Beulich, Jan" CC: "Lu, Hongjiu" , "Mo, Zewei" , "binutils@sourceware.org" Subject: RE: [PATCH 6/8] Support APX Push2/Pop2 Thread-Topic: [PATCH 6/8] Support APX Push2/Pop2 Thread-Index: AQHZ6w4ZLRmCnDtfpEG1UOugrRFghrAwKkEAgCvybtA= Date: Mon, 30 Oct 2023 15:21:40 +0000 Message-ID: References: <20230919152527.497773-1-lili.cui@intel.com> <20230919152527.497773-7-lili.cui@intel.com> <153e1263-bbc9-1af6-a11e-58489153d95f@suse.com> In-Reply-To: <153e1263-bbc9-1af6-a11e-58489153d95f@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_|MW4PR11MB6912:EE_ x-ms-office365-filtering-correlation-id: 36312b49-2978-4d4b-cf46-08dbd95beaa0 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: tCioru/zWuyPQvNhty+bWTz6s1dJ9HbEBq/tynxffouAaJnQMWeI8PP0tPknzAlIWnuFS+ZdsZ5GVTq3KSG91iNN7L7RHVxw8rcTYchCmBYacvjBzjLP7hCCV0CQLkLJt/AeeWjdWAK236Y1NXi6U5Qt8Svn7OMSKvm03VOLmO9mmTqdrRwEc7ivcnJgF46teaTP0Rf1gjpuodtsbNBAtmpimvnnF5ZS0Qf01ECivs1pdSme8JFWdsHLHLT8R5HM82aAxjLOlTa3Mn9w8b+gvNhZgEGETXsceTBM/m9Pum3SfhE0z36T8k0Pd0PXnsdiMVA2p6kB6BM5qCfSMzgC3K+TDhWWFmwr6cobBrgNs97Bel8IYFhW5CYfUIfGcefC6UhuqHwgzynjOHXxVTwd77letU4NOtW2tw5GXsSjeT8eJTxUbttMjDy8f4joVAESmpCXlANz8rcrPMy/LJsTPV9UI3DF4YQ5MmMqHjmqkEIAob/xf6tQZfYQ2iP/37eZjbwEH6frvu8nkNLkWwQRnWl7jlr4F/kUxXykpOc/QaY2ApceoeMdP7qPtO4OtibNDQdxTvtRRufm88EF9iFvSjLp0oPzrAMNt8S87Ft2rKeq1BS4n1+URGsgZbefc6QM 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)(136003)(376002)(346002)(366004)(39860400002)(396003)(230922051799003)(186009)(64100799003)(451199024)(1800799009)(66899024)(55016003)(9686003)(53546011)(71200400001)(83380400001)(478600001)(7696005)(6506007)(64756008)(33656002)(86362001)(38100700002)(122000001)(82960400001)(5660300002)(66556008)(66476007)(66446008)(6916009)(54906003)(41300700001)(66946007)(26005)(30864003)(2906002)(76116006)(52536014)(8676002)(316002)(38070700009)(4326008)(8936002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?WW5nSGx6SWZEM3VEVFdObzZPY3h2Mm1wUUNhdjBJdng3SDNDZ2habFhjWXdp?= =?utf-8?B?QVVuYUxSOVJhR0haMFFqeCtnTXROYmczSXVOSWZSdklvd01OUE5rdTZvMkNG?= =?utf-8?B?b0VHSzZ5ZnVEa1RVNlJHWFdZVzNoUVlBa1lrUWc4V1lmYTdETHNISFZ5SmFX?= =?utf-8?B?YkNqSk5RTlpua3d6M1dhWmY2TTd0dzBPT3UzY2FzRk1HV1FVakhoV016Q3ZJ?= =?utf-8?B?V3JSa0x3TTIweUQxWWRhNXdUNHlPUFVjL2RVL1pvU09ZR0ZQRnNGWldBY08v?= =?utf-8?B?OGZONGxET2pMNWp3dkdSalEwTUN6Umx3RnlQaW8xY20xMytRMjl4bW5BVVJT?= =?utf-8?B?UzFhYVlYTEI0aWttblNVZ1NLUSt1MG45a1d6OG80bUs5NGlkVnFvdWV2UWFr?= =?utf-8?B?SlJIVVRpRU9ua2d6TlNwMnpFa3JDVUNlWjFISm9tb0RqbWMzOTFPOTcwODR1?= =?utf-8?B?KzU1RjhWTHBoaUFqQys4Z0k2dE95akZmUGMwWm9oemRzeHloRUpEck14dm9h?= =?utf-8?B?UkNRVHlidnBSRUdLTDBrZTNNTkVwbmdtSUNaMWtQV2VXTmdBVUE0b0M0UjJ5?= =?utf-8?B?T01NQmdQQ0ZlcFpmQWR2VjhVeSs2N3lqOGxOMVQ0dWVCMmlLR0FOYkk1SEFZ?= =?utf-8?B?YU00ZFlXd3Zvd1lsKzR3bWZiTXE5YU9qNG5seG95Q2E0bWtYWlppR09Ib05F?= =?utf-8?B?dGd4WGtlVStRclB6S25Ka2lsYUhoVC9zM0JFajdXa29RTXRJZTVsdTNVeHpk?= =?utf-8?B?czdCUHB6bWNjT3VqS21UTmtYZDdpWXdsT1haaHAyMlAyOUlvdnpnR2x4YjNx?= =?utf-8?B?Zk9CTXRZcXlxL1YvNU0zYVZYdUhGbVRId0VsWi9XOFNBNjBmcFBFZU1ueG1C?= =?utf-8?B?R0NDV0hmNWp6dzV3Ry81enc0bFlWTi9VTWRqTEtOZlg1RXI3RnZ3UjcvQnE2?= =?utf-8?B?NVRETkdZaFdhWjNkdERwQU00TFlVektJU1VvZ01URHBqT1k0TnJCZDJ5dlpS?= =?utf-8?B?cXo5YjV3QngwUktkclJTTkowZEQvM3B5bXdKbnZWZ2tLVWNrc1Y1U1JvU28r?= =?utf-8?B?bDF5bXJQbTloQW1JRk1FSVRWbDFkOTVDTXNKb3M4VTFBeWppRWpqTm8yNzJm?= =?utf-8?B?Vktiem0zWmZTMUtkSGNLS2NZTEV4bFVZMC9sblFBZkFGNjFOeTRTYklsUXRn?= =?utf-8?B?b2NGQ2V5eU9EVkx1WThPUFVYQzJlc0RkbUFvdE92cnQzdng5OC95UEwzWGww?= =?utf-8?B?cVVWeDFPZFdjbFM1czM5VExPY082c0xDVVRDOE1kQUpTdlhUWndsSTFPNWlD?= =?utf-8?B?NXF6VnJhOElHcFUzbG5PRk5QQTVSWjU4dE56REJpNEJQU0NmNW9JSHV6UmFU?= =?utf-8?B?dThicFgwRWhkWGZPVHNxSU13a2lJUVNwZWNiLzdPdXU3U0dlT3ZWS1hvemFp?= =?utf-8?B?WFBaNnIwY2oybnhFZkRUQ0RITVZCdmlOcHFZcGlpUDFTQWhvMmk4bGdxcGtj?= =?utf-8?B?VUYyK0RPemZ0VVYzVHk2b3FlaVRSOXFybmJxazExUmFnNlVLL0t2Uk1iNGdH?= =?utf-8?B?blpDSEVBUFY2S3dJaGlRNW80azgrUk01VC9vWTM4Q3Z4TGo5emxpRW52Ylo4?= =?utf-8?B?dGFwT0F6LzNBRTBLMjZHbEdCZUhkOHkxNEtJZjVtYmFYMzltemFGSGVZQUVC?= =?utf-8?B?WUd0dHZBaGpTdmVmNTdxVTBhM0o2d0ErazVWZmhRcllzRG9BN01UWHlZeWxi?= =?utf-8?B?S3VjUzFZMnNmc0ZLUis0VTRaOWJWbStkZjBRQVg2dGsvTHFZVndFQ3NINGtn?= =?utf-8?B?SHdMclJjTTlYY0I2WVEzbHZRcHBsVmxDNzlNTzZGTWNST2JpbkdPbHRudEcv?= =?utf-8?B?dGVWSmVDMmkwS1FwRjhQYUhPZWZnNkN4bzBxNTFOWUVXb1hlcjBudDZkaEZx?= =?utf-8?B?TzN0eVlOMUVoZlk2dGxJMWgvcm8xeGw2ZU9LeU1SSjhwTUYzQXBGVG5hd0Vp?= =?utf-8?B?aDlJSDc0blpWU2RObnliTWN3eEdKNFhMdWVzOWF6MGM0V2FXNmFFWU1TRFBX?= =?utf-8?B?bUYvNGM5TGpvbE1remY4QjdDRksxcitxc0R3Y0M0azRmS0lJOVJVMGJJc0R6?= =?utf-8?Q?KX+Q=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: 36312b49-2978-4d4b-cf46-08dbd95beaa0 X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Oct 2023 15:21:40.4517 (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: Sac1SqQnQmB1RqLocZUG6lZYFdnJXDt+0gOHJCFS9xPYQKNhU740z9SaIwn/sNGwDgU6P+VqbsupM3rlngt+rQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR11MB6912 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-5.2 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,KAM_NUMSUBJECT,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: PiBTdWJqZWN0OiBSZTogW1BBVENIIDYvOF0gU3VwcG9ydCBBUFggUHVzaDIvUG9wMg0KPiANCj4g T24gMTkuMDkuMjAyMyAxNzoyNSwgQ3VpLCBMaWxpIHdyb3RlOg0KPiA+IC0tLSBhL2dhcy9jb25m aWcvdGMtaTM4Ni5jDQo+ID4gKysrIGIvZ2FzL2NvbmZpZy90Yy1pMzg2LmMNCj4gPiBAQCAtNTY2 Nyw2ICs1NjY3LDIyIEBAIG1kX2Fzc2VtYmxlIChjaGFyICpsaW5lKQ0KPiA+ICAgICAgICBpLnJl eCAmPSBSRVhfT1BDT0RFOw0KPiA+ICAgICAgfQ0KPiA+DQo+ID4gKyAgaWYgKGkudG0ub3Bjb2Rl X21vZGlmaWVyLnB1c2gycG9wMikNCj4gPiArICAgIHsNCj4gPiArICAgICAgaS5pbW1fb3BlcmFu ZHMgPSAwOw0KPiANCj4gV2h5Pw0KDQpSZW1vdmVkLCBpdCBpcyByZWR1bmRhbnQuDQoNCj4gDQo+ ID4gKyAgICAgIHVuc2lnbmVkIGludCByZWcxID0gcmVnaXN0ZXJfbnVtYmVyIChpLm9wWzBdLnJl Z3MpOw0KPiA+ICsgICAgICB1bnNpZ25lZCBpbnQgcmVnMiA9IHJlZ2lzdGVyX251bWJlciAoaS5v cFsxXS5yZWdzKTsNCj4gPiArDQo+ID4gKyAgICAgIC8qIFB1c2gyL1BvcDIgY2Fubm90IHVzZSBS U1AgYW5kIFBvcDIgY2Fubm90IHBvcCB0d28gc2FtZQ0KPiByZWdpc3RlcnMuICAqLw0KPiA+ICsg ICAgICBpZiAocmVnMSA9PSAweDQgfHwgcmVnMiA9PSAweDQpDQo+ID4gKwlhc19iYWQgKF8oIiVz IGZvciBgJXMnIiksIF8oImludmFsaWQgcmVnaXN0ZXIgb3BlcmFuZCIpLA0KPiA+ICsJCWluc25f bmFtZSAoY3VycmVudF90ZW1wbGF0ZXMtPnN0YXJ0KSk7DQo+ID4gKw0KPiA+ICsgICAgICBpZiAo KGkudG0ubW5lbV9vZmYgPT0gTU5fcG9wMiB8fCBpLnRtLm1uZW1fb2ZmID09IE1OX3BvcDJwKSAm Jg0KPiA+ICsgcmVnMSA9PSByZWcyKQ0KPiANCj4gVGhpcyB3b3VsZCBiZSBlYXNpZXIgd2l0aCBh IHNpbmdsZSBvcGNvZGUgY2hlY2sgb24gdGhlIGxocyBvZiB0aGUgJiYuDQo+IA0KDQpEb25lLg0K DQo+ID4gKwlhc19iYWQgKF8oIiVzIGZvciBgJXMnIiksIF8oImludmFsaWQgcmVnaXN0ZXIgb3Bl cmFuZCIpLA0KPiA+ICsJCWluc25fbmFtZSAoY3VycmVudF90ZW1wbGF0ZXMtPnN0YXJ0KSk7DQo+ ID4gKyAgICB9DQo+IA0KDQo+IEJvdGggZXJyb3IgbWVzc2FnZXMgd2FudCB0byBiZSBtb3JlIHNw ZWNpZmljLCBzdWNoIHRoYXQgaXQncyBjbGVhciB3aGF0IGV4YWN0bHkNCj4gaXMgd3JvbmcuIEFs c28gYSBzdHJpbmcgbGl0ZXJhbCBmb3IgJXMgaXMgc2xpZ2h0bHkgb2RkLCBhbmQgbWF5IHBvc2Ug aXNzdWVzIHRvDQo+IHRyYW5zbGF0b3JzLg0KPiANCj4gRnVydGhlcm1vcmUgdGhlcmUgYXJlIHBy ZS1leGlzdGluZyBpbnNucyB3aXRoIHJlc3RyaWN0aW9ucyBvbiByZWdpc3Rlcg0KPiBvcGVyYW5k cy4gSSB3b25kZXIgd2hldGhlciB0aGVzZSBuZXcgY2hlY2tzIHdvdWxkbid0IGJldHRlciBiZSBw dXQgY2xvc2UgdG8NCj4gdGhvc2UuDQo+IA0KDQpEb25lLg0KDQo+ID4gQEAgLTcxMDAsNyArNzEx NiwxMSBAQCBvcHRpbWl6ZV9ORERfdG9fbm9uTkREIChjb25zdCBpbnNuX3RlbXBsYXRlDQo+ICp0 KQ0KPiA+ICAgICAgICAmJiB0LT5vcGNvZGVfc3BhY2UgPT0gU1BBQ0VfRVZFWE1BUDQNCj4gPiAg ICAgICAgJiYgaS5yZWdfb3BlcmFuZHMgPj0gMg0KPiA+ICAgICAgICAmJiAoaS50eXBlc1tpLm9w ZXJhbmRzIC0gMV0uYml0ZmllbGQuZHdvcmQNCj4gPiAtCSAgfHwgaS50eXBlc1tpLm9wZXJhbmRz IC0gMV0uYml0ZmllbGQucXdvcmQpKQ0KPiA+ICsJICB8fCBpLnR5cGVzW2kub3BlcmFuZHMgLSAx XS5iaXRmaWVsZC5xd29yZCkNCj4gPiArICAgICAgJiYgKHQtPm1uZW1fb2ZmICE9IE1OX3BvcDIN Cj4gPiArCSAgJiYgdC0+bW5lbV9vZmYgIT0gTU5fcG9wMnANCj4gPiArCSAgJiYgdC0+bW5lbV9v ZmYgIT0gTU5fcHVzaDINCj4gPiArCSAgJiYgdC0+bW5lbV9vZmYgIT0gTU5fcHVzaDJwKSkNCj4g DQo+IElmIGFuIGV4cGxpY2l0IGNoZWNrIGlzIG5lZWRlZCBoZXJlLCB3aHkgbm90IHVzZSB0aGUg cHVzaDJwb3AyIGF0dHJpYnV0ZT8NCj4gDQoNCldlIHdpbGwgbW92ZSBpdCB0byBOREQgb3B0aW1p emF0aW9uIGVuY29kaW5nIHBhdGNoLiBhbmQgdXNlIGkudG0ub3Bjb2RlX21vZGlmaWVyLnB1c2gy cG9wMiBpbnN0ZWFkLg0KDQo+ID4gQEAgLTg5MTIsNyArODkzMiwxMyBAQCBidWlsZF9tb2RybV9i eXRlICh2b2lkKQ0KPiA+ICAgICAgICBkZXN0ID0gfjA7DQo+IA0KPiBUaGlzIGFscmVhZHkgc2V0 cyBkZXN0IC4uLg0KPiANCj4gPiAgICAgIH0NCj4gPiAgICBnYXNfYXNzZXJ0IChzb3VyY2UgPCBk ZXN0KTsNCj4gPiAtICBpZiAoaS50bS5vcGNvZGVfbW9kaWZpZXIub3BlcmFuZGNvbnN0cmFpbnQg PT0gU1dBUF9TT1VSQ0VTDQo+ID4gKyAgaWYgKGkudG0ub3Bjb2RlX21vZGlmaWVyLnB1c2gycG9w MikNCj4gPiArICAgIHsNCj4gPiArICAgICAgdiA9IDE7DQo+ID4gKyAgICAgIGRlc3QgPSAodW5z aWduZWQgaW50KSB+MDsNCj4gDQo+IC4uLiB0byB0aGUgaW50ZW5kZWQgdmFsdWUuIEZ1cnRoZXJt b3JlLCBkb2Vzbid0IC4uLg0KPiANCj4gPiArICAgICAgc291cmNlID0gMDsNCj4gPiArICAgIH0N Cj4gPiArICBlbHNlIGlmIChpLnRtLm9wY29kZV9tb2RpZmllci5vcGVyYW5kY29uc3RyYWludCA9 PSBTV0FQX1NPVVJDRVMNCj4gPiAgICAgICAgJiYgc291cmNlICE9IG9wKQ0KPiA+ICAgICAgew0K PiA+ICAgICAgICB1bnNpZ25lZCBpbnQgdG1wID0gc291cmNlOw0KPiANCj4gLi4uIHRoaXMgbG9n aWMgYWxyZWFkeSB0YWtlIGNhcmUgb2YgdGhlIHdhbnRlZCBzd2FwcGluZywgcHJvdmlkZWQgdGhl IHRlbXBsYXRlcw0KPiBnZXQgU3dhcFNvdXJjZXMgYWRkZWQ/IEhtbSwgb2RkIC0geW91IGFscmVh ZHkgaGF2ZSB0aGF0IGF0dHJpYnV0ZSBvbiB0aGUNCj4gdHdvIFBPUDIgdGVtcGxhdGVzLCBidXQg bm90IHRoZSB0d28gUFVTSDIgb25lcy4gWWV0IGJvdGggdXNlIGlkZW50aWNhbA0KPiBvcGVyYW5k IChlbmNvZGluZykgb3JkZXIuDQoNClB1c2gyIGFuZCBQb3AyIGhhdmUgZXh0ZW5zaW9uIG9wY29k ZSwgIHNvIHRoZXkgZG9uJ3QgbmVlZCB0byBjaGFuZ2UgYW55dGhpbmcgaW4gdGhpcyBmdW5jdGlv biwgYW5kIHJlbW92ZWQgU1dBUF9TT1VSQ0VTIGZvciBQT1AyLg0KDQogICAgICBpZiAoaS50bS5l eHRlbnNpb25fb3Bjb2RlICE9IE5vbmUpDQogICAgICAgIHsNCiAgICAgICAgICBpZiAoZGVzdCAh PSBzb3VyY2UpDQogICAgICAgICAgICB2ID0gZGVzdDsNCiAgICAgICAgICBkZXN0ID0gfjA7DQoN Cj4gDQo+ID4gLS0tIC9kZXYvbnVsbA0KPiA+ICsrKyBiL2dhcy90ZXN0c3VpdGUvZ2FzL2kzODYv eDg2LTY0LWFweC1wdXNoMnBvcDItZGVjb2RlLWludmFsLmQNCj4gPiBAQCAtMCwwICsxLDI5IEBA DQo+ID4gKyNhczogLS02NA0KPiA+ICsjb2JqZHVtcDogLWR3DQo+ID4gKyNuYW1lOiBpbGxlZ2Fs IGRlY29kaW5nIG9mIEFQWC1wdXNoMnBvcDIgaW5zbnMNCj4gDQo+IERlY29kaW5nIGNhbm5vdCBi ZSBpbGxlZ2FsLiBFaXRoZXIgeW91IG1lYW4gZW5jb2RpbmcsIG9yIHlvdSBtZWFuICJkZWNvZGlu Zw0KPiBvZiBpbGxlZ2FsIEFQWC1wdXNoMnBvcDIgaW5zbiBmb3JtcyIuDQo+IA0KDQpJdCBzaG91 bGQgYmUgImlsbGVnYWwgZW5jb2Rpbmcgb2YgQVBYLXB1c2gycG9wMiBpbnNucyIuDQoNCj4gPiAt LS0gL2Rldi9udWxsDQo+ID4gKysrIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvaTM4Ni94ODYtNjQtYXB4 LXB1c2gycG9wMi1kZWNvZGUtaW52YWwucw0KPiA+IEBAIC0wLDAgKzEsMTkgQEANCj4gPiArIyBD aGVjayBpbGxlZ2FsIGJ5dGVjb2RlIG9mIEFQWC1QdXNoMlBvcDIgaW5zdHJ1Y3Rpb25zICMgcG9w MiAlcmF4LA0KPiA+ICslcmJ4DQo+IA0KPiBXaGF0J3MgaWxsZWdhbCBoZXJlPyBGcm9tIC4uLg0K PiANCg0KPiA+ICsjIHBvcDIgJXJheCwgJXJzcA0KPiA+ICsjIHB1c2gyICVyc3AsICVyMTcNCj4g PiArIyBwb3AyICVyMTIsICVyMTINCj4gPiArIyBwb3AyICVyMzEsICVyMzENCj4gPiArDQo+ID4g KwkuYWxsb3dfaW5kZXhfcmVnDQo+ID4gKwkudGV4dA0KPiA+ICtwb3BuZDA6DQo+ID4gKwkuYnl0 ZSAweDYyLDB4RjQsMHg2NCwweDA4LDB4OEYsMHhDMA0KPiANCj4gLi4uIHRoZSBsYWJlbCBuYW1l IEkgZ3Vlc3MgRVZFWC5uZD0wLCBidXQgdGhhdCBuZWVkcyBzYXlpbmcuIChBcyBtZW50aW9uZWQN Cj4gZWFybGllciwgdGhlIGNvbW1lbnRzIHdhbnQgbW92aW5nIG5leHQgdG8gdGhlIGNvZGUgZW1p c3Npb24gYW55d2F5LA0KPiBhbmQgLmJ5dGUgd2FudHMgYXZvaWRpbmcgaXQgYXQgYWxsIHBvc3Np YmxlLikNCj4gDQoNClJlbW92ZWQgdGhpcyBpbnZhbGlkIHRlc3QgZmlsZSwgc29tZSBpbnN0cnVj dGlvbnMgd2VyZSBkdXBsaWNhdGVkIHdpdGggdHg4Ni02NC1hcHgtcHVzaDJwb3AyLWludmFsLnMg YW5kIG1vdmVkIHNvbWUgLmJ5dGUgKHVuYXZvaWRhYmxlIGJ1dCBtYXliZSBub3QgbmVjZXNzYXJ5 KSB0ZXN0cyB0byB4ODYtNjQtYXB4LWV2ZXgtcHJvbW90ZWQtYmFkLnMNCg0KPiA+IC0tLSAvZGV2 L251bGwNCj4gPiArKysgYi9nYXMvdGVzdHN1aXRlL2dhcy9pMzg2L3g4Ni02NC1hcHgtcHVzaDJw b3AyLWludmFsLnMNCj4gPiBAQCAtMCwwICsxLDEzIEBADQo+ID4gKyMgQ2hlY2sgaWxsZWdhbCBB UFgtUHVzaDJQb3AyIGluc3RydWN0aW9ucw0KPiA+ICsNCj4gPiArCS5hbGxvd19pbmRleF9yZWcN Cj4gPiArCS50ZXh0DQo+ID4gK19zdGFydDoNCj4gPiArCXB1c2gyICVlYXgsICVlYngNCj4gPiAr CXBvcDIgJXJheCwgJXJzcA0KPiA+ICsJcHVzaDIgJXJzcCwgJXIxNw0KPiA+ICsJcG9wMiAlcjEy LCAlcjEyDQo+ID4gKwlwdXNoMnAgJWVheCwgJWVieA0KPiA+ICsJcG9wMnAgJXJheCwgJXJzcA0K PiA+ICsJcHVzaDJwICVyc3AsICVyMTcNCj4gPiArCXBvcDJwICVyMTIsICVyMTINCj4gDQo+IFBs ZWFzZSBtYWtlIHN1cmUgdGhhdCBhdCBsZWFzdCBvbmUgb2YgdGhlIGZvcm1zIHVzZXMgJXJzcCBv bmNlIGFzIGZpcnN0IGFuZA0KPiBvbmNlIGFzIHNlY29uZCBvcGVyYW5kIGZvciBib3RoIHB1c2gg YW5kIHBvcC4NCj4gDQoNCkRvbmUuDQoNCj4gPiAtLS0gYS9vcGNvZGVzL2kzODYtZGlzLWV2ZXgt eDg2LmgNCj4gPiArKysgYi9vcGNvZGVzL2kzODYtZGlzLWV2ZXgteDg2LmgNCj4gPiBAQCAtMTM4 LDMgKzEzOCwxMyBAQA0KPiA+ICAgICAgeyBCYWRfT3Bjb2RlIH0sDQo+ID4gICAgICB7IFZFWF9M RU5fVEFCTEUgKFZFWF9MRU5fMEYzQUYwKSB9LA0KPiA+ICAgIH0sDQo+ID4gKyAgLyogWDg2XzY0 X0VWRVhfTUFQNF84RiovDQo+IA0KPiBOaXQ6IFBsZWFzZSBtYWtlIHdlbGwtZm9ybWVkIGNvbW1l bnRzICguLi4NCj4gDQoNCkRvbmUuDQoNCj4gPiArICB7DQo+ID4gKyAgICB7IEJhZF9PcGNvZGUg fSwNCj4gPiArICAgIHsgRVZFWF9MRU5fVEFCTEUgKEVWRVhfTEVOX01BUDRfOEZfWDg2XzY0KSB9 LCAgfSwNCj4gPiArICAvKiBYODZfNjRfRVZFWF9NQVA0X0ZGX1JfNiovDQo+IA0KPiAuLi4gaS5l LiBhbHNvIGhlcmUgYW5kIHBvc3NpYmx5IGVsc2V3aGVyZSkuDQo+IA0KDQpEb25lLg0KDQo+ID4g QEAgLTEzNDEsNiArMTM1NCw5IEBAIGVudW0NCj4gPiAgICBYODZfNjRfRVZFWF8wRjM4RjYsDQo+ ID4gICAgWDg2XzY0X0VWRVhfMEYzOEY3LA0KPiA+ICAgIFg4Nl82NF9FVkVYXzBGM0FGMCwNCj4g PiArDQo+ID4gKyAgWDg2XzY0X0VWRVhfTUFQNF84RiwNCj4gPiArICBYODZfNjRfRVZFWF9NQVA0 X0ZGX1JfNiwNCj4gPiAgfTsNCj4gDQo+IFRoaXMgbWlnaHQgaW5kaWNhdGUgYSBwcm9ibGVtIGlu IHBhdGNoIDQ6IFdoeSBpcyB0aGUgeDg2LTY0IGRlY29kZSBzdGVwDQo+IGVudGlyZWx5IG1pc3Np bmcgdGhlcmU/IE9yLCBpZiBjb3JyZWN0IHRoZXJlLCB3aHkgaXMgaXQgbmVlZGVkIGhlcmU/IEZv ciBwdXNoDQo+IGFuZCBwb3AgaGVyZSBJJ2QgZXhwZWN0IGRlY29kZSBvcmRlciBhbmQgaGVuY2Ug ZW51bWVyYXRvcnMgdG8gYmUgZW50aXJlbHkNCj4gY29uc2lzdGVudC4NCj4gDQoNCkNvbmZpcm1l ZCB3aXRoIHBhdGNoIDIvOCBhbmQgNC84LCBhbGwgTUFQNCBhcmUgbWlzc2luZyBpbiB4ODYtNjQg dGFibGUuIEFkZGVkIHg4Ni02NCBjaGVjayBmb3IgYWxsIE1BUDQgaW4gZ2V0X3ZhbGlkX2RpczM4 Ni4gRGVsZXRlZCBwdXNoMiBhbmQgIHBvcDIgaGVyZS4NCg0KICAgICAgICBjYXNlIDB4NDoNCiAg ICAgICAgICB2ZXhfdGFibGVfaW5kZXggPSBFVkVYX01BUDQ7DQogICAgICAgICAgaW5zLT5ldmV4 X3R5cGUgPSBldmV4X2Zyb21fbGVnYWN5OysNCiArICAgICAgIGlmIChpbnMtPmFkZHJlc3NfbW9k ZSAhPSBtb2RlXzY0Yml0KQ0KICsgICAgICAgICByZXR1cm4gJmJhZF9vcGNvZGU7DQogICAgICAg ICAgYnJlYWs7DQoNCj4gPiBAQCAtMTUzNyw3ICsxNTUzLDEwIEBAIGVudW0NCj4gPiAgICBFVkVY X0xFTl8wRjNBMzksDQo+ID4gICAgRVZFWF9MRU5fMEYzQTNBLA0KPiA+ICAgIEVWRVhfTEVOXzBG M0EzQiwNCj4gPiAtICBFVkVYX0xFTl8wRjNBNDMNCj4gPiArICBFVkVYX0xFTl8wRjNBNDMsDQo+ ID4gKw0KPiA+ICsgIEVWRVhfTEVOX01BUDRfOEZfWDg2XzY0LA0KPiA+ICsgIEVWRVhfTEVOX01B UDRfRkZfUl82X1g4Nl82NCwNCj4gPiAgfTsNCj4gDQo+IFByaW9yIGNoYW5nZXMgZGlkbid0IGZp bmQgaXQgbmVjZXNzYXJ5IHRvIGhhbmRsZSBFVkVYLmwgdGhyb3VnaCBhIHRhYmxlIGxvb2t1cA0K PiAtIHdoeSBpcyB0aGlzIG5lZWRlZCBoZXJlPyBNYXA0IGhhcyB1bmlmb3JtIHJlcXVpcmVtZW50 cywgYW5kIGFuIGVhcmxpZXINCj4gcGF0Y2ggYWRkZWQgcmVzcGVjdGl2ZSBjaGVja2luZywgaWly Yy4NCj4gDQoNClJlbW92ZWQgRVZFWC5sICwgYW5kIGFkZGVkIGNoZWNrIGZvciBpdC4NCg0KPiA+ IEBAIC04NzU3LDEwICs4Nzc5LDI0IEBAIGdldF92YWxpZF9kaXMzODYgKGNvbnN0IHN0cnVjdCBk aXMzODYgKmRwLA0KPiBpbnN0cl9pbmZvICppbnMpDQo+ID4gICAgICAgIGRwID0gJnByZWZpeF90 YWJsZVtkcC0+b3BbMV0uYnl0ZW1vZGVdW3ZpbmRleF07DQo+ID4gICAgICAgIGJyZWFrOw0KPiA+ DQo+ID4gKyAgICBjYXNlIFVTRV9YODZfNjRfRVZFWF9QVVNIMl9UQUJMRToNCj4gPiArICAgIGNh c2UgVVNFX1g4Nl82NF9FVkVYX1BPUDJfVEFCTEU6DQo+ID4gKwlpbnMtPmV2ZXhfdHlwZSA9IGV2 ZXhfcHVzaDJfcG9wMjsNCj4gPiArICAgICAgdW5zaWduZWQgaW50IHZ2dnZfcmVnID0gaW5zLT52 ZXgucmVnaXN0ZXJfc3BlY2lmaWVyDQo+ID4gKwkJCSAgICAgIHwgIWlucy0+dmV4LnYgPDwgNDsN Cj4gPiArICAgICAgdW5zaWduZWQgaW50IHJtX3JlZyA9IGlucy0+bW9kcm0ucm0gKyAoaW5zLT5y ZXggJiBSRVhfQiA/IDggOiAwKQ0KPiA+ICsJCQkgICAgKyAoaW5zLT5yZXgyICYgUkVYX0IgPyAx NiA6IDApOw0KPiA+ICsgICAgICBpZiAoIWlucy0+dmV4LmIgfHwgdnZ2dl9yZWcgPT0gMHg0IHx8 IHJtX3JlZyA9PSAweDQNCj4gPiArCSAgfHwgKGRwLT5vcFswXS5ieXRlbW9kZSA9PSBVU0VfWDg2 XzY0X0VWRVhfUE9QMl9UQUJMRQ0KPiA+ICsJICAgICAgJiYgdnZ2dl9yZWcgPT0gcm1fcmVnKSkN Cj4gPiArCSAgcmV0dXJuICZiYWRfb3Bjb2RlOw0KPiA+ICsgICAgICBnb3RvIHVzZV94ODZfNjRf dGFibGU7DQo+IA0KPiBJIGRvbid0IHRoaW5rIHRoaXMgaXMgdGhlIHdheSB0byBoYW5kbGUgc3Vj aCByZXN0cmljdGlvbnMuIFNpbmNlIHRoaXMgbGlrZWx5IGNhbid0DQo+IHZlcnkgd2VsbCBiZSBo YW5kbGVkIGluIGV4aXN0aW5nIG9wZXJhbmQgaGFuZGxlcnMsIHNvIGZhciB0aGUgYXBwcm9hY2gg d2FzIHRvDQo+IGludHJvZHVjZSBuZXcgLi4uRml4dXAoKSBvbmVzLiBUaGF0J2xsIGFsc28gcHJv ZHVjZSBtb3JlIGhlbHBmdWwgb3V0cHV0LCBlLmcuDQo+ICJwdXNoMiAoYmFkKSIsIHJhdGhlciB0 aGFuICIuYnl0ZSAuLi4iDQo+IHdpdGggbm8gaGludCBhdCBhcHByb3hpbWF0ZWx5IHdoYXQgaW5z biB0aGlzIHdhcy4gTmV3IFVTRV8uLi5fVEFCTEUgc2hvdWxkDQo+IGltbyByZWFsbHkgb25seSBh cHBlYXIgd2hlbiB0cnVseSBuZXcgdGFibGVzIGFyZSBpbnRyb2R1Y2VkLg0KPiANCg0KUHV0IHRo ZW0gaW4gUFVTSDJfUE9QMl9GaXh1cCBhbmQgcmVtb3ZlZCBVU0VfWDg2XzY0X0VWRVhfUFVTSDJf VEFCTEUgYW5kIFVTRV9YODZfNjRfRVZFWF9QT1AyX1RBQkxFLg0KDQo+ID4gICAgICBjYXNlIFVT RV9YODZfNjRfRVZFWF9GUk9NX1ZFWF9UQUJMRToNCj4gPiAgICAgICAgaW5zLT5ldmV4X3R5cGUg PSBldmV4X2Zyb21fdmV4Ow0KPiA+ICAgICAgICAvKiBGYWxsIHRocm91Z2guICAqLw0KPiA+ICAg ICAgY2FzZSBVU0VfWDg2XzY0X1RBQkxFOg0KPiA+ICt1c2VfeDg2XzY0X3RhYmxlOg0KPiANCj4g V2hpbGUgdGhpcyBpcyBnb2luZyB0byBnbyBhd2F5IHdpdGggdGhlIGNvbW1lbnQgYWJvdmUsIGFz IGEgZ2VuZXJhbA0KPiByZW1hcms6IFdpdGhpbiBhIHN3aXRjaCgpLCBwbGVhc2UgYWxpZ24gbGFi ZWxzIHVzZWQgYnkgImdvdG8iIGZyb20gb25lIGNhc2UgdG8NCj4gYW5vdGhlciB3aXRoIHRoZSBh ZGphY2VudCBjYXNlIGxhYmVsKHMpLiBFbHNld2hlcmUsIGZvciAiZGlmZiAtcCIsIHBsZWFzZSBp bmRlbnQNCj4gbGFiZWxzIGJ5IGF0IGxlYXN0IG9uZSBibGFuay4NCj4gDQoNClllcywgdGhleSB3 ZXJlIGRlbGV0ZWQuDQoNCj4gPiBAQCAtOTU3MCw3ICs5NjA2LDggQEAgcHJpbnRfaW5zbiAoYmZk X3ZtYSBwYywgZGlzYXNzZW1ibGVfaW5mbyAqaW5mbywNCj4gaW50IGludGVsX3N5bnRheCkNCj4g PiAgCSAgLyogQ2hlY2sgd2hldGhlciByb3VuZGluZyBjb250cm9sIHdhcyBlbmFibGVkIGZvciBh biBpbnNuIG5vdA0KPiA+ICAJICAgICBzdXBwb3J0aW5nIGl0LiAgKi8NCj4gPiAgCSAgaWYgKGlu cy5tb2RybS5tb2QgPT0gMyAmJiBpbnMudmV4LmINCj4gPiAtCSAgICAgICYmICEoaW5zLmV2ZXhf dXNlZCAmIEVWRVhfYl91c2VkKSkNCj4gPiArCSAgICAgICYmICEoaW5zLmV2ZXhfdXNlZCAmIEVW RVhfYl91c2VkKQ0KPiA+ICsJICAgICAgJiYgaW5zLmV2ZXhfdHlwZSAhPSBldmV4X3B1c2gyX3Bv cDIpDQo+ID4gIAkgICAgew0KPiANCj4gTG9va3MgbGlrZSBhZGRyZXNzaW5nIGEgY29tbWVudCBv biBhbiBlYXJsaWVyIHBhdGNoIHdpbGwgcmVuZGVyIHRoaXMgY2hhbmdlDQo+IChhbmQgaGVuY2Ug dGhlIG5ldyBldmV4X3B1c2gyX3BvcDIgZW51bWVyYXRvcikgdW5uZWNlc3NhcnkuIElmIG5vdCwg SSdkDQo+IGFzayB3aGV0aGVyIHlvdSB3b3VsZG4ndCBiZXR0ZXIgc2V0IEVWRVhfYl91c2VkIGF0 IGFuIGFwcHJvcHJpYXRlIHBvaW50Lg0KPiANCg0KWWVzLCBpdCBpcyByZWR1bmRhbnQgaGVyZSwg cmVtb3ZlZCBpdC4gDQoNCj4gPiAtLS0gYS9vcGNvZGVzL2kzODYtb3BjLnRibA0KPiA+ICsrKyBi L29wY29kZXMvaTM4Ni1vcGMudGJsDQo+ID4gQEAgLTM1NTUsMyArMzU1NSw5IEBAIGVyZXR1LCAw eGYzMGYwMWNhLCBGUkVEfHg2NCwgTm9TdWYsIHt9DQo+ID4NCj4gPiAgLy8gRlJFRCBpbnN0cnVj dGlvbnMgZW5kLg0KPiA+DQo+ID4gKy8vIEFQWCBQdXNoMi9Qb3AyIGluc3RydWN0aW9uLg0KPiA+ ICsNCj4gPiArcHVzaDIsIDB4ZmYvNiwgQVBYX0Z8eDY0LA0KPiA+DQo+ICtNb2RybXxWZXhXMHxF VmV4MTI4fFB1c2gyUG9wMnxFVmV4TWFwNHxWZXhWVlZWfE5vX2JTdWZ8Tm9fbFN1Zg0KPiB8Tm9f c1N1DQo+ID4gK2YsIHsgUmVnNjQsIFJlZzY0IH0gcHVzaDJwLCAweGZmLzYsIEFQWF9GfHg2NCwN Cj4gPg0KPiArTW9kcm18VmV4VzF8RVZleDEyOHxQdXNoMlBvcDJ8RVZleE1hcDR8VmV4VlZWVnxO b19iU3VmfE5vX2xTdWYNCj4gfE5vX3NTdQ0KPiA+ICtmLCB7IFJlZzY0LCBSZWc2NCB9IHBvcDIs IDB4OGYvMCwgQVBYX0Z8eDY0LA0KPiA+DQo+ICtNb2RybXxWZXhXMHxFVmV4MTI4fFB1c2gyUG9w MnxTd2FwU291cmNlc3xFVmV4TWFwNHxWZXhWVlZWfE5vXw0KPiBiU3VmfE5vDQo+ID4gK19sU3Vm fE5vX3NTdWYsIHsgUmVnNjQsIFJlZzY0IH0gcG9wMnAsIDB4OGYvMCwgQVBYX0Z8eDY0LA0KPiA+ DQo+ICtNb2RybXxWZXhXMXxFVmV4MTI4fFB1c2gyUG9wMnxTd2FwU291cmNlc3xFVmV4TWFwNHxW ZXhWVlZWfE5vXw0KPiBiU3VmfE5vDQo+ID4gK19sU3VmfE5vX3NTdWYsIHsgUmVnNjQsIFJlZzY0 IH0NCj4gDQo+IE1pc3NpbmcgTm9fd1N1ZiBpbiBhbGwgNCBlbnRyaWVzPw0KPg0KIA0KQWRkZWQu DQoNCj4gQXMgdG8gdGhlIHN1ZmZpeGluZyAncCcgLSBtYXkgSSBhc2sgaW4gaG93IGZhciB0aGF0 J3MgYWxpZ25lZCB3aXRoIG90aGVyDQo+IGFzc2VtYmxlcnM/IFRoZSBkb2MgZG9lc24ndCBldmVu IGdpdmUgYSBoaW50IGFzIHRvIHdoYXQgbW5lbW9uaWMNCj4gcmVwcmVzZW50YXRpb24gc2hvdWxk IGJlIHVzZWQgKHBlcnNvbmFsbHkgSSBoYWQgYmVlbiB0YWtpbmcgLnggaW50bw0KPiBjb25zaWRl cmF0aW9uKS4gRnVydGhlcm1vcmUgdGhlIGVhcmxpZXIgUkVYMiBwYXRjaCBhbHNvIGRpZG4ndCBk ZWFsIHdpdGggdGhlDQo+IFBQWCBmdW5jdGlvbmFsaXR5IGZvciBQVVNIL1BPUCwgdW5sZXNzIEkg bWlzc2VkIHNvbWV0aGluZy4NCj4NCg0KUG9wMnAgYW5kIFB1c2gycCBhcmUgbGlzdGVkIGluIHNl Y3Rpb25zIDkuMSBhbmQgOS4yIG9mIHRoZSBkb2MuIFBQWCBmdW5jdGlvbmFsaXR5IGZvciBQVVNI L1BPUCBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBwYXRjaCwgSXQgd2lsbCBiZSBpbXBsZW1l bnRlZCBzZXBhcmF0ZWx5IGxhdGVyLiBJJ2xsIG5vdGUgaXQgaW4gdGhlIFB1c2gyL3BvcDIgY29t bWl0IGxvZy4NCg0KRVZFWC5MTFouTlAuTUFQNC5XMSA4RiAxMTowMDA6YmJiDQpQT1AyUCB7TkY9 MH0ge05EPTF9IHI2NCwgcjY0DQoNCkVWRVguTExaLk5QLk1BUDQuVzEgRkYgMTE6MTEwOmJiYg0K UFVTSDJQIHtORj0wfSB7TkQ9MX0gcjY0LCByNjQNCg0KVGhhbmtzLA0KTGlsaS4NCg==