ZGlmZiAtLWdpdCBhL2ZwZGZzZGsvZnBkZl9lZGl0cGF0aF9lbWJlZGRlcnRlc3QuY3BwIGIvZnBkZnNkay9mcGRmX2VkaXRwYXRoX2VtYmVkZGVydGVzdC5jcHAKaW5kZXggMmE4ODlkMC4uOTExMDNhYSAxMDA2NDQKLS0tIGEvZnBkZnNkay9mcGRmX2VkaXRwYXRoX2VtYmVkZGVydGVzdC5jcHAKKysrIGIvZnBkZnNkay9mcGRmX2VkaXRwYXRoX2VtYmVkZGVydGVzdC5jcHAKQEAgLTQsMTAgKzQsMTQgQEAKIAogI2luY2x1ZGUgImNvcmUvZnhjcnQvY2hlY2suaCIKICNpbmNsdWRlICJjb3JlL2Z4Y3J0L2Z4X3N5c3RlbS5oIgorI2luY2x1ZGUgImNvcmUvZnhnZS9jZnhfZGVmYXVsdHJlbmRlcmRldmljZS5oIgogI2luY2x1ZGUgInB1YmxpYy9mcGRmX2VkaXQuaCIKICNpbmNsdWRlICJ0ZXN0aW5nL2VtYmVkZGVyX3Rlc3QuaCIKKyNpbmNsdWRlICJ0ZXN0aW5nL2VtYmVkZGVyX3Rlc3RfY29uc3RhbnRzLmgiCiAjaW5jbHVkZSAidGVzdGluZy9ndGVzdC9pbmNsdWRlL2d0ZXN0L2d0ZXN0LmgiCiAKK3VzaW5nIHBkZml1bTo6UmVjdGFuZ2xlc0NoZWNrc3VtOworCiBjbGFzcyBGUERGRWRpdFBhdGhFbWJlZGRlclRlc3QgOiBwdWJsaWMgRW1iZWRkZXJUZXN0IHt9OwogCiBURVNUX0YoRlBERkVkaXRQYXRoRW1iZWRkZXJUZXN0LCBWZXJpZnlDb3JyZWN0Q29sb3Vyc1JldHVybmVkKSB7CkBAIC02MiwzICs2NiwxMzIgQEAKICAgQ2xvc2VTYXZlZFBhZ2UocGFnZSk7CiAgIENsb3NlU2F2ZWREb2N1bWVudCgpOwogfQorCitURVNUX0YoRlBERkVkaXRQYXRoRW1iZWRkZXJUZXN0LCBHZXRBbmRTZXRNYXRyaXhGb3JQYXRoKSB7CisgIGNvbnN0ZXhwciBpbnQga0V4cGVjdGVkV2lkdGggPSAyMDA7CisgIGNvbnN0ZXhwciBpbnQga0V4cGVjdGVkSGVpZ2h0ID0gMzAwOworCisgIE9wZW5Eb2N1bWVudCgicmVjdGFuZ2xlc19kb3VibGVfZmxpcHBlZC5wZGYiKTsKKyAgRlBERl9QQUdFIHBhZ2UgPSBMb2FkUGFnZSgwKTsKKyAgQVNTRVJUX1RSVUUocGFnZSk7CisKKyAgeworICAgIFNjb3BlZEZQREZCaXRtYXAgYml0bWFwID0gUmVuZGVyTG9hZGVkUGFnZShwYWdlKTsKKyAgICBDb21wYXJlQml0bWFwKGJpdG1hcC5nZXQoKSwga0V4cGVjdGVkV2lkdGgsIGtFeHBlY3RlZEhlaWdodCwKKyAgICAgICAgICAgICAgICAgIFJlY3RhbmdsZXNDaGVja3N1bSgpKTsKKyAgfQorCisgIEZQREZfUEFHRU9CSkVDVCBwYXRoID0gRlBERlBhZ2VfR2V0T2JqZWN0KHBhZ2UsIDApOworICBBU1NFUlRfVFJVRShwYXRoKTsKKyAgQVNTRVJUX0VRKEZQREZfUEFHRU9CSl9QQVRILCBGUERGUGFnZU9ial9HZXRUeXBlKHBhdGgpKTsKKworICBGU19NQVRSSVggbWF0cml4OworICBBU1NFUlRfVFJVRShGUERGUGFnZU9ial9HZXRNYXRyaXgocGF0aCwgJm1hdHJpeCkpOworICBFWFBFQ1RfRkxPQVRfRVEoMS4wZiwgbWF0cml4LmEpOworICBFWFBFQ1RfRkxPQVRfRVEoMC4wZiwgbWF0cml4LmIpOworICBFWFBFQ1RfRkxPQVRfRVEoMC4wZiwgbWF0cml4LmMpOworICBFWFBFQ1RfRkxPQVRfRVEoLTEuMGYsIG1hdHJpeC5kKTsKKyAgRVhQRUNUX0ZMT0FUX0VRKDAuMGYsIG1hdHJpeC5lKTsKKyAgRVhQRUNUX0ZMT0FUX0VRKDMwMC4wZiwgbWF0cml4LmYpOworCisgIEFTU0VSVF9UUlVFKEZQREZQYWdlT2JqX1NldE1hdHJpeChwYXRoLCAmbWF0cml4KSk7CisgIHsKKyAgICBTY29wZWRGUERGQml0bWFwIGJpdG1hcCA9IFJlbmRlckxvYWRlZFBhZ2UocGFnZSk7CisgICAgQ29tcGFyZUJpdG1hcChiaXRtYXAuZ2V0KCksIGtFeHBlY3RlZFdpZHRoLCBrRXhwZWN0ZWRIZWlnaHQsCisgICAgICAgICAgICAgICAgICBSZWN0YW5nbGVzQ2hlY2tzdW0oKSk7CisgIH0KKworICBBU1NFUlRfVFJVRShGUERGUGFnZV9HZW5lcmF0ZUNvbnRlbnQocGFnZSkpOworICBBU1NFUlRfVFJVRShGUERGX1NhdmVBc0NvcHkoZG9jdW1lbnQoKSwgdGhpcywgMCkpOworCisgIHsKKyAgICBTY29wZWRGUERGQml0bWFwIGJpdG1hcCA9IFJlbmRlckxvYWRlZFBhZ2UocGFnZSk7CisgICAgQ29tcGFyZUJpdG1hcChiaXRtYXAuZ2V0KCksIGtFeHBlY3RlZFdpZHRoLCBrRXhwZWN0ZWRIZWlnaHQsCisgICAgICAgICAgICAgICAgICBSZWN0YW5nbGVzQ2hlY2tzdW0oKSk7CisgIH0KKworICBVbmxvYWRQYWdlKHBhZ2UpOworCisgIC8vIFRPRE8oY3JidWcuY29tL3BkZml1bS8yMTMyKTogVGhpcyBzaG91bGQgdXNlIFJlY3RhbmdsZXNDaGVja3N1bSgpLgorICBjb25zdCBjaGFyKiBjb25zdCBrV3JvbmdDaGVja3N1bSA9IFtdKCkgeworICAgIGlmIChDRlhfRGVmYXVsdFJlbmRlckRldmljZTo6VXNlU2tpYVJlbmRlcmVyKCkpIHsKKyAgICAgIHJldHVybiAiYThiMDBiYzQwNjc3YTczYzE1YTA4Yjk3NjlkMWI1NzYiOworICAgIH0KKyAgICByZXR1cm4gIjhmM2E1NTVlZjljMGQ1MDMxODMxYWUzNzE1MjczNzA3IjsKKyAgfSgpOworICBWZXJpZnlTYXZlZERvY3VtZW50KGtFeHBlY3RlZFdpZHRoLCBrRXhwZWN0ZWRIZWlnaHQsIGtXcm9uZ0NoZWNrc3VtKTsKK30KKworVEVTVF9GKEZQREZFZGl0UGF0aEVtYmVkZGVyVGVzdCwgR2V0QW5kU2V0TWF0cml4Rm9yRm9ybVdpdGhQYXRoKSB7CisgIGNvbnN0ZXhwciBpbnQga0V4cGVjdGVkV2lkdGggPSAyMDA7CisgIGNvbnN0ZXhwciBpbnQga0V4cGVjdGVkSGVpZ2h0ID0gMzAwOworCisgIE9wZW5Eb2N1bWVudCgiZm9ybV9vYmplY3Rfd2l0aF9wYXRoLnBkZiIpOworICBGUERGX1BBR0UgcGFnZSA9IExvYWRQYWdlKDApOworICBBU1NFUlRfVFJVRShwYWdlKTsKKworICB7CisgICAgU2NvcGVkRlBERkJpdG1hcCBiaXRtYXAgPSBSZW5kZXJMb2FkZWRQYWdlKHBhZ2UpOworICAgIENvbXBhcmVCaXRtYXAoYml0bWFwLmdldCgpLCBrRXhwZWN0ZWRXaWR0aCwga0V4cGVjdGVkSGVpZ2h0LAorICAgICAgICAgICAgICAgICAgUmVjdGFuZ2xlc0NoZWNrc3VtKCkpOworICB9CisKKyAgRlBERl9QQUdFT0JKRUNUIGZvcm0gPSBGUERGUGFnZV9HZXRPYmplY3QocGFnZSwgMCk7CisgIEFTU0VSVF9UUlVFKGZvcm0pOworICBBU1NFUlRfRVEoRlBERl9QQUdFT0JKX0ZPUk0sIEZQREZQYWdlT2JqX0dldFR5cGUoZm9ybSkpOworCisgIEZTX01BVFJJWCBtYXRyaXg7CisgIEFTU0VSVF9UUlVFKEZQREZQYWdlT2JqX0dldE1hdHJpeChmb3JtLCAmbWF0cml4KSk7CisgIEVYUEVDVF9GTE9BVF9FUSgyLjBmLCBtYXRyaXguYSk7CisgIEVYUEVDVF9GTE9BVF9FUSgwLjBmLCBtYXRyaXguYik7CisgIEVYUEVDVF9GTE9BVF9FUSgwLjBmLCBtYXRyaXguYyk7CisgIEVYUEVDVF9GTE9BVF9FUSgtMS4wZiwgbWF0cml4LmQpOworICBFWFBFQ1RfRkxPQVRfRVEoMC4wZiwgbWF0cml4LmUpOworICBFWFBFQ1RfRkxPQVRfRVEoMzAwLjBmLCBtYXRyaXguZik7CisKKyAgQVNTRVJUX1RSVUUoRlBERlBhZ2VPYmpfU2V0TWF0cml4KGZvcm0sICZtYXRyaXgpKTsKKyAgeworICAgIFNjb3BlZEZQREZCaXRtYXAgYml0bWFwID0gUmVuZGVyTG9hZGVkUGFnZShwYWdlKTsKKyAgICBDb21wYXJlQml0bWFwKGJpdG1hcC5nZXQoKSwga0V4cGVjdGVkV2lkdGgsIGtFeHBlY3RlZEhlaWdodCwKKyAgICAgICAgICAgICAgICAgIFJlY3RhbmdsZXNDaGVja3N1bSgpKTsKKyAgfQorCisgIEZQREZfUEFHRU9CSkVDVCBwYXRoID0gRlBERkZvcm1PYmpfR2V0T2JqZWN0KGZvcm0sIDApOworICBBU1NFUlRfVFJVRShwYXRoKTsKKyAgQVNTRVJUX0VRKEZQREZfUEFHRU9CSl9QQVRILCBGUERGUGFnZU9ial9HZXRUeXBlKHBhdGgpKTsKKworICBBU1NFUlRfVFJVRShGUERGUGFnZU9ial9HZXRNYXRyaXgocGF0aCwgJm1hdHJpeCkpOworICBFWFBFQ1RfRkxPQVRfRVEoMC41ZiwgbWF0cml4LmEpOworICBFWFBFQ1RfRkxPQVRfRVEoMC4wZiwgbWF0cml4LmIpOworICBFWFBFQ1RfRkxPQVRfRVEoMC4wZiwgbWF0cml4LmMpOworICBFWFBFQ1RfRkxPQVRfRVEoLTEuMGYsIG1hdHJpeC5kKTsKKyAgRVhQRUNUX0ZMT0FUX0VRKDAuMGYsIG1hdHJpeC5lKTsKKyAgRVhQRUNUX0ZMT0FUX0VRKDMwMC4wZiwgbWF0cml4LmYpOworCisgIEFTU0VSVF9UUlVFKEZQREZQYWdlT2JqX1NldE1hdHJpeChwYXRoLCAmbWF0cml4KSk7CisgIHsKKyAgICBTY29wZWRGUERGQml0bWFwIGJpdG1hcCA9IFJlbmRlckxvYWRlZFBhZ2UocGFnZSk7CisgICAgQ29tcGFyZUJpdG1hcChiaXRtYXAuZ2V0KCksIGtFeHBlY3RlZFdpZHRoLCBrRXhwZWN0ZWRIZWlnaHQsCisgICAgICAgICAgICAgICAgICBSZWN0YW5nbGVzQ2hlY2tzdW0oKSk7CisgIH0KKworICBBU1NFUlRfVFJVRShGUERGUGFnZV9HZW5lcmF0ZUNvbnRlbnQocGFnZSkpOworICBBU1NFUlRfVFJVRShGUERGX1NhdmVBc0NvcHkoZG9jdW1lbnQoKSwgdGhpcywgMCkpOworCisgIHsKKyAgICBTY29wZWRGUERGQml0bWFwIGJpdG1hcCA9IFJlbmRlckxvYWRlZFBhZ2UocGFnZSk7CisgICAgQ29tcGFyZUJpdG1hcChiaXRtYXAuZ2V0KCksIGtFeHBlY3RlZFdpZHRoLCBrRXhwZWN0ZWRIZWlnaHQsCisgICAgICAgICAgICAgICAgICBSZWN0YW5nbGVzQ2hlY2tzdW0oKSk7CisgIH0KKworICBVbmxvYWRQYWdlKHBhZ2UpOworCisgIC8vIFRPRE8oY3JidWcuY29tL3BkZml1bS8yMTMyKTogVGhpcyBzaG91bGQgdXNlIFJlY3RhbmdsZXNDaGVja3N1bSgpLgorICBjb25zdCBjaGFyKiBjb25zdCBrV3JvbmdDaGVja3N1bSA9IFtdKCkgeworICAgIGlmIChDRlhfRGVmYXVsdFJlbmRlckRldmljZTo6VXNlU2tpYVJlbmRlcmVyKCkpIHsKKyAgICAgIHJldHVybiAiZjdjNjlmOGQwYmI5MjU0MWQ0OGRiYmJiYTAwMzM5NmQiOworICAgIH0KKyAgICByZXR1cm4gIjM3YTIxNTA3MTk4NWJkODgwNzlmZWRiNTZiMDAxNjg1IjsKKyAgfSgpOworICBWZXJpZnlTYXZlZERvY3VtZW50KGtFeHBlY3RlZFdpZHRoLCBrRXhwZWN0ZWRIZWlnaHQsIGtXcm9uZ0NoZWNrc3VtKTsKK30KZGlmZiAtLWdpdCBhL3Rlc3RpbmcvcmVzb3VyY2VzL2Zvcm1fb2JqZWN0X3dpdGhfcGF0aC5pbiBiL3Rlc3RpbmcvcmVzb3VyY2VzL2Zvcm1fb2JqZWN0X3dpdGhfcGF0aC5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZWIxZGFjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdGluZy9yZXNvdXJjZXMvZm9ybV9vYmplY3Rfd2l0aF9wYXRoLmluCkBAIC0wLDAgKzEsNjMgQEAKK3t7aGVhZGVyfX0KK3t7b2JqZWN0IDEgMH19IDw8CisgIC9UeXBlIC9DYXRhbG9nCisgIC9QYWdlcyAyIDAgUgorPj4KK2VuZG9iagore3tvYmplY3QgMiAwfX0gPDwKKyAgL1R5cGUgL1BhZ2VzCisgIC9NZWRpYUJveCBbMCAwIDIwMCAzMDBdCisgIC9Db3VudCAxCisgIC9LaWRzIFszIDAgUl0KKz4+CitlbmRvYmoKK3t7b2JqZWN0IDMgMH19IDw8CisgIC9UeXBlIC9QYWdlCisgIC9QYXJlbnQgMiAwIFIKKyAgL0NvbnRlbnRzIDQgMCBSCisgIC9SZXNvdXJjZXMgPDwKKyAgICAvWE9iamVjdCA8PAorICAgICAgL0YxIDUgMCBSCisgICAgPj4KKyAgPj4KKz4+CitlbmRvYmoKK3t7b2JqZWN0IDQgMH19IDw8CisgIHt7c3RyZWFtbGVufX0KKz4+CitzdHJlYW0KKzIgMCAwIC0xIDAgMzAwIGNtCitxCisvRjEgRG8KK1EKK2VuZHN0cmVhbQorZW5kb2JqCit7e29iamVjdCA1IDB9fSA8PAorICAvVHlwZSAvWE9iamVjdAorICAvU3VidHlwZSAvRm9ybQorICAvQkJveCBbMCAwIDIwMCAzMDBdCis+Pgorc3RyZWFtCitxCiswLjUgMCAwIC0xIDAgMzAwIGNtCitxCiswIDAgMCByZworMCAyOTAgMTAgMTAgcmUgQioKKzEwIDE1MCA1MCAzMCByZSBCKgorMCAwIDEgcmcKKzE5MCAyOTAgMTAgMTAgcmUgQioKKzcwIDIzMiA1MCAzMCByZSBCKgorMCAxIDAgcmcKKzE5MCAwIDEwIDEwIHJlIEIqCisxMzAgMTUwIDUwIDMwIHJlIEIqCisxIDAgMCByZworMCAwIDEwIDEwIHJlIEIqCis3MCA2NyA1MCAzMCByZSBCKgorUQorUQorZW5kc3RyZWFtCitlbmRvYmoKK3t7eHJlZn19Cit7e3RyYWlsZXJ9fQore3tzdGFydHhyZWZ9fQorJSVFT0YKZGlmZiAtLWdpdCBhL3Rlc3RpbmcvcmVzb3VyY2VzL2Zvcm1fb2JqZWN0X3dpdGhfcGF0aC5wZGYgYi90ZXN0aW5nL3Jlc291cmNlcy9mb3JtX29iamVjdF93aXRoX3BhdGgucGRmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0OWRkMGMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0aW5nL3Jlc291cmNlcy9mb3JtX29iamVjdF93aXRoX3BhdGgucGRmCkBAIC0wLDAgKzEsNzUgQEAKKyVQREYtMS43CisloPKk9AorMSAwIG9iaiA8PAorICAvVHlwZSAvQ2F0YWxvZworICAvUGFnZXMgMiAwIFIKKz4+CitlbmRvYmoKKzIgMCBvYmogPDwKKyAgL1R5cGUgL1BhZ2VzCisgIC9NZWRpYUJveCBbMCAwIDIwMCAzMDBdCisgIC9Db3VudCAxCisgIC9LaWRzIFszIDAgUl0KKz4+CitlbmRvYmoKKzMgMCBvYmogPDwKKyAgL1R5cGUgL1BhZ2UKKyAgL1BhcmVudCAyIDAgUgorICAvQ29udGVudHMgNCAwIFIKKyAgL1Jlc291cmNlcyA8PAorICAgIC9YT2JqZWN0IDw8CisgICAgICAvRjEgNSAwIFIKKyAgICA+PgorICA+PgorPj4KK2VuZG9iagorNCAwIG9iaiA8PAorICAvTGVuZ3RoIDI5Cis+Pgorc3RyZWFtCisyIDAgMCAtMSAwIDMwMCBjbQorcQorL0YxIERvCitRCitlbmRzdHJlYW0KK2VuZG9iagorNSAwIG9iaiA8PAorICAvVHlwZSAvWE9iamVjdAorICAvU3VidHlwZSAvRm9ybQorICAvQkJveCBbMCAwIDIwMCAzMDBdCis+Pgorc3RyZWFtCitxCiswLjUgMCAwIC0xIDAgMzAwIGNtCitxCiswIDAgMCByZworMCAyOTAgMTAgMTAgcmUgQioKKzEwIDE1MCA1MCAzMCByZSBCKgorMCAwIDEgcmcKKzE5MCAyOTAgMTAgMTAgcmUgQioKKzcwIDIzMiA1MCAzMCByZSBCKgorMCAxIDAgcmcKKzE5MCAwIDEwIDEwIHJlIEIqCisxMzAgMTUwIDUwIDMwIHJlIEIqCisxIDAgMCByZworMCAwIDEwIDEwIHJlIEIqCis3MCA2NyA1MCAzMCByZSBCKgorUQorUQorZW5kc3RyZWFtCitlbmRvYmoKK3hyZWYKKzAgNgorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAxNSAwMDAwMCBuIAorMDAwMDAwMDA2OCAwMDAwMCBuIAorMDAwMDAwMDE1NyAwMDAwMCBuIAorMDAwMDAwMDI4NiAwMDAwMCBuIAorMDAwMDAwMDM2NiAwMDAwMCBuIAordHJhaWxlciA8PAorICAvUm9vdCAxIDAgUgorICAvU2l6ZSA2Cis+Pgorc3RhcnR4cmVmCis2NzIKKyUlRU9GCmRpZmYgLS1naXQgYS90ZXN0aW5nL3Jlc291cmNlcy9yZWN0YW5nbGVzX2RvdWJsZV9mbGlwcGVkLmluIGIvdGVzdGluZy9yZXNvdXJjZXMvcmVjdGFuZ2xlc19kb3VibGVfZmxpcHBlZC5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMmY4YTk1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdGluZy9yZXNvdXJjZXMvcmVjdGFuZ2xlc19kb3VibGVfZmxpcHBlZC5pbgpAQCAtMCwwICsxLDQ0IEBACit7e2hlYWRlcn19Cit7e29iamVjdCAxIDB9fSA8PAorICAvVHlwZSAvQ2F0YWxvZworICAvUGFnZXMgMiAwIFIKKz4+CitlbmRvYmoKK3t7b2JqZWN0IDIgMH19IDw8CisgIC9UeXBlIC9QYWdlcworICAvTWVkaWFCb3ggWzAgMCAyMDAgMzAwXQorICAvQ291bnQgMQorICAvS2lkcyBbMyAwIFJdCis+PgorZW5kb2JqCit7e29iamVjdCAzIDB9fSA8PAorICAvVHlwZSAvUGFnZQorICAvUGFyZW50IDIgMCBSCisgIC9Db250ZW50cyA0IDAgUgorPj4KK2VuZG9iagore3tvYmplY3QgNCAwfX0gPDwKKyAge3tzdHJlYW1sZW59fQorPj4KK3N0cmVhbQorMSAwIDAgLTEgMCAzMDAgY20KK3EKKzAgMCAwIHJnCiswIDEwIDEwIC0xMCByZSBCKgorMTAgMTUwIDUwIC0zMCByZSBCKgorMCAwIDEgcmcKKzE5MCAxMCAxMCAtMTAgcmUgQioKKzcwIDY4IDUwIC0zMCByZSBCKgorMCAxIDAgcmcKKzE5MCAzMDAgMTAgLTEwIHJlIEIqCisxMzAgMTUwIDUwIC0zMCByZSBCKgorMSAwIDAgcmcKKzAgMzAwIDEwIC0xMCByZSBCKgorNzAgMjMzIDUwIC0zMCByZSBCKgorUQorZW5kc3RyZWFtCitlbmRvYmoKK3t7eHJlZn19Cit7e3RyYWlsZXJ9fQore3tzdGFydHhyZWZ9fQorJSVFT0YKZGlmZiAtLWdpdCBhL3Rlc3RpbmcvcmVzb3VyY2VzL3JlY3RhbmdsZXNfZG91YmxlX2ZsaXBwZWQucGRmIGIvdGVzdGluZy9yZXNvdXJjZXMvcmVjdGFuZ2xlc19kb3VibGVfZmxpcHBlZC5wZGYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTE4MDQwMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RpbmcvcmVzb3VyY2VzL3JlY3RhbmdsZXNfZG91YmxlX2ZsaXBwZWQucGRmCkBAIC0wLDAgKzEsNTUgQEAKKyVQREYtMS43CisloPKk9AorMSAwIG9iaiA8PAorICAvVHlwZSAvQ2F0YWxvZworICAvUGFnZXMgMiAwIFIKKz4+CitlbmRvYmoKKzIgMCBvYmogPDwKKyAgL1R5cGUgL1BhZ2VzCisgIC9NZWRpYUJveCBbMCAwIDIwMCAzMDBdCisgIC9Db3VudCAxCisgIC9LaWRzIFszIDAgUl0KKz4+CitlbmRvYmoKKzMgMCBvYmogPDwKKyAgL1R5cGUgL1BhZ2UKKyAgL1BhcmVudCAyIDAgUgorICAvQ29udGVudHMgNCAwIFIKKz4+CitlbmRvYmoKKzQgMCBvYmogPDwKKyAgL0xlbmd0aCAyMTYKKz4+CitzdHJlYW0KKzEgMCAwIC0xIDAgMzAwIGNtCitxCiswIDAgMCByZworMCAxMCAxMCAtMTAgcmUgQioKKzEwIDE1MCA1MCAtMzAgcmUgQioKKzAgMCAxIHJnCisxOTAgMTAgMTAgLTEwIHJlIEIqCis3MCA2OCA1MCAtMzAgcmUgQioKKzAgMSAwIHJnCisxOTAgMzAwIDEwIC0xMCByZSBCKgorMTMwIDE1MCA1MCAtMzAgcmUgQioKKzEgMCAwIHJnCiswIDMwMCAxMCAtMTAgcmUgQioKKzcwIDIzMyA1MCAtMzAgcmUgQioKK1EKK2VuZHN0cmVhbQorZW5kb2JqCit4cmVmCiswIDUKKzAwMDAwMDAwMDAgNjU1MzUgZiAKKzAwMDAwMDAwMTUgMDAwMDAgbiAKKzAwMDAwMDAwNjggMDAwMDAgbiAKKzAwMDAwMDAxNTcgMDAwMDAgbiAKKzAwMDAwMDAyMjYgMDAwMDAgbiAKK3RyYWlsZXIgPDwKKyAgL1Jvb3QgMSAwIFIKKyAgL1NpemUgNQorPj4KK3N0YXJ0eHJlZgorNDk0CislJUVPRgo=