ZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvaW8uYyBiL2FyY2gvYXJtL21hY2gtb21hcDIvaW8uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZWE2N2JmCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9pby5jCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBsaW51eC9hcmNoL2FybS9tYWNoLW9tYXAyL2lvLmMKKyAqCisgKiBPTUFQMiBJL08gbWFwcGluZyBjb2RlCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA1IE5va2lhIENvcnBvcmF0aW9uCisgKiBBdXRob3I6IEp1aGEgWXJq9mzkIDxqdWhhLnlyam9sYUBub2tpYS5jb20+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqLworCisjaW5jbHVkZSA8bGludXgvY29uZmlnLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorCisjaW5jbHVkZSA8YXNtL21hY2gvbWFwLmg+CisjaW5jbHVkZSA8YXNtL2lvLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvbXV4Lmg+CisKK2V4dGVybiB2b2lkIG9tYXBfc3JhbV9pbml0KHZvaWQpOworZXh0ZXJuIGludCBvbWFwMl9jbGtfaW5pdCh2b2lkKTsKK2V4dGVybiB2b2lkIG9tYXAyX2NoZWNrX3JldmlzaW9uKHZvaWQpOworCisvKgorICogVGhlIG1hY2hpbmUgc3BlY2lmaWMgY29kZSBtYXkgcHJvdmlkZSB0aGUgZXh0cmEgbWFwcGluZyBiZXNpZGVzIHRoZQorICogZGVmYXVsdCBtYXBwaW5nIHByb3ZpZGVkIGhlcmUuCisgKi8KK3N0YXRpYyBzdHJ1Y3QgbWFwX2Rlc2Mgb21hcDJfaW9fZGVzY1tdIF9faW5pdGRhdGEgPSB7CisJeworCQkudmlydHVhbAk9IEwzXzI0WFhfVklSVCwKKwkJLnBmbgkJPSBfX3BoeXNfdG9fcGZuKEwzXzI0WFhfUEhZUyksCisJCS5sZW5ndGgJCT0gTDNfMjRYWF9TSVpFLAorCQkudHlwZQkJPSBNVF9ERVZJQ0UKKwl9LAorCXsKKwkJLnZpcnR1YWwJPSBMNF8yNFhYX1ZJUlQsCisJCS5wZm4JCT0gX19waHlzX3RvX3BmbihMNF8yNFhYX1BIWVMpLAorCQkubGVuZ3RoCQk9IEw0XzI0WFhfU0laRSwKKwkJLnR5cGUJCT0gTVRfREVWSUNFCisJfQorfTsKKwordm9pZCBfX2luaXQgb21hcF9tYXBfY29tbW9uX2lvKHZvaWQpCit7CisJaW90YWJsZV9pbml0KG9tYXAyX2lvX2Rlc2MsIEFSUkFZX1NJWkUob21hcDJfaW9fZGVzYykpOworCW9tYXAyX2NoZWNrX3JldmlzaW9uKCk7CisJb21hcF9zcmFtX2luaXQoKTsKKwlvbWFwMl9tdXhfaW5pdCgpOworCW9tYXAyX2Nsa19pbml0KCk7Cit9Cg==