From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qk1-x736.google.com (mail-qk1-x736.google.com [IPv6:2607:f8b0:4864:20::736]) by sourceware.org (Postfix) with ESMTPS id 08D873858D28 for ; Sun, 18 Jun 2023 20:12:24 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 08D873858D28 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-qk1-x736.google.com with SMTP id af79cd13be357-76240c53846so145295685a.2 for ; Sun, 18 Jun 2023 13:12:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1687119143; x=1689711143; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=m9GC7eCuIKWyrQuWafpIhJfhwiSgw+mKVZcwfhsTmeU=; b=LXFvth1fvqCitMzGlpHs4TaDiCG0++g3rTl/tBBUcg5nVLklo71PtlwKsvmClllLik GlcD4z+EZL4H/rjX6456TIBKXPmsAS50NN6hXLSxO+J7k81PZWzVIvTMsbIK/vn12710 99RJahLt+R7/xqJihwfcGO6Zu1fgd1Q68LbguoVVwtfk5PT6GJT4EJZQeE58TxOyGT1c RmAMqoICat3oFXSM3cnA7eidY94dezEpY5O+pk2ySECM5ak3Bb5reoEpBBeuajmBv1qU OYtr1lRw6rTI6h8FTAbpiQp4qYYdk4j94vhZ3sZ6OiHZtRYLOlP8RBlrAX/yo/KmvQMN Xi+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687119143; x=1689711143; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=m9GC7eCuIKWyrQuWafpIhJfhwiSgw+mKVZcwfhsTmeU=; b=XjM71wwsy4Ka/vYFHEtKbpddtNH4D5L6jxSjODc0i2tfPmEG+ft6PhtpOrXwiP0rTM GdXD+yx/8zyVqhf6PBRqd1A8wYI82NSToL1AD+kzUVkjaEEVxyERJ1R1XOt8VS0hhidL SOsFw9oGRXS5+U8mIlqWUifaecsZKnUFOWGPY3ZEYZyUpOQ8ZpsfiIFJYjdO7DcX1Pvn YQmVW6BADSJc8ah8zUV7gWjP9u4uHvktmcIfp9e25l8SoYVEA17s3EGquxC9yvafcIvK +UzuXT7yCyWNwvccVfBJSbEXJt+GvtptzW8Ah6/NKKK1Kxg2E9XE7PWcgkv6WmMkQGhY 5K9A== X-Gm-Message-State: AC+VfDwWSzjaeYmvOIma80MkAtT3gSPuQmeHtv5/uF4RvfvBIj76hOJK rueJcAdUt0e2qNhyqIuGUYr1VnqatIO/A7vcRPTpiji9RZEF4Q== X-Google-Smtp-Source: ACHHUZ4ZvQatqgZ4EdOl2cO5Z800FscLywNE8xlOJ7y9iF0Py+fjAUSRxIcOnSjRaYIYS2zvxPfgX2vD8++p7T3u5JM= X-Received: by 2002:a05:6214:27c9:b0:62d:f515:9320 with SMTP id ge9-20020a05621427c900b0062df5159320mr9882881qvb.28.1687119142895; Sun, 18 Jun 2023 13:12:22 -0700 (PDT) MIME-Version: 1.0 From: Uros Bizjak Date: Sun, 18 Jun 2023 22:12:11 +0200 Message-ID: Subject: [COMMITTED] RTL: Change return type of predicate and callback functions from int to bool To: "gcc-patches@gcc.gnu.org" Content-Type: multipart/mixed; boundary="00000000000034fef305fe6d09d1" X-Spam-Status: No, score=-8.2 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: --00000000000034fef305fe6d09d1 Content-Type: text/plain; charset="UTF-8" gcc/ChangeLog: * rtl.h (*rtx_equal_p_callback_function): Change return type from int to bool. (rtx_equal_p): Ditto. (*hash_rtx_callback_function): Ditto. * rtl.cc (rtx_equal_p): Change return type from int to bool and adjust function body accordingly. * early-remat.cc (scratch_equal): Ditto. * sel-sched-ir.cc (skip_unspecs_callback): Ditto. (hash_with_unspec_callback): Ditto. Bootstrapped and regression tested on x86_64-linux-gnu {,-m32}. Uros. --00000000000034fef305fe6d09d1 Content-Type: text/plain; charset="US-ASCII"; name="p.diff.txt" Content-Disposition: attachment; filename="p.diff.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lj1v60mm0 ZGlmZiAtLWdpdCBhL2djYy9lYXJseS1yZW1hdC5jYyBiL2djYy9lYXJseS1yZW1hdC5jYwppbmRl eCA5M2NlZjYwYzc5MC4uNzAwY2I2NWQxZTkgMTAwNjQ0Ci0tLSBhL2djYy9lYXJseS1yZW1hdC5j YworKysgYi9nY2MvZWFybHktcmVtYXQuY2MKQEAgLTUwOCwxNiArNTA4LDE2IEBAIGVhcmx5X3Jl bWF0ICplYXJseV9yZW1hdDo6ZXI7CiAgICBUaGlzIGFsbG93cyB1cyB0byBjb21wYXJlIHR3byBj b3BpZXMgb2YgYSBwYXR0ZXJuLCBldmVuIHRob3VnaCB0aGVpcgogICAgU0NSQVRDSGVzIGFyZSBh bHdheXMgZGlzdGluY3QuICAqLwogCi1zdGF0aWMgaW50CitzdGF0aWMgYm9vbAogc2NyYXRjaF9l cXVhbCAoY29uc3RfcnR4ICp4LCBjb25zdF9ydHggKnksIHJ0eCAqbngsIHJ0eCAqbnkpCiB7CiAg IGlmIChHRVRfQ09ERSAoKngpID09IFNDUkFUQ0ggJiYgR0VUX0NPREUgKCp5KSA9PSBTQ1JBVENI KQogICAgIHsKICAgICAgICpueCA9IGNvbnN0MF9ydHg7CiAgICAgICAqbnkgPSBjb25zdDBfcnR4 OwotICAgICAgcmV0dXJuIDE7CisgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9Ci0gIHJldHVybiAw OworICByZXR1cm4gZmFsc2U7CiB9CiAKIC8qIEhhc2ggY2FsbGJhY2sgZnVuY3Rpb25zIGZvciBy ZW1hdF9jYW5kaWRhdGUuICAqLwpkaWZmIC0tZ2l0IGEvZ2NjL3J0bC5jYyBiL2djYy9ydGwuY2MK aW5kZXggMGMwMDQ5NDc3NTEuLjYzNTQxMDI0MmZhIDEwMDY0NAotLS0gYS9nY2MvcnRsLmNjCisr KyBiL2djYy9ydGwuY2MKQEAgLTQxMiwxMyArNDEyLDEzIEBAIGludCBjdXJyZW50bHlfZXhwYW5k aW5nX3RvX3J0bDsKIAogDAogCi0vKiBSZXR1cm4gMSBpZiBYIGFuZCBZIGFyZSBpZGVudGljYWwt bG9va2luZyBydHgncy4KKy8qIFJldHVybiB0cnVlIGlmIFggYW5kIFkgYXJlIGlkZW50aWNhbC1s b29raW5nIHJ0eCdzLgogICAgVGhpcyBpcyB0aGUgTGlzcCBmdW5jdGlvbiBFUVVBTCBmb3IgcnR4 IGFyZ3VtZW50cy4KIAogICAgQ2FsbCBDQiBvbiBlYWNoIHBhaXIgb2YgcnR4IGlmIENCIGlzIG5v dCBOVUxMLgogICAgV2hlbiB0aGUgY2FsbGJhY2sgcmV0dXJucyB0cnVlLCB3ZSBjb250aW51ZSB3 aXRoIHRoZSBuZXcgcGFpci4gICovCiAKLWludAorYm9vbAogcnR4X2VxdWFsX3AgKGNvbnN0X3J0 eCB4LCBjb25zdF9ydHggeSwgcnR4X2VxdWFsX3BfY2FsbGJhY2tfZnVuY3Rpb24gY2IpCiB7CiAg IGludCBpOwpAQCAtNDI4LDkgKzQyOCw5IEBAIHJ0eF9lcXVhbF9wIChjb25zdF9ydHggeCwgY29u c3RfcnR4IHksIHJ0eF9lcXVhbF9wX2NhbGxiYWNrX2Z1bmN0aW9uIGNiKQogICBydHggbngsIG55 OwogCiAgIGlmICh4ID09IHkpCi0gICAgcmV0dXJuIDE7CisgICAgcmV0dXJuIHRydWU7CiAgIGlm ICh4ID09IDAgfHwgeSA9PSAwKQotICAgIHJldHVybiAwOworICAgIHJldHVybiBmYWxzZTsKIAog ICAvKiBJbnZva2UgdGhlIGNhbGxiYWNrIGZpcnN0LiAgKi8KICAgaWYgKGNiICE9IE5VTEwKQEAg LTQ0MCwxNyArNDQwLDE3IEBAIHJ0eF9lcXVhbF9wIChjb25zdF9ydHggeCwgY29uc3RfcnR4IHks IHJ0eF9lcXVhbF9wX2NhbGxiYWNrX2Z1bmN0aW9uIGNiKQogICBjb2RlID0gR0VUX0NPREUgKHgp OwogICAvKiBSdHgncyBvZiBkaWZmZXJlbnQgY29kZXMgY2Fubm90IGJlIGVxdWFsLiAgKi8KICAg aWYgKGNvZGUgIT0gR0VUX0NPREUgKHkpKQotICAgIHJldHVybiAwOworICAgIHJldHVybiBmYWxz ZTsKIAogICAvKiAoTVVMVDpTSSB4IHkpIGFuZCAoTVVMVDpISSB4IHkpIGFyZSBOT1QgZXF1aXZh bGVudC4KICAgICAgKFJFRzpTSSB4KSBhbmQgKFJFRzpISSB4KSBhcmUgTk9UIGVxdWl2YWxlbnQu ICAqLwogCiAgIGlmIChHRVRfTU9ERSAoeCkgIT0gR0VUX01PREUgKHkpKQotICAgIHJldHVybiAw OworICAgIHJldHVybiBmYWxzZTsKIAogICAvKiBNRU1zIHJlZmVycmluZyB0byBkaWZmZXJlbnQg YWRkcmVzcyBzcGFjZSBhcmUgbm90IGVxdWl2YWxlbnQuICAqLwogICBpZiAoY29kZSA9PSBNRU0g JiYgTUVNX0FERFJfU1BBQ0UgKHgpICE9IE1FTV9BRERSX1NQQUNFICh5KSkKLSAgICByZXR1cm4g MDsKKyAgICByZXR1cm4gZmFsc2U7CiAKICAgLyogU29tZSBSVEwgY2FuIGJlIGNvbXBhcmVkIG5v bnJlY3Vyc2l2ZWx5LiAgKi8KICAgc3dpdGNoIChjb2RlKQpAQCAtNDY4LDcgKzQ2OCw3IEBAIHJ0 eF9lcXVhbF9wIChjb25zdF9ydHggeCwgY29uc3RfcnR4IHksIHJ0eF9lcXVhbF9wX2NhbGxiYWNr X2Z1bmN0aW9uIGNiKQogICAgIGNhc2UgVkFMVUU6CiAgICAgY2FzZSBTQ1JBVENIOgogICAgIENB U0VfQ09OU1RfVU5JUVVFOgotICAgICAgcmV0dXJuIDA7CisgICAgICByZXR1cm4gZmFsc2U7CiAK ICAgICBjYXNlIENPTlNUX1ZFQ1RPUjoKICAgICAgIGlmICghc2FtZV92ZWN0b3JfZW5jb2Rpbmdz X3AgKHgsIHkpKQpAQCAtNTAwLDcgKzUwMCw3IEBAIHJ0eF9lcXVhbF9wIChjb25zdF9ydHggeCwg Y29uc3RfcnR4IHksIHJ0eF9lcXVhbF9wX2NhbGxiYWNrX2Z1bmN0aW9uIGNiKQogCXsKIAljYXNl ICd3JzoKIAkgIGlmIChYV0lOVCAoeCwgaSkgIT0gWFdJTlQgKHksIGkpKQotCSAgICByZXR1cm4g MDsKKwkgICAgcmV0dXJuIGZhbHNlOwogCSAgYnJlYWs7CiAKIAljYXNlICduJzoKQEAgLTUxMywz MCArNTEzLDMwIEBAIHJ0eF9lcXVhbF9wIChjb25zdF9ydHggeCwgY29uc3RfcnR4IHksIHJ0eF9l cXVhbF9wX2NhbGxiYWNrX2Z1bmN0aW9uIGNiKQogCQkgICYmIFhJTlQgKHgsIGkpID09IFhJTlQg KHksIGkpKQogCQlicmVhazsKICNlbmRpZgotCSAgICAgIHJldHVybiAwOworCSAgICAgIHJldHVy biBmYWxzZTsKIAkgICAgfQogCSAgYnJlYWs7CiAKIAljYXNlICdwJzoKIAkgIGlmIChtYXliZV9u ZSAoU1VCUkVHX0JZVEUgKHgpLCBTVUJSRUdfQllURSAoeSkpKQotCSAgICByZXR1cm4gMDsKKwkg ICAgcmV0dXJuIGZhbHNlOwogCSAgYnJlYWs7CiAKIAljYXNlICdWJzoKIAljYXNlICdFJzoKIAkg IC8qIFR3byB2ZWN0b3JzIG11c3QgaGF2ZSB0aGUgc2FtZSBsZW5ndGguICAqLwogCSAgaWYgKFhW RUNMRU4gKHgsIGkpICE9IFhWRUNMRU4gKHksIGkpKQotCSAgICByZXR1cm4gMDsKKwkgICAgcmV0 dXJuIGZhbHNlOwogCiAJICAvKiBBbmQgdGhlIGNvcnJlc3BvbmRpbmcgZWxlbWVudHMgbXVzdCBt YXRjaC4gICovCiAJICBmb3IgKGogPSAwOyBqIDwgWFZFQ0xFTiAoeCwgaSk7IGorKykKLQkgICAg aWYgKHJ0eF9lcXVhbF9wIChYVkVDRVhQICh4LCBpLCBqKSwgWFZFQ0VYUCAoeSwgaSwgaiksIGNi KSA9PSAwKQotCSAgICAgIHJldHVybiAwOworCSAgICBpZiAoIXJ0eF9lcXVhbF9wIChYVkVDRVhQ ICh4LCBpLCBqKSwgWFZFQ0VYUCAoeSwgaSwgaiksIGNiKSkKKwkgICAgICByZXR1cm4gZmFsc2U7 CiAJICBicmVhazsKIAogCWNhc2UgJ2UnOgotCSAgaWYgKHJ0eF9lcXVhbF9wIChYRVhQICh4LCBp KSwgWEVYUCAoeSwgaSksIGNiKSA9PSAwKQotCSAgICByZXR1cm4gMDsKKwkgIGlmICghcnR4X2Vx dWFsX3AgKFhFWFAgKHgsIGkpLCBYRVhQICh5LCBpKSwgY2IpKQorCSAgICByZXR1cm4gZmFsc2U7 CiAJICBicmVhazsKIAogCWNhc2UgJ1MnOgpAQCAtNTQ0LDcgKzU0NCw3IEBAIHJ0eF9lcXVhbF9w IChjb25zdF9ydHggeCwgY29uc3RfcnR4IHksIHJ0eF9lcXVhbF9wX2NhbGxiYWNrX2Z1bmN0aW9u IGNiKQogCSAgaWYgKChYU1RSICh4LCBpKSB8fCBYU1RSICh5LCBpKSkKIAkgICAgICAmJiAoISBY U1RSICh4LCBpKSB8fCAhIFhTVFIgKHksIGkpCiAJCSAgfHwgc3RyY21wIChYU1RSICh4LCBpKSwg WFNUUiAoeSwgaSkpKSkKLQkgICAgcmV0dXJuIDA7CisJICAgIHJldHVybiBmYWxzZTsKIAkgIGJy ZWFrOwogCiAJY2FzZSAndSc6CkBAIC01NjIsNyArNTYyLDcgQEAgcnR4X2VxdWFsX3AgKGNvbnN0 X3J0eCB4LCBjb25zdF9ydHggeSwgcnR4X2VxdWFsX3BfY2FsbGJhY2tfZnVuY3Rpb24gY2IpCiAJ ICBnY2NfdW5yZWFjaGFibGUgKCk7CiAJfQogICAgIH0KLSAgcmV0dXJuIDE7CisgIHJldHVybiB0 cnVlOwogfQogCiAvKiBSZXR1cm4gdHJ1ZSBpZiBhbGwgZWxlbWVudHMgb2YgVkVDIGFyZSBlcXVh bC4gICovCmRpZmYgLS1naXQgYS9nY2MvcnRsLmggYi9nY2MvcnRsLmgKaW5kZXggMzk5NTIxNmI1 OGIuLmY2Njc0NGIxOGUzIDEwMDY0NAotLS0gYS9nY2MvcnRsLmgKKysrIGIvZ2NjL3J0bC5oCkBA IC0zMDA5LDEwICszMDA5LDEwIEBAIGV4dGVybiBydHggY29weV9ydHhfaWZfc2hhcmVkIChydHgp OwogZXh0ZXJuIHVuc2lnbmVkIGludCBydHhfc2l6ZSAoY29uc3RfcnR4KTsKIGV4dGVybiBydHgg c2hhbGxvd19jb3B5X3J0eCAoY29uc3RfcnR4IENYWF9NRU1fU1RBVF9JTkZPKTsKIAotdHlwZWRl ZiBpbnQgKCpydHhfZXF1YWxfcF9jYWxsYmFja19mdW5jdGlvbikgKGNvbnN0X3J0eCAqLCBjb25z dF9ydHggKiwKLQkJCQkJICAgICAgcnR4ICosIHJ0eCAqKTsKLWV4dGVybiBpbnQgcnR4X2VxdWFs X3AgKGNvbnN0X3J0eCwgY29uc3RfcnR4LAotCQkJcnR4X2VxdWFsX3BfY2FsbGJhY2tfZnVuY3Rp b24gPSBOVUxMKTsKK3R5cGVkZWYgYm9vbCAoKnJ0eF9lcXVhbF9wX2NhbGxiYWNrX2Z1bmN0aW9u KSAoY29uc3RfcnR4ICosIGNvbnN0X3J0eCAqLAorCQkJCQkgICAgICAgcnR4ICosIHJ0eCAqKTsK K2V4dGVybiBib29sIHJ0eF9lcXVhbF9wIChjb25zdF9ydHgsIGNvbnN0X3J0eCwKKwkJCSBydHhf ZXF1YWxfcF9jYWxsYmFja19mdW5jdGlvbiA9IE5VTEwpOwogCiBleHRlcm4gYm9vbCBydHZlY19h bGxfZXF1YWxfcCAoY29uc3RfcnR2ZWMpOwogZXh0ZXJuIGJvb2wgcnR2ZWNfc2VyaWVzX3AgKHJ0 dmVjLCBpbnQpOwpAQCAtNDEzOCw4ICs0MTM4LDggQEAgZXh0ZXJuIGludCBydHhfdG9fdHJlZV9j b2RlIChlbnVtIHJ0eF9jb2RlKTsKIGV4dGVybiBpbnQgZGVsZXRlX3RyaXZpYWxseV9kZWFkX2lu c25zIChydHhfaW5zbiAqLCBpbnQpOwogZXh0ZXJuIGJvb2wgZXhwX2VxdWl2X3AgKGNvbnN0X3J0 eCwgY29uc3RfcnR4LCBpbnQsIGJvb2wpOwogCi10eXBlZGVmIGludCAoKmhhc2hfcnR4X2NhbGxi YWNrX2Z1bmN0aW9uKSAoY29uc3RfcnR4LCBtYWNoaW5lX21vZGUsIHJ0eCAqLAotCQkJCQkgICBt YWNoaW5lX21vZGUgKik7Cit0eXBlZGVmIGJvb2wgKCpoYXNoX3J0eF9jYWxsYmFja19mdW5jdGlv bikgKGNvbnN0X3J0eCwgbWFjaGluZV9tb2RlLCBydHggKiwKKwkJCQkJICAgIG1hY2hpbmVfbW9k ZSAqKTsKIGV4dGVybiB1bnNpZ25lZCBoYXNoX3J0eCAoY29uc3RfcnR4LCBtYWNoaW5lX21vZGUs IGludCAqLCBpbnQgKiwKIAkJCSAgYm9vbCwgaGFzaF9ydHhfY2FsbGJhY2tfZnVuY3Rpb24gPSBO VUxMKTsKIApkaWZmIC0tZ2l0IGEvZ2NjL3NlbC1zY2hlZC1pci5jYyBiL2djYy9zZWwtc2NoZWQt aXIuY2MKaW5kZXggMmM4MmU4NTRiMjYuLmE4MjliYTY2MzMxIDEwMDY0NAotLS0gYS9nY2Mvc2Vs LXNjaGVkLWlyLmNjCisrKyBiL2djYy9zZWwtc2NoZWQtaXIuY2MKQEAgLTEwNzksNyArMTA3OSw3 IEBAIGZyZWVfbm9wX3Bvb2wgKHZvaWQpCiAvKiBTa2lwIHVuc3BlYyB0byBzdXBwb3J0IGlhNjQg c3BlY3VsYXRpb24uIENhbGxlZCBmcm9tIHJ0eF9lcXVhbF9wLgogICAgVGhlIGNhbGxiYWNrIGlz IGdpdmVuIHR3byBydHhlcyBYWCBhbmQgWVkgYW5kIHdyaXRlcyB0aGUgbmV3IHJ0eGVzCiAgICB0 byBOWCBhbmQgTlkgaW4gY2FzZSBzb21lIG5lZWRzIHRvIGJlIHNraXBwZWQuICAqLwotc3RhdGlj IGludAorc3RhdGljIGJvb2wKIHNraXBfdW5zcGVjc19jYWxsYmFjayAoY29uc3RfcnR4ICp4eCwg Y29uc3RfcnR4ICp5eSwgcnR4ICpueCwgcnR4KiBueSkKIHsKICAgY29uc3RfcnR4IHggPSAqeHg7 CkBAIC0xMDkxLDcgKzEwOTEsNyBAQCBza2lwX3Vuc3BlY3NfY2FsbGJhY2sgKGNvbnN0X3J0eCAq eHgsIGNvbnN0X3J0eCAqeXksIHJ0eCAqbngsIHJ0eCogbnkpCiAgICAgewogICAgICAgKm54ID0g WFZFQ0VYUCAoeCwgMCwgMCk7CiAgICAgICAqbnkgPSBDT05TVF9DQVNUX1JUWCAoeSk7Ci0gICAg ICByZXR1cm4gMTsKKyAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIAogICBpZiAoR0VUX0NPREUg KHkpID09IFVOU1BFQwpAQCAtMTEwMCwxNiArMTEwMCwxNiBAQCBza2lwX3Vuc3BlY3NfY2FsbGJh Y2sgKGNvbnN0X3J0eCAqeHgsIGNvbnN0X3J0eCAqeXksIHJ0eCAqbngsIHJ0eCogbnkpCiAgICAg ewogICAgICAgKm54ID0gQ09OU1RfQ0FTVF9SVFggKHgpOwogICAgICAgKm55ID0gWFZFQ0VYUCAo eSwgMCwgMCk7Ci0gICAgICByZXR1cm4gMTsKKyAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIAot ICByZXR1cm4gMDsKKyAgcmV0dXJuIGZhbHNlOwogfQogCiAvKiBDYWxsYmFjaywgY2FsbGVkIGZy b20gaGFzaF9ydHguICBIZWxwcyB0byBoYXNoIFVOU1BFQyBydHggWCBpbiBhIGNvcnJlY3Qgd2F5 CiAgICB0byBzdXBwb3J0IGlhNjQgc3BlY3VsYXRpb24uICBXaGVuIGNoYW5nZXMgYXJlIG5lZWRl ZCwgbmV3IHJ0eCBYIGFuZCBuZXcgbW9kZQogICAgTk1PREUgYXJlIHdyaXR0ZW4sIGFuZCB0aGUg Y2FsbGJhY2sgcmV0dXJucyB0cnVlLiAgKi8KLXN0YXRpYyBpbnQKK3N0YXRpYyBib29sCiBoYXNo X3dpdGhfdW5zcGVjX2NhbGxiYWNrIChjb25zdF9ydHggeCwgbWFjaGluZV9tb2RlIG1vZGUgQVRU UklCVVRFX1VOVVNFRCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ0eCAqbngsIG1hY2hp bmVfbW9kZSogbm1vZGUpCiB7CkBAIC0xMTE5LDEwICsxMTE5LDEwIEBAIGhhc2hfd2l0aF91bnNw ZWNfY2FsbGJhY2sgKGNvbnN0X3J0eCB4LCBtYWNoaW5lX21vZGUgbW9kZSBBVFRSSUJVVEVfVU5V U0VELAogICAgIHsKICAgICAgICpueCA9IFhWRUNFWFAgKHgsIDAgLDApOwogICAgICAgKm5tb2Rl ID0gVk9JRG1vZGU7Ci0gICAgICByZXR1cm4gMTsKKyAgICAgIHJldHVybiB0cnVlOwogICAgIH0K IAotICByZXR1cm4gMDsKKyAgcmV0dXJuIGZhbHNlOwogfQogCiAvKiBSZXR1cm5zIExIUyBhbmQg UkhTIGFyZSBvayB0byBiZSBzY2hlZHVsZWQgc2VwYXJhdGVseS4gICovCg== --00000000000034fef305fe6d09d1--