From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com [IPv6:2a00:1450:4864:20::634]) by sourceware.org (Postfix) with ESMTPS id 88BAE3893668 for ; Fri, 22 Jan 2021 20:08:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 88BAE3893668 Received: by mail-ej1-x634.google.com with SMTP id w1so9364800ejf.11 for ; Fri, 22 Jan 2021 12:08:21 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=FL6FB3RobF0diZVxp4hu0MV04hPo8EO4JcY41fiweC0=; b=KtO27y0XXmj7tOcwRWztTftBbNIWfN8ombk71/ZZF25brpTr79uSwO6dztYkcZqx/h h2JmjtEnQxv4+Ds+ujN8nrpS0yy5JSpRjBBzZ3ZExjr+RMeQt6fXcU72E5wUpDtSw6XS qsrUU2oIJQHtzsd/ksJPmIvy8a72g3VqgChDoGscjnZ+vROhTsAN1bVHdYdMkajMld/Y w5X6Ir/JA4fky6LrOxBu628NxtrwTvts47ENm3fbu/VCP8peAd38FTK+p/BpH9Rs3Rdn sXYnmOoPwcm7MgQ7z/unITirJZZBmUUgUgE6NxdobYEEsl8ryA9VRTQ3nnqn0iFJ/hvP 4eUA== X-Gm-Message-State: AOAM5336+4WZ/NVBKIbT6wTf2f9tzXPVHvDujUVRfw+qSqb1xUXg+cRo ECGDCx6wzCaJJ5aaHxmUxXwSHE/PLe+ZxwIDrE8= X-Google-Smtp-Source: ABdhPJwjTxvfRSsWMRNnpDDM8sIitulHHsKFJ7fJLlHFh2tB2FWT89J/GPvVjddxQJCnhj5rHi8Z9CvDpL4aROF0OhQ= X-Received: by 2002:a17:906:c9cc:: with SMTP id hk12mr4174707ejb.134.1611346100678; Fri, 22 Jan 2021 12:08:20 -0800 (PST) MIME-Version: 1.0 References: <8beca582-97eb-3e4c-1437-162ae896f031@redhat.com> <92edd773-5832-6371-4003-d29d1539202a@redhat.com> In-Reply-To: From: Anthony Sharp Date: Fri, 22 Jan 2021 20:07:44 +0000 Message-ID: Subject: Re: [PATCH] c++: private inheritance access diagnostics fix [PR17314] To: Jason Merrill Cc: gcc-patches@gcc.gnu.org Content-Type: multipart/mixed; boundary="000000000000f10ea905b982bff5" X-Spam-Status: No, score=-9.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HTML_MESSAGE, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Jan 2021 20:08:24 -0000 --000000000000f10ea905b982bff5 Content-Type: text/plain; charset="UTF-8" Hi Jason, Thanks for getting back to me so quickly. > Why two gcc-comit-mklog? That would generate the log entries twice. It did in fact generate the log entries twice, but I deleted out the second copy. Perhaps it would have made more sense to do git commit --amend instead. > Instead of making access_in_type non-static, let's defiine > get_parent_with_private_access in search.c and declare it in cp-tree.h > (with the declarations of nearby search.c functions). Done. > Only one 'n' in inaccessible. Oops! Subsequent lines of a comment should be indented to line up with the > first line. This applies to all your multi-line comments. My bad, hopefully fixed now. Don't change the indentation of these blocks; in the GNU coding style > the { } are indented two spaces from the if. > I think I see what you mean; I forgot to indent the { } (and therefore also everything within it, by two spaces). Hopefully fixed. The new line of arguments should be indented to line up with the first one. > Fixed I think. Please find attached the latest patch version with all these changes. git gcc-verify returns no problems and check_GNU_style.sh returns only false positives. Source builds fine. To be super safe I re-cloned the source and did git apply with the patch and it built and worked just fine, and hopefully I haven't missed anything. Thanks again for your help. Kind regards, Anthony --000000000000f10ea905b982bff5 Content-Type: text/x-patch; charset="US-ASCII"; name="pr17314_v3.patch" Content-Disposition: attachment; filename="pr17314_v3.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kk8pc9zg0 RnJvbSA3OTg0MDIwZjE2ZTcxNTAxN2U2MmI4NjM3ZDJlNjljMWFlYzM0NzhhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRob255IFNoYXJwIDxhbnRob255c2hhcnAxNUBnbWFpbC5j b20+CkRhdGU6IFRodSwgMjEgSmFuIDIwMjEgMTU6MjY6MjUgKzAwMDAKU3ViamVjdDogW1BBVENI XSBUaGlzIHBhdGNoIGZpeGVzIFBSMTczMTQuIFByZXZpb3VzbHksIHdoZW4gY2xhc3MgQyBhdHRl bXB0ZWQKIHRvIGFjY2VzcyBtZW1iZXIgYSBkZWNsYXJlZCBpbiBjbGFzcyBBIHRocm91Z2ggY2xh c3MgQiwgd2hlcmUgY2xhc3MgQgogcHJpdmF0ZWx5IGluaGVyaXRzIGZyb20gQSBhbmQgY2xhc3Mg QyBpbmhlcml0cyBmcm9tIEIsIEdDQyB3b3VsZCBjb3JyZWN0bHkKIHJlcG9ydCBhbiBhY2Nlc3Mg dmlvbGF0aW9uLCBidXQgd291bGQgZXJyb25lb3VzbHkgcmVwb3J0IHRoYXQgdGhlIHJlYXNvbiB3 YXMKIGJlY2F1c2UgYSB3YXMgInByb3RlY3RlZCIsIHdoZW4gaW4gZmFjdCwgZnJvbSB0aGUgcG9p bnQgb2YgdmlldyBvZiBjbGFzcyBDLAogaXQgd2FzIHJlYWxseSAicHJpdmF0ZSIuIFRoaXMgcGF0 Y2ggdXBkYXRlcyB0aGUgZGlhZ25vc3RpY3MgY29kZSB0byBnZW5lcmF0ZQogbW9yZSBjb3JyZWN0 IGVycm9ycyBpbiBjYXNlcyBvZiBmYWlsZWQgaW5oZXJpdGFuY2Ugc3VjaCBhcyB0aGVzZS4KClRo ZSByZWFzb24gdGhpcyBidWcgaGFwcGVuZWQgd2FzIGJlY2F1c2UgR0NDIHdhcyBleGFtaW5pbmcg dGhlCmRlY2xhcmVkIGFjY2VzcyBvZiBkZWNsLCBpbnN0ZWFkIG9mIGxvb2tpbmcgYXQgaXQgaW4g dGhlCmNvbnRleHQgb2YgY2xhc3MgaW5oZXJpdGFuY2UuCgpnY2MvY3AvQ2hhbmdlTG9nOgoKMjAy MS0wMS0yMSAgQW50aG9ueSBTaGFycCAgPGFudGhvbnlzaGFycDE1QGdtYWlsLmNvbT4KCgkqIGNh bGwuYyAoY29tcGxhaW5fYWJvdXRfYWNjZXNzKTogQWx0ZXJlZCBmdW5jdGlvbi4KCSogY3AtdHJl ZS5oIChjb21wbGFpbl9hYm91dF9hY2Nlc3MpOiBDaGFuZ2VkIHBhcmFtZXRlcnMgb2YgZnVuY3Rp b24uCgkoZ2V0X3BhcmVudF93aXRoX3ByaXZhdGVfYWNjZXNzKTogRGVjbGFyZWQgbmV3IGZ1bmN0 aW9uLgoJKiBzZWFyY2guYyAoZ2V0X3BhcmVudF93aXRoX3ByaXZhdGVfYWNjZXNzKTogRGVmaW5l ZCBuZXcgZnVuY3Rpb24uCgkqIHNlbWFudGljcy5jIChlbmZvcmNlX2FjY2Vzcyk6IE1vZGlmaWVk IGZ1bmN0aW9uLgoJKiB0eXBlY2suYyAoY29tcGxhaW5fYWJvdXRfdW5yZWNvZ25pemVkX21lbWJl cik6IFVwZGF0ZWQgZnVuY3Rpb24KCWFyZ3VtZW50cyBpbiBjb21wbGFpbl9hYm91dF9hY2Nlc3Mu CgpnY2MvdGVzdHN1aXRlL0NoYW5nZUxvZzoKCjIwMjEtMDEtMjEgIEFudGhvbnkgU2hhcnAgIDxh bnRob255c2hhcnAxNUBnbWFpbC5jb20+CgoJKiBnKysuZGcvbG9va3VwL3Njb3BlZDEuQzogTW9k aWZpZWQgdGVzdGNhc2UgdG8gcnVuIHN1Y2Nlc3NmdWxseSB3aXRoCgljaGFuZ2VzLgoJKiBnKysu ZGcvdGMxL2RyMTQyLkM6IFNhbWUgYXMgYWJvdmUuCgkqIGcrKy5kZy90YzEvZHI1Mi5DOiBTYW1l IGFzIGFib3ZlLgoJKiBnKysub2xkLWRlamEvZysrLmJyZW5kYW4vdmlzaWJpbGl0eTYuQzogU2Ft ZSBhcyBhYm92ZS4KCSogZysrLm9sZC1kZWphL2crKy5icmVuZGFuL3Zpc2liaWxpdHk4LkM6IFNh bWUgYXMgYWJvdmUuCgkqIGcrKy5vbGQtZGVqYS9nKysuamFzb24vYWNjZXNzOC5DOiBTYW1lIGFz IGFib3ZlLgoJKiBnKysub2xkLWRlamEvZysrLmxhdy9hY2Nlc3M0LkM6IFNhbWUgYXMgYWJvdmUu CgkqIGcrKy5vbGQtZGVqYS9nKysubGF3L3Zpc2liaWxpdHkxMi5DOiBTYW1lIGFzIGFib3ZlLgoJ KiBnKysub2xkLWRlamEvZysrLmxhdy92aXNpYmlsaXR5NC5DOiBTYW1lIGFzIGFib3ZlLgoJKiBn Kysub2xkLWRlamEvZysrLmxhdy92aXNpYmlsaXR5OC5DOiBTYW1lIGFzIGFib3ZlLgoJKiBnKysu b2xkLWRlamEvZysrLm90aGVyL2FjY2VzczQuQzogU2FtZSBhcyBhYm92ZS4KLS0tCiBnY2MvY3Av Y2FsbC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAzOCArKysrKysrKysrKysr Ky0tLS0tCiBnY2MvY3AvY3AtdHJlZS5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg NCArLQogZ2NjL2NwL3NlYXJjaC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMzUg KysrKysrKysrKysrKysrKysKIGdjYy9jcC9zZW1hbnRpY3MuYyAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8IDMxICsrKysrKysrKysrKysrLQogZ2NjL2NwL3R5cGVjay5jICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgIDMgKy0KIGdjYy90ZXN0c3VpdGUvZysrLmRnL2xvb2t1cC9z Y29wZWQxLkMgICAgICAgICB8ICA0ICstCiBnY2MvdGVzdHN1aXRlL2crKy5kZy90YzEvZHIxNDIu QyAgICAgICAgICAgICAgfCAgOCArKy0tCiBnY2MvdGVzdHN1aXRlL2crKy5kZy90YzEvZHI1Mi5D ICAgICAgICAgICAgICAgfCAgNiArLS0KIC4uLi9nKysub2xkLWRlamEvZysrLmJyZW5kYW4vdmlz aWJpbGl0eTYuQyAgICB8ICA0ICstCiAuLi4vZysrLm9sZC1kZWphL2crKy5icmVuZGFuL3Zpc2li aWxpdHk4LkMgICAgfCAgNCArLQogLi4uL2crKy5vbGQtZGVqYS9nKysuamFzb24vYWNjZXNzOC5D ICAgICAgICAgIHwgIDUgKystCiBnY2MvdGVzdHN1aXRlL2crKy5vbGQtZGVqYS9nKysubGF3L2Fj Y2VzczQuQyAgfCAgNSArKy0KIC4uLi9nKysub2xkLWRlamEvZysrLmxhdy92aXNpYmlsaXR5MTIu QyAgICAgICB8ICA3ICsrLS0KIC4uLi9nKysub2xkLWRlamEvZysrLmxhdy92aXNpYmlsaXR5NC5D ICAgICAgICB8ICA1ICsrLQogLi4uL2crKy5vbGQtZGVqYS9nKysubGF3L3Zpc2liaWxpdHk4LkMg ICAgICAgIHwgIDUgKystCiAuLi4vZysrLm9sZC1kZWphL2crKy5vdGhlci9hY2Nlc3M0LkMgICAg ICAgICAgfCAgNCArLQogMTYgZmlsZXMgY2hhbmdlZCwgMTI5IGluc2VydGlvbnMoKyksIDM5IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2djYy9jcC9jYWxsLmMgYi9nY2MvY3AvY2FsbC5jCmlu ZGV4IGI2ZTlmMTI1YWViLi4xNzVhM2Q5YjQyMSAxMDA2NDQKLS0tIGEvZ2NjL2NwL2NhbGwuYwor KysgYi9nY2MvY3AvY2FsbC5jCkBAIC03MTQyLDI3ICs3MTQyLDQ1IEBAIGJ1aWxkX29wX2RlbGV0 ZV9jYWxsIChlbnVtIHRyZWVfY29kZSBjb2RlLCB0cmVlIGFkZHIsIHRyZWUgc2l6ZSwKIC8qIElz c3VlIGRpYWdub3N0aWNzIGFib3V0IGEgZGlzYWxsb3dlZCBhY2Nlc3Mgb2YgREVDTCwgdXNpbmcg RElBR19ERUNMCiAgICBpbiB0aGUgZGlhZ25vc3RpY3MuCiAKLSAgIElmIElTU1VFX0VSUk9SIGlz IHRydWUsIHRoZW4gaXNzdWUgYW4gZXJyb3IgYWJvdXQgdGhlCi0gICBhY2Nlc3MsIGZvbGxvd2Vk IGJ5IGEgbm90ZSBzaG93aW5nIHRoZSBkZWNsYXJhdGlvbi4KLSAgIE90aGVyd2lzZSwganVzdCBz aG93IHRoZSBub3RlLiAgKi8KKyAgIElmIElTU1VFX0VSUk9SIGlzIHRydWUsIHRoZW4gaXNzdWUg YW4gZXJyb3IgYWJvdXQgdGhlIGFjY2VzcywgZm9sbG93ZWQKKyAgIGJ5IGEgbm90ZSBzaG93aW5n IHRoZSBkZWNsYXJhdGlvbi4gIE90aGVyd2lzZSwganVzdCBzaG93IHRoZSBub3RlLgorCisgICBE SUFHX0RFQ0wgYW5kIERJQUdfTE9DQVRJT04gd2lsbCBhbG1vc3QgYWx3YXlzIGJlIHRoZSBzYW1l LgorICAgRElBR19MT0NBVElPTiBpcyBqdXN0IGFub3RoZXIgREVDTC4gIE5PX0FDQ0VTU19SRUFT T04gaXMgYW4gb3B0aW9uYWwKKyAgIHBhcmFtZXRlciB1c2VkIHRvIHNwZWNpZnkgd2h5IERFQ0wg d2Fzbid0IGFjY2Vzc2libGUgKGUuZy4gYWtfcHJpdmF0ZQorICAgd291bGQgYmUgYmVjYXVzZSBE RUNMIHdhcyBwcml2YXRlKS4gIElmIG5vdCB1c2luZyBOT19BQ0NFU1NfUkVBU09OLAorICAgdGhl biBpdCBtdXN0IGJlIGFrX25vbmUsIGFuZCB0aGUgYWNjZXNzIGZhaWx1cmUgcmVhc29uIHdpbGwg YmUKKyAgIGZpZ3VyZWQgb3V0IGJ5IGxvb2tpbmcgYXQgdGhlIHByb3RlY3Rpb24gb2YgREVDTC4g ICovCiAKIHZvaWQKLWNvbXBsYWluX2Fib3V0X2FjY2VzcyAodHJlZSBkZWNsLCB0cmVlIGRpYWdf ZGVjbCwgYm9vbCBpc3N1ZV9lcnJvcikKK2NvbXBsYWluX2Fib3V0X2FjY2VzcyAodHJlZSBkZWNs LCB0cmVlIGRpYWdfZGVjbCwgdHJlZSBkaWFnX2xvY2F0aW9uLAorYm9vbCBpc3N1ZV9lcnJvciwg YWNjZXNzX2tpbmQgbm9fYWNjZXNzX3JlYXNvbikKIHsKLSAgaWYgKFRSRUVfUFJJVkFURSAoZGVj bCkpCisgIC8qIElmIHdlIGhhdmUgbm90IGFscmVhZHkgZmlndXJlZCBvdXQgd2h5IERFQ0wgaXMg aW5hY2Nlc3NpYmxlLi4uICAqLworICBpZiAobm9fYWNjZXNzX3JlYXNvbiA9PSBha19ub25lKQor ICAgIHsKKyAgICAgIC8qIEV4YW1pbmUgdGhlIGFjY2VzcyBvZiBERUNMIHRvIGZpbmQgb3V0IHdo eS4gICovCisgICAgICBpZiAoVFJFRV9QUklWQVRFIChkZWNsKSkKKwlub19hY2Nlc3NfcmVhc29u ID0gYWtfcHJpdmF0ZTsKKyAgICAgIGVsc2UgaWYgKFRSRUVfUFJPVEVDVEVEIChkZWNsKSkKKwlu b19hY2Nlc3NfcmVhc29uID0gYWtfcHJvdGVjdGVkOworICAgIH0KKworICAvKiBOb3cgZ2VuZXJh dGUgYW4gZXJyb3IgbWVzc2FnZSBkZXBlbmRpbmcgb24gY2FsY3VsYXRlZCBhY2Nlc3MuICAqLwor ICBpZiAobm9fYWNjZXNzX3JlYXNvbiA9PSBha19wcml2YXRlKQogICAgIHsKICAgICAgIGlmIChp c3N1ZV9lcnJvcikKIAllcnJvciAoIiVxI0QgaXMgcHJpdmF0ZSB3aXRoaW4gdGhpcyBjb250ZXh0 IiwgZGlhZ19kZWNsKTsKLSAgICAgIGluZm9ybSAoREVDTF9TT1VSQ0VfTE9DQVRJT04gKGRpYWdf ZGVjbCksCi0JICAgICAgImRlY2xhcmVkIHByaXZhdGUgaGVyZSIpOworICAgICAgaW5mb3JtIChE RUNMX1NPVVJDRV9MT0NBVElPTiAoZGlhZ19sb2NhdGlvbiksICJkZWNsYXJlZCBwcml2YXRlIGhl cmUiKTsKICAgICB9Ci0gIGVsc2UgaWYgKFRSRUVfUFJPVEVDVEVEIChkZWNsKSkKKyAgZWxzZSBp ZiAobm9fYWNjZXNzX3JlYXNvbiA9PSBha19wcm90ZWN0ZWQpCiAgICAgewogICAgICAgaWYgKGlz c3VlX2Vycm9yKQogCWVycm9yICgiJXEjRCBpcyBwcm90ZWN0ZWQgd2l0aGluIHRoaXMgY29udGV4 dCIsIGRpYWdfZGVjbCk7Ci0gICAgICBpbmZvcm0gKERFQ0xfU09VUkNFX0xPQ0FUSU9OIChkaWFn X2RlY2wpLAotCSAgICAgICJkZWNsYXJlZCBwcm90ZWN0ZWQgaGVyZSIpOworICAgICAgaW5mb3Jt IChERUNMX1NPVVJDRV9MT0NBVElPTiAoZGlhZ19sb2NhdGlvbiksICJkZWNsYXJlZCBwcm90ZWN0 ZWQgaGVyZSIpOwogICAgIH0KKyAgLyogQ291bGRuJ3QgZmlndXJlIG91dCB3aHkgREVDTCBpcyBp bmFjY2VzaWJsZSwgc28ganVzdCBzYXkgaXQncworICAgICBpbmFjY2Vzc2libGUuICAqLwogICBl bHNlCiAgICAgewogICAgICAgaWYgKGlzc3VlX2Vycm9yKQpkaWZmIC0tZ2l0IGEvZ2NjL2NwL2Nw LXRyZWUuaCBiL2djYy9jcC9jcC10cmVlLmgKaW5kZXggNTExMzlmNGE0YmUuLmQ1M2Q5OGQyMjg0 IDEwMDY0NAotLS0gYS9nY2MvY3AvY3AtdHJlZS5oCisrKyBiL2djYy9jcC9jcC10cmVlLmgKQEAg LTY0MzQsNyArNjQzNCw4IEBAIGNsYXNzIGFjY2Vzc19mYWlsdXJlX2luZm8KICAgdHJlZSBtX2Rp YWdfZGVjbDsKIH07CiAKLWV4dGVybiB2b2lkIGNvbXBsYWluX2Fib3V0X2FjY2VzcwkJKHRyZWUs IHRyZWUsIGJvb2wpOworZXh0ZXJuIHZvaWQgY29tcGxhaW5fYWJvdXRfYWNjZXNzCQkodHJlZSwg dHJlZSwgdHJlZSwgYm9vbCwKKwkJCQkJCSAgYWNjZXNzX2tpbmQpOwogZXh0ZXJuIHZvaWQgcHVz aF9kZWZhcmdfY29udGV4dAkJCSh0cmVlKTsKIGV4dGVybiB2b2lkIHBvcF9kZWZhcmdfY29udGV4 dAkJCSh2b2lkKTsKIGV4dGVybiB0cmVlIGNvbnZlcnRfZGVmYXVsdF9hcmcJCQkodHJlZSwgdHJl ZSwgdHJlZSwgaW50LApAQCAtNzI3NCw2ICs3Mjc1LDcgQEAgZXh0ZXJuIHVuc2lnbmVkIGdldF9w c2V1ZG9fdGluZm9faW5kZXgJCSh0cmVlKTsKIGV4dGVybiB0cmVlIGdldF9wc2V1ZG9fdGluZm9f dHlwZQkJKHVuc2lnbmVkKTsKIAogLyogaW4gc2VhcmNoLmMgKi8KK2V4dGVybiB0cmVlIGdldF9w YXJlbnRfd2l0aF9wcml2YXRlX2FjY2VzcyAJKHRyZWUgZGVjbCwgdHJlZSBiaW5mbyk7CiBleHRl cm4gYm9vbCBhY2Nlc3NpYmxlX2Jhc2VfcAkJCSh0cmVlLCB0cmVlLCBib29sKTsKIGV4dGVybiB0 cmVlIGxvb2t1cF9iYXNlICAgICAgICAgICAgICAgICAgICAgICAgICh0cmVlLCB0cmVlLCBiYXNl X2FjY2VzcywKIAkJCQkJCSBiYXNlX2tpbmQgKiwgdHN1YnN0X2ZsYWdzX3QpOwpkaWZmIC0tZ2l0 IGEvZ2NjL2NwL3NlYXJjaC5jIGIvZ2NjL2NwL3NlYXJjaC5jCmluZGV4IGRkMzc3M2RhNGY3Li40 NmE3ZWNiMTQ0ZCAxMDA2NDQKLS0tIGEvZ2NjL2NwL3NlYXJjaC5jCisrKyBiL2djYy9jcC9zZWFy Y2guYwpAQCAtMTIyLDYgKzEyMiw0MSBAQCBkZnNfbG9va3VwX2Jhc2UgKHRyZWUgYmluZm8sIHZv aWQgKmRhdGFfKQogICByZXR1cm4gTlVMTF9UUkVFOwogfQogCisvKiBUaGlzIGRlYWxzIHdpdGgg YnVnIFBSMTczMTQuCisKKyAgIERFQ0wgaXMgYSBkZWNsYXJhdGlvbiBhbmQgQklORk8gcmVwcmVz ZW50cyBhIGNsYXNzIHRoYXQgaGFzIGF0dGVtcHRlZCAoYnV0CisgICBmYWlsZWQpIHRvIGFjY2Vz cyBERUNMLgorCisgICBFeGFtaW5lIHRoZSBwYXJlbnQgYmluZm9zIG9mIEJJTkZPIGFuZCBkZXRl cm1pbmUgd2hldGhlciBhbnkgb2YgdGhlbSBoYWQKKyAgIHByaXZhdGUgYWNjZXNzIHRvIERFQ0wu ICBJZiB0aGV5IGRpZCwgcmV0dXJuIHRoZSBwYXJlbnQgYmluZm8uICBUaGlzIGhlbHBzCisgICBp biBmaWd1cmluZyBvdXQgdGhlIGNvcnJlY3QgZXJyb3IgbWVzc2FnZSB0byBzaG93IChpZiB0aGUg cGFyZW50cyBoYWQKKyAgIGFjY2VzcywgaXQncyB0aGVpciBmYXVsdCBmb3Igbm90IGdpdmluZyBz dWZmaWNpZW50IGFjY2VzcyB0byBCSU5GTykuCisKKyAgIElmIG5vIHBhcmVudHMgaGFkIGFjY2Vz cywgcmV0dXJuIE5VTExfVFJFRS4gICovCisKK3RyZWUKK2dldF9wYXJlbnRfd2l0aF9wcml2YXRl X2FjY2VzcyAodHJlZSBkZWNsLCB0cmVlIGJpbmZvKQoreworICAvKiBPbmx5IEJJTkZPcyBzaG91 bGQgY29tZSB0aHJvdWdoIGhlcmUuICAqLworICBnY2NfYXNzZXJ0IChUUkVFX0NPREUgKGJpbmZv KSA9PSBUUkVFX0JJTkZPKTsKKworICB0cmVlIGJhc2VfYmluZm8gPSBOVUxMX1RSRUU7CisKKyAg LyogSXRlcmF0ZSB0aHJvdWdoIGltbWVkaWF0ZSBwYXJlbnQgY2xhc3Nlcy4gICovCisgIGZvciAo aW50IGkgPSAwOyBCSU5GT19CQVNFX0lURVJBVEUgKGJpbmZvLCBpLCBiYXNlX2JpbmZvKTsgaSsr KQorICAgIHsKKyAgICAgIC8qIFRoaXMgcGFyZW50IGhhZCBwcml2YXRlIGFjY2Vzcy4gIFRoZXJl Zm9yZSB0aGF0J3Mgd2h5IEJJTkZPIGNhbid0CisJICBhY2Nlc3MgREVDTC4gICovCisgICAgICBp ZiAoYWNjZXNzX2luX3R5cGUgKEJJTkZPX1RZUEUgKGJhc2VfYmluZm8pLCBkZWNsKSA9PSBha19w cml2YXRlKQorCXJldHVybiBiYXNlX2JpbmZvOworICAgIH0KKworICAvKiBOb25lIG9mIHRoZSBw YXJlbnRzIGhhZCBhY2Nlc3MuICBOb3RlOiBpdCdzIGltcG9zc2libGUgZm9yIG9uZSBvZiB0aGUK KyAgICAgcGFyZW50cyB0byBoYXZlIGhhZCBwdWJsaWMgb3IgcHJvdGVjdGVkIGFjY2VzcyB0byBE RUNMLCBzaW5jZSB0aGVuCisgICAgIEJJTkZPIHdvdWxkIGhhdmUgYmVlbiBhYmxlIHRvIGFjY2Vz cyBERUNMIHRvby4gICovCisgIHJldHVybiBOVUxMX1RSRUU7Cit9CisKIC8qIFJldHVybnMgdHJ1 ZSBpZiB0eXBlIEJBU0UgaXMgYWNjZXNzaWJsZSBpbiBULiAgKEJBU0UgaXMga25vd24gdG8gYmUK ICAgIGEgKHBvc3NpYmx5IG5vbi1wcm9wZXIpIGJhc2UgY2xhc3Mgb2YgVC4pICBJZiBDT05TSURF Ul9MT0NBTF9QIGlzCiAgICB0cnVlLCBjb25zaWRlciBhbnkgc3BlY2lhbCBhY2Nlc3Mgb2YgdGhl IGN1cnJlbnQgc2NvcGUsIG9yIGFjY2VzcwpkaWZmIC0tZ2l0IGEvZ2NjL2NwL3NlbWFudGljcy5j IGIvZ2NjL2NwL3NlbWFudGljcy5jCmluZGV4IDI0NGZjNzBkMDJkLi4xM2QxNDMzNGZkZCAxMDA2 NDQKLS0tIGEvZ2NjL2NwL3NlbWFudGljcy5jCisrKyBiL2djYy9jcC9zZW1hbnRpY3MuYwpAQCAt MzE2LDcgKzMxNiwzNiBAQCBlbmZvcmNlX2FjY2VzcyAodHJlZSBiYXNldHlwZV9wYXRoLCB0cmVl IGRlY2wsIHRyZWUgZGlhZ19kZWNsLAogICAgICAgaWYgKGZsYWdfbmV3X2luaGVyaXRpbmdfY3Rv cnMpCiAJZGlhZ19kZWNsID0gc3RyaXBfaW5oZXJpdGluZ19jdG9ycyAoZGlhZ19kZWNsKTsKICAg ICAgIGlmIChjb21wbGFpbiAmIHRmX2Vycm9yKQotCWNvbXBsYWluX2Fib3V0X2FjY2VzcyAoZGVj bCwgZGlhZ19kZWNsLCB0cnVlKTsKKwl7CisJICAvKiBXZSB3aWxsIHVzdWFsbHkgd2FudCB0byBw b2ludCB0byB0aGUgc2FtZSBwbGFjZSBhcworCSAgICAgZGlhZ19kZWNsIGJ1dCBub3QgYWx3YXlz LiAgKi8KKwkgIHRyZWUgZGlhZ19sb2NhdGlvbiA9IGRpYWdfZGVjbDsKKwkgIGFjY2Vzc19raW5k IHBhcmVudF9hY2Nlc3MgPSBha19ub25lOworCisJICAvKiBTZWUgaWYgYW55IG9mIEJBU0VUWVBF X1BBVEgncyBwYXJlbnRzIGhhZCBwcml2YXRlIGFjY2VzcworCSAgICAgdG8gREVDTC4gIElmIHRo ZXkgZGlkLCB0aGF0IHdpbGwgdGVsbCB1cyB3aHkgd2UgZG9uJ3QuICAqLworCSAgdHJlZSBwYXJl bnRfYmluZm8gPSBnZXRfcGFyZW50X3dpdGhfcHJpdmF0ZV9hY2Nlc3MgKGRlY2wsCisJCQkJCQkJ ICAgICAgIGJhc2V0eXBlX3BhdGgpOworCisJICAvKiBJZiBhIHBhcmVudCBoYWQgcHJpdmF0ZSBh Y2Nlc3MsIHRoZW4gdGhlIGRpYWdub3N0aWMKKwkgICAgIGxvY2F0aW9uIERFQ0wgc2hvdWxkIGJl IHRoYXQgb2YgdGhlIHBhcmVudCBjbGFzcywgc2luY2UgaXQKKwkgICAgIGZhaWxlZCB0byBnaXZl IHN1aXRhYmxlIGFjY2VzcyBieSB1c2luZyBhIHByaXZhdGUKKwkgICAgIGluaGVyaXRhbmNlLiAg QnV0IGlmIERFQ0wgd2FzIGFjdHVhbGx5IGRlZmluZWQgaW4gdGhlIHBhcmVudCwKKwkgICAgIGl0 IHdhc24ndCBwcml2YXRlbHkgaW5oZXJpdGVkLCBhbmQgc28gd2UgZG9uJ3QgbmVlZCB0byBkbwor CSAgICAgdGhpcywgYW5kIGNvbXBsYWluX2Fib3V0X2FjY2VzcyB3aWxsIGZpZ3VyZSBvdXQgd2hh dCB0bworCSAgICAgZG8uICAqLworCSAgaWYgKHBhcmVudF9iaW5mbyAhPSBOVUxMX1RSRUUKKwkg ICAgICAmJiBjb250ZXh0X2Zvcl9uYW1lX2xvb2t1cCAoZGVjbCkKKwkgICAgICAhPSBCSU5GT19U WVBFIChwYXJlbnRfYmluZm8pKQorCSAgICB7CisJICAgICAgZGlhZ19sb2NhdGlvbiA9IFRZUEVf TkFNRSAoQklORk9fVFlQRSAocGFyZW50X2JpbmZvKSk7CisJICAgICAgcGFyZW50X2FjY2VzcyA9 IGFrX3ByaXZhdGU7CisJICAgIH0KKworCSAgLyogRmluYWxseSwgZ2VuZXJhdGUgYW4gZXJyb3Ig bWVzc2FnZS4gICovCisJICBjb21wbGFpbl9hYm91dF9hY2Nlc3MgKGRlY2wsIGRpYWdfZGVjbCwg ZGlhZ19sb2NhdGlvbiwgdHJ1ZSwKKwkJCQkgIHBhcmVudF9hY2Nlc3MpOworCX0KICAgICAgIGlm IChhZmkpCiAJYWZpLT5yZWNvcmRfYWNjZXNzX2ZhaWx1cmUgKGJhc2V0eXBlX3BhdGgsIGRlY2ws IGRpYWdfZGVjbCk7CiAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9nY2MvY3AvdHlw ZWNrLmMgYi9nY2MvY3AvdHlwZWNrLmMKaW5kZXggY2Q1OTJmZDU1OGUuLjM4YTI2MjI3NTY5IDEw MDY0NAotLS0gYS9nY2MvY3AvdHlwZWNrLmMKKysrIGIvZ2NjL2NwL3R5cGVjay5jCkBAIC0yOTgw LDcgKzI5ODAsOCBAQCBjb21wbGFpbl9hYm91dF91bnJlY29nbml6ZWRfbWVtYmVyICh0cmVlIGFj Y2Vzc19wYXRoLCB0cmVlIG5hbWUsCiAJCSAgICBUUkVFX0NPREUgKGFjY2Vzc19wYXRoKSA9PSBU UkVFX0JJTkZPCiAJCSAgICA/IFRSRUVfVFlQRSAoYWNjZXNzX3BhdGgpIDogb2JqZWN0X3R5cGUs CiAJCSAgICBuYW1lLCBhZmkuZ2V0X2RpYWdfZGVjbCAoKSk7Ci0JICBjb21wbGFpbl9hYm91dF9h Y2Nlc3MgKGFmaS5nZXRfZGVjbCAoKSwgYWZpLmdldF9kaWFnX2RlY2wgKCksIGZhbHNlKTsKKwkg IGNvbXBsYWluX2Fib3V0X2FjY2VzcyAoYWZpLmdldF9kZWNsICgpLCBhZmkuZ2V0X2RpYWdfZGVj bCAoKSwKKwkJCQkgIGFmaS5nZXRfZGlhZ19kZWNsICgpLCBmYWxzZSwgYWtfbm9uZSk7CiAJfQog ICAgIH0KICAgZWxzZQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvbG9va3VwL3Nj b3BlZDEuQyBiL2djYy90ZXN0c3VpdGUvZysrLmRnL2xvb2t1cC9zY29wZWQxLkMKaW5kZXggNjYz ZjcxOGI3MzQuLjJmN2Y2MDNiNDlmIDEwMDY0NAotLS0gYS9nY2MvdGVzdHN1aXRlL2crKy5kZy9s b29rdXAvc2NvcGVkMS5DCisrKyBiL2djYy90ZXN0c3VpdGUvZysrLmRnL2xvb2t1cC9zY29wZWQx LkMKQEAgLTQsMTIgKzQsMTIgQEAKIHN0cnVjdCBBCiB7CiAgIHN0YXRpYyBpbnQgaTE7Ci0gIGlu dCBpMjsgLy8geyBkZy1tZXNzYWdlICJkZWNsYXJlZCIgfQorICBpbnQgaTI7IAogICBzdGF0aWMg dm9pZCBmMSAoKTsKICAgdm9pZCBmMiAoKTsKIH07CiAKLXN0cnVjdCBCOiBwcml2YXRlIEEgeyB9 Oworc3RydWN0IEI6IHByaXZhdGUgQSB7IH07IC8vIHsgZGctbWVzc2FnZSAiZGVjbGFyZWQiIH0K IHN0cnVjdCBDOiBwdWJsaWMgQgogewogICB2b2lkIGcgKCkKZGlmZiAtLWdpdCBhL2djYy90ZXN0 c3VpdGUvZysrLmRnL3RjMS9kcjE0Mi5DIGIvZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvdGMxL2RyMTQy LkMKaW5kZXggMmYwMzcwMjMzZTYuLjZlMjE2ZGE4OWYwIDEwMDY0NAotLS0gYS9nY2MvdGVzdHN1 aXRlL2crKy5kZy90YzEvZHIxNDIuQworKysgYi9nY2MvdGVzdHN1aXRlL2crKy5kZy90YzEvZHIx NDIuQwpAQCAtMiwxMyArMiwxMyBAQAogLy8gT3JpZ2luOiBHaW92YW5uaSBCYWpvIDxnaW92YW5u aWJham8gYXQgZ2NjIGRvdCBnbnUgZG90IG9yZz4KIC8vIERSMTQyOiBJbmplY3Rpb24tcmVsYXRl ZCBlcnJvcnMgaW4gYWNjZXNzIGV4YW1wbGUgCiAKLWNsYXNzIEIgeyAgICAgICAgICAgICAgICAg Ly8geyBkZy1tZXNzYWdlICJkZWNsYXJlZCIgfQorY2xhc3MgQiB7ICAgICAgICAgICAgICAgICAK IHB1YmxpYzoKLSAgaW50IG1pOyAgICAgICAgICAgICAgICAgLy8geyBkZy1tZXNzYWdlICJkZWNs YXJlZCIgfQotICBzdGF0aWMgaW50IHNpOyAgICAgICAgICAvLyB7IGRnLW1lc3NhZ2UgImRlY2xh cmVkIiB9CisgIGludCBtaTsgICAgICAgICAgICAgICAgIAorICBzdGF0aWMgaW50IHNpOyAgICAg ICAgICAKIH07CiAKLWNsYXNzIEQ6IHByaXZhdGUgQiB7CitjbGFzcyBEOiBwcml2YXRlIEIgeyAv LyB7IGRnLW1lc3NhZ2UgImRlY2xhcmVkIiB9CiB9OwogCiBjbGFzcyBERDogcHVibGljIEQgewpk aWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvdGMxL2RyNTIuQyBiL2djYy90ZXN0c3Vp dGUvZysrLmRnL3RjMS9kcjUyLkMKaW5kZXggN2NmZjg0NzAyM2YuLjE3YjY0OTY5MTZjIDEwMDY0 NAotLS0gYS9nY2MvdGVzdHN1aXRlL2crKy5kZy90YzEvZHI1Mi5DCisrKyBiL2djYy90ZXN0c3Vp dGUvZysrLmRnL3RjMS9kcjUyLkMKQEAgLTE3LDExICsxNywxMSBAQCBzdHJ1Y3QgQjEgOiBCIHt9 Owogc3RydWN0IEIyIDogQiB7fTsKIAogc3RydWN0IEMKLXsgLy8geyBkZy1tZXNzYWdlICJkZWNs YXJlZCIgfQotICB2b2lkIGZvbyh2b2lkKTsKK3sgCisgIHZvaWQgZm9vKHZvaWQpOyAKIH07CiAK LXN0cnVjdCBEIDogcHJpdmF0ZSBDIHt9Oworc3RydWN0IEQgOiBwcml2YXRlIEMge307IC8vIHsg ZGctbWVzc2FnZSAiZGVjbGFyZWQiIH0KIAogc3RydWN0IFg6IEEsIEIxLCBCMiwgRAogewpkaWZm IC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nKysub2xkLWRlamEvZysrLmJyZW5kYW4vdmlzaWJpbGl0 eTYuQyBiL2djYy90ZXN0c3VpdGUvZysrLm9sZC1kZWphL2crKy5icmVuZGFuL3Zpc2liaWxpdHk2 LkMKaW5kZXggM2RmYWY3ZmQwZWEuLjhkNmM2ZjEwODA2IDEwMDY0NAotLS0gYS9nY2MvdGVzdHN1 aXRlL2crKy5vbGQtZGVqYS9nKysuYnJlbmRhbi92aXNpYmlsaXR5Ni5DCisrKyBiL2djYy90ZXN0 c3VpdGUvZysrLm9sZC1kZWphL2crKy5icmVuZGFuL3Zpc2liaWxpdHk2LkMKQEAgLTMsOSArMyw5 IEBACiBjbGFzcyBib3R0b20KIHsKIHB1YmxpYzoKLSAgaW50IGI7IC8vIHsgZGctbWVzc2FnZSAi IiB9IHByaXZhdGUKKyAgaW50IGI7IAogfTsKLWNsYXNzIG1pZGRsZSA6IHByaXZhdGUgYm90dG9t CitjbGFzcyBtaWRkbGUgOiBwcml2YXRlIGJvdHRvbSAvLyB7IGRnLW1lc3NhZ2UgIiIgfSBwcml2 YXRlCiB7CiBwdWJsaWM6CiAgIHZvaWQgZm9vICgpIHsgYjsgfQpkaWZmIC0tZ2l0IGEvZ2NjL3Rl c3RzdWl0ZS9nKysub2xkLWRlamEvZysrLmJyZW5kYW4vdmlzaWJpbGl0eTguQyBiL2djYy90ZXN0 c3VpdGUvZysrLm9sZC1kZWphL2crKy5icmVuZGFuL3Zpc2liaWxpdHk4LkMKaW5kZXggM2M0NDNh ZmU2NzguLmMxNjViMDg3NGEwIDEwMDY0NAotLS0gYS9nY2MvdGVzdHN1aXRlL2crKy5vbGQtZGVq YS9nKysuYnJlbmRhbi92aXNpYmlsaXR5OC5DCisrKyBiL2djYy90ZXN0c3VpdGUvZysrLm9sZC1k ZWphL2crKy5icmVuZGFuL3Zpc2liaWxpdHk4LkMKQEAgLTUsOSArNSw5IEBACiBjbGFzcyBmb28K IHsKIHB1YmxpYzoKLSAgc3RhdGljIGludCB5OyAvLyB7IGRnLW1lc3NhZ2UgIiIgfSBwcml2YXRl CisgIHN0YXRpYyBpbnQgeTsgCiB9OwotY2xhc3MgZm9vMSA6IHByaXZhdGUgZm9vCitjbGFzcyBm b28xIDogcHJpdmF0ZSBmb28gLy8geyBkZy1tZXNzYWdlICIiIH0gcHJpdmF0ZQogeyB9OwogY2xh c3MgZm9vMiA6IHB1YmxpYyBmb28xCiB7IHB1YmxpYzoKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3Vp dGUvZysrLm9sZC1kZWphL2crKy5qYXNvbi9hY2Nlc3M4LkMgYi9nY2MvdGVzdHN1aXRlL2crKy5v bGQtZGVqYS9nKysuamFzb24vYWNjZXNzOC5DCmluZGV4IDQ0MDRkOGFkOTVkLi4wYWE4NWQwNDU3 YyAxMDA2NDQKLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nKysub2xkLWRlamEvZysrLmphc29uL2FjY2Vz czguQworKysgYi9nY2MvdGVzdHN1aXRlL2crKy5vbGQtZGVqYS9nKysuamFzb24vYWNjZXNzOC5D CkBAIC0zLDEzICszLDE0IEBACiAvLyBEYXRlOiAyNSBKYW4gMTk5NCAyMzo0MTozMyAtMDUwMAog Ly8gQnVnOiBnKysgZm9yZ2V0cyBhY2Nlc3MgZGVjbHMgYWZ0ZXIgdGhlIGRlZmluaXRpb24uCiAK LWNsYXNzIGluaCB7IC8vIHsgZGctbWVzc2FnZSAiIiB9IGluYWNjZXNzaWJsZQorY2xhc3MgaW5o IHsgCiAgICAgICAgIGludCBhOwogcHJvdGVjdGVkOgogICAgICAgICB2b2lkIG15ZihpbnQpOwog fTsKIAotY2xhc3MgbWVsIDogcHJpdmF0ZSBpbmggeworY2xhc3MgbWVsIDogcHJpdmF0ZSBpbmgg Ly8geyBkZy1tZXNzYWdlICIiIH0gaW5hY2Nlc3NpYmxlCit7CiBwcm90ZWN0ZWQ6CiAgICAgICAg IGludCB0OwogCWluaDo6bXlmOyAgLy8geyBkZy13YXJuaW5nICJkZXByZWNhdGVkIiB9CmRpZmYg LS1naXQgYS9nY2MvdGVzdHN1aXRlL2crKy5vbGQtZGVqYS9nKysubGF3L2FjY2VzczQuQyBiL2dj Yy90ZXN0c3VpdGUvZysrLm9sZC1kZWphL2crKy5sYXcvYWNjZXNzNC5DCmluZGV4IDU0MDcyY2Uz YjMyLi41N2ZhMjRhMGRkZSAxMDA2NDQKLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nKysub2xkLWRlamEv ZysrLmxhdy9hY2Nlc3M0LkMKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nKysub2xkLWRlamEvZysrLmxh dy9hY2Nlc3M0LkMKQEAgLTYsMTIgKzYsMTMgQEAKIC8vIFN1YmplY3Q6ICBnKysgMi41LjUgZG9l c24ndCB3YXJuIGFib3V0IGluYWNjZXNzaWJsZSB2aXJ0dWFsIGJhc2UgY3RvcgogLy8gTWVzc2Fn ZS1JRDogPDk0MDMwMzAwMjQuQUEwNDUzNEBzZXMuY29tPgogCi1jbGFzcyBGb3JjZUxlYWZTdGVy aWxlIHsgLy8geyBkZy1tZXNzYWdlICIiIH0gCitjbGFzcyBGb3JjZUxlYWZTdGVyaWxlIHsgCiAg ICAgZnJpZW5kIGNsYXNzIFN0ZXJpbGU7CiAgICAgICBGb3JjZUxlYWZTdGVyaWxlKCkge30gLy8g eyBkZy1tZXNzYWdlICIiIH0gCiB9OwogCi1jbGFzcyBTdGVyaWxlIDogcHJpdmF0ZSB2aXJ0dWFs IEZvcmNlTGVhZlN0ZXJpbGUgeworY2xhc3MgU3RlcmlsZSA6IHByaXZhdGUgdmlydHVhbCBGb3Jj ZUxlYWZTdGVyaWxlIC8vIHsgZGctbWVzc2FnZSAiIiB9IAorewogcHVibGljOgogICAgIFN0ZXJp bGUoKSB7fQogICAgIFN0ZXJpbGUoY29uc3QgY2hhciogLypibGFoKi8pIHt9CmRpZmYgLS1naXQg YS9nY2MvdGVzdHN1aXRlL2crKy5vbGQtZGVqYS9nKysubGF3L3Zpc2liaWxpdHkxMi5DIGIvZ2Nj L3Rlc3RzdWl0ZS9nKysub2xkLWRlamEvZysrLmxhdy92aXNpYmlsaXR5MTIuQwppbmRleCA1OTQ2 N2JhN2Q4MC4uNmI3ZmY3NWQyY2EgMTAwNjQ0Ci0tLSBhL2djYy90ZXN0c3VpdGUvZysrLm9sZC1k ZWphL2crKy5sYXcvdmlzaWJpbGl0eTEyLkMKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nKysub2xkLWRl amEvZysrLmxhdy92aXNpYmlsaXR5MTIuQwpAQCAtNiwxMSArNiwxMiBAQAogLy8gU3ViamVjdDog IG1lbWJlciBhY2Nlc3MgcnVsZSBidWcKIC8vIE1lc3NhZ2UtSUQ6IDw5MzA2MzAwNTI4LkFBMTcx ODVAY29kYS5tZWwuZGl0LkNTSVJPLkFVPgogc3RydWN0IGEgewotICBpbnQgYWE7IC8vIHsgZGct bWVzc2FnZSAiIiB9IHByaXZhdGUKKyAgaW50IGFhOyAKICAgICAgICAgfTsKIAotY2xhc3MgYiA6 IHByaXZhdGUgYSB7Ci0gICAgICAgIH07CitjbGFzcyBiIDogcHJpdmF0ZSBhIC8vIHsgZGctbWVz c2FnZSAiIiB9IHByaXZhdGUKK3sKK307CiAKIGNsYXNzIGMgOiBwdWJsaWMgYiB7CiAgICAgICAg IGludCB4eCh2b2lkKSB7IHJldHVybiAoYWEpOyB9ICAvLyBhYSBzaG91bGQgYmUgaW52aXNpYmxl Ly8geyBkZy1lcnJvciAiIiB9IC4qCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2crKy5vbGQt ZGVqYS9nKysubGF3L3Zpc2liaWxpdHk0LkMgYi9nY2MvdGVzdHN1aXRlL2crKy5vbGQtZGVqYS9n KysubGF3L3Zpc2liaWxpdHk0LkMKaW5kZXggMWNkZWMxYzJiNTUuLjY0NDE1NGU2NmZiIDEwMDY0 NAotLS0gYS9nY2MvdGVzdHN1aXRlL2crKy5vbGQtZGVqYS9nKysubGF3L3Zpc2liaWxpdHk0LkMK KysrIGIvZ2NjL3Rlc3RzdWl0ZS9nKysub2xkLWRlamEvZysrLmxhdy92aXNpYmlsaXR5NC5DCkBA IC04LDEwICs4LDExIEBACiAKIGNsYXNzIEEgewogcHVibGljOgotICAgICBpbnQgYjsgLy8geyBk Zy1tZXNzYWdlICIiIH0gcHJpdmF0ZQorICAgICBpbnQgYjsgCiB9OwogCi1jbGFzcyBDIDogcHJp dmF0ZSBBIHsgICAgICAgICAgICAgICAgICAgLy8gTk9URSBXRUxMLiBwcml2YXRlLCBub3QgcHVi bGljCitjbGFzcyBDIDogcHJpdmF0ZSBBIC8vIHsgZGctbWVzc2FnZSAiIiB9IHByaXZhdGUKK3sg ICAgICAgICAgICAgICAgICAgCiBwdWJsaWM6CiAgICAgICAgIGludCBkOwogfTsKZGlmZiAtLWdp dCBhL2djYy90ZXN0c3VpdGUvZysrLm9sZC1kZWphL2crKy5sYXcvdmlzaWJpbGl0eTguQyBiL2dj Yy90ZXN0c3VpdGUvZysrLm9sZC1kZWphL2crKy5sYXcvdmlzaWJpbGl0eTguQwppbmRleCA1MjQy ZGZjODA0Zi4uNDQ1N2RkZjQ2YzcgMTAwNjQ0Ci0tLSBhL2djYy90ZXN0c3VpdGUvZysrLm9sZC1k ZWphL2crKy5sYXcvdmlzaWJpbGl0eTguQworKysgYi9nY2MvdGVzdHN1aXRlL2crKy5vbGQtZGVq YS9nKysubGF3L3Zpc2liaWxpdHk4LkMKQEAgLTcsMTEgKzcsMTIgQEAKIC8vIE1lc3NhZ2UtSUQ6 IDxtMG5vZjNFLTAwMjFpZkNAanRzLmNvbQogY2xhc3MgdDEgewogcHJvdGVjdGVkOgotICAgIGlu dCBhOyAvLyB7IGRnLW1lc3NhZ2UgIiIgfSBwcm90ZWN0ZWQKKyAgICBpbnQgYTsgCiB9OwogCiAK LWNsYXNzIHQyIDogcHJpdmF0ZSB0MSB7CitjbGFzcyB0MiA6IHByaXZhdGUgdDEgLy8geyBkZy1t ZXNzYWdlICIiIH0gcHJvdGVjdGVkCit7IAogcHVibGljOgogICAgIGludCBiOwogfTsKZGlmZiAt LWdpdCBhL2djYy90ZXN0c3VpdGUvZysrLm9sZC1kZWphL2crKy5vdGhlci9hY2Nlc3M0LkMgYi9n Y2MvdGVzdHN1aXRlL2crKy5vbGQtZGVqYS9nKysub3RoZXIvYWNjZXNzNC5DCmluZGV4IGQzYzhk ODVjM2Y1Li42YzQ3NzAwZGIxOSAxMDA2NDQKLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nKysub2xkLWRl amEvZysrLm90aGVyL2FjY2VzczQuQworKysgYi9nY2MvdGVzdHN1aXRlL2crKy5vbGQtZGVqYS9n Kysub3RoZXIvYWNjZXNzNC5DCkBAIC0xLDEwICsxLDEwIEBACiAvLyB7IGRnLWRvIGFzc2VtYmxl ICB9CiAKLXN0cnVjdCBBIHsgLy8geyBkZy1tZXNzYWdlICIiIH0gaW5hY2Nlc3NpYmxlCitzdHJ1 Y3QgQSB7IAogICBzdGF0aWMgaW50IGk7CiB9OwogCi1zdHJ1Y3QgQiA6IHByaXZhdGUgQSB7IH07 CitzdHJ1Y3QgQiA6IHByaXZhdGUgQSB7IH07IC8vIHsgZGctbWVzc2FnZSAiIiB9IGluYWNjZXNz aWJsZQogCiBzdHJ1Y3QgQyA6IHB1YmxpYyBCIHsKICAgaW50IGYgKCkgeyByZXR1cm4gQTo6aTsg fSAvLyB7IGRnLWVycm9yICIiIH0gY29udGV4dAotLSAKMi4yNS4xCgo= --000000000000f10ea905b982bff5--