ZGlmZiAtLWdpdCBhL2ZwZGZzZGsvZnBkZl9lZGl0X2VtYmVkZGVydGVzdC5jcHAgYi9mcGRmc2RrL2ZwZGZfZWRpdF9lbWJlZGRlcnRlc3QuY3BwCmluZGV4IGQ2M2I5NDguLmJjMjQ4ZjYgMTAwNjQ0Ci0tLSBhL2ZwZGZzZGsvZnBkZl9lZGl0X2VtYmVkZGVydGVzdC5jcHAKKysrIGIvZnBkZnNkay9mcGRmX2VkaXRfZW1iZWRkZXJ0ZXN0LmNwcApAQCAtNDQ5Miw2ICs0NDkyLDI1IEBACiAgIFVubG9hZFBhZ2UocGFnZSk7CiB9CiAKK1RFU1RfRihGUERGRWRpdEVtYmVkZGVyVGVzdCwgR2V0Qml0bWFwV2l0aEFyZ2JJbWFnZVdpdGhQYWxldHRlKSB7CisgIEFTU0VSVF9UUlVFKE9wZW5Eb2N1bWVudCgiYnVnXzM0MzA3NTk4Ni5wZGYiKSk7CisKKyAgRlBERl9QQUdFIHBhZ2UgPSBMb2FkUGFnZSgwKTsKKyAgQVNTRVJUX1RSVUUocGFnZSk7CisKKyAgY29uc3RleHByIGludCBrRXhwZWN0ZWRPYmplY3RzID0gMjsKKyAgQVNTRVJUX0VRKGtFeHBlY3RlZE9iamVjdHMsIEZQREZQYWdlX0NvdW50T2JqZWN0cyhwYWdlKSk7CisgIEZQREZfUEFHRU9CSkVDVCBvYmogPSBGUERGUGFnZV9HZXRPYmplY3QocGFnZSwgMSk7CisgIEFTU0VSVF9FUShGUERGX1BBR0VPQkpfSU1BR0UsIEZQREZQYWdlT2JqX0dldFR5cGUob2JqKSk7CisKKyAgU2NvcGVkRlBERkJpdG1hcCBiaXRtYXAoRlBERkltYWdlT2JqX0dldEJpdG1hcChvYmopKTsKKyAgQVNTRVJUX1RSVUUoYml0bWFwKTsKKyAgRVhQRUNUX0VRKEZQREZCaXRtYXBfQkdSLCBGUERGQml0bWFwX0dldEZvcm1hdChiaXRtYXAuZ2V0KCkpKTsKKyAgQ29tcGFyZUJpdG1hcChiaXRtYXAuZ2V0KCksIDQsIDQsICI0OWI0ZDM5ZDNmZDgxYzk4NTNiNDkzYjYxNWU0NzVkMSIpOworCisgIFVubG9hZFBhZ2UocGFnZSk7Cit9CisKIFRFU1RfRihGUERGRWRpdEVtYmVkZGVyVGVzdCwgR2V0UmVuZGVyZWRCaXRtYXBIYW5kbGVzU2V0TWF0cml4KSB7CiAgIEFTU0VSVF9UUlVFKE9wZW5Eb2N1bWVudCgiZW1iZWRkZWRfaW1hZ2VzLnBkZiIpKTsKICAgRlBERl9QQUdFIHBhZ2UgPSBMb2FkUGFnZSgwKTsKZGlmZiAtLWdpdCBhL2ZwZGZzZGsvZnBkZl9lZGl0aW1nLmNwcCBiL2ZwZGZzZGsvZnBkZl9lZGl0aW1nLmNwcAppbmRleCA0NzljNmViLi4yZjE4YTgwIDEwMDY0NAotLS0gYS9mcGRmc2RrL2ZwZGZfZWRpdGltZy5jcHAKKysrIGIvZnBkZnNkay9mcGRmX2VkaXRpbWcuY3BwCkBAIC0yMjAsMzIgKzIyMCwzMCBAQAogICBDb252ZXJzaW9uT3Agb3A7CiAgIHN3aXRjaCAocFNvdXJjZS0+R2V0Rm9ybWF0KCkpIHsKICAgICBjYXNlIEZYRElCX0Zvcm1hdDo6azFicHBNYXNrOgotICAgIGNhc2UgRlhESUJfRm9ybWF0OjprOGJwcE1hc2s6CisgICAgY2FzZSBGWERJQl9Gb3JtYXQ6Oms4YnBwTWFzazogewogICAgICAgLy8gTWFza3MgZG8gbm90IGhhdmUgcGFsZXR0ZXMsIHNvIHRoZXkgY2FuIGJlIHNhZmVseSBjb252ZXJ0ZWQgdG8KICAgICAgIC8vIGBGWERJQl9Gb3JtYXQ6Oms4YnBwUmdiYC4KICAgICAgIENIRUNLKCFwU291cmNlLT5IYXNQYWxldHRlKCkpOwogICAgICAgb3AgPSBDb252ZXJzaW9uT3A6OmtDb252ZXJ0VG84YnBwUmdiOwogICAgICAgYnJlYWs7Ci0gICAgY2FzZSBGWERJQl9Gb3JtYXQ6OmsxYnBwUmdiOgorICAgIH0KKyAgICBjYXNlIEZYRElCX0Zvcm1hdDo6azFicHBSZ2I6IHsKICAgICAgIC8vIElmIHRoZXJlIGlzIGEgcGFsZXR0ZSwgdGhlbiBjb252ZXJ0IHRvIGBGWERJQl9Gb3JtYXQ6OmtSZ2JgIHRvIGF2b2lkCiAgICAgICAvLyBjcmVhdGluZyBhIGJpdG1hcCB3aXRoIGEgcGFsZXR0ZS4KICAgICAgIG9wID0gcFNvdXJjZS0+SGFzUGFsZXR0ZSgpID8gQ29udmVyc2lvbk9wOjprQ29udmVydFRvUmdiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IENvbnZlcnNpb25PcDo6a0NvbnZlcnRUbzhicHBSZ2I7CiAgICAgICBicmVhazsKKyAgICB9CiAgICAgY2FzZSBGWERJQl9Gb3JtYXQ6Oms4YnBwUmdiOgorICAgIGNhc2UgRlhESUJfRm9ybWF0OjprQXJnYjoKKyAgICBjYXNlIEZYRElCX0Zvcm1hdDo6a1JnYjoKKyAgICBjYXNlIEZYRElCX0Zvcm1hdDo6a1JnYjMyOiB7CiAgICAgICAvLyBJZiB0aGVyZSBpcyBhIHBhbGV0dGUsIHRoZW4gY29udmVydCB0byBgRlhESUJfRm9ybWF0OjprUmdiYCB0byBhdm9pZAogICAgICAgLy8gY3JlYXRpbmcgYSBiaXRtYXAgd2l0aCBhIHBhbGV0dGUuCiAgICAgICBvcCA9IHBTb3VyY2UtPkhhc1BhbGV0dGUoKSA/IENvbnZlcnNpb25PcDo6a0NvbnZlcnRUb1JnYgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBDb252ZXJzaW9uT3A6OmtSZWFsaXplOwogICAgICAgYnJlYWs7Ci0KLSAgICBjYXNlIEZYRElCX0Zvcm1hdDo6a0FyZ2I6Ci0gICAgY2FzZSBGWERJQl9Gb3JtYXQ6OmtSZ2I6Ci0gICAgY2FzZSBGWERJQl9Gb3JtYXQ6OmtSZ2IzMjoKLSAgICAgIENIRUNLKCFwU291cmNlLT5IYXNQYWxldHRlKCkpOwotICAgICAgb3AgPSBDb252ZXJzaW9uT3A6OmtSZWFsaXplOwotICAgICAgYnJlYWs7Ci0KKyAgICB9CiAgICAgY2FzZSBGWERJQl9Gb3JtYXQ6OmtJbnZhbGlkOiB7CiAgICAgICBOT1RSRUFDSEVEX05PUkVUVVJOKCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvdGVzdGluZy9yZXNvdXJjZXMvYnVnXzM0MzA3NTk4Ni5pbiBiL3Rlc3RpbmcvcmVzb3VyY2VzL2J1Z18zNDMwNzU5ODYuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzIyM2VjYQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RpbmcvcmVzb3VyY2VzL2J1Z18zNDMwNzU5ODYuaW4KQEAgLTAsMCArMSw2NyBAQAore3toZWFkZXJ9fQore3tvYmplY3QgMSAwfX0gPDwKKyAgL1R5cGUgL0NhdGFsb2cKKyAgL1BhZ2VzIDIgMCBSCis+PgorZW5kb2JqCit7e29iamVjdCAyIDB9fSA8PAorICAvVHlwZSAvUGFnZXMKKyAgL0NvdW50IDEKKyAgL0tpZHMgWzMgMCBSXQorPj4KK2VuZG9iagore3tvYmplY3QgMyAwfX0gPDwKKyAgL1R5cGUgL1BhZ2UKKyAgL1BhcmVudCAyIDAgUgorICAvQ29udGVudHMgNCAwIFIKKyAgL01lZGlhQm94IFswIDAgNDAgNjBdCisgIC9SZXNvdXJjZXMgPDwKKyAgICAvWE9iamVjdCA8PAorICAgICAgL0ltZzEgNSAwIFIKKyAgICA+PgorICA+PgorPj4KK2VuZG9iagore3tvYmplY3QgNCAwfX0gPDwKKyAge3tzdHJlYW1sZW59fQorPj4KK3N0cmVhbQorJSBEcmF3IHllbGxvdyBiYWNrZ3JvdW5kLgorcQorMSAxIDAgcmcKKzAgMCA0MCA2MCByZSBmCitRCislIERyYXcgaW1hZ2Ugd2hlcmUgdGhlIGJsYWNrIGlzIG1hc2tlZCBvdXQgdG8gbGV0IHRoZSB5ZWxsb3cgc2hvdy4KK3EKKzQwIDAgMCA2MCAwIDAgY20KKy9JbWcxIERvCitRCitlbmRzdHJlYW0KK2VuZG9iagore3tvYmplY3QgNSAwfX0gPDwKKyAgL1R5cGUgL1hPYmplY3QKKyAgL1N1YnR5cGUgL0ltYWdlCisgIC9XaWR0aCA0CisgIC9IZWlnaHQgNAorICAvQml0c1BlckNvbXBvbmVudCA4CisgIC9Db2xvclNwYWNlIFsKKyAgICAvSW5kZXhlZAorICAgIC9EZXZpY2VSR0IKKyAgICA0CisgICAgPDAwMDAwMCBGRjAwMDAgMDBGRjAwIDAwMDBGRiBGRkZGRkY+CisgIF0KKyAgL0ZpbHRlciAvQVNDSUlIZXhEZWNvZGUKKyAgL01hc2sgWzAgMCAwIDAgMCAwXSAlIE1hc2sgb3V0IGJsYWNrLgorICB7e3N0cmVhbWxlbn19Cis+Pgorc3RyZWFtCiswMCAwMCAwMSAwMQorMDAgMDIgMDIgMDEKKzAzIDAyIDAyIDA0CiswMyAwMyAwNCAwNAorZW5kc3RyZWFtCitlbmRvYmoKK3t7eHJlZn19Cit7e3RyYWlsZXJ9fQore3tzdGFydHhyZWZ9fQorJSVFT0YKZGlmZiAtLWdpdCBhL3Rlc3RpbmcvcmVzb3VyY2VzL2J1Z18zNDMwNzU5ODYucGRmIGIvdGVzdGluZy9yZXNvdXJjZXMvYnVnXzM0MzA3NTk4Ni5wZGYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDM3MTlhMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RpbmcvcmVzb3VyY2VzL2J1Z18zNDMwNzU5ODYucGRmCkBAIC0wLDAgKzEsNzkgQEAKKyVQREYtMS43CisloPKk9AorMSAwIG9iaiA8PAorICAvVHlwZSAvQ2F0YWxvZworICAvUGFnZXMgMiAwIFIKKz4+CitlbmRvYmoKKzIgMCBvYmogPDwKKyAgL1R5cGUgL1BhZ2VzCisgIC9Db3VudCAxCisgIC9LaWRzIFszIDAgUl0KKz4+CitlbmRvYmoKKzMgMCBvYmogPDwKKyAgL1R5cGUgL1BhZ2UKKyAgL1BhcmVudCAyIDAgUgorICAvQ29udGVudHMgNCAwIFIKKyAgL01lZGlhQm94IFswIDAgNDAgNjBdCisgIC9SZXNvdXJjZXMgPDwKKyAgICAvWE9iamVjdCA8PAorICAgICAgL0ltZzEgNSAwIFIKKyAgICA+PgorICA+PgorPj4KK2VuZG9iagorNCAwIG9iaiA8PAorICAvTGVuZ3RoIDE1MQorPj4KK3N0cmVhbQorJSBEcmF3IHllbGxvdyBiYWNrZ3JvdW5kLgorcQorMSAxIDAgcmcKKzAgMCA0MCA2MCByZSBmCitRCislIERyYXcgaW1hZ2Ugd2hlcmUgdGhlIGJsYWNrIGlzIG1hc2tlZCBvdXQgdG8gbGV0IHRoZSB5ZWxsb3cgc2hvdy4KK3EKKzQwIDAgMCA2MCAwIDAgY20KKy9JbWcxIERvCitRCitlbmRzdHJlYW0KK2VuZG9iagorNSAwIG9iaiA8PAorICAvVHlwZSAvWE9iamVjdAorICAvU3VidHlwZSAvSW1hZ2UKKyAgL1dpZHRoIDQKKyAgL0hlaWdodCA0CisgIC9CaXRzUGVyQ29tcG9uZW50IDgKKyAgL0NvbG9yU3BhY2UgWworICAgIC9JbmRleGVkCisgICAgL0RldmljZVJHQgorICAgIDQKKyAgICA8MDAwMDAwIEZGMDAwMCAwMEZGMDAgMDAwMEZGIEZGRkZGRj4KKyAgXQorICAvRmlsdGVyIC9BU0NJSUhleERlY29kZQorICAvTWFzayBbMCAwIDAgMCAwIDBdICUgTWFzayBvdXQgYmxhY2suCisgIC9MZW5ndGggNDgKKz4+CitzdHJlYW0KKzAwIDAwIDAxIDAxCiswMCAwMiAwMiAwMQorMDMgMDIgMDIgMDQKKzAzIDAzIDA0IDA0CitlbmRzdHJlYW0KK2VuZG9iagoreHJlZgorMCA2CiswMDAwMDAwMDAwIDY1NTM1IGYgCiswMDAwMDAwMDE1IDAwMDAwIG4gCiswMDAwMDAwMDY4IDAwMDAwIG4gCiswMDAwMDAwMTMxIDAwMDAwIG4gCiswMDAwMDAwMjg2IDAwMDAwIG4gCiswMDAwMDAwNDg5IDAwMDAwIG4gCit0cmFpbGVyIDw8CisgIC9Sb290IDEgMCBSCisgIC9TaXplIDYKKz4+CitzdGFydHhyZWYKKzgyOQorJSVFT0YK