ZGlmZiAtLWdpdCBhL0NIQU5HRUxPRyBiL0NIQU5HRUxPRwppbmRleCBiMGMyNGFjLi42MmY5OWYwIDEwMDY0NAotLS0gYS9DSEFOR0VMT0cKKysrIGIvQ0hBTkdFTE9HCkBAIC0yMDA5LDYgKzIwMDksMzIgQEAKICAgICAgICAgICAgIEFkZGVkIFdlYm1pbiBtb2R1bGUgaW4gY29udHJpYi93ZWJtaW4uIFRoYW5rcyB0byBOZWlsCiAgICAgICAgICAgICBGaXNoZXIgZm9yIHRoYXQuCiAKK3ZlcnNpb24gMi4zNQorCSAgICBHZW5lcmF0ZSBhbiAib2xkIiBzY3JpcHQgZXZlbnQgd2hlbiBhIGNsaWVudCBkb2VzIGEgREhDUFJFUVVFU1QKKwkgICAgaW4gSU5JVC1SRUJPT1Qgb3IgU0VMRUNUSU5HIHN0YXRlIGFuZCB0aGUgbGVhc2UgYWxyZWFkeQorCSAgICBleGlzdHMuIFN1cHBseSB2ZW5kb3IgYW5kIHVzZXIgY2xhc3MgaW5mb3JtYXRpb24gdG8gdGhlc2UKKwkgICAgc2NyaXB0IGNhbGxzLgorCisJICAgIEFkZGVkIHN1cHBvcnQgZm9yIERyYWdvbmZseSBCU0QgdG8gc3JjL2NvbmZpZy5oCisKKwkgICAgUmVtb3ZlZCAiVXBncmFkaW5nIHRvIDIuMCIgZG9jdW1lbnQsIHdoaWNoIGlzIGFuY2llbnQKKwkgICAgaGlzdG9yeSBub3cuCisKKwkgICAgVHdlYWsgREhDUCBuZXR3b3JraW5nIGNvZGUgZm9yIEJTRCwgZXNwIE9wZW5CU0QuIEFkZGVkIGEgCisJICAgIHdvcmthcm91bmQgZm9yIGEgYnVnIGluIE9wZW5CU0QgNC4wOiB0aGVyZSBzaG91bGQgZmluYWxseQorICAgICAgICAgICAgYmUgc3VwcG9ydCBmb3IgbXVsdGlwbGUgaW50ZXJmYWNlcyB1bmRlciBPcGVuQlNEIG5vdy4KKwkgICAgTm90ZSB0aGF0IG5vIHZlcnNpb24gb2YgZG5zbWFzcSBiZWZvcmUgMi4zNSB3aWxsIHdvcmsgZm9yIAorCSAgICBESENQIHVuZGVyIE9wZW5CU0QgNC4wIGJlY2F1c2Ugb2YgYSBrZXJuZWwgYnVnLgorCSAgICBUaGFua3MgdG8gQ2xhdWRpbyBKZWtlciwgSmViIENhbXBiZWxsIGFuZCBDcmlzdG9iYWwgCisJICAgIFBhbG1lciBmb3IgaGVscCB3aXRoIHRoaXMuCisKKwkgICAgT3B0aW1pc2VkIHRoZSBjYWNoZSBjb2RlIGZvciB0aGUgY2FzZSBvZiBsYXJnZQorCSAgICAvZXRjL2hvc3RzLiBUaGlzIGlzIG1haW5seSB0byByZW1vdmUgdGhlIE8obi1zcXVhcmVkKQorCSAgICBhbGdvcml0aG0gd2hpY2ggbWFkZSByZWFkaW5nIGxhcmdlICg1MDAwMCBsaW5lcykgZmlsZXMgCisJICAgIHNsb3csIGJ1dCBpdCBhbHNvIHRha2VzIGludG8gYWNjb3VudCB0aGUgc2l6ZSBvZiAKKwkgICAgL2V0Yy9ob3N0cyB3aGVuIGJ1aWxkaW5nIGhhc2ggdGFibGVzLCBzbyBvdmVyYWxsIAorCSAgICBwZXJmb3JtYW5jZSBzaG91bGQgYmUgYmV0dGVyLiBUaGFua3MgdG8gImtva28iIGZvciAKKwkgICAgcG9pbnRpbmcgb3V0IHRoZSBwcm9ibGVtLgogCiAKICAKZGlmZiAtLWdpdCBhL1VQR1JBRElOR190b18yLjAgYi9VUEdSQURJTkdfdG9fMi4wCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMThkNWQzLi4wMDAwMDAwCi0tLSBhL1VQR1JBRElOR190b18yLjAKKysrIC9kZXYvbnVsbApAQCAtMSw2OCArMCwwIEBACi0KLQotCVVwZ3JhZGluZyB0byBkbnNtYXNxIFYyCi0gICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLVZlcnNpb24gMS54IG9mIGRuc21hc3EgaW5jbHVkZXMgYSBmYWNpbGl0eSBmb3IgcmVhZGluZyB0aGUgZGhjcC5sZWFzZXMKLWZpbGUgd3JpdHRlbiBieSBJU0MgZGhjcGQuIFRoaXMgYWxsb3dzIHRoZSBuYW1lcyBvZiBtYWNoaW5lcyB3aGljaAotaGF2ZSBhZGRyZXNzZXMgYWxsb2NhdGVkIGJ5IERIQ1AgdG8gYmUgaW5jbHVkZWQgaW4gdGhlIEROUy4KLQotVmVyc2lvbiAyLnggb2YgZG5zbWFzcSByZXBsYWNlcyB0aGUgSVNDIGRoY3BkIGludGVncmF0aW9uIHdpdGggYSBESENQIAotc2VydmVyIGludGVncmF0ZWQgaW50byBkbnNtYXNxLiBWZXJzaW9ucyAyLjAtMi41IHJlbW92ZWQgdGhlIElTQyAKLWludGVncmF0aW9uIGNvbXBsZXRlbHksIGJ1dCBpbiB2ZXJzaW9uIDIuNiBpdCB3YXMgcmUtZW5hYmxlZCBmb3IgCi1iYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBwdXJwb3Nlcy4gVGhlIGNoYW5nZSB0byBhbiBpbnRlZ3JhdGVkIERIQ1AgCi1zZXJ2ZXIgaGFzIHRoZSBmb2xsb3dpbmcgYWR2YW50YWdlczoKLQotKiBTbWFsbC4gSVNDIGRoY3BkIGlzIGEgbGFyZ2UgYW5kIGNvbXByZWhlbnNpdmUgREhDUCBzb2x1dGlvbi4gVGhlCi0gIGRuc21hc3EgREhDUCBzZXJ2ZXIgYWRkcyBhYm91dCAxNWsgdG8gRE5TLW9ubHkgZG5zbWFzcSBhbmQgcHJvdmlkZXMKLSAgYWxsIHRoZSBmYWNpbGl0aWVzIGxpa2VseSB0byBiZSBuZWVkZWQgaW4gdGhlIHNvcnQgb2YgbmV0d29ya3MKLSAgd2hpY2ggYXJlIHRhcmdldGVkIGJ5IGRuc21hc3EuCi0KLSogRWFzeSB0byBjb25maWd1cmUuIEFsbCBjb25maWd1cmF0aW9uIGlzIGluIG9uZSBmaWxlIGFuZCB0aGVyZSBhcmUKLSAgc2Vuc2libGUgZGVmYXVsdHMgZm9yIGNvbW1vbiBzZXR0aW5ncy4gTWFueSBhcHBsaWNhdGlvbnMgd2lsbCBuZWVkCi0gIGp1c3Qgb25lIGV4dHJhIGxpbmUgaW4gL2V0Yy9kbnNtYXNxLmNvbmYgd2hpY2ggdGVsbHMgaXQgdGhlIHJhbmdlIG9mCi0gIGFkZHJlc3NlcyB0byBhbGxvY2F0ZSB0byBESENQLgotCi0qIFN1cHBvcnQgZm9yIHN0YXRpYyBsZWFzZXMuIFdoZW4gc3RhdGljIGxlYXNlcyBhcmUgdXNlZCB3aXRoIElTQyBESENQCi0gIHRoZXkgZG9uJ3QgYXBwZWFyIGluIHRoZSBkaGNwLmxlYXNlcyBmaWxlIChzaW5jZSB0aGF0IGZpbGUgaXMgdXNlZAotICBmb3Igc3RvcmFnZSBvZiBkeW5hbWljIGxlYXNlcyB3aGljaCBhcmVuJ3QgcHJlLWNvbmZpZ3VyZWQuKSBIZW5jZQotICBzdGF0aWMgbGVhc2VzIGNhbm5vdCBiZSB1c2VkIHdpdGggZG5zbWFzcSB1bmxlc3MgZWFjaCBtYWNoaW5lIHdpdGggYQotICBzdGF0aWMgbGVhc2UgaXMgYWxzbyBpbnNlcnRlZCBpbnRvIC9ldGMvaG9zdHMuIFRoaXMgaXMgbm90IHJlcXVpcmVkCi0gIHdpdGggdGhlIGRuc21hc3EgREhDUCBzZXJ2ZXIuCi0KLQotICAgICAgIERIQ1AgY29uZmlndXJhdGlvbgotICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLQotCi1UbyBjb252ZXJ0IGFuIGluc3RhbGxhdGlvbiB3aGljaCBpcyBjdXJyZW50bHkgdXNpbmcgSVNDIGRoY3BkLCByZW1vdmUKLXRoZSBJU0MgREhDUCBkYWVtb24uIFVubGVzcyB5b3Ugd2FudCBkbnNtYXNxIHRvIHVzZSB0aGUgc2FtZSBmaWxlCi10byBzdG9yZSBpdHMgbGVhc2VzIGl0IGlzIG5lY2Vzc2FyeSB0byByZW1vdmUgdGhlIGNvbmZpZ3VyYXRpb24gbGluZSBpbgotL2V0Yy9kbnNtYXNxLmNvbmYgd2hpY2ggc3BlY2lmaWVzIHRoZSBkaGNwLmxlYXNlcyBmaWxlLgotCi1UbyBlbmFibGUgREhDUCwgc2ltcGx5IGFkZCBhIGxpbmUgbGlrZSB0aGlzIHRvIC9ldGMvZG5zbWFzcS5jb25mCi0KLWRoY3AtcmFuZ2U9MTkyLjE2OC4wLjEwMCwxOTIuMTY4LjAuMjAwLDEyaAotCi13aGljaCB0ZWxscyBkbnNtYXNxIHRvIHVzIHRoZSBhZGRyZXNzZXMgMTkyLjE2OC4wLjEwMCB0byAxOTIuMTY4LjAuMjAwCi1mb3IgZHluYW1pYyBJUCBhZGRyZXNzZXMsIGFuZCB0byBpc3N1ZSB0d2VsdmUgaG91ciBsZWFzZXMuCi0KLUVhY2ggaG9zdCB3aWxsIGhhdmUgaXRzIGRlZmF1bHQgcm91dGUgYW5kIEROUyBzZXJ2ZXIgc2V0IHRvIGJlIHRoZQotYWRkcmVzcyBvZiB0aGUgaG9zdCBydW5uaW5nIGRuc21hc3EsIGFuZCBpdHMgbmV0bWFzayBhbmQgYnJvYWRjYXN0IAotYWRkcmVzcyBzZXQgY29ycmVjdGx5LCBzbyBub3RoaW5nIGVsc2UgYXQgYWxsIGlzIHJlcXVpcmVkIGZvciBhCi1taW5pbWFsIHN5c3RlbS4gSG9zdHMgd2hpY2ggaW5jbHVkZSBhIGhvc3RuYW1lIGluIHRoZWlyIERIQ1AgcmVxdWVzdCAKLXdpbGwgaGF2ZSB0aGF0IG5hbWUgYW5kIHRoZWlyIGFsbG9jYXRlZCBhZGRyZXNzIGluc2VydGVkIGludG8gdGhlIEROUywKLWluIHRoZSBzYW1lIHdheSBhcyBiZWZvcmUuCi0KLUhhdmluZyBzdGFydGVkIGRuc21hc3EsIHRlbGwgYW55IGhvc3RzIG9uIHRoZSBuZXR3b3JrIHRvIHJlbmV3IHRoZWlyCi1ESENQIGxlYXNlLCBzbyB0aGF0IGRuc21hc3EncyAgREhDUCBzZXJ2ZXIgYmVjb21lcyBhd2FyZSBvZiB0aGVtLiBGb3IKLUxpbnV4LCB0aGlzIGlzIGJlc3QgZG9uZSBieSBraWxsaW5nLWFuZC1yZXN0YXJ0aW5nIHRoZSBESENQIGNsaWVudAotZGFlbW9uIG9yIHRha2luZyB0aGUgbmV0d29yayBpbnRlcmZhY2UgZG93biBhbmQgdGhlbiBiYWNrIHVwLiBGb3IgCi1XaW5kb3dzIDl4L01lLCB1c2UgdGhlIGdyYXBoaWNhbCB0b29sICJ3aW5pcGNmZyIuIEZvciBXaW5kb3dzCi1OVC8yMDAwL1hQLCB1c2UgdGhlIGNvbW1hbmQtbGluZSAiaXBjb25maWcgL3JlbmV3IgotCi1Gb3IgbW9yZSBjb21wbGV4IERIQ1AgY29uZmlndXJhdGlvbiwgcmVmZXIgdG8gdGhlIGRvYy9zZXR1cC5odG1sLCB0aGUKLWRuc21hc3EgbWFucGFnZSBhbmQgdGhlIGFubm90YXRlZCBleGFtcGxlIGNvbmZpZ3VyYXRpb24gZmlsZS4gQWxzbwotbm90ZSB0aGF0IGZvciBzb21lIElTQyBkaGNwZCB0byBkbnNtYXNxIERIQ1AgdXBncmFkZXMgdGhlcmUgbWF5IGJlCi1maXJld2FsbCBpc3N1ZXM6IHNlZSB0aGUgRkFRIGZvciBkZXRhaWxzIG9mIHRoaXMuCi0KLQpkaWZmIC0tZ2l0IGEvZG9jLmh0bWwgYi9kb2MuaHRtbAppbmRleCBiZjJlMWQzLi4xNTM2MjA5IDEwMDY0NAotLS0gYS9kb2MuaHRtbAorKysgYi9kb2MuaHRtbApAQCAtMjEsMTEgKzIxLDExIEBACiBTdXBwb3J0ZWQgcGxhdGZvcm1zIGluY2x1ZGUgTGludXggKHdpdGggZ2xpYmMgYW5kIHVjbGliYyksICpCU0QgYW5kCiBNYWMgT1MgWC4KIERuc21hc3EgaXMgaW5jbHVkZWQgaW4gYXQgbGVhc3QgdGhlIGZvbGxvd2luZyBMaW51eCBkaXN0cmlidXRpb25zOgotR2VudG9vLCBEZWJpYW4sIFNsYWNrd2FyZSwgU3VzZSwgCitHZW50b28sIERlYmlhbiwgU2xhY2t3YXJlLCBTdXNlLCBGZWRvcmEsCiBTbW9vdGh3YWxsLCBJUC1Db3AsIGZsb3BweWZ3LCBGaXJlYm94LCBMRUFGLCBGcmVlc2NvLCBmbGk0bCwKIENveW90ZUxpbnV4LCBFbmRpYW4gRmlyZXdhbGwgYW5kCi1DbGFya2Nvbm5lY3QuIEl0IGlzIGFsc28gYXZhaWxhYmxlIGFzIGEgRnJlZUJTRCBwb3J0IGFuZCBpcyB1c2VkIGluCi1MaW5rc3lzIHdpcmVsZXNzIHJvdXRlcnMgYW5kIHRoZSBtMG4wd2FsbCBwcm9qZWN0LgorQ2xhcmtjb25uZWN0LiBJdCBpcyBhbHNvIGF2YWlsYWJsZSBhcyBGcmVlQlNELCBPcGVuQlNEIGFuZCBOZXRCU0QgcG9ydHMgYW5kIGlzIHVzZWQgaW4KK0xpbmtzeXMgd2lyZWxlc3Mgcm91dGVycyAoZGQtd3J0LCBvcGVud3J0IGFuZCB0aGUgc3RvY2sgZmlybXdhcmUpIGFuZCB0aGUgbTBuMHdhbGwgcHJvamVjdC4KIDxQPgogRG5zbWFzcSBwcm92aWRlcyB0aGUgZm9sbG93aW5nIGZlYXR1cmVzOgogPERJUj4KQEAgLTc0LDcgKzc0LDcgQEAKIHdpdGggcHJpdmF0ZSBETlMgc3lzdGVtcyBlYXN5LgogPC9MST4KIDxMST4KLURuc21hc3Egc3VwcG9ydHMgTVggcmVjb3JkcyBhbmQgY2FuIGJlIGNvbmZpZ3VyZWQgdG8gcmV0dXJuIE1YIHJlY29yZHMKK0Ruc21hc3Egc3VwcG9ydHMgTVggYW5kIFNSViByZWNvcmRzIGFuZCBjYW4gYmUgY29uZmlndXJlZCB0byByZXR1cm4gTVggcmVjb3JkcwogZm9yIGFueSBvciBhbGwgbG9jYWwgbWFjaGluZXMuCiA8L0xJPgogPC9ESVI+CkBAIC04MiwyNyArODIsMTEgQEAKIDxIMj5Eb3dubG9hZC48L0gyPgogCiA8QSBIUkVGPSJodHRwOi8vd3d3LnRoZWtlbGxleXMub3JnLnVrL2Ruc21hc3EvIj4gRG93bmxvYWQ8L0E+IGRuc21hc3EgaGVyZS4gCi1UaGUgdGFyYmFsbCBpbmNsdWRlcyB0aGlzIGRvY3VtZW50YXRpb24sIHNvdXJjZSwgbWFucGFnZSBhbmQgY29udHJvbCBmaWxlcyBmb3IgYnVpbGRpbmcgLnJwbXMuCi1UaGVyZSBhcmUgYWxzbyBwcmUtYnVpbHQgaTM4NiAucnBtcywgYW5kIGEgCi08QSBIUkVGPSJDSEFOR0VMT0ciPiBDSEFOR0VMT0c8L0E+LgorVGhlIHRhcmJhbGwgaW5jbHVkZXMgdGhpcyBkb2N1bWVudGF0aW9uLCBzb3VyY2UsIGFuZCBtYW5wYWdlLgorVGhlcmUgaXMgYWxzbyBhIDxBIEhSRUY9IkNIQU5HRUxPRyI+IENIQU5HRUxPRzwvQT4uCiBEbnNtYXNxIGlzIHBhcnQgb2YgdGhlIERlYmlhbiBkaXN0cmlidXRpb24sIGl0IGNhbiBiZSBkb3dubG9hZGVkIGZyb20gCiA8QSBIUkVGPSJodHRwOi8vZnRwLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wvbWFpbi9kL2Ruc21hc3EvIj4gaGVyZTwvQT4gb3IgaW5zdGFsbGVkIHVzaW5nIDxUVD5hcHQ8L1RUPi4KIAotCi08SDI+QnVpbGRpbmcgcnBtcy48L0gyPgotQXNzdW1pbmcgeW91IGhhdmUgdGhlIHJlbGV2YW50IHRvb2xzIGluc3RhbGxlZCwgeW91IGNhbiByZWJ1aWxkIC5ycG1zIHNpbXBseSBieSBydW5uaW5nIChhcyByb290KQotCi08UFJFPgotcnBtYnVpbGQgLXRhIGRuc21hc3EteHh4LnRhci5negotPC9QUkU+Ci0KLU5vdGUgZm9yIFN1c2UgdXNlcnM6IHlvdSB3aWxsIG5lZWQgdG8gcmUtY29tcHJlc3MgdGhlIHRhciBmaWxlIGFzCi1iemlwMiBiZWZvcmUgYnVpbGRpbmcgdXNpbmcgdGhlIGNvbW1hbmRzCi08UFJFPgotZ3VuemlwIGRuc21hc3EteHh4LnRhci5negotYnppcDIgZG5zbWFzcS16enoudGFyCi08L1BSRT4KLQogPEgyPkxpbmtzLjwvSDI+CiBUaGVyZSBpcyBhbiBhcnRpY2xlIGluIEdlcm1hbiBvbiBkbnNtYXNxIGF0IDxBCiBIUkVGPSJodHRwOi8vd3d3LmxpbnV4bmV0bWFnLmNvbS9kZS9pc3N1ZTcvbTdkbnNtYXNxMS5odG1sIj5odHRwOi8vd3d3LmxpbnV4bmV0bWFnLmNvbS9kZS9pc3N1ZTcvbTdkbnNtYXNxMS5odG1sPC9BPgpkaWZmIC0tZ2l0IGEvaG9zdHMgYi9ob3N0cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNDY4MDBjCi0tLSAvZGV2L251bGwKKysrIGIvaG9zdHMKQEAgLTAsMCArMSwyIEBACisxMjcuMC4wLjEgaG9zdDEuZG9tYWluCisKZGlmZiAtLWdpdCBhL21hbi9kbnNtYXNxLjggYi9tYW4vZG5zbWFzcS44CmluZGV4IDEyMjVjMTMuLjQ4NDFlMjUgMTAwNjQ0Ci0tLSBhL21hbi9kbnNtYXNxLjgKKysrIGIvbWFuL2Ruc21hc3EuOApAQCAtMzU0LDcgKzM1NCw3IEBACiBvbmUgaW50ZXJmYWNlIHdoZW4gdXNpbmcgREhDUCwgYW5kIHRoZSBuYW1lIG9mIHRoYXQgaW50ZXJmYWNlIG11c3QgYmUKIGdpdmVuIHVzaW5nIHRoZQogLkIgaW50ZXJmYWNlCi1vcHRpb24uIFRoaXMgbGltaXRhdGlvbiBjdXJyZW50bHkgYWZmZWN0cyBPcGVuQlNELiBJdCBpcyBhbHdheXMKK29wdGlvbi4gVGhpcyBsaW1pdGF0aW9uIGN1cnJlbnRseSBhZmZlY3RzIE9wZW5CU0QgYmVmb3JlIHZlcnNpb24gNC4wLiBJdCBpcyBhbHdheXMKIGFsbG93ZWQgdG8gaGF2ZSBtb3JlIHRoYW4gb25lIGRoY3AtcmFuZ2UgaW4gYSBzaW5nbGUgc3VibmV0LiBUaGUgb3B0aW9uYWwKIG5ldHdvcmstaWQgaXMgYSBhbHBoYW51bWVyaWMgbGFiZWwgd2hpY2ggbWFya3MgdGhpcyBuZXR3b3JrIHNvIHRoYXQKIGRoY3Agb3B0aW9ucyBtYXkgYmUgc3BlY2lmaWVkIG9uIGEgcGVyLW5ldHdvcmsgYmFzaXMuIApAQCAtNTY4LDggKzU2OCw5IEBACiBob3N0IHByb3ZpZGVkIGEgY2xpZW50LWlkLCB0aGlzIGlzIHN0b3JlZCBpbiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUKIEROU01BU1FfQ0xJRU5UX0lELiBJZiB0aGUgY2xpZW50IHByb3ZpZGVzIHZlbmRvci1jbGFzcyBvciB1c2VyLWNsYXNzIAogaW5mb3JtYXRpb24sIHRoZXNlIGFyZSBwcm92aWRlZCBpbiBETlNNQVNRX1ZFTkRPUl9DTEFTUyBhbmQgCi1ETlNNQVNRX1VTRVJfQ0xBU1MwLi5ETlNNQVNRX1VTRVJfQ0xBU1NuIHZhcmlhYmxlcywgYnV0IG9ubHkgZm9yIHRoZQotImFkZCIgYWN0aW9ucywgc2luY2UgdGhlc2UgZGF0YSBhcmUgbm90IGhlbGQgaW4gZG5zbWFzcSdzIGxlYXNlCitETlNNQVNRX1VTRVJfQ0xBU1MwLi5ETlNNQVNRX1VTRVJfQ0xBU1NuIHZhcmlhYmxlcywgYnV0IG9ubHkgZm9yeQorImFkZCIgYWN0aW9ucyBvciAib2xkIiBhY3Rpb25zIHdoZW4gYSBob3N0IHJlc3VtZXMgYW4gZXhpc3RpbmcgbGVhc2UsCitzaW5jZSB0aGVzZSBkYXRhIGFyZSBub3QgaGVsZCBpbiBkbnNtYXNxJ3MgbGVhc2UKIGRhdGFiYXNlLiBJZiBkbnNtYXNxIHdhcyBjb21waWxlZCB3aXRoIEhBVkVfQlJPS0VOX1JUQywgdGhlbgogdGhlIGxlbmd0aCBvZiB0aGUgbGVhc2UgKGluIHNlY29uZHMpIGlzIHN0b3JlZCBpbgogRE5TTUFTUV9MRUFTRV9MRU5HVEgsIG90aGVyd2lzZSB0aGUgdGltZSBvZiBsZWFzZSBleHBpcnkgaXMgc3RvcmVkIGluCmRpZmYgLS1naXQgYS9wby9kZS5wbyBiL3BvL2RlLnBvCmluZGV4IGFiY2QyNzQuLmM4OTI2NDYgMTAwNjQ0Ci0tLSBhL3BvL2RlLnBvCisrKyBiL3BvL2RlLnBvCkBAIC02LDcgKzYsNyBAQAogbXNnc3RyICIiCiAiUHJvamVjdC1JZC1WZXJzaW9uOiBkbnNtYXNxIDIuMjRcbiIKICJSZXBvcnQtTXNnaWQtQnVncy1UbzogXG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMDYtMTAtMTMgMTg6MjArMDEwMFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA2LTEwLTI4IDE1OjQyKzAxMDBcbiIKICJQTy1SZXZpc2lvbi1EYXRlOiAyMDA1LTA5LTI3IDA5OjM3KzAxMDBcbiIKICJMYXN0LVRyYW5zbGF0b3I6IFNpbW9uIEtlbGxleSA8c2ltb25AdGhla2VsbGV5cy5vcmcudWs+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogR2VybWFuIDxkZUBsaS5vcmc+XG4iCkBAIC0xNSwzNyArMTUsMzcgQEAKICJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCiAiUGx1cmFsLUZvcm1zOiBucGx1cmFscz0yOyBwbHVyYWw9KG4gIT0gMSk7XG4iCiAKLSM6IGNhY2hlLmM6NjA2CisjOiBjYWNoZS5jOjY2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gbG9hZCBuYW1lcyBmcm9tICVzOiAlbSIKIG1zZ3N0ciAiIgogCi0jOiBjYWNoZS5jOjY0MiBkaGNwLmM6NjgyCisjOiBjYWNoZS5jOjY5OSBkaGNwLmM6NzAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBhZGRyZXNzIGF0ICVzIGxpbmUgJWQiCiBtc2dzdHIgIiIKIAogIyBAU2ltb246IEhlcmUgSSBuZWVkIGFuIGV4YW1wbGUgdG8gdW5kZXJzdGFuZCBpdCA6KQotIzogY2FjaGUuYzo2NjkgZGhjcC5jOjY5NgorIzogY2FjaGUuYzo3NDUgZGhjcC5jOjcxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbmFtZSBhdCAlcyBsaW5lICVkIgogbXNnc3RyICIiCiAKICMgQFNpbW9uOiBIZXJlIEkgbmVlZCBhbiBleGFtcGxlIHRvIHVuZGVyc3RhbmQgaXQgOikKLSM6IGNhY2hlLmM6Njc1IGRoY3AuYzo3NTAKKyM6IGNhY2hlLmM6NzUyIGRoY3AuYzo3NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVhZCAlcyAtICVkIGFkZHJlc3NlcyIKIG1zZ3N0ciAibGVzZSAlcyAtICVkIEFkcmVzc2VuIgogCiAjIEBTaW1vbjogJ2xlc2UnIGlzIHByZXNlbnQsIGlzIHRoYXQgb2s/IElmIGl0IHNob3VsZCBiZSBwYXN0LCBpdCB3b3VsZCBiZQogIyBAU2ltb246ICJnZWxlc2VuOiAlcyAtICVkIEFkcmVzc2VuIiAtIG5vdGUgdGhlIGNvbG9uLCBpdCdzIGEgbXVzdCwgdGhlbi4KLSM6IGNhY2hlLmM6NzExCisjOiBjYWNoZS5jOjc5MAogbXNnaWQgImNsZWFyZWQgY2FjaGUiCiBtc2dzdHIgIkNhY2hlIGdlbGVlcnQiCiAKICMgQFNpbW9uOiAiQ2FjaGUgZ2VsZWVydCIgaXMgbGl0ZXJhbGx5ICJDYWNoZSBlbXB0aWVkIiBidXQgSSB0aGluayBvdGhlciB0cmFuc2xhdGlvbnMgY291bGQgYmUgbWlzbGVhZGluZwogIyBAU2ltb246IChJIGRvbid0IGtub3cgYSBnb29kIGdlcm1hbiByZXBsYWNlbWVudCBmb3IgIkNhY2hlIiBidXQgQUZBSUsgIkNhY2hlIiBpcyBjb21tb24gaW4gZ2VybWFuKQotIzogY2FjaGUuYzo3NjQKKyM6IGNhY2hlLmM6ODQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJub3QgZ2l2aW5nIG5hbWUgJXMgdG8gdGhlIERIQ1AgbGVhc2Ugb2YgJXMgYmVjYXVzZSB0aGUgbmFtZSBleGlzdHMgaW4gJXMgIgpAQCAtNTYsNyArNTYsNyBAQAogCiAjIEBTaW1vbjogIk1pZXRlciIgaXMgcmF0aGVyICdsb2dkZXIsIHJlbnRlciwgdGVuYW50LCBsZXNzZWUnIGJ1dCBJIGNvdWxkbid0IGZpbmQgYW55dGhpbmcgdGhhdCBmaXRzIGJldHRlci4KICMgQFNpbW9uOiBTbyBJIHRob3VnaHQgSSBwdXQgaXQgaW4gJyctbWFya3MgOikKLSM6IGNhY2hlLmM6ODA4CisjOiBjYWNoZS5jOjg4NwogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiIgogInRpbWUgJWx1LCBjYWNoZSBzaXplICVkLCAlZC8lZCBjYWNoZSBpbnNlcnRpb25zIHJlLXVzZWQgdW5leHBpcmVkIGNhY2hlICIKQEAgLTc5Niw0NyArNzk2LDQ3IEBACiBtc2dpZCAiZmFpbGVkIHRvIHNldCBvcHRpb25zIG9uIERIQ1Agc29ja2V0OiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBkaGNwLmM6NDgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZmFpbGVkIHRvIHNldCBTT19SRVVTRUFERFIgb24gREhDUCBzb2NrZXQ6ICVzIgotbXNnc3RyICIiCi0KICM6IGRoY3AuYzo1OQogIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgdG8gYmluZCBESENQIHNlcnZlciBzb2NrZXQ6ICVzIgorbXNnaWQgImZhaWxlZCB0byBzZXQgU09fUkVVU0V7QUREUnxQT1JUfSBvbiBESENQIHNvY2tldDogJXMiCiBtc2dzdHIgIiIKIAogIzogZGhjcC5jOjcyCiAjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBiaW5kIERIQ1Agc2VydmVyIHNvY2tldDogJXMiCittc2dzdHIgIiIKKworIzogZGhjcC5jOjg1CisjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgSUNNUCByYXcgc29ja2V0OiAlcy4iCiBtc2dzdHIgIiIKIAotIzogZGhjcC5jOjg0CisjOiBkaGNwLmM6OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZHVwbGljYXRlIElQIGFkZHJlc3MgJXMgaW4gZGhjcC1jb25maWcgZGlyZWN0aXZlLiIKIG1zZ3N0ciAiIgogCi0jOiBkaGNwLmM6MzE3CisjOiBkaGNwLmM6MzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkRIQ1AgcmFuZ2UgJXMgLS0gJXMgaXMgbm90IGNvbnNpc3RlbnQgd2l0aCBuZXRtYXNrICVzIgogbXNnc3RyICIiCiAKLSM6IGRoY3AuYzo2MzQKKyM6IGRoY3AuYzo2NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgJXM6JW0iCiBtc2dzdHIgIiIKIAotIzogZGhjcC5jOjY2OQorIzogZGhjcC5jOjY4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbGluZSBhdCAlcyBsaW5lICVkIgogbXNnc3RyICIiCiAKLSM6IGRoY3AuYzo3NzYKKyM6IGRoY3AuYzo3OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZHVwbGljYXRlIElQIGFkZHJlc3MgJXMgKCVzKSBpbiBkaGNwLWNvbmZpZyBkaXJlY3RpdmUiCiBtc2dzdHIgIiIKIAotIzogZGhjcC5jOjgxMgorIzogZGhjcC5jOjgzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJJZ25vcmluZyBESENQIGhvc3QgbmFtZSAlcyBiZWNhdXNlIGl0IGhhcyBhbiBpbGxlZ2FsIGRvbWFpbiBwYXJ0IgogbXNnc3RyICIiCkBAIC04ODIsNyArODgyLDcgQEAKIG1zZ2lkICJkaXNhYmxlZCIKIG1zZ3N0ciAiIgogCi0jOiByZmMyMTMxLmM6MzI0IHJmYzIxMzEuYzo3NTkKKyM6IHJmYzIxMzEuYzozMjQgcmZjMjEzMS5jOjc2MgogbXNnaWQgImFkZHJlc3MgaW4gdXNlIgogbXNnc3RyICIiCiAKQEAgLTg5NCwxMSArODk0LDExIEBACiBtc2dpZCAibm8gYWRkcmVzcyBhdmFpbGFibGUiCiBtc2dzdHIgIiIKIAotIzogcmZjMjEzMS5jOjM0OSByZmMyMTMxLmM6NzY3CisjOiByZmMyMTMxLmM6MzQ5IHJmYzIxMzEuYzo3NzIKIG1zZ2lkICJubyBsZWFzZXMgbGVmdCIKIG1zZ3N0ciAiIgogCi0jOiByZmMyMTMxLmM6MzUyIHJmYzIxMzEuYzo3MzMKKyM6IHJmYzIxMzEuYzozNTIgcmZjMjEzMS5jOjczNgogbXNnaWQgIndyb25nIG5ldHdvcmsiCiBtc2dzdHIgIiIKIApAQCAtOTExLDcgKzkxMSw3IEBACiBtc2dpZCAidW5rbm93biBsZWFzZSIKIG1zZ3N0ciAiIgogCi0jOiByZmMyMTMxLmM6NTg5IHJmYzIxMzEuYzo4NjIKKyM6IHJmYzIxMzEuYzo1ODkgcmZjMjEzMS5jOjg3MwogbXNnaWQgImlnbm9yZWQiCiBtc2dzdHIgIiIKIApAQCAtOTMxLDM2ICs5MzEsMzYgQEAKIG1zZ2lkICJub3QgdXNpbmcgY29uZmlndXJlZCBhZGRyZXNzICVzIGJlY2F1c2UgaXQgd2FzIHByZXZpb3VzbHkgZGVjbGluZWQiCiBtc2dzdHIgIiIKIAotIzogcmZjMjEzMS5jOjY5NgorIzogcmZjMjEzMS5jOjY5OQogbXNnaWQgIndyb25nIGFkZHJlc3MiCiBtc2dzdHIgIiIKIAotIzogcmZjMjEzMS5jOjcwOQorIzogcmZjMjEzMS5jOjcxMgogbXNnaWQgImxlYXNlIG5vdCBmb3VuZCIKIG1zZ3N0ciAiIgogCi0jOiByZmMyMTMxLmM6NzQxCisjOiByZmMyMTMxLmM6NzQ0CiBtc2dpZCAiYWRkcmVzcyBub3QgYXZhaWxhYmxlIgogbXNnc3RyICIiCiAKLSM6IHJmYzIxMzEuYzo3NTIKKyM6IHJmYzIxMzEuYzo3NTUKIG1zZ2lkICJzdGF0aWMgbGVhc2UgYXZhaWxhYmxlIgogbXNnc3RyICIiCiAKLSM6IHJmYzIxMzEuYzo3NTYKKyM6IHJmYzIxMzEuYzo3NTkKIG1zZ2lkICJhZGRyZXNzIHJlc2VydmVkIgogbXNnc3RyICIiCiAKLSM6IHJmYzIxMzEuYzo3NjIKKyM6IHJmYzIxMzEuYzo3NjUKIG1zZ2lkICJubyB1bmlxdWUtaWQiCiBtc2dzdHIgIiIKIAotIzogcmZjMjEzMS5jOjEwMDAKKyM6IHJmYzIxMzEuYzoxMDExCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzZW5kIERIQ1Agb3B0aW9uICVkOiBubyBzcGFjZSBsZWZ0IGluIHBhY2tldCIKIG1zZ3N0ciAiIgogCi0jOiByZmMyMTMxLmM6MTMwMQorIzogcmZjMjEzMS5jOjEzMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTW9yZSB0aGFuIG9uZSB2ZW5kb3IgY2xhc3MgbWF0Y2hlcywgdXNpbmcgJXMiCiBtc2dzdHIgIiIKZGlmZiAtLWdpdCBhL3BvL2VzLnBvIGIvcG8vZXMucG8KaW5kZXggODZiYjY2ZC4uN2EwYzEyYyAxMDA2NDQKLS0tIGEvcG8vZXMucG8KKysrIGIvcG8vZXMucG8KQEAgLTYsNyArNiw3IEBACiBtc2dzdHIgIiIKICJQcm9qZWN0LUlkLVZlcnNpb246IGRuc21hc3EgMi4yNFxuIgogIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBcbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwNi0xMC0xMyAxODoyMCswMTAwXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDYtMTAtMjggMTU6NDIrMDEwMFxuIgogIlBPLVJldmlzaW9uLURhdGU6IDIwMDUtMTAtMDcgMTE6MDQrMDEwMFxuIgogIkxhc3QtVHJhbnNsYXRvcjogQ2hyaXN0b3BoZXIgQ2hhdGhhbSA8Y2hyaXNsaW51eEBnbWFpbC5jb20+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogU3BhbmlzaCA8ZXNAbGkub3JnPlxuIgpAQCAtMTUsMzEgKzE1LDMxIEBACiAiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgogIlBsdXJhbC1Gb3JtczogbnBsdXJhbHM9MjsgcGx1cmFsPShuICE9IDEpO1xuIgogCi0jOiBjYWNoZS5jOjYwNgorIzogY2FjaGUuYzo2NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGxvYWQgbmFtZXMgZnJvbSAlczogJW0iCiBtc2dzdHIgIm5vIHNlIHB1ZG8gY2FyZ2FyIG5vbWJyZXMgZGVzZGUgJXM6ICVtIgogCi0jOiBjYWNoZS5jOjY0MiBkaGNwLmM6NjgyCisjOiBjYWNoZS5jOjY5OSBkaGNwLmM6NzAxCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJiYWQgYWRkcmVzcyBhdCAlcyBsaW5lICVkIgogbXNnc3RyICJub21icmUgZXJy825lbyBlbiAlcyBs7W5lYSAlZCIKIAotIzogY2FjaGUuYzo2NjkgZGhjcC5jOjY5NgorIzogY2FjaGUuYzo3NDUgZGhjcC5jOjcxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbmFtZSBhdCAlcyBsaW5lICVkIgogbXNnc3RyICJub21icmUgZXJy825lbyBlbiAlcyBs7W5lYSAlZCIKIAotIzogY2FjaGUuYzo2NzUgZGhjcC5jOjc1MAorIzogY2FjaGUuYzo3NTIgZGhjcC5jOjc2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWFkICVzIC0gJWQgYWRkcmVzc2VzIgogbXNnc3RyICJkaXJlY2Np825lcyAlcyAtICVkIGxl7WRhcyIKIAotIzogY2FjaGUuYzo3MTEKKyM6IGNhY2hlLmM6NzkwCiBtc2dpZCAiY2xlYXJlZCBjYWNoZSIKIG1zZ3N0ciAiZWwgY2FjaOkgZnVlIGxpYmVyYWRvIgogCi0jOiBjYWNoZS5jOjc2NAorIzogY2FjaGUuYzo4NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm5vdCBnaXZpbmcgbmFtZSAlcyB0byB0aGUgREhDUCBsZWFzZSBvZiAlcyBiZWNhdXNlIHRoZSBuYW1lIGV4aXN0cyBpbiAlcyAiCkBAIC00OCw3ICs0OCw3IEBACiAibm8gb3RvcmdhbmRvIG5vbWJyZSAlcyBhbCBhcnJpZW5kbyBESENQIGRlICVzIHBvcnF1ZSBlbCBub21icmUgZXhpc3RlIGVuICVzICIKICJjb24gZGlyZWNjafNuICVzIgogCi0jOiBjYWNoZS5jOjgwOAorIzogY2FjaGUuYzo4ODcKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiIKICJ0aW1lICVsdSwgY2FjaGUgc2l6ZSAlZCwgJWQvJWQgY2FjaGUgaW5zZXJ0aW9ucyByZS11c2VkIHVuZXhwaXJlZCBjYWNoZSAiCkBAIC03NzMsNDcgKzc3Myw0NyBAQAogbXNnaWQgImZhaWxlZCB0byBzZXQgb3B0aW9ucyBvbiBESENQIHNvY2tldDogJXMiCiBtc2dzdHIgIm5vIHNlIHB1ZG8gZmlqYXIgb3BjaW9uZXMgZW4gc29ja2V0IERIQ1A6ICVzIgogCi0jOiBkaGNwLmM6NDgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZmFpbGVkIHRvIHNldCBTT19SRVVTRUFERFIgb24gREhDUCBzb2NrZXQ6ICVzIgorIzogZGhjcC5jOjU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IFNPX1JFVVNFe0FERFJ8UE9SVH0gb24gREhDUCBzb2NrZXQ6ICVzIgogbXNnc3RyICJubyBzZSBwdWRvIGZpamFyIFNPX1JFVVNFQUREUiBlbiBzb2NrZXQgREhDUDogJXMiCiAKLSM6IGRoY3AuYzo1OQorIzogZGhjcC5jOjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBiaW5kIERIQ1Agc2VydmVyIHNvY2tldDogJXMiCiBtc2dzdHIgIm5vIHNlIHB1ZG8gYWNvcGxhciBzb2NrZXQgZGUgc2Vydmlkb3IgREhDUDogJXMiCiAKLSM6IGRoY3AuYzo3MgorIzogZGhjcC5jOjg1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgSUNNUCByYXcgc29ja2V0OiAlcy4iCiBtc2dzdHIgIm5vIHNlIHB1ZWRlIGNyZWFyIHNvY2tldCBjcnVkbyBJQ01QOiAlcy4iCiAKLSM6IGRoY3AuYzo4NAorIzogZGhjcC5jOjk3CiAjLCBjLWZvcm1hdAogbXNnaWQgImR1cGxpY2F0ZSBJUCBhZGRyZXNzICVzIGluIGRoY3AtY29uZmlnIGRpcmVjdGl2ZS4iCiBtc2dzdHIgImRpcmVjY2nzbiBJUCBkdXBsaWNhZGEgZW4gZGlyZWN0aXZhIGRoY3AtY29uZmlnLiIKIAotIzogZGhjcC5jOjMxNworIzogZGhjcC5jOjMzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJESENQIHJhbmdlICVzIC0tICVzIGlzIG5vdCBjb25zaXN0ZW50IHdpdGggbmV0bWFzayAlcyIKIG1zZ3N0ciAicmFuZ28gREhDUCAlcyAtLSAlcyBubyBjb2luY2lkZSBjb24gbeFzY2FyYSBkZSBzdWJyZWQgJXMiCiAKLSM6IGRoY3AuYzo2MzQKKyM6IGRoY3AuYzo2NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgJXM6JW0iCiBtc2dzdHIgIm5vIHNlIHB1ZG8gbGVlciAlczolbSIKIAotIzogZGhjcC5jOjY2OQorIzogZGhjcC5jOjY4OAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGxpbmUgYXQgJXMgbGluZSAlZCIKIG1zZ3N0ciAibm9tYnJlIGVycvNuZW8gZW4gJXMgbO1uZWEgJWQiCiAKLSM6IGRoY3AuYzo3NzYKKyM6IGRoY3AuYzo3OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZHVwbGljYXRlIElQIGFkZHJlc3MgJXMgKCVzKSBpbiBkaGNwLWNvbmZpZyBkaXJlY3RpdmUiCiBtc2dzdHIgImRpcmVjY2nzbiBJUCBkdXBsaWNhZGEgJXMgKCVzKSBlbiBkaXJlY3RpdmEgZGhjcC1jb25maWciCiAKLSM6IGRoY3AuYzo4MTIKKyM6IGRoY3AuYzo4MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiSWdub3JpbmcgREhDUCBob3N0IG5hbWUgJXMgYmVjYXVzZSBpdCBoYXMgYW4gaWxsZWdhbCBkb21haW4gcGFydCIKIG1zZ3N0ciAiIgpAQCAtODYwLDcgKzg2MCw3IEBACiBtc2dpZCAiZGlzYWJsZWQiCiBtc2dzdHIgImRlc2hhYmlsaXRhZG8iCiAKLSM6IHJmYzIxMzEuYzozMjQgcmZjMjEzMS5jOjc1OQorIzogcmZjMjEzMS5jOjMyNCByZmMyMTMxLmM6NzYyCiBtc2dpZCAiYWRkcmVzcyBpbiB1c2UiCiBtc2dzdHIgImRpcmVjY2nzbiBlbiB1c28iCiAKQEAgLTg3MiwxMSArODcyLDExIEBACiBtc2dpZCAibm8gYWRkcmVzcyBhdmFpbGFibGUiCiBtc2dzdHIgIm5pbmd1bmEgZGlyZWNjafNuIGRpc3BvbmlibGUiCiAKLSM6IHJmYzIxMzEuYzozNDkgcmZjMjEzMS5jOjc2NworIzogcmZjMjEzMS5jOjM0OSByZmMyMTMxLmM6NzcyCiBtc2dpZCAibm8gbGVhc2VzIGxlZnQiCiBtc2dzdHIgIm5vIHF1ZWRhIG5pbmf6biBhcnJpZW5kbyIKIAotIzogcmZjMjEzMS5jOjM1MiByZmMyMTMxLmM6NzMzCisjOiByZmMyMTMxLmM6MzUyIHJmYzIxMzEuYzo3MzYKIG1zZ2lkICJ3cm9uZyBuZXR3b3JrIgogbXNnc3RyICJyZWQgZXF1aXZvY2FkYSIKIApAQCAtODg5LDcgKzg4OSw3IEBACiBtc2dpZCAidW5rbm93biBsZWFzZSIKIG1zZ3N0ciAiYXJyaWVuZG8gZGVzY29ub2NpZG8iCiAKLSM6IHJmYzIxMzEuYzo1ODkgcmZjMjEzMS5jOjg2MgorIzogcmZjMjEzMS5jOjU4OSByZmMyMTMxLmM6ODczCiBtc2dpZCAiaWdub3JlZCIKIG1zZ3N0ciAiaWdub3JhZG8iCiAKQEAgLTkxMCwzNiArOTEwLDM2IEBACiBtc2dpZCAibm90IHVzaW5nIGNvbmZpZ3VyZWQgYWRkcmVzcyAlcyBiZWNhdXNlIGl0IHdhcyBwcmV2aW91c2x5IGRlY2xpbmVkIgogbXNnc3RyICJubyB1c2FuZG8gZGlyZWNjafNuIGNvbmZpZ3VyYWRhICVzIHBvcnF1ZSBlc3RhIGFycmllbmRhZGEgYSAlcyIKIAotIzogcmZjMjEzMS5jOjY5NgorIzogcmZjMjEzMS5jOjY5OQogbXNnaWQgIndyb25nIGFkZHJlc3MiCiBtc2dzdHIgImRpcmVjY2nzbiBlcXVpdm9jYWRhIgogCi0jOiByZmMyMTMxLmM6NzA5CisjOiByZmMyMTMxLmM6NzEyCiBtc2dpZCAibGVhc2Ugbm90IGZvdW5kIgogbXNnc3RyICJhcnJpZW5kbyBubyBlbmNvbnRyYWRvIgogCi0jOiByZmMyMTMxLmM6NzQxCisjOiByZmMyMTMxLmM6NzQ0CiBtc2dpZCAiYWRkcmVzcyBub3QgYXZhaWxhYmxlIgogbXNnc3RyICJkaXJlY2Np824gbm8gZGlzcG9uaWJsZSIKIAotIzogcmZjMjEzMS5jOjc1MgorIzogcmZjMjEzMS5jOjc1NQogbXNnaWQgInN0YXRpYyBsZWFzZSBhdmFpbGFibGUiCiBtc2dzdHIgImFycmllbmRvIGVzdOF0aWNvIGRpc3BvbmlibGUiCiAKLSM6IHJmYzIxMzEuYzo3NTYKKyM6IHJmYzIxMzEuYzo3NTkKIG1zZ2lkICJhZGRyZXNzIHJlc2VydmVkIgogbXNnc3RyICJkaXJlY2Np824gcmVzZXJ2YWRhIgogCi0jOiByZmMyMTMxLmM6NzYyCisjOiByZmMyMTMxLmM6NzY1CiBtc2dpZCAibm8gdW5pcXVlLWlkIgogbXNnc3RyICJuaW5n+m4gdW5pcXVlLWlkIChJRCD6bmljbykiCiAKLSM6IHJmYzIxMzEuYzoxMDAwCisjOiByZmMyMTMxLmM6MTAxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc2VuZCBESENQIG9wdGlvbiAlZDogbm8gc3BhY2UgbGVmdCBpbiBwYWNrZXQiCiBtc2dzdHIgIm5vIHNlIHB1ZWRlIGVudmlhciBvcGNp824gREhDUCAlZDogbm8gcXVlZGEgZXNwYWNpbyBlbiBlbCBwYXF1ZXRlIgogCi0jOiByZmMyMTMxLmM6MTMwMQorIzogcmZjMjEzMS5jOjEzMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTW9yZSB0aGFuIG9uZSB2ZW5kb3IgY2xhc3MgbWF0Y2hlcywgdXNpbmcgJXMiCiBtc2dzdHIgIk3hcyBkZSB1bmEgY2xhc2UgZGUgdmVuZGVkb3IgY29pbmNpZGUsIHVzYW5kbyAlcyIKZGlmZiAtLWdpdCBhL3BvL2ZpLnBvIGIvcG8vZmkucG8KaW5kZXggOGNmODJkZS4uY2Q3MTQ1YyAxMDA2NDQKLS0tIGEvcG8vZmkucG8KKysrIGIvcG8vZmkucG8KQEAgLTYsNyArNiw3IEBACiBtc2dzdHIgIiIKICJQcm9qZWN0LUlkLVZlcnNpb246IGRuc21hc3EgMi4yNFxuIgogIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBcbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwNi0xMC0xMyAxODoyMCswMTAwXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDYtMTAtMjggMTU6NDIrMDEwMFxuIgogIlBPLVJldmlzaW9uLURhdGU6IDIwMDUtMTEtMjggMjI6MDUrMDAwMFxuIgogIkxhc3QtVHJhbnNsYXRvcjogU2ltb24gS2VsbGV5IDxzaW1vbkB0aGVrZWxsZXlzLm9yZy51az5cbiIKICJMYW5ndWFnZS1UZWFtOiBGaW5uaXNoIDx0cmFuc2xhdGlvbi10ZWFtLWZpQGxpc3RzLnNvdXJjZWZvcmdlLm5ldD5cbiIKQEAgLTE1LDM4ICsxNSwzOCBAQAogIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKICJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTI7IHBsdXJhbD0obiAhPSAxKTtcbiIKIAotIzogY2FjaGUuYzo2MDYKKyM6IGNhY2hlLmM6NjY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBsb2FkIG5hbWVzIGZyb20gJXM6ICVtIgogbXNnc3RyICIiCiAKLSM6IGNhY2hlLmM6NjQyIGRoY3AuYzo2ODIKKyM6IGNhY2hlLmM6Njk5IGRoY3AuYzo3MDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGFkZHJlc3MgYXQgJXMgbGluZSAlZCIKIG1zZ3N0ciAiIgogCi0jOiBjYWNoZS5jOjY2OSBkaGNwLmM6Njk2CisjOiBjYWNoZS5jOjc0NSBkaGNwLmM6NzE1CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBuYW1lIGF0ICVzIGxpbmUgJWQiCiBtc2dzdHIgIiIKIAotIzogY2FjaGUuYzo2NzUgZGhjcC5jOjc1MAorIzogY2FjaGUuYzo3NTIgZGhjcC5jOjc2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWFkICVzIC0gJWQgYWRkcmVzc2VzIgogbXNnc3RyICIiCiAKLSM6IGNhY2hlLmM6NzExCisjOiBjYWNoZS5jOjc5MAogbXNnaWQgImNsZWFyZWQgY2FjaGUiCiBtc2dzdHIgIiIKIAotIzogY2FjaGUuYzo3NjQKKyM6IGNhY2hlLmM6ODQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJub3QgZ2l2aW5nIG5hbWUgJXMgdG8gdGhlIERIQ1AgbGVhc2Ugb2YgJXMgYmVjYXVzZSB0aGUgbmFtZSBleGlzdHMgaW4gJXMgIgogIndpdGggYWRkcmVzcyAlcyIKIG1zZ3N0ciAiIgogCi0jOiBjYWNoZS5jOjgwOAorIzogY2FjaGUuYzo4ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInRpbWUgJWx1LCBjYWNoZSBzaXplICVkLCAlZC8lZCBjYWNoZSBpbnNlcnRpb25zIHJlLXVzZWQgdW5leHBpcmVkIGNhY2hlICIKQEAgLTc0Nyw0NyArNzQ3LDQ3IEBACiBtc2dpZCAiZmFpbGVkIHRvIHNldCBvcHRpb25zIG9uIERIQ1Agc29ja2V0OiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBkaGNwLmM6NDgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZmFpbGVkIHRvIHNldCBTT19SRVVTRUFERFIgb24gREhDUCBzb2NrZXQ6ICVzIgotbXNnc3RyICIiCi0KICM6IGRoY3AuYzo1OQogIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgdG8gYmluZCBESENQIHNlcnZlciBzb2NrZXQ6ICVzIgorbXNnaWQgImZhaWxlZCB0byBzZXQgU09fUkVVU0V7QUREUnxQT1JUfSBvbiBESENQIHNvY2tldDogJXMiCiBtc2dzdHIgIiIKIAogIzogZGhjcC5jOjcyCiAjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBiaW5kIERIQ1Agc2VydmVyIHNvY2tldDogJXMiCittc2dzdHIgIiIKKworIzogZGhjcC5jOjg1CisjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgSUNNUCByYXcgc29ja2V0OiAlcy4iCiBtc2dzdHIgIiIKIAotIzogZGhjcC5jOjg0CisjOiBkaGNwLmM6OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZHVwbGljYXRlIElQIGFkZHJlc3MgJXMgaW4gZGhjcC1jb25maWcgZGlyZWN0aXZlLiIKIG1zZ3N0ciAiIgogCi0jOiBkaGNwLmM6MzE3CisjOiBkaGNwLmM6MzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkRIQ1AgcmFuZ2UgJXMgLS0gJXMgaXMgbm90IGNvbnNpc3RlbnQgd2l0aCBuZXRtYXNrICVzIgogbXNnc3RyICIiCiAKLSM6IGRoY3AuYzo2MzQKKyM6IGRoY3AuYzo2NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgJXM6JW0iCiBtc2dzdHIgIiIKIAotIzogZGhjcC5jOjY2OQorIzogZGhjcC5jOjY4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbGluZSBhdCAlcyBsaW5lICVkIgogbXNnc3RyICIiCiAKLSM6IGRoY3AuYzo3NzYKKyM6IGRoY3AuYzo3OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZHVwbGljYXRlIElQIGFkZHJlc3MgJXMgKCVzKSBpbiBkaGNwLWNvbmZpZyBkaXJlY3RpdmUiCiBtc2dzdHIgIiIKIAotIzogZGhjcC5jOjgxMgorIzogZGhjcC5jOjgzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJJZ25vcmluZyBESENQIGhvc3QgbmFtZSAlcyBiZWNhdXNlIGl0IGhhcyBhbiBpbGxlZ2FsIGRvbWFpbiBwYXJ0IgogbXNnc3RyICIiCkBAIC04MzMsNyArODMzLDcgQEAKIG1zZ2lkICJkaXNhYmxlZCIKIG1zZ3N0ciAiIgogCi0jOiByZmMyMTMxLmM6MzI0IHJmYzIxMzEuYzo3NTkKKyM6IHJmYzIxMzEuYzozMjQgcmZjMjEzMS5jOjc2MgogbXNnaWQgImFkZHJlc3MgaW4gdXNlIgogbXNnc3RyICIiCiAKQEAgLTg0NSwxMSArODQ1LDExIEBACiBtc2dpZCAibm8gYWRkcmVzcyBhdmFpbGFibGUiCiBtc2dzdHIgIiIKIAotIzogcmZjMjEzMS5jOjM0OSByZmMyMTMxLmM6NzY3CisjOiByZmMyMTMxLmM6MzQ5IHJmYzIxMzEuYzo3NzIKIG1zZ2lkICJubyBsZWFzZXMgbGVmdCIKIG1zZ3N0ciAiIgogCi0jOiByZmMyMTMxLmM6MzUyIHJmYzIxMzEuYzo3MzMKKyM6IHJmYzIxMzEuYzozNTIgcmZjMjEzMS5jOjczNgogbXNnaWQgIndyb25nIG5ldHdvcmsiCiBtc2dzdHIgIiIKIApAQCAtODYyLDcgKzg2Miw3IEBACiBtc2dpZCAidW5rbm93biBsZWFzZSIKIG1zZ3N0ciAiIgogCi0jOiByZmMyMTMxLmM6NTg5IHJmYzIxMzEuYzo4NjIKKyM6IHJmYzIxMzEuYzo1ODkgcmZjMjEzMS5jOjg3MwogbXNnaWQgImlnbm9yZWQiCiBtc2dzdHIgIiIKIApAQCAtODgyLDM2ICs4ODIsMzYgQEAKIG1zZ2lkICJub3QgdXNpbmcgY29uZmlndXJlZCBhZGRyZXNzICVzIGJlY2F1c2UgaXQgd2FzIHByZXZpb3VzbHkgZGVjbGluZWQiCiBtc2dzdHIgIiIKIAotIzogcmZjMjEzMS5jOjY5NgorIzogcmZjMjEzMS5jOjY5OQogbXNnaWQgIndyb25nIGFkZHJlc3MiCiBtc2dzdHIgIiIKIAotIzogcmZjMjEzMS5jOjcwOQorIzogcmZjMjEzMS5jOjcxMgogbXNnaWQgImxlYXNlIG5vdCBmb3VuZCIKIG1zZ3N0ciAiIgogCi0jOiByZmMyMTMxLmM6NzQxCisjOiByZmMyMTMxLmM6NzQ0CiBtc2dpZCAiYWRkcmVzcyBub3QgYXZhaWxhYmxlIgogbXNnc3RyICIiCiAKLSM6IHJmYzIxMzEuYzo3NTIKKyM6IHJmYzIxMzEuYzo3NTUKIG1zZ2lkICJzdGF0aWMgbGVhc2UgYXZhaWxhYmxlIgogbXNnc3RyICIiCiAKLSM6IHJmYzIxMzEuYzo3NTYKKyM6IHJmYzIxMzEuYzo3NTkKIG1zZ2lkICJhZGRyZXNzIHJlc2VydmVkIgogbXNnc3RyICIiCiAKLSM6IHJmYzIxMzEuYzo3NjIKKyM6IHJmYzIxMzEuYzo3NjUKIG1zZ2lkICJubyB1bmlxdWUtaWQiCiBtc2dzdHIgIiIKIAotIzogcmZjMjEzMS5jOjEwMDAKKyM6IHJmYzIxMzEuYzoxMDExCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzZW5kIERIQ1Agb3B0aW9uICVkOiBubyBzcGFjZSBsZWZ0IGluIHBhY2tldCIKIG1zZ3N0ciAiIgogCi0jOiByZmMyMTMxLmM6MTMwMQorIzogcmZjMjEzMS5jOjEzMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTW9yZSB0aGFuIG9uZSB2ZW5kb3IgY2xhc3MgbWF0Y2hlcywgdXNpbmcgJXMiCiBtc2dzdHIgIiIKZGlmZiAtLWdpdCBhL3BvL2ZyLnBvIGIvcG8vZnIucG8KaW5kZXggODg0ZDA2Ny4uNWNhOTM4MSAxMDA2NDQKLS0tIGEvcG8vZnIucG8KKysrIGIvcG8vZnIucG8KQEAgLTcsNyArNyw3IEBACiBtc2dzdHIgIiIKICJQcm9qZWN0LUlkLVZlcnNpb246IGRuc21hc3EgMi4zNFxuIgogIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBcbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwNi0xMC0xMyAxODoyMCswMTAwXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDYtMTAtMjggMTU6NDIrMDEwMFxuIgogIlBPLVJldmlzaW9uLURhdGU6IDIwMDUtMTAtMDIgMTk6MDUrMDEwMFxuIgogIkxhc3QtVHJhbnNsYXRvcjogIExpb25lbCBUcmljb24gPGxpb25lbC50cmljb25AZnJlZS5mcj5cbiIKICJMYW5ndWFnZS1UZWFtOiBGcmVuY2ggPHRyYWR1Y0B0cmFkdWMub3JnPlxuIgpAQCAtMTYsMzEgKzE2LDMxIEBACiAiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgogIlBsdXJhbC1Gb3JtczogbnBsdXJhbHM9MjsgcGx1cmFsPShuID4gMSk7XG4iCiAKLSM6IGNhY2hlLmM6NjA2CisjOiBjYWNoZS5jOjY2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gbG9hZCBuYW1lcyBmcm9tICVzOiAlbSIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBjaGFyZ2VyIGxlcyBub21zIOAgcGFydGlyIGRlICVzIDogJW0iCiAKLSM6IGNhY2hlLmM6NjQyIGRoY3AuYzo2ODIKKyM6IGNhY2hlLmM6Njk5IGRoY3AuYzo3MDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGFkZHJlc3MgYXQgJXMgbGluZSAlZCIKIG1zZ3N0ciAibWF1dmFpc2UgYWRyZXNzZSBkYW5zICVzIGxpZ25lICVkIgogCi0jOiBjYWNoZS5jOjY2OSBkaGNwLmM6Njk2CisjOiBjYWNoZS5jOjc0NSBkaGNwLmM6NzE1CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBuYW1lIGF0ICVzIGxpbmUgJWQiCiBtc2dzdHIgIm1hdXZhaXMgbm9tIGRhbnMgJXMgbGlnbmUgJWQiCiAKLSM6IGNhY2hlLmM6Njc1IGRoY3AuYzo3NTAKKyM6IGNhY2hlLmM6NzUyIGRoY3AuYzo3NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVhZCAlcyAtICVkIGFkZHJlc3NlcyIKIG1zZ3N0ciAibGVjdHVyZSAlcyAtICVkIGFkcmVzc2VzIgogCi0jOiBjYWNoZS5jOjcxMQorIzogY2FjaGUuYzo3OTAKIG1zZ2lkICJjbGVhcmVkIGNhY2hlIgogbXNnc3RyICJjYWNoZSB2aWTpIgogCi0jOiBjYWNoZS5jOjc2NAorIzogY2FjaGUuYzo4NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm5vdCBnaXZpbmcgbmFtZSAlcyB0byB0aGUgREhDUCBsZWFzZSBvZiAlcyBiZWNhdXNlIHRoZSBuYW1lIGV4aXN0cyBpbiAlcyAiCkBAIC00OSw3ICs0OSw3IEBACiAibmUgZG9ubmUgcGFzIGRlIG5vbSAlcyBhdSBiYWlsIERIQ1AgZGUgJXMgcGFyY2UtcXVlIGxlIG5vbSBleGlzdGUgZGFucyAlcyAiCiAiYXZlYyBsJ2FkcmVzc2UgJXMiCiAKLSM6IGNhY2hlLmM6ODA4CisjOiBjYWNoZS5jOjg4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAidGltZSAlbHUsIGNhY2hlIHNpemUgJWQsICVkLyVkIGNhY2hlIGluc2VydGlvbnMgcmUtdXNlZCB1bmV4cGlyZWQgY2FjaGUgIgpAQCAtNzkzLDQ5ICs3OTMsNDkgQEAKIG1zZ2lkICJmYWlsZWQgdG8gc2V0IG9wdGlvbnMgb24gREhDUCBzb2NrZXQ6ICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGQnYXBwbGlxdWVyIGxlcyBvcHRpb25zIHN1ciBsYSBzb2NrZXQgREhDUCA6ICVzIgogCi0jOiBkaGNwLmM6NDgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZmFpbGVkIHRvIHNldCBTT19SRVVTRUFERFIgb24gREhDUCBzb2NrZXQ6ICVzIgorIzogZGhjcC5jOjU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IFNPX1JFVVNFe0FERFJ8UE9SVH0gb24gREhDUCBzb2NrZXQ6ICVzIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGTpY2xhcmVyIFNPX1JFVVNFQUREUiBzdXIgbGEgc29ja2V0IERIQ1AgOiAlcyIKIAotIzogZGhjcC5jOjU5CisjOiBkaGNwLmM6NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGJpbmQgREhDUCBzZXJ2ZXIgc29ja2V0OiAlcyIKIG1zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaWVyIGxhIHNvY2tldCBzZXJ2ZXVyIERIQ1AgOiAlcyIKIAotIzogZGhjcC5jOjcyCisjOiBkaGNwLmM6ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNyZWF0ZSBJQ01QIHJhdyBzb2NrZXQ6ICVzLiIKIG1zZ3N0ciAibmUgcGV1dCBjcullciBkZSBzb2NrZXQgZW4gbW9kZSByYXcgcG91ciBJQ01QIDogJXMuIgogCi0jOiBkaGNwLmM6ODQKKyM6IGRoY3AuYzo5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJkdXBsaWNhdGUgSVAgYWRkcmVzcyAlcyBpbiBkaGNwLWNvbmZpZyBkaXJlY3RpdmUuIgogbXNnc3RyICJhZHJlc3NlIElQICVzIGR1cGxpcXXpZSBkYW5zIGxhIGRpcmVjdGl2ZSBkaGNwLWNvbmZpZy4iCiAKLSM6IGRoY3AuYzozMTcKKyM6IGRoY3AuYzozMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiREhDUCByYW5nZSAlcyAtLSAlcyBpcyBub3QgY29uc2lzdGVudCB3aXRoIG5ldG1hc2sgJXMiCiBtc2dzdHIgIiIKICJMYSBwbGFnZSBkJ2FkcmVzc2VzIERIQ1AgJXMgLS0gJXMgbidlc3QgcGFzIGNvaOlyZW50ZSBhdmVjIGxlIG1hc3F1ZSBkZSAiCiAiculzZWF1ICVzIgogCi0jOiBkaGNwLmM6NjM0CisjOiBkaGNwLmM6NjUzCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZWFkICVzOiVtIgogbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgJXMgOiAlbSIKIAotIzogZGhjcC5jOjY2OQorIzogZGhjcC5jOjY4OAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGxpbmUgYXQgJXMgbGluZSAlZCIKIG1zZ3N0ciAibWF1dmFpcyBub20gZGFucyAlcyBsaWduZSAlZCIKIAotIzogZGhjcC5jOjc3NgorIzogZGhjcC5jOjc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJkdXBsaWNhdGUgSVAgYWRkcmVzcyAlcyAoJXMpIGluIGRoY3AtY29uZmlnIGRpcmVjdGl2ZSIKIG1zZ3N0ciAiYWRyZXNzZSBJUCAlcyAoJXMpIGR1cGxpcXXpZSBkYW5zIGxhIGRpcmVjdGl2ZSBkaGNwLWNvbmZpZy4iCiAKLSM6IGRoY3AuYzo4MTIKKyM6IGRoY3AuYzo4MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiSWdub3JpbmcgREhDUCBob3N0IG5hbWUgJXMgYmVjYXVzZSBpdCBoYXMgYW4gaWxsZWdhbCBkb21haW4gcGFydCIKIG1zZ3N0ciAiIgpAQCAtODgzLDcgKzg4Myw3IEBACiBtc2dpZCAiZGlzYWJsZWQiCiBtc2dzdHIgImTpc2FjdGl26SIKIAotIzogcmZjMjEzMS5jOjMyNCByZmMyMTMxLmM6NzU5CisjOiByZmMyMTMxLmM6MzI0IHJmYzIxMzEuYzo3NjIKIG1zZ2lkICJhZGRyZXNzIGluIHVzZSIKIG1zZ3N0ciAiYWRyZXNzZSBk6WrgIHV0aWxpc+llIgogCkBAIC04OTUsMTEgKzg5NSwxMSBAQAogbXNnaWQgIm5vIGFkZHJlc3MgYXZhaWxhYmxlIgogbXNnc3RyICJwYXMgZCdhZHJlc3NlIGRpc3BvbmlibGUiCiAKLSM6IHJmYzIxMzEuYzozNDkgcmZjMjEzMS5jOjc2NworIzogcmZjMjEzMS5jOjM0OSByZmMyMTMxLmM6NzcyCiBtc2dpZCAibm8gbGVhc2VzIGxlZnQiCiBtc2dzdHIgInBsdXMgYXVjdW4gYmFpbCBkaXNwb25pYmxlIgogCi0jOiByZmMyMTMxLmM6MzUyIHJmYzIxMzEuYzo3MzMKKyM6IHJmYzIxMzEuYzozNTIgcmZjMjEzMS5jOjczNgogbXNnaWQgIndyb25nIG5ldHdvcmsiCiBtc2dzdHIgIm1hdXZhaXMgculzZWF1IgogCkBAIC05MTIsNyArOTEyLDcgQEAKIG1zZ2lkICJ1bmtub3duIGxlYXNlIgogbXNnc3RyICJiYWlsIGluY29ubnUiCiAKLSM6IHJmYzIxMzEuYzo1ODkgcmZjMjEzMS5jOjg2MgorIzogcmZjMjEzMS5jOjU4OSByZmMyMTMxLmM6ODczCiBtc2dpZCAiaWdub3JlZCIKIG1zZ3N0ciAiaWdub3LpIgogCkBAIC05MzcsMzcgKzkzNywzNyBAQAogIkwnYWRyZXNzZSBzdGF0aXF1ZSAlcyBuZSBzZXJhIHBhcyB1dGlsaXPpZSBjYXIgZWxsZSBhIHBy6WFsYWJsZW1lbnQg6XTpICIKICJyZWZ1c+llIgogCi0jOiByZmMyMTMxLmM6Njk2CisjOiByZmMyMTMxLmM6Njk5CiBtc2dpZCAid3JvbmcgYWRkcmVzcyIKIG1zZ3N0ciAibWF1dmFpc2UgYWRyZXNzZSIKIAotIzogcmZjMjEzMS5jOjcwOQorIzogcmZjMjEzMS5jOjcxMgogbXNnaWQgImxlYXNlIG5vdCBmb3VuZCIKIG1zZ3N0ciAiYmFpbCBub24gdHJvdXbpIgogCi0jOiByZmMyMTMxLmM6NzQxCisjOiByZmMyMTMxLmM6NzQ0CiBtc2dpZCAiYWRkcmVzcyBub3QgYXZhaWxhYmxlIgogbXNnc3RyICJhZHJlc3NlIG5vbiBkaXNwb25pYmxlIgogCi0jOiByZmMyMTMxLmM6NzUyCisjOiByZmMyMTMxLmM6NzU1CiBtc2dpZCAic3RhdGljIGxlYXNlIGF2YWlsYWJsZSIKIG1zZ3N0ciAiYmFpbCBzdGF0aXF1ZSBkaXNwb25pYmxlIgogCi0jOiByZmMyMTMxLmM6NzU2CisjOiByZmMyMTMxLmM6NzU5CiBtc2dpZCAiYWRkcmVzcyByZXNlcnZlZCIKIG1zZ3N0ciAiYWRyZXNzZSByZXNlcnbpZSIKIAotIzogcmZjMjEzMS5jOjc2MgorIzogcmZjMjEzMS5jOjc2NQogbXNnaWQgIm5vIHVuaXF1ZS1pZCIKIG1zZ3N0ciAicGFzIGQnaWRlbnRpZmlhbnQgdW5pcXVlIgogCi0jOiByZmMyMTMxLmM6MTAwMAorIzogcmZjMjEzMS5jOjEwMTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHNlbmQgREhDUCBvcHRpb24gJWQ6IG5vIHNwYWNlIGxlZnQgaW4gcGFja2V0IgogbXNnc3RyICIiCiAiSW1wb3NzaWJsZSBkJ2Vudm95ZXIgbCdvcHRpb24gREhDUCAlZCA6IHBhcyBhc3NleiBkJ2VzcGFjZSBkYW5zIGxlIHBhcXVldCIKIAotIzogcmZjMjEzMS5jOjEzMDEKKyM6IHJmYzIxMzEuYzoxMzEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1vcmUgdGhhbiBvbmUgdmVuZG9yIGNsYXNzIG1hdGNoZXMsIHVzaW5nICVzIgogbXNnc3RyICJQbHVzaWV1cnMgY2xhc3NlcyBkZSBmb3Vybmlzc2V1cnMgY29ycmVzcG9uZGVudCwgJXMgc2VyYSB1dGlsaXPpIgpkaWZmIC0tZ2l0IGEvcG8vaWQucG8gYi9wby9pZC5wbwppbmRleCBlNjA1YTNjLi40MWZmYTE4IDEwMDY0NAotLS0gYS9wby9pZC5wbworKysgYi9wby9pZC5wbwpAQCAtNiw3ICs2LDcgQEAKIG1zZ3N0ciAiIgogIlByb2plY3QtSWQtVmVyc2lvbjogZG5zbWFzcSAyLjI0XG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA2LTEwLTEzIDE4OjIwKzAxMDBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwNi0xMC0yOCAxNTo0MiswMTAwXG4iCiAiUE8tUmV2aXNpb24tRGF0ZTogMjAwNS0xMC0wNyAxMTo0NSswMTAwXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiBTYWxtYW4gQVMgPHNhc0BzYWxtYW4ub3IuaWQ+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogSW5kb25lc2lhbiA8dHJhbnNsYXRpb24tdGVhbS1pZEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+XG4iCkBAIC0xNSwzNiArMTUsMzYgQEAKICJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCiAKICMgT0sKLSM6IGNhY2hlLmM6NjA2CisjOiBjYWNoZS5jOjY2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gbG9hZCBuYW1lcyBmcm9tICVzOiAlbSIKIG1zZ3N0ciAiZ2FnYWwgbWVtdWF0IG5hbWEtbmFtYSBkYXJpICVzOiAlbSIKIAogIyBPSwotIzogY2FjaGUuYzo2NDIgZGhjcC5jOjY4MgorIzogY2FjaGUuYzo2OTkgZGhjcC5jOjcwMQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGFkZHJlc3MgYXQgJXMgbGluZSAlZCIKIG1zZ3N0ciAia2VzYWxhaGFuIG5hbWEgcGFkYSAlcyBiYXJpcyAlZCIKIAogIyBPSwotIzogY2FjaGUuYzo2NjkgZGhjcC5jOjY5NgorIzogY2FjaGUuYzo3NDUgZGhjcC5jOjcxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbmFtZSBhdCAlcyBsaW5lICVkIgogbXNnc3RyICJrZXNhbGFoYW4gbmFtYSBwYWRhICVzIGJhcmlzICVkIgogCiAjIE9LCi0jOiBjYWNoZS5jOjY3NSBkaGNwLmM6NzUwCisjOiBjYWNoZS5jOjc1MiBkaGNwLmM6NzY5CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYWQgJXMgLSAlZCBhZGRyZXNzZXMiCiBtc2dzdHIgIm1lbWJhY2EgJXMgLSAlZCBhbGFtYXQiCiAKICMgT0sKLSM6IGNhY2hlLmM6NzExCisjOiBjYWNoZS5jOjc5MAogbXNnaWQgImNsZWFyZWQgY2FjaGUiCiBtc2dzdHIgImNhY2hlIHRlbGFoIGRpaGFwdXMiCiAKICMgT0sKLSM6IGNhY2hlLmM6NzY0CisjOiBjYWNoZS5jOjg0MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibm90IGdpdmluZyBuYW1lICVzIHRvIHRoZSBESENQIGxlYXNlIG9mICVzIGJlY2F1c2UgdGhlIG5hbWUgZXhpc3RzIGluICVzICIKQEAgLTU0LDcgKzU0LDcgQEAKICJzZGVuZ2FuIGFsYW1hdCAlcyIKIAogIyBPSwotIzogY2FjaGUuYzo4MDgKKyM6IGNhY2hlLmM6ODg3CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIiCiAidGltZSAlbHUsIGNhY2hlIHNpemUgJWQsICVkLyVkIGNhY2hlIGluc2VydGlvbnMgcmUtdXNlZCB1bmV4cGlyZWQgY2FjaGUgIgpAQCAtOTE1LDU1ICs5MTUsNTUgQEAKIG1zZ3N0ciAiZ2FnYWwgbWVueWV0ZWwgb3BzaSBwYWRhIHNvY2tldCBESENQOiAlcyIKIAogIyBPSwotIzogZGhjcC5jOjQ4Ci0jLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byBzZXQgU09fUkVVU0VBRERSIG9uIERIQ1Agc29ja2V0OiAlcyIKKyM6IGRoY3AuYzo1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBTT19SRVVTRXtBRERSfFBPUlR9IG9uIERIQ1Agc29ja2V0OiAlcyIKIG1zZ3N0ciAiZ2FnYWwgbWVueWV0ZWwgU09fUkVVU0VBRERSIHBhZGEgc29ja2V0IERIQ1A6ICVzIgogCiAjIE9LCi0jOiBkaGNwLmM6NTkKKyM6IGRoY3AuYzo3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gYmluZCBESENQIHNlcnZlciBzb2NrZXQ6ICVzIgogbXNnc3RyICJnYWdhbCBtZW0tYmluZCBzb2NrZXQgc2VydmVyIERIQ1A6ICVzIgogCiAjIE9LCi0jOiBkaGNwLmM6NzIKKyM6IGRoY3AuYzo4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY3JlYXRlIElDTVAgcmF3IHNvY2tldDogJXMuIgogbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1idWF0IHNvY2tldCBJQ01QIHJhdzogJXMiCiAKICMgT0sKLSM6IGRoY3AuYzo4NAorIzogZGhjcC5jOjk3CiAjLCBjLWZvcm1hdAogbXNnaWQgImR1cGxpY2F0ZSBJUCBhZGRyZXNzICVzIGluIGRoY3AtY29uZmlnIGRpcmVjdGl2ZS4iCiBtc2dzdHIgImFsYW1hdCBJUCBrZW1iYXIgJXMgZGFsYW0gZGlyZWt0aWYgZGhjcC1jb25maWciCiAKICMgT0sKLSM6IGRoY3AuYzozMTcKKyM6IGRoY3AuYzozMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiREhDUCByYW5nZSAlcyAtLSAlcyBpcyBub3QgY29uc2lzdGVudCB3aXRoIG5ldG1hc2sgJXMiCiBtc2dzdHIgImphbmdrYXVhbiBESENQICVzIC0tICVzIHRpZGFrIGtvbnNpc3RlbiBkZW5nYW4gbmV0bWFzayAlcyIKIAogIyBPSwotIzogZGhjcC5jOjYzNAorIzogZGhjcC5jOjY1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCAlczolbSIKIG1zZ3N0ciAiZ2FnYWwgbWVtYmFjYSAlczolbSIKIAogIyBPSwotIzogZGhjcC5jOjY2OQorIzogZGhjcC5jOjY4OAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGxpbmUgYXQgJXMgbGluZSAlZCIKIG1zZ3N0ciAia2VzYWxhaGFuIG5hbWEgcGFkYSAlcyBiYXJpcyAlZCIKIAogIyBPSwotIzogZGhjcC5jOjc3NgorIzogZGhjcC5jOjc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJkdXBsaWNhdGUgSVAgYWRkcmVzcyAlcyAoJXMpIGluIGRoY3AtY29uZmlnIGRpcmVjdGl2ZSIKIG1zZ3N0ciAiYWxhbWF0IElQIGtlbWJhciAlcyAoJXMpIGRhbGFtIGRpcmVrdGlmIGRoY3AtY29uZmlnIgogCiAjIE9LCi0jOiBkaGNwLmM6ODEyCisjOiBkaGNwLmM6ODMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIklnbm9yaW5nIERIQ1AgaG9zdCBuYW1lICVzIGJlY2F1c2UgaXQgaGFzIGFuIGlsbGVnYWwgZG9tYWluIHBhcnQiCiBtc2dzdHIgIiIKQEAgLTEwMTksNyArMTAxOSw3IEBACiBtc2dzdHIgImRpIGRpc2FibGUiCiAKICMgT0sKLSM6IHJmYzIxMzEuYzozMjQgcmZjMjEzMS5jOjc1OQorIzogcmZjMjEzMS5jOjMyNCByZmMyMTMxLmM6NzYyCiBtc2dpZCAiYWRkcmVzcyBpbiB1c2UiCiBtc2dzdHIgImFsYW1hdCB0ZWxhaCBkaWd1bmFrYW4iCiAKQEAgLTEwMzQsMTIgKzEwMzQsMTIgQEAKIG1zZ3N0ciAidGFrIGFkYSBhbGFtYXQgeWFuZyB0ZXJzZWRpYSIKIAogIyBPSwotIzogcmZjMjEzMS5jOjM0OSByZmMyMTMxLmM6NzY3CisjOiByZmMyMTMxLmM6MzQ5IHJmYzIxMzEuYzo3NzIKIG1zZ2lkICJubyBsZWFzZXMgbGVmdCIKIG1zZ3N0ciAidGFrIGFkYSBsZWFzZSB5YW5nIHRlcnNpc2EiCiAKICMgT0sKLSM6IHJmYzIxMzEuYzozNTIgcmZjMjEzMS5jOjczMworIzogcmZjMjEzMS5jOjM1MiByZmMyMTMxLmM6NzM2CiBtc2dpZCAid3JvbmcgbmV0d29yayIKIG1zZ3N0ciAiamFyaW5nYW4geWFuZyBzYWxhaCIKIApAQCAtMTA1NSw3ICsxMDU1LDcgQEAKIG1zZ3N0ciAibGVhc2UgdGlkYWsgZGlrZXRhaHVpIgogCiAjIE9LCi0jOiByZmMyMTMxLmM6NTg5IHJmYzIxMzEuYzo4NjIKKyM6IHJmYzIxMzEuYzo1ODkgcmZjMjEzMS5jOjg3MwogbXNnaWQgImlnbm9yZWQiCiBtc2dzdHIgImRpYWJhaWthbiIKIApAQCAtMTA3Niw0MSArMTA3Niw0MSBAQAogbXNnc3RyICIiCiAKICMgT0sKLSM6IHJmYzIxMzEuYzo2OTYKKyM6IHJmYzIxMzEuYzo2OTkKIG1zZ2lkICJ3cm9uZyBhZGRyZXNzIgogbXNnc3RyICJhbGFtYXQgc2FsYWgiCiAKICMgT0sKLSM6IHJmYzIxMzEuYzo3MDkKKyM6IHJmYzIxMzEuYzo3MTIKIG1zZ2lkICJsZWFzZSBub3QgZm91bmQiCiBtc2dzdHIgImxlYXNlIHRhayBkaXRlbXVrYW4iCiAKICMgT0sKLSM6IHJmYzIxMzEuYzo3NDEKKyM6IHJmYzIxMzEuYzo3NDQKIG1zZ2lkICJhZGRyZXNzIG5vdCBhdmFpbGFibGUiCiBtc2dzdHIgImFsYW1hdCB0YWsgdGVyc2VkaWEiCiAKICMgT0sKLSM6IHJmYzIxMzEuYzo3NTIKKyM6IHJmYzIxMzEuYzo3NTUKIG1zZ2lkICJzdGF0aWMgbGVhc2UgYXZhaWxhYmxlIgogbXNnc3RyICJsZWFzZSBzdGF0aWsgdGFrIHRlcnNlZGlhIgogCiAjIE9LCi0jOiByZmMyMTMxLmM6NzU2CisjOiByZmMyMTMxLmM6NzU5CiBtc2dpZCAiYWRkcmVzcyByZXNlcnZlZCIKIG1zZ3N0ciAiYWxhbWF0IHRlbGFoIGRpcGVzYW4iCiAKLSM6IHJmYzIxMzEuYzo3NjIKKyM6IHJmYzIxMzEuYzo3NjUKIG1zZ2lkICJubyB1bmlxdWUtaWQiCiBtc2dzdHIgIiIKIAotIzogcmZjMjEzMS5jOjEwMDAKKyM6IHJmYzIxMzEuYzoxMDExCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzZW5kIERIQ1Agb3B0aW9uICVkOiBubyBzcGFjZSBsZWZ0IGluIHBhY2tldCIKIG1zZ3N0ciAiIgogCiAjIE9LCi0jOiByZmMyMTMxLmM6MTMwMQorIzogcmZjMjEzMS5jOjEzMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTW9yZSB0aGFuIG9uZSB2ZW5kb3IgY2xhc3MgbWF0Y2hlcywgdXNpbmcgJXMiCiBtc2dzdHIgIkxlYmloIGRhcmkgc2F0dSBrZWxhcyB2ZW5kb3IgeWFuZyBzZXN1YWksIG1lbmdndW5ha2FuICVzIgpkaWZmIC0tZ2l0IGEvcG8vaXQucG8gYi9wby9pdC5wbwppbmRleCBlN2FlZDg3Li44NTljZTc0IDEwMDY0NAotLS0gYS9wby9pdC5wbworKysgYi9wby9pdC5wbwpAQCAtNiw3ICs2LDcgQEAKIG1zZ3N0ciAiIgogIlByb2plY3QtSWQtVmVyc2lvbjogZG5zbWFzcSAyLjMyXG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA2LTEwLTEzIDE4OjIwKzAxMDBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwNi0xMC0yOCAxNTo0MiswMTAwXG4iCiAiUE8tUmV2aXNpb24tRGF0ZTogMjAwNi0wNS0yMiAxMTowOSswMTAwXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiBTaW1vbiBLZWxsZXkgPHNpbW9uQHRoZWtlbGxleXMub3JnLnVrPlxuIgogIkxhbmd1YWdlLVRlYW06IEl0YWxpYW4gPHRwQGxpc3RzLmxpbnV4Lml0PlxuIgpAQCAtMTUsMzggKzE1LDM4IEBACiAiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgogIlBsdXJhbC1Gb3JtczogbnBsdXJhbHM9MjsgcGx1cmFsPShuICE9IDEpO1xuIgogCi0jOiBjYWNoZS5jOjYwNgorIzogY2FjaGUuYzo2NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIGxvYWQgbmFtZXMgZnJvbSAlczogJW0iCiBtc2dzdHIgIiIKIAotIzogY2FjaGUuYzo2NDIgZGhjcC5jOjY4MgorIzogY2FjaGUuYzo2OTkgZGhjcC5jOjcwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgYWRkcmVzcyBhdCAlcyBsaW5lICVkIgogbXNnc3RyICIiCiAKLSM6IGNhY2hlLmM6NjY5IGRoY3AuYzo2OTYKKyM6IGNhY2hlLmM6NzQ1IGRoY3AuYzo3MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIG5hbWUgYXQgJXMgbGluZSAlZCIKIG1zZ3N0ciAiIgogCi0jOiBjYWNoZS5jOjY3NSBkaGNwLmM6NzUwCisjOiBjYWNoZS5jOjc1MiBkaGNwLmM6NzY5CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYWQgJXMgLSAlZCBhZGRyZXNzZXMiCiBtc2dzdHIgIiIKIAotIzogY2FjaGUuYzo3MTEKKyM6IGNhY2hlLmM6NzkwCiBtc2dpZCAiY2xlYXJlZCBjYWNoZSIKIG1zZ3N0ciAiIgogCi0jOiBjYWNoZS5jOjc2NAorIzogY2FjaGUuYzo4NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm5vdCBnaXZpbmcgbmFtZSAlcyB0byB0aGUgREhDUCBsZWFzZSBvZiAlcyBiZWNhdXNlIHRoZSBuYW1lIGV4aXN0cyBpbiAlcyAiCiAid2l0aCBhZGRyZXNzICVzIgogbXNnc3RyICIiCiAKLSM6IGNhY2hlLmM6ODA4CisjOiBjYWNoZS5jOjg4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAidGltZSAlbHUsIGNhY2hlIHNpemUgJWQsICVkLyVkIGNhY2hlIGluc2VydGlvbnMgcmUtdXNlZCB1bmV4cGlyZWQgY2FjaGUgIgpAQCAtNzQ3LDQ3ICs3NDcsNDcgQEAKIG1zZ2lkICJmYWlsZWQgdG8gc2V0IG9wdGlvbnMgb24gREhDUCBzb2NrZXQ6ICVzIgogbXNnc3RyICIiCiAKLSM6IGRoY3AuYzo0OAotIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgdG8gc2V0IFNPX1JFVVNFQUREUiBvbiBESENQIHNvY2tldDogJXMiCi1tc2dzdHIgIiIKLQogIzogZGhjcC5jOjU5CiAjLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byBiaW5kIERIQ1Agc2VydmVyIHNvY2tldDogJXMiCittc2dpZCAiZmFpbGVkIHRvIHNldCBTT19SRVVTRXtBRERSfFBPUlR9IG9uIERIQ1Agc29ja2V0OiAlcyIKIG1zZ3N0ciAiIgogCiAjOiBkaGNwLmM6NzIKICMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGJpbmQgREhDUCBzZXJ2ZXIgc29ja2V0OiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaGNwLmM6ODUKKyMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNyZWF0ZSBJQ01QIHJhdyBzb2NrZXQ6ICVzLiIKIG1zZ3N0ciAiIgogCi0jOiBkaGNwLmM6ODQKKyM6IGRoY3AuYzo5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJkdXBsaWNhdGUgSVAgYWRkcmVzcyAlcyBpbiBkaGNwLWNvbmZpZyBkaXJlY3RpdmUuIgogbXNnc3RyICIiCiAKLSM6IGRoY3AuYzozMTcKKyM6IGRoY3AuYzozMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiREhDUCByYW5nZSAlcyAtLSAlcyBpcyBub3QgY29uc2lzdGVudCB3aXRoIG5ldG1hc2sgJXMiCiBtc2dzdHIgIiIKIAotIzogZGhjcC5jOjYzNAorIzogZGhjcC5jOjY1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCAlczolbSIKIG1zZ3N0ciAiIgogCi0jOiBkaGNwLmM6NjY5CisjOiBkaGNwLmM6Njg4CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBsaW5lIGF0ICVzIGxpbmUgJWQiCiBtc2dzdHIgIiIKIAotIzogZGhjcC5jOjc3NgorIzogZGhjcC5jOjc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJkdXBsaWNhdGUgSVAgYWRkcmVzcyAlcyAoJXMpIGluIGRoY3AtY29uZmlnIGRpcmVjdGl2ZSIKIG1zZ3N0ciAiIgogCi0jOiBkaGNwLmM6ODEyCisjOiBkaGNwLmM6ODMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIklnbm9yaW5nIERIQ1AgaG9zdCBuYW1lICVzIGJlY2F1c2UgaXQgaGFzIGFuIGlsbGVnYWwgZG9tYWluIHBhcnQiCiBtc2dzdHIgIiIKQEAgLTgzMyw3ICs4MzMsNyBAQAogbXNnaWQgImRpc2FibGVkIgogbXNnc3RyICIiCiAKLSM6IHJmYzIxMzEuYzozMjQgcmZjMjEzMS5jOjc1OQorIzogcmZjMjEzMS5jOjMyNCByZmMyMTMxLmM6NzYyCiBtc2dpZCAiYWRkcmVzcyBpbiB1c2UiCiBtc2dzdHIgIiIKIApAQCAtODQ1LDExICs4NDUsMTEgQEAKIG1zZ2lkICJubyBhZGRyZXNzIGF2YWlsYWJsZSIKIG1zZ3N0ciAiIgogCi0jOiByZmMyMTMxLmM6MzQ5IHJmYzIxMzEuYzo3NjcKKyM6IHJmYzIxMzEuYzozNDkgcmZjMjEzMS5jOjc3MgogbXNnaWQgIm5vIGxlYXNlcyBsZWZ0IgogbXNnc3RyICIiCiAKLSM6IHJmYzIxMzEuYzozNTIgcmZjMjEzMS5jOjczMworIzogcmZjMjEzMS5jOjM1MiByZmMyMTMxLmM6NzM2CiBtc2dpZCAid3JvbmcgbmV0d29yayIKIG1zZ3N0ciAiIgogCkBAIC04NjIsNyArODYyLDcgQEAKIG1zZ2lkICJ1bmtub3duIGxlYXNlIgogbXNnc3RyICIiCiAKLSM6IHJmYzIxMzEuYzo1ODkgcmZjMjEzMS5jOjg2MgorIzogcmZjMjEzMS5jOjU4OSByZmMyMTMxLmM6ODczCiBtc2dpZCAiaWdub3JlZCIKIG1zZ3N0ciAiIgogCkBAIC04ODIsMzYgKzg4MiwzNiBAQAogbXNnaWQgIm5vdCB1c2luZyBjb25maWd1cmVkIGFkZHJlc3MgJXMgYmVjYXVzZSBpdCB3YXMgcHJldmlvdXNseSBkZWNsaW5lZCIKIG1zZ3N0ciAiIgogCi0jOiByZmMyMTMxLmM6Njk2CisjOiByZmMyMTMxLmM6Njk5CiBtc2dpZCAid3JvbmcgYWRkcmVzcyIKIG1zZ3N0ciAiIgogCi0jOiByZmMyMTMxLmM6NzA5CisjOiByZmMyMTMxLmM6NzEyCiBtc2dpZCAibGVhc2Ugbm90IGZvdW5kIgogbXNnc3RyICIiCiAKLSM6IHJmYzIxMzEuYzo3NDEKKyM6IHJmYzIxMzEuYzo3NDQKIG1zZ2lkICJhZGRyZXNzIG5vdCBhdmFpbGFibGUiCiBtc2dzdHIgIiIKIAotIzogcmZjMjEzMS5jOjc1MgorIzogcmZjMjEzMS5jOjc1NQogbXNnaWQgInN0YXRpYyBsZWFzZSBhdmFpbGFibGUiCiBtc2dzdHIgIiIKIAotIzogcmZjMjEzMS5jOjc1NgorIzogcmZjMjEzMS5jOjc1OQogbXNnaWQgImFkZHJlc3MgcmVzZXJ2ZWQiCiBtc2dzdHIgIiIKIAotIzogcmZjMjEzMS5jOjc2MgorIzogcmZjMjEzMS5jOjc2NQogbXNnaWQgIm5vIHVuaXF1ZS1pZCIKIG1zZ3N0ciAiIgogCi0jOiByZmMyMTMxLmM6MTAwMAorIzogcmZjMjEzMS5jOjEwMTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHNlbmQgREhDUCBvcHRpb24gJWQ6IG5vIHNwYWNlIGxlZnQgaW4gcGFja2V0IgogbXNnc3RyICIiCiAKLSM6IHJmYzIxMzEuYzoxMzAxCisjOiByZmMyMTMxLmM6MTMxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJNb3JlIHRoYW4gb25lIHZlbmRvciBjbGFzcyBtYXRjaGVzLCB1c2luZyAlcyIKIG1zZ3N0ciAiIgpkaWZmIC0tZ2l0IGEvcG8vbm8ucG8gYi9wby9uby5wbwppbmRleCBjMmI0NTQ1Li40NjJjMzVkIDEwMDY0NAotLS0gYS9wby9uby5wbworKysgYi9wby9uby5wbwpAQCAtOCw3ICs4LDcgQEAKIG1zZ3N0ciAiIgogIlByb2plY3QtSWQtVmVyc2lvbjogZG5zbWFzcSAyLjI1XG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA2LTEwLTEzIDE4OjIwKzAxMDBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwNi0xMC0yOCAxNTo0MiswMTAwXG4iCiAiUE8tUmV2aXNpb24tRGF0ZTogMjAwNi0wMS0xMSAxNzozOSswMDAwXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiBKYW4gRXJpayBBc2tpbGR0IDxqZWFza2lsZHRAZ21haWwuY29tPlxuIgogIkxhbmd1YWdlLVRlYW06IE5vcndlZ2lhbiA8aTE4bi1uYkBsaXN0ZXIucGluZy51aW8ubm8+XG4iCkBAIC0xNywzMSArMTcsMzEgQEAKICJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCiAiUGx1cmFsLUZvcm1zOiBucGx1cmFscz0yOyBwbHVyYWw9KG4gIT0gMSk7XG4iCiAKLSM6IGNhY2hlLmM6NjA2CisjOiBjYWNoZS5jOjY2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gbG9hZCBuYW1lcyBmcm9tICVzOiAlbSIKIG1zZ3N0ciAiZmVpbGV0IOUgbGFzdGUgbmF2biBmcmEgJXM6ICVtIgogCi0jOiBjYWNoZS5jOjY0MiBkaGNwLmM6NjgyCisjOiBjYWNoZS5jOjY5OSBkaGNwLmM6NzAxCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBhZGRyZXNzIGF0ICVzIGxpbmUgJWQiCiBtc2dzdHIgImTlcmxpZyBhZHJlc3NlIHZlZCAlcyBsaW5qZSAlZCIKIAotIzogY2FjaGUuYzo2NjkgZGhjcC5jOjY5NgorIzogY2FjaGUuYzo3NDUgZGhjcC5jOjcxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbmFtZSBhdCAlcyBsaW5lICVkIgogbXNnc3RyICJk5XJsaWcgbmF2biB2ZWQgJXMgbGluamUgJWQiCiAKLSM6IGNhY2hlLmM6Njc1IGRoY3AuYzo3NTAKKyM6IGNhY2hlLmM6NzUyIGRoY3AuYzo3NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVhZCAlcyAtICVkIGFkZHJlc3NlcyIKIG1zZ3N0ciAibGVzICVzIC0gJWQgYWRyZXNzZXIiCiAKLSM6IGNhY2hlLmM6NzExCisjOiBjYWNoZS5jOjc5MAogbXNnaWQgImNsZWFyZWQgY2FjaGUiCiBtc2dzdHIgIm1lbGxvbWxhZ2VyIHT4bXQiCiAKLSM6IGNhY2hlLmM6NzY0CisjOiBjYWNoZS5jOjg0MwogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibm90IGdpdmluZyBuYW1lICVzIHRvIHRoZSBESENQIGxlYXNlIG9mICVzIGJlY2F1c2UgdGhlIG5hbWUgZXhpc3RzIGluICVzICIKQEAgLTUwLDcgKzUwLDcgQEAKICJnaXIgaWtrZSBuYXZuZXQgJXMgdGlsIERIQ1AgbGVpZW4gZm9yICVzIGZvcmRpIG5hdm5ldCBla3Npc3RlcmVyIGkgJXMgbWVkICIKICJhZHJlc3NlbiAlcyIKIAotIzogY2FjaGUuYzo4MDgKKyM6IGNhY2hlLmM6ODg3CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIiCiAidGltZSAlbHUsIGNhY2hlIHNpemUgJWQsICVkLyVkIGNhY2hlIGluc2VydGlvbnMgcmUtdXNlZCB1bmV4cGlyZWQgY2FjaGUgIgpAQCAtNzYwLDQ3ICs3NjAsNDcgQEAKIG1zZ2lkICJmYWlsZWQgdG8gc2V0IG9wdGlvbnMgb24gREhDUCBzb2NrZXQ6ICVzIgogbXNnc3RyICJmZWlsZXQg5SBzZXR0ZSBvcHNqb25lciBw5SBESENQIHNvY2tldDogJXMiCiAKLSM6IGRoY3AuYzo0OAotIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgdG8gc2V0IFNPX1JFVVNFQUREUiBvbiBESENQIHNvY2tldDogJXMiCisjOiBkaGNwLmM6NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgU09fUkVVU0V7QUREUnxQT1JUfSBvbiBESENQIHNvY2tldDogJXMiCiBtc2dzdHIgImZlaWxldCDlIHNldHRlIFNPX1JFVVNFQUREUiBw5SBESENQIHNvY2tldDogJXMiCiAKLSM6IGRoY3AuYzo1OQorIzogZGhjcC5jOjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBiaW5kIERIQ1Agc2VydmVyIHNvY2tldDogJXMiCiBtc2dzdHIgImZlaWxldCDlIGJpbmRlIERIQ1AgdGplbmVyIHNvY2tldDogJXMiCiAKLSM6IGRoY3AuYzo3MgorIzogZGhjcC5jOjg1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgSUNNUCByYXcgc29ja2V0OiAlcy4iCiBtc2dzdHIgImthbiBpa2tlIGxhZ2UgSUNNUCByYXcgc29ja2V0OiAlcyIKIAotIzogZGhjcC5jOjg0CisjOiBkaGNwLmM6OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZHVwbGljYXRlIElQIGFkZHJlc3MgJXMgaW4gZGhjcC1jb25maWcgZGlyZWN0aXZlLiIKIG1zZ3N0ciAiZHVibGlzZXJ0ZSBJUCBhZHJlc3NlciBpICVzIGRoY3AtY29uZmlnIGRpcmVrdGl2LiIKIAotIzogZGhjcC5jOjMxNworIzogZGhjcC5jOjMzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJESENQIHJhbmdlICVzIC0tICVzIGlzIG5vdCBjb25zaXN0ZW50IHdpdGggbmV0bWFzayAlcyIKIG1zZ3N0ciAiREhDUCBvbXLlZGUgJXMgLS0gJXMgZXIgaWtrZSBrb25zaXN0ZW50IG1lZCBuZXR0bWFza2UgJXMiCiAKLSM6IGRoY3AuYzo2MzQKKyM6IGRoY3AuYzo2NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgJXM6JW0iCiBtc2dzdHIgImZlaWxldCDlIGxlc2UgJXM6JW0iCiAKLSM6IGRoY3AuYzo2NjkKKyM6IGRoY3AuYzo2ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGxpbmUgYXQgJXMgbGluZSAlZCIKIG1zZ3N0ciAiZOVybGlnIGxpbmplIHZlZCAlcyBsaW5qZSAlZCIKIAotIzogZGhjcC5jOjc3NgorIzogZGhjcC5jOjc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJkdXBsaWNhdGUgSVAgYWRkcmVzcyAlcyAoJXMpIGluIGRoY3AtY29uZmlnIGRpcmVjdGl2ZSIKIG1zZ3N0ciAiZHVibGlzZXJ0ZSBJUCBhZHJlc3NlciBpICVzICglcykgaSBkaGNwLWNvbmZpZyBkaXJla3RpdiIKIAotIzogZGhjcC5jOjgxMgorIzogZGhjcC5jOjgzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJJZ25vcmluZyBESENQIGhvc3QgbmFtZSAlcyBiZWNhdXNlIGl0IGhhcyBhbiBpbGxlZ2FsIGRvbWFpbiBwYXJ0IgogbXNnc3RyICJJZ25vcmVyZXIgREhDUCB2ZXJ0cyBuYXZuICVzIHDlIGdydW5uIGF2IHVsb3ZsaWcgZG9tZW5lIGRlbCIKQEAgLTg0Niw3ICs4NDYsNyBAQAogbXNnaWQgImRpc2FibGVkIgogbXNnc3RyICJkZWFrdGl2ZXJ0IgogCi0jOiByZmMyMTMxLmM6MzI0IHJmYzIxMzEuYzo3NTkKKyM6IHJmYzIxMzEuYzozMjQgcmZjMjEzMS5jOjc2MgogbXNnaWQgImFkZHJlc3MgaW4gdXNlIgogbXNnc3RyICJhZHJlc3NlIGkgYnJ1ayIKIApAQCAtODU4LDExICs4NTgsMTEgQEAKIG1zZ2lkICJubyBhZGRyZXNzIGF2YWlsYWJsZSIKIG1zZ3N0ciAiaW5nZW4gYWRyZXNzZSB0aWxnamVuZ2VsaWciCiAKLSM6IHJmYzIxMzEuYzozNDkgcmZjMjEzMS5jOjc2NworIzogcmZjMjEzMS5jOjM0OSByZmMyMTMxLmM6NzcyCiBtc2dpZCAibm8gbGVhc2VzIGxlZnQiCiBtc2dzdHIgImluZ2VuIGxlaWVyIGlnamVuIgogCi0jOiByZmMyMTMxLmM6MzUyIHJmYzIxMzEuYzo3MzMKKyM6IHJmYzIxMzEuYzozNTIgcmZjMjEzMS5jOjczNgogbXNnaWQgIndyb25nIG5ldHdvcmsiCiBtc2dzdHIgImdhbHQgbmV0dHZlcmsiCiAKQEAgLTg3NSw3ICs4NzUsNyBAQAogbXNnaWQgInVua25vd24gbGVhc2UiCiBtc2dzdHIgInVramVudCBsZWllIgogCi0jOiByZmMyMTMxLmM6NTg5IHJmYzIxMzEuYzo4NjIKKyM6IHJmYzIxMzEuYzo1ODkgcmZjMjEzMS5jOjg3MwogbXNnaWQgImlnbm9yZWQiCiBtc2dzdHIgIm92ZXJzZXR0IgogCkBAIC04OTUsMzYgKzg5NSwzNiBAQAogbXNnaWQgIm5vdCB1c2luZyBjb25maWd1cmVkIGFkZHJlc3MgJXMgYmVjYXVzZSBpdCB3YXMgcHJldmlvdXNseSBkZWNsaW5lZCIKIG1zZ3N0ciAiIgogCi0jOiByZmMyMTMxLmM6Njk2CisjOiByZmMyMTMxLmM6Njk5CiBtc2dpZCAid3JvbmcgYWRkcmVzcyIKIG1zZ3N0ciAiZ2FsIGFkcmVzc2UiCiAKLSM6IHJmYzIxMzEuYzo3MDkKKyM6IHJmYzIxMzEuYzo3MTIKIG1zZ2lkICJsZWFzZSBub3QgZm91bmQiCiBtc2dzdHIgImxlaWUgaWtrZSBmdW5uZXQiCiAKLSM6IHJmYzIxMzEuYzo3NDEKKyM6IHJmYzIxMzEuYzo3NDQKIG1zZ2lkICJhZGRyZXNzIG5vdCBhdmFpbGFibGUiCiBtc2dzdHIgImFkcmVzc2UgaWtrZSB0aWxnamVuZ2VsaWciCiAKLSM6IHJmYzIxMzEuYzo3NTIKKyM6IHJmYzIxMzEuYzo3NTUKIG1zZ2lkICJzdGF0aWMgbGVhc2UgYXZhaWxhYmxlIgogbXNnc3RyICJzdGF0aXNrIGxlaWUgdGlsZ2plbmdlbGlnIgogCi0jOiByZmMyMTMxLmM6NzU2CisjOiByZmMyMTMxLmM6NzU5CiBtc2dpZCAiYWRkcmVzcyByZXNlcnZlZCIKIG1zZ3N0ciAiYWRyZXNzZSByZXNlcnZlcnQiCiAKLSM6IHJmYzIxMzEuYzo3NjIKKyM6IHJmYzIxMzEuYzo3NjUKIG1zZ2lkICJubyB1bmlxdWUtaWQiCiBtc2dzdHIgIiIKIAotIzogcmZjMjEzMS5jOjEwMDAKKyM6IHJmYzIxMzEuYzoxMDExCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzZW5kIERIQ1Agb3B0aW9uICVkOiBubyBzcGFjZSBsZWZ0IGluIHBhY2tldCIKIG1zZ3N0ciAia2FuIGlra2Ugc2VuZGUgREhDUCBvcHNqb24gJWQ6IGlra2UgbWVyIHBsYXNzIGkgcGFra2VuIgogCi0jOiByZmMyMTMxLmM6MTMwMQorIzogcmZjMjEzMS5jOjEzMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTW9yZSB0aGFuIG9uZSB2ZW5kb3IgY2xhc3MgbWF0Y2hlcywgdXNpbmcgJXMiCiBtc2dzdHIgIk1lciBlbm4gZW4gcHJvZHVzZW50IGtsYXNzZSBzb20gcGFzc2VyLCBicnVrZXIgJXMiCmRpZmYgLS1naXQgYS9wby9wbC5wbyBiL3BvL3BsLnBvCmluZGV4IDE3Zjc4YWYuLmVlNDcyOTMgMTAwNjQ0Ci0tLSBhL3BvL3BsLnBvCisrKyBiL3BvL3BsLnBvCkBAIC02LDcgKzYsNyBAQAogbXNnc3RyICIiCiAiUHJvamVjdC1JZC1WZXJzaW9uOiBkbnNtYXNxIDIuMjRcbiIKICJSZXBvcnQtTXNnaWQtQnVncy1UbzogXG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMDYtMTAtMTMgMTg6MjArMDEwMFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA2LTEwLTI4IDE1OjQyKzAxMDBcbiIKICJQTy1SZXZpc2lvbi1EYXRlOiAyMDA1LTEwLTA0IDE5OjE3KzAxMDBcbiIKICJMYXN0LVRyYW5zbGF0b3I6IFRvbWFzeiBTb2NoYfFza2kgPG5lcmRoZXJvQGdtYWlsLmNvbT5cbiIKICJMYW5ndWFnZS1UZWFtOiBQb2xpc2ggPHRyYW5zbGF0aW9uLXRlYW0tcGxAbGlzdHMuc291cmNlZm9yZ2UubmV0PlxuIgpAQCAtMTYsMzEgKzE2LDMxIEBACiAiUGx1cmFsLUZvcm1zOiBucGx1cmFscz0zOyBwbHVyYWw9KG49PTEgPyAwIDogbiUxMD49MiAmJiBuJTEwPD00ICYmIChuJTEwMDwxMCAiCiAifHwgbiUxMDA+PTIwKSA/IDEgOiAyKTtcbiIKIAotIzogY2FjaGUuYzo2MDYKKyM6IGNhY2hlLmM6NjY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBsb2FkIG5hbWVzIGZyb20gJXM6ICVtIgogbXNnc3RyICJis7FkILNhZG93YW5pYSBuYXp3IHogJXM6ICVtIgogCi0jOiBjYWNoZS5jOjY0MiBkaGNwLmM6NjgyCisjOiBjYWNoZS5jOjY5OSBkaGNwLmM6NzAxCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJiYWQgYWRkcmVzcyBhdCAlcyBsaW5lICVkIgogbXNnc3RyICJis+pkbmEgbmF6d2EgdyAlcywgbGluaWEgJWQiCiAKLSM6IGNhY2hlLmM6NjY5IGRoY3AuYzo2OTYKKyM6IGNhY2hlLmM6NzQ1IGRoY3AuYzo3MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIG5hbWUgYXQgJXMgbGluZSAlZCIKIG1zZ3N0ciAiYrPqZG5hIG5hendhIHcgJXMsIGxpbmlhICVkIgogCi0jOiBjYWNoZS5jOjY3NSBkaGNwLmM6NzUwCisjOiBjYWNoZS5jOjc1MiBkaGNwLmM6NzY5CiAjLCBjLWZvcm1hdAogbXNnaWQgInJlYWQgJXMgLSAlZCBhZGRyZXNzZXMiCiBtc2dzdHIgInByemVjenl0YW5vICVzIC0gJWQgYWRyZXPzdyIKIAotIzogY2FjaGUuYzo3MTEKKyM6IGNhY2hlLmM6NzkwCiBtc2dpZCAiY2xlYXJlZCBjYWNoZSIKIG1zZ3N0ciAid3ljenlzemN6b25vIGNhY2hlIgogCi0jOiBjYWNoZS5jOjc2NAorIzogY2FjaGUuYzo4NDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm5vdCBnaXZpbmcgbmFtZSAlcyB0byB0aGUgREhDUCBsZWFzZSBvZiAlcyBiZWNhdXNlIHRoZSBuYW1lIGV4aXN0cyBpbiAlcyAiCkBAIC00OSw3ICs0OSw3IEBACiAibmF6d2EgJXMgbmllIHpvc3Rhs2EgbmFkYW5hIGR6aWVyv2F3aWUgREhDUCAlcywgcG9uaWV3Yb8gbmF6d2EgaXN0bmllamUgdyAlcyAiCiAiaSBtYSBhZHJlcyAlcyIKIAotIzogY2FjaGUuYzo4MDgKKyM6IGNhY2hlLmM6ODg3CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIiCiAidGltZSAlbHUsIGNhY2hlIHNpemUgJWQsICVkLyVkIGNhY2hlIGluc2VydGlvbnMgcmUtdXNlZCB1bmV4cGlyZWQgY2FjaGUgIgpAQCAtNzcyLDQ3ICs3NzIsNDcgQEAKIG1zZ2lkICJmYWlsZWQgdG8gc2V0IG9wdGlvbnMgb24gREhDUCBzb2NrZXQ6ICVzIgogbXNnc3RyICJis7FkIHVzdGF3aWVuaWEgb3BjamkgZ25pYXpkYSBESENQOiAlcyIKIAotIzogZGhjcC5jOjQ4Ci0jLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byBzZXQgU09fUkVVU0VBRERSIG9uIERIQ1Agc29ja2V0OiAlcyIKKyM6IGRoY3AuYzo1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBTT19SRVVTRXtBRERSfFBPUlR9IG9uIERIQ1Agc29ja2V0OiAlcyIKIG1zZ3N0ciAiYrOxZCB1c3Rhd2llbmlhIFNPX1JFVVNFQUREUiBnbmlhemRhIERIQ1A6ICVzIgogCi0jOiBkaGNwLmM6NTkKKyM6IGRoY3AuYzo3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gYmluZCBESENQIHNlcnZlciBzb2NrZXQ6ICVzIgogbXNnc3RyICJis7FkIHBvZLOxY3plbmlhIGduaWF6ZGEgc2Vyd2VyYSBESENQOiAlcyIKIAotIzogZGhjcC5jOjcyCisjOiBkaGNwLmM6ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNyZWF0ZSBJQ01QIHJhdyBzb2NrZXQ6ICVzLiIKIG1zZ3N0ciAiYrOxZCB1dHdvcnplbmlhIHN1cm93ZWdvIGduaWF6ZGEgSUNNUDogJXMuIgogCi0jOiBkaGNwLmM6ODQKKyM6IGRoY3AuYzo5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJkdXBsaWNhdGUgSVAgYWRkcmVzcyAlcyBpbiBkaGNwLWNvbmZpZyBkaXJlY3RpdmUuIgogbXNnc3RyICJwb3d083J6ZW5pZSBhZHJlc3UgSVAgJXMgdyBvcGNqaSBkaGNwLWNvbmZpZyIKIAotIzogZGhjcC5jOjMxNworIzogZGhjcC5jOjMzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJESENQIHJhbmdlICVzIC0tICVzIGlzIG5vdCBjb25zaXN0ZW50IHdpdGggbmV0bWFzayAlcyIKIG1zZ3N0ciAiemFrcmVzIERIQ1AgJXMgLS0gJXMgamVzdCBuaWVzcPNqbnkgeiBtYXNrsSBzaWVjaW93sSAlcyIKIAotIzogZGhjcC5jOjYzNAorIzogZGhjcC5jOjY1MwogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gcmVhZCAlczolbSIKIG1zZ3N0ciAiYrOxZCBvZGN6eXR1ICVzOiVtIgogCi0jOiBkaGNwLmM6NjY5CisjOiBkaGNwLmM6Njg4CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbGluZSBhdCAlcyBsaW5lICVkIgogbXNnc3RyICJis+pkbmEgbmF6d2EgdyAlcywgbGluaWEgJWQiCiAKLSM6IGRoY3AuYzo3NzYKKyM6IGRoY3AuYzo3OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZHVwbGljYXRlIElQIGFkZHJlc3MgJXMgKCVzKSBpbiBkaGNwLWNvbmZpZyBkaXJlY3RpdmUiCiBtc2dzdHIgInBvd3TzcnplbmllIGFkcmVzdSBJUCAlcyAoJXMpIHcgb3BjamkgZGhjcC1jb25maWciCiAKLSM6IGRoY3AuYzo4MTIKKyM6IGRoY3AuYzo4MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiSWdub3JpbmcgREhDUCBob3N0IG5hbWUgJXMgYmVjYXVzZSBpdCBoYXMgYW4gaWxsZWdhbCBkb21haW4gcGFydCIKIG1zZ3N0ciAiIgpAQCAtODU5LDcgKzg1OSw3IEBACiBtc2dpZCAiZGlzYWJsZWQiCiBtc2dzdHIgInd5s7Fjem9ueShhKSIKIAotIzogcmZjMjEzMS5jOjMyNCByZmMyMTMxLmM6NzU5CisjOiByZmMyMTMxLmM6MzI0IHJmYzIxMzEuYzo3NjIKIG1zZ2lkICJhZGRyZXNzIGluIHVzZSIKIG1zZ3N0ciAiYWRyZXMgdyB1v3ljaXUiCiAKQEAgLTg3MSwxMSArODcxLDExIEBACiBtc2dpZCAibm8gYWRkcmVzcyBhdmFpbGFibGUiCiBtc2dzdHIgImJyYWsgZG9zdOpwbmVnbyBhZHJlc3UiCiAKLSM6IHJmYzIxMzEuYzozNDkgcmZjMjEzMS5jOjc2NworIzogcmZjMjEzMS5jOjM0OSByZmMyMTMxLmM6NzcyCiBtc2dpZCAibm8gbGVhc2VzIGxlZnQiCiBtc2dzdHIgImJyYWsgd29sbnljaCBkemllcr9hdyIKIAotIzogcmZjMjEzMS5jOjM1MiByZmMyMTMxLmM6NzMzCisjOiByZmMyMTMxLmM6MzUyIHJmYzIxMzEuYzo3MzYKIG1zZ2lkICJ3cm9uZyBuZXR3b3JrIgogbXNnc3RyICJuaWVwcmF3aWSzb3dhIHNpZeYiCiAKQEAgLTg4OCw3ICs4ODgsNyBAQAogbXNnaWQgInVua25vd24gbGVhc2UiCiBtc2dzdHIgIm5pZXpuYW5hIGR6aWVyv2F3YSIKIAotIzogcmZjMjEzMS5jOjU4OSByZmMyMTMxLmM6ODYyCisjOiByZmMyMTMxLmM6NTg5IHJmYzIxMzEuYzo4NzMKIG1zZ2lkICJpZ25vcmVkIgogbXNnc3RyICJpZ25vcnVq6iIKIApAQCAtOTA4LDM2ICs5MDgsMzYgQEAKIG1zZ2lkICJub3QgdXNpbmcgY29uZmlndXJlZCBhZGRyZXNzICVzIGJlY2F1c2UgaXQgd2FzIHByZXZpb3VzbHkgZGVjbGluZWQiCiBtc2dzdHIgIiIKIAotIzogcmZjMjEzMS5jOjY5NgorIzogcmZjMjEzMS5jOjY5OQogbXNnaWQgIndyb25nIGFkZHJlc3MiCiBtc2dzdHIgImKz6mRueSBhZHJlcyIKIAotIzogcmZjMjEzMS5jOjcwOQorIzogcmZjMjEzMS5jOjcxMgogbXNnaWQgImxlYXNlIG5vdCBmb3VuZCIKIG1zZ3N0ciAiZHppZXK/YXdhIG5pZSB6bmFsZXppb25hIgogCi0jOiByZmMyMTMxLmM6NzQxCisjOiByZmMyMTMxLmM6NzQ0CiBtc2dpZCAiYWRkcmVzcyBub3QgYXZhaWxhYmxlIgogbXNnc3RyICJhZHJlcyBuaWVkb3N06nBueSIKIAotIzogcmZjMjEzMS5jOjc1MgorIzogcmZjMjEzMS5jOjc1NQogbXNnaWQgInN0YXRpYyBsZWFzZSBhdmFpbGFibGUiCiBtc2dzdHIgImRvc3TqcG5hIHN0YXR5Y3puYSBkemllcr9hd2EiCiAKLSM6IHJmYzIxMzEuYzo3NTYKKyM6IHJmYzIxMzEuYzo3NTkKIG1zZ2lkICJhZGRyZXNzIHJlc2VydmVkIgogbXNnc3RyICJhZHJlcyB6YXJlemVyd293YW55IgogCi0jOiByZmMyMTMxLmM6NzYyCisjOiByZmMyMTMxLmM6NzY1CiBtc2dpZCAibm8gdW5pcXVlLWlkIgogbXNnc3RyICIiCiAKLSM6IHJmYzIxMzEuYzoxMDAwCisjOiByZmMyMTMxLmM6MTAxMQogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc2VuZCBESENQIG9wdGlvbiAlZDogbm8gc3BhY2UgbGVmdCBpbiBwYWNrZXQiCiBtc2dzdHIgIiIKIAotIzogcmZjMjEzMS5jOjEzMDEKKyM6IHJmYzIxMzEuYzoxMzEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIk1vcmUgdGhhbiBvbmUgdmVuZG9yIGNsYXNzIG1hdGNoZXMsIHVzaW5nICVzIgogbXNnc3RyICJXaepjZWogbmm/IGplZGVuIGR5c3RyeWJ1dG9yIHBhc3VqsWN5LCB1v3l3YW0gJXMiCmRpZmYgLS1naXQgYS9wby9wdF9CUi5wbyBiL3BvL3B0X0JSLnBvCmluZGV4IDIxOGZiMTEuLmQ0Nzg4OGQgMTAwNjQ0Ci0tLSBhL3BvL3B0X0JSLnBvCisrKyBiL3BvL3B0X0JSLnBvCkBAIC02LDcgKzYsNyBAQAogbXNnc3RyICIiCiAiUHJvamVjdC1JZC1WZXJzaW9uOiBkbnNtYXNxIDIuMjZcbiIKICJSZXBvcnQtTXNnaWQtQnVncy1UbzogXG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMDYtMTAtMTMgMTg6MjArMDEwMFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA2LTEwLTI4IDE1OjQyKzAxMDBcbiIKICJQTy1SZXZpc2lvbi1EYXRlOiAyMDA2LTAxLTE2IDIwOjQyKzAwMDBcbiIKICJMYXN0LVRyYW5zbGF0b3I6IFNpbW9uIEtlbGxleSA8c2ltb25AdGhla2VsbGV5cy5vcmcudWs+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogUG9ydHVndWVzZSA8bGRwLWJyQGJhemFyLmNvbmVjdGl2YS5jb20uYnI+XG4iCkBAIC0xNSwzOCArMTUsMzggQEAKICJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCiAiUGx1cmFsLUZvcm1zOiBucGx1cmFscz0yOyBwbHVyYWw9KG4gPiAxKTtcbiIKIAotIzogY2FjaGUuYzo2MDYKKyM6IGNhY2hlLmM6NjY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBsb2FkIG5hbWVzIGZyb20gJXM6ICVtIgogbXNnc3RyICIiCiAKLSM6IGNhY2hlLmM6NjQyIGRoY3AuYzo2ODIKKyM6IGNhY2hlLmM6Njk5IGRoY3AuYzo3MDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIGFkZHJlc3MgYXQgJXMgbGluZSAlZCIKIG1zZ3N0ciAiIgogCi0jOiBjYWNoZS5jOjY2OSBkaGNwLmM6Njk2CisjOiBjYWNoZS5jOjc0NSBkaGNwLmM6NzE1CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBuYW1lIGF0ICVzIGxpbmUgJWQiCiBtc2dzdHIgIiIKIAotIzogY2FjaGUuYzo2NzUgZGhjcC5jOjc1MAorIzogY2FjaGUuYzo3NTIgZGhjcC5jOjc2OQogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWFkICVzIC0gJWQgYWRkcmVzc2VzIgogbXNnc3RyICIiCiAKLSM6IGNhY2hlLmM6NzExCisjOiBjYWNoZS5jOjc5MAogbXNnaWQgImNsZWFyZWQgY2FjaGUiCiBtc2dzdHIgIiIKIAotIzogY2FjaGUuYzo3NjQKKyM6IGNhY2hlLmM6ODQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJub3QgZ2l2aW5nIG5hbWUgJXMgdG8gdGhlIERIQ1AgbGVhc2Ugb2YgJXMgYmVjYXVzZSB0aGUgbmFtZSBleGlzdHMgaW4gJXMgIgogIndpdGggYWRkcmVzcyAlcyIKIG1zZ3N0ciAiIgogCi0jOiBjYWNoZS5jOjgwOAorIzogY2FjaGUuYzo4ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInRpbWUgJWx1LCBjYWNoZSBzaXplICVkLCAlZC8lZCBjYWNoZSBpbnNlcnRpb25zIHJlLXVzZWQgdW5leHBpcmVkIGNhY2hlICIKQEAgLTc0Nyw0NyArNzQ3LDQ3IEBACiBtc2dpZCAiZmFpbGVkIHRvIHNldCBvcHRpb25zIG9uIERIQ1Agc29ja2V0OiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBkaGNwLmM6NDgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiZmFpbGVkIHRvIHNldCBTT19SRVVTRUFERFIgb24gREhDUCBzb2NrZXQ6ICVzIgotbXNnc3RyICIiCi0KICM6IGRoY3AuYzo1OQogIywgYy1mb3JtYXQKLW1zZ2lkICJmYWlsZWQgdG8gYmluZCBESENQIHNlcnZlciBzb2NrZXQ6ICVzIgorbXNnaWQgImZhaWxlZCB0byBzZXQgU09fUkVVU0V7QUREUnxQT1JUfSBvbiBESENQIHNvY2tldDogJXMiCiBtc2dzdHIgIiIKIAogIzogZGhjcC5jOjcyCiAjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBiaW5kIERIQ1Agc2VydmVyIHNvY2tldDogJXMiCittc2dzdHIgIiIKKworIzogZGhjcC5jOjg1CisjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgSUNNUCByYXcgc29ja2V0OiAlcy4iCiBtc2dzdHIgIiIKIAotIzogZGhjcC5jOjg0CisjOiBkaGNwLmM6OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZHVwbGljYXRlIElQIGFkZHJlc3MgJXMgaW4gZGhjcC1jb25maWcgZGlyZWN0aXZlLiIKIG1zZ3N0ciAiIgogCi0jOiBkaGNwLmM6MzE3CisjOiBkaGNwLmM6MzM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkRIQ1AgcmFuZ2UgJXMgLS0gJXMgaXMgbm90IGNvbnNpc3RlbnQgd2l0aCBuZXRtYXNrICVzIgogbXNnc3RyICIiCiAKLSM6IGRoY3AuYzo2MzQKKyM6IGRoY3AuYzo2NTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgJXM6JW0iCiBtc2dzdHIgIiIKIAotIzogZGhjcC5jOjY2OQorIzogZGhjcC5jOjY4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgbGluZSBhdCAlcyBsaW5lICVkIgogbXNnc3RyICIiCiAKLSM6IGRoY3AuYzo3NzYKKyM6IGRoY3AuYzo3OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiZHVwbGljYXRlIElQIGFkZHJlc3MgJXMgKCVzKSBpbiBkaGNwLWNvbmZpZyBkaXJlY3RpdmUiCiBtc2dzdHIgIiIKIAotIzogZGhjcC5jOjgxMgorIzogZGhjcC5jOjgzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJJZ25vcmluZyBESENQIGhvc3QgbmFtZSAlcyBiZWNhdXNlIGl0IGhhcyBhbiBpbGxlZ2FsIGRvbWFpbiBwYXJ0IgogbXNnc3RyICIiCkBAIC04MzMsNyArODMzLDcgQEAKIG1zZ2lkICJkaXNhYmxlZCIKIG1zZ3N0ciAiIgogCi0jOiByZmMyMTMxLmM6MzI0IHJmYzIxMzEuYzo3NTkKKyM6IHJmYzIxMzEuYzozMjQgcmZjMjEzMS5jOjc2MgogbXNnaWQgImFkZHJlc3MgaW4gdXNlIgogbXNnc3RyICIiCiAKQEAgLTg0NSwxMSArODQ1LDExIEBACiBtc2dpZCAibm8gYWRkcmVzcyBhdmFpbGFibGUiCiBtc2dzdHIgIiIKIAotIzogcmZjMjEzMS5jOjM0OSByZmMyMTMxLmM6NzY3CisjOiByZmMyMTMxLmM6MzQ5IHJmYzIxMzEuYzo3NzIKIG1zZ2lkICJubyBsZWFzZXMgbGVmdCIKIG1zZ3N0ciAiIgogCi0jOiByZmMyMTMxLmM6MzUyIHJmYzIxMzEuYzo3MzMKKyM6IHJmYzIxMzEuYzozNTIgcmZjMjEzMS5jOjczNgogbXNnaWQgIndyb25nIG5ldHdvcmsiCiBtc2dzdHIgIiIKIApAQCAtODYyLDcgKzg2Miw3IEBACiBtc2dpZCAidW5rbm93biBsZWFzZSIKIG1zZ3N0ciAiIgogCi0jOiByZmMyMTMxLmM6NTg5IHJmYzIxMzEuYzo4NjIKKyM6IHJmYzIxMzEuYzo1ODkgcmZjMjEzMS5jOjg3MwogbXNnaWQgImlnbm9yZWQiCiBtc2dzdHIgIiIKIApAQCAtODgyLDM2ICs4ODIsMzYgQEAKIG1zZ2lkICJub3QgdXNpbmcgY29uZmlndXJlZCBhZGRyZXNzICVzIGJlY2F1c2UgaXQgd2FzIHByZXZpb3VzbHkgZGVjbGluZWQiCiBtc2dzdHIgIiIKIAotIzogcmZjMjEzMS5jOjY5NgorIzogcmZjMjEzMS5jOjY5OQogbXNnaWQgIndyb25nIGFkZHJlc3MiCiBtc2dzdHIgIiIKIAotIzogcmZjMjEzMS5jOjcwOQorIzogcmZjMjEzMS5jOjcxMgogbXNnaWQgImxlYXNlIG5vdCBmb3VuZCIKIG1zZ3N0ciAiIgogCi0jOiByZmMyMTMxLmM6NzQxCisjOiByZmMyMTMxLmM6NzQ0CiBtc2dpZCAiYWRkcmVzcyBub3QgYXZhaWxhYmxlIgogbXNnc3RyICIiCiAKLSM6IHJmYzIxMzEuYzo3NTIKKyM6IHJmYzIxMzEuYzo3NTUKIG1zZ2lkICJzdGF0aWMgbGVhc2UgYXZhaWxhYmxlIgogbXNnc3RyICIiCiAKLSM6IHJmYzIxMzEuYzo3NTYKKyM6IHJmYzIxMzEuYzo3NTkKIG1zZ2lkICJhZGRyZXNzIHJlc2VydmVkIgogbXNnc3RyICIiCiAKLSM6IHJmYzIxMzEuYzo3NjIKKyM6IHJmYzIxMzEuYzo3NjUKIG1zZ2lkICJubyB1bmlxdWUtaWQiCiBtc2dzdHIgIiIKIAotIzogcmZjMjEzMS5jOjEwMDAKKyM6IHJmYzIxMzEuYzoxMDExCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzZW5kIERIQ1Agb3B0aW9uICVkOiBubyBzcGFjZSBsZWZ0IGluIHBhY2tldCIKIG1zZ3N0ciAiIgogCi0jOiByZmMyMTMxLmM6MTMwMQorIzogcmZjMjEzMS5jOjEzMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiTW9yZSB0aGFuIG9uZSB2ZW5kb3IgY2xhc3MgbWF0Y2hlcywgdXNpbmcgJXMiCiBtc2dzdHIgIiIKZGlmZiAtLWdpdCBhL3BvL3JvLnBvIGIvcG8vcm8ucG8KaW5kZXggODY4NDBmZC4uNDMwNDVjNSAxMDA2NDQKLS0tIGEvcG8vcm8ucG8KKysrIGIvcG8vcm8ucG8KQEAgLTYsNyArNiw3IEBACiBtc2dzdHIgIiIKICJQcm9qZWN0LUlkLVZlcnNpb246IGRuc21hc3EgMi4yNFxuIgogIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBcbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwNi0xMC0xMyAxODoyMCswMTAwXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDYtMTAtMjggMTU6NDIrMDEwMFxuIgogIlBPLVJldmlzaW9uLURhdGU6IDIwMDUtMTEtMjIgMTY6NDYrMDAwMFxuIgogIkxhc3QtVHJhbnNsYXRvcjogU2ltb24gS2VsbGV5IDxzaW1vbkB0aGVrZWxsZXlzLm9yZy51az5cbiIKICJMYW5ndWFnZS1UZWFtOiBSb21hbmlhbiA8dHJhbnNsYXRpb24tdGVhbS1yb0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+XG4iCkBAIC0xNSwzMSArMTUsMzEgQEAKICJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCiAKICMgZm9yIGNvbXBhdGliaWxpdHkgcHVycG9zZXMgdGhlIGxldHRlcnMgw6IsIMSDLCDFnywgxaMgYW5kIMOuIGNhbiBiZSB3cml0dGVuIGFzIHRoZWlyIGxvb2stYWxpa2UgY29ycmVzcG9uZGVudC4KLSM6IGNhY2hlLmM6NjA2CisjOiBjYWNoZS5jOjY2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJmYWlsZWQgdG8gbG9hZCBuYW1lcyBmcm9tICVzOiAlbSIKIG1zZ3N0ciAiw65uY8SDcmNhcmVhIG51bWVsb3IgZGluICVzOiAlbSBhIGXFn3VhdCIKIAotIzogY2FjaGUuYzo2NDIgZGhjcC5jOjY4MgorIzogY2FjaGUuYzo2OTkgZGhjcC5jOjcwMQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgYWRkcmVzcyBhdCAlcyBsaW5lICVkIgogbXNnc3RyICJhZHJlc8SDIGdyZcWfaXTEgyDDrm4gJXMsIGxpbmlhICVkIgogCi0jOiBjYWNoZS5jOjY2OSBkaGNwLmM6Njk2CisjOiBjYWNoZS5jOjc0NSBkaGNwLmM6NzE1CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBuYW1lIGF0ICVzIGxpbmUgJWQiCiBtc2dzdHIgIm51bWUgZ3JlxZ9pdCDDrm4gJXMgbGluaWEgJWQiCiAKLSM6IGNhY2hlLmM6Njc1IGRoY3AuYzo3NTAKKyM6IGNhY2hlLmM6NzUyIGRoY3AuYzo3NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVhZCAlcyAtICVkIGFkZHJlc3NlcyIKIG1zZ3N0ciAiY2l0ZXNjICVzIC0gJWQgYWRyZXNlIgogCi0jOiBjYWNoZS5jOjcxMQorIzogY2FjaGUuYzo3OTAKIG1zZ2lkICJjbGVhcmVkIGNhY2hlIgogbXNnc3RyICJtZW1vcmlhIHRlbXBvcmFyxIMgYSBmb3N0IMWfdGVhcnPEgyIKIAotIzogY2FjaGUuYzo3NjQKKyM6IGNhY2hlLmM6ODQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJub3QgZ2l2aW5nIG5hbWUgJXMgdG8gdGhlIERIQ1AgbGVhc2Ugb2YgJXMgYmVjYXVzZSB0aGUgbmFtZSBleGlzdHMgaW4gJXMgIgpAQCAtNDgsNyArNDgsNyBAQAogIm51IHBvdCBkYSBudW1lbGUgJXMgw65tcHJ1bXV0dWx1aSBkZSBhZHJlc8SDIERIQ1AgYSBsdWkgJXMgZGVvYXJlY2UgIgogIm51bWVsZWV4aXN0xIMgw65uICVzIGN1IGFkcmVzYSAlcyIKIAotIzogY2FjaGUuYzo4MDgKKyM6IGNhY2hlLmM6ODg3CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIiCiAidGltZSAlbHUsIGNhY2hlIHNpemUgJWQsICVkLyVkIGNhY2hlIGluc2VydGlvbnMgcmUtdXNlZCB1bmV4cGlyZWQgY2FjaGUgIgpAQCAtNzY0LDQ3ICs3NjQsNDcgQEAKIG1zZ2lkICJmYWlsZWQgdG8gc2V0IG9wdGlvbnMgb24gREhDUCBzb2NrZXQ6ICVzIgogbXNnc3RyICJjb25maWd1cmFyZWEgb3DFo2l1bmlsb3Igc29ja2V0dWx1aSBESENQIGEgZcWfdWF0OiAlcyIKIAotIzogZGhjcC5jOjQ4Ci0jLCBjLWZvcm1hdAotbXNnaWQgImZhaWxlZCB0byBzZXQgU09fUkVVU0VBRERSIG9uIERIQ1Agc29ja2V0OiAlcyIKKyM6IGRoY3AuYzo1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBTT19SRVVTRXtBRERSfFBPUlR9IG9uIERIQ1Agc29ja2V0OiAlcyIKIG1zZ3N0ciAiY29uZmlndXJhcmVhIFNPX1JFVVNFQUREUiBwZSBzb2NrZXQtdWwgREhDUCBhIGXFn3VhdDogJXMiCiAKLSM6IGRoY3AuYzo1OQorIzogZGhjcC5jOjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byBiaW5kIERIQ1Agc2VydmVyIHNvY2tldDogJXMiCiBtc2dzdHIgImFjdGl2YXJlYSBzb2NrZXQtdWx1aSBzZXJ2ZXItdWx1aSBESENQIGEgZcWfdWF0OiAlcyIKIAotIzogZGhjcC5jOjcyCisjOiBkaGNwLmM6ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNyZWF0ZSBJQ01QIHJhdyBzb2NrZXQ6ICVzLiIKIG1zZ3N0ciAibnUgcG90IGNyZWVhIHNvY2tldCBJQ01QIHJhdzogJXMuIgogCi0jOiBkaGNwLmM6ODQKKyM6IGRoY3AuYzo5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJkdXBsaWNhdGUgSVAgYWRkcmVzcyAlcyBpbiBkaGNwLWNvbmZpZyBkaXJlY3RpdmUuIgogbXNnc3RyICJhZHJlc8SDIElQIGR1cGxpY2F0ICVzIMOubiBkZWNsYXJhxaNpYSBkaGNwLWNvbmZpZy4iCiAKLSM6IGRoY3AuYzozMTcKKyM6IGRoY3AuYzozMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiREhDUCByYW5nZSAlcyAtLSAlcyBpcyBub3QgY29uc2lzdGVudCB3aXRoIG5ldG1hc2sgJXMiCiBtc2dzdHIgImRvbWVuaXUgREhDUCAlcyAtLSAlcyBudSBlc3RlIGNvbnNpc3RlbnQgY3UgbWFzY2EgZGUgcmXFo2VhICVzIgogCi0jOiBkaGNwLmM6NjM0CisjOiBkaGNwLmM6NjUzCiAjLCBjLWZvcm1hdAogbXNnaWQgImZhaWxlZCB0byByZWFkICVzOiVtIgogbXNnc3RyICJjaXRpcmVhICVzOiVuIGEgZcWfdWF0IgogCi0jOiBkaGNwLmM6NjY5CisjOiBkaGNwLmM6Njg4CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBsaW5lIGF0ICVzIGxpbmUgJWQiCiBtc2dzdHIgImxpbmllIGludmFsaWTEgyDDrm4gJXMgcsOibmR1bCAlZCIKIAotIzogZGhjcC5jOjc3NgorIzogZGhjcC5jOjc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJkdXBsaWNhdGUgSVAgYWRkcmVzcyAlcyAoJXMpIGluIGRoY3AtY29uZmlnIGRpcmVjdGl2ZSIKIG1zZ3N0ciAiYWRyZXPEgyBJUCBkdXBsaWNhdCAlcyAoJXMpIMOubiBkZWNsYXJhxaNpYSBkaGNwLWNvbmZpZy4iCiAKLSM6IGRoY3AuYzo4MTIKKyM6IGRoY3AuYzo4MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiSWdub3JpbmcgREhDUCBob3N0IG5hbWUgJXMgYmVjYXVzZSBpdCBoYXMgYW4gaWxsZWdhbCBkb21haW4gcGFydCIKIG1zZ3N0ciAiSWdub3IgbnVtZWxlIERIQ1AgYWwgbWHFn2luaWkgJXMgZGVvYXJlY2UgYXJlIGRvbWVuaXUgRE5TIGlsZWdhbCIKQEAgLTg1MCw3ICs4NTAsNyBAQAogbXNnaWQgImRpc2FibGVkIgogbXNnc3RyICJkZXphY3RpdmF0IgogCi0jOiByZmMyMTMxLmM6MzI0IHJmYzIxMzEuYzo3NTkKKyM6IHJmYzIxMzEuYzozMjQgcmZjMjEzMS5jOjc2MgogbXNnaWQgImFkZHJlc3MgaW4gdXNlIgogbXNnc3RyICJhZHJlc2EgZXN0ZSBmb2xvc2l0xIMiCiAKQEAgLTg2MiwxMSArODYyLDExIEBACiBtc2dpZCAibm8gYWRkcmVzcyBhdmFpbGFibGUiCiBtc2dzdHIgIm5pY2kgbyBhZHJlc8SDIGRpc3BvbmliaWzEgyIKIAotIzogcmZjMjEzMS5jOjM0OSByZmMyMTMxLmM6NzY3CisjOiByZmMyMTMxLmM6MzQ5IHJmYzIxMzEuYzo3NzIKIG1zZ2lkICJubyBsZWFzZXMgbGVmdCIKIG1zZ3N0ciAibnUgbWFpIGFtIGRlIHVuZGUgc8SDIMOubXBydW11dCIKIAotIzogcmZjMjEzMS5jOjM1MiByZmMyMTMxLmM6NzMzCisjOiByZmMyMTMxLmM6MzUyIHJmYzIxMzEuYzo3MzYKIG1zZ2lkICJ3cm9uZyBuZXR3b3JrIgogbXNnc3RyICJyZcWjZWEgZ3JlxZ9pdMSDIgogCkBAIC04NzksNyArODc5LDcgQEAKIG1zZ2lkICJ1bmtub3duIGxlYXNlIgogbXNnc3RyICLDrm1wcnVtdXQgbmVjdW5vc2N1dCIKIAotIzogcmZjMjEzMS5jOjU4OSByZmMyMTMxLmM6ODYyCisjOiByZmMyMTMxLmM6NTg5IHJmYzIxMzEuYzo4NzMKIG1zZ2lkICJpZ25vcmVkIgogbXNnc3RyICJpZ25vcmF0IgogCkBAIC04OTksMzYgKzg5OSwzNiBAQAogbXNnaWQgIm5vdCB1c2luZyBjb25maWd1cmVkIGFkZHJlc3MgJXMgYmVjYXVzZSBpdCB3YXMgcHJldmlvdXNseSBkZWNsaW5lZCIKIG1zZ3N0ciAiIgogCi0jOiByZmMyMTMxLmM6Njk2CisjOiByZmMyMTMxLmM6Njk5CiBtc2dpZCAid3JvbmcgYWRkcmVzcyIKIG1zZ3N0ciAiYWRyZXPEgyBncmXFn2l0xIMiCiAKLSM6IHJmYzIxMzEuYzo3MDkKKyM6IHJmYzIxMzEuYzo3MTIKIG1zZ2lkICJsZWFzZSBub3QgZm91bmQiCiBtc2dzdHIgIsOubXBydW11dHVsIG51IGEgZm9zdCBnxINzaXQiCiAKLSM6IHJmYzIxMzEuYzo3NDEKKyM6IHJmYzIxMzEuYzo3NDQKIG1zZ2lkICJhZGRyZXNzIG5vdCBhdmFpbGFibGUiCiBtc2dzdHIgImFkcmVzxIMgaW5kaXNwb25pYmlsxIMiCiAKLSM6IHJmYzIxMzEuYzo3NTIKKyM6IHJmYzIxMzEuYzo3NTUKIG1zZ2lkICJzdGF0aWMgbGVhc2UgYXZhaWxhYmxlIgogbXNnc3RyICLDrm1wcnVtdXQgc3RhdGljIGVzdGUgZGlzcG9uaWJpbCIKIAotIzogcmZjMjEzMS5jOjc1NgorIzogcmZjMjEzMS5jOjc1OQogbXNnaWQgImFkZHJlc3MgcmVzZXJ2ZWQiCiBtc2dzdHIgImFkcmVzxIMgcmV6ZXJ2YXTEgyIKIAotIzogcmZjMjEzMS5jOjc2MgorIzogcmZjMjEzMS5jOjc2NQogbXNnaWQgIm5vIHVuaXF1ZS1pZCIKIG1zZ3N0ciAiIgogCi0jOiByZmMyMTMxLmM6MTAwMAorIzogcmZjMjEzMS5jOjEwMTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHNlbmQgREhDUCBvcHRpb24gJWQ6IG5vIHNwYWNlIGxlZnQgaW4gcGFja2V0IgogbXNnc3RyICJudSBwb3QgdHJpbWl0ZSBvcMWjaXVuZWEgREhDUCAlZDogbnUgbWFpIGVzdGUgbG9jIMOubiBwYWNoZXQiCiAKLSM6IHJmYzIxMzEuYzoxMzAxCisjOiByZmMyMTMxLmM6MTMxMgogIywgYy1mb3JtYXQKIG1zZ2lkICJNb3JlIHRoYW4gb25lIHZlbmRvciBjbGFzcyBtYXRjaGVzLCB1c2luZyAlcyIKIG1zZ3N0ciAiU2UgcG90cml2ZXNjIG1haSBtdWx0ZSBjbGFzZSBkZSBtxINyY2kgZGUgaW50ZXJmZcWjZSwgZm9sb3NpbSAlcyIKZGlmZiAtLWdpdCBhL3NyYy9jYWNoZS5jIGIvc3JjL2NhY2hlLmMKaW5kZXggYTExYmVlOS4uNzUyYjJiMSAxMDA2NDQKLS0tIGEvc3JjL2NhY2hlLmMKKysrIGIvc3JjL2NhY2hlLmMKQEAgLTU4LDYgKzU4LDggQEAKIHN0YXRpYyB2b2lkIGNhY2hlX3VubGluayhzdHJ1Y3QgY3JlYyAqY3JlY3ApOwogc3RhdGljIHZvaWQgY2FjaGVfbGluayhzdHJ1Y3QgY3JlYyAqY3JlY3ApOwogc3RhdGljIGNoYXIgKnJlY29yZF9zb3VyY2Uoc3RydWN0IGhvc3RzZmlsZSAqYWRkX2hvc3RzLCBpbnQgaW5kZXgpOworc3RhdGljIHZvaWQgcmVoYXNoKGludCBzaXplKTsKK3N0YXRpYyB2b2lkIGNhY2hlX2hhc2goc3RydWN0IGNyZWMgKmNyZWNwKTsKIAogdm9pZCBjYWNoZV9pbml0KGludCBzaXplLCBpbnQgbG9ncSkKIHsKQEAgLTcyLDYgKzc0LDcgQEAKICAgY2FjaGVfaGVhZCA9IGNhY2hlX3RhaWwgPSBOVUxMOwogICBkaGNwX2ludXNlID0gZGhjcF9zcGFyZSA9IE5VTEw7CiAgIG5ld19jaGFpbiA9IE5VTEw7CisgIGhhc2hfdGFibGUgPSBOVUxMOwogICBjYWNoZV9zaXplID0gc2l6ZTsKICAgYmlnX2ZyZWUgPSBOVUxMOwogICBiaWduYW1lc19sZWZ0ID0gc2l6ZS8xMDsKQEAgLTkxLDE2ICs5NCw1MSBAQAogCX0KICAgICB9CiAgIAotICAvKiBoYXNoX3NpemUgaXMgYSBwb3dlciBvZiB0d28uICovCi0gIGZvciAoaGFzaF9zaXplID0gNjQ7IGhhc2hfc2l6ZSA8IGNhY2hlX3NpemUvMTA7IGhhc2hfc2l6ZSA9IGhhc2hfc2l6ZSA8PCAxKTsKLSAgaGFzaF90YWJsZSA9IHNhZmVfbWFsbG9jKGhhc2hfc2l6ZSpzaXplb2Yoc3RydWN0IGNyZWMgKikpOwotICBmb3IoaT0wOyBpIDwgaGFzaF9zaXplOyBpKyspCi0gICAgaGFzaF90YWJsZVtpXSA9IE5VTEw7CisgIC8qIGNyZWF0ZSBpbml0aWFsIGhhc2ggdGFibGUqLworICByZWhhc2goY2FjaGVfc2l6ZSk7CiB9CiAKKy8qIEluIG1vc3QgY2FzZXMsIHdlIGNyZWF0ZSB0aGUgaGFzaCB0YWJsZSBvbmNlIGhlcmUgYnkgY2FsbGluZyB0aGlzIHdpdGggKGhhc2hfdGFibGUgPT0gTlVMTCkKKyAgIGJ1dCBpZiB0aGUgaG9zdHMgZmlsZShzKSBhcmUgYmlnIChzb21lIHBlb3BsZSBoYXZlIDUwMDAwIGFkLWJsb2NrIGVudHJpZXMpLCB0aGUgdGFibGUKKyAgIHdpbGwgYmUgbXVjaCB0b28gc21hbGwsIHNvIHRoZSBob3N0cyByZWFkaW5nIGNvZGUgY2FsbHMgcmVoYXNoIGV2ZXJ5IDEwMDAgYWRkcmVzc2VzLCB0bworICAgZXhwYW5kIHRoZSB0YWJsZS4gKi8KK3N0YXRpYyB2b2lkIHJlaGFzaChpbnQgc2l6ZSkKK3sKKyAgc3RydWN0IGNyZWMgKipuZXcsICoqb2xkLCAqcCwgKnRtcDsKKyAgaW50IGksIG5ld19zaXplLCBvbGRfc2l6ZTsKKworICAvKiBoYXNoX3NpemUgaXMgYSBwb3dlciBvZiB0d28uICovCisgIGZvciAobmV3X3NpemUgPSA2NDsgbmV3X3NpemUgPCBzaXplLzEwOyBuZXdfc2l6ZSA9IG5ld19zaXplIDw8IDEpOworICAKKyAgLyogbXVzdCBzdWNjZWVkIGluIGdldHRpbmcgZmlyc3QgaW5zdGFuY2UsIGZhaWx1cmUgbGF0ZXIgaXMgbm9uLWZhdGFsICovCisgIGlmICghaGFzaF90YWJsZSkKKyAgICBuZXcgPSBzYWZlX21hbGxvYyhuZXdfc2l6ZSAqIHNpemVvZihzdHJ1Y3QgY3JlYyAqKSk7CisgIGVsc2UgaWYgKG5ld19zaXplIDw9IGhhc2hfc2l6ZSB8fCAhKG5ldyA9IG1hbGxvYyhuZXdfc2l6ZSAqIHNpemVvZihzdHJ1Y3QgY3JlYyAqKSkpKQorICAgIHJldHVybjsKKworICBmb3IoaSA9IDA7IGkgPCBuZXdfc2l6ZTsgaSsrKQorICAgIG5ld1tpXSA9IE5VTEw7CisKKyAgb2xkID0gaGFzaF90YWJsZTsKKyAgb2xkX3NpemUgPSBoYXNoX3NpemU7CisgIGhhc2hfdGFibGUgPSBuZXc7CisgIGhhc2hfc2l6ZSA9IG5ld19zaXplOworICAKKyAgaWYgKG9sZCkKKyAgICB7CisgICAgICBmb3IgKGkgPSAwOyBpIDwgb2xkX3NpemU7IGkrKykKKwlmb3IgKHAgPSBvbGRbaV07IHAgOyBwID0gdG1wKQorCSAgeworCSAgICB0bXAgPSBwLT5oYXNoX25leHQ7CisJICAgIGNhY2hlX2hhc2gocCk7CisJICB9CisgICAgICBmcmVlKG9sZCk7CisgICAgfQorfQorICAKIHN0YXRpYyBzdHJ1Y3QgY3JlYyAqKmhhc2hfYnVja2V0KGNoYXIgKm5hbWUpCiB7Ci0gIHVuc2lnbmVkIGludCBjLCB2YWwgPSAwMTc0NjU7IC8qIEJhcmtlciBjb2RlIC0gbWluaW11bSBzZWxmLWNvcnJlbGF0aW9uaW4gY3ljbGljIHNoaWZ0ICovCisgIHVuc2lnbmVkIGludCBjLCB2YWwgPSAwMTc0NjU7IC8qIEJhcmtlciBjb2RlIC0gbWluaW11bSBzZWxmLWNvcnJlbGF0aW9uIGluIGN5Y2xpYyBzaGlmdCAqLwogICBjb25zdCB1bnNpZ25lZCBjaGFyICptaXhfdGFiID0gKGNvbnN0IHVuc2lnbmVkIGNoYXIqKXR5cGVzdHI7IAogCiAgIHdoaWxlKChjID0gKHVuc2lnbmVkIGNoYXIpICpuYW1lKyspKQpAQCAtMTA4LDcgKzE0Niw3IEBACiAgICAgICAvKiBkb24ndCB1c2UgdG9sb3dlciBhbmQgZnJpZW5kcyBoZXJlIC0gdGhleSBtYXkgYmUgbWVzc2VkIHVwIGJ5IExPQ0FMRSAqLwogICAgICAgaWYgKGMgPj0gJ0EnICYmIGMgPD0gJ1onKQogCWMgKz0gJ2EnIC0gJ0EnOwotICAgICAgdmFsID0gKCh2YWwgPDwgNykgfCAodmFsID4+ICgzMiAtIDcpKSkgKyAobWl4X3RhYlsodmFsICsgYykgJiAweDFGXSBeIGMpOworICAgICAgdmFsID0gKCh2YWwgPDwgNykgfCAodmFsID4+ICgzMiAtIDcpKSkgKyAobWl4X3RhYlsodmFsICsgYykgJiAweDNGXSBeIGMpOwogICAgIH0gCiAgIAogICAvKiBoYXNoX3NpemUgaXMgYSBwb3dlciBvZiB0d28gKi8KQEAgLTIwNCw3ICsyNDIsNyBAQAogCiAgIGlmIChkaWZmdGltZShub3csIGNyZWNwLT50dGQpIDwgMCkKICAgICByZXR1cm4gMDsKLQorICAKICAgcmV0dXJuIDE7CiB9CiAKQEAgLTU3NSwxOSArNjEzLDM4IEBACiB9CiAKIHN0YXRpYyB2b2lkIGFkZF9ob3N0c19lbnRyeShzdHJ1Y3QgY3JlYyAqY2FjaGUsIHN0cnVjdCBhbGxfYWRkciAqYWRkciwgaW50IGFkZHJsZW4sIAotCQkJICAgIHVuc2lnbmVkIHNob3J0IGZsYWdzLCBpbnQgaW5kZXgpCisJCQkgICAgdW5zaWduZWQgc2hvcnQgZmxhZ3MsIGludCBpbmRleCwgaW50IGFkZHJfZHVwKQogewogICBzdHJ1Y3QgY3JlYyAqbG9va3VwID0gY2FjaGVfZmluZF9ieV9uYW1lKE5VTEwsIGNhY2hlLT5uYW1lLnNuYW1lLCAwLCBmbGFncyAmIChGX0lQVjQgfCBGX0lQVjYpKTsKLQorICBpbnQgaTsKKyAgCiAgIC8qIFJlbW92ZSBkdXBsaWNhdGVzIGluIGhvc3RzIGZpbGVzLiAqLwogICBpZiAobG9va3VwICYmIChsb29rdXAtPmZsYWdzICYgRl9IT1NUUykgJiYKICAgICAgIG1lbWNtcCgmbG9va3VwLT5hZGRyLmFkZHIsIGFkZHIsIGFkZHJsZW4pID09IDApCiAgICAgZnJlZShjYWNoZSk7CiAgIGVsc2UKICAgICB7Ci0gICAgICAvKiBFbnN1cmUgdGhlcmUgaXMgb25seSBvbmUgYWRkcmVzcyAtPiBuYW1lIG1hcHBpbmcgKGZpcnN0IG9uZSB0cnVtcHMpICovCi0gICAgICBpZiAoY2FjaGVfZmluZF9ieV9hZGRyKE5VTEwsIGFkZHIsIDAsIGZsYWdzICYgKEZfSVBWNCB8IEZfSVBWNikpKQorICAgICAgLyogRW5zdXJlIHRoZXJlIGlzIG9ubHkgb25lIGFkZHJlc3MgLT4gbmFtZSBtYXBwaW5nIChmaXJzdCBvbmUgdHJ1bXBzKSAKKwkgV2UgZG8gdGhpcyBieSBzdGVhbSBoZXJlLCBmaXJzdCB3ZSBzZWUgaWYgdGhlIGFkZHJlc3MgaXMgdGhlIHNhbWUgYXMKKwkgdGhlIGxhc3Qgb25lIHdlIHNhdywgd2hpY2ggZWxpbWluYXRlcyBtb3N0IGluIHRoZSBjYXNlIG9mIGFuIGFkLWJsb2NrIAorCSBmaWxlIHdpdGggdGhvdXNhbmRzIG9mIGVudHJpZXMgZm9yIHRoZSBzYW1lIGFkZHJlc3MuCisJIFRoZW4gd2Ugc2VhcmNoIGFuZCBiYWlsIGF0IHRoZSBmaXJzdCBtYXRjaGluZyBhZGRyZXNzIHRoYXQgY2FtZSBmcm9tCisJIGEgSE9TVFMgZmlsZS4gU2luY2UgdGhlIGZpcnN0IGhvc3QgZW50cnkgZ2V0cyByZXZlcnNlLCB3ZSBrbm93IAorCSB0aGVuIHRoYXQgaXQgbXVzdCBleGlzdCB3aXRob3V0IHNlYXJjaGluZyBleGhhdXN0aXZlbHkgZm9yIGl0LiAqLworICAgICAKKyAgICAgIGlmIChhZGRyX2R1cCkKIAlmbGFncyAmPSB+Rl9SRVZFUlNFOworICAgICAgZWxzZQorCWZvciAoaT0wOyBpPGhhc2hfc2l6ZTsgaSsrKQorCSAgZm9yIChsb29rdXAgPSBoYXNoX3RhYmxlW2ldOyBsb29rdXA7IGxvb2t1cCA9IGxvb2t1cC0+aGFzaF9uZXh0KQorCSAgICBpZiAoKGxvb2t1cC0+ZmxhZ3MgJiBGX0hPU1RTKSAmJiAKKwkJKGxvb2t1cC0+ZmxhZ3MgJiBmbGFncyAmIChGX0lQVjQgfCBGX0lQVjYpKSAmJgorCQltZW1jbXAoJmxvb2t1cC0+YWRkci5hZGRyLCBhZGRyLCBhZGRybGVuKSA9PSAwKQorCSAgICAgIHsKKwkJZmxhZ3MgJj0gfkZfUkVWRVJTRTsKKwkJYnJlYWs7CisJICAgICAgfQorICAgIAogICAgICAgY2FjaGUtPmZsYWdzID0gZmxhZ3M7CiAgICAgICBjYWNoZS0+dWlkID0gaW5kZXg7CiAgICAgICBtZW1jcHkoJmNhY2hlLT5hZGRyLmFkZHIsIGFkZHIsIGFkZHJsZW4pOwpAQCAtNTk1LDI1ICs2NTIsMjUgQEAKICAgICB9CiB9CiAKLXN0YXRpYyB2b2lkIHJlYWRfaG9zdHNmaWxlKGNoYXIgKmZpbGVuYW1lLCBpbnQgb3B0cywgY2hhciAqYnVmZiwgY2hhciAqZG9tYWluX3N1ZmZpeCwgaW50IGluZGV4KQorc3RhdGljIGludCByZWFkX2hvc3RzZmlsZShjaGFyICpmaWxlbmFtZSwgaW50IG9wdHMsIGNoYXIgKmJ1ZmYsIGNoYXIgKmRvbWFpbl9zdWZmaXgsIGludCBpbmRleCwgaW50IGNhY2hlX3NpemUpCiB7ICAKICAgRklMRSAqZiA9IGZvcGVuKGZpbGVuYW1lLCAiciIpOwogICBjaGFyICpsaW5lOwotICBpbnQgY291bnQgPSAwLCBsaW5lbm8gPSAwOwotICAKKyAgaW50IGFkZHJfY291bnQgPSAwLCBuYW1lX2NvdW50ID0gY2FjaGVfc2l6ZSwgbGluZW5vID0gMDsKKyAgdW5zaWduZWQgc2hvcnQgZmxhZ3MsIHNhdmVkX2ZsYWdzID0gMDsKKyAgc3RydWN0IGFsbF9hZGRyIGFkZHIsIHNhdmVkX2FkZHI7CisKICAgaWYgKCFmKQogICAgIHsKICAgICAgIHN5c2xvZyhMT0dfRVJSLCBfKCJmYWlsZWQgdG8gbG9hZCBuYW1lcyBmcm9tICVzOiAlbSIpLCBmaWxlbmFtZSk7Ci0gICAgICByZXR1cm47CisgICAgICByZXR1cm4gMDsKICAgICB9CiAgICAgCiAgIHdoaWxlICgobGluZSA9IGZnZXRzKGJ1ZmYsIE1BWEROQU1FLCBmKSkpCiAgICAgewotICAgICAgc3RydWN0IGFsbF9hZGRyIGFkZHI7CiAgICAgICBjaGFyICp0b2tlbiA9IHN0cnRvayhsaW5lLCAiIFx0XG5cciIpOwotICAgICAgaW50IGFkZHJsZW47Ci0gICAgICB1bnNpZ25lZCBzaG9ydCBmbGFnczsKLSAgICAgICAgICAKKyAgICAgIGludCBhZGRybGVuLCBhZGRyX2R1cCA9IDA7CisgICAgICAgICAgICAgIAogICAgICAgbGluZW5vKys7CiAKICAgICAgIGlmICghdG9rZW4gfHwgKCp0b2tlbiA9PSAnIycpKSAKQEAgLTY0MywxMiArNzAwLDI4IEBACiAJICBjb250aW51ZTsKIAl9CiAKKyAgICAgaWYgKHNhdmVkX2ZsYWdzID09IGZsYWdzICYmIG1lbWNtcCgmYWRkciwgJnNhdmVkX2FkZHIsIGFkZHJsZW4pID09IDApCisgICAgICAgYWRkcl9kdXAgPSAxOworICAgICBlbHNlCisgICAgICAgeworCSBzYXZlZF9mbGFncyA9IGZsYWdzOworCSBzYXZlZF9hZGRyID0gYWRkcjsKKyAgICAgICB9CisgICAgIAorICAgICBhZGRyX2NvdW50Kys7CisgICAgIAorICAgICAvKiByZWhhc2ggZXZlcnkgMTAwMCBuYW1lcy4gKi8KKyAgICAgaWYgKChuYW1lX2NvdW50IC0gY2FjaGVfc2l6ZSkgPiAxMDAwKQorICAgICAgIHsKKwkgcmVoYXNoKG5hbWVfY291bnQpOworCSBjYWNoZV9zaXplID0gbmFtZV9jb3VudDsKKyAgICAgICB9CisgICAgIAogICAgICB3aGlsZSAoKHRva2VuID0gc3RydG9rKE5VTEwsICIgXHRcblxyIikpICYmICgqdG9rZW4gIT0gJyMnKSkKICAgICAgICB7CiAJIHN0cnVjdCBjcmVjICpjYWNoZTsKIAkgaWYgKGNhbm9uaWNhbGlzZSh0b2tlbikpCiAJICAgewotCSAgICAgY291bnQrKzsKIAkgICAgIC8qIElmIHNldCwgYWRkIGEgdmVyc2lvbiBvZiB0aGUgbmFtZSB3aXRoIGEgZGVmYXVsdCBkb21haW4gYXBwZW5kZWQgKi8KIAkgICAgIGlmICgob3B0cyAmIE9QVF9FWFBBTkQpICYmIGRvbWFpbl9zdWZmaXggJiYgIXN0cmNocih0b2tlbiwgJy4nKSAmJiAKIAkJIChjYWNoZSA9IG1hbGxvYyhzaXplb2Yoc3RydWN0IGNyZWMpICsgCkBAIC02NTcsMTIgKzczMCwxNSBAQAogCQkgc3RyY3B5KGNhY2hlLT5uYW1lLnNuYW1lLCB0b2tlbik7CiAJCSBzdHJjYXQoY2FjaGUtPm5hbWUuc25hbWUsICIuIik7CiAJCSBzdHJjYXQoY2FjaGUtPm5hbWUuc25hbWUsIGRvbWFpbl9zdWZmaXgpOwotCQkgYWRkX2hvc3RzX2VudHJ5KGNhY2hlLCAmYWRkciwgYWRkcmxlbiwgZmxhZ3MsIGluZGV4KTsKKwkJIGFkZF9ob3N0c19lbnRyeShjYWNoZSwgJmFkZHIsIGFkZHJsZW4sIGZsYWdzLCBpbmRleCwgYWRkcl9kdXApOworCQkgYWRkcl9kdXAgPSAxOworCQkgbmFtZV9jb3VudCsrOwogCSAgICAgICB9CiAJICAgICBpZiAoKGNhY2hlID0gbWFsbG9jKHNpemVvZihzdHJ1Y3QgY3JlYykgKyBzdHJsZW4odG9rZW4pKzEtU01BTExETkFNRSkpKQogCSAgICAgICB7CiAJCSBzdHJjcHkoY2FjaGUtPm5hbWUuc25hbWUsIHRva2VuKTsKLQkJIGFkZF9ob3N0c19lbnRyeShjYWNoZSwgJmFkZHIsIGFkZHJsZW4sIGZsYWdzLCBpbmRleCk7CisJCSBhZGRfaG9zdHNfZW50cnkoY2FjaGUsICZhZGRyLCBhZGRybGVuLCBmbGFncywgaW5kZXgsIGFkZHJfZHVwKTsKKwkJIG5hbWVfY291bnQrKzsKIAkgICAgICAgfQogCSAgIH0KIAkgZWxzZQpAQCAtNjcxLDE0ICs3NDcsMTcgQEAKICAgICB9CiAgIAogICBmY2xvc2UoZik7CisgIHJlaGFzaChuYW1lX2NvdW50KTsKIAotICBzeXNsb2coTE9HX0lORk8sIF8oInJlYWQgJXMgLSAlZCBhZGRyZXNzZXMiKSwgZmlsZW5hbWUsIGNvdW50KTsKKyAgc3lzbG9nKExPR19JTkZPLCBfKCJyZWFkICVzIC0gJWQgYWRkcmVzc2VzIiksIGZpbGVuYW1lLCBhZGRyX2NvdW50KTsKKworICByZXR1cm4gbmFtZV9jb3VudDsKIH0KIAkgICAgCiB2b2lkIGNhY2hlX3JlbG9hZChpbnQgb3B0cywgY2hhciAqYnVmZiwgY2hhciAqZG9tYWluX3N1ZmZpeCwgc3RydWN0IGhvc3RzZmlsZSAqYWRkbl9ob3N0cykKIHsKICAgc3RydWN0IGNyZWMgKmNhY2hlLCAqKnVwLCAqdG1wOwotICBpbnQgaTsKKyAgaW50IGksIHRvdGFsX3NpemUgPSBjYWNoZV9zaXplOwogCiAgIGNhY2hlX2luc2VydGVkID0gY2FjaGVfbGl2ZV9mcmVlZCA9IDA7CiAgIApAQCAtNzEzLDEwICs3OTIsMTAgQEAKICAgICB9CiAKICAgaWYgKCEob3B0cyAmIE9QVF9OT19IT1NUUykpCi0gICAgcmVhZF9ob3N0c2ZpbGUoSE9TVFNGSUxFLCBvcHRzLCBidWZmLCBkb21haW5fc3VmZml4LCAwKTsKKyAgICB0b3RhbF9zaXplID0gcmVhZF9ob3N0c2ZpbGUoSE9TVFNGSUxFLCBvcHRzLCBidWZmLCBkb21haW5fc3VmZml4LCAwLCB0b3RhbF9zaXplKTsKICAgd2hpbGUgKGFkZG5faG9zdHMpCiAgICAgewotICAgICAgcmVhZF9ob3N0c2ZpbGUoYWRkbl9ob3N0cy0+Zm5hbWUsIG9wdHMsIGJ1ZmYsIGRvbWFpbl9zdWZmaXgsIGFkZG5faG9zdHMtPmluZGV4KTsKKyAgICAgIHRvdGFsX3NpemUgPSByZWFkX2hvc3RzZmlsZShhZGRuX2hvc3RzLT5mbmFtZSwgb3B0cywgYnVmZiwgZG9tYWluX3N1ZmZpeCwgYWRkbl9ob3N0cy0+aW5kZXgsIHRvdGFsX3NpemUpOwogICAgICAgYWRkbl9ob3N0cyA9IGFkZG5faG9zdHMtPm5leHQ7CiAgICAgfSAgCiB9IApkaWZmIC0tZ2l0IGEvc3JjL2NvbmZpZy5oIGIvc3JjL2NvbmZpZy5oCmluZGV4IDUwYzhlNDAuLmFhNTAzZjMgMTAwNjQ0Ci0tLSBhL3NyYy9jb25maWcuaAorKysgYi9zcmMvY29uZmlnLmgKQEAgLTEwLDcgKzEwLDcgQEAKICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqLwogCi0jZGVmaW5lIFZFUlNJT04gIjIuMzQiCisjZGVmaW5lIFZFUlNJT04gIjIuMzUiCiAKICNkZWZpbmUgRlRBQlNJWiAxNTAgLyogbWF4IG51bWJlciBvZiBvdXRzdGFuZGluZyByZXF1ZXN0cyAoZGVmYXVsdCkgKi8KICNkZWZpbmUgTUFYX1BST0NTIDIwIC8qIG1heCBubyBjaGlsZHJlbiBmb3IgVENQIHJlcXVlc3RzICovCkBAIC0zMyw3ICszMyw3IEBACiAjICBkZWZpbmUgUkVTT0xWRklMRSAiL2V0Yy9yZXNvbHYuY29uZiIKICNlbmRpZgogI2RlZmluZSBSVU5GSUxFICIvdmFyL3J1bi9kbnNtYXNxLnBpZCIKLSNpZiBkZWZpbmVkKF9fRnJlZUJTRF9fKSB8fCBkZWZpbmVkIChfX09wZW5CU0RfXykKKyNpZiBkZWZpbmVkKF9fRnJlZUJTRF9fKSB8fCBkZWZpbmVkIChfX09wZW5CU0RfXykgfHwgZGVmaW5lZChfX0RyYWdvbkZseV9fKQogIyAgIGRlZmluZSBMRUFTRUZJTEUgIi92YXIvZGIvZG5zbWFzcS5sZWFzZXMiCiAjZWxzZQogIyAgIGRlZmluZSBMRUFTRUZJTEUgIi92YXIvbGliL21pc2MvZG5zbWFzcS5sZWFzZXMiCkBAIC0yMTYsNyArMjE2LDcgQEAKICMgICBkZWZpbmUgSEFWRV9CUk9LRU5fU09DS0FERFJfSU42CiAjZW5kaWYKIAotI2VsaWYgZGVmaW5lZChfX0ZyZWVCU0RfXykgfHwgZGVmaW5lZChfX09wZW5CU0RfXykKKyNlbGlmIGRlZmluZWQoX19GcmVlQlNEX18pIHx8IGRlZmluZWQoX19PcGVuQlNEX18pIHx8IGRlZmluZWQoX19EcmFnb25GbHlfXykKICN1bmRlZiBIQVZFX0xJTlVYX05FVFdPUksKIC8qIExhdGVyIHZlcmlvbnMgb2YgRnJlZUJTRCBoYXZlIGdldG9wdF9sb25nKCkgKi8KICNpZiBkZWZpbmVkKG9wdGlvbmFsX2FyZ3VtZW50KSAmJiBkZWZpbmVkKHJlcXVpcmVkX2FyZ3VtZW50KQpkaWZmIC0tZ2l0IGEvc3JjL2RoY3AuYyBiL3NyYy9kaGNwLmMKaW5kZXggNzIwNjdiZC4uZWZiNDhkZSAxMDA2NDQKLS0tIGEvc3JjL2RoY3AuYworKysgYi9zcmMvZGhjcC5jCkBAIC0zMSw3ICszMSw3IEBACiAgIGlmIChmZCA9PSAtMSkKICAgICBkaWUgKF8oImNhbm5vdCBjcmVhdGUgREhDUCBzb2NrZXQgOiAlcyIpLCBOVUxMKTsKICAgCi0gIGlmICghZml4X2ZkKGZkKSB8fAorICBpZiAoIWZpeF9mZChmZCkgfHwgCiAjaWYgZGVmaW5lZChIQVZFX0xJTlVYX05FVFdPUkspCiAgICAgICBzZXRzb2Nrb3B0KGZkLCBTT0xfSVAsIElQX1BLVElORk8sICZvbmVvcHQsIHNpemVvZihvbmVvcHQpKSA9PSAtMSB8fAogI2VsaWYgZGVmaW5lZChJUF9SRUNWSUYpCkBAIC00MSwxMSArNDEsMjQgQEAKICAgICBkaWUoXygiZmFpbGVkIHRvIHNldCBvcHRpb25zIG9uIERIQ1Agc29ja2V0OiAlcyIpLCBOVUxMKTsKICAgCiAgIC8qIFdoZW4gYmluZC1pbnRlcmZhY2VzIGlzIHNldCwgdGhlcmUgbWlnaHQgYmUgbW9yZSB0aGFuIG9uZSBkbm1zYXNxCi0gICAgIGluc3RhbmNlIGJpbmRpbmcgcG9ydCA2Ny4gVGhhdCdzIE9rIGlmIHRoZXkgc2VydmUgZGlmZmVyZW50IG5ldHdvcmtzLgotICAgICBOZWVkIHRvIHNldCBSRVVTRUFERFIgdG8gbWFrZSB0aGlzIHBvc2libGUuICovCi0gIGlmICgoZGFlbW9uLT5vcHRpb25zICYgT1BUX05PV0lMRCkgJiYKLSAgICAgIHNldHNvY2tvcHQoZmQsIFNPTF9TT0NLRVQsIFNPX1JFVVNFQUREUiwgJm9uZW9wdCwgc2l6ZW9mKG9uZW9wdCkpID09IC0xKQotICAgIGRpZShfKCJmYWlsZWQgdG8gc2V0IFNPX1JFVVNFQUREUiBvbiBESENQIHNvY2tldDogJXMiKSwgTlVMTCk7CisgICAgIGluc3RhbmNlIGJpbmRpbmcgcG9ydCA2Ny4gVGhhdCdzIE9LIGlmIHRoZXkgc2VydmUgZGlmZmVyZW50IG5ldHdvcmtzLgorICAgICBOZWVkIHRvIHNldCBSRVVTRUFERFIgdG8gbWFrZSB0aGlzIHBvc2libGUsIG9yIFJFVVNFUE9SVCBvbiAqQlNELgorICAgICBPcGVuQlNEIDw9IDQuMCBzY3Jld3MgdXAgSVBfUkVDVklGIHdoZW4gU09fUkVVU0VQT1JUIGlzIHNldCwgYnV0CisgICAgIE9wZW5CU0QgPD0gMy45IGRvZXNuJ3QgaGF2ZSBJUF9SRUNWSUYgYW55d2F5LCBzbyB3ZSBqdXN0IGhhdmUgdG8gZWxpZGUKKyAgICAgdGhpcyBmb3IgT3BlbkJTRCA0LjAsIGlmIHlvdSB3YW50IG1vcmUgdGhhbiBvbmUgaW5zdGFuY2Ugb24gb0JTRDQuMCwgdG91Z2guICovCisKKyNpZm5kZWYgT3BlbkJTRDRfMAorICBpZiAoZGFlbW9uLT5vcHRpb25zICYgT1BUX05PV0lMRCkKKyAgICB7CisjaWZkZWYgU09fUkVVU0VQT1JUCisgICAgICBpbnQgcmMgPSBzZXRzb2Nrb3B0KGZkLCBTT0xfU09DS0VULCBTT19SRVVTRVBPUlQsICZvbmVvcHQsIHNpemVvZihvbmVvcHQpKTsKKyNlbHNlCisgICAgICBpbnQgcmMgPSBzZXRzb2Nrb3B0KGZkLCBTT0xfU09DS0VULCBTT19SRVVTRUFERFIsICZvbmVvcHQsIHNpemVvZihvbmVvcHQpKTsKKyNlbmRpZgorICAgICAgaWYgKHJjID09IC0xKQorCWRpZShfKCJmYWlsZWQgdG8gc2V0IFNPX1JFVVNFe0FERFJ8UE9SVH0gb24gREhDUCBzb2NrZXQ6ICVzIiksIE5VTEwpOworICAgIH0KKyNlbmRpZgogICAKICAgbWVtc2V0KCZzYWRkciwgMCwgc2l6ZW9mKHNhZGRyKSk7CiAgIHNhZGRyLnNpbl9mYW1pbHkgPSBBRl9JTkVUOwpAQCAtMTE2LDggKzEyOSw4IEBACiAjZW5kaWYKICAgfSBjb250cm9sX3U7CiAgIAotICBtc2cubXNnX2NvbnRyb2wgPSBjb250cm9sX3UuY29udHJvbDsKLSAgbXNnLm1zZ19jb250cm9sbGVuID0gc2l6ZW9mKGNvbnRyb2xfdSk7CisgIG1zZy5tc2dfY29udHJvbCA9IE5VTEw7CisgIG1zZy5tc2dfY29udHJvbGxlbiA9IDA7CiAgIG1zZy5tc2dfbmFtZSA9IE5VTEw7CiAgIG1zZy5tc2dfbmFtZWxlbiA9IDA7CiAgIG1zZy5tc2dfaW92ID0gJmRhZW1vbi0+ZGhjcF9wYWNrZXQ7CkBAIC0xMzQsNDIgKzE0Nyw0OCBAQAogICAvKiBleHBhbmRfYnVmIG1heSBoYXZlIG1vdmVkIGJ1ZmZlciAqLwogICBtZXNzID0gZGFlbW9uLT5kaGNwX3BhY2tldC5pb3ZfYmFzZTsKICAgbXNnLm1zZ19jb250cm9sbGVuID0gc2l6ZW9mKGNvbnRyb2xfdSk7CisgIG1zZy5tc2dfY29udHJvbCA9IGNvbnRyb2xfdS5jb250cm9sOwogICBtc2cubXNnX2ZsYWdzID0gMDsKICAgbXNnLm1zZ19uYW1lID0gJmRlc3Q7CiAgIG1zZy5tc2dfbmFtZWxlbiA9IHNpemVvZihkZXN0KTsKIAogICB3aGlsZSAoKHN6ID0gcmVjdm1zZyhkYWVtb24tPmRoY3BmZCwgJm1zZywgMCkpID09IC0xICYmIGVycm5vID09IEVJTlRSKTsKICAKLSAgaWYgKChtc2cubXNnX2ZsYWdzICYgTVNHX1RSVU5DKSB8fAotICAgICAgc3ogPCAoc3NpemVfdCkoc2l6ZW9mKCptZXNzKSAtIHNpemVvZihtZXNzLT5vcHRpb25zKSkpCisgIGlmIChzeiA8IChzc2l6ZV90KShzaXplb2YoKm1lc3MpIC0gc2l6ZW9mKG1lc3MtPm9wdGlvbnMpKSkKICAgICByZXR1cm47CiAgIAogI2lmIGRlZmluZWQgKEhBVkVfTElOVVhfTkVUV09SSykKLSAgaWYgKG1zZy5tc2dfY29udHJvbGxlbiA8IHNpemVvZihzdHJ1Y3QgY21zZ2hkcikpCi0gICAgcmV0dXJuOwotICBmb3IgKGNtcHRyID0gQ01TR19GSVJTVEhEUigmbXNnKTsgY21wdHI7IGNtcHRyID0gQ01TR19OWFRIRFIoJm1zZywgY21wdHIpKQotICAgIGlmIChjbXB0ci0+Y21zZ19sZXZlbCA9PSBTT0xfSVAgJiYgY21wdHItPmNtc2dfdHlwZSA9PSBJUF9QS1RJTkZPKQotICAgICAgewotCWlmYWNlX2luZGV4ID0gKChzdHJ1Y3QgaW5fcGt0aW5mbyAqKUNNU0dfREFUQShjbXB0cikpLT5pcGlfaWZpbmRleDsKLQlpZiAoKChzdHJ1Y3QgaW5fcGt0aW5mbyAqKUNNU0dfREFUQShjbXB0cikpLT5pcGlfYWRkci5zX2FkZHIgIT0gSU5BRERSX0JST0FEQ0FTVCkKLQkgIHVuaWNhc3RfZGVzdCA9IDE7Ci0gICAgICB9Ci0KKyAgaWYgKG1zZy5tc2dfY29udHJvbGxlbiA+PSBzaXplb2Yoc3RydWN0IGNtc2doZHIpKQorICAgIGZvciAoY21wdHIgPSBDTVNHX0ZJUlNUSERSKCZtc2cpOyBjbXB0cjsgY21wdHIgPSBDTVNHX05YVEhEUigmbXNnLCBjbXB0cikpCisgICAgICBpZiAoY21wdHItPmNtc2dfbGV2ZWwgPT0gU09MX0lQICYmIGNtcHRyLT5jbXNnX3R5cGUgPT0gSVBfUEtUSU5GTykKKwl7CisJICBpZmFjZV9pbmRleCA9ICgoc3RydWN0IGluX3BrdGluZm8gKilDTVNHX0RBVEEoY21wdHIpKS0+aXBpX2lmaW5kZXg7CisJICBpZiAoKChzdHJ1Y3QgaW5fcGt0aW5mbyAqKUNNU0dfREFUQShjbXB0cikpLT5pcGlfYWRkci5zX2FkZHIgIT0gSU5BRERSX0JST0FEQ0FTVCkKKwkgICAgdW5pY2FzdF9kZXN0ID0gMTsKKwl9CisgIAogICBpZiAoIShpZnIuaWZyX2lmaW5kZXggPSBpZmFjZV9pbmRleCkgfHwgCiAgICAgICBpb2N0bChkYWVtb24tPmRoY3BmZCwgU0lPQ0dJRk5BTUUsICZpZnIpID09IC0xKQogICAgIHJldHVybjsKICAgCiAjZWxpZiBkZWZpbmVkKElQX1JFQ1ZJRikKLSAgaWYgKG1zZy5tc2dfY29udHJvbGxlbiA8IHNpemVvZihzdHJ1Y3QgY21zZ2hkcikpCi0gICAgcmV0dXJuOwotICBmb3IgKGNtcHRyID0gQ01TR19GSVJTVEhEUigmbXNnKTsgY21wdHI7IGNtcHRyID0gQ01TR19OWFRIRFIoJm1zZywgY21wdHIpKQotICAgIGlmIChjbXB0ci0+Y21zZ19sZXZlbCA9PSBJUFBST1RPX0lQICYmIGNtcHRyLT5jbXNnX3R5cGUgPT0gSVBfUkVDVklGKQotICAgICAgaWZhY2VfaW5kZXggPSAoKHN0cnVjdCBzb2NrYWRkcl9kbCAqKUNNU0dfREFUQShjbXB0cikpLT5zZGxfaW5kZXg7Ci0KKyAgaWYgKG1zZy5tc2dfY29udHJvbGxlbiA+PSBzaXplb2Yoc3RydWN0IGNtc2doZHIpKQorICAgIGZvciAoY21wdHIgPSBDTVNHX0ZJUlNUSERSKCZtc2cpOyBjbXB0cjsgY21wdHIgPSBDTVNHX05YVEhEUigmbXNnLCBjbXB0cikpCisgICAgICBpZiAoY21wdHItPmNtc2dfbGV2ZWwgPT0gSVBQUk9UT19JUCAmJiBjbXB0ci0+Y21zZ190eXBlID09IElQX1JFQ1ZJRikKKwlpZmFjZV9pbmRleCA9ICgoc3RydWN0IHNvY2thZGRyX2RsICopQ01TR19EQVRBKGNtcHRyKSktPnNkbF9pbmRleDsKKyAgCiAgIGlmICghaWZhY2VfaW5kZXggfHwgIWlmX2luZGV4dG9uYW1lKGlmYWNlX2luZGV4LCBpZnIuaWZyX25hbWUpKQogICAgIHJldHVybjsKLQorICAKKyNpZmRlZiBNU0dfQkNBU1QKKyAgLyogT3BlbkJTRCB0ZWxscyB1cyB3aGVuIGEgcGFja2V0IHdhcyBicm9hZGNhc3QgKi8KKyAgaWYgKCEobXNnLm1zZ19mbGFncyAmIE1TR19CQ0FTVCkpCisgICAgdW5pY2FzdF9kZXN0ID0gMTsKKyNlbmRpZgorIAogI2Vsc2UKKyAgLyogZmFsbGJhY2sgZm9yIHN5c3RlbXMgd2l0aG91dCBJUF9SRUNWSUYgLSBhbGxvdyBvbmx5IG9uZSBpbnRlcmZhY2UKKyAgICAgYW5kIGFzc3VtZSBwYWNrZXRzIGFycml2ZSBmcm9tIGl0IC0geXVrLiAqLwogICB7CiAgICAgc3RydWN0IGluYW1lICpuYW1lOwogICAgIGZvciAobmFtZSA9IGRhZW1vbi0+aWZfbmFtZXM7IG5hbWUtPmlzbG9vcDsgbmFtZSA9IG5hbWUtPm5leHQpOwpAQCAtMTc5LDcgKzE5OCw3IEBACiAjZW5kaWYKIAogICBpZnIuaWZyX2FkZHIuc2FfZmFtaWx5ID0gQUZfSU5FVDsKLSAgaWYgKGlvY3RsKGRhZW1vbi0+ZGhjcGZkLCBTSU9DR0lGQUREUiwgJmlmcikgPCAwICkKKyAgaWYgKGlvY3RsKGRhZW1vbi0+ZGhjcGZkLCBTSU9DR0lGQUREUiwgJmlmcikgPT0gLTEgKQogICAgIHJldHVybjsKICAgaWZhY2VfYWRkciA9ICgoc3RydWN0IHNvY2thZGRyX2luICopICZpZnIuaWZyX2FkZHIpLT5zaW5fYWRkcjsKIApkaWZmIC0tZ2l0IGEvc3JjL2hlbHBlci5jIGIvc3JjL2hlbHBlci5jCmluZGV4IDE1ZWU5MWIuLjBlODUzODAgMTAwNjQ0Ci0tLSBhL3NyYy9oZWxwZXIuYworKysgYi9zcmMvaGVscGVyLmMKQEAgLTIzMCwxMyArMjMwLDEwIEBACiAgIGlmIChkYWVtb24tPmhlbHBlcmZkID09IC0xKQogICAgIHJldHVybjsKIAotICBpZiAoYWN0aW9uID09IEFDVElPTl9BREQpCi0gICAgewotICAgICAgaWYgKGxlYXNlLT52ZW5kb3JjbGFzcykKLQl2Y2xhc3NfbGVuID0gbGVhc2UtPnZlbmRvcmNsYXNzX2xlbjsKLSAgICAgIGlmIChsZWFzZS0+dXNlcmNsYXNzKQotCXVjbGFzc19sZW4gPSBsZWFzZS0+dXNlcmNsYXNzX2xlbjsKLSAgICB9CisgIGlmIChsZWFzZS0+dmVuZG9yY2xhc3MpCisgICAgdmNsYXNzX2xlbiA9IGxlYXNlLT52ZW5kb3JjbGFzc19sZW47CisgIGlmIChsZWFzZS0+dXNlcmNsYXNzKQorICAgIHVjbGFzc19sZW4gPSBsZWFzZS0+dXNlcmNsYXNzX2xlbjsKICAgaWYgKGxlYXNlLT5jbGlkKQogICAgIGNsaWRfbGVuID0gbGVhc2UtPmNsaWRfbGVuOwogICBpZiAoaG9zdG5hbWUpCmRpZmYgLS1naXQgYS9zcmMvcmZjMjEzMS5jIGIvc3JjL3JmYzIxMzEuYwppbmRleCAzZWM0YmMxLi42YmViZDJjIDEwMDY0NAotLS0gYS9zcmMvcmZjMjEzMS5jCisrKyBiL3NyYy9yZmMyMTMxLmMKQEAgLTk1LDcgKzk1LDcgQEAKICAgc3RydWN0IGRoY3BfdmVuZG9yICp2ZW5kb3I7CiAgIHN0cnVjdCBkaGNwX21hYyAqbWFjOwogICBzdHJ1Y3QgZGhjcF9uZXRpZF9saXN0ICppZF9saXN0OwotICBpbnQgY2xpZF9sZW4gPSAwLCBpZ25vcmUgPSAwOworICBpbnQgY2xpZF9sZW4gPSAwLCBpZ25vcmUgPSAwLCBkb19jbGFzc2VzID0gMDsKICAgc3RydWN0IGRoY3BfcGFja2V0ICptZXNzID0gZGFlbW9uLT5kaGNwX3BhY2tldC5pb3ZfYmFzZTsKICAgdW5zaWduZWQgY2hhciAqcCwgKmVuZCA9ICh1bnNpZ25lZCBjaGFyICopKG1lc3MgKyAxKTsKICAgY2hhciAqaG9zdG5hbWUgPSBOVUxMLCAqb2ZmZXJfaG9zdG5hbWUgPSBOVUxMLCAqY2xpZW50X2hvc3RuYW1lID0gTlVMTDsKQEAgLTY2OSw2ICs2NjksOSBAQAogCSAgLyogU0VMRUNUSU5HICBvciBJTklUX1JFQk9PVCAqLwogCSAgbWVzcy0+eWlhZGRyID0gb3B0aW9uX2FkZHIob3B0KTsKIAkgIAorCSAgLyogc2VuZCB2ZW5kb3IgYW5kIHVzZXIgY2xhc3MgaW5mbyBmb3IgbmV3IG9yIHJlY3JlYXRlZCBsZWFzZSAqLworCSAgZG9fY2xhc3NlcyA9IDE7CisJICAKIAkgIGlmICgob3B0ID0gb3B0aW9uX2ZpbmQobWVzcywgc3osIE9QVElPTl9TRVJWRVJfSURFTlRJRklFUiwgSU5BRERSU1opKSkKIAkgICAgewogCSAgICAgIC8qIFNFTEVDVElORyAqLwpAQCAtNzYzLDM3ICs3NjYsMTAgQEAKIAkgIAogCSAgZWxzZSBpZiAoIWxlYXNlKQogCSAgICB7CSAgICAgCi0JICAgICAgaWYgKCEobGVhc2UgPSBsZWFzZV9hbGxvY2F0ZShtZXNzLT55aWFkZHIpKSkKLQkJbWVzc2FnZSA9IF8oIm5vIGxlYXNlcyBsZWZ0Iik7CisJICAgICAgaWYgKChsZWFzZSA9IGxlYXNlX2FsbG9jYXRlKG1lc3MtPnlpYWRkcikpKQorCQlkb19jbGFzc2VzID0gMTsKIAkgICAgICBlbHNlCi0JCXsKLQkJICAvKiBjb3B5IHVzZXItY2xhc3MgYW5kIHZlbmRvciBjbGFzcyBpbnRvIG5ldyBsZWFzZSwgZm9yIHRoZSBzY3JpcHQgKi8KLQkJICBpZiAoKG9wdCA9IG9wdGlvbl9maW5kKG1lc3MsIHN6LCBPUFRJT05fVVNFUl9DTEFTUywgMSkpKQotCQkgICAgewotCQkgICAgICBpbnQgbGVuID0gb3B0aW9uX2xlbihvcHQpOwotCQkgICAgICB1bnNpZ25lZCBjaGFyICp1Y3AgPSBvcHRpb25fcHRyKG9wdCk7Ci0JCSAgICAgIC8qIElmIHRoZSB1c2VyLWNsYXNzIG9wdGlvbiBzdGFydGVkIGFzIGNvdW50ZWQgc3RyaW5ncywgdGhlIGZpcnN0IGJ5dGUgd2lsbCBiZSB6ZXJvLiAqLwotCQkgICAgICBpZiAobGVuICE9IDAgJiYgdWNwWzBdID09IDApCi0JCQl1Y3ArKywgbGVuLS07Ci0JCSAgICAgIGlmICgobGVhc2UtPnVzZXJjbGFzcyA9IG1hbGxvYyhsZW4rMSkpKQotCQkJewotCQkJICBtZW1jcHkobGVhc2UtPnVzZXJjbGFzcywgdWNwLCBsZW4pOwotCQkJICBsZWFzZS0+dXNlcmNsYXNzW2xlbl0gPSAwOwotCQkJICBsZWFzZS0+dXNlcmNsYXNzX2xlbiA9IGxlbisxOwotCQkJfQotCQkgICAgfQotCQkgIGlmICgob3B0ID0gb3B0aW9uX2ZpbmQobWVzcywgc3osIE9QVElPTl9WRU5ET1JfSUQsIDEpKSkKLQkJICAgIHsKLQkJICAgICAgaW50IGxlbiA9IG9wdGlvbl9sZW4ob3B0KTsKLQkJICAgICAgdW5zaWduZWQgY2hhciAqdWNwID0gb3B0aW9uX3B0cihvcHQpOwotCQkgICAgICBpZiAoKGxlYXNlLT52ZW5kb3JjbGFzcyA9IG1hbGxvYyhsZW4rMSkpKQotCQkJewotCQkJICBtZW1jcHkobGVhc2UtPnZlbmRvcmNsYXNzLCB1Y3AsIGxlbik7Ci0JCQkgIGxlYXNlLT52ZW5kb3JjbGFzc1tsZW5dID0gMDsKLQkJCSAgbGVhc2UtPnZlbmRvcmNsYXNzX2xlbiA9IGxlbisxOwotCQkJfQotCQkgICAgfQotCQl9ICAKKwkJbWVzc2FnZSA9IF8oIm5vIGxlYXNlcyBsZWZ0Iik7CiAJICAgIH0KIAl9CiAKQEAgLTgxOCw4ICs3OTQsNDMgQEAKIAl9CiAgICAgICBlbHNlCiAJewotCSAgaWYgKCFob3N0bmFtZV9hdXRoICYmIChjbGllbnRfaG9zdG5hbWUgPSBob3N0X2Zyb21fZG5zKGRhZW1vbiwgbWVzcy0+eWlhZGRyKSkpCi0JICAgIHsKKwkgICBpZiAoZG9fY2xhc3NlcykKKwkgICAgIHsKKwkgICAgICAgbGVhc2UtPmNoYW5nZWQgPSAxOworCSAgICAgICAvKiBjb3B5IHVzZXItY2xhc3MgYW5kIHZlbmRvciBjbGFzcyBpbnRvIG5ldyBsZWFzZSwgZm9yIHRoZSBzY3JpcHQgKi8KKwkgICAgICAgaWYgKChvcHQgPSBvcHRpb25fZmluZChtZXNzLCBzeiwgT1BUSU9OX1VTRVJfQ0xBU1MsIDEpKSkKKwkJIHsKKwkJICAgaW50IGxlbiA9IG9wdGlvbl9sZW4ob3B0KTsKKwkJICAgdW5zaWduZWQgY2hhciAqdWNwID0gb3B0aW9uX3B0cihvcHQpOworCQkgICAvKiBJZiB0aGUgdXNlci1jbGFzcyBvcHRpb24gc3RhcnRlZCBhcyBjb3VudGVkIHN0cmluZ3MsIHRoZSBmaXJzdCBieXRlIHdpbGwgYmUgemVyby4gKi8KKwkJICAgaWYgKGxlbiAhPSAwICYmIHVjcFswXSA9PSAwKQorCQkgICAgIHVjcCsrLCBsZW4tLTsKKwkJICAgaWYgKGxlYXNlLT51c2VyY2xhc3MpCisJCSAgICAgZnJlZShsZWFzZS0+dXNlcmNsYXNzKTsKKwkJICAgaWYgKChsZWFzZS0+dXNlcmNsYXNzID0gbWFsbG9jKGxlbisxKSkpCisJCSAgICAgeworCQkgICAgICAgbWVtY3B5KGxlYXNlLT51c2VyY2xhc3MsIHVjcCwgbGVuKTsKKwkJICAgICAgIGxlYXNlLT51c2VyY2xhc3NbbGVuXSA9IDA7CisJCSAgICAgICBsZWFzZS0+dXNlcmNsYXNzX2xlbiA9IGxlbisxOworCQkgICAgIH0KKwkJIH0KKwkgICAgICAgaWYgKChvcHQgPSBvcHRpb25fZmluZChtZXNzLCBzeiwgT1BUSU9OX1ZFTkRPUl9JRCwgMSkpKQorCQkgeworCQkgICBpbnQgbGVuID0gb3B0aW9uX2xlbihvcHQpOworCQkgICB1bnNpZ25lZCBjaGFyICp1Y3AgPSBvcHRpb25fcHRyKG9wdCk7CisJCSAgIGlmIChsZWFzZS0+dmVuZG9yY2xhc3MpCisJCSAgICAgZnJlZShsZWFzZS0+dmVuZG9yY2xhc3MpOworCQkgICBpZiAoKGxlYXNlLT52ZW5kb3JjbGFzcyA9IG1hbGxvYyhsZW4rMSkpKQorCQkgICAgIHsKKwkJICAgICAgIG1lbWNweShsZWFzZS0+dmVuZG9yY2xhc3MsIHVjcCwgbGVuKTsKKwkJICAgICAgIGxlYXNlLT52ZW5kb3JjbGFzc1tsZW5dID0gMDsKKwkJICAgICAgIGxlYXNlLT52ZW5kb3JjbGFzc19sZW4gPSBsZW4rMTsKKwkJICAgICB9CisJCSB9CisJICAgICB9CisJICAgCisJICAgaWYgKCFob3N0bmFtZV9hdXRoICYmIChjbGllbnRfaG9zdG5hbWUgPSBob3N0X2Zyb21fZG5zKGRhZW1vbiwgbWVzcy0+eWlhZGRyKSkpCisJICAgICB7CiAJICAgICAgaG9zdG5hbWUgPSBjbGllbnRfaG9zdG5hbWU7CiAJICAgICAgaG9zdG5hbWVfYXV0aCA9IDE7CiAJICAgIH0K