From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 504A6A0543; Mon, 13 Jun 2022 04:14:22 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 020F2400EF; Mon, 13 Jun 2022 04:14:22 +0200 (CEST) Received: from mga06.intel.com (mga06b.intel.com [134.134.136.31]) by mails.dpdk.org (Postfix) with ESMTP id 5BE434003F for ; Mon, 13 Jun 2022 04:14:19 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1655086459; x=1686622459; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=hDo5UCua2hIayiCy60d+iSzVhOJlTu3GCOeaJ8lJfl8=; b=MqiYnGDzzm73VdfzvufYCckUqqfOhHQJaKdKEf/pw8CTYnKXNeopFFPD hLU/TSZmJpfoOM5/Ekcy9GTDKJzVG7z9fuyw+1GV/43cDZ7pMtJz8Sz5n TY8xn3/YJsF8iAlJNCqjmfhOzOjSYNfIeqrDqZJSwpMAn+N6qXJOQJJQj Rc07XHqz68LRRoAmqXPBXTkDuYc5vV1gzpOubMiXGy4RXsnhj/dycxhzH 2SwFTS9u95MY47lVmeYxvneNeeCz6hknHv8UBJn2ZqDtjW0Sz0Kclhjuq MmX+mf/vElIr8QGxOQZlx09ua/cXRkA0leopHhW88OyRl+Fi4qrgcP9YS g==; X-IronPort-AV: E=McAfee;i="6400,9594,10376"; a="339812279" X-IronPort-AV: E=Sophos;i="5.91,296,1647327600"; d="scan'208,217";a="339812279" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jun 2022 19:14:18 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.91,296,1647327600"; d="scan'208,217";a="587525789" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by fmsmga007.fm.intel.com with ESMTP; 12 Jun 2022 19:14:17 -0700 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.2308.27; Sun, 12 Jun 2022 19:14:17 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) 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.2308.27; Sun, 12 Jun 2022 19:14:17 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Sun, 12 Jun 2022 19:14:17 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.175) 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.2308.27; Sun, 12 Jun 2022 19:14:16 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Bc/TLFzDYp7qbzkQHOeAEOBai9EjA3l2MtJGintWyTSG/3j9wWiGT9avAMK3b6Vmpdsye1Qm1wRZz6pyvzDEMZt4i+zVhAImIfN1KpqnrwZZ74ugZNreug1fNq/r3pJGutIMcwae+XWCCl3fXI2OaKJR9DH5bpt6dM6NJoOrK1aU1V9lwkUfJA+5yw9joMPS/NbEkrJvTVR8+6XNzIv0TDNHc7arV2ff4vknQTlctS1/3QJRw3I9g/BiW4gUpvFGsZeZASRZ5OJ0dvXfbnd6ZNzwPzSyu2dweHPfxyAZN+OVvEqgQ74o1f0IR+wIAdTVjG+jyM/bm6bppqi8uuZQng== 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=hDo5UCua2hIayiCy60d+iSzVhOJlTu3GCOeaJ8lJfl8=; b=aHisp9Ofur9u9U/XJALAVRzsfLylNVv9qBKpUmt5CWEPwcUAQAQZqsyVMt1Tr8n6wENXZCHOlwMmOC38VgyeWr9bPqTUxpLhd9VC6k9tXsSM0AlCTnRmBtlIMpNgzlxE7Jb1rNTD54aWMa8u5yfXGM8Eqx2mP/D+xOH+rEGXqaBomaY26OPjGCPD/7hMXmtbBWa/9Y0rdo9zZ5X+BsBk3RMYEgW3QhOGUOASLUurtTX6bCu4YqzJYX6Sirl+3lRH90PbiA35W6qG+zqHyIaXccb8A7XqLeFtPuIz5/tovm5lsGfQc1GmOvu1fNTrSfZSFBe3ZO9/7SIDkjMqAAL9zA== 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 DM6PR11MB3673.namprd11.prod.outlook.com (2603:10b6:5:145::26) by DM5PR11MB0076.namprd11.prod.outlook.com (2603:10b6:4:6b::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5314.17; Mon, 13 Jun 2022 02:14:15 +0000 Received: from DM6PR11MB3673.namprd11.prod.outlook.com ([fe80::2d4c:ca2d:45b0:64cd]) by DM6PR11MB3673.namprd11.prod.outlook.com ([fe80::2d4c:ca2d:45b0:64cd%5]) with mapi id 15.20.5332.020; Mon, 13 Jun 2022 02:14:14 +0000 From: "Liu, KevinX" To: Ben Magistro CC: "dev@dpdk.org" , "Zhang, Yuying" , "Xing, Beilei" , "Yang, SteveX" , "Zhang, RobinX" Subject: RE: [PATCH v7] net/i40e: add outer VLAN processing Thread-Topic: [PATCH v7] net/i40e: add outer VLAN processing Thread-Index: AQHYfKRlbKPdde+F/USGyq3kCtM4PK1IsxkAgAPmg4A= Date: Mon, 13 Jun 2022 02:14:14 +0000 Message-ID: References: <20220610155216.81289-1-kevinx.liu@intel.com> <20220610162944.99526-1-kevinx.liu@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-office365-filtering-correlation-id: 1b1305b8-72fe-49e6-1299-08da4ce269dd x-ms-traffictypediagnostic: DM5PR11MB0076:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: yMlBPe2ExJkYO3vI/fHpsjEhFhROTRbkeRoeGgmsZzYLJMz9BGyxnC63yJykdTjf9o4gE7AXc1YzcaCzd+QpESKQwF7n7E9bek4UNbZs3bIw7AOQAjv7rvXl3ZHH3Wqep0dK2CHagMXv34WFUfvEJfDlvB1qfWbPnCtYmV1mrK+kg8LJQ0haPPIx7rTTXl9MnHj3BPAxVKhLAjw4ZvRIXltng76GjC88GQB5bTrJ67yPk6Zm9LP9AHRv/0ED6el4HxFdBFFpAjIkUUUguExwRZqpNTpGwHvtFIGw9vrNvG7rpvS5dfWJVwNSTB3szsXWJzbOyi3CGGCY16yoAxt0f+vQaKDEzI1YwXDYufAqRZID1kIPdzuYG7UgXWo+szSMEILOhFi4h8fQjnxWZLvV/ZA0p1/2+OzsHtpQKptmLXHS0C2RSMkYv9YrS8/Y2w0ZWbBvGjBAf63tbQqIv+8WLr5p+DxYbpa60XmyPp9on1wmjgsfugcNJdtVwrhNdsc0kc6peG5bBiVMZ9aDYmigSm0oozsrHGhY2yL5MwiRcnsvGfWPXLB6NSYAHyxWqluwR6QWhCYLOgO5dSGDPbYeTfmugyCBG9qzhLWczpA/OQF6ioex2aNrfn6VbGNXeZu44FJfPFK4NEMBxwWkSfLN72VWy5yRn7Q59igGC1iNvrNLd8RctdCUZlFdb0Ljby97ui6M2Hss52ZMfWIkPbMx/cHhrA90un7sawUktveM349KyPuOYAAmlkxwRvgdhrU3qDzewlEHUf0UrHrH7QzQ2EFMNcbV4FZMW3hD2Gg4K5I= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR11MB3673.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(366004)(107886003)(55016003)(2906002)(82960400001)(8936002)(76116006)(21615005)(64756008)(166002)(53546011)(66446008)(66946007)(66556008)(66476007)(4326008)(5660300002)(38100700002)(6506007)(33656002)(7696005)(508600001)(86362001)(186003)(122000001)(8676002)(9686003)(83380400001)(316002)(38070700005)(52536014)(26005)(6916009)(54906003)(71200400001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?YkhVcHRGdzQwY2JmOUU0TVpOZkRFL2xESmNYZWxSVkFUSXVSMG1rM3FHZmJu?= =?utf-8?B?Qm93cHRwLzhmOWp3S3hyUFlUaVlQRkNtdXlQcjRhYW92OWh1UjJJWkZ4TzhC?= =?utf-8?B?a3pHZlAvbHlIS0ZLLzcwTjgwei9yanhVSTZvK0ltc1YzWGlWZ3lsbmdTZVVM?= =?utf-8?B?ZnVHZ3hyYk8zYlhpdTFWVUJ5YnFiNnNzWUVYU1FyMHJvNDRhWWJUOTIwRTRU?= =?utf-8?B?eW5CTUdwWVE0cVJ4a2dRdTlHbWFCRUlWMUEwQnBvd2kza0tYNXJyMGZaUjlF?= =?utf-8?B?eWRzdW1mNmJiVDY0aDltNmNsZGYrTXh4UkR1YUU4SFpwTSs4VDVTN1prMzhG?= =?utf-8?B?SzNFWkN4ZXlwU29DRkwvNUM1d0FsNlFod2tMZ1VBajJRL2tWcU43N0FIOG5h?= =?utf-8?B?VXNVS1hKR1pQQm5VenQ2UXJiYkhaNndmY1hUeUdIQTBYaGF5R2d5eXVTOUpa?= =?utf-8?B?OTgrK2h3Ti9Ob2xLWWtENlZvL3hvSXE2OTZZN0ZLbXljU2VsbVRSTHZ6Q2I3?= =?utf-8?B?S1JXblFWbFpJMlByMUlIbmFVVy9KSjZyWlR3VW0rMGZ3NTY1eVVFUlJYamsv?= =?utf-8?B?bUgwN25VRzR6R3N1bmZ0dUZVYTRuSCtZV0oxVld3SW1KM2RtTndCaUNPU0Zx?= =?utf-8?B?NDV0OHloL25ySWxWNENEZmVEeGtYV0JlSitOMjNOaWtHSFRuajJ6TGkvK2lz?= =?utf-8?B?cDNCTjdNQUMzQWZuZ1d6bDU3YzBReGVnYitsY2pCYWZKM2RIYlNPUTd3R1lx?= =?utf-8?B?eGNpYWpFZDl1a1VPM0lmV1QyODJTejhxTXVFSGdmUDVJTDFZeVRSMDhvM0Iv?= =?utf-8?B?WU9uVkJzTzRNT1pMZVlCWDdiNExtU3ptVTFObGxrV0NyU05LWWltZmk3dS9l?= =?utf-8?B?Y3c2RFhEYjdoSis4bUtWZllYMXZycFVFY3hVWk5RUXVjeWJEY29sTDBpazVk?= =?utf-8?B?eXVVZElDOGxvazNMOGpFQzlwT2RiQ0YzWkVTV09zMUxSY1VrTzIxSm9jdHhJ?= =?utf-8?B?ZHhPanBuK1kySzQ1ZG5waGJNUDJmSDdPZWpiSmMxQyt6dHowZmF2YkI2ZGJw?= =?utf-8?B?ZXVpQzdtOVhzWGczRFFlaEl0NUN3YjRrOC9kTE1LZ2hQV2UxQXRTWk1mcjVZ?= =?utf-8?B?Q0pVVXN0eUFUaEpuQWVqUkFUUmhFejlmemtGTFc0WVV5OWhWdXl2ZTFiVVpt?= =?utf-8?B?K3pGUkkwcVVOZVVuUDFaYTJBZVNtMkFaSWpkLzZhUW9oZWZkV2JWRUUwWk8w?= =?utf-8?B?bldpKy80VC8wbHJEdUE5cTdqeGpPZXc1anVwWTAyMGJWc3lDVm15anhNT2Jp?= =?utf-8?B?eTBBSS9lWTY4VG9Zb1A0dnhnQWEzYkdQbEd4T0hOVDlXc001UlRTNmJsN0V3?= =?utf-8?B?dDZEODdxV2FLQXhvZEJJQ2tEcFFpaUNSWDlTYzdETzd4elN5YkVnNzJXMjJO?= =?utf-8?B?K1pkbWt6YXVtR0FGQVZqSWtzSzcvRnh1NWs0UXFyczlHR0Z2WVJac0dUaGxz?= =?utf-8?B?eHIxYUJmaVRWMlVndERNdnV3bldQbmlsb0NSSEVLMnFWTGgrNUc4amNiVHl3?= =?utf-8?B?OW9xbGpxZHlrT1hYTDMzQ3IxWWp1NFdTMS9xd0tYUnVMa05hN0Q3WDFkZzZk?= =?utf-8?B?eG8wT0JsRFR4VTZYVlp6aHJpOTB0eVQwc0xUZEtuSXliVDNibmY5UFN6bmJw?= =?utf-8?B?L2pLUWh0TGRCOWFLR2JsYWt1ZHJ2YnoyZnRucm52MjU5RzJsTjdybW5LY3FS?= =?utf-8?B?VjZWbm1DQU4vQTY4cGcvSloyZmJadTh0cElEV0xXK3FvVHp4L1Y0cXVFOFIv?= =?utf-8?B?dTBHMG9VOVB3WHZJbDBPR2pwODZDZTdOU1lRWGtkMm5TdlRVNG4veGkrbGph?= =?utf-8?B?VDVCbGVmUHJmcnJrU1FvaWxYUG0vMjBuM0hXellKYVpxYVVLV1J3K2FMTE9l?= =?utf-8?B?RjdQTGVkU1ppcmJoWkR6b3lmNkQzanVCaGRVQlB1b3pIVjA5NnFNNHRwYUh1?= =?utf-8?B?U3hubXJzSzRFeVliTlNES1g2NnBsTks4NjFKWVFuVk8xaDYzQ2xUSVdLY2hI?= =?utf-8?B?RUJqdFNBUE1xdDBlMmtyeDc5UHlTT2g2VFprdUpQeGFwbTVvUlM0YXJwOHdt?= =?utf-8?B?STdYVjh1a2JhYkhmVUVvbnRnTjhFL2lpSk45RndOTE9HeVNVdmJmSmExTWJR?= =?utf-8?B?TVZzVEJkTVhjeU5sMzZjeDJLZHBKUUZTRjl6bmZNOWlNZnpVSlBxRHU2Sm5a?= =?utf-8?B?Y1c0Qnd6ajhXelpXKytQZ3pmbGozbnVTcEQrdm5kRHd5cTBkY0lFdm9yVnU5?= =?utf-8?B?cnBPbmJjcWNXM2FLK3VTa3JSSmlUandaOTI4YXlyVGdweDgzU1dmZz09?= Content-Type: multipart/alternative; boundary="_000_DM6PR11MB36730F7589E2168651EFD9CC96AB9DM6PR11MB3673namp_" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB3673.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1b1305b8-72fe-49e6-1299-08da4ce269dd X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Jun 2022 02:14:14.8449 (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: 0E2ncyAct/CM8LcvxBVUFDiHXpJOuS9ccKXjLbFp6p0tlfZ7ABTGB3JRVIzPFugUhSFbPRqEFlJMEd5RKEJ0Fg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR11MB0076 X-OriginatorOrg: intel.com X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org --_000_DM6PR11MB36730F7589E2168651EFD9CC96AB9DM6PR11MB3673namp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGksIEJlbg0KVGhpcyBwYXRjaCBjYW4gb25seSB0YWtlIGVmZmVjdCBhZnRlciBmaXJtd2FyZSB2 OC42LiBJdCBjYW5ub3QgYmUgdXNlZCBvbiBmaXJtd2FyZSB2OC40IGFuZCB2OC41LiBUaGUgcmVh c29uIGlzIHRoYXQgdGhlIGZpcm13YXJlIHRlYW0gZ2F2ZSBhIGNsZWFyIHJlcGx5IHRoYXQgdGhl cmUgYXJlIG1hbnkgcmVsYXRlZCBidWdzIGluIGZpcm13YXJlIHY4LjQgYW5kIHY4LjUsIGFuZCB0 aGV5IHdlcmUgZml4ZWQgaW4gZmlybXdhcmUgdjguNi4gVGhlIGZpcm13YXJlIHRlYW0gcmVjb21t ZW5kcyB1c2luZyB2OC42Lg0KDQpSZWdhcmRzDQpLZXZpbg0KDQpGcm9tOiBCZW4gTWFnaXN0cm8g PGtvbmNlcHQxQGdtYWlsLmNvbT4NClNlbnQ6IDIwMjLlubQ25pyIMTDml6UgMjI6MjcNClRvOiBM aXUsIEtldmluWCA8a2V2aW54LmxpdUBpbnRlbC5jb20+DQpDYzogZGV2QGRwZGsub3JnOyBaaGFu ZywgWXV5aW5nIDx5dXlpbmcuemhhbmdAaW50ZWwuY29tPjsgWGluZywgQmVpbGVpIDxiZWlsZWku eGluZ0BpbnRlbC5jb20+OyBZYW5nLCBTdGV2ZVggPHN0ZXZleC55YW5nQGludGVsLmNvbT47IFpo YW5nLCBSb2JpblggPHJvYmlueC56aGFuZ0BpbnRlbC5jb20+DQpTdWJqZWN0OiBSZTogW1BBVENI IHY3XSBuZXQvaTQwZTogYWRkIG91dGVyIFZMQU4gcHJvY2Vzc2luZw0KDQpJJ20gdHJ5aW5nIHRv IHVuZGVyc3RhbmQgaWYgdGhpcyBjaGFuZ2UgaXMgYXQgYWxsIHJlbGF0ZWQgdG8gYW4gaXNzdWUg d2UgYXJlIGV4cGVyaWVuY2luZyB3aXRoIG5ld2VyIGZpcm13YXJlcyAoaHR0cHM6Ly9tYWlscy5k cGRrLm9yZy9hcmNoaXZlcy9kZXYvMjAyMi1BcHJpbC8yMzg2MjEuaHRtbCkgdGhhdCBoYXBwZW5l ZCB0byBzdGFydCB3aXRoIDguNCBhbmQgYWZmZWN0ZWQgcWlucSBvZmZsb2FkIHByb2Nlc3Npbmcu ICBJIGNhbiBzYXkgbG9hZGluZyB0aGlzIHBhdGNoIGFuZCBydW5uaW5nIHRlc3RwbWQgZG9lcyBu b3Qgc2VlbSB0byBoYXZlIGFueSBlZmZlY3Qgb24gdGhlIGlzc3VlIHdlIGFyZSBleHBlcmllbmNp bmcuDQoNClNpZGUgbm90ZSwgdGhlcmUgaXMgYWxzbyBhIG1pbm9yIHR5cG8gaW4gdGhlIGNvbW1l bnQgYmxvY2sgImk0MGVfdmxhbl90cGllX3NldCIgdnMgImk0MGVfdmxhbl90cGlkX3NldCIuDQoN ClRoYW5rcw0KDQpPbiBGcmksIEp1biAxMCwgMjAyMiBhdCA0OjMwIEFNIEtldmluIExpdSA8a2V2 aW54LmxpdUBpbnRlbC5jb208bWFpbHRvOmtldmlueC5saXVAaW50ZWwuY29tPj4gd3JvdGU6DQpG cm9tOiBSb2JpbiBaaGFuZyA8cm9iaW54LnpoYW5nQGludGVsLmNvbTxtYWlsdG86cm9iaW54Lnpo YW5nQGludGVsLmNvbT4+DQoNCk91dGVyIFZMQU4gcHJvY2Vzc2luZyBpcyBzdXBwb3J0ZWQgYWZ0 ZXIgZmlybXdhcmUgdjguNCwga2VybmVsIGRyaXZlcg0KYWxzbyBjaGFuZ2UgdGhlIGRlZmF1bHQg YmVoYXZpb3IgdG8gc3VwcG9ydCB0aGlzIGZlYXR1cmUuIFRvIGFsaWduIHdpdGgNCmtlcm5lbCBk cml2ZXIsIGFkZCBzdXBwb3J0IGZvciBvdXRlciBWTEFOIHByb2Nlc3NpbmcgaW4gRFBESy4NCg0K QnV0IGl0IGlzIGZvcmJpZGRlbiBmb3IgZmlybXdhcmUgdG8gY2hhbmdlIHRoZSBJbm5lci9PdXRl ciBWTEFODQpjb25maWd1cmF0aW9uIHdoaWxlIHRoZXJlIGFyZSBNQUMvVkxBTiBmaWx0ZXJzIGlu IHRoZSBzd2l0Y2ggdGFibGUuDQpUaGVyZWZvcmUsIHdlIG5lZWQgdG8gY2xlYXIgdGhlIE1BQyB0 YWJsZSBiZWZvcmUgc2V0dGluZyBjb25maWcsDQphbmQgdGhlbiByZXN0b3JlIHRoZSBNQUMgdGFi bGUgYWZ0ZXIgc2V0dGluZy4NCg0KVGhpcyB3aWxsIG5vdCBpbXBhY3Qgb24gYW4gb2xkIGZpcm13 YXJlLg0KDQpTaWduZWQtb2ZmLWJ5OiBSb2JpbiBaaGFuZyA8cm9iaW54LnpoYW5nQGludGVsLmNv bTxtYWlsdG86cm9iaW54LnpoYW5nQGludGVsLmNvbT4+DQpTaWduZWQtb2ZmLWJ5OiBLZXZpbiBM aXUgPGtldmlueC5saXVAaW50ZWwuY29tPG1haWx0bzprZXZpbngubGl1QGludGVsLmNvbT4+DQot LS0NCiBkcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmMgfCA5NCArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKy0tDQogZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5oIHwgIDMg KysNCiAyIGZpbGVzIGNoYW5nZWQsIDkyIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pDQoN CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmMgYi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmMNCmluZGV4IDc1NTc4NmRjMTAuLjRjYWUxNjNjYjkgMTAwNjQ0 DQotLS0gYS9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmMNCisrKyBiL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYw0KQEAgLTI1NzUsNiArMjU3NSw3IEBAIGk0MGVfZGV2X2Nsb3Nl KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KQ0KICAgICAgICBzdHJ1Y3QgaTQwZV9odyAqaHcgPSBJ NDBFX0RFVl9QUklWQVRFX1RPX0hXKGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGUpOw0KICAgICAgICBz dHJ1Y3QgcnRlX3BjaV9kZXZpY2UgKnBjaV9kZXYgPSBSVEVfRVRIX0RFVl9UT19QQ0koZGV2KTsN CiAgICAgICAgc3RydWN0IHJ0ZV9pbnRyX2hhbmRsZSAqaW50cl9oYW5kbGUgPSBwY2lfZGV2LT5p bnRyX2hhbmRsZTsNCisgICAgICAgc3RydWN0IHJ0ZV9ldGhfcnhtb2RlICpyeG1vZGUgPSAmZGV2 LT5kYXRhLT5kZXZfY29uZi5yeG1vZGU7DQogICAgICAgIHN0cnVjdCBpNDBlX2ZpbHRlcl9jb250 cm9sX3NldHRpbmdzIHNldHRpbmdzOw0KICAgICAgICBzdHJ1Y3QgcnRlX2Zsb3cgKnBfZmxvdzsN CiAgICAgICAgdWludDMyX3QgcmVnOw0KQEAgLTI1ODcsNiArMjU4OCwxOCBAQCBpNDBlX2Rldl9j bG9zZShzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldikNCiAgICAgICAgaWYgKHJ0ZV9lYWxfcHJvY2Vz c190eXBlKCkgIT0gUlRFX1BST0NfUFJJTUFSWSkNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsN Cg0KKyAgICAgICAvKg0KKyAgICAgICAgKiBJdCBpcyBhIHdvcmthcm91bmQsIGlmIHRoZSBkb3Vi bGUgVkxBTiBpcyBkaXNhYmxlZCB3aGVuDQorICAgICAgICAqIHRoZSBwcm9ncmFtIGV4aXRzLCBh biBhYm5vcm1hbCBlcnJvciB3aWxsIG9jY3VyIG9uIHRoZQ0KKyAgICAgICAgKiBOSUMuIE5lZWQg dG8gZW5hYmxlIGRvdWJsZSBWTEFOIHdoZW4gZGV2IGlzIGNsb3NlZC4NCisgICAgICAgICovDQor ICAgICAgIGlmIChwZi0+Znc4XzNndCkgew0KKyAgICAgICAgICAgICAgIGlmICghKHJ4bW9kZS0+ b2ZmbG9hZHMgJiBSVEVfRVRIX1JYX09GRkxPQURfVkxBTl9FWFRFTkQpKSB7DQorICAgICAgICAg ICAgICAgICAgICAgICByeG1vZGUtPm9mZmxvYWRzIHw9IFJURV9FVEhfUlhfT0ZGTE9BRF9WTEFO X0VYVEVORDsNCisgICAgICAgICAgICAgICAgICAgICAgIGk0MGVfdmxhbl9vZmZsb2FkX3NldChk ZXYsIFJURV9FVEhfVkxBTl9FWFRFTkRfTUFTSyk7DQorICAgICAgICAgICAgICAgfQ0KKyAgICAg ICB9DQorDQogICAgICAgIHJldCA9IHJ0ZV9ldGhfc3dpdGNoX2RvbWFpbl9mcmVlKHBmLT5zd2l0 Y2hfZG9tYWluX2lkKTsNCiAgICAgICAgaWYgKHJldCkNCiAgICAgICAgICAgICAgICBQTURfSU5J VF9MT0coV0FSTklORywgImZhaWxlZCB0byBmcmVlIHN3aXRjaCBkb21haW46ICVkIiwgcmV0KTsN CkBAIC0zOTA5LDYgKzM5MjIsNyBAQCBpNDBlX3ZsYW5fdHBpZF9zZXQoc3RydWN0IHJ0ZV9ldGhf ZGV2ICpkZXYsDQogICAgICAgIHN0cnVjdCBpNDBlX3BmICpwZiA9IEk0MEVfREVWX1BSSVZBVEVf VE9fUEYoZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSk7DQogICAgICAgIGludCBxaW5xID0gZGV2LT5k YXRhLT5kZXZfY29uZi5yeG1vZGUub2ZmbG9hZHMgJg0KICAgICAgICAgICAgICAgICAgIFJURV9F VEhfUlhfT0ZGTE9BRF9WTEFOX0VYVEVORDsNCisgICAgICAgdTE2IHN3X2ZsYWdzID0gMCwgdmFs aWRfZmxhZ3MgPSAwOw0KICAgICAgICBpbnQgcmV0ID0gMDsNCg0KICAgICAgICBpZiAoKHZsYW5f dHlwZSAhPSBSVEVfRVRIX1ZMQU5fVFlQRV9JTk5FUiAmJg0KQEAgLTM5MjcsMTUgKzM5NDEsMzIg QEAgaTQwZV92bGFuX3RwaWRfc2V0KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LA0KICAgICAgICAv KiA4MDIuMWFkIGZyYW1lcyBhYmlsaXR5IGlzIGFkZGVkIGluIE5WTSBBUEkgMS43Ki8NCiAgICAg ICAgaWYgKGh3LT5mbGFncyAmIEk0MEVfSFdfRkxBR184MDJfMUFEX0NBUEFCTEUpIHsNCiAgICAg ICAgICAgICAgICBpZiAocWlucSkgew0KKyAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBmLT5m dzhfM2d0KSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3X2ZsYWdzID0gSTQw RV9BUV9TRVRfU1dJVENIX0NGR19PVVRFUl9WTEFOOw0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB2YWxpZF9mbGFncyA9IEk0MEVfQVFfU0VUX1NXSVRDSF9DRkdfT1VURVJfVkxBTjsN CisgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2 bGFuX3R5cGUgPT0gUlRFX0VUSF9WTEFOX1RZUEVfT1VURVIpDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGh3LT5maXJzdF90YWcgPSBydGVfY3B1X3RvX2xlXzE2KHRwaWQpOw0KICAg ICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAodmxhbl90eXBlID09IFJURV9FVEhfVkxBTl9U WVBFX0lOTkVSKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBody0+c2Vjb25kX3Rh ZyA9IHJ0ZV9jcHVfdG9fbGVfMTYodHBpZCk7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCi0g ICAgICAgICAgICAgICAgICAgICAgIGlmICh2bGFuX3R5cGUgPT0gUlRFX0VUSF9WTEFOX1RZUEVf T1VURVIpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh3LT5zZWNvbmRfdGFnID0g cnRlX2NwdV90b19sZV8xNih0cGlkKTsNCisgICAgICAgICAgICAgICAgICAgICAgIC8qDQorICAg ICAgICAgICAgICAgICAgICAgICAgKiBJZiB0cGlkIGlzIGVxdWFsIHRvIDB4ODhBOCwgaW5kaWNh dGVzIHRoYXQgdGhlDQorICAgICAgICAgICAgICAgICAgICAgICAgKiBkaXNhYmxlIGRvdWJsZSBW TEFOIG9wZXJhdGlvbiBpcyBpbiBwcm9ncmVzcy4NCisgICAgICAgICAgICAgICAgICAgICAgICAq IE5lZWQgc2V0IHN3aXRjaCBjb25maWd1cmF0aW9uIGJhY2sgdG8gZGVmYXVsdC4NCisgICAgICAg ICAgICAgICAgICAgICAgICAqLw0KKyAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBmLT5mdzhf M2d0ICYmIHRwaWQgPT0gUlRFX0VUSEVSX1RZUEVfUUlOUSkgew0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzd19mbGFncyA9IDA7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHZhbGlkX2ZsYWdzID0gSTQwRV9BUV9TRVRfU1dJVENIX0NGR19PVVRFUl9WTEFOOw0KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodmxhbl90eXBlID09IFJURV9FVEhfVkxB Tl9UWVBFX09VVEVSKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh3 LT5maXJzdF90YWcgPSBydGVfY3B1X3RvX2xlXzE2KHRwaWQpOw0KKyAgICAgICAgICAgICAgICAg ICAgICAgfSBlbHNlIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZsYW5f dHlwZSA9PSBSVEVfRVRIX1ZMQU5fVFlQRV9PVVRFUikNCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBody0+c2Vjb25kX3RhZyA9IHJ0ZV9jcHVfdG9fbGVfMTYodHBpZCk7 DQorICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KLSAgICAgICAg ICAgICAgIHJldCA9IGk0MGVfYXFfc2V0X3N3aXRjaF9jb25maWcoaHcsIDAsIDAsIDAsIE5VTEwp Ow0KKyAgICAgICAgICAgICAgIHJldCA9IGk0MGVfYXFfc2V0X3N3aXRjaF9jb25maWcoaHcsIHN3 X2ZsYWdzLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dmFsaWRfZmxhZ3MsIDAsIE5VTEwpOw0KICAgICAgICAgICAgICAgIGlmIChyZXQgIT0gSTQwRV9T VUNDRVNTKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBQTURfRFJWX0xPRyhFUlIsDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU2V0IHN3aXRjaCBjb25maWcgZmFpbGVk IGFxX2VycjogJWQiLA0KQEAgLTM5ODcsOCArNDAxOCwxMyBAQCBzdGF0aWMgaW50DQogaTQwZV92 bGFuX29mZmxvYWRfc2V0KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LCBpbnQgbWFzaykNCiB7DQog ICAgICAgIHN0cnVjdCBpNDBlX3BmICpwZiA9IEk0MEVfREVWX1BSSVZBVEVfVE9fUEYoZGV2LT5k YXRhLT5kZXZfcHJpdmF0ZSk7DQorICAgICAgIHN0cnVjdCBpNDBlX21hY19maWx0ZXJfaW5mbyAq bWFjX2ZpbHRlcjsNCiAgICAgICAgc3RydWN0IGk0MGVfdnNpICp2c2kgPSBwZi0+bWFpbl92c2k7 DQogICAgICAgIHN0cnVjdCBydGVfZXRoX3J4bW9kZSAqcnhtb2RlOw0KKyAgICAgICBzdHJ1Y3Qg aTQwZV9tYWNfZmlsdGVyICpmOw0KKyAgICAgICBpbnQgaSwgbnVtOw0KKyAgICAgICB2b2lkICp0 ZW1wOw0KKyAgICAgICBpbnQgcmV0Ow0KDQogICAgICAgIHJ4bW9kZSA9ICZkZXYtPmRhdGEtPmRl dl9jb25mLnJ4bW9kZTsNCiAgICAgICAgaWYgKG1hc2sgJiBSVEVfRVRIX1ZMQU5fRklMVEVSX01B U0spIHsNCkBAIC00MDA3LDYgKzQwNDMsMzMgQEAgaTQwZV92bGFuX29mZmxvYWRfc2V0KHN0cnVj dCBydGVfZXRoX2RldiAqZGV2LCBpbnQgbWFzaykNCiAgICAgICAgfQ0KDQogICAgICAgIGlmICht YXNrICYgUlRFX0VUSF9WTEFOX0VYVEVORF9NQVNLKSB7DQorICAgICAgICAgICAgICAgaSA9IDA7 DQorICAgICAgICAgICAgICAgbnVtID0gdnNpLT5tYWNfbnVtOw0KKyAgICAgICAgICAgICAgIG1h Y19maWx0ZXIgPSBydGVfem1hbGxvYygibWFjX2ZpbHRlcl9pbmZvX2RhdGEiLA0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbnVtICogc2l6ZW9mKCptYWNfZmlsdGVyKSwgMCk7DQor ICAgICAgICAgICAgICAgaWYgKG1hY19maWx0ZXIgPT0gTlVMTCkgew0KKyAgICAgICAgICAgICAg ICAgICAgICAgUE1EX0RSVl9MT0coRVJSLCAiZmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeSIpOw0K KyAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEk0MEVfRVJSX05PX01FTU9SWTsNCisgICAg ICAgICAgICAgICB9DQorDQorICAgICAgICAgICAgICAgLyoNCisgICAgICAgICAgICAgICAgKiBP dXRlciBWTEFOIHByb2Nlc3NpbmcgaXMgc3VwcG9ydGVkIGFmdGVyIGZpcm13YXJlIHY4LjQsIGtl cm5lbCBkcml2ZXINCisgICAgICAgICAgICAgICAgKiBhbHNvIGNoYW5nZSB0aGUgZGVmYXVsdCBi ZWhhdmlvciB0byBzdXBwb3J0IHRoaXMgZmVhdHVyZS4gVG8gYWxpZ24gd2l0aA0KKyAgICAgICAg ICAgICAgICAqIGtlcm5lbCBkcml2ZXIsIHNldCBzd2l0Y2ggY29uZmlnIGluICdpNDBlX3ZsYW5f dHBpZV9zZXQnIHRvIHN1cHBvcnQgZm9yDQorICAgICAgICAgICAgICAgICogb3V0ZXIgVkxBTiBw cm9jZXNzaW5nLiBCdXQgaXQgaXMgZm9yYmlkZGVuIGZvciBmaXJtd2FyZSB0byBjaGFuZ2UgdGhl DQorICAgICAgICAgICAgICAgICogSW5uZXIvT3V0ZXIgVkxBTiBjb25maWd1cmF0aW9uIHdoaWxl IHRoZXJlIGFyZSBNQUMvVkxBTiBmaWx0ZXJzIGluIHRoZQ0KKyAgICAgICAgICAgICAgICAqIHN3 aXRjaCB0YWJsZS4gVGhlcmVmb3JlLCB3ZSBuZWVkIHRvIGNsZWFyIHRoZSBNQUMgdGFibGUgYmVm b3JlIHNldHRpbmcNCisgICAgICAgICAgICAgICAgKiBjb25maWcsIGFuZCB0aGVuIHJlc3RvcmUg dGhlIE1BQyB0YWJsZSBhZnRlciBzZXR0aW5nLiBUaGlzIGZlYXR1cmUgaXMNCisgICAgICAgICAg ICAgICAgKiByZWNvbW1lbmRlZCB0byBiZSB1c2VkIGluIGZpcm13YXJlIHY4LjYuDQorICAgICAg ICAgICAgICAgICovDQorICAgICAgICAgICAgICAgLyogUmVtb3ZlIGFsbCBleGlzdGluZyBtYWMg Ki8NCisgICAgICAgICAgICAgICBSVEVfVEFJTFFfRk9SRUFDSF9TQUZFKGYsICZ2c2ktPm1hY19s aXN0LCBuZXh0LCB0ZW1wKSB7DQorICAgICAgICAgICAgICAgICAgICAgICBtYWNfZmlsdGVyW2ld ID0gZi0+bWFjX2luZm87DQorICAgICAgICAgICAgICAgICAgICAgICByZXQgPSBpNDBlX3ZzaV9k ZWxldGVfbWFjKHZzaSwgJmYtPm1hY19pbmZvLm1hY19hZGRyKTsNCisgICAgICAgICAgICAgICAg ICAgICAgIGlmIChyZXQpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBNRF9EUlZf TE9HKEVSUiwgImk0MGUgdnNpIGRlbGV0ZSBtYWMgZmFpbC4iKTsNCisgICAgICAgICAgICAgICAg ICAgICAgIGkrKzsNCisgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgaWYgKHJ4bW9k ZS0+b2ZmbG9hZHMgJiBSVEVfRVRIX1JYX09GRkxPQURfVkxBTl9FWFRFTkQpIHsNCiAgICAgICAg ICAgICAgICAgICAgICAgIGk0MGVfdnNpX2NvbmZpZ19kb3VibGVfdmxhbih2c2ksIFRSVUUpOw0K ICAgICAgICAgICAgICAgICAgICAgICAgLyogU2V0IGdsb2JhbCByZWdpc3RlcnMgd2l0aCBkZWZh dWx0IGV0aGVydHlwZS4gKi8NCkBAIC00MDE0LDkgKzQwNzcsMTkgQEAgaTQwZV92bGFuX29mZmxv YWRfc2V0KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LCBpbnQgbWFzaykNCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfRVRIRVJfVFlQRV9WTEFOKTsNCiAgICAg ICAgICAgICAgICAgICAgICAgIGk0MGVfdmxhbl90cGlkX3NldChkZXYsIFJURV9FVEhfVkxBTl9U WVBFX0lOTkVSLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJU RV9FVEhFUl9UWVBFX1ZMQU4pOw0KLSAgICAgICAgICAgICAgIH0NCi0gICAgICAgICAgICAgICBl bHNlDQorICAgICAgICAgICAgICAgfSBlbHNlIHsNCisgICAgICAgICAgICAgICAgICAgICAgIGlm IChwZi0+Znc4XzNndCkNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaTQwZV92bGFu X3RwaWRfc2V0KGRldiwgUlRFX0VUSF9WTEFOX1RZUEVfT1VURVIsDQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0VUSEVSX1RZUEVfUUlOUSk7DQogICAgICAg ICAgICAgICAgICAgICAgICBpNDBlX3ZzaV9jb25maWdfZG91YmxlX3ZsYW4odnNpLCBGQUxTRSk7 DQorICAgICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgICAgIC8qIFJlc3RvcmUgYWxsIG1hYyAq Lw0KKyAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBudW07IGkrKykgew0KKyAgICAgICAg ICAgICAgICAgICAgICAgcmV0ID0gaTQwZV92c2lfYWRkX21hYyh2c2ksICZtYWNfZmlsdGVyW2ld KTsNCisgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXQpDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFBNRF9EUlZfTE9HKEVSUiwgImk0MGUgdnNpIGFkZCBtYWMgZmFpbC4iKTsN CisgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgICAgcnRlX2ZyZWUobWFjX2ZpbHRlcik7 DQogICAgICAgIH0NCg0KICAgICAgICBpZiAobWFzayAmIFJURV9FVEhfUUlOUV9TVFJJUF9NQVNL KSB7DQpAQCAtNDg0Niw2ICs0OTE5LDE3IEBAIGk0MGVfcGZfcGFyYW1ldGVyX2luaXQoc3RydWN0 IHJ0ZV9ldGhfZGV2ICpkZXYpDQogICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQogICAg ICAgIH0NCg0KKyAgICAgICAvKioNCisgICAgICAgICogRW5hYmxlIG91dGVyIFZMQU4gcHJvY2Vz c2luZyBpZiBmaXJtd2FyZSB2ZXJzaW9uIGlzIGdyZWF0ZXINCisgICAgICAgICogdGhhbiB2OC4z DQorICAgICAgICAqLw0KKyAgICAgICBpZiAoaHctPmFxLmZ3X21hal92ZXIgPiA4IHx8DQorICAg ICAgICAgICAoaHctPmFxLmZ3X21hal92ZXIgPT0gOCAmJiBody0+YXEuZndfbWluX3ZlciA+IDMp KSB7DQorICAgICAgICAgICAgICAgcGYtPmZ3OF8zZ3QgPSB0cnVlOw0KKyAgICAgICB9IGVsc2Ug ew0KKyAgICAgICAgICAgICAgIHBmLT5mdzhfM2d0ID0gZmFsc2U7DQorICAgICAgIH0NCisNCiAg ICAgICAgcmV0dXJuIDA7DQogfQ0KDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5oIGIvZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5oDQppbmRleCBhMWViZGMw OTNjLi5mZTk0M2E0NWZmIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5oDQorKysgYi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmgNCkBAIC0xMTg4LDYgKzEx ODgsOSBAQCBzdHJ1Y3QgaTQwZV9wZiB7DQogICAgICAgIC8qIFN3aXRjaCBEb21haW4gSWQgKi8N CiAgICAgICAgdWludDE2X3Qgc3dpdGNoX2RvbWFpbl9pZDsNCg0KKyAgICAgICAvKiBXaGVuIGZp cm13YXJlID4gOC4zLCB0aGUgZW5hYmxlIGZsYWcgZm9yIG91dGVyIFZMQU4gcHJvY2Vzc2luZyAq Lw0KKyAgICAgICBib29sIGZ3OF8zZ3Q7DQorDQogICAgICAgIHN0cnVjdCBpNDBlX3ZmX21zZ19j ZmcgdmZfbXNnX2NmZzsNCiAgICAgICAgdWludDY0X3QgcHJldl9yeF9ieXRlczsNCiAgICAgICAg dWludDY0X3QgcHJldl90eF9ieXRlczsNCi0tDQoyLjM0LjENCg== --_000_DM6PR11MB36730F7589E2168651EFD9CC96AB9DM6PR11MB3673namp_ Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6 IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1m YWNlDQoJe2ZvbnQtZmFtaWx5OkRlbmdYaWFuOw0KCXBhbm9zZS0xOjIgMSA2IDAgMyAxIDEgMSAx IDE7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseTpDYWxpYnJpOw0KCXBhbm9zZS0xOjIgMTUg NSAyIDIgMiA0IDMgMiA0O30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6Ik1pY3Jvc29mdCBZ YUhlaSI7DQoJcGFub3NlLTE6MiAxMSA1IDMgMiAyIDQgMiAyIDQ7fQ0KQGZvbnQtZmFjZQ0KCXtm b250LWZhbWlseToiXEBNaWNyb3NvZnQgWWFIZWkiO30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1p bHk6IlxARGVuZ1hpYW4iOw0KCXBhbm9zZS0xOjIgMSA2IDAgMyAxIDEgMSAxIDE7fQ0KLyogU3R5 bGUgRGVmaW5pdGlvbnMgKi8NCnAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWwsIGRpdi5Nc29Ob3Jt YWwNCgl7bWFyZ2luOjBjbTsNCglmb250LXNpemU6MTEuMHB0Ow0KCWZvbnQtZmFtaWx5OiJDYWxp YnJpIixzYW5zLXNlcmlmO30NCmE6bGluaywgc3Bhbi5Nc29IeXBlcmxpbmsNCgl7bXNvLXN0eWxl LXByaW9yaXR5Ojk5Ow0KCWNvbG9yOmJsdWU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9 DQpzcGFuLkVtYWlsU3R5bGUxOA0KCXttc28tc3R5bGUtdHlwZTpwZXJzb25hbC1yZXBseTsNCglm b250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjsNCgljb2xvcjp3aW5kb3d0ZXh0O30NCi5N c29DaHBEZWZhdWx0DQoJe21zby1zdHlsZS10eXBlOmV4cG9ydC1vbmx5Ow0KCWZvbnQtZmFtaWx5 OiJDYWxpYnJpIixzYW5zLXNlcmlmO30NCkBwYWdlIFdvcmRTZWN0aW9uMQ0KCXtzaXplOjYxMi4w cHQgNzkyLjBwdDsNCgltYXJnaW46NzIuMHB0IDcyLjBwdCA3Mi4wcHQgNzIuMHB0O30NCmRpdi5X b3JkU2VjdGlvbjENCgl7cGFnZTpXb3JkU2VjdGlvbjE7fQ0KLS0+PC9zdHlsZT48IS0tW2lmIGd0 ZSBtc28gOV0+PHhtbD4NCjxvOnNoYXBlZGVmYXVsdHMgdjpleHQ9ImVkaXQiIHNwaWRtYXg9IjEw MjYiIC8+DQo8L3htbD48IVtlbmRpZl0tLT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCjxvOnNo YXBlbGF5b3V0IHY6ZXh0PSJlZGl0Ij4NCjxvOmlkbWFwIHY6ZXh0PSJlZGl0IiBkYXRhPSIxIiAv Pg0KPC9vOnNoYXBlbGF5b3V0PjwveG1sPjwhW2VuZGlmXS0tPg0KPC9oZWFkPg0KPGJvZHkgbGFu Zz0iRU4tVVMiIGxpbms9ImJsdWUiIHZsaW5rPSJwdXJwbGUiIHN0eWxlPSJ3b3JkLXdyYXA6YnJl YWstd29yZCI+DQo8ZGl2IGNsYXNzPSJXb3JkU2VjdGlvbjEiPg0KPHAgY2xhc3M9Ik1zb05vcm1h bCI+SGksIEJlbjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+VGhpcyBwYXRj aCBjYW4gb25seSB0YWtlIGVmZmVjdCBhZnRlciBmaXJtd2FyZSB2OC42LiBJdCBjYW5ub3QgYmUg dXNlZCBvbiBmaXJtd2FyZSB2OC40IGFuZCB2OC41LiBUaGUgcmVhc29uIGlzIHRoYXQgdGhlIGZp cm13YXJlIHRlYW0gZ2F2ZSBhIGNsZWFyIHJlcGx5IHRoYXQgdGhlcmUgYXJlIG1hbnkgcmVsYXRl ZCBidWdzIGluIGZpcm13YXJlIHY4LjQgYW5kIHY4LjUsIGFuZCB0aGV5IHdlcmUgZml4ZWQgaW4N CiBmaXJtd2FyZSB2OC42LiBUaGUgZmlybXdhcmUgdGVhbSByZWNvbW1lbmRzIHVzaW5nIHY4LjYu PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwv cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPlJlZ2FyZHM8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNz PSJNc29Ob3JtYWwiPktldmluPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48 bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxkaXYgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0 OnNvbGlkIGJsdWUgMS41cHQ7cGFkZGluZzowY20gMGNtIDBjbSA0LjBwdCI+DQo8ZGl2Pg0KPGRp diBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLXRvcDpzb2xpZCAjRTFFMUUxIDEuMHB0O3BhZGRp bmc6My4wcHQgMGNtIDBjbSAwY20iPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGI+RnJvbTo8L2I+ IEJlbiBNYWdpc3RybyAmbHQ7a29uY2VwdDFAZ21haWwuY29tJmd0OyA8YnI+DQo8Yj5TZW50Ojwv Yj4gMjAyMjxzcGFuIGxhbmc9IlpILUNOIiBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7TWljcm9z b2Z0IFlhSGVpJnF1b3Q7LHNhbnMtc2VyaWYiPuW5tDwvc3Bhbj42PHNwYW4gbGFuZz0iWkgtQ04i IHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtNaWNyb3NvZnQgWWFIZWkmcXVvdDssc2Fucy1zZXJp ZiI+5pyIPC9zcGFuPjEwPHNwYW4gbGFuZz0iWkgtQ04iIHN0eWxlPSJmb250LWZhbWlseTomcXVv dDtNaWNyb3NvZnQgWWFIZWkmcXVvdDssc2Fucy1zZXJpZiI+5pelPC9zcGFuPiAyMjoyNzxicj4N CjxiPlRvOjwvYj4gTGl1LCBLZXZpblggJmx0O2tldmlueC5saXVAaW50ZWwuY29tJmd0Ozxicj4N CjxiPkNjOjwvYj4gZGV2QGRwZGsub3JnOyBaaGFuZywgWXV5aW5nICZsdDt5dXlpbmcuemhhbmdA aW50ZWwuY29tJmd0OzsgWGluZywgQmVpbGVpICZsdDtiZWlsZWkueGluZ0BpbnRlbC5jb20mZ3Q7 OyBZYW5nLCBTdGV2ZVggJmx0O3N0ZXZleC55YW5nQGludGVsLmNvbSZndDs7IFpoYW5nLCBSb2Jp blggJmx0O3JvYmlueC56aGFuZ0BpbnRlbC5jb20mZ3Q7PGJyPg0KPGI+U3ViamVjdDo8L2I+IFJl OiBbUEFUQ0ggdjddIG5ldC9pNDBlOiBhZGQgb3V0ZXIgVkxBTiBwcm9jZXNzaW5nPG86cD48L286 cD48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8 L286cD48L3A+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+SSdtIHRyeWluZyB0byB1bmRl cnN0YW5kIGlmIHRoaXMgY2hhbmdlIGlzIGF0IGFsbCByZWxhdGVkIHRvIGFuIGlzc3VlIHdlIGFy ZSBleHBlcmllbmNpbmcgd2l0aCBuZXdlciBmaXJtd2FyZXMgKDxhIGhyZWY9Imh0dHBzOi8vbWFp bHMuZHBkay5vcmcvYXJjaGl2ZXMvZGV2LzIwMjItQXByaWwvMjM4NjIxLmh0bWwiIHRhcmdldD0i X2JsYW5rIj5odHRwczovL21haWxzLmRwZGsub3JnL2FyY2hpdmVzL2Rldi8yMDIyLUFwcmlsLzIz ODYyMS5odG1sPC9hPikNCiB0aGF0IGhhcHBlbmVkIHRvIHN0YXJ0IHdpdGggOC40IGFuZCBhZmZl Y3RlZCBxaW5xIG9mZmxvYWQgcHJvY2Vzc2luZy4mbmJzcDsgSSBjYW4gc2F5IGxvYWRpbmcgdGhp cyBwYXRjaCBhbmQgcnVubmluZyB0ZXN0cG1kIGRvZXMgbm90IHNlZW0gdG8gaGF2ZSBhbnkgZWZm ZWN0IG9uIHRoZSBpc3N1ZSB3ZSBhcmUgZXhwZXJpZW5jaW5nLjxvOnA+PC9vOnA+PC9wPg0KPGRp dj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8 ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+U2lkZSBub3RlLCB0aGVyZSBpcyBhbHNvIGEgbWlu b3IgdHlwbyBpbiB0aGUmbmJzcDtjb21tZW50IGJsb2NrICZxdW90O2k0MGVfdmxhbl90cGllX3Nl dCZxdW90OyB2cyAmcXVvdDtpNDBlX3ZsYW5fdHBpZF9zZXQmcXVvdDsuPG86cD48L286cD48L3A+ DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwv cD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPlRoYW5rczxvOnA+PC9vOnA+ PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9v OnA+PC9wPg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5PbiBGcmksIEp1biAx MCwgMjAyMiBhdCA0OjMwIEFNIEtldmluIExpdSAmbHQ7PGEgaHJlZj0ibWFpbHRvOmtldmlueC5s aXVAaW50ZWwuY29tIiB0YXJnZXQ9Il9ibGFuayI+a2V2aW54LmxpdUBpbnRlbC5jb208L2E+Jmd0 OyB3cm90ZTo8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRl cjpub25lO2JvcmRlci1sZWZ0OnNvbGlkICNDQ0NDQ0MgMS4wcHQ7cGFkZGluZzowY20gMGNtIDBj bSA2LjBwdDttYXJnaW4tbGVmdDo0LjhwdDttYXJnaW4tcmlnaHQ6MGNtIj4NCjxwIGNsYXNzPSJN c29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tYm90dG9tOjEyLjBwdCI+RnJvbTogUm9iaW4gWmhhbmcg Jmx0OzxhIGhyZWY9Im1haWx0bzpyb2JpbnguemhhbmdAaW50ZWwuY29tIiB0YXJnZXQ9Il9ibGFu ayI+cm9iaW54LnpoYW5nQGludGVsLmNvbTwvYT4mZ3Q7PGJyPg0KPGJyPg0KT3V0ZXIgVkxBTiBw cm9jZXNzaW5nIGlzIHN1cHBvcnRlZCBhZnRlciBmaXJtd2FyZSB2OC40LCBrZXJuZWwgZHJpdmVy PGJyPg0KYWxzbyBjaGFuZ2UgdGhlIGRlZmF1bHQgYmVoYXZpb3IgdG8gc3VwcG9ydCB0aGlzIGZl YXR1cmUuIFRvIGFsaWduIHdpdGg8YnI+DQprZXJuZWwgZHJpdmVyLCBhZGQgc3VwcG9ydCBmb3Ig b3V0ZXIgVkxBTiBwcm9jZXNzaW5nIGluIERQREsuPGJyPg0KPGJyPg0KQnV0IGl0IGlzIGZvcmJp ZGRlbiBmb3IgZmlybXdhcmUgdG8gY2hhbmdlIHRoZSBJbm5lci9PdXRlciBWTEFOPGJyPg0KY29u ZmlndXJhdGlvbiB3aGlsZSB0aGVyZSBhcmUgTUFDL1ZMQU4gZmlsdGVycyBpbiB0aGUgc3dpdGNo IHRhYmxlLjxicj4NClRoZXJlZm9yZSwgd2UgbmVlZCB0byBjbGVhciB0aGUgTUFDIHRhYmxlIGJl Zm9yZSBzZXR0aW5nIGNvbmZpZyw8YnI+DQphbmQgdGhlbiByZXN0b3JlIHRoZSBNQUMgdGFibGUg YWZ0ZXIgc2V0dGluZy48YnI+DQo8YnI+DQpUaGlzIHdpbGwgbm90IGltcGFjdCBvbiBhbiBvbGQg ZmlybXdhcmUuPGJyPg0KPGJyPg0KU2lnbmVkLW9mZi1ieTogUm9iaW4gWmhhbmcgJmx0OzxhIGhy ZWY9Im1haWx0bzpyb2JpbnguemhhbmdAaW50ZWwuY29tIiB0YXJnZXQ9Il9ibGFuayI+cm9iaW54 LnpoYW5nQGludGVsLmNvbTwvYT4mZ3Q7PGJyPg0KU2lnbmVkLW9mZi1ieTogS2V2aW4gTGl1ICZs dDs8YSBocmVmPSJtYWlsdG86a2V2aW54LmxpdUBpbnRlbC5jb20iIHRhcmdldD0iX2JsYW5rIj5r ZXZpbngubGl1QGludGVsLmNvbTwvYT4mZ3Q7PGJyPg0KLS0tPGJyPg0KJm5ic3A7ZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jIHwgOTQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KystLTxicj4NCiZuYnNwO2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuaCB8Jm5ic3A7IDMg Kys8YnI+DQombmJzcDsyIGZpbGVzIGNoYW5nZWQsIDkyIGluc2VydGlvbnMoKyksIDUgZGVsZXRp b25zKC0pPGJyPg0KPGJyPg0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYyBiL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzxicj4NCmluZGV4IDc1NTc4NmRj MTAuLjRjYWUxNjNjYjkgMTAwNjQ0PGJyPg0KLS0tIGEvZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jPGJyPg0KKysrIGIvZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jPGJyPg0KQEAg LTI1NzUsNiArMjU3NSw3IEBAIGk0MGVfZGV2X2Nsb3NlKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2 KTxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBzdHJ1Y3QgaTQwZV9odyAqaHcgPSBJ NDBFX0RFVl9QUklWQVRFX1RPX0hXKGRldi0mZ3Q7ZGF0YS0mZ3Q7ZGV2X3ByaXZhdGUpOzxicj4N CiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBzdHJ1Y3QgcnRlX3BjaV9kZXZpY2UgKnBjaV9k ZXYgPSBSVEVfRVRIX0RFVl9UT19QQ0koZGV2KTs8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgc3RydWN0IHJ0ZV9pbnRyX2hhbmRsZSAqaW50cl9oYW5kbGUgPSBwY2lfZGV2LSZndDtp bnRyX2hhbmRsZTs8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7c3RydWN0IHJ0ZV9l dGhfcnhtb2RlICpyeG1vZGUgPSAmYW1wO2Rldi0mZ3Q7ZGF0YS0mZ3Q7ZGV2X2NvbmYucnhtb2Rl Ozxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBzdHJ1Y3QgaTQwZV9maWx0ZXJfY29u dHJvbF9zZXR0aW5ncyBzZXR0aW5nczs8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg c3RydWN0IHJ0ZV9mbG93ICpwX2Zsb3c7PGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 IHVpbnQzMl90IHJlZzs8YnI+DQpAQCAtMjU4Nyw2ICsyNTg4LDE4IEBAIGk0MGVfZGV2X2Nsb3Nl KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KTxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBpZiAocnRlX2VhbF9wcm9jZXNzX3R5cGUoKSAhPSBSVEVfUFJPQ19QUklNQVJZKTxicj4NCiZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgcmV0 dXJuIDA7PGJyPg0KPGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOy8qPGJyPg0KKyZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAqIEl0IGlzIGEgd29ya2Fyb3VuZCwgaWYgdGhlIGRv dWJsZSBWTEFOIGlzIGRpc2FibGVkIHdoZW48YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICogdGhlIHByb2dyYW0gZXhpdHMsIGFuIGFibm9ybWFsIGVycm9yIHdpbGwgb2NjdXIgb24g dGhlPGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAqIE5JQy4gTmVlZCB0byBlbmFi bGUgZG91YmxlIFZMQU4gd2hlbiBkZXYgaXMgY2xvc2VkLjxicj4NCismbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgKi88YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7aWYgKHBmLSZn dDtmdzhfM2d0KSB7PGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDtpZiAoIShyeG1vZGUtJmd0O29mZmxvYWRzICZhbXA7IFJURV9FVEhf UlhfT0ZGTE9BRF9WTEFOX0VYVEVORCkpIHs8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDtyeG1vZGUtJmd0O29mZmxvYWRzIHw9IFJURV9FVEhfUlhfT0ZGTE9BRF9WTEFOX0VYVEVORDs8 YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtpNDBlX3ZsYW5fb2ZmbG9hZF9zZXQoZGV2 LCBSVEVfRVRIX1ZMQU5fRVhURU5EX01BU0spOzxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7fTxicj4NCismbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDt9PGJyPg0KKzxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyByZXQg PSBydGVfZXRoX3N3aXRjaF9kb21haW5fZnJlZShwZi0mZ3Q7c3dpdGNoX2RvbWFpbl9pZCk7PGJy Pg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGlmIChyZXQpPGJyPg0KJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQTURfSU5JVF9MT0co V0FSTklORywgJnF1b3Q7ZmFpbGVkIHRvIGZyZWUgc3dpdGNoIGRvbWFpbjogJWQmcXVvdDssIHJl dCk7PGJyPg0KQEAgLTM5MDksNiArMzkyMiw3IEBAIGk0MGVfdmxhbl90cGlkX3NldChzdHJ1Y3Qg cnRlX2V0aF9kZXYgKmRldiw8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgc3RydWN0 IGk0MGVfcGYgKnBmID0gSTQwRV9ERVZfUFJJVkFURV9UT19QRihkZXYtJmd0O2RhdGEtJmd0O2Rl dl9wcml2YXRlKTs8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgaW50IHFpbnEgPSBk ZXYtJmd0O2RhdGEtJmd0O2Rldl9jb25mLnJ4bW9kZS5vZmZsb2FkcyAmYW1wOzxicj4NCiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwO1JURV9FVEhfUlhfT0ZGTE9BRF9WTEFOX0VYVEVORDs8YnI+DQorJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7dTE2IHN3X2ZsYWdzID0gMCwgdmFsaWRfZmxhZ3MgPSAwOzxicj4NCiZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBpbnQgcmV0ID0gMDs8YnI+DQo8YnI+DQombmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgaWYgKCh2bGFuX3R5cGUgIT0gUlRFX0VUSF9WTEFOX1RZUEVf SU5ORVIgJmFtcDsmYW1wOzxicj4NCkBAIC0zOTI3LDE1ICszOTQxLDMyIEBAIGk0MGVfdmxhbl90 cGlkX3NldChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiw8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgLyogODAyLjFhZCBmcmFtZXMgYWJpbGl0eSBpcyBhZGRlZCBpbiBOVk0gQVBJIDEu NyovPGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGlmIChody0mZ3Q7ZmxhZ3MgJmFt cDsgSTQwRV9IV19GTEFHXzgwMl8xQURfQ0FQQUJMRSkgezxicj4NCiZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgaWYgKHFpbnEpIHs8YnI+DQor Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtpZiAocGYtJmd0O2Z3OF8zZ3QpIHs8YnI+DQorJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7c3dfZmxh Z3MgPSBJNDBFX0FRX1NFVF9TV0lUQ0hfQ0ZHX09VVEVSX1ZMQU47PGJyPg0KKyZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3ZhbGlkX2ZsYWdzID0g STQwRV9BUV9TRVRfU1dJVENIX0NGR19PVVRFUl9WTEFOOzxicj4NCismbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwO308YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBpZiAodmxhbl90eXBl ID09IFJURV9FVEhfVkxBTl9UWVBFX09VVEVSKTxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBody0mZ3Q7Zmlyc3RfdGFnID0gcnRlX2Nw dV90b19sZV8xNih0cGlkKTs8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBlbHNlIGlm ICh2bGFuX3R5cGUgPT0gUlRFX0VUSF9WTEFOX1RZUEVfSU5ORVIpPGJyPg0KJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGh3LSZndDtzZWNvbmRf dGFnID0gcnRlX2NwdV90b19sZV8xNih0cGlkKTs8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IH0gZWxzZSB7PGJyPg0KLSZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7aWYgKHZsYW5fdHlwZSA9PSBSVEVfRVRIX1ZMQU5fVFlQRV9PVVRF Uik8YnI+DQotJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7aHctJmd0O3NlY29uZF90YWcgPSBydGVfY3B1X3RvX2xlXzE2KHRwaWQpOzxicj4NCism bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOy8qPGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICogSWYgdHBpZCBpcyBlcXVhbCB0byAweDg4QTgsIGluZGljYXRlcyB0aGF0IHRoZTxicj4N CismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAqIGRpc2FibGUgZG91YmxlIFZMQU4gb3BlcmF0 aW9uIGlzIGluIHByb2dyZXNzLjxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAqIE5l ZWQgc2V0IHN3aXRjaCBjb25maWd1cmF0aW9uIGJhY2sgdG8gZGVmYXVsdC48YnI+DQorJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgKi88YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtp ZiAocGYtJmd0O2Z3OF8zZ3QgJmFtcDsmYW1wOyB0cGlkID09IFJURV9FVEhFUl9UWVBFX1FJTlEp IHs8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7c3dfZmxhZ3MgPSAwOzxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDt2YWxpZF9mbGFncyA9IEk0MEVfQVFfU0VUX1NXSVRDSF9D RkdfT1VURVJfVkxBTjs8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7aWYgKHZsYW5fdHlwZSA9PSBSVEVfRVRIX1ZMQU5fVFlQRV9PVVRF Uik8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO2h3LSZndDtmaXJzdF90YWcgPSBydGVf Y3B1X3RvX2xlXzE2KHRwaWQpOzxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO30gZWxz ZSB7PGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwO2lmICh2bGFuX3R5cGUgPT0gUlRFX0VUSF9WTEFOX1RZUEVfT1VURVIpPGJyPg0KKyZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtody0mZ3Q7c2Vjb25kX3RhZyA9IHJ0ZV9jcHVfdG9fbGVf MTYodHBpZCk7PGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7fTxicj4NCiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgfTxicj4NCi0m bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7cmV0 ID0gaTQwZV9hcV9zZXRfc3dpdGNoX2NvbmZpZyhodywgMCwgMCwgMCwgTlVMTCk7PGJyPg0KKyZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtyZXQg PSBpNDBlX2FxX3NldF9zd2l0Y2hfY29uZmlnKGh3LCBzd19mbGFncyw8YnI+DQorJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDt2YWxpZF9mbGFncywg MCwgTlVMTCk7PGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyBpZiAocmV0ICE9IEk0MEVfU1VDQ0VTUykgezxicj4NCiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7IFBNRF9EUlZfTE9HKEVSUiw8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmcXVvdDtT ZXQgc3dpdGNoIGNvbmZpZyBmYWlsZWQgYXFfZXJyOiAlZCZxdW90Oyw8YnI+DQpAQCAtMzk4Nyw4 ICs0MDE4LDEzIEBAIHN0YXRpYyBpbnQ8YnI+DQombmJzcDtpNDBlX3ZsYW5fb2ZmbG9hZF9zZXQo c3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsIGludCBtYXNrKTxicj4NCiZuYnNwO3s8YnI+DQombmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgc3RydWN0IGk0MGVfcGYgKnBmID0gSTQwRV9ERVZfUFJJ VkFURV9UT19QRihkZXYtJmd0O2RhdGEtJmd0O2Rldl9wcml2YXRlKTs8YnI+DQorJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7c3RydWN0IGk0MGVfbWFjX2ZpbHRlcl9pbmZvICptYWNfZmlsdGVy Ozxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBzdHJ1Y3QgaTQwZV92c2kgKnZzaSA9 IHBmLSZndDttYWluX3ZzaTs8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgc3RydWN0 IHJ0ZV9ldGhfcnhtb2RlICpyeG1vZGU7PGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw O3N0cnVjdCBpNDBlX21hY19maWx0ZXIgKmY7PGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwO2ludCBpLCBudW07PGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3ZvaWQgKnRl bXA7PGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO2ludCByZXQ7PGJyPg0KPGJyPg0K Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHJ4bW9kZSA9ICZhbXA7ZGV2LSZndDtkYXRhLSZn dDtkZXZfY29uZi5yeG1vZGU7PGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGlmICht YXNrICZhbXA7IFJURV9FVEhfVkxBTl9GSUxURVJfTUFTSykgezxicj4NCkBAIC00MDA3LDYgKzQw NDMsMzMgQEAgaTQwZV92bGFuX29mZmxvYWRfc2V0KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LCBp bnQgbWFzayk8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgfTxicj4NCjxicj4NCiZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBpZiAobWFzayAmYW1wOyBSVEVfRVRIX1ZMQU5fRVhU RU5EX01BU0spIHs8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwO2kgPSAwOzxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7bnVtID0gdnNpLSZndDttYWNfbnVtOzxicj4NCism bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7bWFj X2ZpbHRlciA9IHJ0ZV96bWFsbG9jKCZxdW90O21hY19maWx0ZXJfaW5mb19kYXRhJnF1b3Q7LDxi cj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgbnVtICogc2l6ZW9mKCptYWNfZmlsdGVyKSwgMCk7PGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtpZiAobWFjX2ZpbHRlciA9PSBO VUxMKSB7PGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7UE1EX0RSVl9MT0coRVJSLCAm cXVvdDtmYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5JnF1b3Q7KTs8YnI+DQorJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDtyZXR1cm4gSTQwRV9FUlJfTk9fTUVNT1JZOzxicj4NCismbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7fTxicj4NCis8YnI+ DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw Oy8qPGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgKiBPdXRlciBWTEFOIHByb2Nlc3NpbmcgaXMgc3VwcG9ydGVkIGFmdGVyIGZpcm13 YXJlIHY4LjQsIGtlcm5lbCBkcml2ZXI8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAqIGFsc28gY2hhbmdlIHRoZSBkZWZhdWx0IGJl aGF2aW9yIHRvIHN1cHBvcnQgdGhpcyBmZWF0dXJlLiBUbyBhbGlnbiB3aXRoPGJyPg0KKyZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgKiBrZXJu ZWwgZHJpdmVyLCBzZXQgc3dpdGNoIGNvbmZpZyBpbiAnaTQwZV92bGFuX3RwaWVfc2V0JyB0byBz dXBwb3J0IGZvcjxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICogb3V0ZXIgVkxBTiBwcm9jZXNzaW5nLiBCdXQgaXQgaXMgZm9yYmlk ZGVuIGZvciBmaXJtd2FyZSB0byBjaGFuZ2UgdGhlPGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgKiBJbm5lci9PdXRlciBWTEFOIGNv bmZpZ3VyYXRpb24gd2hpbGUgdGhlcmUgYXJlIE1BQy9WTEFOIGZpbHRlcnMgaW4gdGhlPGJyPg0K KyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg KiBzd2l0Y2ggdGFibGUuIFRoZXJlZm9yZSwgd2UgbmVlZCB0byBjbGVhciB0aGUgTUFDIHRhYmxl IGJlZm9yZSBzZXR0aW5nPGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgKiBjb25maWcsIGFuZCB0aGVuIHJlc3RvcmUgdGhlIE1BQyB0 YWJsZSBhZnRlciBzZXR0aW5nLiBUaGlzIGZlYXR1cmUgaXM8YnI+DQorJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAqIHJlY29tbWVuZGVkIHRv IGJlIHVzZWQgaW4gZmlybXdhcmUgdjguNi48YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAqLzxicj4NCismbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7LyogUmVtb3ZlIGFsbCBleGlz dGluZyBtYWMgKi88YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwO1JURV9UQUlMUV9GT1JFQUNIX1NBRkUoZiwgJmFtcDt2c2ktJmd0O21h Y19saXN0LCBuZXh0LCB0ZW1wKSB7PGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7bWFj X2ZpbHRlcltpXSA9IGYtJmd0O21hY19pbmZvOzxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwO3JldCA9IGk0MGVfdnNpX2RlbGV0ZV9tYWModnNpLCAmYW1wO2YtJmd0O21hY19pbmZvLm1h Y19hZGRyKTs8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtpZiAocmV0KTxicj4NCism bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtQTURf RFJWX0xPRyhFUlIsICZxdW90O2k0MGUgdnNpIGRlbGV0ZSBtYWMgZmFpbC4mcXVvdDspOzxicj4N CismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO2krKzs8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO308YnI+DQombmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGlmIChyeG1vZGUtJmd0 O29mZmxvYWRzICZhbXA7IFJURV9FVEhfUlhfT0ZGTE9BRF9WTEFOX0VYVEVORCkgezxicj4NCiZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGk0MGVfdnNpX2NvbmZpZ19kb3VibGVfdmxhbih2c2ks IFRSVUUpOzxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IC8qIFNldCBnbG9iYWwgcmVn aXN0ZXJzIHdpdGggZGVmYXVsdCBldGhlcnR5cGUuICovPGJyPg0KQEAgLTQwMTQsOSArNDA3Nywx OSBAQCBpNDBlX3ZsYW5fb2ZmbG9hZF9zZXQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsIGludCBt YXNrKTxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO1JURV9FVEhF Ul9UWVBFX1ZMQU4pOzxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGk0MGVfdmxhbl90 cGlkX3NldChkZXYsIFJURV9FVEhfVkxBTl9UWVBFX0lOTkVSLDxicj4NCiZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO1JURV9FVEhFUl9UWVBFX1ZMQU4pOzxicj4NCi0mbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7fTxicj4N Ci0mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ZWxzZTxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7fSBlbHNlIHs8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtpZiAocGYt Jmd0O2Z3OF8zZ3QpPGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwO2k0MGVfdmxhbl90cGlkX3NldChkZXYsIFJURV9FVEhfVkxBTl9UWVBF X09VVEVSLDxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBSVEVfRVRIRVJf VFlQRV9RSU5RKTs8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBpNDBlX3ZzaV9jb25m aWdfZG91YmxlX3ZsYW4odnNpLCBGQUxTRSk7PGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDt9PGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsvKiBSZXN0b3JlIGFsbCBtYWMg Ki88YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwO2ZvciAoaSA9IDA7IGkgJmx0OyBudW07IGkrKykgezxicj4NCismbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwO3JldCA9IGk0MGVfdnNpX2FkZF9tYWModnNpLCAmYW1wO21hY19maWx0ZXJb aV0pOzxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO2lmIChyZXQpPGJyPg0KKyZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO1BNRF9EUlZf TE9HKEVSUiwgJnF1b3Q7aTQwZSB2c2kgYWRkIG1hYyBmYWlsLiZxdW90Oyk7PGJyPg0KKyZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDt9PGJyPg0K KyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDty dGVfZnJlZShtYWNfZmlsdGVyKTs8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgfTxi cj4NCjxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBpZiAobWFzayAmYW1wOyBSVEVf RVRIX1FJTlFfU1RSSVBfTUFTSykgezxicj4NCkBAIC00ODQ2LDYgKzQ5MTksMTcgQEAgaTQwZV9w Zl9wYXJhbWV0ZXJfaW5pdChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldik8YnI+DQombmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHJldHVybiAtRUlO VkFMOzxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyB9PGJyPg0KPGJyPg0KKyZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOy8qKjxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgKiBFbmFibGUgb3V0ZXIgVkxBTiBwcm9jZXNzaW5nIGlmIGZpcm13YXJlIHZlcnNpb24gaXMg Z3JlYXRlcjxicj4NCismbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgKiB0aGFuIHY4LjM8YnI+ DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICovPGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwO2lmIChody0mZ3Q7YXEuZndfbWFqX3ZlciAmZ3Q7IDggfHw8YnI+DQorJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsoaHctJmd0O2FxLmZ3X21hal92ZXIg PT0gOCAmYW1wOyZhbXA7IGh3LSZndDthcS5md19taW5fdmVyICZndDsgMykpIHs8YnI+DQorJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3BmLSZn dDtmdzhfM2d0ID0gdHJ1ZTs8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7fSBlbHNl IHs8YnI+DQorJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwO3BmLSZndDtmdzhfM2d0ID0gZmFsc2U7PGJyPg0KKyZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwO308YnI+DQorPGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHJldHVybiAw Ozxicj4NCiZuYnNwO308YnI+DQo8YnI+DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5oIGIvZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5oPGJyPg0KaW5kZXgg YTFlYmRjMDkzYy4uZmU5NDNhNDVmZiAxMDA2NDQ8YnI+DQotLS0gYS9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2Lmg8YnI+DQorKysgYi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2Lmg8 YnI+DQpAQCAtMTE4OCw2ICsxMTg4LDkgQEAgc3RydWN0IGk0MGVfcGYgezxicj4NCiZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAvKiBTd2l0Y2ggRG9tYWluIElkICovPGJyPg0KJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IHVpbnQxNl90IHN3aXRjaF9kb21haW5faWQ7PGJyPg0KPGJyPg0K KyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOy8qIFdoZW4gZmlybXdhcmUgJmd0OyA4LjMsIHRo ZSBlbmFibGUgZmxhZyBmb3Igb3V0ZXIgVkxBTiBwcm9jZXNzaW5nICovPGJyPg0KKyZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwO2Jvb2wgZnc4XzNndDs8YnI+DQorPGJyPg0KJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7IHN0cnVjdCBpNDBlX3ZmX21zZ19jZmcgdmZfbXNnX2NmZzs8YnI+DQom bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgdWludDY0X3QgcHJldl9yeF9ieXRlczs8YnI+DQom bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgdWludDY0X3QgcHJldl90eF9ieXRlczs8YnI+DQot LSA8YnI+DQoyLjM0LjE8bzpwPjwvbzpwPjwvcD4NCjwvYmxvY2txdW90ZT4NCjwvZGl2Pg0KPC9k aXY+DQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4NCg== --_000_DM6PR11MB36730F7589E2168651EFD9CC96AB9DM6PR11MB3673namp_--