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 503D5A0579; Fri, 9 Apr 2021 09:08:28 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C6E2D141372; Fri, 9 Apr 2021 09:08:25 +0200 (CEST) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mails.dpdk.org (Postfix) with ESMTP id AF44714136E for ; Fri, 9 Apr 2021 09:08:23 +0200 (CEST) IronPort-SDR: fD54HNLvSiuyyA8/ziqRZzsOw92330Ey9oAy7WnaWuJLTf2vgv0er3MGO+Pn0UZoaH4QZ+dF8r X/jbHJ1OBSwQ== X-IronPort-AV: E=McAfee;i="6000,8403,9948"; a="193746550" X-IronPort-AV: E=Sophos;i="5.82,208,1613462400"; d="scan'208";a="193746550" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Apr 2021 00:08:22 -0700 IronPort-SDR: Egna2SuW5iLo13Iv39hAKPVPMucrFkkj+Hnmn5oeq+BE1AlfYbJJ0+4CWC7zBZU1mBpYiwcFn1 PrRd97bSf+MA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.82,208,1613462400"; d="scan'208";a="442052026" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by fmsmga004.fm.intel.com with ESMTP; 09 Apr 2021 00:08:22 -0700 Received: from orsmsx609.amr.corp.intel.com (10.22.229.22) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Fri, 9 Apr 2021 00:08:21 -0700 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX609.amr.corp.intel.com (10.22.229.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Fri, 9 Apr 2021 00:08:21 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2 via Frontend Transport; Fri, 9 Apr 2021 00:08:21 -0700 Received: from NAM02-DM3-obe.outbound.protection.outlook.com (104.47.56.43) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2106.2; Fri, 9 Apr 2021 00:08:19 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=U5Gc74iuAIYB64afrwZI+ZkWGnzlKvkKDTICV3u/9Vu4hE6bAV2LYBwaE6PjWfamAiYGFPE0VISRK5rqx+CJ9G0CNbdCPv6RHNeHrnZKX14GE7JPYywGgpEaSkkH0KbT2XSxrhmGqShFN0fN7/3OCnXvYKZNTxj7e7fC0toJhwTCTNYTHRYhkjOORM5TH8lglDRipXJT4wr1nq6nUbGn12HnI3DbBaU7a/dljhQSFyK2OXmQeZtHgg95PXbiZ5XsJjUftRF6laCUU0/9xi8kwk9g1q1n/DokHJo2tFzAKrDTCKPT0uaeRw+KX8QYepcCdy1DSgE74svBNADXkql9UA== 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-SenderADCheck; bh=tCd6asrL1HX9+svXUOjE/ZC1XJCtpbf4vzSoF2J16rQ=; b=eQ6NDS0Xr4N/wPvRXRMUA368t+f9ftASGVKEO8fvWMCuLPzwGGRep3aRC/O24yAeZbnkgQIFhqVqUU0sFTHmJvVXNlHRZMsPp9qtKM/j1QE6WYklovRZuf4SJRBzlec9ch+/5WS3ixVRBgoj6ZMs09AYiNO7IoT/g1Hbp2vudEhf4vOqOhgHgicse2S0j1OqUSgyhMaUmqWAJ+qjvF3eVtHeLr4Z6kI8Er+5EpyhZltAliJHVHh/KPhLaB+g0kll5X5QDpIG4V9NUSj2ELIm/flCpAcK8qn7+vSWTvtenVMj75GmcmmHuMV6h6gXloHJOz8GlOz/+fDM4G0MewYYOw== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tCd6asrL1HX9+svXUOjE/ZC1XJCtpbf4vzSoF2J16rQ=; b=OCYUsikK/DQuXfUqMGh1w8oK//HffBnhWogXCwWS7ykmDv7lmWdYfokgEKd7kLafoG82Gbx5zo4bslsNarmd2cN0PZcO9Z3keMVdWfYQqgc9HE3VvmsY2lFiIr2FchCSILk73jm7a6Bw3w8GY6OkKuuAedIP1yWjBXUpEAM9wYY= Received: from DM4PR11MB5534.namprd11.prod.outlook.com (2603:10b6:5:391::22) by DM5PR1101MB2250.namprd11.prod.outlook.com (2603:10b6:4:4d::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.18; Fri, 9 Apr 2021 07:08:17 +0000 Received: from DM4PR11MB5534.namprd11.prod.outlook.com ([fe80::79a3:3404:b907:d49c]) by DM4PR11MB5534.namprd11.prod.outlook.com ([fe80::79a3:3404:b907:d49c%6]) with mapi id 15.20.4020.021; Fri, 9 Apr 2021 07:08:17 +0000 From: "Li, Xiaoyun" To: oulijun , "linuxarm@openeuler.org" , dev Thread-Topic: [Linuxarm] Re: [PATCH 2/3] app/testpmd: remove forwarding config from parsing Rx and Tx Thread-Index: AQHXEaldDfAva4xisEaALSlRIYLxeKqRMteQgAE8B4CAAAufEIABqS8AgAYz1eCABkijAIAAAc8AgAtIn4CAAAgboA== Date: Fri, 9 Apr 2021 07:08:17 +0000 Message-ID: References: <1614939741-63927-1-git-send-email-oulijun@huawei.com> <1614939741-63927-3-git-send-email-oulijun@huawei.com> <6091bdaf-6d23-5471-ff3b-7af673fca23f@huawei.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: huawei.com; dkim=none (message not signed) header.d=none;huawei.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.102.204.51] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: f43b1029-651c-4765-b6d5-08d8fb26402c x-ms-traffictypediagnostic: DM5PR1101MB2250: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 096dKqBL5Lufc1TeRYc0oIBizEq3fjCJk0pKlVYXJMFU96QswjzvIrUtt4CKa5fAf+3cjac7lzM4NEcKAlEUCEXvW7qiifUTCVITDXpH01fW0H/QwEiAYrcwu+HJ2FYpxY0mv3OIf9J3tk9Bw/yy8XFmUqcSkmWfvpPyZIiAsZBgm4YWV/isOzdCe8kAU1JL7vABtCZ9x8fybxXWTge9fbWknZ5wO/Q1rIK3oCyTVczZsd9Ci/b+CWwOwOFEc6NU/G+g5oK2e9BSwyRNq67V86l0G9krJAXhpmYblIC9L5PRlLSzz1oKnSYKLQ35lYocTieBtggIpKVl7V3VBHen0It7es7naYG6CzghoMfjzZaNs7amnmgNN6/tKNGZHddmU78ZDsVPCAKnLH6dn9VcXSYFd31okvBZLbCaekPYskg/IHYUypOLCBLEgwTdbXyaDiXTY/CQdPFZdSCeU/GWzwRFYLgJKPriF5pOPNjDlE/2JCd4vppLwf6FqKBedWXAdazYizSbEMY4uHAYXm4k3TPlPgMXzv7BsrzDi0/Lryo5NCw0E3j5Gkf7Baf34pwgzlGNlDJW3p4c1iwp4oCGOtJdezgcnQvHnhiFFv/ADsSmAfe5ml1J0mhHZiudX5YP6hiGdgnDaHHHLnkOaAoYYRvWn5YVLE7DzCEUn1CK0Kk= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM4PR11MB5534.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(346002)(136003)(376002)(366004)(39860400002)(396003)(316002)(5660300002)(55016002)(9686003)(110136005)(7696005)(8676002)(52536014)(2906002)(30864003)(33656002)(83380400001)(186003)(6506007)(66946007)(53546011)(71200400001)(64756008)(76116006)(66446008)(66556008)(66476007)(478600001)(26005)(8936002)(86362001)(38100700001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?OHBLd2UwUDdNdnVvczMzMUJXR2dreHpLNGJjTUNtWlE1dEdPcmFLT2lPZGlB?= =?utf-8?B?YXE3bnpRWFZ1dnozQTB3bk1ueElFdjJuOXFlTW1MSXhTdkxncU9oMGZXTkRN?= =?utf-8?B?YmRrcE03R2t0U1N6TWdhWW5hTHhoMGU0U0JqUkkvSGNmT2ZMK1NUSFlnRDhF?= =?utf-8?B?ZmVpNDYzd1YyS3dSdWhKc3dteThRVHJSNkMrVCtHWmEzRURrRlF0YlN5OWpX?= =?utf-8?B?TXFXVk03L1ZwSFJqdFpRTnJ2Y2tTcDd2WjNvak9aK2V4b1dyQ0d3YWhGdDdT?= =?utf-8?B?KzRKN095Mmd5aDI2OEJ5MFBvY053TURCd0w2Z0t4RHFzdWliSXIvZnNHL2lS?= =?utf-8?B?UnBJZkhUMllYUUFmdGhyZUZrVDFFNzVFdyt4TjlxQ3RHN1RwLzg0bnYyVTMv?= =?utf-8?B?NDZpYXVSQ3JuT1Qzbm9OR2pxZ1oyb0RpMklvLzVjb0U2RURqcWhKYnM1aUVQ?= =?utf-8?B?Zmp5aUduVExlVmFKVnBtN3BLajBsVk5rcjQzRW1SbFArdXVKM3VPMmJBbUpt?= =?utf-8?B?S21pWkg5QVdNcTdSbjRxbE91OEhneEljUWFRUDY5d0Q2YUIyVGNXYXh3d0o1?= =?utf-8?B?R2FaeE1LNFV2V0xpVHdYVjBYdkpmR1BQNW1nUlFyb2pvby9zZE5BNWo3dTRx?= =?utf-8?B?M1dsbXZHMUI2NWY0RWNlakhUUUd5R3FMM051ZEc0bWU2L3ZCbFN0cm9GVHpq?= =?utf-8?B?OSs2N3E5ekRNS3RSVFFFR1B1Qk5FS2huSzBrYk9KN2dsVmxBdVlWMmdJcTl1?= =?utf-8?B?NDRYMFlsbDJyTEx6QXFSQjhqeCtLNHR3S3d0dVZ0bXQ1MFkzNGxkK1dVVitZ?= =?utf-8?B?TFJObC9xSjVIRUZUM2VDKzYvbnIzemRpYS9UcVg3bXVmTTRvd2ZGY2srNHZV?= =?utf-8?B?Ny9UZC9oWHNzc1Y0cEJIVlpxM1QzSXIxRmRGa2ZoRjArOWR4N3M4N3J6RHFC?= =?utf-8?B?V1BOLzJCcjVaUWFrL0ZxLzJ1L1VXSnltTHc5cUNPaEVnT0lUN3IvV0pFczBZ?= =?utf-8?B?OW82QmNDdERnNkViakd2aDNQYlFmejlhWVJhellZZFJ5MFJEUGFFUllUOVZh?= =?utf-8?B?WDdyYk84ejIveEdHY1ByazdlQ21tZFArVFNvT0JiOFlKd3paWlRUclAwa3Yx?= =?utf-8?B?WTdnZnAzSmpFUHpBKy9HQUxRZEZtRTA0Zy9FbTd2clFEVjJCc2FjdEhDMEtI?= =?utf-8?B?aWkyODhDS2Nlajc4L0k5dVJpbjlNWlV5eGZvc2lyTTZwZWhVRE0rMjV5ZFVO?= =?utf-8?B?aDh1UDlEdTZ5cHc1OVRQSHNYY3JCNmRLbFBuVWZSa0NRdFYyMUZzcGRjUmlV?= =?utf-8?B?RFRJaTY5RXFZNGpBbWRWMnVzczdIMVpZVTY5clFHZGpUVVlzOFYwV2d2TVVK?= =?utf-8?B?bEo3d3FSeHVvNDdYMmY3ejlXQm5rQ096OTF1dXF4aFZpVlFsVTROWEN0bUtn?= =?utf-8?B?Y3NNVDBmckFUR0ExRFZ6LzA3STdDZzg3cjgrQmRMZ1Fid1hWZWNBc3plOUM0?= =?utf-8?B?SFRqdHI5Zm4vUXl6NXhER200VVhpSWpONzBmTVlLd3hXaTE5azBWYkVpcFhu?= =?utf-8?B?VWlKMi9DMHh0dVRyOW90UTFXRFZuVkY4ZDd4T2sycTRQTDFERWljTkZxbExZ?= =?utf-8?B?dVREOHhSNFl6TElmRjkvOWR4K21xUm1DMURNK2FrR0JGUTdxOUhyQmZyZ2pS?= =?utf-8?B?d0N1OGR5ZkRYcnJ2ZnhSdVRIVVlOWmZYV0JmdXM3YmRTcDhkK0c4ZUpOVWhp?= =?utf-8?Q?EAVrAMKlE70gYOwRsHHeZzUOHEiIVPfBoGd55fs?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB5534.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f43b1029-651c-4765-b6d5-08d8fb26402c X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Apr 2021 07:08:17.6050 (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: kmk35vBeMiiHdivMYRl3J4prb6T1OmUIVAAHcDDhQNsBSA/WZgL0ebtLr/+RQFTV2PDXicOeiuqzaKXdsF9OQQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR1101MB2250 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [Linuxarm] Re: [PATCH 2/3] app/testpmd: remove forwarding config from parsing Rx and Tx 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 Sender: "dev" DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogb3VsaWp1biA8b3VsaWp1 bkBodWF3ZWkuY29tPg0KPiBTZW50OiBGcmlkYXksIEFwcmlsIDksIDIwMjEgMTQ6MTANCj4gVG86 IGxpbnV4YXJtQG9wZW5ldWxlci5vcmc7IGRldiA8ZGV2QGRwZGsub3JnPjsgTGksIFhpYW95dW4N Cj4gPHhpYW95dW4ubGlAaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBSZTogW0xpbnV4YXJtXSBSZTog W1BBVENIIDIvM10gYXBwL3Rlc3RwbWQ6IHJlbW92ZSBmb3J3YXJkaW5nDQo+IGNvbmZpZyBmcm9t IHBhcnNpbmcgUnggYW5kIFR4DQo+IA0KPiANCj4gDQo+IOWcqCAyMDIxLzQvMiAxMDozMywgTGks IFhpYW95dW4g5YaZ6YGTOg0KPiA+DQo+ID4NCj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t LS0NCj4gPj4gRnJvbTogb3VsaWp1biA8b3VsaWp1bkBodWF3ZWkuY29tPg0KPiA+PiBTZW50OiBG cmlkYXksIEFwcmlsIDIsIDIwMjEgMDk6NDUNCj4gPj4gVG86IExpLCBYaWFveXVuIDx4aWFveXVu LmxpQGludGVsLmNvbT47IFlpZ2l0LCBGZXJydWgNCj4gPj4gPGZlcnJ1aC55aWdpdEBpbnRlbC5j b20+DQo+ID4+IENjOiBkZXZAZHBkay5vcmc7IGxpbnV4YXJtQG9wZW5ldWxlci5vcmcNCj4gPj4g U3ViamVjdDogUmU6IFtQQVRDSCAyLzNdIGFwcC90ZXN0cG1kOiByZW1vdmUgZm9yd2FyZGluZyBj b25maWcgZnJvbQ0KPiA+PiBwYXJzaW5nIFJ4IGFuZCBUeA0KPiA+Pg0KPiA+Pg0KPiA+Pg0KPiA+ PiDlnKggMjAyMS8zLzI5IDk6NTMsIExpLCBYaWFveXVuIOWGmemBkzoNCj4gPj4+DQo+ID4+Pg0K PiA+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+Pj4gRnJvbTogb3VsaWp1biA8 b3VsaWp1bkBodWF3ZWkuY29tPg0KPiA+Pj4+IFNlbnQ6IFRodXJzZGF5LCBNYXJjaCAyNSwgMjAy MSAxMTowNA0KPiA+Pj4+IFRvOiBMaSwgWGlhb3l1biA8eGlhb3l1bi5saUBpbnRlbC5jb20+OyBZ aWdpdCwgRmVycnVoDQo+ID4+Pj4gPGZlcnJ1aC55aWdpdEBpbnRlbC5jb20+DQo+ID4+Pj4gQ2M6 IGRldkBkcGRrLm9yZzsgbGludXhhcm1Ab3BlbmV1bGVyLm9yZw0KPiA+Pj4+IFN1YmplY3Q6IFJl OiBbUEFUQ0ggMi8zXSBhcHAvdGVzdHBtZDogcmVtb3ZlIGZvcndhcmRpbmcgY29uZmlnIGZyb20N Cj4gPj4+PiBwYXJzaW5nIFJ4IGFuZCBUeA0KPiA+Pj4+DQo+ID4+Pj4NCj4gPj4+Pg0KPiA+Pj4+ IOWcqCAyMDIxLzMvMjQgOTo0NCwgTGksIFhpYW95dW4g5YaZ6YGTOg0KPiA+Pj4+Pg0KPiA+Pj4+ Pg0KPiA+Pj4+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4+Pj4+IEZyb206IG91 bGlqdW4gPG91bGlqdW5AaHVhd2VpLmNvbT4NCj4gPj4+Pj4+IFNlbnQ6IFdlZG5lc2RheSwgTWFy Y2ggMjQsIDIwMjEgMDk6MDENCj4gPj4+Pj4+IFRvOiBMaSwgWGlhb3l1biA8eGlhb3l1bi5saUBp bnRlbC5jb20+OyBZaWdpdCwgRmVycnVoDQo+ID4+Pj4+PiA8ZmVycnVoLnlpZ2l0QGludGVsLmNv bT4NCj4gPj4+Pj4+IENjOiBkZXZAZHBkay5vcmc7IGxpbnV4YXJtQG9wZW5ldWxlci5vcmcNCj4g Pj4+Pj4+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggMi8zXSBhcHAvdGVzdHBtZDogcmVtb3ZlIGZvcndh cmRpbmcgY29uZmlnDQo+ID4+Pj4+PiBmcm9tIHBhcnNpbmcgUnggYW5kIFR4DQo+ID4+Pj4+Pg0K PiA+Pj4+Pj4NCj4gPj4+Pj4+DQo+ID4+Pj4+PiDlnKggMjAyMS8zLzIzIDE1OjUwLCBMaSwgWGlh b3l1biDlhpnpgZM6DQo+ID4+Pj4+Pj4gSGkNCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+PiAtLS0tLU9y aWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+Pj4+Pj4+PiBGcm9tOiBMaWp1biBPdSA8b3VsaWp1bkBo dWF3ZWkuY29tPg0KPiA+Pj4+Pj4+PiBTZW50OiBGcmlkYXksIE1hcmNoIDUsIDIwMjEgMTg6MjIN Cj4gPj4+Pj4+Pj4gVG86IFlpZ2l0LCBGZXJydWggPGZlcnJ1aC55aWdpdEBpbnRlbC5jb20+DQo+ ID4+Pj4+Pj4+IENjOiBMaSwgWGlhb3l1biA8eGlhb3l1bi5saUBpbnRlbC5jb20+OyBkZXZAZHBk ay5vcmc7DQo+ID4+Pj4+Pj4+IGxpbnV4YXJtQG9wZW5ldWxlci5vcmcNCj4gPj4+Pj4+Pj4gU3Vi amVjdDogW1BBVENIIDIvM10gYXBwL3Rlc3RwbWQ6IHJlbW92ZSBmb3J3YXJkaW5nIGNvbmZpZyBm cm9tDQo+ID4+Pj4+Pj4+IHBhcnNpbmcgUnggYW5kIFR4DQo+ID4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+ IEZyb206IEh1aXNvbmcgTGkgPGxpaHVpc29uZ0BodWF3ZWkuY29tPg0KPiA+Pj4+Pj4+Pg0KPiA+ Pj4+Pj4+DQo+ID4+Pj4+Pj4gVGhlIGNvbW1pdCBtZXNzYWdlIHNob3VsZCBiZSBtb3JlIHNpbXBs ZSBhbmQgYXZvaWRzIGdyYW1tYXINCj4gPj4gbWlzdGFrZXMuDQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+ IEFsbCByaWdodCwgSSB3aWxsIHNpbXBseSBpdC4NCj4gPj4+Pj4+Pj4gVGhlICJmd2RfY29uZmln X3NldHVwKCkiIGZ1bmN0aW9uIGRvZXMgcmVsZWFzZSBhbmQgYXBwbHkgZm9yDQo+ID4+Pj4+Pj4+ IG1lbW9yeSBvZiBmb3J3YXJkaW5nIGZsb3dzLCBhbmQgcmUtZXN0YWJsaXNoIHRoZXNlIHN0cmVh bXMgd2hlbg0KPiA+Pj4+Pj4+PiByeHEvdHhxIG9yIHJ4ZC90eGQgaXMgY2hhbmdlZC4gVGhlIGZ1 bmN0aW9uIGlzIGFsc28gY2FsbGVkIGJ5DQo+ID4+Pj4+Pj4+ICJzdGFydF9wYWNrZXRfZm9yd2Fy ZGluZygpIiB3aGVuIHVzZXIgZXhlY3V0ZXMgInN0YXJ0IiBjbWQuDQo+ID4+Pj4+Pj4+IEFsbCBj aGFuZ2VzIGZvciByeHEvdHhxIG9yIHJ4ZC90eGQgY2FuIGJlIHVwZGF0ZWQgdW5pZm9ybWx5DQo+ ID4+Pj4+Pj4+IHdoZW4gdGhpcyBjb21tYW5kIGlzIGV4ZWN1dGVkLiBUaGVyZWZvcmUsIGl0IGlz IGEgbGl0dGxlDQo+ID4+Pj4+Pj4+IHJlZHVuZGFudCBpbiB0aGUNCj4gPj4+Pj4+ICJjbWRfY29u ZmlnX3J4X3R4X3BhcnNlZCINCj4gPj4+Pj4+Pj4gZnVuY3Rpb24uDQo+ID4+Pj4+Pj4NCj4gPj4+ Pj4+PiBJdCdzIG5vdCByZWR1bmRhbnQuIFRoaXMgY29tbWFuZCBtYXkgY29uZmlndXJlIG51bWJl ciBvZiByeHEvdHhxLg0KPiA+Pj4+Pj4+IFNvIHRoZQ0KPiA+Pj4+Pj4gZndkIHN0cmVhbXMgbWFw IG1heSBjaGFuZ2UuDQo+ID4+Pj4+Pj4gVGhlbiBpdCdzIGNvbW1vbiB0byBjaGVjayB0aGUgZndk IHN0cmVhbXMgYWZ0ZXIgdGhpcyBjb21tYW5kDQo+ID4+Pj4+Pj4gdXNpbmcgInNob3cNCj4gPj4+ Pj4+IGNvbmZpZyBmd2QiLg0KPiA+Pj4+Pj4+IElmIHlvdSByZW1vdmUgdGhpcyBmd2Qgc3RyZWFt IHVwZGF0ZSwgdXNlcnMgY2FuJ3QgZ2V0IHRoZQ0KPiA+Pj4+Pj4+IGNvcnJlY3QgbmV3IGZ3ZA0K PiA+Pj4+Pj4gc3RyZWFtcyB1bnRpbCB0aGV5IHN0YXJ0IHRoZSB0cmFmZmljLg0KPiA+Pj4+Pj4+ IEJ1dCB0aGV5IG1heSBjaGFuZ2UgYSBsb3Qgb2YgdGhpbmdzIGFuZCB3YW50IHRvIGNoZWNrIGlm IHRoZQ0KPiA+Pj4+Pj4+IHNldHRpbmcgaXMgY29ycmVjdA0KPiA+Pj4+Pj4gYmVmb3JlIHRoZXkg c3RhcnQgdGhlIHRyYWZmaWMuDQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+IFllcywgeW91IGFyZSByaWdo dC4gSXQncyByZWFsbHkgdW5mcmllbmRseS4NCj4gPj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4gSW4gYWRk aXRpb24sIHRoZSBmb3J3YXJkaW5nIHN0cmVhbSB1bmRlciBvbmUgVEMgaXMgY29uZmlndXJlZA0K PiA+Pj4+Pj4+PiBiYXNlZCBvbiBudW1iZXIgb2YgcXVldWVzIGFsbG9jYXRlZCB0byBUQy4gQW5k IG51bWJlciBvZiBxdWV1ZXMNCj4gPj4+Pj4+Pj4gYWxsb2NhdGVkIHRvIFRDIGlzIHVwZGF0ZWQg YWZ0ZXIgY2FsbGluZyAgInJ0ZV9ldGhfZGV2X2NvbmZpZ3VyZSINCj4gPj4+Pj4+Pj4gYWdhaW4u IElmIHRoZSBudW1iZXIgb2YgcXVldWVzIGlzIHJlZHVjZWQgYWZ0ZXIgY29uZmlndXJpbmcgdGhl DQo+ID4+Pj4+Pj4+IERDQiwgYW5kIHRoZW4sIHJlbGVhc2UgYW5kIGFwcGx5IGZvciBzdHJlYW0g bWVtb3J5LCBhbmQNCj4gPj4+Pj4+Pj4gcmVpbml0aWFsaXplIHRoZSBmb3J3YXJkaW5nIHN0cmVh bSB1bmRlciB0aGUgRENCIG1vZGUgYmFzZWQgb24NCj4gPj4+Pj4+Pj4gdGhlIG9sZCBUQw0KPiA+ Pj4+IGluZm9ybWF0aW9uLg0KPiA+Pj4+Pj4+PiBBcyBhIHJlc3VsdCwgbnVsbCBwb2ludGVyIG1h eSBiZSBhY2Nlc3NlZC4NCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+IEkgdGhpbmsgeW91IHNob3VsZCBh ZGQgInJ0ZV9ldGhfZGV2X2NvbmZpZ3VyZSAiIGludG8NCj4gPj4+Pj4+PiBkY2JfZndkX2NvbmZp Z19zZXR1cCgpDQo+ID4+Pj4+PiBiZWZvcmUgcnRlX2V0aF9kZXZfZ2V0X2RjYl9pbmZvKCkuDQo+ ID4+Pj4+Pj4NCj4gPj4+Pj4+PiBBbmQgdGhlIGNvbW1pdCBtZXNzYWdlIHNob3VsZCBiZSBzaW1p bGFyIGxpa2UgdGhlIGZvbGxvd2luZzoNCj4gPj4+Pj4+PiBTZWdtZW50IGZhdWx0IG1pZ2h0IGhh cHBlbiBhZnRlciBjb25maWd1cmluZyBxdWV1ZSBudW1iZXIgdG8NCj4gPj4+Pj4+PiBsZXNzIGJl Y2F1c2UNCj4gPj4+Pj4+IGRjYl9md2RfY29uZmlnX3NldHVwIHNldHVwIGRjYiBiYXNlZCBvbiBv bGQgZGNiIGluZm8uDQo+ID4+Pj4+Pj4gQW5kIGRjYiBpbmZvIGNhbiBvbmx5IHVwZGF0ZSBhZnRl ciBydGVfZXRoX2Rldl9jb25maWd1cmUoKS4NCj4gPj4+Pj4+PiBTbyB0aGlzIHBhdGNoIGFkZHMg cnRlX2V0aF9kZXZfY29uZmlndXJlKCkgYmVmb3JlDQo+ID4+Pj4+Pj4gcnRlX2V0aF9kZXZfZ2V0 X2RjYl9pbmZvKCkNCj4gPj4+Pj4+IHRvIGdldCB1cGRhdGVkIGRjYiBpbmZvIHRvIGZpeCB0aGlz IGlzc3VlLg0KPiA+Pj4+Pj4+DQo+ID4+Pj4+PiBUaGFuayB5b3UgZm9yIHlvdXIgYWR2aWNlLiBC dXQgdGhlIGFib3ZlIGFkanVzdG1lbnRzIG1heSBzdGlsbA0KPiA+Pj4+Pj4gbm90IHdvcmsgZm9y IHNvbWUgZHJpdmVycy4gVGhlIG1hcHBpbmcgYmV0d2VlbiBxdWV1ZXMgYW5kIFRDcyBpbg0KPiA+ Pj4+Pj4gdGhlc2UgZHJpdmVycyBpcyB1cGRhdGVkIGluIHRoZSBkZXZfc3RhcnQgc3RhZ2UuDQo+ ID4+Pj4+Pg0KPiA+Pj4+Pj4gSSBoYXZlIGFuIGlkZWEuIFdlIGNhbiBtb3ZlIGZ3ZF9jb25maWdf c2V0dXAoKSB0byBzdGFydF9wb3J0KCksDQo+ID4+Pj4+PiB3aGljaCBpcyBjYWxsZWQgYnkgbWFp bigpIGFuZCBhZnRlciBzdGFydGluZyBwb3J0cyBUaGlzIG5vdCBvbmx5DQo+ID4+Pj4+PiBzb2x2 ZXMgdGhlIHNlZ21lbnQgZmF1bHQsIGJ1dCBhbHNvIGRvZXMgbm90IGhhdmUgdGhlIHByb2JsZW0g eW91DQo+ID4+Pj4+PiBtZW50aW9uZWQgYWJvdmUuIEkNCj4gPj4+PiB0ZXN0IGl0IGFuZCBpdCBp cyBvay4NCj4gPj4+Pj4+DQo+ID4+Pj4+PiBXaGF0IGRvIHlvdSB0aGluaywgeGlhb3l1bj8NCj4g Pj4+Pj4NCj4gPj4+Pj4gSG93IGNhbiB5b3UgZml4IHRoZSBpc3N1ZSBJIG1lbnRpb25lZD8NCj4g Pj4+Pj4gWW91IHN0aWxsIG5lZWQgdG8gc3RhcnQgcG9ydCBmaXJzdCB0byBzZWUgdGhlIHVwZGF0 ZWQgZndkIGNvbmZpZy4NCj4gPj4+PiBZZXMuIEJ1dCBpdCBjYW4gbWFrZSBzdXJlIHRoYXQgdXNl cnMgZ2V0IHRoZSBjb3JyZWN0IG5ldyBmd2QNCj4gPj4+PiBzdHJlYW1zIGJlZm9yZSBleGVjdXRp bmcgdGhlICdzdGFydCcgY29tbWFuZC4NCj4gPj4+Pj4gQW5kIGZvciB0aG9zZSBkcml2ZXJzLCB3 aHkgZG9lcyB0aGUgbWFwcGluZyBoYXMgdG8gYmUgdXBkYXRlZCBpbg0KPiA+Pj4+PiBkZXZfc3Rh cnQNCj4gPj4+PiBzdGFnZT8NCj4gPj4+Pj4gV2hhdCBkb2VzIGl0IG5lZWQ/IENhbid0IGl0IGJl IG1vdmVkIHRvIGRldl9jb25maWd1cmU/DQo+ID4+Pj4gVGhlIGZyYW1ld29yayBkb2VzIG5vdCBy ZXF1aXJlIHRoYXQgdGhlIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVycw0KPiA+Pj4+IHRyYW5zZmVy cmVkIGJ5IHRoZSBkZXZfY29uZmlndXJlIEFQSSBtdXN0IGJlIHVwZGF0ZWQgaW4gdGhlDQo+ID4+ Pj4gaW50ZXJmYWNlIG9mIGRyaXZlci4gVGhlIGRyaXZlciBjYW4gIHZlcmlmeSB0aGUgY29ycmVj dG5lc3Mgb2YNCj4gPj4+PiB0aGVzZSBwYXJhbWV0ZXJzIGluIHRoZSBpbnRlcmZhY2UsIGFuZCB0 aGVuIGNvbXBsZXRlIHRoZSB1cGRhdGUgaW4NCj4gPj4+PiB0aGUgZGV2X3N0YXJ0IHN0YWdlLiBJ dCBkZXBlbmRzIG9uIHRoZSBkZXNpZ24gYW5kIG5lZWQgb2YgdGhlDQo+ID4+Pj4gZHJpdmVyLiBN YXliZSBpdCdzIG1vcmUgYXBwcm9wcmlhdGUgdG8gcHV0IGl0IGluIGRldl9jb25maWd1cmUsIGJ1 dA0KPiA+Pj4+IG5vdyB3ZSBjYW4ndCBhc2sgYWxsIHRoZXNlDQo+ID4+IGRyaXZlcnMgdG8gbW9k aWZ5IHRoZSBvcGVyYXRpb24uDQo+ID4+Pg0KPiA+Pj4gSSBzdGlsbCB0aGluayBpdCdzIGRyaXZl cidzIHJlc3BvbnNpYmlsaXR5IHRvIGNvbmZpZ3VyZSBEQ0IgaW4gZGV2X2NvbmZpZ3VyZS4NCj4g Pj4+DQo+ID4+PiBDYWxsaW5nIGZ3ZF9jb25maWdfc2V0dXAgaGVyZSBpcyBiZWNhdXNlIHRoaXMg Y29tbWFuZCBjaGFuZ2VzIHF1ZXVlDQo+ID4+IG51bWJlci4gVXNlcnMganVzdCBjaGFuZ2UgcXVl dWUgbnVtYmVyIHNvIHdhbnQgdG8gY2hlY2sgZndkIHNldHVwLg0KPiA+PiBJdCdzIGEgbm9ybWFs IGFuZCByZWFzb25hYmxlIGJlaGF2aW9yLg0KPiA+Pj4gU3RhcnRpbmcgcG9ydCB3aWxsIGJlIGNh bGxlZCBpbiBtYW55IHNpdHVhdGlvbnMuIEkgZG9uJ3QgdGhpbmsgaXQncw0KPiA+Pj4gYXBwcm9w cmlhdGUgdG8NCj4gPj4gY2FsbCBmd2RfY29uZmlnX3NldHVwIGV2ZXJ5IHRpbWUgY2FsbGluZyBw b3J0X3N0YXJ0LiBBbmQgeW91IGNhbid0DQo+ID4+IGV4cGVjdCB1c2VycyBrbm93IHRoZSBmd2Qg c2V0dXAgb25seSBjaGFuZ2UgYWZ0ZXIgcG9ydF9zdGFydC4NCj4gPj4+DQo+ID4+PiBUaGVzZSBh cmUgb25seSBteSB0aG91Z2h0cy4gSWYgYW55b25lIGVsc2UgYWdyZWVzIHlvdSwgdGhleSBjYW4g Z2l2ZSB5b3UNCj4gYWNrLg0KPiA+Pj4+Pj4NCj4gPj4gQEZlcnJ1aCwgd2hhdCBkbyB5b3UgdGhp bms/DQo+ID4+IEN1cnJlbnRseSwgYm90aCBpeGdiZSBhbmQgaTQwZSBhbHNvIGhhdmUgdGhpcyBw cm9ibGVtLiBFdmVuIGlmDQo+ID4+IHRlc3RwbWQgY2FuIGJlIG1vZGlmaWVkIGFjY29yZGluZyB0 byBYaWFveXVuJ3Mgc3VnZ2VzdGlvbiwgYW5kIHRoZQ0KPiA+PiBkcml2ZXIgaXMgbm90IG1vZGlm aWVkLCB0aGlzIHByb2JsZW0gc3RpbGwgZXhpc3RzIGluIHNvbWUgZHJpdmVycywgc3VjaCBhcyBp eGdiZQ0KPiBhbmQgaG5zMy4NCj4gPg0KPiA+IE5PLiBJNDBlIGFuZCBpeGdiZSBET04nVCBoYXZl IHRoZSBpc3N1ZS4NCj4gPiBJNDBlIHRjIG1hcHBpbmcgaXMgZG9uZSBpbiBkZXZfY29uZmlndXJl Lg0KPiA+IGl4Z2JlIHRjIG1hcHBpbmcgaXMgYWx3YXlzIGZpeGVkIGR1ZSB0byBodyBkZXNpZ24u IEl0IG9ubHkgbmVlZHMgZGV2X2NvbmZpZ3VyZQ0KPiB0byBnZXQgZGNiX2NvbmYgaW5mby4gTm8g bWF0dGVyIHlvdSBjb25maWd1cmUgZGNiIG9yIG5vdCwgdGhlIG1hcHBpbmcgaXMgYWx3YXlzDQo+ IHRoZSBzYW1lLiBZb3UgY2FuIGNoZWNrIGl4Z2JlX2Rldl9nZXRfZGNiX2luZm8oKS4NCj4gPg0K PiA+IFNvIGZvciBpNDBlIGFuZCBpeGdiZSwgeW91IG9ubHkgbmVlZCB0byBhZGQgZGV2X2NvbmZp Z3VyZSBpbg0KPiBkY2JfZndkX2NvbmZpZ19zZXR1cCgpLg0KPiA+DQo+IEhpLCBYaWFveXVuLA0K PiANCj4gVGhlIGZ3ZF9jb25maWdfc2V0dXAoKSBpcyBjYWxsZWQgd2hlbiB0aGUgcG9ydCBpcyBp biB0aGUgc3RvcCBzdGF0ZSBhbmQgc3RhcnQNCj4gc3RhdGUuDQo+IFdoZW4gd2UgcnVuICJzdGFy dCIgY21kLCBhbGwgcG9ydCBhcmUgaW4gdGhlIHN0YXJ0IHN0YXRlLiAgTmFtZWx5LCAgd2UgbmVl ZCB0bw0KPiBkZWNpZGUgd2hldGhlciB0byBjYWxsIHJ0ZV9ldGhfZGV2X2NvbmZpZ3VyZSgpIGJh c2VkIG9uIHRoZSBzdGF0ZSBvZiBhbGwgcG9ydHMNCj4gYmVmb3JlIHJ0ZV9ldGhfZGV2X2dldF9k Y2JfaW5mbygpIGluIGRjYl9md2RfY29uZmlnX3NldHVwKCkuDQo+IE1vZGlmeSBhcyBmb2xsb3dz Og0KPiBAQCAtMTgzNCw2ICsxODM0LDcgQEAgY21kX2NvbmZpZ19yeF90eF9wYXJzZWQodm9pZCAq cGFyc2VkX3Jlc3VsdCwNCj4gICAgICAgICAgICAgICAgICByZXR1cm47DQo+ICAgICAgICAgIH0N Cj4gDQo+ICsgICAgICAgZndkX2NvbmZpZ19zZXR1cCgpOw0KPiAgICAgICAgICBpbml0X3BvcnRf Y29uZmlnKCk7DQo+IA0KPiAgICAgICAgICBjbWRfcmVjb25maWdfZGV2aWNlX3F1ZXVlKFJURV9Q T1JUX0FMTCwgMSwgMSk7IGRpZmYgLS1naXQgYS9hcHAvdGVzdC0NCj4gcG1kL2NvbmZpZy5jIGIv YXBwL3Rlc3QtcG1kL2NvbmZpZy5jIGluZGV4IGJkNmVlOGIuLjU5ODFiNTAgMTAwNjQ0DQo+IC0t LSBhL2FwcC90ZXN0LXBtZC9jb25maWcuYw0KPiArKysgYi9hcHAvdGVzdC1wbWQvY29uZmlnLmMN Cj4gQEAgLTMxNzksNyArMzE3OSwyNCBAQCBkY2JfZndkX2NvbmZpZ19zZXR1cCh2b2lkKQ0KPiAg ICAgICAgICB1aW50MTZfdCBuYl9yeF9xdWV1ZSwgbmJfdHhfcXVldWU7DQo+ICAgICAgICAgIHVp bnQxNl90IGksIGosIGssIHNtX2lkID0gMDsNCj4gICAgICAgICAgdWludDE2X3QgdG90YWxfdGNf bnVtID0gMDsNCj4gKyAgICAgICBzdHJ1Y3QgcnRlX3BvcnQgKnBvcnQ7DQo+ICAgICAgICAgIHVp bnQ4X3QgdGMgPSAwOw0KPiArICAgICAgIHBvcnRpZF90IHBpZDsNCj4gKyAgICAgICBpbnQgcmV0 Ow0KPiArDQo+ICsgICAgICAgaWYgKGFsbF9wb3J0c19zdG9wcGVkKCkpIHsNCj4gKyAgICAgICAg ICAgICAgIC8qIHJlLWNvbmZpZ3VyZSB0aGUgZGV2aWNlIGFmdGVyIGNoYW5naW5nIHF1ZXVlIG51 bWJlcnMuICovDQo+ICsgICAgICAgICAgICAgICBmb3IgKHBpZCA9IDA7IHBpZCA8IG5iX2Z3ZF9w b3J0czsgcGlkKyspIHsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgcG9ydCA9ICZwb3J0c1tw aWRdOw0KPiArICAgICAgICAgICAgICAgICAgICAgICByZXQgPSBydGVfZXRoX2Rldl9jb25maWd1 cmUocGlkLCBuYl9yeHEsIG5iX3R4cSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICZwb3J0LT5kZXZfY29uZik7DQo+ICsgICAgICAgICAgICAg ICAgICAgICAgIGlmIChyZXQgPCAwKSB7DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcHJpbnRmKCJGYWlsZWQgdG8gcmUtY29uZmlndXJlIHBvcnQgJWQsDQo+IHJldCA9ICVkLlxu IiwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBpZCwgcmV0KTsN Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47DQo+ICsgICAgICAgICAg ICAgICAgICAgICAgIH0NCj4gKyAgICAgICAgICAgICAgIH0NCj4gKyAgICAgICB9DQo+IA0KPiAg ICAgICAgICBjdXJfZndkX2NvbmZpZy5uYl9md2RfbGNvcmVzID0gKGxjb3JlaWRfdCkgbmJfZndk X2xjb3JlczsNCj4gICAgICAgICAgY3VyX2Z3ZF9jb25maWcubmJfZndkX3BvcnRzID0gbmJfZndk X3BvcnRzOw0KPiANCj4gQnV0IHRoZXJlJ3Mgc3RpbGwgbm8gd2F5IHRvIGdldCBhd2F5IHdpdGgg dGhlIHNlZ21lbnQgZmF1bHQgZm9yIGl4Z2JlIGFuZCBpNDBlLg0KPiAxLyBGb3IgaXhnYmUsIHRj IG1hcHBpbmcgaXMgYWx3YXlzIGZpeGVkIGFmdGVyIERDQiBpcyBjb25maWd1cmVkLiAgSWYgdGhl IG51bWJlcg0KPiBvZiBxdWV1ZXMgaXMgcmVkdWNlZCwgc2VnbWVudCBmYXVsdCBvY2N1ci4NCj4g ICAgICBEb2VzIGl0IG1lYW4gdGhhdCB0aGUgbnVtYmVyIG9mIHF1ZXVlcyBjYW5ub3QgYmUgbW9k aWZpZWQgZm9yIGl4Z2JlIGFmdGVyDQo+IERDQiBpcyBjb25maWd1cmVkPw0KPiAyLyBGb3IgaTQw ZSwgaXQgYXBwZWFycyB0aGF0IHRoZSBtYXBwaW5nIGJldHdlZW4gdGMgYW5kIHF1ZXVlIGlzIG5v dCB1cGRhdGVkDQo+IGFmdGVyIGNoYW5naW5nIHF1ZXVlIG51bWJlcnMuIEZyb20gaTQwZV92c2lf Y29uZmlnX3RjKCksIGl0cyB1cGRhdGUgc2VlbXMgdG8NCj4gZGVwZW5kIG9ubHkgb24gdGNfbWFw IGNoYW5nZXMuDQo+IA0KPiBwbGVhc2UgY2hlY2sgaXQ/DQoNCk5vLg0KQWZ0ZXIgdXNlcnMgY29u ZmlnIHF1ZXVlIG51bWJlcnMgdXNpbmcgY21kICJwb3J0IGNvbmZpZyBhbGwgcnhxIDQiLiBJdCdz IG5vcm1hbCB0aGF0IHRoZXkgbWF5IHdhbnQgdG8gY2hlY2sgd2hhdCBuZXcgZndkIGNvbmZpZyB3 aWxsIGJlIGxpa2UgdXNpbmcgInNob3cgY29uZmlnIGZ3ZCINClNvIHlvdSBzaG91bGQgY2FsbCBm d2RfY29uZmlnX3NldHVwKCkgaW4gY21kX2NvbmZpZ19yeF90eF9wYXJzZWQoKS4gVGhlIHBvcnRz IGFyZSBpbiBzdG9wcGVkIHN0YXRlLg0KDQpkY2JfZndkX2NvbmZpZ19zZXR1cCgpIHdpbGwgY2Fs bCBydGVfZXRoX2Rldl9nZXRfZGNiX2luZm8oKSBhdCBmaXJzdCB0byBnZXQgdGhlIGRjYiBpbmZv IGZpcnN0Lg0KVGhlIHNlZ21lbnQgZmF1bHQgaGFwcGVucyBiZWNhdXNlIHJ0ZV9ldGhfZGV2X2dl dF9kY2JfaW5mbygpIGdldCB0aGUgd3JvbmcgaW5mbyBiYXNlZCBvbiBvbGQgcXVldWUgbnVtYmVy cyAobmV3IHF1ZXVlIG51bWJlciBpcyBzbWFsbCkuDQoNCkZvciBpeGdiZSwgVGhlIGZpeGVkIG1h cHBpbmcgbWVhbnMgZm9yIG1heGltdW0gcXVldWUgbnVtYmVycyBmb3IgZXhhbXBsZSAxMjggcXVl dWVzLiBFYWNoIHF1ZXVlIGFuZCB0YyBtYXBwaW5nIGlzIGZpeGVkIHRvIGZpbGwgdG8gaHcuIEZp eGVkIHZhbHVlcy4gSXQncyBqdXN0IHlvdSBlbmFibGUgd2hpY2ggcXVldWVzIG9yIG5vdC4NCllv dSBjYW4gY2hhbmdlIHF1ZXVlIG51bWJlciBhcyB5b3Ugd2FudC4gSW4gZGV2X3N0YXJ0IHN0YWdl LCB0YyB3aWxsIGFjdHVhbGx5IHRha2UgZWZmZWN0LiBnZXRfZGNiX2luZm8oKSBvbmx5IG5lZWRz IHJ4X2Fkdl9jb25mLmRjYl9yeF9jb25mIHdoaWNoIGluZm8gaXMgaW5jbHVkZWQgaW4gZGV2X2Nv bmYuDQpTbyBmb3IgaXhnYmUsIHlvdSBvbmx5IG5lZWQgdG8gY2FsbCBkZXZfY29uZmlndXJlIHRv IHVwZGF0ZSB0aGUgbmV3IGRjYl9yeF9jb25mIGZvciBnZXRfZGNiX2luZm8oKS4NCg0KRm9yIGk0 MGUsIGRjYl9zZXR1cCBpcyBpbiBkZXZfY29uZmlndXJlIHN0YWdlLiBpNDBlX2Rldl9nZXRfZGNi X2luZm8oKSB3aWxsIGdldCB0aGUgY29ycmVjdCBpbmZvIHRvby4NCg0KPiA+Pj4+Pj4NCj4gPj4+ Pj4+Pj4NCj4gPj4+Pj4+Pj4gTGlrZToNCj4gPj4+Pj4+Pj4gc2V0IG5iY29yZSA0DQo+ID4+Pj4+ Pj4+IHBvcnQgc3RvcCBhbGwNCj4gPj4+Pj4+Pj4gcG9ydCBjb25maWcgMCBkY2IgdnQgb2ZmIDQg cGZjIG9uIHBvcnQgc3RhcnQgYWxsIHBvcnQgc3RvcCBhbGwNCj4gPj4+Pj4+Pj4gcG9ydCBjb25m aWcgYWxsIHJ4cSA4IHBvcnQgY29uZmlnIGFsbCB0eHEgOA0KPiA+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+ PiBBdCB0aGUgbW9tZW50LCBhIHNlZ21lbnRhdGlvbiBmYXVsdCBvY2N1cnMuDQo+ID4+Pj4+Pj4+ DQo+ID4+Pj4+Pj4+IEZpeGVzOiBjZThkNTYxNDE4ZDQgKCJhcHAvdGVzdHBtZDogYWRkIHBvcnQg Y29uZmlndXJhdGlvbg0KPiA+Pj4+Pj4+PiBzZXR0aW5ncyIpDQo+ID4+Pj4+Pj4+IENjOiBzdGFi bGVAZHBkay5vcmcNCj4gPj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogSHVpc29u ZyBMaSA8bGlodWlzb25nQGh1YXdlaS5jb20+DQo+ID4+Pj4+Pj4+IFNpZ25lZC1vZmYtYnk6IExp anVuIE91IDxvdWxpanVuQGh1YXdlaS5jb20+DQo+ID4+Pj4+Pj4+IC0tLQ0KPiA+Pj4+Pj4+PiBW MS0+VjI6DQo+ID4+Pj4+Pj4+IC0gdXNlIHN0cmVhbSBpbnN0ZWFkIG9mIGZsb3cNCj4gPj4+Pj4+ Pj4gLS0tDQo+ID4+Pj4+Pj4+ICAgICAgYXBwL3Rlc3QtcG1kL2NtZGxpbmUuYyB8IDIgLS0NCj4g Pj4+Pj4+Pj4gICAgICAxIGZpbGUgY2hhbmdlZCwgMiBkZWxldGlvbnMoLSkNCj4gPj4+Pj4+Pj4N Cj4gPj4+Pj4+Pj4gZGlmZiAtLWdpdCBhL2FwcC90ZXN0LXBtZC9jbWRsaW5lLmMgYi9hcHAvdGVz dC1wbWQvY21kbGluZS5jDQo+ID4+Pj4+Pj4+IGluZGV4IDRkZjBjMzIuLmUzMTZmNWMgMTAwNjQ0 DQo+ID4+Pj4+Pj4+IC0tLSBhL2FwcC90ZXN0LXBtZC9jbWRsaW5lLmMNCj4gPj4+Pj4+Pj4gKysr IGIvYXBwL3Rlc3QtcG1kL2NtZGxpbmUuYw0KPiA+Pj4+Pj4+PiBAQCAtMTgzNyw4ICsxODM3LDYg QEAgY21kX2NvbmZpZ19yeF90eF9wYXJzZWQodm9pZA0KPiA+PiAqcGFyc2VkX3Jlc3VsdCwNCj4g Pj4+Pj4+Pj4gICAgICAJCXJldHVybjsNCj4gPj4+Pj4+Pj4gICAgICAJfQ0KPiA+Pj4+Pj4+Pg0K PiA+Pj4+Pj4+PiAtCWZ3ZF9jb25maWdfc2V0dXAoKTsNCj4gPj4+Pj4+Pj4gLQ0KPiA+Pj4+Pj4+ PiAgICAgIAlpbml0X3BvcnRfY29uZmlnKCk7DQo+ID4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+ICAgICAg CWNtZF9yZWNvbmZpZ19kZXZpY2VfcXVldWUoUlRFX1BPUlRfQUxMLCAxLCAxKTsNCj4gPj4+Pj4+ Pj4gLS0NCj4gPj4+Pj4+Pj4gMi43LjQNCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+IC4NCj4gPj4+Pj4+ Pg0KPiA+Pj4+PiAuDQo+ID4+Pj4+DQo+ID4+PiAuDQo+ID4+Pg0KPiA+IF9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+ID4gTGludXhhcm0gbWFpbGluZyBs aXN0IC0tIGxpbnV4YXJtQG9wZW5ldWxlci5vcmcgVG8gdW5zdWJzY3JpYmUgc2VuZCBhbg0KPiA+ IGVtYWlsIHRvIGxpbnV4YXJtLWxlYXZlQG9wZW5ldWxlci5vcmcNCj4gPg0K