Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp732346pxb; Wed, 27 Oct 2021 11:16:31 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzw7T7f9RZNQ4vzL6xDlwTcAMlFeVRuZLt3FOcVlNvLS0Az6tgUrpjy74CJf6pwNESCZR7S X-Received: by 2002:a17:902:680e:b0:141:7400:a483 with SMTP id h14-20020a170902680e00b001417400a483mr2605480plk.81.1635358590990; Wed, 27 Oct 2021 11:16:30 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1635358590; cv=pass; d=google.com; s=arc-20160816; b=jnzmoOS79LAzF8Q6HEcgIuooPF4KdVZq9fa2K3tkN6bCyJvxSZ4iT3+xDGP63+4/JZ zu+DhbeQJB0/FDsNYPdrARa5QKHINQuhz71Z21nmJvi6vNMJ0IisvRKgdjG+rvQYm2o3 LIOX5Aj8GTqud/AuevGdUTq8DhwNCoPgq+UP9J1XpalZryL1nnMWtby0s1CHXmneG93Y lo1EubmBh5rJqcAxiWwhGrRVQeKJuJrPPWO8jrOrTZygVp3FzbiowLpz4+ypEulb8/UW oRDgOGU6kW1j42tZ1dQY1F6dCN8OkaoODupu+TIwkLFTFUPHv120OcMXDWO/KBOeTx6C 4pHQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature; bh=rT+iwICB4uPuzLpCalOvd3jQLnGkQY+AzSm5N+EvUb8=; b=xOhU1fKpc/Febu7W1YJQHbQe7lqmK44vP9338KrptpH+IfUcsRGeMMcbN6/KSt6vcx fJxFt3a3SJaJbwEg1e9ev1bJQOqkMgTHZjwOHFz398PouE1zFMsEbD6q5g5q5vYY7tWE xZiBXkcQPpEhNoMYmKPA3qNxNLCO4PBZZAtgibDqLx7zAhQtAN+vHRGDp6VZkeaU9Ucy imKzAA6flnYCpsrYNBA0ZMJL0qmdoejNa4YmthyMl/GW+hbIDZdzuURwAbsnqnIIgdiO njH+NObiEvRfjKdlyFlYF2Lwg4szkhJH7UwF05HT9XTxmobf5xX2nNuiAKPfmqBM2KHH opFQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@nxp.com header.s=selector2 header.b=ihBDqwNe; arc=pass (i=1 spf=pass spfdomain=nxp.com dkim=pass dkdomain=nxp.com dmarc=pass fromdomain=nxp.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id 78si796646pgb.323.2021.10.27.11.16.14; Wed, 27 Oct 2021 11:16:30 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@nxp.com header.s=selector2 header.b=ihBDqwNe; arc=pass (i=1 spf=pass spfdomain=nxp.com dkim=pass dkdomain=nxp.com dmarc=pass fromdomain=nxp.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235575AbhJ0GVG (ORCPT + 99 others); Wed, 27 Oct 2021 02:21:06 -0400 Received: from mail-eopbgr60079.outbound.protection.outlook.com ([40.107.6.79]:23974 "EHLO EUR04-DB3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S229887AbhJ0GVF (ORCPT ); Wed, 27 Oct 2021 02:21:05 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cR7rsEh1m4lLewcqXcwhGqp6yCRjT6BkPvTHdp9PTYL4FrF8mpl9rJm8iX/Fo37lri8Mj34DgKSJqZF6gugDoLkQe60U5czMrvAJZmNqtN+5wF2LFQOSUPtgfZfv/M54RedwhYNRbKHWolmi9uL4sZyATa0Pw8hNtr/Sru9d9kxhR2rrnttblCZYQBtCGpaWLs2DV4yd4ZcTadkQ0SKVA9wOzi6fRi9CnBZR1tNwNPcFtE4F0WnZsRQvmpfTnlJnIKjE0eeJLITc9cSrAefrp15dG932450lqZEnj2XvXYeJM5uJt+H593RRuWoIoRAFZh5XAJ4ODsXdYN8o6aRtMQ== 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=rT+iwICB4uPuzLpCalOvd3jQLnGkQY+AzSm5N+EvUb8=; b=Qrxszre6pDFar9loyd/49fMgaYI9Glh7A04820N8QqSh/0dgVCNDje2iRCJRrpYX1ehGPxWTPVSoo/gka5ZNEhj6w45RibOY5RvR8XfoKxY0HGVb6tSuYep1z3r900gHN5IdYpoxk3lC9n3ff6wnPSma3X5s3dpJOSewDyQqg4wMoyMFGrOMVynDg4tkEX2lOOBPdO9/u6TjEkWLkaGhRCSs4dzg/yRSLe8ZOzBtIp7LVjOZLz32sP5yVmThF0aAykQIjlLNrisKmpXIzbQByiEll+4fPQ06Cn0iFQms/IZniPW922RzW9atffoU2eqYpspa56sO8ExrGMMdgAsy6g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=rT+iwICB4uPuzLpCalOvd3jQLnGkQY+AzSm5N+EvUb8=; b=ihBDqwNeHTpk/FezjQ1ODoTUJb3/22K55vv882j0c9RhfGBnG7IR3kYnUo6+w7jafTtg2SR7E+VYFVonqrKdZZA6oFBV5xnlOgbvo30DKAO9GVBbd7i2x1xCwWU19AqXHmBskkro5JZ9PFlBlaP9iTks0z4fgLdy94GX3+bFGOQ= Received: from AS8PR04MB8676.eurprd04.prod.outlook.com (2603:10a6:20b:42b::10) by AS8PR04MB9048.eurprd04.prod.outlook.com (2603:10a6:20b:443::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4649.13; Wed, 27 Oct 2021 06:18:38 +0000 Received: from AS8PR04MB8676.eurprd04.prod.outlook.com ([fe80::b059:46c6:685b:e0fc]) by AS8PR04MB8676.eurprd04.prod.outlook.com ([fe80::b059:46c6:685b:e0fc%5]) with mapi id 15.20.4649.014; Wed, 27 Oct 2021 06:18:38 +0000 From: Richard Zhu To: "tharvey@gateworks.com" CC: Lucas Stach , Kishon Vijay Abraham I , "vkoul@kernel.org" , Rob Herring , "galak@kernel.crashing.org" , Shawn Guo , "linux-phy@lists.infradead.org" , Device Tree Mailing List , Linux ARM Mailing List , open list , Sascha Hauer , dl-linux-imx Subject: RE: [PATCH v3 0/9] add the imx8m pcie phy driver and imx8mm pcie support Thread-Topic: [PATCH v3 0/9] add the imx8m pcie phy driver and imx8mm pcie support Thread-Index: AQHXwf8T9WRZIWT4CUunBVSnJ63L4qvZhp6ggAD4IYCAAKk/cIABRTmAgABCoVCAAPyvgIAAhMLwgAEGQACAAA+SAIADuD4QgABZ2ZCAAKpdAIAAx5NwgAC3poCAAK5bEA== Date: Wed, 27 Oct 2021 06:18:38 +0000 Message-ID: References: <1634028078-2387-1-git-send-email-hongxing.zhu@nxp.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=nxp.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 0fb2c547-e270-4984-ce28-08d999119d68 x-ms-traffictypediagnostic: AS8PR04MB9048: x-ld-processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: xI5eSTtXoFMJii+QF725W+IhzOF+yj3ERvh+oeZQyGervPSXghhbqlXgfgRdCNt6qAYS+MMXPMuaoiuqTdZLg2Qui6bQUy4HBOjp3iTiefBS53mNTW/aX/5VE+k2pfKsyoKmfuxbd0hOhpenjE6ASrr0Gzwu/GJy6/kri5KikW6Wa7KCl62x7fMEs7dlzVrQtfC3obIjBla4vaewR1IecJZ3HznbEJf37W+SNQc8iZvDaqDl+Pah8shjmSg7cOdvuw4cW5TWkbA7LI0NC5+hevGAv8ahsyYpzsUnm/b/TMXuL1bSM/GnV/TuayYzjPLdivtW9Vp0UbhA290mPU2BpesCSUE0ixRidGV+qxQmYs8fD3RkAAL4j3ThoZctCGQKFZBDoISLMi44Dl7E190yPCIcU25xmToL/ouNYgqc3qq5Mz/UoqBpN/EBgCCN29Q2daNelbshy7oxSYIwHc6g+Sw0Wqh+k0WqCN5uz3myPkGwe/5YYit5OgDEpoYw07X2XBv7lVkT8fs62zPLzjhFOretSjcxHAkfD8wyUKzzz4o5nI45IRWNv7nPBJnZBC+9TvnQPm4xY66FnVLbhhxFWAptjmk4rLW0OgBJifMZqu32c2NYLMn+hosxn2snY4VsrvArN4Z4LZSyA7CdObE4p28m4U+Bt+KbB59vYH0RcXzQQo78h4vh/67P6PnMcNcqkvd0rh1XY9lUzgDh0/q/bg9Y1r2wzzKIhbA25wOrMWc= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8676.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(6506007)(86362001)(71200400001)(2906002)(52536014)(53546011)(38070700005)(8676002)(186003)(7696005)(55016002)(316002)(7416002)(508600001)(26005)(9686003)(33656002)(38100700002)(6916009)(76116006)(30864003)(66476007)(66446008)(64756008)(66556008)(66946007)(122000001)(8936002)(5660300002)(83380400001)(54906003)(4326008)(32563001)(579004);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?L0xlbW40SDA1eDNxREFsSjNPV2Z1aHNYOW5DOUpNcDBQOEJoNnFWWTNOSGVZ?= =?utf-8?B?Yjg0L1RLaGNCdGxuOUFHWUtpdnpDam1HU2FGMGxwSTNkK1BzRVRvZk9nWm9k?= =?utf-8?B?czNGNVRZdGFDc1c3QWpKMmVzdTlsdExIa1ZKMlRCRlVlb0oyV1ZDSWduZmkv?= =?utf-8?B?eXBrSTJYZWlqYXc4NmgyVDB2dnpqeUFJSWFkZWd4QkJCVVRxV3E2UEhteUVu?= =?utf-8?B?RW52U085anBHdFJVUkJ2bFlCQ00vU3JLZUJaOHdwSDdMalpOcHFOMFlkZDVs?= =?utf-8?B?RTdZRWFjSnliVTZwYVBNcmNBOFVsSFlRaEc0QXU2WEwyZmJIckxlaFFNWnJL?= =?utf-8?B?RSs1Y1hIc3V2MXcvY2c0ZTd5a3NZTjYwdlcwdGhRRG1EUlVOc0lZc2w5UkZO?= =?utf-8?B?NkR3MkdOaUdrK3Y2cWtPZmJ3QVlsNGJtSVcvWlIzaDFXakZVVFVpcUFvYUhn?= =?utf-8?B?UW5GY09IVTh3dXpiWXRTMjJpd3RGWHFKZ2JoaldJSWFtaWZ4VnJTQUsvV1U0?= =?utf-8?B?NmNUZk90Vlp5WXhWSXZQVUVTRGtDcUN0Mm9HZHJZSXJzRXM1aHJISHF0clRS?= =?utf-8?B?V3RlVlFYbGVkd2ZZTnFmZTc3R1kvSWN1OXNZZWNCNDkvRWJlM0hoTDZ3Y0Jn?= =?utf-8?B?dDVuaEMrRFFWL0FJMjZVN2xLTWJoWmtJZzBXeWNSdVVDdDlvc3lVU3NpUjFT?= =?utf-8?B?K1A2N0ZBU0xVekVHYU5SQm5uaDVpTlZBK290S040MGNpSlJzOWZwdk9MNWJE?= =?utf-8?B?YnJxZ252Q3VROGlyd3gvYkxuN2I1NWtnQ09kNFgvanF1aDl2WnNTbVlYNzl4?= =?utf-8?B?Tk9JbHJycU93c0I3SGYrRzI4bXd6R0JaeFRkb3FGcm9xVjJFSXlGYVluaGJk?= =?utf-8?B?QitOa3JjTDdvZWdqd1ppYVNqZStHK3dEM0hFcURwNzgveEdycmx2U2REcW8x?= =?utf-8?B?S0I2dXZ3SkZ6SFZyem04azJ2NFVVK3RMamNsZXBuWDhKSzBoR0VxeEloOTAw?= =?utf-8?B?ZDdOSTRoeHVnbmpsLy8zTHlvNXcvVWRlN3JBQ081WktQNDNHN2pWWmVGNWIv?= =?utf-8?B?Sm8xZG41dlZkcWx1QlJ5eExqck5UdmxjTks1YTF4OGhkaktWNnNRbjFRWllK?= =?utf-8?B?TzhrY25uUWtFNW9nQXNRV01BTWsrVnZsbDE4UDQ0MVJ5T0xxdURKTVpWb2FK?= =?utf-8?B?Mmw0ZWRTWHcwWTBGVnl0RDZPVHNVZG1tWG9SNXBHaXVZT1FPT3N6RnNndTZx?= =?utf-8?B?ZU5oUGpDaS82cG9jTmExMUVDQ0FGVHpMU1U5WVo4dXZMdUNmNW5kK2tLMWxW?= =?utf-8?B?QWtrSVA5RXl0cWVwenJ3ZzIzMk0rcEttZXk5YjkvWldWUXNVcGJRbFk1VVRV?= =?utf-8?B?QjVBK3hYMUJPNXYzaUNoMi9reTlPaCt4NkdMdWl1N2NmUUF0QlhlRDliNzUx?= =?utf-8?B?R05MZStYRmlIVFE2cDVpV01HcTVoWWFkK2JqT3p5Wk9lbU1IM3BiblRienFI?= =?utf-8?B?OGtmb2MyTTBOcHBja3c4SkFUZGxaMGZySFFNUTFwNlVVaTBZNi9RbHhFVjZW?= =?utf-8?B?ZFBxRlA4aHJYYit4NjRhTDh1N25yN1J3SEsxM2tvL2xzaUxYSTJzLzJDMFhu?= =?utf-8?B?cnp0V0VCeWxKNUdHamFsRU53TGErQk9OYnByR1dNY0NpZFA2UTVxdWFIdXZw?= =?utf-8?B?S2h1K1VOckh6Mk9FNUFxVlQzaGk4dGxZTFhLQURsblZEclBKYlFzRFNyYS91?= =?utf-8?B?Njc4WitLK0NqVm9xYkQyNHJIZ2dmQitVZkJpbUordEw1NGFVT3pOdXZQOVo1?= =?utf-8?B?THd3M1ZXS1JvMUhPR3RjbHVLZi81aDVpTWtFV1ZMV3poSjFOdHFFMTE1amxP?= =?utf-8?B?cFd3S3hBVmdPdWp4T2FheGZUWjlySU5TZEs5OTNuWXNQeG5rRlJJbm5XMWt0?= =?utf-8?B?VTNhL3pXS1J3UDFIMGQ4OUNWZnNta1Y2am9VQllyaU52Vnp6aEJLQjVjTmFr?= =?utf-8?B?eThlbHRWTWtmSmFIekY1VmxNU1N3bDRVL2NjakRBSHlDNEl1cWFoRE5sbnJm?= =?utf-8?B?RU5HbVRLbjBuODNXZWYvVVFZbUthUkNDUjR2eE1pL3dXTXVnQWVCU1hocGph?= =?utf-8?B?M1lIYStuSWllVCszMWVNM0c2REpGcGNqM2E0VE14K3A1OXBKbVhFYmRnMkM1?= =?utf-8?B?L3c9PQ==?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8676.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0fb2c547-e270-4984-ce28-08d999119d68 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Oct 2021 06:18:38.3144 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: JYObOfEU2DiDYOLoV4vbaduEzqqJZkQrJ/ejmVIv0QxPAVln+jaR9ASEIukhGC3mkGumKvamDF9Dcj/ah5/MWw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB9048 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBUaW0gSGFydmV5IDx0aGFydmV5 QGdhdGV3b3Jrcy5jb20+DQo+IFNlbnQ6IFdlZG5lc2RheSwgT2N0b2JlciAyNywgMjAyMSAxMjow NiBBTQ0KPiBUbzogUmljaGFyZCBaaHUgPGhvbmd4aW5nLnpodUBueHAuY29tPg0KPiBDYzogTHVj YXMgU3RhY2ggPGwuc3RhY2hAcGVuZ3V0cm9uaXguZGU+OyBLaXNob24gVmlqYXkgQWJyYWhhbSBJ DQo+IDxraXNob25AdGkuY29tPjsgdmtvdWxAa2VybmVsLm9yZzsgUm9iIEhlcnJpbmcgPHJvYmhA a2VybmVsLm9yZz47DQo+IGdhbGFrQGtlcm5lbC5jcmFzaGluZy5vcmc7IFNoYXduIEd1byA8c2hh d25ndW9Aa2VybmVsLm9yZz47DQo+IGxpbnV4LXBoeUBsaXN0cy5pbmZyYWRlYWQub3JnOyBEZXZp Y2UgVHJlZSBNYWlsaW5nIExpc3QNCj4gPGRldmljZXRyZWVAdmdlci5rZXJuZWwub3JnPjsgTGlu dXggQVJNIE1haWxpbmcgTGlzdA0KPiA8bGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQu b3JnPjsgb3BlbiBsaXN0DQo+IDxsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnPjsgU2FzY2hh IEhhdWVyIDxrZXJuZWxAcGVuZ3V0cm9uaXguZGU+Ow0KPiBkbC1saW51eC1pbXggPGxpbnV4LWlt eEBueHAuY29tPg0KPiBTdWJqZWN0OiBSZTogW1BBVENIIHYzIDAvOV0gYWRkIHRoZSBpbXg4bSBw Y2llIHBoeSBkcml2ZXIgYW5kIGlteDhtbSBwY2llDQo+IHN1cHBvcnQNCj4gDQo+IE9uIE1vbiwg T2N0IDI1LCAyMDIxIGF0IDEwOjQxIFBNIFJpY2hhcmQgWmh1IDxob25neGluZy56aHVAbnhwLmNv bT4NCj4gd3JvdGU6DQo+ID4NCj4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4g PiBGcm9tOiBUaW0gSGFydmV5IDx0aGFydmV5QGdhdGV3b3Jrcy5jb20+DQo+ID4gPiBTZW50OiBU dWVzZGF5LCBPY3RvYmVyIDI2LCAyMDIxIDE6MTUgQU0NCj4gPiA+IFRvOiBSaWNoYXJkIFpodSA8 aG9uZ3hpbmcuemh1QG54cC5jb20+DQo+ID4gPiBDYzogTHVjYXMgU3RhY2ggPGwuc3RhY2hAcGVu Z3V0cm9uaXguZGU+OyBLaXNob24gVmlqYXkgQWJyYWhhbSBJDQo+ID4gPiA8a2lzaG9uQHRpLmNv bT47IHZrb3VsQGtlcm5lbC5vcmc7IFJvYiBIZXJyaW5nIDxyb2JoQGtlcm5lbC5vcmc+Ow0KPiA+ ID4gZ2FsYWtAa2VybmVsLmNyYXNoaW5nLm9yZzsgU2hhd24gR3VvIDxzaGF3bmd1b0BrZXJuZWwu b3JnPjsNCj4gPiA+IGxpbnV4LXBoeUBsaXN0cy5pbmZyYWRlYWQub3JnOyBEZXZpY2UgVHJlZSBN YWlsaW5nIExpc3QNCj4gPiA+IDxkZXZpY2V0cmVlQHZnZXIua2VybmVsLm9yZz47IExpbnV4IEFS TSBNYWlsaW5nIExpc3QNCj4gPiA+IDxsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5v cmc+OyBvcGVuIGxpc3QNCj4gPiA+IDxsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnPjsgU2Fz Y2hhIEhhdWVyDQo+ID4gPiA8a2VybmVsQHBlbmd1dHJvbml4LmRlPjsgZGwtbGludXgtaW14IDxs aW51eC1pbXhAbnhwLmNvbT4NCj4gPiA+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjMgMC85XSBhZGQg dGhlIGlteDhtIHBjaWUgcGh5IGRyaXZlciBhbmQgaW14OG1tDQo+ID4gPiBwY2llIHN1cHBvcnQN Cj4gPiA+DQo+ID4gPiBPbiBNb24sIE9jdCAyNSwgMjAyMSBhdCAxMjoyMyBBTSBSaWNoYXJkIFpo dSA8aG9uZ3hpbmcuemh1QG54cC5jb20+DQo+ID4gPiB3cm90ZToNCj4gPiA+ID4NCj4gPiA+ID4g U25pcHBlZC4uLg0KPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IE15IGJvYXJkcyBkbyBu b3QgdXNlIENMS1JFUSMgc28gSSBkbyBub3QgaGF2ZSB0aGF0DQo+ID4gPiA+ID4gPiA+ID4gPiA+ ID4gZGVmaW5lZCBpbiBwaW5tdXggYW5kIEkgZm91bmQgdGhhdCBpZiBJIGFkZA0KPiA+ID4gPiA+ ID4gPiA+ID4gPiA+IE1YOE1NX0lPTVVYQ19JMkM0X1NDTF9QQ0lFMV9DTEtSRVFfQg0KPiA+ID4g PiA+ID4gPiA+ID4gUENJZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IHdvcmtzIG9uIG15IGJvYXJk IGJ1dCB0aGlzIGlzbid0IGEgc29sdXRpb24ganVzdCBhDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4g d29yay1hcm91bmQgKEkgaGF2ZSBib2FyZHMgdGhhdCB1c2UgdGhlIG9ubHkgdHdvDQo+ID4gPiA+ ID4gPiA+ID4gPiA+ID4gcG9zc2libGUgcGlucyBmb3IgQ0xLUkVRIGFzIG90aGVyDQo+ID4gPiA+ ID4gPiA+ID4gPiBmZWF0dXJlcykuDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ ID4gPiA+ID4gPiBTaW1pbGFybHkgeW91IHdpbGwgZmluZCBvbiB0aGUgaW14OG1tLWV2ayBpZiB5 b3UNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBjb21tZW50IG91dCB0aGUgQ0xLUkVRICh3aGljaCBp c24ndCByZXF1aXJlZCkgdGhlDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gaW14OG1tZXZrIHdpbGwg ZW5kIHVwIGhhbmdpbmcgbGlrZSBteQ0KPiA+ID4gPiA+ID4gPiA+ID4gYm9hcmRzOg0KPiA+ID4g PiA+ID4gPiA+ID4gPiBbUmljaGFyZCBaaHVdIEhpIFRpbToNCj4gPiA+ID4gPiA+ID4gPiA+ID4g UmVnYXJkaW5nIHRoZSBTUEVDLCB0aGUgQ0xLUkVRIyBpcyBtYW5kYXRvcnkgcmVxdWlyZWQsDQo+ ID4gPiA+ID4gPiA+ID4gPiA+IGFuZCBzaG91bGQgYmUNCj4gPiA+ID4gPiA+ID4gPiA+IGNvbmZp Z3VyZWQgYXMgYW4gb3BlbiBkcmFpbiwgYWN0aXZlIGxvdyBzaWduYWwuDQo+ID4gPiA+ID4gPiA+ ID4gPiA+IEFuZCB0aGlzIHNpZ25hbCBzaG91bGQgYmUgZHJpdmVuIGxvdyBieSB0aGUgUENJZSBN LjINCj4gPiA+ID4gPiA+ID4gPiA+ID4gZGV2aWNlIHRvIHJlcXVlc3QgdGhlDQo+ID4gPiA+ID4g PiA+ID4gPiBSRUYgY2xvY2sgYmUgYXZhaWxhYmxlKGFjdGl2ZSBsb3cpLg0KPiA+ID4gPiA+ID4g PiA+ID4gPiBTbywgdGhlcmUgaXMgc3VjaCBraW5kIG9mIENMS1JFUSMgcGluIGRlZmluaXRpb24g b24NCj4gPiA+ID4gPiA+ID4gPiA+ID4gaS5NWDhNTSBFVksNCj4gPiA+ID4gPiA+IGJvYXJkLg0K PiA+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiBBbnl3YXksIEkgdGhpbmsg dGhlIGV4dGVybmFsIE9TQyBjaXJjdWl0IHNob3VsZCBiZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiBh bHdheXMgcnVubmluZyBpZiB0aGVyZSBpcw0KPiA+ID4gPiA+ID4gPiA+ID4gbm8gQ0xLUkVRIyBv biB5b3VyIEhXIGJvYXJkIGRlc2lnbi4NCj4gPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiBUaGUgd2F5IEkgdW5kZXJzdGFuZCBpdCBpcyBDTEtS RVEjIGFsbG93cyB0aGUgaG9zdCB0bw0KPiA+ID4gPiA+ID4gPiA+ID4gZGlzYWJsZSB0aGUgUkVG Q0xLIHdoZW4gbm90IG5lZWRlZCBmb3IgcG93ZXIgc2F2aW5ncyBzbw0KPiA+ID4gPiA+ID4gPiA+ ID4gaXQgd291bGQgc2VlbSBvcHRpb25hbCB0byBpbXBsZW1lbnQgdGhhdCBhbmQgaWYgbm90DQo+ ID4gPiA+ID4gPiA+ID4gPiBpbXBsZW1lbnRlZCBzaG91bGQgYmUgbGVmdCB1bmNvbm5lY3RlZCBv bg0KPiA+ID4gPiA+ID4gdGhlIGNhcmQuDQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4g PiA+IFtSaWNoYXJkIFpodV0gTm8sIG5vdCB0aGF0IHdheS4gUmVnYXJkaW5nIHRoZSBTUEVDLCB0 aGlzDQo+ID4gPiA+ID4gPiA+ID4gc2lnbmFsIGlzDQo+ID4gPiA+ID4gPiBtYW5kYXRvcnkgcmVx dWlyZWQuDQo+ID4gPiA+ID4gPiA+ID4gRXNwZWNpYWxseSBmb3IgdGhlIEwxc3MgdXNhZ2VzLiBU aGlzIHNpZ25hbCB3b3VsZCBiZQ0KPiA+ID4gPiA+ID4gPiA+IE9EKG9wZW4gZHJhaW4pLCBiaS1k aXJlY3Rpb25hbCwgYW5kIG1pZ2h0IGJlIGRyaXZlbg0KPiA+ID4gPiA+ID4gPiA+IGxvdy9oaWdo IGJ5IFJDIG9yIEVQIGF1dG9tYXRpY2FsbHkgaWYNCj4gPiA+ID4gPiA+IEwxc3MgbW9kZXMgYXJl IGVuYWJsZWQuDQo+ID4gPiA+ID4gPiA+ID4gWW91IGNhbiBtYWtlIHJlZmVyZW5jZSB0byB0aGUN Cj4gPiA+ID4gPiA+ID4gPiAiRUNOX0wxX1BNX1N1YnN0YXRlc193aXRoX0NMS1JFUV8zMV9NYXlf MjAxM19SZXYxMGEiLA0KPiBvcg0KPiA+ID4gdGhlDQo+ID4gPiA+ID4gPiBjaGFwdGVyIDUuNSBM MSBQTSBTdWJzdGF0ZXMgb2YgIlBDSSBFeHByZXNzIEJhc2UgU3BlY2lmaWNhdGlvbiwgUmV2Lg0K PiA+ID4gPiA+ID4gNC4wIFZlcnNpb24gMS4wIi4NCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ ID4gPg0KPiA+ID4gPiA+ID4gPiBDTEtSRVEgaXMgb25seSBtYW5kYXRvcnkgaWYgeW91IHdpc2gg dG8gc3VwcG9ydCBjbG9jayBwb3dlcg0KPiA+ID4gPiA+ID4gPiBtYW5hZ2VtZW50LiBNYW55IGJv YXJkcyB3aXRoIGEgUENJIGhvc3QgY29udHJvbGxlciBkbyBub3QNCj4gPiA+ID4gPiA+ID4gc3Vw cG9ydCB0aGlzLg0KPiA+ID4gPiA+IFtSaWNoYXJkIFpodV0gT2theSwgdW5kZXJzdG9vZC4NCj4g PiA+ID4gPg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IGRpZmYgLS1naXQN Cj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBhL2FyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2lt eDhtbS1ldmsuZHRzaQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IGIvYXJjaC9hcm02NC9ib290L2R0 cy9mcmVlc2NhbGUvaW14OG1tLWV2ay5kdHNpDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gaW5kZXgg NWNlNDNkYWEwYzhiLi5mMDAyM2I0OGY0NzUgMTAwNjQ0DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4g LS0tIGEvYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvaW14OG1tLWV2ay5kdHNpDQo+ID4g PiA+ID4gPiA+ID4gPiA+ID4gKysrIGIvYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvaW14 OG1tLWV2ay5kdHNpDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gQEAgLTQ0OCw3ICs0NDgsOSBAQA0K PiA+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gICAgICAgICBwaW5j dHJsX3BjaWUwOiBwY2llMGdycCB7DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gICAgICAgICAgICAg ICAgIGZzbCxwaW5zID0gPA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICsvKg0KPiA+ID4gPiA+ID4g PiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gTVg4TU1fSU9NVVhDX0kyQzRfU0NMX1BD SUUxX0NMS1JFUV9CICAgIDB4NjENCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiArKi8NCj4gPiA+ID4g PiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gTVg4TU1fSU9NVVhDX1NBSTJfUlhGU19H UElPNF9JTzIxDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gMHg0MQ0KPiA+ID4gPiA+ID4gPiA+ID4g PiA+ICAgICAgICAgICAgICAgICA+Ow0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgfTsN Cj4gPiA+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IEkgaGF2ZSBQQ0ll IHdvcmtpbmcgd2l0aCBhIGRyaXZlciB0aGF0IEkgcG9ydGVkIGZyb20NCj4gPiA+ID4gPiA+ID4g PiA+ID4gPiBOWFAncyBrZXJuZWwgd2hpY2ggZGlmZmVycyBmcm9tIHlvdXIgZHJpdmVyIGluIHRo YXQNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiB0aGUgUENJZSBQSFkgaXMgbm90IGFic3RyYWN0ZWQg dG8gaXRzIG93biBkcml2ZXIgc28NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBJIHRoaW5rIHRoaXMg aGFzIHNvbWV0aGluZyB0byBkbyB3aXRoIHRoZSBvcmRlciBpbg0KPiA+ID4gPiA+ID4gPiA+ID4g PiA+IHdoaWNoIHRoZSBwaHkgaXMgcmVzZXQgb3INCj4gPiA+ID4gPiBpbml0aWFsaXplZD8NCj4g PiA+ID4gPiA+ID4gPiA+ID4gPiBUaGUgY29uZmlndXJhdGlvbiBvZg0KPiA+ID4gPiA+ID4gPiA+ ID4gZ3ByMTQgYml0cyBsb29rcyBjb3JyZWN0IHRvIG1lLg0KPiA+ID4gPiA+ID4gPiA+ID4gPiBb UmljaGFyZCBaaHVdIFRoZSBDTEtSRVEjIFBJTiBkZWZpbml0aW9uIHNob3VsZG4ndCBiZQ0KPiBt YXNrZWQuDQo+ID4gPiA+ID4gPiA+ID4gPiA+IEluIHRoZSBOWFAncyBsb2NhbCBCU1Aga2VybmVs LCBJIGp1c3QgZm9yY2UgQ0xLUkVRIw0KPiA+ID4gPiA+ID4gPiA+ID4gPiBsb3cgdG8gbGV2ZWwg dXAgdGhlIEhXDQo+ID4gPiA+ID4gPiA+ID4gPiBjb21wYXRpYmlsaXR5Lg0KPiA+ID4gPiA+ID4g PiA+ID4gPiBUaGF0J3MgbWlnaHQgdGhlIHJlYXNvbiB3aHkgdGhlIFBDSWUgd29ya3Mgb24geW91 ciBIVw0KPiA+ID4gPiA+ID4gPiA+ID4gPiBib2FyZCBhbHRob3VnaCB0aGUNCj4gPiA+ID4gPiA+ ID4gPiA+IENMS1JFUSMgUElOIGlzIG5vdCBkZWZpbmVkLg0KPiA+ID4gPiA+ID4gPiA+ID4gPiBU aGlzIG1ldGhvZCBpcyBhIGxpdHRsZSBydWRlIGFuZCB2aW9sYXRlIHRoZSBTUEVDLCBhbmQNCj4g PiA+ID4gPiA+ID4gPiA+ID4gbm90IHJlY29tbWVuZGVkDQo+ID4gPiA+ID4gPiA+ID4gPiBhbHRo b3VnaCBpdCBsZXZlbHMgdXAgdGhlIEhXIGNvbXBhdGliaWxpdHkuDQo+ID4gPiA+ID4gPiA+ID4g PiA+IFNvIEkgZHJvcCB0aGlzIG1ldGhvZCBpbiB0aGlzIHNlcmllcy4NCj4gPiA+ID4gPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiBTb3JyeSwgSSBkb24n dCB1bmRlcnN0YW5kIHdoYXQgeW91IGFyZSBzYXlpbmcgaGVyZS4gSXMNCj4gPiA+ID4gPiA+ID4g PiA+IHRoZXJlIGEgY2hhbmdlIHlvdSBhcmUgZ29pbmcgdG8gbWFrZSB0byB2NCB0aGF0IHdpbGwN Cj4gPiA+ID4gPiA+ID4gPiA+IG1ha2UgdGhpcyB3b3JrIGZvciB0aGUgZXZrIGFuZCBteSBib2Fy ZHM/IFdoYXQgaXMgdGhhdCBjaGFuZ2UNCj4gZXhhY3RseT8NCj4gPiA+ID4gPiA+ID4gPiBbUmlj aGFyZCBaaHVdIE5vLiBXaGF0IEkgc2FpZCBhYm92ZSBpcyB0aGF0IHRoZSBDTEtSRVEjIGlzDQo+ ID4gPiA+ID4gPiA+ID4gZm9yY2VkIHRvIGJlIGxvdyBpbiBOWFAgbG9jYWwgQlNQIGtlcm5lbC4g SSBndWVzcyB0aGlzDQo+ID4gPiA+ID4gPiA+ID4gbWlnaHQgYmUgdGhlIHJlYXNvbiB3aHkgeW91 cg0KPiA+ID4gPiA+ID4gYm9hcmQgd29ya3MuDQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ ID4gPiBCSVQxMSBhbmQgQklUMTAgb2YgSU9NVVhDX0dQUjE0IGNhbiBiZSB1c2VkIHRvIGZvcmNl IHRoZQ0KPiA+ID4gPiA+ID4gPiA+IENMS1JFUSMgdG8NCj4gPiA+ID4gPiA+IGJlIGxvdy4NCj4g PiA+ID4gPiA+ID4gPiBTZXQgQ0xLUkVRX09WRVJSSURFX0VOKGJpdDEwKSAxYjEsIHRoZW4gd3Jp dGUgb25lIHplcm8gdG8NCj4gPiA+ID4gPiA+IENMS1JFUV9PVkVSUklERShiaXQxMSkuDQo+ID4g PiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gT2ssIHRoYXQgbWFrZXMg c2Vuc2UuIFRob3NlIGJpdHMgYXJlIG5vdCBleHBsYWluZWQgd2VsbCBpbg0KPiA+ID4gPiA+ID4g PiB0aGUgSU1YOE1NUk0uIEFzIG15IGJvYXJkJ3MgZXh0ZXJuYWwgUkVGQ0xLIGlzIGFsd2F5cw0K PiA+ID4gPiA+ID4gPiBlbmFibGVkIHRoYXQgbXVzdCBnYXRlIHRoZSBjbG9jayBpbnRlcm5hbGx5 IHRvIHRoZSBob3N0IGNvbnRyb2xsZXINCj4gYmxvY2suDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiA+IEkgY2FuIGNvbmZpcm0gdGhhdCBhc3NlcnRpbmcgdGhvc2UgR1BSMTQgYml0cyBkb2Vz IHJlc29sdmUgbXkNCj4gaXNzdWU6DQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ICNkZWZp bmUgSU1YOE1NX0dQUl9QQ0lFX0NMS1JFUV9PVkVSUklERV9WQUwgICAgQklUKDExKQ0KPiA+ID4g PiA+ID4gPiAjZGVmaW5lIElNWDhNTV9HUFJfUENJRV9DTEtSRVFfT1ZFUlJJREVfRU4NCj4gQklU KDEwKQ0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiAgICAgICAgLyoNCj4gPiA+ID4gPiA+ ID4gICAgICAgICAqIGZvciBib2FyZHMgdGhhdCBkbyBub3QgY29ubmVjdCBDTEtSRVEjLA0KPiA+ ID4gPiA+ID4gPiAgICAgICAgICogb3ZlcnJpZGUgQ0xLUkVRIyBhbmQgZHJpdmUgaXQgbG93IGlu dGVybmFsbHkNCj4gPiA+ID4gPiA+ID4gICAgICAgICAqLw0KPiA+ID4gPiA+ID4gPiAgICAgICAg cmVnbWFwX3VwZGF0ZV9iaXRzKGlteDhfcGh5LT5pb211eGNfZ3ByLA0KPiA+ID4gSU9NVVhDX0dQ UjE0LA0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gSU1YOE1NX0dQUl9QQ0lFX0NMS1JFUV9P VkVSUklERV9WQUwsIDApOw0KPiA+ID4gPiA+ID4gPiAgICAgICAgcmVnbWFwX3VwZGF0ZV9iaXRz KGlteDhfcGh5LT5pb211eGNfZ3ByLA0KPiA+ID4gSU9NVVhDX0dQUjE0LA0KPiA+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gSU1YOE1NX0dQUl9QQ0lFX0NMS1JFUV9PVkVSUklERV9FTiwgMSk7DQo+ ID4gPiA+ID4gW1JpY2hhcmQgWmh1XSByZWdtYXAgYml0cyBvcGVyYXRpb25zIHNob3VsZCBtYW5p cHVsYXRlIGFjY29yZGluZw0KPiBiaXRzLg0KPiA+ID4gPiA+IFRoZSBCSVQoMTApIGFuZCBCSVQo MTEpIHNob3VsZCBiZSB0b3VjaGVkIGFjdHVhbGx5Lg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ DQo+ID4gPiA+ID4gPiA+IFNob3VsZCB0aGlzIGJlIGFkZGVkIGFzIGEgJ2ZzbCxjbGtyZXEtdW5z dXBwb3J0ZWQnIGZsYWcgdGhhdA0KPiA+ID4gPiA+ID4gPiBuZWVkcyB0byBiZSBzZXQgdHJ1ZSB0 byBpbXBsZW1lbnQgdGhlIGFib3ZlIGNvZGU/DQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPg0K PiA+ID4gPiA+ID4gUmljaGFyZCwNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBTb3JyeSAtIHNw b2tlIHRvbyBzb29uLiBNeSB0ZXN0IHdhcyBmbGF3ZWQgYXMgSSBzdGlsbCB3YXMNCj4gPiA+ID4g PiA+IHBpbm11eGluZyBDTEtSRVEgaW4gbXkgZHQgdG8gd29yayBhcm91bmQgdGhlIGlzc3VlIGFu ZCBhZnRlcg0KPiA+ID4gPiA+ID4gcmVtb3ZlZCB0aGUgYWJvdmUgZGlkIG5vdCByZXNvbHZlIG15 IGlzc3VlLiBUaGUgc2V0dGluZyBvZg0KPiA+ID4gPiA+ID4gT1ZFUlJJREVfRU4gd2FzIHdyb25n IGFib3ZlIChzaG91bGQgbm90IGJlIHNldCB0byAnMScgYnV0DQo+ID4gPiA+ID4gPiBCSVQoMTAp DQo+ID4gPiA+ID4gPiBpbnN0ZWFkKSBidXQgdGhpcyBjb2RlIGFscmVhZHkgZXhpc3RzIGluDQo+ ID4gPiA+ID4gPiBpbXg2X3BjaWVfZW5hYmxlX3JlZl9jbGsgYW5kIGlzIHVzZWQgZm9yIElNWDhN TSBwZXIgeW91ciBwYXRjaA0KPiBzbyB0aGlzIGlzIG5vdCB0aGUgaXNzdWUuDQo+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gV2hhdCBtYWtlcyBteSBib2FyZCB3b3JrIGlzIHRvIGNsZWFyIEdQUjE0 IGJpdDkgKGxpa2UgdGhlIE5YUA0KPiA+ID4gPiA+ID4ga2VybmVsDQo+ID4gPiA+ID4gPiBkb2Vz KSBzbyBJIGRvbid0IHRoaW5rIHRoaXMgYml0IGRvZXMgd2hhdCB3ZSB0aGluayBpdCBkb2VzDQo+ ID4gPiA+ID4gPiAoc2VsZWN0IGJldHdlZW4gaW50ZXJuYWwgYW5kIGV4dCBjbGspLiBJIHRoaW5r IHNldHRpbmcgaXQNCj4gPiA+ID4gPiA+IGVuYWJsZXMgY2xvY2sgZ2F0aW5nIHZpYQ0KPiA+ID4g PiA+IENMS1JFUSMuDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gVGhpcyBhbHNvIHBvaW50cyBv dXQgdGhhdCBwZXJoYXBzIHRoZSBDTEtSRVFfT1ZFUlJJREUgbG9naWMNCj4gPiA+ID4gPiA+IHNo b3VsZCBiZSBtb3ZlZCB0byB0aGUgbmV3IHBoeSBkcml2ZXIgZm9yIElNWDhNTS4NCj4gPiA+ID4g PiBbUmljaGFyZCBaaHVdIEl0IHNvdW5kcyByZWFzb25hYmxlIHRvIGNvbnNpZGVyIHRvIGZvcmNl IHRoZQ0KPiA+ID4gPiA+IENMS1JFUSMgdG8gYmUgbG93Lg0KPiA+ID4gPiA+IEkgd2lsbCB0aGlu ayBhYm91dCB0aGF0IGFuZCBhZGQgdGhpcyBpbiBsYXRlciB2NSBwYXRjaC1zZXQgaWYNCj4gPiA+ ID4gPiBub2JvZHkgaGFzIGRpZmZlcmVudCBjb25jZXJucy4NCj4gPiA+ID4gPiBUaGFua3MuDQo+ ID4gPiA+IFtSaWNoYXJkIFpodV0gSGkgVGltOg0KPiA+ID4gPiBBcyB5b3UgbWVudGlvbmVkIGFi b3ZlLCB0aGUgQ0xLUkVRIyBHUElPIFBJTiBpcyBub3QgdXNlZCBmb3IgUENJZQ0KPiA+ID4gPiBv bg0KPiA+ID4geW91ciBib2FyZCwgcmlnaHQ/DQo+ID4gPiA+ICIgKEkgaGF2ZSBib2FyZHMgdGhh dCB1c2UgdGhlIG9ubHkgdHdvIHBvc3NpYmxlIHBpbnMgZm9yIENMS1JFUSBhcw0KPiA+ID4gPiBv dGhlcg0KPiA+ID4gZmVhdHVyZXMpIg0KPiA+ID4gPg0KPiA+ID4gPiBEaWQgdGhlIG92ZXJyaWRl IGNvbmZpZ3VyYXRpb24gb2YgdGhlIGNsa3JlcSMgd2lsbCBicmluZw0KPiA+ID4gPiB1bmV4cGVj dGVkIHJlc3VsdHMNCj4gPiA+IGZvciBvdGhlciBmZWF0dXJlcyBvbiB5b3VyIGJvYXJkPw0KPiA+ ID4gPg0KPiA+ID4NCj4gPiA+IFdoYXQgSSBtZWFuIGlzIHRoYXQgaW14OG1tLXZlbmljZS1ndzc5 MDEuZHRzIHVzZXMgYm90aCBJMkM0IGFuZA0KPiA+ID4gVUFSVDQgYW5kIGJlY2F1c2UgSTJDNF9T Q0wgYW5kIFVBUlQ0X1JYRCBhcmUgdGhlIG9ubHkgdHdvIHBhZHMgdGhhdA0KPiA+ID4gY291bGQg YmUgcGlubXV4ZWQgZm9yIENMS1JFUSMgSSBjYW4ndCB1c2UgdGhlIHdvcmthcm91bmQgb2YgcGlu IG11eGluZw0KPiBpdC4NCj4gPiA+DQo+ID4gPiBDdXJyZW50bHkgeW91ciBkcml2ZXIgb25seSB3 b3JrcyBvbiBteSBpbXg4bW0tdmVuaWNlLSogYm9hcmRzIGlmIEkNCj4gPiA+IGFkZCBvbmUgb2Yg dGhlIGZvbGxvd2luZyBvbiBib2FyZHMgdGhhdCBkb24ndCBjb25uZWN0IHRob3NlIHBhZHMgKG9y DQo+ID4gPiBpZiBJIGNsZWFyDQo+ID4gPiBJTVg4TU1fR1BSX1BDSUVfUkVGX1VTRV9QQUQpOg0K PiA+ID4gTVg4TU1fSU9NVVhDX0kyQzRfU0NMX1BDSUUxX0NMS1JFUV9CDQo+ID4gPiBNWDhNTV9J T01VWENfVUFSVDRfUlhEX1BDSUUxX0NMS1JFUV9CDQo+ID4gPg0KPiA+ID4gTm90ZSB5b3VyICdQ Q0k6IGlteDogYWRkIHRoZSBpbXg4bW0gcGNpZSBzdXBwb3J0JyBwYXRjaCBbMV0gZG9lcw0KPiA+ ID4gZW5hYmxlIHRoaXMgY29kZSBhbHJlYWR5IGluIHRoZSBpbXg2X3BjaWVfZW5hYmxlX3JlZl9j bGsgZnVuY3Rpb24gdG8NCj4gPiA+IG92ZXJyaWRlIFJFRl9DTEsgYW5kIGRyaXZlIGl0IGxvdzoN Cj4gPiA+DQo+ID4gPiBvZmZzZXQgPSBpbXg2X3BjaWVfZ3JwX29mZnNldChpbXg2X3BjaWUpOw0K PiA+ID4gLyoNCj4gPiA+ICogU2V0IHRoZSBvdmVyIHJpZGUgbG93IGFuZCBlbmFibGVkDQo+ID4g PiAqIG1ha2Ugc3VyZSB0aGF0IFJFRl9DTEsgaXMgdHVybmVkIG9uLg0KPiA+ID4gKi8NCj4gPiA+ IHJlZ21hcF91cGRhdGVfYml0cyhpbXg2X3BjaWUtPmlvbXV4Y19ncHIsIG9mZnNldCwNCj4gPiA+ ICAgIElNWDhNUV9HUFJfUENJRV9DTEtfUkVRX09WRVJSSURFLA0KPiA+ID4gICAgMCk7DQo+ID4g PiByZWdtYXBfdXBkYXRlX2JpdHMoaW14Nl9wY2llLT5pb211eGNfZ3ByLCBvZmZzZXQsDQo+ID4g PiAgICBJTVg4TVFfR1BSX1BDSUVfQ0xLX1JFUV9PVkVSUklERV9FTiwNCj4gPiA+ICAgIElNWDhN UV9HUFJfUENJRV9DTEtfUkVRX09WRVJSSURFX0VOKTsNCj4gPiA+DQo+ID4gPiBTbyB0aGlzIGlz IGFscmVhZHkgYmVpbmcgcnVuIGFuZCB5ZXQgbXkgYm9hcmRzIHN0aWxsIGRvIG5vdCB3b3JrDQo+ ID4gPiB1bmxlc3MgSSBjbHIgSU1YOE1NX0dQUl9QQ0lFX1JFRl9VU0VfUEFEIGxpa2UgdGhpcyB3 aGljaCBpcyB3aGF0IHRoZQ0KPiA+ID4gTlhQIGRvd25zdHJlYW0gZHJpdmVyIGRvZXM6DQo+ID4g PiByZWdtYXBfdXBkYXRlX2JpdHMoaW14OF9waHktPmlvbXV4Y19ncHIsIElPTVVYQ19HUFIxNCwN Cj4gPiA+IElNWDhNTV9HUFJfUENJRV9SRUZfVVNFX1BBRCwgMCk7DQo+ID4gPg0KPiA+ID4gVGhp cyBpcyB3aHkgSSdtIG5vdCBzdXJlIHRoYXQgYml0IGRvZXMgd2hhdCB5b3UgdGhpbmsgaXQgZG9l cy4uLiBJDQo+ID4gPiBmZWVsIGxpa2UgdGhhdCBiaXQgZW5hYmxlcyAnVXNlIENMS1JFUSMgdG8g ZW5hYmxlIENMSycuDQo+ID4gPg0KPiA+ID4gWW91IHRlbGwgbWUgdGhlIGRlc2NyaXB0aW9ucyBm b3IgR1BSMTQgYXJlIHdyb25nIGluIHRoZSByZWZlcmVuY2UgbWFudWFsLg0KPiA+ID4gUGxlYXNl IHByb3ZpZGUgY29ycmVjdCBkZXNjcmlwdGlvbnMgZm9yIHVzIHNvIHdlIGNhbiBzb3J0IHRoaXMg b3V0Lg0KPiA+ID4NCj4gPiBbUmljaGFyZCBaaHVdIEhpIFRpbToNCj4gPiBUaGUgQklUOSBvZiBH UFIxNCBpcyB1c2VkIGFzICJHUFJfUENJRTFfUEhZX0lfQVVYX0VOX09WRVJSSURFX0VOIg0KPiA+ IGFuZCBCSVQxOSBpcyB1c2VkIGFzICJHUFJfUENJRTFfUEhZX0ZVTkNfSV9BVVhfRU4iIG9uIGku TVg4TU0uDQo+ID4gSSB0aGluayB0aGUgdHdvIGJpdHMgZGVzY3JpcHRpb25zIGFyZSB1c2VkIHRv IGRlc2NyaWJlIHRoZSBCSVQxOSBhbmQgQklUOQ0KPiB0b2dldGhlciByZWZlciB0byBteSBndWVz cy4NCj4gPiB7R1BSX1BDSUUxX1BIWV9JX0FVWF9FTl9PVkVSUklERV9FTihCSVQ5KSwNCj4gPiBH UFJfUENJRTFfUEhZX0ZVTkNfSV9BVVhfRU4oQklUMTkpIH0NCj4gPiAyJ2IwMDogRXh0ZXJuYWwg UmVmZXJlbmNlIENsb2NrIEkvTyAoZm9yIFBMTCkgRGlzYWJsZQ0KPiA+IDInYjAxOiBFeHRlcm5h bCBSZWZlcmVuY2UgQ2xvY2sgSS9PIChmb3IgUExMKSBFbmFibGUNCj4gPiAyJ2IxMDogRXh0ZXJu YWwgUmVmZXJlbmNlIENsb2NrIEkvTyAoZm9yIFBMTCkgRGlzYWJsZQ0KPiA+IDInYjExOiBFeHRl cm5hbCBSZWZlcmVuY2UgQ2xvY2sgSS9PIChmb3IgUExMKSBvdXRwdXQgaXMgY29udHJvbGxlZCBi eQ0KPiA+IENMS1JFUSMNCj4gPg0KPiA+IFRoZSBvcHRpb24xJjMgc2hvdWxkIGJlIGZvcmJpZGRl biwgc2luY2UgdGhlIGV4dGVybmFsIFJFRiBDTEsgSS9PIHNob3VsZA0KPiBiZSBlbmFibGVkIG9u IHlvdXIgYm9hcmQgYW5kIEVWSyBib2FyZC4NCj4gPiBJbiB0aGUgb3B0aW9uMiY0LCB0aGUgQklU MTkgc2hvdWxkIGJlIHNldCB0byBiZSAxJ2IxLicNCj4gPg0KPiA+IFNvLCByZWdhcmRpbmcgbXkg dW5kZXJzdGFuZCwgaWYgdGhlIENMS1JFUSMgaXMgbm90IHBpbm11eGVkIGluIHlvdXIgdXNlDQo+ IGNhc2UsIHRoZSBJTVg4TU1fR1BSX1BDSUVfUkVGX1VTRV9QQUQgKEJJVDkpIHNob3VsZCBiZSAx J2IwLg0KPiA+DQo+IA0KPiBSaWNoYXJkLA0KPiANCj4gT2ssIGlmIHRoaXMgaXMgdGhlIGNhc2Ug dGhlbiBkcml2ZXJzL3BjaS9jb250cm9sbGVyL2R3Yy9wY2ktaW14Ni5jIGZvciBJTVg4TU0NCj4g c2hvdWxkIG5vdCB0b3VjaCBHUFIxNCBhbmQgJ1t2Myw5LzldIFBDSTogaW14OiBhZGQgdGhlIGlt eDhtbSBwY2llIHN1cHBvcnQnDQo+IHNob3VsZCBoYXZlIHRoaXMgb24gdG9wIGFuZCBzcXVhc2hl ZDoNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvZHdjL3BjaS1pbXg2LmMN Cj4gYi9kcml2ZXJzL3BjaS9jb250cm9sbGVyL2R3Yy9wY2ktaW14Ni5jDQo+IGluZGV4IDdjODli ZDFhNjQ0MS4uNDU4ZDU0YzhlMzg1IDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL3BjaS9jb250cm9s bGVyL2R3Yy9wY2ktaW14Ni5jDQo+ICsrKyBiL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvZHdjL3Bj aS1pbXg2LmMNCj4gQEAgLTQ1Miw4ICs0NTIsMTIgQEAgc3RhdGljIGludCBpbXg2X3BjaWVfZW5h YmxlX3JlZl9jbGsoc3RydWN0DQo+IGlteDZfcGNpZSAqaW14Nl9wY2llKQ0KPiAgICAgICAgICAg ICAgICAgYnJlYWs7DQo+ICAgICAgICAgY2FzZSBJTVg3RDoNCj4gICAgICAgICAgICAgICAgIGJy ZWFrOw0KPiAtICAgICAgIGNhc2UgSU1YOE1ROg0KPiAgICAgICAgIGNhc2UgSU1YOE1NOg0KPiAr ICAgICAgICAgICAgICAgcmV0ID0gY2xrX3ByZXBhcmVfZW5hYmxlKGlteDZfcGNpZS0+cGNpZV9h dXgpOw0KPiArICAgICAgICAgICAgICAgaWYgKHJldCkNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgZGV2X2VycihkZXYsICJ1bmFibGUgdG8gZW5hYmxlIHBjaWVfYXV4DQo+IGNsb2NrXG4iKTsN Cj4gKyAgICAgICAgICAgICAgIGJyZWFrOw0KPiArICAgICAgIGNhc2UgSU1YOE1ROg0KPiAgICAg ICAgICAgICAgICAgcmV0ID0gY2xrX3ByZXBhcmVfZW5hYmxlKGlteDZfcGNpZS0+cGNpZV9hdXgp Ow0KPiAgICAgICAgICAgICAgICAgaWYgKHJldCkgew0KPiAgICAgICAgICAgICAgICAgICAgICAg ICBkZXZfZXJyKGRldiwgInVuYWJsZSB0byBlbmFibGUgcGNpZV9hdXgNCj4gY2xvY2tcbiIpOw0K PiANCltSaWNoYXJkIFpodV0gU29ycnksIEkgbWlnaHQgZG9uJ3QgdW5kZXJzdGFuZCB3aGF0J3Mg bWVhbmluZyBvZiB0aGUgY2hhbmdlcy4NCldoYXQncmUgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4g YmVmb3JlIGFuZCBhZnRlciB0aGUgY2hhbmdlcz8NCg0KPiANCj4gQW5kIHlvdXIgJ1t2Myw1Lzld IHBoeTogZnJlZXNjYWxlOiBwY2llOiBpbml0aWFsaXplIHRoZSBpbXg4IHBjaWUgc3RhbmRhbG9u ZSBwaHkNCj4gZHJpdmVyJyBzaG91bGQgaGF2ZSB0aGlzIG9uIHRvcCBhbmQgc3F1YXNoZWQ6DQo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL3BoeS9mcmVlc2NhbGUvcGh5LWZzbC1pbXg4bS1wY2llLmMN Cj4gYi9kcml2ZXJzL3BoeS9mcmVlc2NhbGUvcGh5LWZzbC1pbXg4bS1wY2llLmMNCj4gaW5kZXgg MzE3Y2Y2MWJmZjM3Li4yN2NhMGI5ZjFkOTIgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvcGh5L2Zy ZWVzY2FsZS9waHktZnNsLWlteDhtLXBjaWUuYw0KPiArKysgYi9kcml2ZXJzL3BoeS9mcmVlc2Nh bGUvcGh5LWZzbC1pbXg4bS1wY2llLmMNCj4gQEAgLTQzLDcgKzQzLDcgQEANCj4gICNkZWZpbmUg SU1YOE1NX0dQUl9QQ0lFX0NNTl9SU1QgICAgICAgICAgICAgICAgQklUKDE4KQ0KPiAgI2RlZmlu ZSBJTVg4TU1fR1BSX1BDSUVfUE9XRVJfT0ZGICAgICAgQklUKDE3KQ0KPiAgI2RlZmluZSBJTVg4 TU1fR1BSX1BDSUVfU1NDX0VOICAgICAgICAgQklUKDE2KQ0KPiAtI2RlZmluZSBJTVg4TU1fR1BS X1BDSUVfUkVGX1VTRV9QQUQgICAgQklUKDkpDQo+ICsjZGVmaW5lIElNWDhNTV9HUFJfUENJRV9B VVhfRU5fT1ZFUlJJREUgICAgICAgIEJJVCg5KQ0KPiANCj4gIHN0cnVjdCBpbXg4X3BjaWVfcGh5 IHsNCj4gICAgICAgICB1MzIgICAgICAgICAgICAgICAgICAgICByZWZjbGtfcGFkX21vZGU7DQo+ IEBAIC02MywxMiArNjMsMTIgQEAgc3RhdGljIGludCBpbXg4X3BjaWVfcGh5X2luaXQoc3RydWN0 IHBoeSAqcGh5KQ0KPiAgICAgICAgIHJlc2V0X2NvbnRyb2xfYXNzZXJ0KGlteDhfcGh5LT5yZXNl dCk7DQo+IA0KPiAgICAgICAgIHJlZ21hcF91cGRhdGVfYml0cyhpbXg4X3BoeS0+aW9tdXhjX2dw ciwgSU9NVVhDX0dQUjE0LA0KPiAtICAgICAgICAgICAgICAgICAgICAgICAgICBJTVg4TU1fR1BS X1BDSUVfUkVGX1VTRV9QQUQsDQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgIGlteDhfcGh5 LT5yZWZjbGtfcGFkX21vZGUgPT0gMSA/DQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgIElN WDhNTV9HUFJfUENJRV9SRUZfVVNFX1BBRCA6IDApOw0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgICBJTVg4TU1fR1BSX1BDSUVfQVVYX0VOX09WRVJSSURFLA0KPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAwKTsNCj4gICAgICAgICByZWdtYXBfdXBkYXRlX2JpdHMoaW14OF9waHktPmlv bXV4Y19ncHIsIElPTVVYQ19HUFIxNCwNCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgSU1Y OE1NX0dQUl9QQ0lFX0FVWF9FTiwNCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgSU1YOE1N X0dQUl9QQ0lFX0FVWF9FTik7DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIGlteDhfcGh5 LT5yZWZjbGtfcGFkX21vZGUgPT0NCj4gSU1YOF9QQ0lFX1JFRkNMS19QQURfSU5QVVQgPw0KPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICBJTVg4TU1fR1BSX1BDSUVfQVVYX0VOIDogMCk7DQo+ ICAgICAgICAgcmVnbWFwX3VwZGF0ZV9iaXRzKGlteDhfcGh5LT5pb211eGNfZ3ByLCBJT01VWENf R1BSMTQsDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIElNWDhNTV9HUFJfUENJRV9QT1dF Ul9PRkYsIDApOw0KPiAgICAgICAgIHJlZ21hcF91cGRhdGVfYml0cyhpbXg4X3BoeS0+aW9tdXhj X2dwciwgSU9NVVhDX0dQUjE0LCBAQA0KPiAtNzYsNyArNzYsNyBAQCBzdGF0aWMgaW50IGlteDhf cGNpZV9waHlfaW5pdChzdHJ1Y3QgcGh5ICpwaHkpDQo+IA0KPiAgICAgICAgIHJlZ21hcF91cGRh dGVfYml0cyhpbXg4X3BoeS0+aW9tdXhjX2dwciwgSU9NVVhDX0dQUjE0LA0KPiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBJTVg4TU1fR1BSX1BDSUVfUkVGX0NMS19TRUwsDQo+IC0gICAgICAg ICAgICAgICAgICAgICAgICAgIGlteDhfcGh5LT5yZWZjbGtfcGFkX21vZGUgPT0gMSA/DQo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgIGlteDhfcGh5LT5yZWZjbGtfcGFkX21vZGUgPT0NCj4g SU1YOF9QQ0lFX1JFRkNMS19QQURfSU5QVVQgPw0KPiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBJTVg4TU1fR1BSX1BDSUVfUkVGX0NMS19FWFQgOg0KPiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBJTVg4TU1fR1BSX1BDSUVfUkVGX0NMS19QTEwpOw0KPiAgICAgICAgIHVzbGVlcF9yYW5n ZSgxMDAsIDIwMCk7DQo+IA0KPiBJIHRlc3RlZCB0aGlzIGFuZCBpdCB3b3JrcyBib3RoIG9uIGlt eDhtbS1ldmsgYW5kIGlteDhtbS12ZW5pY2UtKiB3aGljaA0KPiBib3RoIGhhdmUgZXh0ZXJuYWwg Y2xrZ2VuLg0KPiANCj4gSG93ZXZlciwgdGhlIGFib3ZlIGRvZXMgbm90IHNldCBJTVg4TU1fR1BS X1BDSUVfQVVYX0VOX09WRVJSSURFDQo+IGZvciB0aGUgY2FzZSB3aGVyZSBDTEtSRVEjIGlzIGNv bm5lY3RlZCBhbmQgdGh1cyBzaG91bGQgYmUgdXNlZCBzbyBJIHRoaW5rDQo+IHdlIG5lZWQgdG8g YWRkIGEgcHJvcGVydHkgZm9yIHRoYXQgdG8gZGVmaW5lIGlmIENMS1JFUSMgaXMgaG9va2VkIHVw IG9yIG5vdC4gSQ0KPiB0ZXN0ZWQgZW5hYmxpbmcgSU1YOE1NX0dQUl9QQ0lFX0FVWF9FTl9PVkVS UklERSBhbmQgYXMgZXhwZWN0ZWQNCj4gdGhhdCB3b3JrZWQgb24gdGhlIGlteDhtbS1ldmsgd2hp Y2ggaG9va3MgdXAgQ0xLUkVRIyBidXQgbm90DQo+IGlteDhtbS12ZW5pY2Ugd2hpY2ggZG9lcyBu b3QgaG9vayB1cCBDTEtSRVEjLg0KPiANCj4gV2hhdCBkbyB5b3UgdGhpbmsgYWJvdXQgYWRkaW5n IGEgcHJvcGVydHkgZm9yIHRoaXM/DQpbUmljaGFyZCBaaHVdIEZpcnN0IG9mIGFsbCwgdGhhbmtz IGEgbG90IGZvciB5b3VyIGhlbHAgdG8gZmlndXJlIG91dCB0aGUgZGV0YWlscy4NCkFncmVlIHdp dGggeW91ciBwcm9wb3NhbC4NCk9uZSBvcHRpb25hbCBwcm9wZXJ0eSAiZnNsLGNsa3JlcS11bnN1 cHBvcnRlZCIgd291bGQgYmUgYWRkZWQgZm9yIHRoZSBDTEtSRVEjIG5vdCBob29rZWQgY2FzZSBs YXRlci4NCg0KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9w aHkvZnNsLGlteDgtcGNpZS1waHkueWFtbCBiL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5k aW5ncy9waHkvZnNsLGlteDgtcGNpZS1waHkueWFtbA0KaW5kZXggMDk3YmEyYTI4ZmI0Li4yMjY0 NDUyOTI0Y2MgMTAwNjQ0DQotLS0gYS9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mv cGh5L2ZzbCxpbXg4LXBjaWUtcGh5LnlhbWwNCisrKyBiL0RvY3VtZW50YXRpb24vZGV2aWNldHJl ZS9iaW5kaW5ncy9waHkvZnNsLGlteDgtcGNpZS1waHkueWFtbA0KQEAgLTU4LDYgKzU4LDExIEBA IHByb3BlcnRpZXM6DQogICAgICRyZWY6IC9zY2hlbWFzL3R5cGVzLnlhbWwjL2RlZmluaXRpb25z L3VpbnQzMg0KICAgICBkZWZhdWx0OiAwDQoNCisgIGZzbCxjbGtyZXEtdW5zdXBwb3J0ZWQ6DQor ICAgIHR5cGU6IGJvb2xlYW4NCisgICAgZGVzY3JpcHRpb246IEEgYm9vbGVhbiBwcm9wZXJ0eSB3 aG9lcyBwcmVzZW5jZSBpbmRpY2F0ZXMgdGhlIENMS1JFUSMNCisgICAgICBzaWduYWwgaXNuJ3Qg c3VwcG9ydGVkIGluIHRoZSBIVyBib2FyZCBkZXNpZ24gKG9wdGlvbmFsIHJlcXVpcmVkKS4NCisN Cg0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGh5L2ZyZWVzY2FsZS9waHktZnNsLWlteDhtLXBjaWUu YyBiL2RyaXZlcnMvcGh5L2ZyZWVzY2FsZS9waHktZnNsLWlteDhtLXBjaWUuYw0KaW5kZXggMDdl ZWEzOTI4M2VkLi40YjQ0MDJlYWRkY2MgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL3BoeS9mcmVlc2Nh bGUvcGh5LWZzbC1pbXg4bS1wY2llLmMNCisrKyBiL2RyaXZlcnMvcGh5L2ZyZWVzY2FsZS9waHkt ZnNsLWlteDhtLXBjaWUuYw0KQEAgLTQzLDcgKzQzLDcgQEANCiAjZGVmaW5lIElNWDhNTV9HUFJf UENJRV9DTU5fUlNUICAgICAgICAgICAgICAgIEJJVCgxOCkNCiAjZGVmaW5lIElNWDhNTV9HUFJf UENJRV9QT1dFUl9PRkYgICAgICBCSVQoMTcpDQogI2RlZmluZSBJTVg4TU1fR1BSX1BDSUVfU1ND X0VOICAgICAgICAgQklUKDE2KQ0KLSNkZWZpbmUgSU1YOE1NX0dQUl9QQ0lFX1JFRl9VU0VfUEFE ICAgIEJJVCg5KQ0KKyNkZWZpbmUgSU1YOE1NX0dQUl9QQ0lFX0FVWF9FTl9PVkVSUklERSAgICAg ICAgQklUKDkpDQoNCiBzdHJ1Y3QgaW14OF9wY2llX3BoeSB7DQogICAgICAgIHZvaWQgX19pb21l bSAgICAgICAgICAgICpiYXNlOw0KQEAgLTU0LDYgKzU0LDcgQEAgc3RydWN0IGlteDhfcGNpZV9w aHkgew0KICAgICAgICB1MzIgICAgICAgICAgICAgICAgICAgICByZWZjbGtfcGFkX21vZGU7DQog ICAgICAgIHUzMiAgICAgICAgICAgICAgICAgICAgIHR4X2RlZW1waF9nZW4xOw0KICAgICAgICB1 MzIgICAgICAgICAgICAgICAgICAgICB0eF9kZWVtcGhfZ2VuMjsNCisgICAgICAgYm9vbCAgICAg ICAgICAgICAgICAgICAgY2xrcmVxX3VudXNlZDsNCiB9Ow0KDQogc3RhdGljIGludCBpbXg4X3Bj aWVfcGh5X2luaXQoc3RydWN0IHBoeSAqcGh5KQ0KQEAgLTY1LDEzICs2NiwxNSBAQCBzdGF0aWMg aW50IGlteDhfcGNpZV9waHlfaW5pdChzdHJ1Y3QgcGh5ICpwaHkpDQogICAgICAgIHJlc2V0X2Nv bnRyb2xfYXNzZXJ0KGlteDhfcGh5LT5yZXNldCk7DQoNCiAgICAgICAgcGFkX21vZGUgPSBpbXg4 X3BoeS0+cmVmY2xrX3BhZF9tb2RlOw0KKyAgICAgICAvKiBTZXQgQVVYX0VOX09WRVJSSURFIDEn YjAsIHdoZW4gdGhlIENMS1JFUSMgaXNuJ3QgaG9va2VkICovDQogICAgICAgIHJlZ21hcF91cGRh dGVfYml0cyhpbXg4X3BoeS0+aW9tdXhjX2dwciwgSU9NVVhDX0dQUjE0LA0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgSU1YOE1NX0dQUl9QQ0lFX1JFRl9VU0VfUEFELA0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgcGFkX21vZGUgPT0gSU1YOE1NX0dQUl9QQ0lFX1JFRl9VU0VfUEFEID8N Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIElNWDhNTV9HUFJfUENJRV9SRUZfVVNFX1BBRCA6 IDApOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgSU1YOE1NX0dQUl9QQ0lFX0FVWF9FTl9P VkVSUklERSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgIGlteDhfcGh5LT5jbGtyZXFfdW51 c2VkID8NCisgICAgICAgICAgICAgICAgICAgICAgICAgIDAgOiBJTVg4TU1fR1BSX1BDSUVfQVVY X0VOX09WRVJSSURFKTsNCiAgICAgICAgcmVnbWFwX3VwZGF0ZV9iaXRzKGlteDhfcGh5LT5pb211 eGNfZ3ByLCBJT01VWENfR1BSMTQsDQogICAgICAgICAgICAgICAgICAgICAgICAgICBJTVg4TU1f R1BSX1BDSUVfQVVYX0VOLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgSU1YOE1NX0dQUl9Q Q0lFX0FVWF9FTik7DQorICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRfbW9kZSA9PSBJTVg4 X1BDSUVfUkVGQ0xLX1BBRF9JTlBVVCA/DQorICAgICAgICAgICAgICAgICAgICAgICAgICBJTVg4 TU1fR1BSX1BDSUVfQVVYX0VOIDogMCk7DQogICAgICAgIHJlZ21hcF91cGRhdGVfYml0cyhpbXg4 X3BoeS0+aW9tdXhjX2dwciwgSU9NVVhDX0dQUjE0LA0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgSU1YOE1NX0dQUl9QQ0lFX1BPV0VSX09GRiwgMCk7DQogICAgICAgIHJlZ21hcF91cGRhdGVf Yml0cyhpbXg4X3BoeS0+aW9tdXhjX2dwciwgSU9NVVhDX0dQUjE0LA0KQEAgLTE3MSw2ICsxNzQs MTEgQEAgc3RhdGljIGludCBpbXg4X3BjaWVfcGh5X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZp Y2UgKnBkZXYpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmaW14OF9waHktPnR4 X2RlZW1waF9nZW4yKSkNCiAgICAgICAgICAgICAgICBpbXg4X3BoeS0+dHhfZGVlbXBoX2dlbjIg PSAwOw0KDQorICAgICAgIGlmIChvZl9wcm9wZXJ0eV9yZWFkX2Jvb2wobnAsICJmc2wsY2xrcmVx LXVuc3VwcG9ydGVkIikpDQorICAgICAgICAgICAgICAgaW14OF9waHktPmNsa3JlcV91bnVzZWQg PSB0cnVlOw0KKyAgICAgICBlbHNlDQorICAgICAgICAgICAgICAgaW14OF9waHktPmNsa3JlcV91 bnVzZWQgPSBmYWxzZTsNCisNCiAgICAgICAgaW14OF9waHktPmNsayA9IGRldm1fY2xrX2dldChk ZXYsICJyZWYiKTsNCiAgICAgICAgaWYgKElTX0VSUihpbXg4X3BoeS0+Y2xrKSkgew0KICAgICAg ICAgICAgICAgIGRldl9lcnIoZGV2LCAiZmFpbGVkIHRvIGdldCBpbXggcGNpZSBwaHkgY2xvY2tc biIpOw0KDQpCZXN0IFJlZ2FyZHMNClJpY2hhcmQgWmh1DQoNCj4gDQo+IEJlc3QgcmVnYXJkcywN Cj4gDQo+IFRpbQ0K