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=0.7 required=5.0 tests=ALL_TRUSTED, T_SCC_BODY_TEXT_LINE,URIBL_BLACK autolearn=no autolearn_force=no version=3.4.4 Received: (qmail 14487 invoked from network); 23 Dec 2023 00:41:01 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 23 Dec 2023 00:41:01 -0000 Content-Type: multipart/mixed; boundary="===============4486033589343338986==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_jdk21?= To: ml@inbox.vuxu.org From: classabbyamp Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Sat, 23 Dec 2023 01:41:01 +0100 List-Id: Message-ID: <20231223004101.FBlUp4XbKxrcqCqyrLNBKyFjG2nceQaWQ97fh7_9jWs@z> GitHub notification mails are now in MIME to allow UTF8. --===============4486033589343338986== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgY2xhc3NhYmJ5YW1wIGFnYWluc3Qg bWFzdGVyIG9uIHRoZSB2b2lkLXBhY2thZ2VzIHJlcG9zaXRvcnkKCmh0dHBzOi8vZ2l0aHViLmNv bS9jbGFzc2FiYnlhbXAvdm9pZC1wYWNrYWdlcyBqZGsyMQpodHRwczovL2dpdGh1Yi5jb20vdm9p ZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvNDc4ODIKCmpkazIxCiMjIyMgVGVzdGluZyB0aGUg Y2hhbmdlcw0KLSBJIHRlc3RlZCB0aGUgY2hhbmdlcyBpbiB0aGlzIFBSOiAqKllFUyoqDQoNCnRl c3QgcGxlYXNlOiBodHRwczovL2ZpbGVzLnBsYWNldmlvbGV0dGUubmV0L2pkazIxLw0KDQpbY2kg c2tpcF0NCg0KCgpBIHBhdGNoIGZpbGUgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51 eC92b2lkLXBhY2thZ2VzL3B1bGwvNDc4ODIucGF0Y2ggaXMgYXR0YWNoZWQ= --===============4486033589343338986== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-jdk21-47882.patch" RnJvbSAxYjZkNzAyY2EyYzljNmI0MzRlYjNkNDY4OGYwZDY2ODExNTY3ZDM5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBjbGFzc2FiYnlhbXAgPHZvaWRAcGxhY2V2aW9sZXR0ZS5uZXQ+ CkRhdGU6IFRodSwgMjEgRGVjIDIwMjMgMTc6MzY6NDcgLTA1MDAKU3ViamVjdDogW1BBVENIIDAx LzEyXSB4YnBzLXRyaWdnZXJzOiB1cGRhdGUgdG8gMC4xMjcuCgpnZXQgcmlkIG9mIHRoZSBvcGVu amRrIHByb2ZpbGUgaG9vay4gaXQgc2hvdWxkIG5vdCBoYXZlIGJlZW4gZG9uZSBsaWtlIHRoaXMu Ci0tLQogTWFudWFsLm1kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA4IC0t LS0tCiBzcmNwa2dzL3hicHMtdHJpZ2dlcnMvZmlsZXMvb3Blbmpkay1wcm9maWxlIHwgMzkgLS0t LS0tLS0tLS0tLS0tLS0tLS0tCiBzcmNwa2dzL3hicHMtdHJpZ2dlcnMvdGVtcGxhdGUgICAgICAg ICAgICAgIHwgIDIgKy0KIDMgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDQ4IGRlbGV0 aW9ucygtKQogZGVsZXRlIG1vZGUgMTAwNzU1IHNyY3BrZ3MveGJwcy10cmlnZ2Vycy9maWxlcy9v cGVuamRrLXByb2ZpbGUKCmRpZmYgLS1naXQgYS9NYW51YWwubWQgYi9NYW51YWwubWQKaW5kZXgg NjY3YWI2MzRmOTcxMy4uZTZhOTg1NTFlZWUzMCAxMDA2NDQKLS0tIGEvTWFudWFsLm1kCisrKyBi L01hbnVhbC5tZApAQCAtNjIsNyArNjIsNiBAQCBwYWNrYWdlcyBmb3IgWEJQUywgdGhlIGBWb2lk IExpbnV4YCBuYXRpdmUgcGFja2FnaW5nIHN5c3RlbS4KIAkJKiBba2VybmVsLWhvb2tzXSgjdHJp Z2dlcnNfa2VybmVsX2hvb2tzKQogCQkqIFttaW1lZGJdKCN0cmlnZ2Vyc19taW1lZGIpCiAJCSog W21rZGlyc10oI3RyaWdnZXJzX21rZGlycykKLQkJKiBbb3Blbmpkay1wcm9maWxlXSgjdHJpZ2dl cnNfb3Blbmpka19wcm9maWxlKQogCQkqIFtwYW5nby1tb2R1bGVzXSgjdHJpZ2dlcnNfcGFuZ29f bW9kdWxlKQogCQkqIFtweWNvbXBpbGVdKCN0cmlnZ2Vyc19weWNvbXBpbGUpCiAJCSogW3JlZ2lz dGVyLXNoZWxsXSgjdHJpZ2dlcnNfcmVnaXN0ZXJfc2hlbGwpCkBAIC0yMDE2LDEzICsyMDE1LDYg QEAgRHVyaW5nIHJlbW92YWwgaXQgd2lsbCBkZWxldGUgdGhlIGRpcmVjdG9yeSB1c2luZyBgcm1k aXJgLgogVG8gaW5jbHVkZSB0aGlzIHRyaWdnZXIgdXNlIHRoZSBgbWFrZV9kaXJzYCB2YXJpYWJs ZSwgYXMgdGhlIHRyaWdnZXIgd29uJ3QgZG8gYW55dGhpbmcKIHVubGVzcyBpdCBpcyBkZWZpbmVk LgogCi08YSBpZD0idHJpZ2dlcnNfb3Blbmpka19wcm9maWxlIj48L2E+Ci0jIyMjIG9wZW5qZGst cHJvZmlsZQotCi1UaGUgb3Blbmpkay1wcm9maWxlIHRyaWdnZXIgaXMgcmVzcG9uc2libGUgZm9y IGNyZWF0aW5nIGFuIGVudHJ5IGluIC9ldGMvcHJvZmlsZS5kIHRoYXQKLXNldHMgdGhlIGBKQVZB X0hPTUVgIGVudmlyb25tZW50IHZhcmlhYmxlIHRvIHRoZSBjdXJyZW50bHktc2VsZWN0ZWQgYWx0 ZXJuYXRpdmUgZm9yCi1gL3Vzci9iaW4vamF2YWAgb24gaW5zdGFsbGF0aW9uLiBUaGlzIHRyaWdn ZXIgbXVzdCBiZSBtYW51YWxseSByZXF1ZXN0ZWQuCi0KIDxhIGlkPSJ0cmlnZ2Vyc19wYW5nb19t b2R1bGUiPjwvYT4KICMjIyMgcGFuZ28tbW9kdWxlcwogCmRpZmYgLS1naXQgYS9zcmNwa2dzL3hi cHMtdHJpZ2dlcnMvZmlsZXMvb3Blbmpkay1wcm9maWxlIGIvc3JjcGtncy94YnBzLXRyaWdnZXJz L2ZpbGVzL29wZW5qZGstcHJvZmlsZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDA3 ZDljZDllZWRmNC4uMDAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3hicHMtdHJpZ2dlcnMvZmls ZXMvb3Blbmpkay1wcm9maWxlCisrKyAvZGV2L251bGwKQEAgLTEsMzkgKzAsMCBAQAotIyEvYmlu L3NoCi0jCi0jIEFkZHMgYW4gZW50cnkgdG8gL2V0Yy9wcm9maWxlLmQgZm9yIHNldHRpbmcgJEpB VkFfSE9NRS4KLSMKLSMgQXJndW1lbnRzOgkkQUNUSU9OID0gW3J1bi90YXJnZXRzXQotIwkJJFRB UkdFVCA9IFtwb3N0LWluc3RhbGwvcHJlLXJlbW92ZV0KLSMJCSRQS0dOQU1FCi0jCQkkVkVSU0lP TgotIwkJJFVQREFURSA9IFt5ZXMvbm9dCi0jCi1BQ1RJT049IiQxIgotVEFSR0VUPSIkMiIKLVBL R05BTUU9IiQzIgotVkVSU0lPTj0iJDQiCi1VUERBVEU9IiQ1IgotCi1qZGtwcm9maWxlPWV0Yy9w cm9maWxlLmQvb3Blbmpkay5zaAotCi1jYXNlICIkQUNUSU9OIiBpbgotdGFyZ2V0cykKLQllY2hv ICJwb3N0LWluc3RhbGwiCi0JOzsKLXJ1bikKLQlbIC1mICIkamRrcHJvZmlsZSIgXSAmJiBleGl0 IDAKLQotCWNhdCA+ICIkamRrcHJvZmlsZSIgPDwnRU9GJwotaWYgX2phdmFfYmluPSQocmVhZGxp bmsgLWUgL3Vzci9iaW4vamF2YSk7IHRoZW4KLQlfamF2YV9iaW49IiR7X2phdmFfYmluJS9iaW4v amF2YX0iCi0JWyAtZCAiJHtfamF2YV9iaW59IiBdICYmIGV4cG9ydCBKQVZBX0hPTUU9IiR7SkFW QV9IT01FOj0ke19qYXZhX2Jpbn19IgotZmkKLXVuc2V0IF9qYXZhX2JpbgotRU9GCi0JOzsKLSop Ci0JZXhpdCAxCi0JOzsKLWVzYWMKLQotZXhpdCAwCmRpZmYgLS1naXQgYS9zcmNwa2dzL3hicHMt dHJpZ2dlcnMvdGVtcGxhdGUgYi9zcmNwa2dzL3hicHMtdHJpZ2dlcnMvdGVtcGxhdGUKaW5kZXgg NzZjM2E2YjI3ZmFkNC4uNjY5MzY0MTFhNDI1OCAxMDA2NDQKLS0tIGEvc3JjcGtncy94YnBzLXRy aWdnZXJzL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MveGJwcy10cmlnZ2Vycy90ZW1wbGF0ZQpAQCAt MSw2ICsxLDYgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3hicHMtdHJpZ2dlcnMnCiBwa2duYW1l PXhicHMtdHJpZ2dlcnMKLXZlcnNpb249MC4xMjYKK3ZlcnNpb249MC4xMjcKIHJldmlzaW9uPTEK IGJvb3RzdHJhcD15ZXMKIHNob3J0X2Rlc2M9IlhCUFMgdHJpZ2dlcnMgZm9yIFZvaWQgTGludXgi CgpGcm9tIGRhYjMwMTMxYWNhY2Y2MzM3YWRiMjg4Mzk1OTUyYThjMTMxZGZhNGEgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IGNsYXNzYWJieWFtcCA8dm9pZEBwbGFjZXZpb2xldHRlLm5l dD4KRGF0ZTogVGh1LCAyMSBEZWMgMjAyMyAxNzozMjo1MiAtMDUwMApTdWJqZWN0OiBbUEFUQ0gg MDIvMTJdIE5ldyBwYWNrYWdlOiBvcGVuamRrLWNvbW1vbi0xCgpSZXBsYWNlcyB0aGUgeGJwcyB0 cmlnZ2VyIHRoYXQgYWRkZWQgdGhlIHByb2ZpbGUgc2NyaXB0IGZvciBvcGVuamRrLAp3aGljaCB3 YXMgcmVhbGx5IGEgbWlzdGFrZS4KCkluc3RlYWQgb2YgdXNpbmcgYWx0ZXJuYXRpdmUgZ3JvdXBz IGZvciBzcGVjaWZpYyBKUkUvSkRLIGJpbmFyaWVzLCB1c2UKdHdvIHN5bWxpbmtzOiAvdXNyL2xp Yi9qdm0vZGVmYXVsdC1qZGsgYW5kIC91c3IvbGliL2p2bS9kZWZhdWx0LWpyZSwKd2hpY2ggcG9p bnQgdG8gL3Vzci9saWIvanZtLyR7dmVyc2lvbn0uIFByZWZlciBkZWZhdWx0LWpkayB0byBkZWZh dWx0LWpyZSwKYW5kIGp1c3QgYWRkIHRoZW0gdG8gUEFUSCBhbmQgTUFOUEFUSCBpbnN0ZWFkIG9m IHB1dHRpbmcgdGhpbmdzIGluIC91c3IvYmluLgotLS0KIHNyY3BrZ3Mvb3Blbmpkay1jb21tb24v SU5TVEFMTCAgICAgICAgICB8ICA5ICsrKysrKysrKwogc3JjcGtncy9vcGVuamRrLWNvbW1vbi9J TlNUQUxMLm1zZyAgICAgIHwgIDIgKysKIHNyY3BrZ3Mvb3Blbmpkay1jb21tb24vZmlsZXMvcHJv ZmlsZS5zaCB8IDEyICsrKysrKysrKysrKwogc3JjcGtncy9vcGVuamRrLWNvbW1vbi90ZW1wbGF0 ZSAgICAgICAgIHwgMTIgKysrKysrKysrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDM1IGluc2VydGlv bnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL29wZW5qZGstY29tbW9uL0lOU1RBTEwK IGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL29wZW5qZGstY29tbW9uL0lOU1RBTEwubXNnCiBj cmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9vcGVuamRrLWNvbW1vbi9maWxlcy9wcm9maWxlLnNo CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9vcGVuamRrLWNvbW1vbi90ZW1wbGF0ZQoKZGlm ZiAtLWdpdCBhL3NyY3BrZ3Mvb3Blbmpkay1jb21tb24vSU5TVEFMTCBiL3NyY3BrZ3Mvb3Blbmpk ay1jb21tb24vSU5TVEFMTApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw Li5lMGUxNTVjYzIwOGFiCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9vcGVuamRrLWNvbW1v bi9JTlNUQUxMCkBAIC0wLDAgKzEsOSBAQAorIyEvYmluL3NoCitjYXNlICIkQUNUSU9OIiBpbgor cHJlKQorCSMgcmVtb3ZlIHRoZSBvcGVuamRrLnNoIGZyb20geGJwcy10cmlnZ2VycworCWlmIFsg LWUgIi4vZXRjL3Byb2ZpbGUuZC9vcGVuamRrLnNoIiBdOyB0aGVuCisJCXJtICIuL2V0Yy9wcm9m aWxlLmQvb3Blbmpkay5zaCIKKwlmaQorCTs7Citlc2FjCmRpZmYgLS1naXQgYS9zcmNwa2dzL29w ZW5qZGstY29tbW9uL0lOU1RBTEwubXNnIGIvc3JjcGtncy9vcGVuamRrLWNvbW1vbi9JTlNUQUxM Lm1zZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwLi43ZTc1YjVhYmU0 NTdiCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9vcGVuamRrLWNvbW1vbi9JTlNUQUxMLm1z ZwpAQCAtMCwwICsxLDIgQEAKK1RoZSB3YXkgdGhlIGRlZmF1bHQgT3BlbkpESyB2ZXJzaW9uIGlz IHNlbGVjdGVkIGhhcyBjaGFuZ2VkLgorWW91IG1heSBuZWVkIHRvIHJlLWxvZ2luIGZvciB0aGlz IGNoYW5nZSB0byB0YWtlIGVmZmVjdC4KZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvb3Blbmpkay1jb21t b24vZmlsZXMvcHJvZmlsZS5zaCBiL3NyY3BrZ3Mvb3Blbmpkay1jb21tb24vZmlsZXMvcHJvZmls ZS5zaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwLi5lOWM5YTYwNDJl ZWE3Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9vcGVuamRrLWNvbW1vbi9maWxlcy9wcm9m aWxlLnNoCkBAIC0wLDAgKzEsMTIgQEAKKyMgb25seSBtb2RpZnkgdGhlIGVudmlyb25tZW50IGlm IGFuIG9wZW5qZGsqLWpyZSBwYWNrYWdlIGlzIGluc3RhbGxlZAoraWYgWyAtZSAiL3Vzci9saWIv anZtL2RlZmF1bHQtanJlIiBdOyB0aGVuCisJIyBpZiBhbiBvcGVuamRrKiBwYWNrYWdlIGlzIGlu c3RhbGxlZCwgcHJlZmVyIGl0IHRvIHRoZSBzZWxlY3RlZCBqcmUKKwlpZiBbIC1lICIvdXNyL2xp Yi9qdm0vZGVmYXVsdC1qZGsiIF07IHRoZW4KKwkJZXhwb3J0IEpBVkFfSE9NRT0iL3Vzci9saWIv anZtL2RlZmF1bHQtamRrIgorCWVsc2UKKwkJZXhwb3J0IEpBVkFfSE9NRT0iL3Vzci9saWIvanZt L2RlZmF1bHQtanJlIgorCWZpCisJIyBhcHBlbmQgdGhlIHNlbGVjdCBqZGsgYW5kIGpyZSBiaW4g YW5kIG1hbiBkaXJzIHRvIHRoZSByZWxldmFudCBQQVRIcworCWV4cG9ydCBQQVRIPSIkUEFUSDov dXNyL2xpYi9qdm0vZGVmYXVsdC1qZGsvYmluOi91c3IvbGliL2p2bS9kZWZhdWx0LWpyZS9iaW4i CisJZXhwb3J0IE1BTlBBVEg9IiRNQU5QQVRIOi91c3IvbGliL2p2bS9kZWZhdWx0LWpkay9tYW46 L3Vzci9saWIvanZtL2RlZmF1bHQtanJlL21hbiIKK2ZpCmRpZmYgLS1naXQgYS9zcmNwa2dzL29w ZW5qZGstY29tbW9uL3RlbXBsYXRlIGIvc3JjcGtncy9vcGVuamRrLWNvbW1vbi90ZW1wbGF0ZQpu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwLi5lMGQzZDUzZDU1MDA0Ci0t LSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9vcGVuamRrLWNvbW1vbi90ZW1wbGF0ZQpAQCAtMCww ICsxLDEyIEBACisjIFRlbXBsYXRlIGZpbGUgZm9yICdvcGVuamRrLWNvbW1vbicKK3BrZ25hbWU9 b3Blbmpkay1jb21tb24KK3ZlcnNpb249MQorcmV2aXNpb249MQorc2hvcnRfZGVzYz0iQ29tbW9u IGZpbGVzIGZvciBPcGVuSkRLIHBhY2thZ2VzIgorbWFpbnRhaW5lcj0iY2xhc3NhYmJ5YW1wIDx2 b2lkQHBsYWNldmlvbGV0dGUubmV0PiIKK2xpY2Vuc2U9IlB1YmxpYyBEb21haW4iCitob21lcGFn ZT0iaHR0cHM6Ly93d3cudm9pZGxpbnV4Lm9yZyIKKworZG9faW5zdGFsbCgpIHsKKwl2aW5zdGFs bCAiJHtGSUxFU0RJUn0iL3Byb2ZpbGUuc2ggNjQ0IC9ldGMvcHJvZmlsZS5kIGpkay5zaAorfQoK RnJvbSBiMjI2ODUwYWMzYzNlMzEzNGJjZTk2NWI5ZGQ2MjVkZTNiMWQ3NWE4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBjbGFzc2FiYnlhbXAgPHZvaWRAcGxhY2V2aW9sZXR0ZS5uZXQ+ CkRhdGU6IFRodSwgMjEgRGVjIDIwMjMgMTc6Mzc6MzQgLTA1MDAKU3ViamVjdDogW1BBVENIIDAz LzEyXSBvcGVuamRrODogdXBkYXRlIHRvIDh1MzMyYjA1LgoKLSB2YXJpb3VzIHRlbXBsYXRlIGNs ZWFudXBzCi0gcmVuYW1lIC91c3IvbGliL2p2bS9qYXZhLTEuOC1vcGVuamRrIHRvIC91c3IvbGli L2p2bS9vcGVuamRrOAogIGZvciBjb25zaXN0ZW5jeQotIGZpeCBtYW5wYWdlcwotIGZpeCBhbHRl cm5hdGl2ZXMKLS0tCiBzcmNwa2dzL29wZW5qZGs4L3RlbXBsYXRlIHwgMTY3ICsrKysrKysrKysr Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNTAgaW5zZXJ0aW9u cygrKSwgMTE3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvb3BlbmpkazgvdGVt cGxhdGUgYi9zcmNwa2dzL29wZW5qZGs4L3RlbXBsYXRlCmluZGV4IDgyNjZkYWZmOGQ4YTIuLjk2 NmY1YzM3MDNmMDEgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mvb3BlbmpkazgvdGVtcGxhdGUKKysrIGIv c3JjcGtncy9vcGVuamRrOC90ZW1wbGF0ZQpAQCAtMSwxOSArMSwxMyBAQAogIyBUZW1wbGF0ZSBm aWxlIGZvciAnb3BlbmpkazgnCi0jIFRPRE86IGJldHRlciBwbGFjZXMgZm9yIGJpbiBhbmQgbWFu PwotIyBUT0RPOiBtYWtlIC1oZWFkbGVzcyB2ZXJzaW9ucwotIyBUT0RPOiBjb25maWcgZmlsZXM/ CiBwa2duYW1lPW9wZW5qZGs4Ci12ZXJzaW9uPTh1MzIyYjA0Ci1yZXZpc2lvbj01Cit2ZXJzaW9u PTh1MzMyYjA1CityZXZpc2lvbj0xCiBfamRrX3VwZGF0ZT0iJHt2ZXJzaW9uIyp1fSIKIF9qZGtf dXBkYXRlPSIke19qZGtfdXBkYXRlJWIqfSIKIF9qZGtfYnVpbGQ9IiR7dmVyc2lvbiMqYn0iCi1f amRrX2hvbWU9InVzci9saWIvanZtL2phdmEtMS44LW9wZW5qZGsiCi0jIHdlJ3JlIHVzaW5nIGFh cmNoNjQgcG9ydCByZXBvIHRvIGdldCBhYXJjaDY0IEpJVDsgdGhlIHJlcG8gaXMKLSMgb3RoZXJ3 aXNlIHRoZSBzYW1lIGFzIHRoZSBub3JtYWwgb25lLCBqdXN0IHdpdGggYWFyY2g2NCBwb3J0IGFk ZGVkCi1fcmVwb192ZXI9ImFhcmNoNjQtc2hlbmFuZG9haC1qZGske3ZlcnNpb24vYi8tYn0iCitf amRrX2hvbWU9InVzci9saWIvanZtL29wZW5qZGs4IgorX2NvbW1pdD0iYmRjMjIwM2E0NGRmMTU5 ZDk0ZWNkMGUwNGEyMzBlNjVjYjg0Mjk3ZSIKIGFyY2hzPSJ4ODZfNjQqIGk2ODYqIGFhcmNoNjQq IGFybSogcHBjNjQqIgotY3JlYXRlX3dya3NyYz15ZXMKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1 cmUKIGNvbmZpZ3VyZV9hcmdzPSIKICAtLXByZWZpeD0ke1hCUFNfREVTVERJUn0vJHtYQlBTX0NS T1NTX1RSSVBMRVR9LyR7cGtnbmFtZX0tJHt2ZXJzaW9ufS91c3IvbGliCkBAIC0yOCwxMyArMjIs MTQgQEAgY29uZmlndXJlX2FyZ3M9IgogIC0td2l0aC1mcmVldHlwZS1saWI9JHtYQlBTX0NST1NT X0JBU0V9L3Vzci9saWIKICAtLXdpdGgtZnJlZXR5cGUtaW5jbHVkZT0ke1hCUFNfQ1JPU1NfQkFT RX0vdXNyL2luY2x1ZGUvZnJlZXR5cGUyCiAgLS13aXRoLWp0cmVnPW5vCi0gLS13aXRoLWpvYnM9 JHtYQlBTX01BS0VKT0JTfQotIC0td2l0aC12ZW5kb3ItbmFtZT0iVm9pZCIKLSAtLXdpdGgtdmVu ZG9yLXVybD0iaHR0cHM6Ly92b2lkbGludXgub3JnLyIKLSAtLXdpdGgtdmVuZG9yLWJ1Zy11cmw9 Imh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvaXNzdWVzIgotIC0t d2l0aC12ZW5kb3Itdm0tYnVnLXVybD0iaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9p ZC1wYWNrYWdlcy9pc3N1ZXMiCisgLS13aXRoLWpvYnM9JHtYQlBTX09SSUdfTUFLRUpPQlN9Cisg LS13aXRoLXZlbmRvci1uYW1lPVZvaWQKKyAtLXdpdGgtdmVuZG9yLXVybD1odHRwczovL3ZvaWRs aW51eC5vcmcvCisgLS13aXRoLXZlbmRvci1idWctdXJsPWh0dHBzOi8vZ2l0aHViLmNvbS92b2lk LWxpbnV4L3ZvaWQtcGFja2FnZXMvaXNzdWVzCisgLS13aXRoLXZlbmRvci12bS1idWctdXJsPWh0 dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvaXNzdWVzCiAgLS1kaXNh YmxlLW9wdGlvbi1jaGVja2luZyIKLW1ha2VfYnVpbGRfYXJncz0iaW1hZ2VzICQodm9wdF9pZiBk b2NzIGRvY3MpIENPTVBJTEVSX1dBUk5JTkdTX0ZBVEFMPWZhbHNlIgorbWFrZV9idWlsZF9hcmdz PSJpbWFnZXMgJCh2b3B0X2lmIGRvY3MgZG9jcykgQ09NUElMRVJfV0FSTklOR1NfRkFUQUw9ZmFs c2UgR0lUPXRydWUiCittYWtlX2luc3RhbGxfYXJncz0iR0lUPXRydWUiCiBob3N0bWFrZWRlcGVu ZHM9InBrZy1jb25maWcgYXV0b21ha2UgYXV0b2NvbmYgY3BpbyB0YXIgdW56aXAgemlwIGNhLWNl cnRpZmljYXRlcwogIHpsaWItZGV2ZWwgbWFrZS1jYSB3aGljaCIKIG1ha2VkZXBlbmRzPSJsaWJY cmVuZGVyLWRldmVsIGxpYlh0c3QtZGV2ZWwgbGliWHQtZGV2ZWwgbGliWHJhbmRyLWRldmVsCkBA IC00NSwyOCArNDAsMTkgQEAgc2hvcnRfZGVzYz0iT3BlbkpESyBKYXZhIERldmVsb3BtZW50IEtp dCAodmVyc2lvbiA4KSIKIG1haW50YWluZXI9IlRveWFtIENveCA8VmFlbGF0ZXJuQHZvaWRsaW51 eC5vcmc+IgogbGljZW5zZT0iR1BMLTIuMC1vbmx5IFdJVEggQ2xhc3NwYXRoLWV4Y2VwdGlvbi0y LjAiCiBob21lcGFnZT0iaHR0cDovL29wZW5qZGsuamF2YS5uZXQvIgotZGlzdGZpbGVzPSIKLSBo dHRwOi8vaGcub3Blbmpkay5qYXZhLm5ldC9hYXJjaDY0LXBvcnQvamRrOHUtc2hlbmFuZG9haC9h cmNoaXZlLyR7X3JlcG9fdmVyfS50YXIuZ3o+amRrOHUtJHtfcmVwb192ZXJ9LnRhci5negotIGh0 dHA6Ly9oZy5vcGVuamRrLmphdmEubmV0L2FhcmNoNjQtcG9ydC9qZGs4dS1zaGVuYW5kb2FoL2Nv cmJhL2FyY2hpdmUvJHtfcmVwb192ZXJ9LnRhci5nej5jb3JiYS0ke19yZXBvX3Zlcn0udGFyLmd6 Ci0gaHR0cDovL2hnLm9wZW5qZGsuamF2YS5uZXQvYWFyY2g2NC1wb3J0L2pkazh1LXNoZW5hbmRv YWgvaG90c3BvdC9hcmNoaXZlLyR7X3JlcG9fdmVyfS50YXIuZ3o+aG90c3BvdC0ke19yZXBvX3Zl cn0udGFyLmd6Ci0gaHR0cDovL2hnLm9wZW5qZGsuamF2YS5uZXQvYWFyY2g2NC1wb3J0L2pkazh1 LXNoZW5hbmRvYWgvamRrL2FyY2hpdmUvJHtfcmVwb192ZXJ9LnRhci5nej5qZGstJHtfcmVwb192 ZXJ9LnRhci5negotIGh0dHA6Ly9oZy5vcGVuamRrLmphdmEubmV0L2FhcmNoNjQtcG9ydC9qZGs4 dS1zaGVuYW5kb2FoL2pheHdzL2FyY2hpdmUvJHtfcmVwb192ZXJ9LnRhci5nej5qYXh3cy0ke19y ZXBvX3Zlcn0udGFyLmd6Ci0gaHR0cDovL2hnLm9wZW5qZGsuamF2YS5uZXQvYWFyY2g2NC1wb3J0 L2pkazh1LXNoZW5hbmRvYWgvamF4cC9hcmNoaXZlLyR7X3JlcG9fdmVyfS50YXIuZ3o+amF4cC0k e19yZXBvX3Zlcn0udGFyLmd6Ci0gaHR0cDovL2hnLm9wZW5qZGsuamF2YS5uZXQvYWFyY2g2NC1w b3J0L2pkazh1LXNoZW5hbmRvYWgvbGFuZ3Rvb2xzL2FyY2hpdmUvJHtfcmVwb192ZXJ9LnRhci5n ej5sYW5ndG9vbHMtJHtfcmVwb192ZXJ9LnRhci5negotIGh0dHA6Ly9oZy5vcGVuamRrLmphdmEu bmV0L2FhcmNoNjQtcG9ydC9qZGs4dS1zaGVuYW5kb2FoL25hc2hvcm4vYXJjaGl2ZS8ke19yZXBv X3Zlcn0udGFyLmd6Pm5hc2hvcm4tJHtfcmVwb192ZXJ9LnRhci5neiIKKyMgd2UncmUgdXNpbmcg YWFyY2g2NCBwb3J0IHJlcG8gdG8gZ2V0IGFhcmNoNjQgSklUOyB0aGUgcmVwbyBpcworIyBvdGhl cndpc2UgdGhlIHNhbWUgYXMgdGhlIG5vcm1hbCBvbmUsIGp1c3Qgd2l0aCBhYXJjaDY0IHBvcnQg YWRkZWQKK2Rpc3RmaWxlcz0iaHR0cHM6Ly9naXRodWIuY29tL29wZW5qZGsvc2hlbmFuZG9haC1q ZGs4dS9hcmNoaXZlLyR7X2NvbW1pdH0udGFyLmd6IgorY2hlY2tzdW09NGMzOWJlODQ1NGExYjhi MTBhOWZmODQ1YTRlN2U2Mzk4MDg3OTlkM2QyZWRkYjE0ODRkZjgwODM1ZDVlODhlNAogCi1jaGVj a3N1bT0iOGVmMjNmMWZiNDQ5YzUwYzdjNzFmNThmOWVjOWU1YWM2ZGQxNTJmNGM4MzA0MDhmNWMw MmI3NzY1MmQ2MzRjYwotIDI2ODBkOTY4ODIxZmRkNDM2M2M2OGIxYTgzNWE5YmJkNzZkNmE5NGZk YzBhYjZlMWIxYWFhZGM1Y2NkMWVkOGEKLSA1NTYxYzg0ZTFkNTExMWZmZjAxNDJiYTRkMzk3YjI5 ZDZkYzllMzcwMjk1NTU2N2JkNWI0OTg2ZThjZjRmMmVmCi0gN2ViMTM5NDgwNjFkOGVjOTgzMjNm ZGFjNDI0OTU1NzUzZjMzOWMxNDVhZjA0YTNmODYxMDA0MzdkZmY2MDI1NwotIGZlMjFhMTM3YjZm YjE4ODFkYjFjNWMwMWYzNzIxMjZmNmIxNjVjNmQzYjk4NDIxZTY4NjIyNTVmNDU2Y2JmZDYKLSAy MmExYjg2ODIwZWY1ODVjNDViY2UzNmQ4MjI4NzIzNTRiYzBkZDE4M2M1NTE2Zjg5ZGEyOGUwNjY2 ZDM5MDFiCi0gMzRjMzA2ZWFkYjQzNmNkOWYyMmYzMDZmNGYxZDRlYTRmMTY3OTIzZThhZmZhMmQy Nzk3ZDZjM2RlNmRhNDZlYQotIDE3NzMwZTVjYzJhODRjNDY4MGY2OTIwMDhmMzgwNWNlNGU0ZWRl YjIwMDhlMmU2YTRmYjg2YjlkZGUwNmZlMjMiCitkaXNhYmxlX3BhcmFsbGVsX2J1aWxkPXllcwog CiBidWlsZF9vcHRpb25zPSJkb2NzIgogZGVzY19vcHRpb25fZG9jcz0iQnVpbGQgZG9jdW1lbnRh dGlvbiIKIAorYWx0ZXJuYXRpdmVzPSJqZGs6L3Vzci9saWIvanZtL2RlZmF1bHQtamRrOi8ke19q ZGtfaG9tZX0iCitwcm92aWRlcz0iamF2YS1lbnZpcm9ubWVudC0ke3ZlcnNpb259XzEiCisKICMg bm8gaG90c3BvdCBKSVQgZm9yIGFybTMyIGFuZCBwcGMzMgogY2FzZSAiJFhCUFNfVEFSR0VUX01B Q0hJTkUiIGluCiAJcHBjNjQqKSA7OwpAQCAtODEsOCArNjcsNiBAQCBlbHNlCiAJYnVpbGRfb3B0 aW9uc19kZWZhdWx0Kz0iIGRvY3MiCiBmaQogCi1wcm92aWRlcz0iamF2YS1lbnZpcm9ubWVudC0k e3ZlcnNpb259XzEiCi0KIGlmIFsgISAiJENST1NTX0JVSUxEIiBdOyB0aGVuCiAJaG9zdG1ha2Vk ZXBlbmRzKz0iIG9wZW5qZGs3LWJvb3RzdHJhcCIKIAljb25maWd1cmVfYXJncys9IiAtLXdpdGgt Ym9vdC1qZGs9L3Vzci9saWIvanZtL2phdmEtMS43LW9wZW5qZGsiCkBAIC05NCw1NyArNzgsMTEg QEAgZmkKICMgZW5hYmxpbmcgY2NhY2hlIHNlZ2ZhdWx0cyBnY2MKIGV4cG9ydCBDQ0FDSEVfRElT QUJMRT0xCiAKLWFsdGVybmF0aXZlcz0iCi0gamRrOi91c3IvYmluL2FwcGxldHZpZXdlcjovJHtf amRrX2hvbWV9L2Jpbi9hcHBsZXR2aWV3ZXIKLSBqZGs6L3Vzci9iaW4vZXh0Y2hlY2s6LyR7X2pk a19ob21lfS9iaW4vZXh0Y2hlY2sKLSBqZGs6L3Vzci9iaW4vaWRsajovJHtfamRrX2hvbWV9L2Jp bi9pZGxqCi0gamRrOi91c3IvYmluL2phcjovJHtfamRrX2hvbWV9L2Jpbi9qYXIKLSBqZGs6L3Vz ci9iaW4vamFyc2lnbmVyOi8ke19qZGtfaG9tZX0vYmluL2phcnNpZ25lcgotIGpkazovdXNyL2Jp bi9qYXZhOi8ke19qZGtfaG9tZX0vYmluL2phdmEKLSBqZGs6L3Vzci9iaW4vamF2YS1ybWkuY2dp Oi8ke19qZGtfaG9tZX0vYmluL2phdmEtcm1pLmNnaQotIGpkazovdXNyL2Jpbi9qYXZhYzovJHtf amRrX2hvbWV9L2Jpbi9qYXZhYwotIGpkazovdXNyL2Jpbi9qYXZhZG9jOi8ke19qZGtfaG9tZX0v YmluL2phdmFkb2MKLSBqZGs6L3Vzci9iaW4vamF2YWg6LyR7X2pka19ob21lfS9iaW4vamF2YWgK LSBqZGs6L3Vzci9iaW4vamF2YXA6LyR7X2pka19ob21lfS9iaW4vamF2YXAKLSBqZGs6L3Vzci9i aW4vamNtZDovJHtfamRrX2hvbWV9L2Jpbi9qY21kCi0gamRrOi91c3IvYmluL2pjb25zb2xlOi8k e19qZGtfaG9tZX0vYmluL2pjb25zb2xlCi0gamRrOi91c3IvYmluL2pkYjovJHtfamRrX2hvbWV9 L2Jpbi9qZGIKLSBqZGs6L3Vzci9iaW4vamRlcHM6LyR7X2pka19ob21lfS9iaW4vamRlcHMKLSBq ZGs6L3Vzci9iaW4vamhhdDovJHtfamRrX2hvbWV9L2Jpbi9qaGF0Ci0gamRrOi91c3IvYmluL2pp bmZvOi8ke19qZGtfaG9tZX0vYmluL2ppbmZvCi0gamRrOi91c3IvYmluL2pqczovJHtfamRrX2hv bWV9L2Jpbi9qanMKLSBqZGs6L3Vzci9iaW4vam1hcDovJHtfamRrX2hvbWV9L2Jpbi9qbWFwCi0g amRrOi91c3IvYmluL2pwczovJHtfamRrX2hvbWV9L2Jpbi9qcHMKLSBqZGs6L3Vzci9iaW4vanJ1 bnNjcmlwdDovJHtfamRrX2hvbWV9L2Jpbi9qcnVuc2NyaXB0Ci0gamRrOi91c3IvYmluL2pzYWRl YnVnZDovJHtfamRrX2hvbWV9L2Jpbi9qc2FkZWJ1Z2QKLSBqZGs6L3Vzci9iaW4vanN0YWNrOi8k e19qZGtfaG9tZX0vYmluL2pzdGFjawotIGpkazovdXNyL2Jpbi9qc3RhdDovJHtfamRrX2hvbWV9 L2Jpbi9qc3RhdAotIGpkazovdXNyL2Jpbi9qc3RhdGQ6LyR7X2pka19ob21lfS9iaW4vanN0YXRk Ci0gamRrOi91c3IvYmluL2tleXRvb2w6LyR7X2pka19ob21lfS9iaW4va2V5dG9vbAotIGpkazov dXNyL2Jpbi9uYXRpdmUyYXNjaWk6LyR7X2pka19ob21lfS9iaW4vbmF0aXZlMmFzY2lpCi0gamRr Oi91c3IvYmluL29yYmQ6LyR7X2pka19ob21lfS9iaW4vb3JiZAotIGpkazovdXNyL2Jpbi9wYWNr MjAwOi8ke19qZGtfaG9tZX0vYmluL3BhY2syMDAKLSBqZGs6L3Vzci9iaW4vcG9saWN5dG9vbDov JHtfamRrX2hvbWV9L2Jpbi9wb2xpY3l0b29sCi0gamRrOi91c3IvYmluL3JtaWM6LyR7X2pka19o b21lfS9iaW4vcm1pYwotIGpkazovdXNyL2Jpbi9ybWlkOi8ke19qZGtfaG9tZX0vYmluL3JtaWQK LSBqZGs6L3Vzci9iaW4vcm1pcmVnaXN0cnk6LyR7X2pka19ob21lfS9iaW4vcm1pcmVnaXN0cnkK LSBqZGs6L3Vzci9iaW4vc2NoZW1hZ2VuOi8ke19qZGtfaG9tZX0vYmluL3NjaGVtYWdlbgotIGpk azovdXNyL2Jpbi9zZXJpYWx2ZXI6LyR7X2pka19ob21lfS9iaW4vc2VyaWFsdmVyCi0gamRrOi91 c3IvYmluL3NlcnZlcnRvb2w6LyR7X2pka19ob21lfS9iaW4vc2VydmVydG9vbAotIGpkazovdXNy L2Jpbi90bmFtZXNlcnY6LyR7X2pka19ob21lfS9iaW4vdG5hbWVzZXJ2Ci0gamRrOi91c3IvYmlu L3VucGFjazIwMDovJHtfamRrX2hvbWV9L2Jpbi91bnBhY2syMDAKLSBqZGs6L3Vzci9iaW4vd3Nn ZW46LyR7X2pka19ob21lfS9iaW4vd3NnZW4KLSBqZGs6L3Vzci9iaW4vd3NpbXBvcnQ6LyR7X2pk a19ob21lfS9iaW4vd3NpbXBvcnQKLSBqZGs6L3Vzci9iaW4veGpjOi8ke19qZGtfaG9tZX0vYmlu L3hqYwotIgotCiBwb3N0X2V4dHJhY3QoKSB7Ci0JbXYgamRrOHUqLyogLgogCWNobW9kICt4IGNv bmZpZ3VyZQotCWZvciBzdWJyZXBvIGluIGNvcmJhIGhvdHNwb3QgamRrIGpheHdzIGpheHAgbGFu Z3Rvb2xzIG5hc2hvcm47IGRvCi0JCW12ICR7c3VicmVwb30tJHtfcmVwb192ZXJ9ICR7c3VicmVw b30KLQlkb25lCit9CiAKK3Bvc3RfcGF0Y2goKSB7CiAJIyBnY2MgY29tcGxhaW5zIGFib3V0IHRo ZSBzaWduZWQgc2hpZnQgbGVmdAogCXZzZWQgLWkgamRrL3NyYy9zaGFyZS9uYXRpdmUvY29tL3N1 bi9qYXZhL3V0aWwvamFyL3BhY2svY29uc3RhbnRzLmggXAogCQktZSdzOygtMSk8PDEzO34wdTw8 MTM7ZycKQEAgLTE1MiwyMCArOTAsMjIgQEAgcG9zdF9leHRyYWN0KCkgewogCSMgd3JvbmcgInJl dHVybiBmYWxzZTsiIGluc3RlYWQgb2YgInJldHVybiBudWxsOyIKIAl2c2VkIC1pIGpkay9zcmMv c2hhcmUvbmF0aXZlL2NvbS9zdW4vamF2YS91dGlsL2phci9wYWNrL2puaS5jcHAgXAogCQktZSIy OTVzO2ZhbHNlO251bGw7IgotfQogCi1wb3N0X3BhdGNoKCkgewotCVsgIiRYQlBTX1RBUkdFVF9M SUJDIiAhPSAibXVzbCIgXSAmJiByZXR1cm4gMAorCSMgcHJldGVuZCB3ZSdyZSBhIGdpdCBjaGVj a291dAorCWVjaG8gIiR7X2NvbW1pdH0iID4gLmdpdHRpcAorCW1rZGlyIC5naXQKIAotCWZvciBm IGluICR7RklMRVNESVJ9L211c2xfKi5wYXRjaDsgZG8KLQkJZWNobyAiQXBwbHlpbmcgJGYiCi0J CXBhdGNoIC1zTnAxIC1pICIkZiIKLQlkb25lCisJaWYgWyAiJFhCUFNfVEFSR0VUX0xJQkMiID0g Im11c2wiIF07IHRoZW4KKwkJZm9yIGYgaW4gIiR7RklMRVNESVJ9Ii9tdXNsXyoucGF0Y2g7IGRv CisJCQllY2hvICJBcHBseWluZyAkZiIKKwkJCXBhdGNoIC1zTnAxIC1pICIkZiIKKwkJZG9uZQog Ci0JIyBhZGQgY3Jvc3MgcHJlZml4IGZvciB0aHJlYWRfZGIuaCBjaGVjaywgZml4IGNyb3NzIGZy b20gZ2xpYmMgdG8gbXVzbAotCXNlZCAtaSAicywvdXNyL2luY2x1ZGUvdGhyZWFkX2RiLmgsJHtY QlBTX0NST1NTX0JBU0V9L3Vzci9pbmNsdWRlL3RocmVhZF9kYi5oLCIgXAotCSBob3RzcG90L21h a2UvbGludXgvbWFrZWZpbGVzL2RlZnMubWFrZSBob3RzcG90L21ha2UvbGludXgvbWFrZWZpbGVz L3NhLm1ha2UgXAotCSBob3RzcG90L21ha2UvbGludXgvbWFrZWZpbGVzL3NhcHJvYy5tYWtlCisJ CSMgYWRkIGNyb3NzIHByZWZpeCBmb3IgdGhyZWFkX2RiLmggY2hlY2ssIGZpeCBjcm9zcyBmcm9t IGdsaWJjIHRvIG11c2wKKwkJc2VkIC1pICJzLC91c3IvaW5jbHVkZS90aHJlYWRfZGIuaCwke1hC UFNfQ1JPU1NfQkFTRX0vdXNyL2luY2x1ZGUvdGhyZWFkX2RiLmgsIiBcCisJCSBob3RzcG90L21h a2UvbGludXgvbWFrZWZpbGVzL2RlZnMubWFrZSBob3RzcG90L21ha2UvbGludXgvbWFrZWZpbGVz L3NhLm1ha2UgXAorCQkgaG90c3BvdC9tYWtlL2xpbnV4L21ha2VmaWxlcy9zYXByb2MubWFrZQor CWZpCiB9CiAKIGRvX2NvbmZpZ3VyZSgpIHsKQEAgLTIwMCwxMSArMTQwLDYgQEAgcHJlX2J1aWxk KCkgewogCXVuc2V0IENGTEFHUyBDWFhGTEFHUyBMREZMQUdTCiB9CiAKLWRvX2J1aWxkKCkgewot CSMgZG8gbm90IHNldCBkaXNhYmxlX3BhcmFsbGVsX2J1aWxkIGluIG9yZGVyIHRvIGJlIGFibGUg dG8gcmVhZCBtYWtlam9icwotCW1ha2UgLWoxICR7bWFrZV9idWlsZF9hcmdzfSAke21ha2VfYnVp bGRfdGFyZ2V0fQotfQotCiBwb3N0X2luc3RhbGwoKSB7CiAJIyB3ZSBtYW5hZ2UgdGhpcyBvdXJz ZWx2ZXMKIAlybSAtcmYgJHtERVNURElSfS91c3IvbGliL2JpbgpAQCAtMjEzLDYgKzE0OCwxMSBA QCBwb3N0X2luc3RhbGwoKSB7CiAJbXYgJHtERVNURElSfS91c3IvbGliL2p2bS9vcGVuamRrLTEu OC4wXyR7X2pka191cGRhdGV9IFwKIAkgICAke0RFU1RESVJ9LyR7X2pka19ob21lfQogCisJIyBk b24ndCBkdXBsaWNhdGUgYmluYXJpZXMgYWxyZWFkeSBpbiBqcmUvYmluCisJZm9yIGJpbiBpbiAi JHtERVNURElSfS8ke19qZGtfaG9tZX0vanJlL2JpbiIvKjsgZG8KKwkJbG4gLXNyZiAiJHtiaW59 IiAiJHtiaW4vanJlL30iCisJZG9uZQorCiAJdm1rZGlyICR7X2pka19ob21lfS9saWIvc2VjdXJp dHkKIAltYWtlLWNhIC1nIC1mIC0tZGVzdGRpciAiJHtQV0R9L2NhIiAtayAiJHtERVNURElSfS8k e19qZGtfaG9tZX0vYmluL2tleXRvb2wiCiAJbXYgLi9jYS9ldGMvcGtpL3Rscy9qYXZhL2NhY2Vy dHMgJHtERVNURElSfS8ke19qZGtfaG9tZX0vbGliL3NlY3VyaXR5LwpAQCAtMjI4LDIzICsxNjgs MTUgQEAgb3BlbmpkazgtanJlX3BhY2thZ2UoKSB7CiAJc2hsaWJfcHJvdmlkZXM9ImxpYmF3dC5z byBsaWJhd3RfeGF3dC5zbyBsaWJqYXZhLnNvIGxpYmpsaS5zbyBsaWJqdm0uc28gbGliamF3dC5z byIKIAlzaG9ydF9kZXNjKz0iIC0gcnVudGltZSBjb21wb25lbnRzIgogCXByb3ZpZGVzPSJqYXZh LXJ1bnRpbWUtJHt2ZXJzaW9ufV8xIgotCWRlcGVuZHM9InhicHMtdHJpZ2dlcnM+PTAuMTIyXzEi Ci0JdHJpZ2dlcnM9Im9wZW5qZGstcHJvZmlsZSIKLQlhbHRlcm5hdGl2ZXM9IgotCSBqYXZhOi91 c3IvYmluL2phdmE6LyR7X2pka19ob21lfS9qcmUvYmluL2phdmEKLQkgamF2YTovdXNyL2Jpbi9q anM6LyR7X2pka19ob21lfS9qcmUvYmluL2pqcwotCSBqYXZhOi91c3IvYmluL2tleXRvb2w6LyR7 X2pka19ob21lfS9qcmUvYmluL2tleXRvb2wKLQkgamF2YTovdXNyL2Jpbi9vcmJkOi8ke19qZGtf aG9tZX0vanJlL2Jpbi9vcmJkCi0JIGphdmE6L3Vzci9iaW4vcGFjazIwMDovJHtfamRrX2hvbWV9 L2pyZS9iaW4vcGFjazIwMAotCSBqYXZhOi91c3IvYmluL3BvbGljeXRvb2w6LyR7X2pka19ob21l fS9qcmUvYmluL3BvbGljeXRvb2wKLQkgamF2YTovdXNyL2Jpbi9ybWlkOi8ke19qZGtfaG9tZX0v anJlL2Jpbi9ybWlkCi0JIGphdmE6L3Vzci9iaW4vcm1pcmVnaXN0cnk6LyR7X2pka19ob21lfS9q cmUvYmluL3JtaXJlZ2lzdHJ5Ci0JIGphdmE6L3Vzci9iaW4vc2VydmVydG9vbDovJHtfamRrX2hv bWV9L2pyZS9iaW4vc2VydmVydG9vbAotCSBqYXZhOi91c3IvYmluL3RuYW1lc2VydjovJHtfamRr X2hvbWV9L2pyZS9iaW4vdG5hbWVzZXJ2Ci0JIGphdmE6L3Vzci9iaW4vdW5wYWNrMjAwOi8ke19q ZGtfaG9tZX0vanJlL2Jpbi91bnBhY2syMDAKLQkiCisJZGVwZW5kcz0ib3Blbmpkay1jb21tb24i CisJYWx0ZXJuYXRpdmVzPSJqYXZhOi91c3IvbGliL2p2bS9kZWZhdWx0LWpyZTovJHtfamRrX2hv bWV9L2pyZSIKIAlwa2dfaW5zdGFsbCgpIHsKLQkJdm1vdmUgJHtfamRrX2hvbWV9L2pyZQorCQl2 bW92ZSAiJHtfamRrX2hvbWV9Ii9qcmUKKwkJZm9yIGJpbiBpbiAiJHtQS0dERVNURElSfS8ke19q ZGtfaG9tZX0vanJlL2JpbiIvKjsgZG8KKwkJCWJpbj0iJChiYXNlbmFtZSAiJGJpbiIpIgorCQkJ dm1vdmUgIiR7X2pka19ob21lfS9tYW4vbWFuMS8ke2Jpbn0uMSIKKwkJCXZtb3ZlICIke19qZGtf aG9tZX0vbWFuL2phX0pQLlVURi04L21hbjEvJHtiaW59LjEiCisJCWRvbmUKIAl9CiB9CiAKQEAg LTI2MywxMiArMTk1LDEzIEBAIG9wZW5qZGs4LWRvY19wYWNrYWdlKCkgewogCW5vdmVyaWZ5cmRl cHM9eWVzCiAJbm9zaGxpYnByb3ZpZGVzPXllcwogCXNob3J0X2Rlc2MrPSIgLSBkb2N1bWVudGF0 aW9uIgorCWlmIFsgLXogIiRidWlsZF9vcHRpb25fZG9jcyIgXTsgdGhlbgorCQlidWlsZF9zdHls ZT1tZXRhCisJZmkKIAlwa2dfaW5zdGFsbCgpIHsKLQkJY2QgJHt3cmtzcmN9CiAJCWlmIFsgIiRi dWlsZF9vcHRpb25fZG9jcyIgXTsgdGhlbgogCQkJdm1rZGlyIHVzci9zaGFyZS9kb2Mvb3Blbmpk azgKIAkJCWNwIC1hIGJ1aWxkL2xpbnV4LSovZG9jcy8qICR7UEtHREVTVERJUn0vdXNyL3NoYXJl L2RvYy9vcGVuamRrOAogCQlmaQotCQl2bW92ZSAke19qZGtfaG9tZX0vbWFuL21hbjEKIAl9CiB9 CgpGcm9tIGZhZGY1MTc3MTdkNzcwMzdmZWQ3YTFkODI0NTA5OGE4YjIxOWVjMmMgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IGNsYXNzYWJieWFtcCA8dm9pZEBwbGFjZXZpb2xldHRlLm5l dD4KRGF0ZTogVGh1LCAyMSBEZWMgMjAyMyAxNzo0MTo1OCAtMDUwMApTdWJqZWN0OiBbUEFUQ0gg MDQvMTJdIG9wZW5qZGs5LWJvb3RzdHJhcDogZml4IGpkazggcGF0aAoKLS0tCiBzcmNwa2dzL29w ZW5qZGs5LWJvb3RzdHJhcC90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2Vy dGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvb3BlbmpkazktYm9v dHN0cmFwL3RlbXBsYXRlIGIvc3JjcGtncy9vcGVuamRrOS1ib290c3RyYXAvdGVtcGxhdGUKaW5k ZXggYzUwY2M0YWRjN2UxOC4uMjAyN2QwMjc4MTE1NSAxMDA2NDQKLS0tIGEvc3JjcGtncy9vcGVu amRrOS1ib290c3RyYXAvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9vcGVuamRrOS1ib290c3RyYXAv dGVtcGxhdGUKQEAgLTIxLDcgKzIxLDcgQEAgY29uZmlndXJlX2FyZ3M9IgogIC0td2l0aC1kZWJ1 Zy1sZXZlbD1yZWxlYXNlCiAgLS13aXRoLXZlcnNpb24tcHJlPQogIC0td2l0aC12ZXJzaW9uLWJ1 aWxkPSR7dmVyc2lvbiMqcH0KLSAtLXdpdGgtYm9vdC1qZGs9L3Vzci9saWIvanZtL2phdmEtMS44 LW9wZW5qZGsiCisgLS13aXRoLWJvb3QtamRrPS91c3IvbGliL2p2bS9vcGVuamRrOCIKIG1ha2Vf YnVpbGRfYXJncz0iaW1hZ2VzIgogaG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmlnIGF1dG9tYWtl IGF1dG9jb25mIGNwaW8gdGFyIHVuemlwIHppcCBjYS1jZXJ0aWZpY2F0ZXMKICB6bGliLWRldmVs IHdoaWNoIG9wZW5qZGs4IG1ha2UiCgpGcm9tIDdjYWE1ZmFhMmFkNjk4YzE5OTU1YzhhMTIwNmU1 NzQ3MjllZDIzNmYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IGNsYXNzYWJieWFtcCA8 dm9pZEBwbGFjZXZpb2xldHRlLm5ldD4KRGF0ZTogVGh1LCAyMSBEZWMgMjAyMyAxNzo0MDo0OSAt MDUwMApTdWJqZWN0OiBbUEFUQ0ggMDUvMTJdIG9wZW5qZGsxMS1iaW46IHJlbW92ZSBwYWNrYWdl Cgp0aGlzIHBhY2thZ2UgaGFzIGJlZW4gdXNlbGVzcyBzaW5jZSAxMDZhMjc1ZWNkODFlMTMyY2I4 MGNjMjFjMGVjOTZhMzM2ZDE2NjE0Cm1ha2UgaXQgYSB0cmFuc2l0aW9uYWwgcGFja2FnZSBvbiBv cGVuamRrMTEKLS0tCiBzcmNwa2dzL29wZW5qZGsxMS1iaW4gICAgICAgICAgfCAgMSArCiBzcmNw a2dzL29wZW5qZGsxMS1iaW4vdGVtcGxhdGUgfCA3MCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCiBzcmNwa2dzL29wZW5qZGsxMS90ZW1wbGF0ZSAgICAgfCAgOSArKysrLQogMyBm aWxlcyBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyksIDcxIGRlbGV0aW9ucygtKQogY3JlYXRlIG1v ZGUgMTIwMDAwIHNyY3BrZ3Mvb3BlbmpkazExLWJpbgogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3Mvb3BlbmpkazExLWJpbi90ZW1wbGF0ZQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvb3BlbmpkazEx LWJpbiBiL3NyY3BrZ3Mvb3BlbmpkazExLWJpbgpuZXcgZmlsZSBtb2RlIDEyMDAwMAppbmRleCAw MDAwMDAwMDAwMDAwLi44MjEzNDk0YzQ5ZWQ1Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9v cGVuamRrMTEtYmluCkBAIC0wLDAgKzEgQEAKK29wZW5qZGsxMQpcIE5vIG5ld2xpbmUgYXQgZW5k IG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvb3BlbmpkazExLWJpbi90ZW1wbGF0ZSBiL3Ny Y3BrZ3Mvb3BlbmpkazExLWJpbi90ZW1wbGF0ZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggNmRmYmJiNDlmZDQ1YS4uMDAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL29wZW5qZGsxMS1i aW4vdGVtcGxhdGUKKysrIC9kZXYvbnVsbApAQCAtMSw3MCArMCwwIEBACi0jIFRlbXBsYXRlIGZp bGUgZm9yICdvcGVuamRrMTEtYmluJwotcGtnbmFtZT1vcGVuamRrMTEtYmluCi12ZXJzaW9uPTEx KzI4Ci1yZXZpc2lvbj0yCi1hcmNocz0ieDg2XzY0Igotc2hvcnRfZGVzYz0iT2ZmaWNpYWwgUmVm ZXJlbmNlIEltcGxlbWVudGF0aW9uIGZvciBKYXZhIFNFIDExIgotbWFpbnRhaW5lcj0iS3lsZSBO dXNiYXVtIDxrbnVzYmF1bSt2b2lkQHNkZi5vcmc+IgotbGljZW5zZT0iR1BMLTIuMC1vbmx5IFdJ VEggQ2xhc3NwYXRoLWV4Y2VwdGlvbi0yLjAiCi1ob21lcGFnZT0iaHR0cHM6Ly9qZGsuamF2YS5u ZXQvamF2YS1zZS1yaS8xMSIKLWRpc3RmaWxlcz0iaHR0cHM6Ly9kb3dubG9hZC5qYXZhLm5ldC9v cGVuamRrL2pkazExL3JpL29wZW5qZGstJHt2ZXJzaW9ufV9saW51eC14NjRfYmluLnRhci5neiIK LWNoZWNrc3VtPTM3ODRjZmM0NjcwZjBkNGM1NDgyNjA0YzdjNTEzYmViMWE5MmIwMDVmNTY5ZGY5 YmYxMDBlOGJlZjY2MTBmMmUKLW5vcGllPXRydWUKLQotYWx0ZXJuYXRpdmVzPSIKLSBqYXZhOi91 c3IvYmluL2phdmE6L3Vzci9saWIvanZtL29wZW5qZGsxMS1iaW4vYmluL2phdmEKLSBqYXZhOi91 c3IvYmluL2phdmF3czovdXNyL2xpYi9qdm0vb3BlbmpkazExLWJpbi9iaW4vamF2YXdzCi0gamF2 YTovdXNyL2Jpbi9qY29udHJvbDovdXNyL2xpYi9qdm0vb3BlbmpkazExLWJpbi9iaW4vamNvbnRy b2wKLSBqYXZhOi91c3IvYmluL2pqczovdXNyL2xpYi9qdm0vb3BlbmpkazExLWJpbi9iaW4vampz Ci0gamF2YTovdXNyL2Jpbi9rZXl0b29sOi91c3IvbGliL2p2bS9vcGVuamRrMTEtYmluL2Jpbi9r ZXl0b29sCi0gamF2YTovdXNyL2Jpbi9vcmJkOi91c3IvbGliL2p2bS9vcGVuamRrMTEtYmluL2Jp bi9vcmJkCi0gamF2YTovdXNyL2Jpbi9wYWNrMjAwOi91c3IvbGliL2p2bS9vcGVuamRrMTEtYmlu L2Jpbi9wYWNrMjAwCi0gamF2YTovdXNyL2Jpbi9wb2xpY3l0b29sOi91c3IvbGliL2p2bS9vcGVu amRrMTEtYmluL2Jpbi9wb2xpY3l0b29sCi0gamF2YTovdXNyL2Jpbi9ybWlkOi91c3IvbGliL2p2 bS9vcGVuamRrMTEtYmluL2Jpbi9ybWlkCi0gamF2YTovdXNyL2Jpbi9ybWlyZWdpc3RyeTovdXNy L2xpYi9qdm0vb3BlbmpkazExLWJpbi9iaW4vcm1pcmVnaXN0cnkKLSBqYXZhOi91c3IvYmluL3Nl cnZlcnRvb2w6L3Vzci9saWIvanZtL29wZW5qZGsxMS1iaW4vYmluL3NlcnZlcnRvb2wKLSBqYXZh Oi91c3IvYmluL3RuYW1lc2VydjovdXNyL2xpYi9qdm0vb3BlbmpkazExLWJpbi9iaW4vdG5hbWVz ZXJ2Ci0gamF2YTovdXNyL2Jpbi91bnBhY2syMDA6L3Vzci9saWIvanZtL29wZW5qZGsxMS1iaW4v YmluL3VucGFjazIwMAotCi0gamRrOi91c3IvYmluL0NvbnRyb2xQYW5lbDovdXNyL2xpYi9qdm0v b3BlbmpkazExLWJpbi9iaW4vQ29udHJvbFBhbmVsCi0gamRrOi91c3IvYmluL2FwcGxldHZpZXdl cjovdXNyL2xpYi9qdm0vb3BlbmpkazExLWJpbi9iaW4vYXBwbGV0dmlld2VyCi0gamRrOi91c3Iv YmluL2V4dGNoZWNrOi91c3IvbGliL2p2bS9vcGVuamRrMTEtYmluL2Jpbi9leHRjaGVjawotIGpk azovdXNyL2Jpbi9pZGxqOi91c3IvbGliL2p2bS9vcGVuamRrMTEtYmluL2Jpbi9pZGxqCi0gamRr Oi91c3IvYmluL2phcjovdXNyL2xpYi9qdm0vb3BlbmpkazExLWJpbi9iaW4vamFyCi0gamRrOi91 c3IvYmluL2phcnNpZ25lcjovdXNyL2xpYi9qdm0vb3BlbmpkazExLWJpbi9iaW4vamFyc2lnbmVy Ci0gamRrOi91c3IvYmluL2phdmEtcm1pLmNnaTovdXNyL2xpYi9qdm0vb3BlbmpkazExLWJpbi9i aW4vamF2YS1ybWkuY2dpCi0gamRrOi91c3IvYmluL2phdmFjOi91c3IvbGliL2p2bS9vcGVuamRr MTEtYmluL2Jpbi9qYXZhYwotIGpkazovdXNyL2Jpbi9qYXZhZG9jOi91c3IvbGliL2p2bS9vcGVu amRrMTEtYmluL2Jpbi9qYXZhZG9jCi0gamRrOi91c3IvYmluL2phdmFmeHBhY2thZ2VyOi91c3Iv bGliL2p2bS9vcGVuamRrMTEtYmluL2Jpbi9qYXZhZnhwYWNrYWdlcgotIGpkazovdXNyL2Jpbi9q YXZhaDovdXNyL2xpYi9qdm0vb3BlbmpkazExLWJpbi9iaW4vamF2YWgKLSBqZGs6L3Vzci9iaW4v amF2YXA6L3Vzci9saWIvanZtL29wZW5qZGsxMS1iaW4vYmluL2phdmFwCi0gamRrOi91c3IvYmlu L2phdmFwYWNrYWdlcjovdXNyL2xpYi9qdm0vb3BlbmpkazExLWJpbi9iaW4vamF2YXBhY2thZ2Vy Ci0gamRrOi91c3IvYmluL2pjbWQ6L3Vzci9saWIvanZtL29wZW5qZGsxMS1iaW4vYmluL2pjbWQK LSBqZGs6L3Vzci9iaW4vamNvbnNvbGU6L3Vzci9saWIvanZtL29wZW5qZGsxMS1iaW4vYmluL2pj b25zb2xlCi0gamRrOi91c3IvYmluL2pkYjovdXNyL2xpYi9qdm0vb3BlbmpkazExLWJpbi9iaW4v amRiCi0gamRrOi91c3IvYmluL2pkZXBzOi91c3IvbGliL2p2bS9vcGVuamRrMTEtYmluL2Jpbi9q ZGVwcwotIGpkazovdXNyL2Jpbi9qaGF0Oi91c3IvbGliL2p2bS9vcGVuamRrMTEtYmluL2Jpbi9q aGF0Ci0gamRrOi91c3IvYmluL2ppbmZvOi91c3IvbGliL2p2bS9vcGVuamRrMTEtYmluL2Jpbi9q aW5mbwotIGpkazovdXNyL2Jpbi9qbWFwOi91c3IvbGliL2p2bS9vcGVuamRrMTEtYmluL2Jpbi9q bWFwCi0gamRrOi91c3IvYmluL2ptYzovdXNyL2xpYi9qdm0vb3BlbmpkazExLWJpbi9iaW4vam1j Ci0gamRrOi91c3IvYmluL2ptYy5pbmk6L3Vzci9saWIvanZtL29wZW5qZGsxMS1iaW4vYmluL2pt Yy5pbmkKLSBqZGs6L3Vzci9iaW4vanBzOi91c3IvbGliL2p2bS9vcGVuamRrMTEtYmluL2Jpbi9q cHMKLSBqZGs6L3Vzci9iaW4vanJ1bnNjcmlwdDovdXNyL2xpYi9qdm0vb3BlbmpkazExLWJpbi9i aW4vanJ1bnNjcmlwdAotIGpkazovdXNyL2Jpbi9qc2FkZWJ1Z2Q6L3Vzci9saWIvanZtL29wZW5q ZGsxMS1iaW4vYmluL2pzYWRlYnVnZAotIGpkazovdXNyL2Jpbi9qc3RhY2s6L3Vzci9saWIvanZt L29wZW5qZGsxMS1iaW4vYmluL2pzdGFjawotIGpkazovdXNyL2Jpbi9qc3RhdDovdXNyL2xpYi9q dm0vb3BlbmpkazExLWJpbi9iaW4vanN0YXQKLSBqZGs6L3Vzci9iaW4vanN0YXRkOi91c3IvbGli L2p2bS9vcGVuamRrMTEtYmluL2Jpbi9qc3RhdGQKLSBqZGs6L3Vzci9iaW4vanZpc3VhbHZtOi91 c3IvbGliL2p2bS9vcGVuamRrMTEtYmluL2Jpbi9qdmlzdWFsdm0KLSBqZGs6L3Vzci9iaW4vbmF0 aXZlMmFzY2lpOi91c3IvbGliL2p2bS9vcGVuamRrMTEtYmluL2Jpbi9uYXRpdmUyYXNjaWkKLSBq ZGs6L3Vzci9iaW4vcm1pYzovdXNyL2xpYi9qdm0vb3BlbmpkazExLWJpbi9iaW4vcm1pYwotIGpk azovdXNyL2Jpbi9zY2hlbWFnZW46L3Vzci9saWIvanZtL29wZW5qZGsxMS1iaW4vYmluL3NjaGVt YWdlbgotIGpkazovdXNyL2Jpbi9zZXJpYWx2ZXI6L3Vzci9saWIvanZtL29wZW5qZGsxMS1iaW4v YmluL3NlcmlhbHZlcgotIGpkazovdXNyL2Jpbi93c2dlbjovdXNyL2xpYi9qdm0vb3BlbmpkazEx LWJpbi9iaW4vd3NnZW4KLSBqZGs6L3Vzci9iaW4vd3NpbXBvcnQ6L3Vzci9saWIvanZtL29wZW5q ZGsxMS1iaW4vYmluL3dzaW1wb3J0Ci0gamRrOi91c3IvYmluL3hqYzovdXNyL2xpYi9qdm0vb3Bl bmpkazExLWJpbi9iaW4veGpjCi0iCi0KLWRvX2luc3RhbGwoKSB7Ci0Jdm1rZGlyIC91c3IvbGli L2p2bS9vcGVuamRrMTEtYmluCi0JY3AgLVIgLi8qICR7REVTVERJUn0vdXNyL2xpYi9qdm0vb3Bl bmpkazExLWJpbgotfQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9vcGVuamRrMTEvdGVtcGxhdGUgYi9z cmNwa2dzL29wZW5qZGsxMS90ZW1wbGF0ZQppbmRleCBiNWRkOTQyNDFhMGM4Li43ODNlN2MyOGQ3 MmI1IDEwMDY0NAotLS0gYS9zcmNwa2dzL29wZW5qZGsxMS90ZW1wbGF0ZQorKysgYi9zcmNwa2dz L29wZW5qZGsxMS90ZW1wbGF0ZQpAQCAtMTU2LDcgKzE1Niw3IEBAIGRvX2luc3RhbGwoKSB7CiAJ dmxpY2Vuc2UgTElDRU5TRQogfQogCi1zdWJwYWNrYWdlcz0ib3BlbmpkazExLXNyYyBvcGVuamRr MTEtanJlIG9wZW5qZGsxMS1kb2Mgb3BlbmpkazExLWptb2RzIG9wZW5qZGsxMS1zdGF0aWMtbGli cyIKK3N1YnBhY2thZ2VzPSJvcGVuamRrMTEtc3JjIG9wZW5qZGsxMS1qcmUgb3BlbmpkazExLWRv YyBvcGVuamRrMTEtam1vZHMgb3BlbmpkazExLXN0YXRpYy1saWJzIG9wZW5qZGsxMS1iaW4iCiAK IG9wZW5qZGsxMS1qcmVfcGFja2FnZSgpIHsKIAlzaGxpYl9wcm92aWRlcz0ibGliYXd0LnNvIGxp YmF3dF94YXd0LnNvIGxpYmphdmEuc28gbGliamxpLnNvIGxpYmp2bS5zbyBsaWJqYXd0LnNvIgpA QCAtMjI3LDMgKzIyNywxMCBAQCBvcGVuamRrMTEtam1vZHNfcGFja2FnZSgpIHsKIAkJdm1vdmUg JF9qZGtfaG9tZS9qbW9kcwogCX0KIH0KKworb3BlbmpkazExLWJpbl9wYWNrYWdlKCkgeworCXJl dmVydHM9IjExKzI4XzEgMTErMjhfMiIKKwlzaG9ydF9kZXNjKz0iICh0cmFuc2l0aW9uYWwgZHVt bXkgcGFja2FnZSkiCisJZGVwZW5kcz0iJHtzb3VyY2Vwa2d9Pj0ke3ZlcnNpb259XyR7cmV2aXNp b259IgorCWJ1aWxkX3N0eWxlPW1ldGEKK30KCkZyb20gZmRhNTUyNTM3YjkyZjU1NzAyZTNjZTU1 ZWZmZWQ4MTQ1MzMzM2JjOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogY2xhc3NhYmJ5 YW1wIDx2b2lkQHBsYWNldmlvbGV0dGUubmV0PgpEYXRlOiBUaHUsIDIxIERlYyAyMDIzIDE3OjQy OjQ2IC0wNTAwClN1YmplY3Q6IFtQQVRDSCAwNi8xMl0gb3BlbmpkazExOiB1cGRhdGUgdG8gMTEu MC4yMis2LgoKLSBmaXggbWFucGFnZXMKLSBmaXggYWx0ZXJuYXRpdmVzCi0tLQogc3JjcGtncy9v cGVuamRrMTEvdGVtcGxhdGUgfCA2MyArKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQogMSBmaWxlIGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKyksIDUxIGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvb3BlbmpkazExL3RlbXBsYXRlIGIvc3JjcGtncy9vcGVuamRr MTEvdGVtcGxhdGUKaW5kZXggNzgzZTdjMjhkNzJiNS4uNjRmNDM0MjQyMDRjYyAxMDA2NDQKLS0t IGEvc3JjcGtncy9vcGVuamRrMTEvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9vcGVuamRrMTEvdGVt cGxhdGUKQEAgLTEsNiArMSw2IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdvcGVuamRrMTEnCiBw a2duYW1lPW9wZW5qZGsxMQotdmVyc2lvbj0xMS4wLjIwKzgKK3ZlcnNpb249MTEuMC4yMis2CiBy ZXZpc2lvbj0xCiBfamF2YV92ZXI9IiR7dmVyc2lvbiUlLip9IgogX2pka19ob21lPSJ1c3IvbGli L2p2bS9vcGVuamRrJHtfamF2YV92ZXJ9IgpAQCAtMzgsNyArMzgsOCBAQCBtYWludGFpbmVyPSJL eWxlIE51c2JhdW0gPGtudXNiYXVtK3ZvaWRAc2RmLm9yZz4iCiBsaWNlbnNlPSJHUEwtMi4wLW9u bHkgV0lUSCBDbGFzc3BhdGgtZXhjZXB0aW9uLTIuMCIKIGhvbWVwYWdlPSJodHRwOi8vb3Blbmpk ay5qYXZhLm5ldC8iCiBkaXN0ZmlsZXM9Imh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuamRrL2pkayR7 X2phdmFfdmVyfXUvYXJjaGl2ZS9qZGstJHt2ZXJzaW9ufS50YXIuZ3oiCi1jaGVja3N1bT1iMmEz N2VmMjA5YWU3ZWFmOGYzNDE4MmI3YzlhYTMyNTJhZjIwYTIxNGQwMjk3MGY5NmNlNjIyNDJjODA1 NDc5CitjaGVja3N1bT04YmFlN2M1ZTYwOGRlODRhYTMyMDEwMzY1NTE0YmI1OWNkMGQ4YmE3MDlm NjczMGNjNDczZTE1OWM2YmZiOTE4CithbHRlcm5hdGl2ZXM9ImpkazovdXNyL2xpYi9qdm0vZGVm YXVsdC1qZGs6LyR7X2pka19ob21lfSIKIHByb3ZpZGVzPSJqYXZhLWVudmlyb25tZW50LSR7dmVy c2lvbn1fMSIKIAogIyBCdWlsZCBpcyBzdGlsbCBwYXJhbGxlbCwgYnV0IGRvbid0IHVzZSAtak4u CkBAIC03Myw0MSArNzQsNiBAQCBlbHNlCiAJY29uZmlndXJlX2FyZ3MrPSIgLS13aXRoLWJvb3Qt amRrPS8ke19qZGtfaG9tZX0iCiBmaQogCi1hbHRlcm5hdGl2ZXM9IgotIGpkazovdXNyL2Jpbi9q YW90YzovJHtfamRrX2hvbWV9L2Jpbi9qYW90YwotIGpkazovdXNyL2Jpbi9qYXI6LyR7X2pka19o b21lfS9iaW4vamFyCi0gamRrOi91c3IvYmluL2phcnNpZ25lcjovJHtfamRrX2hvbWV9L2Jpbi9q YXJzaWduZXIKLSBqZGs6L3Vzci9iaW4vamF2YTovJHtfamRrX2hvbWV9L2Jpbi9qYXZhCi0gamRr Oi91c3IvYmluL2phdmFjOi8ke19qZGtfaG9tZX0vYmluL2phdmFjCi0gamRrOi91c3IvYmluL2ph dmFkb2M6LyR7X2pka19ob21lfS9iaW4vamF2YWRvYwotIGpkazovdXNyL2Jpbi9qYXZhcDovJHtf amRrX2hvbWV9L2Jpbi9qYXZhcAotIGpkazovdXNyL2Jpbi9qY21kOi8ke19qZGtfaG9tZX0vYmlu L2pjbWQKLSBqZGs6L3Vzci9iaW4vamNvbnNvbGU6LyR7X2pka19ob21lfS9iaW4vamNvbnNvbGUK LSBqZGs6L3Vzci9iaW4vamRiOi8ke19qZGtfaG9tZX0vYmluL2pkYgotIGpkazovdXNyL2Jpbi9q ZGVwcnNjYW46LyR7X2pka19ob21lfS9iaW4vamRlcHJzY2FuCi0gamRrOi91c3IvYmluL2pkZXBz Oi8ke19qZGtfaG9tZX0vYmluL2pkZXBzCi0gamRrOi91c3IvYmluL2poc2RiOi8ke19qZGtfaG9t ZX0vYmluL2poc2RiCi0gamRrOi91c3IvYmluL2ppbWFnZTovJHtfamRrX2hvbWV9L2Jpbi9qaW1h Z2UKLSBqZGs6L3Vzci9iaW4vamluZm86LyR7X2pka19ob21lfS9iaW4vamluZm8KLSBqZGs6L3Vz ci9iaW4vampzOi8ke19qZGtfaG9tZX0vYmluL2pqcwotIGpkazovdXNyL2Jpbi9qbGluazovJHtf amRrX2hvbWV9L2Jpbi9qbGluawotIGpkazovdXNyL2Jpbi9qbWFwOi8ke19qZGtfaG9tZX0vYmlu L2ptYXAKLSBqZGs6L3Vzci9iaW4vam1vZDovJHtfamRrX2hvbWV9L2Jpbi9qbW9kCi0gamRrOi91 c3IvYmluL2pwczovJHtfamRrX2hvbWV9L2Jpbi9qcHMKLSBqZGs6L3Vzci9iaW4vanJ1bnNjcmlw dDovJHtfamRrX2hvbWV9L2Jpbi9qcnVuc2NyaXB0Ci0gamRrOi91c3IvYmluL2pzaGVsbDovJHtf amRrX2hvbWV9L2Jpbi9qc2hlbGwKLSBqZGs6L3Vzci9iaW4vanN0YWNrOi8ke19qZGtfaG9tZX0v YmluL2pzdGFjawotIGpkazovdXNyL2Jpbi9qc3RhdDovJHtfamRrX2hvbWV9L2Jpbi9qc3RhdAot IGpkazovdXNyL2Jpbi9qc3RhdGQ6LyR7X2pka19ob21lfS9iaW4vanN0YXRkCi0gamRrOi91c3Iv YmluL2tleXRvb2w6LyR7X2pka19ob21lfS9iaW4va2V5dG9vbAotIGpkazovdXNyL2Jpbi9wYWNr MjAwOi8ke19qZGtfaG9tZX0vYmluL3BhY2syMDAKLSBqZGs6L3Vzci9iaW4vcm1pYzovJHtfamRr X2hvbWV9L2Jpbi9ybWljCi0gamRrOi91c3IvYmluL3JtaWQ6LyR7X2pka19ob21lfS9iaW4vcm1p ZAotIGpkazovdXNyL2Jpbi9ybWlyZWdpc3RyeTovJHtfamRrX2hvbWV9L2Jpbi9ybWlyZWdpc3Ry eQotIGpkazovdXNyL2Jpbi9zZXJpYWx2ZXI6LyR7X2pka19ob21lfS9iaW4vc2VyaWFsdmVyCi0g amRrOi91c3IvYmluL3VucGFjazIwMDovJHtfamRrX2hvbWV9L2Jpbi91bnBhY2syMDAKLSIKLQog cG9zdF9leHRyYWN0KCkgewogCWNobW9kICt4IGNvbmZpZ3VyZQogCWlmIFsgIiRYQlBTX1RBUkdF VF9MSUJDIiA9ICJtdXNsIiBdOyB0aGVuCkBAIC0xNjIsMjAgKzEyOCwxMyBAQCBvcGVuamRrMTEt anJlX3BhY2thZ2UoKSB7CiAJc2hsaWJfcHJvdmlkZXM9ImxpYmF3dC5zbyBsaWJhd3RfeGF3dC5z byBsaWJqYXZhLnNvIGxpYmpsaS5zbyBsaWJqdm0uc28gbGliamF3dC5zbyIKIAlzaG9ydF9kZXNj Kz0iIC0gcnVudGltZSBjb21wb25lbnRzIgogCXByb3ZpZGVzPSJqYXZhLXJ1bnRpbWUtJHt2ZXJz aW9ufV8xIgotCWRlcGVuZHM9ImZvbnRjb25maWcgeGJwcy10cmlnZ2Vycz49MC4xMjJfMSIKLQl0 cmlnZ2Vycz0ib3Blbmpkay1wcm9maWxlIgotCWFsdGVybmF0aXZlcz0iCi0JIGphdmE6L3Vzci9i aW4vamF2YTovJHtfamRrX2hvbWV9L2Jpbi9qYXZhCi0JIGphdmE6L3Vzci9iaW4vampzOi8ke19q ZGtfaG9tZX0vYmluL2pqcwotCSBqYXZhOi91c3IvYmluL2tleXRvb2w6LyR7X2pka19ob21lfS9i aW4va2V5dG9vbAotCSBqYXZhOi91c3IvYmluL3BhY2syMDA6LyR7X2pka19ob21lfS9iaW4vcGFj azIwMAotCSBqYXZhOi91c3IvYmluL3JtaWQ6LyR7X2pka19ob21lfS9iaW4vcm1pZAotCSBqYXZh Oi91c3IvYmluL3JtaXJlZ2lzdHJ5Oi8ke19qZGtfaG9tZX0vYmluL3JtaXJlZ2lzdHJ5Ci0JIGph dmE6L3Vzci9iaW4vdW5wYWNrMjAwOi8ke19qZGtfaG9tZX0vYmluL3VucGFjazIwMAotCSIKKwlk ZXBlbmRzPSJmb250Y29uZmlnIG9wZW5qZGstY29tbW9uIgorCWFsdGVybmF0aXZlcz0iamF2YTov dXNyL2xpYi9qdm0vZGVmYXVsdC1qcmU6LyR7X2pka19ob21lfSIKIAlwa2dfaW5zdGFsbCgpIHsK LQkJZm9yIGJmIGluIGphdmEgampzIGtleXRvb2wgcGFjazIwMCBybWlkIHJtaXJlZ2lzdHJ5IHVu cGFjazIwMDsgZG8KLQkJCXZtb3ZlICRfamRrX2hvbWUvYmluLyRiZgorCQlmb3IgYmluIGluIGph dmEgampzIGtleXRvb2wgcGFjazIwMCBybWlkIHJtaXJlZ2lzdHJ5IHVucGFjazIwMDsgZG8KKwkJ CXZtb3ZlICIke19qZGtfaG9tZX0vYmluLyR7YmlufSIKKwkJCXZtb3ZlICIke19qZGtfaG9tZX0v bWFuL21hbjEvJHtiaW59LjEiCisJCQl2bW92ZSAiJHtfamRrX2hvbWV9L21hbi9qYV9KUC5VVEYt OC9tYW4xLyR7YmlufS4xIgogCQlkb25lCiAKIAkJZm9yIGYgaW4gbGliIGxlZ2FsIGNvbmYgcmVs ZWFzZTsgZG8KQEAgLTE5MiwxMyArMTUxLDE1IEBAIG9wZW5qZGsxMS1kb2NfcGFja2FnZSgpIHsK IAlub3ZlcmlmeXJkZXBzPXllcwogCW5vc2hsaWJwcm92aWRlcz15ZXMKIAlzaG9ydF9kZXNjKz0i IC0gZG9jdW1lbnRhdGlvbiIKKwlpZiBbIC16ICIkYnVpbGRfb3B0aW9uX2RvY3MiIF07IHRoZW4K KwkJYnVpbGRfc3R5bGU9bWV0YQorCWZpCiAJcGtnX2luc3RhbGwoKSB7CiAJCWNkICR7d3Jrc3Jj fQogCQlpZiBbICIkYnVpbGRfb3B0aW9uX2RvY3MiIF07IHRoZW4KIAkJCXZta2RpciB1c3Ivc2hh cmUvZG9jL29wZW5qZGsxMQogCQkJY3AgLWEgYnVpbGQvbGludXgtKi9pbWFnZXMvZG9jcy8qICRQ S0dERVNURElSL3Vzci9zaGFyZS9kb2Mvb3BlbmpkazExCiAJCWZpCi0JCXZtb3ZlICRfamRrX2hv bWUvbWFuL21hbjEKIAl9CiB9CiAKCkZyb20gZGNlYWM0NmY0ZDU2ODZlN2JlNDVkZGYyYjliM2Yw NDc2NTRiMTZhOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogY2xhc3NhYmJ5YW1wIDx2 b2lkQHBsYWNldmlvbGV0dGUubmV0PgpEYXRlOiBUaHUsIDIxIERlYyAyMDIzIDE3OjQ0OjA0IC0w NTAwClN1YmplY3Q6IFtQQVRDSCAwNy8xMl0gb3BlbmpkazE3OiB1cGRhdGUgdG8gMTcuMC4xMCs2 LgoKLSBmaXggbWFucGFnZXMKLSBmaXggYWx0ZXJuYXRpdmVzCi0tLQogc3JjcGtncy9vcGVuamRr MTcvdGVtcGxhdGUgfCA1NSArKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQog MSBmaWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDQ0IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL3NyY3BrZ3Mvb3BlbmpkazE3L3RlbXBsYXRlIGIvc3JjcGtncy9vcGVuamRrMTcvdGVt cGxhdGUKaW5kZXggYmI3MjcwMWYzNjBlNi4uMjJmYjE2ZmJmOWVjMSAxMDA2NDQKLS0tIGEvc3Jj cGtncy9vcGVuamRrMTcvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9vcGVuamRrMTcvdGVtcGxhdGUK QEAgLTEsNiArMSw2IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdvcGVuamRrMTcnCiBwa2duYW1l PW9wZW5qZGsxNwotdmVyc2lvbj0xNy4wLjEwKzIKK3ZlcnNpb249MTcuMC4xMCs2CiByZXZpc2lv bj0xCiBfZ3Rlc3RfdmVyPTEuOC4xCiBfamF2YV92ZXI9IiR7dmVyc2lvbiUlLip9IgpAQCAtNDUs OCArNDUsOSBAQCBsaWNlbnNlPSJHUEwtMi4wLW9ubHkgV0lUSCBDbGFzc3BhdGgtZXhjZXB0aW9u LTIuMCIKIGhvbWVwYWdlPSJodHRwOi8vb3Blbmpkay5qYXZhLm5ldC8iCiBkaXN0ZmlsZXM9Imh0 dHBzOi8vZ2l0aHViLmNvbS9vcGVuamRrL2pkayR7X2phdmFfdmVyfXUvYXJjaGl2ZS9qZGstJHt2 ZXJzaW9ufS50YXIuZ3oKICBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL2dvb2dsZXRlc3QvYXJj aGl2ZS9yZWZzL3RhZ3MvcmVsZWFzZS0ke19ndGVzdF92ZXJ9LnRhci5neiIKLWNoZWNrc3VtPSJk YmU2OGE2NGM0M2MzZTM3NmFiZDlkMDM3NThhNDg3ZWNmYjljN2JmMWZlNzFjZjZjMmNhMTEzZjkw OWJlMWNiCitjaGVja3N1bT0iM2Q1ZWYzYTE4YzRlZGZhNmUyYTE2Yzc0ZDllNzcxYjA5ZWVkNDMz MDA2YjEzODBkZjQ1MGFhODg3MjVjNzIzOAogIDliZjFmZTUxODJhNjA0YjQxMzVlZGMxYTQyNWFl MzU2YzlhZDE1ZTliMjNmOWYxMmEwMmU4MDE4NGMzYTI0OWMiCithbHRlcm5hdGl2ZXM9Impkazov dXNyL2xpYi9qdm0vZGVmYXVsdC1qZGs6LyR7X2pka19ob21lfSIKIHByb3ZpZGVzPSJqYXZhLWVu dmlyb25tZW50LSR7dmVyc2lvbn1fMSIKIHBhdGNoX2FyZ3M9Ii1OcDEgLS1kaXJlY3Rvcnk9JGJ1 aWxkX3dya3NyYyIKIApAQCAtODMsMzcgKzg0LDYgQEAgZWxzZQogCWNvbmZpZ3VyZV9hcmdzKz0i IC0td2l0aC1ib290LWpkaz0vdXNyL2xpYi9qdm0vb3BlbmpkazE3IgogZmkKIAotYWx0ZXJuYXRp dmVzPSIKLSBqZGs6L3Vzci9iaW4vamFyOi8ke19qZGtfaG9tZX0vYmluL2phcgotIGpkazovdXNy L2Jpbi9qYXJzaWduZXI6LyR7X2pka19ob21lfS9iaW4vamFyc2lnbmVyCi0gamRrOi91c3IvYmlu L2phdmE6LyR7X2pka19ob21lfS9iaW4vamF2YQotIGpkazovdXNyL2Jpbi9qYXZhYzovJHtfamRr X2hvbWV9L2Jpbi9qYXZhYwotIGpkazovdXNyL2Jpbi9qYXZhZG9jOi8ke19qZGtfaG9tZX0vYmlu L2phdmFkb2MKLSBqZGs6L3Vzci9iaW4vamF2YXA6LyR7X2pka19ob21lfS9iaW4vamF2YXAKLSBq ZGs6L3Vzci9iaW4vamNtZDovJHtfamRrX2hvbWV9L2Jpbi9qY21kCi0gamRrOi91c3IvYmluL2pj b25zb2xlOi8ke19qZGtfaG9tZX0vYmluL2pjb25zb2xlCi0gamRrOi91c3IvYmluL2pkYjovJHtf amRrX2hvbWV9L2Jpbi9qZGIKLSBqZGs6L3Vzci9iaW4vamRlcHJzY2FuOi8ke19qZGtfaG9tZX0v YmluL2pkZXByc2NhbgotIGpkazovdXNyL2Jpbi9qZGVwczovJHtfamRrX2hvbWV9L2Jpbi9qZGVw cwotIGpkazovdXNyL2Jpbi9qZnI6LyR7X2pka19ob21lfS9iaW4vamZyCi0gamRrOi91c3IvYmlu L2poc2RiOi8ke19qZGtfaG9tZX0vYmluL2poc2RiCi0gamRrOi91c3IvYmluL2ppbWFnZTovJHtf amRrX2hvbWV9L2Jpbi9qaW1hZ2UKLSBqZGs6L3Vzci9iaW4vamluZm86LyR7X2pka19ob21lfS9i aW4vamluZm8KLSBqZGs6L3Vzci9iaW4vamxpbms6LyR7X2pka19ob21lfS9iaW4vamxpbmsKLSBq ZGs6L3Vzci9iaW4vam1hcDovJHtfamRrX2hvbWV9L2Jpbi9qbWFwCi0gamRrOi91c3IvYmluL2pt b2Q6LyR7X2pka19ob21lfS9iaW4vam1vZAotIGpkazovdXNyL2Jpbi9qcGFja2FnZTovJHtfamRr X2hvbWV9L2Jpbi9qcGFja2FnZQotIGpkazovdXNyL2Jpbi9qcHM6LyR7X2pka19ob21lfS9iaW4v anBzCi0gamRrOi91c3IvYmluL2pydW5zY3JpcHQ6LyR7X2pka19ob21lfS9iaW4vanJ1bnNjcmlw dAotIGpkazovdXNyL2Jpbi9qc2hlbGw6LyR7X2pka19ob21lfS9iaW4vanNoZWxsCi0gamRrOi91 c3IvYmluL2pzdGFjazovJHtfamRrX2hvbWV9L2Jpbi9qc3RhY2sKLSBqZGs6L3Vzci9iaW4vanN0 YXQ6LyR7X2pka19ob21lfS9iaW4vanN0YXQKLSBqZGs6L3Vzci9iaW4vanN0YXRkOi8ke19qZGtf aG9tZX0vYmluL2pzdGF0ZAotIGpkazovdXNyL2Jpbi9rZXl0b29sOi8ke19qZGtfaG9tZX0vYmlu L2tleXRvb2wKLSBqZGs6L3Vzci9iaW4vcm1pcmVnaXN0cnk6LyR7X2pka19ob21lfS9iaW4vcm1p cmVnaXN0cnkKLSBqZGs6L3Vzci9iaW4vc2VyaWFsdmVyOi8ke19qZGtfaG9tZX0vYmluL3Nlcmlh bHZlcgotIgotCiBwb3N0X2V4dHJhY3QoKSB7CiAJY2htb2QgK3ggJGJ1aWxkX3dya3NyYy9jb25m aWd1cmUKIAlpZiBbICIkWEJQU19UQVJHRVRfTElCQyIgPSAibXVzbCIgXTsgdGhlbgpAQCAtMTcz LDE3ICsxNDMsMTIgQEAgb3BlbmpkazE3LWpyZV9wYWNrYWdlKCkgewogCXNobGliX3Byb3ZpZGVz PSJsaWJhd3Quc28gbGliYXd0X3hhd3Quc28gbGliamF2YS5zbyBsaWJqbGkuc28gbGlianZtLnNv IGxpYmphd3Quc28iCiAJc2hvcnRfZGVzYys9IiAtIHJ1bnRpbWUgY29tcG9uZW50cyIKIAlwcm92 aWRlcz0iamF2YS1ydW50aW1lLSR7dmVyc2lvbn1fMSIKLQlkZXBlbmRzPSJ4YnBzLXRyaWdnZXJz Pj0wLjEyMl8xIgotCXRyaWdnZXJzPSJvcGVuamRrLXByb2ZpbGUiCi0JYWx0ZXJuYXRpdmVzPSIK LQkgamF2YTovdXNyL2Jpbi9qYXZhOi8ke19qZGtfaG9tZX0vYmluL2phdmEKLQkgamF2YTovdXNy L2Jpbi9qZnI6LyR7X2pka19ob21lfS9iaW4vamZyCi0JIGphdmE6L3Vzci9iaW4va2V5dG9vbDov JHtfamRrX2hvbWV9L2Jpbi9rZXl0b29sCi0JIGphdmE6L3Vzci9iaW4vcm1pcmVnaXN0cnk6LyR7 X2pka19ob21lfS9iaW4vcm1pcmVnaXN0cnkKLQkiCisJZGVwZW5kcz0ib3Blbmpkay1jb21tb24i CisJYWx0ZXJuYXRpdmVzPSJqYXZhOi91c3IvbGliL2p2bS9kZWZhdWx0LWpyZTovJHtfamRrX2hv bWV9IgogCXBrZ19pbnN0YWxsKCkgewotCQlmb3IgYmYgaW4gamF2YSBqZnIga2V5dG9vbCBybWly ZWdpc3RyeTsgZG8KLQkJCXZtb3ZlICRfamRrX2hvbWUvYmluLyRiZgorCQlmb3IgYmluIGluIGph dmEgamZyIGtleXRvb2wgcm1pcmVnaXN0cnk7IGRvCisJCQl2bW92ZSAiJHtfamRrX2hvbWV9L2Jp bi8ke2Jpbn0iCisJCQl2bW92ZSAiJHtfamRrX2hvbWV9L21hbi9tYW4xLyR7YmlufS4xIgogCQlk b25lCiAKIAkJZm9yIGYgaW4gbGliIGxlZ2FsIGNvbmYgcmVsZWFzZTsgZG8KQEAgLTIwMCwxMyAr MTY1LDE1IEBAIG9wZW5qZGsxNy1kb2NfcGFja2FnZSgpIHsKIAlub3ZlcmlmeXJkZXBzPXllcwog CW5vc2hsaWJwcm92aWRlcz15ZXMKIAlzaG9ydF9kZXNjKz0iIC0gZG9jdW1lbnRhdGlvbiIKKwlp ZiBbIC16ICIkYnVpbGRfb3B0aW9uX2RvY3MiIF07IHRoZW4KKwkJYnVpbGRfc3R5bGU9bWV0YQor CWZpCiAJcGtnX2luc3RhbGwoKSB7CiAJCWlmIFsgIiRidWlsZF9vcHRpb25fZG9jcyIgXTsgdGhl bgogCQkJbG9jYWwgX2RvY2Rpcj11c3Ivc2hhcmUvZG9jL29wZW5qZGskX2phdmFfdmVyCiAJCQl2 bWtkaXIgJF9kb2NkaXIKIAkJCWNwIC1hICR3cmtzcmMvJGJ1aWxkX3dya3NyYy9idWlsZC9saW51 eC0qL2ltYWdlcy9kb2NzLyogJHtQS0dERVNURElSfS8kX2RvY2RpcgogCQlmaQotCQl2bW92ZSAk X2pka19ob21lL21hbi9tYW4xCiAJfQogfQogCgpGcm9tIGQ2YTg2YzgwODY2M2Y1Y2FkZjMxNDE2 YmUwMjE5ODI4NGRkZDYwY2IgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IGNsYXNzYWJi eWFtcCA8dm9pZEBwbGFjZXZpb2xldHRlLm5ldD4KRGF0ZTogRnJpLCAyMiBEZWMgMjAyMyAxOToy NjoyMiAtMDUwMApTdWJqZWN0OiBbUEFUQ0ggMDgvMTJdICo6IGZpeCBuYW1lIG9mIGpkayBwcm9m aWxlIHNjcmlwdCBpbiB0ZW1wbGF0ZXMKCi0tLQogc3JjcGtncy9hcGFjaGUtZm9wL3RlbXBsYXRl ICAgICAgfCAyICstCiBzcmNwa2dzL2FwYWNoZS1tYXZlbi90ZW1wbGF0ZSAgICB8IDIgKy0KIHNy Y3BrZ3MvYXJkdWluby90ZW1wbGF0ZSAgICAgICAgIHwgMiArLQogc3JjcGtncy9iaWJsZXRpbWUv dGVtcGxhdGUgICAgICAgfCAyICstCiBzcmNwa2dzL2Rhdm1haWwvdGVtcGxhdGUgICAgICAgICB8 IDIgKy0KIHNyY3BrZ3MvZnJlZXBsYW5lL3RlbXBsYXRlICAgICAgIHwgMiArLQogc3JjcGtncy9m cmVlcm91dGluZy90ZW1wbGF0ZSAgICAgfCAyICstCiBzcmNwa2dzL2phdmEtY29tbW9ucy1pby90 ZW1wbGF0ZSB8IDIgKy0KIHNyY3BrZ3MvamVkaXQvdGVtcGxhdGUgICAgICAgICAgIHwgMiArLQog c3JjcGtncy9rb2RpL3RlbXBsYXRlICAgICAgICAgICAgfCAyICstCiBzcmNwa2dzL2xpZ2h0em9u ZS90ZW1wbGF0ZSAgICAgICB8IDIgKy0KIHNyY3BrZ3MvcGxhbnR1bWwvdGVtcGxhdGUgICAgICAg IHwgMiArLQogc3JjcGtncy90dXJib3ZuYy90ZW1wbGF0ZSAgICAgICAgfCAyICstCiAxMyBmaWxl cyBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9zcmNwa2dzL2FwYWNoZS1mb3AvdGVtcGxhdGUgYi9zcmNwa2dzL2FwYWNoZS1mb3AvdGVtcGxh dGUKaW5kZXggMWRkNmRkOTg1NDI4MS4uZmU2YTEzMGM0NWMyMCAxMDA2NDQKLS0tIGEvc3JjcGtn cy9hcGFjaGUtZm9wL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvYXBhY2hlLWZvcC90ZW1wbGF0ZQpA QCAtMTcsNyArMTcsNyBAQCBjb25mX2ZpbGVzPSIvZXRjL2ZvcC5jb25mIgogCiBkb19idWlsZCgp IHsKIAkuIC9ldGMvcHJvZmlsZS5kL2FwYWNoZS1hbnQuc2gKLQkuIC9ldGMvcHJvZmlsZS5kL29w ZW5qZGsuc2gKKwkuIC9ldGMvcHJvZmlsZS5kL2pkay5zaAogCWFudCBwYWNrYWdlCiB9CiBkb19p bnN0YWxsKCkgewpkaWZmIC0tZ2l0IGEvc3JjcGtncy9hcGFjaGUtbWF2ZW4vdGVtcGxhdGUgYi9z cmNwa2dzL2FwYWNoZS1tYXZlbi90ZW1wbGF0ZQppbmRleCA0YjA5OTVlMTFiYTdkLi4yNzA5MWE2 MTZjMmUxIDEwMDY0NAotLS0gYS9zcmNwa2dzL2FwYWNoZS1tYXZlbi90ZW1wbGF0ZQorKysgYi9z cmNwa2dzL2FwYWNoZS1tYXZlbi90ZW1wbGF0ZQpAQCAtMTUsNyArMTUsNyBAQCBjaGVja3N1bT0i NWY0OTlhMGM5MjYzYmU1NTZiMDNkZDY0MDAyYTFmOTk4OTJlYjUwZWUyNTNhYWI4MWYxZjMzOGYz YmM3YWJlZAogcmVwbGFjZXM9ImFwYWNoZS1tYXZlbi1iaW4+PTAiCiAKIGRvX2J1aWxkKCkgewot CXNvdXJjZSAvZXRjL3Byb2ZpbGUuZC9vcGVuamRrLnNoCisJc291cmNlIC9ldGMvcHJvZmlsZS5k L2pkay5zaAogCS4vYmluL212biBwYWNrYWdlIC1Ec2tpcFRlc3RzIC1EcmF0LnNraXA9dHJ1ZSAt RG1hdmVuLnJlcG8ubG9jYWw9cmVwbyAtRGRpc3RyaWJ1dGlvblRhcmdldERpcj0ke0RFU1RESVJ9 L3Vzci9saWIvJHtwa2duYW1lfQogfQogCmRpZmYgLS1naXQgYS9zcmNwa2dzL2FyZHVpbm8vdGVt cGxhdGUgYi9zcmNwa2dzL2FyZHVpbm8vdGVtcGxhdGUKaW5kZXggYWQxNjlkM2ZhZjNhNy4uYjFj ZmNhYzBiMmEyMCAxMDA2NDQKLS0tIGEvc3JjcGtncy9hcmR1aW5vL3RlbXBsYXRlCisrKyBiL3Ny Y3BrZ3MvYXJkdWluby90ZW1wbGF0ZQpAQCAtMjYsNyArMjYsNyBAQCBmaQogCiBkb19idWlsZCgp IHsKIAkuIC9ldGMvcHJvZmlsZS5kL2FwYWNoZS1hbnQuc2gKLQkuIC9ldGMvcHJvZmlsZS5kL29w ZW5qZGsuc2gKKwkuIC9ldGMvcHJvZmlsZS5kL2pkay5zaAogCiAJZXhwb3J0IENGTEFHUys9IiAt SSR7WEJQU19DUk9TU19CQVNFfS91c3IvbGliL2p2bS9qYXZhLTEuOC1vcGVuamRrL2luY2x1ZGUv bGludXgiCiAJZXhwb3J0IENGTEFHUys9IiAtSSR7WEJQU19DUk9TU19CQVNFfS91c3IvbGliL2p2 bS9qYXZhLTEuOC1vcGVuamRrL2luY2x1ZGUiCmRpZmYgLS1naXQgYS9zcmNwa2dzL2JpYmxldGlt ZS90ZW1wbGF0ZSBiL3NyY3BrZ3MvYmlibGV0aW1lL3RlbXBsYXRlCmluZGV4IGQ4YmUyM2QzM2Jl NjEuLmZjZmY1ZTcyNzUyYmEgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvYmlibGV0aW1lL3RlbXBsYXRl CisrKyBiL3NyY3BrZ3MvYmlibGV0aW1lL3RlbXBsYXRlCkBAIC0yMCw3ICsyMCw3IEBAIGRpc3Rm aWxlcz0iaHR0cHM6Ly9naXRodWIuY29tL2JpYmxldGltZS9iaWJsZXRpbWUvcmVsZWFzZXMvZG93 bmxvYWQvdiR7dmVyc2lvbn0vCiBjaGVja3N1bT1kNmJlZWY2MmFkNDRiMjU1ZTNkYzRjNWU4OTIx NGJmMDFhMGU4NWM5MTM2MDczYjBiZTEyZmNhM2QyYjIyNjIyCiAKIHByZV9idWlsZCgpIHsKLQku IC9ldGMvcHJvZmlsZS5kL29wZW5qZGsuc2gKKwkuIC9ldGMvcHJvZmlsZS5kL2pkay5zaAogCWlm IFsgIiRYQlBTX1dPUkRTSVpFIiA9ICIzMiIgXTsgdGhlbgogCQlleHBvcnQgX0pBVkFfT1BUSU9O Uz0iLVhteDEwMjRtIgogCWZpCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Rhdm1haWwvdGVtcGxhdGUg Yi9zcmNwa2dzL2Rhdm1haWwvdGVtcGxhdGUKaW5kZXggMTY1MmMyNjZlY2ZlOC4uOWJjYzZkZGE5 ZDFmMiAxMDA2NDQKLS0tIGEvc3JjcGtncy9kYXZtYWlsL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mv ZGF2bWFpbC90ZW1wbGF0ZQpAQCAtMTQsNyArMTQsNyBAQCBkaXN0ZmlsZXM9IiR7U09VUkNFRk9S R0VfU0lURX0vZGF2bWFpbC9kYXZtYWlsLXNyYy0ke3ZlcnNpb259LSR7X2NvbW1pdH0udGd6Igog Y2hlY2tzdW09MDhlNzEwM2QxNGU5ZjA1ZWMyNjljYWNlZWY3NTg1ZGNmOGJlMjAyYTM1YzQ3MWZh NmZjMTI3MjljZjk5ZWYyZgogCiBkb19idWlsZCgpIHsKLQkuIC9ldGMvcHJvZmlsZS5kL29wZW5q ZGsuc2gKKwkuIC9ldGMvcHJvZmlsZS5kL2pkay5zaAogCS4gL2V0Yy9wcm9maWxlLmQvYXBhY2hl LWFudC5zaAogCiAJYW50IGphcgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9mcmVlcGxhbmUvdGVtcGxh dGUgYi9zcmNwa2dzL2ZyZWVwbGFuZS90ZW1wbGF0ZQppbmRleCA1MGZiMjgyOTIxNTJhLi5lOThi MTlkYzAxZTZhIDEwMDY0NAotLS0gYS9zcmNwa2dzL2ZyZWVwbGFuZS90ZW1wbGF0ZQorKysgYi9z cmNwa2dzL2ZyZWVwbGFuZS90ZW1wbGF0ZQpAQCAtMjIsNyArMjIsNyBAQCBlc2FjCiAKIGRvX2J1 aWxkKCkgewogCS4gL2V0Yy9wcm9maWxlLmQvYXBhY2hlLWFudC5zaAotCS4gL2V0Yy9wcm9maWxl LmQvb3Blbmpkay5zaAorCS4gL2V0Yy9wcm9maWxlLmQvamRrLnNoCiAKIAlncmFkbGUgZm9ybWF0 X3RyYW5zbGF0aW9uIGJpblppcCAteCB0ZXN0CiB9CmRpZmYgLS1naXQgYS9zcmNwa2dzL2ZyZWVy b3V0aW5nL3RlbXBsYXRlIGIvc3JjcGtncy9mcmVlcm91dGluZy90ZW1wbGF0ZQppbmRleCBlMTI4 MTE5Zjc1Y2QxLi40MTQwNTNlZDZjNjIwIDEwMDY0NAotLS0gYS9zcmNwa2dzL2ZyZWVyb3V0aW5n L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvZnJlZXJvdXRpbmcvdGVtcGxhdGUKQEAgLTEyLDcgKzEy LDcgQEAgZGlzdGZpbGVzPSJodHRwczovL2dpdGh1Yi5jb20vZnJlZXJvdXRpbmcvJHtwa2duYW1l fS9hcmNoaXZlL3Yke3ZlcnNpb259LnRhci5neiIKIGNoZWNrc3VtPTM2NzQyYTkxZTQ5Mjk1NmUz YWRjNWQ3NWU1NDJhNDBmM2UwM2QxNWQ2OWQxNTcxN2E5ZDM5YzA1ODVmYWFjNDQKIAogZG9fYnVp bGQoKSB7Ci0JLiAvZXRjL3Byb2ZpbGUuZC9vcGVuamRrLnNoCisJLiAvZXRjL3Byb2ZpbGUuZC9q ZGsuc2gKIAlncmFkbGUgYXNzZW1ibGUKIH0KIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9qYXZhLWNv bW1vbnMtaW8vdGVtcGxhdGUgYi9zcmNwa2dzL2phdmEtY29tbW9ucy1pby90ZW1wbGF0ZQppbmRl eCBjMDdkY2IxODdmOWZlLi45NDU2MjJhNjAwNGE0IDEwMDY0NAotLS0gYS9zcmNwa2dzL2phdmEt Y29tbW9ucy1pby90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2phdmEtY29tbW9ucy1pby90ZW1wbGF0 ZQpAQCAtMTgsNyArMTgsNyBAQCBjYXNlICIkWEJQU19NQUNISU5FIiBpbgogZXNhYwogCiBkb19i dWlsZCgpIHsKLQlzb3VyY2UgL2V0Yy9wcm9maWxlLmQvb3Blbmpkay5zaAorCXNvdXJjZSAvZXRj L3Byb2ZpbGUuZC9qZGsuc2gKIAltdm4gcGFja2FnZSAtRG1hdmVuLnRlc3Quc2tpcD10cnVlCiB9 CiAKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvamVkaXQvdGVtcGxhdGUgYi9zcmNwa2dzL2plZGl0L3Rl bXBsYXRlCmluZGV4IDA5NGZlYjU0N2Q3YTguLjFmMDE0ZmIwNGM4ZDAgMTAwNjQ0Ci0tLSBhL3Ny Y3BrZ3MvamVkaXQvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9qZWRpdC90ZW1wbGF0ZQpAQCAtMTgs NyArMTgsNyBAQCBwb3N0X3BhdGNoKCkgewogCiBkb19idWlsZCgpIHsKIAkuIC9ldGMvcHJvZmls ZS5kL2FwYWNoZS1hbnQuc2gKLQkuIC9ldGMvcHJvZmlsZS5kL29wZW5qZGsuc2gKKwkuIC9ldGMv cHJvZmlsZS5kL2pkay5zaAogCiAJYW50IC1wcm9wZXJ0eWZpbGUgJHtGSUxFU0RJUn0vYnVpbGQu cHJvcGVydGllcyBidWlsZAogCWFudCAtcHJvcGVydHlmaWxlICR7RklMRVNESVJ9L2J1aWxkLnBy b3BlcnRpZXMgZG9jcy1odG1sCmRpZmYgLS1naXQgYS9zcmNwa2dzL2tvZGkvdGVtcGxhdGUgYi9z cmNwa2dzL2tvZGkvdGVtcGxhdGUKaW5kZXggYWE1OTMyNDI1OGEwZC4uZDM3YTU5MThjZDY3NSAx MDA2NDQKLS0tIGEvc3JjcGtncy9rb2RpL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mva29kaS90ZW1w bGF0ZQpAQCAtMTAyLDcgKzEwMiw3IEBAIHByZV9jb25maWd1cmUoKSB7CiAJCXhhcmdzIHNlZCAt aSAgLWUgInM7LWlzeXN0ZW07LUk7ZyIKIAlmaQogCi0JLiAvZXRjL3Byb2ZpbGUuZC9vcGVuamRr LnNoCisJLiAvZXRjL3Byb2ZpbGUuZC9qZGsuc2gKIAogCSMgQnVpbGQgdG9vbHMgbmVlZGVkIHRv IHJ1biBvbiB0aGUgaG9zdAogCWlmIFsgIiRDUk9TU19CVUlMRCIgXTsgdGhlbgpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9saWdodHpvbmUvdGVtcGxhdGUgYi9zcmNwa2dzL2xpZ2h0em9uZS90ZW1wbGF0 ZQppbmRleCBiMGMyOGEwYzNhODhhLi43Y2ZhMjdkZDUzOGFlIDEwMDY0NAotLS0gYS9zcmNwa2dz L2xpZ2h0em9uZS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2xpZ2h0em9uZS90ZW1wbGF0ZQpAQCAt MjgsNyArMjgsNyBAQCBkb19idWlsZCgpIHsKIAl2c2VkIC1pIGxpZ2h0Y3JhZnRzL2puaXNyYy90 aWZmL0dOVW1ha2VmaWxlIFwKIAkJLWUgInM7XC4vY29uZmlndXJlOyYgLS1ob3N0PSR7WEJQU19N QUNISU5FJS1tdXNsfTsiCiAKLQkuIC9ldGMvcHJvZmlsZS5kL29wZW5qZGsuc2gKKwkuIC9ldGMv cHJvZmlsZS5kL2pkay5zaAogCWNkIGxpbnV4CiAJVEFSR0VUPSR7WEJQU19UQVJHRVRfTUFDSElO RSUtbXVzbH0gYW50IGphcgogfQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9wbGFudHVtbC90ZW1wbGF0 ZSBiL3NyY3BrZ3MvcGxhbnR1bWwvdGVtcGxhdGUKaW5kZXggMDMzMThmNGMwNzIyNy4uMTU2ZGI1 MDVhMDQ4NCAxMDA2NDQKLS0tIGEvc3JjcGtncy9wbGFudHVtbC90ZW1wbGF0ZQorKysgYi9zcmNw a2dzL3BsYW50dW1sL3RlbXBsYXRlCkBAIC0xNCw3ICsxNCw3IEBAIGRpc3RmaWxlcz0iJHtTT1VS Q0VGT1JHRV9TSVRFfS9wbGFudHVtbC9wbGFudHVtbC1ncGx2Mi0ke3ZlcnNpb259LnRhci5neiIK IGNoZWNrc3VtPWMyMWJiMTU1ZWNmYzUzZjRmMGE1OTI0MjM4MDY5ZjBjOTc5YjBmNDI2YmZhNDRm ZDYyY2U3M2YyYWExYjQzMzkKIAogZG9fYnVpbGQoKSB7Ci0JLiAvZXRjL3Byb2ZpbGUuZC9vcGVu amRrLnNoCisJLiAvZXRjL3Byb2ZpbGUuZC9qZGsuc2gKIAkuIC9ldGMvcHJvZmlsZS5kL2FwYWNo ZS1hbnQuc2gKIAlhbnQKIAltdiAke3BrZ25hbWV9LmphciAke3BrZ25hbWV9LSR7dmVyc2lvbn0u amFyCmRpZmYgLS1naXQgYS9zcmNwa2dzL3R1cmJvdm5jL3RlbXBsYXRlIGIvc3JjcGtncy90dXJi b3ZuYy90ZW1wbGF0ZQppbmRleCAyODc3NTRlZjlkYWE0Li45ZGQ3OTQ2NjJiODYyIDEwMDY0NAot LS0gYS9zcmNwa2dzL3R1cmJvdm5jL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvdHVyYm92bmMvdGVt cGxhdGUKQEAgLTI3LDcgKzI3LDcgQEAgaWYgWyAiJENST1NTX0JVSUxEIiBdOyB0aGVuCiBmaQog CiBwcmVfY29uZmlndXJlKCkgewotCS4gL2V0Yy9wcm9maWxlLmQvb3Blbmpkay5zaAorCS4gL2V0 Yy9wcm9maWxlLmQvamRrLnNoCiB9CiAKIHBvc3RfaW5zdGFsbCgpIHsKCkZyb20gNWQxOWY3OTA4 N2IxNTI4MDQ1OTY3NmE3MjcyMjNmMGUyNDYyYWU1YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogY2xhc3NhYmJ5YW1wIDx2b2lkQHBsYWNldmlvbGV0dGUubmV0PgpEYXRlOiBGcmksIDIy IERlYyAyMDIzIDAwOjQ0OjA2IC0wNTAwClN1YmplY3Q6IFtQQVRDSCAwOS8xMl0gTmV3IHBhY2th Z2U6IG9wZW5qZGsxOC1ib290c3RyYXAtMTguMC4yLjErMAoKLS0tCiAuLi4vcGF0Y2hlcy9GaXhO dWxsUHRyQ2FzdC5wYXRjaCAgICAgICAgICAgICAgfCAxMDQgKysrKysKIC4uLi9vcGVuamRrMTgt Ym9vdHN0cmFwL3BhdGNoZXMvY2dyb3Vwcy5wYXRjaCB8IDQwNiArKysrKysrKysrKysrKysrKysK IHNyY3BrZ3Mvb3BlbmpkazE4LWJvb3RzdHJhcC90ZW1wbGF0ZSAgICAgICAgICB8IDEwMSArKysr Kwogc3JjcGtncy9vcGVuamRrMTgtYm9vdHN0cmFwL3VwZGF0ZSAgICAgICAgICAgIHwgICA0ICsK IDQgZmlsZXMgY2hhbmdlZCwgNjE1IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBz cmNwa2dzL29wZW5qZGsxOC1ib290c3RyYXAvcGF0Y2hlcy9GaXhOdWxsUHRyQ2FzdC5wYXRjaAog Y3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mvb3BlbmpkazE4LWJvb3RzdHJhcC9wYXRjaGVzL2Nn cm91cHMucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL29wZW5qZGsxOC1ib290c3Ry YXAvdGVtcGxhdGUKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL29wZW5qZGsxOC1ib290c3Ry YXAvdXBkYXRlCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9vcGVuamRrMTgtYm9vdHN0cmFwL3BhdGNo ZXMvRml4TnVsbFB0ckNhc3QucGF0Y2ggYi9zcmNwa2dzL29wZW5qZGsxOC1ib290c3RyYXAvcGF0 Y2hlcy9GaXhOdWxsUHRyQ2FzdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAwMDAwLi43ZmEzMzU5MzllNjFkCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9vcGVu amRrMTgtYm9vdHN0cmFwL3BhdGNoZXMvRml4TnVsbFB0ckNhc3QucGF0Y2gKQEAgLTAsMCArMSwx MDQgQEAKK1N1YmplY3Q6IEZpeCBjYXN0IGVycm9ycyB3aXRoIGxhdGVzdCBHQ0MgKDExLjIpCitV cHN0cmVhbTogTm8KK0F1dGhvcjogU2ltb24gRnJhbmtlbmJlcmdlciA8c2ltb24tYWxwaW5lQGZy YWhvLmV1PgorCitUaGlzIHBhdGNoIGZpeGVzIG11bHRpcGxlIGNhc3RpbmcgZXJyb3JzIHJlcG9y dGVkIGJ5IEdDQyAxMS4yCisKKy0tLSBvbGQvc3JjL2hvdHNwb3Qvc2hhcmUvZ2Mvc2hlbmFuZG9h aC9zaGVuYW5kb2FoQmFycmllclNldC5pbmxpbmUuaHBwCisrKysgbmV3L3NyYy9ob3RzcG90L3No YXJlL2djL3NoZW5hbmRvYWgvc2hlbmFuZG9haEJhcnJpZXJTZXQuaW5saW5lLmhwcAorQEAgLTIw NSw3ICsyMDUsNyBAQAorIAorICAgLy8gTm90ZTogV2UgZG9uJ3QgbmVlZCBhIGtlZXAtYWxpdmUt YmFycmllciBoZXJlLiBXZSBhbHJlYWR5IGVucXVldWUgYW55IGxvYWRlZCByZWZlcmVuY2UgZm9y IFNBVEIgYW55d2F5LAorICAgLy8gYmVjYXVzZSBpdCBtdXN0IGJlIHRoZSBwcmV2aW91cyB2YWx1 ZS4KKy0gIHJlcyA9IGxvYWRfcmVmZXJlbmNlX2JhcnJpZXIoZGVjb3JhdG9ycywgcmVzLCByZWlu dGVycHJldF9jYXN0PFQqPihOVUxMKSk7CisrICByZXMgPSBsb2FkX3JlZmVyZW5jZV9iYXJyaWVy KGRlY29yYXRvcnMsIHJlcywgc3RhdGljX2Nhc3Q8VCo+KE5VTEwpKTsKKyAgIHNhdGJfZW5xdWV1 ZShyZXMpOworICAgcmV0dXJuIHJlczsKKyB9CitAQCAtMjE2LDcgKzIxNiw3IEBACisgICBvb3Ag cHJldmlvdXMgPSBSYXdBY2Nlc3M8Pjo6b29wX2F0b21pY194Y2hnKGFkZHIsIG5ld192YWx1ZSk7 CisgICAvLyBOb3RlOiBXZSBkb24ndCBuZWVkIGEga2VlcC1hbGl2ZS1iYXJyaWVyIGhlcmUuIFdl IGFscmVhZHkgZW5xdWV1ZSBhbnkgbG9hZGVkIHJlZmVyZW5jZSBmb3IgU0FUQiBhbnl3YXksCisg ICAvLyBiZWNhdXNlIGl0IG11c3QgYmUgdGhlIHByZXZpb3VzIHZhbHVlLgorLSAgcHJldmlvdXMg PSBsb2FkX3JlZmVyZW5jZV9iYXJyaWVyPFQ+KGRlY29yYXRvcnMsIHByZXZpb3VzLCByZWludGVy cHJldF9jYXN0PFQqPihOVUxMKSk7CisrICBwcmV2aW91cyA9IGxvYWRfcmVmZXJlbmNlX2JhcnJp ZXI8VD4oZGVjb3JhdG9ycywgcHJldmlvdXMsIHN0YXRpY19jYXN0PFQqPihOVUxMKSk7CisgICBz YXRiX2VucXVldWUocHJldmlvdXMpOworICAgcmV0dXJuIHByZXZpb3VzOworIH0KKy0tLSBvbGQv c3JjL2hvdHNwb3Qvc2hhcmUvb29wcy9hY2Nlc3MuaHBwCisrKysgbmV3L3NyYy9ob3RzcG90L3No YXJlL29vcHMvYWNjZXNzLmhwcAorQEAgLTI5NCw4ICsyOTQsOCBAQAorICAgc3RhdGljIGlubGlu ZSB2b2lkIGFycmF5Y29weShhcnJheU9vcCBzcmNfb2JqLCBzaXplX3Qgc3JjX29mZnNldF9pbl9i eXRlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXlPb3AgZHN0X29iaiwg c2l6ZV90IGRzdF9vZmZzZXRfaW5fYnl0ZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHNpemVfdCBsZW5ndGgpIHsKKy0gICAgQWNjZXNzVDo6YXJyYXljb3B5KHNyY19vYmosIHNy Y19vZmZzZXRfaW5fYnl0ZXMsIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVCo+KE5VTEwpLAorLSAg ICAgICAgICAgICAgICAgICAgICAgZHN0X29iaiwgZHN0X29mZnNldF9pbl9ieXRlcywgcmVpbnRl cnByZXRfY2FzdDxUKj4oTlVMTCksCisrICAgIEFjY2Vzc1Q6OmFycmF5Y29weShzcmNfb2JqLCBz cmNfb2Zmc2V0X2luX2J5dGVzLCBzdGF0aWNfY2FzdDxjb25zdCBUKj4oTlVMTCksCisrICAgICAg ICAgICAgICAgICAgICAgICBkc3Rfb2JqLCBkc3Rfb2Zmc2V0X2luX2J5dGVzLCBzdGF0aWNfY2Fz dDxUKj4oTlVMTCksCisgICAgICAgICAgICAgICAgICAgICAgICBsZW5ndGgpOworICAgfQorIAor QEAgLTMwMyw3ICszMDMsNyBAQAorICAgc3RhdGljIGlubGluZSB2b2lkIGFycmF5Y29weV90b19u YXRpdmUoYXJyYXlPb3Agc3JjX29iaiwgc2l6ZV90IHNyY19vZmZzZXRfaW5fYnl0ZXMsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUKiBkc3QsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgbGVuZ3RoKSB7CistICAgIEFj Y2Vzc1Q6OmFycmF5Y29weShzcmNfb2JqLCBzcmNfb2Zmc2V0X2luX2J5dGVzLCByZWludGVycHJl dF9jYXN0PGNvbnN0IFQqPihOVUxMKSwKKysgICAgQWNjZXNzVDo6YXJyYXljb3B5KHNyY19vYmos IHNyY19vZmZzZXRfaW5fYnl0ZXMsIHN0YXRpY19jYXN0PGNvbnN0IFQqPihOVUxMKSwKKyAgICAg ICAgICAgICAgICAgICAgICAgIE5VTEwsIDAsIGRzdCwKKyAgICAgICAgICAgICAgICAgICAgICAg IGxlbmd0aCk7CisgICB9CitAQCAtMzEzLDE1ICszMTMsMTUgQEAKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXlPb3AgZHN0X29iaiwgc2l6ZV90IGRzdF9v ZmZzZXRfaW5fYnl0ZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHNpemVfdCBsZW5ndGgpIHsKKyAgICAgQWNjZXNzVDo6YXJyYXljb3B5KE5VTEwsIDAsIHNy YywKKy0gICAgICAgICAgICAgICAgICAgICAgIGRzdF9vYmosIGRzdF9vZmZzZXRfaW5fYnl0ZXMs IHJlaW50ZXJwcmV0X2Nhc3Q8VCo+KE5VTEwpLAorKyAgICAgICAgICAgICAgICAgICAgICAgZHN0 X29iaiwgZHN0X29mZnNldF9pbl9ieXRlcywgc3RhdGljX2Nhc3Q8VCo+KE5VTEwpLAorICAgICAg ICAgICAgICAgICAgICAgICAgbGVuZ3RoKTsKKyAgIH0KKyAKKyAgIHN0YXRpYyBpbmxpbmUgYm9v bCBvb3BfYXJyYXljb3B5KGFycmF5T29wIHNyY19vYmosIHNpemVfdCBzcmNfb2Zmc2V0X2luX2J5 dGVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXlPb3AgZHN0X29i aiwgc2l6ZV90IGRzdF9vZmZzZXRfaW5fYnl0ZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzaXplX3QgbGVuZ3RoKSB7CistICAgIHJldHVybiBBY2Nlc3NUOjpvb3BfYXJy YXljb3B5KHNyY19vYmosIHNyY19vZmZzZXRfaW5fYnl0ZXMsIHJlaW50ZXJwcmV0X2Nhc3Q8Y29u c3QgSGVhcFdvcmQqPihOVUxMKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZHN0X29iaiwgZHN0X29mZnNldF9pbl9ieXRlcywgcmVpbnRlcnByZXRfY2FzdDxIZWFwV29yZCo+ KE5VTEwpLAorKyAgICByZXR1cm4gQWNjZXNzVDo6b29wX2FycmF5Y29weShzcmNfb2JqLCBzcmNf b2Zmc2V0X2luX2J5dGVzLCBzdGF0aWNfY2FzdDxjb25zdCBIZWFwV29yZCo+KE5VTEwpLAorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkc3Rfb2JqLCBkc3Rfb2Zmc2V0X2luX2J5 dGVzLCBzdGF0aWNfY2FzdDxIZWFwV29yZCo+KE5VTEwpLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBsZW5ndGgpOworICAgfQorIAorLS0tIG9sZC9zcmMvaG90c3BvdC9jcHUv eDg2L2ludGVycF9tYXNtX3g4Ni5jcHAKKysrKyBuZXcvc3JjL2hvdHNwb3QvY3B1L3g4Ni9pbnRl cnBfbWFzbV94ODYuY3BwCitAQCAtMTEyMiw3ICsxMTIyLDcgQEAKKyAKKyAgICAgYmluZChsb29w KTsKKyAgICAgLy8gY2hlY2sgaWYgY3VycmVudCBlbnRyeSBpcyB1c2VkCistICAgIGNtcHB0cihB ZGRyZXNzKHJtb24sIEJhc2ljT2JqZWN0TG9jazo6b2JqX29mZnNldF9pbl9ieXRlcygpKSwgKGlu dDMyX3QpIE5VTEwpOworKyAgICBjbXBwdHIoQWRkcmVzcyhybW9uLCBCYXNpY09iamVjdExvY2s6 Om9ial9vZmZzZXRfaW5fYnl0ZXMoKSksIDApOworICAgICBqY2MoQXNzZW1ibGVyOjpub3RFcXVh bCwgZXhjZXB0aW9uKTsKKyAKKyAgICAgYWRkcHRyKHJtb24sIGVudHJ5X3NpemUpOyAvLyBvdGhl cndpc2UgYWR2YW5jZSB0byBuZXh0IGVudHJ5CistLS0gb2xkL3NyYy9ob3RzcG90L2NwdS94ODYv aW50ZXJwcmV0ZXJSVF94ODZfNjQuY3BwCisrKysgbmV3L3NyYy9ob3RzcG90L2NwdS94ODYvaW50 ZXJwcmV0ZXJSVF94ODZfNjQuY3BwCitAQCAtNDQzLDEwICs0NDMsMTAgQEAKKyAgICAgX2Zyb20g LT0gSW50ZXJwcmV0ZXI6OnN0YWNrRWxlbWVudFNpemU7CisgCisgICAgIGlmIChfbnVtX2ludF9h cmdzIDwgQXJndW1lbnQ6Om5faW50X3JlZ2lzdGVyX3BhcmFtZXRlcnNfYy0xKSB7CistICAgICAg Kl9pbnRfYXJncysrID0gKCpmcm9tX2FkZHIgPT0gMCkgPyBOVUxMIDogKGludHB0cl90KWZyb21f YWRkcjsKKysgICAgICAqX2ludF9hcmdzKysgPSAoKmZyb21fYWRkciA9PSAwKSA/IChpbnRwdHJf dCkgMCA6IChpbnRwdHJfdCkgZnJvbV9hZGRyOworICAgICAgIF9udW1faW50X2FyZ3MrKzsKKyAg ICAgfSBlbHNlIHsKKy0gICAgICAqX3RvKysgPSAoKmZyb21fYWRkciA9PSAwKSA/IE5VTEwgOiAo aW50cHRyX3QpIGZyb21fYWRkcjsKKysgICAgICAqX3RvKysgPSAoKmZyb21fYWRkciA9PSAwKSA/ IChpbnRwdHJfdCkgMCA6IChpbnRwdHJfdCkgZnJvbV9hZGRyOworICAgICB9CisgICB9CisgCist LS0gb2xkL3NyYy9ob3RzcG90L2NwdS9hYXJjaDY0L2ludGVycHJldGVyUlRfYWFyY2g2NC5jcHAK KysrKyBuZXcvc3JjL2hvdHNwb3QvY3B1L2FhcmNoNjQvaW50ZXJwcmV0ZXJSVF9hYXJjaDY0LmNw cAorQEAgLTI2Nyw3ICsyNjcsNyBAQAorIAorICAgdmlydHVhbCB2b2lkIHBhc3Nfb2JqZWN0KCkg eworICAgICBpbnRwdHJfdCogYWRkciA9IHNpbmdsZV9zbG90X2FkZHIoKTsKKy0gICAgaW50cHRy X3QgdmFsdWUgPSAqYWRkciA9PSAwID8gTlVMTCA6IChpbnRwdHJfdClhZGRyOworKyAgICBpbnRw dHJfdCB2YWx1ZSA9ICphZGRyID09IDAgPyAoaW50cHRyX3QpIDAgOiAoaW50cHRyX3QpYWRkcjsK KyAgICAgaWYgKHBhc3NfZ3ByKHZhbHVlKSA8IDApIHsKKyAgICAgICBwYXNzX3N0YWNrPD4odmFs dWUpOworICAgICB9CmRpZmYgLS1naXQgYS9zcmNwa2dzL29wZW5qZGsxOC1ib290c3RyYXAvcGF0 Y2hlcy9jZ3JvdXBzLnBhdGNoIGIvc3JjcGtncy9vcGVuamRrMTgtYm9vdHN0cmFwL3BhdGNoZXMv Y2dyb3Vwcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwLi5l ZmVhYTA4NzFhMDNiCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9vcGVuamRrMTgtYm9vdHN0 cmFwL3BhdGNoZXMvY2dyb3Vwcy5wYXRjaApAQCAtMCwwICsxLDQwNiBAQAorRnJvbSA4ZjNiYmU5 NTBmYjVhM2Q5ZjZjYWUxMjIyMDlkZjAxZGYwZjM0MmYwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQorRnJvbTogY2FzcGFyY3dhbmcgPGNhc3BhcmN3YW5nQHRlbmNlbnQuY29tPgorRGF0ZTogVGh1 LCAxNSBTZXAgMjAyMiAwODo0NzowNSArMDAwMAorU3ViamVjdDogW1BBVENIXSA4MjkzNDcyOiBJ bmNvcnJlY3QgY29udGFpbmVyIHJlc291cmNlIGxpbWl0IGRldGVjdGlvbiBpZgorIG1hbnVhbCBj Z3JvdXAgZnMgbW91bnRzIHByZXNlbnQKKworUmV2aWV3ZWQtYnk6IHNnZWh3b2xmLCBpa2xhbQor LS0tCisgLi4uL29zL2xpbnV4L2Nncm91cFN1YnN5c3RlbV9saW51eC5jcHAgICAgICAgIHwgNjkg KysrKysrKysrLS0tLS0tLS0tCisgLi4uL29zL2xpbnV4L2Nncm91cFN1YnN5c3RlbV9saW51eC5o cHAgICAgICAgIHwgIDUgKysKKyAuLi4vY2dyb3VwL0Nncm91cFN1YnN5c3RlbUZhY3RvcnkuamF2 YSAgICAgICAgfCA3MSArKysrKysrKysrKysrKysrLS0tCisgLi4uL2NvbnRhaW5lcnMvZG9ja2Vy L0RvY2tlckJhc2ljVGVzdC5qYXZhICAgIHwgMTQgKysrKworIC4uLi9jb250YWluZXJzL2RvY2tl ci9UZXN0Q1BVQXdhcmVuZXNzLmphdmEgICB8IDE1ICsrLS0KKyAuLi4vZG9ja2VyL1Rlc3RNZW1v cnlBd2FyZW5lc3MuamF2YSAgICAgICAgICAgfCAxNSArKy0tCisgNiBmaWxlcyBjaGFuZ2VkLCAx MzUgaW5zZXJ0aW9ucygrKSwgNTQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvaG90 c3BvdC9vcy9saW51eC9jZ3JvdXBTdWJzeXN0ZW1fbGludXguY3BwIGIvc3JjL2hvdHNwb3Qvb3Mv bGludXgvY2dyb3VwU3Vic3lzdGVtX2xpbnV4LmNwcAoraW5kZXggYmFhN2E0MGE5MTQ2Li4xZjNh NmRmY2FmNmIgMTAwNjQ0CistLS0gYS9zcmMvaG90c3BvdC9vcy9saW51eC9jZ3JvdXBTdWJzeXN0 ZW1fbGludXguY3BwCisrKysgYi9zcmMvaG90c3BvdC9vcy9saW51eC9jZ3JvdXBTdWJzeXN0ZW1f bGludXguY3BwCitAQCAtMTIzLDYgKzEyMywzMiBAQCBDZ3JvdXBTdWJzeXN0ZW0qIENncm91cFN1 YnN5c3RlbUZhY3Rvcnk6OmNyZWF0ZSgpIHsKKyAgIHJldHVybiBuZXcgQ2dyb3VwVjFTdWJzeXN0 ZW0oY3B1c2V0LCBjcHUsIGNwdWFjY3QsIHBpZHMsIG1lbW9yeSk7CisgfQorIAorK3ZvaWQgQ2dy b3VwU3Vic3lzdGVtRmFjdG9yeTo6c2V0X2NvbnRyb2xsZXJfcGF0aHMoQ2dyb3VwSW5mbyogY2df aW5mb3MsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBpbnQgY29udHJvbGxlciwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbnN0IGNoYXIqIG5hbWUsCisrICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyKiBtb3VudF9wYXRoLAorKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciogcm9vdF9wYXRoKSB7 CisrICBpZiAoY2dfaW5mb3NbY29udHJvbGxlcl0uX21vdW50X3BhdGggIT0gTlVMTCkgeworKyAg ICAvLyBPbiBzb21lIHN5c3RlbXMgZHVwbGljYXRlIGNvbnRyb2xsZXJzIGdldCBtb3VudGVkIGlu IGFkZGl0aW9uIHRvCisrICAgIC8vIHRoZSBtYWluIGNncm91cCBjb250cm9sbGVycyBtb3N0IGxp a2VseSB1bmRlciAvc3lzL2ZzL2Nncm91cC4gSW4gdGhhdAorKyAgICAvLyBjYXNlIHBpY2sgdGhl IG9uZSB1bmRlciAvc3lzL2ZzL2Nncm91cCBhbmQgZGlzY2FyZCBvdGhlcnMuCisrICAgIGlmIChz dHJzdHIoY2dfaW5mb3NbY29udHJvbGxlcl0uX21vdW50X3BhdGgsICIvc3lzL2ZzL2Nncm91cCIp ICE9IGNnX2luZm9zW2NvbnRyb2xsZXJdLl9tb3VudF9wYXRoKSB7CisrICAgICAgbG9nX2RlYnVn KG9zLCBjb250YWluZXIpKCJEdXBsaWNhdGUgJXMgY29udHJvbGxlcnMgZGV0ZWN0ZWQuIFBpY2tp bmcgJXMsIHNraXBwaW5nICVzLiIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5h bWUsIG1vdW50X3BhdGgsIGNnX2luZm9zW2NvbnRyb2xsZXJdLl9tb3VudF9wYXRoKTsKKysgICAg ICBvczo6ZnJlZShjZ19pbmZvc1tjb250cm9sbGVyXS5fbW91bnRfcGF0aCk7CisrICAgICAgb3M6 OmZyZWUoY2dfaW5mb3NbY29udHJvbGxlcl0uX3Jvb3RfbW91bnRfcGF0aCk7CisrICAgICAgY2df aW5mb3NbY29udHJvbGxlcl0uX21vdW50X3BhdGggPSBvczo6c3RyZHVwKG1vdW50X3BhdGgpOwor KyAgICAgIGNnX2luZm9zW2NvbnRyb2xsZXJdLl9yb290X21vdW50X3BhdGggPSBvczo6c3RyZHVw KHJvb3RfcGF0aCk7CisrICAgIH0gZWxzZSB7CisrICAgICAgbG9nX2RlYnVnKG9zLCBjb250YWlu ZXIpKCJEdXBsaWNhdGUgJXMgY29udHJvbGxlcnMgZGV0ZWN0ZWQuIFBpY2tpbmcgJXMsIHNraXBw aW5nICVzLiIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUsIGNnX2luZm9z W2NvbnRyb2xsZXJdLl9tb3VudF9wYXRoLCBtb3VudF9wYXRoKTsKKysgICAgfQorKyAgfSBlbHNl IHsKKysgICAgY2dfaW5mb3NbY29udHJvbGxlcl0uX21vdW50X3BhdGggPSBvczo6c3RyZHVwKG1v dW50X3BhdGgpOworKyAgICBjZ19pbmZvc1tjb250cm9sbGVyXS5fcm9vdF9tb3VudF9wYXRoID0g b3M6OnN0cmR1cChyb290X3BhdGgpOworKyAgfQorK30KKysKKyBib29sIENncm91cFN1YnN5c3Rl bUZhY3Rvcnk6OmRldGVybWluZV90eXBlKENncm91cEluZm8qIGNnX2luZm9zLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciogcHJvY19jZ3Jv dXBzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg Y2hhciogcHJvY19zZWxmX2Nncm91cCwKK0BAIC0yODgsNyArMzE0LDYgQEAgYm9vbCBDZ3JvdXBT dWJzeXN0ZW1GYWN0b3J5OjpkZXRlcm1pbmVfdHlwZShDZ3JvdXBJbmZvKiBjZ19pbmZvcywKKyAg IGJvb2wgY2dyb3VwdjJfbW91bnRfcG9pbnRfZm91bmQgPSBmYWxzZTsKKyAgIGJvb2wgYW55X2Nn cm91cF9tb3VudHNfZm91bmQgPSBmYWxzZTsKKyAgIHdoaWxlICgocCA9IGZnZXRzKGJ1ZiwgTUFY UEFUSExFTiwgbW50aW5mbykpICE9IE5VTEwpIHsKKy0gICAgY2hhciB0bXBfbW91bnRfcG9pbnRb TUFYUEFUSExFTisxXTsKKyAgICAgY2hhciB0bXBfZnNfdHlwZVtNQVhQQVRITEVOKzFdOworICAg ICBjaGFyIHRtcHJvb3RbTUFYUEFUSExFTisxXTsKKyAgICAgY2hhciB0bXBtb3VudFtNQVhQQVRI TEVOKzFdOworQEAgLTI5OSwxNSArMzI0LDEzIEBAIGJvb2wgQ2dyb3VwU3Vic3lzdGVtRmFjdG9y eTo6ZGV0ZXJtaW5lX3R5cGUoQ2dyb3VwSW5mbyogY2dfaW5mb3MsCisgICAgIC8vIENncm91cCB2 MiByZWxldmFudCBpbmZvLiBXZSBvbmx5IGxvb2sgZm9yIHRoZSBfbW91bnRfcGF0aCBpZmYgaXNf Y2dyb3Vwc1YyIHNvCisgICAgIC8vIGFzIHRvIGF2b2lkIG1lbW9yeSBzdG9tcGluZyBvZiB0aGUg X21vdW50X3BhdGggcG9pbnRlciBsYXRlciBvbiBpbiB0aGUgY2dyb3VwIHYxCisgICAgIC8vIGJs b2NrIGluIHRoZSBoeWJyaWQgY2FzZS4KKy0gICAgLy8KKy0gICAgaWYgKGlzX2Nncm91cHNWMiAm JiBzc2NhbmYocCwgIiUqZCAlKmQgJSpkOiUqZCAlKnMgJXMgJSpbXi1dLSAlcyAlKnMgJSpzIiwg dG1wX21vdW50X3BvaW50LCB0bXBfZnNfdHlwZSkgPT0gMikgeworKyAgICBpZiAoaXNfY2dyb3Vw c1YyICYmIHNzY2FuZihwLCAiJSpkICUqZCAlKmQ6JSpkICVzICVzICUqW14tXS0gJXMgJSpzICUq cyIsIHRtcHJvb3QsIHRtcG1vdW50LCB0bXBfZnNfdHlwZSkgPT0gMykgeworICAgICAgIC8vIHdl IGxpa2VseSBoYXZlIGFuIGVhcmx5IG1hdGNoIHJldHVybiAoZS5nLiBjZ3JvdXAgZnMgbWF0Y2gp LCBiZSBzdXJlIHdlIGhhdmUgY2dyb3VwMiBhcyBmc3R5cGUKKy0gICAgICBpZiAoIWNncm91cHYy X21vdW50X3BvaW50X2ZvdW5kICYmIHN0cmNtcCgiY2dyb3VwMiIsIHRtcF9mc190eXBlKSA9PSAw KSB7CisrICAgICAgaWYgKHN0cmNtcCgiY2dyb3VwMiIsIHRtcF9mc190eXBlKSA9PSAwKSB7Cisg ICAgICAgICBjZ3JvdXB2Ml9tb3VudF9wb2ludF9mb3VuZCA9IHRydWU7CisgICAgICAgICBhbnlf Y2dyb3VwX21vdW50c19mb3VuZCA9IHRydWU7CisgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8 IENHX0lORk9fTEVOR1RIOyBpKyspIHsKKy0gICAgICAgICAgYXNzZXJ0KGNnX2luZm9zW2ldLl9t b3VudF9wYXRoID09IE5VTEwsICJfbW91bnRfcGF0aCBtZW1vcnkgc3RvbXBpbmciKTsKKy0gICAg ICAgICAgY2dfaW5mb3NbaV0uX21vdW50X3BhdGggPSBvczo6c3RyZHVwKHRtcF9tb3VudF9wb2lu dCk7CisrICAgICAgICAgIHNldF9jb250cm9sbGVyX3BhdGhzKGNnX2luZm9zLCBpLCAiKGNnMiwg dW5pZmllZCkiLCB0bXBtb3VudCwgdG1wcm9vdCk7CisgICAgICAgICB9CisgICAgICAgfQorICAg ICB9CitAQCAtMzMyLDQ3ICszNTUsMjMgQEAgYm9vbCBDZ3JvdXBTdWJzeXN0ZW1GYWN0b3J5Ojpk ZXRlcm1pbmVfdHlwZShDZ3JvdXBJbmZvKiBjZ19pbmZvcywKKyAgICAgICB3aGlsZSAoKHRva2Vu ID0gc3Ryc2VwKCZjcHRyLCAiLCIpKSAhPSBOVUxMKSB7CisgICAgICAgICBpZiAoc3RyY21wKHRv a2VuLCAibWVtb3J5IikgPT0gMCkgeworICAgICAgICAgICBhbnlfY2dyb3VwX21vdW50c19mb3Vu ZCA9IHRydWU7CistICAgICAgICAgIGFzc2VydChjZ19pbmZvc1tNRU1PUllfSURYXS5fbW91bnRf cGF0aCA9PSBOVUxMLCAic3RvbXBpbmcgb2YgX21vdW50X3BhdGgiKTsKKy0gICAgICAgICAgY2df aW5mb3NbTUVNT1JZX0lEWF0uX21vdW50X3BhdGggPSBvczo6c3RyZHVwKHRtcG1vdW50KTsKKy0g ICAgICAgICAgY2dfaW5mb3NbTUVNT1JZX0lEWF0uX3Jvb3RfbW91bnRfcGF0aCA9IG9zOjpzdHJk dXAodG1wcm9vdCk7CisrICAgICAgICAgIHNldF9jb250cm9sbGVyX3BhdGhzKGNnX2luZm9zLCBN RU1PUllfSURYLCB0b2tlbiwgdG1wbW91bnQsIHRtcHJvb3QpOworICAgICAgICAgICBjZ19pbmZv c1tNRU1PUllfSURYXS5fZGF0YV9jb21wbGV0ZSA9IHRydWU7CisgICAgICAgICB9IGVsc2UgaWYg KHN0cmNtcCh0b2tlbiwgImNwdXNldCIpID09IDApIHsKKyAgICAgICAgICAgYW55X2Nncm91cF9t b3VudHNfZm91bmQgPSB0cnVlOworLSAgICAgICAgICBpZiAoY2dfaW5mb3NbQ1BVU0VUX0lEWF0u X21vdW50X3BhdGggIT0gTlVMTCkgeworLSAgICAgICAgICAgIC8vIE9uIHNvbWUgc3lzdGVtcyBk dXBsaWNhdGUgY3B1c2V0IGNvbnRyb2xsZXJzIGdldCBtb3VudGVkIGluIGFkZGl0aW9uIHRvCist ICAgICAgICAgICAgLy8gdGhlIG1haW4gY2dyb3VwIGNvbnRyb2xsZXJzIG1vc3QgbGlrZWx5IHVu ZGVyIC9zeXMvZnMvY2dyb3VwLiBJbiB0aGF0CistICAgICAgICAgICAgLy8gY2FzZSBwaWNrIHRo ZSBvbmUgdW5kZXIgL3N5cy9mcy9jZ3JvdXAgYW5kIGRpc2NhcmQgb3RoZXJzLgorLSAgICAgICAg ICAgIGlmIChzdHJzdHIoY2dfaW5mb3NbQ1BVU0VUX0lEWF0uX21vdW50X3BhdGgsICIvc3lzL2Zz L2Nncm91cCIpICE9IGNnX2luZm9zW0NQVVNFVF9JRFhdLl9tb3VudF9wYXRoKSB7CistICAgICAg ICAgICAgICBsb2dfd2FybmluZyhvcywgY29udGFpbmVyKSgiRHVwbGljYXRlIGNwdXNldCBjb250 cm9sbGVycyBkZXRlY3RlZC4gUGlja2luZyAlcywgc2tpcHBpbmcgJXMuIiwKKy0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtcG1vdW50LCBjZ19pbmZvc1tDUFVTRVRf SURYXS5fbW91bnRfcGF0aCk7CistICAgICAgICAgICAgICBvczo6ZnJlZShjZ19pbmZvc1tDUFVT RVRfSURYXS5fbW91bnRfcGF0aCk7CistICAgICAgICAgICAgICBjZ19pbmZvc1tDUFVTRVRfSURY XS5fbW91bnRfcGF0aCA9IG9zOjpzdHJkdXAodG1wbW91bnQpOworLSAgICAgICAgICAgIH0gZWxz ZSB7CistICAgICAgICAgICAgICBsb2dfd2FybmluZyhvcywgY29udGFpbmVyKSgiRHVwbGljYXRl IGNwdXNldCBjb250cm9sbGVycyBkZXRlY3RlZC4gUGlja2luZyAlcywgc2tpcHBpbmcgJXMuIiwK Ky0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNnX2luZm9zW0NQVVNF VF9JRFhdLl9tb3VudF9wYXRoLCB0bXBtb3VudCk7CistICAgICAgICAgICAgfQorLSAgICAgICAg ICB9IGVsc2UgeworLSAgICAgICAgICAgIGNnX2luZm9zW0NQVVNFVF9JRFhdLl9tb3VudF9wYXRo ID0gb3M6OnN0cmR1cCh0bXBtb3VudCk7CistICAgICAgICAgIH0KKy0gICAgICAgICAgY2dfaW5m b3NbQ1BVU0VUX0lEWF0uX3Jvb3RfbW91bnRfcGF0aCA9IG9zOjpzdHJkdXAodG1wcm9vdCk7Cisr ICAgICAgICAgIHNldF9jb250cm9sbGVyX3BhdGhzKGNnX2luZm9zLCBDUFVTRVRfSURYLCB0b2tl biwgdG1wbW91bnQsIHRtcHJvb3QpOworICAgICAgICAgICBjZ19pbmZvc1tDUFVTRVRfSURYXS5f ZGF0YV9jb21wbGV0ZSA9IHRydWU7CisgICAgICAgICB9IGVsc2UgaWYgKHN0cmNtcCh0b2tlbiwg ImNwdSIpID09IDApIHsKKyAgICAgICAgICAgYW55X2Nncm91cF9tb3VudHNfZm91bmQgPSB0cnVl OworLSAgICAgICAgICBhc3NlcnQoY2dfaW5mb3NbQ1BVX0lEWF0uX21vdW50X3BhdGggPT0gTlVM TCwgInN0b21waW5nIG9mIF9tb3VudF9wYXRoIik7CistICAgICAgICAgIGNnX2luZm9zW0NQVV9J RFhdLl9tb3VudF9wYXRoID0gb3M6OnN0cmR1cCh0bXBtb3VudCk7CistICAgICAgICAgIGNnX2lu Zm9zW0NQVV9JRFhdLl9yb290X21vdW50X3BhdGggPSBvczo6c3RyZHVwKHRtcHJvb3QpOworKyAg ICAgICAgICBzZXRfY29udHJvbGxlcl9wYXRocyhjZ19pbmZvcywgQ1BVX0lEWCwgdG9rZW4sIHRt cG1vdW50LCB0bXByb290KTsKKyAgICAgICAgICAgY2dfaW5mb3NbQ1BVX0lEWF0uX2RhdGFfY29t cGxldGUgPSB0cnVlOworICAgICAgICAgfSBlbHNlIGlmIChzdHJjbXAodG9rZW4sICJjcHVhY2N0 IikgPT0gMCkgeworICAgICAgICAgICBhbnlfY2dyb3VwX21vdW50c19mb3VuZCA9IHRydWU7Cist ICAgICAgICAgIGFzc2VydChjZ19pbmZvc1tDUFVBQ0NUX0lEWF0uX21vdW50X3BhdGggPT0gTlVM TCwgInN0b21waW5nIG9mIF9tb3VudF9wYXRoIik7CistICAgICAgICAgIGNnX2luZm9zW0NQVUFD Q1RfSURYXS5fbW91bnRfcGF0aCA9IG9zOjpzdHJkdXAodG1wbW91bnQpOworLSAgICAgICAgICBj Z19pbmZvc1tDUFVBQ0NUX0lEWF0uX3Jvb3RfbW91bnRfcGF0aCA9IG9zOjpzdHJkdXAodG1wcm9v dCk7CisrICAgICAgICAgIHNldF9jb250cm9sbGVyX3BhdGhzKGNnX2luZm9zLCBDUFVBQ0NUX0lE WCwgdG9rZW4sIHRtcG1vdW50LCB0bXByb290KTsKKyAgICAgICAgICAgY2dfaW5mb3NbQ1BVQUND VF9JRFhdLl9kYXRhX2NvbXBsZXRlID0gdHJ1ZTsKKyAgICAgICAgIH0gZWxzZSBpZiAoc3RyY21w KHRva2VuLCAicGlkcyIpID09IDApIHsKKyAgICAgICAgICAgYW55X2Nncm91cF9tb3VudHNfZm91 bmQgPSB0cnVlOworLSAgICAgICAgICBhc3NlcnQoY2dfaW5mb3NbUElEU19JRFhdLl9tb3VudF9w YXRoID09IE5VTEwsICJzdG9tcGluZyBvZiBfbW91bnRfcGF0aCIpOworLSAgICAgICAgICBjZ19p bmZvc1tQSURTX0lEWF0uX21vdW50X3BhdGggPSBvczo6c3RyZHVwKHRtcG1vdW50KTsKKy0gICAg ICAgICAgY2dfaW5mb3NbUElEU19JRFhdLl9yb290X21vdW50X3BhdGggPSBvczo6c3RyZHVwKHRt cHJvb3QpOworKyAgICAgICAgICBzZXRfY29udHJvbGxlcl9wYXRocyhjZ19pbmZvcywgUElEU19J RFgsIHRva2VuLCB0bXBtb3VudCwgdG1wcm9vdCk7CisgICAgICAgICAgIGNnX2luZm9zW1BJRFNf SURYXS5fZGF0YV9jb21wbGV0ZSA9IHRydWU7CisgICAgICAgICB9CisgICAgICAgfQorZGlmZiAt LWdpdCBhL3NyYy9ob3RzcG90L29zL2xpbnV4L2Nncm91cFN1YnN5c3RlbV9saW51eC5ocHAgYi9z cmMvaG90c3BvdC9vcy9saW51eC9jZ3JvdXBTdWJzeXN0ZW1fbGludXguaHBwCitpbmRleCAyZTNm YzhlOGJjNzguLjkxNDU2YjNkMGUxNCAxMDA2NDQKKy0tLSBhL3NyYy9ob3RzcG90L29zL2xpbnV4 L2Nncm91cFN1YnN5c3RlbV9saW51eC5ocHAKKysrKyBiL3NyYy9ob3RzcG90L29zL2xpbnV4L2Nn cm91cFN1YnN5c3RlbV9saW51eC5ocHAKK0BAIC0zMTEsNiArMzExLDExIEBAIGNsYXNzIENncm91 cFN1YnN5c3RlbUZhY3Rvcnk6IEFsbFN0YXRpYyB7CisgICAgIH0KKyAjZW5kaWYKKyAKKysgICAg c3RhdGljIHZvaWQgc2V0X2NvbnRyb2xsZXJfcGF0aHMoQ2dyb3VwSW5mbyogY2dfaW5mb3MsCisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBjb250cm9sbGVyLAorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBuYW1lLAorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyKiBtb3VudF9wYXRoLAorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyKiByb290X3BhdGgpOworICAg ICAvLyBEZXRlcm1pbmUgdGhlIGNncm91cCB0eXBlICh2ZXJzaW9uIDEgb3IgdmVyc2lvbiAyKSwg Z2l2ZW4KKyAgICAgLy8gcmVsZXZhbnQgcGF0aHMgdG8gZmlsZXMuIFNldHMgJ2ZsYWdzJyBhY2Nv cmRpbmdseS4KKyAgICAgc3RhdGljIGJvb2wgZGV0ZXJtaW5lX3R5cGUoQ2dyb3VwSW5mbyogY2df aW5mb3MsCitkaWZmIC0tZ2l0IGEvdGVzdC9ob3RzcG90L2p0cmVnL2NvbnRhaW5lcnMvY2dyb3Vw L0Nncm91cFN1YnN5c3RlbUZhY3RvcnkuamF2YSBiL3Rlc3QvaG90c3BvdC9qdHJlZy9jb250YWlu ZXJzL2Nncm91cC9DZ3JvdXBTdWJzeXN0ZW1GYWN0b3J5LmphdmEKK2luZGV4IDU0ODA3MTE5ZDgy ZS4uN2ViNzhmYTQ0N2ZkIDEwMDY0NAorLS0tIGEvdGVzdC9ob3RzcG90L2p0cmVnL2NvbnRhaW5l cnMvY2dyb3VwL0Nncm91cFN1YnN5c3RlbUZhY3RvcnkuamF2YQorKysrIGIvdGVzdC9ob3RzcG90 L2p0cmVnL2NvbnRhaW5lcnMvY2dyb3VwL0Nncm91cFN1YnN5c3RlbUZhY3RvcnkuamF2YQorQEAg LTYyLDExICs2MiwxOSBAQCBwdWJsaWMgY2xhc3MgQ2dyb3VwU3Vic3lzdGVtRmFjdG9yeSB7Cisg ICAgIHByaXZhdGUgUGF0aCBjZ3JvdXB2MU1udEluZm9aZXJvSGllcmFyY2h5OworICAgICBwcml2 YXRlIFBhdGggY2dyb3VwdjJDZ0luZm9aZXJvSGllcmFyY2h5OworICAgICBwcml2YXRlIFBhdGgg Y2dyb3VwdjJNbnRJbmZvWmVyb0hpZXJhcmNoeTsKKysgICAgcHJpdmF0ZSBQYXRoIGNncm91cHYy TW50SW5mb0RvdWJsZTsKKysgICAgcHJpdmF0ZSBQYXRoIGNncm91cHYyTW50SW5mb0RvdWJsZTI7 CisgICAgIHByaXZhdGUgUGF0aCBjZ3JvdXB2MUNnSW5mb05vblplcm9IaWVyYXJjaHk7CisgICAg IHByaXZhdGUgUGF0aCBjZ3JvdXB2MU1udEluZm9Ob25aZXJvSGllcmFyY2h5T3RoZXJPcmRlcjsK KyAgICAgcHJpdmF0ZSBQYXRoIGNncm91cHYxTW50SW5mb05vblplcm9IaWVyYXJjaHk7CisgICAg IHByaXZhdGUgUGF0aCBjZ3JvdXB2MU1udEluZm9Eb3VibGVDcHVzZXQ7CisgICAgIHByaXZhdGUg UGF0aCBjZ3JvdXB2MU1udEluZm9Eb3VibGVDcHVzZXQyOworKyAgICBwcml2YXRlIFBhdGggY2dy b3VwdjFNbnRJbmZvRG91YmxlTWVtb3J5OworKyAgICBwcml2YXRlIFBhdGggY2dyb3VwdjFNbnRJ bmZvRG91YmxlTWVtb3J5MjsKKysgICAgcHJpdmF0ZSBQYXRoIGNncm91cHYxTW50SW5mb0RvdWJs ZUNwdTsKKysgICAgcHJpdmF0ZSBQYXRoIGNncm91cHYxTW50SW5mb0RvdWJsZUNwdTI7CisrICAg IHByaXZhdGUgUGF0aCBjZ3JvdXB2MU1udEluZm9Eb3VibGVQaWRzOworKyAgICBwcml2YXRlIFBh dGggY2dyb3VwdjFNbnRJbmZvRG91YmxlUGlkczI7CisgICAgIHByaXZhdGUgUGF0aCBjZ3JvdXB2 MU1udEluZm9TeXN0ZW1kT25seTsKKyAgICAgcHJpdmF0ZSBTdHJpbmcgbW50SW5mb0VtcHR5ID0g IiI7CisgICAgIHByaXZhdGUgUGF0aCBjZ3JvdXBWMVNlbGZDZ3JvdXA7CitAQCAtMTYwLDYgKzE2 OCwxNSBAQCBwdWJsaWMgY2xhc3MgQ2dyb3VwU3Vic3lzdGVtRmFjdG9yeSB7CisgICAgIHByaXZh dGUgU3RyaW5nIG1udEluZm9DZ3JvdXB2MU1vcmVDcHVzZXRMaW5lID0gIjEyMSAzMiAwOjM3IC8g L2NwdXNldHMgcncscmVsYXRpbWUgc2hhcmVkOjY5IC0gY2dyb3VwIG5vbmUgcncsY3B1c2V0XG4i OworICAgICBwcml2YXRlIFN0cmluZyBtbnRJbmZvQ2dyb3VwdjFEb3VibGVDcHVzZXQgPSBtbnRJ bmZvQ2dyb3VwdjFNb3JlQ3B1c2V0TGluZSArIG1udEluZm9IeWJyaWQ7CisgICAgIHByaXZhdGUg U3RyaW5nIG1udEluZm9DZ3JvdXB2MURvdWJsZUNwdXNldDIgPSAgbW50SW5mb0h5YnJpZCArIG1u dEluZm9DZ3JvdXB2MU1vcmVDcHVzZXRMaW5lOworKyAgICBwcml2YXRlIFN0cmluZyBtbnRJbmZv Q2dyb3VwdjFNb3JlTWVtb3J5TGluZSA9ICIxMTAwIDEwOTggMDoyOCAvIC9tZW1vcnkgcncsbm9z dWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSBtYXN0ZXI6NiAtIGNncm91cCBjZ3JvdXAgcncsbWVt b3J5XG4iOworKyAgICBwcml2YXRlIFN0cmluZyBtbnRJbmZvQ2dyb3VwdjFEb3VibGVNZW1vcnkg PSBtbnRJbmZvQ2dyb3VwdjFNb3JlTWVtb3J5TGluZSArIG1udEluZm9IeWJyaWQ7CisrICAgIHBy aXZhdGUgU3RyaW5nIG1udEluZm9DZ3JvdXB2MURvdWJsZU1lbW9yeTIgPSBtbnRJbmZvSHlicmlk ICsgbW50SW5mb0Nncm91cHYxTW9yZU1lbW9yeUxpbmU7CisrICAgIHByaXZhdGUgU3RyaW5nIG1u dEluZm9DZ3JvdXB2MURvdWJsZUNwdUxpbmUgPSAiMTEwMSAxMDk4IDA6MjkgLyAvY3B1LGNwdWFj Y3Qgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSBtYXN0ZXI6NyAtIGNncm91cCBjZ3Jv dXAgcncsY3B1LGNwdWFjY3RcbiI7CisrICAgIHByaXZhdGUgU3RyaW5nIG1udEluZm9DZ3JvdXB2 MURvdWJsZUNwdSA9IG1udEluZm9DZ3JvdXB2MURvdWJsZUNwdUxpbmUgKyBtbnRJbmZvSHlicmlk OworKyAgICBwcml2YXRlIFN0cmluZyBtbnRJbmZvQ2dyb3VwdjFEb3VibGVDcHUyID0gbW50SW5m b0h5YnJpZCArIG1udEluZm9DZ3JvdXB2MURvdWJsZUNwdUxpbmU7CisrICAgIHByaXZhdGUgU3Ry aW5nIG1udEluZm9DZ3JvdXB2MURvdWJsZVBpZHNMaW5lID0gIjExMDcgMTA5OCAwOjM1IC8gL3Bp ZHMgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSBtYXN0ZXI6MTMgLSBjZ3JvdXAgY2dy b3VwIHJ3LHBpZHNcbiI7CisrICAgIHByaXZhdGUgU3RyaW5nIG1udEluZm9DZ3JvdXB2MURvdWJs ZVBpZHMgPSBtbnRJbmZvQ2dyb3VwdjFEb3VibGVQaWRzTGluZSArIG1udEluZm9IeWJyaWQ7Cisr ICAgIHByaXZhdGUgU3RyaW5nIG1udEluZm9DZ3JvdXB2MURvdWJsZVBpZHMyID0gbW50SW5mb0h5 YnJpZCArIG1udEluZm9DZ3JvdXB2MURvdWJsZVBpZHNMaW5lOworICAgICBwcml2YXRlIFN0cmlu ZyBjZ3JvdXBzTm9uWmVyb0hpZXJhcmNoeSA9CisgICAgICAgICAgICAgIiNzdWJzeXNfbmFtZSBo aWVyYXJjaHkgICBudW1fY2dyb3VwcyBlbmFibGVkXG4iICsKKyAgICAgICAgICAgICAiY3B1c2V0 ICAzICAgMSAgIDFcbiIgKworQEAgLTE3NSw3ICsxOTIsMTEgQEAgcHVibGljIGNsYXNzIENncm91 cFN1YnN5c3RlbUZhY3RvcnkgeworICAgICAgICAgICAgICJodWdldGxiIDYgICAxICAgMVxuIiAr CisgICAgICAgICAgICAgInBpZHMgICAgOSAgIDgwICAxIjsgIC8vIGhpZXJhcmNoeSBoYXMgdG8g bWF0Y2ggcHJvY1NlbGZDZ3JvdXBIeWJyaWRDb250ZW50CisgICAgIHByaXZhdGUgU3RyaW5nIG1u dEluZm9DZ3JvdXBzVjJPbmx5ID0KKy0gICAgICAgICAgICAiMjggMjEgMDoyNSAvIC9zeXMvZnMv Y2dyb3VwIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgc2hhcmVkOjQgLSBjZ3JvdXAy IG5vbmUgcncsc2VjbGFiZWwsbnNkZWxlZ2F0ZSI7CisrICAgICAgICAgICAgIjI4IDIxIDA6MjUg LyAvc3lzL2ZzL2Nncm91cCBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lIHNoYXJlZDo0 IC0gY2dyb3VwMiBub25lIHJ3LHNlY2xhYmVsLG5zZGVsZWdhdGVcbiI7CisrICAgIHByaXZhdGUg U3RyaW5nIG1udEluZm9DZ3JvdXBzVjJNb3JlTGluZSA9CisrICAgICAgICAgICAgIjI0MCAyMzIg MDoyNCAvLi4vLi4gL2Nncm91cC1pbiBybyxyZWxhdGltZSAtIGNncm91cDIgY2dyb3VwMiBydyxu c2RlbGVnYXRlXG4iOworKyAgICBwcml2YXRlIFN0cmluZyBtbnRJbmZvQ2dyb3Vwc1YyRG91Ymxl ID0gbW50SW5mb0Nncm91cHNWMk1vcmVMaW5lICsgbW50SW5mb0Nncm91cHNWMk9ubHk7CisrICAg IHByaXZhdGUgU3RyaW5nIG1udEluZm9DZ3JvdXBzVjJEb3VibGUyID0gbW50SW5mb0Nncm91cHNW Mk9ubHkgKyBtbnRJbmZvQ2dyb3Vwc1YyTW9yZUxpbmU7CisgICAgIHByaXZhdGUgU3RyaW5nIG1u dEluZm9DZ3JvdXBzVjFTeXN0ZW1kT25seSA9CisgICAgICAgICAgICAgIjM1IDI2IDA6MjYgLyAv c3lzL2ZzL2Nncm91cC9zeXN0ZW1kIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgLSBj Z3JvdXAgc3lzdGVtZCBydyxuYW1lPXN5c3RlbWRcbiIgKworICAgICAgICAgICAgICIyNiAxOCAw OjE5IC8gL3N5cy9mcy9jZ3JvdXAgcncscmVsYXRpbWUgLSB0bXBmcyBub25lIHJ3LHNpemU9NGss bW9kZT03NTVcbiI7CitAQCAtMjE3LDYgKzIzOCwxMiBAQCBwcml2YXRlIHZvaWQgc2V0dXAoKSB7 CisgICAgICAgICAgICAgY2dyb3VwdjJNbnRJbmZvWmVyb0hpZXJhcmNoeSA9IFBhdGhzLmdldChl eGlzdGluZ0RpcmVjdG9yeS50b1N0cmluZygpLCAibW91bnRpbmZvX2Nncm91cHYyIik7CisgICAg ICAgICAgICAgRmlsZXMud3JpdGVTdHJpbmcoY2dyb3VwdjJNbnRJbmZvWmVyb0hpZXJhcmNoeSwg bW50SW5mb0Nncm91cHNWMk9ubHkpOworIAorKyAgICAgICAgICAgIGNncm91cHYyTW50SW5mb0Rv dWJsZSA9IFBhdGhzLmdldChleGlzdGluZ0RpcmVjdG9yeS50b1N0cmluZygpLCAibW91bnRpbmZv X2Nncm91cHYyX2RvdWJsZSIpOworKyAgICAgICAgICAgIEZpbGVzLndyaXRlU3RyaW5nKGNncm91 cHYyTW50SW5mb0RvdWJsZSwgbW50SW5mb0Nncm91cHNWMkRvdWJsZSk7CisrCisrICAgICAgICAg ICAgY2dyb3VwdjJNbnRJbmZvRG91YmxlMiA9IFBhdGhzLmdldChleGlzdGluZ0RpcmVjdG9yeS50 b1N0cmluZygpLCAibW91bnRpbmZvX2Nncm91cHYyX2RvdWJsZTIiKTsKKysgICAgICAgICAgICBG aWxlcy53cml0ZVN0cmluZyhjZ3JvdXB2Mk1udEluZm9Eb3VibGUyLCBtbnRJbmZvQ2dyb3Vwc1Yy RG91YmxlMik7CisrCisgICAgICAgICAgICAgY2dyb3VwdjFDZ0luZm9Ob25aZXJvSGllcmFyY2h5 ID0gUGF0aHMuZ2V0KGV4aXN0aW5nRGlyZWN0b3J5LnRvU3RyaW5nKCksICJjZ3JvdXBzX25vbl96 ZXJvIik7CisgICAgICAgICAgICAgRmlsZXMud3JpdGVTdHJpbmcoY2dyb3VwdjFDZ0luZm9Ob25a ZXJvSGllcmFyY2h5LCBjZ3JvdXBzTm9uWmVyb0hpZXJhcmNoeSk7CisgCitAQCAtMjQ0LDYgKzI3 MSwyNCBAQCBwcml2YXRlIHZvaWQgc2V0dXAoKSB7CisgICAgICAgICAgICAgY2dyb3VwdjFNbnRJ bmZvRG91YmxlQ3B1c2V0MiA9IFBhdGhzLmdldChleGlzdGluZ0RpcmVjdG9yeS50b1N0cmluZygp LCAibW50X2luZm9fY2dyb3VwdjFfZG91YmxlX2NwdXNldDIiKTsKKyAgICAgICAgICAgICBGaWxl cy53cml0ZVN0cmluZyhjZ3JvdXB2MU1udEluZm9Eb3VibGVDcHVzZXQyLCBtbnRJbmZvQ2dyb3Vw djFEb3VibGVDcHVzZXQyKTsKKyAKKysgICAgICAgICAgICBjZ3JvdXB2MU1udEluZm9Eb3VibGVN ZW1vcnkgPSBQYXRocy5nZXQoZXhpc3RpbmdEaXJlY3RvcnkudG9TdHJpbmcoKSwgIm1udF9pbmZv X2Nncm91cHYxX2RvdWJsZV9tZW1vcnkiKTsKKysgICAgICAgICAgICBGaWxlcy53cml0ZVN0cmlu ZyhjZ3JvdXB2MU1udEluZm9Eb3VibGVNZW1vcnksIG1udEluZm9DZ3JvdXB2MURvdWJsZU1lbW9y eSk7CisrCisrICAgICAgICAgICAgY2dyb3VwdjFNbnRJbmZvRG91YmxlTWVtb3J5MiA9IFBhdGhz LmdldChleGlzdGluZ0RpcmVjdG9yeS50b1N0cmluZygpLCAibW50X2luZm9fY2dyb3VwdjFfZG91 YmxlX21lbW9yeTIiKTsKKysgICAgICAgICAgICBGaWxlcy53cml0ZVN0cmluZyhjZ3JvdXB2MU1u dEluZm9Eb3VibGVNZW1vcnkyLCBtbnRJbmZvQ2dyb3VwdjFEb3VibGVNZW1vcnkyKTsKKysKKysg ICAgICAgICAgICBjZ3JvdXB2MU1udEluZm9Eb3VibGVDcHUgPSBQYXRocy5nZXQoZXhpc3RpbmdE aXJlY3RvcnkudG9TdHJpbmcoKSwgIm1udF9pbmZvX2Nncm91cHYxX2RvdWJsZV9jcHUiKTsKKysg ICAgICAgICAgICBGaWxlcy53cml0ZVN0cmluZyhjZ3JvdXB2MU1udEluZm9Eb3VibGVDcHUsIG1u dEluZm9DZ3JvdXB2MURvdWJsZUNwdSk7CisrCisrICAgICAgICAgICAgY2dyb3VwdjFNbnRJbmZv RG91YmxlQ3B1MiA9IFBhdGhzLmdldChleGlzdGluZ0RpcmVjdG9yeS50b1N0cmluZygpLCAibW50 X2luZm9fY2dyb3VwdjFfZG91YmxlX2NwdTIiKTsKKysgICAgICAgICAgICBGaWxlcy53cml0ZVN0 cmluZyhjZ3JvdXB2MU1udEluZm9Eb3VibGVDcHUyLCBtbnRJbmZvQ2dyb3VwdjFEb3VibGVDcHUy KTsKKysKKysgICAgICAgICAgICBjZ3JvdXB2MU1udEluZm9Eb3VibGVQaWRzID0gUGF0aHMuZ2V0 KGV4aXN0aW5nRGlyZWN0b3J5LnRvU3RyaW5nKCksICJtbnRfaW5mb19jZ3JvdXB2MV9kb3VibGVf cGlkcyIpOworKyAgICAgICAgICAgIEZpbGVzLndyaXRlU3RyaW5nKGNncm91cHYxTW50SW5mb0Rv dWJsZVBpZHMsIG1udEluZm9DZ3JvdXB2MURvdWJsZVBpZHMpOworKworKyAgICAgICAgICAgIGNn cm91cHYxTW50SW5mb0RvdWJsZVBpZHMyID0gUGF0aHMuZ2V0KGV4aXN0aW5nRGlyZWN0b3J5LnRv U3RyaW5nKCksICJtbnRfaW5mb19jZ3JvdXB2MV9kb3VibGVfcGlkczIiKTsKKysgICAgICAgICAg ICBGaWxlcy53cml0ZVN0cmluZyhjZ3JvdXB2MU1udEluZm9Eb3VibGVQaWRzMiwgbW50SW5mb0Nn cm91cHYxRG91YmxlUGlkczIpOworKworICAgICAgICAgICAgIGNncm91cHYxTW50SW5mb1N5c3Rl bWRPbmx5ID0gUGF0aHMuZ2V0KGV4aXN0aW5nRGlyZWN0b3J5LnRvU3RyaW5nKCksICJtbnRfaW5m b19jZ3JvdXB2MV9zeXN0ZW1kX29ubHkiKTsKKyAgICAgICAgICAgICBGaWxlcy53cml0ZVN0cmlu ZyhjZ3JvdXB2MU1udEluZm9TeXN0ZW1kT25seSwgbW50SW5mb0Nncm91cHNWMVN5c3RlbWRPbmx5 KTsKKyAKK0BAIC0yOTEsMTQgKzMzNiwxNCBAQCBwdWJsaWMgdm9pZCB0ZXN0Q2dyb3VwdjFKb2lu Q29udHJvbGxlckNvbWJvKFdoaXRlQm94IHdiKSB7CisgICAgICAgICBTeXN0ZW0ub3V0LnByaW50 bG4oInRlc3RDZ3JvdXB2MUpvaW5Db250cm9sbGVyTW91bnRzIFBBU1NFRCEiKTsKKyAgICAgfQor IAorLSAgICBwdWJsaWMgdm9pZCB0ZXN0Q2dyb3VwdjFNdWx0aXBsZUNwdXNldE1vdW50cyhXaGl0 ZUJveCB3YiwgUGF0aCBtb3VudEluZm8pIHsKKysgICAgcHVibGljIHZvaWQgdGVzdENncm91cHYx TXVsdGlwbGVDb250cm9sbGVyTW91bnRzKFdoaXRlQm94IHdiLCBQYXRoIG1vdW50SW5mbykgewor ICAgICAgICAgU3RyaW5nIHByb2NDZ3JvdXBzID0gY2dyb3VwdjFDZ0luZm9Ob25aZXJvSGllcmFy Y2h5LnRvU3RyaW5nKCk7CisgICAgICAgICBTdHJpbmcgcHJvY1NlbGZDZ3JvdXAgPSBjZ3JvdXBW MVNlbGZDZ3JvdXAudG9TdHJpbmcoKTsKKyAgICAgICAgIFN0cmluZyBwcm9jU2VsZk1vdW50aW5m byA9IG1vdW50SW5mby50b1N0cmluZygpOworICAgICAgICAgaW50IHJldHZhbCA9IHdiLnZhbGlk YXRlQ2dyb3VwKHByb2NDZ3JvdXBzLCBwcm9jU2VsZkNncm91cCwgcHJvY1NlbGZNb3VudGluZm8p OworLSAgICAgICAgQXNzZXJ0cy5hc3NlcnRFUShDR1JPVVBTX1YxLCByZXR2YWwsICJNdWx0aXBs ZSBjcHVzZXQgY29udHJvbGxlcnMsIGJ1dCBvbmx5IG9uZSBpbiAvc3lzL2ZzL2Nncm91cCIpOwor KyAgICAgICAgQXNzZXJ0cy5hc3NlcnRFUShDR1JPVVBTX1YxLCByZXR2YWwsICJNdWx0aXBsZSBj b250cm9sbGVycywgYnV0IG9ubHkgb25lIGluIC9zeXMvZnMvY2dyb3VwIik7CisgICAgICAgICBB c3NlcnRzLmFzc2VydFRydWUoaXNWYWxpZENncm91cChyZXR2YWwpKTsKKy0gICAgICAgIFN5c3Rl bS5vdXQucHJpbnRsbigidGVzdENncm91cHYxTXVsdGlwbGVDcHVzZXRNb3VudHMgUEFTU0VEISIp OworKyAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJ0ZXN0Q2dyb3VwdjFNdWx0aXBsZUNvbnRy b2xsZXJNb3VudHMgUEFTU0VEISIpOworICAgICB9CisgCisgICAgIHB1YmxpYyB2b2lkIHRlc3RD Z3JvdXB2MVN5c3RlbWRPbmx5KFdoaXRlQm94IHdiKSB7CitAQCAtMzQxLDEwICszODYsMTAgQEAg cHVibGljIHZvaWQgdGVzdENncm91cHYxTWlzc2luZ01lbW9yeUNvbnRyb2xsZXIoV2hpdGVCb3gg d2IpIHsKKyAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigidGVzdENncm91cHYxTWlzc2luZ01l bW9yeUNvbnRyb2xsZXIgUEFTU0VEISIpOworICAgICB9CisgCistICAgIHB1YmxpYyB2b2lkIHRl c3RDZ3JvdXB2MihXaGl0ZUJveCB3YikgeworKyAgICBwdWJsaWMgdm9pZCB0ZXN0Q2dyb3VwdjIo V2hpdGVCb3ggd2IsIFBhdGggbW91bnRJbmZvKSB7CisgICAgICAgICBTdHJpbmcgcHJvY0Nncm91 cHMgPSBjZ3JvdXB2MkNnSW5mb1plcm9IaWVyYXJjaHkudG9TdHJpbmcoKTsKKyAgICAgICAgIFN0 cmluZyBwcm9jU2VsZkNncm91cCA9IGNncm91cFYyU2VsZkNncm91cC50b1N0cmluZygpOworLSAg ICAgICAgU3RyaW5nIHByb2NTZWxmTW91bnRpbmZvID0gY2dyb3VwdjJNbnRJbmZvWmVyb0hpZXJh cmNoeS50b1N0cmluZygpOworKyAgICAgICAgU3RyaW5nIHByb2NTZWxmTW91bnRpbmZvID0gbW91 bnRJbmZvLnRvU3RyaW5nKCk7CisgICAgICAgICBpbnQgcmV0dmFsID0gd2IudmFsaWRhdGVDZ3Jv dXAocHJvY0Nncm91cHMsIHByb2NTZWxmQ2dyb3VwLCBwcm9jU2VsZk1vdW50aW5mbyk7CisgICAg ICAgICBBc3NlcnRzLmFzc2VydEVRKENHUk9VUFNfVjIsIHJldHZhbCwgIkV4cGVjdGVkIik7Cisg ICAgICAgICBBc3NlcnRzLmFzc2VydFRydWUoaXNWYWxpZENncm91cChyZXR2YWwpKTsKK0BAIC0z ODgsMTMgKzQzMywyMSBAQCBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB0 aHJvd3MgRXhjZXB0aW9uIHsKKyAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgdGVzdC50ZXN0 Q2dyb3VwdjFTeXN0ZW1kT25seSh3Yik7CisgICAgICAgICAgICAgdGVzdC50ZXN0Q2dyb3VwdjFO b01vdW50cyh3Yik7CistICAgICAgICAgICAgdGVzdC50ZXN0Q2dyb3VwdjIod2IpOworKyAgICAg ICAgICAgIHRlc3QudGVzdENncm91cHYyKHdiLCB0ZXN0LmNncm91cHYyTW50SW5mb1plcm9IaWVy YXJjaHkpOworKyAgICAgICAgICAgIHRlc3QudGVzdENncm91cHYyKHdiLCB0ZXN0LmNncm91cHYy TW50SW5mb0RvdWJsZSk7CisrICAgICAgICAgICAgdGVzdC50ZXN0Q2dyb3VwdjIod2IsIHRlc3Qu Y2dyb3VwdjJNbnRJbmZvRG91YmxlMik7CisgICAgICAgICAgICAgdGVzdC50ZXN0Q2dyb3VwVjFI eWJyaWQod2IpOworICAgICAgICAgICAgIHRlc3QudGVzdENncm91cFYxSHlicmlkTW50SW5mb09y ZGVyKHdiKTsKKyAgICAgICAgICAgICB0ZXN0LnRlc3RDZ3JvdXB2MU1pc3NpbmdNZW1vcnlDb250 cm9sbGVyKHdiKTsKKyAgICAgICAgICAgICB0ZXN0LnRlc3RDZ3JvdXB2Mk5vQ2dyb3VwMkZzKHdi KTsKKy0gICAgICAgICAgICB0ZXN0LnRlc3RDZ3JvdXB2MU11bHRpcGxlQ3B1c2V0TW91bnRzKHdi LCB0ZXN0LmNncm91cHYxTW50SW5mb0RvdWJsZUNwdXNldCk7CistICAgICAgICAgICAgdGVzdC50 ZXN0Q2dyb3VwdjFNdWx0aXBsZUNwdXNldE1vdW50cyh3YiwgdGVzdC5jZ3JvdXB2MU1udEluZm9E b3VibGVDcHVzZXQyKTsKKysgICAgICAgICAgICB0ZXN0LnRlc3RDZ3JvdXB2MU11bHRpcGxlQ29u dHJvbGxlck1vdW50cyh3YiwgdGVzdC5jZ3JvdXB2MU1udEluZm9Eb3VibGVDcHVzZXQpOworKyAg ICAgICAgICAgIHRlc3QudGVzdENncm91cHYxTXVsdGlwbGVDb250cm9sbGVyTW91bnRzKHdiLCB0 ZXN0LmNncm91cHYxTW50SW5mb0RvdWJsZUNwdXNldDIpOworKyAgICAgICAgICAgIHRlc3QudGVz dENncm91cHYxTXVsdGlwbGVDb250cm9sbGVyTW91bnRzKHdiLCB0ZXN0LmNncm91cHYxTW50SW5m b0RvdWJsZU1lbW9yeSk7CisrICAgICAgICAgICAgdGVzdC50ZXN0Q2dyb3VwdjFNdWx0aXBsZUNv bnRyb2xsZXJNb3VudHMod2IsIHRlc3QuY2dyb3VwdjFNbnRJbmZvRG91YmxlTWVtb3J5Mik7Cisr ICAgICAgICAgICAgdGVzdC50ZXN0Q2dyb3VwdjFNdWx0aXBsZUNvbnRyb2xsZXJNb3VudHMod2Is IHRlc3QuY2dyb3VwdjFNbnRJbmZvRG91YmxlQ3B1KTsKKysgICAgICAgICAgICB0ZXN0LnRlc3RD Z3JvdXB2MU11bHRpcGxlQ29udHJvbGxlck1vdW50cyh3YiwgdGVzdC5jZ3JvdXB2MU1udEluZm9E b3VibGVDcHUyKTsKKysgICAgICAgICAgICB0ZXN0LnRlc3RDZ3JvdXB2MU11bHRpcGxlQ29udHJv bGxlck1vdW50cyh3YiwgdGVzdC5jZ3JvdXB2MU1udEluZm9Eb3VibGVQaWRzKTsKKysgICAgICAg ICAgICB0ZXN0LnRlc3RDZ3JvdXB2MU11bHRpcGxlQ29udHJvbGxlck1vdW50cyh3YiwgdGVzdC5j Z3JvdXB2MU1udEluZm9Eb3VibGVQaWRzMik7CisgICAgICAgICAgICAgdGVzdC50ZXN0Q2dyb3Vw djFKb2luQ29udHJvbGxlckNvbWJvKHdiKTsKKyAgICAgICAgICAgICB0ZXN0LnRlc3ROb25aZXJv SGllcmFyY2h5T25seUZyZWV6ZXIod2IpOworICAgICAgICAgfSBmaW5hbGx5IHsKK2RpZmYgLS1n aXQgYS90ZXN0L2hvdHNwb3QvanRyZWcvY29udGFpbmVycy9kb2NrZXIvRG9ja2VyQmFzaWNUZXN0 LmphdmEgYi90ZXN0L2hvdHNwb3QvanRyZWcvY29udGFpbmVycy9kb2NrZXIvRG9ja2VyQmFzaWNU ZXN0LmphdmEKK2luZGV4IGJjYmQyZmZhMjFkZi4uMzU3ZWIzZGI0OTcyIDEwMDY0NAorLS0tIGEv dGVzdC9ob3RzcG90L2p0cmVnL2NvbnRhaW5lcnMvZG9ja2VyL0RvY2tlckJhc2ljVGVzdC5qYXZh CisrKysgYi90ZXN0L2hvdHNwb3QvanRyZWcvY29udGFpbmVycy9kb2NrZXIvRG9ja2VyQmFzaWNU ZXN0LmphdmEKK0BAIC01Myw2ICs1Myw3IEBAIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmlu Z1tdIGFyZ3MpIHRocm93cyBFeGNlcHRpb24geworICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg ICB0ZXN0SmF2YVZlcnNpb24oKTsKKyAgICAgICAgICAgICB0ZXN0SGVsbG9Eb2NrZXIoKTsKKysg ICAgICAgICAgICB0ZXN0SmF2YVZlcnNpb25XaXRoQ2dNb3VudHMoKTsKKyAgICAgICAgIH0gZmlu YWxseSB7CisgICAgICAgICAgICAgaWYgKCFEb2NrZXJUZXN0VXRpbHMuUkVUQUlOX0lNQUdFX0FG VEVSX1RFU1QpIHsKKyAgICAgICAgICAgICAgICAgRG9ja2VyVGVzdFV0aWxzLnJlbW92ZURvY2tl ckltYWdlKGltYWdlTmFtZUFuZFRhZyk7CitAQCAtODEsNCArODIsMTcgQEAgcHJpdmF0ZSBzdGF0 aWMgdm9pZCB0ZXN0SGVsbG9Eb2NrZXIoKSB0aHJvd3MgRXhjZXB0aW9uIHsKKyAgICAgICAgICAg ICAuc2hvdWxkSGF2ZUV4aXRWYWx1ZSgwKQorICAgICAgICAgICAgIC5zaG91bGRDb250YWluKCJI ZWxsbyBEb2NrZXIiKTsKKyAgICAgfQorKworKworKyAgICBwcml2YXRlIHN0YXRpYyB2b2lkIHRl c3RKYXZhVmVyc2lvbldpdGhDZ01vdW50cygpIHRocm93cyBFeGNlcHRpb24geworKyAgICAgICAg RG9ja2VyUnVuT3B0aW9ucyBvcHRzID0KKysgICAgICAgICAgICBuZXcgRG9ja2VyUnVuT3B0aW9u cyhpbWFnZU5hbWVBbmRUYWcsICIvamRrL2Jpbi9qYXZhIiwgIi12ZXJzaW9uIikKKysgICAgICAg ICAgICAuYWRkRG9ja2VyT3B0cygiLXYiLCAiL3N5cy9mcy9jZ3JvdXA6L2Nncm91cHMtaW46cm8i KTsKKysKKysgICAgICAgIC8vIER1cGxpY2F0ZWQgY2dyb3VwIG1vdW50cyBzaG91bGQgYmUgaGFu ZGxlZCBieSB0aGUgY29udGFpbmVyIGRldGVjdGlvbgorKyAgICAgICAgLy8gY29kZSBhbmQgc2hv dWxkIG5vdCBjYXVzZSBhbnkgZXJyb3Ivd2FybmluZyBvdXRwdXQuCisrICAgICAgICBEb2NrZXJU ZXN0VXRpbHMuZG9ja2VyUnVuSmF2YShvcHRzKQorKyAgICAgICAgICAgIC5zaG91bGRIYXZlRXhp dFZhbHVlKDApCisrICAgICAgICAgICAgLnNob3VsZE5vdE1hdGNoKCJcXFtvcyxjb250YWluZXIg KlxcXSIpOworKyAgICB9CisgfQorZGlmZiAtLWdpdCBhL3Rlc3QvaG90c3BvdC9qdHJlZy9jb250 YWluZXJzL2RvY2tlci9UZXN0Q1BVQXdhcmVuZXNzLmphdmEgYi90ZXN0L2hvdHNwb3QvanRyZWcv Y29udGFpbmVycy9kb2NrZXIvVGVzdENQVUF3YXJlbmVzcy5qYXZhCitpbmRleCA5Mzg4MWM2MTVi ZDkuLmE0MWRjOWMzOTM5MiAxMDA2NDQKKy0tLSBhL3Rlc3QvaG90c3BvdC9qdHJlZy9jb250YWlu ZXJzL2RvY2tlci9UZXN0Q1BVQXdhcmVuZXNzLmphdmEKKysrKyBiL3Rlc3QvaG90c3BvdC9qdHJl Zy9jb250YWluZXJzL2RvY2tlci9UZXN0Q1BVQXdhcmVuZXNzLmphdmEKK0BAIC03MCwxMCArNzAs MTEgQEAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgdGhyb3dzIEV4Y2Vw dGlvbiB7CisgICAgICAgICAgICAgdGVzdEFjdGl2ZVByb2Nlc3NvckNvdW50KDIsIDIpOworIAor ICAgICAgICAgICAgIC8vIGNwdSBxdW90YSBhbmQgcGVyaW9kCistICAgICAgICAgICAgdGVzdENw dVF1b3RhQW5kUGVyaW9kKDUwKjEwMDAsIDEwMCoxMDAwKTsKKy0gICAgICAgICAgICB0ZXN0Q3B1 UXVvdGFBbmRQZXJpb2QoMTAwKjEwMDAsIDEwMCoxMDAwKTsKKy0gICAgICAgICAgICB0ZXN0Q3B1 UXVvdGFBbmRQZXJpb2QoMTUwKjEwMDAsIDEwMCoxMDAwKTsKKy0gICAgICAgICAgICB0ZXN0Q3B1 UXVvdGFBbmRQZXJpb2QoNDAwKjEwMDAsIDEwMCoxMDAwKTsKKysgICAgICAgICAgICB0ZXN0Q3B1 UXVvdGFBbmRQZXJpb2QoNTAqMTAwMCwgMTAwKjEwMDAsIGZhbHNlKTsKKysgICAgICAgICAgICB0 ZXN0Q3B1UXVvdGFBbmRQZXJpb2QoMTAwKjEwMDAsIDEwMCoxMDAwLCBmYWxzZSk7CisrICAgICAg ICAgICAgdGVzdENwdVF1b3RhQW5kUGVyaW9kKDE1MCoxMDAwLCAxMDAqMTAwMCwgZmFsc2UpOwor KyAgICAgICAgICAgIHRlc3RDcHVRdW90YUFuZFBlcmlvZCg0MDAqMTAwMCwgMTAwKjEwMDAsIGZh bHNlKTsKKysgICAgICAgICAgICB0ZXN0Q3B1UXVvdGFBbmRQZXJpb2QoNTAqMTAwMCwgMTAwKjEw MDAsIHRydWUgLyogYWRkaXRpb25hbCBjZ3JvdXAgbW91bnQgKi8pOworIAorICAgICAgICAgICAg IHRlc3RPcGVyYXRpbmdTeXN0ZW1NWEJlYW5Bd2FyZW5lc3MoIjAuNSIsICIxIik7CisgICAgICAg ICAgICAgdGVzdE9wZXJhdGluZ1N5c3RlbU1YQmVhbkF3YXJlbmVzcygiMS4wIiwgIjEiKTsKK0BA IC0xNTMsNyArMTU0LDcgQEAgcHJpdmF0ZSBzdGF0aWMgaW50IGFkanVzdEV4cGVjdGVkQVBDRm9y QXZhaWxhYmxlQ1BVcyhpbnQgZXhwZWN0ZWRBUEMpIHsKKyAgICAgfQorIAorIAorLSAgICBwcml2 YXRlIHN0YXRpYyB2b2lkIHRlc3RDcHVRdW90YUFuZFBlcmlvZChpbnQgcXVvdGEsIGludCBwZXJp b2QpCisrICAgIHByaXZhdGUgc3RhdGljIHZvaWQgdGVzdENwdVF1b3RhQW5kUGVyaW9kKGludCBx dW90YSwgaW50IHBlcmlvZCwgYm9vbGVhbiBhZGRDZ21vdW50cykKKyAgICAgICAgIHRocm93cyBF eGNlcHRpb24geworICAgICAgICAgQ29tbW9uLmxvZ05ld1Rlc3RDYXNlKCJ0ZXN0IGNwdSBxdW90 YSBhbmQgcGVyaW9kOiAiKTsKKyAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigicXVvdGEgPSAi ICsgcXVvdGEpOworQEAgLTE2Nyw2ICsxNjgsMTAgQEAgcHJpdmF0ZSBzdGF0aWMgdm9pZCB0ZXN0 Q3B1UXVvdGFBbmRQZXJpb2QoaW50IHF1b3RhLCBpbnQgcGVyaW9kKQorICAgICAgICAgICAgIC5h ZGREb2NrZXJPcHRzKCItLWNwdS1wZXJpb2Q9IiArIHBlcmlvZCkKKyAgICAgICAgICAgICAuYWRk RG9ja2VyT3B0cygiLS1jcHUtcXVvdGE9IiArIHF1b3RhKTsKKyAKKysgICAgICAgIGlmIChhZGRD Z21vdW50cykgeworKyAgICAgICAgICAgIG9wdHMgPSBvcHRzLmFkZERvY2tlck9wdHMoIi0tdm9s dW1lIiwgIi9zeXMvZnMvY2dyb3VwOi9jZ3JvdXBzLWluOnJvIik7CisrICAgICAgICB9CisrCisg ICAgICAgICBDb21tb24ucnVuKG9wdHMpCisgICAgICAgICAgICAgLnNob3VsZE1hdGNoKCJDUFUg UGVyaW9kIGlzLioiICsgcGVyaW9kKQorICAgICAgICAgICAgIC5zaG91bGRNYXRjaCgiQ1BVIFF1 b3RhIGlzLioiICsgcXVvdGEpCitkaWZmIC0tZ2l0IGEvdGVzdC9ob3RzcG90L2p0cmVnL2NvbnRh aW5lcnMvZG9ja2VyL1Rlc3RNZW1vcnlBd2FyZW5lc3MuamF2YSBiL3Rlc3QvaG90c3BvdC9qdHJl Zy9jb250YWluZXJzL2RvY2tlci9UZXN0TWVtb3J5QXdhcmVuZXNzLmphdmEKK2luZGV4IGZmNWNk MjNjYzY1Zi4uZDZmZjYwMzE1N2E2IDEwMDY0NAorLS0tIGEvdGVzdC9ob3RzcG90L2p0cmVnL2Nv bnRhaW5lcnMvZG9ja2VyL1Rlc3RNZW1vcnlBd2FyZW5lc3MuamF2YQorKysrIGIvdGVzdC9ob3Rz cG90L2p0cmVnL2NvbnRhaW5lcnMvZG9ja2VyL1Rlc3RNZW1vcnlBd2FyZW5lc3MuamF2YQorQEAg LTYzLDEwICs2MywxMSBAQCBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB0 aHJvd3MgRXhjZXB0aW9uIHsKKyAgICAgICAgIERvY2tlclRlc3RVdGlscy5idWlsZEpka0NvbnRh aW5lckltYWdlKGltYWdlTmFtZSk7CisgCisgICAgICAgICB0cnkgeworLSAgICAgICAgICAgIHRl c3RNZW1vcnlMaW1pdCgiMTAwbSIsICIxMDQ4NTc2MDAiKTsKKy0gICAgICAgICAgICB0ZXN0TWVt b3J5TGltaXQoIjUwMG0iLCAiNTI0Mjg4MDAwIik7CistICAgICAgICAgICAgdGVzdE1lbW9yeUxp bWl0KCIxZyIsICIxMDczNzQxODI0Iik7CistICAgICAgICAgICAgdGVzdE1lbW9yeUxpbWl0KCI0 ZyIsICI0Mjk0OTY3Mjk2Iik7CisrICAgICAgICAgICAgdGVzdE1lbW9yeUxpbWl0KCIxMDBtIiwg IjEwNDg1NzYwMCIsIGZhbHNlKTsKKysgICAgICAgICAgICB0ZXN0TWVtb3J5TGltaXQoIjUwMG0i LCAiNTI0Mjg4MDAwIiwgZmFsc2UpOworKyAgICAgICAgICAgIHRlc3RNZW1vcnlMaW1pdCgiMWci LCAiMTA3Mzc0MTgyNCIsIGZhbHNlKTsKKysgICAgICAgICAgICB0ZXN0TWVtb3J5TGltaXQoIjRn IiwgIjQyOTQ5NjcyOTYiLCBmYWxzZSk7CisrICAgICAgICAgICAgdGVzdE1lbW9yeUxpbWl0KCIx MDBtIiwgIjEwNDg1NzYwMCIsIHRydWUgLyogYWRkaXRpb25hbCBjZ3JvdXAgbW91bnQgKi8pOwor IAorICAgICAgICAgICAgIHRlc3RNZW1vcnlTb2Z0TGltaXQoIjUwMG0iLCAiNTI0Mjg4MDAwIik7 CisgICAgICAgICAgICAgdGVzdE1lbW9yeVNvZnRMaW1pdCgiMWciLCAiMTA3Mzc0MTgyNCIpOwor QEAgLTk4LDcgKzk5LDcgQEAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykg dGhyb3dzIEV4Y2VwdGlvbiB7CisgICAgIH0KKyAKKyAKKy0gICAgcHJpdmF0ZSBzdGF0aWMgdm9p ZCB0ZXN0TWVtb3J5TGltaXQoU3RyaW5nIHZhbHVlVG9TZXQsIFN0cmluZyBleHBlY3RlZFRyYWNl VmFsdWUpCisrICAgIHByaXZhdGUgc3RhdGljIHZvaWQgdGVzdE1lbW9yeUxpbWl0KFN0cmluZyB2 YWx1ZVRvU2V0LCBTdHJpbmcgZXhwZWN0ZWRUcmFjZVZhbHVlLCBib29sZWFuIGFkZENnbW91bnRz KQorICAgICAgICAgICAgIHRocm93cyBFeGNlcHRpb24geworIAorICAgICAgICAgQ29tbW9uLmxv Z05ld1Rlc3RDYXNlKCJtZW1vcnkgbGltaXQ6ICIgKyB2YWx1ZVRvU2V0KTsKK0BAIC0xMDYsNiAr MTA3LDEwIEBAIHByaXZhdGUgc3RhdGljIHZvaWQgdGVzdE1lbW9yeUxpbWl0KFN0cmluZyB2YWx1 ZVRvU2V0LCBTdHJpbmcgZXhwZWN0ZWRUcmFjZVZhbHVlCisgICAgICAgICBEb2NrZXJSdW5PcHRp b25zIG9wdHMgPSBDb21tb24ubmV3T3B0cyhpbWFnZU5hbWUpCisgICAgICAgICAgICAgLmFkZERv Y2tlck9wdHMoIi0tbWVtb3J5IiwgdmFsdWVUb1NldCk7CisgCisrICAgICAgICBpZiAoYWRkQ2dt b3VudHMpIHsKKysgICAgICAgICAgICBvcHRzID0gb3B0cy5hZGREb2NrZXJPcHRzKCItLXZvbHVt ZSIsICIvc3lzL2ZzL2Nncm91cDovY2dyb3Vwcy1pbjpybyIpOworKyAgICAgICAgfQorKworICAg ICAgICAgQ29tbW9uLnJ1bihvcHRzKQorICAgICAgICAgICAgIC5zaG91bGRNYXRjaCgiTWVtb3J5 IExpbWl0IGlzOi4qIiArIGV4cGVjdGVkVHJhY2VWYWx1ZSk7CisgICAgIH0KZGlmZiAtLWdpdCBh L3NyY3BrZ3Mvb3BlbmpkazE4LWJvb3RzdHJhcC90ZW1wbGF0ZSBiL3NyY3BrZ3Mvb3BlbmpkazE4 LWJvb3RzdHJhcC90ZW1wbGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw MDAwLi5lZDRlYjA0NWVjMDU0Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9vcGVuamRrMTgt Ym9vdHN0cmFwL3RlbXBsYXRlCkBAIC0wLDAgKzEsMTAxIEBACisjIFRlbXBsYXRlIGZpbGUgZm9y ICdvcGVuamRrMTgtYm9vdHN0cmFwJworcGtnbmFtZT1vcGVuamRrMTgtYm9vdHN0cmFwCit2ZXJz aW9uPTE4LjAuMi4xKzAKK3JldmlzaW9uPTEKK19ndGVzdF92ZXI9MS44LjEKK19qYXZhX3Zlcj0i JHt2ZXJzaW9uJSUuKn0iCitfamRrX3VwZGF0ZT0iJHt2ZXJzaW9uIyorfSIKK19iYXNlX3ZlcnNp b249IiR7dmVyc2lvbiUuPysqfSIKK19qZGtfaG9tZT0idXNyL2xpYi9qdm0vb3BlbmpkayR7X2ph dmFfdmVyfSIKK2FyY2hzPSJ4ODZfNjQqIGFhcmNoNjQqIgorY3JlYXRlX3dya3NyYz15ZXMKK2J1 aWxkX3dya3NyYz0iamRrJHtfamF2YV92ZXJ9dS1qZGstJHt2ZXJzaW9uLysvLX0iCitidWlsZF9z dHlsZT1nbnUtY29uZmlndXJlCitjb25maWd1cmVfYXJncz0iLS1kaXNhYmxlLXdhcm5pbmdzLWFz LWVycm9ycworIC0tZW5hYmxlLXVubGltaXRlZC1jcnlwdG8KKyAtLXdpdGgtemxpYj1zeXN0ZW0K KyAtLXdpdGgtbGlianBlZz1zeXN0ZW0KKyAtLXdpdGgtZ2lmbGliPXN5c3RlbQorIC0td2l0aC1s aWJwbmc9c3lzdGVtCisgLS13aXRoLWxjbXM9c3lzdGVtCisgLS13aXRoLWp0cmVnPW5vCisgLS13 aXRoLWd0ZXN0PS4uL2dvb2dsZXRlc3QtcmVsZWFzZS0ke19ndGVzdF92ZXJ9CisgLS13aXRoLWRl YnVnLWxldmVsPXJlbGVhc2UKKyAtLXdpdGgtbmF0aXZlLWRlYnVnLXN5bWJvbHM9aW50ZXJuYWwK KyAtLXdpdGgtam9icz0ke1hCUFNfT1JJR19NQUtFSk9CU30KKyAtLXdpdGgtdmVyc2lvbi1wcmU9 CisgLS13aXRoLXZlcnNpb24tYnVpbGQ9JHtfamRrX3VwZGF0ZX0KKyAtLXdpdGgtdmVyc2lvbi1v cHQ9dm9pZC1yJHtyZXZpc2lvbn0KKyAtLXdpdGgtdmVuZG9yLW5hbWU9Vm9pZAorIC0td2l0aC12 ZW5kb3ItdXJsPWh0dHBzOi8vdm9pZGxpbnV4Lm9yZy8KKyAtLXdpdGgtdmVuZG9yLWJ1Zy11cmw9 aHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9pc3N1ZXMKKyAtLXdp dGgtdmVuZG9yLXZtLWJ1Zy11cmw9aHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1w YWNrYWdlcy9pc3N1ZXMKKyAtLXdpdGgtYm9vdC1qZGs9L3Vzci9saWIvanZtL29wZW5qZGskKCgg X2phdmFfdmVyIC0gMSApKSIKK21ha2VfYnVpbGRfYXJncz0iaW1hZ2VzIgorbWFrZV9jaGVja190 YXJnZXQ9InRlc3QtaG90c3BvdC1ndGVzdCIKK2hvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyBh dXRvbWFrZSBhdXRvY29uZiBjcGlvIHRhciB1bnppcCB6aXAgY2EtY2VydGlmaWNhdGVzCisgb3Bl bnNzbCB6bGliLWRldmVsIHdoaWNoIG1ha2UtY2Egb3BlbmpkazE3IgorbWFrZWRlcGVuZHM9Imxp YlhyZW5kZXItZGV2ZWwgbGliWHRzdC1kZXZlbCBsaWJYdC1kZXZlbCBsaWJYcmFuZHItZGV2ZWwK KyBnaWZsaWItZGV2ZWwgbGlianBlZy10dXJiby1kZXZlbCBjdXBzLWRldmVsIGZyZWV0eXBlLWRl dmVsIGFsc2EtbGliLWRldmVsCisgZm9udGNvbmZpZy1kZXZlbCB6bGliLWRldmVsIGxjbXMyLWRl dmVsIgorc2hvcnRfZGVzYz0iT3BlbkpESyBKYXZhIERldmVsb3BtZW50IEtpdCAoYm9vdHN0cmFw IHZlcnNpb24gJHtfamF2YV92ZXJ9KSIKK21haW50YWluZXI9ImNsYXNzYWJieWFtcCA8dm9pZEBw bGFjZXZpb2xldHRlLm5ldD4iCitsaWNlbnNlPSJHUEwtMi4wLW9ubHkgV0lUSCBDbGFzc3BhdGgt ZXhjZXB0aW9uLTIuMCIKK2hvbWVwYWdlPSJodHRwOi8vb3Blbmpkay5qYXZhLm5ldC8iCitkaXN0 ZmlsZXM9Imh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuamRrL2pkayR7X2phdmFfdmVyfXUvYXJjaGl2 ZS9qZGstJHt2ZXJzaW9ufS50YXIuZ3oKKyBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL2dvb2ds ZXRlc3QvYXJjaGl2ZS9yZWZzL3RhZ3MvcmVsZWFzZS0ke19ndGVzdF92ZXJ9LnRhci5neiIKK2No ZWNrc3VtPSJkMzk1NTgzOWMxZjU2NmY5NDlmYmRmNWQ0ZjMyYTZmYWMyZTU3NTk4ZmJhMmExY2Jj ODU1N2M5NmRmNmFjOGM0CisgOWJmMWZlNTE4MmE2MDRiNDEzNWVkYzFhNDI1YWUzNTZjOWFkMTVl OWIyM2Y5ZjEyYTAyZTgwMTg0YzNhMjQ5YyIKK25vY3Jvc3M9eWVzCityZXBvc2l0b3J5PWJvb3Rz dHJhcAorcGF0Y2hfYXJncz0iLU5wMSAtLWRpcmVjdG9yeT0kYnVpbGRfd3Jrc3JjIgorCisjIEJ1 aWxkIGFuZCBjaGVjayBhcmUgc3RpbGwgcGFyYWxsZWwsIGJ1dCBkb24ndCB1c2UgLWpOLgorZGlz YWJsZV9wYXJhbGxlbF9idWlsZD15ZXMKK2Rpc2FibGVfcGFyYWxsZWxfY2hlY2s9eWVzCisKK2Nh c2UgIiRYQlBTX1RBUkdFVF9NQUNISU5FIiBpbgorCWk2ODYqfGFybSopIGJyb2tlbj0iVW5zdXBw b3J0ZWQgYXJjaGl0ZWN0dXJlIiA7OworZXNhYworCitwb3N0X2V4dHJhY3QoKSB7CisJY2htb2Qg K3ggIiRidWlsZF93cmtzcmMiL2NvbmZpZ3VyZQorCWlmIFsgIiRYQlBTX1RBUkdFVF9MSUJDIiA9 ICJtdXNsIiBdOyB0aGVuCisJCXJtIC1yICIkYnVpbGRfd3Jrc3JjIi9zcmMvamRrLmhvdHNwb3Qu YWdlbnQKKwlmaQorfQorCitkb19jb25maWd1cmUoKSB7CisJQ0ZMQUdTPSR7Q0ZMQUdTLy1EX0ZP UlRJRllfU09VUkNFPTIvfQorCUNYWEZMQUdTPSR7Q1hYRkxBR1MvLURfRk9SVElGWV9TT1VSQ0U9 Mi99CisKKwkjIGZvcmNlIEVMRnYyIGZvciBwcGM2NCBqdXN0IGluIGNhc2UKKwljYXNlICIkWEJQ U19UQVJHRVRfTUFDSElORSIgaW4KKwkJcHBjNjQqKQorCQkJQ0ZMQUdTKz0iIC1EQUJJX0VMRnYy IgorCQkJQ1hYRkxBR1MrPSIgLURBQklfRUxGdjIiCisJCQk7OworCWVzYWMKKworCWNvbmZpZ3Vy ZV9hcmdzPSR7Y29uZmlndXJlX2FyZ3MvLS13aXRoLWxpYnRvb2wtc3lzcm9vdD0kWEJQU19DUk9T U19CQVNFfQorCWlmIFsgIiRYQlBTX0NDQUNIRSIgXSAmJiBbIC16ICIkQ1JPU1NfQlVJTEQiIF07 IHRoZW4KKwkJY29uZmlndXJlX2FyZ3MrPSIgLS1lbmFibGUtY2NhY2hlIgorCQlDQz0iL3Vzci9i aW4vY2MiCisJCUNYWD0iL3Vzci9iaW4vYysrIgorCWZpCisJLi9jb25maWd1cmUgJHtjb25maWd1 cmVfYXJnc30gXAorCQktLXdpdGgtZXh0cmEtY2ZsYWdzPSIkQ0ZMQUdTIiBcCisJCS0td2l0aC1l eHRyYS1jeHhmbGFncz0iJENYWEZMQUdTIiBcCisJCS0td2l0aC1leHRyYS1sZGZsYWdzPSIkTERG TEFHUyIgXAorCQlSRUFERUxGPSIkUkVBREVMRiIgQVI9IiRBUiIgU1RSSVA9IiRTVFJJUCIgTk09 IiROTSIgXAorCQlPQkpEVU1QPSIkT0JKRFVNUCIgT0JKQ09QWT0iJE9CSkNPUFkiCit9CisKK3By ZV9pbnN0YWxsKCkgeworCW1ha2VfaW5zdGFsbF9hcmdzPSJJTlNUQUxMX1BSRUZJWD0ke0RFU1RE SVJ9L3Vzci9saWIiCit9CisKK3Bvc3RfaW5zdGFsbCgpIHsKKwlybSAtcmYgIiR7REVTVERJUn0i L3Vzci9saWIvYmluCisJbXYgIiR7REVTVERJUn0iL3Vzci9saWIvanZtL29wZW5qZGstIiR7X2Jh c2VfdmVyc2lvbn0iICIke0RFU1RESVJ9LyRfamRrX2hvbWUiCit9CmRpZmYgLS1naXQgYS9zcmNw a2dzL29wZW5qZGsxOC1ib290c3RyYXAvdXBkYXRlIGIvc3JjcGtncy9vcGVuamRrMTgtYm9vdHN0 cmFwL3VwZGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwLi4wYzM0 OWY2OWM3YmE5Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9vcGVuamRrMTgtYm9vdHN0cmFw L3VwZGF0ZQpAQCAtMCwwICsxLDQgQEAKK3NpdGU9Imh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuamRr L2pkazE4dS90YWdzIgorcGF0dGVybj0namRrLVxLMThcLltcZC4rXSsoPz1cLiknCisjIGRvbid0 IG5lZWQgdG8gdXBkYXRlIHRoZSBib290c3RyYXAgcGFja2FnZQoraWdub3JlPSIqIgoKRnJvbSAw ZDM1ZTQ4NzlhZDcxNDZmYWUwMmZkOGEzMWQ3NTBiOWNmMzI2MWE2IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBjbGFzc2FiYnlhbXAgPHZvaWRAcGxhY2V2aW9sZXR0ZS5uZXQ+CkRhdGU6 IEZyaSwgMjIgRGVjIDIwMjMgMDA6NDY6MzkgLTA1MDAKU3ViamVjdDogW1BBVENIIDEwLzEyXSBO ZXcgcGFja2FnZTogb3BlbmpkazE5LWJvb3RzdHJhcC0xOS4wLjIrNwoKLS0tCiAuLi4vcGF0Y2hl cy9GaXhOdWxsUHRyQ2FzdC5wYXRjaCAgICAgICAgICAgICAgfCAgMzYgKysKIC4uLi9vcGVuamRr MTktYm9vdHN0cmFwL3BhdGNoZXMvY2dyb3Vwcy5wYXRjaCB8IDQwNiArKysrKysrKysrKysrKysr KysKIHNyY3BrZ3Mvb3BlbmpkazE5LWJvb3RzdHJhcC90ZW1wbGF0ZSAgICAgICAgICB8IDEwMSAr KysrKwogc3JjcGtncy9vcGVuamRrMTktYm9vdHN0cmFwL3VwZGF0ZSAgICAgICAgICAgIHwgICA0 ICsKIDQgZmlsZXMgY2hhbmdlZCwgNTQ3IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBzcmNwa2dzL29wZW5qZGsxOS1ib290c3RyYXAvcGF0Y2hlcy9GaXhOdWxsUHRyQ2FzdC5wYXRj aAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mvb3BlbmpkazE5LWJvb3RzdHJhcC9wYXRjaGVz L2Nncm91cHMucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL29wZW5qZGsxOS1ib290 c3RyYXAvdGVtcGxhdGUKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL29wZW5qZGsxOS1ib290 c3RyYXAvdXBkYXRlCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9vcGVuamRrMTktYm9vdHN0cmFwL3Bh dGNoZXMvRml4TnVsbFB0ckNhc3QucGF0Y2ggYi9zcmNwa2dzL29wZW5qZGsxOS1ib290c3RyYXAv cGF0Y2hlcy9GaXhOdWxsUHRyQ2FzdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMDAwLi42ZjA1MTU4NzkyNzMyCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9v cGVuamRrMTktYm9vdHN0cmFwL3BhdGNoZXMvRml4TnVsbFB0ckNhc3QucGF0Y2gKQEAgLTAsMCAr MSwzNiBAQAorUGF0Y2ggdGFrZW4gZnJvbSBBbHBpbmU6IGh0dHBzOi8vZ2l0LmFscGluZWxpbnV4 Lm9yZy9hcG9ydHMvdHJlZS9jb21tdW5pdHkvb3BlbmpkazE3L0ZpeE51bGxQdHJDYXN0LnBhdGNo CisKK3NhbWUgZml4IGZvciBhcm12N2wtbXVzbCBhZGRlZAorCitTdWJqZWN0OiBGaXggY2FzdCBl cnJvcnMgd2l0aCBsYXRlc3QgR0NDCitVcHN0cmVhbTogTm8KK0F1dGhvcjogU2ltb24gRnJhbmtl bmJlcmdlciA8c2ltb24tYWxwaW5lQGZyYWhvLmV1PgorCitUaGlzIHBhdGNoIGZpeGVzIG9uZSBy ZW1haW5pbmcgY2FzdGluZyBlcnJvciByZXBvcnRlZCBieSBHQ0MgMTIgZm9yIGFhcmNoNjQKKwor LS0tIG9sZC9zcmMvaG90c3BvdC9jcHUvYWFyY2g2NC9pbnRlcnByZXRlclJUX2FhcmNoNjQuY3Bw CisrKysgbmV3L3NyYy9ob3RzcG90L2NwdS9hYXJjaDY0L2ludGVycHJldGVyUlRfYWFyY2g2NC5j cHAKK0BAIC0yNjcsNyArMjY3LDcgQEAKKyAKKyAgIHZpcnR1YWwgdm9pZCBwYXNzX29iamVjdCgp IHsKKyAgICAgaW50cHRyX3QqIGFkZHIgPSBzaW5nbGVfc2xvdF9hZGRyKCk7CistICAgIGludHB0 cl90IHZhbHVlID0gKmFkZHIgPT0gMCA/IE5VTEwgOiAoaW50cHRyX3QpYWRkcjsKKysgICAgaW50 cHRyX3QgdmFsdWUgPSAqYWRkciA9PSAwID8gKGludHB0cl90KSAwIDogKGludHB0cl90KWFkZHI7 CisgICAgIGlmIChwYXNzX2dwcih2YWx1ZSkgPCAwKSB7CisgICAgICAgcGFzc19zdGFjazw+KHZh bHVlKTsKKyAgICAgfQorCistLS0gb2xkL3NyYy9ob3RzcG90L2NwdS9hcm0vaW50ZXJwcmV0ZXJS VF9hcm0uY3BwCisrKysgbmV3L3NyYy9ob3RzcG90L2NwdS9hcm0vaW50ZXJwcmV0ZXJSVF9hcm0u Y3BwCitAQCAtMzA2LDggKzMwNiw4IEBACisgICB2aXJ0dWFsIHZvaWQgcGFzc19vYmplY3QoKSB7 CisgICAgIGludHB0cl90IGZyb21fYWRkciA9IChpbnRwdHJfdCkoX2Zyb20gKyBJbnRlcnByZXRl cjo6bG9jYWxfb2Zmc2V0X2luX2J5dGVzKDApKTsKKyAgICAgaWYoX2xhc3RfZ3AgPCBHUFJfUEFS QU1TKSB7CistICAgICAgX3RvR1BbX2xhc3RfZ3ArK10gPSAoKihpbnRwdHJfdCopZnJvbV9hZGRy ID09IDApID8gTlVMTCA6IGZyb21fYWRkcjsKKysgICAgICBfdG9HUFtfbGFzdF9ncCsrXSA9ICgq KGludHB0cl90Kilmcm9tX2FkZHIgPT0gMCkgPyAoaW50cHRyX3QpIDAgOiAoaW50cHRyX3QpZnJv bV9hZGRyOworICAgICB9IGVsc2UgeworLSAgICAgICpfdG8rKyA9ICgqKGludHB0cl90Kilmcm9t X2FkZHIgPT0gMCkgPyBOVUxMIDogZnJvbV9hZGRyOworKyAgICAgICpfdG8rKyA9ICgqKGludHB0 cl90Kilmcm9tX2FkZHIgPT0gMCkgPyAoaW50cHRyX3QpIDAgOiAoaW50cHRyX3QpZnJvbV9hZGRy OworICAgICB9CisgICAgIF9mcm9tIC09IEludGVycHJldGVyOjpzdGFja0VsZW1lbnRTaXplOwor ICAgfQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9vcGVuamRrMTktYm9vdHN0cmFwL3BhdGNoZXMvY2dy b3Vwcy5wYXRjaCBiL3NyY3BrZ3Mvb3BlbmpkazE5LWJvb3RzdHJhcC9wYXRjaGVzL2Nncm91cHMu cGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMC4uZWZlYWEwODcx YTAzYgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mvb3BlbmpkazE5LWJvb3RzdHJhcC9wYXRj aGVzL2Nncm91cHMucGF0Y2gKQEAgLTAsMCArMSw0MDYgQEAKK0Zyb20gOGYzYmJlOTUwZmI1YTNk OWY2Y2FlMTIyMjA5ZGYwMWRmMGYzNDJmMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206 IGNhc3BhcmN3YW5nIDxjYXNwYXJjd2FuZ0B0ZW5jZW50LmNvbT4KK0RhdGU6IFRodSwgMTUgU2Vw IDIwMjIgMDg6NDc6MDUgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gODI5MzQ3MjogSW5jb3JyZWN0 IGNvbnRhaW5lciByZXNvdXJjZSBsaW1pdCBkZXRlY3Rpb24gaWYKKyBtYW51YWwgY2dyb3VwIGZz IG1vdW50cyBwcmVzZW50CisKK1Jldmlld2VkLWJ5OiBzZ2Vod29sZiwgaWtsYW0KKy0tLQorIC4u Li9vcy9saW51eC9jZ3JvdXBTdWJzeXN0ZW1fbGludXguY3BwICAgICAgICB8IDY5ICsrKysrKysr Ky0tLS0tLS0tLQorIC4uLi9vcy9saW51eC9jZ3JvdXBTdWJzeXN0ZW1fbGludXguaHBwICAgICAg ICB8ICA1ICsrCisgLi4uL2Nncm91cC9DZ3JvdXBTdWJzeXN0ZW1GYWN0b3J5LmphdmEgICAgICAg IHwgNzEgKysrKysrKysrKysrKysrKy0tLQorIC4uLi9jb250YWluZXJzL2RvY2tlci9Eb2NrZXJC YXNpY1Rlc3QuamF2YSAgICB8IDE0ICsrKysKKyAuLi4vY29udGFpbmVycy9kb2NrZXIvVGVzdENQ VUF3YXJlbmVzcy5qYXZhICAgfCAxNSArKy0tCisgLi4uL2RvY2tlci9UZXN0TWVtb3J5QXdhcmVu ZXNzLmphdmEgICAgICAgICAgIHwgMTUgKystLQorIDYgZmlsZXMgY2hhbmdlZCwgMTM1IGluc2Vy dGlvbnMoKyksIDU0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2hvdHNwb3Qvb3Mv bGludXgvY2dyb3VwU3Vic3lzdGVtX2xpbnV4LmNwcCBiL3NyYy9ob3RzcG90L29zL2xpbnV4L2Nn cm91cFN1YnN5c3RlbV9saW51eC5jcHAKK2luZGV4IGJhYTdhNDBhOTE0Ni4uMWYzYTZkZmNhZjZi IDEwMDY0NAorLS0tIGEvc3JjL2hvdHNwb3Qvb3MvbGludXgvY2dyb3VwU3Vic3lzdGVtX2xpbnV4 LmNwcAorKysrIGIvc3JjL2hvdHNwb3Qvb3MvbGludXgvY2dyb3VwU3Vic3lzdGVtX2xpbnV4LmNw cAorQEAgLTEyMyw2ICsxMjMsMzIgQEAgQ2dyb3VwU3Vic3lzdGVtKiBDZ3JvdXBTdWJzeXN0ZW1G YWN0b3J5OjpjcmVhdGUoKSB7CisgICByZXR1cm4gbmV3IENncm91cFYxU3Vic3lzdGVtKGNwdXNl dCwgY3B1LCBjcHVhY2N0LCBwaWRzLCBtZW1vcnkpOworIH0KKyAKKyt2b2lkIENncm91cFN1YnN5 c3RlbUZhY3Rvcnk6OnNldF9jb250cm9sbGVyX3BhdGhzKENncm91cEluZm8qIGNnX2luZm9zLAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGNv bnRyb2xsZXIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjb25zdCBjaGFyKiBuYW1lLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY2hhciogbW91bnRfcGF0aCwKKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIqIHJvb3RfcGF0aCkgeworKyAgaWYg KGNnX2luZm9zW2NvbnRyb2xsZXJdLl9tb3VudF9wYXRoICE9IE5VTEwpIHsKKysgICAgLy8gT24g c29tZSBzeXN0ZW1zIGR1cGxpY2F0ZSBjb250cm9sbGVycyBnZXQgbW91bnRlZCBpbiBhZGRpdGlv biB0bworKyAgICAvLyB0aGUgbWFpbiBjZ3JvdXAgY29udHJvbGxlcnMgbW9zdCBsaWtlbHkgdW5k ZXIgL3N5cy9mcy9jZ3JvdXAuIEluIHRoYXQKKysgICAgLy8gY2FzZSBwaWNrIHRoZSBvbmUgdW5k ZXIgL3N5cy9mcy9jZ3JvdXAgYW5kIGRpc2NhcmQgb3RoZXJzLgorKyAgICBpZiAoc3Ryc3RyKGNn X2luZm9zW2NvbnRyb2xsZXJdLl9tb3VudF9wYXRoLCAiL3N5cy9mcy9jZ3JvdXAiKSAhPSBjZ19p bmZvc1tjb250cm9sbGVyXS5fbW91bnRfcGF0aCkgeworKyAgICAgIGxvZ19kZWJ1ZyhvcywgY29u dGFpbmVyKSgiRHVwbGljYXRlICVzIGNvbnRyb2xsZXJzIGRldGVjdGVkLiBQaWNraW5nICVzLCBz a2lwcGluZyAlcy4iLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lLCBtb3Vu dF9wYXRoLCBjZ19pbmZvc1tjb250cm9sbGVyXS5fbW91bnRfcGF0aCk7CisrICAgICAgb3M6OmZy ZWUoY2dfaW5mb3NbY29udHJvbGxlcl0uX21vdW50X3BhdGgpOworKyAgICAgIG9zOjpmcmVlKGNn X2luZm9zW2NvbnRyb2xsZXJdLl9yb290X21vdW50X3BhdGgpOworKyAgICAgIGNnX2luZm9zW2Nv bnRyb2xsZXJdLl9tb3VudF9wYXRoID0gb3M6OnN0cmR1cChtb3VudF9wYXRoKTsKKysgICAgICBj Z19pbmZvc1tjb250cm9sbGVyXS5fcm9vdF9tb3VudF9wYXRoID0gb3M6OnN0cmR1cChyb290X3Bh dGgpOworKyAgICB9IGVsc2UgeworKyAgICAgIGxvZ19kZWJ1ZyhvcywgY29udGFpbmVyKSgiRHVw bGljYXRlICVzIGNvbnRyb2xsZXJzIGRldGVjdGVkLiBQaWNraW5nICVzLCBza2lwcGluZyAlcy4i LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lLCBjZ19pbmZvc1tjb250cm9s bGVyXS5fbW91bnRfcGF0aCwgbW91bnRfcGF0aCk7CisrICAgIH0KKysgIH0gZWxzZSB7CisrICAg IGNnX2luZm9zW2NvbnRyb2xsZXJdLl9tb3VudF9wYXRoID0gb3M6OnN0cmR1cChtb3VudF9wYXRo KTsKKysgICAgY2dfaW5mb3NbY29udHJvbGxlcl0uX3Jvb3RfbW91bnRfcGF0aCA9IG9zOjpzdHJk dXAocm9vdF9wYXRoKTsKKysgIH0KKyt9CisrCisgYm9vbCBDZ3JvdXBTdWJzeXN0ZW1GYWN0b3J5 OjpkZXRlcm1pbmVfdHlwZShDZ3JvdXBJbmZvKiBjZ19pbmZvcywKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIHByb2NfY2dyb3VwcywKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIHBy b2Nfc2VsZl9jZ3JvdXAsCitAQCAtMjg4LDcgKzMxNCw2IEBAIGJvb2wgQ2dyb3VwU3Vic3lzdGVt RmFjdG9yeTo6ZGV0ZXJtaW5lX3R5cGUoQ2dyb3VwSW5mbyogY2dfaW5mb3MsCisgICBib29sIGNn cm91cHYyX21vdW50X3BvaW50X2ZvdW5kID0gZmFsc2U7CisgICBib29sIGFueV9jZ3JvdXBfbW91 bnRzX2ZvdW5kID0gZmFsc2U7CisgICB3aGlsZSAoKHAgPSBmZ2V0cyhidWYsIE1BWFBBVEhMRU4s IG1udGluZm8pKSAhPSBOVUxMKSB7CistICAgIGNoYXIgdG1wX21vdW50X3BvaW50W01BWFBBVEhM RU4rMV07CisgICAgIGNoYXIgdG1wX2ZzX3R5cGVbTUFYUEFUSExFTisxXTsKKyAgICAgY2hhciB0 bXByb290W01BWFBBVEhMRU4rMV07CisgICAgIGNoYXIgdG1wbW91bnRbTUFYUEFUSExFTisxXTsK K0BAIC0yOTksMTUgKzMyNCwxMyBAQCBib29sIENncm91cFN1YnN5c3RlbUZhY3Rvcnk6OmRldGVy bWluZV90eXBlKENncm91cEluZm8qIGNnX2luZm9zLAorICAgICAvLyBDZ3JvdXAgdjIgcmVsZXZh bnQgaW5mby4gV2Ugb25seSBsb29rIGZvciB0aGUgX21vdW50X3BhdGggaWZmIGlzX2Nncm91cHNW MiBzbworICAgICAvLyBhcyB0byBhdm9pZCBtZW1vcnkgc3RvbXBpbmcgb2YgdGhlIF9tb3VudF9w YXRoIHBvaW50ZXIgbGF0ZXIgb24gaW4gdGhlIGNncm91cCB2MQorICAgICAvLyBibG9jayBpbiB0 aGUgaHlicmlkIGNhc2UuCistICAgIC8vCistICAgIGlmIChpc19jZ3JvdXBzVjIgJiYgc3NjYW5m KHAsICIlKmQgJSpkICUqZDolKmQgJSpzICVzICUqW14tXS0gJXMgJSpzICUqcyIsIHRtcF9tb3Vu dF9wb2ludCwgdG1wX2ZzX3R5cGUpID09IDIpIHsKKysgICAgaWYgKGlzX2Nncm91cHNWMiAmJiBz c2NhbmYocCwgIiUqZCAlKmQgJSpkOiUqZCAlcyAlcyAlKlteLV0tICVzICUqcyAlKnMiLCB0bXBy b290LCB0bXBtb3VudCwgdG1wX2ZzX3R5cGUpID09IDMpIHsKKyAgICAgICAvLyB3ZSBsaWtlbHkg aGF2ZSBhbiBlYXJseSBtYXRjaCByZXR1cm4gKGUuZy4gY2dyb3VwIGZzIG1hdGNoKSwgYmUgc3Vy ZSB3ZSBoYXZlIGNncm91cDIgYXMgZnN0eXBlCistICAgICAgaWYgKCFjZ3JvdXB2Ml9tb3VudF9w b2ludF9mb3VuZCAmJiBzdHJjbXAoImNncm91cDIiLCB0bXBfZnNfdHlwZSkgPT0gMCkgeworKyAg ICAgIGlmIChzdHJjbXAoImNncm91cDIiLCB0bXBfZnNfdHlwZSkgPT0gMCkgeworICAgICAgICAg Y2dyb3VwdjJfbW91bnRfcG9pbnRfZm91bmQgPSB0cnVlOworICAgICAgICAgYW55X2Nncm91cF9t b3VudHNfZm91bmQgPSB0cnVlOworICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBDR19JTkZP X0xFTkdUSDsgaSsrKSB7CistICAgICAgICAgIGFzc2VydChjZ19pbmZvc1tpXS5fbW91bnRfcGF0 aCA9PSBOVUxMLCAiX21vdW50X3BhdGggbWVtb3J5IHN0b21waW5nIik7CistICAgICAgICAgIGNn X2luZm9zW2ldLl9tb3VudF9wYXRoID0gb3M6OnN0cmR1cCh0bXBfbW91bnRfcG9pbnQpOworKyAg ICAgICAgICBzZXRfY29udHJvbGxlcl9wYXRocyhjZ19pbmZvcywgaSwgIihjZzIsIHVuaWZpZWQp IiwgdG1wbW91bnQsIHRtcHJvb3QpOworICAgICAgICAgfQorICAgICAgIH0KKyAgICAgfQorQEAg LTMzMiw0NyArMzU1LDIzIEBAIGJvb2wgQ2dyb3VwU3Vic3lzdGVtRmFjdG9yeTo6ZGV0ZXJtaW5l X3R5cGUoQ2dyb3VwSW5mbyogY2dfaW5mb3MsCisgICAgICAgd2hpbGUgKCh0b2tlbiA9IHN0cnNl cCgmY3B0ciwgIiwiKSkgIT0gTlVMTCkgeworICAgICAgICAgaWYgKHN0cmNtcCh0b2tlbiwgIm1l bW9yeSIpID09IDApIHsKKyAgICAgICAgICAgYW55X2Nncm91cF9tb3VudHNfZm91bmQgPSB0cnVl OworLSAgICAgICAgICBhc3NlcnQoY2dfaW5mb3NbTUVNT1JZX0lEWF0uX21vdW50X3BhdGggPT0g TlVMTCwgInN0b21waW5nIG9mIF9tb3VudF9wYXRoIik7CistICAgICAgICAgIGNnX2luZm9zW01F TU9SWV9JRFhdLl9tb3VudF9wYXRoID0gb3M6OnN0cmR1cCh0bXBtb3VudCk7CistICAgICAgICAg IGNnX2luZm9zW01FTU9SWV9JRFhdLl9yb290X21vdW50X3BhdGggPSBvczo6c3RyZHVwKHRtcHJv b3QpOworKyAgICAgICAgICBzZXRfY29udHJvbGxlcl9wYXRocyhjZ19pbmZvcywgTUVNT1JZX0lE WCwgdG9rZW4sIHRtcG1vdW50LCB0bXByb290KTsKKyAgICAgICAgICAgY2dfaW5mb3NbTUVNT1JZ X0lEWF0uX2RhdGFfY29tcGxldGUgPSB0cnVlOworICAgICAgICAgfSBlbHNlIGlmIChzdHJjbXAo dG9rZW4sICJjcHVzZXQiKSA9PSAwKSB7CisgICAgICAgICAgIGFueV9jZ3JvdXBfbW91bnRzX2Zv dW5kID0gdHJ1ZTsKKy0gICAgICAgICAgaWYgKGNnX2luZm9zW0NQVVNFVF9JRFhdLl9tb3VudF9w YXRoICE9IE5VTEwpIHsKKy0gICAgICAgICAgICAvLyBPbiBzb21lIHN5c3RlbXMgZHVwbGljYXRl IGNwdXNldCBjb250cm9sbGVycyBnZXQgbW91bnRlZCBpbiBhZGRpdGlvbiB0bworLSAgICAgICAg ICAgIC8vIHRoZSBtYWluIGNncm91cCBjb250cm9sbGVycyBtb3N0IGxpa2VseSB1bmRlciAvc3lz L2ZzL2Nncm91cC4gSW4gdGhhdAorLSAgICAgICAgICAgIC8vIGNhc2UgcGljayB0aGUgb25lIHVu ZGVyIC9zeXMvZnMvY2dyb3VwIGFuZCBkaXNjYXJkIG90aGVycy4KKy0gICAgICAgICAgICBpZiAo c3Ryc3RyKGNnX2luZm9zW0NQVVNFVF9JRFhdLl9tb3VudF9wYXRoLCAiL3N5cy9mcy9jZ3JvdXAi KSAhPSBjZ19pbmZvc1tDUFVTRVRfSURYXS5fbW91bnRfcGF0aCkgeworLSAgICAgICAgICAgICAg bG9nX3dhcm5pbmcob3MsIGNvbnRhaW5lcikoIkR1cGxpY2F0ZSBjcHVzZXQgY29udHJvbGxlcnMg ZGV0ZWN0ZWQuIFBpY2tpbmcgJXMsIHNraXBwaW5nICVzLiIsCistICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB0bXBtb3VudCwgY2dfaW5mb3NbQ1BVU0VUX0lEWF0uX21v dW50X3BhdGgpOworLSAgICAgICAgICAgICAgb3M6OmZyZWUoY2dfaW5mb3NbQ1BVU0VUX0lEWF0u X21vdW50X3BhdGgpOworLSAgICAgICAgICAgICAgY2dfaW5mb3NbQ1BVU0VUX0lEWF0uX21vdW50 X3BhdGggPSBvczo6c3RyZHVwKHRtcG1vdW50KTsKKy0gICAgICAgICAgICB9IGVsc2UgeworLSAg ICAgICAgICAgICAgbG9nX3dhcm5pbmcob3MsIGNvbnRhaW5lcikoIkR1cGxpY2F0ZSBjcHVzZXQg Y29udHJvbGxlcnMgZGV0ZWN0ZWQuIFBpY2tpbmcgJXMsIHNraXBwaW5nICVzLiIsCistICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZ19pbmZvc1tDUFVTRVRfSURYXS5f bW91bnRfcGF0aCwgdG1wbW91bnQpOworLSAgICAgICAgICAgIH0KKy0gICAgICAgICAgfSBlbHNl IHsKKy0gICAgICAgICAgICBjZ19pbmZvc1tDUFVTRVRfSURYXS5fbW91bnRfcGF0aCA9IG9zOjpz dHJkdXAodG1wbW91bnQpOworLSAgICAgICAgICB9CistICAgICAgICAgIGNnX2luZm9zW0NQVVNF VF9JRFhdLl9yb290X21vdW50X3BhdGggPSBvczo6c3RyZHVwKHRtcHJvb3QpOworKyAgICAgICAg ICBzZXRfY29udHJvbGxlcl9wYXRocyhjZ19pbmZvcywgQ1BVU0VUX0lEWCwgdG9rZW4sIHRtcG1v dW50LCB0bXByb290KTsKKyAgICAgICAgICAgY2dfaW5mb3NbQ1BVU0VUX0lEWF0uX2RhdGFfY29t cGxldGUgPSB0cnVlOworICAgICAgICAgfSBlbHNlIGlmIChzdHJjbXAodG9rZW4sICJjcHUiKSA9 PSAwKSB7CisgICAgICAgICAgIGFueV9jZ3JvdXBfbW91bnRzX2ZvdW5kID0gdHJ1ZTsKKy0gICAg ICAgICAgYXNzZXJ0KGNnX2luZm9zW0NQVV9JRFhdLl9tb3VudF9wYXRoID09IE5VTEwsICJzdG9t cGluZyBvZiBfbW91bnRfcGF0aCIpOworLSAgICAgICAgICBjZ19pbmZvc1tDUFVfSURYXS5fbW91 bnRfcGF0aCA9IG9zOjpzdHJkdXAodG1wbW91bnQpOworLSAgICAgICAgICBjZ19pbmZvc1tDUFVf SURYXS5fcm9vdF9tb3VudF9wYXRoID0gb3M6OnN0cmR1cCh0bXByb290KTsKKysgICAgICAgICAg c2V0X2NvbnRyb2xsZXJfcGF0aHMoY2dfaW5mb3MsIENQVV9JRFgsIHRva2VuLCB0bXBtb3VudCwg dG1wcm9vdCk7CisgICAgICAgICAgIGNnX2luZm9zW0NQVV9JRFhdLl9kYXRhX2NvbXBsZXRlID0g dHJ1ZTsKKyAgICAgICAgIH0gZWxzZSBpZiAoc3RyY21wKHRva2VuLCAiY3B1YWNjdCIpID09IDAp IHsKKyAgICAgICAgICAgYW55X2Nncm91cF9tb3VudHNfZm91bmQgPSB0cnVlOworLSAgICAgICAg ICBhc3NlcnQoY2dfaW5mb3NbQ1BVQUNDVF9JRFhdLl9tb3VudF9wYXRoID09IE5VTEwsICJzdG9t cGluZyBvZiBfbW91bnRfcGF0aCIpOworLSAgICAgICAgICBjZ19pbmZvc1tDUFVBQ0NUX0lEWF0u X21vdW50X3BhdGggPSBvczo6c3RyZHVwKHRtcG1vdW50KTsKKy0gICAgICAgICAgY2dfaW5mb3Nb Q1BVQUNDVF9JRFhdLl9yb290X21vdW50X3BhdGggPSBvczo6c3RyZHVwKHRtcHJvb3QpOworKyAg ICAgICAgICBzZXRfY29udHJvbGxlcl9wYXRocyhjZ19pbmZvcywgQ1BVQUNDVF9JRFgsIHRva2Vu LCB0bXBtb3VudCwgdG1wcm9vdCk7CisgICAgICAgICAgIGNnX2luZm9zW0NQVUFDQ1RfSURYXS5f ZGF0YV9jb21wbGV0ZSA9IHRydWU7CisgICAgICAgICB9IGVsc2UgaWYgKHN0cmNtcCh0b2tlbiwg InBpZHMiKSA9PSAwKSB7CisgICAgICAgICAgIGFueV9jZ3JvdXBfbW91bnRzX2ZvdW5kID0gdHJ1 ZTsKKy0gICAgICAgICAgYXNzZXJ0KGNnX2luZm9zW1BJRFNfSURYXS5fbW91bnRfcGF0aCA9PSBO VUxMLCAic3RvbXBpbmcgb2YgX21vdW50X3BhdGgiKTsKKy0gICAgICAgICAgY2dfaW5mb3NbUElE U19JRFhdLl9tb3VudF9wYXRoID0gb3M6OnN0cmR1cCh0bXBtb3VudCk7CistICAgICAgICAgIGNn X2luZm9zW1BJRFNfSURYXS5fcm9vdF9tb3VudF9wYXRoID0gb3M6OnN0cmR1cCh0bXByb290KTsK KysgICAgICAgICAgc2V0X2NvbnRyb2xsZXJfcGF0aHMoY2dfaW5mb3MsIFBJRFNfSURYLCB0b2tl biwgdG1wbW91bnQsIHRtcHJvb3QpOworICAgICAgICAgICBjZ19pbmZvc1tQSURTX0lEWF0uX2Rh dGFfY29tcGxldGUgPSB0cnVlOworICAgICAgICAgfQorICAgICAgIH0KK2RpZmYgLS1naXQgYS9z cmMvaG90c3BvdC9vcy9saW51eC9jZ3JvdXBTdWJzeXN0ZW1fbGludXguaHBwIGIvc3JjL2hvdHNw b3Qvb3MvbGludXgvY2dyb3VwU3Vic3lzdGVtX2xpbnV4LmhwcAoraW5kZXggMmUzZmM4ZThiYzc4 Li45MTQ1NmIzZDBlMTQgMTAwNjQ0CistLS0gYS9zcmMvaG90c3BvdC9vcy9saW51eC9jZ3JvdXBT dWJzeXN0ZW1fbGludXguaHBwCisrKysgYi9zcmMvaG90c3BvdC9vcy9saW51eC9jZ3JvdXBTdWJz eXN0ZW1fbGludXguaHBwCitAQCAtMzExLDYgKzMxMSwxMSBAQCBjbGFzcyBDZ3JvdXBTdWJzeXN0 ZW1GYWN0b3J5OiBBbGxTdGF0aWMgeworICAgICB9CisgI2VuZGlmCisgCisrICAgIHN0YXRpYyB2 b2lkIHNldF9jb250cm9sbGVyX3BhdGhzKENncm91cEluZm8qIGNnX2luZm9zLAorKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgY29udHJvbGxlciwKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciogbmFtZSwKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciogbW91bnRfcGF0aCwKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciogcm9vdF9wYXRoKTsKKyAgICAgLy8gRGV0 ZXJtaW5lIHRoZSBjZ3JvdXAgdHlwZSAodmVyc2lvbiAxIG9yIHZlcnNpb24gMiksIGdpdmVuCisg ICAgIC8vIHJlbGV2YW50IHBhdGhzIHRvIGZpbGVzLiBTZXRzICdmbGFncycgYWNjb3JkaW5nbHku CisgICAgIHN0YXRpYyBib29sIGRldGVybWluZV90eXBlKENncm91cEluZm8qIGNnX2luZm9zLAor ZGlmZiAtLWdpdCBhL3Rlc3QvaG90c3BvdC9qdHJlZy9jb250YWluZXJzL2Nncm91cC9DZ3JvdXBT dWJzeXN0ZW1GYWN0b3J5LmphdmEgYi90ZXN0L2hvdHNwb3QvanRyZWcvY29udGFpbmVycy9jZ3Jv dXAvQ2dyb3VwU3Vic3lzdGVtRmFjdG9yeS5qYXZhCitpbmRleCA1NDgwNzExOWQ4MmUuLjdlYjc4 ZmE0NDdmZCAxMDA2NDQKKy0tLSBhL3Rlc3QvaG90c3BvdC9qdHJlZy9jb250YWluZXJzL2Nncm91 cC9DZ3JvdXBTdWJzeXN0ZW1GYWN0b3J5LmphdmEKKysrKyBiL3Rlc3QvaG90c3BvdC9qdHJlZy9j b250YWluZXJzL2Nncm91cC9DZ3JvdXBTdWJzeXN0ZW1GYWN0b3J5LmphdmEKK0BAIC02MiwxMSAr NjIsMTkgQEAgcHVibGljIGNsYXNzIENncm91cFN1YnN5c3RlbUZhY3RvcnkgeworICAgICBwcml2 YXRlIFBhdGggY2dyb3VwdjFNbnRJbmZvWmVyb0hpZXJhcmNoeTsKKyAgICAgcHJpdmF0ZSBQYXRo IGNncm91cHYyQ2dJbmZvWmVyb0hpZXJhcmNoeTsKKyAgICAgcHJpdmF0ZSBQYXRoIGNncm91cHYy TW50SW5mb1plcm9IaWVyYXJjaHk7CisrICAgIHByaXZhdGUgUGF0aCBjZ3JvdXB2Mk1udEluZm9E b3VibGU7CisrICAgIHByaXZhdGUgUGF0aCBjZ3JvdXB2Mk1udEluZm9Eb3VibGUyOworICAgICBw cml2YXRlIFBhdGggY2dyb3VwdjFDZ0luZm9Ob25aZXJvSGllcmFyY2h5OworICAgICBwcml2YXRl IFBhdGggY2dyb3VwdjFNbnRJbmZvTm9uWmVyb0hpZXJhcmNoeU90aGVyT3JkZXI7CisgICAgIHBy aXZhdGUgUGF0aCBjZ3JvdXB2MU1udEluZm9Ob25aZXJvSGllcmFyY2h5OworICAgICBwcml2YXRl IFBhdGggY2dyb3VwdjFNbnRJbmZvRG91YmxlQ3B1c2V0OworICAgICBwcml2YXRlIFBhdGggY2dy b3VwdjFNbnRJbmZvRG91YmxlQ3B1c2V0MjsKKysgICAgcHJpdmF0ZSBQYXRoIGNncm91cHYxTW50 SW5mb0RvdWJsZU1lbW9yeTsKKysgICAgcHJpdmF0ZSBQYXRoIGNncm91cHYxTW50SW5mb0RvdWJs ZU1lbW9yeTI7CisrICAgIHByaXZhdGUgUGF0aCBjZ3JvdXB2MU1udEluZm9Eb3VibGVDcHU7Cisr ICAgIHByaXZhdGUgUGF0aCBjZ3JvdXB2MU1udEluZm9Eb3VibGVDcHUyOworKyAgICBwcml2YXRl IFBhdGggY2dyb3VwdjFNbnRJbmZvRG91YmxlUGlkczsKKysgICAgcHJpdmF0ZSBQYXRoIGNncm91 cHYxTW50SW5mb0RvdWJsZVBpZHMyOworICAgICBwcml2YXRlIFBhdGggY2dyb3VwdjFNbnRJbmZv U3lzdGVtZE9ubHk7CisgICAgIHByaXZhdGUgU3RyaW5nIG1udEluZm9FbXB0eSA9ICIiOworICAg ICBwcml2YXRlIFBhdGggY2dyb3VwVjFTZWxmQ2dyb3VwOworQEAgLTE2MCw2ICsxNjgsMTUgQEAg cHVibGljIGNsYXNzIENncm91cFN1YnN5c3RlbUZhY3RvcnkgeworICAgICBwcml2YXRlIFN0cmlu ZyBtbnRJbmZvQ2dyb3VwdjFNb3JlQ3B1c2V0TGluZSA9ICIxMjEgMzIgMDozNyAvIC9jcHVzZXRz IHJ3LHJlbGF0aW1lIHNoYXJlZDo2OSAtIGNncm91cCBub25lIHJ3LGNwdXNldFxuIjsKKyAgICAg cHJpdmF0ZSBTdHJpbmcgbW50SW5mb0Nncm91cHYxRG91YmxlQ3B1c2V0ID0gbW50SW5mb0Nncm91 cHYxTW9yZUNwdXNldExpbmUgKyBtbnRJbmZvSHlicmlkOworICAgICBwcml2YXRlIFN0cmluZyBt bnRJbmZvQ2dyb3VwdjFEb3VibGVDcHVzZXQyID0gIG1udEluZm9IeWJyaWQgKyBtbnRJbmZvQ2dy b3VwdjFNb3JlQ3B1c2V0TGluZTsKKysgICAgcHJpdmF0ZSBTdHJpbmcgbW50SW5mb0Nncm91cHYx TW9yZU1lbW9yeUxpbmUgPSAiMTEwMCAxMDk4IDA6MjggLyAvbWVtb3J5IHJ3LG5vc3VpZCxub2Rl dixub2V4ZWMscmVsYXRpbWUgbWFzdGVyOjYgLSBjZ3JvdXAgY2dyb3VwIHJ3LG1lbW9yeVxuIjsK KysgICAgcHJpdmF0ZSBTdHJpbmcgbW50SW5mb0Nncm91cHYxRG91YmxlTWVtb3J5ID0gbW50SW5m b0Nncm91cHYxTW9yZU1lbW9yeUxpbmUgKyBtbnRJbmZvSHlicmlkOworKyAgICBwcml2YXRlIFN0 cmluZyBtbnRJbmZvQ2dyb3VwdjFEb3VibGVNZW1vcnkyID0gbW50SW5mb0h5YnJpZCArIG1udElu Zm9DZ3JvdXB2MU1vcmVNZW1vcnlMaW5lOworKyAgICBwcml2YXRlIFN0cmluZyBtbnRJbmZvQ2dy b3VwdjFEb3VibGVDcHVMaW5lID0gIjExMDEgMTA5OCAwOjI5IC8gL2NwdSxjcHVhY2N0IHJ3LG5v c3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgbWFzdGVyOjcgLSBjZ3JvdXAgY2dyb3VwIHJ3LGNw dSxjcHVhY2N0XG4iOworKyAgICBwcml2YXRlIFN0cmluZyBtbnRJbmZvQ2dyb3VwdjFEb3VibGVD cHUgPSBtbnRJbmZvQ2dyb3VwdjFEb3VibGVDcHVMaW5lICsgbW50SW5mb0h5YnJpZDsKKysgICAg cHJpdmF0ZSBTdHJpbmcgbW50SW5mb0Nncm91cHYxRG91YmxlQ3B1MiA9IG1udEluZm9IeWJyaWQg KyBtbnRJbmZvQ2dyb3VwdjFEb3VibGVDcHVMaW5lOworKyAgICBwcml2YXRlIFN0cmluZyBtbnRJ bmZvQ2dyb3VwdjFEb3VibGVQaWRzTGluZSA9ICIxMTA3IDEwOTggMDozNSAvIC9waWRzIHJ3LG5v c3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgbWFzdGVyOjEzIC0gY2dyb3VwIGNncm91cCBydyxw aWRzXG4iOworKyAgICBwcml2YXRlIFN0cmluZyBtbnRJbmZvQ2dyb3VwdjFEb3VibGVQaWRzID0g bW50SW5mb0Nncm91cHYxRG91YmxlUGlkc0xpbmUgKyBtbnRJbmZvSHlicmlkOworKyAgICBwcml2 YXRlIFN0cmluZyBtbnRJbmZvQ2dyb3VwdjFEb3VibGVQaWRzMiA9IG1udEluZm9IeWJyaWQgKyBt bnRJbmZvQ2dyb3VwdjFEb3VibGVQaWRzTGluZTsKKyAgICAgcHJpdmF0ZSBTdHJpbmcgY2dyb3Vw c05vblplcm9IaWVyYXJjaHkgPQorICAgICAgICAgICAgICIjc3Vic3lzX25hbWUgaGllcmFyY2h5 ICAgbnVtX2Nncm91cHMgZW5hYmxlZFxuIiArCisgICAgICAgICAgICAgImNwdXNldCAgMyAgIDEg ICAxXG4iICsKK0BAIC0xNzUsNyArMTkyLDExIEBAIHB1YmxpYyBjbGFzcyBDZ3JvdXBTdWJzeXN0 ZW1GYWN0b3J5IHsKKyAgICAgICAgICAgICAiaHVnZXRsYiA2ICAgMSAgIDFcbiIgKworICAgICAg ICAgICAgICJwaWRzICAgIDkgICA4MCAgMSI7ICAvLyBoaWVyYXJjaHkgaGFzIHRvIG1hdGNoIHBy b2NTZWxmQ2dyb3VwSHlicmlkQ29udGVudAorICAgICBwcml2YXRlIFN0cmluZyBtbnRJbmZvQ2dy b3Vwc1YyT25seSA9CistICAgICAgICAgICAgIjI4IDIxIDA6MjUgLyAvc3lzL2ZzL2Nncm91cCBy dyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lIHNoYXJlZDo0IC0gY2dyb3VwMiBub25lIHJ3 LHNlY2xhYmVsLG5zZGVsZWdhdGUiOworKyAgICAgICAgICAgICIyOCAyMSAwOjI1IC8gL3N5cy9m cy9jZ3JvdXAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSBzaGFyZWQ6NCAtIGNncm91 cDIgbm9uZSBydyxzZWNsYWJlbCxuc2RlbGVnYXRlXG4iOworKyAgICBwcml2YXRlIFN0cmluZyBt bnRJbmZvQ2dyb3Vwc1YyTW9yZUxpbmUgPQorKyAgICAgICAgICAgICIyNDAgMjMyIDA6MjQgLy4u Ly4uIC9jZ3JvdXAtaW4gcm8scmVsYXRpbWUgLSBjZ3JvdXAyIGNncm91cDIgcncsbnNkZWxlZ2F0 ZVxuIjsKKysgICAgcHJpdmF0ZSBTdHJpbmcgbW50SW5mb0Nncm91cHNWMkRvdWJsZSA9IG1udElu Zm9DZ3JvdXBzVjJNb3JlTGluZSArIG1udEluZm9DZ3JvdXBzVjJPbmx5OworKyAgICBwcml2YXRl IFN0cmluZyBtbnRJbmZvQ2dyb3Vwc1YyRG91YmxlMiA9IG1udEluZm9DZ3JvdXBzVjJPbmx5ICsg bW50SW5mb0Nncm91cHNWMk1vcmVMaW5lOworICAgICBwcml2YXRlIFN0cmluZyBtbnRJbmZvQ2dy b3Vwc1YxU3lzdGVtZE9ubHkgPQorICAgICAgICAgICAgICIzNSAyNiAwOjI2IC8gL3N5cy9mcy9j Z3JvdXAvc3lzdGVtZCBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lIC0gY2dyb3VwIHN5 c3RlbWQgcncsbmFtZT1zeXN0ZW1kXG4iICsKKyAgICAgICAgICAgICAiMjYgMTggMDoxOSAvIC9z eXMvZnMvY2dyb3VwIHJ3LHJlbGF0aW1lIC0gdG1wZnMgbm9uZSBydyxzaXplPTRrLG1vZGU9NzU1 XG4iOworQEAgLTIxNyw2ICsyMzgsMTIgQEAgcHJpdmF0ZSB2b2lkIHNldHVwKCkgeworICAgICAg ICAgICAgIGNncm91cHYyTW50SW5mb1plcm9IaWVyYXJjaHkgPSBQYXRocy5nZXQoZXhpc3RpbmdE aXJlY3RvcnkudG9TdHJpbmcoKSwgIm1vdW50aW5mb19jZ3JvdXB2MiIpOworICAgICAgICAgICAg IEZpbGVzLndyaXRlU3RyaW5nKGNncm91cHYyTW50SW5mb1plcm9IaWVyYXJjaHksIG1udEluZm9D Z3JvdXBzVjJPbmx5KTsKKyAKKysgICAgICAgICAgICBjZ3JvdXB2Mk1udEluZm9Eb3VibGUgPSBQ YXRocy5nZXQoZXhpc3RpbmdEaXJlY3RvcnkudG9TdHJpbmcoKSwgIm1vdW50aW5mb19jZ3JvdXB2 Ml9kb3VibGUiKTsKKysgICAgICAgICAgICBGaWxlcy53cml0ZVN0cmluZyhjZ3JvdXB2Mk1udElu Zm9Eb3VibGUsIG1udEluZm9DZ3JvdXBzVjJEb3VibGUpOworKworKyAgICAgICAgICAgIGNncm91 cHYyTW50SW5mb0RvdWJsZTIgPSBQYXRocy5nZXQoZXhpc3RpbmdEaXJlY3RvcnkudG9TdHJpbmco KSwgIm1vdW50aW5mb19jZ3JvdXB2Ml9kb3VibGUyIik7CisrICAgICAgICAgICAgRmlsZXMud3Jp dGVTdHJpbmcoY2dyb3VwdjJNbnRJbmZvRG91YmxlMiwgbW50SW5mb0Nncm91cHNWMkRvdWJsZTIp OworKworICAgICAgICAgICAgIGNncm91cHYxQ2dJbmZvTm9uWmVyb0hpZXJhcmNoeSA9IFBhdGhz LmdldChleGlzdGluZ0RpcmVjdG9yeS50b1N0cmluZygpLCAiY2dyb3Vwc19ub25femVybyIpOwor ICAgICAgICAgICAgIEZpbGVzLndyaXRlU3RyaW5nKGNncm91cHYxQ2dJbmZvTm9uWmVyb0hpZXJh cmNoeSwgY2dyb3Vwc05vblplcm9IaWVyYXJjaHkpOworIAorQEAgLTI0NCw2ICsyNzEsMjQgQEAg cHJpdmF0ZSB2b2lkIHNldHVwKCkgeworICAgICAgICAgICAgIGNncm91cHYxTW50SW5mb0RvdWJs ZUNwdXNldDIgPSBQYXRocy5nZXQoZXhpc3RpbmdEaXJlY3RvcnkudG9TdHJpbmcoKSwgIm1udF9p bmZvX2Nncm91cHYxX2RvdWJsZV9jcHVzZXQyIik7CisgICAgICAgICAgICAgRmlsZXMud3JpdGVT dHJpbmcoY2dyb3VwdjFNbnRJbmZvRG91YmxlQ3B1c2V0MiwgbW50SW5mb0Nncm91cHYxRG91Ymxl Q3B1c2V0Mik7CisgCisrICAgICAgICAgICAgY2dyb3VwdjFNbnRJbmZvRG91YmxlTWVtb3J5ID0g UGF0aHMuZ2V0KGV4aXN0aW5nRGlyZWN0b3J5LnRvU3RyaW5nKCksICJtbnRfaW5mb19jZ3JvdXB2 MV9kb3VibGVfbWVtb3J5Iik7CisrICAgICAgICAgICAgRmlsZXMud3JpdGVTdHJpbmcoY2dyb3Vw djFNbnRJbmZvRG91YmxlTWVtb3J5LCBtbnRJbmZvQ2dyb3VwdjFEb3VibGVNZW1vcnkpOworKwor KyAgICAgICAgICAgIGNncm91cHYxTW50SW5mb0RvdWJsZU1lbW9yeTIgPSBQYXRocy5nZXQoZXhp c3RpbmdEaXJlY3RvcnkudG9TdHJpbmcoKSwgIm1udF9pbmZvX2Nncm91cHYxX2RvdWJsZV9tZW1v cnkyIik7CisrICAgICAgICAgICAgRmlsZXMud3JpdGVTdHJpbmcoY2dyb3VwdjFNbnRJbmZvRG91 YmxlTWVtb3J5MiwgbW50SW5mb0Nncm91cHYxRG91YmxlTWVtb3J5Mik7CisrCisrICAgICAgICAg ICAgY2dyb3VwdjFNbnRJbmZvRG91YmxlQ3B1ID0gUGF0aHMuZ2V0KGV4aXN0aW5nRGlyZWN0b3J5 LnRvU3RyaW5nKCksICJtbnRfaW5mb19jZ3JvdXB2MV9kb3VibGVfY3B1Iik7CisrICAgICAgICAg ICAgRmlsZXMud3JpdGVTdHJpbmcoY2dyb3VwdjFNbnRJbmZvRG91YmxlQ3B1LCBtbnRJbmZvQ2dy b3VwdjFEb3VibGVDcHUpOworKworKyAgICAgICAgICAgIGNncm91cHYxTW50SW5mb0RvdWJsZUNw dTIgPSBQYXRocy5nZXQoZXhpc3RpbmdEaXJlY3RvcnkudG9TdHJpbmcoKSwgIm1udF9pbmZvX2Nn cm91cHYxX2RvdWJsZV9jcHUyIik7CisrICAgICAgICAgICAgRmlsZXMud3JpdGVTdHJpbmcoY2dy b3VwdjFNbnRJbmZvRG91YmxlQ3B1MiwgbW50SW5mb0Nncm91cHYxRG91YmxlQ3B1Mik7CisrCisr ICAgICAgICAgICAgY2dyb3VwdjFNbnRJbmZvRG91YmxlUGlkcyA9IFBhdGhzLmdldChleGlzdGlu Z0RpcmVjdG9yeS50b1N0cmluZygpLCAibW50X2luZm9fY2dyb3VwdjFfZG91YmxlX3BpZHMiKTsK KysgICAgICAgICAgICBGaWxlcy53cml0ZVN0cmluZyhjZ3JvdXB2MU1udEluZm9Eb3VibGVQaWRz LCBtbnRJbmZvQ2dyb3VwdjFEb3VibGVQaWRzKTsKKysKKysgICAgICAgICAgICBjZ3JvdXB2MU1u dEluZm9Eb3VibGVQaWRzMiA9IFBhdGhzLmdldChleGlzdGluZ0RpcmVjdG9yeS50b1N0cmluZygp LCAibW50X2luZm9fY2dyb3VwdjFfZG91YmxlX3BpZHMyIik7CisrICAgICAgICAgICAgRmlsZXMu d3JpdGVTdHJpbmcoY2dyb3VwdjFNbnRJbmZvRG91YmxlUGlkczIsIG1udEluZm9DZ3JvdXB2MURv dWJsZVBpZHMyKTsKKysKKyAgICAgICAgICAgICBjZ3JvdXB2MU1udEluZm9TeXN0ZW1kT25seSA9 IFBhdGhzLmdldChleGlzdGluZ0RpcmVjdG9yeS50b1N0cmluZygpLCAibW50X2luZm9fY2dyb3Vw djFfc3lzdGVtZF9vbmx5Iik7CisgICAgICAgICAgICAgRmlsZXMud3JpdGVTdHJpbmcoY2dyb3Vw djFNbnRJbmZvU3lzdGVtZE9ubHksIG1udEluZm9DZ3JvdXBzVjFTeXN0ZW1kT25seSk7CisgCitA QCAtMjkxLDE0ICszMzYsMTQgQEAgcHVibGljIHZvaWQgdGVzdENncm91cHYxSm9pbkNvbnRyb2xs ZXJDb21ibyhXaGl0ZUJveCB3YikgeworICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJ0ZXN0 Q2dyb3VwdjFKb2luQ29udHJvbGxlck1vdW50cyBQQVNTRUQhIik7CisgICAgIH0KKyAKKy0gICAg cHVibGljIHZvaWQgdGVzdENncm91cHYxTXVsdGlwbGVDcHVzZXRNb3VudHMoV2hpdGVCb3ggd2Is IFBhdGggbW91bnRJbmZvKSB7CisrICAgIHB1YmxpYyB2b2lkIHRlc3RDZ3JvdXB2MU11bHRpcGxl Q29udHJvbGxlck1vdW50cyhXaGl0ZUJveCB3YiwgUGF0aCBtb3VudEluZm8pIHsKKyAgICAgICAg IFN0cmluZyBwcm9jQ2dyb3VwcyA9IGNncm91cHYxQ2dJbmZvTm9uWmVyb0hpZXJhcmNoeS50b1N0 cmluZygpOworICAgICAgICAgU3RyaW5nIHByb2NTZWxmQ2dyb3VwID0gY2dyb3VwVjFTZWxmQ2dy b3VwLnRvU3RyaW5nKCk7CisgICAgICAgICBTdHJpbmcgcHJvY1NlbGZNb3VudGluZm8gPSBtb3Vu dEluZm8udG9TdHJpbmcoKTsKKyAgICAgICAgIGludCByZXR2YWwgPSB3Yi52YWxpZGF0ZUNncm91 cChwcm9jQ2dyb3VwcywgcHJvY1NlbGZDZ3JvdXAsIHByb2NTZWxmTW91bnRpbmZvKTsKKy0gICAg ICAgIEFzc2VydHMuYXNzZXJ0RVEoQ0dST1VQU19WMSwgcmV0dmFsLCAiTXVsdGlwbGUgY3B1c2V0 IGNvbnRyb2xsZXJzLCBidXQgb25seSBvbmUgaW4gL3N5cy9mcy9jZ3JvdXAiKTsKKysgICAgICAg IEFzc2VydHMuYXNzZXJ0RVEoQ0dST1VQU19WMSwgcmV0dmFsLCAiTXVsdGlwbGUgY29udHJvbGxl cnMsIGJ1dCBvbmx5IG9uZSBpbiAvc3lzL2ZzL2Nncm91cCIpOworICAgICAgICAgQXNzZXJ0cy5h c3NlcnRUcnVlKGlzVmFsaWRDZ3JvdXAocmV0dmFsKSk7CistICAgICAgICBTeXN0ZW0ub3V0LnBy aW50bG4oInRlc3RDZ3JvdXB2MU11bHRpcGxlQ3B1c2V0TW91bnRzIFBBU1NFRCEiKTsKKysgICAg ICAgIFN5c3RlbS5vdXQucHJpbnRsbigidGVzdENncm91cHYxTXVsdGlwbGVDb250cm9sbGVyTW91 bnRzIFBBU1NFRCEiKTsKKyAgICAgfQorIAorICAgICBwdWJsaWMgdm9pZCB0ZXN0Q2dyb3VwdjFT eXN0ZW1kT25seShXaGl0ZUJveCB3YikgeworQEAgLTM0MSwxMCArMzg2LDEwIEBAIHB1YmxpYyB2 b2lkIHRlc3RDZ3JvdXB2MU1pc3NpbmdNZW1vcnlDb250cm9sbGVyKFdoaXRlQm94IHdiKSB7Cisg ICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oInRlc3RDZ3JvdXB2MU1pc3NpbmdNZW1vcnlDb250 cm9sbGVyIFBBU1NFRCEiKTsKKyAgICAgfQorIAorLSAgICBwdWJsaWMgdm9pZCB0ZXN0Q2dyb3Vw djIoV2hpdGVCb3ggd2IpIHsKKysgICAgcHVibGljIHZvaWQgdGVzdENncm91cHYyKFdoaXRlQm94 IHdiLCBQYXRoIG1vdW50SW5mbykgeworICAgICAgICAgU3RyaW5nIHByb2NDZ3JvdXBzID0gY2dy b3VwdjJDZ0luZm9aZXJvSGllcmFyY2h5LnRvU3RyaW5nKCk7CisgICAgICAgICBTdHJpbmcgcHJv Y1NlbGZDZ3JvdXAgPSBjZ3JvdXBWMlNlbGZDZ3JvdXAudG9TdHJpbmcoKTsKKy0gICAgICAgIFN0 cmluZyBwcm9jU2VsZk1vdW50aW5mbyA9IGNncm91cHYyTW50SW5mb1plcm9IaWVyYXJjaHkudG9T dHJpbmcoKTsKKysgICAgICAgIFN0cmluZyBwcm9jU2VsZk1vdW50aW5mbyA9IG1vdW50SW5mby50 b1N0cmluZygpOworICAgICAgICAgaW50IHJldHZhbCA9IHdiLnZhbGlkYXRlQ2dyb3VwKHByb2ND Z3JvdXBzLCBwcm9jU2VsZkNncm91cCwgcHJvY1NlbGZNb3VudGluZm8pOworICAgICAgICAgQXNz ZXJ0cy5hc3NlcnRFUShDR1JPVVBTX1YyLCByZXR2YWwsICJFeHBlY3RlZCIpOworICAgICAgICAg QXNzZXJ0cy5hc3NlcnRUcnVlKGlzVmFsaWRDZ3JvdXAocmV0dmFsKSk7CitAQCAtMzg4LDEzICs0 MzMsMjEgQEAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgdGhyb3dzIEV4 Y2VwdGlvbiB7CisgICAgICAgICB0cnkgeworICAgICAgICAgICAgIHRlc3QudGVzdENncm91cHYx U3lzdGVtZE9ubHkod2IpOworICAgICAgICAgICAgIHRlc3QudGVzdENncm91cHYxTm9Nb3VudHMo d2IpOworLSAgICAgICAgICAgIHRlc3QudGVzdENncm91cHYyKHdiKTsKKysgICAgICAgICAgICB0 ZXN0LnRlc3RDZ3JvdXB2Mih3YiwgdGVzdC5jZ3JvdXB2Mk1udEluZm9aZXJvSGllcmFyY2h5KTsK KysgICAgICAgICAgICB0ZXN0LnRlc3RDZ3JvdXB2Mih3YiwgdGVzdC5jZ3JvdXB2Mk1udEluZm9E b3VibGUpOworKyAgICAgICAgICAgIHRlc3QudGVzdENncm91cHYyKHdiLCB0ZXN0LmNncm91cHYy TW50SW5mb0RvdWJsZTIpOworICAgICAgICAgICAgIHRlc3QudGVzdENncm91cFYxSHlicmlkKHdi KTsKKyAgICAgICAgICAgICB0ZXN0LnRlc3RDZ3JvdXBWMUh5YnJpZE1udEluZm9PcmRlcih3Yik7 CisgICAgICAgICAgICAgdGVzdC50ZXN0Q2dyb3VwdjFNaXNzaW5nTWVtb3J5Q29udHJvbGxlcih3 Yik7CisgICAgICAgICAgICAgdGVzdC50ZXN0Q2dyb3VwdjJOb0Nncm91cDJGcyh3Yik7CistICAg ICAgICAgICAgdGVzdC50ZXN0Q2dyb3VwdjFNdWx0aXBsZUNwdXNldE1vdW50cyh3YiwgdGVzdC5j Z3JvdXB2MU1udEluZm9Eb3VibGVDcHVzZXQpOworLSAgICAgICAgICAgIHRlc3QudGVzdENncm91 cHYxTXVsdGlwbGVDcHVzZXRNb3VudHMod2IsIHRlc3QuY2dyb3VwdjFNbnRJbmZvRG91YmxlQ3B1 c2V0Mik7CisrICAgICAgICAgICAgdGVzdC50ZXN0Q2dyb3VwdjFNdWx0aXBsZUNvbnRyb2xsZXJN b3VudHMod2IsIHRlc3QuY2dyb3VwdjFNbnRJbmZvRG91YmxlQ3B1c2V0KTsKKysgICAgICAgICAg ICB0ZXN0LnRlc3RDZ3JvdXB2MU11bHRpcGxlQ29udHJvbGxlck1vdW50cyh3YiwgdGVzdC5jZ3Jv dXB2MU1udEluZm9Eb3VibGVDcHVzZXQyKTsKKysgICAgICAgICAgICB0ZXN0LnRlc3RDZ3JvdXB2 MU11bHRpcGxlQ29udHJvbGxlck1vdW50cyh3YiwgdGVzdC5jZ3JvdXB2MU1udEluZm9Eb3VibGVN ZW1vcnkpOworKyAgICAgICAgICAgIHRlc3QudGVzdENncm91cHYxTXVsdGlwbGVDb250cm9sbGVy TW91bnRzKHdiLCB0ZXN0LmNncm91cHYxTW50SW5mb0RvdWJsZU1lbW9yeTIpOworKyAgICAgICAg ICAgIHRlc3QudGVzdENncm91cHYxTXVsdGlwbGVDb250cm9sbGVyTW91bnRzKHdiLCB0ZXN0LmNn cm91cHYxTW50SW5mb0RvdWJsZUNwdSk7CisrICAgICAgICAgICAgdGVzdC50ZXN0Q2dyb3VwdjFN dWx0aXBsZUNvbnRyb2xsZXJNb3VudHMod2IsIHRlc3QuY2dyb3VwdjFNbnRJbmZvRG91YmxlQ3B1 Mik7CisrICAgICAgICAgICAgdGVzdC50ZXN0Q2dyb3VwdjFNdWx0aXBsZUNvbnRyb2xsZXJNb3Vu dHMod2IsIHRlc3QuY2dyb3VwdjFNbnRJbmZvRG91YmxlUGlkcyk7CisrICAgICAgICAgICAgdGVz dC50ZXN0Q2dyb3VwdjFNdWx0aXBsZUNvbnRyb2xsZXJNb3VudHMod2IsIHRlc3QuY2dyb3VwdjFN bnRJbmZvRG91YmxlUGlkczIpOworICAgICAgICAgICAgIHRlc3QudGVzdENncm91cHYxSm9pbkNv bnRyb2xsZXJDb21ibyh3Yik7CisgICAgICAgICAgICAgdGVzdC50ZXN0Tm9uWmVyb0hpZXJhcmNo eU9ubHlGcmVlemVyKHdiKTsKKyAgICAgICAgIH0gZmluYWxseSB7CitkaWZmIC0tZ2l0IGEvdGVz dC9ob3RzcG90L2p0cmVnL2NvbnRhaW5lcnMvZG9ja2VyL0RvY2tlckJhc2ljVGVzdC5qYXZhIGIv dGVzdC9ob3RzcG90L2p0cmVnL2NvbnRhaW5lcnMvZG9ja2VyL0RvY2tlckJhc2ljVGVzdC5qYXZh CitpbmRleCBiY2JkMmZmYTIxZGYuLjM1N2ViM2RiNDk3MiAxMDA2NDQKKy0tLSBhL3Rlc3QvaG90 c3BvdC9qdHJlZy9jb250YWluZXJzL2RvY2tlci9Eb2NrZXJCYXNpY1Rlc3QuamF2YQorKysrIGIv dGVzdC9ob3RzcG90L2p0cmVnL2NvbnRhaW5lcnMvZG9ja2VyL0RvY2tlckJhc2ljVGVzdC5qYXZh CitAQCAtNTMsNiArNTMsNyBAQCBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdz KSB0aHJvd3MgRXhjZXB0aW9uIHsKKyAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgdGVzdEph dmFWZXJzaW9uKCk7CisgICAgICAgICAgICAgdGVzdEhlbGxvRG9ja2VyKCk7CisrICAgICAgICAg ICAgdGVzdEphdmFWZXJzaW9uV2l0aENnTW91bnRzKCk7CisgICAgICAgICB9IGZpbmFsbHkgewor ICAgICAgICAgICAgIGlmICghRG9ja2VyVGVzdFV0aWxzLlJFVEFJTl9JTUFHRV9BRlRFUl9URVNU KSB7CisgICAgICAgICAgICAgICAgIERvY2tlclRlc3RVdGlscy5yZW1vdmVEb2NrZXJJbWFnZShp bWFnZU5hbWVBbmRUYWcpOworQEAgLTgxLDQgKzgyLDE3IEBAIHByaXZhdGUgc3RhdGljIHZvaWQg dGVzdEhlbGxvRG9ja2VyKCkgdGhyb3dzIEV4Y2VwdGlvbiB7CisgICAgICAgICAgICAgLnNob3Vs ZEhhdmVFeGl0VmFsdWUoMCkKKyAgICAgICAgICAgICAuc2hvdWxkQ29udGFpbigiSGVsbG8gRG9j a2VyIik7CisgICAgIH0KKysKKysKKysgICAgcHJpdmF0ZSBzdGF0aWMgdm9pZCB0ZXN0SmF2YVZl cnNpb25XaXRoQ2dNb3VudHMoKSB0aHJvd3MgRXhjZXB0aW9uIHsKKysgICAgICAgIERvY2tlclJ1 bk9wdGlvbnMgb3B0cyA9CisrICAgICAgICAgICAgbmV3IERvY2tlclJ1bk9wdGlvbnMoaW1hZ2VO YW1lQW5kVGFnLCAiL2pkay9iaW4vamF2YSIsICItdmVyc2lvbiIpCisrICAgICAgICAgICAgLmFk ZERvY2tlck9wdHMoIi12IiwgIi9zeXMvZnMvY2dyb3VwOi9jZ3JvdXBzLWluOnJvIik7CisrCisr ICAgICAgICAvLyBEdXBsaWNhdGVkIGNncm91cCBtb3VudHMgc2hvdWxkIGJlIGhhbmRsZWQgYnkg dGhlIGNvbnRhaW5lciBkZXRlY3Rpb24KKysgICAgICAgIC8vIGNvZGUgYW5kIHNob3VsZCBub3Qg Y2F1c2UgYW55IGVycm9yL3dhcm5pbmcgb3V0cHV0LgorKyAgICAgICAgRG9ja2VyVGVzdFV0aWxz LmRvY2tlclJ1bkphdmEob3B0cykKKysgICAgICAgICAgICAuc2hvdWxkSGF2ZUV4aXRWYWx1ZSgw KQorKyAgICAgICAgICAgIC5zaG91bGROb3RNYXRjaCgiXFxbb3MsY29udGFpbmVyICpcXF0iKTsK KysgICAgfQorIH0KK2RpZmYgLS1naXQgYS90ZXN0L2hvdHNwb3QvanRyZWcvY29udGFpbmVycy9k b2NrZXIvVGVzdENQVUF3YXJlbmVzcy5qYXZhIGIvdGVzdC9ob3RzcG90L2p0cmVnL2NvbnRhaW5l cnMvZG9ja2VyL1Rlc3RDUFVBd2FyZW5lc3MuamF2YQoraW5kZXggOTM4ODFjNjE1YmQ5Li5hNDFk YzljMzkzOTIgMTAwNjQ0CistLS0gYS90ZXN0L2hvdHNwb3QvanRyZWcvY29udGFpbmVycy9kb2Nr ZXIvVGVzdENQVUF3YXJlbmVzcy5qYXZhCisrKysgYi90ZXN0L2hvdHNwb3QvanRyZWcvY29udGFp bmVycy9kb2NrZXIvVGVzdENQVUF3YXJlbmVzcy5qYXZhCitAQCAtNzAsMTAgKzcwLDExIEBAIHB1 YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBFeGNlcHRpb24gewor ICAgICAgICAgICAgIHRlc3RBY3RpdmVQcm9jZXNzb3JDb3VudCgyLCAyKTsKKyAKKyAgICAgICAg ICAgICAvLyBjcHUgcXVvdGEgYW5kIHBlcmlvZAorLSAgICAgICAgICAgIHRlc3RDcHVRdW90YUFu ZFBlcmlvZCg1MCoxMDAwLCAxMDAqMTAwMCk7CistICAgICAgICAgICAgdGVzdENwdVF1b3RhQW5k UGVyaW9kKDEwMCoxMDAwLCAxMDAqMTAwMCk7CistICAgICAgICAgICAgdGVzdENwdVF1b3RhQW5k UGVyaW9kKDE1MCoxMDAwLCAxMDAqMTAwMCk7CistICAgICAgICAgICAgdGVzdENwdVF1b3RhQW5k UGVyaW9kKDQwMCoxMDAwLCAxMDAqMTAwMCk7CisrICAgICAgICAgICAgdGVzdENwdVF1b3RhQW5k UGVyaW9kKDUwKjEwMDAsIDEwMCoxMDAwLCBmYWxzZSk7CisrICAgICAgICAgICAgdGVzdENwdVF1 b3RhQW5kUGVyaW9kKDEwMCoxMDAwLCAxMDAqMTAwMCwgZmFsc2UpOworKyAgICAgICAgICAgIHRl c3RDcHVRdW90YUFuZFBlcmlvZCgxNTAqMTAwMCwgMTAwKjEwMDAsIGZhbHNlKTsKKysgICAgICAg ICAgICB0ZXN0Q3B1UXVvdGFBbmRQZXJpb2QoNDAwKjEwMDAsIDEwMCoxMDAwLCBmYWxzZSk7Cisr ICAgICAgICAgICAgdGVzdENwdVF1b3RhQW5kUGVyaW9kKDUwKjEwMDAsIDEwMCoxMDAwLCB0cnVl IC8qIGFkZGl0aW9uYWwgY2dyb3VwIG1vdW50ICovKTsKKyAKKyAgICAgICAgICAgICB0ZXN0T3Bl cmF0aW5nU3lzdGVtTVhCZWFuQXdhcmVuZXNzKCIwLjUiLCAiMSIpOworICAgICAgICAgICAgIHRl c3RPcGVyYXRpbmdTeXN0ZW1NWEJlYW5Bd2FyZW5lc3MoIjEuMCIsICIxIik7CitAQCAtMTUzLDcg KzE1NCw3IEBAIHByaXZhdGUgc3RhdGljIGludCBhZGp1c3RFeHBlY3RlZEFQQ0ZvckF2YWlsYWJs ZUNQVXMoaW50IGV4cGVjdGVkQVBDKSB7CisgICAgIH0KKyAKKyAKKy0gICAgcHJpdmF0ZSBzdGF0 aWMgdm9pZCB0ZXN0Q3B1UXVvdGFBbmRQZXJpb2QoaW50IHF1b3RhLCBpbnQgcGVyaW9kKQorKyAg ICBwcml2YXRlIHN0YXRpYyB2b2lkIHRlc3RDcHVRdW90YUFuZFBlcmlvZChpbnQgcXVvdGEsIGlu dCBwZXJpb2QsIGJvb2xlYW4gYWRkQ2dtb3VudHMpCisgICAgICAgICB0aHJvd3MgRXhjZXB0aW9u IHsKKyAgICAgICAgIENvbW1vbi5sb2dOZXdUZXN0Q2FzZSgidGVzdCBjcHUgcXVvdGEgYW5kIHBl cmlvZDogIik7CisgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oInF1b3RhID0gIiArIHF1b3Rh KTsKK0BAIC0xNjcsNiArMTY4LDEwIEBAIHByaXZhdGUgc3RhdGljIHZvaWQgdGVzdENwdVF1b3Rh QW5kUGVyaW9kKGludCBxdW90YSwgaW50IHBlcmlvZCkKKyAgICAgICAgICAgICAuYWRkRG9ja2Vy T3B0cygiLS1jcHUtcGVyaW9kPSIgKyBwZXJpb2QpCisgICAgICAgICAgICAgLmFkZERvY2tlck9w dHMoIi0tY3B1LXF1b3RhPSIgKyBxdW90YSk7CisgCisrICAgICAgICBpZiAoYWRkQ2dtb3VudHMp IHsKKysgICAgICAgICAgICBvcHRzID0gb3B0cy5hZGREb2NrZXJPcHRzKCItLXZvbHVtZSIsICIv c3lzL2ZzL2Nncm91cDovY2dyb3Vwcy1pbjpybyIpOworKyAgICAgICAgfQorKworICAgICAgICAg Q29tbW9uLnJ1bihvcHRzKQorICAgICAgICAgICAgIC5zaG91bGRNYXRjaCgiQ1BVIFBlcmlvZCBp cy4qIiArIHBlcmlvZCkKKyAgICAgICAgICAgICAuc2hvdWxkTWF0Y2goIkNQVSBRdW90YSBpcy4q IiArIHF1b3RhKQorZGlmZiAtLWdpdCBhL3Rlc3QvaG90c3BvdC9qdHJlZy9jb250YWluZXJzL2Rv Y2tlci9UZXN0TWVtb3J5QXdhcmVuZXNzLmphdmEgYi90ZXN0L2hvdHNwb3QvanRyZWcvY29udGFp bmVycy9kb2NrZXIvVGVzdE1lbW9yeUF3YXJlbmVzcy5qYXZhCitpbmRleCBmZjVjZDIzY2M2NWYu LmQ2ZmY2MDMxNTdhNiAxMDA2NDQKKy0tLSBhL3Rlc3QvaG90c3BvdC9qdHJlZy9jb250YWluZXJz L2RvY2tlci9UZXN0TWVtb3J5QXdhcmVuZXNzLmphdmEKKysrKyBiL3Rlc3QvaG90c3BvdC9qdHJl Zy9jb250YWluZXJzL2RvY2tlci9UZXN0TWVtb3J5QXdhcmVuZXNzLmphdmEKK0BAIC02MywxMCAr NjMsMTEgQEAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgdGhyb3dzIEV4 Y2VwdGlvbiB7CisgICAgICAgICBEb2NrZXJUZXN0VXRpbHMuYnVpbGRKZGtDb250YWluZXJJbWFn ZShpbWFnZU5hbWUpOworIAorICAgICAgICAgdHJ5IHsKKy0gICAgICAgICAgICB0ZXN0TWVtb3J5 TGltaXQoIjEwMG0iLCAiMTA0ODU3NjAwIik7CistICAgICAgICAgICAgdGVzdE1lbW9yeUxpbWl0 KCI1MDBtIiwgIjUyNDI4ODAwMCIpOworLSAgICAgICAgICAgIHRlc3RNZW1vcnlMaW1pdCgiMWci LCAiMTA3Mzc0MTgyNCIpOworLSAgICAgICAgICAgIHRlc3RNZW1vcnlMaW1pdCgiNGciLCAiNDI5 NDk2NzI5NiIpOworKyAgICAgICAgICAgIHRlc3RNZW1vcnlMaW1pdCgiMTAwbSIsICIxMDQ4NTc2 MDAiLCBmYWxzZSk7CisrICAgICAgICAgICAgdGVzdE1lbW9yeUxpbWl0KCI1MDBtIiwgIjUyNDI4 ODAwMCIsIGZhbHNlKTsKKysgICAgICAgICAgICB0ZXN0TWVtb3J5TGltaXQoIjFnIiwgIjEwNzM3 NDE4MjQiLCBmYWxzZSk7CisrICAgICAgICAgICAgdGVzdE1lbW9yeUxpbWl0KCI0ZyIsICI0Mjk0 OTY3Mjk2IiwgZmFsc2UpOworKyAgICAgICAgICAgIHRlc3RNZW1vcnlMaW1pdCgiMTAwbSIsICIx MDQ4NTc2MDAiLCB0cnVlIC8qIGFkZGl0aW9uYWwgY2dyb3VwIG1vdW50ICovKTsKKyAKKyAgICAg ICAgICAgICB0ZXN0TWVtb3J5U29mdExpbWl0KCI1MDBtIiwgIjUyNDI4ODAwMCIpOworICAgICAg ICAgICAgIHRlc3RNZW1vcnlTb2Z0TGltaXQoIjFnIiwgIjEwNzM3NDE4MjQiKTsKK0BAIC05OCw3 ICs5OSw3IEBAIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBF eGNlcHRpb24geworICAgICB9CisgCisgCistICAgIHByaXZhdGUgc3RhdGljIHZvaWQgdGVzdE1l bW9yeUxpbWl0KFN0cmluZyB2YWx1ZVRvU2V0LCBTdHJpbmcgZXhwZWN0ZWRUcmFjZVZhbHVlKQor KyAgICBwcml2YXRlIHN0YXRpYyB2b2lkIHRlc3RNZW1vcnlMaW1pdChTdHJpbmcgdmFsdWVUb1Nl dCwgU3RyaW5nIGV4cGVjdGVkVHJhY2VWYWx1ZSwgYm9vbGVhbiBhZGRDZ21vdW50cykKKyAgICAg ICAgICAgICB0aHJvd3MgRXhjZXB0aW9uIHsKKyAKKyAgICAgICAgIENvbW1vbi5sb2dOZXdUZXN0 Q2FzZSgibWVtb3J5IGxpbWl0OiAiICsgdmFsdWVUb1NldCk7CitAQCAtMTA2LDYgKzEwNywxMCBA QCBwcml2YXRlIHN0YXRpYyB2b2lkIHRlc3RNZW1vcnlMaW1pdChTdHJpbmcgdmFsdWVUb1NldCwg U3RyaW5nIGV4cGVjdGVkVHJhY2VWYWx1ZQorICAgICAgICAgRG9ja2VyUnVuT3B0aW9ucyBvcHRz ID0gQ29tbW9uLm5ld09wdHMoaW1hZ2VOYW1lKQorICAgICAgICAgICAgIC5hZGREb2NrZXJPcHRz KCItLW1lbW9yeSIsIHZhbHVlVG9TZXQpOworIAorKyAgICAgICAgaWYgKGFkZENnbW91bnRzKSB7 CisrICAgICAgICAgICAgb3B0cyA9IG9wdHMuYWRkRG9ja2VyT3B0cygiLS12b2x1bWUiLCAiL3N5 cy9mcy9jZ3JvdXA6L2Nncm91cHMtaW46cm8iKTsKKysgICAgICAgIH0KKysKKyAgICAgICAgIENv bW1vbi5ydW4ob3B0cykKKyAgICAgICAgICAgICAuc2hvdWxkTWF0Y2goIk1lbW9yeSBMaW1pdCBp czouKiIgKyBleHBlY3RlZFRyYWNlVmFsdWUpOworICAgICB9CmRpZmYgLS1naXQgYS9zcmNwa2dz L29wZW5qZGsxOS1ib290c3RyYXAvdGVtcGxhdGUgYi9zcmNwa2dzL29wZW5qZGsxOS1ib290c3Ry YXAvdGVtcGxhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMC4uMjVh YzBhN2ExN2EyYwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mvb3BlbmpkazE5LWJvb3RzdHJh cC90ZW1wbGF0ZQpAQCAtMCwwICsxLDEwMSBAQAorIyBUZW1wbGF0ZSBmaWxlIGZvciAnb3Blbmpk azE5LWJvb3RzdHJhcCcKK3BrZ25hbWU9b3BlbmpkazE5LWJvb3RzdHJhcAordmVyc2lvbj0xOS4w LjIrNworcmV2aXNpb249MQorX2d0ZXN0X3Zlcj0xLjguMQorX2phdmFfdmVyPSIke3ZlcnNpb24l JS4qfSIKK19qZGtfdXBkYXRlPSIke3ZlcnNpb24jKit9IgorX2Jhc2VfdmVyc2lvbj0iJHt2ZXJz aW9uJSsqfSIKK19qZGtfaG9tZT0idXNyL2xpYi9qdm0vb3BlbmpkayR7X2phdmFfdmVyfSIKK2Fy Y2hzPSJ4ODZfNjQqIGFhcmNoNjQqIgorY3JlYXRlX3dya3NyYz15ZXMKK2J1aWxkX3dya3NyYz0i amRrJHtfamF2YV92ZXJ9dS1qZGstJHt2ZXJzaW9uLysvLX0iCitidWlsZF9zdHlsZT1nbnUtY29u ZmlndXJlCitjb25maWd1cmVfYXJncz0iLS1kaXNhYmxlLXdhcm5pbmdzLWFzLWVycm9ycworIC0t ZW5hYmxlLXVubGltaXRlZC1jcnlwdG8KKyAtLXdpdGgtemxpYj1zeXN0ZW0KKyAtLXdpdGgtbGli anBlZz1zeXN0ZW0KKyAtLXdpdGgtZ2lmbGliPXN5c3RlbQorIC0td2l0aC1saWJwbmc9c3lzdGVt CisgLS13aXRoLWxjbXM9c3lzdGVtCisgLS13aXRoLWp0cmVnPW5vCisgLS13aXRoLWd0ZXN0PS4u L2dvb2dsZXRlc3QtcmVsZWFzZS0ke19ndGVzdF92ZXJ9CisgLS13aXRoLWRlYnVnLWxldmVsPXJl bGVhc2UKKyAtLXdpdGgtbmF0aXZlLWRlYnVnLXN5bWJvbHM9aW50ZXJuYWwKKyAtLXdpdGgtam9i cz0ke1hCUFNfT1JJR19NQUtFSk9CU30KKyAtLXdpdGgtdmVyc2lvbi1wcmU9CisgLS13aXRoLXZl cnNpb24tYnVpbGQ9JHtfamRrX3VwZGF0ZX0KKyAtLXdpdGgtdmVyc2lvbi1vcHQ9dm9pZC1yJHty ZXZpc2lvbn0KKyAtLXdpdGgtdmVuZG9yLW5hbWU9Vm9pZAorIC0td2l0aC12ZW5kb3ItdXJsPWh0 dHBzOi8vdm9pZGxpbnV4Lm9yZy8KKyAtLXdpdGgtdmVuZG9yLWJ1Zy11cmw9aHR0cHM6Ly9naXRo dWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9pc3N1ZXMKKyAtLXdpdGgtdmVuZG9yLXZt LWJ1Zy11cmw9aHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9pc3N1 ZXMKKyAtLXdpdGgtYm9vdC1qZGs9L3Vzci9saWIvanZtL29wZW5qZGskKCggX2phdmFfdmVyIC0g MSApKSIKK21ha2VfYnVpbGRfYXJncz0iaW1hZ2VzIgorbWFrZV9jaGVja190YXJnZXQ9InRlc3Qt aG90c3BvdC1ndGVzdCIKK2hvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyBhdXRvbWFrZSBhdXRv Y29uZiBjcGlvIHRhciB1bnppcCB6aXAgY2EtY2VydGlmaWNhdGVzCisgb3BlbnNzbCB6bGliLWRl dmVsIHdoaWNoIG1ha2UtY2Egb3BlbmpkayQoKCBfamF2YV92ZXIgLSAxICkpLWJvb3RzdHJhcCIK K21ha2VkZXBlbmRzPSJsaWJYcmVuZGVyLWRldmVsIGxpYlh0c3QtZGV2ZWwgbGliWHQtZGV2ZWwg bGliWHJhbmRyLWRldmVsCisgZ2lmbGliLWRldmVsIGxpYmpwZWctdHVyYm8tZGV2ZWwgY3Vwcy1k ZXZlbCBmcmVldHlwZS1kZXZlbCBhbHNhLWxpYi1kZXZlbAorIGZvbnRjb25maWctZGV2ZWwgemxp Yi1kZXZlbCBsY21zMi1kZXZlbCIKK3Nob3J0X2Rlc2M9Ik9wZW5KREsgSmF2YSBEZXZlbG9wbWVu dCBLaXQgKGJvb3RzdHJhcCB2ZXJzaW9uICR7X2phdmFfdmVyfSkiCittYWludGFpbmVyPSJjbGFz c2FiYnlhbXAgPHZvaWRAcGxhY2V2aW9sZXR0ZS5uZXQ+IgorbGljZW5zZT0iR1BMLTIuMC1vbmx5 IFdJVEggQ2xhc3NwYXRoLWV4Y2VwdGlvbi0yLjAiCitob21lcGFnZT0iaHR0cDovL29wZW5qZGsu amF2YS5uZXQvIgorZGlzdGZpbGVzPSJodHRwczovL2dpdGh1Yi5jb20vb3Blbmpkay9qZGske19q YXZhX3Zlcn11L2FyY2hpdmUvamRrLSR7dmVyc2lvbn0udGFyLmd6CisgaHR0cHM6Ly9naXRodWIu Y29tL2dvb2dsZS9nb29nbGV0ZXN0L2FyY2hpdmUvcmVmcy90YWdzL3JlbGVhc2UtJHtfZ3Rlc3Rf dmVyfS50YXIuZ3oiCitjaGVja3N1bT0iNTkwM2VmZDUyN2RkMDhlOWMyMzVjODgyMmUzZDU2OTlj M2QxOGE4NjE4YzNlNTMzMzA3ZThkNjQ5MWZmYmJmMAorIDliZjFmZTUxODJhNjA0YjQxMzVlZGMx YTQyNWFlMzU2YzlhZDE1ZTliMjNmOWYxMmEwMmU4MDE4NGMzYTI0OWMiCitub2Nyb3NzPXllcwor cmVwb3NpdG9yeT1ib290c3RyYXAKK3BhdGNoX2FyZ3M9Ii1OcDEgLS1kaXJlY3Rvcnk9JGJ1aWxk X3dya3NyYyIKKworIyBCdWlsZCBhbmQgY2hlY2sgYXJlIHN0aWxsIHBhcmFsbGVsLCBidXQgZG9u J3QgdXNlIC1qTi4KK2Rpc2FibGVfcGFyYWxsZWxfYnVpbGQ9eWVzCitkaXNhYmxlX3BhcmFsbGVs X2NoZWNrPXllcworCitjYXNlICIkWEJQU19UQVJHRVRfTUFDSElORSIgaW4KKwlpNjg2Knxhcm0q KSBicm9rZW49IlVuc3VwcG9ydGVkIGFyY2hpdGVjdHVyZSIgOzsKK2VzYWMKKworcG9zdF9leHRy YWN0KCkgeworCWNobW9kICt4ICIkYnVpbGRfd3Jrc3JjIi9jb25maWd1cmUKKwlpZiBbICIkWEJQ U19UQVJHRVRfTElCQyIgPSAibXVzbCIgXTsgdGhlbgorCQlybSAtciAiJGJ1aWxkX3dya3NyYyIv c3JjL2pkay5ob3RzcG90LmFnZW50CisJZmkKK30KKworZG9fY29uZmlndXJlKCkgeworCUNGTEFH Uz0ke0NGTEFHUy8tRF9GT1JUSUZZX1NPVVJDRT0yL30KKwlDWFhGTEFHUz0ke0NYWEZMQUdTLy1E X0ZPUlRJRllfU09VUkNFPTIvfQorCisJIyBmb3JjZSBFTEZ2MiBmb3IgcHBjNjQganVzdCBpbiBj YXNlCisJY2FzZSAiJFhCUFNfVEFSR0VUX01BQ0hJTkUiIGluCisJCXBwYzY0KikKKwkJCUNGTEFH Uys9IiAtREFCSV9FTEZ2MiIKKwkJCUNYWEZMQUdTKz0iIC1EQUJJX0VMRnYyIgorCQkJOzsKKwll c2FjCisKKwljb25maWd1cmVfYXJncz0ke2NvbmZpZ3VyZV9hcmdzLy0td2l0aC1saWJ0b29sLXN5 c3Jvb3Q9JFhCUFNfQ1JPU1NfQkFTRX0KKwlpZiBbICIkWEJQU19DQ0FDSEUiIF0gJiYgWyAteiAi JENST1NTX0JVSUxEIiBdOyB0aGVuCisJCWNvbmZpZ3VyZV9hcmdzKz0iIC0tZW5hYmxlLWNjYWNo ZSIKKwkJQ0M9Ii91c3IvYmluL2NjIgorCQlDWFg9Ii91c3IvYmluL2MrKyIKKwlmaQorCS4vY29u ZmlndXJlICR7Y29uZmlndXJlX2FyZ3N9IFwKKwkJLS13aXRoLWV4dHJhLWNmbGFncz0iJENGTEFH UyIgXAorCQktLXdpdGgtZXh0cmEtY3h4ZmxhZ3M9IiRDWFhGTEFHUyIgXAorCQktLXdpdGgtZXh0 cmEtbGRmbGFncz0iJExERkxBR1MiIFwKKwkJUkVBREVMRj0iJFJFQURFTEYiIEFSPSIkQVIiIFNU UklQPSIkU1RSSVAiIE5NPSIkTk0iIFwKKwkJT0JKRFVNUD0iJE9CSkRVTVAiIE9CSkNPUFk9IiRP QkpDT1BZIgorfQorCitwcmVfaW5zdGFsbCgpIHsKKwltYWtlX2luc3RhbGxfYXJncz0iSU5TVEFM TF9QUkVGSVg9JHtERVNURElSfS91c3IvbGliIgorfQorCitwb3N0X2luc3RhbGwoKSB7CisJcm0g LXJmICIke0RFU1RESVJ9Ii91c3IvbGliL2JpbgorCW12ICIke0RFU1RESVJ9Ii91c3IvbGliL2p2 bS9vcGVuamRrLSIke19iYXNlX3ZlcnNpb259IiAiJHtERVNURElSfS8kX2pka19ob21lIgorfQpk aWZmIC0tZ2l0IGEvc3JjcGtncy9vcGVuamRrMTktYm9vdHN0cmFwL3VwZGF0ZSBiL3NyY3BrZ3Mv b3BlbmpkazE5LWJvb3RzdHJhcC91cGRhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAwMC4uZDhhYmU5MGFhODRkMgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mvb3Bl bmpkazE5LWJvb3RzdHJhcC91cGRhdGUKQEAgLTAsMCArMSw0IEBACitzaXRlPSJodHRwczovL2dp dGh1Yi5jb20vb3Blbmpkay9qZGsxOXUvdGFncyIKK3BhdHRlcm49J2pkay1cSzE5XC5bXGQuK10r KD89XC4pJworIyBkb24ndCBuZWVkIHRvIHVwZGF0ZSB0aGUgYm9vdHN0cmFwIHBhY2thZ2UKK2ln bm9yZT0iKiIKCkZyb20gZTdjNzg2YzY2MjIxMjFhMmI4MDRhOGUwNGQ0YWE1MWE0Njc4MGQwZCBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogY2xhc3NhYmJ5YW1wIDx2b2lkQHBsYWNldmlv bGV0dGUubmV0PgpEYXRlOiBGcmksIDIyIERlYyAyMDIzIDAwOjQ3OjA1IC0wNTAwClN1YmplY3Q6 IFtQQVRDSCAxMS8xMl0gTmV3IHBhY2thZ2U6IG9wZW5qZGsyMC1ib290c3RyYXAtMjAuMC4yKzkK Ci0tLQogLi4uL3BhdGNoZXMvRml4TnVsbFB0ckNhc3QucGF0Y2ggICAgICAgICAgICAgIHwgIDM2 ICsrKysrKysKIHNyY3BrZ3Mvb3BlbmpkazIwLWJvb3RzdHJhcC90ZW1wbGF0ZSAgICAgICAgICB8 IDEwMSArKysrKysrKysrKysrKysrKysKIHNyY3BrZ3Mvb3BlbmpkazIwLWJvb3RzdHJhcC91cGRh dGUgICAgICAgICAgICB8ICAgNCArCiAzIGZpbGVzIGNoYW5nZWQsIDE0MSBpbnNlcnRpb25zKCsp CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9vcGVuamRrMjAtYm9vdHN0cmFwL3BhdGNoZXMv Rml4TnVsbFB0ckNhc3QucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL29wZW5qZGsy MC1ib290c3RyYXAvdGVtcGxhdGUKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL29wZW5qZGsy MC1ib290c3RyYXAvdXBkYXRlCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9vcGVuamRrMjAtYm9vdHN0 cmFwL3BhdGNoZXMvRml4TnVsbFB0ckNhc3QucGF0Y2ggYi9zcmNwa2dzL29wZW5qZGsyMC1ib290 c3RyYXAvcGF0Y2hlcy9GaXhOdWxsUHRyQ2FzdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAwMDAwLi42ZjA1MTU4NzkyNzMyCi0tLSAvZGV2L251bGwKKysrIGIvc3Jj cGtncy9vcGVuamRrMjAtYm9vdHN0cmFwL3BhdGNoZXMvRml4TnVsbFB0ckNhc3QucGF0Y2gKQEAg LTAsMCArMSwzNiBAQAorUGF0Y2ggdGFrZW4gZnJvbSBBbHBpbmU6IGh0dHBzOi8vZ2l0LmFscGlu ZWxpbnV4Lm9yZy9hcG9ydHMvdHJlZS9jb21tdW5pdHkvb3BlbmpkazE3L0ZpeE51bGxQdHJDYXN0 LnBhdGNoCisKK3NhbWUgZml4IGZvciBhcm12N2wtbXVzbCBhZGRlZAorCitTdWJqZWN0OiBGaXgg Y2FzdCBlcnJvcnMgd2l0aCBsYXRlc3QgR0NDCitVcHN0cmVhbTogTm8KK0F1dGhvcjogU2ltb24g RnJhbmtlbmJlcmdlciA8c2ltb24tYWxwaW5lQGZyYWhvLmV1PgorCitUaGlzIHBhdGNoIGZpeGVz IG9uZSByZW1haW5pbmcgY2FzdGluZyBlcnJvciByZXBvcnRlZCBieSBHQ0MgMTIgZm9yIGFhcmNo NjQKKworLS0tIG9sZC9zcmMvaG90c3BvdC9jcHUvYWFyY2g2NC9pbnRlcnByZXRlclJUX2FhcmNo NjQuY3BwCisrKysgbmV3L3NyYy9ob3RzcG90L2NwdS9hYXJjaDY0L2ludGVycHJldGVyUlRfYWFy Y2g2NC5jcHAKK0BAIC0yNjcsNyArMjY3LDcgQEAKKyAKKyAgIHZpcnR1YWwgdm9pZCBwYXNzX29i amVjdCgpIHsKKyAgICAgaW50cHRyX3QqIGFkZHIgPSBzaW5nbGVfc2xvdF9hZGRyKCk7CistICAg IGludHB0cl90IHZhbHVlID0gKmFkZHIgPT0gMCA/IE5VTEwgOiAoaW50cHRyX3QpYWRkcjsKKysg ICAgaW50cHRyX3QgdmFsdWUgPSAqYWRkciA9PSAwID8gKGludHB0cl90KSAwIDogKGludHB0cl90 KWFkZHI7CisgICAgIGlmIChwYXNzX2dwcih2YWx1ZSkgPCAwKSB7CisgICAgICAgcGFzc19zdGFj azw+KHZhbHVlKTsKKyAgICAgfQorCistLS0gb2xkL3NyYy9ob3RzcG90L2NwdS9hcm0vaW50ZXJw cmV0ZXJSVF9hcm0uY3BwCisrKysgbmV3L3NyYy9ob3RzcG90L2NwdS9hcm0vaW50ZXJwcmV0ZXJS VF9hcm0uY3BwCitAQCAtMzA2LDggKzMwNiw4IEBACisgICB2aXJ0dWFsIHZvaWQgcGFzc19vYmpl Y3QoKSB7CisgICAgIGludHB0cl90IGZyb21fYWRkciA9IChpbnRwdHJfdCkoX2Zyb20gKyBJbnRl cnByZXRlcjo6bG9jYWxfb2Zmc2V0X2luX2J5dGVzKDApKTsKKyAgICAgaWYoX2xhc3RfZ3AgPCBH UFJfUEFSQU1TKSB7CistICAgICAgX3RvR1BbX2xhc3RfZ3ArK10gPSAoKihpbnRwdHJfdCopZnJv bV9hZGRyID09IDApID8gTlVMTCA6IGZyb21fYWRkcjsKKysgICAgICBfdG9HUFtfbGFzdF9ncCsr XSA9ICgqKGludHB0cl90Kilmcm9tX2FkZHIgPT0gMCkgPyAoaW50cHRyX3QpIDAgOiAoaW50cHRy X3QpZnJvbV9hZGRyOworICAgICB9IGVsc2UgeworLSAgICAgICpfdG8rKyA9ICgqKGludHB0cl90 Kilmcm9tX2FkZHIgPT0gMCkgPyBOVUxMIDogZnJvbV9hZGRyOworKyAgICAgICpfdG8rKyA9ICgq KGludHB0cl90Kilmcm9tX2FkZHIgPT0gMCkgPyAoaW50cHRyX3QpIDAgOiAoaW50cHRyX3QpZnJv bV9hZGRyOworICAgICB9CisgICAgIF9mcm9tIC09IEludGVycHJldGVyOjpzdGFja0VsZW1lbnRT aXplOworICAgfQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9vcGVuamRrMjAtYm9vdHN0cmFwL3RlbXBs YXRlIGIvc3JjcGtncy9vcGVuamRrMjAtYm9vdHN0cmFwL3RlbXBsYXRlCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAuLmEyMzg0OTgyN2NlOWEKLS0tIC9kZXYvbnVsbAor KysgYi9zcmNwa2dzL29wZW5qZGsyMC1ib290c3RyYXAvdGVtcGxhdGUKQEAgLTAsMCArMSwxMDEg QEAKKyMgVGVtcGxhdGUgZmlsZSBmb3IgJ29wZW5qZGsyMC1ib290c3RyYXAnCitwa2duYW1lPW9w ZW5qZGsyMC1ib290c3RyYXAKK3ZlcnNpb249MjAuMC4yKzkKK3JldmlzaW9uPTEKK19ndGVzdF92 ZXI9MS44LjEKK19qYXZhX3Zlcj0iJHt2ZXJzaW9uJSUuKn0iCitfamRrX3VwZGF0ZT0iJHt2ZXJz aW9uIyorfSIKK19iYXNlX3ZlcnNpb249IiR7dmVyc2lvbiUrKn0iCitfamRrX2hvbWU9InVzci9s aWIvanZtL29wZW5qZGske19qYXZhX3Zlcn0iCithcmNocz0ieDg2XzY0KiBhYXJjaDY0KiIKK2Ny ZWF0ZV93cmtzcmM9eWVzCitidWlsZF93cmtzcmM9ImpkayR7X2phdmFfdmVyfXUtamRrLSR7dmVy c2lvbi8rLy19IgorYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQorY29uZmlndXJlX2FyZ3M9Ii0t ZGlzYWJsZS13YXJuaW5ncy1hcy1lcnJvcnMKKyAtLWVuYWJsZS11bmxpbWl0ZWQtY3J5cHRvCisg LS13aXRoLXpsaWI9c3lzdGVtCisgLS13aXRoLWxpYmpwZWc9c3lzdGVtCisgLS13aXRoLWdpZmxp Yj1zeXN0ZW0KKyAtLXdpdGgtbGlicG5nPXN5c3RlbQorIC0td2l0aC1sY21zPXN5c3RlbQorIC0t d2l0aC1qdHJlZz1ubworIC0td2l0aC1ndGVzdD0uLi9nb29nbGV0ZXN0LXJlbGVhc2UtJHtfZ3Rl c3RfdmVyfQorIC0td2l0aC1kZWJ1Zy1sZXZlbD1yZWxlYXNlCisgLS13aXRoLW5hdGl2ZS1kZWJ1 Zy1zeW1ib2xzPWludGVybmFsCisgLS13aXRoLWpvYnM9JHtYQlBTX09SSUdfTUFLRUpPQlN9Cisg LS13aXRoLXZlcnNpb24tcHJlPQorIC0td2l0aC12ZXJzaW9uLWJ1aWxkPSR7X2pka191cGRhdGV9 CisgLS13aXRoLXZlcnNpb24tb3B0PXZvaWQtciR7cmV2aXNpb259CisgLS13aXRoLXZlbmRvci1u YW1lPVZvaWQKKyAtLXdpdGgtdmVuZG9yLXVybD1odHRwczovL3ZvaWRsaW51eC5vcmcvCisgLS13 aXRoLXZlbmRvci1idWctdXJsPWh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFj a2FnZXMvaXNzdWVzCisgLS13aXRoLXZlbmRvci12bS1idWctdXJsPWh0dHBzOi8vZ2l0aHViLmNv bS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvaXNzdWVzCisgLS13aXRoLWJvb3QtamRrPS91c3Iv bGliL2p2bS9vcGVuamRrJCgoIF9qYXZhX3ZlciAtIDEgKSkiCittYWtlX2J1aWxkX2FyZ3M9Imlt YWdlcyIKK21ha2VfY2hlY2tfdGFyZ2V0PSJ0ZXN0LWhvdHNwb3QtZ3Rlc3QiCitob3N0bWFrZWRl cGVuZHM9InBrZy1jb25maWcgYXV0b21ha2UgYXV0b2NvbmYgY3BpbyB0YXIgdW56aXAgemlwIGNh LWNlcnRpZmljYXRlcworIG9wZW5zc2wgemxpYi1kZXZlbCB3aGljaCBtYWtlLWNhIG9wZW5qZGsk KCggX2phdmFfdmVyIC0gMSApKS1ib290c3RyYXAiCittYWtlZGVwZW5kcz0ibGliWHJlbmRlci1k ZXZlbCBsaWJYdHN0LWRldmVsIGxpYlh0LWRldmVsIGxpYlhyYW5kci1kZXZlbAorIGdpZmxpYi1k ZXZlbCBsaWJqcGVnLXR1cmJvLWRldmVsIGN1cHMtZGV2ZWwgZnJlZXR5cGUtZGV2ZWwgYWxzYS1s aWItZGV2ZWwKKyBmb250Y29uZmlnLWRldmVsIHpsaWItZGV2ZWwgbGNtczItZGV2ZWwiCitzaG9y dF9kZXNjPSJPcGVuSkRLIEphdmEgRGV2ZWxvcG1lbnQgS2l0IChib290c3RyYXAgdmVyc2lvbiAk e19qYXZhX3Zlcn0pIgorbWFpbnRhaW5lcj0iY2xhc3NhYmJ5YW1wIDx2b2lkQHBsYWNldmlvbGV0 dGUubmV0PiIKK2xpY2Vuc2U9IkdQTC0yLjAtb25seSBXSVRIIENsYXNzcGF0aC1leGNlcHRpb24t Mi4wIgoraG9tZXBhZ2U9Imh0dHA6Ly9vcGVuamRrLmphdmEubmV0LyIKK2Rpc3RmaWxlcz0iaHR0 cHM6Ly9naXRodWIuY29tL29wZW5qZGsvamRrJHtfamF2YV92ZXJ9dS9hcmNoaXZlL2pkay0ke3Zl cnNpb259LnRhci5negorIGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvZ29vZ2xldGVzdC9hcmNo aXZlL3JlZnMvdGFncy9yZWxlYXNlLSR7X2d0ZXN0X3Zlcn0udGFyLmd6IgorY2hlY2tzdW09IjRk NmYxNzYwNzVkNWYyY2U2MmZkMTZlYmQ1Y2M0YzI3YTNlNTUxY2U0ZDNkM2JjMGU5OTQ2NDU0ZTUy ZmM4OGQKKyA5YmYxZmU1MTgyYTYwNGI0MTM1ZWRjMWE0MjVhZTM1NmM5YWQxNWU5YjIzZjlmMTJh MDJlODAxODRjM2EyNDljIgorbm9jcm9zcz15ZXMKK3JlcG9zaXRvcnk9Ym9vdHN0cmFwCitwYXRj aF9hcmdzPSItTnAxIC0tZGlyZWN0b3J5PSRidWlsZF93cmtzcmMiCisKKyMgQnVpbGQgYW5kIGNo ZWNrIGFyZSBzdGlsbCBwYXJhbGxlbCwgYnV0IGRvbid0IHVzZSAtak4uCitkaXNhYmxlX3BhcmFs bGVsX2J1aWxkPXllcworZGlzYWJsZV9wYXJhbGxlbF9jaGVjaz15ZXMKKworY2FzZSAiJFhCUFNf VEFSR0VUX01BQ0hJTkUiIGluCisJaTY4Nip8YXJtKikgYnJva2VuPSJVbnN1cHBvcnRlZCBhcmNo aXRlY3R1cmUiIDs7Citlc2FjCisKK3Bvc3RfZXh0cmFjdCgpIHsKKwljaG1vZCAreCAiJGJ1aWxk X3dya3NyYyIvY29uZmlndXJlCisJaWYgWyAiJFhCUFNfVEFSR0VUX0xJQkMiID0gIm11c2wiIF07 IHRoZW4KKwkJcm0gLXIgIiRidWlsZF93cmtzcmMiL3NyYy9qZGsuaG90c3BvdC5hZ2VudAorCWZp Cit9CisKK2RvX2NvbmZpZ3VyZSgpIHsKKwlDRkxBR1M9JHtDRkxBR1MvLURfRk9SVElGWV9TT1VS Q0U9Mi99CisJQ1hYRkxBR1M9JHtDWFhGTEFHUy8tRF9GT1JUSUZZX1NPVVJDRT0yL30KKworCSMg Zm9yY2UgRUxGdjIgZm9yIHBwYzY0IGp1c3QgaW4gY2FzZQorCWNhc2UgIiRYQlBTX1RBUkdFVF9N QUNISU5FIiBpbgorCQlwcGM2NCopCisJCQlDRkxBR1MrPSIgLURBQklfRUxGdjIiCisJCQlDWFhG TEFHUys9IiAtREFCSV9FTEZ2MiIKKwkJCTs7CisJZXNhYworCisJY29uZmlndXJlX2FyZ3M9JHtj b25maWd1cmVfYXJncy8tLXdpdGgtbGlidG9vbC1zeXNyb290PSRYQlBTX0NST1NTX0JBU0V9CisJ aWYgWyAiJFhCUFNfQ0NBQ0hFIiBdICYmIFsgLXogIiRDUk9TU19CVUlMRCIgXTsgdGhlbgorCQlj b25maWd1cmVfYXJncys9IiAtLWVuYWJsZS1jY2FjaGUiCisJCUNDPSIvdXNyL2Jpbi9jYyIKKwkJ Q1hYPSIvdXNyL2Jpbi9jKysiCisJZmkKKwkuL2NvbmZpZ3VyZSAke2NvbmZpZ3VyZV9hcmdzfSBc CisJCS0td2l0aC1leHRyYS1jZmxhZ3M9IiRDRkxBR1MiIFwKKwkJLS13aXRoLWV4dHJhLWN4eGZs YWdzPSIkQ1hYRkxBR1MiIFwKKwkJLS13aXRoLWV4dHJhLWxkZmxhZ3M9IiRMREZMQUdTIiBcCisJ CVJFQURFTEY9IiRSRUFERUxGIiBBUj0iJEFSIiBTVFJJUD0iJFNUUklQIiBOTT0iJE5NIiBcCisJ CU9CSkRVTVA9IiRPQkpEVU1QIiBPQkpDT1BZPSIkT0JKQ09QWSIKK30KKworcHJlX2luc3RhbGwo KSB7CisJbWFrZV9pbnN0YWxsX2FyZ3M9IklOU1RBTExfUFJFRklYPSR7REVTVERJUn0vdXNyL2xp YiIKK30KKworcG9zdF9pbnN0YWxsKCkgeworCXJtIC1yZiAiJHtERVNURElSfSIvdXNyL2xpYi9i aW4KKwltdiAiJHtERVNURElSfSIvdXNyL2xpYi9qdm0vb3Blbmpkay0iJHtfYmFzZV92ZXJzaW9u fSIgIiR7REVTVERJUn0vJF9qZGtfaG9tZSIKK30KZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvb3Blbmpk azIwLWJvb3RzdHJhcC91cGRhdGUgYi9zcmNwa2dzL29wZW5qZGsyMC1ib290c3RyYXAvdXBkYXRl Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAuLjgyNWJkOTQ1YmZjOWEK LS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL29wZW5qZGsyMC1ib290c3RyYXAvdXBkYXRlCkBA IC0wLDAgKzEsNCBAQAorc2l0ZT0iaHR0cHM6Ly9naXRodWIuY29tL29wZW5qZGsvamRrMjB1L3Rh Z3MiCitwYXR0ZXJuPSdqZGstXEsyMFwuW1xkLitdKyg/PVwuKScKKyMgZG9uJ3QgbmVlZCB0byB1 cGRhdGUgdGhlIGJvb3RzdHJhcCBwYWNrYWdlCitpZ25vcmU9IioiCgpGcm9tIGY1NTBjNDFjOGEz NGMxMDZiY2I2MzVhZWE0NGU4Y2IzNDM0YTEyMjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IGNsYXNzYWJieWFtcCA8dm9pZEBwbGFjZXZpb2xldHRlLm5ldD4KRGF0ZTogRnJpLCAyMiBE ZWMgMjAyMyAwMDo0NzoxNCAtMDUwMApTdWJqZWN0OiBbUEFUQ0ggMTIvMTJdIE5ldyBwYWNrYWdl OiBvcGVuamRrMjEtMjEuMC4xKzEyCgotLS0KIHNyY3BrZ3Mvb3BlbmpkazIxLWRvYyAgICAgICAg IHwgICAxICsKIHNyY3BrZ3Mvb3BlbmpkazIxLWptb2RzICAgICAgIHwgICAxICsKIHNyY3BrZ3Mv b3BlbmpkazIxLWpyZSAgICAgICAgIHwgICAxICsKIHNyY3BrZ3Mvb3BlbmpkazIxLXNyYyAgICAg ICAgIHwgICAxICsKIHNyY3BrZ3Mvb3BlbmpkazIxLXN0YXRpYy1saWJzIHwgICAxICsKIHNyY3Br Z3Mvb3BlbmpkazIxL3RlbXBsYXRlICAgIHwgMTk0ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysKIHNyY3BrZ3Mvb3BlbmpkazIxL3VwZGF0ZSAgICAgIHwgICAxICsKIDcgZmlsZXMg Y2hhbmdlZCwgMjAwIGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEyMDAwMCBzcmNwa2dzL29w ZW5qZGsyMS1kb2MKIGNyZWF0ZSBtb2RlIDEyMDAwMCBzcmNwa2dzL29wZW5qZGsyMS1qbW9kcwog Y3JlYXRlIG1vZGUgMTIwMDAwIHNyY3BrZ3Mvb3BlbmpkazIxLWpyZQogY3JlYXRlIG1vZGUgMTIw MDAwIHNyY3BrZ3Mvb3BlbmpkazIxLXNyYwogY3JlYXRlIG1vZGUgMTIwMDAwIHNyY3BrZ3Mvb3Bl bmpkazIxLXN0YXRpYy1saWJzCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9vcGVuamRrMjEv dGVtcGxhdGUKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL29wZW5qZGsyMS91cGRhdGUKCmRp ZmYgLS1naXQgYS9zcmNwa2dzL29wZW5qZGsyMS1kb2MgYi9zcmNwa2dzL29wZW5qZGsyMS1kb2MK bmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMDAwMDAwMDAwMDAwMC4uNTdlOTkxZjg2ZGZmNQot LS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mvb3BlbmpkazIxLWRvYwpAQCAtMCwwICsxIEBACitv cGVuamRrMjEKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmNwa2dz L29wZW5qZGsyMS1qbW9kcyBiL3NyY3BrZ3Mvb3BlbmpkazIxLWptb2RzCm5ldyBmaWxlIG1vZGUg MTIwMDAwCmluZGV4IDAwMDAwMDAwMDAwMDAuLjU3ZTk5MWY4NmRmZjUKLS0tIC9kZXYvbnVsbAor KysgYi9zcmNwa2dzL29wZW5qZGsyMS1qbW9kcwpAQCAtMCwwICsxIEBACitvcGVuamRrMjEKXCBO byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmNwa2dzL29wZW5qZGsyMS1q cmUgYi9zcmNwa2dzL29wZW5qZGsyMS1qcmUKbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMDAw MDAwMDAwMDAwMC4uNTdlOTkxZjg2ZGZmNQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mvb3Bl bmpkazIxLWpyZQpAQCAtMCwwICsxIEBACitvcGVuamRrMjEKXCBObyBuZXdsaW5lIGF0IGVuZCBv ZiBmaWxlCmRpZmYgLS1naXQgYS9zcmNwa2dzL29wZW5qZGsyMS1zcmMgYi9zcmNwa2dzL29wZW5q ZGsyMS1zcmMKbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMDAwMDAwMDAwMDAwMC4uNTdlOTkx Zjg2ZGZmNQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mvb3BlbmpkazIxLXNyYwpAQCAtMCww ICsxIEBACitvcGVuamRrMjEKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg YS9zcmNwa2dzL29wZW5qZGsyMS1zdGF0aWMtbGlicyBiL3NyY3BrZ3Mvb3BlbmpkazIxLXN0YXRp Yy1saWJzCm5ldyBmaWxlIG1vZGUgMTIwMDAwCmluZGV4IDAwMDAwMDAwMDAwMDAuLjU3ZTk5MWY4 NmRmZjUKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL29wZW5qZGsyMS1zdGF0aWMtbGlicwpA QCAtMCwwICsxIEBACitvcGVuamRrMjEKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg LS1naXQgYS9zcmNwa2dzL29wZW5qZGsyMS90ZW1wbGF0ZSBiL3NyY3BrZ3Mvb3BlbmpkazIxL3Rl bXBsYXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAuLjg3MDk5NTQy YzMzNzMKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL29wZW5qZGsyMS90ZW1wbGF0ZQpAQCAt MCwwICsxLDE5NCBAQAorIyBUZW1wbGF0ZSBmaWxlIGZvciAnb3BlbmpkazIxJworcGtnbmFtZT1v cGVuamRrMjEKK3ZlcnNpb249MjEuMC4xKzEyCityZXZpc2lvbj0xCitfZ3Rlc3RfdmVyPTEuMTMu MAorX2phdmFfdmVyPSIke3ZlcnNpb24lJS4qfSIKK19qZGtfdXBkYXRlPSIke3ZlcnNpb24jKit9 IgorX2Jhc2VfdmVyc2lvbj0iJHt2ZXJzaW9uJSsqfSIKK19qZGtfaG9tZT0idXNyL2xpYi9qdm0v b3BlbmpkayR7X2phdmFfdmVyfSIKK2FyY2hzPSJ4ODZfNjQqIGFhcmNoNjQqIgorY3JlYXRlX3dy a3NyYz15ZXMKK2J1aWxkX3dya3NyYz0iamRrJHtfamF2YV92ZXJ9dS1qZGstJHt2ZXJzaW9uLysv LX0iCitidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCitjb25maWd1cmVfYXJncz0iLS1kaXNhYmxl LXdhcm5pbmdzLWFzLWVycm9ycworIC0tZW5hYmxlLXVubGltaXRlZC1jcnlwdG8KKyAtLXdpdGgt emxpYj1zeXN0ZW0KKyAtLXdpdGgtbGlianBlZz1zeXN0ZW0KKyAtLXdpdGgtZ2lmbGliPXN5c3Rl bQorIC0td2l0aC1saWJwbmc9c3lzdGVtCisgLS13aXRoLWxjbXM9c3lzdGVtCisgLS13aXRoLWp0 cmVnPW5vCisgLS13aXRoLWd0ZXN0PS4uL2dvb2dsZXRlc3QtJHtfZ3Rlc3RfdmVyfQorIC0td2l0 aC1kZWJ1Zy1sZXZlbD1yZWxlYXNlCisgLS13aXRoLW5hdGl2ZS1kZWJ1Zy1zeW1ib2xzPWludGVy bmFsCisgLS13aXRoLWpvYnM9JHtYQlBTX09SSUdfTUFLRUpPQlN9CisgLS13aXRoLXZlcnNpb24t cHJlPQorIC0td2l0aC12ZXJzaW9uLWJ1aWxkPSR7X2pka191cGRhdGV9CisgLS13aXRoLXZlcnNp b24tb3B0PXZvaWQtciR7cmV2aXNpb259CisgLS13aXRoLXZlbmRvci1uYW1lPVZvaWQKKyAtLXdp dGgtdmVuZG9yLXVybD1odHRwczovL3ZvaWRsaW51eC5vcmcvCisgLS13aXRoLXZlbmRvci1idWct dXJsPWh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvaXNzdWVzCisg LS13aXRoLXZlbmRvci12bS1idWctdXJsPWh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3Zv aWQtcGFja2FnZXMvaXNzdWVzIgorbWFrZV9idWlsZF9hcmdzPSJpbWFnZXMgc3RhdGljLWxpYnMt aW1hZ2UgJCh2b3B0X2lmIGRvY3MgZG9jcykiCittYWtlX2luc3RhbGxfYXJncz0iSU5TVEFMTF9Q UkVGSVg9XCIke0RFU1RESVJ9L3Vzci9saWJcIiIKK21ha2VfY2hlY2tfdGFyZ2V0PSJ0ZXN0LWhv dHNwb3QtZ3Rlc3QiCitob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWcgYXV0b21ha2UgYXV0b2Nv bmYgY3BpbyB0YXIgdW56aXAgemlwIGNhLWNlcnRpZmljYXRlcworIG9wZW5zc2wgemxpYi1kZXZl bCB3aGljaCBtYWtlLWNhIG9wZW5qZGsyMC1ib290c3RyYXAiCittYWtlZGVwZW5kcz0ibGliWHJl bmRlci1kZXZlbCBsaWJYdHN0LWRldmVsIGxpYlh0LWRldmVsIGxpYlhyYW5kci1kZXZlbAorIGdp ZmxpYi1kZXZlbCBsaWJqcGVnLXR1cmJvLWRldmVsIGN1cHMtZGV2ZWwgZnJlZXR5cGUtZGV2ZWwg YWxzYS1saWItZGV2ZWwKKyBmb250Y29uZmlnLWRldmVsIHpsaWItZGV2ZWwgbGNtczItZGV2ZWwi CitkZXBlbmRzPSIke3BrZ25hbWV9LWpyZS0ke3ZlcnNpb259XyR7cmV2aXNpb259Igorc2hvcnRf ZGVzYz0iT3BlbkpESyBKYXZhIERldmVsb3BtZW50IEtpdCAodmVyc2lvbiAke19qYXZhX3Zlcn0p IgorbWFpbnRhaW5lcj0iY2xhc3NhYmJ5YW1wIDx2b2lkQHBsYWNldmlvbGV0dGUubmV0PiIKK2xp Y2Vuc2U9IkdQTC0yLjAtb25seSBXSVRIIENsYXNzcGF0aC1leGNlcHRpb24tMi4wIgoraG9tZXBh Z2U9Imh0dHA6Ly9vcGVuamRrLmphdmEubmV0LyIKK2Rpc3RmaWxlcz0iaHR0cHM6Ly9naXRodWIu Y29tL29wZW5qZGsvamRrJHtfamF2YV92ZXJ9dS9hcmNoaXZlL2pkay0ke3ZlcnNpb259LnRhci5n egorIGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvZ29vZ2xldGVzdC9hcmNoaXZlL3JlZnMvdGFn cy92JHtfZ3Rlc3RfdmVyfS50YXIuZ3oiCitjaGVja3N1bT0iOTk0M2UzODE0ZDNjMWEzMWYxNDQ5 ZjA5YThiNjdkZjU0ODQxOTQ0Zjg1NWExZDM3MmJlODkyYzVlNmIxOTIxNworIGFkN2ZkYmExMWVh MDExYzFkOTI1YjMyODljZjRhZjJjNjZhMzUyZTE4ZDRjNzI2NDM5MmZlYWQ3NWU5MTkzNjMiCith bHRlcm5hdGl2ZXM9ImpkazovdXNyL2xpYi9qdm0vZGVmYXVsdC1qZGs6LyR7X2pka19ob21lfSIK K3Byb3ZpZGVzPSJqYXZhLWVudmlyb25tZW50LSR7dmVyc2lvbn1fMSIKK3BhdGNoX2FyZ3M9Ii1O cDEgLS1kaXJlY3Rvcnk9JGJ1aWxkX3dya3NyYyIKKworIyBCdWlsZCBhbmQgY2hlY2sgYXJlIHN0 aWxsIHBhcmFsbGVsLCBidXQgZG9uJ3QgdXNlIC1qTi4KK2Rpc2FibGVfcGFyYWxsZWxfYnVpbGQ9 eWVzCitkaXNhYmxlX3BhcmFsbGVsX2NoZWNrPXllcworYnVpbGRfb3B0aW9ucz0iZG9jcyIKKwor Y2FzZSAiJFhCUFNfVEFSR0VUX01BQ0hJTkUiIGluCisJcHBjNjQqKSA7OworCSMgbm8gaG90c3Bv dCBKSVQgZm9yIHBwYzMyCisJcHBjKikgX3VzZV96ZXJvPXllcyA7OworCWk2ODYqfGFybSopIGJy b2tlbj0iVW5zdXBwb3J0ZWQgYXJjaGl0ZWN0dXJlIiA7OworZXNhYworCitpZiBbIC1uICIkX3Vz ZV96ZXJvIiBdOyB0aGVuCisJbWFrZWRlcGVuZHMrPSIgbGliZmZpLWRldmVsIgorCWNvbmZpZ3Vy ZV9hcmdzKz0iIC0td2l0aC1qdm0tdmFyaWFudHM9emVybyIKKwljYXNlICIkWEJQU19UQVJHRVRf TUFDSElORSIgaW4KKwlwcGMqKSBjb25maWd1cmVfYXJncys9IiAtLXdpdGgtYm9vdC1qZGstanZt YXJncz0tWFg6VGhyZWFkU3RhY2tTaXplPTI1NjAiOzsKKwllc2FjCitmaQorY29uZmlndXJlX2Fy Z3MrPSIgLS13aXRoLWJvb3QtamRrLWp2bWFyZ3M9LVhsb2c6ZGlzYWJsZSIKKworY2FzZSAiJFhC UFNfVEFSR0VUX0xJQkMiIGluCisJZ2xpYmMpIGJ1aWxkX29wdGlvbnNfZGVmYXVsdCs9IiBkb2Nz Ijs7Citlc2FjCisKK2lmIFsgISAiJENST1NTX0JVSUxEIiBdOyB0aGVuCisJaG9zdG1ha2VkZXBl bmRzKz0iIG9wZW5qZGsyMC1ib290c3RyYXAiCisJY29uZmlndXJlX2FyZ3MrPSIgLS13aXRoLWJv b3QtamRrPS91c3IvbGliL2p2bS9vcGVuamRrMjAiCitlbHNlCisJaG9zdG1ha2VkZXBlbmRzKz0i IG9wZW5qZGsyMSIKKwljb25maWd1cmVfYXJncys9IiAtLXdpdGgtYm9vdC1qZGs9L3Vzci9saWIv anZtL29wZW5qZGsyMSIKK2ZpCisKK3Bvc3RfZXh0cmFjdCgpIHsKKwljaG1vZCAreCAkYnVpbGRf d3Jrc3JjL2NvbmZpZ3VyZQorCWlmIFsgIiRYQlBTX1RBUkdFVF9MSUJDIiA9ICJtdXNsIiBdOyB0 aGVuCisJCXJtIC1yICRidWlsZF93cmtzcmMvc3JjL2pkay5ob3RzcG90LmFnZW50CisJZmkKK30K KworZG9fY29uZmlndXJlKCkgeworCUNGTEFHUz0ke0NGTEFHUy8tRF9GT1JUSUZZX1NPVVJDRT0y L30KKwlDWFhGTEFHUz0ke0NYWEZMQUdTLy1EX0ZPUlRJRllfU09VUkNFPTIvfQorCisJIyBmb3Jj ZSBFTEZ2MiBmb3IgcHBjNjQganVzdCBpbiBjYXNlCisJY2FzZSAiJFhCUFNfVEFSR0VUX01BQ0hJ TkUiIGluCisJCXBwYzY0KikKKwkJCUNGTEFHUys9IiAtREFCSV9FTEZ2MiIKKwkJCUNYWEZMQUdT Kz0iIC1EQUJJX0VMRnYyIgorCQkJOzsKKwllc2FjCisKKwljb25maWd1cmVfYXJncz0ke2NvbmZp Z3VyZV9hcmdzLy0td2l0aC1saWJ0b29sLXN5c3Jvb3Q9JFhCUFNfQ1JPU1NfQkFTRX0KKwlpZiBb ICIkWEJQU19DQ0FDSEUiIF0gJiYgWyAteiAiJENST1NTX0JVSUxEIiBdOyB0aGVuCisJCWNvbmZp Z3VyZV9hcmdzKz0iIC0tZW5hYmxlLWNjYWNoZSIKKwkJQ0M9Ii91c3IvYmluL2NjIgorCQlDWFg9 Ii91c3IvYmluL2MrKyIKKwlmaQorCS4vY29uZmlndXJlICR7Y29uZmlndXJlX2FyZ3N9IFwKKwkJ LS13aXRoLWV4dHJhLWNmbGFncz0iJENGTEFHUyIgXAorCQktLXdpdGgtZXh0cmEtY3h4ZmxhZ3M9 IiRDWFhGTEFHUyIgXAorCQktLXdpdGgtZXh0cmEtbGRmbGFncz0iJExERkxBR1MiIFwKKwkJUkVB REVMRj0kUkVBREVMRiBBUj0kQVIgU1RSSVA9JFNUUklQIE5NPSROTSBcCisJCU9CSkRVTVA9JE9C SkRVTVAgT0JKQ09QWT0kT0JKQ09QWQorfQorCitwb3N0X2luc3RhbGwoKSB7CisJcm0gLXJmICR7 REVTVERJUn0vdXNyL2xpYi9iaW4KKwltdiAke0RFU1RESVJ9L3Vzci9saWIvanZtL29wZW5qZGst JHtfYmFzZV92ZXJzaW9ufSAke0RFU1RESVJ9LyRfamRrX2hvbWUKKwl2Y29weSBidWlsZC8qLXJl bGVhc2UvaW1hZ2VzL3N0YXRpYy1saWJzL2xpYiAkX2pka19ob21lCisJdm1rZGlyICRfamRrX2hv bWUvbGliL3NlY3VyaXR5CisJbWFrZS1jYSAtZyAtZiAtLWRlc3RkaXIgIiR7UFdEfS9jYSIgLWsg IiR7REVTVERJUn0vJF9qZGtfaG9tZS9iaW4va2V5dG9vbCIKKwltdiAuL2NhL2V0Yy9wa2kvdGxz L2phdmEvY2FjZXJ0cyAke0RFU1RESVJ9LyRfamRrX2hvbWUvbGliL3NlY3VyaXR5LworCWNobW9k IC1SIHVnbytydyAuL2NhCisJcm0gLXJmIC4vY2EKK30KKworc3VicGFja2FnZXM9Im9wZW5qZGsy MS1zdGF0aWMtbGlicyBvcGVuamRrMjEtc3JjIG9wZW5qZGsyMS1qcmUgb3BlbmpkazIxLWRvYyBv cGVuamRrMjEtam1vZHMiCisKK29wZW5qZGsyMS1qcmVfcGFja2FnZSgpIHsKKwlzaGxpYl9wcm92 aWRlcz0ibGliYXd0LnNvIGxpYmF3dF94YXd0LnNvIGxpYmphdmEuc28gbGliamxpLnNvIGxpYmp2 bS5zbyBsaWJqYXd0LnNvIgorCXNob3J0X2Rlc2MrPSIgLSBydW50aW1lIGNvbXBvbmVudHMiCisJ cHJvdmlkZXM9ImphdmEtcnVudGltZS0ke3ZlcnNpb259XzEiCisJZGVwZW5kcz0ib3Blbmpkay1j b21tb24iCisJYWx0ZXJuYXRpdmVzPSJqYXZhOi91c3IvbGliL2p2bS9kZWZhdWx0LWpyZTovJHtf amRrX2hvbWV9IgorCXBrZ19pbnN0YWxsKCkgeworCQlmb3IgYmluIGluIGphdmEgamZyIGtleXRv b2wgcm1pcmVnaXN0cnk7IGRvCisJCQl2bW92ZSAiJHtfamRrX2hvbWV9L2Jpbi8ke2Jpbn0iCisJ CQl2bW92ZSAiJHtfamRrX2hvbWV9L21hbi9tYW4xLyR7YmlufS4xIgorCQlkb25lCisKKwkJZm9y IGYgaW4gbGliIGxlZ2FsIGNvbmYgcmVsZWFzZTsgZG8KKwkJCXZtb3ZlICRfamRrX2hvbWUvJGYK KwkJZG9uZQorCisJCXZsaWNlbnNlIEFTU0VNQkxZX0VYQ0VQVElPTgorCQl2bGljZW5zZSBMSUNF TlNFCisJfQorfQorCitvcGVuamRrMjEtZG9jX3BhY2thZ2UoKSB7CisJbm9zdHJpcD15ZXMKKwlu b3ZlcmlmeXJkZXBzPXllcworCW5vc2hsaWJwcm92aWRlcz15ZXMKKwlzaG9ydF9kZXNjKz0iIC0g ZG9jdW1lbnRhdGlvbiIKKwlpZiBbIC16ICIkYnVpbGRfb3B0aW9uX2RvY3MiIF07IHRoZW4KKwkJ YnVpbGRfc3R5bGU9bWV0YQorCWZpCisJcGtnX2luc3RhbGwoKSB7CisJCWlmIFsgIiRidWlsZF9v cHRpb25fZG9jcyIgXTsgdGhlbgorCQkJbG9jYWwgX2RvY2Rpcj11c3Ivc2hhcmUvZG9jL29wZW5q ZGskX2phdmFfdmVyCisJCQl2bWtkaXIgJF9kb2NkaXIKKwkJCWNwIC1hICR3cmtzcmMvJGJ1aWxk X3dya3NyYy9idWlsZC9saW51eC0qL2ltYWdlcy9kb2NzLyogJHtQS0dERVNURElSfS8kX2RvY2Rp cgorCQlmaQorCX0KK30KKworb3BlbmpkazIxLXNyY19wYWNrYWdlKCkgeworCW5vc3RyaXA9eWVz CisJbm92ZXJpZnlyZGVwcz15ZXMKKwlub3NobGlicHJvdmlkZXM9eWVzCisJc2hvcnRfZGVzYys9 IiAtIHNvdXJjZSBjb2RlIgorCXBrZ19pbnN0YWxsKCkgeworCQl2bW92ZSAiJF9qZGtfaG9tZS9s aWIvc3JjLnppcCIKKwl9Cit9CisKK29wZW5qZGsyMS1zdGF0aWMtbGlic19wYWNrYWdlKCkgewor CXNob3J0X2Rlc2MrPSIgLSBzdGF0aWMgbGlicyIKKwlwa2dfaW5zdGFsbCgpIHsKKwkJdm1vdmUg IiRfamRrX2hvbWUvbGliLyouYSIKKwl9Cit9CisKK29wZW5qZGsyMS1qbW9kc19wYWNrYWdlKCkg eworCXNob3J0X2Rlc2MrPSIgLSBKTU9EcyIKKwlkZXBlbmRzPSIke3NvdXJjZXBrZ30tJHt2ZXJz aW9ufV8ke3JldmlzaW9ufSIKKwlwa2dfaW5zdGFsbCgpIHsKKwkJdm1vdmUgJF9qZGtfaG9tZS9q bW9kcworCX0KK30KZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvb3BlbmpkazIxL3VwZGF0ZSBiL3NyY3Br Z3Mvb3BlbmpkazIxL3VwZGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw MDAwLi4wMDkwZjI2YjY4ZTFiCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9vcGVuamRrMjEv dXBkYXRlCkBAIC0wLDAgKzEgQEAKK3BhdHRlcm49J2pkay1cSzIxXC5bXGQuK10rKD89XC4pJwo= --===============4486033589343338986==--