From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: John Yates Newsgroups: gmane.emacs.bugs Subject: bug#61071: New features: VC timemachine and BackupOnSave to RCS Date: Wed, 25 Jan 2023 22:24:30 -0500 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="0000000000002ddb5005f3224a44" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="6631"; mail-complaints-to="usenet@ciao.gmane.io" To: 61071@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Thu Jan 26 04:25:28 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pKstE-0001Vb-BP for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 26 Jan 2023 04:25:28 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pKssr-0004S4-4b; Wed, 25 Jan 2023 22:25:05 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pKsso-0004QH-Uc for bug-gnu-emacs@gnu.org; Wed, 25 Jan 2023 22:25:02 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pKsso-0000EG-Lg for bug-gnu-emacs@gnu.org; Wed, 25 Jan 2023 22:25:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pKsso-0006qN-91 for bug-gnu-emacs@gnu.org; Wed, 25 Jan 2023 22:25:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: John Yates Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 26 Jan 2023 03:25:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 61071 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch X-Debbugs-Original-To: submit@debbugs.gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.167470349626290 (code B ref -1); Thu, 26 Jan 2023 03:25:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 26 Jan 2023 03:24:56 +0000 Original-Received: from localhost ([127.0.0.1]:60335 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pKsse-0006pv-Tj for submit@debbugs.gnu.org; Wed, 25 Jan 2023 22:24:56 -0500 Original-Received: from mail-ej1-f43.google.com ([209.85.218.43]:42835) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pKssa-0006pe-SR for submit@debbugs.gnu.org; Wed, 25 Jan 2023 22:24:52 -0500 Original-Received: by mail-ej1-f43.google.com with SMTP id bk15so1824263ejb.9 for ; Wed, 25 Jan 2023 19:24:48 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=TzziemSvsoD5HAEOtIB15zjj+Phh1rlig+yu4oASx0c=; b=FVD1zY5Y0LwuoWr8FOfRoYsXBCnbDO9Ygjfzd2mqS2dbNFukxt4wDx0VEw/SuVFHjC th0oDXDK5CL7G7MkNAU+ZA5sXTM1Kf56TsuVZbzJwzYz9vR5ZlyJSY9AIxqWIhhb14h0 nw5Xq6kgKyFpTMx7NNqEzBqtKgXNUes+jxXZUucBv84/sbDt+EIFAAM8gjr21yhbRpZD 5hhrzpy2UGlu/025YOMfB/0JhmEyltkzIFokDSAXadBaV6EWFmNSHdbjoFxYvhjWY8Ge Zf5XcIilTSVYVznEOnX6QCP/rZYs3mxhU6g7nhrWvodw8eFnIFhGpqy07kK1Vqu0HZe3 8/Zg== X-Gm-Message-State: AFqh2kr5LI19tM4V7f6a47Ktfq5YWai9PsXSxwHG3jBtFazBOoE/xEoa Go+l5DHs5eEaSSG/7etwcvyvvue0yl/O1f3WdjYFvMPoVBM= X-Google-Smtp-Source: AMrXdXsEWgskCiiPcgMHNzAauiRvEN+PUPSRKyIDZLA/qP19nb9DiXxlrG4qCSMV2cN6bmJQ0avrAS5nnznm8lzR1Ls= X-Received: by 2002:a17:906:1cc9:b0:85d:3987:fa88 with SMTP id i9-20020a1709061cc900b0085d3987fa88mr4180761ejh.51.1674703482481; Wed, 25 Jan 2023 19:24:42 -0800 (PST) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:254166 Archived-At: --0000000000002ddb5005f3224a44 Content-Type: text/plain; charset="UTF-8" Package: emacs Version: 30.0.50 Tags: patch Please see the cover letter. --0000000000002ddb5005f3224a44 Content-Type: text/x-patch; charset="UTF-8"; name="0002-Introduce-VC-timemachine-capability.patch" Content-Disposition: attachment; filename="0002-Introduce-VC-timemachine-capability.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_ldciswcm1 RnJvbSBhYzE4MWQ5NjYyZTZmZDJmZDUyMTVjODQyN2MxNjRjZTQxMmI1NTBlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiSm9obiBTLiBZYXRlcywgSnIiIDxqb2huQHlhdGVzLXNoZWV0 cy5vcmc+CkRhdGU6IFN1biwgMTUgSmFuIDIwMjMgMTU6MDQ6MjggLTA1MDAKU3ViamVjdDogW1BB VENIIDIvM10gSW50cm9kdWNlIFZDIHRpbWVtYWNoaW5lIGNhcGFiaWxpdHkKTUlNRS1WZXJzaW9u OiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJh bnNmZXItRW5jb2Rpbmc6IDhiaXQKCkludHJvZHVjaW5nIHRpbWVtYWNoaW5lIGZ1bmN0aW9uYWxp dHkgaW50byB2YyB3YXMgZGlzY3Vzc2VkIGluIHRoaXMgdGhyZWFkOgoKICBodHRwczovL2xpc3Rz LmdudS5vcmcvYXJjaGl2ZS9odG1sL2VtYWNzLWRldmVsLzIwMjItMTAvbXNnMDEyNzIuaHRtbAoK V2hlcmUgdGhlIHByZXZpb3VzIGNvbW1pdCBpbnRyb2R1Y2VkIHRoZSBjb25jZXB0IG9mIGEgcmV2 aXNpb24gYnVmZmVyIGJvdW5kCnRvIGEgdW5pcXVlIHJldmlzaW9uLCB0aGlzIGNvbW1pdCBpbnRy b2R1Y2VzIHRoZSBjb25jZXB0IG9mIGEgdGltZW1hY2hpbmUKYnVmZmVyLCBib3VuZCB0byB0aGUg bGluZWFyIHNlcXVlbmNlIG9mIHJldmlzaW9ucyBvbiB0aGUgYnJhbmNoIGZyb20gd2hpY2gKYSB3 b3JrIGZpbGUgd2FzIGNoZWNrZWQgb3V0LgoKYHZjLXRtLXJldmlzaW9uLWhlYWQgY3JlYXRlcycg YSB0aW1lbWFjaGluZSBidWZmZXIsIHdoaWNoIHRoZW4gYmVoYXZlcyBhcwphIGN1cnNvciBvdmVy IHRoZSBsaW5lYXIgc2VxdWVuY2Ugb2YgcmV2aXNpb25zIG9uIGEgYnJhbmNoLiAgVGhlIGJ1ZmZl ciBjYW4KYmUgcmVwb3NpdGlvbmVkIGFsb25nIHRoYXQgYnJhbmNoIHZpYToKCi0gYHZjLXRtLXJl dmlzaW9uLW5leHQnCiAgIlNob3cgd29yayBmaWxlJ3MgbmV4dCByZXZpc2lvbiBvbiBjaGVja2Vk LW91dCBicmFuY2guIgoKLSBgdmMtdG0tcmV2aXNpb24tcHJldmlvdXMnCiAgIlNob3cgd29yayBm aWxlJ3MgcHJldmlvdXMgcmV2aXNpb24gb24gY2hlY2tlZC1vdXQgYnJhbmNoLiIKCi0gYHZjLXRt LXJldmlzaW9uLW50aCcKICAiU2hvdyB3b3JrIGZpbGUncyBOJ3RoIG1vc3QgcmVjZW50IHJldmlz aW9uIG9uIGNoZWNrZWQtb3V0IGJyYW5jaAogICgxIGJlaW5nIEhFQUQpLiIKCi0gYHZjLXRtLXJl dmlzaW9uLWNvbXBsZXRlLXN1YmplY3QnCiAgIlNob3cgd29yayBmaWxlJ3MgcmV2aXNpb24gdmlh IHN1YmplY3QgY29tcGxldGlvbiBvbiBjaGVja2VkLW91dCBicmFuY2guIgoKQSB0aW1lbWFjaGlu ZSBidWZmZXIgaXMgcmVhZC1vbmx5IGFuZCBoYXMgYSBuaWwgYnVmZmVyLWZpbGUtbmFtZSAobWVh bmluZwp0aGF0IGl0IGlzIG5vdCB2aXNpdGluZyBhbnkgZmlsZSkuICBUaGUgcmF0aW9uYWxlIGlz IGV4YWN0bHkgdGhlIHNhbWUgYXMKZm9yIGEgcmV2aXNpb24gYnVmZmVyOiBhIHRpbWVtYWNoaW5l IGJ1ZmZlciBkaXNwbGF5cyBpbW11dGFibGUgaGlzdG9yeS4KClRvIHN1cHBvcnQgdGltZW1hY2hp bmUgZnVuY3Rpb25hbGl0eSBhIGJhY2tlbmQgbmVlZHMgdG8gc3VwcG9ydCB0aGUgbmV3CnRtLXJl dmlzaW9ucyB2YyBvcGVyYXRpb24uICBPcHRpb25hbGx5LCBpdCBtYXkgc3VwcG9ydCB0aGUgdG0t bWFwLWxpbmUKb3BlcmF0aW9uLiAgSW4gdGhpcyBjb21taXQgdmMtcmNzIHN1cHBvcnRzIG9ubHkg dG0tcmV2aXNpb25zIHdoaWxlIHZjLWdpdApzdXBwb3J0cyBib3RoIG9wZXJhdGlvbnMuCgpNeSBp bXBsZW1lbnRhdGlvbiBib3Jyb3dzIGRlc2lnbiBpZGVhcyBhbmQgY29kZSBmcm9tIFBldGVyIFN0 aWVybnN0csO2bSdzCm9yaWdpbmFsIGdpdC10aW1lbWFjaGluZS5lbC4gIEluIHJlYWxpdHksIG15 IGVmZm9ydCB3YXMgbGl0dGxlIG1vcmUgdGhhbiBhbgpleHRlbmRlZCByZWZhY3RvcmluZyBlZmZv cnQgdG8gZml0IGdpdC10aW1lbWFjaGluZSBpbnRvIHRoZSB2YyBmcmFtZXdvcmsuCgo9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09CgoqIGxpc3AvdmMvdmMtdGltZW1hY2hpbmUuZWwgKG5ldyBmaWxlKToKRGVy aXZlIGNvcmUgVkMgdGltZW1hY2hpbmUgZnVuY3Rpb25hbGl0eSBmcm9tIFBldGVyIFN0aWVybnN0 csO2bSdzIG9yaWdpbmFsCmdpdC10aW1lbWFjaGluZS5lbC4KKiBsaXNwL3ZjL3ZjLWhvb2tzLmVs ICh2Yy1wcmVmaXgtbWFwKToKQmluZCAiLCIgdG8gYHZjLXRtLXJldmlzaW9uLWhlYWQnLgoodmMt bWVudS1tYXApOgpBZGQgIlRpbWUgbWFjaGluZSBhdCBIRUFEIiBpbiBhIG5ldyBtZW51IHNlY3Rp b24uCiogbGlzcC92Yy92Yy1naXQuZWwgKHZjLWdpdC0tcHJvY2Vzcy1maWxlLCB2Yy1naXQtZ2xv YmFsLWdpdC1hcmd1bWVudHMpOgpBZGQgaGVscGVyIGZ1bmN0aW9uIGFuZCBpdHMgc3VwcG9ydGlu ZyBkZWZjdXN0b20uCih2Yy1naXQtZmluZC1yZXZpc2lvbik6CldyYXAgImdpdCBjYXQtZmlsZSBi bG9iIiBpbiBhbiBpZ25vcmUtZXJyb3JzIHRvIGltcHJvdmUgcm9idXN0bmVzcy4KQW4gZW5jb3Vu dGVyZWQgZmFpbHVyZSBtb2RlIGlzIGNob29zaW5nIGEgY29tbWl0IG9sZGVyIHRoYW4gdGhlIGZp bGUuCih2Yy1naXQtdG0tcmV2aXNpb25zLCB2Yy1naXQtdG0tbWFwLWxpbmUpOgpBZGQgZ2l0LXNw ZWNpZmljIGltcGxlbWVudGF0aW9ucyBvZiB2Yy10bSBiYWNrZW5kIGZ1bmN0aW9ucywgaGV3aW5n IGNsb3NlbHkKdG8gUGV0ZXIgU3RpZXJuc3Ryw7ZtJ3Mgb3JpZ2luYWwgY29kZS4KbGlzcC92Yy92 Yy1yY3MuZWwgKHZjLXJjcy10bS1yZXZpc2lvbnMpOgpBZGQgcmNzLXNwZWNpZmljIGltcGxlbWVu dGF0aW9ucyB2Yy10bSBiYWNrZW5kIGZ1bmN0aW9ucywgZm9sbG93aW5nIHRoZQp2Yy1naXQuZWwg cHJlY2VkZW50LiAgRm9yIG5vdyB2Yy1yY3MgbGFja3MgYSB0bS1tYXAtbGluZSBmdW5jdGlvbiBh bmQKdGhlcmVmb3JlIGxldmVyYWdlcyB2Yy10aW1lbWFjaGluZS5lbCdzIGRlZmF1bHQgaW1wbGVt ZW50YXRpb24uCi0tLQogbGlzcC92Yy92Yy1naXQuZWwgICAgICAgICB8ICA5MSArKysrKysrLQog bGlzcC92Yy92Yy1ob29rcy5lbCAgICAgICB8ICAxMCArLQogbGlzcC92Yy92Yy1yY3MuZWwgICAg ICAgICB8ICA1MCArKysrKwogbGlzcC92Yy92Yy10aW1lbWFjaGluZS5lbCB8IDQyNiArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogbGlzcC92Yy92Yy5lbCAgICAgICAgICAg ICB8ICA0NyArKysrLQogNSBmaWxlcyBjaGFuZ2VkLCA2MTQgaW5zZXJ0aW9ucygrKSwgMTAgZGVs ZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgbGlzcC92Yy92Yy10aW1lbWFjaGluZS5lbAoK ZGlmZiAtLWdpdCBhL2xpc3AvdmMvdmMtZ2l0LmVsIGIvbGlzcC92Yy92Yy1naXQuZWwKaW5kZXgg NzY4OWQ1Zjg3OS4uMWY0NWFhN2U5NiAxMDA2NDQKLS0tIGEvbGlzcC92Yy92Yy1naXQuZWwKKysr IGIvbGlzcC92Yy92Yy1naXQuZWwKQEAgLTgyLDYgKzgyLDkgQEAKIDs7IC0gYW5ub3RhdGUtdGlt ZSAoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9LCiA7OyAtIGFubm90YXRlLWN1cnJl bnQtdGltZSAoKSAgICAgICAgICAgICAgICAgICAgICBOT1QgTkVFREVECiA7OyAtIGFubm90YXRl LWV4dHJhY3QtcmV2aXNpb24tYXQtbGluZSAoKSAgICAgICAgICBPSworOzsgVElNRU1BQ0hJTkUK Kzs7ICogdG0tcmV2aXNpb25zIChmaWxlKQorOzsgKiB0bS1tYXAtbGluZSAoZmlsZSBmcm9tLXJl dmlzaW9uIGZyb20tbGluZSB0by1yZXZpc2lvbiBmcm9tLWlzLW9sZGVyKQogOzsgVEFHL0JSQU5D SCBTWVNURU0KIDs7IC0gY3JlYXRlLXRhZyAoZGlyIG5hbWUgYnJhbmNocCkgICAgICAgICAgICAg ICAgIE9LCiA7OyAtIHJldHJpZXZlLXRhZyAoZGlyIG5hbWUgdXBkYXRlKSAgICAgICAgICAgICAg ICBPSwpAQCAtMTAxLDYgKzEwNCw4IEBACiAKIChyZXF1aXJlICdjbC1saWIpCiAocmVxdWlyZSAn dmMtZGlzcGF0Y2hlcikKKyhyZXF1aXJlICd0cmFuc2llbnQpCisocmVxdWlyZSAndmMtdGltZW1h Y2hpbmUpCiAoZXZhbC13aGVuLWNvbXBpbGUKICAgKHJlcXVpcmUgJ3N1YnIteCkgOyBmb3Igc3Ry aW5nLXRyaW0tcmlnaHQKICAgKHJlcXVpcmUgJ3ZjKQpAQCAtMTY2LDYgKzE3MSwxMiBAQCB2Yy1n aXQtcHJvZ3JhbQogICA6dmVyc2lvbiAiMjQuMSIKICAgOnR5cGUgJ3N0cmluZykKIAorKGRlZmN1 c3RvbSB2Yy1naXQtZ2xvYmFsLWdpdC1hcmd1bWVudHMKKyAgJygiLWMiICJsb2cuc2hvd1NpZ25h dHVyZT1mYWxzZSIgIi0tbm8tcGFnZXIiKQorICAiQ29tbW9uIGFyZ3VtZW50cyBmb3IgYWxsIGdp dCBjb21tYW5kcy4iCisgIDp0eXBlICdsaXN0CisgIDpncm91cCAndmMtdGltZW1hY2hpbmUpCisK IChkZWZjdXN0b20gdmMtZ2l0LXJvb3QtbG9nLWZvcm1hdAogICAnKCIlZCVoLi46ICVhbiAlYWQg JXMiCiAgICAgOzsgVGhlIGZpcnN0IHNoeSBncm91cCBtYXRjaGVzIHRoZSBjaGFyYWN0ZXJzIGRy YXduIGJ5IC0tZ3JhcGguCkBAIC0xMjE3LDEwICsxMjI4LDExIEBAIHZjLWdpdC1maW5kLXJldmlz aW9uCiAJICAgIChpZiAoc3RyaW5nPSBmbiAiIikKIAkJKGZpbGUtcmVsYXRpdmUtbmFtZSBmaWxl ICh2Yy1naXQtcm9vdCBkZWZhdWx0LWRpcmVjdG9yeSkpCiAJICAgICAgKHN1YnN0cmluZyBmbiAw IC0xKSkpKSkKLSAgICAodmMtZ2l0LWNvbW1hbmQKLSAgICAgYnVmZmVyIDAKLSAgICAgbmlsCi0g ICAgICJjYXQtZmlsZSIgImJsb2IiIChjb25jYXQgKGlmIHJldiByZXYgIkhFQUQiKSAiOiIgZnVs bG5hbWUpKSkpCisgICAgKGlnbm9yZS1lcnJvcnMKKyAgICAgICh2Yy1naXQtY29tbWFuZAorICAg ICAgIGJ1ZmZlciAwCisgICAgICAgbmlsCisgICAgICAgImNhdC1maWxlIiAiYmxvYiIgKGNvbmNh dCAoaWYgcmV2IHJldiAiSEVBRCIpICI6IiBmdWxsbmFtZSkpKSkpCiAKIChkZWZ1biB2Yy1naXQt ZmluZC1pZ25vcmUtZmlsZSAoZmlsZSkKICAgIlJldHVybiB0aGUgZ2l0IGlnbm9yZSBmaWxlIHRo YXQgY29udHJvbHMgRklMRS4iCkBAIC0xODA0LDYgKzE4MTYsNzcgQEAgdmMtZ2l0LXJldHJpZXZl LXRhZwogICAgICh2Yy1naXQtY29tbWFuZCBuaWwgMCBuaWwgImNoZWNrb3V0IiBuYW1lKSkpCiAK IAorOzs7IFRJTUVNQUNISU5FCisKKyhkZWZ1biB2Yy1naXQtdG0tcmV2aXNpb25zIChmaWxlKQor ICAiUmV0dXJuIGRhdGEgYWJvdXQgcmV2aXNpb25zIG1vZGlmeWluZyBGSUxFIG9uIGNoZWNrZWQt b3V0IGJyYW5jaC4iCisgIChsZXQqICgoZGVmYXVsdC1kaXJlY3RvcnkgKHZjLWdpdC1yb290IGZp bGUpKQorICAgICAgICAgKHJlbC1maWxlIChmaWxlLXJlbGF0aXZlLW5hbWUgZmlsZSkpCisgICAg ICAgICAocmV2aXNpb24taW5mb3MpKQorICAgICh1bmxlc3MgKHplcm9wICh2Yy1naXQtLXByb2Nl c3MtZmlsZQorICAgICAgICAgICAgICAgICAgICAibG9nIiAiLS1wcmV0dHk9Zm9ybWF0OiVIJXgw MCVhZCV4MDAlcyV4MDAlYW4iCisgICAgICAgICAgICAgICAgICAgICItLW5hbWUtb25seSIgIi0t Zm9sbG93IiAiLS0iIHJlbC1maWxlKSkKKyAgICAgIChlcnJvciAiR2l0IGxvZyBlcnJvcjogLmdp dD0gJyVzJywgZmlsZT0gJyVzJyIgZGVmYXVsdC1kaXJlY3RvcnkgcmVsLWZpbGUpKQorICAgIChn b3RvLWNoYXIgKHBvaW50LW1pbikpCisgICAgKGxldCAoKGxpbmUpCisgICAgICAgICAgKGNvbW1p dCkKKyAgICAgICAgICAoc3ViamVjdCkgKG5ldy1zdWJqZWN0KQorICAgICAgICAgIChhdXRob3Ip ICAobmV3LWF1dGhvcikKKyAgICAgICAgICAoZGF0ZSkgICAgKG5ldy1kYXRlKQorICAgICAgICAg IChmaWxlKSAgICAobmV3LWZpbGUpKQorICAgICAgKHdoaWxlIChub3QgKGVvYnApKQorICAgICAg ICAoc2V0cSBsaW5lIChidWZmZXItc3Vic3RyaW5nLW5vLXByb3BlcnRpZXMgKGxpbmUtYmVnaW5u aW5nLXBvc2l0aW9uKSAobGluZS1lbmQtcG9zaXRpb24pKSkKKwkoc3RyaW5nLW1hdGNoICJcXChb XlwwXSpcXClcMFxcKFteXDBdKlxcKVwwXFwoW15cMF0qXFwpXDBcXChbXlwwXSpcXCkiIGxpbmUp CisgICAgICAgIChzZXRxIGNvbW1pdCAobWF0Y2gtc3RyaW5nIDEgbGluZSkpCisgICAgICAgIChz ZXRxIG5ldy1zdWJqZWN0IChtYXRjaC1zdHJpbmcgMyBsaW5lKSkKKyAgICAgICAgKHNldHEgbmV3 LWF1dGhvciAobWF0Y2gtc3RyaW5nIDQgbGluZSkpCisgICAgICAgIChzZXRxIG5ldy1kYXRlICh2 Yy10bS1mb3JtYXQtZGF0ZSAobWF0Y2gtc3RyaW5nIDIgbGluZSkpKQorICAgICAgICAodW5sZXNz IChlcXVhbCBzdWJqZWN0IG5ldy1zdWJqZWN0KQorICAgICAgICAgIChzZXRxIHN1YmplY3QgbmV3 LXN1YmplY3QpKQorICAgICAgICAodW5sZXNzIChlcXVhbCBhdXRob3IgbmV3LWF1dGhvcikKKyAg ICAgICAgICAoc2V0cSBhdXRob3IgbmV3LWF1dGhvcikpCisgICAgICAgICh1bmxlc3MgKGVxdWFs IGRhdGUgbmV3LWRhdGUpCisgICAgICAgICAgKHNldHEgZGF0ZSBuZXctZGF0ZSkpCisgICAgICAg IChmb3J3YXJkLWxpbmUgMSkKKwkoc2V0cSBuZXctZmlsZSAoYnVmZmVyLXN1YnN0cmluZy1uby1w cm9wZXJ0aWVzIChsaW5lLWJlZ2lubmluZy1wb3NpdGlvbikgKGxpbmUtZW5kLXBvc2l0aW9uKSkp CisgICAgICAgICh1bmxlc3MgKGVxdWFsIGZpbGUgbmV3LWZpbGUpCisgICAgICAgICAgKHNldHEg ZmlsZSBuZXctZmlsZSkpCisJKHB1c2ggKGxpc3QgY29tbWl0IGRhdGUgc3ViamVjdCBhdXRob3Ig ZmlsZSkgcmV2aXNpb24taW5mb3MpCisgICAgICAgIChmb3J3YXJkLWxpbmUgMikpCisgICAgICBy ZXZpc2lvbi1pbmZvcykpKQorCisoZGVmdW4gdmMtZ2l0LXRtLW1hcC1saW5lIChmaWxlIGZyb20t Y29tbWl0IGZyb20tbGluZSB0by1jb21taXQgZnJvbS1pcy1vbGRlcikKKyAgIlJldHVybiBUTy1D T01NSVQncyBsaW5lIGNvcnJlc3BvbmRpbmcgdG8gRlJPTS1DT01NSVQncyBGUk9NLUxJTkUuCitP biBlbnRyeSB0aGUgY3VycmVudC1idWZmZXIgaXMgYW4gZW1wdHkgdGVtcG9yYXJ5IGJ1ZmZlci4K KworRWxzZXdoZXJlIHRoZSBmb3JtYWxzIEZST00tQ09NTUlUIGFuZCBUTy1DT01NSVQgYXJlIG5h bWVkIEZST00tUkVWSVNJT04KK2FuZCBUTy1SRVZJU0lPTi4gIFRoaXMgY2hhbmdlIG9mIG5hbWUg aXMgdG8gY2xhcmlmeSB0aGUgZ2l0IG1lYW5pbmcuIgorICAobGV0ICgobGluZSAoZm9ybWF0ICIt TCAlcywlcyIgZnJvbS1saW5lIGZyb20tbGluZSkpCisgICAgICAgIChyZXZlcnNlLWZsYWcgKGlm IGZyb20taXMtb2xkZXIgIi0tcmV2ZXJzZSIgIiIpKQorICAgICAgICAocmFuZ2UgKGlmIGZyb20t aXMtb2xkZXIKKyAgICAgICAgICAgICAgICAgICAoZm9ybWF0ICIlcy4uJXMiIHRvLWNvbW1pdCBm cm9tLWNvbW1pdCkKKyAgICAgICAgICAgICAgICAgKGZvcm1hdCAiJXMuLiVzIiBmcm9tLWNvbW1p dCB0by1jb21taXQpKSkKKyAgICAgICAgKHRvLWxpbmUpKQorICAgICh2Yy1naXQtLXByb2Nlc3Mt ZmlsZSAiYmxhbWUiIHJldmVyc2UtZmxhZyAiLW4iIGxpbmUgZmlsZSByYW5nZSkKKyAgICAoZ290 by1jaGFyIChwb2ludC1taW4pKQorICAgIDs7IEZvciBhbiBlbmQtb2YtYnVmZmVyIHByb2JsZW0g dHJ5IGZsaXBwaW5nIHRoZSBibGFtZSBhcm91bmQuCisgICAgKHdoZW4gKHNlYXJjaC1mb3J3YXJk LXJlZ2V4cCAiXmZhdGFsOiBmaWxlIC4rIGhhcyBvbmx5IC4rIGxpbmVzIiBuaWwgdCkKKyAgICAg IChlcmFzZS1idWZmZXIpCisgICAgICAoc2V0cSBmcm9tLWxpbmUgKDEtIGZyb20tbGluZSkpCisg ICAgICAoc2V0cSBsaW5lIChmb3JtYXQgIi1MICVzLCVzIiBmcm9tLWxpbmUgZnJvbS1saW5lKSkK KyAgICAgICh2Yy1naXQtLXByb2Nlc3MtZmlsZSAiYmxhbWUiIHJldmVyc2UtZmxhZyAiLW4iIGxp bmUgZmlsZSByYW5nZSkpCisgICAgKGdvdG8tY2hhciAocG9pbnQtbWluKSkKKyAgICAoc2VhcmNo LWZvcndhcmQtcmVnZXhwICJeW14gXSsgXFwoW14gXStcXCkiKQorICAgIChzZXRxIHRvLWxpbmUg KHN0cmluZy10by1udW1iZXIgKG1hdGNoLXN0cmluZyAxKSkpCisgICAgOzsgSnVzdCByZXVzZSBm cm9tLWxpbmUgaWYgZ2l0IGJsYW1lIGZhaWxzIHRvIGdpdmUgdXMgd2hhdCB3ZSBleHBlY3QuCisg ICAgKHdoZW4gKD0gdG8tbGluZSAwKQorICAgICAgKHNldHEgdG8tbGluZSBmcm9tLWxpbmUpKQor ICAgIHRvLWxpbmUpKQorCisoZGVmdW4gdmMtZ2l0LS1wcm9jZXNzLWZpbGUgKCZyZXN0IGFyZ3Mp CisgICJSdW4gYHByb2Nlc3MtZmlsZScgd2l0aCBBUkdTIGFuZCBgdmMtZ2l0LWdsb2JhbC1naXQt YXJndW1lbnRzJyBhcHBsaWVkLiIKKyAgKGFwcGx5ICMncHJvY2Vzcy1maWxlIHZjLWdpdC1wcm9n cmFtIG5pbCB0IG5pbCAoYXBwZW5kIHZjLWdpdC1nbG9iYWwtZ2l0LWFyZ3VtZW50cyBhcmdzKSkp CisKIDs7OyBNSVNDRUxMQU5FT1VTCiAKIChkZWZ1biB2Yy1naXQtcHJldmlvdXMtcmV2aXNpb24g KGZpbGUgcmV2KQpkaWZmIC0tZ2l0IGEvbGlzcC92Yy92Yy1ob29rcy5lbCBiL2xpc3AvdmMvdmMt aG9va3MuZWwKaW5kZXggZTI0MmQxZTQ4ZS4uOWJkYjk0YWUxYSAxMDA2NDQKLS0tIGEvbGlzcC92 Yy92Yy1ob29rcy5lbAorKysgYi9saXNwL3ZjL3ZjLWhvb2tzLmVsCkBAIC0zMCw3ICszMCw4IEBA CiAKIDs7OyBDb2RlOgogCi0oZXZhbC13aGVuLWNvbXBpbGUgKHJlcXVpcmUgJ2NsLWxpYikpCiso ZXZhbC13aGVuLWNvbXBpbGUKKyAgKHJlcXVpcmUgJ2NsLWxpYikpCiAKIDs7IEZhY2VzCiAKQEAg LTg4Myw3ICs4ODQsOSBAQCB2Yy1wcmVmaXgtbWFwCiAgICJEIiAgICMndmMtcm9vdC1kaWZmCiAg ICJ+IiAgICMndmMtcmV2aXNpb24tb3RoZXItd2luZG93CiAgICJ4IiAgICMndmMtZGVsZXRlLWZp bGUKLSAgIiEiICAgIyd2Yy1lZGl0LW5leHQtY29tbWFuZCkKKyAgIiEiICAgIyd2Yy1lZGl0LW5l eHQtY29tbWFuZAorICAiLCIgICAjJ3ZjLXRtLXJldmlzaW9uLWhlYWQpCisKIChmc2V0ICd2Yy1w cmVmaXgtbWFwIHZjLXByZWZpeC1tYXApCiAoZGVmaW5lLWtleSBjdGwteC1tYXAgInYiICd2Yy1w cmVmaXgtbWFwKQogCkBAIC05MDQsNiArOTA3LDkgQEAgdmMtbWVudS1tYXAKICAgICAoYmluZGlu Z3MtLWRlZmluZS1rZXkgbWFwIFt2Yy1yZW5hbWUtZmlsZV0KICAgICAgICcobWVudS1pdGVtICJS ZW5hbWUgRmlsZSIgdmMtcmVuYW1lLWZpbGUKIAkJICA6aGVscCAiUmVuYW1lIGZpbGUiKSkKKyAg ICAoYmluZGluZ3MtLWRlZmluZS1rZXkgbWFwIFt2Yy10bS1yZXZpc2lvbi1oZWFkXQorICAgICAg JyhtZW51LWl0ZW0gIlRpbWUgbWFjaGluZSBhdCBIRUFEIiB2Yy10bS1yZXZpc2lvbi1oZWFkCisJ CSAgOmhlbHAgIkxhdW5jaCBhIHRpbWUgbWFjaGluZSBmb3IgdGhlIEhFQUQgcmV2aXNpb24iKSkK ICAgICAoYmluZGluZ3MtLWRlZmluZS1rZXkgbWFwIFt2Yy1yZXZpc2lvbi1vdGhlci13aW5kb3dd CiAgICAgICAnKG1lbnUtaXRlbSAiU2hvdyBPdGhlciBWZXJzaW9uIiB2Yy1yZXZpc2lvbi1vdGhl ci13aW5kb3cKIAkJICA6aGVscCAiVmlzaXQgYW5vdGhlciB2ZXJzaW9uIG9mIHRoZSBjdXJyZW50 IGZpbGUgaW4gYW5vdGhlciB3aW5kb3ciKSkKZGlmZiAtLWdpdCBhL2xpc3AvdmMvdmMtcmNzLmVs IGIvbGlzcC92Yy92Yy1yY3MuZWwKaW5kZXggYzIxMTJiNzZhZC4uOWY1MjU4N2Y2ZiAxMDA2NDQK LS0tIGEvbGlzcC92Yy92Yy1yY3MuZWwKKysrIGIvbGlzcC92Yy92Yy1yY3MuZWwKQEAgLTMxLDYg KzMxLDEwIEBACiAKIDs7IFlvdSBjYW4gc3VwcG9ydCB0aGUgUkNTIC14IG9wdGlvbiBieSBjdXN0 b21pemluZyB2Yy1yY3MtbWFzdGVyLXRlbXBsYXRlcy4KIAorOzs7IFRvZG86Cis7OworOzsgKiBU ZWFjaCB2Yy1yY3MtdG0tcmV2aXNpb25zIGFib3V0IFJDUyBicmFuY2hpbmcKKwogOzs7IENvZGU6 CiAKIDs7OwpAQCAtNDEsNiArNDUsNyBAQAogICAocmVxdWlyZSAnY2wtbGliKQogICAocmVxdWly ZSAndmMpKQogKHJlcXVpcmUgJ2xvZy12aWV3KQorKHJlcXVpcmUgJ3ZjLXRpbWVtYWNoaW5lKQog CiAoZGVjbGFyZS1mdW5jdGlvbiB2Yy1yZWFkLXJldmlzaW9uICJ2YyIKICAgICAgICAgICAgICAg ICAgIChwcm9tcHQgJm9wdGlvbmFsIGZpbGVzIGJhY2tlbmQgZGVmYXVsdCBpbml0aWFsLWlucHV0 KSkKQEAgLTgxNSw2ICs4MjAsNTEgQEAgdmMtcmNzLWNyZWF0ZS10YWcKICAgICAgICAobGFtYmRh IChmKQogCSAodmMtZG8tY29tbWFuZCAiKnZjKiIgMCAicmNzIiAodmMtbWFzdGVyLW5hbWUgZikg KGNvbmNhdCAiLW4iIG5hbWUgIjoiKSkpKSkpKQogCisMCis7OzsKKzs7OyBUaW1lbWFjaGluZQor Ozs7CisKKzs7IFRoaXMgaW1wbGVtZW50YXRpb24gZG9lcyBub3QgaGFuZGxlIFJDUyBicmFuY2hl cy4KKyhkZWZ1biB2Yy1yY3MtdG0tcmV2aXNpb25zIChmaWxlKQorICAiUmV0dXJuIGRhdGEgYWJv dXQgcmV2aXNpb25zIG1vZGlmeWluZyBGSUxFIG9uIGNoZWNrZWQtb3V0IGJyYW5jaC4iCisgICh2 Yy1kby1jb21tYW5kIHQgMCAicmNzIiAoY29uY2F0IHZjLWNhY2hlLXJvb3QgZmlsZSkgImxvZyIp CisgICh2Yy1yY3MtdG0tcmV2aXNpb25zLXBhcnNlLWxvZyBmaWxlKSkKKworOzsgQ29udmVydCBh biBSQ1MgbG9nIGludG8gcmV2aXNpb25zIGluZm8gcGVyIHZjLXRpbWVtYWNoaW5lJ3MgZXhwZWN0 YXRpb25zLgorKGRlZnVuIHZjLXJjcy10bS1yZXZpc2lvbnMtcGFyc2UtbG9nIChmaWxlKQorICAi RXh0cmFjdCByZXZpc2lvbnMgaW5mbyBmcm9tIGNvbnRlbnRzIG9mIGN1cnJlbnQgYnVmZmVyLiIK KyAgKGdvdG8tY2hhciAocG9pbnQtbWluKSkKKyAgKGxldCAoKHJldmlzaW9uLWluZm9zKQorICAg ICAgICAobGluZSkKKyAgICAgICAgKHJldmlzaW9uKQorICAgICAgICAoc3ViamVjdCkgKG5ldy1z dWJqZWN0KQorICAgICAgICAoYXV0aG9yKSAgKG5ldy1hdXRob3IpCisgICAgICAgIChkYXRlKSAg ICAobmV3LWRhdGUpKQorICAgICh3aGlsZSAoc2VhcmNoLWZvcndhcmQtcmVnZXhwICJeLVstXSpc biIgbmlsIHQpCisgICAgICAoc2V0cSBsaW5lIChjb25jYXQgKGJ1ZmZlci1zdWJzdHJpbmctbm8t cHJvcGVydGllcyAobGluZS1iZWdpbm5pbmctcG9zaXRpb24pIChsaW5lLWVuZC1wb3NpdGlvbikp ICJcdCIpKQorICAgICAgKHdoZW4gKHN0cmluZy1tYXRjaCAiXnJldmlzaW9uIFxcKDFbLl1bMC05 XStcXClcdCIgbGluZSkKKyAgICAgICAgKHNldHEgcmV2aXNpb24gKG1hdGNoLXN0cmluZyAxIGxp bmUpKQorICAgICAgICAoZm9yd2FyZC1saW5lIDEpCisgICAgICAgIChzZXRxIGxpbmUgKGJ1ZmZl ci1zdWJzdHJpbmctbm8tcHJvcGVydGllcyAobGluZS1iZWdpbm5pbmctcG9zaXRpb24pIChsaW5l LWVuZC1wb3NpdGlvbikpKQorICAgICAgICAoc3RyaW5nLW1hdGNoICJeZGF0ZTogXFwoW147XSpc XCk7ICBhdXRob3I6IFxcKFteO10qXFwpOyIgbGluZSkKKwkoc2V0cSBuZXctYXV0aG9yIChtYXRj aC1zdHJpbmcgMiBsaW5lKSkKKyAgICAgICAgKHVubGVzcyAoZXF1YWwgYXV0aG9yIG5ldy1hdXRo b3IpCisgICAgICAgICAgKHNldHEgYXV0aG9yIG5ldy1hdXRob3IpKQorICAgICAgICAoc2V0cSBu ZXctZGF0ZSAodmMtdG0tZm9ybWF0LWRhdGUgKG1hdGNoLXN0cmluZyAxIGxpbmUpKSkKKyAgICAg ICAgKHVubGVzcyAoZXF1YWwgZGF0ZSBuZXctZGF0ZSkKKyAgICAgICAgICAoc2V0cSBkYXRlIG5l dy1kYXRlKSkKKyAgICAgICAgKGZvcndhcmQtbGluZSAxKQorICAgICAgICAod2hlbiAobG9va2lu Zy1hdC1wICJicmFuY2hlczogLio7IikKKyAgICAgICAgICAoZm9yd2FyZC1saW5lIDEpKQorICAg ICAgICAoc2V0cSBuZXctc3ViamVjdCAoYnVmZmVyLXN1YnN0cmluZy1uby1wcm9wZXJ0aWVzIChs aW5lLWJlZ2lubmluZy1wb3NpdGlvbikgKGxpbmUtZW5kLXBvc2l0aW9uKSkpCisgICAgICAgICh3 aGVuIChlcXVhbCBuZXctc3ViamVjdCAiKioqIGVtcHR5IGxvZyBtZXNzYWdlICoqKiIpCisgICAg ICAgICAgKHNldHEgbmV3LXN1YmplY3QgIiIpKQorICAgICAgICAodW5sZXNzIChlcXVhbCBzdWJq ZWN0IG5ldy1zdWJqZWN0KQorICAgICAgICAgIChzZXRxIHN1YmplY3QgbmV3LXN1YmplY3QpKQor CShwdXNoIChsaXN0IHJldmlzaW9uIGRhdGUgc3ViamVjdCBhdXRob3IgZmlsZSkgcmV2aXNpb24t aW5mb3MpKSkKKyAgICByZXZpc2lvbi1pbmZvcykpCisKIAwKIDs7OwogOzs7IE1pc2NlbGxhbmVv dXMKZGlmZiAtLWdpdCBhL2xpc3AvdmMvdmMtdGltZW1hY2hpbmUuZWwgYi9saXNwL3ZjL3ZjLXRp bWVtYWNoaW5lLmVsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLmFjM2I5 MzYzMzQKLS0tIC9kZXYvbnVsbAorKysgYi9saXNwL3ZjL3ZjLXRpbWVtYWNoaW5lLmVsCkBAIC0w LDAgKzEsNDI2IEBACis7OzsgdmMtdGltZW1hY2hpbmUuZWwgLS0tIFdhbGsgdGhyb3VnaCByZXZp c2lvbnMgb2YgYSBmaWxlICAtKi0gbGV4aWNhbC1iaW5kaW5nOnQgLSotCisKKzs7IENvcHlyaWdo dCAoQykgMjAyMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKworOzsgVGhpcyBwcm9n cmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2Rp ZnkKKzs7IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgYXMgcHVibGlzaGVkIGJ5Cis7OyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRo ZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorOzsgKGF0IHlvdXIgb3B0aW9uKSBhbnkg bGF0ZXIgdmVyc2lvbi4KKworOzsgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCis7OyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorOzsgTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorOzsgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworOzsgWW91IHNob3VsZCBo YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKzs7 IGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9y Zy9saWNlbnNlcy8+LgorCis7OzsgQ3JlZGl0czoKKzs7Cis7OyAgUGV0ZXIgU3RpZXJuc3Ryw7Zt IC0gd3JvdGUgdGhlIG9yaWdpbmFsLCBnaXQtb25seSB2ZXJzaW9uCis7OyAgSm9obiBZYXRlcyAg ICAgICAgLSByZWZhY3RvcmVkIFBldGVyJ3MgY29kZSBmb3IgdGhlIFZDIGVudmlyb25tZW50CisK Kzs7OyBDb21tZW50YXJ5OgorOzsKKzs7IEEgdGltZW1hY2hpbmUgYnVmZmVyIGlzIGEgc2xpZGlu ZyByZWFkLW9ubHkgd2luZG93IG92ZXIgdGhlIGRpc3RpbmN0Cis7OyByZXZpc2lvbnMgb2YgYSBz aW5nbGUgZmlsZSBvbiBhIFZDUyBicmFuY2guICBUbyBjcmVhdGUgYSB0aW1lbWFjaGluZToKKzs7 Cis7OyAgICAodmMtcHJlZml4LW1hcCAiLCIpICAgdmMtdG0tcmV2aXNpb24taGVhZAorOzsKKzs7 IFRpbWVtYWNoaW5lIGltcGxlbWVudHMgcHJlZml4LWZyZWUgbWlub3IgbW9kZSB2Yy10bS1tb2Rl OgorOzsKKzs7ICAgICIsIiAuIHZjLXRtLXJldmlzaW9uLWhlYWQKKzs7ICAgICJ+IiAuIHZjLXRt LXJldmlzaW9uLXNlbGVjdAorOzsgICAgImciIC4gdmMtdG0tcmV2aXNpb24taQorOzsgICAgIm4i IC4gdmMtdG0tcmV2aXNpb24tbmV4dAorOzsgICAgInAiIC4gdmMtdG0tcmV2aXNpb24tcHJldmlv dXMKKzs7ICAgICJxIiAuIHZjLXRtLXF1aXQKKzs7ICAgICJzIiAuIHZjLXRtLXJldmlzaW9uLWNv bXBsZXRlLXN1YmplY3QKKzs7ICAgICJ3IiAuIHZjLXRtLWFiYnJldmlhdGVkLXJldmlzaW9uLXRv LWtpbGwtcmluZworOzsgICAgIlciIC4gdmMtdG0tcmV2aXNpb24tdG8ta2lsbC1yaW5nCis7Owor OzsgVG8gc3VwcG9ydCB0aW1lbWFjaGluZSBmdW5jdGlvbmFsaXR5IGEgVkNTIGJhY2tlbmQgbmVl ZHMgdG8gaW1wbGVtZW50OgorOzsKKzs7ICAgLSB0bS1yZXZpc2lvbnMgKGZpbGUpCis7OworOzsg QW5kIGlkZWFsbHk6Cis7OworOzsgICAtIHRtLW1hcC1saW5lIChmaWxlIGZyb20tcmV2aXNpb24g ZnJvbS1saW5lIHRvLXJldmlzaW9uIGZyb20taXMtb2xkZXIpCis7OworOzsgRm9yIG1vcmUgZGV0 YWlscyBzZWUgdGhlIGxhcmdlIGNvbW1lbnQgYXQgdGhlIGZyb250IG9mIHZjLmVsLgorCis7Ozsg VG9kbzoKKzs7Cis7OyAqIGltcGxlbWVudCBtaXNzaW5nIGJsYW1lCis7OyAqIGltcGxlbWVudCBt aXNzaW5nIHNob3ctY29tbWl0Cis7OyAqIHZjLXRtLWNyZWF0ZTogd2hlbiBjYWxsZWQgZnJvbSBh IHJldmlzaW9uIGJ1ZmZlciwgc2hvdWxkIGp1bXAgdG8gdGhhdCByZXZpc2lvbgorOzsgKiB2Yy10 bS0tdGltZS1tYWNoaW5lOiBjb25maXJtIHJldmlzaW9uIGlzIHByZXNlbnQgaW4gdG1idWYtLWJy YW5jaC1yZXZpc2lvbnMKKworOzs7IENvZGU6CisKKyhyZXF1aXJlICd2YykKKworKGRlZmdyb3Vw IHZjLXRpbWVtYWNoaW5lIG5pbAorICAiVGltZS1tYWNoaW5lIGZ1bmN0aW9uYWxpdHkgZm9yIFZD IGJhY2tlbmRzLiIKKyAgOmdyb3VwICd2YworICA6dmVyc2lvbiAiMzAuMSIpCisKKyhkZWZjdXN0 b20gdmMtdG0tZGF0ZS1mb3JtYXQKKyAgIiVhICVJOiVNICVwICVZLSVtLSVkIgorICAiUmV2aXNp b24gY3JlYXRpb24gZGF0ZSBmb3JtYXQgKGVtcGhhc2lzIG9uIGVhc3kgZGF0ZSBjb21wYXJpc29u KS4iCisgIDp0eXBlICdzdHJpbmcKKyAgOmdyb3VwICd2Yy10aW1lbWFjaGluZQorICA6dmVyc2lv biAiMzAuMSIpCisKKyhkZWZjdXN0b20gdmMtdG0tZWNoby1hcmVhIHQKKyAgIldoZW4gbm9uLW5p bCBzaG93IHJldmlzaW9uIGRldGFpbHMgaW4gdGhlIGVjaG8tYXJlYSB3aGlsZSBuYXZpZ2F0aW5n IGNvbW1pdHMuIgorICA6dHlwZSAnYm9vbGVhbgorICA6Z3JvdXAgJ3ZjLXRpbWVtYWNoaW5lCisg IDp2ZXJzaW9uICIzMC4xIikKKworKGRlZmN1c3RvbSB2Yy10bS1lY2hvLWFyZWEtZGV0YWlsICdz dWJqZWN0CisgICJXaGF0IHRvIGRpc3BsYXkgd2hlbiBgdmMtdG0tZWNoby1hcmVhYCBpcyB0Lgor QXZhaWxhYmxlIHZhbHVlcyBhcmU6CitgSURgICAgICAgOiBUaGUgcmV2aXNpb24ncyBJRCAoY29t bWl0IGhhc2gpCitgc3ViamVjdGAgOiBUaGUgcmV2aXNpb24ncyBjb21taXQgbWVzc2FnZSBzdWJq ZWN0IGxpbmUiCisgIDp0eXBlICcocmFkaW8gKGNvbnN0IDp0YWcgIlJldmlzaW9uIElEIChjb21t aXQgaGFzaCkiIGNvbW1pdCkKKyAgICAgICAgICAgICAgICAoY29uc3QgOnRhZyAiUmV2aXNpb24g bWVzc2FnZSBzdWJqZWN0IGxpbmUiIHN1YmplY3QpKQorICA6Z3JvdXAgJ3ZjLXRpbWVtYWNoaW5l CisgIDp2ZXJzaW9uICIzMC4xIikKKworKGRlZmZhY2UgdmMtdG0tZWNoby1hcmVhLWRldGFpbC1m YWNlCisgICcoKCgoY2xhc3MgY29sb3IpIChiYWNrZ3JvdW5kIGRhcmspKQorICAgICA6Zm9yZWdy b3VuZCAieWVsbG93IikKKyAgICAoKChjbGFzcyBjb2xvcikgKGJhY2tncm91bmQgbGlnaHQpKQor ICAgICA6Zm9yZWdyb3VuZCAieWVsbG93NCIpKQorICAiRmFjZSB0byB1c2Ugd2hlbiBkaXNwbGF5 aW5nIGRldGFpbHMgaW4gdGhlIGVjaG8tYXJlYS4iCisgIDpncm91cCAndmMtdGltZW1hY2hpbmUK KyAgOnZlcnNpb24gIjMwLjEiKQorCisoZGVmY3VzdG9tIHZjLXRtLWVjaG8tYXJlYS1hdXRob3Ig dAorICAiUHJlcGVuZCBhdXRob3IgdG8gZWNoby1hcmVhIGRldGFpbHMuIgorICA6dHlwZSAnYm9v bGVhbgorICA6Z3JvdXAgJ3ZjLXRpbWVtYWNoaW5lCisgIDp2ZXJzaW9uICIzMC4xIikKKworKGRl ZmZhY2UgdmMtdG0tZWNoby1hcmVhLWF1dGhvci1mYWNlCisgICcoKCgoY2xhc3MgY29sb3IpIChi YWNrZ3JvdW5kIGRhcmspKQorICAgICA6Zm9yZWdyb3VuZCAib3JhbmdlIikKKyAgICAoKChjbGFz cyBjb2xvcikgKGJhY2tncm91bmQgbGlnaHQpKQorICAgICA6Zm9yZWdyb3VuZCAiRGFya09yYW5n ZTQiKSkKKyAgIkZhY2UgdG8gdXNlIHdoZW4gZGlzcGxheWluZyBhdXRob3IgYXMgcGFydCBvZiBk ZXRhaWxzIGluIHRoZSBlY2hvLWFyZWEuIgorICA6Z3JvdXAgJ3ZjLXRpbWVtYWNoaW5lCisgIDp2 ZXJzaW9uICIzMC4xIikKKworKGRlZmN1c3RvbSB2Yy10bS1hYmJyZXZpYXRpb24tbGVuZ3RoIDEy CisgICJOdW1iZXIgb2YgY2hhcnMgZnJvbSBmdWxsIHJldmlzaW9uIGlkIHRvIHVzZSBmb3IgYWJi cmV2aWF0aW9uLiIKKyAgOnR5cGUgJ2ludGVnZXIKKyAgOmdyb3VwICd2Yy10aW1lbWFjaGluZQor ICA6dmVyc2lvbiAiMzAuMSIpCisKKyhkZWZjdXN0b20gdmMtdG0tcXVpdC10by1pbnZva2luZy1i dWZmZXIgdAorICAiU3dpdGNoIHRvIGludm9raW5nIGJ1ZmZlciBvbiDigJh2Yy10bS1xdWl04oCZ LiIKKyAgOnR5cGUgJ2Jvb2xlYW4KKyAgOmdyb3VwICd2Yy10aW1lbWFjaGluZQorICA6dmVyc2lv biAiMzAuMSIpCisKKyhkZWZ2YXItbG9jYWwgdmMtLXRpbWUtbWFjaGluZSBuaWwKKyAgIkNhY2hl IGEgVE0gaGludCBvbiB2YXJpb3VzIGJ1ZmZlcnMuIikKKyhwdXQgJ3ZjLS10aW1lLW1hY2hpbmUg J3Blcm1hbmVudC1sb2NhbCB0KQorCisoZGVmdmFyLWxvY2FsIHRtYnVmLS1hYnMtZmlsZSBuaWwK KyAgIkFic29sdXRlIHBhdGggdG8gZmlsZSBiZWluZyB0cmF2ZXJzZWQgYnkgdGhpcyB0aW1lLW1h Y2hpbmUuIikKKyhwdXQgJ3RtYnVmLS1hYnMtZmlsZSAncGVybWFuZW50LWxvY2FsIHQpCisoZGVm dmFyLWxvY2FsIHRtYnVmLS1iYWNrZW5kIG5pbAorICAiVGhlIFZDIGJhY2tlbmQgYmVpbmcgdXNl ZCBieSB0aGlzIHRpbWUtbWFjaGluZSIpCisocHV0ICd0bWJ1Zi0tYmFja2VuZCAncGVybWFuZW50 LWxvY2FsIHQpCisoZGVmdmFyLWxvY2FsIHRtYnVmLS1icmFuY2gtaW5kZXggbmlsCisgICJaZXJv LWJhc2UgaW5kZXggaW50byB0bWJ1Zi0tYnJhbmNoLXJldmlzaW9ucy4iKQorKHB1dCAndG1idWYt LWJyYW5jaC1yZXZpc2lvbnMgJ3Blcm1hbmVudC1sb2NhbCB0KQorKGRlZnZhci1sb2NhbCB0bWJ1 Zi0tYnJhbmNoLXJldmlzaW9ucyBuaWwKKyAgIldoZW4gbm9uLW5pbCwgYSB2ZWN0b3Igb2YgcmV2 aXNpb24taW5mbyBsaXN0cy4iKQorKHB1dCAndG1idWYtLWJyYW5jaC1yZXZpc2lvbnMgJ3Blcm1h bmVudC1sb2NhbCB0KQorKGRlZnZhci1sb2NhbCB0bWJ1Zi0tc291cmNlLWJ1ZmZlciBuaWwKKyAg IkEgbm9uLXRpbWUtbWFjaGluZSBidWZmZXIgZm9yIHdoaWNoIHRoaXMgdGltZS1tYWNoaW5lIHdh cyBjcmVhdGVkLiIpCisocHV0ICd0bWJ1Zi0tc291cmNlLWJ1ZmZlciAncGVybWFuZW50LWxvY2Fs IHQpCisKKyhkZWZ1biB2Yy10bS0tdGltZS1tYWNoaW5lICgpCisgICJSZXR1cm4gYSB2YWxpZCB0 aW1lLW1hY2hpbmUgZm9yIHRoZSBjdXJyZW50IGJ1ZmZlci4iCisgIChpZiB0bWJ1Zi0tYmFja2Vu ZAorICAgICAgKGN1cnJlbnQtYnVmZmVyKQorICAgIChsZXQgKChyZXZpc2lvbiB2Yy10bS0tcmV2 aXNpb24pIDs7IGNhbGxlciBjb3VsZCBiZSBhIHJldmlzaW9uIGJ1ZmZlcgorICAgICAgICAgIChz b3VyY2UgKGN1cnJlbnQtYnVmZmVyKSkpCisgICAgICAoc2V0LWJ1ZmZlciAob3IgKGJ1ZmZlci1i YXNlLWJ1ZmZlcikgc291cmNlKSkKKyAgICAgICh2Yy1lbnN1cmUtdmMtYnVmZmVyKQorCisgICAg ICAobGV0KiAoKHBhcmVudCB2Yy1wYXJlbnQtYnVmZmVyKQorICAgICAgICAgICAgIChhYnMtZmls ZSAoYnVmZmVyLWZpbGUtbmFtZSkpCisgICAgICAgICAgICAgKGJhY2tlbmQgICh2Yy1iYWNrZW5k IGFicy1maWxlKSkKKyAgICAgICAgICAgICAod29yay1yZXYgKHZjLXdvcmtpbmctcmV2aXNpb24g YWJzLWZpbGUpKQorICAgICAgICAgICAgICh0bWJ1ZiB2Yy0tdGltZS1tYWNoaW5lKSkKKworICAg ICAgICA7OyBlbnN1cmUgdGhhdCB0aGVyZSBpcyBhIHJldmlzaW9uIHdpdGggd2hpY2ggdG8gd29y ay4KKyAgICAgICAgKHVubGVzcyByZXZpc2lvbgorICAgICAgICAgIChzZXRxIHJldmlzaW9uIHdv cmstcmV2KQorICAgICAgICAgIChzZXRxIHNvdXJjZSAoY3VycmVudC1idWZmZXIpKSkKKworICAg ICAgICA7OyBWYWxpZGF0ZSBhbnkgY3VycmVudCB0aW1lLW1hY2hpbmUgYnVmZmVyLgorICAgICAg ICAod2hlbiB0bWJ1ZgorICAgICAgICAgICh3aXRoLWN1cnJlbnQtYnVmZmVyIHRtYnVmCisgICAg ICAgICAgICAodW5sZXNzIChhbmQgKGVxdWFsIGFicy1maWxlIHRtYnVmLS1hYnMtZmlsZSkKKyAg ICAgICAgICAgICAgICAgICAgICAgICAoZXF1YWwgYmFja2VuZCAgdG1idWYtLWJhY2tlbmQpCisg ICAgICAgICAgICAgICAgICAgICAgICAgOzsgVE9ETzogY29uZmlybSB0aGF0IHJldmlzaW9uIGlz IGluIHRtYnVmLS1icmFuY2gtcmV2aXNpb25zLgorICAgICAgICAgICAgICAgICAgICAgICAgICkK KyAgICAgICAgICAgICAgOzsgRGlzY2FyZCBhbiB1bnZhbGlkYXRlIFRNIGJ1ZmZlci4KKyAgICAg ICAgICAgICAgKHNldHEgdG1idWYgbmlsKSkpKQorCisgICAgICAgIDs7IENyZWF0ZSBhIGZyZXNo IFRNIGJ1ZmZlciBpZiBuZWVkZWQuCisgICAgICAgICh1bmxlc3MgdG1idWYKKyAgICAgICAgICAo d2l0aC1jdXJyZW50LWJ1ZmZlciAoc2V0cSB0bWJ1ZiAoZ2V0LWJ1ZmZlci1jcmVhdGUgIipuYXNj ZW50IFRNKiIpKQorICAgICAgICAgICAgKHNldHEgdmMtcGFyZW50LWJ1ZmZlciBwYXJlbnQpCisg ICAgICAgICAgICAoc2V0cSB2Yy0tdGltZS1tYWNoaW5lIHRtYnVmKQorICAgICAgICAgICAgKHNl dHEgdmMtdG0tLXJldmlzaW9uIHJldmlzaW9uKQorICAgICAgICAgICAgKHNldHEgdG1idWYtLWFi cy1maWxlIGFicy1maWxlKQorICAgICAgICAgICAgKHNldHEgdG1idWYtLWJhY2tlbmQgYmFja2Vu ZCkKKyAgICAgICAgICAgIChzZXRxIHRtYnVmLS1zb3VyY2UtYnVmZmVyIHNvdXJjZSkKKyAgICAg ICAgICAgIChzZXRxIHRtYnVmLS1icmFuY2gtaW5kZXggMCkKKyAgICAgICAgICAgIChzZXRxIHRt YnVmLS1icmFuY2gtcmV2aXNpb25zCisgICAgICAgICAgICAgICAgICAod2l0aC10ZW1wLWJ1ZmZl cgorICAgICAgICAgICAgICAgICAgICAocHJvZzIKKyAgICAgICAgICAgICAgICAgICAgICAgICht ZXNzYWdlICJFbnVtZXJhdGluZyByZXZpc2lvbnMuLi4iKQorICAgICAgICAgICAgICAgICAgICAg ICAgKGxldCogKCh2ZWMgKGNsLWNvZXJjZSAodmMtY2FsbC1iYWNrZW5kIGJhY2tlbmQgJ3RtLXJl dmlzaW9ucyBhYnMtZmlsZSkgJ3ZlY3RvcikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGJyYW5jaCAobnJldmVyc2UgdmVjKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgIGJy YW5jaCkKKyAgICAgICAgICAgICAgICAgICAgICAobWVzc2FnZSAiRW51bWVyYXRpbmcgcmV2aXNp b25zLi4uZG9uZSIpKSkpKSkKKworICAgICAgICAoc2V0LWJ1ZmZlciB0bWJ1ZikKKyAgICAgICAg dG1idWYpKSkpCisKKzs7OyMjI2F1dG9sb2FkCisoZGVmdW4gdmMtdG0tcmV2aXNpb24taGVhZCAo KQorICAiU2hvdyB3b3JrIGZpbGUncyBjdXJyZW50IHJldmlzaW9uIG9uIGNoZWNrZWQtb3V0IGJy YW5jaC4iCisgIChpbnRlcmFjdGl2ZSkKKyAgKHdpdGgtY3VycmVudC1idWZmZXIgKHZjLXRtLS10 aW1lLW1hY2hpbmUpCisgICAgKHZjLXRtLS1zd2l0Y2gtdG8tcmV2aXNpb24gMSkpKQorCisoZGVm dW4gdmMtdG0tcmV2aXNpb24tbmV4dCAoKQorICAiU2hvdyB3b3JrIGZpbGUncyBuZXh0IHJldmlz aW9uIG9uIGNoZWNrZWQtb3V0IGJyYW5jaC4iCisgIChpbnRlcmFjdGl2ZSkKKyAgKHdpdGgtY3Vy cmVudC1idWZmZXIgKHZjLXRtLS10aW1lLW1hY2hpbmUpCisgICAgKHZjLXRtLS1zd2l0Y2gtdG8t cmV2aXNpb24gdG1idWYtLWJyYW5jaC1pbmRleCkpKQorCisoZGVmdW4gdmMtdG0tcmV2aXNpb24t cHJldmlvdXMgKCkKKyAgIlNob3cgd29yayBmaWxlJ3MgcHJldmlvdXMgcmV2aXNpb24gb24gY2hl Y2tlZC1vdXQgYnJhbmNoLiIKKyAgKGludGVyYWN0aXZlKQorICAod2l0aC1jdXJyZW50LWJ1ZmZl ciAodmMtdG0tLXRpbWUtbWFjaGluZSkKKyAgICAodmMtdG0tLXN3aXRjaC10by1yZXZpc2lvbiAo KyB0bWJ1Zi0tYnJhbmNoLWluZGV4IDIpKSkpCisKKyhkZWZ1biB2Yy10bS1yZXZpc2lvbi1pIChu dW1iZXIpCisgICJTaG93IHdvcmsgZmlsZSdzIE4ndGggbW9zdCByZWNlbnQgcmV2aXNpb24gb24g Y2hlY2tlZC1vdXQgYnJhbmNoICgxIGJlaW5nIEhFQUQpLiIKKyAgKGludGVyYWN0aXZlICJuRW50 ZXIgcmV2aXNpb24gcG9zaXRpb246ICIpCisgICh3aXRoLWN1cnJlbnQtYnVmZmVyICh2Yy10bS0t dGltZS1tYWNoaW5lKQorICAgICh2Yy10bS0tc3dpdGNoLXRvLXJldmlzaW9uIG51bWJlcikpKQor CisoZGVmdW4gdmMtdG0tcmV2aXNpb24tY29tcGxldGUtc3ViamVjdCAoKQorICAiU2hvdyB3b3Jr IGZpbGUncyByZXZpc2lvbiB2aWEgc3ViamVjdCBjb21wbGV0aW9uIG9uIGNoZWNrZWQtb3V0IGJy YW5jaC4iCisgIChpbnRlcmFjdGl2ZSkKKyAgKGxldCogKChzIChjb21wbGV0aW5nLXJlYWQKKyAg ICAgICAgICAgICAiQ29tbWl0IHN1YmplY3Q6ICIKKyAgICAgICAgICAgICAobWFwY2FyIChhcHBs eS1wYXJ0aWFsbHkgIydudGggMikgdG1idWYtLWJyYW5jaC1yZXZpc2lvbnMpKSkpCisgICAgKHZj LXRtLS1zd2l0Y2gtdG8tcmV2aXNpb24KKyAgICAgKGNsLWxvb3AgZm9yIHJldmlzaW9uLW51bWJl ciBmcm9tIDEKKyAgICAgICAgICAgICAgZm9yIGluZm8gYWNyb3NzIHRtYnVmLS1icmFuY2gtcmV2 aXNpb25zCisgICAgICAgICAgICAgIGlmIChlcXVhbCBzIChudGggMiBpbmZvKSkgcmV0dXJuIHJl dmlzaW9uLW51bWJlcgorICAgICAgICAgICAgICBmaW5hbGx5IChlcnJvciAiU3ViamVjdCBub3Qg Zm91bmQiKSkpKSkKKworKGRlZnVuIHZjLXRtLS1zd2l0Y2gtdG8tcmV2aXNpb24gKHRvLW51bWJl cikKKyAgIlNob3cgd29yayBmaWxlJ3MgcmV2aXNpb24gYXQgcG9zaXRpb24gVE8tTlVNQkVSIG9u IGNoZWNrZWQtb3V0IGJyYW5jaC4iCisgIChsZXQgKChicmFuY2gtbGVuZ3RoIChsZW5ndGggdG1i dWYtLWJyYW5jaC1yZXZpc2lvbnMpKQorICAgICAgICAodG8taW5kZXggKDEtIHRvLW51bWJlcikp CisgICAgICAgIChjYWxsaW5nLXdpbmRvdy1idWZmZXIgKHdpbmRvdy1idWZmZXIpKQorICAgICAg ICAoY3Vyc29yLXdpbi1wb3MpKQorICAgICh3aXRoLWN1cnJlbnQtYnVmZmVyIGNhbGxpbmctd2lu ZG93LWJ1ZmZlcgorICAgICAgKHNldHEgY3Vyc29yLXdpbi1wb3MgKHZjLXRtLS1nZXQtY3Vyc29y LXdpbi1wb3NpdGlvbikpKQorICAgIChjb25kCisgICAgICgoPCB0by1udW1iZXIgMSkKKyAgICAg IChlcnJvciAiJXMiICJUaGlzIGlzIHRoZSBIRUFEIHJldmlzaW9uOyB0aGVyZSBhcmUgbm9uZSBu ZXdlciIpKQorICAgICAoKD49IHRvLWluZGV4IGJyYW5jaC1sZW5ndGgpCisgICAgICAoZXJyb3Ig IlRoZXJlIGlzIG5vIHJldmlzaW9uICVkICh0aGUgb2xkZXN0IHJldmlzaW9uIGlzICVkKSIKKyAg ICAgICAgICAgICB0by1udW1iZXIgYnJhbmNoLWxlbmd0aCkpCisgICAgICh0CisgICAgICAobGV0 KiAoKG5ldy1yZXZpc2lvbi1pbmZvICh2Yy10bS0tdG1idWYtcmV2aXNpb24taW5mbyB0by1pbmRl eCkpCisgICAgICAgICAgICAgKG5ldy1yZXZpc2lvbiAoY2FyIG5ldy1yZXZpc2lvbi1pbmZvKSkK KyAgICAgICAgICAgICAoYWJicmV2LXJldiAodmMtdG0tLWFiYnJldmlhdGUgbmV3LXJldmlzaW9u KSkKKyAgICAgICAgICAgICAoZGF0ZSAobnRoIDEgbmV3LXJldmlzaW9uLWluZm8pKQorICAgICAg ICAgICAgIChuLW9mLW0gKGZvcm1hdCAiIFslZC8lZCAlc10iIHRvLW51bWJlciBicmFuY2gtbGVu Z3RoIGRhdGUpKQorICAgICAgICAgICAgIDs7IFVzZSB0aGUgZmlsZS1uYW1lIGZyb20gbmV3LXJl dmlzaW9uLWluZm8gdG8gcmV2ZWFsIHJlbmFtZXMuCisgICAgICAgICAgICAgKGZpbGUtbmFtZSAo ZmlsZS1uYW1lLW5vbmRpcmVjdG9yeSAobnRoIDQgbmV3LXJldmlzaW9uLWluZm8pKSkKKyAgICAg ICAgICAgICAodG1idWYgKGN1cnJlbnQtYnVmZmVyKSkKKyAgICAgICAgICAgICAoZnJvbS1saW5l IChsaW5lLW51bWJlci1hdC1wb3MpKQorICAgICAgICAgICAgICh0by1saW5lIGZyb20tbGluZSkp CisgICAgICAgICh3aGVuIHZjLXRtLS1yZXZpc2lvbgorICAgICAgICAgICh1bmxlc3MgKD0gdG1i dWYtLWJyYW5jaC1pbmRleCB0by1pbmRleCkKKyAgICAgICAgICAgIChzZXRxIHRvLWxpbmUgKHZj LXRtLS1tYXAtbGluZSBmcm9tLWxpbmUgdG8taW5kZXgpKSkpCisgICAgICAgICh2Yy1maW5kLXJl dmlzaW9uIHRtYnVmLS1hYnMtZmlsZSBuZXctcmV2aXNpb24gdG1idWYtLWJhY2tlbmQgdG1idWYp CisgICAgICAgIDs7IFJldXNlIHRpbWVtYWNoaW5lIHdpbmRvd3MsIG90aGVyd2lzZSBjcmVhdGUg dGhlbSBpbiBzb21lIG90aGVyLXdpbmRvdy4KKyAgICAgICAgKGlmIChlcSBjYWxsaW5nLXdpbmRv dy1idWZmZXIgdG1idWYpCisgICAgICAgICAgICAoc3dpdGNoLXRvLWJ1ZmZlciB0bWJ1ZikKKyAg ICAgICAgICAoc3dpdGNoLXRvLWJ1ZmZlci1vdGhlci13aW5kb3cgdG1idWYpKQorICAgICAgICAo dmMtdG0tbW9kZSArMSkKKyAgICAgICAgKGZvcndhcmQtbGluZSAoLSB0by1saW5lIChsaW5lLW51 bWJlci1hdC1wb3MpKSkKKyAgICAgICAgKHZjLXRtLS1zZXQtY3Vyc29yLXdpbi1wb3NpdGlvbiBj dXJzb3Itd2luLXBvcykKKyAgICAgICAgKHNldHEgdG1idWYtLWJyYW5jaC1pbmRleCB0by1pbmRl eCkKKworICAgICAgICAocmVuYW1lLWJ1ZmZlciAoY29uY2F0IGZpbGUtbmFtZSAiICIgYWJicmV2 LXJldikgdCkKKyAgICAgICAgKHNldHEgbW9kZS1saW5lLWJ1ZmZlci1pZGVudGlmaWNhdGlvbgor ICAgICAgICAgICAgICAobGlzdCAocHJvcGVydGl6ZWQtYnVmZmVyLWlkZW50aWZpY2F0aW9uICIl MTJiIikgbi1vZi1tKSkKKworICAgICAgICAod2hlbiB2Yy10bS1lY2hvLWFyZWEKKyAgICAgICAg ICAodmMtdG0tLXNob3ctZWNoby1hcmVhLWRldGFpbHMgbmV3LXJldmlzaW9uLWluZm8pKSkpCisg ICAgICAodmMtdG0tLWVybS13b3JrYXJvdW5kKSkpKQorCisKKyhkZWZ1biB2Yy10bS0tbWFwLWxp bmUgKGZyb20tbGluZSB0by1pbmRleCkKKyAgIlJldHVybiBhIHN1Z2dlc3RlZCBuZXcgY3VycmVu dC1saW5lIGFmdGVyIGEgcmV2aXNpb24ganVtcC4iCisgIDs7IE5ld2VyIGFuZCBvbGRlciBhcmUg Zmlyc3QgZ3Vlc3Nlczsgc3Vic2VxdWVudGx5IHRoZXkgbWF5IGdldCBzd2FwcGVkLgorICAobGV0 KiAoKHRvLWluZm8gKHZjLXRtLS10bWJ1Zi1yZXZpc2lvbi1pbmZvIHRvLWluZGV4KSkKKyAgICAg ICAgICh0by1yZXZpc2lvbiAoY2FyIHRvLWluZm8pKQorICAgICAgICAgKGZyb20tcmV2aXNpb24g dmMtdG0tLXJldmlzaW9uKQorICAgICAgICAgKGZyb20taXMtb2xkZXIgKDwgdG1idWYtLWJyYW5j aC1pbmRleCB0by1pbmRleCkpCisgICAgICAgICAoYmFja2VuZCB0bWJ1Zi0tYmFja2VuZCkKKyAg ICAgICAgIChhYnMtZmlsZSB0bWJ1Zi0tYWJzLWZpbGUpKQorICAgICh3aXRoLXRlbXAtYnVmZmVy CisgICAgICAodmMtY2FsbC1iYWNrZW5kIGJhY2tlbmQgJ3RtLW1hcC1saW5lIGFicy1maWxlCisg ICAgICAgICAgICAgICAgICAgICAgIGZyb20tcmV2aXNpb24gZnJvbS1saW5lIHRvLXJldmlzaW9u IGZyb20taXMtb2xkZXIpKSkpCisKKyhkZWZ1biB2Yy1kZWZhdWx0LXRtLW1hcC1saW5lIChfYmFj a2VuZCBfcmVsLWZpbGUgX2Zyb20tcmV2aXNpb24gZnJvbS1saW5lCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgX3RvLXJldmlzaW9uIF9mcm9tLWlzLW9sZGVyKQorICAiRGVm YXVsdCBgbWFwLWxpbmUnIGltcGxlbWVudGF0aW9uLgorSXQgbWVyZWx5IHJldHVybnMgRlJPTS1M SU5FLiIKKyAgZnJvbS1saW5lKQorCisoZGVmdW4gdmMtdG0tLXNob3ctZWNoby1hcmVhLWRldGFp bHMgKHJldmlzaW9uLWluZm8pCisgICJTaG93IGRldGFpbHMgZm9yIFJFVklTSU9OLUlORk8gaW4g ZWNoby1hcmVhLiIKKyAgKGxldCogKChkYXRlIChudGggMSByZXZpc2lvbi1pbmZvKSkKKyAgICAg ICAgIChhdXRob3IgKGlmIHZjLXRtLXNob3ctYXV0aG9yIChjb25jYXQgIiB8ICIgKG50aCAzIHJl dmlzaW9uLWluZm8pKSAiIikpCisgICAgICAgICAoc2hhLW9yLXN1YmplY3QgKGlmIChlcSB2Yy10 bS1lY2hvLWFyZWEtZGV0YWlsICdjb21taXQpIChjYXIgcmV2aXNpb24taW5mbykgKG50aCAyIHJl dmlzaW9uLWluZm8pKSkpCisgICAgKG1lc3NhZ2UgIiVzJXM6ICVzIgorICAgICAgICAgICAgIGRh dGUKKyAgICAgICAgICAgICAocHJvcGVydGl6ZSBhdXRob3IgJ2ZhY2UgJ3ZjLXRtLWVjaG8tYXJl YS1hdXRob3ItZmFjZSkKKyAgICAgICAgICAgICAocHJvcGVydGl6ZSBzaGEtb3Itc3ViamVjdCAn ZmFjZSAndmMtdG0tZWNoby1hcmVhLWRldGFpbC1mYWNlKSkpKQorCisoZGVmdW4gdmMtdG0tZm9y bWF0LWRhdGUgKGRhdGUpCisgICJSZXR1cm4gZGF0ZSBmb3JtYXR0ZWQgcGVyIHRoZSB1c2VyJ3Mg dmMtdG0tZGF0ZS1mb3JtYXQuIgorICAoZm9ybWF0LXRpbWUtc3RyaW5nIHZjLXRtLWRhdGUtZm9y bWF0IChkYXRlLXRvLXRpbWUgZGF0ZSkpKQorCisoZGVjbGFyZS1mdW5jdGlvbiBlcm0tcmVzZXQt YnVmZmVyICJleHQ6ZW5oLXJ1YnktbW9kZSIpCisKKyhkZWZ1biB2Yy10bS0tZXJtLXdvcmthcm91 bmQgKCkKKyAgIldvcmthcm91bmQgZm9yIGVuaGFuY2VkIHJ1YnkgbW9kZSBub3QgZGV0ZWN0aW5n IHJldmlzaW9uIGNoYW5nZS4iCisgICh3aGVuIChlcSBtYWpvci1tb2RlICdlbmgtcnVieS1tb2Rl KQorICAgIChpZ25vcmUtZXJyb3JzIChlcm0tcmVzZXQtYnVmZmVyKSkpKQorCisoZGVmdW4gdmMt dG0tLWdldC1jdXJzb3Itd2luLXBvc2l0aW9uICgpCisgICJSZXR1cm4gdGhlIGN1cnNvciB2aXN1 YWwgbGluZSBudW1iZXIgdy5yLnQuIHRoZSBjdXJyZW50IHdpbmRvdyBmaXJzdCBsaW5lLiIKKyAg KGxldCogKCh3aW4tcG9pbnQtbWluIChzYXZlLWV4Y3Vyc2lvbiAobW92ZS10by13aW5kb3ctbGlu ZSAwKSAocG9pbnQpKSkKKyAgICAgICAgIChjdXItcG9zIChjb3VudC1zY3JlZW4tbGluZXMgd2lu LXBvaW50LW1pbiAocG9pbnQpKSkpCisgICAgY3VyLXBvcykpCisKKyhkZWZ1biB2Yy10bS0tc2V0 LWN1cnNvci13aW4tcG9zaXRpb24gKFBPUykKKyAgIlNldCB0aGUgY3Vyc29yIHBvc2l0aW9uIHRv IHRoZSBQT1MgdmlzdWFsIGxpbmUgdy5yLnQuIHRoZSB3aW5kb3cgZmlyc3QgbGluZS4iCisgIChy ZWNlbnRlciBQT1MpKQorCisoZGVmdW4gdmMtdG0tLWFiYnJldmlhdGUgKHJldmlzaW9uKQorICAi UmV0dXJuIFJFVklTSU9OIGFiYnJldmlhdGVkIHRvIGB2Yy10bS1hYmJyZXZpYXRpb24tbGVuZ3Ro JyBjaGFycy4iCisgIChpZiAobGVuZ3RoPCByZXZpc2lvbiB2Yy10bS1hYmJyZXZpYXRpb24tbGVu Z3RoKQorICAgICAgcmV2aXNpb24KKyAgICAoc3Vic3RyaW5nIHJldmlzaW9uIDAgdmMtdG0tYWJi cmV2aWF0aW9uLWxlbmd0aCkpKQorCisoZGVmdW4gdmMtdG0tcmV2aXNpb24tdG8ta2lsbC1yaW5n ICgpCisgICJLaWxsIHRoZSBjdXJyZW50IHJldmlzaW9ucyBhYmJyZXZpYXRlZCBjb21taXQgaGFz aC4iCisgIChpbnRlcmFjdGl2ZSkKKyAgKGxldCAoKHJldmlzaW9uICh2Yy10bS0tdG1idWYtcmV2 aXNpb24pKSkKKyAgICAobWVzc2FnZSByZXZpc2lvbikKKyAgICAoa2lsbC1uZXcgcmV2aXNpb24p KSkKKworKGRlZnVuIHZjLXRtLWFiYnJldmlhdGVkLXJldmlzaW9uLXRvLWtpbGwtcmluZyAoKQor ICAiS2lsbCB0aGUgY3VycmVudCByZXZpc2lvbnMgZnVsbCBjb21taXQgaGFzaC4iCisgIChpbnRl cmFjdGl2ZSkKKyAgKGxldCAoKHJldmlzaW9uICh2Yy10bS0tYWJicmV2aWF0ZSAodmMtdG0tLXRt YnVmLXJldmlzaW9uKSkpKQorICAgIChtZXNzYWdlIHJldmlzaW9uKQorICAgIChraWxsLW5ldyBy ZXZpc2lvbikpKQorCis7OyAoZGVmdW4gdmMtdG0tc2hvdy1jb21taXQgKCkKKzs7ICAgIlNob3cg Y29tbWl0IGZvciBjdXJyZW50IHJldmlzaW9uLiIKKzs7ICAgKGludGVyYWN0aXZlKQorOzsgICAo bGV0ICgocmV2ICh2Yy10bS0tdG1idWYtcmV2aXNpb24pKSkKKzs7ICAgICAoaWYgKGZib3VuZHAg J21hZ2l0LXNob3ctY29tbWl0KQorOzsgICAgICAgICAobWFnaXQtc2hvdy1jb21taXQgcmV2KQor OzsgICAgICAgKG1lc3NhZ2UgIllvdSBuZWVkIHRvIGluc3RhbGwgbWFnaXQgdG8gc2hvdyBjb21t aXQiKSkpKQorCis7OyAoZGVmdW4gdmMtdG0tYmxhbWUgKCkKKzs7ICAgIkNhbGwg4oCYbWFnaXQt YmxhbWXigJkgb24gY3VycmVudCByZXZpc2lvbi4iCis7OyAgIChpbnRlcmFjdGl2ZSkKKzs7ICAg KGlmIChmYm91bmRwICdtYWdpdC1ibGFtZSkKKzs7ICAgICAgIChsZXQgKChtYWdpdC1idWZmZXIt cmV2aXNpb24gKGNhciB0bS0tcmV2aXNpb24taW5mbykpKQorOzsgICAgICAobWFnaXQtYmxhbWUp KQorOzsgICAgIChtZXNzYWdlICJZb3UgbmVlZCB0byBpbnN0YWxsIG1hZ2l0IGZvciBibGFtZSBj YXBhYmlsaXRpZXMiKSkpCisKKyhkZWZ1biB2Yy10bS0tdG1idWYtcmV2aXNpb24gKCZvcHRpb25h bCBpbmRleCkKKyAgIlJldHVybiB0aGUgdW5pcXVlIHJldmlzaW9uIGlkIGZvciB0aGlzIHRtYnVm J3MgY3VycmVudCByZXZpc2lvbi4iCisgIChjYXIgKHZjLXRtLS10bWJ1Zi1yZXZpc2lvbi1pbmZv IGluZGV4KSkpCisKKyhkZWZ1biB2Yy10bS0tdG1idWYtcmV2aXNpb24taW5mbyAoJm9wdGlvbmFs IGluZGV4KQorICAiUmV0dXJuIHRoZSByZXZpc2lvbi1pbmZvIGxpc3QgZm9yIHRoaXMgdG1idWYn cyBjdXJyZW50IHJldmlzaW9uLiIKKyAgKGFyZWYgdG1idWYtLWJyYW5jaC1yZXZpc2lvbnMgKG9y IGluZGV4IHRtYnVmLS1icmFuY2gtaW5kZXgpKSkKKworKGRlZnVuIHZjLXRtLXF1aXQgKCkKKyAg IkV4aXQgdGhlIHRpbWVtYWNoaW5lLiIKKyAgKGludGVyYWN0aXZlKQorICAobGV0ICgocGFyZW50 LWJ1ZmZlci1uYW1lIGJ1ZmZlci1maWxlLW5hbWUpKQorICAgIChraWxsLWJ1ZmZlcikKKyAgICAo bGV0ICgocGFyZW50LWJ1ZmZlciAoZmluZC1idWZmZXItdmlzaXRpbmcgcGFyZW50LWJ1ZmZlci1u YW1lKSkpCisgICAgICAod2hlbiAoYW5kIHBhcmVudC1idWZmZXIgdmMtdG0tcXVpdC10by1pbnZv a2luZy1idWZmZXIpCisgICAgICAgIChzd2l0Y2gtdG8tYnVmZmVyIHBhcmVudC1idWZmZXIgbmls IHQpKSkpKQorCisodHJhbnNpZW50LWRlZmluZS1wcmVmaXggdmMtdG0taGVscCAoKQorICAiU2hv dyBvbmxpbmUgaGVscC4iCisgIFsiTmF2aWdhdGUiCisgICBbKCIsIiAic3dpdGNoIHRvIEhFQUQg cmV2aXNpb24iIHZjLXRtLXJldmlzaW9uLWhlYWQpCisgICAgKCJ+IiAic3dpdGNoIHRvIHNlbGVj dGVkIHJldmlzaW9uIGlkIiB2Yy10bS1yZXZpc2lvbi1zZWxlY3QpCisgICAgKCJuIiAic3dpdGNo IHRvIG5leHQgcmV2aXNpb24iIHZjLXRtLXJldmlzaW9uLW5leHQpCisgICAgKCJwIiAic3dpdGNo IHRvIHByZXZpb3VzIHJldmlzaW9uIiB2Yy10bS1yZXZpc2lvbi1wcmV2aW91cykKKyAgICAoImoi ICJzd2l0Y2ggdG8gaSd0aCByZXZpc2lvbiIgdmMtdG0tcmV2aXNpb24tbnRoKQorICAgICgicyIg InN3aXRjaCB0byBzdWJqZWN0IHJldmlzaW9uIiB2Yy10bS1yZXZpc2lvbi1jb21wbGV0ZS1zdWJq ZWN0KV1dCisgIFsiUmV2aXNpb24gSUQgdG8ga2lsbCByaW5nIgorICAgWygidyIgImFiYnJldmlh dGVkIHJldmlzaW9uIGlkIiB2Yy10bS1hYmJyZXZpYXRlZC1yZXZpc2lvbi10by1raWxsLXJpbmcp CisgICAgKCJXIiAiZnVsbCByZXZpc2lvbiBpZCIgdmMtdG0tcmV2aXNpb24tdG8ta2lsbC1yaW5n KV1dCisgIFsiTWlzYyIKKyAgIFsgOzsgKCJCIiAiYmxhbWUgY3VycmVudCByZXZpc2lvbiIgdmMt dG0tYmxhbWUpCis7OyAgKCJDIiAidmlldyBjb21taXQiIHZjLXRtLXNob3ctY29tbWl0KQorICAg ICgiPyIgInNob3cgaGVscCIgdmMtdG0taGVscCkKKyAgICAoInEiICJxdWl0IiB2Yy10bS1xdWl0 KV1dKQorCisoZGVmaW5lLW1pbm9yLW1vZGUgdmMtdG0tbW9kZQorICAiVkMgVGltZW1hY2hpbmUs IGZlZWwgdGhlIHdpbmdzIG9mIGhpc3RvcnkuIgorICA6aW5pdC12YWx1ZSBuaWwKKyAgOmxpZ2h0 ZXIgIiBUTSIKKyAgOmtleW1hcAorICAnKCgiLCIgLiB2Yy10bS1yZXZpc2lvbi1oZWFkKQorICAg ICgifiIgLiB2Yy10bS1yZXZpc2lvbi1zZWxlY3QpCis7OyAgKCJCIiAuIHZjLXRtLWJsYW1lKQor OzsgICgiQyIgLiB2Yy10bS1zaG93LWNvbW1pdCkKKyAgICAoImoiIC4gdmMtdG0tcmV2aXNpb24t bnRoKQorICAgICgibiIgLiB2Yy10bS1yZXZpc2lvbi1uZXh0KQorICAgICgicCIgLiB2Yy10bS1y ZXZpc2lvbi1wcmV2aW91cykKKyAgICAoInEiIC4gdmMtdG0tcXVpdCkKKyAgICAoInMiIC4gdmMt dG0tcmV2aXNpb24tY29tcGxldGUtc3ViamVjdCkKKyAgICAoIlMiIC4gdmMtdG0tcmV2aXNpb24t Y29tcGxldGUtc3ViamVjdCkgOyBpbiB2Yy1tb2RlICJzIiBpcyB2Yy1jcmVhdGUtdGFnCisgICAg KCJ3IiAuIHZjLXRtLWFiYnJldmlhdGVkLXJldmlzaW9uLXRvLWtpbGwtcmluZykKKyAgICAoIlci IC4gdmMtdG0tcmV2aXNpb24tdG8ta2lsbC1yaW5nKQorICAgICgiPyIgLiB2Yy10bS1oZWxwKSkK KyAgOmdyb3VwICd2Yy10aW1lbWFjaGluZSkKKworKHByb3ZpZGUgJ3ZjLXRpbWVtYWNoaW5lKQor Cis7OzsgdmMtdGltZW1hY2hpbmUuZWwgZW5kcyBoZXJlCmRpZmYgLS1naXQgYS9saXNwL3ZjL3Zj LmVsIGIvbGlzcC92Yy92Yy5lbAppbmRleCA1Njk3N2NiZTE2Li44OGVjMzM3NmM0IDEwMDY0NAot LS0gYS9saXNwL3ZjL3ZjLmVsCisrKyBiL2xpc3AvdmMvdmMuZWwKQEAgLTQ1NCw2ICs0NTQsNDQg QEAKIDs7ICAgUmV0dXJuIHRoZSBtb3N0IHJlY2VudCByZXZpc2lvbiBvZiBGSUxFIHRoYXQgbWFk ZSBhIGNoYW5nZQogOzsgICBvbiBMSU5FLgogCis7OyBUSU1FTUFDSElORQorOzsKKzs7IFRvIHN1 cHBvcnQgVE0gYSBiYWNrZW5kIG11c3QgaW1wbGVtZW50OgorOzsKKzs7IC0gdG0tcmV2aXNpb25z IChmaWxlICZvcHRpb25hbCBicmFuY2gpCis7OworOzsgICBSZXR1cm4gYSBsaXN0IG9mIHJldmlz aW9uLWluZm9zIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHJldmlzaW9ucyBtb2RpZnlpbmcKKzs7ICAg RklMRSBvbiBCUkFOQ0ggd2l0aGluIFRIRSBWQ1MnUyByb290LWRpci4gIFdoZW4gQlJBTkNIIGlz IHByZXNlbnQgaXQKKzs7ICAgd2lsbCBtYXRjaCB0aGF0IG9mIHdvcmtpbmcgRklMRS4KKzs7Cis7 OyAgIEEgcmV2aXNpb24taW5mbyBpcyBhIGxpc3QgKFJFVklTSU9OLUlEIERBVEUgU1VCSkVDVCBB VVRIT1IgUkVMLUZJTEUpOgorOzsKKzs7ICAgLSBSRVZJU0lPTi1JRDogIHRoZSBWQ1MncyB1bmlx dWUgaWRlbnRpZmljYXRpb24gb2YgYSByZXZpc2lvbgorOzsgICAtIERBVEU6ICAgICAgICAgcmV2 aXNpb24gY3JlYXRpb24gZGF0ZSBmb3JtYXR0ZWQgYnkgdmMtdG0tZm9ybWF0LWRhdGUKKzs7ICAg LSBTVUJKRUNUOiAgICAgIGZpcnN0IGxpbmUgb2YgbWVzc2FnZSBzdXBwbGllZCBhdCByZXZpc2lv bidzIGNyZWF0aW9uCis7OyAgIC0gQVVUSE9SOiAgICAgICBzb21lIGluZGljYXRpb24gb2YgdGhl IHJldmlzaW9uJ3MgYXV0aG9yCis7OyAgIC0gUkVMLUZJTEU6ICAgICBWQ1Mgcm9vdC1yZWxhdGl2 ZSBwYXRoIHRvIGZpbGUKKzs7Cis7OyAgIFRoZSBoZWFkIG9mIHRoZSBsaXN0IHNob3VsZCBkZXNj cmliZSB0aGUgb2xkZXN0IHJldmlzaW9uLiAgVGhlIHRhaWwgb2YKKzs7ICAgdGhlIGxpc3Qgc2hv dWxkIGRlc2NyaWJlIHRoZSBuZXdlc3QgcmV2aXNpb24uCis7OworOzsgLSB0bS1tYXAtbGluZSAo cmVsLWZpbGUgZnJvbS1yZXZpc2lvbiBmcm9tLWxpbmUgdG8tcmV2aXNpb24gZnJvbS1pcy1vbGRl cikKKzs7Cis7OyAgIFJldHVybiBUTy1SRVZJU0lPTidzIGxpbmUgY29ycmVzcG9uZGluZyB0byBG Uk9NLVJFVklTSU9OJ3MgRlJPTS1MSU5FLgorOzsgICBGUk9NLVJFVklTSU9OIGFuZCBUTy1SRVZJ U0lPTiBhcmUgZ3VhcmFudGVlZCBkaXN0aW5jdC4gIEZST00tSVMtT0xERVIKKzs7ICAgaW5kaWNh dGVzIHJlbGF0aXZlIHRlbXBvcmFsIG9yZGVyaW5nIG9mIEZST00tUkVWSVNJT04gYW5kIFRPLVJF VklTSU9OCis7OyAgIG9uIHRoZSBicmFuY2guCis7OworOzsgICBPbiBlbnRyeSBkZWZhdWx0LWRp cmVjdG9yeSBpcyB0aGUgVkNTJ3MgYWJzLXJvb3QsIFJFTC1GSUxFIGlzIHRoZSBwYXRoCis7OyAg IHJlbGF0aXZlIHRvIHRoZSBmaWxlIGJlaW5nIGRpc3BsYXllZCBhbmQgdGhlIGN1cnJlbnQtYnVm ZmVyIGlzIGFuIGVtcHR5Cis7OyAgIHRlbXBvcmFyeSBidWZmZXIuCis7OworOzsgICBWQyBzdXBw bGllcyBhIHRyaXZpYWwgdmMtZGVmYXVsdC10bS1tYXAtbGluZS4gIEl0IHJldHVybnMgRlJPTS1M SU5FLAorOzsgICBlZmZlY3RpdmVseSBhc3NlcnRpbmcgdGhhdCB0aGUgY29ycmVzcG9uZGluZyBs aW5lIGluIHRoZSBUTy1SRVZJU0lPTgorOzsgICBvY2N1cnMgYXQgZXhhY3RseSB0aGUgc2FtZSBs aW5lIG51bWJlci4gIHZjLWdpdC5lbCdzIGltcGxlbWVudGF0aW9uCis7OyAgIGlzIGNvbXBsZXRl IGFuZCByZWFzb25hYmx5IHVuZGVyc3RhbmRhYmxlLiAgKFVuZm9ydHVuYXRlbHksIGl0IHVzZXMK Kzs7ICAgbWFueSB1bmlxdWUgZmVhdHVyZXMgb2YgZ2l0IGJsYW1lIHRoYXQgbWF5IG5vdCBleGlz dCBpbiBvdGhlciBWQ1NzLikKKwogOzsgVEFHL0JSQU5DSCBTWVNURU0KIDs7CiA7OyAtIGNyZWF0 ZS10YWcgKGRpciBuYW1lIGJyYW5jaHApCkBAIC0xMTk2LDEwICsxMjM0LDExIEBAIHZjLWVuc3Vy ZS12Yy1idWZmZXIKIAkJOzsgY3VycmVudCBidWZmZXIgYXJlIHRoZSBzYW1lIGJ1ZmZlci4KICAJ CShub3QgKGVxIHZjLXBhcmVudC1idWZmZXIgKGN1cnJlbnQtYnVmZmVyKSkpKQogICAgICAgKHNl dC1idWZmZXIgdmMtcGFyZW50LWJ1ZmZlcikpKSkKLSAgKGlmIChub3QgYnVmZmVyLWZpbGUtbmFt ZSkKLSAgICAgIChlcnJvciAiQnVmZmVyICVzIGlzIG5vdCBhc3NvY2lhdGVkIHdpdGggYSBmaWxl IiAoYnVmZmVyLW5hbWUpKQotICAgICh1bmxlc3MgKHZjLWJhY2tlbmQgYnVmZmVyLWZpbGUtbmFt ZSkKLSAgICAgIChlcnJvciAiRmlsZSAlcyBpcyBub3QgdW5kZXIgdmVyc2lvbiBjb250cm9sIiBi dWZmZXItZmlsZS1uYW1lKSkpKQorICAoY29uZAorICAgKChub3QgYnVmZmVyLWZpbGUtbmFtZSkK KyAgICAoZXJyb3IgIkJ1ZmZlciAnJXMnIGlzIG5vdCBhc3NvY2lhdGVkIHdpdGggYSBmaWxlIiAo YnVmZmVyLW5hbWUpKSkKKyAgICgodW5sZXNzICh2Yy1iYWNrZW5kIGJ1ZmZlci1maWxlLW5hbWUp CisgICAgICAoZXJyb3IgIkZpbGUgJyVzJyBpcyBub3QgdW5kZXIgdmVyc2lvbiBjb250cm9sIiBi dWZmZXItZmlsZS1uYW1lKSkpKSkKIAogOzs7IFN1cHBvcnQgZm9yIHRoZSBDLXggdiB2IGNvbW1h bmQuCiA7OyBUaGlzIGlzIHdoZXJlIGFsbCB0aGUgc2luZ2xlLWZpbGUtb3JpZW50ZWQgY29kZSBm cm9tIGJlZm9yZSB0aGUgZmlsZXNldAotLSAKMi4zNy4yCgo= --0000000000002ddb5005f3224a44 Content-Type: text/x-patch; charset="US-ASCII"; name="0003-Introduce-vc-bos-backup-on-save-to-an-RCS-file.patch" Content-Disposition: attachment; filename="0003-Introduce-vc-bos-backup-on-save-to-an-RCS-file.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_ldciswc30 RnJvbSA3N2FiMDZjZjllMmJkM2RiZTg3OGRmNWJiMDdlYWRiYTVkYWRkYzQ3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiSm9obiBTLiBZYXRlcywgSnIiIDxqb2huQHlhdGVzLXNoZWV0 cy5vcmc+CkRhdGU6IFdlZCwgMjUgSmFuIDIwMjMgMjA6NTg6NTkgLTA1MDAKU3ViamVjdDogW1BB VENIIDMvM10gSW50cm9kdWNlIHZjLWJvczogYmFja3VwIG9uIHNhdmUgKHRvIGFuIFJDUyBmaWxl KQoKVGhlIGRyZWFtIG9mIHRoaXMgdmMtYm9zIGNhcGFiaWxpdHkgd2FzIHdoYXQgZmlyc3QgZ290 IG1lIHdvcmtpbmcgb24KdmMtdGltZW1hY2hpbmUuICBGcm9tIHZjLWJvcy5lbCdzIGZyb250LW1h dHRlcjoKCiAgICA7OyBNb2Rlcm4gdmVyc2lvbiBjb250cm9sIHN5c3RlbXMsIHN1Y2ggYXMgZ2l0 LCBhcmUgd29uZGVyZnVsLiAgQnV0IHRoZXkKICAgIDs7IGhhdmUgZHJhd2JhY2tzIHdoZW4gZGVh bGluZyB3aXRoIGxpZ2h0d2VpZ2h0IHNhdmUgb3BlcmF0aW9uczoKICAgIDs7CiAgICA7OyAqIFRv byBpbnZhc2l2ZTogbmV3IHJldmlzaW9ucyBhcmUgY3JlYXRlZCBvbmx5IGJ5IGV4cGxpY2l0bHkg YWN0aW9uOwogICAgOzsgICB0aGlzIGluY2x1ZGVzIHN1cHBseWluZyBhIGNvbW1pdCBtZXNzYWdl IChldmVuIGlmIGVtcHR5KQogICAgOzsgKiBUb28gY29hcnNlOiBhIHJldmlzaW9uIGNhcHR1cmVz IGFuIGVudGlyZSAicHJvamVjdCIKICAgIDs7ICogVG9vIHNtYXJ0OiBldmVuIGZpbGVzIGxpc3Rl ZCBpbiAuZ2l0aWdub3JlIChvciBlcXVpdmFsZW50KSByZW1haW4KICAgIDs7ICAgZWxpZ2libGUg Zm9yIGVkdGluZyBhbmQgaGVuY2UgZGVzZXJ2ZSB0byBnZXQgYmFja2VkLXVwCiAgICA7OyAqIFJl cXVpcmVzIHNldHVwOiB3aGF0IGFib3V0IGZpbGVzIHRoYXQgaGF2ZSBubyBwcm9qZWN0PwogICAg OzsKICAgIDs7IEVudGVyIHZjLWJvcy4uLgogICAgOzsKICAgIDs7IHZjLWJvcyBwcm92aWRlcyBl YXN5IGFjY2VzcyB0byBwYXN0IHJldmlzaW9ucyBvZiBlZGl0ZWQgZmlsZXMgYnkKICAgIDs7IGlu dGVncmF0aW5nIHdpdGggVkMncyB0aW1lbWFjaGluZSBmdW5jdGlvbmFsaXR5LiAgVG8gZG8gdGhp cyBpdAogICAgOzsgcmVxdWlyZXMgdGhhdCBWQydzIHZjLWNhY2hlLXJvb3QgYmUgc2V0IGFuZCB0 aGF0IGl0IGhhdmUgJy9SQ1MnIGFzCiAgICA7OyBvbmUgb2YgaXRzIGRpcmVjdG9yeSBjb21wb25l bnRzICh0eXBpY2FsbHkgdGhlIGxhc3QpLgogICAgOzsKICAgIDs7IEdpdmVuIHN1Y2ggYSBjb25m aWd1cmF0aW9uLCB2Yy1ib3MgbWFpbnRhaW5zIGEgbWlycm9yIHRyZWUgb2YgUkNTCiAgICA7OyBj b250cm9sIGZpbGVzIGJlbG93IHZjLWNhY2hlLXJvb3QuICBBIGNvbnRyb2wgZmlsZSBhcHBlYXJz IGF0IHRoZQogICAgOzsgc2FtZSBwb3NpdGlvbiBhbmQgaGFzIGV4YWN0bHkgdGhlIHNhbWUgbmFt ZSBhcyB0aGUgZmlsZSB0aGF0IGl0CiAgICA7OyB0cmFja3MgKG1lYW5pbmcgbm8gJyx2JyBzdWZm aXgpLiAgVGhpcyB3b3JrcyBiZWNhdXNlIFJDUyB0cmVhdHMKICAgIDs7ICphbnkqIGZpbGUgKmFu eXdoZXJlKiBiZW5lYXRoIGFuIFJDUyBkaXJlY3RvcnkgYXMgYSBjb250cm9sIGZpbGUuCiAgICA7 OwogICAgOzsgT24gRklSU1QgY2hhbmdlIGFuZCBFVkVSWSBzdWJzZXF1ZW50IHNhdmUgY3gtYm9z OgogICAgOzsKICAgIDs7ICogUXVhbGlmaWVzIHRoZSBidWZmZXIncyBwYXRoCiAgICA7OyAqIEVu c3VyZXMgZXhpc3RlbmNlIG9mIGEgbWlycm9yIGRpcmVjdG9yeSBiZW5lYXRoIHZjLWNhY2hlLXJv b3QKICAgIDs7ICogUmVjb3JkcyB0aGUgbmV3bHkgc2F2ZWQgZmlsZSBhcyB0aGUgbGF0ZXN0IFJD UyByZXZpc2lvbiB3aXRoCiAgICA7OyAgIGFuIGVtcHR5IGNvbW1pdCBtZXNzYWdlCiAgICA7Owog ICAgOzsgdmMtYm9zJ3MgdHJhY2tpbmcgaXMgaW5kZXBlbmRlbnQgb2Ygd2hldGhlciBhIGZpbGUg aXMgdHJhY2sgYnkKICAgIDs7IGFueSBvdGhlciBWQ1MuCgpUaHVzLCB2Yy1ib3MgaXMgYm90aCBh IG1pbmltYWxseSBpbnZhc2l2ZSB3YXkgdG8gY2FwdHVyZSBzYXZlIGhpc3RvcnkgZm9yCmFyYml0 cmFyeSBmaWxlcyBhbmQgYSBjb252ZW5pZW50IHdheSBvZiBhY2Nlc3MgdGhhdCBoaXN0b3J5LgoK PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQoKdmMtYm9zIGxldmVyYWdlcyB2Yy10aW1lbWFjaGluZSB0byBw cm92aWRlIGVhc3kgYWNjZXNzIHRvIHJldmlzaW9ucwpyZWNvcmRlZCBhdCB0aGUgcG9pbnQgb2Yg c2F2aW5nIGEgZmlsZS4gIEl0IGlzIGltcGxlbWVudGVkIGFzIGEgbmV3Cm1pbm9yIG1vZGUuCgoq IHZjLWJvcy5lbDogbmV3IGZpbGU7IGltcGxlbWVudHMgYW4gZXh0cmVtZWx5IG1pbmltYWwgdmMg YmFja2VuZAoqIHZjLXJjcy5lbCAodmMtcmNzLXRtLXJldmlzaW9ucyk6IHNwbGl0IG91dCB2Yy1y Y3MtdG0tcmV2aXNpb25zLXBhcnNlLWxvZwogIHNvIHRoYXQgaXQgY2FuIGJlIHNoYXJlZCB3aXRo IHZjLWJvcy10bS1yZXZpc2lvbnMuCiAgKHZjLXJjcy10bS1yZXZpc2lvbnMtcGFyc2UtbG9nKTog cmVjb3JkIGVtcHR5IHN1YmplY3QgYXMgbmlsIGluc3RlYWQgb2YgIiIKKiB2Yy10aW1lbWFjaGlu ZSAodmMtdG0tcmV2aXNpb24taGVhZCk6IHdoZW4gcHJlZml4IGFyZyBpcyBwcmVzZW50IGJpbmQg bmV3CiAgdmMtZm9yY2UtYm9zIHRvIHRyaWdnZXIgdXNlIG9mIHZjLWJvcyBiYWNrZW5kIChldmVu IHdoZW4gZmlsZSBpcyByZWdpc3RlcmVkCiAgd2l0aCBzb21lIG90aGVyIHZjIGJhY2tlbmQpCiAg KHZjLXRtLS1zd2l0Y2gtdG8tcmV2aXNpb24pOiBwYXNzIHRtYnVmLS1iYWNrZW5kIHZjLWZpbmQt cmV2aXNpb24gc28gYXMgdG8KICBwcm9wYWdhdGUgYm9zIGhhbmRsaW5nCiAgKHZjLXRtLS1zaG93 LWVjaG8tYXJlYS1kZXRhaWxzKTogaWYgYmFja2VuZCBpcyAnYm9zIHRoZW4gc3VwcHJlc3Mgd29y dGhsZXNzCiAgYXV0aG9yIGFuZCBzdWJqZWN0CiAgKiB2Yy5lbCAodmMtZW5zdXJlLXZjLWJ1ZmZl cik6IGltcHJvdmUgZGlhZ25vc3RpYyB3aGVuIHVzZXIgYXR0ZW1wdCB0bwogIGluaXRpYXRlIGEg dGltZW1hY2hpbmUgb24gYSBmaWxlIHRoYXQgaXMgbm90IHJlZ2lzdGVyIHdpdGggYW55IHZjIGJh Y2tlbmQKICAodmMtZmluZC1yZXZpc2lvbik6IGNhbGwgdmMtYm9zLWZpbmQtcmV2aXNpb24gd2hl biBiYWNrZW5kIGlzICdib3MKLS0tCiBsaXNwL3ZjL3ZjLWJvcy5lbCAgICAgICAgIHwgMjA3ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBsaXNwL3ZjL3ZjLWdpdC5lbCAg ICAgICAgIHwgICAyIC0KIGxpc3AvdmMvdmMtcmNzLmVsICAgICAgICAgfCAgIDIgKy0KIGxpc3Av dmMvdmMtdGltZW1hY2hpbmUuZWwgfCAgNDAgKysrKystLS0KIGxpc3AvdmMvdmMuZWwgICAgICAg ICAgICAgfCAgMjggKysrKystCiA1IGZpbGVzIGNoYW5nZWQsIDI1NyBpbnNlcnRpb25zKCspLCAy MiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaXNwL3ZjL3ZjLWJvcy5lbAoKZGlm ZiAtLWdpdCBhL2xpc3AvdmMvdmMtYm9zLmVsIGIvbGlzcC92Yy92Yy1ib3MuZWwKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uZTY4OWEyY2RhMwotLS0gL2Rldi9udWxsCisr KyBiL2xpc3AvdmMvdmMtYm9zLmVsCkBAIC0wLDAgKzEsMjA3IEBACis7OzsgdmMtYm9zLmVsIC0t LSBWQyBCYWNrdXAgT24gU2F2ZSAodG8gUkNTKQorCis7OyBDb3B5cmlnaHQgKEMpIDIwMjMgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisKKzs7IEF1dGhvcjogQmVuamFtaW4gUnV0dCA8 YnJ1dHRAYmxvb21pbmd0b24uaW4udXM+Cis7OyBNYWludGFpbmVyOiBDb25vciBOYXNoIDxjb25v ckBuYXNoY29idXNpbmVzc3NlcnZpY2VzbGxjLmNvbT4KKzs7IE1haW50YWluZXI6IEpvaG4gUy4g WWF0ZXMsIEpyLiA8am9obkB5YXRlcy1zaGVldHMub3JnPgorOzsgVmVyc2lvbjogMC44CisKKzs7 IFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IgbW9kaWZ5Cis7OyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorOzsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv bjsgZWl0aGVyIHZlcnNpb24gMiwgb3IgKGF0IHlvdXIgb3B0aW9uKQorOzsgYW55IGxhdGVyIHZl cnNpb24uCisKKzs7IFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0 IHdpbGwgYmUgdXNlZnVsLAorOzsgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2 ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKzs7IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKzs7IEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKzs7IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl ZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCis7OyBhbG9uZyB3aXRo IEdOVSBFbWFjczsgc2VlIHRoZSBmaWxlIENPUFlJTkcuICBJZiBub3QsIHdyaXRlIHRvCis7OyB0 aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0 ZSAzMzAsCis7OyBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4KKworOzs7IENyZWRpdHM6Cis7 OworOzsgQXV0aG9yOiAgICAgQmVuamFtaW4gUnV0dCAgICAgIDxicnV0dEBibG9vbWluZ3Rvbi5p bi51cz4KKzs7IE1haW50YWluZXI6IEpvaG4gUy4gWWF0ZXMsIEpyLiA8am9obkB5YXRlcy1zaGVl dHMub3JnPgorCis7OzsgQ29tbWVudGFyeToKKworOzsgRGVyaXZlZCBmcm9tIGFuZCB0aGVuIGhl YXZpbHkgbW9kaWZpZWQ6Cis7OyAgIGh0dHBzOi8vd3d3LmVtYWNzd2lraS5vcmcvZW1hY3MvYmFj a3VwLWVhY2gtc2F2ZS5lbAorOzsKKzs7IE1vZGVybiB2ZXJzaW9uIGNvbnRyb2wgc3lzdGVtLCBz dWNoIGFzIGdpdCwgYXJlIHdvbmRlcmZ1bC4gIEJ1dCB0aGV5Cis7OyBoYXZlIGRyYXdiYWNrcyB3 aGVuIGRlYWxpbmcgd2l0aCBsaWdodHdlaWdodCBzYXZlIG9wZXJhdGlvbnM6Cis7OworOzsgKiBU b28gaW52YXNpdmU6IG5ldyByZXZpc2lvbnMgYXJlIGNyZWF0ZWQgb25seSBieSBleHBsaWNpdGx5 IGFjdGlvbjsKKzs7ICAgdGhpcyBpbmNsdWRlcyBzdXBwbHlpbmcgYSBjb21taXQgbWVzc2FnZSAo ZXZlbiBpZiBlbXB0eSkKKzs7ICogVG9vIGNvYXJzZTogYSByZXZpc2lvbiBjYXB0dXJlcyBhbiBl bnRpcmUgInByb2plY3QiCis7OyAqIFRvbyBzbWFydDogZXZlbiBmaWxlcyBsaXN0ZWQgaW4gLmdp dGlnbm9yZSAob3IgZXF1aXZhbGVudCkgcmVtYWluCis7OyAgIGVsaWdpYmxlIGZvciBlZHRpbmcg YW5kIGhlbmNlIGRlc2VydmUgdG8gZ2V0IGJhY2tlZC11cAorOzsgKiBSZXF1aXJlcyBzZXR1cDog d2hhdCBhYm91dCBmaWxlcyB0aGF0IGhhdmUgbm8gcHJvamVjdD8KKzs7Cis7OyBFbnRlciB2Yy1i b3MuLi4KKzs7Cis7OyB2Yy1ib3MgcHJvdmlkZXMgZWFzeSBhY2Nlc3MgdG8gcGFzdCByZXZpc2lv bnMgb2YgZWRpdGVkIGZpbGVzIGJ5Cis7OyBpbnRlZ3JhdGluZyB3aXRoIFZDJ3MgdGltZW1hY2hp bmUgZnVuY3Rpb25hbGl0eS4gIFRvIGRvIHRoaXMgaXQKKzs7IHJlcXVpcmVzIHRoYXQgVkMncyB2 Yy1jYWNoZS1yb290IGJlIHNldCBhbmQgdGhhdCBpdCBoYXZlICcvUkNTJyBhcworOzsgb25lIG9m IGl0cyBkaXJlY3RvcnkgY29tcG9uZW50cyAodHlwaWNhbGx5IHRoZSBsYXN0KS4KKzs7Cis7OyBH aXZlbiBzdWNoIGEgY29uZmlndXJhdGlvbiwgdmMtYm9zIG1haW50YWlucyBhIG1pcnJvciB0cmVl IG9mIFJDUworOzsgY29udHJvbCBmaWxlcyBiZWxvdyB2Yy1jYWNoZS1yb290LiAgQSBjb250cm9s IGZpbGUgYXBwZWFycyBhdCB0aGUKKzs7IHNhbWUgcG9zaXRpb24gYW5kIGhhcyBleGFjdGx5IHRo ZSBzYW1lIG5hbWUgYXMgdGhlIGZpbGUgdGhhdCBpdAorOzsgdHJhY2tzIChtZWFuaW5nIG5vICcs dicgc3VmZml4KS4gIFRoaXMgd29ya3MgYmVjYXVzZSBSQ1MgdHJlYXRzCis7OyAqYW55KiBmaWxl ICphbnl3aGVyZSogYmVuZWF0aCBhbiBSQ1MgZGlyZWN0b3J5IGFzIGEgY29udHJvbCBmaWxlLgor OzsKKzs7IE9uIEZJUlNUIGNoYW5nZSBhbmQgRVZFUlkgc3Vic2VxdWVudCBzYXZlIGN4LWJvczoK Kzs7Cis7OyAqIFF1YWxpZmllcyB0aGUgYnVmZmVyJ3MgcGF0aAorOzsgKiBFbnN1cmVzIGV4aXN0 ZW5jZSBvZiBhIG1pcnJvciBkaXJlY3RvcnkgYmVuZWF0aCB2Yy1jYWNoZS1yb290Cis7OyAqIFJl Y29yZHMgdGhlIG5ld2x5IHNhdmVkIGZpbGUgYXMgdGhlIGxhdGVzdCBSQ1MgcmV2aXNpb24gd2l0 aAorOzsgICBhbiBlbXB0eSBjb21taXQgbWVzc2FnZQorOzsKKzs7IHZjLWJvcydzIHRyYWNraW5n IGlzIGluZGVwZW5kZW50IG9mIHdoZXRoZXIgYSBmaWxlIGlzIHRyYWNrIGJ5Cis7OyBhbnkgb3Ro ZXIgVkNTLgorOzsKKzs7IHZjLWJvcyByZXF1aXJlcyB0aGF0IHRoZSByY3MgZXhlY3V0YWJsZSBi ZSBhdmFpbGFibGUgKHR5cGljYWxseQorOzsgaW5zdGFsbGVkIGF0IC91c3IvYmluL3JjcykuCis7 OworOzsgVG8gYWN0aXZhdGUgZ2xvYmFsbHksIHBsYWNlIHRoaXMgZmlsZSBpbiB5b3VyIGBsb2Fk LXBhdGgnLCBlbnN1cmUKKzs7IHRoYXQgdmMtY2FjaGUtcm9vdCBpcyBzZXQsIHRoZW4gYWRkIHRo ZSBmb2xsb3dpbmcgdG8geW91ciBpbml0LmVsOgorOzsKKzs7ICAgICAodmMtYm9zLW1vZGUgdCkK Kzs7Cis7OyBUbyBmaWx0ZXIgd2hpY2ggZmlsZXMgdmMtYm9zIGJhY2tzIHVwLCBzZXR1cCBhIGN1 c3RvbSBmdW5jdGlvbiBmb3IKKzs7IGB2Yy1ib3MtZmlsdGVyLWZ1bmN0aW9uJy4gIEZvciBleGFt cGxlLCB0byBmaWx0ZXIgb3V0IHRoZSBzYXZpbmcgb2YKKzs7IGdudXMgLm5ld3NyYy5lbGQgZmls ZXMsIGRvOgorOzsKKzs7ICAgICAoZGVmdW4gdmMtYm9zLW5vLW5ld3NyYy1lbGQgKGZpbGVuYW1l KQorOzsgICAgICAgKGNvbmQKKzs7ICAgICAgICAoKHN0cmluZz0gKGZpbGUtbmFtZS1ub25kaXJl Y3RvcnkgZmlsZW5hbWUpICIubmV3c3JjLmVsZCIpIG5pbCkKKzs7ICAgICAgICAodCB0KSkpCis7 OyAgICAgKHNldHEgdmMtYm9zLWZpbHRlci1mdW5jdGlvbiAnYm9zLW5vLW5ld3NyYy1lbGQpCisK Kzs7OyBUb2RvOgorOzsKKzs7ICogZ2FyYmFnZSBjb2xsZWN0aW9uOiBpdCB3b3VsZCBiZSBuaWNl IHRvIGhhdmUgYSBjcm9uIHNjcmlwdCB0byBwdXJnZQorOzsgICBhbmNpZW50IHJldmlzaW9ucwor Cis7OzsgTm90ZXM6CisKKzs7OyBDb2RlOgorCisocmVxdWlyZSAndmMtaG9va3MpCisocmVxdWly ZSAndmMtcmNzKQorCisKKyhkZWZncm91cCB2Yy1ib3MgbmlsCisgICJCYWNrdXAgT24gU2F2ZSAo dG8gYW4gUkNTIGZpbGUpLiIKKyAgOmdyb3VwICd2Yy10aW1lbWFjaGluZQorICA6Z3JvdXAgJ2Jh Y2t1cAorICA6dmVyc2lvbiAiMzAuMSIpCisKKyhkZWZjdXN0b20gdmMtYm9zLXJlbW90ZS1maWxl cyBuaWwKKyAgIldoZXRoZXIgdG8gYmFja3VwIHJlbW90ZSBmaWxlcyBhdCBlYWNoIHNhdmUgKG9m ZiBieSBkZWZhdWx0KS4iCisgIDp0eXBlICdib29sZWFuCisgIDpncm91cCAndmMtYm9zCisgIDp2 ZXJzaW9uICIzMC4xIikKKworKGRlZmN1c3RvbSB2Yy1ib3MtZmlsdGVyLWZ1bmN0aW9uICMnaWRl bnRpdHkKKyAgIkZ1bmN0aW9uIHdoaWNoIHNob3VsZCByZXR1cm4gbm9uLW5pbCBpZiB0aGUgZmls ZSBzaG91bGQgYmUgYmFja2VkIHVwLiIKKyAgOnR5cGUgJ2Z1bmN0aW9uCisgIDpncm91cCAndmMt Ym9zCisgIDp2ZXJzaW9uICIzMC4xIikKKworKGRlZmN1c3RvbSB2Yy1ib3Mtc2l6ZS1saW1pdCA1 MDAwMAorICAiTWF4aW11bSBzaXplIChpbiBieXRlKSBiZXlvbmQgd2hpY2ggYSBmaWxlIHdpbGwg bm90IGdldCBiYWNrZWQtdXAuCitTZXR0aW5nIHRoaXMgdmFyaWFibGUgdG8gbmlsIGRpc2FibGVz IHRoZSBzaXplIGNoZWNrLiIKKyAgOnR5cGUgJ25hdG51bQorICA6Z3JvdXAgJ3ZjLWJvcworICA6 dmVyc2lvbiAiMzAuMSIpCisKKyhkZWZjdXN0b20gdmMtYm9zLXJjcyAiL3Vzci9iaW4vcmNzIgor ICAiUGF0aCB0byB0aGUgcmNzIGV4ZWN1dGFibGUgKHJlcXVpcmVkIGZvciB2Yy1ib3MgZnVuY3Rp b25hbGl0eSkuIgorICA6dHlwZSAnKGZpbGUgOm11c3QtbWF0Y2ggdCkKKyAgOmdyb3VwICd2Yy1i b3MKKyAgOnZlcnNpb24gIjMwLjEiKQorCisoZGVmY29uc3QgdmMtYm9zLXdpdG5lc3Nlcy1yZWdl eAorICAiL1xcKFNDQ1NcXHxSQ1NcXHxDVlNcXHxNQ1ZTXFx8Wy5dc3JjXFx8Wy5dc3ZuXFx8Wy5d Z2l0XFx8Wy5daGdcXHxbLl1ienJcXHxfTVROXFx8X2RhcmNzXFx8W3tdYXJjaFt9XVxcKS8iCisg ICJXcml0ZXMgdG8gYW55IHBvaW50IGJlbG93IG9uZSBvZiB0aGVzZSB3aXRuZXNzZXMgc2hvdWxk IGJlIGlnbm9yZWQuCisKK0ZJWE1FOiBUaGlzIGlzIGEgcmVnZXgtaWZpZWQgY29weSBvZiB2Yy1o b29rcydzIHZjLWRpcmVjdG9yeS1leGNsdXNpb24tbGlzdC4iKQorCisKKzs7IFRoaXMgaW1wbGVt ZW50YXRpb24gZG9lcyBub3QgaGFuZGxlIFJDUyBicmFuY2hlcy4KKzs7OyMjI2F1dG9sb2FkCiso ZGVmdW4gdmMtYm9zLXRtLXJldmlzaW9ucyAoZmlsZSkKKyAgIlJldHVybiBkYXRhIGFib3V0IGJh Y2t1cC1vbi1zYXZlIHJldmlzaW9ucyBvZiBGSUxFLiIKKyAgKGxldCAoKG1hc3Rlci1maWxlIChj b25jYXQgdmMtY2FjaGUtcm9vdCBmaWxlKSkpCisgICAgKHZjLWRvLWNvbW1hbmQgdCAwIHZjLWJv cy1yY3MgbWFzdGVyLWZpbGUgImxvZyIpKQorICAodmMtcmNzLXRtLXJldmlzaW9ucy1wYXJzZS1s b2cgZmlsZSkpCisKKzs7OyMjI2F1dG9sb2FkCisoZGVmdW4gdmMtYm9zLWZpbmQtcmV2aXNpb24g KGZpbGUgcmV2IGJ1ZmZlcikKKyAgIlJldHVybiBpbiBCVUZGRVIgRklMRSdzIGJhY2t1cC1vbi1z YXZlIHJldmlzaW9uIFJFVi4iCisgIChsZXQgKChtYXN0ZXItZmlsZSAoY29uY2F0IHZjLWNhY2hl LXJvb3QgZmlsZSkpKQorICAgICh2Yy1kby1jb21tYW5kIChvciBidWZmZXIgIip2YyoiKSAwIHZj LWJvcy1yY3MgbWFzdGVyLWZpbGUgImNvIiAiLXEiIChjb25jYXQgIi1wIiByZXYpKSkpCisKKzs7 IDs7OyMjI2F1dG9sb2FkCis7OyAoZGVmdW4gdmMtYm9zLXRtLW1hcC1saW5lIChmaWxlIGZyb20t cmV2aXNpb24gZnJvbS1saW5lIHRvLXJldmlzaW9uIGZyb20taXMtb2xkZXIpCis7OyAgICJSZXR1 cm4gVE8tUkVWSVNJT04ncyBsaW5lIGNvcnJlc3BvbmRpbmcgdG8gRlJPTS1SRVZJU0lPTidzIEZS T00tTElORS4KKzs7IE9uIGVudHJ5IHRoZSBjdXJyZW50LWJ1ZmZlciBpcyBhbiBlbXB0eSB0ZW1w b3JhcnkgYnVmZmVyLiIKKzs7Cis7OyAgIChtZXNzYWdlICJcbiA9PSB2Yy1ib3MtdG0tbWFwLWxp bmUgPT1cbiIpCis7OyAgIGZyb20tbGluZSkKKworKGRlZnVuIHZjLWJvcy1hZGQtcmV2aXNpb24g KCkKKyAgIlJlY29yZCBhIG5ldyBSQ1MgJ2JhY2t1cCBvbiBzYXZlJyByZXZpc2lvbiBvZiBidWZm ZXIncyBmaWxlLiIKKyAgKHNldHEgdmMtY29uc3VsdC1oZWFkZXJzIG5pbCkKKyAgKGxldCAoKGJm biBidWZmZXItZmlsZS1uYW1lKSkKKyAgICAod2hlbiAoYW5kIGJmbgorICAgICAgICAgICAgICAg KG5vdCAoc3RyaW5nLW1hdGNoLXAgdmMtYm9zLXdpdG5lc3Nlcy1yZWdleCBiZm4pKQorICAgICAg ICAgICAgICAgKG9yIHZjLWJvcy1yZW1vdGUtZmlsZXMKKwkJICAgKG5vdCAoZmlsZS1yZW1vdGUt cCBiZm4pKSkKKwkgICAgICAgKG9yIChub3QgdmMtYm9zLXNpemUtbGltaXQpCisJCSAgICg8PSAo YnVmZmVyLXNpemUpIHZjLWJvcy1zaXplLWxpbWl0KSkKKyAgICAgICAgICAgICAgIChmdW5jYWxs IHZjLWJvcy1maWx0ZXItZnVuY3Rpb24gYmZuKSkKKyAgICAgIChsZXQqICgobWlycm9yLWZpbGUg KHZjLWJvcy0tbWlycm9yLWZpbGUgYmZuKSkpCisgICAgICAgIChjYWxsLXByb2Nlc3MgdmMtYm9z LXJjcworICAgICAgICAgICAgICAgICAgICAgIG5pbCAoZ2V0LWJ1ZmZlci1jcmVhdGUgIip2Yy1i b3MtbG9nKiIpIG5pbAorICAgICAgICAgICAgICAgICAgICAgICJjaSIgIi1sIiAiLW0nJyIgIi10 LScnIiBiZm4gbWlycm9yLWZpbGUpKSkpKQorCisoZGVmdW4gdmMtYm9zLS1taXJyb3ItZmlsZSAo ZmlsZSkKKyAgIlJldHVybiBwYXRoIHRvIEZJTEUncyBSQ1MgY29udHJvbCBmaWxlIHdpdGhpbiB2 Yy1jYWNoZS1yb290LiIKKyAgKGxldCogKChkaXIgKGZpbGUtbmFtZS1kaXJlY3RvcnkgZmlsZSkp CisJIChmaWxlIChmaWxlLW5hbWUtbm9uZGlyZWN0b3J5IGZpbGUpKQorCSAobWlycm9yLWRpciAo Y29uY2F0IChleHBhbmQtZmlsZS1uYW1lIHZjLWNhY2hlLXJvb3QpIGRpcikpCisgICAgICAgICAo bWlycm9yLWZpbGUgKGNvbmNhdCBtaXJyb3ItZGlyIGZpbGUpKSkKKyAgICAodW5sZXNzIChmaWxl LWV4aXN0cy1wIG1pcnJvci1kaXIpCisgICAgICAobWFrZS1kaXJlY3RvcnkgbWlycm9yLWRpciB0 KSkKKyAgICBtaXJyb3ItZmlsZSkpCisKKyhkZWZpbmUtbWlub3ItbW9kZSB2Yy1ib3MtbW9kZQor ICAiU2lsZW50bHkgYmFja3VwIHNhdmVkIGZpbGVzIGFzIG5ldyBSQ1MgcmV2aXNpb25zIGJlbmVh dGggdmMtY2FjaGUtcm9vdC4KKworVmlzaXQgc2F2ZWQgcmV2aXNpb25zIHVzaW5nIHZjLXRtLXJl dmlzaW9uLWhlYWQ6IChDLXUgQy14IHYgLCkuIgorICA6Z2xvYmFsIHQKKyAgOmdyb3VwICdiYWNr dXAKKyAgOmdyb3VwICd2Yy1ib3MKKyAgOnZlcnNpb24gIjMwLjEiCisgIDpsaWdodGVyICIgQm9T IgorICAod2hlbiB2Yy1ib3MtbW9kZQorICAgICh1bmxlc3MgKGFuZCAoc3RyaW5ncCB2Yy1jYWNo ZS1yb290KQorICAgICAgICAgICAgICAgICAoc3RyaW5nLW1hdGNoLXAgIi9SQ1MkIiB2Yy1jYWNo ZS1yb290KSkKKyAgICAgIChzZXRxIHZjLWJvcy1tb2RlIG5pbCkKKyAgICAgIChlcnJvciAidmMt Ym9zLW1vZGUgcmVxdWlyZXMgdmMtY2FjaGUtcm9vdCAoJXMpIHRvIGNvbnRhaW5zIGEgJy9SQ1Mn IGNvbXBvbmVudCIgdmMtY2FjaGUtcm9vdCkpCisgICAgKGFkZC1ob29rICdmaXJzdC1jaGFuZ2Ut aG9vayAjJ3ZjLWJvcy1hZGQtcmV2aXNpb24pCisgICAgKGFkZC1ob29rICdhZnRlci1zYXZlLWhv b2sgICAjJ3ZjLWJvcy1hZGQtcmV2aXNpb24pKQorICAodW5sZXNzIHZjLWJvcy1tb2RlCisgICAg KHJlbW92ZS1ob29rICdmaXJzdC1jaGFuZ2UtaG9vayAjJ3ZjLWJvcy1hZGQtcmV2aXNpb24pCisg ICAgKHJlbW92ZS1ob29rICdhZnRlci1zYXZlLWhvb2sgICAjJ3ZjLWJvcy1hZGQtcmV2aXNpb24p KSkKKworKHByb3ZpZGUgJ3ZjLWJvcykKKworOzs7IHZjLWJvcy5lbCBlbmRzIGhlcmUKZGlmZiAt LWdpdCBhL2xpc3AvdmMvdmMtZ2l0LmVsIGIvbGlzcC92Yy92Yy1naXQuZWwKaW5kZXggMWY0NWFh N2U5Ni4uNzQ1YTI3NTI5NCAxMDA2NDQKLS0tIGEvbGlzcC92Yy92Yy1naXQuZWwKKysrIGIvbGlz cC92Yy92Yy1naXQuZWwKQEAgLTEwNCw4ICsxMDQsNiBAQAogCiAocmVxdWlyZSAnY2wtbGliKQog KHJlcXVpcmUgJ3ZjLWRpc3BhdGNoZXIpCi0ocmVxdWlyZSAndHJhbnNpZW50KQotKHJlcXVpcmUg J3ZjLXRpbWVtYWNoaW5lKQogKGV2YWwtd2hlbi1jb21waWxlCiAgIChyZXF1aXJlICdzdWJyLXgp IDsgZm9yIHN0cmluZy10cmltLXJpZ2h0CiAgIChyZXF1aXJlICd2YykKZGlmZiAtLWdpdCBhL2xp c3AvdmMvdmMtcmNzLmVsIGIvbGlzcC92Yy92Yy1yY3MuZWwKaW5kZXggOWY1MjU4N2Y2Zi4uOTIy NDZjM2NlNyAxMDA2NDQKLS0tIGEvbGlzcC92Yy92Yy1yY3MuZWwKKysrIGIvbGlzcC92Yy92Yy1y Y3MuZWwKQEAgLTg1OSw3ICs4NTksNyBAQCB2Yy1yY3MtdG0tcmV2aXNpb25zLXBhcnNlLWxvZwog ICAgICAgICAgIChmb3J3YXJkLWxpbmUgMSkpCiAgICAgICAgIChzZXRxIG5ldy1zdWJqZWN0IChi dWZmZXItc3Vic3RyaW5nLW5vLXByb3BlcnRpZXMgKGxpbmUtYmVnaW5uaW5nLXBvc2l0aW9uKSAo bGluZS1lbmQtcG9zaXRpb24pKSkKICAgICAgICAgKHdoZW4gKGVxdWFsIG5ldy1zdWJqZWN0ICIq KiogZW1wdHkgbG9nIG1lc3NhZ2UgKioqIikKLSAgICAgICAgICAoc2V0cSBuZXctc3ViamVjdCAi IikpCisgICAgICAgICAgKHNldHEgbmV3LXN1YmplY3QgbmlsKSkKICAgICAgICAgKHVubGVzcyAo ZXF1YWwgc3ViamVjdCBuZXctc3ViamVjdCkKICAgICAgICAgICAoc2V0cSBzdWJqZWN0IG5ldy1z dWJqZWN0KSkKIAkocHVzaCAobGlzdCByZXZpc2lvbiBkYXRlIHN1YmplY3QgYXV0aG9yIGZpbGUp IHJldmlzaW9uLWluZm9zKSkpCmRpZmYgLS1naXQgYS9saXNwL3ZjL3ZjLXRpbWVtYWNoaW5lLmVs IGIvbGlzcC92Yy92Yy10aW1lbWFjaGluZS5lbAppbmRleCBhYzNiOTM2MzM0Li40ZWQ3YTJiOGIz IDEwMDY0NAotLS0gYS9saXNwL3ZjL3ZjLXRpbWVtYWNoaW5lLmVsCisrKyBiL2xpc3AvdmMvdmMt dGltZW1hY2hpbmUuZWwKQEAgLTU4LDYgKzU4LDggQEAKIAogOzs7IENvZGU6CiAKKyhkZWNsYXJl LWZ1bmN0aW9uIHZjLWJvcy10bS1yZXZpc2lvbnMgICJ2Yy1ib3MiIChhYnMtZmlsZSkpCisKIChy ZXF1aXJlICd2YykKIAogKGRlZmdyb3VwIHZjLXRpbWVtYWNoaW5lIG5pbApAQCAtMTU1LDcgKzE1 Nyw3IEBAIHZjLXRtLS10aW1lLW1hY2hpbmUKIAogICAgICAgKGxldCogKChwYXJlbnQgdmMtcGFy ZW50LWJ1ZmZlcikKICAgICAgICAgICAgICAoYWJzLWZpbGUgKGJ1ZmZlci1maWxlLW5hbWUpKQot ICAgICAgICAgICAgIChiYWNrZW5kICAodmMtYmFja2VuZCBhYnMtZmlsZSkpCisgICAgICAgICAg ICAgKGJhY2tlbmQgIChpZiB2Yy1mb3JjZS1ib3MgJ2JvcyAodmMtYmFja2VuZCBhYnMtZmlsZSkp KQogICAgICAgICAgICAgICh3b3JrLXJldiAodmMtd29ya2luZy1yZXZpc2lvbiBhYnMtZmlsZSkp CiAgICAgICAgICAgICAgKHRtYnVmIHZjLS10aW1lLW1hY2hpbmUpKQogCkBAIC0xODgsNyArMTkw LDEwIEBAIHZjLXRtLS10aW1lLW1hY2hpbmUKICAgICAgICAgICAgICAgICAgICh3aXRoLXRlbXAt YnVmZmVyCiAgICAgICAgICAgICAgICAgICAgIChwcm9nMgogICAgICAgICAgICAgICAgICAgICAg ICAgKG1lc3NhZ2UgIkVudW1lcmF0aW5nIHJldmlzaW9ucy4uLiIpCi0gICAgICAgICAgICAgICAg ICAgICAgICAobGV0KiAoKHZlYyAoY2wtY29lcmNlICh2Yy1jYWxsLWJhY2tlbmQgYmFja2VuZCAn dG0tcmV2aXNpb25zIGFicy1maWxlKSAndmVjdG9yKSkKKyAgICAgICAgICAgICAgICAgICAgICAg IChsZXQqICgodmVjIChjbC1jb2VyY2UgKGlmIChlcSBiYWNrZW5kICdib3MpCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2Yy1ib3MtdG0tcmV2aXNpb25zIGFicy1m aWxlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZjLWNhbGwtYmFj a2VuZCBiYWNrZW5kICd0bS1yZXZpc2lvbnMgYWJzLWZpbGUpKQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICd2ZWN0b3IpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChicmFuY2ggKG5yZXZlcnNlIHZlYykpKQogICAgICAgICAgICAgICAgICAgICAgICAgICBi cmFuY2gpCiAgICAgICAgICAgICAgICAgICAgICAgKG1lc3NhZ2UgIkVudW1lcmF0aW5nIHJldmlz aW9ucy4uLmRvbmUiKSkpKSkpCkBAIC0xOTcsMTEgKzIwMiwxNCBAQCB2Yy10bS0tdGltZS1tYWNo aW5lCiAgICAgICAgIHRtYnVmKSkpKQogCiA7OzsjIyNhdXRvbG9hZAotKGRlZnVuIHZjLXRtLXJl dmlzaW9uLWhlYWQgKCkKLSAgIlNob3cgd29yayBmaWxlJ3MgY3VycmVudCByZXZpc2lvbiBvbiBj aGVja2VkLW91dCBicmFuY2guIgotICAoaW50ZXJhY3RpdmUpCi0gICh3aXRoLWN1cnJlbnQtYnVm ZmVyICh2Yy10bS0tdGltZS1tYWNoaW5lKQotICAgICh2Yy10bS0tc3dpdGNoLXRvLXJldmlzaW9u IDEpKSkKKyhkZWZ1biB2Yy10bS1yZXZpc2lvbi1oZWFkICgmb3B0aW9uYWwgYm9zKQorICAiU2hv dyB3b3JrIGZpbGUncyBjdXJyZW50IHJldmlzaW9uIG9uIGNoZWNrZWQtb3V0IGJyYW5jaC4KK1dp dGggYSBwcmVmaXggYXJndW1lbnQsIGRpc3JlZ2FyZCBhbnkgcmVnaXN0cmF0aW9uIHVuZGVyIGFu eQorb3RoZXIgVkNTIGFuZCBzaG93IHZjLWJvcyBiYWNrdXAtb24tc2F2ZSByZXZpc2lvbnMuIgor ICAoaW50ZXJhY3RpdmUgIlAiKQorICAobGV0ICgodmMtZm9yY2UtYm9zIGJvcykpCisgICAgKHdp dGgtY3VycmVudC1idWZmZXIgKHZjLXRtLS10aW1lLW1hY2hpbmUpCisgICAgICAodmMtdG0tLXN3 aXRjaC10by1yZXZpc2lvbiAxKSkpKQogCiAoZGVmdW4gdmMtdG0tcmV2aXNpb24tbmV4dCAoKQog ICAiU2hvdyB3b3JrIGZpbGUncyBuZXh0IHJldmlzaW9uIG9uIGNoZWNrZWQtb3V0IGJyYW5jaC4i CkBAIC0zMDEsMTMgKzMwOSwxNyBAQCB2Yy1kZWZhdWx0LXRtLW1hcC1saW5lCiAKIChkZWZ1biB2 Yy10bS0tc2hvdy1lY2hvLWFyZWEtZGV0YWlscyAocmV2aXNpb24taW5mbykKICAgIlNob3cgZGV0 YWlscyBmb3IgUkVWSVNJT04tSU5GTyBpbiBlY2hvLWFyZWEuIgotICAobGV0KiAoKGRhdGUgKG50 aCAxIHJldmlzaW9uLWluZm8pKQotICAgICAgICAgKGF1dGhvciAoaWYgdmMtdG0tc2hvdy1hdXRo b3IgKGNvbmNhdCAiIHwgIiAobnRoIDMgcmV2aXNpb24taW5mbykpICIiKSkKLSAgICAgICAgIChz aGEtb3Itc3ViamVjdCAoaWYgKGVxIHZjLXRtLWVjaG8tYXJlYS1kZXRhaWwgJ2NvbW1pdCkgKGNh ciByZXZpc2lvbi1pbmZvKSAobnRoIDIgcmV2aXNpb24taW5mbykpKSkKLSAgICAobWVzc2FnZSAi JXMlczogJXMiCi0gICAgICAgICAgICAgZGF0ZQotICAgICAgICAgICAgIChwcm9wZXJ0aXplIGF1 dGhvciAnZmFjZSAndmMtdG0tZWNoby1hcmVhLWF1dGhvci1mYWNlKQotICAgICAgICAgICAgIChw cm9wZXJ0aXplIHNoYS1vci1zdWJqZWN0ICdmYWNlICd2Yy10bS1lY2hvLWFyZWEtZGV0YWlsLWZh Y2UpKSkpCisgIChsZXQgKChkYXRlICAobnRoIDEgcmV2aXNpb24taW5mbykpKQorICAgIChpZiAo ZXEgdG1idWYtLWJhY2tlbmQgJ2JvcykKKyAgICAgICAgKG1lc3NhZ2UgIiVzIiBkYXRlKQorICAg ICAgKGxldCogKChhdXRob3IgKGlmIHZjLXRtLWVjaG8tYXJlYS1hdXRob3IgKGNvbmNhdCAiIHwg IiAobnRoIDMgcmV2aXNpb24taW5mbykpICIiKSkKKyAgICAgICAgICAgICAoc2hhLW9yLXN1Ympl Y3QgKGlmIChlcSB2Yy10bS1lY2hvLWFyZWEtZGV0YWlsICdjb21taXQpCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAoY2FyIHJldmlzaW9uLWluZm8pCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKG50aCAyIHJldmlzaW9uLWluZm8pKSkpCisgICAgICAgIChtZXNzYWdl ICIlcyVzOiAlcyIKKyAgICAgICAgICAgICAgICAgZGF0ZQorICAgICAgICAgICAgICAgICAocHJv cGVydGl6ZSBhdXRob3IgJ2ZhY2UgJ3ZjLXRtLWVjaG8tYXJlYS1hdXRob3ItZmFjZSkKKyAgICAg ICAgICAgICAgICAgKHByb3BlcnRpemUgc2hhLW9yLXN1YmplY3QgJ2ZhY2UgJ3ZjLXRtLWVjaG8t YXJlYS1kZXRhaWwtZmFjZSkpKSkpKQogCiAoZGVmdW4gdmMtdG0tZm9ybWF0LWRhdGUgKGRhdGUp CiAgICJSZXR1cm4gZGF0ZSBmb3JtYXR0ZWQgcGVyIHRoZSB1c2VyJ3MgdmMtdG0tZGF0ZS1mb3Jt YXQuIgpkaWZmIC0tZ2l0IGEvbGlzcC92Yy92Yy5lbCBiL2xpc3AvdmMvdmMuZWwKaW5kZXggODhl YzMzNzZjNC4uN2U5ODUyMzEyZiAxMDA2NDQKLS0tIGEvbGlzcC92Yy92Yy5lbAorKysgYi9saXNw L3ZjL3ZjLmVsCkBAIC04MDksNiArODA5LDcgQEAKIAogKGRlY2xhcmUtZnVuY3Rpb24gZGlmZi1z ZXR1cC13aGl0ZXNwYWNlICJkaWZmLW1vZGUiICgpKQogKGRlY2xhcmUtZnVuY3Rpb24gZGlmZi1z ZXR1cC1idWZmZXItdHlwZSAiZGlmZi1tb2RlIiAoKSkKKyhkZWNsYXJlLWZ1bmN0aW9uIHZjLWJv cy1maW5kLXJldmlzaW9uICJ2Yy1ib3MiIChhYnMtZmlsZSByZXYgYnVmZmVyKSkKIAogKGV2YWwt d2hlbi1jb21waWxlCiAgIChyZXF1aXJlICdkaXJlZCkpCkBAIC05NjEsNiArOTYyLDkgQEAgdmMt Y29tbWVudC1hbGlzdAogKGRlZmN1c3RvbSB2Yy1maW5kLXJldmlzaW9uLWNhY2hlIG5pbAogICAi V2hlbiBub24tbmlsLCBgdmMtZmluZC1yZXZpc2lvbicgY2FjaGVzIGEgbG9jYWwgY29weSBvZiBy ZXR1cm5lZCByZXZpc2lvbi4iCiAgIDp0eXBlICdib29sZWFuCisgIDpncm91cCAnYmFja3VwCisg IDpncm91cCAndmMtYm9zCisgIDpncm91cCAndmMtdGltZW1hY2hpbmUKICAgOnZlcnNpb24gIjMw LjEiKQogCiAoZGVmY3VzdG9tIHZjLWNhY2hlLXJvb3QgbmlsCkBAIC05NzIsOCArOTc2LDEzIEBA IHZjLWNhY2hlLXJvb3QKIAogVG8gdXNlIGB2Yy1ib3MtbW9kZScsIGB2Yy1jYWNoZS1yb290JyBt dXN0IGluY2x1ZGUgYSAvUkNTIGNvbXBvbmVudC4iCiAgIDp0eXBlICdzdHJpbmcKKyAgOmdyb3Vw ICdiYWNrdXAKKyAgOmdyb3VwICd2Yy1ib3MKKyAgOmdyb3VwICd2Yy10aW1lbWFjaGluZQogICA6 dmVyc2lvbiAiMzAuMSIpCiAKKyhkZWZ2YXIgdmMtZm9yY2UtYm9zIG5pbAorICAiTm9uLW5pbCBp bmRpY2F0ZXMgcmV0cmlldmluZyB2Yy1ib3MgcmV2aXNpb25zLiIpCiAMCiA7OyBGaWxlIHByb3Bl cnR5IGNhY2hpbmcKIApAQCAtMTIzNCwxMSArMTI0MywxOCBAQCB2Yy1lbnN1cmUtdmMtYnVmZmVy CiAJCTs7IGN1cnJlbnQgYnVmZmVyIGFyZSB0aGUgc2FtZSBidWZmZXIuCiAgCQkobm90IChlcSB2 Yy1wYXJlbnQtYnVmZmVyIChjdXJyZW50LWJ1ZmZlcikpKSkKICAgICAgIChzZXQtYnVmZmVyIHZj LXBhcmVudC1idWZmZXIpKSkpCi0gIChjb25kCi0gICAoKG5vdCBidWZmZXItZmlsZS1uYW1lKQot ICAgIChlcnJvciAiQnVmZmVyICclcycgaXMgbm90IGFzc29jaWF0ZWQgd2l0aCBhIGZpbGUiIChi dWZmZXItbmFtZSkpKQotICAgKCh1bmxlc3MgKHZjLWJhY2tlbmQgYnVmZmVyLWZpbGUtbmFtZSkK LSAgICAgIChlcnJvciAiRmlsZSAnJXMnIGlzIG5vdCB1bmRlciB2ZXJzaW9uIGNvbnRyb2wiIGJ1 ZmZlci1maWxlLW5hbWUpKSkpKQorICAobGV0ICgoYm9zLWZpbGUgKGNvbmNhdCB2Yy1jYWNoZS1y b290IGJ1ZmZlci1maWxlLW5hbWUpKSkKKyAgICAoY29uZAorICAgICAoKG5vdCBidWZmZXItZmls ZS1uYW1lKQorICAgICAgKGVycm9yICJCdWZmZXIgJyVzJyBpcyBub3QgYXNzb2NpYXRlZCB3aXRo IGEgZmlsZSIgKGJ1ZmZlci1uYW1lKSkpCisgICAgICh2Yy1mb3JjZS1ib3MKKyAgICAgICh1bmxl c3MgKGZpbGUtZXhpc3RzLXAgYm9zLWZpbGUpCisgICAgICAgIChlcnJvciAiRmlsZSAnJXMnIGhh cyBubyBiYWNrdXAtb24tc2F2ZSByZXZpc2lvbnMiIGJ1ZmZlci1maWxlLW5hbWUpKSkKKyAgICAg KCh1bmxlc3MgKHZjLWJhY2tlbmQgYnVmZmVyLWZpbGUtbmFtZSkKKyAgICAgICAgKGVycm9yICJG aWxlICclcycgaXMgbm90IHVuZGVyIHZlcnNpb24gY29udHJvbCVzIgorICAgICAgICAgICAgICAg YnVmZmVyLWZpbGUtbmFtZQorICAgICAgICAgICAgICAgKHdoZW4gKGZpbGUtZXhpc3RzLXAgYm9z LWZpbGUpCisgICAgICAgICAgICAgICAgICIgYnV0IGJhY2t1cHMgZnJvbSBzYXZlcyBhcmUgYXZh aWxhYmxlIikpKSkpKSkKIAogOzs7IFN1cHBvcnQgZm9yIHRoZSBDLXggdiB2IGNvbW1hbmQuCiA7 OyBUaGlzIGlzIHdoZXJlIGFsbCB0aGUgc2luZ2xlLWZpbGUtb3JpZW50ZWQgY29kZSBmcm9tIGJl Zm9yZSB0aGUgZmlsZXNldApAQCAtMjM4OSw2ICsyNDA1LDggQEAgdmMtZmluZC1yZXZpc2lvbgog ICAgICAgICAgICAgIDs7IEEgY2FjaGVkIGZpbGUgaXMgdmlhYmxlIElGRiBpdCBpcyBub3Qgd3Jp dGFibGUuCiAgICAgICAgICAgICAgKChhbmQgKGZpbGUtZXhpc3RzLXAgc2F2ZS1maWxlKSAobm90 IChmaWxlLXdyaXRhYmxlLXAgc2F2ZS1maWxlKSkpCiAgICAgICAgICAgICAgIChpbnNlcnQtZmls ZS1jb250ZW50cyBzYXZlLWZpbGUgdCkpCisgICAgICAgICAgICAgKChlcSBiYWNrZW5kICdib3Mp CisgICAgICAgICAgICAgICh2Yy1ib3MtZmluZC1yZXZpc2lvbiBmaWxlIHJldmlzaW9uIHJldmJ1 ZikpCiAgICAgICAgICAgICAgKGJhY2tlbmQKICAgICAgICAgICAgICAgKHZjLWNhbGwtYmFja2Vu ZCBiYWNrZW5kICdmaW5kLXJldmlzaW9uIGZpbGUgcmV2aXNpb24gcmV2YnVmKSkKICAgICAgICAg ICAgICAodAotLSAKMi4zNy4yCgo= --0000000000002ddb5005f3224a44 Content-Type: text/x-patch; charset="UTF-8"; name="0000-cover-letter.patch" Content-Disposition: attachment; filename="0000-cover-letter.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_ldciswd33 RnJvbSA3N2FiMDZjZjllMmJkM2RiZTg3OGRmNWJiMDdlYWRiYTVkYWRkYzQ3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiSm9obiBTLiBZYXRlcywgSnIiIDxqb2huQHlhdGVzLXNoZWV0 cy5vcmc+CkRhdGU6IFdlZCwgMjUgSmFuIDIwMjMgMjE6MTQ6MjcgLTA1MDAKU3ViamVjdDogW1BB VENIIDAvM10gKioqIFNVQkpFQ1QgSEVSRSAqKioKTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1U eXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6 IDhiaXQKClRoaXMgaXMgYSBzZXJpZXMgb2YgdGhyZWUgYmlzZWN0YWJsZSAoSSBob3BlIDotKSBw YXRjaGVzIHRoYXQgY3VsbWluYXRlCmluIHN1cHBvcnQgb2YgYSBuZXcgRW1hY3MgYmFja3VwIHNj aGVtZToKCiogW1BBVENIIDEvM10gUmVmYWN0b3IgYW5kIGRvY3VtZW50IHZjLWZpbmQtcmV2aXNp b24gY2FjaGluZwoqIFtQQVRDSCAyLzNdIEludHJvZHVjZSBWQyB0aW1lbWFjaGluZSBjYXBhYmls aXR5CiogW1BBVENIIDMvM10gSW50cm9kdWNlIHZjLWJvczogYmFja3VwIG9uIHNhdmUgKHRvIGFu IFJDUyBmaWxlKQoKVGhpcyBCYWNrdXAtT24tU2F2ZSBzY2hlbWUgZXhwbG9pdHMgYSBmaWxlIHN5 c3RlbSBtaXJyb3Igc2NoZW1lCmludHJvZHVjZWQgaW4gdGhlIGZpcnN0IHBhdGNoLiAgQnkgZXhw bG9pdGluZyBhIGxpdHRsZSBrbm93biBhc3BlY3QKb2YgUkNTJ3MgYWxnb3JpdGhtIGZvciBsb2Nh dGluZyBhIG1hc3RlciBmaWxlLCBiYWNrdXBzIGFyZSBzdG9yZWQKY29tcGxldGVseSByZW1vdmVk IGZyb20gdGhlIHdvcmsgZmlsZSAoaS5lLiBubyBsb2NhbCBSQ1MgZGlyZWN0b3JpZXMpCmFuZCB1 bmRlciBleGFjdGx5IHRoZSBzYW1lIGZpbGVuYW1lIChpLmUuIG5vICcsdicgc3VmZml4IG9yIHNp bWlsYXIpLgoKQWNjZXNzaW5nIGJhY2tlZC11cHMgZXhwbG9pdHMgYSBuZXcgdmMtdGltZW1hY2hp bmUgY2FwYWJpbGl0eSwKaW50cm9kdWNlZCBpbiB0aGUgc2Vjb25kIHBhdGNoLiAgQm90aCB0aGUg ZGVzaWduIGFuZCBjb2RlIG93ZSBtdWNoCnRvIFBldGVyIFN0aWVybnN0csO2bSdzIG9yaWdpbmFs IGdpdC10aW1lbWFjaGluZS5lbC4gIFRvIHNpZGVzdGVwIGFueQpjb3B5cmlnaHQgaXNzdWVzLCBQ ZXRlciBoYXMgZ3JhY2lvdXNseSBhc3NpZ25lZCBnaXQtdGltZW1hY2hpbmUuZWwncwpjb3B5cmln aHQgdG8gdGhlIEZTRi4gIFdpdGggdGhlIHN1Ym1pc3Npb24gdGltZW1hY2hpbmUgZnVuY3Rpb25h bGl0eQppcyBhdmFpbGFibGUgaW4gYm90aCB2Yy1naXQgYW5kIHZjLXJjcy4KClRoaXMgYmFja3Vw IHNjaGVtZSB3b3JrcyBlcXVhbHkgd2VsbCB3aXRoIGZpbGVzIGFscmVhZHkgdW5kZXIgc29tZQpW Q1MgYXMgd2VsbCBhcyB3aXRoIGZpbGVzIHRoYXQgYXJlIG5vdCBjdXJyZW50bHkgdmVyc2lvbiBj b250cm9sbGVkLgoKRm9yIG1lIChwcmltYXJpbHkgYSBDKysgcHJvZ3JhbW1lcikgdGhpcyBpczoK ICAqIE15IGZpcnN0IHNpZ25pZmljYW50IGJpdCBvZiBlbGlzcAogICogTXkgZmlyc3QgZXhwb3N1 cmUgdG8gdGhlIFZDIGNvZGViYXNlCiAgKiBNeSBmaXJzdCBFbWFjcyAvIEZTRiBzdWJtaXNzaW9u CgpJIHdlbGNvbWUgYWxsIG5hdHVyZSBvZiBmZWVkYmFjazoKICAqIENvZGUgY3JpdGljaXNtCiAg KiBWaW9sYXRpb25zIG9mIHBlcnRpbmVudCBzdGFuZGFyZHMKICAqIEJ1ZyByZXBvcnRzCiAgKiBT dWdnZXN0ZWQgaW1wcm92ZW1lbnQKICAqIC4gLiAuCgovam9obgoKSm9obiBTLiBZYXRlcywgSnIg KDMpOgogIFJlZmFjdG9yIGFuZCBkb2N1bWVudCB2Yy1maW5kLXJldmlzaW9uIGNhY2hpbmcKICBJ bnRyb2R1Y2UgVkMgdGltZW1hY2hpbmUgY2FwYWJpbGl0eQogIEludHJvZHVjZSB2Yy1ib3M6IGJh Y2t1cCBvbiBzYXZlICh0byBhbiBSQ1MgZmlsZSkKCiBsaXNwL3ZjL3ZjLWJvcy5lbCAgICAgICAg IHwgMjA3ICsrKysrKysrKysrKysrKysrKwogbGlzcC92Yy92Yy1naXQuZWwgICAgICAgICB8ICA4 OSArKysrKysrLQogbGlzcC92Yy92Yy1ob29rcy5lbCAgICAgICB8ICAxMCArLQogbGlzcC92Yy92 Yy1yY3MuZWwgICAgICAgICB8ICA1MCArKysrKwogbGlzcC92Yy92Yy10aW1lbWFjaGluZS5lbCB8 IDQzOCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogbGlzcC92Yy92Yy5l bCAgICAgICAgICAgICB8IDI5MiArKysrKysrKysrKysrKysrLS0tLS0tLS0tCiA2IGZpbGVzIGNo YW5nZWQsIDk4NSBpbnNlcnRpb25zKCspLCAxMDEgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAx MDA2NDQgbGlzcC92Yy92Yy1ib3MuZWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaXNwL3ZjL3ZjLXRp bWVtYWNoaW5lLmVsCgotLSAKMi4zNy4yCgo= --0000000000002ddb5005f3224a44 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Refactor-and-document-vc-find-revision-caching.patch" Content-Disposition: attachment; filename="0001-Refactor-and-document-vc-find-revision-caching.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_ldciswcw2 RnJvbSA3OGNlZmIzY2I3OGZhZjhiZTM4N2Q0MzE5OTQyMDc4Njk5ZWJjM2U5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiSm9obiBTLiBZYXRlcywgSnIiIDxqb2huQHlhdGVzLXNoZWV0 cy5vcmc+CkRhdGU6IE1vbiwgMjYgRGVjIDIwMjIgMTU6NTE6MDMgLTA1MDAKU3ViamVjdDogW1BB VENIIDEvM10gUmVmYWN0b3IgYW5kIGRvY3VtZW50IHZjLWZpbmQtcmV2aXNpb24gY2FjaGluZwoK UHJldmlvdXNseSB0aGVyZSBleGlzdGVkIHR3byBoZWxwZXIgZnVuY3Rpb25zIGZvciB2Yy0tcmV2 aXNpb24tb3RoZXItd2luZG93OgoKKiB2Yy0tcmV2aXNpb24tb3RoZXItd2luZG93LXNhdmUKKiB2 Yy0tcmV2aXNpb24tb3RoZXItd2luZG93LW5vLXNhdmUKClRoZSBleHBlY3RhdGlvbiBzZWVtcyB0 byBoYXZlIGJlZW4gdGhhdCB3aGVuIG1hdGVyaWFsaXppbmcgYSByZXZpc2lvbiBpcwpkZWVtZWQg Y29zdGx5IChzbG93IGJhY2tlbmQ/IHJlbW90ZT8gLi4uKSBpdCBzaG91bGQgYmUgc2F2ZWQuICBJ IGJlbGlldmUKdGhhdCwgZXZlbiB0aG91Z2ggdGhlIHdvcmQgJ2NhY2hlJyBpcyBuZXZlciB1c2Vk LCB0aGlzIHdhcyBpbnRlbmRlZCB0bwpiZSBhIGNhY2hpbmcgbWVjaGFuaXNtLiAgVGhhdCBzYWlk LCB0aGUgbG9naWMgcHJvdmlkZWQgb25seSBhIHNpbmdsZQpzYXZlL25vLXNhdmUgZ2xvYmFsIHRv Z2dsZS4gIEFzcGVjdHMgb2YgdGhpcyBtZWNoYW5pc20gd2VyZSBkaXNjdXNzZWQKaW4gdGhpcyBl bWFpbCB0aHJlYWQ6CgogIGh0dHBzOi8vbGlzdHMuZ251Lm9yZy9hcmNoaXZlL2h0bWwvZW1hY3Mt ZGV2ZWwvMjAyMi0xMC9tc2cwMTc5NC5odG1sCgpJIGhhdmUgdHJpZWQgdG8gYWRkcmVzcyBzb21l IG9mIHRoZSBjb25jZXJucyByYWlzZWQgdGhlcmVpbiBhbmQgdG8KcHJvdmlkZSBzb21lIGNsZWFy ZXIgYWJzdHJhY3Rpb25zOgoKKiBXaGVuIGEgcmV2aXNpb24gZ2V0cyBzYXZlZCBpdCBpcyBkZWVt ZWQgYSBjYWNoZS4gIFRodXMgaXQgaXMgaW1wZXJhdGl2ZQogIHRoYXQgdGhlIGNhY2hlZCByZXZp c2lvbiBiZSBwcm90ZWN0ZWQgYW5kIGFkZXF1YXRlbHkgdmFsaWRhdGVkIGJlZm9yZQogIGJlaW5n IHJldXNlZC4KCiogQSBjYWNoZWQgcmV2aXNpb24gbWF5IGJlIHNhdmVkIGFzIGEgc2libGluZyBv ZiB0aGUgZmlsZSB0aGF0IHRyaWdnZXJlZCBpdHMKICBtYXRlcmlhbGl6YXRpb24gb3IgaW4gbWF5 IGJlIHNhdmVkIGluIGEgbWlycm9yIGRpcmVjdG9yeSB0cmVlIHJvb3RlZCBhdAogIGB2Yy1jYWNo ZS1yb290Jy4gIFRoZSBsYXR0ZXIgY2hvaWNlIGF2b2lkcyBjbHV0dGVyaW5nIHdvcmsgdHJlZXMg d2l0aCB3aXRoCiAgaGlzdG9yaWMgcmV2aXNpb25zIGFuZCBlbmFibGVzIGNhY2hpbmcgYWNyb3Nz IHdvcmsgdHJlZXMuICBgdmMtY2FjaGUtcm9vdCcKICB3aWxsIGFsc28gcHJvdmlkZSBhIGxvY2F0 aW9uIGZvciB0aGUgZm9ydGhjb21pbmcgdmMtYm9zJ3MgYmFja3Vwcy4KCiogSSBoYXZlIGRlZmlu ZWQgdGhlIGNvbmNlcHQgb2YgYSByZXZpc2lvbiBidWZmZXIuICBUaGlzIGlzIHRoZSBmb3JtCiAg b2YgYnVmZmVyIHJldHVybmVkIGJ5IHZjJ3MgZmluZC1yZXZpc2lvbiBvcGVyYXRpb24uICBJdCBp cyBib3VuZCB0bwogIGEgc3BlY2lmaWMgcmV2aXNpb24sIGl0IGlzIHJlYWQtb25seSBhbmQgaXQg aGFzIGEgbmlsIGJ1ZmZlci1maWxlLW5hbWUuCiAgVGh1cyBpdCB2aXNpdHMgbm8gc2F2ZWQgbm9y IGNhY2hlZCBmaWxlLiAgVGhlIHJhdGlvbmFsZSBpcyB0d29mb2xkOgoKICAtIEEgcmV2aXNpb24g aXMgYSBtYXRlcmlhbGl6YXRpb24gb2YgaW1tdXRhYmxlIGhpc3RvcnkKCiAgLSBUaGUgb25seSBw b3RlbnRpYWwgdmFsdWUgZm9yIGEgcmV2aXNpb24gYnVmZmVyJ3MgYnVmZmVyLWZpbGUtbmFtZSBp cyBhCiAgICBjYWNoZSBmaWxlIHdoaWNoIHNob3VsZCBsaWtld2lzZSBiZSByZWdhcmRlZCBhcyBp bW11dGFibGUuICBGdXRoZXIsIGlmCiAgICBtYXRlcmlhbGl6aW5nIHJldmlzaW9ucyBpcyBub3Qg ZGVlbWVkIGNvc3RseSwgZXZlbiB0aGF0IGZpbGUgbWF5IG5vdAogICAgZXhpc3QuICBTbywgaW4g dGhlIGludGVyZXN0IG9mIGNvbnNpc3RlbmN5LCByZXZpc2lvbiBidWZmZXJzIGRvIG5vdAogICAg dmlzaXQgZmlsZXMuCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgoqIGxpc3AvdmMvdmMuZWwgKHZjLWZp bmQtcmV2aXNpb24tbm8tc2F2ZSwgdmMtZmluZC1yZXZpc2lvbi1jYWNoZSk6ClJlbmFtZSBkZWZj dXN0b21zIHRvIGJlIG1vcmUgZGVzY3JpcHRpdmUuCih2Yy1maW5kLXJldmlzaW9uLCB2Yy1maW5k LXJldmlzaW9uLXNhdmUsIHZjLWZpbmQtcmV2aXNpb24tbm8tc2F2ZSk6ClJlaW1wbGVtZW50IHRo ZSBlbnNzZW5jZSBvZiB0aGVzZSB0aHJlZSBmdW5jdGlvbiBhcyBhIHNpbmdsZQpgdmMtZmluZC1y ZXZpc2lvbicgZnVuY3Rpb24uICBDbGFyaWZ5IHRoYXQgdGhlIHJlc3VsdCBpcyBhIHJldmlzaW9u CmJ1ZmZlciwgdW5hdHRhY2hlZCB0byBhbnkgZmlsZS4gIFN1cHBvcnQgb3B0aW9uYWwgY2FjaGlu ZywgZWl0aGVyCmFsb25nc2lkZSB0aGUgb3JpZ2luYWwgZmlsZSBvciB3aXRoaW4gYSBtaXJyb3Ig ZGlyZWN0b3J5IHN0cnVjdHVyZQpiZW5lYXRoIGB2Yy1jYWNoZS1yb290Jy4KLS0tCiBsaXNwL3Zj L3ZjLmVsIHwgMjI3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0t LS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTM2IGluc2VydGlvbnMoKyksIDkxIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2xpc3AvdmMvdmMuZWwgYi9saXNwL3ZjL3ZjLmVsCmluZGV4IDEzMTI0 NTA5YzIuLjU2OTc3Y2JlMTYgMTAwNjQ0Ci0tLSBhL2xpc3AvdmMvdmMuZWwKKysrIGIvbGlzcC92 Yy92Yy5lbApAQCAtNjY0LDYgKzY2NCw5IEBACiAKIAogOzs7IFRvZG86Cis7OworOzsgLSBvdGhl ciBjYWNoaW5nIGNvbnNpZGVyYXRpb25zOiBiYWNrZW5kPyByZW1vdGU/CisKIAogOzs7OyBOZXcg UHJpbWl0aXZlczoKIDs7CkBAIC05MTcsMTAgKzkyMCwyMSBAQCB2Yy1jb21tZW50LWFsaXN0CiAJ CSAgICAgICAoc3RyaW5nIDp0YWcgIkNvbW1lbnQgU3RhcnQiKQogCQkgICAgICAgKHN0cmluZyA6 dGFnICJDb21tZW50IEVuZCIpKSkpCiAKLShkZWZjdXN0b20gdmMtZmluZC1yZXZpc2lvbi1uby1z YXZlIG5pbAotICAiSWYgbm9uLW5pbCwgYHZjLWZpbmQtcmV2aXNpb24nIGRvZXNuJ3Qgd3JpdGUg dGhlIGNyZWF0ZWQgYnVmZmVyIHRvIGZpbGUuIgorKGRlZmN1c3RvbSB2Yy1maW5kLXJldmlzaW9u LWNhY2hlIG5pbAorICAiV2hlbiBub24tbmlsLCBgdmMtZmluZC1yZXZpc2lvbicgY2FjaGVzIGEg bG9jYWwgY29weSBvZiByZXR1cm5lZCByZXZpc2lvbi4iCiAgIDp0eXBlICdib29sZWFuCi0gIDp2 ZXJzaW9uICIyNy4xIikKKyAgOnZlcnNpb24gIjMwLjEiKQorCisoZGVmY3VzdG9tIHZjLWNhY2hl LXJvb3QgbmlsCisgICJJZiBub24tbmlsLCB0aGUgcm9vdCBvZiBhIHRyZWUgb2YgY2FjaGVkIHJl dmlzaW9ucyAobm8gdHJhaWxpbmcgJy8nKS4KKworV2hlbiBgdmMtZmluZC1yZXZpc2lvbi1jYWNo ZScgaXMgbm9uLW5pbCwgaWYgYHZjLWNhY2hlLXJvb3QnIGlzIG5pbCB0aGVuIHRoZQorY2FjaGVk IHJldmlzaW9uIHdpbGwgYmUgYSBzaWJsaW5nIG9mIGl0cyB3b3JraW5nIGZpbGUsIG90aGVyd2lz ZSB0aGUgY2FjaGVkCityZXZpc2lvbiB3aWxsIGJlIHNhdmVkIHRvIGEgbWlycm9yIHBhdGggYmVu ZWF0aCBgdmMtY2FjaGUtcm9vdC4nCisKK1RvIHVzZSBgdmMtYm9zLW1vZGUnLCBgdmMtY2FjaGUt cm9vdCcgbXVzdCBpbmNsdWRlIGEgL1JDUyBjb21wb25lbnQuIgorICA6dHlwZSAnc3RyaW5nCisg IDp2ZXJzaW9uICIzMC4xIikKIAogDAogOzsgRmlsZSBwcm9wZXJ0eSBjYWNoaW5nCkBAIC0yMjYz LDk3ICsyMjc3LDEyOCBAQCB2Yy1yZXZpc2lvbi1vdGhlci13aW5kb3cKIAkJICAgICByZXYpKSkK ICAgICAoc3dpdGNoLXRvLWJ1ZmZlci1vdGhlci13aW5kb3cgKHZjLWZpbmQtcmV2aXNpb24gZmls ZSByZXZpc2lvbikpKSkKIAotKGRlZnVuIHZjLWZpbmQtcmV2aXNpb24gKGZpbGUgcmV2aXNpb24g Jm9wdGlvbmFsIGJhY2tlbmQpCi0gICJSZWFkIFJFVklTSU9OIG9mIEZJTEUgaW50byBhIGJ1ZmZl ciBhbmQgcmV0dXJuIHRoZSBidWZmZXIuCi1Vc2UgQkFDS0VORCBhcyB0aGUgVkMgYmFja2VuZCBp ZiBzcGVjaWZpZWQuIgotICAoaWYgdmMtZmluZC1yZXZpc2lvbi1uby1zYXZlCi0gICAgICAodmMt ZmluZC1yZXZpc2lvbi1uby1zYXZlIGZpbGUgcmV2aXNpb24gYmFja2VuZCkKLSAgICAodmMtZmlu ZC1yZXZpc2lvbi1zYXZlIGZpbGUgcmV2aXNpb24gYmFja2VuZCkpKQogCi0oZGVmdW4gdmMtZmlu ZC1yZXZpc2lvbi1zYXZlIChmaWxlIHJldmlzaW9uICZvcHRpb25hbCBiYWNrZW5kKQotICAiUmVh ZCBSRVZJU0lPTiBvZiBGSUxFIGludG8gYSBidWZmZXIgYW5kIHJldHVybiB0aGUgYnVmZmVyLgot U2F2ZXMgdGhlIGJ1ZmZlciB0byB0aGUgZmlsZS4iCi0gIChsZXQgKChhdXRvbWF0aWMtYmFja3Vw ICh2Yy12ZXJzaW9uLWJhY2t1cC1maWxlLW5hbWUgZmlsZSByZXZpc2lvbikpCi0JKGZpbGVidWYg KG9yIChnZXQtZmlsZS1idWZmZXIgZmlsZSkgKGN1cnJlbnQtYnVmZmVyKSkpCi0gICAgICAgIChm aWxlbmFtZSAodmMtdmVyc2lvbi1iYWNrdXAtZmlsZS1uYW1lIGZpbGUgcmV2aXNpb24gJ21hbnVh bCkpKQotICAgICh1bmxlc3MgKGZpbGUtZXhpc3RzLXAgZmlsZW5hbWUpCi0gICAgICAoaWYgKGZp bGUtZXhpc3RzLXAgYXV0b21hdGljLWJhY2t1cCkKLSAgICAgICAgICAocmVuYW1lLWZpbGUgYXV0 b21hdGljLWJhY2t1cCBmaWxlbmFtZSBuaWwpCi0JKG1lc3NhZ2UgIkNoZWNraW5nIG91dCAlcy4u LiIgZmlsZW5hbWUpCi0JKHdpdGgtY3VycmVudC1idWZmZXIgZmlsZWJ1ZgotCSAgKGxldCAoKGZh aWxlZCB0KSkKLQkgICAgKHVud2luZC1wcm90ZWN0Ci0JCShsZXQgKChjb2Rpbmctc3lzdGVtLWZv ci1yZWFkICduby1jb252ZXJzaW9uKSkKLQkJICAod2l0aC10ZW1wLWZpbGUgZmlsZW5hbWUKLQkJ ICAgIChsZXQgKChvdXRidWYgKGN1cnJlbnQtYnVmZmVyKSkpCi0gICAgICAgICAgICAgICAgICAg ICAgOzsgV2Ugd2lsbCByZWFkIHRoZSBiYWNrZW5kJ3Mgb3V0cHV0IHdpdGggbm8KLSAgICAgICAg ICAgICAgICAgICAgICA7OyBjb252ZXJzaW9ucywgc28gd2Ugc2hvdWxkIGFsc28gc2F2ZSB0aGUK LSAgICAgICAgICAgICAgICAgICAgICA7OyB0ZW1wb3JhcnkgZmlsZSB3aXRoIG5vIGVuY29kaW5n IGNvbnZlcnNpb25zLgotICAgICAgICAgICAgICAgICAgICAgIChzZXRxIGJ1ZmZlci1maWxlLWNv ZGluZy1zeXN0ZW0gJ25vLWNvbnZlcnNpb24pCi0JCSAgICAgIDs7IENoYW5nZSBidWZmZXIgdG8g Z2V0IGxvY2FsIHZhbHVlIG9mCi0JCSAgICAgIDs7IHZjLWNoZWNrb3V0LXN3aXRjaGVzLgotCQkg ICAgICAod2l0aC1jdXJyZW50LWJ1ZmZlciBmaWxlYnVmCi0JCQkoaWYgYmFja2VuZAotCQkJICAg ICh2Yy1jYWxsLWJhY2tlbmQgYmFja2VuZCAnZmluZC1yZXZpc2lvbiBmaWxlIHJldmlzaW9uIG91 dGJ1ZikKLQkJCSAgKHZjLWNhbGwgZmluZC1yZXZpc2lvbiBmaWxlIHJldmlzaW9uIG91dGJ1Zikp KSkpCi0JCSAgKHNldHEgZmFpbGVkIG5pbCkpCi0JICAgICAgKHdoZW4gKGFuZCBmYWlsZWQgKGZp bGUtZXhpc3RzLXAgZmlsZW5hbWUpKQotCQkoZGVsZXRlLWZpbGUgZmlsZW5hbWUpKSkpCi0JICAo dmMtbW9kZS1saW5lIGZpbGUpKQotCShtZXNzYWdlICJDaGVja2luZyBvdXQgJXMuLi5kb25lIiBm aWxlbmFtZSkpKQotICAgIChsZXQgKChyZXN1bHQtYnVmIChmaW5kLWZpbGUtbm9zZWxlY3QgZmls ZW5hbWUpKSkKLSAgICAgICh3aXRoLWN1cnJlbnQtYnVmZmVyIHJlc3VsdC1idWYKLQk7OyBTZXQg dGhlIHBhcmVudCBidWZmZXIgc28gdGhhdCB0aGluZ3MgbGlrZQotCTs7IEMteCB2IGcsIEMteCB2 IGwsIC4uLiBldGMgd29yay4KLSAgICAgICAgKHNldHEtbG9jYWwgdmMtcGFyZW50LWJ1ZmZlciBm aWxlYnVmKSkKLSAgICAgIHJlc3VsdC1idWYpKSkKKyhkZWZ2YXItbG9jYWwgdmMtdG0tLXJldmlz aW9uIG5pbAorICAiQ29udmV5IGEgcmV2aXNpb24gYnVmZmVyJ3MgVkNTIHNwZWNpZmljIHVuaXF1 ZSByZXZpc2lvbiBpZCB0byBWQy1UTS4iICkKKyhwdXQgJ3ZjLXRtLS1yZXZpc2lvbiAncGVybWFu ZW50LWxvY2FsIHQpCiAKLShkZWZ1biB2Yy1maW5kLXJldmlzaW9uLW5vLXNhdmUgKGZpbGUgcmV2 aXNpb24gJm9wdGlvbmFsIGJhY2tlbmQgYnVmZmVyKQotICAiUmVhZCBSRVZJU0lPTiBvZiBGSUxF IGludG8gQlVGRkVSIGFuZCByZXR1cm4gdGhlIGJ1ZmZlci4KLUlmIEJVRkZFUiBvbWl0dGVkIG9y IG5pbCwgdGhpcyBmdW5jdGlvbiBjcmVhdGVzIGEgbmV3IGJ1ZmZlciBhbmQgc2V0cwotYGJ1ZmZl ci1maWxlLW5hbWUnIHRvIHRoZSBuYW1lIGNvbnN0cnVjdGVkIGZyb20gdGhlIGZpbGUgbmFtZSBh bmQgdGhlCi1yZXZpc2lvbiBudW1iZXIuCi1Vbmxpa2UgYHZjLWZpbmQtcmV2aXNpb24tc2F2ZScs IGRvZXNuJ3Qgc2F2ZSB0aGUgYnVmZmVyIHRvIHRoZSBmaWxlLiIKKzs7IEJlZm9yZSB0aGUgYWR2 ZW50IG9mIHZjLXRpbWVtYWNoaW5lLCB0aGUgYmVoYXZpb3Igb2YgYHZjLWZpbmQtcmV2aXNpb24n Cis7OyB3YXMgaW1wbGllZCBpbmRpcmVjdGx5IGluIHRoZSBlbWFjcyBtYW51YWwgYXMgYWx3YXlz IGNhY2hpbmcgYSBjb3B5Cis7OyBvZiB0aGUgcmV0dXJuZWQgcmV2aXNpb24uICBgdmMtcmV2aXNp b24tb3RoZXItd2luZG93J3Mgd3JpdGUtdXAgd2FzOgorOzsKKzs7ICAgVGhpcyByZXRyaWV2ZXMg dGhlIGZpbGUgdmVyc2lvbiBjb3JyZXNwb25kaW5nIHRvIHJldmlzaW9uLCBzYXZlcyBpdAorOzsg ICB0byBmaWxlbmFtZS5+cmV2aXNpb25+LCBhbmQgdmlzaXRzIGl0IGluIGEgc2VwYXJhdGUgd2lu ZG93LgorOzsKKzs7IEJ1dCBpZiByZXZpc2lvbnMgYXJlIGltbXV0YWJsZSBoaXN0b3J5LCB0aGVu IHRoZXJlIGlzIG5vIHJlYXNvbiBmb3IKKzs7IGEgcmV2aXNpb24gYnVmZmVyIHRvIHZpc2l0IGEg bXV0YWJsZSBmaWxlLiAgU2F2aW5nIGEgZmlsZSBjb3VsZCBiZQorOzsganVzdGlmaWVkIGFzIGEg Zm9ybSBvZiBjYWNoaW5nLiAgQnV0LCBpZiBhIGNhY2hlIGlzIHRvIGJlIHRydXN0ZWQsCis7OyBp dCBtdXN0IG5vdCBiZSBwb3NzaWJsZSBmb3IgYSB1c2VyIHRvIGNvcnJ1cHQgaXRzIGNvbnRlbnRz LgorOzsKKzs7IEFzIG9mIHJlbGVhc2UgMzAuMSByZXZpc2lvbiBidWZmZXIgYXJlIHJldHVybmVk IHdpdGggYnVmZmVyLWZpbGUtbmFtZQorOzsgc2V0IHRvIG5pbCwgc2lnbmlmeWluZyB0aGF0IHJl dmlzaW9uIGJ1ZmZlcnMgZG8gbm90IHZpc2l0IGZpbGVzLgorOzsKKzs7IFdoZXRoZXIgdG8gY2Fj aGUgb3Igbm90IGlzIGNvbnRyb2xsZWQgYnkgYHZjLWZpbmQtcmV2aXNpb24tY2FjaGUnLgorOzsK Kzs7IENhY2hpbmcgcmV2aXNpb25zIGFzIHNpYmxpbmdzIG9mIGEgd29ya2luZyBmaWxlIGlzIG9m dGVuIHNlZW4gYXMKKzs7ICJjbHV0dGVyaW5nIiB0aGUgd29ya3NwYWNlLiAgYHZjLWNhY2hlLXJv b3QnIHByb3ZpZGVzIGEgYWx0ZXJuYXRpdmUsCis7OyBhIG1pcnJvciBkaXJlY3Rvcnkgc3RydWN0 dXJlIHdoZXJlIHJldmlzaW9ucyBhcmUgY2FjaGVkLgorCisoZGVmdW4gdmMtZmluZC1yZXZpc2lv biAoZmlsZSByZXZpc2lvbiAmb3B0aW9uYWwgYmFja2VuZCBidWZmZXIpCisgICJSZWFkIFJFVklT SU9OIG9mIEZJTEUgaW50byBhIHJlYWQtb25seSBidWZmZXIgYW5kIHJldHVybiB0aGF0IGJ1ZmZl ci4KK0NvbnRydWN0IHRoZSBwYXRoIHRvIGEgcG90ZW50aWFsIGNhY2hlZCBjb3B5IGZyb20gYHZj LWZpbmQtcmV2aXNpb24tY2FjaGUnLAorRklMRSBhbmQgUkVWSVNJT04uICBJZiB0aGF0IGZpbGUg ZXhpc3RzIGFuZCBpcyB3cml0YWJsZSB0aGVuIHJld3JpdGUgaXQKK3RvIGVuc3VyZSB0aGF0IGlm IGFjY3VyYXRlbHkgcmVmbGVjdHMgdGhlIHJldHJpZXZlZCByZXZpc2lvbi4gIE90aGVyd2lzZSwK K2lmIGB2Yy1maW5kLXJldmlzaW9uLWNhY2hlJyBpcyBub24tbmlsLCBzYXZlIGJ1ZmZlciB0byBp dHMgY2FjaGUgbG9jYXRpb24uCitXaGVuIEJVRkZFUiBpcyBhYnNlbnQgb3IgZGVhZCwgY3JlYXRl IGEgbmV3IGJ1ZmZlcjsgb3RoZXJ3aXNlIHJlcHVycG9zZQordGhlIHN1cHBsaWVkIEJVRkZFUiBi eSBlcmFzaW5nIGl0cyBjb250ZW50cywgc2V0dGluZyBpdHMgbmFtZSBhbmQgdXBkYXRpbmcKK2l0 cyBtb2RlLiAgSW4gYWxsIGNhc2VzIGJ1ZmZlci1maWxlLW5hbWUgaXMgc2V0IHRvIG5pbCwgZW5z dXJpbmcgdGhhdCB0aGUKK3JldHVybmVkIGJ1ZmZlciBkb2VzIG5vdCBhcHBlYXIgdG8gYmUgdmlz aXRpbmcgYW55IGZpbGUgKGluIHBhcnRpY3VsYXIgdGhlCitmaWxlIGluIHRoZSBjYWNoZSkuIgog ICAobGV0KiAoKGJ1ZmZlciAod2hlbiAoYnVmZmVyLWxpdmUtcCBidWZmZXIpIGJ1ZmZlcikpCi0g ICAgICAgICAoZmlsZWJ1ZiAob3IgYnVmZmVyIChnZXQtZmlsZS1idWZmZXIgZmlsZSkgKGN1cnJl bnQtYnVmZmVyKSkpCi0gICAgICAgICAoZmlsZW5hbWUgKHVubGVzcyBidWZmZXIgKHZjLXZlcnNp b24tYmFja3VwLWZpbGUtbmFtZSBmaWxlIHJldmlzaW9uICdtYW51YWwpKSkpCi0gICAgKHVubGVz cyAoYW5kIChub3QgYnVmZmVyKQotICAgICAgICAgICAgICAgICAob3IgKGdldC1maWxlLWJ1ZmZl ciBmaWxlbmFtZSkKLSAgICAgICAgICAgICAgICAgICAgIChmaWxlLWV4aXN0cy1wIGZpbGVuYW1l KSkpCi0gICAgICAod2l0aC1jdXJyZW50LWJ1ZmZlciBmaWxlYnVmCi0JKGxldCAoKGZhaWxlZCB0 KSkKLQkgICh1bndpbmQtcHJvdGVjdAotCSAgICAgICh3aXRoLWN1cnJlbnQtYnVmZmVyIChvciBi dWZmZXIgKGNyZWF0ZS1maWxlLWJ1ZmZlciBmaWxlbmFtZSkpCi0gICAgICAgICAgICAgICAgKHVu bGVzcyBidWZmZXIgKHNldHEgYnVmZmVyLWZpbGUtbmFtZSBmaWxlbmFtZSkpCi0JCShsZXQgKChv dXRidWYgKGN1cnJlbnQtYnVmZmVyKSkpCi0JCSAgKHdpdGgtY3VycmVudC1idWZmZXIgZmlsZWJ1 ZgotCQkgICAgKGlmIGJhY2tlbmQKLQkJCSh2Yy1jYWxsLWJhY2tlbmQgYmFja2VuZCAnZmluZC1y ZXZpc2lvbiBmaWxlIHJldmlzaW9uIG91dGJ1ZikKLQkJICAgICAgKHZjLWNhbGwgZmluZC1yZXZp c2lvbiBmaWxlIHJldmlzaW9uIG91dGJ1ZikpKSkKLSAgICAgICAgICAgICAgICAoZGVjb2RlLWNv ZGluZy1pbnNlcnRlZC1yZWdpb24gKHBvaW50LW1pbikgKHBvaW50LW1heCkgZmlsZSkKLSAgICAg ICAgICAgICAgICAoYWZ0ZXItaW5zZXJ0LWZpbGUtc2V0LWNvZGluZyAoLSAocG9pbnQtbWF4KSAo cG9pbnQtbWluKSkpCi0gICAgICAgICAgICAgICAgKGdvdG8tY2hhciAocG9pbnQtbWluKSkKLSAg ICAgICAgICAgICAgICAoaWYgYnVmZmVyCi0gICAgICAgICAgICAgICAgICAgIDs7IEZvciBub24t aW50ZXJhY3RpdmUsIHNraXAgYW55IHF1ZXN0aW9ucwotICAgICAgICAgICAgICAgICAgICAobGV0 ICgoZW5hYmxlLWxvY2FsLXZhcmlhYmxlcyA6c2FmZSkgOzsgdG8gZmluZCBgbW9kZTonCi0gICAg ICAgICAgICAgICAgICAgICAgICAgIChidWZmZXItZmlsZS1uYW1lIGZpbGUpKQotICAgICAgICAg ICAgICAgICAgICAgIDs7IERvbid0IHJ1biBob29rcyB0aGF0IG1pZ2h0IGFzc3VtZSBidWZmZXIt ZmlsZS1uYW1lCi0gICAgICAgICAgICAgICAgICAgICAgOzsgcmVhbGx5IGFzc29jaWF0ZXMgYnVm ZmVyIHdpdGggYSBmaWxlIChidWcjMzkxOTApLgotICAgICAgICAgICAgICAgICAgICAgIChpZ25v cmUtZXJyb3JzIChkZWxheS1tb2RlLWhvb2tzIChzZXQtYXV0by1tb2RlKSkpKQotICAgICAgICAg ICAgICAgICAgKG5vcm1hbC1tb2RlKSkKLQkgICAgICAgIChzZXQtYnVmZmVyLW1vZGlmaWVkLXAg bmlsKQotICAgICAgICAgICAgICAgIChzZXRxIGJ1ZmZlci1yZWFkLW9ubHkgdCkpCi0JCShzZXRx IGZhaWxlZCBuaWwpCi0JICAgICh3aGVuIChhbmQgZmFpbGVkICh1bmxlc3MgYnVmZmVyIChnZXQt ZmlsZS1idWZmZXIgZmlsZW5hbWUpKSkKLQkgICAgICAod2l0aC1jdXJyZW50LWJ1ZmZlciAoZ2V0 LWZpbGUtYnVmZmVyIGZpbGVuYW1lKQotCQkoc2V0LWJ1ZmZlci1tb2RpZmllZC1wIG5pbCkpCi0J ICAgICAgKGtpbGwtYnVmZmVyIChnZXQtZmlsZS1idWZmZXIgZmlsZW5hbWUpKSkpKSkpCi0gICAg KGxldCAoKHJlc3VsdC1idWYgKG9yIGJ1ZmZlcgotICAgICAgICAgICAgICAgICAgICAgICAgICAo Z2V0LWZpbGUtYnVmZmVyIGZpbGVuYW1lKQotICAgICAgICAgICAgICAgICAgICAgICAgICAoZmlu ZC1maWxlLW5vc2VsZWN0IGZpbGVuYW1lKSkpKQotICAgICAgKHdpdGgtY3VycmVudC1idWZmZXIg cmVzdWx0LWJ1ZgotICAgICAgICAoc2V0cS1sb2NhbCB2Yy1wYXJlbnQtYnVmZmVyIGZpbGVidWYp KQotICAgICAgcmVzdWx0LWJ1ZikpKQorICAgICAgICAgKHBhcmVudCAob3IgYnVmZmVyIChnZXQt ZmlsZS1idWZmZXIgZmlsZSkgKGN1cnJlbnQtYnVmZmVyKSkpCisgICAgICAgICAocmV2ZC1maWxl ICh2Yy12ZXJzaW9uLWJhY2t1cC1maWxlLW5hbWUgZmlsZSByZXZpc2lvbiAnbWFudWFsKSkKKyAg ICAgICAgICh0cnVlLWRpciAoZmlsZS1uYW1lLWRpcmVjdG9yeSBmaWxlKSkKKyAgICAgICAgICh0 cnVlLW5hbWUgKGZpbGUtbmFtZS1ub25kaXJlY3RvcnkgZmlsZSkpCisgICAgICAgICAoc2F2ZS1k aXIgKGNvbmNhdCB2Yy1jYWNoZS1yb290IHRydWUtZGlyKSkKKyAgICAgICAgIChyZXZkLW5hbWUg KGZpbGUtbmFtZS1ub25kaXJlY3RvcnkgcmV2ZC1maWxlKSkKKyAgICAgICAgIChzYXZlLWZpbGUg KGNvbmNhdCB2Yy1jYWNoZS1yb290IHJldmQtZmlsZSkpCisgICAgICAgICA7OyBTb21lIGhvb2tz IGFzc3VtZSB0aGF0IGJ1ZmZlci1maWxlLW5hbWUgYXNzb2NpYXRlcyBhIGJ1ZmZlciB3aXRoCisg ICAgICAgICA7OyBhIHRydWUgZmlsZS4gIFRoaXMgbWFwcGluZyBpcyB3aWRlbHkgYXNzdW1lZCB0 byBiZSBvbmUtdG8tb25lLgorICAgICAgICAgOzsgVG8gYXZvaWQgcnVubmluZyBhZm91bCBvZiB0 aGF0IGFzc3VtcHRpb24gdGhpcyBmaWN0aXRpb3VzIHBhdGgKKyAgICAgICAgIDs7IGlzIGV4cGVj dGVkIHRvIGJlIHVuaXF1ZSAoYnVnIzM5MTkwKS4gIFRoaXMgcGF0aCBhbHNvIGhhcyB0aGUKKyAg ICAgICAgIDs7IHZpcnR1ZSB0aGF0IGl0IGV4aGliaXRzIHRoZSBzYW1lIGZpbGUgdHlwZSAoZXh0 ZW5zaW9uKSBhcyBGSUxFLgorICAgICAgICAgOzsgVGhpcyBpbXByb3ZlcyBzZXR0aW5nIHRoZSBi dWZmZXJzIG1vZGVzLgorICAgICAgICAgKHByZXRlbmQgKGNvbmNhdCB0cnVlLWRpciAiUFJFVE5F RC8iIHRydWUtbmFtZSkpCisgICAgICAgICAocmV2YnVmIChvciBidWZmZXIgKGdldC1maWxlLWJ1 ZmZlciBzYXZlLWZpbGUpIChnZXQtYnVmZmVyLWNyZWF0ZSByZXZkLW5hbWUpKSkKKyAgICAgICAg IChjb2Rpbmctc3lzdGVtLWZvci1yZWFkICduby1jb252ZXJzaW9uKQorICAgICAgICAgKGZhaWxl ZCB0KSkKKworICAgICh3aXRoLWN1cnJlbnQtYnVmZmVyIHJldmJ1ZgorICAgICAgKHVud2luZC1w cm90ZWN0CisgICAgICAgICAgKHByb2duCisgICAgICAgICAgICA7OyBQcmVwIHJldmJ1ZiBpbiBj YXNlIGl0IGlzIGJlaW5nIHJldXNlZC4KKyAgICAgICAgICAgIChzZXRxIGJ1ZmZlci1maWxlLW5h bWUgbmlsKSA7IENhbmNlbCBhbnkgcHJpb3IgZmlsZSB2aXNpdGF0aW9uCisgICAgICAgICAgICAo c2V0cSB2Yy1wYXJlbnQtYnVmZmVyIG5pbCkKKyAgICAgICAgICAgIChzZXRxIHZjLXRtLS1yZXZp c2lvbiBuaWwpCisgICAgICAgICAgICAoc2V0cSBidWZmZXItcmVhZC1vbmx5IG5pbCkKKyAgICAg ICAgICAgIChidWZmZXItZGlzYWJsZS11bmRvKQorICAgICAgICAgICAgKGVyYXNlLWJ1ZmZlcikK KworICAgICAgICAgICAgOzsgRmV0Y2ggdGhlIHJlcXVlc3RlZCByZXZpc2lvbi4KKyAgICAgICAg ICAgIChtZXNzYWdlICJGZXRjaGluZyAlcy4uLiIgcmV2ZC1maWxlKQorICAgICAgICAgICAgKGNv bmQKKyAgICAgICAgICAgICA7OyBBIGNhY2hlZCBmaWxlIGlzIHZpYWJsZSBJRkYgaXQgaXMgbm90 IHdyaXRhYmxlLgorICAgICAgICAgICAgICgoYW5kIChmaWxlLWV4aXN0cy1wIHNhdmUtZmlsZSkg KG5vdCAoZmlsZS13cml0YWJsZS1wIHNhdmUtZmlsZSkpKQorICAgICAgICAgICAgICAoaW5zZXJ0 LWZpbGUtY29udGVudHMgc2F2ZS1maWxlIHQpKQorICAgICAgICAgICAgIChiYWNrZW5kCisgICAg ICAgICAgICAgICh2Yy1jYWxsLWJhY2tlbmQgYmFja2VuZCAnZmluZC1yZXZpc2lvbiBmaWxlIHJl dmlzaW9uIHJldmJ1ZikpCisgICAgICAgICAgICAgKHQKKyAgICAgICAgICAgICAgKHZjLWNhbGwg ZmluZC1yZXZpc2lvbiBmaWxlIHJldmlzaW9uIHJldmJ1ZikpKQorICAgICAgICAgICAgKHNldHEg YnVmZmVyLWZpbGUtbmFtZSBuaWwpCisgICAgICAgICAgICAobWVzc2FnZSAiRmV0Y2hpbmcgJXMu Li5kb25lIiByZXZkLWZpbGUpCisKKyAgICAgICAgICAgIDs7IENhY2hlIHJldmlzaW9uIHBlciB0 aGUgdXNlcidzIChUT0RPOiBvciB0aGUgYmFja2VuZCdzKSBkZXNpcmUuCisgICAgICAgICAgICAo d2hlbiAob3IgKGlmIChmaWxlLWV4aXN0cy1wIHNhdmUtZmlsZSkKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgKGZpbGUtd3JpdGFibGUtcCBzYXZlLWZpbGUpCisgICAgICAgICAgICAgICAgICAg ICAgICB2Yy1maW5kLXJldmlzaW9uLWNhY2hlKSkKKyAgICAgICAgICAgICAgKG1ha2UtZGlyZWN0 b3J5IHNhdmUtZGlyIHQpCisgICAgICAgICAgICAgICh2Yy0tc2FmZS1kZWxldGUtZmlsZSBzYXZl LWZpbGUpCisgICAgICAgICAgICAgIDs7IEJhY2tlbmQncyBvdXRwdXQgd2FzIHJlYWQgd2l0aCAn bm8tY29udmVyc2lvbnM7IGRvIHRoZSBzYW1lIGZvciB3cml0ZQorICAgICAgICAgICAgICAoc2V0 cSBidWZmZXItZmlsZS1jb2Rpbmctc3lzdGVtICduby1jb252ZXJzaW9uKQorICAgICAgICAgICAg ICAod3JpdGUtcmVnaW9uIG5pbCBuaWwgc2F2ZS1maWxlKQorICAgICAgICAgICAgICAoc2V0LWZp bGUtbW9kZXMgc2F2ZS1maWxlIChsb2dhbmQgKGZpbGUtbW9kZXMgc2F2ZS1maWxlKSAjbzc1NTUp KSkKKworICAgICAgICAgICAgOzsgU2V0dXAgcmV2YnVmJ3MgbW9kZXMgYmFzZWQgb24gaXQgY29u dGVudHMgYW5kIHByZXRlbmQgZmlsZSBuYW1lLgorICAgICAgICAgICAgKGxldCAoKGVuYWJsZS1s b2NhbC12YXJpYWJsZXMgOnNhZmUpCisgICAgICAgICAgICAgICAgICAoYnVmZmVyLWZpbGUtbmFt ZSBwcmV0ZW5kKSkgOzsgdG8gZmluZCBgbW9kZTonCisgICAgICAgICAgICAgICh3aGVuIChmaWxl LWV4aXN0cy1wIHByZXRlbmQpCisgICAgICAgICAgICAgICAgKGVycm9yICJQUkVURU5EIGZpbGUg YWN0dWFsbHkgZXhpc3RzIikpCisgICAgICAgICAgICAgIChpZ25vcmUtZXJyb3JzIChzZXQtYXV0 by1tb2RlKSkKKyAgICAgICAgICAgICAgKHZjLS1zYWZlLWRlbGV0ZS1maWxlIHByZXRlbmQpCisg ICAgICAgICAgICAgIDs7IHZjLXBhcmVudC1idWZmZXIgZW5hYmxlcyBDLXggdiBnLCBDLXggdiBs LCAuLi4gZXRjLgorICAgICAgICAgICAgICAoc2V0cSB2Yy1wYXJlbnQtYnVmZmVyIHBhcmVudCkK KyAgICAgICAgICAgICAgKHNldHEgdmMtdG0tLXJldmlzaW9uIHJldmlzaW9uKSkKKworICAgICAg ICAgICAgOzsgSW5kaWNhdGUgc3VjY2VzZnVsIG5lZ290aWF0aW9uIG9mIHRoZSBvYnN0YWNsZSBj b3Vyc2UuCisgICAgICAgICAgICAoc2V0cSBmYWlsZWQgbmlsKSkKKworICAgICAgICAod2hlbiBm YWlsZWQKKyAgICAgICAgICAodmMtLXNhZmUtZGVsZXRlLWZpbGUgc2F2ZS1maWxlKQorICAgICAg ICAgICh2Yy0tc2FmZS1kZWxldGUtZmlsZSBwcmV0ZW5kKQorICAgICAgICAgIChlcmFzZS1idWZm ZXIpKSkKKworICAgICAgOzsgU2V0dXAgZmluYWwgcmV2YnVmIGNvbmZpZ3VyYXRpb24uCisgICAg ICAoc2V0cSBidWZmZXItZmlsZS1uYW1lIG5pbCkKKyAgICAgIChzZXQtYnVmZmVyLW1vZGlmaWVk LXAgbmlsKQorICAgICAgKHNldHEgYnVmZmVyLXJlYWQtb25seSB0KQorICAgICAgKGdvdG8tY2hh ciAocG9pbnQtbWluKSkKKyAgICAgIHJldmJ1ZikpKQorCisoZGVmdW4gdmMtLXNhZmUtZGVsZXRl LWZpbGUgKGZpbGUpCisgICJJZiBGSUxFIGV4aXN0cyBkZWxldGUgaXQsIGV2ZW4gaWYgaXRzIHBl cm1pc3Npb25zIHNheSBpdCBpcyByZWFkb25seS4iCisgICh3aGVuIChmaWxlLWV4aXN0cy1wIGZp bGUpCisgICAgKHNldC1maWxlLW1vZGVzIGZpbGUgKGxvZ2lvciAoZmlsZS1tb2RlcyBmaWxlKSAj bzIyMikpCisgICAgKGRlbGV0ZS1maWxlIGZpbGUpKSkKIAogOzsgSGVhZGVyLWluc2VydGlvbiBj b2RlCiAKLS0gCjIuMzcuMgoK --0000000000002ddb5005f3224a44--