From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTP id 0C7C03857C50 for ; Thu, 2 Sep 2021 18:59:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 0C7C03857C50 Received: from mail-il1-f197.google.com (mail-il1-f197.google.com [209.85.166.197]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-212-V3pIamyMPXKapam8G3mO_g-1; Thu, 02 Sep 2021 14:59:19 -0400 X-MC-Unique: V3pIamyMPXKapam8G3mO_g-1 Received: by mail-il1-f197.google.com with SMTP id s15-20020a056e02216f00b002276040aa1dso1887174ilv.3 for ; Thu, 02 Sep 2021 11:59:18 -0700 (PDT) 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=2zkf9bZVxduLXht3HYJh8L7UkiQiZFCv0prY8QiGj9Q=; b=jnddSDabdI3uLWB4a2cUhdXW5LSq9X/TjO7d+cGX+WqnbKPvCKoyvrn5JG/QVRj/sw uicQsftPmmUC9jrB8coNE/qj8aqbdZaVbmICVme1qRA3bVj7er9pSOBUF4yQaweEiiHi CPuRdLA2H79kaC7JiEisBxK64lZk/vBz0H8xT3YXau9L0k6KyPjp0yjjFZUSTQkZx9eQ NZQMXz1Fsd6n5lfcPrXnsBHYZn1JbDAC5h2joroK+AjQWOYNbx7+nRb7HSX8ml2XjLlR NeZFeKJX60RP3AsJnnubF/3f050kaSa3S7r0zw+bpnY+MGsSYtXenjimiuLK6ApHXnM5 m9rw== X-Gm-Message-State: AOAM531x7vCWuw067qlhkBKj+DV78Ji5Dig/thNfSViMiHqEqaOyb9kM 3Nc0z69abMEWqPziZUoiJbOL7gu5dicYq0q/0k1N4S32cYKJrvEWvTfs7GY67UZ+4xOLjwc1wsv NApikgMzxBi0l4tOITwQTh5YkXBHEIdIB4ALBYaJIrA== X-Received: by 2002:a02:2a07:: with SMTP id w7mr4139892jaw.96.1630609158041; Thu, 02 Sep 2021 11:59:18 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxSYMtszy0rounnDx3kptjYwxXx8hC0qDYUW9cbp593T2XXHOAmQrqIUXC14dBVRMzUqqFeToLVA5I2ojnf4KU= X-Received: by 2002:a02:2a07:: with SMTP id w7mr4139881jaw.96.1630609157732; Thu, 02 Sep 2021 11:59:17 -0700 (PDT) MIME-Version: 1.0 References: <8608ab7d03f5ceda0f45a4175554e2185c48ab4d.camel@klomp.org> In-Reply-To: <8608ab7d03f5ceda0f45a4175554e2185c48ab4d.camel@klomp.org> From: Noah Sanci Date: Thu, 2 Sep 2021 14:59:06 -0400 Message-ID: Subject: Re: debuginfod: Fracture tests/run-debuginfod-find.sh into specific tests To: Mark Wielaard Cc: elfutils-devel@sourceware.org X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: multipart/mixed; boundary="0000000000009d74ca05cb07c756" X-Spam-Status: No, score=-10.7 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_BADIPHTTP, KAM_LOTSOFHASH, KAM_SHORT, NUMERIC_HTTP_ADDR, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SCC_5_SHORT_WORD_LINES, SPF_HELO_NONE, SPF_NONE, TXREP, WEIRD_PORT autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: elfutils-devel@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Elfutils-devel mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Sep 2021 18:59:26 -0000 --0000000000009d74ca05cb07c756 Content-Type: text/plain; charset="UTF-8" Hello, As for the rpm/Makefile.am stuff, I think that was a temporary fix for an odd error I got while testing. I just forgot to remove it and see if it would break again. It has been removed and makes now. As for the 'base' idea, I gave it some thought and believe this is the best solution and I have implemented it. > And then add a unique base to each get_port call (8000, 8100, 8200, > ...). We would to be careful to never assign the same unique range to > each test though. Which requires the programmer to check all other > tests. But maybe that isn't such a big deal? git grep ^get_port tests > would give you all the currently used port ranges... > > Ideas? > Agreed, implemented. The patch also includes x-forwarded -Noah Sanci --0000000000009d74ca05cb07c756 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-debuginfod-Fracture-tests-run-debuginfod-find.sh-int.patch" Content-Disposition: attachment; filename="0001-debuginfod-Fracture-tests-run-debuginfod-find.sh-int.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kt3aky8i0 RnJvbSAwNTgzZDk4ODM2Y2Q3NDkyZjg4NTc5ZTVhYTE1NDY5OTA2OWU5N2I4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOb2FoIFNhbmNpIDxuc2FuY2lAcmVkaGF0LmNvbT4KRGF0ZTog VHVlLCAxMCBBdWcgMjAyMSAxMToyMTozNSAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIGRlYnVnaW5m b2Q6IEZyYWN0dXJlIHRlc3RzL3J1bi1kZWJ1Z2luZm9kLWZpbmQuc2ggaW50bwogc3BlY2lmaWMg dGVzdHMKCnRlc3RzL3J1bi1kZWJ1Z2luZm9kLWZpbmQuc2ggd2FzIGEgbWFzc2l2ZSB0ZXN0IHNj cmlwdCB3aXRoIG1hbnkgYnJvYWRseQp2YXJ5aW5nIHRlc3RzLiBUaGlzIGNhdXNlZCB0aGUgdGVz dCBzY3JpcHQgdG8gZmFpbCB3aGVuIGFueSBudW1iZXIgb2YKdGhpbmdzIHdlbnQgd3JvbmcgYW5k IGJlY2F1c2Ugb2YgaXRzIGludGVydHdpbmVkIG5hdHVyZSwgZGV0ZWN0aW5nIHRoZQpzb3VyY2Ug b2YgYSBmYWlsdXJlIGNvdWxkIGJlIGRpZmZpY3VsdC4gVGhlIHNpemUgb2YgdGhlIHRlc3Qgc2Ny aXB0CmFsc28gbWVhbnQgbWFueSB1bnJlbGF0ZWQgdGVzdHMgd2VyZSBydW4gbWFraW5nIHRoZSB0 ZXN0aW5nIHByb2Nlc3MKdW5uZWNlc3NhcmlseSBsZW5ndGh5LgoKVGhpcyBwYXRjaCBmcmFjdHVy ZXMgdGVzdHMvcnVuLWRlYnVnaW5mb2QtZmluZC5zaCBpbnRvIHNtYWxsZXIsIG1vcmUKbWFuYWdl YWJsZSBpbmRpdmlkdWFsIHRlc3Qgc2NyaXB0IGZpbGVzLiBUaGlzIGVuc3VyZXMgdGhhdCB3aGVu IGZhaWx1cmUKb2NjdXJzLCBhIHByb2dyYW1tZXIgY2FuIGVhc2lseSBkZXRlcm1pbmUgd2hlcmUg dGhlaXIgcGF0Y2ggd2VudAp3cm9uZy4gSXQgYWxzbyBhbGxvd3MgcHJvZ3JhbW1lcnMgdG8gc3Bl Y2lmeSBleGFjdGx5IHdoaWNoIHRlc3RzIHRvCnJ1biwgbWFraW5nIHRlc3RpbmcgbW9yZSBlZmZp Y2llbnQuIFJlZHVuZGFuY2llcyBhcmUgYWxzbyByZWR1Y2VkIGJ5CnBsYWNpbmcgY29kZSBpbiB0 ZXN0cy90ZXN0LXN1YnIuc2guCgpTaWduZWQtb2ZmLWJ5OiBOb2FoIFNhbmNpIDxuc2FuY2lAcmVk aGF0LmNvbT4KLS0tCiB0ZXN0cy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAgMjkgKysrCiB0ZXN0cy9NYWtlZmlsZS5hbSAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg NDYgKysrKy0KIHRlc3RzL3J1bi1kZWJ1Z2luZm9kLTAwMC1wZXJtaXNzaW9uLnNoICAgICB8ICA4 NSArKysrKysrKwogdGVzdHMvcnVuLWRlYnVnaW5mb2QtWC1GT1JXQVJERUQuc2ggICAgICAgIHwg IDYwICsrKysrKwogdGVzdHMvcnVuLWRlYnVnaW5mb2QtYXJjaGl2ZS1ncm9vbS5zaCAgICAgIHwg MTUzICsrKysrKysrKysrKysrKwogdGVzdHMvcnVuLWRlYnVnaW5mb2QtYXJjaGl2ZS1yZW5hbWUu c2ggICAgIHwgIDk1ICsrKysrKysrKwogdGVzdHMvcnVuLWRlYnVnaW5mb2QtYXJjaGl2ZS10ZXN0 LnNoICAgICAgIHwgIDgzICsrKysrKysrCiB0ZXN0cy9ydW4tZGVidWdpbmZvZC1hcnRpZmFjdC1y dW5uaW5nLnNoICAgfCAxMjIgKysrKysrKysrKysrCiB0ZXN0cy9ydW4tZGVidWdpbmZvZC1kbG9w ZW4uc2ggICAgICAgICAgICAgfCAgODQgKysrKysrKysKIHRlc3RzL3J1bi1kZWJ1Z2luZm9kLWR1 cGxpY2F0ZS11cmxzLnNoICAgICB8ICA1MSArKysrKwogdGVzdHMvcnVuLWRlYnVnaW5mb2QtZXh0 cmFjdGlvbi5zaCAgICAgICAgIHwgMTAxICsrKysrKysrKysKIHRlc3RzL3J1bi1kZWJ1Z2luZm9k LWZkLXByZWZldGNoLWNhY2hlcy5zaCB8ICA1NyArKysrKysKIHRlc3RzL3J1bi1kZWJ1Z2luZm9k LWZlZGVyYXRpb24tbGluay5zaCAgICB8IDE2MSArKysrKysrKysrKysrKysrCiB0ZXN0cy9ydW4t ZGVidWdpbmZvZC1mZWRlcmF0aW9uLW1ldHJpY3Muc2ggfCAyMTMgKysrKysrKysrKysrKysrKysr KysrCiB0ZXN0cy9ydW4tZGVidWdpbmZvZC1mZWRlcmF0aW9uLXNxbGl0ZS5zaCAgfCAyMDEgKysr KysrKysrKysrKysrKysrKwogdGVzdHMvcnVuLWRlYnVnaW5mb2QtZmlsZS5zaCAgICAgICAgICAg ICAgIHwgIDM5ICsrKysKIHRlc3RzL3J1bi1kZWJ1Z2luZm9kLW1hbGZvcm1lZC5zaCAgICAgICAg ICB8IDExMCArKysrKysrKysrKwogdGVzdHMvcnVuLWRlYnVnaW5mb2Qtbm8tdXJscy5zaCAgICAg ICAgICAgIHwgIDQxICsrKysKIHRlc3RzL3J1bi1kZWJ1Z2luZm9kLXF1ZXJ5LXJldHJ5LnNoICAg ICAgICB8ICAzNCArKysrCiB0ZXN0cy9ydW4tZGVidWdpbmZvZC1yZWdleC5zaCAgICAgICAgICAg ICAgfCAgOTcgKysrKysrKysrKwogdGVzdHMvcnVuLWRlYnVnaW5mb2QtcmVzcG9uc2UtaGVhZGVy cy5zaCAgIHwgMTE4ICsrKysrKysrKysrKwogdGVzdHMvcnVuLWRlYnVnaW5mb2Qtc2l6ZXRpbWUu c2ggICAgICAgICAgIHwgIDc3ICsrKysrKysrCiB0ZXN0cy9ydW4tZGVidWdpbmZvZC10bXAtaG9t ZS5zaCAgICAgICAgICAgfCAxMjQgKysrKysrKysrKysrCiB0ZXN0cy9ydW4tZGVidWdpbmZvZC13 cml0YWJsZS5zaCAgICAgICAgICAgfCAgODQgKysrKysrKysKIHRlc3RzL3J1bi1kZWJ1Z2luZm9k LXgtZm9yd2FyZGVkLWZvci5zaCAgICB8ICA2MiArKysrKysKIHRlc3RzL3Rlc3Qtc3Vici5zaCAg ICAgICAgICAgICAgICAgICAgICAgICB8IDEyNCArKysrKysrKysrKy0KIDI2IGZpbGVzIGNoYW5n ZWQsIDI0NDggaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDc1 NSB0ZXN0cy9ydW4tZGVidWdpbmZvZC0wMDAtcGVybWlzc2lvbi5zaAogY3JlYXRlIG1vZGUgMTAw NjQ0IHRlc3RzL3J1bi1kZWJ1Z2luZm9kLVgtRk9SV0FSREVELnNoCiBjcmVhdGUgbW9kZSAxMDA3 NTUgdGVzdHMvcnVuLWRlYnVnaW5mb2QtYXJjaGl2ZS1ncm9vbS5zaAogY3JlYXRlIG1vZGUgMTAw NzU1IHRlc3RzL3J1bi1kZWJ1Z2luZm9kLWFyY2hpdmUtcmVuYW1lLnNoCiBjcmVhdGUgbW9kZSAx MDA3NTUgdGVzdHMvcnVuLWRlYnVnaW5mb2QtYXJjaGl2ZS10ZXN0LnNoCiBjcmVhdGUgbW9kZSAx MDA3NTUgdGVzdHMvcnVuLWRlYnVnaW5mb2QtYXJ0aWZhY3QtcnVubmluZy5zaAogY3JlYXRlIG1v ZGUgMTAwNzU1IHRlc3RzL3J1bi1kZWJ1Z2luZm9kLWRsb3Blbi5zaAogY3JlYXRlIG1vZGUgMTAw NzU1IHRlc3RzL3J1bi1kZWJ1Z2luZm9kLWR1cGxpY2F0ZS11cmxzLnNoCiBjcmVhdGUgbW9kZSAx MDA3NTUgdGVzdHMvcnVuLWRlYnVnaW5mb2QtZXh0cmFjdGlvbi5zaAogY3JlYXRlIG1vZGUgMTAw NzU1IHRlc3RzL3J1bi1kZWJ1Z2luZm9kLWZkLXByZWZldGNoLWNhY2hlcy5zaAogY3JlYXRlIG1v ZGUgMTAwNzU1IHRlc3RzL3J1bi1kZWJ1Z2luZm9kLWZlZGVyYXRpb24tbGluay5zaAogY3JlYXRl IG1vZGUgMTAwNzU1IHRlc3RzL3J1bi1kZWJ1Z2luZm9kLWZlZGVyYXRpb24tbWV0cmljcy5zaAog Y3JlYXRlIG1vZGUgMTAwNzU1IHRlc3RzL3J1bi1kZWJ1Z2luZm9kLWZlZGVyYXRpb24tc3FsaXRl LnNoCiBjcmVhdGUgbW9kZSAxMDA3NTUgdGVzdHMvcnVuLWRlYnVnaW5mb2QtZmlsZS5zaAogY3Jl YXRlIG1vZGUgMTAwNzU1IHRlc3RzL3J1bi1kZWJ1Z2luZm9kLW1hbGZvcm1lZC5zaAogY3JlYXRl IG1vZGUgMTAwNzU1IHRlc3RzL3J1bi1kZWJ1Z2luZm9kLW5vLXVybHMuc2gKIGNyZWF0ZSBtb2Rl IDEwMDc1NSB0ZXN0cy9ydW4tZGVidWdpbmZvZC1xdWVyeS1yZXRyeS5zaAogY3JlYXRlIG1vZGUg MTAwNzU1IHRlc3RzL3J1bi1kZWJ1Z2luZm9kLXJlZ2V4LnNoCiBjcmVhdGUgbW9kZSAxMDA3NTUg dGVzdHMvcnVuLWRlYnVnaW5mb2QtcmVzcG9uc2UtaGVhZGVycy5zaAogY3JlYXRlIG1vZGUgMTAw NzU1IHRlc3RzL3J1bi1kZWJ1Z2luZm9kLXNpemV0aW1lLnNoCiBjcmVhdGUgbW9kZSAxMDA3NTUg dGVzdHMvcnVuLWRlYnVnaW5mb2QtdG1wLWhvbWUuc2gKIGNyZWF0ZSBtb2RlIDEwMDc1NSB0ZXN0 cy9ydW4tZGVidWdpbmZvZC13cml0YWJsZS5zaAogY3JlYXRlIG1vZGUgMTAwNzU1IHRlc3RzL3J1 bi1kZWJ1Z2luZm9kLXgtZm9yd2FyZGVkLWZvci5zaAoKZGlmZiAtLWdpdCBhL3Rlc3RzL0NoYW5n ZUxvZyBiL3Rlc3RzL0NoYW5nZUxvZwppbmRleCAzZmE3YzJlNC4uZGI1YjI1ZDEgMTAwNjQ0Ci0t LSBhL3Rlc3RzL0NoYW5nZUxvZworKysgYi90ZXN0cy9DaGFuZ2VMb2cKQEAgLTEyLDYgKzEyLDM1 IEBACiAKIAkqIHJ1bi1kZWJ1Z2luZm9kLWZpbmQuc2g6IEFkZCB0ZXN0IGZvciBYLUZvcndhcmRl ZC1Gb3IgaG9wcyBsaW1pdC4KIAorMjAyMS0wOC0yMCAgTm9haCBTYW5jaSAgPG5zYW5jaUByZWRo YXQuY29tPgorCisJKiBkZWJ1Z2luZm9kLWZpbmQuc2g6IFNlcGFyYXRlZCBmaWxlIGludG8gCisJ cnVuLWRlYnVnaW5mb2QtMDAwLXBlcm1pc3Npb24uc2gsIAorCXJ1bi1kZWJ1Z2luZm9kLWFyY2hp dmUtZ3Jvb20uc2gsCisJcnVuLWRlYnVnaW5mb2QtYXJjaGl2ZS1yZW5hbWUuc2gsCisJcnVuLWRl YnVnaW5mb2QtYXJjaGl2ZS10ZXN0LnNoLAorCXJ1bi1kZWJ1Z2luZm9kLWFydGlmYWN0LXJ1bm5p bmcuc2gsCisJcnVuLWRlYnVnaW5mb2QtZGxvcGVuLnNoLAorCXJ1bi1kZWJ1Z2luZm9kLWR1cGxp Y2F0ZS11cmxzLnNoLAorCXJ1bi1kZWJ1Z2luZm9kLWV4dHJhY3Rpb24uc2gsCisJcnVuLWRlYnVn aW5mb2QtZmQtcHJlZmV0Y2gtY2FjaGVzLnNoLAorCXJ1bi1kZWJ1Z2luZm9kLWZlZGVyYXRpb24t bGluay5zaCwKKwlydW4tZGVidWdpbmZvZC1mZWRlcmF0aW9uLW1ldHJpY3Muc2gsCisJcnVuLWRl YnVnaW5mb2QtZmVkZXJhdGlvbi1zcWxpdGUuc2gsCisJcnVuLWRlYnVnaW5mb2QtZmlsZS5zaCwK KwlydW4tZGVidWdpbmZvZC1tYWxmb3JtZWQuc2gsCisJcnVuLWRlYnVnaW5mb2Qtbm8tdXJscy5z aCwKKwlydW4tZGVidWdpbmZvZC1xdWVyeS1yZXRyeS5zaCwKKwlydW4tZGVidWdpbmZvZC1yZWdl eC5zaCwKKwlydW4tZGVidWdpbmZvZC1zaXpldGltZS5zaCwKKwlydW4tZGVidWdpbmZvZC10bXAt aG9tZS5zaCwKKwlydW4tZGVidWdpbmZvZC14LWZvcndhcmRlZC5zaAorCXJ1bi1kZWJ1Z2luZm9k LXdyaXRhYmxlLnNoLCBhbmQgCisJcnVuLWRlYnVnaW5mb2QtcmVzcG9uc2UtaGVhZGVycy5zaC4g QWxsIGZpbGVzIHVzZSB0aGUgJGJhc2UgdmFyaWFibGUKKwl0byBmaW5kIHBvcnRzLgorCSogdGVz dHMvTWFrZWZpbGUuYW06IEFkZGVkIHRoZSBhYm92ZSBuZXcgZmlsZXMgdG8gdGhlIHRlc3Qgc3Vp dGUKKwkqIHRlc3RzL3Rlc3Qtc3Vici5zaDogQWRkZWQgc29tZSBnZW5lcmFsIGZ1bmN0aW9ucyBm b3IgYWJvdmUgdGVzdHMKKwogMjAyMS0wOC0wNCAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xvbXAu b3JnPgogCiAJUFIyODE5MApkaWZmIC0tZ2l0IGEvdGVzdHMvTWFrZWZpbGUuYW0gYi90ZXN0cy9N YWtlZmlsZS5hbQppbmRleCA0Mjk2NDlmNC4uYTlhZGViNGYgMTAwNjQ0Ci0tLSBhL3Rlc3RzL01h a2VmaWxlLmFtCisrKyBiL3Rlc3RzL01ha2VmaWxlLmFtCkBAIC0yMTEsNyArMjExLDI4IEBAIGlm IERFQlVHSU5GT0QKIGNoZWNrX1BST0dSQU1TICs9IGRlYnVnaW5mb2RfYnVpbGRfaWRfZmluZAog IyBXaXRoIHRoZSBkdW1teSBkZWxlZ2F0aW9uIGRvZXNuJ3Qgd29yawogaWYgIURVTU1ZX0xJQkRF QlVHSU5GT0QKLVRFU1RTICs9IHJ1bi1kZWJ1Z2luZm9kLWZpbmQuc2gKK1RFU1RTICs9IHJ1bi1k ZWJ1Z2luZm9kLWRsb3Blbi5zaCBcCisJIHJ1bi1kZWJ1Z2luZm9kLWFydGlmYWN0LXJ1bm5pbmcu c2ggXAorCSBydW4tZGVidWdpbmZvZC1mZC1wcmVmZXRjaC1jYWNoZXMuc2ggXAorCSBydW4tZGVi dWdpbmZvZC1yZWdleC5zaCBcCisJIHJ1bi1kZWJ1Z2luZm9kLWR1cGxpY2F0ZS11cmxzLnNoIFwK KwkgcnVuLWRlYnVnaW5mb2QtZmlsZS5zaCBcCisJIHJ1bi1kZWJ1Z2luZm9kLXNpemV0aW1lLnNo IFwKKwkgcnVuLWRlYnVnaW5mb2QtbWFsZm9ybWVkLnNoIFwKKwkgcnVuLWRlYnVnaW5mb2QtMDAw LXBlcm1pc3Npb24uc2ggXAorCSBydW4tZGVidWdpbmZvZC10bXAtaG9tZS5zaCBcCisJIHJ1bi1k ZWJ1Z2luZm9kLXdyaXRhYmxlLnNoIFwKKwkgcnVuLWRlYnVnaW5mb2Qtbm8tdXJscy5zaCBcCisJ IHJ1bi1kZWJ1Z2luZm9kLXF1ZXJ5LXJldHJ5LnNoIFwKKwkgcnVuLWRlYnVnaW5mb2QtZXh0cmFj dGlvbi5zaCBcCisJIHJ1bi1kZWJ1Z2luZm9kLWFyY2hpdmUtZ3Jvb20uc2ggXAorCSBydW4tZGVi dWdpbmZvZC1hcmNoaXZlLXJlbmFtZS5zaCBcCisJIHJ1bi1kZWJ1Z2luZm9kLWFyY2hpdmUtdGVz dC5zaCBcCisJIHJ1bi1kZWJ1Z2luZm9kLWZlZGVyYXRpb24tc3FsaXRlLnNoIFwKKwkgcnVuLWRl YnVnaW5mb2QtZmVkZXJhdGlvbi1saW5rLnNoIFwKKwkgcnVuLWRlYnVnaW5mb2QtZmVkZXJhdGlv bi1tZXRyaWNzLnNoIFwKKwkgcnVuLWRlYnVnaW5mb2QteC1mb3J3YXJkZWQtZm9yLnNoIFwKKyAg ICAgICAgIHJ1bi1kZWJ1Z2luZm9kLXJlc3BvbnNlLWhlYWRlcnMuc2gKIGVuZGlmCiBlbmRpZgog CkBAIC00NzQsNyArNDk1LDI4IEBAIEVYVFJBX0RJU1QgPSBydW4tYXJleHRyYWN0LnNoIHJ1bi1h cnN5bXRlc3Quc2ggcnVuLWFyLnNoIFwKIAkgICAgIHJ1bi1lbGZjbGFzc2lmeS5zaCBydW4tZWxm Y2xhc3NpZnktc2VsZi5zaCBcCiAJICAgICBydW4tZGlzYXNtLXJpc2N2NjQuc2ggXAogCSAgICAg dGVzdGZpbGUtcmlzY3Y2NC1kaXMxLm8uYnoyIHRlc3RmaWxlLXJpc2N2NjQtZGlzMS5leHBlY3Qu YnoyIFwKLSAgICAgICAgICAgICBydW4tZGVidWdpbmZvZC1maW5kLnNoIFwKKyAgICAgICAgICAg ICBydW4tZGVidWdpbmZvZC1leHRyYWN0aW9uLnNoIFwKKyAgICAgICAgICAgICBydW4tZGVidWdp bmZvZC1mZWRlcmF0aW9uLWxpbmsuc2ggXAorICAgICAgICAgICAgIHJ1bi1kZWJ1Z2luZm9kLWZl ZGVyYXRpb24tbWV0cmljcy5zaCBcCisgICAgICAgICAgICAgcnVuLWRlYnVnaW5mb2QtYXJ0aWZh Y3QtcnVubmluZy5zaCBcCisgICAgICAgICAgICAgcnVuLWRlYnVnaW5mb2QtZmVkZXJhdGlvbi1z cWxpdGUuc2ggXAorICAgICAgICAgICAgIHJ1bi1kZWJ1Z2luZm9kLXJlc3BvbnNlLWhlYWRlcnMu c2ggXAorICAgICAgICAgICAgIHJ1bi1kZWJ1Z2luZm9kLXgtZm9yd2FyZGVkLWZvci5zaCBcCisJ ICAgICBydW4tZGVidWdpbmZvZC1mZC1wcmVmZXRjaC1jYWNoZXMuc2ggXAorCSAgICAgcnVuLWRl YnVnaW5mb2QtcmVnZXguc2ggXAorCSAgICAgcnVuLWRlYnVnaW5mb2QtZHVwbGljYXRlLXVybHMu c2ggXAorCSAgICAgcnVuLWRlYnVnaW5mb2QtZmlsZS5zaCBcCisJICAgICBydW4tZGVidWdpbmZv ZC1zaXpldGltZS5zaCBcCisJICAgICBydW4tZGVidWdpbmZvZC1kbG9wZW4uc2ggXAorCSAgICAg cnVuLWRlYnVnaW5mb2QtbWFsZm9ybWVkLnNoIFwKKwkgICAgIHJ1bi1kZWJ1Z2luZm9kLTAwMC1w ZXJtaXNzaW9uLnNoIFwKKwkgICAgIHJ1bi1kZWJ1Z2luZm9kLXRtcC1ob21lLnNoIFwKKwkgICAg IHJ1bi1kZWJ1Z2luZm9kLXdyaXRhYmxlLnNoIFwKKwkgICAgIHJ1bi1kZWJ1Z2luZm9kLW5vLXVy bHMuc2ggXAorCSAgICAgcnVuLWRlYnVnaW5mb2QtcXVlcnktcmV0cnkuc2ggXAorCSAgICAgcnVu LWRlYnVnaW5mb2QtYXJjaGl2ZS1ncm9vbS5zaCBcCisJICAgICBydW4tZGVidWdpbmZvZC1hcmNo aXZlLXJlbmFtZS5zaCBcCisgICAgICAgICAgICAgcnVuLWRlYnVnaW5mb2QtYXJjaGl2ZS10ZXN0 LnNoIFwKIAkgICAgIGRlYnVnaW5mb2QtcnBtcy9mZWRvcmEzMC9oZWxsbzItMS4wLTIuc3JjLnJw bSBcCiAJICAgICBkZWJ1Z2luZm9kLXJwbXMvZmVkb3JhMzAvaGVsbG8yLTEuMC0yLng4Nl82NC5y cG0gXAogCSAgICAgZGVidWdpbmZvZC1ycG1zL2ZlZG9yYTMwL2hlbGxvMi1kZWJ1Z2luZm8tMS4w LTIueDg2XzY0LnJwbSBcCmRpZmYgLS1naXQgYS90ZXN0cy9ydW4tZGVidWdpbmZvZC0wMDAtcGVy bWlzc2lvbi5zaCBiL3Rlc3RzL3J1bi1kZWJ1Z2luZm9kLTAwMC1wZXJtaXNzaW9uLnNoCm5ldyBm aWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwLi41YmJiMWRmMAotLS0gL2Rldi9udWxsCisr KyBiL3Rlc3RzL3J1bi1kZWJ1Z2luZm9kLTAwMC1wZXJtaXNzaW9uLnNoCkBAIC0wLDAgKzEsODUg QEAKKyMhL3Vzci9iaW4vZW52IGJhc2gKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjEgUmVk IEhhdCwgSW5jLgorIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBlbGZ1dGlscy4KKyMKKyMgVGhpcyBm aWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2Rp ZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy IHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0 ZXIgdmVyc2lvbi4KKyMKKyMgZWxmdXRpbHMgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh dCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CisjIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0 IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2 ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorIyBhbG9uZyB3aXRo IHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMv Pi4KKworLiAkc3JjZGlyL3Rlc3Qtc3Vici5zaCAgIyBpbmNsdWRlcyBzZXQgLWUKKworIyBmb3Ig dGVzdCBjYXNlIGRlYnVnZ2luZywgdW5jb21tZW50Ogorc2V0IC14Cit1bnNldCBWQUxHUklORF9D TUQKK0RCPSR7UFdEfS8uZGVidWdpbmZvZF90bXAuc3FsaXRlCitleHBvcnQgREVCVUdJTkZPRF9D QUNIRV9QQVRIPSR7UFdEfS8uY2xpZW50X2NhY2hlCisjIFRoaXMgdmFyaWFibGUgaXMgZXNzZW50 aWFsIGFuZCBlbnN1cmVzIG5vIHRpbWUtcmFjZSBmb3IgY2xhaW1pbmcgcG9ydHMgb2NjdXJzCisj IHNldCBiYXNlIHRvIGEgdW5pcXVlIG11bHRpcGxlIG9mIDEwMCBub3QgdXNlZCBpbiBhbnkgb3Ro ZXIgJ3J1bi1kZWJ1Z2luZm9kLSonIHRlc3QKK2Jhc2U9ODAwMAorZ2V0X3BvcnRzCitlbnYgTERf TElCUkFSWV9QQVRIPSRsZHBhdGggREVCVUdJTkZPRF9VUkxTPSAke2Fic19idWlsZGRpcn0vLi4v ZGVidWdpbmZvZC9kZWJ1Z2luZm9kICRWRVJCT1NFIC1GIC1wICRQT1JUMSBcCisgICAgLXQwIC1n MCAtdiAke1BXRH0gPiB2bG9nJFBPUlQxIDI+JjEgJgorUElEMT0kIQordGVtcGZpbGVzIHZsb2ck UE9SVDEKK2VycmZpbGVzIHZsb2ckUE9SVDEKKyMgU2VydmVyIG11c3QgYmVjb21lIHJlYWR5Cit3 YWl0X3JlYWR5ICRQT1JUMSAncmVhZHknIDEKK2V4cG9ydCBERUJVR0lORk9EX1VSTFM9aHR0cDov LzEyNy4wLjAuMTokUE9SVDEvICAgIyBvciB3aXRob3V0IHRyYWlsaW5nIC8KKworIyBCZSBwYXRp ZW50IHdoZW4gcnVuIG9uIGEgYnVzeSBtYWNoaW5lIHRoaW5ncyBtaWdodCB0YWtlIGEgYml0Lgor ZXhwb3J0IERFQlVHSU5GT0RfVElNRU9VVD0xMAorCisjIENoZWNrIHRocmVhZCBjb21tIG5hbWVz CitwcyAtcSAkUElEMSAtZSAtTCAtbyAnJXAgJWMgJWEnIHwgZ3JlcCBncm9vbQorcHMgLXEgJFBJ RDEgLWUgLUwgLW8gJyVwICVjICVhJyB8IGdyZXAgc2NhbgorcHMgLXEgJFBJRDEgLWUgLUwgLW8g JyVwICVjICVhJyB8IGdyZXAgdHJhdmVyc2UKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIFBSMjU2MjgK K3JtIC1yZiAkREVCVUdJTkZPRF9DQUNIRV9QQVRIICMgY2xlYW4gaXQgZnJvbSBwcmV2aW91cyB0 ZXN0cworCisjIFRoZSBxdWVyeSBpcyBkZXNpZ25lZCB0byBmYWlsLCB3aGlsZSB0aGUgMDAwLXBl cm1pc3Npb24gZmlsZSBzaG91bGQgYmUgY3JlYXRlZC4KK3Rlc3RydW4gJHthYnNfdG9wX2J1aWxk ZGlyfS9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QtZmluZCBkZWJ1Z2luZm8gMDEyMzQ1NjcgfHwgdHJ1 ZQoraWYgWyAhIC1mICRERUJVR0lORk9EX0NBQ0hFX1BBVEgvMDEyMzQ1NjcvZGVidWdpbmZvIF07 IHRoZW4KKyAgZWNobyAiY291bGQgbm90IGZpbmQgY2FjaGUgaW4gJERFQlVHSU5GT0RfQ0FDSEVf UEFUSCIKKyAgZXJyCitmaQorCitpZiBbIC1yICRERUJVR0lORk9EX0NBQ0hFX1BBVEgvMDEyMzQ1 NjcvZGVidWdpbmZvIF07IHRoZW4KKyAgZWNobyAiVGhlIGNhY2hlICRERUJVR0lORk9EX0NBQ0hF X1BBVEgvMDEyMzQ1NjcvZGVidWdpbmZvIGlzIHJlYWRhYmxlIgorICBlcnIKK2ZpCisKK2J5dGVj b3VudF9iZWZvcmU9YGN1cmwgLXMgaHR0cDovLzEyNy4wLjAuMTokUE9SVDEvbWV0cmljcyB8IGdy ZXAgJ2h0dHBfcmVzcG9uc2VzX3RyYW5zZmVyX2J5dGVzX2NvdW50e2NvZGU9IjQwNCJ9J2AKK3Rl c3RydW4gJHthYnNfdG9wX2J1aWxkZGlyfS9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QtZmluZCBkZWJ1 Z2luZm8gMDEyMzQ1NjcgfHwgdHJ1ZQorYnl0ZWNvdW50X2FmdGVyPWBjdXJsIC1zIGh0dHA6Ly8x MjcuMC4wLjE6JFBPUlQxL21ldHJpY3MgfCBncmVwICdodHRwX3Jlc3BvbnNlc190cmFuc2Zlcl9i eXRlc19jb3VudHtjb2RlPSI0MDQifSdgCitpZiBbICIkYnl0ZWNvdW50X2JlZm9yZSIgIT0gIiRi eXRlY291bnRfYWZ0ZXIiIF07IHRoZW4KKyAgZWNobyAiaHR0cF9yZXNwb25zZXNfdHJhbnNmZXJf Ynl0ZXNfY291bnR7Y29kZT0iNDA0In0gaGFzIGNoYW5nZWQuIgorICBlcnIKK2ZpCisKKyMgc2V0 IGNhY2hlX21pc3NfcyB0byAwIGFuZCBzbGVlcCAxIHRvIG1ha2UgdGhlIG10aW1lIGV4cGlyZS4K K2VjaG8gMCA+ICRERUJVR0lORk9EX0NBQ0hFX1BBVEgvY2FjaGVfbWlzc19zCitzbGVlcCAxCiti eXRlY291bnRfYmVmb3JlPWBjdXJsIC1zIGh0dHA6Ly8xMjcuMC4wLjE6JFBPUlQxL21ldHJpY3Mg fCBncmVwICdodHRwX3Jlc3BvbnNlc190cmFuc2Zlcl9ieXRlc19jb3VudHtjb2RlPSI0MDQifSdg Cit0ZXN0cnVuICR7YWJzX3RvcF9idWlsZGRpcn0vZGVidWdpbmZvZC9kZWJ1Z2luZm9kLWZpbmQg ZGVidWdpbmZvIDAxMjM0NTY3IHx8IHRydWUKK2J5dGVjb3VudF9hZnRlcj1gY3VybCAtcyBodHRw Oi8vMTI3LjAuMC4xOiRQT1JUMS9tZXRyaWNzIHwgZ3JlcCAnaHR0cF9yZXNwb25zZXNfdHJhbnNm ZXJfYnl0ZXNfY291bnR7Y29kZT0iNDA0In0nYAoraWYgWyAiJGJ5dGVjb3VudF9iZWZvcmUiID09 ICIkYnl0ZWNvdW50X2FmdGVyIiBdOyB0aGVuCisgIGVjaG8gImh0dHBfcmVzcG9uc2VzX3RyYW5z ZmVyX2J5dGVzX2NvdW50e2NvZGU9IjQwNCJ9IHNob3VsZCBiZSBpbmNyZW1lbnRlZC4iCisgIGVy cgorZmkKKwora2lsbCAkUElEMQord2FpdCAkUElEMQorUElEMT0wCitleGl0IDAKZGlmZiAtLWdp dCBhL3Rlc3RzL3J1bi1kZWJ1Z2luZm9kLVgtRk9SV0FSREVELnNoIGIvdGVzdHMvcnVuLWRlYnVn aW5mb2QtWC1GT1JXQVJERUQuc2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAu LmE2N2M1NjQ2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvcnVuLWRlYnVnaW5mb2QtWC1GT1JX QVJERUQuc2gKQEAgLTAsMCArMSw2MCBAQAorIyEvdXNyL2Jpbi9lbnYgYmFzaAorIworIyBDb3B5 cmlnaHQgKEMpIDIwMTktMjAyMSBSZWQgSGF0LCBJbmMuCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9m IGVsZnV0aWxzLgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp c3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAo YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBlbGZ1dGlscyBpcyBkaXN0 cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKKyMgV0lUSE9V VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBN RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg dGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisj IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlCisjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6 Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorCisuICRzcmNkaXIvdGVzdC1zdWJyLnNoICAjIGlu Y2x1ZGVzIHNldCAtZQorCisjIGZvciB0ZXN0IGNhc2UgZGVidWdnaW5nLCB1bmNvbW1lbnQ6Citz ZXQgLXgKK3Vuc2V0IFZBTEdSSU5EX0NNRAorIyBUaGlzIHZhcmlhYmxlIGlzIGVzc2VudGlhbCBh bmQgZW5zdXJlcyBubyB0aW1lLXJhY2UgZm9yIGNsYWltaW5nIHBvcnRzIG9jY3VycworIyBzZXQg YmFzZSB0byBhIHVuaXF1ZSBtdWx0aXBsZSBvZiAxMDAgbm90IHVzZWQgaW4gYW55IG90aGVyICdy dW4tZGVidWdpbmZvZC0qJyB0ZXN0CitiYXNlPTEwMDAwCitnZXRfcG9ydHMKKworIyBNYWtlIHN1 cmUgdGhlIHZsb2dzIGFyZSBjbGVhbmVkIHVwIGFmdGVyIHRoZSB0ZXN0CisjIGFuZCB0aGF0IHRo ZXkgYXJlIHByaW50ZWQgb24gZXJyb3IuCit0ZW1wZmlsZXMgdmxvZyRQT1JUMSB2bG9nJFBPUlQy CitlcnJmaWxlcyB2bG9nJFBPUlQxIHZsb2ckUE9SVDIKKworZW52IExEX0xJQlJBUllfUEFUSD0k bGRwYXRoIERFQlVHSU5GT0RfVVJMUz1odHRwOi8vMTI3LjAuMC4xOiRQT1JUNSAke2Fic19idWls ZGRpcn0vLi4vZGVidWdpbmZvZC9kZWJ1Z2luZm9kICRWRVJCT1NFIC1kIDptZW1vcnk6IC0tZm9y d2FyZGVkLXR0bC1saW1pdCAwIC1wICRQT1JUMSA+IHZsb2ckUE9SVDEgMj4mMSAmCitQSUQxPSQh CisKK2VudiBMRF9MSUJSQVJZX1BBVEg9JGxkcGF0aCBERUJVR0lORk9EX1VSTFM9aHR0cDovLzEy Ny4wLjAuMTokUE9SVDQgJHthYnNfYnVpbGRkaXJ9Ly4uL2RlYnVnaW5mb2QvZGVidWdpbmZvZCAk VkVSQk9TRSAtZCA6bWVtb3J5OiAtLWZvcndhcmRlZC10dGwtbGltaXQgMSAtcCAkUE9SVDIgPiB2 bG9nJFBPUlQyIDI+JjEgJgorUElEMj0kIQorCit3YWl0X3JlYWR5ICRQT1JUMSAncmVhZHknIDEK K3dhaXRfcmVhZHkgJFBPUlQyICdyZWFkeScgMQorCitleHBvcnQgREVCVUdJTkZPRF9VUkxTPSJo dHRwOi8vMTI3LjAuMC4xOiRQT1JUMS8iCit0ZXN0cnVuICR7YWJzX3RvcF9idWlsZGRpcn0vZGVi dWdpbmZvZC9kZWJ1Z2luZm9kLWZpbmQgZGVidWdpbmZvIDAxMjM0NTY3IHx8IHRydWUKKworIyBV c2UgYSBkaWZmZXJlbnQgYnVpbGRpZCB0byBhdm9pZCB1c2luZyBzYW1lIGNhY2hlLgorZXhwb3J0 IERFQlVHSU5GT0RfVVJMUz0iaHR0cDovLzEyNy4wLjAuMTokUE9SVDIvIgordGVzdHJ1biAke2Fi c190b3BfYnVpbGRkaXJ9L2RlYnVnaW5mb2QvZGVidWdpbmZvZC1maW5kIGRlYnVnaW5mbyAxMTIz NDU2NyB8fCB0cnVlCisKK2dyZXAgImZvcndhcmVkLXR0bC1saW1pdCByZWFjaGVkIGFuZCB3aWxs IG5vdCBxdWVyeSB0aGUgdXBzdHJlYW0gc2VydmVycyIgdmxvZyRQT1JUMQorZ3JlcCAtdiAiZm9y d2FyZWQtdHRsLWxpbWl0IHJlYWNoZWQgYW5kIHdpbGwgbm90IHF1ZXJ5IHRoZSB1cHN0cmVhbSBz ZXJ2ZXJzIiB2bG9nJFBPUlQyIHwgZ3JlcCAibm90IGZvdW5kIiB2bG9nJFBPUlQyCisKK2tpbGwg JFBJRDEgJFBJRDIKK3dhaXQgJFBJRDEgJFBJRDIKKworUElEMT0wCitQSUQyPTAKKworZXhpdCAw CisKZGlmZiAtLWdpdCBhL3Rlc3RzL3J1bi1kZWJ1Z2luZm9kLWFyY2hpdmUtZ3Jvb20uc2ggYi90 ZXN0cy9ydW4tZGVidWdpbmZvZC1hcmNoaXZlLWdyb29tLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1 CmluZGV4IDAwMDAwMDAwLi5jODRlOWQ3NAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3J1bi1k ZWJ1Z2luZm9kLWFyY2hpdmUtZ3Jvb20uc2gKQEAgLTAsMCArMSwxNTMgQEAKKyMhL3Vzci9iaW4v ZW52IGJhc2gKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjEgUmVkIEhhdCwgSW5jLgorIyBU aGlzIGZpbGUgaXMgcGFydCBvZiBlbGZ1dGlscy4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29m dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIg dGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQg YnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0 aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMK KyMgZWxmdXRpbHMgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz ZWZ1bCwgYnV0CisjIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig bW9yZSBkZXRhaWxzLgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4g IElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKworLiAkc3JjZGly L3Rlc3Qtc3Vici5zaCAgIyBpbmNsdWRlcyBzZXQgLWUKKyMgZm9yIHRlc3QgY2FzZSBkZWJ1Z2dp bmcsIHVuY29tbWVudDoKK3NldCAteAordW5zZXQgVkFMR1JJTkRfQ01ECisjIFRoaXMgdmFyaWFi bGUgaXMgZXNzZW50aWFsIGFuZCBlbnN1cmVzIG5vIHRpbWUtcmFjZSBmb3IgY2xhaW1pbmcgcG9y dHMgb2NjdXJzCisjIHNldCBiYXNlIHRvIGEgdW5pcXVlIG11bHRpcGxlIG9mIDEwMCBub3QgdXNl ZCBpbiBhbnkgb3RoZXIgJ3J1bi1kZWJ1Z2luZm9kLSonIHRlc3QKK2Jhc2U9ODEwMAorZ2V0X3Bv cnRzCitEQj0ke1BXRH0vLmRlYnVnaW5mb2RfdG1wLnNxbGl0ZQorZXhwb3J0IERFQlVHSU5GT0Rf Q0FDSEVfUEFUSD0ke1BXRH0vLmNsaWVudF9jYWNoZQorZXhwb3J0IERFQlVHSU5GT0RfVElNRU9V VD0xMAorZXhwb3J0IERFQlVHSU5GT0RfVVJMUz0naHR0cDovLzEyNy4wLjAuMTonJFBPUlQxCisK KyMgQ2xlYW4gb2xkIGRpcmljdG9yaWVzCitta2RpciBSICR7UFdEfS9GCitlbnYgTERfTElCUkFS WV9QQVRIPSRsZHBhdGggJHthYnNfYnVpbGRkaXJ9Ly4uL2RlYnVnaW5mb2QvZGVidWdpbmZvZCAk VkVSQk9TRSBcCisgICAgLUYgLVIgLWQgJERCIC1wICRQT1JUMSAtdDAgLWcwIC12IFIgJHtQV0R9 L0YgPiB2bG9nJFBPUlQxIDI+JjEgJgorUElEMT0kIQordGVtcGZpbGVzIHZsb2ckUE9SVDEKK2Vy cmZpbGVzIHZsb2ckUE9SVDEKKyMgU2VydmVyIG11c3QgYmVjb21lIHJlYWR5Cit3YWl0X3JlYWR5 ICRQT1JUMSAncmVhZHknIDEKKyMgQmUgcGF0aWVudCB3aGVuIHJ1biBvbiBhIGJ1c3kgbWFjaGlu ZSB0aGluZ3MgbWlnaHQgdGFrZSBhIGJpdC4KKworIyBDaGVjayB0aHJlYWQgY29tbSBuYW1lcwor cHMgLXEgJFBJRDEgLWUgLUwgLW8gJyVwICVjICVhJyB8IGdyZXAgZ3Jvb20KK3BzIC1xICRQSUQx IC1lIC1MIC1vICclcCAlYyAlYScgfCBncmVwIHNjYW4KK3BzIC1xICRQSUQxIC1lIC1MIC1vICcl cCAlYyAlYScgfCBncmVwIHRyYXZlcnNlCisKKyMgQnVpbGQgYSBub24tc3RyaXBwZWQgYmluYXJ5 CitlY2hvICJpbnQgbWFpbigpIHsgcmV0dXJuIDA7IH0iID4gJHtQV0R9L0YvcHJvZy5jCitnY2Mg LVdsLC0tYnVpbGQtaWQgLWcgLW8gJHtQV0R9L0YvcHJvZyAke1BXRH0vRi9wcm9nLmMKK0JVSUxE SUQ9YGVudiBMRF9MSUJSQVJZX1BBVEg9JGxkcGF0aCAke2Fic19idWlsZGRpcn0vLi4vc3JjL3Jl YWRlbGYgXAorICAgICAgICAgIC1hICR7UFdEfS9GL3Byb2cgfCBncmVwICdCdWlsZCBJRCcgfCBj dXQgLWQgJyAnIC1mIDdgCit0ZW1wZmlsZXMgJHtQV0R9L0YvcHJvZyAke1BXRH0vRi9wcm9nLmMK KworY3AgLXJ2cCAke2Fic19zcmNkaXJ9L2RlYnVnaW5mb2QtcnBtcyBSCitpZiBbICIkenN0ZCIg PSAiZmFsc2UiIF07IHRoZW4gICMgbnVrZSB0aGUgenN0ZCBmZWRvcmEgMzEgb25lcworICAgIHJt IC12cmYgUi9kZWJ1Z2luZm9kLXJwbXMvZmVkb3JhMzEKK2ZpCitraWxsIC1VU1IxICRQSUQxCisj IE5vdyB0aGVyZSBzaG91bGQgYmUgMSBmaWxlcyBpbiB0aGUgaW5kZXgKK3dhaXRfcmVhZHkgJFBP UlQxICd0aHJlYWRfd29ya190b3RhbHtyb2xlPSJ0cmF2ZXJzZSJ9JyAxCit3YWl0X3JlYWR5ICRQ T1JUMSAndGhyZWFkX3dvcmtfcGVuZGluZ3tyb2xlPSJzY2FuIn0nIDAKK3dhaXRfcmVhZHkgJFBP UlQxICd0aHJlYWRfYnVzeXtyb2xlPSJzY2FuIn0nIDAKKworY3AgLXJ2cCAke2Fic19zcmNkaXJ9 L2RlYnVnaW5mb2QtcnBtcyBSCitpZiBbICIkenN0ZCIgPSAiZmFsc2UiIF07IHRoZW4gICMgbnVr ZSB0aGUgenN0ZCBmZWRvcmEgMzEgb25lcworICAgIHJtIC12cmYgUi9kZWJ1Z2luZm9kLXJwbXMv ZmVkb3JhMzEKK2ZpCisKK3RlbXBmaWxlcyB2bG9nMyAkREIKK2NwIC1ydnAgJHthYnNfc3JjZGly fS9kZWJ1Z2luZm9kLXRhcnMgWgora2lsbCAtVVNSMSAkUElEMQorIyBXYWl0IHRpbGwgYm90aCBm aWxlcyBhcmUgaW4gdGhlIGluZGV4IGFuZCBzY2FuL2luZGV4IGZ1bGx5IGZpbmlzaGVkCit3YWl0 X3JlYWR5ICRQT1JUMSAndGhyZWFkX3dvcmtfdG90YWx7cm9sZT0idHJhdmVyc2UifScgMgord2Fp dF9yZWFkeSAkUE9SVDEgJ3RocmVhZF93b3JrX3BlbmRpbmd7cm9sZT0ic2NhbiJ9JyAwCit3YWl0 X3JlYWR5ICRQT1JUMSAndGhyZWFkX2J1c3l7cm9sZT0ic2NhbiJ9JyAwCisjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMKKyMgQWxsIHJwbXMgbmVlZCB0byBiZSBpbiB0aGUgaW5kZXgsIGV4Y2VwdCB0aGUgZHVtbXkg cGVybWlzc2lvbi0wMDAgb25lCitycG1zPSQoZmluZCBSIC1uYW1lIFwqcnBtIHwgZ3JlcCAtdiBu b3RoaW5nIHwgd2MgLWwpCit3YWl0X3JlYWR5ICRQT1JUMSAnc2Nhbm5lZF9maWxlc190b3RhbHtz b3VyY2U9Ii5ycG0gYXJjaGl2ZSJ9JyAkcnBtcwordHh6PSQoZmluZCBaIC1uYW1lIFwqdGFyLnh6 IHwgd2MgLWwpCisKK2tpbGwgLVVTUjEgJFBJRDEgICMgdHdvIGhpdHMgb2YgU0lHVVNSMSBtYXkg YmUgbmVlZGVkIHRvIHJlc29sdmUgLmRlYnVnLT5kd3otPnNyZWZzCisjIFdhaXQgdGlsbCBib3Ro IGZpbGVzIGFyZSBpbiB0aGUgaW5kZXggYW5kIHNjYW4vaW5kZXggZnVsbHkgZmluaXNoZWQKK3dh aXRfcmVhZHkgJFBPUlQxICd0aHJlYWRfd29ya190b3RhbHtyb2xlPSJ0cmF2ZXJzZSJ9JyAzCit3 YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX3dvcmtfcGVuZGluZ3tyb2xlPSJzY2FuIn0nIDAKK3dh aXRfcmVhZHkgJFBPUlQxICd0aHJlYWRfYnVzeXtyb2xlPSJzY2FuIn0nIDAKKworIyBFeHBlY3Qg YWxsIHNvdXJjZSBmaWxlcyBmb3VuZCBpbiB0aGUgcnBtcyAodGhleSBhcmUgYWxsIGNhbGxlZCBo ZWxsby5jIDopCisjIFdlIHdpbGwgbmVlZCB0byBleHRyYWN0IGFsbCBycG1zIChpbiB0aGVpciBv d24gZGlyZWN0b3J5KSBhbmQgY291bGQgYWxsCisjIHNvdXJjZXMgcmVmZXJlbmNlZCBpbiB0aGUg LmRlYnVnIGZpbGVzLgorbWtkaXIgZXh0cmFjdGVkCitjZCBleHRyYWN0ZWQKK3N1YmRpcj0wOwor bmV3cnBtcz0kKGZpbmQgLi4vUiAtbmFtZSBcKlwucnBtIHwgZ3JlcCAtdiBub3RoaW5nKQorZm9y IGkgaW4gJG5ld3JwbXM7IGRvCisgICAgc3ViZGlyPSRbJHN1YmRpcisxXTsKKyAgICBta2RpciAk c3ViZGlyOworICAgIGNkICRzdWJkaXI7CisgICAgbHMgLWxhaCAuLi8kaQorICAgIHJwbTJjcGlv IC4uLyRpIHwgY3BpbyAtaXZkOworICAgIGNkIC4uOworZG9uZQorc291cmNlZmlsZXM9JChmaW5k IC1uYW1lIFwqXFwuZGVidWcgXAorICAgICAgICAgICAgICB8IGVudiBMRF9MSUJSQVJZX1BBVEg9 JGxkcGF0aCB4YXJncyBcCisgICAgICAgICAgICAgICAgJHthYnNfdG9wX2J1aWxkZGlyfS9zcmMv cmVhZGVsZiAtLWRlYnVnLWR1bXA9ZGVjb2RlZGxpbmUgXAorICAgICAgICAgICAgICB8IGdyZXAg bXRpbWU6IHwgd2MgLS1saW5lcykKK2NkIC4uCitybSAtcmYgZXh0cmFjdGVkCisKK3dhaXRfcmVh ZHkgJFBPUlQxICdmb3VuZF9zb3VyY2VyZWZzX3RvdGFse3NvdXJjZT0iLnJwbSBhcmNoaXZlIn0n ICRzb3VyY2VmaWxlcworCisjIGNvbW1vbiBzb3VyY2UgZmlsZSBzaGExCitTSEE9ZjRhMWE4MDYy YmU5OThhZTkzYjhmMWNkNzQ0YTM5OGM2ZGU2ZGJiMQorIyBmZWRvcmEzMQoraWYgWyAkenN0ZCA9 IHRydWUgXTsgdGhlbgorICAgICMgZmVkb3JhMzEgdXNlcyB6c3RkIGNvbXByZXNzaW9uIG9uIHJw bXMsIG9sZGVyIHJwbTJjcGlvL2xpYmFyY2hpdmUgY2FuJ3QgaGFuZGxlIGl0CisgICAgIyBhbmQg d2UncmUgbm90IHVzaW5nIHRoZSBmYW5jeSAtWiAnLnJwbT0ocnBtMmNwaW98enN0ZGNhdCk8JyB3 b3JrYXJvdW5kIGluIHRoaXMgdGVzdHN1aXRlCisgICAgYXJjaGl2ZV90ZXN0IDQyMGU5ZTMzMDg5 NzFmNGI4MTdjYzViZjgzOTI4YjQxYTY5MDlkODggL3Vzci9zcmMvZGVidWcvaGVsbG8zLTEuMC0y Lng4Nl82NC9mb29iYXIvLy8vLi8uLi9oZWxsby5jICRTSEEKKyAgICBhcmNoaXZlX3Rlc3QgODdj MDhkMTJjNzgxNzRmMTA4MmI3Yzg4OGIzMjM4MjE5YjBlYjI2NSAvdXNyL3NyYy9kZWJ1Zy9oZWxs bzMtMS4wLTIueDg2XzY0Ly8vZm9vYmFyLy4vLi4vL2hlbGxvLmMgJFNIQQorZmkKKyMgZmVkb3Jh MzAKK2FyY2hpdmVfdGVzdCBjMzY3MDhhNzg2MThkNTk3ZGVlMTVkMGRjOTg5ZjA5M2NhNWY5MTIw IC91c3Ivc3JjL2RlYnVnL2hlbGxvMi0xLjAtMi54ODZfNjQvaGVsbG8uYyAkU0hBCithcmNoaXZl X3Rlc3QgNDFhMjM2ZWI2NjdjMzYyYTFjNDE5NjAxOGNjNDU4MWUwOTcyMmIxYiAvdXNyL3NyYy9k ZWJ1Zy9oZWxsbzItMS4wLTIueDg2XzY0L2hlbGxvLmMgJFNIQQorIyByaGVsNworYXJjaGl2ZV90 ZXN0IGJjMWZlYmZkMDNjYTA1ZTAzMGYwZDIwNWY3NjU5ZGIyOWY4YTRiMzAgL3Vzci9zcmMvZGVi dWcvaGVsbG8tMS4wL2hlbGxvLmMgJFNIQQorYXJjaGl2ZV90ZXN0IGYwYWExNWI4YWJhNGYzYzI4 Y2FjM2MyYTczODAxZmVmYTY0NGE5ZjIgL3Vzci9zcmMvZGVidWcvaGVsbG8tMS4wL2hlbGxvLmMg JFNIQQorIyByaGVsNgorYXJjaGl2ZV90ZXN0IGJiYmY5MmViZWU1MjI4MzEwZTM5ODYwOWMyM2My ZDdkNTNmNmUyZjkgL3Vzci9zcmMvZGVidWcvaGVsbG8tMS4wL2hlbGxvLmMgJFNIQQorYXJjaGl2 ZV90ZXN0IGQ0NGQ0MmNiZDdkOTE1YmM5MzhjODEzMzNhMjFlMzU1YTYwMjJmYjcgL3Vzci9zcmMv ZGVidWcvaGVsbG8tMS4wL2hlbGxvLmMgJFNIQQorUlBNX0JVSUxESUQ9ZDQ0ZDQyY2JkN2Q5MTVi YzkzOGM4MTMzM2EyMWUzNTVhNjAyMmZiNyAjIGluIHJoZWw2LyBzdWJkaXIKKworIyBEcm9wIHNv bWUgb2YgdGhlIGFydGlmYWN0cywgcnVuIGEgZ3Jvb20gY3ljbGU7IGNvbmZpcm0gdGhhdAorIyBk ZWJ1Z2luZm9kIGhhcyBmb3Jnb3R0ZW4gdGhlbSwgYnV0IHJlbWVtYmVycyBvdGhlcnMKK3JtIC1y IFIvZGVidWdpbmZvZC1ycG1zL3JoZWw2LyoKK2tpbGwgLVVTUjIgJFBJRDEgICMgZ3Jvb20gY3lj bGUKKyMjIDEgZ3Jvb20gY3ljbGUgYWxyZWFkeSB0b29rIHBsYWNlIGF0L3Nvb24tYWZ0ZXIgc3Rh cnR1cCwgc28gLVVTUjIgbWFrZXMgMgord2FpdF9yZWFkeSAkUE9SVDEgJ3RocmVhZF93b3JrX3Rv dGFse3JvbGU9Imdyb29tIn0nIDEKKyMgRXhwZWN0IDQgcnBtcyBjb250YWluaW5nIDIgYnVpbGRp ZHMgdG8gYmUgZGVsZXRlZCBieSB0aGUgZ3Jvb20KK3dhaXRfcmVhZHkgJFBPUlQxICdncm9vbWVk X3RvdGFse2RlY2lzaW9uPSJzdGFsZSJ9JyA0CisKK3JtIC1yZiAkREVCVUdJTkZPRF9DQUNIRV9Q QVRIICMgY2xlYW4gaXQgZnJvbSBwcmV2aW91cyB0ZXN0cworCisjIHRoaXMgaXMgb25lIG9mIHRo ZSBidWlsZGlkcyBmcm9tIHRoZSBncm9vbS1kZWxldGVkIHJwbXMKK3Rlc3RydW4gJHthYnNfdG9w X2J1aWxkZGlyfS9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QtZmluZCBleGVjdXRhYmxlICRSUE1fQlVJ TERJRCAmJiBmYWxzZSB8fCB0cnVlCisKKyMgYnV0IHRoaXMgb25lIHdhcyBub3QgZGVsZXRlZCBz byBzaG91bGQgYmUgc3RpbGwgYXJvdW5kCit0ZXN0cnVuICR7YWJzX3RvcF9idWlsZGRpcn0vZGVi dWdpbmZvZC9kZWJ1Z2luZm9kLWZpbmQgZXhlY3V0YWJsZSAkQlVJTERJRCB8fCB0cnVlCisKK2tp bGwgJFBJRDEKK3dhaXQgJFBJRDEKK1BJRDE9MAorZXhpdCAwCmRpZmYgLS1naXQgYS90ZXN0cy9y dW4tZGVidWdpbmZvZC1hcmNoaXZlLXJlbmFtZS5zaCBiL3Rlc3RzL3J1bi1kZWJ1Z2luZm9kLWFy Y2hpdmUtcmVuYW1lLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwLi4yZjZl ZTJkZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3J1bi1kZWJ1Z2luZm9kLWFyY2hpdmUtcmVu YW1lLnNoCkBAIC0wLDAgKzEsOTUgQEAKKyMhL3Vzci9iaW4vZW52IGJhc2gKKyMKKyMgQ29weXJp Z2h0IChDKSAyMDE5LTIwMjEgUmVkIEhhdCwgSW5jLgorIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBl bGZ1dGlscy4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0 cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0 IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgZWxmdXRpbHMgaXMgZGlzdHJp YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CisjIFdJVEhPVVQg QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVS Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo ZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIyBZ b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZQorIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8v d3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKworLiAkc3JjZGlyL3Rlc3Qtc3Vici5zaCAgIyBpbmNs dWRlcyBzZXQgLWUKKyMgZm9yIHRlc3QgY2FzZSBkZWJ1Z2dpbmcsIHVuY29tbWVudDoKK3NldCAt eAordW5zZXQgVkFMR1JJTkRfQ01ECisjIFRoaXMgdmFyaWFibGUgaXMgZXNzZW50aWFsIGFuZCBl bnN1cmVzIG5vIHRpbWUtcmFjZSBmb3IgY2xhaW1pbmcgcG9ydHMgb2NjdXJzCisjIHNldCBiYXNl IHRvIGEgdW5pcXVlIG11bHRpcGxlIG9mIDEwMCBub3QgdXNlZCBpbiBhbnkgb3RoZXIgJ3J1bi1k ZWJ1Z2luZm9kLSonIHRlc3QKK2Jhc2U9ODIwMAorZ2V0X3BvcnRzCitEQj0ke1BXRH0vLmRlYnVn aW5mb2RfdG1wLnNxbGl0ZQorZXhwb3J0IERFQlVHSU5GT0RfQ0FDSEVfUEFUSD0ke1BXRH0vLmNs aWVudF9jYWNoZQorZXhwb3J0IERFQlVHSU5GT0RfVElNRU9VVD0xMAorZXhwb3J0IERFQlVHSU5G T0RfVVJMUz0naHR0cDovLzEyNy4wLjAuMTonJFBPUlQxCit0ZW1wZmlsZXMgJERFQlVHSU5GT0Rf Q0FDSEVfUEFUSCAkREIKKyMgQ2xlYW4gb2xkIGRpcmljdG9yaWVzCitta2RpciBSICR7UFdEfS9G CitlbnYgTERfTElCUkFSWV9QQVRIPSRsZHBhdGggJHthYnNfYnVpbGRkaXJ9Ly4uL2RlYnVnaW5m b2QvZGVidWdpbmZvZCAkVkVSQk9TRSBcCisgICAgLUYgLVIgLWQgJERCIC1wICRQT1JUMSAtdDAg LWcwIC12IFIgJHtQV0R9L0YgPiB2bG9nJFBPUlQxIDI+JjEgJgorCitQSUQxPSQhCit0ZW1wZmls ZXMgdmxvZyRQT1JUMQorZXJyZmlsZXMgdmxvZyRQT1JUMQorIyBTZXJ2ZXIgbXVzdCBiZWNvbWUg cmVhZHkKK3dhaXRfcmVhZHkgJFBPUlQxICdyZWFkeScgMQorIyBDaGVjayB0aHJlYWQgY29tbSBu YW1lcworcHMgLXEgJFBJRDEgLWUgLUwgLW8gJyVwICVjICVhJyB8IGdyZXAgZ3Jvb20KK3BzIC1x ICRQSUQxIC1lIC1MIC1vICclcCAlYyAlYScgfCBncmVwIHNjYW4KK3BzIC1xICRQSUQxIC1lIC1M IC1vICclcCAlYyAlYScgfCBncmVwIHRyYXZlcnNlCisKK2NwIC1ydnAgJHthYnNfc3JjZGlyfS9k ZWJ1Z2luZm9kLXJwbXMgUgoraWYgWyAiJHpzdGQiID0gImZhbHNlIiBdOyB0aGVuICAjIG51a2Ug dGhlIHpzdGQgZmVkb3JhIDMxIG9uZXMKKyAgICBybSAtdnJmIFIvZGVidWdpbmZvZC1ycG1zL2Zl ZG9yYTMxCitmaQorCitraWxsIC1VU1IxICRQSUQxCisjIE5vdyB0aGVyZSBzaG91bGQgYmUgMSBm aWxlcyBpbiB0aGUgaW5kZXgKK3dhaXRfcmVhZHkgJFBPUlQxICd0aHJlYWRfd29ya190b3RhbHty b2xlPSJ0cmF2ZXJzZSJ9JyAxCit3YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX3dvcmtfcGVuZGlu Z3tyb2xlPSJzY2FuIn0nIDAKK3dhaXRfcmVhZHkgJFBPUlQxICd0aHJlYWRfYnVzeXtyb2xlPSJz Y2FuIn0nIDAKKworIyBjb21tb24gc291cmNlIGZpbGUgc2hhMQorU0hBPWY0YTFhODA2MmJlOTk4 YWU5M2I4ZjFjZDc0NGEzOThjNmRlNmRiYjEKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIyBQUjI2ODEw OiBOb3cgcmVuYW1lIHNvbWUgZmlsZXMgaW4gdGhlIFIgZGlyZWN0b3J5LCB0aGVuIHJlc2Nhbiwg c28KKyMgdGhlcmUgYXJlIHR3byBjb3BpZXMgb2YgdGhlIHNhbWUgYnVpbGRpZCBpbiB0aGUgaW5k ZXgsIG9uZSBmb3IgdGhlCisjIG5vLWxvbmdlci1leGlzdGluZyBmaWxlIG5hbWUsIGFuZCBvbmUg dW5kZXIgdGhlIG5ldyBuYW1lLgorCisjIHJ1biBhIGdyb29tIGN5Y2xlIHRvIGZvcmNlIHNlcnZl ciB0byBkcm9wIGl0cyBmZGNhY2hlCitraWxsIC1VU1IyICRQSUQxICAjIGdyb29tIGN5Y2xlCit3 YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX3dvcmtfdG90YWx7cm9sZT0iZ3Jvb20ifScgMgorIyBt b3ZlIGl0IGFyb3VuZCBhIGNvdXBsZSBvZiB0aW1lcyB0byBtYWtlIGl0IGxpa2VseSB0byBoaXQg YSBub25leGlzdGVudCBlbnRyeSBkdXJpbmcgaXRlcmF0aW9uCittdiBSL2RlYnVnaW5mb2QtcnBt cy9yaGVsNyBSL2RlYnVnaW5mb2QtcnBtcy9yaGVsN3JlbmFtZWQKK2tpbGwgLVVTUjEgJFBJRDEg ICMgc2NhbiBjeWNsZQord2FpdF9yZWFkeSAkUE9SVDEgJ3RocmVhZF93b3JrX3RvdGFse3JvbGU9 InRyYXZlcnNlIn0nIDIKK3dhaXRfcmVhZHkgJFBPUlQxICd0aHJlYWRfd29ya19wZW5kaW5ne3Jv bGU9InNjYW4ifScgMAord2FpdF9yZWFkeSAkUE9SVDEgJ3RocmVhZF9idXN5e3JvbGU9InNjYW4i fScgMAorbXYgUi9kZWJ1Z2luZm9kLXJwbXMvcmhlbDdyZW5hbWVkIFIvZGVidWdpbmZvZC1ycG1z L3JoZWw3cmVuYW1lZDIKK2tpbGwgLVVTUjEgJFBJRDEgICMgc2NhbiBjeWNsZQord2FpdF9yZWFk eSAkUE9SVDEgJ3RocmVhZF93b3JrX3RvdGFse3JvbGU9InRyYXZlcnNlIn0nIDMKK3dhaXRfcmVh ZHkgJFBPUlQxICd0aHJlYWRfd29ya19wZW5kaW5ne3JvbGU9InNjYW4ifScgMAord2FpdF9yZWFk eSAkUE9SVDEgJ3RocmVhZF9idXN5e3JvbGU9InNjYW4ifScgMAorbXYgUi9kZWJ1Z2luZm9kLXJw bXMvcmhlbDdyZW5hbWVkMiBSL2RlYnVnaW5mb2QtcnBtcy9yaGVsN3JlbmFtZWQzCitraWxsIC1V U1IxICRQSUQxICAjIHNjYW4gY3ljbGUKK3dhaXRfcmVhZHkgJFBPUlQxICd0aHJlYWRfd29ya190 b3RhbHtyb2xlPSJ0cmF2ZXJzZSJ9JyA0Cit3YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX3dvcmtf cGVuZGluZ3tyb2xlPSJzY2FuIn0nIDAKK3dhaXRfcmVhZHkgJFBPUlQxICd0aHJlYWRfYnVzeXty b2xlPSJzY2FuIn0nIDAKKworIyByZXRlc3QgcmhlbDcKK2FyY2hpdmVfdGVzdCBiYzFmZWJmZDAz Y2EwNWUwMzBmMGQyMDVmNzY1OWRiMjlmOGE0YjMwIC91c3Ivc3JjL2RlYnVnL2hlbGxvLTEuMC9o ZWxsby5jICRTSEEKK2FyY2hpdmVfdGVzdCBmMGFhMTViOGFiYTRmM2MyOGNhYzNjMmE3MzgwMWZl ZmE2NDRhOWYyIC91c3Ivc3JjL2RlYnVnL2hlbGxvLTEuMC9oZWxsby5jICRTSEEKKworZWdyZXAg JyhsaWJjLmVycm9yLipyaGVsNyl8KGJjMWZlYmZkMDNjYSl8KGYwYWExNWI4YWJhKScgdmxvZyRQ T1JUMQorCitraWxsICRQSUQxCit3YWl0ICRQSUQxCitQSUQxPTAKK2V4aXQgMDsKZGlmZiAtLWdp dCBhL3Rlc3RzL3J1bi1kZWJ1Z2luZm9kLWFyY2hpdmUtdGVzdC5zaCBiL3Rlc3RzL3J1bi1kZWJ1 Z2luZm9kLWFyY2hpdmUtdGVzdC5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAw MC4uY2ZmZTk1YmEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9ydW4tZGVidWdpbmZvZC1hcmNo aXZlLXRlc3Quc2gKQEAgLTAsMCArMSw4MyBAQAorIyEvdXNyL2Jpbi9lbnYgYmFzaAorIworIyBD b3B5cmlnaHQgKEMpIDIwMTktMjAyMSBSZWQgSGF0LCBJbmMuCisjIFRoaXMgZmlsZSBpcyBwYXJ0 IG9mIGVsZnV0aWxzLgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgor IyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBlbGZ1dGlscyBpcyBk aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKKyMgV0lU SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgor IyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT ZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisj CisjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlCisjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0 dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorCisuICRzcmNkaXIvdGVzdC1zdWJyLnNoICAj IGluY2x1ZGVzIHNldCAtZQorCisjIGZvciB0ZXN0IGNhc2UgZGVidWdnaW5nLCB1bmNvbW1lbnQ6 CitzZXQgLXgKK3Vuc2V0IFZBTEdSSU5EX0NNRAorCisjIGZpbmQgYW4gdW51c2VkIHBvcnQgbnVt YmVyCitta2RpciBSCisjIFRoaXMgdmFyaWFibGUgaXMgZXNzZW50aWFsIGFuZCBlbnN1cmVzIG5v IHRpbWUtcmFjZSBmb3IgY2xhaW1pbmcgcG9ydHMgb2NjdXJzCisjIHNldCBiYXNlIHRvIGEgdW5p cXVlIG11bHRpcGxlIG9mIDEwMCBub3QgdXNlZCBpbiBhbnkgb3RoZXIgJ3J1bi1kZWJ1Z2luZm9k LSonIHRlc3QKK2Jhc2U9ODMwMAorZ2V0X3BvcnRzCisKK2VudiBMRF9MSUJSQVJZX1BBVEg9JGxk cGF0aCAke2Fic19idWlsZGRpcn0vLi4vZGVidWdpbmZvZC9kZWJ1Z2luZm9kICRWRVJCT1NFIC1S IC1wICRQT1JUMSAtdDAgLWcwIC12IFIgPiB2bG9nJFBPUlQxIDI+JjEgJgorUElEMT0kIQordGVt cGZpbGVzIHZsb2ckUE9SVDEKK2VycmZpbGVzIHZsb2ckUE9SVDEKKyMgU2VydmVyIG11c3QgYmVj b21lIHJlYWR5Cit3YWl0X3JlYWR5ICRQT1JUMSAncmVhZHknIDEKKworIyBCZSBwYXRpZW50IHdo ZW4gcnVuIG9uIGEgYnVzeSBtYWNoaW5lIHRoaW5ncyBtaWdodCB0YWtlIGEgYml0LgorZXhwb3J0 IERFQlVHSU5GT0RfVElNRU9VVD0xMAorZXhwb3J0IERFQlVHSU5GT0RfVVJMUz0naHR0cDovLzEy Ny4wLjAuMTonJFBPUlQxCisKKyMgQ2hlY2sgdGhyZWFkIGNvbW0gbmFtZXMKK3BzIC1xICRQSUQx IC1lIC1MIC1vICclcCAlYyAlYScgfCBncmVwIGdyb29tCitwcyAtcSAkUElEMSAtZSAtTCAtbyAn JXAgJWMgJWEnIHwgZ3JlcCBzY2FuCitwcyAtcSAkUElEMSAtZSAtTCAtbyAnJXAgJWMgJWEnIHwg Z3JlcCB0cmF2ZXJzZQorCitjcCAtcnZwICR7YWJzX3NyY2Rpcn0vZGVidWdpbmZvZC1ycG1zIFIK K2lmIFsgIiR6c3RkIiA9ICJmYWxzZSIgXTsgdGhlbiAgIyBudWtlIHRoZSB6c3RkIGZlZG9yYSAz MSBvbmVzCisgICAgcm0gLXZyZiBSL2RlYnVnaW5mb2QtcnBtcy9mZWRvcmEzMQorZmkKKwora2ls bCAtVVNSMSAkUElEMQorIyBXYWl0IHRpbGwgYm90aCBmaWxlcyBhcmUgaW4gdGhlIGluZGV4IGFu ZCBzY2FuL2luZGV4IGZ1bGx5IGZpbmlzaGVkCit3YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX3dv cmtfdG90YWx7cm9sZT0idHJhdmVyc2UifScgMQord2FpdF9yZWFkeSAkUE9SVDEgJ3RocmVhZF93 b3JrX3BlbmRpbmd7cm9sZT0ic2NhbiJ9JyAwCit3YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX2J1 c3l7cm9sZT0ic2NhbiJ9JyAwCisKKyMgY29tbW9uIHNvdXJjZSBmaWxlIHNoYTEKK1NIQT1mNGEx YTgwNjJiZTk5OGFlOTNiOGYxY2Q3NDRhMzk4YzZkZTZkYmIxCisjIGZlZG9yYTMxCitpZiBbICR6 c3RkID0gdHJ1ZSBdOyB0aGVuCisgICAgIyBmZWRvcmEzMSB1c2VzIHpzdGQgY29tcHJlc3Npb24g b24gcnBtcywgb2xkZXIgcnBtMmNwaW8vbGliYXJjaGl2ZSBjYW4ndCBoYW5kbGUgaXQKKyAgICAj IGFuZCB3ZSdyZSBub3QgdXNpbmcgdGhlIGZhbmN5IC1aICcucnBtPShycG0yY3Bpb3x6c3RkY2F0 KTwnIHdvcmthcm91bmQgaW4gdGhpcyB0ZXN0c3VpdGUKKyAgICBhcmNoaXZlX3Rlc3QgNDIwZTll MzMwODk3MWY0YjgxN2NjNWJmODM5MjhiNDFhNjkwOWQ4OCAvdXNyL3NyYy9kZWJ1Zy9oZWxsbzMt MS4wLTIueDg2XzY0L2Zvb2Jhci8vLy8uLy4uL2hlbGxvLmMgJFNIQQorICAgIGFyY2hpdmVfdGVz dCA4N2MwOGQxMmM3ODE3NGYxMDgyYjdjODg4YjMyMzgyMTliMGViMjY1IC91c3Ivc3JjL2RlYnVn L2hlbGxvMy0xLjAtMi54ODZfNjQvLy9mb29iYXIvLi8uLi8vaGVsbG8uYyAkU0hBCitmaQorIyBm ZWRvcmEzMAorYXJjaGl2ZV90ZXN0IGMzNjcwOGE3ODYxOGQ1OTdkZWUxNWQwZGM5ODlmMDkzY2E1 ZjkxMjAgL3Vzci9zcmMvZGVidWcvaGVsbG8yLTEuMC0yLng4Nl82NC9oZWxsby5jICRTSEEKK2Fy Y2hpdmVfdGVzdCA0MWEyMzZlYjY2N2MzNjJhMWM0MTk2MDE4Y2M0NTgxZTA5NzIyYjFiIC91c3Iv c3JjL2RlYnVnL2hlbGxvMi0xLjAtMi54ODZfNjQvaGVsbG8uYyAkU0hBCisjIHJoZWw3CithcmNo aXZlX3Rlc3QgYmMxZmViZmQwM2NhMDVlMDMwZjBkMjA1Zjc2NTlkYjI5ZjhhNGIzMCAvdXNyL3Ny Yy9kZWJ1Zy9oZWxsby0xLjAvaGVsbG8uYyAkU0hBCithcmNoaXZlX3Rlc3QgZjBhYTE1YjhhYmE0 ZjNjMjhjYWMzYzJhNzM4MDFmZWZhNjQ0YTlmMiAvdXNyL3NyYy9kZWJ1Zy9oZWxsby0xLjAvaGVs bG8uYyAkU0hBCisjIHJoZWw2CithcmNoaXZlX3Rlc3QgYmJiZjkyZWJlZTUyMjgzMTBlMzk4NjA5 YzIzYzJkN2Q1M2Y2ZTJmOSAvdXNyL3NyYy9kZWJ1Zy9oZWxsby0xLjAvaGVsbG8uYyAkU0hBCith cmNoaXZlX3Rlc3QgZDQ0ZDQyY2JkN2Q5MTViYzkzOGM4MTMzM2EyMWUzNTVhNjAyMmZiNyAvdXNy L3NyYy9kZWJ1Zy9oZWxsby0xLjAvaGVsbG8uYyAkU0hBCisjIGFyY2gKKyNhcmNoaXZlX3Rlc3Qg Y2VlMTNiMmVhNTA1YTdmMzdiZDIwZDI3MWM2YmM3ZTVmOGQyZGZjYiAvdXNyL3NyYy9kZWJ1Zy9o ZWxsby5jIDdhMTMzNGUwODZiOTdlNWYxMjQwMDNhNmNmYjNlZDc5MmQxMGNkZjQKKwora2lsbCAk UElEMQord2FpdCAkUElEMQorUElEMT0wCitleGl0IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL3J1bi1k ZWJ1Z2luZm9kLWFydGlmYWN0LXJ1bm5pbmcuc2ggYi90ZXN0cy9ydW4tZGVidWdpbmZvZC1hcnRp ZmFjdC1ydW5uaW5nLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwLi44OWRl ZTk5NAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3J1bi1kZWJ1Z2luZm9kLWFydGlmYWN0LXJ1 bm5pbmcuc2gKQEAgLTAsMCArMSwxMjIgQEAKKyMhL3Vzci9iaW4vZW52IGJhc2gKKyMKKyMgQ29w eXJpZ2h0IChDKSAyMDE5LTIwMjEgUmVkIEhhdCwgSW5jLgorIyBUaGlzIGZpbGUgaXMgcGFydCBv ZiBlbGZ1dGlscy4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk aXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKyMg KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgZWxmdXRpbHMgaXMgZGlz dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CisjIFdJVEhP VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMg TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl IHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIwor IyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZQorIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRw Oi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKworLiAkc3JjZGlyL3Rlc3Qtc3Vici5zaCAgIyBp bmNsdWRlcyBzZXQgLWUKKworIyBmb3IgdGVzdCBjYXNlIGRlYnVnZ2luZywgdW5jb21tZW50Ogor c2V0IC14Cit1bnNldCBWQUxHUklORF9DTUQKKyMgVGhpcyB2YXJpYWJsZSBpcyBlc3NlbnRpYWwg YW5kIGVuc3VyZXMgbm8gdGltZS1yYWNlIGZvciBjbGFpbWluZyBwb3J0cyBvY2N1cnMKKyMgc2V0 IGJhc2UgdG8gYSB1bmlxdWUgbXVsdGlwbGUgb2YgMTAwIG5vdCB1c2VkIGluIGFueSBvdGhlciAn cnVuLWRlYnVnaW5mb2QtKicgdGVzdAorYmFzZT04NDAwCitnZXRfcG9ydHMKK21rZGlyIEYKKwor REI9JHtQV0R9Ly5kZWJ1Z2luZm9kX3RtcC5zcWxpdGUKK3RlbXBmaWxlcyAkREIKK2V4cG9ydCBE RUJVR0lORk9EX0NBQ0hFX1BBVEg9JHtQV0R9Ly5jbGllbnRfY2FjaGUKKworZWNobyAnaW50IG1h aW4oaW50IGFyZ2MsIGNoYXIgKiBhcmd2KXsgcmV0dXJuIDA7IH0nID4gJHtQV0R9L3Byb2cuYwor Z2NjIC1XbCwtLWJ1aWxkLWlkIC1nIC1vIHByb2cgJHtQV0R9L3Byb2cuYwordGVzdHJ1biAke2Fi c190b3BfYnVpbGRkaXJ9L3NyYy9zdHJpcCAtZyAtZiBwcm9nLmRlYnVnICR7UFdEfS9wcm9nCit0 ZW1wZmlsZXMgcHJvZyBwcm9nLmRlYnVnIHByb2cuYworQlVJTERJRD1gZW52IExEX0xJQlJBUllf UEFUSD0kbGRwYXRoICR7YWJzX2J1aWxkZGlyfS8uLi9zcmMvcmVhZGVsZiBcCisgICAgICAgICAg LWEgcHJvZyB8IGdyZXAgJ0J1aWxkIElEJyB8IGN1dCAtZCAnICcgLWYgN2AKK2V4cG9ydCBERUJV R0lORk9EX1VSTFM9aHR0cDovLzEyNy4wLjAuMTokUE9SVDEKK2VudiBMRF9MSUJSQVJZX1BBVEg9 JGxkcGF0aCAke2Fic19idWlsZGRpcn0vLi4vZGVidWdpbmZvZC9kZWJ1Z2luZm9kICRWRVJCT1NF IC1kICREQiAtRiAtcCAkUE9SVDEgLXQwIC1nMCAtdiBGID4gdmxvZyRQT1JUMSAyPiYxICYKK1BJ RDE9JCEKK3RlbXBmaWxlcyB2bG9nJFBPUlQxCitlcnJmaWxlcyB2bG9nJFBPUlQxCittdiBwcm9n IEYKK212IHByb2cuZGVidWcgRgordGVtcGZpbGVzIHByb2cvRgorCisjIEJlIHBhdGllbnQgd2hl biBydW4gb24gYSBidXN5IG1hY2hpbmUgdGhpbmdzIG1pZ2h0IHRha2UgYSBiaXQuCitleHBvcnQg REVCVUdJTkZPRF9USU1FT1VUPTEwCisKKyMgU2VydmVyIG11c3QgYmVjb21lIHJlYWR5Cit3YWl0 X3JlYWR5ICRQT1JUMSAncmVhZHknIDEKK2tpbGwgLVVTUjEgJFBJRDEKKword2FpdF9yZWFkeSAk UE9SVDEgJ3RocmVhZF93b3JrX3RvdGFse3JvbGU9InRyYXZlcnNlIn0nIDEKK3dhaXRfcmVhZHkg JFBPUlQxICd0aHJlYWRfd29ya19wZW5kaW5ne3JvbGU9InNjYW4ifScgMAord2FpdF9yZWFkeSAk UE9SVDEgJ3RocmVhZF9idXN5e3JvbGU9InNjYW4ifScgMAorCisjIENoZWNrIHRocmVhZCBjb21t IG5hbWVzCitwcyAtcSAkUElEMSAtZSAtTCAtbyAnJXAgJWMgJWEnIHwgZ3JlcCBncm9vbQorcHMg LXEgJFBJRDEgLWUgLUwgLW8gJyVwICVjICVhJyB8IGdyZXAgc2NhbgorcHMgLXEgJFBJRDEgLWUg LUwgLW8gJyVwICVjICVhJyB8IGdyZXAgdHJhdmVyc2UKKworIyBBZGQgYXJ0aWZhY3RzIHRvIHRo ZSBzZWFyY2ggcGF0aHMgYW5kIHRlc3Qgd2hldGhlciBkZWJ1Z2luZm9kIGZpbmRzIHRoZW0gd2hp bGUgYWxyZWFkeSBydW5uaW5nLgorIyBCdWlsZCBhbm90aGVyLCBub24tc3RyaXBwZWQgYmluYXJ5 CitlY2hvICJpbnQgbWFpbigpIHsgcmV0dXJuIDA7IH0iID4gJHtQV0R9L3Byb2cyLmMKK3RlbXBm aWxlcyBwcm9nMi5jCitnY2MgLVdsLC0tYnVpbGQtaWQgLWcgLW8gcHJvZzIgJHtQV0R9L3Byb2cy LmMKKyN0ZXN0cnVuICR7YWJzX3RvcF9idWlsZGRpcn0vc3JjL3N0cmlwIC1nIC1mIHByb2cuZGVi dWcgJHtQV0R9L3Byb2cKK0JVSUxESUQyPWBlbnYgTERfTElCUkFSWV9QQVRIPSRsZHBhdGggJHth YnNfYnVpbGRkaXJ9Ly4uL3NyYy9yZWFkZWxmIFwKKyAgICAgICAgICAtYSBwcm9nMiB8IGdyZXAg J0J1aWxkIElEJyB8IGN1dCAtZCAnICcgLWYgN2AKK212IHByb2cyIEYKKyNtdiBwcm9nMi5kZWJ1 ZyBGCit0ZW1wZmlsZXMgRi9wcm9nMiBGL3Byb2cyLmRlYnVnCisKK2tpbGwgLVVTUjEgJFBJRDEK KyMgTm93IHRoZXJlIHNob3VsZCBiZSAzIGZpbGVzIGluIHRoZSBpbmRleAord2FpdF9yZWFkeSAk UE9SVDEgJ3RocmVhZF93b3JrX3RvdGFse3JvbGU9InRyYXZlcnNlIn0nIDIKK3dhaXRfcmVhZHkg JFBPUlQxICd0aHJlYWRfd29ya19wZW5kaW5ne3JvbGU9InNjYW4ifScgMAord2FpdF9yZWFkeSAk UE9SVDEgJ3RocmVhZF9idXN5e3JvbGU9InNjYW4ifScgMAorCisjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKwor IyBUZXN0IHdoZXRoZXIgZGVidWdpbmZvZC1maW5kIGlzIGFibGUgdG8gZmV0Y2ggdGhvc2UgZmls ZXMuCitybSAtcmYgJERFQlVHSU5GT0RfQ0FDSEVfUEFUSCAjIGNsZWFuIGl0IGZyb20gcHJldmlv dXMgdGVzdHMKK2ZpbGVuYW1lPWB0ZXN0cnVuICR7YWJzX3RvcF9idWlsZGRpcn0vZGVidWdpbmZv ZC9kZWJ1Z2luZm9kLWZpbmQgZGVidWdpbmZvICRCVUlMRElEYAorY21wICRmaWxlbmFtZSBGL3By b2cuZGVidWcKK2lmIFsgLXcgJGZpbGVuYW1lIF07IHRoZW4KKyAgICBlY2hvICJjYWNoZSBmaWxl IHdyaXRhYmxlLCBib28iCisgICAgZXJyCitmaQorCitmaWxlbmFtZT1gdGVzdHJ1biAke2Fic190 b3BfYnVpbGRkaXJ9L2RlYnVnaW5mb2QvZGVidWdpbmZvZC1maW5kIGV4ZWN1dGFibGUgRi9wcm9n YAorY21wICRmaWxlbmFtZSBGL3Byb2cKKworIyByYXcgc291cmNlIGZpbGVuYW1lCitmaWxlbmFt ZT1gdGVzdHJ1biAke2Fic190b3BfYnVpbGRkaXJ9L2RlYnVnaW5mb2QvZGVidWdpbmZvZC1maW5k IHNvdXJjZSAkQlVJTERJRCAke1BXRH0vZm9vYmFyLy8vLi8uLi9wcm9nLmNgCitjbXAgJGZpbGVu YW1lICAke1BXRH0vcHJvZy5jCisKKyMgYW5kIGFsc28gdGhlIGNhbm9uaWNhbGl6ZWQgb25lCitm aWxlbmFtZT1gdGVzdHJ1biAke2Fic190b3BfYnVpbGRkaXJ9L2RlYnVnaW5mb2QvZGVidWdpbmZv ZC1maW5kIHNvdXJjZSAkQlVJTERJRCAke1BXRH0vcHJvZy5jYAorY21wICRmaWxlbmFtZSAgJHtQ V0R9L3Byb2cuYworCisjIFJlcnVuIHNhbWUgdGVzdHMgZm9yIHRoZSBwcm9nMiBiaW5hcnkKK2Zp bGVuYW1lPWB0ZXN0cnVuICR7YWJzX3RvcF9idWlsZGRpcn0vZGVidWdpbmZvZC9kZWJ1Z2luZm9k LWZpbmQgLXYgZGVidWdpbmZvICRCVUlMRElEMiAyPnZsb2dgCitjbXAgJGZpbGVuYW1lIEYvcHJv ZzIKK2dyZXAgLXEgUHJvZ3Jlc3MgdmxvZworZ3JlcCAtcSBEb3dubG9hZGVkLmZyb20gdmxvZwor dGVtcGZpbGVzIHZsb2cKK2ZpbGVuYW1lPWB0ZXN0cnVuIGVudiBERUJVR0lORk9EX1BST0dSRVNT PTEgJHthYnNfdG9wX2J1aWxkZGlyfS9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QtZmluZCBleGVjdXRh YmxlICRCVUlMRElEMiAyPnZsb2cyYAorY21wICRmaWxlbmFtZSBGL3Byb2cyCitncmVwIC1xICdE b3dubG9hZGluZy4qaHR0cCcgdmxvZzIKK3RlbXBmaWxlcyB2bG9nMgorZmlsZW5hbWU9YHRlc3Ry dW4gJHthYnNfdG9wX2J1aWxkZGlyfS9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QtZmluZCBzb3VyY2Ug JEJVSUxESUQyICR7UFdEfS9wcm9nMi5jYAorY21wICRmaWxlbmFtZSAke1BXRH0vcHJvZzIuYwor CisKK2tpbGwgJFBJRDEKK3dhaXQgJFBJRDEKK1BJRDE9MAorZXhpdCAwCmRpZmYgLS1naXQgYS90 ZXN0cy9ydW4tZGVidWdpbmZvZC1kbG9wZW4uc2ggYi90ZXN0cy9ydW4tZGVidWdpbmZvZC1kbG9w ZW4uc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAuLjgwM2Y0ZjQ0Ci0tLSAv ZGV2L251bGwKKysrIGIvdGVzdHMvcnVuLWRlYnVnaW5mb2QtZGxvcGVuLnNoCkBAIC0wLDAgKzEs ODQgQEAKKyMhL3Vzci9iaW4vZW52IGJhc2gKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjEg UmVkIEhhdCwgSW5jLgorIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBlbGZ1dGlscy4KKyMKKyMgVGhp cyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBt b2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0 aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkg bGF0ZXIgdmVyc2lvbi4KKyMKKyMgZWxmdXRpbHMgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CisjIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVj ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorIyBhbG9uZyB3 aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5z ZXMvPi4KKworLiAkc3JjZGlyL3Rlc3Qtc3Vici5zaCAgIyBpbmNsdWRlcyBzZXQgLWUKKworIyBm b3IgdGVzdCBjYXNlIGRlYnVnZ2luZywgdW5jb21tZW50Ogorc2V0IC14Cit1bnNldCBWQUxHUklO RF9DTUQKKworbWtkaXIgRgorIyBUaGlzIHZhcmlhYmxlIGlzIGVzc2VudGlhbCBhbmQgZW5zdXJl cyBubyB0aW1lLXJhY2UgZm9yIGNsYWltaW5nIHBvcnRzIG9jY3VycworIyBzZXQgYmFzZSB0byBh IHVuaXF1ZSBtdWx0aXBsZSBvZiAxMDAgbm90IHVzZWQgaW4gYW55IG90aGVyICdydW4tZGVidWdp bmZvZC0qJyB0ZXN0CitiYXNlPTg1MDAKK2dldF9wb3J0cworZW52IExEX0xJQlJBUllfUEFUSD0k bGRwYXRoIERFQlVHSU5GT0RfVVJMUz0gJHthYnNfYnVpbGRkaXJ9Ly4uL2RlYnVnaW5mb2QvZGVi dWdpbmZvZCAtRiAtUiAkVkVSQk9TRSAtcCAkUE9SVDEgXAorICAgIC10MCAtZzAgLXYgRiA+IHZs b2ckUE9SVDEgMj4mMSAmCitQSUQxPSQhCit0ZW1wZmlsZXMgdmxvZyRQT1JUMQorZXJyZmlsZXMg dmxvZyRQT1JUMQorCisjIFNlcnZlciBtdXN0IGJlY29tZSByZWFkeQord2FpdF9yZWFkeSAkUE9S VDEgJ3JlYWR5JyAxCitleHBvcnQgREVCVUdJTkZPRF9VUkxTPWh0dHA6Ly8xMjcuMC4wLjE6JFBP UlQxLyAgICMgb3Igd2l0aG91dCB0cmFpbGluZyAvCisKKyMgQmUgcGF0aWVudCB3aGVuIHJ1biBv biBhIGJ1c3kgbWFjaGluZSB0aGluZ3MgbWlnaHQgdGFrZSBhIGJpdC4KK2V4cG9ydCBERUJVR0lO Rk9EX1RJTUVPVVQ9MTAKKworIyBDaGVjayB0aHJlYWQgY29tbSBuYW1lcworcHMgLXEgJFBJRDEg LWUgLUwgLW8gJyVwICVjICVhJworcHMgLXEgJFBJRDEgLWUgLUwgLW8gJyVwICVjICVhJyB8IGdy ZXAgZ3Jvb20KK3BzIC1xICRQSUQxIC1lIC1MIC1vICclcCAlYyAlYScgfCBncmVwIHNjYW4KK3Bz IC1xICRQSUQxIC1lIC1MIC1vICclcCAlYyAlYScgfCBncmVwIHRyYXZlcnNlCisKKyMgV2UgdXNl IC10MCBhbmQgLWcwIGhlcmUgdG8gdHVybiBvZmYgdGltZS1iYXNlZCBzY2FubmluZyAmIGdyb29t aW5nLgorIyBGb3IgdGVzdGluZyBwdXJwb3Nlcywgd2UganVzdCBzaWMgU0lHVVNSMSAvIFNJR1VT UjIgYXQgdGhlIHByb2Nlc3MuCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCisjIENvbXBpbGUgYSBzaW1w bGUgcHJvZ3JhbSwgc3RyaXAgaXRzIGRlYnVnaW5mbyBhbmQgc2F2ZSB0aGUgYnVpbGQtaWQuCisj IEFsc28gbW92ZSB0aGUgZGVidWdpbmZvIGludG8gYW5vdGhlciBkaXJlY3Rvcnkgc28gdGhhdCBl bGZ1dGlscworIyBjYW5ub3QgZmluZCBpdCB3aXRob3V0IGRlYnVnaW5mb2QuCitlY2hvICJpbnQg bWFpbigpIHsgcmV0dXJuIDA7IH0iID4gJHtQV0R9L3ArciVvXCRnLmMKK3RlbXBmaWxlcyBwK3Il b1wkZy5jCisjIENyZWF0ZSBhIHN1YmRpcmVjdG9yeSB0byBjb25mb3VuZCBzb3VyY2UgcGF0aCBu YW1lcworbWtkaXIgZm9vYmFyCitnY2MgLVdsLC0tYnVpbGQtaWQgLWcgLW8gcCtyJW9cJGcgJHtQ V0R9L2Zvb2Jhci8vLy4vLi4vcCtyJW9cJGcuYwordGVzdHJ1biAke2Fic190b3BfYnVpbGRkaXJ9 L3NyYy9zdHJpcCAtZyAtZiBwK3Ilb1wkZy5kZWJ1ZyAke1BXRH0vcCtyJW9cJGcKK0JVSUxESUQ9 YGVudiBMRF9MSUJSQVJZX1BBVEg9JGxkcGF0aCAke2Fic19idWlsZGRpcn0vLi4vc3JjL3JlYWRl bGYgXAorICAgICAgICAgIC1hIHArciVvXFwkZyB8IGdyZXAgJ0J1aWxkIElEJyB8IGN1dCAtZCAn ICcgLWYgN2AKKworbXYgcCtyJW9cJGcgRgorbXYgcCtyJW9cJGcuZGVidWcgRgora2lsbCAtVVNS MSAkUElEMQorIyBXYWl0IHRpbGwgYm90aCBmaWxlcyBhcmUgaW4gdGhlIGluZGV4Lgord2FpdF9y ZWFkeSAkUE9SVDEgJ3RocmVhZF93b3JrX3RvdGFse3JvbGU9InRyYXZlcnNlIn0nIDEKK3dhaXRf cmVhZHkgJFBPUlQxICd0aHJlYWRfd29ya19wZW5kaW5ne3JvbGU9InNjYW4ifScgMAord2FpdF9y ZWFkeSAkUE9SVDEgJ3RocmVhZF9idXN5e3JvbGU9InNjYW4ifScgMAorCisjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMKKworIyBUZXN0IHdoZXRoZXIgZWxmdXRpbHMsIHZpYSB0aGUgZGVidWdpbmZvZCBjbGllbnQg bGlicmFyeSBkbG9wZW4gaG9va3MsCisjIGlzIGFibGUgdG8gZmV0Y2ggZGVidWdpbmZvIGZyb20g dGhlIGxvY2FsIGRlYnVnaW5mb2QuCit0ZXN0cnVuICR7YWJzX2J1aWxkZGlyfS9kZWJ1Z2luZm9k X2J1aWxkX2lkX2ZpbmQgLWUgRi9wK3Ilb1wkZyAxCisKK2tpbGwgJFBJRDEKK3dhaXQgJFBJRDEK K1BJRDE9MAorCitleGl0IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL3J1bi1kZWJ1Z2luZm9kLWR1cGxp Y2F0ZS11cmxzLnNoIGIvdGVzdHMvcnVuLWRlYnVnaW5mb2QtZHVwbGljYXRlLXVybHMuc2gKbmV3 IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAuLjNjNWJkZmM2Ci0tLSAvZGV2L251bGwK KysrIGIvdGVzdHMvcnVuLWRlYnVnaW5mb2QtZHVwbGljYXRlLXVybHMuc2gKQEAgLTAsMCArMSw1 MSBAQAorIyEvdXNyL2Jpbi9lbnYgYmFzaAorIworIyBDb3B5cmlnaHQgKEMpIDIwMTktMjAyMSBS ZWQgSGF0LCBJbmMuCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGVsZnV0aWxzLgorIworIyBUaGlz IGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1v ZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo ZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBs YXRlciB2ZXJzaW9uLgorIworIyBlbGZ1dGlscyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0 aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKKyMgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklU TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjIFlvdSBzaG91bGQgaGF2ZSByZWNl aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisjIGFsb25nIHdp dGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNl cy8+LgorCisuICRzcmNkaXIvdGVzdC1zdWJyLnNoICAjIGluY2x1ZGVzIHNldCAtZQorIyBmb3Ig dGVzdCBjYXNlIGRlYnVnZ2luZywgdW5jb21tZW50Ogorc2V0IC14Cit1bnNldCBWQUxHUklORF9D TUQKKyMgVGhpcyB2YXJpYWJsZSBpcyBlc3NlbnRpYWwgYW5kIGVuc3VyZXMgbm8gdGltZS1yYWNl IGZvciBjbGFpbWluZyBwb3J0cyBvY2N1cnMKKyMgc2V0IGJhc2UgdG8gYSB1bmlxdWUgbXVsdGlw bGUgb2YgMTAwIG5vdCB1c2VkIGluIGFueSBvdGhlciAncnVuLWRlYnVnaW5mb2QtKicgdGVzdAor YmFzZT04NjAwCitnZXRfcG9ydHMKKworZW52IExEX0xJQlJBUllfUEFUSD0kbGRwYXRoICR7YWJz X2J1aWxkZGlyfS8uLi9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QgXAorICAgICRWRVJCT1NFIC1GIC1w ICRQT1JUMSAtdDAgLWcwIC1kICR7REJ9IEYgPiB2bG9nJFBPUlQxIDI+JjEgJgorUElEMT0kIQor dGVtcGZpbGVzIHZsb2ckUE9SVDEKK2VycmZpbGVzIHZsb2ckUE9SVDEKK3dhaXRfcmVhZHkgJFBP UlQxICdyZWFkeScgMQorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjIFBSMjc5ODMKKyMgRW5zdXJlIG5v IGR1cGxpY2F0ZSB1cmxzIGFyZSB1c2VkIGluIHdoZW4gcXVlcnlpbmcgc2VydmVycyBmb3IgZmls ZXMKK3JtIC1yZiAkREVCVUdJTkZPRF9DQUNIRV9QQVRIICMgY2xlYW4gaXQgZnJvbSBwcmV2aW91 cyB0ZXN0cworZW52IERFQlVHSU5GT0RfVVJMUz0iaHR0cDovLzEyNy4wLjAuMTokUE9SVDEgaHR0 cDovLzEyNy4wLjAuMTokUE9SVDEgaHR0cDovLzEyNy4wLjAuMTokUE9SVDEgaHR0cDovLzEyNy4w LjAuMTo3OTk5IiBcCisgTERfTElCUkFSWV9QQVRIPSRsZHBhdGggJHthYnNfdG9wX2J1aWxkZGly fS9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QtZmluZCAtdnZ2IGV4ZWN1dGFibGUgMCA+IHZsb2cxIDI+ JjEgfHwgdHJ1ZQordGVtcGZpbGVzIHZsb2cxCitjYXQgdmxvZzEKK2lmIFsgJCggZ3JlcCAtYyAn ZHVwbGljYXRlIHVybDogaHR0cDovLzEyNy4wLjAuMTonJFBPUlQxJy4qJyB2bG9nMSApIC1uZSAy IF07IHRoZW4KKyAgZWNobyAiRHVwbGljYXRlIHNlcnZlcnMgcmVtYWluIjsKKyAgZXJyCitmaQor CitraWxsICRQSUQxCit3YWl0ICRQSUQxCitQSUQxPTAKK2V4aXQgMApkaWZmIC0tZ2l0IGEvdGVz dHMvcnVuLWRlYnVnaW5mb2QtZXh0cmFjdGlvbi5zaCBiL3Rlc3RzL3J1bi1kZWJ1Z2luZm9kLWV4 dHJhY3Rpb24uc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAuLjQ5OWQ3ZTAw Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvcnVuLWRlYnVnaW5mb2QtZXh0cmFjdGlvbi5zaApA QCAtMCwwICsxLDEwMSBAQAorIyEvdXNyL2Jpbi9lbnYgYmFzaAorIworIyBDb3B5cmlnaHQgKEMp IDIwMTktMjAyMSBSZWQgSGF0LCBJbmMuCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGVsZnV0aWxz LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg aXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBv cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBlbGZ1dGlscyBpcyBkaXN0cmlidXRlZCBp biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKKyMgV0lUSE9VVCBBTlkgV0FS UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjIFlvdSBzaG91 bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl CisjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251 Lm9yZy9saWNlbnNlcy8+LgorCisuICRzcmNkaXIvdGVzdC1zdWJyLnNoICAjIGluY2x1ZGVzIHNl dCAtZQorCisjIGZvciB0ZXN0IGNhc2UgZGVidWdnaW5nLCB1bmNvbW1lbnQ6CitzZXQgLXgKK3Vu c2V0IFZBTEdSSU5EX0NNRAorCitta2RpciBSIFoKKyMgVGhpcyB2YXJpYWJsZSBpcyBlc3NlbnRp YWwgYW5kIGVuc3VyZXMgbm8gdGltZS1yYWNlIGZvciBjbGFpbWluZyBwb3J0cyBvY2N1cnMKKyMg c2V0IGJhc2UgdG8gYSB1bmlxdWUgbXVsdGlwbGUgb2YgMTAwIG5vdCB1c2VkIGluIGFueSBvdGhl ciAncnVuLWRlYnVnaW5mb2QtKicgdGVzdAorYmFzZT04NzAwCitnZXRfcG9ydHMKKworZW52IExE X0xJQlJBUllfUEFUSD0kbGRwYXRoICR7YWJzX2J1aWxkZGlyfS8uLi9kZWJ1Z2luZm9kL2RlYnVn aW5mb2QgJFZFUkJPU0UgLUYgLVIgLVogLnRhci54eiAtWiAudGFyLmJ6Mj1iemNhdCAtcCAkUE9S VDEgLXQwIC1nMCAtdiBSIFogPiB2bG9nJFBPUlQxIDI+JjEgJgorUElEMT0kIQordGVtcGZpbGVz IHZsb2ckUE9SVDEKK2VycmZpbGVzIHZsb2ckUE9SVDEKKyMgU2VydmVyIG11c3QgYmVjb21lIHJl YWR5Cit3YWl0X3JlYWR5ICRQT1JUMSAncmVhZHknIDEKKworIyBCZSBwYXRpZW50IHdoZW4gcnVu IG9uIGEgYnVzeSBtYWNoaW5lIHRoaW5ncyBtaWdodCB0YWtlIGEgYml0LgorZXhwb3J0IERFQlVH SU5GT0RfVElNRU9VVD0xMAorCisjIENoZWNrIHRocmVhZCBjb21tIG5hbWVzCitwcyAtcSAkUElE MSAtZSAtTCAtbyAnJXAgJWMgJWEnIHwgZ3JlcCBncm9vbQorcHMgLXEgJFBJRDEgLWUgLUwgLW8g JyVwICVjICVhJyB8IGdyZXAgc2NhbgorcHMgLXEgJFBJRDEgLWUgLUwgLW8gJyVwICVjICVhJyB8 IGdyZXAgdHJhdmVyc2UKKworY3AgLXJ2cCAke2Fic19zcmNkaXJ9L2RlYnVnaW5mb2QtcnBtcyBS CitpZiBbICIkenN0ZCIgPSAiZmFsc2UiIF07IHRoZW4gICMgbnVrZSB0aGUgenN0ZCBmZWRvcmEg MzEgb25lcworICAgIHJtIC12cmYgUi9kZWJ1Z2luZm9kLXJwbXMvZmVkb3JhMzEKK2ZpCisKK2Nw IC1ydnAgJHthYnNfc3JjZGlyfS9kZWJ1Z2luZm9kLXRhcnMgWgorCitraWxsIC1VU1IxICRQSUQx CisjIFdhaXQgdGlsbCBib3RoIGZpbGVzIGFyZSBpbiB0aGUgaW5kZXggYW5kIHNjYW4vaW5kZXgg ZnVsbHkgZmluaXNoZWQKK3dhaXRfcmVhZHkgJFBPUlQxICd0aHJlYWRfd29ya190b3RhbHtyb2xl PSJ0cmF2ZXJzZSJ9JyAxCit3YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX3dvcmtfcGVuZGluZ3ty b2xlPSJzY2FuIn0nIDAKK3dhaXRfcmVhZHkgJFBPUlQxICd0aHJlYWRfYnVzeXtyb2xlPSJzY2Fu In0nIDAKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIEFsbCBycG1zIG5lZWQgdG8gYmUgaW4gdGhlIGlu ZGV4LCBleGNlcHQgdGhlIGR1bW15IHBlcm1pc3Npb24tMDAwIG9uZQorcnBtcz0kKGZpbmQgUiAt bmFtZSBcKnJwbSB8IGdyZXAgLXYgbm90aGluZyB8IHdjIC1sKQord2FpdF9yZWFkeSAkUE9SVDEg J3NjYW5uZWRfZmlsZXNfdG90YWx7c291cmNlPSIucnBtIGFyY2hpdmUifScgJHJwbXMKK3R4ej0k KGZpbmQgWiAtbmFtZSBcKnRhci54eiB8IHdjIC1sKQord2FpdF9yZWFkeSAkUE9SVDEgJ3NjYW5u ZWRfZmlsZXNfdG90YWx7c291cmNlPSIudGFyLnh6IGFyY2hpdmUifScgJHR4egordGIyPSQoZmlu ZCBaIC1uYW1lIFwqdGFyLmJ6MiB8IHdjIC1sKQord2FpdF9yZWFkeSAkUE9SVDEgJ3NjYW5uZWRf ZmlsZXNfdG90YWx7c291cmNlPSIudGFyLmJ6MiBhcmNoaXZlIn0nICR0YjIKKwora2lsbCAtVVNS MSAkUElEMSAgIyB0d28gaGl0cyBvZiBTSUdVU1IxIG1heSBiZSBuZWVkZWQgdG8gcmVzb2x2ZSAu ZGVidWctPmR3ei0+c3JlZnMKKyMgV2FpdCB0aWxsIGJvdGggZmlsZXMgYXJlIGluIHRoZSBpbmRl eCBhbmQgc2Nhbi9pbmRleCBmdWxseSBmaW5pc2hlZAord2FpdF9yZWFkeSAkUE9SVDEgJ3RocmVh ZF93b3JrX3RvdGFse3JvbGU9InRyYXZlcnNlIn0nIDIKK3dhaXRfcmVhZHkgJFBPUlQxICd0aHJl YWRfd29ya19wZW5kaW5ne3JvbGU9InNjYW4ifScgMAord2FpdF9yZWFkeSAkUE9SVDEgJ3RocmVh ZF9idXN5e3JvbGU9InNjYW4ifScgMAorCisjIEV4cGVjdCBhbGwgc291cmNlIGZpbGVzIGZvdW5k IGluIHRoZSBycG1zICh0aGV5IGFyZSBhbGwgY2FsbGVkIGhlbGxvLmMgOikKKyMgV2Ugd2lsbCBu ZWVkIHRvIGV4dHJhY3QgYWxsIHJwbXMgKGluIHRoZWlyIG93biBkaXJlY3RvcnkpIGFuZCBjb3Vs ZCBhbGwKKyMgc291cmNlcyByZWZlcmVuY2VkIGluIHRoZSAuZGVidWcgZmlsZXMuCitta2RpciBl eHRyYWN0ZWQKK2NkIGV4dHJhY3RlZAorc3ViZGlyPTA7CituZXdycG1zPSQoZmluZCAuLi9SIC1u YW1lIFwqXC5ycG0gfCBncmVwIC12IG5vdGhpbmcpCitmb3IgaSBpbiAkbmV3cnBtczsgZG8KKyAg ICBzdWJkaXI9JFskc3ViZGlyKzFdOworICAgIG1rZGlyICRzdWJkaXI7CisgICAgY2QgJHN1YmRp cjsKKyAgICBscyAtbGFoIC4uLyRpCisgICAgcnBtMmNwaW8gLi4vJGkgfCBjcGlvIC1pdmQ7Cisg ICAgY2QgLi47Citkb25lCitzb3VyY2VmaWxlcz0kKGZpbmQgLW5hbWUgXCpcXC5kZWJ1ZyBcCisg ICAgICAgICAgICAgIHwgZW52IExEX0xJQlJBUllfUEFUSD0kbGRwYXRoIHhhcmdzIFwKKyAgICAg ICAgICAgICAgICAke2Fic190b3BfYnVpbGRkaXJ9L3NyYy9yZWFkZWxmIC0tZGVidWctZHVtcD1k ZWNvZGVkbGluZSBcCisgICAgICAgICAgICAgIHwgZ3JlcCBtdGltZTogfCB3YyAtLWxpbmVzKQor Y2QgLi4KK3JtIC1yZiBleHRyYWN0ZWQKKword2FpdF9yZWFkeSAkUE9SVDEgJ2ZvdW5kX3NvdXJj ZXJlZnNfdG90YWx7c291cmNlPSIucnBtIGFyY2hpdmUifScgJHNvdXJjZWZpbGVzCisKK2tpbGwg JFBJRDEKK3dhaXQgJFBJRDEKK1BJRDE9MAorZXhpdCAwCmRpZmYgLS1naXQgYS90ZXN0cy9ydW4t ZGVidWdpbmZvZC1mZC1wcmVmZXRjaC1jYWNoZXMuc2ggYi90ZXN0cy9ydW4tZGVidWdpbmZvZC1m ZC1wcmVmZXRjaC1jYWNoZXMuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAu LmQzZTc3ZGMyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvcnVuLWRlYnVnaW5mb2QtZmQtcHJl ZmV0Y2gtY2FjaGVzLnNoCkBAIC0wLDAgKzEsNTcgQEAKKyMhL3Vzci9iaW4vZW52IGJhc2gKKyMK KyMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjEgUmVkIEhhdCwgSW5jLgorIyBUaGlzIGZpbGUgaXMg cGFydCBvZiBlbGZ1dGlscy4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwg b3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgZWxmdXRpbHMg aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0Cisj IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg b2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF LiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz LgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZQorIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2Vl IDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKworLiAkc3JjZGlyL3Rlc3Qtc3Vici5z aCAgIyBpbmNsdWRlcyBzZXQgLWUKKyMgZm9yIHRlc3QgY2FzZSBkZWJ1Z2dpbmcsIHVuY29tbWVu dDoKK3NldCAteAordW5zZXQgVkFMR1JJTkRfQ01ECisKK0ZEQ0FDSEVfRkRTPTEwMAorRkRDQUNI RV9NQlM9MTAwCitQUkVGRVRDSF9GRFM9MTAwCitQUkVGRVRDSF9NQlM9MTAwCisjIFRoaXMgdmFy aWFibGUgaXMgZXNzZW50aWFsIGFuZCBlbnN1cmVzIG5vIHRpbWUtcmFjZSBmb3IgY2xhaW1pbmcg cG9ydHMgb2NjdXJzCisjIHNldCBiYXNlIHRvIGEgdW5pcXVlIG11bHRpcGxlIG9mIDEwMCBub3Qg dXNlZCBpbiBhbnkgb3RoZXIgJ3J1bi1kZWJ1Z2luZm9kLSonIHRlc3QKK2Jhc2U9ODgwMAorZ2V0 X3BvcnRzCisKK2VjaG8gJFBPUlQxCitlbnYgTERfTElCUkFSWV9QQVRIPSRsZHBhdGggREVCVUdJ TkZPRF9VUkxTPSAke2Fic19idWlsZGRpcn0vLi4vZGVidWdpbmZvZC9kZWJ1Z2luZm9kICRWRVJC T1NFIC1wICRQT1JUMSBcCisgICAgLS1mZGNhY2hlLW1icz0kRkRDQUNIRV9NRFMgLS1mZGNhY2hl LWZkcz0kRkRDQUNIRV9GRFMgLS1mZGNhY2hlLXByZWZldGNoLW1icz0kUFJFRkVUQ0hfTUJTIFwK KyAgICAtLWZkY2FjaGUtcHJlZmV0Y2gtZmRzPSRQUkVGRVRDSF9GRFMgLS1mZGNhY2hlLW1pbnRt cCAwIC12IC1GIEYgPiB2bG9nJFBPUlQxIDI+JjEgJgorUElEMT0kIQordGVtcGZpbGVzIHZsb2ck UE9SVDEKK2VycmZpbGVzIHZsb2ckUE9SVDEKKyMgU2VydmVyIG11c3QgYmVjb21lIHJlYWR5Cit3 YWl0X3JlYWR5ICRQT1JUMSAncmVhZHknIDEKKworZ3JlcCAnZmRjYWNoZSBmZHMgJyB2bG9nJFBP UlQxICMkRkRDQUNIRV9GRFMKK2dyZXAgJ2ZkY2FjaGUgbWJzICcgdmxvZyRQT1JUMSAjJEZEQ0FD SEVfTUJTCitncmVwICdwcmVmZXRjaCBmZHMgJyB2bG9nJFBPUlQxICMkUFJFRkVUQ0hfRkRTCitn cmVwICdwcmVmZXRjaCBtYnMgJyB2bG9nJFBPUlQxICMkUFJFRkVUQ0hfTUJTCisjIHNlYXJjaCB0 aGUgdmxvZyB0byBmaW5kIHdoYXQgbWV0cmljIGNvdW50cyBzaG91bGQgYmUgYW5kIGNoZWNrIHRo ZSBjb3JyZWN0IG1ldHJpY3MKKyMgd2VyZSBpbmNyaW1lbnRlZAord2FpdF9yZWFkeSAkUE9SVDEg J2ZkY2FjaGVfb3BfY291bnR7b3A9ImVucXVldWUifScgJCggZ3JlcCAtYyAnaW50ZXJuZWQuKmZy b250PTEnIHZsb2ckUE9SVDEgKQord2FpdF9yZWFkeSAkUE9SVDEgJ2ZkY2FjaGVfb3BfY291bnR7 b3A9ImV2aWN0In0nICQoIGdyZXAgLWMgJ2V2aWN0ZWQgYT0uKicgdmxvZyRQT1JUMSApCit3YWl0 X3JlYWR5ICRQT1JUMSAnZmRjYWNoZV9vcF9jb3VudHtvcD0icHJlZmV0Y2hfZW5xdWV1ZSJ9JyAk KCBncmVwIC1jICdpbnRlcm5lZC4qZnJvbnQ9MCcgdmxvZyRQT1JUMSApCit3YWl0X3JlYWR5ICRQ T1JUMSAnZmRjYWNoZV9vcF9jb3VudHtvcD0icHJlZmV0Y2hfZXZpY3QifScgJCggZ3JlcCAtYyAn ZXZpY3RlZCBmcm9tIHByZWZldGNoIGE9Lipmcm9udD0wJyB2bG9nJFBPUlQxIHx8IHRydWUgKQor CitraWxsICRQSUQxCit3YWl0ICRQSUQxCitQSUQxPTAKK2V4aXQgMApkaWZmIC0tZ2l0IGEvdGVz dHMvcnVuLWRlYnVnaW5mb2QtZmVkZXJhdGlvbi1saW5rLnNoIGIvdGVzdHMvcnVuLWRlYnVnaW5m b2QtZmVkZXJhdGlvbi1saW5rLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAw Li45ZjBiZDZmYQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3J1bi1kZWJ1Z2luZm9kLWZlZGVy YXRpb24tbGluay5zaApAQCAtMCwwICsxLDE2MSBAQAorIyEvdXNyL2Jpbi9lbnYgYmFzaAorIwor IyBDb3B5cmlnaHQgKEMpIDIwMTktMjAyMSBSZWQgSGF0LCBJbmMuCisjIFRoaXMgZmlsZSBpcyBw YXJ0IG9mIGVsZnV0aWxzLgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBv cgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBlbGZ1dGlscyBp cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKKyMg V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv ZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu ICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu CisjCisjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlCisjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUg PGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorCisuICRzcmNkaXIvdGVzdC1zdWJyLnNo ICAjIGluY2x1ZGVzIHNldCAtZQorCisjIGZvciB0ZXN0IGNhc2UgZGVidWdnaW5nLCB1bmNvbW1l bnQ6CitzZXQgLXgKK3Vuc2V0IFZBTEdSSU5EX0NNRAorCitEQj0ke1BXRH0vLmRlYnVnaW5mb2Rf dG1wLnNxbGl0ZQorZXhwb3J0IERFQlVHSU5GT0RfQ0FDSEVfUEFUSD0ke1BXRH0vLmNsaWVudF9j YWNoZQorZXhwb3J0IERFQlVHSU5GT0RfVElNRU9VVD0xMAorZXhwb3J0IERFQlVHSU5GT0RfVVJM Uz0naHR0cDovLzEyNy4wLjAuMTonJFBPUlQxCit0ZW1wZmlsZXMgJERCCisKKyMgQ2xlYW4gb2xk IGRpcmljdG9yaWVzCitta2RpciBEIEwgRgorbWtkaXIgLXAgJERFQlVHSU5GT0RfQ0FDSEVfUEFU SAorIyBub3QgdGVtcGZpbGVzIEYgUiBMIEQgWiAtIHRoZXkgYXJlIGRpcmVjdG9yaWVzIHdoaWNo IHdlIGNsZWFuIHVwIG1hbnVhbGx5CitsbiAtcyAke2Fic19idWlsZGRpcn0vZHdmbGxpbmVzIEwv Zm9vICAgIyBhbnkgcHJvZ3JhbSBub3QgdXNlZCBlbHNld2hlcmUgaW4gdGhpcyB0ZXN0CisjIFRo aXMgdmFyaWFibGUgaXMgZXNzZW50aWFsIGFuZCBlbnN1cmVzIG5vIHRpbWUtcmFjZSBmb3IgY2xh aW1pbmcgcG9ydHMgb2NjdXJzCisjIHNldCBiYXNlIHRvIGEgdW5pcXVlIG11bHRpcGxlIG9mIDEw MCBub3QgdXNlZCBpbiBhbnkgb3RoZXIgJ3J1bi1kZWJ1Z2luZm9kLSonIHRlc3QKK2Jhc2U9ODkw MAorZ2V0X3BvcnRzCisjIExhdW5jaCBzZXJ2ZXIgd2hpY2ggd2lsbCBiZSB1bmFibGUgdG8gZm9s bG93IHN5bWxpbmtzCitlbnYgTERfTElCUkFSWV9QQVRIPSRsZHBhdGggJHthYnNfYnVpbGRkaXJ9 Ly4uL2RlYnVnaW5mb2QvZGVidWdpbmZvZCAkVkVSQk9TRSAtZCAke0RCfSAtRiAtVSAtdDAgLWcw IC1wICRQT1JUMSBMIEQgRiA+IHZsb2ckUE9SVDEgMj4mMSAmCitQSUQxPSQhCit0ZW1wZmlsZXMg dmxvZyRQT1JUMQorZXJyZmlsZXMgdmxvZyRQT1JUMQorCit3YWl0X3JlYWR5ICRQT1JUMSAncmVh ZHknIDEKK3dhaXRfcmVhZHkgJFBPUlQxICd0aHJlYWRfd29ya190b3RhbHtyb2xlPSJ0cmF2ZXJz ZSJ9JyAxCit3YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX3dvcmtfcGVuZGluZ3tyb2xlPSJzY2Fu In0nIDAKK3dhaXRfcmVhZHkgJFBPUlQxICd0aHJlYWRfYnVzeXtyb2xlPSJzY2FuIn0nIDAKKwor IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjCisjIENvbXBpbGUgYSBzaW1wbGUgcHJvZ3JhbSwgc3RyaXAgaXRzIGRl YnVnaW5mbyBhbmQgc2F2ZSB0aGUgYnVpbGQtaWQuCisjIEFsc28gbW92ZSB0aGUgZGVidWdpbmZv IGludG8gYW5vdGhlciBkaXJlY3Rvcnkgc28gdGhhdCBlbGZ1dGlscworIyBjYW5ub3QgZmluZCBp dCB3aXRob3V0IGRlYnVnaW5mb2QuCitlY2hvICJpbnQgbWFpbigpIHsgcmV0dXJuIDA7IH0iID4g JHtQV0R9L3Byb2cuYwordGVtcGZpbGVzIHByb2cuYworIyBDcmVhdGUgYSBzdWJkaXJlY3Rvcnkg dG8gY29uZm91bmQgc291cmNlIHBhdGggbmFtZXMKK21rZGlyIGZvb2JhcgorZ2NjIC1XbCwtLWJ1 aWxkLWlkIC1nIC1vIHByb2cgJHtQV0R9L2Zvb2Jhci8vLy4vLi4vcHJvZy5jCit0ZXN0cnVuICR7 YWJzX3RvcF9idWlsZGRpcn0vc3JjL3N0cmlwIC1nIC1mIHByb2cuZGVidWcgJHtQV0R9L3Byb2cK K0JVSUxESUQ9YGVudiBMRF9MSUJSQVJZX1BBVEg9JGxkcGF0aCAke2Fic19idWlsZGRpcn0vLi4v c3JjL3JlYWRlbGYgXAorICAgICAgICAgIC1hIHByb2cgfCBncmVwICdCdWlsZCBJRCcgfCBjdXQg LWQgJyAnIC1mIDdgCisKK212IHByb2cgRgorbXYgcHJvZy5kZWJ1ZyBGCitraWxsIC1VU1IxICRQ SUQxCisjIFdhaXQgdGlsbCBib3RoIGZpbGVzIGFyZSBpbiB0aGUgaW5kZXguCit3YWl0X3JlYWR5 ICRQT1JUMSAndGhyZWFkX3dvcmtfdG90YWx7cm9sZT0idHJhdmVyc2UifScgMgord2FpdF9yZWFk eSAkUE9SVDEgJ3RocmVhZF93b3JrX3BlbmRpbmd7cm9sZT0ic2NhbiJ9JyAwCit3YWl0X3JlYWR5 ICRQT1JUMSAndGhyZWFkX2J1c3l7cm9sZT0ic2NhbiJ9JyAwCisKK3dhaXRfcmVhZHkgJFBPUlQx ICd0aHJlYWRfYnVzeXtyb2xlPSJodHRwLWJ1aWxkaWQifScgMAord2FpdF9yZWFkeSAkUE9SVDEg J3RocmVhZF9idXN5e3JvbGU9Imh0dHAtbWV0cmljcyJ9JyAxCisKK2V4cG9ydCBERUJVR0lORk9E X0NBQ0hFX1BBVEg9JHtQV0R9Ly5jbGllbnRfY2FjaGUyCitta2RpciAtcCAkREVCVUdJTkZPRF9D QUNIRV9QQVRICisKKyMgTkI6IHJ1biBpbiAtTCBzeW1saW5rLWZvbGxvd2luZyBtb2RlIGZvciB0 aGUgTCBzdWJkaXIKK2VudiBMRF9MSUJSQVJZX1BBVEg9JGxkcGF0aCBERUJVR0lORk9EX1VSTFM9 aHR0cDovLzEyNy4wLjAuMTokUE9SVDEgJHthYnNfYnVpbGRkaXJ9Ly4uL2RlYnVnaW5mb2QvZGVi dWdpbmZvZCAkVkVSQk9TRSAtZCAke0RCfV8yIC1GIC1VIC1wICRQT1JUMiAtTCBMIEQgPiB2bG9n JFBPUlQyIDI+JjEgJgorUElEMj0kIQordGVtcGZpbGVzIHZsb2ckUE9SVDIKK2VycmZpbGVzIHZs b2ckUE9SVDIKK3RlbXBmaWxlcyAke0RCfV8yCisKK3dhaXRfcmVhZHkgJFBPUlQyICdyZWFkeScg MQorCitraWxsIC1VU1IxICRQSUQyCisjIFdhaXQgdGlsbCBib3RoIGZpbGVzIGFyZSBpbiB0aGUg aW5kZXguCit3YWl0X3JlYWR5ICRQT1JUMiAndGhyZWFkX3dvcmtfdG90YWx7cm9sZT0idHJhdmVy c2UifScgMQord2FpdF9yZWFkeSAkUE9SVDIgJ3RocmVhZF93b3JrX3BlbmRpbmd7cm9sZT0ic2Nh biJ9JyAwCit3YWl0X3JlYWR5ICRQT1JUMiAndGhyZWFkX2J1c3l7cm9sZT0ic2NhbiJ9JyAwCisK K3dhaXRfcmVhZHkgJFBPUlQyICd0aHJlYWRfYnVzeXtyb2xlPSJodHRwLWJ1aWxkaWQifScgMAor d2FpdF9yZWFkeSAkUE9SVDIgJ3RocmVhZF9idXN5e3JvbGU9Imh0dHAtbWV0cmljcyJ9JyAxCisK KyMgaGF2ZSBjbGllbnRzIGNvbnRhY3QgdGhlIG5ldyBzZXJ2ZXIKK2V4cG9ydCBERUJVR0lORk9E X1VSTFM9aHR0cDovLzEyNy4wLjAuMTokUE9SVDIKKworaWYgdHlwZSBic2R0YXIgMj4vZGV2L251 bGw7IHRoZW4KKyAgICAjIGNvcHkgaW4gdGhlIGRlYiBmaWxlcworICAgIGNwIC1ydnAgJHthYnNf c3JjZGlyfS9kZWJ1Z2luZm9kLWRlYnMvKmRlYiBECisgICAga2lsbCAtVVNSMSAkUElEMgorICAg IHdhaXRfcmVhZHkgJFBPUlQyICd0aHJlYWRfd29ya190b3RhbHtyb2xlPSJ0cmF2ZXJzZSJ9JyAy CisgICAgd2FpdF9yZWFkeSAkUE9SVDIgJ3RocmVhZF93b3JrX3BlbmRpbmd7cm9sZT0ic2NhbiJ9 JyAwCisgICAgd2FpdF9yZWFkeSAkUE9SVDIgJ3RocmVhZF9idXN5e3JvbGU9InNjYW4ifScgMAor CisgICAgIyBBbGwgZGVicyBuZWVkIHRvIGJlIGluIHRoZSBpbmRleAorICAgIGRlYnM9JChmaW5k IEQgLW5hbWUgXCouZGViIHwgd2MgLWwpCisgICAgd2FpdF9yZWFkeSAkUE9SVDIgJ3NjYW5uZWRf ZmlsZXNfdG90YWx7c291cmNlPSIuZGViIGFyY2hpdmUifScgYGV4cHIgJGRlYnNgCisgICAgZGRl YnM9JChmaW5kIEQgLW5hbWUgXCouZGRlYiB8IHdjIC1sKQorICAgIHdhaXRfcmVhZHkgJFBPUlQy ICdzY2FubmVkX2ZpbGVzX3RvdGFse3NvdXJjZT0iLmRkZWIgYXJjaGl2ZSJ9JyBgZXhwciAkZGRl YnNgCisKKyAgICAjIHVidW50dQorICAgIGFyY2hpdmVfdGVzdCBmMTdhMjliNWEyNWJkNDk2MDUz MWQ4MmFhNmIwN2M4YWJlODRmYTY2ICIiICIiCitmaQorCitybSAtcmYgJERFQlVHSU5GT0RfQ0FD SEVfUEFUSAordGVzdHJ1biAke2Fic190b3BfYnVpbGRkaXJ9L2RlYnVnaW5mb2QvZGVidWdpbmZv ZC1maW5kIGRlYnVnaW5mbyAkQlVJTERJRAorCisjIHNlbmQgYSByZXF1ZXN0IHRvIHN0cmVzcyBY RkYgYW5kIFVzZXItQWdlbnQgZmVkZXJhdGlvbiByZWxheTsKKyMgd2UnbGwgZ3JlcCBmb3IgdGhl IHR3byBwYXR0ZXJucyBpbiB2bG9nJFBPUlQxCitjdXJsIC1zIC1IICdVc2VyLUFnZW50OiBURVNU Q1VSTCcgLUggJ1gtRm9yd2FyZGVkLUZvcjogVEVTVFhGRicgJERFQlVHSU5GT0RfVVJMUy9idWls ZGlkL2RlYWRkZWFkYmVlZjAwMDAwMDAwL2RlYnVnaW5mbyAtbyAvZGV2L251bGwgfHwgdHJ1ZQor CitncmVwIFVBOlRFU1RDVVJMIHZsb2ckUE9SVDEKK2dyZXAgWEZGOlRFU1RYRkYgdmxvZyRQT1JU MQorCisjIGNvbmZpcm0gdGhhdCBmaXJzdCBzZXJ2ZXIgY2FuJ3QgcmVzb2x2ZSBzeW1saW5rZWQg aW5mbyBpbiBMLyBidXQgc2Vjb25kIGNhbgorQlVJTERJRD1gZW52IExEX0xJQlJBUllfUEFUSD0k bGRwYXRoICR7YWJzX2J1aWxkZGlyfS8uLi9zcmMvcmVhZGVsZiBcCisgICAgICAgICAtYSBML2Zv byB8IGdyZXAgJ0J1aWxkIElEJyB8IGN1dCAtZCAnICcgLWYgN2AKK2ZpbGUgTC9mb28KK2ZpbGUg LUwgTC9mb28KK2V4cG9ydCBERUJVR0lORk9EX1VSTFM9aHR0cDovLzEyNy4wLjAuMTokUE9SVDEK K3JtIC1yZiAkREVCVUdJTkZPRF9DQUNIRV9QQVRICit0ZXN0cnVuICR7YWJzX3RvcF9idWlsZGRp cn0vZGVidWdpbmZvZC9kZWJ1Z2luZm9kLWZpbmQgZGVidWdpbmZvICRCVUlMRElEICYmIGZhbHNl IHx8IHRydWUKK3JtIC1mICRERUJVR0lORk9EX0NBQ0hFX1BBVEgvJEJVSUxESUQvZGVidWdpbmZv ICMgZHJvcCAwMDAtcGVybSBuZWdhdGl2ZS1oaXQgZmlsZQorZXhwb3J0IERFQlVHSU5GT0RfVVJM Uz1odHRwOi8vMTI3LjAuMC4xOiRQT1JUMgordGVzdHJ1biAke2Fic190b3BfYnVpbGRkaXJ9L2Rl YnVnaW5mb2QvZGVidWdpbmZvZC1maW5kIGRlYnVnaW5mbyAkQlVJTERJRAorCisjIHRlc3QgYWdh aW4gd2l0aCBzY2hlbWUgZnJlZSB1cmwKK2V4cG9ydCBERUJVR0lORk9EX1VSTFM9MTI3LjAuMC4x OiRQT1JUMQorcm0gLXJmICRERUJVR0lORk9EX0NBQ0hFX1BBVEgKK3Rlc3RydW4gJHthYnNfdG9w X2J1aWxkZGlyfS9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QtZmluZCBkZWJ1Z2luZm8gJEJVSUxESUQg JiYgZmFsc2UgfHwgdHJ1ZQorcm0gLWYgJERFQlVHSU5GT0RfQ0FDSEVfUEFUSC8kQlVJTERJRC9k ZWJ1Z2luZm8gIyBkcm9wIDAwMC1wZXJtIG5lZ2F0aXZlLWhpdCBmaWxlCitleHBvcnQgREVCVUdJ TkZPRF9VUkxTPTEyNy4wLjAuMTokUE9SVDIKK3Rlc3RydW4gJHthYnNfdG9wX2J1aWxkZGlyfS9k ZWJ1Z2luZm9kL2RlYnVnaW5mb2QtZmluZCBkZWJ1Z2luZm8gJEJVSUxESUQKKworIyB0ZXN0IHBh cmFsbGVsIHF1ZXJpZXMgaW4gY2xpZW50CitleHBvcnQgREVCVUdJTkZPRF9DQUNIRV9QQVRIPSR7 UFdEfS8uY2xpZW50X2NhY2hlMworbWtkaXIgLXAgJERFQlVHSU5GT0RfQ0FDSEVfUEFUSAorZXhw b3J0IERFQlVHSU5GT0RfVVJMUz0iQkFEIGh0dHA6Ly8xMjcuMC4wLjE6JFBPUlQxIDEyNy4wLjAu MTokUE9SVDEgaHR0cDovLzEyNy4wLjAuMTokUE9SVDIgRE5FIgorCit0ZXN0cnVuICR7YWJzX2J1 aWxkZGlyfS9kZWJ1Z2luZm9kX2J1aWxkX2lkX2ZpbmQgLWUgRi9wcm9nIDEKKwora2lsbCAkUElE MQora2lsbCAkUElEMgord2FpdCAkUElEMQord2FpdCAkUElEMgorUElEMT0wCitQSUQyPTAKKwor ZXhpdCAwCmRpZmYgLS1naXQgYS90ZXN0cy9ydW4tZGVidWdpbmZvZC1mZWRlcmF0aW9uLW1ldHJp Y3Muc2ggYi90ZXN0cy9ydW4tZGVidWdpbmZvZC1mZWRlcmF0aW9uLW1ldHJpY3Muc2gKbmV3IGZp bGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAuLjZhZDkyN2M5Ci0tLSAvZGV2L251bGwKKysr IGIvdGVzdHMvcnVuLWRlYnVnaW5mb2QtZmVkZXJhdGlvbi1tZXRyaWNzLnNoCkBAIC0wLDAgKzEs MjEzIEBACisjIS91c3IvYmluL2VudiBiYXNoCisjCisjIENvcHlyaWdodCAoQykgMjAxOS0yMDIx IFJlZCBIYXQsIEluYy4KKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgZWxmdXRpbHMuCisjCisjIFRo aXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3Ig bW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp dGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55 IGxhdGVyIHZlcnNpb24uCisjCisjIGVsZnV0aWxzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAorIyBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0 aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKyMgWW91IHNob3VsZCBoYXZlIHJl Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyMgYWxvbmcg d2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vu c2VzLz4uCisKKy4gJHNyY2Rpci90ZXN0LXN1YnIuc2ggICMgaW5jbHVkZXMgc2V0IC1lCisKKyMg Zm9yIHRlc3QgY2FzZSBkZWJ1Z2dpbmcsIHVuY29tbWVudDoKK3NldCAteAordW5zZXQgVkFMR1JJ TkRfQ01ECisKK0RCPSR7UFdEfS8uZGVidWdpbmZvZF90bXAuc3FsaXRlCitleHBvcnQgREVCVUdJ TkZPRF9DQUNIRV9QQVRIPSR7UFdEfS8uY2xpZW50X2NhY2hlCitleHBvcnQgREVCVUdJTkZPRF9U SU1FT1VUPTEwCitleHBvcnQgREVCVUdJTkZPRF9VUkxTPSdodHRwOi8vMTI3LjAuMC4xOjAnICMg Tm90ZSBpbnZhbGlkCit0ZW1wZmlsZXMgJERCCisjIENsZWFuIG9sZCBkaXJpY3RvcmllcworbWtk aXIgRCBMIEYKKworIyBub3QgdGVtcGZpbGVzIEYgUiBMIEQgWiAtIHRoZXkgYXJlIGRpcmVjdG9y aWVzIHdoaWNoIHdlIGNsZWFuIHVwIG1hbnVhbGx5CitsbiAtcyAke2Fic19idWlsZGRpcn0vZHdm bGxpbmVzIEwvZm9vICAgIyBhbnkgcHJvZ3JhbSBub3QgdXNlZCBlbHNld2hlcmUgaW4gdGhpcyB0 ZXN0CisjIFRoaXMgdmFyaWFibGUgaXMgZXNzZW50aWFsIGFuZCBlbnN1cmVzIG5vIHRpbWUtcmFj ZSBmb3IgY2xhaW1pbmcgcG9ydHMgb2NjdXJzCisjIHNldCBiYXNlIHRvIGEgdW5pcXVlIG11bHRp cGxlIG9mIDEwMCBub3QgdXNlZCBpbiBhbnkgb3RoZXIgJ3J1bi1kZWJ1Z2luZm9kLSonIHRlc3QK K2Jhc2U9OTAwMAorZ2V0X3BvcnRzCisKKyMgTGF1bmNoIHNlcnZlciB3aGljaCB3aWxsIGJlIHVu YWJsZSB0byBmb2xsb3cgc3ltbGlua3MKK2VudiBMRF9MSUJSQVJZX1BBVEg9JGxkcGF0aCAke2Fi c19idWlsZGRpcn0vLi4vZGVidWdpbmZvZC9kZWJ1Z2luZm9kICRWRVJCT1NFIC1kICR7REJ9IC1G IC1VIC10MCAtZzAgLXAgJFBPUlQxIEwgRCBGID4gdmxvZyRQT1JUMSAyPiYxICYKK1BJRDE9JCEK K3RlbXBmaWxlcyB2bG9nJFBPUlQxCitlcnJmaWxlcyB2bG9nJFBPUlQxCisKK3dhaXRfcmVhZHkg JFBPUlQxICdyZWFkeScgMQorCitraWxsIC1VU1IxICRQSUQxCit3YWl0X3JlYWR5ICRQT1JUMSAn dGhyZWFkX3dvcmtfdG90YWx7cm9sZT0idHJhdmVyc2UifScgMQord2FpdF9yZWFkeSAkUE9SVDEg J3RocmVhZF93b3JrX3BlbmRpbmd7cm9sZT0ic2NhbiJ9JyAwCit3YWl0X3JlYWR5ICRQT1JUMSAn dGhyZWFkX2J1c3l7cm9sZT0ic2NhbiJ9JyAwCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgQ29tcGlsZSBh IHNpbXBsZSBwcm9ncmFtLCBzdHJpcCBpdHMgZGVidWdpbmZvIGFuZCBzYXZlIHRoZSBidWlsZC1p ZC4KKyMgQWxzbyBtb3ZlIHRoZSBkZWJ1Z2luZm8gaW50byBhbm90aGVyIGRpcmVjdG9yeSBzbyB0 aGF0IGVsZnV0aWxzCisjIGNhbm5vdCBmaW5kIGl0IHdpdGhvdXQgZGVidWdpbmZvZC4KK2VjaG8g ImludCBtYWluKCkgeyByZXR1cm4gMDsgfSIgPiAke1BXRH0vcHJvZy5jCit0ZW1wZmlsZXMgcHJv Zy5jCisjIENyZWF0ZSBhIHN1YmRpcmVjdG9yeSB0byBjb25mb3VuZCBzb3VyY2UgcGF0aCBuYW1l cworbWtkaXIgZm9vYmFyCitnY2MgLVdsLC0tYnVpbGQtaWQgLWcgLW8gcHJvZyAke1BXRH0vZm9v YmFyLy8vLi8uLi9wcm9nLmMKK3Rlc3RydW4gJHthYnNfdG9wX2J1aWxkZGlyfS9zcmMvc3RyaXAg LWcgLWYgcHJvZy5kZWJ1ZyAke1BXRH0vcHJvZworQlVJTERJRD1gZW52IExEX0xJQlJBUllfUEFU SD0kbGRwYXRoICR7YWJzX2J1aWxkZGlyfS8uLi9zcmMvcmVhZGVsZiBcCisgICAgICAgICAgLWEg cHJvZyB8IGdyZXAgJ0J1aWxkIElEJyB8IGN1dCAtZCAnICcgLWYgN2AKKworbXYgcHJvZyBGCitt diBwcm9nLmRlYnVnIEYKK2tpbGwgLVVTUjEgJFBJRDEKKyMgV2FpdCB0aWxsIGJvdGggZmlsZXMg YXJlIGluIHRoZSBpbmRleC4KK3dhaXRfcmVhZHkgJFBPUlQxICd0aHJlYWRfd29ya190b3RhbHty b2xlPSJ0cmF2ZXJzZSJ9JyAyCit3YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX3dvcmtfcGVuZGlu Z3tyb2xlPSJzY2FuIn0nIDAKK3dhaXRfcmVhZHkgJFBPUlQxICd0aHJlYWRfYnVzeXtyb2xlPSJz Y2FuIn0nIDAKKword2FpdF9yZWFkeSAkUE9SVDEgJ3RocmVhZF9idXN5e3JvbGU9Imh0dHAtYnVp bGRpZCJ9JyAwCit3YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX2J1c3l7cm9sZT0iaHR0cC1tZXRy aWNzIn0nIDEKKworZXhwb3J0IERFQlVHSU5GT0RfQ0FDSEVfUEFUSD0ke1BXRH0vLmNsaWVudF9j YWNoZTIKK21rZGlyIC1wICRERUJVR0lORk9EX0NBQ0hFX1BBVEgKKyMgTkI6IHJ1biBpbiAtTCBz eW1saW5rLWZvbGxvd2luZyBtb2RlIGZvciB0aGUgTCBzdWJkaXIKK2VudiBMRF9MSUJSQVJZX1BB VEg9JGxkcGF0aCBERUJVR0lORk9EX1VSTFM9aHR0cDovLzEyNy4wLjAuMTokUE9SVDEgJHthYnNf YnVpbGRkaXJ9Ly4uL2RlYnVnaW5mb2QvZGVidWdpbmZvZCAkVkVSQk9TRSAtZCAke0RCfV8yIC1G IC1VIC1wICRQT1JUMiAtTCBMIEQgPiB2bG9nJFBPUlQyIDI+JjEgJgorUElEMj0kIQordGVtcGZp bGVzIHZsb2ckUE9SVDIKK2VycmZpbGVzIHZsb2ckUE9SVDIKK3RlbXBmaWxlcyAke0RCfV8yCisK K3dhaXRfcmVhZHkgJFBPUlQyICdyZWFkeScgMQord2FpdF9yZWFkeSAkUE9SVDIgJ3RocmVhZF93 b3JrX3RvdGFse3JvbGU9InRyYXZlcnNlIn0nIDEKK3dhaXRfcmVhZHkgJFBPUlQyICd0aHJlYWRf d29ya19wZW5kaW5ne3JvbGU9InNjYW4ifScgMAord2FpdF9yZWFkeSAkUE9SVDIgJ3RocmVhZF9i dXN5e3JvbGU9InNjYW4ifScgMAorCit3YWl0X3JlYWR5ICRQT1JUMiAndGhyZWFkX2J1c3l7cm9s ZT0iaHR0cC1idWlsZGlkIn0nIDAKK3dhaXRfcmVhZHkgJFBPUlQyICd0aHJlYWRfYnVzeXtyb2xl PSJodHRwLW1ldHJpY3MifScgMQorCisjIGhhdmUgY2xpZW50cyBjb250YWN0IHRoZSBuZXcgc2Vy dmVyCitleHBvcnQgREVCVUdJTkZPRF9VUkxTPWh0dHA6Ly8xMjcuMC4wLjE6JFBPUlQyCitpZiB0 eXBlIGJzZHRhciAyPi9kZXYvbnVsbDsgdGhlbgorICAgICMgY29weSBpbiB0aGUgZGViIGZpbGVz CisgICAgY3AgLXJ2cCAke2Fic19zcmNkaXJ9L2RlYnVnaW5mb2QtZGVicy8qZGViIEQKKyAgICBr aWxsIC1VU1IxICRQSUQyCisgICAgd2FpdF9yZWFkeSAkUE9SVDIgJ3RocmVhZF93b3JrX3RvdGFs e3JvbGU9InRyYXZlcnNlIn0nIDIKKyAgICB3YWl0X3JlYWR5ICRQT1JUMiAndGhyZWFkX3dvcmtf cGVuZGluZ3tyb2xlPSJzY2FuIn0nIDAKKyAgICB3YWl0X3JlYWR5ICRQT1JUMiAndGhyZWFkX2J1 c3l7cm9sZT0ic2NhbiJ9JyAwCisKKyAgICAjIEFsbCBkZWJzIG5lZWQgdG8gYmUgaW4gdGhlIGlu ZGV4CisgICAgZGVicz0kKGZpbmQgRCAtbmFtZSBcKi5kZWIgfCB3YyAtbCkKKyAgICB3YWl0X3Jl YWR5ICRQT1JUMiAnc2Nhbm5lZF9maWxlc190b3RhbHtzb3VyY2U9Ii5kZWIgYXJjaGl2ZSJ9JyBg ZXhwciAkZGVic2AKKyAgICBkZGVicz0kKGZpbmQgRCAtbmFtZSBcKi5kZGViIHwgd2MgLWwpCisg ICAgd2FpdF9yZWFkeSAkUE9SVDIgJ3NjYW5uZWRfZmlsZXNfdG90YWx7c291cmNlPSIuZGRlYiBh cmNoaXZlIn0nIGBleHByICRkZGVic2AKKworICAgICMgdWJ1bnR1CisgICAgYXJjaGl2ZV90ZXN0 IGYxN2EyOWI1YTI1YmQ0OTYwNTMxZDgyYWE2YjA3YzhhYmU4NGZhNjYgIiIgIiIKK2ZpCisKK3Jt IC1yZiAkREVCVUdJTkZPRF9DQUNIRV9QQVRICit0ZXN0cnVuICR7YWJzX3RvcF9idWlsZGRpcn0v ZGVidWdpbmZvZC9kZWJ1Z2luZm9kLWZpbmQgZGVidWdpbmZvICRCVUlMRElECisKKyMgc2VuZCBh IHJlcXVlc3QgdG8gc3RyZXNzIFhGRiBhbmQgVXNlci1BZ2VudCBmZWRlcmF0aW9uIHJlbGF5Owor IyB3ZSdsbCBncmVwIGZvciB0aGUgdHdvIHBhdHRlcm5zIGluIHZsb2ckUE9SVDEKK2N1cmwgLXMg LUggJ1VzZXItQWdlbnQ6IFRFU1RDVVJMJyAtSCAnWC1Gb3J3YXJkZWQtRm9yOiBURVNUWEZGJyAk REVCVUdJTkZPRF9VUkxTL2J1aWxkaWQvZGVhZGRlYWRiZWVmMDAwMDAwMDAvZGVidWdpbmZvIC1v IC9kZXYvbnVsbCB8fCB0cnVlCisKK2dyZXAgVUE6VEVTVENVUkwgdmxvZyRQT1JUMQorZ3JlcCBY RkY6VEVTVFhGRiB2bG9nJFBPUlQxCisKKyMgY29uZmlybSB0aGF0IGZpcnN0IHNlcnZlciBjYW4n dCByZXNvbHZlIHN5bWxpbmtlZCBpbmZvIGluIEwvIGJ1dCBzZWNvbmQgY2FuCitCVUlMRElEPWBl bnYgTERfTElCUkFSWV9QQVRIPSRsZHBhdGggJHthYnNfYnVpbGRkaXJ9Ly4uL3NyYy9yZWFkZWxm IFwKKyAgICAgICAgIC1hIEwvZm9vIHwgZ3JlcCAnQnVpbGQgSUQnIHwgY3V0IC1kICcgJyAtZiA3 YAorZmlsZSBML2ZvbworZmlsZSAtTCBML2ZvbworZXhwb3J0IERFQlVHSU5GT0RfVVJMUz1odHRw Oi8vMTI3LjAuMC4xOiRQT1JUMQorcm0gLXJmICRERUJVR0lORk9EX0NBQ0hFX1BBVEgKK3Rlc3Ry dW4gJHthYnNfdG9wX2J1aWxkZGlyfS9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QtZmluZCBkZWJ1Z2lu Zm8gJEJVSUxESUQgJiYgZmFsc2UgfHwgdHJ1ZQorcm0gLWYgJERFQlVHSU5GT0RfQ0FDSEVfUEFU SC8kQlVJTERJRC9kZWJ1Z2luZm8gIyBkcm9wIDAwMC1wZXJtIG5lZ2F0aXZlLWhpdCBmaWxlCitl eHBvcnQgREVCVUdJTkZPRF9VUkxTPWh0dHA6Ly8xMjcuMC4wLjE6JFBPUlQyCit0ZXN0cnVuICR7 YWJzX3RvcF9idWlsZGRpcn0vZGVidWdpbmZvZC9kZWJ1Z2luZm9kLWZpbmQgZGVidWdpbmZvICRC VUlMRElECisKKyMgdGVzdCBhZ2FpbiB3aXRoIHNjaGVtZSBmcmVlIHVybAorZXhwb3J0IERFQlVH SU5GT0RfVVJMUz0xMjcuMC4wLjE6JFBPUlQxCitybSAtcmYgJERFQlVHSU5GT0RfQ0FDSEVfUEFU SAordGVzdHJ1biAke2Fic190b3BfYnVpbGRkaXJ9L2RlYnVnaW5mb2QvZGVidWdpbmZvZC1maW5k IGRlYnVnaW5mbyAkQlVJTERJRCAmJiBmYWxzZSB8fCB0cnVlCitybSAtZiAkREVCVUdJTkZPRF9D QUNIRV9QQVRILyRCVUlMRElEL2RlYnVnaW5mbyAjIGRyb3AgMDAwLXBlcm0gbmVnYXRpdmUtaGl0 IGZpbGUKK2V4cG9ydCBERUJVR0lORk9EX1VSTFM9MTI3LjAuMC4xOiRQT1JUMgordGVzdHJ1biAk e2Fic190b3BfYnVpbGRkaXJ9L2RlYnVnaW5mb2QvZGVidWdpbmZvZC1maW5kIGRlYnVnaW5mbyAk QlVJTERJRAorIyB0ZXN0IHBhcmFsbGVsIHF1ZXJpZXMgaW4gY2xpZW50CitleHBvcnQgREVCVUdJ TkZPRF9DQUNIRV9QQVRIPSR7UFdEfS8uY2xpZW50X2NhY2hlMworbWtkaXIgLXAgJERFQlVHSU5G T0RfQ0FDSEVfUEFUSAorZXhwb3J0IERFQlVHSU5GT0RfVVJMUz0iQkFEIGh0dHA6Ly8xMjcuMC4w LjE6JFBPUlQxIDEyNy4wLjAuMTokUE9SVDEgaHR0cDovLzEyNy4wLjAuMTokUE9SVDIgRE5FIgor Cit0ZXN0cnVuICR7YWJzX2J1aWxkZGlyfS9kZWJ1Z2luZm9kX2J1aWxkX2lkX2ZpbmQgLWUgRi9w cm9nIDEKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIEZldGNoIHNvbWUgbWV0cmljcworY3VybCAtcyBo dHRwOi8vMTI3LjAuMC4xOiRQT1JUMS9iYWRhcGkKK2N1cmwgLXMgaHR0cDovLzEyNy4wLjAuMTok UE9SVDEvbWV0cmljcworY3VybCAtcyBodHRwOi8vMTI3LjAuMC4xOiRQT1JUMi9tZXRyaWNzCitj dXJsIC1zIGh0dHA6Ly8xMjcuMC4wLjE6JFBPUlQxL21ldHJpY3MgfCBncmVwIC1xICdodHRwX3Jl c3BvbnNlc190b3RhbC4qcmVzdWx0LiplcnJvcicKK2N1cmwgLXMgaHR0cDovLzEyNy4wLjAuMTok UE9SVDIvbWV0cmljcyB8IGdyZXAgLXEgJ2h0dHBfcmVzcG9uc2VzX3RvdGFsLipyZXN1bHQuKnVw c3RyZWFtJworY3VybCAtcyBodHRwOi8vMTI3LjAuMC4xOiRQT1JUMS9tZXRyaWNzIHwgZ3JlcCAn aHR0cF9yZXNwb25zZXNfZHVyYXRpb25fbWlsbGlzZWNvbmRzX2NvdW50JworY3VybCAtcyBodHRw Oi8vMTI3LjAuMC4xOiRQT1JUMS9tZXRyaWNzIHwgZ3JlcCAnaHR0cF9yZXNwb25zZXNfZHVyYXRp b25fbWlsbGlzZWNvbmRzX3N1bScKK2N1cmwgLXMgaHR0cDovLzEyNy4wLjAuMTokUE9SVDEvbWV0 cmljcyB8IGdyZXAgJ2h0dHBfcmVzcG9uc2VzX3RyYW5zZmVyX2J5dGVzX2NvdW50JworY3VybCAt cyBodHRwOi8vMTI3LjAuMC4xOiRQT1JUMS9tZXRyaWNzIHwgZ3JlcCAnaHR0cF9yZXNwb25zZXNf dHJhbnNmZXJfYnl0ZXNfc3VtJworY3VybCAtcyBodHRwOi8vMTI3LjAuMC4xOiRQT1JUMS9tZXRy aWNzIHwgZ3JlcCAnZmRjYWNoZV8nCitjdXJsIC1zIGh0dHA6Ly8xMjcuMC4wLjE6JFBPUlQxL21l dHJpY3MgfCBncmVwICdlcnJvcl9jb3VudCcKK2N1cmwgLXMgaHR0cDovLzEyNy4wLjAuMTokUE9S VDEvbWV0cmljcyB8IGdyZXAgJ3RyYXZlcnNlZF90b3RhbCcKK2N1cmwgLXMgaHR0cDovLzEyNy4w LjAuMTokUE9SVDEvbWV0cmljcyB8IGdyZXAgJ3NjYW5uZWRfYnl0ZXNfdG90YWwnCisKKyMgQW5k IGdlbmVyYXRlIGEgZmV3IGVycm9ycyBpbnRvIHRoZSBzZWNvbmQgZGVidWdpbmZvZCdzIGxvZ3Ms IGZvciBhbmFseXNpcyBqdXN0IGJlbG93CitjdXJsIC1zIGh0dHA6Ly8xMjcuMC4wLjE6JFBPUlQy L2JhZGFwaSA+IC9kZXYvbnVsbCB8fCB0cnVlCitjdXJsIC1zIGh0dHA6Ly8xMjcuMC4wLjE6JFBP UlQyL2J1aWxkaWQvZGVhZGJlZWYvZGVidWdpbmZvID4gL2Rldi9udWxsIHx8IHRydWUKKyMgTkI6 IHRoaXMgZXJyb3IgaXMgdXNlZCB0byBzZWVkIHRoZSA0MDQgZmFpbHVyZSBmb3IgdGhlIHN1cnZp dmUtNDA0IHRlc3RzCisKKyMgQ29uZmlybSBiYWQgYXJ0aWZhY3QgdHlwZXMgYXJlIHJlamVjdGVk IHdpdGhvdXQgbGVhdmluZyB0cmFjZQorY3VybCAtcyBodHRwOi8vMTI3LjAuMC4xOiRQT1JUMi9i dWlsZGlkL2RlYWRiZWVmL2JhZHR5cGUgPiAvZGV2L251bGwgfHwgdHJ1ZQorKGN1cmwgLXMgaHR0 cDovLzEyNy4wLjAuMTokUE9SVDIvbWV0cmljcyB8IGdyZXAgJ2JhZHR5cGUnKSAmJiBmYWxzZQor CisjIERJU0FCTEUgVkFMR1JJTkQgY2hlY2tpbmcgYmVjYXVzZSB2YWxncmluZCBtaWdodCB1c2Ug ZGVidWdpbmZvZCBjbGllbnQKKyMgcmVxdWVzdHMgaXRzZWxmLCBjYXVzaW5nIGNvbmZ1c2lvbiBh Ym91dCB3aG8gcHV0IHdoYXQgaW4gdGhlIGNhY2hlLgorIyBJdCBzdGF5cyBkaXNhYmxlZCB0aWxs IHRoZSBlbmQgb2YgdGhpcyB0ZXN0LgordW5zZXQgVkFMR1JJTkRfQ01ECisKKyMgQ29uZmlybSB0 aGF0IHJldXNlZCBjdXJsIGNvbm5lY3Rpb25zIHN1cnZpdmUgNDA0IGVycm9ycy4KKyMgVGhlIHJt J3MgZm9yY2UgYW4gdW5jYWNoZWQgZmV0Y2gKK3JtIC1mICRERUJVR0lORk9EX0NBQ0hFX1BBVEgv JEJVSUxESUQvZGVidWdpbmZvIC5jbGllbnRfY2FjaGUqLyRCVUlMRElEL2RlYnVnaW5mbwordGVz dHJ1biAke2Fic190b3BfYnVpbGRkaXJ9L2RlYnVnaW5mb2QvZGVidWdpbmZvZC1maW5kIGRlYnVn aW5mbyAkQlVJTERJRAorcm0gLWYgJERFQlVHSU5GT0RfQ0FDSEVfUEFUSC8kQlVJTERJRC9kZWJ1 Z2luZm8gLmNsaWVudF9jYWNoZSovJEJVSUxESUQvZGVidWdpbmZvCit0ZXN0cnVuICR7YWJzX3Rv cF9idWlsZGRpcn0vZGVidWdpbmZvZC9kZWJ1Z2luZm9kLWZpbmQgZGVidWdpbmZvICRCVUlMRElE Cit0ZXN0cnVuICR7YWJzX3RvcF9idWlsZGRpcn0vZGVidWdpbmZvZC9kZWJ1Z2luZm9kLWZpbmQg ZGVidWdpbmZvICRCVUlMRElECit0ZXN0cnVuICR7YWJzX3RvcF9idWlsZGRpcn0vZGVidWdpbmZv ZC9kZWJ1Z2luZm9kLWZpbmQgZGVidWdpbmZvICRCVUlMRElECitybSAtZiAkREVCVUdJTkZPRF9D QUNIRV9QQVRILyRCVUlMRElEL2RlYnVnaW5mbyAuY2xpZW50X2NhY2hlKi8kQlVJTERJRC9kZWJ1 Z2luZm8KK3Rlc3RydW4gJHthYnNfdG9wX2J1aWxkZGlyfS9kZWJ1Z2luZm9kL2RlYnVnaW5mb2Qt ZmluZCBkZWJ1Z2luZm8gJEJVSUxESUQKKworIyBDb25maXJtIHRoYXQgc29tZSBkZWJ1Z2luZm9k IGNsaWVudCBwb29scyBhcmUgYmVpbmcgdXNlZAorY3VybCAtcyBodHRwOi8vMTI3LjAuMC4xOiRQ T1JUMi9tZXRyaWNzIHwgZ3JlcCAnZGNfcG9vbF9vcC4qcmV1c2UnCisKKyMgVHJpZ2dlciBhIGZs b29kIG9mIHJlcXVlc3RzIGFnYWluc3QgdGhlIHNhbWUgYXJjaGl2ZSBjb250ZW50IGZpbGUuCisj IFVzZSBhIGZpbGUgdGhhdCBoYXNuJ3QgYmVlbiBwcmV2aW91c2x5IGV4dHJhY3RlZCBpbiB0byBt YWtlIGl0CisjIGxpa2VseSB0aGF0IGV2ZW4gdGhpcyB0ZXN0IGRlYnVnaW5mb2Qgd2lsbCBleHBl cmllbmNlIGNvbmN1cnJlbmN5CisjIGFuZCBpbXBvc2Ugc29tZSAiYWZ0ZXIteW91IiBkZWxheXMu CisoZm9yIGkgaW4gYHNlcSAxMDBgOyBkbworICAgIGN1cmwgLXMgaHR0cDovLzEyNy4wLjAuMTok UE9SVDEvYnVpbGRpZC84N2MwOGQxMmM3ODE3NGYxMDgyYjdjODg4YjMyMzgyMTliMGViMjY1L2V4 ZWN1dGFibGUgPi9kZXYvbnVsbCAmCisgZG9uZTsKKyB3YWl0KQorY3VybCAtcyBodHRwOi8vMTI3 LjAuMC4xOiRQT1JUMS9tZXRyaWNzIHwgZ3JlcCAnaHR0cF9yZXNwb25zZXNfYWZ0ZXJfeW91Lion CisjIElmIHdlIGNvdWxkIGd1YXJhbnRlZSBzb21lIG1pbmltdW0gbnVtYmVyIG9mIHNlY29uZHMg b2YgQ1BVIHRpbWUsIHdlCisjIGNvdWxkIGFzc2VydCB0aGF0IHRoZSBhZnRlcl95b3UgbWV0cmlj cyBzaG93IHNvbWUgbm9uemVybyBhbW91bnQgb2YKKyMgd2FpdGluZy4gIEEgZmV3IGh1bmRyZWQg bXMgaXMgdHlwaWNhbCBvbiB0aGlzIGRldmVsb3BlcidzIHdvcmtzdGF0aW9uLgorCitraWxsICRQ SUQxCitraWxsICRQSUQyCit3YWl0ICRQSUQxCit3YWl0ICRQSUQyCitQSUQxPTAKK1BJRDI9MAor ZXhpdCAwCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3J1bi1kZWJ1Z2luZm9kLWZlZGVyYXRpb24tc3Fs aXRlLnNoIGIvdGVzdHMvcnVuLWRlYnVnaW5mb2QtZmVkZXJhdGlvbi1zcWxpdGUuc2gKbmV3IGZp bGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAuLjQwZDUyZjZlCi0tLSAvZGV2L251bGwKKysr IGIvdGVzdHMvcnVuLWRlYnVnaW5mb2QtZmVkZXJhdGlvbi1zcWxpdGUuc2gKQEAgLTAsMCArMSwy MDEgQEAKKyMhL3Vzci9iaW4vZW52IGJhc2gKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjEg UmVkIEhhdCwgSW5jLgorIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBlbGZ1dGlscy4KKyMKKyMgVGhp cyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBt b2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0 aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkg bGF0ZXIgdmVyc2lvbi4KKyMKKyMgZWxmdXRpbHMgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CisjIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVj ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorIyBhbG9uZyB3 aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5z ZXMvPi4KKy4gJHNyY2Rpci90ZXN0LXN1YnIuc2ggICMgaW5jbHVkZXMgc2V0IC1lCisKKyMgZm9y IHRlc3QgY2FzZSBkZWJ1Z2dpbmcsIHVuY29tbWVudDoKK3NldCAteAordW5zZXQgVkFMR1JJTkRf Q01ECisKK0RCPSR7UFdEfS8uZGVidWdpbmZvZF90bXAuc3FsaXRlCitleHBvcnQgREVCVUdJTkZP RF9DQUNIRV9QQVRIPSR7UFdEfS8uY2xpZW50X2NhY2hlCitleHBvcnQgREVCVUdJTkZPRF9USU1F T1VUPTEwCitleHBvcnQgREVCVUdJTkZPRF9VUkxTPSdodHRwOi8vMTI3LjAuMC4xOjAnICMgTm90 ZSBpbnZhbGlkCit0ZW1wZmlsZXMgJERCCisKKyMgQ2xlYW4gb2xkIGRpcmljdG9yaWVzCitta2Rp ciBEIEwgRgorIyBub3QgdGVtcGZpbGVzIEYgUiBMIEQgWiAtIHRoZXkgYXJlIGRpcmVjdG9yaWVz IHdoaWNoIHdlIGNsZWFuIHVwIG1hbnVhbGx5CitsbiAtcyAke2Fic19idWlsZGRpcn0vZHdmbGxp bmVzIEwvZm9vICAgIyBhbnkgcHJvZ3JhbSBub3QgdXNlZCBlbHNld2hlcmUgaW4gdGhpcyB0ZXN0 CisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIworIyBDb21waWxlIGEgc2ltcGxlIHByb2dyYW0sIHN0cmlwIGl0 cyBkZWJ1Z2luZm8gYW5kIHNhdmUgdGhlIGJ1aWxkLWlkLgorIyBBbHNvIG1vdmUgdGhlIGRlYnVn aW5mbyBpbnRvIGFub3RoZXIgZGlyZWN0b3J5IHNvIHRoYXQgZWxmdXRpbHMKKyMgY2Fubm90IGZp bmQgaXQgd2l0aG91dCBkZWJ1Z2luZm9kLgorZWNobyAiaW50IG1haW4oKSB7IHJldHVybiAwOyB9 IiA+ICR7UFdEfS9wcm9nLmMKK3RlbXBmaWxlcyBwcm9nLmMKKyMgQ3JlYXRlIGEgc3ViZGlyZWN0 b3J5IHRvIGNvbmZvdW5kIHNvdXJjZSBwYXRoIG5hbWVzCitta2RpciBmb29iYXIKK2djYyAtV2ws LS1idWlsZC1pZCAtZyAtbyBwcm9nICR7UFdEfS9mb29iYXIvLy8uLy4uL3Byb2cuYwordGVzdHJ1 biAke2Fic190b3BfYnVpbGRkaXJ9L3NyYy9zdHJpcCAtZyAtZiBwcm9nLmRlYnVnICR7UFdEfS9w cm9nCitCVUlMRElEPWBlbnYgTERfTElCUkFSWV9QQVRIPSRsZHBhdGggJHthYnNfYnVpbGRkaXJ9 Ly4uL3NyYy9yZWFkZWxmIFwKKyAgICAgICAgICAtYSBwcm9nIHwgZ3JlcCAnQnVpbGQgSUQnIHwg Y3V0IC1kICcgJyAtZiA3YAorCittdiBwcm9nIEYKK212IHByb2cuZGVidWcgRgorIyBUaGlzIHZh cmlhYmxlIGlzIGVzc2VudGlhbCBhbmQgZW5zdXJlcyBubyB0aW1lLXJhY2UgZm9yIGNsYWltaW5n IHBvcnRzIG9jY3VycworIyBzZXQgYmFzZSB0byBhIHVuaXF1ZSBtdWx0aXBsZSBvZiAxMDAgbm90 IHVzZWQgaW4gYW55IG90aGVyICdydW4tZGVidWdpbmZvZC0qJyB0ZXN0CitiYXNlPTkxMDAKK2dl dF9wb3J0cworIyBMYXVuY2ggc2VydmVyIHdoaWNoIHdpbGwgYmUgdW5hYmxlIHRvIGZvbGxvdyBz eW1saW5rcworZW52IExEX0xJQlJBUllfUEFUSD0kbGRwYXRoICR7YWJzX2J1aWxkZGlyfS8uLi9k ZWJ1Z2luZm9kL2RlYnVnaW5mb2QgJFZFUkJPU0UgLWQgJHtEQn0gLUYgLVUgLXQwIC1nMCAtcCAk UE9SVDEgTCBEIEYgPiB2bG9nJFBPUlQxIDI+JjEgJgorUElEMT0kIQordGVtcGZpbGVzIHZsb2ck UE9SVDEKK2VycmZpbGVzIHZsb2ckUE9SVDEKKword2FpdF9yZWFkeSAkUE9SVDEgJ3JlYWR5JyAx CisKK2tpbGwgLVVTUjEgJFBJRDEKK3dhaXRfcmVhZHkgJFBPUlQxICd0aHJlYWRfd29ya190b3Rh bHtyb2xlPSJ0cmF2ZXJzZSJ9JyAxCit3YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX3dvcmtfcGVu ZGluZ3tyb2xlPSJzY2FuIn0nIDAKK3dhaXRfcmVhZHkgJFBPUlQxICd0aHJlYWRfYnVzeXtyb2xl PSJzY2FuIn0nIDAKKworZXhwb3J0IERFQlVHSU5GT0RfQ0FDSEVfUEFUSD0ke1BXRH0vLmNsaWVu dF9jYWNoZTIKK21rZGlyIC1wICRERUJVR0lORk9EX0NBQ0hFX1BBVEgKKyMgTkI6IHJ1biBpbiAt TCBzeW1saW5rLWZvbGxvd2luZyBtb2RlIGZvciB0aGUgTCBzdWJkaXIKK2VudiBMRF9MSUJSQVJZ X1BBVEg9JGxkcGF0aCBERUJVR0lORk9EX1VSTFM9aHR0cDovLzEyNy4wLjAuMTokUE9SVDEgJHth YnNfYnVpbGRkaXJ9Ly4uL2RlYnVnaW5mb2QvZGVidWdpbmZvZCAkVkVSQk9TRSAtZCAke0RCfV8y IC1GIC1VIC1wICRQT1JUMiAtTCBMIEQgRiA+IHZsb2ckUE9SVDIgMj4mMSAmCitQSUQyPSQhCit0 ZW1wZmlsZXMgdmxvZyRQT1JUMgorZXJyZmlsZXMgdmxvZyRQT1JUMgordGVtcGZpbGVzICR7REJ9 XzIKK3dhaXRfcmVhZHkgJFBPUlQyICdyZWFkeScgMQorCitleHBvcnQgREVCVUdJTkZPRF9VUkxT PSdodHRwOi8vMTI3LjAuMC4xOickUE9SVDIgCitpZiB0eXBlIGJzZHRhciAyPi9kZXYvbnVsbDsg dGhlbgorICAgICMgY29weSBpbiB0aGUgZGViIGZpbGVzCisgICAgY3AgLXJ2cCAke2Fic19zcmNk aXJ9L2RlYnVnaW5mb2QtZGVicy8qZGViIEQKKyAgICBraWxsIC1VU1IxICRQSUQyCisgICAgd2Fp dF9yZWFkeSAkUE9SVDIgJ3RocmVhZF93b3JrX3RvdGFse3JvbGU9InRyYXZlcnNlIn0nIDEKKyAg ICB3YWl0X3JlYWR5ICRQT1JUMiAndGhyZWFkX3dvcmtfcGVuZGluZ3tyb2xlPSJzY2FuIn0nIDAK KyAgICB3YWl0X3JlYWR5ICRQT1JUMiAndGhyZWFkX2J1c3l7cm9sZT0ic2NhbiJ9JyAwCisKKyAg ICAjIEFsbCBkZWJzIG5lZWQgdG8gYmUgaW4gdGhlIGluZGV4CisgICAgZGVicz0kKGZpbmQgRCAt bmFtZSBcKi5kZWIgfCB3YyAtbCkKKyAgICB3YWl0X3JlYWR5ICRQT1JUMiAnc2Nhbm5lZF9maWxl c190b3RhbHtzb3VyY2U9Ii5kZWIgYXJjaGl2ZSJ9JyBgZXhwciAkZGVic2AKKyAgICBkZGVicz0k KGZpbmQgRCAtbmFtZSBcKi5kZGViIHwgd2MgLWwpCisgICAgd2FpdF9yZWFkeSAkUE9SVDIgJ3Nj YW5uZWRfZmlsZXNfdG90YWx7c291cmNlPSIuZGRlYiBhcmNoaXZlIn0nIGBleHByICRkZGVic2AK KworICAgICMgdWJ1bnR1CisgICAgYXJjaGl2ZV90ZXN0IGYxN2EyOWI1YTI1YmQ0OTYwNTMxZDgy YWE2YjA3YzhhYmU4NGZhNjYgIiIgIiIKK2ZpCisKK3JtIC1yZiAkREVCVUdJTkZPRF9DQUNIRV9Q QVRICit0ZXN0cnVuICR7YWJzX3RvcF9idWlsZGRpcn0vZGVidWdpbmZvZC9kZWJ1Z2luZm9kLWZp bmQgZGVidWdpbmZvICRCVUlMRElECisKKyMgc2VuZCBhIHJlcXVlc3QgdG8gc3RyZXNzIFhGRiBh bmQgVXNlci1BZ2VudCBmZWRlcmF0aW9uIHJlbGF5OworIyB3ZSdsbCBncmVwIGZvciB0aGUgdHdv IHBhdHRlcm5zIGluIHZsb2ckUE9SVDEKK2N1cmwgLXMgLUggJ1VzZXItQWdlbnQ6IFRFU1RDVVJM JyAtSCAnWC1Gb3J3YXJkZWQtRm9yOiBURVNUWEZGJyAkREVCVUdJTkZPRF9VUkxTL2J1aWxkaWQv ZGVhZGRlYWRiZWVmMDAwMDAwMDAvZGVidWdpbmZvIC1vIC9kZXYvbnVsbCB8fCB0cnVlCisKK2dy ZXAgVUE6VEVTVENVUkwgdmxvZyRQT1JUMQorZ3JlcCBYRkY6VEVTVFhGRiB2bG9nJFBPUlQxCisK KyMgY29uZmlybSB0aGF0IGZpcnN0IHNlcnZlciBjYW4ndCByZXNvbHZlIHN5bWxpbmtlZCBpbmZv IGluIEwvIGJ1dCBzZWNvbmQgY2FuCitCVUlMRElEPWBlbnYgTERfTElCUkFSWV9QQVRIPSRsZHBh dGggJHthYnNfYnVpbGRkaXJ9Ly4uL3NyYy9yZWFkZWxmIFwKKyAgICAgICAgIC1hIEwvZm9vIHwg Z3JlcCAnQnVpbGQgSUQnIHwgY3V0IC1kICcgJyAtZiA3YAorZmlsZSBML2ZvbworZmlsZSAtTCBM L2ZvbworZXhwb3J0IERFQlVHSU5GT0RfVVJMUz1odHRwOi8vMTI3LjAuMC4xOiRQT1JUMQorcm0g LXJmICRERUJVR0lORk9EX0NBQ0hFX1BBVEgKK3Rlc3RydW4gJHthYnNfdG9wX2J1aWxkZGlyfS9k ZWJ1Z2luZm9kL2RlYnVnaW5mb2QtZmluZCBkZWJ1Z2luZm8gJEJVSUxESUQgJiYgZmFsc2UgfHwg dHJ1ZQorcm0gLWYgJERFQlVHSU5GT0RfQ0FDSEVfUEFUSC8kQlVJTERJRC9kZWJ1Z2luZm8gIyBk cm9wIDAwMC1wZXJtIG5lZ2F0aXZlLWhpdCBmaWxlCitleHBvcnQgREVCVUdJTkZPRF9VUkxTPWh0 dHA6Ly8xMjcuMC4wLjE6JFBPUlQyCit0ZXN0cnVuICR7YWJzX3RvcF9idWlsZGRpcn0vZGVidWdp bmZvZC9kZWJ1Z2luZm9kLWZpbmQgZGVidWdpbmZvICRCVUlMRElECisKKyMgdGVzdCBhZ2FpbiB3 aXRoIHNjaGVtZSBmcmVlIHVybAorZXhwb3J0IERFQlVHSU5GT0RfVVJMUz0xMjcuMC4wLjE6JFBP UlQxCitybSAtcmYgJERFQlVHSU5GT0RfQ0FDSEVfUEFUSAordGVzdHJ1biAke2Fic190b3BfYnVp bGRkaXJ9L2RlYnVnaW5mb2QvZGVidWdpbmZvZC1maW5kIGRlYnVnaW5mbyAkQlVJTERJRCAmJiBm YWxzZSB8fCB0cnVlCitybSAtZiAkREVCVUdJTkZPRF9DQUNIRV9QQVRILyRCVUlMRElEL2RlYnVn aW5mbyAjIGRyb3AgMDAwLXBlcm0gbmVnYXRpdmUtaGl0IGZpbGUKK2V4cG9ydCBERUJVR0lORk9E X1VSTFM9MTI3LjAuMC4xOiRQT1JUMgordGVzdHJ1biAke2Fic190b3BfYnVpbGRkaXJ9L2RlYnVn aW5mb2QvZGVidWdpbmZvZC1maW5kIGRlYnVnaW5mbyAkQlVJTERJRAorIyB0ZXN0IHBhcmFsbGVs IHF1ZXJpZXMgaW4gY2xpZW50CitleHBvcnQgREVCVUdJTkZPRF9DQUNIRV9QQVRIPSR7UFdEfS8u Y2xpZW50X2NhY2hlMworbWtkaXIgLXAgJERFQlVHSU5GT0RfQ0FDSEVfUEFUSAorZXhwb3J0IERF QlVHSU5GT0RfVVJMUz0iQkFEIGh0dHA6Ly8xMjcuMC4wLjE6JFBPUlQxIDEyNy4wLjAuMTokUE9S VDEgaHR0cDovLzEyNy4wLjAuMTokUE9SVDIgRE5FIgorCit0ZXN0cnVuICR7YWJzX2J1aWxkZGly fS9kZWJ1Z2luZm9kX2J1aWxkX2lkX2ZpbmQgLWUgRi9wcm9nIDEKKworIyBBbmQgZ2VuZXJhdGUg YSBmZXcgZXJyb3JzIGludG8gdGhlIHNlY29uZCBkZWJ1Z2luZm9kJ3MgbG9ncywgZm9yIGFuYWx5 c2lzIGp1c3QgYmVsb3cKK2N1cmwgLXMgaHR0cDovLzEyNy4wLjAuMTokUE9SVDIvYmFkYXBpID4g L2Rldi9udWxsIHx8IHRydWUKK2N1cmwgLXMgaHR0cDovLzEyNy4wLjAuMTokUE9SVDIvYnVpbGRp ZC9kZWFkYmVlZi9kZWJ1Z2luZm8gPiAvZGV2L251bGwgfHwgdHJ1ZQorIyBOQjogdGhpcyBlcnJv ciBpcyB1c2VkIHRvIHNlZWQgdGhlIDQwNCBmYWlsdXJlIGZvciB0aGUgc3Vydml2ZS00MDQgdGVz dHMKKworIyBDb25maXJtIGJhZCBhcnRpZmFjdCB0eXBlcyBhcmUgcmVqZWN0ZWQgd2l0aG91dCBs ZWF2aW5nIHRyYWNlCitjdXJsIC1zIGh0dHA6Ly8xMjcuMC4wLjE6JFBPUlQyL2J1aWxkaWQvZGVh ZGJlZWYvYmFkdHlwZSA+IC9kZXYvbnVsbCB8fCB0cnVlCisoY3VybCAtcyBodHRwOi8vMTI3LjAu MC4xOiRQT1JUMi9tZXRyaWNzIHwgZ3JlcCAnYmFkdHlwZScpICYmIGZhbHNlCisKKyMgRElTQUJM RSBWQUxHUklORCBjaGVja2luZyBiZWNhdXNlIHZhbGdyaW5kIG1pZ2h0IHVzZSBkZWJ1Z2luZm9k IGNsaWVudAorIyByZXF1ZXN0cyBpdHNlbGYsIGNhdXNpbmcgY29uZnVzaW9uIGFib3V0IHdobyBw dXQgd2hhdCBpbiB0aGUgY2FjaGUuCisjIEl0IHN0YXlzIGRpc2FibGVkIHRpbGwgdGhlIGVuZCBv ZiB0aGlzIHRlc3QuCit1bnNldCBWQUxHUklORF9DTUQKKworIyBDb25maXJtIHRoYXQgcmV1c2Vk IGN1cmwgY29ubmVjdGlvbnMgc3Vydml2ZSA0MDQgZXJyb3JzLgorIyBUaGUgcm0ncyBmb3JjZSBh biB1bmNhY2hlZCBmZXRjaAorcm0gLWYgJERFQlVHSU5GT0RfQ0FDSEVfUEFUSC8kQlVJTERJRC9k ZWJ1Z2luZm8gLmNsaWVudF9jYWNoZSovJEJVSUxESUQvZGVidWdpbmZvCit0ZXN0cnVuICR7YWJz X3RvcF9idWlsZGRpcn0vZGVidWdpbmZvZC9kZWJ1Z2luZm9kLWZpbmQgZGVidWdpbmZvICRCVUlM RElECitybSAtZiAkREVCVUdJTkZPRF9DQUNIRV9QQVRILyRCVUlMRElEL2RlYnVnaW5mbyAuY2xp ZW50X2NhY2hlKi8kQlVJTERJRC9kZWJ1Z2luZm8KK3Rlc3RydW4gJHthYnNfdG9wX2J1aWxkZGly fS9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QtZmluZCBkZWJ1Z2luZm8gJEJVSUxESUQKK3Rlc3RydW4g JHthYnNfdG9wX2J1aWxkZGlyfS9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QtZmluZCBkZWJ1Z2luZm8g JEJVSUxESUQKK3Rlc3RydW4gJHthYnNfdG9wX2J1aWxkZGlyfS9kZWJ1Z2luZm9kL2RlYnVnaW5m b2QtZmluZCBkZWJ1Z2luZm8gJEJVSUxESUQKK3JtIC1mICRERUJVR0lORk9EX0NBQ0hFX1BBVEgv JEJVSUxESUQvZGVidWdpbmZvIC5jbGllbnRfY2FjaGUqLyRCVUlMRElEL2RlYnVnaW5mbwordGVz dHJ1biAke2Fic190b3BfYnVpbGRkaXJ9L2RlYnVnaW5mb2QvZGVidWdpbmZvZC1maW5kIGRlYnVn aW5mbyAkQlVJTERJRAorIyBUcmlnZ2VyIGEgZmxvb2Qgb2YgcmVxdWVzdHMgYWdhaW5zdCB0aGUg c2FtZSBhcmNoaXZlIGNvbnRlbnQgZmlsZS4KKyMgVXNlIGEgZmlsZSB0aGF0IGhhc24ndCBiZWVu IHByZXZpb3VzbHkgZXh0cmFjdGVkIGluIHRvIG1ha2UgaXQKKyMgbGlrZWx5IHRoYXQgZXZlbiB0 aGlzIHRlc3QgZGVidWdpbmZvZCB3aWxsIGV4cGVyaWVuY2UgY29uY3VycmVuY3kKKyMgYW5kIGlt cG9zZSBzb21lICJhZnRlci15b3UiIGRlbGF5cy4KKyhmb3IgaSBpbiBgc2VxIDEwMGA7IGRvCisg ICAgY3VybCAtcyBodHRwOi8vMTI3LjAuMC4xOiRQT1JUMS9idWlsZGlkLzg3YzA4ZDEyYzc4MTc0 ZjEwODJiN2M4ODhiMzIzODIxOWIwZWIyNjUvZXhlY3V0YWJsZSA+L2Rldi9udWxsICYKKyBkb25l OworIHdhaXQpCitjdXJsIC1zIGh0dHA6Ly8xMjcuMC4wLjE6JFBPUlQxL21ldHJpY3MgfCBncmVw ICdodHRwX3Jlc3BvbnNlc19hZnRlcl95b3UuKicKKyMgSWYgd2UgY291bGQgZ3VhcmFudGVlIHNv bWUgbWluaW11bSBudW1iZXIgb2Ygc2Vjb25kcyBvZiBDUFUgdGltZSwgd2UKKyMgY291bGQgYXNz ZXJ0IHRoYXQgdGhlIGFmdGVyX3lvdSBtZXRyaWNzIHNob3cgc29tZSBub256ZXJvIGFtb3VudCBv ZgorIyB3YWl0aW5nLiAgQSBmZXcgaHVuZHJlZCBtcyBpcyB0eXBpY2FsIG9uIHRoaXMgZGV2ZWxv cGVyJ3Mgd29ya3N0YXRpb24uCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBDb3JydXB0IHRoZSBzcWxp dGUgZGF0YWJhc2UgYW5kIGdldCBkZWJ1Z2luZm9kIHRvIHRyaXAgYWNyb3NzIGl0cyBlcnJvcnMK K2N1cmwgLXMgaHR0cDovLzEyNy4wLjAuMTokUE9SVDEvbWV0cmljcyB8IGdyZXAgJ3NxbGl0ZTMu KnJlc2V0JworZGQgaWY9L2Rldi96ZXJvIG9mPSREQiBicz0xIGNvdW50PTEKKworIyB0cmlnZ2Vy IHNvbWUgcmFuZG9tIGFjdGl2aXR5IHRoYXQncyBTdXJlIHRvIGdldCBzcWxpdGUzIHVwc2V0Citr aWxsIC1VU1IxICRQSUQxCit3YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX3dvcmtfdG90YWx7cm9s ZT0idHJhdmVyc2UifScgMgord2FpdF9yZWFkeSAkUE9SVDEgJ3RocmVhZF93b3JrX3BlbmRpbmd7 cm9sZT0ic2NhbiJ9JyAwCit3YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX2J1c3l7cm9sZT0ic2Nh biJ9JyAwCitraWxsIC1VU1IyICRQSUQxCit3YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX3dvcmtf dG90YWx7cm9sZT0iZ3Jvb20ifScgMQorY3VybCAtcyBodHRwOi8vMTI3LjAuMC4xOiRQT1JUMS9i dWlsZGlkL2JlZWZiZWVmYmVlZmQwMGRkMDBkL2RlYnVnaW5mbyA+IC9kZXYvbnVsbCB8fCB0cnVl CitjdXJsIC1zIGh0dHA6Ly8xMjcuMC4wLjE6JFBPUlQxL21ldHJpY3MgfCBncmVwICdlcnJvcl9j b3VudC4qc3FsaXRlJworIyBSdW4gdGhlIHRlc3RzIGFnYWluIHdpdGhvdXQgdGhlIHNlcnZlcnMg cnVubmluZy4gVGhlIHRhcmdldCBmaWxlIHNob3VsZAorIyBiZSBmb3VuZCBpbiB0aGUgY2FjaGUu CisKK2tpbGwgLUlOVCAkUElEMSAkUElEMgord2FpdCAkUElEMSAkUElEMgorUElEMT0wCitQSUQy PTAKK3RlbXBmaWxlcyAuZGVidWdpbmZvZF8qCisKK3Rlc3RydW4gJHthYnNfYnVpbGRkaXJ9L2Rl YnVnaW5mb2RfYnVpbGRfaWRfZmluZCAtZSBGL3Byb2cgMQorCisjIGNoZWNrIG91dCB0aGUgZGVi dWdpbmZvZCBsb2dzIGZvciB0aGUgbmV3IHN0eWxlIHN0YXR1cyBsaW5lcworY2F0IHZsb2ckUE9S VDIKK2dyZXAgLXEgJ1VBOi4qWEZGOi4qR0VUIC9idWlsZGlkLy4qIDIwMCAnIHZsb2ckUE9SVDIK K2dyZXAgLXEgJ1VBOi4qWEZGOi4qR0VUIC9tZXRyaWNzIDIwMCAnIHZsb2ckUE9SVDIKK2dyZXAg LXEgJ1VBOi4qWEZGOi4qR0VUIC9iYWRhcGkgNTAzICcgdmxvZyRQT1JUMgorZ3JlcCAtcSAnVUE6 LipYRkY6LipHRVQgL2J1aWxkaWQvZGVhZGJlZWYuKiA0MDQgJyB2bG9nJFBPUlQyCisKK2V4aXQg MApkaWZmIC0tZ2l0IGEvdGVzdHMvcnVuLWRlYnVnaW5mb2QtZmlsZS5zaCBiL3Rlc3RzL3J1bi1k ZWJ1Z2luZm9kLWZpbGUuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAuLjMx ODdjOTJiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvcnVuLWRlYnVnaW5mb2QtZmlsZS5zaApA QCAtMCwwICsxLDM5IEBACisjIS91c3IvYmluL2VudiBiYXNoCisjCisjIENvcHlyaWdodCAoQykg MjAxOS0yMDIxIFJlZCBIYXQsIEluYy4KKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgZWxmdXRpbHMu CisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp dCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9w dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIGVsZnV0aWxzIGlzIGRpc3RyaWJ1dGVkIGlu IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAorIyBXSVRIT1VUIEFOWSBXQVJS QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJ TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKyMgWW91IHNob3Vs ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UK KyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUu b3JnL2xpY2Vuc2VzLz4uCisuICRzcmNkaXIvdGVzdC1zdWJyLnNoICAjIGluY2x1ZGVzIHNldCAt ZQorIyBmb3IgdGVzdCBjYXNlIGRlYnVnZ2luZywgdW5jb21tZW50Ogorc2V0IC14Cit1bnNldCBW QUxHUklORF9DTUQKKworZXhwb3J0IERFQlVHSU5GT0RfVVJMUz1odHRwOi8vMTI3LjAuMC4xOiRQ T1JUMS8gICAjIG9yIHdpdGhvdXQgdHJhaWxpbmcgLworCisjIFRlc3QgZmV0Y2hpbmcgYSBmaWxl IHVzaW5nIGZpbGU6Ly8gLiBObyBkZWJ1Z2luZm9kIHNlcnZlciBuZWVkcyB0byBiZSBydW4gZm9y CisjIHRoaXMgdGVzdC4KK2xvY2FsX2Rpcj0ke1BXRH0vbW9ja3RyZWUvYnVpbGRpZC9hYWFhYWFh YWFhYmJiYmJiYmJiYmNjY2NjY2NjY2NkZGRkZGRkZGRkL3NvdXJjZS9teS9wYXRoCitta2RpciAt cCAke2xvY2FsX2Rpcn0KK2VjaG8gImludCBtYWluKCkgeyByZXR1cm4gMDsgfSIgPiAke2xvY2Fs X2Rpcn0vbWFpbi5jCisjIGZpcnN0IHRlc3QgdGhhdCBpcyBkb2Vzbid0IHdvcmssIHdoZW4gbm8g REVCVUdJTkZPRF9VUkxTIGlzIHNldAorREVCVUdJTkZPRF9VUkxTPSIiCit0ZXN0cnVuICR7YWJz X3RvcF9idWlsZGRpcn0vZGVidWdpbmZvZC9kZWJ1Z2luZm9kLWZpbmQgc291cmNlIGFhYWFhYWFh YWFiYmJiYmJiYmJiY2NjY2NjY2NjY2RkZGRkZGRkZGQgL215L3BhdGgvbWFpbi5jICYmIGZhbHNl IHx8IHRydWUKKworIyBOb3cgdGVzdCBpcyB3aXRoIHByb3BlciBERUJVR0lORk9EX1VSTFMKK0RF QlVHSU5GT0RfVVJMUz0iZmlsZTovLyR7UFdEfS9tb2NrdHJlZS8iCitmaWxlbmFtZT1gdGVzdHJ1 biAke2Fic190b3BfYnVpbGRkaXJ9L2RlYnVnaW5mb2QvZGVidWdpbmZvZC1maW5kIHNvdXJjZSBh YWFhYWFhYWFhYmJiYmJiYmJiYmNjY2NjY2NjY2NkZGRkZGRkZGRkIC9teS9wYXRoL21haW4uY2AK K2NtcCAkZmlsZW5hbWUgJHtsb2NhbF9kaXJ9L21haW4uYworCitleGl0IDAKZGlmZiAtLWdpdCBh L3Rlc3RzL3J1bi1kZWJ1Z2luZm9kLW1hbGZvcm1lZC5zaCBiL3Rlc3RzL3J1bi1kZWJ1Z2luZm9k LW1hbGZvcm1lZC5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMC4uNDY4YjRl MWUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9ydW4tZGVidWdpbmZvZC1tYWxmb3JtZWQuc2gK QEAgLTAsMCArMSwxMTAgQEAKKyMhL3Vzci9iaW4vZW52IGJhc2gKKyMKKyMgQ29weXJpZ2h0IChD KSAyMDE5LTIwMjEgUmVkIEhhdCwgSW5jLgorIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBlbGZ1dGls cy4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl IGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIg b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgZWxmdXRpbHMgaXMgZGlzdHJpYnV0ZWQg aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CisjIFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRB QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIyBZb3Ugc2hv dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZQorIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3Lmdu dS5vcmcvbGljZW5zZXMvPi4KKworLiAkc3JjZGlyL3Rlc3Qtc3Vici5zaCAgIyBpbmNsdWRlcyBz ZXQgLWUKKworIyBmb3IgdGVzdCBjYXNlIGRlYnVnZ2luZywgdW5jb21tZW50Ogorc2V0IC14Cit1 bnNldCBWQUxHUklORF9DTUQKKworIyBUaGlzIHZhcmlhYmxlIGlzIGVzc2VudGlhbCBhbmQgZW5z dXJlcyBubyB0aW1lLXJhY2UgZm9yIGNsYWltaW5nIHBvcnRzIG9jY3VycworIyBzZXQgYmFzZSB0 byBhIHVuaXF1ZSBtdWx0aXBsZSBvZiAxMDAgbm90IHVzZWQgaW4gYW55IG90aGVyICdydW4tZGVi dWdpbmZvZC0qJyB0ZXN0CitiYXNlPTkyMDAKKyMgZmluZCBhbiB1bnVzZWQgcG9ydCBudW1iZXIK K2dldF9wb3J0cworREI9JHtQV0R9Ly5kZWJ1Z2luZm9kX3RtcC5zcWxpdGUKK2V4cG9ydCBERUJV R0lORk9EX0NBQ0hFX1BBVEg9JHtQV0R9Ly5jbGllbnRfY2FjaGUKK21rZGlyIEYKK21rZGlyIC1w ICRERUJVR0lORk9EX0NBQ0hFX1BBVEgKKworZW52IExEX0xJQlJBUllfUEFUSD0kbGRwYXRoIERF QlVHSU5GT0RfVVJMUz0gJHthYnNfYnVpbGRkaXJ9Ly4uL2RlYnVnaW5mb2QvZGVidWdpbmZvZCAk VkVSQk9TRSAtRiAtcCAkUE9SVDEgXAorICAgIC10MCAtZzAgLXYgRiA+IHZsb2ckUE9SVDEgMj4m MSAmCitQSUQxPSQhCit0ZW1wZmlsZXMgdmxvZyRQT1JUMQorZXJyZmlsZXMgdmxvZyRQT1JUMQor IyBTZXJ2ZXIgbXVzdCBiZWNvbWUgcmVhZHkKK3dhaXRfcmVhZHkgJFBPUlQxICdyZWFkeScgMQor ZXhwb3J0IERFQlVHSU5GT0RfVVJMUz1odHRwOi8vMTI3LjAuMC4xOiRQT1JUMS8gICAjIG9yIHdp dGhvdXQgdHJhaWxpbmcgLworCisjIEJlIHBhdGllbnQgd2hlbiBydW4gb24gYSBidXN5IG1hY2hp bmUgdGhpbmdzIG1pZ2h0IHRha2UgYSBiaXQuCitleHBvcnQgREVCVUdJTkZPRF9USU1FT1VUPTEw CisKKyMgQ2hlY2sgdGhyZWFkIGNvbW0gbmFtZXMKK3BzIC1xICRQSUQxIC1lIC1MIC1vICclcCAl YyAlYScgfCBncmVwIGdyb29tCitwcyAtcSAkUElEMSAtZSAtTCAtbyAnJXAgJWMgJWEnIHwgZ3Jl cCBzY2FuCitwcyAtcSAkUElEMSAtZSAtTCAtbyAnJXAgJWMgJWEnIHwgZ3JlcCB0cmF2ZXJzZQor CisjIFdlIHVzZSAtdDAgYW5kIC1nMCBoZXJlIHRvIHR1cm4gb2ZmIHRpbWUtYmFzZWQgc2Nhbm5p bmcgJiBncm9vbWluZy4KKyMgRm9yIHRlc3RpbmcgcHVycG9zZXMsIHdlIGp1c3Qgc2ljIFNJR1VT UjEgLyBTSUdVU1IyIGF0IHRoZSBwcm9jZXNzLgorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKyMgQ29tcGls ZSBhIHNpbXBsZSBwcm9ncmFtLCBzdHJpcCBpdHMgZGVidWdpbmZvIGFuZCBzYXZlIHRoZSBidWls ZC1pZC4KKyMgQWxzbyBtb3ZlIHRoZSBkZWJ1Z2luZm8gaW50byBhbm90aGVyIGRpcmVjdG9yeSBz byB0aGF0IGVsZnV0aWxzCisjIGNhbm5vdCBmaW5kIGl0IHdpdGhvdXQgZGVidWdpbmZvZC4KK2Vj aG8gImludCBtYWluKCkgeyByZXR1cm4gMDsgfSIgPiAke1BXRH0vcCtyJW9cJGcuYwordGVtcGZp bGVzIHArciVvXCRnLmMKKyMgQ3JlYXRlIGEgc3ViZGlyZWN0b3J5IHRvIGNvbmZvdW5kIHNvdXJj ZSBwYXRoIG5hbWVzCitta2RpciBmb29iYXIKK2djYyAtV2wsLS1idWlsZC1pZCAtZyAtbyBwK3Il b1wkZyAke1BXRH0vZm9vYmFyLy8vLi8uLi9wK3Ilb1wkZy5jCit0ZXN0cnVuICR7YWJzX3RvcF9i dWlsZGRpcn0vc3JjL3N0cmlwIC1nIC1mIHArciVvXCRnLmRlYnVnICR7UFdEfS9wK3Ilb1wkZwor QlVJTERJRD1gZW52IExEX0xJQlJBUllfUEFUSD0kbGRwYXRoICR7YWJzX2J1aWxkZGlyfS8uLi9z cmMvcmVhZGVsZiBcCisgICAgICAgICAgLWEgcCtyJW9cXCRnIHwgZ3JlcCAnQnVpbGQgSUQnIHwg Y3V0IC1kICcgJyAtZiA3YAorCittdiBwK3Ilb1wkZyBGCittdiBwK3Ilb1wkZy5kZWJ1ZyBGCitr aWxsIC1VU1IxICRQSUQxCisjIFdhaXQgdGlsbCBib3RoIGZpbGVzIGFyZSBpbiB0aGUgaW5kZXgu Cit3YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX3dvcmtfdG90YWx7cm9sZT0idHJhdmVyc2UifScg MQord2FpdF9yZWFkeSAkUE9SVDEgJ3RocmVhZF93b3JrX3BlbmRpbmd7cm9sZT0ic2NhbiJ9JyAw Cit3YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX2J1c3l7cm9sZT0ic2NhbiJ9JyAwCisKKyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIworIyBBZGQgc29tZSBmaWxlcyB0byB0aGUgY2FjaGUgdGhhdCBkbyBub3QgZml0 IGl0cyBuYW1pbmcgZm9ybWF0LgorIyBUaGV5IHNob3VsZCBzdXJ2aXZlIGNhY2hlIGNsZWFuaW5n LgorbWtkaXIgJERFQlVHSU5GT0RfQ0FDSEVfUEFUSC9tYWxmb3JtZWQKK3RvdWNoICRERUJVR0lO Rk9EX0NBQ0hFX1BBVEgvbWFsZm9ybWVkMAordG91Y2ggJERFQlVHSU5GT0RfQ0FDSEVfUEFUSC9t YWxmb3JtZWQvbWFsZm9ybWVkMQorCisjIEEgdmFsaWQgZm9ybWF0IGZvciBhbiBlbXB0eSBidWls ZGlkIHN1YmRpcmVjdG9yeQorbWtkaXIgJERFQlVHSU5GT0RfQ0FDSEVfUEFUSC8wMDAwMDAwMAor dG91Y2ggLWQgJzE5NzAtMDEtMDEnICRERUJVR0lORk9EX0NBQ0hFX1BBVEgvMDAwMDAwMDAgIyBv bGQgZW5vdWdoIHRvIGd1YXJhbnRlZSBudWthZ2UKKworIyBUcmlnZ2VyIGEgY2FjaGUgY2xlYW4g YW5kIHJ1biB0aGUgdGVzdHMgYWdhaW4uIFRoZSBjbGllbnRzIHNob3VsZCBiZSB1bmFibGUgdG8K KyMgZmluZCB0aGUgdGFyZ2V0LgorZWNobyAwID4gJERFQlVHSU5GT0RfQ0FDSEVfUEFUSC9jYWNo ZV9jbGVhbl9pbnRlcnZhbF9zCitlY2hvIDAgPiAkREVCVUdJTkZPRF9DQUNIRV9QQVRIL21heF91 bnVzZWRfYWdlX3MKKwordGVzdHJ1biAke2Fic19idWlsZGRpcn0vZGVidWdpbmZvZF9idWlsZF9p ZF9maW5kIC1lIEYvcCtyJW9cJGcgMQorCit0ZXN0cnVuICR7YWJzX3RvcF9idWlsZGRpcn0vZGVi dWdpbmZvZC9kZWJ1Z2luZm9kLWZpbmQgZGVidWdpbmZvICRCVUlMRElEICYmIGZhbHNlIHx8IHRy dWUKKworaWYgWyAhIC1mICRERUJVR0lORk9EX0NBQ0hFX1BBVEgvbWFsZm9ybWVkMCBdIFwKKyAg ICB8fCBbICEgLWYgJERFQlVHSU5GT0RfQ0FDSEVfUEFUSC9tYWxmb3JtZWQvbWFsZm9ybWVkMSBd OyB0aGVuCisgIGVjaG8gInVucmVsYXRlZCBmaWxlcyBkaWQgbm90IHN1cnZpdmUgY2FjaGUgY2xl YW5pbmciCisgIGVycgorZmkKKworaWYgWyAtZCAkREVCVUdJTkZPRF9DQUNIRV9QQVRILzAwMDAw MDAwIF07IHRoZW4KKyAgICBlY2hvICJmYWlsZWQgdG8gcm1kaXIgb2xkIGNhY2hlIGRpciIKKyAg ICBlcnIKK2ZpCisKK2tpbGwgJFBJRDEKK3dhaXQgJFBJRDEKK1BJRDE9MAorZXhpdCAwCmRpZmYg LS1naXQgYS90ZXN0cy9ydW4tZGVidWdpbmZvZC1uby11cmxzLnNoIGIvdGVzdHMvcnVuLWRlYnVn aW5mb2Qtbm8tdXJscy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMC4uZjA4 YWVlNzEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9ydW4tZGVidWdpbmZvZC1uby11cmxzLnNo CkBAIC0wLDAgKzEsNDEgQEAKKyMhL3Vzci9iaW4vZW52IGJhc2gKKyMKKyMgQ29weXJpZ2h0IChD KSAyMDE5LTIwMjEgUmVkIEhhdCwgSW5jLgorIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBlbGZ1dGls cy4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl IGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIg b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgZWxmdXRpbHMgaXMgZGlzdHJpYnV0ZWQg aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CisjIFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRB QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIyBZb3Ugc2hv dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZQorIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3Lmdu dS5vcmcvbGljZW5zZXMvPi4KKworLiAkc3JjZGlyL3Rlc3Qtc3Vici5zaCAgIyBpbmNsdWRlcyBz ZXQgLWUKKworIyBmb3IgdGVzdCBjYXNlIGRlYnVnZ2luZywgdW5jb21tZW50Ogorc2V0IC14Cit1 bnNldCBWQUxHUklORF9DTUQKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIFRlc3QgZGVidWdpbmZvZCB3 aXRob3V0IGEgcGF0aCBsaXN0CisjIFRoaXMgdmFyaWFibGUgaXMgZXNzZW50aWFsIGFuZCBlbnN1 cmVzIG5vIHRpbWUtcmFjZSBmb3IgY2xhaW1pbmcgcG9ydHMgb2NjdXJzCisjIHNldCBiYXNlIHRv IGEgdW5pcXVlIG11bHRpcGxlIG9mIDEwMCBub3QgdXNlZCBpbiBhbnkgb3RoZXIgJ3J1bi1kZWJ1 Z2luZm9kLSonIHRlc3QKK2Jhc2U9OTMwMAorZ2V0X3BvcnRzCisKK2VudiBMRF9MSUJSQVJZX1BB VEg9JGxkcGF0aCAke2Fic19idWlsZGRpcn0vLi4vZGVidWdpbmZvZC9kZWJ1Z2luZm9kICRWRVJC T1NFIC1GIC1VIC1kIDptZW1vcnk6IC1wICRQT1JUMSAtTCAtRiAmCitQSUQxPSQhCisKK3dhaXRf cmVhZHkgJFBPUlQxICd0aHJlYWRfd29ya190b3RhbHtyb2xlPSJ0cmF2ZXJzZSJ9JyAxCit3YWl0 X3JlYWR5ICRQT1JUMSAndGhyZWFkX3dvcmtfcGVuZGluZ3tyb2xlPSJzY2FuIn0nIDAKK3dhaXRf cmVhZHkgJFBPUlQxICd0aHJlYWRfYnVzeXtyb2xlPSJzY2FuIn0nIDAKK2tpbGwgLWludCAkUElE MQord2FpdCAkUElEMQorUElEMT0wCitleGl0IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL3J1bi1kZWJ1 Z2luZm9kLXF1ZXJ5LXJldHJ5LnNoIGIvdGVzdHMvcnVuLWRlYnVnaW5mb2QtcXVlcnktcmV0cnku c2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAuLjkxOGM2ODAxCi0tLSAvZGV2 L251bGwKKysrIGIvdGVzdHMvcnVuLWRlYnVnaW5mb2QtcXVlcnktcmV0cnkuc2gKQEAgLTAsMCAr MSwzNCBAQAorIyEvdXNyL2Jpbi9lbnYgYmFzaAorIworIyBDb3B5cmlnaHQgKEMpIDIwMTktMjAy MSBSZWQgSGF0LCBJbmMuCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGVsZnV0aWxzLgorIworIyBU aGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y IG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl aXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFu eSBsYXRlciB2ZXJzaW9uLgorIworIyBlbGZ1dGlscyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKKyMgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3Ig RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjIFlvdSBzaG91bGQgaGF2ZSBy ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisjIGFsb25n IHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNl bnNlcy8+LgorCisuICRzcmNkaXIvdGVzdC1zdWJyLnNoICAjIGluY2x1ZGVzIHNldCAtZQorIyBm b3IgdGVzdCBjYXNlIGRlYnVnZ2luZywgdW5jb21tZW50Ogorc2V0IC14Cit1bnNldCBWQUxHUklO RF9DTUQKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIHNldCB1cCB0ZXN0cyBmb3IgcmV0cnlpbmcgZmFp bGVkIHF1ZXJpZXMuCityZXRyeV9hdHRlbXB0cz1gKHRlc3RydW4gZW52IERFQlVHSU5GT0RfVVJM Uz1odHRwOi8vMjU1LjI1NS4yNTUuMjU1L0pVTktKVU5LIERFQlVHSU5GT0RfUkVUUllfTElNSVQ9 MTAgREVCVUdJTkZPRF9WRVJCT1NFPTEgXAorICAgICAgICAke2Fic190b3BfYnVpbGRkaXJ9L2Rl YnVnaW5mb2QvZGVidWdpbmZvZC1maW5kIGRlYnVnaW5mbyAvYmluL2xzIHx8IHRydWUpIDI+JjEg Pi9kZXYvbnVsbCBcCisgICAgICAgIHwgZ3JlcCAtYyAnUmV0cnkgZmFpbGVkIHF1ZXJ5J2AKK2lm IFsgJHJldHJ5X2F0dGVtcHRzIC1uZSAxMCBdOyB0aGVuCisgICAgZWNobyAicmV0cnkgbWVjaGFu aXNtIGZhaWxlZC4iCisgICAgZXhpdCAxOworZmkKKworZXhpdCAwOwpkaWZmIC0tZ2l0IGEvdGVz dHMvcnVuLWRlYnVnaW5mb2QtcmVnZXguc2ggYi90ZXN0cy9ydW4tZGVidWdpbmZvZC1yZWdleC5z aApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMC4uMTEzYTU4MmMKLS0tIC9kZXYv bnVsbAorKysgYi90ZXN0cy9ydW4tZGVidWdpbmZvZC1yZWdleC5zaApAQCAtMCwwICsxLDk3IEBA CisjIS91c3IvYmluL2VudiBiYXNoCisjCisjIENvcHlyaWdodCAoQykgMjAxOS0yMDIxIFJlZCBI YXQsIEluYy4KKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgZWxmdXRpbHMuCisjCisjIFRoaXMgZmls ZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5 CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug YXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2 ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy IHZlcnNpb24uCisjCisjIGVsZnV0aWxzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg aXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAorIyBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk IGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyMgYWxvbmcgd2l0aCB0 aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4u CisKKy4gJHNyY2Rpci90ZXN0LXN1YnIuc2ggICMgaW5jbHVkZXMgc2V0IC1lCisjIGZvciB0ZXN0 IGNhc2UgZGVidWdnaW5nLCB1bmNvbW1lbnQ6CitzZXQgLXgKK3Vuc2V0IFZBTEdSSU5EX0NNRAor Citta2RpciBGCisKK0RCPSR7UFdEfS8uZGVidWdpbmZvZF90bXAuc3FsaXRlCit0ZW1wZmlsZXMg JERCCisKK2V4cG9ydCBERUJVR0lORk9EX0NBQ0hFX1BBVEg9JHtQV0R9Ly5jbGllbnRfY2FjaGUK KyMgVGhpcyB2YXJpYWJsZSBpcyBlc3NlbnRpYWwgYW5kIGVuc3VyZXMgbm8gdGltZS1yYWNlIGZv ciBjbGFpbWluZyBwb3J0cyBvY2N1cnMKKyMgc2V0IGJhc2UgdG8gYSB1bmlxdWUgbXVsdGlwbGUg b2YgMTAwIG5vdCB1c2VkIGluIGFueSBvdGhlciAncnVuLWRlYnVnaW5mb2QtKicgdGVzdAorYmFz ZT05NDAwCitnZXRfcG9ydHMKK2VudiBMRF9MSUJSQVJZX1BBVEg9JGxkcGF0aCAke2Fic19idWls ZGRpcn0vLi4vZGVidWdpbmZvZC9kZWJ1Z2luZm9kIFwKKyAgICAkVkVSQk9TRSAtRiAtcCAkUE9S VDEgLXQwIC1nMCAtZCAke0RCfSBGID4gdmxvZyRQT1JUMSAyPiYxICYKK1BJRDE9JCEKK3RlbXBm aWxlcyB2bG9nJFBPUlQxCitlcnJmaWxlcyB2bG9nJFBPUlQxCit3YWl0X3JlYWR5ICRQT1JUMSAn cmVhZHknIDEKKworIyBDb21waWxlIGEgc2ltcGxlIHByb2dyYW0sIHN0cmlwIGl0cyBkZWJ1Z2lu Zm8gYW5kIHNhdmUgdGhlIGJ1aWxkLWlkLgorIyBBbHNvIG1vdmUgdGhlIGRlYnVnaW5mbyBpbnRv IGFub3RoZXIgZGlyZWN0b3J5IHNvIHRoYXQgZWxmdXRpbHMKKyMgY2Fubm90IGZpbmQgaXQgd2l0 aG91dCBkZWJ1Z2luZm9kLgorZWNobyAiaW50IG1haW4oKSB7IHJldHVybiAwOyB9IiA+ICR7UFdE fS9wcm9nLmMKK3RlbXBmaWxlcyBwcm9nLmMKKyMgQ3JlYXRlIGEgc3ViZGlyZWN0b3J5IHRvIGNv bmZvdW5kIHNvdXJjZSBwYXRoIG5hbWVzCitta2RpciBmb29iYXIKK2djYyAtV2wsLS1idWlsZC1p ZCAtZyAtbyBwcm9nICR7UFdEfS9mb29iYXIvLy8uLy4uL3Byb2cuYwordGVzdHJ1biAke2Fic190 b3BfYnVpbGRkaXJ9L3NyYy9zdHJpcCAtZyAtZiBwcm9nLmRlYnVnICR7UFdEfS9wcm9nCisKK212 IHByb2cgRgorbXYgcHJvZy5kZWJ1ZyBGCit0ZW1wZmlsZXMgRi9wcm9nLmRlYnVnIEYvcHJvZwor CitraWxsIC1VU1IxICRQSUQxCisjIFdhaXQgdGlsbCBib3RoIGZpbGVzIGFyZSBpbiB0aGUgaW5k ZXguCit3YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX3dvcmtfdG90YWx7cm9sZT0idHJhdmVyc2Ui fScgMQord2FpdF9yZWFkeSAkUE9SVDEgJ3RocmVhZF93b3JrX3BlbmRpbmd7cm9sZT0ic2NhbiJ9 JyAwCit3YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX2J1c3l7cm9sZT0ic2NhbiJ9JyAwCitjcCAk e0RCfSAke0RCfS5iYWNrdXAKK3RlbXBmaWxlcyAke0RCfS5iYWNrdXAKKwora2lsbCAkUElEMQor d2FpdCAkUElEMQorUElEMT0wCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIyBQUjI3NzExCisjIFRlc3Qg dG8gZW5zdXJlIHRoYXQgdGhlIC0taW5jbHVkZT0iXiQiIC0tZXhjbHVkZT0iLioiIG9wdGlvbnMg cmVtb3ZlIGFsbCBmaWxlcyBmcm9tIGEgZGF0YWJhc2UgYmFja3VwCisjCitlbnYgTERfTElCUkFS WV9QQVRIPSRsZHBhdGggJHthYnNfYnVpbGRkaXJ9Ly4uL2RlYnVnaW5mb2QvZGVidWdpbmZvZCBc CisgICAgJFZFUkJPU0UgLXAgJFBPUlQyIC10MCAtZzAgLS1yZWdleC1ncm9vbSAtLWluY2x1ZGU9 Il4kIiAtLWV4Y2x1ZGU9Ii4qIiAtZCAke0RCfS5iYWNrdXAgPiB2bG9nJFBPUlQyIDI+JjEgJgor CisjcmV1c2UgUElEMQorUElEMT0kIQordGVtcGZpbGVzIHZsb2ckUE9SVDIKK2VycmZpbGVzIHZs b2ckUE9SVDIKKyMgU2VydmVyIG11c3QgYmVjb21lIHJlYWR5Cit3YWl0X3JlYWR5ICRQT1JUMiAn cmVhZHknIDEKKwora2lsbCAtVVNSMiAkUElEMQord2FpdF9yZWFkeSAkUE9SVDIgJ3RocmVhZF93 b3JrX3RvdGFse3JvbGU9Imdyb29tIn0nIDEKK3dhaXRfcmVhZHkgJFBPUlQyICdncm9vbXtzdGF0 aXN0aWM9ImFyY2hpdmUgZC9lIn0nICAwCit3YWl0X3JlYWR5ICRQT1JUMiAnZ3Jvb217c3RhdGlz dGljPSJhcmNoaXZlIHNkZWYifScgMAord2FpdF9yZWFkeSAkUE9SVDIgJ2dyb29te3N0YXRpc3Rp Yz0iYXJjaGl2ZSBzcmVmIn0nIDAKK3dhaXRfcmVhZHkgJFBPUlQyICdncm9vbXtzdGF0aXN0aWM9 ImJ1aWxkaWRzIn0nIDAKK3dhaXRfcmVhZHkgJFBPUlQyICdncm9vbXtzdGF0aXN0aWM9ImZpbGUg ZC9lIn0nIDAKK3dhaXRfcmVhZHkgJFBPUlQyICdncm9vbXtzdGF0aXN0aWM9ImZpbGUgcyJ9JyAw Cit3YWl0X3JlYWR5ICRQT1JUMiAnZ3Jvb217c3RhdGlzdGljPSJmaWxlcyBzY2FubmVkICgjKSJ9 JyAwCit3YWl0X3JlYWR5ICRQT1JUMiAnZ3Jvb217c3RhdGlzdGljPSJmaWxlcyBzY2FubmVkICht YikifScgMAorCitraWxsICRQSUQxCit3YWl0ICRQSUQxCitQSUQxPTAKKworZXhpdCAwOworCmRp ZmYgLS1naXQgYS90ZXN0cy9ydW4tZGVidWdpbmZvZC1yZXNwb25zZS1oZWFkZXJzLnNoIGIvdGVz dHMvcnVuLWRlYnVnaW5mb2QtcmVzcG9uc2UtaGVhZGVycy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1 NQppbmRleCAwMDAwMDAwMC4uZmViMTc5Y2UKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9ydW4t ZGVidWdpbmZvZC1yZXNwb25zZS1oZWFkZXJzLnNoCkBAIC0wLDAgKzEsMTE4IEBACisjIS91c3Iv YmluL2VudiBiYXNoCisjCisjIENvcHlyaWdodCAoQykgMjAxOS0yMDIxIFJlZCBIYXQsIEluYy4K KyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgZWxmdXRpbHMuCisjCisjIFRoaXMgZmlsZSBpcyBmcmVl IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVu ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlz aGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMg b2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u CisjCisjIGVsZnV0aWxzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi ZSB1c2VmdWwsIGJ1dAorIyBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp bXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug Zm9yIG1vcmUgZGV0YWlscy4KKyMKKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dy YW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisKKy4gJHNy Y2Rpci90ZXN0LXN1YnIuc2ggICMgaW5jbHVkZXMgc2V0IC1lCisKKyMgZm9yIHRlc3QgY2FzZSBk ZWJ1Z2dpbmcsIHVuY29tbWVudDoKK3NldCAteAorCitEQj0ke1BXRH0vLmRlYnVnaW5mb2RfdG1w LnNxbGl0ZQordGVtcGZpbGVzICREQgorZXhwb3J0IERFQlVHSU5GT0RfQ0FDSEVfUEFUSD0ke1BX RH0vLmNsaWVudF9jYWNoZQorCisjIFRoaXMgdmFyaWFibGUgaXMgZXNzZW50aWFsIGFuZCBlbnN1 cmVzIG5vIHRpbWUtcmFjZSBmb3IgY2xhaW1pbmcgcG9ydHMgb2NjdXJzCisjIHNldCBiYXNlIHRv IGEgdW5pcXVlIG11bHRpcGxlIG9mIDEwMCBub3QgdXNlZCBpbiBhbnkgb3RoZXIgJ3J1bi1kZWJ1 Z2luZm9kLSonIHRlc3QKK2Jhc2U9OTUwMAorZ2V0X3BvcnRzCitta2RpciBGIFIKKworZW52IExE X0xJQlJBUllfUEFUSD0kbGRwYXRoIERFQlVHSU5GT0RfVVJMUz0gJHthYnNfYnVpbGRkaXJ9Ly4u L2RlYnVnaW5mb2QvZGVidWdpbmZvZCAkVkVSQk9TRSAtRiAtUiAtZCAkREIgLXAgJFBPUlQxIC10 MCAtZzAgLXYgUiBGID4gdmxvZyRQT1JUMSAyPiYxICYKK1BJRDE9JCEKK3RlbXBmaWxlcyB2bG9n JFBPUlQxCitlcnJmaWxlcyB2bG9nJFBPUlQxCisjIFNlcnZlciBtdXN0IGJlY29tZSByZWFkeQor d2FpdF9yZWFkeSAkUE9SVDEgJ3JlYWR5JyAxCitleHBvcnQgREVCVUdJTkZPRF9VUkxTPWh0dHA6 Ly8xMjcuMC4wLjE6JFBPUlQxLyAgICMgb3Igd2l0aG91dCB0cmFpbGluZyAvCisjIENoZWNrIHRo cmVhZCBjb21tIG5hbWVzCitwcyAtcSAkUElEMSAtZSAtTCAtbyAnJXAgJWMgJWEnIHwgZ3JlcCBn cm9vbQorcHMgLXEgJFBJRDEgLWUgLUwgLW8gJyVwICVjICVhJyB8IGdyZXAgc2NhbgorcHMgLXEg JFBJRDEgLWUgLUwgLW8gJyVwICVjICVhJyB8IGdyZXAgdHJhdmVyc2UKKworIyBXZSB1c2UgLXQw IGFuZCAtZzAgaGVyZSB0byB0dXJuIG9mZiB0aW1lLWJhc2VkIHNjYW5uaW5nICYgZ3Jvb21pbmcu CisjIEZvciB0ZXN0aW5nIHB1cnBvc2VzLCB3ZSBqdXN0IHNpYyBTSUdVU1IxIC8gU0lHVVNSMiBh dCB0aGUgcHJvY2Vzcy4KKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKyMgQ29tcGlsZSBhIHNpbXBsZSBw cm9ncmFtLCBzdHJpcCBpdHMgZGVidWdpbmZvIGFuZCBzYXZlIHRoZSBidWlsZC1pZC4KKyMgQWxz byBtb3ZlIHRoZSBkZWJ1Z2luZm8gaW50byBhbm90aGVyIGRpcmVjdG9yeSBzbyB0aGF0IGVsZnV0 aWxzCisjIGNhbm5vdCBmaW5kIGl0IHdpdGhvdXQgZGVidWdpbmZvZC4KK2VjaG8gImludCBtYWlu KCkgeyByZXR1cm4gMDsgfSIgPiAke1BXRH0vcHJvZy5jCit0ZW1wZmlsZXMgcHJvZy5jCisjIENy ZWF0ZSBhIHN1YmRpcmVjdG9yeSB0byBjb25mb3VuZCBzb3VyY2UgcGF0aCBuYW1lcworbWtkaXIg Zm9vYmFyCitnY2MgLVdsLC0tYnVpbGQtaWQgLWcgLW8gcHJvZyAke1BXRH0vZm9vYmFyLy8vLi8u Li9wcm9nLmMKK3Rlc3RydW4gJHthYnNfdG9wX2J1aWxkZGlyfS9zcmMvc3RyaXAgLWcgLWYgcHJv Zy5kZWJ1ZyAke1BXRH0vcHJvZworQlVJTERJRD1gZW52IExEX0xJQlJBUllfUEFUSD0kbGRwYXRo ICR7YWJzX2J1aWxkZGlyfS8uLi9zcmMvcmVhZGVsZiBcCisgICAgICAgICAgLWEgcHJvZyB8IGdy ZXAgJ0J1aWxkIElEJyB8IGN1dCAtZCAnICcgLWYgN2AKKworbXYgcHJvZyBGCittdiBwcm9nLmRl YnVnIEYKK2tpbGwgLVVTUjEgJFBJRDEKKyMgV2FpdCB0aWxsIGJvdGggZmlsZXMgYXJlIGluIHRo ZSBpbmRleC4KK3dhaXRfcmVhZHkgJFBPUlQxICd0aHJlYWRfd29ya190b3RhbHtyb2xlPSJ0cmF2 ZXJzZSJ9JyAxCit3YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX3dvcmtfcGVuZGluZ3tyb2xlPSJz Y2FuIn0nIDAKK3dhaXRfcmVhZHkgJFBPUlQxICd0aHJlYWRfYnVzeXtyb2xlPSJzY2FuIn0nIDAK KworY3AgLXJ2cCAke2Fic19zcmNkaXJ9L2RlYnVnaW5mb2QtcnBtcyBSCitpZiBbICIkenN0ZCIg PSAiZmFsc2UiIF07IHRoZW4gICMgbnVrZSB0aGUgenN0ZCBmZWRvcmEgMzEgb25lcworICAgIHJt IC12cmYgUi9kZWJ1Z2luZm9kLXJwbXMvZmVkb3JhMzEKK2ZpCisKK2tpbGwgLVVTUjEgJFBJRDEK KyMgV2FpdCB0aWxsIGJvdGggZmlsZXMgYXJlIGluIHRoZSBpbmRleCBhbmQgc2Nhbi9pbmRleCBm dWxseSBmaW5pc2hlZAord2FpdF9yZWFkeSAkUE9SVDEgJ3RocmVhZF93b3JrX3RvdGFse3JvbGU9 InRyYXZlcnNlIn0nIDIKK3dhaXRfcmVhZHkgJFBPUlQxICd0aHJlYWRfd29ya19wZW5kaW5ne3Jv bGU9InNjYW4ifScgMAord2FpdF9yZWFkeSAkUE9SVDEgJ3RocmVhZF9idXN5e3JvbGU9InNjYW4i fScgMAorIyBBbGwgcnBtcyBuZWVkIHRvIGJlIGluIHRoZSBpbmRleCwgZXhjZXB0IHRoZSBkdW1t eSBwZXJtaXNzaW9uLTAwMCBvbmUKK3JwbXM9JChmaW5kIFIgLW5hbWUgXCpycG0gfCBncmVwIC12 IG5vdGhpbmcgfCB3YyAtbCkKK3dhaXRfcmVhZHkgJFBPUlQxICdzY2FubmVkX2ZpbGVzX3RvdGFs e3NvdXJjZT0iLnJwbSBhcmNoaXZlIn0nICRycG1zCitraWxsIC1VU1IxICRQSUQxICAjIHR3byBo aXRzIG9mIFNJR1VTUjEgbWF5IGJlIG5lZWRlZCB0byByZXNvbHZlIC5kZWJ1Zy0+ZHd6LT5zcmVm cworIyBXYWl0IHRpbGwgYm90aCBmaWxlcyBhcmUgaW4gdGhlIGluZGV4IGFuZCBzY2FuL2luZGV4 IGZ1bGx5IGZpbmlzaGVkCit3YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX3dvcmtfdG90YWx7cm9s ZT0idHJhdmVyc2UifScgMword2FpdF9yZWFkeSAkUE9SVDEgJ3RocmVhZF93b3JrX3BlbmRpbmd7 cm9sZT0ic2NhbiJ9JyAwCit3YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX2J1c3l7cm9sZT0ic2Nh biJ9JyAwCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMgUFIyNzI3NworIyBNYWtlIGEgc2ltcGxlIHJl cXVlc3QgdG8gdGhlIGRlYnVnaW5mb2Qgc2VydmVyIGFuZCBjaGVjayBkZWJ1Z2luZm9kLWZpbmQn cyB2bG9nIHRvIHNlZSBpZgorIyB0aGUgY3VzdG9tIEhUVFAgaGVhZGVycyBhcmUgcmVjZWl2ZWQu CitybSAtcmYgJERFQlVHSU5GT0RfQ0FDSEVfUEFUSAorZW52IERFQlVHSU5GT0RfVVJMUz0iaHR0 cDovLzEyNy4wLjAuMToiJFBPUlQxIExEX0xJQlJBUllfUEFUSD0kbGRwYXRoICR7YWJzX3RvcF9i dWlsZGRpcn0vZGVidWdpbmZvZC9kZWJ1Z2luZm9kLWZpbmRcCisgICAgLXZ2diBleGVjdXRhYmxl IEYvcHJvZyA+IHZsb2ctZmluZCRQT1JUMS4xIDI+JjEKK3RlbXBmaWxlcyB2bG9nLWZpbmQkUE9S VDEuMQorZ3JlcCAnQ29udGVudC1MZW5ndGg6ICcgdmxvZy1maW5kJFBPUlQxLjEKK2dyZXAgJ0Nv bm5lY3Rpb246ICcgdmxvZy1maW5kJFBPUlQxLjEKK2dyZXAgJ0NhY2hlLUNvbnRyb2w6ICcgdmxv Zy1maW5kJFBPUlQxLjEKK2dyZXAgJ1gtRklMRTogJyB2bG9nLWZpbmQkUE9SVDEuMQorZ3JlcCAn WC1GSUxFLVNJWkU6ICcgdmxvZy1maW5kJFBPUlQxLjEKKworIyBDaGVjayB0byBzZWUgaWYgYW4g ZXhlY3V0YWJsZSBmaWxlIGxvY2F0ZWQgaW4gYW4gYXJjaGl2ZSBwcmludHMgdGhlIGZpbGUncyBk ZXNjcmlwdGlvbiBhbmQgYXJjaGl2ZQorZW52IERFQlVHSU5GT0RfVVJMUz0iaHR0cDovLzEyNy4w LjAuMToiJFBPUlQxIExEX0xJQlJBUllfUEFUSD0kbGRwYXRoICR7YWJzX3RvcF9idWlsZGRpcn0v ZGVidWdpbmZvZC9kZWJ1Z2luZm9kLWZpbmRcCisgICAgLXZ2diBleGVjdXRhYmxlIGMzNjcwOGE3 ODYxOGQ1OTdkZWUxNWQwZGM5ODlmMDkzY2E1ZjkxMjAgPiB2bG9nLWZpbmQkUE9SVDEuMiAyPiYx Cit0ZW1wZmlsZXMgdmxvZy1maW5kJFBPUlQxLjIKK2dyZXAgJ0NvbnRlbnQtTGVuZ3RoOiAnIHZs b2ctZmluZCRQT1JUMS4yCitncmVwICdDb25uZWN0aW9uOiAnIHZsb2ctZmluZCRQT1JUMS4yCitn cmVwICdDYWNoZS1Db250cm9sOiAnIHZsb2ctZmluZCRQT1JUMS4yCitncmVwICdYLUZJTEU6ICcg dmxvZy1maW5kJFBPUlQxLjIKK2dyZXAgJ1gtRklMRS1TSVpFOiAnIHZsb2ctZmluZCRQT1JUMS4y CitncmVwICdYLUFSQ0hJVkU6ICcgdmxvZy1maW5kJFBPUlQxLjIKKwora2lsbCAkUElEMQord2Fp dCAkUElEMQorUElEMT0wCitleGl0IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL3J1bi1kZWJ1Z2luZm9k LXNpemV0aW1lLnNoIGIvdGVzdHMvcnVuLWRlYnVnaW5mb2Qtc2l6ZXRpbWUuc2gKbmV3IGZpbGUg bW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAuLjEwOTQxMjg5Ci0tLSAvZGV2L251bGwKKysrIGIv dGVzdHMvcnVuLWRlYnVnaW5mb2Qtc2l6ZXRpbWUuc2gKQEAgLTAsMCArMSw3NyBAQAorIyEvdXNy L2Jpbi9lbnYgYmFzaAorIworIyBDb3B5cmlnaHQgKEMpIDIwMTktMjAyMSBSZWQgSGF0LCBJbmMu CisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGVsZnV0aWxzLgorIworIyBUaGlzIGZpbGUgaXMgZnJl ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1 bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxp c2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAz IG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u LgorIworIyBlbGZ1dGlscyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg YmUgdXNlZnVsLCBidXQKKyMgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg aW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGZvciBtb3JlIGRldGFpbHMuCisjCisjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisjIGFsb25nIHdpdGggdGhpcyBwcm9n cmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorCisuICRz cmNkaXIvdGVzdC1zdWJyLnNoICAjIGluY2x1ZGVzIHNldCAtZQorc2V0IC14Cit1bnNldCBWQUxH UklORF9DTUQKKyMgVGhpcyB2YXJpYWJsZSBpcyBlc3NlbnRpYWwgYW5kIGVuc3VyZXMgbm8gdGlt ZS1yYWNlIGZvciBjbGFpbWluZyBwb3J0cyBvY2N1cnMKKyMgc2V0IGJhc2UgdG8gYSB1bmlxdWUg bXVsdGlwbGUgb2YgMTAwIG5vdCB1c2VkIGluIGFueSBvdGhlciAncnVuLWRlYnVnaW5mb2QtKicg dGVzdAorYmFzZT05NjAwCitnZXRfcG9ydHMKKworZWNobyAiaW50IG1haW4oKSB7IHJldHVybiAw OyB9IiA+ICR7UFdEfS9wcm9nLmMKKyMgQ3JlYXRlIGEgc3ViZGlyZWN0b3J5IHRvIGNvbmZvdW5k IHNvdXJjZSBwYXRoIG5hbWVzCitta2RpciBmb29iYXIKK2djYyAtV2wsLS1idWlsZC1pZCAtZyAt byBwcm9nICR7UFdEfS9mb29iYXIvLy8uLy4uL3Byb2cuYwordGVzdHJ1biAke2Fic190b3BfYnVp bGRkaXJ9L3NyYy9zdHJpcCAtZyAtZiBwcm9nLmRlYnVnICR7UFdEfS9wcm9nCit0ZW1wZmlsZXMg cHJvZyBwcm9nLmRlYnVnIHByb2cuYworQlVJTERJRD1gZW52IExEX0xJQlJBUllfUEFUSD0kbGRw YXRoICR7YWJzX2J1aWxkZGlyfS8uLi9zcmMvcmVhZGVsZiBcCisgICAgICAgICAgLWEgcHJvZyB8 IGdyZXAgJ0J1aWxkIElEJyB8IGN1dCAtZCAnICcgLWYgN2AKKworZW52IExEX0xJQlJBUllfUEFU SD0kbGRwYXRoICR7YWJzX2J1aWxkZGlyfS8uLi9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QgJFZFUkJP U0UgLUYgLXAgJFBPUlQxIC10MCAtZzAgJHtQV0R9ID4gdmxvZyRQT1JUMSAyPiYxICYKK1BJRDE9 JCEKK3RlbXBmaWxlcyB2bG9nJFBPUlQxCitlcnJmaWxlcyAgdmxvZyRQT1JUMQord2FpdF9yZWFk eSAkUE9SVDEgJ3JlYWR5JyAxCit3YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX3dvcmtfdG90YWx7 cm9sZT0idHJhdmVyc2UifScgMQord2FpdF9yZWFkeSAkUE9SVDEgJ3RocmVhZF93b3JrX3BlbmRp bmd7cm9sZT0ic2NhbiJ9JyAwCit3YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX2J1c3l7cm9sZT0i c2NhbiJ9JyAwCisKKyMjIFBSMjc4OTIKKyMgRW5zdXJlIERFQlVHSU5GT0RfTUFYU0laRSBpcyBm dW5jdGlvbmFsIGFuZCBzZW5kcyBiYWNrIHRoZSBjb3JyZWN0IGh0dHAKKyMgY29kZQorZW52IExE X0xJQlJBUllfUEFUSD0kbGRwYXRoIERFQlVHSU5GT0RfUkVUUllfTElNSVQ9MSBERUJVR0lORk9E X1VSTFM9Imh0dHA6Ly8xMjcuMC4wLjE6JFBPUlQxLyIgREVCVUdJTkZPRF9NQVhTSVpFPTEgXAor ICAgICR7YWJzX3RvcF9idWlsZGRpcn0vZGVidWdpbmZvZC9kZWJ1Z2luZm9kLWZpbmQgLXYgZXhl Y3V0YWJsZSAke1BXRH0vcHJvZyAyPiBmaW5kLXZsb2ckUE9SVDEgfHwgdHJ1ZQordGVtcGZpbGVz IGZpbmQtdmxvZyRQT1JUMQorZXJyZmlsZXMgIGZpbmQtdmxvZyRQT1JUMQorZWNobyAiQ2hlY2tp bmcgbWF4c2l6ZSIKK2dyZXAgInVzaW5nIG1heCBzaXplIDFCIiBmaW5kLXZsb2ckUE9SVDEKK2Vj aG8gIkNoZWNraW5nIG1heHNpemUiCitncmVwICdzZXJ2aW5nIGZpbGUgJyQocmVhbHBhdGggJHtQ V0R9KScvcHJvZycgdmxvZyRQT1JUMQorZWNobyAiQ2hlY2tpbmcgbWF4c2l6ZSIKK2dyZXAgJ0Zp bGUgdG9vIGxhcmdlJyB2bG9nJFBPUlQxCitpZiBbIC1mICR7REVCVUdJTkZPRF9DQUNIRV9QQVRI fS8ke0JVSUxESUR9IF07IHRoZW4KKyAgZWNobyAiRmlsZSBjYWNoZWQgYWZ0ZXIgbWF4c2l6ZSBj aGVjayIKKyAgZXJyCitmaQorIyBFbnN1cmUgbm8gZmlsZSBpcyBkb3dubG9hZGVkIGZvciBsb25n ZXIgdGhhbiBERUJVR0lORk9EX01BWFRJTUUKK2VudiBMRF9MSUJSQVJZX1BBVEg9JGxkcGF0aCBE RUJVR0lORk9EX1VSTFM9Imh0dHA6Ly8xMjcuMC4wLjE6JFBPUlQxLyIgREVCVUdJTkZPRF9NQVhU SU1FPTEgXAorICAgICR7YWJzX3RvcF9idWlsZGRpcn0vZGVidWdpbmZvZC9kZWJ1Z2luZm9kLWZp bmQgLXYgZGVidWdpbmZvICR7UFdEfS9wcm9nLmRlYnVnIDI+IGZpbmQtdmxvZyRQT1JUMSB8fCB0 cnVlCit0ZW1wZmlsZXMgZmluZC12bG9nJFBPUlQxCitncmVwICd1c2luZyBtYXggdGltZScgZmlu ZC12bG9nJFBPUlQxCisjIEVuc3VyZSBwK3Ilb1wkZy5kZWJ1ZyBpcyBOT1QgY2FjaGVkCitpZiBb IC1mICR7REVCVUdJTkZPRF9DQUNIRV9QQVRIfS8ke0JVSUxESUR9IF07IHRoZW4KKyAgZWNobyAi RmlsZSBjYWNoZWQgYWZ0ZXIgbWF4dGltZSBjaGVjayIKKyAgZXJyCitmaQorCitraWxsICRQSUQx Cit3YWl0ICRQSUQxCitQSUQxPTAKKworZXhpdCAwOwpkaWZmIC0tZ2l0IGEvdGVzdHMvcnVuLWRl YnVnaW5mb2QtdG1wLWhvbWUuc2ggYi90ZXN0cy9ydW4tZGVidWdpbmZvZC10bXAtaG9tZS5zaApu ZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMC4uODVhMjBkYTcKLS0tIC9kZXYvbnVs bAorKysgYi90ZXN0cy9ydW4tZGVidWdpbmZvZC10bXAtaG9tZS5zaApAQCAtMCwwICsxLDEyNCBA QAorIyEvdXNyL2Jpbi9lbnYgYmFzaAorIworIyBDb3B5cmlnaHQgKEMpIDIwMTktMjAyMSBSZWQg SGF0LCBJbmMuCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGVsZnV0aWxzLgorIworIyBUaGlzIGZp bGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlm eQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIg dmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl ciB2ZXJzaW9uLgorIworIyBlbGZ1dGlscyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0 IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKKyMgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl ZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisjIGFsb25nIHdpdGgg dGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+ LgorCisuICRzcmNkaXIvdGVzdC1zdWJyLnNoICAjIGluY2x1ZGVzIHNldCAtZQorIyBmb3IgdGVz dCBjYXNlIGRlYnVnZ2luZywgdW5jb21tZW50Ogorc2V0IC14Cit1bnNldCBWQUxHUklORF9DTUQK KworREI9JHtQV0R9Ly5kZWJ1Z2luZm9kX3RtcC5zcWxpdGUKK2V4cG9ydCBERUJVR0lORk9EX0NB Q0hFX1BBVEg9JHtQV0R9Ly5jbGllbnRfY2FjaGUKKworbWtkaXIgRgorbWtkaXIgLXAgJERFQlVH SU5GT0RfQ0FDSEVfUEFUSAorIyBUaGlzIHZhcmlhYmxlIGlzIGVzc2VudGlhbCBhbmQgZW5zdXJl cyBubyB0aW1lLXJhY2UgZm9yIGNsYWltaW5nIHBvcnRzIG9jY3VycworIyBzZXQgYmFzZSB0byBh IHVuaXF1ZSBtdWx0aXBsZSBvZiAxMDAgbm90IHVzZWQgaW4gYW55IG90aGVyICdydW4tZGVidWdp bmZvZC0qJyB0ZXN0CitiYXNlPTk3MDAKK2dldF9wb3J0cworCitlbnYgTERfTElCUkFSWV9QQVRI PSRsZHBhdGggREVCVUdJTkZPRF9VUkxTPSAke2Fic19idWlsZGRpcn0vLi4vZGVidWdpbmZvZC9k ZWJ1Z2luZm9kICRWRVJCT1NFIC1GIC1wICRQT1JUMSBcCisgICAgLXQwIC1nMCAtdiBGID4gdmxv ZyRQT1JUMSAyPiYxICYKK1BJRDE9JCEKK3RlbXBmaWxlcyB2bG9nJFBPUlQxCitlcnJmaWxlcyB2 bG9nJFBPUlQxCisjIFNlcnZlciBtdXN0IGJlY29tZSByZWFkeQord2FpdF9yZWFkeSAkUE9SVDEg J3JlYWR5JyAxCitleHBvcnQgREVCVUdJTkZPRF9VUkxTPWh0dHA6Ly8xMjcuMC4wLjE6JFBPUlQx LyAgICMgb3Igd2l0aG91dCB0cmFpbGluZyAvCisKKyMgQmUgcGF0aWVudCB3aGVuIHJ1biBvbiBh IGJ1c3kgbWFjaGluZSB0aGluZ3MgbWlnaHQgdGFrZSBhIGJpdC4KK2V4cG9ydCBERUJVR0lORk9E X1RJTUVPVVQ9MTAKKworIyBDaGVjayB0aHJlYWQgY29tbSBuYW1lcworcHMgLXEgJFBJRDEgLWUg LUwgLW8gJyVwICVjICVhJyB8IGdyZXAgZ3Jvb20KK3BzIC1xICRQSUQxIC1lIC1MIC1vICclcCAl YyAlYScgfCBncmVwIHNjYW4KK3BzIC1xICRQSUQxIC1lIC1MIC1vICclcCAlYyAlYScgfCBncmVw IHRyYXZlcnNlCisKKyMgV2UgdXNlIC10MCBhbmQgLWcwIGhlcmUgdG8gdHVybiBvZmYgdGltZS1i YXNlZCBzY2FubmluZyAmIGdyb29taW5nLgorIyBGb3IgdGVzdGluZyBwdXJwb3Nlcywgd2UganVz dCBzaWMgU0lHVVNSMSAvIFNJR1VTUjIgYXQgdGhlIHByb2Nlc3MuCisKKyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IworCisjIENvbXBpbGUgYSBzaW1wbGUgcHJvZ3JhbSwgc3RyaXAgaXRzIGRlYnVnaW5mbyBhbmQg c2F2ZSB0aGUgYnVpbGQtaWQuCisjIEFsc28gbW92ZSB0aGUgZGVidWdpbmZvIGludG8gYW5vdGhl ciBkaXJlY3Rvcnkgc28gdGhhdCBlbGZ1dGlscworIyBjYW5ub3QgZmluZCBpdCB3aXRob3V0IGRl YnVnaW5mb2QuCitlY2hvICJpbnQgbWFpbigpIHsgcmV0dXJuIDA7IH0iID4gJHtQV0R9L3ArciVv XCRnLmMKK3RlbXBmaWxlcyBwK3Ilb1wkZy5jCisjIENyZWF0ZSBhIHN1YmRpcmVjdG9yeSB0byBj b25mb3VuZCBzb3VyY2UgcGF0aCBuYW1lcworbWtkaXIgZm9vYmFyCitnY2MgLVdsLC0tYnVpbGQt aWQgLWcgLW8gcCtyJW9cJGcgJHtQV0R9L2Zvb2Jhci8vLy4vLi4vcCtyJW9cJGcuYwordGVzdHJ1 biAke2Fic190b3BfYnVpbGRkaXJ9L3NyYy9zdHJpcCAtZyAtZiBwK3Ilb1wkZy5kZWJ1ZyAke1BX RH0vcCtyJW9cJGcKK0JVSUxESUQ9YGVudiBMRF9MSUJSQVJZX1BBVEg9JGxkcGF0aCAke2Fic19i dWlsZGRpcn0vLi4vc3JjL3JlYWRlbGYgXAorICAgICAgICAgIC1hIHArciVvXFwkZyB8IGdyZXAg J0J1aWxkIElEJyB8IGN1dCAtZCAnICcgLWYgN2AKKworbXYgcCtyJW9cJGcgRgorbXYgcCtyJW9c JGcuZGVidWcgRgora2lsbCAtVVNSMSAkUElEMQorIyBXYWl0IHRpbGwgYm90aCBmaWxlcyBhcmUg aW4gdGhlIGluZGV4Lgord2FpdF9yZWFkeSAkUE9SVDEgJ3RocmVhZF93b3JrX3RvdGFse3JvbGU9 InRyYXZlcnNlIn0nIDEKK3dhaXRfcmVhZHkgJFBPUlQxICd0aHJlYWRfd29ya19wZW5kaW5ne3Jv bGU9InNjYW4ifScgMAord2FpdF9yZWFkeSAkUE9SVDEgJ3RocmVhZF9idXN5e3JvbGU9InNjYW4i fScgMAorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworIyBUZXN0IHdoZXRoZXIgdGhlIGNhY2hlIGRlZmF1 bHQgbG9jYXRpb25zIGFyZSBjb3JyZWN0Citta2RpciB0bXBob21lCisKKyMgJEhPTUUvLmNhY2hl IHNob3VsZCBiZSBjcmVhdGVkLgordGVzdHJ1biBlbnYgSE9NRT0kUFdEL3RtcGhvbWUgWERHX0NB Q0hFX0hPTUU9IERFQlVHSU5GT0RfQ0FDSEVfUEFUSD0gJHthYnNfdG9wX2J1aWxkZGlyfS9kZWJ1 Z2luZm9kL2RlYnVnaW5mb2QtZmluZCBkZWJ1Z2luZm8gJEJVSUxESUQKK2lmIFsgISAtZiAkUFdE L3RtcGhvbWUvLmNhY2hlL2RlYnVnaW5mb2RfY2xpZW50LyRCVUlMRElEL2RlYnVnaW5mbyBdOyB0 aGVuCisgIGVjaG8gImNvdWxkIG5vdCBmaW5kIGNhY2hlIGluICRQV0QvdG1waG9tZS8uY2FjaGUi CisgIGVycgorZmkKKworIyAkSE9NRS8uY2FjaGUgc2hvdWxkIGJlIGZvdW5kLgordGVzdHJ1biBl bnYgSE9NRT0kUFdEL3RtcGhvbWUgWERHX0NBQ0hFX0hPTUU9IERFQlVHSU5GT0RfQ0FDSEVfUEFU SD0gJHthYnNfdG9wX2J1aWxkZGlyfS9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QtZmluZCBleGVjdXRh YmxlICRCVUlMRElECitpZiBbICEgLWYgJFBXRC90bXBob21lLy5jYWNoZS9kZWJ1Z2luZm9kX2Ns aWVudC8kQlVJTERJRC9leGVjdXRhYmxlIF07IHRoZW4KKyAgZWNobyAiY291bGQgbm90IGZpbmQg Y2FjaGUgaW4gJFBXRC90bXBob21lLy5jYWNoZSIKKyAgZXJyCitmaQorIyAkWERHX0NBQ0hFX0hP TUUgc2hvdWxkIHRha2UgcHJpb3JpdHkgb3ZlciAkSE9NRS5jYWNoZS4KK3Rlc3RydW4gZW52IEhP TUU9JFBXRC90bXBob21lIFhER19DQUNIRV9IT01FPSRQV0QvdG1weGRnIERFQlVHSU5GT0RfQ0FD SEVfUEFUSD0gJHthYnNfdG9wX2J1aWxkZGlyfS9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QtZmluZCBk ZWJ1Z2luZm8gJEJVSUxESUQKK2lmIFsgISAtZiAkUFdEL3RtcHhkZy9kZWJ1Z2luZm9kX2NsaWVu dC8kQlVJTERJRC9kZWJ1Z2luZm8gXTsgdGhlbgorICBlY2hvICJjb3VsZCBub3QgZmluZCBjYWNo ZSBpbiAkUFdEL3RtcHhkZy8iCisgIGVycgorZmkKKworIyBBIGNhY2hlIGF0IHRoZSBvbGQgZGVm YXVsdCBsb2NhdGlvbiAoJEhPTUUvLmRlYnVnaW5mb2RfY2xpZW50X2NhY2hlKSBzaG91bGQgdGFr ZQorIyBwcmlvcml0eSBvdmVyICRIT01FLy5jYWNoZSwgJFhER19DQUNIRV9IT01FLgorY3AgLXZy ICRERUJVR0lORk9EX0NBQ0hFX1BBVEggdG1waG9tZS8uZGVidWdpbmZvZF9jbGllbnRfY2FjaGUg fHwgdHJ1ZQorIyB8fHRydWUgaXMgZm9yIHRvbGVyYXRpbmcgZXJyb3JzLCBzdWNoIGEgdmFsZ3Jp bmQgb3Igc29tZXRoaW5nIGVsc2UKKyMgICAgICAgIGxlYXZpbmcgMDAwLXBlcm0gZmlsZXMgaW4g dGhlcmUKKworIyBBZGQgYSBmaWxlIHRoYXQgZG9lc24ndCBleGlzdCBpbiAkSE9NRS8uY2FjaGUs ICRYREdfQ0FDSEVfSE9NRS4KK21rZGlyIHRtcGhvbWUvLmRlYnVnaW5mb2RfY2xpZW50X2NhY2hl L2RlYWRiZWVmCitlY2hvIEVMRi4uLiA+IHRtcGhvbWUvLmRlYnVnaW5mb2RfY2xpZW50X2NhY2hl L2RlYWRiZWVmL2RlYnVnaW5mbworZmlsZW5hbWU9YHRlc3RydW4gZW52IEhPTUU9JFBXRC90bXBo b21lIFhER19DQUNIRV9IT01FPSRQV0QvdG1weGRnIERFQlVHSU5GT0RfQ0FDSEVfUEFUSD0gJHth YnNfdG9wX2J1aWxkZGlyfS9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QtZmluZCBkZWJ1Z2luZm8gZGVh ZGJlZWZgCitjbXAgJGZpbGVuYW1lIHRtcGhvbWUvLmRlYnVnaW5mb2RfY2xpZW50X2NhY2hlL2Rl YWRiZWVmL2RlYnVnaW5mbworCisjICRERUJVR0lORk9fQ0FDSEVfUEFUSCBzaG91bGQgdGFrZSBw cmlvcml0eSBvdmVyIGFsbCBlbHNlLgordGVzdHJ1biBlbnYgSE9NRT0kUFdEL3RtcGhvbWUgWERH X0NBQ0hFX0hPTUU9JFBXRC90bXB4ZGcgREVCVUdJTkZPRF9DQUNIRV9QQVRIPSRQV0QvdG1wY2Fj aGUgJHthYnNfdG9wX2J1aWxkZGlyfS9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QtZmluZCBkZWJ1Z2lu Zm8gJEJVSUxESUQKK2lmIFsgISAtZiAkUFdEL3RtcGNhY2hlLyRCVUlMRElEL2RlYnVnaW5mbyBd OyB0aGVuCisgIGVjaG8gImNvdWxkIG5vdCBmaW5kIGNhY2hlIGluICRQV0QvdG1wY2FjaGUvIgor ICBlcnIKK2ZpCitybSAtcmYgJHtQV0R9L3RtcGhvbWUvICR7UFdEfS90bXB4ZGcgJHtQV0R9L3Rt cGNhY2hlCisKK2tpbGwgJFBJRDEKK3dhaXQgJFBJRDEKK1BJRDE9MAorZXhpdCAwCmRpZmYgLS1n aXQgYS90ZXN0cy9ydW4tZGVidWdpbmZvZC13cml0YWJsZS5zaCBiL3Rlc3RzL3J1bi1kZWJ1Z2lu Zm9kLXdyaXRhYmxlLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwLi4yNWVl MGRmNwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3J1bi1kZWJ1Z2luZm9kLXdyaXRhYmxlLnNo CkBAIC0wLDAgKzEsODQgQEAKKyMhL3Vzci9iaW4vZW52IGJhc2gKKyMKKyMgQ29weXJpZ2h0IChD KSAyMDE5LTIwMjEgUmVkIEhhdCwgSW5jLgorIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBlbGZ1dGls cy4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl IGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIg b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgZWxmdXRpbHMgaXMgZGlzdHJpYnV0ZWQg aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CisjIFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRB QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIyBZb3Ugc2hv dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZQorIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3Lmdu dS5vcmcvbGljZW5zZXMvPi4KKworLiAkc3JjZGlyL3Rlc3Qtc3Vici5zaCAgIyBpbmNsdWRlcyBz ZXQgLWUKKworIyBmb3IgdGVzdCBjYXNlIGRlYnVnZ2luZywgdW5jb21tZW50Ogorc2V0IC14Cit1 bnNldCBWQUxHUklORF9DTUQKKworbWtkaXIgRgorIyBUaGlzIHZhcmlhYmxlIGlzIGVzc2VudGlh bCBhbmQgZW5zdXJlcyBubyB0aW1lLXJhY2UgZm9yIGNsYWltaW5nIHBvcnRzIG9jY3VycworIyBz ZXQgYmFzZSB0byBhIHVuaXF1ZSBtdWx0aXBsZSBvZiAxMDAgbm90IHVzZWQgaW4gYW55IG90aGVy ICdydW4tZGVidWdpbmZvZC0qJyB0ZXN0CitiYXNlPTk4MDAKK2dldF9wb3J0cworCitlbnYgTERf TElCUkFSWV9QQVRIPSRsZHBhdGggREVCVUdJTkZPRF9VUkxTPSAke2Fic19idWlsZGRpcn0vLi4v ZGVidWdpbmZvZC9kZWJ1Z2luZm9kICRWRVJCT1NFIC1GIC1wICRQT1JUMSBcCisgICAgLXQwIC1n MCAtdiBGID4gdmxvZyRQT1JUMSAyPiYxICYKK1BJRDE9JCEKK3RlbXBmaWxlcyB2bG9nJFBPUlQx CitlcnJmaWxlcyB2bG9nJFBPUlQxCisjIFNlcnZlciBtdXN0IGJlY29tZSByZWFkeQord2FpdF9y ZWFkeSAkUE9SVDEgJ3JlYWR5JyAxCitleHBvcnQgREVCVUdJTkZPRF9VUkxTPWh0dHA6Ly8xMjcu MC4wLjE6JFBPUlQxLyAgICMgb3Igd2l0aG91dCB0cmFpbGluZyAvCisKKyMgQmUgcGF0aWVudCB3 aGVuIHJ1biBvbiBhIGJ1c3kgbWFjaGluZSB0aGluZ3MgbWlnaHQgdGFrZSBhIGJpdC4KK2V4cG9y dCBERUJVR0lORk9EX1RJTUVPVVQ9MTAKKworIyBDaGVjayB0aHJlYWQgY29tbSBuYW1lcworcHMg LXEgJFBJRDEgLWUgLUwgLW8gJyVwICVjICVhJyB8IGdyZXAgZ3Jvb20KK3BzIC1xICRQSUQxIC1l IC1MIC1vICclcCAlYyAlYScgfCBncmVwIHNjYW4KK3BzIC1xICRQSUQxIC1lIC1MIC1vICclcCAl YyAlYScgfCBncmVwIHRyYXZlcnNlCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCisjIENvbXBpbGUgYSBz aW1wbGUgcHJvZ3JhbSwgc3RyaXAgaXRzIGRlYnVnaW5mbyBhbmQgc2F2ZSB0aGUgYnVpbGQtaWQu CisjIEFsc28gbW92ZSB0aGUgZGVidWdpbmZvIGludG8gYW5vdGhlciBkaXJlY3Rvcnkgc28gdGhh dCBlbGZ1dGlscworIyBjYW5ub3QgZmluZCBpdCB3aXRob3V0IGRlYnVnaW5mb2QuCitlY2hvICJp bnQgbWFpbigpIHsgcmV0dXJuIDA7IH0iID4gJHtQV0R9L3ArciVvXCRnLmMKK3RlbXBmaWxlcyBw K3Ilb1wkZy5jCisjIENyZWF0ZSBhIHN1YmRpcmVjdG9yeSB0byBjb25mb3VuZCBzb3VyY2UgcGF0 aCBuYW1lcworbWtkaXIgZm9vYmFyCitnY2MgLVdsLC0tYnVpbGQtaWQgLWcgLW8gcCtyJW9cJGcg JHtQV0R9L2Zvb2Jhci8vLy4vLi4vcCtyJW9cJGcuYwordGVzdHJ1biAke2Fic190b3BfYnVpbGRk aXJ9L3NyYy9zdHJpcCAtZyAtZiBwK3Ilb1wkZy5kZWJ1ZyAke1BXRH0vcCtyJW9cJGcKK0JVSUxE SUQ9YGVudiBMRF9MSUJSQVJZX1BBVEg9JGxkcGF0aCAke2Fic19idWlsZGRpcn0vLi4vc3JjL3Jl YWRlbGYgXAorICAgICAgICAgIC1hIHArciVvXFwkZyB8IGdyZXAgJ0J1aWxkIElEJyB8IGN1dCAt ZCAnICcgLWYgN2AKKworbXYgcCtyJW9cJGcgRgorbXYgcCtyJW9cJGcuZGVidWcgRgora2lsbCAt VVNSMSAkUElEMQorIyBXYWl0IHRpbGwgYm90aCBmaWxlcyBhcmUgaW4gdGhlIGluZGV4Lgord2Fp dF9yZWFkeSAkUE9SVDEgJ3RocmVhZF93b3JrX3RvdGFse3JvbGU9InRyYXZlcnNlIn0nIDEKK3dh aXRfcmVhZHkgJFBPUlQxICd0aHJlYWRfd29ya19wZW5kaW5ne3JvbGU9InNjYW4ifScgMAord2Fp dF9yZWFkeSAkUE9SVDEgJ3RocmVhZF9idXN5e3JvbGU9InNjYW4ifScgMAorCisjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIworIyBUZXN0IHdoZXRoZXIgZGVidWdpbmZvZC1maW5kIGlzIGFibGUgdG8gZmV0Y2ggdGhv c2UgZmlsZXMuCitybSAtcmYgJERFQlVHSU5GT0RfQ0FDSEVfUEFUSCAjIGNsZWFuIGl0IGZyb20g cHJldmlvdXMgdGVzdHMKK2ZpbGVuYW1lPWB0ZXN0cnVuICR7YWJzX3RvcF9idWlsZGRpcn0vZGVi dWdpbmZvZC9kZWJ1Z2luZm9kLWZpbmQgZGVidWdpbmZvICRCVUlMRElEYAorY21wICRmaWxlbmFt ZSBGL3ArciVvXCRnLmRlYnVnCitpZiBbIC13ICRmaWxlbmFtZSBdOyB0aGVuCisgICAgZWNobyAi Y2FjaGUgZmlsZSB3cml0YWJsZSwgYm9vIgorICAgIGVycgorZmkKKwora2lsbCAkUElEMQord2Fp dCAkUElEMQorUElEMT0wCisKK2V4aXQgMApkaWZmIC0tZ2l0IGEvdGVzdHMvcnVuLWRlYnVnaW5m b2QteC1mb3J3YXJkZWQtZm9yLnNoIGIvdGVzdHMvcnVuLWRlYnVnaW5mb2QteC1mb3J3YXJkZWQt Zm9yLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwLi4zYmViNzgyZQotLS0g L2Rldi9udWxsCisrKyBiL3Rlc3RzL3J1bi1kZWJ1Z2luZm9kLXgtZm9yd2FyZGVkLWZvci5zaApA QCAtMCwwICsxLDYyIEBACisjIS91c3IvYmluL2VudiBiYXNoCisjCisjIENvcHlyaWdodCAoQykg MjAyMSBSZWQgSGF0LCBJbmMuCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGVsZnV0aWxzLgorIwor IyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k L29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u OyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24p IGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBlbGZ1dGlscyBpcyBkaXN0cmlidXRlZCBpbiB0aGUg aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKKyMgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkg b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjIFlvdSBzaG91bGQgaGF2 ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisjIGFs b25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9s aWNlbnNlcy8+LgorCisuICRzcmNkaXIvdGVzdC1zdWJyLnNoICAjIGluY2x1ZGVzIHNldCAtZQor IyBmb3IgdGVzdCBjYXNlIGRlYnVnZ2luZywgdW5jb21tZW50Ogorc2V0IC14Cit1bnNldCBWQUxH UklORF9DTUQKKworZXhwb3J0IERFQlVHSU5GT0RfQ0FDSEVfUEFUSD0ke1BXRH0vLmNsaWVudF9j YWNoZQorIyBUaGlzIHZhcmlhYmxlIGlzIGVzc2VudGlhbCBhbmQgZW5zdXJlcyBubyB0aW1lLXJh Y2UgZm9yIGNsYWltaW5nIHBvcnRzIG9jY3VycworIyBzZXQgYmFzZSB0byBhIHVuaXF1ZSBtdWx0 aXBsZSBvZiAxMDAgbm90IHVzZWQgaW4gYW55IG90aGVyICdydW4tZGVidWdpbmZvZC0qJyB0ZXN0 CitiYXNlPTk5MDAKK2dldF9wb3J0cworCisjIFRlc3Qgd2hlbiBkZWJ1Z2luZm9kIGhpdHRpbmcg WC1Gb3J3YXJkZWQtRm9yIGhvcHMgbGltaXQuCisjIFRoaXMgdGVzdCB3aWxsIHN0YXJ0IHR3byBz ZXJ2ZXJzIChhcyBhIGxvb3ApIHdpdGggdHdvIGRpZmZlcmVudCBob3AgbGltaXRzLgorCit0ZW1w ZmlsZXMgdmxvZyRQT1JUMQorZXJyZmlsZXMgdmxvZyRQT1JUMQorZW52IExEX0xJQlJBUllfUEFU SD0kbGRwYXRoIERFQlVHSU5GT0RfVVJMUz1odHRwOi8vMTI3LjAuMC4xOiRQT1JUMiAke2Fic19i dWlsZGRpcn0vLi4vZGVidWdpbmZvZC9kZWJ1Z2luZm9kICRWRVJCT1NFIC1kIDptZW1vcnk6IC0t Zm9yd2FyZGVkLXR0bC1saW1pdCAwIC1wICRQT1JUMSA+IHZsb2ckUE9SVDEgMj4mMSAmCitQSUQx PSQhCisKK3RlbXBmaWxlcyB2bG9nJFBPUlQyCitlcnJmaWxlcyB2bG9nJFBPUlQyCitlbnYgTERf TElCUkFSWV9QQVRIPSRsZHBhdGggREVCVUdJTkZPRF9VUkxTPWh0dHA6Ly8xMjcuMC4wLjE6JFBP UlQxICR7YWJzX2J1aWxkZGlyfS8uLi9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QgJFZFUkJPU0UgLWQg Om1lbW9yeTogLS1mb3J3YXJkZWQtdHRsLWxpbWl0IDEgLXAgJFBPUlQyID4gdmxvZyRQT1JUMiAy PiYxICYKK1BJRDI9JCEKKword2FpdF9yZWFkeSAkUE9SVDEgJ3JlYWR5JyAxCit3YWl0X3JlYWR5 ICRQT1JUMiAncmVhZHknIDEKKworZXhwb3J0IERFQlVHSU5GT0RfVVJMUz0iaHR0cDovLzEyNy4w LjAuMTokUE9SVDEvIgordGVzdHJ1biAke2Fic190b3BfYnVpbGRkaXJ9L2RlYnVnaW5mb2QvZGVi dWdpbmZvZC1maW5kIGRlYnVnaW5mbyAwMTIzNDU2NyB8fCB0cnVlCisKKyMgVXNlIGEgZGlmZmVy ZW50IGJ1aWxkaWQgdG8gYXZvaWQgdXNpbmcgc2FtZSBjYWNoZS4KK2V4cG9ydCBERUJVR0lORk9E X1VSTFM9Imh0dHA6Ly8xMjcuMC4wLjE6JFBPUlQyLyIKK3Rlc3RydW4gJHthYnNfdG9wX2J1aWxk ZGlyfS9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QtZmluZCBkZWJ1Z2luZm8gMTEyMzQ1NjcgfHwgdHJ1 ZQorCitncmVwICJmb3J3YXJlZC10dGwtbGltaXQgcmVhY2hlZCBhbmQgd2lsbCBub3QgcXVlcnkg dGhlIHVwc3RyZWFtIHNlcnZlcnMiIHZsb2ckUE9SVDEKK2dyZXAgLXYgImZvcndhcmVkLXR0bC1s aW1pdCByZWFjaGVkIGFuZCB3aWxsIG5vdCBxdWVyeSB0aGUgdXBzdHJlYW0gc2VydmVycyIgdmxv ZyRQT1JUMiB8IGdyZXAgIm5vdCBmb3VuZCIgdmxvZyRQT1JUMgorCitraWxsICRQSUQxICRQSUQy Cit3YWl0ICRQSUQxICRQSUQyCisKK1BJRDE9MAorUElEMj0wCisKK2V4aXQgMApkaWZmIC0tZ2l0 IGEvdGVzdHMvdGVzdC1zdWJyLnNoIGIvdGVzdHMvdGVzdC1zdWJyLnNoCmluZGV4IDQxMWU1ZjI4 Li45NWRjYmIyNiAxMDA2NDQKLS0tIGEvdGVzdHMvdGVzdC1zdWJyLnNoCisrKyBiL3Rlc3RzL3Rl c3Qtc3Vici5zaApAQCAtMjcsNiArMjcsMTMgQEAgdGVzdF9kaXI9InRlc3QtJCQiCiBta2RpciAt cCAiJHRlc3RfZGlyIgogY2QgIiR0ZXN0X2RpciIKIAordHlwZSBjdXJsIDI+L2Rldi9udWxsIHx8 IChlY2hvICJuZWVkIGN1cmwiOyBleGl0IDc3KQordHlwZSBycG0yY3BpbyAyPi9kZXYvbnVsbCB8 fCAoZWNobyAibmVlZCBycG0yY3BpbyI7IGV4aXQgNzcpCit0eXBlIGNwaW8gMj4vZGV2L251bGwg fHwgKGVjaG8gIm5lZWQgY3BpbyI7IGV4aXQgNzcpCit0eXBlIGJ6Y2F0IDI+L2Rldi9udWxsIHx8 IChlY2hvICJuZWVkIGJ6Y2F0IjsgZXhpdCA3NykKK2JzZHRhciAtLXZlcnNpb24gfCBncmVwIC1x IHpzdGQgJiYgenN0ZD10cnVlIHx8IHpzdGQ9ZmFsc2UKK2VjaG8gInpzdGQ9JHpzdGQgYnNkdGFy PWBic2R0YXIgLS12ZXJzaW9uYCIKKwogI0xDX0FMTD1DCiAjZXhwb3J0IExDX0FMTAogCkBAIC0z NSw3ICs0MiwxMSBAQCByZW1vdmVfZmlsZXM9CiAjIFRlc3RzIHRoYXQgdHJhcCBFWElUICgwKSB0 aGVtc2VsdmVzIHNob3VsZCBjYWxsIHRoaXMgZXhwbGljaXRseS4KIGV4aXRfY2xlYW51cCgpCiB7 Ci0gIHJtIC1mICRyZW1vdmVfZmlsZXM7IGNkIC4uOyBybWRpciAkdGVzdF9kaXIKKyAgcm0gLXJm ICR7UFdEfS8uY2xpZW50X2NhY2hlKgorICBybSAtZiAkcmVtb3ZlX2ZpbGVzOworICBscyAtYSAk e1BXRH0KKyAgY2QgLi47CisgIHJtZGlyICR0ZXN0X2RpcgogfQogdHJhcCBleGl0X2NsZWFudXAg MAogCkBAIC0yMTIsMyArMjIzLDExNCBAQCB0ZXN0cnVuX29uX3NlbGZfcXVpZXQoKQogICAjIE9u bHkgZXhpdCBpZiBzb21ldGhpbmcgZmFpbGVkCiAgIGlmIHRlc3QgJGV4aXRfc3RhdHVzICE9IDA7 IHRoZW4gZXhpdCAkZXhpdF9zdGF0dXM7IGZpCiB9CisKK2NsZWFudXAoKQoreworICBpZiBbICRQ SUQxIC1uZSAwIF07IHRoZW4ga2lsbCAkUElEMTsgd2FpdCAkUElEMTsgZmkKKyAgaWYgWyAkUElE MiAtbmUgMCBdOyB0aGVuIGtpbGwgJFBJRDI7IHdhaXQgJFBJRDI7IGZpCisgIHJtIC1yZiAke1BX RH0vLmNsaWVudF9jYWNoZSBGIFIgRCBMIFogJHtQV0R9L2Zvb2JhciAke1BXRH0vbW9ja3RyZWUK KyAgZXhpdF9jbGVhbnVwCit9Cit0cmFwIGNsZWFudXAgMCAxIDIgMyA1IDkgMTUKK2VycmZpbGVz X2xpc3Q9CitlcnIoKSB7CisgICAgZWNobyBFUlJPUiBSRVBPUlRTCisgICAgZm9yIHBvcnRzIGlu ICRQT1JUMSAkUE9SVDIKKyAgICBkbworICAgICAgICBlY2hvIEVSUk9SIFJFUE9SVCAkcG9ydCBt ZXRyaWNzCisgICAgICAgIGN1cmwgLXMgaHR0cDovLzEyNy4wLjAuMTokcG9ydC9tZXRyaWNzCisg ICAgICAgIGVjaG8KKyAgICBkb25lCisgICAgZm9yIHggaW4gJGVycmZpbGVzX2xpc3QKKyAgICBk bworICAgICAgICBlY2hvIEVSUk9SIFJFUE9SVCAiJHgiCisgICAgICAgIGNhdCAkeAorICAgICAg ICBlY2hvCisgICAgZG9uZQorICAgIGZhbHNlICMgdHJpZ2dlciBzZXQgLWUKK30KK3RyYXAgZXJy IEVSUgorCitlcnJmaWxlcygpIHsKKyAgICBlcnJmaWxlc19saXN0PSIkZXJyZmlsZXNfbGlzdCAk KiIKK30KKword2FpdF9yZWFkeSgpCit7CisgIHBvcnQ9JDE7CisgIHdoYXQ9JDI7CisgIHZhbHVl PSQzOworICB0aW1lb3V0PTIwOworCisgIGVjaG8gIldhaXQgJHRpbWVvdXQgc2Vjb25kcyBvbiAk cG9ydCBmb3IgbWV0cmljICR3aGF0IHRvIGNoYW5nZSB0byAkdmFsdWUiCisgIHdoaWxlIFsgJHRp bWVvdXQgLWd0IDAgXTsgZG8KKyAgICBtdmFsdWU9IiQoY3VybCAtcyBodHRwOi8vMTI3LjAuMC4x OiRwb3J0L21ldHJpY3MgXAorICAgICAgICAgICAgICB8IGdyZXAgIiR3aGF0IiB8IGF3ayAne3By aW50ICRORn0nKSIKKyAgICBpZiBbIC16ICIkbXZhbHVlIiBdOyB0aGVuIG12YWx1ZT0wOyBmaQor ICAgICAgZWNobyAibWV0cmljICR3aGF0OiAkbXZhbHVlIgorICAgICAgaWYgWyAiJG12YWx1ZSIg LWVxICIkdmFsdWUiIF07IHRoZW4KKyAgICAgICAgYnJlYWs7CisgICAgZmkKKyAgICBzbGVlcCAw LjU7CisgICAgKCh0aW1lb3V0LS0pKTsKKyAgZG9uZTsKKworICBpZiBbICR0aW1lb3V0IC1lcSAw IF07IHRoZW4KKyAgICBlY2hvICJtZXRyaWMgJHdoYXQgbmV2ZXIgY2hhbmdlZCB0byAkdmFsdWUg b24gcG9ydCAkcG9ydCIKKyAgICBlcnIKKyAgZmkKK30KKworYXJjaGl2ZV90ZXN0KCkgeworICAg IF9fQlVJTERJRD0kMQorICAgIF9fU09VUkNFUEFUSD0kMgorICAgIF9fU09VUkNFU0hBMT0kMwor CisgICAgZmlsZW5hbWU9YHRlc3RydW4gJHthYnNfdG9wX2J1aWxkZGlyfS9kZWJ1Z2luZm9kL2Rl YnVnaW5mb2QtZmluZCBleGVjdXRhYmxlICRfX0JVSUxESURgCisgICAgYnVpbGRpZD1gZW52IExE X0xJQlJBUllfUEFUSD0kbGRwYXRoICR7YWJzX2J1aWxkZGlyfS8uLi9zcmMvcmVhZGVsZiBcCisg ICAgICAgICAgICAgLWEgJGZpbGVuYW1lIHwgZ3JlcCAnQnVpbGQgSUQnIHwgY3V0IC1kICcgJyAt ZiA3YAorICAgIHRlc3QgJF9fQlVJTERJRCA9ICRidWlsZGlkCisgICAgIyBjaGVjayB0aGF0IHRp bWVzdGFtcHMgYXJlIHBsYXVzaWJsZSAtIG9sZGVyIHRoYW4gdGhlIG5lYXItcHJlc2VudCAodG1w ZGlyIG10aW1lKQorICAgIHRlc3QgJGZpbGVuYW1lIC1vdCBgcHdkYAorCisgICAgIyBydW4gYWdh aW4gdG8gYXNzdXJlIHRoYXQgZmRjYWNoZSBpcyBiZWluZyBlbmpveWVkCisgICAgZmlsZW5hbWU9 YHRlc3RydW4gJHthYnNfdG9wX2J1aWxkZGlyfS9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QtZmluZCBl eGVjdXRhYmxlICRfX0JVSUxESURgCisgICAgYnVpbGRpZD1gZW52IExEX0xJQlJBUllfUEFUSD0k bGRwYXRoICR7YWJzX2J1aWxkZGlyfS8uLi9zcmMvcmVhZGVsZiBcCisgICAgICAgICAgICAgLWEg JGZpbGVuYW1lIHwgZ3JlcCAnQnVpbGQgSUQnIHwgY3V0IC1kICcgJyAtZiA3YAorICAgIHRlc3Qg JF9fQlVJTERJRCA9ICRidWlsZGlkCisgICAgdGVzdCAkZmlsZW5hbWUgLW90IGBwd2RgCisKKyAg ICBmaWxlbmFtZT1gdGVzdHJ1biAke2Fic190b3BfYnVpbGRkaXJ9L2RlYnVnaW5mb2QvZGVidWdp bmZvZC1maW5kIGRlYnVnaW5mbyAkX19CVUlMRElEYAorICAgIGJ1aWxkaWQ9YGVudiBMRF9MSUJS QVJZX1BBVEg9JGxkcGF0aCAke2Fic19idWlsZGRpcn0vLi4vc3JjL3JlYWRlbGYgXAorICAgICAg ICAgICAgIC1hICRmaWxlbmFtZSB8IGdyZXAgJ0J1aWxkIElEJyB8IGN1dCAtZCAnICcgLWYgN2AK KyAgICB0ZXN0ICRfX0JVSUxESUQgPSAkYnVpbGRpZAorICAgIHRlc3QgJGZpbGVuYW1lIC1vdCBg cHdkYAorCisgICAgaWYgdGVzdCAieCRfX1NPVVJDRVBBVEgiICE9ICJ4IjsgdGhlbgorICAgICAg ICBmaWxlbmFtZT1gdGVzdHJ1biAke2Fic190b3BfYnVpbGRkaXJ9L2RlYnVnaW5mb2QvZGVidWdp bmZvZC1maW5kIHNvdXJjZSAkX19CVUlMRElEICRfX1NPVVJDRVBBVEhgCisgICAgICAgIGhhc2g9 YGNhdCAkZmlsZW5hbWUgfCBzaGExc3VtIHwgYXdrICd7cHJpbnQgJDF9J2AKKyAgICAgICAgdGVz dCAkX19TT1VSQ0VTSEExID0gJGhhc2gKKyAgICAgICAgdGVzdCAkZmlsZW5hbWUgLW90IGBwd2Rg CisgICAgZmkKK30KKworZ2V0X3BvcnRzKCkgeworICB3aGlsZSB0cnVlOyBkbworICAgIFBPUlQx PWBleHByICcoJyAkUkFORE9NICUgMTAwICcpJyArICRiYXNlYAorICAgIHNzIC1hdG4gfCBmZ3Jl cCAiOiRQT1JUMSIgfHwgYnJlYWsKKyAgZG9uZQorIyBTb21lIHRlc3RzIHdpbGwgdXNlIHR3byBz ZXJ2ZXJzLCBzbyBhc3NpZ24gdGhlIHNlY29uZCB2YXIKKyAgd2hpbGUgdHJ1ZTsgZG8KKyAgICBQ T1JUMj1gZXhwciAnKCcgJFJBTkRPTSAlIDEwMCAnKScgKyAkYmFzZWAKKyAgICBzcyAtYXRuIHwg ZmdyZXAgIjokUE9SVDIiICYmICRQT1JUMSAtbmUgJFBPUlQyIHx8IGJyZWFrCisgIGRvbmUKKwor fQorCitWRVJCT1NFPS12dnYKKyMgV2UgZ2F0aGVyIHRoZSBMRF9MSUJSQVJZX1BBVEggd2l0aCB0 aGlzIGN1bm5pbmcgdHJpY2s6CitsZHBhdGg9YHRlc3RydW4gc2ggLWMgJ2VjaG8gJExEX0xJQlJB UllfUEFUSCdgCitQT1JUMT0wCitQT1JUMj0wCitQSUQxPTAKK1BJRDI9MAotLSAKMi4zMS4xCgo= --0000000000009d74ca05cb07c756--