From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 59839 invoked by alias); 7 Feb 2020 19:27:36 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 59830 invoked by uid 89); 7 Feb 2020 19:27:35 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-18.2 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,KAM_BADIPHTTP,KAM_SHORT,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 spammy=UD:disasm.c, disasm.c, disasmc X-HELO: us-smtp-1.mimecast.com Received: from us-smtp-delivery-1.mimecast.com (HELO us-smtp-1.mimecast.com) (207.211.31.120) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 07 Feb 2020 19:27:27 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1581103645; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type; bh=sH7rpQO3bPcEAP/EcxUnlux8czEKtCpBIkgv5AyjUBI=; b=JFWvHcr8+arLsZCI9rv/ByLNYqmomKVSMCGFFmhcC7MYO+POOq0bnkBj/tbEpm5NC9G07c AHuWTedEDsQKDALMaNkrRcLBWK8zoRjirfLwqY6BMEldLtz9xD1fyU3K8ALy5Z12K0R8j9 xIRYonSh+26abtBKn71C2hermcWqqCk= Received: from mail-vk1-f200.google.com (mail-vk1-f200.google.com [209.85.221.200]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-39-5oDj8VI7MZOsxEcxiLKqSg-1; Fri, 07 Feb 2020 14:27:22 -0500 Received: by mail-vk1-f200.google.com with SMTP id u7so283227vkb.1 for ; Fri, 07 Feb 2020 11:27:21 -0800 (PST) MIME-Version: 1.0 From: Aaron Merey Date: Fri, 07 Feb 2020 19:27:00 -0000 Message-ID: Subject: [PATCH v3] Add debuginfod support to GDB To: gdb-patches@sourceware.org Cc: Tom Tromey , Christian Biesinger X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: multipart/mixed; boundary="000000000000e2c76f059e01603e" X-SW-Source: 2020-02/txt/msg00179.txt.bz2 --000000000000e2c76f059e01603e Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Content-length: 236 The previous revision of this patch had pkg.m4 included in gdb/aclocal.m4. In order to avoid any concerns regarding the copyright of pkg.m4 I've removed it and slightly modified the configure-time handling of debuginfod support. Aaron --000000000000e2c76f059e01603e Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Add-debuginfod-support-to-GDB.patch" Content-Disposition: attachment; filename="0001-Add-debuginfod-support-to-GDB.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_k6ck76sk0 Content-length: 44148 RnJvbSA3MzcwNmU0NjJiNmE1NDBlMTU2YzQwMDA4OTg2ZmNlMTBkMmRjMGY5 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBYXJvbiBNZXJleSA8 YW1lcmV5QHJlZGhhdC5jb20+CkRhdGU6IFRodSwgNiBGZWIgMjAyMCAxNDow NTowNSAtMDUwMApTdWJqZWN0OiBbUEFUQ0hdIEFkZCBkZWJ1Z2luZm9kIHN1 cHBvcnQgdG8gR0RCCgpkZWJ1Z2luZm9kIGlzIGEgbGlnaHR3ZWlnaHQgd2Vi IHNlcnZpY2UgdGhhdCBpbmRleGVzIEVMRi9EV0FSRiBkZWJ1Z2dpbmcKcmVz b3VyY2VzIGJ5IGJ1aWxkLWlkIGFuZCBzZXJ2ZXMgdGhlbSBvdmVyIEhUVFAu CgpUaGlzIHBhdGNoIGVuYWJsZXMgR0RCIHRvIHF1ZXJ5IGRlYnVnaW5mb2Qg c2VydmVycyBmb3Igc2VwYXJhdGUgZGVidWcKZmlsZXMgYW5kIHNvdXJjZSBj b2RlIHdoZW4gaXQgaXMgb3RoZXJ3aXNlIG5vdCBhYmxlIHRvIGZpbmQgdGhl bS4KCkdEQiBjYW4gYmUgYnVpbHQgd2l0aCBkZWJ1Z2luZm9kIHVzaW5nIHRo ZSAtLXdpdGgtZGVidWdpbmZvZCBjb25maWd1cmUKb3B0aW9uLgoKVGhpcyBy ZXF1aXJlcyB0aGF0IGxpYmRlYnVnaW5mb2QgYmUgaW5zdGFsbGVkIGFuZCBm b3VuZCBhdCBjb25maWd1cmUgdGltZS4KCmRlYnVnaW5mb2QgaXMgcGFja2Fn ZWQgd2l0aCBlbGZ1dGlscywgc3RhcnRpbmcgd2l0aCB2ZXJzaW9uIDAuMTc4 LgoKRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGh0dHBzOi8vc291cmNld2Fy ZS5vcmcvZWxmdXRpbHMvLgoKVGVzdGVkIG9uIHg4Nl82NCBGZWRvcmEgMzEu CgpnZGIvQ2hhbmdlTG9nOgoyMDIwLTAyLTA3ICBBYXJvbiBNZXJleSAgPGFt ZXJleUByZWRoYXQuY29tPgoKICAgICAgICAqIE1ha2VmaWxlLmluOiBIYW5k bGUgb3B0aW9uYWwgZGVidWdpbmZvZCBzdXBwb3J0LgogICAgICAgICogTkVX UzogVXBkYXRlLgogICAgICAgICogUkVBRE1FOiBBZGQgLS13aXRoLWRlYnVn aW5mb2Qgc3VtbWFyeS4KICAgICAgICAqIGFjbG9jYWwubTQ6IFJlZ2VuZXJh dGUuCiAgICAgICAgKiBjb25maWcuaW46IFJlZ2VuZXJhdGUuCiAgICAgICAg KiBjb25maWd1cmU6IFJlZ2VuZXJhdGUuCiAgICAgICAgKiBjb25maWd1cmUu YWM6IEhhbmRsZSBvcHRpb25hbCBkZWJ1Z2luZm9kIHN1cHBvcnQuCiAgICAg ICAgKiBkZWJ1Z2luZm9kLXN1cHBvcnQuYzogZGVidWdpbmZvZCBoZWxwZXIg ZnVuY3Rpb25zLgogICAgICAgICogZGVidWdpbmZvZC1zdXBwb3J0Lmg6IERp dHRvLgogICAgICAgICogZG9jL2dkYi50ZXhpbmZvOiBBZGQgLS13aXRoLWRl YnVnaW5mb2QgdG8gY29uZmlndXJlIG9wdGlvbnMKICAgICAgICBzdW1tYXJ5 LgogICAgICAgICogZHdhcmYycmVhZC5jIChkd2FyZjJfZ2V0X2R3el9maWxl KTogUXVlcnkgZGVidWdpbmZvZCBzZXJ2ZXJzCiAgICAgICAgd2hlbiBhIGR3 eiBmaWxlIGNhbm5vdCBiZSBmb3VuZC4KICAgICAgICAqIGVsZnJlYWQuYyAo ZWxmX3N5bWZpbGVfcmVhZCk6IFF1ZXJ5IGRlYnVnaW5mb2Qgc2VydmVycyB3 aGVuIGEKICAgICAgICBkZWJ1Z2luZm8gZmlsZSBjYW5ub3QgYmUgZm91bmQu CiAgICAgICAgKiBzb3VyY2UuYyAob3Blbl9zb3VyY2VfZmlsZSk6IFF1ZXJ5 IGRlYnVnaW5mb2Qgc2VydmVycyB3aGVuIGEKICAgICAgICBzb3VyY2UgZmls ZSBjYW5ub3QgYmUgZm91bmQuCiAgICAgICAgKiB0b3AuYyAocHJpbnRfZ2Ri X2NvbmZpZ3VyYXRpb24pOiBJbmNsdWRlCiAgICAgICAgLS17d2l0aCx3aXRo b3V0fS1kZWJ1Z2luZm9kIGluIHRoZSBvdXRwdXQuCgpnZGIvdGVzdHN1aXRl L0NoYW5nZUxvZzoKMjAyMC0wMi0wNyAgQWFyb24gTWVyZXkgIDxhbWVyZXlA cmVkaGF0LmNvbT4KCiAgICAgICAgKiBnZGIuZGVidWdpbmZvZDogTmV3IGRp cmVjdG9yeSBmb3IgZGVidWdpbmZvZCB0ZXN0cy4KICAgICAgICAqIGdkYi5k ZWJ1Z2luZm9kL21haW4uYzogTmV3IHRlc3QgZmlsZS4KICAgICAgICAqIGdk Yi5kZWJ1Z2luZm9kL2ZldGNoX3NyY19hbmRfc3ltYm9scy5leHA6IE5ldyB0 ZXN0cy4KLS0tCiBnZGIvTWFrZWZpbGUuaW4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCAgIDcgKy0KIGdkYi9ORVdTICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAxNCArKwogZ2RiL1JFQURNRSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA5ICsKIGdk Yi9jb25maWcuaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAgMyArCiBnZGIvY29uZmlndXJlICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgOTUgKysrKysrLQogZ2RiL2NvbmZpZ3VyZS5hYyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDM0ICsrLQogZ2RiL2RlYnVn aW5mb2Qtc3VwcG9ydC5jICAgICAgICAgICAgICAgICAgICAgIHwgMTAyICsr KysrKysrCiBnZGIvZGVidWdpbmZvZC1zdXBwb3J0LmggICAgICAgICAgICAg ICAgICAgICAgfCAgNDMgKysrKwogZ2RiL2RvYy9nZGIudGV4aW5mbyAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgICA4ICsKIGdkYi9kd2FyZjJyZWFk LmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyNSArKwogZ2Ri L2VsZnJlYWQuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg IDMzICsrLQogZ2RiL3NvdXJjZS5jICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgIDQ0ICsrKysKIC4uLi9nZGIuZGVidWdpbmZvZC9mZXRj aF9zcmNfYW5kX3N5bWJvbHMuZXhwICB8IDIzMiArKysrKysrKysrKysrKysr KysKIGdkYi90ZXN0c3VpdGUvZ2RiLmRlYnVnaW5mb2QvbWFpbi5jICAgICAg ICAgICB8ICAyNSArKwogZ2RiL3RvcC5jICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgIDEwICsKIDE1IGZpbGVzIGNoYW5nZWQsIDY3 NyBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUg MTAwNjQ0IGdkYi9kZWJ1Z2luZm9kLXN1cHBvcnQuYwogY3JlYXRlIG1vZGUg MTAwNjQ0IGdkYi9kZWJ1Z2luZm9kLXN1cHBvcnQuaAogY3JlYXRlIG1vZGUg MTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmRlYnVnaW5mb2QvZmV0Y2hfc3Jj X2FuZF9zeW1ib2xzLmV4cAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0 c3VpdGUvZ2RiLmRlYnVnaW5mb2QvbWFpbi5jCgpkaWZmIC0tZ2l0IGEvZ2Ri L01ha2VmaWxlLmluIGIvZ2RiL01ha2VmaWxlLmluCmluZGV4IDQ1ZDE1ODZl ODUuLmUzMTQ5M2RmOWUgMTAwNjQ0Ci0tLSBhL2dkYi9NYWtlZmlsZS5pbgor KysgYi9nZGIvTWFrZWZpbGUuaW4KQEAgLTU5MSw3ICs1OTEsOCBAQCBJTlRF Uk5BTF9DRkxBR1NfQkFTRSA9IFwKIAkkKEdEQl9DRkxBR1MpICQoT1BDT0RF U19DRkxBR1MpICQoUkVBRExJTkVfQ0ZMQUdTKSAkKFpMSUJJTkMpIFwKIAkk KEJGRF9DRkxBR1MpICQoSU5DTFVERV9DRkxBR1MpICQoTElCREVDTlVNQkVS X0NGTEFHUykgXAogCSQoSU5UTF9DRkxBR1MpICQoSU5DR05VKSAkKElOQ1NV UFBPUlQpICQoRU5BQkxFX0NGTEFHUykgXAotCSQoSU5URVJOQUxfQ1BQRkxB R1MpICQoU1JDSElHSF9DRkxBR1MpICQoVE9QX0NGTEFHUykgJChQVEhSRUFE X0NGTEFHUykKKwkkKElOVEVSTkFMX0NQUEZMQUdTKSAkKFNSQ0hJR0hfQ0ZM QUdTKSAkKFRPUF9DRkxBR1MpICQoUFRIUkVBRF9DRkxBR1MpIFwKKwlAREVC VUdJTkZPRF9DRkxBR1NACiBJTlRFUk5BTF9XQVJOX0NGTEFHUyA9ICQoSU5U RVJOQUxfQ0ZMQUdTX0JBU0UpICQoR0RCX1dBUk5fQ0ZMQUdTKQogSU5URVJO QUxfQ0ZMQUdTID0gJChJTlRFUk5BTF9XQVJOX0NGTEFHUykgJChHREJfV0VS Uk9SX0NGTEFHUykKIApAQCAtNjE2LDcgKzYxNyw4IEBAIENMSUJTID0gJChT SU0pICQoUkVBRExJTkUpICQoT1BDT0RFUykgJChCRkQpICQoTElCQ1RGKSAk KFpMSUIpIFwKIAlATElCU0AgQEdVSUxFX0xJQlNAIEBQWVRIT05fTElCU0Ag XAogCSQoTElCRVhQQVQpICQoTElCTFpNQSkgJChMSUJCQUJFTFRSQUNFKSAk KExJQklQVCkgXAogCSQoV0lOMzJMSUJTKSAkKExJQkdOVSkgJChMSUJJQ09O VikgXAotCSQoTElCTVBGUikgJChTUkNISUdIX0xJQlMpICQoTElCWFhIQVNI KSAkKFBUSFJFQURfTElCUykKKwkkKExJQk1QRlIpICQoU1JDSElHSF9MSUJT KSAkKExJQlhYSEFTSCkgJChQVEhSRUFEX0xJQlMpIFwKKwlAREVCVUdJTkZP RF9MSUJTQAogQ0RFUFMgPSAkKE5BVF9DREVQUykgJChTSU0pICQoQkZEKSAk KFJFQURMSU5FX0RFUFMpICQoTElCQ1RGKSBcCiAJJChPUENPREVTKSAkKElO VExfREVQUykgJChMSUJJQkVSVFkpICQoQ09ORklHX0RFUFMpICQoTElCR05V KSBcCiAJJChMSUJTVVBQT1JUKQpAQCAtOTkwLDYgKzk5Miw3IEBAIENPTU1P Tl9TRklMRVMgPSBcCiAJZGJ4cmVhZC5jIFwKIAlkY2FjaGUuYyBcCiAJZGVi dWcuYyBcCisJZGVidWdpbmZvZC1zdXBwb3J0LmMgXAogCWRpY3Rpb25hcnku YyBcCiAJZGlzYXNtLmMgXAogCWRpc2FzbS1zZWxmdGVzdHMuYyBcCmRpZmYg LS1naXQgYS9nZGIvTkVXUyBiL2dkYi9ORVdTCmluZGV4IGQ0ZTJlNzBmMzgu LjJmOWU3NzU2YjAgMTAwNjQ0Ci0tLSBhL2dkYi9ORVdTCisrKyBiL2dkYi9O RVdTCkBAIC0zLDYgKzMsMjAgQEAKIAogKioqIENoYW5nZXMgc2luY2UgR0RC IDkKIAorKiBHREIgbm93IHN1cHBvcnRzIGRlYnVnaW5mb2QsIGFuIEhUVFAg c2VydmVyIGZvciBkaXN0cmlidXRpbmcgRUxGL0RXQVJGCisgIGRlYnVnZ2lu ZyBpbmZvcm1hdGlvbiBhcyB3ZWxsIGFzIHNvdXJjZSBjb2RlLgorCisgIFdo ZW4gYnVpbHQgd2l0aCBkZWJ1Z2luZm9kLCBHREIgY2FuIGF1dG9tYXRpY2Fs bHkgcXVlcnkgZGVidWdpbmZvZAorICBzZXJ2ZXJzIGZvciB0aGUgc2VwYXJh dGUgZGVidWcgZmlsZXMgYW5kIHNvdXJjZSBjb2RlIG9mIHRoZSBleGVjdXRh YmxlCisgIGJlaW5nIGRlYnVnZ2VkLgorCisgIFRvIGJ1aWxkIEdEQiB3aXRo IGRlYnVnaW5mb2QsIHBhc3MgLS13aXRoLWRlYnVnaW5mb2QgdG8gY29uZmln dXJlICh0aGlzCisgIHJlcXVpcmVzIGxpYmRlYnVnaW5mb2QsIHRoZSBkZWJ1 Z2luZm9kIGNsaWVudCBsaWJyYXJ5KS4KKworICBkZWJ1Z2luZm9kIGlzIGRp c3RyaWJ1dGVkIHdpdGggZWxmdXRpbHMsIHN0YXJ0aW5nIHdpdGggdmVyc2lv biAwLjE3OC4KKworICBZb3UgY2FuIGdldCB0aGUgbGF0ZXN0IHZlcnNpb24g ZnJvbSBodHRwczovL3NvdXJjZXdhcmUub3JnL2VsZnV0aWxzLgorCiAqIERl YnVnZ2luZyBNUy1XaW5kb3dzIHByb2Nlc3NlcyBub3cgc2V0cyAkX2V4aXRz aWduYWwgd2hlbiB0aGUKICAgaW5mZXJpb3IgaXMgdGVybWluYXRlZCBieSBh IHNpZ25hbCwgaW5zdGVhZCBvZiBzZXR0aW5nICRfZXhpdGNvZGUuCiAKZGlm ZiAtLWdpdCBhL2dkYi9SRUFETUUgYi9nZGIvUkVBRE1FCmluZGV4IGJlN2Zk Y2I2NWQuLjg0MGNmMWY4NWMgMTAwNjQ0Ci0tLSBhL2dkYi9SRUFETUUKKysr IGIvZ2RiL1JFQURNRQpAQCAtNDMyLDYgKzQzMiwxNSBAQCBtb3JlIG9ic2N1 cmUgR0RCIGBjb25maWd1cmUnIG9wdGlvbnMgYXJlIG5vdCBsaXN0ZWQgaGVy ZS4KICAgICAgVXNlIHRoZSBjdXJzZXMgbGlicmFyeSBpbnN0ZWFkIG9mIHRo ZSB0ZXJtY2FwIGxpYnJhcnksIGZvcgogICAgICB0ZXh0LW1vZGUgdGVybWlu YWwgb3BlcmF0aW9ucy4KIAorYC0td2l0aC1kZWJ1Z2luZm9kJworICAgICBC dWlsZCBHREIgd2l0aCBsaWJkZWJ1Z2luZm9kLCB0aGUgZGVidWdpbmZvZCBj bGllbnQgbGlicmFyeS4gIFVzZWQKKyAgICAgdG8gYXV0b21hdGljYWxseSBm ZXRjaCBzb3VyY2UgZmlsZXMgYW5kIHNlcGFyYXRlIGRlYnVnIGZpbGVzIGZy b20KKyAgICAgZGVidWdpbmZvZCBzZXJ2ZXJzIHVzaW5nIHRoZSBhc3NvY2lh dGVkIGV4ZWN1dGFibGUncyBidWlsZCBJRC4KKyAgICAgRW5hYmxlZCBieSBk ZWZhdWx0IGlmIGxpYmRlYnVnaW5mb2QgaXMgaW5zdGFsbGVkIGFuZCBmb3Vu ZCBhdAorICAgICBjb25maWd1cmUgdGltZS4gIGRlYnVnaW5mb2QgaXMgcGFj a2FnZWQgd2l0aCBlbGZ1dGlscywgc3RhcnRpbmcKKyAgICAgd2l0aCB2ZXJz aW9uIDAuMTc4LiAgWW91IGNhbiBnZXQgdGhlIGxhdGVzdCB2ZXJzaW9uIGZy b20KKyAgICAgJ2h0dHBzOi8vc291cmNld2FyZS5vcmcvZWxmdXRpbHMvJy4K KwogYC0td2l0aC1saWJ1bndpbmQtaWE2NCcKICAgICAgVXNlIHRoZSBsaWJ1 bndpbmQgbGlicmFyeSBmb3IgdW53aW5kaW5nIGZ1bmN0aW9uIGNhbGwgc3Rh Y2sgb24gaWE2NAogICAgICB0YXJnZXQgcGxhdGZvcm1zLgpkaWZmIC0tZ2l0 IGEvZ2RiL2NvbmZpZy5pbiBiL2dkYi9jb25maWcuaW4KaW5kZXggY2I4ODZi YThlMS4uNTkzOWI4ZTQzNiAxMDA2NDQKLS0tIGEvZ2RiL2NvbmZpZy5pbgor KysgYi9nZGIvY29uZmlnLmluCkBAIC0yMjcsNiArMjI3LDkgQEAKIC8qIERl ZmluZSBpZiB5b3UgaGF2ZSB0aGUgYmFiZWx0cmFjZSBsaWJyYXJ5LiAqLwog I3VuZGVmIEhBVkVfTElCQkFCRUxUUkFDRQogCisvKiBEZWZpbmUgdG8gMSBp ZiBkZWJ1Z2luZm9kIGlzIGVuYWJsZWQuICovCisjdW5kZWYgSEFWRV9MSUJE RUJVR0lORk9ECisKIC8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgZXhwYXQg bGlicmFyeS4gKi8KICN1bmRlZiBIQVZFX0xJQkVYUEFUCiAKZGlmZiAtLWdp dCBhL2dkYi9jb25maWd1cmUgYi9nZGIvY29uZmlndXJlCmluZGV4IDcyZmZh ZDhkMzcuLmNkYWNjMWRkOGUgMTAwNzU1Ci0tLSBhL2dkYi9jb25maWd1cmUK KysrIGIvZ2RiL2NvbmZpZ3VyZQpAQCAtNzE5LDcgKzcxOSw2IEBAIEdVSUxF X0xJQlMKIEdVSUxFX0NQUEZMQUdTCiBHVUlMRF9UQVJHRVRfRkxBRwogR1VJ TEQKLXBrZ19jb25maWdfcHJvZ19wYXRoCiBIQVZFX1BZVEhPTl9GQUxTRQog SEFWRV9QWVRIT05fVFJVRQogUFlUSE9OX0xJQlMKQEAgLTc1OCw2ICs3NTcs OSBAQCBSRVBPUlRfQlVHU19URVhJCiBSRVBPUlRfQlVHU19UTwogUEtHVkVS U0lPTgogQ09ERVNJR05fQ0VSVAorREVCVUdJTkZPRF9DRkxBR1MKK0RFQlVH SU5GT0RfTElCUworcGtnX2NvbmZpZ19wcm9nX3BhdGgKIEhBVkVfTkFUSVZF X0dDT1JFX1RBUkdFVAogVEFSR0VUX09CUwogc3ViZGlycwpAQCAtODY5LDYg Kzg3MSw3IEBAIGVuYWJsZV82NF9iaXRfYmZkCiBlbmFibGVfZ2RibWkKIGVu YWJsZV90dWkKIGVuYWJsZV9nZGJ0aword2l0aF9kZWJ1Z2luZm9kCiB3aXRo X2xpYnVud2luZF9pYTY0CiB3aXRoX2N1cnNlcwogZW5hYmxlX3Byb2ZpbGlu ZwpAQCAtMTU5OCw2ICsxNjAxLDggQEAgT3B0aW9uYWwgUGFja2FnZXM6CiAg ICAgICAgICAgICAgICAgICAgICAgICAgIFstLXdpdGgtYXV0by1sb2FkLWRp cl0KICAgLS13aXRob3V0LWF1dG8tbG9hZC1zYWZlLXBhdGgKICAgICAgICAg ICAgICAgICAgICAgICAgICAgZG8gbm90IHJlc3RyaWN0IGF1dG8tbG9hZGVk IGZpbGVzIGxvY2F0aW9ucworICAtLXdpdGgtZGVidWdpbmZvZCAgICAgICBF bmFibGUgZGVidWdpbmZvIGxvb2t1cHMgd2l0aCBkZWJ1Z2luZm9kCisgICAg ICAgICAgICAgICAgICAgICAgICAgIChhdXRvL3llcy9ubykKICAgLS13aXRo LWxpYnVud2luZC1pYTY0ICAgdXNlIGxpYnVud2luZCBmcmFtZSB1bndpbmRp bmcgZm9yIGlhNjQgdGFyZ2V0cwogICAtLXdpdGgtY3Vyc2VzICAgICAgICAg ICB1c2UgdGhlIGN1cnNlcyBsaWJyYXJ5IGluc3RlYWQgb2YgdGhlIHRlcm1j YXAKICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlicmFyeQpAQCAtNjgy NCw4ICs2ODI5LDk0IEBAICRhc19lY2hvICIkYXNfbWU6IFdBUk5JTkc6IGdk YnRrIGlzbid0IHN1cHBvcnRlZCBvbiAkaG9zdDsgZGlzYWJsaW5nIiA+JjI7 fQogICAgIGVuYWJsZV9nZGJ0az1ubyA7OwogZXNhYwogCi0jIExpYnVud2lu ZCBzdXBwb3J0IGZvciBpYTY0LgorIyBIYW5kbGUgb3B0aW9uYWwgZGVidWdp bmZvZCBzdXBwb3J0CisKKyMgQ2hlY2sgd2hldGhlciAtLXdpdGgtZGVidWdp bmZvZCB3YXMgZ2l2ZW4uCitpZiB0ZXN0ICIke3dpdGhfZGVidWdpbmZvZCtz ZXR9IiA9IHNldDsgdGhlbiA6CisgIHdpdGh2YWw9JHdpdGhfZGVidWdpbmZv ZDsKK2Vsc2UKKyAgd2l0aF9kZWJ1Z2luZm9kPWF1dG8KK2ZpCiAKK3sgJGFz X2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcg d2hldGhlciB0byB1c2UgZGVidWdpbmZvZCIgPiY1CiskYXNfZWNob19uICJj aGVja2luZyB3aGV0aGVyIHRvIHVzZSBkZWJ1Z2luZm9kLi4uICIgPiY2OyB9 Cit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJl c3VsdDogJHdpdGhfZGVidWdpbmZvZCIgPiY1CiskYXNfZWNobyAiJHdpdGhf ZGVidWdpbmZvZCIgPiY2OyB9CisKK2lmIHRlc3QgIngkd2l0aF9kZWJ1Z2lu Zm9kIiAhPSB4bm87IHRoZW4KKyAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3Jk IG9mICJwa2ctY29uZmlnIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1l IHdpdGggYXJncy4KK3NldCBkdW1teSBwa2ctY29uZmlnOyBhY193b3JkPSQy Cit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNo ZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CiskYXNfZWNob19uICJjaGVja2lu ZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KK2lmICR7YWNfY3ZfcGF0aF9w a2dfY29uZmlnX3Byb2dfcGF0aCs6fSBmYWxzZTsgdGhlbiA6CisgICRhc19l Y2hvX24gIihjYWNoZWQpICIgPiY2CitlbHNlCisgIGNhc2UgJHBrZ19jb25m aWdfcHJvZ19wYXRoIGluCisgIFtcXC9dKiB8ID86W1xcL10qKQorICBhY19j dl9wYXRoX3BrZ19jb25maWdfcHJvZ19wYXRoPSIkcGtnX2NvbmZpZ19wcm9n X3BhdGgiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0IHdpdGgg YSBwYXRoLgorICA7OworICAqKQorICBhc19zYXZlX0lGUz0kSUZTOyBJRlM9 JFBBVEhfU0VQQVJBVE9SCitmb3IgYXNfZGlyIGluICRQQVRICitkbworICBJ RlM9JGFzX3NhdmVfSUZTCisgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rp cj0uCisgICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxl X2V4dGVuc2lvbnM7IGRvCisgIGlmIGFzX2ZuX2V4ZWN1dGFibGVfcCAiJGFz X2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KKyAgICBhY19jdl9w YXRoX3BrZ19jb25maWdfcHJvZ19wYXRoPSIkYXNfZGlyLyRhY193b3JkJGFj X2V4ZWNfZXh0IgorICAgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8t JExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQi ID4mNQorICAgIGJyZWFrIDIKKyAgZmkKK2RvbmUKKyAgZG9uZQorSUZTPSRh c19zYXZlX0lGUworCisgIHRlc3QgLXogIiRhY19jdl9wYXRoX3BrZ19jb25m aWdfcHJvZ19wYXRoIiAmJiBhY19jdl9wYXRoX3BrZ19jb25maWdfcHJvZ19w YXRoPSJtaXNzaW5nIgorICA7OworZXNhYworZmkKK3BrZ19jb25maWdfcHJv Z19wYXRoPSRhY19jdl9wYXRoX3BrZ19jb25maWdfcHJvZ19wYXRoCitpZiB0 ZXN0IC1uICIkcGtnX2NvbmZpZ19wcm9nX3BhdGgiOyB0aGVuCisgIHsgJGFz X2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAk cGtnX2NvbmZpZ19wcm9nX3BhdGgiID4mNQorJGFzX2VjaG8gIiRwa2dfY29u ZmlnX3Byb2dfcGF0aCIgPiY2OyB9CitlbHNlCisgIHsgJGFzX2VjaG8gIiRh c19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBubyIgPiY1Cisk YXNfZWNobyAibm8iID4mNjsgfQorZmkKKworCisgIGlmIHRlc3QgIiR7cGtn X2NvbmZpZ19wcm9nX3BhdGh9IiAhPSAibWlzc2luZyI7IHRoZW4KKyAgICAk e3BrZ19jb25maWdfcHJvZ19wYXRofSAtLWV4aXN0cyAtLWF0bGVhc3QtdmVy c2lvbj0wLjE3OCBsaWJkZWJ1Z2luZm9kCisgICAgaWYgdGVzdCAkPyA9IDA7 IHRoZW4KKyAgICAgIERFQlVHSU5GT0RfTElCUz1gJHtwa2dfY29uZmlnX3By b2dfcGF0aH0gLS1saWJzIGxpYmRlYnVnaW5mb2RgCisKKyAgICAgIERFQlVH SU5GT0RfQ0ZMQUdTPWAke3BrZ19jb25maWdfcHJvZ19wYXRofSAtLWNmbGFn cyBsaWJkZWJ1Z2luZm9kYAorCisKKyRhc19lY2hvICIjZGVmaW5lIEhBVkVf TElCREVCVUdJTkZPRCAxIiA+PmNvbmZkZWZzLmgKKworICAgIGVsc2UKKyAg ICAgIGlmIHRlc3QgIngkd2l0aF9kZWJ1Z2luZm9kIiA9IHh5ZXM7IHRoZW4K KyAgICAgICAgYXNfZm5fZXJyb3IgJD8gIlwiLS13aXRoLWRlYnVnaW5mb2Qg d2FzIGdpdmVuLCBidXQgbGliZGVidWdpbmZvZCBpcyBtaXNzaW5nIG9yIHVu dXNhYmxlLlwiIiAiJExJTkVOTyIgNQorICAgICAgZWxzZQorICAgICAgICB7 ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFdBUk5J Tkc6IGxpYmRlYnVnaW5mb2QgaXMgbWlzc2luZyBvciB1bnVzYWJsZTsgc29t ZSBmZWF0dXJlcyBtYXkgYmUgdW5hdmFpbGFibGUuIiA+JjUKKyRhc19lY2hv ICIkYXNfbWU6IFdBUk5JTkc6IGxpYmRlYnVnaW5mb2QgaXMgbWlzc2luZyBv ciB1bnVzYWJsZTsgc29tZSBmZWF0dXJlcyBtYXkgYmUgdW5hdmFpbGFibGUu IiA+JjI7fQorICAgICAgZmkKKyAgICBmaQorICBlbHNlCisgICAgaWYgdGVz dCAieCR3aXRoX2RlYnVnaW5mb2QiID0geHllczsgdGhlbgorICAgICAgYXNf Zm5fZXJyb3IgJD8gInBrZy1jb25maWcgbWlzc2luZyBvciB1bnVzYWJsZTsg Y2Fubm90IGZpbmQgbGliZGVidWdpbmZvZCIgIiRMSU5FTk8iIDUKKyAgICBl bHNlCisgICAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJ TkVOT306IFdBUk5JTkc6IHBrZy1jb25maWcgbWlzc2luZyBvciB1bnVzYWJs ZTsgY2Fubm90IGZpbmQgbGliZGVidWdpbmZvZCIgPiY1CiskYXNfZWNobyAi JGFzX21lOiBXQVJOSU5HOiBwa2ctY29uZmlnIG1pc3Npbmcgb3IgdW51c2Fi bGU7IGNhbm5vdCBmaW5kIGxpYmRlYnVnaW5mb2QiID4mMjt9CisgICAgZmkK KyAgZmkKK2Vsc2UKKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5v LSRMSU5FTk99OiBXQVJOSU5HOiBkZWJ1Z2luZm9kIHN1cHBvcnQgZGlzYWJs ZWQ7IHNvbWUgZmVhdHVyZXMgbWF5IGJlIHVuYXZhaWxhYmxlLiIgPiY1Cisk YXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiBkZWJ1Z2luZm9kIHN1cHBvcnQg ZGlzYWJsZWQ7IHNvbWUgZmVhdHVyZXMgbWF5IGJlIHVuYXZhaWxhYmxlLiIg PiYyO30KK2ZpCisKKyMgTGlidW53aW5kIHN1cHBvcnQgZm9yIGlhNjQuCiAK ICMgQ2hlY2sgd2hldGhlciAtLXdpdGgtbGlidW53aW5kLWlhNjQgd2FzIGdp dmVuLgogaWYgdGVzdCAiJHt3aXRoX2xpYnVud2luZF9pYTY0K3NldH0iID0g c2V0OyB0aGVuIDoKZGlmZiAtLWdpdCBhL2dkYi9jb25maWd1cmUuYWMgYi9n ZGIvY29uZmlndXJlLmFjCmluZGV4IDBjYTE2OTEwMWIuLmU5YjMxMzM5NDAg MTAwNjQ0Ci0tLSBhL2dkYi9jb25maWd1cmUuYWMKKysrIGIvZ2RiL2NvbmZp Z3VyZS5hYwpAQCAtMzIzLDggKzMyMyw0MCBAQCBjYXNlICRob3N0X29zIGlu CiAgICAgZW5hYmxlX2dkYnRrPW5vIDs7CiBlc2FjCiAKLSMgTGlidW53aW5k IHN1cHBvcnQgZm9yIGlhNjQuCisjIEhhbmRsZSBvcHRpb25hbCBkZWJ1Z2lu Zm9kIHN1cHBvcnQKK0FDX0FSR19XSVRIKFtkZWJ1Z2luZm9kXSwKKyAgQUNf SEVMUF9TVFJJTkcoWy0td2l0aC1kZWJ1Z2luZm9kXSwgW0VuYWJsZSBkZWJ1 Z2luZm8gbG9va3VwcyB3aXRoIGRlYnVnaW5mb2QgKGF1dG8veWVzL25vKV0p LAorICBbXSwgW3dpdGhfZGVidWdpbmZvZD1hdXRvXSkKK0FDX01TR19DSEVD S0lORyhbd2hldGhlciB0byB1c2UgZGVidWdpbmZvZF0pCitBQ19NU0dfUkVT VUxUKFskd2l0aF9kZWJ1Z2luZm9kXSkKKworaWYgdGVzdCAieCR3aXRoX2Rl YnVnaW5mb2QiICE9IHhubzsgdGhlbgorICBBQ19QQVRIX1BST0cocGtnX2Nv bmZpZ19wcm9nX3BhdGgsIHBrZy1jb25maWcsIG1pc3NpbmcpCisgIGlmIHRl c3QgIiR7cGtnX2NvbmZpZ19wcm9nX3BhdGh9IiAhPSAibWlzc2luZyI7IHRo ZW4KKyAgICAke3BrZ19jb25maWdfcHJvZ19wYXRofSAtLWV4aXN0cyAtLWF0 bGVhc3QtdmVyc2lvbj0wLjE3OCBsaWJkZWJ1Z2luZm9kCisgICAgaWYgdGVz dCAkPyA9IDA7IHRoZW4KKyAgICAgIEFDX1NVQlNUKFtERUJVR0lORk9EX0xJ QlNdLCBbYCR7cGtnX2NvbmZpZ19wcm9nX3BhdGh9IC0tbGlicyBsaWJkZWJ1 Z2luZm9kYF0pCisgICAgICBBQ19TVUJTVChbREVCVUdJTkZPRF9DRkxBR1Nd LCBbYCR7cGtnX2NvbmZpZ19wcm9nX3BhdGh9IC0tY2ZsYWdzIGxpYmRlYnVn aW5mb2RgXSkKKyAgICAgIEFDX0RFRklORShbSEFWRV9MSUJERUJVR0lORk9E XSwgWzFdLCBbRGVmaW5lIHRvIDEgaWYgZGVidWdpbmZvZCBpcyBlbmFibGVk Ll0pCisgICAgZWxzZQorICAgICAgaWYgdGVzdCAieCR3aXRoX2RlYnVnaW5m b2QiID0geHllczsgdGhlbgorICAgICAgICBBQ19NU0dfRVJST1IoWyItLXdp dGgtZGVidWdpbmZvZCB3YXMgZ2l2ZW4sIGJ1dCBsaWJkZWJ1Z2luZm9kIGlz IG1pc3Npbmcgb3IgdW51c2FibGUuIl0pCisgICAgICBlbHNlCisgICAgICAg IEFDX01TR19XQVJOKFtsaWJkZWJ1Z2luZm9kIGlzIG1pc3Npbmcgb3IgdW51 c2FibGU7IHNvbWUgZmVhdHVyZXMgbWF5IGJlIHVuYXZhaWxhYmxlLl0pCisg ICAgICBmaQorICAgIGZpCisgIGVsc2UKKyAgICBpZiB0ZXN0ICJ4JHdpdGhf ZGVidWdpbmZvZCIgPSB4eWVzOyB0aGVuCisgICAgICBBQ19NU0dfRVJST1Io Wy0td2l0aC1kZWJ1Z2luZm9kIHdhcyBnaXZlbiwgYnV0IHBrZy1jb25maWcg bWlzc2luZyBvciB1bnVzYWJsZTsgY2Fubm90IGZpbmQgbGliZGVidWdpbmZv ZF0pCisgICAgZWxzZQorICAgICAgQUNfTVNHX1dBUk4oW3BrZy1jb25maWcg bWlzc2luZyBvciB1bnVzYWJsZTsgZGVidWdpbmZvZCBzdXBwb3J0IGRpc2Fi bGVkLl0pCisgICAgZmkKKyAgZmkKK2Vsc2UKKyAgQUNfTVNHX1dBUk4oW2Rl YnVnaW5mb2Qgc3VwcG9ydCBkaXNhYmxlZDsgc29tZSBmZWF0dXJlcyBtYXkg YmUgdW5hdmFpbGFibGUuXSkKK2ZpCiAKKyMgTGlidW53aW5kIHN1cHBvcnQg Zm9yIGlhNjQuCiBBQ19BUkdfV0lUSChsaWJ1bndpbmQtaWE2NCwKIEFTX0hF TFBfU1RSSU5HKFstLXdpdGgtbGlidW53aW5kLWlhNjRdLAogCSAgICAgICBb dXNlIGxpYnVud2luZCBmcmFtZSB1bndpbmRpbmcgZm9yIGlhNjQgdGFyZ2V0 c10pLCwKZGlmZiAtLWdpdCBhL2dkYi9kZWJ1Z2luZm9kLXN1cHBvcnQuYyBi L2dkYi9kZWJ1Z2luZm9kLXN1cHBvcnQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwLi4wNGI1NWNhMWQ1Ci0tLSAvZGV2L251bGwK KysrIGIvZ2RiL2RlYnVnaW5mb2Qtc3VwcG9ydC5jCkBAIC0wLDAgKzEsMTAy IEBACisvKiBkZWJ1Z2luZm9kIHV0aWxpdGllcyBmb3IgR0RCLgorICAgQ29w eXJpZ2h0IChDKSAyMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LgorCisgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHREIuCisKKyAgIFRoaXMg cHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0 ZSBpdCBhbmQvb3IgbW9kaWZ5CisgICBpdCB1bmRlciB0aGUgdGVybXMgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi eQorICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZl cnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKyAgIChhdCB5b3VyIG9wdGlv bikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgIFRoaXMgcHJvZ3JhbSBpcyBk aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs LAorICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g dGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAgIE1FUkNIQU5UQUJJTElUWSBv ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUK KyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp bHMuCisKKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICBhbG9uZyB3aXRo IHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5v cmcvbGljZW5zZXMvPi4gICovCisKKyNpbmNsdWRlIDxlcnJuby5oPgorI2lu Y2x1ZGUgImRlZnMuaCIKKyNpbmNsdWRlICJkZWJ1Z2luZm9kLXN1cHBvcnQu aCIKKworI2lmbmRlZiBIQVZFX0xJQkRFQlVHSU5GT0QKK2ludAorZGVidWdp bmZvZF9zb3VyY2VfcXVlcnkgKGNvbnN0IHVuc2lnbmVkIGNoYXIgKmJ1aWxk X2lkIF9fYXR0cmlidXRlX18oKHVudXNlZCkpLAorICAgICAgICAgICAgICAg ICAgICAgICAgIGludCBidWlsZF9pZF9sZW4gX19hdHRyaWJ1dGVfXygodW51 c2VkKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAq c3JjcGF0aCBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSwKKyAgICAgICAgICAg ICAgICAgICAgICAgICBjaGFyICoqZmlsZW5hbWUgX19hdHRyaWJ1dGVfXygo dW51c2VkKSkpCit7CisgIHJldHVybiAtRU5PU1lTOworfQorCitpbnQKK2Rl YnVnaW5mb2RfZGVidWdpbmZvX3F1ZXJ5IChjb25zdCB1bnNpZ25lZCBjaGFy ICpidWlsZF9pZCBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICBpbnQgYnVpbGRfaWRfbGVuIF9fYXR0cmli dXRlX18oKHVudXNlZCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg IGNoYXIgKipmaWxlbmFtZSBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSkKK3sK KyAgcmV0dXJuIC1FTk9TWVM7Cit9CisjZWxzZQorI2luY2x1ZGUgPGVsZnV0 aWxzL2RlYnVnaW5mb2QuaD4KKworc3RhdGljIGludAorcHJvZ3Jlc3NmbiAo ZGVidWdpbmZvZF9jbGllbnQgKmMsCisgICAgICAgICAgICAgbG9uZyBhIF9f YXR0cmlidXRlX18oKHVudXNlZCkpLAorICAgICAgICAgICAgIGxvbmcgYiBf X2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSkKK3sKKyAgcmV0dXJuIGNoZWNrX3F1 aXRfZmxhZyAoKTsKK30KKworc3RhdGljIGRlYnVnaW5mb2RfY2xpZW50ICoK K2RlYnVnaW5mb2RfaW5pdCAoKQoreworICBkZWJ1Z2luZm9kX2NsaWVudCAq YyA9IGRlYnVnaW5mb2RfYmVnaW4gKCk7CisKKyAgaWYgKGMgIT0gbnVsbHB0 cikKKyAgICBkZWJ1Z2luZm9kX3NldF9wcm9ncmVzc2ZuIChjLCBwcm9ncmVz c2ZuKTsKKworICByZXR1cm4gYzsKK30KKworLyogU2VlIGRlYnVnaW5mb2Qt c3VwcG9ydC5oICAqLworCitpbnQKK2RlYnVnaW5mb2Rfc291cmNlX3F1ZXJ5 IChjb25zdCB1bnNpZ25lZCBjaGFyICpidWlsZF9pZCwKKyAgICAgICAgICAg ICAgICAgICAgICAgICBpbnQgYnVpbGRfaWRfbGVuLAorICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnNyY3BhdGgsCisgICAgICAgICAg ICAgICAgICAgICAgICAgY2hhciAqKmZpbGVuYW1lKQoreworICBkZWJ1Z2lu Zm9kX2NsaWVudCAqYyA9IGRlYnVnaW5mb2RfaW5pdCAoKTsKKworICBpZiAo YyA9PSBudWxscHRyKQorICAgIHJldHVybiAtRU5PTUVNOworCisgIGludCBm ZCA9IGRlYnVnaW5mb2RfZmluZF9zb3VyY2UgKGMsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkX2lkLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBidWlsZF9pZF9sZW4sCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyY3BhdGgsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVuYW1lKTsKKyAgZGVi dWdpbmZvZF9lbmQgKGMpOworCisgIHJldHVybiBmZDsKK30KKworLyogU2Vl IGRlYnVnaW5mb2Qtc3VwcG9ydC5oICAqLworCitpbnQKK2RlYnVnaW5mb2Rf ZGVidWdpbmZvX3F1ZXJ5IChjb25zdCB1bnNpZ25lZCBjaGFyICpidWlsZF9p ZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYnVpbGRfaWRf bGVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKipmaWxl bmFtZSkKK3sKKyAgZGVidWdpbmZvZF9jbGllbnQgKmMgPSBkZWJ1Z2luZm9k X2luaXQgKCk7CisKKyAgaWYgKGMgPT0gbnVsbHB0cikKKyAgICByZXR1cm4g LUVOT01FTTsKKworICBpbnQgZmQgPSBkZWJ1Z2luZm9kX2ZpbmRfZGVidWdp bmZvIChjLCBidWlsZF9pZCwgYnVpbGRfaWRfbGVuLCBmaWxlbmFtZSk7Cisg IGRlYnVnaW5mb2RfZW5kIChjKTsKKworICByZXR1cm4gZmQ7Cit9CisjZW5k aWYKZGlmZiAtLWdpdCBhL2dkYi9kZWJ1Z2luZm9kLXN1cHBvcnQuaCBiL2dk Yi9kZWJ1Z2luZm9kLXN1cHBvcnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAwLi5lM2ZkZWI0NTI2Ci0tLSAvZGV2L251bGwKKysr IGIvZ2RiL2RlYnVnaW5mb2Qtc3VwcG9ydC5oCkBAIC0wLDAgKzEsNDMgQEAK Ky8qIGRlYnVnaW5mb2QgdXRpbGl0aWVzIGZvciBHREIuCisgICBDb3B5cmln aHQgKEMpIDIwMjAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisK KyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdEQi4KKworICAgVGhpcyBwcm9n cmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vciBtb2RpZnkKKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Cisg ICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lv biAzIG9mIHRoZSBMaWNlbnNlLCBvcgorICAgKGF0IHlvdXIgb3B0aW9uKSBh bnkgbGF0ZXIgdmVyc2lvbi4KKworICAgVGhpcyBwcm9ncmFtIGlzIGRpc3Ry aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisg ICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg aW1wbGllZCB3YXJyYW50eSBvZgorICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICAg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K KworICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgIGFsb25nIHdpdGggdGhp cyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9s aWNlbnNlcy8+LiAgKi8KKworI2lmbmRlZiBERUJVR0lORk9EX1NVUFBPUlRf SAorI2RlZmluZSBERUJVR0lORk9EX1NVUFBPUlRfSAorCisvKiBRdWVyeSBk ZWJ1Z2luZm9kIHNlcnZlcnMgZm9yIGEgc291cmNlIGZpbGUgYXNzb2NpYXRl ZCB3aXRoIGFuCisgICBhbiBleGVjdXRhYmxlIHdpdGggYnVpbGRfaWQuIHNy Y19wYXRoIHNob3VsZCBiZSB0aGUgc291cmNlCisgICBmaWxlJ3MgYWJzb2x1 dGUgcGF0aCB0aGF0IGluY2x1ZGVzIHRoZSBjb21waWxhdGlvbiBkaXJlY3Rv cnkgb2YKKyAgIHRoZSBDVSBhc3NvY2lhdGVkIHdpdGggdGhlIHNvdXJjZSBm aWxlLiBJZiB0aGUgZmlsZSBpcworICAgc3VjY2Vzc2Z1bGx5IHJldHJpZXZl ZCwgaXRzIHBhdGggb24gdGhlIGxvY2FsIG1hY2hpbmUgaXMgc3RvcmVkCisg ICBhdCBmaWxlbmFtZS4gVGhlIGNhbGxlciBzaG91bGQgZnJlZSgpIHRoaXMg dmFsdWUuIElmIEdEQiBpcyBub3QKKyAgIGJ1aWx0IHdpdGggZGVidWdpbmZv ZCwgdGhpcyBmdW5jdGlvbiByZXR1cm5zIC1FTk9TWVMuICAqLworCitleHRl cm4gaW50IGRlYnVnaW5mb2Rfc291cmNlX3F1ZXJ5IChjb25zdCB1bnNpZ25l ZCBjaGFyICpidWlsZF9pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGludCBidWlsZF9pZF9sZW4sCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpzcmNfcGF0aCwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKipmaWxl bmFtZSk7CisKKy8qIFF1ZXJ5IGRlYnVnaW5mb2Qgc2VydmVycyBmb3IgYSBk ZWJ1Z2luZm8gZmlsZSB3aXRoIGJ1aWxkX2lkLiBJZiB0aGUKKyAgIGZpbGUg aXMgc3VjY2Vzc2Z1bGx5IHJldHJpZXZlZCwgaXRzIHBhdGggb24gdGhlIGxv Y2FsIG1hY2hpbmUgaXMKKyAgIHN0b3JlZCBhdCBmaWxlbmFtZS4gVGhlIGNh bGxlciBzaG91bGQgZnJlZSgpIHRoaXMgdmFsdWUuIElmIEdEQgorICAgaXMg bm90IGJ1aWx0IHdpdGggZGVidWdpbmZvZCwgdGhpcyBmdW5jdGlvbiByZXR1 cm5zIC1FTk9TWVMuICAqLworCitleHRlcm4gaW50IGRlYnVnaW5mb2RfZGVi dWdpbmZvX3F1ZXJ5IChjb25zdCB1bnNpZ25lZCBjaGFyICpidWlsZF9pZCwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBi dWlsZF9pZF9sZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjaGFyICoqZmlsZW5hbWUpOworI2VuZGlmIC8qIERFQlVHSU5G T0RfU1VQUE9SVF9IICovCmRpZmYgLS1naXQgYS9nZGIvZG9jL2dkYi50ZXhp bmZvIGIvZ2RiL2RvYy9nZGIudGV4aW5mbwppbmRleCBhMjg2NmEyODMzLi45 ZDI5MjJiZTM0IDEwMDY0NAotLS0gYS9nZGIvZG9jL2dkYi50ZXhpbmZvCisr KyBiL2dkYi9kb2MvZ2RiLnRleGluZm8KQEAgLTM3Nzk0LDYgKzM3Nzk0LDE0 IEBAIHN1cHBvcnRlZCkuCiBVc2UgdGhlIGN1cnNlcyBsaWJyYXJ5IGluc3Rl YWQgb2YgdGhlIHRlcm1jYXAgbGlicmFyeSwgZm9yIHRleHQtbW9kZQogdGVy bWluYWwgb3BlcmF0aW9ucy4KIAorQGl0ZW0gLS13aXRoLWRlYnVnaW5mb2QK K0J1aWxkIEB2YWx1ZXtHREJOfSB3aXRoIGxpYmRlYnVnaW5mb2QsIHRoZSBk ZWJ1Z2luZm9kIGNsaWVudCBsaWJyYXJ5LgorVXNlZCB0byBhdXRvbWF0aWNh bGx5IGZldGNoIHNvdXJjZSBmaWxlcyBhbmQgc2VwYXJhdGUgZGVidWcgZmls ZXMgZnJvbQorZGVidWdpbmZvZCBzZXJ2ZXJzIHVzaW5nIHRoZSBhc3NvY2lh dGVkIGV4ZWN1dGFibGUncyBidWlsZCBJRC4gRW5hYmxlZAorYnkgZGVmYXVs dCBpZiBsaWJkZWJ1Z2luZm9kIGlzIGluc3RhbGxlZCBhbmQgZm91bmQgYXQg Y29uZmlndXJlIHRpbWUuCitkZWJ1Z2luZm9kIGlzIHBhY2thZ2VkIHdpdGgg ZWxmdXRpbHMsIHN0YXJ0aW5nIHdpdGggdmVyc2lvbiAwLjE3OC4gWW91Citj YW4gZ2V0IHRoZSBsYXRlc3QgdmVyc2lvbiBmcm9tIGBodHRwczovL3NvdXJj ZXdhcmUub3JnL2VsZnV0aWxzLycuCisKIEBpdGVtIC0td2l0aC1saWJ1bndp bmQtaWE2NAogVXNlIHRoZSBsaWJ1bndpbmQgbGlicmFyeSBmb3IgdW53aW5k aW5nIGZ1bmN0aW9uIGNhbGwgc3RhY2sgb24gaWE2NAogdGFyZ2V0IHBsYXRm b3Jtcy4gIFNlZSBodHRwOi8vd3d3Lm5vbmdudS5vcmcvbGlidW53aW5kL2lu ZGV4Lmh0bWwgZm9yCmRpZmYgLS1naXQgYS9nZGIvZHdhcmYycmVhZC5jIGIv Z2RiL2R3YXJmMnJlYWQuYwppbmRleCBkYWZlMDFkOTRhLi40MTIxNzg5NTcx IDEwMDY0NAotLS0gYS9nZGIvZHdhcmYycmVhZC5jCisrKyBiL2dkYi9kd2Fy ZjJyZWFkLmMKQEAgLTc3LDYgKzc3LDkgQEAKICNpbmNsdWRlICJnZGJzdXBw b3J0L3NlbGZ0ZXN0LmgiCiAjaW5jbHVkZSAicnVzdC1sYW5nLmgiCiAjaW5j bHVkZSAiZ2Ric3VwcG9ydC9wYXRoc3R1ZmYuaCIKKyNpZiBIQVZFX0xJQkRF QlVHSU5GT0QKKyNpbmNsdWRlICJkZWJ1Z2luZm9kLXN1cHBvcnQuaCIKKyNl bmRpZgogCiAvKiBXaGVuID09IDEsIHByaW50IGJhc2ljIGhpZ2ggbGV2ZWwg dHJhY2luZyBtZXNzYWdlcy4KICAgIFdoZW4gPiAxLCBiZSBtb3JlIHZlcmJv c2UuCkBAIC0yNzQ2LDYgKzI3NDksMjggQEAgZHdhcmYyX2dldF9kd3pfZmls ZSAoc3RydWN0IGR3YXJmMl9wZXJfb2JqZmlsZSAqZHdhcmYyX3Blcl9vYmpm aWxlKQogICBpZiAoZHd6X2JmZCA9PSBOVUxMKQogICAgIGR3el9iZmQgPSBi dWlsZF9pZF90b19kZWJ1Z19iZmQgKGJ1aWxkaWRfbGVuLCBidWlsZGlkKTsK IAorI2lmIEhBVkVfTElCREVCVUdJTkZPRAorICBpZiAoZHd6X2JmZCA9PSBu dWxscHRyKQorICAgIHsKKyAgICAgIGNoYXIgKmFsdF9maWxlbmFtZTsKKyAg ICAgIHNjb3BlZF9mZCBmZCAoZGVidWdpbmZvZF9kZWJ1Z2luZm9fcXVlcnkg KGJ1aWxkaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBidWlsZGlkX2xlbiwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZhbHRfZmlsZW5hbWUp KTsKKworICAgICAgaWYgKGZkLmdldCAoKSA+PSAwKQorICAgICAgICB7Cisg ICAgICAgICAgLyogRmlsZSBzdWNjZXNzZnVsbHkgcmV0cmlldmVkIGZyb20g c2VydmVyLiAgKi8KKyAgICAgICAgICBkd3pfYmZkID0gZ2RiX2JmZF9vcGVu IChhbHRfZmlsZW5hbWUsIGdudXRhcmdldCwgLTEpOworCisgICAgICAgICAg aWYgKGR3el9iZmQgIT0gbnVsbHB0cgorICAgICAgICAgICAgICAmJiAhYnVp bGRfaWRfdmVyaWZ5IChkd3pfYmZkLmdldCAoKSwgYnVpbGRpZF9sZW4sIGJ1 aWxkaWQpKQorICAgICAgICAgICAgZHd6X2JmZC5yZXNldCAobnVsbHB0cik7 CisKKyAgICAgICAgICB4ZnJlZSAoYWx0X2ZpbGVuYW1lKTsKKyAgICAgICAg fQorICAgIH0KKyNlbmRpZiAvKiBIQVZFX0xJQkRFQlVHSU5GT0QgKi8KKwog ICBpZiAoZHd6X2JmZCA9PSBOVUxMKQogICAgIGVycm9yIChfKCJjb3VsZCBu b3QgZmluZCAnLmdudV9kZWJ1Z2FsdGxpbmsnIGZpbGUgZm9yICVzIiksCiAJ ICAgb2JqZmlsZV9uYW1lIChkd2FyZjJfcGVyX29iamZpbGUtPm9iamZpbGUp KTsKZGlmZiAtLWdpdCBhL2dkYi9lbGZyZWFkLmMgYi9nZGIvZWxmcmVhZC5j CmluZGV4IDQ1M2JjYTUyN2UuLjg0NDk2MjU4ZGYgMTAwNjQ0Ci0tLSBhL2dk Yi9lbGZyZWFkLmMKKysrIGIvZ2RiL2VsZnJlYWQuYwpAQCAtNDksNiArNDks MTAgQEAKICNpbmNsdWRlICJtZGVidWdyZWFkLmgiCiAjaW5jbHVkZSAiY3Rm cmVhZC5oIgogI2luY2x1ZGUgImdkYnN1cHBvcnQvZ2RiX3N0cmluZ192aWV3 LmgiCisjaW5jbHVkZSAiZ2Ric3VwcG9ydC9zY29wZWRfZmQuaCIKKyNpZiBI QVZFX0xJQkRFQlVHSU5GT0QKKyNpbmNsdWRlICJkZWJ1Z2luZm9kLXN1cHBv cnQuaCIKKyNlbmRpZgogCiAvKiBGb3J3YXJkIGRlY2xhcmF0aW9ucy4gICov CiBleHRlcm4gY29uc3Qgc3RydWN0IHN5bV9mbnMgZWxmX3N5bV9mbnNfZ2Ri X2luZGV4OwpAQCAtMTMxNiw4ICsxMzIwLDMzIEBAIGVsZl9zeW1maWxlX3Jl YWQgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLCBzeW1maWxlX2FkZF9mbGFn cyBzeW1maWxlX2ZsYWdzKQogCSAgc3ltYm9sX2ZpbGVfYWRkX3NlcGFyYXRl IChkZWJ1Z19iZmQuZ2V0ICgpLCBkZWJ1Z2ZpbGUuY19zdHIgKCksCiAJCQkJ ICAgIHN5bWZpbGVfZmxhZ3MsIG9iamZpbGUpOwogCX0KLQllbHNlCi0JICBo YXNfZHdhcmYyID0gZmFsc2U7CisgICAgICBlbHNlCisgICAgICAgIHsKKyAg ICAgICAgICBoYXNfZHdhcmYyID0gZmFsc2U7CisKKyNpZiBIQVZFX0xJQkRF QlVHSU5GT0QKKyAgICAgICAgICBjb25zdCBzdHJ1Y3QgYmZkX2J1aWxkX2lk ICpidWlsZF9pZCA9IGJ1aWxkX2lkX2JmZF9nZXQgKG9iamZpbGUtPm9iZmQp OworCisgICAgICAgICAgaWYgKGJ1aWxkX2lkICE9IG51bGxwdHIpCisgICAg ICAgICAgICB7CisgICAgICAgICAgICAgIGNoYXIgKnN5bWZpbGVfcGF0aDsK KyAgICAgICAgICAgICAgc2NvcGVkX2ZkIGZkIChkZWJ1Z2luZm9kX2RlYnVn aW5mb19xdWVyeSAoYnVpbGRfaWQtPmRhdGEsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1aWxk X2lkLT5zaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAmc3ltZmlsZV9wYXRoKSk7CisKKyAg ICAgICAgICAgICAgaWYgKGZkLmdldCAoKSA+PSAwKQorICAgICAgICAgICAg ICAgIHsKKyAgICAgICAgICAgICAgICAgIC8qIEZpbGUgc3VjY2Vzc2Z1bGx5 IHJldHJpZXZlZCBmcm9tIHNlcnZlci4gICovCisgICAgICAgICAgICAgICAg ICBnZGJfYmZkX3JlZl9wdHIgZGVidWdfYmZkIChzeW1maWxlX2JmZF9vcGVu IChzeW1maWxlX3BhdGgpKTsKKworICAgICAgICAgICAgICAgICAgc3ltYm9s X2ZpbGVfYWRkX3NlcGFyYXRlIChkZWJ1Z19iZmQuZ2V0ICgpLCBzeW1maWxl X3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHN5bWZpbGVfZmxhZ3MsIG9iamZpbGUpOworICAgICAgICAgICAg ICAgICAgeGZyZWUgKHN5bWZpbGVfcGF0aCk7CisgICAgICAgICAgICAgICAg ICBoYXNfZHdhcmYyID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICB9CisgICAg ICAgICAgICB9CisjZW5kaWYgLyogSEFWRV9MSUJERUJVR0lORk9EICovCisg ICAgICAgIH0KICAgICB9CiAKICAgLyogUmVhZCB0aGUgQ1RGIHNlY3Rpb24g b25seSBpZiB0aGVyZSBpcyBubyBEV0FSRiBpbmZvLiAgKi8KZGlmZiAtLWdp dCBhL2dkYi9zb3VyY2UuYyBiL2dkYi9zb3VyY2UuYwppbmRleCAzMjdlOWMx MjI5Li4wNTEzY2U2NjU1IDEwMDY0NAotLS0gYS9nZGIvc291cmNlLmMKKysr IGIvZ2RiL3NvdXJjZS5jCkBAIC00OCw2ICs0OCwxMCBAQAogI2luY2x1ZGUg InNvdXJjZS1jYWNoZS5oIgogI2luY2x1ZGUgImNsaS9jbGktc3R5bGUuaCIK ICNpbmNsdWRlICJvYnNlcnZhYmxlLmgiCisjaW5jbHVkZSAiYnVpbGQtaWQu aCIKKyNpZmRlZiBIQVZFX0xJQkRFQlVHSU5GT0QKKyNpbmNsdWRlICJkZWJ1 Z2luZm9kLXN1cHBvcnQuaCIKKyNlbmRpZgogCiAjZGVmaW5lIE9QRU5fTU9E RSAoT19SRE9OTFkgfCBPX0JJTkFSWSkKICNkZWZpbmUgRkRPUEVOX01PREUg Rk9QRU5fUkIKQEAgLTExNTMsNiArMTE1Nyw0NiBAQCBvcGVuX3NvdXJjZV9m aWxlIChzdHJ1Y3Qgc3ltdGFiICpzKQogICBzLT5mdWxsbmFtZSA9IE5VTEw7 CiAgIHNjb3BlZF9mZCBmZCA9IGZpbmRfYW5kX29wZW5fc291cmNlIChzLT5m aWxlbmFtZSwgU1lNVEFCX0RJUk5BTUUgKHMpLAogCQkJCSAgICAgICAmZnVs bG5hbWUpOworCisjaWYgSEFWRV9MSUJERUJVR0lORk9ECisgIGlmIChmZC5n ZXQgKCkgPCAwKQorICAgIHsKKyAgICAgIGlmIChTWU1UQUJfQ09NUFVOSVQg KHMpICE9IG51bGxwdHIpCisgICAgICAgIHsKKyAgICAgICAgICBjb25zdCBv YmpmaWxlICpvZnAgPSBDT01QVU5JVF9PQkpGSUxFIChTWU1UQUJfQ09NUFVO SVQgKHMpKTsKKworICAgICAgICAgIHN0ZDo6c3RyaW5nIHNyY3BhdGg7Cisg ICAgICAgICAgaWYgKElTX0RJUl9TRVBBUkFUT1IgKHMtPmZpbGVuYW1lWzBd KSkKKyAgICAgICAgICAgIHNyY3BhdGggPSBzLT5maWxlbmFtZTsKKyAgICAg ICAgICBlbHNlCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgIHNyY3Bh dGggPSBTWU1UQUJfRElSTkFNRSAocyk7CisgICAgICAgICAgICAgIHNyY3Bh dGggKz0gU0xBU0hfU1RSSU5HOworICAgICAgICAgICAgICBzcmNwYXRoICs9 IHMtPmZpbGVuYW1lOworICAgICAgICAgICAgfQorCisgICAgICAgICAgY29u c3Qgc3RydWN0IGJmZF9idWlsZF9pZCAqYnVpbGRfaWQgPSBidWlsZF9pZF9i ZmRfZ2V0IChvZnAtPm9iZmQpOworCisgICAgICAgICAgaWYgKGJ1aWxkX2lk ICE9IG51bGxwdHIpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgIC8q IFF1ZXJ5IGRlYnVnaW5mb2QgZm9yIHRoZSBzb3VyY2UgZmlsZS4gICovCisg ICAgICAgICAgICAgIGNoYXIgKmZpbGVuYW1lOworICAgICAgICAgICAgICBz Y29wZWRfZmQgc3JjX2ZkIChkZWJ1Z2luZm9kX3NvdXJjZV9xdWVyeSAoYnVp bGRfaWQtPmRhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBidWlsZF9pZC0+c2l6ZSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHNyY3BhdGguY19zdHIgKCksCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZmls ZW5hbWUpKTsKKworICAgICAgICAgICAgICBpZiAoc3JjX2ZkLmdldCAoKSA+ PSAwKQorICAgICAgICAgICAgICAgIGZ1bGxuYW1lLnJlc2V0IChmaWxlbmFt ZSk7CisKKyAgICAgICAgICAgICAgcy0+ZnVsbG5hbWUgPSBmdWxsbmFtZS5y ZWxlYXNlICgpOworICAgICAgICAgICAgICByZXR1cm4gc3JjX2ZkOworCisg ICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisjZW5kaWYgLyogSEFW RV9MSUJERUJVR0lORk9EICovCisKICAgcy0+ZnVsbG5hbWUgPSBmdWxsbmFt ZS5yZWxlYXNlICgpOwogICByZXR1cm4gZmQ7CiB9CmRpZmYgLS1naXQgYS9n ZGIvdGVzdHN1aXRlL2dkYi5kZWJ1Z2luZm9kL2ZldGNoX3NyY19hbmRfc3lt Ym9scy5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5kZWJ1Z2luZm9kL2ZldGNo X3NyY19hbmRfc3ltYm9scy5leHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwMC4uYTQwNDJhYzkzYQotLS0gL2Rldi9udWxsCisrKyBi L2dkYi90ZXN0c3VpdGUvZ2RiLmRlYnVnaW5mb2QvZmV0Y2hfc3JjX2FuZF9z eW1ib2xzLmV4cApAQCAtMCwwICsxLDIzMiBAQAorIyBDb3B5cmlnaHQgMjAy MCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKworIyBUaGlzIHBy b2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg aXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQor IyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lv biAzIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFu eSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJp YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMg YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt cGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIwor IyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZQorIyBhbG9uZyB3aXRoIHRoaXMgcHJv Z3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5z ZXMvPi4KKworIyB0ZXN0IGRlYnVnaW5mb2QgZnVuY3Rpb25hbGl0eQorCitz ZXQgdGVzdCAiZGVidWdpbmZvZCIKKworc3RhbmRhcmRfdGVzdGZpbGUgbWFp bi5jCisKK2xvYWRfbGliIGR3YXJmLmV4cAorCitpZiB7IFt3aGljaCBkZWJ1 Z2luZm9kXSA9PSAwIH0geworICAgIHVudGVzdGVkICIkdGVzdCAoY2Fubm90 IGZpbmQgZGVidWdpbmZvZCkiCisgICAgcmV0dXJuIC0xCit9CisKK2lmIHsg W3doaWNoIGN1cmxdID09IDAgfSB7CisgICAgdW50ZXN0ZWQgIiR0ZXN0IChj YW5ub3QgZmluZCBjdXJsKSIKKyAgICByZXR1cm4gLTEKK30KKworIyBza2lw IHRlc3RpbmcgaWYgZ2RiIHdhcyBub3QgY29uZmlndXJlZCB3aXRoIGRlYnVn aW5mb2QKK2lmIHsgW3N0cmluZyBmaXJzdCAid2l0aC1kZWJ1Z2luZm9kIiBb ZXhlYyAkR0RCIC0tY29uZmlndXJhdGlvbl1dID09IC0xIH0geworICAgIHVu dGVzdGVkICIkdGVzdCAoZ2RiIG5vdCBjb25maWd1cmVkIHdpdGggZGVidWdp bmZvZCkiCisgICAgcmV0dXJuIC0xCit9CisKK3NldCBjYWNoZSBbZmlsZSBq b2luIFtzdGFuZGFyZF9vdXRwdXRfZmlsZSB7fV0gIi5jbGllbnRfY2FjaGUi XQorc2V0IGRiIFtmaWxlIGpvaW4gW3N0YW5kYXJkX291dHB1dF9maWxlIHt9 XSAiLmRlYnVnaW5mb2QuZGIiXQorCisjIG1ha2Ugc3VyZSB0aGVyZSBpc24n dCBhbiBvbGQgY2xpZW50IGNhY2hlIG9yIGRiIGx5aW5nIGFyb3VuZAorZmls ZSBkZWxldGUgLWZvcmNlICRjYWNoZQorZmlsZSBkZWxldGUgLWZvcmNlICRk YgorCisjIG1ha2UgYSBjb3B5IHNvdXJjZSBmaWxlIHRoYXQgd2UgY2FuIG1v dmUgYXJvdW5kCitpZiB7IFtjYXRjaCB7ZmlsZSBjb3B5IC1mb3JjZSAke3Ny Y2Rpcn0vJHtzdWJkaXJ9LyR7c3JjZmlsZX0gXAorICAgICAgICAgICAgICBb c3RhbmRhcmRfb3V0cHV0X2ZpbGUgdG1wLSR7c3JjZmlsZX1dfV0gIT0gMCB9 IHsKKyAgICBlcnJvciAiJHRlc3QgKGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSki CisgICAgcmV0dXJuIC0xCit9CisKK3NldCBzb3VyY2V0bXAgW3N0YW5kYXJk X291dHB1dF9maWxlIHRtcC0ke3NyY2ZpbGV9XQorc2V0IG91dHB1dGRpciBb c3RhbmRhcmRfb3V0cHV0X2ZpbGUge31dCisKK2lmIHsgW2dkYl9jb21waWxl ICIkc291cmNldG1wIiAiJGJpbmZpbGUiIGV4ZWN1dGFibGUge2RlYnVnfV0g IT0gIiIgfSB7CisgICAgZmFpbCAiJHRlc3QgKGNvbXBpbGUpIgorICAgIHJl dHVybiAtMQorfQorCisjIEZpbmQgYW4gdW51c2VkIHBvcnQKK3NldCBwb3J0 IFtleGVjIHNoIC1jICJ3aGlsZSB0cnVlOyBkbyBQT1JUPWBleHByICcoJyBc JFJBTkRPTSAlIDEwMDAgJyknICsgOTAwMGA7IHNzIC1hdG4gfCBmZ3JlcCBc IjpcJFBPUlRcIiB8fCBicmVhazsgZG9uZTsgZWNobyBcJFBPUlQiXQorCitz ZXRlbnYgREVCVUdJTkZPRF9VUkxTICIiCitzZXRlbnYgREVCVUdJTkZPRF9U SU1FT1VUIDMwCitzZXRlbnYgREVCVUdJTkZPRF9DQUNIRV9QQVRIICRjYWNo ZQorCisjIHRlc3QgdGhhdCBnZGIgY2Fubm90IGZpbmQgc291cmNlIHdpdGhv dXQgZGVidWdpbmZvZAorZ2RiX3N0YXJ0CitnZGJfbG9hZCAkYmluZmlsZQor Z2RiX3Rlc3Rfbm9fb3V0cHV0ICJzZXQgc3Vic3RpdHV0ZS1wYXRoICRvdXRw dXRkaXIgL2Rldi9udWxsIgorZ2RiX3Rlc3QgImxpc3QiICIuKk5vIHN1Y2gg ZmlsZSBvciBkaXJlY3RvcnkuKiIKK2dkYl9leGl0CisKKyMgc3RyaXAgc3lt Ym9scyBpbnRvIHNlcGFyYXRlIGZpbGUgYW5kIG1vdmUgaXQgc28gZ2RiIGNh bm5vdCBmaW5kIGl0IHdpdGhvdXQgZGVidWdpbmZvZAoraWYgeyBbZ2RiX2du dV9zdHJpcF9kZWJ1ZyAkYmluZmlsZSAiIl0gIT0gMCB9IHsKKyAgICBmYWls ICIkdGVzdCAoc3RyaXAgZGVidWdpbmZvKSIKKyAgICByZXR1cm4gLTEKK30K Kworc2V0IGRlYnVnZGlyIFtmaWxlIGpvaW4gW3N0YW5kYXJkX291dHB1dF9m aWxlIHt9XSAiZGVidWciXQorc2V0IGRlYnVnaW5mbyBbZmlsZSBqb2luIFtz dGFuZGFyZF9vdXRwdXRfZmlsZSB7fV0gImZldGNoX3NyY19hbmRfc3ltYm9s cy5kZWJ1ZyJdCisKK2ZpbGUgbWtkaXIgJGRlYnVnZGlyCitmaWxlIHJlbmFt ZSAtZm9yY2UgJGRlYnVnaW5mbyAkZGVidWdkaXIKKworIyB0ZXN0IHRoYXQg Z2RiIGNhbm5vdCBmaW5kIHN5bWJvbHMgd2l0aG91dCBkZWJ1Z2luZm9kCitn ZGJfc3RhcnQKK2dkYl9sb2FkICRiaW5maWxlCitnZGJfdGVzdCAiZmlsZSIg Ii4qTm8gc3ltYm9sIGZpbGUuKiIKK2dkYl9leGl0CisKKyMgV3JpdGUgc29t ZSBhc3NlbWJseSB0aGF0IGp1c3QgaGFzIGEgLmdudV9kZWJ1Z2FsdGxpbmsg c2VjdGlvbi4KKyMgQ29waWVkIGZyb20gdGVzdHN1aXRlL2dkYi5kd2FyZjIv ZHd6YnVpbGRpZC5leHAuCitwcm9jIHdyaXRlX2p1c3RfZGVidWdhbHRsaW5r IHtmaWxlbmFtZSBkd3puYW1lIGJ1aWxkaWR9IHsKKyAgICBzZXQgYXNtX2Zp bGUgW3N0YW5kYXJkX291dHB1dF9maWxlICRmaWxlbmFtZV0KKworICAgIER3 YXJmOjphc3NlbWJsZSAkYXNtX2ZpbGUgeworICAgICAgICB1cHZhciBkd3pu YW1lIGR3em5hbWUKKyAgICAgICAgdXB2YXIgYnVpbGRpZCBidWlsZGlkCisK KyAgICAgICAgZ251X2RlYnVnYWx0bGluayAkZHd6bmFtZSAkYnVpbGRpZAor CisgICAgICAgICMgT25seSB0aGUgRFdBUkYgcmVhZGVyIGNoZWNrcyAuZ251 X2RlYnVnYWx0bGluaywgc28gbWFrZSBzdXJlCisgICAgICAgICMgdGhlcmUg aXMgYSBiaXQgb2YgRFdBUkYgaW4gaGVyZS4KKyAgICAgICAgY3Uge30gewor ICAgICAgICAgICAgY29tcGlsZV91bml0IHt7bGFuZ3VhZ2UgQERXX0xBTkdf Q319IHsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KK30KKwor IyBXcml0ZSBzb21lIERXQVJGIHRoYXQgYWxzbyBzZXRzIHRoZSBidWlsZGlk LgorIyBDb3BpZWQgZnJvbSB0ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kd3pidWls ZGlkLmV4cC4KK3Byb2Mgd3JpdGVfZHdhcmZfZmlsZSB7ZmlsZW5hbWUgYnVp bGRpZCB7dmFsdWUgOTl9fSB7CisgICAgc2V0IGFzbV9maWxlIFtzdGFuZGFy ZF9vdXRwdXRfZmlsZSAkZmlsZW5hbWVdCisKKyAgICBEd2FyZjo6YXNzZW1i bGUgJGFzbV9maWxlIHsKKyAgICAgICAgZGVjbGFyZV9sYWJlbHMgaW50X2xh YmVsIGludF9sYWJlbDIKKworICAgICAgICB1cHZhciBidWlsZGlkIGJ1aWxk aWQKKyAgICAgICAgdXB2YXIgdmFsdWUgdmFsdWUKKworICAgICAgICBidWls ZF9pZCAkYnVpbGRpZAorCisgICAgICAgIGN1IHt9IHsKKyAgICAgICAgICAg IGNvbXBpbGVfdW5pdCB7e2xhbmd1YWdlIEBEV19MQU5HX0N9fSB7CisgICAg ICAgICAgICAgICAgaW50X2xhYmVsMjogYmFzZV90eXBlIHsKKyAgICAgICAg ICAgICAgICAgICAge25hbWUgaW50fQorICAgICAgICAgICAgICAgICAgICB7 Ynl0ZV9zaXplIDQgc2RhdGF9CisgICAgICAgICAgICAgICAgICAgIHtlbmNv ZGluZyBARFdfQVRFX3NpZ25lZH0KKyAgICAgICAgICAgICAgICB9CisKKyAg ICAgICAgICAgICAgICBjb25zdGFudCB7CisgICAgICAgICAgICAgICAgICAg IHtuYW1lIHRoZV9pbnR9CisgICAgICAgICAgICAgICAgICAgIHt0eXBlIDok aW50X2xhYmVsMn0KKyAgICAgICAgICAgICAgICAgICAge2NvbnN0X3ZhbHVl ICR2YWx1ZSBkYXRhMX0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg ICB9CisgICAgICAgIH0KKyAgICB9Cit9CisKK3NldCBidWlsZGlkICIwMTIz NDU2Nzg5MGFiY2RlZjAxMjM0NTYiCisKK3dyaXRlX2p1c3RfZGVidWdhbHRs aW5rICR7YmluZmlsZX1faGFzX2FsdGxpbmsuUyAke2JpbmZpbGV9X2R3ei5v ICRidWlsZGlkCit3cml0ZV9kd2FyZl9maWxlICR7YmluZmlsZX1fZHd6LlMg JGJ1aWxkaWQKKworaWYge1tnZGJfY29tcGlsZSAke2JpbmZpbGV9X2hhc19h bHRsaW5rLlMgJHtiaW5maWxlfV9hbHQubyBvYmplY3Qgbm9kZWJ1Z10gIT0g IiJ9IHsKKyAgICBmYWlsICIkdGVzdCAoY29tcGlsZSBtYWluIHdpdGggYWx0 bGluaykiCisgICAgcmV0dXJuIC0xCit9CisKK2lmIHtbZ2RiX2NvbXBpbGUg JHtiaW5maWxlfV9kd3ouUyAke2JpbmZpbGV9X2R3ei5vIG9iamVjdCBub2Rl YnVnXSAhPSAiIn0geworICAgIGZhaWwgIiR0ZXN0IChjb21waWxlIGFsdGxp bmspIgorICAgIHJldHVybiAtMQorfQorCitmaWxlIHJlbmFtZSAtZm9yY2Ug JHtiaW5maWxlfV9kd3oubyAkZGVidWdkaXIKKworIyBUZXN0IHRoYXQgZ2Ri IGNhbm5vdCBmaW5kIGR3eiB3aXRob3V0IGRlYnVnaW5mb2QuCitnZGJfc3Rh cnQKK2dkYl90ZXN0ICJmaWxlICR7YmluZmlsZX1fYWx0Lm8iICIuKmNvdWxk IG5vdCBmaW5kICcuZ251X2RlYnVnYWx0bGluaycuKiIKK2dkYl9leGl0CisK K3NldCBkZWJ1Z2luZm9kX3BpZCAwCisKKyMgS2lsbCB0aGUgc2VydmVyIGlm IHdlIGFib3J0IGVhcmx5Citwcm9jIHNpZ2ludF9oYW5kbGVyIHt9IHsKKyAg ICBnbG9iYWwgZGVidWdpbmZvZF9waWQKKworICAgIGlmIHsgJGRlYnVnaW5m b2RfcGlkICE9IDAgfSB7CisgICAgICAgIGNhdGNoIHtleGVjIGtpbGwgLUlO VCAkZGVidWdpbmZvZF9waWR9CisgICAgfQorCisgICAgZXhpdAorfQorCit0 cmFwIHNpZ2ludF9oYW5kbGVyIElOVAorCisjIFN0YXJ0IHVwIGRlYnVnaW5m b2QKK3NldCBkZWJ1Z2luZm9kX3BpZCBbZXhlYyBkZWJ1Z2luZm9kIC1kICRk YiAtcCAkcG9ydCAtRiAkZGVidWdkaXIgMj4vZGV2L251bGwgJl0KKworaWYg eyAhJGRlYnVnaW5mb2RfcGlkIH0geworICAgIGZhaWwgIiR0ZXN0IChzZXJ2 ZXIgaW5pdCkiCisgICAgcmV0dXJuIC0xCit9CisKK3NldCBtZXRyaWNzIFts aXN0ICJyZWFkeSAxIiBcCisgICAgICAgICAgICAgInRocmVhZF93b3JrX3Rv dGFse3JvbGU9XCJ0cmF2ZXJzZVwifSAxIiBcCisgICAgICAgICAgICAgInRo cmVhZF93b3JrX3BlbmRpbmd7cm9sZT1cInNjYW5cIn0gMCIgXAorICAgICAg ICAgICAgICJ0aHJlYWRfYnVzeXtyb2xlPVwic2NhblwifSAwIl0KKworIyBD aGVjayBzZXJ2ZXIgbWV0cmljcyB0byBjb25maXJtIGluaXQgaGFzIGNvbXBs ZXRlZC4KK2ZvcmVhY2ggbSAkbWV0cmljcyB7CisgIHNldCB0aW1lbGltIDIw CisgIHdoaWxlIHsgJHRpbWVsaW0gIT0gMCB9IHsKKyAgICBzbGVlcCAwLjUK KyAgICBjYXRjaCB7ZXhlYyBjdXJsIC1zIGh0dHA6Ly8xMjcuMC4wLjE6JHBv cnQvbWV0cmljc30gZ290CisKKyAgICBpZiB7IFtyZWdleHAgJG0gJGdvdF0g fSB7CisgICAgICBicmVhaworICAgIH0KKworICAgIGluY3IgdGltZWxpbSAt MQorICB9CisKKyAgaWYgeyAkdGltZWxpbSA9PSAwIH0geworICAgIGZhaWwg IiR0ZXN0IChzZXJ2ZXIgaW5pdCB0aW1lb3V0KSIKKyAgICBjYXRjaCB7ZXhl YyBraWxsIC1JTlQgJGRlYnVnaW5mb2RfcGlkfQorICAgIHJldHVybiAtMQor ICB9Cit9CisKKyMgUG9pbnQgdGhlIGNsaWVudCB0byB0aGUgc2VydmVyCitz ZXRlbnYgREVCVUdJTkZPRF9VUkxTIGh0dHA6Ly8xMjcuMC4wLjE6JHBvcnQK KworIyBnZGIgc2hvdWxkIG5vdyBmaW5kIHRoZSBzeW1ib2wgYW5kIHNvdXJj ZSBmaWxlcworZ2RiX3N0YXJ0CitnZGJfbG9hZCAkYmluZmlsZQorZ2RiX3Rl c3Rfbm9fb3V0cHV0ICJzZXQgc3Vic3RpdHV0ZS1wYXRoICRvdXRwdXRkaXIg L2Rldi9udWxsIgorZ2RiX3Rlc3QgImJyIG1haW4iICJCcmVha3BvaW50IDEg YXQuKmZpbGUuKiIKK2dkYl90ZXN0ICJsIiAiLipUaGlzIHByb2dyYW0gaXMg ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUuKiIKK2dkYl9leGl0CisKKyMgZ2Ri IHNob3VsZCBub3cgZmluZCB0aGUgZGVidWdhbHRsaW5rIGZpbGUKK2dkYl9z dGFydAorZ2RiX3Rlc3QgImZpbGUgJHtiaW5maWxlfV9hbHQubyIgIi4qUmVh ZGluZyBzeW1ib2xzIGZyb20gJHtiaW5maWxlfV9hbHQub1wuXC5cLlxbXHJc blxdIgorZ2RiX2V4aXQKKworY2F0Y2gge2V4ZWMga2lsbCAtSU5UICRkZWJ1 Z2luZm9kX3BpZH0KZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmRl YnVnaW5mb2QvbWFpbi5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZGVidWdpbmZv ZC9tYWluLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MC4uNzNhYmFmNThiMQotLS0gL2Rldi9udWxsCisrKyBiL2dkYi90ZXN0c3Vp dGUvZ2RiLmRlYnVnaW5mb2QvbWFpbi5jCkBAIC0wLDAgKzEsMjUgQEAKKy8q IFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdn ZXIuCisKKyAgIENvcHlyaWdodCAyMDIwIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgorCisgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2Fy ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICAg aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAgIHRoZSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2Us IG9yCisgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgor CisgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgIGJ1dCBXSVRIT1VUIEFOWSBX QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m CisgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV TEFSIFBVUlBPU0UuICBTZWUgdGhlCisgICBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICBZb3Ugc2hvdWxkIGhh dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZQorICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3Qs IHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLworCisv KiBEdW1teSBtYWluIGZ1bmN0aW9uLiAgKi8KKworaW50CittYWluKCkKK3sK KyAgYXNtICgibWFpbl9sYWJlbDogLmdsb2JsIG1haW5fbGFiZWwiKTsKKyAg cmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9nZGIvdG9wLmMgYi9nZGIvdG9w LmMKaW5kZXggZjcwMmFmOWFjZC4uMWE5OGFlMTk4YyAxMDA2NDQKLS0tIGEv Z2RiL3RvcC5jCisrKyBiL2dkYi90b3AuYwpAQCAtMTUyOCw2ICsxNTI4LDE2 IEBAIFRoaXMgR0RCIHdhcyBjb25maWd1cmVkIGFzIGZvbGxvd3M6XG5cCiAi KSk7CiAjZW5kaWYKIAorI2lmIEhBVkVfTElCREVCVUdJTkZPRAorICBmcHJp bnRmX2ZpbHRlcmVkIChzdHJlYW0sIF8oIlwKKyAgICAgICAgICAgICAtLXdp dGgtZGVidWdpbmZvZFxuXAorIikpOworI2Vsc2UKKyAgIGZwcmludGZfZmls dGVyZWQgKHN0cmVhbSwgXygiXAorICAgICAgICAgICAgIC0td2l0aG91dC1k ZWJ1Z2luZm9kXG5cCisiKSk7CisjZW5kaWYKKwogI2lmIEhBVkVfR1VJTEUK ICAgZnByaW50Zl9maWx0ZXJlZCAoc3RyZWFtLCBfKCJcCiAgICAgICAgICAg ICAgLS13aXRoLWd1aWxlXG5cCi0tIAoyLjI0LjEKCg== --000000000000e2c76f059e01603e--