From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from out30-132.freemail.mail.aliyun.com (out30-132.freemail.mail.aliyun.com [115.124.30.132]) by sourceware.org (Postfix) with ESMTPS id 0E97B3858C52 for ; Wed, 10 Jan 2024 07:16:47 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0E97B3858C52 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=linux.alibaba.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linux.alibaba.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 0E97B3858C52 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=115.124.30.132 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1704871016; cv=none; b=WJH3qFHoHFOKEpHBYMwidlP6kxOKw7ZDA8HQ525PalNAgGCbWdj1txSisjd6KBvIsFkoxhG+UPJ0XpcvPLCLQk5uP8JMOof9RG+rFUprNZi7FYVA3PfPuegckXgPX/d/A56TWJMfIjRB1N/9LYeeQ+FJ5+gjAYvnhll67cbQi6w= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1704871016; c=relaxed/simple; bh=3xv7AWFZEiyYI6nMyAQ69OhXvyTnR8Xbyy6T2uOqT04=; h=Date:From:To:Message-ID:Subject:MIME-Version; b=BHpmR2PyIfzFIV2PrT/mMUBUkU8Rb0xFHvNOXGKA5jZFuFH/7HWqKfnPszRZ1eq+263/JMFH1/KAuOk3WkHLqhtNa2pgVKiCpe5TvawwwAA5OTjJFDBRzADZRO6+jsgDLILR18p+6Gvxy6qO1m87IJurtcaa7lWZUCffpc25flw= ARC-Authentication-Results: i=1; server2.sourceware.org X-Alimail-AntiSpam:AC=PASS;BC=-1|-1;BR=01201311R241e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=ay29a033018046050;MF=cooper.joshua@linux.alibaba.com;NM=1;PH=DW;RN=10;SR=0;TI=W4_0.2.3_v5ForWebDing_212D94CE_1704870408415_o7001c950; Received: from WS-web (cooper.joshua@linux.alibaba.com[W4_0.2.3_v5ForWebDing_212D94CE_1704870408415_o7001c950]) at Wed, 10 Jan 2024 15:16:43 +0800 Date: Wed, 10 Jan 2024 15:16:43 +0800 From: "joshua" To: "juzhe.zhong@rivai.ai" , "gcc-patches" Cc: "Jim Wilson" , "palmer" , "andrew" , "philipp.tomsich" , "jeffreyalaw" , "christoph.muellner" , "jinma" , "cooper.qu" Reply-To: "joshua" Message-ID: <5df4be3c-8285-4ed6-b5cb-25c0ce1c5f17.cooper.joshua@linux.alibaba.com> Subject: =?UTF-8?B?UmXvvJpSZe+8mltQQVRDSCB2NV0gUklTQy1WOiBIYW5kbGUgZGlmZmVyZW5jZXMgYmV0d2Vl?= =?UTF-8?B?biBYVGhlYWR2ZWN0b3IgYW5kIFZlY3Rvcg==?= X-Mailer: [Alimail-Mailagent][W4_0.2.3][v5ForWebDing][Chrome] MIME-Version: 1.0 x-aliyun-im-through: {"mailThroughImNew":true} References: <9BB48D59BBD6507C+202401101501199849036@rivai.ai> x-aliyun-mail-creator: W4_0.2.3_v5ForWebDing_SFRTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzEyMC4wLjAuMCBTYWZhcmkvNTM3LjM2IEVkZy8xMjAuMC4wLjA=Ch In-Reply-To: <9BB48D59BBD6507C+202401101501199849036@rivai.ai> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 X-Spam-Status: No, score=-17.9 required=5.0 tests=BAYES_00,BODY_8BITS,ENV_AND_HDR_SPF_MATCH,GIT_PATCH_0,KAM_ASCII_DIVIDERS,KAM_DMARC_STATUS,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE,UNPARSEABLE_RELAY,URIBL_BLACK,USER_IN_DEF_SPF_WL 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: VGhlc2UgeHR0aGVhZHZlY3RvciBzcGVpY2FsIGludHJpbnNpY3MgYXJlIGRpZmZlcmVudCBmcm9t IHJ2djEuMAppbiBkZXRlcm1pbmluZyBmdW5jdGlvbiBuYW1lIGZyb20gYmFzZSBuYW1lLiBXZSBj YW5ub3QgZGlyZWN0bHkKcmV1c2UgdGhlIGV4aXN0aW5nIHNoYXBlcy4KCkluIG9yZGVyIG5vdCB0 byBpbnZhZGUgZXhpc3Rpbmcgc2hhcGVzLCB3ZSBhZGQgbmV3IHNoYXBlcyBmb3IgbmV3CmZ1bmN0 aW9ucy4gQWxzbywgd2UgY3JlYXRlIG5ldyB0aGVhZC12ZWN0b3ItYnVpbHRpbnMuY2MgZm9yIHh0 aGVhZHZlY3RvcgpmdW5jdGlvbl9iYXNlIGltcGxlbWVudGF0aW9uLgoKCgoKCi0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQrl j5Hku7bkurrvvJpqdXpoZS56aG9uZ0ByaXZhaS5haSA8anV6aGUuemhvbmdAcml2YWkuYWk+CuWP kemAgeaXtumXtO+8mjIwMjTlubQx5pyIMTDml6Uo5pif5pyf5LiJKSAxNTowMQrmlLbku7bkurrv vJoiY29vcGVyLmpvc2h1YSI8Y29vcGVyLmpvc2h1YUBsaW51eC5hbGliYWJhLmNvbT47ICJnY2Mt cGF0Y2hlcyI8Z2NjLXBhdGNoZXNAZ2NjLmdudS5vcmc+CuaKhOOAgOmAge+8mkppbSBXaWxzb248 amltLndpbHNvbi5nY2NAZ21haWwuY29tPjsgcGFsbWVyPHBhbG1lckBkYWJiZWx0LmNvbT47IGFu ZHJldzxhbmRyZXdAc2lmaXZlLmNvbT47ICJwaGlsaXBwLnRvbXNpY2giPHBoaWxpcHAudG9tc2lj aEB2cnVsbC5ldT47IGplZmZyZXlhbGF3PGplZmZyZXlhbGF3QGdtYWlsLmNvbT47ICJjaHJpc3Rv cGgubXVlbGxuZXIiPGNocmlzdG9waC5tdWVsbG5lckB2cnVsbC5ldT47IGppbm1hPGppbm1hQGxp bnV4LmFsaWJhYmEuY29tPjsgImNvb3Blci5xdSI8Y29vcGVyLnF1QGxpbnV4LmFsaWJhYmEuY29t PgrkuLvjgIDpopjvvJpSZTogUmXvvJpbUEFUQ0ggdjVdIFJJU0MtVjogSGFuZGxlIGRpZmZlcmVu Y2VzIGJldHdlZW4gWFRoZWFkdmVjdG9yIGFuZCBWZWN0b3IKCgpXaHkgZG8geW91IGFkZCB0aGVh ZHZlY3RvciBzaGFwZXMgPyBJIHRoaW5rIHlvdSBjYW4gcmV1c2UgdGhlIGN1cnJlbnQgZXhpc3Rp bmcgc2hhcGVzLgoKCit0aGVhZC12ZWN0b3ItYnVpbHRpbnMubzogXCsgICQoc3JjZGlyKS9jb25m aWcvcmlzY3YvdGhlYWQtdmVjdG9yLWJ1aWx0aW5zLmNjIFwrICAkKENPTkZJR19IKSAkKFNZU1RF TV9IKSBjb3JldHlwZXMuaCAkKFRNX0gpICQoVFJFRV9IKSAkKFJUTF9IKSBcKyAgJChUTV9QX0gp IG1lbW1vZGVsLmggaW5zbi1jb2Rlcy5oICQoT1BUQUJTX0gpICQoUkVDT0dfSCkgXCsgICQoRVhQ Ul9IKSAkKEJBU0lDX0JMT0NLX0gpICQoRlVOQ1RJT05fSCkgZm9sZC1jb25zdC5oICQoR0lNUExF X0gpIFwrICBnaW1wbGUtaXRlcmF0b3IuaCBnaW1wbGlmeS5oIGV4cGxvdy5oICQoRU1JVF9SVExf SCkgdHJlZS12ZWN0b3ItYnVpbGRlci5oIFwrICBydHgtdmVjdG9yLWJ1aWxkZXIuaCBcKyAgJChz cmNkaXIpL2NvbmZpZy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVpbHRpbnMtc2hhcGVzLmggXCsgICQo c3JjZGlyKS9jb25maWcvcmlzY3YvcmlzY3YtdmVjdG9yLWJ1aWx0aW5zLWJhc2VzLmggXCsgICQo c3JjZGlyKS9jb25maWcvcmlzY3YvdGhlYWQtdmVjdG9yLWJ1aWx0aW5zLmggXCsgICQoUklTQ1Zf QlVJTFRJTlNfSCkrCSQoQ09NUElMRVIpIC1jICQoQUxMX0NPTVBJTEVSRkxBR1MpICQoQUxMX0NQ UEZMQUdTKSAkKElOQ0xVREVTKSBcKwkJJChzcmNkaXIpL2NvbmZpZy9yaXNjdi90aGVhZC12ZWN0 b3ItYnVpbHRpbnMuY2MrCldoeSBkbyB5b3UgcmVidWlsZCBhbm90aGVyIG5ldyBvYmplY3QgPwoK CisgICBDb3B5cmlnaHQgKEMpIDIwMjItMjAyMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4KSW5jb3JyZWN0IGNvcHlyaWdodAoKCgoKCgpqdXpoZS56aG9uZ0ByaXZhaS5haQoKwqAK5Y+R 5Lu25Lq677yawqBqb3NodWEK5Y+R6YCB5pe26Ze077yawqAyMDI0LTAxLTEwwqAxMDo1NwrmlLbk u7bkurrvvJrCoGp1emhlLnpob25nQHJpdmFpLmFpOyBnY2MtcGF0Y2hlcwrmioTpgIHvvJrCoEpp bSBXaWxzb247IHBhbG1lcjsgYW5kcmV3OyBwaGlsaXBwLnRvbXNpY2g7IGplZmZyZXlhbGF3OyBj aHJpc3RvcGgubXVlbGxuZXI7IGppbm1hOyBjb29wZXIucXUK5Li76aKY77yawqBSZe+8mltQQVRD SCB2NV0gUklTQy1WOiBIYW5kbGUgZGlmZmVyZW5jZXMgYmV0d2VlbiBYVGhlYWR2ZWN0b3IgYW5k IFZlY3RvcgoKSGkgSnV6aGUsClRoYW5rIHlvdSBmb3Igc28gbWFueSB1c2VmdWwgY29tbWVudHMg Zm9yIHRoaXMgcGF0Y2ghCsKgClRoZXJlIGFyZSBzb21lIG1vcmUgcGF0Y2hlcyB0byBzdXBwb3J0 IHh0aGVhZHZlY3RvcgpzcGVjaWFsIGluc3RyaW5zaWNzIGFzIHdlbGwgYXMgaGFuZGxlIHJlZ2lz dGVyIG92ZXJsYXAgaXNzdWUgYW5kCnJld3JpdGUgYXNzZW1ibHkgb3V0cHV0LgrCoApodHRwczov L2djYy5nbnUub3JnL3BpcGVybWFpbC9nY2MtcGF0Y2hlcy8yMDI0LUphbnVhcnkvNjQxNzc0Lmh0 bWwKwqAKaHR0cHM6Ly9nY2MuZ251Lm9yZy9waXBlcm1haWwvZ2NjLXBhdGNoZXMvMjAyNC1KYW51 YXJ5LzY0MTczMi5odG1sCsKgCmh0dHBzOi8vZ2NjLmdudS5vcmcvcGlwZXJtYWlsL2djYy1wYXRj aGVzLzIwMjQtSmFudWFyeS82NDE3MzMuaHRtbArCoApBbHNvLCB0aGVyZSBpcyBhIHByZWNlZGVu dCBwYXRjaCB0byByZWZhY3RvciByaXNjdi12ZWN0b3ItYnVpbHRpbnMtYmFzZXMuY2MKaHR0cHM6 Ly9nY2MuZ251Lm9yZy9waXBlcm1haWwvZ2NjLXBhdGNoZXMvMjAyMy1EZWNlbWJlci82NDE1MzAu aHRtbApKZWZmIGhhcyByZXZpZXdlZCBpdCwgYnV0IGRpZG4ndCBoYXZlIExHVE0geWV0LgrCoApK b3NodWEKwqAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCuWPkeS7tuS6uu+8mmp1emhlLnpob25nQHJpdmFpLmFpIDxqdXpo ZS56aG9uZ0ByaXZhaS5haT4K5Y+R6YCB5pe26Ze077yaMjAyNOW5tDHmnIgxMOaXpSjmmJ/mnJ/k uIkpIDEwOjM0CuaUtuS7tuS6uu+8miJjb29wZXIuam9zaHVhIjxjb29wZXIuam9zaHVhQGxpbnV4 LmFsaWJhYmEuY29tPjsgImdjYy1wYXRjaGVzIjxnY2MtcGF0Y2hlc0BnY2MuZ251Lm9yZz4K5oqE 44CA6YCB77yaSmltIFdpbHNvbjxqaW0ud2lsc29uLmdjY0BnbWFpbC5jb20+OyBwYWxtZXI8cGFs bWVyQGRhYmJlbHQuY29tPjsgYW5kcmV3PGFuZHJld0BzaWZpdmUuY29tPjsgInBoaWxpcHAudG9t c2ljaCI8cGhpbGlwcC50b21zaWNoQHZydWxsLmV1PjsgamVmZnJleWFsYXc8amVmZnJleWFsYXdA Z21haWwuY29tPjsgImNocmlzdG9waC5tdWVsbG5lciI8Y2hyaXN0b3BoLm11ZWxsbmVyQHZydWxs LmV1PjsgImNvb3Blci5qb3NodWEiPGNvb3Blci5qb3NodWFAbGludXguYWxpYmFiYS5jb20+OyBq aW5tYTxqaW5tYUBsaW51eC5hbGliYWJhLmNvbT47ICJjb29wZXIucXUiPGNvb3Blci5xdUBsaW51 eC5hbGliYWJhLmNvbT4K5Li744CA6aKY77yaUmU6IFtQQVRDSCB2NV0gUklTQy1WOiBIYW5kbGUg ZGlmZmVyZW5jZXMgYmV0d2VlbiBYVGhlYWR2ZWN0b3IgYW5kIFZlY3RvcgrCoArCoApUaGFua3Mg Zm9yIHlvdXIgcGF0aWVuY2UuCsKgCsKgCkxHVE0gZnJvbSBteXNpZGUuCsKgCsKgCkkgdGhpbmsg aXQncyBwcmV0dHkgY2xlYW4gbm93LiBJIGNhbiBpbWFnZSBpbiB0aGUgZnV0dXJlIHdoZW4gc29t ZSBkYXkgdGhlIHRoZWFkdmVjdG9yIGlzIG5vIGxvbmdlciB1c2VkLCB3ZSBjYW4gcmVtb3ZlIGl0 IHZlcnkgZWFzaWx5LgrCoArCoApBbmQgYWxzbywgwqB0aGUgdGhlYWR2ZWN0b3Igd29uJ3QgYWZm ZWN0IG91ciBSVlYxLjAgbWFpbnRhaW4gc2luY2UgaXQncyBpc29sYXRlZCBjbGVhbmx5LsKgCsKg CsKgCkJ1dCBJJ2QgbGlrZSB0byB3YWl0IGZvciBhIGZldyBtb3JlIGRheXMgc29tZSBib2R5IHdh bnQgdG8gY2hpbWUgaW4uCsKgCsKgCkFuZCB5b3Ugc2hvdWxkIGRvIG1vcmUgdGhpbmdzIGJlZm9y ZSBjb21taXQgaXQ6CjEuIFJlbWVtYmVyIHlvdSBzaG91bGQgcnVuIHRoZSBmdWxsIGNvdmVyYWdl IFJWVjEuMCBBUEkgdGVzdCwgdGhlIHRlc3QtZ2VuZXJhdG9yIGlzIGRvd25sb2FkZWQgZnJvbSBv ZmZpY2lhbCBpbnRyaW5zaWMgZG9jOgpodHRwczovL2dpdGh1Yi5jb20vcmlzY3Ytbm9uLWlzYS9y dnYtaW50cmluc2ljLWRvY8KgCsKgCsKgCjIuIEFsc28gdGhlIHJlZ3Jlc3Npb24gb2YgUlYzMiBh biBSVjY0IG9mIEdDQyB0ZXN0c3VpdGUuCsKgCsKgCkRvIHlvdSBoYXZlIG1vcmUgcGF0Y2hlcyBv ZiB0aGVhZHZlY3RvciB0aGF0IEkgZGlkbid0IHJldmlldyA/IHBseiBwb2ludCB0aGVtIHRvIG1l IGFnYWluLgrCoArCoApUaGFua3MuCmp1emhlLnpob25nQHJpdmFpLmFpCsKgCsKgCkZyb206wqBK dW4gU2hhIChKb3NodWEpCkRhdGU6wqAyMDI0LTAxLTEwwqAxMDoyMgpUbzrCoGdjYy1wYXRjaGVz CkNDOsKgamltLndpbHNvbi5nY2M7IHBhbG1lcjsgYW5kcmV3OyBwaGlsaXBwLnRvbXNpY2g7IGpl ZmZyZXlhbGF3OyBjaHJpc3RvcGgubXVlbGxuZXI7IGp1emhlLnpob25nOyBKdW4gU2hhIChKb3No dWEpOyBKaW4gTWE7IFhpYW5taWFvIFF1ClN1YmplY3Q6wqBbUEFUQ0ggdjVdIFJJU0MtVjogSGFu ZGxlIGRpZmZlcmVuY2VzIGJldHdlZW4gWFRoZWFkdmVjdG9yIGFuZCBWZWN0b3IKwqAKVGhpcyBw YXRjaCBpcyB0byBoYW5kbGUgdGhlIGRpZmZlcmVuY2VzIGluIGluc3RydWN0aW9uIGdlbmVyYXRp b24KYmV0d2VlbiBWZWN0b3IgYW5kIFhUaGVhZFZlY3Rvci4gSW4gdGhpcyB2ZXJzaW9uLCB3ZSBv bmx5IHN1cHBvcnQKcGFydGlhbCB4dGhlYWR2ZWN0b3IgaW5zdHJ1Y3Rpb25zIHRoYXQgbGV2ZXJh Z2UgZGlyZWN0bHkgZnJvbSBjdXJyZW50ClJWVjEuMCB3aXRoIHNpbXBsZSBhZGRpbmcgInRoLiIg cHJlZml4LiBGb3IgZGlmZmVyZW50IG5hbWUgeHRoZWFkdmVjdG9yCmluc3RydWN0aW9ucyBidXQg c2hhcmUgc2FtZSBwYXR0ZXJucyBhcyBSVlYxLjAgaW5zdHJ1Y3Rpb25zLCB3ZSB3aWxsCnVzZSBB U00gdGFyZ2V0aG9vayB0byByZXdyaXRlIHRoZSB3aG9sZSBzdHJpbmcgb2YgdGhlIGluc3RydWN0 aW9ucyBpbgp0aGUgZm9sbG93aW5nIHBhdGNoZXMuIArCoApGb3Igc29tZSB2ZWN0b3IgcGF0dGVy bnMgdGhhdCBjYW5ub3QgYmUgYXZvaWRlZCwgd2UgdXNlCiIhVEFSR0VUX1hUSEVBRFZFQ1RPUiIg dG8gZGlzYWJsZSB0aGVtIGluIHZlY3Rvci5tZCBpbiBvcmRlcgpub3QgdG8gZ2VuZXJhdGUgaW5z dHJ1Y3Rpb25zIHRoYXQgeHRoZWFkdmVjdG9yIGRvZXMgbm90IHN1cHBvcnQsCmxpa2Ugdm12MXIg YW5kIHZzZXh0LnZmMi4KwqAKZ2NjL0NoYW5nZUxvZzoKwqAKCSogY29uZmlnLmdjYzrCoCBBZGQg ZmlsZXMgZm9yIFhUaGVhZFZlY3RvciBpbnRyaW5zaWNzLgoJKiBjb25maWcvcmlzY3YvYXV0b3Zl Yy5tZDogR3VhcmQgWFRoZWFkVmVjdG9yLgoJKiBjb25maWcvcmlzY3YvcmlzY3YtYy5jYzogQWRk IHByYWdtYSBmb3IgWFRoZWFkVmVjdG9yLgoJKiBjb25maWcvcmlzY3YvcmlzY3Ytc3RyaW5nLmNj IChleHBhbmRfYmxvY2tfbW92ZSk6CglHdWFyZCBYVGhlYWRWZWN0b3IuCgkqIGNvbmZpZy9yaXNj di9yaXNjdi1zdHJpbmcuY2MgKHZsc19tb2RlX3ZhbGlkX3ApOiAKCUF2b2lkIGF1dG92ZWMuCgkq IGNvbmZpZy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVpbHRpbnMtc2hhcGVzLmNjIChjaGVja190eXBl KToKCShidWlsZF9vbmUpOiBOZXcgZnVuY3Rpb24uCgkqIGNvbmZpZy9yaXNjdi9yaXNjdi12ZWN0 b3ItYnVpbHRpbnMuY2MgKERFRl9SVlZfRlVOQ1RJT04pOgoJKERFRl9USEVBRF9SVlZfRlVOQ1RJ T04pOiBBZGQgbmV3IG1hcmNvcy4KCShjaGVja19yZXF1aXJlZF9leHRlbnNpb25zKToKCShoYW5k bGVfcHJhZ21hX3ZlY3Rvcik6CgkqIGNvbmZpZy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVpbHRpbnMu aCAoUlZWX1JFUVVJUkVfVkVDVE9SKToKCShSVlZfUkVRVUlSRV9YVEhFQURWRUNUT1IpOgoJQWRk IFJWVl9SRVFVSVJFX1ZFQ1RPUiBhbmQgUlZWX1JFUVVJUkVfWFRIRUFEVkVDVE9SLgoJKHN0cnVj dCBmdW5jdGlvbl9ncm91cF9pbmZvKToKCSogY29uZmlnL3Jpc2N2L3Jpc2N2LXZlY3Rvci1zd2l0 Y2guZGVmIChFTlRSWSk6CglEaXNhYmxlIGZyYWN0aW9uYWwgbW9kZSBmb3IgdGhlIFhUaGVhZFZl Y3RvciBleHRlbnNpb24uCgkoVFVQTEVfRU5UUlkpOiBMaWtld2lzZS4KCSogY29uZmlnL3Jpc2N2 L3Jpc2N2LXZzZXR2bC5jYzogQWRkIGZ1bmN0aW9ucyBmb3IgeHRoZWFkdmVjdG9yLgoJKiBjb25m aWcvcmlzY3YvcmlzY3YuY2MgKHJpc2N2X3ZfZXh0X3Zsc19tb2RlX3ApOgoJR3VhcmQgWFRoZWFk VmVjdG9yLgoJKHJpc2N2X3ZfYWRqdXN0X2J5dGVzaXplKTogTGlrZXdpc2UuCgkocmlzY3ZfcHJl ZmVycmVkX3NpbWRfbW9kZSk6IExpa2V3c2llLgoJKHJpc2N2X2F1dG92ZWN0b3JpemVfdmVjdG9y X21vZGVzKTogTGlrZXdpc2UuCgkocmlzY3ZfdmVjdG9yX21vZGVfc3VwcG9ydGVkX2FueV90YXJn ZXRfcCk6IExpa2V3aXNlLgoJKFRBUkdFVF9WRUNUT1JfTU9ERV9TVVBQT1JURURfQU5ZX1RBUkdF VF9QKTogTGlrZXdpc2UuCgkqIGNvbmZpZy9yaXNjdi92ZWN0b3IubWQ6IEluY2x1ZGUgdGhlYWQt dmVjdG9yLm1kLgoJKiBjb25maWcvcmlzY3YvcmlzY3ZfdGhfdmVjdG9yLmg6IE5ldyBmaWxlLgoJ KiBjb25maWcvcmlzY3YvdGhlYWQtdmVjdG9yLm1kOiBOZXcgZmlsZS4KwqAKZ2NjL3Rlc3RzdWl0 ZS9DaGFuZ2VMb2c6CsKgCgkqIGdjYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcHJhZ21hLTEuYzog QWRkIFhUaGVhZFZlY3Rvci4KCSogZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9hYmktMS5jOiBF eGNsdWRlIFhUaGVhZFZlY3Rvci4KCSogbGliL3RhcmdldC1zdXBwb3J0cy5leHA6IEFkZCB0YXJn ZXQgZm9yIFhUaGVhZFZlY3Rvci4KwqAKQ28tYXV0aG9yZWQtYnk6IEppbiBNYSA8amlubWFAbGlu dXguYWxpYmFiYS5jb20+CkNvLWF1dGhvcmVkLWJ5OiBYaWFubWlhbyBRdSA8Y29vcGVyLnF1QGxp bnV4LmFsaWJhYmEuY29tPgpDby1hdXRob3JlZC1ieTogQ2hyaXN0b3BoIE3DvGxsbmVyIDxjaHJp c3RvcGgubXVlbGxuZXJAdnJ1bGwuZXU+Ci0tLQogZ2NjL2NvbmZpZy5nY2PCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDCoCAy ICstCiBnY2MvY29uZmlnL3Jpc2N2L2F1dG92ZWMubWTCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgfMKgwqAgMiArLQogZ2NjL2NvbmZpZy9yaXNjdi9wcmVkaWNhdGVzLm1kwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgIDQgKy0KIGdjYy9jb25maWcvcmlzY3Yv cmlzY3YtYy5jY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDCoCAzICst CiBnY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXN0cmluZy5jY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHzCoMKgIDMgKy0KIGdjYy9jb25maWcvcmlzY3YvcmlzY3Ytdi5jY8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDCoCAyICstCiAuLi4vcmlzY3YvcmlzY3YtdmVjdG9y LWJ1aWx0aW5zLWJhc2VzLmNjwqDCoMKgwqDCoCB8wqAgNDggKysrKy0tCiAuLi4vcmlzY3Yvcmlz Y3YtdmVjdG9yLWJ1aWx0aW5zLXNoYXBlcy5jY8KgwqDCoMKgIHzCoCAyMyArKysKIGdjYy9jb25m aWcvcmlzY3YvcmlzY3YtdmVjdG9yLXN3aXRjaC5kZWbCoMKgwqDCoMKgIHwgMTUwICsrKysrKysr Ky0tLS0tLS0tLQogZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5jY8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDIwICsrLQogZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdl90 aF92ZWN0b3IuaMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDQ5ICsrKysrKwogZ2NjL2NvbmZp Zy9yaXNjdi90aGVhZC12ZWN0b3IubWTCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDEwMiAr KysrKysrKysrKysKIGdjYy9jb25maWcvcmlzY3YvdGhlYWQuY2PCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoCAyMyArKy0KIGdjYy9jb25maWcvcmlzY3YvdmVjdG9y Lm1kwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDQ5ICsrKystLQog Li4uL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvYWJpLTEuY8KgwqDCoMKgwqDCoMKgwqAgfMKg wqAgMiArLQogLi4uL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcHJhZ21hLTEuY8KgwqDCoMKg wqAgfMKgwqAgMiArLQogZ2NjL3Rlc3RzdWl0ZS9saWIvdGFyZ2V0LXN1cHBvcnRzLmV4cMKgwqDC oMKgwqDCoMKgwqAgfMKgIDEyICsrCiAxNyBmaWxlcyBjaGFuZ2VkLCAzODMgaW5zZXJ0aW9ucygr KSwgMTEzIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy9jb25maWcvcmlzY3Yv cmlzY3ZfdGhfdmVjdG9yLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvY29uZmlnL3Jpc2N2L3Ro ZWFkLXZlY3Rvci5tZArCoApkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy5nY2MgYi9nY2MvY29uZmln LmdjYwppbmRleCA3ZTU4MzM5MDAyNC4uMDQ3ZTRjMDJjZjQgMTAwNjQ0Ci0tLSBhL2djYy9jb25m aWcuZ2NjCisrKyBiL2djYy9jb25maWcuZ2NjCkBAIC01NDksNyArNTQ5LDcgQEAgcmlzY3YqKQog CWV4dHJhX29ianM9IiR7ZXh0cmFfb2Jqc30gcmlzY3YtdmVjdG9yLWJ1aWx0aW5zLm8gcmlzY3Yt dmVjdG9yLWJ1aWx0aW5zLXNoYXBlcy5vIHJpc2N2LXZlY3Rvci1idWlsdGlucy1iYXNlcy5vIgog CWV4dHJhX29ianM9IiR7ZXh0cmFfb2Jqc30gdGhlYWQubyByaXNjdi10YXJnZXQtYXR0ci5vIgog CWRfdGFyZ2V0X29ianM9InJpc2N2LWQubyIKLQlleHRyYV9oZWFkZXJzPSJyaXNjdl92ZWN0b3Iu aCIKKwlleHRyYV9oZWFkZXJzPSJyaXNjdl92ZWN0b3IuaCByaXNjdl90aF92ZWN0b3IuaCIKIAl0 YXJnZXRfZ3RmaWxlcz0iJHRhcmdldF9ndGZpbGVzIFwkKHNyY2RpcikvY29uZmlnL3Jpc2N2L3Jp c2N2LXZlY3Rvci1idWlsdGlucy5jYyIKIAl0YXJnZXRfZ3RmaWxlcz0iJHRhcmdldF9ndGZpbGVz IFwkKHNyY2RpcikvY29uZmlnL3Jpc2N2L3Jpc2N2LXZlY3Rvci1idWlsdGlucy5oIgogCTs7CmRp ZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2L2F1dG92ZWMubWQgYi9nY2MvY29uZmlnL3Jpc2N2 L2F1dG92ZWMubWQKaW5kZXggNzc1ZWFhODI1YjAuLjA0Nzc3ODFjYWJlIDEwMDY0NAotLS0gYS9n Y2MvY29uZmlnL3Jpc2N2L2F1dG92ZWMubWQKKysrIGIvZ2NjL2NvbmZpZy9yaXNjdi9hdXRvdmVj Lm1kCkBAIC0yNTc5LDcgKzI1NzksNyBAQArCoMKgIFsobWF0Y2hfb3BlcmFuZMKgwqDCoMKgwqAg MCAicmVnaXN0ZXJfb3BlcmFuZCIpCsKgwqDCoCAobWF0Y2hfb3BlcmFuZMKgwqDCoMKgwqAgMSAi bWVtb3J5X29wZXJhbmQiKQrCoMKgwqAgKG1hdGNoX29wZXJhbmQ6QU5ZSSAyICJjb25zdF9pbnRf b3BlcmFuZCIpXQotwqAgIlRBUkdFVF9WRUNUT1IiCivCoCAiVEFSR0VUX1ZFQ1RPUiAmJiAhVEFS R0VUX1hUSEVBRFZFQ1RPUiIKwqDCoCB7CsKgwqDCoMKgIHJpc2N2X3ZlY3Rvcjo6ZXhwYW5kX3Jh d21lbWNocig8TU9ERT5tb2RlLCBvcGVyYW5kc1swXSwgb3BlcmFuZHNbMV0sCiAJCQkJwqDCoCBv cGVyYW5kc1syXSk7CmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2L3ByZWRpY2F0ZXMubWQg Yi9nY2MvY29uZmlnL3Jpc2N2L3ByZWRpY2F0ZXMubWQKaW5kZXggYjFhNzljYWU1MGEuLjAzMzdk YTg4Mjg0IDEwMDY0NAotLS0gYS9nY2MvY29uZmlnL3Jpc2N2L3ByZWRpY2F0ZXMubWQKKysrIGIv Z2NjL2NvbmZpZy9yaXNjdi9wcmVkaWNhdGVzLm1kCkBAIC00MjgsNyArNDI4LDkgQEAKIDs7IFBy ZWRpY2F0ZXMgZm9yIHRoZSBWIGV4dGVuc2lvbi4KIChkZWZpbmVfc3BlY2lhbF9wcmVkaWNhdGUg InZlY3Rvcl9sZW5ndGhfb3BlcmFuZCIKwqDCoCAoaW9yIChtYXRjaF9vcGVyYW5kIDAgInBtb2Rl X3JlZ2lzdGVyX29wZXJhbmQiKQotwqDCoMKgwqDCoMKgIChtYXRjaF9vcGVyYW5kIDAgImNvbnN0 X2Nzcl9vcGVyYW5kIikpKQorwqDCoMKgwqDCoMKgIChhbmQgKGlvciAobWF0Y2hfdGVzdCAiVEFS R0VUX1hUSEVBRFZFQ1RPUiAmJiBydHhfZXF1YWxfcCAob3AsIGNvbnN0MF9ydHgpIikKKwkJICht YXRjaF90ZXN0ICIhVEFSR0VUX1hUSEVBRFZFQ1RPUiIpKQorwqDCoMKgIChtYXRjaF9vcGVyYW5k IDAgImNvbnN0X2Nzcl9vcGVyYW5kIikpKSkKIAogKGRlZmluZV9zcGVjaWFsX3ByZWRpY2F0ZSAi YXV0b3ZlY19sZW5ndGhfb3BlcmFuZCIKwqDCoCAoaW9yIChtYXRjaF9vcGVyYW5kIDAgInBtb2Rl X3JlZ2lzdGVyX29wZXJhbmQiKQpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1j LmNjIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1jLmNjCmluZGV4IDQyMmRkYzJjMzA4Li4yZTMw NjA1NzM0NyAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1jLmNjCisrKyBiL2dj Yy9jb25maWcvcmlzY3YvcmlzY3YtYy5jYwpAQCAtMTk1LDcgKzE5NSw4IEBAIHJpc2N2X3ByYWdt YV9pbnRyaW5zaWMgKGNwcF9yZWFkZXIgKikKIArCoMKgIGNvbnN0IGNoYXIgKm5hbWUgPSBUUkVF X1NUUklOR19QT0lOVEVSICh4KTsKIAotwqAgaWYgKHN0cmNtcCAobmFtZSwgInZlY3RvciIpID09 IDApCivCoCBpZiAoc3RyY21wIChuYW1lLCAidmVjdG9yIikgPT0gMAorwqDCoMKgwqDCoCB8fCBz dHJjbXAgKG5hbWUsICJ4dGhlYWR2ZWN0b3IiKSA9PSAwKQrCoMKgwqDCoCB7CsKgwqDCoMKgwqDC oCBpZiAoIVRBUkdFVF9WRUNUT1IpCiAJewpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9y aXNjdi1zdHJpbmcuY2MgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXN0cmluZy5jYwppbmRleCBm MjI3Yjg2NjdjZS4uYjA5YjUxZDc1MjYgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvcmlzY3Yvcmlz Y3Ytc3RyaW5nLmNjCisrKyBiL2djYy9jb25maWcvcmlzY3YvcmlzY3Ytc3RyaW5nLmNjCkBAIC03 NzMsNyArNzczLDggQEAgcmlzY3ZfZXhwYW5kX2Jsb2NrX21vdmVfc2NhbGFyIChydHggZGVzdCwg cnR4IHNyYywgcnR4IGxlbmd0aCkKIGJvb2wKIHJpc2N2X2V4cGFuZF9ibG9ja19tb3ZlIChydHgg ZGVzdCwgcnR4IHNyYywgcnR4IGxlbmd0aCkKIHsKLcKgIGlmIChUQVJHRVRfVkVDVE9SICYmIHN0 cmluZ29wX3N0cmF0ZWd5ICYgU1RSQVRFR1lfVkVDVE9SKQorwqAgaWYgKChUQVJHRVRfVkVDVE9S ICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SKQorwqDCoMKgwqDCoCAmJiBzdHJpbmdvcF9zdHJhdGVn eSAmIFNUUkFURUdZX1ZFQ1RPUikKwqDCoMKgwqAgewrCoMKgwqDCoMKgwqAgYm9vbCBvayA9IHJp c2N2X3ZlY3Rvcjo6ZXhwYW5kX2Jsb2NrX21vdmUgKGRlc3QsIHNyYywgbGVuZ3RoKTsKwqDCoMKg wqDCoMKgIGlmIChvaykKZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3YvcmlzY3Ytdi5jYyBi L2djYy9jb25maWcvcmlzY3YvcmlzY3Ytdi5jYwppbmRleCAyNDkxNTIyMTkxYS4uN2UyNWRlYjk2 NmQgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvcmlzY3YvcmlzY3Ytdi5jYworKysgYi9nY2MvY29u ZmlnL3Jpc2N2L3Jpc2N2LXYuY2MKQEAgLTQzOTIsNyArNDM5Miw3IEBAIGNtcF9sbXVsX2d0X29u ZSAobWFjaGluZV9tb2RlIG1vZGUpCiBib29sCiB2bHNfbW9kZV92YWxpZF9wIChtYWNoaW5lX21v ZGUgdmxzX21vZGUpCiB7Ci3CoCBpZiAoIVRBUkdFVF9WRUNUT1IpCivCoCBpZiAoIVRBUkdFVF9W RUNUT1IgfHwgVEFSR0VUX1hUSEVBRFZFQ1RPUikKwqDCoMKgwqAgcmV0dXJuIGZhbHNlOwogCsKg wqAgaWYgKHJpc2N2X2F1dG92ZWNfcHJlZmVyZW5jZSA9PSBSVlZfU0NBTEFCTEUpCmRpZmYgLS1n aXQgYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXZlY3Rvci1idWlsdGlucy1iYXNlcy5jYyBiL2dj Yy9jb25maWcvcmlzY3YvcmlzY3YtdmVjdG9yLWJ1aWx0aW5zLWJhc2VzLmNjCmluZGV4IDkxYWYy YzAwNjc0Li40NmYxYTFkYTMzZSAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12 ZWN0b3ItYnVpbHRpbnMtYmFzZXMuY2MKKysrIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12ZWN0 b3ItYnVpbHRpbnMtYmFzZXMuY2MKQEAgLTExNSwyMyArMTE1LDM3IEBAIHB1YmxpYzoKIArCoMKg wqDCoCB0cmVlIHR5cGUgPSBidWlsdGluX3R5cGVzW2UudHlwZS5pbmRleF0udmVjdG9yOwrCoMKg wqDCoCBtYWNoaW5lX21vZGUgbW9kZSA9IFRZUEVfTU9ERSAodHlwZSk7Ci3CoMKgwqAgLyogTm9y bWFsaXplIHNhbWUgUkFUTyAoU0VXL0xNVUwpIGludG8gc2FtZSB2c2V0dmwgaW5zdHJ1Y3Rpb24u Ci0KLQkgLSBlOCxtZjgvZTE2LG1mNC9lMzIsbWYyL2U2NCxtMSAtLT4gZThtZjgKLQkgLSBlOCxt ZjQvZTE2LG1mMi9lMzIsbTEvZTY0LG0ywqAgLS0+IGU4bWY0Ci0JIC0gZTgsbWYyL2UxNixtMS9l MzIsbTIvZTY0LG00wqDCoCAtLT4gZThtZjIKLQkgLSBlOCxtMS9lMTYsbTIvZTMyLG00L2U2NCxt OMKgwqDCoCAtLT4gZThtMQotCSAtIGU4LG0yL2UxNixtNC9lMzIsbTjCoMKgwqDCoMKgwqDCoMKg wqDCoCAtLT4gZThtMgotCSAtIGU4LG00L2UxNixtOMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgLS0+IGU4bTQKLQkgLSBlOCxtOMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCAtLT4gZThtOAotwqDCoMKgICovCi3CoMKgwqAgLyogU0VXLsKg ICovCi3CoMKgwqAgZS5hZGRfaW5wdXRfb3BlcmFuZCAoUG1vZGUsIGdlbl9pbnRfbW9kZSAoOCwg UG1vZGUpKTsKLQotwqDCoMKgIC8qIExNVUwuwqAgKi8KLcKgwqDCoCBtYWNoaW5lX21vZGUgZThf bW9kZQotwqDCoMKgwqDCoCA9IGdldF92ZWN0b3JfbW9kZSAoUUltb2RlLCBHRVRfTU9ERV9OVU5J VFMgKG1vZGUpKS5yZXF1aXJlICgpOwotwqDCoMKgIGUuYWRkX2lucHV0X29wZXJhbmQgKFBtb2Rl LCBnZW5faW50X21vZGUgKGdldF92bG11bCAoZThfbW9kZSksIFBtb2RlKSk7CisKK8KgwqDCoCBp ZiAoVEFSR0VUX1hUSEVBRFZFQ1RPUikKK8KgwqDCoMKgwqAgeworCW1hY2hpbmVfbW9kZSBpbm5l cl9tb2RlID0gR0VUX01PREVfSU5ORVIgKG1vZGUpOworCS8qIFNFVy7CoCAqLworCWUuYWRkX2lu cHV0X29wZXJhbmQgKFBtb2RlLAorCcKgIGdlbl9pbnRfbW9kZSAoR0VUX01PREVfQklUU0laRSAo aW5uZXJfbW9kZSksIFBtb2RlKSk7CisJLyogTE1VTC7CoCAqLworCWUuYWRkX2lucHV0X29wZXJh bmQgKFBtb2RlLAorCcKgIGdlbl9pbnRfbW9kZSAoZ2V0X3ZsbXVsIChtb2RlKSwgUG1vZGUpKTsK K8KgwqDCoMKgwqAgfQorwqDCoMKgIGVsc2UKK8KgwqDCoMKgwqAgeworCS8qIE5vcm1hbGl6ZSBz YW1lIFJBVE8gKFNFVy9MTVVMKSBpbnRvIHNhbWUgdnNldHZsIGluc3RydWN0aW9uLgorCisJwqDC oMKgwqAgLSBlOCxtZjgvZTE2LG1mNC9lMzIsbWYyL2U2NCxtMSAtLT4gZThtZjgKKwnCoMKgwqDC oCAtIGU4LG1mNC9lMTYsbWYyL2UzMixtMS9lNjQsbTLCoCAtLT4gZThtZjQKKwnCoMKgwqDCoCAt IGU4LG1mMi9lMTYsbTEvZTMyLG0yL2U2NCxtNMKgwqAgLS0+IGU4bWYyCisJwqDCoMKgwqAgLSBl OCxtMS9lMTYsbTIvZTMyLG00L2U2NCxtOMKgwqDCoCAtLT4gZThtMQorCcKgwqDCoMKgIC0gZTgs bTIvZTE2LG00L2UzMixtOMKgwqDCoMKgwqDCoMKgwqDCoMKgIC0tPiBlOG0yCisJwqDCoMKgwqAg LSBlOCxtNC9lMTYsbTjCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC0tPiBlOG00 CisJwqDCoMKgwqAgLSBlOCxtOMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCAtLT4gZThtOAorCSovCisJLyogU0VXLsKgICovCisJZS5hZGRfaW5wdXRfb3Bl cmFuZCAoUG1vZGUsIGdlbl9pbnRfbW9kZSAoOCwgUG1vZGUpKTsKKworCS8qIExNVUwuwqAgKi8K KwltYWNoaW5lX21vZGUgZThfbW9kZQorCcKgID0gZ2V0X3ZlY3Rvcl9tb2RlIChRSW1vZGUsIEdF VF9NT0RFX05VTklUUyAobW9kZSkpLnJlcXVpcmUgKCk7CisJZS5hZGRfaW5wdXRfb3BlcmFuZCAo UG1vZGUsIGdlbl9pbnRfbW9kZSAoZ2V0X3ZsbXVsIChlOF9tb2RlKSwgUG1vZGUpKTsKK8KgwqDC oMKgwqAgfQogCsKgwqDCoMKgIC8qIFRBSUxfQU5ZLsKgICovCsKgwqDCoMKgIGUuYWRkX2lucHV0 X29wZXJhbmQgKFBtb2RlLApkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12ZWN0 b3ItYnVpbHRpbnMtc2hhcGVzLmNjIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVp bHRpbnMtc2hhcGVzLmNjCmluZGV4IGVlODA1OGRjZGIxLi4xZTRmNGQ1M2RlNiAxMDA2NDQKLS0t IGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVpbHRpbnMtc2hhcGVzLmNjCisrKyBi L2djYy9jb25maWcvcmlzY3YvcmlzY3YtdmVjdG9yLWJ1aWx0aW5zLXNoYXBlcy5jYwpAQCAtMzMs NiArMzMsMjUgQEAKIAogbmFtZXNwYWNlIHJpc2N2X3ZlY3RvciB7CiAKKy8qIENoZWNrIHdoZXRo ZXIgdGhlIFJFVFVSTl9UWVBFIGFuZCBBUkdVTUVOVF9UWVBFUyBhcmUKK8KgwqAgdmFsaWQgZm9y IHRoZSBmdW5jdGlvbi7CoCAqLworCitzdGF0aWMgYm9vbAorY2hlY2tfdHlwZSAodHJlZSByZXR1 cm5fdHlwZSwgdmVjPHRyZWU+ICZhcmd1bWVudF90eXBlcykKK3sKK8KgIHRyZWUgYXJnOworwqAg dW5zaWduZWQgaTsKKworwqAgaWYgKCFyZXR1cm5fdHlwZSkKK8KgwqDCoCByZXR1cm4gZmFsc2U7 CisKK8KgIEZPUl9FQUNIX1ZFQ19FTFQgKGFyZ3VtZW50X3R5cGVzLCBpLCBhcmcpCivCoMKgwqAg aWYgKCFhcmcpCivCoMKgwqDCoMKgIHJldHVybiBmYWxzZTsKKworwqAgcmV0dXJuIHRydWU7Cit9 CisKIC8qIEFkZCBvbmUgZnVuY3Rpb24gaW5zdGFuY2UgZm9yIEdST1VQLCB1c2luZyBvcGVyYW5k IHN1ZmZpeCBhdCBpbmRleCBPSSwKwqDCoMKgIG1vZGUgc3VmZml4IGF0IGluZGV4IFBBSVIgJiYg YmkgYW5kIHByZWRpY2F0aW9uIHN1ZmZpeCBhdCBpbmRleCBwcmVkX2lkeC7CoCAqLwogc3RhdGlj IHZvaWQKQEAgLTQ5LDYgKzY4LDEwIEBAIGJ1aWxkX29uZSAoZnVuY3Rpb25fYnVpbGRlciAmYiwg Y29uc3QgZnVuY3Rpb25fZ3JvdXBfaW5mbyAmZ3JvdXAsCsKgwqDCoMKgIGdyb3VwLm9wc19pbmZv cy50eXBlc1t2ZWNfdHlwZV9pZHhdLmluZGV4KTsKwqDCoCBiLmFsbG9jYXRlX2FyZ3VtZW50X3R5 cGVzIChmdW5jdGlvbl9pbnN0YW5jZSwgYXJndW1lbnRfdHlwZXMpOwrCoMKgIGIuYXBwbHlfcHJl ZGljYXRpb24gKGZ1bmN0aW9uX2luc3RhbmNlLCByZXR1cm5fdHlwZSwgYXJndW1lbnRfdHlwZXMp OworCivCoCBpZiAoVEFSR0VUX1hUSEVBRFZFQ1RPUiAmJiAhY2hlY2tfdHlwZSAocmV0dXJuX3R5 cGUsIGFyZ3VtZW50X3R5cGVzKSkKK8KgwqDCoCByZXR1cm47CisKwqDCoCBiLmFkZF9vdmVybG9h ZGVkX2Z1bmN0aW9uIChmdW5jdGlvbl9pbnN0YW5jZSwgKmdyb3VwLnNoYXBlKTsKwqDCoCBiLmFk ZF91bmlxdWVfZnVuY3Rpb24gKGZ1bmN0aW9uX2luc3RhbmNlLCAoKmdyb3VwLnNoYXBlKSwgcmV0 dXJuX3R5cGUsCiAJCQkgYXJndW1lbnRfdHlwZXMpOwpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9y aXNjdi9yaXNjdi12ZWN0b3Itc3dpdGNoLmRlZiBiL2djYy9jb25maWcvcmlzY3YvcmlzY3YtdmVj dG9yLXN3aXRjaC5kZWYKaW5kZXggMWFkMjZjMmEzYjIuLjQ1MjI4M2I3NDE2IDEwMDY0NAotLS0g YS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXZlY3Rvci1zd2l0Y2guZGVmCisrKyBiL2djYy9jb25m aWcvcmlzY3YvcmlzY3YtdmVjdG9yLXN3aXRjaC5kZWYKQEAgLTY4LDkgKzY4LDkgQEAgRW5jb2Rl IHRoZSByYXRpbyBvZiBTRVcvTE1VTCBpbnRvIHRoZSBtYXNrIHR5cGVzLgogI2VuZGlmCiAKIC8q IERpc2FibGUgbW9kZXMgaWYgVEFSR0VUX01JTl9WTEVOID09IDMyLsKgICovCi1FTlRSWSAoUlZW TUY2NEJJLCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiwgTE1VTF9GOCwgNjQpCi1FTlRSWSAoUlZWTUYz MkJJLCB0cnVlLCBMTVVMX0Y0LCAzMikKLUVOVFJZIChSVlZNRjE2QkksIHRydWUsIExNVUxfRjIs IDE2KQorRU5UUlkgKFJWVk1GNjRCSSwgVEFSR0VUX01JTl9WTEVOID4gMzIsIFRBUkdFVF9YVEhF QURWRUNUT1IgPyBMTVVMXzEgOkxNVUxfRjgsIDY0KQorRU5UUlkgKFJWVk1GMzJCSSwgdHJ1ZSwg VEFSR0VUX1hUSEVBRFZFQ1RPUiA/IExNVUxfMSA6TE1VTF9GNCwgMzIpCitFTlRSWSAoUlZWTUYx NkJJLCB0cnVlLCBUQVJHRVRfWFRIRUFEVkVDVE9SID8gTE1VTF8xIDogTE1VTF9GMiAsIDE2KQog RU5UUlkgKFJWVk1GOEJJLCB0cnVlLCBMTVVMXzEsIDgpCiBFTlRSWSAoUlZWTUY0QkksIHRydWUs IExNVUxfMiwgNCkKIEVOVFJZIChSVlZNRjJCSSwgdHJ1ZSwgTE1VTF80LCAyKQpAQCAtODEsMzkg KzgxLDM5IEBAIEVOVFJZIChSVlZNOFFJLCB0cnVlLCBMTVVMXzgsIDEpCiBFTlRSWSAoUlZWTTRR SSwgdHJ1ZSwgTE1VTF80LCAyKQogRU5UUlkgKFJWVk0yUUksIHRydWUsIExNVUxfMiwgNCkKIEVO VFJZIChSVlZNMVFJLCB0cnVlLCBMTVVMXzEsIDgpCi1FTlRSWSAoUlZWTUYyUUksIHRydWUsIExN VUxfRjIsIDE2KQotRU5UUlkgKFJWVk1GNFFJLCB0cnVlLCBMTVVMX0Y0LCAzMikKLUVOVFJZIChS VlZNRjhRSSwgVEFSR0VUX01JTl9WTEVOID4gMzIsIExNVUxfRjgsIDY0KQorRU5UUlkgKFJWVk1G MlFJLCAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgTE1VTF9GMiwgMTYpCitFTlRSWSAoUlZWTUY0UUks ICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBMTVVMX0Y0LCAzMikKK0VOVFJZIChSVlZNRjhRSSwgVEFS R0VUX01JTl9WTEVOID4gMzIgJiYgIVRBUkdFVF9YVEhFQURWRUNUT1IsIExNVUxfRjgsIDY0KQog CiAvKiBEaXNhYmxlIG1vZGVzIGlmIFRBUkdFVF9NSU5fVkxFTiA9PSAzMi7CoCAqLwogRU5UUlkg KFJWVk04SEksIHRydWUsIExNVUxfOCwgMikKIEVOVFJZIChSVlZNNEhJLCB0cnVlLCBMTVVMXzQs IDQpCiBFTlRSWSAoUlZWTTJISSwgdHJ1ZSwgTE1VTF8yLCA4KQogRU5UUlkgKFJWVk0xSEksIHRy dWUsIExNVUxfMSwgMTYpCi1FTlRSWSAoUlZWTUYySEksIHRydWUsIExNVUxfRjIsIDMyKQotRU5U UlkgKFJWVk1GNEhJLCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiwgTE1VTF9GNCwgNjQpCitFTlRSWSAo UlZWTUYySEksICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBMTVVMX0YyLCAzMikKK0VOVFJZIChSVlZN RjRISSwgVEFSR0VUX01JTl9WTEVOID4gMzIgJiYgIVRBUkdFVF9YVEhFQURWRUNUT1IsIExNVUxf RjQsIDY0KQogCiAvKiBEaXNhYmxlIG1vZGVzIGlmIFRBUkdFVF9NSU5fVkxFTiA9PSAzMiBvciAh VEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2LsKgICovCiBFTlRSWSAoUlZWTThIRiwgVEFSR0VUX1ZF Q1RPUl9FTEVOX0ZQXzE2LCBMTVVMXzgsIDIpCiBFTlRSWSAoUlZWTTRIRiwgVEFSR0VUX1ZFQ1RP Ul9FTEVOX0ZQXzE2LCBMTVVMXzQsIDQpCiBFTlRSWSAoUlZWTTJIRiwgVEFSR0VUX1ZFQ1RPUl9F TEVOX0ZQXzE2LCBMTVVMXzIsIDgpCiBFTlRSWSAoUlZWTTFIRiwgVEFSR0VUX1ZFQ1RPUl9FTEVO X0ZQXzE2LCBMTVVMXzEsIDE2KQotRU5UUlkgKFJWVk1GMkhGLCBUQVJHRVRfVkVDVE9SX0VMRU5f RlBfMTYsIExNVUxfRjIsIDMyKQotRU5UUlkgKFJWVk1GNEhGLCBUQVJHRVRfVkVDVE9SX0VMRU5f RlBfMTYgJiYgVEFSR0VUX01JTl9WTEVOID4gMzIsIExNVUxfRjQsIDY0KQorRU5UUlkgKFJWVk1G MkhGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYgJiYgIVRBUkdFVF9YVEhFQURWRUNUT1IsIExN VUxfRjIsIDMyKQorRU5UUlkgKFJWVk1GNEhGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYgJiYg VEFSR0VUX01JTl9WTEVOID4gMzIgJiYgIVRBUkdFVF9YVEhFQURWRUNUT1IsIExNVUxfRjQsIDY0 KQogCiAvKiBEaXNhYmxlIG1vZGVzIGlmIFRBUkdFVF9NSU5fVkxFTiA9PSAzMi7CoCAqLwogRU5U UlkgKFJWVk04U0ksIHRydWUsIExNVUxfOCwgNCkKIEVOVFJZIChSVlZNNFNJLCB0cnVlLCBMTVVM XzQsIDgpCiBFTlRSWSAoUlZWTTJTSSwgdHJ1ZSwgTE1VTF8yLCAxNikKIEVOVFJZIChSVlZNMVNJ LCB0cnVlLCBMTVVMXzEsIDMyKQotRU5UUlkgKFJWVk1GMlNJLCBUQVJHRVRfTUlOX1ZMRU4gPiAz MiwgTE1VTF9GMiwgNjQpCitFTlRSWSAoUlZWTUYyU0ksIFRBUkdFVF9NSU5fVkxFTiA+IDMyICYm ICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBMTVVMX0YyLCA2NCkKIAogLyogRGlzYWJsZSBtb2RlcyBp ZiBUQVJHRVRfTUlOX1ZMRU4gPT0gMzIgb3IgIVRBUkdFVF9WRUNUT1JfRUxFTl9GUF8zMi7CoCAq LwogRU5UUlkgKFJWVk04U0YsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8zMiwgTE1VTF84LCA0KQog RU5UUlkgKFJWVk00U0YsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8zMiwgTE1VTF80LCA4KQogRU5U UlkgKFJWVk0yU0YsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8zMiwgTE1VTF8yLCAxNikKIEVOVFJZ IChSVlZNMVNGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIsIExNVUxfMSwgMzIpCi1FTlRSWSAo UlZWTUYyU0YsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8zMiAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAz MiwgTE1VTF9GMiwgNjQpCitFTlRSWSAoUlZWTUYyU0YsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8z MiAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAzMiAmJiAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgTE1VTF9G MiwgNjQpCiAKIC8qIERpc2FibGUgbW9kZXMgaWYgIVRBUkdFVF9WRUNUT1JfRUxFTl82NC7CoCAq LwogRU5UUlkgKFJWVk04REksIFRBUkdFVF9WRUNUT1JfRUxFTl82NCwgTE1VTF84LCA4KQpAQCAt MTQwLDEyNyArMTQwLDEyNyBAQCBFTlRSWSAoUlZWTTFERiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQ XzY0LCBMTVVMXzEsIDY0KQogI2VuZGlmCiAKIFRVUExFX0VOVFJZIChSVlZNMXg4UUksIHRydWUs IFJWVk0xUUksIDgsIExNVUxfMSwgOCkKLVRVUExFX0VOVFJZIChSVlZNRjJ4OFFJLCB0cnVlLCBS VlZNRjJRSSwgOCwgTE1VTF9GMiwgMTYpCi1UVVBMRV9FTlRSWSAoUlZWTUY0eDhRSSwgdHJ1ZSwg UlZWTUY0UUksIDgsIExNVUxfRjQsIDMyKQotVFVQTEVfRU5UUlkgKFJWVk1GOHg4UUksIFRBUkdF VF9NSU5fVkxFTiA+IDMyLCBSVlZNRjhRSSwgOCwgTE1VTF9GOCwgNjQpCitUVVBMRV9FTlRSWSAo UlZWTUYyeDhRSSwgIVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GMlFJLCA4LCBMTVVMX0YyLCAx NikKK1RVUExFX0VOVFJZIChSVlZNRjR4OFFJLCAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUY0 UUksIDgsIExNVUxfRjQsIDMyKQorVFVQTEVfRU5UUlkgKFJWVk1GOHg4UUksIFRBUkdFVF9NSU5f VkxFTiA+IDMyICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjhRSSwgOCwgTE1VTF9GOCwg NjQpCiBUVVBMRV9FTlRSWSAoUlZWTTF4N1FJLCB0cnVlLCBSVlZNMVFJLCA3LCBMTVVMXzEsIDgp Ci1UVVBMRV9FTlRSWSAoUlZWTUYyeDdRSSwgdHJ1ZSwgUlZWTUYyUUksIDcsIExNVUxfRjIsIDE2 KQotVFVQTEVfRU5UUlkgKFJWVk1GNHg3UUksIHRydWUsIFJWVk1GNFFJLCA3LCBMTVVMX0Y0LCAz MikKLVRVUExFX0VOVFJZIChSVlZNRjh4N1FJLCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiwgUlZWTUY4 UUksIDcsIExNVUxfRjgsIDY0KQorVFVQTEVfRU5UUlkgKFJWVk1GMng3UUksICFUQVJHRVRfWFRI RUFEVkVDVE9SLCBSVlZNRjJRSSwgNywgTE1VTF9GMiwgMTYpCitUVVBMRV9FTlRSWSAoUlZWTUY0 eDdRSSwgIVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GNFFJLCA3LCBMTVVMX0Y0LCAzMikKK1RV UExFX0VOVFJZIChSVlZNRjh4N1FJLCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiAmJiAhVEFSR0VUX1hU SEVBRFZFQ1RPUiwgUlZWTUY4UUksIDcsIExNVUxfRjgsIDY0KQogVFVQTEVfRU5UUlkgKFJWVk0x eDZRSSwgdHJ1ZSwgUlZWTTFRSSwgNiwgTE1VTF8xLCA4KQotVFVQTEVfRU5UUlkgKFJWVk1GMng2 UUksIHRydWUsIFJWVk1GMlFJLCA2LCBMTVVMX0YyLCAxNikKLVRVUExFX0VOVFJZIChSVlZNRjR4 NlFJLCB0cnVlLCBSVlZNRjRRSSwgNiwgTE1VTF9GNCwgMzIpCi1UVVBMRV9FTlRSWSAoUlZWTUY4 eDZRSSwgVEFSR0VUX01JTl9WTEVOID4gMzIsIFJWVk1GOFFJLCA2LCBMTVVMX0Y4LCA2NCkKK1RV UExFX0VOVFJZIChSVlZNRjJ4NlFJLCAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUYyUUksIDYs IExNVUxfRjIsIDE2KQorVFVQTEVfRU5UUlkgKFJWVk1GNHg2UUksICFUQVJHRVRfWFRIRUFEVkVD VE9SLCBSVlZNRjRRSSwgNiwgTE1VTF9GNCwgMzIpCitUVVBMRV9FTlRSWSAoUlZWTUY4eDZRSSwg VEFSR0VUX01JTl9WTEVOID4gMzIgJiYgIVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GOFFJLCA2 LCBMTVVMX0Y4LCA2NCkKIFRVUExFX0VOVFJZIChSVlZNMXg1UUksIHRydWUsIFJWVk0xUUksIDUs IExNVUxfMSwgOCkKLVRVUExFX0VOVFJZIChSVlZNRjJ4NVFJLCB0cnVlLCBSVlZNRjJRSSwgNSwg TE1VTF9GMiwgMTYpCi1UVVBMRV9FTlRSWSAoUlZWTUY0eDVRSSwgdHJ1ZSwgUlZWTUY0UUksIDUs IExNVUxfRjQsIDMyKQotVFVQTEVfRU5UUlkgKFJWVk1GOHg1UUksIFRBUkdFVF9NSU5fVkxFTiA+ IDMyLCBSVlZNRjhRSSwgNSwgTE1VTF9GOCwgNjQpCitUVVBMRV9FTlRSWSAoUlZWTUYyeDVRSSwg IVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GMlFJLCA1LCBMTVVMX0YyLCAxNikKK1RVUExFX0VO VFJZIChSVlZNRjR4NVFJLCAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUY0UUksIDUsIExNVUxf RjQsIDMyKQorVFVQTEVfRU5UUlkgKFJWVk1GOHg1UUksIFRBUkdFVF9NSU5fVkxFTiA+IDMyICYm ICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjhRSSwgNSwgTE1VTF9GOCwgNjQpCiBUVVBMRV9F TlRSWSAoUlZWTTJ4NFFJLCB0cnVlLCBSVlZNMlFJLCA0LCBMTVVMXzIsIDQpCiBUVVBMRV9FTlRS WSAoUlZWTTF4NFFJLCB0cnVlLCBSVlZNMVFJLCA0LCBMTVVMXzEsIDgpCi1UVVBMRV9FTlRSWSAo UlZWTUYyeDRRSSwgdHJ1ZSwgUlZWTUYyUUksIDQsIExNVUxfRjIsIDE2KQotVFVQTEVfRU5UUlkg KFJWVk1GNHg0UUksIHRydWUsIFJWVk1GNFFJLCA0LCBMTVVMX0Y0LCAzMikKLVRVUExFX0VOVFJZ IChSVlZNRjh4NFFJLCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiwgUlZWTUY4UUksIDQsIExNVUxfRjgs IDY0KQorVFVQTEVfRU5UUlkgKFJWVk1GMng0UUksICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZN RjJRSSwgNCwgTE1VTF9GMiwgMTYpCitUVVBMRV9FTlRSWSAoUlZWTUY0eDRRSSwgIVRBUkdFVF9Y VEhFQURWRUNUT1IsIFJWVk1GNFFJLCA0LCBMTVVMX0Y0LCAzMikKK1RVUExFX0VOVFJZIChSVlZN Rjh4NFFJLCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiAmJiAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZW TUY4UUksIDQsIExNVUxfRjgsIDY0KQogVFVQTEVfRU5UUlkgKFJWVk0yeDNRSSwgdHJ1ZSwgUlZW TTJRSSwgMywgTE1VTF8yLCA0KQogVFVQTEVfRU5UUlkgKFJWVk0xeDNRSSwgdHJ1ZSwgUlZWTTFR SSwgMywgTE1VTF8xLCA4KQotVFVQTEVfRU5UUlkgKFJWVk1GMngzUUksIHRydWUsIFJWVk1GMlFJ LCAzLCBMTVVMX0YyLCAxNikKLVRVUExFX0VOVFJZIChSVlZNRjR4M1FJLCB0cnVlLCBSVlZNRjRR SSwgMywgTE1VTF9GNCwgMzIpCi1UVVBMRV9FTlRSWSAoUlZWTUY4eDNRSSwgVEFSR0VUX01JTl9W TEVOID4gMzIsIFJWVk1GOFFJLCAzLCBMTVVMX0Y4LCA2NCkKK1RVUExFX0VOVFJZIChSVlZNRjJ4 M1FJLCAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUYyUUksIDMsIExNVUxfRjIsIDE2KQorVFVQ TEVfRU5UUlkgKFJWVk1GNHgzUUksICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjRRSSwgMywg TE1VTF9GNCwgMzIpCitUVVBMRV9FTlRSWSAoUlZWTUY4eDNRSSwgVEFSR0VUX01JTl9WTEVOID4g MzIgJiYgIVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GOFFJLCAzLCBMTVVMX0Y4LCA2NCkKIFRV UExFX0VOVFJZIChSVlZNNHgyUUksIHRydWUsIFJWVk00UUksIDIsIExNVUxfNCwgMikKIFRVUExF X0VOVFJZIChSVlZNMngyUUksIHRydWUsIFJWVk0yUUksIDIsIExNVUxfMiwgNCkKIFRVUExFX0VO VFJZIChSVlZNMXgyUUksIHRydWUsIFJWVk0xUUksIDIsIExNVUxfMSwgOCkKLVRVUExFX0VOVFJZ IChSVlZNRjJ4MlFJLCB0cnVlLCBSVlZNRjJRSSwgMiwgTE1VTF9GMiwgMTYpCi1UVVBMRV9FTlRS WSAoUlZWTUY0eDJRSSwgdHJ1ZSwgUlZWTUY0UUksIDIsIExNVUxfRjQsIDMyKQotVFVQTEVfRU5U UlkgKFJWVk1GOHgyUUksIFRBUkdFVF9NSU5fVkxFTiA+IDMyLCBSVlZNRjhRSSwgMiwgTE1VTF9G OCwgNjQpCitUVVBMRV9FTlRSWSAoUlZWTUYyeDJRSSwgIVRBUkdFVF9YVEhFQURWRUNUT1IsIFJW Vk1GMlFJLCAyLCBMTVVMX0YyLCAxNikKK1RVUExFX0VOVFJZIChSVlZNRjR4MlFJLCAhVEFSR0VU X1hUSEVBRFZFQ1RPUiwgUlZWTUY0UUksIDIsIExNVUxfRjQsIDMyKQorVFVQTEVfRU5UUlkgKFJW Vk1GOHgyUUksIFRBUkdFVF9NSU5fVkxFTiA+IDMyICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBS VlZNRjhRSSwgMiwgTE1VTF9GOCwgNjQpCiAKIFRVUExFX0VOVFJZIChSVlZNMXg4SEksIHRydWUs IFJWVk0xSEksIDgsIExNVUxfMSwgMTYpCi1UVVBMRV9FTlRSWSAoUlZWTUYyeDhISSwgdHJ1ZSwg UlZWTUYySEksIDgsIExNVUxfRjIsIDMyKQotVFVQTEVfRU5UUlkgKFJWVk1GNHg4SEksIFRBUkdF VF9NSU5fVkxFTiA+IDMyLCBSVlZNRjRISSwgOCwgTE1VTF9GNCwgNjQpCitUVVBMRV9FTlRSWSAo UlZWTUYyeDhISSwgIVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GMkhJLCA4LCBMTVVMX0YyLCAz MikKK1RVUExFX0VOVFJZIChSVlZNRjR4OEhJLCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiAmJiAhVEFS R0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUY0SEksIDgsIExNVUxfRjQsIDY0KQogVFVQTEVfRU5UUlkg KFJWVk0xeDdISSwgdHJ1ZSwgUlZWTTFISSwgNywgTE1VTF8xLCAxNikKLVRVUExFX0VOVFJZIChS VlZNRjJ4N0hJLCB0cnVlLCBSVlZNRjJISSwgNywgTE1VTF9GMiwgMzIpCi1UVVBMRV9FTlRSWSAo UlZWTUY0eDdISSwgVEFSR0VUX01JTl9WTEVOID4gMzIsIFJWVk1GNEhJLCA3LCBMTVVMX0Y0LCA2 NCkKK1RVUExFX0VOVFJZIChSVlZNRjJ4N0hJLCAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUYy SEksIDcsIExNVUxfRjIsIDMyKQorVFVQTEVfRU5UUlkgKFJWVk1GNHg3SEksIFRBUkdFVF9NSU5f VkxFTiA+IDMyICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjRISSwgNywgTE1VTF9GNCwg NjQpCiBUVVBMRV9FTlRSWSAoUlZWTTF4NkhJLCB0cnVlLCBSVlZNMUhJLCA2LCBMTVVMXzEsIDE2 KQotVFVQTEVfRU5UUlkgKFJWVk1GMng2SEksIHRydWUsIFJWVk1GMkhJLCA2LCBMTVVMX0YyLCAz MikKLVRVUExFX0VOVFJZIChSVlZNRjR4NkhJLCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiwgUlZWTUY0 SEksIDYsIExNVUxfRjQsIDY0KQorVFVQTEVfRU5UUlkgKFJWVk1GMng2SEksICFUQVJHRVRfWFRI RUFEVkVDVE9SLCBSVlZNRjJISSwgNiwgTE1VTF9GMiwgMzIpCitUVVBMRV9FTlRSWSAoUlZWTUY0 eDZISSwgVEFSR0VUX01JTl9WTEVOID4gMzIgJiYgIVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1G NEhJLCA2LCBMTVVMX0Y0LCA2NCkKIFRVUExFX0VOVFJZIChSVlZNMXg1SEksIHRydWUsIFJWVk0x SEksIDUsIExNVUxfMSwgMTYpCi1UVVBMRV9FTlRSWSAoUlZWTUYyeDVISSwgdHJ1ZSwgUlZWTUYy SEksIDUsIExNVUxfRjIsIDMyKQotVFVQTEVfRU5UUlkgKFJWVk1GNHg1SEksIFRBUkdFVF9NSU5f VkxFTiA+IDMyLCBSVlZNRjRISSwgNSwgTE1VTF9GNCwgNjQpCitUVVBMRV9FTlRSWSAoUlZWTUYy eDVISSwgIVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GMkhJLCA1LCBMTVVMX0YyLCAzMikKK1RV UExFX0VOVFJZIChSVlZNRjR4NUhJLCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiAmJiAhVEFSR0VUX1hU SEVBRFZFQ1RPUiwgUlZWTUY0SEksIDUsIExNVUxfRjQsIDY0KQogVFVQTEVfRU5UUlkgKFJWVk0y eDRISSwgdHJ1ZSwgUlZWTTJISSwgNCwgTE1VTF8yLCA4KQogVFVQTEVfRU5UUlkgKFJWVk0xeDRI SSwgdHJ1ZSwgUlZWTTFISSwgNCwgTE1VTF8xLCAxNikKLVRVUExFX0VOVFJZIChSVlZNRjJ4NEhJ LCB0cnVlLCBSVlZNRjJISSwgNCwgTE1VTF9GMiwgMzIpCi1UVVBMRV9FTlRSWSAoUlZWTUY0eDRI SSwgVEFSR0VUX01JTl9WTEVOID4gMzIsIFJWVk1GNEhJLCA0LCBMTVVMX0Y0LCA2NCkKK1RVUExF X0VOVFJZIChSVlZNRjJ4NEhJLCAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUYySEksIDQsIExN VUxfRjIsIDMyKQorVFVQTEVfRU5UUlkgKFJWVk1GNHg0SEksIFRBUkdFVF9NSU5fVkxFTiA+IDMy ICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjRISSwgNCwgTE1VTF9GNCwgNjQpCiBUVVBM RV9FTlRSWSAoUlZWTTJ4M0hJLCB0cnVlLCBSVlZNMkhJLCAzLCBMTVVMXzIsIDgpCiBUVVBMRV9F TlRSWSAoUlZWTTF4M0hJLCB0cnVlLCBSVlZNMUhJLCAzLCBMTVVMXzEsIDE2KQotVFVQTEVfRU5U UlkgKFJWVk1GMngzSEksIHRydWUsIFJWVk1GMkhJLCAzLCBMTVVMX0YyLCAzMikKLVRVUExFX0VO VFJZIChSVlZNRjR4M0hJLCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiwgUlZWTUY0SEksIDMsIExNVUxf RjQsIDY0KQorVFVQTEVfRU5UUlkgKFJWVk1GMngzSEksICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBS VlZNRjJISSwgMywgTE1VTF9GMiwgMzIpCitUVVBMRV9FTlRSWSAoUlZWTUY0eDNISSwgVEFSR0VU X01JTl9WTEVOID4gMzIgJiYgIVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GNEhJLCAzLCBMTVVM X0Y0LCA2NCkKIFRVUExFX0VOVFJZIChSVlZNNHgySEksIHRydWUsIFJWVk00SEksIDIsIExNVUxf NCwgNCkKIFRVUExFX0VOVFJZIChSVlZNMngySEksIHRydWUsIFJWVk0ySEksIDIsIExNVUxfMiwg OCkKIFRVUExFX0VOVFJZIChSVlZNMXgySEksIHRydWUsIFJWVk0xSEksIDIsIExNVUxfMSwgMTYp Ci1UVVBMRV9FTlRSWSAoUlZWTUYyeDJISSwgdHJ1ZSwgUlZWTUYySEksIDIsIExNVUxfRjIsIDMy KQotVFVQTEVfRU5UUlkgKFJWVk1GNHgySEksIFRBUkdFVF9NSU5fVkxFTiA+IDMyLCBSVlZNRjRI SSwgMiwgTE1VTF9GNCwgNjQpCitUVVBMRV9FTlRSWSAoUlZWTUYyeDJISSwgIVRBUkdFVF9YVEhF QURWRUNUT1IsIFJWVk1GMkhJLCAyLCBMTVVMX0YyLCAzMikKK1RVUExFX0VOVFJZIChSVlZNRjR4 MkhJLCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiAmJiAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUY0 SEksIDIsIExNVUxfRjQsIDY0KQogCiBUVVBMRV9FTlRSWSAoUlZWTTF4OEhGLCBUQVJHRVRfVkVD VE9SX0VMRU5fRlBfMTYsIFJWVk0xSEYsIDgsIExNVUxfMSwgMTYpCi1UVVBMRV9FTlRSWSAoUlZW TUYyeDhIRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2LCBSVlZNRjJIRiwgOCwgTE1VTF9GMiwg MzIpCi1UVVBMRV9FTlRSWSAoUlZWTUY0eDhIRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2ICYm IFRBUkdFVF9NSU5fVkxFTiA+IDMyLCBSVlZNRjRIRiwgOCwgTE1VTF9GNCwgNjQpCitUVVBMRV9F TlRSWSAoUlZWTUYyeDhIRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2ICYmICFUQVJHRVRfWFRI RUFEVkVDVE9SLCBSVlZNRjJIRiwgOCwgTE1VTF9GMiwgMzIpCitUVVBMRV9FTlRSWSAoUlZWTUY0 eDhIRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2ICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyICYm ICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjRIRiwgOCwgTE1VTF9GNCwgNjQpCiBUVVBMRV9F TlRSWSAoUlZWTTF4N0hGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYsIFJWVk0xSEYsIDcsIExN VUxfMSwgMTYpCi1UVVBMRV9FTlRSWSAoUlZWTUYyeDdIRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQ XzE2LCBSVlZNRjJIRiwgNywgTE1VTF9GMiwgMzIpCi1UVVBMRV9FTlRSWSAoUlZWTUY0eDdIRiwg VEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2ICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyLCBSVlZNRjRI RiwgNywgTE1VTF9GNCwgNjQpCitUVVBMRV9FTlRSWSAoUlZWTUYyeDdIRiwgVEFSR0VUX1ZFQ1RP Ul9FTEVOX0ZQXzE2ICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjJIRiwgNywgTE1VTF9G MiwgMzIpCitUVVBMRV9FTlRSWSAoUlZWTUY0eDdIRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2 ICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjRI RiwgNywgTE1VTF9GNCwgNjQpCiBUVVBMRV9FTlRSWSAoUlZWTTF4NkhGLCBUQVJHRVRfVkVDVE9S X0VMRU5fRlBfMTYsIFJWVk0xSEYsIDYsIExNVUxfMSwgMTYpCi1UVVBMRV9FTlRSWSAoUlZWTUYy eDZIRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2LCBSVlZNRjJIRiwgNiwgTE1VTF9GMiwgMzIp Ci1UVVBMRV9FTlRSWSAoUlZWTUY0eDZIRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2ICYmIFRB UkdFVF9NSU5fVkxFTiA+IDMyLCBSVlZNRjRIRiwgNiwgTE1VTF9GNCwgNjQpCitUVVBMRV9FTlRS WSAoUlZWTUYyeDZIRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2ICYmICFUQVJHRVRfWFRIRUFE VkVDVE9SLCBSVlZNRjJIRiwgNiwgTE1VTF9GMiwgMzIpCitUVVBMRV9FTlRSWSAoUlZWTUY0eDZI RiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2ICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyICYmICFU QVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjRIRiwgNiwgTE1VTF9GNCwgNjQpCiBUVVBMRV9FTlRS WSAoUlZWTTF4NUhGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYsIFJWVk0xSEYsIDUsIExNVUxf MSwgMTYpCi1UVVBMRV9FTlRSWSAoUlZWTUYyeDVIRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2 LCBSVlZNRjJIRiwgNSwgTE1VTF9GMiwgMzIpCi1UVVBMRV9FTlRSWSAoUlZWTUY0eDVIRiwgVEFS R0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2ICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyLCBSVlZNRjRIRiwg NSwgTE1VTF9GNCwgNjQpCitUVVBMRV9FTlRSWSAoUlZWTUYyeDVIRiwgVEFSR0VUX1ZFQ1RPUl9F TEVOX0ZQXzE2ICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjJIRiwgNSwgTE1VTF9GMiwg MzIpCitUVVBMRV9FTlRSWSAoUlZWTUY0eDVIRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2ICYm IFRBUkdFVF9NSU5fVkxFTiA+IDMyICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjRIRiwg NSwgTE1VTF9GNCwgNjQpCiBUVVBMRV9FTlRSWSAoUlZWTTJ4NEhGLCBUQVJHRVRfVkVDVE9SX0VM RU5fRlBfMTYsIFJWVk0ySEYsIDQsIExNVUxfMiwgOCkKIFRVUExFX0VOVFJZIChSVlZNMXg0SEYs IFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8xNiwgUlZWTTFIRiwgNCwgTE1VTF8xLCAxNikKLVRVUExF X0VOVFJZIChSVlZNRjJ4NEhGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYsIFJWVk1GMkhGLCA0 LCBMTVVMX0YyLCAzMikKLVRVUExFX0VOVFJZIChSVlZNRjR4NEhGLCBUQVJHRVRfVkVDVE9SX0VM RU5fRlBfMTYgJiYgVEFSR0VUX01JTl9WTEVOID4gMzIsIFJWVk1GNEhGLCA0LCBMTVVMX0Y0LCA2 NCkKK1RVUExFX0VOVFJZIChSVlZNRjJ4NEhGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYgJiYg IVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GMkhGLCA0LCBMTVVMX0YyLCAzMikKK1RVUExFX0VO VFJZIChSVlZNRjR4NEhGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYgJiYgVEFSR0VUX01JTl9W TEVOID4gMzIgJiYgIVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GNEhGLCA0LCBMTVVMX0Y0LCA2 NCkKIFRVUExFX0VOVFJZIChSVlZNMngzSEYsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8xNiwgUlZW TTJIRiwgMywgTE1VTF8yLCA4KQogVFVQTEVfRU5UUlkgKFJWVk0xeDNIRiwgVEFSR0VUX1ZFQ1RP Ul9FTEVOX0ZQXzE2LCBSVlZNMUhGLCAzLCBMTVVMXzEsIDE2KQotVFVQTEVfRU5UUlkgKFJWVk1G MngzSEYsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8xNiwgUlZWTUYySEYsIDMsIExNVUxfRjIsIDMy KQotVFVQTEVfRU5UUlkgKFJWVk1GNHgzSEYsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8xNiAmJiBU QVJHRVRfTUlOX1ZMRU4gPiAzMiwgUlZWTUY0SEYsIDMsIExNVUxfRjQsIDY0KQorVFVQTEVfRU5U UlkgKFJWVk1GMngzSEYsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8xNiAmJiAhVEFSR0VUX1hUSEVB RFZFQ1RPUiwgUlZWTUYySEYsIDMsIExNVUxfRjIsIDMyKQorVFVQTEVfRU5UUlkgKFJWVk1GNHgz SEYsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8xNiAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAzMiAmJiAh VEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUY0SEYsIDMsIExNVUxfRjQsIDY0KQogVFVQTEVfRU5U UlkgKFJWVk00eDJIRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2LCBSVlZNNEhGLCAyLCBMTVVM XzQsIDQpCiBUVVBMRV9FTlRSWSAoUlZWTTJ4MkhGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYs IFJWVk0ySEYsIDIsIExNVUxfMiwgOCkKIFRVUExFX0VOVFJZIChSVlZNMXgySEYsIFRBUkdFVF9W RUNUT1JfRUxFTl9GUF8xNiwgUlZWTTFIRiwgMiwgTE1VTF8xLCAxNikKLVRVUExFX0VOVFJZIChS VlZNRjJ4MkhGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYsIFJWVk1GMkhGLCAyLCBMTVVMX0Yy LCAzMikKLVRVUExFX0VOVFJZIChSVlZNRjR4MkhGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYg JiYgVEFSR0VUX01JTl9WTEVOID4gMzIsIFJWVk1GNEhGLCAyLCBMTVVMX0Y0LCA2NCkKK1RVUExF X0VOVFJZIChSVlZNRjJ4MkhGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYgJiYgIVRBUkdFVF9Y VEhFQURWRUNUT1IsIFJWVk1GMkhGLCAyLCBMTVVMX0YyLCAzMikKK1RVUExFX0VOVFJZIChSVlZN RjR4MkhGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYgJiYgVEFSR0VUX01JTl9WTEVOID4gMzIg JiYgIVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GNEhGLCAyLCBMTVVMX0Y0LCA2NCkKIAogVFVQ TEVfRU5UUlkgKFJWVk0xeDhTSSwgdHJ1ZSwgUlZWTTFTSSwgOCwgTE1VTF8xLCAxNikKLVRVUExF X0VOVFJZIChSVlZNRjJ4OFNJLCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiwgUlZWTUYyU0ksIDgsIExN VUxfRjIsIDMyKQorVFVQTEVfRU5UUlkgKFJWVk1GMng4U0ksIChUQVJHRVRfTUlOX1ZMRU4gPiAz MikgJiYgIVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GMlNJLCA4LCBMTVVMX0YyLCAzMikKIFRV UExFX0VOVFJZIChSVlZNMXg3U0ksIHRydWUsIFJWVk0xU0ksIDcsIExNVUxfMSwgMTYpCi1UVVBM RV9FTlRSWSAoUlZWTUYyeDdTSSwgVEFSR0VUX01JTl9WTEVOID4gMzIsIFJWVk1GMlNJLCA3LCBM TVVMX0YyLCAzMikKK1RVUExFX0VOVFJZIChSVlZNRjJ4N1NJLCAoVEFSR0VUX01JTl9WTEVOID4g MzIpICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjJTSSwgNywgTE1VTF9GMiwgMzIpCiBU VVBMRV9FTlRSWSAoUlZWTTF4NlNJLCB0cnVlLCBSVlZNMVNJLCA2LCBMTVVMXzEsIDE2KQotVFVQ TEVfRU5UUlkgKFJWVk1GMng2U0ksIFRBUkdFVF9NSU5fVkxFTiA+IDMyLCBSVlZNRjJTSSwgNiwg TE1VTF9GMiwgMzIpCitUVVBMRV9FTlRSWSAoUlZWTUYyeDZTSSwgVEFSR0VUX01JTl9WTEVOID4g MzIgJiYgIVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GMlNJLCA2LCBMTVVMX0YyLCAzMikKIFRV UExFX0VOVFJZIChSVlZNMXg1U0ksIHRydWUsIFJWVk0xU0ksIDUsIExNVUxfMSwgMTYpCi1UVVBM RV9FTlRSWSAoUlZWTUYyeDVTSSwgVEFSR0VUX01JTl9WTEVOID4gMzIsIFJWVk1GMlNJLCA1LCBM TVVMX0YyLCAzMikKK1RVUExFX0VOVFJZIChSVlZNRjJ4NVNJLCBUQVJHRVRfTUlOX1ZMRU4gPiAz MiAmJiAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUYyU0ksIDUsIExNVUxfRjIsIDMyKQogVFVQ TEVfRU5UUlkgKFJWVk0yeDRTSSwgdHJ1ZSwgUlZWTTJTSSwgNCwgTE1VTF8yLCA4KQogVFVQTEVf RU5UUlkgKFJWVk0xeDRTSSwgdHJ1ZSwgUlZWTTFTSSwgNCwgTE1VTF8xLCAxNikKLVRVUExFX0VO VFJZIChSVlZNRjJ4NFNJLCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiwgUlZWTUYyU0ksIDQsIExNVUxf RjIsIDMyKQorVFVQTEVfRU5UUlkgKFJWVk1GMng0U0ksIFRBUkdFVF9NSU5fVkxFTiA+IDMyICYm ICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjJTSSwgNCwgTE1VTF9GMiwgMzIpCiBUVVBMRV9F TlRSWSAoUlZWTTJ4M1NJLCB0cnVlLCBSVlZNMlNJLCAzLCBMTVVMXzIsIDgpCiBUVVBMRV9FTlRS WSAoUlZWTTF4M1NJLCB0cnVlLCBSVlZNMVNJLCAzLCBMTVVMXzEsIDE2KQotVFVQTEVfRU5UUlkg KFJWVk1GMngzU0ksIFRBUkdFVF9NSU5fVkxFTiA+IDMyLCBSVlZNRjJTSSwgMywgTE1VTF9GMiwg MzIpCitUVVBMRV9FTlRSWSAoUlZWTUYyeDNTSSwgVEFSR0VUX01JTl9WTEVOID4gMzIgJiYgIVRB UkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GMlNJLCAzLCBMTVVMX0YyLCAzMikKIFRVUExFX0VOVFJZ IChSVlZNNHgyU0ksIHRydWUsIFJWVk00U0ksIDIsIExNVUxfNCwgNCkKIFRVUExFX0VOVFJZIChS VlZNMngyU0ksIHRydWUsIFJWVk0yU0ksIDIsIExNVUxfMiwgOCkKIFRVUExFX0VOVFJZIChSVlZN MXgyU0ksIHRydWUsIFJWVk0xU0ksIDIsIExNVUxfMSwgMTYpCi1UVVBMRV9FTlRSWSAoUlZWTUYy eDJTSSwgVEFSR0VUX01JTl9WTEVOID4gMzIsIFJWVk1GMlNJLCAyLCBMTVVMX0YyLCAzMikKK1RV UExFX0VOVFJZIChSVlZNRjJ4MlNJLCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiAmJiAhVEFSR0VUX1hU SEVBRFZFQ1RPUiwgUlZWTUYyU0ksIDIsIExNVUxfRjIsIDMyKQogCiBUVVBMRV9FTlRSWSAoUlZW TTF4OFNGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIsIFJWVk0xU0YsIDgsIExNVUxfMSwgMTYp Ci1UVVBMRV9FTlRSWSAoUlZWTUYyeDhTRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyICYmIFRB UkdFVF9NSU5fVkxFTiA+IDMyLCBSVlZNRjJTRiwgOCwgTE1VTF9GMiwgMzIpCitUVVBMRV9FTlRS WSAoUlZWTUYyeDhTRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyICYmIFRBUkdFVF9NSU5fVkxF TiA+IDMyICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjJTRiwgOCwgTE1VTF9GMiwgMzIp CiBUVVBMRV9FTlRSWSAoUlZWTTF4N1NGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIsIFJWVk0x U0YsIDcsIExNVUxfMSwgMTYpCi1UVVBMRV9FTlRSWSAoUlZWTUYyeDdTRiwgVEFSR0VUX1ZFQ1RP Ul9FTEVOX0ZQXzMyICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyLCBSVlZNRjJTRiwgNywgTE1VTF9G MiwgMzIpCitUVVBMRV9FTlRSWSAoUlZWTUYyeDdTRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMy ICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjJT RiwgNywgTE1VTF9GMiwgMzIpCiBUVVBMRV9FTlRSWSAoUlZWTTF4NlNGLCBUQVJHRVRfVkVDVE9S X0VMRU5fRlBfMzIsIFJWVk0xU0YsIDYsIExNVUxfMSwgMTYpCi1UVVBMRV9FTlRSWSAoUlZWTUYy eDZTRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyLCBS VlZNRjJTRiwgNiwgTE1VTF9GMiwgMzIpCitUVVBMRV9FTlRSWSAoUlZWTUYyeDZTRiwgVEFSR0VU X1ZFQ1RPUl9FTEVOX0ZQXzMyICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyICYmICFUQVJHRVRfWFRI RUFEVkVDVE9SLCBSVlZNRjJTRiwgNiwgTE1VTF9GMiwgMzIpCiBUVVBMRV9FTlRSWSAoUlZWTTF4 NVNGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIsIFJWVk0xU0YsIDUsIExNVUxfMSwgMTYpCi1U VVBMRV9FTlRSWSAoUlZWTUYyeDVTRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyICYmIFRBUkdF VF9NSU5fVkxFTiA+IDMyLCBSVlZNRjJTRiwgNSwgTE1VTF9GMiwgMzIpCitUVVBMRV9FTlRSWSAo UlZWTUYyeDVTRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyICYmIFRBUkdFVF9NSU5fVkxFTiA+ IDMyICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjJTRiwgNSwgTE1VTF9GMiwgMzIpCiBU VVBMRV9FTlRSWSAoUlZWTTJ4NFNGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIsIFJWVk0yU0Ys IDQsIExNVUxfMiwgOCkKIFRVUExFX0VOVFJZIChSVlZNMXg0U0YsIFRBUkdFVF9WRUNUT1JfRUxF Tl9GUF8zMiwgUlZWTTFTRiwgNCwgTE1VTF8xLCAxNikKLVRVUExFX0VOVFJZIChSVlZNRjJ4NFNG LCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIgJiYgVEFSR0VUX01JTl9WTEVOID4gMzIsIFJWVk1G MlNGLCA0LCBMTVVMX0YyLCAzMikKK1RVUExFX0VOVFJZIChSVlZNRjJ4NFNGLCBUQVJHRVRfVkVD VE9SX0VMRU5fRlBfMzIgJiYgVEFSR0VUX01JTl9WTEVOID4gMzIgJiYgIVRBUkdFVF9YVEhFQURW RUNUT1IsIFJWVk1GMlNGLCA0LCBMTVVMX0YyLCAzMikKIFRVUExFX0VOVFJZIChSVlZNMngzU0Ys IFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8zMiwgUlZWTTJTRiwgMywgTE1VTF8yLCA4KQogVFVQTEVf RU5UUlkgKFJWVk0xeDNTRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyLCBSVlZNMVNGLCAzLCBM TVVMXzEsIDE2KQotVFVQTEVfRU5UUlkgKFJWVk1GMngzU0YsIFRBUkdFVF9WRUNUT1JfRUxFTl9G UF8zMiAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAzMiwgUlZWTUYyU0YsIDMsIExNVUxfRjIsIDMyKQor VFVQTEVfRU5UUlkgKFJWVk1GMngzU0YsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8zMiAmJiBUQVJH RVRfTUlOX1ZMRU4gPiAzMiAmJiAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUYyU0YsIDMsIExN VUxfRjIsIDMyKQogVFVQTEVfRU5UUlkgKFJWVk00eDJTRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQ XzMyLCBSVlZNNFNGLCAyLCBMTVVMXzQsIDQpCiBUVVBMRV9FTlRSWSAoUlZWTTJ4MlNGLCBUQVJH RVRfVkVDVE9SX0VMRU5fRlBfMzIsIFJWVk0yU0YsIDIsIExNVUxfMiwgOCkKIFRVUExFX0VOVFJZ IChSVlZNMXgyU0YsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8zMiwgUlZWTTFTRiwgMiwgTE1VTF8x LCAxNikKLVRVUExFX0VOVFJZIChSVlZNRjJ4MlNGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIg JiYgVEFSR0VUX01JTl9WTEVOID4gMzIsIFJWVk1GMlNGLCAyLCBMTVVMX0YyLCAzMikKK1RVUExF X0VOVFJZIChSVlZNRjJ4MlNGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIgJiYgVEFSR0VUX01J Tl9WTEVOID4gMzIgJiYgIVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GMlNGLCAyLCBMTVVMX0Yy LCAzMikKIAogVFVQTEVfRU5UUlkgKFJWVk0xeDhESSwgVEFSR0VUX1ZFQ1RPUl9FTEVOXzY0LCBS VlZNMURJLCA4LCBMTVVMXzEsIDE2KQogVFVQTEVfRU5UUlkgKFJWVk0xeDdESSwgVEFSR0VUX1ZF Q1RPUl9FTEVOXzY0LCBSVlZNMURJLCA3LCBMTVVMXzEsIDE2KQpkaWZmIC0tZ2l0IGEvZ2NjL2Nv bmZpZy9yaXNjdi9yaXNjdi5jYyBiL2djYy9jb25maWcvcmlzY3YvcmlzY3YuY2MKaW5kZXggOGY3 NGNkMmU1MDIuLjI4Y2YxZjQxNGU5IDEwMDY0NAotLS0gYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2 LmNjCisrKyBiL2djYy9jb25maWcvcmlzY3YvcmlzY3YuY2MKQEAgLTE0MDYsNiArMTQwNiw5IEBA IHJpc2N2X3ZfYWRqdXN0X2J5dGVzaXplIChtYWNoaW5lX21vZGUgbW9kZSwgaW50IHNjYWxlKQog ewrCoMKgIGlmIChyaXNjdl92X2V4dF92ZWN0b3JfbW9kZV9wIChtb2RlKSkKwqDCoMKgwqAgewor wqDCoMKgwqDCoCBpZiAoVEFSR0VUX1hUSEVBRFZFQ1RPUikKKwlyZXR1cm4gQllURVNfUEVSX1JJ U0NWX1ZFQ1RPUjsKKwrCoMKgwqDCoMKgwqAgcG9seV9pbnQ2NCBudW5pdHMgPSBHRVRfTU9ERV9O VU5JVFMgKG1vZGUpOwrCoMKgwqDCoMKgwqAgcG9seV9pbnQ2NCBtb2RlX3NpemUgPSBHRVRfTU9E RV9TSVpFIChtb2RlKTsKIApAQCAtOTk5NSw3ICs5OTk4LDcgQEAgcmlzY3ZfdXNlX2Rpdm1vZF9l eHBhbmRlciAodm9pZCkKIHN0YXRpYyBtYWNoaW5lX21vZGUKIHJpc2N2X3ByZWZlcnJlZF9zaW1k X21vZGUgKHNjYWxhcl9tb2RlIG1vZGUpCiB7Ci3CoCBpZiAoVEFSR0VUX1ZFQ1RPUikKK8KgIGlm IChUQVJHRVRfVkVDVE9SICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SKQrCoMKgwqDCoCByZXR1cm4g cmlzY3ZfdmVjdG9yOjpwcmVmZXJyZWRfc2ltZF9tb2RlIChtb2RlKTsKIArCoMKgIHJldHVybiB3 b3JkX21vZGU7CkBAIC0xMDM0Niw3ICsxMDM0OSw3IEBAIHJpc2N2X21vZGVfcHJpb3JpdHkgKGlu dCwgaW50IG4pCiB1bnNpZ25lZCBpbnQKIHJpc2N2X2F1dG92ZWN0b3JpemVfdmVjdG9yX21vZGVz ICh2ZWN0b3JfbW9kZXMgKm1vZGVzLCBib29sIGFsbCkKIHsKLcKgIGlmIChUQVJHRVRfVkVDVE9S KQorwqAgaWYgKFRBUkdFVF9WRUNUT1IgJiYgIVRBUkdFVF9YVEhFQURWRUNUT1IpCsKgwqDCoMKg IHJldHVybiByaXNjdl92ZWN0b3I6OmF1dG92ZWN0b3JpemVfdmVjdG9yX21vZGVzIChtb2Rlcywg YWxsKTsKIArCoMKgIHJldHVybiBkZWZhdWx0X2F1dG92ZWN0b3JpemVfdmVjdG9yX21vZGVzICht b2RlcywgYWxsKTsKQEAgLTEwNTI5LDYgKzEwNTMyLDE2IEBAIGV4dHJhY3RfYmFzZV9vZmZzZXRf aW5fYWRkciAocnR4IG1lbSwgcnR4ICpiYXNlLCBydHggKm9mZnNldCkKwqDCoCByZXR1cm4gZmFs c2U7CiB9CiAKKy8qIEltcGxlbWVudHMgdGFyZ2V0IGhvb2sgdmVjdG9yX21vZGVfc3VwcG9ydGVk X2FueV90YXJnZXRfcC7CoCAqLworCitzdGF0aWMgYm9vbAorcmlzY3ZfdmVjdG9yX21vZGVfc3Vw cG9ydGVkX2FueV90YXJnZXRfcCAobWFjaGluZV9tb2RlIG1vZGUpCit7CivCoCBpZiAoVEFSR0VU X1hUSEVBRFZFQ1RPUikKK8KgwqDCoCByZXR1cm4gZmFsc2U7CivCoCByZXR1cm4gdHJ1ZTsKK30K KwogLyogSW5pdGlhbGl6ZSB0aGUgR0NDIHRhcmdldCBzdHJ1Y3R1cmUuwqAgKi8KICN1bmRlZiBU QVJHRVRfQVNNX0FMSUdORURfSElfT1AKICNkZWZpbmUgVEFSR0VUX0FTTV9BTElHTkVEX0hJX09Q ICJcdC5oYWxmXHQiCkBAIC0xMDg3Miw2ICsxMDg4NSw5IEBAIGV4dHJhY3RfYmFzZV9vZmZzZXRf aW5fYWRkciAocnR4IG1lbSwgcnR4ICpiYXNlLCBydHggKm9mZnNldCkKICN1bmRlZiBUQVJHRVRf UFJFRkVSUkVEX0VMU0VfVkFMVUUKICNkZWZpbmUgVEFSR0VUX1BSRUZFUlJFRF9FTFNFX1ZBTFVF IHJpc2N2X3ByZWZlcnJlZF9lbHNlX3ZhbHVlCiAKKyN1bmRlZiBUQVJHRVRfVkVDVE9SX01PREVf U1VQUE9SVEVEX0FOWV9UQVJHRVRfUAorI2RlZmluZSBUQVJHRVRfVkVDVE9SX01PREVfU1VQUE9S VEVEX0FOWV9UQVJHRVRfUCByaXNjdl92ZWN0b3JfbW9kZV9zdXBwb3J0ZWRfYW55X3RhcmdldF9w CisKIHN0cnVjdCBnY2NfdGFyZ2V0IHRhcmdldG0gPSBUQVJHRVRfSU5JVElBTElaRVI7CiAKICNp bmNsdWRlICJndC1yaXNjdi5oIgpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdl90 aF92ZWN0b3IuaCBiL2djYy9jb25maWcvcmlzY3YvcmlzY3ZfdGhfdmVjdG9yLmgKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmI2YjY3MzhiZGRhCi0tLSAvZGV2L251bGwK KysrIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdl90aF92ZWN0b3IuaApAQCAtMCwwICsxLDQ5IEBA CisvKiBSSVNDLVYgJ1hUaGVhZFZlY3RvcicgRXh0ZW5zaW9uIGludHJpbnNpY3MgaW5jbHVkZSBm aWxlLgorwqDCoCBDb3B5cmlnaHQgKEMpIDIwMjQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ bmMuCisKK8KgwqAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR0NDLgorCivCoMKgIEdDQyBpcyBmcmVl IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CivCoMKg IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVi bGlzaGVkCivCoMKgIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJz aW9uIDMsIG9yIChhdCB5b3VyCivCoMKgIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKK8Kg wqAgR0NDIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws IGJ1dCBXSVRIT1VUCivCoMKgIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk IHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWQorwqDCoCBvciBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRS7CoCBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworwqDCoCBMaWNlbnNl IGZvciBtb3JlIGRldGFpbHMuCisKK8KgwqAgVW5kZXIgU2VjdGlvbiA3IG9mIEdQTCB2ZXJzaW9u IDMsIHlvdSBhcmUgZ3JhbnRlZCBhZGRpdGlvbmFsCivCoMKgIHBlcm1pc3Npb25zIGRlc2NyaWJl ZCBpbiB0aGUgR0NDIFJ1bnRpbWUgTGlicmFyeSBFeGNlcHRpb24sIHZlcnNpb24KK8KgwqAgMy4x LCBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKworwqDCoCBZ b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBhbmQKK8KgwqAgYSBjb3B5IG9mIHRoZSBHQ0MgUnVudGltZSBMaWJyYXJ5IEV4Y2Vw dGlvbiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsKK8KgwqAgc2VlIHRoZSBmaWxlcyBDT1BZSU5H MyBhbmQgQ09QWUlORy5SVU5USU1FIHJlc3BlY3RpdmVseS7CoCBJZiBub3QsIHNlZQorwqDCoCA8 IiB0YXJnZXQ9Il9ibGFuayI+IiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5nbnUub3JnL2xp Y2Vuc2VzLz4uwqAgKi8KKworI2lmbmRlZiBfX1JJU0NWX1RIX1ZFQ1RPUl9ICisjZGVmaW5lIF9f UklTQ1ZfVEhfVkVDVE9SX0gKKworI2luY2x1ZGUgPHN0ZGludC5oPgorI2luY2x1ZGUgPHN0ZGRl Zi5oPgorCisjaWZuZGVmIF9fcmlzY3ZfeHRoZWFkdmVjdG9yCisjZXJyb3IgIlhUaGVhZFZlY3Rv ciBpbnRyaW5zaWNzIHJlcXVpcmUgdGhlIHh0aGVhZHZlY3RvciBleHRlbnNpb24uIgorI2Vsc2UK KyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworLyogTk9URTogVGhp cyBpbXBsZW1lbnRhdGlvbiBvZiByaXNjdl90aF92ZWN0b3IuaCBpcyBpbnRlbnRpb25hbGx5IHNo b3J0LsKgIEl0IGRvZXMKK8KgwqAgbm90IGRlZmluZSB0aGUgUlZWIHR5cGVzIGFuZCBpbnRyaW5z aWMgZnVuY3Rpb25zIGRpcmVjdGx5IGluIEMgYW5kIEMrKworwqDCoCBjb2RlLCBidXQgaW5zdGVh ZCB1c2VzIHRoZSBmb2xsb3dpbmcgcHJhZ21hIHRvIHRlbGwgR0NDIHRvIGluc2VydCB0aGUKK8Kg wqAgbmVjZXNzYXJ5IHR5cGUgYW5kIGZ1bmN0aW9uIGRlZmluaXRpb25zIGl0c2VsZi7CoCBUaGUg bmV0IGVmZmVjdCBpcyB0aGUKK8KgwqAgc2FtZSwgYW5kIHRoZSBmaWxlIGlzIGEgY29tcGxldGUg aW1wbGVtZW50YXRpb24gb2YgcmlzY3ZfdGhfdmVjdG9yLmguwqAgKi8KKyNwcmFnbWEgcmlzY3Yg aW50cmluc2ljICJ4dGhlYWR2ZWN0b3IiCisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlm IC8vIF9fY3BsdXNwbHVzCisjZW5kaWYgLy8gX19yaXNjdl94dGhlYWR2ZWN0b3IKKyNlbmRpZiAv LyBfX1JJU0NWX1RIX0VDVE9SX0gKZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3YvdGhlYWQt dmVjdG9yLm1kIGIvZ2NjL2NvbmZpZy9yaXNjdi90aGVhZC12ZWN0b3IubWQKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjY5NmI4MTUyNTJkCi0tLSAvZGV2L251bGwKKysr IGIvZ2NjL2NvbmZpZy9yaXNjdi90aGVhZC12ZWN0b3IubWQKQEAgLTAsMCArMSwxMDIgQEAKKyhk ZWZpbmVfY19lbnVtICJ1bnNwZWMiIFsKK8KgIFVOU1BFQ19USF9WV0xEU1QKK10pCisKKyhkZWZp bmVfbW9kZV9pdGVyYXRvciBWX1ZMU19WVCBbViBWTFMgVlRdKQorKGRlZmluZV9tb2RlX2l0ZXJh dG9yIFZfVkJfVkxTX1ZUIFtWIFZCIFZMUyBWVF0pCisKKyhkZWZpbmVfc3BsaXQKK8KgIFsoc2V0 IChtYXRjaF9vcGVyYW5kOlZfVkJfVkxTX1ZUIDAgInJlZ19vcl9tZW1fb3BlcmFuZCIpCisJKG1h dGNoX29wZXJhbmQ6Vl9WQl9WTFNfVlQgMSAicmVnX29yX21lbV9vcGVyYW5kIikpXQorwqAgIlRB UkdFVF9YVEhFQURWRUNUT1IiCivCoCBbKGNvbnN0X2ludCAwKV0KK8KgIHsKK8KgwqDCoCBlbWl0 X2luc24gKGdlbl9wcmVkX3RoX3dob2xlX21vdiAoPE1PREU+bW9kZSwgb3BlcmFuZHNbMF0sIG9w ZXJhbmRzWzFdLAorCQkJCcKgwqDCoMKgwqAgUlZWX1ZMTUFYLCBHRU5fSU5UKHJpc2N2X3ZlY3Rv cjo6VkxNQVgpKSk7CivCoMKgwqAgRE9ORTsKK8KgIH0pCisKKyhkZWZpbmVfaW5zbl9hbmRfc3Bs aXQgIkBwcmVkX3RoX3dob2xlX21vdjxtb2RlPiIKK8KgIFsoc2V0IChtYXRjaF9vcGVyYW5kOlZf VkxTX1ZUIDAgInJlZ19vcl9tZW1fb3BlcmFuZCLCoCAiPXZyLHZyLCBtIikKKwkodW5zcGVjOlZf VkxTX1ZUCisJwqAgWyhtYXRjaF9vcGVyYW5kOlZfVkxTX1ZUIDEgInJlZ19vcl9tZW1fb3BlcmFu ZCIgIiB2ciwgbSx2ciIpCisJwqDCoCAobWF0Y2hfb3BlcmFuZCAyICJ2ZWN0b3JfbGVuZ3RoX29w ZXJhbmQiwqDCoCAiIHJLLCBySywgcksiKQorCcKgwqAgKG1hdGNoX29wZXJhbmQgMyAiY29uc3Rf MV9vcGVyYW5kIsKgwqDCoMKgwqDCoMKgwqAgIsKgIGksIGksIGkiKQorCcKgwqAgKHJlZzpTSSBW TF9SRUdOVU0pCisJwqDCoCAocmVnOlNJIFZUWVBFX1JFR05VTSldCisJVU5TUEVDX1RIX1ZXTERT VCkpXQorwqAgIlRBUkdFVF9YVEhFQURWRUNUT1IiCivCoCAiQAorwqDCoCB2bXYudi52XHQlMCwl MQorwqDCoCB2bGUudlx0JTAsJTEKK8KgwqAgdnNlLnZcdCUxLCUwIgorwqAgIiYmIFJFR19QIChv cGVyYW5kc1swXSkgJiYgUkVHX1AgKG9wZXJhbmRzWzFdKQorwqDCoCAmJiBSRUdOTyAob3BlcmFu ZHNbMF0pID09IFJFR05PIChvcGVyYW5kc1sxXSkiCivCoCBbKGNvbnN0X2ludCAwKV0KK8KgICIi CivCoCBbKHNldF9hdHRyICJ0eXBlIiAidmltb3Ysdmxkcyx2bGRzIikKK8KgwqAgKHNldF9hdHRy ICJtb2RlIiAiPE1PREU+IikKK8KgwqAgKHNldCAoYXR0ciAidGEiKSAoc3ltYm9sX3JlZiAicmlz Y3ZfdmVjdG9yOjpUQUlMX1VORElTVFVSQkVEIikpCivCoMKgIChzZXQgKGF0dHIgIm1hIikgKHN5 bWJvbF9yZWYgInJpc2N2X3ZlY3Rvcjo6TUFTS19VTkRJU1RVUkJFRCIpKQorwqDCoCAoc2V0IChh dHRyICJhdmxfdHlwZV9pZHgiKSAoY29uc3RfaW50IDMpKQorwqDCoCAoc2V0X2F0dHIgInZsX29w X2lkeCIgIjIiKV0pCisKKyhkZWZpbmVfaW5zbl9hbmRfc3BsaXQgIkBwcmVkX3RoX3dob2xlX21v djxtb2RlPiIKK8KgIFsoc2V0IChtYXRjaF9vcGVyYW5kOlZCIDAgInJlZ19vcl9tZW1fb3BlcmFu ZCLCoCAiPXZyLHZyLCBtIikKKwkodW5zcGVjOlZCCisJwqAgWyhtYXRjaF9vcGVyYW5kOlZCIDEg InJlZ19vcl9tZW1fb3BlcmFuZCIgIiB2ciwgbSx2ciIpCisJwqDCoCAobWF0Y2hfb3BlcmFuZCAy ICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiwqDCoCAiIHJLLCBySywgcksiKQorCcKgwqAgKG1hdGNo X29wZXJhbmQgMyAiY29uc3RfMV9vcGVyYW5kIsKgwqDCoMKgwqDCoMKgwqAgIsKgIGksIGksIGki KQorCcKgwqAgKHJlZzpTSSBWTF9SRUdOVU0pCisJwqDCoCAocmVnOlNJIFZUWVBFX1JFR05VTSld CisJVU5TUEVDX1RIX1ZXTERTVCkpXQorwqAgIlRBUkdFVF9YVEhFQURWRUNUT1IiCivCoCAiQAor wqDCoCB2bXYudi52XHQlMCwlMQorwqDCoCB2bGUudlx0JTAsJTEKK8KgwqAgdnNlLnZcdCUxLCUw IgorwqAgIiYmIFJFR19QIChvcGVyYW5kc1swXSkgJiYgUkVHX1AgKG9wZXJhbmRzWzFdKQorwqDC oCAmJiBSRUdOTyAob3BlcmFuZHNbMF0pID09IFJFR05PIChvcGVyYW5kc1sxXSkiCivCoCBbKGNv bnN0X2ludCAwKV0KK8KgICIiCivCoCBbKHNldF9hdHRyICJ0eXBlIiAidmltb3Ysdmxkcyx2bGRz IikKK8KgwqAgKHNldF9hdHRyICJtb2RlIiAiPE1PREU+IikKK8KgwqAgKHNldCAoYXR0ciAidGEi KSAoc3ltYm9sX3JlZiAicmlzY3ZfdmVjdG9yOjpUQUlMX1VORElTVFVSQkVEIikpCivCoMKgIChz ZXQgKGF0dHIgIm1hIikgKHN5bWJvbF9yZWYgInJpc2N2X3ZlY3Rvcjo6TUFTS19VTkRJU1RVUkJF RCIpKQorwqDCoCAoc2V0IChhdHRyICJhdmxfdHlwZV9pZHgiKSAoY29uc3RfaW50IDMpKQorwqDC oCAoc2V0X2F0dHIgInZsX29wX2lkeCIgIjIiKQorwqDCoCAoc2V0IChhdHRyICJzZXciKSAoY29u c3RfaW50IDgpKQorwqDCoCAoc2V0IChhdHRyICJ2bG11bCIpIChzeW1ib2xfcmVmICJyaXNjdl92 ZWN0b3I6OkxNVUxfMSIpKV0pCisKKyhkZWZpbmVfaW5zbl9hbmRfc3BsaXQgIipwcmVkX3RoX21v djxtb2RlPiIKK8KgIFsoc2V0IChtYXRjaF9vcGVyYW5kOlZCX1ZMUyAwICJub25pbW1lZGlhdGVf b3BlcmFuZCLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICI9dnIswqDCoCBtLMKgIHZyLMKg IHZyLMKgIHZyIikKKwkoaWZfdGhlbl9lbHNlOlZCX1ZMUworCcKgICh1bnNwZWM6VkJfVkxTCisJ wqDCoMKgIFsobWF0Y2hfb3BlcmFuZDpWQl9WTFMgMSAidmVjdG9yX2FsbF90cnVlc19tYXNrX29w ZXJhbmQiICJXYzEsIFdjMSwgV2MxLCBXYzEsIFdjMSIpCisJwqDCoMKgwqAgKG1hdGNoX29wZXJh bmQgNCAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIsKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgIiBySyzC oCBySyzCoCBySyzCoCBySyzCoCBySyIpCisJwqDCoMKgwqAgKG1hdGNoX29wZXJhbmQgNSAiY29u c3RfaW50X29wZXJhbmQiwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICLCoCBpLMKgwqAg aSzCoMKgIGkswqDCoCBpLMKgwqAgaSIpCisJwqDCoMKgwqAgKHJlZzpTSSBWTF9SRUdOVU0pCisJ wqDCoMKgwqAgKHJlZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNfVlBSRURJQ0FURSkKKwnCoCAo bWF0Y2hfb3BlcmFuZDpWQl9WTFMgMyAidmVjdG9yX21vdmVfb3BlcmFuZCLCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCAiwqAgbSzCoCB2cizCoCB2ciwgV2MwLCBXYzEiKQorCcKgIChtYXRjaF9v cGVyYW5kOlZCX1ZMUyAyICJ2ZWN0b3JfdW5kZWZfb3BlcmFuZCLCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgIiB2dSzCoCB2dSzCoCB2dSzCoCB2dSzCoCB2dSIpKSldCivCoCAiVEFSR0VUX1hUSEVB RFZFQ1RPUiIKK8KgICJACivCoMKgICMKK8KgwqAgIworwqDCoCB2bWNweS5tXHQlMCwlMworwqDC oCB2bWNsci5tXHQlMAorwqDCoCB2bXNldC5tXHQlMCIKK8KgICImJiAhcmVsb2FkX2NvbXBsZXRl ZCIKK8KgIFsoY29uc3RfaW50IDApXQorwqAgeworwqDCoMKgIGlmICgoTUVNX1AgKG9wZXJhbmRz WzBdKSB8fCBNRU1fUCAob3BlcmFuZHNbM10pKQorwqDCoMKgwqDCoMKgwqAgfHwgKFJFR19QIChv cGVyYW5kc1swXSkgJiYgUkVHX1AgKG9wZXJhbmRzWzNdKQorCcKgwqDCoCAmJiBJTlRWQUwgKG9w ZXJhbmRzWzVdKSA9PSByaXNjdl92ZWN0b3I6OlZMTUFYKSkKK8KgwqDCoMKgwqAgeworCWVtaXRf bW92ZV9pbnNuIChvcGVyYW5kc1swXSwgb3BlcmFuZHNbM10pOworCURPTkU7CivCoMKgwqDCoMKg IH0KK8KgwqDCoCBGQUlMOworwqAgfQorwqAgWyhzZXRfYXR0ciAidHlwZSIgInZsZG0sdnN0bSx2 bWFsdSx2bWFsdSx2bWFsdSIpCivCoMKgIChzZXRfYXR0ciAibW9kZSIgIjxNT0RFPiIpXSkKZGlm ZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3YvdGhlYWQuY2MgYi9nY2MvY29uZmlnL3Jpc2N2L3Ro ZWFkLmNjCmluZGV4IDAwYjJlMTRjNmMwLi5jYzA0MTAxYjI1NiAxMDA2NDQKLS0tIGEvZ2NjL2Nv bmZpZy9yaXNjdi90aGVhZC5jYworKysgYi9nY2MvY29uZmlnL3Jpc2N2L3RoZWFkLmNjCkBAIC0y Nyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiYmFja2VuZC5oIgogI2luY2x1ZGUgInRyZWUuaCIKICNp bmNsdWRlICJydGwuaCIKKyNpbmNsdWRlICJpbnNuLWF0dHIuaCIKICNpbmNsdWRlICJleHBsb3cu aCIKICNpbmNsdWRlICJtZW1tb2RlbC5oIgogI2luY2x1ZGUgImVtaXQtcnRsLmgiCkBAIC04OTAs OCArODkxLDI2IEBAIHRoX2FzbV9vdXRwdXRfb3Bjb2RlIChGSUxFICphc21fb3V0X2ZpbGUsIGNv bnN0IGNoYXIgKnApCiB7CsKgwqAgLyogV2UgbmVlZCB0byBhZGQgdGguIHByZWZpeCB0byBhbGwg dGhlIHh0aGVhZHZlY3RvcgrCoMKgwqDCoMKgIGluc3RydWN0aW9ucyBoZXJlLiovCi3CoCBpZiAo Y3VycmVudF9vdXRwdXRfaW5zbiAhPSBOVUxMICYmIHBbMF0gPT0gJ3YnKQotwqDCoMKgIGZwdXRz ICgidGguIiwgYXNtX291dF9maWxlKTsKK8KgIGlmIChjdXJyZW50X291dHB1dF9pbnNuICE9IE5V TEwpCivCoMKgwqAgeworwqDCoMKgwqDCoCBpZiAoZ2V0X2F0dHJfdHlwZSAoY3VycmVudF9vdXRw dXRfaW5zbikgPT0gVFlQRV9WU0VUVkwpCisJeworCcKgIGlmIChzdHJzdHIgKHAsICJ6ZXJvIikp CisJwqDCoMKgIHsKKwnCoMKgwqDCoMKgIGlmIChzdHJzdHIgKHAsICJ6ZXJvLHplcm8iKSkKKwkJ cmV0dXJuICJ0aC52c2V0dmxpXHR6ZXJvLHplcm8sZSUwLCVtMSI7CisJwqDCoMKgwqDCoCBlbHNl CisJCXJldHVybiAidGgudnNldHZsaVx0emVybywlMCxlJTEsJW0yIjsKKwnCoMKgwqAgfQorCcKg IGVsc2UKKwnCoMKgwqAgeworCcKgwqDCoMKgwqAgcmV0dXJuICJ0aC52c2V0dmxpXHQlMCwlMSxl JTIsJW0zIjsKKwnCoMKgwqAgfQorCX0KKworwqDCoMKgwqDCoCBpZiAocFswXSA9PSAndicpCisJ ZnB1dHMgKCJ0aC4iLCBhc21fb3V0X2ZpbGUpOworwqDCoMKgIH0KIArCoMKgIHJldHVybiBwOwog fQpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi92ZWN0b3IubWQgYi9nY2MvY29uZmlnL3Jp c2N2L3ZlY3Rvci5tZAppbmRleCAyNGI3YjQzOTRiZS4uM2ViNmRhYWZiYzIgMTAwNjQ0Ci0tLSBh L2djYy9jb25maWcvcmlzY3YvdmVjdG9yLm1kCisrKyBiL2djYy9jb25maWcvcmlzY3YvdmVjdG9y Lm1kCkBAIC04Nyw3ICs4Nyw3IEBACiA7OyBjaGVjay4gSG93ZXZlciwgd2UgbmVlZCBkZWZhdWx0 IHZhbHVlIG9mIFNFVyBmb3IgdnNldHZsIGluc3RydWN0aW9uIHNpbmNlIHRoZXJlCiA7OyBpcyBu byBmaWVsZCBmb3IgcmF0aW8gaW4gdGhlIHZzZXR2bCBpbnN0cnVjdGlvbiBlbmNvZGluZy4KIChk ZWZpbmVfYXR0ciAic2V3IiAiIgotwqAgKGNvbmQgWyhlcV9hdHRyICJtb2RlIiAiUlZWTUY2NEJJ LFJWVk1GMzJCSSxSVlZNRjE2QkksUlZWTUY4QkksUlZWTUY0QkksUlZWTUYyQkksUlZWTTFCSSxc CivCoCAoY29uZCBbKGVxX2F0dHIgIm1vZGUiICJSVlZNRjhCSSxSVlZNRjRCSSxSVlZNRjJCSSxS VlZNMUJJLFwKIAkJCcKgIFJWVk04UUksUlZWTTRRSSxSVlZNMlFJLFJWVk0xUUksUlZWTUYyUUks UlZWTUY0UUksUlZWTUY4UUksXAogCQkJwqAgUlZWTTF4OFFJLFJWVk1GMng4UUksUlZWTUY0eDhR SSxSVlZNRjh4OFFJLFwKIAkJCcKgIFJWVk0xeDdRSSxSVlZNRjJ4N1FJLFJWVk1GNHg3UUksUlZW TUY4eDdRSSxcCkBAIC05OSw2ICs5OSwxOCBAQAogCQkJwqAgVjFRSSxWMlFJLFY0UUksVjhRSSxW MTZRSSxWMzJRSSxWNjRRSSxWMTI4UUksVjI1NlFJLFY1MTJRSSxWMTAyNFFJLFYyMDQ4UUksVjQw OTZRSSxcCiAJCQnCoCBWMUJJLFYyQkksVjRCSSxWOEJJLFYxNkJJLFYzMkJJLFY2NEJJLFYxMjhC SSxWMjU2QkksVjUxMkJJLFYxMDI0QkksVjIwNDhCSSxWNDA5NkJJIikKIAkgKGNvbnN0X2ludCA4 KQorCSAoZXFfYXR0ciAibW9kZSIgIlJWVk1GMTZCSSIpCisJwqDCoCAoaWZfdGhlbl9lbHNlICht YXRjaF90ZXN0ICJUQVJHRVRfWFRIRUFEVkVDVE9SIikKKwnCoMKgwqDCoCAoY29uc3RfaW50IDE2 KQorCcKgwqDCoMKgIChjb25zdF9pbnQgOCkpCisJIChlcV9hdHRyICJtb2RlIiAiUlZWTUYzMkJJ IikKKwnCoMKgIChpZl90aGVuX2Vsc2UgKG1hdGNoX3Rlc3QgIlRBUkdFVF9YVEhFQURWRUNUT1Ii KQorCcKgwqDCoMKgIChjb25zdF9pbnQgMzIpCisJwqDCoMKgwqAgKGNvbnN0X2ludCA4KSkKKwkg KGVxX2F0dHIgIm1vZGUiICJSVlZNRjY0QkkiKQorCcKgwqAgKGlmX3RoZW5fZWxzZSAobWF0Y2hf dGVzdCAiVEFSR0VUX1hUSEVBRFZFQ1RPUiIpCisJwqDCoMKgwqAgKGNvbnN0X2ludCA2NCkKKwnC oMKgwqDCoCAoY29uc3RfaW50IDgpKQogCSAoZXFfYXR0ciAibW9kZSIgIlJWVk04SEksUlZWTTRI SSxSVlZNMkhJLFJWVk0xSEksUlZWTUYySEksUlZWTUY0SEksXAogCQkJwqAgUlZWTTF4OEhJLFJW Vk1GMng4SEksUlZWTUY0eDhISSxcCiAJCQnCoCBSVlZNMXg3SEksUlZWTUYyeDdISSxSVlZNRjR4 N0hJLFwKQEAgLTE1OSw5ICsxNzEsOSBAQAogCSAoZXFfYXR0ciAibW9kZSIgIlJWVk00UUksUlZW TUYyQkkiKSAoc3ltYm9sX3JlZiAicmlzY3ZfdmVjdG9yOjpMTVVMXzQiKQogCSAoZXFfYXR0ciAi bW9kZSIgIlJWVk0yUUksUlZWTUY0QkkiKSAoc3ltYm9sX3JlZiAicmlzY3ZfdmVjdG9yOjpMTVVM XzIiKQogCSAoZXFfYXR0ciAibW9kZSIgIlJWVk0xUUksUlZWTUY4QkkiKSAoc3ltYm9sX3JlZiAi cmlzY3ZfdmVjdG9yOjpMTVVMXzEiKQotCSAoZXFfYXR0ciAibW9kZSIgIlJWVk1GMlFJLFJWVk1G MTZCSSIpIChzeW1ib2xfcmVmICJyaXNjdl92ZWN0b3I6OkxNVUxfRjIiKQotCSAoZXFfYXR0ciAi bW9kZSIgIlJWVk1GNFFJLFJWVk1GMzJCSSIpIChzeW1ib2xfcmVmICJyaXNjdl92ZWN0b3I6OkxN VUxfRjQiKQotCSAoZXFfYXR0ciAibW9kZSIgIlJWVk1GOFFJLFJWVk1GNjRCSSIpIChzeW1ib2xf cmVmICJyaXNjdl92ZWN0b3I6OkxNVUxfRjgiKQorCSAoZXFfYXR0ciAibW9kZSIgIlJWVk1GMlFJ LFJWVk1GMTZCSSIpIChzeW1ib2xfcmVmICJUQVJHRVRfWFRIRUFEVkVDVE9SID8gcmlzY3ZfdmVj dG9yOjpMTVVMXzEgOiByaXNjdl92ZWN0b3I6OkxNVUxfRjIiKQorCSAoZXFfYXR0ciAibW9kZSIg IlJWVk1GNFFJLFJWVk1GMzJCSSIpIChzeW1ib2xfcmVmICJUQVJHRVRfWFRIRUFEVkVDVE9SID8g cmlzY3ZfdmVjdG9yOjpMTVVMXzEgOiByaXNjdl92ZWN0b3I6OkxNVUxfRjQiKQorCSAoZXFfYXR0 ciAibW9kZSIgIlJWVk1GOFFJLFJWVk1GNjRCSSIpIChzeW1ib2xfcmVmICJUQVJHRVRfWFRIRUFE VkVDVE9SID8gcmlzY3ZfdmVjdG9yOjpMTVVMXzEgOiByaXNjdl92ZWN0b3I6OkxNVUxfRjgiKQog CSAoZXFfYXR0ciAibW9kZSIgIlJWVk04SEkiKSAoc3ltYm9sX3JlZiAicmlzY3ZfdmVjdG9yOjpM TVVMXzgiKQogCSAoZXFfYXR0ciAibW9kZSIgIlJWVk00SEkiKSAoc3ltYm9sX3JlZiAicmlzY3Zf dmVjdG9yOjpMTVVMXzQiKQogCSAoZXFfYXR0ciAibW9kZSIgIlJWVk0ySEkiKSAoc3ltYm9sX3Jl ZiAicmlzY3ZfdmVjdG9yOjpMTVVMXzIiKQpAQCAtNDM2LDYgKzQ0OCwxMCBAQAogCQkJwqAgdmFl c2tmMSx2YWVza2YyLHZhZXN6LHZzaGEybXMsdnNoYTJjaCx2c2hhMmNsLHZzbTRrLHZzbTRyLFwK IAkJCcKgIHZzbTNtZSx2c20zYyIpCiAJwqDCoCAoY29uc3RfaW50IElOVkFMSURfQVRUUklCVVRF KQorCShhbmQgKGVxX2F0dHIgInR5cGUiICJ2bGRlLHZzdGUsdmxzZWdkZSx2c3NlZ3RlLHZsc2Vn ZHMsdnNzZWd0cyxcCisJCQnCoMKgwqDCoMKgwqAgdmxzZWdkZmYsdnNzZWd0dXgsdmxzZWdkb3gs dmxzZWdkdXgiKQorCcKgwqDCoMKgwqAgKG1hdGNoX3Rlc3QgIlRBUkdFVF9YVEhFQURWRUNUT1Ii KSkKKwnCoMKgIChjb25zdF9pbnQgSU5WQUxJRF9BVFRSSUJVVEUpCiAJIChlcV9hdHRyICJtb2Rl IiAiUlZWTThRSSxSVlZNMUJJIikgKGNvbnN0X2ludCAxKQogCSAoZXFfYXR0ciAibW9kZSIgIlJW Vk00UUksUlZWTUYyQkkiKSAoY29uc3RfaW50IDIpCiAJIChlcV9hdHRyICJtb2RlIiAiUlZWTTJR SSxSVlZNRjRCSSIpIChjb25zdF9pbnQgNCkKQEAgLTkwNSw2ICs5MjEsOCBAQAogCSAoc3ltYm9s X3JlZiAicmlzY3ZfdmVjdG9yOjpGUk1fRFlOIildCiAJKHN5bWJvbF9yZWYgInJpc2N2X3ZlY3Rv cjo6RlJNX05PTkUiKSkpCiAKKyhpbmNsdWRlICJ0aGVhZC12ZWN0b3IubWQiKQorCiA7OyAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQogOzsgLS0tLSBNaXNjZWxsYW5lb3VzIE9wZXJhdGlvbnMKIDs7IC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC0x MDc4LDYgKzEwOTYsMTIgQEAKwqDCoMKgwqDCoMKgwqAgLSBXZSBjYW4gbm90IGxlYXZlIGl0IHRv IFRBUkdFVF9TRUNPTkRBUllfUkVMT0FEIHNpbmNlIGl0IGhhcHBlbnMKIAkgYmVmb3JlIHNwaWxs aW5nLiBUaGUgY2xvYmJlciBzY3JhdGNoIGlzIHVzZWQgYnkgc3BpbGxpbmcgZnJhY3Rpb25hbAog CSByZWdpc3RlcnMgaW4gSVJBL0xSQSBzbyBpdCdzIHRvbyBlYXJseS7CoCAqLworwqAgaWYgKFRB UkdFVF9YVEhFQURWRUNUT1IpCivCoMKgwqAgeworwqDCoMKgwqDCoCBlbWl0X2luc24gKGdlbl9w cmVkX3RoX3dob2xlX21vdiAoPE1PREU+bW9kZSwgb3BlcmFuZHNbMF0sIG9wZXJhbmRzWzFdLAor CQkJCQlSVlZfVkxNQVgsIEdFTl9JTlQocmlzY3ZfdmVjdG9yOjpWTE1BWCkpKTsKK8KgwqDCoMKg wqAgRE9ORTsKK8KgwqDCoCB9CiAKwqDCoCBpZiAocmlzY3ZfdmVjdG9yOjpsZWdpdGltaXplX21v dmUgKG9wZXJhbmRzWzBdLCAmb3BlcmFuZHNbMV0pKQrCoMKgwqDCoCBET05FOwpAQCAtMTExNCw3 ICsxMTM4LDcgQEAKIChkZWZpbmVfaW5zbiAiKm1vdjxtb2RlPl93aG9sZSIKwqDCoCBbKHNldCAo bWF0Y2hfb3BlcmFuZDpWX1dIT0xFIDAgInJlZ19vcl9tZW1fb3BlcmFuZCIgIj12ciwgbSx2ciIp CiAJKG1hdGNoX29wZXJhbmQ6Vl9XSE9MRSAxICJyZWdfb3JfbWVtX29wZXJhbmQiICLCoCBtLHZy LHZyIikpXQotwqAgIlRBUkdFVF9WRUNUT1IiCivCoCAiVEFSR0VUX1ZFQ1RPUiAmJiAhVEFSR0VU X1hUSEVBRFZFQ1RPUiIKwqDCoCAiQArCoMKgwqAgdmwlbTFyZTxzZXc+LnZcdCUwLCUxCsKgwqDC oCB2cyVtMXIudlx0JTEsJTAKQEAgLTExMzUsNiArMTE1OSwxMyBAQAogCShtYXRjaF9vcGVyYW5k OlZCIDEgImdlbmVyYWxfb3BlcmFuZCIpKV0KwqDCoCAiVEFSR0VUX1ZFQ1RPUiIKIHsKK8KgIGlm IChUQVJHRVRfWFRIRUFEVkVDVE9SKQorwqDCoMKgIHsKK8KgwqDCoMKgwqAgZW1pdF9pbnNuIChn ZW5fcHJlZF90aF93aG9sZV9tb3YgKDxNT0RFPm1vZGUsIG9wZXJhbmRzWzBdLCBvcGVyYW5kc1sx XSwKKwkJCQkJUlZWX1ZMTUFYLCBHRU5fSU5UKHJpc2N2X3ZlY3Rvcjo6VkxNQVgpKSk7CivCoMKg wqDCoMKgIERPTkU7CivCoMKgwqAgfQorCsKgwqAgaWYgKHJpc2N2X3ZlY3Rvcjo6bGVnaXRpbWl6 ZV9tb3ZlIChvcGVyYW5kc1swXSwgJm9wZXJhbmRzWzFdKSkKwqDCoMKgwqAgRE9ORTsKIH0pCkBA IC0xMTQyLDcgKzExNzMsNyBAQAogKGRlZmluZV9pbnNuICIqbW92PG1vZGU+IgrCoMKgIFsoc2V0 IChtYXRjaF9vcGVyYW5kOlZCIDAgInJlZ2lzdGVyX29wZXJhbmQiICI9dnIiKQogCShtYXRjaF9v cGVyYW5kOlZCIDEgInJlZ2lzdGVyX29wZXJhbmQiICIgdnIiKSldCi3CoCAiVEFSR0VUX1ZFQ1RP UiIKK8KgICJUQVJHRVRfVkVDVE9SICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SIgrCoMKgICJ2bXYx ci52XHQlMCwlMSIKwqDCoCBbKHNldF9hdHRyICJ0eXBlIiAidm1vdiIpCsKgwqDCoCAoc2V0X2F0 dHIgIm1vZGUiICI8TU9ERT4iKV0pCkBAIC0zNjkyLDcgKzM3MjMsNyBAQAogCcKgIChhbnlfZXh0 ZW5kOlZXRVhUSQogCcKgwqDCoCAobWF0Y2hfb3BlcmFuZDo8Vl9ET1VCTEVfVFJVTkM+IDMgInJl Z2lzdGVyX29wZXJhbmQiwqDCoCAiVzIxLFcyMSxXMjEsVzIxLFc0MixXNDIsVzQyLFc0MixXODQs Vzg0LFc4NCxXODQswqDCoCB2cizCoMKgIHZyIikpCiAJwqAgKG1hdGNoX29wZXJhbmQ6VldFWFRJ IDIgInZlY3Rvcl9tZXJnZV9vcGVyYW5kIsKgwqDCoMKgwqDCoMKgwqDCoMKgICIgdnUsIHZ1LMKg IDAswqAgMCwgdnUsIHZ1LMKgIDAswqAgMCwgdnUsIHZ1LMKgIDAswqAgMCzCoMKgIHZ1LMKgwqDC oCAwIikpKV0KLcKgICJUQVJHRVRfVkVDVE9SIgorwqAgIlRBUkdFVF9WRUNUT1IgJiYgIVRBUkdF VF9YVEhFQURWRUNUT1IiCsKgwqAgInY8c3o+ZXh0LnZmMlx0JTAsJTMlcDEiCsKgwqAgWyhzZXRf YXR0ciAidHlwZSIgInZleHQiKQrCoMKgwqAgKHNldF9hdHRyICJtb2RlIiAiPE1PREU+IikKQEAg LTM3MTMsNyArMzc0NCw3IEBACiAJwqAgKGFueV9leHRlbmQ6VlFFWFRJCiAJwqDCoMKgIChtYXRj aF9vcGVyYW5kOjxWX1FVQURfVFJVTkM+IDMgInJlZ2lzdGVyX29wZXJhbmQiwqDCoCAiVzQzLFc0 MyxXNDMsVzQzLFc4NixXODYsVzg2LFc4NizCoMKgIHZyLMKgwqAgdnIiKSkKIAnCoCAobWF0Y2hf b3BlcmFuZDpWUUVYVEkgMiAidmVjdG9yX21lcmdlX29wZXJhbmQiwqDCoMKgwqDCoMKgwqDCoCAi IHZ1LCB2dSzCoCAwLMKgIDAsIHZ1LCB2dSzCoCAwLMKgIDAswqDCoCB2dSzCoMKgwqAgMCIpKSld Ci3CoCAiVEFSR0VUX1ZFQ1RPUiIKK8KgICJUQVJHRVRfVkVDVE9SICYmICFUQVJHRVRfWFRIRUFE VkVDVE9SIgrCoMKgICJ2PHN6PmV4dC52ZjRcdCUwLCUzJXAxIgrCoMKgIFsoc2V0X2F0dHIgInR5 cGUiICJ2ZXh0IikKwqDCoMKgIChzZXRfYXR0ciAibW9kZSIgIjxNT0RFPiIpCkBAIC0zNzM0LDcg KzM3NjUsNyBAQAogCcKgIChhbnlfZXh0ZW5kOlZPRVhUSQogCcKgwqDCoCAobWF0Y2hfb3BlcmFu ZDo8Vl9PQ1RfVFJVTkM+IDMgInJlZ2lzdGVyX29wZXJhbmQiwqDCoCAiVzg3LFc4NyxXODcsVzg3 LMKgwqAgdnIswqDCoCB2ciIpKQogCcKgIChtYXRjaF9vcGVyYW5kOlZPRVhUSSAyICJ2ZWN0b3Jf bWVyZ2Vfb3BlcmFuZCLCoMKgwqDCoMKgwqDCoCAiIHZ1LCB2dSzCoCAwLMKgIDAswqDCoCB2dSzC oMKgwqAgMCIpKSldCi3CoCAiVEFSR0VUX1ZFQ1RPUiIKK8KgICJUQVJHRVRfVkVDVE9SICYmICFU QVJHRVRfWFRIRUFEVkVDVE9SIgrCoMKgICJ2PHN6PmV4dC52ZjhcdCUwLCUzJXAxIgrCoMKgIFso c2V0X2F0dHIgInR5cGUiICJ2ZXh0IikKwqDCoMKgIChzZXRfYXR0ciAibW9kZSIgIjxNT0RFPiIp CmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvYWJp LTEuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9hYmktMS5jCmlu ZGV4IDJlMGUxMmFhMDQ1Li4yZWVmOWUxZTFhOCAxMDA2NDQKLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9n Y2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL2FiaS0xLmMKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L3Jpc2N2L3J2di9iYXNlL2FiaS0xLmMKQEAgLTEsNCArMSw0IEBACi0vKiB7IGRnLWRv IGNvbXBpbGUgfSAqLworLyogeyBkZy1kbyBjb21waWxlIHsgdGFyZ2V0IHsgISByaXNjdl94dGhl YWR2ZWN0b3IgfSB9IH0gKi8KIC8qIHsgZGctc2tpcC1pZiAidGVzdCBydnYgaW50cmluc2ljIiB7 ICotKi0qIH0geyAiKiIgfSB7ICItbWFyY2g9cnYqdioiIH0gfSAqLwogCiB2b2lkIGZvbzAgKCkg e19fcnZ2X2Jvb2w2NF90IHQ7fQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L3Jpc2N2L3J2di9iYXNlL3ByYWdtYS0xLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlz Y3YvcnZ2L2Jhc2UvcHJhZ21hLTEuYwppbmRleCAzZDgxYjE3OTIzNS4uZWYzMjllMzA3ODUgMTAw NjQ0Ci0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9wcmFnbWEt MS5jCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9wcmFnbWEt MS5jCkBAIC0xLDQgKzEsNCBAQAogLyogeyBkZy1kbyBjb21waWxlIH0gKi8KIC8qIHsgZGctb3B0 aW9ucyAiLU8zIC1tYXJjaD1ydjMyZ2MgLW1hYmk9aWxwMzJkIiB9ICovCiAKLSNwcmFnbWEgcmlz Y3YgaW50cmluc2ljICJ2ZWN0b3IiIC8qIHsgZGctZXJyb3IgeyNwcmFnbWEgcmlzY3YgaW50cmlu c2ljJyBvcHRpb24gJ3ZlY3RvcicgbmVlZHMgJ1YnIGV4dGVuc2lvbiBlbmFibGVkfSB9ICovCisj cHJhZ21hIHJpc2N2IGludHJpbnNpYyAidmVjdG9yIiAvKiB7IGRnLWVycm9yIHsjcHJhZ21hIHJp c2N2IGludHJpbnNpYycgb3B0aW9uICd2ZWN0b3InIG5lZWRzICdWJyBvciAnWFRIRUFEVkVDVE9S JyBleHRlbnNpb24gZW5hYmxlZH0gfSAqLwpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9saWIv dGFyZ2V0LXN1cHBvcnRzLmV4cCBiL2djYy90ZXN0c3VpdGUvbGliL3RhcmdldC1zdXBwb3J0cy5l eHAKaW5kZXggYjI3YzMwYjhjNTEuLmJmMGFkNTM0MmQ2IDEwMDY0NAotLS0gYS9nY2MvdGVzdHN1 aXRlL2xpYi90YXJnZXQtc3VwcG9ydHMuZXhwCisrKyBiL2djYy90ZXN0c3VpdGUvbGliL3Rhcmdl dC1zdXBwb3J0cy5leHAKQEAgLTE5NTYsNiArMTk1NiwxOCBAQCBwcm9jIGNoZWNrX2VmZmVjdGl2 ZV90YXJnZXRfcmlzY3ZfemJiIHsgfSB7CsKgwqDCoMKgIH1dCiB9CiAKKyMgUmV0dXJuIDEgaWYg dGhlIHRhcmdldCBhcmNoIHN1cHBvcnRzIHRoZSBYVGhlYWRWZWN0b3IgZXh0ZW5zaW9uLCAwIG90 aGVyd2lzZS4KKyMgQ2FjaGUgdGhlIHJlc3VsdC4KKworcHJvYyBjaGVja19lZmZlY3RpdmVfdGFy Z2V0X3Jpc2N2X3h0aGVhZHZlY3RvciB7IH0geworwqDCoMKgIHJldHVybiBbY2hlY2tfbm9fY29t cGlsZXJfbWVzc2FnZXMgcmlzY3ZfZXh0X3h0aGVhZHZlY3RvciBhc3NlbWJseSB7CivCoMKgwqDC oMKgwqAgI2lmbmRlZiBfX3Jpc2N2X3h0aGVhZHZlY3RvcgorwqDCoMKgwqDCoMKgICNlcnJvciAi Tm90IF9fcmlzY3ZfeHRoZWFkdmVjdG9yIgorwqDCoMKgwqDCoMKgICNlbmRpZgorwqDCoMKgIH1d Cit9CisKKwogIyBSZXR1cm4gMSBpZiB3ZSBjYW4gZXhlY3V0ZSBjb2RlIHdoZW4gdXNpbmcgZGct YWRkLW9wdGlvbnMgcmlzY3ZfdgogCiBwcm9jIGNoZWNrX2VmZmVjdGl2ZV90YXJnZXRfcmlzY3Zf dl9vayB7IH0gewotLSAKMi4xNy4xCsKgCsKgCsKgCsKgCgoK