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 C385843676; Tue, 5 Dec 2023 11:29:30 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 644FF402C8; Tue, 5 Dec 2023 11:29:30 +0100 (CET) Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.93]) by mails.dpdk.org (Postfix) with ESMTP id 0DE4D40275 for ; Tue, 5 Dec 2023 11:29:27 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1701772168; x=1733308168; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=JR2RnwigZZV9BMr0CGYBU+trVnMgUZqC98n5bBfCL3c=; b=fUzYP2EO/321jCa4KtoqeJqGyXrkpF7WZXqQgTkMziJTvEaLpngiP9uD fkaGQy8b7c4TCSjdiz45qAgY2FkKG2KcZOfsl1Vg9ihIcMyNGou8omqo3 z2esW0phi1J9b9WKCaWdnB8uvHG1UKdr/5zwefOr92stDt391yiSbGwAD dRy3iNSLQ81VLYoJFZ97S7u65VU6x6L7e/TsgZSFOwIQRZP+bG/ik1I1v rdyRXHxqv9T+VDZvBZnlPwsLCnEfnx9aOrt9cwZ+IjJy9aCHBCG4I4m4g ic+NY5j4Wzkvq1JncDLt9KXuToRstVlDhcpGnmDFdu+lytbZ1eIAodqli A==; X-IronPort-AV: E=McAfee;i="6600,9927,10914"; a="391036232" X-IronPort-AV: E=Sophos;i="6.04,251,1695711600"; d="scan'208,217";a="391036232" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Dec 2023 02:29:26 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10914"; a="770862204" X-IronPort-AV: E=Sophos;i="6.04,251,1695711600"; d="scan'208,217";a="770862204" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orsmga002.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 05 Dec 2023 02:29:25 -0800 Received: from orsmsx602.amr.corp.intel.com (10.22.229.15) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 5 Dec 2023 02:29:25 -0800 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Tue, 5 Dec 2023 02:29:25 -0800 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.100) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Tue, 5 Dec 2023 02:29:24 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=N0EZiEk8d71cqTj8FMw7kgQdbyAg/bLJyk6V+rWehRSmk09R2TzgDeTEe20hWFEO60WHwnkVRxvGBsLOJo55VUvvKXhlNEDUWik2GkooZNWtNLeZhUzsraijziza6oo9+f1lw3Rto0bSWJwx1+NqqH9vk3xbWvg/K5/Ig/Y5I0DaHzTz2meaYBReB+nBOl7URg1yAYAvMtOuk4Bs84xD/app78AXJUDZHz3xbtIg4RYOx7bU2Zh2oGs9C/NVyOQUgd+QcUaM7Z/VVy4uEOO9+gEViMPy1Y7nXSXqfEJ3F5qjBgxSUpIfpYT+eaVfT0JHslU7EGj2+rRpBbyClrnFUA== 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=JR2RnwigZZV9BMr0CGYBU+trVnMgUZqC98n5bBfCL3c=; b=Uf/CQWSTj+iRk5X9EWviGB/6pXPcVYAf47QNiUfuPmDt3qkn2wKYoIydbwSUdg2K2Q8wiWNp535xGYJy6Ski2f61Zst8s8PfuuX2CRe8n/8dl6FlCM/a/AHtU7k6eKGOAVCJ25EXXdt//Pg4Lvw9v2LLv5IyF39LwxXrwcE0bSPCu7cM+jjEY6EJbuTqR8vDFGq1kNU0hUlncegKGhHBAXfJzYXyahLrhDRkcs6daojcfar8PHP/Cou3Nr6XfZD2CgBOLlDuN4WGPrj1FKnOQdQ+uUnNjMpRAa8fD8ZQclm+8QNrDbut/i0mwDxoMU53Ctg0p1cvYSka7SiEbS1dHw== 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 DM6PR11MB3995.namprd11.prod.outlook.com (2603:10b6:5:6::12) by DS0PR11MB8164.namprd11.prod.outlook.com (2603:10b6:8:167::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.34; Tue, 5 Dec 2023 10:29:16 +0000 Received: from DM6PR11MB3995.namprd11.prod.outlook.com ([fe80::7c33:4ba9:947f:d875]) by DM6PR11MB3995.namprd11.prod.outlook.com ([fe80::7c33:4ba9:947f:d875%4]) with mapi id 15.20.7046.034; Tue, 5 Dec 2023 10:29:16 +0000 From: "Koikkara Reeny, Shibin" To: "Tahhan, Maryam" , "ferruh.yigit@amd.com" , "stephen@networkplumber.org" , "lihuisong@huawei.com" , "fengchengwen@huawei.com" , "liuyonglong@huawei.com" CC: "dev@dpdk.org" Subject: RE: [v2] net/af_xdp: enable a sock path alongside use_cni Thread-Topic: [v2] net/af_xdp: enable a sock path alongside use_cni Thread-Index: AQHaJp0GR9CpZNAYC0qo+JjZO5acUbCZTlmwgAAnXACAAP4hMA== Date: Tue, 5 Dec 2023 10:29:15 +0000 Message-ID: References: <20231204103101.2124374-1-mtahhan@redhat.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: DM6PR11MB3995:EE_|DS0PR11MB8164:EE_ x-ms-office365-filtering-correlation-id: 7bc3f181-fc0d-42da-88f4-08dbf57d082a 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: Tthb+Q2hv9jNoB3/QEUsKSuQlHrjKGtG9sRVpkuOse+hKxNW10j47qEJBvk5pUwqdXabEQ9jsvdI/NPBqlvopLk8SFd/w5iVcUIkIFdHQYCU49merCTkkz47DKvSATMaVRfxkljGI+nq6EaG6Y7SzgVYhuY/Ulg0z8fM2AIDT9S+IPiewBUIrqm4dirtr1U9lZMkcnora3f+ZV/Z3j+9MZubKslkW9r/Rw+JPmc8JuMwABbkAkKaaJgARhITKR0YMYud7g/RQ4OMWohwAh5c4EfXg/sU6OuJDUWx2or8+5sKnoImWJgvVooc7XaKyE4CSNRMjAyTCuKBAmoDQtqeNOwd3VG2wdiEQtd5JAazR/BiRfqEVaNxc3/pgirszEIxoJtzZ2gDts0+1JKusw5Npxq+BI0PSzcWQWVgzcxC7aseJU04qvSD9h3GCNcEtm31TSCqMPqVvtFfC/m8Cn2G/hoUKnHkNJsYyvBCn5TgD04VtnVddClq8IRneJecRUWq/c0dowyNqiMll7O6178opMTpHcVUOvCxQw7BGdOfUVYc7/jSrg7NbKo2KFFCA6ZRvqoC/gkkMxx61+GkDmoLFgAKMO2tAm4S8oKyeDXna7SFl3pgE0c2eSjJJDlelBTtO6YTYX5KNEqWMLKVTWob2A== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR11MB3995.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(376002)(136003)(366004)(396003)(39860400002)(346002)(230922051799003)(1800799012)(64100799003)(186009)(451199024)(122000001)(478600001)(9686003)(71200400001)(8936002)(9326002)(8676002)(4326008)(76116006)(66446008)(66556008)(64756008)(66946007)(66476007)(38100700002)(110136005)(316002)(26005)(83380400001)(7696005)(6506007)(53546011)(82960400001)(55016003)(966005)(166002)(52536014)(2906002)(5660300002)(30864003)(41300700001)(86362001)(38070700009)(33656002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VndMR0x0UFliTmlmdTJlcG93bGZLQytLcUczU0UxUUNrSG1sV3hwVXV4VFJo?= =?utf-8?B?OTZjcS83eElUZUovc2gwZXN0bWFuMDByQmtDdkdtdzRtTkNwTy9neGRUR2NB?= =?utf-8?B?WlJUMU1oWEM2T3JKUlRiVnQxeEtvL1ltVlJYR3lXQUZGRDJ1NnhpN0gzV05J?= =?utf-8?B?bzRqTkQyY05oUlRVeHdmVlh5TTVOcksyRU95Q2t4V2lzV0F5UzRsTmJRcXBl?= =?utf-8?B?am1kajk1aUdUQlltN2t0Qk1qRGxUeTNMdGdCaXoyUVhXaSs2cHVyQ0RPRm93?= =?utf-8?B?RkI5U2dQMnJkbUtTQ3hEeGhxdkNYeVU3ZjhwNDFMMHhtb2pmamQ1LzZDVHlj?= =?utf-8?B?YlpiWU9Pc1ZJTWRHOWdqUE51MFQzRnQyNGJ4VlphU0x1NUlnK2dmN2VkRG5I?= =?utf-8?B?MVdOaUtpYmNQK1NEYTlpdmVtN3JKTjRLcGh5aFZvTFpGNEhNQUJDbjJMQmRY?= =?utf-8?B?RFFxRUh5cEhUc0tMbXY4b04wbmFwdFRpUUxQaU42amUycjBaemx1a1hpUmEx?= =?utf-8?B?NWRORVNNYTNzTEhCekFUakl5enRFUGNVQzRaVGUwbW42ZVIyRVdzNS9ZeHZx?= =?utf-8?B?NndmVHZwNXVHRVFYK0lsWi9DZmFsV2FrVnkrRThJK2RoNFZEQjNYMUREOGll?= =?utf-8?B?U1d1NG9jM3NMWTF4TFFvSjVGOWRUTStuUzlwWklsT3VSaG1oem16KzRSTnJj?= =?utf-8?B?aDVmZDBkSGxzZEtEaEtRTjNZakxYanJvTTNGekhrNXJRK2hGY0FWa2FIREww?= =?utf-8?B?UlNlVUZCdWlVbzhZVTVlZmwyNm5RaFV4cGdaUldHcjNOVTVVUTFzWXpkSGV3?= =?utf-8?B?MkR4bHQwbkduV0o4UEQveERGTTZFZHNuUXFTM09yT3NBNmJOVzlzM25LYktJ?= =?utf-8?B?RWtWZndraE1kTUZEQUtYdFUyaE4zZDExSlVXSzB0RTh1QkdPbVlqcXVrd2dR?= =?utf-8?B?K3JiSHZBQllDdFJRZkpWa1JDZmFOVlJJUTNTcWFlK2o1THBqVFhGTlgyNDRV?= =?utf-8?B?Y2JuME5rYWhEMU5lRmdxbXkvWUw0d3JtYmx4ZEI5aWZjTWNubng3N0ZSL1Iy?= =?utf-8?B?eVJrSXRJY3JOR214S2xmeUFMbkN4TG56SHZYWG9xUSt0VnpEK0J4NDNPUmdu?= =?utf-8?B?L1M0eWNVMWIwTE1qTlE3bzVOY0ZNcURabXhMWmJRZFdVaHd0cUNNNjkzR2ZK?= =?utf-8?B?S092MnJRUmdMV0Mvb2d2Qm4vUjREalM5YkJKNnRNajNwRGV0RHducWU1RGJu?= =?utf-8?B?WCs1RURhZGo2ZVBybllHcnJDTTlGdFhLQncvUmZsNTEva2FrenA2aXNoa2s1?= =?utf-8?B?dkg3a280cW5Ib0Z6aDJoUkw0S0Zzek83T3NGcXZZLzBJT2xDU3pvOFNCYmlp?= =?utf-8?B?WmdDUGM4UC9BcEtJclBLOC8wTm9uV296L0RybDIyZUo1c1kza0VuNXBuSzNY?= =?utf-8?B?Y0lRbnYvSXV0STZTTks3WVA4bHRNZmZVZG82RDROQWM5OEpKSTdZbGRIMThn?= =?utf-8?B?ZkttdklCd3RnekxEdmNtZE1kZWY2MFc3Y01hWVVHL0cxRTZZWFRuR1VqS29h?= =?utf-8?B?VHpLUnUzMmFWMkNLN2VyWHZRMFZ0Rm45SCtRcW0weFF3YktvQkxzMEJPbjhV?= =?utf-8?B?K3lYbFpiZlE1YWRlNkVhWVd3UUJmYWM3T3NXSXN1M1hnVnBEeGlYRm5ORThR?= =?utf-8?B?Uml4NXFZZVdURG1nWlFxRkU4bGZKMXhwVjFLam5BcytPVUUyVjEwUWdoNVBp?= =?utf-8?B?N3FnMmM0MTlQZmNmekZYMmFVRG1TTjAxUTQrWTRUMmtkMzh4Y1FrdWJWMi9u?= =?utf-8?B?Q2JMSjQwUzUzZHB4eHhVZXd5YlFwSXRPL0pCU2NFTkcybk9aMXQ4S0p6TE5J?= =?utf-8?B?UkhvalA1MWJiL2pIOTF4NEdGclo2RkhlbEpvQ0QzZHI0Rk1MR2ZxajdLVkRQ?= =?utf-8?B?eG9MemhyQTVRaDM0aEw5QlVQNlU1TkpZLzdMVE1zRkZrNlNidzNjTXE5QWRK?= =?utf-8?B?MGxRV1Y2MkIyUVJnSG91blFxYkR6d1laUlllZGF0MlhJNDVYTWdNeFh4NUJx?= =?utf-8?B?dDZHck90RW1ZNVdYd3F3NVVYaE41SkJBN3pMZ21OYUc0NUtkWnlNVmd5YjVx?= =?utf-8?B?cnFhZUgwcjI5bTdicXV6TWpGNkVRbDFURjdwcVdOZzd6Z2JDcFFMZzRGUEJ6?= =?utf-8?B?ZkE9PQ==?= Content-Type: multipart/alternative; boundary="_000_DM6PR11MB3995C6E2C2B150F8B982599FA285ADM6PR11MB3995namp_" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB3995.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7bc3f181-fc0d-42da-88f4-08dbf57d082a X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Dec 2023 10:29:15.9257 (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: 1u+7ea3uWtzevBl1GwVMxghAm9slRuebBqtzKnwkp+gOiOJwI8dvQr/fNJ0ebBVcf0ZAjNH4nFaTIaTaW6GOWSkCYpayexRHW9f7i9gd4TA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR11MB8164 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_DM6PR11MB3995C6E2C2B150F8B982599FA285ADM6PR11MB3995namp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTWFyeWFtLA0KDQpBcG9sb2dpZXMgZm9yIG1ha2luZyBpdCBjb25mdXNpbmcuDQoNCkFzIHBl ciB0aGUgYWZ4ZHAtcGx1Z2lucy1mb3Ita3ViZXJuZXRlcyBjb2RlIGl0IGxvb2tzIGxpa2UgdGhl IHVkc1BvZFBhdGggb3IgdWRzU29ja0RpclsxXSBhbmQgdWRzUG9kU29ja1sxXSBhcmUgY29uc3Rh bnQgYW5kIG5vdCBjaGFuZ2luZy4gT25seSB0aGUgaW50ZXJmYWNlIG5hbWUgaXMgY2hhbmdpbmcg YW5kIHdlIGFyZSBhbHJlYWR5IHBhc3NpbmcgdGhlIGludGVyZmFjZSBuYW1lIHRocm91Z2ggdGhl IGNvbW1hbmQgbGluZS4gU28gSSB3YXMgc3VnZ2VzdGluZyB3ZSBjYW4gd3JpdGUgYSBsb2dpYyB0 byBjcmVhdGUgc29jayBwYXRoIGZyb20gdGhlc2UgbG9naWMuDQoNCklmIEkgYW0gd3JvbmcgcGxl YXNlIGNvcnJlY3QgbWUsIElzbuKAmXQgdGhhdCB0aGUgbG9naWMgYWZ4ZHAtcGx1Z2lucy1mb3It a3ViZXJuZXRlcyBkb2luZz8gWzJdDQpUaGlzIGlzIG9ubHkgYSBzdWdnZXN0aW9ucy4NCg0KWzFd IGh0dHBzOi8vZ2l0aHViLmNvbS9pbnRlbC9hZnhkcC1wbHVnaW5zLWZvci1rdWJlcm5ldGVzL2Js b2IvbWFpbi9jb25zdGFudHMvY29uc3RhbnRzLmdvI0w4NA0KWzJdIGh0dHBzOi8vZ2l0aHViLmNv bS9pbnRlbC9hZnhkcC1wbHVnaW5zLWZvci1rdWJlcm5ldGVzL2Jsb2IvbWFpbi9pbnRlcm5hbC9k ZXZpY2VwbHVnaW4vcG9vbE1hbmFnZXJfdGVzdC5nbyNMOTkNCg0KSSBoYWQgYWRkZWQgMiBzbWFs bCBjb21tZW50IGVhcmxpZXIgaW4gdGhlIGNvZGUuDQoNCg0KUmVnYXJkcywNClNoaWJpbg0KRnJv bTogTWFyeWFtIFRhaGhhbiA8bXRhaGhhbkByZWRoYXQuY29tPg0KU2VudDogTW9uZGF5LCBEZWNl bWJlciA0LCAyMDIzIDY6NDEgUE0NClRvOiBLb2lra2FyYSBSZWVueSwgU2hpYmluIDxzaGliaW4u a29pa2thcmEucmVlbnlAaW50ZWwuY29tPjsgZmVycnVoLnlpZ2l0QGFtZC5jb207IHN0ZXBoZW5A bmV0d29ya3BsdW1iZXIub3JnOyBsaWh1aXNvbmdAaHVhd2VpLmNvbTsgZmVuZ2NoZW5nd2VuQGh1 YXdlaS5jb207IGxpdXlvbmdsb25nQGh1YXdlaS5jb20NCkNjOiBkZXZAZHBkay5vcmcNClN1Ympl Y3Q6IFJlOiBbdjJdIG5ldC9hZl94ZHA6IGVuYWJsZSBhIHNvY2sgcGF0aCBhbG9uZ3NpZGUgdXNl X2NuaQ0KDQpIaSBTaGliaW4NCg0KSSdtIG5vdCByZWFsbHkgc3VyZSB3aGF0IHlvdSBhcmUgc3Vn Z2VzdGluZywgaXMgdG8gbWFrZSBhbiBhc3N1bXB0aW9uIG9uIHRoZSBwYXRoIHBhcnQgd2hlcmUg dGhlIHNvY2tldCByZXNpZGVzIChha2EgaGFyZCBjb2RlIGl0KSBhbmQgdGhlbiB0cnkgdG8gYnVp bGQgdGhlIGZ1bGwgVURTIHBhdGggaW4gRFBESz8NCg0KWWVzIHRoZSBwbHVnaW4gaXMgdXNpbmcg Y29uc3RhbnRzIEFUTSBmb3IgY2VydGFpbiBwYXJ0cyBvZiB0aGUgVURTIHBhdGgsIGJ1dCB0aGF0 J3Mgbm90IHNheSB0aGF0IGl0J3Mgc29tZXRoaW5nIHRoYXQgd29uJ3QgYmVjb21lIGNvbmZpZ3Vy YWJsZSBsYXRlciBvbi4gU29tZW9uZSBtYXkgbm90IHdhbnQgdG8gdXNlICIvdG1wL2FmeGRwX2Rw LyIgYXMgdGhlIGJhc2UgZGlyZWN0b3J5LiBUaGVuIHdlJ2QgaGF2ZSB0byBjaGFuZ2UgRFBESydz IGltcGxlbWVudGF0aW9uIGFnYWluLiBUaGVzZSBhcmUgbm90IHJlYWxseSB0aGluZ3MgdGhhdCBh cmUgY29uZmlndXJlZCBieSBoYW5kIGFuZCBhcmUgZ2VuZXJhdGVkIGJ5IGluaXRpYWxpemF0aW9u IHNjcmlwdHMgKHR5cGljYWxseSkuIEkgd291bGQgcmF0aGVyIGJ1aWxkIHRoaXMgd2l0aCB0aGUg aWRlYSB0aGF0IHRoaW5ncyBjYW4gY2hhbmdlIGluIHRoZSBmdXR1cmUgd2l0aG91dCBoYXZpbmcg dG8gY2hhbmdlIHRoZSBEUERLIGltcGxlbWVudGF0aW9uIGFnYWluLg0KQlINCk1hcnlhbQ0KDQpP biAwNC8xMi8yMDIzIDE3OjE4LCBLb2lra2FyYSBSZWVueSwgU2hpYmluIHdyb3RlOg0KDQpIaSBN YXJ5YW0sDQoNCg0KDQpBcG9sb2dpZXMgZm9yIGFza2luZyB0aGlzIHF1ZXN0aW9uIGJpdCBsYXRl Lg0KDQpUaGUgVURTIHNvY2sgbmFtZSB3aWxsIGJlIGFmeGRwLnNvY2sgb25seSBhbmQgYWRkaXRp b24gZGlyZWN0b3IgaXMgY3JlYXRlZCBiZXR3ZWVuIHRoZSBzb2NrIG5hbWUgYW5kIHRoZSB1ZHMg ZmlsZXBhdGggKC90bXAvYWZ4ZHBfZHAvPGludGVyZmFjZSBuYW1lPi9hZnhkcC5zb2NrKS4NCg0K DQoNCkFzIHBlciB0aGUgY29tbWFuZCAiIC0tdmRldiBuZXRfYWZfeGRwMCxpZmFjZT08aW50ZXJm YWNlIG5hbWU+LHVzZV9jbmk9MSx1ZHNfcGF0aD0vdG1wL2FmeGRwX2RwLzxpbnRlcmZhY2UgbmFt ZT4vYWZ4ZHAuc29jayINCg0KV2UgYXJlIGFscmVhZHkgcGFzc2luZyB0aGUgaW50ZXJmYWNlIG5h bWUoaWZhY2U9PGludGVyZmFjZSBuYW1lPiAuIFNvIGNhbid0IHdlIGNyZWF0ZSB0aGUgdWRzX3Bh dGggaW5zaWRlIHRoZSBwcm9ncmFtIHVkc19wYXRoPSIvdG1wL2FmeGRwX2RwLyIrIGlmYWNlICsg ImFmeGRwLnNvY2siDQoNCg0KDQoNCg0KSWYgeW91IGNoZWNrIHRoZSBjb2RlIGFmeGRwLXBsdWdp bnMtZm9yLWt1YmVybmV0ZXMgY29uc3RhbnRzLmdvIFsxXSB0aGV5IHN0aWxsIGhhdmUgdGhlIGNv bnN0YW50cyBhbmQgYWxzbyB0aGV5IGFyZSB1c2luZyB0aGVzZSBjb25zdGFudHMgdG8gY3JlYXRl IHRoZSBwYXRoIFsyXQ0KDQoNCg0KWzFdIGh0dHBzOi8vZ2l0aHViLmNvbS9pbnRlbC9hZnhkcC1w bHVnaW5zLWZvci1rdWJlcm5ldGVzL2Jsb2IvbWFpbi9jb25zdGFudHMvY29uc3RhbnRzLmdvI0w4 NA0KDQpbMl0gaHR0cHM6Ly9naXRodWIuY29tL2ludGVsL2FmeGRwLXBsdWdpbnMtZm9yLWt1YmVy bmV0ZXMvYmxvYi9tYWluL2ludGVybmFsL2RldmljZXBsdWdpbi9wb29sTWFuYWdlcl90ZXN0Lmdv I0w3OA0KDQoNCg0KSWYgd2UgYXJlIGFibGUgdG8gY3JlYXRlIHBhdGggaW4gdGhlIHByb2dyYW0g dGhlbiB1c2VyIHdvbid0IGhhdmUgdG8gcGFzcyBhbG9uZyBhcmd1bWVudCB2YWx1ZS4NCg0KDQoN ClJlZ2FyZHMsDQoNClNoaWJpbg0KDQoNCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCg0K RnJvbTogTWFyeWFtIFRhaGhhbiA8bXRhaGhhbkByZWRoYXQuY29tPjxtYWlsdG86bXRhaGhhbkBy ZWRoYXQuY29tPg0KDQpTZW50OiBNb25kYXksIERlY2VtYmVyIDQsIDIwMjMgMTA6MzEgQU0NCg0K VG86IGZlcnJ1aC55aWdpdEBhbWQuY29tPG1haWx0bzpmZXJydWgueWlnaXRAYW1kLmNvbT47IHN0 ZXBoZW5AbmV0d29ya3BsdW1iZXIub3JnPG1haWx0bzpzdGVwaGVuQG5ldHdvcmtwbHVtYmVyLm9y Zz47DQoNCmxpaHVpc29uZ0BodWF3ZWkuY29tPG1haWx0bzpsaWh1aXNvbmdAaHVhd2VpLmNvbT47 IGZlbmdjaGVuZ3dlbkBodWF3ZWkuY29tPG1haWx0bzpmZW5nY2hlbmd3ZW5AaHVhd2VpLmNvbT47 DQoNCmxpdXlvbmdsb25nQGh1YXdlaS5jb208bWFpbHRvOmxpdXlvbmdsb25nQGh1YXdlaS5jb20+ OyBLb2lra2FyYSBSZWVueSwgU2hpYmluDQoNCjxzaGliaW4ua29pa2thcmEucmVlbnlAaW50ZWwu Y29tPjxtYWlsdG86c2hpYmluLmtvaWtrYXJhLnJlZW55QGludGVsLmNvbT4NCg0KQ2M6IGRldkBk cGRrLm9yZzxtYWlsdG86ZGV2QGRwZGsub3JnPjsgVGFoaGFuLCBNYXJ5YW0gPG10YWhoYW5AcmVk aGF0LmNvbT48bWFpbHRvOm10YWhoYW5AcmVkaGF0LmNvbT4NCg0KU3ViamVjdDogW3YyXSBuZXQv YWZfeGRwOiBlbmFibGUgYSBzb2NrIHBhdGggYWxvbmdzaWRlIHVzZV9jbmkNCg0KDQoNCldpdGgg dGhlIG9yaWdpbmFsICd1c2VfY25pJyBpbXBsZW1lbnRhdGlvbiwgKHVzaW5nIGEgaGFyZGNvZGVk IHNvY2tldCByYXRoZXINCg0KdGhhbiBhIGNvbmZpZ3VyYWJsZSBvbmUpLCBpZiBhIHNpbmdsZSBw b2QgaXMgcmVxdWVzdGluZyBtdWx0aXBsZSBuZXQgZGV2aWNlcw0KDQphbmQgdGhlc2UgZGV2aWNl cyBhcmUgZnJvbSBkaWZmZXJlbnQgcG9vbHMsIHRoZW4gdGhlIGNvbnRhaW5lciBhdHRlbXB0cyB0 bw0KDQptb3VudCBhbGwgdGhlIG5ldGRldiBVRFNlcyBpbiB0aGUgcG9kIGFzIC90bXAvYWZ4ZHAu c29jay4gV2hpY2ggbWVhbnMNCg0KdGhhdCBhdCBiZXN0IG9ubHkgMSBuZXRkZXYgd2lsbCBoYW5k c2hha2UgY29ycmVjdGx5IHdpdGggdGhlIEFGX1hEUCBEUC4gVGhpcw0KDQpwYXRjaCBhZGRyZXNz ZXMgdGhpcyBieSBtYWtpbmcgdGhlIHNvY2tldCBwYXJhbWV0ZXIgY29uZmlndXJhYmxlIGFsb25n c2lkZQ0KDQp0aGUgJ3VzZV9jbmknIHBhcmFtLg0KDQpUZXN0ZWQgd2l0aCB0aGUgQUZfWERQIERQ IENOSSBQUiA4MS4NCg0KDQoNCnYyOg0KDQoqIFJlbmFtZSBzb2NrX3BhdGggdG8gdWRzX3BhdGgu DQoNCiogVXBkYXRlIGRvY3VtZW50YXRpb24gdG8gcmVmbGVjdCB3aGVuIENBUF9CUEYgaXMgbmVl ZGVkLg0KDQoqIEZpeCB0ZXN0cG1kIGFyZ3VtZW50cyBpbiB0aGUgcHJvdmlkZWQgZXhhbXBsZSBm b3IgUG9kcy4NCg0KKiBVc2UgQUZfWERQIEFQSSB0byB1cGRhdGUgdGhlIHhza21hcCBlbnRyeS4N Cg0KDQoNClNpZ25lZC1vZmYtYnk6IE1hcnlhbSBUYWhoYW4gPG10YWhoYW5AcmVkaGF0LmNvbT48 bWFpbHRvOm10YWhoYW5AcmVkaGF0LmNvbT4NCg0KLS0tDQoNCiBkb2MvZ3VpZGVzL2hvd3RvL2Fm X3hkcF9jbmkucnN0ICAgICB8IDI0ICsrKysrKy0tLS0tDQoNCiBkcml2ZXJzL25ldC9hZl94ZHAv cnRlX2V0aF9hZl94ZHAuYyB8IDYyICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tDQoNCiAy IGZpbGVzIGNoYW5nZWQsIDU0IGluc2VydGlvbnMoKyksIDMyIGRlbGV0aW9ucygtKQ0KDQoNCg0K ZGlmZiAtLWdpdCBhL2RvYy9ndWlkZXMvaG93dG8vYWZfeGRwX2NuaS5yc3QNCg0KYi9kb2MvZ3Vp ZGVzL2hvd3RvL2FmX3hkcF9jbmkucnN0IGluZGV4IGExYTZkNWI5OWMuLjc4Mjk1MjZiNDAgMTAw NjQ0DQoNCi0tLSBhL2RvYy9ndWlkZXMvaG93dG8vYWZfeGRwX2NuaS5yc3QNCg0KKysrIGIvZG9j L2d1aWRlcy9ob3d0by9hZl94ZHBfY25pLnJzdA0KDQpAQCAtMzgsOSArMzgsMTAgQEAgVGhlIFhT S01BUCBpcyBhIEJQRiBtYXAgb2YgQUZfWERQIHNvY2tldHMgKFhTSykuDQoNCiBUaGUgY2xpZW50 IGNhbiB0aGVuIHByb2NlZWQgd2l0aCBjcmVhdGluZyBhbiBBRl9YRFAgc29ja2V0ICBhbmQgaW5z ZXJ0aW5nDQoNCnRoYXQgc29ja2V0IGludG8gdGhlIFhTS01BUCBwb2ludGVkIHRvIGJ5IHRoZSBk ZXNjcmlwdG9yLg0KDQoNCg0KLVRoZSBFQUwgdmRldiBhcmd1bWVudCBgYHVzZV9jbmlgYCBpcyB1 c2VkIHRvIGluZGljYXRlIHRoYXQgdGhlIHVzZXIgd2lzaGVzIC0NCg0KdG8gcnVuIHRoZSBQTUQg aW4gdW5wcml2aWxlZ2VkIG1vZGUgYW5kIHRvIHJlY2VpdmUgdGhlIFhTS01BUCBmaWxlDQoNCmRl c2NyaXB0b3IgLWZyb20gdGhlIENOSS4NCg0KK1RoZSBFQUwgdmRldiBhcmd1bWVudHMgYGB1c2Vf Y25pYGAgYW5kIGBgdWRzX3BhdGhgYCBhcmUgdXNlZCB0bw0KDQoraW5kaWNhdGUgdGhhdCB0aGUg dXNlciB3aXNoZXMgdG8gcnVuIHRoZSBQTUQgaW4gdW5wcml2aWxlZ2VkIG1vZGUgYW5kDQoNCit0 byByZWNlaXZlIHRoZSBYU0tNQVAgZmlsZSBkZXNjcmlwdG9yIGZyb20gdGhlIENOSS4NCg0KKw0K DQogV2hlbiB0aGlzIGZsYWcgaXMgc2V0LA0KDQogdGhlIGBgWFNLX0xJQkJQRl9GTEFHU19fSU5I SUJJVF9QUk9HX0xPQURgYCBsaWJicGYgZmxhZyAgc2hvdWxkIGJlDQoNCnVzZWQgd2hlbiBjcmVh dGluZyB0aGUgc29ja2V0IEBAIC00OSw3ICs1MCw3IEBAIEluc3RlYWQgdGhlIGxvYWRpbmcgaXMN Cg0KaGFuZGxlZCBieSB0aGUgQ05JLg0KDQoNCg0KIC4uIG5vdGU6Og0KDQoNCg0KLSAgIFRoZSBV bml4IERvbWFpbiBTb2NrZXQgZmlsZSBwYXRoIGFwcGVhciBpbiB0aGUgZW5kIHVzZXIgaXMNCg0K Ii90bXAvYWZ4ZHAuc29jayIuDQoNCisgICBUaGUgVW5peCBEb21haW4gU29ja2V0IGZpbGUgcGF0 aCBhcHBlYXJzIHRvIHRoZSBlbmQgdXNlciBhdA0KDQoiL3RtcC9hZnhkcF9kcC88bmV0ZGV2Pi9h ZnhkcC5zb2NrIi4NCg0KDQoNCg0KDQogUHJlcmVxdWlzaXRlcw0KDQpAQCAtMjIzLDggKzIyNCw3 IEBAIEhvd3RvIHJ1biBkcGRrLXRlc3RwbWQgd2l0aCBDTkkgcGx1Z2luOg0KDQogICAgICAgICAg c2VjdXJpdHlDb250ZXh0Og0KDQogICAgICAgICAgIGNhcGFiaWxpdGllczoNCg0KICAgICAgICAg ICAgICBhZGQ6DQoNCi0gICAgICAgICAgICAgICAtIENBUF9ORVRfUkFXDQoNCi0gICAgICAgICAg ICAgICAtIENBUF9CUEYNCg0KKyAgICAgICAgICAgICAgIC0gTkVUX1JBVw0KDQoNCg0KTmVlZCB0 byB1cGRhdGUgdGhlIDEuMy4gUHJlcmVxdWlzaXRlcy4NCg0KDQoNCg0KDQogICAgICAgICAgcmVz b3VyY2VzOg0KDQogICAgICAgICAgICByZXF1ZXN0czoNCg0KICAgICAgICAgICAgICBodWdlcGFn ZXMtMk1pOiAyR2kNCg0KQEAgLTIzOSwxNCArMjM5LDIwIEBAIEhvd3RvIHJ1biBkcGRrLXRlc3Rw bWQgd2l0aCBDTkkgcGx1Z2luOg0KDQoNCg0KICAgLi4gX3BvZC55YW1sOiBodHRwczovL2dpdGh1 Yi5jb20vaW50ZWwvYWZ4ZHAtcGx1Z2lucy1mb3ItDQoNCmt1YmVybmV0ZXMvYmxvYi92MC4wLjIv dGVzdC9lMmUvcG9kLTFjMWQueWFtbA0KDQoNCg0KKy4uIG5vdGU6Og0KDQorDQoNCisgICBGb3Ig S2VybmVsIHZlcnNpb25zIG9sZGVyIHRoYW4gNS4xOSBgQ0FQX0JQRmAgaXMgYWxzbyByZXF1aXJl ZCBpbg0KDQorICAgdGhlIGNvbnRhaW5lciBjYXBhYmlsaXRpZXMgc3RhbnphLg0KDQorDQoNCiAq IFJ1biBEUERLIHdpdGggYSBjb21tYW5kIGxpa2UgdGhlIGZvbGxvd2luZzoNCg0KDQoNCiAgIC4u IGNvZGUtYmxvY2s6OiBjb25zb2xlDQoNCg0KDQogICAgICBrdWJlY3RsIGV4ZWMgLWkgPFBvZCBu YW1lPiAtLWNvbnRhaW5lciA8Y29udGFpbmVycyBuYW1lPiAtLSBcDQoNCi0gICAgICAgICAgIC88 UGF0aD4vZHBkay10ZXN0cG1kIC1sIDAsMSAtLW5vLXBjaSBcDQoNCi0gICAgICAgICAgIC0tdmRl dj1uZXRfYWZfeGRwMCx1c2VfY25pPTEsaWZhY2U9PGludGVyZmFjZSBuYW1lPiBcDQoNCi0gICAg ICAgICAgIC0tIC0tbm8tbWxvY2thbGwgLS1pbi1tZW1vcnkNCg0KKyAgICAgICAgICAgLzxQYXRo Pi9kcGRrLXRlc3RwbWQgLWwgMC0yIC0tbm8tcGNpIC0tbWFpbi1sY29yZT0yIFwNCg0KKyAgICAg ICAgICAgLS12ZGV2IG5ldF9hZl94ZHAwLGlmYWNlPTxpbnRlcmZhY2UNCg0KbmFtZT4sdXNlX2Nu aT0xLHVkc19wYXRoPS90bXAvYWZ4ZHBfZHAvPGludGVyZmFjZSBuYW1lPi9hZnhkcC5zb2NrDQoN ClwNCg0KKyAgICAgICAgICAgLS12ZGV2IG5ldF9hZl94ZHAxLGlmYWNlPWU8aW50ZXJmYWNlDQoN Cm5hbWU+LHVzZV9jbmk9MSx1ZHNfcGF0aD0vdG1wL2FmeGRwX2RwLzxpbnRlcmZhY2UgbmFtZT4v YWZ4ZHAuc29jaw0KDQoNCg0KVGhlcmUgaXMgYSB0eXBvICIgaWZhY2U9ZTxpbnRlcmZhY2UgIiA9 PSAiaWZhY2U9PGludGVyZmFjZSINCg0KDQoNClwNCg0KKyAgICAgICAgICAgLS0gLWkgLS1hIC0t bmItY29yZXM9MiAtLXJ4cT0xIC0tdHhxPTENCg0KKyAtLWZvcndhcmQtbW9kZT1tYWNzd2FwOw0K DQoNCg0KIEZvciBmdXJ0aGVyIHJlZmVyZW5jZSBwbGVhc2UgdXNlIHRoZSBgZTJlYF8gdGVzdCBj YXNlIGluIGBBRl9YRFAgUGx1Z2luIGZvcg0KDQpLdWJlcm5ldGVzYF8NCg0KDQoNCmRpZmYgLS1n aXQgYS9kcml2ZXJzL25ldC9hZl94ZHAvcnRlX2V0aF9hZl94ZHAuYw0KDQpiL2RyaXZlcnMvbmV0 L2FmX3hkcC9ydGVfZXRoX2FmX3hkcC5jDQoNCmluZGV4IDM1M2M4Njg4ZWMuLjUwNWVkNmNmMWUg MTAwNjQ0DQoNCi0tLSBhL2RyaXZlcnMvbmV0L2FmX3hkcC9ydGVfZXRoX2FmX3hkcC5jDQoNCisr KyBiL2RyaXZlcnMvbmV0L2FmX3hkcC9ydGVfZXRoX2FmX3hkcC5jDQoNCkBAIC04OCw3ICs4OCw2 IEBAIFJURV9MT0dfUkVHSVNURVJfREVGQVVMVChhZl94ZHBfbG9ndHlwZSwNCg0KTk9USUNFKTsN Cg0KICNkZWZpbmUgVURTX01BWF9DTURfTEVOICAgICAgICAgICAgICAgICA2NA0KDQogI2RlZmlu ZSBVRFNfTUFYX0NNRF9SRVNQICAgICAgICAxMjgNCg0KICNkZWZpbmUgVURTX1hTS19NQVBfRkRf TVNHICAgICAgICAgICAgICAiL3hza19tYXBfZmQiDQoNCi0jZGVmaW5lIFVEU19TT0NLICAgICAg ICAgICAgICAgICIvdG1wL2FmeGRwLnNvY2siDQoNCiAjZGVmaW5lIFVEU19DT05ORUNUX01TRyAg ICAgICAgICAgICAgICAgIi9jb25uZWN0Ig0KDQogI2RlZmluZSBVRFNfSE9TVF9PS19NU0cgICAg ICAgICAgICAgICAgICIvaG9zdF9vayINCg0KICNkZWZpbmUgVURTX0hPU1RfTkFLX01TRyAgICAg ICAgIi9ob3N0X25hayINCg0KQEAgLTE3MSw2ICsxNzAsNyBAQCBzdHJ1Y3QgcG1kX2ludGVybmFs cyB7DQoNCiAgYm9vbCBjdXN0b21fcHJvZ19jb25maWd1cmVkOw0KDQogIGJvb2wgZm9yY2VfY29w eTsNCg0KICBib29sIHVzZV9jbmk7DQoNCisgY2hhciB1ZHNfcGF0aFtQQVRIX01BWF07DQoNCiAg c3RydWN0IGJwZl9tYXAgKm1hcDsNCg0KDQoNCiAgc3RydWN0IHJ0ZV9ldGhlcl9hZGRyIGV0aF9h ZGRyOw0KDQpAQCAtMTkxLDYgKzE5MSw3IEBAIHN0cnVjdCBwbWRfcHJvY2Vzc19wcml2YXRlIHsN Cg0KICNkZWZpbmUgRVRIX0FGX1hEUF9CVURHRVRfQVJHICAgICAgICAgICAgICAgICAgImJ1c3lf YnVkZ2V0Ig0KDQogI2RlZmluZSBFVEhfQUZfWERQX0ZPUkNFX0NPUFlfQVJHICAgICAgICAgICAg ICAiZm9yY2VfY29weSINCg0KICNkZWZpbmUgRVRIX0FGX1hEUF9VU0VfQ05JX0FSRyAgICAgICAg ICAgICAgICAgInVzZV9jbmkiDQoNCisjZGVmaW5lIEVUSF9BRl9YRFBfVVNFX0NOSV9VRFNfUEFU SF9BUkcgInVkc19wYXRoIg0KDQoNCg0KIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3QgdmFsaWRf YXJndW1lbnRzW10gPSB7DQoNCiAgRVRIX0FGX1hEUF9JRkFDRV9BUkcsDQoNCkBAIC0yMDEsNiAr MjAyLDcgQEAgc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCB2YWxpZF9hcmd1bWVudHNbXSA9IHsN Cg0KICBFVEhfQUZfWERQX0JVREdFVF9BUkcsDQoNCiAgRVRIX0FGX1hEUF9GT1JDRV9DT1BZX0FS RywNCg0KICBFVEhfQUZfWERQX1VTRV9DTklfQVJHLA0KDQorIEVUSF9BRl9YRFBfVVNFX0NOSV9V RFNfUEFUSF9BUkcsDQoNCiAgTlVMTA0KDQogfTsNCg0KDQoNCkBAIC0xMzUxLDcgKzEzNTMsNyBA QCBjb25maWd1cmVfcHJlZmVycmVkX2J1c3lfcG9sbChzdHJ1Y3QNCg0KcGt0X3J4X3F1ZXVlICpy eHEpICB9DQoNCg0KDQogc3RhdGljIGludA0KDQotaW5pdF91ZHNfc29jayhzdHJ1Y3Qgc29ja2Fk ZHJfdW4gKnNlcnZlcikNCg0KK2luaXRfdWRzX3NvY2soc3RydWN0IHNvY2thZGRyX3VuICpzZXJ2 ZXIsIGNvbnN0IGNoYXIgKnVkc19wYXRoKQ0KDQogew0KDQogIGludCBzb2NrOw0KDQoNCg0KQEAg LTEzNjIsNyArMTM2NCw3IEBAIGluaXRfdWRzX3NvY2soc3RydWN0IHNvY2thZGRyX3VuICpzZXJ2 ZXIpDQoNCiAgfQ0KDQoNCg0KICBzZXJ2ZXItPnN1bl9mYW1pbHkgPSBBRl9VTklYOw0KDQotIHN0 cmxjcHkoc2VydmVyLT5zdW5fcGF0aCwgVURTX1NPQ0ssIHNpemVvZihzZXJ2ZXItPnN1bl9wYXRo KSk7DQoNCisgc3RybGNweShzZXJ2ZXItPnN1bl9wYXRoLCB1ZHNfcGF0aCwgc2l6ZW9mKHNlcnZl ci0+c3VuX3BhdGgpKTsNCg0KDQoNCiAgaWYgKGNvbm5lY3Qoc29jaywgKHN0cnVjdCBzb2NrYWRk ciAqKXNlcnZlciwgc2l6ZW9mKHN0cnVjdA0KDQpzb2NrYWRkcl91bikpIDwgMCkgew0KDQogICAg ICAgICAgY2xvc2Uoc29jayk7DQoNCkBAIC0xMzgyLDcgKzEzODQsNyBAQCBzdHJ1Y3QgbXNnX2lu dGVybmFsIHsgIH07DQoNCg0KDQogc3RhdGljIGludA0KDQotc2VuZF9tc2coaW50IHNvY2ssIGNo YXIgKnJlcXVlc3QsIGludCAqZmQpDQoNCitzZW5kX21zZyhpbnQgc29jaywgY2hhciAqcmVxdWVz dCwgaW50ICpmZCwgY29uc3QgY2hhciAqdWRzX3BhdGgpDQoNCiB7DQoNCiAgaW50IHNuZDsNCg0K ICBzdHJ1Y3QgaW92ZWMgaW92Ow0KDQpAQCAtMTM5Myw3ICsxMzk1LDcgQEAgc2VuZF9tc2coaW50 IHNvY2ssIGNoYXIgKnJlcXVlc3QsIGludCAqZmQpDQoNCg0KDQogIG1lbXNldCgmZHN0LCAwLCBz aXplb2YoZHN0KSk7DQoNCiAgZHN0LnN1bl9mYW1pbHkgPSBBRl9VTklYOw0KDQotIHN0cmxjcHko ZHN0LnN1bl9wYXRoLCBVRFNfU09DSywgc2l6ZW9mKGRzdC5zdW5fcGF0aCkpOw0KDQorIHN0cmxj cHkoZHN0LnN1bl9wYXRoLCB1ZHNfcGF0aCwgc2l6ZW9mKGRzdC5zdW5fcGF0aCkpOw0KDQoNCg0K ICAvKiBJbml0aWFsaXplIG1lc3NhZ2UgaGVhZGVyIHN0cnVjdHVyZSAqLw0KDQogIG1lbXNldCgm bXNnaCwgMCwgc2l6ZW9mKG1zZ2gpKTsNCg0KQEAgLTE0NzEsNyArMTQ3Myw3IEBAIHJlYWRfbXNn KGludCBzb2NrLCBjaGFyICpyZXNwb25zZSwgc3RydWN0DQoNCnNvY2thZGRyX3VuICpzLCBpbnQg KmZkKQ0KDQoNCg0KIHN0YXRpYyBpbnQNCg0KIG1ha2VfcmVxdWVzdF9jbmkoaW50IHNvY2ssIHN0 cnVjdCBzb2NrYWRkcl91biAqc2VydmVyLCBjaGFyICpyZXF1ZXN0LA0KDQotICAgICAgICAgIGlu dCAqcmVxX2ZkLCBjaGFyICpyZXNwb25zZSwgaW50ICpvdXRfZmQpDQoNCisgICAgICAgICAgaW50 ICpyZXFfZmQsIGNoYXIgKnJlc3BvbnNlLCBpbnQgKm91dF9mZCwgY29uc3QgY2hhcg0KDQoqdWRz X3BhdGgpDQoNCiB7DQoNCiAgaW50IHJ2YWw7DQoNCg0KDQpAQCAtMTQ4Myw3ICsxNDg1LDcgQEAg bWFrZV9yZXF1ZXN0X2NuaShpbnQgc29jaywgc3RydWN0IHNvY2thZGRyX3VuDQoNCipzZXJ2ZXIs IGNoYXIgKnJlcXVlc3QsDQoNCiAgaWYgKHJlcV9mZCA9PSBOVUxMKQ0KDQogICAgICAgICAgcnZh bCA9IHdyaXRlKHNvY2ssIHJlcXVlc3QsIHN0cmxlbihyZXF1ZXN0KSk7DQoNCiAgZWxzZQ0KDQot ICAgICAgICAgcnZhbCA9IHNlbmRfbXNnKHNvY2ssIHJlcXVlc3QsIHJlcV9mZCk7DQoNCisgICAg ICAgICBydmFsID0gc2VuZF9tc2coc29jaywgcmVxdWVzdCwgcmVxX2ZkLCB1ZHNfcGF0aCk7DQoN Cg0KDQogIGlmIChydmFsIDwgMCkgew0KDQogICAgICAgICAgQUZfWERQX0xPRyhFUlIsICJXcml0 ZSBlcnJvciAlc1xuIiwgc3RyZXJyb3IoZXJybm8pKTsgQEANCg0KLTE1MDcsNyArMTUwOSw3IEBA IGNoZWNrX3Jlc3BvbnNlKGNoYXIgKnJlc3BvbnNlLCBjaGFyICpleHBfcmVzcCwgbG9uZw0KDQpz aXplKSAgfQ0KDQoNCg0KIHN0YXRpYyBpbnQNCg0KLWdldF9jbmlfZmQoY2hhciAqaWZfbmFtZSkN Cg0KK2dldF9jbmlfZmQoY2hhciAqaWZfbmFtZSwgY29uc3QgY2hhciAqdWRzX3BhdGgpDQoNCiB7 DQoNCiAgY2hhciByZXF1ZXN0W1VEU19NQVhfQ01EX0xFTl0sDQoNCnJlc3BvbnNlW1VEU19NQVhf Q01EX1JFU1BdOw0KDQogIGNoYXIgaG9zdG5hbWVbTUFYX0xPTkdfT1BUX1NaXSwNCg0KZXhwX3Jl c3BbVURTX01BWF9DTURfUkVTUF07IEBAIC0xNTIwLDE0ICsxNTIyLDE0IEBADQoNCmdldF9jbmlf ZmQoY2hhciAqaWZfbmFtZSkNCg0KICAgICAgICAgIHJldHVybiAtMTsNCg0KDQoNCiAgbWVtc2V0 KCZzZXJ2ZXIsIDAsIHNpemVvZihzZXJ2ZXIpKTsNCg0KLSBzb2NrID0gaW5pdF91ZHNfc29jaygm c2VydmVyKTsNCg0KKyBzb2NrID0gaW5pdF91ZHNfc29jaygmc2VydmVyLCB1ZHNfcGF0aCk7DQoN CiAgaWYgKHNvY2sgPCAwKQ0KDQogICAgICAgICAgcmV0dXJuIC0xOw0KDQoNCg0KICAvKiBJbml0 aWF0ZXMgaGFuZHNoYWtlIHRvIENOSSBzZW5kOiAvY29ubmVjdCxob3N0bmFtZSAqLw0KDQogIHNu cHJpbnRmKHJlcXVlc3QsIHNpemVvZihyZXF1ZXN0KSwgIiVzLCVzIiwgVURTX0NPTk5FQ1RfTVNH LA0KDQpob3N0bmFtZSk7DQoNCiAgbWVtc2V0KHJlc3BvbnNlLCAwLCBzaXplb2YocmVzcG9uc2Up KTsNCg0KLSBpZiAobWFrZV9yZXF1ZXN0X2NuaShzb2NrLCAmc2VydmVyLCByZXF1ZXN0LCBOVUxM LCByZXNwb25zZSwNCg0KJm91dF9mZCkgPCAwKSB7DQoNCisgaWYgKG1ha2VfcmVxdWVzdF9jbmko c29jaywgJnNlcnZlciwgcmVxdWVzdCwgTlVMTCwgcmVzcG9uc2UsDQoNCiZvdXRfZmQsDQoNCit1 ZHNfcGF0aCkgPCAwKSB7DQoNCiAgICAgICAgICBBRl9YRFBfTE9HKEVSUiwgIkVycm9yIGluIHBy b2Nlc3NpbmcgY21kIFslc11cbiIsDQoNCnJlcXVlc3QpOw0KDQogICAgICAgICAgZ290byBlcnJf Y2xvc2U7DQoNCiAgfQ0KDQpAQCAtMTU0MSw3ICsxNTQzLDcgQEAgZ2V0X2NuaV9mZChjaGFyICpp Zl9uYW1lKQ0KDQogIC8qIFJlcXVlc3QgZm9yICIvdmVyc2lvbiIgKi8NCg0KICBzdHJsY3B5KHJl cXVlc3QsIFVEU19WRVJTSU9OX01TRywgVURTX01BWF9DTURfTEVOKTsNCg0KICBtZW1zZXQocmVz cG9uc2UsIDAsIHNpemVvZihyZXNwb25zZSkpOw0KDQotIGlmIChtYWtlX3JlcXVlc3RfY25pKHNv Y2ssICZzZXJ2ZXIsIHJlcXVlc3QsIE5VTEwsIHJlc3BvbnNlLA0KDQomb3V0X2ZkKSA8IDApIHsN Cg0KKyBpZiAobWFrZV9yZXF1ZXN0X2NuaShzb2NrLCAmc2VydmVyLCByZXF1ZXN0LCBOVUxMLCBy ZXNwb25zZSwNCg0KJm91dF9mZCwNCg0KK3Vkc19wYXRoKSA8IDApIHsNCg0KICAgICAgICAgIEFG X1hEUF9MT0coRVJSLCAiRXJyb3IgaW4gcHJvY2Vzc2luZyBjbWQgWyVzXVxuIiwNCg0KcmVxdWVz dCk7DQoNCiAgICAgICAgICBnb3RvIGVycl9jbG9zZTsNCg0KICB9DQoNCkBAIC0xNTQ5LDcgKzE1 NTEsNyBAQCBnZXRfY25pX2ZkKGNoYXIgKmlmX25hbWUpDQoNCiAgLyogUmVxdWVzdCBmb3IgZmls ZSBkZXNjcmlwdG9yIGZvciBuZXRkZXYgbmFtZSovDQoNCiAgc25wcmludGYocmVxdWVzdCwgc2l6 ZW9mKHJlcXVlc3QpLCAiJXMsJXMiLA0KDQpVRFNfWFNLX01BUF9GRF9NU0csIGlmX25hbWUpOw0K DQogIG1lbXNldChyZXNwb25zZSwgMCwgc2l6ZW9mKHJlc3BvbnNlKSk7DQoNCi0gaWYgKG1ha2Vf cmVxdWVzdF9jbmkoc29jaywgJnNlcnZlciwgcmVxdWVzdCwgTlVMTCwgcmVzcG9uc2UsDQoNCiZv dXRfZmQpIDwgMCkgew0KDQorIGlmIChtYWtlX3JlcXVlc3RfY25pKHNvY2ssICZzZXJ2ZXIsIHJl cXVlc3QsIE5VTEwsIHJlc3BvbnNlLA0KDQomb3V0X2ZkLA0KDQordWRzX3BhdGgpIDwgMCkgew0K DQogICAgICAgICAgQUZfWERQX0xPRyhFUlIsICJFcnJvciBpbiBwcm9jZXNzaW5nIGNtZCBbJXNd XG4iLA0KDQpyZXF1ZXN0KTsNCg0KICAgICAgICAgIGdvdG8gZXJyX2Nsb3NlOw0KDQogIH0NCg0K QEAgLTE1NzEsNyArMTU3Myw3IEBAIGdldF9jbmlfZmQoY2hhciAqaWZfbmFtZSkNCg0KICAvKiBJ bml0aWF0ZSBjbG9zZSBjb25uZWN0aW9uICovDQoNCiAgc3RybGNweShyZXF1ZXN0LCBVRFNfRklO X01TRywgVURTX01BWF9DTURfTEVOKTsNCg0KICBtZW1zZXQocmVzcG9uc2UsIDAsIHNpemVvZihy ZXNwb25zZSkpOw0KDQotIGlmIChtYWtlX3JlcXVlc3RfY25pKHNvY2ssICZzZXJ2ZXIsIHJlcXVl c3QsIE5VTEwsIHJlc3BvbnNlLA0KDQomb3V0X2ZkKSA8IDApIHsNCg0KKyBpZiAobWFrZV9yZXF1 ZXN0X2NuaShzb2NrLCAmc2VydmVyLCByZXF1ZXN0LCBOVUxMLCByZXNwb25zZSwNCg0KJm91dF9m ZCwNCg0KK3Vkc19wYXRoKSA8IDApIHsNCg0KICAgICAgICAgIEFGX1hEUF9MT0coRVJSLCAiRXJy b3IgaW4gcHJvY2Vzc2luZyBjbWQgWyVzXVxuIiwNCg0KcmVxdWVzdCk7DQoNCiAgICAgICAgICBn b3RvIGVycl9jbG9zZTsNCg0KICB9DQoNCkBAIC0xNjk1LDE3ICsxNjk3LDE2IEBAIHhza19jb25m aWd1cmUoc3RydWN0IHBtZF9pbnRlcm5hbHMgKmludGVybmFscywNCg0Kc3RydWN0IHBrdF9yeF9x dWV1ZSAqcnhxLA0KDQogIH0NCg0KDQoNCiAgaWYgKGludGVybmFscy0+dXNlX2NuaSkgew0KDQot ICAgICAgICAgaW50IGVyciwgZmQsIG1hcF9mZDsNCg0KKyAgICAgICAgIGludCBlcnIsIG1hcF9m ZDsNCg0KDQoNCiAgICAgICAgICAvKiBnZXQgc29ja2V0IGZkIGZyb20gQ05JIHBsdWdpbiAqLw0K DQotICAgICAgICAgbWFwX2ZkID0gZ2V0X2NuaV9mZChpbnRlcm5hbHMtPmlmX25hbWUpOw0KDQor ICAgICAgICAgbWFwX2ZkID0gZ2V0X2NuaV9mZChpbnRlcm5hbHMtPmlmX25hbWUsIGludGVybmFs cy0NCg0KdWRzX3BhdGgpOw0KDQogICAgICAgICAgaWYgKG1hcF9mZCA8IDApIHsNCg0KICAgICAg ICAgICAgICAgICAgQUZfWERQX0xPRyhFUlIsICJGYWlsZWQgdG8gcmVjZWl2ZSBDTkkgcGx1Z2lu DQoNCmZkXG4iKTsNCg0KICAgICAgICAgICAgICAgICAgZ290byBvdXRfeHNrOw0KDQogICAgICAg ICAgfQ0KDQotICAgICAgICAgLyogZ2V0IHNvY2tldCBmZCAqLw0KDQotICAgICAgICAgZmQgPSB4 c2tfc29ja2V0X19mZChyeHEtPnhzayk7DQoNCi0gICAgICAgICBlcnIgPSBicGZfbWFwX3VwZGF0 ZV9lbGVtKG1hcF9mZCwgJnJ4cS0NCg0KeHNrX3F1ZXVlX2lkeCwgJmZkLCAwKTsNCg0KKw0KDQor ICAgICAgICAgZXJyID0geHNrX3NvY2tldF9fdXBkYXRlX3hza21hcChyeHEtPnhzaywgbWFwX2Zk KTsNCg0KICAgICAgICAgIGlmIChlcnIpIHsNCg0KICAgICAgICAgICAgICAgICAgQUZfWERQX0xP RyhFUlIsICJGYWlsZWQgdG8gaW5zZXJ0IHVucHJpdmlsZWdlZCB4c2sNCg0KaW4gbWFwLlxuIik7 DQoNCiAgICAgICAgICAgICAgICAgIGdvdG8gb3V0X3hzazsNCg0KQEAgLTIwMjMsNyArMjAyNCw4 IEBAIHhkcF9nZXRfY2hhbm5lbHNfaW5mbyhjb25zdCBjaGFyICppZl9uYW1lLCBpbnQNCg0KKm1h eF9xdWV1ZXMsICBzdGF0aWMgaW50ICBwYXJzZV9wYXJhbWV0ZXJzKHN0cnVjdCBydGVfa3Zhcmdz ICprdmxpc3QsIGNoYXINCg0KKmlmX25hbWUsIGludCAqc3RhcnRfcXVldWUsDQoNCiAgICAgICAg ICAgaW50ICpxdWV1ZV9jbnQsIGludCAqc2hhcmVkX3VtZW0sIGNoYXIgKnByb2dfcGF0aCwNCg0K LSAgICAgICAgICBpbnQgKmJ1c3lfYnVkZ2V0LCBpbnQgKmZvcmNlX2NvcHksIGludCAqdXNlX2Nu aSkNCg0KKyAgICAgICAgICBpbnQgKmJ1c3lfYnVkZ2V0LCBpbnQgKmZvcmNlX2NvcHksIGludCAq dXNlX2NuaSwNCg0KKyAgICAgICAgICBjaGFyICp1ZHNfcGF0aCkNCg0KIHsNCg0KICBpbnQgcmV0 Ow0KDQoNCg0KQEAgLTIwNjksNiArMjA3MSwxMSBAQCBwYXJzZV9wYXJhbWV0ZXJzKHN0cnVjdCBy dGVfa3ZhcmdzICprdmxpc3QsIGNoYXINCg0KKmlmX25hbWUsIGludCAqc3RhcnRfcXVldWUsDQoN CiAgaWYgKHJldCA8IDApDQoNCiAgICAgICAgICBnb3RvIGZyZWVfa3ZsaXN0Ow0KDQoNCg0KKyBy ZXQgPSBydGVfa3ZhcmdzX3Byb2Nlc3Moa3ZsaXN0LA0KDQpFVEhfQUZfWERQX1VTRV9DTklfVURT X1BBVEhfQVJHLA0KDQorICAgICAgICAgICAgICAgICAgICAgICAgICZwYXJzZV9wcm9nX2FyZywg dWRzX3BhdGgpOw0KDQorIGlmIChyZXQgPCAwKQ0KDQorICAgICAgICAgZ290byBmcmVlX2t2bGlz dDsNCg0KKw0KDQogZnJlZV9rdmxpc3Q6DQoNCiAgcnRlX2t2YXJnc19mcmVlKGt2bGlzdCk7DQoN CiAgcmV0dXJuIHJldDsNCg0KQEAgLTIxMDgsNyArMjExNSw3IEBAIHN0YXRpYyBzdHJ1Y3QgcnRl X2V0aF9kZXYgKiAgaW5pdF9pbnRlcm5hbHMoc3RydWN0DQoNCnJ0ZV92ZGV2X2RldmljZSAqZGV2 LCBjb25zdCBjaGFyICppZl9uYW1lLA0KDQogICAgICAgICBpbnQgc3RhcnRfcXVldWVfaWR4LCBp bnQgcXVldWVfY250LCBpbnQgc2hhcmVkX3VtZW0sDQoNCiAgICAgICAgIGNvbnN0IGNoYXIgKnBy b2dfcGF0aCwgaW50IGJ1c3lfYnVkZ2V0LCBpbnQgZm9yY2VfY29weSwNCg0KLSAgICAgICAgaW50 IHVzZV9jbmkpDQoNCisgICAgICAgICAgICBpbnQgdXNlX2NuaSwgY29uc3QgY2hhciAqdWRzX3Bh dGgpDQoNCiB7DQoNCiAgY29uc3QgY2hhciAqbmFtZSA9IHJ0ZV92ZGV2X2RldmljZV9uYW1lKGRl dik7DQoNCiAgY29uc3QgdW5zaWduZWQgaW50IG51bWFfbm9kZSA9IGRldi0+ZGV2aWNlLm51bWFf bm9kZTsgQEAgLQ0KDQoyMTM4LDYgKzIxNDUsNyBAQCBpbml0X2ludGVybmFscyhzdHJ1Y3QgcnRl X3ZkZXZfZGV2aWNlICpkZXYsIGNvbnN0IGNoYXINCg0KKmlmX25hbWUsDQoNCiAgaW50ZXJuYWxz LT5zaGFyZWRfdW1lbSA9IHNoYXJlZF91bWVtOw0KDQogIGludGVybmFscy0+Zm9yY2VfY29weSA9 IGZvcmNlX2NvcHk7DQoNCiAgaW50ZXJuYWxzLT51c2VfY25pID0gdXNlX2NuaTsNCg0KKyBzdHJs Y3B5KGludGVybmFscy0+dWRzX3BhdGgsIHVkc19wYXRoLCBQQVRIX01BWCk7DQoNCg0KDQogIGlm ICh4ZHBfZ2V0X2NoYW5uZWxzX2luZm8oaWZfbmFtZSwgJmludGVybmFscy0+bWF4X3F1ZXVlX2Nu dCwNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgJmludGVybmFscy0+Y29tYmluZWRfcXVl dWVfY250KSkgeyBAQCAtDQoNCjIzMjgsNiArMjMzNiw3IEBAIHJ0ZV9wbWRfYWZfeGRwX3Byb2Jl KHN0cnVjdCBydGVfdmRldl9kZXZpY2UgKmRldikNCg0KICBpbnQgYnVzeV9idWRnZXQgPSAtMSwg cmV0Ow0KDQogIGludCBmb3JjZV9jb3B5ID0gMDsNCg0KICBpbnQgdXNlX2NuaSA9IDA7DQoNCisg Y2hhciB1ZHNfcGF0aFtQQVRIX01BWF0gPSB7J1wwJ307DQoNCiAgc3RydWN0IHJ0ZV9ldGhfZGV2 ICpldGhfZGV2ID0gTlVMTDsNCg0KICBjb25zdCBjaGFyICpuYW1lID0gcnRlX3ZkZXZfZGV2aWNl X25hbWUoZGV2KTsNCg0KDQoNCkBAIC0yMzcwLDcgKzIzNzksNyBAQCBydGVfcG1kX2FmX3hkcF9w cm9iZShzdHJ1Y3QgcnRlX3ZkZXZfZGV2aWNlDQoNCipkZXYpDQoNCg0KDQogIGlmIChwYXJzZV9w YXJhbWV0ZXJzKGt2bGlzdCwgaWZfbmFtZSwgJnhza19zdGFydF9xdWV1ZV9pZHgsDQoNCiAgICAg ICAgICAgICAgICAgICAgICAgJnhza19xdWV1ZV9jbnQsICZzaGFyZWRfdW1lbSwgcHJvZ19wYXRo LA0KDQotICAgICAgICAgICAgICAgICAgICAgICZidXN5X2J1ZGdldCwgJmZvcmNlX2NvcHksICZ1 c2VfY25pKSA8IDApIHsNCg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAmYnVzeV9idWRnZXQs ICZmb3JjZV9jb3B5LCAmdXNlX2NuaSwNCg0KdWRzX3BhdGgpIDwgMCkgew0KDQogICAgICAgICAg QUZfWERQX0xPRyhFUlIsICJJbnZhbGlkIGt2YXJncyB2YWx1ZVxuIik7DQoNCiAgICAgICAgICBy ZXR1cm4gLUVJTlZBTDsNCg0KICB9DQoNCkBAIC0yMzg3LDYgKzIzOTYsMTIgQEAgcnRlX3BtZF9h Zl94ZHBfcHJvYmUoc3RydWN0IHJ0ZV92ZGV2X2RldmljZQ0KDQoqZGV2KQ0KDQogICAgICAgICAg ICAgICAgICByZXR1cm4gLUVJTlZBTDsNCg0KICB9DQoNCg0KDQorIGlmICh1c2VfY25pICYmICFz dHJubGVuKHVkc19wYXRoLCBQQVRIX01BWCkpIHsNCg0KKyAgICAgICAgIEFGX1hEUF9MT0coRVJS LCAiV2hlbiAnJXMnIHBhcmFtZXRlciBpcyB1c2VkLCAnJXMnIG11c3QNCg0KYWxzbyBiZSBwcm92 aWRlZFxuIiwNCg0KKyAgICAgICAgICAgICAgICAgRVRIX0FGX1hEUF9VU0VfQ05JX0FSRywNCg0K RVRIX0FGX1hEUF9VU0VfQ05JX1VEU19QQVRIX0FSRyk7DQoNCisgICAgICAgICAgICAgICAgIHJl dHVybiAtRUlOVkFMOw0KDQorIH0NCg0KKw0KDQogIGlmIChzdHJsZW4oaWZfbmFtZSkgPT0gMCkg ew0KDQogICAgICAgICAgQUZfWERQX0xPRyhFUlIsICJOZXR3b3JrIGludGVyZmFjZSBtdXN0IGJl DQoNCnNwZWNpZmllZFxuIik7DQoNCiAgICAgICAgICByZXR1cm4gLUVJTlZBTDsNCg0KQEAgLTI0 MTAsNyArMjQyNSw3IEBAIHJ0ZV9wbWRfYWZfeGRwX3Byb2JlKHN0cnVjdCBydGVfdmRldl9kZXZp Y2UNCg0KKmRldikNCg0KDQoNCiAgZXRoX2RldiA9IGluaXRfaW50ZXJuYWxzKGRldiwgaWZfbmFt ZSwgeHNrX3N0YXJ0X3F1ZXVlX2lkeCwNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICB4c2tf cXVldWVfY250LCBzaGFyZWRfdW1lbSwgcHJvZ19wYXRoLA0KDQotICAgICAgICAgICAgICAgICAg ICAgICAgIGJ1c3lfYnVkZ2V0LCBmb3JjZV9jb3B5LCB1c2VfY25pKTsNCg0KKyAgICAgICAgICAg ICAgICAgICAgICAgICBidXN5X2J1ZGdldCwgZm9yY2VfY29weSwgdXNlX2NuaSwNCg0KdWRzX3Bh dGgpOw0KDQogIGlmIChldGhfZGV2ID09IE5VTEwpIHsNCg0KICAgICAgICAgIEFGX1hEUF9MT0co RVJSLCAiRmFpbGVkIHRvIGluaXQgaW50ZXJuYWxzXG4iKTsNCg0KICAgICAgICAgIHJldHVybiAt MTsNCg0KQEAgLTI0NzEsNCArMjQ4Niw1IEBADQoNClJURV9QTURfUkVHSVNURVJfUEFSQU1fU1RS SU5HKG5ldF9hZl94ZHAsDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICJ4ZHBfcHJvZz08c3Ry aW5nPiAiDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICJidXN5X2J1ZGdldD08aW50PiAiDQoN CiAgICAgICAgICAgICAgICAgICAgICAgICJmb3JjZV9jb3B5PTxpbnQ+ICINCg0KLSAgICAgICAg ICAgICAgICAgICAgICAgInVzZV9jbmk9PGludD4gIik7DQoNCisgICAgICAgICAgICAgICAgICAg ICAgICJ1c2VfY25pPTxpbnQ+ICINCg0KKyAgICAgICAgICAgICAgICAgICAgICAgInVkc19wYXRo PTxzdHJpbmc+ICIpOw0KDQotLQ0KDQoyLjQxLjANCg0KDQoNCg0K --_000_DM6PR11MB3995C6E2C2B150F8B982599FA285ADM6PR11MB3995namp_ Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6 IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1m YWNlDQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7DQoJcGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAy IDQ7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseTpDb25zb2xhczsNCglwYW5vc2UtMToyIDEx IDYgOSAyIDIgNCAzIDIgNDt9DQovKiBTdHlsZSBEZWZpbml0aW9ucyAqLw0KcC5Nc29Ob3JtYWws IGxpLk1zb05vcm1hbCwgZGl2Lk1zb05vcm1hbA0KCXttYXJnaW46MGluOw0KCWZvbnQtc2l6ZTox MS4wcHQ7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7fQ0KYTpsaW5rLCBzcGFu Lk1zb0h5cGVybGluaw0KCXttc28tc3R5bGUtcHJpb3JpdHk6OTk7DQoJY29sb3I6Ymx1ZTsNCgl0 ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30NCnByZQ0KCXttc28tc3R5bGUtcHJpb3JpdHk6OTk7 DQoJbXNvLXN0eWxlLWxpbms6IkhUTUwgUHJlZm9ybWF0dGVkIENoYXIiOw0KCW1hcmdpbjowaW47 DQoJZm9udC1zaXplOjEwLjBwdDsNCglmb250LWZhbWlseToiQ291cmllciBOZXciO30NCnNwYW4u SFRNTFByZWZvcm1hdHRlZENoYXINCgl7bXNvLXN0eWxlLW5hbWU6IkhUTUwgUHJlZm9ybWF0dGVk IENoYXIiOw0KCW1zby1zdHlsZS1wcmlvcml0eTo5OTsNCgltc28tc3R5bGUtbGluazoiSFRNTCBQ cmVmb3JtYXR0ZWQiOw0KCWZvbnQtZmFtaWx5OkNvbnNvbGFzO30NCnNwYW4uRW1haWxTdHlsZTIx DQoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFsLXJlcGx5Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJp IixzYW5zLXNlcmlmOw0KCWNvbG9yOndpbmRvd3RleHQ7fQ0KLk1zb0NocERlZmF1bHQNCgl7bXNv LXN0eWxlLXR5cGU6ZXhwb3J0LW9ubHk7DQoJZm9udC1zaXplOjEwLjBwdDsNCgltc28tbGlnYXR1 cmVzOm5vbmU7fQ0KQHBhZ2UgV29yZFNlY3Rpb24xDQoJe3NpemU6OC41aW4gMTEuMGluOw0KCW1h cmdpbjoxLjBpbiAxLjBpbiAxLjBpbiAxLjBpbjt9DQpkaXYuV29yZFNlY3Rpb24xDQoJe3BhZ2U6 V29yZFNlY3Rpb24xO30NCi0tPjwvc3R5bGU+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+DQo8bzpz aGFwZWRlZmF1bHRzIHY6ZXh0PSJlZGl0IiBzcGlkbWF4PSIxMDI2IiAvPg0KPC94bWw+PCFbZW5k aWZdLS0+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+DQo8bzpzaGFwZWxheW91dCB2OmV4dD0iZWRp dCI+DQo8bzppZG1hcCB2OmV4dD0iZWRpdCIgZGF0YT0iMSIgLz4NCjwvbzpzaGFwZWxheW91dD48 L3htbD48IVtlbmRpZl0tLT4NCjwvaGVhZD4NCjxib2R5IGxhbmc9IkVOLUlFIiBsaW5rPSJibHVl IiB2bGluaz0icHVycGxlIiBzdHlsZT0id29yZC13cmFwOmJyZWFrLXdvcmQiPg0KPGRpdiBjbGFz cz0iV29yZFNlY3Rpb24xIj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJtc28t ZmFyZWFzdC1sYW5ndWFnZTpFTi1VUyI+SGkgTWFyeWFtLDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpF Ti1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+ PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOkVOLVVTIj5BcG9sb2dpZXMgZm9yIG1h a2luZyBpdCBjb25mdXNpbmcuPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05v cm1hbCI+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOkVOLVVTIj48bzpwPiZuYnNw OzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0ibXNv LWZhcmVhc3QtbGFuZ3VhZ2U6RU4tVVMiPkFzIHBlciB0aGUgYWZ4ZHAtcGx1Z2lucy1mb3Ita3Vi ZXJuZXRlcyBjb2RlIGl0IGxvb2tzIGxpa2UgdGhlIHVkc1BvZFBhdGggb3IgdWRzU29ja0Rpclsx XSBhbmQgdWRzUG9kU29ja1sxXSBhcmUgY29uc3RhbnQgYW5kIG5vdCBjaGFuZ2luZy4gT25seSB0 aGUgaW50ZXJmYWNlIG5hbWUgaXMgY2hhbmdpbmcgYW5kIHdlIGFyZSBhbHJlYWR5DQogcGFzc2lu ZyB0aGUgaW50ZXJmYWNlIG5hbWUgdGhyb3VnaCB0aGUgY29tbWFuZCBsaW5lLiBTbyBJIHdhcyBz dWdnZXN0aW5nIHdlIGNhbiB3cml0ZSBhIGxvZ2ljIHRvIGNyZWF0ZSBzb2NrIHBhdGggZnJvbSB0 aGVzZSBsb2dpYy48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48 c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+ PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFz dC1sYW5ndWFnZTpFTi1VUyI+SWYgSSBhbSB3cm9uZyBwbGVhc2UgY29ycmVjdCBtZSwgSXNu4oCZ dCB0aGF0IHRoZSBsb2dpYyBhZnhkcC1wbHVnaW5zLWZvci1rdWJlcm5ldGVzIGRvaW5nPyBbMl08 bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0i bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RU4tVVMiPlRoaXMgaXMgb25seSBhIHN1Z2dlc3Rpb25zLg0K PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9 Im1zby1mYXJlYXN0LWxhbmd1YWdlOkVOLVVTIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+ DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6 RU4tVVMiPlsxXSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vaW50ZWwvYWZ4ZHAtcGx1Z2lu cy1mb3Ita3ViZXJuZXRlcy9ibG9iL21haW4vY29uc3RhbnRzL2NvbnN0YW50cy5nbyNMODQiPg0K aHR0cHM6Ly9naXRodWIuY29tL2ludGVsL2FmeGRwLXBsdWdpbnMtZm9yLWt1YmVybmV0ZXMvYmxv Yi9tYWluL2NvbnN0YW50cy9jb25zdGFudHMuZ28jTDg0PC9hPjxvOnA+PC9vOnA+PC9zcGFuPjwv cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFn ZTpFTi1VUyI+WzJdIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9pbnRlbC9hZnhkcC1wbHVn aW5zLWZvci1rdWJlcm5ldGVzL2Jsb2IvbWFpbi9pbnRlcm5hbC9kZXZpY2VwbHVnaW4vcG9vbE1h bmFnZXJfdGVzdC5nbyNMOTkiPg0KaHR0cHM6Ly9naXRodWIuY29tL2ludGVsL2FmeGRwLXBsdWdp bnMtZm9yLWt1YmVybmV0ZXMvYmxvYi9tYWluL2ludGVybmFsL2RldmljZXBsdWdpbi9wb29sTWFu YWdlcl90ZXN0LmdvI0w5OTwvYT48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNv Tm9ybWFsIj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RU4tVVMiPjxvOnA+Jm5i c3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJt c28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUyI+SSBoYWQgYWRkZWQgMiBzbWFsbCBjb21tZW50IGVh cmxpZXIgaW4gdGhlIGNvZGUuDQo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNv Tm9ybWFsIj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RU4tVVMiPjxvOnA+Jm5i c3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJt c28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0K PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOkVO LVVTIj5SZWdhcmRzLDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi PjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUyI+U2hpYmluPG86cD48L286 cD48L3NwYW4+PC9wPg0KPGRpdiBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6c29saWQg Ymx1ZSAxLjVwdDtwYWRkaW5nOjBpbiAwaW4gMGluIDQuMHB0Ij4NCjxkaXY+DQo8ZGl2IHN0eWxl PSJib3JkZXI6bm9uZTtib3JkZXItdG9wOnNvbGlkICNFMUUxRTEgMS4wcHQ7cGFkZGluZzozLjBw dCAwaW4gMGluIDBpbiI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Yj48c3BhbiBsYW5nPSJFTi1V UyI+RnJvbTo8L3NwYW4+PC9iPjxzcGFuIGxhbmc9IkVOLVVTIj4gTWFyeWFtIFRhaGhhbiAmbHQ7 bXRhaGhhbkByZWRoYXQuY29tJmd0Ow0KPGJyPg0KPGI+U2VudDo8L2I+IE1vbmRheSwgRGVjZW1i ZXIgNCwgMjAyMyA2OjQxIFBNPGJyPg0KPGI+VG86PC9iPiBLb2lra2FyYSBSZWVueSwgU2hpYmlu ICZsdDtzaGliaW4ua29pa2thcmEucmVlbnlAaW50ZWwuY29tJmd0OzsgZmVycnVoLnlpZ2l0QGFt ZC5jb207IHN0ZXBoZW5AbmV0d29ya3BsdW1iZXIub3JnOyBsaWh1aXNvbmdAaHVhd2VpLmNvbTsg ZmVuZ2NoZW5nd2VuQGh1YXdlaS5jb207IGxpdXlvbmdsb25nQGh1YXdlaS5jb208YnI+DQo8Yj5D Yzo8L2I+IGRldkBkcGRrLm9yZzxicj4NCjxiPlN1YmplY3Q6PC9iPiBSZTogW3YyXSBuZXQvYWZf eGRwOiBlbmFibGUgYSBzb2NrIHBhdGggYWxvbmdzaWRlIHVzZV9jbmk8bzpwPjwvbzpwPjwvc3Bh bj48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8 L286cD48L3A+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+SGkgU2hpYmluPG86cD48L286 cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwv bzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPkknbSBub3QgcmVh bGx5IHN1cmUgd2hhdCB5b3UgYXJlIHN1Z2dlc3RpbmcsIGlzIHRvIG1ha2UgYW4gYXNzdW1wdGlv biBvbiB0aGUgcGF0aCBwYXJ0IHdoZXJlIHRoZSBzb2NrZXQgcmVzaWRlcyAoYWthIGhhcmQgY29k ZSBpdCkgYW5kIHRoZW4gdHJ5IHRvIGJ1aWxkIHRoZSBmdWxsIFVEUyBwYXRoIGluIERQREs/DQo8 bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+ Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+WWVz IHRoZSBwbHVnaW4gaXMgdXNpbmcgY29uc3RhbnRzIEFUTSBmb3IgY2VydGFpbiBwYXJ0cyBvZiB0 aGUgVURTIHBhdGgsIGJ1dCB0aGF0J3Mgbm90IHNheSB0aGF0IGl0J3Mgc29tZXRoaW5nIHRoYXQg d29uJ3QgYmVjb21lIGNvbmZpZ3VyYWJsZSBsYXRlciBvbi4gU29tZW9uZSBtYXkgbm90IHdhbnQg dG8gdXNlICZxdW90Oy90bXAvYWZ4ZHBfZHAvJnF1b3Q7IGFzIHRoZSBiYXNlIGRpcmVjdG9yeS4g VGhlbiB3ZSdkIGhhdmUNCiB0byBjaGFuZ2UgRFBESydzIGltcGxlbWVudGF0aW9uIGFnYWluLiBU aGVzZSBhcmUgbm90IHJlYWxseSB0aGluZ3MgdGhhdCBhcmUgY29uZmlndXJlZCBieSBoYW5kIGFu ZCBhcmUgZ2VuZXJhdGVkIGJ5IGluaXRpYWxpemF0aW9uIHNjcmlwdHMgKHR5cGljYWxseSkuIEkg d291bGQgcmF0aGVyIGJ1aWxkIHRoaXMgd2l0aCB0aGUgaWRlYSB0aGF0IHRoaW5ncyBjYW4gY2hh bmdlIGluIHRoZSBmdXR1cmUgd2l0aG91dCBoYXZpbmcgdG8gY2hhbmdlIHRoZQ0KIERQREsgaW1w bGVtZW50YXRpb24gYWdhaW4uIDxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xh c3M9Ik1zb05vcm1hbCI+QlI8YnI+DQpNYXJ5YW08bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRp dj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8 ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+T24gMDQvMTIvMjAyMyAxNzoxOCwgS29pa2thcmEg UmVlbnksIFNoaWJpbiB3cm90ZTo8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGJsb2NrcXVvdGUg c3R5bGU9Im1hcmdpbi10b3A6NS4wcHQ7bWFyZ2luLWJvdHRvbTo1LjBwdCI+DQo8cHJlPkhpIE1h cnlhbSw8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT48bzpwPiZuYnNwOzwvbzpwPjwvcHJlPg0KPHBy ZT5BcG9sb2dpZXMgZm9yIGFza2luZyB0aGlzIHF1ZXN0aW9uIGJpdCBsYXRlLiA8bzpwPjwvbzpw PjwvcHJlPg0KPHByZT5UaGUgVURTIHNvY2sgbmFtZSB3aWxsIGJlIGFmeGRwLnNvY2sgb25seSBh bmQgYWRkaXRpb24gZGlyZWN0b3IgaXMgY3JlYXRlZCBiZXR3ZWVuIHRoZSBzb2NrIG5hbWUgYW5k IHRoZSB1ZHMgZmlsZXBhdGggKC90bXAvYWZ4ZHBfZHAvJmx0O2ludGVyZmFjZSBuYW1lJmd0Oy9h ZnhkcC5zb2NrKS48bzpwPjwvbzpwPjwvcHJlPg0KPHByZT48bzpwPiZuYnNwOzwvbzpwPjwvcHJl Pg0KPHByZT5BcyBwZXIgdGhlIGNvbW1hbmQgJnF1b3Q7IC0tdmRldiBuZXRfYWZfeGRwMCxpZmFj ZT0mbHQ7aW50ZXJmYWNlIG5hbWUmZ3Q7LHVzZV9jbmk9MSx1ZHNfcGF0aD0vdG1wL2FmeGRwX2Rw LyZsdDtpbnRlcmZhY2UgbmFtZSZndDsvYWZ4ZHAuc29jayZxdW90OzxvOnA+PC9vOnA+PC9wcmU+ DQo8cHJlPldlIGFyZSBhbHJlYWR5IHBhc3NpbmcgdGhlIGludGVyZmFjZSBuYW1lKGlmYWNlPSZs dDtpbnRlcmZhY2UgbmFtZSZndDsgLiBTbyBjYW4ndCB3ZSBjcmVhdGUgdGhlIHVkc19wYXRoIGlu c2lkZSB0aGUgcHJvZ3JhbSB1ZHNfcGF0aD0mcXVvdDsvdG1wL2FmeGRwX2RwLyZxdW90OysgaWZh Y2UgKyAmcXVvdDthZnhkcC5zb2NrJnF1b3Q7PG86cD48L286cD48L3ByZT4NCjxwcmU+PG86cD4m bmJzcDs8L286cD48L3ByZT4NCjxwcmU+PG86cD4mbmJzcDs8L286cD48L3ByZT4NCjxwcmU+SWYg eW91IGNoZWNrIHRoZSBjb2RlIGFmeGRwLXBsdWdpbnMtZm9yLWt1YmVybmV0ZXMgY29uc3RhbnRz LmdvIFsxXSB0aGV5IHN0aWxsIGhhdmUgdGhlIGNvbnN0YW50cyBhbmQgYWxzbyB0aGV5IGFyZSB1 c2luZyB0aGVzZSBjb25zdGFudHMgdG8gY3JlYXRlIHRoZSBwYXRoIFsyXTxvOnA+PC9vOnA+PC9w cmU+DQo8cHJlPjxvOnA+Jm5ic3A7PC9vOnA+PC9wcmU+DQo8cHJlPlsxXSA8YSBocmVmPSJodHRw czovL2dpdGh1Yi5jb20vaW50ZWwvYWZ4ZHAtcGx1Z2lucy1mb3Ita3ViZXJuZXRlcy9ibG9iL21h aW4vY29uc3RhbnRzL2NvbnN0YW50cy5nbyNMODQiPmh0dHBzOi8vZ2l0aHViLmNvbS9pbnRlbC9h ZnhkcC1wbHVnaW5zLWZvci1rdWJlcm5ldGVzL2Jsb2IvbWFpbi9jb25zdGFudHMvY29uc3RhbnRz LmdvI0w4NDwvYT4gPG86cD48L286cD48L3ByZT4NCjxwcmU+WzJdIDxhIGhyZWY9Imh0dHBzOi8v Z2l0aHViLmNvbS9pbnRlbC9hZnhkcC1wbHVnaW5zLWZvci1rdWJlcm5ldGVzL2Jsb2IvbWFpbi9p bnRlcm5hbC9kZXZpY2VwbHVnaW4vcG9vbE1hbmFnZXJfdGVzdC5nbyNMNzgiPmh0dHBzOi8vZ2l0 aHViLmNvbS9pbnRlbC9hZnhkcC1wbHVnaW5zLWZvci1rdWJlcm5ldGVzL2Jsb2IvbWFpbi9pbnRl cm5hbC9kZXZpY2VwbHVnaW4vcG9vbE1hbmFnZXJfdGVzdC5nbyNMNzg8L2E+PG86cD48L286cD48 L3ByZT4NCjxwcmU+PG86cD4mbmJzcDs8L286cD48L3ByZT4NCjxwcmU+SWYgd2UgYXJlIGFibGUg dG8gY3JlYXRlIHBhdGggaW4gdGhlIHByb2dyYW0gdGhlbiB1c2VyIHdvbid0IGhhdmUgdG8gcGFz cyBhbG9uZyBhcmd1bWVudCB2YWx1ZS48bzpwPjwvbzpwPjwvcHJlPg0KPHByZT48bzpwPiZuYnNw OzwvbzpwPjwvcHJlPg0KPHByZT5SZWdhcmRzLDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPlNoaWJp bjxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPjxvOnA+Jm5ic3A7PC9vOnA+PC9wcmU+DQo8YmxvY2tx dW90ZSBzdHlsZT0ibWFyZ2luLXRvcDo1LjBwdDttYXJnaW4tYm90dG9tOjUuMHB0Ij4NCjxwcmU+ LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS08bzpwPjwvbzpwPjwvcHJlPg0KPHByZT5Gcm9tOiBN YXJ5YW0gVGFoaGFuIDxhIGhyZWY9Im1haWx0bzptdGFoaGFuQHJlZGhhdC5jb20iPiZsdDttdGFo aGFuQHJlZGhhdC5jb20mZ3Q7PC9hPjxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPlNlbnQ6IE1vbmRh eSwgRGVjZW1iZXIgNCwgMjAyMyAxMDozMSBBTTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPlRvOiA8 YSBocmVmPSJtYWlsdG86ZmVycnVoLnlpZ2l0QGFtZC5jb20iPmZlcnJ1aC55aWdpdEBhbWQuY29t PC9hPjsgPGEgaHJlZj0ibWFpbHRvOnN0ZXBoZW5AbmV0d29ya3BsdW1iZXIub3JnIj5zdGVwaGVu QG5ldHdvcmtwbHVtYmVyLm9yZzwvYT47PG86cD48L286cD48L3ByZT4NCjxwcmU+PGEgaHJlZj0i bWFpbHRvOmxpaHVpc29uZ0BodWF3ZWkuY29tIj5saWh1aXNvbmdAaHVhd2VpLmNvbTwvYT47IDxh IGhyZWY9Im1haWx0bzpmZW5nY2hlbmd3ZW5AaHVhd2VpLmNvbSI+ZmVuZ2NoZW5nd2VuQGh1YXdl aS5jb208L2E+OzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPjxhIGhyZWY9Im1haWx0bzpsaXV5b25n bG9uZ0BodWF3ZWkuY29tIj5saXV5b25nbG9uZ0BodWF3ZWkuY29tPC9hPjsgS29pa2thcmEgUmVl bnksIFNoaWJpbjxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPjxhIGhyZWY9Im1haWx0bzpzaGliaW4u a29pa2thcmEucmVlbnlAaW50ZWwuY29tIj4mbHQ7c2hpYmluLmtvaWtrYXJhLnJlZW55QGludGVs LmNvbSZndDs8L2E+PG86cD48L286cD48L3ByZT4NCjxwcmU+Q2M6IDxhIGhyZWY9Im1haWx0bzpk ZXZAZHBkay5vcmciPmRldkBkcGRrLm9yZzwvYT47IFRhaGhhbiwgTWFyeWFtIDxhIGhyZWY9Im1h aWx0bzptdGFoaGFuQHJlZGhhdC5jb20iPiZsdDttdGFoaGFuQHJlZGhhdC5jb20mZ3Q7PC9hPjxv OnA+PC9vOnA+PC9wcmU+DQo8cHJlPlN1YmplY3Q6IFt2Ml0gbmV0L2FmX3hkcDogZW5hYmxlIGEg c29jayBwYXRoIGFsb25nc2lkZSB1c2VfY25pPG86cD48L286cD48L3ByZT4NCjxwcmU+PG86cD4m bmJzcDs8L286cD48L3ByZT4NCjxwcmU+V2l0aCB0aGUgb3JpZ2luYWwgJ3VzZV9jbmknIGltcGxl bWVudGF0aW9uLCAodXNpbmcgYSBoYXJkY29kZWQgc29ja2V0IHJhdGhlcjxvOnA+PC9vOnA+PC9w cmU+DQo8cHJlPnRoYW4gYSBjb25maWd1cmFibGUgb25lKSwgaWYgYSBzaW5nbGUgcG9kIGlzIHJl cXVlc3RpbmcgbXVsdGlwbGUgbmV0IGRldmljZXM8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT5hbmQg dGhlc2UgZGV2aWNlcyBhcmUgZnJvbSBkaWZmZXJlbnQgcG9vbHMsIHRoZW4gdGhlIGNvbnRhaW5l ciBhdHRlbXB0cyB0bzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPm1vdW50IGFsbCB0aGUgbmV0ZGV2 IFVEU2VzIGluIHRoZSBwb2QgYXMgL3RtcC9hZnhkcC5zb2NrLiBXaGljaCBtZWFuczxvOnA+PC9v OnA+PC9wcmU+DQo8cHJlPnRoYXQgYXQgYmVzdCBvbmx5IDEgbmV0ZGV2IHdpbGwgaGFuZHNoYWtl IGNvcnJlY3RseSB3aXRoIHRoZSBBRl9YRFAgRFAuIFRoaXM8bzpwPjwvbzpwPjwvcHJlPg0KPHBy ZT5wYXRjaCBhZGRyZXNzZXMgdGhpcyBieSBtYWtpbmcgdGhlIHNvY2tldCBwYXJhbWV0ZXIgY29u ZmlndXJhYmxlIGFsb25nc2lkZTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPnRoZSAndXNlX2NuaScg cGFyYW0uPG86cD48L286cD48L3ByZT4NCjxwcmU+VGVzdGVkIHdpdGggdGhlIEFGX1hEUCBEUCBD TkkgUFIgODEuPG86cD48L286cD48L3ByZT4NCjxwcmU+PG86cD4mbmJzcDs8L286cD48L3ByZT4N CjxwcmU+djI6PG86cD48L286cD48L3ByZT4NCjxwcmU+KiBSZW5hbWUgc29ja19wYXRoIHRvIHVk c19wYXRoLjxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiogVXBkYXRlIGRvY3VtZW50YXRpb24gdG8g cmVmbGVjdCB3aGVuIENBUF9CUEYgaXMgbmVlZGVkLjxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiog Rml4IHRlc3RwbWQgYXJndW1lbnRzIGluIHRoZSBwcm92aWRlZCBleGFtcGxlIGZvciBQb2RzLjxv OnA+PC9vOnA+PC9wcmU+DQo8cHJlPiogVXNlIEFGX1hEUCBBUEkgdG8gdXBkYXRlIHRoZSB4c2tt YXAgZW50cnkuPG86cD48L286cD48L3ByZT4NCjxwcmU+PG86cD4mbmJzcDs8L286cD48L3ByZT4N CjxwcmU+U2lnbmVkLW9mZi1ieTogTWFyeWFtIFRhaGhhbiA8YSBocmVmPSJtYWlsdG86bXRhaGhh bkByZWRoYXQuY29tIj4mbHQ7bXRhaGhhbkByZWRoYXQuY29tJmd0OzwvYT48bzpwPjwvbzpwPjwv cHJlPg0KPHByZT4tLS08bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4gZG9jL2d1aWRlcy9ob3d0by9h Zl94ZHBfY25pLnJzdCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8IDI0ICsrKysrKy0tLS0tPG86 cD48L286cD48L3ByZT4NCjxwcmU+IGRyaXZlcnMvbmV0L2FmX3hkcC9ydGVfZXRoX2FmX3hkcC5j IHwgNjIgKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS08bzpwPjwvbzpwPjwvcHJlPg0KPHBy ZT4gMiBmaWxlcyBjaGFuZ2VkLCA1NCBpbnNlcnRpb25zKCspLCAzMiBkZWxldGlvbnMoLSk8bzpw PjwvbzpwPjwvcHJlPg0KPHByZT48bzpwPiZuYnNwOzwvbzpwPjwvcHJlPg0KPHByZT5kaWZmIC0t Z2l0IGEvZG9jL2d1aWRlcy9ob3d0by9hZl94ZHBfY25pLnJzdDxvOnA+PC9vOnA+PC9wcmU+DQo8 cHJlPmIvZG9jL2d1aWRlcy9ob3d0by9hZl94ZHBfY25pLnJzdCBpbmRleCBhMWE2ZDViOTljLi43 ODI5NTI2YjQwIDEwMDY0NDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPi0tLSBhL2RvYy9ndWlkZXMv aG93dG8vYWZfeGRwX2NuaS5yc3Q8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4rKysgYi9kb2MvZ3Vp ZGVzL2hvd3RvL2FmX3hkcF9jbmkucnN0PG86cD48L286cD48L3ByZT4NCjxwcmU+QEAgLTM4LDkg KzM4LDEwIEBAIFRoZSBYU0tNQVAgaXMgYSBCUEYgbWFwIG9mIEFGX1hEUCBzb2NrZXRzIChYU0sp LjxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiBUaGUgY2xpZW50IGNhbiB0aGVuIHByb2NlZWQgd2l0 aCBjcmVhdGluZyBhbiBBRl9YRFAgc29ja2V0Jm5ic3A7IGFuZCBpbnNlcnRpbmc8bzpwPjwvbzpw PjwvcHJlPg0KPHByZT50aGF0IHNvY2tldCBpbnRvIHRoZSBYU0tNQVAgcG9pbnRlZCB0byBieSB0 aGUgZGVzY3JpcHRvci48bzpwPjwvbzpwPjwvcHJlPg0KPHByZT48bzpwPiZuYnNwOzwvbzpwPjwv cHJlPg0KPHByZT4tVGhlIEVBTCB2ZGV2IGFyZ3VtZW50IGBgdXNlX2NuaWBgIGlzIHVzZWQgdG8g aW5kaWNhdGUgdGhhdCB0aGUgdXNlciB3aXNoZXMgLTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPnRv IHJ1biB0aGUgUE1EIGluIHVucHJpdmlsZWdlZCBtb2RlIGFuZCB0byByZWNlaXZlIHRoZSBYU0tN QVAgZmlsZTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPmRlc2NyaXB0b3IgLWZyb20gdGhlIENOSS48 bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4rVGhlIEVBTCB2ZGV2IGFyZ3VtZW50cyBgYHVzZV9jbmlg YCBhbmQgYGB1ZHNfcGF0aGBgIGFyZSB1c2VkIHRvPG86cD48L286cD48L3ByZT4NCjxwcmU+K2lu ZGljYXRlIHRoYXQgdGhlIHVzZXIgd2lzaGVzIHRvIHJ1biB0aGUgUE1EIGluIHVucHJpdmlsZWdl ZCBtb2RlIGFuZDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPit0byByZWNlaXZlIHRoZSBYU0tNQVAg ZmlsZSBkZXNjcmlwdG9yIGZyb20gdGhlIENOSS48bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4rPG86 cD48L286cD48L3ByZT4NCjxwcmU+IFdoZW4gdGhpcyBmbGFnIGlzIHNldCw8bzpwPjwvbzpwPjwv cHJlPg0KPHByZT4gdGhlIGBgWFNLX0xJQkJQRl9GTEFHU19fSU5ISUJJVF9QUk9HX0xPQURgYCBs aWJicGYgZmxhZyZuYnNwOyBzaG91bGQgYmU8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT51c2VkIHdo ZW4gY3JlYXRpbmcgdGhlIHNvY2tldCBAQCAtNDksNyArNTAsNyBAQCBJbnN0ZWFkIHRoZSBsb2Fk aW5nIGlzPG86cD48L286cD48L3ByZT4NCjxwcmU+aGFuZGxlZCBieSB0aGUgQ05JLjxvOnA+PC9v OnA+PC9wcmU+DQo8cHJlPjxvOnA+Jm5ic3A7PC9vOnA+PC9wcmU+DQo8cHJlPiAuLiBub3RlOjo8 bzpwPjwvbzpwPjwvcHJlPg0KPHByZT48bzpwPiZuYnNwOzwvbzpwPjwvcHJlPg0KPHByZT4tJm5i c3A7Jm5ic3A7IFRoZSBVbml4IERvbWFpbiBTb2NrZXQgZmlsZSBwYXRoIGFwcGVhciBpbiB0aGUg ZW5kIHVzZXIgaXM8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4mcXVvdDsvdG1wL2FmeGRwLnNvY2sm cXVvdDsuPG86cD48L286cD48L3ByZT4NCjxwcmU+KyZuYnNwOyZuYnNwOyBUaGUgVW5peCBEb21h aW4gU29ja2V0IGZpbGUgcGF0aCBhcHBlYXJzIHRvIHRoZSBlbmQgdXNlciBhdDxvOnA+PC9vOnA+ PC9wcmU+DQo8cHJlPiZxdW90Oy90bXAvYWZ4ZHBfZHAvJmx0O25ldGRldiZndDsvYWZ4ZHAuc29j ayZxdW90Oy48bzpwPjwvbzpwPjwvcHJlPg0KPHByZT48bzpwPiZuYnNwOzwvbzpwPjwvcHJlPg0K PHByZT48bzpwPiZuYnNwOzwvbzpwPjwvcHJlPg0KPHByZT4gUHJlcmVxdWlzaXRlczxvOnA+PC9v OnA+PC9wcmU+DQo8cHJlPkBAIC0yMjMsOCArMjI0LDcgQEAgSG93dG8gcnVuIGRwZGstdGVzdHBt ZCB3aXRoIENOSSBwbHVnaW46PG86cD48L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHNlY3VyaXR5Q29udGV4dDo8 bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgY2FwYWJpbGl0aWVzOjxvOnA+PC9vOnA+PC9wcmU+ DQo8cHJlPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBhZGQ6PG86cD48L286cD48L3ByZT4NCjxwcmU+ LSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAtIENBUF9ORVRfUkFXPG86cD48L286cD48L3By ZT4NCjxwcmU+LSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAtIENBUF9CUEY8bzpwPjwvbzpw PjwvcHJlPg0KPHByZT4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IC0gTkVUX1JBVzxvOnA+ PC9vOnA+PC9wcmU+DQo8L2Jsb2NrcXVvdGU+DQo8cHJlPjxvOnA+Jm5ic3A7PC9vOnA+PC9wcmU+ DQo8cHJlPk5lZWQgdG8gdXBkYXRlIHRoZSAxLjMuIFByZXJlcXVpc2l0ZXMuPG86cD48L286cD48 L3ByZT4NCjxwcmU+PG86cD4mbmJzcDs8L286cD48L3ByZT4NCjxwcmU+PG86cD4mbmJzcDs8L286 cD48L3ByZT4NCjxibG9ja3F1b3RlIHN0eWxlPSJtYXJnaW4tdG9wOjUuMHB0O21hcmdpbi1ib3R0 b206NS4wcHQiPg0KPHByZT4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsgcmVzb3VyY2VzOjxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyByZXF1ZXN0czo8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4mbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg aHVnZXBhZ2VzLTJNaTogMkdpPG86cD48L286cD48L3ByZT4NCjxwcmU+QEAgLTIzOSwxNCArMjM5 LDIwIEBAIEhvd3RvIHJ1biBkcGRrLXRlc3RwbWQgd2l0aCBDTkkgcGx1Z2luOjxvOnA+PC9vOnA+ PC9wcmU+DQo8cHJlPjxvOnA+Jm5ic3A7PC9vOnA+PC9wcmU+DQo8cHJlPiZuYnNwOyZuYnNwOyAu LiBfcG9kLnlhbWw6IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9pbnRlbC9hZnhkcC1wbHVn aW5zLWZvciI+aHR0cHM6Ly9naXRodWIuY29tL2ludGVsL2FmeGRwLXBsdWdpbnMtZm9yPC9hPi08 bzpwPjwvbzpwPjwvcHJlPg0KPHByZT5rdWJlcm5ldGVzL2Jsb2IvdjAuMC4yL3Rlc3QvZTJlL3Bv ZC0xYzFkLnlhbWw8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT48bzpwPiZuYnNwOzwvbzpwPjwvcHJl Pg0KPHByZT4rLi4gbm90ZTo6PG86cD48L286cD48L3ByZT4NCjxwcmU+KzxvOnA+PC9vOnA+PC9w cmU+DQo8cHJlPismbmJzcDsmbmJzcDsgRm9yIEtlcm5lbCB2ZXJzaW9ucyBvbGRlciB0aGFuIDUu MTkgYENBUF9CUEZgIGlzIGFsc28gcmVxdWlyZWQgaW48bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4r Jm5ic3A7Jm5ic3A7IHRoZSBjb250YWluZXIgY2FwYWJpbGl0aWVzIHN0YW56YS48bzpwPjwvbzpw PjwvcHJlPg0KPHByZT4rPG86cD48L286cD48L3ByZT4NCjxwcmU+ICogUnVuIERQREsgd2l0aCBh IGNvbW1hbmQgbGlrZSB0aGUgZm9sbG93aW5nOjxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPjxvOnA+ Jm5ic3A7PC9vOnA+PC9wcmU+DQo8cHJlPiZuYnNwOyZuYnNwOyAuLiBjb2RlLWJsb2NrOjogY29u c29sZTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPjxvOnA+Jm5ic3A7PC9vOnA+PC9wcmU+DQo8cHJl PiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBrdWJlY3RsIGV4ZWMgLWkgJmx0O1BvZCBu YW1lJmd0OyAtLWNvbnRhaW5lciAmbHQ7Y29udGFpbmVycyBuYW1lJmd0OyAtLSBcPG86cD48L286 cD48L3ByZT4NCjxwcmU+LSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyAvJmx0O1BhdGgmZ3Q7L2RwZGstdGVzdHBtZCAtbCAwLDEgLS1u by1wY2kgXDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPi0mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgLS12ZGV2PW5ldF9hZl94ZHAwLHVz ZV9jbmk9MSxpZmFjZT0mbHQ7aW50ZXJmYWNlIG5hbWUmZ3Q7IFw8bzpwPjwvbzpwPjwvcHJlPg0K PHByZT4tJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7IC0tIC0tbm8tbWxvY2thbGwgLS1pbi1tZW1vcnk8bzpwPjwvbzpwPjwvcHJlPg0K PHByZT4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7IC8mbHQ7UGF0aCZndDsvZHBkay10ZXN0cG1kIC1sIDAtMiAtLW5vLXBjaSAtLW1h aW4tbGNvcmU9MiBcPG86cD48L286cD48L3ByZT4NCjxwcmU+KyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAtLXZkZXYgbmV0X2FmX3hk cDAsaWZhY2U9Jmx0O2ludGVyZmFjZTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPm5hbWUmZ3Q7LHVz ZV9jbmk9MSx1ZHNfcGF0aD0vdG1wL2FmeGRwX2RwLyZsdDtpbnRlcmZhY2UgbmFtZSZndDsvYWZ4 ZHAuc29jazxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPlw8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4r Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7IC0tdmRldiBuZXRfYWZfeGRwMSxpZmFjZT1lJmx0O2ludGVyZmFjZTxvOnA+PC9vOnA+PC9w cmU+DQo8cHJlPm5hbWUmZ3Q7LHVzZV9jbmk9MSx1ZHNfcGF0aD0vdG1wL2FmeGRwX2RwLyZsdDtp bnRlcmZhY2UgbmFtZSZndDsvYWZ4ZHAuc29jazxvOnA+PC9vOnA+PC9wcmU+DQo8L2Jsb2NrcXVv dGU+DQo8cHJlPjxvOnA+Jm5ic3A7PC9vOnA+PC9wcmU+DQo8cHJlPlRoZXJlIGlzIGEgdHlwbyAm cXVvdDsgaWZhY2U9ZSZsdDtpbnRlcmZhY2UgJnF1b3Q7ID09ICZxdW90O2lmYWNlPSZsdDtpbnRl cmZhY2UmcXVvdDs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT48bzpwPiZuYnNwOzwvbzpwPjwvcHJl Pg0KPGJsb2NrcXVvdGUgc3R5bGU9Im1hcmdpbi10b3A6NS4wcHQ7bWFyZ2luLWJvdHRvbTo1LjBw dCI+DQo8cHJlPlw8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IC0tIC1pIC0tYSAtLW5iLWNv cmVzPTIgLS1yeHE9MSAtLXR4cT0xPG86cD48L286cD48L3ByZT4NCjxwcmU+KyAtLWZvcndhcmQt bW9kZT1tYWNzd2FwOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPjxvOnA+Jm5ic3A7PC9vOnA+PC9w cmU+DQo8cHJlPiBGb3IgZnVydGhlciByZWZlcmVuY2UgcGxlYXNlIHVzZSB0aGUgYGUyZWBfIHRl c3QgY2FzZSBpbiBgQUZfWERQIFBsdWdpbiBmb3I8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT5LdWJl cm5ldGVzYF88bzpwPjwvbzpwPjwvcHJlPg0KPHByZT48bzpwPiZuYnNwOzwvbzpwPjwvcHJlPg0K PHByZT5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvYWZfeGRwL3J0ZV9ldGhfYWZfeGRwLmM8bzpw PjwvbzpwPjwvcHJlPg0KPHByZT5iL2RyaXZlcnMvbmV0L2FmX3hkcC9ydGVfZXRoX2FmX3hkcC5j PG86cD48L286cD48L3ByZT4NCjxwcmU+aW5kZXggMzUzYzg2ODhlYy4uNTA1ZWQ2Y2YxZSAxMDA2 NDQ8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4tLS0gYS9kcml2ZXJzL25ldC9hZl94ZHAvcnRlX2V0 aF9hZl94ZHAuYzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPisrKyBiL2RyaXZlcnMvbmV0L2FmX3hk cC9ydGVfZXRoX2FmX3hkcC5jPG86cD48L286cD48L3ByZT4NCjxwcmU+QEAgLTg4LDcgKzg4LDYg QEAgUlRFX0xPR19SRUdJU1RFUl9ERUZBVUxUKGFmX3hkcF9sb2d0eXBlLDxvOnA+PC9vOnA+PC9w cmU+DQo8cHJlPk5PVElDRSk7PG86cD48L286cD48L3ByZT4NCjxwcmU+ICNkZWZpbmUgVURTX01B WF9DTURfTEVOJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IDY0PG86cD48 L286cD48L3ByZT4NCjxwcmU+ICNkZWZpbmUgVURTX01BWF9DTURfUkVTUCZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAxMjg8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4g I2RlZmluZSBVRFNfWFNLX01BUF9GRF9NU0cmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJnF1b3Q7L3hz a19tYXBfZmQmcXVvdDs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4tI2RlZmluZSBVRFNfU09DSyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmcXVvdDsvdG1wL2FmeGRwLnNvY2smcXVv dDs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4gI2RlZmluZSBVRFNfQ09OTkVDVF9NU0cmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJnF1b3Q7L2Nvbm5lY3QmcXVvdDs8bzpw PjwvbzpwPjwvcHJlPg0KPHByZT4gI2RlZmluZSBVRFNfSE9TVF9PS19NU0cmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJnF1b3Q7L2hvc3Rfb2smcXVvdDs8bzpwPjwvbzpw PjwvcHJlPg0KPHByZT4gI2RlZmluZSBVRFNfSE9TVF9OQUtfTVNHJm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZxdW90Oy9ob3N0X25hayZxdW90OzxvOnA+PC9vOnA+ PC9wcmU+DQo8cHJlPkBAIC0xNzEsNiArMTcwLDcgQEAgc3RydWN0IHBtZF9pbnRlcm5hbHMgezxv OnA+PC9vOnA+PC9wcmU+DQo8cHJlPiAgYm9vbCBjdXN0b21fcHJvZ19jb25maWd1cmVkOzxvOnA+ PC9vOnA+PC9wcmU+DQo8cHJlPiAgYm9vbCBmb3JjZV9jb3B5OzxvOnA+PC9vOnA+PC9wcmU+DQo8 cHJlPiAgYm9vbCB1c2VfY25pOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPisgY2hhciB1ZHNfcGF0 aFtQQVRIX01BWF07PG86cD48L286cD48L3ByZT4NCjxwcmU+ICBzdHJ1Y3QgYnBmX21hcCAqbWFw OzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPjxvOnA+Jm5ic3A7PC9vOnA+PC9wcmU+DQo8cHJlPiAg c3RydWN0IHJ0ZV9ldGhlcl9hZGRyIGV0aF9hZGRyOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPkBA IC0xOTEsNiArMTkxLDcgQEAgc3RydWN0IHBtZF9wcm9jZXNzX3ByaXZhdGUgezxvOnA+PC9vOnA+ PC9wcmU+DQo8cHJlPiAjZGVmaW5lIEVUSF9BRl9YRFBfQlVER0VUX0FSRyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmcXVvdDtidXN5X2J1ZGdldCZxdW90Ozxv OnA+PC9vOnA+PC9wcmU+DQo8cHJlPiAjZGVmaW5lIEVUSF9BRl9YRFBfRk9SQ0VfQ09QWV9BUkcm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsgJnF1b3Q7Zm9yY2VfY29weSZxdW90OzxvOnA+PC9vOnA+PC9w cmU+DQo8cHJlPiAjZGVmaW5lIEVUSF9BRl9YRFBfVVNFX0NOSV9BUkcmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJnF1b3Q7dXNlX2NuaSZxdW90OzxvOnA+PC9vOnA+PC9w cmU+DQo8cHJlPisjZGVmaW5lIEVUSF9BRl9YRFBfVVNFX0NOSV9VRFNfUEFUSF9BUkcgJnF1b3Q7 dWRzX3BhdGgmcXVvdDs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT48bzpwPiZuYnNwOzwvbzpwPjwv cHJlPg0KPHByZT4gc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCB2YWxpZF9hcmd1bWVudHNbXSA9 IHs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4gIEVUSF9BRl9YRFBfSUZBQ0VfQVJHLDxvOnA+PC9v OnA+PC9wcmU+DQo8cHJlPkBAIC0yMDEsNiArMjAyLDcgQEAgc3RhdGljIGNvbnN0IGNoYXIgKiBj b25zdCB2YWxpZF9hcmd1bWVudHNbXSA9IHs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4gIEVUSF9B Rl9YRFBfQlVER0VUX0FSRyw8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4gIEVUSF9BRl9YRFBfRk9S Q0VfQ09QWV9BUkcsPG86cD48L286cD48L3ByZT4NCjxwcmU+ICBFVEhfQUZfWERQX1VTRV9DTklf QVJHLDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPisgRVRIX0FGX1hEUF9VU0VfQ05JX1VEU19QQVRI X0FSRyw8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4gIE5VTEw8bzpwPjwvbzpwPjwvcHJlPg0KPHBy ZT4gfTs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT48bzpwPiZuYnNwOzwvbzpwPjwvcHJlPg0KPHBy ZT5AQCAtMTM1MSw3ICsxMzUzLDcgQEAgY29uZmlndXJlX3ByZWZlcnJlZF9idXN5X3BvbGwoc3Ry dWN0PG86cD48L286cD48L3ByZT4NCjxwcmU+cGt0X3J4X3F1ZXVlICpyeHEpJm5ic3A7IH08bzpw PjwvbzpwPjwvcHJlPg0KPHByZT48bzpwPiZuYnNwOzwvbzpwPjwvcHJlPg0KPHByZT4gc3RhdGlj IGludDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPi1pbml0X3Vkc19zb2NrKHN0cnVjdCBzb2NrYWRk cl91biAqc2VydmVyKTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPitpbml0X3Vkc19zb2NrKHN0cnVj dCBzb2NrYWRkcl91biAqc2VydmVyLCBjb25zdCBjaGFyICp1ZHNfcGF0aCk8bzpwPjwvbzpwPjwv cHJlPg0KPHByZT4gezxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiAgaW50IHNvY2s7PG86cD48L286 cD48L3ByZT4NCjxwcmU+PG86cD4mbmJzcDs8L286cD48L3ByZT4NCjxwcmU+QEAgLTEzNjIsNyAr MTM2NCw3IEBAIGluaXRfdWRzX3NvY2soc3RydWN0IHNvY2thZGRyX3VuICpzZXJ2ZXIpPG86cD48 L286cD48L3ByZT4NCjxwcmU+ICB9PG86cD48L286cD48L3ByZT4NCjxwcmU+PG86cD4mbmJzcDs8 L286cD48L3ByZT4NCjxwcmU+ICBzZXJ2ZXItJmd0O3N1bl9mYW1pbHkgPSBBRl9VTklYOzxvOnA+ PC9vOnA+PC9wcmU+DQo8cHJlPi0gc3RybGNweShzZXJ2ZXItJmd0O3N1bl9wYXRoLCBVRFNfU09D Sywgc2l6ZW9mKHNlcnZlci0mZ3Q7c3VuX3BhdGgpKTs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4r IHN0cmxjcHkoc2VydmVyLSZndDtzdW5fcGF0aCwgdWRzX3BhdGgsIHNpemVvZihzZXJ2ZXItJmd0 O3N1bl9wYXRoKSk7PG86cD48L286cD48L3ByZT4NCjxwcmU+PG86cD4mbmJzcDs8L286cD48L3By ZT4NCjxwcmU+ICBpZiAoY29ubmVjdChzb2NrLCAoc3RydWN0IHNvY2thZGRyICopc2VydmVyLCBz aXplb2Yoc3RydWN0PG86cD48L286cD48L3ByZT4NCjxwcmU+c29ja2FkZHJfdW4pKSAmbHQ7IDAp IHs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7IGNsb3NlKHNvY2spOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPkBA IC0xMzgyLDcgKzEzODQsNyBAQCBzdHJ1Y3QgbXNnX2ludGVybmFsIHsmbmJzcDsgfTs8bzpwPjwv bzpwPjwvcHJlPg0KPHByZT48bzpwPiZuYnNwOzwvbzpwPjwvcHJlPg0KPHByZT4gc3RhdGljIGlu dDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPi1zZW5kX21zZyhpbnQgc29jaywgY2hhciAqcmVxdWVz dCwgaW50ICpmZCk8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4rc2VuZF9tc2coaW50IHNvY2ssIGNo YXIgKnJlcXVlc3QsIGludCAqZmQsIGNvbnN0IGNoYXIgKnVkc19wYXRoKTxvOnA+PC9vOnA+PC9w cmU+DQo8cHJlPiB7PG86cD48L286cD48L3ByZT4NCjxwcmU+ICBpbnQgc25kOzxvOnA+PC9vOnA+ PC9wcmU+DQo8cHJlPiAgc3RydWN0IGlvdmVjIGlvdjs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT5A QCAtMTM5Myw3ICsxMzk1LDcgQEAgc2VuZF9tc2coaW50IHNvY2ssIGNoYXIgKnJlcXVlc3QsIGlu dCAqZmQpPG86cD48L286cD48L3ByZT4NCjxwcmU+PG86cD4mbmJzcDs8L286cD48L3ByZT4NCjxw cmU+ICBtZW1zZXQoJmFtcDtkc3QsIDAsIHNpemVvZihkc3QpKTs8bzpwPjwvbzpwPjwvcHJlPg0K PHByZT4gIGRzdC5zdW5fZmFtaWx5ID0gQUZfVU5JWDs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4t IHN0cmxjcHkoZHN0LnN1bl9wYXRoLCBVRFNfU09DSywgc2l6ZW9mKGRzdC5zdW5fcGF0aCkpOzxv OnA+PC9vOnA+PC9wcmU+DQo8cHJlPisgc3RybGNweShkc3Quc3VuX3BhdGgsIHVkc19wYXRoLCBz aXplb2YoZHN0LnN1bl9wYXRoKSk7PG86cD48L286cD48L3ByZT4NCjxwcmU+PG86cD4mbmJzcDs8 L286cD48L3ByZT4NCjxwcmU+ICAvKiBJbml0aWFsaXplIG1lc3NhZ2UgaGVhZGVyIHN0cnVjdHVy ZSAqLzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiAgbWVtc2V0KCZhbXA7bXNnaCwgMCwgc2l6ZW9m KG1zZ2gpKTs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT5AQCAtMTQ3MSw3ICsxNDczLDcgQEAgcmVh ZF9tc2coaW50IHNvY2ssIGNoYXIgKnJlc3BvbnNlLCBzdHJ1Y3Q8bzpwPjwvbzpwPjwvcHJlPg0K PHByZT5zb2NrYWRkcl91biAqcywgaW50ICpmZCk8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT48bzpw PiZuYnNwOzwvbzpwPjwvcHJlPg0KPHByZT4gc3RhdGljIGludDxvOnA+PC9vOnA+PC9wcmU+DQo8 cHJlPiBtYWtlX3JlcXVlc3RfY25pKGludCBzb2NrLCBzdHJ1Y3Qgc29ja2FkZHJfdW4gKnNlcnZl ciwgY2hhciAqcmVxdWVzdCw8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4tJm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICBpbnQgKnJlcV9mZCwgY2hhciAqcmVz cG9uc2UsIGludCAqb3V0X2ZkKTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPismbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgIGludCAqcmVxX2ZkLCBjaGFyICpy ZXNwb25zZSwgaW50ICpvdXRfZmQsIGNvbnN0IGNoYXI8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4q dWRzX3BhdGgpPG86cD48L286cD48L3ByZT4NCjxwcmU+IHs8bzpwPjwvbzpwPjwvcHJlPg0KPHBy ZT4gIGludCBydmFsOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPjxvOnA+Jm5ic3A7PC9vOnA+PC9w cmU+DQo8cHJlPkBAIC0xNDgzLDcgKzE0ODUsNyBAQCBtYWtlX3JlcXVlc3RfY25pKGludCBzb2Nr LCBzdHJ1Y3Qgc29ja2FkZHJfdW48bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4qc2VydmVyLCBjaGFy ICpyZXF1ZXN0LDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiAgaWYgKHJlcV9mZCA9PSBOVUxMKTxv OnA+PC9vOnA+PC9wcmU+DQo8cHJlPiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsgcnZhbCA9IHdyaXRlKHNvY2ssIHJlcXVlc3QsIHN0cmxlbihyZXF1ZXN0 KSk7PG86cD48L286cD48L3ByZT4NCjxwcmU+ICBlbHNlPG86cD48L286cD48L3ByZT4NCjxwcmU+ LSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBydmFsID0g c2VuZF9tc2coc29jaywgcmVxdWVzdCwgcmVxX2ZkKTs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4r Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHJ2YWwgPSBz ZW5kX21zZyhzb2NrLCByZXF1ZXN0LCByZXFfZmQsIHVkc19wYXRoKTs8bzpwPjwvbzpwPjwvcHJl Pg0KPHByZT48bzpwPiZuYnNwOzwvbzpwPjwvcHJlPg0KPHByZT4gIGlmIChydmFsICZsdDsgMCkg ezxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsgQUZfWERQX0xPRyhFUlIsICZxdW90O1dyaXRlIGVycm9yICVzXG4m cXVvdDssIHN0cmVycm9yKGVycm5vKSk7IEBAPG86cD48L286cD48L3ByZT4NCjxwcmU+LTE1MDcs NyArMTUwOSw3IEBAIGNoZWNrX3Jlc3BvbnNlKGNoYXIgKnJlc3BvbnNlLCBjaGFyICpleHBfcmVz cCwgbG9uZzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPnNpemUpJm5ic3A7IH08bzpwPjwvbzpwPjwv cHJlPg0KPHByZT48bzpwPiZuYnNwOzwvbzpwPjwvcHJlPg0KPHByZT4gc3RhdGljIGludDxvOnA+ PC9vOnA+PC9wcmU+DQo8cHJlPi1nZXRfY25pX2ZkKGNoYXIgKmlmX25hbWUpPG86cD48L286cD48 L3ByZT4NCjxwcmU+K2dldF9jbmlfZmQoY2hhciAqaWZfbmFtZSwgY29uc3QgY2hhciAqdWRzX3Bh dGgpPG86cD48L286cD48L3ByZT4NCjxwcmU+IHs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4gIGNo YXIgcmVxdWVzdFtVRFNfTUFYX0NNRF9MRU5dLDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPnJlc3Bv bnNlW1VEU19NQVhfQ01EX1JFU1BdOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiAgY2hhciBob3N0 bmFtZVtNQVhfTE9OR19PUFRfU1pdLDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPmV4cF9yZXNwW1VE U19NQVhfQ01EX1JFU1BdOyBAQCAtMTUyMCwxNCArMTUyMiwxNCBAQDxvOnA+PC9vOnA+PC9wcmU+ DQo8cHJlPmdldF9jbmlfZmQoY2hhciAqaWZfbmFtZSk8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4g Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHJldHVybiAt MTs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT48bzpwPiZuYnNwOzwvbzpwPjwvcHJlPg0KPHByZT4g IG1lbXNldCgmYW1wO3NlcnZlciwgMCwgc2l6ZW9mKHNlcnZlcikpOzxvOnA+PC9vOnA+PC9wcmU+ DQo8cHJlPi0gc29jayA9IGluaXRfdWRzX3NvY2soJmFtcDtzZXJ2ZXIpOzxvOnA+PC9vOnA+PC9w cmU+DQo8cHJlPisgc29jayA9IGluaXRfdWRzX3NvY2soJmFtcDtzZXJ2ZXIsIHVkc19wYXRoKTs8 bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4gIGlmIChzb2NrICZsdDsgMCk8bzpwPjwvbzpwPjwvcHJl Pg0KPHByZT4gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 IHJldHVybiAtMTs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT48bzpwPiZuYnNwOzwvbzpwPjwvcHJl Pg0KPHByZT4gIC8qIEluaXRpYXRlcyBoYW5kc2hha2UgdG8gQ05JIHNlbmQ6IC9jb25uZWN0LGhv c3RuYW1lICovPG86cD48L286cD48L3ByZT4NCjxwcmU+ICBzbnByaW50ZihyZXF1ZXN0LCBzaXpl b2YocmVxdWVzdCksICZxdW90OyVzLCVzJnF1b3Q7LCBVRFNfQ09OTkVDVF9NU0csPG86cD48L286 cD48L3ByZT4NCjxwcmU+aG9zdG5hbWUpOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiAgbWVtc2V0 KHJlc3BvbnNlLCAwLCBzaXplb2YocmVzcG9uc2UpKTs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4t IGlmIChtYWtlX3JlcXVlc3RfY25pKHNvY2ssICZhbXA7c2VydmVyLCByZXF1ZXN0LCBOVUxMLCBy ZXNwb25zZSw8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4mYW1wO291dF9mZCkgJmx0OyAwKSB7PG86 cD48L286cD48L3ByZT4NCjxwcmU+KyBpZiAobWFrZV9yZXF1ZXN0X2NuaShzb2NrLCAmYW1wO3Nl cnZlciwgcmVxdWVzdCwgTlVMTCwgcmVzcG9uc2UsPG86cD48L286cD48L3ByZT4NCjxwcmU+JmFt cDtvdXRfZmQsPG86cD48L286cD48L3ByZT4NCjxwcmU+K3Vkc19wYXRoKSAmbHQ7IDApIHs8bzpw PjwvbzpwPjwvcHJlPg0KPHByZT4gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7IEFGX1hEUF9MT0coRVJSLCAmcXVvdDtFcnJvciBpbiBwcm9jZXNzaW5nIGNt ZCBbJXNdXG4mcXVvdDssPG86cD48L286cD48L3ByZT4NCjxwcmU+cmVxdWVzdCk7PG86cD48L286 cD48L3ByZT4NCjxwcmU+ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyBnb3RvIGVycl9jbG9zZTs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4gIH08bzpwPjwv bzpwPjwvcHJlPg0KPHByZT5AQCAtMTU0MSw3ICsxNTQzLDcgQEAgZ2V0X2NuaV9mZChjaGFyICpp Zl9uYW1lKTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiAgLyogUmVxdWVzdCBmb3IgJnF1b3Q7L3Zl cnNpb24mcXVvdDsgKi88bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4gIHN0cmxjcHkocmVxdWVzdCwg VURTX1ZFUlNJT05fTVNHLCBVRFNfTUFYX0NNRF9MRU4pOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJl PiAgbWVtc2V0KHJlc3BvbnNlLCAwLCBzaXplb2YocmVzcG9uc2UpKTs8bzpwPjwvbzpwPjwvcHJl Pg0KPHByZT4tIGlmIChtYWtlX3JlcXVlc3RfY25pKHNvY2ssICZhbXA7c2VydmVyLCByZXF1ZXN0 LCBOVUxMLCByZXNwb25zZSw8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4mYW1wO291dF9mZCkgJmx0 OyAwKSB7PG86cD48L286cD48L3ByZT4NCjxwcmU+KyBpZiAobWFrZV9yZXF1ZXN0X2NuaShzb2Nr LCAmYW1wO3NlcnZlciwgcmVxdWVzdCwgTlVMTCwgcmVzcG9uc2UsPG86cD48L286cD48L3ByZT4N CjxwcmU+JmFtcDtvdXRfZmQsPG86cD48L286cD48L3ByZT4NCjxwcmU+K3Vkc19wYXRoKSAmbHQ7 IDApIHs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IEFGX1hEUF9MT0coRVJSLCAmcXVvdDtFcnJvciBpbiBwcm9j ZXNzaW5nIGNtZCBbJXNdXG4mcXVvdDssPG86cD48L286cD48L3ByZT4NCjxwcmU+cmVxdWVzdCk7 PG86cD48L286cD48L3ByZT4NCjxwcmU+ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyBnb3RvIGVycl9jbG9zZTs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4g IH08bzpwPjwvbzpwPjwvcHJlPg0KPHByZT5AQCAtMTU0OSw3ICsxNTUxLDcgQEAgZ2V0X2NuaV9m ZChjaGFyICppZl9uYW1lKTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiAgLyogUmVxdWVzdCBmb3Ig ZmlsZSBkZXNjcmlwdG9yIGZvciBuZXRkZXYgbmFtZSovPG86cD48L286cD48L3ByZT4NCjxwcmU+ ICBzbnByaW50ZihyZXF1ZXN0LCBzaXplb2YocmVxdWVzdCksICZxdW90OyVzLCVzJnF1b3Q7LDxv OnA+PC9vOnA+PC9wcmU+DQo8cHJlPlVEU19YU0tfTUFQX0ZEX01TRywgaWZfbmFtZSk7PG86cD48 L286cD48L3ByZT4NCjxwcmU+ICBtZW1zZXQocmVzcG9uc2UsIDAsIHNpemVvZihyZXNwb25zZSkp OzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPi0gaWYgKG1ha2VfcmVxdWVzdF9jbmkoc29jaywgJmFt cDtzZXJ2ZXIsIHJlcXVlc3QsIE5VTEwsIHJlc3BvbnNlLDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJl PiZhbXA7b3V0X2ZkKSAmbHQ7IDApIHs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4rIGlmIChtYWtl X3JlcXVlc3RfY25pKHNvY2ssICZhbXA7c2VydmVyLCByZXF1ZXN0LCBOVUxMLCByZXNwb25zZSw8 bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4mYW1wO291dF9mZCw8bzpwPjwvbzpwPjwvcHJlPg0KPHBy ZT4rdWRzX3BhdGgpICZsdDsgMCkgezxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiAmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgQUZfWERQX0xPRyhFUlIsICZx dW90O0Vycm9yIGluIHByb2Nlc3NpbmcgY21kIFslc11cbiZxdW90Oyw8bzpwPjwvbzpwPjwvcHJl Pg0KPHByZT5yZXF1ZXN0KTs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4gJm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGdvdG8gZXJyX2Nsb3NlOzxvOnA+PC9v OnA+PC9wcmU+DQo8cHJlPiAgfTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPkBAIC0xNTcxLDcgKzE1 NzMsNyBAQCBnZXRfY25pX2ZkKGNoYXIgKmlmX25hbWUpPG86cD48L286cD48L3ByZT4NCjxwcmU+ ICAvKiBJbml0aWF0ZSBjbG9zZSBjb25uZWN0aW9uICovPG86cD48L286cD48L3ByZT4NCjxwcmU+ ICBzdHJsY3B5KHJlcXVlc3QsIFVEU19GSU5fTVNHLCBVRFNfTUFYX0NNRF9MRU4pOzxvOnA+PC9v OnA+PC9wcmU+DQo8cHJlPiAgbWVtc2V0KHJlc3BvbnNlLCAwLCBzaXplb2YocmVzcG9uc2UpKTs8 bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4tIGlmIChtYWtlX3JlcXVlc3RfY25pKHNvY2ssICZhbXA7 c2VydmVyLCByZXF1ZXN0LCBOVUxMLCByZXNwb25zZSw8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4m YW1wO291dF9mZCkgJmx0OyAwKSB7PG86cD48L286cD48L3ByZT4NCjxwcmU+KyBpZiAobWFrZV9y ZXF1ZXN0X2NuaShzb2NrLCAmYW1wO3NlcnZlciwgcmVxdWVzdCwgTlVMTCwgcmVzcG9uc2UsPG86 cD48L286cD48L3ByZT4NCjxwcmU+JmFtcDtvdXRfZmQsPG86cD48L286cD48L3ByZT4NCjxwcmU+ K3Vkc19wYXRoKSAmbHQ7IDApIHs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4gJm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IEFGX1hEUF9MT0coRVJSLCAmcXVv dDtFcnJvciBpbiBwcm9jZXNzaW5nIGNtZCBbJXNdXG4mcXVvdDssPG86cD48L286cD48L3ByZT4N CjxwcmU+cmVxdWVzdCk7PG86cD48L286cD48L3ByZT4NCjxwcmU+ICZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBnb3RvIGVycl9jbG9zZTs8bzpwPjwvbzpw PjwvcHJlPg0KPHByZT4gIH08bzpwPjwvbzpwPjwvcHJlPg0KPHByZT5AQCAtMTY5NSwxNyArMTY5 NywxNiBAQCB4c2tfY29uZmlndXJlKHN0cnVjdCBwbWRfaW50ZXJuYWxzICppbnRlcm5hbHMsPG86 cD48L286cD48L3ByZT4NCjxwcmU+c3RydWN0IHBrdF9yeF9xdWV1ZSAqcnhxLDxvOnA+PC9vOnA+ PC9wcmU+DQo8cHJlPiAgfTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPjxvOnA+Jm5ic3A7PC9vOnA+ PC9wcmU+DQo8cHJlPiAgaWYgKGludGVybmFscy0mZ3Q7dXNlX2NuaSkgezxvOnA+PC9vOnA+PC9w cmU+DQo8cHJlPi0mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsgaW50IGVyciwgZmQsIG1hcF9mZDs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4rJm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGludCBlcnIsIG1hcF9mZDs8 bzpwPjwvbzpwPjwvcHJlPg0KPHByZT48bzpwPiZuYnNwOzwvbzpwPjwvcHJlPg0KPHByZT4gJm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IC8qIGdldCBzb2Nr ZXQgZmQgZnJvbSBDTkkgcGx1Z2luICovPG86cD48L286cD48L3ByZT4NCjxwcmU+LSZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBtYXBfZmQgPSBnZXRfY25p X2ZkKGludGVybmFscy0mZ3Q7aWZfbmFtZSk7PG86cD48L286cD48L3ByZT4NCjxwcmU+KyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBtYXBfZmQgPSBnZXRf Y25pX2ZkKGludGVybmFscy0mZ3Q7aWZfbmFtZSwgaW50ZXJuYWxzLTxvOnA+PC9vOnA+PC9wcmU+ DQo8YmxvY2txdW90ZSBzdHlsZT0ibWFyZ2luLXRvcDo1LjBwdDttYXJnaW4tYm90dG9tOjUuMHB0 Ij4NCjxwcmU+dWRzX3BhdGgpOzxvOnA+PC9vOnA+PC9wcmU+DQo8L2Jsb2NrcXVvdGU+DQo8cHJl PiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgaWYgKG1h cF9mZCAmbHQ7IDApIHs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4gJm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IEFGX1hEUF9MT0coRVJSLCAmcXVvdDtGYWlsZWQgdG8gcmVj ZWl2ZSBDTkkgcGx1Z2luPG86cD48L286cD48L3ByZT4NCjxwcmU+ZmRcbiZxdW90Oyk7PG86cD48 L286cD48L3ByZT4NCjxwcmU+ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyBnb3RvIG91dF94c2s7PG86cD48L286cD48L3ByZT4NCjxwcmU+ICZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB9PG86cD48L286cD48L3ByZT4NCjxwcmU+ LSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAvKiBnZXQg c29ja2V0IGZkICovPG86cD48L286cD48L3ByZT4NCjxwcmU+LSZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBmZCA9IHhza19zb2NrZXRfX2ZkKHJ4cS0mZ3Q7 eHNrKTs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4tJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGVyciA9IGJwZl9tYXBfdXBkYXRlX2VsZW0obWFwX2ZkLCAm YW1wO3J4cS08bzpwPjwvbzpwPjwvcHJlPg0KPGJsb2NrcXVvdGUgc3R5bGU9Im1hcmdpbi10b3A6 NS4wcHQ7bWFyZ2luLWJvdHRvbTo1LjBwdCI+DQo8cHJlPnhza19xdWV1ZV9pZHgsICZhbXA7ZmQs IDApOzxvOnA+PC9vOnA+PC9wcmU+DQo8L2Jsb2NrcXVvdGU+DQo8cHJlPis8bzpwPjwvbzpwPjwv cHJlPg0KPHByZT4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7IGVyciA9IHhza19zb2NrZXRfX3VwZGF0ZV94c2ttYXAocnhxLSZndDt4c2ssIG1hcF9mZCk7 PG86cD48L286cD48L3ByZT4NCjxwcmU+ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyBpZiAoZXJyKSB7PG86cD48L286cD48L3ByZT4NCjxwcmU+ICZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBBRl9YRFBfTE9HKEVSUiwgJnF1b3Q7 RmFpbGVkIHRvIGluc2VydCB1bnByaXZpbGVnZWQgeHNrPG86cD48L286cD48L3ByZT4NCjxwcmU+ aW4gbWFwLlxuJnF1b3Q7KTs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4gJm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGdvdG8gb3V0X3hzazs8bzpwPjwvbzpwPjwvcHJlPg0K PHByZT5AQCAtMjAyMyw3ICsyMDI0LDggQEAgeGRwX2dldF9jaGFubmVsc19pbmZvKGNvbnN0IGNo YXIgKmlmX25hbWUsIGludDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiptYXhfcXVldWVzLCZuYnNw OyBzdGF0aWMgaW50Jm5ic3A7IHBhcnNlX3BhcmFtZXRlcnMoc3RydWN0IHJ0ZV9rdmFyZ3MgKmt2 bGlzdCwgY2hhcjxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPippZl9uYW1lLCBpbnQgKnN0YXJ0X3F1 ZXVlLDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7aW50ICpxdWV1ZV9jbnQsIGludCAqc2hhcmVkX3Vt ZW0sIGNoYXIgKnByb2dfcGF0aCw8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4tJm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICBpbnQgKmJ1c3lfYnVkZ2V0LCBp bnQgKmZvcmNlX2NvcHksIGludCAqdXNlX2NuaSk8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4rJm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICBpbnQgKmJ1c3lf YnVkZ2V0LCBpbnQgKmZvcmNlX2NvcHksIGludCAqdXNlX2NuaSw8bzpwPjwvbzpwPjwvcHJlPg0K PHByZT4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICBj aGFyICp1ZHNfcGF0aCk8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4gezxvOnA+PC9vOnA+PC9wcmU+ DQo8cHJlPiAgaW50IHJldDs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT48bzpwPiZuYnNwOzwvbzpw PjwvcHJlPg0KPHByZT5AQCAtMjA2OSw2ICsyMDcxLDExIEBAIHBhcnNlX3BhcmFtZXRlcnMoc3Ry dWN0IHJ0ZV9rdmFyZ3MgKmt2bGlzdCwgY2hhcjxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPippZl9u YW1lLCBpbnQgKnN0YXJ0X3F1ZXVlLDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiAgaWYgKHJldCAm bHQ7IDApPG86cD48L286cD48L3ByZT4NCjxwcmU+ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBnb3RvIGZyZWVfa3ZsaXN0OzxvOnA+PC9vOnA+PC9wcmU+ DQo8cHJlPjxvOnA+Jm5ic3A7PC9vOnA+PC9wcmU+DQo8cHJlPisgcmV0ID0gcnRlX2t2YXJnc19w cm9jZXNzKGt2bGlzdCw8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT5FVEhfQUZfWERQX1VTRV9DTklf VURTX1BBVEhfQVJHLDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPismbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsgICZhbXA7cGFyc2VfcHJvZ19hcmcsIHVkc19wYXRoKTs8bzpwPjwvbzpwPjwvcHJlPg0K PHByZT4rIGlmIChyZXQgJmx0OyAwKTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPismbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgZ290byBmcmVlX2t2bGlzdDs8 bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4rPG86cD48L286cD48L3ByZT4NCjxwcmU+IGZyZWVfa3Zs aXN0OjxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiAgcnRlX2t2YXJnc19mcmVlKGt2bGlzdCk7PG86 cD48L286cD48L3ByZT4NCjxwcmU+ICByZXR1cm4gcmV0OzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJl PkBAIC0yMTA4LDcgKzIxMTUsNyBAQCBzdGF0aWMgc3RydWN0IHJ0ZV9ldGhfZGV2ICombmJzcDsg aW5pdF9pbnRlcm5hbHMoc3RydWN0PG86cD48L286cD48L3ByZT4NCjxwcmU+cnRlX3ZkZXZfZGV2 aWNlICpkZXYsIGNvbnN0IGNoYXIgKmlmX25hbWUsPG86cD48L286cD48L3ByZT4NCjxwcmU+ICAm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtpbnQgc3RhcnRfcXVldWVf aWR4LCBpbnQgcXVldWVfY250LCBpbnQgc2hhcmVkX3VtZW0sPG86cD48L286cD48L3ByZT4NCjxw cmU+ICAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtjb25zdCBjaGFy ICpwcm9nX3BhdGgsIGludCBidXN5X2J1ZGdldCwgaW50IGZvcmNlX2NvcHksPG86cD48L286cD48 L3ByZT4NCjxwcmU+LSAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgaW50IHVz ZV9jbmkpPG86cD48L286cD48L3ByZT4NCjxwcmU+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDsmbmJzcDsgaW50IHVzZV9jbmksIGNvbnN0IGNo YXIgKnVkc19wYXRoKTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiB7PG86cD48L286cD48L3ByZT4N CjxwcmU+ICBjb25zdCBjaGFyICpuYW1lID0gcnRlX3ZkZXZfZGV2aWNlX25hbWUoZGV2KTs8bzpw PjwvbzpwPjwvcHJlPg0KPHByZT4gIGNvbnN0IHVuc2lnbmVkIGludCBudW1hX25vZGUgPSBkZXYt Jmd0O2RldmljZS5udW1hX25vZGU7IEBAIC08bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4yMTM4LDYg KzIxNDUsNyBAQCBpbml0X2ludGVybmFscyhzdHJ1Y3QgcnRlX3ZkZXZfZGV2aWNlICpkZXYsIGNv bnN0IGNoYXI8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4qaWZfbmFtZSw8bzpwPjwvbzpwPjwvcHJl Pg0KPHByZT4gIGludGVybmFscy0mZ3Q7c2hhcmVkX3VtZW0gPSBzaGFyZWRfdW1lbTs8bzpwPjwv bzpwPjwvcHJlPg0KPHByZT4gIGludGVybmFscy0mZ3Q7Zm9yY2VfY29weSA9IGZvcmNlX2NvcHk7 PG86cD48L286cD48L3ByZT4NCjxwcmU+ICBpbnRlcm5hbHMtJmd0O3VzZV9jbmkgPSB1c2VfY25p OzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPisgc3RybGNweShpbnRlcm5hbHMtJmd0O3Vkc19wYXRo LCB1ZHNfcGF0aCwgUEFUSF9NQVgpOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPjxvOnA+Jm5ic3A7 PC9vOnA+PC9wcmU+DQo8cHJlPiAgaWYgKHhkcF9nZXRfY2hhbm5lbHNfaW5mbyhpZl9uYW1lLCAm YW1wO2ludGVybmFscy0mZ3Q7bWF4X3F1ZXVlX2NudCw8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4g Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZuYnNwOyZuYnNwOyZhbXA7aW50ZXJuYWxzLSZndDtj b21iaW5lZF9xdWV1ZV9jbnQpKSB7IEBAIC08bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4yMzI4LDYg KzIzMzYsNyBAQCBydGVfcG1kX2FmX3hkcF9wcm9iZShzdHJ1Y3QgcnRlX3ZkZXZfZGV2aWNlICpk ZXYpPG86cD48L286cD48L3ByZT4NCjxwcmU+ICBpbnQgYnVzeV9idWRnZXQgPSAtMSwgcmV0Ozxv OnA+PC9vOnA+PC9wcmU+DQo8cHJlPiAgaW50IGZvcmNlX2NvcHkgPSAwOzxvOnA+PC9vOnA+PC9w cmU+DQo8cHJlPiAgaW50IHVzZV9jbmkgPSAwOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPisgY2hh ciB1ZHNfcGF0aFtQQVRIX01BWF0gPSB7J1wwJ307PG86cD48L286cD48L3ByZT4NCjxwcmU+ICBz dHJ1Y3QgcnRlX2V0aF9kZXYgKmV0aF9kZXYgPSBOVUxMOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJl PiAgY29uc3QgY2hhciAqbmFtZSA9IHJ0ZV92ZGV2X2RldmljZV9uYW1lKGRldik7PG86cD48L286 cD48L3ByZT4NCjxwcmU+PG86cD4mbmJzcDs8L286cD48L3ByZT4NCjxwcmU+QEAgLTIzNzAsNyAr MjM3OSw3IEBAIHJ0ZV9wbWRfYWZfeGRwX3Byb2JlKHN0cnVjdCBydGVfdmRldl9kZXZpY2U8bzpw PjwvbzpwPjwvcHJlPg0KPHByZT4qZGV2KTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPjxvOnA+Jm5i c3A7PC9vOnA+PC9wcmU+DQo8cHJlPiAgaWYgKHBhcnNlX3BhcmFtZXRlcnMoa3ZsaXN0LCBpZl9u YW1lLCAmYW1wO3hza19zdGFydF9xdWV1ZV9pZHgsPG86cD48L286cD48L3ByZT4NCjxwcmU+ICZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmYW1wO3hza19xdWV1ZV9jbnQsICZhbXA7c2hhcmVkX3VtZW0sIHByb2dfcGF0 aCw8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4tJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmYW1wO2J1c3lfYnVkZ2V0LCAmYW1w O2ZvcmNlX2NvcHksICZhbXA7dXNlX2NuaSkgJmx0OyAwKSB7PG86cD48L286cD48L3ByZT4NCjxw cmU+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAgJmFtcDtidXN5X2J1ZGdldCwgJmFtcDtmb3Jj ZV9jb3B5LCAmYW1wO3VzZV9jbmksPG86cD48L286cD48L3ByZT4NCjxwcmU+dWRzX3BhdGgpICZs dDsgMCkgezxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgQUZfWERQX0xPRyhFUlIsICZxdW90O0ludmFsaWQga3Zh cmdzIHZhbHVlXG4mcXVvdDspOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiAmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgcmV0dXJuIC1FSU5WQUw7PG86cD48 L286cD48L3ByZT4NCjxwcmU+ICB9PG86cD48L286cD48L3ByZT4NCjxwcmU+QEAgLTIzODcsNiAr MjM5NiwxMiBAQCBydGVfcG1kX2FmX3hkcF9wcm9iZShzdHJ1Y3QgcnRlX3ZkZXZfZGV2aWNlPG86 cD48L286cD48L3ByZT4NCjxwcmU+KmRldik8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4gJm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHJldHVybiAtRUlOVkFMOzxvOnA+PC9v OnA+PC9wcmU+DQo8cHJlPiAgfTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPjxvOnA+Jm5ic3A7PC9v OnA+PC9wcmU+DQo8cHJlPisgaWYgKHVzZV9jbmkgJmFtcDsmYW1wOyAhc3Rybmxlbih1ZHNfcGF0 aCwgUEFUSF9NQVgpKSB7PG86cD48L286cD48L3ByZT4NCjxwcmU+KyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBBRl9YRFBfTE9HKEVSUiwgJnF1b3Q7V2hl biAnJXMnIHBhcmFtZXRlciBpcyB1c2VkLCAnJXMnIG11c3Q8bzpwPjwvbzpwPjwvcHJlPg0KPHBy ZT5hbHNvIGJlIHByb3ZpZGVkXG4mcXVvdDssPG86cD48L286cD48L3ByZT4NCjxwcmU+KyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBFVEhfQUZfWERQX1VTRV9DTklfQVJH LDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPkVUSF9BRl9YRFBfVVNFX0NOSV9VRFNfUEFUSF9BUkcp OzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsgcmV0dXJuIC1FSU5WQUw7PG86cD48L286cD48L3ByZT4NCjxwcmU+KyB9PG86cD48 L286cD48L3ByZT4NCjxwcmU+KzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiAgaWYgKHN0cmxlbihp Zl9uYW1lKSA9PSAwKSB7PG86cD48L286cD48L3ByZT4NCjxwcmU+ICZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBBRl9YRFBfTE9HKEVSUiwgJnF1b3Q7TmV0 d29yayBpbnRlcmZhY2UgbXVzdCBiZTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPnNwZWNpZmllZFxu JnF1b3Q7KTs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHJldHVybiAtRUlOVkFMOzxvOnA+PC9vOnA+PC9wcmU+ DQo8cHJlPkBAIC0yNDEwLDcgKzI0MjUsNyBAQCBydGVfcG1kX2FmX3hkcF9wcm9iZShzdHJ1Y3Qg cnRlX3ZkZXZfZGV2aWNlPG86cD48L286cD48L3ByZT4NCjxwcmU+KmRldik8bzpwPjwvbzpwPjwv cHJlPg0KPHByZT48bzpwPiZuYnNwOzwvbzpwPjwvcHJlPg0KPHByZT4gIGV0aF9kZXYgPSBpbml0 X2ludGVybmFscyhkZXYsIGlmX25hbWUsIHhza19zdGFydF9xdWV1ZV9pZHgsPG86cD48L286cD48 L3ByZT4NCjxwcmU+ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDt4c2tfcXVldWVfY250 LCBzaGFyZWRfdW1lbSwgcHJvZ19wYXRoLDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPi0mbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsgIGJ1c3lfYnVkZ2V0LCBmb3JjZV9jb3B5LCB1c2VfY25pKTs8bzpw PjwvbzpwPjwvcHJlPg0KPHByZT4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICBidXN5X2J1ZGdl dCwgZm9yY2VfY29weSwgdXNlX2NuaSw8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT51ZHNfcGF0aCk7 PG86cD48L286cD48L3ByZT4NCjxwcmU+ICBpZiAoZXRoX2RldiA9PSBOVUxMKSB7PG86cD48L286 cD48L3ByZT4NCjxwcmU+ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyBBRl9YRFBfTE9HKEVSUiwgJnF1b3Q7RmFpbGVkIHRvIGluaXQgaW50ZXJuYWxzXG4m cXVvdDspOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgcmV0dXJuIC0xOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJl PkBAIC0yNDcxLDQgKzI0ODYsNSBAQDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPlJURV9QTURfUkVH SVNURVJfUEFSQU1fU1RSSU5HKG5ldF9hZl94ZHAsPG86cD48L286cD48L3ByZT4NCjxwcmU+ICZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmcXVvdDt4ZHBfcHJvZz0mbHQ7c3RyaW5nJmd0OyAmcXVvdDs8bzpw PjwvbzpwPjwvcHJlPg0KPHByZT4gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZxdW90O2J1c3lfYnVkZ2V0 PSZsdDtpbnQmZ3Q7ICZxdW90OzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiAmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7JnF1b3Q7Zm9yY2VfY29weT0mbHQ7aW50Jmd0OyAmcXVvdDs8bzpwPjwvbzpwPjwvcHJl Pg0KPHByZT4tJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmcXVvdDt1c2VfY25pPSZsdDtpbnQmZ3Q7ICZxdW90Oyk7 PG86cD48L286cD48L3ByZT4NCjxwcmU+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJnF1b3Q7dXNlX2NuaT0mbHQ7 aW50Jmd0OyAmcXVvdDs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4rJm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmcXVv dDt1ZHNfcGF0aD0mbHQ7c3RyaW5nJmd0OyAmcXVvdDspOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJl Pi0tPG86cD48L286cD48L3ByZT4NCjxwcmU+Mi40MS4wPG86cD48L286cD48L3ByZT4NCjwvYmxv Y2txdW90ZT4NCjxwcmU+PG86cD4mbmJzcDs8L286cD48L3ByZT4NCjwvYmxvY2txdW90ZT4NCjxw PjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4N Cg== --_000_DM6PR11MB3995C6E2C2B150F8B982599FA285ADM6PR11MB3995namp_--