From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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: from inbox.vuxu.org (inbox.vuxu.org [IPv6:::1]) by inbox.vuxu.org (Postfix) with ESMTP id 5824B2562D for ; Wed, 24 Apr 2024 15:08:23 +0200 (CEST) Content-Type: multipart/mixed; boundary="===============6201339009020429753==" MIME-Version: 1.0 Subject: =?utf8?q?=5BPR_PATCH=5D_Waybar=3A_update_to_0=2E10=2E2?= To: ml@inbox.vuxu.org From: cinerea0 Reply-to: ml@inbox.vuxu.org Message-ID: Date: Wed, 24 Apr 2024 15:08:23 +0200 List-Id: GitHub notification mails are now in MIME to allow UTF8. --===============6201339009020429753== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYSBuZXcgcHVsbCByZXF1ZXN0IGJ5IGNpbmVyZWEwIGFnYWluc3QgbWFzdGVyIG9u IHRoZSB2b2lkLXBhY2thZ2VzIHJlcG9zaXRvcnkKCmh0dHBzOi8vZ2l0aHViLmNvbS9jaW5lcmVh MC92b2lkLXBhY2thZ2VzIFdheWJhcgpodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lk LXBhY2thZ2VzL3B1bGwvNTAwMTQKCldheWJhcjogdXBkYXRlIHRvIDAuMTAuMgojIyMjIFRlc3Rp bmcgdGhlIGNoYW5nZXMKLSBJIHRlc3RlZCB0aGUgY2hhbmdlcyBpbiB0aGlzIFBSOiAqKllFUyoq CgoKCkEgcGF0Y2ggZmlsZSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQt cGFja2FnZXMvcHVsbC81MDAxNC5wYXRjaCBpcyBhdHRhY2hlZA== --===============6201339009020429753== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-Waybar-50014.patch" RnJvbSA2NjA1ODhjMDI3MjI3YjliZmI0ZDY5MGI1ZmVjYzIwOGYwY2RhZTNiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBjaW5lcmVhMCA8Y2luZXJlYTBAZGlzcm9vdC5vcmc+CkRhdGU6 IFdlZCwgMjQgQXByIDIwMjQgMDk6MDI6NDIgLTA0MDAKU3ViamVjdDogW1BBVENIXSBXYXliYXI6 IHVwZGF0ZSB0byAwLjEwLjIKCi0tLQogc3JjcGtncy9XYXliYXIvcGF0Y2hlcy93aXJlcGx1bWJl ci0wLjUucGF0Y2ggfCA0MTkgLS0tLS0tLS0tLS0tLS0tLS0tLQogc3JjcGtncy9XYXliYXIvdGVt cGxhdGUgICAgICAgICAgICAgICAgICAgICAgfCAgIDYgKy0KIDIgZmlsZXMgY2hhbmdlZCwgMyBp bnNlcnRpb25zKCspLCA0MjIgZGVsZXRpb25zKC0pCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtn cy9XYXliYXIvcGF0Y2hlcy93aXJlcGx1bWJlci0wLjUucGF0Y2gKCmRpZmYgLS1naXQgYS9zcmNw a2dzL1dheWJhci9wYXRjaGVzL3dpcmVwbHVtYmVyLTAuNS5wYXRjaCBiL3NyY3BrZ3MvV2F5YmFy L3BhdGNoZXMvd2lyZXBsdW1iZXItMC41LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp bmRleCBkNjM5OWE2MmMzYWE5Yy4uMDAwMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9XYXliYXIv cGF0Y2hlcy93aXJlcGx1bWJlci0wLjUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MTkgKzAs MCBAQAotRnJvbSAyMzI2NzI3Y2NiZjA0NTZjY2ZkNjMxZTc0ODk1NWY3ZjY3YzQ0YTRlIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUnlhbiBXYWxrbGluIDxyeWFuQHRlc3R0b2FzdC5j b20+Ci1EYXRlOiBUaHUsIDE1IEZlYiAyMDI0IDA5OjM3OjM2ICsxMzAwCi1TdWJqZWN0OiBbUEFU Q0hdIFVwZGF0ZSBXaXJlcGx1bWJlciBBUEkgdG8gMC41Ci0KLVRoZSBXUCBjb21wb25lbnQgbG9h ZGVyIEFQSSBoYXMgY2hhbmdlZCB0byBiZSBhc3luY2hyb25vdXMsIHNvIGltcGxlbWVudCBhIChH QXN5bmNSZWFkeUNhbGxiYWNrKS1iYXNlZCBsb2FkZXIgdG8gbWFuYWdlIHRoZW0uIExvZ2dpbmcg aW50ZWdyYXRpb24gY2hhbmdlIHdhcyByZXF1aXJlZCBmb3IgMC41LjAgUkNzIGJ1dCBub3QgZm9y IHRoZSAwLjUuMCByZWxlYXNlLgotCi1GaXggY2xhbmctdGlkeSBhbmQgY2xhbmctZm9ybWF0IHdh cm5pbmdzLiBOb3RlIHRoZXNlIGFyZSBzaWduaWZpY2FudGx5IHdpZGVyIHRoYW4gdGhlIGNoYW5n ZXMgZm9yIDAuNS4wIHNvIG9wdGlvbmFsIGJleW9uZCB0aGUgZXhpc3RpbmcgcGF0Y2hzZXQuCi0t LS0KLSBpbmNsdWRlL21vZHVsZXMvd2lyZXBsdW1iZXIuaHBwIHwgICA1ICstCi0gbWVzb24uYnVp bGQgICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQotIHNyYy9tb2R1bGVzL3dpcmVwbHVtYmVy LmNwcCAgICAgfCAxOTAgKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KLSAzIGZpbGVz IGNoYW5nZWQsIDExNSBpbnNlcnRpb25zKCspLCA4MiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdp dCBhL2luY2x1ZGUvbW9kdWxlcy93aXJlcGx1bWJlci5ocHAgYi9pbmNsdWRlL21vZHVsZXMvd2ly ZXBsdW1iZXIuaHBwCi1pbmRleCA5YmJmNGQ0NjQuLjYyNTViOTVmZCAxMDA2NDQKLS0tLSBhL2lu Y2x1ZGUvbW9kdWxlcy93aXJlcGx1bWJlci5ocHAKLSsrKyBiL2luY2x1ZGUvbW9kdWxlcy93aXJl cGx1bWJlci5ocHAKLUBAIC0xNywxMiArMTcsMTUgQEAgY2xhc3MgV2lyZXBsdW1iZXIgOiBwdWJs aWMgQUxhYmVsIHsKLSAgIGF1dG8gdXBkYXRlKCkgLT4gdm9pZCBvdmVycmlkZTsKLSAKLSAgcHJp dmF0ZToKLS0gIHZvaWQgbG9hZFJlcXVpcmVkQXBpTW9kdWxlcygpOwotKyAgdm9pZCBhc3luY0xv YWRSZXF1aXJlZEFwaU1vZHVsZXMoKTsKLSAgIHZvaWQgcHJlcGFyZSgpOwotICAgdm9pZCBhY3Rp dmF0ZVBsdWdpbnMoKTsKLSAgIHN0YXRpYyB2b2lkIHVwZGF0ZVZvbHVtZSh3YXliYXI6Om1vZHVs ZXM6OldpcmVwbHVtYmVyKiBzZWxmLCB1aW50MzJfdCBpZCk7Ci0gICBzdGF0aWMgdm9pZCB1cGRh dGVOb2RlTmFtZSh3YXliYXI6Om1vZHVsZXM6OldpcmVwbHVtYmVyKiBzZWxmLCB1aW50MzJfdCBp ZCk7Ci0gICBzdGF0aWMgdm9pZCBvblBsdWdpbkFjdGl2YXRlZChXcE9iamVjdCogcCwgR0FzeW5j UmVzdWx0KiByZXMsIHdheWJhcjo6bW9kdWxlczo6V2lyZXBsdW1iZXIqIHNlbGYpOwotKyAgc3Rh dGljIHZvaWQgb25EZWZhdWx0Tm9kZXNBcGlMb2FkZWQoV3BPYmplY3QqIHAsIEdBc3luY1Jlc3Vs dCogcmVzLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2F5YmFyOjpt b2R1bGVzOjpXaXJlcGx1bWJlciogc2VsZik7Ci0rICBzdGF0aWMgdm9pZCBvbk1peGVyQXBpTG9h ZGVkKFdwT2JqZWN0KiBwLCBHQXN5bmNSZXN1bHQqIHJlcywgd2F5YmFyOjptb2R1bGVzOjpXaXJl cGx1bWJlciogc2VsZik7Ci0gICBzdGF0aWMgdm9pZCBvbk9iamVjdE1hbmFnZXJJbnN0YWxsZWQo d2F5YmFyOjptb2R1bGVzOjpXaXJlcGx1bWJlciogc2VsZik7Ci0gICBzdGF0aWMgdm9pZCBvbk1p eGVyQ2hhbmdlZCh3YXliYXI6Om1vZHVsZXM6OldpcmVwbHVtYmVyKiBzZWxmLCB1aW50MzJfdCBp ZCk7Ci0gICBzdGF0aWMgdm9pZCBvbkRlZmF1bHROb2Rlc0FwaUNoYW5nZWQod2F5YmFyOjptb2R1 bGVzOjpXaXJlcGx1bWJlciogc2VsZik7Ci1kaWZmIC0tZ2l0IGEvbWVzb24uYnVpbGQgYi9tZXNv bi5idWlsZAotaW5kZXggZTIxZmYyNjJjLi4xMjA5NzYwODMgMTAwNjQ0Ci0tLS0gYS9tZXNvbi5i dWlsZAotKysrIGIvbWVzb24uYnVpbGQKLUBAIC05Miw3ICs5Miw3IEBAIGxpYmV2ZGV2ID0gZGVw ZW5kZW5jeSgnbGliZXZkZXYnLCByZXF1aXJlZDogZ2V0X29wdGlvbignbGliZXZkZXYnKSkKLSBs aWJtcGRjbGllbnQgPSBkZXBlbmRlbmN5KCdsaWJtcGRjbGllbnQnLCByZXF1aXJlZDogZ2V0X29w dGlvbignbXBkJykpCi0geGticmVnaXN0cnkgPSBkZXBlbmRlbmN5KCd4a2JyZWdpc3RyeScpCi0g bGliamFjayA9IGRlcGVuZGVuY3koJ2phY2snLCByZXF1aXJlZDogZ2V0X29wdGlvbignamFjaycp KQotLWxpYndpcmVwbHVtYmVyID0gZGVwZW5kZW5jeSgnd2lyZXBsdW1iZXItMC40JywgcmVxdWly ZWQ6IGdldF9vcHRpb24oJ3dpcmVwbHVtYmVyJykpCi0rbGlid2lyZXBsdW1iZXIgPSBkZXBlbmRl bmN5KCd3aXJlcGx1bWJlci0wLjUnLCByZXF1aXJlZDogZ2V0X29wdGlvbignd2lyZXBsdW1iZXIn KSkKLSAKLSBsaWJzbmRpbyA9IGNvbXBpbGVyLmZpbmRfbGlicmFyeSgnc25kaW8nLCByZXF1aXJl ZDogZ2V0X29wdGlvbignc25kaW8nKSkKLSBpZiBsaWJzbmRpby5mb3VuZCgpCi1kaWZmIC0tZ2l0 IGEvc3JjL21vZHVsZXMvd2lyZXBsdW1iZXIuY3BwIGIvc3JjL21vZHVsZXMvd2lyZXBsdW1iZXIu Y3BwCi1pbmRleCA1MWJiNzA4ZDEuLmJkMDE5YjYyMyAxMDA2NDQKLS0tLSBhL3NyYy9tb2R1bGVz L3dpcmVwbHVtYmVyLmNwcAotKysrIGIvc3JjL21vZHVsZXMvd2lyZXBsdW1iZXIuY3BwCi1AQCAt MTgsMzEgKzE4LDI0IEBAIHdheWJhcjo6bW9kdWxlczo6V2lyZXBsdW1iZXI6OldpcmVwbHVtYmVy KGNvbnN0IHN0ZDo6c3RyaW5nJiBpZCwgY29uc3QgSnNvbjo6VmFsCi0gICAgICAgbWluX3N0ZXBf KDAuMCksCi0gICAgICAgbm9kZV9pZF8oMCkgewotICAgd3BfaW5pdChXUF9JTklUX1BJUEVXSVJF KTsKLS0gIHdwX2NvcmVfID0gd3BfY29yZV9uZXcoTlVMTCwgTlVMTCk7Ci0rICB3cF9jb3JlXyA9 IHdwX2NvcmVfbmV3KG51bGxwdHIsIG51bGxwdHIsIG51bGxwdHIpOwotICAgYXBpc18gPSBnX3B0 cl9hcnJheV9uZXdfd2l0aF9mcmVlX2Z1bmMoZ19vYmplY3RfdW5yZWYpOwotICAgb21fID0gd3Bf b2JqZWN0X21hbmFnZXJfbmV3KCk7Ci0gCi0gICBwcmVwYXJlKCk7Ci0gCi0tICBsb2FkUmVxdWly ZWRBcGlNb2R1bGVzKCk7Ci0rICBzcGRsb2c6OmRlYnVnKCJbe31dOiBjb25uZWN0aW5nIHRvIHBp cGV3aXJlLi4uIiwgbmFtZV8pOwotIAotLSAgc3BkbG9nOjpkZWJ1ZygiW3t9XTogY29ubmVjdGlu ZyB0byBwaXBld2lyZS4uLiIsIHRoaXMtPm5hbWVfKTsKLS0KLS0gIGlmICghd3BfY29yZV9jb25u ZWN0KHdwX2NvcmVfKSkgewotLSAgICBzcGRsb2c6OmVycm9yKCJbe31dOiBDb3VsZCBub3QgY29u bmVjdCB0byBQaXBlV2lyZSIsIHRoaXMtPm5hbWVfKTsKLSsgIGlmICh3cF9jb3JlX2Nvbm5lY3Qo d3BfY29yZV8pID09IDApIHsKLSsgICAgc3BkbG9nOjplcnJvcigiW3t9XTogQ291bGQgbm90IGNv bm5lY3QgdG8gUGlwZVdpcmUiLCBuYW1lXyk7Ci0gICAgIHRocm93IHN0ZDo6cnVudGltZV9lcnJv cigiQ291bGQgbm90IGNvbm5lY3QgdG8gUGlwZVdpcmVcbiIpOwotICAgfQotIAotLSAgc3BkbG9n OjpkZWJ1ZygiW3t9XTogY29ubmVjdGVkISIsIHRoaXMtPm5hbWVfKTsKLSsgIHNwZGxvZzo6ZGVi dWcoIlt7fV06IGNvbm5lY3RlZCEiLCBuYW1lXyk7Ci0gCi0gICBnX3NpZ25hbF9jb25uZWN0X3N3 YXBwZWQob21fLCAiaW5zdGFsbGVkIiwgKEdDYWxsYmFjaylvbk9iamVjdE1hbmFnZXJJbnN0YWxs ZWQsIHRoaXMpOwotIAotLSAgYWN0aXZhdGVQbHVnaW5zKCk7Ci0tCi0tICBkcC5lbWl0KCk7Ci0t Ci0tICBldmVudF9ib3hfLmFkZF9ldmVudHMoR2RrOjpTQ1JPTExfTUFTSyB8IEdkazo6U01PT1RI X1NDUk9MTF9NQVNLKTsKLS0gIGV2ZW50X2JveF8uc2lnbmFsX3Njcm9sbF9ldmVudCgpLmNvbm5l Y3Qoc2lnYzo6bWVtX2Z1bigqdGhpcywgJldpcmVwbHVtYmVyOjpoYW5kbGVTY3JvbGwpKTsKLSsg IGFzeW5jTG9hZFJlcXVpcmVkQXBpTW9kdWxlcygpOwotIH0KLSAKLSB3YXliYXI6Om1vZHVsZXM6 OldpcmVwbHVtYmVyOjp+V2lyZXBsdW1iZXIoKSB7Ci1AQCAtNjMsMzIgKzU2LDM2IEBAIHZvaWQg d2F5YmFyOjptb2R1bGVzOjpXaXJlcGx1bWJlcjo6dXBkYXRlTm9kZU5hbWUod2F5YmFyOjptb2R1 bGVzOjpXaXJlcGx1bWJlcioKLSAgICAgcmV0dXJuOwotICAgfQotIAotLSAgYXV0byBwcm94eSA9 IHN0YXRpY19jYXN0PFdwUHJveHkqPih3cF9vYmplY3RfbWFuYWdlcl9sb29rdXAoCi0tICAgICAg c2VsZi0+b21fLCBXUF9UWVBFX0dMT0JBTF9QUk9YWSwgV1BfQ09OU1RSQUlOVF9UWVBFX0dfUFJP UEVSVFksICJib3VuZC1pZCIsICI9dSIsIGlkLCBOVUxMKSk7Ci0rICBhdXRvKiBwcm94eSA9IHN0 YXRpY19jYXN0PFdwUHJveHkqPih3cF9vYmplY3RfbWFuYWdlcl9sb29rdXAoc2VsZi0+b21fLCBX UF9UWVBFX0dMT0JBTF9QUk9YWSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXUF9DT05TVFJBSU5UX1RZUEVfR19QUk9QRVJU WSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAiYm91bmQtaWQiLCAiPXUiLCBpZCwgbnVsbHB0cikpOwotIAotLSAgaWYgKCFw cm94eSkgewotKyAgaWYgKHByb3h5ID09IG51bGxwdHIpIHsKLSAgICAgYXV0byBlcnIgPSBmbXQ6 OmZvcm1hdCgiT2JqZWN0ICd7fScgbm90IGZvdW5kXG4iLCBpZCk7Ci0gICAgIHNwZGxvZzo6ZXJy b3IoIlt7fV06IHt9Iiwgc2VsZi0+bmFtZV8sIGVycik7Ci0gICAgIHRocm93IHN0ZDo6cnVudGlt ZV9lcnJvcihlcnIpOwotICAgfQotIAotICAgZ19hdXRvcHRyKFdwUHJvcGVydGllcykgcHJvcGVy dGllcyA9Ci0tICAgICAgV1BfSVNfUElQRVdJUkVfT0JKRUNUKHByb3h5KSA/IHdwX3BpcGV3aXJl X29iamVjdF9nZXRfcHJvcGVydGllcyhXUF9QSVBFV0lSRV9PQkpFQ1QocHJveHkpKQotLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB3cF9wcm9wZXJ0aWVzX25ld19lbXB0eSgp OwotLSAgZ19hdXRvcHRyKFdwUHJvcGVydGllcykgZ2xvYmFsX3AgPSB3cF9nbG9iYWxfcHJveHlf Z2V0X2dsb2JhbF9wcm9wZXJ0aWVzKFdQX0dMT0JBTF9QUk9YWShwcm94eSkpOwotKyAgICAgIFdQ X0lTX1BJUEVXSVJFX09CSkVDVChwcm94eSkgIT0gMAotKyAgICAgICAgICA/IHdwX3BpcGV3aXJl X29iamVjdF9nZXRfcHJvcGVydGllcyhXUF9QSVBFV0lSRV9PQkpFQ1QocHJveHkpKQotKyAgICAg ICAgICA6IHdwX3Byb3BlcnRpZXNfbmV3X2VtcHR5KCk7Ci0rICBnX2F1dG9wdHIoV3BQcm9wZXJ0 aWVzKSBnbG9iYWxQID0gd3BfZ2xvYmFsX3Byb3h5X2dldF9nbG9iYWxfcHJvcGVydGllcyhXUF9H TE9CQUxfUFJPWFkocHJveHkpKTsKLSAgIHByb3BlcnRpZXMgPSB3cF9wcm9wZXJ0aWVzX2Vuc3Vy ZV91bmlxdWVfb3duZXIocHJvcGVydGllcyk7Ci0tICB3cF9wcm9wZXJ0aWVzX2FkZChwcm9wZXJ0 aWVzLCBnbG9iYWxfcCk7Ci0tICB3cF9wcm9wZXJ0aWVzX3NldChwcm9wZXJ0aWVzLCAib2JqZWN0 LmlkIiwgTlVMTCk7Ci0tICBhdXRvIG5pY2sgPSB3cF9wcm9wZXJ0aWVzX2dldChwcm9wZXJ0aWVz LCAibm9kZS5uaWNrIik7Ci0tICBhdXRvIGRlc2NyaXB0aW9uID0gd3BfcHJvcGVydGllc19nZXQo cHJvcGVydGllcywgIm5vZGUuZGVzY3JpcHRpb24iKTsKLS0KLS0gIHNlbGYtPm5vZGVfbmFtZV8g PSBuaWNrID8gbmljayA6IGRlc2NyaXB0aW9uID8gZGVzY3JpcHRpb24gOiAiVW5rbm93biBub2Rl IG5hbWUiOwotKyAgd3BfcHJvcGVydGllc19hZGQocHJvcGVydGllcywgZ2xvYmFsUCk7Ci0rICB3 cF9wcm9wZXJ0aWVzX3NldChwcm9wZXJ0aWVzLCAib2JqZWN0LmlkIiwgbnVsbHB0cik7Ci0rICBj b25zdCBhdXRvKiBuaWNrID0gd3BfcHJvcGVydGllc19nZXQocHJvcGVydGllcywgIm5vZGUubmlj ayIpOwotKyAgY29uc3QgYXV0byogZGVzY3JpcHRpb24gPSB3cF9wcm9wZXJ0aWVzX2dldChwcm9w ZXJ0aWVzLCAibm9kZS5kZXNjcmlwdGlvbiIpOwotKwotKyAgc2VsZi0+bm9kZV9uYW1lXyA9IG5p Y2sgIT0gbnVsbHB0ciAgICAgICAgICA/IG5pY2sKLSsgICAgICAgICAgICAgICAgICAgICA6IGRl c2NyaXB0aW9uICE9IG51bGxwdHIgPyBkZXNjcmlwdGlvbgotKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA6ICJVbmtub3duIG5vZGUgbmFtZSI7Ci0gICBzcGRs b2c6OmRlYnVnKCJbe31dOiBVcGRhdGluZyBub2RlIG5hbWUgdG86IHt9Iiwgc2VsZi0+bmFtZV8s IHNlbGYtPm5vZGVfbmFtZV8pOwotIH0KLSAKLSB2b2lkIHdheWJhcjo6bW9kdWxlczo6V2lyZXBs dW1iZXI6OnVwZGF0ZVZvbHVtZSh3YXliYXI6Om1vZHVsZXM6OldpcmVwbHVtYmVyKiBzZWxmLCB1 aW50MzJfdCBpZCkgewotICAgc3BkbG9nOjpkZWJ1ZygiW3t9XTogdXBkYXRpbmcgdm9sdW1lIiwg c2VsZi0+bmFtZV8pOwotLSAgR1ZhcmlhbnQqIHZhcmlhbnQgPSBOVUxMOwotKyAgR1ZhcmlhbnQq IHZhcmlhbnQgPSBudWxscHRyOwotIAotICAgaWYgKCFpc1ZhbGlkTm9kZUlkKGlkKSkgewotICAg ICBzcGRsb2c6OmVycm9yKCJbe31dOiAne30nIGlzIG5vdCBhIHZhbGlkIG5vZGUgSUQuIElnbm9y aW5nIHZvbHVtZSB1cGRhdGUuIiwgc2VsZi0+bmFtZV8sIGlkKTsKLUBAIC05Nyw3ICs5NCw3IEBA IHZvaWQgd2F5YmFyOjptb2R1bGVzOjpXaXJlcGx1bWJlcjo6dXBkYXRlVm9sdW1lKHdheWJhcjo6 bW9kdWxlczo6V2lyZXBsdW1iZXIqIHNlCi0gCi0gICBnX3NpZ25hbF9lbWl0X2J5X25hbWUoc2Vs Zi0+bWl4ZXJfYXBpXywgImdldC12b2x1bWUiLCBpZCwgJnZhcmlhbnQpOwotIAotLSAgaWYgKCF2 YXJpYW50KSB7Ci0rICBpZiAodmFyaWFudCA9PSBudWxscHRyKSB7Ci0gICAgIGF1dG8gZXJyID0g Zm10Ojpmb3JtYXQoIk5vZGUge30gZG9lcyBub3Qgc3VwcG9ydCB2b2x1bWVcbiIsIGlkKTsKLSAg ICAgc3BkbG9nOjplcnJvcigiW3t9XToge30iLCBzZWxmLT5uYW1lXywgZXJyKTsKLSAgICAgdGhy b3cgc3RkOjpydW50aW1lX2Vycm9yKGVycik7Ci1AQCAtMTE1LDkgKzExMiw5IEBAIHZvaWQgd2F5 YmFyOjptb2R1bGVzOjpXaXJlcGx1bWJlcjo6b25NaXhlckNoYW5nZWQod2F5YmFyOjptb2R1bGVz OjpXaXJlcGx1bWJlcioKLSAgIHNwZGxvZzo6ZGVidWcoIlt7fV06IChvbk1peGVyQ2hhbmdlZCkg LSBpZDoge30iLCBzZWxmLT5uYW1lXywgaWQpOwotIAotICAgZ19hdXRvcHRyKFdwTm9kZSkgbm9k ZSA9IHN0YXRpY19jYXN0PFdwTm9kZSo+KHdwX29iamVjdF9tYW5hZ2VyX2xvb2t1cCgKLS0gICAg ICBzZWxmLT5vbV8sIFdQX1RZUEVfTk9ERSwgV1BfQ09OU1RSQUlOVF9UWVBFX0dfUFJPUEVSVFks ICJib3VuZC1pZCIsICI9dSIsIGlkLCBOVUxMKSk7Ci0rICAgICAgc2VsZi0+b21fLCBXUF9UWVBF X05PREUsIFdQX0NPTlNUUkFJTlRfVFlQRV9HX1BST1BFUlRZLCAiYm91bmQtaWQiLCAiPXUiLCBp ZCwgbnVsbHB0cikpOwotIAotLSAgaWYgKCFub2RlKSB7Ci0rICBpZiAobm9kZSA9PSBudWxscHRy KSB7Ci0gICAgIHNwZGxvZzo6d2FybigiW3t9XTogKG9uTWl4ZXJDaGFuZ2VkKSAtIE9iamVjdCB3 aXRoIGlkIHt9IG5vdCBmb3VuZCIsIHNlbGYtPm5hbWVfLCBpZCk7Ci0gICAgIHJldHVybjsKLSAg IH0KLUBAIC0xNDAsNDkgKzEzNyw0OSBAQCB2b2lkIHdheWJhcjo6bW9kdWxlczo6V2lyZXBsdW1i ZXI6Om9uTWl4ZXJDaGFuZ2VkKHdheWJhcjo6bW9kdWxlczo6V2lyZXBsdW1iZXIqCi0gdm9pZCB3 YXliYXI6Om1vZHVsZXM6OldpcmVwbHVtYmVyOjpvbkRlZmF1bHROb2Rlc0FwaUNoYW5nZWQod2F5 YmFyOjptb2R1bGVzOjpXaXJlcGx1bWJlciogc2VsZikgewotICAgc3BkbG9nOjpkZWJ1ZygiW3t9 XTogKG9uRGVmYXVsdE5vZGVzQXBpQ2hhbmdlZCkiLCBzZWxmLT5uYW1lXyk7Ci0gCi0tICB1aW50 MzJfdCBkZWZhdWx0X25vZGVfaWQ7Ci0tICBnX3NpZ25hbF9lbWl0X2J5X25hbWUoc2VsZi0+ZGVm X25vZGVzX2FwaV8sICJnZXQtZGVmYXVsdC1ub2RlIiwgIkF1ZGlvL1NpbmsiLCAmZGVmYXVsdF9u b2RlX2lkKTsKLSsgIHVpbnQzMl90IGRlZmF1bHROb2RlSWQ7Ci0rICBnX3NpZ25hbF9lbWl0X2J5 X25hbWUoc2VsZi0+ZGVmX25vZGVzX2FwaV8sICJnZXQtZGVmYXVsdC1ub2RlIiwgIkF1ZGlvL1Np bmsiLCAmZGVmYXVsdE5vZGVJZCk7Ci0gCi0tICBpZiAoIWlzVmFsaWROb2RlSWQoZGVmYXVsdF9u b2RlX2lkKSkgewotKyAgaWYgKCFpc1ZhbGlkTm9kZUlkKGRlZmF1bHROb2RlSWQpKSB7Ci0gICAg IHNwZGxvZzo6d2FybigiW3t9XTogJ3t9JyBpcyBub3QgYSB2YWxpZCBub2RlIElELiBJZ25vcmlu ZyBub2RlIGNoYW5nZS4iLCBzZWxmLT5uYW1lXywKLS0gICAgICAgICAgICAgICAgIGRlZmF1bHRf bm9kZV9pZCk7Ci0rICAgICAgICAgICAgICAgICBkZWZhdWx0Tm9kZUlkKTsKLSAgICAgcmV0dXJu OwotICAgfQotIAotICAgZ19hdXRvcHRyKFdwTm9kZSkgbm9kZSA9IHN0YXRpY19jYXN0PFdwTm9k ZSo+KAotICAgICAgIHdwX29iamVjdF9tYW5hZ2VyX2xvb2t1cChzZWxmLT5vbV8sIFdQX1RZUEVf Tk9ERSwgV1BfQ09OU1RSQUlOVF9UWVBFX0dfUFJPUEVSVFksICJib3VuZC1pZCIsCi0tICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICI9dSIsIGRlZmF1bHRfbm9kZV9pZCwgTlVMTCkpOwot KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiPXUiLCBkZWZhdWx0Tm9kZUlkLCBudWxs cHRyKSk7Ci0gCi0tICBpZiAoIW5vZGUpIHsKLSsgIGlmIChub2RlID09IG51bGxwdHIpIHsKLSAg ICAgc3BkbG9nOjp3YXJuKCJbe31dOiAob25EZWZhdWx0Tm9kZXNBcGlDaGFuZ2VkKSAtIE9iamVj dCB3aXRoIGlkIHt9IG5vdCBmb3VuZCIsIHNlbGYtPm5hbWVfLAotLSAgICAgICAgICAgICAgICAg ZGVmYXVsdF9ub2RlX2lkKTsKLSsgICAgICAgICAgICAgICAgIGRlZmF1bHROb2RlSWQpOwotICAg ICByZXR1cm47Ci0gICB9Ci0gCi0tICBjb25zdCBnY2hhciogZGVmYXVsdF9ub2RlX25hbWUgPQot KyAgY29uc3QgZ2NoYXIqIGRlZmF1bHROb2RlTmFtZSA9Ci0gICAgICAgd3BfcGlwZXdpcmVfb2Jq ZWN0X2dldF9wcm9wZXJ0eShXUF9QSVBFV0lSRV9PQkpFQ1Qobm9kZSksICJub2RlLm5hbWUiKTsK LSAKLSAgIHNwZGxvZzo6ZGVidWcoCi0gICAgICAgIlt7fV06IChvbkRlZmF1bHROb2Rlc0FwaUNo YW5nZWQpIC0gZ290IHRoZSBmb2xsb3dpbmcgZGVmYXVsdCBub2RlOiBOb2RlKG5hbWU6IHt9LCBp ZDoge30pIiwKLS0gICAgICBzZWxmLT5uYW1lXywgZGVmYXVsdF9ub2RlX25hbWUsIGRlZmF1bHRf bm9kZV9pZCk7Ci0rICAgICAgc2VsZi0+bmFtZV8sIGRlZmF1bHROb2RlTmFtZSwgZGVmYXVsdE5v ZGVJZCk7Ci0gCi0tICBpZiAoZ19zdHJjbXAwKHNlbGYtPmRlZmF1bHRfbm9kZV9uYW1lXywgZGVm YXVsdF9ub2RlX25hbWUpID09IDApIHsKLSsgIGlmIChnX3N0cmNtcDAoc2VsZi0+ZGVmYXVsdF9u b2RlX25hbWVfLCBkZWZhdWx0Tm9kZU5hbWUpID09IDApIHsKLSAgICAgc3BkbG9nOjpkZWJ1ZygK LSAgICAgICAgICJbe31dOiAob25EZWZhdWx0Tm9kZXNBcGlDaGFuZ2VkKSAtIERlZmF1bHQgbm9k ZSBoYXMgbm90IGNoYW5nZWQuIE5vZGUobmFtZToge30sIGlkOiB7fSkuICIKLSAgICAgICAgICJJ Z25vcmluZy4iLAotLSAgICAgICAgc2VsZi0+bmFtZV8sIHNlbGYtPmRlZmF1bHRfbm9kZV9uYW1l XywgZGVmYXVsdF9ub2RlX2lkKTsKLSsgICAgICAgIHNlbGYtPm5hbWVfLCBzZWxmLT5kZWZhdWx0 X25vZGVfbmFtZV8sIGRlZmF1bHROb2RlSWQpOwotICAgICByZXR1cm47Ci0gICB9Ci0gCi0gICBz cGRsb2c6OmRlYnVnKAotICAgICAgICJbe31dOiAob25EZWZhdWx0Tm9kZXNBcGlDaGFuZ2VkKSAt IERlZmF1bHQgbm9kZSBjaGFuZ2VkIHRvIC0+IE5vZGUobmFtZToge30sIGlkOiB7fSkiLAotLSAg ICAgIHNlbGYtPm5hbWVfLCBkZWZhdWx0X25vZGVfbmFtZSwgZGVmYXVsdF9ub2RlX2lkKTsKLSsg ICAgICBzZWxmLT5uYW1lXywgZGVmYXVsdE5vZGVOYW1lLCBkZWZhdWx0Tm9kZUlkKTsKLSAKLSAg IGdfZnJlZShzZWxmLT5kZWZhdWx0X25vZGVfbmFtZV8pOwotLSAgc2VsZi0+ZGVmYXVsdF9ub2Rl X25hbWVfID0gZ19zdHJkdXAoZGVmYXVsdF9ub2RlX25hbWUpOwotLSAgc2VsZi0+bm9kZV9pZF8g PSBkZWZhdWx0X25vZGVfaWQ7Ci0tICB1cGRhdGVWb2x1bWUoc2VsZiwgZGVmYXVsdF9ub2RlX2lk KTsKLS0gIHVwZGF0ZU5vZGVOYW1lKHNlbGYsIGRlZmF1bHRfbm9kZV9pZCk7Ci0rICBzZWxmLT5k ZWZhdWx0X25vZGVfbmFtZV8gPSBnX3N0cmR1cChkZWZhdWx0Tm9kZU5hbWUpOwotKyAgc2VsZi0+ bm9kZV9pZF8gPSBkZWZhdWx0Tm9kZUlkOwotKyAgdXBkYXRlVm9sdW1lKHNlbGYsIGRlZmF1bHRO b2RlSWQpOwotKyAgdXBkYXRlTm9kZU5hbWUoc2VsZiwgZGVmYXVsdE5vZGVJZCk7Ci0gfQotIAot IHZvaWQgd2F5YmFyOjptb2R1bGVzOjpXaXJlcGx1bWJlcjo6b25PYmplY3RNYW5hZ2VySW5zdGFs bGVkKHdheWJhcjo6bW9kdWxlczo6V2lyZXBsdW1iZXIqIHNlbGYpIHsKLUBAIC0xOTAsMTQgKzE4 NywxNCBAQCB2b2lkIHdheWJhcjo6bW9kdWxlczo6V2lyZXBsdW1iZXI6Om9uT2JqZWN0TWFuYWdl ckluc3RhbGxlZCh3YXliYXI6Om1vZHVsZXM6OldpcgotIAotICAgc2VsZi0+ZGVmX25vZGVzX2Fw aV8gPSB3cF9wbHVnaW5fZmluZChzZWxmLT53cF9jb3JlXywgImRlZmF1bHQtbm9kZXMtYXBpIik7 Ci0gCi0tICBpZiAoIXNlbGYtPmRlZl9ub2Rlc19hcGlfKSB7Ci0rICBpZiAoc2VsZi0+ZGVmX25v ZGVzX2FwaV8gPT0gbnVsbHB0cikgewotICAgICBzcGRsb2c6OmVycm9yKCJbe31dOiBkZWZhdWx0 IG5vZGVzIGFwaSBpcyBub3QgbG9hZGVkLiIsIHNlbGYtPm5hbWVfKTsKLSAgICAgdGhyb3cgc3Rk OjpydW50aW1lX2Vycm9yKCJEZWZhdWx0IG5vZGVzIEFQSSBpcyBub3QgbG9hZGVkXG4iKTsKLSAg IH0KLSAKLSAgIHNlbGYtPm1peGVyX2FwaV8gPSB3cF9wbHVnaW5fZmluZChzZWxmLT53cF9jb3Jl XywgIm1peGVyLWFwaSIpOwotIAotLSAgaWYgKCFzZWxmLT5taXhlcl9hcGlfKSB7Ci0rICBpZiAo c2VsZi0+bWl4ZXJfYXBpXyA9PSBudWxscHRyKSB7Ci0gICAgIHNwZGxvZzo6ZXJyb3IoIlt7fV06 IG1peGVyIGFwaSBpcyBub3QgbG9hZGVkLiIsIHNlbGYtPm5hbWVfKTsKLSAgICAgdGhyb3cgc3Rk OjpydW50aW1lX2Vycm9yKCJNaXhlciBhcGkgaXMgbm90IGxvYWRlZFxuIik7Ci0gICB9Ci1AQCAt MjA2LDcgKzIwMyw3IEBAIHZvaWQgd2F5YmFyOjptb2R1bGVzOjpXaXJlcGx1bWJlcjo6b25PYmpl Y3RNYW5hZ2VySW5zdGFsbGVkKHdheWJhcjo6bW9kdWxlczo6V2lyCi0gICAgICAgICAgICAgICAg ICAgICAgICAgJnNlbGYtPmRlZmF1bHRfbm9kZV9uYW1lXyk7Ci0gICBnX3NpZ25hbF9lbWl0X2J5 X25hbWUoc2VsZi0+ZGVmX25vZGVzX2FwaV8sICJnZXQtZGVmYXVsdC1ub2RlIiwgIkF1ZGlvL1Np bmsiLCAmc2VsZi0+bm9kZV9pZF8pOwotIAotLSAgaWYgKHNlbGYtPmRlZmF1bHRfbm9kZV9uYW1l XykgewotKyAgaWYgKHNlbGYtPmRlZmF1bHRfbm9kZV9uYW1lXyAhPSBudWxscHRyKSB7Ci0gICAg IHNwZGxvZzo6ZGVidWcoIlt7fV06IChvbk9iamVjdE1hbmFnZXJJbnN0YWxsZWQpIC0gZGVmYXVs dCBjb25maWd1cmVkIG5vZGUgbmFtZToge30gYW5kIGlkOiB7fSIsCi0gICAgICAgICAgICAgICAg ICAgc2VsZi0+bmFtZV8sIHNlbGYtPmRlZmF1bHRfbm9kZV9uYW1lXywgc2VsZi0+bm9kZV9pZF8p OwotICAgfQotQEAgLTIyMSwxMSArMjE4LDExIEBAIHZvaWQgd2F5YmFyOjptb2R1bGVzOjpXaXJl cGx1bWJlcjo6b25PYmplY3RNYW5hZ2VySW5zdGFsbGVkKHdheWJhcjo6bW9kdWxlczo6V2lyCi0g Ci0gdm9pZCB3YXliYXI6Om1vZHVsZXM6OldpcmVwbHVtYmVyOjpvblBsdWdpbkFjdGl2YXRlZChX cE9iamVjdCogcCwgR0FzeW5jUmVzdWx0KiByZXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXliYXI6Om1vZHVsZXM6OldpcmVwbHVtYmVy KiBzZWxmKSB7Ci0tICBhdXRvIHBsdWdpbl9uYW1lID0gd3BfcGx1Z2luX2dldF9uYW1lKFdQX1BM VUdJTihwKSk7Ci0tICBzcGRsb2c6OmRlYnVnKCJbe31dOiBvblBsdWdpbkFjdGl2YXRlZDoge30i LCBzZWxmLT5uYW1lXywgcGx1Z2luX25hbWUpOwotLSAgZ19hdXRvcHRyKEdFcnJvcikgZXJyb3Ig PSBOVUxMOwotKyAgY29uc3QgYXV0byogcGx1Z2luTmFtZSA9IHdwX3BsdWdpbl9nZXRfbmFtZShX UF9QTFVHSU4ocCkpOwotKyAgc3BkbG9nOjpkZWJ1ZygiW3t9XTogb25QbHVnaW5BY3RpdmF0ZWQ6 IHt9Iiwgc2VsZi0+bmFtZV8sIHBsdWdpbk5hbWUpOwotKyAgZ19hdXRvcHRyKEdFcnJvcikgZXJy b3IgPSBudWxscHRyOwotIAotLSAgaWYgKCF3cF9vYmplY3RfYWN0aXZhdGVfZmluaXNoKHAsIHJl cywgJmVycm9yKSkgewotKyAgaWYgKHdwX29iamVjdF9hY3RpdmF0ZV9maW5pc2gocCwgcmVzLCAm ZXJyb3IpID09IDApIHsKLSAgICAgc3BkbG9nOjplcnJvcigiW3t9XTogZXJyb3IgYWN0aXZhdGlu ZyBwbHVnaW46IHt9Iiwgc2VsZi0+bmFtZV8sIGVycm9yLT5tZXNzYWdlKTsKLSAgICAgdGhyb3cg c3RkOjpydW50aW1lX2Vycm9yKGVycm9yLT5tZXNzYWdlKTsKLSAgIH0KLUBAIC0yNDAsNyArMjM3 LDcgQEAgdm9pZCB3YXliYXI6Om1vZHVsZXM6OldpcmVwbHVtYmVyOjphY3RpdmF0ZVBsdWdpbnMo KSB7Ci0gICBmb3IgKHVpbnQxNl90IGkgPSAwOyBpIDwgYXBpc18tPmxlbjsgaSsrKSB7Ci0gICAg IFdwUGx1Z2luKiBwbHVnaW4gPSBzdGF0aWNfY2FzdDxXcFBsdWdpbio+KGdfcHRyX2FycmF5X2lu ZGV4KGFwaXNfLCBpKSk7Ci0gICAgIHBlbmRpbmdfcGx1Z2luc18rKzsKLS0gICAgd3Bfb2JqZWN0 X2FjdGl2YXRlKFdQX09CSkVDVChwbHVnaW4pLCBXUF9QTFVHSU5fRkVBVFVSRV9FTkFCTEVELCBO VUxMLAotKyAgICB3cF9vYmplY3RfYWN0aXZhdGUoV1BfT0JKRUNUKHBsdWdpbiksIFdQX1BMVUdJ Tl9GRUFUVVJFX0VOQUJMRUQsIG51bGxwdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAoR0Fz eW5jUmVhZHlDYWxsYmFjaylvblBsdWdpbkFjdGl2YXRlZCwgdGhpcyk7Ci0gICB9Ci0gfQotQEAg LTI0OCwzNCArMjQ1LDY3IEBAIHZvaWQgd2F5YmFyOjptb2R1bGVzOjpXaXJlcGx1bWJlcjo6YWN0 aXZhdGVQbHVnaW5zKCkgewotIHZvaWQgd2F5YmFyOjptb2R1bGVzOjpXaXJlcGx1bWJlcjo6cHJl cGFyZSgpIHsKLSAgIHNwZGxvZzo6ZGVidWcoIlt7fV06IHByZXBhcmluZyBvYmplY3QgbWFuYWdl ciIsIG5hbWVfKTsKLSAgIHdwX29iamVjdF9tYW5hZ2VyX2FkZF9pbnRlcmVzdChvbV8sIFdQX1RZ UEVfTk9ERSwgV1BfQ09OU1RSQUlOVF9UWVBFX1BXX1BST1BFUlRZLCAibWVkaWEuY2xhc3MiLAot LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI9cyIsICJBdWRpby9TaW5rIiwgTlVM TCk7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIj1zIiwgIkF1ZGlvL1Npbmsi LCBudWxscHRyKTsKLSB9Ci0gCi0tdm9pZCB3YXliYXI6Om1vZHVsZXM6OldpcmVwbHVtYmVyOjps b2FkUmVxdWlyZWRBcGlNb2R1bGVzKCkgewotLSAgc3BkbG9nOjpkZWJ1ZygiW3t9XTogbG9hZGlu ZyByZXF1aXJlZCBtb2R1bGVzIiwgbmFtZV8pOwotLSAgZ19hdXRvcHRyKEdFcnJvcikgZXJyb3Ig PSBOVUxMOwotK3ZvaWQgd2F5YmFyOjptb2R1bGVzOjpXaXJlcGx1bWJlcjo6b25EZWZhdWx0Tm9k ZXNBcGlMb2FkZWQoV3BPYmplY3QqIHAsIEdBc3luY1Jlc3VsdCogcmVzLAotKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2F5YmFyOjpt b2R1bGVzOjpXaXJlcGx1bWJlciogc2VsZikgewotKyAgZ2Jvb2xlYW4gc3VjY2VzcyA9IEZBTFNF OwotKyAgZ19hdXRvcHRyKEdFcnJvcikgZXJyb3IgPSBudWxscHRyOwotIAotLSAgaWYgKCF3cF9j b3JlX2xvYWRfY29tcG9uZW50KHdwX2NvcmVfLCAibGlid2lyZXBsdW1iZXItbW9kdWxlLWRlZmF1 bHQtbm9kZXMtYXBpIiwgIm1vZHVsZSIsIE5VTEwsCi0tICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJmVycm9yKSkgewotKyAgc3BkbG9nOjpkZWJ1ZygiW3t9XTogY2FsbGJhY2sgbG9hZGlu ZyBkZWZhdWx0IG5vZGUgYXBpIG1vZHVsZSIsIHNlbGYtPm5hbWVfKTsKLSsKLSsgIHN1Y2Nlc3Mg PSB3cF9jb3JlX2xvYWRfY29tcG9uZW50X2ZpbmlzaChzZWxmLT53cF9jb3JlXywgcmVzLCAmZXJy b3IpOwotKwotKyAgaWYgKHN1Y2Nlc3MgPT0gRkFMU0UpIHsKLSsgICAgc3BkbG9nOjplcnJvcigi W3t9XTogZGVmYXVsdCBub2RlcyBBUEkgbG9hZCBmYWlsZWQiLCBzZWxmLT5uYW1lXyk7Ci0gICAg IHRocm93IHN0ZDo6cnVudGltZV9lcnJvcihlcnJvci0+bWVzc2FnZSk7Ci0gICB9Ci0rICBzcGRs b2c6OmRlYnVnKCJbe31dOiBsb2FkZWQgZGVmYXVsdCBub2RlcyBhcGkiLCBzZWxmLT5uYW1lXyk7 Ci0rICBnX3B0cl9hcnJheV9hZGQoc2VsZi0+YXBpc18sIHdwX3BsdWdpbl9maW5kKHNlbGYtPndw X2NvcmVfLCAiZGVmYXVsdC1ub2Rlcy1hcGkiKSk7Ci0rCi0rICBzcGRsb2c6OmRlYnVnKCJbe31d OiBsb2FkaW5nIG1peGVyIGFwaSBtb2R1bGUiLCBzZWxmLT5uYW1lXyk7Ci0rICB3cF9jb3JlX2xv YWRfY29tcG9uZW50KHNlbGYtPndwX2NvcmVfLCAibGlid2lyZXBsdW1iZXItbW9kdWxlLW1peGVy LWFwaSIsICJtb2R1bGUiLCBudWxscHRyLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAibWl4 ZXItYXBpIiwgbnVsbHB0ciwgKEdBc3luY1JlYWR5Q2FsbGJhY2spb25NaXhlckFwaUxvYWRlZCwg c2VsZik7Ci0rfQotIAotLSAgaWYgKCF3cF9jb3JlX2xvYWRfY29tcG9uZW50KHdwX2NvcmVfLCAi bGlid2lyZXBsdW1iZXItbW9kdWxlLW1peGVyLWFwaSIsICJtb2R1bGUiLCBOVUxMLAotLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICZlcnJvcikpIHsKLSt2b2lkIHdheWJhcjo6bW9kdWxl czo6V2lyZXBsdW1iZXI6Om9uTWl4ZXJBcGlMb2FkZWQoV3BPYmplY3QqIHAsIEdBc3luY1Jlc3Vs dCogcmVzLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB3YXliYXI6Om1vZHVsZXM6OldpcmVwbHVtYmVyKiBzZWxmKSB7Ci0rICBnYm9vbGVhbiBz dWNjZXNzID0gRkFMU0U7Ci0rICBnX2F1dG9wdHIoR0Vycm9yKSBlcnJvciA9IG51bGxwdHI7Ci0r Ci0rICBzdWNjZXNzID0gd3BfY29yZV9sb2FkX2NvbXBvbmVudF9maW5pc2goc2VsZi0+d3BfY29y ZV8sIHJlcywgbnVsbHB0cik7Ci0rCi0rICBpZiAoc3VjY2VzcyA9PSBGQUxTRSkgewotKyAgICBz cGRsb2c6OmVycm9yKCJbe31dOiBtaXhlciBBUEkgbG9hZCBmYWlsZWQiLCBzZWxmLT5uYW1lXyk7 Ci0gICAgIHRocm93IHN0ZDo6cnVudGltZV9lcnJvcihlcnJvci0+bWVzc2FnZSk7Ci0gICB9Ci0g Ci0tICBnX3B0cl9hcnJheV9hZGQoYXBpc18sIHdwX3BsdWdpbl9maW5kKHdwX2NvcmVfLCAiZGVm YXVsdC1ub2Rlcy1hcGkiKSk7Ci0tICBnX3B0cl9hcnJheV9hZGQoYXBpc18sICh7Ci0tICAgICAg ICAgICAgICAgICAgICBXcFBsdWdpbiogcCA9IHdwX3BsdWdpbl9maW5kKHdwX2NvcmVfLCAibWl4 ZXItYXBpIik7Ci0tICAgICAgICAgICAgICAgICAgICBnX29iamVjdF9zZXQoR19PQkpFQ1QocCks ICJzY2FsZSIsIDEgLyogY3ViaWMgKi8sIE5VTEwpOwotKyAgc3BkbG9nOjpkZWJ1ZygiW3t9XTog bG9hZGVkIG1peGVyIEFQSSIsIHNlbGYtPm5hbWVfKTsKLSsgIGdfcHRyX2FycmF5X2FkZChzZWxm LT5hcGlzXywgKHsKLSsgICAgICAgICAgICAgICAgICAgIFdwUGx1Z2luKiBwID0gd3BfcGx1Z2lu X2ZpbmQoc2VsZi0+d3BfY29yZV8sICJtaXhlci1hcGkiKTsKLSsgICAgICAgICAgICAgICAgICAg IGdfb2JqZWN0X3NldChHX09CSkVDVChwKSwgInNjYWxlIiwgMSAvKiBjdWJpYyAqLywgbnVsbHB0 cik7Ci0gICAgICAgICAgICAgICAgICAgICBwOwotICAgICAgICAgICAgICAgICAgIH0pKTsKLSsK LSsgIHNlbGYtPmFjdGl2YXRlUGx1Z2lucygpOwotKwotKyAgc2VsZi0+ZHAuZW1pdCgpOwotKwot KyAgc2VsZi0+ZXZlbnRfYm94Xy5hZGRfZXZlbnRzKEdkazo6U0NST0xMX01BU0sgfCBHZGs6OlNN T09USF9TQ1JPTExfTUFTSyk7Ci0rICBzZWxmLT5ldmVudF9ib3hfLnNpZ25hbF9zY3JvbGxfZXZl bnQoKS5jb25uZWN0KHNpZ2M6Om1lbV9mdW4oKnNlbGYsICZXaXJlcGx1bWJlcjo6aGFuZGxlU2Ny b2xsKSk7Ci0rfQotKwotK3ZvaWQgd2F5YmFyOjptb2R1bGVzOjpXaXJlcGx1bWJlcjo6YXN5bmNM b2FkUmVxdWlyZWRBcGlNb2R1bGVzKCkgewotKyAgc3BkbG9nOjpkZWJ1ZygiW3t9XTogbG9hZGlu ZyBkZWZhdWx0IG5vZGVzIGFwaSBtb2R1bGUiLCBuYW1lXyk7Ci0rICB3cF9jb3JlX2xvYWRfY29t cG9uZW50KHdwX2NvcmVfLCAibGlid2lyZXBsdW1iZXItbW9kdWxlLWRlZmF1bHQtbm9kZXMtYXBp IiwgIm1vZHVsZSIsIG51bGxwdHIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0 LW5vZGVzLWFwaSIsIG51bGxwdHIsIChHQXN5bmNSZWFkeUNhbGxiYWNrKW9uRGVmYXVsdE5vZGVz QXBpTG9hZGVkLAotKyAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzKTsKLSB9Ci0gCi0gYXV0 byB3YXliYXI6Om1vZHVsZXM6OldpcmVwbHVtYmVyOjp1cGRhdGUoKSAtPiB2b2lkIHsKLSAgIGF1 dG8gZm9ybWF0ID0gZm9ybWF0XzsKLS0gIHN0ZDo6c3RyaW5nIHRvb2x0aXBfZm9ybWF0OwotKyAg c3RkOjpzdHJpbmcgdG9vbHRpcEZvcm1hdDsKLSAKLSAgIGlmIChtdXRlZF8pIHsKLSAgICAgZm9y bWF0ID0gY29uZmlnX1siZm9ybWF0LW11dGVkIl0uaXNTdHJpbmcoKSA/IGNvbmZpZ19bImZvcm1h dC1tdXRlZCJdLmFzU3RyaW5nKCkgOiBmb3JtYXQ7Ci1AQCAtMjkyLDEyICszMjIsMTIgQEAgYXV0 byB3YXliYXI6Om1vZHVsZXM6OldpcmVwbHVtYmVyOjp1cGRhdGUoKSAtPiB2b2lkIHsKLSAgIGdl dFN0YXRlKHZvbCk7Ci0gCi0gICBpZiAodG9vbHRpcEVuYWJsZWQoKSkgewotLSAgICBpZiAodG9v bHRpcF9mb3JtYXQuZW1wdHkoKSAmJiBjb25maWdfWyJ0b29sdGlwLWZvcm1hdCJdLmlzU3RyaW5n KCkpIHsKLS0gICAgICB0b29sdGlwX2Zvcm1hdCA9IGNvbmZpZ19bInRvb2x0aXAtZm9ybWF0Il0u YXNTdHJpbmcoKTsKLSsgICAgaWYgKHRvb2x0aXBGb3JtYXQuZW1wdHkoKSAmJiBjb25maWdfWyJ0 b29sdGlwLWZvcm1hdCJdLmlzU3RyaW5nKCkpIHsKLSsgICAgICB0b29sdGlwRm9ybWF0ID0gY29u ZmlnX1sidG9vbHRpcC1mb3JtYXQiXS5hc1N0cmluZygpOwotICAgICB9Ci0gCi0tICAgIGlmICgh dG9vbHRpcF9mb3JtYXQuZW1wdHkoKSkgewotLSAgICAgIGxhYmVsXy5zZXRfdG9vbHRpcF90ZXh0 KGZtdDo6Zm9ybWF0KGZtdDo6cnVudGltZSh0b29sdGlwX2Zvcm1hdCksCi0rICAgIGlmICghdG9v bHRpcEZvcm1hdC5lbXB0eSgpKSB7Ci0rICAgICAgbGFiZWxfLnNldF90b29sdGlwX3RleHQoZm10 Ojpmb3JtYXQoZm10OjpydW50aW1lKHRvb2x0aXBGb3JtYXQpLAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGZtdDo6YXJnKCJub2RlX25hbWUiLCBub2RlX25hbWVf KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbXQ6OmFyZygi dm9sdW1lIiwgdm9sKSwgZm10OjphcmcoImljb24iLCBnZXRJY29uKHZvbCkpKSk7Ci0gICAgIH0g ZWxzZSB7Ci1AQCAtMzE3LDMxICszNDcsMzEgQEAgYm9vbCB3YXliYXI6Om1vZHVsZXM6OldpcmVw bHVtYmVyOjpoYW5kbGVTY3JvbGwoR2RrRXZlbnRTY3JvbGwqIGUpIHsKLSAgIGlmIChkaXIgPT0g U0NST0xMX0RJUjo6Tk9ORSkgewotICAgICByZXR1cm4gdHJ1ZTsKLSAgIH0KLS0gIGRvdWJsZSBt YXhfdm9sdW1lID0gMTsKLSsgIGRvdWJsZSBtYXhWb2x1bWUgPSAxOwotICAgZG91YmxlIHN0ZXAg PSAxLjAgLyAxMDAuMDsKLSAgIGlmIChjb25maWdfWyJzY3JvbGwtc3RlcCJdLmlzRG91YmxlKCkp IHsKLSAgICAgc3RlcCA9IGNvbmZpZ19bInNjcm9sbC1zdGVwIl0uYXNEb3VibGUoKSAvIDEwMC4w OwotICAgfQotICAgaWYgKGNvbmZpZ19bIm1heC12b2x1bWUiXS5pc0RvdWJsZSgpKSB7Ci0tICAg IG1heF92b2x1bWUgPSBjb25maWdfWyJtYXgtdm9sdW1lIl0uYXNEb3VibGUoKSAvIDEwMC4wOwot KyAgICBtYXhWb2x1bWUgPSBjb25maWdfWyJtYXgtdm9sdW1lIl0uYXNEb3VibGUoKSAvIDEwMC4w OwotICAgfQotIAotICAgaWYgKHN0ZXAgPCBtaW5fc3RlcF8pIHN0ZXAgPSBtaW5fc3RlcF87Ci0g Ci0tICBkb3VibGUgbmV3X3ZvbCA9IHZvbHVtZV87Ci0rICBkb3VibGUgbmV3Vm9sID0gdm9sdW1l XzsKLSAgIGlmIChkaXIgPT0gU0NST0xMX0RJUjo6VVApIHsKLS0gICAgaWYgKHZvbHVtZV8gPCBt YXhfdm9sdW1lKSB7Ci0tICAgICAgbmV3X3ZvbCA9IHZvbHVtZV8gKyBzdGVwOwotLSAgICAgIGlm IChuZXdfdm9sID4gbWF4X3ZvbHVtZSkgbmV3X3ZvbCA9IG1heF92b2x1bWU7Ci0rICAgIGlmICh2 b2x1bWVfIDwgbWF4Vm9sdW1lKSB7Ci0rICAgICAgbmV3Vm9sID0gdm9sdW1lXyArIHN0ZXA7Ci0r ICAgICAgaWYgKG5ld1ZvbCA+IG1heFZvbHVtZSkgbmV3Vm9sID0gbWF4Vm9sdW1lOwotICAgICB9 Ci0gICB9IGVsc2UgaWYgKGRpciA9PSBTQ1JPTExfRElSOjpET1dOKSB7Ci0gICAgIGlmICh2b2x1 bWVfID4gMCkgewotLSAgICAgIG5ld192b2wgPSB2b2x1bWVfIC0gc3RlcDsKLS0gICAgICBpZiAo bmV3X3ZvbCA8IDApIG5ld192b2wgPSAwOwotKyAgICAgIG5ld1ZvbCA9IHZvbHVtZV8gLSBzdGVw OwotKyAgICAgIGlmIChuZXdWb2wgPCAwKSBuZXdWb2wgPSAwOwotICAgICB9Ci0gICB9Ci0tICBp ZiAobmV3X3ZvbCAhPSB2b2x1bWVfKSB7Ci0tICAgIEdWYXJpYW50KiB2YXJpYW50ID0gZ192YXJp YW50X25ld19kb3VibGUobmV3X3ZvbCk7Ci0rICBpZiAobmV3Vm9sICE9IHZvbHVtZV8pIHsKLSsg ICAgR1ZhcmlhbnQqIHZhcmlhbnQgPSBnX3ZhcmlhbnRfbmV3X2RvdWJsZShuZXdWb2wpOwotICAg ICBnYm9vbGVhbiByZXQ7Ci0gICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZShtaXhlcl9hcGlfLCAi c2V0LXZvbHVtZSIsIG5vZGVfaWRfLCB2YXJpYW50LCAmcmV0KTsKLSAgIH0KLQpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9XYXliYXIvdGVtcGxhdGUgYi9zcmNwa2dzL1dheWJhci90ZW1wbGF0ZQppbmRl eCAxNGNhNmUxODI4MmU3Ni4uODk4YmRmNmU0OTkyNmEgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvV2F5 YmFyL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvV2F5YmFyL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBA QAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnV2F5YmFyJwogcGtnbmFtZT1XYXliYXIKLXZlcnNpb249 MC4xMC4wCi1yZXZpc2lvbj0yCit2ZXJzaW9uPTAuMTAuMgorcmV2aXNpb249MQogYnVpbGRfc3R5 bGU9bWVzb24KIGNvbmZpZ3VyZV9hcmdzPSItRGxpYnVkZXY9ZW5hYmxlZCAtRG1hbi1wYWdlcz1l bmFibGVkCiAgLURzeXN0ZW1kPWRpc2FibGVkIC1EcmZraWxsPWVuYWJsZWQKQEAgLTMwLDcgKzMw LDcgQEAgbGljZW5zZT0iTUlUIgogaG9tZXBhZ2U9Imh0dHBzOi8vZ2l0aHViLmNvbS9BbGV4YXlz L1dheWJhciIKIGNoYW5nZWxvZz0iaHR0cHM6Ly9naXRodWIuY29tL0FsZXhheXMvV2F5YmFyL3Jl bGVhc2VzIgogZGlzdGZpbGVzPSJodHRwczovL2dpdGh1Yi5jb20vQWxleGF5cy9XYXliYXIvYXJj aGl2ZS9yZWZzL3RhZ3MvJHt2ZXJzaW9ufS50YXIuZ3oiCi1jaGVja3N1bT0zYWY2NjY1ODg5ODY4 ZjIzMzRiYTE3OTNjOGIwZjMxMDRjNGMzYjE3NmE4Yzc1OWYwZDA4ZjA3MjY2YWQyNjIwCitjaGVj a3N1bT03ZWNjY2ZlNWQzMjZkNjY5ODdhMzJlNzdlMDJiODI1MDE5ZDE5MTY3MGFiOGU4NzQxMmRm MDFkZDA5MTNmOWMwCiBjb25mX2ZpbGVzPSIvZXRjL3hkZy93YXliYXIvY29uZmlnLmpzb25jIC9l dGMveGRnL3dheWJhci9zdHlsZS5jc3MiCiAKIGJ1aWxkX29wdGlvbnM9ImxpYm5sIHB1bHNlYXVk aW8gZGJ1c21lbnVndGsgbXBkIHNuZGlvIGphY2sgcGlwZXdpcmUiCg== --===============6201339009020429753==--