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 E16893858C2C for ; Mon, 23 Aug 2021 19:32:03 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org E16893858C2C Received: from mail-io1-f71.google.com (mail-io1-f71.google.com [209.85.166.71]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-44-59qe5XqWNT-ob3JMvErurA-1; Mon, 23 Aug 2021 15:32:01 -0400 X-MC-Unique: 59qe5XqWNT-ob3JMvErurA-1 Received: by mail-io1-f71.google.com with SMTP id n14-20020a5d824e0000b02905b010868ff0so10715305ioo.10 for ; Mon, 23 Aug 2021 12:32:01 -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; bh=HaCFeaUR5iBFlUrBLITeEBiNhPlRz4FguxDvNs+U9Xo=; b=Nt4WX2LYUeDqKCQQHFkFB2y0WTMcSgepIDEEZSt9ugWucXQ1xsJgPcgzVqFPnbv3Ld 2GbwSHoS62i1z4dBLb5aUOm116ljrG86BBa+sdm3/G58QroHvG9/wv1+64TrKG/j9Q0m EJN48GQ3BILREOkCw4zrBRwLdBbnWG2BuYhGctuFHqbLCRLeNqUZ42wwRDzlGZtyl55d WYkeV4/9XEzMltbwdZ5pe7VCn/jnBsbEPZTLtFx/RtbbABzYOFIuVigndtfxRbk5uyh9 EKKvlcTL137qyvmLF1rH7nBxhy8rVMCHoP1gNLU/pGnpnROI5h7iXSo0loLwBBl+Gf40 I4aw== X-Gm-Message-State: AOAM530WiquRgvtzETQHVuKMCM9GXHyJta+ddyittk59mbM7QByDz4aC caQdDopF1UJKCPzJBhQ74yzMTvPopFXiLGWFH5yPwKq7HOBfIoshh1HHaRSMPWkOuMDK8KScepE o+bZmXvhiA6+jfuFvrrGvTbaR+4POspxXZjufGyzeQg== X-Received: by 2002:a92:c242:: with SMTP id k2mr23402979ilo.33.1629747120361; Mon, 23 Aug 2021 12:32:00 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwol7XOpvumiYzVwAXbaCx9CcT0Q4+iOnnHUrxE+ch9bryMG+QgtCUPpdlJU2RwNAKsK9R3xt3MrziawKqHDLc= X-Received: by 2002:a92:c242:: with SMTP id k2mr23402972ilo.33.1629747120186; Mon, 23 Aug 2021 12:32:00 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Noah Sanci Date: Mon, 23 Aug 2021 15:31:49 -0400 Message-ID: Subject: Re: debuginfod: Fracture tests/run-debuginfod-find.sh into specific tests To: elfutils-devel@sourceware.org X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: multipart/mixed; boundary="0000000000002c601a05ca3f12ce" X-Spam-Status: No, score=-10.8 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: Mon, 23 Aug 2021 19:32:14 -0000 --0000000000002c601a05ca3f12ce Content-Type: text/plain; charset="UTF-8" Hello, Here is an updated patch that unsets VALGRIND_CMD for all the new debuginfod tests. Noah Sanci --0000000000002c601a05ca3f12ce 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_ksp1cjc70 RnJvbSBjM2EyMzJkM2Q0ZDVmNGM3NzY4ZjQxYTA5OTU3YjVlZGFjYWNiYzI1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOb2FoIFNhbmNpIDxuc2FuY2lAcmVkaGF0LmNvbT4KRGF0ZTog VHVlLCAxMCBBdWcgMjAyMSAxMToyMTozNSAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIGRlYnVnaW5m b2Q6IEZyYWN0dXJlIHRlc3RzL3J1bi1kZWJ1Z2luZm9kLWZpbmQuc2ggaW50bwogc3BlY2lmaWMg dGVzdHMKCnRlc3RzL3J1bi1kZWJ1Z2luZm9kLWZpbmQuc2ggd2FzIGEgbWFzc2l2ZSB0ZXN0IHNj cmlwdCB3aXRoIG1hbnkgYnJvYWRseQp2YXJ5aW5nIHRlc3RzLiBUaGlzIGNhdXNlZCB0aGUgdGVz dCBzY3JpcHQgdG8gZmFpbCB3aGVuIGFueSBudW1iZXIgb2YKdGhpbmdzIHdlbnQgd3JvbmcgYW5k IGJlY2F1c2Ugb2YgaXRzIGludGVydHdpbmVkIG5hdHVyZSwgZGV0ZWN0aW5nIHRoZQpzb3VyY2Ug b2YgYSBmYWlsdXJlIGNvdWxkIGJlIGRpZmZpY3VsdC4gVGhlIHNpemUgb2YgdGhlIHRlc3Qgc2Ny aXB0CmFsc28gbWVhbnQgbWFueSB1bnJlbGF0ZWQgdGVzdHMgd2VyZSBydW4gbWFraW5nIHRoZSB0 ZXN0aW5nIHByb2Nlc3MKdW5uZWNlc3NhcmlseSBsZW5ndGh5LgoKVGhpcyBwYXRjaCBmcmFjdHVy ZXMgdGVzdHMvcnVuLWRlYnVnaW5mb2QtZmluZC5zaCBpbnRvIHNtYWxsZXIsIG1vcmUKbWFuYWdl YWJsZSBpbmRpdmlkdWFsIHRlc3Qgc2NyaXB0IGZpbGVzLiBUaGlzIGVuc3VyZXMgdGhhdCB3aGVu IGZhaWx1cmUKb2NjdXJzLCBhIHByb2dyYW1tZXIgY2FuIGVhc2lseSBkZXRlcm1pbmUgd2hlcmUg dGhlaXIgcGF0Y2ggd2VudAp3cm9uZy4gSXQgYWxzbyBhbGxvd3MgcHJvZ3JhbW1lcnMgdG8gc3Bl Y2lmeSBleGFjdGx5IHdoaWNoIHRlc3RzIHRvCnJ1biwgbWFraW5nIHRlc3RpbmcgbW9yZSBlZmZp Y2llbnQuIFJlZHVuZGFuY2llcyBhcmUgYWxzbyByZWR1Y2VkIGJ5CnBsYWNpbmcgY29kZSBpbiB0 ZXN0cy90ZXN0LXN1YnIuc2guCgpTaWduZWQtb2ZmLWJ5OiBOb2FoIFNhbmNpIDxuc2FuY2lAcmVk aGF0LmNvbT4KLS0tCiBDaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAgIDMgKwogTWFrZWZpbGUuYW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAy ICstCiB0ZXN0cy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMjYgKwog dGVzdHMvTWFrZWZpbGUuYW0gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDMzICstCiB0ZXN0 cy9ydW4tZGVidWdpbmZvZC0wMDAtcGVybWlzc2lvbi5zaCAgICAgfCAgODIgKysrCiB0ZXN0cy9y dW4tZGVidWdpbmZvZC1hcmNoaXZlLWdyb29tLnNoICAgICAgfCAxNTEgKysrKwogdGVzdHMvcnVu LWRlYnVnaW5mb2QtYXJjaGl2ZS1yZW5hbWUuc2ggICAgIHwgIDkzICsrKwogdGVzdHMvcnVuLWRl YnVnaW5mb2QtYXJjaGl2ZS10ZXN0LnNoICAgICAgIHwgIDgxICsrKwogdGVzdHMvcnVuLWRlYnVn aW5mb2QtYXJ0aWZhY3QtcnVubmluZy5zaCAgIHwgMTIwICsrKwogdGVzdHMvcnVuLWRlYnVnaW5m b2QtZGxvcGVuLnNoICAgICAgICAgICAgIHwgIDgxICsrKwogdGVzdHMvcnVuLWRlYnVnaW5mb2Qt ZHVwbGljYXRlLXVybHMuc2ggICAgIHwgIDQ5ICsrCiB0ZXN0cy9ydW4tZGVidWdpbmZvZC1leHRy YWN0aW9uLnNoICAgICAgICAgfCAgOTkgKysrCiB0ZXN0cy9ydW4tZGVidWdpbmZvZC1mZC1wcmVm ZXRjaC1jYWNoZXMuc2ggfCAgNTQgKysKIHRlc3RzL3J1bi1kZWJ1Z2luZm9kLWZlZGVyYXRpb24t bGluay5zaCAgICB8IDE1OSArKysrCiB0ZXN0cy9ydW4tZGVidWdpbmZvZC1mZWRlcmF0aW9uLW1l dHJpY3Muc2ggfCAyMTIgKysrKysrCiB0ZXN0cy9ydW4tZGVidWdpbmZvZC1mZWRlcmF0aW9uLXNx bGl0ZS5zaCAgfCAyMDAgKysrKysKIHRlc3RzL3J1bi1kZWJ1Z2luZm9kLWZpbGUuc2ggICAgICAg ICAgICAgICB8ICAzOSArCiB0ZXN0cy9ydW4tZGVidWdpbmZvZC1maW5kLnNoICAgICAgICAgICAg ICAgfCA4MDcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiB0ZXN0cy9ydW4tZGVidWdpbmZvZC1tYWxm b3JtZWQuc2ggICAgICAgICAgfCAxMDcgKysrCiB0ZXN0cy9ydW4tZGVidWdpbmZvZC1uby11cmxz LnNoICAgICAgICAgICAgfCAgMzggKwogdGVzdHMvcnVuLWRlYnVnaW5mb2QtcXVlcnktcmV0cnku c2ggICAgICAgIHwgIDM0ICsKIHRlc3RzL3J1bi1kZWJ1Z2luZm9kLXJlZ2V4LnNoICAgICAgICAg ICAgICB8ICA5NSArKysKIHRlc3RzL3J1bi1kZWJ1Z2luZm9kLXNpemV0aW1lLnNoICAgICAgICAg ICB8ICA3NSArKwogdGVzdHMvcnVuLWRlYnVnaW5mb2QtdG1wLWhvbWUuc2ggICAgICAgICAgIHwg MTIyICsrKysKIHRlc3RzL3J1bi1kZWJ1Z2luZm9kLXdyaXRhYmxlLnNoICAgICAgICAgICB8ICA4 MiArKysKIHRlc3RzL3Rlc3Qtc3Vici5zaCAgICAgICAgICAgICAgICAgICAgICAgICB8IDEyNCAr KystCiAyNiBmaWxlcyBjaGFuZ2VkLCAyMTU2IGluc2VydGlvbnMoKyksIDgxMiBkZWxldGlvbnMo LSkKIGNyZWF0ZSBtb2RlIDEwMDc1NSB0ZXN0cy9ydW4tZGVidWdpbmZvZC0wMDAtcGVybWlzc2lv bi5zaAogY3JlYXRlIG1vZGUgMTAwNzU1IHRlc3RzL3J1bi1kZWJ1Z2luZm9kLWFyY2hpdmUtZ3Jv b20uc2gKIGNyZWF0ZSBtb2RlIDEwMDc1NSB0ZXN0cy9ydW4tZGVidWdpbmZvZC1hcmNoaXZlLXJl bmFtZS5zaAogY3JlYXRlIG1vZGUgMTAwNzU1IHRlc3RzL3J1bi1kZWJ1Z2luZm9kLWFyY2hpdmUt dGVzdC5zaAogY3JlYXRlIG1vZGUgMTAwNzU1IHRlc3RzL3J1bi1kZWJ1Z2luZm9kLWFydGlmYWN0 LXJ1bm5pbmcuc2gKIGNyZWF0ZSBtb2RlIDEwMDc1NSB0ZXN0cy9ydW4tZGVidWdpbmZvZC1kbG9w ZW4uc2gKIGNyZWF0ZSBtb2RlIDEwMDc1NSB0ZXN0cy9ydW4tZGVidWdpbmZvZC1kdXBsaWNhdGUt dXJscy5zaAogY3JlYXRlIG1vZGUgMTAwNzU1IHRlc3RzL3J1bi1kZWJ1Z2luZm9kLWV4dHJhY3Rp b24uc2gKIGNyZWF0ZSBtb2RlIDEwMDc1NSB0ZXN0cy9ydW4tZGVidWdpbmZvZC1mZC1wcmVmZXRj aC1jYWNoZXMuc2gKIGNyZWF0ZSBtb2RlIDEwMDc1NSB0ZXN0cy9ydW4tZGVidWdpbmZvZC1mZWRl cmF0aW9uLWxpbmsuc2gKIGNyZWF0ZSBtb2RlIDEwMDc1NSB0ZXN0cy9ydW4tZGVidWdpbmZvZC1m ZWRlcmF0aW9uLW1ldHJpY3Muc2gKIGNyZWF0ZSBtb2RlIDEwMDc1NSB0ZXN0cy9ydW4tZGVidWdp bmZvZC1mZWRlcmF0aW9uLXNxbGl0ZS5zaAogY3JlYXRlIG1vZGUgMTAwNzU1IHRlc3RzL3J1bi1k ZWJ1Z2luZm9kLWZpbGUuc2gKIGRlbGV0ZSBtb2RlIDEwMDc1NSB0ZXN0cy9ydW4tZGVidWdpbmZv ZC1maW5kLnNoCiBjcmVhdGUgbW9kZSAxMDA3NTUgdGVzdHMvcnVuLWRlYnVnaW5mb2QtbWFsZm9y bWVkLnNoCiBjcmVhdGUgbW9kZSAxMDA3NTUgdGVzdHMvcnVuLWRlYnVnaW5mb2Qtbm8tdXJscy5z aAogY3JlYXRlIG1vZGUgMTAwNzU1IHRlc3RzL3J1bi1kZWJ1Z2luZm9kLXF1ZXJ5LXJldHJ5LnNo CiBjcmVhdGUgbW9kZSAxMDA3NTUgdGVzdHMvcnVuLWRlYnVnaW5mb2QtcmVnZXguc2gKIGNyZWF0 ZSBtb2RlIDEwMDc1NSB0ZXN0cy9ydW4tZGVidWdpbmZvZC1zaXpldGltZS5zaAogY3JlYXRlIG1v ZGUgMTAwNzU1IHRlc3RzL3J1bi1kZWJ1Z2luZm9kLXRtcC1ob21lLnNoCiBjcmVhdGUgbW9kZSAx MDA3NTUgdGVzdHMvcnVuLWRlYnVnaW5mb2Qtd3JpdGFibGUuc2gKCmRpZmYgLS1naXQgYS9DaGFu Z2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggMTJiOGY0MDMuLjBhZWFjMTc1IDEwMDY0NAotLS0gYS9D aGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNiBAQAorMjAyMS0wOC0yMyAgTm9h aCBTYW5jaSAgPG5zYW5jaUByZWRoYXQuY29tCisJKiBDaGFuZ2VMb2c6IHJlbW92ZWQgLS1zaWdu IGZsYWcgb24gcnBtYnVpbGQKKwogMjAyMS0wNy0yOCAgTWFyayBXaWVsYWFyZCAgPG1hcmtAa2xv bXAub3JnPgogCiAJKiBjb25maWd1cmUuYWMgKEFDX0NIRUNLX0RFQ0xTKTogQWRkIHJlYWxsb2Nh cnJheSBjaGVjay4KZGlmZiAtLWdpdCBhL01ha2VmaWxlLmFtIGIvTWFrZWZpbGUuYW0KaW5kZXgg OWM0N2FmYTkuLjNkZmVmYTlmIDEwMDY0NAotLS0gYS9NYWtlZmlsZS5hbQorKysgYi9NYWtlZmls ZS5hbQpAQCAtNDUsNyArNDUsNyBAQCBkaXN0Y2hlY2staG9vazoKIAljaG1vZCAtUiB1K3cgJChk aXN0ZGlyKQogCiBycG06IGRpc3QKLQlycG1idWlsZCAtdHMgLS1zaWduIGVsZnV0aWxzLUBQQUNL QUdFX1ZFUlNJT05ALnRhci5iejIKKwlycG1idWlsZCAtdHMgZWxmdXRpbHMtQFBBQ0tBR0VfVkVS U0lPTkAudGFyLmJ6MgogCiBpZiBHQ09WCiAKZGlmZiAtLWdpdCBhL3Rlc3RzL0NoYW5nZUxvZyBi L3Rlc3RzL0NoYW5nZUxvZwppbmRleCAzYmZkMWNhMi4uMjJjNTA3NzMgMTAwNjQ0Ci0tLSBhL3Rl c3RzL0NoYW5nZUxvZworKysgYi90ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAy MS0wOC0yMCAgTm9haCBTYW5jaSAgPG5zYW5jaUByZWRoYXQuY29tPgorCisJKiBkZWJ1Z2luZm9k LWZpbmQuc2g6IFNlcGFyYXRlZCBmaWxlIGludG8gCisJcnVuLWRlYnVnaW5mb2QtMDAwLXBlcm1p c3Npb24uc2gsIAorCXJ1bi1kZWJ1Z2luZm9kLWFyY2hpdmUtZ3Jvb20uc2gsCisJcnVuLWRlYnVn aW5mb2QtYXJjaGl2ZS1yZW5hbWUuc2gsCisJcnVuLWRlYnVnaW5mb2QtYXJjaGl2ZS10ZXN0LnNo LAorCXJ1bi1kZWJ1Z2luZm9kLWFydGlmYWN0LXJ1bm5pbmcuc2gsCisJcnVuLWRlYnVnaW5mb2Qt ZGxvcGVuLnNoLAorCXJ1bi1kZWJ1Z2luZm9kLWR1cGxpY2F0ZS11cmxzLnNoLAorCXJ1bi1kZWJ1 Z2luZm9kLWV4dHJhY3Rpb24uc2gsCisJcnVuLWRlYnVnaW5mb2QtZmQtcHJlZmV0Y2gtY2FjaGVz LnNoLAorCXJ1bi1kZWJ1Z2luZm9kLWZlZGVyYXRpb24tbGluay5zaCwKKwlydW4tZGVidWdpbmZv ZC1mZWRlcmF0aW9uLW1ldHJpY3Muc2gsCisJcnVuLWRlYnVnaW5mb2QtZmVkZXJhdGlvbi1zcWxp dGUuc2gsCisJcnVuLWRlYnVnaW5mb2QtZmlsZS5zaCwKKwlydW4tZGVidWdpbmZvZC1tYWxmb3Jt ZWQuc2gsCisJcnVuLWRlYnVnaW5mb2Qtbm8tdXJscy5zaCwKKwlydW4tZGVidWdpbmZvZC1xdWVy eS1yZXRyeS5zaCwKKwlydW4tZGVidWdpbmZvZC1yZWdleC5zaCwKKwlydW4tZGVidWdpbmZvZC1z aXpldGltZS5zaCwKKwlydW4tZGVidWdpbmZvZC10bXAtaG9tZS5zaCwgYW5kCisJcnVuLWRlYnVn aW5mb2Qtd3JpdGFibGUuc2gKKwkqIHRlc3RzL01ha2VmaWxlLmFtOiBBZGRlZCB0aGUgYWJvdmUg bmV3IGZpbGVzIHRvIHRoZSB0ZXN0IHN1aXRlCisJKiB0ZXN0cy90ZXN0LXN1YnIuc2g6IEFkZGVk IHNvbWUgZ2VuZXJhbCBmdW5jdGlvbnMgZm9yIGFib3ZlIHRlc3RzCisKIDIwMjEtMDgtMDQgIE1h cmsgV2llbGFhcmQgIDxtYXJrQGtsb21wLm9yZz4KIAogCVBSMjgxOTAKZGlmZiAtLWdpdCBhL3Rl c3RzL01ha2VmaWxlLmFtIGIvdGVzdHMvTWFrZWZpbGUuYW0KaW5kZXggNDI5NjQ5ZjQuLjQ2ZmZl MzAxIDEwMDY0NAotLS0gYS90ZXN0cy9NYWtlZmlsZS5hbQorKysgYi90ZXN0cy9NYWtlZmlsZS5h bQpAQCAtMjExLDcgKzIxMSwxNiBAQCBpZiBERUJVR0lORk9ECiBjaGVja19QUk9HUkFNUyArPSBk ZWJ1Z2luZm9kX2J1aWxkX2lkX2ZpbmQKICMgV2l0aCB0aGUgZHVtbXkgZGVsZWdhdGlvbiBkb2Vz bid0IHdvcmsKIGlmICFEVU1NWV9MSUJERUJVR0lORk9ECi1URVNUUyArPSBydW4tZGVidWdpbmZv ZC1maW5kLnNoCitURVNUUyArPSBydW4tZGVidWdpbmZvZC1kbG9wZW4uc2ggICAgICAgICAgICAg cnVuLWRlYnVnaW5mb2QtYXJ0aWZhY3QtcnVubmluZy5zaCBcCisgICAgICAgICBydW4tZGVidWdp bmZvZC1mZC1wcmVmZXRjaC1jYWNoZXMuc2ggcnVuLWRlYnVnaW5mb2QtcmVnZXguc2ggXAorICAg ICAgICAgcnVuLWRlYnVnaW5mb2QtZHVwbGljYXRlLXVybHMuc2ggICAgIHJ1bi1kZWJ1Z2luZm9k LWZpbGUuc2ggXAorICAgICAgICAgcnVuLWRlYnVnaW5mb2Qtc2l6ZXRpbWUuc2ggICAgICAgICAg IHJ1bi1kZWJ1Z2luZm9kLW1hbGZvcm1lZC5zaCBcCisgICAgICAgICBydW4tZGVidWdpbmZvZC0w MDAtcGVybWlzc2lvbi5zaCAgICAgcnVuLWRlYnVnaW5mb2QtdG1wLWhvbWUuc2ggXAorICAgICAg ICAgcnVuLWRlYnVnaW5mb2Qtd3JpdGFibGUuc2ggICAgICAgICAgIHJ1bi1kZWJ1Z2luZm9kLW5v LXVybHMuc2ggXAorICAgICAgICAgcnVuLWRlYnVnaW5mb2QtcXVlcnktcmV0cnkuc2ggICAgICAg IHJ1bi1kZWJ1Z2luZm9kLWV4dHJhY3Rpb24uc2ggXAorICAgICAgICAgcnVuLWRlYnVnaW5mb2Qt YXJjaGl2ZS1ncm9vbS5zaCAgICAgIHJ1bi1kZWJ1Z2luZm9kLWFyY2hpdmUtcmVuYW1lLnNoIFwK KyAgICAgICAgIHJ1bi1kZWJ1Z2luZm9kLWFyY2hpdmUtdGVzdC5zaCAgICAgICBydW4tZGVidWdp bmZvZC1mZWRlcmF0aW9uLXNxbGl0ZS5zaCBcCisgICAgICAgICBydW4tZGVidWdpbmZvZC1mZWRl cmF0aW9uLWxpbmsuc2ggICAgcnVuLWRlYnVnaW5mb2QtZmVkZXJhdGlvbi1tZXRyaWNzLnNoIAog ZW5kaWYKIGVuZGlmCiAKQEAgLTQ3NCw4ICs0ODMsMjYgQEAgRVhUUkFfRElTVCA9IHJ1bi1hcmV4 dHJhY3Quc2ggcnVuLWFyc3ltdGVzdC5zaCBydW4tYXIuc2ggXAogCSAgICAgcnVuLWVsZmNsYXNz aWZ5LnNoIHJ1bi1lbGZjbGFzc2lmeS1zZWxmLnNoIFwKIAkgICAgIHJ1bi1kaXNhc20tcmlzY3Y2 NC5zaCBcCiAJICAgICB0ZXN0ZmlsZS1yaXNjdjY0LWRpczEuby5iejIgdGVzdGZpbGUtcmlzY3Y2 NC1kaXMxLmV4cGVjdC5iejIgXAotICAgICAgICAgICAgIHJ1bi1kZWJ1Z2luZm9kLWZpbmQuc2gg XAotCSAgICAgZGVidWdpbmZvZC1ycG1zL2ZlZG9yYTMwL2hlbGxvMi0xLjAtMi5zcmMucnBtIFwK KyAgICAgICAgICAgICBydW4tZGVidWdpbmZvZC1mZC1wcmVmZXRjaC1jYWNoZXMuc2ggXAorICAg ICAgICAgICAgIHJ1bi1kZWJ1Z2luZm9kLXJlZ2V4LnNoIFwKKyAgICAgICAgICAgICBydW4tZGVi dWdpbmZvZC1kdXBsaWNhdGUtdXJscy5zaCBcCisgICAgICAgICAgICAgcnVuLWRlYnVnaW5mb2Qt ZmlsZS5zaCBcCisgICAgICAgICAgICAgcnVuLWRlYnVnaW5mb2Qtc2l6ZXRpbWUuc2ggXAorICAg ICAgICAgICAgIHJ1bi1kZWJ1Z2luZm9kLWRsb3Blbi5zaCBcCisgICAgICAgICAgICAgcnVuLWRl YnVnaW5mb2QtbWFsZm9ybWVkLnNoIFwKKyAgICAgICAgICAgICBydW4tZGVidWdpbmZvZC0wMDAt cGVybWlzc2lvbi5zaCBcCisgICAgICAgICAgICAgcnVuLWRlYnVnaW5mb2QtdG1wLWhvbWUuc2gg XAorICAgICAgICAgICAgIHJ1bi1kZWJ1Z2luZm9kLXdyaXRhYmxlLnNoIFwKKyAgICAgICAgICAg ICBydW4tZGVidWdpbmZvZC1uby11cmxzLnNoIFwKKyAgICAgICAgICAgICBydW4tZGVidWdpbmZv ZC1xdWVyeS1yZXRyeS5zaCBcCisgICAgICAgICAgICAgcnVuLWRlYnVnaW5mb2QtYXJjaGl2ZS1n cm9vbS5zaCBcCisgICAgICAgICAgICAgcnVuLWRlYnVnaW5mb2QtZXh0cmFjdGlvbi5zaCBcCisg ICAgICAgICAgICAgcnVuLWRlYnVnaW5mb2QtYXJjaGl2ZS1yZW5hbWUuc2ggXAorICAgICAgICAg ICAgIHJ1bi1kZWJ1Z2luZm9kLWZlZGVyYXRpb24tbGluay5zaCBcCisgICAgICAgICAgICAgcnVu LWRlYnVnaW5mb2QtZmVkZXJhdGlvbi1tZXRyaWNzLnNoIFwKKyAgICAgICAgICAgICBydW4tZGVi dWdpbmZvZC1hcnRpZmFjdC1ydW5uaW5nLnNoIFwKKyAgICAgICAgICAgICBydW4tZGVidWdpbmZv ZC1mZWRlcmF0aW9uLXNxbGl0ZS5zaCBcCisgICAgICAgICAgICAgZGVidWdpbmZvZC1ycG1zL2Zl ZG9yYTMwL2hlbGxvMi0xLjAtMi5zcmMucnBtIFwKIAkgICAgIGRlYnVnaW5mb2QtcnBtcy9mZWRv cmEzMC9oZWxsbzItMS4wLTIueDg2XzY0LnJwbSBcCiAJICAgICBkZWJ1Z2luZm9kLXJwbXMvZmVk b3JhMzAvaGVsbG8yLWRlYnVnaW5mby0xLjAtMi54ODZfNjQucnBtIFwKIAkgICAgIGRlYnVnaW5m b2QtcnBtcy9mZWRvcmEzMC9oZWxsbzItZGVidWdzb3VyY2UtMS4wLTIueDg2XzY0LnJwbSBcCmRp ZmYgLS1naXQgYS90ZXN0cy9ydW4tZGVidWdpbmZvZC0wMDAtcGVybWlzc2lvbi5zaCBiL3Rlc3Rz L3J1bi1kZWJ1Z2luZm9kLTAwMC1wZXJtaXNzaW9uLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1Cmlu ZGV4IDAwMDAwMDAwLi4zMDhjZGY2ZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3J1bi1kZWJ1 Z2luZm9kLTAwMC1wZXJtaXNzaW9uLnNoCkBAIC0wLDAgKzEsODIgQEAKKyMhL3Vzci9iaW4vZW52 IGJhc2gKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjEgUmVkIEhhdCwgSW5jLgorIyBUaGlz IGZpbGUgaXMgcGFydCBvZiBlbGZ1dGlscy4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdh cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhl IHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkK KyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUg TGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMg ZWxmdXRpbHMgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1 bCwgYnV0CisjIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg d2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB UiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y ZSBkZXRhaWxzLgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElm IG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKworLiAkc3JjZGlyL3Rl c3Qtc3Vici5zaCAgIyBpbmNsdWRlcyBzZXQgLWUKKworIyBmb3IgdGVzdCBjYXNlIGRlYnVnZ2lu ZywgdW5jb21tZW50Ogorc2V0IC14Cit1bnNldCBWQUxHUklORF9DTUQKK0RCPSR7UFdEfS8uZGVi dWdpbmZvZF90bXAuc3FsaXRlCitleHBvcnQgREVCVUdJTkZPRF9DQUNIRV9QQVRIPSR7UFdEfS8u Y2xpZW50X2NhY2hlCitnZXRfcG9ydHMKK2VudiBMRF9MSUJSQVJZX1BBVEg9JGxkcGF0aCBERUJV R0lORk9EX1VSTFM9ICR7YWJzX2J1aWxkZGlyfS8uLi9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QgJFZF UkJPU0UgLUYgLXAgJFBPUlQxIFwKKyAgICAtdDAgLWcwIC12ICR7UFdEfSA+IHZsb2ckUE9SVDEg Mj4mMSAmCitQSUQxPSQhCit0ZW1wZmlsZXMgdmxvZyRQT1JUMQorZXJyZmlsZXMgdmxvZyRQT1JU MQorIyBTZXJ2ZXIgbXVzdCBiZWNvbWUgcmVhZHkKK3dhaXRfcmVhZHkgJFBPUlQxICdyZWFkeScg MQorZXhwb3J0IERFQlVHSU5GT0RfVVJMUz1odHRwOi8vMTI3LjAuMC4xOiRQT1JUMS8gICAjIG9y IHdpdGhvdXQgdHJhaWxpbmcgLworCisjIEJlIHBhdGllbnQgd2hlbiBydW4gb24gYSBidXN5IG1h Y2hpbmUgdGhpbmdzIG1pZ2h0IHRha2UgYSBiaXQuCitleHBvcnQgREVCVUdJTkZPRF9USU1FT1VU PTEwCisKKyMgQ2hlY2sgdGhyZWFkIGNvbW0gbmFtZXMKK3BzIC1xICRQSUQxIC1lIC1MIC1vICcl cCAlYyAlYScgfCBncmVwIGdyb29tCitwcyAtcSAkUElEMSAtZSAtTCAtbyAnJXAgJWMgJWEnIHwg Z3JlcCBzY2FuCitwcyAtcSAkUElEMSAtZSAtTCAtbyAnJXAgJWMgJWEnIHwgZ3JlcCB0cmF2ZXJz ZQorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgUFIyNTYyOAorcm0gLXJmICRERUJVR0lORk9EX0NBQ0hF X1BBVEggIyBjbGVhbiBpdCBmcm9tIHByZXZpb3VzIHRlc3RzCisKKyMgVGhlIHF1ZXJ5IGlzIGRl c2lnbmVkIHRvIGZhaWwsIHdoaWxlIHRoZSAwMDAtcGVybWlzc2lvbiBmaWxlIHNob3VsZCBiZSBj cmVhdGVkLgordGVzdHJ1biAke2Fic190b3BfYnVpbGRkaXJ9L2RlYnVnaW5mb2QvZGVidWdpbmZv ZC1maW5kIGRlYnVnaW5mbyAwMTIzNDU2NyB8fCB0cnVlCitpZiBbICEgLWYgJERFQlVHSU5GT0Rf Q0FDSEVfUEFUSC8wMTIzNDU2Ny9kZWJ1Z2luZm8gXTsgdGhlbgorICBlY2hvICJjb3VsZCBub3Qg ZmluZCBjYWNoZSBpbiAkREVCVUdJTkZPRF9DQUNIRV9QQVRIIgorICBlcnIKK2ZpCisKK2lmIFsg LXIgJERFQlVHSU5GT0RfQ0FDSEVfUEFUSC8wMTIzNDU2Ny9kZWJ1Z2luZm8gXTsgdGhlbgorICBl Y2hvICJUaGUgY2FjaGUgJERFQlVHSU5GT0RfQ0FDSEVfUEFUSC8wMTIzNDU2Ny9kZWJ1Z2luZm8g aXMgcmVhZGFibGUiCisgIGVycgorZmkKKworYnl0ZWNvdW50X2JlZm9yZT1gY3VybCAtcyBodHRw Oi8vMTI3LjAuMC4xOiRQT1JUMS9tZXRyaWNzIHwgZ3JlcCAnaHR0cF9yZXNwb25zZXNfdHJhbnNm ZXJfYnl0ZXNfY291bnR7Y29kZT0iNDA0In0nYAordGVzdHJ1biAke2Fic190b3BfYnVpbGRkaXJ9 L2RlYnVnaW5mb2QvZGVidWdpbmZvZC1maW5kIGRlYnVnaW5mbyAwMTIzNDU2NyB8fCB0cnVlCiti eXRlY291bnRfYWZ0ZXI9YGN1cmwgLXMgaHR0cDovLzEyNy4wLjAuMTokUE9SVDEvbWV0cmljcyB8 IGdyZXAgJ2h0dHBfcmVzcG9uc2VzX3RyYW5zZmVyX2J5dGVzX2NvdW50e2NvZGU9IjQwNCJ9J2AK K2lmIFsgIiRieXRlY291bnRfYmVmb3JlIiAhPSAiJGJ5dGVjb3VudF9hZnRlciIgXTsgdGhlbgor ICBlY2hvICJodHRwX3Jlc3BvbnNlc190cmFuc2Zlcl9ieXRlc19jb3VudHtjb2RlPSI0MDQifSBo YXMgY2hhbmdlZC4iCisgIGVycgorZmkKKworIyBzZXQgY2FjaGVfbWlzc19zIHRvIDAgYW5kIHNs ZWVwIDEgdG8gbWFrZSB0aGUgbXRpbWUgZXhwaXJlLgorZWNobyAwID4gJERFQlVHSU5GT0RfQ0FD SEVfUEFUSC9jYWNoZV9taXNzX3MKK3NsZWVwIDEKK2J5dGVjb3VudF9iZWZvcmU9YGN1cmwgLXMg aHR0cDovLzEyNy4wLjAuMTokUE9SVDEvbWV0cmljcyB8IGdyZXAgJ2h0dHBfcmVzcG9uc2VzX3Ry YW5zZmVyX2J5dGVzX2NvdW50e2NvZGU9IjQwNCJ9J2AKK3Rlc3RydW4gJHthYnNfdG9wX2J1aWxk ZGlyfS9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QtZmluZCBkZWJ1Z2luZm8gMDEyMzQ1NjcgfHwgdHJ1 ZQorYnl0ZWNvdW50X2FmdGVyPWBjdXJsIC1zIGh0dHA6Ly8xMjcuMC4wLjE6JFBPUlQxL21ldHJp Y3MgfCBncmVwICdodHRwX3Jlc3BvbnNlc190cmFuc2Zlcl9ieXRlc19jb3VudHtjb2RlPSI0MDQi fSdgCitpZiBbICIkYnl0ZWNvdW50X2JlZm9yZSIgPT0gIiRieXRlY291bnRfYWZ0ZXIiIF07IHRo ZW4KKyAgZWNobyAiaHR0cF9yZXNwb25zZXNfdHJhbnNmZXJfYnl0ZXNfY291bnR7Y29kZT0iNDA0 In0gc2hvdWxkIGJlIGluY3JlbWVudGVkLiIKKyAgZXJyCitmaQorCitraWxsICRQSUQxCit3YWl0 ICRQSUQxCitQSUQxPTAKK2V4aXQgMApkaWZmIC0tZ2l0IGEvdGVzdHMvcnVuLWRlYnVnaW5mb2Qt YXJjaGl2ZS1ncm9vbS5zaCBiL3Rlc3RzL3J1bi1kZWJ1Z2luZm9kLWFyY2hpdmUtZ3Jvb20uc2gK bmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAuLjlhZmUzMDAwCi0tLSAvZGV2L251 bGwKKysrIGIvdGVzdHMvcnVuLWRlYnVnaW5mb2QtYXJjaGl2ZS1ncm9vbS5zaApAQCAtMCwwICsx LDE1MSBAQAorIyEvdXNyL2Jpbi9lbnYgYmFzaAorIworIyBDb3B5cmlnaHQgKEMpIDIwMTktMjAy MSBSZWQgSGF0LCBJbmMuCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGVsZnV0aWxzLgorIworIyBU aGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y IG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl aXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFu eSBsYXRlciB2ZXJzaW9uLgorIworIyBlbGZ1dGlscyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKKyMgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3Ig RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjIFlvdSBzaG91bGQgaGF2ZSBy ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisjIGFsb25n IHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNl bnNlcy8+LgorCisuICRzcmNkaXIvdGVzdC1zdWJyLnNoICAjIGluY2x1ZGVzIHNldCAtZQorIyBm b3IgdGVzdCBjYXNlIGRlYnVnZ2luZywgdW5jb21tZW50Ogorc2V0IC14Cit1bnNldCBWQUxHUklO RF9DTUQKKworZ2V0X3BvcnRzCitEQj0ke1BXRH0vLmRlYnVnaW5mb2RfdG1wLnNxbGl0ZQorZXhw b3J0IERFQlVHSU5GT0RfQ0FDSEVfUEFUSD0ke1BXRH0vLmNsaWVudF9jYWNoZQorZXhwb3J0IERF QlVHSU5GT0RfVElNRU9VVD0xMAorZXhwb3J0IERFQlVHSU5GT0RfVVJMUz0naHR0cDovLzEyNy4w LjAuMTonJFBPUlQxCisKKyMgQ2xlYW4gb2xkIGRpcmljdG9yaWVzCitta2RpciBSICR7UFdEfS9G CitlbnYgTERfTElCUkFSWV9QQVRIPSRsZHBhdGggJHthYnNfYnVpbGRkaXJ9Ly4uL2RlYnVnaW5m b2QvZGVidWdpbmZvZCAkVkVSQk9TRSBcCisgICAgLUYgLVIgLWQgJERCIC1wICRQT1JUMSAtdDAg LWcwIC12IFIgJHtQV0R9L0YgPiB2bG9nJFBPUlQxIDI+JjEgJgorUElEMT0kIQordGVtcGZpbGVz IHZsb2ckUE9SVDEKK2VycmZpbGVzIHZsb2ckUE9SVDEKKyMgU2VydmVyIG11c3QgYmVjb21lIHJl YWR5Cit3YWl0X3JlYWR5ICRQT1JUMSAncmVhZHknIDEKKyMgQmUgcGF0aWVudCB3aGVuIHJ1biBv biBhIGJ1c3kgbWFjaGluZSB0aGluZ3MgbWlnaHQgdGFrZSBhIGJpdC4KKworIyBDaGVjayB0aHJl YWQgY29tbSBuYW1lcworcHMgLXEgJFBJRDEgLWUgLUwgLW8gJyVwICVjICVhJyB8IGdyZXAgZ3Jv b20KK3BzIC1xICRQSUQxIC1lIC1MIC1vICclcCAlYyAlYScgfCBncmVwIHNjYW4KK3BzIC1xICRQ SUQxIC1lIC1MIC1vICclcCAlYyAlYScgfCBncmVwIHRyYXZlcnNlCisKKyMgQnVpbGQgYSBub24t c3RyaXBwZWQgYmluYXJ5CitlY2hvICJpbnQgbWFpbigpIHsgcmV0dXJuIDA7IH0iID4gJHtQV0R9 L0YvcHJvZy5jCitnY2MgLVdsLC0tYnVpbGQtaWQgLWcgLW8gJHtQV0R9L0YvcHJvZyAke1BXRH0v Ri9wcm9nLmMKK0JVSUxESUQ9YGVudiBMRF9MSUJSQVJZX1BBVEg9JGxkcGF0aCAke2Fic19idWls ZGRpcn0vLi4vc3JjL3JlYWRlbGYgXAorICAgICAgICAgIC1hICR7UFdEfS9GL3Byb2cgfCBncmVw ICdCdWlsZCBJRCcgfCBjdXQgLWQgJyAnIC1mIDdgCit0ZW1wZmlsZXMgJHtQV0R9L0YvcHJvZyAk e1BXRH0vRi9wcm9nLmMKKworY3AgLXJ2cCAke2Fic19zcmNkaXJ9L2RlYnVnaW5mb2QtcnBtcyBS CitpZiBbICIkenN0ZCIgPSAiZmFsc2UiIF07IHRoZW4gICMgbnVrZSB0aGUgenN0ZCBmZWRvcmEg MzEgb25lcworICAgIHJtIC12cmYgUi9kZWJ1Z2luZm9kLXJwbXMvZmVkb3JhMzEKK2ZpCitraWxs IC1VU1IxICRQSUQxCisjIE5vdyB0aGVyZSBzaG91bGQgYmUgMSBmaWxlcyBpbiB0aGUgaW5kZXgK K3dhaXRfcmVhZHkgJFBPUlQxICd0aHJlYWRfd29ya190b3RhbHtyb2xlPSJ0cmF2ZXJzZSJ9JyAx Cit3YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX3dvcmtfcGVuZGluZ3tyb2xlPSJzY2FuIn0nIDAK K3dhaXRfcmVhZHkgJFBPUlQxICd0aHJlYWRfYnVzeXtyb2xlPSJzY2FuIn0nIDAKKworY3AgLXJ2 cCAke2Fic19zcmNkaXJ9L2RlYnVnaW5mb2QtcnBtcyBSCitpZiBbICIkenN0ZCIgPSAiZmFsc2Ui IF07IHRoZW4gICMgbnVrZSB0aGUgenN0ZCBmZWRvcmEgMzEgb25lcworICAgIHJtIC12cmYgUi9k ZWJ1Z2luZm9kLXJwbXMvZmVkb3JhMzEKK2ZpCisKK3RlbXBmaWxlcyB2bG9nMyAkREIKK2NwIC1y dnAgJHthYnNfc3JjZGlyfS9kZWJ1Z2luZm9kLXRhcnMgWgora2lsbCAtVVNSMSAkUElEMQorIyBX YWl0IHRpbGwgYm90aCBmaWxlcyBhcmUgaW4gdGhlIGluZGV4IGFuZCBzY2FuL2luZGV4IGZ1bGx5 IGZpbmlzaGVkCit3YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX3dvcmtfdG90YWx7cm9sZT0idHJh dmVyc2UifScgMgord2FpdF9yZWFkeSAkUE9SVDEgJ3RocmVhZF93b3JrX3BlbmRpbmd7cm9sZT0i c2NhbiJ9JyAwCit3YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX2J1c3l7cm9sZT0ic2NhbiJ9JyAw CisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMKKyMgQWxsIHJwbXMgbmVlZCB0byBiZSBpbiB0aGUgaW5kZXgsIGV4 Y2VwdCB0aGUgZHVtbXkgcGVybWlzc2lvbi0wMDAgb25lCitycG1zPSQoZmluZCBSIC1uYW1lIFwq cnBtIHwgZ3JlcCAtdiBub3RoaW5nIHwgd2MgLWwpCit3YWl0X3JlYWR5ICRQT1JUMSAnc2Nhbm5l ZF9maWxlc190b3RhbHtzb3VyY2U9Ii5ycG0gYXJjaGl2ZSJ9JyAkcnBtcwordHh6PSQoZmluZCBa IC1uYW1lIFwqdGFyLnh6IHwgd2MgLWwpCisKK2tpbGwgLVVTUjEgJFBJRDEgICMgdHdvIGhpdHMg b2YgU0lHVVNSMSBtYXkgYmUgbmVlZGVkIHRvIHJlc29sdmUgLmRlYnVnLT5kd3otPnNyZWZzCisj IFdhaXQgdGlsbCBib3RoIGZpbGVzIGFyZSBpbiB0aGUgaW5kZXggYW5kIHNjYW4vaW5kZXggZnVs bHkgZmluaXNoZWQKK3dhaXRfcmVhZHkgJFBPUlQxICd0aHJlYWRfd29ya190b3RhbHtyb2xlPSJ0 cmF2ZXJzZSJ9JyAzCit3YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX3dvcmtfcGVuZGluZ3tyb2xl PSJzY2FuIn0nIDAKK3dhaXRfcmVhZHkgJFBPUlQxICd0aHJlYWRfYnVzeXtyb2xlPSJzY2FuIn0n IDAKKworIyBFeHBlY3QgYWxsIHNvdXJjZSBmaWxlcyBmb3VuZCBpbiB0aGUgcnBtcyAodGhleSBh cmUgYWxsIGNhbGxlZCBoZWxsby5jIDopCisjIFdlIHdpbGwgbmVlZCB0byBleHRyYWN0IGFsbCBy cG1zIChpbiB0aGVpciBvd24gZGlyZWN0b3J5KSBhbmQgY291bGQgYWxsCisjIHNvdXJjZXMgcmVm ZXJlbmNlZCBpbiB0aGUgLmRlYnVnIGZpbGVzLgorbWtkaXIgZXh0cmFjdGVkCitjZCBleHRyYWN0 ZWQKK3N1YmRpcj0wOworbmV3cnBtcz0kKGZpbmQgLi4vUiAtbmFtZSBcKlwucnBtIHwgZ3JlcCAt diBub3RoaW5nKQorZm9yIGkgaW4gJG5ld3JwbXM7IGRvCisgICAgc3ViZGlyPSRbJHN1YmRpcisx XTsKKyAgICBta2RpciAkc3ViZGlyOworICAgIGNkICRzdWJkaXI7CisgICAgbHMgLWxhaCAuLi8k aQorICAgIHJwbTJjcGlvIC4uLyRpIHwgY3BpbyAtaXZkOworICAgIGNkIC4uOworZG9uZQorc291 cmNlZmlsZXM9JChmaW5kIC1uYW1lIFwqXFwuZGVidWcgXAorICAgICAgICAgICAgICB8IGVudiBM RF9MSUJSQVJZX1BBVEg9JGxkcGF0aCB4YXJncyBcCisgICAgICAgICAgICAgICAgJHthYnNfdG9w X2J1aWxkZGlyfS9zcmMvcmVhZGVsZiAtLWRlYnVnLWR1bXA9ZGVjb2RlZGxpbmUgXAorICAgICAg ICAgICAgICB8IGdyZXAgbXRpbWU6IHwgd2MgLS1saW5lcykKK2NkIC4uCitybSAtcmYgZXh0cmFj dGVkCisKK3dhaXRfcmVhZHkgJFBPUlQxICdmb3VuZF9zb3VyY2VyZWZzX3RvdGFse3NvdXJjZT0i LnJwbSBhcmNoaXZlIn0nICRzb3VyY2VmaWxlcworCisjIGNvbW1vbiBzb3VyY2UgZmlsZSBzaGEx CitTSEE9ZjRhMWE4MDYyYmU5OThhZTkzYjhmMWNkNzQ0YTM5OGM2ZGU2ZGJiMQorIyBmZWRvcmEz MQoraWYgWyAkenN0ZCA9IHRydWUgXTsgdGhlbgorICAgICMgZmVkb3JhMzEgdXNlcyB6c3RkIGNv bXByZXNzaW9uIG9uIHJwbXMsIG9sZGVyIHJwbTJjcGlvL2xpYmFyY2hpdmUgY2FuJ3QgaGFuZGxl IGl0CisgICAgIyBhbmQgd2UncmUgbm90IHVzaW5nIHRoZSBmYW5jeSAtWiAnLnJwbT0ocnBtMmNw aW98enN0ZGNhdCk8JyB3b3JrYXJvdW5kIGluIHRoaXMgdGVzdHN1aXRlCisgICAgYXJjaGl2ZV90 ZXN0IDQyMGU5ZTMzMDg5NzFmNGI4MTdjYzViZjgzOTI4YjQxYTY5MDlkODggL3Vzci9zcmMvZGVi dWcvaGVsbG8zLTEuMC0yLng4Nl82NC9mb29iYXIvLy8vLi8uLi9oZWxsby5jICRTSEEKKyAgICBh cmNoaXZlX3Rlc3QgODdjMDhkMTJjNzgxNzRmMTA4MmI3Yzg4OGIzMjM4MjE5YjBlYjI2NSAvdXNy L3NyYy9kZWJ1Zy9oZWxsbzMtMS4wLTIueDg2XzY0Ly8vZm9vYmFyLy4vLi4vL2hlbGxvLmMgJFNI QQorZmkKKyMgZmVkb3JhMzAKK2FyY2hpdmVfdGVzdCBjMzY3MDhhNzg2MThkNTk3ZGVlMTVkMGRj OTg5ZjA5M2NhNWY5MTIwIC91c3Ivc3JjL2RlYnVnL2hlbGxvMi0xLjAtMi54ODZfNjQvaGVsbG8u YyAkU0hBCithcmNoaXZlX3Rlc3QgNDFhMjM2ZWI2NjdjMzYyYTFjNDE5NjAxOGNjNDU4MWUwOTcy MmIxYiAvdXNyL3NyYy9kZWJ1Zy9oZWxsbzItMS4wLTIueDg2XzY0L2hlbGxvLmMgJFNIQQorIyBy aGVsNworYXJjaGl2ZV90ZXN0IGJjMWZlYmZkMDNjYTA1ZTAzMGYwZDIwNWY3NjU5ZGIyOWY4YTRi MzAgL3Vzci9zcmMvZGVidWcvaGVsbG8tMS4wL2hlbGxvLmMgJFNIQQorYXJjaGl2ZV90ZXN0IGYw YWExNWI4YWJhNGYzYzI4Y2FjM2MyYTczODAxZmVmYTY0NGE5ZjIgL3Vzci9zcmMvZGVidWcvaGVs bG8tMS4wL2hlbGxvLmMgJFNIQQorIyByaGVsNgorYXJjaGl2ZV90ZXN0IGJiYmY5MmViZWU1MjI4 MzEwZTM5ODYwOWMyM2MyZDdkNTNmNmUyZjkgL3Vzci9zcmMvZGVidWcvaGVsbG8tMS4wL2hlbGxv LmMgJFNIQQorYXJjaGl2ZV90ZXN0IGQ0NGQ0MmNiZDdkOTE1YmM5MzhjODEzMzNhMjFlMzU1YTYw MjJmYjcgL3Vzci9zcmMvZGVidWcvaGVsbG8tMS4wL2hlbGxvLmMgJFNIQQorUlBNX0JVSUxESUQ9 ZDQ0ZDQyY2JkN2Q5MTViYzkzOGM4MTMzM2EyMWUzNTVhNjAyMmZiNyAjIGluIHJoZWw2LyBzdWJk aXIKKworIyBEcm9wIHNvbWUgb2YgdGhlIGFydGlmYWN0cywgcnVuIGEgZ3Jvb20gY3ljbGU7IGNv bmZpcm0gdGhhdAorIyBkZWJ1Z2luZm9kIGhhcyBmb3Jnb3R0ZW4gdGhlbSwgYnV0IHJlbWVtYmVy cyBvdGhlcnMKK3JtIC1yIFIvZGVidWdpbmZvZC1ycG1zL3JoZWw2LyoKK2tpbGwgLVVTUjIgJFBJ RDEgICMgZ3Jvb20gY3ljbGUKKyMjIDEgZ3Jvb20gY3ljbGUgYWxyZWFkeSB0b29rIHBsYWNlIGF0 L3Nvb24tYWZ0ZXIgc3RhcnR1cCwgc28gLVVTUjIgbWFrZXMgMgord2FpdF9yZWFkeSAkUE9SVDEg J3RocmVhZF93b3JrX3RvdGFse3JvbGU9Imdyb29tIn0nIDEKKyMgRXhwZWN0IDQgcnBtcyBjb250 YWluaW5nIDIgYnVpbGRpZHMgdG8gYmUgZGVsZXRlZCBieSB0aGUgZ3Jvb20KK3dhaXRfcmVhZHkg JFBPUlQxICdncm9vbWVkX3RvdGFse2RlY2lzaW9uPSJzdGFsZSJ9JyA0CisKK3JtIC1yZiAkREVC VUdJTkZPRF9DQUNIRV9QQVRIICMgY2xlYW4gaXQgZnJvbSBwcmV2aW91cyB0ZXN0cworCisjIHRo aXMgaXMgb25lIG9mIHRoZSBidWlsZGlkcyBmcm9tIHRoZSBncm9vbS1kZWxldGVkIHJwbXMKK3Rl c3RydW4gJHthYnNfdG9wX2J1aWxkZGlyfS9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QtZmluZCBleGVj dXRhYmxlICRSUE1fQlVJTERJRCAmJiBmYWxzZSB8fCB0cnVlCisKKyMgYnV0IHRoaXMgb25lIHdh cyBub3QgZGVsZXRlZCBzbyBzaG91bGQgYmUgc3RpbGwgYXJvdW5kCit0ZXN0cnVuICR7YWJzX3Rv cF9idWlsZGRpcn0vZGVidWdpbmZvZC9kZWJ1Z2luZm9kLWZpbmQgZXhlY3V0YWJsZSAkQlVJTERJ RCB8fCB0cnVlCisKK2tpbGwgJFBJRDEKK3dhaXQgJFBJRDEKK1BJRDE9MAorZXhpdCAwCmRpZmYg LS1naXQgYS90ZXN0cy9ydW4tZGVidWdpbmZvZC1hcmNoaXZlLXJlbmFtZS5zaCBiL3Rlc3RzL3J1 bi1kZWJ1Z2luZm9kLWFyY2hpdmUtcmVuYW1lLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4 IDAwMDAwMDAwLi4zODE0M2M0NgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3J1bi1kZWJ1Z2lu Zm9kLWFyY2hpdmUtcmVuYW1lLnNoCkBAIC0wLDAgKzEsOTMgQEAKKyMhL3Vzci9iaW4vZW52IGJh c2gKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjEgUmVkIEhhdCwgSW5jLgorIyBUaGlzIGZp bGUgaXMgcGFydCBvZiBlbGZ1dGlscy4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7 IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMg dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGlj ZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgZWxm dXRpbHMgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwg YnV0CisjIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy cmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ VVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk ZXRhaWxzLgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZQorIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5v dCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKworLiAkc3JjZGlyL3Rlc3Qt c3Vici5zaCAgIyBpbmNsdWRlcyBzZXQgLWUKKyMgZm9yIHRlc3QgY2FzZSBkZWJ1Z2dpbmcsIHVu Y29tbWVudDoKK3NldCAteAordW5zZXQgVkFMR1JJTkRfQ01ECisKK2dldF9wb3J0cworREI9JHtQ V0R9Ly5kZWJ1Z2luZm9kX3RtcC5zcWxpdGUKK2V4cG9ydCBERUJVR0lORk9EX0NBQ0hFX1BBVEg9 JHtQV0R9Ly5jbGllbnRfY2FjaGUKK2V4cG9ydCBERUJVR0lORk9EX1RJTUVPVVQ9MTAKK2V4cG9y dCBERUJVR0lORk9EX1VSTFM9J2h0dHA6Ly8xMjcuMC4wLjE6JyRQT1JUMQordGVtcGZpbGVzICRE RUJVR0lORk9EX0NBQ0hFX1BBVEggJERCCisjIENsZWFuIG9sZCBkaXJpY3RvcmllcworbWtkaXIg UiAke1BXRH0vRgorZW52IExEX0xJQlJBUllfUEFUSD0kbGRwYXRoICR7YWJzX2J1aWxkZGlyfS8u Li9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QgJFZFUkJPU0UgXAorICAgIC1GIC1SIC1kICREQiAtcCAk UE9SVDEgLXQwIC1nMCAtdiBSICR7UFdEfS9GID4gdmxvZyRQT1JUMSAyPiYxICYKKworUElEMT0k IQordGVtcGZpbGVzIHZsb2ckUE9SVDEKK2VycmZpbGVzIHZsb2ckUE9SVDEKKyMgU2VydmVyIG11 c3QgYmVjb21lIHJlYWR5Cit3YWl0X3JlYWR5ICRQT1JUMSAncmVhZHknIDEKKyMgQ2hlY2sgdGhy ZWFkIGNvbW0gbmFtZXMKK3BzIC1xICRQSUQxIC1lIC1MIC1vICclcCAlYyAlYScgfCBncmVwIGdy b29tCitwcyAtcSAkUElEMSAtZSAtTCAtbyAnJXAgJWMgJWEnIHwgZ3JlcCBzY2FuCitwcyAtcSAk UElEMSAtZSAtTCAtbyAnJXAgJWMgJWEnIHwgZ3JlcCB0cmF2ZXJzZQorCitjcCAtcnZwICR7YWJz X3NyY2Rpcn0vZGVidWdpbmZvZC1ycG1zIFIKK2lmIFsgIiR6c3RkIiA9ICJmYWxzZSIgXTsgdGhl biAgIyBudWtlIHRoZSB6c3RkIGZlZG9yYSAzMSBvbmVzCisgICAgcm0gLXZyZiBSL2RlYnVnaW5m b2QtcnBtcy9mZWRvcmEzMQorZmkKKwora2lsbCAtVVNSMSAkUElEMQorIyBOb3cgdGhlcmUgc2hv dWxkIGJlIDEgZmlsZXMgaW4gdGhlIGluZGV4Cit3YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX3dv cmtfdG90YWx7cm9sZT0idHJhdmVyc2UifScgMQord2FpdF9yZWFkeSAkUE9SVDEgJ3RocmVhZF93 b3JrX3BlbmRpbmd7cm9sZT0ic2NhbiJ9JyAwCit3YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX2J1 c3l7cm9sZT0ic2NhbiJ9JyAwCisKKyMgY29tbW9uIHNvdXJjZSBmaWxlIHNoYTEKK1NIQT1mNGEx YTgwNjJiZTk5OGFlOTNiOGYxY2Q3NDRhMzk4YzZkZTZkYmIxCisKKyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwor IyMgUFIyNjgxMDogTm93IHJlbmFtZSBzb21lIGZpbGVzIGluIHRoZSBSIGRpcmVjdG9yeSwgdGhl biByZXNjYW4sIHNvCisjIHRoZXJlIGFyZSB0d28gY29waWVzIG9mIHRoZSBzYW1lIGJ1aWxkaWQg aW4gdGhlIGluZGV4LCBvbmUgZm9yIHRoZQorIyBuby1sb25nZXItZXhpc3RpbmcgZmlsZSBuYW1l LCBhbmQgb25lIHVuZGVyIHRoZSBuZXcgbmFtZS4KKworIyBydW4gYSBncm9vbSBjeWNsZSB0byBm b3JjZSBzZXJ2ZXIgdG8gZHJvcCBpdHMgZmRjYWNoZQora2lsbCAtVVNSMiAkUElEMSAgIyBncm9v bSBjeWNsZQord2FpdF9yZWFkeSAkUE9SVDEgJ3RocmVhZF93b3JrX3RvdGFse3JvbGU9Imdyb29t In0nIDIKKyMgbW92ZSBpdCBhcm91bmQgYSBjb3VwbGUgb2YgdGltZXMgdG8gbWFrZSBpdCBsaWtl bHkgdG8gaGl0IGEgbm9uZXhpc3RlbnQgZW50cnkgZHVyaW5nIGl0ZXJhdGlvbgorbXYgUi9kZWJ1 Z2luZm9kLXJwbXMvcmhlbDcgUi9kZWJ1Z2luZm9kLXJwbXMvcmhlbDdyZW5hbWVkCitraWxsIC1V U1IxICRQSUQxICAjIHNjYW4gY3ljbGUKK3dhaXRfcmVhZHkgJFBPUlQxICd0aHJlYWRfd29ya190 b3RhbHtyb2xlPSJ0cmF2ZXJzZSJ9JyAyCit3YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX3dvcmtf cGVuZGluZ3tyb2xlPSJzY2FuIn0nIDAKK3dhaXRfcmVhZHkgJFBPUlQxICd0aHJlYWRfYnVzeXty b2xlPSJzY2FuIn0nIDAKK212IFIvZGVidWdpbmZvZC1ycG1zL3JoZWw3cmVuYW1lZCBSL2RlYnVn aW5mb2QtcnBtcy9yaGVsN3JlbmFtZWQyCitraWxsIC1VU1IxICRQSUQxICAjIHNjYW4gY3ljbGUK K3dhaXRfcmVhZHkgJFBPUlQxICd0aHJlYWRfd29ya190b3RhbHtyb2xlPSJ0cmF2ZXJzZSJ9JyAz Cit3YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX3dvcmtfcGVuZGluZ3tyb2xlPSJzY2FuIn0nIDAK K3dhaXRfcmVhZHkgJFBPUlQxICd0aHJlYWRfYnVzeXtyb2xlPSJzY2FuIn0nIDAKK212IFIvZGVi dWdpbmZvZC1ycG1zL3JoZWw3cmVuYW1lZDIgUi9kZWJ1Z2luZm9kLXJwbXMvcmhlbDdyZW5hbWVk Mwora2lsbCAtVVNSMSAkUElEMSAgIyBzY2FuIGN5Y2xlCit3YWl0X3JlYWR5ICRQT1JUMSAndGhy ZWFkX3dvcmtfdG90YWx7cm9sZT0idHJhdmVyc2UifScgNAord2FpdF9yZWFkeSAkUE9SVDEgJ3Ro cmVhZF93b3JrX3BlbmRpbmd7cm9sZT0ic2NhbiJ9JyAwCit3YWl0X3JlYWR5ICRQT1JUMSAndGhy ZWFkX2J1c3l7cm9sZT0ic2NhbiJ9JyAwCisKKyMgcmV0ZXN0IHJoZWw3CithcmNoaXZlX3Rlc3Qg YmMxZmViZmQwM2NhMDVlMDMwZjBkMjA1Zjc2NTlkYjI5ZjhhNGIzMCAvdXNyL3NyYy9kZWJ1Zy9o ZWxsby0xLjAvaGVsbG8uYyAkU0hBCithcmNoaXZlX3Rlc3QgZjBhYTE1YjhhYmE0ZjNjMjhjYWMz YzJhNzM4MDFmZWZhNjQ0YTlmMiAvdXNyL3NyYy9kZWJ1Zy9oZWxsby0xLjAvaGVsbG8uYyAkU0hB CisKK2VncmVwICcobGliYy5lcnJvci4qcmhlbDcpfChiYzFmZWJmZDAzY2EpfChmMGFhMTViOGFi YSknIHZsb2ckUE9SVDEKKwora2lsbCAkUElEMQord2FpdCAkUElEMQorUElEMT0wCitleGl0IDA7 CmRpZmYgLS1naXQgYS90ZXN0cy9ydW4tZGVidWdpbmZvZC1hcmNoaXZlLXRlc3Quc2ggYi90ZXN0 cy9ydW4tZGVidWdpbmZvZC1hcmNoaXZlLXRlc3Quc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5k ZXggMDAwMDAwMDAuLmNjNzZiNmExCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvcnVuLWRlYnVn aW5mb2QtYXJjaGl2ZS10ZXN0LnNoCkBAIC0wLDAgKzEsODEgQEAKKyMhL3Vzci9iaW4vZW52IGJh c2gKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjEgUmVkIEhhdCwgSW5jLgorIyBUaGlzIGZp bGUgaXMgcGFydCBvZiBlbGZ1dGlscy4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7 IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMg dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGlj ZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgZWxm dXRpbHMgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwg YnV0CisjIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy cmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ VVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk ZXRhaWxzLgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZQorIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5v dCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKworLiAkc3JjZGlyL3Rlc3Qt c3Vici5zaCAgIyBpbmNsdWRlcyBzZXQgLWUKKworIyBmb3IgdGVzdCBjYXNlIGRlYnVnZ2luZywg dW5jb21tZW50Ogorc2V0IC14Cit1bnNldCBWQUxHUklORF9DTUQKKworIyBmaW5kIGFuIHVudXNl ZCBwb3J0IG51bWJlcgorbWtkaXIgUgorCitnZXRfcG9ydHMKKworZW52IExEX0xJQlJBUllfUEFU SD0kbGRwYXRoICR7YWJzX2J1aWxkZGlyfS8uLi9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QgJFZFUkJP U0UgLVIgLXAgJFBPUlQxIC10MCAtZzAgLXYgUiA+IHZsb2ckUE9SVDEgMj4mMSAmCitQSUQxPSQh Cit0ZW1wZmlsZXMgdmxvZyRQT1JUMQorZXJyZmlsZXMgdmxvZyRQT1JUMQorIyBTZXJ2ZXIgbXVz dCBiZWNvbWUgcmVhZHkKK3dhaXRfcmVhZHkgJFBPUlQxICdyZWFkeScgMQorCisjIEJlIHBhdGll bnQgd2hlbiBydW4gb24gYSBidXN5IG1hY2hpbmUgdGhpbmdzIG1pZ2h0IHRha2UgYSBiaXQuCitl eHBvcnQgREVCVUdJTkZPRF9USU1FT1VUPTEwCitleHBvcnQgREVCVUdJTkZPRF9VUkxTPSdodHRw Oi8vMTI3LjAuMC4xOickUE9SVDEKKworIyBDaGVjayB0aHJlYWQgY29tbSBuYW1lcworcHMgLXEg JFBJRDEgLWUgLUwgLW8gJyVwICVjICVhJyB8IGdyZXAgZ3Jvb20KK3BzIC1xICRQSUQxIC1lIC1M IC1vICclcCAlYyAlYScgfCBncmVwIHNjYW4KK3BzIC1xICRQSUQxIC1lIC1MIC1vICclcCAlYyAl YScgfCBncmVwIHRyYXZlcnNlCisKK2NwIC1ydnAgJHthYnNfc3JjZGlyfS9kZWJ1Z2luZm9kLXJw bXMgUgoraWYgWyAiJHpzdGQiID0gImZhbHNlIiBdOyB0aGVuICAjIG51a2UgdGhlIHpzdGQgZmVk b3JhIDMxIG9uZXMKKyAgICBybSAtdnJmIFIvZGVidWdpbmZvZC1ycG1zL2ZlZG9yYTMxCitmaQor CitraWxsIC1VU1IxICRQSUQxCisjIFdhaXQgdGlsbCBib3RoIGZpbGVzIGFyZSBpbiB0aGUgaW5k ZXggYW5kIHNjYW4vaW5kZXggZnVsbHkgZmluaXNoZWQKK3dhaXRfcmVhZHkgJFBPUlQxICd0aHJl YWRfd29ya190b3RhbHtyb2xlPSJ0cmF2ZXJzZSJ9JyAxCit3YWl0X3JlYWR5ICRQT1JUMSAndGhy ZWFkX3dvcmtfcGVuZGluZ3tyb2xlPSJzY2FuIn0nIDAKK3dhaXRfcmVhZHkgJFBPUlQxICd0aHJl YWRfYnVzeXtyb2xlPSJzY2FuIn0nIDAKKworIyBjb21tb24gc291cmNlIGZpbGUgc2hhMQorU0hB PWY0YTFhODA2MmJlOTk4YWU5M2I4ZjFjZDc0NGEzOThjNmRlNmRiYjEKKyMgZmVkb3JhMzEKK2lm IFsgJHpzdGQgPSB0cnVlIF07IHRoZW4KKyAgICAjIGZlZG9yYTMxIHVzZXMgenN0ZCBjb21wcmVz c2lvbiBvbiBycG1zLCBvbGRlciBycG0yY3Bpby9saWJhcmNoaXZlIGNhbid0IGhhbmRsZSBpdAor ICAgICMgYW5kIHdlJ3JlIG5vdCB1c2luZyB0aGUgZmFuY3kgLVogJy5ycG09KHJwbTJjcGlvfHpz dGRjYXQpPCcgd29ya2Fyb3VuZCBpbiB0aGlzIHRlc3RzdWl0ZQorICAgIGFyY2hpdmVfdGVzdCA0 MjBlOWUzMzA4OTcxZjRiODE3Y2M1YmY4MzkyOGI0MWE2OTA5ZDg4IC91c3Ivc3JjL2RlYnVnL2hl bGxvMy0xLjAtMi54ODZfNjQvZm9vYmFyLy8vLy4vLi4vaGVsbG8uYyAkU0hBCisgICAgYXJjaGl2 ZV90ZXN0IDg3YzA4ZDEyYzc4MTc0ZjEwODJiN2M4ODhiMzIzODIxOWIwZWIyNjUgL3Vzci9zcmMv ZGVidWcvaGVsbG8zLTEuMC0yLng4Nl82NC8vL2Zvb2Jhci8uLy4uLy9oZWxsby5jICRTSEEKK2Zp CisjIGZlZG9yYTMwCithcmNoaXZlX3Rlc3QgYzM2NzA4YTc4NjE4ZDU5N2RlZTE1ZDBkYzk4OWYw OTNjYTVmOTEyMCAvdXNyL3NyYy9kZWJ1Zy9oZWxsbzItMS4wLTIueDg2XzY0L2hlbGxvLmMgJFNI QQorYXJjaGl2ZV90ZXN0IDQxYTIzNmViNjY3YzM2MmExYzQxOTYwMThjYzQ1ODFlMDk3MjJiMWIg L3Vzci9zcmMvZGVidWcvaGVsbG8yLTEuMC0yLng4Nl82NC9oZWxsby5jICRTSEEKKyMgcmhlbDcK K2FyY2hpdmVfdGVzdCBiYzFmZWJmZDAzY2EwNWUwMzBmMGQyMDVmNzY1OWRiMjlmOGE0YjMwIC91 c3Ivc3JjL2RlYnVnL2hlbGxvLTEuMC9oZWxsby5jICRTSEEKK2FyY2hpdmVfdGVzdCBmMGFhMTVi OGFiYTRmM2MyOGNhYzNjMmE3MzgwMWZlZmE2NDRhOWYyIC91c3Ivc3JjL2RlYnVnL2hlbGxvLTEu MC9oZWxsby5jICRTSEEKKyMgcmhlbDYKK2FyY2hpdmVfdGVzdCBiYmJmOTJlYmVlNTIyODMxMGUz OTg2MDljMjNjMmQ3ZDUzZjZlMmY5IC91c3Ivc3JjL2RlYnVnL2hlbGxvLTEuMC9oZWxsby5jICRT SEEKK2FyY2hpdmVfdGVzdCBkNDRkNDJjYmQ3ZDkxNWJjOTM4YzgxMzMzYTIxZTM1NWE2MDIyZmI3 IC91c3Ivc3JjL2RlYnVnL2hlbGxvLTEuMC9oZWxsby5jICRTSEEKKyMgYXJjaAorI2FyY2hpdmVf dGVzdCBjZWUxM2IyZWE1MDVhN2YzN2JkMjBkMjcxYzZiYzdlNWY4ZDJkZmNiIC91c3Ivc3JjL2Rl YnVnL2hlbGxvLmMgN2ExMzM0ZTA4NmI5N2U1ZjEyNDAwM2E2Y2ZiM2VkNzkyZDEwY2RmNAorCitr aWxsICRQSUQxCit3YWl0ICRQSUQxCitQSUQxPTAKK2V4aXQgMApkaWZmIC0tZ2l0IGEvdGVzdHMv cnVuLWRlYnVnaW5mb2QtYXJ0aWZhY3QtcnVubmluZy5zaCBiL3Rlc3RzL3J1bi1kZWJ1Z2luZm9k LWFydGlmYWN0LXJ1bm5pbmcuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAu Ljk1YWUwYTNjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvcnVuLWRlYnVnaW5mb2QtYXJ0aWZh Y3QtcnVubmluZy5zaApAQCAtMCwwICsxLDEyMCBAQAorIyEvdXNyL2Jpbi9lbnYgYmFzaAorIwor IyBDb3B5cmlnaHQgKEMpIDIwMTktMjAyMSBSZWQgSGF0LCBJbmMuCisjIFRoaXMgZmlsZSBpcyBw YXJ0IG9mIGVsZnV0aWxzLgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBv cgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBlbGZ1dGlscyBp cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKKyMg V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv ZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu ICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu CisjCisjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlCisjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUg PGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorCisuICRzcmNkaXIvdGVzdC1zdWJyLnNo ICAjIGluY2x1ZGVzIHNldCAtZQorCisjIGZvciB0ZXN0IGNhc2UgZGVidWdnaW5nLCB1bmNvbW1l bnQ6CitzZXQgLXgKK3Vuc2V0IFZBTEdSSU5EX0NNRAorCitnZXRfcG9ydHMKK21rZGlyIEYKKwor 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 ZW4uc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAuLmU4N2ViNWUyCi0tLSAv ZGV2L251bGwKKysrIGIvdGVzdHMvcnVuLWRlYnVnaW5mb2QtZGxvcGVuLnNoCkBAIC0wLDAgKzEs ODEgQEAKKyMhL3Vzci9iaW4vZW52IGJhc2gKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjEg UmVkIEhhdCwgSW5jLgorIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBlbGZ1dGlscy4KKyMKKyMgVGhp cyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBt b2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0 aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkg bGF0ZXIgdmVyc2lvbi4KKyMKKyMgZWxmdXRpbHMgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CisjIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVj ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorIyBhbG9uZyB3 aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5z ZXMvPi4KKworLiAkc3JjZGlyL3Rlc3Qtc3Vici5zaCAgIyBpbmNsdWRlcyBzZXQgLWUKKworIyBm b3IgdGVzdCBjYXNlIGRlYnVnZ2luZywgdW5jb21tZW50Ogorc2V0IC14Cit1bnNldCBWQUxHUklO RF9DTUQKKworbWtkaXIgRgorZ2V0X3BvcnRzCitlbnYgTERfTElCUkFSWV9QQVRIPSRsZHBhdGgg REVCVUdJTkZPRF9VUkxTPSAke2Fic19idWlsZGRpcn0vLi4vZGVidWdpbmZvZC9kZWJ1Z2luZm9k IC1GIC1SICRWRVJCT1NFIC1wICRQT1JUMSBcCisgICAgLXQwIC1nMCAtdiBGID4gdmxvZyRQT1JU MSAyPiYxICYKK1BJRDE9JCEKK3RlbXBmaWxlcyB2bG9nJFBPUlQxCitlcnJmaWxlcyB2bG9nJFBP UlQxCisKKyMgU2VydmVyIG11c3QgYmVjb21lIHJlYWR5Cit3YWl0X3JlYWR5ICRQT1JUMSAncmVh ZHknIDEKK2V4cG9ydCBERUJVR0lORk9EX1VSTFM9aHR0cDovLzEyNy4wLjAuMTokUE9SVDEvICAg IyBvciB3aXRob3V0IHRyYWlsaW5nIC8KKworIyBCZSBwYXRpZW50IHdoZW4gcnVuIG9uIGEgYnVz eSBtYWNoaW5lIHRoaW5ncyBtaWdodCB0YWtlIGEgYml0LgorZXhwb3J0IERFQlVHSU5GT0RfVElN RU9VVD0xMAorCisjIENoZWNrIHRocmVhZCBjb21tIG5hbWVzCitwcyAtcSAkUElEMSAtZSAtTCAt byAnJXAgJWMgJWEnIAorcHMgLXEgJFBJRDEgLWUgLUwgLW8gJyVwICVjICVhJyB8IGdyZXAgZ3Jv b20KK3BzIC1xICRQSUQxIC1lIC1MIC1vICclcCAlYyAlYScgfCBncmVwIHNjYW4KK3BzIC1xICRQ SUQxIC1lIC1MIC1vICclcCAlYyAlYScgfCBncmVwIHRyYXZlcnNlCisKKyMgV2UgdXNlIC10MCBh bmQgLWcwIGhlcmUgdG8gdHVybiBvZmYgdGltZS1iYXNlZCBzY2FubmluZyAmIGdyb29taW5nLgor IyBGb3IgdGVzdGluZyBwdXJwb3Nlcywgd2UganVzdCBzaWMgU0lHVVNSMSAvIFNJR1VTUjIgYXQg dGhlIHByb2Nlc3MuCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCisjIENvbXBpbGUgYSBzaW1wbGUgcHJv Z3JhbSwgc3RyaXAgaXRzIGRlYnVnaW5mbyBhbmQgc2F2ZSB0aGUgYnVpbGQtaWQuCisjIEFsc28g bW92ZSB0aGUgZGVidWdpbmZvIGludG8gYW5vdGhlciBkaXJlY3Rvcnkgc28gdGhhdCBlbGZ1dGls cworIyBjYW5ub3QgZmluZCBpdCB3aXRob3V0IGRlYnVnaW5mb2QuCitlY2hvICJpbnQgbWFpbigp IHsgcmV0dXJuIDA7IH0iID4gJHtQV0R9L3ArciVvXCRnLmMKK3RlbXBmaWxlcyBwK3Ilb1wkZy5j CisjIENyZWF0ZSBhIHN1YmRpcmVjdG9yeSB0byBjb25mb3VuZCBzb3VyY2UgcGF0aCBuYW1lcwor bWtkaXIgZm9vYmFyCitnY2MgLVdsLC0tYnVpbGQtaWQgLWcgLW8gcCtyJW9cJGcgJHtQV0R9L2Zv b2Jhci8vLy4vLi4vcCtyJW9cJGcuYwordGVzdHJ1biAke2Fic190b3BfYnVpbGRkaXJ9L3NyYy9z dHJpcCAtZyAtZiBwK3Ilb1wkZy5kZWJ1ZyAke1BXRH0vcCtyJW9cJGcKK0JVSUxESUQ9YGVudiBM RF9MSUJSQVJZX1BBVEg9JGxkcGF0aCAke2Fic19idWlsZGRpcn0vLi4vc3JjL3JlYWRlbGYgXAor ICAgICAgICAgIC1hIHArciVvXFwkZyB8IGdyZXAgJ0J1aWxkIElEJyB8IGN1dCAtZCAnICcgLWYg N2AKKworbXYgcCtyJW9cJGcgRgorbXYgcCtyJW9cJGcuZGVidWcgRgora2lsbCAtVVNSMSAkUElE MQorIyBXYWl0IHRpbGwgYm90aCBmaWxlcyBhcmUgaW4gdGhlIGluZGV4Lgord2FpdF9yZWFkeSAk UE9SVDEgJ3RocmVhZF93b3JrX3RvdGFse3JvbGU9InRyYXZlcnNlIn0nIDEKK3dhaXRfcmVhZHkg JFBPUlQxICd0aHJlYWRfd29ya19wZW5kaW5ne3JvbGU9InNjYW4ifScgMAord2FpdF9yZWFkeSAk UE9SVDEgJ3RocmVhZF9idXN5e3JvbGU9InNjYW4ifScgMAorCisjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKwor IyBUZXN0IHdoZXRoZXIgZWxmdXRpbHMsIHZpYSB0aGUgZGVidWdpbmZvZCBjbGllbnQgbGlicmFy eSBkbG9wZW4gaG9va3MsCisjIGlzIGFibGUgdG8gZmV0Y2ggZGVidWdpbmZvIGZyb20gdGhlIGxv Y2FsIGRlYnVnaW5mb2QuCit0ZXN0cnVuICR7YWJzX2J1aWxkZGlyfS9kZWJ1Z2luZm9kX2J1aWxk X2lkX2ZpbmQgLWUgRi9wK3Ilb1wkZyAxCisKK2tpbGwgJFBJRDEKK3dhaXQgJFBJRDEKK1BJRDE9 MAorCitleGl0IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL3J1bi1kZWJ1Z2luZm9kLWR1cGxpY2F0ZS11 cmxzLnNoIGIvdGVzdHMvcnVuLWRlYnVnaW5mb2QtZHVwbGljYXRlLXVybHMuc2gKbmV3IGZpbGUg bW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAuLjVlY2JiMjA2Ci0tLSAvZGV2L251bGwKKysrIGIv dGVzdHMvcnVuLWRlYnVnaW5mb2QtZHVwbGljYXRlLXVybHMuc2gKQEAgLTAsMCArMSw0OSBAQAor IyEvdXNyL2Jpbi9lbnYgYmFzaAorIworIyBDb3B5cmlnaHQgKEMpIDIwMTktMjAyMSBSZWQgSGF0 LCBJbmMuCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGVsZnV0aWxzLgorIworIyBUaGlzIGZpbGUg aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQor IyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFz IHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVy c2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2 ZXJzaW9uLgorIworIyBlbGZ1dGlscyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0 IHdpbGwgYmUgdXNlZnVsLCBidXQKKyMgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh IGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisjIGFsb25nIHdpdGggdGhp cyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+Lgor CisuICRzcmNkaXIvdGVzdC1zdWJyLnNoICAjIGluY2x1ZGVzIHNldCAtZQorIyBmb3IgdGVzdCBj YXNlIGRlYnVnZ2luZywgdW5jb21tZW50Ogorc2V0IC14Cit1bnNldCBWQUxHUklORF9DTUQKKwor Z2V0X3BvcnRzCisKK2VudiBMRF9MSUJSQVJZX1BBVEg9JGxkcGF0aCAke2Fic19idWlsZGRpcn0v Li4vZGVidWdpbmZvZC9kZWJ1Z2luZm9kIFwKKyAgICAkVkVSQk9TRSAtRiAtcCAkUE9SVDEgLXQw IC1nMCAtZCAke0RCfSBGID4gdmxvZyRQT1JUMSAyPiYxICYKK1BJRDE9JCEKK3RlbXBmaWxlcyB2 bG9nJFBPUlQxCitlcnJmaWxlcyB2bG9nJFBPUlQxCit3YWl0X3JlYWR5ICRQT1JUMSAncmVhZHkn IDEKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIyBQUjI3OTgzIAorIyBFbnN1cmUgbm8gZHVwbGljYXRl IHVybHMgYXJlIHVzZWQgaW4gd2hlbiBxdWVyeWluZyBzZXJ2ZXJzIGZvciBmaWxlcworcm0gLXJm ICRERUJVR0lORk9EX0NBQ0hFX1BBVEggIyBjbGVhbiBpdCBmcm9tIHByZXZpb3VzIHRlc3RzCitl bnYgREVCVUdJTkZPRF9VUkxTPSJodHRwOi8vMTI3LjAuMC4xOiRQT1JUMSBodHRwOi8vMTI3LjAu MC4xOiRQT1JUMSBodHRwOi8vMTI3LjAuMC4xOiRQT1JUMSBodHRwOi8vMTI3LjAuMC4xOjc5OTki IFwKKyBMRF9MSUJSQVJZX1BBVEg9JGxkcGF0aCAke2Fic190b3BfYnVpbGRkaXJ9L2RlYnVnaW5m b2QvZGVidWdpbmZvZC1maW5kIC12dnYgZXhlY3V0YWJsZSAwID4gdmxvZzEgMj4mMSB8fCB0cnVl Cit0ZW1wZmlsZXMgdmxvZzEKK2NhdCB2bG9nMQoraWYgWyAkKCBncmVwIC1jICdkdXBsaWNhdGUg dXJsOiBodHRwOi8vMTI3LjAuMC4xOickUE9SVDEnLionIHZsb2cxICkgLW5lIDIgXTsgdGhlbgor ICBlY2hvICJEdXBsaWNhdGUgc2VydmVycyByZW1haW4iOworICBlcnIKK2ZpCisKK2tpbGwgJFBJ RDEKK3dhaXQgJFBJRDEKK1BJRDE9MAorZXhpdCAwCmRpZmYgLS1naXQgYS90ZXN0cy9ydW4tZGVi dWdpbmZvZC1leHRyYWN0aW9uLnNoIGIvdGVzdHMvcnVuLWRlYnVnaW5mb2QtZXh0cmFjdGlvbi5z aApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMC4uYzlkM2IwNTMKLS0tIC9kZXYv bnVsbAorKysgYi90ZXN0cy9ydW4tZGVidWdpbmZvZC1leHRyYWN0aW9uLnNoCkBAIC0wLDAgKzEs OTkgQEAKKyMhL3Vzci9iaW4vZW52IGJhc2gKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjEg UmVkIEhhdCwgSW5jLgorIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBlbGZ1dGlscy4KKyMKKyMgVGhp cyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBt b2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0 aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkg bGF0ZXIgdmVyc2lvbi4KKyMKKyMgZWxmdXRpbHMgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CisjIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVj ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorIyBhbG9uZyB3 aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5z ZXMvPi4KKworLiAkc3JjZGlyL3Rlc3Qtc3Vici5zaCAgIyBpbmNsdWRlcyBzZXQgLWUKKworIyBm b3IgdGVzdCBjYXNlIGRlYnVnZ2luZywgdW5jb21tZW50Ogorc2V0IC14Cit1bnNldCBWQUxHUklO RF9DTUQKKworbWtkaXIgUiBaCisKK2dldF9wb3J0cworCitlbnYgTERfTElCUkFSWV9QQVRIPSRs ZHBhdGggJHthYnNfYnVpbGRkaXJ9Ly4uL2RlYnVnaW5mb2QvZGVidWdpbmZvZCAkVkVSQk9TRSAt RiAtUiAtWiAudGFyLnh6IC1aIC50YXIuYnoyPWJ6Y2F0IC1wICRQT1JUMSAtdDAgLWcwIC12IFIg WiA+IHZsb2ckUE9SVDEgMj4mMSAmCitQSUQxPSQhCit0ZW1wZmlsZXMgdmxvZyRQT1JUMQorZXJy ZmlsZXMgdmxvZyRQT1JUMQorIyBTZXJ2ZXIgbXVzdCBiZWNvbWUgcmVhZHkKK3dhaXRfcmVhZHkg JFBPUlQxICdyZWFkeScgMQorCisjIEJlIHBhdGllbnQgd2hlbiBydW4gb24gYSBidXN5IG1hY2hp bmUgdGhpbmdzIG1pZ2h0IHRha2UgYSBiaXQuCitleHBvcnQgREVCVUdJTkZPRF9USU1FT1VUPTEw CisKKyMgQ2hlY2sgdGhyZWFkIGNvbW0gbmFtZXMKK3BzIC1xICRQSUQxIC1lIC1MIC1vICclcCAl YyAlYScgfCBncmVwIGdyb29tCitwcyAtcSAkUElEMSAtZSAtTCAtbyAnJXAgJWMgJWEnIHwgZ3Jl cCBzY2FuCitwcyAtcSAkUElEMSAtZSAtTCAtbyAnJXAgJWMgJWEnIHwgZ3JlcCB0cmF2ZXJzZQor CitjcCAtcnZwICR7YWJzX3NyY2Rpcn0vZGVidWdpbmZvZC1ycG1zIFIKK2lmIFsgIiR6c3RkIiA9 ICJmYWxzZSIgXTsgdGhlbiAgIyBudWtlIHRoZSB6c3RkIGZlZG9yYSAzMSBvbmVzCisgICAgcm0g LXZyZiBSL2RlYnVnaW5mb2QtcnBtcy9mZWRvcmEzMQorZmkKKworY3AgLXJ2cCAke2Fic19zcmNk aXJ9L2RlYnVnaW5mb2QtdGFycyBaCisKK2tpbGwgLVVTUjEgJFBJRDEKKyMgV2FpdCB0aWxsIGJv dGggZmlsZXMgYXJlIGluIHRoZSBpbmRleCBhbmQgc2Nhbi9pbmRleCBmdWxseSBmaW5pc2hlZAor d2FpdF9yZWFkeSAkUE9SVDEgJ3RocmVhZF93b3JrX3RvdGFse3JvbGU9InRyYXZlcnNlIn0nIDEK K3dhaXRfcmVhZHkgJFBPUlQxICd0aHJlYWRfd29ya19wZW5kaW5ne3JvbGU9InNjYW4ifScgMAor d2FpdF9yZWFkeSAkUE9SVDEgJ3RocmVhZF9idXN5e3JvbGU9InNjYW4ifScgMAorCisjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMKKyMgQWxsIHJwbXMgbmVlZCB0byBiZSBpbiB0aGUgaW5kZXgsIGV4Y2VwdCB0aGUg ZHVtbXkgcGVybWlzc2lvbi0wMDAgb25lCitycG1zPSQoZmluZCBSIC1uYW1lIFwqcnBtIHwgZ3Jl cCAtdiBub3RoaW5nIHwgd2MgLWwpCit3YWl0X3JlYWR5ICRQT1JUMSAnc2Nhbm5lZF9maWxlc190 b3RhbHtzb3VyY2U9Ii5ycG0gYXJjaGl2ZSJ9JyAkcnBtcwordHh6PSQoZmluZCBaIC1uYW1lIFwq dGFyLnh6IHwgd2MgLWwpCit3YWl0X3JlYWR5ICRQT1JUMSAnc2Nhbm5lZF9maWxlc190b3RhbHtz b3VyY2U9Ii50YXIueHogYXJjaGl2ZSJ9JyAkdHh6Cit0YjI9JChmaW5kIFogLW5hbWUgXCp0YXIu YnoyIHwgd2MgLWwpCit3YWl0X3JlYWR5ICRQT1JUMSAnc2Nhbm5lZF9maWxlc190b3RhbHtzb3Vy Y2U9Ii50YXIuYnoyIGFyY2hpdmUifScgJHRiMgorCitraWxsIC1VU1IxICRQSUQxICAjIHR3byBo aXRzIG9mIFNJR1VTUjEgbWF5IGJlIG5lZWRlZCB0byByZXNvbHZlIC5kZWJ1Zy0+ZHd6LT5zcmVm cworIyBXYWl0IHRpbGwgYm90aCBmaWxlcyBhcmUgaW4gdGhlIGluZGV4IGFuZCBzY2FuL2luZGV4 IGZ1bGx5IGZpbmlzaGVkCit3YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX3dvcmtfdG90YWx7cm9s ZT0idHJhdmVyc2UifScgMgord2FpdF9yZWFkeSAkUE9SVDEgJ3RocmVhZF93b3JrX3BlbmRpbmd7 cm9sZT0ic2NhbiJ9JyAwCit3YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX2J1c3l7cm9sZT0ic2Nh biJ9JyAwCisKKyMgRXhwZWN0IGFsbCBzb3VyY2UgZmlsZXMgZm91bmQgaW4gdGhlIHJwbXMgKHRo ZXkgYXJlIGFsbCBjYWxsZWQgaGVsbG8uYyA6KQorIyBXZSB3aWxsIG5lZWQgdG8gZXh0cmFjdCBh bGwgcnBtcyAoaW4gdGhlaXIgb3duIGRpcmVjdG9yeSkgYW5kIGNvdWxkIGFsbAorIyBzb3VyY2Vz IHJlZmVyZW5jZWQgaW4gdGhlIC5kZWJ1ZyBmaWxlcy4KK21rZGlyIGV4dHJhY3RlZAorY2QgZXh0 cmFjdGVkCitzdWJkaXI9MDsKK25ld3JwbXM9JChmaW5kIC4uL1IgLW5hbWUgXCpcLnJwbSB8IGdy ZXAgLXYgbm90aGluZykKK2ZvciBpIGluICRuZXdycG1zOyBkbworICAgIHN1YmRpcj0kWyRzdWJk aXIrMV07CisgICAgbWtkaXIgJHN1YmRpcjsKKyAgICBjZCAkc3ViZGlyOworICAgIGxzIC1sYWgg Li4vJGkKKyAgICBycG0yY3BpbyAuLi8kaSB8IGNwaW8gLWl2ZDsKKyAgICBjZCAuLjsKK2RvbmUK K3NvdXJjZWZpbGVzPSQoZmluZCAtbmFtZSBcKlxcLmRlYnVnIFwKKyAgICAgICAgICAgICAgfCBl bnYgTERfTElCUkFSWV9QQVRIPSRsZHBhdGggeGFyZ3MgXAorICAgICAgICAgICAgICAgICR7YWJz X3RvcF9idWlsZGRpcn0vc3JjL3JlYWRlbGYgLS1kZWJ1Zy1kdW1wPWRlY29kZWRsaW5lIFwKKyAg ICAgICAgICAgICAgfCBncmVwIG10aW1lOiB8IHdjIC0tbGluZXMpCitjZCAuLgorcm0gLXJmIGV4 dHJhY3RlZAorCit3YWl0X3JlYWR5ICRQT1JUMSAnZm91bmRfc291cmNlcmVmc190b3RhbHtzb3Vy Y2U9Ii5ycG0gYXJjaGl2ZSJ9JyAkc291cmNlZmlsZXMKKwora2lsbCAkUElEMQord2FpdCAkUElE MQorUElEMT0wCitleGl0IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL3J1bi1kZWJ1Z2luZm9kLWZkLXBy ZWZldGNoLWNhY2hlcy5zaCBiL3Rlc3RzL3J1bi1kZWJ1Z2luZm9kLWZkLXByZWZldGNoLWNhY2hl cy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMC4uOTc4NjQzYTMKLS0tIC9k ZXYvbnVsbAorKysgYi90ZXN0cy9ydW4tZGVidWdpbmZvZC1mZC1wcmVmZXRjaC1jYWNoZXMuc2gK QEAgLTAsMCArMSw1NCBAQAorIyEvdXNyL2Jpbi9lbnYgYmFzaAorIworIyBDb3B5cmlnaHQgKEMp IDIwMTktMjAyMSBSZWQgSGF0LCBJbmMuCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGVsZnV0aWxz LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg aXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBv cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBlbGZ1dGlscyBpcyBkaXN0cmlidXRlZCBp biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKKyMgV0lUSE9VVCBBTlkgV0FS UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjIFlvdSBzaG91 bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl CisjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251 Lm9yZy9saWNlbnNlcy8+LgorCisuICRzcmNkaXIvdGVzdC1zdWJyLnNoICAjIGluY2x1ZGVzIHNl dCAtZQorIyBmb3IgdGVzdCBjYXNlIGRlYnVnZ2luZywgdW5jb21tZW50Ogorc2V0IC14Cit1bnNl dCBWQUxHUklORF9DTUQKKworRkRDQUNIRV9GRFM9MTAwCitGRENBQ0hFX01CUz0xMDAKK1BSRUZF VENIX0ZEUz0xMDAKK1BSRUZFVENIX01CUz0xMDAKK2dldF9wb3J0cworCitlY2hvICRQT1JUMQor ZW52IExEX0xJQlJBUllfUEFUSD0kbGRwYXRoIERFQlVHSU5GT0RfVVJMUz0gJHthYnNfYnVpbGRk aXJ9Ly4uL2RlYnVnaW5mb2QvZGVidWdpbmZvZCAkVkVSQk9TRSAtcCAkUE9SVDEgXAorICAgIC0t ZmRjYWNoZS1tYnM9JEZEQ0FDSEVfTURTIC0tZmRjYWNoZS1mZHM9JEZEQ0FDSEVfRkRTIC0tZmRj YWNoZS1wcmVmZXRjaC1tYnM9JFBSRUZFVENIX01CUyBcCisgICAgLS1mZGNhY2hlLXByZWZldGNo LWZkcz0kUFJFRkVUQ0hfRkRTIC0tZmRjYWNoZS1taW50bXAgMCAtdiAtRiBGID4gdmxvZyRQT1JU MSAyPiYxICYKK1BJRDE9JCEKK3RlbXBmaWxlcyB2bG9nJFBPUlQxCitlcnJmaWxlcyB2bG9nJFBP UlQxCisjIFNlcnZlciBtdXN0IGJlY29tZSByZWFkeQord2FpdF9yZWFkeSAkUE9SVDEgJ3JlYWR5 JyAxCisKK2dyZXAgJ2ZkY2FjaGUgZmRzICcgdmxvZyRQT1JUMSAjJEZEQ0FDSEVfRkRTCitncmVw ICdmZGNhY2hlIG1icyAnIHZsb2ckUE9SVDEgIyRGRENBQ0hFX01CUworZ3JlcCAncHJlZmV0Y2gg ZmRzICcgdmxvZyRQT1JUMSAjJFBSRUZFVENIX0ZEUworZ3JlcCAncHJlZmV0Y2ggbWJzICcgdmxv ZyRQT1JUMSAjJFBSRUZFVENIX01CUworIyBzZWFyY2ggdGhlIHZsb2cgdG8gZmluZCB3aGF0IG1l dHJpYyBjb3VudHMgc2hvdWxkIGJlIGFuZCBjaGVjayB0aGUgY29ycmVjdCBtZXRyaWNzCisjIHdl cmUgaW5jcmltZW50ZWQKK3dhaXRfcmVhZHkgJFBPUlQxICdmZGNhY2hlX29wX2NvdW50e29wPSJl bnF1ZXVlIn0nICQoIGdyZXAgLWMgJ2ludGVybmVkLipmcm9udD0xJyB2bG9nJFBPUlQxICkKK3dh aXRfcmVhZHkgJFBPUlQxICdmZGNhY2hlX29wX2NvdW50e29wPSJldmljdCJ9JyAkKCBncmVwIC1j ICdldmljdGVkIGE9LionIHZsb2ckUE9SVDEgKQord2FpdF9yZWFkeSAkUE9SVDEgJ2ZkY2FjaGVf b3BfY291bnR7b3A9InByZWZldGNoX2VucXVldWUifScgJCggZ3JlcCAtYyAnaW50ZXJuZWQuKmZy b250PTAnIHZsb2ckUE9SVDEgKQord2FpdF9yZWFkeSAkUE9SVDEgJ2ZkY2FjaGVfb3BfY291bnR7 b3A9InByZWZldGNoX2V2aWN0In0nICQoIGdyZXAgLWMgJ2V2aWN0ZWQgZnJvbSBwcmVmZXRjaCBh PS4qZnJvbnQ9MCcgdmxvZyRQT1JUMSB8fCB0cnVlICkKKwora2lsbCAkUElEMQord2FpdCAkUElE MQorUElEMT0wCitleGl0IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL3J1bi1kZWJ1Z2luZm9kLWZlZGVy YXRpb24tbGluay5zaCBiL3Rlc3RzL3J1bi1kZWJ1Z2luZm9kLWZlZGVyYXRpb24tbGluay5zaApu ZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMC4uMjAzMTk1MTkKLS0tIC9kZXYvbnVs bAorKysgYi90ZXN0cy9ydW4tZGVidWdpbmZvZC1mZWRlcmF0aW9uLWxpbmsuc2gKQEAgLTAsMCAr MSwxNTkgQEAKKyMhL3Vzci9iaW4vZW52IGJhc2gKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDE5LTIw MjEgUmVkIEhhdCwgSW5jLgorIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBlbGZ1dGlscy4KKyMKKyMg VGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v ciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg ZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBh bnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgZWxmdXRpbHMgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CisjIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3 aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9y IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIyBZb3Ugc2hvdWxkIGhhdmUg cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorIyBhbG9u ZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGlj ZW5zZXMvPi4KKworLiAkc3JjZGlyL3Rlc3Qtc3Vici5zaCAgIyBpbmNsdWRlcyBzZXQgLWUKKwor IyBmb3IgdGVzdCBjYXNlIGRlYnVnZ2luZywgdW5jb21tZW50Ogorc2V0IC14Cit1bnNldCBWQUxH UklORF9DTUQKKworREI9JHtQV0R9Ly5kZWJ1Z2luZm9kX3RtcC5zcWxpdGUKK2V4cG9ydCBERUJV R0lORk9EX0NBQ0hFX1BBVEg9JHtQV0R9Ly5jbGllbnRfY2FjaGUKK2V4cG9ydCBERUJVR0lORk9E X1RJTUVPVVQ9MTAKK2V4cG9ydCBERUJVR0lORk9EX1VSTFM9J2h0dHA6Ly8xMjcuMC4wLjE6JyRQ T1JUMQordGVtcGZpbGVzICREQgorCisjIENsZWFuIG9sZCBkaXJpY3RvcmllcworbWtkaXIgRCBM IEYKK21rZGlyIC1wICRERUJVR0lORk9EX0NBQ0hFX1BBVEgKKyMgbm90IHRlbXBmaWxlcyBGIFIg TCBEIFogLSB0aGV5IGFyZSBkaXJlY3RvcmllcyB3aGljaCB3ZSBjbGVhbiB1cCBtYW51YWxseQor bG4gLXMgJHthYnNfYnVpbGRkaXJ9L2R3ZmxsaW5lcyBML2ZvbyAgICMgYW55IHByb2dyYW0gbm90 IHVzZWQgZWxzZXdoZXJlIGluIHRoaXMgdGVzdAorCitnZXRfcG9ydHMKKyMgTGF1bmNoIHNlcnZl ciB3aGljaCB3aWxsIGJlIHVuYWJsZSB0byBmb2xsb3cgc3ltbGlua3MKK2VudiBMRF9MSUJSQVJZ X1BBVEg9JGxkcGF0aCAke2Fic19idWlsZGRpcn0vLi4vZGVidWdpbmZvZC9kZWJ1Z2luZm9kICRW RVJCT1NFIC1kICR7REJ9IC1GIC1VIC10MCAtZzAgLXAgJFBPUlQxIEwgRCBGID4gdmxvZyRQT1JU MSAyPiYxICYKK1BJRDE9JCEKK3RlbXBmaWxlcyB2bG9nJFBPUlQxCitlcnJmaWxlcyB2bG9nJFBP UlQxCisKK3dhaXRfcmVhZHkgJFBPUlQxICdyZWFkeScgMQord2FpdF9yZWFkeSAkUE9SVDEgJ3Ro cmVhZF93b3JrX3RvdGFse3JvbGU9InRyYXZlcnNlIn0nIDEKK3dhaXRfcmVhZHkgJFBPUlQxICd0 aHJlYWRfd29ya19wZW5kaW5ne3JvbGU9InNjYW4ifScgMAord2FpdF9yZWFkeSAkUE9SVDEgJ3Ro cmVhZF9idXN5e3JvbGU9InNjYW4ifScgMAorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgQ29tcGlsZSBh IHNpbXBsZSBwcm9ncmFtLCBzdHJpcCBpdHMgZGVidWdpbmZvIGFuZCBzYXZlIHRoZSBidWlsZC1p ZC4KKyMgQWxzbyBtb3ZlIHRoZSBkZWJ1Z2luZm8gaW50byBhbm90aGVyIGRpcmVjdG9yeSBzbyB0 aGF0IGVsZnV0aWxzCisjIGNhbm5vdCBmaW5kIGl0IHdpdGhvdXQgZGVidWdpbmZvZC4KK2VjaG8g ImludCBtYWluKCkgeyByZXR1cm4gMDsgfSIgPiAke1BXRH0vcHJvZy5jCit0ZW1wZmlsZXMgcHJv Zy5jCisjIENyZWF0ZSBhIHN1YmRpcmVjdG9yeSB0byBjb25mb3VuZCBzb3VyY2UgcGF0aCBuYW1l cworbWtkaXIgZm9vYmFyCitnY2MgLVdsLC0tYnVpbGQtaWQgLWcgLW8gcHJvZyAke1BXRH0vZm9v YmFyLy8vLi8uLi9wcm9nLmMKK3Rlc3RydW4gJHthYnNfdG9wX2J1aWxkZGlyfS9zcmMvc3RyaXAg LWcgLWYgcHJvZy5kZWJ1ZyAke1BXRH0vcHJvZworQlVJTERJRD1gZW52IExEX0xJQlJBUllfUEFU SD0kbGRwYXRoICR7YWJzX2J1aWxkZGlyfS8uLi9zcmMvcmVhZGVsZiBcCisgICAgICAgICAgLWEg cHJvZyB8IGdyZXAgJ0J1aWxkIElEJyB8IGN1dCAtZCAnICcgLWYgN2AKKworbXYgcHJvZyBGCitt diBwcm9nLmRlYnVnIEYKK2tpbGwgLVVTUjEgJFBJRDEKKyMgV2FpdCB0aWxsIGJvdGggZmlsZXMg YXJlIGluIHRoZSBpbmRleC4KK3dhaXRfcmVhZHkgJFBPUlQxICd0aHJlYWRfd29ya190b3RhbHty b2xlPSJ0cmF2ZXJzZSJ9JyAyCit3YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX3dvcmtfcGVuZGlu Z3tyb2xlPSJzY2FuIn0nIDAKK3dhaXRfcmVhZHkgJFBPUlQxICd0aHJlYWRfYnVzeXtyb2xlPSJz Y2FuIn0nIDAKKword2FpdF9yZWFkeSAkUE9SVDEgJ3RocmVhZF9idXN5e3JvbGU9Imh0dHAtYnVp bGRpZCJ9JyAwCit3YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX2J1c3l7cm9sZT0iaHR0cC1tZXRy aWNzIn0nIDEKKworZXhwb3J0IERFQlVHSU5GT0RfQ0FDSEVfUEFUSD0ke1BXRH0vLmNsaWVudF9j YWNoZTIKK21rZGlyIC1wICRERUJVR0lORk9EX0NBQ0hFX1BBVEgKKworIyBOQjogcnVuIGluIC1M IHN5bWxpbmstZm9sbG93aW5nIG1vZGUgZm9yIHRoZSBMIHN1YmRpcgorZW52IExEX0xJQlJBUllf UEFUSD0kbGRwYXRoIERFQlVHSU5GT0RfVVJMUz1odHRwOi8vMTI3LjAuMC4xOiRQT1JUMSAke2Fi c19idWlsZGRpcn0vLi4vZGVidWdpbmZvZC9kZWJ1Z2luZm9kICRWRVJCT1NFIC1kICR7REJ9XzIg LUYgLVUgLXAgJFBPUlQyIC1MIEwgRCA+IHZsb2ckUE9SVDIgMj4mMSAmCitQSUQyPSQhCit0ZW1w ZmlsZXMgdmxvZyRQT1JUMgorZXJyZmlsZXMgdmxvZyRQT1JUMgordGVtcGZpbGVzICR7REJ9XzIK Kword2FpdF9yZWFkeSAkUE9SVDIgJ3JlYWR5JyAxCisKK2tpbGwgLVVTUjEgJFBJRDIKKyMgV2Fp dCB0aWxsIGJvdGggZmlsZXMgYXJlIGluIHRoZSBpbmRleC4KK3dhaXRfcmVhZHkgJFBPUlQyICd0 aHJlYWRfd29ya190b3RhbHtyb2xlPSJ0cmF2ZXJzZSJ9JyAxCit3YWl0X3JlYWR5ICRQT1JUMiAn dGhyZWFkX3dvcmtfcGVuZGluZ3tyb2xlPSJzY2FuIn0nIDAKK3dhaXRfcmVhZHkgJFBPUlQyICd0 aHJlYWRfYnVzeXtyb2xlPSJzY2FuIn0nIDAKKword2FpdF9yZWFkeSAkUE9SVDIgJ3RocmVhZF9i dXN5e3JvbGU9Imh0dHAtYnVpbGRpZCJ9JyAwCit3YWl0X3JlYWR5ICRQT1JUMiAndGhyZWFkX2J1 c3l7cm9sZT0iaHR0cC1tZXRyaWNzIn0nIDEKKworIyBoYXZlIGNsaWVudHMgY29udGFjdCB0aGUg bmV3IHNlcnZlcgorZXhwb3J0IERFQlVHSU5GT0RfVVJMUz1odHRwOi8vMTI3LjAuMC4xOiRQT1JU MgorCitpZiB0eXBlIGJzZHRhciAyPi9kZXYvbnVsbDsgdGhlbgorICAgICMgY29weSBpbiB0aGUg ZGViIGZpbGVzCisgICAgY3AgLXJ2cCAke2Fic19zcmNkaXJ9L2RlYnVnaW5mb2QtZGVicy8qZGVi IEQKKyAgICBraWxsIC1VU1IxICRQSUQyCisgICAgd2FpdF9yZWFkeSAkUE9SVDIgJ3RocmVhZF93 b3JrX3RvdGFse3JvbGU9InRyYXZlcnNlIn0nIDIKKyAgICB3YWl0X3JlYWR5ICRQT1JUMiAndGhy ZWFkX3dvcmtfcGVuZGluZ3tyb2xlPSJzY2FuIn0nIDAKKyAgICB3YWl0X3JlYWR5ICRQT1JUMiAn dGhyZWFkX2J1c3l7cm9sZT0ic2NhbiJ9JyAwCisKKyAgICAjIEFsbCBkZWJzIG5lZWQgdG8gYmUg aW4gdGhlIGluZGV4CisgICAgZGVicz0kKGZpbmQgRCAtbmFtZSBcKi5kZWIgfCB3YyAtbCkKKyAg ICB3YWl0X3JlYWR5ICRQT1JUMiAnc2Nhbm5lZF9maWxlc190b3RhbHtzb3VyY2U9Ii5kZWIgYXJj aGl2ZSJ9JyBgZXhwciAkZGVic2AKKyAgICBkZGVicz0kKGZpbmQgRCAtbmFtZSBcKi5kZGViIHwg d2MgLWwpCisgICAgd2FpdF9yZWFkeSAkUE9SVDIgJ3NjYW5uZWRfZmlsZXNfdG90YWx7c291cmNl PSIuZGRlYiBhcmNoaXZlIn0nIGBleHByICRkZGVic2AKKworICAgICMgdWJ1bnR1CisgICAgYXJj aGl2ZV90ZXN0IGYxN2EyOWI1YTI1YmQ0OTYwNTMxZDgyYWE2YjA3YzhhYmU4NGZhNjYgIiIgIiIK K2ZpCisKK3JtIC1yZiAkREVCVUdJTkZPRF9DQUNIRV9QQVRICit0ZXN0cnVuICR7YWJzX3RvcF9i dWlsZGRpcn0vZGVidWdpbmZvZC9kZWJ1Z2luZm9kLWZpbmQgZGVidWdpbmZvICRCVUlMRElECisK KyMgc2VuZCBhIHJlcXVlc3QgdG8gc3RyZXNzIFhGRiBhbmQgVXNlci1BZ2VudCBmZWRlcmF0aW9u IHJlbGF5OworIyB3ZSdsbCBncmVwIGZvciB0aGUgdHdvIHBhdHRlcm5zIGluIHZsb2ckUE9SVDEK K2N1cmwgLXMgLUggJ1VzZXItQWdlbnQ6IFRFU1RDVVJMJyAtSCAnWC1Gb3J3YXJkZWQtRm9yOiBU RVNUWEZGJyAkREVCVUdJTkZPRF9VUkxTL2J1aWxkaWQvZGVhZGRlYWRiZWVmMDAwMDAwMDAvZGVi dWdpbmZvIC1vIC9kZXYvbnVsbCB8fCB0cnVlCisKK2dyZXAgVUE6VEVTVENVUkwgdmxvZyRQT1JU MQorZ3JlcCBYRkY6VEVTVFhGRiB2bG9nJFBPUlQxCisKKyMgY29uZmlybSB0aGF0IGZpcnN0IHNl cnZlciBjYW4ndCByZXNvbHZlIHN5bWxpbmtlZCBpbmZvIGluIEwvIGJ1dCBzZWNvbmQgY2FuCitC VUlMRElEPWBlbnYgTERfTElCUkFSWV9QQVRIPSRsZHBhdGggJHthYnNfYnVpbGRkaXJ9Ly4uL3Ny Yy9yZWFkZWxmIFwKKyAgICAgICAgIC1hIEwvZm9vIHwgZ3JlcCAnQnVpbGQgSUQnIHwgY3V0IC1k ICcgJyAtZiA3YAorZmlsZSBML2ZvbworZmlsZSAtTCBML2ZvbworZXhwb3J0IERFQlVHSU5GT0Rf VVJMUz1odHRwOi8vMTI3LjAuMC4xOiRQT1JUMQorcm0gLXJmICRERUJVR0lORk9EX0NBQ0hFX1BB VEgKK3Rlc3RydW4gJHthYnNfdG9wX2J1aWxkZGlyfS9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QtZmlu ZCBkZWJ1Z2luZm8gJEJVSUxESUQgJiYgZmFsc2UgfHwgdHJ1ZQorcm0gLWYgJERFQlVHSU5GT0Rf Q0FDSEVfUEFUSC8kQlVJTERJRC9kZWJ1Z2luZm8gIyBkcm9wIDAwMC1wZXJtIG5lZ2F0aXZlLWhp dCBmaWxlCitleHBvcnQgREVCVUdJTkZPRF9VUkxTPWh0dHA6Ly8xMjcuMC4wLjE6JFBPUlQyCit0 ZXN0cnVuICR7YWJzX3RvcF9idWlsZGRpcn0vZGVidWdpbmZvZC9kZWJ1Z2luZm9kLWZpbmQgZGVi dWdpbmZvICRCVUlMRElECisKKyMgdGVzdCBhZ2FpbiB3aXRoIHNjaGVtZSBmcmVlIHVybAorZXhw b3J0IERFQlVHSU5GT0RfVVJMUz0xMjcuMC4wLjE6JFBPUlQxCitybSAtcmYgJERFQlVHSU5GT0Rf Q0FDSEVfUEFUSAordGVzdHJ1biAke2Fic190b3BfYnVpbGRkaXJ9L2RlYnVnaW5mb2QvZGVidWdp bmZvZC1maW5kIGRlYnVnaW5mbyAkQlVJTERJRCAmJiBmYWxzZSB8fCB0cnVlCitybSAtZiAkREVC VUdJTkZPRF9DQUNIRV9QQVRILyRCVUlMRElEL2RlYnVnaW5mbyAjIGRyb3AgMDAwLXBlcm0gbmVn YXRpdmUtaGl0IGZpbGUKK2V4cG9ydCBERUJVR0lORk9EX1VSTFM9MTI3LjAuMC4xOiRQT1JUMgor dGVzdHJ1biAke2Fic190b3BfYnVpbGRkaXJ9L2RlYnVnaW5mb2QvZGVidWdpbmZvZC1maW5kIGRl YnVnaW5mbyAkQlVJTERJRAorCisjIHRlc3QgcGFyYWxsZWwgcXVlcmllcyBpbiBjbGllbnQKK2V4 cG9ydCBERUJVR0lORk9EX0NBQ0hFX1BBVEg9JHtQV0R9Ly5jbGllbnRfY2FjaGUzCitta2RpciAt cCAkREVCVUdJTkZPRF9DQUNIRV9QQVRICitleHBvcnQgREVCVUdJTkZPRF9VUkxTPSJCQUQgaHR0 cDovLzEyNy4wLjAuMTokUE9SVDEgMTI3LjAuMC4xOiRQT1JUMSBodHRwOi8vMTI3LjAuMC4xOiRQ T1JUMiBETkUiCisKK3Rlc3RydW4gJHthYnNfYnVpbGRkaXJ9L2RlYnVnaW5mb2RfYnVpbGRfaWRf ZmluZCAtZSBGL3Byb2cgMQorCitraWxsICRQSUQxCitraWxsICRQSUQyCit3YWl0ICRQSUQxCit3 YWl0ICRQSUQyCitQSUQxPTAKK1BJRDI9MAorCitleGl0IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL3J1 bi1kZWJ1Z2luZm9kLWZlZGVyYXRpb24tbWV0cmljcy5zaCBiL3Rlc3RzL3J1bi1kZWJ1Z2luZm9k LWZlZGVyYXRpb24tbWV0cmljcy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAw MC4uMjM0YTcxYjAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9ydW4tZGVidWdpbmZvZC1mZWRl cmF0aW9uLW1ldHJpY3Muc2gKQEAgLTAsMCArMSwyMTIgQEAKKyMhL3Vzci9iaW4vZW52IGJhc2gK KyMKKyMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjEgUmVkIEhhdCwgSW5jLgorIyBUaGlzIGZpbGUg aXMgcGFydCBvZiBlbGZ1dGlscy4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlv dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhl IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5z ZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgZWxmdXRp bHMgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0 CisjIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu dHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ T1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh aWxzLgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZQorIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwg c2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKworLiAkc3JjZGlyL3Rlc3Qtc3Vi ci5zaCAgIyBpbmNsdWRlcyBzZXQgLWUKKworIyBmb3IgdGVzdCBjYXNlIGRlYnVnZ2luZywgdW5j b21tZW50Ogorc2V0IC14Cit1bnNldCBWQUxHUklORF9DTUQKKworZ2V0X3BvcnRzCitEQj0ke1BX RH0vLmRlYnVnaW5mb2RfdG1wLnNxbGl0ZQorZXhwb3J0IERFQlVHSU5GT0RfQ0FDSEVfUEFUSD0k e1BXRH0vLmNsaWVudF9jYWNoZQorZXhwb3J0IERFQlVHSU5GT0RfVElNRU9VVD0xMAorZXhwb3J0 IERFQlVHSU5GT0RfVVJMUz0naHR0cDovLzEyNy4wLjAuMTonJFBPUlQxCit0ZW1wZmlsZXMgJERC CisjIENsZWFuIG9sZCBkaXJpY3RvcmllcworbWtkaXIgRCBMIEYKKworIyBub3QgdGVtcGZpbGVz IEYgUiBMIEQgWiAtIHRoZXkgYXJlIGRpcmVjdG9yaWVzIHdoaWNoIHdlIGNsZWFuIHVwIG1hbnVh bGx5CitsbiAtcyAke2Fic19idWlsZGRpcn0vZHdmbGxpbmVzIEwvZm9vICAgIyBhbnkgcHJvZ3Jh bSBub3QgdXNlZCBlbHNld2hlcmUgaW4gdGhpcyB0ZXN0CisKK2dldF9wb3J0cworCisjIExhdW5j aCBzZXJ2ZXIgd2hpY2ggd2lsbCBiZSB1bmFibGUgdG8gZm9sbG93IHN5bWxpbmtzCitlbnYgTERf TElCUkFSWV9QQVRIPSRsZHBhdGggJHthYnNfYnVpbGRkaXJ9Ly4uL2RlYnVnaW5mb2QvZGVidWdp bmZvZCAkVkVSQk9TRSAtZCAke0RCfSAtRiAtVSAtdDAgLWcwIC1wICRQT1JUMSBMIEQgRiA+IHZs b2ckUE9SVDEgMj4mMSAmCitQSUQxPSQhCit0ZW1wZmlsZXMgdmxvZyRQT1JUMQorZXJyZmlsZXMg dmxvZyRQT1JUMQorCit3YWl0X3JlYWR5ICRQT1JUMSAncmVhZHknIDEKKwora2lsbCAtVVNSMSAk UElEMQord2FpdF9yZWFkeSAkUE9SVDEgJ3RocmVhZF93b3JrX3RvdGFse3JvbGU9InRyYXZlcnNl In0nIDEKK3dhaXRfcmVhZHkgJFBPUlQxICd0aHJlYWRfd29ya19wZW5kaW5ne3JvbGU9InNjYW4i fScgMAord2FpdF9yZWFkeSAkUE9SVDEgJ3RocmVhZF9idXN5e3JvbGU9InNjYW4ifScgMAorIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjCisjIENvbXBpbGUgYSBzaW1wbGUgcHJvZ3JhbSwgc3RyaXAgaXRzIGRlYnVn aW5mbyBhbmQgc2F2ZSB0aGUgYnVpbGQtaWQuCisjIEFsc28gbW92ZSB0aGUgZGVidWdpbmZvIGlu dG8gYW5vdGhlciBkaXJlY3Rvcnkgc28gdGhhdCBlbGZ1dGlscworIyBjYW5ub3QgZmluZCBpdCB3 aXRob3V0IGRlYnVnaW5mb2QuCitlY2hvICJpbnQgbWFpbigpIHsgcmV0dXJuIDA7IH0iID4gJHtQ V0R9L3Byb2cuYwordGVtcGZpbGVzIHByb2cuYworIyBDcmVhdGUgYSBzdWJkaXJlY3RvcnkgdG8g Y29uZm91bmQgc291cmNlIHBhdGggbmFtZXMKK21rZGlyIGZvb2JhcgorZ2NjIC1XbCwtLWJ1aWxk LWlkIC1nIC1vIHByb2cgJHtQV0R9L2Zvb2Jhci8vLy4vLi4vcHJvZy5jCit0ZXN0cnVuICR7YWJz X3RvcF9idWlsZGRpcn0vc3JjL3N0cmlwIC1nIC1mIHByb2cuZGVidWcgJHtQV0R9L3Byb2cKK0JV SUxESUQ9YGVudiBMRF9MSUJSQVJZX1BBVEg9JGxkcGF0aCAke2Fic19idWlsZGRpcn0vLi4vc3Jj L3JlYWRlbGYgXAorICAgICAgICAgIC1hIHByb2cgfCBncmVwICdCdWlsZCBJRCcgfCBjdXQgLWQg JyAnIC1mIDdgCisKK212IHByb2cgRgorbXYgcHJvZy5kZWJ1ZyBGCitraWxsIC1VU1IxICRQSUQx CisjIFdhaXQgdGlsbCBib3RoIGZpbGVzIGFyZSBpbiB0aGUgaW5kZXguCit3YWl0X3JlYWR5ICRQ T1JUMSAndGhyZWFkX3dvcmtfdG90YWx7cm9sZT0idHJhdmVyc2UifScgMgord2FpdF9yZWFkeSAk UE9SVDEgJ3RocmVhZF93b3JrX3BlbmRpbmd7cm9sZT0ic2NhbiJ9JyAwCit3YWl0X3JlYWR5ICRQ T1JUMSAndGhyZWFkX2J1c3l7cm9sZT0ic2NhbiJ9JyAwCisKK3dhaXRfcmVhZHkgJFBPUlQxICd0 aHJlYWRfYnVzeXtyb2xlPSJodHRwLWJ1aWxkaWQifScgMAord2FpdF9yZWFkeSAkUE9SVDEgJ3Ro cmVhZF9idXN5e3JvbGU9Imh0dHAtbWV0cmljcyJ9JyAxCisKK2V4cG9ydCBERUJVR0lORk9EX0NB Q0hFX1BBVEg9JHtQV0R9Ly5jbGllbnRfY2FjaGUyCitta2RpciAtcCAkREVCVUdJTkZPRF9DQUNI RV9QQVRICisjIE5COiBydW4gaW4gLUwgc3ltbGluay1mb2xsb3dpbmcgbW9kZSBmb3IgdGhlIEwg c3ViZGlyCitlbnYgTERfTElCUkFSWV9QQVRIPSRsZHBhdGggREVCVUdJTkZPRF9VUkxTPWh0dHA6 Ly8xMjcuMC4wLjE6JFBPUlQxICR7YWJzX2J1aWxkZGlyfS8uLi9kZWJ1Z2luZm9kL2RlYnVnaW5m b2QgJFZFUkJPU0UgLWQgJHtEQn1fMiAtRiAtVSAtcCAkUE9SVDIgLUwgTCBEID4gdmxvZyRQT1JU MiAyPiYxICYKK1BJRDI9JCEKK3RlbXBmaWxlcyB2bG9nJFBPUlQyCitlcnJmaWxlcyB2bG9nJFBP UlQyCit0ZW1wZmlsZXMgJHtEQn1fMgorCit3YWl0X3JlYWR5ICRQT1JUMiAncmVhZHknIDEKK3dh aXRfcmVhZHkgJFBPUlQyICd0aHJlYWRfd29ya190b3RhbHtyb2xlPSJ0cmF2ZXJzZSJ9JyAxCit3 YWl0X3JlYWR5ICRQT1JUMiAndGhyZWFkX3dvcmtfcGVuZGluZ3tyb2xlPSJzY2FuIn0nIDAKK3dh aXRfcmVhZHkgJFBPUlQyICd0aHJlYWRfYnVzeXtyb2xlPSJzY2FuIn0nIDAKKword2FpdF9yZWFk eSAkUE9SVDIgJ3RocmVhZF9idXN5e3JvbGU9Imh0dHAtYnVpbGRpZCJ9JyAwCit3YWl0X3JlYWR5 ICRQT1JUMiAndGhyZWFkX2J1c3l7cm9sZT0iaHR0cC1tZXRyaWNzIn0nIDEKKworIyBoYXZlIGNs aWVudHMgY29udGFjdCB0aGUgbmV3IHNlcnZlcgorZXhwb3J0IERFQlVHSU5GT0RfVVJMUz1odHRw Oi8vMTI3LjAuMC4xOiRQT1JUMgoraWYgdHlwZSBic2R0YXIgMj4vZGV2L251bGw7IHRoZW4KKyAg ICAjIGNvcHkgaW4gdGhlIGRlYiBmaWxlcworICAgIGNwIC1ydnAgJHthYnNfc3JjZGlyfS9kZWJ1 Z2luZm9kLWRlYnMvKmRlYiBECisgICAga2lsbCAtVVNSMSAkUElEMgorICAgIHdhaXRfcmVhZHkg JFBPUlQyICd0aHJlYWRfd29ya190b3RhbHtyb2xlPSJ0cmF2ZXJzZSJ9JyAyCisgICAgd2FpdF9y ZWFkeSAkUE9SVDIgJ3RocmVhZF93b3JrX3BlbmRpbmd7cm9sZT0ic2NhbiJ9JyAwCisgICAgd2Fp dF9yZWFkeSAkUE9SVDIgJ3RocmVhZF9idXN5e3JvbGU9InNjYW4ifScgMAorCisgICAgIyBBbGwg ZGVicyBuZWVkIHRvIGJlIGluIHRoZSBpbmRleAorICAgIGRlYnM9JChmaW5kIEQgLW5hbWUgXCou ZGViIHwgd2MgLWwpCisgICAgd2FpdF9yZWFkeSAkUE9SVDIgJ3NjYW5uZWRfZmlsZXNfdG90YWx7 c291cmNlPSIuZGViIGFyY2hpdmUifScgYGV4cHIgJGRlYnNgCisgICAgZGRlYnM9JChmaW5kIEQg LW5hbWUgXCouZGRlYiB8IHdjIC1sKQorICAgIHdhaXRfcmVhZHkgJFBPUlQyICdzY2FubmVkX2Zp bGVzX3RvdGFse3NvdXJjZT0iLmRkZWIgYXJjaGl2ZSJ9JyBgZXhwciAkZGRlYnNgCisKKyAgICAj IHVidW50dQorICAgIGFyY2hpdmVfdGVzdCBmMTdhMjliNWEyNWJkNDk2MDUzMWQ4MmFhNmIwN2M4 YWJlODRmYTY2ICIiICIiCitmaQorCitybSAtcmYgJERFQlVHSU5GT0RfQ0FDSEVfUEFUSAordGVz dHJ1biAke2Fic190b3BfYnVpbGRkaXJ9L2RlYnVnaW5mb2QvZGVidWdpbmZvZC1maW5kIGRlYnVn aW5mbyAkQlVJTERJRAorCisjIHNlbmQgYSByZXF1ZXN0IHRvIHN0cmVzcyBYRkYgYW5kIFVzZXIt QWdlbnQgZmVkZXJhdGlvbiByZWxheTsKKyMgd2UnbGwgZ3JlcCBmb3IgdGhlIHR3byBwYXR0ZXJu cyBpbiB2bG9nJFBPUlQxCitjdXJsIC1zIC1IICdVc2VyLUFnZW50OiBURVNUQ1VSTCcgLUggJ1gt Rm9yd2FyZGVkLUZvcjogVEVTVFhGRicgJERFQlVHSU5GT0RfVVJMUy9idWlsZGlkL2RlYWRkZWFk YmVlZjAwMDAwMDAwL2RlYnVnaW5mbyAtbyAvZGV2L251bGwgfHwgdHJ1ZQorCitncmVwIFVBOlRF U1RDVVJMIHZsb2ckUE9SVDEKK2dyZXAgWEZGOlRFU1RYRkYgdmxvZyRQT1JUMQorCisjIGNvbmZp cm0gdGhhdCBmaXJzdCBzZXJ2ZXIgY2FuJ3QgcmVzb2x2ZSBzeW1saW5rZWQgaW5mbyBpbiBMLyBi dXQgc2Vjb25kIGNhbgorQlVJTERJRD1gZW52IExEX0xJQlJBUllfUEFUSD0kbGRwYXRoICR7YWJz X2J1aWxkZGlyfS8uLi9zcmMvcmVhZGVsZiBcCisgICAgICAgICAtYSBML2ZvbyB8IGdyZXAgJ0J1 aWxkIElEJyB8IGN1dCAtZCAnICcgLWYgN2AKK2ZpbGUgTC9mb28KK2ZpbGUgLUwgTC9mb28KK2V4 cG9ydCBERUJVR0lORk9EX1VSTFM9aHR0cDovLzEyNy4wLjAuMTokUE9SVDEKK3JtIC1yZiAkREVC VUdJTkZPRF9DQUNIRV9QQVRICit0ZXN0cnVuICR7YWJzX3RvcF9idWlsZGRpcn0vZGVidWdpbmZv ZC9kZWJ1Z2luZm9kLWZpbmQgZGVidWdpbmZvICRCVUlMRElEICYmIGZhbHNlIHx8IHRydWUKK3Jt IC1mICRERUJVR0lORk9EX0NBQ0hFX1BBVEgvJEJVSUxESUQvZGVidWdpbmZvICMgZHJvcCAwMDAt cGVybSBuZWdhdGl2ZS1oaXQgZmlsZQorZXhwb3J0IERFQlVHSU5GT0RfVVJMUz1odHRwOi8vMTI3 LjAuMC4xOiRQT1JUMgordGVzdHJ1biAke2Fic190b3BfYnVpbGRkaXJ9L2RlYnVnaW5mb2QvZGVi dWdpbmZvZC1maW5kIGRlYnVnaW5mbyAkQlVJTERJRAorCisjIHRlc3QgYWdhaW4gd2l0aCBzY2hl bWUgZnJlZSB1cmwKK2V4cG9ydCBERUJVR0lORk9EX1VSTFM9MTI3LjAuMC4xOiRQT1JUMQorcm0g LXJmICRERUJVR0lORk9EX0NBQ0hFX1BBVEgKK3Rlc3RydW4gJHthYnNfdG9wX2J1aWxkZGlyfS9k ZWJ1Z2luZm9kL2RlYnVnaW5mb2QtZmluZCBkZWJ1Z2luZm8gJEJVSUxESUQgJiYgZmFsc2UgfHwg dHJ1ZQorcm0gLWYgJERFQlVHSU5GT0RfQ0FDSEVfUEFUSC8kQlVJTERJRC9kZWJ1Z2luZm8gIyBk cm9wIDAwMC1wZXJtIG5lZ2F0aXZlLWhpdCBmaWxlCitleHBvcnQgREVCVUdJTkZPRF9VUkxTPTEy Ny4wLjAuMTokUE9SVDIKK3Rlc3RydW4gJHthYnNfdG9wX2J1aWxkZGlyfS9kZWJ1Z2luZm9kL2Rl YnVnaW5mb2QtZmluZCBkZWJ1Z2luZm8gJEJVSUxESUQKKyMgdGVzdCBwYXJhbGxlbCBxdWVyaWVz IGluIGNsaWVudAorZXhwb3J0IERFQlVHSU5GT0RfQ0FDSEVfUEFUSD0ke1BXRH0vLmNsaWVudF9j YWNoZTMKK21rZGlyIC1wICRERUJVR0lORk9EX0NBQ0hFX1BBVEgKK2V4cG9ydCBERUJVR0lORk9E X1VSTFM9IkJBRCBodHRwOi8vMTI3LjAuMC4xOiRQT1JUMSAxMjcuMC4wLjE6JFBPUlQxIGh0dHA6 Ly8xMjcuMC4wLjE6JFBPUlQyIERORSIKKwordGVzdHJ1biAke2Fic19idWlsZGRpcn0vZGVidWdp bmZvZF9idWlsZF9pZF9maW5kIC1lIEYvcHJvZyAxCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBGZXRj aCBzb21lIG1ldHJpY3MKK2N1cmwgLXMgaHR0cDovLzEyNy4wLjAuMTokUE9SVDEvYmFkYXBpCitj dXJsIC1zIGh0dHA6Ly8xMjcuMC4wLjE6JFBPUlQxL21ldHJpY3MKK2N1cmwgLXMgaHR0cDovLzEy Ny4wLjAuMTokUE9SVDIvbWV0cmljcworY3VybCAtcyBodHRwOi8vMTI3LjAuMC4xOiRQT1JUMS9t ZXRyaWNzIHwgZ3JlcCAtcSAnaHR0cF9yZXNwb25zZXNfdG90YWwuKnJlc3VsdC4qZXJyb3InCitj dXJsIC1zIGh0dHA6Ly8xMjcuMC4wLjE6JFBPUlQyL21ldHJpY3MgfCBncmVwIC1xICdodHRwX3Jl c3BvbnNlc190b3RhbC4qcmVzdWx0Lip1cHN0cmVhbScKK2N1cmwgLXMgaHR0cDovLzEyNy4wLjAu MTokUE9SVDEvbWV0cmljcyB8IGdyZXAgJ2h0dHBfcmVzcG9uc2VzX2R1cmF0aW9uX21pbGxpc2Vj b25kc19jb3VudCcKK2N1cmwgLXMgaHR0cDovLzEyNy4wLjAuMTokUE9SVDEvbWV0cmljcyB8IGdy ZXAgJ2h0dHBfcmVzcG9uc2VzX2R1cmF0aW9uX21pbGxpc2Vjb25kc19zdW0nCitjdXJsIC1zIGh0 dHA6Ly8xMjcuMC4wLjE6JFBPUlQxL21ldHJpY3MgfCBncmVwICdodHRwX3Jlc3BvbnNlc190cmFu c2Zlcl9ieXRlc19jb3VudCcKK2N1cmwgLXMgaHR0cDovLzEyNy4wLjAuMTokUE9SVDEvbWV0cmlj cyB8IGdyZXAgJ2h0dHBfcmVzcG9uc2VzX3RyYW5zZmVyX2J5dGVzX3N1bScKK2N1cmwgLXMgaHR0 cDovLzEyNy4wLjAuMTokUE9SVDEvbWV0cmljcyB8IGdyZXAgJ2ZkY2FjaGVfJworY3VybCAtcyBo dHRwOi8vMTI3LjAuMC4xOiRQT1JUMS9tZXRyaWNzIHwgZ3JlcCAnZXJyb3JfY291bnQnCitjdXJs IC1zIGh0dHA6Ly8xMjcuMC4wLjE6JFBPUlQxL21ldHJpY3MgfCBncmVwICd0cmF2ZXJzZWRfdG90 YWwnCitjdXJsIC1zIGh0dHA6Ly8xMjcuMC4wLjE6JFBPUlQxL21ldHJpY3MgfCBncmVwICdzY2Fu bmVkX2J5dGVzX3RvdGFsJworCisjIEFuZCBnZW5lcmF0ZSBhIGZldyBlcnJvcnMgaW50byB0aGUg c2Vjb25kIGRlYnVnaW5mb2QncyBsb2dzLCBmb3IgYW5hbHlzaXMganVzdCBiZWxvdworY3VybCAt cyBodHRwOi8vMTI3LjAuMC4xOiRQT1JUMi9iYWRhcGkgPiAvZGV2L251bGwgfHwgdHJ1ZQorY3Vy bCAtcyBodHRwOi8vMTI3LjAuMC4xOiRQT1JUMi9idWlsZGlkL2RlYWRiZWVmL2RlYnVnaW5mbyA+ IC9kZXYvbnVsbCB8fCB0cnVlCisjIE5COiB0aGlzIGVycm9yIGlzIHVzZWQgdG8gc2VlZCB0aGUg NDA0IGZhaWx1cmUgZm9yIHRoZSBzdXJ2aXZlLTQwNCB0ZXN0cworCisjIENvbmZpcm0gYmFkIGFy dGlmYWN0IHR5cGVzIGFyZSByZWplY3RlZCB3aXRob3V0IGxlYXZpbmcgdHJhY2UKK2N1cmwgLXMg aHR0cDovLzEyNy4wLjAuMTokUE9SVDIvYnVpbGRpZC9kZWFkYmVlZi9iYWR0eXBlID4gL2Rldi9u dWxsIHx8IHRydWUKKyhjdXJsIC1zIGh0dHA6Ly8xMjcuMC4wLjE6JFBPUlQyL21ldHJpY3MgfCBn cmVwICdiYWR0eXBlJykgJiYgZmFsc2UKKworIyBESVNBQkxFIFZBTEdSSU5EIGNoZWNraW5nIGJl Y2F1c2UgdmFsZ3JpbmQgbWlnaHQgdXNlIGRlYnVnaW5mb2QgY2xpZW50CisjIHJlcXVlc3RzIGl0 c2VsZiwgY2F1c2luZyBjb25mdXNpb24gYWJvdXQgd2hvIHB1dCB3aGF0IGluIHRoZSBjYWNoZS4K KyMgSXQgc3RheXMgZGlzYWJsZWQgdGlsbCB0aGUgZW5kIG9mIHRoaXMgdGVzdC4KK3Vuc2V0IFZB TEdSSU5EX0NNRAorCisjIENvbmZpcm0gdGhhdCByZXVzZWQgY3VybCBjb25uZWN0aW9ucyBzdXJ2 aXZlIDQwNCBlcnJvcnMuCisjIFRoZSBybSdzIGZvcmNlIGFuIHVuY2FjaGVkIGZldGNoCitybSAt ZiAkREVCVUdJTkZPRF9DQUNIRV9QQVRILyRCVUlMRElEL2RlYnVnaW5mbyAuY2xpZW50X2NhY2hl Ki8kQlVJTERJRC9kZWJ1Z2luZm8KK3Rlc3RydW4gJHthYnNfdG9wX2J1aWxkZGlyfS9kZWJ1Z2lu Zm9kL2RlYnVnaW5mb2QtZmluZCBkZWJ1Z2luZm8gJEJVSUxESUQKK3JtIC1mICRERUJVR0lORk9E X0NBQ0hFX1BBVEgvJEJVSUxESUQvZGVidWdpbmZvIC5jbGllbnRfY2FjaGUqLyRCVUlMRElEL2Rl YnVnaW5mbwordGVzdHJ1biAke2Fic190b3BfYnVpbGRkaXJ9L2RlYnVnaW5mb2QvZGVidWdpbmZv ZC1maW5kIGRlYnVnaW5mbyAkQlVJTERJRAordGVzdHJ1biAke2Fic190b3BfYnVpbGRkaXJ9L2Rl YnVnaW5mb2QvZGVidWdpbmZvZC1maW5kIGRlYnVnaW5mbyAkQlVJTERJRAordGVzdHJ1biAke2Fi c190b3BfYnVpbGRkaXJ9L2RlYnVnaW5mb2QvZGVidWdpbmZvZC1maW5kIGRlYnVnaW5mbyAkQlVJ TERJRAorcm0gLWYgJERFQlVHSU5GT0RfQ0FDSEVfUEFUSC8kQlVJTERJRC9kZWJ1Z2luZm8gLmNs aWVudF9jYWNoZSovJEJVSUxESUQvZGVidWdpbmZvCit0ZXN0cnVuICR7YWJzX3RvcF9idWlsZGRp cn0vZGVidWdpbmZvZC9kZWJ1Z2luZm9kLWZpbmQgZGVidWdpbmZvICRCVUlMRElECisKKyMgQ29u ZmlybSB0aGF0IHNvbWUgZGVidWdpbmZvZCBjbGllbnQgcG9vbHMgYXJlIGJlaW5nIHVzZWQKK2N1 cmwgLXMgaHR0cDovLzEyNy4wLjAuMTokUE9SVDIvbWV0cmljcyB8IGdyZXAgJ2RjX3Bvb2xfb3Au KnJldXNlJworCisjIFRyaWdnZXIgYSBmbG9vZCBvZiByZXF1ZXN0cyBhZ2FpbnN0IHRoZSBzYW1l IGFyY2hpdmUgY29udGVudCBmaWxlLgorIyBVc2UgYSBmaWxlIHRoYXQgaGFzbid0IGJlZW4gcHJl dmlvdXNseSBleHRyYWN0ZWQgaW4gdG8gbWFrZSBpdAorIyBsaWtlbHkgdGhhdCBldmVuIHRoaXMg dGVzdCBkZWJ1Z2luZm9kIHdpbGwgZXhwZXJpZW5jZSBjb25jdXJyZW5jeQorIyBhbmQgaW1wb3Nl IHNvbWUgImFmdGVyLXlvdSIgZGVsYXlzLgorKGZvciBpIGluIGBzZXEgMTAwYDsgZG8KKyAgICBj dXJsIC1zIGh0dHA6Ly8xMjcuMC4wLjE6JFBPUlQxL2J1aWxkaWQvODdjMDhkMTJjNzgxNzRmMTA4 MmI3Yzg4OGIzMjM4MjE5YjBlYjI2NS9leGVjdXRhYmxlID4vZGV2L251bGwgJgorIGRvbmU7Cisg d2FpdCkKK2N1cmwgLXMgaHR0cDovLzEyNy4wLjAuMTokUE9SVDEvbWV0cmljcyB8IGdyZXAgJ2h0 dHBfcmVzcG9uc2VzX2FmdGVyX3lvdS4qJworIyBJZiB3ZSBjb3VsZCBndWFyYW50ZWUgc29tZSBt aW5pbXVtIG51bWJlciBvZiBzZWNvbmRzIG9mIENQVSB0aW1lLCB3ZQorIyBjb3VsZCBhc3NlcnQg dGhhdCB0aGUgYWZ0ZXJfeW91IG1ldHJpY3Mgc2hvdyBzb21lIG5vbnplcm8gYW1vdW50IG9mCisj IHdhaXRpbmcuICBBIGZldyBodW5kcmVkIG1zIGlzIHR5cGljYWwgb24gdGhpcyBkZXZlbG9wZXIn cyB3b3Jrc3RhdGlvbi4KKwora2lsbCAkUElEMQora2lsbCAkUElEMgord2FpdCAkUElEMQord2Fp dCAkUElEMgorUElEMT0wCitQSUQyPTAKK2V4aXQgMAorCmRpZmYgLS1naXQgYS90ZXN0cy9ydW4t ZGVidWdpbmZvZC1mZWRlcmF0aW9uLXNxbGl0ZS5zaCBiL3Rlc3RzL3J1bi1kZWJ1Z2luZm9kLWZl ZGVyYXRpb24tc3FsaXRlLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwLi5l N2UwMDU0NAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3J1bi1kZWJ1Z2luZm9kLWZlZGVyYXRp b24tc3FsaXRlLnNoCkBAIC0wLDAgKzEsMjAwIEBACisjIS91c3IvYmluL2VudiBiYXNoCisjCisj IENvcHlyaWdodCAoQykgMjAxOS0yMDIxIFJlZCBIYXQsIEluYy4KKyMgVGhpcyBmaWxlIGlzIHBh cnQgb2YgZWxmdXRpbHMuCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9y CisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIGVsZnV0aWxzIGlz IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAorIyBX SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m CisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g IFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K KyMKKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UKKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8 aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisuICRzcmNkaXIvdGVzdC1zdWJyLnNoICAj IGluY2x1ZGVzIHNldCAtZQorCisjIGZvciB0ZXN0IGNhc2UgZGVidWdnaW5nLCB1bmNvbW1lbnQ6 CitzZXQgLXgKK3Vuc2V0IFZBTEdSSU5EX0NNRAorCitnZXRfcG9ydHMKK0RCPSR7UFdEfS8uZGVi dWdpbmZvZF90bXAuc3FsaXRlCitleHBvcnQgREVCVUdJTkZPRF9DQUNIRV9QQVRIPSR7UFdEfS8u Y2xpZW50X2NhY2hlCitleHBvcnQgREVCVUdJTkZPRF9USU1FT1VUPTEwCitleHBvcnQgREVCVUdJ TkZPRF9VUkxTPSdodHRwOi8vMTI3LjAuMC4xOickUE9SVDEKK3RlbXBmaWxlcyAkREIKKworIyBD bGVhbiBvbGQgZGlyaWN0b3JpZXMKK21rZGlyIEQgTCBGCisjIG5vdCB0ZW1wZmlsZXMgRiBSIEwg RCBaIC0gdGhleSBhcmUgZGlyZWN0b3JpZXMgd2hpY2ggd2UgY2xlYW4gdXAgbWFudWFsbHkKK2xu IC1zICR7YWJzX2J1aWxkZGlyfS9kd2ZsbGluZXMgTC9mb28gICAjIGFueSBwcm9ncmFtIG5vdCB1 c2VkIGVsc2V3aGVyZSBpbiB0aGlzIHRlc3QKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIENvbXBpbGUg YSBzaW1wbGUgcHJvZ3JhbSwgc3RyaXAgaXRzIGRlYnVnaW5mbyBhbmQgc2F2ZSB0aGUgYnVpbGQt aWQuCisjIEFsc28gbW92ZSB0aGUgZGVidWdpbmZvIGludG8gYW5vdGhlciBkaXJlY3Rvcnkgc28g dGhhdCBlbGZ1dGlscworIyBjYW5ub3QgZmluZCBpdCB3aXRob3V0IGRlYnVnaW5mb2QuCitlY2hv ICJpbnQgbWFpbigpIHsgcmV0dXJuIDA7IH0iID4gJHtQV0R9L3Byb2cuYwordGVtcGZpbGVzIHBy b2cuYworIyBDcmVhdGUgYSBzdWJkaXJlY3RvcnkgdG8gY29uZm91bmQgc291cmNlIHBhdGggbmFt ZXMKK21rZGlyIGZvb2JhcgorZ2NjIC1XbCwtLWJ1aWxkLWlkIC1nIC1vIHByb2cgJHtQV0R9L2Zv b2Jhci8vLy4vLi4vcHJvZy5jCit0ZXN0cnVuICR7YWJzX3RvcF9idWlsZGRpcn0vc3JjL3N0cmlw IC1nIC1mIHByb2cuZGVidWcgJHtQV0R9L3Byb2cKK0JVSUxESUQ9YGVudiBMRF9MSUJSQVJZX1BB VEg9JGxkcGF0aCAke2Fic19idWlsZGRpcn0vLi4vc3JjL3JlYWRlbGYgXAorICAgICAgICAgIC1h IHByb2cgfCBncmVwICdCdWlsZCBJRCcgfCBjdXQgLWQgJyAnIC1mIDdgCisKK212IHByb2cgRgor bXYgcHJvZy5kZWJ1ZyBGCisKK2dldF9wb3J0cworIyBMYXVuY2ggc2VydmVyIHdoaWNoIHdpbGwg YmUgdW5hYmxlIHRvIGZvbGxvdyBzeW1saW5rcworZW52IExEX0xJQlJBUllfUEFUSD0kbGRwYXRo ICR7YWJzX2J1aWxkZGlyfS8uLi9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QgJFZFUkJPU0UgLWQgJHtE Qn0gLUYgLVUgLXQwIC1nMCAtcCAkUE9SVDEgTCBEIEYgPiB2bG9nJFBPUlQxIDI+JjEgJgorUElE MT0kIQordGVtcGZpbGVzIHZsb2ckUE9SVDEKK2VycmZpbGVzIHZsb2ckUE9SVDEKKword2FpdF9y ZWFkeSAkUE9SVDEgJ3JlYWR5JyAxCisKK2tpbGwgLVVTUjEgJFBJRDEKK3dhaXRfcmVhZHkgJFBP UlQxICd0aHJlYWRfd29ya190b3RhbHtyb2xlPSJ0cmF2ZXJzZSJ9JyAxCit3YWl0X3JlYWR5ICRQ T1JUMSAndGhyZWFkX3dvcmtfcGVuZGluZ3tyb2xlPSJzY2FuIn0nIDAKK3dhaXRfcmVhZHkgJFBP UlQxICd0aHJlYWRfYnVzeXtyb2xlPSJzY2FuIn0nIDAKKworZXhwb3J0IERFQlVHSU5GT0RfQ0FD SEVfUEFUSD0ke1BXRH0vLmNsaWVudF9jYWNoZTIKK21rZGlyIC1wICRERUJVR0lORk9EX0NBQ0hF X1BBVEgKKyMgTkI6IHJ1biBpbiAtTCBzeW1saW5rLWZvbGxvd2luZyBtb2RlIGZvciB0aGUgTCBz dWJkaXIKK2VudiBMRF9MSUJSQVJZX1BBVEg9JGxkcGF0aCBERUJVR0lORk9EX1VSTFM9aHR0cDov LzEyNy4wLjAuMTokUE9SVDEgJHthYnNfYnVpbGRkaXJ9Ly4uL2RlYnVnaW5mb2QvZGVidWdpbmZv ZCAkVkVSQk9TRSAtZCAke0RCfV8yIC1GIC1VIC1wICRQT1JUMiAtTCBMIEQgRiA+IHZsb2ckUE9S VDIgMj4mMSAmCitQSUQyPSQhCit0ZW1wZmlsZXMgdmxvZyRQT1JUMgorZXJyZmlsZXMgdmxvZyRQ T1JUMgordGVtcGZpbGVzICR7REJ9XzIKK3dhaXRfcmVhZHkgJFBPUlQyICdyZWFkeScgMQorCitl eHBvcnQgREVCVUdJTkZPRF9VUkxTPSdodHRwOi8vMTI3LjAuMC4xOickUE9SVDIgCitpZiB0eXBl IGJzZHRhciAyPi9kZXYvbnVsbDsgdGhlbgorICAgICMgY29weSBpbiB0aGUgZGViIGZpbGVzCisg ICAgY3AgLXJ2cCAke2Fic19zcmNkaXJ9L2RlYnVnaW5mb2QtZGVicy8qZGViIEQKKyAgICBraWxs IC1VU1IxICRQSUQyCisgICAgd2FpdF9yZWFkeSAkUE9SVDIgJ3RocmVhZF93b3JrX3RvdGFse3Jv bGU9InRyYXZlcnNlIn0nIDEKKyAgICB3YWl0X3JlYWR5ICRQT1JUMiAndGhyZWFkX3dvcmtfcGVu ZGluZ3tyb2xlPSJzY2FuIn0nIDAKKyAgICB3YWl0X3JlYWR5ICRQT1JUMiAndGhyZWFkX2J1c3l7 cm9sZT0ic2NhbiJ9JyAwCisKKyAgICAjIEFsbCBkZWJzIG5lZWQgdG8gYmUgaW4gdGhlIGluZGV4 CisgICAgZGVicz0kKGZpbmQgRCAtbmFtZSBcKi5kZWIgfCB3YyAtbCkKKyAgICB3YWl0X3JlYWR5 ICRQT1JUMiAnc2Nhbm5lZF9maWxlc190b3RhbHtzb3VyY2U9Ii5kZWIgYXJjaGl2ZSJ9JyBgZXhw ciAkZGVic2AKKyAgICBkZGVicz0kKGZpbmQgRCAtbmFtZSBcKi5kZGViIHwgd2MgLWwpCisgICAg d2FpdF9yZWFkeSAkUE9SVDIgJ3NjYW5uZWRfZmlsZXNfdG90YWx7c291cmNlPSIuZGRlYiBhcmNo aXZlIn0nIGBleHByICRkZGVic2AKKworICAgICMgdWJ1bnR1CisgICAgYXJjaGl2ZV90ZXN0IGYx N2EyOWI1YTI1YmQ0OTYwNTMxZDgyYWE2YjA3YzhhYmU4NGZhNjYgIiIgIiIKK2ZpCisKK3JtIC1y ZiAkREVCVUdJTkZPRF9DQUNIRV9QQVRICit0ZXN0cnVuICR7YWJzX3RvcF9idWlsZGRpcn0vZGVi dWdpbmZvZC9kZWJ1Z2luZm9kLWZpbmQgZGVidWdpbmZvICRCVUlMRElECisKKyMgc2VuZCBhIHJl cXVlc3QgdG8gc3RyZXNzIFhGRiBhbmQgVXNlci1BZ2VudCBmZWRlcmF0aW9uIHJlbGF5OworIyB3 ZSdsbCBncmVwIGZvciB0aGUgdHdvIHBhdHRlcm5zIGluIHZsb2ckUE9SVDEKK2N1cmwgLXMgLUgg J1VzZXItQWdlbnQ6IFRFU1RDVVJMJyAtSCAnWC1Gb3J3YXJkZWQtRm9yOiBURVNUWEZGJyAkREVC VUdJTkZPRF9VUkxTL2J1aWxkaWQvZGVhZGRlYWRiZWVmMDAwMDAwMDAvZGVidWdpbmZvIC1vIC9k ZXYvbnVsbCB8fCB0cnVlCisKK2dyZXAgVUE6VEVTVENVUkwgdmxvZyRQT1JUMQorZ3JlcCBYRkY6 VEVTVFhGRiB2bG9nJFBPUlQxCisKKyMgY29uZmlybSB0aGF0IGZpcnN0IHNlcnZlciBjYW4ndCBy ZXNvbHZlIHN5bWxpbmtlZCBpbmZvIGluIEwvIGJ1dCBzZWNvbmQgY2FuCitCVUlMRElEPWBlbnYg TERfTElCUkFSWV9QQVRIPSRsZHBhdGggJHthYnNfYnVpbGRkaXJ9Ly4uL3NyYy9yZWFkZWxmIFwK KyAgICAgICAgIC1hIEwvZm9vIHwgZ3JlcCAnQnVpbGQgSUQnIHwgY3V0IC1kICcgJyAtZiA3YAor ZmlsZSBML2ZvbworZmlsZSAtTCBML2ZvbworZXhwb3J0IERFQlVHSU5GT0RfVVJMUz1odHRwOi8v MTI3LjAuMC4xOiRQT1JUMQorcm0gLXJmICRERUJVR0lORk9EX0NBQ0hFX1BBVEgKK3Rlc3RydW4g JHthYnNfdG9wX2J1aWxkZGlyfS9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QtZmluZCBkZWJ1Z2luZm8g JEJVSUxESUQgJiYgZmFsc2UgfHwgdHJ1ZQorcm0gLWYgJERFQlVHSU5GT0RfQ0FDSEVfUEFUSC8k QlVJTERJRC9kZWJ1Z2luZm8gIyBkcm9wIDAwMC1wZXJtIG5lZ2F0aXZlLWhpdCBmaWxlCitleHBv cnQgREVCVUdJTkZPRF9VUkxTPWh0dHA6Ly8xMjcuMC4wLjE6JFBPUlQyCit0ZXN0cnVuICR7YWJz X3RvcF9idWlsZGRpcn0vZGVidWdpbmZvZC9kZWJ1Z2luZm9kLWZpbmQgZGVidWdpbmZvICRCVUlM RElECisKKyMgdGVzdCBhZ2FpbiB3aXRoIHNjaGVtZSBmcmVlIHVybAorZXhwb3J0IERFQlVHSU5G T0RfVVJMUz0xMjcuMC4wLjE6JFBPUlQxCitybSAtcmYgJERFQlVHSU5GT0RfQ0FDSEVfUEFUSAor dGVzdHJ1biAke2Fic190b3BfYnVpbGRkaXJ9L2RlYnVnaW5mb2QvZGVidWdpbmZvZC1maW5kIGRl YnVnaW5mbyAkQlVJTERJRCAmJiBmYWxzZSB8fCB0cnVlCitybSAtZiAkREVCVUdJTkZPRF9DQUNI RV9QQVRILyRCVUlMRElEL2RlYnVnaW5mbyAjIGRyb3AgMDAwLXBlcm0gbmVnYXRpdmUtaGl0IGZp bGUKK2V4cG9ydCBERUJVR0lORk9EX1VSTFM9MTI3LjAuMC4xOiRQT1JUMgordGVzdHJ1biAke2Fi c190b3BfYnVpbGRkaXJ9L2RlYnVnaW5mb2QvZGVidWdpbmZvZC1maW5kIGRlYnVnaW5mbyAkQlVJ TERJRAorIyB0ZXN0IHBhcmFsbGVsIHF1ZXJpZXMgaW4gY2xpZW50CitleHBvcnQgREVCVUdJTkZP RF9DQUNIRV9QQVRIPSR7UFdEfS8uY2xpZW50X2NhY2hlMworbWtkaXIgLXAgJERFQlVHSU5GT0Rf Q0FDSEVfUEFUSAorZXhwb3J0IERFQlVHSU5GT0RfVVJMUz0iQkFEIGh0dHA6Ly8xMjcuMC4wLjE6 JFBPUlQxIDEyNy4wLjAuMTokUE9SVDEgaHR0cDovLzEyNy4wLjAuMTokUE9SVDIgRE5FIgorCit0 ZXN0cnVuICR7YWJzX2J1aWxkZGlyfS9kZWJ1Z2luZm9kX2J1aWxkX2lkX2ZpbmQgLWUgRi9wcm9n IDEKKworIyBBbmQgZ2VuZXJhdGUgYSBmZXcgZXJyb3JzIGludG8gdGhlIHNlY29uZCBkZWJ1Z2lu Zm9kJ3MgbG9ncywgZm9yIGFuYWx5c2lzIGp1c3QgYmVsb3cKK2N1cmwgLXMgaHR0cDovLzEyNy4w LjAuMTokUE9SVDIvYmFkYXBpID4gL2Rldi9udWxsIHx8IHRydWUKK2N1cmwgLXMgaHR0cDovLzEy Ny4wLjAuMTokUE9SVDIvYnVpbGRpZC9kZWFkYmVlZi9kZWJ1Z2luZm8gPiAvZGV2L251bGwgfHwg dHJ1ZQorIyBOQjogdGhpcyBlcnJvciBpcyB1c2VkIHRvIHNlZWQgdGhlIDQwNCBmYWlsdXJlIGZv ciB0aGUgc3Vydml2ZS00MDQgdGVzdHMKKworIyBDb25maXJtIGJhZCBhcnRpZmFjdCB0eXBlcyBh cmUgcmVqZWN0ZWQgd2l0aG91dCBsZWF2aW5nIHRyYWNlCitjdXJsIC1zIGh0dHA6Ly8xMjcuMC4w LjE6JFBPUlQyL2J1aWxkaWQvZGVhZGJlZWYvYmFkdHlwZSA+IC9kZXYvbnVsbCB8fCB0cnVlCiso Y3VybCAtcyBodHRwOi8vMTI3LjAuMC4xOiRQT1JUMi9tZXRyaWNzIHwgZ3JlcCAnYmFkdHlwZScp ICYmIGZhbHNlCisKKyMgRElTQUJMRSBWQUxHUklORCBjaGVja2luZyBiZWNhdXNlIHZhbGdyaW5k IG1pZ2h0IHVzZSBkZWJ1Z2luZm9kIGNsaWVudAorIyByZXF1ZXN0cyBpdHNlbGYsIGNhdXNpbmcg Y29uZnVzaW9uIGFib3V0IHdobyBwdXQgd2hhdCBpbiB0aGUgY2FjaGUuCisjIEl0IHN0YXlzIGRp c2FibGVkIHRpbGwgdGhlIGVuZCBvZiB0aGlzIHRlc3QuCit1bnNldCBWQUxHUklORF9DTUQKKwor IyBDb25maXJtIHRoYXQgcmV1c2VkIGN1cmwgY29ubmVjdGlvbnMgc3Vydml2ZSA0MDQgZXJyb3Jz LgorIyBUaGUgcm0ncyBmb3JjZSBhbiB1bmNhY2hlZCBmZXRjaAorcm0gLWYgJERFQlVHSU5GT0Rf Q0FDSEVfUEFUSC8kQlVJTERJRC9kZWJ1Z2luZm8gLmNsaWVudF9jYWNoZSovJEJVSUxESUQvZGVi dWdpbmZvCit0ZXN0cnVuICR7YWJzX3RvcF9idWlsZGRpcn0vZGVidWdpbmZvZC9kZWJ1Z2luZm9k LWZpbmQgZGVidWdpbmZvICRCVUlMRElECitybSAtZiAkREVCVUdJTkZPRF9DQUNIRV9QQVRILyRC VUlMRElEL2RlYnVnaW5mbyAuY2xpZW50X2NhY2hlKi8kQlVJTERJRC9kZWJ1Z2luZm8KK3Rlc3Ry dW4gJHthYnNfdG9wX2J1aWxkZGlyfS9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QtZmluZCBkZWJ1Z2lu Zm8gJEJVSUxESUQKK3Rlc3RydW4gJHthYnNfdG9wX2J1aWxkZGlyfS9kZWJ1Z2luZm9kL2RlYnVn aW5mb2QtZmluZCBkZWJ1Z2luZm8gJEJVSUxESUQKK3Rlc3RydW4gJHthYnNfdG9wX2J1aWxkZGly fS9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QtZmluZCBkZWJ1Z2luZm8gJEJVSUxESUQKK3JtIC1mICRE RUJVR0lORk9EX0NBQ0hFX1BBVEgvJEJVSUxESUQvZGVidWdpbmZvIC5jbGllbnRfY2FjaGUqLyRC VUlMRElEL2RlYnVnaW5mbwordGVzdHJ1biAke2Fic190b3BfYnVpbGRkaXJ9L2RlYnVnaW5mb2Qv ZGVidWdpbmZvZC1maW5kIGRlYnVnaW5mbyAkQlVJTERJRAorIyBUcmlnZ2VyIGEgZmxvb2Qgb2Yg cmVxdWVzdHMgYWdhaW5zdCB0aGUgc2FtZSBhcmNoaXZlIGNvbnRlbnQgZmlsZS4KKyMgVXNlIGEg ZmlsZSB0aGF0IGhhc24ndCBiZWVuIHByZXZpb3VzbHkgZXh0cmFjdGVkIGluIHRvIG1ha2UgaXQK KyMgbGlrZWx5IHRoYXQgZXZlbiB0aGlzIHRlc3QgZGVidWdpbmZvZCB3aWxsIGV4cGVyaWVuY2Ug Y29uY3VycmVuY3kKKyMgYW5kIGltcG9zZSBzb21lICJhZnRlci15b3UiIGRlbGF5cy4KKyhmb3Ig aSBpbiBgc2VxIDEwMGA7IGRvCisgICAgY3VybCAtcyBodHRwOi8vMTI3LjAuMC4xOiRQT1JUMS9i dWlsZGlkLzg3YzA4ZDEyYzc4MTc0ZjEwODJiN2M4ODhiMzIzODIxOWIwZWIyNjUvZXhlY3V0YWJs ZSA+L2Rldi9udWxsICYKKyBkb25lOworIHdhaXQpCitjdXJsIC1zIGh0dHA6Ly8xMjcuMC4wLjE6 JFBPUlQxL21ldHJpY3MgfCBncmVwICdodHRwX3Jlc3BvbnNlc19hZnRlcl95b3UuKicKKyMgSWYg d2UgY291bGQgZ3VhcmFudGVlIHNvbWUgbWluaW11bSBudW1iZXIgb2Ygc2Vjb25kcyBvZiBDUFUg dGltZSwgd2UKKyMgY291bGQgYXNzZXJ0IHRoYXQgdGhlIGFmdGVyX3lvdSBtZXRyaWNzIHNob3cg c29tZSBub256ZXJvIGFtb3VudCBvZgorIyB3YWl0aW5nLiAgQSBmZXcgaHVuZHJlZCBtcyBpcyB0 eXBpY2FsIG9uIHRoaXMgZGV2ZWxvcGVyJ3Mgd29ya3N0YXRpb24uCisKKyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IworIyBDb3JydXB0IHRoZSBzcWxpdGUgZGF0YWJhc2UgYW5kIGdldCBkZWJ1Z2luZm9kIHRvIHRy aXAgYWNyb3NzIGl0cyBlcnJvcnMKK2N1cmwgLXMgaHR0cDovLzEyNy4wLjAuMTokUE9SVDEvbWV0 cmljcyB8IGdyZXAgJ3NxbGl0ZTMuKnJlc2V0JworZGQgaWY9L2Rldi96ZXJvIG9mPSREQiBicz0x IGNvdW50PTEKKworIyB0cmlnZ2VyIHNvbWUgcmFuZG9tIGFjdGl2aXR5IHRoYXQncyBTdXJlIHRv IGdldCBzcWxpdGUzIHVwc2V0CitraWxsIC1VU1IxICRQSUQxCit3YWl0X3JlYWR5ICRQT1JUMSAn dGhyZWFkX3dvcmtfdG90YWx7cm9sZT0idHJhdmVyc2UifScgMgord2FpdF9yZWFkeSAkUE9SVDEg J3RocmVhZF93b3JrX3BlbmRpbmd7cm9sZT0ic2NhbiJ9JyAwCit3YWl0X3JlYWR5ICRQT1JUMSAn dGhyZWFkX2J1c3l7cm9sZT0ic2NhbiJ9JyAwCitraWxsIC1VU1IyICRQSUQxCit3YWl0X3JlYWR5 ICRQT1JUMSAndGhyZWFkX3dvcmtfdG90YWx7cm9sZT0iZ3Jvb20ifScgMQorY3VybCAtcyBodHRw Oi8vMTI3LjAuMC4xOiRQT1JUMS9idWlsZGlkL2JlZWZiZWVmYmVlZmQwMGRkMDBkL2RlYnVnaW5m byA+IC9kZXYvbnVsbCB8fCB0cnVlCitjdXJsIC1zIGh0dHA6Ly8xMjcuMC4wLjE6JFBPUlQxL21l dHJpY3MgfCBncmVwICdlcnJvcl9jb3VudC4qc3FsaXRlJworIyBSdW4gdGhlIHRlc3RzIGFnYWlu IHdpdGhvdXQgdGhlIHNlcnZlcnMgcnVubmluZy4gVGhlIHRhcmdldCBmaWxlIHNob3VsZAorIyBi ZSBmb3VuZCBpbiB0aGUgY2FjaGUuCisKK2tpbGwgLUlOVCAkUElEMSAkUElEMgord2FpdCAkUElE MSAkUElEMgorUElEMT0wCitQSUQyPTAKK3RlbXBmaWxlcyAuZGVidWdpbmZvZF8qCisKK3Rlc3Ry dW4gJHthYnNfYnVpbGRkaXJ9L2RlYnVnaW5mb2RfYnVpbGRfaWRfZmluZCAtZSBGL3Byb2cgMQor CisjIGNoZWNrIG91dCB0aGUgZGVidWdpbmZvZCBsb2dzIGZvciB0aGUgbmV3IHN0eWxlIHN0YXR1 cyBsaW5lcworY2F0IHZsb2ckUE9SVDIKK2dyZXAgLXEgJ1VBOi4qWEZGOi4qR0VUIC9idWlsZGlk Ly4qIDIwMCAnIHZsb2ckUE9SVDIKK2dyZXAgLXEgJ1VBOi4qWEZGOi4qR0VUIC9tZXRyaWNzIDIw MCAnIHZsb2ckUE9SVDIKK2dyZXAgLXEgJ1VBOi4qWEZGOi4qR0VUIC9iYWRhcGkgNTAzICcgdmxv ZyRQT1JUMgorZ3JlcCAtcSAnVUE6LipYRkY6LipHRVQgL2J1aWxkaWQvZGVhZGJlZWYuKiA0MDQg JyB2bG9nJFBPUlQyCisKK2V4aXQgMApkaWZmIC0tZ2l0IGEvdGVzdHMvcnVuLWRlYnVnaW5mb2Qt ZmlsZS5zaCBiL3Rlc3RzL3J1bi1kZWJ1Z2luZm9kLWZpbGUuc2gKbmV3IGZpbGUgbW9kZSAxMDA3 NTUKaW5kZXggMDAwMDAwMDAuLjMxODdjOTJiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvcnVu LWRlYnVnaW5mb2QtZmlsZS5zaApAQCAtMCwwICsxLDM5IEBACisjIS91c3IvYmluL2VudiBiYXNo CisjCisjIENvcHlyaWdodCAoQykgMjAxOS0yMDIxIFJlZCBIYXQsIEluYy4KKyMgVGhpcyBmaWxl IGlzIHBhcnQgb2YgZWxmdXRpbHMuCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5 b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJt cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRo ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vu c2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIGVsZnV0 aWxzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1 dAorIyBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh bnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS UE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4KKyMKKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UKKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3Qs IHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisuICRzcmNkaXIvdGVzdC1zdWJy LnNoICAjIGluY2x1ZGVzIHNldCAtZQorIyBmb3IgdGVzdCBjYXNlIGRlYnVnZ2luZywgdW5jb21t ZW50Ogorc2V0IC14Cit1bnNldCBWQUxHUklORF9DTUQKKworZXhwb3J0IERFQlVHSU5GT0RfVVJM Uz1odHRwOi8vMTI3LjAuMC4xOiRQT1JUMS8gICAjIG9yIHdpdGhvdXQgdHJhaWxpbmcgLworCisj IFRlc3QgZmV0Y2hpbmcgYSBmaWxlIHVzaW5nIGZpbGU6Ly8gLiBObyBkZWJ1Z2luZm9kIHNlcnZl ciBuZWVkcyB0byBiZSBydW4gZm9yCisjIHRoaXMgdGVzdC4KK2xvY2FsX2Rpcj0ke1BXRH0vbW9j a3RyZWUvYnVpbGRpZC9hYWFhYWFhYWFhYmJiYmJiYmJiYmNjY2NjY2NjY2NkZGRkZGRkZGRkL3Nv dXJjZS9teS9wYXRoCitta2RpciAtcCAke2xvY2FsX2Rpcn0KK2VjaG8gImludCBtYWluKCkgeyBy ZXR1cm4gMDsgfSIgPiAke2xvY2FsX2Rpcn0vbWFpbi5jCisjIGZpcnN0IHRlc3QgdGhhdCBpcyBk b2Vzbid0IHdvcmssIHdoZW4gbm8gREVCVUdJTkZPRF9VUkxTIGlzIHNldAorREVCVUdJTkZPRF9V UkxTPSIiCit0ZXN0cnVuICR7YWJzX3RvcF9idWlsZGRpcn0vZGVidWdpbmZvZC9kZWJ1Z2luZm9k LWZpbmQgc291cmNlIGFhYWFhYWFhYWFiYmJiYmJiYmJiY2NjY2NjY2NjY2RkZGRkZGRkZGQgL215 L3BhdGgvbWFpbi5jICYmIGZhbHNlIHx8IHRydWUKKworIyBOb3cgdGVzdCBpcyB3aXRoIHByb3Bl ciBERUJVR0lORk9EX1VSTFMKK0RFQlVHSU5GT0RfVVJMUz0iZmlsZTovLyR7UFdEfS9tb2NrdHJl ZS8iCitmaWxlbmFtZT1gdGVzdHJ1biAke2Fic190b3BfYnVpbGRkaXJ9L2RlYnVnaW5mb2QvZGVi dWdpbmZvZC1maW5kIHNvdXJjZSBhYWFhYWFhYWFhYmJiYmJiYmJiYmNjY2NjY2NjY2NkZGRkZGRk ZGRkIC9teS9wYXRoL21haW4uY2AKK2NtcCAkZmlsZW5hbWUgJHtsb2NhbF9kaXJ9L21haW4uYwor CitleGl0IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL3J1bi1kZWJ1Z2luZm9kLWZpbmQuc2ggYi90ZXN0 cy9ydW4tZGVidWdpbmZvZC1maW5kLnNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCA5 OTFkMWRjNS4uMDAwMDAwMDAKLS0tIGEvdGVzdHMvcnVuLWRlYnVnaW5mb2QtZmluZC5zaAorKysg L2Rldi9udWxsCkBAIC0xLDgwNyArMCwwIEBACi0jIS91c3IvYmluL2VudiBiYXNoCi0jCi0jIENv cHlyaWdodCAoQykgMjAxOS0yMDIxIFJlZCBIYXQsIEluYy4KLSMgVGhpcyBmaWxlIGlzIHBhcnQg b2YgZWxmdXRpbHMuCi0jCi0jIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl ZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0jIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0jIHRoZSBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0j IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0jCi0jIGVsZnV0aWxzIGlzIGRp c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAotIyBXSVRI T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0j IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl ZSB0aGUKLSMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSMK LSMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UKLSMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0 cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0KLS4gJHNyY2Rpci90ZXN0LXN1YnIuc2ggICMg aW5jbHVkZXMgc2V0IC1lCi0KLXR5cGUgY3VybCAyPi9kZXYvbnVsbCB8fCAoZWNobyAibmVlZCBj dXJsIjsgZXhpdCA3NykKLXR5cGUgcnBtMmNwaW8gMj4vZGV2L251bGwgfHwgKGVjaG8gIm5lZWQg cnBtMmNwaW8iOyBleGl0IDc3KQotdHlwZSBjcGlvIDI+L2Rldi9udWxsIHx8IChlY2hvICJuZWVk IGNwaW8iOyBleGl0IDc3KQotdHlwZSBiemNhdCAyPi9kZXYvbnVsbCB8fCAoZWNobyAibmVlZCBi emNhdCI7IGV4aXQgNzcpCi1ic2R0YXIgLS12ZXJzaW9uIHwgZ3JlcCAtcSB6c3RkICYmIHpzdGQ9 dHJ1ZSB8fCB6c3RkPWZhbHNlCi1lY2hvICJ6c3RkPSR6c3RkIGJzZHRhcj1gYnNkdGFyIC0tdmVy c2lvbmAiCi0KLSMgZm9yIHRlc3QgY2FzZSBkZWJ1Z2dpbmcsIHVuY29tbWVudDoKLXNldCAteAot VkVSQk9TRT0tdnZ2Ci0KLURCPSR7UFdEfS8uZGVidWdpbmZvZF90bXAuc3FsaXRlCi10ZW1wZmls ZXMgJERCCi1leHBvcnQgREVCVUdJTkZPRF9DQUNIRV9QQVRIPSR7UFdEfS8uY2xpZW50X2NhY2hl Ci0KLVBJRDE9MAotUElEMj0wCi1QSUQzPTAKLVBJRDQ9MAotCi1jbGVhbnVwKCkKLXsKLSAgaWYg WyAkUElEMSAtbmUgMCBdOyB0aGVuIGtpbGwgJFBJRDE7IHdhaXQgJFBJRDE7IGZpCi0gIGlmIFsg JFBJRDIgLW5lIDAgXTsgdGhlbiBraWxsICRQSUQyOyB3YWl0ICRQSUQyOyBmaQotICBpZiBbICRQ SUQzIC1uZSAwIF07IHRoZW4ga2lsbCAkUElEMzsgd2FpdCAkUElEMzsgZmkKLSAgaWYgWyAkUElE NCAtbmUgMCBdOyB0aGVuIGtpbGwgJFBJRDQ7IHdhaXQgJFBJRDQ7IGZpCi0gIHJtIC1yZiBGIFIg RCBMIFogJHtQV0R9L2Zvb2JhciAke1BXRH0vbW9ja3RyZWUgJHtQV0R9Ly5jbGllbnRfY2FjaGUq ICR7UFdEfS90bXAqCi0gIGV4aXRfY2xlYW51cAotfQotCi0jIGNsZWFuIHVwIHRyYXNoIGlmIHdl IHdlcmUgYWJvcnRlZCBlYXJseQotdHJhcCBjbGVhbnVwIDAgMSAyIDMgNSA5IDE1Ci0KLWVycmZp bGVzX2xpc3Q9Ci1lcnIoKSB7Ci0gICAgZWNobyBFUlJPUiBSRVBPUlRTCi0gICAgZm9yIHBvcnRz IGluICRQT1JUMSAkUE9SVDIgJFBPUlQzCi0gICAgZG8KLSAgICAgICAgZWNobyBFUlJPUiBSRVBP UlQgJHBvcnQgbWV0cmljcwotICAgICAgICBjdXJsIC1zIGh0dHA6Ly8xMjcuMC4wLjE6JHBvcnQv bWV0cmljcwotICAgICAgICBlY2hvCi0gICAgZG9uZQotICAgIGZvciB4IGluICRlcnJmaWxlc19s aXN0Ci0gICAgZG8KLSAgICAgICAgZWNobyBFUlJPUiBSRVBPUlQgIiR4IgotICAgICAgICBjYXQg JHgKLSAgICAgICAgZWNobwotICAgIGRvbmUKLSAgICBmYWxzZSAjIHRyaWdnZXIgc2V0IC1lCi19 Ci10cmFwIGVyciBFUlIKLQotZXJyZmlsZXMoKSB7Ci0gICAgZXJyZmlsZXNfbGlzdD0iJGVycmZp bGVzX2xpc3QgJCoiCi19Ci0KLQotIyBmaW5kIGFuIHVudXNlZCBwb3J0IG51bWJlcgotd2hpbGUg dHJ1ZTsgZG8KLSAgICBQT1JUMT1gZXhwciAnKCcgJFJBTkRPTSAlIDEwMDAgJyknICsgOTAwMGAK LSAgICBzcyAtYXRuIHwgZmdyZXAgIjokUE9SVDEiIHx8IGJyZWFrCi1kb25lICAgIAotCi0jIFdl IHdhbnQgdG8gcnVuIGRlYnVnaW5mb2QgaW4gdGhlIGJhY2tncm91bmQuICBXZSBhbHNvIHdhbnQg dG8gc3RhcnQKLSMgaXQgd2l0aCB0aGUgc2FtZSBjaGVjay9pbnN0YWxsY2hlY2stc2Vuc2l0aXZl IExEX0xJQlJBUllfUEFUSCBzdHVmZgotIyB0aGF0IHRoZSB0ZXN0cnVuIGFsaWFzIHNldHMuICBC dXQ6IHdlIGlmIHdlIGp1c3QgdXNlCi0jICAgIHRlc3RydW4gLi4uL2RlYnVnaW5mb2QKLSMgaXQg cnVucyBpbiBhIHN1YnNoZWxsLCB3aXRoIGRpZmZlcmVudCBwaWQsIHNvIG5vdCBoZWxwZnVsLgot IwotIyBTbyB3ZSBnYXRoZXIgdGhlIExEX0xJQlJBUllfUEFUSCB3aXRoIHRoaXMgY3VubmluZyB0 cmljazoKLWxkcGF0aD1gdGVzdHJ1biBzaCAtYyAnZWNobyAkTERfTElCUkFSWV9QQVRIJ2AKLQot bWtkaXIgRiBSIEwgRCBaCi0jIG5vdCB0ZW1wZmlsZXMgRiBSIEwgRCBaIC0gdGhleSBhcmUgZGly ZWN0b3JpZXMgd2hpY2ggd2UgY2xlYW4gdXAgbWFudWFsbHkKLWxuIC1zICR7YWJzX2J1aWxkZGly fS9kd2ZsbGluZXMgTC9mb28gICAjIGFueSBwcm9ncmFtIG5vdCB1c2VkIGVsc2V3aGVyZSBpbiB0 aGlzIHRlc3QKLQotd2FpdF9yZWFkeSgpCi17Ci0gIHBvcnQ9JDE7Ci0gIHdoYXQ9JDI7Ci0gIHZh bHVlPSQzOwotICB0aW1lb3V0PTIwOwotCi0gIGVjaG8gIldhaXQgJHRpbWVvdXQgc2Vjb25kcyBv biAkcG9ydCBmb3IgbWV0cmljICR3aGF0IHRvIGNoYW5nZSB0byAkdmFsdWUiCi0gIHdoaWxlIFsg JHRpbWVvdXQgLWd0IDAgXTsgZG8KLSAgICBtdmFsdWU9IiQoY3VybCAtcyBodHRwOi8vMTI3LjAu MC4xOiRwb3J0L21ldHJpY3MgXAotICAgICAgICAgICAgICB8IGdyZXAgIiR3aGF0IiB8IGF3ayAn e3ByaW50ICRORn0nKSIKLSAgICBpZiBbIC16ICIkbXZhbHVlIiBdOyB0aGVuIG12YWx1ZT0wOyBm aQotICAgICAgZWNobyAibWV0cmljICR3aGF0OiAkbXZhbHVlIgotICAgICAgaWYgWyAiJG12YWx1 ZSIgLWVxICIkdmFsdWUiIF07IHRoZW4KLSAgICAgICAgYnJlYWs7Ci0gICAgZmkKLSAgICBzbGVl cCAwLjU7Ci0gICAgKCh0aW1lb3V0LS0pKTsKLSAgZG9uZTsKLQotICBpZiBbICR0aW1lb3V0IC1l cSAwIF07IHRoZW4KLSAgICBlY2hvICJtZXRyaWMgJHdoYXQgbmV2ZXIgY2hhbmdlZCB0byAkdmFs dWUgb24gcG9ydCAkcG9ydCIKLSAgICBlcnIKLSAgZmkKLX0KLQotRkRDQUNIRV9GRFM9NTAKLUZE Q0FDSEVfTUJTPTE5MAotUFJFRkVUQ0hfRkRTPTEwCi1QUkVGRVRDSF9NQlM9MTIwCi0jIGNyZWF0 ZSBhIGJvZ3VzIC5ycG0gZmlsZSB0byBldm9rZSBhIG1ldHJpYy12aXNpYmxlIGVycm9yCi0jIFVz ZSBhIGN5Y2xpYyBzeW1saW5rIGluc3RlYWQgb2YgY2htb2QgMDAwIHRvIG1ha2Ugc3VyZSBldmVu IHJvb3QKLSMgd291bGQgc2VlIGFuIGVycm9yIChydW5uaW5nIHRoZSB0ZXN0c3VpdGUgdW5kZXIg cm9vdCBpcyBOT1QgZW5jb3VyYWdlZCkuCi1sbiAtcyBSL25vdGhpbmcucnBtIFIvbm90aGluZy5y cG0KLWVudiBMRF9MSUJSQVJZX1BBVEg9JGxkcGF0aCBERUJVR0lORk9EX1VSTFM9ICR7YWJzX2J1 aWxkZGlyfS8uLi9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QgJFZFUkJPU0UgLUYgLVIgLWQgJERCIC1w ICRQT1JUMSAtdDAgLWcwIC0tZmRjYWNoZS1tYnM9JEZEQ0FDSEVfTUJTIC0tZmRjYWNoZS1mZHM9 JEZEQ0FDSEVfRkRTIC0tZmRjYWNoZS1wcmVmZXRjaC1tYnM9JFBSRUZFVENIX01CUyAtLWZkY2Fj aGUtcHJlZmV0Y2gtZmRzPSRQUkVGRVRDSF9GRFMgLS1mZGNhY2hlLW1pbnRtcCAwIC1aIC50YXIu eHogLVogLnRhci5iejI9YnpjYXQgLXYgUiBGIFogTCA+IHZsb2ckUE9SVDEgMj4mMSAmCi1QSUQx PSQhCi10ZW1wZmlsZXMgdmxvZyRQT1JUMQotZXJyZmlsZXMgdmxvZyRQT1JUMQotIyBTZXJ2ZXIg bXVzdCBiZWNvbWUgcmVhZHkKLXdhaXRfcmVhZHkgJFBPUlQxICdyZWFkeScgMQotZXhwb3J0IERF QlVHSU5GT0RfVVJMUz1odHRwOi8vMTI3LjAuMC4xOiRQT1JUMS8gICAjIG9yIHdpdGhvdXQgdHJh aWxpbmcgLwotCi0jIEJlIHBhdGllbnQgd2hlbiBydW4gb24gYSBidXN5IG1hY2hpbmUgdGhpbmdz IG1pZ2h0IHRha2UgYSBiaXQuCi1leHBvcnQgREVCVUdJTkZPRF9USU1FT1VUPTEwCi0KLSMgQ2hl Y2sgdGhyZWFkIGNvbW0gbmFtZXMKLXBzIC1xICRQSUQxIC1lIC1MIC1vICclcCAlYyAlYScgfCBn cmVwIGdyb29tCi1wcyAtcSAkUElEMSAtZSAtTCAtbyAnJXAgJWMgJWEnIHwgZ3JlcCBzY2FuCi1w cyAtcSAkUElEMSAtZSAtTCAtbyAnJXAgJWMgJWEnIHwgZ3JlcCB0cmF2ZXJzZQotCi0jIFdlIHVz ZSAtdDAgYW5kIC1nMCBoZXJlIHRvIHR1cm4gb2ZmIHRpbWUtYmFzZWQgc2Nhbm5pbmcgJiBncm9v bWluZy4KLSMgRm9yIHRlc3RpbmcgcHVycG9zZXMsIHdlIGp1c3Qgc2ljIFNJR1VTUjEgLyBTSUdV U1IyIGF0IHRoZSBwcm9jZXNzLgotCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLQotIyBDb21waWxlIGEgc2lt cGxlIHByb2dyYW0sIHN0cmlwIGl0cyBkZWJ1Z2luZm8gYW5kIHNhdmUgdGhlIGJ1aWxkLWlkLgot IyBBbHNvIG1vdmUgdGhlIGRlYnVnaW5mbyBpbnRvIGFub3RoZXIgZGlyZWN0b3J5IHNvIHRoYXQg ZWxmdXRpbHMKLSMgY2Fubm90IGZpbmQgaXQgd2l0aG91dCBkZWJ1Z2luZm9kLgotZWNobyAiaW50 IG1haW4oKSB7IHJldHVybiAwOyB9IiA+ICR7UFdEfS9wK3Ilb1wkZy5jCi10ZW1wZmlsZXMgcCty JW9cJGcuYwotIyBDcmVhdGUgYSBzdWJkaXJlY3RvcnkgdG8gY29uZm91bmQgc291cmNlIHBhdGgg bmFtZXMKLW1rZGlyIGZvb2JhcgotZ2NjIC1XbCwtLWJ1aWxkLWlkIC1nIC1vIHArciVvXCRnICR7 UFdEfS9mb29iYXIvLy8uLy4uL3ArciVvXCRnLmMKLXRlc3RydW4gJHthYnNfdG9wX2J1aWxkZGly fS9zcmMvc3RyaXAgLWcgLWYgcCtyJW9cJGcuZGVidWcgJHtQV0R9L3ArciVvXCRnCi1CVUlMRElE PWBlbnYgTERfTElCUkFSWV9QQVRIPSRsZHBhdGggJHthYnNfYnVpbGRkaXJ9Ly4uL3NyYy9yZWFk ZWxmIFwKLSAgICAgICAgICAtYSBwK3Ilb1xcJGcgfCBncmVwICdCdWlsZCBJRCcgfCBjdXQgLWQg JyAnIC1mIDdgCi0KLXdhaXRfcmVhZHkgJFBPUlQxICd0aHJlYWRfd29ya190b3RhbHtyb2xlPSJ0 cmF2ZXJzZSJ9JyAxCi1tdiBwK3Ilb1wkZyBGCi1tdiBwK3Ilb1wkZy5kZWJ1ZyBGCi1raWxsIC1V U1IxICRQSUQxCi0jIFdhaXQgdGlsbCBib3RoIGZpbGVzIGFyZSBpbiB0aGUgaW5kZXguCi13YWl0 X3JlYWR5ICRQT1JUMSAndGhyZWFkX3dvcmtfdG90YWx7cm9sZT0idHJhdmVyc2UifScgMgotd2Fp dF9yZWFkeSAkUE9SVDEgJ3RocmVhZF93b3JrX3BlbmRpbmd7cm9sZT0ic2NhbiJ9JyAwCi13YWl0 X3JlYWR5ICRQT1JUMSAndGhyZWFkX2J1c3l7cm9sZT0ic2NhbiJ9JyAwCi0KLSMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIwotCi0jIFRlc3Qgd2hldGhlciBlbGZ1dGlscywgdmlhIHRoZSBkZWJ1Z2luZm9kIGNsaWVu dCBsaWJyYXJ5IGRsb3BlbiBob29rcywKLSMgaXMgYWJsZSB0byBmZXRjaCBkZWJ1Z2luZm8gZnJv bSB0aGUgbG9jYWwgZGVidWdpbmZvZC4KLXRlc3RydW4gJHthYnNfYnVpbGRkaXJ9L2RlYnVnaW5m b2RfYnVpbGRfaWRfZmluZCAtZSBGL3ArciVvXCRnIDEKLQotIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0jIyBQ UjI3ODkyCi0jIEVuc3VyZSBERUJVR0lORk9EX01BWFNJWkUgaXMgZnVuY3Rpb25hbCBhbmQgc2Vu ZHMgYmFjayB0aGUgY29ycmVjdCBodHRwCi0jIGNvZGUKLWVudiBMRF9MSUJSQVJZX1BBVEg9JGxk cGF0aCBERUJVR0lORk9EX1JFVFJZX0xJTUlUPTEgREVCVUdJTkZPRF9VUkxTPSJodHRwOi8vMTI3 LjAuMC4xOiRQT1JUMS8iIERFQlVHSU5GT0RfTUFYU0laRT0xIFwKLSAgICAke2Fic190b3BfYnVp bGRkaXJ9L2RlYnVnaW5mb2QvZGVidWdpbmZvZC1maW5kIC12IGRlYnVnaW5mbyBGL3ArciVvXCRn LmRlYnVnIDI+IGZpbmQtdmxvZyRQT1JUMSB8fCB0cnVlCi10ZW1wZmlsZXMgZmluZC12bG9nJFBP UlQxCi0jIHdhaXQgZm9yIHRoZSBzZXJ2ZXIgdG8gZmFpbCB0aGUgc2FtZSBudW1iZXIgb2YgdGlt ZXMgdGhlIHF1ZXJ5IGlzIHJldHJpZWQuCi13YWl0X3JlYWR5ICRQT1JUMSAnaHR0cF9yZXNwb25z ZXNfYWZ0ZXJfeW91X21pbGxpc2Vjb25kc19jb3VudHtjb2RlPSI0MDYifScgMQotIyBlbnN1cmUg YWxsIHJlcG9ydGluZyBpcyBmdW5jdGlvbmFsCi1ncmVwICdzZXJ2aW5nIGZpbGUgJyQocmVhbHBh dGggJHtQV0R9KScvRi9wK3Ilb1wkZy5kZWJ1ZycgdmxvZyRQT1JUMQotZ3JlcCAnRmlsZSB0b28g bGFyZ2UnIHZsb2ckUE9SVDEKLWdyZXAgJ3VzaW5nIG1heCBzaXplIDFCJyBmaW5kLXZsb2ckUE9S VDEKLWlmIFsgLWYgJHtERUJVR0lORk9EX0NBQ0hFX1BBVEh9LyR7QlVJTERJRH0gXTsgdGhlbgot ICBlY2hvICJGaWxlIGNhY2hlZCBhZnRlciBtYXhzaXplIGNoZWNrIgotICBlcnIKLWZpCi0KLSMg RW5zdXJlIERFQlVHSU5GT0RfTUFYVElNRSBpcyBmdW5jdGlvbmFsCi1lbnYgTERfTElCUkFSWV9Q QVRIPSRsZHBhdGggREVCVUdJTkZPRF9VUkxTPSJodHRwOi8vMTI3LjAuMC4xOjgwMDIvIiBERUJV R0lORk9EX01BWFRJTUU9MSBcCi0gICAgJHthYnNfdG9wX2J1aWxkZGlyfS9kZWJ1Z2luZm9kL2Rl YnVnaW5mb2QtZmluZCAtdiBkZWJ1Z2luZm8gRi9wK3Ilb1wkZy5kZWJ1ZyAyPiBmaW5kLXZsb2ck UE9SVDEgfHwgdHJ1ZQotZ3JlcCAndXNpbmcgbWF4IHRpbWUnIGZpbmQtdmxvZyRQT1JUMQotIyBF bnN1cmUgcCtyJW9cJGcuZGVidWcgaXMgTk9UIGNhY2hlZAotaWYgWyAtZiAke0RFQlVHSU5GT0Rf Q0FDSEVfUEFUSH0vJHtCVUlMRElEfSBdOyB0aGVuCi0gIGVjaG8gIkZpbGUgY2FjaGVkIGFmdGVy IG1heHRpbWUgY2hlY2siCi0gIGVycgotZmkKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyBQUjI1NjI4Ci1y bSAtcmYgJERFQlVHSU5GT0RfQ0FDSEVfUEFUSCAjIGNsZWFuIGl0IGZyb20gcHJldmlvdXMgdGVz dHMKLQotIyBUaGUgcXVlcnkgaXMgZGVzaWduZWQgdG8gZmFpbCwgd2hpbGUgdGhlIDAwMC1wZXJt aXNzaW9uIGZpbGUgc2hvdWxkIGJlIGNyZWF0ZWQuCi10ZXN0cnVuICR7YWJzX3RvcF9idWlsZGRp cn0vZGVidWdpbmZvZC9kZWJ1Z2luZm9kLWZpbmQgZGVidWdpbmZvIDAxMjM0NTY3IHx8IHRydWUK LWlmIFsgISAtZiAkREVCVUdJTkZPRF9DQUNIRV9QQVRILzAxMjM0NTY3L2RlYnVnaW5mbyBdOyB0 aGVuCi0gIGVjaG8gImNvdWxkIG5vdCBmaW5kIGNhY2hlIGluICRERUJVR0lORk9EX0NBQ0hFX1BB VEgiCi0gIGVycgotZmkKLQotaWYgWyAtciAkREVCVUdJTkZPRF9DQUNIRV9QQVRILzAxMjM0NTY3 L2RlYnVnaW5mbyBdOyB0aGVuCi0gIGVjaG8gIlRoZSBjYWNoZSAkREVCVUdJTkZPRF9DQUNIRV9Q QVRILzAxMjM0NTY3L2RlYnVnaW5mbyBpcyByZWFkYWJsZSIKLSAgZXJyCi1maQotCi1ieXRlY291 bnRfYmVmb3JlPWBjdXJsIC1zIGh0dHA6Ly8xMjcuMC4wLjE6JFBPUlQxL21ldHJpY3MgfCBncmVw ICdodHRwX3Jlc3BvbnNlc190cmFuc2Zlcl9ieXRlc19jb3VudHtjb2RlPSI0MDQifSdgCi10ZXN0 cnVuICR7YWJzX3RvcF9idWlsZGRpcn0vZGVidWdpbmZvZC9kZWJ1Z2luZm9kLWZpbmQgZGVidWdp bmZvIDAxMjM0NTY3IHx8IHRydWUKLWJ5dGVjb3VudF9hZnRlcj1gY3VybCAtcyBodHRwOi8vMTI3 LjAuMC4xOiRQT1JUMS9tZXRyaWNzIHwgZ3JlcCAnaHR0cF9yZXNwb25zZXNfdHJhbnNmZXJfYnl0 ZXNfY291bnR7Y29kZT0iNDA0In0nYAotaWYgWyAiJGJ5dGVjb3VudF9iZWZvcmUiICE9ICIkYnl0 ZWNvdW50X2FmdGVyIiBdOyB0aGVuCi0gIGVjaG8gImh0dHBfcmVzcG9uc2VzX3RyYW5zZmVyX2J5 dGVzX2NvdW50e2NvZGU9IjQwNCJ9IGhhcyBjaGFuZ2VkLiIKLSAgZXJyCi1maQotCi0jIHNldCBj YWNoZV9taXNzX3MgdG8gMCBhbmQgc2xlZXAgMSB0byBtYWtlIHRoZSBtdGltZSBleHBpcmUuCi1l Y2hvIDAgPiAkREVCVUdJTkZPRF9DQUNIRV9QQVRIL2NhY2hlX21pc3Nfcwotc2xlZXAgMQotYnl0 ZWNvdW50X2JlZm9yZT1gY3VybCAtcyBodHRwOi8vMTI3LjAuMC4xOiRQT1JUMS9tZXRyaWNzIHwg Z3JlcCAnaHR0cF9yZXNwb25zZXNfdHJhbnNmZXJfYnl0ZXNfY291bnR7Y29kZT0iNDA0In0nYAot dGVzdHJ1biAke2Fic190b3BfYnVpbGRkaXJ9L2RlYnVnaW5mb2QvZGVidWdpbmZvZC1maW5kIGRl YnVnaW5mbyAwMTIzNDU2NyB8fCB0cnVlCi1ieXRlY291bnRfYWZ0ZXI9YGN1cmwgLXMgaHR0cDov LzEyNy4wLjAuMTokUE9SVDEvbWV0cmljcyB8IGdyZXAgJ2h0dHBfcmVzcG9uc2VzX3RyYW5zZmVy X2J5dGVzX2NvdW50e2NvZGU9IjQwNCJ9J2AKLWlmIFsgIiRieXRlY291bnRfYmVmb3JlIiA9PSAi JGJ5dGVjb3VudF9hZnRlciIgXTsgdGhlbgotICBlY2hvICJodHRwX3Jlc3BvbnNlc190cmFuc2Zl cl9ieXRlc19jb3VudHtjb2RlPSI0MDQifSBzaG91bGQgYmUgaW5jcmVtZW50ZWQuIgotICBlcnIK LWZpCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMKLQotIyBUZXN0IHdoZXRoZXIgZGVidWdpbmZvZC1maW5kIGlz IGFibGUgdG8gZmV0Y2ggdGhvc2UgZmlsZXMuCi1ybSAtcmYgJERFQlVHSU5GT0RfQ0FDSEVfUEFU SCAjIGNsZWFuIGl0IGZyb20gcHJldmlvdXMgdGVzdHMKLWZpbGVuYW1lPWB0ZXN0cnVuICR7YWJz X3RvcF9idWlsZGRpcn0vZGVidWdpbmZvZC9kZWJ1Z2luZm9kLWZpbmQgZGVidWdpbmZvICRCVUlM RElEYAotY21wICRmaWxlbmFtZSBGL3ArciVvXCRnLmRlYnVnCi1pZiBbIC13ICRmaWxlbmFtZSBd OyB0aGVuCi0gICAgZWNobyAiY2FjaGUgZmlsZSB3cml0YWJsZSwgYm9vIgotICAgIGVycgotZmkK LQotZmlsZW5hbWU9YHRlc3RydW4gJHthYnNfdG9wX2J1aWxkZGlyfS9kZWJ1Z2luZm9kL2RlYnVn aW5mb2QtZmluZCBleGVjdXRhYmxlIEYvcCtyJW9cXCRnYAotY21wICRmaWxlbmFtZSBGL3ArciVv XCRnCi0KLSMgcmF3IHNvdXJjZSBmaWxlbmFtZQotZmlsZW5hbWU9YHRlc3RydW4gJHthYnNfdG9w X2J1aWxkZGlyfS9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QtZmluZCBzb3VyY2UgJEJVSUxESUQgJHtQ V0R9L2Zvb2Jhci8vLy4vLi4vcCtyJW9cXCRnLmNgCi1jbXAgJGZpbGVuYW1lICAke1BXRH0vcCty JW9cJGcuYwotCi0jIGFuZCBhbHNvIHRoZSBjYW5vbmljYWxpemVkIG9uZQotZmlsZW5hbWU9YHRl c3RydW4gJHthYnNfdG9wX2J1aWxkZGlyfS9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QtZmluZCBzb3Vy Y2UgJEJVSUxESUQgJHtQV0R9L3ArciVvXFwkZy5jYAotY21wICRmaWxlbmFtZSAgJHtQV0R9L3Ar ciVvXCRnLmMKLQotCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLQotIyBUZXN0IHdoZXRoZXIgdGhlIGNhY2hl IGRlZmF1bHQgbG9jYXRpb25zIGFyZSBjb3JyZWN0Ci0KLW1rZGlyIHRtcGhvbWUKLQotIyAkSE9N RS8uY2FjaGUgc2hvdWxkIGJlIGNyZWF0ZWQuCi10ZXN0cnVuIGVudiBIT01FPSRQV0QvdG1waG9t ZSBYREdfQ0FDSEVfSE9NRT0gREVCVUdJTkZPRF9DQUNIRV9QQVRIPSAke2Fic190b3BfYnVpbGRk aXJ9L2RlYnVnaW5mb2QvZGVidWdpbmZvZC1maW5kIGRlYnVnaW5mbyAkQlVJTERJRAotaWYgWyAh IC1mICRQV0QvdG1waG9tZS8uY2FjaGUvZGVidWdpbmZvZF9jbGllbnQvJEJVSUxESUQvZGVidWdp bmZvIF07IHRoZW4KLSAgZWNobyAiY291bGQgbm90IGZpbmQgY2FjaGUgaW4gJFBXRC90bXBob21l Ly5jYWNoZSIKLSAgZXJyCi1maQotCi0jICRIT01FLy5jYWNoZSBzaG91bGQgYmUgZm91bmQuCi10 ZXN0cnVuIGVudiBIT01FPSRQV0QvdG1waG9tZSBYREdfQ0FDSEVfSE9NRT0gREVCVUdJTkZPRF9D QUNIRV9QQVRIPSAke2Fic190b3BfYnVpbGRkaXJ9L2RlYnVnaW5mb2QvZGVidWdpbmZvZC1maW5k IGV4ZWN1dGFibGUgJEJVSUxESUQKLWlmIFsgISAtZiAkUFdEL3RtcGhvbWUvLmNhY2hlL2RlYnVn aW5mb2RfY2xpZW50LyRCVUlMRElEL2V4ZWN1dGFibGUgXTsgdGhlbgotICBlY2hvICJjb3VsZCBu b3QgZmluZCBjYWNoZSBpbiAkUFdEL3RtcGhvbWUvLmNhY2hlIgotICBlcnIKLWZpCi0KLSMgJFhE R19DQUNIRV9IT01FIHNob3VsZCB0YWtlIHByaW9yaXR5IG92ZXIgJEhPTUUuY2FjaGUuCi10ZXN0 cnVuIGVudiBIT01FPSRQV0QvdG1waG9tZSBYREdfQ0FDSEVfSE9NRT0kUFdEL3RtcHhkZyBERUJV R0lORk9EX0NBQ0hFX1BBVEg9ICR7YWJzX3RvcF9idWlsZGRpcn0vZGVidWdpbmZvZC9kZWJ1Z2lu Zm9kLWZpbmQgZGVidWdpbmZvICRCVUlMRElECi1pZiBbICEgLWYgJFBXRC90bXB4ZGcvZGVidWdp bmZvZF9jbGllbnQvJEJVSUxESUQvZGVidWdpbmZvIF07IHRoZW4KLSAgZWNobyAiY291bGQgbm90 IGZpbmQgY2FjaGUgaW4gJFBXRC90bXB4ZGcvIgotICBlcnIKLWZpCi0KLSMgQSBjYWNoZSBhdCB0 aGUgb2xkIGRlZmF1bHQgbG9jYXRpb24gKCRIT01FLy5kZWJ1Z2luZm9kX2NsaWVudF9jYWNoZSkg c2hvdWxkIHRha2UKLSMgcHJpb3JpdHkgb3ZlciAkSE9NRS8uY2FjaGUsICRYREdfQ0FDSEVfSE9N RS4KLWNwIC12ciAkREVCVUdJTkZPRF9DQUNIRV9QQVRIIHRtcGhvbWUvLmRlYnVnaW5mb2RfY2xp ZW50X2NhY2hlIHx8IHRydWUKLSMgfHx0cnVlIGlzIGZvciB0b2xlcmF0aW5nIGVycm9ycywgc3Vj aCBhIHZhbGdyaW5kIG9yIHNvbWV0aGluZyBlbHNlCi0jICAgICAgICBsZWF2aW5nIDAwMC1wZXJt IGZpbGVzIGluIHRoZXJlCi0KLSMgQWRkIGEgZmlsZSB0aGF0IGRvZXNuJ3QgZXhpc3QgaW4gJEhP TUUvLmNhY2hlLCAkWERHX0NBQ0hFX0hPTUUuCi1ta2RpciB0bXBob21lLy5kZWJ1Z2luZm9kX2Ns aWVudF9jYWNoZS9kZWFkYmVlZgotZWNobyBFTEYuLi4gPiB0bXBob21lLy5kZWJ1Z2luZm9kX2Ns aWVudF9jYWNoZS9kZWFkYmVlZi9kZWJ1Z2luZm8KLWZpbGVuYW1lPWB0ZXN0cnVuIGVudiBIT01F PSRQV0QvdG1waG9tZSBYREdfQ0FDSEVfSE9NRT0kUFdEL3RtcHhkZyBERUJVR0lORk9EX0NBQ0hF X1BBVEg9ICR7YWJzX3RvcF9idWlsZGRpcn0vZGVidWdpbmZvZC9kZWJ1Z2luZm9kLWZpbmQgZGVi dWdpbmZvIGRlYWRiZWVmYAotY21wICRmaWxlbmFtZSB0bXBob21lLy5kZWJ1Z2luZm9kX2NsaWVu dF9jYWNoZS9kZWFkYmVlZi9kZWJ1Z2luZm8KLQotIyAkREVCVUdJTkZPX0NBQ0hFX1BBVEggc2hv dWxkIHRha2UgcHJpb3JpdHkgb3ZlciBhbGwgZWxzZS4KLXRlc3RydW4gZW52IEhPTUU9JFBXRC90 bXBob21lIFhER19DQUNIRV9IT01FPSRQV0QvdG1weGRnIERFQlVHSU5GT0RfQ0FDSEVfUEFUSD0k UFdEL3RtcGNhY2hlICR7YWJzX3RvcF9idWlsZGRpcn0vZGVidWdpbmZvZC9kZWJ1Z2luZm9kLWZp bmQgZGVidWdpbmZvICRCVUlMRElECi1pZiBbICEgLWYgJFBXRC90bXBjYWNoZS8kQlVJTERJRC9k ZWJ1Z2luZm8gXTsgdGhlbgotICBlY2hvICJjb3VsZCBub3QgZmluZCBjYWNoZSBpbiAkUFdEL3Rt cGNhY2hlLyIKLSAgZXJyCi1maQotCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLQotIyBBZGQgYXJ0aWZhY3Rz IHRvIHRoZSBzZWFyY2ggcGF0aHMgYW5kIHRlc3Qgd2hldGhlciBkZWJ1Z2luZm9kIGZpbmRzIHRo ZW0gd2hpbGUgYWxyZWFkeSBydW5uaW5nLgotCi0jIEJ1aWxkIGFub3RoZXIsIG5vbi1zdHJpcHBl ZCBiaW5hcnkKLWVjaG8gImludCBtYWluKCkgeyByZXR1cm4gMDsgfSIgPiAke1BXRH0vcHJvZzIu YwotdGVtcGZpbGVzIHByb2cyLmMKLWdjYyAtV2wsLS1idWlsZC1pZCAtZyAtbyBwcm9nMiAke1BX RH0vcHJvZzIuYwotQlVJTERJRDI9YGVudiBMRF9MSUJSQVJZX1BBVEg9JGxkcGF0aCAke2Fic19i dWlsZGRpcn0vLi4vc3JjL3JlYWRlbGYgXAotICAgICAgICAgIC1hIHByb2cyIHwgZ3JlcCAnQnVp bGQgSUQnIHwgY3V0IC1kICcgJyAtZiA3YAotCi1tdiBwcm9nMiBGCi1raWxsIC1VU1IxICRQSUQx Ci0jIE5vdyB0aGVyZSBzaG91bGQgYmUgMyBmaWxlcyBpbiB0aGUgaW5kZXgKLXdhaXRfcmVhZHkg JFBPUlQxICd0aHJlYWRfd29ya190b3RhbHtyb2xlPSJ0cmF2ZXJzZSJ9JyAzCi13YWl0X3JlYWR5 ICRQT1JUMSAndGhyZWFkX3dvcmtfcGVuZGluZ3tyb2xlPSJzY2FuIn0nIDAKLXdhaXRfcmVhZHkg JFBPUlQxICd0aHJlYWRfYnVzeXtyb2xlPSJzY2FuIn0nIDAKLWNwICREQiAkREIuYmFja3VwCi10 ZW1wZmlsZXMgJERCLmJhY2t1cAotIyBSZXJ1biBzYW1lIHRlc3RzIGZvciB0aGUgcHJvZzIgYmlu YXJ5Ci1maWxlbmFtZT1gdGVzdHJ1biAke2Fic190b3BfYnVpbGRkaXJ9L2RlYnVnaW5mb2QvZGVi dWdpbmZvZC1maW5kIC12IGRlYnVnaW5mbyAkQlVJTERJRDIgMj52bG9nYAotY21wICRmaWxlbmFt ZSBGL3Byb2cyCi1jYXQgdmxvZwotZ3JlcCAtcSBQcm9ncmVzcyB2bG9nCi1ncmVwIC1xIERvd25s b2FkZWQuZnJvbSB2bG9nCi10ZW1wZmlsZXMgdmxvZwotZmlsZW5hbWU9YHRlc3RydW4gZW52IERF QlVHSU5GT0RfUFJPR1JFU1M9MSAke2Fic190b3BfYnVpbGRkaXJ9L2RlYnVnaW5mb2QvZGVidWdp bmZvZC1maW5kIGV4ZWN1dGFibGUgJEJVSUxESUQyIDI+dmxvZzJgCi1jbXAgJGZpbGVuYW1lIEYv cHJvZzIKLWNhdCB2bG9nMgotZ3JlcCAtcSAnRG93bmxvYWRpbmcuKmh0dHAnIHZsb2cyCi10ZW1w ZmlsZXMgdmxvZzIKLWZpbGVuYW1lPWB0ZXN0cnVuICR7YWJzX3RvcF9idWlsZGRpcn0vZGVidWdp bmZvZC9kZWJ1Z2luZm9kLWZpbmQgc291cmNlICRCVUlMRElEMiAke1BXRH0vcHJvZzIuY2AKLWNt cCAkZmlsZW5hbWUgJHtQV0R9L3Byb2cyLmMKLQotY3AgLXJ2cCAke2Fic19zcmNkaXJ9L2RlYnVn aW5mb2QtcnBtcyBSCi1pZiBbICIkenN0ZCIgPSAiZmFsc2UiIF07IHRoZW4gICMgbnVrZSB0aGUg enN0ZCBmZWRvcmEgMzEgb25lcwotICAgIHJtIC12cmYgUi9kZWJ1Z2luZm9kLXJwbXMvZmVkb3Jh MzEKLWZpCi0KLWNwIC1ydnAgJHthYnNfc3JjZGlyfS9kZWJ1Z2luZm9kLXRhcnMgWgota2lsbCAt VVNSMSAkUElEMQotIyBXYWl0IHRpbGwgYm90aCBmaWxlcyBhcmUgaW4gdGhlIGluZGV4IGFuZCBz Y2FuL2luZGV4IGZ1bGx5IGZpbmlzaGVkCi13YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX3dvcmtf dG90YWx7cm9sZT0idHJhdmVyc2UifScgNAotd2FpdF9yZWFkeSAkUE9SVDEgJ3RocmVhZF93b3Jr X3BlbmRpbmd7cm9sZT0ic2NhbiJ9JyAwCi13YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX2J1c3l7 cm9sZT0ic2NhbiJ9JyAwCi0KLSMgQWxsIHJwbXMgbmVlZCB0byBiZSBpbiB0aGUgaW5kZXgsIGV4 Y2VwdCB0aGUgZHVtbXkgcGVybWlzc2lvbi0wMDAgb25lCi1ycG1zPSQoZmluZCBSIC1uYW1lIFwq cnBtIHwgZ3JlcCAtdiBub3RoaW5nIHwgd2MgLWwpCi13YWl0X3JlYWR5ICRQT1JUMSAnc2Nhbm5l ZF9maWxlc190b3RhbHtzb3VyY2U9Ii5ycG0gYXJjaGl2ZSJ9JyAkcnBtcwotdHh6PSQoZmluZCBa IC1uYW1lIFwqdGFyLnh6IHwgd2MgLWwpCi13YWl0X3JlYWR5ICRQT1JUMSAnc2Nhbm5lZF9maWxl c190b3RhbHtzb3VyY2U9Ii50YXIueHogYXJjaGl2ZSJ9JyAkdHh6Ci10YjI9JChmaW5kIFogLW5h bWUgXCp0YXIuYnoyIHwgd2MgLWwpCi13YWl0X3JlYWR5ICRQT1JUMSAnc2Nhbm5lZF9maWxlc190 b3RhbHtzb3VyY2U9Ii50YXIuYnoyIGFyY2hpdmUifScgJHRiMgotCi1raWxsIC1VU1IxICRQSUQx ICAjIHR3byBoaXRzIG9mIFNJR1VTUjEgbWF5IGJlIG5lZWRlZCB0byByZXNvbHZlIC5kZWJ1Zy0+ ZHd6LT5zcmVmcwotIyBXYWl0IHRpbGwgYm90aCBmaWxlcyBhcmUgaW4gdGhlIGluZGV4IGFuZCBz Y2FuL2luZGV4IGZ1bGx5IGZpbmlzaGVkCi13YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX3dvcmtf dG90YWx7cm9sZT0idHJhdmVyc2UifScgNQotd2FpdF9yZWFkeSAkUE9SVDEgJ3RocmVhZF93b3Jr X3BlbmRpbmd7cm9sZT0ic2NhbiJ9JyAwCi13YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX2J1c3l7 cm9sZT0ic2NhbiJ9JyAwCi0KLSMgRXhwZWN0IGFsbCBzb3VyY2UgZmlsZXMgZm91bmQgaW4gdGhl IHJwbXMgKHRoZXkgYXJlIGFsbCBjYWxsZWQgaGVsbG8uYyA6KQotIyBXZSB3aWxsIG5lZWQgdG8g ZXh0cmFjdCBhbGwgcnBtcyAoaW4gdGhlaXIgb3duIGRpcmVjdG9yeSkgYW5kIGNvdWxkIGFsbAot IyBzb3VyY2VzIHJlZmVyZW5jZWQgaW4gdGhlIC5kZWJ1ZyBmaWxlcy4KLW1rZGlyIGV4dHJhY3Rl ZAotY2QgZXh0cmFjdGVkCi1zdWJkaXI9MDsKLW5ld3JwbXM9JChmaW5kIC4uL1IgLW5hbWUgXCpc LnJwbSB8IGdyZXAgLXYgbm90aGluZykKLWZvciBpIGluICRuZXdycG1zOyBkbwotICAgIHN1YmRp cj0kWyRzdWJkaXIrMV07Ci0gICAgbWtkaXIgJHN1YmRpcjsKLSAgICBjZCAkc3ViZGlyOwotICAg IGxzIC1sYWggLi4vJGkKLSAgICBycG0yY3BpbyAuLi8kaSB8IGNwaW8gLWl2ZDsKLSAgICBjZCAu LjsKLWRvbmUKLXNvdXJjZWZpbGVzPSQoZmluZCAtbmFtZSBcKlxcLmRlYnVnIFwKLQkgICAgICB8 IGVudiBMRF9MSUJSQVJZX1BBVEg9JGxkcGF0aCB4YXJncyBcCi0JCSR7YWJzX3RvcF9idWlsZGRp cn0vc3JjL3JlYWRlbGYgLS1kZWJ1Zy1kdW1wPWRlY29kZWRsaW5lIFwKLQkgICAgICB8IGdyZXAg bXRpbWU6IHwgd2MgLS1saW5lcykKLWNkIC4uCi1ybSAtcmYgZXh0cmFjdGVkCi0KLXdhaXRfcmVh ZHkgJFBPUlQxICdmb3VuZF9zb3VyY2VyZWZzX3RvdGFse3NvdXJjZT0iLnJwbSBhcmNoaXZlIn0n ICRzb3VyY2VmaWxlcwotCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMgUFIyNzk4MyBlbnN1cmUgbm8gZHVw bGljYXRlIHVybHMgYXJlIHVzZWQgaW4gd2hlbiBxdWVyeWluZyBzZXJ2ZXJzIGZvciBmaWxlcwot cm0gLXJmICRERUJVR0lORk9EX0NBQ0hFX1BBVEggIyBjbGVhbiBpdCBmcm9tIHByZXZpb3VzIHRl c3RzCi1lbnYgREVCVUdJTkZPRF9VUkxTPSJodHRwOi8vMTI3LjAuMC4xOiRQT1JUMSBodHRwOi8v MTI3LjAuMC4xOiRQT1JUMSBodHRwOi8vMTI3LjAuMC4xOiRQT1JUMSBodHRwOjEyNy4wLjAuMTo3 OTk5IiBcCi0gTERfTElCUkFSWV9QQVRIPSRsZHBhdGggJHthYnNfdG9wX2J1aWxkZGlyfS9kZWJ1 Z2luZm9kL2RlYnVnaW5mb2QtZmluZCAtdiBleGVjdXRhYmxlICRCVUlMRElEMiA+IHZsb2c0IDI+ JjEgfHwgdHJ1ZQotdGVtcGZpbGVzIHZsb2c0Ci1pZiBbICQoIGdyZXAgLWMgJ2R1cGxpY2F0ZSB1 cmw6IGh0dHA6Ly8xMjcuMC4wLjE6JyRQT1JUMScuKicgdmxvZzQgKSAtbmUgMiBdOyB0aGVuCi0g IGVjaG8gIkR1cGxpY2F0ZWQgc2VydmVycyByZW1haW4iOwotICBlcnIKLWZpCi0jIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMKLSMgUnVuIGEgYmFuayBvZiBxdWVyaWVzIGFnYWluc3QgdGhlIGRlYnVnaW5mb2QtcnBt cyAvIGRlYnVnaW5mb2QtZGVicyB0ZXN0IGNhc2VzCi0KLWFyY2hpdmVfdGVzdCgpIHsKLSAgICBf X0JVSUxESUQ9JDEKLSAgICBfX1NPVVJDRVBBVEg9JDIKLSAgICBfX1NPVVJDRVNIQTE9JDMKLSAg ICAKLSAgICBmaWxlbmFtZT1gdGVzdHJ1biAke2Fic190b3BfYnVpbGRkaXJ9L2RlYnVnaW5mb2Qv ZGVidWdpbmZvZC1maW5kIGV4ZWN1dGFibGUgJF9fQlVJTERJRGAKLSAgICBidWlsZGlkPWBlbnYg TERfTElCUkFSWV9QQVRIPSRsZHBhdGggJHthYnNfYnVpbGRkaXJ9Ly4uL3NyYy9yZWFkZWxmIFwK LSAgICAgICAgICAgICAtYSAkZmlsZW5hbWUgfCBncmVwICdCdWlsZCBJRCcgfCBjdXQgLWQgJyAn IC1mIDdgCi0gICAgdGVzdCAkX19CVUlMRElEID0gJGJ1aWxkaWQKLSAgICAjIGNoZWNrIHRoYXQg dGltZXN0YW1wcyBhcmUgcGxhdXNpYmxlIC0gb2xkZXIgdGhhbiB0aGUgbmVhci1wcmVzZW50ICh0 bXBkaXIgbXRpbWUpCi0gICAgdGVzdCAkZmlsZW5hbWUgLW90IGBwd2RgCi0KLSAgICAjIHJ1biBh Z2FpbiB0byBhc3N1cmUgdGhhdCBmZGNhY2hlIGlzIGJlaW5nIGVuam95ZWQKLSAgICBmaWxlbmFt ZT1gdGVzdHJ1biAke2Fic190b3BfYnVpbGRkaXJ9L2RlYnVnaW5mb2QvZGVidWdpbmZvZC1maW5k IGV4ZWN1dGFibGUgJF9fQlVJTERJRGAKLSAgICBidWlsZGlkPWBlbnYgTERfTElCUkFSWV9QQVRI PSRsZHBhdGggJHthYnNfYnVpbGRkaXJ9Ly4uL3NyYy9yZWFkZWxmIFwKLSAgICAgICAgICAgICAt YSAkZmlsZW5hbWUgfCBncmVwICdCdWlsZCBJRCcgfCBjdXQgLWQgJyAnIC1mIDdgCi0gICAgdGVz dCAkX19CVUlMRElEID0gJGJ1aWxkaWQKLSAgICB0ZXN0ICRmaWxlbmFtZSAtb3QgYHB3ZGAKLQot ICAgIGZpbGVuYW1lPWB0ZXN0cnVuICR7YWJzX3RvcF9idWlsZGRpcn0vZGVidWdpbmZvZC9kZWJ1 Z2luZm9kLWZpbmQgZGVidWdpbmZvICRfX0JVSUxESURgCi0gICAgYnVpbGRpZD1gZW52IExEX0xJ QlJBUllfUEFUSD0kbGRwYXRoICR7YWJzX2J1aWxkZGlyfS8uLi9zcmMvcmVhZGVsZiBcCi0gICAg ICAgICAgICAgLWEgJGZpbGVuYW1lIHwgZ3JlcCAnQnVpbGQgSUQnIHwgY3V0IC1kICcgJyAtZiA3 YAotICAgIHRlc3QgJF9fQlVJTERJRCA9ICRidWlsZGlkCi0gICAgdGVzdCAkZmlsZW5hbWUgLW90 IGBwd2RgCi0KLSAgICBpZiB0ZXN0ICJ4JF9fU09VUkNFUEFUSCIgIT0gIngiOyB0aGVuCi0gICAg ICAgIGZpbGVuYW1lPWB0ZXN0cnVuICR7YWJzX3RvcF9idWlsZGRpcn0vZGVidWdpbmZvZC9kZWJ1 Z2luZm9kLWZpbmQgc291cmNlICRfX0JVSUxESUQgJF9fU09VUkNFUEFUSGAKLSAgICAgICAgaGFz aD1gY2F0ICRmaWxlbmFtZSB8IHNoYTFzdW0gfCBhd2sgJ3twcmludCAkMX0nYAotICAgICAgICB0 ZXN0ICRfX1NPVVJDRVNIQTEgPSAkaGFzaAotICAgICAgICB0ZXN0ICRmaWxlbmFtZSAtb3QgYHB3 ZGAKLSAgICBmaQotfQotCi0KLSMgY29tbW9uIHNvdXJjZSBmaWxlIHNoYTEKLVNIQT1mNGExYTgw NjJiZTk5OGFlOTNiOGYxY2Q3NDRhMzk4YzZkZTZkYmIxCi0jIGZlZG9yYTMxCi1pZiBbICR6c3Rk ID0gdHJ1ZSBdOyB0aGVuCi0gICAgIyBmZWRvcmEzMSB1c2VzIHpzdGQgY29tcHJlc3Npb24gb24g cnBtcywgb2xkZXIgcnBtMmNwaW8vbGliYXJjaGl2ZSBjYW4ndCBoYW5kbGUgaXQKLSAgICAjIGFu ZCB3ZSdyZSBub3QgdXNpbmcgdGhlIGZhbmN5IC1aICcucnBtPShycG0yY3Bpb3x6c3RkY2F0KTwn IHdvcmthcm91bmQgaW4gdGhpcyB0ZXN0c3VpdGUKLSAgICBhcmNoaXZlX3Rlc3QgNDIwZTllMzMw ODk3MWY0YjgxN2NjNWJmODM5MjhiNDFhNjkwOWQ4OCAvdXNyL3NyYy9kZWJ1Zy9oZWxsbzMtMS4w LTIueDg2XzY0L2Zvb2Jhci8vLy8uLy4uL2hlbGxvLmMgJFNIQQotICAgIGFyY2hpdmVfdGVzdCA4 N2MwOGQxMmM3ODE3NGYxMDgyYjdjODg4YjMyMzgyMTliMGViMjY1IC91c3Ivc3JjL2RlYnVnL2hl bGxvMy0xLjAtMi54ODZfNjQvLy9mb29iYXIvLi8uLi8vaGVsbG8uYyAkU0hBCi1maQotIyBmZWRv cmEzMAotYXJjaGl2ZV90ZXN0IGMzNjcwOGE3ODYxOGQ1OTdkZWUxNWQwZGM5ODlmMDkzY2E1Zjkx MjAgL3Vzci9zcmMvZGVidWcvaGVsbG8yLTEuMC0yLng4Nl82NC9oZWxsby5jICRTSEEKLWFyY2hp dmVfdGVzdCA0MWEyMzZlYjY2N2MzNjJhMWM0MTk2MDE4Y2M0NTgxZTA5NzIyYjFiIC91c3Ivc3Jj L2RlYnVnL2hlbGxvMi0xLjAtMi54ODZfNjQvaGVsbG8uYyAkU0hBCi0jIHJoZWw3Ci1hcmNoaXZl X3Rlc3QgYmMxZmViZmQwM2NhMDVlMDMwZjBkMjA1Zjc2NTlkYjI5ZjhhNGIzMCAvdXNyL3NyYy9k ZWJ1Zy9oZWxsby0xLjAvaGVsbG8uYyAkU0hBCi1hcmNoaXZlX3Rlc3QgZjBhYTE1YjhhYmE0ZjNj MjhjYWMzYzJhNzM4MDFmZWZhNjQ0YTlmMiAvdXNyL3NyYy9kZWJ1Zy9oZWxsby0xLjAvaGVsbG8u YyAkU0hBCi0jIHJoZWw2Ci1hcmNoaXZlX3Rlc3QgYmJiZjkyZWJlZTUyMjgzMTBlMzk4NjA5YzIz YzJkN2Q1M2Y2ZTJmOSAvdXNyL3NyYy9kZWJ1Zy9oZWxsby0xLjAvaGVsbG8uYyAkU0hBCi1hcmNo aXZlX3Rlc3QgZDQ0ZDQyY2JkN2Q5MTViYzkzOGM4MTMzM2EyMWUzNTVhNjAyMmZiNyAvdXNyL3Ny Yy9kZWJ1Zy9oZWxsby0xLjAvaGVsbG8uYyAkU0hBCi0jIGFyY2gKLWFyY2hpdmVfdGVzdCBjZWUx M2IyZWE1MDVhN2YzN2JkMjBkMjcxYzZiYzdlNWY4ZDJkZmNiIC91c3Ivc3JjL2RlYnVnL2hlbGxv LmMgN2ExMzM0ZTA4NmI5N2U1ZjEyNDAwM2E2Y2ZiM2VkNzkyZDEwY2RmNAotCi1SUE1fQlVJTERJ RD1kNDRkNDJjYmQ3ZDkxNWJjOTM4YzgxMzMzYTIxZTM1NWE2MDIyZmI3ICMgaW4gcmhlbDYvIHN1 YmRpciwgZm9yIGEgbGF0ZXIgdGVzdAotCi0KLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotCi0jIERyb3Agc29t ZSBvZiB0aGUgYXJ0aWZhY3RzLCBydW4gYSBncm9vbSBjeWNsZTsgY29uZmlybSB0aGF0Ci0jIGRl YnVnaW5mb2QgaGFzIGZvcmdvdHRlbiB0aGVtLCBidXQgcmVtZW1iZXJzIG90aGVycwotCi1ybSAt ciBSL2RlYnVnaW5mb2QtcnBtcy9yaGVsNi8qCi1raWxsIC1VU1IyICRQSUQxICAjIGdyb29tIGN5 Y2xlCi0jIDEgZ3Jvb20gY3ljbGUgYWxyZWFkeSB0b29rIHBsYWNlIGF0L3Nvb24tYWZ0ZXIgc3Rh cnR1cCwgc28gLVVTUjIgbWFrZXMgMgotd2FpdF9yZWFkeSAkUE9SVDEgJ3RocmVhZF93b3JrX3Rv dGFse3JvbGU9Imdyb29tIn0nIDIKLSMgRXhwZWN0IDQgcnBtcyBjb250YWluaW5nIDIgYnVpbGRp ZHMgdG8gYmUgZGVsZXRlZCBieSB0aGUgZ3Jvb20KLXdhaXRfcmVhZHkgJFBPUlQxICdncm9vbWVk X3RvdGFse2RlY2lzaW9uPSJzdGFsZSJ9JyA0Ci0KLXJtIC1yZiAkREVCVUdJTkZPRF9DQUNIRV9Q QVRIICMgY2xlYW4gaXQgZnJvbSBwcmV2aW91cyB0ZXN0cwotCi0jIHRoaXMgaXMgb25lIG9mIHRo ZSBidWlsZGlkcyBmcm9tIHRoZSBncm9vbS1kZWxldGVkIHJwbXMKLXRlc3RydW4gJHthYnNfdG9w X2J1aWxkZGlyfS9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QtZmluZCBleGVjdXRhYmxlICRSUE1fQlVJ TERJRCAmJiBmYWxzZSB8fCB0cnVlCi0jIGJ1dCB0aGlzIG9uZSB3YXMgbm90IGRlbGV0ZWQgc28g c2hvdWxkIGJlIHN0aWxsIGFyb3VuZAotdGVzdHJ1biAke2Fic190b3BfYnVpbGRkaXJ9L2RlYnVn aW5mb2QvZGVidWdpbmZvZC1maW5kIGV4ZWN1dGFibGUgJEJVSUxESUQyCi0KLSMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIwotCi0jIFBSMjY4MTA6IE5vdyByZW5hbWUgc29tZSBmaWxlcyBpbiB0aGUgUiBkaXJlY3Rv cnksIHRoZW4gcmVzY2FuLCBzbwotIyB0aGVyZSBhcmUgdHdvIGNvcGllcyBvZiB0aGUgc2FtZSBi dWlsZGlkIGluIHRoZSBpbmRleCwgb25lIGZvciB0aGUKLSMgbm8tbG9uZ2VyLWV4aXN0aW5nIGZp bGUgbmFtZSwgYW5kIG9uZSB1bmRlciB0aGUgbmV3IG5hbWUuCi0KLSMgcnVuIGEgZ3Jvb20gY3lj bGUgdG8gZm9yY2Ugc2VydmVyIHRvIGRyb3AgaXRzIGZkY2FjaGUKLWtpbGwgLVVTUjIgJFBJRDEg ICMgZ3Jvb20gY3ljbGUKLXdhaXRfcmVhZHkgJFBPUlQxICd0aHJlYWRfd29ya190b3RhbHtyb2xl PSJncm9vbSJ9JyAzCi0jIG1vdmUgaXQgYXJvdW5kIGEgY291cGxlIG9mIHRpbWVzIHRvIG1ha2Ug aXQgbGlrZWx5IHRvIGhpdCBhIG5vbmV4aXN0ZW50IGVudHJ5IGR1cmluZyBpdGVyYXRpb24KLW12 IFIvZGVidWdpbmZvZC1ycG1zL3JoZWw3IFIvZGVidWdpbmZvZC1ycG1zL3JoZWw3cmVuYW1lZAot a2lsbCAtVVNSMSAkUElEMSAgIyBzY2FuIGN5Y2xlCi13YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFk X3dvcmtfdG90YWx7cm9sZT0idHJhdmVyc2UifScgNgotd2FpdF9yZWFkeSAkUE9SVDEgJ3RocmVh ZF93b3JrX3BlbmRpbmd7cm9sZT0ic2NhbiJ9JyAwCi13YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFk X2J1c3l7cm9sZT0ic2NhbiJ9JyAwCi1tdiBSL2RlYnVnaW5mb2QtcnBtcy9yaGVsN3JlbmFtZWQg Ui9kZWJ1Z2luZm9kLXJwbXMvcmhlbDdyZW5hbWVkMgota2lsbCAtVVNSMSAkUElEMSAgIyBzY2Fu IGN5Y2xlCi13YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX3dvcmtfdG90YWx7cm9sZT0idHJhdmVy c2UifScgNwotd2FpdF9yZWFkeSAkUE9SVDEgJ3RocmVhZF93b3JrX3BlbmRpbmd7cm9sZT0ic2Nh biJ9JyAwCi13YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX2J1c3l7cm9sZT0ic2NhbiJ9JyAwCi1t diBSL2RlYnVnaW5mb2QtcnBtcy9yaGVsN3JlbmFtZWQyIFIvZGVidWdpbmZvZC1ycG1zL3JoZWw3 cmVuYW1lZDMKLWtpbGwgLVVTUjEgJFBJRDEgICMgc2NhbiBjeWNsZQotd2FpdF9yZWFkeSAkUE9S VDEgJ3RocmVhZF93b3JrX3RvdGFse3JvbGU9InRyYXZlcnNlIn0nIDgKLXdhaXRfcmVhZHkgJFBP UlQxICd0aHJlYWRfd29ya19wZW5kaW5ne3JvbGU9InNjYW4ifScgMAotd2FpdF9yZWFkeSAkUE9S VDEgJ3RocmVhZF9idXN5e3JvbGU9InNjYW4ifScgMAotCi0jIHJldGVzdCByaGVsNwotYXJjaGl2 ZV90ZXN0IGJjMWZlYmZkMDNjYTA1ZTAzMGYwZDIwNWY3NjU5ZGIyOWY4YTRiMzAgL3Vzci9zcmMv ZGVidWcvaGVsbG8tMS4wL2hlbGxvLmMgJFNIQQotYXJjaGl2ZV90ZXN0IGYwYWExNWI4YWJhNGYz YzI4Y2FjM2MyYTczODAxZmVmYTY0NGE5ZjIgL3Vzci9zcmMvZGVidWcvaGVsbG8tMS4wL2hlbGxv LmMgJFNIQQotCi1lZ3JlcCAnKGxpYmMuZXJyb3IuKnJoZWw3KXwoYmMxZmViZmQwM2NhKXwoZjBh YTE1YjhhYmEpJyB2bG9nJFBPUlQxCi0KLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyMgUFIyNTk3OAotIyBF bnN1cmUgdGhhdCB0aGUgZmRjYWNoZSBvcHRpb25zIGFyZSB3b3JraW5nLgotZ3JlcCAicHJlZmV0 Y2ggZmRzIiB2bG9nJFBPUlQxCi1ncmVwICJwcmVmZXRjaCBtYnMiIHZsb2ckUE9SVDEKLWdyZXAg ImZkY2FjaGUgZmRzIiB2bG9nJFBPUlQxCi1ncmVwICJmZGNhY2hlIG1icyIgdmxvZyRQT1JUMQot IyBzZWFyY2ggdGhlIHZsb2cgdG8gZmluZCB3aGF0IG1ldHJpYyBjb3VudHMgc2hvdWxkIGJlIGFu ZCBjaGVjayB0aGUgY29ycmVjdCBtZXRyaWNzCi0jIHdlcmUgaW5jcmltZW50ZWQKLXdhaXRfcmVh ZHkgJFBPUlQxICdmZGNhY2hlX29wX2NvdW50e29wPSJlbnF1ZXVlIn0nICQoIGdyZXAgLWMgJ2lu dGVybmVkLipmcm9udD0xJyB2bG9nJFBPUlQxICkKLXdhaXRfcmVhZHkgJFBPUlQxICdmZGNhY2hl X29wX2NvdW50e29wPSJldmljdCJ9JyAkKCBncmVwIC1jICdldmljdGVkIGE9LionIHZsb2ckUE9S VDEgKQotd2FpdF9yZWFkeSAkUE9SVDEgJ2ZkY2FjaGVfb3BfY291bnR7b3A9InByZWZldGNoX2Vu cXVldWUifScgJCggZ3JlcCAtYyAnaW50ZXJuZWQuKmZyb250PTAnIHZsb2ckUE9SVDEgKQotd2Fp dF9yZWFkeSAkUE9SVDEgJ2ZkY2FjaGVfb3BfY291bnR7b3A9InByZWZldGNoX2V2aWN0In0nICQo IGdyZXAgLWMgJ2V2aWN0ZWQgZnJvbSBwcmVmZXRjaCBhPS4qZnJvbnQ9MCcgdmxvZyRQT1JUMSB8 fCB0cnVlICkKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotCi0jIEZlZGVyYXRpb24gbW9kZQotCi0jIGZpbmQg YW5vdGhlciB1bnVzZWQgcG9ydAotd2hpbGUgdHJ1ZTsgZG8KLSAgICBQT1JUMj1gZXhwciAnKCcg JFJBTkRPTSAlIDEwMDAgJyknICsgOTAwMGAKLSAgICBzcyAtYXRuIHwgZmdyZXAgIjokUE9SVDIi IHx8IGJyZWFrCi1kb25lCi0KLWV4cG9ydCBERUJVR0lORk9EX0NBQ0hFX1BBVEg9JHtQV0R9Ly5j bGllbnRfY2FjaGUyCi1ta2RpciAtcCAkREVCVUdJTkZPRF9DQUNIRV9QQVRICi0jIE5COiBpbmhl cml0cyB0aGUgREVCVUdJTkZPRF9VUkxTIHRvIHRoZSBmaXJzdCBzZXJ2ZXIKLSMgTkI6IHJ1biBp biAtTCBzeW1saW5rLWZvbGxvd2luZyBtb2RlIGZvciB0aGUgTCBzdWJkaXIKLWVudiBMRF9MSUJS QVJZX1BBVEg9JGxkcGF0aCAke2Fic19idWlsZGRpcn0vLi4vZGVidWdpbmZvZC9kZWJ1Z2luZm9k ICRWRVJCT1NFIC1GIC1VIC1kICR7REJ9XzIgLXAgJFBPUlQyIC1MIEwgRCA+IHZsb2ckUE9SVDIg Mj4mMSAmCi1QSUQyPSQhCi10ZW1wZmlsZXMgdmxvZyRQT1JUMgotZXJyZmlsZXMgdmxvZyRQT1JU MgotdGVtcGZpbGVzICR7REJ9XzIKLXdhaXRfcmVhZHkgJFBPUlQyICdyZWFkeScgMQotd2FpdF9y ZWFkeSAkUE9SVDIgJ3RocmVhZF93b3JrX3RvdGFse3JvbGU9InRyYXZlcnNlIn0nIDEKLXdhaXRf cmVhZHkgJFBPUlQyICd0aHJlYWRfd29ya19wZW5kaW5ne3JvbGU9InNjYW4ifScgMAotd2FpdF9y ZWFkeSAkUE9SVDIgJ3RocmVhZF9idXN5e3JvbGU9InNjYW4ifScgMAotCi13YWl0X3JlYWR5ICRQ T1JUMiAndGhyZWFkX2J1c3l7cm9sZT0iaHR0cC1idWlsZGlkIn0nIDAKLXdhaXRfcmVhZHkgJFBP UlQyICd0aHJlYWRfYnVzeXtyb2xlPSJodHRwLW1ldHJpY3MifScgMQotCi0jIGhhdmUgY2xpZW50 cyBjb250YWN0IHRoZSBuZXcgc2VydmVyCi1leHBvcnQgREVCVUdJTkZPRF9VUkxTPWh0dHA6Ly8x MjcuMC4wLjE6JFBPUlQyCi0KLWlmIHR5cGUgYnNkdGFyIDI+L2Rldi9udWxsOyB0aGVuCi0gICAg IyBjb3B5IGluIHRoZSBkZWIgZmlsZXMKLSAgICBjcCAtcnZwICR7YWJzX3NyY2Rpcn0vZGVidWdp bmZvZC1kZWJzLypkZWIgRAotICAgIGtpbGwgLVVTUjEgJFBJRDIKLSAgICB3YWl0X3JlYWR5ICRQ T1JUMiAndGhyZWFkX3dvcmtfdG90YWx7cm9sZT0idHJhdmVyc2UifScgMgotICAgIHdhaXRfcmVh ZHkgJFBPUlQyICd0aHJlYWRfd29ya19wZW5kaW5ne3JvbGU9InNjYW4ifScgMAotICAgIHdhaXRf cmVhZHkgJFBPUlQyICd0aHJlYWRfYnVzeXtyb2xlPSJzY2FuIn0nIDAKLQotICAgICMgQWxsIGRl YnMgbmVlZCB0byBiZSBpbiB0aGUgaW5kZXgKLSAgICBkZWJzPSQoZmluZCBEIC1uYW1lIFwqLmRl YiB8IHdjIC1sKQotICAgIHdhaXRfcmVhZHkgJFBPUlQyICdzY2FubmVkX2ZpbGVzX3RvdGFse3Nv dXJjZT0iLmRlYiBhcmNoaXZlIn0nIGBleHByICRkZWJzYAotICAgIGRkZWJzPSQoZmluZCBEIC1u YW1lIFwqLmRkZWIgfCB3YyAtbCkKLSAgICB3YWl0X3JlYWR5ICRQT1JUMiAnc2Nhbm5lZF9maWxl c190b3RhbHtzb3VyY2U9Ii5kZGViIGFyY2hpdmUifScgYGV4cHIgJGRkZWJzYAotCi0gICAgIyB1 YnVudHUKLSAgICBhcmNoaXZlX3Rlc3QgZjE3YTI5YjVhMjViZDQ5NjA1MzFkODJhYTZiMDdjOGFi ZTg0ZmE2NiAiIiAiIgotZmkKLQotcm0gLXJmICRERUJVR0lORk9EX0NBQ0hFX1BBVEgKLXRlc3Ry dW4gJHthYnNfdG9wX2J1aWxkZGlyfS9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QtZmluZCBkZWJ1Z2lu Zm8gJEJVSUxESUQKLQotIyBzZW5kIGEgcmVxdWVzdCB0byBzdHJlc3MgWEZGIGFuZCBVc2VyLUFn ZW50IGZlZGVyYXRpb24gcmVsYXk7Ci0jIHdlJ2xsIGdyZXAgZm9yIHRoZSB0d28gcGF0dGVybnMg aW4gdmxvZyRQT1JUMQotY3VybCAtcyAtSCAnVXNlci1BZ2VudDogVEVTVENVUkwnIC1IICdYLUZv cndhcmRlZC1Gb3I6IFRFU1RYRkYnICRERUJVR0lORk9EX1VSTFMvYnVpbGRpZC9kZWFkZGVhZGJl ZWYwMDAwMDAwMC9kZWJ1Z2luZm8gLW8gL2Rldi9udWxsIHx8IHRydWUKLQotZ3JlcCBVQTpURVNU Q1VSTCB2bG9nJFBPUlQxCi1ncmVwIFhGRjpURVNUWEZGIHZsb2ckUE9SVDEKLQotCi0jIGNvbmZp cm0gdGhhdCBmaXJzdCBzZXJ2ZXIgY2FuJ3QgcmVzb2x2ZSBzeW1saW5rZWQgaW5mbyBpbiBMLyBi dXQgc2Vjb25kIGNhbgotQlVJTERJRD1gZW52IExEX0xJQlJBUllfUEFUSD0kbGRwYXRoICR7YWJz X2J1aWxkZGlyfS8uLi9zcmMvcmVhZGVsZiBcCi0gICAgICAgICAtYSBML2ZvbyB8IGdyZXAgJ0J1 aWxkIElEJyB8IGN1dCAtZCAnICcgLWYgN2AKLWZpbGUgTC9mb28KLWZpbGUgLUwgTC9mb28KLWV4 cG9ydCBERUJVR0lORk9EX1VSTFM9aHR0cDovLzEyNy4wLjAuMTokUE9SVDEKLXJtIC1yZiAkREVC VUdJTkZPRF9DQUNIRV9QQVRICi10ZXN0cnVuICR7YWJzX3RvcF9idWlsZGRpcn0vZGVidWdpbmZv ZC9kZWJ1Z2luZm9kLWZpbmQgZGVidWdpbmZvICRCVUlMRElEICYmIGZhbHNlIHx8IHRydWUKLXJt IC1mICRERUJVR0lORk9EX0NBQ0hFX1BBVEgvJEJVSUxESUQvZGVidWdpbmZvICMgZHJvcCAwMDAt cGVybSBuZWdhdGl2ZS1oaXQgZmlsZQotZXhwb3J0IERFQlVHSU5GT0RfVVJMUz1odHRwOi8vMTI3 LjAuMC4xOiRQT1JUMgotdGVzdHJ1biAke2Fic190b3BfYnVpbGRkaXJ9L2RlYnVnaW5mb2QvZGVi dWdpbmZvZC1maW5kIGRlYnVnaW5mbyAkQlVJTERJRAotCi0jIHRlc3QgYWdhaW4gd2l0aCBzY2hl bWUgZnJlZSB1cmwKLWV4cG9ydCBERUJVR0lORk9EX1VSTFM9MTI3LjAuMC4xOiRQT1JUMQotcm0g LXJmICRERUJVR0lORk9EX0NBQ0hFX1BBVEgKLXRlc3RydW4gJHthYnNfdG9wX2J1aWxkZGlyfS9k ZWJ1Z2luZm9kL2RlYnVnaW5mb2QtZmluZCBkZWJ1Z2luZm8gJEJVSUxESUQgJiYgZmFsc2UgfHwg dHJ1ZQotcm0gLWYgJERFQlVHSU5GT0RfQ0FDSEVfUEFUSC8kQlVJTERJRC9kZWJ1Z2luZm8gIyBk cm9wIDAwMC1wZXJtIG5lZ2F0aXZlLWhpdCBmaWxlCi1leHBvcnQgREVCVUdJTkZPRF9VUkxTPTEy Ny4wLjAuMTokUE9SVDIKLXRlc3RydW4gJHthYnNfdG9wX2J1aWxkZGlyfS9kZWJ1Z2luZm9kL2Rl YnVnaW5mb2QtZmluZCBkZWJ1Z2luZm8gJEJVSUxESUQKLQotIyB0ZXN0IHBhcmFsbGVsIHF1ZXJp ZXMgaW4gY2xpZW50Ci1leHBvcnQgREVCVUdJTkZPRF9DQUNIRV9QQVRIPSR7UFdEfS8uY2xpZW50 X2NhY2hlMwotbWtkaXIgLXAgJERFQlVHSU5GT0RfQ0FDSEVfUEFUSAotZXhwb3J0IERFQlVHSU5G T0RfVVJMUz0iQkFEIGh0dHA6Ly8xMjcuMC4wLjE6JFBPUlQxIDEyNy4wLjAuMTokUE9SVDEgaHR0 cDovLzEyNy4wLjAuMTokUE9SVDIgRE5FIgotCi10ZXN0cnVuICR7YWJzX2J1aWxkZGlyfS9kZWJ1 Z2luZm9kX2J1aWxkX2lkX2ZpbmQgLWUgRi9wcm9nMiAxCi0KLSMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotCi0j IEZldGNoIHNvbWUgbWV0cmljcwotY3VybCAtcyBodHRwOi8vMTI3LjAuMC4xOiRQT1JUMS9iYWRh cGkKLWN1cmwgLXMgaHR0cDovLzEyNy4wLjAuMTokUE9SVDEvbWV0cmljcwotY3VybCAtcyBodHRw Oi8vMTI3LjAuMC4xOiRQT1JUMi9tZXRyaWNzCi1jdXJsIC1zIGh0dHA6Ly8xMjcuMC4wLjE6JFBP UlQxL21ldHJpY3MgfCBncmVwIC1xICdodHRwX3Jlc3BvbnNlc190b3RhbC4qcmVzdWx0LiplcnJv cicKLWN1cmwgLXMgaHR0cDovLzEyNy4wLjAuMTokUE9SVDEvbWV0cmljcyB8IGdyZXAgLXEgJ2h0 dHBfcmVzcG9uc2VzX3RvdGFsLipyZXN1bHQuKmZkY2FjaGUnCi1jdXJsIC1zIGh0dHA6Ly8xMjcu MC4wLjE6JFBPUlQyL21ldHJpY3MgfCBncmVwIC1xICdodHRwX3Jlc3BvbnNlc190b3RhbC4qcmVz dWx0Lip1cHN0cmVhbScKLWN1cmwgLXMgaHR0cDovLzEyNy4wLjAuMTokUE9SVDEvbWV0cmljcyB8 IGdyZXAgJ2h0dHBfcmVzcG9uc2VzX2R1cmF0aW9uX21pbGxpc2Vjb25kc19jb3VudCcKLWN1cmwg LXMgaHR0cDovLzEyNy4wLjAuMTokUE9SVDEvbWV0cmljcyB8IGdyZXAgJ2h0dHBfcmVzcG9uc2Vz X2R1cmF0aW9uX21pbGxpc2Vjb25kc19zdW0nCi1jdXJsIC1zIGh0dHA6Ly8xMjcuMC4wLjE6JFBP UlQxL21ldHJpY3MgfCBncmVwICdodHRwX3Jlc3BvbnNlc190cmFuc2Zlcl9ieXRlc19jb3VudCcK LWN1cmwgLXMgaHR0cDovLzEyNy4wLjAuMTokUE9SVDEvbWV0cmljcyB8IGdyZXAgJ2h0dHBfcmVz cG9uc2VzX3RyYW5zZmVyX2J5dGVzX3N1bScKLWN1cmwgLXMgaHR0cDovLzEyNy4wLjAuMTokUE9S VDEvbWV0cmljcyB8IGdyZXAgJ2ZkY2FjaGVfJwotY3VybCAtcyBodHRwOi8vMTI3LjAuMC4xOiRQ T1JUMS9tZXRyaWNzIHwgZ3JlcCAnZXJyb3JfY291bnQnCi1jdXJsIC1zIGh0dHA6Ly8xMjcuMC4w LjE6JFBPUlQxL21ldHJpY3MgfCBncmVwICd0cmF2ZXJzZWRfdG90YWwnCi1jdXJsIC1zIGh0dHA6 Ly8xMjcuMC4wLjE6JFBPUlQxL21ldHJpY3MgfCBncmVwICdzY2FubmVkX2J5dGVzX3RvdGFsJwot Ci0jIEFuZCBnZW5lcmF0ZSBhIGZldyBlcnJvcnMgaW50byB0aGUgc2Vjb25kIGRlYnVnaW5mb2Qn cyBsb2dzLCBmb3IgYW5hbHlzaXMganVzdCBiZWxvdwotY3VybCAtcyBodHRwOi8vMTI3LjAuMC4x OiRQT1JUMi9iYWRhcGkgPiAvZGV2L251bGwgfHwgdHJ1ZQotY3VybCAtcyBodHRwOi8vMTI3LjAu MC4xOiRQT1JUMi9idWlsZGlkL2RlYWRiZWVmL2RlYnVnaW5mbyA+IC9kZXYvbnVsbCB8fCB0cnVl ICAKLSMgTkI6IHRoaXMgZXJyb3IgaXMgdXNlZCB0byBzZWVkIHRoZSA0MDQgZmFpbHVyZSBmb3Ig dGhlIHN1cnZpdmUtNDA0IHRlc3RzCi0KLSMgQ29uZmlybSBiYWQgYXJ0aWZhY3QgdHlwZXMgYXJl IHJlamVjdGVkIHdpdGhvdXQgbGVhdmluZyB0cmFjZQotY3VybCAtcyBodHRwOi8vMTI3LjAuMC4x OiRQT1JUMi9idWlsZGlkL2RlYWRiZWVmL2JhZHR5cGUgPiAvZGV2L251bGwgfHwgdHJ1ZQotKGN1 cmwgLXMgaHR0cDovLzEyNy4wLjAuMTokUE9SVDIvbWV0cmljcyB8IGdyZXAgJ2JhZHR5cGUnKSAm JiBmYWxzZQotCi0jIERJU0FCTEUgVkFMR1JJTkQgY2hlY2tpbmcgYmVjYXVzZSB2YWxncmluZCBt aWdodCB1c2UgZGVidWdpbmZvZCBjbGllbnQKLSMgcmVxdWVzdHMgaXRzZWxmLCBjYXVzaW5nIGNv bmZ1c2lvbiBhYm91dCB3aG8gcHV0IHdoYXQgaW4gdGhlIGNhY2hlLgotIyBJdCBzdGF5cyBkaXNh YmxlZCB0aWxsIHRoZSBlbmQgb2YgdGhpcyB0ZXN0LgotdW5zZXQgVkFMR1JJTkRfQ01ECi0KLSMg Q29uZmlybSB0aGF0IHJldXNlZCBjdXJsIGNvbm5lY3Rpb25zIHN1cnZpdmUgNDA0IGVycm9ycy4K LSMgVGhlIHJtJ3MgZm9yY2UgYW4gdW5jYWNoZWQgZmV0Y2gKLXJtIC1mICRERUJVR0lORk9EX0NB Q0hFX1BBVEgvJEJVSUxESUQvZGVidWdpbmZvIC5jbGllbnRfY2FjaGUqLyRCVUlMRElEL2RlYnVn aW5mbwotdGVzdHJ1biAke2Fic190b3BfYnVpbGRkaXJ9L2RlYnVnaW5mb2QvZGVidWdpbmZvZC1m aW5kIGRlYnVnaW5mbyAkQlVJTERJRAotcm0gLWYgJERFQlVHSU5GT0RfQ0FDSEVfUEFUSC8kQlVJ TERJRC9kZWJ1Z2luZm8gLmNsaWVudF9jYWNoZSovJEJVSUxESUQvZGVidWdpbmZvCi10ZXN0cnVu ICR7YWJzX3RvcF9idWlsZGRpcn0vZGVidWdpbmZvZC9kZWJ1Z2luZm9kLWZpbmQgZGVidWdpbmZv ICRCVUlMRElECi10ZXN0cnVuICR7YWJzX3RvcF9idWlsZGRpcn0vZGVidWdpbmZvZC9kZWJ1Z2lu Zm9kLWZpbmQgZGVidWdpbmZvICRCVUlMRElECi10ZXN0cnVuICR7YWJzX3RvcF9idWlsZGRpcn0v ZGVidWdpbmZvZC9kZWJ1Z2luZm9kLWZpbmQgZGVidWdpbmZvICRCVUlMRElECi1ybSAtZiAkREVC VUdJTkZPRF9DQUNIRV9QQVRILyRCVUlMRElEL2RlYnVnaW5mbyAuY2xpZW50X2NhY2hlKi8kQlVJ TERJRC9kZWJ1Z2luZm8KLXRlc3RydW4gJHthYnNfdG9wX2J1aWxkZGlyfS9kZWJ1Z2luZm9kL2Rl YnVnaW5mb2QtZmluZCBkZWJ1Z2luZm8gJEJVSUxESUQKLQotIyBDb25maXJtIHRoYXQgc29tZSBk ZWJ1Z2luZm9kIGNsaWVudCBwb29scyBhcmUgYmVpbmcgdXNlZAotY3VybCAtcyBodHRwOi8vMTI3 LjAuMC4xOiRQT1JUMi9tZXRyaWNzIHwgZ3JlcCAnZGNfcG9vbF9vcC4qcmV1c2UnCi0KLSMgVHJp Z2dlciBhIGZsb29kIG9mIHJlcXVlc3RzIGFnYWluc3QgdGhlIHNhbWUgYXJjaGl2ZSBjb250ZW50 IGZpbGUuCi0jIFVzZSBhIGZpbGUgdGhhdCBoYXNuJ3QgYmVlbiBwcmV2aW91c2x5IGV4dHJhY3Rl ZCBpbiB0byBtYWtlIGl0Ci0jIGxpa2VseSB0aGF0IGV2ZW4gdGhpcyB0ZXN0IGRlYnVnaW5mb2Qg d2lsbCBleHBlcmllbmNlIGNvbmN1cnJlbmN5Ci0jIGFuZCBpbXBvc2Ugc29tZSAiYWZ0ZXIteW91 IiBkZWxheXMuCi0oZm9yIGkgaW4gYHNlcSAxMDBgOyBkbwotICAgIGN1cmwgLXMgaHR0cDovLzEy Ny4wLjAuMTokUE9SVDEvYnVpbGRpZC84N2MwOGQxMmM3ODE3NGYxMDgyYjdjODg4YjMyMzgyMTli MGViMjY1L2V4ZWN1dGFibGUgPi9kZXYvbnVsbCAmCi0gZG9uZTsKLSB3YWl0KQotY3VybCAtcyBo dHRwOi8vMTI3LjAuMC4xOiRQT1JUMS9tZXRyaWNzIHwgZ3JlcCAnaHR0cF9yZXNwb25zZXNfYWZ0 ZXJfeW91LionCi0jIElmIHdlIGNvdWxkIGd1YXJhbnRlZSBzb21lIG1pbmltdW0gbnVtYmVyIG9m IHNlY29uZHMgb2YgQ1BVIHRpbWUsIHdlCi0jIGNvdWxkIGFzc2VydCB0aGF0IHRoZSBhZnRlcl95 b3UgbWV0cmljcyBzaG93IHNvbWUgbm9uemVybyBhbW91bnQgb2YKLSMgd2FpdGluZy4gIEEgZmV3 IGh1bmRyZWQgbXMgaXMgdHlwaWNhbCBvbiB0aGlzIGRldmVsb3BlcidzIHdvcmtzdGF0aW9uLgot Ci0KLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIwotIyBDb3JydXB0IHRoZSBzcWxpdGUgZGF0YWJhc2UgYW5kIGdl dCBkZWJ1Z2luZm9kIHRvIHRyaXAgYWNyb3NzIGl0cyBlcnJvcnMKLQotY3VybCAtcyBodHRwOi8v MTI3LjAuMC4xOiRQT1JUMS9tZXRyaWNzIHwgZ3JlcCAnc3FsaXRlMy4qcmVzZXQnCi1scyAtYWwg JERCCi1kZCBpZj0vZGV2L3plcm8gb2Y9JERCIGJzPTEgY291bnQ9MQotbHMgLWFsICREQgotIyB0 cmlnZ2VyIHNvbWUgcmFuZG9tIGFjdGl2aXR5IHRoYXQncyBTdXJlIHRvIGdldCBzcWxpdGUzIHVw c2V0Ci1raWxsIC1VU1IxICRQSUQxCi13YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX3dvcmtfdG90 YWx7cm9sZT0idHJhdmVyc2UifScgOQotd2FpdF9yZWFkeSAkUE9SVDEgJ3RocmVhZF93b3JrX3Bl bmRpbmd7cm9sZT0ic2NhbiJ9JyAwCi13YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX2J1c3l7cm9s ZT0ic2NhbiJ9JyAwCi1raWxsIC1VU1IyICRQSUQxCi13YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFk X3dvcmtfdG90YWx7cm9sZT0iZ3Jvb20ifScgNAotY3VybCAtcyBodHRwOi8vMTI3LjAuMC4xOiRQ T1JUMS9idWlsZGlkL2JlZWZiZWVmYmVlZmQwMGRkMDBkL2RlYnVnaW5mbyA+IC9kZXYvbnVsbCB8 fCB0cnVlCi1jdXJsIC1zIGh0dHA6Ly8xMjcuMC4wLjE6JFBPUlQxL21ldHJpY3MgfCBncmVwICdl cnJvcl9jb3VudC4qc3FsaXRlJwotCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLQotIyBSdW4gdGhlIHRlc3Rz IGFnYWluIHdpdGhvdXQgdGhlIHNlcnZlcnMgcnVubmluZy4gVGhlIHRhcmdldCBmaWxlIHNob3Vs ZAotIyBiZSBmb3VuZCBpbiB0aGUgY2FjaGUuCi0KLWtpbGwgLUlOVCAkUElEMSAkUElEMgotd2Fp dCAkUElEMSAkUElEMgotUElEMT0wCi1QSUQyPTAKLXRlbXBmaWxlcyAuZGVidWdpbmZvZF8qCi0K LXRlc3RydW4gJHthYnNfYnVpbGRkaXJ9L2RlYnVnaW5mb2RfYnVpbGRfaWRfZmluZCAtZSBGL3By b2cyIDEKLQotIyBjaGVjayBvdXQgdGhlIGRlYnVnaW5mb2QgbG9ncyBmb3IgdGhlIG5ldyBzdHls ZSBzdGF0dXMgbGluZXMKLSMgY2F0IHZsb2ckUE9SVDIKLWdyZXAgLXEgJ1VBOi4qWEZGOi4qR0VU IC9idWlsZGlkLy4qIDIwMCAnIHZsb2ckUE9SVDIKLWdyZXAgLXEgJ1VBOi4qWEZGOi4qR0VUIC9t ZXRyaWNzIDIwMCAnIHZsb2ckUE9SVDIKLWdyZXAgLXEgJ1VBOi4qWEZGOi4qR0VUIC9iYWRhcGkg NTAzICcgdmxvZyRQT1JUMgotZ3JlcCAtcSAnVUE6LipYRkY6LipHRVQgL2J1aWxkaWQvZGVhZGJl ZWYuKiA0MDQgJyB2bG9nJFBPUlQyCi0KLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotCi0jIEFkZCBzb21lIGZp bGVzIHRvIHRoZSBjYWNoZSB0aGF0IGRvIG5vdCBmaXQgaXRzIG5hbWluZyBmb3JtYXQuCi0jIFRo ZXkgc2hvdWxkIHN1cnZpdmUgY2FjaGUgY2xlYW5pbmcuCi1ta2RpciAkREVCVUdJTkZPRF9DQUNI RV9QQVRIL21hbGZvcm1lZAotdG91Y2ggJERFQlVHSU5GT0RfQ0FDSEVfUEFUSC9tYWxmb3JtZWQw Ci10b3VjaCAkREVCVUdJTkZPRF9DQUNIRV9QQVRIL21hbGZvcm1lZC9tYWxmb3JtZWQxCi0KLSMg QSB2YWxpZCBmb3JtYXQgZm9yIGFuIGVtcHR5IGJ1aWxkaWQgc3ViZGlyZWN0b3J5Ci1ta2RpciAk REVCVUdJTkZPRF9DQUNIRV9QQVRILzAwMDAwMDAwCi10b3VjaCAtZCAnMTk3MC0wMS0wMScgJERF QlVHSU5GT0RfQ0FDSEVfUEFUSC8wMDAwMDAwMCAjIG9sZCBlbm91Z2ggdG8gZ3VhcmFudGVlIG51 a2FnZQotCi0jIFRyaWdnZXIgYSBjYWNoZSBjbGVhbiBhbmQgcnVuIHRoZSB0ZXN0cyBhZ2Fpbi4g VGhlIGNsaWVudHMgc2hvdWxkIGJlIHVuYWJsZSB0bwotIyBmaW5kIHRoZSB0YXJnZXQuCi1lY2hv IDAgPiAkREVCVUdJTkZPRF9DQUNIRV9QQVRIL2NhY2hlX2NsZWFuX2ludGVydmFsX3MKLWVjaG8g MCA+ICRERUJVR0lORk9EX0NBQ0hFX1BBVEgvbWF4X3VudXNlZF9hZ2VfcwotCi10ZXN0cnVuICR7 YWJzX2J1aWxkZGlyfS9kZWJ1Z2luZm9kX2J1aWxkX2lkX2ZpbmQgLWUgRi9wK3Ilb1wkZyAxCi0K LXRlc3RydW4gJHthYnNfdG9wX2J1aWxkZGlyfS9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QtZmluZCBk ZWJ1Z2luZm8gJEJVSUxESUQyICYmIGZhbHNlIHx8IHRydWUKLQotaWYgWyAhIC1mICRERUJVR0lO Rk9EX0NBQ0hFX1BBVEgvbWFsZm9ybWVkMCBdIFwKLSAgICB8fCBbICEgLWYgJERFQlVHSU5GT0Rf Q0FDSEVfUEFUSC9tYWxmb3JtZWQvbWFsZm9ybWVkMSBdOyB0aGVuCi0gIGVjaG8gInVucmVsYXRl ZCBmaWxlcyBkaWQgbm90IHN1cnZpdmUgY2FjaGUgY2xlYW5pbmciCi0gIGVycgotZmkKLQotaWYg WyAtZCAkREVCVUdJTkZPRF9DQUNIRV9QQVRILzAwMDAwMDAwIF07IHRoZW4KLSAgICBlY2hvICJm YWlsZWQgdG8gcm1kaXIgb2xkIGNhY2hlIGRpciIKLSAgICBlcnIKLWZpCi0KLSMgVGVzdCBkZWJ1 Z2luZm9kIHdpdGhvdXQgYSBwYXRoIGxpc3Q7IHJldXNlICRQT1JUMQotZW52IExEX0xJQlJBUllf UEFUSD0kbGRwYXRoICR7YWJzX2J1aWxkZGlyfS8uLi9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QgJFZF UkJPU0UgLUYgLVUgLWQgOm1lbW9yeTogLXAgJFBPUlQxIC1MIC1GICYKLVBJRDM9JCEKLXdhaXRf cmVhZHkgJFBPUlQxICd0aHJlYWRfd29ya190b3RhbHtyb2xlPSJ0cmF2ZXJzZSJ9JyAxCi13YWl0 X3JlYWR5ICRQT1JUMSAndGhyZWFkX3dvcmtfcGVuZGluZ3tyb2xlPSJzY2FuIn0nIDAKLXdhaXRf cmVhZHkgJFBPUlQxICd0aHJlYWRfYnVzeXtyb2xlPSJzY2FuIn0nIDAKLWtpbGwgLWludCAkUElE Mwotd2FpdCAkUElEMwotUElEMz0wCi0KLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyBUZXN0IGZldGNoaW5n IGEgZmlsZSB1c2luZyBmaWxlOi8vIC4gTm8gZGVidWdpbmZvZCBzZXJ2ZXIgbmVlZHMgdG8gYmUg cnVuIGZvcgotIyB0aGlzIHRlc3QuCi1sb2NhbF9kaXI9JHtQV0R9L21vY2t0cmVlL2J1aWxkaWQv YWFhYWFhYWFhYWJiYmJiYmJiYmJjY2NjY2NjY2NjZGRkZGRkZGRkZC9zb3VyY2UvbXkvcGF0aAot bWtkaXIgLXAgJHtsb2NhbF9kaXJ9Ci1lY2hvICJpbnQgbWFpbigpIHsgcmV0dXJuIDA7IH0iID4g JHtsb2NhbF9kaXJ9L21haW4uYwotCi0jIGZpcnN0IHRlc3QgdGhhdCBpcyBkb2Vzbid0IHdvcmss IHdoZW4gbm8gREVCVUdJTkZPRF9VUkxTIGlzIHNldAotREVCVUdJTkZPRF9VUkxTPSIiCi10ZXN0 cnVuICR7YWJzX3RvcF9idWlsZGRpcn0vZGVidWdpbmZvZC9kZWJ1Z2luZm9kLWZpbmQgc291cmNl IGFhYWFhYWFhYWFiYmJiYmJiYmJiY2NjY2NjY2NjY2RkZGRkZGRkZGQgL215L3BhdGgvbWFpbi5j ICYmIGZhbHNlIHx8IHRydWUKLQotIyBOb3cgdGVzdCBpcyB3aXRoIHByb3BlciBERUJVR0lORk9E X1VSTFMKLURFQlVHSU5GT0RfVVJMUz0iZmlsZTovLyR7UFdEfS9tb2NrdHJlZS8iCi1maWxlbmFt ZT1gdGVzdHJ1biAke2Fic190b3BfYnVpbGRkaXJ9L2RlYnVnaW5mb2QvZGVidWdpbmZvZC1maW5k IHNvdXJjZSBhYWFhYWFhYWFhYmJiYmJiYmJiYmNjY2NjY2NjY2NkZGRkZGRkZGRkIC9teS9wYXRo L21haW4uY2AKLWNtcCAkZmlsZW5hbWUgJHtsb2NhbF9kaXJ9L21haW4uYwotCi0jIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMKLSMjIFBSMjc3MTEKLSMgVGVzdCB0byBlbnN1cmUgdGhhdCB0aGUgLS1pbmNsdWRlPSJe JCIgLS1leGNsdWRlPSIuKiIgb3B0aW9ucyByZW1vdmUgYWxsIGZpbGVzIGZyb20gYSBkYXRhYmFz ZSBiYWNrdXAKLXdoaWxlIHRydWU7IGRvCi0gICAgUE9SVDM9YGV4cHIgJygnICRSQU5ET00gJSAx MDAwICcpJyArIDkwMDBgCi0gICAgc3MgLWF0biB8IGZncmVwICI6JFBPUlQzIiB8fCBicmVhawot ZG9uZQotZW52IExEX0xJQlJBUllfUEFUSD0kbGRwYXRoIERFQlVHSU5GT0RfVVJMUz0iaHR0cDov LzEyNy4wLjAuMTokUE9SVDMvIiAke2Fic19idWlsZGRpcn0vLi4vZGVidWdpbmZvZC9kZWJ1Z2lu Zm9kICRWRVJCT1NFIC1wICRQT1JUMyAtdDAgLWcwIC0tcmVnZXgtZ3Jvb20gLS1pbmNsdWRlPSJe JCIgLS1leGNsdWRlPSIuKiIgIC1kICREQi5iYWNrdXAgPiB2bG9nJFBPUlQzIDI+JjEgJgotUElE ND0kIQotd2FpdF9yZWFkeSAkUE9SVDMgJ3JlYWR5JyAxCi10ZW1wZmlsZXMgdmxvZyRQT1JUMwot ZXJyZmlsZXMgdmxvZyRQT1JUMwotCi1raWxsIC1VU1IyICRQSUQ0Ci13YWl0X3JlYWR5ICRQT1JU MyAndGhyZWFkX3dvcmtfdG90YWx7cm9sZT0iZ3Jvb20ifScgMQotd2FpdF9yZWFkeSAkUE9SVDMg J2dyb29te3N0YXRpc3RpYz0iYXJjaGl2ZSBkL2UifScgIDAKLXdhaXRfcmVhZHkgJFBPUlQzICdn cm9vbXtzdGF0aXN0aWM9ImFyY2hpdmUgc2RlZiJ9JyAwCi13YWl0X3JlYWR5ICRQT1JUMyAnZ3Jv b217c3RhdGlzdGljPSJhcmNoaXZlIHNyZWYifScgMAotd2FpdF9yZWFkeSAkUE9SVDMgJ2dyb29t e3N0YXRpc3RpYz0iYnVpbGRpZHMifScgMAotd2FpdF9yZWFkeSAkUE9SVDMgJ2dyb29te3N0YXRp c3RpYz0iZmlsZSBkL2UifScgMAotd2FpdF9yZWFkeSAkUE9SVDMgJ2dyb29te3N0YXRpc3RpYz0i ZmlsZSBzIn0nIDAKLXdhaXRfcmVhZHkgJFBPUlQzICdncm9vbXtzdGF0aXN0aWM9ImZpbGVzIHNj YW5uZWQgKCMpIn0nIDAKLXdhaXRfcmVhZHkgJFBPUlQzICdncm9vbXtzdGF0aXN0aWM9ImZpbGVz IHNjYW5uZWQgKG1iKSJ9JyAwCi0KLWtpbGwgJFBJRDQKLXdhaXQgJFBJRDQKLVBJRDQ9MAotCi0j IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMKLSMgc2V0IHVwIHRlc3RzIGZvciByZXRyeWluZyBmYWlsZWQgcXVlcmll cy4KLXJldHJ5X2F0dGVtcHRzPWAodGVzdHJ1biBlbnYgREVCVUdJTkZPRF9VUkxTPWh0dHA6Ly8y NTUuMjU1LjI1NS4yNTUvSlVOS0pVTksgREVCVUdJTkZPRF9SRVRSWV9MSU1JVD0xMCBERUJVR0lO Rk9EX1ZFUkJPU0U9MSBcCi0JJHthYnNfdG9wX2J1aWxkZGlyfS9kZWJ1Z2luZm9kL2RlYnVnaW5m b2QtZmluZCBkZWJ1Z2luZm8gL2Jpbi9scyB8fCB0cnVlKSAyPiYxID4vZGV2L251bGwgXAotCXwg Z3JlcCAtYyAnUmV0cnkgZmFpbGVkIHF1ZXJ5J2AKLWlmIFsgJHJldHJ5X2F0dGVtcHRzIC1uZSAx MCBdOyB0aGVuCi0gICAgZWNobyAicmV0cnkgbWVjaGFuaXNtIGZhaWxlZC4iCi0gICAgZXhpdCAx OwotICBmaQotCi1leGl0IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL3J1bi1kZWJ1Z2luZm9kLW1hbGZv cm1lZC5zaCBiL3Rlc3RzL3J1bi1kZWJ1Z2luZm9kLW1hbGZvcm1lZC5zaApuZXcgZmlsZSBtb2Rl IDEwMDc1NQppbmRleCAwMDAwMDAwMC4uYjQyMGE0NWIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0 cy9ydW4tZGVidWdpbmZvZC1tYWxmb3JtZWQuc2gKQEAgLTAsMCArMSwxMDcgQEAKKyMhL3Vzci9i aW4vZW52IGJhc2gKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjEgUmVkIEhhdCwgSW5jLgor IyBUaGlzIGZpbGUgaXMgcGFydCBvZiBlbGZ1dGlscy4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUg c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNo ZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBv ZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K KyMKKyMgZWxmdXRpbHMgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl IHVzZWZ1bCwgYnV0CisjIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt cGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm b3IgbW9yZSBkZXRhaWxzLgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3Jh bS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKworLiAkc3Jj ZGlyL3Rlc3Qtc3Vici5zaCAgIyBpbmNsdWRlcyBzZXQgLWUKKworIyBmb3IgdGVzdCBjYXNlIGRl YnVnZ2luZywgdW5jb21tZW50Ogorc2V0IC14Cit1bnNldCBWQUxHUklORF9DTUQKKworIyBmaW5k IGFuIHVudXNlZCBwb3J0IG51bWJlcgorZ2V0X3BvcnRzCitEQj0ke1BXRH0vLmRlYnVnaW5mb2Rf dG1wLnNxbGl0ZQorZXhwb3J0IERFQlVHSU5GT0RfQ0FDSEVfUEFUSD0ke1BXRH0vLmNsaWVudF9j YWNoZQorbWtkaXIgRgorbWtkaXIgLXAgJERFQlVHSU5GT0RfQ0FDSEVfUEFUSAorCitlbnYgTERf TElCUkFSWV9QQVRIPSRsZHBhdGggREVCVUdJTkZPRF9VUkxTPSAke2Fic19idWlsZGRpcn0vLi4v ZGVidWdpbmZvZC9kZWJ1Z2luZm9kICRWRVJCT1NFIC1GIC1wICRQT1JUMSBcCisgICAgLXQwIC1n MCAtdiBGID4gdmxvZyRQT1JUMSAyPiYxICYKK1BJRDE9JCEKK3RlbXBmaWxlcyB2bG9nJFBPUlQx CitlcnJmaWxlcyB2bG9nJFBPUlQxCisjIFNlcnZlciBtdXN0IGJlY29tZSByZWFkeQord2FpdF9y ZWFkeSAkUE9SVDEgJ3JlYWR5JyAxCitleHBvcnQgREVCVUdJTkZPRF9VUkxTPWh0dHA6Ly8xMjcu MC4wLjE6JFBPUlQxLyAgICMgb3Igd2l0aG91dCB0cmFpbGluZyAvCisKKyMgQmUgcGF0aWVudCB3 aGVuIHJ1biBvbiBhIGJ1c3kgbWFjaGluZSB0aGluZ3MgbWlnaHQgdGFrZSBhIGJpdC4KK2V4cG9y dCBERUJVR0lORk9EX1RJTUVPVVQ9MTAKKworIyBDaGVjayB0aHJlYWQgY29tbSBuYW1lcworcHMg LXEgJFBJRDEgLWUgLUwgLW8gJyVwICVjICVhJyB8IGdyZXAgZ3Jvb20KK3BzIC1xICRQSUQxIC1l IC1MIC1vICclcCAlYyAlYScgfCBncmVwIHNjYW4KK3BzIC1xICRQSUQxIC1lIC1MIC1vICclcCAl YyAlYScgfCBncmVwIHRyYXZlcnNlCisKKyMgV2UgdXNlIC10MCBhbmQgLWcwIGhlcmUgdG8gdHVy biBvZmYgdGltZS1iYXNlZCBzY2FubmluZyAmIGdyb29taW5nLgorIyBGb3IgdGVzdGluZyBwdXJw b3Nlcywgd2UganVzdCBzaWMgU0lHVVNSMSAvIFNJR1VTUjIgYXQgdGhlIHByb2Nlc3MuCisjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMKKworIyBDb21waWxlIGEgc2ltcGxlIHByb2dyYW0sIHN0cmlwIGl0cyBkZWJ1 Z2luZm8gYW5kIHNhdmUgdGhlIGJ1aWxkLWlkLgorIyBBbHNvIG1vdmUgdGhlIGRlYnVnaW5mbyBp bnRvIGFub3RoZXIgZGlyZWN0b3J5IHNvIHRoYXQgZWxmdXRpbHMKKyMgY2Fubm90IGZpbmQgaXQg d2l0aG91dCBkZWJ1Z2luZm9kLgorZWNobyAiaW50IG1haW4oKSB7IHJldHVybiAwOyB9IiA+ICR7 UFdEfS9wK3Ilb1wkZy5jCit0ZW1wZmlsZXMgcCtyJW9cJGcuYworIyBDcmVhdGUgYSBzdWJkaXJl Y3RvcnkgdG8gY29uZm91bmQgc291cmNlIHBhdGggbmFtZXMKK21rZGlyIGZvb2JhcgorZ2NjIC1X bCwtLWJ1aWxkLWlkIC1nIC1vIHArciVvXCRnICR7UFdEfS9mb29iYXIvLy8uLy4uL3ArciVvXCRn LmMKK3Rlc3RydW4gJHthYnNfdG9wX2J1aWxkZGlyfS9zcmMvc3RyaXAgLWcgLWYgcCtyJW9cJGcu ZGVidWcgJHtQV0R9L3ArciVvXCRnCitCVUlMRElEPWBlbnYgTERfTElCUkFSWV9QQVRIPSRsZHBh dGggJHthYnNfYnVpbGRkaXJ9Ly4uL3NyYy9yZWFkZWxmIFwKKyAgICAgICAgICAtYSBwK3Ilb1xc JGcgfCBncmVwICdCdWlsZCBJRCcgfCBjdXQgLWQgJyAnIC1mIDdgCisKK212IHArciVvXCRnIEYK K212IHArciVvXCRnLmRlYnVnIEYKK2tpbGwgLVVTUjEgJFBJRDEKKyMgV2FpdCB0aWxsIGJvdGgg ZmlsZXMgYXJlIGluIHRoZSBpbmRleC4KK3dhaXRfcmVhZHkgJFBPUlQxICd0aHJlYWRfd29ya190 b3RhbHtyb2xlPSJ0cmF2ZXJzZSJ9JyAxCit3YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX3dvcmtf cGVuZGluZ3tyb2xlPSJzY2FuIn0nIDAKK3dhaXRfcmVhZHkgJFBPUlQxICd0aHJlYWRfYnVzeXty b2xlPSJzY2FuIn0nIDAKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIEFkZCBzb21lIGZpbGVzIHRvIHRo ZSBjYWNoZSB0aGF0IGRvIG5vdCBmaXQgaXRzIG5hbWluZyBmb3JtYXQuCisjIFRoZXkgc2hvdWxk IHN1cnZpdmUgY2FjaGUgY2xlYW5pbmcuCitta2RpciAkREVCVUdJTkZPRF9DQUNIRV9QQVRIL21h bGZvcm1lZAordG91Y2ggJERFQlVHSU5GT0RfQ0FDSEVfUEFUSC9tYWxmb3JtZWQwCit0b3VjaCAk REVCVUdJTkZPRF9DQUNIRV9QQVRIL21hbGZvcm1lZC9tYWxmb3JtZWQxCisKKyMgQSB2YWxpZCBm b3JtYXQgZm9yIGFuIGVtcHR5IGJ1aWxkaWQgc3ViZGlyZWN0b3J5Citta2RpciAkREVCVUdJTkZP RF9DQUNIRV9QQVRILzAwMDAwMDAwCit0b3VjaCAtZCAnMTk3MC0wMS0wMScgJERFQlVHSU5GT0Rf Q0FDSEVfUEFUSC8wMDAwMDAwMCAjIG9sZCBlbm91Z2ggdG8gZ3VhcmFudGVlIG51a2FnZQorCisj IFRyaWdnZXIgYSBjYWNoZSBjbGVhbiBhbmQgcnVuIHRoZSB0ZXN0cyBhZ2Fpbi4gVGhlIGNsaWVu dHMgc2hvdWxkIGJlIHVuYWJsZSB0bworIyBmaW5kIHRoZSB0YXJnZXQuCitlY2hvIDAgPiAkREVC VUdJTkZPRF9DQUNIRV9QQVRIL2NhY2hlX2NsZWFuX2ludGVydmFsX3MKK2VjaG8gMCA+ICRERUJV R0lORk9EX0NBQ0hFX1BBVEgvbWF4X3VudXNlZF9hZ2VfcworCit0ZXN0cnVuICR7YWJzX2J1aWxk ZGlyfS9kZWJ1Z2luZm9kX2J1aWxkX2lkX2ZpbmQgLWUgRi9wK3Ilb1wkZyAxCisKK3Rlc3RydW4g JHthYnNfdG9wX2J1aWxkZGlyfS9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QtZmluZCBkZWJ1Z2luZm8g JEJVSUxESUQgJiYgZmFsc2UgfHwgdHJ1ZQorCitpZiBbICEgLWYgJERFQlVHSU5GT0RfQ0FDSEVf UEFUSC9tYWxmb3JtZWQwIF0gXAorICAgIHx8IFsgISAtZiAkREVCVUdJTkZPRF9DQUNIRV9QQVRI L21hbGZvcm1lZC9tYWxmb3JtZWQxIF07IHRoZW4KKyAgZWNobyAidW5yZWxhdGVkIGZpbGVzIGRp ZCBub3Qgc3Vydml2ZSBjYWNoZSBjbGVhbmluZyIKKyAgZXJyCitmaQorCitpZiBbIC1kICRERUJV R0lORk9EX0NBQ0hFX1BBVEgvMDAwMDAwMDAgXTsgdGhlbgorICAgIGVjaG8gImZhaWxlZCB0byBy bWRpciBvbGQgY2FjaGUgZGlyIgorICAgIGVycgorZmkKKwora2lsbCAkUElEMQord2FpdCAkUElE MQorUElEMT0wCitleGl0IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL3J1bi1kZWJ1Z2luZm9kLW5vLXVy bHMuc2ggYi90ZXN0cy9ydW4tZGVidWdpbmZvZC1uby11cmxzLnNoCm5ldyBmaWxlIG1vZGUgMTAw NzU1CmluZGV4IDAwMDAwMDAwLi41M2MyOWY0YwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3J1 bi1kZWJ1Z2luZm9kLW5vLXVybHMuc2gKQEAgLTAsMCArMSwzOCBAQAorIyEvdXNyL2Jpbi9lbnYg YmFzaAorIworIyBDb3B5cmlnaHQgKEMpIDIwMTktMjAyMSBSZWQgSGF0LCBJbmMuCisjIFRoaXMg ZmlsZSBpcyBwYXJ0IG9mIGVsZnV0aWxzLgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2Fy ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUg dGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQor IyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBM aWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBl bGZ1dGlscyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs LCBidXQKKyMgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3 YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl IGRldGFpbHMuCisjCisjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYg bm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorCisuICRzcmNkaXIvdGVz dC1zdWJyLnNoICAjIGluY2x1ZGVzIHNldCAtZQorCisjIGZvciB0ZXN0IGNhc2UgZGVidWdnaW5n LCB1bmNvbW1lbnQ6CitzZXQgLXgKK3Vuc2V0IFZBTEdSSU5EX0NNRAorCisjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMKKyMgVGVzdCBkZWJ1Z2luZm9kIHdpdGhvdXQgYSBwYXRoIGxpc3QKK2dldF9wb3J0cworCitl bnYgTERfTElCUkFSWV9QQVRIPSRsZHBhdGggJHthYnNfYnVpbGRkaXJ9Ly4uL2RlYnVnaW5mb2Qv ZGVidWdpbmZvZCAkVkVSQk9TRSAtRiAtVSAtZCA6bWVtb3J5OiAtcCAkUE9SVDEgLUwgLUYgJgor UElEMT0kIQorCit3YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX3dvcmtfdG90YWx7cm9sZT0idHJh dmVyc2UifScgMQord2FpdF9yZWFkeSAkUE9SVDEgJ3RocmVhZF93b3JrX3BlbmRpbmd7cm9sZT0i c2NhbiJ9JyAwCit3YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX2J1c3l7cm9sZT0ic2NhbiJ9JyAw CitraWxsIC1pbnQgJFBJRDEKK3dhaXQgJFBJRDEKK1BJRDE9MAorZXhpdCAwCmRpZmYgLS1naXQg YS90ZXN0cy9ydW4tZGVidWdpbmZvZC1xdWVyeS1yZXRyeS5zaCBiL3Rlc3RzL3J1bi1kZWJ1Z2lu Zm9kLXF1ZXJ5LXJldHJ5LnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwLi45 MThjNjgwMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3J1bi1kZWJ1Z2luZm9kLXF1ZXJ5LXJl dHJ5LnNoCkBAIC0wLDAgKzEsMzQgQEAKKyMhL3Vzci9iaW4vZW52IGJhc2gKKyMKKyMgQ29weXJp Z2h0IChDKSAyMDE5LTIwMjEgUmVkIEhhdCwgSW5jLgorIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBl bGZ1dGlscy4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0 cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0 IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgZWxmdXRpbHMgaXMgZGlzdHJp YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CisjIFdJVEhPVVQg QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVS Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo ZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIyBZ b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZQorIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8v d3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKworLiAkc3JjZGlyL3Rlc3Qtc3Vici5zaCAgIyBpbmNs dWRlcyBzZXQgLWUKKyMgZm9yIHRlc3QgY2FzZSBkZWJ1Z2dpbmcsIHVuY29tbWVudDoKK3NldCAt eAordW5zZXQgVkFMR1JJTkRfQ01ECisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBzZXQgdXAgdGVzdHMg Zm9yIHJldHJ5aW5nIGZhaWxlZCBxdWVyaWVzLgorcmV0cnlfYXR0ZW1wdHM9YCh0ZXN0cnVuIGVu diBERUJVR0lORk9EX1VSTFM9aHR0cDovLzI1NS4yNTUuMjU1LjI1NS9KVU5LSlVOSyBERUJVR0lO Rk9EX1JFVFJZX0xJTUlUPTEwIERFQlVHSU5GT0RfVkVSQk9TRT0xIFwKKyAgICAgICAgJHthYnNf dG9wX2J1aWxkZGlyfS9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QtZmluZCBkZWJ1Z2luZm8gL2Jpbi9s cyB8fCB0cnVlKSAyPiYxID4vZGV2L251bGwgXAorICAgICAgICB8IGdyZXAgLWMgJ1JldHJ5IGZh aWxlZCBxdWVyeSdgCitpZiBbICRyZXRyeV9hdHRlbXB0cyAtbmUgMTAgXTsgdGhlbgorICAgIGVj aG8gInJldHJ5IG1lY2hhbmlzbSBmYWlsZWQuIgorICAgIGV4aXQgMTsKK2ZpCisKK2V4aXQgMDsK ZGlmZiAtLWdpdCBhL3Rlc3RzL3J1bi1kZWJ1Z2luZm9kLXJlZ2V4LnNoIGIvdGVzdHMvcnVuLWRl YnVnaW5mb2QtcmVnZXguc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAuLmUz NmQ4ZjVmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvcnVuLWRlYnVnaW5mb2QtcmVnZXguc2gK QEAgLTAsMCArMSw5NSBAQAorIyEvdXNyL2Jpbi9lbnYgYmFzaAorIworIyBDb3B5cmlnaHQgKEMp IDIwMTktMjAyMSBSZWQgSGF0LCBJbmMuCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGVsZnV0aWxz LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg aXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBv cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBlbGZ1dGlscyBpcyBkaXN0cmlidXRlZCBp biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKKyMgV0lUSE9VVCBBTlkgV0FS UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjIFlvdSBzaG91 bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl CisjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251 Lm9yZy9saWNlbnNlcy8+LgorCisuICRzcmNkaXIvdGVzdC1zdWJyLnNoICAjIGluY2x1ZGVzIHNl dCAtZQorIyBmb3IgdGVzdCBjYXNlIGRlYnVnZ2luZywgdW5jb21tZW50Ogorc2V0IC14Cit1bnNl dCBWQUxHUklORF9DTUQKKworbWtkaXIgRgorCitEQj0ke1BXRH0vLmRlYnVnaW5mb2RfdG1wLnNx bGl0ZQordGVtcGZpbGVzICREQgorCitleHBvcnQgREVCVUdJTkZPRF9DQUNIRV9QQVRIPSR7UFdE fS8uY2xpZW50X2NhY2hlCisKK2dldF9wb3J0cworZW52IExEX0xJQlJBUllfUEFUSD0kbGRwYXRo ICR7YWJzX2J1aWxkZGlyfS8uLi9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QgXAorICAgICRWRVJCT1NF IC1GIC1wICRQT1JUMSAtdDAgLWcwIC1kICR7REJ9IEYgPiB2bG9nJFBPUlQxIDI+JjEgJgorUElE MT0kIQordGVtcGZpbGVzIHZsb2ckUE9SVDEKK2VycmZpbGVzIHZsb2ckUE9SVDEKK3dhaXRfcmVh ZHkgJFBPUlQxICdyZWFkeScgMQorCisjIENvbXBpbGUgYSBzaW1wbGUgcHJvZ3JhbSwgc3RyaXAg aXRzIGRlYnVnaW5mbyBhbmQgc2F2ZSB0aGUgYnVpbGQtaWQuCisjIEFsc28gbW92ZSB0aGUgZGVi dWdpbmZvIGludG8gYW5vdGhlciBkaXJlY3Rvcnkgc28gdGhhdCBlbGZ1dGlscworIyBjYW5ub3Qg ZmluZCBpdCB3aXRob3V0IGRlYnVnaW5mb2QuCitlY2hvICJpbnQgbWFpbigpIHsgcmV0dXJuIDA7 IH0iID4gJHtQV0R9L3Byb2cuYwordGVtcGZpbGVzIHByb2cuYworIyBDcmVhdGUgYSBzdWJkaXJl Y3RvcnkgdG8gY29uZm91bmQgc291cmNlIHBhdGggbmFtZXMKK21rZGlyIGZvb2JhcgorZ2NjIC1X bCwtLWJ1aWxkLWlkIC1nIC1vIHByb2cgJHtQV0R9L2Zvb2Jhci8vLy4vLi4vcHJvZy5jCit0ZXN0 cnVuICR7YWJzX3RvcF9idWlsZGRpcn0vc3JjL3N0cmlwIC1nIC1mIHByb2cuZGVidWcgJHtQV0R9 L3Byb2cKKworbXYgcHJvZyBGCittdiBwcm9nLmRlYnVnIEYKK3RlbXBmaWxlcyBGL3Byb2cuZGVi dWcgRi9wcm9nCisKK2tpbGwgLVVTUjEgJFBJRDEKKyMgV2FpdCB0aWxsIGJvdGggZmlsZXMgYXJl IGluIHRoZSBpbmRleC4KK3dhaXRfcmVhZHkgJFBPUlQxICd0aHJlYWRfd29ya190b3RhbHtyb2xl PSJ0cmF2ZXJzZSJ9JyAxCit3YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX3dvcmtfcGVuZGluZ3ty b2xlPSJzY2FuIn0nIDAKK3dhaXRfcmVhZHkgJFBPUlQxICd0aHJlYWRfYnVzeXtyb2xlPSJzY2Fu In0nIDAKK2NwICR7REJ9ICR7REJ9LmJhY2t1cAordGVtcGZpbGVzICR7REJ9LmJhY2t1cAorCitr aWxsICRQSUQxCit3YWl0ICRQSUQxCitQSUQxPTAKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjIFBSMjc3 MTEKKyMgVGVzdCB0byBlbnN1cmUgdGhhdCB0aGUgLS1pbmNsdWRlPSJeJCIgLS1leGNsdWRlPSIu KiIgb3B0aW9ucyByZW1vdmUgYWxsIGZpbGVzIGZyb20gYSBkYXRhYmFzZSBiYWNrdXAKKyMKK2Vu diBMRF9MSUJSQVJZX1BBVEg9JGxkcGF0aCAke2Fic19idWlsZGRpcn0vLi4vZGVidWdpbmZvZC9k ZWJ1Z2luZm9kIFwKKyAgICAkVkVSQk9TRSAtcCAkUE9SVDIgLXQwIC1nMCAtLXJlZ2V4LWdyb29t IC0taW5jbHVkZT0iXiQiIC0tZXhjbHVkZT0iLioiIC1kICR7REJ9LmJhY2t1cCA+IHZsb2ckUE9S VDIgMj4mMSAmCisKKyNyZXVzZSBQSUQxCitQSUQxPSQhCit0ZW1wZmlsZXMgdmxvZyRQT1JUMgor ZXJyZmlsZXMgdmxvZyRQT1JUMgorIyBTZXJ2ZXIgbXVzdCBiZWNvbWUgcmVhZHkKK3dhaXRfcmVh ZHkgJFBPUlQyICdyZWFkeScgMQorCitraWxsIC1VU1IyICRQSUQxCit3YWl0X3JlYWR5ICRQT1JU MiAndGhyZWFkX3dvcmtfdG90YWx7cm9sZT0iZ3Jvb20ifScgMQord2FpdF9yZWFkeSAkUE9SVDIg J2dyb29te3N0YXRpc3RpYz0iYXJjaGl2ZSBkL2UifScgIDAKK3dhaXRfcmVhZHkgJFBPUlQyICdn cm9vbXtzdGF0aXN0aWM9ImFyY2hpdmUgc2RlZiJ9JyAwCit3YWl0X3JlYWR5ICRQT1JUMiAnZ3Jv b217c3RhdGlzdGljPSJhcmNoaXZlIHNyZWYifScgMAord2FpdF9yZWFkeSAkUE9SVDIgJ2dyb29t e3N0YXRpc3RpYz0iYnVpbGRpZHMifScgMAord2FpdF9yZWFkeSAkUE9SVDIgJ2dyb29te3N0YXRp c3RpYz0iZmlsZSBkL2UifScgMAord2FpdF9yZWFkeSAkUE9SVDIgJ2dyb29te3N0YXRpc3RpYz0i ZmlsZSBzIn0nIDAKK3dhaXRfcmVhZHkgJFBPUlQyICdncm9vbXtzdGF0aXN0aWM9ImZpbGVzIHNj YW5uZWQgKCMpIn0nIDAKK3dhaXRfcmVhZHkgJFBPUlQyICdncm9vbXtzdGF0aXN0aWM9ImZpbGVz IHNjYW5uZWQgKG1iKSJ9JyAwCisKK2tpbGwgJFBJRDEKK3dhaXQgJFBJRDEKK1BJRDE9MAorCitl eGl0IDA7CisKZGlmZiAtLWdpdCBhL3Rlc3RzL3J1bi1kZWJ1Z2luZm9kLXNpemV0aW1lLnNoIGIv dGVzdHMvcnVuLWRlYnVnaW5mb2Qtc2l6ZXRpbWUuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5k ZXggMDAwMDAwMDAuLmVkZjRjY2U1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvcnVuLWRlYnVn aW5mb2Qtc2l6ZXRpbWUuc2gKQEAgLTAsMCArMSw3NSBAQAorIyEvdXNyL2Jpbi9lbnYgYmFzaAor IworIyBDb3B5cmlnaHQgKEMpIDIwMTktMjAyMSBSZWQgSGF0LCBJbmMuCisjIFRoaXMgZmlsZSBp cyBwYXJ0IG9mIGVsZnV0aWxzLgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNl LCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBlbGZ1dGls cyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQK KyMgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50 eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp bHMuCisjCisjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlCisjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBz ZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorCisuICRzcmNkaXIvdGVzdC1zdWJy LnNoICAjIGluY2x1ZGVzIHNldCAtZQorc2V0IC14Cit1bnNldCBWQUxHUklORF9DTUQKKworZ2V0 X3BvcnRzCisKK2VjaG8gImludCBtYWluKCkgeyByZXR1cm4gMDsgfSIgPiAke1BXRH0vcHJvZy5j CisjIENyZWF0ZSBhIHN1YmRpcmVjdG9yeSB0byBjb25mb3VuZCBzb3VyY2UgcGF0aCBuYW1lcwor bWtkaXIgZm9vYmFyCitnY2MgLVdsLC0tYnVpbGQtaWQgLWcgLW8gcHJvZyAke1BXRH0vZm9vYmFy Ly8vLi8uLi9wcm9nLmMKK3Rlc3RydW4gJHthYnNfdG9wX2J1aWxkZGlyfS9zcmMvc3RyaXAgLWcg LWYgcHJvZy5kZWJ1ZyAke1BXRH0vcHJvZwordGVtcGZpbGVzIHByb2cgcHJvZy5kZWJ1ZyBwcm9n LmMKK0JVSUxESUQ9YGVudiBMRF9MSUJSQVJZX1BBVEg9JGxkcGF0aCAke2Fic19idWlsZGRpcn0v Li4vc3JjL3JlYWRlbGYgXAorICAgICAgICAgIC1hIHByb2cgfCBncmVwICdCdWlsZCBJRCcgfCBj dXQgLWQgJyAnIC1mIDdgCisKK2VudiBMRF9MSUJSQVJZX1BBVEg9JGxkcGF0aCAke2Fic19idWls ZGRpcn0vLi4vZGVidWdpbmZvZC9kZWJ1Z2luZm9kICRWRVJCT1NFIC1GIC1wICRQT1JUMSAtdDAg LWcwICR7UFdEfSA+IHZsb2ckUE9SVDEgMj4mMSAmCitQSUQxPSQhCit0ZW1wZmlsZXMgdmxvZyRQ T1JUMQorZXJyZmlsZXMgIHZsb2ckUE9SVDEKK3dhaXRfcmVhZHkgJFBPUlQxICdyZWFkeScgMQor d2FpdF9yZWFkeSAkUE9SVDEgJ3RocmVhZF93b3JrX3RvdGFse3JvbGU9InRyYXZlcnNlIn0nIDEK K3dhaXRfcmVhZHkgJFBPUlQxICd0aHJlYWRfd29ya19wZW5kaW5ne3JvbGU9InNjYW4ifScgMAor d2FpdF9yZWFkeSAkUE9SVDEgJ3RocmVhZF9idXN5e3JvbGU9InNjYW4ifScgMAorCisjIyBQUjI3 ODkyCisjIEVuc3VyZSBERUJVR0lORk9EX01BWFNJWkUgaXMgZnVuY3Rpb25hbCBhbmQgc2VuZHMg YmFjayB0aGUgY29ycmVjdCBodHRwCisjIGNvZGUKK2VudiBMRF9MSUJSQVJZX1BBVEg9JGxkcGF0 aCBERUJVR0lORk9EX1JFVFJZX0xJTUlUPTEgREVCVUdJTkZPRF9VUkxTPSJodHRwOi8vMTI3LjAu MC4xOiRQT1JUMS8iIERFQlVHSU5GT0RfTUFYU0laRT0xIFwKKyAgICAke2Fic190b3BfYnVpbGRk aXJ9L2RlYnVnaW5mb2QvZGVidWdpbmZvZC1maW5kIC12IGV4ZWN1dGFibGUgJHtQV0R9L3Byb2cg Mj4gZmluZC12bG9nJFBPUlQxIHx8IHRydWUKK3RlbXBmaWxlcyBmaW5kLXZsb2ckUE9SVDEgCitl cnJmaWxlcyAgZmluZC12bG9nJFBPUlQxCitlY2hvICJDaGVja2luZyBtYXhzaXplIgorZ3JlcCAi dXNpbmcgbWF4IHNpemUgMUIiIGZpbmQtdmxvZyRQT1JUMQorZWNobyAiQ2hlY2tpbmcgbWF4c2l6 ZSIKK2dyZXAgJ3NlcnZpbmcgZmlsZSAnJChyZWFscGF0aCAke1BXRH0pJy9wcm9nJyB2bG9nJFBP UlQxCitlY2hvICJDaGVja2luZyBtYXhzaXplIgorZ3JlcCAnRmlsZSB0b28gbGFyZ2UnIHZsb2ck UE9SVDEKK2lmIFsgLWYgJHtERUJVR0lORk9EX0NBQ0hFX1BBVEh9LyR7QlVJTERJRH0gXTsgdGhl bgorICBlY2hvICJGaWxlIGNhY2hlZCBhZnRlciBtYXhzaXplIGNoZWNrIgorICBlcnIKK2ZpCisj IEVuc3VyZSBubyBmaWxlIGlzIGRvd25sb2FkZWQgZm9yIGxvbmdlciB0aGFuIERFQlVHSU5GT0Rf TUFYVElNRQorZW52IExEX0xJQlJBUllfUEFUSD0kbGRwYXRoIERFQlVHSU5GT0RfVVJMUz0iaHR0 cDovLzEyNy4wLjAuMTokUE9SVDEvIiBERUJVR0lORk9EX01BWFRJTUU9MSBcCisgICAgJHthYnNf dG9wX2J1aWxkZGlyfS9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QtZmluZCAtdiBkZWJ1Z2luZm8gJHtQ V0R9L3Byb2cuZGVidWcgMj4gZmluZC12bG9nJFBPUlQxIHx8IHRydWUKK3RlbXBmaWxlcyBmaW5k LXZsb2ckUE9SVDEKK2dyZXAgJ3VzaW5nIG1heCB0aW1lJyBmaW5kLXZsb2ckUE9SVDEKKyMgRW5z dXJlIHArciVvXCRnLmRlYnVnIGlzIE5PVCBjYWNoZWQKK2lmIFsgLWYgJHtERUJVR0lORk9EX0NB Q0hFX1BBVEh9LyR7QlVJTERJRH0gXTsgdGhlbgorICBlY2hvICJGaWxlIGNhY2hlZCBhZnRlciBt YXh0aW1lIGNoZWNrIgorICBlcnIKK2ZpCisKK2tpbGwgJFBJRDEKK3dhaXQgJFBJRDEKK1BJRDE9 MAorCitleGl0IDA7CmRpZmYgLS1naXQgYS90ZXN0cy9ydW4tZGVidWdpbmZvZC10bXAtaG9tZS5z aCBiL3Rlc3RzL3J1bi1kZWJ1Z2luZm9kLXRtcC1ob21lLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1 CmluZGV4IDAwMDAwMDAwLi4wZjJmMmQ1MwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3J1bi1k ZWJ1Z2luZm9kLXRtcC1ob21lLnNoCkBAIC0wLDAgKzEsMTIyIEBACisjIS91c3IvYmluL2VudiBi YXNoCisjCisjIENvcHlyaWdodCAoQykgMjAxOS0yMDIxIFJlZCBIYXQsIEluYy4KKyMgVGhpcyBm aWxlIGlzIHBhcnQgb2YgZWxmdXRpbHMuCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJl OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0 ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Cisj IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExp Y2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIGVs ZnV0aWxzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws IGJ1dAorIyBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh cnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg ZGV0YWlscy4KKyMKKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBu b3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisKKy4gJHNyY2Rpci90ZXN0 LXN1YnIuc2ggICMgaW5jbHVkZXMgc2V0IC1lCisjIGZvciB0ZXN0IGNhc2UgZGVidWdnaW5nLCB1 bmNvbW1lbnQ6CitzZXQgLXgKK3Vuc2V0IFZBTEdSSU5EX0NNRAorCitEQj0ke1BXRH0vLmRlYnVn aW5mb2RfdG1wLnNxbGl0ZQorZXhwb3J0IERFQlVHSU5GT0RfQ0FDSEVfUEFUSD0ke1BXRH0vLmNs aWVudF9jYWNoZQorCitta2RpciBGCitta2RpciAtcCAkREVCVUdJTkZPRF9DQUNIRV9QQVRICisK K2dldF9wb3J0cworCitlbnYgTERfTElCUkFSWV9QQVRIPSRsZHBhdGggREVCVUdJTkZPRF9VUkxT PSAke2Fic19idWlsZGRpcn0vLi4vZGVidWdpbmZvZC9kZWJ1Z2luZm9kICRWRVJCT1NFIC1GIC1w ICRQT1JUMSBcCisgICAgLXQwIC1nMCAtdiBGID4gdmxvZyRQT1JUMSAyPiYxICYKK1BJRDE9JCEK K3RlbXBmaWxlcyB2bG9nJFBPUlQxCitlcnJmaWxlcyB2bG9nJFBPUlQxCisjIFNlcnZlciBtdXN0 IGJlY29tZSByZWFkeQord2FpdF9yZWFkeSAkUE9SVDEgJ3JlYWR5JyAxCitleHBvcnQgREVCVUdJ TkZPRF9VUkxTPWh0dHA6Ly8xMjcuMC4wLjE6JFBPUlQxLyAgICMgb3Igd2l0aG91dCB0cmFpbGlu ZyAvCisKKyMgQmUgcGF0aWVudCB3aGVuIHJ1biBvbiBhIGJ1c3kgbWFjaGluZSB0aGluZ3MgbWln aHQgdGFrZSBhIGJpdC4KK2V4cG9ydCBERUJVR0lORk9EX1RJTUVPVVQ9MTAKKworIyBDaGVjayB0 aHJlYWQgY29tbSBuYW1lcworcHMgLXEgJFBJRDEgLWUgLUwgLW8gJyVwICVjICVhJyB8IGdyZXAg Z3Jvb20KK3BzIC1xICRQSUQxIC1lIC1MIC1vICclcCAlYyAlYScgfCBncmVwIHNjYW4KK3BzIC1x ICRQSUQxIC1lIC1MIC1vICclcCAlYyAlYScgfCBncmVwIHRyYXZlcnNlCisKKyMgV2UgdXNlIC10 MCBhbmQgLWcwIGhlcmUgdG8gdHVybiBvZmYgdGltZS1iYXNlZCBzY2FubmluZyAmIGdyb29taW5n LgorIyBGb3IgdGVzdGluZyBwdXJwb3Nlcywgd2UganVzdCBzaWMgU0lHVVNSMSAvIFNJR1VTUjIg YXQgdGhlIHByb2Nlc3MuCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCisjIENvbXBpbGUgYSBzaW1wbGUg cHJvZ3JhbSwgc3RyaXAgaXRzIGRlYnVnaW5mbyBhbmQgc2F2ZSB0aGUgYnVpbGQtaWQuCisjIEFs c28gbW92ZSB0aGUgZGVidWdpbmZvIGludG8gYW5vdGhlciBkaXJlY3Rvcnkgc28gdGhhdCBlbGZ1 dGlscworIyBjYW5ub3QgZmluZCBpdCB3aXRob3V0IGRlYnVnaW5mb2QuCitlY2hvICJpbnQgbWFp bigpIHsgcmV0dXJuIDA7IH0iID4gJHtQV0R9L3ArciVvXCRnLmMKK3RlbXBmaWxlcyBwK3Ilb1wk Zy5jCisjIENyZWF0ZSBhIHN1YmRpcmVjdG9yeSB0byBjb25mb3VuZCBzb3VyY2UgcGF0aCBuYW1l cworbWtkaXIgZm9vYmFyCitnY2MgLVdsLC0tYnVpbGQtaWQgLWcgLW8gcCtyJW9cJGcgJHtQV0R9 L2Zvb2Jhci8vLy4vLi4vcCtyJW9cJGcuYwordGVzdHJ1biAke2Fic190b3BfYnVpbGRkaXJ9L3Ny Yy9zdHJpcCAtZyAtZiBwK3Ilb1wkZy5kZWJ1ZyAke1BXRH0vcCtyJW9cJGcKK0JVSUxESUQ9YGVu diBMRF9MSUJSQVJZX1BBVEg9JGxkcGF0aCAke2Fic19idWlsZGRpcn0vLi4vc3JjL3JlYWRlbGYg XAorICAgICAgICAgIC1hIHArciVvXFwkZyB8IGdyZXAgJ0J1aWxkIElEJyB8IGN1dCAtZCAnICcg LWYgN2AKKworbXYgcCtyJW9cJGcgRgorbXYgcCtyJW9cJGcuZGVidWcgRgora2lsbCAtVVNSMSAk UElEMQorIyBXYWl0IHRpbGwgYm90aCBmaWxlcyBhcmUgaW4gdGhlIGluZGV4Lgord2FpdF9yZWFk eSAkUE9SVDEgJ3RocmVhZF93b3JrX3RvdGFse3JvbGU9InRyYXZlcnNlIn0nIDEKK3dhaXRfcmVh ZHkgJFBPUlQxICd0aHJlYWRfd29ya19wZW5kaW5ne3JvbGU9InNjYW4ifScgMAord2FpdF9yZWFk eSAkUE9SVDEgJ3RocmVhZF9idXN5e3JvbGU9InNjYW4ifScgMAorCisjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK KworIyBUZXN0IHdoZXRoZXIgdGhlIGNhY2hlIGRlZmF1bHQgbG9jYXRpb25zIGFyZSBjb3JyZWN0 Citta2RpciB0bXBob21lCisKKyMgJEhPTUUvLmNhY2hlIHNob3VsZCBiZSBjcmVhdGVkLgordGVz dHJ1biBlbnYgSE9NRT0kUFdEL3RtcGhvbWUgWERHX0NBQ0hFX0hPTUU9IERFQlVHSU5GT0RfQ0FD SEVfUEFUSD0gJHthYnNfdG9wX2J1aWxkZGlyfS9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QtZmluZCBk ZWJ1Z2luZm8gJEJVSUxESUQKK2lmIFsgISAtZiAkUFdEL3RtcGhvbWUvLmNhY2hlL2RlYnVnaW5m b2RfY2xpZW50LyRCVUlMRElEL2RlYnVnaW5mbyBdOyB0aGVuCisgIGVjaG8gImNvdWxkIG5vdCBm aW5kIGNhY2hlIGluICRQV0QvdG1waG9tZS8uY2FjaGUiCisgIGVycgorZmkKKworIyAkSE9NRS8u Y2FjaGUgc2hvdWxkIGJlIGZvdW5kLgordGVzdHJ1biBlbnYgSE9NRT0kUFdEL3RtcGhvbWUgWERH X0NBQ0hFX0hPTUU9IERFQlVHSU5GT0RfQ0FDSEVfUEFUSD0gJHthYnNfdG9wX2J1aWxkZGlyfS9k ZWJ1Z2luZm9kL2RlYnVnaW5mb2QtZmluZCBleGVjdXRhYmxlICRCVUlMRElECitpZiBbICEgLWYg JFBXRC90bXBob21lLy5jYWNoZS9kZWJ1Z2luZm9kX2NsaWVudC8kQlVJTERJRC9leGVjdXRhYmxl IF07IHRoZW4KKyAgZWNobyAiY291bGQgbm90IGZpbmQgY2FjaGUgaW4gJFBXRC90bXBob21lLy5j YWNoZSIKKyAgZXJyCitmaQorIyAkWERHX0NBQ0hFX0hPTUUgc2hvdWxkIHRha2UgcHJpb3JpdHkg b3ZlciAkSE9NRS5jYWNoZS4KK3Rlc3RydW4gZW52IEhPTUU9JFBXRC90bXBob21lIFhER19DQUNI RV9IT01FPSRQV0QvdG1weGRnIERFQlVHSU5GT0RfQ0FDSEVfUEFUSD0gJHthYnNfdG9wX2J1aWxk ZGlyfS9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QtZmluZCBkZWJ1Z2luZm8gJEJVSUxESUQKK2lmIFsg ISAtZiAkUFdEL3RtcHhkZy9kZWJ1Z2luZm9kX2NsaWVudC8kQlVJTERJRC9kZWJ1Z2luZm8gXTsg dGhlbgorICBlY2hvICJjb3VsZCBub3QgZmluZCBjYWNoZSBpbiAkUFdEL3RtcHhkZy8iCisgIGVy cgorZmkKKworIyBBIGNhY2hlIGF0IHRoZSBvbGQgZGVmYXVsdCBsb2NhdGlvbiAoJEhPTUUvLmRl YnVnaW5mb2RfY2xpZW50X2NhY2hlKSBzaG91bGQgdGFrZQorIyBwcmlvcml0eSBvdmVyICRIT01F Ly5jYWNoZSwgJFhER19DQUNIRV9IT01FLgorY3AgLXZyICRERUJVR0lORk9EX0NBQ0hFX1BBVEgg dG1waG9tZS8uZGVidWdpbmZvZF9jbGllbnRfY2FjaGUgfHwgdHJ1ZQorIyB8fHRydWUgaXMgZm9y IHRvbGVyYXRpbmcgZXJyb3JzLCBzdWNoIGEgdmFsZ3JpbmQgb3Igc29tZXRoaW5nIGVsc2UKKyMg ICAgICAgIGxlYXZpbmcgMDAwLXBlcm0gZmlsZXMgaW4gdGhlcmUKKworIyBBZGQgYSBmaWxlIHRo YXQgZG9lc24ndCBleGlzdCBpbiAkSE9NRS8uY2FjaGUsICRYREdfQ0FDSEVfSE9NRS4KK21rZGly IHRtcGhvbWUvLmRlYnVnaW5mb2RfY2xpZW50X2NhY2hlL2RlYWRiZWVmCitlY2hvIEVMRi4uLiA+ IHRtcGhvbWUvLmRlYnVnaW5mb2RfY2xpZW50X2NhY2hlL2RlYWRiZWVmL2RlYnVnaW5mbworZmls ZW5hbWU9YHRlc3RydW4gZW52IEhPTUU9JFBXRC90bXBob21lIFhER19DQUNIRV9IT01FPSRQV0Qv dG1weGRnIERFQlVHSU5GT0RfQ0FDSEVfUEFUSD0gJHthYnNfdG9wX2J1aWxkZGlyfS9kZWJ1Z2lu Zm9kL2RlYnVnaW5mb2QtZmluZCBkZWJ1Z2luZm8gZGVhZGJlZWZgCitjbXAgJGZpbGVuYW1lIHRt cGhvbWUvLmRlYnVnaW5mb2RfY2xpZW50X2NhY2hlL2RlYWRiZWVmL2RlYnVnaW5mbworCisjICRE RUJVR0lORk9fQ0FDSEVfUEFUSCBzaG91bGQgdGFrZSBwcmlvcml0eSBvdmVyIGFsbCBlbHNlLgor dGVzdHJ1biBlbnYgSE9NRT0kUFdEL3RtcGhvbWUgWERHX0NBQ0hFX0hPTUU9JFBXRC90bXB4ZGcg REVCVUdJTkZPRF9DQUNIRV9QQVRIPSRQV0QvdG1wY2FjaGUgJHthYnNfdG9wX2J1aWxkZGlyfS9k ZWJ1Z2luZm9kL2RlYnVnaW5mb2QtZmluZCBkZWJ1Z2luZm8gJEJVSUxESUQKK2lmIFsgISAtZiAk UFdEL3RtcGNhY2hlLyRCVUlMRElEL2RlYnVnaW5mbyBdOyB0aGVuCisgIGVjaG8gImNvdWxkIG5v dCBmaW5kIGNhY2hlIGluICRQV0QvdG1wY2FjaGUvIgorICBlcnIKK2ZpCitybSAtcmYgJHtQV0R9 L3RtcGhvbWUvICR7UFdEfS90bXB4ZGcgJHtQV0R9L3RtcGNhY2hlCisKK2tpbGwgJFBJRDEKK3dh aXQgJFBJRDEKK1BJRDE9MAorZXhpdCAwCmRpZmYgLS1naXQgYS90ZXN0cy9ydW4tZGVidWdpbmZv ZC13cml0YWJsZS5zaCBiL3Rlc3RzL3J1bi1kZWJ1Z2luZm9kLXdyaXRhYmxlLnNoCm5ldyBmaWxl IG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwLi5lZGVjOTM1NwotLS0gL2Rldi9udWxsCisrKyBi L3Rlc3RzL3J1bi1kZWJ1Z2luZm9kLXdyaXRhYmxlLnNoCkBAIC0wLDAgKzEsODIgQEAKKyMhL3Vz ci9iaW4vZW52IGJhc2gKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjEgUmVkIEhhdCwgSW5j LgorIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBlbGZ1dGlscy4KKyMKKyMgVGhpcyBmaWxlIGlzIGZy ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQg dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJs aXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24g MyBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv bi4KKyMKKyMgZWxmdXRpbHMgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs IGJlIHVzZWZ1bCwgYnV0CisjIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl IGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5 IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorIyBhbG9uZyB3aXRoIHRoaXMgcHJv Z3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKworLiAk c3JjZGlyL3Rlc3Qtc3Vici5zaCAgIyBpbmNsdWRlcyBzZXQgLWUKKworIyBmb3IgdGVzdCBjYXNl IGRlYnVnZ2luZywgdW5jb21tZW50Ogorc2V0IC14Cit1bnNldCBWQUxHUklORF9DTUQKKworbWtk aXIgRgorCitnZXRfcG9ydHMKKworZW52IExEX0xJQlJBUllfUEFUSD0kbGRwYXRoIERFQlVHSU5G T0RfVVJMUz0gJHthYnNfYnVpbGRkaXJ9Ly4uL2RlYnVnaW5mb2QvZGVidWdpbmZvZCAkVkVSQk9T RSAtRiAtcCAkUE9SVDEgXAorICAgIC10MCAtZzAgLXYgRiA+IHZsb2ckUE9SVDEgMj4mMSAmCitQ SUQxPSQhCit0ZW1wZmlsZXMgdmxvZyRQT1JUMQorZXJyZmlsZXMgdmxvZyRQT1JUMQorIyBTZXJ2 ZXIgbXVzdCBiZWNvbWUgcmVhZHkKK3dhaXRfcmVhZHkgJFBPUlQxICdyZWFkeScgMQorZXhwb3J0 IERFQlVHSU5GT0RfVVJMUz1odHRwOi8vMTI3LjAuMC4xOiRQT1JUMS8gICAjIG9yIHdpdGhvdXQg dHJhaWxpbmcgLworCisjIEJlIHBhdGllbnQgd2hlbiBydW4gb24gYSBidXN5IG1hY2hpbmUgdGhp bmdzIG1pZ2h0IHRha2UgYSBiaXQuCitleHBvcnQgREVCVUdJTkZPRF9USU1FT1VUPTEwCisKKyMg Q2hlY2sgdGhyZWFkIGNvbW0gbmFtZXMKK3BzIC1xICRQSUQxIC1lIC1MIC1vICclcCAlYyAlYScg fCBncmVwIGdyb29tCitwcyAtcSAkUElEMSAtZSAtTCAtbyAnJXAgJWMgJWEnIHwgZ3JlcCBzY2Fu CitwcyAtcSAkUElEMSAtZSAtTCAtbyAnJXAgJWMgJWEnIHwgZ3JlcCB0cmF2ZXJzZQorCisjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMKKworIyBDb21waWxlIGEgc2ltcGxlIHByb2dyYW0sIHN0cmlwIGl0cyBkZWJ1 Z2luZm8gYW5kIHNhdmUgdGhlIGJ1aWxkLWlkLgorIyBBbHNvIG1vdmUgdGhlIGRlYnVnaW5mbyBp bnRvIGFub3RoZXIgZGlyZWN0b3J5IHNvIHRoYXQgZWxmdXRpbHMKKyMgY2Fubm90IGZpbmQgaXQg d2l0aG91dCBkZWJ1Z2luZm9kLgorZWNobyAiaW50IG1haW4oKSB7IHJldHVybiAwOyB9IiA+ICR7 UFdEfS9wK3Ilb1wkZy5jCit0ZW1wZmlsZXMgcCtyJW9cJGcuYworIyBDcmVhdGUgYSBzdWJkaXJl Y3RvcnkgdG8gY29uZm91bmQgc291cmNlIHBhdGggbmFtZXMKK21rZGlyIGZvb2JhcgorZ2NjIC1X bCwtLWJ1aWxkLWlkIC1nIC1vIHArciVvXCRnICR7UFdEfS9mb29iYXIvLy8uLy4uL3ArciVvXCRn LmMKK3Rlc3RydW4gJHthYnNfdG9wX2J1aWxkZGlyfS9zcmMvc3RyaXAgLWcgLWYgcCtyJW9cJGcu ZGVidWcgJHtQV0R9L3ArciVvXCRnCitCVUlMRElEPWBlbnYgTERfTElCUkFSWV9QQVRIPSRsZHBh dGggJHthYnNfYnVpbGRkaXJ9Ly4uL3NyYy9yZWFkZWxmIFwKKyAgICAgICAgICAtYSBwK3Ilb1xc JGcgfCBncmVwICdCdWlsZCBJRCcgfCBjdXQgLWQgJyAnIC1mIDdgCisKK212IHArciVvXCRnIEYK K212IHArciVvXCRnLmRlYnVnIEYKK2tpbGwgLVVTUjEgJFBJRDEKKyMgV2FpdCB0aWxsIGJvdGgg ZmlsZXMgYXJlIGluIHRoZSBpbmRleC4KK3dhaXRfcmVhZHkgJFBPUlQxICd0aHJlYWRfd29ya190 b3RhbHtyb2xlPSJ0cmF2ZXJzZSJ9JyAxCit3YWl0X3JlYWR5ICRQT1JUMSAndGhyZWFkX3dvcmtf cGVuZGluZ3tyb2xlPSJzY2FuIn0nIDAKK3dhaXRfcmVhZHkgJFBPUlQxICd0aHJlYWRfYnVzeXty b2xlPSJzY2FuIn0nIDAKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgVGVzdCB3aGV0aGVyIGRlYnVnaW5m b2QtZmluZCBpcyBhYmxlIHRvIGZldGNoIHRob3NlIGZpbGVzLgorcm0gLXJmICRERUJVR0lORk9E X0NBQ0hFX1BBVEggIyBjbGVhbiBpdCBmcm9tIHByZXZpb3VzIHRlc3RzCitmaWxlbmFtZT1gdGVz dHJ1biAke2Fic190b3BfYnVpbGRkaXJ9L2RlYnVnaW5mb2QvZGVidWdpbmZvZC1maW5kIGRlYnVn aW5mbyAkQlVJTERJRGAKK2NtcCAkZmlsZW5hbWUgRi9wK3Ilb1wkZy5kZWJ1ZworaWYgWyAtdyAk ZmlsZW5hbWUgXTsgdGhlbgorICAgIGVjaG8gImNhY2hlIGZpbGUgd3JpdGFibGUsIGJvbyIKKyAg ICBlcnIKK2ZpCisKK2tpbGwgJFBJRDEKK3dhaXQgJFBJRDEKK1BJRDE9MAorCitleGl0IDAKZGlm ZiAtLWdpdCBhL3Rlc3RzL3Rlc3Qtc3Vici5zaCBiL3Rlc3RzL3Rlc3Qtc3Vici5zaAppbmRleCA0 MTFlNWYyOC4uNDFlOTVlMzEgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3Rlc3Qtc3Vici5zaAorKysgYi90 ZXN0cy90ZXN0LXN1YnIuc2gKQEAgLTI3LDYgKzI3LDEzIEBAIHRlc3RfZGlyPSJ0ZXN0LSQkIgog bWtkaXIgLXAgIiR0ZXN0X2RpciIKIGNkICIkdGVzdF9kaXIiCiAKK3R5cGUgY3VybCAyPi9kZXYv bnVsbCB8fCAoZWNobyAibmVlZCBjdXJsIjsgZXhpdCA3NykKK3R5cGUgcnBtMmNwaW8gMj4vZGV2 L251bGwgfHwgKGVjaG8gIm5lZWQgcnBtMmNwaW8iOyBleGl0IDc3KQordHlwZSBjcGlvIDI+L2Rl di9udWxsIHx8IChlY2hvICJuZWVkIGNwaW8iOyBleGl0IDc3KQordHlwZSBiemNhdCAyPi9kZXYv bnVsbCB8fCAoZWNobyAibmVlZCBiemNhdCI7IGV4aXQgNzcpCitic2R0YXIgLS12ZXJzaW9uIHwg Z3JlcCAtcSB6c3RkICYmIHpzdGQ9dHJ1ZSB8fCB6c3RkPWZhbHNlCitlY2hvICJ6c3RkPSR6c3Rk IGJzZHRhcj1gYnNkdGFyIC0tdmVyc2lvbmAiCisKICNMQ19BTEw9QwogI2V4cG9ydCBMQ19BTEwK IApAQCAtMzUsNyArNDIsMTEgQEAgcmVtb3ZlX2ZpbGVzPQogIyBUZXN0cyB0aGF0IHRyYXAgRVhJ VCAoMCkgdGhlbXNlbHZlcyBzaG91bGQgY2FsbCB0aGlzIGV4cGxpY2l0bHkuCiBleGl0X2NsZWFu dXAoKQogewotICBybSAtZiAkcmVtb3ZlX2ZpbGVzOyBjZCAuLjsgcm1kaXIgJHRlc3RfZGlyCisg IHJtIC1yZiAke1BXRH0vLmNsaWVudF9jYWNoZSoKKyAgcm0gLWYgJHJlbW92ZV9maWxlczsgCisg IGxzIC1hICR7UFdEfQorICBjZCAuLjsgCisgIHJtZGlyICR0ZXN0X2RpcgogfQogdHJhcCBleGl0 X2NsZWFudXAgMAogCkBAIC0yMTIsMyArMjIzLDExNCBAQCB0ZXN0cnVuX29uX3NlbGZfcXVpZXQo KQogICAjIE9ubHkgZXhpdCBpZiBzb21ldGhpbmcgZmFpbGVkCiAgIGlmIHRlc3QgJGV4aXRfc3Rh dHVzICE9IDA7IHRoZW4gZXhpdCAkZXhpdF9zdGF0dXM7IGZpCiB9CisKK2NsZWFudXAoKQorewor ICBpZiBbICRQSUQxIC1uZSAwIF07IHRoZW4ga2lsbCAkUElEMTsgd2FpdCAkUElEMTsgZmkKKyAg aWYgWyAkUElEMiAtbmUgMCBdOyB0aGVuIGtpbGwgJFBJRDI7IHdhaXQgJFBJRDI7IGZpCisgIHJt IC1yZiAke1BXRH0vLmNsaWVudF9jYWNoZSBGIFIgRCBMIFogJHtQV0R9L2Zvb2JhciAke1BXRH0v bW9ja3RyZWUgCisgIGV4aXRfY2xlYW51cAorfQordHJhcCBjbGVhbnVwIDAgMSAyIDMgNSA5IDE1 CitlcnJmaWxlc19saXN0PQorZXJyKCkgeworICAgIGVjaG8gRVJST1IgUkVQT1JUUworICAgIGZv ciBwb3J0cyBpbiAkUE9SVDEgJFBPUlQyCisgICAgZG8KKyAgICAgICAgZWNobyBFUlJPUiBSRVBP UlQgJHBvcnQgbWV0cmljcworICAgICAgICBjdXJsIC1zIGh0dHA6Ly8xMjcuMC4wLjE6JHBvcnQv bWV0cmljcworICAgICAgICBlY2hvCisgICAgZG9uZQorICAgIGZvciB4IGluICRlcnJmaWxlc19s aXN0CisgICAgZG8KKyAgICAgICAgZWNobyBFUlJPUiBSRVBPUlQgIiR4IgorICAgICAgICBjYXQg JHgKKyAgICAgICAgZWNobworICAgIGRvbmUKKyAgICBmYWxzZSAjIHRyaWdnZXIgc2V0IC1lCit9 Cit0cmFwIGVyciBFUlIKKworZXJyZmlsZXMoKSB7CisgICAgZXJyZmlsZXNfbGlzdD0iJGVycmZp bGVzX2xpc3QgJCoiCit9CisKK3dhaXRfcmVhZHkoKQoreworICBwb3J0PSQxOworICB3aGF0PSQy OworICB2YWx1ZT0kMzsKKyAgdGltZW91dD0yMDsKKworICBlY2hvICJXYWl0ICR0aW1lb3V0IHNl Y29uZHMgb24gJHBvcnQgZm9yIG1ldHJpYyAkd2hhdCB0byBjaGFuZ2UgdG8gJHZhbHVlIgorICB3 aGlsZSBbICR0aW1lb3V0IC1ndCAwIF07IGRvCisgICAgbXZhbHVlPSIkKGN1cmwgLXMgaHR0cDov LzEyNy4wLjAuMTokcG9ydC9tZXRyaWNzIFwKKyAgICAgICAgICAgICAgfCBncmVwICIkd2hhdCIg fCBhd2sgJ3twcmludCAkTkZ9JykiCisgICAgaWYgWyAteiAiJG12YWx1ZSIgXTsgdGhlbiBtdmFs dWU9MDsgZmkKKyAgICAgIGVjaG8gIm1ldHJpYyAkd2hhdDogJG12YWx1ZSIKKyAgICAgIGlmIFsg IiRtdmFsdWUiIC1lcSAiJHZhbHVlIiBdOyB0aGVuCisgICAgICAgIGJyZWFrOworICAgIGZpCisg ICAgc2xlZXAgMC41OworICAgICgodGltZW91dC0tKSk7CisgIGRvbmU7CisKKyAgaWYgWyAkdGlt ZW91dCAtZXEgMCBdOyB0aGVuCisgICAgZWNobyAibWV0cmljICR3aGF0IG5ldmVyIGNoYW5nZWQg dG8gJHZhbHVlIG9uIHBvcnQgJHBvcnQiCisgICAgZXJyCisgIGZpCit9CisKK2FyY2hpdmVfdGVz dCgpIHsKKyAgICBfX0JVSUxESUQ9JDEKKyAgICBfX1NPVVJDRVBBVEg9JDIKKyAgICBfX1NPVVJD RVNIQTE9JDMKKworICAgIGZpbGVuYW1lPWB0ZXN0cnVuICR7YWJzX3RvcF9idWlsZGRpcn0vZGVi dWdpbmZvZC9kZWJ1Z2luZm9kLWZpbmQgZXhlY3V0YWJsZSAkX19CVUlMRElEYAorICAgIGJ1aWxk aWQ9YGVudiBMRF9MSUJSQVJZX1BBVEg9JGxkcGF0aCAke2Fic19idWlsZGRpcn0vLi4vc3JjL3Jl YWRlbGYgXAorICAgICAgICAgICAgIC1hICRmaWxlbmFtZSB8IGdyZXAgJ0J1aWxkIElEJyB8IGN1 dCAtZCAnICcgLWYgN2AKKyAgICB0ZXN0ICRfX0JVSUxESUQgPSAkYnVpbGRpZAorICAgICMgY2hl Y2sgdGhhdCB0aW1lc3RhbXBzIGFyZSBwbGF1c2libGUgLSBvbGRlciB0aGFuIHRoZSBuZWFyLXBy ZXNlbnQgKHRtcGRpciBtdGltZSkKKyAgICB0ZXN0ICRmaWxlbmFtZSAtb3QgYHB3ZGAKKworICAg ICMgcnVuIGFnYWluIHRvIGFzc3VyZSB0aGF0IGZkY2FjaGUgaXMgYmVpbmcgZW5qb3llZAorICAg IGZpbGVuYW1lPWB0ZXN0cnVuICR7YWJzX3RvcF9idWlsZGRpcn0vZGVidWdpbmZvZC9kZWJ1Z2lu Zm9kLWZpbmQgZXhlY3V0YWJsZSAkX19CVUlMRElEYAorICAgIGJ1aWxkaWQ9YGVudiBMRF9MSUJS QVJZX1BBVEg9JGxkcGF0aCAke2Fic19idWlsZGRpcn0vLi4vc3JjL3JlYWRlbGYgXAorICAgICAg ICAgICAgIC1hICRmaWxlbmFtZSB8IGdyZXAgJ0J1aWxkIElEJyB8IGN1dCAtZCAnICcgLWYgN2AK KyAgICB0ZXN0ICRfX0JVSUxESUQgPSAkYnVpbGRpZAorICAgIHRlc3QgJGZpbGVuYW1lIC1vdCBg cHdkYAorCisgICAgZmlsZW5hbWU9YHRlc3RydW4gJHthYnNfdG9wX2J1aWxkZGlyfS9kZWJ1Z2lu Zm9kL2RlYnVnaW5mb2QtZmluZCBkZWJ1Z2luZm8gJF9fQlVJTERJRGAKKyAgICBidWlsZGlkPWBl bnYgTERfTElCUkFSWV9QQVRIPSRsZHBhdGggJHthYnNfYnVpbGRkaXJ9Ly4uL3NyYy9yZWFkZWxm IFwKKyAgICAgICAgICAgICAtYSAkZmlsZW5hbWUgfCBncmVwICdCdWlsZCBJRCcgfCBjdXQgLWQg JyAnIC1mIDdgCisgICAgdGVzdCAkX19CVUlMRElEID0gJGJ1aWxkaWQKKyAgICB0ZXN0ICRmaWxl bmFtZSAtb3QgYHB3ZGAKKworICAgIGlmIHRlc3QgIngkX19TT1VSQ0VQQVRIIiAhPSAieCI7IHRo ZW4KKyAgICAgICAgZmlsZW5hbWU9YHRlc3RydW4gJHthYnNfdG9wX2J1aWxkZGlyfS9kZWJ1Z2lu Zm9kL2RlYnVnaW5mb2QtZmluZCBzb3VyY2UgJF9fQlVJTERJRCAkX19TT1VSQ0VQQVRIYAorICAg ICAgICBoYXNoPWBjYXQgJGZpbGVuYW1lIHwgc2hhMXN1bSB8IGF3ayAne3ByaW50ICQxfSdgCisg ICAgICAgIHRlc3QgJF9fU09VUkNFU0hBMSA9ICRoYXNoCisgICAgICAgIHRlc3QgJGZpbGVuYW1l IC1vdCBgcHdkYAorICAgIGZpCit9CisKK2dldF9wb3J0cygpIHsKKyAgd2hpbGUgdHJ1ZTsgZG8K KyAgICBQT1JUMT1gZXhwciAnKCcgJFJBTkRPTSAlIDEwMDAgJyknICsgOTAwMGAKKyAgICBzcyAt YXRuIHwgZmdyZXAgIjokUE9SVDEiIHx8IGJyZWFrCisgIGRvbmUKKyMgU29tZSB0ZXN0cyB3aWxs IHVzZSB0d28gc2VydmVycywgc28gYXNzaWduIHRoZSBzZWNvbmQgdmFyCisgIHdoaWxlIHRydWU7 IGRvCisgICAgUE9SVDI9YGV4cHIgJygnICRSQU5ET00gJSAxMDAwICcpJyArIDkwMDBgCisgICAg c3MgLWF0biB8IGZncmVwICI6JFBPUlQyIiAmJiAkUE9SVDEgLW5lICRQT1JUMiB8fCBicmVhawor ICBkb25lCisKK30KKworVkVSQk9TRT0tdnZ2CisjIFdlIGdhdGhlciB0aGUgTERfTElCUkFSWV9Q QVRIIHdpdGggdGhpcyBjdW5uaW5nIHRyaWNrOgorbGRwYXRoPWB0ZXN0cnVuIHNoIC1jICdlY2hv ICRMRF9MSUJSQVJZX1BBVEgnYAorUE9SVDE9MAorUE9SVDI9MAorUElEMT0wCitQSUQyPTAKLS0g CjIuMzEuMQoK --0000000000002c601a05ca3f12ce--