ZGlmZiAtLWdpdCBhL0JVSUxELmduIGIvQlVJTEQuZ24KaW5kZXggNWI1YTFiMS4uYTlkNThhMSAxMDA2NDQKLS0tIGEvQlVJTEQuZ24KKysrIGIvQlVJTEQuZ24KQEAgLTc0OCw3ICs3NDgsNiBAQAogICAgICJjb3JlL3NyYy9mcGRmYXBpL2ZwZGZfcGFnZS9mcGRmX3BhZ2VfZnVuY19lbWJlZGRlcnRlc3QuY3BwIiwKICAgICAiY29yZS9zcmMvZnBkZmFwaS9mcGRmX3BhcnNlci9mcGRmX3BhcnNlcl9kZWNvZGVfZW1iZWRkZXJ0ZXN0LmNwcCIsCiAgICAgImNvcmUvc3JjL2ZwZGZhcGkvZnBkZl9wYXJzZXIvZnBkZl9wYXJzZXJfcGFyc2VyX2VtYmVkZGVydGVzdC5jcHAiLAotICAgICJjb3JlL3NyYy9mcGRmYXBpL2ZwZGZfcmVuZGVyL2ZwZGZfcmVuZGVyX2xvYWRfaW1hZ2VfZW1iZWRkZXJ0ZXN0LmNwcCIsCiAgICAgImNvcmUvc3JjL2ZwZGZhcGkvZnBkZl9yZW5kZXIvZnBkZl9yZW5kZXJfcGF0dGVybl9lbWJlZGRlcnRlc3QuY3BwIiwKICAgICAiZnBkZnNkay9zcmMvZnBkZl9kYXRhYXZhaWxfZW1iZWRkZXJ0ZXN0LmNwcCIsCiAgICAgImZwZGZzZGsvc3JjL2ZwZGZkb2NfZW1iZWRkZXJ0ZXN0LmNwcCIsCmRpZmYgLS1naXQgYS9jb3JlL3NyYy9mcGRmYXBpL2ZwZGZfcmVuZGVyL2ZwZGZfcmVuZGVyX2xvYWRpbWFnZS5jcHAgYi9jb3JlL3NyYy9mcGRmYXBpL2ZwZGZfcmVuZGVyL2ZwZGZfcmVuZGVyX2xvYWRpbWFnZS5jcHAKaW5kZXggNGZjNmQ3Ni4uZjZmNDFkOSAxMDA2NDQKLS0tIGEvY29yZS9zcmMvZnBkZmFwaS9mcGRmX3JlbmRlci9mcGRmX3JlbmRlcl9sb2FkaW1hZ2UuY3BwCisrKyBiL2NvcmUvc3JjL2ZwZGZhcGkvZnBkZl9yZW5kZXIvZnBkZl9yZW5kZXJfbG9hZGltYWdlLmNwcApAQCAtMTksOSArMTksNyBAQAogCiBuYW1lc3BhY2UgewogCi11bnNpZ25lZCBpbnQgR2V0Qml0czgoY29uc3QgdWludDhfdCogcERhdGEsIHVpbnQ2NF90IGJpdHBvcywgc2l6ZV90IG5iaXRzKSB7Ci0gIEFTU0VSVChuYml0cyA9PSAxIHx8IG5iaXRzID09IDIgfHwgbmJpdHMgPT0gNCB8fCBuYml0cyA9PSA4IHx8IG5iaXRzID09IDE2KTsKLSAgQVNTRVJUKChiaXRwb3MgJiAobmJpdHMgLSAxKSkgPT0gMCk7Cit1bnNpZ25lZCBpbnQgX0dldEJpdHM4KGNvbnN0IHVpbnQ4X3QqIHBEYXRhLCBpbnQgYml0cG9zLCBpbnQgbmJpdHMpIHsKICAgdW5zaWduZWQgaW50IGJ5dGUgPSBwRGF0YVtiaXRwb3MgLyA4XTsKICAgaWYgKG5iaXRzID09IDgpIHsKICAgICByZXR1cm4gYnl0ZTsKQEAgLTk5NSwxMSArOTkzLDExIEBACiAgICAgICAgICAgaW50IHNyY19iaXRfcG9zID0gMDsKICAgICAgICAgICBpbnQgZGVzdF9ieXRlX3BvcyA9IDA7CiAgICAgICAgICAgZm9yIChpbnQgY29sdW1uID0gMDsgY29sdW1uIDwgbV9XaWR0aDsgY29sdW1uKyspIHsKLSAgICAgICAgICAgIGludCBSID0gR2V0Qml0czgoc3JjX3NjYW4sIHNyY19iaXRfcG9zLCBtX2JwYyk7CisgICAgICAgICAgICBpbnQgUiA9IF9HZXRCaXRzOChzcmNfc2Nhbiwgc3JjX2JpdF9wb3MsIG1fYnBjKTsKICAgICAgICAgICAgIHNyY19iaXRfcG9zICs9IG1fYnBjOwotICAgICAgICAgICAgaW50IEcgPSBHZXRCaXRzOChzcmNfc2Nhbiwgc3JjX2JpdF9wb3MsIG1fYnBjKTsKKyAgICAgICAgICAgIGludCBHID0gX0dldEJpdHM4KHNyY19zY2FuLCBzcmNfYml0X3BvcywgbV9icGMpOwogICAgICAgICAgICAgc3JjX2JpdF9wb3MgKz0gbV9icGM7Ci0gICAgICAgICAgICBpbnQgQiA9IEdldEJpdHM4KHNyY19zY2FuLCBzcmNfYml0X3BvcywgbV9icGMpOworICAgICAgICAgICAgaW50IEIgPSBfR2V0Qml0czgoc3JjX3NjYW4sIHNyY19iaXRfcG9zLCBtX2JwYyk7CiAgICAgICAgICAgICBzcmNfYml0X3BvcyArPSBtX2JwYzsKICAgICAgICAgICAgIFIgPSBOT1JNQUxDT0xPUl9NQVgoUiwgbWF4X2RhdGEpOwogICAgICAgICAgICAgRyA9IE5PUk1BTENPTE9SX01BWChHLCBtYXhfZGF0YSk7CkBAIC0xMDUzLDcgKzEwNTEsNyBAQAogICAgIGludCBkZXN0X2J5dGVfcG9zID0gMDsKICAgICBmb3IgKGludCBjb2x1bW4gPSAwOyBjb2x1bW4gPCBtX1dpZHRoOyBjb2x1bW4rKykgewogICAgICAgZm9yIChGWF9EV09SRCBjb2xvciA9IDA7IGNvbG9yIDwgbV9uQ29tcG9uZW50czsgY29sb3IrKykgewotICAgICAgICBpbnQgZGF0YSA9IEdldEJpdHM4KHNyY19zY2FuLCBzcmNfYml0X3BvcywgbV9icGMpOworICAgICAgICBpbnQgZGF0YSA9IF9HZXRCaXRzOChzcmNfc2Nhbiwgc3JjX2JpdF9wb3MsIG1fYnBjKTsKICAgICAgICAgY29sb3JfdmFsdWVzW2NvbG9yXSA9IG1fcENvbXBEYXRhW2NvbG9yXS5tX0RlY29kZU1pbiArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX3BDb21wRGF0YVtjb2xvcl0ubV9EZWNvZGVTdGVwICogZGF0YTsKICAgICAgICAgc3JjX2JpdF9wb3MgKz0gbV9icGM7CkBAIC0xMTQ4LDcgKzExNDYsNyBAQAogICAgICAgZm9yIChpbnQgY29sID0gMDsgY29sIDwgbV9XaWR0aDsgY29sKyspIHsKICAgICAgICAgaW50IGNvbG9yX2luZGV4ID0gMDsKICAgICAgICAgZm9yIChGWF9EV09SRCBjb2xvciA9IDA7IGNvbG9yIDwgbV9uQ29tcG9uZW50czsgY29sb3IrKykgewotICAgICAgICAgIGludCBkYXRhID0gR2V0Qml0czgocFNyY0xpbmUsIHNyY19iaXRfcG9zLCBtX2JwYyk7CisgICAgICAgICAgaW50IGRhdGEgPSBfR2V0Qml0czgocFNyY0xpbmUsIHNyY19iaXRfcG9zLCBtX2JwYyk7CiAgICAgICAgICAgY29sb3JfaW5kZXggfD0gZGF0YSA8PCAoY29sb3IgKiBtX2JwYyk7CiAgICAgICAgICAgc3JjX2JpdF9wb3MgKz0gbV9icGM7CiAgICAgICAgIH0KQEAgLTEzNzAsNyArMTM2OCw3IEBACiAgICAgZm9yIChGWF9EV09SRCBjb2wgPSAwOyBjb2wgPCBzcmNfd2lkdGg7IGNvbCsrKSB7CiAgICAgICBpbnQgY29sb3JfaW5kZXggPSAwOwogICAgICAgZm9yIChGWF9EV09SRCBjb2xvciA9IDA7IGNvbG9yIDwgbV9uQ29tcG9uZW50czsgY29sb3IrKykgewotICAgICAgICBpbnQgZGF0YSA9IEdldEJpdHM4KHBTcmNMaW5lLCBzcmNfYml0X3BvcywgbV9icGMpOworICAgICAgICBpbnQgZGF0YSA9IF9HZXRCaXRzOChwU3JjTGluZSwgc3JjX2JpdF9wb3MsIG1fYnBjKTsKICAgICAgICAgY29sb3JfaW5kZXggfD0gZGF0YSA8PCAoY29sb3IgKiBtX2JwYyk7CiAgICAgICAgIHNyY19iaXRfcG9zICs9IG1fYnBjOwogICAgICAgfQpAQCAtMTQzMyw2NiArMTQzMSw1OSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGNsaXBfd2lkdGgpIGNvbnN0IHsKICAgaW50IGxhc3Rfc3JjX3ggPSAtMTsKICAgRlhfQVJHQiBsYXN0X2FyZ2IgPSBGWEFSR0JfTUFLRSgweEZGLCAweEZGLCAweEZGLCAweEZGKTsKKyAgRlhfRkxPQVQgb3JpZ19Ob3Q4QnBwID0gKEZYX0ZMT0FUKW1fYnBjICogKEZYX0ZMT0FUKW1fbkNvbXBvbmVudHMgLyA4LjBmOwogICBGWF9GTE9BVCB1bml0X1RvOEJwYyA9IDI1NS4wZiAvICgoMSA8PCBtX2JwYykgLSAxKTsKICAgZm9yIChpbnQgaSA9IDA7IGkgPCBjbGlwX3dpZHRoOyBpKyspIHsKICAgICBpbnQgZGVzdF94ID0gY2xpcF9sZWZ0ICsgaTsKICAgICBGWF9EV09SRCBzcmNfeCA9IChiRmxpcFggPyAoZGVzdF93aWR0aCAtIGRlc3RfeCAtIDEpIDogZGVzdF94KSAqCiAgICAgICAgICAgICAgICAgICAgICAoaW50NjRfdClzcmNfd2lkdGggLyBkZXN0X3dpZHRoOwogICAgIHNyY194ICU9IHNyY193aWR0aDsKLQotICAgIC8vIE5vIG5lZWQgdG8gY2hlY2sgZm9yIDMyLWJpdCBvdmVyZmxvdywgYXMgfHNyY194fCBpcyBib3VuZGVkIGJ5Ci0gICAgLy8gfHNyY193aWR0aHwgYW5kIERvd25TYW1wbGVTY2FubGluZSBhbHJlYWR5IGNoZWNrZWQgZm9yIG92ZXJmbG93IHdpdGggdGhlCi0gICAgLy8gcGl0Y2ggY2FsY3VsYXRpb24uCiAgICAgY29uc3QgdWludDhfdCogcFNyY1BpeGVsID0gbnVsbHB0cjsKLSAgICBzaXplX3QgYml0X29mZnNldCA9IDA7CiAgICAgaWYgKG1fYnBjICUgOCA9PSAwKSB7CiAgICAgICBwU3JjUGl4ZWwgPSBwU3JjTGluZSArIHNyY194ICogb3JpZ19CcHA7CiAgICAgfSBlbHNlIHsKLSAgICAgIHNpemVfdCBudW1fYml0cyA9IHNyY194ICogbV9icGMgKiBtX25Db21wb25lbnRzOwotICAgICAgcFNyY1BpeGVsID0gcFNyY0xpbmUgKyBudW1fYml0cyAvIDg7Ci0gICAgICBiaXRfb2Zmc2V0ID0gbnVtX2JpdHMgJSA4OworICAgICAgcFNyY1BpeGVsID0gcFNyY0xpbmUgKyAoaW50KShzcmNfeCAqIG9yaWdfTm90OEJwcCk7CiAgICAgfQotCiAgICAgdWludDhfdCogcERlc3RQaXhlbCA9IGRlc3Rfc2NhbiArIGkgKiBkZXN0X0JwcDsKICAgICBGWF9BUkdCIGFyZ2I7CiAgICAgaWYgKHNyY194ID09IGxhc3Rfc3JjX3gpIHsKICAgICAgIGFyZ2IgPSBsYXN0X2FyZ2I7CiAgICAgfSBlbHNlIHsKLSAgICAgIENGWF9GaXhlZEJ1Zkdyb3c8dWludDhfdCwgMTI4PiBleHRyYWN0ZWRfY29tcG9uZW50cyhtX25Db21wb25lbnRzKTsKLSAgICAgIGlmIChtX2JwYyAlIDggIT0gMCkgewotICAgICAgICB1aW50NjRfdCBzcmNfYml0X3BvcyA9IGJpdF9vZmZzZXQ7Ci0gICAgICAgIGZvciAoRlhfRFdPUkQgaiA9IDA7IGogPCBtX25Db21wb25lbnRzOyArK2opIHsKLSAgICAgICAgICBleHRyYWN0ZWRfY29tcG9uZW50c1tqXSA9Ci0gICAgICAgICAgICAgIEdldEJpdHM4KHBTcmNQaXhlbCwgc3JjX2JpdF9wb3MsIG1fYnBjKSAqIHVuaXRfVG84QnBjOwotICAgICAgICAgIHNyY19iaXRfcG9zICs9IG1fYnBjOwotICAgICAgICB9Ci0gICAgICAgIHBTcmNQaXhlbCA9IGV4dHJhY3RlZF9jb21wb25lbnRzOwotICAgICAgfQotCiAgICAgICBpZiAobV9wQ29sb3JTcGFjZSkgeworICAgICAgICBDRlhfRml4ZWRCdWZHcm93PHVpbnQ4X3QsIDEyOD4gdGVtcChvcmlnX0JwcCk7CiAgICAgICAgIHVpbnQ4X3QgY29sb3JbNF07CiAgICAgICAgIGNvbnN0IEZYX0JPT0wgYlRyYW5zTWFzayA9IFRyYW5zTWFzaygpOwogICAgICAgICBpZiAobV9iRGVmYXVsdERlY29kZSkgewotICAgICAgICAgIG1fcENvbG9yU3BhY2UtPlRyYW5zbGF0ZUltYWdlTGluZShjb2xvciwgcFNyY1BpeGVsLCAxLCAwLCAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiVHJhbnNNYXNrKTsKKyAgICAgICAgICBpZiAobV9icGMgPCA4KSB7CisgICAgICAgICAgICBpbnQgc3JjX2JpdF9wb3MgPSAwOworICAgICAgICAgICAgaWYgKHNyY194ICUgMikgeworICAgICAgICAgICAgICBzcmNfYml0X3BvcyA9IDQ7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBmb3IgKEZYX0RXT1JEIGogPSAwOyBqIDwgbV9uQ29tcG9uZW50czsgKytqKSB7CisgICAgICAgICAgICAgIHRlbXBbal0gPSAodWludDhfdCkoX0dldEJpdHM4KHBTcmNQaXhlbCwgc3JjX2JpdF9wb3MsIG1fYnBjKSAqCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pdF9UbzhCcGMpOworICAgICAgICAgICAgICBzcmNfYml0X3BvcyArPSBtX2JwYzsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIG1fcENvbG9yU3BhY2UtPlRyYW5zbGF0ZUltYWdlTGluZShjb2xvciwgdGVtcCwgMSwgMCwgMCwgYlRyYW5zTWFzayk7CisgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIG1fcENvbG9yU3BhY2UtPlRyYW5zbGF0ZUltYWdlTGluZShjb2xvciwgcFNyY1BpeGVsLCAxLCAwLCAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJUcmFuc01hc2spOworICAgICAgICAgIH0KICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICBmb3IgKEZYX0RXT1JEIGogPSAwOyBqIDwgbV9uQ29tcG9uZW50czsgKytqKSB7Ci0gICAgICAgICAgICBGWF9GTE9BVCBjb21wb25lbnRfdmFsdWUgPQotICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PEZYX0ZMT0FUPihleHRyYWN0ZWRfY29tcG9uZW50c1tqXSk7CiAgICAgICAgICAgICBpbnQgY29sb3JfdmFsdWUgPQogICAgICAgICAgICAgICAgIChpbnQpKChtX3BDb21wRGF0YVtqXS5tX0RlY29kZU1pbiArCi0gICAgICAgICAgICAgICAgICAgICAgIG1fcENvbXBEYXRhW2pdLm1fRGVjb2RlU3RlcCAqIGNvbXBvbmVudF92YWx1ZSkgKgorICAgICAgICAgICAgICAgICAgICAgICBtX3BDb21wRGF0YVtqXS5tX0RlY29kZVN0ZXAgKiAoRlhfRkxPQVQpcFNyY1BpeGVsW2pdKSAqCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDI1NS4wZiArCiAgICAgICAgICAgICAgICAgICAgICAgMC41Zik7Ci0gICAgICAgICAgICBleHRyYWN0ZWRfY29tcG9uZW50c1tqXSA9CisgICAgICAgICAgICB0ZW1wW2pdID0KICAgICAgICAgICAgICAgICBjb2xvcl92YWx1ZSA+IDI1NSA/IDI1NSA6IChjb2xvcl92YWx1ZSA8IDAgPyAwIDogY29sb3JfdmFsdWUpOwogICAgICAgICAgIH0KLSAgICAgICAgICBtX3BDb2xvclNwYWNlLT5UcmFuc2xhdGVJbWFnZUxpbmUoY29sb3IsIGV4dHJhY3RlZF9jb21wb25lbnRzLCAxLCAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCBiVHJhbnNNYXNrKTsKKyAgICAgICAgICBtX3BDb2xvclNwYWNlLT5UcmFuc2xhdGVJbWFnZUxpbmUoY29sb3IsIHRlbXAsIDEsIDAsIDAsIGJUcmFuc01hc2spOwogICAgICAgICB9CiAgICAgICAgIGFyZ2IgPSBGWEFSR0JfTUFLRSgweEZGLCBjb2xvclsyXSwgY29sb3JbMV0sIGNvbG9yWzBdKTsKICAgICAgIH0gZWxzZSB7Ci0gICAgICAgIGFyZ2IgPSBGWEFSR0JfTUFLRSgweEZGLCBwU3JjUGl4ZWxbMl0sIHBTcmNQaXhlbFsxXSwgcFNyY1BpeGVsWzBdKTsKKyAgICAgICAgYXJnYiA9IEZYQVJHQl9NQUtFKDB4RmYsIHBTcmNQaXhlbFsyXSwgcFNyY1BpeGVsWzFdLCBwU3JjUGl4ZWxbMF0pOwogICAgICAgfQogICAgICAgaWYgKG1fYkNvbG9yS2V5KSB7CiAgICAgICAgIGludCBhbHBoYSA9IDB4RkY7CmRpZmYgLS1naXQgYS9jb3JlL3NyYy9mcGRmYXBpL2ZwZGZfcmVuZGVyL2ZwZGZfcmVuZGVyX2xvYWRpbWFnZV9lbWJlZGRlcnRlc3QuY3BwIGIvY29yZS9zcmMvZnBkZmFwaS9mcGRmX3JlbmRlci9mcGRmX3JlbmRlcl9sb2FkaW1hZ2VfZW1iZWRkZXJ0ZXN0LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTYzMzI0OS4uMDAwMDAwMAotLS0gYS9jb3JlL3NyYy9mcGRmYXBpL2ZwZGZfcmVuZGVyL2ZwZGZfcmVuZGVyX2xvYWRpbWFnZV9lbWJlZGRlcnRlc3QuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotLy8gQ29weXJpZ2h0IDIwMTUgUERGaXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0vLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotCi0jaW5jbHVkZSAidGVzdGluZy9lbWJlZGRlcl90ZXN0LmgiCi0jaW5jbHVkZSAidGVzdGluZy9ndGVzdC9pbmNsdWRlL2d0ZXN0L2d0ZXN0LmgiCi0KLWNsYXNzIEZQREZSZW5kZXJMb2FkSW1hZ2VFbWJlZGRlcnRlc3QgOiBwdWJsaWMgRW1iZWRkZXJUZXN0IHt9OwotCi1URVNUX0YoRlBERlJlbmRlckxvYWRJbWFnZUVtYmVkZGVydGVzdCwgQnVnXzU1NDE1MSkgewotICAvLyBUZXN0IHNjYW5saW5lIGRvd25zYW1wbGluZyB3aXRoIGEgQml0c1BlckNvbXBvbmVudCBvZiA0LgotICAvLyBTaG91bGQgbm90IGNyYXNoLgotICBFWFBFQ1RfVFJVRShPcGVuRG9jdW1lbnQoImJ1Z181NTQxNTEucGRmIikpOwotICBGUERGX1BBR0UgcGFnZSA9IExvYWRQYWdlKDApOwotICBFWFBFQ1RfTkUobnVsbHB0ciwgcGFnZSk7Ci0gIEZQREZfQklUTUFQIGJpdG1hcCA9IFJlbmRlclBhZ2UocGFnZSk7Ci0gIEZQREZCaXRtYXBfRGVzdHJveShiaXRtYXApOwotICBVbmxvYWRQYWdlKHBhZ2UpOwotfQpkaWZmIC0tZ2l0IGEvcGRmaXVtLmd5cCBiL3BkZml1bS5neXAKaW5kZXggMGJmMDc0Mi4uMzNjNGUxOSAxMDA2NDQKLS0tIGEvcGRmaXVtLmd5cAorKysgYi9wZGZpdW0uZ3lwCkBAIC03NDYsNyArNzQ2LDYgQEAKICAgICAgICAgJ2NvcmUvc3JjL2ZwZGZhcGkvZnBkZl9wYWdlL2ZwZGZfcGFnZV9mdW5jX2VtYmVkZGVydGVzdC5jcHAnLAogICAgICAgICAnY29yZS9zcmMvZnBkZmFwaS9mcGRmX3BhcnNlci9mcGRmX3BhcnNlcl9kZWNvZGVfZW1iZWRkZXJ0ZXN0LmNwcCcsCiAgICAgICAgICdjb3JlL3NyYy9mcGRmYXBpL2ZwZGZfcGFyc2VyL2ZwZGZfcGFyc2VyX3BhcnNlcl9lbWJlZGRlcnRlc3QuY3BwJywKLSAgICAgICAgJ2NvcmUvc3JjL2ZwZGZhcGkvZnBkZl9yZW5kZXIvZnBkZl9yZW5kZXJfbG9hZGltYWdlX2VtYmVkZGVydGVzdC5jcHAnLAogICAgICAgICAnY29yZS9zcmMvZnBkZmFwaS9mcGRmX3JlbmRlci9mcGRmX3JlbmRlcl9wYXR0ZXJuX2VtYmVkZGVydGVzdC5jcHAnLAogICAgICAgICAnZnBkZnNkay9zcmMvZnBkZl9kYXRhYXZhaWxfZW1iZWRkZXJ0ZXN0LmNwcCcsCiAgICAgICAgICdmcGRmc2RrL3NyYy9mcGRmZG9jX2VtYmVkZGVydGVzdC5jcHAnLApkaWZmIC0tZ2l0IGEvdGVzdGluZy9yZXNvdXJjZXMvYnVnXzU1NDE1MS5pbiBiL3Rlc3RpbmcvcmVzb3VyY2VzL2J1Z181NTQxNTEuaW4KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMwODcxNTkuLjAwMDAwMDAKLS0tIGEvdGVzdGluZy9yZXNvdXJjZXMvYnVnXzU1NDE1MS5pbgorKysgL2Rldi9udWxsCkBAIC0xLDU5ICswLDAgQEAKLXt7aGVhZGVyfX0KLQote3tvYmplY3QgMSAwfX0KLTw8Ci0gIC9QYWdlcyAyIDAgUgotPj4KLWVuZG9iagotCi17e29iamVjdCAyIDB9fQotPDwKLSAgL0tpZHMgWyAzIDAgUiBdCi0+PgotZW5kb2JqCi0KLXt7b2JqZWN0IDMgMH19Ci08PAotICAvQ29udGVudHMgNiAwIFIKLSAgL1Jlc291cmNlcyA1IDAgUgotPj4KLWVuZG9iagotCi17e29iamVjdCA2IDB9fQotPDw+Pgotc3RyZWFtCi02MTIgMC4wIDAuMCAxMDQwMDAgMCAwIGNtCi0vWEJhZCBEbwotZW5kc3RyZWFtCi1lbmRvYmoKLQote3tvYmplY3QgNSAwfX0KLTw8Ci0gIC9YT2JqZWN0IDw8Ci0gICAgL1hCYWQgNyAwIFIKLSAgPj4KLT4+Ci1lbmRvYmoKLQote3tvYmplY3QgNyAwfX0KLTw8Ci0gIC9UeXBlIC9YT2JqZWN0Ci0gIC9TdWJ0eXBlIC9JbWFnZQotICAvV2lkdGggNjEyCi0gIC9IZWlnaHQgMTA0MDAwCi0gIC9Db2xvclNwYWNlIC9EZXZpY2VSR0IKLSAgL0JpdHNQZXJDb21wb25lbnQgNAotICAvTGVuZ3RoIDAKLSAgL0RlY29kZSBbMS4wXQotPj4KLXN0cmVhbQotRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGCi1lbmRvYmoKLQote3t4cmVmfX0KLXRyYWlsZXIgPDwKLSAgL1Jvb3QgMSAwIFIKLSAgL1NpemUgOAotPj4KLXt7c3RhcnR4cmVmfX0KLSUlRU9GCmRpZmYgLS1naXQgYS90ZXN0aW5nL3Jlc291cmNlcy9idWdfNTU0MTUxLnBkZiBiL3Rlc3RpbmcvcmVzb3VyY2VzL2J1Z181NTQxNTEucGRmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmYTc3MGE3Li4wMDAwMDAwCi0tLSBhL3Rlc3RpbmcvcmVzb3VyY2VzL2J1Z181NTQxNTEucGRmCisrKyAvZGV2L251bGwKQEAgLTEsNzAgKzAsMCBAQAotJVBERi0xLjcKLSWg8qT0Ci0KLTEgMCBvYmoKLTw8Ci0gIC9QYWdlcyAyIDAgUgotPj4KLWVuZG9iagotCi0yIDAgb2JqCi08PAotICAvS2lkcyBbIDMgMCBSIF0KLT4+Ci1lbmRvYmoKLQotMyAwIG9iagotPDwKLSAgL0NvbnRlbnRzIDYgMCBSCi0gIC9SZXNvdXJjZXMgNSAwIFIKLT4+Ci1lbmRvYmoKLQotNiAwIG9iagotPDw+Pgotc3RyZWFtCi02MTIgMC4wIDAuMCAxMDQwMDAgMCAwIGNtCi0vWEJhZCBEbwotZW5kc3RyZWFtCi1lbmRvYmoKLQotNSAwIG9iagotPDwKLSAgL1hPYmplY3QgPDwKLSAgICAvWEJhZCA3IDAgUgotICA+PgotPj4KLWVuZG9iagotCi03IDAgb2JqCi08PAotICAvVHlwZSAvWE9iamVjdAotICAvU3VidHlwZSAvSW1hZ2UKLSAgL1dpZHRoIDYxMgotICAvSGVpZ2h0IDEwNDAwMAotICAvQ29sb3JTcGFjZSAvRGV2aWNlUkdCCi0gIC9CaXRzUGVyQ29tcG9uZW50IDQKLSAgL0xlbmd0aCAwCi0gIC9EZWNvZGUgWzEuMF0KLT4+Ci1zdHJlYW0KLUZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRgotZW5kb2JqCi0KLXhyZWYKLTAgOAotMDAwMDAwMDAwMCA2NTUzNSBmIAotMDAwMDAwMDAxNiAwMDAwMCBuIAotMDAwMDAwMDA1MyAwMDAwMCBuIAotMDAwMDAwMDA5MyAwMDAwMCBuIAotMDAwMDAwMDAwMCA2NTUzNSBmIAotMDAwMDAwMDIyNSAwMDAwMCBuIAotMDAwMDAwMDE1MiAwMDAwMCBuIAotMDAwMDAwMDI4MiAwMDAwMCBuIAotdHJhaWxlciA8PAotICAvUm9vdCAxIDAgUgotICAvU2l6ZSA4Ci0+Pgotc3RhcnR4cmVmCi0xMzcwCi0lJUVPRgo=