ZGlmZiAtLWdpdCBhL3J1bnRpbWUvYXV0b2xvYWQvbmV0cncudmltIGIvcnVudGltZS9hdXRvbG9hZC9uZXRydy52aW0KaW5kZXggYmQ1ODFiNi4uOThmNmM4YiAxMDA2NDQKLS0tIGEvcnVudGltZS9hdXRvbG9hZC9uZXRydy52aW0KKysrIGIvcnVudGltZS9hdXRvbG9hZC9uZXRydy52aW0KQEAgLTEsNyArMSw3IEBACiAiIG5ldHJ3LnZpbTogSGFuZGxlcyBmaWxlIHRyYW5zZmVyIGFuZCByZW1vdGUgZGlyZWN0b3J5IGxpc3RpbmcgYWNyb3NzIGEgbmV0d29yawogIiAgICAgICAgICAgIEFVVE9MT0FEIFBPUlRJT04KLSIgRGF0ZToJCUFwciAyNiwgMjAwNgotIiBWZXJzaW9uOgk5NAorIiBEYXRlOgkJQXByIDI4LCAyMDA2CisiIFZlcnNpb246CTk1CiAiIE1haW50YWluZXI6CUNoYXJsZXMgRSBDYW1wYmVsbCwgSnIgPGRyY2hpcE5PU1BBTSBhdCBjYW1wYmVsbGZhbWlseSBkb3QgYml6PgogIiBHZXRMYXRlc3RWaW1TY3JpcHRzOiAxMDc1IDEgOkF1dG9JbnN0YWxsOiBuZXRydy52aW0KICIgQ29weXJpZ2h0OiAgICBDb3B5cmlnaHQgKEMpIDE5OTktMjAwNSBDaGFybGVzIEUuIENhbXBiZWxsLCBKci4ge3t7MQpAQCAtMjMsNyArMjMsNyBAQAogaWYgJmNwIHx8IGV4aXN0cygiZzpsb2FkZWRfbmV0cnciKQogICBmaW5pc2gKIGVuZGlmCi1sZXQgZzpsb2FkZWRfbmV0cncgPSAidjk0IgorbGV0IGc6bG9hZGVkX25ldHJ3ID0gInY5NSIKIGlmIHY6dmVyc2lvbiA8IDcwMAogIGVjaG9obCBXYXJuaW5nTXNnIHwgZWNobyAiKioqbmV0cncqKiogeW91IG5lZWQgdmltIHZlcnNpb24gNy4wIG9yIGxhdGVyIGZvciB2ZXJzaW9uICIuZzpsb2FkZWRfbmV0cncuIiBvZiBuZXRydyIgfCBlY2hvaGwgTm9uZQogIGZpbmlzaApAQCAtMzIyLDcgKzMyMiw5IEBACiAKICAgIiBnZXQgbmFtZSBvZiBhIHRlbXBvcmFyeSBmaWxlIGFuZCBzZXQgdXAgc2hlbGwtcXVvdGluZyBjaGFyYWN0ZXIge3t7MwogICBsZXQgdG1wZmlsZT0gdGVtcG5hbWUoKQorIiAgY2FsbCBEZWNobygidG1wZmlsZTwiLnRtcGZpbGUuIj4iKQogICBsZXQgdG1wZmlsZT0gZXNjYXBlKHN1YnN0aXR1dGUodG1wZmlsZSwnXCcsJy8nLCdnZScpLGc6bmV0cndfdG1wZmlsZV9lc2NhcGUpCisiICBjYWxsIERlY2hvKCJ0bXBmaWxlPCIudG1wZmlsZS4iPiIpCiAgIGlmICFpc2RpcmVjdG9yeShzdWJzdGl0dXRlKHRtcGZpbGUsJ1teL11cKyQnLCcnLCdlJykpCiAgICBlY2hvaGwgRXJyb3IgfCBlY2hvICIqKipuZXRydyoqKiB5b3VyIDwiLnN1YnN0aXR1dGUodG1wZmlsZSwnW14vXVwrJCcsJycsJ2UnKS4iPiBkaXJlY3RvcnkgaXMgbWlzc2luZyEiIHwgZWNob2hsIE5vbmUKICAgIGNhbGwgaW5wdXRzYXZlKCl8Y2FsbCBpbnB1dCgiUHJlc3MgPGNyPiB0byBjb250aW51ZSIpfGNhbGwgaW5wdXRyZXN0b3JlKCkKQEAgLTgwNiw5ICs4MDgsMTIgQEAKICAgY2FsbCBzOk5ldE9wdGlvblNhdmUoKQogCiAgICIgR2V0IFRlbXBvcmFyeSBGaWxlbmFtZSB7e3szCi0gIGxldCB0bXBmaWxlPSBlc2NhcGUodGVtcG5hbWUoKSxnOm5ldHJ3X3RtcGZpbGVfZXNjYXBlKQorICBsZXQgdG1wZmlsZT0gdGVtcG5hbWUoKQorIiAgY2FsbCBEZWNobygidG1wZmlsZTwiLnRtcGZpbGUuIj4gKHJhdykiKQorICBsZXQgdG1wZmlsZT0gZXNjYXBlKHN1YnN0aXR1dGUodG1wZmlsZSwnXCcsJy8nLCdnZScpLGc6bmV0cndfdG1wZmlsZV9lc2NhcGUpCisiICBjYWxsIERlY2hvKCJ0bXBmaWxlPCIudG1wZmlsZS4iPiAoZXNjYXBlZCkiKQogICBpZiAhaXNkaXJlY3Rvcnkoc3Vic3RpdHV0ZSh0bXBmaWxlLCdbXi9dXCskJywnJywnZScpKQotICAgZWNob2hsIEVycm9yIHwgZWNobyAiKioqbmV0cncqKiogeW91ciAiLnN1YnN0aXR1dGUodG1wZmlsZSwnW14vXVwrJCcsJycsJ2UnKS4iIGRpcmVjdG9yeSBpcyBtaXNzaW5nISIKKyAgIGVjaG9obCBFcnJvciB8IGVjaG8gIioqKm5ldHJ3KioqIHlvdXIgPCIuc3Vic3RpdHV0ZSh0bXBmaWxlLCdbXi9dXCskJywnJywnZScpLiI+IGRpcmVjdG9yeSBpcyBtaXNzaW5nISIKICAgIGNhbGwgaW5wdXRzYXZlKCl8Y2FsbCBpbnB1dCgiUHJlc3MgPGNyPiB0byBjb250aW51ZSIpfGNhbGwgaW5wdXRyZXN0b3JlKCkKICIgICBjYWxsIERyZXQoIk5ldFdyaXRlIikKICAgIHJldHVybgpAQCAtMjAyMyw3ICsyMDI4LDEyIEBACiBmdW4hIHM6TmV0cndMaXN0SGlkZSgpCiAiICBjYWxsIERmdW5jKCJOZXRyd0xpc3RIaWRlKCkgaGlkZT0iLmc6bmV0cndfaGlkZS4iIGxpc3RoaWRlPCIuZzpuZXRyd19saXN0X2hpZGUuIj4iKQogCisgICIgZmluZCBhIGNoYXJhY3RlciBub3QgaW4gdGhlICJoaWRlIiBzdHJpbmcgdG8gdXNlZCBhcyBhIHNlcGFyYXRvcgorICAiIGZvciA6ZyBhbmQgOnYgY29tbWFuZHMKICAgbGV0IGxpc3RoaWRlPSBnOm5ldHJ3X2xpc3RfaGlkZQorICBsZXQgc2VwICAgICA9IHN0cnBhcnQoc3Vic3RpdHV0ZSgnfiFAIyQlXiYqe307Oiw8Lj4vP3xhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMTIzNDU2Nzg5MCcsJ1snLmVzY2FwZShsaXN0aGlkZSwnLV1eXCcpLiddJywnJywnZ2UnKSwxLDEpCisiICBjYWxsIERlY2hvKCJzZXA9Ii5zZXApCisKICAgd2hpbGUgbGlzdGhpZGUgIT0gIiIKICAgIGlmIGxpc3RoaWRlID1+ICcsJwogICAgIGxldCBoaWRlICAgICA9IHN1YnN0aXR1dGUobGlzdGhpZGUsJywuKiQnLCcnLCdlJykKQEAgLTIwMzYsMTQgKzIwNDYsMTYgQEAKICAgICIgUHJ1bmUgdGhlIGxpc3QgYnkgaGlkaW5nIGFueSBmaWxlcyB3aGljaCBtYXRjaAogICAgaWYgZzpuZXRyd19oaWRlID09IDEKICIgICAgY2FsbCBEZWNobygiaGlkaW5nPCIuaGlkZS4iPiBsaXN0aGlkZTwiLmxpc3RoaWRlLiI+IikKLSIgICAgY2FsbCBEZWNobygnZXhlIHNpbGVudCBrZWVwanVtcHMgJy53Om5ldHJ3X2Jhbm5lcmNudC4nLCRnficuaGlkZS4nfmQnKQotICAgIGV4ZSAnc2lsZW50IGtlZXBqdW1wcyAnLnc6bmV0cndfYmFubmVyY250LicsJGd+Jy5oaWRlLid+ZCcKKyAgICBleGUgJ3NpbGVudCBrZWVwanVtcHMgJy53Om5ldHJ3X2Jhbm5lcmNudC4nLCRnJy5zZXAuaGlkZS5zZXAuJ2QnCiAgICBlbHNlaWYgZzpuZXRyd19oaWRlID09IDIKICIgICAgY2FsbCBEZWNobygic2hvd2luZzwiLmhpZGUuIj4gbGlzdGhpZGU8Ii5saXN0aGlkZS4iPiIpCi0iICAgIGNhbGwgRGVjaG8oJ2V4ZSBzaWxlbnQga2VlcGp1bXBzICcudzpuZXRyd19iYW5uZXJjbnQuJywkdn4nLmhpZGUuJ35kJykKLSAgICBleGUgJ3NpbGVudCBrZWVwanVtcHMgJy53Om5ldHJ3X2Jhbm5lcmNudC4nLCR2ficuaGlkZS4nfmQnCisgICAgZXhlICdzaWxlbnQga2VlcGp1bXBzICcudzpuZXRyd19iYW5uZXJjbnQuJywkZycuc2VwLmhpZGUuc2VwLidzQF5AIC8tS0VFUC0vIEAnCiAgICBlbmRpZgogICBlbmR3aGlsZQorICBpZiBnOm5ldHJ3X2hpZGUgPT0gMgorICAgZXhlICdzaWxlbnQga2VlcGp1bXBzICcudzpuZXRyd19iYW5uZXJjbnQuJywkdkBeIC8tS0VFUC0vIEBkJworICAgZXhlICdzaWxlbnQga2VlcGp1bXBzICcudzpuZXRyd19iYW5uZXJjbnQuJywkc0BeXCUoIC8tS0VFUC0vIFwpXCtAQGUnCisgIGVuZGlmCiAKICIgIGNhbGwgRHJldCgiTmV0cndMaXN0SGlkZSIpCiBlbmRmdW4KQEAgLTI3NTksNyArMjc3MSw3IEBACiAiIERpckJyb3dzZTogc3VwcG9ydHMgbG9jYWwgZmlsZS9kaXJlY3RvcnkgYnJvd3Npbmcge3t7MgogZnVuISBuZXRydyNEaXJCcm93c2UoZGlybmFtZSkKICAgaWYgIWV4aXN0cygidzpuZXRyd19sb25nbGlzdCIpfGxldCB3Om5ldHJ3X2xvbmdsaXN0PSBnOm5ldHJ3X2xvbmdsaXN0fGVuZGlmCi0iICBjYWxsIERmdW5jKCJEaXJCcm93c2UoZGlybmFtZTwiLmE6ZGlybmFtZS4iPikgYnVmIyIuYnVmbnIoIiUiKS4iIHdpbm5yPSIud2lubnIoKS4iIHNvcnRieT0iLmc6bmV0cndfc29ydF9ieSkKKyIgIGNhbGwgRGZ1bmMoIkRpckJyb3dzZShkaXJuYW1lPCIuYTpkaXJuYW1lLiI+KSBidWYjIi5idWZucigiJSIpLiIgd2lubnI9Ii53aW5ucigpLiIgc29ydGJ5PSIuZzpuZXRyd19zb3J0X2J5LiIgaGlkZT0iLmc6bmV0cndfaGlkZSkKICIgIGNhbGwgRHJlZGlyKCJscyEiKQogCiAgIGlmIGV4aXN0cygiczpuZXRyd19za2lwYnJvd3NlIikKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL21vdGlvbi50eHQgYi9ydW50aW1lL2RvYy9tb3Rpb24udHh0CmluZGV4IGZhNjliOWUuLjViMDVkMTIgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL21vdGlvbi50eHQKKysrIGIvcnVudGltZS9kb2MvbW90aW9uLnR4dApAQCAtMSw0ICsxLDQgQEAKLSptb3Rpb24udHh0KiAgICBGb3IgVmltIHZlcnNpb24gNy4wZi4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAyNQorKm1vdGlvbi50eHQqICAgIEZvciBWaW0gdmVyc2lvbiA3LjBmLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDI4CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC02MjksOCArNjI5LDkgQEAKIGEnCQkJCQkJCSp2X2EnKiAqYScqCiBhYAkJCQkJCQkqdl9hYCogKmFgKgogCQkJImEgcXVvdGVkIHN0cmluZyIuICBTZWxlY3RzIHRoZSB0ZXh0IGZyb20gdGhlIHByZXZpb3VzCi0JCQlxdW90ZSB1bnRpbCB0aGUgbmV4dCBxdW90ZS4gIFRoZSAncXVvdGVlc2NhcGUnIGlzIHVzZWQKLQkJCXRvIHNraXAgZXNjYXBlZCBxdW90ZXMuCisJCQlxdW90ZSB1bnRpbCB0aGUgbmV4dCBxdW90ZS4gIFRoZSAncXVvdGVlc2NhcGUnIG9wdGlvbgorCQkJaXMgdXNlZCB0byBza2lwIGVzY2FwZWQgcXVvdGVzLgorCQkJT25seSB3b3JrcyB3aXRoaW4gb25lIGxpbmUuCiAJCQlXaGVuIHRoZSBjdXJzb3Igc3RhcnRzIG9uIGEgcXVvdGUsIFZpbSB3aWxsIGZpZ3VyZSBvdXQKIAkJCXdoaWNoIHF1b3RlIHBhaXJzIGZvcm0gYSBzdHJpbmcgYnkgc2VhcmNoaW5nIGZyb20gdGhlCiAJCQlzdGFydCBvZiB0aGUgbGluZS4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3BpX25ldHJ3LnR4dCBiL3J1bnRpbWUvZG9jL3BpX25ldHJ3LnR4dAppbmRleCA0Yzc0YTVkLi5hODNjYWFmIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9waV9uZXRydy50eHQKKysrIGIvcnVudGltZS9kb2MvcGlfbmV0cncudHh0CkBAIC0xLDQgKzEsNCBAQAotKnBpX25ldHJ3LnR4dCogIEZvciBWaW0gdmVyc2lvbiA3LjBmLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDI2CisqcGlfbmV0cncudHh0KiAgRm9yIFZpbSB2ZXJzaW9uIDcuMGYuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMjgKIAogCQlWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBDaGFybGVzIEUuIENhbXBiZWxsLCBKci4KIApAQCAtMTQ3Myw2ICsxNDczLDEyIEBACiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIDExLiBIaXN0b3J5CQkJCQkJKm5ldHJ3LWhpc3RvcnkqIHt7ezEKIAorCXY5NTogKiBidWdmaXggLSBIaWRpbmcgbW9kZSB3b3JrZWQgY29ycmVjdGx5IChkb24ndCBzaG93IGFueSBmaWxlCisJICAgICAgIG1hdGNoaW5nIGFueSBvZiB0aGUgZzpuZXRyd19oaWRlIHBhdHRlcm5zKSwgYnV0CisJICAgICAgIGJ1dCBzaG93aW5nIG1vZGUgd2FzIHNob3dpbmcgb25seSB0aG9zZSBmaWxlcyB0aGF0IGRpZG4ndAorCSAgICAgICBtYXRjaCBhbnkgb2YgdGhlIGc6bmV0cndfaGlkZSBwYXR0ZXJucy4gIEluc3RlYWQsIGl0IG5vdworCSAgICAgICBzaG93cyBhbGwgZmlsZXMgdGhhdCBtYXRjaCBhbnkgb2YgdGhlIGc6bmV0cndfaGlkZSBwYXR0ZXJucworCSAgICAgICAodGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBhIGxvZ2ljYWwgYW5kIGFuZCBsb2dpY2FsIG9yKS4KIAl2OTQ6ICogYnVnZml4IC0gYSBEZWNobygpIGhhZCBhIG1pc3NpbmcgcXVvdGU7IG9ubHkgYWZmZWN0cyB0aGluZ3MKIAkgICAgICAgd2hlbiBkZWJ1Z2dpbmcgd2FzIGVuYWJsZWQuCiAJdjkzOiAqIGJ1Z2ZpeCAtIHJlbW92ZWQgRm9jdXNHYWluZWQgZXZlbnQgZnJvbSBjYXVzaW5nIGEgc2xvdy1icm93c2VyCmRpZmYgLS1naXQgYS9zcmMvTWFrZWZpbGUgYi9zcmMvTWFrZWZpbGUKaW5kZXggNTg1MzQ5Yi4uODU3MjU1MSAxMDA2NDQKLS0tIGEvc3JjL01ha2VmaWxlCisrKyBiL3NyYy9NYWtlZmlsZQpAQCAtMTcxOSw2ICsxNzE5LDkgQEAKIAktaWYgdGVzdCAtbiAiJChNQUtFTU8pIiAtYSAtZiAkKFBPRElSKS9NYWtlZmlsZTsgdGhlbiBcCiAJCWNkICQoUE9ESVIpOyAkKE1BS0UpIC1mIE1ha2VmaWxlIGNoZWNrIFZJTT0uLi8kKFZJTVRBUkdFVCk7IFwKIAlmaQorCS1pZiB0ZXN0ICQoVklNVEFSR0VUKSAhPSB2aW0gLWEgISAtZSB2aW07IHRoZW4gXAorCQlsbiAtcyAkKFZJTVRBUkdFVCkgdmltOyBcCisJZmkKIAljZCB0ZXN0ZGlyOyAkKE1BS0UpIC1mIE1ha2VmaWxlICQoR1VJX1RFU1RUQVJHRVQpIFZJTVBST0c9Li4vJChWSU1UQVJHRVQpICQoR1VJX1RFU1RBUkcpCiAKIHRlc3RjbGVhbjoKQEAgLTIxNDgsNyArMjE1MSw3IEBACiAjIENsZWFuIHVwIGFsbCB0aGUgZmlsZXMgdGhhdCBoYXZlIGJlZW4gcHJvZHVjZWQsIGV4Y2VwdCBjb25maWd1cmUncy4KICMgV2Ugc3VwcG9ydCBjb21tb24gdHlwaW5nIG1pc3Rha2VzIGZvciBKdWVyZ2VuISA6LSkKIGNsZWFuIGNlbGFuOiB0ZXN0Y2xlYW4KLQktcm0gLWYgKi5vIG9iamVjdHMvKiBjb3JlICQoVklNVEFSR0VUKS5jb3JlICQoVklNVEFSR0VUKSB4eGQvKi5vCisJLXJtIC1mICoubyBvYmplY3RzLyogY29yZSAkKFZJTVRBUkdFVCkuY29yZSAkKFZJTVRBUkdFVCkgdmltIHh4ZC8qLm8KIAktcm0gLWYgJChUT09MUykgYXV0by9vc2RlZi5oIGF1dG8vcGF0aGRlZi5jIGF1dG8vaWZfcGVybC5jCiAJLXJtIC1mIGNvbmZ0ZXN0KiAqfiBhdXRvL2xpbmsuc2VkCiAJLXJtIC1yZiAkKEFQUERJUikKZGlmZiAtLWdpdCBhL3NyYy9leF9nZXRsbi5jIGIvc3JjL2V4X2dldGxuLmMKaW5kZXggY2U0OGI2Ny4uMzc2Y2JjYyAxMDA2NDQKLS0tIGEvc3JjL2V4X2dldGxuLmMKKysrIGIvc3JjL2V4X2dldGxuLmMKQEAgLTI4NDEsNiArMjg0MSwzOCBAQAogICAgIHByZXZfY2NsaW5lID0gKmNjcDsKIH0KIAorI2lmIGRlZmluZWQoRkVBVF9FVkFMKSB8fCBkZWZpbmVkKFBST1RPKQorLyoKKyAqIFNhdmUgdGhlIGNvbW1hbmQgbGluZSBpbnRvIGFsbG9jYXRlZCBtZW1vcnkuICBSZXR1cm5zIGEgcG9pbnRlciB0byBiZQorICogcGFzc2VkIHRvIHJlc3RvcmVfY21kbGluZV9hbGxvYygpIGxhdGVyLgorICogUmV0dXJucyBOVUxMIHdoZW4gZmFpbGVkLgorICovCisgICAgY2hhcl91ICoKK3NhdmVfY21kbGluZV9hbGxvYygpCit7CisgICAgc3RydWN0IGNtZGxpbmVfaW5mbyAqcDsKKworICAgIHAgPSAoc3RydWN0IGNtZGxpbmVfaW5mbyAqKWFsbG9jKCh1bnNpZ25lZClzaXplb2Yoc3RydWN0IGNtZGxpbmVfaW5mbykpOworICAgIGlmIChwICE9IE5VTEwpCisJc2F2ZV9jbWRsaW5lKHApOworICAgIHJldHVybiAoY2hhcl91ICopcDsKK30KKworLyoKKyAqIFJlc3RvcmUgdGhlIGNvbW1hbmQgbGluZSBmcm9tIHRoZSByZXR1cm4gdmFsdWUgb2Ygc2F2ZV9jbWRsaW5lX2FsbG9jKCkuCisgKi8KKyAgICB2b2lkCityZXN0b3JlX2NtZGxpbmVfYWxsb2MocCkKKyAgICBjaGFyX3UgICpwOworeworICAgIGlmIChwICE9IE5VTEwpCisgICAgeworCXJlc3RvcmVfY21kbGluZSgoc3RydWN0IGNtZGxpbmVfaW5mbyAqKXApOworCXZpbV9mcmVlKHApOworICAgIH0KK30KKyNlbmRpZgorCiAvKgogICogcGFzdGUgYSB5YW5rIHJlZ2lzdGVyIGludG8gdGhlIGNvbW1hbmQgbGluZS4KICAqIHVzZWQgYnkgQ1RSTC1SIGNvbW1hbmQgaW4gY29tbWFuZC1saW5lIG1vZGUKZGlmZiAtLWdpdCBhL3NyYy9wby9wbC5jcDEyNTAucG8gYi9zcmMvcG8vcGwuY3AxMjUwLnBvCmluZGV4IDA2MzFhYzQuLmUxMGU3NDUgMTAwNjQ0Ci0tLSBhL3NyYy9wby9wbC5jcDEyNTAucG8KKysrIGIvc3JjL3BvL3BsLmNwMTI1MC5wbwpAQCAtOTEwLDcgKzkxMCw3IEBACiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiIyBWYWx1ZSBvZiAnZW5jb2RpbmcnIHdoZW4gdGhpcyBmaWxlIHdhcyB3cml0dGVuXG4iCi1tc2dzdHIgIiMgV2FydG+c5iAnZW5jb2RpbmcnIHcgY3phc2llIHphcHN1IHRlZ28gcGxpa3VcbiIKK21zZ3N0ciAiIyBXYXJ0b5zmICdlbmNvZGluZycgdyBjemFzaWUgemFwaXN1IHRlZ28gcGxpa3VcbiIKIAogbXNnaWQgIklsbGVnYWwgc3RhcnRpbmcgY2hhciIKIG1zZ3N0ciAiTmllZG9wdXN6Y3phbG55IHBvY3q5dGtvd3kgem5hayIKQEAgLTE0ODMsNyArMTQ4Myw3IEBACiAKICMuIFJlLW9wZW5pbmcgdGhlIG9yaWdpbmFsIGZpbGUgZmFpbGVkIQogbXNnaWQgIkUyMDI6IENvbnZlcnNpb24gbWFkZSBmaWxlIHVucmVhZGFibGUhIgotbXNnc3RyICJFMjAyOiBQbGlrIHN0d29yem9ueSBwb3ByemV6IHByemVtaWFu6iBqZXN0IG5pZW9kY3p5dHl3YWxueSEiCittc2dzdHIgIkUyMDI6IE5pZSBtb79uYSBvdHdvcnp55iBwbGlrdSB1dHdvcnpvbmVnbyBwcnpleiBwcnplbWlhbuohIgogCiBtc2dpZCAiW2ZpZm8vc29ja2V0XSIKIG1zZ3N0ciAiW2ZpZm8vc29ja2V0XSIKQEAgLTE2NDgsMTMgKzE2NDgsMTMgQEAKIG1zZ3N0ciAiW21hY10iCiAKIG1zZ2lkICJbbWFjIGZvcm1hdF0iCi1tc2dzdHIgIltmb3JtYXQgbWFjLWFdIgorbXNnc3RyICJbZm9ybWF0IG1hY2FdIgogCiBtc2dpZCAiW3VuaXhdIgogbXNnc3RyICJbdW5peF0iCiAKIG1zZ2lkICJbdW5peCBmb3JtYXRdIgotbXNnc3RyICJbZm9ybWF0IHVuaXgtYV0iCittc2dzdHIgIltmb3JtYXQgdW5peGFdIgogCiBtc2dpZCAiMSBsaW5lLCAiCiBtc2dzdHIgIjEgd2llcnN6LCAiCkBAIC0xOTI4LDcgKzE5MjgsNyBAQAogbXNnc3RyICJJbnB1dCBfTWV0aG9kcyIKIAogbXNnaWQgIlZJTSAtIFNlYXJjaCBhbmQgUmVwbGFjZS4uLiIKLW1zZ3N0ciAiVklNIC0gU3p1a2FqIGkgWmFtaWVuaWFqLi4uIgorbXNnc3RyICJWSU0gLSBTenVrYWogaSBaYW1pZfEuLi4iCiAKIG1zZ2lkICJWSU0gLSBTZWFyY2guLi4iCiBtc2dzdHIgIlZJTSAtIFN6dWthai4uLiIKQEAgLTE5NjcsNyArMTk2Nyw3IEBACiBtc2dzdHIgIlphbWll8SB3c3p5c3RraWUiCiAKIG1zZ2lkICJWaW06IFJlY2VpdmVkIFwiZGllXCIgcmVxdWVzdCBmcm9tIHNlc3Npb24gbWFuYWdlclxuIgotbXNnc3RyICJWaW06IG90cnp5bWFubyC/uWRhbmllIFwiZGllXCIgb2QgbWFuYWS/ZXJhIHNlc2ppXG4iCittc2dzdHIgIlZpbTogb3RyenltYW5vIL+5ZGFuaWUgXCJkaWVcIiBvZCBtZW5lZL9lcmEgc2VzamlcbiIKIAogbXNnaWQgIkNsb3NlIgogbXNnc3RyICJaYW1rbmlqIgpAQCAtMjQ2Myw3ICsyNDYzLDcgQEAKIG1zZ3N0ciAid3JpdGVsaW5lcygpIHd5bWFnYSBsaXN0eSBjabln83ciCiAKIG1zZ2lkICJFMjY0OiBQeXRob246IEVycm9yIGluaXRpYWxpc2luZyBJL08gb2JqZWN0cyIKLW1zZ3N0ciAiRTI2NDogUHl0aG9uOiBCs7lkIHcgaW5pY2phbGl6YWNqaSBvYmlla3TzdyBJL08iCittc2dzdHIgIkUyNjQ6IFB5dGhvbjogQrO5ZCB3IHVydWNob21pZW5pdSBvYmlla3TzdyBJL08iCiAKIG1zZ2lkICJhdHRlbXB0IHRvIHJlZmVyIHRvIGRlbGV0ZWQgYnVmZmVyIgogbXNnc3RyICJwcvNiYSBvZG5pZXNpZW5pYSBkbyBza2Fzb3dhbmVnbyBidWZvcmEiCkBAIC0yNTQyLDcgKzI1NDIsNyBAQAogbXNnc3RyICJQb2thvyBiYXrqIGtsYXN5IgogCiBtc2dpZCAiU2hvdyBvdmVycmlkZGVuIG1lbWJlciBmdW5jdGlvbiIKLW1zZ3N0ciAiUG9rYb8gcHJ6ZXBpc2FuuSBmdW5rY2rqIGN6s29ua293uSIKK21zZ3N0ciAiUG9rYb8gcHJ6ZXBpc2FuuSBmdW5rY2rqIGN6s29ub3e5IgogCiBtc2dpZCAiUmV0cmlldmUgZnJvbSBmaWxlIgogbXNnc3RyICJQb2JpZXJhaiB6IHBsaWt1IgpAQCAtMjU4Nyw3ICsyNTg3LDcgQEAKIG1zZ3N0ciAiUG9rYb8gZG9rdW1lbnRhY2rqIGRsYSIKIAogbXNnaWQgIkdlbmVyYXRlIGRvY3UgZm9yIgotbXNnc3RyICJXeWdlbmVydWogZG9rdW1lbnRhY2rqIGRsYSIKK21zZ3N0ciAiVXR383J6IGRva3VtZW50YWNq6iBkbGEiCiAKIG1zZ2lkICIiCiAiQ2Fubm90IGNvbm5lY3QgdG8gU05pRkYrLiBDaGVjayBlbnZpcm9ubWVudCAoc25pZmZlbWFjcyBtdXN0IGJlIGZvdW5kIGluICIKZGlmZiAtLWdpdCBhL3NyYy9zY3JlZW4uYyBiL3NyYy9zY3JlZW4uYwppbmRleCBjMjkzZGUxLi44YzUyYWFkIDEwMDY0NAotLS0gYS9zcmMvc2NyZWVuLmMKKysrIGIvc3JjL3NjcmVlbi5jCkBAIC00NjMsNiArNDYzLDEyIEBACiAJCSkpCiAJY3Vyd2luLT53X3JlZHJfdHlwZSA9IHR5cGU7CiAKKyNpZmRlZiBGRUFUX1dJTkRPV1MKKyAgICAvKiBSZWRyYXcgdGhlIHRhYiBwYWdlcyBsaW5lIGlmIG5lZWRlZC4gKi8KKyAgICBpZiAocmVkcmF3X3RhYmxpbmUgfHwgdHlwZSA+PSBOT1RfVkFMSUQpCisJZHJhd190YWJsaW5lKCk7CisjZW5kaWYKKwogI2lmZGVmIEZFQVRfU1lOX0hMCiAgICAgLyoKICAgICAgKiBDb3JyZWN0IHN0b3JlZCBzeW50YXggaGlnaGxpZ2h0aW5nIGluZm8gZm9yIGNoYW5nZXMgaW4gZWFjaCBkaXNwbGF5ZWQKQEAgLTQ5MCwxMiArNDk2LDYgQEAKICAgICB9CiAjZW5kaWYKIAotI2lmZGVmIEZFQVRfV0lORE9XUwotICAgIC8qIFJlZHJhdyB0aGUgdGFiIHBhZ2VzIGxpbmUgaWYgbmVlZGVkLiAqLwotICAgIGlmIChyZWRyYXdfdGFibGluZSB8fCB0eXBlID49IE5PVF9WQUxJRCkKLQlkcmF3X3RhYmxpbmUoKTsKLSNlbmRpZgotCiAgICAgLyoKICAgICAgKiBHbyBmcm9tIHRvcCB0byBib3R0b20gdGhyb3VnaCB0aGUgd2luZG93cywgcmVkcmF3aW5nIHRoZSBvbmVzIHRoYXQgbmVlZAogICAgICAqIGl0LgpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3RkaXIvdGVzdDQ5LnZpbSBiL3NyYy90ZXN0ZGlyL3Rlc3Q0OS52aW0KaW5kZXggMTllZjk0OS4uM2IwOTgyYSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3RkaXIvdGVzdDQ5LnZpbQorKysgYi9zcmMvdGVzdGRpci90ZXN0NDkudmltCkBAIC0xLDYgKzEsNiBAQAogIiBWaW0gc2NyaXB0IGxhbmd1YWdlIHRlc3RzCiAiIEF1dGhvcjoJU2VydmF0aXVzIEJyYW5kdCA8U2VydmF0aXVzLkJyYW5kdEBmdWppdHN1LXNpZW1lbnMuY29tPgotIiBMYXN0IENoYW5nZToJMjAwNiBGZWIgMjgKKyIgTGFzdCBDaGFuZ2U6CTIwMDYgQXByIDI4CiAKICItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAiIFRlc3QgZW52aXJvbm1lbnQJCQkJCQkJICAgIHt7ezEKZGlmZiAtLWdpdCBhL3NyYy92ZXJzaW9uLmggYi9zcmMvdmVyc2lvbi5oCmluZGV4IGM5MWNiMGIuLmFmMGVmMGUgMTAwNjQ0Ci0tLSBhL3NyYy92ZXJzaW9uLmgKKysrIGIvc3JjL3ZlcnNpb24uaApAQCAtMzUsNiArMzUsNiBAQAogICovCiAjZGVmaW5lIFZJTV9WRVJTSU9OX05PRE9UCSJ2aW03MGYiCiAjZGVmaW5lIFZJTV9WRVJTSU9OX1NIT1JUCSI3LjBmIgotI2RlZmluZSBWSU1fVkVSU0lPTl9NRURJVU0JIjcuMGYwMyBCRVRBIgotI2RlZmluZSBWSU1fVkVSU0lPTl9MT05HCSJWSU0gLSBWaSBJTXByb3ZlZCA3LjBmMDMgQkVUQSAoMjAwNiBBcHIgMjcpIgotI2RlZmluZSBWSU1fVkVSU0lPTl9MT05HX0RBVEUJIlZJTSAtIFZpIElNcHJvdmVkIDcuMGYwMyBCRVRBICgyMDA2IEFwciAyNywgY29tcGlsZWQgIgorI2RlZmluZSBWSU1fVkVSU0lPTl9NRURJVU0JIjcuMGYwNCBCRVRBIgorI2RlZmluZSBWSU1fVkVSU0lPTl9MT05HCSJWSU0gLSBWaSBJTXByb3ZlZCA3LjBmMDQgQkVUQSAoMjAwNiBBcHIgMjgpIgorI2RlZmluZSBWSU1fVkVSU0lPTl9MT05HX0RBVEUJIlZJTSAtIFZpIElNcHJvdmVkIDcuMGYwNCBCRVRBICgyMDA2IEFwciAyOCwgY29tcGlsZWQgIgo=