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 B95B43858D37 for ; Mon, 18 Mar 2024 16:28:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B95B43858D37 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 B95B43858D37 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=1710779318; cv=pass; b=UGoExcbs36QylJnq7Z7+QfjUWAfMu83x+vLpCNJYgYabPGTQzCvQiU+V1y/qacjwu1bPj5h/WFV991l7lpl2FfA6wqktL1dzKSB9bt8Qe5AAlFb+gHgNPXWupOL4c3oV9dJyyd+Exo+qdRCHEcj8P/tBfGRhAO7uNf5iYCpvTOI= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1710779318; c=relaxed/simple; bh=8Njbf1noXkRKmeJMXGoqnnc1T5r/DyS2hXp7CwZ+HQE=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=OazsebkcYpnTielMNbcvgLPdJRTxhfnwXSbSc42Rte9eOVmQmeSOAQM9i0VmE4kYgI5F+8UeBr7lmCfDxfeMd8BSjqzEhmY6eRR2o5s7LQCMXWxYTl+YwJoeOatgcsOYVhAk9W8B78mL6QZb/kAXDp0NCxBqJJnvhHd6jyMsYfE= ARC-Authentication-Results: i=2; server2.sourceware.org Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 42IDO3Wr011400; Mon, 18 Mar 2024 16:28:32 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=8Njbf1noXkRKmeJMXGoqnnc1T5r/DyS2hXp7CwZ+HQE=; b=YGya2RSNNrnQbYELnDuGp9ijTfVm9JpeXQogAU9Vs1Z64FV1MaGxwvYauzBrnh86YM+W ivcc9dvsCzPZk5QRCSp8KvuBV3m3ZKVnrRgD5ym4AzC7IYtOXa5dK6WYPfPYhkRd5xdA bg1Ok/rHV6kFsRD6mW/zv0QXrwNhrT9dVO2CIU+8SnshUBCaaRMpO03H+QNeL0kFDKa8 Jy7i1uQTJ4iD3rCKYWT2X+MtIW6iz+V1xiMjyrLW1tYP2qO1SPbKfrwjWcvSNrti0X0+ 5Cbez007Ra9Jktde9NstzFDZVJQFs649C4BoBcUhCMGw3bLYHyvqlwL0JjsDMIP1b8P9 ug== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3ww31tkg2d-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 18 Mar 2024 16:28:31 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 42IFFXem015787; Mon, 18 Mar 2024 16:28:30 GMT Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2169.outbound.protection.outlook.com [104.47.55.169]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3ww1v5fxrg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 18 Mar 2024 16:28:30 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Oy5/w3MOgBgBUVsMkNl2dB3N3XwhMMXLmI6vgeLMNG6e76UFU8omayS2rIsFXaqa6SwbWsoSoUMa19QYmvBkNo2ZQr+FN/OS55dmAw4FTOTKB/+tZD1xGoSdo3Jhfgz92jNwmLySCs6kvxEprOKYItWzKb1Jj1+ehFeTtvzsoVTrr1QMWyuq8BxZQSrGiPaZnY7y83b2UIldMt5OI1SQWBku51YHUS7y+5cIsg2bU+6MW4PadYZpWoi8aCHFbTmH/SUDajgyhBaZWPIIEBPI3muEB623YroG7XKu3k/uy4mcIHF5RCQKtmwQnBxPb/qNoDE2HwMOaGYz0P4di1OBoA== 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=8Njbf1noXkRKmeJMXGoqnnc1T5r/DyS2hXp7CwZ+HQE=; b=eaU9IY6Vyydk2jdTLHmNqk1rR4I67M/5nkxB426JoydOqffWeuvl92gsU4RETOR79z+SsTs/8mUwufJ8wUucYkbbXnmKhJiJFc1CmQXsN7ydKR1NTbYVMlomntKKslCHW8V8KI07uzGb/j0r13zQebXkF9vPsjkFIEDeLVQLXnGwvoC4xWZdDlTfNEiqOhZVsJf/kpXAZ7WyIMQlN+RIxwJIIHo/c1yTBFrVItRJZcaGTWMR7L7EZqPg8uV1GOAT60cgVAUKdlcQRYSbfty+q+Gl4MBmZlteIThTrl77BCnEcxA8EO+hFKzQjwLuJzDYz996whGgViOeugua3XhU4Q== 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=8Njbf1noXkRKmeJMXGoqnnc1T5r/DyS2hXp7CwZ+HQE=; b=TNAZdcBw1Gv1lk6/3XCTCD+gonAL6TWJrZCr4V+fYdyKg0cYxVR+9PUbfDjy6xHyprrprePpVedApl8eYFvYfpCMqikVDXvJlNmnojTWqFQXfKMR+qU8hiN3aSaKj42C4zdLABiPELSnwZX46yxq0+w/MDln4XK6Bq+w1caCC94= Received: from CY8PR10MB6538.namprd10.prod.outlook.com (2603:10b6:930:5a::17) by LV3PR10MB7795.namprd10.prod.outlook.com (2603:10b6:408:1b6::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.27; Mon, 18 Mar 2024 16:28:09 +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.025; Mon, 18 Mar 2024 16:28:09 +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 3/5] Use the .ACCESS_WITH_SIZE in builtin object size. Thread-Topic: [PATCH v6 3/5] Use the .ACCESS_WITH_SIZE in builtin object size. Thread-Index: AQHaYREBMdNxrJPqjE+AGQiFEw2/qrEy7DsAgANHqICAB6xvAA== Date: Mon, 18 Mar 2024 16:28:09 +0000 Message-ID: References: <20240216194723.391359-1-qing.zhao@oracle.com> <20240216194723.391359-4-qing.zhao@oracle.com> <40ae105f-c677-49c1-80e9-cf92d9bbda4c@gotplt.org> <51BA04E3-1959-4862-AA59-A3B6E3B59F12@oracle.com> In-Reply-To: <51BA04E3-1959-4862-AA59-A3B6E3B59F12@oracle.com> 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_|LV3PR10MB7795:EE_ x-ms-office365-filtering-correlation-id: 31e2cfd0-8c4a-4397-14c1-08dc476865e5 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: /ZpD4tvUI+j/FisJd0Q75XkPQUVImg3WWH3kD0RVBZuS++/9xOuMiKL5eBbq6J25zYPUaiv6j74aMQG5G2tRM6KnsNogfdeiGzywyXToVcCvikN+5TwqJGCoBj5ujhMAwHNAI5DaBWdTLCQ39d1ko9ncUBHM+ot/dYc7Rqv0VaaY+z4iFvoUukp6efc6RpedYzogQlE9j7Mfygccs3nWhyBSfPBDH0/WG4nrG3tAQ06Jbxc5Qljj4zBtmgcaSyUaLEFJpK8+v+UD7R5OkKvySjMvPGw49Ubn6NSVV4IK3+GNH42V+PH8SGaxB9BbDQOGmHksDFnlqAEUi9e1VZ1RQ0uro5tyxqcPi3tS702ejM96gWwSaSAvRgBq5N/MAAi4eFrOrrOl0PT4c/5M2anUmLAArY69+wBFPVj9HAz8jr+Cfi5k0/g5Kg8tarGzSI7bckgmRi3Gk919FxjCCHHG4yIG2hNXYqRYVIfuPbg4xWOpwS05X+RYUoQR2KzByTH7xeuU7QzdY8ROszp4HevsLYdKDgsNHo6z2Y9PXOawiQbCFA5aAW26u6oMxjoFw+A18Z+3KTrBcRbe/gGo868CV5mnxZ2ksqyw9LAizG4ttwO9H0ZsrdU3a6nS6YOzwNnqGPggezub9HNQE14pfBDsMIg44sTtdlcau0ky2jO2iEQtqqoozotaAmKjWwGTY5ZI 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)(366007)(38070700009);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?MVJvajgxU0FoRUZDSHZPUG5SQk9JRW0rNVAzMWZPYkd5VGZoNHVLeEpVeTYz?= =?utf-8?B?MzhCUXlSTE4wZ051TzBEdk5RenFISmxrb09hSXlvczh0S0wrWENiVjhFRXh6?= =?utf-8?B?Z1haMkNSdVFwZHJMaGYwQ1FnNURlK1E0RGQ1R1daUDJibEtDVGw0MC9DaFFG?= =?utf-8?B?YW5LbVpISlkzMVF3aWgxSHRZL2REMXRacXVXRFNETXAwQ0hBWUdaZTIyWWVR?= =?utf-8?B?S0hOUDdKSEs1ZTJlckd1d3R4ZStTUjVScTJaRVBwYkl5TVQvWkdhajVKZXRI?= =?utf-8?B?Q2g3cVR4QWkxN3JYOXVjMTFJWVk4TlpVVlBQUXl2YkdTN2d2NXVyaHBvVzBD?= =?utf-8?B?Vm1QTWZ2d0RhME1ra1Vzd3ZWV041ZmhsazVYTWVlRHdIMzBRWVJEeDJoZGFU?= =?utf-8?B?ck5uM0x1QlZyTjZTZEdZdHFRbjdMelk0NEhtZ1JXZkVsSzN0YktVN2tNQ0hT?= =?utf-8?B?WGdRbDlPN2ZrVWE0YksxRW1ZbFg5YjVvbk5xZStqaklTQzIrM05PR1Y1Sjd3?= =?utf-8?B?UE9IYVBOL2g3VlJrUW5zb3cvaE5PWmt1TjhId2tGRUNDWnlzakVHWUU2RWto?= =?utf-8?B?MlBGM1pHZ2NZQk5sL1B1RGxiRW9UYi9lZjlXd3hqYndTRWhsZk1DTm8yeGpN?= =?utf-8?B?UVFnZ1FDNm84UXlVbGQ3OGcwRGE5SzZHY0JXblZJRzJXalNveCtZL0RjVmg0?= =?utf-8?B?Y0pJTGVMZ1lZNnFLUE5NWERIWFgzcVIzR0tHUmV1WkJuR3hZK24wbjVuWHZv?= =?utf-8?B?NU0yWnB2TFppbmZvb0JFdlRRelUrU3VnM04rRnJVc3pBTk1NbkNXR08vaVhr?= =?utf-8?B?czRURWt0d3RoUkIrMUJSNnc1SFV4SGRiQjliT1dyK1RmblNkdzlOeS9hanlv?= =?utf-8?B?Y2tqVlVPZENkQ3R5TDdlYjRBK0UySFk4RFV1N3lkaFdVeUN1eTF5dVB4Vlc2?= =?utf-8?B?a1lJaVNBWGpHV3NXWXRnd1A1dVRyL2hkQVZGZDVWMFlVNkVsUDJxUTZ0eHY3?= =?utf-8?B?K0QrZllnNDloRUtQb1k5R1BRREViejJTenlDaTIyQ2M1VWxPQy9ablUzNjlN?= =?utf-8?B?dGx3bTVDSUdWSWRGcHJrV3JKZHlFYklOQWV6OUNoQjRpR1FPb0ZsMmNJSHV6?= =?utf-8?B?NjRzWkYxWnRQM2RiK0wyQndKVGVTMEZuUmpPZ09RaGl2UklIRU8weGhNQ0sv?= =?utf-8?B?NXV3ck9XU0RUY0xQRHhLZnRqNE5QenJ1bmowcDZRa3pVeGh3SU1jTUw3S3dr?= =?utf-8?B?MjBTSTVpeE9reFBSRU9qaXRUSWNUVXBsYVNRVm12cys1Mll3Z2V0TGFBbUVP?= =?utf-8?B?bXBxZ0hMVnRUY3BXbjZZcjU4UEJyNDhKci9sbWNQWTB3WG1wNFNUNkFTZG4r?= =?utf-8?B?L3N4bnhJblVtZHpkUVlFcjNMRS8zUjh1eGFKVVRFaFFWWmYxRS9XaGQvMXBS?= =?utf-8?B?NWRERGxNU2NUR2s1RGp5akVnT3dIUkxrRmRYcHJCQUljR2QrOVJaOUxtN1NY?= =?utf-8?B?V1NGMHl0QmlKTzNDcUFXRDV6bjc5WkdoSW80REVvMVpxYndFbW9vOS9TUFlR?= =?utf-8?B?M2tkMzV5TUVJZFVwWGNCN2MvcFBLa01Lck84ZTdhVHpjZEw1U0RTMWNwSWxB?= =?utf-8?B?d29YQlAwcXJDNUU3VXJIODhNenltYVVwTE1JYVk3aVkxajNtakxGektiOEVU?= =?utf-8?B?M2wwcXJWZ0RyN2U2c1h1R3hRNVl4anZBMk5seFpPb2tGd1dHbVlOT21ocnQy?= =?utf-8?B?NjQ1THp2Mk5ZTHRJTktFZkNmWWtVQVNqLzgySXBiNG1FZlNFeFo2OXpuWENu?= =?utf-8?B?R2tYMkdUclJmOW5nSi8wV0xROEJZbjRoaVRiOTd1c2RTUStBc2xWYW1WY3hI?= =?utf-8?B?eWhwMUd5c2d3R3JDb1N5ZDVyWHpIc2VqTzFXRlVIZjJwa2pUNHM4UFBZdHU0?= =?utf-8?B?ckJZWHBmTkNyZjVWby80dWJqKzh6UG1DMDJtWEh2RGlKOCtVL2IvQzJHK0Nv?= =?utf-8?B?LzM0V2xmbTlZMHhSOFBiTVNnRHFsR0pCZ20rdkVINEp2TmZVUzBVL3NVYTUv?= =?utf-8?B?V0szZHo3bGxHMnc2TFdjUTRlaTJTcExLTGU2VFpzWDUwRDR0Z0wzRDhYQ1h4?= =?utf-8?Q?8xk43tMQJwXWj4tQLKLCjJej3?= Content-Type: multipart/alternative; boundary="_000_C46C107F613C4E63AC0D0DFC19377A1Eoraclecom_" MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: u2i1qvt9MEBClH7mB1rrYluDokziwpiOCP7vgZQER3bDGwUBdxpk449Ymk9wf3bvTnbfNaHfdWJZ1tT3m5rlzlBk3ftRKj5aCP2hxCWJJqslmiGXBofgelDYH2+BkVMcTuzfi2dLPetba5Ye1KSURcln8j2hQdB5HnbMcqsUT1Tf3/SlC49bOcAg/aOMtIhaqb8gCXiaYkoOE336wujrHtFWfu2z+ZUsszoTthGbbZ7j5Wj98odlXdIXQ9/0980mMg5nY5/Qx5F+UVGtxYKe7bn3at2mXJJIAWkxS3jjnTU5a6E1QA7NO2GUxuguHRA2W/gORKnyymUu4WOvQZky1E3cycT/uHFl2rpKq20+z1IEygl/ElJ21oBL9g0xSt9FFCxz3Ei/0wgEdHaOoFWgd+H1tOx4hV7kO4AFNU7Wpzr1N/RAcH3CuYyor7GTX34aSNGGsou6taORKmExSnZHAVmFUtBcS2erCkLdf/KUjKLfzkvGeSAMm7Lah5pOfbJJ3kg3POfYPX87aH7rwS2GgceIx9Ggp42SydM8fEsVB8PMhu6tnFeMkw8CsTNmR6n/DuBFxZzWgNTe3z1b2h2SJ7XE5SMYXkKGWXYoLO3YhqM= 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: 31e2cfd0-8c4a-4397-14c1-08dc476865e5 X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Mar 2024 16:28:09.0932 (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: fAwAqitlLzjhjklhWf3xF0UsbNez5OR2LOHpg8l/LH9S0gGCmRIgEAoy/PdU69p4CbkDXwUIlp/HpsOU0JoNpQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR10MB7795 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-18_12,2024-03-18_02,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 mlxscore=0 spamscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2403140000 definitions=main-2403180124 X-Proofpoint-ORIG-GUID: e0dWTueyT157Z9M444Er8iePXjAKjNuO X-Proofpoint-GUID: e0dWTueyT157Z9M444Er8iePXjAKjNuO X-Spam-Status: No, score=-11.9 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,HTML_MESSAGE,KAM_SHORT,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_C46C107F613C4E63AC0D0DFC19377A1Eoraclecom_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 DQoNCk9uIE1hciAxMywgMjAyNCwgYXQgMTU6MTcsIFFpbmcgWmhhbyA8cWlu Zy56aGFvQG9yYWNsZS5jb20+IHdyb3RlOg0KDQoNCg0KT24gTWFyIDExLCAy MDI0LCBhdCAxMzoxMSwgU2lkZGhlc2ggUG95YXJla2FyIDxzaWRkaGVzaEBn b3RwbHQub3JnPiB3cm90ZToNCg0KDQoNCk9uIDIwMjQtMDItMTYgMTQ6NDcs IFFpbmcgWmhhbyB3cm90ZToNCmdjYy9DaGFuZ2VMb2c6DQoqIHRyZWUtb2Jq ZWN0LXNpemUuY2MgKGFjY2Vzc193aXRoX3NpemVfb2JqZWN0X3NpemUpOiBO ZXcgZnVuY3Rpb24uDQooY2FsbF9vYmplY3Rfc2l6ZSk6IENhbGwgdGhlIG5l dyBmdW5jdGlvbi4NCmdjYy90ZXN0c3VpdGUvQ2hhbmdlTG9nOg0KKiBnY2Mu ZGcvYnVpbHRpbi1vYmplY3Qtc2l6ZS1jb21tb24uaDogQWRkIGEgbmV3IG1h Y3JvIEVYUEVDVC4NCiogZ2NjLmRnL2ZsZXgtYXJyYXktY291bnRlZC1ieS0z LmM6IE5ldyB0ZXN0Lg0KKiBnY2MuZGcvZmxleC1hcnJheS1jb3VudGVkLWJ5 LTQuYzogTmV3IHRlc3QuDQoqIGdjYy5kZy9mbGV4LWFycmF5LWNvdW50ZWQt YnktNS5jOiBOZXcgdGVzdC4NCi0tLQ0KIC4uLi9nY2MuZGcvYnVpbHRpbi1v YmplY3Qtc2l6ZS1jb21tb24uaCAgICAgICB8ICAxMSArKw0KIC4uLi9nY2Mu ZGcvZmxleC1hcnJheS1jb3VudGVkLWJ5LTMuYyAgICAgICAgICB8ICA2MyAr KysrKysrDQogLi4uL2djYy5kZy9mbGV4LWFycmF5LWNvdW50ZWQtYnktNC5j ICAgICAgICAgIHwgMTc4ICsrKysrKysrKysrKysrKysrKw0KIC4uLi9nY2Mu ZGcvZmxleC1hcnJheS1jb3VudGVkLWJ5LTUuYyAgICAgICAgICB8ICA0OCAr KysrKw0KIGdjYy90cmVlLW9iamVjdC1zaXplLmNjICAgICAgICAgICAgICAg ICAgICAgICB8ICA1OSArKysrKysNCiA1IGZpbGVzIGNoYW5nZWQsIDM1OSBp bnNlcnRpb25zKCspDQogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3Vp dGUvZ2NjLmRnL2ZsZXgtYXJyYXktY291bnRlZC1ieS0zLmMNCiBjcmVhdGUg bW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvZmxleC1hcnJheS1j b3VudGVkLWJ5LTQuYw0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1 aXRlL2djYy5kZy9mbGV4LWFycmF5LWNvdW50ZWQtYnktNS5jDQpkaWZmIC0t Z2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvYnVpbHRpbi1vYmplY3Qtc2l6 ZS1jb21tb24uaCBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL2J1aWx0aW4tb2Jq ZWN0LXNpemUtY29tbW9uLmgNCmluZGV4IDY2ZmY3Y2RkOTUzYS4uYjY3NzA2 N2M2ZTZiIDEwMDY0NA0KLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvYnVp bHRpbi1vYmplY3Qtc2l6ZS1jb21tb24uaA0KKysrIGIvZ2NjL3Rlc3RzdWl0 ZS9nY2MuZGcvYnVpbHRpbi1vYmplY3Qtc2l6ZS1jb21tb24uaA0KQEAgLTMw LDMgKzMwLDE0IEBAIHVuc2lnbmVkIG5mYWlscyA9IDA7DQogICAgICAgX19i dWlsdGluX2Fib3J0ICgpOyAgICAgICBcDQogICAgIHJldHVybiAwOyAgICAg ICBcDQogICB9IHdoaWxlICgwKQ0KKw0KKyNkZWZpbmUgRVhQRUNUKHAsIF92 KSBkbyB7ICAgICAgIFwNCisgIHNpemVfdCB2ID0gX3Y7ICAgICAgIFwNCisg IGlmIChwID09IHYpICAgICAgIFwNCisgICAgX19idWlsdGluX3ByaW50ZiAo Im9rOiAgJXMgPT0gJXpkXG4iLCAjcCwgcCk7ICAgICAgIFwNCisgIGVsc2Ug ICAgICAgXA0KKyAgICB7ICAgICAgIFwNCisgICAgICBfX2J1aWx0aW5fcHJp bnRmICgiV0FUOiAlcyA9PSAlemQgKGV4cGVjdGVkICV6ZClcbiIsICNwLCBw LCB2KTsgICAgICAgXA0KKyAgICAgIEZBSUwgKCk7ICAgICAgIFwNCisgICAg fSAgICAgICBcDQorfSB3aGlsZSAoMCk7DQpkaWZmIC0tZ2l0IGEvZ2NjL3Rl c3RzdWl0ZS9nY2MuZGcvZmxleC1hcnJheS1jb3VudGVkLWJ5LTMuYyBiL2dj Yy90ZXN0c3VpdGUvZ2NjLmRnL2ZsZXgtYXJyYXktY291bnRlZC1ieS0zLmMN Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwMDAuLjAw NjZjMzJjYTgwOA0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZ2NjL3Rlc3RzdWl0 ZS9nY2MuZGcvZmxleC1hcnJheS1jb3VudGVkLWJ5LTMuYw0KQEAgLTAsMCAr MSw2MyBAQA0KKy8qIHRlc3QgdGhlIGF0dHJpYnV0ZSBjb3VudGVkX2J5IGFu ZCBpdHMgdXNhZ2UgaW4NCisgKiBfX2J1aWx0aW5fZHluYW1pY19vYmplY3Rf c2l6ZS4gICovDQorLyogeyBkZy1kbyBydW4gfSAqLw0KKy8qIHsgZGctb3B0 aW9ucyAiLU8yIiB9ICovDQorDQorI2luY2x1ZGUgImJ1aWx0aW4tb2JqZWN0 LXNpemUtY29tbW9uLmgiDQorDQorc3RydWN0IGZsZXggew0KKyAgaW50IGI7 DQorICBpbnQgY1tdOw0KK30gKmFycmF5X2ZsZXg7DQorDQorc3RydWN0IGFu bm90YXRlZCB7DQorICBpbnQgYjsNCisgIGludCBjW10gX19hdHRyaWJ1dGVf XyAoKGNvdW50ZWRfYnkgKGIpKSk7DQorfSAqYXJyYXlfYW5ub3RhdGVkOw0K Kw0KK3N0cnVjdCBuZXN0ZWRfYW5ub3RhdGVkIHsNCisgIHN0cnVjdCB7DQor ICAgIHVuaW9uIHsNCisgICAgICBpbnQgYjsNCisgICAgICBmbG9hdCBmOw0K KyAgICB9Ow0KKyAgICBpbnQgbjsNCisgIH07DQorICBpbnQgY1tdIF9fYXR0 cmlidXRlX18gKChjb3VudGVkX2J5IChiKSkpOw0KK30gKmFycmF5X25lc3Rl ZF9hbm5vdGF0ZWQ7DQorDQordm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vaW5s aW5lX18pKSBzZXR1cCAoaW50IG5vcm1hbF9jb3VudCwgaW50IGF0dHJfY291 bnQpDQorew0KKyAgYXJyYXlfZmxleA0KKyAgICA9IChzdHJ1Y3QgZmxleCAq KW1hbGxvYyAoc2l6ZW9mIChzdHJ1Y3QgZmxleCkNCisgICAgICArIG5vcm1h bF9jb3VudCAqICBzaXplb2YgKGludCkpOw0KKyAgYXJyYXlfZmxleC0+YiA9 IG5vcm1hbF9jb3VudDsNCisNCisgIGFycmF5X2Fubm90YXRlZA0KKyAgICA9 IChzdHJ1Y3QgYW5ub3RhdGVkICopbWFsbG9jIChzaXplb2YgKHN0cnVjdCBh bm5vdGF0ZWQpDQorICAgKyBhdHRyX2NvdW50ICogIHNpemVvZiAoaW50KSk7 DQorICBhcnJheV9hbm5vdGF0ZWQtPmIgPSBhdHRyX2NvdW50Ow0KKw0KKyAg YXJyYXlfbmVzdGVkX2Fubm90YXRlZA0KKyAgICA9IChzdHJ1Y3QgbmVzdGVk X2Fubm90YXRlZCAqKW1hbGxvYyAoc2l6ZW9mIChzdHJ1Y3QgbmVzdGVkX2Fu bm90YXRlZCkNCisgICsgYXR0cl9jb3VudCAqICBzaXplb2YgKGludCkpOw0K KyAgYXJyYXlfbmVzdGVkX2Fubm90YXRlZC0+YiA9IGF0dHJfY291bnQ7DQor DQorICByZXR1cm47DQorfQ0KKw0KK3ZvaWQgX19hdHRyaWJ1dGVfXygoX19u b2lubGluZV9fKSkgdGVzdCAoKQ0KK3sNCisgICAgRVhQRUNUKF9fYnVpbHRp bl9keW5hbWljX29iamVjdF9zaXplKGFycmF5X2ZsZXgtPmMsIDEpLCAtMSk7 DQorICAgIEVYUEVDVChfX2J1aWx0aW5fZHluYW1pY19vYmplY3Rfc2l6ZShh cnJheV9hbm5vdGF0ZWQtPmMsIDEpLA0KKyAgICBhcnJheV9hbm5vdGF0ZWQt PmIgKiBzaXplb2YgKGludCkpOw0KKyAgICBFWFBFQ1QoX19idWlsdGluX2R5 bmFtaWNfb2JqZWN0X3NpemUoYXJyYXlfbmVzdGVkX2Fubm90YXRlZC0+Yywg MSksDQorICAgIGFycmF5X25lc3RlZF9hbm5vdGF0ZWQtPmIgKiBzaXplb2Yg KGludCkpOw0KK30NCisNCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJn dltdKQ0KK3sNCisgIHNldHVwICgxMCwxMCk7DQorICB0ZXN0ICgpOw0KKyAg RE9ORSAoKTsNCit9DQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2Mu ZGcvZmxleC1hcnJheS1jb3VudGVkLWJ5LTQuYyBiL2djYy90ZXN0c3VpdGUv Z2NjLmRnL2ZsZXgtYXJyYXktY291bnRlZC1ieS00LmMNCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwMDAuLjNjZTdmMzU0NTU0OQ0K LS0tIC9kZXYvbnVsbA0KKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvZmxl eC1hcnJheS1jb3VudGVkLWJ5LTQuYw0KQEAgLTAsMCArMSwxNzggQEANCisv KiB0ZXN0IHRoZSBhdHRyaWJ1dGUgY291bnRlZF9ieSBhbmQgaXRzIHVzYWdl IGluDQorX19idWlsdGluX2R5bmFtaWNfb2JqZWN0X3NpemU6IHdoYXQncyB0 aGUgY29ycmVjdCBiZWhhdmlvciB3aGVuIHRoZQ0KK2FsbG9jYXRpb24gc2l6 ZSBtaXNtYXRjaGVkIHdpdGggdGhlIHZhbHVlIG9mIGNvdW50ZWRfYnkgYXR0 cmlidXRlPw0KK3dlIHNob3VsZCBhbHdheXMgdXNlIHRoZSBsYXRlc3QgdmFs dWUgdGhhdCBpcyBob2xkIGJ5IHRoZSBjb3VudGVkX2J5DQorZmllbGQuICAq Lw0KKy8qIHsgZGctZG8gcnVuIH0gKi8NCisvKiB7IGRnLW9wdGlvbnMgIi1P IC1mc3RyaWN0LWZsZXgtYXJyYXlzPTMiIH0gKi8NCisNCisjaW5jbHVkZSAi YnVpbHRpbi1vYmplY3Qtc2l6ZS1jb21tb24uaCINCisNCitzdHJ1Y3QgYW5u b3RhdGVkIHsNCisgIHNpemVfdCBmb287DQorICBjaGFyIG90aGVyczsNCisg IGNoYXIgYXJyYXlbXSBfX2F0dHJpYnV0ZV9fKChjb3VudGVkX2J5IChmb28p KSk7DQorfTsNCisNCisjZGVmaW5lIG5vaW5saW5lIF9fYXR0cmlidXRlX18o KF9fbm9pbmxpbmVfXykpDQorI2RlZmluZSBTSVpFX0JVTVAgMTANCisjZGVm aW5lIE1BWChhLCBiKSAoKGEpID4gKGIpID8gKGEpIDogKGIpKQ0KKw0KKy8q IEluIGdlbmVyYWwsIER1ZSB0byB0eXBlIGNhc3RpbmcsIHRoZSB0eXBlIGZv ciB0aGUgcG9pbnRlZSBvZiBhIHBvaW50ZXINCisgICBkb2VzIG5vdCBzYXkg YW55dGhpbmcgYWJvdXQgdGhlIG9iamVjdCBpdCBwb2ludHMgdG8sDQorICAg U28sIF9fYnVpbHRpbl9vYmplY3Rfc2l6ZSBjYW4gbm90IGRpcmVjdGx5IHVz ZSB0aGUgdHlwZSBvZiB0aGUgcG9pbnRlZQ0KKyAgIHRvIGRlY2lkZSB0aGUg c2l6ZSBvZiB0aGUgb2JqZWN0IHRoZSBwb2ludGVyIHBvaW50cyB0by4NCisN CisgICB0aGVyZSBhcmUgb25seSB0d28gcmVsaWFibGUgd2F5czoNCisgICBB LiBvYnNlcnZlZCBhbGxvY2F0aW9ucyAgKGNhbGwgdG8gdGhlIGFsbG9jYXRp b24gZnVuY3Rpb25zIGluIHRoZSByb3V0aW5lKQ0KKyAgIEIuIG9ic2VydmVk IGFjY2Vzc2VzICAgICAocmVhZCBvciB3cml0ZSBhY2Nlc3MgdG8gdGhlIGxv Y2F0aW9uIG9mIHRoZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg cG9pbnRlciBwb2ludHMgdG8pDQorDQorICAgdGhhdCBwcm92aWRlIGluZm9y bWF0aW9uIGFib3V0IHRoZSB0eXBlL2V4aXN0ZW5jZSBvZiBhbiBvYmplY3Qg YXQNCisgICB0aGUgY29ycmVzcG9uZGluZyBhZGRyZXNzLg0KKw0KKyAgIGZv ciBBLCB3ZSB1c2UgdGhlICJhbGxvY19zaXplIiBhdHRyaWJ1dGUgZm9yIHRo ZSBjb3JyZXNwb25kaW5nIGFsbG9jYXRpb24NCisgICBmdW5jdGlvbnMgdG8g ZGV0ZXJtaW5lIHRoZSBvYmplY3Qgc2l6ZTsNCisgICAoV2UgdHJlYXQgY291 bnRlZF9ieSBhdHRyaWJ1dGUgdGhlIHNhbWUgYXMgdGhlICJhbGxvY19zaXpl IiBhdHRyaWJ1dGUpDQorDQorICAgRm9yIEIsIHdlIHVzZSB0aGUgU0laRSBp bmZvIG9mIHRoZSBUWVBFIGF0dGFjaGVkIHRvIHRoZSBjb3JyZXNwb25kaW5n IGFjY2Vzcy4NCisNCisgICBUaGUgb25seSBvdGhlciB3YXkgaW4gQyB3aGlj aCBlbnN1cmVzIHRoYXQgYSBwb2ludGVyIGFjdHVhbGx5IHBvaW50cw0KKyAg IHRvIGFuIG9iamVjdCBvZiB0aGUgY29ycmVjdCB0eXBlIGlzICdzdGF0aWMn Og0KKw0KKyAgIHZvaWQgZm9vKHN0cnVjdCBQICpwW3N0YXRpYyAxXSk7DQor DQorICAgU2VlIGh0dHBzOi8vZ2NjLmdudS5vcmcvcGlwZXJtYWlsL2djYy1w YXRjaGVzLzIwMjMtSnVseS82MjQ4MTQuaHRtbA0KKyAgIGZvciBtb3JlIGRl dGFpbHMuICAqLw0KKw0KKy8qIGluIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24s IG1hbGxvYyBhbGxvY2F0ZWQgbW9yZSBzcGFjZSB0aGFuIHRoZSB2YWx1ZQ0K KyAgIG9mIGNvdW50ZWRfYnkgYXR0cmlidXRlLiAgVGhlbiB3aGF0J3MgdGhl IGNvcnJlY3QgYmVoYXZpb3Igd2UgZXhwZWN0DQorICAgdGhlIF9fYnVpbHRp bl9keW5hbWljX29iamVjdF9zaXplIHNob3VsZCBoYXZlIGZvciBlYWNoIG9m IHRoZSBjYXNlcz8gICovDQorDQorc3RhdGljIHN0cnVjdCBhbm5vdGF0ZWQg KiBub2lubGluZSBhbGxvY19idWZfbW9yZSAoc2l6ZV90IGluZGV4KQ0KK3sN CisgIHN0cnVjdCBhbm5vdGF0ZWQgKnA7DQorICBzaXplX3QgYWxsb2NhdGVk X3NpemUNCisgICAgPSBNQVggKHNpemVvZiAoc3RydWN0IGFubm90YXRlZCks DQorICAgIChfX2J1aWx0aW5fb2Zmc2V0b2YgKHN0cnVjdCBhbm5vdGF0ZWQs IGFycmF5WzBdKQ0KKyAgICAgKyAoaW5kZXggKyBTSVpFX0JVTVApICogc2l6 ZW9mIChjaGFyKSkpOw0KKyAgcCA9IChzdHJ1Y3QgYW5ub3RhdGVkICopIG1h bGxvYyAoYWxsb2NhdGVkX3NpemUpOw0KKw0KKyAgcC0+Zm9vID0gaW5kZXg7 DQorDQorICAvKndoZW4gY2hlY2tpbmcgdGhlIG9ic2VydmVkIGFjY2VzcyBw LT5hcnJheSwgd2UgaGF2ZSBpbmZvIG9uIGJvdGgNCisgICAgb2JzZXJ2ZXJl ZCBhbGxvY2F0aW9uIGFuZCBvYnNlcnZlZCBhY2Nlc3MsDQorICAgIEEuMSBm cm9tIG9ic2VydmVkIGFsbG9jYXRpb246DQorICAgICBhbGxvY2F0ZWRfc2l6 ZSAtIG9mZnNldG9mIChzdHJ1Y3QgYW5ub3RhdGVkLCBhcnJheVswXSkNCisN CisgICAgQS4yIGZyb20gdGhlIGNvdW50ZWQtYnkgYXR0cmlidXRlOg0KKyAg ICAgcC0+Zm9vICogc2l6ZW9mIChjaGFyKQ0KKw0KKyAgICB3ZSBhbHdheXMg dXNlIHRoZSBsYXRlc3QgdmFsdWUgdGhhdCBpcyBob2xkIGJ5IHRoZSBjb3Vu dGVkLWJ5IGZpZWxkLg0KKyAgICovDQorDQorICBFWFBFQ1QoX19idWlsdGlu X2R5bmFtaWNfb2JqZWN0X3NpemUocC0+YXJyYXksIDApLA0KKyAgKHAtPmZv bykgKiBzaXplb2YoY2hhcikpOw0KKw0KKyAgRVhQRUNUKF9fYnVpbHRpbl9k eW5hbWljX29iamVjdF9zaXplKHAtPmFycmF5LCAxKSwNCisgIChwLT5mb28p ICogc2l6ZW9mKGNoYXIpKTsNCisNCisgIEVYUEVDVChfX2J1aWx0aW5fZHlu YW1pY19vYmplY3Rfc2l6ZShwLT5hcnJheSwgMiksDQorICAocC0+Zm9vKSAq IHNpemVvZihjaGFyKSk7DQorDQorICBFWFBFQ1QoX19idWlsdGluX2R5bmFt aWNfb2JqZWN0X3NpemUocC0+YXJyYXksIDMpLA0KKyAgKHAtPmZvbykgKiBz aXplb2YoY2hhcikpOw0KKw0KKyAgLyp3aGVuIGNoZWNraW5nIHRoZSBwb2lu dGVyIHAsIHdlIG9ubHkgaGF2ZSBpbmZvIG9uIHRoZSBvYnNlcnZlZCBhbGxv Y2F0aW9uLg0KKyAgICBTbywgdGhlIG9iamVjdCBzaXplIGluZm8gY2FuIG9u bHkgYmVlbiBvYnRhaW5lZCBmcm9tIHRoZSBjYWxsIHRvIG1hbGxvYy4NCisg ICAgZm9yIGJvdGggTUFYSU1VTSBhbmQgTUlOSU1VTTogQSA9IChpbmRleCAr IFNJWkVfQlVNUCkgKiBzaXplb2YgKGNoYXIpICAqLw0KKyAgRVhQRUNUKF9f YnVpbHRpbl9keW5hbWljX29iamVjdF9zaXplKHAsIDApLCBhbGxvY2F0ZWRf c2l6ZSk7DQorICBFWFBFQ1QoX19idWlsdGluX2R5bmFtaWNfb2JqZWN0X3Np emUocCwgMSksIGFsbG9jYXRlZF9zaXplKTsNCisgIEVYUEVDVChfX2J1aWx0 aW5fZHluYW1pY19vYmplY3Rfc2l6ZShwLCAyKSwgYWxsb2NhdGVkX3NpemUp Ow0KKyAgRVhQRUNUKF9fYnVpbHRpbl9keW5hbWljX29iamVjdF9zaXplKHAs IDMpLCBhbGxvY2F0ZWRfc2l6ZSk7DQorICByZXR1cm4gcDsNCit9DQorDQor LyogaW4gdGhlIGZvbGxvd2luZyBmdW5jdGlvbiwgbWFsbG9jIGFsbG9jYXRl ZCBsZXNzIHNwYWNlIHRoYW4gdGhlIHZhbHVlDQorICAgb2YgY291bnRlZF9i eSBhdHRyaWJ1dGUuICBUaGVuIHdoYXQncyB0aGUgY29ycmVjdCBiZWhhdmlv ciB3ZSBleHBlY3QNCisgICB0aGUgX19idWlsdGluX2R5bmFtaWNfb2JqZWN0 X3NpemUgc2hvdWxkIGhhdmUgZm9yIGVhY2ggb2YgdGhlIGNhc2VzPw0KKyAg IE5PVEU6IHRoaXMgaXMgYW4gdXNlciBlcnJvciwgR0NDIHNob3VsZCBpc3N1 ZSB3YXJuaW5ncyBmb3Igc3VjaCBjYXNlLg0KKyAgIHRoaXMgaXMgYSBzZXBl cmF0ZSBpc3N1ZSB3ZSBzaG91bGQgYWRkcmVzcyBsYXRlci4gICovDQorDQor c3RhdGljIHN0cnVjdCBhbm5vdGF0ZWQgKiBub2lubGluZSBhbGxvY19idWZf bGVzcyAoc2l6ZV90IGluZGV4KQ0KK3sNCisgIHN0cnVjdCBhbm5vdGF0ZWQg KnA7DQorICBzaXplX3QgYWxsb2NhdGVkX3NpemUNCisgICAgPSBNQVggKHNp emVvZiAoc3RydWN0IGFubm90YXRlZCksDQorICAgIChfX2J1aWx0aW5fb2Zm c2V0b2YgKHN0cnVjdCBhbm5vdGF0ZWQsIGFycmF5WzBdKQ0KKyAgICAgKyAo aW5kZXgpICogc2l6ZW9mIChjaGFyKSkpOw0KKyAgcCA9IChzdHJ1Y3QgYW5u b3RhdGVkICopIG1hbGxvYyAoYWxsb2NhdGVkX3NpemUpOw0KKw0KKyAgcC0+ Zm9vID0gaW5kZXggKyBTSVpFX0JVTVA7DQorDQorICAvKndoZW4gY2hlY2tp bmcgdGhlIG9ic2VydmVkIGFjY2VzcyBwLT5hcnJheSwgd2UgaGF2ZSBpbmZv IG9uIGJvdGgNCisgICAgb2JzZXJ2ZXJlZCBhbGxvY2F0aW9uIGFuZCBvYnNl cnZlZCBhY2Nlc3MsDQorICAgIEEuMSBmcm9tIG9ic2VydmVkIGFsbG9jYXRp b246DQorICAgICBhbGxvY2F0ZWRfc2l6ZSAtIG9mZnNldG9mIChzdHJ1Y3Qg YW5ub3RhdGVkLCBhcnJheVswXSkNCisgICAgQS4yIGZyb20gdGhlIGNvdW50 ZWQtYnkgYXR0cmlidXRlOg0KKyAgICAgcC0+Zm9vICogc2l6ZW9mIChjaGFy KQ0KKw0KKyAgICB3ZSBhbHdheXMgdXNlIHRoZSBsYXRlc3QgdmFsdWUgdGhh dCBpcyBob2xkIGJ5IHRoZSBjb3VudGVkLWJ5IGZpZWxkLg0KKyAgICovDQor DQorICBFWFBFQ1QoX19idWlsdGluX2R5bmFtaWNfb2JqZWN0X3NpemUocC0+ YXJyYXksIDApLA0KKyAgKHAtPmZvbykgKiBzaXplb2YoY2hhcikpOw0KKw0K KyAgRVhQRUNUKF9fYnVpbHRpbl9keW5hbWljX29iamVjdF9zaXplKHAtPmFy cmF5LCAxKSwNCisgIChwLT5mb28pICogc2l6ZW9mKGNoYXIpKTsNCisNCisg IEVYUEVDVChfX2J1aWx0aW5fZHluYW1pY19vYmplY3Rfc2l6ZShwLT5hcnJh eSwgMiksDQorICAocC0+Zm9vKSAqIHNpemVvZihjaGFyKSk7DQorDQorICBF WFBFQ1QoX19idWlsdGluX2R5bmFtaWNfb2JqZWN0X3NpemUocC0+YXJyYXks IDMpLA0KKyAgKHAtPmZvbykgKiBzaXplb2YoY2hhcikpOw0KKw0KKyAgLyp3 aGVuIGNoZWNraW5nIHRoZSBwb2ludGVyIHAsIHdlIG9ubHkgaGF2ZSBpbmZv IG9uIHRoZSBvYnNlcnZlZA0KKyAgICBhbGxvY2F0aW9uLiBTbywgdGhlIG9i amVjdCBzaXplIGluZm8gY2FuIG9ubHkgYmVlbiBvYnRhaW5lZCBmcm9tDQor ICAgIHRoZSBjYWxsIHRvIG1hbGxvYy4gICovDQorICBFWFBFQ1QoX19idWls dGluX2R5bmFtaWNfb2JqZWN0X3NpemUocCwgMCksIGFsbG9jYXRlZF9zaXpl KTsNCisgIEVYUEVDVChfX2J1aWx0aW5fZHluYW1pY19vYmplY3Rfc2l6ZShw LCAxKSwgYWxsb2NhdGVkX3NpemUpOw0KKyAgRVhQRUNUKF9fYnVpbHRpbl9k eW5hbWljX29iamVjdF9zaXplKHAsIDIpLCBhbGxvY2F0ZWRfc2l6ZSk7DQor ICBFWFBFQ1QoX19idWlsdGluX2R5bmFtaWNfb2JqZWN0X3NpemUocCwgMyks IGFsbG9jYXRlZF9zaXplKTsNCisgIHJldHVybiBwOw0KK30NCisNCitpbnQg bWFpbiAoKQ0KK3sNCisgIHN0cnVjdCBhbm5vdGF0ZWQgKnAsICpxOw0KKyAg cCA9IGFsbG9jX2J1Zl9tb3JlICgxMCk7DQorICBxID0gYWxsb2NfYnVmX2xl c3MgKDEwKTsNCisNCisgIC8qd2hlbiBjaGVja2luZyB0aGUgYWNjZXNzIHAt PmFycmF5LCB3ZSBvbmx5IGhhdmUgaW5mbyBvbiB0aGUgY291bnRlZC1ieQ0K KyAgICB2YWx1ZS4gICovDQorICBFWFBFQ1QoX19idWlsdGluX2R5bmFtaWNf b2JqZWN0X3NpemUocC0+YXJyYXksIDApLCBwLT5mb28gKiBzaXplb2YoY2hh cikpOw0KKyAgRVhQRUNUKF9fYnVpbHRpbl9keW5hbWljX29iamVjdF9zaXpl KHAtPmFycmF5LCAxKSwgcC0+Zm9vICogc2l6ZW9mKGNoYXIpKTsNCisgIEVY UEVDVChfX2J1aWx0aW5fZHluYW1pY19vYmplY3Rfc2l6ZShwLT5hcnJheSwg MiksIHAtPmZvbyAqIHNpemVvZihjaGFyKSk7DQorICBFWFBFQ1QoX19idWls dGluX2R5bmFtaWNfb2JqZWN0X3NpemUocC0+YXJyYXksIDMpLCBwLT5mb28g KiBzaXplb2YoY2hhcikpOw0KKyAgLyp3aGVuIGNoZWNraW5nIHRoZSBwb2lu dGVyIHAsIHdlIGhhdmUgbm8gb2JzZXJ2ZWQgYWxsb2NhdGlvbiBub3Igb2Jz ZXJ2ZWQNCisgICAgYWNjZXNzLCB0aGVyZWZvcmUsIHdlIGNhbm5vdCBkZXRl cm1pbmUgdGhlIHNpemUgaW5mbyBoZXJlLiAgKi8NCisgIEVYUEVDVChfX2J1 aWx0aW5fZHluYW1pY19vYmplY3Rfc2l6ZShwLCAwKSwgLTEpOw0KKyAgRVhQ RUNUKF9fYnVpbHRpbl9keW5hbWljX29iamVjdF9zaXplKHAsIDEpLCAtMSk7 DQorICBFWFBFQ1QoX19idWlsdGluX2R5bmFtaWNfb2JqZWN0X3NpemUocCwg MiksIDApOw0KKyAgRVhQRUNUKF9fYnVpbHRpbl9keW5hbWljX29iamVjdF9z aXplKHAsIDMpLCAwKTsNCisNCisgIC8qd2hlbiBjaGVja2luZyB0aGUgYWNj ZXNzIHAtPmFycmF5LCB3ZSBvbmx5IGhhdmUgaW5mbyBvbiB0aGUgY291bnRl ZC1ieQ0KKyAgICB2YWx1ZS4gICovDQorICBFWFBFQ1QoX19idWlsdGluX2R5 bmFtaWNfb2JqZWN0X3NpemUocS0+YXJyYXksIDApLCBxLT5mb28gKiBzaXpl b2YoY2hhcikpOw0KKyAgRVhQRUNUKF9fYnVpbHRpbl9keW5hbWljX29iamVj dF9zaXplKHEtPmFycmF5LCAxKSwgcS0+Zm9vICogc2l6ZW9mKGNoYXIpKTsN CisgIEVYUEVDVChfX2J1aWx0aW5fZHluYW1pY19vYmplY3Rfc2l6ZShxLT5h cnJheSwgMiksIHEtPmZvbyAqIHNpemVvZihjaGFyKSk7DQorICBFWFBFQ1Qo X19idWlsdGluX2R5bmFtaWNfb2JqZWN0X3NpemUocS0+YXJyYXksIDMpLCBx LT5mb28gKiBzaXplb2YoY2hhcikpOw0KKyAgLyp3aGVuIGNoZWNraW5nIHRo ZSBwb2ludGVyIHAsIHdlIGhhdmUgbm8gb2JzZXJ2ZWQgYWxsb2NhdGlvbiBu b3Igb2JzZXJ2ZWQNCisgICAgYWNjZXNzLCB0aGVyZWZvcmUsIHdlIGNhbm5v dCBkZXRlcm1pbmUgdGhlIHNpemUgaW5mbyBoZXJlLiAgKi8NCisgIEVYUEVD VChfX2J1aWx0aW5fZHluYW1pY19vYmplY3Rfc2l6ZShxLCAwKSwgLTEpOw0K KyAgRVhQRUNUKF9fYnVpbHRpbl9keW5hbWljX29iamVjdF9zaXplKHEsIDEp LCAtMSk7DQorICBFWFBFQ1QoX19idWlsdGluX2R5bmFtaWNfb2JqZWN0X3Np emUocSwgMiksIDApOw0KKyAgRVhQRUNUKF9fYnVpbHRpbl9keW5hbWljX29i amVjdF9zaXplKHEsIDMpLCAwKTsNCisNCisgIERPTkUgKCk7DQorfQ0KZGlm ZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL2ZsZXgtYXJyYXktY291 bnRlZC1ieS01LmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9mbGV4LWFycmF5 LWNvdW50ZWQtYnktNS5jDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXgg MDAwMDAwMDAwMDAwLi4zN2ZjMjE1ZTVlNWMNCi0tLSAvZGV2L251bGwNCisr KyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL2ZsZXgtYXJyYXktY291bnRlZC1i eS01LmMNCkBAIC0wLDAgKzEsNDggQEANCisvKiB0ZXN0IHRoZSBhdHRyaWJ1 dGUgY291bnRlZF9ieSBhbmQgaXRzIHVzYWdlIGluDQorICogX19idWlsdGlu X2R5bmFtaWNfb2JqZWN0X3NpemUuIHdoZW4gdGhlIGNvdW50ZWRfYnkgZmll bGQgaXMgbmVnYXRpdmUuICAqLw0KKy8qIHsgZGctZG8gcnVuIH0gKi8NCisv KiB7IGRnLW9wdGlvbnMgIi1PMiIgfSAqLw0KKw0KKyNpbmNsdWRlICJidWls dGluLW9iamVjdC1zaXplLWNvbW1vbi5oIg0KKw0KK3N0cnVjdCBhbm5vdGF0 ZWQgew0KKyAgaW50IGI7DQorICBpbnQgY1tdIF9fYXR0cmlidXRlX18gKChj b3VudGVkX2J5IChiKSkpOw0KK30gKmFycmF5X2Fubm90YXRlZDsNCisNCitz dHJ1Y3QgbmVzdGVkX2Fubm90YXRlZCB7DQorICBzdHJ1Y3Qgew0KKyAgICB1 bmlvbiB7DQorICAgICAgaW50IGI7DQorICAgICAgZmxvYXQgZjsNCisgICAg fTsNCisgICAgaW50IG47DQorICB9Ow0KKyAgaW50IGNbXSBfX2F0dHJpYnV0 ZV9fICgoY291bnRlZF9ieSAoYikpKTsNCit9ICphcnJheV9uZXN0ZWRfYW5u b3RhdGVkOw0KKw0KK3ZvaWQgX19hdHRyaWJ1dGVfXygoX19ub2lubGluZV9f KSkgc2V0dXAgKGludCBhdHRyX2NvdW50KQ0KK3sNCisgIGFycmF5X2Fubm90 YXRlZA0KKyAgICA9IChzdHJ1Y3QgYW5ub3RhdGVkICopbWFsbG9jIChzaXpl b2YgKHN0cnVjdCBhbm5vdGF0ZWQpKTsNCisgIGFycmF5X2Fubm90YXRlZC0+ YiA9IGF0dHJfY291bnQ7DQorDQorICBhcnJheV9uZXN0ZWRfYW5ub3RhdGVk DQorICAgID0gKHN0cnVjdCBuZXN0ZWRfYW5ub3RhdGVkICopbWFsbG9jIChz aXplb2YgKHN0cnVjdCBuZXN0ZWRfYW5ub3RhdGVkKSk7DQorICBhcnJheV9u ZXN0ZWRfYW5ub3RhdGVkLT5iID0gYXR0cl9jb3VudCAtMTsNCisNCisgIHJl dHVybjsNCit9DQorDQordm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vaW5saW5l X18pKSB0ZXN0ICgpDQorew0KKyAgICBFWFBFQ1QoX19idWlsdGluX2R5bmFt aWNfb2JqZWN0X3NpemUoYXJyYXlfYW5ub3RhdGVkLT5jLCAxKSwgMCk7DQor ICAgIEVYUEVDVChfX2J1aWx0aW5fZHluYW1pY19vYmplY3Rfc2l6ZShhcnJh eV9uZXN0ZWRfYW5ub3RhdGVkLT5jLCAxKSwgMCk7DQorfQ0KKw0KK2ludCBt YWluKGludCBhcmdjLCBjaGFyICphcmd2W10pDQorew0KKyAgc2V0dXAgKC0x MCk7DQorICB0ZXN0ICgpOw0KKyAgRE9ORSAoKTsNCit9DQpkaWZmIC0tZ2l0 IGEvZ2NjL3RyZWUtb2JqZWN0LXNpemUuY2MgYi9nY2MvdHJlZS1vYmplY3Qt c2l6ZS5jYw0KaW5kZXggMDE4ZmJjMzBjYmI2Li42MzBiMGE3YWFhNGIgMTAw NjQ0DQotLS0gYS9nY2MvdHJlZS1vYmplY3Qtc2l6ZS5jYw0KKysrIGIvZ2Nj L3RyZWUtb2JqZWN0LXNpemUuY2MNCkBAIC0zNyw2ICszNyw3IEBAIGFsb25n IHdpdGggR0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICBJZiBub3Qgc2Vl DQogI2luY2x1ZGUgImF0dHJpYnMuaCINCiAjaW5jbHVkZSAiYnVpbHRpbnMu aCINCiAjaW5jbHVkZSAiZ2ltcGxpZnktbWUuaCINCisjaW5jbHVkZSAiZ2lt cGxpZnkuaCINCiAgIHN0cnVjdCBvYmplY3Rfc2l6ZV9pbmZvDQogew0KQEAg LTYwLDYgKzYxLDcgQEAgc3RhdGljIHRyZWUgY29tcHV0ZV9vYmplY3Rfb2Zm c2V0ICh0cmVlLCBjb25zdF90cmVlKTsNCiBzdGF0aWMgYm9vbCBhZGRyX29i amVjdF9zaXplIChzdHJ1Y3Qgb2JqZWN0X3NpemVfaW5mbyAqLA0KICAgICAg ICBjb25zdF90cmVlLCBpbnQsIHRyZWUgKiwgdHJlZSAqdCA9IE5VTEwpOw0K IHN0YXRpYyB0cmVlIGFsbG9jX29iamVjdF9zaXplIChjb25zdCBnY2FsbCAq LCBpbnQpOw0KK3N0YXRpYyB0cmVlIGFjY2Vzc193aXRoX3NpemVfb2JqZWN0 X3NpemUgKGNvbnN0IGdjYWxsICosIGludCk7DQogc3RhdGljIHRyZWUgcGFz c190aHJvdWdoX2NhbGwgKGNvbnN0IGdjYWxsICopOw0KIHN0YXRpYyB2b2lk IGNvbGxlY3Rfb2JqZWN0X3NpemVzX2ZvciAoc3RydWN0IG9iamVjdF9zaXpl X2luZm8gKiwgdHJlZSk7DQogc3RhdGljIHZvaWQgZXhwcl9vYmplY3Rfc2l6 ZSAoc3RydWN0IG9iamVjdF9zaXplX2luZm8gKiwgdHJlZSwgdHJlZSk7DQpA QCAtNzQ5LDYgKzc1MSw1OSBAQCBhZGRyX29iamVjdF9zaXplIChzdHJ1Y3Qg b2JqZWN0X3NpemVfaW5mbyAqb3NpLCBjb25zdF90cmVlIHB0ciwNCiAgIHJl dHVybiBmYWxzZTsNCiB9DQogKy8qIENvbXB1dGUgX19idWlsdGluX29iamVj dF9zaXplIGZvciBhIENBTEwgdG8gLkFDQ0VTU19XSVRIX1NJWkUsDQorICAg T0JKRUNUX1NJWkVfVFlQRSBpcyB0aGUgc2Vjb25kIGFyZ3VtZW50IGZyb20g X19idWlsdGluX29iamVjdF9zaXplLg0KKyAgIHRoZSAybmQsIDNyZCwgYW5k IHRoZSA0dGggcGFyYW1ldGVycyBvZiB0aGUgY2FsbCBkZXRlcm1pbmUgdGhl IHNpemUgb2YNCg0KQ2FwaXRhbGl6ZSDigJxUaGXigJ0NCk9rYXkuDQoNCisg ICB0aGUgQ0FMTDoNCisNCisgICAybmQgYXJndW1lbnQgUkVGX1RPX1NJWkU6 IFRoZSByZWZlcmVuY2UgdG8gdGhlIHNpemUgb2YgdGhlIG9iamVjdCwNCisg ICAzcmQgYXJndW1lbnQgQ0xBU1NfT0ZfU0laRTogVGhlIHNpemUgcmVmZXJl bmNlZCBieSB0aGUgUkVGX1RPX1NJWkUgcmVwcmVzZW50cw0KKyAgICAgMDog dW5rbm93bjsNCisgICAgIDE6IHRoZSBudW1iZXIgb2YgdGhlIGVsZW1lbnRz IG9mIHRoZSBvYmplY3QgdHlwZTsNCisgICAgIDI6IHRoZSBudW1iZXIgb2Yg Ynl0ZXM7DQorICAgNHRoIGFyZ3VtZW50IFRZUEVfT0ZfU0laRTogQSBjb25z dGFudCAwIHdpdGggdGhlIFRZUEUgb2YgdGhlIG9iamVjdA0KKyAgICAgcmVm ZWQgYnkgUkVGX1RPX1NJWkUNCg0Kcy9yZWZlZC9yZWZlcmVuY2VkLyBNYXli ZSByZXBocmFzZSB0aGlzIGFzIHRoZSBmb2xsb3dpbmc/DQoNCiBBIGNvbnN0 YW50IDAgd2l0aCBpdHMgVFlQRSBiZWluZyB0aGUgc2FtZSBhcyB0aGUgVFlQ RSBvZiB0aGUgb2JqZWN0DQogcmVmZXJlbmNlZCBieSBSRUZfVE9fU0laRS4N Ck9rYXksIHdpbGwgdXBkYXRlIHRoaXMuDQoNCisNCisgICB0aGUgc2l6ZSBv ZiB0aGUgZWxlbWVudCBjYW4gYmUgcmV0cml2ZWQgZnJvbSB0aGUgcmVzdWx0 IHR5cGUgb2YgdGhlIGNhbGwsDQoNCnMvcmV0cml2ZWQvcmV0cmlldmVkLyAg QWxzbyBjYXBpdGFsaXplIHRoZSBmaXJzdCAiVGhl4oCdLg0KT2theS4NCg0K KyAgIHdoaWNoIGlzIHRoZSBwb2ludGVyIHRvIHRoZSBhcnJheSB0eXBlLiAg Ki8NCitzdGF0aWMgdHJlZQ0KK2FjY2Vzc193aXRoX3NpemVfb2JqZWN0X3Np emUgKGNvbnN0IGdjYWxsICpjYWxsLCBpbnQgb2JqZWN0X3NpemVfdHlwZSkN Cit7DQoNClRoaXMgc2hvdWxkIHByb2JhYmx5IGJhaWwgb3V0IGlmIG9iamVj dF9zaXplX3R5cGUgJiBPU1RfRFlOQU1JQyA9PSAwLg0KT2theS4gV2lsbCBh ZGQgdGhpcy4NCg0KV2hlbiBhZGQgdGhpcyBpbnRvIGFjY2Vzc193aXRoX3Np emVfb2JqZWN0X3NpemUsIEkgZm91bmQgc29tZSBvbGQgYnVncyBpbiBlYXJs eV9vYmplY3Rfc2l6ZXNfZXhlY3V0ZV9vbmUsIGFuZCBmaXhlZCB0aGVtIGFz IHdlbGwuDQoNCnRoYW5rcy4NCg0KUWluZw0KDQorICBnY2NfYXNzZXJ0IChn aW1wbGVfY2FsbF9pbnRlcm5hbF9wIChjYWxsLCBJRk5fQUNDRVNTX1dJVEhf U0laRSkpOw0KKyAgLyogcmVzdWx0IHR5cGUgaXMgYSBwb2ludGVyIHR5cGUg dG8gdGhlIG9yaWdpbmFsIGZsZXhpYmxlIGFycmF5IHR5cGUuICAqLw0KKyAg dHJlZSByZXN1bHRfdHlwZSA9IGdpbXBsZV9jYWxsX3JldHVybl90eXBlIChj YWxsKTsNCisgIGdjY19hc3NlcnQgKFBPSU5URVJfVFlQRV9QIChyZXN1bHRf dHlwZSkpOw0KKyAgdHJlZSBlbGVtZW50X3NpemUgPSBUWVBFX1NJWkVfVU5J VCAoVFJFRV9UWVBFIChUUkVFX1RZUEUgKHJlc3VsdF90eXBlKSkpOw0KKyAg dHJlZSByZWZfdG9fc2l6ZSA9IGdpbXBsZV9jYWxsX2FyZyAoY2FsbCwgMSk7 DQorICB1bnNpZ25lZCBpbnQgdHlwZV9vZl9zaXplID0gVFJFRV9JTlRfQ1NU X0xPVyAoZ2ltcGxlX2NhbGxfYXJnIChjYWxsLCAyKSk7DQoNClNob3VsZG4n dCB0aGlzIGJlIGNsYXNzX29mX3NpemU/DQoNCldpbGwgdXBkYXRlIHRoaXMg d2hlbiBJIGNoYW5nZWQgdGhlIDNyZCBhcmd1bWVudCBwZXIgdGhlIHByZXZp b3VzIGRpc2N1c3Npb24uDQoNClFpbmcNCg0KKyAgdHJlZSB0eXBlID0gVFJF RV9UWVBFIChnaW1wbGVfY2FsbF9hcmcgKGNhbGwsIDMpKTsNCisNCisgIHRy ZWUgc2l6ZSA9IGZvbGRfYnVpbGQyIChNRU1fUkVGLCB0eXBlLCByZWZfdG9f c2l6ZSwNCisgICAgYnVpbGRfaW50X2NzdCAocHRyX3R5cGVfbm9kZSwgMCkp Ow0KKw0KKyAgLyogSWYgc2l6ZSBpcyBuZWdhdGl2ZSB2YWx1ZSwgdHJlYXQg aXQgYXMgemVyby4gICovDQorICBpZiAoIVRZUEVfVU5TSUdORUQgKHR5cGUp KQ0KKyAgew0KKyAgICB0cmVlIGNvbmRfZXhwciA9IGZvbGRfYnVpbGQyIChM VF9FWFBSLCBib29sZWFuX3R5cGVfbm9kZSwNCisgICB1bnNoYXJlX2V4cHIg KHNpemUpLCBidWlsZF96ZXJvX2NzdCAodHlwZSkpOw0KKyAgICBzaXplID0g Zm9sZF9idWlsZDMgKENPTkRfRVhQUiwgaW50ZWdlcl90eXBlX25vZGUsIGNv bmRfZXhwciwNCisgYnVpbGRfemVyb19jc3QgKHR5cGUpLCBzaXplKTsNCisg IH0NCisNCisgIGlmICh0eXBlX29mX3NpemUgPT0gMCkNCisgICAgcmV0dXJu IHNpemVfdW5rbm93biAob2JqZWN0X3NpemVfdHlwZSk7DQorICBlbHNlIGlm ICh0eXBlX29mX3NpemUgPT0gMSkNCisgICAgc2l6ZSA9IHNpemVfYmlub3Ag KE1VTFRfRVhQUiwNCisgICAgICAgIGZvbGRfY29udmVydCAoc2l6ZXR5cGUs IHNpemUpLA0KKyAgICAgICAgZm9sZF9jb252ZXJ0IChzaXpldHlwZSwgZWxl bWVudF9zaXplKSk7DQorICBlbHNlDQorICAgIHNpemUgPSBmb2xkX2NvbnZl cnQgKHNpemV0eXBlLCBzaXplKTsNCisNCisgIGlmICghdG9kbykNCisgICAg dG9kbyA9IFRPRE9fdXBkYXRlX3NzYV9vbmx5X3ZpcnR1YWxzOw0KKw0KKyAg cmV0dXJuIHNpemU7DQorfQ0KICAgLyogQ29tcHV0ZSBfX2J1aWx0aW5fb2Jq ZWN0X3NpemUgZm9yIENBTEwsIHdoaWNoIGlzIGEgR0lNUExFX0NBTEwuDQog ICAgSGFuZGxlcyBjYWxscyB0byBmdW5jdGlvbnMgZGVjbGFyZWQgd2l0aCBh dHRyaWJ1dGUgYWxsb2Nfc2l6ZS4NCkBAIC0xMzUwLDggKzE0MDUsMTIgQEAg Y2FsbF9vYmplY3Rfc2l6ZSAoc3RydWN0IG9iamVjdF9zaXplX2luZm8gKm9z aSwgdHJlZSBwdHIsIGdjYWxsICpjYWxsKQ0KICAgICBib29sIGlzX3N0cmR1 cCA9IGdpbXBsZV9jYWxsX2J1aWx0aW5fcCAoY2FsbCwgQlVJTFRfSU5fU1RS RFVQKTsNCiAgIGJvb2wgaXNfc3RybmR1cCA9IGdpbXBsZV9jYWxsX2J1aWx0 aW5fcCAoY2FsbCwgQlVJTFRfSU5fU1RSTkRVUCk7DQorICBib29sIGlzX2Fj Y2Vzc193aXRoX3NpemUNCisgID0gZ2ltcGxlX2NhbGxfaW50ZXJuYWxfcCAo Y2FsbCwgSUZOX0FDQ0VTU19XSVRIX1NJWkUpOw0KICAgaWYgKGlzX3N0cmR1 cCB8fCBpc19zdHJuZHVwKQ0KICAgICBieXRlcyA9IHN0cmR1cF9vYmplY3Rf c2l6ZSAoY2FsbCwgb2JqZWN0X3NpemVfdHlwZSwgaXNfc3RybmR1cCk7DQor ICBlbHNlIGlmIChpc19hY2Nlc3Nfd2l0aF9zaXplKQ0KKyAgICBieXRlcyA9 IGFjY2Vzc193aXRoX3NpemVfb2JqZWN0X3NpemUgKGNhbGwsIG9iamVjdF9z aXplX3R5cGUpOw0KICAgZWxzZQ0KICAgICBieXRlcyA9IGFsbG9jX29iamVj dF9zaXplIChjYWxsLCBvYmplY3Rfc2l6ZV90eXBlKTsNCg0K --_000_C46C107F613C4E63AC0D0DFC19377A1Eoraclecom_--