From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-oi1-x22a.google.com (mail-oi1-x22a.google.com [IPv6:2607:f8b0:4864:20::22a]) by sourceware.org (Postfix) with ESMTPS id 65BC03858D1E; Tue, 20 Jun 2023 10:54:37 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 65BC03858D1E Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-oi1-x22a.google.com with SMTP id 5614622812f47-39ecf9c3eefso1740820b6e.3; Tue, 20 Jun 2023 03:54:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1687258477; x=1689850477; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=jGNVWBhIkpJZCUURGBBttmtK9juiI2UASeV1GK42Drg=; b=UAu2qWBN7YEPwqwFQoEJKD9P3DkRkrzJwMn1E+KtRYAJz/cR+kfpCYrB55pF2vWRdb gOdIWE//9LgVWj2R9g2vT/YW0ChuuWb3bJTY5p9SO1DslfOzSP2CoJjHZW9f2JVlDak4 e6XU/mmiW6IWiZgyyGdMzYEtT1cXJEu4PIUnlvpLL/iaVynXWNrKbpL4SbUuHtYfPhPw BA9BSBWM0RoW4EK+Sd5LNCZ3UXxxJ/0yed+Piz7+epHZAnzzNyMgYiDzWfYcjr/lrKNI Ev90Y/dBLzw8PLZ05fl2PlqKffKjTvCRKmUXYFM+qbk5HSbf0xgQWf0pwFDEEG0iI2W4 Ww2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687258477; x=1689850477; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=jGNVWBhIkpJZCUURGBBttmtK9juiI2UASeV1GK42Drg=; b=WQfSfDycddenlmxUn+Dr9Gkq+Z9plgTV+a3svxxh5CFZEXAhXwvdqI+vHdOmH+aShT g540J+BjDodlVtJ9u0ibzf2zL4k7jkKHP8380ZIK162fS8nyjm1uQX6mnc69FyV2AxV+ qX3GcypMruC6mGcOpn6hMg+gzuT5fMTD36mrX4nOuL+ptCXia9keQecC5EF4B4NbzcM9 X3/JAgu7B/4bLP6ERkKRYUY9Jl5dwoWtBJRSNcU8rrP6Vmb8Z/1BavLV/uwcojTsdUbJ lyS9rqBMBgZg4KhndORe9XPyZ8DZ687och0zMPH+5OKcimPdvZ3n2zF1rVFbKjknlOcP os+A== X-Gm-Message-State: AC+VfDzkNaUiBP5R+ObmoUS46KGtjNibcl041hN+ssurRGplASpdoNEW oZuNxP8TGSRq2i6/BMeXj8m07rQR2auneZUynrg= X-Google-Smtp-Source: ACHHUZ5p1TqZDLqVUUcMhsIyHjlqQDE7oZcDwcnfxGt2XuOi/hh3/peYtD3JagRKWxJ4OWY668cOt7bPXGTuLWcYaJU= X-Received: by 2002:a05:6808:6348:b0:39b:e5fe:abe8 with SMTP id eb8-20020a056808634800b0039be5feabe8mr12092253oib.50.1687258476576; Tue, 20 Jun 2023 03:54:36 -0700 (PDT) MIME-Version: 1.0 References: <358e8e69-8fc9-8d00-7fde-9aaa86371c87@gmx.de> In-Reply-To: From: Paul Richard Thomas Date: Tue, 20 Jun 2023 11:54:25 +0100 Message-ID: Subject: Re: [Patch, fortran] PR107900 Select type with intrinsic type inside associate causes ICE / Segmenation fault To: Harald Anlauf , "fortran@gcc.gnu.org" , gcc-patches Cc: Steve Kargl Content-Type: multipart/mixed; boundary="000000000000253a1205fe8d7a71" X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --000000000000253a1205fe8d7a71 Content-Type: text/plain; charset="UTF-8" Hi Harald, Fixing the original testcase in this PR turned out to be slightly more involved than I expected. However, it resulted in an open door to fix some other PRs and the attached much larger patch. This time, I did remember to include the testcases in the .diff :-) I believe that, between the Change.Logs and the comments, it is reasonably self-explanatory. OK for trunk? Regards Paul Fortran: Fix some bugs in associate [PR87477] 2023-06-20 Paul Thomas gcc/fortran PR fortran/87477 PR fortran/88688 PR fortran/94380 PR fortran/107900 PR fortran/110224 * decl.cc (char_len_param_value): Fix memory leak. (resolve_block_construct): Remove unnecessary static decls. * expr.cc (gfc_is_ptr_fcn): New function. (gfc_check_vardef_context): Use it to permit pointer function result selectors to be used for associate names in variable definition context. * gfortran.h: Prototype for gfc_is_ptr_fcn. * match.cc (build_associate_name): New function. (gfc_match_select_type): Use the new function to replace inline version and to build a new associate name for the case where the supplied associate name is already used for that purpose. * resolve.cc (resolve_assoc_var): Call gfc_is_ptr_fcn to allow associate names with pointer function targets to be used in variable definition context. * trans-decl.cc (gfc_get_symbol_decl): Unlimited polymorphic variables need deferred initialisation of the vptr. (gfc_trans_deferred_vars): Do the vptr initialisation. * trans-stmt.cc (trans_associate_var): Ensure that a pointer associate name points to the target of the selector and not the selector itself. gcc/testsuite/ PR fortran/87477 PR fortran/107900 * gfortran.dg/pr107900.f90 : New test PR fortran/110224 * gfortran.dg/pr110224.f90 : New test PR fortran/88688 * gfortran.dg/pr88688.f90 : New test PR fortran/94380 * gfortran.dg/pr94380.f90 : New test PR fortran/95398 * gfortran.dg/pr95398.f90 : Set -std=f2008, bump the line numbers in the error tests by two and change the text in two. --000000000000253a1205fe8d7a71 Content-Type: text/x-patch; charset="US-ASCII"; name="submit200623.diff" Content-Disposition: attachment; filename="submit200623.diff" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lj4637dw0 ZGlmZiAtLWdpdCBhL2djYy9mb3J0cmFuL2RlY2wuY2MgYi9nY2MvZm9ydHJhbi9kZWNsLmNjCmlu ZGV4IGQwOWM4YmM5N2Q5Li44NDQzNDVkZjc3ZSAxMDA2NDQKLS0tIGEvZ2NjL2ZvcnRyYW4vZGVj bC5jYworKysgYi9nY2MvZm9ydHJhbi9kZWNsLmNjCkBAIC0xMDg2LDYgKzEwODYsOCBAQCBjaGFy X2xlbl9wYXJhbV92YWx1ZSAoZ2ZjX2V4cHIgKipleHByLCBib29sICpkZWZlcnJlZCkKICAgcCA9 IGdmY19jb3B5X2V4cHIgKCpleHByKTsKICAgaWYgKGdmY19pc19jb25zdGFudF9leHByIChwKSAm JiBnZmNfc2ltcGxpZnlfZXhwciAocCwgMSkpCiAgICAgZ2ZjX3JlcGxhY2VfZXhwciAoKmV4cHIs IHApOworICBlbHNlCisgICAgZ2ZjX2ZyZWVfZXhwciAocCk7CgogICBpZiAoKCpleHByKS0+ZXhw cl90eXBlID09IEVYUFJfRlVOQ1RJT04pCiAgICAgewpkaWZmIC0tZ2l0IGEvZ2NjL2ZvcnRyYW4v ZXhwci5jYyBiL2djYy9mb3J0cmFuL2V4cHIuY2MKaW5kZXggZDVjZmJlMGNjNTUuLmM5NjBkZmVh YmQ5IDEwMDY0NAotLS0gYS9nY2MvZm9ydHJhbi9leHByLmNjCisrKyBiL2djYy9mb3J0cmFuL2V4 cHIuY2MKQEAgLTgxMiw2ICs4MTIsMTYgQEAgZ2ZjX2hhc192ZWN0b3JfaW5kZXggKGdmY19leHBy ICplKQogfQoKCitib29sCitnZmNfaXNfcHRyX2ZjbiAoZ2ZjX2V4cHIgKmUpCit7CisgIHJldHVy biBlICE9IE5VTEwgJiYgZS0+ZXhwcl90eXBlID09IEVYUFJfRlVOQ1RJT04KKwkgICAgICAmJiAo Z2ZjX2V4cHJfYXR0ciAoZSkucG9pbnRlcgorCQkgIHx8IChlLT50cy50eXBlID09IEJUX0NMQVNT CisJCSAgICAgICYmIENMQVNTX0RBVEEgKGUpLT5hdHRyLmNsYXNzX3BvaW50ZXIpKTsKK30KKwor CiAvKiBDb3B5IGEgc2hhcGUgYXJyYXkuICAqLwoKIG1wel90ICoKQEAgLTY0NzAsNiArNjQ4MCwy MiBAQCBnZmNfY2hlY2tfdmFyZGVmX2NvbnRleHQgKGdmY19leHByKiBlLCBib29sIHBvaW50ZXIs IGJvb2wgYWxsb2Nfb2JqLAogCSAgICB9CiAJICByZXR1cm4gZmFsc2U7CiAJfQorICAgICAgZWxz ZSBpZiAoY29udGV4dCAmJiBnZmNfaXNfcHRyX2ZjbiAoYXNzb2MtPnRhcmdldCkpCisJeworCSAg aWYgKCFnZmNfbm90aWZ5X3N0ZCAoR0ZDX1NURF9GMjAxOCwgIiVxcyBhdCAlTCBhc3NvY2lhdGVk IHRvICIKKwkJCSAgICAgICAicG9pbnRlciBmdW5jdGlvbiB0YXJnZXQgYmVpbmcgdXNlZCBpbiBh ICIKKwkJCSAgICAgICAidmFyaWFibGUgZGVmaW5pdGlvbiBjb250ZXh0ICglcykiLCBuYW1lLAor CQkJICAgICAgICZlLT53aGVyZSwgY29udGV4dCkpCisJICAgIHJldHVybiBmYWxzZTsKKwkgIGVs c2UgaWYgKGdmY19oYXNfdmVjdG9yX2luZGV4IChlKSkKKwkgICAgeworCSAgICAgIGdmY19lcnJv ciAoIiVxcyBhdCAlTCBhc3NvY2lhdGVkIHRvIHZlY3Rvci1pbmRleGVkIHRhcmdldCIKKwkJCSAi IGNhbm5vdCBiZSB1c2VkIGluIGEgdmFyaWFibGUgZGVmaW5pdGlvbiIKKwkJCSAiIGNvbnRleHQg KCVzKSIsCisJCQkgbmFtZSwgJmUtPndoZXJlLCBjb250ZXh0KTsKKwkgICAgICByZXR1cm4gZmFs c2U7CisJICAgIH0KKwl9CgogICAgICAgLyogVGFyZ2V0IG11c3QgYmUgYWxsb3dlZCB0byBhcHBl YXIgaW4gYSB2YXJpYWJsZSBkZWZpbml0aW9uIGNvbnRleHQuICAqLwogICAgICAgaWYgKCFnZmNf Y2hlY2tfdmFyZGVmX2NvbnRleHQgKGFzc29jLT50YXJnZXQsIHBvaW50ZXIsIGZhbHNlLCBmYWxz ZSwgTlVMTCkpCmRpZmYgLS1naXQgYS9nY2MvZm9ydHJhbi9nZm9ydHJhbi5oIGIvZ2NjL2ZvcnRy YW4vZ2ZvcnRyYW4uaAppbmRleCBhNThjNjBlOTgyOC4uMzA2MzFhYmQ3ODggMTAwNjQ0Ci0tLSBh L2djYy9mb3J0cmFuL2dmb3J0cmFuLmgKKysrIGIvZ2NjL2ZvcnRyYW4vZ2ZvcnRyYW4uaApAQCAt MzY1OSw2ICszNjU5LDcgQEAgYm9vbCBnZmNfaXNfY29uc3RhbnRfZXhwciAoZ2ZjX2V4cHIgKik7 CiBib29sIGdmY19zaW1wbGlmeV9leHByIChnZmNfZXhwciAqLCBpbnQpOwogYm9vbCBnZmNfdHJ5 X3NpbXBsaWZ5X2V4cHIgKGdmY19leHByICosIGludCk7CiBib29sIGdmY19oYXNfdmVjdG9yX2lu ZGV4IChnZmNfZXhwciAqKTsKK2Jvb2wgZ2ZjX2lzX3B0cl9mY24gKGdmY19leHByICopOwoKIGdm Y19leHByICpnZmNfZ2V0X2V4cHIgKHZvaWQpOwogZ2ZjX2V4cHIgKmdmY19nZXRfYXJyYXlfZXhw ciAoYnQgdHlwZSwgaW50IGtpbmQsIGxvY3VzICopOwpkaWZmIC0tZ2l0IGEvZ2NjL2ZvcnRyYW4v bWF0Y2guY2MgYi9nY2MvZm9ydHJhbi9tYXRjaC5jYwppbmRleCBlN2JlN2ZkZGM2NC4uMGU0YjU0 NDAzOTMgMTAwNjQ0Ci0tLSBhL2djYy9mb3J0cmFuL21hdGNoLmNjCisrKyBiL2djYy9mb3J0cmFu L21hdGNoLmNjCkBAIC02Mzc3LDYgKzYzNzcsMzkgQEAgYnVpbGRfY2xhc3Nfc3ltOgogfQoKCisv KiBCdWlsZCB0aGUgYXNzb2NpYXRlIG5hbWUgICovCitzdGF0aWMgaW50CitidWlsZF9hc3NvY2lh dGVfbmFtZSAoY29uc3QgY2hhciAqbmFtZSwgZ2ZjX2V4cHIgKiplMSwgZ2ZjX2V4cHIgKiplMikK K3sKKyAgZ2ZjX2V4cHIgKmV4cHIxID0gKmUxOworICBnZmNfZXhwciAqZXhwcjIgPSAqZTI7Cisg IGdmY19zeW1ib2wgKnN5bTsKKworICAvKiBGb3IgdGhlIGNhc2Ugd2hlcmUgdGhlIGFzc29jaWF0 ZSBuYW1lIGlzIGFscmVhZHkgYW4gYXNzb2NpYXRlIG5hbWUuICAqLworICBpZiAoIWV4cHIyKQor ICAgIGV4cHIyID0gZXhwcjE7CisgIGV4cHIxID0gZ2ZjX2dldF9leHByICgpOworICBleHByMS0+ ZXhwcl90eXBlID0gRVhQUl9WQVJJQUJMRTsKKyAgZXhwcjEtPndoZXJlID0gZXhwcjItPndoZXJl OworICBpZiAoZ2ZjX2dldF9zeW1fdHJlZSAobmFtZSwgTlVMTCwgJmV4cHIxLT5zeW10cmVlLCBm YWxzZSkpCisgICAgcmV0dXJuIDE7CisKKyAgc3ltID0gZXhwcjEtPnN5bXRyZWUtPm4uc3ltOwor ICBpZiAoZXhwcjItPnRzLnR5cGUgPT0gQlRfVU5LTk9XTikKKyAgICAgIHN5bS0+YXR0ci51bnR5 cGVkID0gMTsKKyAgZWxzZQorICBjb3B5X3RzX2Zyb21fc2VsZWN0b3JfdG9fYXNzb2NpYXRlIChl eHByMSwgZXhwcjIpOworCisgIHN5bS0+YXR0ci5mbGF2b3IgPSBGTF9WQVJJQUJMRTsKKyAgc3lt LT5hdHRyLnJlZmVyZW5jZWQgPSAxOworICBzeW0tPmF0dHIuY2xhc3Nfb2sgPSAxOworCisgICpl MSA9IGV4cHIxOworICAqZTIgPSBleHByMjsKKyAgcmV0dXJuIDA7Cit9CisKKwogLyogUHVzaCB0 aGUgY3VycmVudCBzZWxlY3RvciBvbnRvIHRoZSBTRUxFQ1QgVFlQRSBzdGFjay4gICovCgogc3Rh dGljIHZvaWQKQEAgLTY1MzIsNyArNjU2NSw2IEBAIGdmY19tYXRjaF9zZWxlY3RfdHlwZSAodm9p ZCkKICAgbWF0Y2ggbTsKICAgY2hhciBuYW1lW0dGQ19NQVhfU1lNQk9MX0xFTiArIDFdOwogICBi b29sIGNsYXNzX2FycmF5OwotICBnZmNfc3ltYm9sICpzeW07CiAgIGdmY19uYW1lc3BhY2UgKm5z ID0gZ2ZjX2N1cnJlbnRfbnM7CgogICBtID0gZ2ZjX21hdGNoX2xhYmVsICgpOwpAQCAtNjU1NCwy NCArNjU4NiwxMSBAQCBnZmNfbWF0Y2hfc2VsZWN0X3R5cGUgKHZvaWQpCiAgIG0gPSBnZmNfbWF0 Y2ggKCIgJW4gPT4gJWUiLCBuYW1lLCAmZXhwcjIpOwogICBpZiAobSA9PSBNQVRDSF9ZRVMpCiAg ICAgewotICAgICAgZXhwcjEgPSBnZmNfZ2V0X2V4cHIgKCk7Ci0gICAgICBleHByMS0+ZXhwcl90 eXBlID0gRVhQUl9WQVJJQUJMRTsKLSAgICAgIGV4cHIxLT53aGVyZSA9IGV4cHIyLT53aGVyZTsK LSAgICAgIGlmIChnZmNfZ2V0X3N5bV90cmVlIChuYW1lLCBOVUxMLCAmZXhwcjEtPnN5bXRyZWUs IGZhbHNlKSkKKyAgICAgIGlmIChidWlsZF9hc3NvY2lhdGVfbmFtZSAobmFtZSwgJmV4cHIxLCAm ZXhwcjIpKQogCXsKIAkgIG0gPSBNQVRDSF9FUlJPUjsKIAkgIGdvdG8gY2xlYW51cDsKIAl9Ci0K LSAgICAgIHN5bSA9IGV4cHIxLT5zeW10cmVlLT5uLnN5bTsKLSAgICAgIGlmIChleHByMi0+dHMu dHlwZSA9PSBCVF9VTktOT1dOKQotCXN5bS0+YXR0ci51bnR5cGVkID0gMTsKLSAgICAgIGVsc2UK LQljb3B5X3RzX2Zyb21fc2VsZWN0b3JfdG9fYXNzb2NpYXRlIChleHByMSwgZXhwcjIpOwotCi0g ICAgICBzeW0tPmF0dHIuZmxhdm9yID0gRkxfVkFSSUFCTEU7Ci0gICAgICBzeW0tPmF0dHIucmVm ZXJlbmNlZCA9IDE7Ci0gICAgICBzeW0tPmF0dHIuY2xhc3Nfb2sgPSAxOwogICAgIH0KICAgZWxz ZQogICAgIHsKQEAgLTY2MTgsNiArNjYzNywxNyBAQCBnZmNfbWF0Y2hfc2VsZWN0X3R5cGUgKHZv aWQpCiAgICAgICBnb3RvIGNsZWFudXA7CiAgICAgfQoKKyAgLyogUHJldmVudCBhbiBleGlzdGlu ZyBhc3NvY2lhdGUgbmFtZSBmcm9tIHJldXNlIGhlcmUgYnkgcHVzaGluZyBleHByMSB0bworICAg ICBleHByMiBhbmQgYnVpbGRpbmcgYSBuZXcgYXNzb2NpYXRlIG5hbWUuICAqLworICBpZiAoIWV4 cHIyICYmIGV4cHIxLT5zeW10cmVlLT5uLnN5bS0+YXNzb2MKKyAgICAgICYmICFleHByMS0+c3lt dHJlZS0+bi5zeW0tPmF0dHIuc2VsZWN0X3R5cGVfdGVtcG9yYXJ5CisgICAgICAmJiAhZXhwcjEt PnN5bXRyZWUtPm4uc3ltLT5hdHRyLnNlbGVjdF9yYW5rX3RlbXBvcmFyeQorICAgICAgJiYgYnVp bGRfYXNzb2NpYXRlX25hbWUgKGV4cHIxLT5zeW10cmVlLT5uLnN5bS0+bmFtZSwgJmV4cHIxLCAm ZXhwcjIpKQorICAgIHsKKyAgICAgIG0gPSBNQVRDSF9FUlJPUjsKKyAgICAgIGdvdG8gY2xlYW51 cDsKKyAgICB9CisKICAgbmV3X3N0Lm9wID0gRVhFQ19TRUxFQ1RfVFlQRTsKICAgbmV3X3N0LmV4 cHIxID0gZXhwcjE7CiAgIG5ld19zdC5leHByMiA9IGV4cHIyOwpkaWZmIC0tZ2l0IGEvZ2NjL2Zv cnRyYW4vcmVzb2x2ZS5jYyBiL2djYy9mb3J0cmFuL3Jlc29sdmUuY2MKaW5kZXggNTBiNDlkMGNi ODMuLjgyZTZhYzUzYWExIDEwMDY0NAotLS0gYS9nY2MvZm9ydHJhbi9yZXNvbHZlLmNjCisrKyBi L2djYy9mb3J0cmFuL3Jlc29sdmUuY2MKQEAgLTkyNTQsOSArOTI1NCwxMCBAQCByZXNvbHZlX2Fz c29jX3ZhciAoZ2ZjX3N5bWJvbCogc3ltLCBib29sIHJlc29sdmVfdGFyZ2V0KQogICBnY2NfYXNz ZXJ0IChzeW0tPnRzLnR5cGUgIT0gQlRfVU5LTk9XTik7CgogICAvKiBTZWUgaWYgdGhpcyBpcyBh IHZhbGlkIGFzc29jaWF0aW9uLXRvLXZhcmlhYmxlLiAgKi8KLSAgc3ltLT5hc3NvYy0+dmFyaWFi bGUgPSAodGFyZ2V0LT5leHByX3R5cGUgPT0gRVhQUl9WQVJJQUJMRQotCQkJICAmJiAhcGFyZW50 aGVzZXMKLQkJCSAgJiYgIWdmY19oYXNfdmVjdG9yX3N1YnNjcmlwdCAodGFyZ2V0KSk7CisgIHN5 bS0+YXNzb2MtPnZhcmlhYmxlID0gKCh0YXJnZXQtPmV4cHJfdHlwZSA9PSBFWFBSX1ZBUklBQkxF CisJCQkgICAmJiAhcGFyZW50aGVzZXMKKwkJCSAgICYmICFnZmNfaGFzX3ZlY3Rvcl9zdWJzY3Jp cHQgKHRhcmdldCkpCisJCQkgIHx8IGdmY19pc19wdHJfZmNuICh0YXJnZXQpKTsKCiAgIC8qIEZp bmFsbHkgcmVzb2x2ZSBpZiB0aGlzIGlzIGFuIGFycmF5IG9yIG5vdC4gICovCiAgIGlmIChzeW0t PmF0dHIuZGltZW5zaW9uICYmIHRhcmdldC0+cmFuayA9PSAwKQpkaWZmIC0tZ2l0IGEvZ2NjL2Zv cnRyYW4vdHJhbnMtZGVjbC5jYyBiL2djYy9mb3J0cmFuL3RyYW5zLWRlY2wuY2MKaW5kZXggZTZh NDMzN2MwZDIuLjE4NTg5ZTE3ODQzIDEwMDY0NAotLS0gYS9nY2MvZm9ydHJhbi90cmFucy1kZWNs LmNjCisrKyBiL2djYy9mb3J0cmFuL3RyYW5zLWRlY2wuY2MKQEAgLTE4NzUsNiArMTg3NSwxNSBA QCBnZmNfZ2V0X3N5bWJvbF9kZWNsIChnZmNfc3ltYm9sICogc3ltKQogCSAgJiYgIShzeW0tPmF0 dHIudXNlX2Fzc29jICYmICFpbnRyaW5zaWNfYXJyYXlfcGFyYW1ldGVyKSkpCiAgICAgZ2ZjX2Rl ZmVyX3N5bWJvbF9pbml0IChzeW0pOwoKKyAgLyogU2V0IHRoZSB2cHRyIG9mIHVubGltaXRlZCBw b2x5bW9ycGhpYyBwb2ludGVyIHZhcmlhYmxlcyBzbyB0aGF0CisgICAgIHRoZXkgZG8gbm90IGNh dXNlIHNlZ2ZhdWx0cyBpbiBzZWxlY3QgdHlwZSwgd2hlbiB0aGUgc2VsZWN0b3IKKyAgICAgaXMg YW4gaW50cmluc2ljIHR5cGUuICBBcnJheXMgYXJlIGNhcHR1cmVkIGFib3ZlLiAgKi8KKyAgaWYg KHN5bS0+dHMudHlwZSA9PSBCVF9DTEFTUyAmJiBVTkxJTUlURURfUE9MWSAoc3ltKQorICAgICAg JiYgQ0xBU1NfREFUQSAoc3ltKS0+YXR0ci5jbGFzc19wb2ludGVyCisgICAgICAmJiAhQ0xBU1Nf REFUQSAoc3ltKS0+YXR0ci5kaW1lbnNpb24gJiYgIXN5bS0+YXR0ci5kdW1teQorICAgICAgJiYg c3ltLT5hdHRyLmZsYXZvciA9PSBGTF9WQVJJQUJMRSAmJiAhc3ltLT5hc3NvYykKKyAgICBnZmNf ZGVmZXJfc3ltYm9sX2luaXQgKHN5bSk7CisKICAgaWYgKHN5bS0+dHMudHlwZSA9PSBCVF9DSEFS QUNURVIKICAgICAgICYmIHN5bS0+YXR0ci5hbGxvY2F0YWJsZQogICAgICAgJiYgIXN5bS0+YXR0 ci5kaW1lbnNpb24KQEAgLTE5MDYsNiArMTkxNSw3IEBAIGdmY19nZXRfc3ltYm9sX2RlY2wgKGdm Y19zeW1ib2wgKiBzeW0pCiAJZ2NjX2Fzc2VydCAoIXN5bS0+dmFsdWUgfHwgc3ltLT52YWx1ZS0+ ZXhwcl90eXBlID09IEVYUFJfTlVMTCk7CiAgICAgfQoKKwogICBnZmNfZmluaXNoX3Zhcl9kZWNs IChkZWNsLCBzeW0pOwoKICAgaWYgKHN5bS0+dHMudHlwZSA9PSBCVF9DSEFSQUNURVIpCkBAIC00 NjUyLDYgKzQ2NjIsMjkgQEAgZ2ZjX3RyYW5zX2RlZmVycmVkX3ZhcnMgKGdmY19zeW1ib2wgKiBw cm9jX3N5bSwgZ2ZjX3dyYXBwZWRfYmxvY2sgKiBibG9jaykKICAgICAgIGlmIChzeW0tPmFzc29j KQogCWNvbnRpbnVlOwoKKyAgICAgIC8qIFNldCB0aGUgdnB0ciBvZiB1bmxpbWl0ZWQgcG9seW1v cnBoaWMgcG9pbnRlciB2YXJpYWJsZXMgc28gdGhhdAorCSB0aGV5IGRvIG5vdCBjYXVzZSBzZWdm YXVsdHMgaW4gc2VsZWN0IHR5cGUsIHdoZW4gdGhlIHNlbGVjdG9yCisJIGlzIGFuIGludHJpbnNp YyB0eXBlLiAgKi8KKyAgICAgIGlmIChzeW0tPnRzLnR5cGUgPT0gQlRfQ0xBU1MgJiYgVU5MSU1J VEVEX1BPTFkgKHN5bSkKKwkgICYmIHN5bS0+YXR0ci5mbGF2b3IgPT0gRkxfVkFSSUFCTEUgJiYg IXN5bS0+YXNzb2MKKwkgICYmICFzeW0tPmF0dHIuZHVtbXkgJiYgQ0xBU1NfREFUQSAoc3ltKS0+ YXR0ci5jbGFzc19wb2ludGVyKQorCXsKKwkgIGdmY19zeW1ib2wgKnZ0YWI7CisJICBnZmNfaW5p dF9ibG9jayAoJnRtcGJsb2NrKTsKKwkgIHZ0YWIgPSBnZmNfZmluZF92dGFiICgmc3ltLT50cyk7 CisJICBpZiAoIXZ0YWItPmJhY2tlbmRfZGVjbCkKKwkgICAgeworCSAgICAgIGlmICghdnRhYi0+ YXR0ci5yZWZlcmVuY2VkKQorCQlnZmNfc2V0X3N5bV9yZWZlcmVuY2VkICh2dGFiKTsKKwkgICAg ICBnZmNfZ2V0X3N5bWJvbF9kZWNsICh2dGFiKTsKKwkgICAgfQorCSAgdG1wID0gZ2ZjX2NsYXNz X3ZwdHJfZ2V0IChzeW0tPmJhY2tlbmRfZGVjbCk7CisJICBnZmNfYWRkX21vZGlmeSAoJnRtcGJs b2NrLCB0bXAsCisJCQkgIGdmY19idWlsZF9hZGRyX2V4cHIgKFRSRUVfVFlQRSAodG1wKSwKKwkJ CQkJICAgICAgIHZ0YWItPmJhY2tlbmRfZGVjbCkpOworCSAgZ2ZjX2FkZF9pbml0X2NsZWFudXAg KGJsb2NrLCBnZmNfZmluaXNoX2Jsb2NrICgmdG1wYmxvY2spLCBOVUxMKTsKKwl9CisKICAgICAg IGlmIChzeW0tPnRzLnR5cGUgPT0gQlRfREVSSVZFRAogCSAgJiYgc3ltLT50cy51LmRlcml2ZWQK IAkgICYmIHN5bS0+dHMudS5kZXJpdmVkLT5hdHRyLnBkdF90eXBlKQpkaWZmIC0tZ2l0IGEvZ2Nj L2ZvcnRyYW4vdHJhbnMtc3RtdC5jYyBiL2djYy9mb3J0cmFuL3RyYW5zLXN0bXQuY2MKaW5kZXgg ZGNhYmVjYTAwNzguLjdlNzY4MzQzYTU3IDEwMDY0NAotLS0gYS9nY2MvZm9ydHJhbi90cmFucy1z dG10LmNjCisrKyBiL2djYy9mb3J0cmFuL3RyYW5zLXN0bXQuY2MKQEAgLTIxMzksMTEgKzIxMzks MTQgQEAgdHJhbnNfYXNzb2NpYXRlX3ZhciAoZ2ZjX3N5bWJvbCAqc3ltLCBnZmNfd3JhcHBlZF9i bG9jayAqYmxvY2spCiAJICB0cmVlIGN0cmVlID0gZ2ZjX2dldF9jbGFzc19mcm9tX2V4cHIgKHNl LmV4cHIpOwogCSAgdG1wID0gVFJFRV9UWVBFIChzeW0tPmJhY2tlbmRfZGVjbCk7CgotCSAgLyog Q29hcnJheSBzY2FsYXIgY29tcG9uZW50IGV4cHJlc3Npb25zIGNhbiBlbWVyZ2UgZnJvbQotCSAg ICAgdGhlIGZyb250IGVuZCBhcyBhcnJheSBlbGVtZW50cyBvZiB0aGUgX2RhdGEgZmllbGQuICAq LworCSAgLyogRjIwMTg6MTkuNS4xLjYgIklmIGEgc2VsZWN0b3IgaGFzIHRoZSBQT0lOVEVSIGF0 dHJpYnV0ZSwKKwkgICAgIGl0IHNoYWxsIGJlIGFzc29jaWF0ZWQ7IHRoZSBhc3NvY2lhdGUgbmFt ZSBpcyBhc3NvY2lhdGVkCisJICAgICB3aXRoIHRoZSB0YXJnZXQgb2YgdGhlIHBvaW50ZXIgYW5k IGRvZXMgbm90IGhhdmUgdGhlCisJICAgICBQT0lOVEVSIGF0dHJpYnV0ZS4iICAqLwogCSAgaWYg KHN5bS0+dHMudHlwZSA9PSBCVF9DTEFTUwotCSAgICAgICYmIGUtPnRzLnR5cGUgPT0gQlRfQ0xB U1MgJiYgZS0+cmFuayA9PSAwCi0JICAgICAgJiYgIUdGQ19DTEFTU19UWVBFX1AgKFRSRUVfVFlQ RSAoc2UuZXhwcikpICYmIGN0cmVlKQorCSAgICAgICYmIGUtPnRzLnR5cGUgPT0gQlRfQ0xBU1Mg JiYgZS0+cmFuayA9PSAwICYmIGN0cmVlCisJICAgICAgJiYgKCFHRkNfQ0xBU1NfVFlQRV9QIChU UkVFX1RZUEUgKHNlLmV4cHIpKQorCQkgIHx8IENMQVNTX0RBVEEgKGUpLT5hdHRyLmNsYXNzX3Bv aW50ZXIpKQogCSAgICB7CiAJICAgICAgdHJlZSBzdG1wOwogCSAgICAgIHRyZWUgZHRtcDsKQEAg LTIxNTMsMTAgKzIxNTYsMTAgQEAgdHJhbnNfYXNzb2NpYXRlX3ZhciAoZ2ZjX3N5bWJvbCAqc3lt LCBnZmNfd3JhcHBlZF9ibG9jayAqYmxvY2spCiAJICAgICAgY3RyZWUgPSBnZmNfY3JlYXRlX3Zh ciAoZHRtcCwgImNsYXNzIik7CgogCSAgICAgIHN0bXAgPSBnZmNfY2xhc3NfZGF0YV9nZXQgKHNl LmV4cHIpOwotCSAgICAgIGdjY19hc3NlcnQgKEdGQ19ERVNDUklQVE9SX1RZUEVfUCAoVFJFRV9U WVBFIChzdG1wKSkpOwotCi0JICAgICAgLyogU2V0IHRoZSBmaWVsZHMgb2YgdGhlIHRhcmdldCBj bGFzcyB2YXJpYWJsZS4gICovCi0JICAgICAgc3RtcCA9IGdmY19jb252X2Rlc2NyaXB0b3JfZGF0 YV9nZXQgKHN0bXApOworCSAgICAgIC8qIENvYXJyYXkgc2NhbGFyIGNvbXBvbmVudCBleHByZXNz aW9ucyBjYW4gZW1lcmdlIGZyb20KKwkJIHRoZSBmcm9udCBlbmQgYXMgYXJyYXkgZWxlbWVudHMg b2YgdGhlIF9kYXRhIGZpZWxkLiAgKi8KKwkgICAgICBpZiAoR0ZDX0RFU0NSSVBUT1JfVFlQRV9Q IChUUkVFX1RZUEUgKHN0bXApKSkKKwkJc3RtcCA9IGdmY19jb252X2Rlc2NyaXB0b3JfZGF0YV9n ZXQgKHN0bXApOwogCSAgICAgIGR0bXAgPSBnZmNfY2xhc3NfZGF0YV9nZXQgKGN0cmVlKTsKIAkg ICAgICBzdG1wID0gZm9sZF9jb252ZXJ0IChUUkVFX1RZUEUgKGR0bXApLCBzdG1wKTsKIAkgICAg ICBnZmNfYWRkX21vZGlmeSAoJnNlLnByZSwgZHRtcCwgc3RtcCk7CkBAIC0yMTcwLDYgKzIxNzMs NyBAQCB0cmFuc19hc3NvY2lhdGVfdmFyIChnZmNfc3ltYm9sICpzeW0sIGdmY193cmFwcGVkX2Js b2NrICpibG9jaykKIAkJICBkdG1wID0gZ2ZjX2NsYXNzX2xlbl9nZXQgKGN0cmVlKTsKIAkJICBz dG1wID0gZm9sZF9jb252ZXJ0IChUUkVFX1RZUEUgKGR0bXApLCBzdG1wKTsKIAkJICBnZmNfYWRk X21vZGlmeSAoJnNlLnByZSwgZHRtcCwgc3RtcCk7CisJCSAgbmVlZF9sZW5fYXNzaWduID0gZmFs c2U7CiAJCX0KIAkgICAgICBzZS5leHByID0gY3RyZWU7CiAJICAgIH0KZGlmZiAtLWdpdCBhL2dj Yy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvcHIxMDc5MDAuZjkwIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9y dHJhbi5kZy9wcjEwNzkwMC5mOTAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MDAuLjJiZDgwYTdkNWE4Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJh bi5kZy9wcjEwNzkwMC5mOTAKQEAgLTAsMCArMSw0OSBAQAorISB7IGRnLWRvIHJ1biB9CishCish IENvbnRyaWJ1dGVkIGJ5IEthcmwgS2Fpc2VyICA8a2Fpc2Vya2FybDMxQHlhaG9vLmNvbT4KKyEK K3Byb2dyYW0gdGVzdAorCisgICBjbGFzcygqKSwgcG9pbnRlciA6OiBwdHIxLCBwdHIyKDopCisg ICBpbnRlZ2VyLCB0YXJnZXQgOjogaSA9IDQyCisgICBpbnRlZ2VyIDo6IGNoZWNrID0gMAorISBG aXJzdCB3aXRoIGFzc29jaWF0ZSBuYW1lIGFuZCBubyBzZWxlY3RvciBpbiBzZWxlY3QgdHlwZXMK KyAgIGFzc29jaWF0ZSAoYyA9PiBwdHIxKQorICAgICAgICBzZWxlY3QgdHlwZSAoYykgICEgU2Vn ZmF1bHQgLSB2cHRyIG5vdCBzZXQKKyAgICAgICAgICAgdHlwZSBpcyAoaW50ZWdlcikKKyAgICAg ICAgICAgICAgc3RvcCAxCisgICAgICAgICAgIGNsYXNzIGRlZmF1bHQKKyAgICAgICAgICAgICAg Y2hlY2sgPSAxCisgICAgICAgIGVuZCBzZWxlY3QKKyAgIGVuZCBhc3NvY2lhdGUKKyEgTm93IGRv IHRoZSBzYW1lIHdpdGggdGhlIGFycmF5IHZlcnNpb24KKyAgIGFzc29jaWF0ZSAoYyA9PiBwdHIy KQorICAgICAgICBzZWxlY3QgdHlwZSAoZCA9PmMpICAhIFNlZ2ZhdWx0IC0gdnB0ciBub3Qgc2V0 CisgICAgICAgICAgIHR5cGUgaXMgKGludGVnZXIpCisgICAgICAgICAgICAgIHN0b3AgMgorICAg ICAgICAgICBjbGFzcyBkZWZhdWx0CisgICAgICAgICAgICAgIGNoZWNrID0gY2hlY2sgKyAxMAor ICAgICAgICBlbmQgc2VsZWN0CisgICBlbmQgYXNzb2NpYXRlCisKKyEgQW5kIG5vdyB3aXRoIHRo ZSBhc3NvY2lhdGUgbmFtZSBhbmQgc2VsZWN0b3IKKyAgIGFzc29jaWF0ZSAoYyA9PiBwdHIxKQor ICAgICAgICBzZWxlY3QgdHlwZSAoZCA9PiBjKSAgISBTZWdmYXVsdCAtIHZwdHIgbm90IHNldAor ICAgICAgICAgICB0eXBlIGlzIChpbnRlZ2VyKQorICAgICAgICAgICAgICBzdG9wIDMKKyAgICAg ICAgICAgY2xhc3MgZGVmYXVsdAorICAgICAgICAgICAgICBjaGVjayA9IGNoZWNrICsgMTAwCisg ICAgICAgIGVuZCBzZWxlY3QKKyAgIGVuZCBhc3NvY2lhdGUKKyEgTm93IGRvIHRoZSBzYW1lIHdp dGggdGhlIGFycmF5IHZlcnNpb24KKyEgICBwdHIyID0+IE5VTEwoKSAgICAgICAgICAgICFUaGlz IGRpZCBub3QgZml4IHRoZSBwcm9ibGVtCisgICBhc3NvY2lhdGUgKGMgPT4gcHRyMikKKyAgICAg ICAgc2VsZWN0IHR5cGUgKGQgPT4gYykgICEgU2VnZmF1bHQgLSB2cHRyIG5vdCBzZXQKKyAgICAg ICAgICAgdHlwZSBpcyAoaW50ZWdlcikKKyAgICAgICAgICAgICAgc3RvcCA0CisgICAgICAgICAg IGNsYXNzIGRlZmF1bHQKKyAgICAgICAgICAgICAgY2hlY2sgPSBjaGVjayArIDEwMDAKKyAgICAg ICAgZW5kIHNlbGVjdAorICAgZW5kIGFzc29jaWF0ZQorICAgaWYgKGNoZWNrIC5uZS4gMTExMSkg c3RvcCA1CitlbmQgcHJvZ3JhbSB0ZXN0CmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0 cmFuLmRnL3ByMTEwMjI0LmY5MCBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvcHIxMTAyMjQu ZjkwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4xODZiYmY1ZmUyNwot LS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvcHIxMTAyMjQuZjkw CkBAIC0wLDAgKzEsMjkgQEAKKyEgeyBkZy1kbyBjb21waWxlIH0KKyEKKyEgQ29udHJpYnV0ZWQg YnkgTmVpbCBDYXJsc29uICA8bmVpbC5uLmNhcmxzb25AZ21haWwuY29tPgorIQorbW9kdWxlIG1v ZAorICB0eXBlIDo6IGZvbworICAgIHJlYWwsIHBvaW50ZXIgOjogdmFyCisgIGNvbnRhaW5zCisg ICAgcHJvY2VkdXJlIDo6IHZhcl9wdHIKKyAgZW5kIHR5cGUKK2NvbnRhaW5zCisgIGZ1bmN0aW9u IHZhcl9wdHIodGhpcykgcmVzdWx0KHJlZikKKyAgICBjbGFzcyhmb28pIDo6IHRoaXMKKyAgICBy ZWFsLCBwb2ludGVyIDo6IHJlZgorICAgIHJlZiA9PiB0aGlzJXZhcgorICBlbmQgZnVuY3Rpb24K K2VuZCBtb2R1bGUKK3Byb2dyYW0gbWFpbgorICB1c2UgbW9kCisgIHR5cGUoZm9vKSA6OiB4Cisg IGFsbG9jYXRlICh4JXZhciwgc291cmNlID0gMi4wKQorICBhc3NvY2lhdGUgKHZhciA9PiB4JXZh cl9wdHIoKSkKKyAgICB2YXIgPSAxLjAKKyAgZW5kIGFzc29jaWF0ZQorICBpZiAoeCV2YXIgLm5l LiAxLjApIHN0b3AgMQorICB4JXZhcl9wdHIoKSA9IDIuMAorICBpZiAoeCV2YXIgLm5lLiAyLjAp IHN0b3AgMgorICBkZWFsbG9jYXRlICh4JXZhcikKK2VuZCBwcm9ncmFtCmRpZmYgLS1naXQgYS9n Y2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL3ByODg2ODguZjkwIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9y dHJhbi5kZy9wcjg4Njg4LmY5MApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw MC4uM2Q2NTExOGFhZjAKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFu LmRnL3ByODg2ODguZjkwCkBAIC0wLDAgKzEsNjIgQEAKKyEgeyBkZy1kbyBydW4gfQorIQorISBD b250cmlidXRlZCBieSBUaG9tYXMgRmFubmluZyA8dGhmYW5uaW5nQGdtYWlsLmNvbT4KKyEKKyEK K21vZHVsZSBtb2QKKworICAgIHR5cGUgdGVzdAorICAgICAgICBjbGFzcygqKSwgcG9pbnRlciA6 OiBwdHIKKyAgICBjb250YWlucworICAgICAgICBwcm9jZWR1cmUgOjogc2V0cmVmCisgICAgZW5k IHR5cGUKKworY29udGFpbnMKKworICAgIHN1YnJvdXRpbmUgc2V0cmVmKG15LGlwKQorICAgIGlt cGxpY2l0IG5vbmUKKyAgICAgICAgY2xhc3ModGVzdCkgOjogbXkKKyAgICAgICAgaW50ZWdlciwg cG9pbnRlciA6OiBpcAorICAgICAgICBteSVwdHIgPT4gaXAKKyAgICBlbmQgc3Vicm91dGluZQor CisgICAgc3Vicm91dGluZSBzZXQ3KHB0cikKKyAgICBpbXBsaWNpdCBub25lCisgICAgICAgIGNs YXNzKCopLCBwb2ludGVyIDo6IHB0cgorICAgICAgICBzZWxlY3QgdHlwZSAocHRyKQorICAgICAg ICAgICAgdHlwZSBpcyAoaW50ZWdlcikKKyAgICAgICAgICAgICAgICBwdHIgPSA3CisgICAgICAg IGVuZCBzZWxlY3QKKyAgICBlbmQgc3Vicm91dGluZQorCitlbmQgbW9kdWxlCishLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyEtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KK3Byb2dyYW0gYnVnCit1c2UgbW9kCitpbXBsaWNpdCBub25lCisK KyAgICBpbnRlZ2VyLCBwb2ludGVyIDo6IGksIGoKKyAgICB0eXBlKHRlc3QpIDo6IHRwCisgICAg Y2xhc3MoKiksIHBvaW50ZXIgOjogbHAKKworICAgIGFsbG9jYXRlKGksaikKKyAgICBpID0gMzsg aiA9IDQKKworICAgIGNhbGwgdHAlc2V0cmVmKGkpCisgICAgc2VsZWN0IHR5cGUgKGFwID0+IHRw JXB0cikKKyAgICAgICAgY2xhc3MgZGVmYXVsdAorICAgICAgICAgICAgY2FsbCB0cCVzZXRyZWYo aikKKyAgICAgICAgICAgIGxwID0+IGFwCisgICAgICAgICAgICBjYWxsIHNldDcobHApCisgICAg ZW5kIHNlbGVjdAorCishIGdmb3J0cmFuIHVzZWQgdG8gZ2l2ZSBpPTMgYW5kIGo9NyBiZWNhdXNl IHRoZSBhc3NvY2lhdGUgbmFtZSB3YXMgbm90IHBvaW50aW5nCishIHRvIHRoZSB0YXJnZXQgb2Yg dHAlcHRyIGFzIHJlcXVpcmVkIGJ5IEYyMDE4OjE5LjUuMS42IGJ1dCwgcmF0aGVyLCB0byB0aGUK KyEgc2VsZWN0b3IgaXRzZWxmLgorICAgIGlmIChpIC5uZS4gNykgc3RvcCAxCisgICAgaWYgKGog Lm5lLiA0KSBzdG9wIDIKKworZW5kIHByb2dyYW0KKyEtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvcHI5 NDM4MC5mOTAgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL3ByOTQzODAuZjkwCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5lMjk1OTRmMmZmOQotLS0gL2Rldi9udWxs CisrKyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvcHI5NDM4MC5mOTAKQEAgLTAsMCArMSwx OCBAQAorISB7IGRnLWRvIGNvbXBpbGUgfQorIQorISBDb250cmlidXRlZCBieSBWbGFkaW1pciBO aWtpc2hraW4gIDxsb2NreXdvbGZAZ21haWwuY29tPgorIQorbW9kdWxlIHRlc3QKKyAgdHlwZSB0 ZXN0dHlwZQorICAgICBjbGFzcygqKSwgYWxsb2NhdGFibGUgOjogdAorICBlbmQgdHlwZSB0ZXN0 dHlwZQorY29udGFpbnMKKyAgc3Vicm91dGluZSB0ZXN0cHJvYyggeCApCisgICAgY2xhc3ModGVz dHR5cGUpIDo6IHgKKyAgICBhc3NvY2lhdGUgKCB0ZW1wID0+IHgldCkKKyAgICAgIHNlbGVjdCB0 eXBlICh0ZW1wKQorICAgICAgICAgdHlwZSBpcyAoaW50ZWdlcikKKyAgICAgIGVuZCBzZWxlY3QK KyAgICBlbmQgYXNzb2NpYXRlCisgIGVuZCBzdWJyb3V0aW5lIHRlc3Rwcm9jCitlbmQgbW9kdWxl IHRlc3QKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvcHI5NTM5OC5mOTAg Yi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL3ByOTUzOTguZjkwCmluZGV4IDgxY2MwNzZjMTVj Li43NTc2ZjM4NDRiMiAxMDA2NDQKLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9wcjk1 Mzk4LmY5MAorKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL3ByOTUzOTguZjkwCkBAIC0x LDUgKzEsNyBAQAogISB7IGRnLWRvIGNvbXBpbGUgfQoKKyEgeyBkZy1vcHRpb25zICItc3RkPWYy MDA4IiB9CisKIHByb2dyYW0gdGVzdAogICAgaW1wbGljaXQgbm9uZQoKQEAgLTQ2LDggKzQ4LDgg QEAgcHJvZ3JhbSB0ZXN0CgogZW5kCgotISB7IGRnLWVycm9yICJjYW5ub3QgYmUgdXNlZCBpbiBh IHZhcmlhYmxlIGRlZmluaXRpb24gY29udGV4dCAuYXNzaWdubWVudC4iICAiICIgeyB0YXJnZXQg Ki0qLSogfSAyMSB9Ci0hIHsgZGctZXJyb3IgImNhbm5vdCBiZSB1c2VkIGluIGEgdmFyaWFibGUg ZGVmaW5pdGlvbiBjb250ZXh0IC5hY3R1YWwgYXJndW1lbnQgdG8gSU5URU5UID0gT1VULklOT1VU LiIgICIgIiB7IHRhcmdldCAqLSotKiB9IDIzIH0KLSEgeyBkZy1lcnJvciAiUG9pbnRlciBhc3Np Z25tZW50IHRhcmdldCBpcyBuZWl0aGVyIFRBUkdFVCBub3IgUE9JTlRFUiIgIiAiIHsgdGFyZ2V0 ICotKi0qIH0gMzUgfQorISB7IGRnLWVycm9yICJiZWluZyB1c2VkIGluIGEgdmFyaWFibGUgZGVm aW5pdGlvbiBjb250ZXh0IC5hc3NpZ25tZW50LiIgICIgIiB7IHRhcmdldCAqLSotKiB9IDIzIH0K KyEgeyBkZy1lcnJvciAiYmVpbmcgdXNlZCBpbiBhIHZhcmlhYmxlIGRlZmluaXRpb24gY29udGV4 dCAuYWN0dWFsIGFyZ3VtZW50IHRvIElOVEVOVCA9IE9VVC5JTk9VVC4iICAiICIgeyB0YXJnZXQg Ki0qLSogfSAyNSB9CiAhIHsgZGctZXJyb3IgIlBvaW50ZXIgYXNzaWdubWVudCB0YXJnZXQgaXMg bmVpdGhlciBUQVJHRVQgbm9yIFBPSU5URVIiICIgIiB7IHRhcmdldCAqLSotKiB9IDM3IH0KKyEg eyBkZy1lcnJvciAiUG9pbnRlciBhc3NpZ25tZW50IHRhcmdldCBpcyBuZWl0aGVyIFRBUkdFVCBu b3IgUE9JTlRFUiIgIiAiIHsgdGFyZ2V0ICotKi0qIH0gMzkgfQoK --000000000000253a1205fe8d7a71--