From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smarthost1.atos.net (smtppost.atos.net [193.56.114.176]) by sourceware.org (Postfix) with ESMTPS id 991EF386F41E; Tue, 12 Jan 2021 15:19:22 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 991EF386F41E IronPort-SDR: hq1xPt3B86MTgW3N/XVDOZfhJBOnkfdtrFOLqCgnaSaUfTsuCE1UBvkWkA7v1g9f8d3FxCp3fk eQa9dzCQH7WcLxJkJu3DPI/32/0QKn0ThaPLFQl/L6yzUjfFUrKgvN/8ecJQilmYdvzDtBoDyk Pbu1qUgeefATfIrFUpM37LB4RYsvw7u37zD4nmXCTnbtu8jc25G0LLIZWxVTY1Ak1jl/gnsafn OZUoSDErwFp9GYobAzX/yPUKzSfkQdazu2khsoi6qBVGL2Xj9jLC4GX/1kwGg0xPNYBqnLw/OO Y5+hWwULLw6OfVxocnYsf8LT X-IronPort-AV: E=Sophos;i="5.79,341,1602540000"; d="txt'223?scan'223,208,223";a="197779852" X-MGA-submission: =?us-ascii?q?MDEi5+8hYdNTSdc0+KXYMvDxTm7SAHbWaQKAkE?= =?us-ascii?q?lr6jGpU90YIEsiU17JO1V+GGBy8WhLwwU01D40DNTCl3TTLmK/n5tOim?= =?us-ascii?q?8rSXnQXrEXgVW3NGRb7g+I35TKdLtnLJTjsYWsndIAi/kbvHrE1GbuqW?= =?us-ascii?q?RB?= Received: from unknown (HELO GITEXCPRDMB11.ww931.my-it-solutions.net) ([10.89.28.141]) by smarthost1.atos.net with ESMTP/TLS/AES256-GCM-SHA384; 12 Jan 2021 16:14:46 +0100 Received: from GITEXCPRDMB14.ww931.my-it-solutions.net (10.89.28.144) by GITEXCPRDMB11.ww931.my-it-solutions.net (10.89.28.141) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2044.4; Tue, 12 Jan 2021 16:14:45 +0100 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (172.16.214.169) by GITEXCPRDMB14.ww931.my-it-solutions.net (10.89.28.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2044.4 via Frontend Transport; Tue, 12 Jan 2021 16:14:45 +0100 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=I+XoZPBsQDEjb92XZIcOi2/JYWo820CXve4fNu0wfNNuGLaBt6Yb8Rj0ksqCRq1sbfpFcrcpKxxV6ycXM0QT87jpkqiprZ0GJ+6c+ssQD66E+Z53lEi4AeK3gB+EKGSmt1iobe0uBa6EP2ZQwP/FPMOlqLISQgypUGqWjIIqcVlk75ettLvv97nIkU2iMF8HbDvl5aD4v+G5E1DVTSqBsl81SwM938dm8pybWHkH/2n0G3pRVvOlzyHkhZviNm68VFcIxLZjfNAL2nljPIhwB7qEByBFdml5I8qsVEkGQwAQxObf298zYNUO/5tvyGGrcv+sRWahrkeONLdyUiJTKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ViCqjXjK1aNdONomiWNDZPDISELCetVPlzRkn2VFsJ0=; b=UJzz2f/SkDjzDesMMmjUcqlSchJgcXd937KhNJNf77Mmv/5le1THh4A4ERaV1B0FgQfjit3bEuJlh9ZlIsyRmbEbjI0eb5zUoRT4/I8VmjkQ8cXaEOPZKBbSO4OYKards2YOWV2cC5RwxrLhaXIJhVKiWj03jPWsRbBtKaHYL5cxFvRd8NR35RSTS3fCnpHBBMzq3zfZdis1DBhnMyzuj4AKAb5QAlfZ2QbnIUbTGtp2cHdN2i1jK+OhC5YuJgcHpZ9MYSHAho+Mnn56t5a9MR35oN1ebeeD5gyolgdd+RBWtCZvZMeNCnCMUTuBZSdF9ftmidLMwBK7uVMxLFP/LQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=atos.net; dmarc=pass action=none header.from=atos.net; dkim=pass header.d=atos.net; arc=none Received: from PA4PR02MB6686.eurprd02.prod.outlook.com (2603:10a6:102:ff::14) by PA4PR02MB6704.eurprd02.prod.outlook.com (2603:10a6:102:fe::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6; Tue, 12 Jan 2021 15:14:45 +0000 Received: from PA4PR02MB6686.eurprd02.prod.outlook.com ([fe80::e06c:aa84:a21d:6932]) by PA4PR02MB6686.eurprd02.prod.outlook.com ([fe80::e06c:aa84:a21d:6932%7]) with mapi id 15.20.3742.012; Tue, 12 Jan 2021 15:14:45 +0000 From: "CHIGOT, CLEMENT" To: David Edelsohn , Jonathan Wakely , Rainer Orth CC: David Edelsohn via Gcc-patches , "libstdc++@gcc.gnu.org" Subject: Re: [PATCH] libstdc++: implement locale support for AIX Thread-Topic: [PATCH] libstdc++: implement locale support for AIX Thread-Index: AQHW5/cse5cUzOlFpUGzG3vP4ZkwbKoiheqAgAAI90CAAAGAAIAAAJC4gABu9YCAARiZbw== Date: Tue, 12 Jan 2021 15:14:45 +0000 Message-ID: References: <20210111154058.GB21410@redhat.com> , In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: msip_labels: MSIP_Label_e463cba9-5f6c-478d-9329-7b2295e4e8ed_Enabled=True; MSIP_Label_e463cba9-5f6c-478d-9329-7b2295e4e8ed_SiteId=33440fc6-b7c7-412c-bb73-0e70b0198d5a; MSIP_Label_e463cba9-5f6c-478d-9329-7b2295e4e8ed_SetDate=2021-01-12T15:18:15.736Z; MSIP_Label_e463cba9-5f6c-478d-9329-7b2295e4e8ed_Name=Atos For Internal Use - All Employees; MSIP_Label_e463cba9-5f6c-478d-9329-7b2295e4e8ed_ContentBits=0; MSIP_Label_e463cba9-5f6c-478d-9329-7b2295e4e8ed_Method=Standard; x-originating-ip: [193.56.241.24] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 6b4ffcc9-862d-4014-bb62-08d8b70ccb45 x-ms-traffictypediagnostic: PA4PR02MB6704: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:3513; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: IOv6mT4M+CVbfWdZKy793kxaDv8mbhTjDgGfepDTxcpD/SnGiv7SmGBHD0uDrGxnkFpAsZimDQzhYcOqv3YTYZ/FDidmqXQivEunhkbUQ6xtGPTuD063/SRmfXkAW4Q11aH2h8Uu5hBUg9MzQAAXlNMowVArYf9/3qRionSabvUqeAGT+cI21CkAdGeday1F15JqZImwSs67EGrr+hOi5y+biGh5Z2nnt8mmf9gpp6NK4HYfuYX3pG/RFfx1kXPMAtdA3myCzdg0TFGn7K9xPLHof2JDLWue4sX6sg73JKIEhSRBrRH5WwYIxRH1X2BatNzd7ifE74FxrZzqLqy889Cj+bZU1bUVAhD2OXH+CISgkFE0KmUYpA+oKAgvcQ/VkLFwBmO2oFKgllAj4ur2zQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PA4PR02MB6686.eurprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(136003)(396003)(39860400002)(366004)(346002)(33656002)(9686003)(66946007)(66616009)(76116006)(66446008)(8676002)(64756008)(66574015)(66556008)(54906003)(8936002)(83380400001)(66476007)(478600001)(110136005)(7696005)(52536014)(4744005)(55016002)(186003)(26005)(99936003)(71200400001)(6506007)(2906002)(316002)(5660300002)(4326008)(86362001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?iso-8859-1?Q?2mBPJg3sz8u80DviLPt3ELTHZ2G8uIilHKdqadF845qsgBEmeJQGwQe+Vr?= =?iso-8859-1?Q?/lrCRNNsu+M92COCWOGg6n3oI1kIepSk8mElzepOGPFpw2IJ5kD+kvTiLX?= =?iso-8859-1?Q?lwS23wFZSTJ8OXtJAQggMlM1AJzHG0SgLn4axLq4twUKZxpuLCgTJfbYD1?= =?iso-8859-1?Q?gYLQ+GW7Je8UV1Hu4f0IUW1X9nbs7mF38dh6YoQr9vskKUEKoEKYamN5OU?= =?iso-8859-1?Q?IUW9qg9M7i8KiN6UXmoXsawh5Lm6eR1BWmBvKd92kYyXaMl5NgFV8ggTn5?= =?iso-8859-1?Q?2b8f1cQDELBy+HEk+5iMjHbCZqlQH9v1mMmVucTp24WRQbyyp23ZTqrwnK?= =?iso-8859-1?Q?XVIYKa1bKwnBSTVRJ5p3EdhzBUbqJX1mOdDGtKsNTmcHPv3dryIuNChxZ8?= =?iso-8859-1?Q?2xPrM0x+tBnXL8UMzo38JB9G9Fdt6xjCeVGz4aFYLaCSCiAwdbQXQZztXz?= =?iso-8859-1?Q?t4WpxXezS4UgdmujFqmSs43atXiw72Ro/NbV4kNAPV87AnE2XpLdJs3uV2?= =?iso-8859-1?Q?KhMBIVt2CKATD5q8LkBaEZIs8RBhAHt7OIwIFc7tWti+YqanRm0IVDpnUu?= =?iso-8859-1?Q?yGQv5xlKsAlP56FiOgXgQygSw8Y28jGdMNMGppGGqZpDaimI6Kpiyq5NvT?= =?iso-8859-1?Q?dtjvXAjFNgmCS8usldcmy0ZjKBJztl66qW2GILszEifAWZ9Q7zcbJeK1Re?= =?iso-8859-1?Q?mPonWmUkYzXRhPX8BN8JBCBCE8+UthhCJh1/OhmmjQ+g3qWO/T4Y7xkF2e?= =?iso-8859-1?Q?gaI+F5NDRKOVuJ7quSid/8MtuKDaFgB0rBuBwD3ZVUYFPWIAdoZqblVmgL?= =?iso-8859-1?Q?TzI06YxRUWwxe15TCjTqOMXpPhL5Iygxndt8Pt+iQ4xBmE4E6xtu6AtvyP?= =?iso-8859-1?Q?fwHNOUJ6hCswQK/0gY0pW2r+B70KSJFmm3xDxg9SlSns1VS+LHKZF6/rtH?= =?iso-8859-1?Q?f2Rol3U2Q6hKUIsaAHTzgPCvgRGd/2CcSufb1v9aE27kyaJS4XzUsABioi?= =?iso-8859-1?Q?sVEXFxQJ9zerxP+Ds=3D?= x-ms-exchange-transport-forked: True Content-Type: multipart/mixed; boundary="_002_PA4PR02MB66864697394A9F5618855157EAAA0PA4PR02MB6686eurp_" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PA4PR02MB6686.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6b4ffcc9-862d-4014-bb62-08d8b70ccb45 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Jan 2021 15:14:45.0123 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 33440fc6-b7c7-412c-bb73-0e70b0198d5a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: mykqdXGgCEc7DE/gdBypdgit9RDxVYZZGtHXPVWSuW7tJ9SLqT05IpJK9mA5nWmBtHCP37wxbyBtyEEk2XVTCQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR02MB6704 X-OriginatorOrg: atos.net X-Spam-Status: No, score=-9.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libstdc++@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libstdc++ mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jan 2021 15:19:26 -0000 --_002_PA4PR02MB66864697394A9F5618855157EAAA0PA4PR02MB6686eurp_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi everyone,=A0=0A= =0A= I've reworked the patch to merged dragonfly and AIX=0A= models into the new one named "ieee_1003.1-2008".=A0=0A= It seems okay on the AIX part but if someone can test=0A= on Dragonfly and Freebsd I would be glad.=A0Configure =0A= needs to be regenerated, first.=0A= =0A= For now, I've used #ifdef inside the code for the few=0A= differences. There are less than I thought. So, it seems =0A= okay to me. =0A= However, I haven't changed all the (locale_t) casts =0A= made on Dragonfly when passing a locale object to=0A= a syscall. On AIX, this is transparent, __c_locale being =0A= locale_t. =0A= =0A= I haven't updated tests failing on AIX yet. =0A= And I don't know for the Changelog/Patch, how renamed =0A= files must be handled ? I've retrieved my git commit with =0A= "git format-patch --no-renames" and thus the Changelog =0A= is made of "Removed" and "New File". Is it okay or is there =0A= anything special to add ? I didn't find the answer quickly. =0A= =0A= Thanks, =0A= Cl=E9ment= --_002_PA4PR02MB66864697394A9F5618855157EAAA0PA4PR02MB6686eurp_ Content-Type: text/plain; name="0001-libstdc-implement-locale-support-for-POSIX-2008.txt" Content-Description: 0001-libstdc-implement-locale-support-for-POSIX-2008.txt Content-Disposition: attachment; filename="0001-libstdc-implement-locale-support-for-POSIX-2008.txt"; size=23598; creation-date="Tue, 12 Jan 2021 15:06:38 GMT"; modification-date="Tue, 12 Jan 2021 15:06:38 GMT" Content-Transfer-Encoding: base64 RnJvbSBkMzZhMDRjN2Q0ZWIzOTA4MTdkNzExZGM1OWFkMGUwNzU5YmNjZGNlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/Q2w9QzM9QTltZW50PTIwQ2hpZ290Pz0gPGNs ZW1lbnQuY2hpZ290QGF0b3MubmV0PgpEYXRlOiBUdWUsIDI5IERlYyAyMDIwIDExOjA4OjMzICsw MTAwClN1YmplY3Q6IFtQQVRDSF0gbGlic3RkYysrOiBpbXBsZW1lbnQgbG9jYWxlIHN1cHBvcnQg Zm9yIFBPU0lYIDIwMDgKTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWlu OyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKClRoZSBpbXBs ZW1lbnRhdGlvbiBpcyBiYXNlZCBvbiBkcmFnb25mbHkgb25lLgpJdCBhbHNvIGFkZHMgc3VwcG9y dCBmb3IgQUlYIHdpdGggYSBmZXcgdHdlYWtzLgpBcyBvZiBub3csIGEgZmV3IGxvY2FsZSBmdW5j dGlvbnMgYXJlIG1pc3Npbmcgb24gQUlYLgpGb3Igc3RyZnRpbWVfbCwgbG9jYWxlY29udl9sLCBt YnN0b3djc19sIGFuZCB3Y3NmdGltZV9sLAp1c2Vsb2NhbGUgbXVzdCBiZSBzZXQgcHJpb3IgdG8g dXNlIHRoZSB2ZXJzaW9uIHdpdGhvdXQgX2wuCkZvciBzdHJ0b2ZfbCwgc3RydG9kX2wsIHN0cnRv bGRfbCwgYSB3cmFwcGVyIHNpbXBseSBjYWxscwp0aGUgZGVmYXVsdCB2ZXJzaW9uLgoKbGlic3Rk YysrLXYzL0NoYW5nZUxvZzoKMjAyMS0wMS0xMiAgQ2zDqW1lbnQgQ2hpZ290ICA8Y2xlbWVudC5j aGlnb3RAYXRvcy5uZXQ+CgoJKiBhY2luY2x1ZGUubTQ6IEFkZCBpZWVlXzEwMDMuMS0yMDA4IGxv Y2FsZSBtb2RlbC4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlLgoJKiBjb25maWcvb3MvYWl4L2N0 eXBlX2NvbmZpZ3VyZV9jaGFyLmNjOiBFbmFibGUgbG9jYWxlIHN1cHBvcnQuCiAgICAgICAgKiB0 ZXN0c3VpdGUvbGliL2xpYnN0ZGMrKy5leHAgKGNoZWNrX3YzX3RhcmdldF9uYW1lZGxvY2FsZSk6 CiAgICAgICAgSGFuZGxlIEFJWCBsb2NhbGUgbmFtZXMuCgkqIHRlc3RzdWl0ZS91dGlsL3Rlc3Rz dWl0ZV9ob29rcy5oOiBMaWtld2lzZS4KCSogY29uZmlnL2xvY2FsZS9kcmFnb25mbHkvY19sb2Nh bGUuY2M6IFJlbW92ZWQuCgkqIGNvbmZpZy9sb2NhbGUvZHJhZ29uZmx5L2NfbG9jYWxlLmg6IFJl bW92ZWQuCgkqIGNvbmZpZy9sb2NhbGUvZHJhZ29uZmx5L2NvZGVjdnRfbWVtYmVycy5jYzogUmVt b3ZlZC4KCSogY29uZmlnL2xvY2FsZS9kcmFnb25mbHkvY29sbGF0ZV9tZW1iZXJzLmNjOiBSZW1v dmVkLgoJKiBjb25maWcvbG9jYWxlL2RyYWdvbmZseS9jdHlwZV9tZW1iZXJzLmNjOiBSZW1vdmVk LgoJKiBjb25maWcvbG9jYWxlL2RyYWdvbmZseS9tb25ldGFyeV9tZW1iZXJzLmNjOiBSZW1vdmVk LgoJKiBjb25maWcvbG9jYWxlL2RyYWdvbmZseS9udW1lcmljX21lbWJlcnMuY2M6IFJlbW92ZWQu CgkqIGNvbmZpZy9sb2NhbGUvZHJhZ29uZmx5L3RpbWVfbWVtYmVycy5jYzogUmVtb3ZlZC4KCSog Y29uZmlnL2xvY2FsZS9kcmFnb25mbHkvdGltZV9tZW1iZXJzLmg6IFJlbW92ZWQuCgkqIGNvbmZp Zy9sb2NhbGUvaWVlZV8xMDAzLjEtMjAwOC9jX2xvY2FsZS5jYzogTmV3IGZpbGUuCgkqIGNvbmZp Zy9sb2NhbGUvaWVlZV8xMDAzLjEtMjAwOC9jX2xvY2FsZS5oOiBOZXcgZmlsZS4KCSogY29uZmln L2xvY2FsZS9pZWVlXzEwMDMuMS0yMDA4L2NvZGVjdnRfbWVtYmVycy5jYzogTmV3IGZpbGUuCgkq IGNvbmZpZy9sb2NhbGUvaWVlZV8xMDAzLjEtMjAwOC9jb2xsYXRlX21lbWJlcnMuY2M6IE5ldyBm aWxlLgoJKiBjb25maWcvbG9jYWxlL2llZWVfMTAwMy4xLTIwMDgvY3R5cGVfbWVtYmVycy5jYzog TmV3IGZpbGUuCgkqIGNvbmZpZy9sb2NhbGUvaWVlZV8xMDAzLjEtMjAwOC9tb25ldGFyeV9tZW1i ZXJzLmNjOiBOZXcgZmlsZS4KCSogY29uZmlnL2xvY2FsZS9pZWVlXzEwMDMuMS0yMDA4L251bWVy aWNfbWVtYmVycy5jYzogTmV3IGZpbGUuCgkqIGNvbmZpZy9sb2NhbGUvaWVlZV8xMDAzLjEtMjAw OC90aW1lX21lbWJlcnMuY2M6IE5ldyBmaWxlLgoJKiBjb25maWcvbG9jYWxlL2llZWVfMTAwMy4x LTIwMDgvdGltZV9tZW1iZXJzLmg6IE5ldyBmaWxlLgotLS0KIGxpYnN0ZGMrKy12My9hY2luY2x1 ZGUubTQgICAgICAgICAgICAgICAgICAgICB8IDQxICsrKysrKy0tLS0tLS0KIC4uLi9jX2xvY2Fs ZS5jYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAzICsKIC4uLi9jX2xvY2FsZS5o ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDMxICsrKysrKysrKysKIC4uLi9jb2Rl Y3Z0X21lbWJlcnMuY2MgICAgICAgICAgICAgICAgICAgICAgICB8ICAwCiAuLi4vY29sbGF0ZV9t ZW1iZXJzLmNjICAgICAgICAgICAgICAgICAgICAgICAgfCAgMAogLi4uL2N0eXBlX21lbWJlcnMu Y2MgICAgICAgICAgICAgICAgICAgICAgICAgIHwgNTggKysrKysrKysrKysrKysrKysrKwogLi4u L21vbmV0YXJ5X21lbWJlcnMuY2MgICAgICAgICAgICAgICAgICAgICAgIHwgMzkgKysrKysrKysr KysrLQogLi4uL251bWVyaWNfbWVtYmVycy5jYyAgICAgICAgICAgICAgICAgICAgICAgIHwgMjcg KysrKysrKysrCiAuLi4vdGltZV9tZW1iZXJzLmNjICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAzMiArKysrKysrKystCiAuLi4vdGltZV9tZW1iZXJzLmggICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgMAogLi4uL2NvbmZpZy9vcy9haXgvY3R5cGVfY29uZmlndXJlX2NoYXIuY2MgICAg IHwgNDQgKysrKysrKysrKystLS0KIGxpYnN0ZGMrKy12My90ZXN0c3VpdGUvbGliL2xpYnN0ZGMr Ky5leHAgICAgICB8ICA1ICsrCiBsaWJzdGRjKystdjMvdGVzdHN1aXRlL3V0aWwvdGVzdHN1aXRl X2hvb2tzLmggfCAgMyArCiAxMyBmaWxlcyBjaGFuZ2VkLCAyNTIgaW5zZXJ0aW9ucygrKSwgMzEg ZGVsZXRpb25zKC0pCiByZW5hbWUgbGlic3RkYysrLXYzL2NvbmZpZy9sb2NhbGUve2RyYWdvbmZs eSA9PiBpZWVlXzEwMDMuMS0yMDA4fS9jX2xvY2FsZS5jYyAoOTklKQogcmVuYW1lIGxpYnN0ZGMr Ky12My9jb25maWcvbG9jYWxlL3tkcmFnb25mbHkgPT4gaWVlZV8xMDAzLjEtMjAwOH0vY19sb2Nh bGUuaCAoODAlKQogcmVuYW1lIGxpYnN0ZGMrKy12My9jb25maWcvbG9jYWxlL3tkcmFnb25mbHkg PT4gaWVlZV8xMDAzLjEtMjAwOH0vY29kZWN2dF9tZW1iZXJzLmNjICgxMDAlKQogcmVuYW1lIGxp YnN0ZGMrKy12My9jb25maWcvbG9jYWxlL3tkcmFnb25mbHkgPT4gaWVlZV8xMDAzLjEtMjAwOH0v Y29sbGF0ZV9tZW1iZXJzLmNjICgxMDAlKQogcmVuYW1lIGxpYnN0ZGMrKy12My9jb25maWcvbG9j YWxlL3tkcmFnb25mbHkgPT4gaWVlZV8xMDAzLjEtMjAwOH0vY3R5cGVfbWVtYmVycy5jYyAoODIl KQogcmVuYW1lIGxpYnN0ZGMrKy12My9jb25maWcvbG9jYWxlL3tkcmFnb25mbHkgPT4gaWVlZV8x MDAzLjEtMjAwOH0vbW9uZXRhcnlfbWVtYmVycy5jYyAoOTclKQogcmVuYW1lIGxpYnN0ZGMrKy12 My9jb25maWcvbG9jYWxlL3tkcmFnb25mbHkgPT4gaWVlZV8xMDAzLjEtMjAwOH0vbnVtZXJpY19t ZW1iZXJzLmNjICg5MyUpCiByZW5hbWUgbGlic3RkYysrLXYzL2NvbmZpZy9sb2NhbGUve2RyYWdv bmZseSA9PiBpZWVlXzEwMDMuMS0yMDA4fS90aW1lX21lbWJlcnMuY2MgKDk0JSkKIHJlbmFtZSBs aWJzdGRjKystdjMvY29uZmlnL2xvY2FsZS97ZHJhZ29uZmx5ID0+IGllZWVfMTAwMy4xLTIwMDh9 L3RpbWVfbWVtYmVycy5oICgxMDAlKQoKZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12My9hY2luY2x1 ZGUubTQgYi9saWJzdGRjKystdjMvYWNpbmNsdWRlLm00CmluZGV4IGU0MTc1ZWEzZTY0Li42NGE5 MWI3MjM1OSAxMDA2NDQKLS0tIGEvbGlic3RkYysrLXYzL2FjaW5jbHVkZS5tNAorKysgYi9saWJz dGRjKystdjMvYWNpbmNsdWRlLm00CkBAIC0yNDIxLDcgKzI0MjEsNyBAQCBkbmwKIEFDX0RFRlVO KFtHTElCQ1hYX0VOQUJMRV9DTE9DQUxFXSwgWwogICBHTElCQ1hYX0VOQUJMRShjbG9jYWxlLGF1 dG8sW1tbPU1PREVMXV1dLAogICAgIFt1c2UgTU9ERUwgZm9yIHRhcmdldCBsb2NhbGUgcGFja2Fn ZV0sCi0gICAgW3Blcm1pdCBnZW5lcmljfGdudXxpZWVlXzEwMDMuMS0yMDAxfG5ld2xpYnx5ZXN8 bm98YXV0b10pCisgICAgW3Blcm1pdCBnZW5lcmljfGdudXxpZWVlXzEwMDMuMS0yMDAxfGllZWVf MTAwMy4xLTIwMDh8bmV3bGlifHllc3xub3xhdXRvXSkKIAogICAjIERlYWwgd2l0aCBnZXR0ZXh0 IGlzc3Vlcy4gIERlZmF1bHQgdG8gbm90IHVzaW5nIGl0ICg9bm8pIHVudGlsIHdlIGRldGVjdAog ICAjIHN1cHBvcnQgZm9yIGl0IGxhdGVyLiAgTGV0IHRoZSB1c2VyIHR1cm4gaXQgb2ZmIHZpYSAt LWUvZCwgYnV0IGxldCB0aGF0CkBAIC0yNDQ4LDggKzI0NDgsOCBAQCBBQ19ERUZVTihbR0xJQkNY WF9FTkFCTEVfQ0xPQ0FMRV0sIFsKICAgICAgIGRhcndpbiopCiAJZW5hYmxlX2Nsb2NhbGVfZmxh Zz1kYXJ3aW4KIAk7OwotICAgICAgZHJhZ29uZmx5KiB8IGZyZWVic2QqKQotCWVuYWJsZV9jbG9j YWxlX2ZsYWc9ZHJhZ29uZmx5CisgICAgICBhaXgqIHwgZHJhZ29uZmx5KiB8IGZyZWVic2QqKQor CWVuYWJsZV9jbG9jYWxlX2ZsYWc9aWVlZV8xMDAzLjEtMjAwOAogCTs7CiAgICAgICBvcGVuYnNk KikKIAllbmFibGVfY2xvY2FsZV9mbGFnPW5ld2xpYgpAQCAtMjU0MywyMyArMjU0Myw2IEBAIEFD X0RFRlVOKFtHTElCQ1hYX0VOQUJMRV9DTE9DQUxFXSwgWwogICAgICAgQ0xPQ0FMRV9JTlRFUk5B TF9IPWNvbmZpZy9sb2NhbGUvZ2VuZXJpYy9jKytsb2NhbGVfaW50ZXJuYWwuaAogICAgICAgOzsK IAotICAgIGRyYWdvbmZseSkKLSAgICAgIEFDX01TR19SRVNVTFQoZHJhZ29uZmx5IG9yIGZyZWVi c2QpCi0KLSAgICAgIENMT0NBTEVfSD1jb25maWcvbG9jYWxlL2RyYWdvbmZseS9jX2xvY2FsZS5o Ci0gICAgICBDTE9DQUxFX0NDPWNvbmZpZy9sb2NhbGUvZHJhZ29uZmx5L2NfbG9jYWxlLmNjCi0g ICAgICBDQ09ERUNWVF9DQz1jb25maWcvbG9jYWxlL2RyYWdvbmZseS9jb2RlY3Z0X21lbWJlcnMu Y2MKLSAgICAgIENDT0xMQVRFX0NDPWNvbmZpZy9sb2NhbGUvZHJhZ29uZmx5L2NvbGxhdGVfbWVt YmVycy5jYwotICAgICAgQ0NUWVBFX0NDPWNvbmZpZy9sb2NhbGUvZHJhZ29uZmx5L2N0eXBlX21l bWJlcnMuY2MKLSAgICAgIENNRVNTQUdFU19IPWNvbmZpZy9sb2NhbGUvZ2VuZXJpYy9tZXNzYWdl c19tZW1iZXJzLmgKLSAgICAgIENNRVNTQUdFU19DQz1jb25maWcvbG9jYWxlL2dlbmVyaWMvbWVz c2FnZXNfbWVtYmVycy5jYwotICAgICAgQ01PTkVZX0NDPWNvbmZpZy9sb2NhbGUvZHJhZ29uZmx5 L21vbmV0YXJ5X21lbWJlcnMuY2MKLSAgICAgIENOVU1FUklDX0NDPWNvbmZpZy9sb2NhbGUvZHJh Z29uZmx5L251bWVyaWNfbWVtYmVycy5jYwotICAgICAgQ1RJTUVfSD1jb25maWcvbG9jYWxlL2Ry YWdvbmZseS90aW1lX21lbWJlcnMuaAotICAgICAgQ1RJTUVfQ0M9Y29uZmlnL2xvY2FsZS9kcmFn b25mbHkvdGltZV9tZW1iZXJzLmNjCi0gICAgICBDTE9DQUxFX0lOVEVSTkFMX0g9Y29uZmlnL2xv Y2FsZS9nZW5lcmljL2MrK2xvY2FsZV9pbnRlcm5hbC5oCi0gICAgICA7OwotCiAgICAgZ251KQog ICAgICAgQUNfTVNHX1JFU1VMVChnbnUpCiAKQEAgLTI2MTAsNiArMjU5MywyNCBAQCBBQ19ERUZV TihbR0xJQkNYWF9FTkFCTEVfQ0xPQ0FMRV0sIFsKICAgICAgIENUSU1FX0NDPWNvbmZpZy9sb2Nh bGUvZ2VuZXJpYy90aW1lX21lbWJlcnMuY2MKICAgICAgIENMT0NBTEVfSU5URVJOQUxfSD1jb25m aWcvbG9jYWxlL2dlbmVyaWMvYysrbG9jYWxlX2ludGVybmFsLmgKICAgICAgIDs7CisKKyAgICBp ZWVlXzEwMDMuMS0yMDA4KQorICAgICAgQUNfTVNHX1JFU1VMVChpZWVlXzEwMDMuMS0yMDA4KQor CisgICAgICBDTE9DQUxFX0g9Y29uZmlnL2xvY2FsZS9pZWVlXzEwMDMuMS0yMDA4L2NfbG9jYWxl LmgKKyAgICAgIENMT0NBTEVfQ0M9Y29uZmlnL2xvY2FsZS9pZWVlXzEwMDMuMS0yMDA4L2NfbG9j YWxlLmNjCisgICAgICBDQ09ERUNWVF9DQz1jb25maWcvbG9jYWxlL2llZWVfMTAwMy4xLTIwMDgv Y29kZWN2dF9tZW1iZXJzLmNjCisgICAgICBDQ09MTEFURV9DQz1jb25maWcvbG9jYWxlL2llZWVf MTAwMy4xLTIwMDgvY29sbGF0ZV9tZW1iZXJzLmNjCisgICAgICBDQ1RZUEVfQ0M9Y29uZmlnL2xv Y2FsZS9pZWVlXzEwMDMuMS0yMDA4L2N0eXBlX21lbWJlcnMuY2MKKyAgICAgIENNRVNTQUdFU19I PWNvbmZpZy9sb2NhbGUvZ2VuZXJpYy9tZXNzYWdlc19tZW1iZXJzLmgKKyAgICAgIENNRVNTQUdF U19DQz1jb25maWcvbG9jYWxlL2dlbmVyaWMvbWVzc2FnZXNfbWVtYmVycy5jYworICAgICAgQ01P TkVZX0NDPWNvbmZpZy9sb2NhbGUvaWVlZV8xMDAzLjEtMjAwOC9tb25ldGFyeV9tZW1iZXJzLmNj CisgICAgICBDTlVNRVJJQ19DQz1jb25maWcvbG9jYWxlL2llZWVfMTAwMy4xLTIwMDgvbnVtZXJp Y19tZW1iZXJzLmNjCisgICAgICBDVElNRV9IPWNvbmZpZy9sb2NhbGUvaWVlZV8xMDAzLjEtMjAw OC90aW1lX21lbWJlcnMuaAorICAgICAgQ1RJTUVfQ0M9Y29uZmlnL2xvY2FsZS9pZWVlXzEwMDMu MS0yMDA4L3RpbWVfbWVtYmVycy5jYworICAgICAgQ0xPQ0FMRV9JTlRFUk5BTF9IPWNvbmZpZy9s b2NhbGUvZ2VuZXJpYy9jKytsb2NhbGVfaW50ZXJuYWwuaAorICAgICAgOzsKKwogICAgIG5ld2xp YikKICAgICAgIEFDX01TR19SRVNVTFQobmV3bGliKQogCmRpZmYgLS1naXQgYS9saWJzdGRjKyst djMvY29uZmlnL2xvY2FsZS9kcmFnb25mbHkvY19sb2NhbGUuY2MgYi9saWJzdGRjKystdjMvY29u ZmlnL2xvY2FsZS9pZWVlXzEwMDMuMS0yMDA4L2NfbG9jYWxlLmNjCnNpbWlsYXJpdHkgaW5kZXgg OTklCnJlbmFtZSBmcm9tIGxpYnN0ZGMrKy12My9jb25maWcvbG9jYWxlL2RyYWdvbmZseS9jX2xv Y2FsZS5jYwpyZW5hbWUgdG8gbGlic3RkYysrLXYzL2NvbmZpZy9sb2NhbGUvaWVlZV8xMDAzLjEt MjAwOC9jX2xvY2FsZS5jYwppbmRleCAwMmRmNDYwNWJiNS4uOTg4ZjM0YWI2ZWQgMTAwNjQ0Ci0t LSBhL2xpYnN0ZGMrKy12My9jb25maWcvbG9jYWxlL2RyYWdvbmZseS9jX2xvY2FsZS5jYworKysg Yi9saWJzdGRjKystdjMvY29uZmlnL2xvY2FsZS9pZWVlXzEwMDMuMS0yMDA4L2NfbG9jYWxlLmNj CkBAIC0zMyw4ICszMywxMSBAQAogI2luY2x1ZGUgPGxvY2FsZT4KICNpbmNsdWRlIDxzdGRleGNl cHQ+CiAjaW5jbHVkZSA8bGltaXRzPgorCisjaWZkZWYgX19EcmFnb25GbHlfXwogI2luY2x1ZGUg PGxhbmdpbmZvLmg+CiAjaW5jbHVkZSA8eGxvY2FsZS5oPgorI2VuZGlmCiAKIG5hbWVzcGFjZSBz dGQgX0dMSUJDWFhfVklTSUJJTElUWShkZWZhdWx0KQogewpkaWZmIC0tZ2l0IGEvbGlic3RkYysr LXYzL2NvbmZpZy9sb2NhbGUvZHJhZ29uZmx5L2NfbG9jYWxlLmggYi9saWJzdGRjKystdjMvY29u ZmlnL2xvY2FsZS9pZWVlXzEwMDMuMS0yMDA4L2NfbG9jYWxlLmgKc2ltaWxhcml0eSBpbmRleCA4 MCUKcmVuYW1lIGZyb20gbGlic3RkYysrLXYzL2NvbmZpZy9sb2NhbGUvZHJhZ29uZmx5L2NfbG9j YWxlLmgKcmVuYW1lIHRvIGxpYnN0ZGMrKy12My9jb25maWcvbG9jYWxlL2llZWVfMTAwMy4xLTIw MDgvY19sb2NhbGUuaAppbmRleCBjZjQyODFjZWJiZi4uZjc3ZjgxNWM2MWIgMTAwNjQ0Ci0tLSBh L2xpYnN0ZGMrKy12My9jb25maWcvbG9jYWxlL2RyYWdvbmZseS9jX2xvY2FsZS5oCisrKyBiL2xp YnN0ZGMrKy12My9jb25maWcvbG9jYWxlL2llZWVfMTAwMy4xLTIwMDgvY19sb2NhbGUuaApAQCAt NDAsNyArNDAsMzQgQEAKICNwcmFnbWEgR0NDIHN5c3RlbV9oZWFkZXIKIAogI2luY2x1ZGUgPGNs b2NhbGU+CisjaWZkZWYgX19EcmFnb25GbHlfXwogI2luY2x1ZGUgPHhsb2NhbGUuaD4KKyNlbmRp ZgorCisjaWZkZWYgX0FJWAorLy8gVGhlIGZvbGxvd2luZyBhcmUgbm90IFBPU0lYIHJvdXRpbmVz LiAgVGhlc2UgYXJlIHF1aWNrLWFuZC1kaXJ0eSBoYWNrcworLy8gdG8gbWFrZSB0aGluZ3MgcHJl dGVuZCB0byB3b3JrCitleHRlcm4gIkMiIGlubGluZQorZmxvYXQgc3RydG9mX2wgKGNvbnN0IGNo YXIgKl9fbnB0ciwgY2hhciAqKl9fZW5kcHRyLAorCQlsb2NhbGVfdCBsb2NhbGUpCit7CisgIHJl dHVybiBzdHJ0b2YoX19ucHRyLCBfX2VuZHB0cik7Cit9CisKK2V4dGVybiAiQyIgaW5saW5lCitk b3VibGUgc3RydG9kX2wgKGNvbnN0IGNoYXIgKl9fbnB0ciwgY2hhciAqKl9fZW5kcHRyLAorCQkg bG9jYWxlX3QgbG9jYWxlKQoreworICByZXR1cm4gc3RydG9kKF9fbnB0ciwgX19lbmRwdHIpOwor fQorCitleHRlcm4gIkMiIGlubGluZQorbG9uZyBkb3VibGUgc3RydG9sZF9sIChjb25zdCBjaGFy ICpfX25wdHIsIGNoYXIgKipfX2VuZHB0ciwKKwkJICAgICAgIGxvY2FsZV90IGxvY2FsZSkKK3sK KyAgcmV0dXJuIHN0cnRvbGQoX19ucHRyLCBfX2VuZHB0cik7Cit9CisjZW5kaWYKIAogI2RlZmlu ZSBfR0xJQkNYWF9OVU1fQ0FURUdPUklFUyAwCiAKQEAgLTQ4LDcgKzc1LDExIEBAIG5hbWVzcGFj ZSBzdGQgX0dMSUJDWFhfVklTSUJJTElUWShkZWZhdWx0KQogewogX0dMSUJDWFhfQkVHSU5fTkFN RVNQQUNFX1ZFUlNJT04KIAorI2lmZGVmIF9fRHJhZ29uRmx5X18KICAgdHlwZWRlZiBpbnQqCQkJ X19jX2xvY2FsZTsKKyNlbHNlCisgIHR5cGVkZWYgbG9jYWxlX3QJCQlfX2NfbG9jYWxlOworI2Vu ZGlmCiAKICAgLy8gQ29udmVydCBudW1lcmljIHZhbHVlIG9mIHR5cGUgZG91YmxlIGFuZCBsb25n IGRvdWJsZSB0byBzdHJpbmcgYW5kCiAgIC8vIHJldHVybiBsZW5ndGggb2Ygc3RyaW5nLiAgSWYg dnNucHJpbnRmIGlzIGF2YWlsYWJsZSB1c2UgaXQsIG90aGVyd2lzZQpkaWZmIC0tZ2l0IGEvbGli c3RkYysrLXYzL2NvbmZpZy9sb2NhbGUvZHJhZ29uZmx5L2NvZGVjdnRfbWVtYmVycy5jYyBiL2xp YnN0ZGMrKy12My9jb25maWcvbG9jYWxlL2llZWVfMTAwMy4xLTIwMDgvY29kZWN2dF9tZW1iZXJz LmNjCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBsaWJzdGRjKystdjMvY29uZmln L2xvY2FsZS9kcmFnb25mbHkvY29kZWN2dF9tZW1iZXJzLmNjCnJlbmFtZSB0byBsaWJzdGRjKyst djMvY29uZmlnL2xvY2FsZS9pZWVlXzEwMDMuMS0yMDA4L2NvZGVjdnRfbWVtYmVycy5jYwpkaWZm IC0tZ2l0IGEvbGlic3RkYysrLXYzL2NvbmZpZy9sb2NhbGUvZHJhZ29uZmx5L2NvbGxhdGVfbWVt YmVycy5jYyBiL2xpYnN0ZGMrKy12My9jb25maWcvbG9jYWxlL2llZWVfMTAwMy4xLTIwMDgvY29s bGF0ZV9tZW1iZXJzLmNjCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBsaWJzdGRj KystdjMvY29uZmlnL2xvY2FsZS9kcmFnb25mbHkvY29sbGF0ZV9tZW1iZXJzLmNjCnJlbmFtZSB0 byBsaWJzdGRjKystdjMvY29uZmlnL2xvY2FsZS9pZWVlXzEwMDMuMS0yMDA4L2NvbGxhdGVfbWVt YmVycy5jYwpkaWZmIC0tZ2l0IGEvbGlic3RkYysrLXYzL2NvbmZpZy9sb2NhbGUvZHJhZ29uZmx5 L2N0eXBlX21lbWJlcnMuY2MgYi9saWJzdGRjKystdjMvY29uZmlnL2xvY2FsZS9pZWVlXzEwMDMu MS0yMDA4L2N0eXBlX21lbWJlcnMuY2MKc2ltaWxhcml0eSBpbmRleCA4MiUKcmVuYW1lIGZyb20g bGlic3RkYysrLXYzL2NvbmZpZy9sb2NhbGUvZHJhZ29uZmx5L2N0eXBlX21lbWJlcnMuY2MKcmVu YW1lIHRvIGxpYnN0ZGMrKy12My9jb25maWcvbG9jYWxlL2llZWVfMTAwMy4xLTIwMDgvY3R5cGVf bWVtYmVycy5jYwppbmRleCA0MjBjYjUxZTA3YS4uYWQ5ZDNhNDcwOWIgMTAwNjQ0Ci0tLSBhL2xp YnN0ZGMrKy12My9jb25maWcvbG9jYWxlL2RyYWdvbmZseS9jdHlwZV9tZW1iZXJzLmNjCisrKyBi L2xpYnN0ZGMrKy12My9jb25maWcvbG9jYWxlL2llZWVfMTAwMy4xLTIwMDgvY3R5cGVfbWVtYmVy cy5jYwpAQCAtMzQsNyArMzQsMTEgQEAKICNpbmNsdWRlIDxjc3RkaW8+CiAKICNpZm5kZWYgX0lT Yml0CisjaWYgX19CWVRFX09SREVSX18gPT0gX19PUkRFUl9MSVRUTEVfRU5ESUFOX18KICNkZWZp bmUgX0lTYml0KGJpdCkgKChiaXQpIDwgOCA/ICgoMSA8PCAoYml0KSkgPDwgOCkgOiAoKDEgPDwg KGJpdCkpID4+IDgpKQorI2Vsc2UKKyNkZWZpbmUgX0lTYml0KGJpdCkgKDEgPDwgYml0KQorI2Vu ZGlmCiAjZW5kaWYKIAogbmFtZXNwYWNlIHN0ZCBfR0xJQkNYWF9WSVNJQklMSVRZKGRlZmF1bHQp CkBAIC0xMzUsNiArMTM5LDYwIEBAIF9HTElCQ1hYX0JFR0lOX05BTUVTUEFDRV9WRVJTSU9OCiAg ICAgcmV0dXJuIF9faGk7CiAgIH0KIAorI2lmbmRlZiBfX0RyYWdvbkZseV9fCisgIGJvb2wKKyAg Y3R5cGU8d2NoYXJfdD46OgorICBkb19pcyhtYXNrIF9fbSwgY2hhcl90eXBlIF9fYykgY29uc3QK KyAgeworICAgIGJvb2wgX19yZXQgPSBmYWxzZTsKKyAgICAvLyBIaWdoZXN0IGJpdG1hc2sgaW4g Y3R5cGVfYmFzZSA9PSAxMQorICAgIGNvbnN0IHNpemVfdCBfX2JpdG1hc2tzaXplID0gMTE7Cisg ICAgZm9yIChzaXplX3QgX19iaXRjdXIgPSAwOyBfX2JpdGN1ciA8PSBfX2JpdG1hc2tzaXplOyAr K19fYml0Y3VyKQorICAgICAgaWYgKF9fbSAmIF9NX2JpdFtfX2JpdGN1cl0KKwkgICYmIGlzd2N0 eXBlKF9fYywgX01fd21hc2tbX19iaXRjdXJdKSkKKwl7CisJICBfX3JldCA9IHRydWU7CisJICBi cmVhazsKKwl9CisgICAgcmV0dXJuIF9fcmV0OworICB9CisKKyAgY29uc3Qgd2NoYXJfdCoKKyAg Y3R5cGU8d2NoYXJfdD46OgorICBkb19pcyhjb25zdCB3Y2hhcl90KiBfX2xvLCBjb25zdCB3Y2hh cl90KiBfX2hpLCBtYXNrKiBfX3ZlYykgY29uc3QKKyAgeworICAgIGZvciAoO19fbG8gPCBfX2hp OyArK19fdmVjLCArK19fbG8pCisgICAgICB7CisJLy8gSGlnaGVzdCBiaXRtYXNrIGluIGN0eXBl X2Jhc2UgPT0gMTEKKwljb25zdCBzaXplX3QgX19iaXRtYXNrc2l6ZSA9IDExOworCW1hc2sgX19t ID0gMDsKKwlmb3IgKHNpemVfdCBfX2JpdGN1ciA9IDA7IF9fYml0Y3VyIDw9IF9fYml0bWFza3Np emU7ICsrX19iaXRjdXIpCisJICBpZiAoaXN3Y3R5cGUoKl9fbG8sIF9NX3dtYXNrW19fYml0Y3Vy XSkpCisJICAgIF9fbSB8PSBfTV9iaXRbX19iaXRjdXJdOworCSpfX3ZlYyA9IF9fbTsKKyAgICAg IH0KKyAgICByZXR1cm4gX19oaTsKKyAgfQorCisgIGNvbnN0IHdjaGFyX3QqCisgIGN0eXBlPHdj aGFyX3Q+OjoKKyAgZG9fc2Nhbl9pcyhtYXNrIF9fbSwgY29uc3Qgd2NoYXJfdCogX19sbywgY29u c3Qgd2NoYXJfdCogX19oaSkgY29uc3QKKyAgeworICAgIHdoaWxlIChfX2xvIDwgX19oaSAmJiAh dGhpcy0+ZG9faXMoX19tLCAqX19sbykpCisgICAgICArK19fbG87CisgICAgcmV0dXJuIF9fbG87 CisgIH0KKworICBjb25zdCB3Y2hhcl90KgorICBjdHlwZTx3Y2hhcl90Pjo6CisgIGRvX3NjYW5f bm90KG1hc2sgX19tLCBjb25zdCBjaGFyX3R5cGUqIF9fbG8sIGNvbnN0IGNoYXJfdHlwZSogX19o aSkgY29uc3QKKyAgeworICAgIHdoaWxlIChfX2xvIDwgX19oaSAmJiB0aGlzLT5kb19pcyhfX20s ICpfX2xvKSAhPSAwKQorICAgICAgKytfX2xvOworICAgIHJldHVybiBfX2xvOworICB9CisjZW5k aWYKKwogICB3Y2hhcl90CiAgIGN0eXBlPHdjaGFyX3Q+OjoKICAgZG9fd2lkZW4oY2hhciBfX2Mp IGNvbnN0CmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMvY29uZmlnL2xvY2FsZS9kcmFnb25mbHkv bW9uZXRhcnlfbWVtYmVycy5jYyBiL2xpYnN0ZGMrKy12My9jb25maWcvbG9jYWxlL2llZWVfMTAw My4xLTIwMDgvbW9uZXRhcnlfbWVtYmVycy5jYwpzaW1pbGFyaXR5IGluZGV4IDk3JQpyZW5hbWUg ZnJvbSBsaWJzdGRjKystdjMvY29uZmlnL2xvY2FsZS9kcmFnb25mbHkvbW9uZXRhcnlfbWVtYmVy cy5jYwpyZW5hbWUgdG8gbGlic3RkYysrLXYzL2NvbmZpZy9sb2NhbGUvaWVlZV8xMDAzLjEtMjAw OC9tb25ldGFyeV9tZW1iZXJzLmNjCmluZGV4IGUxZGVjYzYxY2JmLi43NjgwYTFhMzkxNiAxMDA2 NDQKLS0tIGEvbGlic3RkYysrLXYzL2NvbmZpZy9sb2NhbGUvZHJhZ29uZmx5L21vbmV0YXJ5X21l bWJlcnMuY2MKKysrIGIvbGlic3RkYysrLXYzL2NvbmZpZy9sb2NhbGUvaWVlZV8xMDAzLjEtMjAw OC9tb25ldGFyeV9tZW1iZXJzLmNjCkBAIC0zMSw3ICszMSwxMCBAQAogCiAjaW5jbHVkZSA8bG9j YWxlPgogI2luY2x1ZGUgPGNzdHJpbmc+CisKKyNpZmRlZiBfX0RyYWdvbkZseV9fCiAjaW5jbHVk ZSA8eGxvY2FsZS5oPgorI2VuZGlmCiAKIG5hbWVzcGFjZSBzdGQgX0dMSUJDWFhfVklTSUJJTElU WShkZWZhdWx0KQogewpAQCAtMjQxLDcgKzI0NCwxMiBAQCBfR0xJQkNYWF9CRUdJTl9OQU1FU1BB Q0VfVkVSU0lPTgogICAgICAgZWxzZQogCXsKIAkgIC8vIE5hbWVkIGxvY2FsZS4KKyNpZmRlZiBf QUlYCisJICBfX2NfbG9jYWxlIF9fb2xkID0gdXNlbG9jYWxlKF9fY2xvYyk7CisJICBsY29udiog bGMgPSBsb2NhbGVjb252KCk7CisjZWxzZQogCSAgbGNvbnYqIGxjID0gbG9jYWxlY29udl9sKChs b2NhbGVfdCkgX19jbG9jKTsKKyNlbmRpZgogCiAJICAvLyBDaGVjayBmb3IgTlVMTCwgd2hpY2gg aW1wbGllcyBubyBmcmFjdGlvbmFsIGRpZ2l0cy4KIAkgIGlmIChsYy0+bW9uX2RlY2ltYWxfcG9p bnQgPT0gTlVMTCB8fApAQCAtMzQ4LDYgKzM1Niw5IEBAIF9HTElCQ1hYX0JFR0lOX05BTUVTUEFD RV9WRVJTSU9OCiAJICAgICAgZGVsZXRlIFtdIF9fZ3JvdXA7CiAJICAgICAgZGVsZXRlIFtdIF9f cHM7CiAJICAgICAgZGVsZXRlIFtdIF9fbnM7CisjaWZkZWYgX0FJWAorCSAgICAgIHVzZWxvY2Fs ZShfX29sZCk7CisjZW5kaWYKIAkgICAgICBfX3Rocm93X2V4Y2VwdGlvbl9hZ2FpbjsKIAkgICAg fQogCkBAIC0zNjAsNiArMzcxLDkgQEAgX0dMSUJDWFhfQkVHSU5fTkFNRVNQQUNFX1ZFUlNJT04K IAkgIGNoYXIgX19uc3BhY2UgPSBsYy0+aW50X25fc2VwX2J5X3NwYWNlOwogCSAgX01fZGF0YS0+ X01fbmVnX2Zvcm1hdCA9IF9TX2NvbnN0cnVjdF9wYXR0ZXJuKF9fbnByZWNlZGVzLCBfX25zcGFj ZSwKIAkJCQkJCQlfX25wb3NuKTsKKyNpZmRlZiBfQUlYCisJICB1c2Vsb2NhbGUoX19vbGQpOwor I2VuZGlmCiAJfQogICAgIH0KIApAQCAtMzk1LDcgKzQwOSwxMiBAQCBfR0xJQkNYWF9CRUdJTl9O QU1FU1BBQ0VfVkVSU0lPTgogICAgICAgZWxzZQogCXsKIAkgIC8vIE5hbWVkIGxvY2FsZS4KKyNp ZmRlZiBfQUlYCisJICBfX2NfbG9jYWxlIF9fb2xkID0gdXNlbG9jYWxlKF9fY2xvYyk7CisJICBs Y29udiogbGMgPSBsb2NhbGVjb252KCk7CisjZWxzZQogCSAgbGNvbnYqIGxjID0gbG9jYWxlY29u dl9sKChsb2NhbGVfdCkgX19jbG9jKTsKKyNlbmRpZgogCiAJICAvLyBDaGVjayBmb3IgTlVMTCwg d2hpY2ggaW1wbGllcyBubyBmcmFjdGlvbmFsIGRpZ2l0cy4KIAkgIGlmIChsYy0+bW9uX2RlY2lt YWxfcG9pbnQgPT0gTlVMTCB8fApAQCAtNTAyLDYgKzUyMSw5IEBAIF9HTElCQ1hYX0JFR0lOX05B TUVTUEFDRV9WRVJTSU9OCiAJICAgICAgZGVsZXRlIFtdIF9fZ3JvdXA7CiAJICAgICAgZGVsZXRl IFtdIF9fcHM7CiAJICAgICAgZGVsZXRlIFtdIF9fbnM7CisjaWZkZWYgX0FJWAorCSAgICAgIHVz ZWxvY2FsZShfX29sZCk7CisjZW5kaWYKIAkgICAgICBfX3Rocm93X2V4Y2VwdGlvbl9hZ2FpbjsK IAkgICAgfQogCkBAIC01MTQsNiArNTM2LDkgQEAgX0dMSUJDWFhfQkVHSU5fTkFNRVNQQUNFX1ZF UlNJT04KIAkgIGNoYXIgX19uc3BhY2UgPSBsYy0+bl9zZXBfYnlfc3BhY2U7CiAJICBfTV9kYXRh LT5fTV9uZWdfZm9ybWF0ID0gX1NfY29uc3RydWN0X3BhdHRlcm4oX19ucHJlY2VkZXMsIF9fbnNw YWNlLAogCQkJCQkJCV9fbnBvc24pOworI2lmZGVmIF9BSVgKKwkgIHVzZWxvY2FsZShfX29sZCk7 CisjZW5kaWYKIAl9CiAgICAgfQogCkBAIC01ODEsOSArNjA2LDE0IEBAIF9HTElCQ1hYX0JFR0lO X05BTUVTUEFDRV9WRVJTSU9OCiAJfQogICAgICAgZWxzZQogCXsKLQkgIF9fY19sb2NhbGUgX19v bGQgPSAoX19jX2xvY2FsZSl1c2Vsb2NhbGUoKGxvY2FsZV90KV9fY2xvYyk7CiAJICAvLyBOYW1l ZCBsb2NhbGUuCisJICAvLyB1c2Vsb2NhbGUgaXMgbmVlZGVkIGZvciBtYnNydG93Y3MKKwkgIF9f Y19sb2NhbGUgX19vbGQgPSAoX19jX2xvY2FsZSl1c2Vsb2NhbGUoKGxvY2FsZV90KV9fY2xvYyk7 CisjaWZkZWYgX0FJWAorCSAgbGNvbnYqIGxjID0gbG9jYWxlY29udigpOworI2Vsc2UKIAkgIGxj b252KiBsYyA9IGxvY2FsZWNvbnZfbCgobG9jYWxlX3QpIF9fY2xvYyk7CisjZW5kaWYKIAogCSAg Ly8gQ2hlY2sgZm9yIE5VTEwsIHdoaWNoIGltcGxpZXMgbm8gZnJhY3Rpb25hbCBkaWdpdHMuCiAJ ICBpZiAobGMtPm1vbl9kZWNpbWFsX3BvaW50ID09IE5VTEwgfHwKQEAgLTc0MSw5ICs3NzEsMTQg QEAgX0dMSUJDWFhfQkVHSU5fTkFNRVNQQUNFX1ZFUlNJT04KIAl9CiAgICAgICBlbHNlCiAJewot CSAgX19jX2xvY2FsZSBfX29sZCA9IChfX2NfbG9jYWxlKXVzZWxvY2FsZSgobG9jYWxlX3QpX19j bG9jKTsKIAkgIC8vIE5hbWVkIGxvY2FsZS4KKwkgIC8vIHVzZWxvY2FsZSBpcyBuZWVkZWQgZm9y IG1ic3J0b3djcworCSAgX19jX2xvY2FsZSBfX29sZCA9IChfX2NfbG9jYWxlKXVzZWxvY2FsZSgo bG9jYWxlX3QpX19jbG9jKTsKKyNpZmRlZiBfQUlYCisJICBsY29udiogbGMgPSBsb2NhbGVjb252 KCk7CisjZWxzZQogCSAgbGNvbnYqIGxjID0gbG9jYWxlY29udl9sKChsb2NhbGVfdCkgX19jbG9j KTsKKyNlbmRpZgogCiAJICAvLyBDaGVjayBmb3IgTlVMTCwgd2hpY2ggaW1wbGllcyBubyBmcmFj dGlvbmFsIGRpZ2l0cy4KIAkgIGlmIChsYy0+bW9uX2RlY2ltYWxfcG9pbnQgPT0gTlVMTCB8fApk aWZmIC0tZ2l0IGEvbGlic3RkYysrLXYzL2NvbmZpZy9sb2NhbGUvZHJhZ29uZmx5L251bWVyaWNf bWVtYmVycy5jYyBiL2xpYnN0ZGMrKy12My9jb25maWcvbG9jYWxlL2llZWVfMTAwMy4xLTIwMDgv bnVtZXJpY19tZW1iZXJzLmNjCnNpbWlsYXJpdHkgaW5kZXggOTMlCnJlbmFtZSBmcm9tIGxpYnN0 ZGMrKy12My9jb25maWcvbG9jYWxlL2RyYWdvbmZseS9udW1lcmljX21lbWJlcnMuY2MKcmVuYW1l IHRvIGxpYnN0ZGMrKy12My9jb25maWcvbG9jYWxlL2llZWVfMTAwMy4xLTIwMDgvbnVtZXJpY19t ZW1iZXJzLmNjCmluZGV4IGNhYzZmZThjNzEwLi5lYjQ2MGM5NDA4OCAxMDA2NDQKLS0tIGEvbGli c3RkYysrLXYzL2NvbmZpZy9sb2NhbGUvZHJhZ29uZmx5L251bWVyaWNfbWVtYmVycy5jYworKysg Yi9saWJzdGRjKystdjMvY29uZmlnL2xvY2FsZS9pZWVlXzEwMDMuMS0yMDA4L251bWVyaWNfbWVt YmVycy5jYwpAQCAtMzEsNyArMzEsMTAgQEAKIAogI2luY2x1ZGUgPGxvY2FsZT4KICNpbmNsdWRl IDxjc3RyaW5nPgorCisjaWZkZWYgX19EcmFnb25GbHlfXwogI2luY2x1ZGUgPHhsb2NhbGUuaD4K KyNlbmRpZgogCiBuYW1lc3BhY2Ugc3RkIF9HTElCQ1hYX1ZJU0lCSUxJVFkoZGVmYXVsdCkKIHsK QEAgLTYzLDcgKzY2LDEzIEBAIF9HTElCQ1hYX0JFR0lOX05BTUVTUEFDRV9WRVJTSU9OCiAgICAg ICBlbHNlCiAJewogCSAgLy8gTmFtZWQgbG9jYWxlLgorI2lmZGVmIF9BSVgKKwkgIC8vIHVzZWxv Y2FsZSBpcyBuZWVkZWQgZm9yIGxvY2FsZWNvbnYKKwkgIF9fY19sb2NhbGUgX19vbGQgPSB1c2Vs b2NhbGUoX19jbG9jKTsKKwkgIGxjb252KiBsYyA9IGxvY2FsZWNvbnYoKTsKKyNlbHNlCiAJICBs Y29udiogbGMgPSBsb2NhbGVjb252X2woKGxvY2FsZV90KSBfX2Nsb2MpOworI2VuZGlmCiAKIAkg IC8vIERlY2ltYWwgcG9pbnQgc2hvdWxkIGFsd2F5cyBiZSBkZWZpbmVkLCBidXQgY2hlY2sgbnVs bCBhbnl3YXkKIAkgIGlmIChsYy0+ZGVjaW1hbF9wb2ludCA9PSBOVUxMKQpAQCAtMTAzLDYgKzEx Miw5IEBAIF9HTElCQ1hYX0JFR0lOX05BTUVTUEFDRV9WRVJTSU9OCiAJCSAgICB7CiAJCSAgICAg IGRlbGV0ZSBfTV9kYXRhOwogCQkgICAgICBfTV9kYXRhID0gMDsKKyNpZmRlZiBfQUlYCisJCSAg ICAgIHVzZWxvY2FsZShfX29sZCk7CisjZW5kaWYKIAkJICAgICAgX190aHJvd19leGNlcHRpb25f YWdhaW47CiAJCSAgICB9CiAJCX0KQEAgLTExMyw2ICsxMjUsOSBAQCBfR0xJQkNYWF9CRUdJTl9O QU1FU1BBQ0VfVkVSU0lPTgogCQl9CiAJICAgICAgX01fZGF0YS0+X01fZ3JvdXBpbmdfc2l6ZSA9 IF9fbGVuOwogCSAgICB9CisjaWZkZWYgX0FJWAorCSAgdXNlbG9jYWxlKF9fb2xkKTsKKyNlbmRp ZgogCX0KIAogICAgICAgLy8gTkI6IFRoZXJlIGlzIG5vIHdheSB0byBleHRhY3QgdGhpcyBpbmZv IGZyb20gcG9zaXggbG9jYWxlcy4KQEAgLTE2Miw3ICsxNzcsMTMgQEAgX0dMSUJDWFhfQkVHSU5f TkFNRVNQQUNFX1ZFUlNJT04KICAgICAgIGVsc2UKIAl7CiAJICAvLyBOYW1lZCBsb2NhbGUuCisj aWZkZWYgX0FJWAorCSAgLy8gdXNlbG9jYWxlIGlzIG5lZWRlZCBmb3IgbG9jYWxlY29udgorCSAg X19jX2xvY2FsZSBfX29sZCA9IHVzZWxvY2FsZShfX2Nsb2MpOworCSAgbGNvbnYqIGxjID0gbG9j YWxlY29udigpOworI2Vsc2UKIAkgIGxjb252KiBsYyA9IGxvY2FsZWNvbnZfbCgobG9jYWxlX3Qp IF9fY2xvYyk7CisjZW5kaWYKIAogCSAgLy8gRGVjaW1hbCBwb2ludCBzaG91bGQgYWx3YXlzIGJl IGRlZmluZWQsIGJ1dCBjaGVjayBudWxsIGFueXdheQogCSAgaWYgKGxjLT5kZWNpbWFsX3BvaW50 ID09IE5VTEwpCkBAIC0yMDEsNiArMjIyLDkgQEAgX0dMSUJDWFhfQkVHSU5fTkFNRVNQQUNFX1ZF UlNJT04KIAkJICAgIHsKIAkJICAgICAgZGVsZXRlIF9NX2RhdGE7CiAJCSAgICAgIF9NX2RhdGEg PSAwOworI2lmZGVmIF9BSVgKKwkJICAgICAgdXNlbG9jYWxlKF9fb2xkKTsKKyNlbmRpZgogCQkg ICAgICBfX3Rocm93X2V4Y2VwdGlvbl9hZ2FpbjsKIAkJICAgIH0KIAkJfQpAQCAtMjExLDYgKzIz NSw5IEBAIF9HTElCQ1hYX0JFR0lOX05BTUVTUEFDRV9WRVJTSU9OCiAJCX0KIAkgICAgICBfTV9k YXRhLT5fTV9ncm91cGluZ19zaXplID0gX19sZW47CiAJICAgIH0KKyNpZmRlZiBfQUlYCisJICB1 c2Vsb2NhbGUoX19vbGQpOworI2VuZGlmCiAJfQogCiAgICAgICAvLyBOQjogVGhlcmUgaXMgbm8g d2F5IHRvIGV4dGFjdCB0aGlzIGluZm8gZnJvbSBwb3NpeCBsb2NhbGVzLgpkaWZmIC0tZ2l0IGEv bGlic3RkYysrLXYzL2NvbmZpZy9sb2NhbGUvZHJhZ29uZmx5L3RpbWVfbWVtYmVycy5jYyBiL2xp YnN0ZGMrKy12My9jb25maWcvbG9jYWxlL2llZWVfMTAwMy4xLTIwMDgvdGltZV9tZW1iZXJzLmNj CnNpbWlsYXJpdHkgaW5kZXggOTQlCnJlbmFtZSBmcm9tIGxpYnN0ZGMrKy12My9jb25maWcvbG9j YWxlL2RyYWdvbmZseS90aW1lX21lbWJlcnMuY2MKcmVuYW1lIHRvIGxpYnN0ZGMrKy12My9jb25m aWcvbG9jYWxlL2llZWVfMTAwMy4xLTIwMDgvdGltZV9tZW1iZXJzLmNjCmluZGV4IGM4YjYyMWEz MjNmLi42NjBmYzI2ZGUxYSAxMDA2NDQKLS0tIGEvbGlic3RkYysrLXYzL2NvbmZpZy9sb2NhbGUv ZHJhZ29uZmx5L3RpbWVfbWVtYmVycy5jYworKysgYi9saWJzdGRjKystdjMvY29uZmlnL2xvY2Fs ZS9pZWVlXzEwMDMuMS0yMDA4L3RpbWVfbWVtYmVycy5jYwpAQCAtMzUsNyArMzUsMTAgQEAKICNp bmNsdWRlIDxjd2NoYXI+CiAjaW5jbHVkZSA8c3RkbGliLmg+CiAjaW5jbHVkZSA8bGFuZ2luZm8u aD4KKworI2lmZGVmIF9fRHJhZ29uRmx5X18KICNpbmNsdWRlIDx4bG9jYWxlLmg+CisjZW5kaWYK IAogbmFtZXNwYWNlIHN0ZCBfR0xJQkNYWF9WSVNJQklMSVRZKGRlZmF1bHQpCiB7CkBAIC00Nyw4 ICs1MCwxNCBAQCBfR0xJQkNYWF9CRUdJTl9OQU1FU1BBQ0VfVkVSU0lPTgogICAgIF9NX3B1dChj aGFyKiBfX3MsIHNpemVfdCBfX21heGxlbiwgY29uc3QgY2hhciogX19mb3JtYXQsCiAJICAgY29u c3QgdG0qIF9fdG0pIGNvbnN0IHRocm93KCkKICAgICB7CisjaWZkZWYgX0FJWAorICAgICAgX19j X2xvY2FsZSBfX29sZCA9IHVzZWxvY2FsZShfTV9jX2xvY2FsZV90aW1lcHVuY3QpOworICAgICAg Y29uc3Qgc2l6ZV90IF9fbGVuID0gc3RyZnRpbWUoX19zLCBfX21heGxlbiwgX19mb3JtYXQsIF9f dG0pOworICAgICAgdXNlbG9jYWxlKF9fb2xkKTsKKyNlbHNlCiAgICAgICBjb25zdCBzaXplX3Qg X19sZW4gPSBzdHJmdGltZV9sKF9fcywgX19tYXhsZW4sIF9fZm9ybWF0LCBfX3RtLAogCQkJCSAg ICAgIChsb2NhbGVfdClfTV9jX2xvY2FsZV90aW1lcHVuY3QpOworI2VuZGlmCiAgICAgICAvLyBN YWtlIHN1cmUgX19zIGlzIG51bGwgdGVybWluYXRlZC4KICAgICAgIGlmIChfX2xlbiA9PSAwKQog CV9fc1swXSA9ICdcMCc7CkBAIC0xOTYsMTUgKzIwNSwzMCBAQCBfR0xJQkNYWF9CRUdJTl9OQU1F U1BBQ0VfVkVSU0lPTgogICAgIF9NX3B1dCh3Y2hhcl90KiBfX3MsIHNpemVfdCBfX21heGxlbiwg Y29uc3Qgd2NoYXJfdCogX19mb3JtYXQsCiAJICAgY29uc3QgdG0qIF9fdG0pIGNvbnN0IHRocm93 KCkKICAgICB7CisjaWZkZWYgX0FJWAorICAgICAgX19jX2xvY2FsZSBfX29sZCA9IHVzZWxvY2Fs ZShfTV9jX2xvY2FsZV90aW1lcHVuY3QpOworICAgICAgY29uc3Qgc2l6ZV90IF9fbGVuID0gd2Nz ZnRpbWUoX19zLCBfX21heGxlbiwgX19mb3JtYXQsIF9fdG0pOworICAgICAgdXNlbG9jYWxlKF9f b2xkKTsKKyNlbHNlCiAgICAgICBjb25zdCBzaXplX3QgX19sZW4gPSB3Y3NmdGltZV9sKF9fcywg X19tYXhsZW4sIF9fZm9ybWF0LCBfX3RtLAogCQkJCSAgICAgIChsb2NhbGVfdClfTV9jX2xvY2Fs ZV90aW1lcHVuY3QpOworI2VuZGlmCiAgICAgICAvLyBNYWtlIHN1cmUgX19zIGlzIG51bGwgdGVy bWluYXRlZC4KICAgICAgIGlmIChfX2xlbiA9PSAwKQogCV9fc1swXSA9IEwnXDAnOwogICAgIH0K IAorI2lmZGVmIF9BSVgKKyAgLy8gbWJzdG93Y3NfbCBkZW9zbid0IGV4aXN0IG9uIEFJWC4gInVz ZWxvY2FsZSIgbXVzdAorICAvLyBiZSBjYWxsZWQgYmVmb3JlIHVzaW5nIHRoaXMgbWFjcm8uCisj ZGVmaW5lIE1CU1RPV0NTX0woV0NTVFJJTkcsIFNUUklORywgTlVNQkVSLCBMT0NBTEUpIFwKKyAg bWJzdG93Y3MgKFdDU1RSSU5HLCBTVFJJTkcsIE5VTUJFUik7CisjZWxzZQorI2RlZmluZSBNQlNU T1dDU19MKFdDU1RSSU5HLCBTVFJJTkcsIE5VTUJFUiwgTE9DQUxFKQlcCisgIG1ic3Rvd2NzX2wg KFdDU1RSSU5HLCBTVFJJTkcsIE5VTUJFUiwgTE9DQUxFKTsKKyNlbmRpZgogI2RlZmluZSBXSURF X0xBTkdJTkZPKE0sRk1UKSBcCi0JZm10bGVuID0gbWJzdG93Y3NfbCAoaG9sZGVyLCBubF9sYW5n aW5mb19sKEZNVCwgKGxvY2FsZV90KV9fY2xvYyksIFwKKwlmbXRsZW4gPSBNQlNUT1dDU19MICho b2xkZXIsIG5sX2xhbmdpbmZvX2woRk1ULCAobG9jYWxlX3QpX19jbG9jKSwgXAogCQkxMjgsIChs b2NhbGVfdClfX2Nsb2MpOyBcCiAJbGFuZ3N0cmluZyA9IG5ldyB3Y2hhcl90W2ZtdGxlbiArIDFd OyBcCiAJd2NzbmNweSAobGFuZ3N0cmluZywgaG9sZGVyLCBmbXRsZW4pOyBcCkBAIC0yODEsNiAr MzA1LDkgQEAgX0dMSUJDWFhfQkVHSU5fTkFNRVNQQUNFX1ZFUlNJT04KIAl9CiAgICAgICBlbHNl CiAJeworI2lmZGVmIF9BSVgKKwkgIF9fY19sb2NhbGUgX19vbGQgPSB1c2Vsb2NhbGUoX19jbG9j KTsKKyNlbmRpZgogCSAgd2NoYXJfdCAqbGFuZ3N0cmluZyA9IDA7CiAJICB3Y2hhcl90IGhvbGRl clsxMjhdOwogCSAgc2l6ZV90IGZtdGxlbjsKQEAgLTM0Miw2ICszNjksOSBAQCBfR0xJQkNYWF9C RUdJTl9OQU1FU1BBQ0VfVkVSU0lPTgogCSAgV0lERV9MQU5HSU5GTyhfTV9hbW9udGgxMCwgQUJN T05fMTApCiAJICBXSURFX0xBTkdJTkZPKF9NX2Ftb250aDExLCBBQk1PTl8xMSkKIAkgIFdJREVf TEFOR0lORk8oX01fYW1vbnRoMTIsIEFCTU9OXzEyKQorI2lmZGVmIF9BSVgKKwkgIHVzZWxvY2Fs ZShfX29sZCk7CisjZW5kaWYKIAl9CiAgICAgfQogCmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMv Y29uZmlnL2xvY2FsZS9kcmFnb25mbHkvdGltZV9tZW1iZXJzLmggYi9saWJzdGRjKystdjMvY29u ZmlnL2xvY2FsZS9pZWVlXzEwMDMuMS0yMDA4L3RpbWVfbWVtYmVycy5oCnNpbWlsYXJpdHkgaW5k ZXggMTAwJQpyZW5hbWUgZnJvbSBsaWJzdGRjKystdjMvY29uZmlnL2xvY2FsZS9kcmFnb25mbHkv dGltZV9tZW1iZXJzLmgKcmVuYW1lIHRvIGxpYnN0ZGMrKy12My9jb25maWcvbG9jYWxlL2llZWVf MTAwMy4xLTIwMDgvdGltZV9tZW1iZXJzLmgKZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12My9jb25m aWcvb3MvYWl4L2N0eXBlX2NvbmZpZ3VyZV9jaGFyLmNjIGIvbGlic3RkYysrLXYzL2NvbmZpZy9v cy9haXgvY3R5cGVfY29uZmlndXJlX2NoYXIuY2MKaW5kZXggYjEyYzBiZDQzNWMuLjNhZjM0NTdl ZjQxIDEwMDY0NAotLS0gYS9saWJzdGRjKystdjMvY29uZmlnL29zL2FpeC9jdHlwZV9jb25maWd1 cmVfY2hhci5jYworKysgYi9saWJzdGRjKystdjMvY29uZmlnL29zL2FpeC9jdHlwZV9jb25maWd1 cmVfY2hhci5jYwpAQCAtNDQsMjUgKzQ0LDUzIEBAIF9HTElCQ1hYX0JFR0lOX05BTUVTUEFDRV9W RVJTSU9OCiAKICAgY3R5cGU8Y2hhcj46OmN0eXBlKF9fY19sb2NhbGUsIGNvbnN0IG1hc2sqIF9f dGFibGUsIGJvb2wgX19kZWwsCiAJCSAgICAgc2l6ZV90IF9fcmVmcykKLSAgOiBmYWNldChfX3Jl ZnMpLCBfTV9kZWwoX190YWJsZSAhPSAwICYmIF9fZGVsKSwKKyAgOiBmYWNldChfX3JlZnMpLCBf TV9jX2xvY2FsZV9jdHlwZShfU19nZXRfY19sb2NhbGUoKSksCisgIF9NX2RlbChfX3RhYmxlICE9 IDAgJiYgX19kZWwpLAogICBfTV90b3VwcGVyKE5VTEwpLCBfTV90b2xvd2VyKE5VTEwpLAotICBf TV90YWJsZShfX3RhYmxlID8gX190YWJsZSA6IGNsYXNzaWNfdGFibGUoKSkKKyAgX01fdGFibGUo X190YWJsZSA/IF9fdGFibGUgOiBjbGFzc2ljX3RhYmxlKCkpLAorICBfTV93aWRlbl9vaygwKSwg X01fbmFycm93X29rKDApCiAgIHsKKyAgICBjaGFyKiBfX29sZCA9IHNldGxvY2FsZShMQ19DVFlQ RSwgTlVMTCk7CisgICAgY2hhciogX19zYXYgPSBOVUxMOworICAgIGlmIChzdHJjbXAoX19vbGQs ICJDIikpCisgICAgICB7CisJY29uc3Qgc2l6ZV90IF9fbGVuID0gc3RybGVuKF9fb2xkKSArIDE7 CisJX19zYXYgPSBuZXcgY2hhcltfX2xlbl07CisJbWVtY3B5KF9fc2F2LCBfX29sZCwgX19sZW4p OworCXNldGxvY2FsZShMQ19DVFlQRSwgIkMiKTsKKyAgICAgIH0KKyAgICBpZiAoX19zYXYpCisg ICAgICB7CisJc2V0bG9jYWxlKExDX0NUWVBFLCBfX3Nhdik7CisJZGVsZXRlIFtdIF9fc2F2Owor ICAgICAgfQogICAgIG1lbXNldChfTV93aWRlbiwgMCwgc2l6ZW9mKF9NX3dpZGVuKSk7Ci0gICAg X01fd2lkZW5fb2sgPSAwOwogICAgIG1lbXNldChfTV9uYXJyb3csIDAsIHNpemVvZihfTV9uYXJy b3cpKTsKLSAgICBfTV9uYXJyb3dfb2sgPSAwOwogICB9CiAKICAgY3R5cGU8Y2hhcj46OmN0eXBl KGNvbnN0IG1hc2sqIF9fdGFibGUsIGJvb2wgX19kZWwsIHNpemVfdCBfX3JlZnMpCi0gIDogZmFj ZXQoX19yZWZzKSwgX01fZGVsKF9fdGFibGUgIT0gMCAmJiBfX2RlbCksCisgIDogZmFjZXQoX19y ZWZzKSwgX01fY19sb2NhbGVfY3R5cGUoX1NfZ2V0X2NfbG9jYWxlKCkpLAorICBfTV9kZWwoX190 YWJsZSAhPSAwICYmIF9fZGVsKSwKICAgX01fdG91cHBlcihOVUxMKSwgX01fdG9sb3dlcihOVUxM KSwKLSAgX01fdGFibGUoX190YWJsZSA/IF9fdGFibGUgOiBjbGFzc2ljX3RhYmxlKCkpCisgIF9N X3RhYmxlKF9fdGFibGUgPyBfX3RhYmxlIDogY2xhc3NpY190YWJsZSgpKSwKKyAgX01fd2lkZW5f b2soMCksIF9NX25hcnJvd19vaygwKQogICB7CisgICAgY2hhciogX19vbGQgPSBzZXRsb2NhbGUo TENfQ1RZUEUsIE5VTEwpOworICAgIGNoYXIqIF9fc2F2ID0gTlVMTDsKKyAgICBpZiAoc3RyY21w KF9fb2xkLCAiQyIpKQorICAgICAgeworCWNvbnN0IHNpemVfdCBfX2xlbiA9IHN0cmxlbihfX29s ZCkgKyAxOworCV9fc2F2ID0gbmV3IGNoYXJbX19sZW5dOworCW1lbWNweShfX3NhdiwgX19vbGQs IF9fbGVuKTsKKwlzZXRsb2NhbGUoTENfQ1RZUEUsICJDIik7CisgICAgICB9CisgICAgaWYgKF9f c2F2KQorICAgICAgeworCXNldGxvY2FsZShMQ19DVFlQRSwgX19zYXYpOworCWRlbGV0ZSBbXSBf X3NhdjsKKyAgICAgIH0KICAgICBtZW1zZXQoX01fd2lkZW4sIDAsIHNpemVvZihfTV93aWRlbikp OwotICAgIF9NX3dpZGVuX29rID0gMDsKICAgICBtZW1zZXQoX01fbmFycm93LCAwLCBzaXplb2Yo X01fbmFycm93KSk7Ci0gICAgX01fbmFycm93X29rID0gMDsKICAgfQogCiAgIGNoYXIKZGlmZiAt LWdpdCBhL2xpYnN0ZGMrKy12My90ZXN0c3VpdGUvbGliL2xpYnN0ZGMrKy5leHAgYi9saWJzdGRj KystdjMvdGVzdHN1aXRlL2xpYi9saWJzdGRjKysuZXhwCmluZGV4IDMwYTQzNDViMTRmLi4yMDA2 MDJkMDAzZSAxMDA2NDQKLS0tIGEvbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS9saWIvbGlic3RkYysr LmV4cAorKysgYi9saWJzdGRjKystdjMvdGVzdHN1aXRlL2xpYi9saWJzdGRjKysuZXhwCkBAIC05 MDQsNiArOTA0LDExIEBAIHByb2MgY2hlY2tfdjNfdGFyZ2V0X25hbWVkbG9jYWxlIHsgYXJncyB9 IHsKIAlwdXRzICRmICIgICAgc3RyY3B5KHJlc3VsdCwgbmFtZSk7IgogCXB1dHMgJGYgIiNpZiBk ZWZpbmVkIF9fRnJlZUJTRF9fIHx8IGRlZmluZWQgX19EcmFnb25GbHlfXyB8fCBkZWZpbmVkIF9f TmV0QlNEX18iCiAJcHV0cyAkZiAiICAgIC8qIGZhbGwtdGhyb3VnaCAqLyIKKwlwdXRzICRmICIj ZWxpZiBkZWZpbmVkIF9BSVgiCisJcHV0cyAkZiAiICAgIGNoYXIgKnAgPSBzdHJzdHIocmVzdWx0 LCBcIklTTzg4NTktMTVcIik7IgorCXB1dHMgJGYgIiAgICBpZiAocCkgeyIKKwlwdXRzICRmICIg ICAgICAgc3RyY3B5KHAsIFwiODg1OS0xNVwiKTsiCisJcHV0cyAkZiAiICAgIH0iCiAJcHV0cyAk ZiAiI2Vsc2UiCiAJcHV0cyAkZiAiICAgIGlmIChzdHJzdHIocmVzdWx0LCBcIklTTzg4NTktMTVc IikpIHsiCiAJcHV0cyAkZiAiICAgICAgICBzdHJjYXQocmVzdWx0LCBcIkBldXJvXCIpOyIKZGlm ZiAtLWdpdCBhL2xpYnN0ZGMrKy12My90ZXN0c3VpdGUvdXRpbC90ZXN0c3VpdGVfaG9va3MuaCBi L2xpYnN0ZGMrKy12My90ZXN0c3VpdGUvdXRpbC90ZXN0c3VpdGVfaG9va3MuaAppbmRleCBiNWUw NzY3MjExYS4uYTYzMmY1ZjMxZjggMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My90ZXN0c3VpdGUv dXRpbC90ZXN0c3VpdGVfaG9va3MuaAorKysgYi9saWJzdGRjKystdjMvdGVzdHN1aXRlL3V0aWwv dGVzdHN1aXRlX2hvb2tzLmgKQEAgLTc3LDYgKzc3LDkgQEAKIAogI2lmIGRlZmluZWQgX19GcmVl QlNEX18gfHwgZGVmaW5lZCBfX0RyYWdvbkZseV9fIHx8IGRlZmluZWQgX19OZXRCU0RfXwogIyBk ZWZpbmUgSVNPXzg4NTkocGFydCxsYW5nVEVSUikgI2xhbmdURVJSICIuSVNPODg1OS0iICNwYXJ0 CisjZWxpZiBkZWZpbmVkIF9BSVgKKyMgZGVmaW5lIElTT184ODU5KHBhcnQsbGFuZ1RFUlIpICgo cGFydCkgPT0gMTUgP1wKKyAgICAgICAgICNsYW5nVEVSUiAiLjg4NTktIiAjcGFydCA6ICNsYW5n VEVSUiAiLklTTzg4NTktIiAjcGFydCkKICNlbHNlCiAjIGRlZmluZSBJU09fODg1OShwYXJ0LGxh bmdURVJSKSAoKHBhcnQpID09IDE1ID9cCiAgICAgICAgICAjbGFuZ1RFUlIgIi5JU084ODU5LSIg I3BhcnQgIkBldXJvIiA6ICNsYW5nVEVSUiAiLklTTzg4NTktIiAjcGFydCkKLS0gCjIuMjUuMAoK --_002_PA4PR02MB66864697394A9F5618855157EAAA0PA4PR02MB6686eurp_--