From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 5CF4AD5CC81 for ; Wed, 30 Oct 2024 10:05:09 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id 18C9B8102F; Wed, 30 Oct 2024 10:05:08 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id 5oyEMFSp2PnZ; Wed, 30 Oct 2024 10:05:03 +0000 (UTC) X-Comment: SPF check N/A for local connections - client-ip=140.211.166.142; helo=lists1.osuosl.org; envelope-from=buildroot-bounces@buildroot.org; receiver= DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org BA7BB8104D Received: from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142]) by smtp1.osuosl.org (Postfix) with ESMTP id BA7BB8104D; Wed, 30 Oct 2024 10:05:03 +0000 (UTC) Received: from smtp3.osuosl.org (smtp3.osuosl.org [IPv6:2605:bc80:3010::136]) by lists1.osuosl.org (Postfix) with ESMTP id EF7AA5E4F for ; Wed, 30 Oct 2024 10:05:01 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id C7ED360743 for ; Wed, 30 Oct 2024 10:05:01 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id r8JCZuQKtQpd for ; Wed, 30 Oct 2024 10:04:59 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=2607:f8b0:4864:20::102d; helo=mail-pj1-x102d.google.com; envelope-from=bagasdotme@gmail.com; receiver= DMARC-Filter: OpenDMARC Filter v1.4.2 smtp3.osuosl.org 9CDC160638 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org 9CDC160638 Received: from mail-pj1-x102d.google.com (mail-pj1-x102d.google.com [IPv6:2607:f8b0:4864:20::102d]) by smtp3.osuosl.org (Postfix) with ESMTPS id 9CDC160638 for ; Wed, 30 Oct 2024 10:04:59 +0000 (UTC) Received: by mail-pj1-x102d.google.com with SMTP id 98e67ed59e1d1-2e2a97c2681so4780959a91.2 for ; Wed, 30 Oct 2024 03:04:59 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730282699; x=1730887499; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=gioydPe/0jVuXCHv6v+R7ZykIhcM48VXXIDxwqWjSVc=; b=Ik5MzA0ccMV2e0NfhF5upt/5vdQw/PAx0uV68a8YGww54xJbYmFhTaIGxrdBBxNpVu tGREbjVRQCusknQJ5MdzDKMxJEsad3jYpVNPN5nSHfZqRdQhcuggPkpkB+VlG3wZrwtD N3n51L8sAxeO75qJ8oBYbbn61Tly3GwTxstHSkicIV9OcycpJr4RykArkXXIAU9pPHT0 ix3LBZdIkI6x3xMjUXrdd5OsLZIAc1JKRYr+G2eNBNsHLeWjnnNAru8YbKG2HRqRj2f8 2pzffoqHBserMiJmIcow3iSImXRrocjhdWWSdTMuYpPiMt77nxhm9I69RMfo7Dc0Gwxp hutA== X-Gm-Message-State: AOJu0Yxnee1HebgYE/Jj9XQjM6JfIAeZDtH4LcREeWm+wuUNL/ccYbvj 5jshDvX9vVbNhLgKK8tMSzQ1gMYsYwCAeTVB5m3HhKd8oDkB2mGj X-Google-Smtp-Source: AGHT+IH0q3LlX9zmjeM+NJJl601GDH0hWbgW2M3jxXq+l68/hDsd/mGK2F4Bsfm6D123xCioHeDIxg== X-Received: by 2002:a17:90a:7c06:b0:2e0:921a:3383 with SMTP id 98e67ed59e1d1-2e92ce2e140mr3249752a91.1.1730282698266; Wed, 30 Oct 2024 03:04:58 -0700 (PDT) Received: from archie.me ([103.124.138.155]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-2e92fac3b6bsm1251431a91.55.2024.10.30.03.04.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 30 Oct 2024 03:04:57 -0700 (PDT) Received: by archie.me (Postfix, from userid 1000) id EC0DE44FA2C1; Wed, 30 Oct 2024 17:04:51 +0700 (WIB) From: Bagas Sanjaya To: Buildroot Development Cc: Edgar Bonet , Brandon Maier , Thomas Petazzoni , Dario Binacchi , Ben Wolsieffer , Bagas Sanjaya Date: Wed, 30 Oct 2024 17:04:03 +0700 Message-ID: <20241030100404.43847-3-bagasdotme@gmail.com> X-Mailer: git-send-email 2.47.0 MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=37348; i=bagasdotme@gmail.com; h=from:subject; bh=ncgSzxdKWtHKUVkymGWqEvQ7n73nbJAoxZpiAToMFxI=; b=owGbwMvMwCUmqirOYPHY4znjabUkhnQllqm/9XU7J29NrlpllGZfpL+2kiFAwjqU37Y36sM52 8+L75d1lLIwiHExyIopskSvld1lzLv3kllMQhHMHFYmkCEMXJwCMJGb8xn++097vtN5Ur9e+4WJ cU3ZmyYZ1Io63xJY/vuaw0u/2e+lLRj+qXzX8XM49cL34n3JKVnvhczPZjluEV4tstmi/uyqhx5 3WAA= X-Developer-Key: i=bagasdotme@gmail.com; a=openpgp; fpr=5BAD1DBA330DBDD2365C60721525170038E348E7 X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1730282699; x=1730887499; darn=buildroot.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=gioydPe/0jVuXCHv6v+R7ZykIhcM48VXXIDxwqWjSVc=; b=QEop8DIYlvEP9qZ5DE0k1YZk/QZjk84XuhX7Eq+wHMmJcpoZ4SatTbACk7J1Z3kka9 Blr0eqhvC5VQ4aVS27ubYEoBN/+q/OXKC+I5zAEIW86LXh0Tq9K2eLuOpJ2UG0IcBMpO M/8mcaCLaEufUqxMz9Td834f/SXbqqtOk3q4jEqyCPuVbq8TA9WNzxxVDh8Sphaq/sob N8la/Q4hdU/pOAhRGj1IROXW8tSIgtIEOwJboG+ncoTM8PkvAPQl1eNHx/MeZ9nmRcKu ANLUHGTE9m1qW04WGKZfFoLI1Exrc28ydqVGY2jzZ6QIc9QcbotgNzKENnajG+JB0K/u zSRw== X-Mailman-Original-Authentication-Results: smtp3.osuosl.org; dmarc=pass (p=none dis=none) header.from=gmail.com X-Mailman-Original-Authentication-Results: smtp3.osuosl.org; dkim=pass (2048-bit key, unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20230601 header.b=QEop8DIY Subject: [Buildroot] [PATCH v2] package/git: fix wchar-less uclibc build X-BeenThere: buildroot@buildroot.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: buildroot-bounces@buildroot.org Sender: "buildroot" VGhlIHBhY2thZ2UgZmFpbHMgdG8gYnVpbGQgb24gd2NoYXItbGVzcyB1Q2xpYmMtbmcgY29uZmln dXJhdGlvbgooaS5lLiB3aXRob3V0IEJSMl9UT09MQ0hBSU5fQlVJTERST09UX1dDSEFSIHNlbGVj dGVkKToKCmBgYAogICAgQ0MgdC91bml0LXRlc3RzL3VuaXQtdGVzdC5vCnQvdW5pdC10ZXN0cy9j bGFyL2NsYXIuYzogSW4gZnVuY3Rpb24gJ2NsYXJfX2Fzc2VydF9lcXVhbCc6CnQvdW5pdC10ZXN0 cy9jbGFyL2NsYXIuYzo3Njc6MjM6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAnd2NoYXJfdCcK ICA3NjcgfCAgICAgICAgICAgICAgICAgY29uc3Qgd2NoYXJfdCAqd2NzMSA9IHZhX2FyZyhhcmdz LCBjb25zdCB3Y2hhcl90ICopOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+ CkluIGZpbGUgaW5jbHVkZWQgZnJvbSB0L3VuaXQtdGVzdHMvY2xhci9jbGFyLmM6MTM6CnQvdW5p dC10ZXN0cy9jbGFyL2NsYXIuYzo3Njc6NTg6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAnd2No YXJfdCcKICA3NjcgfCAgICAgICAgICAgICAgICAgY29uc3Qgd2NoYXJfdCAqd2NzMSA9IHZhX2Fy ZyhhcmdzLCBjb25zdCB3Y2hhcl90ICopOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KdC91bml0LXRlc3RzL2Ns YXIvY2xhci5jOjc2ODoyMzogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICd3Y2hhcl90JwogIDc2 OCB8ICAgICAgICAgICAgICAgICBjb25zdCB3Y2hhcl90ICp3Y3MyID0gdmFfYXJnKGFyZ3MsIGNv bnN0IHdjaGFyX3QgKik7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KdC91 bml0LXRlc3RzL2NsYXIvY2xhci5jOjc2ODo1ODogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICd3 Y2hhcl90JwogIDc2OCB8ICAgICAgICAgICAgICAgICBjb25zdCB3Y2hhcl90ICp3Y3MyID0gdmFf YXJnKGFyZ3MsIGNvbnN0IHdjaGFyX3QgKik7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgp0L3VuaXQtdGVzdHMv Y2xhci9jbGFyLmM6NzY5OjY1OiB3YXJuaW5nOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5j dGlvbiAnd2NzY21wJyBbLVdpbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICA3NjkgfCAg ICAgICAgICAgICAgICAgaXNfZXF1YWwgPSAoIXdjczEgfHwgIXdjczIpID8gKHdjczEgPT0gd2Nz MikgOiAhd2NzY21wKHdjczEsIHdjczIpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KdC91bml0LXRl c3RzL2NsYXIvY2xhci5jOjc4NDoyMzogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICd3Y2hhcl90 JwogIDc4NCB8ICAgICAgICAgICAgICAgICBjb25zdCB3Y2hhcl90ICp3Y3MxID0gdmFfYXJnKGFy Z3MsIGNvbnN0IHdjaGFyX3QgKik7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+ fn4KdC91bml0LXRlc3RzL2NsYXIvY2xhci5jOjc4NDo1ODogZXJyb3I6IHVua25vd24gdHlwZSBu YW1lICd3Y2hhcl90JwogIDc4NCB8ICAgICAgICAgICAgICAgICBjb25zdCB3Y2hhcl90ICp3Y3Mx ID0gdmFfYXJnKGFyZ3MsIGNvbnN0IHdjaGFyX3QgKik7CiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgp0L3VuaXQt dGVzdHMvY2xhci9jbGFyLmM6Nzg1OjIzOiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ3djaGFy X3QnCiAgNzg1IHwgICAgICAgICAgICAgICAgIGNvbnN0IHdjaGFyX3QgKndjczIgPSB2YV9hcmco YXJncywgY29uc3Qgd2NoYXJfdCAqKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgXn5+ fn5+fgp0L3VuaXQtdGVzdHMvY2xhci9jbGFyLmM6Nzg1OjU4OiBlcnJvcjogdW5rbm93biB0eXBl IG5hbWUgJ3djaGFyX3QnCiAgNzg1IHwgICAgICAgICAgICAgICAgIGNvbnN0IHdjaGFyX3QgKndj czIgPSB2YV9hcmcoYXJncywgY29uc3Qgd2NoYXJfdCAqKTsKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+CnQvdW5p dC10ZXN0cy9jbGFyL2NsYXIuYzo3ODc6NjU6IHdhcm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0aW9u IG9mIGZ1bmN0aW9uICd3Y3NuY21wJyBbLVdpbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0K ICA3ODcgfCAgICAgICAgICAgICAgICAgaXNfZXF1YWwgPSAoIXdjczEgfHwgIXdjczIpID8gKHdj czEgPT0gd2NzMikgOiAhd2NzbmNtcCh3Y3MxLCB3Y3MyLCBsZW4pOwogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fn5+fn5+Cm1ha2VbMV06ICoqKiBbTWFrZWZpbGU6Mjc5NTogdC91bml0LXRlc3RzL2NsYXIvY2xh ci5vXSBFcnJvciAxCmBgYAoKVGhpcyBpcyBiZWNhdXNlIHNpbmNlIHZlcnNpb24gMi40Ny4wLCBH aXQgaW1wb3J0cyBjbGFyIHVuaXQgdGVzdGluZwpmcmFtZXdvcmssIHdoaWNoIHVzZXMgd2NoYXJf dC4gT24gd2NoYXItbGVzcyB1Q2xpYmMtbmcgY29uZmlndXJhdGlvbiwKaG93ZXZlciwgdGhlIGlu c3RhbGxlZCA8d2NoYXIuaD4gaGVhZGVyIGlzIGEgc3R1YiAodGhhdCBpcywgd2NoYXJfdAppcyB1 bmRlZmluZWQpLgoKQXBwbHkgdXBzdHJlYW0gcGF0Y2hzZXQgZnJvbSBQYXRyaWNrIFN0ZWluaGFy ZHQgWzFdLCB3aGljaCBpbmNsdWRlcwp1cHN0cmVhbWVkIGNsYXIgYnVpbGQgZml4LgoKRml4ZXM6 IGh0dHBzOi8vYXV0b2J1aWxkLmJ1aWxkcm9vdC5vcmcvcmVzdWx0cy84NWRiZjg3NDUxMTU2ZmNl N2MyYTEyZDg4ODI2MjJlYTc1ZTBkMGRiCkxpbms6IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2dp dC9jb3Zlci4xNzI5NTA2MzI5LmdpdC5wc0Bwa3MuaW0vIFsxXQpTaWduZWQtb2ZmLWJ5OiBCYWdh cyBTYW5qYXlhIDxiYWdhc2RvdG1lQGdtYWlsLmNvbT4KLS0tCgpDaGFuZ2VzIHNpbmNlIHYxIFsx XToKCiAgKiBQdWxsIHVwc3RyZWFtIEdpdCBwYXRjaCBzZXQgaW5zdGVhZCBzaW5jZSB0aGUgY2xh ciBmaXggaXMgYWxyZWFkeQogICAgdXBzdHJlYW1lZCBpbiB1cHN0cmVhbSBjbGFyLgoKWzFdOiBo dHRwczovL2xvcmUua2VybmVsLm9yZy9idWlsZHJvb3QvMjAyNDEwMjAwOTI1MjcuNzM0OTIzLTMt YmFnYXNkb3RtZUBnbWFpbC5jb20vCgogLi4uLXQtdW5pdC10ZXN0cy11cGRhdGUtY2xhci10by0y MDZhY2NiLnBhdGNoIHwgNjYxICsrKysrKysrKysrKysrKysrKwogLi4uc2VkLWNvbW1hbmQtZm9y LWdlbmVyYXRpbmctY2xhci1kZWNsLnBhdGNoIHwgIDM3ICsKIC4uLi1zY3JpcHQtdG8tZ2VuZXJh dGUtY2xhci1kZWNsYXJhdGlvbi5wYXRjaCB8ICA1OCArKwogLi4uY29tcGlsYXRpb24tb2YtY2xh ci1iYXNlZC11bml0LXRlc3RzLnBhdGNoIHwgIDM5ICsrCiAuLi5wZXItZGVwZW5kZW5jaWVzLWZv ci1nZW5lcmF0ZWQtY2xhci0ucGF0Y2ggfCAgODQgKysrCiA1IGZpbGVzIGNoYW5nZWQsIDg3OSBp bnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgcGFja2FnZS9naXQvMDAwMS10LXVuaXQt dGVzdHMtdXBkYXRlLWNsYXItdG8tMjA2YWNjYi5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHBh Y2thZ2UvZ2l0LzAwMDItTWFrZWZpbGUtYWRqdXN0LXNlZC1jb21tYW5kLWZvci1nZW5lcmF0aW5n LWNsYXItZGVjbC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHBhY2thZ2UvZ2l0LzAwMDMtTWFr ZWZpbGUtZXh0cmFjdC1zY3JpcHQtdG8tZ2VuZXJhdGUtY2xhci1kZWNsYXJhdGlvbi5wYXRjaAog Y3JlYXRlIG1vZGUgMTAwNjQ0IHBhY2thZ2UvZ2l0LzAwMDQtY21ha2UtZml4LWNvbXBpbGF0aW9u LW9mLWNsYXItYmFzZWQtdW5pdC10ZXN0cy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHBhY2th Z2UvZ2l0LzAwMDUtY21ha2Utc2V0LXVwLXByb3Blci1kZXBlbmRlbmNpZXMtZm9yLWdlbmVyYXRl ZC1jbGFyLS5wYXRjaAoKZGlmZiAtLWdpdCBhL3BhY2thZ2UvZ2l0LzAwMDEtdC11bml0LXRlc3Rz LXVwZGF0ZS1jbGFyLXRvLTIwNmFjY2IucGF0Y2ggYi9wYWNrYWdlL2dpdC8wMDAxLXQtdW5pdC10 ZXN0cy11cGRhdGUtY2xhci10by0yMDZhY2NiLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAuLjAzMmVkYzgyNmQKLS0tIC9kZXYvbnVsbAorKysgYi9wYWNrYWdlL2dp dC8wMDAxLXQtdW5pdC10ZXN0cy11cGRhdGUtY2xhci10by0yMDZhY2NiLnBhdGNoCkBAIC0wLDAg KzEsNjYxIEBACitGcm9tIGVjOGJkODcwNzczNTUyMDdkOTQ2NmIwZWNlZjUyNDYyOTVlZTA2NzIg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBQYXRyaWNrIFN0ZWluaGFyZHQgPHBzQHBr cy5pbT4KK0RhdGU6IE1vbiwgMjEgT2N0IDIwMjQgMTI6NTY6MzMgKzAyMDAKK1N1YmplY3Q6IFtQ QVRDSCAxLzVdIHQvdW5pdC10ZXN0czogdXBkYXRlIGNsYXIgdG8gMjA2YWNjYgorCitVcGRhdGUg Y2xhciBmcm9tOgorCisgICAgLSAxNTE2MTI0IChNZXJnZSBwdWxsIHJlcXVlc3QgIzk3IGZyb20g cGtzLXQvcGtzLXdoaXRlc3BhY2UtZml4ZXMsIDIwMjQtMDgtMTUpLgorCitUbzoKKworICAgIC0g MjA2YWNjYiAoTWVyZ2UgcHVsbCByZXF1ZXN0ICMxMDggZnJvbSBwa3MtdC9wa3MtdWNsaWJjLXdp dGhvdXQtd2NoYXIsIDIwMjQtMTAtMjEpCisKK1RoaXMgdXBkYXRlIGluY2x1ZGVzIGEgYnVuY2gg b2YgZml4ZXMgYW5kIGltcHJvdmVtZW50cyB0aGF0IHdlIGhhdmUKK2Rpc2N1c3NlZCBpbiBHaXQg d2hlbiBpbml0aWFsIHN1cHBvcnQgZm9yIGNsYXIgd2FzIG1lcmdlZDoKKworICAtIFRoZXJlIGlz IGEgIi5lZGl0b3Jjb25maWciIGZpbGUgbm93LgorCisgIC0gQ29tcGF0aWJpbGl0eSB3aXRoIFdp bmRvd3MgaGFzIGJlZW4gaW1wcm92ZWQgc28gdGhhdCB0aGUgY2xhcgorICAgIGNvbXBpbGVzIG9u IHRoaXMgcGxhdGZvcm0gd2l0aG91dCBhbiBpc3N1ZS4gVGhpcyBoYXMgYmVlbiB0ZXN0ZWQKKyAg ICB3aXRoIEN5Z3dpbiwgTWluR1cgYW5kIE1pY3Jvc29mdCBWaXN1YWwgU3R1ZGlvLgorCisgIC0g Y2xhciBub3cgdXNlcyBDTWFrZS4gVGhpcyBkb2VzIG5vdCBpbXBhY3QgdXMgYXQgYWxsIGFzIHdl IHdpcmUgdXAKKyAgICB0aGUgY2xhciBpbnRvIG91ciBvd24gYnVpbGQgaW5mcmFzdHJ1Y3R1cmUg YW55d2F5LiBUaGlzIGNvbnZlcnNpb24KKyAgICB3YXMgZG9uZSBzdWNoIHRoYXQgd2UgY2FuIGVh c2lseSBydW4gQ0kgam9icyBhZ2FpbnN0IFdpbmRvd3MuCisKKyAgLSBBbGxvY2F0aW9uIGZhaWx1 cmVzIGFyZSBub3cgY2hlY2tlZCBmb3IgY29uc2lzdGVudGx5LgorCisgIC0gV2Ugbm93IGRlZmlu ZSBmZWF0dXJlIHRlc3QgbWFjcm9zIGluICJjbGFyLmMiLCB3aGljaCBmaXhlcworICAgIGNvbXBp bGF0aW9uIG9uIHNvbWUgcGxhdGZvcm1zIHRoYXQgZGlkbid0IHByZXZpb3VzbHkgcHVsbCBpbgor ICAgIG5vbi1zdGFuZGFyZCBmdW5jdGlvbnMgbGlrZSBsc3RhdCgzcCkgb3Igc3RyZHVwKDNwKS4g VGhpcyB3YXMKKyAgICByZXBvcnRlZCBieSBhIHVzZXIgb2YgT3BlblNVU0UgTGVhcC4KKworICAt IFdlIHN0b3AgdXNpbmcgYHN0cnVjdCB0aW1lem9uZWAsIHdoaWNoIGlzIHVuZGVmaW5lZCBiZWhh dmlvdXIKKyAgICBub3dhZGF5cyBhbmQgcmVzdWx0cyBpbiBhIGNvbXBpbGF0aW9uIGVycm9yIG9u IHNvbWUgcGxhdGZvcm1zLgorCisgIC0gV2Ugbm93IHVzZSB0aGUgY29tYmluYXRpb24gb2YgbWt0 ZW1wKDMpIGFuZCBta2RpcigzKSBvbiBTdW5PUywgc2FtZQorICAgIGFzIHdlIGRvIG9uIE5vblN0 b3AuCisKKyAgLSBXZSBub3cgc3VwcG9ydCB1Q2xpYmMgd2l0aG91dCBzdXBwb3J0IGZvciA8d2No YXIuaD4uCisKK1RoZSBtb3N0IGltcG9ydGFudCBiaXRzIGhlcmUgYXJlIHRoZSBpbXByb3ZlZCBw bGF0Zm9ybSBjb21wYXRpYmlsaXR5Cit3aXRoIFdpbmRvd3MsIE9wZW5TVVNFLCBTdW5PUyBhbmQg dUNsaWJjLgorCitTaWduZWQtb2ZmLWJ5OiBQYXRyaWNrIFN0ZWluaGFyZHQgPHBzQHBrcy5pbT4K K1Vwc3RyZWFtOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9yLzA2MTQ1YTE0MWRkMzQ4NWYxODNi Y2Y4MjQ4ZGUwZGI2MWE3MjAzZGIuMTcyOTUwNjMyOS5naXQucHNAcGtzLmltCitTaWduZWQtb2Zm LWJ5OiBCYWdhcyBTYW5qYXlhIDxiYWdhc2RvdG1lQGdtYWlsLmNvbT4KKy0tLQorIHQvdW5pdC10 ZXN0cy9jbGFyLy5lZGl0b3Jjb25maWcgICAgICAgICAgICB8ICAxMyArKysKKyB0L3VuaXQtdGVz dHMvY2xhci8uZ2l0aHViL3dvcmtmbG93cy9jaS55bWwgfCAgMjAgKysrLQorIHQvdW5pdC10ZXN0 cy9jbGFyLy5naXRpZ25vcmUgICAgICAgICAgICAgICB8ICAgMSArCisgdC91bml0LXRlc3RzL2Ns YXIvQ01ha2VMaXN0cy50eHQgICAgICAgICAgIHwgIDI4ICsrKysrCisgdC91bml0LXRlc3RzL2Ns YXIvY2xhci5jICAgICAgICAgICAgICAgICAgIHwgMTI3ICsrKysrKysrKysrKy0tLS0tLS0tLQor IHQvdW5pdC10ZXN0cy9jbGFyL2NsYXIvcHJpbnQuaCAgICAgICAgICAgICB8ICAxMSArLQorIHQv dW5pdC10ZXN0cy9jbGFyL2NsYXIvc2FuZGJveC5oICAgICAgICAgICB8ICAxNyArKy0KKyB0L3Vu aXQtdGVzdHMvY2xhci9jbGFyL3N1bW1hcnkuaCAgICAgICAgICAgfCAgMTQgKy0tCisgdC91bml0 LXRlc3RzL2NsYXIvdGVzdC8uZ2l0aWdub3JlICAgICAgICAgIHwgICA0IC0KKyB0L3VuaXQtdGVz dHMvY2xhci90ZXN0L0NNYWtlTGlzdHMudHh0ICAgICAgfCAgMzkgKysrKysrKworIHQvdW5pdC10 ZXN0cy9jbGFyL3Rlc3QvTWFrZWZpbGUgICAgICAgICAgICB8ICAzOSAtLS0tLS0tCisgMTEgZmls ZXMgY2hhbmdlZCwgMTg5IGluc2VydGlvbnMoKyksIDEyNCBkZWxldGlvbnMoLSkKKyBjcmVhdGUg bW9kZSAxMDA2NDQgdC91bml0LXRlc3RzL2NsYXIvLmVkaXRvcmNvbmZpZworIGNyZWF0ZSBtb2Rl IDEwMDY0NCB0L3VuaXQtdGVzdHMvY2xhci8uZ2l0aWdub3JlCisgY3JlYXRlIG1vZGUgMTAwNjQ0 IHQvdW5pdC10ZXN0cy9jbGFyL0NNYWtlTGlzdHMudHh0CisgZGVsZXRlIG1vZGUgMTAwNjQ0IHQv dW5pdC10ZXN0cy9jbGFyL3Rlc3QvLmdpdGlnbm9yZQorIGNyZWF0ZSBtb2RlIDEwMDY0NCB0L3Vu aXQtdGVzdHMvY2xhci90ZXN0L0NNYWtlTGlzdHMudHh0CisgZGVsZXRlIG1vZGUgMTAwNjQ0IHQv dW5pdC10ZXN0cy9jbGFyL3Rlc3QvTWFrZWZpbGUKKworZGlmZiAtLWdpdCBhL3QvdW5pdC10ZXN0 cy9jbGFyLy5lZGl0b3Jjb25maWcgYi90L3VuaXQtdGVzdHMvY2xhci8uZWRpdG9yY29uZmlnCitu ZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uYWEzNDNhNDI4OAorLS0tIC9k ZXYvbnVsbAorKysrIGIvdC91bml0LXRlc3RzL2NsYXIvLmVkaXRvcmNvbmZpZworQEAgLTAsMCAr MSwxMyBAQAorK3Jvb3QgPSB0cnVlCisrCisrWypdCisrY2hhcnNldCA9IHV0Zi04CisraW5zZXJ0 X2ZpbmFsX25ld2xpbmUgPSB0cnVlCisrCisrWyoue2MsaH1dCisraW5kZW50X3N0eWxlID0gdGFi CisrdGFiX3dpZHRoID0gOAorKworK1tDTWFrZUxpc3RzLnR4dF0KKytpbmRlbnRfc3R5bGUgPSB0 YWIKKyt0YWJfd2lkdGggPSA4CitkaWZmIC0tZ2l0IGEvdC91bml0LXRlc3RzL2NsYXIvLmdpdGh1 Yi93b3JrZmxvd3MvY2kueW1sIGIvdC91bml0LXRlc3RzL2NsYXIvLmdpdGh1Yi93b3JrZmxvd3Mv Y2kueW1sCitpbmRleCBiMWFjMmRlNDYwLi4wMDY1ODQzZDE3IDEwMDY0NAorLS0tIGEvdC91bml0 LXRlc3RzL2NsYXIvLmdpdGh1Yi93b3JrZmxvd3MvY2kueW1sCisrKysgYi90L3VuaXQtdGVzdHMv Y2xhci8uZ2l0aHViL3dvcmtmbG93cy9jaS55bWwKK0BAIC0xMCwxNCArMTAsMjYgQEAgam9iczoK KyAgIGJ1aWxkOgorICAgICBzdHJhdGVneToKKyAgICAgICBtYXRyaXg6CistICAgICAgICBvczog WyB1YnVudHUtbGF0ZXN0LCBtYWNvcy1sYXRlc3QgXQorKyAgICAgICAgcGxhdGZvcm06CisrICAg ICAgICAgIC0gb3M6IHVidW50dS1sYXRlc3QKKysgICAgICAgICAgICBnZW5lcmF0b3I6IFVuaXgg TWFrZWZpbGVzCisrICAgICAgICAgIC0gb3M6IG1hY29zLWxhdGVzdAorKyAgICAgICAgICAgIGdl bmVyYXRvcjogVW5peCBNYWtlZmlsZXMKKysgICAgICAgICAgLSBvczogd2luZG93cy1sYXRlc3QK KysgICAgICAgICAgICBnZW5lcmF0b3I6IFZpc3VhbCBTdHVkaW8gMTcgMjAyMgorKyAgICAgICAg ICAtIG9zOiB3aW5kb3dzLWxhdGVzdAorKyAgICAgICAgICAgIGdlbmVyYXRvcjogTVNZUyBNYWtl ZmlsZXMKKysgICAgICAgICAgLSBvczogd2luZG93cy1sYXRlc3QKKysgICAgICAgICAgICBnZW5l cmF0b3I6IE1pbkdXIE1ha2VmaWxlcworIAorLSAgICBydW5zLW9uOiAke3sgbWF0cml4Lm9zIH19 CisrICAgIHJ1bnMtb246ICR7eyBtYXRyaXgucGxhdGZvcm0ub3MgfX0KKyAKKyAgICAgc3RlcHM6 CisgICAgIC0gbmFtZTogQ2hlY2sgb3V0CisgICAgICAgdXNlczogYWN0aW9ucy9jaGVja291dEB2 MgorICAgICAtIG5hbWU6IEJ1aWxkCisgICAgICAgcnVuOiB8CistICAgICAgICBjZCB0ZXN0Cist ICAgICAgICBtYWtlCisrICAgICAgICBta2RpciBidWlsZAorKyAgICAgICAgY2QgYnVpbGQKKysg ICAgICAgIGNtYWtlIC4uIC1HICIke3ttYXRyaXgucGxhdGZvcm0uZ2VuZXJhdG9yfX0iCisrICAg ICAgICBjbWFrZSAtLWJ1aWxkIC4KK2RpZmYgLS1naXQgYS90L3VuaXQtdGVzdHMvY2xhci8uZ2l0 aWdub3JlIGIvdC91bml0LXRlc3RzL2NsYXIvLmdpdGlnbm9yZQorbmV3IGZpbGUgbW9kZSAxMDA2 NDQKK2luZGV4IDAwMDAwMDAwMDAuLjg0YzA0OGE3M2MKKy0tLSAvZGV2L251bGwKKysrKyBiL3Qv dW5pdC10ZXN0cy9jbGFyLy5naXRpZ25vcmUKK0BAIC0wLDAgKzEgQEAKKysvYnVpbGQvCitkaWZm IC0tZ2l0IGEvdC91bml0LXRlc3RzL2NsYXIvQ01ha2VMaXN0cy50eHQgYi90L3VuaXQtdGVzdHMv Y2xhci9DTWFrZUxpc3RzLnR4dAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAw MDAuLjEyZDRhZjExNGYKKy0tLSAvZGV2L251bGwKKysrKyBiL3QvdW5pdC10ZXN0cy9jbGFyL0NN YWtlTGlzdHMudHh0CitAQCAtMCwwICsxLDI4IEBACisrY21ha2VfbWluaW11bV9yZXF1aXJlZChW RVJTSU9OIDMuMTYuLjMuMjkpCisrCisrcHJvamVjdChjbGFyIExBTkdVQUdFUyBDKQorKworK29w dGlvbihCVUlMRF9URVNUUyAiQnVpbGQgdGVzdCBleGVjdXRhYmxlIiBPTikKKysKKythZGRfbGli cmFyeShjbGFyIElOVEVSRkFDRSkKKyt0YXJnZXRfc291cmNlcyhjbGFyIElOVEVSRkFDRQorKwlj bGFyLmMKKysJY2xhci5oCisrCWNsYXIvZml4dHVyZXMuaAorKwljbGFyL2ZzLmgKKysJY2xhci9w cmludC5oCisrCWNsYXIvc2FuZGJveC5oCisrCWNsYXIvc3VtbWFyeS5oCisrKQorK3NldF90YXJn ZXRfcHJvcGVydGllcyhjbGFyIFBST1BFUlRJRVMKKysJQ19TVEFOREFSRCA5MAorKwlDX1NUQU5E QVJEX1JFUVVJUkVEIE9OCisrCUNfRVhURU5TSU9OUyBPRkYKKyspCisrCisraWYoQ01BS0VfUFJP SkVDVF9OQU1FIFNUUkVRVUFMIFBST0pFQ1RfTkFNRSkKKysJaW5jbHVkZShDVGVzdCkKKysJaWYo QlVJTERfVEVTVElORykKKysJCWFkZF9zdWJkaXJlY3RvcnkodGVzdCkKKysJZW5kaWYoKQorK2Vu ZGlmKCkKK2RpZmYgLS1naXQgYS90L3VuaXQtdGVzdHMvY2xhci9jbGFyLmMgYi90L3VuaXQtdGVz dHMvY2xhci9jbGFyLmMKK2luZGV4IGNlZjBmMDIzYzIuLmQ1NGU0NTUzNjcgMTAwNjQ0CistLS0g YS90L3VuaXQtdGVzdHMvY2xhci9jbGFyLmMKKysrKyBiL3QvdW5pdC10ZXN0cy9jbGFyL2NsYXIu YworQEAgLTQsNyArNCwxMiBAQAorICAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGNsYXIsIGRpc3Ry aWJ1dGVkIHVuZGVyIHRoZSBJU0MgbGljZW5zZS4KKyAgKiBGb3IgZnVsbCB0ZXJtcyBzZWUgdGhl IGluY2x1ZGVkIENPUFlJTkcgZmlsZS4KKyAgKi8KKy0jaW5jbHVkZSA8YXNzZXJ0Lmg+CisrCisr I2RlZmluZSBfQlNEX1NPVVJDRQorKyNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRQorKyNkZWZpbmUg X0RFRkFVTFRfU09VUkNFCisrCisrI2luY2x1ZGUgPGVycm5vLmg+CisgI2luY2x1ZGUgPHNldGpt cC5oPgorICNpbmNsdWRlIDxzdGRsaWIuaD4KKyAjaW5jbHVkZSA8c3RkaW8uaD4KK0BAIC0xMywx MSArMTgsMjIgQEAKKyAjaW5jbHVkZSA8c3RkYXJnLmg+CisgI2luY2x1ZGUgPHdjaGFyLmg+Cisg I2luY2x1ZGUgPHRpbWUuaD4KKysjaW5jbHVkZSA8aW50dHlwZXMuaD4KKyAKKyAvKiByZXF1aXJl ZCBmb3Igc2FuZGJveGluZyAqLworICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAjaW5jbHVkZSA8 c3lzL3N0YXQuaD4KKyAKKysjaWYgZGVmaW5lZChfX1VDTElCQ19fKSAmJiAhIGRlZmluZWQoX19V Q0xJQkNfSEFTX1dDSEFSX18pCisrCS8qCisrCSAqIHVDbGliYyBjYW4gb3B0aW9uYWxseSBiZSBi dWlsdCB3aXRob3V0IHdjaGFyIHN1cHBvcnQsIGluIHdoaWNoIGNhc2UKKysJICogdGhlIGluc3Rh bGxlZCA8d2NoYXIuaD4gaXMgYSBzdHViIHRoYXQgb25seSBkZWZpbmVzIHRoZSBgd2hhcl90YAor KwkgKiB0eXBlIGJ1dCBub25lIG9mIHRoZSBmdW5jdGlvbnMgdHlwaWNhbGx5IGRlY2xhcmVkIGJ5 IGl0LgorKwkgKi8KKysjZWxzZQorKyMJZGVmaW5lIENMQVJfSEFWRV9XQ0hBUgorKyNlbmRpZgor KworICNpZmRlZiBfV0lOMzIKKyAjCWRlZmluZSBXSU4zMl9MRUFOX0FORF9NRUFOCisgIwlpbmNs dWRlIDx3aW5kb3dzLmg+CitAQCAtMjgsNiArNDQsOSBAQAorIAorICMJaWZuZGVmIHN0YXQKKyAj CQlkZWZpbmUgc3RhdChwYXRoLCBzdCkgX3N0YXQocGF0aCwgc3QpCisrCQl0eXBlZGVmIHN0cnVj dCBfc3RhdCBTVEFUX1Q7CisrIwllbHNlCisrCQl0eXBlZGVmIHN0cnVjdCBzdGF0IFNUQVRfVDsK KyAjCWVuZGlmCisgIwlpZm5kZWYgbWtkaXIKKyAjCQlkZWZpbmUgbWtkaXIocGF0aCwgbW9kZSkg X21rZGlyKHBhdGgpCitAQCAtNjAsMzAgKzc5LDExIEBACisgIwllbHNlCisgIwkJZGVmaW5lIHBf c25wcmludGYgc25wcmludGYKKyAjCWVuZGlmCistCistIwlpZm5kZWYgUFJJdVoKKy0jCQlkZWZp bmUgUFJJdVogIkl1IgorLSMJZW5kaWYKKy0jCWlmbmRlZiBQUkl4WgorLSMJCWRlZmluZSBQUkl4 WiAiSXgiCistIwllbmRpZgorLQorLSMJaWYgZGVmaW5lZChfTVNDX1ZFUikgfHwgKGRlZmluZWQo X19NSU5HVzMyX18pICYmICFkZWZpbmVkKF9fTUlOR1c2NF9WRVJTSU9OX01BSk9SKSkKKy0JdHlw ZWRlZiBzdHJ1Y3Qgc3RhdCBTVEFUX1Q7CistIwllbHNlCistCXR5cGVkZWYgc3RydWN0IF9zdGF0 IFNUQVRfVDsKKy0jCWVuZGlmCisgI2Vsc2UKKyAjCWluY2x1ZGUgPHN5cy93YWl0Lmg+IC8qIHdh aXRwaWQoMikgKi8KKyAjCWluY2x1ZGUgPHVuaXN0ZC5oPgorICMJZGVmaW5lIF9NQUlOX0NDCisg IwlkZWZpbmUgcF9zbnByaW50ZiBzbnByaW50ZgorLSMJaWZuZGVmIFBSSXVaCistIwkJZGVmaW5l IFBSSXVaICJ6dSIKKy0jCWVuZGlmCistIwlpZm5kZWYgUFJJeFoKKy0jCQlkZWZpbmUgUFJJeFog Inp4IgorLSMJZW5kaWYKKyAJdHlwZWRlZiBzdHJ1Y3Qgc3RhdCBTVEFUX1Q7CisgI2VuZGlmCisg CitAQCAtMTAyLDcgKzEwMiw3IEBAIGZpeHR1cmVfcGF0aChjb25zdCBjaGFyICpiYXNlLCBjb25z dCBjaGFyICpmaXh0dXJlX25hbWUpOworIHN0cnVjdCBjbGFyX2Vycm9yIHsKKyAJY29uc3QgY2hh ciAqZmlsZTsKKyAJY29uc3QgY2hhciAqZnVuY3Rpb247CistCXNpemVfdCBsaW5lX251bWJlcjsK KysJdWludG1heF90IGxpbmVfbnVtYmVyOworIAljb25zdCBjaGFyICplcnJvcl9tc2c7CisgCWNo YXIgKmRlc2NyaXB0aW9uOworIAorQEAgLTE5NSwxMSArMTk1LDEyIEBAIHN0YXRpYyB2b2lkIGNs YXJfcHJpbnRfc2h1dGRvd24oaW50IHRlc3RfY291bnQsIGludCBzdWl0ZV9jb3VudCwgaW50IGVy cm9yX2NvdW50Cisgc3RhdGljIHZvaWQgY2xhcl9wcmludF9lcnJvcihpbnQgbnVtLCBjb25zdCBz dHJ1Y3QgY2xhcl9yZXBvcnQgKnJlcG9ydCwgY29uc3Qgc3RydWN0IGNsYXJfZXJyb3IgKmVycm9y KTsKKyBzdGF0aWMgdm9pZCBjbGFyX3ByaW50X29udGVzdChjb25zdCBjaGFyICpzdWl0ZV9uYW1l LCBjb25zdCBjaGFyICp0ZXN0X25hbWUsIGludCB0ZXN0X251bWJlciwgZW51bSBjbF90ZXN0X3N0 YXR1cyBmYWlsZWQpOworIHN0YXRpYyB2b2lkIGNsYXJfcHJpbnRfb25zdWl0ZShjb25zdCBjaGFy ICpzdWl0ZV9uYW1lLCBpbnQgc3VpdGVfaW5kZXgpOworK3N0YXRpYyB2b2lkIGNsYXJfcHJpbnRf b25hYm9ydHYoY29uc3QgY2hhciAqbXNnLCB2YV9saXN0IGFyZ3ApOworIHN0YXRpYyB2b2lkIGNs YXJfcHJpbnRfb25hYm9ydChjb25zdCBjaGFyICptc2csIC4uLik7CisgCisgLyogRnJvbSBjbGFy X3NhbmRib3guYyAqLworIHN0YXRpYyB2b2lkIGNsYXJfdW5zYW5kYm94KHZvaWQpOworLXN0YXRp YyBpbnQgY2xhcl9zYW5kYm94KHZvaWQpOworK3N0YXRpYyB2b2lkIGNsYXJfc2FuZGJveCh2b2lk KTsKKyAKKyAvKiBGcm9tIHN1bW1hcnkuaCAqLworIHN0YXRpYyBzdHJ1Y3QgY2xhcl9zdW1tYXJ5 ICpjbGFyX3N1bW1hcnlfaW5pdChjb25zdCBjaGFyICpmaWxlbmFtZSk7CitAQCAtMjE4LDYgKzIx OSwxNSBAQCBzdGF0aWMgaW50IGNsYXJfc3VtbWFyeV9zaHV0ZG93bihzdHJ1Y3QgY2xhcl9zdW1t YXJ5ICpmcCk7CisgCQkJCQkJCSAgIF9jbGFyLnRyYWNlX3BheWxvYWQpOwkJCQkJXAorIAl9IHdo aWxlICgwKQorIAorK3N0YXRpYyB2b2lkIGNsYXJfYWJvcnQoY29uc3QgY2hhciAqbXNnLCAuLi4p CisreworKwl2YV9saXN0IGFyZ3A7CisrCXZhX3N0YXJ0KGFyZ3AsIG1zZyk7CisrCWNsYXJfcHJp bnRfb25hYm9ydHYobXNnLCBhcmdwKTsKKysJdmFfZW5kKGFyZ3ApOworKwlleGl0KC0xKTsKKyt9 CisrCisgdm9pZCBjbF90cmFjZV9yZWdpc3RlcihjbF90cmFjZV9jYiAqY2IsIHZvaWQgKnBheWxv YWQpCisgeworIAlfY2xhci5wZm5fdHJhY2VfY2IgPSBjYjsKK0BAIC0yNzEsOSArMjgxLDcgQEAg c3RhdGljIGRvdWJsZSBjbGFyX3RpbWVfZGlmZihjbGFyX3RpbWUgKnN0YXJ0LCBjbGFyX3RpbWUg KmVuZCkKKyAKKyBzdGF0aWMgdm9pZCBjbGFyX3RpbWVfbm93KGNsYXJfdGltZSAqb3V0KQorIHsK Ky0Jc3RydWN0IHRpbWV6b25lIHR6OworLQorLQlnZXR0aW1lb2ZkYXkob3V0LCAmdHopOworKwln ZXR0aW1lb2ZkYXkob3V0LCBOVUxMKTsKKyB9CisgCisgc3RhdGljIGRvdWJsZSBjbGFyX3RpbWVf ZGlmZihjbGFyX3RpbWUgKnN0YXJ0LCBjbGFyX3RpbWUgKmVuZCkKK0BAIC0zODYsNyArMzk0LDgg QEAgY2xhcl9ydW5fc3VpdGUoY29uc3Qgc3RydWN0IGNsYXJfc3VpdGUgKnN1aXRlLCBjb25zdCBj aGFyICpmaWx0ZXIpCisgCisgCQlfY2xhci5hY3RpdmVfdGVzdCA9IHRlc3RbaV0ubmFtZTsKKyAK Ky0JCXJlcG9ydCA9IGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IGNsYXJfcmVwb3J0KSk7CisrCQlp ZiAoKHJlcG9ydCA9IGNhbGxvYygxLCBzaXplb2YoKnJlcG9ydCkpKSA9PSBOVUxMKQorKwkJCWNs YXJfYWJvcnQoIkZhaWxlZCB0byBhbGxvY2F0ZSByZXBvcnQuXG4iKTsKKyAJCXJlcG9ydC0+c3Vp dGUgPSBfY2xhci5hY3RpdmVfc3VpdGU7CisgCQlyZXBvcnQtPnRlc3QgPSBfY2xhci5hY3RpdmVf dGVzdDsKKyAJCXJlcG9ydC0+dGVzdF9udW1iZXIgPSBfY2xhci50ZXN0c19yYW47CitAQCAtNDc5 LDkgKzQ4OCwxMCBAQCBjbGFyX3BhcnNlX2FyZ3MoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorIAor IAkJCQkJc3dpdGNoIChhY3Rpb24pIHsKKyAJCQkJCWNhc2UgJ3MnOiB7CistCQkJCQkJc3RydWN0 IGNsYXJfZXhwbGljaXQgKmV4cGxpY2l0ID0KKy0JCQkJCQkJY2FsbG9jKDEsIHNpemVvZihzdHJ1 Y3QgY2xhcl9leHBsaWNpdCkpOworLQkJCQkJCWFzc2VydChleHBsaWNpdCk7CisrCQkJCQkJc3Ry dWN0IGNsYXJfZXhwbGljaXQgKmV4cGxpY2l0OworKworKwkJCQkJCWlmICgoZXhwbGljaXQgPSBj YWxsb2MoMSwgc2l6ZW9mKCpleHBsaWNpdCkpKSA9PSBOVUxMKQorKwkJCQkJCQljbGFyX2Fib3J0 KCJGYWlsZWQgdG8gYWxsb2NhdGUgZXhwbGljaXQgdGVzdC5cbiIpOworIAorIAkJCQkJCWV4cGxp Y2l0LT5zdWl0ZV9pZHggPSBqOworIAkJCQkJCWV4cGxpY2l0LT5maWx0ZXIgPSBhcmd1bWVudDsK K0BAIC01MDUsMTAgKzUxNSw4IEBAIGNsYXJfcGFyc2VfYXJncyhpbnQgYXJnYywgY2hhciAqKmFy Z3YpCisgCQkJCX0KKyAJCQl9CisgCistCQkJaWYgKCFmb3VuZCkgeworLQkJCQljbGFyX3ByaW50 X29uYWJvcnQoIk5vIHN1aXRlIG1hdGNoaW5nICclcycgZm91bmQuXG4iLCBhcmd1bWVudCk7Cist CQkJCWV4aXQoLTEpOworLQkJCX0KKysJCQlpZiAoIWZvdW5kKQorKwkJCQljbGFyX2Fib3J0KCJO byBzdWl0ZSBtYXRjaGluZyAnJXMnIGZvdW5kLlxuIiwgYXJndW1lbnQpOworIAkJCWJyZWFrOwor IAkJfQorIAorQEAgLTU0MCwxMSArNTQ4LDE3IEBAIGNsYXJfcGFyc2VfYXJncyhpbnQgYXJnYywg Y2hhciAqKmFyZ3YpCisgCQljYXNlICdyJzoKKyAJCQlfY2xhci53cml0ZV9zdW1tYXJ5ID0gMTsK KyAJCQlmcmVlKF9jbGFyLnN1bW1hcnlfZmlsZW5hbWUpOworLQkJCV9jbGFyLnN1bW1hcnlfZmls ZW5hbWUgPSAqKGFyZ3VtZW50ICsgMikgPyBzdHJkdXAoYXJndW1lbnQgKyAyKSA6IE5VTEw7Cisr CQkJaWYgKCooYXJndW1lbnQgKyAyKSkgeworKwkJCQlpZiAoKF9jbGFyLnN1bW1hcnlfZmlsZW5h bWUgPSBzdHJkdXAoYXJndW1lbnQgKyAyKSkgPT0gTlVMTCkKKysJCQkJCWNsYXJfYWJvcnQoIkZh aWxlZCB0byBhbGxvY2F0ZSBzdW1tYXJ5IGZpbGVuYW1lLlxuIik7CisrCQkJfSBlbHNlIHsKKysJ CQkJX2NsYXIuc3VtbWFyeV9maWxlbmFtZSA9IE5VTEw7CisrCQkJfQorIAkJCWJyZWFrOworIAor IAkJZGVmYXVsdDoKKy0JCQlhc3NlcnQoISJVbmV4cGVjdGVkIGNvbW1hbmRsaW5lIGFyZ3VtZW50 ISIpOworKwkJCWNsYXJfYWJvcnQoIlVuZXhwZWN0ZWQgY29tbWFuZGxpbmUgYXJndW1lbnQgJyVz Jy5cbiIsCisrCQkJCSAgIGFyZ3VtZW50WzFdKTsKKyAJCX0KKyAJfQorIH0KK0BAIC01NjYsMjIg KzU4MCwxOCBAQCBjbGFyX3Rlc3RfaW5pdChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisgCWlmICgh X2NsYXIuc3VtbWFyeV9maWxlbmFtZSAmJgorIAkgICAgKHN1bW1hcnlfZW52ID0gZ2V0ZW52KCJD TEFSX1NVTU1BUlkiKSkgIT0gTlVMTCkgeworIAkJX2NsYXIud3JpdGVfc3VtbWFyeSA9IDE7Cist CQlfY2xhci5zdW1tYXJ5X2ZpbGVuYW1lID0gc3RyZHVwKHN1bW1hcnlfZW52KTsKKysJCWlmICgo X2NsYXIuc3VtbWFyeV9maWxlbmFtZSA9IHN0cmR1cChzdW1tYXJ5X2VudikpID09IE5VTEwpCisr CQkJY2xhcl9hYm9ydCgiRmFpbGVkIHRvIGFsbG9jYXRlIHN1bW1hcnkgZmlsZW5hbWUuXG4iKTsK KyAJfQorIAorIAlpZiAoX2NsYXIud3JpdGVfc3VtbWFyeSAmJiAhX2NsYXIuc3VtbWFyeV9maWxl bmFtZSkKKy0JCV9jbGFyLnN1bW1hcnlfZmlsZW5hbWUgPSBzdHJkdXAoInN1bW1hcnkueG1sIik7 CisrCQlpZiAoKF9jbGFyLnN1bW1hcnlfZmlsZW5hbWUgPSBzdHJkdXAoInN1bW1hcnkueG1sIikp ID09IE5VTEwpCisrCQkJY2xhcl9hYm9ydCgiRmFpbGVkIHRvIGFsbG9jYXRlIHN1bW1hcnkgZmls ZW5hbWUuXG4iKTsKKyAKKy0JaWYgKF9jbGFyLndyaXRlX3N1bW1hcnkgJiYKKy0JICAgICEoX2Ns YXIuc3VtbWFyeSA9IGNsYXJfc3VtbWFyeV9pbml0KF9jbGFyLnN1bW1hcnlfZmlsZW5hbWUpKSkg eworLQkJY2xhcl9wcmludF9vbmFib3J0KCJGYWlsZWQgdG8gb3BlbiB0aGUgc3VtbWFyeSBmaWxl XG4iKTsKKy0JCWV4aXQoLTEpOworLQl9CisrCWlmIChfY2xhci53cml0ZV9zdW1tYXJ5KQorKwkg ICAgX2NsYXIuc3VtbWFyeSA9IGNsYXJfc3VtbWFyeV9pbml0KF9jbGFyLnN1bW1hcnlfZmlsZW5h bWUpOworIAorLQlpZiAoY2xhcl9zYW5kYm94KCkgPCAwKSB7CistCQljbGFyX3ByaW50X29uYWJv cnQoIkZhaWxlZCB0byBzYW5kYm94IHRoZSB0ZXN0IHJ1bm5lci5cbiIpOworLQkJZXhpdCgtMSk7 CistCX0KKysJY2xhcl9zYW5kYm94KCk7CisgfQorIAorIGludAorQEAgLTYxNSwxMCArNjI1LDkg QEAgY2xhcl90ZXN0X3NodXRkb3duKHZvaWQpCisgCisgCWNsYXJfdW5zYW5kYm94KCk7CisgCist CWlmIChfY2xhci53cml0ZV9zdW1tYXJ5ICYmIGNsYXJfc3VtbWFyeV9zaHV0ZG93bihfY2xhci5z dW1tYXJ5KSA8IDApIHsKKy0JCWNsYXJfcHJpbnRfb25hYm9ydCgiRmFpbGVkIHRvIHdyaXRlIHRo ZSBzdW1tYXJ5IGZpbGVcbiIpOworLQkJZXhpdCgtMSk7CistCX0KKysJaWYgKF9jbGFyLndyaXRl X3N1bW1hcnkgJiYgY2xhcl9zdW1tYXJ5X3NodXRkb3duKF9jbGFyLnN1bW1hcnkpIDwgMCkKKysJ CWNsYXJfYWJvcnQoIkZhaWxlZCB0byB3cml0ZSB0aGUgc3VtbWFyeSBmaWxlICclczogJXMuXG4i LAorKwkJCSAgIF9jbGFyLnN1bW1hcnlfZmlsZW5hbWUsIHN0cmVycm9yKGVycm5vKSk7CisgCisg CWZvciAoZXhwbGljaXQgPSBfY2xhci5leHBsaWNpdDsgZXhwbGljaXQ7IGV4cGxpY2l0ID0gZXhw bGljaXRfbmV4dCkgeworIAkJZXhwbGljaXRfbmV4dCA9IGV4cGxpY2l0LT5uZXh0OworQEAgLTY0 OSw3ICs2NTgsNyBAQCBzdGF0aWMgdm9pZCBhYm9ydF90ZXN0KHZvaWQpCisgeworIAlpZiAoIV9j bGFyLnRyYW1wb2xpbmVfZW5hYmxlZCkgeworIAkJY2xhcl9wcmludF9vbmFib3J0KAorLQkJCQki RmF0YWwgZXJyb3I6IGEgY2xlYW51cCBtZXRob2QgcmFpc2VkIGFuIGV4Y2VwdGlvbi4iKTsKKysJ CQkJIkZhdGFsIGVycm9yOiBhIGNsZWFudXAgbWV0aG9kIHJhaXNlZCBhbiBleGNlcHRpb24uXG4i KTsKKyAJCWNsYXJfcmVwb3J0X2Vycm9ycyhfY2xhci5sYXN0X3JlcG9ydCk7CisgCQlleGl0KC0x KTsKKyAJfQorQEAgLTY3Myw3ICs2ODIsMTAgQEAgdm9pZCBjbGFyX19mYWlsKAorIAljb25zdCBj aGFyICpkZXNjcmlwdGlvbiwKKyAJaW50IHNob3VsZF9hYm9ydCkKKyB7CistCXN0cnVjdCBjbGFy X2Vycm9yICplcnJvciA9IGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IGNsYXJfZXJyb3IpKTsKKysJ c3RydWN0IGNsYXJfZXJyb3IgKmVycm9yOworKworKwlpZiAoKGVycm9yID0gY2FsbG9jKDEsIHNp emVvZigqZXJyb3IpKSkgPT0gTlVMTCkKKysJCWNsYXJfYWJvcnQoIkZhaWxlZCB0byBhbGxvY2F0 ZSBlcnJvci5cbiIpOworIAorIAlpZiAoX2NsYXIubGFzdF9yZXBvcnQtPmVycm9ycyA9PSBOVUxM KQorIAkJX2NsYXIubGFzdF9yZXBvcnQtPmVycm9ycyA9IGVycm9yOworQEAgLTY4OCw4ICs3MDAs OSBAQCB2b2lkIGNsYXJfX2ZhaWwoCisgCWVycm9yLT5saW5lX251bWJlciA9IGxpbmU7CisgCWVy cm9yLT5lcnJvcl9tc2cgPSBlcnJvcl9tc2c7CisgCistCWlmIChkZXNjcmlwdGlvbiAhPSBOVUxM KQorLQkJZXJyb3ItPmRlc2NyaXB0aW9uID0gc3RyZHVwKGRlc2NyaXB0aW9uKTsKKysJaWYgKGRl c2NyaXB0aW9uICE9IE5VTEwgJiYKKysJICAgIChlcnJvci0+ZGVzY3JpcHRpb24gPSBzdHJkdXAo ZGVzY3JpcHRpb24pKSA9PSBOVUxMKQorKwkJY2xhcl9hYm9ydCgiRmFpbGVkIHRvIGFsbG9jYXRl IGRlc2NyaXB0aW9uLlxuIik7CisgCisgCV9jbGFyLnRvdGFsX2Vycm9ycysrOworIAlfY2xhci5s YXN0X3JlcG9ydC0+c3RhdHVzID0gQ0xfVEVTVF9GQUlMVVJFOworQEAgLTc2Myw2ICs3NzYsNyBA QCB2b2lkIGNsYXJfX2Fzc2VydF9lcXVhbCgKKyAJCQl9CisgCQl9CisgCX0KKysjaWZkZWYgQ0xB Ul9IQVZFX1dDSEFSCisgCWVsc2UgaWYgKCFzdHJjbXAoIiVscyIsIGZtdCkpIHsKKyAJCWNvbnN0 IHdjaGFyX3QgKndjczEgPSB2YV9hcmcoYXJncywgY29uc3Qgd2NoYXJfdCAqKTsKKyAJCWNvbnN0 IHdjaGFyX3QgKndjczIgPSB2YV9hcmcoYXJncywgY29uc3Qgd2NoYXJfdCAqKTsKK0BAIC03OTgs OCArODEyLDkgQEAgdm9pZCBjbGFyX19hc3NlcnRfZXF1YWwoCisgCQkJfQorIAkJfQorIAl9Cist CWVsc2UgaWYgKCFzdHJjbXAoIiUiUFJJdVosIGZtdCkgfHwgIXN0cmNtcCgiJSJQUkl4WiwgZm10 KSkgeworLQkJc2l6ZV90IHN6MSA9IHZhX2FyZyhhcmdzLCBzaXplX3QpLCBzejIgPSB2YV9hcmco YXJncywgc2l6ZV90KTsKKysjZW5kaWYgLyogQ0xBUl9IQVZFX1dDSEFSICovCisrCWVsc2UgaWYg KCFzdHJjbXAoIiUiUFJJdU1BWCwgZm10KSB8fCAhc3RyY21wKCIlIlBSSXhNQVgsIGZtdCkpIHsK KysJCXVpbnRtYXhfdCBzejEgPSB2YV9hcmcoYXJncywgdWludG1heF90KSwgc3oyID0gdmFfYXJn KGFyZ3MsIHVpbnRtYXhfdCk7CisgCQlpc19lcXVhbCA9IChzejEgPT0gc3oyKTsKKyAJCWlmICgh aXNfZXF1YWwpIHsKKyAJCQlpbnQgb2Zmc2V0ID0gcF9zbnByaW50ZihidWYsIHNpemVvZihidWYp LCBmbXQsIHN6MSk7CitkaWZmIC0tZ2l0IGEvdC91bml0LXRlc3RzL2NsYXIvY2xhci9wcmludC5o IGIvdC91bml0LXRlc3RzL2NsYXIvY2xhci9wcmludC5oCitpbmRleCBjMTdlMmY2OTNiLi42OWQw ZWU5NjdlIDEwMDY0NAorLS0tIGEvdC91bml0LXRlc3RzL2NsYXIvY2xhci9wcmludC5oCisrKysg Yi90L3VuaXQtdGVzdHMvY2xhci9jbGFyL3ByaW50LmgKK0BAIC0yMSw3ICsyMSw3IEBAIHN0YXRp YyB2b2lkIGNsYXJfcHJpbnRfY2xhcF9lcnJvcihpbnQgbnVtLCBjb25zdCBzdHJ1Y3QgY2xhcl9y ZXBvcnQgKnJlcG9ydCwgY29uCisgeworIAlwcmludGYoIiAgJWQpIEZhaWx1cmU6XG4iLCBudW0p OworIAorLQlwcmludGYoIiVzOjolcyBbJXM6JSJQUkl1WiJdXG4iLAorKwlwcmludGYoIiVzOjol cyBbJXM6JSJQUkl1TUFYIl1cbiIsCisgCQlyZXBvcnQtPnN1aXRlLAorIAkJcmVwb3J0LT50ZXN0 LAorIAkJZXJyb3ItPmZpbGUsCitAQCAtMTM2LDcgKzEzNiw3IEBAIHN0YXRpYyB2b2lkIGNsYXJf cHJpbnRfdGFwX29udGVzdChjb25zdCBjaGFyICpzdWl0ZV9uYW1lLCBjb25zdCBjaGFyICp0ZXN0 X25hbWUsCisgCisgCQlwcmludGYoIiAgICBhdDpcbiIpOworIAkJcHJpbnRmKCIgICAgICBmaWxl OiAnIik7IHByaW50X2VzY2FwZWQoZXJyb3ItPmZpbGUpOyBwcmludGYoIidcbiIpOworLQkJcHJp bnRmKCIgICAgICBsaW5lOiAlIiBQUkl1WiAiXG4iLCBlcnJvci0+bGluZV9udW1iZXIpOworKwkJ cHJpbnRmKCIgICAgICBsaW5lOiAlIiBQUkl1TUFYICJcbiIsIGVycm9yLT5saW5lX251bWJlcik7 CisgCQlwcmludGYoIiAgICAgIGZ1bmN0aW9uOiAnJXMnXG4iLCBlcnJvci0+ZnVuY3Rpb24pOwor IAkJcHJpbnRmKCIgICAgLS0tXG4iKTsKKyAKK0BAIC0yMDIsMTAgKzIwMiwxNSBAQCBzdGF0aWMg dm9pZCBjbGFyX3ByaW50X29uc3VpdGUoY29uc3QgY2hhciAqc3VpdGVfbmFtZSwgaW50IHN1aXRl X2luZGV4KQorIAlQUklOVChvbnN1aXRlLCBzdWl0ZV9uYW1lLCBzdWl0ZV9pbmRleCk7CisgfQor IAorK3N0YXRpYyB2b2lkIGNsYXJfcHJpbnRfb25hYm9ydHYoY29uc3QgY2hhciAqbXNnLCB2YV9s aXN0IGFyZ3ApCisreworKwlQUklOVChvbmFib3J0LCBtc2csIGFyZ3ApOworK30KKysKKyBzdGF0 aWMgdm9pZCBjbGFyX3ByaW50X29uYWJvcnQoY29uc3QgY2hhciAqbXNnLCAuLi4pCisgeworIAl2 YV9saXN0IGFyZ3A7CisgCXZhX3N0YXJ0KGFyZ3AsIG1zZyk7CistCVBSSU5UKG9uYWJvcnQsIG1z ZywgYXJncCk7CisrCWNsYXJfcHJpbnRfb25hYm9ydHYobXNnLCBhcmdwKTsKKyAJdmFfZW5kKGFy Z3ApOworIH0KK2RpZmYgLS1naXQgYS90L3VuaXQtdGVzdHMvY2xhci9jbGFyL3NhbmRib3guaCBi L3QvdW5pdC10ZXN0cy9jbGFyL2NsYXIvc2FuZGJveC5oCitpbmRleCBlMjUwNTdiN2M0Li5iYzk2 MGY1MGUwIDEwMDY0NAorLS0tIGEvdC91bml0LXRlc3RzL2NsYXIvY2xhci9zYW5kYm94LmgKKysr KyBiL3QvdW5pdC10ZXN0cy9jbGFyL2NsYXIvc2FuZGJveC5oCitAQCAtMTIyLDE0ICsxMjIsMTQg QEAgc3RhdGljIGludCBidWlsZF9zYW5kYm94X3BhdGgodm9pZCkKKyAKKyAJaWYgKG1rZGlyKF9j bGFyX3BhdGgsIDA3MDApICE9IDApCisgCQlyZXR1cm4gLTE7CistI2VsaWYgZGVmaW5lZChfX1RB TkRFTSkKKy0JaWYgKG1rdGVtcChfY2xhcl9wYXRoKSA9PSBOVUxMKQorKyNlbGlmIGRlZmluZWQo X1dJTjMyKQorKwlpZiAoX21rdGVtcF9zKF9jbGFyX3BhdGgsIHNpemVvZihfY2xhcl9wYXRoKSkg IT0gMCkKKyAJCXJldHVybiAtMTsKKyAKKyAJaWYgKG1rZGlyKF9jbGFyX3BhdGgsIDA3MDApICE9 IDApCisgCQlyZXR1cm4gLTE7CistI2VsaWYgZGVmaW5lZChfV0lOMzIpCistCWlmIChfbWt0ZW1w X3MoX2NsYXJfcGF0aCwgc2l6ZW9mKF9jbGFyX3BhdGgpKSAhPSAwKQorKyNlbGlmIGRlZmluZWQo X19zdW4pIHx8IGRlZmluZWQoX19UQU5ERU0pCisrCWlmIChta3RlbXAoX2NsYXJfcGF0aCkgPT0g TlVMTCkKKyAJCXJldHVybiAtMTsKKyAKKyAJaWYgKG1rZGlyKF9jbGFyX3BhdGgsIDA3MDApICE9 IDApCitAQCAtMTQyLDE1ICsxNDIsMTQgQEAgc3RhdGljIGludCBidWlsZF9zYW5kYm94X3BhdGgo dm9pZCkKKyAJcmV0dXJuIDA7CisgfQorIAorLXN0YXRpYyBpbnQgY2xhcl9zYW5kYm94KHZvaWQp Cisrc3RhdGljIHZvaWQgY2xhcl9zYW5kYm94KHZvaWQpCisgeworIAlpZiAoX2NsYXJfcGF0aFsw XSA9PSAnXDAnICYmIGJ1aWxkX3NhbmRib3hfcGF0aCgpIDwgMCkKKy0JCXJldHVybiAtMTsKKysJ CWNsYXJfYWJvcnQoIkZhaWxlZCB0byBidWlsZCBzYW5kYm94IHBhdGguXG4iKTsKKyAKKyAJaWYg KGNoZGlyKF9jbGFyX3BhdGgpICE9IDApCistCQlyZXR1cm4gLTE7CistCistCXJldHVybiAwOwor KwkJY2xhcl9hYm9ydCgiRmFpbGVkIHRvIGNoYW5nZSBpbnRvIHNhbmRib3ggZGlyZWN0b3J5ICcl cyc6ICVzLlxuIiwKKysJCQkgICBfY2xhcl9wYXRoLCBzdHJlcnJvcihlcnJubykpOworIH0KKyAK KyBjb25zdCBjaGFyICpjbGFyX3NhbmRib3hfcGF0aCh2b2lkKQorZGlmZiAtLWdpdCBhL3QvdW5p dC10ZXN0cy9jbGFyL2NsYXIvc3VtbWFyeS5oIGIvdC91bml0LXRlc3RzL2NsYXIvY2xhci9zdW1t YXJ5LmgKK2luZGV4IDRkZDM1MmUyOGIuLjBkMGI2NDZmZTcgMTAwNjQ0CistLS0gYS90L3VuaXQt dGVzdHMvY2xhci9jbGFyL3N1bW1hcnkuaAorKysrIGIvdC91bml0LXRlc3RzL2NsYXIvY2xhci9z dW1tYXJ5LmgKK0BAIC02NiwxNiArNjYsMTIgQEAgc3RydWN0IGNsYXJfc3VtbWFyeSAqY2xhcl9z dW1tYXJ5X2luaXQoY29uc3QgY2hhciAqZmlsZW5hbWUpCisgCXN0cnVjdCBjbGFyX3N1bW1hcnkg KnN1bW1hcnk7CisgCUZJTEUgKmZwOworIAorLQlpZiAoKGZwID0gZm9wZW4oZmlsZW5hbWUsICJ3 IikpID09IE5VTEwpIHsKKy0JCXBlcnJvcigiZm9wZW4iKTsKKy0JCXJldHVybiBOVUxMOworLQl9 CisrCWlmICgoZnAgPSBmb3BlbihmaWxlbmFtZSwgInciKSkgPT0gTlVMTCkKKysJCWNsYXJfYWJv cnQoIkZhaWxlZCB0byBvcGVuIHRoZSBzdW1tYXJ5IGZpbGUgJyVzJzogJXMuXG4iLAorKwkJCSAg IGZpbGVuYW1lLCBzdHJlcnJvcihlcnJubykpOworIAorLQlpZiAoKHN1bW1hcnkgPSBtYWxsb2Mo c2l6ZW9mKHN0cnVjdCBjbGFyX3N1bW1hcnkpKSkgPT0gTlVMTCkgeworLQkJcGVycm9yKCJtYWxs b2MiKTsKKy0JCWZjbG9zZShmcCk7CistCQlyZXR1cm4gTlVMTDsKKy0JfQorKwlpZiAoKHN1bW1h cnkgPSBtYWxsb2Moc2l6ZW9mKHN0cnVjdCBjbGFyX3N1bW1hcnkpKSkgPT0gTlVMTCkKKysJCWNs YXJfYWJvcnQoIkZhaWxlZCB0byBhbGxvY2F0ZSBzdW1tYXJ5LlxuIik7CisgCisgCXN1bW1hcnkt PmZpbGVuYW1lID0gZmlsZW5hbWU7CisgCXN1bW1hcnktPmZwID0gZnA7CitkaWZmIC0tZ2l0IGEv dC91bml0LXRlc3RzL2NsYXIvdGVzdC8uZ2l0aWdub3JlIGIvdC91bml0LXRlc3RzL2NsYXIvdGVz dC8uZ2l0aWdub3JlCitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IGE0NzdkMGM0MGMu LjAwMDAwMDAwMDAKKy0tLSBhL3QvdW5pdC10ZXN0cy9jbGFyL3Rlc3QvLmdpdGlnbm9yZQorKysr IC9kZXYvbnVsbAorQEAgLTEsNCArMCwwIEBACistY2xhci5zdWl0ZQorLS5jbGFyY2FjaGUKKy1j bGFyX3Rlc3QKKy0qLm8KK2RpZmYgLS1naXQgYS90L3VuaXQtdGVzdHMvY2xhci90ZXN0L0NNYWtl TGlzdHMudHh0IGIvdC91bml0LXRlc3RzL2NsYXIvdGVzdC9DTWFrZUxpc3RzLnR4dAorbmV3IGZp bGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjdmMmMxZGMxN2EKKy0tLSAvZGV2L251 bGwKKysrKyBiL3QvdW5pdC10ZXN0cy9jbGFyL3Rlc3QvQ01ha2VMaXN0cy50eHQKK0BAIC0wLDAg KzEsMzkgQEAKKytmaW5kX3BhY2thZ2UoUHl0aG9uIENPTVBPTkVOVFMgSW50ZXJwcmV0ZXIgUkVR VUlSRUQpCisrCisrYWRkX2N1c3RvbV9jb21tYW5kKE9VVFBVVCAiJHtDTUFLRV9DVVJSRU5UX0JJ TkFSWV9ESVJ9L2NsYXIuc3VpdGUiCisrCUNPTU1BTkQgIiR7UHl0aG9uX0VYRUNVVEFCTEV9IiAi JHtDTUFLRV9TT1VSQ0VfRElSfS9nZW5lcmF0ZS5weSIgLS1vdXRwdXQgIiR7Q01BS0VfQ1VSUkVO VF9CSU5BUllfRElSfSIKKysJREVQRU5EUyBtYWluLmMgc2FtcGxlLmMgY2xhcl90ZXN0LmgKKysJ V09SS0lOR19ESVJFQ1RPUlkgIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfSIKKyspCisrCisr YWRkX2V4ZWN1dGFibGUoY2xhcl90ZXN0KQorK3NldF90YXJnZXRfcHJvcGVydGllcyhjbGFyX3Rl c3QgUFJPUEVSVElFUworKwlDX1NUQU5EQVJEIDkwCisrCUNfU1RBTkRBUkRfUkVRVUlSRUQgT04K KysJQ19FWFRFTlNJT05TIE9GRgorKykKKysKKysjIE1TVkMgZ2VuZXJhdGVzIGFsbCBraW5kcyBv ZiB3YXJuaW5ncy4gV2UgbWF5IHdhbnQgdG8gZml4IHRoZXNlIGluIHRoZSBmdXR1cmUKKysjIGFu ZCB0aGVuIHVuY29uZGl0aW9uYWxseSB0cmVhdCB3YXJuaW5ncyBhcyBlcnJvcnMuCisraWYoTk9U IE1TVkMpCisrCXNldF90YXJnZXRfcHJvcGVydGllcyhjbGFyX3Rlc3QgUFJPUEVSVElFUworKwkJ Q09NUElMRV9XQVJOSU5HX0FTX0VSUk9SIE9OCisrCSkKKytlbmRpZigpCisrCisrdGFyZ2V0X3Nv dXJjZXMoY2xhcl90ZXN0IFBSSVZBVEUKKysJbWFpbi5jCisrCXNhbXBsZS5jCisrCSIke0NNQUtF X0NVUlJFTlRfQklOQVJZX0RJUn0vY2xhci5zdWl0ZSIKKyspCisrdGFyZ2V0X2NvbXBpbGVfZGVm aW5pdGlvbnMoY2xhcl90ZXN0IFBSSVZBVEUKKysJQ0xBUl9GSVhUVVJFX1BBVEg9IiR7Q01BS0Vf Q1VSUkVOVF9TT1VSQ0VfRElSfS9yZXNvdXJjZXMvIgorKykKKyt0YXJnZXRfY29tcGlsZV9vcHRp b25zKGNsYXJfdGVzdCBQUklWQVRFCisrCSQ8SUY6JDxDWFhfQ09NUElMRVJfSUQ6TVNWQz4sL1c0 LC1XYWxsPgorKykKKyt0YXJnZXRfaW5jbHVkZV9kaXJlY3RvcmllcyhjbGFyX3Rlc3QgUFJJVkFU RQorKwkiJHtDTUFLRV9TT1VSQ0VfRElSfSIKKysJIiR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElS fSIKKyspCisrdGFyZ2V0X2xpbmtfbGlicmFyaWVzKGNsYXJfdGVzdCBjbGFyKQorZGlmZiAtLWdp dCBhL3QvdW5pdC10ZXN0cy9jbGFyL3Rlc3QvTWFrZWZpbGUgYi90L3VuaXQtdGVzdHMvY2xhci90 ZXN0L01ha2VmaWxlCitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDkzYzZiMmFkMzIu LjAwMDAwMDAwMDAKKy0tLSBhL3QvdW5pdC10ZXN0cy9jbGFyL3Rlc3QvTWFrZWZpbGUKKysrKyAv ZGV2L251bGwKK0BAIC0xLDM5ICswLDAgQEAKKy0jCistIyBDb3B5cmlnaHQgKGMpIFZpY2VudCBN YXJ0aS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy0jCistIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBj bGFyLCBkaXN0cmlidXRlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuCistIyBGb3IgZnVsbCB0ZXJt cyBzZWUgdGhlIGluY2x1ZGVkIENPUFlJTkcgZmlsZS4KKy0jCistCistIworLSMgU2V0IHVwIHRo ZSBwYXRoIHRvIHRoZSBjbGFyIHNvdXJjZXMgYW5kIHRvIHRoZSBmaXh0dXJlcyBkaXJlY3RvcnkK Ky0jCistIyBUaGUgZml4dHVyZSBwYXRoIG5lZWRzIHRvIGJlIGFuIGFic29sdXRlIHBhdGggc28g aXQgY2FuIGJlIHVzZWQKKy0jIGV2ZW4gYWZ0ZXIgd2UgaGF2ZSBjaGRpcidlZCBpbnRvIHRoZSB0 ZXN0IGRpcmVjdG9yeSB3aGlsZSB0ZXN0aW5nLgorLSMKKy1DVVJSRU5UX01BS0VGSUxFICA6PSAk KHdvcmQgJCh3b3JkcyAkKE1BS0VGSUxFX0xJU1QpKSwkKE1BS0VGSUxFX0xJU1QpKQorLVRFU1Rf RElSRUNUT1JZICAgIDo9ICQoYWJzcGF0aCAkKGRpciAkKENVUlJFTlRfTUFLRUZJTEUpKSkKKy1D TEFSX1BBVEggICAgICAgICA6PSAkKGRpciAkKFRFU1RfRElSRUNUT1JZKSkKKy1DTEFSX0ZJWFRV UkVfUEFUSCA6PSAkKFRFU1RfRElSRUNUT1JZKS9yZXNvdXJjZXMvCistCistQ0ZMQUdTPS1nIC1J Li4gLUkuIC1XYWxsIC1EQ0xBUl9GSVhUVVJFX1BBVEg9XCIkKENMQVJfRklYVFVSRV9QQVRIKVwi CistCistLlBIT05ZOiBjbGVhbgorLQorLSMgbGlzdCB0aGUgb2JqZWN0cyB0aGF0IGdvIGludG8g b3VyIHRlc3QKKy1vYmplY3RzID0gbWFpbi5vIHNhbXBsZS5vCistCistIyBidWlsZCB0aGUgdGVz dCBleGVjdXRhYmxlIGl0c2VsZgorLWNsYXJfdGVzdDogJChvYmplY3RzKSBjbGFyX3Rlc3QuaCBj bGFyLnN1aXRlICQoQ0xBUl9QQVRIKWNsYXIuYworLQkkKENDKSAkKENGTEFHUykgLW8gJEAgIiQo Q0xBUl9QQVRIKWNsYXIuYyIgJChvYmplY3RzKQorLQorLSMgdGVzdCBvYmplY3QgZmlsZXMgZGVw ZW5kIG9uIGNsYXIgbWFjcm9zCistJChvYmplY3RzKSA6ICQoQ0xBUl9QQVRIKWNsYXIuaAorLQor LSMgYnVpbGQgdGhlIGNsYXIuc3VpdGUgZmlsZSBvZiB0ZXN0IG1ldGFkYXRhCistY2xhci5zdWl0 ZToKKy0JcHl0aG9uICIkKENMQVJfUEFUSClnZW5lcmF0ZS5weSIgLgorLQorLSMgcmVtb3ZlIGFs bCBnZW5lcmF0ZWQgZmlsZXMKKy1jbGVhbjoKKy0JJChSTSkgLXJmICoubyBjbGFyLnN1aXRlIC5j bGFyY2FjaGUgY2xhcl90ZXN0IGNsYXJfdGVzdC5kU1lNCisKK2Jhc2UtY29tbWl0OiA3Nzc0ODlm OWUwOWM4ZDBkZDZiMTJmOWQ5MGRlNjM3NjMzMDU3N2EyCistLSAKK0FuIG9sZCBtYW4gZG9sbC4u LiBqdXN0IHdoYXQgSSBhbHdheXMgd2FudGVkISAtIENsYXJhCisKZGlmZiAtLWdpdCBhL3BhY2th Z2UvZ2l0LzAwMDItTWFrZWZpbGUtYWRqdXN0LXNlZC1jb21tYW5kLWZvci1nZW5lcmF0aW5nLWNs YXItZGVjbC5wYXRjaCBiL3BhY2thZ2UvZ2l0LzAwMDItTWFrZWZpbGUtYWRqdXN0LXNlZC1jb21t YW5kLWZvci1nZW5lcmF0aW5nLWNsYXItZGVjbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAwLi4wOTgyNjA2ZjZkCi0tLSAvZGV2L251bGwKKysrIGIvcGFja2FnZS9n aXQvMDAwMi1NYWtlZmlsZS1hZGp1c3Qtc2VkLWNvbW1hbmQtZm9yLWdlbmVyYXRpbmctY2xhci1k ZWNsLnBhdGNoCkBAIC0wLDAgKzEsMzcgQEAKK0Zyb20gYmNjMTcyNDczYTdmMjRjMDU5ODg1M2M4 YWU1NTViNmVmYWViMmZkMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/ cT9BbGVqYW5kcm89MjBSPTJFPTIwU2VkZT1DMz1CMW8/PSA8YXNlZGVub0BtaXQuZWR1PgorRGF0 ZTogTW9uLCAyMSBPY3QgMjAyNCAxMjo1NjozNSArMDIwMAorU3ViamVjdDogW1BBVENIIDIvNV0g TWFrZWZpbGU6IGFkanVzdCBzZWQgY29tbWFuZCBmb3IgZ2VuZXJhdGluZworICJjbGFyLWRlY2xz LmgiCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0 PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1RoaXMgbW92ZXMgdGhl IGVuZC1vZi1saW5lIG1hcmtlciBvdXQgb2YgdGhlIGNhcHR1cmVkIGdyb3VwLCBtYXRjaGluZwor dGhlIHN0YXJ0LW9mLWxpbmUgbWFya2VyIGFuZCBmb3Igc29tZSByZWFzb24gZml4aW5nIGdlbmVy YXRpb24gb2YKKyJjbGFyLWRlY2xzLmgiIG9uIHNvbWUgb2xkZXIsIG1vcmUgZXNvdGVyaWMgcGxh dGZvcm1zLgorCitTaWduZWQtb2ZmLWJ5OiBBbGVqYW5kcm8gUi4gU2VkZcOxbyA8YXNlZGVub0Bt aXQuZWR1PgorU2lnbmVkLW9mZi1ieTogUGF0cmljayBTdGVpbmhhcmR0IDxwc0Bwa3MuaW0+CitV cHN0cmVhbTogaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvci8xN2Q3N2YzNmQ0MWZiMjkyODU2NWE0 OTIyZWFiM2E2NzQyNmQyZGE2LjE3Mjk1MDYzMjkuZ2l0LnBzQHBrcy5pbQorU2lnbmVkLW9mZi1i eTogQmFnYXMgU2FuamF5YSA8YmFnYXNkb3RtZUBnbWFpbC5jb20+CistLS0KKyBNYWtlZmlsZSB8 IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKwor ZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKK2luZGV4IDJkZGUxZmQyYjguLjg3YzFm OWUyMjAgMTAwNjQ0CistLS0gYS9NYWtlZmlsZQorKysrIGIvTWFrZWZpbGUKK0BAIC0zOTA2LDcg KzM5MDYsNyBAQCBHSVQtVEVTVC1TVUlURVM6IEZPUkNFCisgCisgJChVTklUX1RFU1RfRElSKS9j bGFyLWRlY2xzLmg6ICQocGF0c3Vic3QgJSwkKFVOSVRfVEVTVF9ESVIpLyUuYywkKENMQVJfVEVT VF9TVUlURVMpKSBHSVQtVEVTVC1TVUlURVMKKyAJJChRVUlFVF9HRU4pZm9yIHN1aXRlIGluICQo Q0xBUl9URVNUX1NVSVRFUyk7IGRvIFwKKy0JCXNlZCAtbmUgInMvXlwodm9pZCB0ZXN0XyQke3N1 aXRlfV9fW2EtekEtWl8wLTldW2EtekEtWl8wLTldKih2b2lkKSQkXCkvZXh0ZXJuIFwxOy9wIiAk KFVOSVRfVEVTVF9ESVIpLyQkc3VpdGUuYzsgXAorKwkJc2VkIC1uZSAicy9eXCh2b2lkIHRlc3Rf JCR7c3VpdGV9X19bYS16QS1aXzAtOV1bYS16QS1aXzAtOV0qKHZvaWQpXCkkJC9leHRlcm4gXDE7 L3AiICQoVU5JVF9URVNUX0RJUikvJCRzdWl0ZS5jOyBcCisgCWRvbmUgPiRACisgJChVTklUX1RF U1RfRElSKS9jbGFyLnN1aXRlOiAkKFVOSVRfVEVTVF9ESVIpL2NsYXItZGVjbHMuaAorIAkkKFFV SUVUX0dFTilhd2sgLWYgJChVTklUX1RFU1RfRElSKS9jbGFyLWdlbmVyYXRlLmF3ayAkPCA+JChV TklUX1RFU1RfRElSKS9jbGFyLnN1aXRlCistLSAKK0FuIG9sZCBtYW4gZG9sbC4uLiBqdXN0IHdo YXQgSSBhbHdheXMgd2FudGVkISAtIENsYXJhCisKZGlmZiAtLWdpdCBhL3BhY2thZ2UvZ2l0LzAw MDMtTWFrZWZpbGUtZXh0cmFjdC1zY3JpcHQtdG8tZ2VuZXJhdGUtY2xhci1kZWNsYXJhdGlvbi5w YXRjaCBiL3BhY2thZ2UvZ2l0LzAwMDMtTWFrZWZpbGUtZXh0cmFjdC1zY3JpcHQtdG8tZ2VuZXJh dGUtY2xhci1kZWNsYXJhdGlvbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAwLi4zOThiNzQ1Y2NjCi0tLSAvZGV2L251bGwKKysrIGIvcGFja2FnZS9naXQvMDAwMy1N YWtlZmlsZS1leHRyYWN0LXNjcmlwdC10by1nZW5lcmF0ZS1jbGFyLWRlY2xhcmF0aW9uLnBhdGNo CkBAIC0wLDAgKzEsNTggQEAKK0Zyb20gNGU1ZThhMDgyMmRiMDUwYzMxYjNjZGQ1YWUwMGMzN2Y0 YThhMDYzZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFBhdHJpY2sgU3RlaW5oYXJk dCA8cHNAcGtzLmltPgorRGF0ZTogTW9uLCAyMSBPY3QgMjAyNCAxMjo1NjozOCArMDIwMAorU3Vi amVjdDogW1BBVENIIDMvNV0gTWFrZWZpbGU6IGV4dHJhY3Qgc2NyaXB0IHRvIGdlbmVyYXRlIGNs YXIgZGVjbGFyYXRpb25zCisKK0V4dHJhY3QgdGhlIHNjcmlwdCB0byBnZW5lcmF0ZSBmdW5jdGlv biBkZWNsYXJhdGlvbnMgZm9yIHRoZSBjbGFyIHVuaXQKK3Rlc3RpbmcgZnJhbWV3b3JrIGludG8g YSBzdGFuZGFsb25lIHNjcmlwdC4gVGhpcyBpcyBkb25lIHN1Y2ggdGhhdCB3ZQorY2FuIHJldXNl IGl0IGluIG90aGVyIGJ1aWxkIHN5c3RlbXMuCisKK1NpZ25lZC1vZmYtYnk6IFBhdHJpY2sgU3Rl aW5oYXJkdCA8cHNAcGtzLmltPgorVXBzdHJlYW06IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3Iv YzJlM2ZiY2Q4NTMyMDM4MTU4YTBlYWQ2ZjBhMmY3NTJmNTU3YWI3Zi4xNzI5NTA2MzI5LmdpdC5w c0Bwa3MuaW0KK1NpZ25lZC1vZmYtYnk6IEJhZ2FzIFNhbmpheWEgPGJhZ2FzZG90bWVAZ21haWwu Y29tPgorLS0tCisgTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArLS0t CisgdC91bml0LXRlc3RzL2dlbmVyYXRlLWNsYXItZGVjbHMuc2ggfCAxNiArKysrKysrKysrKysr KysrCisgMiBmaWxlcyBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQor IGNyZWF0ZSBtb2RlIDEwMDc1NSB0L3VuaXQtdGVzdHMvZ2VuZXJhdGUtY2xhci1kZWNscy5zaAor CitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQoraW5kZXggODdjMWY5ZTIyMC4uYTU4 ZGNhYjk1NCAxMDA2NDQKKy0tLSBhL01ha2VmaWxlCisrKysgYi9NYWtlZmlsZQorQEAgLTM5MDUs OSArMzkwNSw3IEBAIEdJVC1URVNULVNVSVRFUzogRk9SQ0UKKyAgICAgICAgICAgICBmaQorIAor ICQoVU5JVF9URVNUX0RJUikvY2xhci1kZWNscy5oOiAkKHBhdHN1YnN0ICUsJChVTklUX1RFU1Rf RElSKS8lLmMsJChDTEFSX1RFU1RfU1VJVEVTKSkgR0lULVRFU1QtU1VJVEVTCistCSQoUVVJRVRf R0VOKWZvciBzdWl0ZSBpbiAkKENMQVJfVEVTVF9TVUlURVMpOyBkbyBcCistCQlzZWQgLW5lICJz L15cKHZvaWQgdGVzdF8kJHtzdWl0ZX1fX1thLXpBLVpfMC05XVthLXpBLVpfMC05XSoodm9pZClc KSQkL2V4dGVybiBcMTsvcCIgJChVTklUX1RFU1RfRElSKS8kJHN1aXRlLmM7IFwKKy0JZG9uZSA+ JEAKKysJJChRVUlFVF9HRU4pJChTSEVMTF9QQVRIKSAkKFVOSVRfVEVTVF9ESVIpL2dlbmVyYXRl LWNsYXItZGVjbHMuc2ggIiRAIiAkKGZpbHRlciAlLmMsJF4pCisgJChVTklUX1RFU1RfRElSKS9j bGFyLnN1aXRlOiAkKFVOSVRfVEVTVF9ESVIpL2NsYXItZGVjbHMuaAorIAkkKFFVSUVUX0dFTilh d2sgLWYgJChVTklUX1RFU1RfRElSKS9jbGFyLWdlbmVyYXRlLmF3ayAkPCA+JChVTklUX1RFU1Rf RElSKS9jbGFyLnN1aXRlCisgJChDTEFSX1RFU1RfT0JKUyk6ICQoVU5JVF9URVNUX0RJUikvY2xh ci1kZWNscy5oCitkaWZmIC0tZ2l0IGEvdC91bml0LXRlc3RzL2dlbmVyYXRlLWNsYXItZGVjbHMu c2ggYi90L3VuaXQtdGVzdHMvZ2VuZXJhdGUtY2xhci1kZWNscy5zaAorbmV3IGZpbGUgbW9kZSAx MDA3NTUKK2luZGV4IDAwMDAwMDAwMDAuLjY4OGUwODg1ZjQKKy0tLSAvZGV2L251bGwKKysrKyBi L3QvdW5pdC10ZXN0cy9nZW5lcmF0ZS1jbGFyLWRlY2xzLnNoCitAQCAtMCwwICsxLDE2IEBACisr IyEvYmluL3NoCisrCisraWYgdGVzdCAkIyAtbHQgMgorK3RoZW4KKysJZWNobyAiVVNBR0U6ICQw IDxPVVRQVVQ+IDxTVUlURT4uLi4iIDI+JjEKKysJZXhpdCAxCisrZmkKKysKKytPVVRQVVQ9IiQx IgorK3NoaWZ0CisrCisrZm9yIHN1aXRlIGluICIkQCIKKytkbworKwlzZWQgLW5lICJzL15cKHZv aWQgdGVzdF8kKGJhc2VuYW1lICIke3N1aXRlJS5jfSIpX19bYS16QS1aXzAtOV1bYS16QS1aXzAt OV0qKHZvaWQpXCkkL2V4dGVybiBcMTsvcCIgIiRzdWl0ZSIgfHwKKysJZXhpdCAxCisrZG9uZSA+ IiRPVVRQVVQiCistLSAKK0FuIG9sZCBtYW4gZG9sbC4uLiBqdXN0IHdoYXQgSSBhbHdheXMgd2Fu dGVkISAtIENsYXJhCisKZGlmZiAtLWdpdCBhL3BhY2thZ2UvZ2l0LzAwMDQtY21ha2UtZml4LWNv bXBpbGF0aW9uLW9mLWNsYXItYmFzZWQtdW5pdC10ZXN0cy5wYXRjaCBiL3BhY2thZ2UvZ2l0LzAw MDQtY21ha2UtZml4LWNvbXBpbGF0aW9uLW9mLWNsYXItYmFzZWQtdW5pdC10ZXN0cy5wYXRjaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi5jYmEzMjIzODE4Ci0tLSAvZGV2 L251bGwKKysrIGIvcGFja2FnZS9naXQvMDAwNC1jbWFrZS1maXgtY29tcGlsYXRpb24tb2YtY2xh ci1iYXNlZC11bml0LXRlc3RzLnBhdGNoCkBAIC0wLDAgKzEsMzkgQEAKK0Zyb20gYmViNzc2MWY0 ZmJjNmI3MWVjNjM1N2Q1NjU3NWY1N2ZkMmI0YzhhOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK K0Zyb206IFBhdHJpY2sgU3RlaW5oYXJkdCA8cHNAcGtzLmltPgorRGF0ZTogTW9uLCAyMSBPY3Qg MjAyNCAxMjo1Njo0MSArMDIwMAorU3ViamVjdDogW1BBVENIIDQvNV0gY21ha2U6IGZpeCBjb21w aWxhdGlvbiBvZiBjbGFyLWJhc2VkIHVuaXQgdGVzdHMKKworVGhlIGNvbXBpbGF0aW9uIG9mIGNs YXItYmFzZWQgdW5pdCB0ZXN0cyBpcyBicm9rZW4gYmVjYXVzZSB3ZSBkbyBub3QKK2FkZCB0aGUg YmluYXJ5IGRpcmVjdG9yeSBpbnRvIHdoaWNoIHdlIGdlbmVyYXRlIHRoZSAiY2xhci1kZWNscy5o IiBhbmQKKyJjbGFyLnN1aXRlIiBmaWxlcyBhcyBpbmNsdWRlIGRpcmVjdG9yaWVzLiBJbnN0ZWFk LCB3ZSBhY2NpZGVudGFsbHkgc2V0Cit1cCB0aGUgc291cmNlIGRpcmVjdG9yeSBhcyBpbmNsdWRl IGRpcmVjdG9yeS4KKworRml4IHRoaXMgYnkgaW5jbHVkaW5nIHRoZSBiaW5hcnkgZGlyZWN0b3J5 IGluc3RlYWQgb2YgdGhlIHNvdXJjZQorZGlyZWN0b3J5LiBGdXJ0aGVybW9yZSwgc2V0IHVwIHRo ZSBpbmNsdWRlIGRpcmVjdG9yaWVzIGFzIFBVQkxJQyBpbnN0ZWFkCitvZiBQUklWQVRFIHN1Y2gg dGhhdCB0aGV5IHByb3BhZ2F0ZSBmcm9tICJ1bml0LXRlc3RzLmxpYiIgdG8gdGhlCisidW5pdC10 ZXN0cyIgZXhlY3V0YWJsZSwgd2hpY2ggbmVlZHMgdG8gaW5jbHVkZSB0aGUgc2FtZSBkaXJlY3Rv cnkuCisKK1JlcG9ydGVkLWJ5OiBFZCBSZWVsIDxlZHJlZWxAZ21haWwuY29tPgorU2lnbmVkLW9m Zi1ieTogUGF0cmljayBTdGVpbmhhcmR0IDxwc0Bwa3MuaW0+CitVcHN0cmVhbTogaHR0cHM6Ly9s b3JlLmtlcm5lbC5vcmcvci9hMzAwMTdhNGQ4OTk4ZTg1OTE1ZDk1OWMxNmYxODFhOGQ0ZTgxM2Yy LjE3Mjk1MDYzMjkuZ2l0LnBzQHBrcy5pbQorU2lnbmVkLW9mZi1ieTogQmFnYXMgU2FuamF5YSA8 YmFnYXNkb3RtZUBnbWFpbC5jb20+CistLS0KKyBjb250cmliL2J1aWxkc3lzdGVtcy9DTWFrZUxp c3RzLnR4dCB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRp b24oLSkKKworZGlmZiAtLWdpdCBhL2NvbnRyaWIvYnVpbGRzeXN0ZW1zL0NNYWtlTGlzdHMudHh0 IGIvY29udHJpYi9idWlsZHN5c3RlbXMvQ01ha2VMaXN0cy50eHQKK2luZGV4IDYyYWY3YjMzZDIu LjA5Mzg1MmFkOWQgMTAwNjQ0CistLS0gYS9jb250cmliL2J1aWxkc3lzdGVtcy9DTWFrZUxpc3Rz LnR4dAorKysrIGIvY29udHJpYi9idWlsZHN5c3RlbXMvQ01ha2VMaXN0cy50eHQKK0BAIC0xMDQy LDcgKzEwNDIsNyBAQCBmaWxlKFdSSVRFICIke0NNQUtFX0JJTkFSWV9ESVJ9L3QvdW5pdC10ZXN0 cy9jbGFyLnN1aXRlIiAiJHtjbGFyX2RlY2xzfSIgIiR7Y2xhcgorIGxpc3QoVFJBTlNGT1JNIGNs YXJfdGVzdF9TVUlURVMgUFJFUEVORCAiJHtDTUFLRV9TT1VSQ0VfRElSfS90L3VuaXQtdGVzdHMv IikKKyBsaXN0KFRSQU5TRk9STSBjbGFyX3Rlc3RfU1VJVEVTIEFQUEVORCAiLmMiKQorIGFkZF9s aWJyYXJ5KHVuaXQtdGVzdHMtbGliICR7Y2xhcl90ZXN0X1NVSVRFU30gIiR7Q01BS0VfU09VUkNF X0RJUn0vdC91bml0LXRlc3RzL2NsYXIvY2xhci5jIikKKy10YXJnZXRfaW5jbHVkZV9kaXJlY3Rv cmllcyh1bml0LXRlc3RzLWxpYiBQUklWQVRFICIke0NNQUtFX1NPVVJDRV9ESVJ9L3QvdW5pdC10 ZXN0cyIpCisrdGFyZ2V0X2luY2x1ZGVfZGlyZWN0b3JpZXModW5pdC10ZXN0cy1saWIgUFVCTElD ICIke0NNQUtFX0JJTkFSWV9ESVJ9L3QvdW5pdC10ZXN0cyIpCisgYWRkX2V4ZWN1dGFibGUodW5p dC10ZXN0cyAiJHtDTUFLRV9TT1VSQ0VfRElSfS90L3VuaXQtdGVzdHMvdW5pdC10ZXN0LmMiKQor IHRhcmdldF9saW5rX2xpYnJhcmllcyh1bml0LXRlc3RzIHVuaXQtdGVzdHMtbGliIGNvbW1vbi1t YWluKQorIHNldF90YXJnZXRfcHJvcGVydGllcyh1bml0LXRlc3RzCistLSAKK0FuIG9sZCBtYW4g ZG9sbC4uLiBqdXN0IHdoYXQgSSBhbHdheXMgd2FudGVkISAtIENsYXJhCisKZGlmZiAtLWdpdCBh L3BhY2thZ2UvZ2l0LzAwMDUtY21ha2Utc2V0LXVwLXByb3Blci1kZXBlbmRlbmNpZXMtZm9yLWdl bmVyYXRlZC1jbGFyLS5wYXRjaCBiL3BhY2thZ2UvZ2l0LzAwMDUtY21ha2Utc2V0LXVwLXByb3Bl ci1kZXBlbmRlbmNpZXMtZm9yLWdlbmVyYXRlZC1jbGFyLS5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAwLi5kMmVmN2YyNGQxCi0tLSAvZGV2L251bGwKKysrIGIvcGFj a2FnZS9naXQvMDAwNS1jbWFrZS1zZXQtdXAtcHJvcGVyLWRlcGVuZGVuY2llcy1mb3ItZ2VuZXJh dGVkLWNsYXItLnBhdGNoCkBAIC0wLDAgKzEsODQgQEAKK0Zyb20gNjVkODQwYjM5N2YyM2NjYmM1 NzhjMTVlZTdhMmRhZTFhN2QxYmZjOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFBh dHJpY2sgU3RlaW5oYXJkdCA8cHNAcGtzLmltPgorRGF0ZTogTW9uLCAyMSBPY3QgMjAyNCAxMjo1 Njo0NCArMDIwMAorU3ViamVjdDogW1BBVENIIDUvNV0gY21ha2U6IHNldCB1cCBwcm9wZXIgZGVw ZW5kZW5jaWVzIGZvciBnZW5lcmF0ZWQgY2xhcgorIGhlYWRlcnMKKworVGhlIGF1dG8tZ2VuZXJh dGVkIGhlYWRlcnMgdXNlZCBieSBjbGFyIGFyZSB3cml0dGVuIGF0IGNvbmZpZ3VyZSB0aW1lCith bmQgdGh1cyBkbyBub3QgZ2V0IHJlZ2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkuIFJlZmFjdG9yIHRo ZSBidWlsZAorcmVjaXBlcyBzdWNoIHRoYXQgd2UgdXNlIGN1c3RvbSBjb21tYW5kcyBpbnN0ZWFk LCB3aGljaCBhbHNvIGhhcyB0aGUKK2JlbmVmaXQgdGhhdCB3ZSBjYW4gcmV1c2UgdGhlIHNhbWUg aW5mcmFzdHJ1Y3R1cmUgYXMgb3VyIE1ha2VmaWxlLgorCitTaWduZWQtb2ZmLWJ5OiBQYXRyaWNr IFN0ZWluaGFyZHQgPHBzQHBrcy5pbT4KK1Vwc3RyZWFtOiBodHRwczovL2xvcmUua2VybmVsLm9y Zy9yL2JiMDA1OTc5ZTdlYjMzNWIwMTc4MDk0MjUxYjVjMzc2ODJkN2Q0N2IuMTcyOTUwNjMyOS5n aXQucHNAcGtzLmltCitTaWduZWQtb2ZmLWJ5OiBCYWdhcyBTYW5qYXlhIDxiYWdhc2RvdG1lQGdt YWlsLmNvbT4KKy0tLQorIGNvbnRyaWIvYnVpbGRzeXN0ZW1zL0NNYWtlTGlzdHMudHh0IHwgNTAg KysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0 aW9ucygrKSwgMzggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb250cmliL2J1aWxkc3lz dGVtcy9DTWFrZUxpc3RzLnR4dCBiL2NvbnRyaWIvYnVpbGRzeXN0ZW1zL0NNYWtlTGlzdHMudHh0 CitpbmRleCAwOTM4NTJhZDlkLi45ZjgwYWI5MjY1IDEwMDY0NAorLS0tIGEvY29udHJpYi9idWls ZHN5c3RlbXMvQ01ha2VMaXN0cy50eHQKKysrKyBiL2NvbnRyaWIvYnVpbGRzeXN0ZW1zL0NNYWtl TGlzdHMudHh0CitAQCAtMTAwMiw0NiArMTAwMiwyMCBAQCBmb3JlYWNoKHVuaXRfdGVzdCAke3Vu aXRfdGVzdF9QUk9HUkFNU30pCisgZW5kZm9yZWFjaCgpCisgCisgcGFyc2VfbWFrZWZpbGVfZm9y X3NjcmlwdHMoY2xhcl90ZXN0X1NVSVRFUyAiQ0xBUl9URVNUX1NVSVRFUyIgIiIpCistCistc2V0 KGNsYXJfZGVjbHMgIiIpCistc2V0KGNsYXJfY2JzICIiKQorLXNldChjbGFyX2Nic19jb3VudCAw KQorLXNldChjbGFyX3N1aXRlcyAic3RhdGljIHN0cnVjdCBjbGFyX3N1aXRlIF9jbGFyX3N1aXRl c1tdID0ge1xuIikKKy1saXN0KExFTkdUSCBjbGFyX3Rlc3RfU1VJVEVTIGNsYXJfc3VpdGVzX2Nv dW50KQorLWZvcmVhY2goc3VpdGUgJHtjbGFyX3Rlc3RfU1VJVEVTfSkKKy0JZmlsZShTVFJJTkdT ICIke0NNQUtFX1NPVVJDRV9ESVJ9L3QvdW5pdC10ZXN0cy8ke3N1aXRlfS5jIiBkZWNscworLQkJ UkVHRVggIl52b2lkIHRlc3RfJHtzdWl0ZX1fX1thLXpBLVpfMC05XVthLXpBLVpfMC05XSpcXCh2 b2lkXFwpJCIpCistCistCWxpc3QoTEVOR1RIIGRlY2xzIGRlY2xzX2NvdW50KQorLQlzdHJpbmco UkVHRVggUkVQTEFDRSAidm9pZCAodGVzdF8ke3N1aXRlfV9fKFthLXpBLVpfMC05XSopKVxcKHZv aWRcXCkiICIgICAgeyBcIlxcMlwiLCAmXFwxIH0sXG4iIGNicyAke2RlY2xzfSkKKy0Jc3RyaW5n KEpPSU4gIiIgY2JzICR7Y2JzfSkKKy0JbGlzdChUUkFOU0ZPUk0gZGVjbHMgUFJFUEVORCAiZXh0 ZXJuICIpCistCXN0cmluZyhKT0lOICI7XG4iIGRlY2xzICR7ZGVjbHN9KQorLQorLQlzdHJpbmco QVBQRU5EIGNsYXJfZGVjbHMgIiR7ZGVjbHN9O1xuIikKKy0Jc3RyaW5nKEFQUEVORCBjbGFyX2Ni cworLQkJInN0YXRpYyBjb25zdCBzdHJ1Y3QgY2xhcl9mdW5jIF9jbGFyX2NiXyR7c3VpdGV9W10g PSB7XG4iCistCQkke2Nic30KKy0JCSJ9O1xuIikKKy0Jc3RyaW5nKEFQUEVORCBjbGFyX3N1aXRl cworLQkJIiAgICB7XG4iCistCQkiICAgICAgICBcIiR7c3VpdGV9XCIsXG4iCistCQkiICAgICAg ICB7IE5VTEwsIE5VTEwgfSxcbiIKKy0JCSIgICAgICAgIHsgTlVMTCwgTlVMTCB9LFxuIgorLQkJ IiAgICAgICAgX2NsYXJfY2JfJHtzdWl0ZX0sICR7ZGVjbHNfY291bnR9LCAxXG4iCistCQkiICAg IH0sXG4iKQorLQltYXRoKEVYUFIgY2xhcl9jYnNfY291bnQgIiR7Y2xhcl9jYnNfY291bnR9KyR7 ZGVjbHNfY291bnR9IikKKy1lbmRmb3JlYWNoKCkKKy1zdHJpbmcoQVBQRU5EIGNsYXJfc3VpdGVz CistCSJ9O1xuIgorLQkic3RhdGljIGNvbnN0IHNpemVfdCBfY2xhcl9zdWl0ZV9jb3VudCA9ICR7 Y2xhcl9zdWl0ZXNfY291bnR9O1xuIgorLQkic3RhdGljIGNvbnN0IHNpemVfdCBfY2xhcl9jYWxs YmFja19jb3VudCA9ICR7Y2xhcl9jYnNfY291bnR9O1xuIikKKy1maWxlKFdSSVRFICIke0NNQUtF X0JJTkFSWV9ESVJ9L3QvdW5pdC10ZXN0cy9jbGFyLWRlY2xzLmgiICIke2NsYXJfZGVjbHN9IikK Ky1maWxlKFdSSVRFICIke0NNQUtFX0JJTkFSWV9ESVJ9L3QvdW5pdC10ZXN0cy9jbGFyLnN1aXRl IiAiJHtjbGFyX2RlY2xzfSIgIiR7Y2xhcl9jYnN9IiAiJHtjbGFyX3N1aXRlc30iKQorLQorIGxp c3QoVFJBTlNGT1JNIGNsYXJfdGVzdF9TVUlURVMgUFJFUEVORCAiJHtDTUFLRV9TT1VSQ0VfRElS fS90L3VuaXQtdGVzdHMvIikKKyBsaXN0KFRSQU5TRk9STSBjbGFyX3Rlc3RfU1VJVEVTIEFQUEVO RCAiLmMiKQorLWFkZF9saWJyYXJ5KHVuaXQtdGVzdHMtbGliICR7Y2xhcl90ZXN0X1NVSVRFU30g IiR7Q01BS0VfU09VUkNFX0RJUn0vdC91bml0LXRlc3RzL2NsYXIvY2xhci5jIikKKythZGRfY3Vz dG9tX2NvbW1hbmQoT1VUUFVUICIke0NNQUtFX0JJTkFSWV9ESVJ9L3QvdW5pdC10ZXN0cy9jbGFy LWRlY2xzLmgiCisrCUNPTU1BTkQgJHtDTUFLRV9TT1VSQ0VfRElSfS90L3VuaXQtdGVzdHMvZ2Vu ZXJhdGUtY2xhci1kZWNscy5zaCAiJHtDTUFLRV9CSU5BUllfRElSfS90L3VuaXQtdGVzdHMvY2xh ci1kZWNscy5oIiAke2NsYXJfdGVzdF9TVUlURVN9CisrCURFUEVORFMgJHtDTUFLRV9TT1VSQ0Vf RElSfS90L3VuaXQtdGVzdHMvZ2VuZXJhdGUtY2xhci1kZWNscy5zaCAke2NsYXJfdGVzdF9TVUlU RVN9KQorK2FkZF9jdXN0b21fY29tbWFuZChPVVRQVVQgIiR7Q01BS0VfQklOQVJZX0RJUn0vdC91 bml0LXRlc3RzL2NsYXIuc3VpdGUiCisrCUNPTU1BTkQgYXdrIC1mICIke0NNQUtFX1NPVVJDRV9E SVJ9L3QvdW5pdC10ZXN0cy9jbGFyLWdlbmVyYXRlLmF3ayIgIiR7Q01BS0VfQklOQVJZX0RJUn0v dC91bml0LXRlc3RzL2NsYXItZGVjbHMuaCIgPiAiJHtDTUFLRV9CSU5BUllfRElSfS90L3VuaXQt dGVzdHMvY2xhci5zdWl0ZSIKKysJREVQRU5EUyAiJHtDTUFLRV9TT1VSQ0VfRElSfS90L3VuaXQt dGVzdHMvY2xhci1nZW5lcmF0ZS5hd2siICIke0NNQUtFX0JJTkFSWV9ESVJ9L3QvdW5pdC10ZXN0 cy9jbGFyLWRlY2xzLmgiKQorKworK2FkZF9saWJyYXJ5KHVuaXQtdGVzdHMtbGliICR7Y2xhcl90 ZXN0X1NVSVRFU30KKysJIiR7Q01BS0VfU09VUkNFX0RJUn0vdC91bml0LXRlc3RzL2NsYXIvY2xh ci5jIgorKwkiJHtDTUFLRV9CSU5BUllfRElSfS90L3VuaXQtdGVzdHMvY2xhci1kZWNscy5oIgor KwkiJHtDTUFLRV9CSU5BUllfRElSfS90L3VuaXQtdGVzdHMvY2xhci5zdWl0ZSIKKyspCisgdGFy Z2V0X2luY2x1ZGVfZGlyZWN0b3JpZXModW5pdC10ZXN0cy1saWIgUFVCTElDICIke0NNQUtFX0JJ TkFSWV9ESVJ9L3QvdW5pdC10ZXN0cyIpCisgYWRkX2V4ZWN1dGFibGUodW5pdC10ZXN0cyAiJHtD TUFLRV9TT1VSQ0VfRElSfS90L3VuaXQtdGVzdHMvdW5pdC10ZXN0LmMiKQorIHRhcmdldF9saW5r X2xpYnJhcmllcyh1bml0LXRlc3RzIHVuaXQtdGVzdHMtbGliIGNvbW1vbi1tYWluKQorLS0gCitB biBvbGQgbWFuIGRvbGwuLi4ganVzdCB3aGF0IEkgYWx3YXlzIHdhbnRlZCEgLSBDbGFyYQorCgpi YXNlLWNvbW1pdDogYzVkNmNkZTdiNjI3ZjBmMDkzMjBjMGE0MzFlMTg2ZDc4ZDZmOTMxYQotLSAK QW4gb2xkIG1hbiBkb2xsLi4uIGp1c3Qgd2hhdCBJIGFsd2F5cyB3YW50ZWQhIC0gQ2xhcmEKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmJ1aWxkcm9vdCBt YWlsaW5nIGxpc3QKYnVpbGRyb290QGJ1aWxkcm9vdC5vcmcKaHR0cHM6Ly9saXN0cy5idWlsZHJv b3Qub3JnL21haWxtYW4vbGlzdGluZm8vYnVpbGRyb290Cg==