From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 3184 invoked from network); 21 Mar 2021 17:58:40 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 21 Mar 2021 17:58:40 -0000 Content-Type: multipart/mixed; boundary="===============8816156580141704040==" MIME-Version: 1.0 Subject: =?utf8?q?=5BPR_PATCH=5D_New_package=3A_FreeFileSync-11=2E8?= To: ml@inbox.vuxu.org From: Nicop06 Reply-to: ml@inbox.vuxu.org Message-ID: Date: Sun, 21 Mar 2021 18:58:33 +0100 List-Id: GitHub notification mails are now in MIME to allow UTF8. --===============8816156580141704040== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYSBuZXcgcHVsbCByZXF1ZXN0IGJ5IE5pY29wMDYgYWdhaW5zdCBtYXN0ZXIgb24g dGhlIHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29tL05pY29wMDYv dm9pZC1wYWNrYWdlcyBGcmVlRmlsZVN5bmMKaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgv dm9pZC1wYWNrYWdlcy9wdWxsLzI5NjYzCgpOZXcgcGFja2FnZTogRnJlZUZpbGVTeW5jLTExLjgK VGhpcyBwYWNrYWdlIGlzIGJhc2VkIG9uIHRoZSBBVVIgcGFja2FnZSBmcmVlZmlsZXN5bmM6IGh0 dHBzOi8vYXVyLmFyY2hsaW51eC5vcmcvcGFja2FnZXMvZnJlZWZpbGVzeW5jLwoKPCEtLSBNYXJr IGl0ZW1zIHdpdGggW3hdIHdoZXJlIGFwcGxpY2FibGUgLS0+CgojIyMjIEdlbmVyYWwKLSBbWF0g VGhpcyBpcyBhIG5ldyBwYWNrYWdlIGFuZCBpdCBjb25mb3JtcyB0byB0aGUgW3F1YWxpdHkgcmVx dWlyZW1lbnRzXShodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL2Js b2IvbWFzdGVyL01hbnVhbC5tZCNxdWFsaXR5LXJlcXVpcmVtZW50cykKCiMjIyMgSGF2ZSB0aGUg cmVzdWx0cyBvZiB0aGUgcHJvcG9zZWQgY2hhbmdlcyBiZWVuIHRlc3RlZD8KLSBbIF0gSSB1c2Ug dGhlIHBhY2thZ2VzIGFmZmVjdGVkIGJ5IHRoZSBwcm9wb3NlZCBjaGFuZ2VzIG9uIGEgcmVndWxh ciBiYXNpcyBhbmQgY29uZmlybSB0aGlzIFBSIHdvcmtzIGZvciBtZQotIFtYXSBJIGdlbmVyYWxs eSBkb24ndCB1c2UgdGhlIGFmZmVjdGVkIHBhY2thZ2VzIGJ1dCBicmllZmx5IHRlc3RlZCB0aGlz IFBSCgo8IS0tCklmIEdpdEh1YiBDSSBjYW5ub3QgYmUgdXNlZCB0byB2YWxpZGF0ZSB0aGUgYnVp bGQgcmVzdWx0IChmb3IgZXhhbXBsZSwgaWYgdGhlCmJ1aWxkIGlzIGxpa2VseSB0byB0YWtlIHNl dmVyYWwgaG91cnMpLCBtYWtlIHN1cmUgdG8KW3NraXAgQ0ldKGh0dHBzOi8vZ2l0aHViLmNvbS92 b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIvQ09OVFJJQlVUSU5HLm1kI2NvbnRp bnVvdXMtaW50ZWdyYXRpb24pLgpXaGVuIHNraXBwaW5nIENJLCB1bmNvbW1lbnQgYW5kIGZpbGwg b3V0IHRoZSBmb2xsb3dpbmcgc2VjdGlvbi4KTm90ZTogZm9yIGJ1aWxkcyB0aGF0IGFyZSBsaWtl bHkgdG8gY29tcGxldGUgaW4gbGVzcyB0aGFuIDIgaG91cnMsIGl0IGlzIG5vdAphY2NlcHRhYmxl IHRvIHNraXAgQ0kuCi0tPgo8IS0tIAojIyMjIERvZXMgaXQgYnVpbGQgYW5kIHJ1biBzdWNjZXNz ZnVsbHk/IAooUGxlYXNlIGNob29zZSBhdCBsZWFzdCBvbmUgbmF0aXZlIGJ1aWxkIGFuZCwgaWYg c3VwcG9ydGVkLCBhdCBsZWFzdCBvbmUgY3Jvc3MgYnVpbGQuIE1vcmUgYXJlIGJldHRlci4pCi0g WyBdIEkgYnVpbHQgdGhpcyBQUiBsb2NhbGx5IGZvciBteSBuYXRpdmUgYXJjaGl0ZWN0dXJlLCAo QVJDSC1MSUJDKQotIFsgXSBJIGJ1aWx0IHRoaXMgUFIgbG9jYWxseSBmb3IgdGhlc2UgYXJjaGl0 ZWN0dXJlcyAoaWYgc3VwcG9ydGVkLiBtYXJrIGNyb3NzYnVpbGRzKToKICAtIFsgXSBhYXJjaDY0 LW11c2wKICAtIFsgXSBhcm12N2wKICAtIFsgXSBhcm12NmwtbXVzbAotLT4KCkEgcGF0Y2ggZmls ZSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVsbC8y OTY2My5wYXRjaCBpcyBhdHRhY2hlZA== --===============8816156580141704040== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-FreeFileSync-29663.patch" RnJvbSAwNzNkOTU5ZjhhN2Q5ODNhODcwNDFmNGQ1MTBkZGFjNzk5NWEwNTQzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOaWNvbGFzIFBvcmNlbCA8bmljb2xhc3BvcmNlbDA2QGdtYWls LmNvbT4KRGF0ZTogV2VkLCAxNyBNYXIgMjAyMSAwMTowOTo0MCArMDAwMApTdWJqZWN0OiBbUEFU Q0hdIE5ldyBwYWNrYWdlOiBGcmVlRmlsZVN5bmMtMTEuOAoKLS0tCiAuLi4vRnJlZUZpbGVTeW5j L2ZpbGVzL0ZyZWVGaWxlU3luYy5kZXNrdG9wICAgfCAgMTEgKysKIC4uLi9GcmVlRmlsZVN5bmMv ZmlsZXMvUmVhbFRpbWVTeW5jLmRlc2t0b3AgICB8ICAxMSArKwogLi4uL3BhdGNoZXMvcmV2ZXJz aW9uc18xMS0xLnBhdGNoICAgICAgICAgICAgIHwgIDYyICsrKysrKwogLi4uL3BhdGNoZXMvcmV2 ZXJ0X2J1bGtfYXBwZW5kLnBhdGNoICAgICAgICAgIHwgIDUxICsrKysrCiAuLi4vcGF0Y2hlcy9y ZXZlcnRfbGlua2ZsYWdzLnBhdGNoICAgICAgICAgICAgfCAgMzMgKysrKwogLi4uL3BhdGNoZXMv cmV2ZXJ0X3d4Z3RrXzMuMS4wLnBhdGNoICAgICAgICAgIHwgMTgxICsrKysrKysrKysrKysrKysr Kwogc3JjcGtncy9GcmVlRmlsZVN5bmMvdGVtcGxhdGUgICAgICAgICAgICAgICAgIHwgIDQyICsr KysKIDcgZmlsZXMgY2hhbmdlZCwgMzkxIGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDc1 NSBzcmNwa2dzL0ZyZWVGaWxlU3luYy9maWxlcy9GcmVlRmlsZVN5bmMuZGVza3RvcAogY3JlYXRl IG1vZGUgMTAwNjQ0IHNyY3BrZ3MvRnJlZUZpbGVTeW5jL2ZpbGVzL1JlYWxUaW1lU3luYy5kZXNr dG9wCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9GcmVlRmlsZVN5bmMvcGF0Y2hlcy9yZXZl cnNpb25zXzExLTEucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL0ZyZWVGaWxlU3lu Yy9wYXRjaGVzL3JldmVydF9idWxrX2FwcGVuZC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNy Y3BrZ3MvRnJlZUZpbGVTeW5jL3BhdGNoZXMvcmV2ZXJ0X2xpbmtmbGFncy5wYXRjaAogY3JlYXRl IG1vZGUgMTAwNjQ0IHNyY3BrZ3MvRnJlZUZpbGVTeW5jL3BhdGNoZXMvcmV2ZXJ0X3d4Z3RrXzMu MS4wLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9GcmVlRmlsZVN5bmMvdGVtcGxh dGUKCmRpZmYgLS1naXQgYS9zcmNwa2dzL0ZyZWVGaWxlU3luYy9maWxlcy9GcmVlRmlsZVN5bmMu ZGVza3RvcCBiL3NyY3BrZ3MvRnJlZUZpbGVTeW5jL2ZpbGVzL0ZyZWVGaWxlU3luYy5kZXNrdG9w Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMC4uYjk0ZTQ3OTlkMTIzCi0t LSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9GcmVlRmlsZVN5bmMvZmlsZXMvRnJlZUZpbGVTeW5j LmRlc2t0b3AKQEAgLTAsMCArMSwxMSBAQAorW0Rlc2t0b3AgRW50cnldCitUeXBlPUFwcGxpY2F0 aW9uCitOYW1lPUZyZWVGaWxlU3luYworR2VuZXJpY05hbWU9Rm9sZGVyIENvbXBhcmlzb24gYW5k IFN5bmNocm9uaXphdGlvbgorR2VuZXJpY05hbWVbZGVfREVdPU9yZG5lcnZlcmdsZWljaCB1bmQg U3luY2hyb25pc2F0aW9uCitFeGVjPUZyZWVGaWxlU3luYyAlRgorSWNvbj0vdXNyL3NoYXJlL3Bp eG1hcHMvRnJlZUZpbGVTeW5jLnBuZworTm9EaXNwbGF5PWZhbHNlCitUZXJtaW5hbD1mYWxzZQor Q2F0ZWdvcmllcz1VdGlsaXR5O0ZpbGVUb29sczsKK1N0YXJ0dXBOb3RpZnk9dHJ1ZQpkaWZmIC0t Z2l0IGEvc3JjcGtncy9GcmVlRmlsZVN5bmMvZmlsZXMvUmVhbFRpbWVTeW5jLmRlc2t0b3AgYi9z cmNwa2dzL0ZyZWVGaWxlU3luYy9maWxlcy9SZWFsVGltZVN5bmMuZGVza3RvcApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmRmZDUzM2ZmZDg4YQotLS0gL2Rldi9udWxs CisrKyBiL3NyY3BrZ3MvRnJlZUZpbGVTeW5jL2ZpbGVzL1JlYWxUaW1lU3luYy5kZXNrdG9wCkBA IC0wLDAgKzEsMTEgQEAKK1tEZXNrdG9wIEVudHJ5XQorVHlwZT1BcHBsaWNhdGlvbgorTmFtZT1S ZWFsVGltZVN5bmMKK0dlbmVyaWNOYW1lPUF1dG9tYXRlZCBTeW5jaHJvbml6YXRpb24KK0dlbmVy aWNOYW1lW2RlX0RFXT1BdXRvbWF0aXNpZXJ0ZSBTeW5jaHJvbmlzYXRpb24KK0V4ZWM9UmVhbFRp bWVTeW5jICVmCitJY29uPS91c3Ivc2hhcmUvcGl4bWFwcy9SZWFsVGltZVN5bmMucG5nCitOb0Rp c3BsYXk9ZmFsc2UKK1Rlcm1pbmFsPWZhbHNlCitDYXRlZ29yaWVzPVV0aWxpdHk7RmlsZVRvb2xz OworU3RhcnR1cE5vdGlmeT10cnVlCmRpZmYgLS1naXQgYS9zcmNwa2dzL0ZyZWVGaWxlU3luYy9w YXRjaGVzL3JldmVyc2lvbnNfMTEtMS5wYXRjaCBiL3NyY3BrZ3MvRnJlZUZpbGVTeW5jL3BhdGNo ZXMvcmV2ZXJzaW9uc18xMS0xLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwMC4uMmQ1NWVhZmU0NzQ4Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9GcmVlRmls ZVN5bmMvcGF0Y2hlcy9yZXZlcnNpb25zXzExLTEucGF0Y2gKQEAgLTAsMCArMSw2MiBAQAorLS0t IEZyZWVGaWxlU3luYy9Tb3VyY2UvdWkvZ3VpX3N0YXR1c19oYW5kbGVyLmNwcAorKysrIEZyZWVG aWxlU3luYy9Tb3VyY2UvdWkvZ3VpX3N0YXR1c19oYW5kbGVyLmNwcAorQEAgLTQzLDggKzQzLDgg QEAgU3RhdHVzSGFuZGxlclRlbXBvcmFyeVBhbmVsOjpTdGF0dXNIYW5kbGVyVGVtcG9yYXJ5UGFu ZWwoTWFpbkRpYWxvZyYgZGxnLAorICAgICBtYWluRGxnXy5VcGRhdGUoKTsgLy9kb24ndCB3YWl0 IHVudGlsIGlkbGUgZXZlbnQhCisgCisgICAgIC8vcmVnaXN0ZXIga2V5cworLSAgICBtYWluRGxn Xy4gICAgICAgICAgICAgICAgQmluZCh3eEVWVF9DSEFSX0hPT0ssICAgICAgICAgICAgICAmU3Rh dHVzSGFuZGxlclRlbXBvcmFyeVBhbmVsOjpvbkxvY2FsS2V5RXZlbnQsIHRoaXMpOworLSAgICBt YWluRGxnXy5tX2J1dHRvbkNhbmNlbC0+QmluZCh3eEVWVF9DT01NQU5EX0JVVFRPTl9DTElDS0VE LCAmU3RhdHVzSGFuZGxlclRlbXBvcmFyeVBhbmVsOjpvbkFib3J0Q29tcGFyZSwgIHRoaXMpOwor KyAgICBtYWluRGxnXy5Db25uZWN0KHd4RVZUX0NIQVJfSE9PSywgd3hLZXlFdmVudEhhbmRsZXIo U3RhdHVzSGFuZGxlclRlbXBvcmFyeVBhbmVsOjpPbktleVByZXNzZWQpLCBudWxscHRyLCB0aGlz KTsKKysgICAgbWFpbkRsZ18ubV9idXR0b25DYW5jZWwtPkNvbm5lY3Qod3hFVlRfQ09NTUFORF9C VVRUT05fQ0xJQ0tFRCwgd3hDb21tYW5kRXZlbnRIYW5kbGVyKFN0YXR1c0hhbmRsZXJUZW1wb3Jh cnlQYW5lbDo6T25BYm9ydENvbXBhcmUpLCBudWxscHRyLCB0aGlzKTsKKyB9CisgCisgCitAQCAt MTI4LDkgKzEyOCw4IEBAIFN0YXR1c0hhbmRsZXJUZW1wb3JhcnlQYW5lbDo6flN0YXR1c0hhbmRs ZXJUZW1wb3JhcnlQYW5lbCgpCisgICAgIG1haW5EbGdfLmF1aU1ncl8uVXBkYXRlKCk7CisgCisg ICAgIC8vdW5yZWdpc3RlciBrZXlzCistICAgIFtbbWF5YmVfdW51c2VkXV0gYm9vbCB1Yk9rMSA9 IG1haW5EbGdfLiAgICAgICAgICAgICAgICBVbmJpbmQod3hFVlRfQ0hBUl9IT09LLCAgICAgICAg ICAgICAgJlN0YXR1c0hhbmRsZXJUZW1wb3JhcnlQYW5lbDo6b25Mb2NhbEtleUV2ZW50LCB0aGlz KTsKKy0gICAgW1ttYXliZV91bnVzZWRdXSBib29sIHViT2syID0gbWFpbkRsZ18ubV9idXR0b25D YW5jZWwtPlVuYmluZCh3eEVWVF9DT01NQU5EX0JVVFRPTl9DTElDS0VELCAmU3RhdHVzSGFuZGxl clRlbXBvcmFyeVBhbmVsOjpvbkFib3J0Q29tcGFyZSwgIHRoaXMpOworLSAgICBhc3NlcnQodWJP azEgJiYgdWJPazIpOworKyAgICBtYWluRGxnXy5EaXNjb25uZWN0KHd4RVZUX0NIQVJfSE9PSywg d3hLZXlFdmVudEhhbmRsZXIoU3RhdHVzSGFuZGxlclRlbXBvcmFyeVBhbmVsOjpPbktleVByZXNz ZWQpLCBudWxscHRyLCB0aGlzKTsKKysgICAgbWFpbkRsZ18ubV9idXR0b25DYW5jZWwtPkRpc2Nv bm5lY3Qod3hFVlRfQ09NTUFORF9CVVRUT05fQ0xJQ0tFRCwgd3hDb21tYW5kRXZlbnRIYW5kbGVy KFN0YXR1c0hhbmRsZXJUZW1wb3JhcnlQYW5lbDo6T25BYm9ydENvbXBhcmUpLCBudWxscHRyLCB0 aGlzKTsKKyAKKyAgICAgbWFpbkRsZ18uY29tcGFyZVN0YXR1c18tPnRlYXJkb3duKCk7CisgCitA QCAtMzE0LDIwICszMTMsMjAgQEAgdm9pZCBTdGF0dXNIYW5kbGVyVGVtcG9yYXJ5UGFuZWw6OmZv cmNlVWlVcGRhdGVOb1Rocm93KCkKKyB9CisgCisgCistdm9pZCBTdGF0dXNIYW5kbGVyVGVtcG9y YXJ5UGFuZWw6Om9uTG9jYWxLZXlFdmVudCh3eEtleUV2ZW50JiBldmVudCkKKyt2b2lkIFN0YXR1 c0hhbmRsZXJUZW1wb3JhcnlQYW5lbDo6T25LZXlQcmVzc2VkKHd4S2V5RXZlbnQmIGV2ZW50KQor IHsKKyAgICAgY29uc3QgaW50IGtleUNvZGUgPSBldmVudC5HZXRLZXlDb2RlKCk7CisgICAgIGlm IChrZXlDb2RlID09IFdYS19FU0NBUEUpCisgICAgIHsKKyAgICAgICAgIHd4Q29tbWFuZEV2ZW50 IGR1bW15OworLSAgICAgICAgb25BYm9ydENvbXBhcmUoZHVtbXkpOworKyAgICAgICAgT25BYm9y dENvbXBhcmUoZHVtbXkpOworICAgICB9CisgCisgICAgIGV2ZW50LlNraXAoKTsKKyB9CisgCisg Cistdm9pZCBTdGF0dXNIYW5kbGVyVGVtcG9yYXJ5UGFuZWw6Om9uQWJvcnRDb21wYXJlKHd4Q29t bWFuZEV2ZW50JiBldmVudCkKKyt2b2lkIFN0YXR1c0hhbmRsZXJUZW1wb3JhcnlQYW5lbDo6T25B Ym9ydENvbXBhcmUod3hDb21tYW5kRXZlbnQmIGV2ZW50KQorIHsKKyAgICAgdXNlclJlcXVlc3RB Ym9ydCgpOworIH0KKy0tLSBGcmVlRmlsZVN5bmMvU291cmNlL3VpL2d1aV9zdGF0dXNfaGFuZGxl ci5oCisrKysgRnJlZUZpbGVTeW5jL1NvdXJjZS91aS9ndWlfc3RhdHVzX2hhbmRsZXIuaAorQEAg LTQxLDggKzQxLDggQEAgcHVibGljOgorICAgICBSZXN1bHQgcmVwb3J0UmVzdWx0cygpOyAvL25v ZXhjZXB0ISEKKyAKKyBwcml2YXRlOgorLSAgICB2b2lkIG9uTG9jYWxLZXlFdmVudCh3eEtleUV2 ZW50JiBldmVudCk7CistICAgIHZvaWQgb25BYm9ydENvbXBhcmUod3hDb21tYW5kRXZlbnQmIGV2 ZW50KTsgLy9oYW5kbGUgYWJvcnQgYnV0dG9uIGNsaWNrCisrICAgIHZvaWQgT25LZXlQcmVzc2Vk KHd4S2V5RXZlbnQmIGV2ZW50KTsKKysgICAgdm9pZCBPbkFib3J0Q29tcGFyZSh3eENvbW1hbmRF dmVudCYgZXZlbnQpOyAvL2hhbmRsZSBhYm9ydCBidXR0b24gY2xpY2sKKyAgICAgdm9pZCBzaG93 U3RhdHNQYW5lbCgpOworIAorICAgICBNYWluRGlhbG9nJiBtYWluRGxnXzsKZGlmZiAtLWdpdCBh L3NyY3BrZ3MvRnJlZUZpbGVTeW5jL3BhdGNoZXMvcmV2ZXJ0X2J1bGtfYXBwZW5kLnBhdGNoIGIv c3JjcGtncy9GcmVlRmlsZVN5bmMvcGF0Y2hlcy9yZXZlcnRfYnVsa19hcHBlbmQucGF0Y2gKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5iZjllOTI4OGFmZTkKLS0tIC9k ZXYvbnVsbAorKysgYi9zcmNwa2dzL0ZyZWVGaWxlU3luYy9wYXRjaGVzL3JldmVydF9idWxrX2Fw cGVuZC5wYXRjaApAQCAtMCwwICsxLDUxIEBACistLS0gRnJlZUZpbGVTeW5jL1NvdXJjZS91aS9j b21tYW5kX2JveC5jcHAJMjAyMC0wNi0xOCAxOToxNjo1Mi4wMDAwMDAwMDAgKzAyMDAKKysrKyBG cmVlRmlsZVN5bmMvU291cmNlL3VpL2NvbW1hbmRfYm94LmNwcAkyMDIwLTA2LTIxIDEwOjQ1OjIz LjI2NTU3OTAyMyArMDIwMAorQEAgLTEyMCw3ICsxMjAsOCBAQAorIAorICAgICAvL3RoaXMtPkNs ZWFyKCk7IC0+IE5PISBlbWl0cyB5ZXQgYW5vdGhlciB3eEVWVF9DT01NQU5EX1RFWFRfVVBEQVRF RCEhIQorICAgICB3eEl0ZW1Db250YWluZXI6OkNsZWFyKCk7IC8vc3VmZmljZXMgdG8gY2xlYXIg dGhlIHNlbGVjdGlvbiBpdGVtcyBvbmx5IQorLSAgICB0aGlzLT5BcHBlbmQoaXRlbXMpOyAvL2V4 cGVuc2l2ZSBhcyBmdWNrISA9PiBvbmx5IGNhbGwgd2hlbiBhYnNvbHV0ZWx5IG5lZWRlZCEKKysg ICAgZm9yIChjb25zdCB3eFN0cmluZyYgaXRlbSA6IGl0ZW1zKQorKyAgICAgICAgdGhpcy0+QXBw ZW5kKGl0ZW0pOyAKKyAKKyAgICAgLy90aGlzLT5TZXRTZWxlY3Rpb24od3hOT1RfRk9VTkQpOyAv L2Rvbid0IHNlbGVjdCBhbnl0aGluZworICAgICBDaGFuZ2VWYWx1ZSh2YWx1ZSk7IC8vcHJlc2Vy dmUgbWFpbiB0ZXh0IQorLS0tIEZyZWVGaWxlU3luYy9Tb3VyY2UvdWkvZm9sZGVyX2hpc3Rvcnlf Ym94LmNwcAkyMDIwLTA2LTE4IDE5OjE2OjUyLjAwMDAwMDAwMCArMDIwMAorKysrIEZyZWVGaWxl U3luYy9Tb3VyY2UvdWkvZm9sZGVyX2hpc3RvcnlfYm94LmNwcAkyMDIwLTA2LTIxIDEwOjQ1OjIz LjI2NTU3OTAyMyArMDIwMAorQEAgLTkwLDcgKzkwLDggQEAKKyAKKyAgICAgLy90aGlzLT5DbGVh cigpOyAtPiBOTyEgZW1pdHMgeWV0IGFub3RoZXIgd3hFVlRfQ09NTUFORF9URVhUX1VQREFURUQh ISEKKyAgICAgd3hJdGVtQ29udGFpbmVyOjpDbGVhcigpOyAvL3N1ZmZpY2VzIHRvIGNsZWFyIHRo ZSBzZWxlY3Rpb24gaXRlbXMgb25seSEKKy0gICAgdGhpcy0+QXBwZW5kKGl0ZW1zKTsgLy9leHBl bnNpdmUgYXMgZnVjayEgPT4gb25seSBjYWxsIHdoZW4gYWJzb2x1dGVseSBuZWVkZWQhCisrICAg IGZvciAoY29uc3Qgd3hTdHJpbmcmIGl0ZW0gOiBpdGVtcykKKysgICAgICAgIHRoaXMtPkFwcGVu ZChpdGVtKTsgCisgCisgICAgIC8vdGhpcy0+U2V0U2VsZWN0aW9uKHd4Tk9UX0ZPVU5EKTsgLy9k b24ndCBzZWxlY3QgYW55dGhpbmcKKyAgICAgQ2hhbmdlVmFsdWUoZm9sZGVyUGF0aFBocmFzZSk7 IC8vcHJlc2VydmUgbWFpbiB0ZXh0IQorLS0tIEZyZWVGaWxlU3luYy9Tb3VyY2UvdWkvc21hbGxf ZGxncy5jcHAJMjAyMC0wNi0xOCAxOToxNjo1Mi4wMDAwMDAwMDAgKzAyMDAKKysrKyBGcmVlRmls ZVN5bmMvU291cmNlL3VpL3NtYWxsX2RsZ3MuY3BwCTIwMjAtMDYtMjEgMTE6MzU6NTMuNDk0NDEy Mjg0ICswMjAwCitAQCAtMjkzLDcgKzI5Myw5IEBACisgICAgIHsKKyAgICAgICAgIHNob3dOb3Rp ZmljYXRpb25EaWFsb2codGhpcywgRGlhbG9nSW5mb1R5cGU6OmVycm9yLCBQb3B1cERpYWxvZ0Nm ZygpLnNldERldGFpbEluc3RydWN0aW9ucyhlLnRvU3RyaW5nKCkpKTsKKyAgICAgfQorLSAgICBt X2xpc3RCb3hHZHJpdmVVc2Vycy0+QXBwZW5kKGdkcml2ZUFjY291bnRzKTsKKysgICAgZm9yIChh dXRvIGNvbnN0JiBhY2NvdW50OiBnZHJpdmVBY2NvdW50cykgeworKyAgICAgICAgbV9saXN0Qm94 R2RyaXZlVXNlcnMtPkFwcGVuZChhY2NvdW50KTsKKysgICAgfQorIAorICAgICAvL3NldCBkZWZh dWx0IHZhbHVlcyBmb3IgR29vZ2xlIERyaXZlOiB1c2UgZmlyc3QgaXRlbSBvZiBtX2xpc3RCb3hH ZHJpdmVVc2VycworICAgICBpZiAoIWdkcml2ZUFjY291bnRzLmVtcHR5KCkgJiYgIWFjY2VwdHNJ dGVtUGF0aFBocmFzZUdkcml2ZShmb2xkZXJQYXRoUGhyYXNlKSkKKy0tLSB3eCsvY2hvaWNlX2Vu dW0uaAkyMDIwLTA2LTE4IDE5OjE2OjUxLjAwMDAwMDAwMCArMDIwMAorKysrIHd4Ky9jaG9pY2Vf ZW51bS5oCTIwMjAtMDYtMjEgMTA6NDU6MjMuMjY4OTEyMzI5ICswMjAwCitAQCAtNzksNyArNzks MTAgQEAKKyAKKyAgICAgaWYgKGl0ZW1zICE9IGl0ZW1zU2V0TGFzdCkKKyAgICAgeworLSAgICAg ICAgY3RybC5TZXQoaXRlbXMpOyAvL2V4cGVuc2l2ZSBhcyBmdWNrISA9PiBvbmx5IGNhbGwgd2hl biBhYnNvbHV0ZWx5IG5lZWRlZCEKKysgICAgICAgIGN0cmwuQ2xlYXIoKTsKKysgICAgICAgIGZv ciAoYXV0byBpdGVtIDogaXRlbXMpIHsKKysgICAgICAgICAgICBjdHJsLkFwcGVuZChpdGVtKTsK KysgICAgICAgIH0KKyAgICAgICAgIGl0ZW1zU2V0TGFzdCA9IHN0ZDo6bW92ZShpdGVtcyk7Cisg ICAgIH0KKyAgICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9GcmVlRmlsZVN5bmMv cGF0Y2hlcy9yZXZlcnRfbGlua2ZsYWdzLnBhdGNoIGIvc3JjcGtncy9GcmVlRmlsZVN5bmMvcGF0 Y2hlcy9yZXZlcnRfbGlua2ZsYWdzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMDAwMC4uN2U1OWQ0MjNmNGEzCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9GcmVl RmlsZVN5bmMvcGF0Y2hlcy9yZXZlcnRfbGlua2ZsYWdzLnBhdGNoCkBAIC0wLDAgKzEsMzMgQEAK Ky0tLSBGcmVlRmlsZVN5bmMvU291cmNlL01ha2VmaWxlCisrKysgRnJlZUZpbGVTeW5jL1NvdXJj ZS9NYWtlZmlsZQorQEAgLTQsNyArNCw3IEBACisgICAgICAgICAgICAtV2FsbCAtV2ZhdGFsLWVy cm9ycyAtV21pc3NpbmctaW5jbHVkZS1kaXJzIC1Xc3dpdGNoLWVudW0gLVdjYXN0LWFsaWduIC1X c2hhZG93IC1Xbm9uLXZpcnR1YWwtZHRvciBcCisgICAgICAgICAgICAtTzMgLUROREVCVUcgYHd4 LWNvbmZpZyAtLWN4eGZsYWdzIC0tZGVidWc9bm9gIC1wdGhyZWFkCisgCistbGlua0ZsYWdzID0g LXMgLW5vLXBpZSBgd3gtY29uZmlnIC0tbGlicyBzdGQsIGF1aSwgcmljaHRleHQgLS1kZWJ1Zz1u b2AgLXB0aHJlYWQKKytsaW5rRmxhZ3MgPSAtcyAtbm8tcGllIGB3eC1jb25maWcgLS1saWJzIHN0 ZCwgYXVpLCByaWNodGV4dCAtLWRlYnVnPW5vYCAtbHogLXB0aHJlYWQKKyAKKyAKKyBjeHhGbGFn cyAgKz0gYHBrZy1jb25maWcgLS1jZmxhZ3Mgb3BlbnNzbGAKK0BAIC0xNyw2ICsxNyw3IEBACisg bGlua0ZsYWdzICs9IGBwa2ctY29uZmlnIC0tbGlicyAgIGxpYnNzaDJgCisgCisgY3h4RmxhZ3Mg ICs9IGBwa2ctY29uZmlnIC0tY2ZsYWdzIGd0aystMi4wYAorK2xpbmtGbGFncyArPSBgcGtnLWNv bmZpZyAtLWxpYnMgICBndGsrLTIuMGAKKyAjdHJlYXQgYXMgc3lzdGVtIGhlYWRlcnMgc28gdGhh dCB3YXJuaW5ncyBhcmUgaGlkZGVuOgorIGN4eEZsYWdzICArPSAtaXN5c3RlbS91c3IvaW5jbHVk ZS9ndGstMi4wCisKKy0tLSBGcmVlRmlsZVN5bmMvU291cmNlL1JlYWxUaW1lU3luYy9NYWtlZmls ZQorKysrIEZyZWVGaWxlU3luYy9Tb3VyY2UvUmVhbFRpbWVTeW5jL01ha2VmaWxlCitAQCAtNCwx MCArNCwxMSBAQAorICAgICAgICAgICAgLVdhbGwgLVdmYXRhbC1lcnJvcnMgLVdtaXNzaW5nLWlu Y2x1ZGUtZGlycyAtV3N3aXRjaC1lbnVtIC1XY2FzdC1hbGlnbiAtV3NoYWRvdyAtV25vbi12aXJ0 dWFsLWR0b3IgXAorICAgICAgICAgICAgLU8zIC1ETkRFQlVHIGB3eC1jb25maWcgLS1jeHhmbGFn cyAtLWRlYnVnPW5vYCAtcHRocmVhZAorIAorLWxpbmtGbGFncyA9IC1zIC1uby1waWUgYHd4LWNv bmZpZyAtLWxpYnMgc3RkLCBhdWksIHJpY2h0ZXh0IC0tZGVidWc9bm9gIC1wdGhyZWFkCisrbGlu a0ZsYWdzID0gLXMgLW5vLXBpZSBgd3gtY29uZmlnIC0tbGlicyBzdGQsIGF1aSwgcmljaHRleHQg LS1kZWJ1Zz1ub2AgLWx6IC1wdGhyZWFkCisgCisgI0d0ayAtIHN1cHBvcnQgIm5vIGJ1dHRvbiBi b3JkZXIiCisgY3h4RmxhZ3MgICs9IGBwa2ctY29uZmlnIC0tY2ZsYWdzIGd0aystMi4wYAorK2xp bmtGbGFncyArPSBgcGtnLWNvbmZpZyAtLWxpYnMgICBndGsrLTIuMGAKKyAjdHJlYXQgYXMgc3lz dGVtIGhlYWRlcnMgc28gdGhhdCB3YXJuaW5ncyBhcmUgaGlkZGVuOgorIGN4eEZsYWdzICArPSAt aXN5c3RlbS91c3IvaW5jbHVkZS9ndGstMi4wCmRpZmYgLS1naXQgYS9zcmNwa2dzL0ZyZWVGaWxl U3luYy9wYXRjaGVzL3JldmVydF93eGd0a18zLjEuMC5wYXRjaCBiL3NyY3BrZ3MvRnJlZUZpbGVT eW5jL3BhdGNoZXMvcmV2ZXJ0X3d4Z3RrXzMuMS4wLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMDAwMC4uNmUxM2ZiZDU1YTc3Ci0tLSAvZGV2L251bGwKKysrIGIvc3Jj cGtncy9GcmVlRmlsZVN5bmMvcGF0Y2hlcy9yZXZlcnRfd3hndGtfMy4xLjAucGF0Y2gKQEAgLTAs MCArMSwxODEgQEAKKy0tLSBGcmVlRmlsZVN5bmMvU291cmNlL1JlYWxUaW1lU3luYy9mb2xkZXJf c2VsZWN0b3IyLmNwcAkyMDIxLTAzLTAzIDIwOjA2OjAyLjAwMDAwMDAwMCArMDAwMAorKysrIEZy ZWVGaWxlU3luYy9Tb3VyY2UvUmVhbFRpbWVTeW5jL2ZvbGRlcl9zZWxlY3RvcjIuY3BwCTIwMjEt MDMtMTcgMDA6NDM6MzQuMDAxNzMxNDQxICswMDAwCitAQCAtMTU4LDcgKzE1OCw3IEBACisgICAg IH0KKyAKKyAgICAgWnN0cmluZyBuZXdGb2xkZXJQYXRoOworLSAgICB3eERpckRpYWxvZyBmb2xk ZXJTZWxlY3RvcihwYXJlbnRfLCBfKCJTZWxlY3QgYSBmb2xkZXIiKSwgdXRmVG88d3hTdHJpbmc+ KGRlZmF1bHRGb2xkZXJQYXRoKSwgd3hERF9ERUZBVUxUX1NUWUxFIHwgd3hERF9TSE9XX0hJRERF Tik7CisrICAgIHd4RGlyRGlhbG9nIGZvbGRlclNlbGVjdG9yKHBhcmVudF8sIF8oIlNlbGVjdCBh IGZvbGRlciIpLCB1dGZUbzx3eFN0cmluZz4oZGVmYXVsdEZvbGRlclBhdGgpKTsKKyAgICAgaWYg KGZvbGRlclNlbGVjdG9yLlNob3dNb2RhbCgpICE9IHd4SURfT0spCisgICAgICAgICByZXR1cm47 CisgICAgIG5ld0ZvbGRlclBhdGggPSB1dGZUbzxac3RyaW5nPihmb2xkZXJTZWxlY3Rvci5HZXRQ YXRoKCkpOworLS0tIEZyZWVGaWxlU3luYy9Tb3VyY2UvYWZzL3NmdHAuY3BwCTIwMjEtMDMtMDMg MjA6MDY6MDEuMDAwMDAwMDAwICswMDAwCisrKysgRnJlZUZpbGVTeW5jL1NvdXJjZS9hZnMvc2Z0 cC5jcHAJMjAyMS0wMy0xNyAwMDo0MzozNC4wMDM3MzE0NDAgKzAwMDAKK0BAIC02Nyw5ICs2Nyw5 IEBACisgCisgLy9hdHRlbnRpb246IGlmIG9wZXJhdGlvbiBmYWlscyBkdWUgdG8gdGltZSBvdXQs IGUuZy4gZmlsZSBjb3B5LCB0aGUgY2xlYW51cCBjb2RlIG1heSBoYW5nLCB0b28gPT4gdG90YWwg ZGVsYXkgPSAyIHggdGltZSBvdXQgaW50ZXJ2YWwKKyAKKy1jb25zdCBzaXplX3QgU0ZUUF9PUFRJ TUFMX0JMT0NLX1NJWkVfUkVBRCAgPSA4ICogTUFYX1NGVFBfUkVBRF9TSVpFOyAgICAgLy9odHRw czovL2dpdGh1Yi5jb20vbGlic3NoMi9saWJzc2gyL2lzc3Vlcy85MAorLWNvbnN0IHNpemVfdCBT RlRQX09QVElNQUxfQkxPQ0tfU0laRV9XUklURSA9IDggKiBNQVhfU0ZUUF9PVVRHT0lOR19TSVpF OyAvLworLXN0YXRpY19hc3NlcnQoTUFYX1NGVFBfUkVBRF9TSVpFID09IDMwMDAwICYmIE1BWF9T RlRQX09VVEdPSU5HX1NJWkUgPT0gMzAwMDAsICJyZWV2YWx1YXRlIG9wdGltYWwgYmxvY2sgc2l6 ZXMgaWYgdGhlc2UgY29uc3RhbnRzIGNoYW5nZSEiKTsKKytjb25zdCBzaXplX3QgU0ZUUF9PUFRJ TUFMX0JMT0NLX1NJWkVfUkVBRCAgPSA4ICogMzAwMDA7ICAgICAvL2h0dHBzOi8vZ2l0aHViLmNv bS9saWJzc2gyL2xpYnNzaDIvaXNzdWVzLzkwCisrY29uc3Qgc2l6ZV90IFNGVFBfT1BUSU1BTF9C TE9DS19TSVpFX1dSSVRFID0gOCAqIDMwMDAwOyAvLworK3N0YXRpY19hc3NlcnQoMzAwMDAgPT0g MzAwMDAgJiYgMzAwMDAgPT0gMzAwMDAsICJyZWV2YWx1YXRlIG9wdGltYWwgYmxvY2sgc2l6ZXMg aWYgdGhlc2UgY29uc3RhbnRzIGNoYW5nZSEiKTsKKyAKKyAvKiBQZXJmIFRlc3QsIFNvdXJjZWZv cmdlIGZycywgU0ZUUCB1cGxvYWQsIGNvbXByZXNzZWQgMjUgTUIgdGVzdCBmaWxlOgorIAorLS0t IEZyZWVGaWxlU3luYy9Tb3VyY2UvdWkvY29tbWFuZF9ib3guaAkyMDIxLTAzLTAzIDIwOjA2OjAw LjAwMDAwMDAwMCArMDAwMAorKysrIEZyZWVGaWxlU3luYy9Tb3VyY2UvdWkvY29tbWFuZF9ib3gu aAkyMDIxLTAzLTE3IDAwOjQzOjM0LjAwNTczMTQzOSArMDAwMAorQEAgLTMwLDcgKzMwLDcgQEAK KyAgICAgICAgICAgICAgICBjb25zdCB3eFN0cmluZyBjaG9pY2VzW10gPSBudWxscHRyLAorICAg ICAgICAgICAgICAgIGxvbmcgc3R5bGUgPSAwLAorICAgICAgICAgICAgICAgIGNvbnN0IHd4VmFs aWRhdG9yJiB2YWxpZGF0b3IgPSB3eERlZmF1bHRWYWxpZGF0b3IsCistICAgICAgICAgICAgICAg Y29uc3Qgd3hTdHJpbmcmIG5hbWUgPSB3eEFTQ0lJX1NUUih3eENvbWJvQm94TmFtZVN0cikpOwor KyAgICAgICAgICAgICAgIGNvbnN0IHd4U3RyaW5nJiBuYW1lID0gd3hTdHJpbmc6OkZyb21Bc2Np aSh3eENvbWJvQm94TmFtZVN0cikpOworIAorICAgICB2b2lkIHNldEhpc3RvcnkoY29uc3Qgc3Rk Ojp2ZWN0b3I8WnN0cmluZz4mIGhpc3RvcnksIHNpemVfdCBoaXN0b3J5TWF4KSB7IGhpc3Rvcnlf ID0gaGlzdG9yeTsgaGlzdG9yeU1heF8gPSBoaXN0b3J5TWF4OyB9CisgICAgIHN0ZDo6dmVjdG9y PFpzdHJpbmc+IGdldEhpc3RvcnkoKSBjb25zdCB7IHJldHVybiBoaXN0b3J5XzsgfQorLS0tIEZy ZWVGaWxlU3luYy9Tb3VyY2UvdWkvZm9sZGVyX2hpc3RvcnlfYm94LmgJMjAyMS0wMy0wMyAyMDow NjowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBGcmVlRmlsZVN5bmMvU291cmNlL3VpL2ZvbGRlcl9o aXN0b3J5X2JveC5oCTIwMjEtMDMtMTcgMDA6NDM6MzQuMDA1NzMxNDM5ICswMDAwCitAQCAtNjgs NyArNjgsNyBAQAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHd4U3RyaW5nIGNob2ljZXNb XSA9IG51bGxwdHIsCisgICAgICAgICAgICAgICAgICAgICAgbG9uZyBzdHlsZSA9IDAsCisgICAg ICAgICAgICAgICAgICAgICAgY29uc3Qgd3hWYWxpZGF0b3ImIHZhbGlkYXRvciA9IHd4RGVmYXVs dFZhbGlkYXRvciwKKy0gICAgICAgICAgICAgICAgICAgICBjb25zdCB3eFN0cmluZyYgbmFtZSA9 IHd4QVNDSUlfU1RSKHd4Q29tYm9Cb3hOYW1lU3RyKSk7CisrICAgICAgICAgICAgICAgICAgICAg Y29uc3Qgd3hTdHJpbmcmIG5hbWUgPSB3eFN0cmluZzo6RnJvbUFzY2lpKHd4Q29tYm9Cb3hOYW1l U3RyKSk7CisgCisgICAgIHZvaWQgc2V0SGlzdG9yeShzdGQ6OnNoYXJlZF9wdHI8SGlzdG9yeUxp c3Q+IHNoYXJlZEhpc3RvcnkpIHsgc2hhcmVkSGlzdG9yeV8gPSBzdGQ6Om1vdmUoc2hhcmVkSGlz dG9yeSk7IH0KKyAgICAgc3RkOjpzaGFyZWRfcHRyPEhpc3RvcnlMaXN0PiBnZXRIaXN0b3J5KCkg eyByZXR1cm4gc2hhcmVkSGlzdG9yeV87IH0KKy0tLSBGcmVlRmlsZVN5bmMvU291cmNlL3VpL2Zv bGRlcl9zZWxlY3Rvci5jcHAJMjAyMS0wMy0wMyAyMDowNjowMS4wMDAwMDAwMDAgKzAwMDAKKysr KyBGcmVlRmlsZVN5bmMvU291cmNlL3VpL2ZvbGRlcl9zZWxlY3Rvci5jcHAJMjAyMS0wMy0xNyAw MDo0MzozNC4wMDU3MzE0MzkgKzAwMDAKK0BAIC0yMzYsNyArMjM2LDcgQEAKKyAKKyAgICAgWnN0 cmluZyBzaGVsbEl0ZW1QYXRoOworICAgICAvL2RlZmF1bHQgc2l6ZT8gV2luZG93czogbm90IGlt cGxlbWVudGVkLCBMaW51eChHVEsyKTogbm90IGltcGxlbWVudGVkLCBtYWNPUzogbm90IGltcGxl bWVudGVkID0+IHd4V2lkZ2V0cywgd2hhdCBpcyB0aGlzIHNoaXQhPworLSAgICB3eERpckRpYWxv ZyBmb2xkZXJTZWxlY3RvcihwYXJlbnRfLCBfKCJTZWxlY3QgYSBmb2xkZXIiKSwgdXRmVG88d3hT dHJpbmc+KGRlZmF1bHRGb2xkZXJOYXRpdmUpLCB3eEREX0RFRkFVTFRfU1RZTEUgfCB3eEREX1NI T1dfSElEREVOKTsKKysgICAgd3hEaXJEaWFsb2cgZm9sZGVyU2VsZWN0b3IocGFyZW50XywgXygi U2VsZWN0IGEgZm9sZGVyIiksIHV0ZlRvPHd4U3RyaW5nPihkZWZhdWx0Rm9sZGVyTmF0aXZlKSk7 CisgICAgIC8vR1RLMjogIlNob3cgaGlkZGVuIiBpcyBhbHNvIGF2YWlsYWJsZSBhcyBhIGNvbnRl eHQgbWVudSBvcHRpb24gaW4gdGhlIGZvbGRlciBwaWNrZXIhCisgICAgIC8vSXQgbG9va3MgbGlr ZSB3eEREX1NIT1dfSElEREVOIG9ubHkgc2V0cyB0aGUgZGVmYXVsdCB3aGVuIG9wZW5pbmcgZm9y IHRoZSBmaXJzdCB0aW1lIT8KKyAgICAgaWYgKGZvbGRlclNlbGVjdG9yLlNob3dNb2RhbCgpICE9 IHd4SURfT0spCistLS0gRnJlZUZpbGVTeW5jL1NvdXJjZS91aS9zbWFsbF9kbGdzLmNwcAkyMDIx LTAzLTE3IDAwOjUzOjI4LjAxNDUzNjc1NiArMDAwMAorKysrIEZyZWVGaWxlU3luYy9Tb3VyY2Uv dWkvc21hbGxfZGxncy5jcHAJMjAyMS0wMy0xNyAwMDo0Njo1My42Njg2NjYwMDIgKzAwMDAKK0BA IC0xNjgyLDcgKzE2ODIsNiBAQAorICAgICAvL3NldE1haW5JbnN0cnVjdGlvbkZvbnQoKm1fc3Rh dGljVGV4dE1haW4pOworIAorICAgICBtX2JpdG1hcEFjdGl2YXRpb24tPlNldEJpdG1hcChsb2Fk SW1hZ2UoImludGVybmV0IikpOworLSAgICBtX3RleHRDdHJsT2ZmbGluZUFjdGl2YXRpb25LZXkt PkZvcmNlVXBwZXIoKTsKKyAKKyAgICAgc2V0VGV4dFdpdGhVcmxzKCptX3JpY2hUZXh0TGFzdEVy cm9yLCBsYXN0RXJyb3JNc2cpOworICAgICBzZXRUZXh0V2l0aFVybHMoKm1fcmljaFRleHRNYW51 YWxBY3RpdmF0aW9uVXJsLCBtYW51YWxBY3RpdmF0aW9uVXJsKTsKKy0tLSB3eCsvYml0bWFwX2J1 dHRvbi5oCTIwMjEtMDMtMDMgMjA6MDY6MDAuMDAwMDAwMDAwICswMDAwCisrKysgd3grL2JpdG1h cF9idXR0b24uaAkyMDIxLTAzLTE3IDAwOjQzOjM0LjAwODczMTQzOCArMDAwMAorQEAgLTI2LDcg KzI2LDcgQEAKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCB3eFNpemUmIHNpemUgICAgICAg ICAgID0gd3hEZWZhdWx0U2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICBsb25nIHN0eWxlICAg ICAgICAgICAgICAgICAgID0gMCwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCB3eFZhbGlk YXRvciYgdmFsaWRhdG9yID0gd3hEZWZhdWx0VmFsaWRhdG9yLAorLSAgICAgICAgICAgICAgICAg ICAgIGNvbnN0IHd4U3RyaW5nJiBuYW1lICAgICAgICAgPSB3eEFTQ0lJX1NUUih3eEJ1dHRvbk5h bWVTdHIpKSA6CisrICAgICAgICAgICAgICAgICAgICAgY29uc3Qgd3hTdHJpbmcmIG5hbWUgICAg ICAgICA9IHd4U3RyaW5nOjpGcm9tQXNjaWkod3hCdXR0b25OYW1lU3RyKSkgOgorICAgICAgICAg d3hCaXRtYXBCdXR0b24ocGFyZW50LCBpZCwgd3hOdWxsQml0bWFwLCBwb3MsIHNpemUsIHN0eWxl LCB2YWxpZGF0b3IsIG5hbWUpCisgICAgIHsKKyAgICAgICAgIFNldExhYmVsKGxhYmVsKTsKKy0t LSB3eCsvY2hvaWNlX2VudW0uaAkyMDIxLTAzLTE3IDAwOjUzOjI4LjAxNDUzNjc1NiArMDAwMAor KysrIHd4Ky9jaG9pY2VfZW51bS5oCTIwMjEtMDMtMTcgMDA6NDM6MzQuMDA3NzMxNDM5ICswMDAw CitAQCAtODEsNyArODEsNyBAQAorICAgICB7CisgICAgICAgICBjdHJsLkNsZWFyKCk7CisgICAg ICAgICBmb3IgKGF1dG8gaXRlbSA6IGl0ZW1zKSB7CistICAgICAgICAgICAgY3RybC5BcHBlbmQo aXRlbSk7CisrICAgICAgICAgIGN0cmwuQXBwZW5kKGl0ZW0pOworICAgICAgICAgfQorICAgICAg ICAgaXRlbXNTZXRMYXN0ID0gc3RkOjptb3ZlKGl0ZW1zKTsKKyAgICAgfQorLS0tIHd4Ky9kYy5o CTIwMjEtMDMtMDMgMjA6MDY6MDAuMDAwMDAwMDAwICswMDAwCisrKysgd3grL2RjLmgJMjAyMS0w My0xNyAwMDo0MzozNC4wMDc3MzE0MzkgKzAwMDAKK0BAIC02OCwxMyArNjgsNiBAQAorIGlubGlu ZQorIGludCBmYXN0RnJvbURJUChpbnQgZCkgLy9saWtlIHd4V2luZG93OjpGcm9tRElQIChidXQg dGllZCB0byBwcmltYXJ5IG1vbml0b3IgYW5kIGJ1ZmZlcmVkKQorIHsKKy0jaWZuZGVmIHd4SEFW RV9EUElfSU5ERVBFTkRFTlRfUElYRUxTCistI2Vycm9yIHdoeSBpcyB3eEhBVkVfRFBJX0lOREVQ RU5ERU5UX1BJWEVMUyBub3QgZGVmaW5lZD8KKy0jZW5kaWYKKy0gICAgLy9HVEsyIGRvZXNuJ3Qg cHJvcGVybHkgc3VwcG9ydCBoaWdoIERQSTogaHR0cHM6Ly9mcmVlZmlsZXN5bmMub3JnL2ZvcnVt L3ZpZXd0b3BpYy5waHA/dD02MTE0CistICAgIC8vPT4gcmVxdWlyZXMgZ2VuZXJhbCBmaXggYXQg d3hXaWRnZXRzLWxldmVsCistCistICAgIC8vaHR0cHM6Ly9naXRodWIuY29tL3d4V2lkZ2V0cy93 eFdpZGdldHMvYmxvYi9kOWQwNWMyYmIyMDEwNzhmNWU3NjJjNDI0NThjYTJmNzRhZjViMzIyL2lu Y2x1ZGUvd3gvd2luZG93LmgjTDIwNjAKKyAgICAgcmV0dXJuIGQ7IC8vZS5nLiBtYWNPUywgR1RL MworIH0KKyBpbnQgZmFzdEZyb21ESVAoZG91YmxlIGQpID0gZGVsZXRlOworLS0tIHd4Ky9ncmFw aC5oCTIwMjEtMDMtMDMgMjA6MDY6MDAuMDAwMDAwMDAwICswMDAwCisrKysgd3grL2dyYXBoLmgJ MjAyMS0wMy0xNyAwMDo0MzozNC4wMDg3MzE0MzggKzAwMDAKK0BAIC0xOTIsNyArMTkyLDcgQEAK KyAgICAgICAgICAgICBjb25zdCB3eFBvaW50JiBwb3MgICA9IHd4RGVmYXVsdFBvc2l0aW9uLAor ICAgICAgICAgICAgIGNvbnN0IHd4U2l6ZSYgc2l6ZSAgID0gd3hEZWZhdWx0U2l6ZSwKKyAgICAg ICAgICAgICBsb25nIHN0eWxlICAgICAgICAgICA9IHd4VEFCX1RSQVZFUlNBTCB8IHd4Tk9fQk9S REVSLAorLSAgICAgICAgICAgIGNvbnN0IHd4U3RyaW5nJiBuYW1lID0gd3hBU0NJSV9TVFIod3hQ YW5lbE5hbWVTdHIpKTsKKysgICAgICAgICAgICBjb25zdCB3eFN0cmluZyYgbmFtZSA9IHd4U3Ry aW5nOjpGcm9tQXNjaWkod3hQYW5lbE5hbWVTdHIpKTsKKyAKKyAgICAgY2xhc3MgQ3VydmVBdHRy aWJ1dGVzCisgICAgIHsKKy0tLSB3eCsvZ3JpZC5jcHAJMjAyMS0wMy0wMyAyMDowNjowMi4wMDAw MDAwMDAgKzAwMDAKKysrKyB3eCsvZ3JpZC5jcHAJMjAyMS0wMy0xNyAwMDo0NjoxNy4xMjQ2Nzc5 ODAgKzAwMDAKK0BAIC0yNjMsNyArMjYzLDcgQEAKKyB7CisgcHVibGljOgorICAgICBTdWJXaW5k b3coR3JpZCYgcGFyZW50KSA6CistICAgICAgICB3eFdpbmRvdygmcGFyZW50LCB3eElEX0FOWSwg d3hEZWZhdWx0UG9zaXRpb24sIHd4RGVmYXVsdFNpemUsIHd4V0FOVFNfQ0hBUlMgfCB3eEJPUkRF Ul9OT05FLCB3eEFTQ0lJX1NUUih3eFBhbmVsTmFtZVN0cikpLAorKyAgICAgICAgd3hXaW5kb3co JnBhcmVudCwgd3hJRF9BTlksIHd4RGVmYXVsdFBvc2l0aW9uLCB3eERlZmF1bHRTaXplLCB3eFdB TlRTX0NIQVJTIHwgd3hCT1JERVJfTk9ORSwgd3hTdHJpbmc6OkZyb21Bc2NpaSh3eFBhbmVsTmFt ZVN0cikpLAorICAgICAgICAgcGFyZW50XyhwYXJlbnQpCisgICAgIHsKKyAgICAgICAgIEJpbmQo d3hFVlRfUEFJTlQsIFt0aGlzXSh3eFBhaW50RXZlbnQmIGV2ZW50KSB7IG9uUGFpbnRFdmVudChl dmVudCk7IH0pOworQEAgLTEzNTcsNyArMTM1Nyw3IEBACisgICAgICAgICAgICAgeworICAgICAg ICAgICAgICAgICBpZiAob3ZlcmxhcFBpeCAhPSAwKQorICAgICAgICAgICAgICAgICB7CistICAg ICAgICAgICAgICAgICAgICBjb25zdCBkb3VibGUgc2Nyb2xsU3BlZWQgPSB3bmRfLlRvRElQKG92 ZXJsYXBQaXgpICogbW91c2VEcmFnU3BlZWRJbmNTY3JvbGxVOyAvL3VuaXQ6IFtzY3JvbGwgdW5p dHMgLyBzZWNdCisrICAgICAgICAgICAgICAgICAgICBjb25zdCBkb3VibGUgc2Nyb2xsU3BlZWQg PSA2OyAvLyB3bmRfLlRvRElQKG92ZXJsYXBQaXgpICogbW91c2VEcmFnU3BlZWRJbmNTY3JvbGxV OyAvL3VuaXQ6IFtzY3JvbGwgdW5pdHMgLyBzZWNdCisgICAgICAgICAgICAgICAgICAgICB0b1Nj cm9sbCArPSBzY3JvbGxTcGVlZCAqIGRlbHRhU2VjczsKKyAgICAgICAgICAgICAgICAgfQorICAg ICAgICAgICAgICAgICBlbHNlCistLS0gd3grL2dyaWQuaAkyMDIxLTAzLTAzIDIwOjA2OjAwLjAw MDAwMDAwMCArMDAwMAorKysrIHd4Ky9ncmlkLmgJMjAyMS0wMy0xNyAwMDo0MzozNC4wMDg3MzE0 MzggKzAwMDAKK0BAIC0xNTAsNyArMTUwLDcgQEAKKyAgICAgICAgICBjb25zdCB3eFBvaW50JiBw b3MgICA9IHd4RGVmYXVsdFBvc2l0aW9uLAorICAgICAgICAgIGNvbnN0IHd4U2l6ZSYgc2l6ZSAg ID0gd3hEZWZhdWx0U2l6ZSwKKyAgICAgICAgICBsb25nIHN0eWxlICAgICAgICAgICA9IHd4VEFC X1RSQVZFUlNBTCB8IHd4Tk9fQk9SREVSLAorLSAgICAgICAgIGNvbnN0IHd4U3RyaW5nJiBuYW1l ID0gd3hBU0NJSV9TVFIod3hQYW5lbE5hbWVTdHIpKTsKKysgICAgICAgICBjb25zdCB3eFN0cmlu ZyYgbmFtZSA9IHd4U3RyaW5nOjpGcm9tQXNjaWkod3hQYW5lbE5hbWVTdHIpKTsKKyAKKyAgICAg c2l6ZV90IGdldFJvd0NvdW50KCkgY29uc3Q7CisgCistLS0gd3grL25vX2ZsaWNrZXIuaAkyMDIx LTAzLTAzIDIwOjA2OjAwLjAwMDAwMDAwMCArMDAwMAorKysrIHd4Ky9ub19mbGlja2VyLmgJMjAy MS0wMy0xNyAwMDo0MzozNC4wMDg3MzE0MzggKzAwMDAKK0BAIC02OSw5ICs2OSw2IEBACisgICAg IHJpY2hDdHJsLkJlZ2luU3VwcHJlc3NVbmRvKCk7CisgICAgIFpFTl9PTl9TQ09QRV9FWElUKHJp Y2hDdHJsLkVuZFN1cHByZXNzVW5kbygpKTsKKyAKKy0gICAgLy9maXggbW91c2Ugc2Nyb2xsIHNw ZWVkOiB3aHkgdGhlIEZVQ0sgaXMgdGhpcyBldmVuIG5lY2Vzc2FyeSEKKy0gICAgcmljaEN0cmwu U2V0TGluZUhlaWdodChyaWNoQ3RybC5HZXRDaGFySGVpZ2h0KCkpOworLQorICAgICAvL2dldCBy aWQgb2YgbWFyZ2lucyBhbmQgc3BhY2UgYmV0d2VlbiB0ZXh0IGJsb2Nrcy8icGFyYWdyYXBocyIK KyAgICAgcmljaEN0cmwuU2V0TWFyZ2lucyh7MCwgMH0pOworICAgICByaWNoQ3RybC5CZWdpblBh cmFncmFwaFNwYWNpbmcoMCwgMCk7CistLS0gd3grL3RvZ2dsZV9idXR0b24uaAkyMDIxLTAzLTAz IDIwOjA2OjAwLjAwMDAwMDAwMCArMDAwMAorKysrIHd4Ky90b2dnbGVfYnV0dG9uLmgJMjAyMS0w My0xNyAwMDo0MzozNC4wMDg3MzE0MzggKzAwMDAKK0BAIC0yNCw3ICsyNCw3IEBACisgICAgICAg ICAgICAgICAgICBjb25zdCB3eFNpemUmICAgICAgc2l6ZSA9IHd4RGVmYXVsdFNpemUsCisgICAg ICAgICAgICAgICAgICBsb25nICAgICAgICAgICAgICAgc3R5bGUgPSAwLAorICAgICAgICAgICAg ICAgICAgY29uc3Qgd3hWYWxpZGF0b3ImIHZhbGlkYXRvciA9IHd4RGVmYXVsdFZhbGlkYXRvciwK Ky0gICAgICAgICAgICAgICAgIGNvbnN0IHd4U3RyaW5nJiAgICBuYW1lID0gd3hBU0NJSV9TVFIo d3hCdXR0b25OYW1lU3RyKSkgOgorKyAgICAgICAgICAgICAgICAgY29uc3Qgd3hTdHJpbmcmICAg IG5hbWUgPSB3eFN0cmluZzo6RnJvbUFzY2lpKHd4QnV0dG9uTmFtZVN0cikpIDoKKyAgICAgICAg IHd4Qml0bWFwQnV0dG9uKHBhcmVudCwgaWQsIGJpdG1hcCwgcG9zLCBzaXplLCBzdHlsZSwgdmFs aWRhdG9yLCBuYW1lKSB7fQorIAorICAgICAvL3d4QnV0dG9uIGNvbnN0cnVjdG9yCitAQCAtMzUs NyArMzUsNyBAQAorICAgICAgICAgICAgICAgICAgY29uc3Qgd3hTaXplJiAgICAgIHNpemUgPSB3 eERlZmF1bHRTaXplLAorICAgICAgICAgICAgICAgICAgbG9uZyAgICAgICAgICAgICAgIHN0eWxl ID0gMCwKKyAgICAgICAgICAgICAgICAgIGNvbnN0IHd4VmFsaWRhdG9yJiB2YWxpZGF0b3IgPSB3 eERlZmF1bHRWYWxpZGF0b3IsCistICAgICAgICAgICAgICAgICBjb25zdCB3eFN0cmluZyYgICAg bmFtZSA9IHd4QVNDSUlfU1RSKHd4QnV0dG9uTmFtZVN0cikpIDoKKysgICAgICAgICAgICAgICAg IGNvbnN0IHd4U3RyaW5nJiAgICBuYW1lID0gd3hTdHJpbmc6OkZyb21Bc2NpaSh3eEJ1dHRvbk5h bWVTdHIpKSA6CisgICAgICAgICB3eEJpdG1hcEJ1dHRvbihwYXJlbnQsIGlkLCB3eE51bGxCaXRt YXAsIHBvcywgc2l6ZSwgc3R5bGUsIHZhbGlkYXRvciwgbmFtZSkKKyAgICAgeworICAgICAgICAg U2V0TGFiZWwobGFiZWwpOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9GcmVlRmlsZVN5bmMvdGVtcGxh dGUgYi9zcmNwa2dzL0ZyZWVGaWxlU3luYy90ZW1wbGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAwMDAuLmJiYTVlMWQxNGRmMQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3Br Z3MvRnJlZUZpbGVTeW5jL3RlbXBsYXRlCkBAIC0wLDAgKzEsNDIgQEAKKyMgVGVtcGxhdGUgZmls ZSBmb3IgJ0ZyZWVGaWxlU3luYycKK3BrZ25hbWU9RnJlZUZpbGVTeW5jCit2ZXJzaW9uPTExLjgK K3JldmlzaW9uPTEKK2FyY2hzPSJpNjg2IHg4Nl82NCIKK2NyZWF0ZV93cmtzcmM9eWVzCitidWls ZF9zdHlsZT1nbnUtbWFrZWZpbGUKK21ha2VfY21kPSJtYWtlIC1DICR7cGtnbmFtZX0vU291cmNl IGV4ZU5hbWU9RnJlZUZpbGVTeW5jIgoraG9zdG1ha2VkZXBlbmRzPSJ1bnppcCIKK21ha2VkZXBl bmRzPSJwa2ctY29uZmlnIGxpYmdsaWItZGV2ZWwgd3hXaWRnZXRzLWRldmVsIGxpYmN1cmwtZGV2 ZWwgZ3RrKy1kZXZlbCBvcGVuc3NsLWRldmVsIgorZGVwZW5kcz0id3hXaWRnZXRzIGxpYmN1cmwi CitzaG9ydF9kZXNjPSJCYWNrdXAgc29mdHdhcmUgdG8gc3luY2hyb25pemUgZmlsZXMgYW5kIGZv bGRlcnMiCittYWludGFpbmVyPSJOaWNvbGFzIFBvcmNlbCA8bmljb2xhc3BvcmNlbDA2QGdtYWls LmNvbT4iCitsaWNlbnNlPSJHUEwtMy4wLW9yLWxhdGVyIgoraG9tZXBhZ2U9Imh0dHBzOi8vZnJl ZWZpbGVzeW5jLm9yZyIKK2Rpc3RmaWxlcz0iJHtob21lcGFnZX0vZG93bmxvYWQvRnJlZUZpbGVT eW5jXyR7dmVyc2lvbn1fU291cmNlLnppcCIKK2NoZWNrc3VtPWQxMDVkNDI3NGRhOGNhZTQyYzQ0 YjE3MTMwM2Y5MDA5MmM1YTdmOWE4MzE3ZTQ0NWJjNWNlYWYxODcyODc3YTQKKworbm9waWVfZmls ZXM9Ii9vcHQvJHtwa2duYW1lfS9CaW4vRnJlZUZpbGVTeW5jIC9vcHQvJHtwa2duYW1lfS9CaW4v UmVhbFRpbWVTeW5jIgorCitkb19idWlsZCgpIHsKKyAgICBtYWtlICR7bWFrZWpvYnN9IGV4ZU5h bWU9RnJlZUZpbGVTeW5jIC1DIEZyZWVGaWxlU3luYy9Tb3VyY2UKKyAgICBtYWtlICR7bWFrZWpv YnN9IGV4ZU5hbWU9UmVhbFRpbWVTeW5jIC1DIEZyZWVGaWxlU3luYy9Tb3VyY2UvUmVhbFRpbWVT eW5jCisgICAgdW56aXAgRnJlZUZpbGVTeW5jL0J1aWxkL1Jlc291cmNlcy9JY29ucy56aXAgRnJl ZUZpbGVTeW5jLnBuZyBSZWFsVGltZVN5bmMucG5nIC1kIEZyZWVGaWxlU3luYy9CdWlsZCAKK30K KworZG9faW5zdGFsbCgpIHsKKyAgICB2bWtkaXIgb3B0LyR7cGtnbmFtZX0KKyAgICB2Y29weSBG cmVlRmlsZVN5bmMvQnVpbGQvQmluIG9wdC8ke3BrZ25hbWV9CisgICAgdmNvcHkgRnJlZUZpbGVT eW5jL0J1aWxkL1Jlc291cmNlcyBvcHQvJHtwa2duYW1lfQorCisgICAgdm1rZGlyIHVzci9zaGFy ZS9waXhtYXBzCisgICAgdmluc3RhbGwgRnJlZUZpbGVTeW5jL0J1aWxkL0ZyZWVGaWxlU3luYy5w bmcgMDY0NCB1c3Ivc2hhcmUvcGl4bWFwcworICAgIHZpbnN0YWxsIEZyZWVGaWxlU3luYy9CdWls ZC9SZWFsVGltZVN5bmMucG5nIDA2NDQgdXNyL3NoYXJlL3BpeG1hcHMKKworICAgIHZta2RpciB1 c3Ivc2hhcmUvYXBwbGljYXRpb25zCisgICAgdmluc3RhbGwgJHtGSUxFU0RJUn0vRnJlZUZpbGVT eW5jLmRlc2t0b3AgMDY0NCB1c3Ivc2hhcmUvYXBwbGljYXRpb25zCisgICAgdmluc3RhbGwgJHtG SUxFU0RJUn0vUmVhbFRpbWVTeW5jLmRlc2t0b3AgMDY0NCB1c3Ivc2hhcmUvYXBwbGljYXRpb25z CisKKyAgICB2bWtkaXIgdXNyL2JpbgorICAgIGxuIC1zIC9vcHQvRnJlZUZpbGVTeW5jL0Jpbi97 RnJlZUZpbGVTeW5jLFJlYWxUaW1lU3luY30gJHtERVNURElSfS91c3IvYmluCit9Cg== --===============8816156580141704040==--