From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by sourceware.org (Postfix) with ESMTPS id 266CC385780D for ; Wed, 13 Mar 2024 17:57:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 266CC385780D Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oracle.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 266CC385780D Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1710352653; cv=pass; b=F75T36HGhvIODajmGPweQ4KtMe2KMLfDu1vADFl5uSppnbX4pSIQ5o1AFuj51AcUXAlIBzizRM7LFBsbPgBFD0VhheEb46+hMCHN7m/gLMh0uOu5BKinqYRf3K64+VphqcotiysV0spApfhKPw/khYy4EteFVF/SkwWwwSpZ7Hg= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1710352653; c=relaxed/simple; bh=Aedr52p9DcIT/YL/XGHoNZ4fJIYAA66J5cJSXNpRO/c=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=YCULGLIGdF1DICvLO//3QmzRdE/x6jlnjutuAbaDOIjMwVUQcmMyetMu0S35O1HP+uekVpzM3amPV54yE99RL2xDzsVDSe+nslavbiB6UOTQnEVrr3Z4zuS5yQoIed06oAPaErN2cwrDFnN63Cw+pPNTQ7xmvl0vGoWLBKoSi6U= ARC-Authentication-Results: i=2; server2.sourceware.org Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 42DHDlPL009760; Wed, 13 Mar 2024 17:57:28 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : mime-version; s=corp-2023-11-20; bh=Aedr52p9DcIT/YL/XGHoNZ4fJIYAA66J5cJSXNpRO/c=; b=Kb7Xfy8HRl9P3xENaidoFzZlgutzC13kLwjP4CCgAsa+Qb6Mg0Zfx35ICAKmJSEMKQKU RU9jfKBGAueSLlvHUphy2xxZ/Wgpp3CCcqkc2g/7dUeTw+Cysn1vWHnFos3nCBCxGGaH 4QRhOrQTP9dksvAVI4FpIuvxplPixh2q//2BrDFgejceDjr7SSukfe5TpzljeEwshdQU JTe+z9YF5yisGxqhp9QTlvxuutpT8hQatARIYNUN17MSVmW4rTxrzsKMW0bVpE8inbrf xUWtrQ/8uv4kEkEorL5iv2RPKBD17DuwfYNzkEtNcyPl1RSt2ruJSAXoiYC4dj9NTfCP 1g== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3wrftdhrte-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 13 Mar 2024 17:57:27 +0000 Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 42DH965T019753; Wed, 13 Mar 2024 17:57:26 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2040.outbound.protection.outlook.com [104.47.66.40]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3wre796jxa-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 13 Mar 2024 17:57:26 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cccsy4wWMu1hH1Oiwn0Lu+cETqB9rKICQ//a4qCzJ+8KN4OnXoyMiZtzDn76pm0B0jfKGyMtQUhGJ2Uy/BXNm90FGzs9uNHrPXyIlc4/VcYbDpzI99lVFryoCtKmyx37tG5NOMklSxjGhosIIs33vOT41/dRRsVnYN1QxPuo6pIokzSlWBML492VFPj+353gWjV1JT7CDzPsyAxL4rH/iPVxbAKEh16g3z3AAVEMGvt5u8sN687Jb9KuOXaBKiEktO1hrIw0VbiqaTFK7WzP7E+cCKUgBXA+H9Ybi6HbkhWLAaLg4nWs5kHGCII2AO5kExWyeyBs6IQ8kFWMvN8oDQ== 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=Aedr52p9DcIT/YL/XGHoNZ4fJIYAA66J5cJSXNpRO/c=; b=CrHHH1mCGDCcdNN8WdUxVZeQy/B0x3t8NnLJfjF6WhXCOq+xrLI7HNV9OHcmYop/jfq3ixw44QoXzOXB7fU86B76xaGd4PIXXxFY3LKBL20adEF2QMqKsM+BoTyk2BOnFxw4iN2aX009/f+LrVH5qEMdObN1yIJqhBCQrS+3b6aUrhIqiJNlvvX7igmEwjcXQO2zDX7CIw0rvXuU2Mr1hzHP8TRFzUBbeke3MwUw3l7JD+p70CRMQMxgCrux6Xz62UXwAU3pvvddH3bdA9aHl6CRf3xOJ3wiRn1T9LOPUThugk4bsjOjZZ+W8jqf5v/rAHKIrW53wWLd0QV1rQRe6g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Aedr52p9DcIT/YL/XGHoNZ4fJIYAA66J5cJSXNpRO/c=; b=Y3Q1OdKFBAJEPZahthe4Qt3XE9ucCa5Lja7NM8kPO5H+WdvKhdtEBIxuZoAoXJk3G/XYiSD8wMQA9bOg6cSEDid1eTVat2/4yZbIEL0KpZ7l+T7Q3Gr9FeybpYRty+6AUeWGmg0pll2xRIeCgYbkiKIQVI/LD7mujILCkxVg0mo= Received: from CY8PR10MB6538.namprd10.prod.outlook.com (2603:10b6:930:5a::17) by BN0PR10MB4888.namprd10.prod.outlook.com (2603:10b6:408:115::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.21; Wed, 13 Mar 2024 17:57:22 +0000 Received: from CY8PR10MB6538.namprd10.prod.outlook.com ([fe80::2dae:7852:9563:b4bc]) by CY8PR10MB6538.namprd10.prod.outlook.com ([fe80::2dae:7852:9563:b4bc%6]) with mapi id 15.20.7386.017; Wed, 13 Mar 2024 17:57:22 +0000 From: Qing Zhao To: Siddhesh Poyarekar CC: Joseph Myers , "richard.guenther@gmail.com" , "uecker@tugraz.at" , "keescook@chromium.org" , "isanbard@gmail.com" , "gcc-patches@gcc.gnu.org" Subject: Re: [PATCH v6 1/5] Provide counted_by attribute to flexible array member field (PR108896) Thread-Topic: [PATCH v6 1/5] Provide counted_by attribute to flexible array member field (PR108896) Thread-Index: AQHaYRD9EdjOt0BduUCGa1F4i6oqlLEyxp0AgANW/4A= Date: Wed, 13 Mar 2024 17:57:22 +0000 Message-ID: <1D97CD2C-FBA9-4A71-AD81-E23040DCEA69@oracle.com> References: <20240216194723.391359-1-qing.zhao@oracle.com> <20240216194723.391359-2-qing.zhao@oracle.com> <277ad106-ac4e-421c-82cf-0288be6aa23e@gotplt.org> In-Reply-To: <277ad106-ac4e-421c-82cf-0288be6aa23e@gotplt.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3774.400.31) x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CY8PR10MB6538:EE_|BN0PR10MB4888:EE_ x-ms-office365-filtering-correlation-id: 164e82c3-9624-42b4-3e64-08dc438708eb x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: P+n+2eD0in7/tqgQPRs2U3kBXawuE1FTHiSd/1MRCuwua/Q9OB3y2TL+TMM/CXJEe3E5z3jZQYP7JZpYVSvaW2IQtIlBZBpt5HAopA+uL3+2csa0CiSVLxlKIXiNpKtCsgpYBqF39FvAwDTJMg6+TXmOM8hB4KHKfJVeSaRapuglFQ7w8qNFVA5GFpKSqAdoSlfJEZQtZz34RbBrbXsZ/ZAMkNnqr2XbJfq1p6NXoKwWi7CCII0wViSeDcINXdQM6v+a4gfOk4N+5XimsC0b2UdyI22ui+IhQC15b/IeTgb98ku1yZBdRj6ydSMiNrBNQsF2KZvqiFzsB9emi1Zd2yXegft5ekUXoYZTGoAxHw1J5nha9KBg76O3kEn0alHcobIb0nyu+sSwPXjJT8WDR/x1JXGOwCZl+KtbcDuwEz4W6ZgE1X96FbXE7PK1esEhPCOu9g99+Qt0q0n7Cy69M4kgVZHu8v8K2KKrXjTST5g06QyPUWAI7mxKa612YUYx17WoSQfPWf27Tj0wi1gMy7V4mlz89H9B5/z81cooM/z/HuSgRsKJKImWmxixE4SqK+NAvvcMUvSMT4Mo5Q0EFk71DzbcMP5ANThE/rYBFN5sD9X4IW4RB/PaoIC8da32hD+r02KB3kvb48q7E6ejDcQ7aB5XkA0CHu8r4vqHAIY= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY8PR10MB6538.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376005)(1800799015)(38070700009);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bEc5OHQ5cjE2SlhQcmVidHQyU1RvNWRMV1U5ZGcwa2VQblpCMktmSjVzbmFL?= =?utf-8?B?dzkzRkVjbE1WcnYzY2hGYjdxdXlHenNEWFhYL2pOTnRSbWRNRVR5Y3hHd0Vl?= =?utf-8?B?dzE3empodm1PSjk2blNaNUJyb0lXYXFMalhuZTFzUFRtOVAyRElSTEpLNHFK?= =?utf-8?B?Y2RIMzZSZ3ljdVhldHhCTUtxSXF3VWpGVHVFSzVoSjlpNm5XQnpNMUNIanpS?= =?utf-8?B?WmpoUlMwTEFmL0c1ZXFySjI3ZnhJd1YwdVJEMTRCaWJwSGlUMStHY01sT21P?= =?utf-8?B?cTU0V0k3a1A1dDRjWFVEUUdGTEFFcmVqRDhCWGN4REJoa3g2ajVGbDcrNDhl?= =?utf-8?B?Qk9rL2NnWDZWNGpzc2gxYjlnTjFBbE9kcTJ6TS9hTHZyOTN4U0pUYlF1TWUz?= =?utf-8?B?WHptZk1WWU1PZUkwQ2k4K09KMk01MVcyNTBRU1V4SVlrckVMQjlQM2d0US9C?= =?utf-8?B?ajhlejJwSWJpSnZiYzRKcm1EcWpSV2Z1NzBCN25HR2JsYzNkaHZSZXg2TWth?= =?utf-8?B?L2ZnZGE2di9ETHFaQWVHRWV1K0pIdml5Rm01MmJ2akF0WU0vT1dOSDVGTldo?= =?utf-8?B?L0Z1Um9IVld1VWxobElqMmUyRFl0WDhoclp3cWk2dU9yQTVWejZyQVJQblh3?= =?utf-8?B?Q0RJcHFOeDYvS0RnQVVPaXVGUCswNXM4RmRRWHQ1Tzk1bTR1a3FHSlR0Mmtu?= =?utf-8?B?ZEtDVm5uK080UldWZ0RueFkxaW9lM1lLcFUwanpkb0JjS0l3VGxvU2tzNmY5?= =?utf-8?B?YktOaVUwWWNub2d6WXh3bEpVMzY0V1BTSS9EVDdaaFV4UG9XMDN4Y2hlWEFL?= =?utf-8?B?bFQ1cnN6czliK29wL25kVGU3MWdjeTdwR3VJWGMyM2xKa0J2eHlPQm0yNjNk?= =?utf-8?B?aWNoUUdBMkliZEIydGthU25kUTJ5SksxVzNtUUJnbzRJWndEOG1KUFdheTRJ?= =?utf-8?B?aGdBSE9qWlBnbkRTT1FER2lVZWpoczMwTHJzNVJ4TmlGazB4MGJNVGdUemdP?= =?utf-8?B?UGZ3UGtLaHVubGdyVncvQVJCN2RjeGdSRVlMdEsvY25HVDZOYWJ1U0xtUGQv?= =?utf-8?B?N0s1S0JqL2tlQlV5TnJ2eDBmMjV3bkJPbVAvVklSZW5wRWtDNHE0eG9IbHhW?= =?utf-8?B?aXhBM2grSmczQzRjeVR3aGh0aWhlQ3kraEUrOTJLOWNuQS9KUUZPTm1VMjd1?= =?utf-8?B?OTJScW1RdGI5K2wwYk1XNzlFUmRWWDhGTURhQjdNQ2JkSlpJSE54cFFDSUwr?= =?utf-8?B?dGlRMEp6OUZnT1RWckp6VWVTSmRrZlVMNll1b1VrNnNpa3p1eGJCSFJFaktD?= =?utf-8?B?UHQvTkF5bndpOVUxaHRuZGx1cmg1Qjd3WXJLWitsRDRCOUgxM1NvTTBlV01t?= =?utf-8?B?MDVWMUM5MG9pZndaaFp0WFlJc1NmMjdZUDFqajlWV2Q2Z3FLRjZqcC9zREJ2?= =?utf-8?B?SDV0aG8zTUNhYnRDRDlkeE5FNCs0dGJPMUhhanBrTHlEb1hQU1ZIUkNSQkJi?= =?utf-8?B?akNJdHVBdG9udTRHYkovQkhidllnc0xSdERBYkxUdGV3aG1vRGlUVEphK0FK?= =?utf-8?B?dHRkRlVhZVZZRTVzb04rNml6dUVhYXZYWlhKR1RtQy9JOTBVandRZDNlRlFM?= =?utf-8?B?Tm42VnVwMWovZFFUd0oybHRIL2xRZE5nRTVUMXJQRnZLeEpSQm9uQmNjbXVN?= =?utf-8?B?c3huTlhvbkorUk0vMjMyc3VzOWJhZzRITTVjVDY1a2dhSUQxQTRNNDZIQ2xE?= =?utf-8?B?MVNjNnFTZUdTTnF4SGwxTm1EbU1FcUR4OEpjZ0FORFhsU1lCVVVBcktBaTRr?= =?utf-8?B?eHBSdHFzTHhvQit5QUVqUEYrUXNwS2pDMC8wYzNJQ2xlcFNDenZiU2tjemRt?= =?utf-8?B?dndyS0k3VmZkWXlMZjUvMkUwbVUwUDdlaS9EeTNpVW9HUDhMa3VqQWxYeEM4?= =?utf-8?B?WlVMcWVmZm4rRktWeGFjazRlK1BIQ21Ra2xPK3I2R3l3WVRvN0lHNEsxOXhu?= =?utf-8?B?Vm8wSU1yT2ZPbExsOXhzV1FycnV3YWVyMDE2OWZoYXdTNitKRlBwalJhVFNI?= =?utf-8?B?anJ3VSt6YnFmTHRxczBFNmpxZ1lidXRVWVN3UGFqa2F6WmFjajlic0pYZ3c5?= =?utf-8?Q?M1Jk+Il64lBfwIXFTjZEM762e?= Content-Type: multipart/alternative; boundary="_000_1D97CD2CFBA94A71AD81E23040DCEA69oraclecom_" MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 8fVMugfieKMMUohxBqH6xRRl6vA4rEr9z8/2KTVUDES6yRViQXfQNT7zoXahnefxbzFa+aGckel2WOOks1rygnfhu8OKuiRDvIPsTFr84/Ec4y0HUUF87GrIw++gLDCAL9XgpbE0WoFt0V3GocNkj2jsDCwe8UJvlC3jDzUzGve8Hy7ajQuJK/xTjRpZbDg+0fwjSYqeI4G+GTW1MzuVVUg6wpivD84K0yLaYo6cN6kcPkQ//xUrFvD1Q3HosR/9yY4HTwo+Vam3LqvvrkWQaICQ+8Nc2zBugyLTy0lCmaaIIzTHnVHi3Q9VlcpoPrdje08s0WJSsfL63Zh+AD2LHyS296L8t8/P9ZDx7Lx1UaUuIDlLmLWMVM3i/0uT8Ph5UNJqUJ0psdpi6CC1Coe8Je4xrnjBWOe1VMCLV+o+QvrWYg6z5kd3NiHHwhLSZsFOdbzqBonMq4jCGD+krK42XcnMfRFiWPrp3mzaXk2tD6SErQdlGRBwDzR80p9lZyL4hPIaBgjEG2Be8YcYTfQWVLSK04R1gMuGrBM7C6l7uKZlQtxlEXcQGXgQP39DTKowvNgHgDuQvfEoYS5WPZwP2ToVScDIdDw/lInre4zblEw= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CY8PR10MB6538.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 164e82c3-9624-42b4-3e64-08dc438708eb X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Mar 2024 17:57:22.8899 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: CGFQTuAp1QUvWgC6PjyHIJa3PIxnleGbC91NR+XR30j/nsZafJw3UvoT5Z9aH0soEQ3Y5RRexa403gj/UriXKg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN0PR10MB4888 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-03-13_09,2024-03-13_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 mlxscore=0 spamscore=0 bulkscore=0 phishscore=0 malwarescore=0 suspectscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2403130136 X-Proofpoint-ORIG-GUID: R6lG0Ab8BRz7SPvVhkBnx7q0LkbiucTF X-Proofpoint-GUID: R6lG0Ab8BRz7SPvVhkBnx7q0LkbiucTF X-Spam-Status: No, score=-11.3 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,HTML_MESSAGE,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --_000_1D97CD2CFBA94A71AD81E23040DCEA69oraclecom_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 U2lkLA0KDQpUaGFua3MgYSBsb3QgZm9yIHlvdXIgdGltZSB0byByZXZpZXcg dGhlIGNvZGUuDQpTZWUgbXkgcmVwbHkgYmVsb3c6DQoNCk9uIE1hciAxMSwg MjAyNCwgYXQgMTA6NTcsIFNpZGRoZXNoIFBveWFyZWthciA8c2lkZGhlc2hA Z290cGx0Lm9yZz4gd3JvdGU6DQoNCk9uIDIwMjQtMDItMTYgMTQ6NDcsIFFp bmcgWmhhbyB3cm90ZToNCiAgICAgcmV0dXJuIHRydWU7DQogICBlbHNlDQog ICAgIHJldHVybiB0YXJnZXRtLmF0dHJpYnV0ZV90YWtlc19pZGVudGlmaWVy X3AgKGF0dHJfaWQpOw0KQEAgLTI4MDYsNiArMjgxMSw1MyBAQCBoYW5kbGVf c3RyaWN0X2ZsZXhfYXJyYXlfYXR0cmlidXRlICh0cmVlICpub2RlLCB0cmVl IG5hbWUsDQogICByZXR1cm4gTlVMTF9UUkVFOw0KIH0NCiArLyogSGFuZGxl IGEgImNvdW50ZWRfYnkiIGF0dHJpYnV0ZTsgYXJndW1lbnRzIGFzIGluDQor ICAgc3RydWN0IGF0dHJpYnV0ZV9zcGVjLmhhbmRsZXIuICAqLw0KKw0KK3N0 YXRpYyB0cmVlDQoraGFuZGxlX2NvdW50ZWRfYnlfYXR0cmlidXRlICh0cmVl ICpub2RlLCB0cmVlIG5hbWUsDQorICAgICAgdHJlZSBhcmdzLCBpbnQgQVJH X1VOVVNFRCAoZmxhZ3MpLA0KKyAgICAgIGJvb2wgKm5vX2FkZF9hdHRycykN Cit7DQorICB0cmVlIGRlY2wgPSAqbm9kZTsNCisgIHRyZWUgYXJndmFsID0g VFJFRV9WQUxVRSAoYXJncyk7DQorDQorICAvKiBUaGlzIGF0dHJpYnV0ZSBv bmx5IGFwcGxpZXMgdG8gZmllbGQgZGVjbHMgb2YgYSBzdHJ1Y3R1cmUuICAq Lw0KKyAgaWYgKFRSRUVfQ09ERSAoZGVjbCkgIT0gRklFTERfREVDTCkNCisg ICAgew0KKyAgICAgIGVycm9yX2F0IChERUNMX1NPVVJDRV9MT0NBVElPTiAo ZGVjbCksDQorICIlcUUgYXR0cmlidXRlIG1heSBub3QgYmUgc3BlY2lmaWVk IGZvciBub24tZmllbGQiDQorICIgZGVjbGFyYXRpb24gJXErRCIsIG5hbWUs IGRlY2wpOw0KKyAgICAgICpub19hZGRfYXR0cnMgPSB0cnVlOw0KKyAgICB9 DQorICAvKiBUaGlzIGF0dHJpYnV0ZSBvbmx5IGFwcGxpZXMgdG8gZmllbGQg d2l0aCBhcnJheSB0eXBlLiAgKi8NCisgIGVsc2UgaWYgKFRSRUVfQ09ERSAo VFJFRV9UWVBFIChkZWNsKSkgIT0gQVJSQVlfVFlQRSkNCisgICAgew0KKyAg ICAgIGVycm9yX2F0IChERUNMX1NPVVJDRV9MT0NBVElPTiAoZGVjbCksDQor ICIlcUUgYXR0cmlidXRlIG1heSBub3QgYmUgc3BlY2lmaWVkIGZvciBhIG5v bi1hcnJheSBmaWVsZCIsDQorIG5hbWUpOw0KKyAgICAgICpub19hZGRfYXR0 cnMgPSB0cnVlOw0KKyAgICB9DQorICAvKiBUaGlzIGF0dHJpYnV0ZSBvbmx5 IGFwcGxpZXMgdG8gYSBDOTkgZmxleGlibGUgYXJyYXkgbWVtYmVyIHR5cGUu ICAqLw0KKyAgZWxzZSBpZiAoISBjX2ZsZXhpYmxlX2FycmF5X21lbWJlcl90 eXBlX3AgKFRSRUVfVFlQRSAoZGVjbCkpKQ0KKyAgICB7DQorICAgICAgZXJy b3JfYXQgKERFQ0xfU09VUkNFX0xPQ0FUSU9OIChkZWNsKSwNCisgIiVxRSBh dHRyaWJ1dGUgbWF5IG5vdCBiZSBzcGVjaWZpZWQgZm9yIGEgbm9uIg0KKyAi IGZsZXhpYmxlIGFycmF5IG1lbWJlciBmaWVsZCIsDQorIG5hbWUpOw0KKyAg ICAgICpub19hZGRfYXR0cnMgPSB0cnVlOw0KKyAgICB9DQoNCkhvdyBhYm91 dCAibm90IGFsbG93ZWQiIGluc3RlYWQgb2YgIm1heSBub3QgYmUgc3BlY2lm aWVkIj8NCg0KT2theSwgd2lsbCB1cGRhdGUgdGhlbS4NCg0KKyAgLyogVGhl IGFyZ3VtZW50IHNob3VsZCBiZSBhbiBpZGVudGlmaWVyLiAgKi8NCisgIGVs c2UgaWYgKFRSRUVfQ09ERSAoYXJndmFsKSAhPSBJREVOVElGSUVSX05PREUp DQorICAgIHsNCisgICAgICBlcnJvcl9hdCAoREVDTF9TT1VSQ0VfTE9DQVRJ T04gKGRlY2wpLA0KKyAiJTxjb3VudGVkX2J5JT4gYXJndW1lbnQgbm90IGFu IGlkZW50aWZpZXIiKTsNCisgICAgICAqbm9fYWRkX2F0dHJzID0gdHJ1ZTsN CisgICAgfQ0KDQpWYWxpZGF0ZSB0aGF0IHRoZSBhdHRyaWJ1dGUgb25seSBh cHBsaWVzIHRvIGEgQzk5IGZsZXhpYmxlIGFycmF5IG1lbWJlciBvZiBhIHN0 cnVjdHVyZSBhbmQgdGhlIGFyZ3VtZW50IHNob3VsZCBiZSBhbiBpZGVudGlm aWVyIG5vZGUuICBPSy4gdmVyaWZ5X2NvdW50ZWRfYnlfYXR0cmlidXRlIGRv ZXMgbW9yZSBleHRlbnNpdmUgdmFsaWRhdGlvbiBvbiBhcmd2YWwuDQpZZXMu DQoNCisNCisgIHJldHVybiBOVUxMX1RSRUU7DQorfQ0KKw0KIC8qIEhhbmRs ZSBhICJ3ZWFrIiBhdHRyaWJ1dGU7IGFyZ3VtZW50cyBhcyBpbg0KICAgIHN0 cnVjdCBhdHRyaWJ1dGVfc3BlYy5oYW5kbGVyLiAgKi8NCiBkaWZmIC0tZ2l0 IGEvZ2NjL2MtZmFtaWx5L2MtY29tbW9uLmNjIGIvZ2NjL2MtZmFtaWx5L2Mt Y29tbW9uLmNjDQppbmRleCBlMTVlZmY2OThkZmQuLjU2ZDgyOGUzZGZhZiAx MDA2NDQNCi0tLSBhL2djYy9jLWZhbWlseS9jLWNvbW1vbi5jYw0KKysrIGIv Z2NjL2MtZmFtaWx5L2MtY29tbW9uLmNjDQpAQCAtOTkwOSw2ICs5OTA5LDE5 IEBAIGNfY29tbW9uX2ZpbmFsaXplX2Vhcmx5X2RlYnVnICh2b2lkKQ0KICAg ICAgICgqZGVidWdfaG9va3MtPmVhcmx5X2dsb2JhbF9kZWNsKSAoY25vZGUt PmRlY2wpOw0KIH0NCiArLyogRGV0ZXJtaW5lIHdoZXRoZXIgVFlQRSBpcyBh IElTTyBDOTkgZmxleGlibGUgYXJyYXkgbWVtZWJlciB0eXBlICJbXSIuICAq Lw0KDQpzL21lbWViZXIvbWVtYmVyLw0KT2theSwgd2lsbCB1cGRhdGUgaXQu DQoNCitib29sDQorY19mbGV4aWJsZV9hcnJheV9tZW1iZXJfdHlwZV9wIChj b25zdF90cmVlIHR5cGUpDQorew0KKyAgaWYgKFRSRUVfQ09ERSAodHlwZSkg PT0gQVJSQVlfVFlQRQ0KKyAgICAgICYmIFRZUEVfU0laRSAodHlwZSkgPT0g TlVMTF9UUkVFDQorICAgICAgJiYgVFlQRV9ET01BSU4gKHR5cGUpICE9IE5V TExfVFJFRQ0KKyAgICAgICYmIFRZUEVfTUFYX1ZBTFVFIChUWVBFX0RPTUFJ TiAodHlwZSkpID09IE5VTExfVFJFRSkNCisgICAgcmV0dXJuIHRydWU7DQor DQorICByZXR1cm4gZmFsc2U7DQorfQ0KKw0KDQpNb3ZlZCBmcm9tIGMvYy1k ZWNsLmNjPGh0dHA6Ly9jLWRlY2wuY2MvPi4gIE9LLg0KDQogLyogR2V0IHRo ZSBMRVZFTCBvZiB0aGUgc3RyaWN0X2ZsZXhfYXJyYXkgZm9yIHRoZSBBUlJB WV9GSUVMRCBiYXNlZCBvbiB0aGUNCiAgICB2YWx1ZXMgb2YgYXR0cmlidXRl IHN0cmljdF9mbGV4X2FycmF5IGFuZCB0aGUgZmxhZ19zdHJpY3RfZmxleF9h cnJheXMuICAqLw0KIHVuc2lnbmVkIGludA0KZGlmZiAtLWdpdCBhL2djYy9j LWZhbWlseS9jLWNvbW1vbi5oIGIvZ2NjL2MtZmFtaWx5L2MtY29tbW9uLmgN CmluZGV4IDJkNWY1Mzk5ODg1NS4uM2UwZWVkMDU0OGIwIDEwMDY0NA0KLS0t IGEvZ2NjL2MtZmFtaWx5L2MtY29tbW9uLmgNCisrKyBiL2djYy9jLWZhbWls eS9jLWNvbW1vbi5oDQpAQCAtOTA0LDYgKzkwNCw3IEBAIGV4dGVybiB0cmVl IGZvbGRfZm9yX3dhcm4gKHRyZWUpOw0KIGV4dGVybiB0cmVlIGNfY29tbW9u X2dldF9uYXJyb3dlciAodHJlZSwgaW50ICopOw0KIGV4dGVybiBib29sIGdl dF9hdHRyaWJ1dGVfb3BlcmFuZCAodHJlZSwgdW5zaWduZWQgSE9TVF9XSURF X0lOVCAqKTsNCiBleHRlcm4gdm9pZCBjX2NvbW1vbl9maW5hbGl6ZV9lYXJs eV9kZWJ1ZyAodm9pZCk7DQorZXh0ZXJuIGJvb2wgY19mbGV4aWJsZV9hcnJh eV9tZW1iZXJfdHlwZV9wIChjb25zdF90cmVlKTsNCiBleHRlcm4gdW5zaWdu ZWQgaW50IGNfc3RyaWN0X2ZsZXhfYXJyYXlfbGV2ZWxfb2YgKHRyZWUpOw0K IGV4dGVybiBib29sIGNfb3B0aW9uX2lzX2Zyb21fY3BwX2RpYWdub3N0aWNz IChpbnQpOw0KIGV4dGVybiB0cmVlIGNfaGFyZGJvb2xfdHlwZV9hdHRyXzEg KHRyZWUsIHRyZWUgKiwgdHJlZSAqKTsNCmRpZmYgLS1naXQgYS9nY2MvYy9j LWRlY2wuY2MgYi9nY2MvYy9jLWRlY2wuY2MNCmluZGV4IGZlMjBiYzIxYzky Ni4uNDM0ODEyMzUwMmU0IDEwMDY0NA0KLS0tIGEvZ2NjL2MvYy1kZWNsLmNj DQorKysgYi9nY2MvYy9jLWRlY2wuY2MNCkBAIC01MzAxLDE5ICs1MzAxLDYg QEAgc2V0X2FycmF5X2RlY2xhcmF0b3JfaW5uZXIgKHN0cnVjdCBjX2RlY2xh cmF0b3IgKmRlY2wsDQogICByZXR1cm4gZGVjbDsNCiB9DQogLS8qIERldGVy bWluZSB3aGV0aGVyIFRZUEUgaXMgYSBJU08gQzk5IGZsZXhpYmxlIGFycmF5 IG1lbWViZXIgdHlwZSAiW10iLiAgKi8NCi1zdGF0aWMgYm9vbA0KLWZsZXhp YmxlX2FycmF5X21lbWJlcl90eXBlX3AgKGNvbnN0X3RyZWUgdHlwZSkNCi17 DQotICBpZiAoVFJFRV9DT0RFICh0eXBlKSA9PSBBUlJBWV9UWVBFDQotICAg ICAgJiYgVFlQRV9TSVpFICh0eXBlKSA9PSBOVUxMX1RSRUUNCi0gICAgICAm JiBUWVBFX0RPTUFJTiAodHlwZSkgIT0gTlVMTF9UUkVFDQotICAgICAgJiYg VFlQRV9NQVhfVkFMVUUgKFRZUEVfRE9NQUlOICh0eXBlKSkgPT0gTlVMTF9U UkVFKQ0KLSAgICByZXR1cm4gdHJ1ZTsNCi0NCi0gIHJldHVybiBmYWxzZTsN Ci19DQotDQogLyogRGV0ZXJtaW5lIHdoZXRoZXIgVFlQRSBpcyBhIG9uZS1l bGVtZW50IGFycmF5IHR5cGUgIlsxXSIuICAqLw0KIHN0YXRpYyBib29sDQog b25lX2VsZW1lbnRfYXJyYXlfdHlwZV9wIChjb25zdF90cmVlIHR5cGUpDQpA QCAtNTM1MCw3ICs1MzM3LDcgQEAgYWRkX2ZsZXhpYmxlX2FycmF5X2VsdHNf dG9fc2l6ZSAodHJlZSBkZWNsLCB0cmVlIGluaXQpDQogICAgIGVsdCA9IENP TlNUUlVDVE9SX0VMVFMgKGluaXQpLT5sYXN0ICgpLnZhbHVlOw0KICAgdHlw ZSA9IFRSRUVfVFlQRSAoZWx0KTsNCi0gIGlmIChmbGV4aWJsZV9hcnJheV9t ZW1iZXJfdHlwZV9wICh0eXBlKSkNCisgIGlmIChjX2ZsZXhpYmxlX2FycmF5 X21lbWJlcl90eXBlX3AgKHR5cGUpKQ0KICAgICB7DQogICAgICAgY29tcGxl dGVfYXJyYXlfdHlwZSAoJnR5cGUsIGVsdCwgZmFsc2UpOw0KICAgICAgIERF Q0xfU0laRSAoZGVjbCkNCkBAIC05MzE3LDcgKzkzMDQsNyBAQCBpc19mbGV4 aWJsZV9hcnJheV9tZW1iZXJfcCAoYm9vbCBpc19sYXN0X2ZpZWxkLA0KICAg ICBib29sIGlzX3plcm9fbGVuZ3RoX2FycmF5ID0gemVyb19sZW5ndGhfYXJy YXlfdHlwZV9wIChUUkVFX1RZUEUgKHgpKTsNCiAgIGJvb2wgaXNfb25lX2Vs ZW1lbnRfYXJyYXkgPSBvbmVfZWxlbWVudF9hcnJheV90eXBlX3AgKFRSRUVf VFlQRSAoeCkpOw0KLSAgYm9vbCBpc19mbGV4aWJsZV9hcnJheSA9IGZsZXhp YmxlX2FycmF5X21lbWJlcl90eXBlX3AgKFRSRUVfVFlQRSAoeCkpOw0KKyAg Ym9vbCBpc19mbGV4aWJsZV9hcnJheSA9IGNfZmxleGlibGVfYXJyYXlfbWVt YmVyX3R5cGVfcCAoVFJFRV9UWVBFICh4KSk7DQogICAgIHVuc2lnbmVkIGlu dCBzdHJpY3RfZmxleF9hcnJheV9sZXZlbCA9IGNfc3RyaWN0X2ZsZXhfYXJy YXlfbGV2ZWxfb2YgKHgpOw0KIEBAIC05MzQ3LDYgKzkzMzQsNjAgQEAgaXNf ZmxleGlibGVfYXJyYXlfbWVtYmVyX3AgKGJvb2wgaXNfbGFzdF9maWVsZCwN CiAgIHJldHVybiBmYWxzZTsNCiB9DQogKy8qIFZlcmlmeSB0aGUgYXJndW1l bnQgb2YgdGhlIGNvdW50ZWRfYnkgYXR0cmlidXRlIG9mIHRoZSBmbGV4aWJs ZSBhcnJheQ0KKyAgIG1lbWJlciBGSUVMRF9ERUNMIGlzIGEgdmFsaWQgZmll bGQgb2YgdGhlIGNvbnRhaW5pbmcgc3RydWN0dXJlLA0KKyAgIFNUUlVDVF9U WVBFLCBSZXBvcnQgZXJyb3IgYW5kIHJlbW92ZSB0aGlzIGF0dHJpYnV0ZSB3 aGVuIGl0J3Mgbm90LiAgKi8NCitzdGF0aWMgdm9pZA0KK3ZlcmlmeV9jb3Vu dGVkX2J5X2F0dHJpYnV0ZSAodHJlZSBzdHJ1Y3RfdHlwZSwgdHJlZSBmaWVs ZF9kZWNsKQ0KK3sNCisgIHRyZWUgYXR0cl9jb3VudGVkX2J5ID0gbG9va3Vw X2F0dHJpYnV0ZSAoImNvdW50ZWRfYnkiLA0KKyAgICBERUNMX0FUVFJJQlVU RVMgKGZpZWxkX2RlY2wpKTsNCisNCisgIGlmICghYXR0cl9jb3VudGVkX2J5 KQ0KKyAgICByZXR1cm47DQorDQorICAvKiBJZiB0aGVyZSBpcyBhbiBjb3Vu dGVkX2J5IGF0dHJpYnV0ZSBhdHRhY2hlZCB0byB0aGUgZmllbGQsDQorICAg ICB2ZXJpZnkgaXQuICAqLw0KKw0KKyAgdHJlZSBmaWVsZG5hbWUgPSBUUkVF X1ZBTFVFIChUUkVFX1ZBTFVFIChhdHRyX2NvdW50ZWRfYnkpKTsNCisNCisg IC8qIFZlcmlmeSB0aGUgYXJndW1lbnQgb2YgdGhlIGF0dHJidXRlIGlzIGEg dmFsaWQgZmllbGQgb2YgdGhlDQorICAgICBjb250YWluaW5nIHN0cnVjdHVy ZS4gICovDQorDQorICB0cmVlIGNvdW50ZWRfYnlfZmllbGQgPSBsb29rdXBf ZmllbGQgKHN0cnVjdF90eXBlLCBmaWVsZG5hbWUpOw0KKw0KKyAgLyogRXJy b3Igd2hlbiB0aGUgZmllbGQgaXMgbm90IGZvdW5kIGluIHRoZSBjb250YWlu aW5nIHN0cnVjdHVyZS4gICovDQorICBpZiAoIWNvdW50ZWRfYnlfZmllbGQp DQorICAgIHsNCisgICAgICBlcnJvcl9hdCAoREVDTF9TT1VSQ0VfTE9DQVRJ T04gKGZpZWxkX2RlY2wpLA0KKyAiJXFFIGF0dHJpYnV0ZSBhcmd1bWVudCBu b3QgYSBmaWVsZCBkZWNsYXJhdGlvbiINCisgIiBpbiB0aGUgc2FtZSBzdHJ1 Y3R1cmUsIGlnbm9yZSBpdCIsDQorIChnZXRfYXR0cmlidXRlX25hbWUgKGF0 dHJfY291bnRlZF9ieSkpKTsNCg0KSG93IGFib3V0Og0KDQpjb3VudGVkX2J5 IGF0dHJpYnV0ZSBpZ25vcmVkIGFzIGl0cyBhcmd1bWVudCA8YXJndW1lbnQg bmFtZT4gaXMgbm90IGluIHRoZSBzYW1lIHN0cnVjdHVyZS4NCg0KSSBoYXZl IGEgcXVlc3Rpb24gaGVyZSB0aG91Z2g6IGlmIGl0J3MgYW4gZXJyb3IsIGlz IGl0IG5lY2Vzc2FyeSB0byBtZW50aW9uIHRoYXQgdGhlIGF0dHJpYnV0ZSBp cyBpZ25vcmVkPyAgQ291bGRuJ3Qgd2UganVzdCBzYXkgaGVyZToNCg0KQXJn dW1lbnQgPGFyZ3VtZW50X25hbWU+IHRvIGNvdW50ZWRfYnkgbm90IGluIHRo ZSBzYW1lIHN0cnVjdHVyZSBhcyA8ZmFtIG5hbWU+Lg0KDQpTdHVkaWVkIGEg bGl0dGxlIGJpdCBoZXJlLCB5ZXMsIEkgYWdyZWUgd2l0aCB5b3UsIHNpbmNl IHRoaXMgaXMgYW4gZXJyb3IsIHRoZSBvYmplY3QgZmlsZSB3aWxsIG5vdCBi ZSBnZW5lcmF0ZWQsIGl04oCZcyBub3QgbmVjZXNzYXJ5IHRvIG1lbnRpb24g dGhlIGF0dHJpYnV0ZSBpcyBpZ25vcmVkLg0KSSB3aWxsIHVwZGF0ZSB0aGlz IGFzIHdlbGwuDQoNCisNCisgICAgICBERUNMX0FUVFJJQlVURVMgKGZpZWxk X2RlY2wpDQorID0gcmVtb3ZlX2F0dHJpYnV0ZSAoImNvdW50ZWRfYnkiLCBE RUNMX0FUVFJJQlVURVMgKGZpZWxkX2RlY2wpKTsNCisgICAgfQ0KKyAgZWxz ZQ0KKyAgLyogRXJyb3Igd2hlbiB0aGUgZmllbGQgaXMgbm90IHdpdGggYW4g aW50ZWdlciB0eXBlLiAgKi8NCisgICAgew0KKyAgICAgIHdoaWxlIChUUkVF X0NIQUlOIChjb3VudGVkX2J5X2ZpZWxkKSkNCisgY291bnRlZF9ieV9maWVs ZCA9IFRSRUVfQ0hBSU4gKGNvdW50ZWRfYnlfZmllbGQpOw0KKyAgICAgIHRy ZWUgcmVhbF9maWVsZCA9IFRSRUVfVkFMVUUgKGNvdW50ZWRfYnlfZmllbGQp Ow0KKw0KKyAgICAgIGlmIChUUkVFX0NPREUgKFRSRUVfVFlQRSAocmVhbF9m aWVsZCkpICE9IElOVEVHRVJfVFlQRSkNCisgew0KKyAgIGVycm9yX2F0IChE RUNMX1NPVVJDRV9MT0NBVElPTiAoZmllbGRfZGVjbCksDQorICAgICAgIiVx RSBhdHRyaWJ1dGUgYXJndW1lbnQgbm90IGEgZmllbGQgZGVjbGFyYXRpb24i DQorICAgICAgIiB3aXRoIGludGVnZXIgdHlwZSwgaWdub3JlIGl0IiwNCisg ICAgICAoZ2V0X2F0dHJpYnV0ZV9uYW1lIChhdHRyX2NvdW50ZWRfYnkpKSk7 DQoNCkxpa2V3aXNlOg0KDQpjb3VudGVkX2J5IGF0dGlidXRlIGlnbm9yZWQg YXMgaXRzIGFyZ3VtZW50IDxhcmd1bWVudCBuYW1lPiBpcyBub3QgYW4gaW50 ZWdlci4NCg0KYW5kIHNhbWUgcXVlc3Rpb24gYWJvdXQgZXJyb3JzIGFuZCBp Z25vcmluZyBhcyBhYm92ZS4NCkFncmVlZCwgd2lsbCB1cGRhdGUuDQoNCisN CisgICBERUNMX0FUVFJJQlVURVMgKGZpZWxkX2RlY2wpDQorICAgICA9IHJl bW92ZV9hdHRyaWJ1dGUgKCJjb3VudGVkX2J5IiwgREVDTF9BVFRSSUJVVEVT IChmaWVsZF9kZWNsKSk7DQorIH0NCisgICAgfQ0KKw0KKyAgcmV0dXJuOw0K K30NCiAgIC8qIEZpbGwgaW4gdGhlIGZpZWxkcyBvZiBhIFJFQ09SRF9UWVBF IG9yIFVOSU9OX1RZUEUgbm9kZSwgVC4NCiAgICBMT0MgaXMgdGhlIGxvY2F0 aW9uIG9mIHRoZSBSRUNPUkRfVFlQRSBvciBVTklPTl9UWVBFJ3MgZGVmaW5p dGlvbi4NCkBAIC05NDA4LDYgKzk0NDksNyBAQCBmaW5pc2hfc3RydWN0IChs b2NhdGlvbl90IGxvYywgdHJlZSB0LCB0cmVlIGZpZWxkbGlzdCwgdHJlZSBh dHRyaWJ1dGVzLA0KICAgICAgdW50aWwgbm93LikgICovDQogICAgIGJvb2wg c2F3X25hbWVkX2ZpZWxkID0gZmFsc2U7DQorICB0cmVlIGNvdW50ZWRfYnlf ZmFtX2ZpZWxkID0gTlVMTF9UUkVFOw0KICAgZm9yICh4ID0gZmllbGRsaXN0 OyB4OyB4ID0gREVDTF9DSEFJTiAoeCkpDQogICAgIHsNCiAgICAgICAvKiBX aGV0aGVyIHRoaXMgZmllbGQgaXMgdGhlIGxhc3QgZmllbGQgb2YgdGhlIHN0 cnVjdHVyZSBvciB1bmlvbi4NCkBAIC05NDY4LDcgKzk1MTAsNyBAQCBmaW5p c2hfc3RydWN0IChsb2NhdGlvbl90IGxvYywgdHJlZSB0LCB0cmVlIGZpZWxk bGlzdCwgdHJlZSBhdHRyaWJ1dGVzLA0KICBERUNMX1BBQ0tFRCAoeCkgPSAx Ow0KICAgICAgICAgLyogRGV0ZWN0IGZsZXhpYmxlIGFycmF5IG1lbWJlciBp biBhbiBpbnZhbGlkIGNvbnRleHQuICAqLw0KLSAgICAgIGlmIChmbGV4aWJs ZV9hcnJheV9tZW1iZXJfdHlwZV9wIChUUkVFX1RZUEUgKHgpKSkNCisgICAg ICBpZiAoY19mbGV4aWJsZV9hcnJheV9tZW1iZXJfdHlwZV9wIChUUkVFX1RZ UEUgKHgpKSkNCiAgew0KICAgIGlmIChUUkVFX0NPREUgKHQpID09IFVOSU9O X1RZUEUpDQogICAgICB7DQpAQCAtOTQ4OSw2ICs5NTMxLDEyIEBAIGZpbmlz aF9zdHJ1Y3QgKGxvY2F0aW9uX3QgbG9jLCB0cmVlIHQsIHRyZWUgZmllbGRs aXN0LCB0cmVlIGF0dHJpYnV0ZXMsDQogICJtZW1iZXJzIik7DQogICAgICAg IFRSRUVfVFlQRSAoeCkgPSBlcnJvcl9tYXJrX25vZGU7DQogICAgICB9DQor DQorICAgLyogSWYgdGhlcmUgaXMgYSBjb3VudGVkX2J5IGF0dHJpYnV0ZSBh dHRhY2hlZCB0byB0aGlzIGZpZWxkLA0KKyAgICAgIHJlY29yZCBpdCBoZXJl IGFuZCBkbyBtb3JlIHZlcmlmaWNhdGlvbiBsYXRlciBhZnRlciB0aGUNCisg ICAgICB3aG9sZSBzdHJ1Y3R1cmUgaXMgY29tcGxldGUuICAqLw0KKyAgIGlm IChsb29rdXBfYXR0cmlidXRlICgiY291bnRlZF9ieSIsIERFQ0xfQVRUUklC VVRFUyAoeCkpKQ0KKyAgICAgY291bnRlZF9ieV9mYW1fZmllbGQgPSB4Ow0K ICB9DQogICAgICAgICBpZiAocGVkYW50aWMgJiYgVFJFRV9DT0RFICh0KSA9 PSBSRUNPUkRfVFlQRQ0KQEAgLTk1MDMsNyArOTU1MSw3IEBAIGZpbmlzaF9z dHJ1Y3QgKGxvY2F0aW9uX3QgbG9jLCB0cmVlIHQsIHRyZWUgZmllbGRsaXN0 LCB0cmVlIGF0dHJpYnV0ZXMsDQogICB3aGVuIHggaXMgYW4gYXJyYXkgYW5k IGlzIHRoZSBsYXN0IGZpZWxkLiAgKi8NCiAgICAgICBpZiAoVFJFRV9DT0RF IChUUkVFX1RZUEUgKHgpKSA9PSBBUlJBWV9UWVBFKQ0KICBUWVBFX0lOQ0xV REVTX0ZMRVhBUlJBWSAodCkNCi0gICA9IGlzX2xhc3RfZmllbGQgJiYgZmxl eGlibGVfYXJyYXlfbWVtYmVyX3R5cGVfcCAoVFJFRV9UWVBFICh4KSk7DQor ICAgPSBpc19sYXN0X2ZpZWxkICYmIGNfZmxleGlibGVfYXJyYXlfbWVtYmVy X3R5cGVfcCAoVFJFRV9UWVBFICh4KSk7DQogICAgICAgLyogUmVjdXJzaXZl bHkgc2V0IFRZUEVfSU5DTFVERVNfRkxFWEFSUkFZIGZvciB0aGUgY29udGV4 dCBvZiB4LCB0DQogICB3aGVuIHggaXMgYW4gdW5pb24gb3IgcmVjb3JkIGFu ZCBpcyB0aGUgbGFzdCBmaWVsZC4gICovDQogICAgICAgZWxzZSBpZiAoUkVD T1JEX09SX1VOSU9OX1RZUEVfUCAoVFJFRV9UWVBFICh4KSkpDQpAQCAtOTc1 OCw2ICs5ODA2LDkgQEAgZmluaXNoX3N0cnVjdCAobG9jYXRpb25fdCBsb2Ms IHRyZWUgdCwgdHJlZSBmaWVsZGxpc3QsIHRyZWUgYXR0cmlidXRlcywNCiAg c3RydWN0X3BhcnNlX2luZm8tPnN0cnVjdF90eXBlcy5zYWZlX3B1c2ggKHQp Ow0KICAgICAgfQ0KICsgIGlmIChjb3VudGVkX2J5X2ZhbV9maWVsZCkNCisg ICAgdmVyaWZ5X2NvdW50ZWRfYnlfYXR0cmlidXRlICh0LCBjb3VudGVkX2J5 X2ZhbV9maWVsZCk7DQorDQogICByZXR1cm4gdDsNCiB9DQogZGlmZiAtLWdp dCBhL2djYy9jL2MtdHJlZS5oIGIvZ2NjL2MvYy10cmVlLmgNCmluZGV4IDFm YmE5YzhkYWU3Ni4uYzdjMjNlZGM0ODQwIDEwMDY0NA0KLS0tIGEvZ2NjL2Mv Yy10cmVlLmgNCisrKyBiL2djYy9jL2MtdHJlZS5oDQpAQCAtNzc2LDYgKzc3 Niw3IEBAIGV4dGVybiBzdHJ1Y3QgY19leHByIGNvbnZlcnRfbHZhbHVlX3Rv X3J2YWx1ZSAobG9jYXRpb25fdCwgc3RydWN0IGNfZXhwciwNCiBleHRlcm4g dHJlZSBkZWNsX2NvbnN0YW50X3ZhbHVlXzEgKHRyZWUsIGJvb2wpOw0KIGV4 dGVybiB2b2lkIG1hcmtfZXhwX3JlYWQgKHRyZWUpOw0KIGV4dGVybiB0cmVl IGNvbXBvc2l0ZV90eXBlICh0cmVlLCB0cmVlKTsNCitleHRlcm4gdHJlZSBs b29rdXBfZmllbGQgKHRyZWUsIHRyZWUpOw0KIGV4dGVybiB0cmVlIGJ1aWxk X2NvbXBvbmVudF9yZWYgKGxvY2F0aW9uX3QsIHRyZWUsIHRyZWUsIGxvY2F0 aW9uX3QsDQogICBsb2NhdGlvbl90KTsNCiBleHRlcm4gdHJlZSBidWlsZF9h cnJheV9yZWYgKGxvY2F0aW9uX3QsIHRyZWUsIHRyZWUpOw0KZGlmZiAtLWdp dCBhL2djYy9jL2MtdHlwZWNrLmNjIGIvZ2NjL2MvYy10eXBlY2suY2MNCmlu ZGV4IGRkZWFiMWUyYThhMS4uY2VhZDBhMDU1MDY4IDEwMDY0NA0KLS0tIGEv Z2NjL2MvYy10eXBlY2suY2MNCisrKyBiL2djYy9jL2MtdHlwZWNrLmNjDQpA QCAtMTAxLDcgKzEwMSw2IEBAIHN0YXRpYyBib29sIGZ1bmN0aW9uX3R5cGVz X2NvbXBhdGlibGVfcCAoY29uc3RfdHJlZSwgY29uc3RfdHJlZSwNCiAgIHN0 cnVjdCBjb21wdHlwZXNfZGF0YSAqKTsNCiBzdGF0aWMgYm9vbCB0eXBlX2xp c3RzX2NvbXBhdGlibGVfcCAoY29uc3RfdHJlZSwgY29uc3RfdHJlZSwNCiAg ICAgICBzdHJ1Y3QgY29tcHR5cGVzX2RhdGEgKik7DQotc3RhdGljIHRyZWUg bG9va3VwX2ZpZWxkICh0cmVlLCB0cmVlKTsNCiBzdGF0aWMgaW50IGNvbnZl cnRfYXJndW1lbnRzIChsb2NhdGlvbl90LCB2ZWM8bG9jYXRpb25fdD4sIHRy ZWUsDQogICAgICAgIHZlYzx0cmVlLCB2YV9nYz4gKiwgdmVjPHRyZWUsIHZh X2djPiAqLCB0cmVlLA0KICAgICAgICB0cmVlKTsNCkBAIC0yMzc1LDcgKzIz NzQsNyBAQCBkZWZhdWx0X2NvbnZlcnNpb24gKHRyZWUgZXhwKQ0KICAgIHRo ZSBjb21wb25lbnQgaXMgZW1iZWRkZWQgd2l0aGluIChuZXN0ZWQpIGFub255 bW91cyBzdHJ1Y3R1cmVzIG9yDQogICAgdW5pb25zLCB0aGUgbGlzdCBzdGVw cyBkb3duIHRoZSBjaGFpbiB0byB0aGUgY29tcG9uZW50LiAgKi8NCiAtc3Rh dGljIHRyZWUNCit0cmVlDQogbG9va3VwX2ZpZWxkICh0cmVlIHR5cGUsIHRy ZWUgY29tcG9uZW50KQ0KIHsNCiAgIHRyZWUgZmllbGQ7DQpkaWZmIC0tZ2l0 IGEvZ2NjL2RvYy9leHRlbmQudGV4aSBiL2djYy9kb2MvZXh0ZW5kLnRleGkN CmluZGV4IDJiOGJhMTk0OWJmMS4uZmMyZmJjNzAyYjQ0IDEwMDY0NA0KLS0t IGEvZ2NjL2RvYy9leHRlbmQudGV4aQ0KKysrIGIvZ2NjL2RvYy9leHRlbmQu dGV4aQ0KQEAgLTc3NTMsNiArNzc1Myw3MCBAQCBhbGlnbiB0aGVtIG9uIGFu eSB0YXJnZXQuDQogVGhlIEBjb2Rle2FsaWduZWR9IGF0dHJpYnV0ZSBjYW4g YWxzbyBiZSB1c2VkIGZvciBmdW5jdGlvbnMNCiAoQHB4cmVme0NvbW1vbiBG dW5jdGlvbiBBdHRyaWJ1dGVzfS4pDQogK0BjaW5kZXggQGNvZGV7Y291bnRl ZF9ieX0gdmFyaWFibGUgYXR0cmlidXRlDQorQGl0ZW0gY291bnRlZF9ieSAo QHZhcntjb3VudH0pDQorVGhlIEBjb2Rle2NvdW50ZWRfYnl9IGF0dHJpYnV0 ZSBtYXkgYmUgYXR0YWNoZWQgdG8gdGhlIEM5OSBmbGV4aWJsZSBhcnJheQ0K K21lbWJlciBvZiBhIHN0cnVjdHVyZS4gIEl0IGluZGljYXRlcyB0aGF0IHRo ZSBudW1iZXIgb2YgdGhlIGVsZW1lbnRzIG9mIHRoZQ0KK2FycmF5IGlzIGdp dmVuIGJ5IHRoZSBmaWVsZCBuYW1lZCAiQHZhcntjb3VudH0iIGluIHRoZSBz YW1lIHN0cnVjdHVyZSBhcyB0aGUNCitmbGV4aWJsZSBhcnJheSBtZW1iZXIu ICBHQ0MgdXNlcyB0aGlzIGluZm9ybWF0aW9uIHRvIGltcHJvdmUgdGhlIHJl c3VsdHMgb2YNCit0aGUgYXJyYXkgYm91bmQgc2FuaXRpemVyIGFuZCB0aGUg QGNvZGV7X19idWlsdGluX2R5bmFtaWNfb2JqZWN0X3NpemV9Lg0KDQpTaG91 bGQgdGhpcyBiZSBtb3JlIG9wZW4tZW5kZWQsIHRvIGFsbG93IGZvciB0aGUg Y29tcGlsZXIgdG8gZG8gbW9yZSB1c2luZyB0aGlzIGF0dHJpYnV0ZSBpbiBm dXR1cmU/ICBJIGNhbiBpbWFnaW5lIHRoZSBzdGF0aWMgYW5hbHl6ZXIgb3Ig ZXZlbiB0aGUgbWlkZGxlIGVuZCBkaWFnbm9zdGljcyBtYWtpbmcgdXNlIG9m IHRoaXMgaW5mb3JtYXRpb24uICBIb3cgYWJvdXQ6DQoNCkdDQyBtYXkgdGhp cyBpbmZvcm1hdGlvbiB0byBpbXByb3ZlIGRldGVjdGlvbiBvZiBvYmplY3Qg c2l6ZSBpbmZvcm1hdGlvbiBmb3Igc3VjaCBzdHJ1Y3R1cmVzIGFuZCBwcm92 aWRlIGJldHRlciByZXN1bHRzIGluIGNvbXBpbGUtdGltZSBkaWFnbm9zdGlj cyBhbmQgcnVudGltZSBmZWF0dXJlcyBsaWtlIHRoZSBhcnJheSBib3VuZCBz YW5pdGl6ZXIgYW5kIEBjb2Rle19fYnVpbHRpbl9keW5hbWljX29iamVjdF9z aXplfS4NCg0KWWVzLCB0aGlzIGlzIHJlYXNvbmFibGUsIHdpbGwgdXBkYXRl Lg0KDQorDQorRm9yIGluc3RhbmNlLCB0aGUgZm9sbG93aW5nIGNvZGU6DQor DQorQHNtYWxsZXhhbXBsZQ0KK3N0cnVjdCBQIEB7DQorICBzaXplX3QgY291 bnQ7DQorICBjaGFyIG90aGVyOw0KKyAgY2hhciBhcnJheVtdIF9fYXR0cmli dXRlX18gKChjb3VudGVkX2J5IChjb3VudCkpKTsNCitAfSAqcDsNCitAZW5k IHNtYWxsZXhhbXBsZQ0KKw0KK0Bub2luZGVudA0KK3NwZWNpZmllcyB0aGF0 IHRoZSBAY29kZXthcnJheX0gaXMgYSBmbGV4aWJsZSBhcnJheSBtZW1iZXIg d2hvc2UgbnVtYmVyIG9mDQorZWxlbWVudHMgaXMgZ2l2ZW4gYnkgdGhlIGZp ZWxkIEBjb2Rle2NvdW50fSBpbiB0aGUgc2FtZSBzdHJ1Y3R1cmUuDQorDQor VGhlIGZpZWxkIHRoYXQgcmVwcmVzZW50cyB0aGUgbnVtYmVyIG9mIHRoZSBl bGVtZW50cyBzaG91bGQgaGF2ZSBhbg0KK2ludGVnZXIgdHlwZS4gIE90aGVy d2lzZSwgdGhlIGNvbXBpbGVyIHdpbGwgcmVwb3J0IGEgd2FybmluZyBhbmQg aWdub3JlDQordGhlIGF0dHJpYnV0ZS4NCitXaGVuIHRoZSBmaWVsZCB0aGF0 IHJlcHJlc2VudHMgdGhlIG51bWJlciBvZiB0aGUgZWxlbWVudHMgaXMgYXNz aWduZWQgYQ0KK25lZ2F0aXZlIGludGVnZXIgdmFsdWUsIHRoZSBjb21waWxl ciB3aWxsIHRyZWF0IHRoZSB2YWx1ZSBhcyB6ZXJvLg0KKw0KK0FuIGV4cGxp Y2l0IEBjb2Rle2NvdW50ZWRfYnl9IGFubm90YXRpb24gZGVmaW5lcyBhIHJl bGF0aW9uc2hpcCBiZXR3ZWVuDQordHdvIG9iamVjdHMsIEBjb2Rle3AtPmFy cmF5fSBhbmQgQGNvZGV7cC0+Y291bnR9LCBhbmQgdGhlcmUgYXJlIHRoZQ0K K2ZvbGxvd2luZyByZXF1aXJlbWVudHRoYXQgb24gdGhlIHJlbGF0aW9uc2hp cCBiZXR3ZWVuIHRoaXMgcGFpcjoNCisNCitAaXRlbWl6ZSBAYnVsbGV0DQor QGl0ZW0NCitAY29kZXtwLT5jb3VudH0gc2hvdWxkIGJlIGluaXRpYWxpemVk IGJlZm9yZSB0aGUgZmlyc3QgcmVmZXJlbmNlIHRvDQoNCk1heWJlIHMvc2hv dWxkL211c3QvID8NCk9rYXkNCg0KdGhhbmtzLg0KDQpRaW5nDQoNCitAY29k ZXtwLT5hcnJheX07DQorDQorQGl0ZW0NCitAY29kZXtwLT5hcnJheX0gaGFz IEBlbXBoe2F0IGxlYXN0fSBAY29kZXtwLT5jb3VudH0gbnVtYmVyIG9mIGVs ZW1lbnRzDQorYXZhaWxhYmxlIGFsbCB0aGUgdGltZS4gIFRoaXMgcmVsYXRp b25zaGlwIG11c3QgaG9sZCBldmVuIGFmdGVyIGFueSBvZg0KK3RoZXNlIHJl bGF0ZWQgb2JqZWN0cyBhcmUgdXBkYXRlZCBkdXJpbmcgdGhlIHByb2dyYW0u DQorQGVuZCBpdGVtaXplDQorDQorSXQncyB0aGUgdXNlcidzIHJlc3BvbnNp YmlsaXR5IHRvIG1ha2Ugc3VyZSB0aGUgYWJvdmUgcmVxdWlyZW1lbnRzIHRv DQorYmUga2VwdCBhbGwgdGhlIHRpbWUuICBPdGhlcndpc2UgdGhlIGNvbXBp bGVyIHdpbGwgcmVwb3J0IHdhcm5pbmdzLA0KK2F0IHRoZSBzYW1lIHRpbWUs IHRoZSByZXN1bHRzIG9mIHRoZSBhcnJheSBib3VuZCBzYW5pdGl6ZXIgYW5k IHRoZQ0KK0Bjb2Rle19fYnVpbHRpbl9keW5hbWljX29iamVjdF9zaXplfSBp cyB1bmRlZmluZWQuDQorDQorT25lIGltcG9ydGFudCBmZWF0dXJlIG9mIHRo ZSBhdHRyaWJ1dGUgaXMsIGEgcmVmZXJlbmNlIHRvIHRoZSBmbGV4aWJsZQ0K K2FycmF5IG1lbWJlciBmaWVsZCB3aWxsIHVzZSB0aGUgbGF0ZXN0IHZhbHVl IGFzc2lnbmVkIHRvIHRoZSBmaWVsZCB0aGF0DQorcmVwcmVzZW50cyB0aGUg bnVtYmVyIG9mIHRoZSBlbGVtZW50cyBiZWZvcmUgdGhhdCByZWZlcmVuY2Uu ICBGb3IgZXhhbXBsZSwNCisNCitAc21hbGxleGFtcGxlDQorICBwLT5jb3Vu dCA9IHZhbDE7DQorICBwLT5hcnJheVsyMF0gPSAwOyAgLy8gcmVmMSB0byBw LT5hcnJheQ0KKyAgcC0+Y291bnQgPSB2YWwyOw0KKyAgcC0+YXJyYXlbMzBd ID0gMDsgIC8vIHJlZjIgdG8gcC0+YXJyYXkNCitAZW5kIHNtYWxsZXhhbXBs ZQ0KKw0KK0Bub2luZGVudA0KK2luIHRoZSBhYm92ZSwgQGNvZGV7cmVmMX0g d2lsbCB1c2UgQGNvZGV7dmFsMX0gYXMgdGhlIG51bWJlciBvZiB0aGUgZWxl bWVudHMgaW4NCitAY29kZXtwLT5hcnJheX0sIGFuZCBAY29kZXtyZWYyfSB3 aWxsIHVzZSBAY29kZXt2YWwyfSBhcyB0aGUgbnVtYmVyIG9mIGVsZW1lbnRz DQoraW4gQGNvZGV7cC0+YXJyYXl9Lg0KKw0KIEBjaW5kZXggQGNvZGV7YWxs b2Nfc2l6ZX0gdmFyaWFibGUgYXR0cmlidXRlDQogQGl0ZW0gYWxsb2Nfc2l6 ZSAoQHZhcntwb3NpdGlvbn0pDQogQGl0ZW14IGFsbG9jX3NpemUgKEB2YXJ7 cG9zaXRpb24tMX0sIEB2YXJ7cG9zaXRpb24tMn0pDQpkaWZmIC0tZ2l0IGEv Z2NjL3Rlc3RzdWl0ZS9nY2MuZGcvZmxleC1hcnJheS1jb3VudGVkLWJ5LmMg Yi9nY2MvdGVzdHN1aXRlL2djYy5kZy9mbGV4LWFycmF5LWNvdW50ZWQtYnku Yw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwMC4u ZjhjZTk3NzZiZjg2DQotLS0gL2Rldi9udWxsDQorKysgYi9nY2MvdGVzdHN1 aXRlL2djYy5kZy9mbGV4LWFycmF5LWNvdW50ZWQtYnkuYw0KQEAgLTAsMCAr MSw0MCBAQA0KKy8qIHRlc3RpbmcgdGhlIGNvcnJlY3QgdXNhZ2Ugb2YgYXR0 cmlidXRlIGNvdW50ZWRfYnkuICAqLw0KKy8qIHsgZGctZG8gY29tcGlsZSB9 ICovDQorLyogeyBkZy1vcHRpb25zICItTzIiIH0gKi8NCisNCisjaW5jbHVk ZSA8d2NoYXIuaD4NCisNCitpbnQgc2l6ZTsNCitpbnQgeCBfX2F0dHJpYnV0 ZSAoKGNvdW50ZWRfYnkgKHNpemUpKSk7IC8qIHsgZGctZXJyb3IgImF0dHJp YnV0ZSBtYXkgbm90IGJlIHNwZWNpZmllZCBmb3Igbm9uLWZpZWxkIGRlY2xh cmF0aW9uIiB9ICovDQorDQorc3RydWN0IHRyYWlsaW5nIHsNCisgIGludCBj b3VudDsNCisgIGludCBmaWVsZCBfX2F0dHJpYnV0ZSAoKGNvdW50ZWRfYnkg KGNvdW50KSkpOyAvKiB7IGRnLWVycm9yICJhdHRyaWJ1dGUgbWF5IG5vdCBi ZSBzcGVjaWZpZWQgZm9yIGEgbm9uLWFycmF5IGZpZWxkIiB9ICovDQorfTsN CisNCitzdHJ1Y3QgdHJhaWxpbmdfMSB7DQorICBpbnQgY291bnQ7DQorICBp bnQgYXJyYXlfMVswXSBfX2F0dHJpYnV0ZSAoKGNvdW50ZWRfYnkgKGNvdW50 KSkpOyAvKiB7IGRnLWVycm9yICJhdHRyaWJ1dGUgbWF5IG5vdCBiZSBzcGVj aWZpZWQgZm9yIGEgbm9uIGZsZXhpYmxlIGFycmF5IG1lbWJlciBmaWVsZCIg fSAqLw0KK307DQorDQoraW50IGNvdW50Ow0KK3N0cnVjdCB0cmFpbGluZ19h cnJheV8yIHsNCisgIGludCBjb3VudDsNCisgIGludCBhcnJheV8yW10gX19h dHRyaWJ1dGUgKChjb3VudGVkX2J5ICgiY291bnQiKSkpOyAvKiB7IGRnLWVy cm9yICJhcmd1bWVudCBub3QgYW4gaWRlbnRpZmllciIgfSAqLw0KK307DQor DQorc3RydWN0IHRyYWlsaW5nX2FycmF5XzMgew0KKyAgaW50IG90aGVyOw0K KyAgaW50IGFycmF5XzNbXSBfX2F0dHJpYnV0ZSAoKGNvdW50ZWRfYnkgKEwi Y291bnQiKSkpOyAvKiB7IGRnLWVycm9yICJhcmd1bWVudCBub3QgYW4gaWRl bnRpZmllciIgfSAqLw0KK307DQorDQorc3RydWN0IHRyYWlsaW5nX2FycmF5 XzQgew0KKyAgaW50IG90aGVyOw0KKyAgaW50IGFycmF5XzRbXSBfX2F0dHJp YnV0ZSAoKGNvdW50ZWRfYnkgKGNvdW50KSkpOyAvKiB7IGRnLWVycm9yICJh dHRyaWJ1dGUgYXJndW1lbnQgbm90IGEgZmllbGQgZGVjbGFyYXRpb24gaW4g dGhlIHNhbWUgc3RydWN0dXJlLCBpZ25vcmUgaXQiIH0gKi8NCit9Ow0KKw0K K2ludCBjb3VudDsNCitzdHJ1Y3QgdHJhaWxpbmdfYXJyYXlfNSB7DQorICBm bG9hdCBjb3VudDsNCisgIGludCBhcnJheV81W10gX19hdHRyaWJ1dGUgKChj b3VudGVkX2J5IChjb3VudCkpKTsgLyogeyBkZy1lcnJvciAiYXR0cmlidXRl IGFyZ3VtZW50IG5vdCBhIGZpZWxkIGRlY2xhcmF0aW9uIHdpdGggaW50ZWdl ciB0eXBlLCBpZ25vcmUgaXQiIH0gKi8NCit9Ow0KDQo= --_000_1D97CD2CFBA94A71AD81E23040DCEA69oraclecom_--