Received: by 2002:a05:6a10:af89:0:0:0:0 with SMTP id iu9csp3985400pxb; Tue, 25 Jan 2022 00:42:27 -0800 (PST) X-Google-Smtp-Source: ABdhPJww3EI3UwL2FsN+4KQqMTrj/uTczGFmmCfcQfwbzcWos66yjRWmpSXLSj9DWACW537JJBwe X-Received: by 2002:a17:903:1207:b0:14a:83bd:394d with SMTP id l7-20020a170903120700b0014a83bd394dmr17423585plh.102.1643100147385; Tue, 25 Jan 2022 00:42:27 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1643100147; cv=pass; d=google.com; s=arc-20160816; b=Ic7OWMDtBqGxoU7sqYACDywmH6bqcoEROJO4fSpVDQmNZjMEgdmvjZdQwe3s1MSXvv nsRdK1FTXVzgUrbc1mjtolVe64trUhET+QBlqrBb9xG84qoiAY7ff3nh681Js5sqHby3 bbfM105/cau7x1Lh2HPKFbqfxOxuteXLQ0+W2TbwbhEHeGaVPt+EycvHDlC2e3nu4nVF p5FmTJHf0xgWipLUxqmPQwnF/a9rttkmGEYmc4li5wuxt7iHZRixpfzY+bxh1F9v+q7R bqwRAmgYnnXr1z7W8zINkOrUgtRKEZ26TUfVz63gcj2y1PkYsCI9E4Nbmw8ZOPwJ4HjQ B9fA== 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=YX4bhGa3oFUllVHnvNzhoqDOktv2E+1J0SZsjRTvxAo=; b=Im3KR5DMRa/8gi9k4xoSmXp6ZJh3oqulrUVbrjUxZsUQaO3C28mQuE4SzNluw0PrWh 4hrNxun+sojpIjTTtTiZ/p1l7vLtSou9aSowtTHb25yARz5teXhM/f9+OBrBfofeJrbv t6JKUAiE+JHipUTuacowPSJE0ayvKZvisLON8wqCe0XoAFu7YBXxmpLJF2XtLpJZPHLq Ej1GG22owKme7s4FLAeWvjNTTwL7gJbCr8kaM8AHUkSR9TFF6NiC5i9nh4+0OZE1A2nV uuPWpjhGFebNc1tDFbTacoxP+yCG2/nD6kEZMlEfE0s0z8LAiM1kWvcmwhJZbYnImWJC DpfQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@nxp.com header.s=selector2 header.b=Abx6dkzD; arc=pass (i=1); 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 i3si13402582pgh.63.2022.01.25.00.42.15; Tue, 25 Jan 2022 00:42:27 -0800 (PST) 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=Abx6dkzD; arc=pass (i=1); 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 S1318600AbiAYDGa (ORCPT + 99 others); Mon, 24 Jan 2022 22:06:30 -0500 Received: from mail-eopbgr80072.outbound.protection.outlook.com ([40.107.8.72]:61166 "EHLO EUR04-VI1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S3416026AbiAYByI (ORCPT ); Mon, 24 Jan 2022 20:54:08 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HQtYEosWzB9M9CHqwJcxPjuHFcXK6DPGaUhfuOM2mYuGF1TVsjuit5xCy128nbfqJIWMhDDEUMi87ZNpQUmlRAZ8o60tlXcNx8vKJDLW6AuhftNxKJq+valKgzCdfArYix2LpTbm1vcTnv+Q7Cb3O1LeqFe5Kgcu2I43b15gc0gyrlRmF565soVfYCvgROoJTSq4l5DIzspI0Y2F0HvLL2VobNg7Lq/NSbOmYoTn6gxDecP1/V5KZMHw/ShCwlz5F2c+uG7tOJ9PO/w9USfpXY5MtOmTkdQ6wCf/5t+cUNlz6sWuRI/FiY2h2NvwnfxNONSLBy2lYEp8QurkaxQNqA== 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=YX4bhGa3oFUllVHnvNzhoqDOktv2E+1J0SZsjRTvxAo=; b=Ckg6WmmvPrfLWaEVNOkYLEgomY1EG2fQmVwFjrbrvxl81d7vM/hvRuUBXHohxEq0kaH6AXICJDmOF0AjjVXh+gCVpQbinX580PiPzEAJApoS6cL8lwES4+TWTRQ6For6AXFhmRMhukyZ3i4xxce8Is7cKL4EYbhMU/fO0duikPAuVP8HABZ76tyoikYoECOrfyzryJN0/lNBUB/jlVsH4CEUL4Tk1zxLbWJEj1OZZXRgK1YdgTmc4uPPYq6gVR3mjwM/ayCiw2ZS3wzRY63hds2VLTEnH12d2K1vKsMn/UK54nDf25sz601WPQyfhqauwLNsOIaO2y9hmhJgPnrIeA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; 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=YX4bhGa3oFUllVHnvNzhoqDOktv2E+1J0SZsjRTvxAo=; b=Abx6dkzD9AYYyg4Q7m/u2nfbIMu96T0zkw0OhZzAFzQXurmlTAN1sssri1UJg5lu3gGTiPhmCqP5JHl3S0x9RQXgDi4RZ5oBnK4JkZV8NUGENItHFAieFm4sMbgVzK1o6JPLqsGxu/C9aytYQQMrpqa4Ia9lRFZ+9z3VkkM9Uh4= Received: from AM6PR04MB6341.eurprd04.prod.outlook.com (2603:10a6:20b:d8::14) by AM6PR04MB3973.eurprd04.prod.outlook.com (2603:10a6:209:4a::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.17; Tue, 25 Jan 2022 01:54:04 +0000 Received: from AM6PR04MB6341.eurprd04.prod.outlook.com ([fe80::3d7e:6627:fdd0:9d13]) by AM6PR04MB6341.eurprd04.prod.outlook.com ([fe80::3d7e:6627:fdd0:9d13%4]) with mapi id 15.20.4909.017; Tue, 25 Jan 2022 01:54:04 +0000 From: Ming Qian To: Nicolas Dufresne , "mchehab@kernel.org" , "shawnguo@kernel.org" , "robh+dt@kernel.org" , "s.hauer@pengutronix.de" CC: "hverkuil-cisco@xs4all.nl" , "kernel@pengutronix.de" , "festevam@gmail.com" , dl-linux-imx , "linux-media@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "devicetree@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" Subject: RE: [EXT] Re: [PATCH v8 04/15] media:Add v4l2 event codec_error and skip Thread-Topic: [EXT] Re: [PATCH v8 04/15] media:Add v4l2 event codec_error and skip Thread-Index: AQHXo8VyxkIDwZIBZEaUlREH9JiPHauaJHAAgADXIoCAASXVAIDFLAwggA2WlQCABO/PwA== Date: Tue, 25 Jan 2022 01:54:04 +0000 Message-ID: References: <647f84c1e7c2a48d6492d38fa4f06586235500b8.1631002447.git.ming.qian@nxp.com> <8984f8a3c0dfd3a5f83fb5cc7b0357dca4787274.camel@ndufresne.ca> In-Reply-To: Accept-Language: zh-CN, 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: e1cf61cc-309b-4a36-2356-08d9dfa590cb x-ms-traffictypediagnostic: AM6PR04MB3973:EE_ 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: 8JGNzVAirmMbDJNebcYrScajRoQ7H84hIJvUzLI/oWNDNaExoz7ygRWkPPIMb8Zu1SSpmrO8APifTCwboICgwPFvCkt6v1aan6oiKD4HMicC+L7Ho9HXVhLQb4krzJ2XyQIEzicZICe7dxRL6qA724pumePKG2x8fPGGUfOFUb88+Mff9rPLZDxGlZTzViv5rrZug/4nujTt8BuupP0a+EadOieGhXqX98nyxIO0PzuvOR1lWfdjFIFiYxSra/pdMZ888WoxVex5MMMGr8rX6Qjy5hnuKvI/a/M62n8Z2FB+corBbNUf7A6ZCEiveILZkWPAYMLogR36s37CpW3wdSH40japwLZ34BMZSGuRl6z42rw3WI7YHHDyduso31ov3oacjdLwOrbiQkixTwigoAj+K1dSzv5vU0GmSygBAcSOQUUs4Y+LOZSFjdLvPHkCu7VHShcWiTwNlEFDv2hD5LMYVS3N0tSEcX45BkgbZLdCRxI7y4uunt7Xp1AbvErm2gF+P4NBMEuSXw2Z7BzkTnw7hGnHoSOH67k3PiR7jGgRk0WZh7wCVT541xyJjh/8VdVxomSuhfBNkgi+2j4FtpoLaXzd4TdaDpmE8bmmLC2P/U9XFl8wxL3XAzqoUVOQgV2Mvo/yJGcO6U/27ie6PzSAPqfglWZQTg1HDEWScqqVKu8oV4XzN/ewRPR1wk99AOEnBV3cDw8+E7fyWiokfw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6341.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(6506007)(53546011)(86362001)(8936002)(508600001)(4326008)(55016003)(7416002)(38100700002)(7696005)(2906002)(122000001)(52536014)(26005)(71200400001)(66946007)(186003)(9686003)(66574015)(66556008)(316002)(66446008)(110136005)(64756008)(54906003)(38070700005)(66476007)(8676002)(44832011)(83380400001)(33656002)(76116006)(5660300002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Qzk5cHM3OUVaY2N4b0hQazBXMno3WThzNEVEZXpRM2ZVQVVvWnBpczhuWFox?= =?utf-8?B?eitYWnNtdkdURlhQcXVrU2NPU0F4elluVHRNZzNFV1B0T2hGU09rV3BHc3F4?= =?utf-8?B?Z2JobW5HeWlvUk5hYjE3TkFxNmd3VWdkS1pKRC80ZlkyWnNsTzBrS2J6UzlD?= =?utf-8?B?K1NmZ3lPZFJod210WUdOeHBSQWNSUnR2WnpENmpocEZFZXlMVTZVeUlBWmE3?= =?utf-8?B?czgzV2NvTllKbk0vdkhPRVJnQWp1SjVhditLbHlJRWdsNkNTZzJWV0dWd1p4?= =?utf-8?B?L1hQS05OcnAyeEpVdlVhNWxRTEtnMzF3OE83b3B0M05Rb1N5Zjd3dDNoT3Q0?= =?utf-8?B?U2REOUJNR0p1aTN1WVdNYUtUUnovZWZUNS9lQ3hpZmZEc21NV3ZFSUtCVjVB?= =?utf-8?B?U040d0loWStBcjJnRjFWUXBWbHJPQStpUVE0LzNSckZ0bysxTi9UTEFZeWhG?= =?utf-8?B?ZFRMdnZucXlsTUJwS3prV0JKV2JJYzNCT0t2VTZOeU0wbFdVSlh5bzA2cGMx?= =?utf-8?B?dVlkRlkxREdXMFRlSVRDOXJzK0lRdU1HRElvL0RFcFJyZ1ZmNWRubSs0WE1N?= =?utf-8?B?dDFQTmZrdmtVZWdUWXlLa3hrV2xQYnBncmdsbmUrVVFqckRNZS9IQ2JvQWZE?= =?utf-8?B?Yko1MWV4MmU3OUkwNVQrcWdDaEdvY0xKdC9oVFExN1Q4ckhRaU5mWVd2Q2Jw?= =?utf-8?B?U1lYTXNPNGJCTEZ6VEc4MVo3N0J0UXE5UTByRWxTTjJibEVZMWtVakZGT1Zv?= =?utf-8?B?RmpodWJ1c1VKMDNFVkpXWVdsL0w1MlhSYlNlTEd4ajc5WUxOTzcwU0NScFdP?= =?utf-8?B?VzhuVEtjU3hyVWFENTBFMlBVWHJaYW1TMDBYb2RhSGZrWWVYRnRvdGV3STJY?= =?utf-8?B?bllxL1RyYnVZV2JVekhEYVdQdGJHUWpvTUU0UllTdVBXYzM0dTB6cXdRV0FH?= =?utf-8?B?bFNzT3orRmpjUGlVUzdXK1dLT2I0TFFaYU16bWc3elhhZVUzbWhWUTdHWUJ0?= =?utf-8?B?aFlSUU5WRkJXbUlMcXRwUTNYaUZFcUxrKzVKbXBjc3B2S1VKSHI0aGovdGpH?= =?utf-8?B?RjBQMEtEVkUyeit2a01KaFBUc0ZTc0Vzci9GMk1jbllEeS9Pb1BkOGl3MWNR?= =?utf-8?B?bFNqdXNETlhSMFgzeDBSdU10MEpWY2JpbTA2cThEWmFmZnlxckJBUkhQNjBz?= =?utf-8?B?TUR4TWlVa284UlV2NUdUR0NabStDZ01XMDdmSVdyRlp5NzFyZkZJdlMxS01L?= =?utf-8?B?Tm51MkdpZVFEZnNOMktBOHhNN0hqa3VCdVFUNnB3SC9zNGF0SmNScExBYVpU?= =?utf-8?B?V05Vc0d3K05LT0hMVXFCcnN6djVidnBHWE9RajBMQWt5ZHVHcDFxZ1dyQTRZ?= =?utf-8?B?YWEwaVp4TXVnZ0t0ZjdVVUJnWXcvVG9uR2JrSlZBZ0ExNHJMSUluRHF6czcz?= =?utf-8?B?dC9jWHJ2djhYazNCYWtIcEJ0Q2E2NENSME4yZWJSTUplUGt4elEvR3JEd1BZ?= =?utf-8?B?WXRZalVmQ2JjS1VSNjFXY2NIdlJUOTcrNXltYUJZS21uUEtJbWFXZE5oa1pr?= =?utf-8?B?bmZNamtkenU0dGlCeTgxYUZIc21TemxmRlBDMjRQRHBFa01mdVBPeFRwRVVs?= =?utf-8?B?OGdGaHk2RnVqWkdteGhoVUlCa1laTHRkd0ZhNnA1SWVRVEZFb0NEaFBvaEFq?= =?utf-8?B?MHZrYWZKN0x5TFZaNTFxZ0ZRZFZMMlBNZGFyUEVGU1JkZGVkeGRFVHFEY3Z1?= =?utf-8?B?K0ZobUhzUEM4VHdjZnFsSjZGSTg4VS9nQU0weWUzRzJDSUw2OWpLSFAxZDhI?= =?utf-8?B?alNFbVhGakFVOHgzTWNaUTNneWRBcUYvQi9SRHlkNW56eXVxQk5qckloMUZJ?= =?utf-8?B?UklIbmN5ZmFpNjdnQmlBbFpTeW1tOWxsOG9VTnBrekNWUHZuTUwvV0pjYWd5?= =?utf-8?B?OFZnYmZ3L0ZPMFZ5VGE1cGJUUXhWczZRQ0VLRk9RVENBMGpCODRtNU1CeWdY?= =?utf-8?B?YU5uRHFrT3VPVlBRQWh3ZmlNVFVvZ3ZWZUJIMmN2ZWE4WXU3WnY2S1dFdlpO?= =?utf-8?B?WWxTczJSYVFHczlVaE11M3JKekpOTWt2L29kL3FReTZtbDhNS21xWnFac3N1?= =?utf-8?B?QUFWdUsvVHBlM2pSeXRVY2VZWFNYUzdvWGxGQ3R0eGp2SUZ3a0ZzMmo2bWxh?= =?utf-8?B?eEE9PQ==?= 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: AM6PR04MB6341.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e1cf61cc-309b-4a36-2356-08d9dfa590cb X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Jan 2022 01:54:04.0996 (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: 2D4JNTTMXBaxkIuI56Z6QGCDZAuxZIPnc7u6oil5gS4SFFe12VQVI9qyT50eKxS4tUBSUjISGLQlfCw7v1f9qQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB3973 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBOaWNvbGFzIER1ZnJlc25lIFtt YWlsdG86bmljb2xhc0BuZHVmcmVzbmUuY2FdDQo+IFNlbnQ6IFNhdHVyZGF5LCBKYW51YXJ5IDIy LCAyMDIyIDY6MjUgQU0NCj4gVG86IE1pbmcgUWlhbiA8bWluZy5xaWFuQG54cC5jb20+OyBtY2hl aGFiQGtlcm5lbC5vcmc7DQo+IHNoYXduZ3VvQGtlcm5lbC5vcmc7IHJvYmgrZHRAa2VybmVsLm9y Zzsgcy5oYXVlckBwZW5ndXRyb25peC5kZQ0KPiBDYzogaHZlcmt1aWwtY2lzY29AeHM0YWxsLm5s OyBrZXJuZWxAcGVuZ3V0cm9uaXguZGU7IGZlc3RldmFtQGdtYWlsLmNvbTsNCj4gZGwtbGludXgt aW14IDxsaW51eC1pbXhAbnhwLmNvbT47IGxpbnV4LW1lZGlhQHZnZXIua2VybmVsLm9yZzsNCj4g bGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZzsgZGV2aWNldHJlZUB2Z2VyLmtlcm5lbC5vcmc7 DQo+IGxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZw0KPiBTdWJqZWN0OiBSZTog W0VYVF0gUmU6IFtQQVRDSCB2OCAwNC8xNV0gbWVkaWE6QWRkIHY0bDIgZXZlbnQgY29kZWNfZXJy b3IgYW5kDQo+IHNraXANCj4gDQo+IENhdXRpb246IEVYVCBFbWFpbA0KPiANCj4gTGUgamV1ZGkg MTMgamFudmllciAyMDIyIMOgIDA3OjE4ICswMDAwLCBNaW5nIFFpYW4gYSDDqWNyaXQgOg0KPiA+ IEhpIE5pY29sYXMsDQo+ID4NCj4gPiAgICBJIGhhdmUgcXVlc3Rpb24gYWJvdXQgc2tpcCBldmVu dCBvciBzaW1pbGFyIGNvbmNlcHRzLg0KPiA+IElmIHRoZSBjbGllbnQgY29udHJvbCB0aGUgaW5w dXQgZnJhbWUgY291bnQsIGFuZCBpdCB3b24ndCBxdWV1ZSBhbnkgbW9yZQ0KPiBmcmFtZXMgdW5s ZXNzIHNvbWUgZnJhbWUgaXMgZGVjb2RlZC4NCj4gPiBCdXQgYWZ0ZXIgc2VlaywgVGhlcmUgaXMg bm8gcmVxdWlyZW1lbnQgdG8gYmVnaW4gcXVldWluZyBjb2RlZCBkYXRhIHN0YXJ0aW5nDQo+IGV4 YWN0bHkgZnJvbSBhIHJlc3VtZSBwb2ludCAoZS5nLiBTUFMgb3IgYSBrZXlmcmFtZSkuIEFueSBx dWV1ZWQgT1VUUFVUDQo+IGJ1ZmZlcnMgd2lsbCBiZSBwcm9jZXNzZWQgYW5kIHJldHVybmVkIHRv IHRoZSBjbGllbnQgdW50aWwgYSBzdWl0YWJsZSByZXN1bWUNCj4gcG9pbnQgaXMgZm91bmQuIFdo aWxlIGxvb2tpbmcgZm9yIGEgcmVzdW1lIHBvaW50LCB0aGUgZGVjb2RlciBzaG91bGQgbm90DQo+ IHByb2R1Y2UgYW55IGRlY29kZWQgZnJhbWVzIGludG8gQ0FQVFVSRSBidWZmZXJzLg0KPiA+DQo+ ID4gU28gY2xpZW50IG1heSBoYXZlIHF1ZXVlZCBzb21lIGZyYW1lcyBidXQgd2l0aG91dCBhbnkg cmVzdW1lIHBvaW50LCBpbg0KPiB0aGlzIGNhc2UgdGhlIGRlY29kZXIgd29uJ3QgcHJvZHVjZSBh bnkgZGVjb2RlZCBmcmFtZXMgaW50byBDQVBUVVJFIGJ1ZmZlcnMsDQo+IGFuZCB0aGUgY2xpZW50 IHdvbid0IHF1ZXVlIGZyYW1lcyBpbnRvIG91dHB1dCBidWZmZXJzLiBUaGlzIGNyZWF0ZXMgc29t ZSBraW5kDQo+IG9mIGRlYWRsb2NrLg0KPiA+DQo+ID4gSW4gb3VyIHByZXZpb3VzIHNvbHV0aW9u LCB3ZSBzZW5kIHNraXAgZXZlbnQgdG8gY2xpZW50IHRvIHRlbGwgaXQgdGhhdCBzb21lDQo+IGZy YW1lIGlzIHNraXBwZWQgaW5zdGVhZCBvZiBkZWNvZGVkLCB0aGVuIHRoZSBjbGllbnQgY2FuIGNv bnRpbnVlIHRvIHF1ZXVlDQo+IGZyYW1lcy4NCj4gPiBCdXQgdGhlIHNraXAgZXZlbnQgaXMgZmxh d2VkLCBzbyB3ZSBuZWVkIHNvbWUgc29sdXRpb24gdG8gcmVzb2x2ZSBpdC4NCj4gPiAxLiBkZWNv ZGVyIGNhbiBwcm9kdWNlIGFuIGVtcHR5IGJ1ZmZlciB3aXRoIFY0TDJfQlVGX0ZMQUdfU0tJUFBF RCAob3INCj4gVjRMMl9CVUZfRkxBR19FUlJPUikgYXMgeW91IGFkdmlzZWQsIGJ1dCB0aGlzIHNl ZW1zIHRvIGNvbmZsaWN0IHdpdGggdGhlDQo+IGFib3ZlIGRlc2NyaXB0aW9uIGluIHNwZWNpZmlj YXRpb24uDQo+ID4gMi4gRGVmaW5lIGEgbm90aWZpY2F0aW9uIG1lY2hhbmlzbSB0byBub3RpZnkg dGhlIGNsaWVudA0KPiA+DQo+ID4gQ2FuIHlvdSBnaXZlIHNvbWUgYWR2aWNlPyAgVGhpcyBjb25z dHJhaW50IG9mIGZyYW1lIGRlcHRoIGlzIGNvbW1vbiBvbg0KPiA+IGFuZHJvaWQNCj4gDQo+IFdp dGhvdXQgZ29pbmcgYWdhaW5zdCB0aGUgc3BlYywgeW91IGNhbiBhcyBvZiB0b2RheSBwb3AgYSBj YXB0dXJlIGJ1ZmZlciBhbmQNCj4gbWFyayBpdCBkb25lIHdpdGggZXJyb3IuIEFzIGl0IGhhcyBu b3RoaW5nIHZhbGlkIGluIGl0LCBJIHdvdWxkIGFsc28gc2V0IHRoZQ0KPiBwYXlsb2FkIHNpemUg dG8gMC4NCj4gDQo+IFNvIEknZCBzYXksIGZvciBldmVyeSB1bmlxdWUgaW5wdXQgdGltZXN0YW1w LCB0aGF0IGRpZG4ndCB5aWVsZCBhIGZyYW1lIChza2lwcGVkKSwNCj4gcG9wIGEgY2FwdHVyZSBi dWZmZXIsIGNvcHkgdGhlIHRpbWVzdGFtcCwgc2V0IHRoZSBwYXlsb2FkIHNpemUgdG8gMCBhbmQg c2V0IGl0DQo+IGFzIGRvbmUgd2l0aCBlcnJvci4NCj4gDQo+IEknbSBub3Qgc3VyZSB0aG91Z2gg aWYgd2UgdGhhdCB3ZSBjYW4gc3BlY2lmeSB0aGlzLCBhcyBJJ20gbm90IHN1cmUgdGhpcyBpcw0K PiBwb3NzaWJsZSB3aXRoIGFsbCB0aGUgZXhpc3RpbmcgSFcuIEkgbXVzdCBhZG1pdCwgSSBkb24n dCBteXNlbGYgaGFkIHRvIGRlYWwgd2l0aA0KPiB0aGF0IGlzc3VlIGFzIEknbSBub3QgdXNpbmcg YSBkdW1teSBmcmFtZXdvcmsuIEluIEdTdHJlYW1lciwgd2UgdGFrZSBjYXJlIG9mDQo+IGxvY2F0 aW5nIHRoZSBuZXh0IHN5bmMgcG9pbnQuIFNvIHVubGVzcyB0aGVyZSB3YXMgYW4gZXJyb3IgaW4g dGhlIGZyYW1ld29yaywNCj4gdGhpcyBjYXNlIGRvZXMgbm90IGV4aXN0IGZvciB1cy4NCj4gDQpI aSBOaWNvbGFzLA0KICAgIElmIHRoZSBkZWNvZGVyIGNhbiBkZXRlY3QgdGhlIG91dHB1dCBidWZm ZXIgdGhhdCBtYXkgdHJpZ2dlciBhIGVycm9yLCBpcyBpdCBiZXR0ZXIgc2V0dGluZyBlcnJvciBm bGFnIG9uIHRoZSBvdXRwdXQgYnVmZmVyLCBidXQgd2l0aG91dCBwcm9kdWNpbmcgYW4gZW1wdHkg Y2FwdHVyZSBidWZmZXIgd2l0aCBlcnJvciBmbGFnIHNldD8sIG9yIHdlIHNob3VsZCByZXR1cm4g Ym90aCBvdXRwdXQgYW5kIGNhcHR1cmUgYnVmZmVyIHdpdGggZXJyb3IgZmxhZyBzZXQ/DQogICAg QXMgSSBjYW4gc2VlIHRoZSBmb2xsb3dpbmcgZGVzY3JpcHRpb24gaW4gc3BlYzoNCg0KaWYgdGhl IGRlY29kZXIgaXMgYWJsZSB0byBwcmVjaXNlbHkgcmVwb3J0IHRoZSBPVVRQVVQgYnVmZmVyIHRo YXQgdHJpZ2dlcmVkIHRoZSBlcnJvciwgc3VjaCBidWZmZXIgd2lsbCBiZSByZXR1cm5lZCB3aXRo IHRoZSBWNEwyX0JVRl9GTEFHX0VSUk9SIGZsYWcgc2V0Lg0KDQoNCj4gPg0KPiA+IE1pbmcNCj4g Pg0KPiA+ID4gPiA+ID4gKyAgICAqIC0gYGBWNEwyX0VWRU5UX1NLSVBgYA0KPiA+ID4gPiA+ID4g KyAgICAgIC0gOA0KPiA+ID4gPiA+ID4gKyAgICAgIC0gVGhpcyBldmVudCBpcyB0cmlnZ2VyZWQg d2hlbiBvbmUgZnJhbWUgaXMgZGVjb2RlZCwNCj4gPiA+ID4gPiA+ICsgYnV0IGl0IHdvbid0DQo+ ID4gPiA+ID4gPiBiZQ0KPiA+ID4gPiA+IG91dHB1dGVkDQo+ID4gPiA+ID4gPiArICAgICB0byB0 aGUgZGlzcGxheS4gU28gdGhlIGFwcGxpY2F0aW9uIGNhbid0IGdldCB0aGlzIGZyYW1lLA0KPiA+ ID4gPiA+ID4gKyBhbmQgdGhlDQo+ID4gPiA+ID4gPiBpbnB1dA0KPiA+ID4gPiA+IGZyYW1lIGNv dW50DQo+ID4gPiA+ID4gPiArICAgICBpcyBkaXNtYXRjaCB3aXRoIHRoZSBvdXRwdXQgZnJhbWUg Y291bnQuIEFuZCB0aGlzIGV2ZXZ0DQo+ID4gPiA+ID4gPiArIGlzIHRlbGxpbmcNCj4gPiA+ID4g PiA+IHRoZQ0KPiA+ID4gPiA+IGNsaWVudCB0bw0KPiA+ID4gPiA+ID4gKyAgICAgaGFuZGxlIHRo aXMgY2FzZS4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFNpbWlsYXIgdG8gbXkgcHJldmlvdXMgY29t bWVudCwgdGhpcyBldmVudCBpcyBmbGF3ZWQsIHNpbmNlDQo+ID4gPiA+ID4gdXNlcnNwYWNlIGNh bm5vdCBrbm93IHdlcmUgdGhlIHNraXAgaXMgbG9jYXRlZCBpbiB0aGUgcXVldWVkDQo+ID4gPiA+ ID4gYnVmZmVycy4gQ3VycmVudGx5LCBhbGwgZGVjb2RlcnMgYXJlIG1hbmRhdGVkIHRvIHN1cHBv cnQNCj4gPiA+ID4gPiBWNEwyX0JVRl9GTEFHX1RJTUVTVEFNUF9DT1BZLiBUaGUgdGltZXN0YW1w IG11c3QgTk9UIGJlDQo+ID4gPiBpbnRlcnByZXRlZA0KPiA+ID4gPiA+IGJ5IHRoZSBkcml2ZXIg YW5kIG11c3QgYmUgcmVwcm9kdWNlIGFzLWlzIGluIHRoZSBhc3NvY2lhdGVkDQo+ID4gPiA+ID4g Q0FQVFVSRSBidWZmZXIuIEl0IGlzIHBvc3NpYmxlIHRvICJnYXJiYWdlIiBjb2xsZWN0IHNraXBw ZWQNCj4gPiA+ID4gPiBmcmFtZXMgd2l0aCB0aGlzIG1ldGhvZCwgdGhvdWdoIHRlZGlvdXMuDQo+ ID4gPiA+ID4NCj4gPiA+ID4gPiBBbiBhbHRlcm5hdGl2ZSwgYW5kIEkgdGhpbmsgaXQgd291bGQg YmUgbXVjaCBuaWNlciB0aGVuIHRoaXMsDQo+ID4gPiA+ID4gd291bGQgYmUgdG8gdXNlIHRoZSB2 NGwyX2J1ZmZlci5zZXF1ZW5jZSBjb3VudGVyLCBhbmQganVzdCBtYWtlDQo+ID4gPiA+ID4gaXQg c2tpcCAxIG9uIHNraXBzLiBUaG91Z2gsIHRoZSBkb3duIHNpZGUgaXMgdGhhdCB1c2Vyc3BhY2Ug bXVzdA0KPiA+ID4gPiA+IGFsc28ga25vdyBob3cgdG8gcmVvcmRlciBmcmFtZXMgKGEgZHJpdmVy IGpvYiBmb3Igc3RhdGVsZXNzDQo+ID4gPiA+ID4gY29kZWNzKSBpbiBvcmRlciB0byBpZGVudGlm eSB3aGljaCBmcmFtZSB3YXMgc2tpcHBlZC4gU28gdGhpcyBpcw0KPiA+ID4gPiA+IHBlcmhhcHMg bm90IHRoYXQgdXNlZnVsLCBvdGhlciB0aGVuIGtub3dpbmcgc29tZXRoaW5nIHdhcyBza2lwcGVk IGluDQo+IHRoZSBwYXN0Lg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gQSB0aGlyZCBvcHRpb24gd291 bGQgYmUgdG8gaW50cm9kdWNlIFY0TDJfQlVGX0ZMQUdfU0tJUFBFRC4gVGhpcw0KPiA+ID4gPiA+ IHdheSB0aGUgZHJpdmVyIGNvdWxkIHJldHVybiBhbiBlbXB0eSBwYXlsb2FkIChieXRlc3VzZWQg PSAwKQ0KPiA+ID4gPiA+IGJ1ZmZlciB3aXRoIHRoaXMgZmxhZyBzZXQsIGFuZCB0aGUgcHJvcGVy IHRpbWVzdGFtcCBwcm9wZXJseQ0KPiA+ID4gPiA+IGNvcGllZC4gVGhpcyB3b3VsZCBsZXQgdGhl IGRyaXZlciBjb21tdW5pY2F0ZSBza2lwcGVkIGZyYW1lcyBpbg0KPiA+ID4gPiA+IHJlYWwtdGlt ZS4gTm90ZSB0aGF0IHRoaXMgY291bGQgYnJlYWsgd2l0aCBleGlzdGluZyB1c2Vyc3BhY2UsDQo+ ID4gPiA+ID4gc28gaXQgd291bGQgbmVlZCB0byBiZSBvcHRlZC1pbiBzb21laG93IChhIGNvbnRy b2wgb3Igc29tZSBmbGFncykuDQo+ID4gPiA+DQo+ID4gPiA+IEhpIE5pY29sYXMsDQo+ID4gPiA+ ICAgIFRoZSBwcm9ibGVtIHdlIG1lZXQgaXMgdGhhdCB1c2Vyc3BhY2UgZG9lc24ndCBjYXJlIHdo aWNoIGZyYW1lDQo+ID4gPiA+IGlzIHNraXBwZWQsIGl0IGp1c3QgbmVlZCB0byBrbm93IHRoYXQg dGhlcmUgYXJlIGEgZnJhbWUgaXMNCj4gPiA+ID4gc2tpcHBlZCwgdGhlIGRyaXZlciBzaG91bGQg cHJvbWlzZSB0aGUgaW5wdXQgZnJhbWUgY291bnQgaXMgZXF1YWxzDQo+ID4gPiA+IHRvIHRoZSBv dXRwdXQgZnJhbWUNCj4gPiA+IGNvdW50Lg0KPiA+ID4gPiAgICAgWW91ciBmaXJzdCBtZXRob2Qg aXMgcG9zc2libGUgaW4gdGhlb3J5LCBidXQgd2UgZmluZCB0aGUNCj4gPiA+ID4gdGltZXN0YW1w IG1heSBiZSB1bnJlbGlhYmxlLCB3ZSBtZWV0IG1hbnkgdGltZXN0YW1wIGlzc3VlcyB0aGF0DQo+ ID4gPiA+IHVzZXJzcGFjZSBtYXkgZW5xdWV1ZSBpbnZhbGlkIHRpbWVzdGFtcCBvciByZXBlYXRl ZCB0aW1lc3RhbXAgYW5kDQo+ID4gPiA+IHNvIG9uLCBzbyB3ZSBjYW4ndA0KPiA+ID4gYWNjZXB0 IHRoaXMgc29sdXRpb24uDQo+ID4gPg0KPiA+ID4gVGhlIGRyaXZlciBzaG91bGQgbm90IGludGVy cHJldCB0aGUgcHJvdmlkZWQgdGltZXN0YW1wLCBzbyBpdCBzaG91bGQNCj4gPiA+IG5vdCBiZSBh YmxlIHRvIHNheSBpZiB0aGUgdGltZXN0YW1wIGlzIHZhbGlkIG9yIG5vdCwgdGhpcyBpcyBub3Qg dGhlIGRyaXZlcidzDQo+IHRhc2suDQo+ID4gPg0KPiA+ID4gVGhlIGRyaXZlciB0YXNrIGlzIHRv IG1hdGNoIHRoZSB0aW1lc3RhbXAgdG8gdGhlIENBUFRVUkUgYnVmZmVyIChpZg0KPiA+ID4gdGhh dCBidWZmZXIgd2FzIHByb2R1Y2VkKSwgYW5kIHJlcHJvZHVjZSBpdCBleGFjdGx5Lg0KPiA+ID4N Cj4gPiA+ID4gICAgIEkgdGhpbmsgeW91ciBzZWNvbmQgb3B0aW9uIGlzIGJldHRlci4gQW5kIHRo ZXJlIGFyZSBvbmx5IDENCj4gPiA+ID4gcXVlc3Rpb24sIHdlIGZpbmQgc29tZSBhcHBsaWNhdGlv biBwcmVmZXIgdG8gdXNlIHRoZQ0KPiA+ID4gPiBWNEwyX0VWRU5UX0VPUyB0byBjaGVjayB0aGUg ZW9zLCBub3QgY2hlY2tpbmcgdGhlIGVtcHR5IGJ1ZmZlciwgaWYNCj4gPiA+ID4gd2UgdXNlIHRo aXMgbWV0aG9kIHRvIGNoZWNrIHNraXBwZWQgZnJhbWUsIHRoZQ0KPiA+ID4NCj4gPiA+IENoZWNr aW5nIHRoZSBlbXB0eSBidWZmZXIgaXMgYSBsZWdhY3kgbWV0aG9kLCBvbmx5IGF2YWlsYWJsZSBp bg0KPiA+ID4gU2Ftc3VuZyBNRkMgZHJpdmVyLiBUaGUgc3BlYyBzYXlzIHRoYXQgdGhlIGxhc3Qg YnVmZmVyIHNob3VsZCBiZQ0KPiA+ID4gZmxhZ2dlZCB3aXRoIF9MQVNULCBhbmQgYW55IGZ1cnRo ZXIgYXR0ZW1wdCB0byBwb2xsIHNob3VsZCB1bmJsb2NrIGFuZA0KPiBEUUJVRiByZXR1cm4gRVBJ UEUuDQo+ID4gPg0KPiA+ID4gPiBhcHBsaWNhdGlvbiBzaG91bGQgY2hlY2sgZW1wdHkgYnVmZmVy IGluc3RlYWQgb2YgVjRMMl9FVkVOVF9FT1MsDQo+ID4gPiA+IG90aGVyd2lzZSBpZiB0aGUgbGFz dCBmcmFtZSBpcyBza2lwcGVkLCB0aGUgYXBwbGljYXRpb24gd2lsbCBtaXNzIGl0Lg0KPiA+ID4g PiBPZiBjb3Vyc2UgdGhpcyBpcyBub3QgYSBwcm9ibGVtLCBpdCBqdXN0IGluY3JlYXNlcyB0aGUg Y29tcGxleGl0eQ0KPiA+ID4gPiBvZiB0aGUgdXNlcnNwYWNlIGltcGxlbWVudGF0aW9uDQo+ID4g Pg0KPiA+ID4gVGhlIEVQSVBFIG1lY2hhbmlzbSBjb3ZlcnMgdGhpcyBpc3N1ZSwgd2hpY2ggd2Ug aW5pdGlhbGx5IGhhZCB3aXRoDQo+ID4gPiB0aGUgTEFTVCBmbGFnLg0KPiA+ID4NCj4gPiA+ID4g ICAgIEkgZG9uJ3QgdGhpbmsgeW91ciB0aGlyZCBtZXRob2QgaXMgZmVhc2libGUsIHRoZSByZWFz b25zIGFyZSBhcyBiZWxvdw0KPiA+ID4gPiAgICAgICAgICAgICAgIDEuIHVzdWFsbHkgdGhlIGVt cHR5IHBheWxvYWQgbWVhbnMgZW9zLCBhbmQgYXMgeW91DQo+ID4gPiA+IHNheSwgaXQgbWF5IGlu dHJvZHVjZSBjb25mdXNpb24uDQo+ID4gPiA+ICAgICAgIDIuIFRoZSBkcml2ZXIgbWF5IG5vdCBo YXZlIHRoZSBvcHBvcnR1bml0eSB0byByZXR1cm4gYW4NCj4gPiA+ID4gZW1wdHkgcGF5bG9hZCBk dXJpbmcgZGVjb2RpbmcsIGluIG91ciBkcml2ZXIsIGRyaXZlciB3aWxsIHBhc3MgdGhlDQo+ID4g PiA+IGNhcHR1cmUgYnVmZmVyIHRvIGZpcm13YXJlLCBhbmQgd2hlbiBzb21lIGZyYW1lIGlzIHNr aXBwZWQsIHRoZQ0KPiA+ID4gPiBmaXJtd2FyZSB3b24ndCByZXR1cm4gdGhlIGJ1ZmZlciwgZHJp dmVyIG1heSBub3QgZmluZCBhbiBhdmFpbGFibGUNCj4gPiA+ID4gY2FwdHVyZSBidWZmZXIgdG8g cmV0dXJuIHRvIHVzZXJzcGFjZS4NCj4gPiA+ID4NCj4gPiA+ID4gICAgVGhlIHJlcXVpcmVtZW50 IGlzIHRoYXQgdXNlcnNwYWNlIG5lZWQgdG8gbWF0Y2ggdGhlIGlucHV0IGZyYW1lDQo+ID4gPiA+ IGNvdW50IGFuZCBvdXRwdXQgZnJhbWUgY291bnQuIEl0IGRvZXNuJ3QgY2FyZSB3aGljaCBmcmFt ZSBpcw0KPiA+ID4gPiBza2lwcGVkLCBzbyB0aGUgVjRMMl9FVkVOVF9TS0lQIGlzIHRoZSBlYXNp ZXN0IHdheSBmb3IgZHJpdmVyIGFuZA0KPiB1c2Vyc3BhY2UuDQo+ID4gPiA+ICAgIElmIHlvdSB0 aGluayB0aGlzIGV2ZW50IGlzIHJlYWxseSBpbmFwcHJvcHJpYXRlLCBJIHByZWZlciB0bw0KPiA+ ID4gPiBhZG9wdCB5b3VyIHNlY29uZCBvcHRpb24NCj4gPiA+DQo+ID4gPiBQbGVhc2UsIGRyb3Ag U0tJUCBmcm9tIHlvdSBkcml2ZXIgYW5kIHRoaXMgcGF0Y2hzZXQgYW5kIGZpeCB5b3VyDQo+ID4g PiBkcmFpbmluZyBwcm9jZXNzIGhhbmRsaW5nIHRvIGZvbGxvdyB0aGUgc3BlYy4gVGhlIFNhbXN1 bmcgT01YDQo+ID4gPiBjb21wb25lbnQgaXMgaXJyZWxldmFudCB0byBtYWlubGluZSBzdWJtaXNz aW9uLCB0aGUgT01YIGNvZGUgc2hvdWxkDQo+ID4gPiBiZSB1cGRhdGVkIHRvIGZvbGxvdyB0aGUg c3BlYy4NCj4gPiA+DQo+ID4gPiA+DQoNCg==