From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Mamoru TASAKA To: git-commits@fedoraproject.org Subject: [rpms/ruby] rawhide: Backport upstream patch to update resolv to 0.7.2 Date: Thu, 10 Sep 2026 07:55:53 GMT Message-ID: <178902695360.1.4420876536816712133.rpms-ruby-fe82f3732eec@fedoraproject.org> List-ID: X-Git-Repo: rpms/ruby X-Git-Branch: rawhide X-Git-Rev: fe82f3732eec94bac001b8a9477c88ec08c7b9d1 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvcnVieQogICAgICAgICAgICBCcmFuY2ggOiByYXdoaWRlCiAgICAgICAgICAg IENvbW1pdCA6IGZlODJmMzczMmVlYzk0YmFjMDAxYjhhOTQ3N2M4OGVjMDhjN2I5ZDEKICAgICAg ICAgICAgQXV0aG9yIDogTWFtb3J1IFRBU0FLQSA8bXRhc2FrYUBmZWRvcmFwcm9qZWN0Lm9yZz4K ICAgICAgICAgICAgRGF0ZSAgIDogMjAyNi0wOS0wM1QyMzo1NDo1MyswOTowMAogICAgICAgICAg ICBTdGF0cyAgOiArOTk4Ly00IGluIDIgZmlsZShzKQogICAgICAgICAgICBVUkwgICAgOiBodHRw czovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL3J1YnkvYy9mZTgyZjM3MzJlZWM5NGJhYzAw MWI4YTk0NzdjODhlYzA4YzdiOWQxP2JyYW5jaD1yYXdoaWRlCgogICAgICAgICAgICBMb2c6CiAg ICAgICAgICAgIEJhY2twb3J0IHVwc3RyZWFtIHBhdGNoIHRvIHVwZGF0ZSByZXNvbHYgdG8gMC43 LjIKClJlc29sdmVzOiBDVkUtMjAyNi04MDIxMiAocmhieiMyNTI3MzA4KQpSZXNvbHZlczogQ1ZF LTIwMjYtODAyMTMgKHJoYnojMjUyNzMxMCkKCi0tLQpkaWZmIC0tZ2l0IGEvcnVieS00XzAtcHIx ODUyOC11cGRhdGUtcmVzb2x2LTBfN18yLnBhdGNoIGIvcnVieS00XzAtcHIxODUyOC11cGRhdGUt cmVzb2x2LTBfN18yLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU0 OWYwZDIKLS0tIC9kZXYvbnVsbAorKysgYi9ydWJ5LTRfMC1wcjE4NTI4LXVwZGF0ZS1yZXNvbHYt MF83XzIucGF0Y2gKQEAgLTAsMCArMSw5ODQgQEAKK0Zyb20gODhiYTFkNGUxMzcwZjQyMjFlMDYw ZTRlZDUzZWYxOTE4MzRlNTgzOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEhpcm9z aGkgU0hJQkFUQSA8aHNidEBydWJ5LWxhbmcub3JnPgorRGF0ZTogVGh1LCAyNyBBdWcgMjAyNiAx MjozMTo0OSArMDkwMAorU3ViamVjdDogW1BBVENIXSBCdW1wIHVwIHJlc29sdi0wLjcuMiBmb3Ig UnVieSA0LjAKKworQmFja3BvcnQgb2YgdGhlIEF1Z3VzdCAyMDI2IHJlc29sdiBzZWN1cml0eSBy ZWxlYXNlLgorCitDVkUtMjAyNi04MDIxMgorQ1ZFLTIwMjYtODAyMTMKKworQ28tQXV0aG9yZWQt Qnk6IENsYXVkZSBPcHVzIDUgPG5vcmVwbHlAYW50aHJvcGljLmNvbT4KKy0tLQorIGxpYi9yZXNv bHYucmIgICAgICAgICAgICAgICAgICAgICB8IDExNCArKysrKysrKystLQorIHRlc3QvcmVzb2x2 L3Rlc3RfZG5zLnJiICAgICAgICAgICB8IDMxOSArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysKKyB0ZXN0L3Jlc29sdi90ZXN0X3Jlc291cmNlLnJiICAgICAgfCAgNjEgKysrKysrCisgdGVz dC9yZXNvbHYvdGVzdF9yZXNvdXJjZV9sZWFrLnJiIHwgMTAxICsrKysrKysrKysKKyA0IGZpbGVz IGNoYW5nZWQsIDU4MiBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKKyBjcmVhdGUgbW9k ZSAxMDA2NDQgdGVzdC9yZXNvbHYvdGVzdF9yZXNvdXJjZV9sZWFrLnJiCisKK2RpZmYgLS1naXQg YS9saWIvcmVzb2x2LnJiIGIvbGliL3Jlc29sdi5yYgoraW5kZXggMGU2MmFhZjg1MTA0OTYuLmEy ZmU2OTJiMzhmNmNmIDEwMDY0NAorLS0tIGEvbGliL3Jlc29sdi5yYgorKysrIGIvbGliL3Jlc29s di5yYgorQEAgLTM1LDcgKzM1LDcgQEAKKyBjbGFzcyBSZXNvbHYKKyAKKyAgICMgVGhlIHZlcnNp b24gc3RyaW5nCistICBWRVJTSU9OID0gIjAuNy4wIgorKyAgVkVSU0lPTiA9ICIwLjcuMiIKKyAK KyAgICMjCisgICAjIExvb2tzIHVwIHRoZSBmaXJzdCBJUCBhZGRyZXNzIGZvciArbmFtZSsuCitA QCAtNDg3LDEzICs0ODcsMTggQEAgZGVmIGVhY2hfbmFtZShhZGRyZXNzKQorICAgICAjICogUmVz b2x2OjpETlM6OlJlc291cmNlOjpJTjo6QQorICAgICAjICogUmVzb2x2OjpETlM6OlJlc291cmNl OjpJTjo6QUFBQQorICAgICAjICogUmVzb2x2OjpETlM6OlJlc291cmNlOjpJTjo6QU5ZCisrICAg ICMgKiBSZXNvbHY6OkROUzo6UmVzb3VyY2U6OklOOjpDQUEKKyAgICAgIyAqIFJlc29sdjo6RE5T OjpSZXNvdXJjZTo6SU46OkNOQU1FCisgICAgICMgKiBSZXNvbHY6OkROUzo6UmVzb3VyY2U6OklO OjpISU5GTworKyAgICAjICogUmVzb2x2OjpETlM6OlJlc291cmNlOjpJTjo6SFRUUFMKKysgICAg IyAqIFJlc29sdjo6RE5TOjpSZXNvdXJjZTo6SU46OkxPQworICAgICAjICogUmVzb2x2OjpETlM6 OlJlc291cmNlOjpJTjo6TUlORk8KKyAgICAgIyAqIFJlc29sdjo6RE5TOjpSZXNvdXJjZTo6SU46 Ok1YCisgICAgICMgKiBSZXNvbHY6OkROUzo6UmVzb3VyY2U6OklOOjpOUworICAgICAjICogUmVz b2x2OjpETlM6OlJlc291cmNlOjpJTjo6UFRSCisgICAgICMgKiBSZXNvbHY6OkROUzo6UmVzb3Vy Y2U6OklOOjpTT0EKKysgICAgIyAqIFJlc29sdjo6RE5TOjpSZXNvdXJjZTo6SU46OlNSVgorKyAg ICAjICogUmVzb2x2OjpETlM6OlJlc291cmNlOjpJTjo6U1ZDQgorICAgICAjICogUmVzb2x2OjpE TlM6OlJlc291cmNlOjpJTjo6VFhUCisgICAgICMgKiBSZXNvbHY6OkROUzo6UmVzb3VyY2U6OklO OjpXS1MKKyAgICAgIworQEAgLTcyMSw3ICs3MjYsOCBAQCBkZWYgcmVxdWVzdChzZW5kZXIsIHRv dXQpCisgICAgICAgICAgIGJlZ2luCisgICAgICAgICAgICAgcmVwbHksIGZyb20gPSByZWN2X3Jl cGx5KHNlbGVjdF9yZXN1bHRbMF0pCisgICAgICAgICAgIHJlc2N1ZSBFcnJubzo6RUNPTk5SRUZV U0VELCAjIEdOVS9MaW51eCwgRnJlZUJTRAorLSAgICAgICAgICAgICAgICAgRXJybm86OkVDT05O UkVTRVQgIyBXaW5kb3dzCisrICAgICAgICAgICAgICAgICBFcnJubzo6RUNPTk5SRVNFVCwgIyBX aW5kb3dzCisrICAgICAgICAgICAgICAgICBFT0ZFcnJvcgorICAgICAgICAgICAgICMgTm8gbmFt ZSBzZXJ2ZXIgcnVubmluZyBvbiB0aGUgc2VydmVyPworICAgICAgICAgICAgICMgRG9uJ3Qgd2Fp dCBhbnltb3JlLgorICAgICAgICAgICAgIHJhaXNlIFJlc29sdlRpbWVvdXQKK0BAIC05MzAsOCAr OTM2LDExIEBAIGRlZiBpbml0aWFsaXplKGhvc3QsIHBvcnQ9UG9ydCkKKyAgICAgICAgIGVuZAor IAorICAgICAgICAgZGVmIHJlY3ZfcmVwbHkocmVhZGFibGVfc29ja3MpCistICAgICAgICAgIGxl biA9IHJlYWRhYmxlX3NvY2tzWzBdLnJlYWQoMikudW5wYWNrKCduJylbMF0KKysgICAgICAgICAg bGVuX2RhdGEgPSByZWFkYWJsZV9zb2Nrc1swXS5yZWFkKDIpCisrICAgICAgICAgIHJhaXNlIEVP RkVycm9yIGlmIGxlbl9kYXRhLm5pbD8gfHwgbGVuX2RhdGEuYnl0ZXNpemUgIT0gMgorKyAgICAg ICAgICBsZW4gPSBsZW5fZGF0YS51bnBhY2soJ24nKVswXQorICAgICAgICAgICByZXBseSA9IEBz b2Nrc1swXS5yZWFkKGxlbikKKysgICAgICAgICAgcmFpc2UgRU9GRXJyb3IgaWYgcmVwbHkubmls PyB8fCByZXBseS5ieXRlc2l6ZSAhPSBsZW4KKyAgICAgICAgICAgcmV0dXJuIHJlcGx5LCBuaWwK KyAgICAgICAgIGVuZAorIAorQEAgLTEyNDQsNiArMTI1MywxMyBAQCBkZWYgc2VsZi5zcGxpdChh cmcpCisgCisgICAgICAgY2xhc3MgU3RyICMgOm5vZG9jOgorICAgICAgICAgZGVmIGluaXRpYWxp emUoc3RyaW5nKQorKyAgICAgICAgICAjIEEgbGFiZWwgaXMgbGltaXRlZCB0byA2MyBvY3RldHMu IFtSRkMgMTAzNSAyLjMuNF0gQ2hlY2tpbmcgaXQgaGVyZQorKyAgICAgICAgICAjIG1ha2VzIGl0 IGFuIGludmFyaWFudCBvZiB0aGUgb2JqZWN0OiBldmVyeSBsYWJlbCwgaG93ZXZlciBpdCB3YXMK KysgICAgICAgICAgIyBidWlsdCwgZml0cyBpbiBpdHMgbGVuZ3RoIG9jdGV0IGFuZCBjYW5ub3Qg d3JhcCBpdC4gQ2FsbGVycyB0dXJuCisrICAgICAgICAgICMgdGhpcyBpbnRvIHRoZSBlcnJvciB0 aGVpciBvd24gY29udHJhY3QgcHJvbWlzZXMuCisrICAgICAgICAgIGlmIHN0cmluZy5ieXRlc2l6 ZSA+IDYzCisrICAgICAgICAgICAgcmFpc2UgQXJndW1lbnRFcnJvciwgIkROUyBsYWJlbCBpcyB0 b28gbG9uZyAoI3tzdHJpbmcuYnl0ZXNpemV9IGJ5dGVzLCBtYXggNjMpOiAje3N0cmluZy5pbnNw ZWN0fSIKKysgICAgICAgICAgZW5kCisgICAgICAgICAgIEBzdHJpbmcgPSBzdHJpbmcKKyAgICAg ICAgICAgIyBjYXNlIGluc2Vuc2l2aXR5IG9mIEROUyBsYWJlbHMgZG9lc24ndCBhcHBseSBub24t QVNDSUkgY2hhcmFjdGVycy4gW1JGQyA0MzQzXQorICAgICAgICAgICAjIFRoaXMgYXNzdW1lcyBA c3RyaW5nIGlzIGdpdmVuIGluIEFTQ0lJIGNvbXBhdGlibGUgZW5jb2RpbmcuCitAQCAtMTI4OSw3 ICsxMzA1LDI2IEBAIGRlZiBzZWxmLmNyZWF0ZShhcmcpCisgICAgICAgICB3aGVuIE5hbWUKKyAg ICAgICAgICAgcmV0dXJuIGFyZworICAgICAgICAgd2hlbiBTdHJpbmcKKy0gICAgICAgICAgcmV0 dXJuIE5hbWUubmV3KExhYmVsLnNwbGl0KGFyZyksIC9cLlx6LyA9fiBhcmcgPyB0cnVlIDogZmFs c2UpCisrICAgICAgICAgICMgQSBob3N0bmFtZSBpcyBydW50aW1lIGRhdGEgcmF0aGVyIHRoYW4g YSBwcm9ncmFtbWluZyBtaXN0YWtlLCBzbworKyAgICAgICAgICAjIGJvdGggc2l6ZSBsaW1pdHMg c3VyZmFjZSBhcyBSZXNvbHZFcnJvciB0byBzdGF5IHJlc2N1YWJsZSBhbG9uZ3NpZGUKKysgICAg ICAgICAgIyB0aGUgcmVzdCBvZiBuYW1lIHJlc29sdXRpb24uIFRoZSB0eXBlIGNoZWNrIGJlbG93 IGlzIGEgY2FsbGVyCisrICAgICAgICAgICMgbWlzdGFrZSBhbmQga2VlcHMgcmFpc2luZyBBcmd1 bWVudEVycm9yLgorKyAgICAgICAgICBiZWdpbgorKyAgICAgICAgICAgIGxhYmVscyA9IExhYmVs LnNwbGl0KGFyZykKKysgICAgICAgICAgcmVzY3VlIEFyZ3VtZW50RXJyb3IgPT4gZQorKyAgICAg ICAgICAgIHJhaXNlIFJlc29sdkVycm9yLm5ldyhlLm1lc3NhZ2UpCisrICAgICAgICAgIGVuZAor KyAgICAgICAgICAjIExhYmVsOjpTdHIgZW5mb3JjZXMgdGhlIHBlci1sYWJlbCBsaW1pdC4gT25s eSB0aGUgdG90YWwgaXMga25vd2FibGUKKysgICAgICAgICAgIyBoZXJlLCBhbmQgaXQgY291bnRz IHRoZSBlbmNvZGVkIGZvcm0sIHNvIHNpemUgc3RhcnRzIGF0IDEgZm9yIHRoZQorKyAgICAgICAg ICAjIHJvb3QgbGFiZWwncyB0ZXJtaW5hdGluZyB6ZXJvIG9jdGV0LiBbUkZDIDEwMzUgMi4zLjQs IDMuMV0KKysgICAgICAgICAgc2l6ZSA9IDEKKysgICAgICAgICAgbGFiZWxzLmVhY2ggZG8gfGxh YmVsfAorKyAgICAgICAgICAgIHNpemUgKz0gMSArIGxhYmVsLnN0cmluZy5ieXRlc2l6ZQorKyAg ICAgICAgICAgIGlmIHNpemUgPiAyNTUKKysgICAgICAgICAgICAgIHJhaXNlIFJlc29sdkVycm9y Lm5ldygiRE5TIG5hbWUgaXMgdG9vIGxvbmcgKCN7c2l6ZX0gb2N0ZXRzLCBtYXggMjU1KTogI3th cmcuaW5zcGVjdH0iKQorKyAgICAgICAgICAgIGVuZAorKyAgICAgICAgICBlbmQKKysgICAgICAg ICAgcmV0dXJuIE5hbWUubmV3KGxhYmVscywgL1wuXHovID1+IGFyZyA/IHRydWUgOiBmYWxzZSkK KyAgICAgICAgIGVsc2UKKyAgICAgICAgICAgcmFpc2UgQXJndW1lbnRFcnJvci5uZXcoImNhbm5v dCBpbnRlcnByZXQgYXMgRE5TIG5hbWU6ICN7YXJnLmluc3BlY3R9IikKKyAgICAgICAgIGVuZAor QEAgLTE0MTEsMTIgKzE0NDYsMjQgQEAgZGVmID09KG90aGVyKQorICAgICAgICAgICAgICAgIEBy ZCA9PSBvdGhlci5yZCAmJgorICAgICAgICAgICAgICAgIEByYSA9PSBvdGhlci5yYSAmJgorICAg ICAgICAgICAgICAgIEByY29kZSA9PSBvdGhlci5yY29kZSAmJgorLSAgICAgICAgICAgICAgIEBx dWVzdGlvbiA9PSBvdGhlci5xdWVzdGlvbiAmJgorKyAgICAgICAgICAgICAgIHF1ZXN0aW9uX2Vx dWFsPyhvdGhlci5xdWVzdGlvbikgJiYKKyAgICAgICAgICAgICAgICBAYW5zd2VyID09IG90aGVy LmFuc3dlciAmJgorICAgICAgICAgICAgICAgIEBhdXRob3JpdHkgPT0gb3RoZXIuYXV0aG9yaXR5 ICYmCisgICAgICAgICAgICAgICAgQGFkZGl0aW9uYWwgPT0gb3RoZXIuYWRkaXRpb25hbAorICAg ICAgIGVuZAorIAorKyAgICAgICMgQSBxdWVzdGlvbiBob2xkcyB0aGUgcmVzb3VyY2UgY2xhc3Mg aXRzZWxmLCBhbmQgZGVjb2RpbmcgY3JlYXRlcyBhIGZyZXNoCisrICAgICAgIyBjbGFzcyBmb3Ig ZWFjaCB1bmtub3duIHR5cGUsIHNvIHRoZSBjbGFzc2VzIGNhbm5vdCBiZSBjb21wYXJlZCBieQor KyAgICAgICMgaWRlbnRpdHkgYWxvbmUuCisrICAgICAgcHJpdmF0ZSBkZWYgcXVlc3Rpb25fZXF1 YWw/KG90aGVyX3F1ZXN0aW9uKSAjIDpub2RvYzoKKysgICAgICAgIHJldHVybiBmYWxzZSB1bmxl c3MgQHF1ZXN0aW9uLmxlbmd0aCA9PSBvdGhlcl9xdWVzdGlvbi5sZW5ndGgKKysgICAgICAgIEBx dWVzdGlvbi56aXAob3RoZXJfcXVlc3Rpb24pIHt8KG5hbWUsIHR5cGVjbGFzcyksIChvX25hbWUs IG9fdHlwZWNsYXNzKXwKKysgICAgICAgICAgcmV0dXJuIGZhbHNlIHVubGVzcyBuYW1lID09IG9f bmFtZSAmJgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlOjpHZW5lcmlj LnR5cGVfY2xhc3NfZXF1YWw/KHR5cGVjbGFzcywgb190eXBlY2xhc3MpCisrICAgICAgICB9Cisr ICAgICAgICByZXR1cm4gdHJ1ZQorKyAgICAgIGVuZAorKworICAgICAgIGRlZiBhZGRfcXVlc3Rp b24obmFtZSwgdHlwZWNsYXNzKQorICAgICAgICAgQHF1ZXN0aW9uIDw8IFtOYW1lLmNyZWF0ZShu YW1lKSwgdHlwZWNsYXNzXQorICAgICAgIGVuZAorQEAgLTE1MjMsOCArMTU3MCwxNSBAQCBkZWYg cHV0X2xlbmd0aDE2CisgICAgICAgICBlbmQKKyAKKyAgICAgICAgIGRlZiBwdXRfc3RyaW5nKGQp CistICAgICAgICAgIHNlbGYucHV0X3BhY2soIkMiLCBkLmxlbmd0aCkKKy0gICAgICAgICAgQGRh dGEgPDwgZAorKyAgICAgICAgICBzID0gZC50b19zCisrICAgICAgICAgICMgQSBjaGFyYWN0ZXIt c3RyaW5nIGlzIHByZWZpeGVkIGJ5IGEgc2luZ2xlIGxlbmd0aCBvY3RldCwgc28gaXQgY2FuCisr ICAgICAgICAgICMgaG9sZCBhdCBtb3N0IDI1NSBvY3RldHMuIFtSRkMgMTAzNSAzLjNdIFJlamVj dCBhbnl0aGluZyBsb25nZXIgdG8KKysgICAgICAgICAgIyBhdm9pZCBzaWxlbnRseSB0cnVuY2F0 aW5nIHRoZSBsZW5ndGggdG8gaXRzIGxvdyA4IGJpdHMgKG1vZCAyNTYpLgorKyAgICAgICAgICBp ZiBzLmJ5dGVzaXplID4gMjU1CisrICAgICAgICAgICAgcmFpc2UgQXJndW1lbnRFcnJvciwgImNo YXJhY3Rlci1zdHJpbmcgaXMgdG9vIGxvbmcgKCN7cy5ieXRlc2l6ZX0gYnl0ZXMsIG1heCAyNTUp OiAje3MuaW5zcGVjdH0iCisrICAgICAgICAgIGVuZAorKyAgICAgICAgICBzZWxmLnB1dF9wYWNr KCJDIiwgcy5ieXRlc2l6ZSkKKysgICAgICAgICAgQGRhdGEgPDwgcworICAgICAgICAgZW5kCisg CisgICAgICAgICBkZWYgcHV0X3N0cmluZ19saXN0KGRzKQorQEAgLTE1NTQsNyArMTYwOCwxNyBA QCBkZWYgcHV0X2xhYmVscyhkLCBjb21wcmVzczogdHJ1ZSkKKyAgICAgICAgIGVuZAorIAorICAg ICAgICAgZGVmIHB1dF9sYWJlbChkKQorLSAgICAgICAgICBzZWxmLnB1dF9zdHJpbmcoZC50b19z KQorKyAgICAgICAgICBzID0gZC50b19zCisrICAgICAgICAgICMgTGFiZWw6OlN0ciBhcHBsaWVz IHRoaXMgbGltaXQgd2hlbiBhIGxhYmVsIGlzIGJ1aWx0LCBzbyB3aGF0IGlzIGxlZnQKKysgICAg ICAgICAgIyBmb3IgaGVyZSBpcyBhIHJhdyBzdHJpbmcgaGFuZGVkIHN0cmFpZ2h0IHRvIHB1dF9s YWJlbHMuIFRoZSB0d28gd2F5cworKyAgICAgICAgICAjIGFuIG92ZXItbG9uZyBsYWJlbCBnb2Vz IHdyb25nIGRpZmZlcjogNjQgdG8gMjU1IG9jdGV0cyB3cml0ZSBhIGxlbmd0aAorKyAgICAgICAg ICAjIG9jdGV0IGluIHRoZSByZXNlcnZlZCBvciBjb21wcmVzc2lvbiBwb2ludGVyIHJhbmdlLCBh bmQgMjU2IG9yIG1vcmUKKysgICAgICAgICAgIyB3cmFwIGl0IG1vZCAyNTYuIEVpdGhlciB3YXkg dGhlIGVuY29kZWQgbmFtZSBzdG9wcyBiZWluZyB0aGUgbmFtZSB0aGUKKysgICAgICAgICAgIyBj YWxsZXIgYXNrZWQgZm9yLiBbUkZDIDEwMzUgMi4zLjQsIDQuMS40XQorKyAgICAgICAgICBpZiBz LmJ5dGVzaXplID4gNjMKKysgICAgICAgICAgICByYWlzZSBBcmd1bWVudEVycm9yLCAiRE5TIGxh YmVsIGlzIHRvbyBsb25nICgje3MuYnl0ZXNpemV9IGJ5dGVzLCBtYXggNjMpOiAje3MuaW5zcGVj dH0iCisrICAgICAgICAgIGVuZAorKyAgICAgICAgICBzZWxmLnB1dF9zdHJpbmcocykKKyAgICAg ICAgIGVuZAorICAgICAgIGVuZAorIAorQEAgLTE2ODAsNyArMTc0NCw5IEBAIGRlZiBnZXRfbGFi ZWxzCisgICAgICAgICAgIHByZXZfaW5kZXggPSBAaW5kZXgKKyAgICAgICAgICAgc2F2ZV9pbmRl eCA9IG5pbAorICAgICAgICAgICBkID0gW10KKy0gICAgICAgICAgc2l6ZSA9IC0xCisrICAgICAg ICAgICMgc2l6ZSBjb3VudHMgdGhlIGVuY29kZWQgZm9ybSwgc28gaXQgc3RhcnRzIGF0IDEgZm9y IHRoZSByb290CisrICAgICAgICAgICMgbGFiZWwncyB0ZXJtaW5hdGluZyB6ZXJvIG9jdGV0LiBb UkZDIDEwMzUgMy4xXQorKyAgICAgICAgICBzaXplID0gMQorICAgICAgICAgICB3aGlsZSB0cnVl CisgICAgICAgICAgICAgcmFpc2UgRGVjb2RlRXJyb3IubmV3KCJsaW1pdCBleGNlZWRlZCIpIGlm IEBsaW1pdCA8PSBAaW5kZXgKKyAgICAgICAgICAgICBjYXNlIEBkYXRhLmdldGJ5dGUoQGluZGV4 KQorQEAgLTE3MTEsNiArMTc3NywxMSBAQCBkZWYgZ2V0X2xhYmVscworIAorICAgICAgICAgZGVm IGdldF9sYWJlbAorICAgICAgICAgICByZXR1cm4gTGFiZWw6OlN0ci5uZXcoc2VsZi5nZXRfc3Ry aW5nKQorKyAgICAgICAgcmVzY3VlIEFyZ3VtZW50RXJyb3IgPT4gZQorKyAgICAgICAgICAjIEEg bGVuZ3RoIG9jdGV0IG9mIDY0Li4xOTEgaXMgcmVzZXJ2ZWQgcmF0aGVyIHRoYW4gYSBsYWJlbCBs ZW5ndGgsCisrICAgICAgICAgICMgYnV0IHRoaXMgZGVjb2RlciB1c2VkIHRvIHJlYWQgaXQgYXMg b25lLiBbUkZDIDEwMzUgNC4xLjRdIFJlcG9ydCBpdAorKyAgICAgICAgICAjIHRoZSB3YXkgdGhl IHJlc3Qgb2YgYSBtYWxmb3JtZWQgbWVzc2FnZSBpcyByZXBvcnRlZC4KKysgICAgICAgICAgcmFp c2UgRGVjb2RlRXJyb3IubmV3KGUubWVzc2FnZSkKKyAgICAgICAgIGVuZAorIAorICAgICAgICAg ZGVmIGdldF9xdWVzdGlvbgorQEAgLTE4OTgsOCArMTk2OSw5IEBAIGRlZiBzZWxmLmNyZWF0ZShr ZXlfbnVtYmVyKQorICAgICAgICAgICBrZXlfbmFtZSA9IDoia2V5I3trZXlfbnVtYmVyfSIKKyAg ICAgICAgICAgYy5jb25zdF9zZXQoOktleU5hbWUsIGtleV9uYW1lKQorICAgICAgICAgICBjLmNv bnN0X3NldCg6S2V5TnVtYmVyLCBrZXlfbnVtYmVyKQorLSAgICAgICAgICBzZWxmLmNvbnN0X3Nl dCg6IktleSN7a2V5X251bWJlcn0iLCBjKQorLSAgICAgICAgICBDbGFzc0hhc2hba2V5X25hbWVd ID0gQ2xhc3NIYXNoW2tleV9udW1iZXJdID0gYworKyAgICAgICAgICAjIE5vdCByZWdpc3RlcmVk IGluIGEgY29uc3RhbnQgb3IgaW4gQ2xhc3NIYXNoLiBDbGFzc0hhc2ggY3JlYXRlcyBhCisrICAg ICAgICAgICMgY2xhc3MgZm9yIGV2ZXJ5IHVua25vd24gU3ZjUGFyYW1LZXksIHNvIHJlZ2lzdGVy aW5nIHRoZW0KKysgICAgICAgICAgIyBwZXJtYW5lbnRseSB3b3VsZCBsZXQgYSBtYWxpY2lvdXMg cmVzcG9uc2UgZXhoYXVzdCBtZW1vcnkuCisgICAgICAgICAgIHJldHVybiBjCisgICAgICAgICBl bmQKKyAgICAgICBlbmQKK0BAIC0yMjA2LDEyICsyMjc4LDI4IEBAIGRlZiBzZWxmLmRlY29kZV9y ZGF0YShtc2cpICMgOm5vZG9jOgorICAgICAgICAgICByZXR1cm4gc2VsZi5uZXcobXNnLmdldF9i eXRlcykKKyAgICAgICAgIGVuZAorIAorKyAgICAgICAgIyBjcmVhdGUgbWFrZXMgYSBmcmVzaCBj bGFzcyBmb3IgZWFjaCBkZWNvZGVkIHJlc291cmNlLCBzbyB0aGUgdHlwZSBhbmQKKysgICAgICAg ICMgY2xhc3MgdmFsdWVzIGhhdmUgdG8gYmUgY29tcGFyZWQgaW5zdGVhZCBvZiB0aGUgY2xhc3Mg aXRzZWxmLgorKyAgICAgICAgZGVmIHNlbGYudHlwZV9jbGFzc19lcXVhbD8oa2xhc3MsIG90aGVy KSAjIDpub2RvYzoKKysgICAgICAgICAgcmV0dXJuIHRydWUgaWYga2xhc3MuZXF1YWw/KG90aGVy KQorKyAgICAgICAgICBHZW5lcmljID4ga2xhc3MgJiYgR2VuZXJpYyA+IG90aGVyICYmCisrICAg ICAgICAgICAga2xhc3M6OlR5cGVWYWx1ZSA9PSBvdGhlcjo6VHlwZVZhbHVlICYmCisrICAgICAg ICAgICAga2xhc3M6OkNsYXNzVmFsdWUgPT0gb3RoZXI6OkNsYXNzVmFsdWUKKysgICAgICAgIGVu ZAorKworKyAgICAgICAgZGVmID09KG90aGVyKSAjIDpub2RvYzoKKysgICAgICAgICAgcmV0dXJu IG90aGVyLmlzX2E/KEdlbmVyaWMpICYmCisrICAgICAgICAgICAgICAgICBHZW5lcmljLnR5cGVf Y2xhc3NfZXF1YWw/KHNlbGYuY2xhc3MsIG90aGVyLmNsYXNzKSAmJgorKyAgICAgICAgICAgICAg ICAgQGRhdGEgPT0gb3RoZXIuZGF0YQorKyAgICAgICAgZW5kCisrCisgICAgICAgICBkZWYgc2Vs Zi5jcmVhdGUodHlwZV92YWx1ZSwgY2xhc3NfdmFsdWUpICMgOm5vZG9jOgorICAgICAgICAgICBj ID0gQ2xhc3MubmV3KEdlbmVyaWMpCisgICAgICAgICAgIGMuY29uc3Rfc2V0KDpUeXBlVmFsdWUs IHR5cGVfdmFsdWUpCisgICAgICAgICAgIGMuY29uc3Rfc2V0KDpDbGFzc1ZhbHVlLCBjbGFzc192 YWx1ZSkKKy0gICAgICAgICAgR2VuZXJpYy5jb25zdF9zZXQoIlR5cGUje3R5cGVfdmFsdWV9X0Ns YXNzI3tjbGFzc192YWx1ZX0iLCBjKQorLSAgICAgICAgICBDbGFzc0hhc2hbW3R5cGVfdmFsdWUs IGNsYXNzX3ZhbHVlXV0gPSBjCisrICAgICAgICAgICMgTm90IHJlZ2lzdGVyZWQgaW4gYSBjb25z dGFudCBvciBpbiBDbGFzc0hhc2guIGdldF9jbGFzcyBjcmVhdGVzIGEKKysgICAgICAgICAgIyBj bGFzcyBmb3IgZXZlcnkgdW5rbm93biAodHlwZSwgY2xhc3MpIHBhaXIsIHNvIHJlZ2lzdGVyaW5n IHRoZW0KKysgICAgICAgICAgIyBwZXJtYW5lbnRseSB3b3VsZCBsZXQgYSBtYWxpY2lvdXMgcmVz cG9uc2UgZXhoYXVzdCBtZW1vcnkuCisgICAgICAgICAgIHJldHVybiBjCisgICAgICAgICBlbmQK KyAgICAgICBlbmQKK2RpZmYgLS1naXQgYS90ZXN0L3Jlc29sdi90ZXN0X2Rucy5yYiBiL3Rlc3Qv cmVzb2x2L3Rlc3RfZG5zLnJiCitpbmRleCBkNWQyNjQ4ZTFiYzY0OS4uMzRhZTRhZWI5YTMzYzMg MTAwNjQ0CistLS0gYS90ZXN0L3Jlc29sdi90ZXN0X2Rucy5yYgorKysrIGIvdGVzdC9yZXNvbHYv dGVzdF9kbnMucmIKK0BAIC02MzYsNiArNjM2LDIwNSBAQCBkZWYgdGVzdF90b29fbG9uZ19hZGRy ZXNzCisgICAgIGVuZAorICAgZW5kCisgCisrICAjIEEgRE5TIGxhYmVsIGlzIGxpbWl0ZWQgdG8g NjMgb2N0ZXRzLiBbUkZDIDEwMzUgMi4zLjRdIFdyaXRpbmcgYSBsb25nZXIgbGFiZWwKKysgICMg dGhyb3VnaCB0aGUgbGFiZWwgcGF0aCBtdXN0IHJhaXNlIGluc3RlYWQgb2Ygb3ZlcmZsb3dpbmcg dGhlIGxlbmd0aCBvY3RldC4KKysgIGRlZiB0ZXN0X3B1dF9sYWJlbF9yZWplY3RzX2xhYmVsX292 ZXJfNjNfb2N0ZXRzCisrICAgIFJlc29sdjo6RE5TOjpNZXNzYWdlOjpNZXNzYWdlRW5jb2Rlci5u ZXcge3xtc2d8CisrICAgICAgYXNzZXJ0X25vdGhpbmdfcmFpc2VkIHsgbXNnLnB1dF9sYWJlbCgi YSIgKiA2MykgfQorKyAgICAgIGFzc2VydF9yYWlzZV93aXRoX21lc3NhZ2UoQXJndW1lbnRFcnJv ciwgL0ROUyBsYWJlbCBpcyB0b28gbG9uZy8pIGRvCisrICAgICAgICBtc2cucHV0X2xhYmVsKCJh IiAqIDY0KQorKyAgICAgIGVuZAorKyAgICB9CisrICAgICMgcHV0X2xhYmVscyBkcml2ZXMgcHV0 X2xhYmVsLCBzbyB0aGUgc2FtZSBndWFyZCBhcHBsaWVzIHRvIHRoZSBuYW1lIHBhdGguCisrICAg IFJlc29sdjo6RE5TOjpNZXNzYWdlOjpNZXNzYWdlRW5jb2Rlci5uZXcge3xtc2d8CisrICAgICAg YXNzZXJ0X3JhaXNlX3dpdGhfbWVzc2FnZShBcmd1bWVudEVycm9yLCAvRE5TIGxhYmVsIGlzIHRv byBsb25nLykgZG8KKysgICAgICAgIG1zZy5wdXRfbGFiZWxzKFsiYSIgKiA2NF0pCisrICAgICAg ZW5kCisrICAgIH0KKysgIGVuZAorKworKyAgIyBUaGUgcGVyLWxhYmVsIGxpbWl0IGlzIGFuIGlu dmFyaWFudCBvZiBMYWJlbDo6U3RyLCBzbyBubyBsYWJlbCBvYmplY3QgY2FuCisrICAjIGV4aXN0 IHRoYXQgd291bGQgb3ZlcmZsb3cgaXRzIGxlbmd0aCBvY3RldC4gW1JGQyAxMDM1IDIuMy40XQor KyAgZGVmIHRlc3RfbGFiZWxfc3RyX3JlamVjdHNfbGFiZWxfb3Zlcl82M19vY3RldHMKKysgICAg YXNzZXJ0X25vdGhpbmdfcmFpc2VkIHsgUmVzb2x2OjpETlM6OkxhYmVsOjpTdHIubmV3KCJhIiAq IDYzKSB9CisrICAgIGFzc2VydF9yYWlzZV93aXRoX21lc3NhZ2UoQXJndW1lbnRFcnJvciwgL0RO UyBsYWJlbCBpcyB0b28gbG9uZy8pIGRvCisrICAgICAgUmVzb2x2OjpETlM6OkxhYmVsOjpTdHIu bmV3KCJhIiAqIDY0KQorKyAgICBlbmQKKysgIGVuZAorKworKyAgIyBFdmVyeSB3YXkgb2YgYnVp bGRpbmcgYSBuYW1lIGdvZXMgdGhyb3VnaCBMYWJlbDo6U3RyLCBzbyB0aGUgcGF0aHMgdGhhdAor KyAgIyBza2lwIE5hbWUuY3JlYXRlIGFyZSBjb3ZlcmVkIHRvby4KKysgIGRlZiB0ZXN0X2xhYmVs X2xlbmd0aF9pc19lbmZvcmNlZF9vbl9ldmVyeV9jb25zdHJ1Y3Rpb25fcGF0aAorKyAgICBhc3Nl cnRfcmFpc2Vfd2l0aF9tZXNzYWdlKEFyZ3VtZW50RXJyb3IsIC9ETlMgbGFiZWwgaXMgdG9vIGxv bmcvKSBkbworKyAgICAgIFJlc29sdjo6RE5TOjpOYW1lLm5ldyhbImEiICogNjRdKQorKyAgICBl bmQKKysgICAgYXNzZXJ0X3JhaXNlX3dpdGhfbWVzc2FnZShBcmd1bWVudEVycm9yLCAvRE5TIGxh YmVsIGlzIHRvbyBsb25nLykgZG8KKysgICAgICBSZXNvbHY6OkROUzo6TGFiZWwuc3BsaXQoImEi ICogNjQpCisrICAgIGVuZAorKyAgICAjIENvbmZpZyNnZW5lcmF0ZV9jYW5kaWRhdGVzIGFwcGVu ZHMgc2VhcmNoIGRvbWFpbnMgd2l0aCBOYW1lLm5ldywgYW5kIHRoZQorKyAgICAjIHNlYXJjaCBs aXN0IGl0c2VsZiBjb21lcyBmcm9tIExhYmVsLnNwbGl0LCBzbyBhIHJlc29sdi5jb25mIGNhcnJ5 aW5nIGFuCisrICAgICMgb3Zlci1sb25nIGxhYmVsIGlzIHJlamVjdGVkIHdoZW4gdGhlIGNvbmZp ZyBpcyByZWFkLgorKyAgICBjb25maWcgPSBSZXNvbHY6OkROUzo6Q29uZmlnLm5ldyhuYW1lc2Vy dmVyOiBbJzEyNy4wLjAuMSddLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzZWFyY2g6IFsiYSIgKiA2NF0sIG5kb3RzOiAxKQorKyAgICBhc3NlcnRfcmFpc2Vfd2l0aF9t ZXNzYWdlKEFyZ3VtZW50RXJyb3IsIC9ETlMgbGFiZWwgaXMgdG9vIGxvbmcvKSBkbworKyAgICAg IGNvbmZpZy5sYXp5X2luaXRpYWxpemUKKysgICAgZW5kCisrICBlbmQKKysKKysgIGRlZiB0ZXN0 X25hbWVfY3JlYXRlX3JlamVjdHNfdG9vX2xvbmdfbGFiZWwKKysgICAgYXNzZXJ0X25vdGhpbmdf cmFpc2VkIHsgUmVzb2x2OjpETlM6Ok5hbWUuY3JlYXRlKCJhIiAqIDYzKSB9CisrICAgIGFzc2Vy dF9yYWlzZV93aXRoX21lc3NhZ2UoUmVzb2x2OjpSZXNvbHZFcnJvciwgL0ROUyBsYWJlbCBpcyB0 b28gbG9uZy8pIGRvCisrICAgICAgUmVzb2x2OjpETlM6Ok5hbWUuY3JlYXRlKCJhIiAqIDY0KQor KyAgICBlbmQKKysgIGVuZAorKworKyAgZGVmIHRlc3RfbmFtZV9jcmVhdGVfcmVqZWN0c190b29f bG9uZ19uYW1lCisrICAgICMgRml2ZSA2My1vY3RldCBsYWJlbHMgdG90YWwgMzIxIGVuY29kZWQg b2N0ZXRzLCBvdmVyIHRoZSAyNTUgb2N0ZXQgbGltaXQsCisrICAgICMgd2hpbGUgZWFjaCBpbmRp dmlkdWFsIGxhYmVsIGlzIHN0aWxsIHZhbGlkLgorKyAgICB0b29fbG9uZyA9IChbImEiICogNjNd ICogNSkuam9pbigiLiIpCisrICAgIGFzc2VydF9yYWlzZV93aXRoX21lc3NhZ2UoUmVzb2x2OjpS ZXNvbHZFcnJvciwgL0ROUyBuYW1lIGlzIHRvbyBsb25nLykgZG8KKysgICAgICBSZXNvbHY6OkRO Uzo6TmFtZS5jcmVhdGUodG9vX2xvbmcpCisrICAgIGVuZAorKyAgZW5kCisrCisrICAjIEEgaG9z dG5hbWUgaXMgcnVudGltZSBkYXRhLCBzbyBhbiBvdmVyLWxvbmcgb25lIGhhcyB0byBzdGF5IHJl c2N1YWJsZSB0aGUKKysgICMgd2F5IHRoZSByZXN0IG9mIG5hbWUgcmVzb2x1dGlvbiBpcy4gSXQg cmVhY2hlcyBOYW1lLmNyZWF0ZSB0aHJvdWdoCisrICAjIENvbmZpZyNnZW5lcmF0ZV9jYW5kaWRh dGVzLCB3aGljaCBydW5zIG91dHNpZGUgQ29uZmlnI3Jlc29sdidzIG93biByZXNjdWUuCisrICBk ZWYgdGVzdF9vdmVyc2l6ZWRfbmFtZV9pc19yZXNjdWFibGVfYXNfcmVzb2x2X2Vycm9yCisrICAg IGRucyA9IFJlc29sdjo6RE5TLm5ldyhuYW1lc2VydmVyX3BvcnQ6IFtbJzEyNy4wLjAuMScsIDUz XV0pCisrICAgIGFzc2VydF9yYWlzZShSZXNvbHY6OlJlc29sdkVycm9yKSB7IGRucy5nZXRhZGRy ZXNzKCJhIiAqIDY0KSB9CisrICAgIGFzc2VydF9yYWlzZShSZXNvbHY6OlJlc29sdkVycm9yKSB7 IGRucy5nZXRhZGRyZXNzKChbImEiICogNjNdICogNSkuam9pbigiLiIpKSB9CisrICBlbnN1cmUK KysgICAgZG5zJi5jbG9zZQorKyAgZW5kCisrCisrICAjIEEgbGVuZ3RoIG9jdGV0IG9mIDY0Li4x OTEgaXMgcmVzZXJ2ZWQsIG5vdCBhIGxhYmVsIGxlbmd0aCwgYnV0IHRoaXMgZGVjb2RlcgorKyAg IyByZWFkIGl0IGFzIG9uZSBhbmQgYWNjZXB0ZWQgbGFiZWxzIG5vIGVuY29kZXIgc2hvdWxkIGV2 ZXIgcHJvZHVjZS4KKysgICMgW1JGQyAxMDM1IDQuMS40XSBSZWplY3RpbmcgdGhlbSBoYXMgdG8g bG9vayBsaWtlIGFueSBvdGhlciBtYWxmb3JtZWQKKysgICMgbWVzc2FnZSwgc28gdGhlIGNhbGxl cidzIHJlc2N1ZSBEZWNvZGVFcnJvciBzdGlsbCBjb3ZlcnMgaXQuCisrICBkZWYgdGVzdF9kZWNv ZGVfcmVqZWN0c19sYWJlbF9vdmVyXzYzX29jdGV0cworKyAgICBtZXNzYWdlID0gLT4obikgewor KyAgICAgIFswLCAweDgxODAsIDEsIDAsIDAsIDBdLnBhY2soIm4qIikgKworKyAgICAgICAgW25d LnBhY2soIkMiKSArICgiYSIgKiBuKSArICJcMCIgKyBbMSwgMV0ucGFjaygibm4iKQorKyAgICB9 CisrICAgIGFzc2VydF9ub3RoaW5nX3JhaXNlZCB7IFJlc29sdjo6RE5TOjpNZXNzYWdlLmRlY29k ZShtZXNzYWdlLmNhbGwoNjMpKSB9CisrICAgIFs2NCwgMTAwLCAxOTFdLmVhY2ggZG8gfG58Cisr ICAgICAgYXNzZXJ0X3JhaXNlX3dpdGhfbWVzc2FnZShSZXNvbHY6OkROUzo6RGVjb2RlRXJyb3Is IC9ETlMgbGFiZWwgaXMgdG9vIGxvbmcvKSBkbworKyAgICAgICAgUmVzb2x2OjpETlM6Ok1lc3Nh Z2UuZGVjb2RlKG1lc3NhZ2UuY2FsbChuKSkKKysgICAgICBlbmQKKysgICAgZW5kCisrICBlbmQK KysKKysgICMgVGhlIHR5cGUgY2hlY2sgaXMgYSBjYWxsZXIgbWlzdGFrZSByYXRoZXIgdGhhbiBy dW50aW1lIGRhdGEsIHNvIGl0IGtlZXBzCisrICAjIHJhaXNpbmcgQXJndW1lbnRFcnJvci4KKysg IGRlZiB0ZXN0X25hbWVfY3JlYXRlX3N0aWxsX3JhaXNlc19hcmd1bWVudF9lcnJvcl9mb3Jfd3Jv bmdfdHlwZQorKyAgICBhc3NlcnRfcmFpc2Vfd2l0aF9tZXNzYWdlKEFyZ3VtZW50RXJyb3IsIC9j YW5ub3QgaW50ZXJwcmV0IGFzIEROUyBuYW1lLykgZG8KKysgICAgICBSZXNvbHY6OkROUzo6TmFt ZS5jcmVhdGUoMTIzKQorKyAgICBlbmQKKysgIGVuZAorKworKyAgIyBUaGUgMjU1IG9jdGV0IGxp bWl0IGNvdW50cyB0aGUgZW5jb2RlZCBmb3JtLCBpbmNsdWRpbmcgZWFjaCBsYWJlbCdzIGxlbmd0 aAorKyAgIyBvY3RldCBhbmQgdGhlIHJvb3QgbGFiZWwncyB0ZXJtaW5hdGluZyB6ZXJvIG9jdGV0 LiBbUkZDIDEwMzUgMi4zLjQsIDMuMV0KKysgICMgU28gdGhlIGxvbmdlc3QgbGVnYWwgbmFtZSBl bmNvZGVzIHRvIGV4YWN0bHkgMjU1IG9jdGV0cy4KKysgIGRlZiB0ZXN0X25hbWVfY3JlYXRlX3Rv dGFsX2xlbmd0aF9ib3VuZGFyeQorKyAgICBhdF9saW1pdCA9IChbImEiICogNjNdICogMyArIFsi YSIgKiA2MV0pLmpvaW4oIi4iKQorKyAgICBuYW1lID0gUmVzb2x2OjpETlM6Ok5hbWUuY3JlYXRl KGF0X2xpbWl0KQorKyAgICBlbmNvZGVkID0gUmVzb2x2OjpETlM6Ok1lc3NhZ2U6Ok1lc3NhZ2VF bmNvZGVyLm5ldyB7fG1zZ3wgbXNnLnB1dF9uYW1lKG5hbWUpIH0udG9fcworKyAgICBhc3NlcnRf ZXF1YWwoMjU1LCBlbmNvZGVkLmJ5dGVzaXplLCAibG9uZ2VzdCBsZWdhbCBuYW1lIGVuY29kZXMg dG8gMjU1IG9jdGV0cyIpCisrCisrICAgIG92ZXJfbGltaXQgPSAoWyJhIiAqIDYzXSAqIDMgKyBb ImEiICogNjJdKS5qb2luKCIuIikKKysgICAgYXNzZXJ0X3JhaXNlX3dpdGhfbWVzc2FnZShSZXNv bHY6OlJlc29sdkVycm9yLCAvRE5TIG5hbWUgaXMgdG9vIGxvbmcvKSBkbworKyAgICAgIFJlc29s djo6RE5TOjpOYW1lLmNyZWF0ZShvdmVyX2xpbWl0KQorKyAgICBlbmQKKysKKysgICAgIyBGb3Vy IDYzLW9jdGV0IGxhYmVscyBlbmNvZGUgdG8gMjU3IG9jdGV0cy4gQ291bnRpbmcgdGhlIHByZXNl bnRhdGlvbgorKyAgICAjIGZvcm0gaW5zdGVhZCBvZiB0aGUgZW5jb2RlZCBmb3JtIGxldHMgdGhl c2UgdHdvIGV4dHJhIG9jdGV0cyB0aHJvdWdoLgorKyAgICBhc3NlcnRfcmFpc2Vfd2l0aF9tZXNz YWdlKFJlc29sdjo6UmVzb2x2RXJyb3IsIC9ETlMgbmFtZSBpcyB0b28gbG9uZy8pIGRvCisrICAg ICAgUmVzb2x2OjpETlM6Ok5hbWUuY3JlYXRlKChbImEiICogNjNdICogNCkuam9pbigiLiIpKQor KyAgICBlbmQKKysgIGVuZAorKworKyAgIyBUaGUgZGVjb2RlciBlbmZvcmNlcyB0aGUgc2FtZSBs aW1pdCwgY291bnRlZCB0aGUgc2FtZSB3YXkuCisrICBkZWYgdGVzdF9nZXRfbGFiZWxzX3RvdGFs X2xlbmd0aF9ib3VuZGFyeQorKyAgICBlbmNvZGUgPSAtPihsYWJlbHMpIHsKKysgICAgICBSZXNv bHY6OkROUzo6TWVzc2FnZTo6TWVzc2FnZUVuY29kZXIubmV3IHt8bXNnfAorKyAgICAgICAgbXNn LnB1dF9sYWJlbHMobGFiZWxzLm1hcCB7fGx8IFJlc29sdjo6RE5TOjpMYWJlbDo6U3RyLm5ldyhs KSB9KQorKyAgICAgIH0udG9fcworKyAgICB9CisrCisrICAgIGF0X2xpbWl0ID0gZW5jb2RlLmNh bGwoWyJhIiAqIDYzXSAqIDMgKyBbImEiICogNjFdKQorKyAgICBhc3NlcnRfZXF1YWwoMjU1LCBh dF9saW1pdC5ieXRlc2l6ZSkKKysgICAgUmVzb2x2OjpETlM6Ok1lc3NhZ2U6Ok1lc3NhZ2VEZWNv ZGVyLm5ldyhhdF9saW1pdCkge3xtc2d8CisrICAgICAgYXNzZXJ0X2VxdWFsKDQsIG1zZy5nZXRf bGFiZWxzLmxlbmd0aCkKKysgICAgfQorKworKyAgICBvdmVyX2xpbWl0ID0gZW5jb2RlLmNhbGwo WyJhIiAqIDYzXSAqIDQpCisrICAgIGFzc2VydF9lcXVhbCgyNTcsIG92ZXJfbGltaXQuYnl0ZXNp emUpCisrICAgIGFzc2VydF9yYWlzZV93aXRoX21lc3NhZ2UoUmVzb2x2OjpETlM6OkRlY29kZUVy cm9yLCAvbmFtZSBsYWJlbCBkYXRhIGV4Y2VlZCAyNTUgb2N0ZXRzLykgZG8KKysgICAgICBSZXNv bHY6OkROUzo6TWVzc2FnZTo6TWVzc2FnZURlY29kZXIubmV3KG92ZXJfbGltaXQpIHt8bXNnfCBt c2cuZ2V0X2xhYmVscyB9CisrICAgIGVuZAorKyAgZW5kCisrCisrICAjIEEgc2luZ2xlIDI2Mi1v Y3RldCBsYWJlbCB3aG9zZSBieXRlcyBzdGFydCB3aXRoICJ0YXJnZXRceDAzY29tXHgwMCIuIFRo ZQorKyAgIyBvbGQgZW5jb2RlciB3cm90ZSB0aGUgbGVuZ3RoIG9jdGV0IGFzIDI2MiAmIDB4ZmYg PT0gNiwgc28gdGhlIHdpcmUgYnl0ZXMKKysgICMgZGVjb2RlZCB0byB0aGUgdW5yZWxhdGVkIG5h bWUgInRhcmdldC5jb20iIChxdWVyeSBuYW1lIGNvbmZ1c2lvbiAvCisrICAjIGFsbG93bGlzdCBi eXBhc3MpLgorKyAgZGVmIHRlc3RfZW5jb2Rlcl9yZWplY3RzX2xhYmVsX2xlbmd0aF93cmFwCisr ICAgIHBvY19sYWJlbCA9ICJ0YXJnZXQiLmIgKyAiXHgwM2NvbVx4MDAiLmIgKyAoImEiLmIgKiAy NTEpCisrICAgIGFzc2VydF9lcXVhbCgyNjIsIHBvY19sYWJlbC5ieXRlc2l6ZSkKKysgICAgYXNz ZXJ0X2VxdWFsKDYsIHBvY19sYWJlbC5ieXRlc2l6ZSAmIDB4ZmYsICJwcmVjb25kaXRpb246IHRo ZSBsZW5ndGggb2N0ZXQgd3JhcHMgdG8gNiIpCisrCisrICAgICMgVGhlIGJ5dGVzIHRoZSBidWdn eSBlbmNvZGVyIHdvdWxkIGhhdmUgZW1pdHRlZCByZWFsbHkgZG8gZGVjb2RlIHRvIGEKKysgICAg IyBkaWZmZXJlbnQgbmFtZS4gVGhpcyBpcyB0aGUgdnVsbmVyYWJpbGl0eSBiZWluZyBmaXhlZC4K KysgICAgd3JhcHBlZCA9IFtwb2NfbGFiZWwuYnl0ZXNpemUgJiAweGZmXS5wYWNrKCJDIikgKyBw b2NfbGFiZWwKKysgICAgUmVzb2x2OjpETlM6Ok1lc3NhZ2U6Ok1lc3NhZ2VEZWNvZGVyLm5ldyh3 cmFwcGVkKSB7fG1zZ3wKKysgICAgICBhc3NlcnRfZXF1YWwoInRhcmdldC5jb20iLCBtc2cuZ2V0 X2xhYmVscy5tYXAoJjp0b19zKS5qb2luKCIuIikpCisrICAgIH0KKysKKysgICAgIyBUaGUgZml4 ZWQgZW5jb2RlciByZWZ1c2VzIHRvIGVtaXQgaXQgaW5zdGVhZCBvZiBzaWxlbnRseSB3cmFwcGlu Zywgc28gaXQKKysgICAgIyBjYW4gbm8gbG9uZ2VyIHByb2R1Y2UgInRhcmdldC5jb20iIGZyb20g dGhpcyBpbnB1dC4KKysgICAgUmVzb2x2OjpETlM6Ok1lc3NhZ2U6Ok1lc3NhZ2VFbmNvZGVyLm5l dyB7fG1zZ3wKKysgICAgICBhc3NlcnRfcmFpc2Vfd2l0aF9tZXNzYWdlKEFyZ3VtZW50RXJyb3Is IC9ETlMgbGFiZWwgaXMgdG9vIGxvbmcvKSBkbworKyAgICAgICAgbXNnLnB1dF9sYWJlbChwb2Nf bGFiZWwpCisrICAgICAgZW5kCisrICAgIH0KKysgICAgYXNzZXJ0X3JhaXNlX3dpdGhfbWVzc2Fn ZShSZXNvbHY6OlJlc29sdkVycm9yLCAvRE5TIGxhYmVsIGlzIHRvbyBsb25nLykgZG8KKysgICAg ICBSZXNvbHY6OkROUzo6TmFtZS5jcmVhdGUocG9jX2xhYmVsKQorKyAgICBlbmQKKysgIGVuZAor KworKyAgIyBBIGNoYXJhY3Rlci1zdHJpbmcgKGUuZy4gVFhUIHJkYXRhKSBpcyBwcmVmaXhlZCBi eSBhIHNpbmdsZSBsZW5ndGggb2N0ZXQgYW5kCisrICAjIG1heSBsZWdpdGltYXRlbHkgYmUgdXAg dG8gMjU1IG9jdGV0cywgc28gdGhlIDYzIG9jdGV0IGxhYmVsIGxpbWl0IG11c3Qgbm90CisrICAj IGxlYWsgaW50byBwdXRfc3RyaW5nLiBbUkZDIDEwMzUgMy4zXQorKyAgZGVmIHRlc3RfcHV0X3N0 cmluZ19hbGxvd3NfY2hhcmFjdGVyX3N0cmluZ191cF90b18yNTUKKysgICAgWzY0LCAyMDAsIDI1 NV0uZWFjaCBkbyB8bnwKKysgICAgICBzID0gImEiICogbgorKyAgICAgIG0gPSBSZXNvbHY6OkRO Uzo6TWVzc2FnZTo6TWVzc2FnZUVuY29kZXIubmV3IHt8bXNnfCBtc2cucHV0X3N0cmluZyhzKSB9 CisrICAgICAgZW5jb2RlZCA9IG0udG9fcworKyAgICAgIGFzc2VydF9lcXVhbChuLCBlbmNvZGVk LmdldGJ5dGUoMCksICJsZW5ndGggb2N0ZXQgZm9yICN7bn0gYnl0ZSBzdHJpbmciKQorKyAgICAg IGFzc2VydF9lcXVhbChuICsgMSwgZW5jb2RlZC5ieXRlc2l6ZSkKKysgICAgICBSZXNvbHY6OkRO Uzo6TWVzc2FnZTo6TWVzc2FnZURlY29kZXIubmV3KGVuY29kZWQpIHt8bXNnfAorKyAgICAgICAg YXNzZXJ0X2VxdWFsKHMsIG1zZy5nZXRfc3RyaW5nKQorKyAgICAgIH0KKysgICAgZW5kCisrICBl bmQKKysKKysgIGRlZiB0ZXN0X3R4dF9yZWNvcmRfcm91bmR0cmlwX3dpdGhfbG9uZ19jaGFyYWN0 ZXJfc3RyaW5ncworKyAgICB0eHQgPSBSZXNvbHY6OkROUzo6UmVzb3VyY2U6OklOOjpUWFQubmV3 KCJhIiAqIDI1NSwgImIiICogNjQpCisrICAgIG0gPSBSZXNvbHY6OkROUzo6TWVzc2FnZS5uZXco MCkKKysgICAgbS5hZGRfYW5zd2VyKCJleGFtcGxlLmNvbS4iLCAzNjAwLCB0eHQpCisrICAgIGRl Y29kZWQgPSBSZXNvbHY6OkROUzo6TWVzc2FnZS5kZWNvZGUobS5lbmNvZGUpCisrICAgIF8sIF8s IHJlcyA9IGRlY29kZWQuYW5zd2VyLmZpcnN0CisrICAgIGFzc2VydF9lcXVhbChbImEiICogMjU1 LCAiYiIgKiA2NF0sIHJlcy5zdHJpbmdzKQorKyAgZW5kCisrCisrICAjIHB1dF9zdHJpbmcgc3Rp bGwgZ3VhcmRzIGFnYWluc3QgdGhlIGxlbmd0aCBvY3RldCB3cmFwcGluZyBwYXN0IDI1NSBvY3Rl dHMuCisrICBkZWYgdGVzdF9wdXRfc3RyaW5nX3JlamVjdHNfb3Zlcl8yNTVfb2N0ZXRzCisrICAg IGFzc2VydF9yYWlzZV93aXRoX21lc3NhZ2UoQXJndW1lbnRFcnJvciwgL2NoYXJhY3Rlci1zdHJp bmcgaXMgdG9vIGxvbmcvKSBkbworKyAgICAgIFJlc29sdjo6RE5TOjpNZXNzYWdlOjpNZXNzYWdl RW5jb2Rlci5uZXcge3xtc2d8IG1zZy5wdXRfc3RyaW5nKCJhIiAqIDI1NikgfQorKyAgICBlbmQK KysgIGVuZAorKworICAgZGVmIGFzc2VydF9ub19mZF9sZWFrCisgICAgIHNvY2tldCA9IGFzc2Vy dF90aHJvdyhzZWxmKSBkbyB8dGFnfAorICAgICAgIFJlc29sdjo6RE5TLnN0dWIoOmJpbmRfcmFu ZG9tX3BvcnQsIC0+KHMsICopIHt0aHJvdyh0YWcsIHMpfSkgZG8KK0BAIC04MjIsNCArMTAyMSwx MjQgQEAgZGVmIHRlc3RfbXVsdGlwbGVfc2VydmVyc193aXRoX3RpbWVvdXRfYW5kX3RydW5jYXRl ZF90Y3BfZmFsbGJhY2sKKyAgICAgICBlbmQKKyAgICAgZW5kCisgICBlbmQKKysKKysgIGRlZiB0 ZXN0X3RjcF9jb25uZWN0aW9uX2Nsb3NlZF9iZWZvcmVfbGVuZ3RoCisrICAgIHdpdGhfdGNwKCcx MjcuMC4wLjEnLCAwKSBkbyB8dHwKKysgICAgICBfLCBzZXJ2ZXJfcG9ydCwgXywgc2VydmVyX2Fk ZHJlc3MgPSB0LmFkZHIKKysKKysgICAgICBzZXJ2ZXJfdGhyZWFkID0gVGhyZWFkLm5ldyBkbwor KyAgICAgICAgY3QgPSB0LmFjY2VwdAorKyAgICAgICAgY3QucmVjdig1MTIpCisrICAgICAgICBj dC5jbG9zZQorKyAgICAgIGVuZAorKworKyAgICAgIGNsaWVudF90aHJlYWQgPSBUaHJlYWQubmV3 IGRvCisrICAgICAgICByZXF1ZXN0ZXIgPSBSZXNvbHY6OkROUzo6UmVxdWVzdGVyOjpUQ1AubmV3 KHNlcnZlcl9hZGRyZXNzLCBzZXJ2ZXJfcG9ydCkKKysgICAgICAgIGJlZ2luCisrICAgICAgICAg IG1zZyA9IFJlc29sdjo6RE5TOjpNZXNzYWdlLm5ldworKyAgICAgICAgICBtc2cuYWRkX3F1ZXN0 aW9uKCdleGFtcGxlLm9yZycsIFJlc29sdjo6RE5TOjpSZXNvdXJjZTo6SU46OkEpCisrICAgICAg ICAgIHNlbmRlciA9IHJlcXVlc3Rlci5zZW5kZXIobXNnLCBtc2cpCisrICAgICAgICAgIGFzc2Vy dF9yYWlzZShSZXNvbHY6OlJlc29sdlRpbWVvdXQpIGRvCisrICAgICAgICAgICAgcmVxdWVzdGVy LnJlcXVlc3Qoc2VuZGVyLCAyKQorKyAgICAgICAgICBlbmQKKysgICAgICAgIGVuc3VyZQorKyAg ICAgICAgICByZXF1ZXN0ZXIuY2xvc2UKKysgICAgICAgIGVuZAorKyAgICAgIGVuZAorKworKyAg ICAgIHNlcnZlcl90aHJlYWQuam9pbgorKyAgICAgIGNsaWVudF90aHJlYWQuam9pbgorKyAgICBl bmQKKysgIGVuZAorKworKyAgZGVmIHRlc3RfdGNwX2Nvbm5lY3Rpb25fY2xvc2VkX2FmdGVyX2xl bmd0aAorKyAgICB3aXRoX3RjcCgnMTI3LjAuMC4xJywgMCkgZG8gfHR8CisrICAgICAgXywgc2Vy dmVyX3BvcnQsIF8sIHNlcnZlcl9hZGRyZXNzID0gdC5hZGRyCisrCisrICAgICAgc2VydmVyX3Ro cmVhZCA9IFRocmVhZC5uZXcgZG8KKysgICAgICAgIGN0ID0gdC5hY2NlcHQKKysgICAgICAgIGN0 LnJlY3YoNTEyKQorKyAgICAgICAgY3Quc2VuZChbMTAwXS5wYWNrKCduJyksIDApCisrICAgICAg ICBjdC5jbG9zZQorKyAgICAgIGVuZAorKworKyAgICAgIGNsaWVudF90aHJlYWQgPSBUaHJlYWQu bmV3IGRvCisrICAgICAgICByZXF1ZXN0ZXIgPSBSZXNvbHY6OkROUzo6UmVxdWVzdGVyOjpUQ1Au bmV3KHNlcnZlcl9hZGRyZXNzLCBzZXJ2ZXJfcG9ydCkKKysgICAgICAgIGJlZ2luCisrICAgICAg ICAgIG1zZyA9IFJlc29sdjo6RE5TOjpNZXNzYWdlLm5ldworKyAgICAgICAgICBtc2cuYWRkX3F1 ZXN0aW9uKCdleGFtcGxlLm9yZycsIFJlc29sdjo6RE5TOjpSZXNvdXJjZTo6SU46OkEpCisrICAg ICAgICAgIHNlbmRlciA9IHJlcXVlc3Rlci5zZW5kZXIobXNnLCBtc2cpCisrICAgICAgICAgIGFz c2VydF9yYWlzZShSZXNvbHY6OlJlc29sdlRpbWVvdXQpIGRvCisrICAgICAgICAgICAgcmVxdWVz dGVyLnJlcXVlc3Qoc2VuZGVyLCAyKQorKyAgICAgICAgICBlbmQKKysgICAgICAgIGVuc3VyZQor KyAgICAgICAgICByZXF1ZXN0ZXIuY2xvc2UKKysgICAgICAgIGVuZAorKyAgICAgIGVuZAorKwor KyAgICAgIHNlcnZlcl90aHJlYWQuam9pbgorKyAgICAgIGNsaWVudF90aHJlYWQuam9pbgorKyAg ICBlbmQKKysgIGVuZAorKworKyAgZGVmIHRlc3RfdGNwX2Nvbm5lY3Rpb25fY2xvc2VkX3dpdGhf cGFydGlhbF9sZW5ndGhfcHJlZml4CisrICAgIHdpdGhfdGNwKCcxMjcuMC4wLjEnLCAwKSBkbyB8 dHwKKysgICAgICBfLCBzZXJ2ZXJfcG9ydCwgXywgc2VydmVyX2FkZHJlc3MgPSB0LmFkZHIKKysK KysgICAgICBzZXJ2ZXJfdGhyZWFkID0gVGhyZWFkLm5ldyBkbworKyAgICAgICAgY3QgPSB0LmFj Y2VwdAorKyAgICAgICAgY3QucmVjdig1MTIpCisrICAgICAgICBjdC53cml0ZSAiQSIgIyAxIGJ5 dGUKKysgICAgICAgIGN0LmNsb3NlCisrICAgICAgZW5kCisrCisrICAgICAgY2xpZW50X3RocmVh ZCA9IFRocmVhZC5uZXcgZG8KKysgICAgICAgIHJlcXVlc3RlciA9IFJlc29sdjo6RE5TOjpSZXF1 ZXN0ZXI6OlRDUC5uZXcoc2VydmVyX2FkZHJlc3MsIHNlcnZlcl9wb3J0KQorKyAgICAgICAgYmVn aW4KKysgICAgICAgICAgbXNnID0gUmVzb2x2OjpETlM6Ok1lc3NhZ2UubmV3CisrICAgICAgICAg IG1zZy5hZGRfcXVlc3Rpb24oJ2V4YW1wbGUub3JnJywgUmVzb2x2OjpETlM6OlJlc291cmNlOjpJ Tjo6QSkKKysgICAgICAgICAgc2VuZGVyID0gcmVxdWVzdGVyLnNlbmRlcihtc2csIG1zZykKKysg ICAgICAgICAgYXNzZXJ0X3JhaXNlKFJlc29sdjo6UmVzb2x2VGltZW91dCkgZG8KKysgICAgICAg ICAgICByZXF1ZXN0ZXIucmVxdWVzdChzZW5kZXIsIDIpCisrICAgICAgICAgIGVuZAorKyAgICAg ICAgZW5zdXJlCisrICAgICAgICAgIHJlcXVlc3Rlci5jbG9zZQorKyAgICAgICAgZW5kCisrICAg ICAgZW5kCisrCisrICAgICAgc2VydmVyX3RocmVhZC5qb2luCisrICAgICAgY2xpZW50X3RocmVh ZC5qb2luCisrICAgIGVuZAorKyAgZW5kCisrCisrICBkZWYgdGVzdF90Y3BfY29ubmVjdGlvbl9j bG9zZWRfd2l0aF9wYXJ0aWFsX21lc3NhZ2VfYm9keQorKyAgICB3aXRoX3RjcCgnMTI3LjAuMC4x JywgMCkgZG8gfHR8CisrICAgICAgXywgc2VydmVyX3BvcnQsIF8sIHNlcnZlcl9hZGRyZXNzID0g dC5hZGRyCisrCisrICAgICAgc2VydmVyX3RocmVhZCA9IFRocmVhZC5uZXcgZG8KKysgICAgICAg IGN0ID0gdC5hY2NlcHQKKysgICAgICAgIGN0LnJlY3YoNTEyKQorKyAgICAgICAgY3Qud3JpdGUo WzEwXS5wYWNrKCduJykpICMgbGVuZ3RoIDEwCisrICAgICAgICBjdC53cml0ZSAiMTIzNDUiICMg NSBieXRlcyAocGFydGlhbCkKKysgICAgICAgIGN0LmNsb3NlCisrICAgICAgZW5kCisrCisrICAg ICAgY2xpZW50X3RocmVhZCA9IFRocmVhZC5uZXcgZG8KKysgICAgICAgIHJlcXVlc3RlciA9IFJl c29sdjo6RE5TOjpSZXF1ZXN0ZXI6OlRDUC5uZXcoc2VydmVyX2FkZHJlc3MsIHNlcnZlcl9wb3J0 KQorKyAgICAgICAgYmVnaW4KKysgICAgICAgICAgbXNnID0gUmVzb2x2OjpETlM6Ok1lc3NhZ2Uu bmV3CisrICAgICAgICAgIG1zZy5hZGRfcXVlc3Rpb24oJ2V4YW1wbGUub3JnJywgUmVzb2x2OjpE TlM6OlJlc291cmNlOjpJTjo6QSkKKysgICAgICAgICAgc2VuZGVyID0gcmVxdWVzdGVyLnNlbmRl cihtc2csIG1zZykKKysgICAgICAgICAgYXNzZXJ0X3JhaXNlKFJlc29sdjo6UmVzb2x2VGltZW91 dCkgZG8KKysgICAgICAgICAgICByZXF1ZXN0ZXIucmVxdWVzdChzZW5kZXIsIDIpCisrICAgICAg ICAgIGVuZAorKyAgICAgICAgZW5zdXJlCisrICAgICAgICAgIHJlcXVlc3Rlci5jbG9zZQorKyAg ICAgICAgZW5kCisrICAgICAgZW5kCisrCisrICAgICAgc2VydmVyX3RocmVhZC5qb2luCisrICAg ICAgY2xpZW50X3RocmVhZC5qb2luCisrICAgIGVuZAorKyAgZW5kCisgZW5kCitkaWZmIC0tZ2l0 IGEvdGVzdC9yZXNvbHYvdGVzdF9yZXNvdXJjZS5yYiBiL3Rlc3QvcmVzb2x2L3Rlc3RfcmVzb3Vy Y2UucmIKK2luZGV4IDQzNDM4MDIzNmU2NzIxLi5iNGU1NmNlNGJiOGZmNSAxMDA2NDQKKy0tLSBh L3Rlc3QvcmVzb2x2L3Rlc3RfcmVzb3VyY2UucmIKKysrKyBiL3Rlc3QvcmVzb2x2L3Rlc3RfcmVz b3VyY2UucmIKK0BAIC0yNCw2ICsyNCw2NyBAQCBkZWYgdGVzdF9jb29yZAorICAgICBSZXNvbHY6 OkxPQzo6Q29vcmQuY3JlYXRlKCcxIDIgMS4xIE4nKQorICAgZW5kCisgCisrICAjIERlY29kaW5n IGFuIHVua25vd24gKHR5cGUsIGNsYXNzKSBwYWlyIGJ1aWxkcyBhIGZyZXNoIGNsYXNzIGV2ZXJ5 IHRpbWUsIHNvCisrICAjIGVxdWFsaXR5IG11c3Qgbm90IHJlc3Qgb24gdGhlIGNsYXNzIGlkZW50 aXR5LgorKyAgZGVmIHRlc3RfZ2VuZXJpY19lcXVhbGl0eQorKyAgICB3aXJlID0gZ2VuZXJpY19h bnN3ZXIoNDAwMDAsICJceDAxXHgwMlx4MDMiKQorKyAgICBycjEgPSBkZWNvZGVfZ2VuZXJpYyh3 aXJlKQorKyAgICBycjIgPSBkZWNvZGVfZ2VuZXJpYyh3aXJlKQorKworKyAgICBhc3NlcnRfbm90 X3NhbWUgcnIxLmNsYXNzLCBycjIuY2xhc3MKKysgICAgYXNzZXJ0X2VxdWFsIHJyMSwgcnIyCisr ICAgIGFzc2VydCBycjEuZXFsPyhycjIpCisrICAgIGFzc2VydF9lcXVhbCBycjEuaGFzaCwgcnIy Lmhhc2gKKysgICAgYXNzZXJ0X2VxdWFsIFJlc29sdjo6RE5TOjpNZXNzYWdlLmRlY29kZSh3aXJl KSwgUmVzb2x2OjpETlM6Ok1lc3NhZ2UuZGVjb2RlKHdpcmUpCisrICBlbmQKKysKKysgICMgQW55 IGRlc2NlbmRhbnQgY291bnRzLCBub3QganVzdCBhIGNsYXNzIGNyZWF0ZSByZXR1cm5lZC4KKysg IGRlZiB0ZXN0X2dlbmVyaWNfZXF1YWxpdHlfYmV0d2Vlbl9kZXNjZW5kYW50cworKyAgICBnZW5l cmljID0gUmVzb2x2OjpETlM6OlJlc291cmNlOjpHZW5lcmljCisrICAgIGRpcmVjdCA9IGdlbmVy aWMuY3JlYXRlKDQwMDAwLCA2MDAwMCkKKysgICAgZGVzY2VuZGFudCA9IENsYXNzLm5ldyhnZW5l cmljLmNyZWF0ZSg0MDAwMCwgNjAwMDApKQorKworKyAgICBhc3NlcnRfZXF1YWwgZGlyZWN0Lm5l dygiXHgwMVx4MDJceDAzIiksIGRlc2NlbmRhbnQubmV3KCJceDAxXHgwMlx4MDMiKQorKyAgICBh c3NlcnRfZXF1YWwgZGVzY2VuZGFudC5uZXcoIlx4MDFceDAyXHgwMyIpLCBkaXJlY3QubmV3KCJc eDAxXHgwMlx4MDMiKQorKyAgICBhc3NlcnRfZXF1YWwgZ2VuZXJpYy5uZXcoIlx4MDFceDAyXHgw MyIpLCBnZW5lcmljLm5ldygiXHgwMVx4MDJceDAzIikKKysgICAgYXNzZXJ0X25vdF9lcXVhbCBk aXJlY3QubmV3KCJceDAxXHgwMlx4MDMiKSwKKysgICAgICBDbGFzcy5uZXcoZ2VuZXJpYy5jcmVh dGUoNDAwMDEsIDYwMDAwKSkubmV3KCJceDAxXHgwMlx4MDMiKQorKyAgZW5kCisrCisrICBkZWYg dGVzdF9nZW5lcmljX2luZXF1YWxpdHkKKysgICAgcnIgPSBkZWNvZGVfZ2VuZXJpYyhnZW5lcmlj X2Fuc3dlcig0MDAwMCwgIlx4MDFceDAyXHgwMyIpKQorKworKyAgICBhc3NlcnRfbm90X2VxdWFs IHJyLCBkZWNvZGVfZ2VuZXJpYyhnZW5lcmljX2Fuc3dlcig0MDAwMSwgIlx4MDFceDAyXHgwMyIp KQorKyAgICBhc3NlcnRfbm90X2VxdWFsIHJyLCBkZWNvZGVfZ2VuZXJpYyhnZW5lcmljX2Fuc3dl cig0MDAwMCwgIlx4MDlceDA5XHgwOSIpKQorKyAgICBhc3NlcnRfbm90X2VxdWFsIHJyLCBSZXNv bHY6OkROUzo6UmVzb3VyY2U6OklOOjpBLm5ldygiMTkyLjE2OC4wLjEiKQorKyAgZW5kCisrCisr ICAjIEEgcXVlc3Rpb24gaG9sZHMgdGhlIHJlc291cmNlIGNsYXNzIGl0c2VsZiwgc28gaXQgbmVl ZHMgdGhlIHNhbWUgdHJlYXRtZW50LgorKyAgZGVmIHRlc3RfZ2VuZXJpY19xdWVzdGlvbl9lcXVh bGl0eQorKyAgICB3aXJlID0gZ2VuZXJpY19xdWVzdGlvbig0MDAwMCkKKysKKysgICAgYXNzZXJ0 X2VxdWFsIFJlc29sdjo6RE5TOjpNZXNzYWdlLmRlY29kZSh3aXJlKSwgUmVzb2x2OjpETlM6Ok1l c3NhZ2UuZGVjb2RlKHdpcmUpCisrICAgIGFzc2VydF9ub3RfZXF1YWwgUmVzb2x2OjpETlM6Ok1l c3NhZ2UuZGVjb2RlKHdpcmUpLAorKyAgICAgIFJlc29sdjo6RE5TOjpNZXNzYWdlLmRlY29kZShn ZW5lcmljX3F1ZXN0aW9uKDQwMDAxKSkKKysgIGVuZAorKworKyAgcHJpdmF0ZSBkZWYgaGVhZGVy KHFkY291bnQsIGFuY291bnQpCisrICAgICJceDAwXHgwMFx4MDBceDAwIi5iICsgW3FkY291bnQs IGFuY291bnQsIDAsIDBdLnBhY2soJ25ubm4nKQorKyAgZW5kCisrCisrICBwcml2YXRlIGRlZiBn ZW5lcmljX2Fuc3dlcih0eXBlLCByZGF0YSkKKysgICAgcmRhdGEgPSByZGF0YS5iCisrICAgICho ZWFkZXIoMCwgMSkgKyAiXHgwMCIuYiArIFt0eXBlLCA2MDAwMCwgMCwgcmRhdGEuYnl0ZXNpemVd LnBhY2soJ25uTm4nKSArIHJkYXRhKS5iCisrICBlbmQKKysKKysgIHByaXZhdGUgZGVmIGdlbmVy aWNfcXVlc3Rpb24odHlwZSkKKysgICAgKGhlYWRlcigxLCAwKSArICJceDA3ZXhhbXBsZVx4MDNj b21ceDAwIi5iICsgW3R5cGUsIDYwMDAwXS5wYWNrKCdubicpKS5iCisrICBlbmQKKysKKysgIHBy aXZhdGUgZGVmIGRlY29kZV9nZW5lcmljKHdpcmUpCisrICAgIFJlc29sdjo6RE5TOjpNZXNzYWdl LmRlY29kZSh3aXJlKS5hbnN3ZXIuZmlyc3RbMl0KKysgIGVuZAorKworICAgZGVmIHRlc3Rfc3J2 X25vX2NvbXByZXNzCisgICAgICMgRG9tYWluIG5hbWUgaW4gU1JWIFJEQVRBIHNob3VsZCBub3Qg YmUgY29tcHJlc3NlZAorICAgICBpc3N1ZTI5ID0gJ2h0dHBzOi8vZ2l0aHViLmNvbS9ydWJ5L3Jl c29sdi9pc3N1ZXMvMjknCitkaWZmIC0tZ2l0IGEvdGVzdC9yZXNvbHYvdGVzdF9yZXNvdXJjZV9s ZWFrLnJiIGIvdGVzdC9yZXNvbHYvdGVzdF9yZXNvdXJjZV9sZWFrLnJiCituZXcgZmlsZSBtb2Rl IDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMDAwMDAuLjQ2MjhhM2QyODU3Njc3CistLS0gL2Rldi9u dWxsCisrKysgYi90ZXN0L3Jlc29sdi90ZXN0X3Jlc291cmNlX2xlYWsucmIKK0BAIC0wLDAgKzEs MTAxIEBACisrIyBmcm96ZW5fc3RyaW5nX2xpdGVyYWw6IGZhbHNlCisrcmVxdWlyZSAndGVzdC91 bml0JworK3JlcXVpcmUgJ3Jlc29sdicKKysKKysjIERlY29kaW5nIGEgcmVzcG9uc2Ugd2l0aCB1 bmtub3duICh0eXBlLCBjbGFzcykgcGFpcnMgb3IgdW5rbm93biBTdmNQYXJhbUtleXMKKysjIHVz ZWQgdG8gcmVnaXN0ZXIgYSBnZW5lcmF0ZWQgY2xhc3MgcGVybWFuZW50bHksIHNvIGEgbWFsaWNp b3VzIHJlc3BvbnNlIGNvdWxkCisrIyBleGhhdXN0IG1lbW9yeSBldmVuIGFmdGVyIHRoZSByZXNw b25zZSB3YXMgZGlzY2FyZGVkLgorK2NsYXNzIFRlc3RSZXNvbHZSZXNvdXJjZUxlYWsgPCBUZXN0 OjpVbml0OjpUZXN0Q2FzZQorKyAgIyBOdW1iZXIgb2YgZHluYW1pY2FsbHktcmVnaXN0ZXJlZCAi VHlwZTxuPl9DbGFzczxuPiIgY29uc3RhbnRzIG9uICttb2QrLgorKyAgZGVmIHR5cGVfY29uc3Rf Y291bnQobW9kKQorKyAgICBtb2QuY29uc3RhbnRzKGZhbHNlKS5jb3VudCB7IHxjfCBjLnRvX3Mu bWF0Y2g/KC9cQVR5cGVcZCtfQ2xhc3NcZCtcei8pIH0KKysgIGVuZAorKworKyAgZGVmIHN2Y3Bh cmFtX2tleV9jb25zdF9jb3VudAorKyAgICBSZXNvbHY6OkROUzo6U3ZjUGFyYW06OkdlbmVyaWMu Y29uc3RhbnRzKGZhbHNlKS5jb3VudCB7IHxjfCBjLnRvX3MubWF0Y2g/KC9cQUtleVxkK1x6Lykg fQorKyAgZW5kCisrCisrICAjIEEgRE5TIHJlc3BvbnNlIHdob3NlIGFuc3dlciBzZWN0aW9uIGhv bGRzICtjb3VudCsgUlJzLCBlYWNoIHdpdGggYSBkaXN0aW5jdAorKyAgIyB1bmtub3duICh0eXBl LCBjbGFzcykgcGFpci4KKysgIGRlZiB1bmtub3duX3R5cGVjbGFzc19yZXNwb25zZShjb3VudCkK KysgICAgYm9keSA9ICIiLmIKKysgICAgY291bnQudGltZXMgZG8gfGl8CisrICAgICAgdHlwZSAg PSA0MDAwMCArIGkKKysgICAgICBrbGFzcyA9IDYwMDAwCisrICAgICAgcmRhdGEgPSAiXHgwMVx4 MDJceDAzIi5iCisrICAgICAgYm9keSA8PCAiXHgwMCIuYiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICMgTkFNRSA9IHJvb3QKKysgICAgICBib2R5IDw8IFt0eXBlLCBrbGFzcywg MCwgcmRhdGEuYnl0ZXNpemVdLnBhY2soJ25uTm4nKQorKyAgICAgIGJvZHkgPDwgcmRhdGEKKysg ICAgZW5kCisrICAgIGhlYWRlciA9ICJceDAwXHgwMFx4MDBceDAwIi5iICsgWzAsIGNvdW50LCAw LCAwXS5wYWNrKCdubm5uJykKKysgICAgKGhlYWRlciArIGJvZHkpLmIKKysgIGVuZAorKworKyAg IyBBbiBTVkNCIFJSICh0eXBlIDY0KSBjYXJyeWluZyArY291bnQrIGRpc3RpbmN0IHVua25vd24g U3ZjUGFyYW1LZXlzLgorKyAgZGVmIHVua25vd25fc3ZjcGFyYW1fcmVzcG9uc2UoY291bnQpCisr ICAgIHJkYXRhID0gIiIuYgorKyAgICByZGF0YSA8PCBbMV0ucGFjaygnbicpICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAjIFN2Y1ByaW9yaXR5CisrICAgIHJkYXRhIDw8ICJceDAzZm9v XHgwN2V4YW1wbGVceDAzY29tXHgwMCIuYiAgICAgICAgICAgICMgVGFyZ2V0TmFtZQorKyAgICBj b3VudC50aW1lcyBkbyB8aXwKKysgICAgICBrZXkgPSAxMDAwICsgaQorKyAgICAgIHZhbCA9ICJ4 Ii5iCisrICAgICAgcmRhdGEgPDwgW2tleSwgdmFsLmJ5dGVzaXplXS5wYWNrKCdubicpIDw8IHZh bAorKyAgICBlbmQKKysgICAgaGVhZGVyID0gIlx4MDBceDAwXHgwMFx4MDAiLmIgKyBbMCwgMSwg MCwgMF0ucGFjaygnbm5ubicpCisrICAgIG5hbWUgICA9ICJceDA3ZXhhbXBsZVx4MDNjb21ceDAw Ii5iCisrICAgIHJyICAgICA9IG5hbWUgKyBbNjQsIDEsIDAsIHJkYXRhLmJ5dGVzaXplXS5wYWNr KCdubk5uJykgKyByZGF0YQorKyAgICAoaGVhZGVyICsgcnIpLmIKKysgIGVuZAorKworKyAgZGVm IHRlc3RfdW5rbm93bl90eXBlY2xhc3NfZG9lc19ub3RfbGVha19jbGFzc2VzCisrICAgIHJlc291 cmNlID0gUmVzb2x2OjpETlM6OlJlc291cmNlCisrICAgIGdlbmVyaWMgID0gUmVzb2x2OjpETlM6 OlJlc291cmNlOjpHZW5lcmljCisrCisrICAgIGJlZm9yZV9yZXNvdXJjZSA9IHR5cGVfY29uc3Rf Y291bnQocmVzb3VyY2UpCisrICAgIGJlZm9yZV9nZW5lcmljICA9IHR5cGVfY29uc3RfY291bnQo Z2VuZXJpYykKKysKKysgICAgWzEwMCwgMTAwMF0uZWFjaCBkbyB8Y291bnR8CisrICAgICAgbXNn ID0gdW5rbm93bl90eXBlY2xhc3NfcmVzcG9uc2UoY291bnQpCisrICAgICAgMy50aW1lcyB7IFJl c29sdjo6RE5TOjpNZXNzYWdlLmRlY29kZShtc2cpIH0KKysgICAgZW5kCisrICAgIEdDLnN0YXJ0 CisrCisrICAgIGFzc2VydF9lcXVhbCBiZWZvcmVfcmVzb3VyY2UsIHR5cGVfY29uc3RfY291bnQo cmVzb3VyY2UpLAorKyAgICAgICdkZWNvZGluZyB1bmtub3duICh0eXBlLCBjbGFzcykgUlJzIG11 c3Qgbm90IHJlZ2lzdGVyIG5ldyBSZXNvdXJjZSBjb25zdGFudHMnCisrICAgIGFzc2VydF9lcXVh bCBiZWZvcmVfZ2VuZXJpYywgdHlwZV9jb25zdF9jb3VudChnZW5lcmljKSwKKysgICAgICAnZGVj b2RpbmcgdW5rbm93biAodHlwZSwgY2xhc3MpIFJScyBtdXN0IG5vdCByZWdpc3RlciBuZXcgR2Vu ZXJpYyBjb25zdGFudHMnCisrICBlbmQKKysKKysgIGRlZiB0ZXN0X3Vua25vd25fc3ZjcGFyYW1f a2V5X2RvZXNfbm90X2xlYWtfY2xhc3NlcworKyAgICBjbGFzc19oYXNoID0gUmVzb2x2OjpETlM6 OlN2Y1BhcmFtOjpDbGFzc0hhc2gKKysKKysgICAgYmVmb3JlX2NvbnN0cyA9IHN2Y3BhcmFtX2tl eV9jb25zdF9jb3VudAorKyAgICBiZWZvcmVfaGFzaCAgID0gY2xhc3NfaGFzaC5zaXplCisrCisr ICAgIFsxMDAsIDEwMDBdLmVhY2ggZG8gfGNvdW50fAorKyAgICAgIG1zZyA9IHVua25vd25fc3Zj cGFyYW1fcmVzcG9uc2UoY291bnQpCisrICAgICAgMy50aW1lcyB7IFJlc29sdjo6RE5TOjpNZXNz YWdlLmRlY29kZShtc2cpIH0KKysgICAgZW5kCisrICAgIEdDLnN0YXJ0CisrCisrICAgIGFzc2Vy dF9lcXVhbCBiZWZvcmVfY29uc3RzLCBzdmNwYXJhbV9rZXlfY29uc3RfY291bnQsCisrICAgICAg J2RlY29kaW5nIHVua25vd24gU3ZjUGFyYW1LZXlzIG11c3Qgbm90IHJlZ2lzdGVyIG5ldyBHZW5l cmljIGNvbnN0YW50cycKKysgICAgYXNzZXJ0X2VxdWFsIGJlZm9yZV9oYXNoLCBjbGFzc19oYXNo LnNpemUsCisrICAgICAgJ2RlY29kaW5nIHVua25vd24gU3ZjUGFyYW1LZXlzIG11c3Qgbm90IGdy b3cgU3ZjUGFyYW06OkNsYXNzSGFzaCcKKysgIGVuZAorKworKyAgIyBEcm9wcGluZyB0aGUgcGVy bWFuZW50IHJlZ2lzdHJhdGlvbiBtdXN0IG5vdCBicmVhayBkZWNvZGluZyBvZiB0aGUgdW5rbm93 bgorKyAgIyB2YWx1ZXMgdGhlbXNlbHZlcy4KKysgIGRlZiB0ZXN0X3Vua25vd25fdmFsdWVzX3N0 aWxsX2RlY29kZQorKyAgICBtc2cgPSBSZXNvbHY6OkROUzo6TWVzc2FnZS5kZWNvZGUodW5rbm93 bl90eXBlY2xhc3NfcmVzcG9uc2UoMykpCisrICAgIGFzc2VydF9lcXVhbCAzLCBtc2cuYW5zd2Vy LnNpemUKKysgICAgXywgXywgcnIgPSBtc2cuYW5zd2VyLmZpcnN0CisrICAgIGFzc2VydF9raW5k X29mIFJlc29sdjo6RE5TOjpSZXNvdXJjZTo6R2VuZXJpYywgcnIKKysgICAgYXNzZXJ0X2VxdWFs ICJceDAxXHgwMlx4MDMiLmIsIHJyLmRhdGEKKysKKysgICAgbXNnID0gUmVzb2x2OjpETlM6Ok1l c3NhZ2UuZGVjb2RlKHVua25vd25fc3ZjcGFyYW1fcmVzcG9uc2UoMykpCisrICAgIF8sIF8sIHN2 Y2IgPSBtc2cuYW5zd2VyLmZpcnN0CisrICAgIGFzc2VydF9lcXVhbCAzLCBzdmNiLnBhcmFtcy5j b3VudAorKyAgICBhc3NlcnRfZXF1YWwgIngiLmIsIHN2Y2IucGFyYW1zWzprZXkxMDAwXS52YWx1 ZQorKyAgZW5kCisrZW5kCistLS0gcnVieS00LjAuNi5vcmlnL2xpYi9ydWJ5Z2Vtcy92ZW5kb3Iv cmVzb2x2L2xpYi9yZXNvbHYucmIJMjAyNi0wNy0xNCAwOToyMjoxMC4wMDAwMDAwMDAgKzA5MDAK KysrKyBydWJ5LTQuMC42L2xpYi9ydWJ5Z2Vtcy92ZW5kb3IvcmVzb2x2L2xpYi9yZXNvbHYucmIJ MjAyNi0wOS0wMyAxNzoxNjoxOC41NDMwMjUxNjQgKzA5MDAKK0BAIC0zNSw3ICszNSw3IEBACisg Y2xhc3MgR2VtOjpSZXNvbHYKKyAKKyAgICMgVGhlIHZlcnNpb24gc3RyaW5nCistICBWRVJTSU9O ID0gIjAuNy4wIgorKyAgVkVSU0lPTiA9ICIwLjcuMiIKKyAKKyAgICMjCisgICAjIExvb2tzIHVw IHRoZSBmaXJzdCBJUCBhZGRyZXNzIGZvciArbmFtZSsuCitAQCAtNDg3LDEzICs0ODcsMTggQEAg ZGVmIGVhY2hfbmFtZShhZGRyZXNzKQorICAgICAjICogR2VtOjpSZXNvbHY6OkROUzo6UmVzb3Vy Y2U6OklOOjpBCisgICAgICMgKiBHZW06OlJlc29sdjo6RE5TOjpSZXNvdXJjZTo6SU46OkFBQUEK KyAgICAgIyAqIEdlbTo6UmVzb2x2OjpETlM6OlJlc291cmNlOjpJTjo6QU5ZCisrICAgICMgKiBH ZW06OlJlc29sdjo6RE5TOjpSZXNvdXJjZTo6SU46OkNBQQorICAgICAjICogR2VtOjpSZXNvbHY6 OkROUzo6UmVzb3VyY2U6OklOOjpDTkFNRQorICAgICAjICogR2VtOjpSZXNvbHY6OkROUzo6UmVz b3VyY2U6OklOOjpISU5GTworKyAgICAjICogR2VtOjpSZXNvbHY6OkROUzo6UmVzb3VyY2U6OklO OjpIVFRQUworKyAgICAjICogR2VtOjpSZXNvbHY6OkROUzo6UmVzb3VyY2U6OklOOjpMT0MKKyAg ICAgIyAqIEdlbTo6UmVzb2x2OjpETlM6OlJlc291cmNlOjpJTjo6TUlORk8KKyAgICAgIyAqIEdl bTo6UmVzb2x2OjpETlM6OlJlc291cmNlOjpJTjo6TVgKKyAgICAgIyAqIEdlbTo6UmVzb2x2OjpE TlM6OlJlc291cmNlOjpJTjo6TlMKKyAgICAgIyAqIEdlbTo6UmVzb2x2OjpETlM6OlJlc291cmNl OjpJTjo6UFRSCisgICAgICMgKiBHZW06OlJlc29sdjo6RE5TOjpSZXNvdXJjZTo6SU46OlNPQQor KyAgICAjICogR2VtOjpSZXNvbHY6OkROUzo6UmVzb3VyY2U6OklOOjpTUlYKKysgICAgIyAqIEdl bTo6UmVzb2x2OjpETlM6OlJlc291cmNlOjpJTjo6U1ZDQgorICAgICAjICogR2VtOjpSZXNvbHY6 OkROUzo6UmVzb3VyY2U6OklOOjpUWFQKKyAgICAgIyAqIEdlbTo6UmVzb2x2OjpETlM6OlJlc291 cmNlOjpJTjo6V0tTCisgICAgICMKK0BAIC03MjEsNyArNzI2LDggQEAgZGVmIHJlcXVlc3Qoc2Vu ZGVyLCB0b3V0KQorICAgICAgICAgICBiZWdpbgorICAgICAgICAgICAgIHJlcGx5LCBmcm9tID0g cmVjdl9yZXBseShzZWxlY3RfcmVzdWx0WzBdKQorICAgICAgICAgICByZXNjdWUgRXJybm86OkVD T05OUkVGVVNFRCwgIyBHTlUvTGludXgsIEZyZWVCU0QKKy0gICAgICAgICAgICAgICAgIEVycm5v OjpFQ09OTlJFU0VUICMgV2luZG93cworKyAgICAgICAgICAgICAgICAgRXJybm86OkVDT05OUkVT RVQsICMgV2luZG93cworKyAgICAgICAgICAgICAgICAgRU9GRXJyb3IKKyAgICAgICAgICAgICAj IE5vIG5hbWUgc2VydmVyIHJ1bm5pbmcgb24gdGhlIHNlcnZlcj8KKyAgICAgICAgICAgICAjIERv bid0IHdhaXQgYW55bW9yZS4KKyAgICAgICAgICAgICByYWlzZSBSZXNvbHZUaW1lb3V0CitAQCAt OTMwLDggKzkzNiwxMSBAQCBkZWYgaW5pdGlhbGl6ZShob3N0LCBwb3J0PVBvcnQpCisgICAgICAg ICBlbmQKKyAKKyAgICAgICAgIGRlZiByZWN2X3JlcGx5KHJlYWRhYmxlX3NvY2tzKQorLSAgICAg ICAgICBsZW4gPSByZWFkYWJsZV9zb2Nrc1swXS5yZWFkKDIpLnVucGFjaygnbicpWzBdCisrICAg ICAgICAgIGxlbl9kYXRhID0gcmVhZGFibGVfc29ja3NbMF0ucmVhZCgyKQorKyAgICAgICAgICBy YWlzZSBFT0ZFcnJvciBpZiBsZW5fZGF0YS5uaWw/IHx8IGxlbl9kYXRhLmJ5dGVzaXplICE9IDIK KysgICAgICAgICAgbGVuID0gbGVuX2RhdGEudW5wYWNrKCduJylbMF0KKyAgICAgICAgICAgcmVw bHkgPSBAc29ja3NbMF0ucmVhZChsZW4pCisrICAgICAgICAgIHJhaXNlIEVPRkVycm9yIGlmIHJl cGx5Lm5pbD8gfHwgcmVwbHkuYnl0ZXNpemUgIT0gbGVuCisgICAgICAgICAgIHJldHVybiByZXBs eSwgbmlsCisgICAgICAgICBlbmQKKyAKK0BAIC0xMjQ0LDYgKzEyNTMsMTMgQEAgZGVmIHNlbGYu c3BsaXQoYXJnKQorIAorICAgICAgIGNsYXNzIFN0ciAjIDpub2RvYzoKKyAgICAgICAgIGRlZiBp bml0aWFsaXplKHN0cmluZykKKysgICAgICAgICAgIyBBIGxhYmVsIGlzIGxpbWl0ZWQgdG8gNjMg b2N0ZXRzLiBbUkZDIDEwMzUgMi4zLjRdIENoZWNraW5nIGl0IGhlcmUKKysgICAgICAgICAgIyBt YWtlcyBpdCBhbiBpbnZhcmlhbnQgb2YgdGhlIG9iamVjdDogZXZlcnkgbGFiZWwsIGhvd2V2ZXIg aXQgd2FzCisrICAgICAgICAgICMgYnVpbHQsIGZpdHMgaW4gaXRzIGxlbmd0aCBvY3RldCBhbmQg Y2Fubm90IHdyYXAgaXQuIENhbGxlcnMgdHVybgorKyAgICAgICAgICAjIHRoaXMgaW50byB0aGUg ZXJyb3IgdGhlaXIgb3duIGNvbnRyYWN0IHByb21pc2VzLgorKyAgICAgICAgICBpZiBzdHJpbmcu Ynl0ZXNpemUgPiA2MworKyAgICAgICAgICAgIHJhaXNlIEFyZ3VtZW50RXJyb3IsICJETlMgbGFi ZWwgaXMgdG9vIGxvbmcgKCN7c3RyaW5nLmJ5dGVzaXplfSBieXRlcywgbWF4IDYzKTogI3tzdHJp bmcuaW5zcGVjdH0iCisrICAgICAgICAgIGVuZAorICAgICAgICAgICBAc3RyaW5nID0gc3RyaW5n CisgICAgICAgICAgICMgY2FzZSBpbnNlbnNpdml0eSBvZiBETlMgbGFiZWxzIGRvZXNuJ3QgYXBw bHkgbm9uLUFTQ0lJIGNoYXJhY3RlcnMuIFtSRkMgNDM0M10KKyAgICAgICAgICAgIyBUaGlzIGFz c3VtZXMgQHN0cmluZyBpcyBnaXZlbiBpbiBBU0NJSSBjb21wYXRpYmxlIGVuY29kaW5nLgorQEAg LTEyODksNyArMTMwNSwyNiBAQCBkZWYgc2VsZi5jcmVhdGUoYXJnKQorICAgICAgICAgd2hlbiBO YW1lCisgICAgICAgICAgIHJldHVybiBhcmcKKyAgICAgICAgIHdoZW4gU3RyaW5nCistICAgICAg ICAgIHJldHVybiBOYW1lLm5ldyhMYWJlbC5zcGxpdChhcmcpLCAvXC5cei8gPX4gYXJnID8gdHJ1 ZSA6IGZhbHNlKQorKyAgICAgICAgICAjIEEgaG9zdG5hbWUgaXMgcnVudGltZSBkYXRhIHJhdGhl ciB0aGFuIGEgcHJvZ3JhbW1pbmcgbWlzdGFrZSwgc28KKysgICAgICAgICAgIyBib3RoIHNpemUg bGltaXRzIHN1cmZhY2UgYXMgUmVzb2x2RXJyb3IgdG8gc3RheSByZXNjdWFibGUgYWxvbmdzaWRl CisrICAgICAgICAgICMgdGhlIHJlc3Qgb2YgbmFtZSByZXNvbHV0aW9uLiBUaGUgdHlwZSBjaGVj ayBiZWxvdyBpcyBhIGNhbGxlcgorKyAgICAgICAgICAjIG1pc3Rha2UgYW5kIGtlZXBzIHJhaXNp bmcgQXJndW1lbnRFcnJvci4KKysgICAgICAgICAgYmVnaW4KKysgICAgICAgICAgICBsYWJlbHMg PSBMYWJlbC5zcGxpdChhcmcpCisrICAgICAgICAgIHJlc2N1ZSBBcmd1bWVudEVycm9yID0+IGUK KysgICAgICAgICAgICByYWlzZSBSZXNvbHZFcnJvci5uZXcoZS5tZXNzYWdlKQorKyAgICAgICAg ICBlbmQKKysgICAgICAgICAgIyBMYWJlbDo6U3RyIGVuZm9yY2VzIHRoZSBwZXItbGFiZWwgbGlt aXQuIE9ubHkgdGhlIHRvdGFsIGlzIGtub3dhYmxlCisrICAgICAgICAgICMgaGVyZSwgYW5kIGl0 IGNvdW50cyB0aGUgZW5jb2RlZCBmb3JtLCBzbyBzaXplIHN0YXJ0cyBhdCAxIGZvciB0aGUKKysg ICAgICAgICAgIyByb290IGxhYmVsJ3MgdGVybWluYXRpbmcgemVybyBvY3RldC4gW1JGQyAxMDM1 IDIuMy40LCAzLjFdCisrICAgICAgICAgIHNpemUgPSAxCisrICAgICAgICAgIGxhYmVscy5lYWNo IGRvIHxsYWJlbHwKKysgICAgICAgICAgICBzaXplICs9IDEgKyBsYWJlbC5zdHJpbmcuYnl0ZXNp emUKKysgICAgICAgICAgICBpZiBzaXplID4gMjU1CisrICAgICAgICAgICAgICByYWlzZSBSZXNv bHZFcnJvci5uZXcoIkROUyBuYW1lIGlzIHRvbyBsb25nICgje3NpemV9IG9jdGV0cywgbWF4IDI1 NSk6ICN7YXJnLmluc3BlY3R9IikKKysgICAgICAgICAgICBlbmQKKysgICAgICAgICAgZW5kCisr ICAgICAgICAgIHJldHVybiBOYW1lLm5ldyhsYWJlbHMsIC9cLlx6LyA9fiBhcmcgPyB0cnVlIDog ZmFsc2UpCisgICAgICAgICBlbHNlCisgICAgICAgICAgIHJhaXNlIEFyZ3VtZW50RXJyb3IubmV3 KCJjYW5ub3QgaW50ZXJwcmV0IGFzIEROUyBuYW1lOiAje2FyZy5pbnNwZWN0fSIpCisgICAgICAg ICBlbmQKK0BAIC0xNDExLDEyICsxNDQ2LDI0IEBAIGRlZiA9PShvdGhlcikKKyAgICAgICAgICAg ICAgICBAcmQgPT0gb3RoZXIucmQgJiYKKyAgICAgICAgICAgICAgICBAcmEgPT0gb3RoZXIucmEg JiYKKyAgICAgICAgICAgICAgICBAcmNvZGUgPT0gb3RoZXIucmNvZGUgJiYKKy0gICAgICAgICAg ICAgICBAcXVlc3Rpb24gPT0gb3RoZXIucXVlc3Rpb24gJiYKKysgICAgICAgICAgICAgICBxdWVz dGlvbl9lcXVhbD8ob3RoZXIucXVlc3Rpb24pICYmCisgICAgICAgICAgICAgICAgQGFuc3dlciA9 PSBvdGhlci5hbnN3ZXIgJiYKKyAgICAgICAgICAgICAgICBAYXV0aG9yaXR5ID09IG90aGVyLmF1 dGhvcml0eSAmJgorICAgICAgICAgICAgICAgIEBhZGRpdGlvbmFsID09IG90aGVyLmFkZGl0aW9u YWwKKyAgICAgICBlbmQKKyAKKysgICAgICAjIEEgcXVlc3Rpb24gaG9sZHMgdGhlIHJlc291cmNl IGNsYXNzIGl0c2VsZiwgYW5kIGRlY29kaW5nIGNyZWF0ZXMgYSBmcmVzaAorKyAgICAgICMgY2xh c3MgZm9yIGVhY2ggdW5rbm93biB0eXBlLCBzbyB0aGUgY2xhc3NlcyBjYW5ub3QgYmUgY29tcGFy ZWQgYnkKKysgICAgICAjIGlkZW50aXR5IGFsb25lLgorKyAgICAgIHByaXZhdGUgZGVmIHF1ZXN0 aW9uX2VxdWFsPyhvdGhlcl9xdWVzdGlvbikgIyA6bm9kb2M6CisrICAgICAgICByZXR1cm4gZmFs c2UgdW5sZXNzIEBxdWVzdGlvbi5sZW5ndGggPT0gb3RoZXJfcXVlc3Rpb24ubGVuZ3RoCisrICAg ICAgICBAcXVlc3Rpb24uemlwKG90aGVyX3F1ZXN0aW9uKSB7fChuYW1lLCB0eXBlY2xhc3MpLCAo b19uYW1lLCBvX3R5cGVjbGFzcyl8CisrICAgICAgICAgIHJldHVybiBmYWxzZSB1bmxlc3MgbmFt ZSA9PSBvX25hbWUgJiYKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXNvdXJjZTo6 R2VuZXJpYy50eXBlX2NsYXNzX2VxdWFsPyh0eXBlY2xhc3MsIG9fdHlwZWNsYXNzKQorKyAgICAg ICAgfQorKyAgICAgICAgcmV0dXJuIHRydWUKKysgICAgICBlbmQKKysKKyAgICAgICBkZWYgYWRk X3F1ZXN0aW9uKG5hbWUsIHR5cGVjbGFzcykKKyAgICAgICAgIEBxdWVzdGlvbiA8PCBbTmFtZS5j cmVhdGUobmFtZSksIHR5cGVjbGFzc10KKyAgICAgICBlbmQKK0BAIC0xNTIzLDggKzE1NzAsMTUg QEAgZGVmIHB1dF9sZW5ndGgxNgorICAgICAgICAgZW5kCisgCisgICAgICAgICBkZWYgcHV0X3N0 cmluZyhkKQorLSAgICAgICAgICBzZWxmLnB1dF9wYWNrKCJDIiwgZC5sZW5ndGgpCistICAgICAg ICAgIEBkYXRhIDw8IGQKKysgICAgICAgICAgcyA9IGQudG9fcworKyAgICAgICAgICAjIEEgY2hh cmFjdGVyLXN0cmluZyBpcyBwcmVmaXhlZCBieSBhIHNpbmdsZSBsZW5ndGggb2N0ZXQsIHNvIGl0 IGNhbgorKyAgICAgICAgICAjIGhvbGQgYXQgbW9zdCAyNTUgb2N0ZXRzLiBbUkZDIDEwMzUgMy4z XSBSZWplY3QgYW55dGhpbmcgbG9uZ2VyIHRvCisrICAgICAgICAgICMgYXZvaWQgc2lsZW50bHkg dHJ1bmNhdGluZyB0aGUgbGVuZ3RoIHRvIGl0cyBsb3cgOCBiaXRzIChtb2QgMjU2KS4KKysgICAg ICAgICAgaWYgcy5ieXRlc2l6ZSA+IDI1NQorKyAgICAgICAgICAgIHJhaXNlIEFyZ3VtZW50RXJy b3IsICJjaGFyYWN0ZXItc3RyaW5nIGlzIHRvbyBsb25nICgje3MuYnl0ZXNpemV9IGJ5dGVzLCBt YXggMjU1KTogI3tzLmluc3BlY3R9IgorKyAgICAgICAgICBlbmQKKysgICAgICAgICAgc2VsZi5w dXRfcGFjaygiQyIsIHMuYnl0ZXNpemUpCisrICAgICAgICAgIEBkYXRhIDw8IHMKKyAgICAgICAg IGVuZAorIAorICAgICAgICAgZGVmIHB1dF9zdHJpbmdfbGlzdChkcykKK0BAIC0xNTU0LDcgKzE2 MDgsMTcgQEAgZGVmIHB1dF9sYWJlbHMoZCwgY29tcHJlc3M6IHRydWUpCisgICAgICAgICBlbmQK KyAKKyAgICAgICAgIGRlZiBwdXRfbGFiZWwoZCkKKy0gICAgICAgICAgc2VsZi5wdXRfc3RyaW5n KGQudG9fcykKKysgICAgICAgICAgcyA9IGQudG9fcworKyAgICAgICAgICAjIExhYmVsOjpTdHIg YXBwbGllcyB0aGlzIGxpbWl0IHdoZW4gYSBsYWJlbCBpcyBidWlsdCwgc28gd2hhdCBpcyBsZWZ0 CisrICAgICAgICAgICMgZm9yIGhlcmUgaXMgYSByYXcgc3RyaW5nIGhhbmRlZCBzdHJhaWdodCB0 byBwdXRfbGFiZWxzLiBUaGUgdHdvIHdheXMKKysgICAgICAgICAgIyBhbiBvdmVyLWxvbmcgbGFi ZWwgZ29lcyB3cm9uZyBkaWZmZXI6IDY0IHRvIDI1NSBvY3RldHMgd3JpdGUgYSBsZW5ndGgKKysg ICAgICAgICAgIyBvY3RldCBpbiB0aGUgcmVzZXJ2ZWQgb3IgY29tcHJlc3Npb24gcG9pbnRlciBy YW5nZSwgYW5kIDI1NiBvciBtb3JlCisrICAgICAgICAgICMgd3JhcCBpdCBtb2QgMjU2LiBFaXRo ZXIgd2F5IHRoZSBlbmNvZGVkIG5hbWUgc3RvcHMgYmVpbmcgdGhlIG5hbWUgdGhlCisrICAgICAg ICAgICMgY2FsbGVyIGFza2VkIGZvci4gW1JGQyAxMDM1IDIuMy40LCA0LjEuNF0KKysgICAgICAg ICAgaWYgcy5ieXRlc2l6ZSA+IDYzCisrICAgICAgICAgICAgcmFpc2UgQXJndW1lbnRFcnJvciwg IkROUyBsYWJlbCBpcyB0b28gbG9uZyAoI3tzLmJ5dGVzaXplfSBieXRlcywgbWF4IDYzKTogI3tz Lmluc3BlY3R9IgorKyAgICAgICAgICBlbmQKKysgICAgICAgICAgc2VsZi5wdXRfc3RyaW5nKHMp CisgICAgICAgICBlbmQKKyAgICAgICBlbmQKKyAKK0BAIC0xNjgwLDcgKzE3NDQsOSBAQCBkZWYg Z2V0X2xhYmVscworICAgICAgICAgICBwcmV2X2luZGV4ID0gQGluZGV4CisgICAgICAgICAgIHNh dmVfaW5kZXggPSBuaWwKKyAgICAgICAgICAgZCA9IFtdCistICAgICAgICAgIHNpemUgPSAtMQor KyAgICAgICAgICAjIHNpemUgY291bnRzIHRoZSBlbmNvZGVkIGZvcm0sIHNvIGl0IHN0YXJ0cyBh dCAxIGZvciB0aGUgcm9vdAorKyAgICAgICAgICAjIGxhYmVsJ3MgdGVybWluYXRpbmcgemVybyBv Y3RldC4gW1JGQyAxMDM1IDMuMV0KKysgICAgICAgICAgc2l6ZSA9IDEKKyAgICAgICAgICAgd2hp bGUgdHJ1ZQorICAgICAgICAgICAgIHJhaXNlIERlY29kZUVycm9yLm5ldygibGltaXQgZXhjZWVk ZWQiKSBpZiBAbGltaXQgPD0gQGluZGV4CisgICAgICAgICAgICAgY2FzZSBAZGF0YS5nZXRieXRl KEBpbmRleCkKK0BAIC0xNzExLDYgKzE3NzcsMTEgQEAgZGVmIGdldF9sYWJlbHMKKyAKKyAgICAg ICAgIGRlZiBnZXRfbGFiZWwKKyAgICAgICAgICAgcmV0dXJuIExhYmVsOjpTdHIubmV3KHNlbGYu Z2V0X3N0cmluZykKKysgICAgICAgIHJlc2N1ZSBBcmd1bWVudEVycm9yID0+IGUKKysgICAgICAg ICAgIyBBIGxlbmd0aCBvY3RldCBvZiA2NC4uMTkxIGlzIHJlc2VydmVkIHJhdGhlciB0aGFuIGEg bGFiZWwgbGVuZ3RoLAorKyAgICAgICAgICAjIGJ1dCB0aGlzIGRlY29kZXIgdXNlZCB0byByZWFk IGl0IGFzIG9uZS4gW1JGQyAxMDM1IDQuMS40XSBSZXBvcnQgaXQKKysgICAgICAgICAgIyB0aGUg d2F5IHRoZSByZXN0IG9mIGEgbWFsZm9ybWVkIG1lc3NhZ2UgaXMgcmVwb3J0ZWQuCisrICAgICAg ICAgIHJhaXNlIERlY29kZUVycm9yLm5ldyhlLm1lc3NhZ2UpCisgICAgICAgICBlbmQKKyAKKyAg ICAgICAgIGRlZiBnZXRfcXVlc3Rpb24KK0BAIC0xODk4LDggKzE5NjksOSBAQCBkZWYgc2VsZi5j cmVhdGUoa2V5X251bWJlcikKKyAgICAgICAgICAga2V5X25hbWUgPSA6ImtleSN7a2V5X251bWJl cn0iCisgICAgICAgICAgIGMuY29uc3Rfc2V0KDpLZXlOYW1lLCBrZXlfbmFtZSkKKyAgICAgICAg ICAgYy5jb25zdF9zZXQoOktleU51bWJlciwga2V5X251bWJlcikKKy0gICAgICAgICAgc2VsZi5j b25zdF9zZXQoOiJLZXkje2tleV9udW1iZXJ9IiwgYykKKy0gICAgICAgICAgQ2xhc3NIYXNoW2tl eV9uYW1lXSA9IENsYXNzSGFzaFtrZXlfbnVtYmVyXSA9IGMKKysgICAgICAgICAgIyBOb3QgcmVn aXN0ZXJlZCBpbiBhIGNvbnN0YW50IG9yIGluIENsYXNzSGFzaC4gQ2xhc3NIYXNoIGNyZWF0ZXMg YQorKyAgICAgICAgICAjIGNsYXNzIGZvciBldmVyeSB1bmtub3duIFN2Y1BhcmFtS2V5LCBzbyBy ZWdpc3RlcmluZyB0aGVtCisrICAgICAgICAgICMgcGVybWFuZW50bHkgd291bGQgbGV0IGEgbWFs aWNpb3VzIHJlc3BvbnNlIGV4aGF1c3QgbWVtb3J5LgorICAgICAgICAgICByZXR1cm4gYworICAg ICAgICAgZW5kCisgICAgICAgZW5kCitAQCAtMjIwNiwxMiArMjI3OCwyOCBAQCBkZWYgc2VsZi5k ZWNvZGVfcmRhdGEobXNnKSAjIDpub2RvYzoKKyAgICAgICAgICAgcmV0dXJuIHNlbGYubmV3KG1z Zy5nZXRfYnl0ZXMpCisgICAgICAgICBlbmQKKyAKKysgICAgICAgICMgY3JlYXRlIG1ha2VzIGEg ZnJlc2ggY2xhc3MgZm9yIGVhY2ggZGVjb2RlZCByZXNvdXJjZSwgc28gdGhlIHR5cGUgYW5kCisr ICAgICAgICAjIGNsYXNzIHZhbHVlcyBoYXZlIHRvIGJlIGNvbXBhcmVkIGluc3RlYWQgb2YgdGhl IGNsYXNzIGl0c2VsZi4KKysgICAgICAgIGRlZiBzZWxmLnR5cGVfY2xhc3NfZXF1YWw/KGtsYXNz LCBvdGhlcikgIyA6bm9kb2M6CisrICAgICAgICAgIHJldHVybiB0cnVlIGlmIGtsYXNzLmVxdWFs PyhvdGhlcikKKysgICAgICAgICAgR2VuZXJpYyA+IGtsYXNzICYmIEdlbmVyaWMgPiBvdGhlciAm JgorKyAgICAgICAgICAgIGtsYXNzOjpUeXBlVmFsdWUgPT0gb3RoZXI6OlR5cGVWYWx1ZSAmJgor KyAgICAgICAgICAgIGtsYXNzOjpDbGFzc1ZhbHVlID09IG90aGVyOjpDbGFzc1ZhbHVlCisrICAg ICAgICBlbmQKKysKKysgICAgICAgIGRlZiA9PShvdGhlcikgIyA6bm9kb2M6CisrICAgICAgICAg IHJldHVybiBvdGhlci5pc19hPyhHZW5lcmljKSAmJgorKyAgICAgICAgICAgICAgICAgR2VuZXJp Yy50eXBlX2NsYXNzX2VxdWFsPyhzZWxmLmNsYXNzLCBvdGhlci5jbGFzcykgJiYKKysgICAgICAg ICAgICAgICAgIEBkYXRhID09IG90aGVyLmRhdGEKKysgICAgICAgIGVuZAorKworICAgICAgICAg ZGVmIHNlbGYuY3JlYXRlKHR5cGVfdmFsdWUsIGNsYXNzX3ZhbHVlKSAjIDpub2RvYzoKKyAgICAg ICAgICAgYyA9IENsYXNzLm5ldyhHZW5lcmljKQorICAgICAgICAgICBjLmNvbnN0X3NldCg6VHlw ZVZhbHVlLCB0eXBlX3ZhbHVlKQorICAgICAgICAgICBjLmNvbnN0X3NldCg6Q2xhc3NWYWx1ZSwg Y2xhc3NfdmFsdWUpCistICAgICAgICAgIEdlbmVyaWMuY29uc3Rfc2V0KCJUeXBlI3t0eXBlX3Zh bHVlfV9DbGFzcyN7Y2xhc3NfdmFsdWV9IiwgYykKKy0gICAgICAgICAgQ2xhc3NIYXNoW1t0eXBl X3ZhbHVlLCBjbGFzc192YWx1ZV1dID0gYworKyAgICAgICAgICAjIE5vdCByZWdpc3RlcmVkIGlu IGEgY29uc3RhbnQgb3IgaW4gQ2xhc3NIYXNoLiBnZXRfY2xhc3MgY3JlYXRlcyBhCisrICAgICAg ICAgICMgY2xhc3MgZm9yIGV2ZXJ5IHVua25vd24gKHR5cGUsIGNsYXNzKSBwYWlyLCBzbyByZWdp c3RlcmluZyB0aGVtCisrICAgICAgICAgICMgcGVybWFuZW50bHkgd291bGQgbGV0IGEgbWFsaWNp b3VzIHJlc3BvbnNlIGV4aGF1c3QgbWVtb3J5LgorICAgICAgICAgICByZXR1cm4gYworICAgICAg ICAgZW5kCisgICAgICAgZW5kCisKCmRpZmYgLS1naXQgYS9ydWJ5LnNwZWMgYi9ydWJ5LnNwZWMK aW5kZXggNTE5ZjkwZC4uYTJiMzZlMSAxMDA2NDQKLS0tIGEvcnVieS5zcGVjCisrKyBiL3J1Ynku c3BlYwpAQCAtNDEsNyArNDEsNyBAQAogJWdsb2JhbCBydWJ5Z2Vtc19uZXRfaHR0cF92ZXJzaW9u IDAuNy4wCiAlZ2xvYmFsIHJ1YnlnZW1zX25ldF9wcm90b2NvbF92ZXJzaW9uIDAuMi4yCiAlZ2xv YmFsIHJ1YnlnZW1zX29wdHBhcnNlX3ZlcnNpb24gMC44LjAKLSVnbG9iYWwgcnVieWdlbXNfcmVz b2x2X3ZlcnNpb24gMC43LjAKKyVnbG9iYWwgcnVieWdlbXNfcmVzb2x2X3ZlcnNpb24gMC43LjIK ICVnbG9iYWwgcnVieWdlbXNfc2VjdXJlcmFuZG9tX3ZlcnNpb24gMC40LjEKICVnbG9iYWwgcnVi eWdlbXNfdGltZW91dF92ZXJzaW9uIDAuNC40CiAlZ2xvYmFsIHJ1YnlnZW1zX3Rzb3J0X3ZlcnNp b24gMC4yLjAKQEAgLTg0LDcgKzg0LDcgQEAKICVnbG9iYWwgcHJldHR5cHJpbnRfdmVyc2lvbiAw LjIuMAogJWdsb2JhbCBwcmlzbV92ZXJzaW9uIDEuOC4xCiAlZ2xvYmFsIHBzeWNoX3ZlcnNpb24g NS4zLjEKLSVnbG9iYWwgcmVzb2x2X3ZlcnNpb24gMC43LjAKKyVnbG9iYWwgcmVzb2x2X3ZlcnNp b24gMC43LjIKICVnbG9iYWwgcnVieTJfa2V5d29yZHNfdmVyc2lvbiAwLjAuNQogJWdsb2JhbCBz ZWN1cmVyYW5kb21fdmVyc2lvbiAwLjQuMQogJWdsb2JhbCBzaGVsbHdvcmRzX3ZlcnNpb24gMC4y LjIKQEAgLTE4OSw3ICsxODksNyBAQAogU3VtbWFyeTogQW4gaW50ZXJwcmV0ZXIgb2Ygb2JqZWN0 LW9yaWVudGVkIHNjcmlwdGluZyBsYW5ndWFnZQogTmFtZTogcnVieQogVmVyc2lvbjogJXtydWJ5 X3ZlcnNpb259JXs/ZGV2ZWxvcG1lbnRfcmVsZWFzZX0KLVJlbGVhc2U6IDM3JXs/ZGlzdH0KK1Jl bGVhc2U6IDM4JXs/ZGlzdH0KICMgTGljZW5zZXMsIHdoaWNoIGFyZSBsaWtlbHkgbm90IGluY2x1 ZGVkIGluIGJpbmFyeSBSUE1zOgogIyBBcGFjaGUtMi4wOgogIyAgIGJlbmNobWFyay9nYy9yZWRi bGFjay5yYgpAQCAtMjk4LDYgKzI5OCwxMCBAQCBQYXRjaDg6IHJ1YnktNC4wLjEtU3VwcG9ydC1j dXN0b21pemFibGUtcnVzdGNfZmxhZ3MtZm9yLXJ1c3RjLWJ1aWxkcy5wYXRjaAogIyBGaXggZXJy b3Igd2l0aCBgZ2VtIGluc3RhbGwgLS1kb2N1bWVudD1yZG9jLHJpYAogIyBGaXhlZCBpbiByZG9j IDcuMS4wIGJ1dCBub3QgaW4gNy4wLjQKIFBhdGNoOTogcmRvYy1wcjE1MzEtZml4LW11dGlscGxl LWRvY3VtZW50LWluc3RhbGxhdGlvbi5wYXRjaAorIyBCYWNrcG9ydCBmcm9tIHJ1YnlfNF8wIGJy YW5jaCB0byB1cGRhdGUgcmVzb2x2IHRvIDAuNy4yIChmaXhlcyBDVkUtMjAyNi04MDIxMiBDVkUt MjAyNi04MDIxMykKKyMgaHR0cHM6Ly9naXRodWIuY29tL3J1YnkvcnVieS9wdWxsLzE4NTI4Cisj IEFsc28gY29waWVkIHRoZSBwYXRjaCB0byBhcHBseSB0aGUgZml4IGFsc28gZm9yIHZlbmRvcmVk IHJlc29sdgorUGF0Y2gxMDogcnVieS00XzAtcHIxODUyOC11cGRhdGUtcmVzb2x2LTBfN18yLnBh dGNoCiAKIFJlcXVpcmVzOiAle25hbWV9LWxpYnMlez9faXNhfSA9ICV7dmVyc2lvbn0tJXtyZWxl YXNlfQogJXs/d2l0aF9ydWJ5cGljazpTdWdnZXN0czogcnVieXBpY2t9CkBAIC04MDgsNiArODEy LDcgQEAgcG9wZAogJXBhdGNoIDYgLXAxCiAlcGF0Y2ggNyAtcDEKICVwYXRjaCA4IC1wMQorJXBh dGNoIDEwIC1wMQogCiAjIFByb3ZpZGUgYW4gZXhhbXBsZSBvZiB1c2FnZSBvZiB0aGUgdGFwc2V0 OgogY3AgLWEgJXtTT1VSQ0UzfSAuCkBAIC0xOTQ3LDcgKzE5NTIsMTIgQEAgbWFrZSAtQyAle192 cGF0aF9idWlsZGRpcn0gcnVucnVieSBURVNUUlVOX1NDUklQVD0iIFwKIAogCiAlY2hhbmdlbG9n Ci0qIFRodSBKdWwgMTYgMjAyNiBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsZW5nQGZl ZG9yYXByb2plY3Qub3JnPgorKiBUaHUgU2VwIDAzIDIwMjYgTWFtb3J1IFRBU0FLQSA8bXRhc2Fr YUBmZWRvcmFwcm9qZWN0Lm9yZz4gLSA0LjAuNi0zOAorLSBCYWNrcG9ydCB1cHN0cmVhbSBwYXRj aCB0byB1cGRhdGUgcmVzb2x2IHRvIDAuNy4yCistIFJlc29sdmVzOiBDVkUtMjAyNi04MDIxMiAo cmhieiMyNTI3MzA4KQorLSBSZXNvbHZlczogQ1ZFLTIwMjYtODAyMTMgKHJoYnojMjUyNzMxMCkK KworKiBUaHUgSnVsIDE2IDIwMjYgRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJlbGVuZ0Bm ZWRvcmFwcm9qZWN0Lm9yZz4gLSA0LjAuNi0zNwogLSBSZWJ1aWx0IGZvciBodHRwczovL2ZlZG9y YXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzQ1X01hc3NfUmVidWlsZAogCiAqIFR1ZSBKdWwgMTQg MjAyNiBNYW1vcnUgVEFTQUtBIDxtdGFzYWthQGZlZG9yYXByb2plY3Qub3JnPiAtIDQuMC42LTM2 Cg==