ZGlmZiAtLWdpdCBhL2ZwZGZzZGsvZnBkZl90ZXh0LmNwcCBiL2ZwZGZzZGsvZnBkZl90ZXh0LmNwcAppbmRleCBlMjA0NDY1Li4xMzg3NDczIDEwMDY0NAotLS0gYS9mcGRmc2RrL2ZwZGZfdGV4dC5jcHAKKysrIGIvZnBkZnNkay9mcGRmX3RleHQuY3BwCkBAIC0xMSw2ICsxMSw3IEBACiAjaW5jbHVkZSA8dmVjdG9yPgogCiAjaW5jbHVkZSAiYnVpbGQvYnVpbGRfY29uZmlnLmgiCisjaW5jbHVkZSAiY29yZS9mcGRmYXBpL2ZvbnQvY3BkZl9jaWRmb250LmgiCiAjaW5jbHVkZSAiY29yZS9mcGRmYXBpL2ZvbnQvY3BkZl9mb250LmgiCiAjaW5jbHVkZSAiY29yZS9mcGRmYXBpL3BhZ2UvY3BkZl9wYWdlLmgiCiAjaW5jbHVkZSAiY29yZS9mcGRmYXBpL3BhZ2UvY3BkZl90ZXh0b2JqZWN0LmgiCkBAIC0yMzYsNiArMjM3LDYzIEBACiB9CiAKIEZQREZfRVhQT1JUIEZQREZfQk9PTCBGUERGX0NBTExDT05WCitGUERGVGV4dF9HZXRMb29zZUNoYXJCb3goRlBERl9URVhUUEFHRSB0ZXh0X3BhZ2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGluZGV4LAorICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSogbGVmdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBkb3VibGUqIHJpZ2h0LAorICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSogYm90dG9tLAorICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSogdG9wKSB7CisgIENQREZfVGV4dFBhZ2UqIHRleHRwYWdlID0gR2V0VGV4dFBhZ2VGb3JWYWxpZEluZGV4KHRleHRfcGFnZSwgaW5kZXgpOworICBpZiAoIXRleHRwYWdlKQorICAgIHJldHVybiBmYWxzZTsKKworICBGUERGX0NIQVJfSU5GTyBjaGFyaW5mbzsKKyAgdGV4dHBhZ2UtPkdldENoYXJJbmZvKGluZGV4LCAmY2hhcmluZm8pOworCisgIGlmIChjaGFyaW5mby5tX3BUZXh0T2JqICYmICFJc0Zsb2F0WmVybyhjaGFyaW5mby5tX0ZvbnRTaXplKSkgeworICAgIGJvb2wgaXNfdmVydF93cml0aW5nID0gY2hhcmluZm8ubV9wVGV4dE9iai0+R2V0Rm9udCgpLT5Jc1ZlcnRXcml0aW5nKCk7CisgICAgaWYgKGlzX3ZlcnRfd3JpdGluZyAmJiBjaGFyaW5mby5tX3BUZXh0T2JqLT5HZXRGb250KCktPklzQ0lERm9udCgpKSB7CisgICAgICBDUERGX0NJREZvbnQqIHBDSURGb250ID0gY2hhcmluZm8ubV9wVGV4dE9iai0+R2V0Rm9udCgpLT5Bc0NJREZvbnQoKTsKKyAgICAgIHVpbnQxNl90IGNpZCA9IHBDSURGb250LT5DSURGcm9tQ2hhckNvZGUoY2hhcmluZm8ubV9DaGFyY29kZSk7CisKKyAgICAgIHNob3J0IHZ4OworICAgICAgc2hvcnQgdnk7CisgICAgICBwQ0lERm9udC0+R2V0VmVydE9yaWdpbihjaWQsIHZ4LCB2eSk7CisgICAgICBkb3VibGUgb2Zmc2V0eCA9ICh2eCAtIDUwMCkgKiBjaGFyaW5mby5tX0ZvbnRTaXplIC8gMTAwMC4wOworICAgICAgZG91YmxlIG9mZnNldHkgPSB2eSAqIGNoYXJpbmZvLm1fRm9udFNpemUgLyAxMDAwLjA7CisgICAgICBzaG9ydCB2ZXJ0X3dpZHRoID0gcENJREZvbnQtPkdldFZlcnRXaWR0aChjaWQpOworICAgICAgZG91YmxlIGhlaWdodCA9IHZlcnRfd2lkdGggKiBjaGFyaW5mby5tX0ZvbnRTaXplIC8gMTAwMC4wOworCisgICAgICAqbGVmdCA9IGNoYXJpbmZvLm1fT3JpZ2luLnggKyBvZmZzZXR4OworICAgICAgKnJpZ2h0ID0gKmxlZnQgKyBjaGFyaW5mby5tX0ZvbnRTaXplOworICAgICAgKmJvdHRvbSA9IGNoYXJpbmZvLm1fT3JpZ2luLnkgKyBvZmZzZXR5OworICAgICAgKnRvcCA9ICpib3R0b20gKyBoZWlnaHQ7CisgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBpbnQgYXNjZW50ID0gY2hhcmluZm8ubV9wVGV4dE9iai0+R2V0Rm9udCgpLT5HZXRUeXBlQXNjZW50KCk7CisgICAgaW50IGRlc2NlbnQgPSBjaGFyaW5mby5tX3BUZXh0T2JqLT5HZXRGb250KCktPkdldFR5cGVEZXNjZW50KCk7CisgICAgaWYgKGFzY2VudCAhPSBkZXNjZW50KSB7CisgICAgICBmbG9hdCB3aWR0aCA9IGNoYXJpbmZvLm1fcFRleHRPYmotPkdldENoYXJXaWR0aChjaGFyaW5mby5tX0NoYXJjb2RlKTsKKyAgICAgIGZsb2F0IGZvbnRfc2NhbGUgPSBjaGFyaW5mby5tX0ZvbnRTaXplIC8gKGFzY2VudCAtIGRlc2NlbnQpOworCisgICAgICAqbGVmdCA9IGNoYXJpbmZvLm1fT3JpZ2luLng7CisgICAgICAqcmlnaHQgPSBjaGFyaW5mby5tX09yaWdpbi54ICsgKGlzX3ZlcnRfd3JpdGluZyA/IC13aWR0aCA6IHdpZHRoKTsKKyAgICAgICpib3R0b20gPSBjaGFyaW5mby5tX09yaWdpbi55ICsgZGVzY2VudCAqIGZvbnRfc2NhbGU7CisgICAgICAqdG9wID0gY2hhcmluZm8ubV9PcmlnaW4ueSArIGFzY2VudCAqIGZvbnRfc2NhbGU7CisgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgIH0KKworICAvLyBGYWxsYmFjayB0byB0aGUgdGlnaHQgYm91bmRzIGluIGVtcHR5IHRleHQgc2NlbmFyaW9zLCBvciBiYWQgZm9udCBtZXRyaWNzCisgICpsZWZ0ID0gY2hhcmluZm8ubV9DaGFyQm94LmxlZnQ7CisgICpyaWdodCA9IGNoYXJpbmZvLm1fQ2hhckJveC5yaWdodDsKKyAgKmJvdHRvbSA9IGNoYXJpbmZvLm1fQ2hhckJveC5ib3R0b207CisgICp0b3AgPSBjaGFyaW5mby5tX0NoYXJCb3gudG9wOworICByZXR1cm4gdHJ1ZTsKK30KKworRlBERl9FWFBPUlQgRlBERl9CT09MIEZQREZfQ0FMTENPTlYKIEZQREZUZXh0X0dldENoYXJPcmlnaW4oRlBERl9URVhUUEFHRSB0ZXh0X3BhZ2UsCiAgICAgICAgICAgICAgICAgICAgICAgIGludCBpbmRleCwKICAgICAgICAgICAgICAgICAgICAgICAgZG91YmxlKiB4LApkaWZmIC0tZ2l0IGEvZnBkZnNkay9mcGRmX3RleHRfZW1iZWRkZXJ0ZXN0LmNwcCBiL2ZwZGZzZGsvZnBkZl90ZXh0X2VtYmVkZGVydGVzdC5jcHAKaW5kZXggZTRkMTFlZC4uZTNiODIxNiAxMDA2NDQKLS0tIGEvZnBkZnNkay9mcGRmX3RleHRfZW1iZWRkZXJ0ZXN0LmNwcAorKysgYi9mcGRmc2RrL2ZwZGZfdGV4dF9lbWJlZGRlcnRlc3QuY3BwCkBAIC0xMTcsNiArMTE3LDE0IEBACiAgIEVYUEVDVF9ORUFSKDQ5Ljg0NCwgYm90dG9tLCAwLjAwMSk7CiAgIEVYUEVDVF9ORUFSKDU1LjUyMCwgdG9wLCAwLjAwMSk7CiAKKyAgRVhQRUNUX1RSVUUoCisgICAgICBGUERGVGV4dF9HZXRMb29zZUNoYXJCb3godGV4dHBhZ2UsIDQsICZsZWZ0LCAmcmlnaHQsICZib3R0b20sICZ0b3ApKTsKKyAgRVhQRUNUX05FQVIoNDAuNjY0LCBsZWZ0LCAwLjAwMSk7CisgIEVYUEVDVF9ORUFSKDQ2LjY2NCwgcmlnaHQsIDAuMDAxKTsKKyAgRVhQRUNUX05FQVIoNDcuNjY3LCBib3R0b20sIDAuMDAxKTsKKyAgRVhQRUNUX05FQVIoNTkuNjY3LCB0b3AsIDAuMDAxKTsKKyAgRVhQRUNUX05FQVIoMTIuMDAwLCB0b3AgLSBib3R0b20sIDAuMDAxKTsKKwogICBkb3VibGUgeCA9IDAuMDsKICAgZG91YmxlIHkgPSAwLjA7CiAgIEVYUEVDVF9UUlVFKEZQREZUZXh0X0dldENoYXJPcmlnaW4odGV4dHBhZ2UsIDQsICZ4LCAmeSkpOwpAQCAtMTkzLDYgKzIwMSw1MCBAQAogICBVbmxvYWRQYWdlKHBhZ2UpOwogfQogCitURVNUX0YoRlBERlRleHRFbWJlZGRlclRlc3QsIFRleHRWZXJ0aWNhbCkgeworICBBU1NFUlRfVFJVRShPcGVuRG9jdW1lbnQoInZlcnRpY2FsX3RleHQucGRmIikpOworICBGUERGX1BBR0UgcGFnZSA9IExvYWRQYWdlKDApOworICBBU1NFUlRfVFJVRShwYWdlKTsKKworICBGUERGX1RFWFRQQUdFIHRleHRwYWdlID0gRlBERlRleHRfTG9hZFBhZ2UocGFnZSk7CisgIEFTU0VSVF9UUlVFKHRleHRwYWdlKTsKKworICBFWFBFQ1RfRVEoMTIuMCwgRlBERlRleHRfR2V0Rm9udFNpemUodGV4dHBhZ2UsIDApKTsKKworICBkb3VibGUgeCA9IDAuMDsKKyAgZG91YmxlIHkgPSAwLjA7CisgIEVYUEVDVF9UUlVFKEZQREZUZXh0X0dldENoYXJPcmlnaW4odGV4dHBhZ2UsIDEsICZ4LCAmeSkpOworICBFWFBFQ1RfTkVBUig2LjY2NCwgeCwgMC4wMDEpOworICBFWFBFQ1RfTkVBUigxNzEuNTA4LCB5LCAwLjAwMSk7CisKKyAgRVhQRUNUX1RSVUUoRlBERlRleHRfR2V0Q2hhck9yaWdpbih0ZXh0cGFnZSwgMiwgJngsICZ5KSk7CisgIEVYUEVDVF9ORUFSKDguNjY4LCB4LCAwLjAwMSk7CisgIEVYUEVDVF9ORUFSKDE2MC40OTIsIHksIDAuMDAxKTsKKworICBkb3VibGUgbGVmdCA9IDAuMDsKKyAgZG91YmxlIHJpZ2h0ID0gMC4wOworICBkb3VibGUgYm90dG9tID0gMC4wOworICBkb3VibGUgdG9wID0gMC4wOworICBFWFBFQ1RfVFJVRSgKKyAgICAgIEZQREZUZXh0X0dldExvb3NlQ2hhckJveCh0ZXh0cGFnZSwgMSwgJmxlZnQsICZyaWdodCwgJmJvdHRvbSwgJnRvcCkpOworICBFWFBFQ1RfTkVBUig0LCBsZWZ0LCAwLjAwMSk7CisgIEVYUEVDVF9ORUFSKDE2LCByaWdodCwgMC4wMDEpOworICBFWFBFQ1RfTkVBUigxNzguOTg0LCBib3R0b20sIDAuMDAxKTsKKyAgRVhQRUNUX05FQVIoMTcwLjMwOCwgdG9wLCAwLjAwMSk7CisgIEVYUEVDVF9ORUFSKDEyLjAwMCwgcmlnaHQgLSBsZWZ0LCAwLjAwMSk7CisKKyAgRVhQRUNUX1RSVUUoCisgICAgICBGUERGVGV4dF9HZXRMb29zZUNoYXJCb3godGV4dHBhZ2UsIDIsICZsZWZ0LCAmcmlnaHQsICZib3R0b20sICZ0b3ApKTsKKyAgRVhQRUNUX05FQVIoNCwgbGVmdCwgMC4wMDEpOworICBFWFBFQ1RfTkVBUigxNiwgcmlnaHQsIDAuMDAxKTsKKyAgRVhQRUNUX05FQVIoMTcwLjMwOCwgYm90dG9tLCAwLjAwMSk7CisgIEVYUEVDVF9ORUFSKDE1OS4yOTIsIHRvcCwgMC4wMDEpOworICBFWFBFQ1RfTkVBUigxMi4wMDAsIHJpZ2h0IC0gbGVmdCwgMC4wMDEpOworCisgIEZQREZUZXh0X0Nsb3NlUGFnZSh0ZXh0cGFnZSk7CisgIFVubG9hZFBhZ2UocGFnZSk7Cit9CisKIFRFU1RfRihGUERGVGV4dEVtYmVkZGVyVGVzdCwgVGV4dFNlYXJjaCkgewogICBBU1NFUlRfVFJVRShPcGVuRG9jdW1lbnQoImhlbGxvX3dvcmxkLnBkZiIpKTsKICAgRlBERl9QQUdFIHBhZ2UgPSBMb2FkUGFnZSgwKTsKZGlmZiAtLWdpdCBhL2ZwZGZzZGsvZnBkZl92aWV3X2NfYXBpX3Rlc3QuYyBiL2ZwZGZzZGsvZnBkZl92aWV3X2NfYXBpX3Rlc3QuYwppbmRleCAwYTdiYWY3Li5lN2QxMDI2IDEwMDY0NAotLS0gYS9mcGRmc2RrL2ZwZGZfdmlld19jX2FwaV90ZXN0LmMKKysrIGIvZnBkZnNkay9mcGRmX3ZpZXdfY19hcGlfdGVzdC5jCkBAIC0zNDAsNiArMzQwLDcgQEAKICAgICBDSEsoRlBERlRleHRfR2V0Rm9udEluZm8pOwogICAgIENISyhGUERGVGV4dF9HZXRGb250U2l6ZSk7CiAgICAgQ0hLKEZQREZUZXh0X0dldEZvbnRXZWlnaHQpOworICAgIENISyhGUERGVGV4dF9HZXRMb29zZUNoYXJCb3gpOwogICAgIENISyhGUERGVGV4dF9HZXRSZWN0KTsKICAgICBDSEsoRlBERlRleHRfR2V0U2NoQ291bnQpOwogICAgIENISyhGUERGVGV4dF9HZXRTY2hSZXN1bHRJbmRleCk7CmRpZmYgLS1naXQgYS9wdWJsaWMvZnBkZl90ZXh0LmggYi9wdWJsaWMvZnBkZl90ZXh0LmgKaW5kZXggMDQ2NjRiZS4uZDcxZTE0NiAxMDA2NDQKLS0tIGEvcHVibGljL2ZwZGZfdGV4dC5oCisrKyBiL3B1YmxpYy9mcGRmX3RleHQuaApAQCAtMjM3LDYgKzIzNywzOCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb3VibGUqIGJvdHRvbSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG91YmxlKiB0b3ApOwogCisvLyBFeHBlcmltZW50YWwgQVBJLgorLy8gRnVuY3Rpb246IEZQREZUZXh0X0dldExvb3NlQ2hhckJveAorLy8gICAgICAgICAgR2V0IGEgImxvb3NlIiBib3VuZGluZyBib3ggb2YgYSBwYXJ0aWN1bGFyIGNoYXJhY3RlciwgaS5lLiwgY292ZXJpbmcKKy8vICAgICAgICAgIHRoZSBlbnRpcmUgZ2x5cGggYm91bmRzLCB3aXRob3V0IHRha2luZyB0aGUgYWN0dWFsIGdseXBoIHNoYXBlIGludG8KKy8vICAgICAgICAgIGFjY291bnQuCisvLyBQYXJhbWV0ZXJzOgorLy8gICAgICAgICAgdGV4dF9wYWdlICAgLSAgIEhhbmRsZSB0byBhIHRleHQgcGFnZSBpbmZvcm1hdGlvbiBzdHJ1Y3R1cmUuCisvLyAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuZWQgYnkgRlBERlRleHRfTG9hZFBhZ2UgZnVuY3Rpb24uCisvLyAgICAgICAgICBpbmRleCAgICAgICAtICAgWmVyby1iYXNlZCBpbmRleCBvZiB0aGUgY2hhcmFjdGVyLgorLy8gICAgICAgICAgbGVmdCAgICAgICAgLSAgIFBvaW50ZXIgdG8gYSBkb3VibGUgbnVtYmVyIHJlY2VpdmluZyBsZWZ0IHBvc2l0aW9uCisvLyAgICAgICAgICAgICAgICAgICAgICAgICAgb2YgdGhlIGNoYXJhY3RlciBib3guCisvLyAgICAgICAgICByaWdodCAgICAgICAtICAgUG9pbnRlciB0byBhIGRvdWJsZSBudW1iZXIgcmVjZWl2aW5nIHJpZ2h0IHBvc2l0aW9uCisvLyAgICAgICAgICAgICAgICAgICAgICAgICAgb2YgdGhlIGNoYXJhY3RlciBib3guCisvLyAgICAgICAgICBib3R0b20gICAgICAtICAgUG9pbnRlciB0byBhIGRvdWJsZSBudW1iZXIgcmVjZWl2aW5nIGJvdHRvbSBwb3NpdGlvbgorLy8gICAgICAgICAgICAgICAgICAgICAgICAgIG9mIHRoZSBjaGFyYWN0ZXIgYm94LgorLy8gICAgICAgICAgdG9wICAgICAgICAgLSAgIFBvaW50ZXIgdG8gYSBkb3VibGUgbnVtYmVyIHJlY2VpdmluZyB0b3AgcG9zaXRpb24gb2YKKy8vICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgY2hhcmFjdGVyIGJveC4KKy8vIFJldHVybiBWYWx1ZToKKy8vICAgICAgICAgIE9uIHN1Y2Nlc3MsIHJldHVybiBUUlVFIGFuZCBmaWxsIGluIHxsZWZ0fCwgfHJpZ2h0fCwgfGJvdHRvbXwsIGFuZAorLy8gICAgICAgICAgfHRvcHwuIElmIHx0ZXh0X3BhZ2V8IGlzIGludmFsaWQsIG9yIGlmIHxpbmRleHwgaXMgb3V0IG9mIGJvdW5kcywKKy8vICAgICAgICAgIHRoZW4gcmV0dXJuIEZBTFNFLCBhbmQgdGhlIG91dCBwYXJhbWV0ZXJzIHJlbWFpbiB1bm1vZGlmaWVkLgorLy8gQ29tbWVudHM6CisvLyAgICAgICAgICBBbGwgcG9zaXRpb25zIGFyZSBtZWFzdXJlZCBpbiBQREYgInVzZXIgc3BhY2UiLgorLy8KK0ZQREZfRVhQT1JUIEZQREZfQk9PTCBGUERGX0NBTExDT05WCitGUERGVGV4dF9HZXRMb29zZUNoYXJCb3goRlBERl9URVhUUEFHRSB0ZXh0X3BhZ2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGluZGV4LAorICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSogbGVmdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBkb3VibGUqIHJpZ2h0LAorICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSogYm90dG9tLAorICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSogdG9wKTsKKwogLy8gRnVuY3Rpb246IEZQREZUZXh0X0dldENoYXJPcmlnaW4KIC8vICAgICAgICAgIEdldCBvcmlnaW4gb2YgYSBwYXJ0aWN1bGFyIGNoYXJhY3Rlci4KIC8vIFBhcmFtZXRlcnM6CmRpZmYgLS1naXQgYS90ZXN0aW5nL3Jlc291cmNlcy92ZXJ0aWNhbF90ZXh0LmluIGIvdGVzdGluZy9yZXNvdXJjZXMvdmVydGljYWxfdGV4dC5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YTg3NGMzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdGluZy9yZXNvdXJjZXMvdmVydGljYWxfdGV4dC5pbgpAQCAtMCwwICsxLDkyIEBACit7e2hlYWRlcn19Cit7e29iamVjdCAxIDB9fSA8PAorICAvVHlwZSAvQ2F0YWxvZworICAvUGFnZXMgMiAwIFIKKz4+CitlbmRvYmoKK3t7b2JqZWN0IDIgMH19IDw8CisgIC9UeXBlIC9QYWdlcworICAvTWVkaWFCb3ggWyAwIDAgMjAwIDIwMCBdCisgIC9Db3VudCAxCisgIC9LaWRzIFsgMyAwIFIgXQorPj4KK2VuZG9iagore3tvYmplY3QgMyAwfX0gPDwKKyAgL1R5cGUgL1BhZ2UKKyAgL1BhcmVudCAyIDAgUgorICAvUmVzb3VyY2VzIDw8CisgICAgL0ZvbnQgPDwKKyAgICAgIC9GMSA0IDAgUgorICAgID4+CisgID4+CisgIC9Db250ZW50cyA3IDAgUgorPj4KK2VuZG9iagore3tvYmplY3QgNCAwfX0gPDwKKyAgL1R5cGUgL0ZvbnQKKyAgL1N1YnR5cGUgL1R5cGUwCisgIC9FbmNvZGluZyAvVW5pR0ItVVRGMTYtVgorICAvQmFzZUZvbnQgL0hlbHZldGljYQorICAvRGVzY2VuZGFudEZvbnRzIFs1IDAgUl0KKz4+CitlbmRvYmoKK3t7b2JqZWN0IDUgMH19IDw8CisgIC9UeXBlIC9Gb250CisgIC9TdWJ0eXBlIC9DSURGb250VHlwZTIKKyAgL0Jhc2VGb250IC9IZWx2ZXRpY2EKKyAgL0NJRFN5c3RlbUluZm8gPDwvUmVnaXN0cnkgKEFkb2JlKSAvT3JkZXJpbmcgKEdCMSkgL1N1cHBsZW1lbnQgND4+CisgIC9Gb250RGVzY3JpcHRvciA2IDAgUgorICAvRFcgMTAwMAorICAvVyBbCisgICAgMSBbMjc4XSAgJXNwYWNlCisgICAgMiBbMjc4XSAgJSEKKyAgICA0MSBbNzIyXSAlSAorICAgIDU2IFs5NDRdICVXCisgICAgNjkgWzU1Nl0gJWQKKyAgICA3MCBbNTU2XSAlZQorICAgIDc3IFsyMjJdICVsCisgICAgODAgWzU1Nl0gJW8KKyAgICA4MyBbMzMzXSAlcgorICBdCisgIC9EVzIgWzAgLTEwMDBdCisgIC9XMiBbCisgICAgMSBbLTcyMyAxMzkgNjIzXSAgICAlc3BhY2UKKyAgICAyIFstOTE4IDEzOSA4MThdICAgICUhCisgICAgNDEgWy05MTggMzYxIDgxOF0gICAlSAorICAgIDU2IFstOTE4IDQ3MiA4MThdICAgJVcKKyAgICA2OSBbLTkxOCAyNzggODE4XSAgICVkCisgICAgNzAgWy03MjMgMjc4IDYyM10gICAlZQorICAgIDc3IFstOTE4IDExMSA4MThdICAgJWwKKyAgICA4MCBbLTcyMyAyNzggNjIzXSAgICVvCisgICAgODMgWy03MjMgMTY2LjUgNjIzXSAlcgorICBdCis+PgorZW5kb2JqCit7e29iamVjdCA2IDB9fSA8PAorICAvVHlwZSAvRm9udERlc2NyaXB0b3IKKyAgL0FzY2VudCA3MTgKKyAgL0NhcEhlaWdodCA1MDAKKyAgL0Rlc2NlbnQgLTIwNworICAvRmxhZ3MgMzIKKyAgL0ZvbnRCQm94IFstMTY2IC0yMjUgMTAwMCA5MzFdCisgIC9Gb250TmFtZSAvSGVsdmV0aWNhCisgIC9JdGFsaWNBbmdsZSAwCisgIC9TdGVtViA4MAorPj4KK2VuZG9iagore3tvYmplY3QgNyAwfX0gPDwKKyAge3tzdHJlYW1sZW59fQorPj4KK3N0cmVhbQorQlQKKy9GMSAxMiBUZgorMTAgMTkwIFRkCisoXDAwMEhcMDAwZVwwMDBsXDAwMGxcMDAwb1wwMDAgKSBUagorKFwwMDBXXDAwMG9cMDAwclwwMDBsXDAwMGRcMDAwISkgVGoKK0VUCitlbmRzdHJlYW0KK2VuZG9iagore3t4cmVmfX0KK3t7dHJhaWxlcn19Cit7e3N0YXJ0eHJlZn19CislJUVPRgpkaWZmIC0tZ2l0IGEvdGVzdGluZy9yZXNvdXJjZXMvdmVydGljYWxfdGV4dC5wZGYgYi90ZXN0aW5nL3Jlc291cmNlcy92ZXJ0aWNhbF90ZXh0LnBkZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zN2Q4MTE1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdGluZy9yZXNvdXJjZXMvdmVydGljYWxfdGV4dC5wZGYKQEAgLTAsMCArMSwxMDYgQEAKKyVQREYtMS43CisloPKk9AorMSAwIG9iaiA8PAorICAvVHlwZSAvQ2F0YWxvZworICAvUGFnZXMgMiAwIFIKKz4+CitlbmRvYmoKKzIgMCBvYmogPDwKKyAgL1R5cGUgL1BhZ2VzCisgIC9NZWRpYUJveCBbIDAgMCAyMDAgMjAwIF0KKyAgL0NvdW50IDEKKyAgL0tpZHMgWyAzIDAgUiBdCis+PgorZW5kb2JqCiszIDAgb2JqIDw8CisgIC9UeXBlIC9QYWdlCisgIC9QYXJlbnQgMiAwIFIKKyAgL1Jlc291cmNlcyA8PAorICAgIC9Gb250IDw8CisgICAgICAvRjEgNCAwIFIKKyAgICA+PgorICA+PgorICAvQ29udGVudHMgNyAwIFIKKz4+CitlbmRvYmoKKzQgMCBvYmogPDwKKyAgL1R5cGUgL0ZvbnQKKyAgL1N1YnR5cGUgL1R5cGUwCisgIC9FbmNvZGluZyAvVW5pR0ItVVRGMTYtVgorICAvQmFzZUZvbnQgL0hlbHZldGljYQorICAvRGVzY2VuZGFudEZvbnRzIFs1IDAgUl0KKz4+CitlbmRvYmoKKzUgMCBvYmogPDwKKyAgL1R5cGUgL0ZvbnQKKyAgL1N1YnR5cGUgL0NJREZvbnRUeXBlMgorICAvQmFzZUZvbnQgL0hlbHZldGljYQorICAvQ0lEU3lzdGVtSW5mbyA8PC9SZWdpc3RyeSAoQWRvYmUpIC9PcmRlcmluZyAoR0IxKSAvU3VwcGxlbWVudCA0Pj4KKyAgL0ZvbnREZXNjcmlwdG9yIDYgMCBSCisgIC9EVyAxMDAwCisgIC9XIFsKKyAgICAxIFsyNzhdICAlc3BhY2UKKyAgICAyIFsyNzhdICAlIQorICAgIDQxIFs3MjJdICVICisgICAgNTYgWzk0NF0gJVcKKyAgICA2OSBbNTU2XSAlZAorICAgIDcwIFs1NTZdICVlCisgICAgNzcgWzIyMl0gJWwKKyAgICA4MCBbNTU2XSAlbworICAgIDgzIFszMzNdICVyCisgIF0KKyAgL0RXMiBbMCAtMTAwMF0KKyAgL1cyIFsKKyAgICAxIFstNzIzIDEzOSA2MjNdICAgICVzcGFjZQorICAgIDIgWy05MTggMTM5IDgxOF0gICAgJSEKKyAgICA0MSBbLTkxOCAzNjEgODE4XSAgICVICisgICAgNTYgWy05MTggNDcyIDgxOF0gICAlVworICAgIDY5IFstOTE4IDI3OCA4MThdICAgJWQKKyAgICA3MCBbLTcyMyAyNzggNjIzXSAgICVlCisgICAgNzcgWy05MTggMTExIDgxOF0gICAlbAorICAgIDgwIFstNzIzIDI3OCA2MjNdICAgJW8KKyAgICA4MyBbLTcyMyAxNjYuNSA2MjNdICVyCisgIF0KKz4+CitlbmRvYmoKKzYgMCBvYmogPDwKKyAgL1R5cGUgL0ZvbnREZXNjcmlwdG9yCisgIC9Bc2NlbnQgNzE4CisgIC9DYXBIZWlnaHQgNTAwCisgIC9EZXNjZW50IC0yMDcKKyAgL0ZsYWdzIDMyCisgIC9Gb250QkJveCBbLTE2NiAtMjI1IDEwMDAgOTMxXQorICAvRm9udE5hbWUgL0hlbHZldGljYQorICAvSXRhbGljQW5nbGUgMAorICAvU3RlbVYgODAKKz4+CitlbmRvYmoKKzcgMCBvYmogPDwKKyAgL0xlbmd0aCA5OAorPj4KK3N0cmVhbQorQlQKKy9GMSAxMiBUZgorMTAgMTkwIFRkCisoXDAwMEhcMDAwZVwwMDBsXDAwMGxcMDAwb1wwMDAgKSBUagorKFwwMDBXXDAwMG9cMDAwclwwMDBsXDAwMGRcMDAwISkgVGoKK0VUCitlbmRzdHJlYW0KK2VuZG9iagoreHJlZgorMCA4CiswMDAwMDAwMDAwIDY1NTM1IGYgCiswMDAwMDAwMDE1IDAwMDAwIG4gCiswMDAwMDAwMDY4IDAwMDAwIG4gCiswMDAwMDAwMTYxIDAwMDAwIG4gCiswMDAwMDAwMjg3IDAwMDAwIG4gCiswMDAwMDAwNDE3IDAwMDAwIG4gCiswMDAwMDAxMDM5IDAwMDAwIG4gCiswMDAwMDAxMjI4IDAwMDAwIG4gCit0cmFpbGVyIDw8CisgIC9Sb290IDEgMCBSCisgIC9TaXplIDgKKz4+CitzdGFydHhyZWYKKzEzNzcKKyUlRU9GCg==