Name: series-workflow4vnk4 Phase: Failed StartedAt: 2026-08-03 04:21:51 +0000 UTC FinishedAt: 2026-08-03 04:24:45 +0000 UTC Input: nil Output: nil --------- Name: series-workflow4vnk4[0] Phase: Succeeded StartedAt: 2026-08-03 04:21:51 +0000 UTC FinishedAt: 2026-08-03 04:24:23 +0000 UTC Input: nil Output: nil --------- Name: series-workflow4vnk4[0].run-triage Phase: Succeeded StartedAt: 2026-08-03 04:21:51 +0000 UTC FinishedAt: 2026-08-03 04:24:23 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "AI determined the patch has no functional impact", "targets": null, "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAzIDA0OjIzPC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBoaW5pYzMgZHJpdmVyIChIdWF3ZWkgSW50ZWxsaWdlbnQgTklDKSwgd2hpY2ggaXMgYSB2ZW5kb3Itc3BlY2lmaWMgUENJZSBoYXJkd2FyZSBjYXJkIGRyaXZlci4gVGhpcyBoYXJkd2FyZSBpcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVSBvciB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgdXNlZCBmb3IgZnV6emluZywgbWFraW5nIHRoZXNlIGNvZGUgcGF0aHMgdW5yZWFjaGFibGUuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAzIDA0OjIzPC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgZWZkZWUyNDNjNTU2NmMzYWMzOWExOGY0MWE5YWU4NjIxNzdiZTMyM1xuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBNb24gQXVnIDMgMDQ6MjM6NDQgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfcnguYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX3J4LmNcbmluZGV4IDMwOWFiNTkwMTM3OTcuLjM4OWIxYzIxNThiZWUgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19yeC5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19yeC5jXG5AQCAtNTQxLDcgJiM0Mzs1NDEsNyBAQCBpbnQgaGluaWMzX2NvbmZpZ3VyZV9yeHFzKHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYsIHUxNiBudW1fcnEsXG4gXHRcdHJxX2Fzc29jaWF0ZV9jcWVzKHJ4cSk7XG4gXG4gXHRcdHBrdHMgPSBoaW5pYzNfcnhfZmlsbF9idWZmZXJzKHJ4cSk7XG4tXHRcdGlmICghcGt0cykge1xuJiM0MztcdFx0aWYgKHBrdHMgXHUwMDNjIHJ4cS1cdTAwM2VxX21hc2spIHtcbiBcdFx0XHRuZXRkZXZfZXJyKG5ldGRldiwgXCYjMzQ7RmFpbGVkIHRvIGZpbGwgUnggYnVmZmVyXFxuXCYjMzQ7KTtcbiBcdFx0XHRyZXR1cm4gLUVOT01FTTtcbiBcdFx0fVxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX3R4LmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM190eC5jXG5pbmRleCA5MzA2YmYwMDIwY2FmLi41M2MwNjUxOTQxMzZlIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfdHguY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfdHguY1xuQEAgLTI2MSw4ICYjNDM7MjYxLDcgQEAgc3RhdGljIGludCBoaW5pYzNfdHhfY3N1bShzdHJ1Y3QgaGluaWMzX3R4cSAqdHhxLCBzdHJ1Y3QgaGluaWMzX3NxX3Rhc2sgKnRhc2ssXG4gXHRcdCAgICAoKHN0cnVjdCB1ZHBoZHIgKilza2JfdHJhbnNwb3J0X2hlYWRlcihza2IpKS1cdTAwM2VkZXN0ICE9XG4gXHRcdCAgICBWWExBTl9PRkZMT0FEX1BPUlRfTEUpIHtcbiBcdFx0XHQvKiBVbnN1cHBvcnRlZCB0dW5uZWwgcGFja2V0LCBkaXNhYmxlIGNzdW0gb2ZmbG9hZCAqL1xuLVx0XHRcdHNrYl9jaGVja3N1bV9oZWxwKHNrYik7XG4tXHRcdFx0cmV0dXJuIDA7XG4mIzQzO1x0XHRcdHJldHVybiBza2JfY2hlY2tzdW1faGVscChza2IpO1xuIFx0XHR9XG4gXHR9XG4gXG5AQCAtNDEyLDYgJiM0Mzs0MTEsMTAgQEAgc3RhdGljIHUzMiBoaW5pYzNfdHhfb2ZmbG9hZChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgaGluaWMzX3NxX3Rhc2sgKnRhc2ssXG4gXHRcdG9mZmxvYWQgfD0gSElOSUMzX1RYX09GRkxPQURfVFNPO1xuIFx0fSBlbHNlIHtcbiBcdFx0dHNvX2NzX2VuID0gaGluaWMzX3R4X2NzdW0odHhxLCB0YXNrLCBza2IpO1xuJiM0MztcdFx0aWYgKHRzb19jc19lbiBcdTAwM2MgMCkge1xuJiM0MztcdFx0XHRvZmZsb2FkID0gSElOSUMzX1RYX09GRkxPQURfSU5WQUxJRDtcbiYjNDM7XHRcdFx0cmV0dXJuIG9mZmxvYWQ7XG4mIzQzO1x0XHR9XG4gXHRcdGlmICh0c29fY3NfZW4pXG4gXHRcdFx0b2ZmbG9hZCB8PSBISU5JQzNfVFhfT0ZGTE9BRF9DU1VNO1xuIFx0fVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAzIDA0OjIzPC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmJlc3QtZXhwZW5zaXZlPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgaGluaWMzIGRyaXZlciAoSHVhd2VpIEludGVsbGlnZW50IE5JQyksIHdoaWNoIGlzIGEgdmVuZG9yLXNwZWNpZmljIFBDSWUgaGFyZHdhcmUgY2FyZCBkcml2ZXIuIFRoaXMgaGFyZHdhcmUgaXMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgb3IgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIHVzZWQgZm9yIGZ1enppbmcsIG1ha2luZyB0aGVzZSBjb2RlIHBhdGhzIHVucmVhY2hhYmxlLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkluc3RydWN0aW9uOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+WW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuCllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lCmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4KCklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpbgp5b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHkKdXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy4KClJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6Ci0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy4KLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy4KLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuCi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLAogIGV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KLSBDb2RlIGluIHZlbmRvci1zcGVjaWZpYyBQQ0llIHN3aXRjaCwgU21hcnROSUMsIG9yIEdQVSBkcml2ZXJzIChlLmcuLCBtbHhzdywgcGRzX2NvcmUsIHFlZCwKICBpb25pYywgYW1kZ3B1KSB0aGF0IHJlcXVpcmUgcGh5c2ljYWwgUENJZSBoYXJkd2FyZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS4KLSBEcml2ZXIgLnJlbW92ZSwgLnNodXRkb3duLCBvciBwY2lfdW5yZWdpc3Rlcl9kcml2ZXIgdGVhcmRvd24gY2FsbGJhY2tzIChlLmcuLCBpZ2JfcmVtb3ZlKQogIHRoYXQgYXJlIGV4ZWN1dGVkIG9ubHkgZHVyaW5nIFBDSSBob3QtdW5wbHVnIG9yIHN5c2ZzIGRyaXZlciB1bmJpbmQgb3BlcmF0aW9ucy4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCiAgIFByZWZlciBub24tc3RhdGljLCBub24taW5saW5lZCBBUEkgZW50cnlwb2ludCBmdW5jdGlvbnMgb3ZlciBpbnRlcm5hbCBzdGF0aWMgaGVscGVyIGZ1bmN0aW9ucwogICAod2hpY2ggYXJlIGlubGluZWQgYnkgdGhlIGNvbXBpbGVyIGFuZCBkbyBub3QgaGF2ZSBkaXN0aW5jdCBzeW1ib2wgYWRkcmVzc2VzKS4KMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuCiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy4KICAgQWxzbyBjaGVjayAmIzM0O2RlcGVuZHMgb24mIzM0OyBsaW5lcyBpbiBLY29uZmlnIHRvIGluY2x1ZGUgYW55IG5vbi1zdGFuZGFyZCBwYXJlbnQgc3Vic3lzdGVtIGNvbmZpZ3MKICAgbmVlZGVkIGZvciBLYnVpbGQgdG8gY29tcGlsZSB0aGUgY29kZSBzdGF0aWNhbGx5IGludG8gdm1saW51eC4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzCiAgIG91dHB1dCBhcnJheSwgYW5kIERPIE5PVCBhZGQgYSAmIzM5O0NPTkZJR18mIzM5OyBwcmVmaXggKGUuZy4sIHJldHVybiAmIzM0O05FVF9JUFY0JiMzNDsgaW5zdGVhZCBvZiAmIzM0O0NPTkZJR19ORVRfSVBWNCYjMzQ7KS4KUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuCgoKVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy4KSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuCklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Qcm9tcHQ6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IGVmZGVlMjQzYzU1NjZjM2FjMzlhMThmNDFhOWFlODYyMTc3YmUzMjMKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgTW9uIEF1ZyAzIDA0OjIzOjQ0IDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfcnguYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX3J4LmMKaW5kZXggMzA5YWI1OTAxMzc5Ny4uMzg5YjFjMjE1OGJlZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfcnguYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19yeC5jCkBAIC01NDEsNyAmIzQzOzU0MSw3IEBAIGludCBoaW5pYzNfY29uZmlndXJlX3J4cXMoc3RydWN0IG5ldF9kZXZpY2UgKm5ldGRldiwgdTE2IG51bV9ycSwKIAkJcnFfYXNzb2NpYXRlX2NxZXMocnhxKTsKIAogCQlwa3RzID0gaGluaWMzX3J4X2ZpbGxfYnVmZmVycyhyeHEpOwotCQlpZiAoIXBrdHMpIHsKJiM0MzsJCWlmIChwa3RzICZsdDsgcnhxLSZndDtxX21hc2spIHsKIAkJCW5ldGRldl9lcnIobmV0ZGV2LCAmIzM0O0ZhaWxlZCB0byBmaWxsIFJ4IGJ1ZmZlclxuJiMzNDspOwogCQkJcmV0dXJuIC1FTk9NRU07CiAJCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX3R4LmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM190eC5jCmluZGV4IDkzMDZiZjAwMjBjYWYuLjUzYzA2NTE5NDEzNmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX3R4LmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfdHguYwpAQCAtMjYxLDggJiM0MzsyNjEsNyBAQCBzdGF0aWMgaW50IGhpbmljM190eF9jc3VtKHN0cnVjdCBoaW5pYzNfdHhxICp0eHEsIHN0cnVjdCBoaW5pYzNfc3FfdGFzayAqdGFzaywKIAkJICAgICgoc3RydWN0IHVkcGhkciAqKXNrYl90cmFuc3BvcnRfaGVhZGVyKHNrYikpLSZndDtkZXN0ICE9CiAJCSAgICBWWExBTl9PRkZMT0FEX1BPUlRfTEUpIHsKIAkJCS8qIFVuc3VwcG9ydGVkIHR1bm5lbCBwYWNrZXQsIGRpc2FibGUgY3N1bSBvZmZsb2FkICovCi0JCQlza2JfY2hlY2tzdW1faGVscChza2IpOwotCQkJcmV0dXJuIDA7CiYjNDM7CQkJcmV0dXJuIHNrYl9jaGVja3N1bV9oZWxwKHNrYik7CiAJCX0KIAl9CiAKQEAgLTQxMiw2ICYjNDM7NDExLDEwIEBAIHN0YXRpYyB1MzIgaGluaWMzX3R4X29mZmxvYWQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGhpbmljM19zcV90YXNrICp0YXNrLAogCQlvZmZsb2FkIHw9IEhJTklDM19UWF9PRkZMT0FEX1RTTzsKIAl9IGVsc2UgewogCQl0c29fY3NfZW4gPSBoaW5pYzNfdHhfY3N1bSh0eHEsIHRhc2ssIHNrYik7CiYjNDM7CQlpZiAodHNvX2NzX2VuICZsdDsgMCkgewomIzQzOwkJCW9mZmxvYWQgPSBISU5JQzNfVFhfT0ZGTE9BRF9JTlZBTElEOwomIzQzOwkJCXJldHVybiBvZmZsb2FkOwomIzQzOwkJfQogCQlpZiAodHNvX2NzX2VuKQogCQkJb2ZmbG9hZCB8PSBISU5JQzNfVFhfT0ZGTE9BRF9DU1VNOwogCX0KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDMgMDQ6MjM8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjU2NAoJCQkJCQkJb3V0cHV0OiAzNwoJCQkJCQkJdGhvdWdodHM6IDI2NwoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgYSBOZXR3b3JrIERyaXZlciBQYXRjaCoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhpcyBwYXRjaCBhbmQgaXQgc2VlbXMgbGlrZSBpdCYjMzk7cyB0b3VjaGluZyBgZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfcnguY2AgYW5kIGBkcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM190eC5jYC4gSW50ZXJlc3RpbmcuIFNwZWNpZmljYWxseSwgaXQmIzM5O3MgbW9kaWZ5aW5nIGBoaW5pYzNfY29uZmlndXJlX3J4cXNgIGFuZCB0aGUgYGhpbmljM190eF9jc3VtYCAvIGBoaW5pYzNfdHhfb2ZmbG9hZGAgZnVuY3Rpb25zLiBSaWdodCBhd2F5LCB0aGlzIHRlbGxzIG1lIGl0JiMzOTtzIGZvciB0aGUgSHVhd2VpIEludGVsbGlnZW50IE5JQywgdGhlIGBoaW5pYzNgLgoKVGhlIG5leHQgcXVlc3Rpb24gdGhhdCBwb3BzIGludG8gbXkgaGVhZCBpcyBhbHdheXM6IGlzIHRoaXMgYWN0dWFsbHkgZm9yIHBoeXNpY2FsIGhhcmR3YXJlPyBBbmQgZG9lcyBpdCB3b3JrIG9yIGlzIGl0IGVtdWxhdGVkPyBIdWF3ZWkgTklDcyBhcmUgdXN1YWxseSBub3QgZW11bGF0ZWQgaW4gUUVNVSwgc28gdGhhdOKAmXMgbXkgaW5pdGlhbCBhc3N1bXB0aW9uLiBMZXQmIzM5O3MgY29uZmlybS4KCkFoLCBoZXJlJiMzOTtzIGEgaGVscGZ1bCBwcm9tcHQsICYjMzQ7Q29kZSBpbiB2ZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2gsIFNtYXJ0TklDLCBvciBHUFUgZHJpdmVycyAoZS5nLiwgbWx4c3csIHBkc19jb3JlLCBxZWQsIGlvbmljLCBhbWRncHUpIHRoYXQgcmVxdWlyZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VJiMzNDsuIFJpZ2h0LCB0aGUgdGV4dCBtZW50aW9ucyB0aGF0IHRoaXMgaXMgZm9yIGEgcGh5c2ljYWwgY2FyZCEgU28gYGhpbmljM2AgaXMgaW5kZWVkIGEgcGh5c2ljYWwgUENJZSBjYXJkLgoKTm93IEkgbmVlZCB0byBnbyBkaWdnaW5nIGluIHRoZSBrZXJuZWwgdHJlZSBmb3IgbW9yZSBjb250ZXh0IGFyb3VuZCBgaGluaWMzYCB0byBmdWxseSB1bmRlcnN0YW5kIHdoYXQgdGhpcyBwYXRjaCBpcyBkb2luZyBhbmQgd2h5LgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAzIDA0OjIzPC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2hpbmljMyYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O1xuRnVsbCBvdXRwdXQgaXMgdG9vIGxvbmcsIHNob3dpbmcgNTAwIG91dCBvZiA2NDg5IGxpbmVzLlxuVXNlIG1vcmUgcHJlY2lzZSBleHByZXNzaW9uIGlmIHBvc3NpYmxlLlxuXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL0tjb25maWc9Nj1jb25maWcgSElOSUMzXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9LY29uZmlnLTIwLVx0ICBUbyBjb21waWxlIHRoaXMgZHJpdmVyIGFzIGEgbW9kdWxlLCBjaG9vc2UgTSBoZXJlLlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9LY29uZmlnOjIxOlx0ICBUaGUgbW9kdWxlIHdpbGwgYmUgY2FsbGVkIGhpbmljMy5cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL01ha2VmaWxlLTMtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL01ha2VmaWxlOjQ6b2JqLSQoQ09ORklHX0hJTklDMykgJiM0Mzs9IGhpbmljMy5vXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL01ha2VmaWxlLTUtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL01ha2VmaWxlOjY6aGluaWMzLW9ianMgOj0gaGluaWMzX2NtZHEubyBcXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9NYWtlZmlsZTo3Olx0ICAgICAgIGhpbmljM19jb21tb24ubyBcXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9NYWtlZmlsZTo4Olx0ICAgICAgIGhpbmljM19lcXMubyBcXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9NYWtlZmlsZTo5Olx0ICAgICAgIGhpbmljM19ldGh0b29sLm8gXFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvTWFrZWZpbGU6MTA6XHQgICAgICAgaGluaWMzX2ZpbHRlci5vIFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL01ha2VmaWxlOjExOlx0ICAgICAgIGhpbmljM19od19jZmcubyBcXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9NYWtlZmlsZToxMjpcdCAgICAgICBoaW5pYzNfaHdfY29tbS5vIFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL01ha2VmaWxlOjEzOlx0ICAgICAgIGhpbmljM19od2Rldi5vIFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL01ha2VmaWxlOjE0Olx0ICAgICAgIGhpbmljM19od2lmLm8gXFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvTWFrZWZpbGU6MTU6XHQgICAgICAgaGluaWMzX2lycS5vIFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL01ha2VmaWxlOjE2Olx0ICAgICAgIGhpbmljM19sbGQubyBcXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9NYWtlZmlsZToxNzpcdCAgICAgICBoaW5pYzNfbWFpbi5vIFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL01ha2VmaWxlOjE4Olx0ICAgICAgIGhpbmljM19tYm94Lm8gXFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvTWFrZWZpbGU6MTk6XHQgICAgICAgaGluaWMzX21nbXQubyBcXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9NYWtlZmlsZToyMDpcdCAgICAgICBoaW5pYzNfbmV0ZGV2X29wcy5vIFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL01ha2VmaWxlOjIxOlx0ICAgICAgIGhpbmljM19uaWNfY2ZnLm8gXFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvTWFrZWZpbGU6MjI6XHQgICAgICAgaGluaWMzX25pY19pby5vIFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL01ha2VmaWxlOjIzOlx0ICAgICAgIGhpbmljM19xdWV1ZV9jb21tb24ubyBcXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9NYWtlZmlsZToyNDpcdCAgICAgICBoaW5pYzNfcnNzLm8gXFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvTWFrZWZpbGU6MjU6XHQgICAgICAgaGluaWMzX3J4Lm8gXFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvTWFrZWZpbGU6MjY6XHQgICAgICAgaGluaWMzX3R4Lm8gXFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvTWFrZWZpbGU6Mjc6XHQgICAgICAgaGluaWMzX3dxLm9cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNy1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo4OiNpbmNsdWRlIFwmIzM0O2hpbmljM19jbWRxLmhcJiMzNDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo5OiNpbmNsdWRlIFwmIzM0O2hpbmljM19lcXMuaFwmIzM0O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjEwOiNpbmNsdWRlIFwmIzM0O2hpbmljM19od2Rldi5oXCYjMzQ7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MTE6I2luY2x1ZGUgXCYjMzQ7aGluaWMzX2h3aWYuaFwmIzM0O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjEyOiNpbmNsdWRlIFwmIzM0O2hpbmljM19tYm94LmhcJiMzNDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xMy1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM9MTEyPWVudW0gY21kcV9jbWRfdHlwZSB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTExOC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzoxMTk6c3RhdGljIHZvaWQgaGluaWMzX2R1bXBfY21kcV93cWVfaGVhZChzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2RldixcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xMjAtXHRcdFx0XHQgICAgICBzdHJ1Y3QgY21kcV93cWUgKndxZSlcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMTMyLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjEzMzpzdGF0aWMgc3RydWN0IGNtZHFfd3FlICpjbWRxX3JlYWRfd3FlKHN0cnVjdCBoaW5pYzNfd3EgKndxLCB1MTYgKmNpKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEzNC17XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MTM1Olx0aWYgKGhpbmljM193cV9nZXRfdXNlZCh3cSkgPT0gMClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xMzYtXHRcdHJldHVybiBOVUxMO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xNDItXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MTQzOnN0cnVjdCBoaW5pYzNfY21kX2J1ZiAqaGluaWMzX2FsbG9jX2NtZF9idWYoc3RydWN0IGhpbmljM19od2RldiAqaHdkZXYpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMTQ0LXtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzoxNDU6XHRzdHJ1Y3QgaGluaWMzX2NtZF9idWYgKmNtZF9idWY7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MTQ2Olx0c3RydWN0IGhpbmljM19jbWRxcyAqY21kcXM7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMTQ3LVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xNzEtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MTcyOnZvaWQgaGluaWMzX2ZyZWVfY21kX2J1ZihzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2RldixcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzoxNzM6XHRcdFx0IHN0cnVjdCBoaW5pYzNfY21kX2J1ZiAqY21kX2J1ZilcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xNzQte1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjE3NTpcdHN0cnVjdCBoaW5pYzNfY21kcXMgKmNtZHFzO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTE3Ni1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMTg1LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjE4NjpzdGF0aWMgdm9pZCBjbWRxX2NsZWFyX2NtZF9idWYoc3RydWN0IGhpbmljM19jbWRxX2NtZF9pbmZvICpjbWRfaW5mbyxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzoxODc6XHRcdFx0ICAgICAgIHN0cnVjdCBoaW5pYzNfaHdkZXYgKmh3ZGV2KVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTE4OC17XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMTg5LVx0aWYgKGNtZF9pbmZvLVx1MDAzZWJ1Zl9pbikge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjE5MDpcdFx0aGluaWMzX2ZyZWVfY21kX2J1Zihod2RldiwgY21kX2luZm8tXHUwMDNlYnVmX2luKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xOTEtXHRcdGNtZF9pbmZvLVx1MDAzZWJ1Zl9pbiA9IE5VTEw7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTE5NC1cdGlmIChjbWRfaW5mby1cdTAwM2VidWZfb3V0KSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MTk1Olx0XHRoaW5pYzNfZnJlZV9jbWRfYnVmKGh3ZGV2LCBjbWRfaW5mby1cdTAwM2VidWZfb3V0KTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xOTYtXHRcdGNtZF9pbmZvLVx1MDAzZWJ1Zl9vdXQgPSBOVUxMO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xOTktXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MjAwOnN0YXRpYyB2b2lkIGNsZWFyX3dxZV9jb21wbGV0ZV9iaXQoc3RydWN0IGhpbmljM19jbWRxICpjbWRxLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTIwMS1cdFx0XHRcdCAgIHN0cnVjdCBjbWRxX3dxZSAqd3FlLCB1MTYgY2kpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTIxNy1cdHdtYigpOyAvKiB2ZXJpZnkgd3FlIGlzIGNsZWFyIGJlZm9yZSB1cGRhdGluZyBjaSAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjIxODpcdGhpbmljM193cV9wdXRfd3FlYmJzKFx1MDAyNmNtZHEtXHUwMDNld3EsIENNRFFfV1FFX05VTV9XUUVCQlMpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTIxOS19XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMjIwLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjIyMTpzdGF0aWMgaW50IGNtZHFfYXJtX2NlcV9oYW5kbGVyKHN0cnVjdCBoaW5pYzNfY21kcSAqY21kcSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0yMjItXHRcdFx0XHRzdHJ1Y3QgY21kcV93cWUgKndxZSwgdTE2IGNpKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0yMzQtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MjM1OnN0YXRpYyB2b2lkIGNtZHFfdXBkYXRlX2NtZF9zdGF0dXMoc3RydWN0IGhpbmljM19jbWRxICpjbWRxLCB1MTYgcHJvZF9pZHgsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMjM2LVx0XHRcdFx0ICAgc3RydWN0IGNtZHFfd3FlICp3cWUpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMjM3LXtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzoyMzg6XHRzdHJ1Y3QgaGluaWMzX2NtZHFfY21kX2luZm8gKmNtZF9pbmZvO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTIzOS1cdHN0cnVjdCBjbWRxX3dxZV9sY21kICp3cWVfbGNtZDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMjUyLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjI1MzpzdGF0aWMgdm9pZCBjbWRxX3N5bmNfY21kX2hhbmRsZXIoc3RydWN0IGhpbmljM19jbWRxICpjbWRxLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTI1NC1cdFx0XHRcdCAgc3RydWN0IGNtZHFfd3FlICp3cWUsIHUxNiBjaSlcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMjc0LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjI3NTp2b2lkIGhpbmljM19jbWRxX2NlcV9oYW5kbGVyKHN0cnVjdCBoaW5pYzNfaHdkZXYgKmh3ZGV2LCBfX2xlMzIgY2VxZV9kYXRhKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTI3Ni17XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6Mjc3Olx0ZW51bSBoaW5pYzNfY21kcV90eXBlIGNtZHFfdHlwZSA9IENNRFFfQ0VRRV9HRVQoY2VxZV9kYXRhLCBUWVBFKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzoyNzg6XHRzdHJ1Y3QgaGluaWMzX2NtZHFzICpjbWRxcyA9IGh3ZGV2LVx1MDAzZWNtZHFzO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjI3OTpcdHN0cnVjdCBoaW5pYzNfY21kcV9jbWRfaW5mbyAqY21kX2luZm87XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMjgwLVx0c3RydWN0IGNtZHFfd3FlX2xjbWQgKndxZV9sY21kO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjI4MTpcdHN0cnVjdCBoaW5pYzNfY21kcSAqY21kcTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0yODItXHRzdHJ1Y3QgY21kcV93cWUgKndxZTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMjk3LVx0XHRcdFx0IGNtZHFfdHlwZSwgY2kpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjI5ODpcdFx0XHRoaW5pYzNfZHVtcF9jbWRxX3dxZV9oZWFkKGh3ZGV2LCB3cWUpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTI5OS1cdFx0XHRmYWxsdGhyb3VnaDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMzM0LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjMzNTpzdGF0aWMgaW50IGNtZHFfcGFyYW1zX3ZhbGlkKGNvbnN0IHN0cnVjdCBoaW5pYzNfaHdkZXYgKmh3ZGV2LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjMzNjpcdFx0XHQgICAgIGNvbnN0IHN0cnVjdCBoaW5pYzNfY21kX2J1ZiAqYnVmX2luKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTMzNy17XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTM0Ni1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzozNDc6c3RhdGljIGludCB3YWl0X2NtZHFzX2VuYWJsZShzdHJ1Y3QgaGluaWMzX2NtZHFzICpjbWRxcylcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0zNDgte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYz0zNjQ9c3RhdGljIHZvaWQgY21kcV9zZXRfY29tcGxldGlvbihzdHJ1Y3QgY21kcV9jb21wbGV0aW9uICpjb21wbGV0ZSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzozNjU6XHRcdFx0XHRzdHJ1Y3QgaGluaWMzX2NtZF9idWYgKmJ1Zl9vdXQpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMzY2LXtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzozNjc6XHRzdHJ1Y3QgaGluaWMzX3NnZSAqc2dlID0gXHUwMDI2Y29tcGxldGUtXHUwMDNlcmVzcC5zZ2U7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMzY4LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjM2OTpcdGhpbmljM19zZXRfc2dlKHNnZSwgYnVmX291dC1cdTAwM2VkbWFfYWRkciwgY3B1X3RvX2xlMzIoQ01EUV9CVUZfU0laRSkpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTM3MC19XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMzcxLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjM3MjpzdGF0aWMgc3RydWN0IGNtZHFfd3FlICpjbWRxX2dldF93cWUoc3RydWN0IGhpbmljM193cSAqd3EsIHUxNiAqcGkpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMzczLXtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzozNzQ6XHRpZiAoIWhpbmljM193cV9mcmVlX3dxZWJicyh3cSkpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMzc1LVx0XHRyZXR1cm4gTlVMTDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0zNzYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6Mzc3Olx0cmV0dXJuIGhpbmljM193cV9nZXRfb25lX3dxZWJiKHdxLCBwaSk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMzc4LX1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM9MzgwPXN0YXRpYyB2b2lkIGNtZHFfc2V0X2xjbWRfYnVmZGVzYyhzdHJ1Y3QgY21kcV93cWVfbGNtZCAqd3FlLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjM4MTpcdFx0XHRcdCAgc3RydWN0IGhpbmljM19jbWRfYnVmICpidWZfaW4pXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMzgyLXtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzozODM6XHRoaW5pYzNfc2V0X3NnZShcdTAwMjZ3cWUtXHUwMDNlYnVmX2Rlc2Muc2dlLCBidWZfaW4tXHUwMDNlZG1hX2FkZHIsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMzg0LVx0XHQgICAgICAgKF9fZm9yY2UgX19sZTMyKWJ1Zl9pbi1cdTAwM2VzaXplKTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMzg2LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjM4NzpzdGF0aWMgdm9pZCBjbWRxX3NldF9kYihzdHJ1Y3QgaGluaWMzX2NtZHEgKmNtZHEsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6Mzg4Olx0XHRcdGVudW0gaGluaWMzX2NtZHFfdHlwZSBjbWRxX3R5cGUsIHUxNiBwcm9kX2lkeClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0zODkte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYz00NTk9c3RhdGljIHZvaWQgY21kcV9zZXRfbGNtZF93cWUoc3RydWN0IGNtZHFfd3FlICp3cWUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNDYwLVx0XHRcdCAgICAgIGVudW0gY21kcV9jbWRfdHlwZSBjbWRfdHlwZSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo0NjE6XHRcdFx0ICAgICAgc3RydWN0IGhpbmljM19jbWRfYnVmICpidWZfaW4sXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NDYyOlx0XHRcdCAgICAgIHN0cnVjdCBoaW5pYzNfY21kX2J1ZiAqYnVmX291dCxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy00NjMtXHRcdFx0ICAgICAgdTggd3JhcHBlZCwgdTggbW9kLCB1OCBjbWQsIHUxNiBwcm9kX2lkeClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNDg0LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjQ4NTpzdGF0aWMgaW50IGhpbmljM19jbWRxX3N5bmNfdGltZW91dF9jaGVjayhzdHJ1Y3QgaGluaWMzX2NtZHEgKmNtZHEsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNDg2LVx0XHRcdFx0XHQgIHN0cnVjdCBjbWRxX3dxZSAqd3FlLCB1MTYgcGkpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTUwMy1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo1MDQ6c3RhdGljIHZvaWQgY2xlYXJfY21kX2luZm8oc3RydWN0IGhpbmljM19jbWRxX2NtZF9pbmZvICpjbWRfaW5mbyxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo1MDU6XHRcdFx0ICAgY29uc3Qgc3RydWN0IGhpbmljM19jbWRxX2NtZF9pbmZvICpzYXZlZF9jbWRfaW5mbylcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy01MDYte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy01MTYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NTE3OnN0YXRpYyBpbnQgd2FpdF9jbWRxX3N5bmNfY21kX2NvbXBsZXRpb24oc3RydWN0IGhpbmljM19jbWRxICpjbWRxLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjUxODpcdFx0XHRcdFx0IHN0cnVjdCBoaW5pYzNfY21kcV9jbWRfaW5mbyAqY21kX2luZm8sXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NTE5Olx0XHRcdFx0XHQgc3RydWN0IGhpbmljM19jbWRxX2NtZF9pbmZvICpzYXZlZF9jbWRfaW5mbyxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy01MjAtXHRcdFx0XHRcdCB1NjQgY3Vycl9tc2dfaWQsIHUxNiBjdXJyX3Byb2RfaWR4LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy01NDAtXHRpZiAoY3Vycl9tc2dfaWQgPT0gY21kX2luZm8tXHUwMDNlY21kcV9tc2dfaWQpIHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo1NDE6XHRcdGVyciA9IGhpbmljM19jbWRxX3N5bmNfdGltZW91dF9jaGVjayhjbWRxLCBjdXJyX3dxZSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy01NDItXHRcdFx0XHRcdFx0ICAgICBjdXJyX3Byb2RfaWR4KTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNTU1LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjU1NjpcdGhpbmljM19kdW1wX2NlcV9pbmZvKGNtZHEtXHUwMDNlaHdkZXYpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTU1Ny1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNTYwLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjU2MTpzdGF0aWMgaW50IGNtZHFfc3luY19jbWRfZXhlYyhzdHJ1Y3QgaGluaWMzX2NtZHEgKmNtZHEsIHU4IG1vZCwgdTggY21kLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjU2MjpcdFx0XHQgICAgICBzdHJ1Y3QgaGluaWMzX2NtZF9idWYgKmJ1Zl9pbixcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo1NjM6XHRcdFx0ICAgICAgc3RydWN0IGhpbmljM19jbWRfYnVmICpidWZfb3V0LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTU2NC1cdFx0XHQgICAgICBfX2xlNjQgKm91dF9wYXJhbSwgdTggY21kX3R5cGUsIHU4IHdxZV9jbWQpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNTY1LXtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo1NjY6XHRzdHJ1Y3QgaGluaWMzX2NtZHFfY21kX2luZm8gKmNtZF9pbmZvLCBzYXZlZF9jbWRfaW5mbztcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy01NjctXHRpbnQgY21wdF9jb2RlID0gQ01EUV9TRU5EX0NNUFRfQ09ERTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy01NjgtXHRzdHJ1Y3QgY21kcV93cWUgKmN1cnJfd3FlLCB3cWUgPSB7fTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo1Njk6XHRzdHJ1Y3QgaGluaWMzX3dxICp3cSA9IFx1MDAyNmNtZHEtXHUwMDNld3E7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNTcwLVx0dTE2IGN1cnJfcHJvZF9pZHgsIG5leHRfcHJvZF9pZHg7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTYzNC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo2MzU6c3RhdGljIGludCBjbWRxX3N5bmNfY21kX2RpcmVjdF9yZXNwKHN0cnVjdCBoaW5pYzNfY21kcSAqY21kcSwgdTggbW9kLCB1OCBjbWQsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NjM2Olx0XHRcdFx0ICAgICBzdHJ1Y3QgaGluaWMzX2NtZF9idWYgKmJ1Zl9pbixcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy02MzctXHRcdFx0XHQgICAgIF9fbGU2NCAqb3V0X3BhcmFtKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy02NDMtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NjQ0OnN0YXRpYyBpbnQgY21kcV9zeW5jX2NtZF9kZXRhaWxfcmVzcChzdHJ1Y3QgaGluaWMzX2NtZHEgKmNtZHEsIHU4IG1vZCwgdTggY21kLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjY0NTpcdFx0XHRcdCAgICAgc3RydWN0IGhpbmljM19jbWRfYnVmICpidWZfaW4sXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NjQ2Olx0XHRcdFx0ICAgICBzdHJ1Y3QgaGluaWMzX2NtZF9idWYgKmJ1Zl9vdXQsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNjQ3LVx0XHRcdFx0ICAgICBfX2xlNjQgKm91dF9wYXJhbSlcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNjUzLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjY1NDppbnQgaGluaWMzX2NtZF9idWZfcGFpcl9pbml0KHN0cnVjdCBoaW5pYzNfaHdkZXYgKmh3ZGV2LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjY1NTpcdFx0XHQgICAgIHN0cnVjdCBoaW5pYzNfY21kX2J1Zl9wYWlyICpwYWlyKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTY1Ni17XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NjU3Olx0cGFpci1cdTAwM2VpbiA9IGhpbmljM19hbGxvY19jbWRfYnVmKGh3ZGV2KTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy02NTgtXHRpZiAoIXBhaXItXHUwMDNlaW4pXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTY2MC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo2NjE6XHRwYWlyLVx1MDAzZW91dCA9IGhpbmljM19hbGxvY19jbWRfYnVmKGh3ZGV2KTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy02NjItXHRpZiAoIXBhaXItXHUwMDNlb3V0KVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy02NjctZXJyX2ZyZWVfY21kX2J1Zl9pbjpcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo2Njg6XHRoaW5pYzNfZnJlZV9jbWRfYnVmKGh3ZGV2LCBwYWlyLVx1MDAzZWluKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy02NjktZXJyX291dDpcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNjcyLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjY3Mzp2b2lkIGhpbmljM19jbWRfYnVmX3BhaXJfdW5pbml0KHN0cnVjdCBoaW5pYzNfaHdkZXYgKmh3ZGV2LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjY3NDpcdFx0XHRcdHN0cnVjdCBoaW5pYzNfY21kX2J1Zl9wYWlyICpwYWlyKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTY3NS17XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6Njc2Olx0aGluaWMzX2ZyZWVfY21kX2J1Zihod2RldiwgcGFpci1cdTAwM2Vpbik7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6Njc3Olx0aGluaWMzX2ZyZWVfY21kX2J1Zihod2RldiwgcGFpci1cdTAwM2VvdXQpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTY3OC19XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNjc5LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjY4MDppbnQgaGluaWMzX2NtZHFfZGlyZWN0X3Jlc3Aoc3RydWN0IGhpbmljM19od2RldiAqaHdkZXYsIHU4IG1vZCwgdTggY21kLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjY4MTpcdFx0XHQgICAgc3RydWN0IGhpbmljM19jbWRfYnVmICpidWZfaW4sIF9fbGU2NCAqb3V0X3BhcmFtKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTY4Mi17XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NjgzOlx0c3RydWN0IGhpbmljM19jbWRxcyAqY21kcXM7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNjg0LVx0aW50IGVycjtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNzEyLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjcxMzppbnQgaGluaWMzX2NtZHFfZGV0YWlsX3Jlc3Aoc3RydWN0IGhpbmljM19od2RldiAqaHdkZXYsIHU4IG1vZCwgdTggY21kLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjcxNDpcdFx0XHQgICAgc3RydWN0IGhpbmljM19jbWRfYnVmICpidWZfaW4sXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NzE1Olx0XHRcdCAgICBzdHJ1Y3QgaGluaWMzX2NtZF9idWYgKmJ1Zl9vdXQsIF9fbGU2NCAqb3V0X3BhcmFtKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTcxNi17XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NzE3Olx0c3RydWN0IGhpbmljM19jbWRxcyAqY21kcXM7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNzE4LVx0aW50IGVycjtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNzQ1LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjc0NjpzdGF0aWMgdm9pZCBjbWRxX2luaXRfcXVldWVfY3R4dChzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2RldiwgdTggY21kcV9pZCxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy03NDctXHRcdFx0XHQgc3RydWN0IGNvbW1fY21kcV9jdHh0X2luZm8gKmN0eHRfaW5mbylcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy03NDgte1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjc0OTpcdGNvbnN0IHN0cnVjdCBoaW5pYzNfY21kcXMgKmNtZHFzO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTc1MC1cdHU2NCBjbWRxX2ZpcnN0X2Jsb2NrX3BhZGRyLCBwZm47XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NzUxOlx0Y29uc3Qgc3RydWN0IGhpbmljM193cSAqd3E7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNzUyLVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy03NTQtXHR3cSA9IFx1MDAyNmNtZHFzLVx1MDAzZWNtZHFbY21kcV9pZF0ud3E7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NzU1Olx0cGZuID0gQ01EUV9QRk4oaGluaWMzX3dxX2dldF9maXJzdF93cWVfcGFnZV9hZGRyKHdxKSk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNzU2LVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy03NjMtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NzY0Olx0aWYgKCFoaW5pYzNfd3FfaXNfMF9sZXZlbF9jbGEod3EpKSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNzY1LVx0XHRjbWRxX2ZpcnN0X2Jsb2NrX3BhZGRyID0gY21kcXMtXHUwMDNld3FfYmxvY2tfcGFkZHI7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTc3Mi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo3NzM6c3RhdGljIGludCBpbml0X2NtZHEoc3RydWN0IGhpbmljM19jbWRxICpjbWRxLCBzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2RldixcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo3NzQ6XHRcdCAgICAgZW51bSBoaW5pYzNfY21kcV90eXBlIHFfdHlwZSlcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy03NzUte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy03OTItXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NzkzOnN0YXRpYyBpbnQgaGluaWMzX3NldF9jbWRxX2N0eHQoc3RydWN0IGhpbmljM19od2RldiAqaHdkZXYsIHU4IGNtZHFfaWQpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNzk0LXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNzk5LVx0Y21kcV9pbml0X3F1ZXVlX2N0eHQoaHdkZXYsIGNtZHFfaWQsIFx1MDAyNmNtZHFfY3R4dC5jdHh0KTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo4MDA6XHRjbWRxX2N0eHQuZnVuY19pZCA9IGhpbmljM19nbG9iYWxfZnVuY19pZChod2Rldik7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtODAxLVx0Y21kcV9jdHh0LmNtZHFfaWQgPSBjbWRxX2lkO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy04MDUtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6ODA2Olx0ZXJyID0gaGluaWMzX3NlbmRfbWJveF90b19tZ210KGh3ZGV2LCBNR01UX01PRF9DT01NLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTgwNy1cdFx0XHRcdCAgICAgICBDT01NX0NNRF9TRVRfQ01EUV9DVFhULCBcdTAwMjZtc2dfcGFyYW1zKTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtODE2LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjgxNzpzdGF0aWMgaW50IGhpbmljM19zZXRfY21kcV9jdHh0cyhzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2RldilcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy04MTgte1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjgxOTpcdHN0cnVjdCBoaW5pYzNfY21kcXMgKmNtZHFzID0gaHdkZXYtXHUwMDNlY21kcXM7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtODIwLVx0dTggY21kcV90eXBlO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy04MjMtXHRmb3IgKGNtZHFfdHlwZSA9IDA7IGNtZHFfdHlwZSBcdTAwM2MgY21kcXMtXHUwMDNlY21kcV9udW07IGNtZHFfdHlwZSYjNDM7JiM0MzspIHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo4MjQ6XHRcdGVyciA9IGhpbmljM19zZXRfY21kcV9jdHh0KGh3ZGV2LCBjbWRxX3R5cGUpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTgyNS1cdFx0aWYgKGVycilcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtODM0LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjgzNTpzdGF0aWMgaW50IGNyZWF0ZV9jbWRxX3dxKHN0cnVjdCBoaW5pYzNfaHdkZXYgKmh3ZGV2LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjgzNjpcdFx0XHQgIHN0cnVjdCBoaW5pYzNfY21kcXMgKmNtZHFzKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTgzNy17XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTg0MS1cdGZvciAoY21kcV90eXBlID0gMDsgY21kcV90eXBlIFx1MDAzYyBjbWRxcy1cdTAwM2VjbWRxX251bTsgY21kcV90eXBlJiM0MzsmIzQzOykge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjg0MjpcdFx0ZXJyID0gaGluaWMzX3dxX2NyZWF0ZShod2RldiwgXHUwMDI2Y21kcXMtXHUwMDNlY21kcVtjbWRxX3R5cGVdLndxLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTg0My1cdFx0XHRcdCAgICAgICBDTURRX0RFUFRILCBDTURRX1dRRUJCX1NJWkUpO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy04NTItXHQgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo4NTM6XHRpZiAoIWhpbmljM193cV9pc18wX2xldmVsX2NsYShcdTAwMjZjbWRxcy1cdTAwM2VjbWRxW0hJTklDM19DTURRX1NZTkNdLndxKSkge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTg1NC1cdFx0aWYgKGNtZHFzLVx1MDAzZWNtZHFbSElOSUMzX0NNRFFfU1lOQ10ud3EucXBhZ2VzLm51bV9wYWdlcyBcdTAwM2Vcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtODgzLVx0XHRjbWRxX3R5cGUtLTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo4ODQ6XHRcdGhpbmljM193cV9kZXN0cm95KGh3ZGV2LCBcdTAwMjZjbWRxcy1cdTAwM2VjbWRxW2NtZHFfdHlwZV0ud3EpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTg4NS1cdH1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtODg5LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjg5MDpzdGF0aWMgdm9pZCBkZXN0cm95X2NtZHFfd3Eoc3RydWN0IGhpbmljM19od2RldiAqaHdkZXYsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6ODkxOlx0XHRcdCAgICBzdHJ1Y3QgaGluaWMzX2NtZHFzICpjbWRxcylcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy04OTIte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy04OTktXHRmb3IgKGNtZHFfdHlwZSA9IDA7IGNtZHFfdHlwZSBcdTAwM2MgY21kcXMtXHUwMDNlY21kcV9udW07IGNtZHFfdHlwZSYjNDM7JiM0MzspXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6OTAwOlx0XHRoaW5pYzNfd3FfZGVzdHJveShod2RldiwgXHUwMDI2Y21kcXMtXHUwMDNlY21kcVtjbWRxX3R5cGVdLndxKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy05MDEtfVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTkwMi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo5MDM6c3RhdGljIGludCBpbml0X2NtZHFzKHN0cnVjdCBoaW5pYzNfaHdkZXYgKmh3ZGV2KVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTkwNC17XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6OTA1Olx0c3RydWN0IGhpbmljM19jbWRxcyAqY21kcXM7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtOTA2LVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy05MTQtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6OTE1Olx0Y21kcXMtXHUwMDNlY21kX2J1Zl9wb29sID0gZG1hX3Bvb2xfY3JlYXRlKFwmIzM0O2hpbmljM19jbWRxXCYjMzQ7LCBod2Rldi1cdTAwM2VkZXYsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtOTE2LVx0XHRcdFx0XHQgICAgICBDTURRX0JVRl9TSVpFLCBDTURRX0JVRl9TSVpFLCAwKTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtOTI1LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjkyNjpzdGF0aWMgdm9pZCBjbWRxX2ZsdXNoX3N5bmNfY21kKHN0cnVjdCBoaW5pYzNfY21kcV9jbWRfaW5mbyAqY21kX2luZm8pXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtOTI3LXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtOTQ2LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjk0NzpzdGF0aWMgdm9pZCBoaW5pYzNfY21kcV9mbHVzaF9jbWQoc3RydWN0IGhpbmljM19jbWRxICpjbWRxKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTk0OC17XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6OTQ5Olx0c3RydWN0IGhpbmljM19jbWRxX2NtZF9pbmZvICpjbWRfaW5mbztcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy05NTAtXHR1MTYgY2k7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTk1My1cdHdoaWxlIChjbWRxX3JlYWRfd3FlKFx1MDAyNmNtZHEtXHUwMDNld3EsIFx1MDAyNmNpKSkge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjk1NDpcdFx0aGluaWMzX3dxX3B1dF93cWViYnMoXHUwMDI2Y21kcS1cdTAwM2V3cSwgQ01EUV9XUUVfTlVNX1dRRUJCUyk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtOTU1LVx0XHRjbWRfaW5mbyA9IFx1MDAyNmNtZHEtXHUwMDNlY21kX2luZm9zW2NpXTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtOTYyLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjk2Mzp2b2lkIGhpbmljM19jbWRxX2ZsdXNoX3N5bmNfY21kKHN0cnVjdCBoaW5pYzNfaHdkZXYgKmh3ZGV2KVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTk2NC17XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6OTY1Olx0c3RydWN0IGhpbmljM19jbWRxICpjbWRxO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTk2Ni1cdHUxNiB3cWVfY250LCB3cWVfaWR4LCBpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjk2NzpcdHN0cnVjdCBoaW5pYzNfd3EgKndxO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTk2OC1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtOTcxLVx0d3EgPSBcdTAwMjZjbWRxLVx1MDAzZXdxO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjk3MjpcdHdxZV9jbnQgPSBoaW5pYzNfd3FfZ2V0X3VzZWQod3EpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTk3My1cdGZvciAoaSA9IDA7IGkgXHUwMDNjIHdxZV9jbnQ7IGkmIzQzOyYjNDM7KSB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTk3OS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo5ODA6c3RhdGljIHZvaWQgaGluaWMzX2NtZHFfcmVzZXRfYWxsX2NtZF9idWYoc3RydWN0IGhpbmljM19jbWRxICpjbWRxKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTk4MS17XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTk4Ny1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo5ODg6aW50IGhpbmljM19yZWluaXRfY21kcV9jdHh0cyhzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2RldilcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy05ODkte1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjk5MDpcdHN0cnVjdCBoaW5pYzNfY21kcXMgKmNtZHFzID0gaHdkZXYtXHUwMDNlY21kcXM7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtOTkxLVx0dTggY21kcV90eXBlO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy05OTMtXHRmb3IgKGNtZHFfdHlwZSA9IDA7IGNtZHFfdHlwZSBcdTAwM2MgY21kcXMtXHUwMDNlY21kcV9udW07IGNtZHFfdHlwZSYjNDM7JiM0MzspIHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo5OTQ6XHRcdGhpbmljM19jbWRxX2ZsdXNoX2NtZChcdTAwMjZjbWRxcy1cdTAwM2VjbWRxW2NtZHFfdHlwZV0pO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjk5NTpcdFx0aGluaWMzX2NtZHFfcmVzZXRfYWxsX2NtZF9idWYoXHUwMDI2Y21kcXMtXHUwMDNlY21kcVtjbWRxX3R5cGVdKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy05OTYtXHRcdGNtZHFzLVx1MDAzZWNtZHFbY21kcV90eXBlXS53cmFwcGVkID0gMTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo5OTc6XHRcdGhpbmljM193cV9yZXNldChcdTAwMjZjbWRxcy1cdTAwM2VjbWRxW2NtZHFfdHlwZV0ud3EpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTk5OC1cdH1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy05OTktXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MTAwMDpcdHJldHVybiBoaW5pYzNfc2V0X2NtZHFfY3R4dHMoaHdkZXYpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEwMDEtfVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEwMDItXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MTAwMzppbnQgaGluaWMzX2NtZHFzX2luaXQoc3RydWN0IGhpbmljM19od2RldiAqaHdkZXYpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMTAwNC17XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MTAwNTpcdHN0cnVjdCBoaW5pYzNfY21kcXMgKmNtZHFzO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEwMDYtXHR2b2lkIF9faW9tZW0gKmRiX2Jhc2U7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEwMTgtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MTAxOTpcdGVyciA9IGhpbmljM19hbGxvY19kYl9hZGRyKGh3ZGV2LCBcdTAwMjZkYl9iYXNlLCBOVUxMKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xMDIwLVx0aWYgKGVycikge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xMDM1LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjEwMzY6XHRlcnIgPSBoaW5pYzNfc2V0X2NtZHFfY3R4dHMoaHdkZXYpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEwMzctXHRpZiAoZXJyKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xMDQ3LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjEwNDg6XHRoaW5pYzNfZnJlZV9kYl9hZGRyKGh3ZGV2LCBjbWRxcy1cdTAwM2VjbWRxc19kYl9iYXNlKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xMDQ5LWVycl9kZXN0cm95X2NtZHFfd3E6XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEwNTctXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MTA1ODp2b2lkIGhpbmljM19jbWRxc19mcmVlKHN0cnVjdCBoaW5pYzNfaHdkZXYgKmh3ZGV2KVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEwNTkte1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjEwNjA6XHRzdHJ1Y3QgaGluaWMzX2NtZHFzICpjbWRxcyA9IGh3ZGV2LVx1MDAzZWNtZHFzO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEwNjEtXHR1OCBjbWRxX3R5cGU7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEwNjUtXHRmb3IgKGNtZHFfdHlwZSA9IDA7IGNtZHFfdHlwZSBcdTAwM2MgY21kcXMtXHUwMDNlY21kcV9udW07IGNtZHFfdHlwZSYjNDM7JiM0MzspIHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzoxMDY2Olx0XHRoaW5pYzNfY21kcV9mbHVzaF9jbWQoXHUwMDI2Y21kcXMtXHUwMDNlY21kcVtjbWRxX3R5cGVdKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzoxMDY3Olx0XHRoaW5pYzNfY21kcV9yZXNldF9hbGxfY21kX2J1ZihcdTAwMjZjbWRxcy1cdTAwM2VjbWRxW2NtZHFfdHlwZV0pO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEwNjgtXHRcdGtmcmVlKGNtZHFzLVx1MDAzZWNtZHFbY21kcV90eXBlXS5jbWRfaW5mb3MpO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xMDcwLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjEwNzE6XHRoaW5pYzNfZnJlZV9kYl9hZGRyKGh3ZGV2LCBjbWRxcy1cdTAwM2VjbWRxc19kYl9iYXNlKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xMDcyLVx0ZGVzdHJveV9jbWRxX3dxKGh3ZGV2LCBjbWRxcyk7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEwNzYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MTA3Nzpib29sIGhpbmljM19jbWRxX2lkbGUoc3RydWN0IGhpbmljM19jbWRxICpjbWRxKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEwNzgte1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjEwNzk6XHRyZXR1cm4gaGluaWMzX3dxX2dldF91c2VkKFx1MDAyNmNtZHEtXHUwMDNld3EpID09IDA7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMTA4MC19XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oLTgtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6OTojaW5jbHVkZSBcJiMzNDtoaW5pYzNfaHdfaW50Zi5oXCYjMzQ7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTA6I2luY2x1ZGUgXCYjMzQ7aGluaWMzX3dxLmhcJiMzNDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaC0xMS1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg9MjU9c3RydWN0IGNtZHFfbGNtZF9idWZkZXNjIHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaDoyNjpcdHN0cnVjdCBoaW5pYzNfc2dlIHNnZTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaC0yNy1cdF9fbGU2NCAgICAgICAgICAgIHJzdmQyO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaD00ND1zdHJ1Y3QgY21kcV9jb21wbGV0aW9uIHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaC00NS1cdHVuaW9uIHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaDo0NjpcdFx0c3RydWN0IGhpbmljM19zZ2UgICAgICAgc2dlO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oLTQ3LVx0XHRzdHJ1Y3QgY21kcV9kaXJlY3RfcmVzcCBkaXJlY3Q7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oPTc1PXN0YXRpY19hc3NlcnQoc2l6ZW9mKHN0cnVjdCBjbWRxX3dxZSkgPT0gNjQpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oLTc2LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjc3OmVudW0gaGluaWMzX2NtZHFfdHlwZSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtNzgtXHRISU5JQzNfQ01EUV9TWU5DICAgICAgPSAwLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaC04MS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaDo4MjplbnVtIGhpbmljM19jbWRxX3N0YXR1cyB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtODMtXHRISU5JQzNfQ01EUV9FTkFCTEUgPSBCSVQoMCksXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oLTg1LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjg2OmVudW0gaGluaWMzX2NtZHFfY21kX3R5cGUge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oLTg3LVx0SElOSUMzX0NNRF9UWVBFX05PTkUsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oLTk1LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjk2OnN0cnVjdCBoaW5pYzNfY21kX2J1ZiB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtOTctXHR2b2lkICAgICAgICpidWY7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oLTEwMi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaDoxMDM6c3RydWN0IGhpbmljM19jbWRfYnVmX3BhaXIge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjEwNDpcdHN0cnVjdCBoaW5pYzNfY21kX2J1ZiAqaW47XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTA1Olx0c3RydWN0IGhpbmljM19jbWRfYnVmICpvdXQ7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtMTA2LX07XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtMTA3LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjEwODpzdHJ1Y3QgaGluaWMzX2NtZHFfY21kX2luZm8ge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjEwOTpcdGVudW0gaGluaWMzX2NtZHFfY21kX3R5cGUgY21kX3R5cGU7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtMTEwLVx0c3RydWN0IGNvbXBsZXRpb24gICAgICAgICAqZG9uZTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtMTE1LVx0dTY0ICAgICAgICAgICAgICAgICAgICAgICBjbWRxX21zZ19pZDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaDoxMTY6XHRzdHJ1Y3QgaGluaWMzX2NtZF9idWYgICAgICpidWZfaW47XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTE3Olx0c3RydWN0IGhpbmljM19jbWRfYnVmICAgICAqYnVmX291dDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaC0xMTgtfTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaC0xMTktXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTIwOnN0cnVjdCBoaW5pYzNfY21kcSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTIxOlx0c3RydWN0IGhpbmljM193cSAgICAgICAgICAgIHdxO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjEyMjpcdGVudW0gaGluaWMzX2NtZHFfdHlwZSAgICAgICBjbWRxX3R5cGU7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtMTIzLVx0dTggICAgICAgICAgICAgICAgICAgICAgICAgIHdyYXBwZWQ7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oLTEyNS1cdHNwaW5sb2NrX3QgICAgICAgICAgICAgICAgICBjbWRxX2xvY2s7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTI2Olx0c3RydWN0IGhpbmljM19jbWRxX2NtZF9pbmZvICpjbWRfaW5mb3M7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTI3Olx0c3RydWN0IGhpbmljM19od2RldiAgICAgICAgICpod2RldjtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaC0xMjgtfTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaC0xMjktXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTMwOnN0cnVjdCBoaW5pYzNfY21kcXMge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjEzMTpcdHN0cnVjdCBoaW5pYzNfaHdkZXYgKmh3ZGV2O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjEzMjpcdHN0cnVjdCBoaW5pYzNfY21kcSAgY21kcVtISU5JQzNfTUFYX0NNRFFfVFlQRVNdO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oLTEzMy1cdHN0cnVjdCBkbWFfcG9vbCAgICAgKmNtZF9idWZfcG9vbDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtMTQ4LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjE0OTppbnQgaGluaWMzX2NtZHFzX2luaXQoc3RydWN0IGhpbmljM19od2RldiAqaHdkZXYpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjE1MDp2b2lkIGhpbmljM19jbWRxc19mcmVlKHN0cnVjdCBoaW5pYzNfaHdkZXYgKmh3ZGV2KTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaC0xNTEtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTUyOnN0cnVjdCBoaW5pYzNfY21kX2J1ZiAqaGluaWMzX2FsbG9jX2NtZF9idWYoc3RydWN0IGhpbmljM19od2RldiAqaHdkZXYpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjE1Mzp2b2lkIGhpbmljM19mcmVlX2NtZF9idWYoc3RydWN0IGhpbmljM19od2RldiAqaHdkZXYsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTU0Olx0XHRcdCBzdHJ1Y3QgaGluaWMzX2NtZF9idWYgKmNtZF9idWYpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjE1NTp2b2lkIGhpbmljM19jbWRxX2NlcV9oYW5kbGVyKHN0cnVjdCBoaW5pYzNfaHdkZXYgKmh3ZGV2LCBfX2xlMzIgY2VxZV9kYXRhKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaC0xNTYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTU3OmludCBoaW5pYzNfY21kX2J1Zl9wYWlyX2luaXQoc3RydWN0IGhpbmljM19od2RldiAqaHdkZXYsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTU4Olx0XHRcdCAgICAgc3RydWN0IGhpbmljM19jbWRfYnVmX3BhaXIgKnBhaXIpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjE1OTp2b2lkIGhpbmljM19jbWRfYnVmX3BhaXJfdW5pbml0KHN0cnVjdCBoaW5pYzNfaHdkZXYgKmh3ZGV2LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjE2MDpcdFx0XHRcdHN0cnVjdCBoaW5pYzNfY21kX2J1Zl9wYWlyICpwYWlyKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaDoxNjE6aW50IGhpbmljM19jbWRxX2RpcmVjdF9yZXNwKHN0cnVjdCBoaW5pYzNfaHdkZXYgKmh3ZGV2LCB1OCBtb2QsIHU4IGNtZCxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaDoxNjI6XHRcdFx0ICAgIHN0cnVjdCBoaW5pYzNfY21kX2J1ZiAqYnVmX2luLCBfX2xlNjQgKm91dF9wYXJhbSk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTYzOmludCBoaW5pYzNfY21kcV9kZXRhaWxfcmVzcChzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2RldiwgdTggbW9kLCB1OCBjbWQsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTY0Olx0XHRcdCAgICBzdHJ1Y3QgaGluaWMzX2NtZF9idWYgKmJ1Zl9pbixcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaDoxNjU6XHRcdFx0ICAgIHN0cnVjdCBoaW5pYzNfY21kX2J1ZiAqYnVmX291dCwgX19sZTY0ICpvdXRfcGFyYW0pO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oLTE2Ni1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaDoxNjc6dm9pZCBoaW5pYzNfY21kcV9mbHVzaF9zeW5jX2NtZChzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2Rldik7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTY4OmludCBoaW5pYzNfcmVpbml0X2NtZHFfY3R4dHMoc3RydWN0IGhpbmljM19od2RldiAqaHdkZXYpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjE2OTpib29sIGhpbmljM19jbWRxX2lkbGUoc3RydWN0IGhpbmljM19jbWRxICpjbWRxKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaC0xNzAtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY29tbW9uLmMtNy1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NvbW1vbi5jOjg6I2luY2x1ZGUgXCYjMzQ7aGluaWMzX2NvbW1vbi5oXCYjMzQ7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jb21tb24uYy05LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY29tbW9uLmM6MTA6aW50IGhpbmljM19kbWFfemFsbG9jX2NvaGVyZW50X2FsaWduKHN0cnVjdCBkZXZpY2UgKmRldiwgdTMyIHNpemUsIHUzMiBhbGlnbixcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NvbW1vbi5jLTExLVx0XHRcdFx0ICAgICBnZnBfdCBmbGFnLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY29tbW9uLmM6MTI6XHRcdFx0XHQgICAgIHN0cnVjdCBoaW5pYzNfZG1hX2FkZHJfYWxpZ24gKm1lbV9hbGlnbilcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NvbW1vbi5jLTEzLXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jb21tb24uYy00OC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NvbW1vbi5jOjQ5OnZvaWQgaGluaWMzX2RtYV9mcmVlX2NvaGVyZW50X2FsaWduKHN0cnVjdCBkZXZpY2UgKmRldixcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NvbW1vbi5jOjUwOlx0XHRcdFx0ICAgIHN0cnVjdCBoaW5pYzNfZG1hX2FkZHJfYWxpZ24gKm1lbV9hbGlnbilcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NvbW1vbi5jLTUxLXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jb21tb24uYy01NS1cblxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAzIDA0OjIzPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDE5OTA5CgkJCQkJCQlvdXRwdXQ6IDM4CgkJCQkJCQl0aG91Z2h0czogNzgKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGxldCYjMzk7cyBzZWUgd2hhdCB3ZSYjMzk7cmUgZGVhbGluZyB3aXRoIGhlcmUuCgoqKkluaXRpYWwgQXNzZXNzbWVudCBvZiB0aGUgSElOSUMzIENvZGViYXNlKioKCkFscmlnaHQsIEkmIzM5O3ZlIGdvdCBhIGxpc3Qgb2YgZmlsZXMgaW4gZnJvbnQgb2YgbWU6IGBoaW5pYzNfaHdkZXYuY2AsIGBoaW5pYzNfaHdpZi5jYCwgYGhpbmljM19sbGQuY2AsIGBoaW5pYzNfbWFpbi5jYCwgYW5kIGBoaW5pYzNfbmV0ZGV2X29wcy5jYC4gQmFzZWQgb24gdGhvc2UgbmFtZXMsIHRoaXMgbG9va3MgbGlrZSBhIEhJTklDMyBkcml2ZXIsIHdoaWNoIG1ha2VzIHNlbnNlIGdpdmVuIHRoZSBmaWxlIHByZWZpeGVzLiBNeSBpbml0aWFsIGh1bmNoIGlzIHRoYXQgdGhpcyBpcyByZWxhdGVkIHRvIGhhcmR3YXJlIGZvciBuZXR3b3JrIGludGVyZmFjZSBjYXJkLgoKTm93LCB3aGVyZSBkbyBJIHN0YXJ0IG15IGFuYWx5c2lzPyAgR2l2ZW4gdGhvc2UsIG15IGZpcnN0IHN0ZXAgaXMgdG8gZGl2ZSBpbnRvIGBoaW5pYzNfbWFpbi5jYC4gSXQmIzM5O3MgcHJldHR5IGNvbW1vbiBmb3IgdGhlIGBfbWFpbmAgZmlsZSB0byBjb250YWluIHRoZSBjb3JlIGRyaXZlciBlbnRyeSBwb2ludHMgYW5kLCB2ZXJ5IG9mdGVuLCB0aGUgUENJIGRyaXZlciBpbml0aWFsaXphdGlvbi4gSSBuZWVkIHRvIGNvbmZpcm0gd2hldGhlciB0aGlzIGlzIGEgUENJIGRldmljZSBkcml2ZXIgdG8gdW5kZXJzdGFuZCB0aGUgYmFzaWMgc3RydWN0dXJlIG9mIGhvdyB0aGUgaGFyZHdhcmUgZ2V0cyByZWNvZ25pemVkIGFuZCBpbml0aWFsaXplZC4gTGV0JiMzOTtzIHNlZSBpZiB0aGlzIGBfbWFpbmAgZmlsZSBob2xkcyB0aGUga2V5LgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAzIDA0OjIzPC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O3BjaV9kcml2ZXImIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19sbGQuYz00MzY9c3RhdGljIHZvaWQgaGluaWMzX3NodXRkb3duKHN0cnVjdCBwY2lfZGV2ICpwZGV2KVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2xsZC5jLTQ0NS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2xsZC5jOjQ0NjpzdGF0aWMgc3RydWN0IHBjaV9kcml2ZXIgaGluaWMzX2RyaXZlciA9IHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2xsZC5jLTQ0Ny1cdC5uYW1lICAgICAgICAgICAgPSBISU5JQzNfTklDX0RSVl9OQU1FLFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAzIDA0OjIzPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDIwNDI2CgkJCQkJCQlvdXRwdXQ6IDI1CgkJCQkJCQl0aG91Z2h0czogNTA2CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKldvcnRoRnV6emluZyBEZWNpc2lvbiBmb3IgYSBQQ0kgRHJpdmVyKioKCk9rYXksIHNvIHRoaXMgbG9va3MgbGlrZSBhIFBDSSBkcml2ZXIg4oCTIHNwZWNpZmljYWxseSwgdGhlIEh1YXdlaSBJbnRlbGxpZ2VudCBOSUMgKGhpbmljMykuIFJpZ2h0IGF3YXksIG15IHJhZGFyIGdvZXMgdXAuIElzIHRoaXMgYSB2ZW5kb3Itc3BlY2lmaWMgUENJZSBjYXJkIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VPyBZZXMsIHRoYXQmIzM5O3MgZXhhY3RseSB3aGF0IGl0IGlzLiBUaGUgcHJvbXB0IGlzIHZlcnkgY2xlYXI6IGlmIHRoZSBwYXRjaCAqb25seSogaW52b2x2ZXMgY29kZSBpbiBkcml2ZXJzIGZvciBoYXJkd2FyZSBsaWtlIHRoaXMsIHdoaWNoICppc24mIzM5O3QqIGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUsIHRoZW4gYFdvcnRoRnV6emluZ2Agc2hvdWxkIGJlIGBmYWxzZWAuCgpMZXQgbWUgcXVpY2tseSBkb3VibGUtY2hlY2sgdGhhdCBgaGluaWMzYCBpcyAqbm90KiBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLiBDb25maXJtZWQuIEl0JiMzOTtzIGEgdmVuZG9yLXNwZWNpZmljIGNhcmQuIEkgbmVlZCB0byBtYWtlIHN1cmUgSSB1bmRlcnN0YW5kIHRoZSBzY29wZSBvZiB0aGUgcHJvbXB0IHRob3VnaC4gSXQgZXhwbGljaXRseSBjYWxscyBvdXQgU21hcnROSUMgZHJpdmVycy4gSXMgYGhpbmljM2AgYSBTbWFydE5JQz8gSG1tbS4uLiBMZXQmIzM5O3Mgc2VlOiBIdWF3ZWkgKkludGVsbGlnZW50KiBOSUMuIFllcywgdGhhdCBzdWdnZXN0cyBpdC4gSXQgKmlzKiBhIHZlbmRvci1zcGVjaWZpYyBQQ0llIGhhcmR3YXJlIGNhcmQuIEFscmlnaHQsIEkmIzM5O20gbGVhbmluZyB0b3dhcmRzIGBmYWxzZWAgYWxyZWFkeS4KCkkmIzM5O20gcmV0dXJuaW5nIGBXb3J0aEZ1enppbmc9ZmFsc2VgIGJlY2F1c2UgaXQmIzM5O3MgYSB2ZW5kb3Itc3BlY2lmaWMgUENJZSBjYXJkIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLiBUaGF0JiMzOTtzIGEga2V5IHJlcXVpcmVtZW50LgoKTGV0JiMzOTtzIHJldmlldyB0aGUgcHJvbXB0IGFnYWluIGZvciBnb29kIG1lYXN1cmU6ICYjMzQ7UmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWlucyBjb2RlIGluIHZlbmRvci1zcGVjaWZpYyBQQ0llIHN3aXRjaCwgU21hcnROSUMsIG9yIEdQVSBkcml2ZXJzLi4uIHRoYXQgcmVxdWlyZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLiYjMzQ7IE9rYXksIHNvIGBoaW5pYzNgIHNlZW1zIHRvIGZpdCB0aGF0IGRlc2NyaXB0aW9uIHBlcmZlY3RseS4gSXQmIzM5O3MgYSBTbWFydE5JQywgYW5kIGl0JiMzOTtzIG5vdCBlbXVsYXRlZC4gVGhlcmVmb3JlLCB0aGUgYW5zd2VyIGlzIGBmYWxzZWAuCgpOb3csIGxldCYjMzk7cyBzZWUgd2hhdCB0aGUgcGF0Y2ggYWN0dWFsbHkgKmRvZXMqLiBJdCYjMzk7cyBtb2RpZnlpbmcgZnVuY3Rpb25zIGxpa2UgYGhpbmljM19jb25maWd1cmVfcnhxc2AsIGBoaW5pYzNfdHhfY3N1bWAsIGFuZCBgaGluaWMzX3R4X29mZmxvYWRgLiBUaGVzZSBhcmUgKmNsZWFybHkqIGRyaXZlci1zcGVjaWZpYyBmdW5jdGlvbnMgZm9yIHRoaXMgaGFyZHdhcmUuIFRoZSBib3R0b20gbGluZSBpcyB0aGF0IHNpbmNlIGBoaW5pYzNgICppcyogYSBwaHlzaWNhbCBQQ0llIGNhcmQgbm90IGVtdWxhdGVkIGluIFFFTVUsIHRoZXJlIGlzIG5vIHdheSB0byByZWFjaCB0aGVzZSBjb2RlIHBhdGhzIHVzaW5nIHN5emthbGxlciwgb3IgR0NFLgoKRmluYWxseSwganVzdCB0byBiZSBhYnNvbHV0ZWx5IGNlcnRhaW4sIGlzIHRoZXJlIGFueSBwb3NzaWJpbGl0eSBvZiBzb21lICpzb2Z0d2FyZSogZW11bGF0aW9uIGZvciB0aGUgaGluaWMzPyBObywgdGhhdCBpcyBub3QgcG9zc2libGUuIFRoZXJlZm9yZSwgYFdvcnRoRnV6emluZ2Agc2hvdWxkIGJlIGBmYWxzZWAuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OC8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDMgMDQ6MjQ8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkVycm9yOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bm8gbWF0Y2hlczwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtoaW5pYzMmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDt0b29scy8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7ZXJyb3ImIzM0OzogJiMzNDtubyBtYXRjaGVzJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAzIDA0OjI0PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDIxNDg2CgkJCQkJCQlvdXRwdXQ6IDI1CgkJCQkJCQl0aG91Z2h0czogMTQKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGhlcmUmIzM5O3MgbXkgdGFrZSBvbiB0aG9zZSB0aG91Z2h0cywgZnJhbWVkIGFzIGFuIGV4cGVydCYjMzk7cyBpbnRlcm5hbCBtb25vbG9ndWU6CgoqKk5hdmlnYXRpbmcgdGhlIFRvb2xpbmcgTGFuZHNjYXBlKioKCkFscmlnaHQsIGxldCYjMzk7cyBzZWUuLi4gdGhlIGNvZGUmIzM5O3Mgb3JnYW5pemVkIHdlbGwsIGJ1dCBJJiMzOTttIHRoaW5raW5nIGFib3V0IHRoZSB0ZXN0aW5nIGFuZCBkZWJ1Z2dpbmcgaW5mcmFzdHJ1Y3R1cmUuIEkgaGF2ZW4mIzM5O3Qgc2VlbiBhbnkgbWVudGlvbiBvZiBzb2Z0d2FyZSBlbXVsYXRpb24gZGlyZWN0bHkgaW4gdGhlIGB0b29scy9gIGRpcmVjdG9yeS4gVGhhdCYjMzk7cyBhIGxpdHRsZSBzdXJwcmlzaW5nLCBvciBtYXliZSBJIGFtIG1pc3NpbmcgaXQgLSBpdCYjMzk7cyB3b3J0aCBhIGRvdWJsZS1jaGVjay4gSSYjMzk7bSB3b25kZXJpbmcgaWYgdGhlcmUmIzM5O3MgYSBtb3JlIGFic3RyYWN0IGFwcHJvYWNoIGJlaW5nIHRha2VuLCBvciBpZiBpdCYjMzk7cyBpbnRlZ3JhdGVkIGVsc2V3aGVyZSwgcGVyaGFwcyB1c2luZyBhIGhhcmR3YXJlLWluLXRoZS1sb29wIHN0cmF0ZWd5IHRoYXQmIzM5O3MgZG9jdW1lbnRlZCBvdXRzaWRlIG9mIHRoZSBjb2RlLgoKTm93LCBhIG1vcmUgb2J2aW91cyBxdWVzdGlvbiBhcmlzZXM6IFdoYXQmIzM5O3MgdGhlIHN0b3J5IHdpdGggYERvY3VtZW50YXRpb24vYD8gSSBuZWVkIHRvIGRpZyBpbnRvIHRoYXQgZGlyZWN0b3J5IHNwZWNpZmljYWxseS4gVGhlIGRvY3VtZW50YXRpb24gc2hvdWxkIGJlIHRoZSBzb3VyY2Ugb2YgdHJ1dGggZm9yIHRoZXNlIGtpbmRzIG9mIGRldGFpbHMuIElmIHRoZXJlICppcyogZW11bGF0aW9uIHN1cHBvcnQsIGl0IHNob3VsZCBkZWZpbml0ZWx5IGJlIG1lbnRpb25lZCB0aGVyZSwgZWl0aGVyIGRpcmVjdGx5IGFzIHBhcnQgb2YgYSB0b29sLCBvciBhcyBhIHNldHVwIGRlc2NyaXB0aW9uLiBUaGUgZG9jdW1lbnRhdGlvbiBpcyB0aGUga2V5IGhlcmUuIExldCBtZSBzZWUgd2hhdCYjMzk7cyBpbiB0aGVyZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDMgMDQ6MjQ8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7aGluaWMzJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7RG9jdW1lbnRhdGlvbi8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7RG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0LTMtPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q6NDpMaW51eCBrZXJuZWwgZHJpdmVyIGZvciBIdWF3ZWkgRXRoZXJuZXQgRGV2aWNlIERyaXZlciAoaGluaWMzKSBmYW1pbHlcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdC01LT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLS1cbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdD03PU92ZXJ2aWV3XG4tLVxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0LTktXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q6MTA6VGhlIGhpbmljMyBpcyBhIG5ldHdvcmsgaW50ZXJmYWNlIGNhcmQgKE5JQykgZm9yIERhdGEgQ2VudGVyLiBJdCBzdXBwb3J0c1xuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjExOmEgcmFuZ2Ugb2YgbGluay1zcGVlZCBkZXZpY2VzICgxMEdFLCAyNUdFLCAxMDBHRSwgZXRjLikuIFRoZSBoaW5pYzNcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdC0xMi1kZXZpY2VzIGNhbiBoYXZlIG11bHRpcGxlIHBoeXNpY2FsIGZvcm1zOiBMT00gKExhbiBvbiBNb3RoZXJib2FyZCkgTklDLFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0PTEzPVBDSWUgc3RhbmRhcmQgTklDLCBPQ1AgKE9wZW4gQ29tcHV0ZSBQcm9qZWN0KSBOSUMsIGV0Yy5cbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdC0xNC1cbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDoxNTpUaGUgaGluaWMzIGRyaXZlciBzdXBwb3J0cyB0aGUgZm9sbG93aW5nIGZlYXR1cmVzOlxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0LTE2LS0gSVB2NC9JUHY2IFRDUC9VRFAgY2hlY2tzdW0gb2ZmbG9hZFxuLS1cbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdD0yOT1TdXBwb3J0ZWQgUENJIHZlbmRvciBJRC9kZXZpY2UgSURzXG4tLVxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0LTMxLVxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjMyOjE5ZTU6MDIyMiAtIGhpbmljMyBQRi9QUEZcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDozMzoxOWU1OjM3NUYgLSBoaW5pYzMgVkZcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdC0zNC1cbi0tXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q9Mzk9U291cmNlIENvZGUgU3RydWN0dXJlIG9mIEhpbmljMyBEcml2ZXJcbi0tXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3QtNDItPT09PT09PT09PT09PT09PT09PT09PT09ICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDo0MzpoaW5pYzNfcGNpX2lkX3RibC5oICAgICAgIFN1cHBvcnRlZCBkZXZpY2UgSURzXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q6NDQ6aGluaWMzX2h3X2ludGYuaCAgICAgICAgICBJbnRlcmZhY2UgYmV0d2VlbiBIVyBhbmQgZHJpdmVyXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q6NDU6aGluaWMzX3F1ZXVlX2NvbW1vbi5bY2hdICBDb21tb24gc3RydWN0dXJlcyBhbmQgbWV0aG9kcyBmb3IgTklDIHF1ZXVlc1xuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjQ2OmhpbmljM19jb21tb24uW2NoXSAgICAgICAgRW5jYXBzdWxhdGlvbiBvZiBtZW1vcnkgb3BlcmF0aW9ucyBpbiBMaW51eFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjQ3OmhpbmljM19jc3IuaCAgICAgICAgICAgICAgUmVnaXN0ZXIgZGVmaW5pdGlvbnMgaW4gdGhlIEJBUlxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjQ4OmhpbmljM19od2lmLltjaF0gICAgICAgICAgSW50ZXJmYWNlIGZvciBCQVJcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDo0OTpoaW5pYzNfZXFzLltjaF0gICAgICAgICAgIEludGVyZmFjZSBmb3IgQUVRcyBhbmQgQ0VRc1xuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjUwOmhpbmljM19tYm94LltjaF0gICAgICAgICAgSW50ZXJmYWNlIGZvciBtYWlsYm94XG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q6NTE6aGluaWMzX21nbXQuW2NoXSAgICAgICAgICBNYW5hZ2VtZW50IGludGVyZmFjZSBiYXNlZCBvbiBtYWlsYm94IGFuZCBBRVFcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDo1MjpoaW5pYzNfd3EuW2NoXSAgICAgICAgICAgIFdvcmsgcXVldWUgZGF0YSBzdHJ1Y3R1cmVzIGFuZCBpbnRlcmZhY2VcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDo1MzpoaW5pYzNfY21kcS5bY2hdICAgICAgICAgIENvbW1hbmQgcXVldWUgaXMgdXNlZCB0byBwb3N0IGNvbW1hbmQgdG8gSFdcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDo1NDpoaW5pYzNfaHdkZXYuW2NoXSAgICAgICAgIEhXIHN0cnVjdHVyZXMgYW5kIG1ldGhvZHMgYWJzdHJhY3Rpb25zXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q6NTU6aGluaWMzX2xsZC5bY2hdICAgICAgICAgICBBdXhpbGlhcnkgZHJpdmVyIGFkYXB0YXRpb24gbGF5ZXJcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDo1NjpoaW5pYzNfaHdfY29tbS5bY2hdICAgICAgIEludGVyZmFjZSBmb3IgY29tbW9uIEhXIG9wZXJhdGlvbnNcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDo1NzpoaW5pYzNfbWdtdF9pbnRlcmZhY2UuaCAgIEludGVyZmFjZSBiZXR3ZWVuIGZpcm13YXJlIGFuZCBkcml2ZXJcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDo1ODpoaW5pYzNfaHdfY2ZnLltjaF0gICAgICAgIEludGVyZmFjZSBmb3IgSFcgY29uZmlndXJhdGlvblxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjU5OmhpbmljM19pcnEuYyAgICAgICAgICAgICAgSW50ZXJydXB0IHJlcXVlc3RcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDo2MDpoaW5pYzNfbmV0ZGV2X29wcy5jICAgICAgIE9wZXJhdGlvbnMgcmVnaXN0ZXJlZCB0byBMaW51eCBrZXJuZWwgc3RhY2tcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDo2MTpoaW5pYzNfbmljX2Rldi5oICAgICAgICAgIE5JQyBzdHJ1Y3R1cmVzIGFuZCBtZXRob2RzIGFic3RyYWN0aW9uc1xuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjYyOmhpbmljM19tYWluLmMgICAgICAgICAgICAgTWFpbiBMaW51eCBrZXJuZWwgZHJpdmVyXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q6NjM6aGluaWMzX25pY19jZmcuW2NoXSAgICAgICBOSUMgc2VydmljZSBjb25maWd1cmF0aW9uXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q6NjQ6aGluaWMzX25pY19pby5bY2hdICAgICAgICBNYW5hZ2VtZW50IHBsYW5lIGludGVyZmFjZSBmb3IgVFggYW5kIFJYXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q6NjU6aGluaWMzX3Jzcy5bY2hdICAgICAgICAgICBJbnRlcmZhY2UgZm9yIFJlY2VpdmUgU2lkZSBTY2FsaW5nIChSU1MpXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q6NjY6aGluaWMzX3J4LltjaF0gICAgICAgICAgICBJbnRlcmZhY2UgZm9yIHRyYW5zbWl0XG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q6Njc6aGluaWMzX3R4LltjaF0gICAgICAgICAgICBJbnRlcmZhY2UgZm9yIHJlY2VpdmVcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDo2ODpoaW5pYzNfZXRodG9vbC5jICAgICAgICAgIEludGVyZmFjZSBmb3IgZXRodG9vbCBvcGVyYXRpb25zIChvcHMpXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q6Njk6aGluaWMzX2ZpbHRlci5jICAgICAgICAgICBJbnRlcmZhY2UgZm9yIE1BQyBhZGRyZXNzXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3QtNzAtPT09PT09PT09PT09PT09PT09PT09PT09ICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi0tXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q9ODE9RXZlcnkgQUVRIGlzIGFzc29jaWF0ZWQgdG8gYSBkZWRpY2F0ZWQgSVJRLiBBRVEgY2FuIHJlY2VpdmUgbXVsdGlwbGUgdHlwZXNcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDo4MjpvZiBldmVudHMsIGJ1dCBpbiBwcmFjdGljZSB0aGUgaGluaWMzIGRyaXZlciBpZ25vcmVzIGFsbCBldmVudHMgZXhjZXB0IGZvclxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0LTgzLTIgbWFpbGJveCByZWxhdGVkIGV2ZW50cy5cbi0tXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q9ODU9TWFpbGJveFxuLS1cbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdC04Ny1cbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDo4ODpNYWlsYm94IGlzIGEgY29tbXVuaWNhdGlvbiBtZWNoYW5pc20gYmV0d2VlbiB0aGUgaGluaWMzIGRyaXZlciBhbmQgdGhlIEhXLlxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0LTg5LUVhY2ggZGV2aWNlIGhhcyBhbiBpbmRlcGVuZGVudCBtYWlsYm94LiBEcml2ZXIgY2FuIHVzZSB0aGUgbWFpbGJveCB0byBzZW5kXG4tLVxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0PTEwND1ldmVudHMgdGhhdCBhcmUgcmVzcG9uc2VzIHRvIHJlcXVlc3RzIGZyb20gdGhlIGRyaXZlci4gQ0VRIGNhbiByZWNlaXZlXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q6MTA1Om11bHRpcGxlIHR5cGVzIG9mIGV2ZW50cywgYnV0IGluIHByYWN0aWNlIHRoZSBoaW5pYzMgZHJpdmVyIGlnbm9yZXMgYWxsXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3QtMTA2LWV2ZW50cyBleGNlcHQgZm9yIEhJTklDM19DTURRIHRoYXQgcmVwcmVzZW50cyBjb21wbGV0aW9uIG9mIHByZXZpb3VzbHlcbi0tXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaW5kZXgucnN0PTg9Q29udGVudHM6XG4tLVxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2luZGV4LnJzdC0yOS0gICBodWF3ZWkvaGluaWNcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9pbmRleC5yc3Q6MzA6ICAgaHVhd2VpL2hpbmljM1xuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2luZGV4LnJzdC0zMS0gICBpbnRlbC9lMTAwXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTEvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAzIDA0OjI0PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDIzOTU5CgkJCQkJCQlvdXRwdXQ6IDgxCgkJCQkJCQl0aG91Z2h0czogMjEzCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKldvcnRoRnV6emluZyBEZWNpc2lvbiBmb3IgdGhlIGhpbmljMyBOSUMqKgoKT2theSwgc28gdGhlIGRvY3VtZW50YXRpb24gaXMgY2xlYXI6IHRoZSBgaGluaWMzYCBpcyBhIERhdGEgQ2VudGVyIG5ldHdvcmsgaW50ZXJmYWNlIGNhcmQsIGFuZCBpdCYjMzk7cyBhIHBoeXNpY2FsIGRldmljZS4gSXQgY29tZXMgaW4gZGlmZmVyZW50IHBoeXNpY2FsIGZvcm1zOiBMT00sIFBDSWUsIE9DUCwgdGhlIHVzdWFsIHN1c3BlY3RzLiBTaW5jZSBpdCYjMzk7cyBhIE5JQywgYW5kIHNwZWNpZmljYWxseSAqcmVxdWlyZXMqIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMg4oCTIGFuZCB0aGVzZSBhcmVuJiMzOTt0IHNvbWV0aGluZyBJIGNhbiBlbXVsYXRlIGVmZmVjdGl2ZWx5IGluIGEgc3RhbmRhcmQgUUVNVSBlbnZpcm9ubWVudCDigJMgdGhlbiBJIG5lZWQgdG8gc2V0IGBXb3J0aEZ1enppbmc9ZmFsc2VgLgoKTGV0IG1lIGp1c3QgZG91YmxlLWNoZWNrLCBiZWNhdXNlIEkgd2FudCB0byBiZSAqYWJzb2x1dGVseSogc3VyZS4gVGhlIHByb21wdCBpcyBwcmV0dHkgZXhwbGljaXQ6IGl0IGRpcmVjdHMgbWUgdG8gcmV0dXJuIGBXb3J0aEZ1enppbmc9ZmFsc2VgIGlmIHRoZSBjb2RlIGZhbGxzIHVuZGVyIHRoaXMgY2F0ZWdvcnkgb2YgcmVxdWlyaW5nIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUuIEFuZCB0aGF0JiMzOTtzIGV4YWN0bHkgd2hhdCB3ZSBoYXZlIGhlcmUuIFRoaXMgYGhpbmljM2AgaXMgYSB2ZW5kb3Itc3BlY2lmaWMgTklDIGRyaXZlciB0aGF0IG5lZWRzIHRoZSBwaHlzaWNhbCBoYXJkd2FyZSwgd2hpY2ggbWVhbnMgaXQgZmFsbHMgKnNxdWFyZWx5KiBpbnRvIHRoYXQgZXhjbHVzaW9uYXJ5IGJ1Y2tldC4gVGhlcmVmb3JlLCBJIHdpbGwgcmV0dXJuIGBXb3J0aEZ1enppbmc9ZmFsc2VgLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEyLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8wMyAwNDoyNDwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFtdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBoaW5pYzMgZHJpdmVyIChIdWF3ZWkgSW50ZWxsaWdlbnQgTklDKSwgd2hpY2ggaXMgYSB2ZW5kb3Itc3BlY2lmaWMgUENJZSBoYXJkd2FyZSBjYXJkIGRyaXZlci4gVGhpcyBoYXJkd2FyZSBpcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVSBvciB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgdXNlZCBmb3IgZnV6emluZywgbWFraW5nIHRoZXNlIGNvZGUgcGF0aHMgdW5yZWFjaGFibGUuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgaGluaWMzIGRyaXZlciAoSHVhd2VpIEludGVsbGlnZW50IE5JQyksIHdoaWNoIGlzIGEgdmVuZG9yLXNwZWNpZmljIFBDSWUgaGFyZHdhcmUgY2FyZCBkcml2ZXIuIFRoaXMgaGFyZHdhcmUgaXMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgb3IgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIHVzZWQgZm9yIGZ1enppbmcsIG1ha2luZyB0aGVzZSBjb2RlIHBhdGhzIHVucmVhY2hhYmxlLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8L3Rib2R5PgoJPC90YWJsZT4KCgk8ZGl2IGlkPSJsbG1fc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPkxMTSBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIFRva2VuczwvdGg+CgkJCQkJPHRoPkF2ZyBUb2tlbnM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0ibGxtX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0idG9vbF9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+VG9vbCBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJ0b29sX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0iZHVyYXRpb25fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoJPGRpdiBpZD0idG9rZW5fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vanNhcGkiPjwvc2NyaXB0PgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCWdvb2dsZS5sb2FkKCJ2aXN1YWxpemF0aW9uIiwgIjEiLCB7cGFja2FnZXM6WyJjb3JlY2hhcnQiXX0pOwoJCWdvb2dsZS5zZXRPbkxvYWRDYWxsYmFjayhkcmF3Q2hhcnRzKTsKCgkJZnVuY3Rpb24gZHJhd0NoYXJ0cygpIHsKCQkJY29uc3QgcmF3RGF0YSA9IFt7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAzVDA0OjIzOjQ1LjAxNjUyNTYzMloiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjI2MzkwNDk3Mzk3LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgaGluaWMzIGRyaXZlciAoSHVhd2VpIEludGVsbGlnZW50IE5JQyksIHdoaWNoIGlzIGEgdmVuZG9yLXNwZWNpZmljIFBDSWUgaGFyZHdhcmUgY2FyZCBkcml2ZXIuIFRoaXMgaGFyZHdhcmUgaXMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgb3IgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIHVzZWQgZm9yIGZ1enppbmcsIG1ha2luZyB0aGVzZSBjb2RlIHBhdGhzIHVucmVhY2hhYmxlLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDNUMDQ6MjM6NDUuMDE2NTMyNzgxWiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxMTIxMjI3NTkwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgZWZkZWUyNDNjNTU2NmMzYWMzOWExOGY0MWE5YWU4NjIxNzdiZTMyM1xcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgTW9uIEF1ZyAzIDA0OjIzOjQ0IDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX3J4LmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19yeC5jXFxuaW5kZXggMzA5YWI1OTAxMzc5Ny4uMzg5YjFjMjE1OGJlZSAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19yeC5jXFxuKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfcnguY1xcbkBAIC01NDEsNyArNTQxLDcgQEAgaW50IGhpbmljM19jb25maWd1cmVfcnhxcyhzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LCB1MTYgbnVtX3JxLFxcbiBcXHRcXHRycV9hc3NvY2lhdGVfY3FlcyhyeHEpO1xcbiBcXG4gXFx0XFx0cGt0cyA9IGhpbmljM19yeF9maWxsX2J1ZmZlcnMocnhxKTtcXG4tXFx0XFx0aWYgKCFwa3RzKSB7XFxuK1xcdFxcdGlmIChwa3RzIFxcdTAwM2MgcnhxLVxcdTAwM2VxX21hc2spIHtcXG4gXFx0XFx0XFx0bmV0ZGV2X2VycihuZXRkZXYsIFxcXCJGYWlsZWQgdG8gZmlsbCBSeCBidWZmZXJcXFxcblxcXCIpO1xcbiBcXHRcXHRcXHRyZXR1cm4gLUVOT01FTTtcXG4gXFx0XFx0fVxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM190eC5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfdHguY1xcbmluZGV4IDkzMDZiZjAwMjBjYWYuLjUzYzA2NTE5NDEzNmUgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfdHguY1xcbisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX3R4LmNcXG5AQCAtMjYxLDggKzI2MSw3IEBAIHN0YXRpYyBpbnQgaGluaWMzX3R4X2NzdW0oc3RydWN0IGhpbmljM190eHEgKnR4cSwgc3RydWN0IGhpbmljM19zcV90YXNrICp0YXNrLFxcbiBcXHRcXHQgICAgKChzdHJ1Y3QgdWRwaGRyICopc2tiX3RyYW5zcG9ydF9oZWFkZXIoc2tiKSktXFx1MDAzZWRlc3QgIT1cXG4gXFx0XFx0ICAgIFZYTEFOX09GRkxPQURfUE9SVF9MRSkge1xcbiBcXHRcXHRcXHQvKiBVbnN1cHBvcnRlZCB0dW5uZWwgcGFja2V0LCBkaXNhYmxlIGNzdW0gb2ZmbG9hZCAqL1xcbi1cXHRcXHRcXHRza2JfY2hlY2tzdW1faGVscChza2IpO1xcbi1cXHRcXHRcXHRyZXR1cm4gMDtcXG4rXFx0XFx0XFx0cmV0dXJuIHNrYl9jaGVja3N1bV9oZWxwKHNrYik7XFxuIFxcdFxcdH1cXG4gXFx0fVxcbiBcXG5AQCAtNDEyLDYgKzQxMSwxMCBAQCBzdGF0aWMgdTMyIGhpbmljM190eF9vZmZsb2FkKHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBoaW5pYzNfc3FfdGFzayAqdGFzayxcXG4gXFx0XFx0b2ZmbG9hZCB8PSBISU5JQzNfVFhfT0ZGTE9BRF9UU087XFxuIFxcdH0gZWxzZSB7XFxuIFxcdFxcdHRzb19jc19lbiA9IGhpbmljM190eF9jc3VtKHR4cSwgdGFzaywgc2tiKTtcXG4rXFx0XFx0aWYgKHRzb19jc19lbiBcXHUwMDNjIDApIHtcXG4rXFx0XFx0XFx0b2ZmbG9hZCA9IEhJTklDM19UWF9PRkZMT0FEX0lOVkFMSUQ7XFxuK1xcdFxcdFxcdHJldHVybiBvZmZsb2FkO1xcbitcXHRcXHR9XFxuIFxcdFxcdGlmICh0c29fY3NfZW4pXFxuIFxcdFxcdFxcdG9mZmxvYWQgfD0gSElOSUMzX1RYX09GRkxPQURfQ1NVTTtcXG4gXFx0fVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0wM1QwNDoyMzo0Ni4xMzg3NjA4NDJaIiwiU2VxIjoyLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWdlbnQiLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJiZXN0LWV4cGVuc2l2ZSIsIkR1cmF0aW9uIjoyNTI2ODI1MjQ5NywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIGhpbmljMyBkcml2ZXIgKEh1YXdlaSBJbnRlbGxpZ2VudCBOSUMpLCB3aGljaCBpcyBhIHZlbmRvci1zcGVjaWZpYyBQQ0llIGhhcmR3YXJlIGNhcmQgZHJpdmVyLiBUaGlzIGhhcmR3YXJlIGlzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIG9yIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyB1c2VkIGZvciBmdXp6aW5nLCBtYWtpbmcgdGhlc2UgY29kZSBwYXRocyB1bnJlYWNoYWJsZS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbiAgZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuLSBDb2RlIGluIHZlbmRvci1zcGVjaWZpYyBQQ0llIHN3aXRjaCwgU21hcnROSUMsIG9yIEdQVSBkcml2ZXJzIChlLmcuLCBtbHhzdywgcGRzX2NvcmUsIHFlZCxcbiAgaW9uaWMsIGFtZGdwdSkgdGhhdCByZXF1aXJlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuXG4tIERyaXZlciAucmVtb3ZlLCAuc2h1dGRvd24sIG9yIHBjaV91bnJlZ2lzdGVyX2RyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKGUuZy4sIGlnYl9yZW1vdmUpXG4gIHRoYXQgYXJlIGV4ZWN1dGVkIG9ubHkgZHVyaW5nIFBDSSBob3QtdW5wbHVnIG9yIHN5c2ZzIGRyaXZlciB1bmJpbmQgb3BlcmF0aW9ucy5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuICAgUHJlZmVyIG5vbi1zdGF0aWMsIG5vbi1pbmxpbmVkIEFQSSBlbnRyeXBvaW50IGZ1bmN0aW9ucyBvdmVyIGludGVybmFsIHN0YXRpYyBoZWxwZXIgZnVuY3Rpb25zXG4gICAod2hpY2ggYXJlIGlubGluZWQgYnkgdGhlIGNvbXBpbGVyIGFuZCBkbyBub3QgaGF2ZSBkaXN0aW5jdCBzeW1ib2wgYWRkcmVzc2VzKS5cbjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLlxuICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLlxuICAgQWxzbyBjaGVjayBcImRlcGVuZHMgb25cIiBsaW5lcyBpbiBLY29uZmlnIHRvIGluY2x1ZGUgYW55IG5vbi1zdGFuZGFyZCBwYXJlbnQgc3Vic3lzdGVtIGNvbmZpZ3NcbiAgIG5lZWRlZCBmb3IgS2J1aWxkIHRvIGNvbXBpbGUgdGhlIGNvZGUgc3RhdGljYWxseSBpbnRvIHZtbGludXguIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlnc1xuICAgb3V0cHV0IGFycmF5LCBhbmQgRE8gTk9UIGFkZCBhICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IGVmZGVlMjQzYzU1NjZjM2FjMzlhMThmNDFhOWFlODYyMTc3YmUzMjNcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgTW9uIEF1ZyAzIDA0OjIzOjQ0IDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfcnguYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX3J4LmNcbmluZGV4IDMwOWFiNTkwMTM3OTcuLjM4OWIxYzIxNThiZWUgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19yeC5jXG4rKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19yeC5jXG5AQCAtNTQxLDcgKzU0MSw3IEBAIGludCBoaW5pYzNfY29uZmlndXJlX3J4cXMoc3RydWN0IG5ldF9kZXZpY2UgKm5ldGRldiwgdTE2IG51bV9ycSxcbiBcdFx0cnFfYXNzb2NpYXRlX2NxZXMocnhxKTtcbiBcbiBcdFx0cGt0cyA9IGhpbmljM19yeF9maWxsX2J1ZmZlcnMocnhxKTtcbi1cdFx0aWYgKCFwa3RzKSB7XG4rXHRcdGlmIChwa3RzIFx1MDAzYyByeHEtXHUwMDNlcV9tYXNrKSB7XG4gXHRcdFx0bmV0ZGV2X2VycihuZXRkZXYsIFwiRmFpbGVkIHRvIGZpbGwgUnggYnVmZmVyXFxuXCIpO1xuIFx0XHRcdHJldHVybiAtRU5PTUVNO1xuIFx0XHR9XG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfdHguYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX3R4LmNcbmluZGV4IDkzMDZiZjAwMjBjYWYuLjUzYzA2NTE5NDEzNmUgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM190eC5jXG4rKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM190eC5jXG5AQCAtMjYxLDggKzI2MSw3IEBAIHN0YXRpYyBpbnQgaGluaWMzX3R4X2NzdW0oc3RydWN0IGhpbmljM190eHEgKnR4cSwgc3RydWN0IGhpbmljM19zcV90YXNrICp0YXNrLFxuIFx0XHQgICAgKChzdHJ1Y3QgdWRwaGRyICopc2tiX3RyYW5zcG9ydF9oZWFkZXIoc2tiKSktXHUwMDNlZGVzdCAhPVxuIFx0XHQgICAgVlhMQU5fT0ZGTE9BRF9QT1JUX0xFKSB7XG4gXHRcdFx0LyogVW5zdXBwb3J0ZWQgdHVubmVsIHBhY2tldCwgZGlzYWJsZSBjc3VtIG9mZmxvYWQgKi9cbi1cdFx0XHRza2JfY2hlY2tzdW1faGVscChza2IpO1xuLVx0XHRcdHJldHVybiAwO1xuK1x0XHRcdHJldHVybiBza2JfY2hlY2tzdW1faGVscChza2IpO1xuIFx0XHR9XG4gXHR9XG4gXG5AQCAtNDEyLDYgKzQxMSwxMCBAQCBzdGF0aWMgdTMyIGhpbmljM190eF9vZmZsb2FkKHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBoaW5pYzNfc3FfdGFzayAqdGFzayxcbiBcdFx0b2ZmbG9hZCB8PSBISU5JQzNfVFhfT0ZGTE9BRF9UU087XG4gXHR9IGVsc2Uge1xuIFx0XHR0c29fY3NfZW4gPSBoaW5pYzNfdHhfY3N1bSh0eHEsIHRhc2ssIHNrYik7XG4rXHRcdGlmICh0c29fY3NfZW4gXHUwMDNjIDApIHtcbitcdFx0XHRvZmZsb2FkID0gSElOSUMzX1RYX09GRkxPQURfSU5WQUxJRDtcbitcdFx0XHRyZXR1cm4gb2ZmbG9hZDtcbitcdFx0fVxuIFx0XHRpZiAodHNvX2NzX2VuKVxuIFx0XHRcdG9mZmxvYWQgfD0gSElOSUMzX1RYX09GRkxPQURfQ1NVTTtcbiBcdH1cbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAzVDA0OjIzOjQ2LjEzODc2MzE2MloiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjQ2Mzg5OTY0NDEsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIGEgTmV0d29yayBEcml2ZXIgUGF0Y2gqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGFuZCBpdCBzZWVtcyBsaWtlIGl0J3MgdG91Y2hpbmcgYGRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX3J4LmNgIGFuZCBgZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfdHguY2AuIEludGVyZXN0aW5nLiBTcGVjaWZpY2FsbHksIGl0J3MgbW9kaWZ5aW5nIGBoaW5pYzNfY29uZmlndXJlX3J4cXNgIGFuZCB0aGUgYGhpbmljM190eF9jc3VtYCAvIGBoaW5pYzNfdHhfb2ZmbG9hZGAgZnVuY3Rpb25zLiBSaWdodCBhd2F5LCB0aGlzIHRlbGxzIG1lIGl0J3MgZm9yIHRoZSBIdWF3ZWkgSW50ZWxsaWdlbnQgTklDLCB0aGUgYGhpbmljM2AuXG5cblRoZSBuZXh0IHF1ZXN0aW9uIHRoYXQgcG9wcyBpbnRvIG15IGhlYWQgaXMgYWx3YXlzOiBpcyB0aGlzIGFjdHVhbGx5IGZvciBwaHlzaWNhbCBoYXJkd2FyZT8gQW5kIGRvZXMgaXQgd29yayBvciBpcyBpdCBlbXVsYXRlZD8gSHVhd2VpIE5JQ3MgYXJlIHVzdWFsbHkgbm90IGVtdWxhdGVkIGluIFFFTVUsIHNvIHRoYXTigJlzIG15IGluaXRpYWwgYXNzdW1wdGlvbi4gTGV0J3MgY29uZmlybS5cblxuQWgsIGhlcmUncyBhIGhlbHBmdWwgcHJvbXB0LCBcIkNvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLCBpb25pYywgYW1kZ3B1KSB0aGF0IHJlcXVpcmUgcGh5c2ljYWwgUENJZSBoYXJkd2FyZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVVwiLiBSaWdodCwgdGhlIHRleHQgbWVudGlvbnMgdGhhdCB0aGlzIGlzIGZvciBhIHBoeXNpY2FsIGNhcmQhIFNvIGBoaW5pYzNgIGlzIGluZGVlZCBhIHBoeXNpY2FsIFBDSWUgY2FyZC5cblxuTm93IEkgbmVlZCB0byBnbyBkaWdnaW5nIGluIHRoZSBrZXJuZWwgdHJlZSBmb3IgbW9yZSBjb250ZXh0IGFyb3VuZCBgaGluaWMzYCB0byBmdWxseSB1bmRlcnN0YW5kIHdoYXQgdGhpcyBwYXRjaCBpcyBkb2luZyBhbmQgd2h5LlxuXG5cbiIsIklucHV0VG9rZW5zIjoyNTY0LCJPdXRwdXRUb2tlbnMiOjM3LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MjY3LCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDNUMDQ6MjM6NTAuNzc3NzYyMDQzWiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjEzMzQxMDY1MiwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJoaW5pYzNcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiXFxuRnVsbCBvdXRwdXQgaXMgdG9vIGxvbmcsIHNob3dpbmcgNTAwIG91dCBvZiA2NDg5IGxpbmVzLlxcblVzZSBtb3JlIHByZWNpc2UgZXhwcmVzc2lvbiBpZiBwb3NzaWJsZS5cXG5cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL0tjb25maWc9Nj1jb25maWcgSElOSUMzXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL0tjb25maWctMjAtXFx0ICBUbyBjb21waWxlIHRoaXMgZHJpdmVyIGFzIGEgbW9kdWxlLCBjaG9vc2UgTSBoZXJlLlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvS2NvbmZpZzoyMTpcXHQgIFRoZSBtb2R1bGUgd2lsbCBiZSBjYWxsZWQgaGluaWMzLlxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9NYWtlZmlsZS0zLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvTWFrZWZpbGU6NDpvYmotJChDT05GSUdfSElOSUMzKSArPSBoaW5pYzMub1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvTWFrZWZpbGUtNS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL01ha2VmaWxlOjY6aGluaWMzLW9ianMgOj0gaGluaWMzX2NtZHEubyBcXFxcXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9NYWtlZmlsZTo3OlxcdCAgICAgICBoaW5pYzNfY29tbW9uLm8gXFxcXFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvTWFrZWZpbGU6ODpcXHQgICAgICAgaGluaWMzX2Vxcy5vIFxcXFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL01ha2VmaWxlOjk6XFx0ICAgICAgIGhpbmljM19ldGh0b29sLm8gXFxcXFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvTWFrZWZpbGU6MTA6XFx0ICAgICAgIGhpbmljM19maWx0ZXIubyBcXFxcXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9NYWtlZmlsZToxMTpcXHQgICAgICAgaGluaWMzX2h3X2NmZy5vIFxcXFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL01ha2VmaWxlOjEyOlxcdCAgICAgICBoaW5pYzNfaHdfY29tbS5vIFxcXFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL01ha2VmaWxlOjEzOlxcdCAgICAgICBoaW5pYzNfaHdkZXYubyBcXFxcXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9NYWtlZmlsZToxNDpcXHQgICAgICAgaGluaWMzX2h3aWYubyBcXFxcXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9NYWtlZmlsZToxNTpcXHQgICAgICAgaGluaWMzX2lycS5vIFxcXFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL01ha2VmaWxlOjE2OlxcdCAgICAgICBoaW5pYzNfbGxkLm8gXFxcXFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvTWFrZWZpbGU6MTc6XFx0ICAgICAgIGhpbmljM19tYWluLm8gXFxcXFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvTWFrZWZpbGU6MTg6XFx0ICAgICAgIGhpbmljM19tYm94Lm8gXFxcXFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvTWFrZWZpbGU6MTk6XFx0ICAgICAgIGhpbmljM19tZ210Lm8gXFxcXFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvTWFrZWZpbGU6MjA6XFx0ICAgICAgIGhpbmljM19uZXRkZXZfb3BzLm8gXFxcXFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvTWFrZWZpbGU6MjE6XFx0ICAgICAgIGhpbmljM19uaWNfY2ZnLm8gXFxcXFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvTWFrZWZpbGU6MjI6XFx0ICAgICAgIGhpbmljM19uaWNfaW8ubyBcXFxcXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9NYWtlZmlsZToyMzpcXHQgICAgICAgaGluaWMzX3F1ZXVlX2NvbW1vbi5vIFxcXFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL01ha2VmaWxlOjI0OlxcdCAgICAgICBoaW5pYzNfcnNzLm8gXFxcXFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvTWFrZWZpbGU6MjU6XFx0ICAgICAgIGhpbmljM19yeC5vIFxcXFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL01ha2VmaWxlOjI2OlxcdCAgICAgICBoaW5pYzNfdHgubyBcXFxcXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9NYWtlZmlsZToyNzpcXHQgICAgICAgaGluaWMzX3dxLm9cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy03LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo4OiNpbmNsdWRlIFxcXCJoaW5pYzNfY21kcS5oXFxcIlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo5OiNpbmNsdWRlIFxcXCJoaW5pYzNfZXFzLmhcXFwiXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjEwOiNpbmNsdWRlIFxcXCJoaW5pYzNfaHdkZXYuaFxcXCJcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MTE6I2luY2x1ZGUgXFxcImhpbmljM19od2lmLmhcXFwiXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjEyOiNpbmNsdWRlIFxcXCJoaW5pYzNfbWJveC5oXFxcIlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xMy1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYz0xMTI9ZW51bSBjbWRxX2NtZF90eXBlIHtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xMTgtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjExOTpzdGF0aWMgdm9pZCBoaW5pYzNfZHVtcF9jbWRxX3dxZV9oZWFkKHN0cnVjdCBoaW5pYzNfaHdkZXYgKmh3ZGV2LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xMjAtXFx0XFx0XFx0XFx0ICAgICAgc3RydWN0IGNtZHFfd3FlICp3cWUpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMTMyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzoxMzM6c3RhdGljIHN0cnVjdCBjbWRxX3dxZSAqY21kcV9yZWFkX3dxZShzdHJ1Y3QgaGluaWMzX3dxICp3cSwgdTE2ICpjaSlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMTM0LXtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MTM1OlxcdGlmIChoaW5pYzNfd3FfZ2V0X3VzZWQod3EpID09IDApXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEzNi1cXHRcXHRyZXR1cm4gTlVMTDtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xNDItXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjE0MzpzdHJ1Y3QgaGluaWMzX2NtZF9idWYgKmhpbmljM19hbGxvY19jbWRfYnVmKHN0cnVjdCBoaW5pYzNfaHdkZXYgKmh3ZGV2KVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xNDQte1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzoxNDU6XFx0c3RydWN0IGhpbmljM19jbWRfYnVmICpjbWRfYnVmO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzoxNDY6XFx0c3RydWN0IGhpbmljM19jbWRxcyAqY21kcXM7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTE0Ny1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xNzEtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjE3Mjp2b2lkIGhpbmljM19mcmVlX2NtZF9idWYoc3RydWN0IGhpbmljM19od2RldiAqaHdkZXYsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjE3MzpcXHRcXHRcXHQgc3RydWN0IGhpbmljM19jbWRfYnVmICpjbWRfYnVmKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xNzQte1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzoxNzU6XFx0c3RydWN0IGhpbmljM19jbWRxcyAqY21kcXM7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTE3Ni1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xODUtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjE4NjpzdGF0aWMgdm9pZCBjbWRxX2NsZWFyX2NtZF9idWYoc3RydWN0IGhpbmljM19jbWRxX2NtZF9pbmZvICpjbWRfaW5mbyxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MTg3OlxcdFxcdFxcdCAgICAgICBzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2RldilcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMTg4LXtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMTg5LVxcdGlmIChjbWRfaW5mby1cXHUwMDNlYnVmX2luKSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjE5MDpcXHRcXHRoaW5pYzNfZnJlZV9jbWRfYnVmKGh3ZGV2LCBjbWRfaW5mby1cXHUwMDNlYnVmX2luKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMTkxLVxcdFxcdGNtZF9pbmZvLVxcdTAwM2VidWZfaW4gPSBOVUxMO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTE5NC1cXHRpZiAoY21kX2luZm8tXFx1MDAzZWJ1Zl9vdXQpIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MTk1OlxcdFxcdGhpbmljM19mcmVlX2NtZF9idWYoaHdkZXYsIGNtZF9pbmZvLVxcdTAwM2VidWZfb3V0KTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMTk2LVxcdFxcdGNtZF9pbmZvLVxcdTAwM2VidWZfb3V0ID0gTlVMTDtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xOTktXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjIwMDpzdGF0aWMgdm9pZCBjbGVhcl93cWVfY29tcGxldGVfYml0KHN0cnVjdCBoaW5pYzNfY21kcSAqY21kcSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMjAxLVxcdFxcdFxcdFxcdCAgIHN0cnVjdCBjbWRxX3dxZSAqd3FlLCB1MTYgY2kpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMjE3LVxcdHdtYigpOyAvKiB2ZXJpZnkgd3FlIGlzIGNsZWFyIGJlZm9yZSB1cGRhdGluZyBjaSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzoyMTg6XFx0aGluaWMzX3dxX3B1dF93cWViYnMoXFx1MDAyNmNtZHEtXFx1MDAzZXdxLCBDTURRX1dRRV9OVU1fV1FFQkJTKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMjE5LX1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMjIwLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzoyMjE6c3RhdGljIGludCBjbWRxX2FybV9jZXFfaGFuZGxlcihzdHJ1Y3QgaGluaWMzX2NtZHEgKmNtZHEsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTIyMi1cXHRcXHRcXHRcXHRzdHJ1Y3QgY21kcV93cWUgKndxZSwgdTE2IGNpKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTIzNC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MjM1OnN0YXRpYyB2b2lkIGNtZHFfdXBkYXRlX2NtZF9zdGF0dXMoc3RydWN0IGhpbmljM19jbWRxICpjbWRxLCB1MTYgcHJvZF9pZHgsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTIzNi1cXHRcXHRcXHRcXHQgICBzdHJ1Y3QgY21kcV93cWUgKndxZSlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMjM3LXtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MjM4OlxcdHN0cnVjdCBoaW5pYzNfY21kcV9jbWRfaW5mbyAqY21kX2luZm87XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTIzOS1cXHRzdHJ1Y3QgY21kcV93cWVfbGNtZCAqd3FlX2xjbWQ7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMjUyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzoyNTM6c3RhdGljIHZvaWQgY21kcV9zeW5jX2NtZF9oYW5kbGVyKHN0cnVjdCBoaW5pYzNfY21kcSAqY21kcSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMjU0LVxcdFxcdFxcdFxcdCAgc3RydWN0IGNtZHFfd3FlICp3cWUsIHUxNiBjaSlcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0yNzQtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjI3NTp2b2lkIGhpbmljM19jbWRxX2NlcV9oYW5kbGVyKHN0cnVjdCBoaW5pYzNfaHdkZXYgKmh3ZGV2LCBfX2xlMzIgY2VxZV9kYXRhKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0yNzYte1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzoyNzc6XFx0ZW51bSBoaW5pYzNfY21kcV90eXBlIGNtZHFfdHlwZSA9IENNRFFfQ0VRRV9HRVQoY2VxZV9kYXRhLCBUWVBFKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6Mjc4OlxcdHN0cnVjdCBoaW5pYzNfY21kcXMgKmNtZHFzID0gaHdkZXYtXFx1MDAzZWNtZHFzO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzoyNzk6XFx0c3RydWN0IGhpbmljM19jbWRxX2NtZF9pbmZvICpjbWRfaW5mbztcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMjgwLVxcdHN0cnVjdCBjbWRxX3dxZV9sY21kICp3cWVfbGNtZDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MjgxOlxcdHN0cnVjdCBoaW5pYzNfY21kcSAqY21kcTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMjgyLVxcdHN0cnVjdCBjbWRxX3dxZSAqd3FlO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTI5Ny1cXHRcXHRcXHRcXHQgY21kcV90eXBlLCBjaSk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjI5ODpcXHRcXHRcXHRoaW5pYzNfZHVtcF9jbWRxX3dxZV9oZWFkKGh3ZGV2LCB3cWUpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0yOTktXFx0XFx0XFx0ZmFsbHRocm91Z2g7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMzM0LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzozMzU6c3RhdGljIGludCBjbWRxX3BhcmFtc192YWxpZChjb25zdCBzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2RldixcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MzM2OlxcdFxcdFxcdCAgICAgY29uc3Qgc3RydWN0IGhpbmljM19jbWRfYnVmICpidWZfaW4pXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTMzNy17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMzQ2LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzozNDc6c3RhdGljIGludCB3YWl0X2NtZHFzX2VuYWJsZShzdHJ1Y3QgaGluaWMzX2NtZHFzICpjbWRxcylcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMzQ4LXtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYz0zNjQ9c3RhdGljIHZvaWQgY21kcV9zZXRfY29tcGxldGlvbihzdHJ1Y3QgY21kcV9jb21wbGV0aW9uICpjb21wbGV0ZSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MzY1OlxcdFxcdFxcdFxcdHN0cnVjdCBoaW5pYzNfY21kX2J1ZiAqYnVmX291dClcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMzY2LXtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MzY3OlxcdHN0cnVjdCBoaW5pYzNfc2dlICpzZ2UgPSBcXHUwMDI2Y29tcGxldGUtXFx1MDAzZXJlc3Auc2dlO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0zNjgtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjM2OTpcXHRoaW5pYzNfc2V0X3NnZShzZ2UsIGJ1Zl9vdXQtXFx1MDAzZWRtYV9hZGRyLCBjcHVfdG9fbGUzMihDTURRX0JVRl9TSVpFKSk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTM3MC19XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTM3MS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MzcyOnN0YXRpYyBzdHJ1Y3QgY21kcV93cWUgKmNtZHFfZ2V0X3dxZShzdHJ1Y3QgaGluaWMzX3dxICp3cSwgdTE2ICpwaSlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMzczLXtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6Mzc0OlxcdGlmICghaGluaWMzX3dxX2ZyZWVfd3FlYmJzKHdxKSlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMzc1LVxcdFxcdHJldHVybiBOVUxMO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0zNzYtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjM3NzpcXHRyZXR1cm4gaGluaWMzX3dxX2dldF9vbmVfd3FlYmIod3EsIHBpKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMzc4LX1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYz0zODA9c3RhdGljIHZvaWQgY21kcV9zZXRfbGNtZF9idWZkZXNjKHN0cnVjdCBjbWRxX3dxZV9sY21kICp3cWUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjM4MTpcXHRcXHRcXHRcXHQgIHN0cnVjdCBoaW5pYzNfY21kX2J1ZiAqYnVmX2luKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0zODIte1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzozODM6XFx0aGluaWMzX3NldF9zZ2UoXFx1MDAyNndxZS1cXHUwMDNlYnVmX2Rlc2Muc2dlLCBidWZfaW4tXFx1MDAzZWRtYV9hZGRyLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0zODQtXFx0XFx0ICAgICAgIChfX2ZvcmNlIF9fbGUzMilidWZfaW4tXFx1MDAzZXNpemUpO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTM4Ni1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6Mzg3OnN0YXRpYyB2b2lkIGNtZHFfc2V0X2RiKHN0cnVjdCBoaW5pYzNfY21kcSAqY21kcSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6Mzg4OlxcdFxcdFxcdGVudW0gaGluaWMzX2NtZHFfdHlwZSBjbWRxX3R5cGUsIHUxNiBwcm9kX2lkeClcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMzg5LXtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYz00NTk9c3RhdGljIHZvaWQgY21kcV9zZXRfbGNtZF93cWUoc3RydWN0IGNtZHFfd3FlICp3cWUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTQ2MC1cXHRcXHRcXHQgICAgICBlbnVtIGNtZHFfY21kX3R5cGUgY21kX3R5cGUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjQ2MTpcXHRcXHRcXHQgICAgICBzdHJ1Y3QgaGluaWMzX2NtZF9idWYgKmJ1Zl9pbixcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NDYyOlxcdFxcdFxcdCAgICAgIHN0cnVjdCBoaW5pYzNfY21kX2J1ZiAqYnVmX291dCxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNDYzLVxcdFxcdFxcdCAgICAgIHU4IHdyYXBwZWQsIHU4IG1vZCwgdTggY21kLCB1MTYgcHJvZF9pZHgpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNDg0LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo0ODU6c3RhdGljIGludCBoaW5pYzNfY21kcV9zeW5jX3RpbWVvdXRfY2hlY2soc3RydWN0IGhpbmljM19jbWRxICpjbWRxLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy00ODYtXFx0XFx0XFx0XFx0XFx0ICBzdHJ1Y3QgY21kcV93cWUgKndxZSwgdTE2IHBpKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTUwMy1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NTA0OnN0YXRpYyB2b2lkIGNsZWFyX2NtZF9pbmZvKHN0cnVjdCBoaW5pYzNfY21kcV9jbWRfaW5mbyAqY21kX2luZm8sXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjUwNTpcXHRcXHRcXHQgICBjb25zdCBzdHJ1Y3QgaGluaWMzX2NtZHFfY21kX2luZm8gKnNhdmVkX2NtZF9pbmZvKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy01MDYte1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTUxNi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NTE3OnN0YXRpYyBpbnQgd2FpdF9jbWRxX3N5bmNfY21kX2NvbXBsZXRpb24oc3RydWN0IGhpbmljM19jbWRxICpjbWRxLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo1MTg6XFx0XFx0XFx0XFx0XFx0IHN0cnVjdCBoaW5pYzNfY21kcV9jbWRfaW5mbyAqY21kX2luZm8sXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjUxOTpcXHRcXHRcXHRcXHRcXHQgc3RydWN0IGhpbmljM19jbWRxX2NtZF9pbmZvICpzYXZlZF9jbWRfaW5mbyxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNTIwLVxcdFxcdFxcdFxcdFxcdCB1NjQgY3Vycl9tc2dfaWQsIHUxNiBjdXJyX3Byb2RfaWR4LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTU0MC1cXHRpZiAoY3Vycl9tc2dfaWQgPT0gY21kX2luZm8tXFx1MDAzZWNtZHFfbXNnX2lkKSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjU0MTpcXHRcXHRlcnIgPSBoaW5pYzNfY21kcV9zeW5jX3RpbWVvdXRfY2hlY2soY21kcSwgY3Vycl93cWUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTU0Mi1cXHRcXHRcXHRcXHRcXHRcXHQgICAgIGN1cnJfcHJvZF9pZHgpO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTU1NS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NTU2OlxcdGhpbmljM19kdW1wX2NlcV9pbmZvKGNtZHEtXFx1MDAzZWh3ZGV2KTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNTU3LVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTU2MC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NTYxOnN0YXRpYyBpbnQgY21kcV9zeW5jX2NtZF9leGVjKHN0cnVjdCBoaW5pYzNfY21kcSAqY21kcSwgdTggbW9kLCB1OCBjbWQsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjU2MjpcXHRcXHRcXHQgICAgICBzdHJ1Y3QgaGluaWMzX2NtZF9idWYgKmJ1Zl9pbixcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NTYzOlxcdFxcdFxcdCAgICAgIHN0cnVjdCBoaW5pYzNfY21kX2J1ZiAqYnVmX291dCxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNTY0LVxcdFxcdFxcdCAgICAgIF9fbGU2NCAqb3V0X3BhcmFtLCB1OCBjbWRfdHlwZSwgdTggd3FlX2NtZClcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNTY1LXtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NTY2OlxcdHN0cnVjdCBoaW5pYzNfY21kcV9jbWRfaW5mbyAqY21kX2luZm8sIHNhdmVkX2NtZF9pbmZvO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy01NjctXFx0aW50IGNtcHRfY29kZSA9IENNRFFfU0VORF9DTVBUX0NPREU7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTU2OC1cXHRzdHJ1Y3QgY21kcV93cWUgKmN1cnJfd3FlLCB3cWUgPSB7fTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NTY5OlxcdHN0cnVjdCBoaW5pYzNfd3EgKndxID0gXFx1MDAyNmNtZHEtXFx1MDAzZXdxO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy01NzAtXFx0dTE2IGN1cnJfcHJvZF9pZHgsIG5leHRfcHJvZF9pZHg7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNjM0LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo2MzU6c3RhdGljIGludCBjbWRxX3N5bmNfY21kX2RpcmVjdF9yZXNwKHN0cnVjdCBoaW5pYzNfY21kcSAqY21kcSwgdTggbW9kLCB1OCBjbWQsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjYzNjpcXHRcXHRcXHRcXHQgICAgIHN0cnVjdCBoaW5pYzNfY21kX2J1ZiAqYnVmX2luLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy02MzctXFx0XFx0XFx0XFx0ICAgICBfX2xlNjQgKm91dF9wYXJhbSlcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy02NDMtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjY0NDpzdGF0aWMgaW50IGNtZHFfc3luY19jbWRfZGV0YWlsX3Jlc3Aoc3RydWN0IGhpbmljM19jbWRxICpjbWRxLCB1OCBtb2QsIHU4IGNtZCxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NjQ1OlxcdFxcdFxcdFxcdCAgICAgc3RydWN0IGhpbmljM19jbWRfYnVmICpidWZfaW4sXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjY0NjpcXHRcXHRcXHRcXHQgICAgIHN0cnVjdCBoaW5pYzNfY21kX2J1ZiAqYnVmX291dCxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNjQ3LVxcdFxcdFxcdFxcdCAgICAgX19sZTY0ICpvdXRfcGFyYW0pXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNjUzLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo2NTQ6aW50IGhpbmljM19jbWRfYnVmX3BhaXJfaW5pdChzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2RldixcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NjU1OlxcdFxcdFxcdCAgICAgc3RydWN0IGhpbmljM19jbWRfYnVmX3BhaXIgKnBhaXIpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTY1Ni17XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjY1NzpcXHRwYWlyLVxcdTAwM2VpbiA9IGhpbmljM19hbGxvY19jbWRfYnVmKGh3ZGV2KTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNjU4LVxcdGlmICghcGFpci1cXHUwMDNlaW4pXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNjYwLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo2NjE6XFx0cGFpci1cXHUwMDNlb3V0ID0gaGluaWMzX2FsbG9jX2NtZF9idWYoaHdkZXYpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy02NjItXFx0aWYgKCFwYWlyLVxcdTAwM2VvdXQpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNjY3LWVycl9mcmVlX2NtZF9idWZfaW46XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjY2ODpcXHRoaW5pYzNfZnJlZV9jbWRfYnVmKGh3ZGV2LCBwYWlyLVxcdTAwM2Vpbik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTY2OS1lcnJfb3V0Olxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTY3Mi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NjczOnZvaWQgaGluaWMzX2NtZF9idWZfcGFpcl91bmluaXQoc3RydWN0IGhpbmljM19od2RldiAqaHdkZXYsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjY3NDpcXHRcXHRcXHRcXHRzdHJ1Y3QgaGluaWMzX2NtZF9idWZfcGFpciAqcGFpcilcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNjc1LXtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6Njc2OlxcdGhpbmljM19mcmVlX2NtZF9idWYoaHdkZXYsIHBhaXItXFx1MDAzZWluKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6Njc3OlxcdGhpbmljM19mcmVlX2NtZF9idWYoaHdkZXYsIHBhaXItXFx1MDAzZW91dCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTY3OC19XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTY3OS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NjgwOmludCBoaW5pYzNfY21kcV9kaXJlY3RfcmVzcChzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2RldiwgdTggbW9kLCB1OCBjbWQsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjY4MTpcXHRcXHRcXHQgICAgc3RydWN0IGhpbmljM19jbWRfYnVmICpidWZfaW4sIF9fbGU2NCAqb3V0X3BhcmFtKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy02ODIte1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo2ODM6XFx0c3RydWN0IGhpbmljM19jbWRxcyAqY21kcXM7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTY4NC1cXHRpbnQgZXJyO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTcxMi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NzEzOmludCBoaW5pYzNfY21kcV9kZXRhaWxfcmVzcChzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2RldiwgdTggbW9kLCB1OCBjbWQsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjcxNDpcXHRcXHRcXHQgICAgc3RydWN0IGhpbmljM19jbWRfYnVmICpidWZfaW4sXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjcxNTpcXHRcXHRcXHQgICAgc3RydWN0IGhpbmljM19jbWRfYnVmICpidWZfb3V0LCBfX2xlNjQgKm91dF9wYXJhbSlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNzE2LXtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NzE3OlxcdHN0cnVjdCBoaW5pYzNfY21kcXMgKmNtZHFzO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy03MTgtXFx0aW50IGVycjtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy03NDUtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjc0NjpzdGF0aWMgdm9pZCBjbWRxX2luaXRfcXVldWVfY3R4dChzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2RldiwgdTggY21kcV9pZCxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNzQ3LVxcdFxcdFxcdFxcdCBzdHJ1Y3QgY29tbV9jbWRxX2N0eHRfaW5mbyAqY3R4dF9pbmZvKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy03NDgte1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo3NDk6XFx0Y29uc3Qgc3RydWN0IGhpbmljM19jbWRxcyAqY21kcXM7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTc1MC1cXHR1NjQgY21kcV9maXJzdF9ibG9ja19wYWRkciwgcGZuO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo3NTE6XFx0Y29uc3Qgc3RydWN0IGhpbmljM193cSAqd3E7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTc1Mi1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy03NTQtXFx0d3EgPSBcXHUwMDI2Y21kcXMtXFx1MDAzZWNtZHFbY21kcV9pZF0ud3E7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjc1NTpcXHRwZm4gPSBDTURRX1BGTihoaW5pYzNfd3FfZ2V0X2ZpcnN0X3dxZV9wYWdlX2FkZHIod3EpKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNzU2LVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTc2My1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NzY0OlxcdGlmICghaGluaWMzX3dxX2lzXzBfbGV2ZWxfY2xhKHdxKSkge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy03NjUtXFx0XFx0Y21kcV9maXJzdF9ibG9ja19wYWRkciA9IGNtZHFzLVxcdTAwM2V3cV9ibG9ja19wYWRkcjtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy03NzItXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjc3MzpzdGF0aWMgaW50IGluaXRfY21kcShzdHJ1Y3QgaGluaWMzX2NtZHEgKmNtZHEsIHN0cnVjdCBoaW5pYzNfaHdkZXYgKmh3ZGV2LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo3NzQ6XFx0XFx0ICAgICBlbnVtIGhpbmljM19jbWRxX3R5cGUgcV90eXBlKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy03NzUte1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTc5Mi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NzkzOnN0YXRpYyBpbnQgaGluaWMzX3NldF9jbWRxX2N0eHQoc3RydWN0IGhpbmljM19od2RldiAqaHdkZXYsIHU4IGNtZHFfaWQpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTc5NC17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNzk5LVxcdGNtZHFfaW5pdF9xdWV1ZV9jdHh0KGh3ZGV2LCBjbWRxX2lkLCBcXHUwMDI2Y21kcV9jdHh0LmN0eHQpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo4MDA6XFx0Y21kcV9jdHh0LmZ1bmNfaWQgPSBoaW5pYzNfZ2xvYmFsX2Z1bmNfaWQoaHdkZXYpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy04MDEtXFx0Y21kcV9jdHh0LmNtZHFfaWQgPSBjbWRxX2lkO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTgwNS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6ODA2OlxcdGVyciA9IGhpbmljM19zZW5kX21ib3hfdG9fbWdtdChod2RldiwgTUdNVF9NT0RfQ09NTSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtODA3LVxcdFxcdFxcdFxcdCAgICAgICBDT01NX0NNRF9TRVRfQ01EUV9DVFhULCBcXHUwMDI2bXNnX3BhcmFtcyk7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtODE2LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo4MTc6c3RhdGljIGludCBoaW5pYzNfc2V0X2NtZHFfY3R4dHMoc3RydWN0IGhpbmljM19od2RldiAqaHdkZXYpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTgxOC17XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjgxOTpcXHRzdHJ1Y3QgaGluaWMzX2NtZHFzICpjbWRxcyA9IGh3ZGV2LVxcdTAwM2VjbWRxcztcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtODIwLVxcdHU4IGNtZHFfdHlwZTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy04MjMtXFx0Zm9yIChjbWRxX3R5cGUgPSAwOyBjbWRxX3R5cGUgXFx1MDAzYyBjbWRxcy1cXHUwMDNlY21kcV9udW07IGNtZHFfdHlwZSsrKSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjgyNDpcXHRcXHRlcnIgPSBoaW5pYzNfc2V0X2NtZHFfY3R4dChod2RldiwgY21kcV90eXBlKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtODI1LVxcdFxcdGlmIChlcnIpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtODM0LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo4MzU6c3RhdGljIGludCBjcmVhdGVfY21kcV93cShzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2RldixcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6ODM2OlxcdFxcdFxcdCAgc3RydWN0IGhpbmljM19jbWRxcyAqY21kcXMpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTgzNy17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtODQxLVxcdGZvciAoY21kcV90eXBlID0gMDsgY21kcV90eXBlIFxcdTAwM2MgY21kcXMtXFx1MDAzZWNtZHFfbnVtOyBjbWRxX3R5cGUrKykge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo4NDI6XFx0XFx0ZXJyID0gaGluaWMzX3dxX2NyZWF0ZShod2RldiwgXFx1MDAyNmNtZHFzLVxcdTAwM2VjbWRxW2NtZHFfdHlwZV0ud3EsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTg0My1cXHRcXHRcXHRcXHQgICAgICAgQ01EUV9ERVBUSCwgQ01EUV9XUUVCQl9TSVpFKTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy04NTItXFx0ICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjg1MzpcXHRpZiAoIWhpbmljM193cV9pc18wX2xldmVsX2NsYShcXHUwMDI2Y21kcXMtXFx1MDAzZWNtZHFbSElOSUMzX0NNRFFfU1lOQ10ud3EpKSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTg1NC1cXHRcXHRpZiAoY21kcXMtXFx1MDAzZWNtZHFbSElOSUMzX0NNRFFfU1lOQ10ud3EucXBhZ2VzLm51bV9wYWdlcyBcXHUwMDNlXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtODgzLVxcdFxcdGNtZHFfdHlwZS0tO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo4ODQ6XFx0XFx0aGluaWMzX3dxX2Rlc3Ryb3koaHdkZXYsIFxcdTAwMjZjbWRxcy1cXHUwMDNlY21kcVtjbWRxX3R5cGVdLndxKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtODg1LVxcdH1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy04ODktXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjg5MDpzdGF0aWMgdm9pZCBkZXN0cm95X2NtZHFfd3Eoc3RydWN0IGhpbmljM19od2RldiAqaHdkZXYsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjg5MTpcXHRcXHRcXHQgICAgc3RydWN0IGhpbmljM19jbWRxcyAqY21kcXMpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTg5Mi17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtODk5LVxcdGZvciAoY21kcV90eXBlID0gMDsgY21kcV90eXBlIFxcdTAwM2MgY21kcXMtXFx1MDAzZWNtZHFfbnVtOyBjbWRxX3R5cGUrKylcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6OTAwOlxcdFxcdGhpbmljM193cV9kZXN0cm95KGh3ZGV2LCBcXHUwMDI2Y21kcXMtXFx1MDAzZWNtZHFbY21kcV90eXBlXS53cSk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTkwMS19XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTkwMi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6OTAzOnN0YXRpYyBpbnQgaW5pdF9jbWRxcyhzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2RldilcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtOTA0LXtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6OTA1OlxcdHN0cnVjdCBoaW5pYzNfY21kcXMgKmNtZHFzO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy05MDYtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtOTE0LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo5MTU6XFx0Y21kcXMtXFx1MDAzZWNtZF9idWZfcG9vbCA9IGRtYV9wb29sX2NyZWF0ZShcXFwiaGluaWMzX2NtZHFcXFwiLCBod2Rldi1cXHUwMDNlZGV2LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy05MTYtXFx0XFx0XFx0XFx0XFx0ICAgICAgQ01EUV9CVUZfU0laRSwgQ01EUV9CVUZfU0laRSwgMCk7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtOTI1LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo5MjY6c3RhdGljIHZvaWQgY21kcV9mbHVzaF9zeW5jX2NtZChzdHJ1Y3QgaGluaWMzX2NtZHFfY21kX2luZm8gKmNtZF9pbmZvKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy05Mjcte1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTk0Ni1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6OTQ3OnN0YXRpYyB2b2lkIGhpbmljM19jbWRxX2ZsdXNoX2NtZChzdHJ1Y3QgaGluaWMzX2NtZHEgKmNtZHEpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTk0OC17XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjk0OTpcXHRzdHJ1Y3QgaGluaWMzX2NtZHFfY21kX2luZm8gKmNtZF9pbmZvO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy05NTAtXFx0dTE2IGNpO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTk1My1cXHR3aGlsZSAoY21kcV9yZWFkX3dxZShcXHUwMDI2Y21kcS1cXHUwMDNld3EsIFxcdTAwMjZjaSkpIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6OTU0OlxcdFxcdGhpbmljM193cV9wdXRfd3FlYmJzKFxcdTAwMjZjbWRxLVxcdTAwM2V3cSwgQ01EUV9XUUVfTlVNX1dRRUJCUyk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTk1NS1cXHRcXHRjbWRfaW5mbyA9IFxcdTAwMjZjbWRxLVxcdTAwM2VjbWRfaW5mb3NbY2ldO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTk2Mi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6OTYzOnZvaWQgaGluaWMzX2NtZHFfZmx1c2hfc3luY19jbWQoc3RydWN0IGhpbmljM19od2RldiAqaHdkZXYpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTk2NC17XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjk2NTpcXHRzdHJ1Y3QgaGluaWMzX2NtZHEgKmNtZHE7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTk2Ni1cXHR1MTYgd3FlX2NudCwgd3FlX2lkeCwgaTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6OTY3OlxcdHN0cnVjdCBoaW5pYzNfd3EgKndxO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy05NjgtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtOTcxLVxcdHdxID0gXFx1MDAyNmNtZHEtXFx1MDAzZXdxO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo5NzI6XFx0d3FlX2NudCA9IGhpbmljM193cV9nZXRfdXNlZCh3cSk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTk3My1cXHRmb3IgKGkgPSAwOyBpIFxcdTAwM2Mgd3FlX2NudDsgaSsrKSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtOTc5LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo5ODA6c3RhdGljIHZvaWQgaGluaWMzX2NtZHFfcmVzZXRfYWxsX2NtZF9idWYoc3RydWN0IGhpbmljM19jbWRxICpjbWRxKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy05ODEte1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTk4Ny1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6OTg4OmludCBoaW5pYzNfcmVpbml0X2NtZHFfY3R4dHMoc3RydWN0IGhpbmljM19od2RldiAqaHdkZXYpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTk4OS17XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjk5MDpcXHRzdHJ1Y3QgaGluaWMzX2NtZHFzICpjbWRxcyA9IGh3ZGV2LVxcdTAwM2VjbWRxcztcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtOTkxLVxcdHU4IGNtZHFfdHlwZTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy05OTMtXFx0Zm9yIChjbWRxX3R5cGUgPSAwOyBjbWRxX3R5cGUgXFx1MDAzYyBjbWRxcy1cXHUwMDNlY21kcV9udW07IGNtZHFfdHlwZSsrKSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjk5NDpcXHRcXHRoaW5pYzNfY21kcV9mbHVzaF9jbWQoXFx1MDAyNmNtZHFzLVxcdTAwM2VjbWRxW2NtZHFfdHlwZV0pO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo5OTU6XFx0XFx0aGluaWMzX2NtZHFfcmVzZXRfYWxsX2NtZF9idWYoXFx1MDAyNmNtZHFzLVxcdTAwM2VjbWRxW2NtZHFfdHlwZV0pO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy05OTYtXFx0XFx0Y21kcXMtXFx1MDAzZWNtZHFbY21kcV90eXBlXS53cmFwcGVkID0gMTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6OTk3OlxcdFxcdGhpbmljM193cV9yZXNldChcXHUwMDI2Y21kcXMtXFx1MDAzZWNtZHFbY21kcV90eXBlXS53cSk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTk5OC1cXHR9XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTk5OS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MTAwMDpcXHRyZXR1cm4gaGluaWMzX3NldF9jbWRxX2N0eHRzKGh3ZGV2KTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMTAwMS19XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEwMDItXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjEwMDM6aW50IGhpbmljM19jbWRxc19pbml0KHN0cnVjdCBoaW5pYzNfaHdkZXYgKmh3ZGV2KVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xMDA0LXtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MTAwNTpcXHRzdHJ1Y3QgaGluaWMzX2NtZHFzICpjbWRxcztcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMTAwNi1cXHR2b2lkIF9faW9tZW0gKmRiX2Jhc2U7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMTAxOC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MTAxOTpcXHRlcnIgPSBoaW5pYzNfYWxsb2NfZGJfYWRkcihod2RldiwgXFx1MDAyNmRiX2Jhc2UsIE5VTEwpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xMDIwLVxcdGlmIChlcnIpIHtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xMDM1LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzoxMDM2OlxcdGVyciA9IGhpbmljM19zZXRfY21kcV9jdHh0cyhod2Rldik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEwMzctXFx0aWYgKGVycilcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xMDQ3LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzoxMDQ4OlxcdGhpbmljM19mcmVlX2RiX2FkZHIoaHdkZXYsIGNtZHFzLVxcdTAwM2VjbWRxc19kYl9iYXNlKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMTA0OS1lcnJfZGVzdHJveV9jbWRxX3dxOlxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEwNTctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjEwNTg6dm9pZCBoaW5pYzNfY21kcXNfZnJlZShzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2RldilcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMTA1OS17XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjEwNjA6XFx0c3RydWN0IGhpbmljM19jbWRxcyAqY21kcXMgPSBod2Rldi1cXHUwMDNlY21kcXM7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEwNjEtXFx0dTggY21kcV90eXBlO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEwNjUtXFx0Zm9yIChjbWRxX3R5cGUgPSAwOyBjbWRxX3R5cGUgXFx1MDAzYyBjbWRxcy1cXHUwMDNlY21kcV9udW07IGNtZHFfdHlwZSsrKSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjEwNjY6XFx0XFx0aGluaWMzX2NtZHFfZmx1c2hfY21kKFxcdTAwMjZjbWRxcy1cXHUwMDNlY21kcVtjbWRxX3R5cGVdKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MTA2NzpcXHRcXHRoaW5pYzNfY21kcV9yZXNldF9hbGxfY21kX2J1ZihcXHUwMDI2Y21kcXMtXFx1MDAzZWNtZHFbY21kcV90eXBlXSk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEwNjgtXFx0XFx0a2ZyZWUoY21kcXMtXFx1MDAzZWNtZHFbY21kcV90eXBlXS5jbWRfaW5mb3MpO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEwNzAtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjEwNzE6XFx0aGluaWMzX2ZyZWVfZGJfYWRkcihod2RldiwgY21kcXMtXFx1MDAzZWNtZHFzX2RiX2Jhc2UpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xMDcyLVxcdGRlc3Ryb3lfY21kcV93cShod2RldiwgY21kcXMpO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEwNzYtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjEwNzc6Ym9vbCBoaW5pYzNfY21kcV9pZGxlKHN0cnVjdCBoaW5pYzNfY21kcSAqY21kcSlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMTA3OC17XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjEwNzk6XFx0cmV0dXJuIGhpbmljM193cV9nZXRfdXNlZChcXHUwMDI2Y21kcS1cXHUwMDNld3EpID09IDA7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEwODAtfVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oLTgtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjk6I2luY2x1ZGUgXFxcImhpbmljM19od19pbnRmLmhcXFwiXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjEwOiNpbmNsdWRlIFxcXCJoaW5pYzNfd3EuaFxcXCJcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtMTEtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg9MjU9c3RydWN0IGNtZHFfbGNtZF9idWZkZXNjIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MjY6XFx0c3RydWN0IGhpbmljM19zZ2Ugc2dlO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaC0yNy1cXHRfX2xlNjQgICAgICAgICAgICByc3ZkMjtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaD00ND1zdHJ1Y3QgY21kcV9jb21wbGV0aW9uIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtNDUtXFx0dW5pb24ge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaDo0NjpcXHRcXHRzdHJ1Y3QgaGluaWMzX3NnZSAgICAgICBzZ2U7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oLTQ3LVxcdFxcdHN0cnVjdCBjbWRxX2RpcmVjdF9yZXNwIGRpcmVjdDtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaD03NT1zdGF0aWNfYXNzZXJ0KHNpemVvZihzdHJ1Y3QgY21kcV93cWUpID09IDY0KTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtNzYtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjc3OmVudW0gaGluaWMzX2NtZHFfdHlwZSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oLTc4LVxcdEhJTklDM19DTURRX1NZTkMgICAgICA9IDAsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtODEtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjgyOmVudW0gaGluaWMzX2NtZHFfc3RhdHVzIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtODMtXFx0SElOSUMzX0NNRFFfRU5BQkxFID0gQklUKDApLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oLTg1LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaDo4NjplbnVtIGhpbmljM19jbWRxX2NtZF90eXBlIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtODctXFx0SElOSUMzX0NNRF9UWVBFX05PTkUsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtOTUtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjk2OnN0cnVjdCBoaW5pYzNfY21kX2J1ZiB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oLTk3LVxcdHZvaWQgICAgICAgKmJ1ZjtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaC0xMDItXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjEwMzpzdHJ1Y3QgaGluaWMzX2NtZF9idWZfcGFpciB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjEwNDpcXHRzdHJ1Y3QgaGluaWMzX2NtZF9idWYgKmluO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaDoxMDU6XFx0c3RydWN0IGhpbmljM19jbWRfYnVmICpvdXQ7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oLTEwNi19O1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaC0xMDctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjEwODpzdHJ1Y3QgaGluaWMzX2NtZHFfY21kX2luZm8ge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaDoxMDk6XFx0ZW51bSBoaW5pYzNfY21kcV9jbWRfdHlwZSBjbWRfdHlwZTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtMTEwLVxcdHN0cnVjdCBjb21wbGV0aW9uICAgICAgICAgKmRvbmU7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtMTE1LVxcdHU2NCAgICAgICAgICAgICAgICAgICAgICAgY21kcV9tc2dfaWQ7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjExNjpcXHRzdHJ1Y3QgaGluaWMzX2NtZF9idWYgICAgICpidWZfaW47XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjExNzpcXHRzdHJ1Y3QgaGluaWMzX2NtZF9idWYgICAgICpidWZfb3V0O1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaC0xMTgtfTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtMTE5LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaDoxMjA6c3RydWN0IGhpbmljM19jbWRxIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTIxOlxcdHN0cnVjdCBoaW5pYzNfd3EgICAgICAgICAgICB3cTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTIyOlxcdGVudW0gaGluaWMzX2NtZHFfdHlwZSAgICAgICBjbWRxX3R5cGU7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oLTEyMy1cXHR1OCAgICAgICAgICAgICAgICAgICAgICAgICAgd3JhcHBlZDtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaC0xMjUtXFx0c3BpbmxvY2tfdCAgICAgICAgICAgICAgICAgIGNtZHFfbG9jaztcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTI2OlxcdHN0cnVjdCBoaW5pYzNfY21kcV9jbWRfaW5mbyAqY21kX2luZm9zO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaDoxMjc6XFx0c3RydWN0IGhpbmljM19od2RldiAgICAgICAgICpod2RldjtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtMTI4LX07XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oLTEyOS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTMwOnN0cnVjdCBoaW5pYzNfY21kcXMge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaDoxMzE6XFx0c3RydWN0IGhpbmljM19od2RldiAqaHdkZXY7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjEzMjpcXHRzdHJ1Y3QgaGluaWMzX2NtZHEgIGNtZHFbSElOSUMzX01BWF9DTURRX1RZUEVTXTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtMTMzLVxcdHN0cnVjdCBkbWFfcG9vbCAgICAgKmNtZF9idWZfcG9vbDtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaC0xNDgtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjE0OTppbnQgaGluaWMzX2NtZHFzX2luaXQoc3RydWN0IGhpbmljM19od2RldiAqaHdkZXYpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaDoxNTA6dm9pZCBoaW5pYzNfY21kcXNfZnJlZShzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2Rldik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oLTE1MS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTUyOnN0cnVjdCBoaW5pYzNfY21kX2J1ZiAqaGluaWMzX2FsbG9jX2NtZF9idWYoc3RydWN0IGhpbmljM19od2RldiAqaHdkZXYpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaDoxNTM6dm9pZCBoaW5pYzNfZnJlZV9jbWRfYnVmKHN0cnVjdCBoaW5pYzNfaHdkZXYgKmh3ZGV2LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaDoxNTQ6XFx0XFx0XFx0IHN0cnVjdCBoaW5pYzNfY21kX2J1ZiAqY21kX2J1Zik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjE1NTp2b2lkIGhpbmljM19jbWRxX2NlcV9oYW5kbGVyKHN0cnVjdCBoaW5pYzNfaHdkZXYgKmh3ZGV2LCBfX2xlMzIgY2VxZV9kYXRhKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtMTU2LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaDoxNTc6aW50IGhpbmljM19jbWRfYnVmX3BhaXJfaW5pdChzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2RldixcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTU4OlxcdFxcdFxcdCAgICAgc3RydWN0IGhpbmljM19jbWRfYnVmX3BhaXIgKnBhaXIpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaDoxNTk6dm9pZCBoaW5pYzNfY21kX2J1Zl9wYWlyX3VuaW5pdChzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2RldixcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTYwOlxcdFxcdFxcdFxcdHN0cnVjdCBoaW5pYzNfY21kX2J1Zl9wYWlyICpwYWlyKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTYxOmludCBoaW5pYzNfY21kcV9kaXJlY3RfcmVzcChzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2RldiwgdTggbW9kLCB1OCBjbWQsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjE2MjpcXHRcXHRcXHQgICAgc3RydWN0IGhpbmljM19jbWRfYnVmICpidWZfaW4sIF9fbGU2NCAqb3V0X3BhcmFtKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTYzOmludCBoaW5pYzNfY21kcV9kZXRhaWxfcmVzcChzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2RldiwgdTggbW9kLCB1OCBjbWQsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjE2NDpcXHRcXHRcXHQgICAgc3RydWN0IGhpbmljM19jbWRfYnVmICpidWZfaW4sXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjE2NTpcXHRcXHRcXHQgICAgc3RydWN0IGhpbmljM19jbWRfYnVmICpidWZfb3V0LCBfX2xlNjQgKm91dF9wYXJhbSk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oLTE2Ni1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTY3OnZvaWQgaGluaWMzX2NtZHFfZmx1c2hfc3luY19jbWQoc3RydWN0IGhpbmljM19od2RldiAqaHdkZXYpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaDoxNjg6aW50IGhpbmljM19yZWluaXRfY21kcV9jdHh0cyhzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2Rldik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjE2OTpib29sIGhpbmljM19jbWRxX2lkbGUoc3RydWN0IGhpbmljM19jbWRxICpjbWRxKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtMTcwLVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY29tbW9uLmMtNy1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jb21tb24uYzo4OiNpbmNsdWRlIFxcXCJoaW5pYzNfY29tbW9uLmhcXFwiXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY29tbW9uLmMtOS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jb21tb24uYzoxMDppbnQgaGluaWMzX2RtYV96YWxsb2NfY29oZXJlbnRfYWxpZ24oc3RydWN0IGRldmljZSAqZGV2LCB1MzIgc2l6ZSwgdTMyIGFsaWduLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NvbW1vbi5jLTExLVxcdFxcdFxcdFxcdCAgICAgZ2ZwX3QgZmxhZyxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jb21tb24uYzoxMjpcXHRcXHRcXHRcXHQgICAgIHN0cnVjdCBoaW5pYzNfZG1hX2FkZHJfYWxpZ24gKm1lbV9hbGlnbilcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jb21tb24uYy0xMy17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jb21tb24uYy00OC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jb21tb24uYzo0OTp2b2lkIGhpbmljM19kbWFfZnJlZV9jb2hlcmVudF9hbGlnbihzdHJ1Y3QgZGV2aWNlICpkZXYsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY29tbW9uLmM6NTA6XFx0XFx0XFx0XFx0ICAgIHN0cnVjdCBoaW5pYzNfZG1hX2FkZHJfYWxpZ24gKm1lbV9hbGlnbilcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jb21tb24uYy01MS17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jb21tb24uYy01NS1cXG5cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDNUMDQ6MjM6NTAuOTExMTc4NDk1WiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzczMDE4NTI4OCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgbGV0J3Mgc2VlIHdoYXQgd2UncmUgZGVhbGluZyB3aXRoIGhlcmUuXG5cbioqSW5pdGlhbCBBc3Nlc3NtZW50IG9mIHRoZSBISU5JQzMgQ29kZWJhc2UqKlxuXG5BbHJpZ2h0LCBJJ3ZlIGdvdCBhIGxpc3Qgb2YgZmlsZXMgaW4gZnJvbnQgb2YgbWU6IGBoaW5pYzNfaHdkZXYuY2AsIGBoaW5pYzNfaHdpZi5jYCwgYGhpbmljM19sbGQuY2AsIGBoaW5pYzNfbWFpbi5jYCwgYW5kIGBoaW5pYzNfbmV0ZGV2X29wcy5jYC4gQmFzZWQgb24gdGhvc2UgbmFtZXMsIHRoaXMgbG9va3MgbGlrZSBhIEhJTklDMyBkcml2ZXIsIHdoaWNoIG1ha2VzIHNlbnNlIGdpdmVuIHRoZSBmaWxlIHByZWZpeGVzLiBNeSBpbml0aWFsIGh1bmNoIGlzIHRoYXQgdGhpcyBpcyByZWxhdGVkIHRvIGhhcmR3YXJlIGZvciBuZXR3b3JrIGludGVyZmFjZSBjYXJkLlxuXG5Ob3csIHdoZXJlIGRvIEkgc3RhcnQgbXkgYW5hbHlzaXM/ICBHaXZlbiB0aG9zZSwgbXkgZmlyc3Qgc3RlcCBpcyB0byBkaXZlIGludG8gYGhpbmljM19tYWluLmNgLiBJdCdzIHByZXR0eSBjb21tb24gZm9yIHRoZSBgX21haW5gIGZpbGUgdG8gY29udGFpbiB0aGUgY29yZSBkcml2ZXIgZW50cnkgcG9pbnRzIGFuZCwgdmVyeSBvZnRlbiwgdGhlIFBDSSBkcml2ZXIgaW5pdGlhbGl6YXRpb24uIEkgbmVlZCB0byBjb25maXJtIHdoZXRoZXIgdGhpcyBpcyBhIFBDSSBkZXZpY2UgZHJpdmVyIHRvIHVuZGVyc3RhbmQgdGhlIGJhc2ljIHN0cnVjdHVyZSBvZiBob3cgdGhlIGhhcmR3YXJlIGdldHMgcmVjb2duaXplZCBhbmQgaW5pdGlhbGl6ZWQuIExldCdzIHNlZSBpZiB0aGlzIGBfbWFpbmAgZmlsZSBob2xkcyB0aGUga2V5LlxuXG5cbiIsIklucHV0VG9rZW5zIjoxOTkwOSwiT3V0cHV0VG9rZW5zIjozOCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjc4LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAzVDA0OjIzOjU0LjY0MTM2NTk5M1oiLCJTZXEiOjYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo4NzQ0MTU3NCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJwY2lfZHJpdmVyXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2xsZC5jPTQzNj1zdGF0aWMgdm9pZCBoaW5pYzNfc2h1dGRvd24oc3RydWN0IHBjaV9kZXYgKnBkZXYpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19sbGQuYy00NDUtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfbGxkLmM6NDQ2OnN0YXRpYyBzdHJ1Y3QgcGNpX2RyaXZlciBoaW5pYzNfZHJpdmVyID0ge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2xsZC5jLTQ0Ny1cXHQubmFtZSAgICAgICAgICAgID0gSElOSUMzX05JQ19EUlZfTkFNRSxcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDNUMDQ6MjM6NTQuNzI4ODEzOTY3WiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NzE2MTI3NjA0NSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipXb3J0aEZ1enppbmcgRGVjaXNpb24gZm9yIGEgUENJIERyaXZlcioqXG5cbk9rYXksIHNvIHRoaXMgbG9va3MgbGlrZSBhIFBDSSBkcml2ZXIg4oCTIHNwZWNpZmljYWxseSwgdGhlIEh1YXdlaSBJbnRlbGxpZ2VudCBOSUMgKGhpbmljMykuIFJpZ2h0IGF3YXksIG15IHJhZGFyIGdvZXMgdXAuIElzIHRoaXMgYSB2ZW5kb3Itc3BlY2lmaWMgUENJZSBjYXJkIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VPyBZZXMsIHRoYXQncyBleGFjdGx5IHdoYXQgaXQgaXMuIFRoZSBwcm9tcHQgaXMgdmVyeSBjbGVhcjogaWYgdGhlIHBhdGNoICpvbmx5KiBpbnZvbHZlcyBjb2RlIGluIGRyaXZlcnMgZm9yIGhhcmR3YXJlIGxpa2UgdGhpcywgd2hpY2ggKmlzbid0KiBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLCB0aGVuIGBXb3J0aEZ1enppbmdgIHNob3VsZCBiZSBgZmFsc2VgLlxuXG5MZXQgbWUgcXVpY2tseSBkb3VibGUtY2hlY2sgdGhhdCBgaGluaWMzYCBpcyAqbm90KiBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLiBDb25maXJtZWQuIEl0J3MgYSB2ZW5kb3Itc3BlY2lmaWMgY2FyZC4gSSBuZWVkIHRvIG1ha2Ugc3VyZSBJIHVuZGVyc3RhbmQgdGhlIHNjb3BlIG9mIHRoZSBwcm9tcHQgdGhvdWdoLiBJdCBleHBsaWNpdGx5IGNhbGxzIG91dCBTbWFydE5JQyBkcml2ZXJzLiBJcyBgaGluaWMzYCBhIFNtYXJ0TklDPyBIbW1tLi4uIExldCdzIHNlZTogSHVhd2VpICpJbnRlbGxpZ2VudCogTklDLiBZZXMsIHRoYXQgc3VnZ2VzdHMgaXQuIEl0ICppcyogYSB2ZW5kb3Itc3BlY2lmaWMgUENJZSBoYXJkd2FyZSBjYXJkLiBBbHJpZ2h0LCBJJ20gbGVhbmluZyB0b3dhcmRzIGBmYWxzZWAgYWxyZWFkeS5cblxuSSdtIHJldHVybmluZyBgV29ydGhGdXp6aW5nPWZhbHNlYCBiZWNhdXNlIGl0J3MgYSB2ZW5kb3Itc3BlY2lmaWMgUENJZSBjYXJkIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLiBUaGF0J3MgYSBrZXkgcmVxdWlyZW1lbnQuXG5cbkxldCdzIHJldmlldyB0aGUgcHJvbXB0IGFnYWluIGZvciBnb29kIG1lYXN1cmU6IFwiUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWlucyBjb2RlIGluIHZlbmRvci1zcGVjaWZpYyBQQ0llIHN3aXRjaCwgU21hcnROSUMsIG9yIEdQVSBkcml2ZXJzLi4uIHRoYXQgcmVxdWlyZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLlwiIE9rYXksIHNvIGBoaW5pYzNgIHNlZW1zIHRvIGZpdCB0aGF0IGRlc2NyaXB0aW9uIHBlcmZlY3RseS4gSXQncyBhIFNtYXJ0TklDLCBhbmQgaXQncyBub3QgZW11bGF0ZWQuIFRoZXJlZm9yZSwgdGhlIGFuc3dlciBpcyBgZmFsc2VgLlxuXG5Ob3csIGxldCdzIHNlZSB3aGF0IHRoZSBwYXRjaCBhY3R1YWxseSAqZG9lcyouIEl0J3MgbW9kaWZ5aW5nIGZ1bmN0aW9ucyBsaWtlIGBoaW5pYzNfY29uZmlndXJlX3J4cXNgLCBgaGluaWMzX3R4X2NzdW1gLCBhbmQgYGhpbmljM190eF9vZmZsb2FkYC4gVGhlc2UgYXJlICpjbGVhcmx5KiBkcml2ZXItc3BlY2lmaWMgZnVuY3Rpb25zIGZvciB0aGlzIGhhcmR3YXJlLiBUaGUgYm90dG9tIGxpbmUgaXMgdGhhdCBzaW5jZSBgaGluaWMzYCAqaXMqIGEgcGh5c2ljYWwgUENJZSBjYXJkIG5vdCBlbXVsYXRlZCBpbiBRRU1VLCB0aGVyZSBpcyBubyB3YXkgdG8gcmVhY2ggdGhlc2UgY29kZSBwYXRocyB1c2luZyBzeXprYWxsZXIsIG9yIEdDRS5cblxuRmluYWxseSwganVzdCB0byBiZSBhYnNvbHV0ZWx5IGNlcnRhaW4sIGlzIHRoZXJlIGFueSBwb3NzaWJpbGl0eSBvZiBzb21lICpzb2Z0d2FyZSogZW11bGF0aW9uIGZvciB0aGUgaGluaWMzPyBObywgdGhhdCBpcyBub3QgcG9zc2libGUuIFRoZXJlZm9yZSwgYFdvcnRoRnV6emluZ2Agc2hvdWxkIGJlIGBmYWxzZWAuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjIwNDI2LCJPdXRwdXRUb2tlbnMiOjI1LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NTA2LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAzVDA0OjI0OjAxLjg5MDA5Mjk2MloiLCJTZXEiOjgsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1NzgzODU3OTQsIkVycm9yIjoibm8gbWF0Y2hlcyIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImhpbmljM1wiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJ0b29scy9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiZXJyb3JcIjogXCJubyBtYXRjaGVzXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAzVDA0OjI0OjAyLjQ2ODQ4NjU2NloiLCJTZXEiOjksIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjM0MzQ4MjI5MzYsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGhlcmUncyBteSB0YWtlIG9uIHRob3NlIHRob3VnaHRzLCBmcmFtZWQgYXMgYW4gZXhwZXJ0J3MgaW50ZXJuYWwgbW9ub2xvZ3VlOlxuXG4qKk5hdmlnYXRpbmcgdGhlIFRvb2xpbmcgTGFuZHNjYXBlKipcblxuQWxyaWdodCwgbGV0J3Mgc2VlLi4uIHRoZSBjb2RlJ3Mgb3JnYW5pemVkIHdlbGwsIGJ1dCBJJ20gdGhpbmtpbmcgYWJvdXQgdGhlIHRlc3RpbmcgYW5kIGRlYnVnZ2luZyBpbmZyYXN0cnVjdHVyZS4gSSBoYXZlbid0IHNlZW4gYW55IG1lbnRpb24gb2Ygc29mdHdhcmUgZW11bGF0aW9uIGRpcmVjdGx5IGluIHRoZSBgdG9vbHMvYCBkaXJlY3RvcnkuIFRoYXQncyBhIGxpdHRsZSBzdXJwcmlzaW5nLCBvciBtYXliZSBJIGFtIG1pc3NpbmcgaXQgLSBpdCdzIHdvcnRoIGEgZG91YmxlLWNoZWNrLiBJJ20gd29uZGVyaW5nIGlmIHRoZXJlJ3MgYSBtb3JlIGFic3RyYWN0IGFwcHJvYWNoIGJlaW5nIHRha2VuLCBvciBpZiBpdCdzIGludGVncmF0ZWQgZWxzZXdoZXJlLCBwZXJoYXBzIHVzaW5nIGEgaGFyZHdhcmUtaW4tdGhlLWxvb3Agc3RyYXRlZ3kgdGhhdCdzIGRvY3VtZW50ZWQgb3V0c2lkZSBvZiB0aGUgY29kZS5cblxuTm93LCBhIG1vcmUgb2J2aW91cyBxdWVzdGlvbiBhcmlzZXM6IFdoYXQncyB0aGUgc3Rvcnkgd2l0aCBgRG9jdW1lbnRhdGlvbi9gPyBJIG5lZWQgdG8gZGlnIGludG8gdGhhdCBkaXJlY3Rvcnkgc3BlY2lmaWNhbGx5LiBUaGUgZG9jdW1lbnRhdGlvbiBzaG91bGQgYmUgdGhlIHNvdXJjZSBvZiB0cnV0aCBmb3IgdGhlc2Uga2luZHMgb2YgZGV0YWlscy4gSWYgdGhlcmUgKmlzKiBlbXVsYXRpb24gc3VwcG9ydCwgaXQgc2hvdWxkIGRlZmluaXRlbHkgYmUgbWVudGlvbmVkIHRoZXJlLCBlaXRoZXIgZGlyZWN0bHkgYXMgcGFydCBvZiBhIHRvb2wsIG9yIGFzIGEgc2V0dXAgZGVzY3JpcHRpb24uIFRoZSBkb2N1bWVudGF0aW9uIGlzIHRoZSBrZXkgaGVyZS4gTGV0IG1lIHNlZSB3aGF0J3MgaW4gdGhlcmUuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjIxNDg2LCJPdXRwdXRUb2tlbnMiOjI1LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTQsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDNUMDQ6MjQ6MDUuOTAzMzEzNTUyWiIsIlNlcSI6MTAsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo2MDU2OTYzOTIsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiaGluaWMzXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcIkRvY3VtZW50YXRpb24vXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcIkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdC0zLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDo0OkxpbnV4IGtlcm5lbCBkcml2ZXIgZm9yIEh1YXdlaSBFdGhlcm5ldCBEZXZpY2UgRHJpdmVyIChoaW5pYzMpIGZhbWlseVxcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdC01LT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0PTc9T3ZlcnZpZXdcXG4tLVxcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdC05LVxcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDoxMDpUaGUgaGluaWMzIGlzIGEgbmV0d29yayBpbnRlcmZhY2UgY2FyZCAoTklDKSBmb3IgRGF0YSBDZW50ZXIuIEl0IHN1cHBvcnRzXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjExOmEgcmFuZ2Ugb2YgbGluay1zcGVlZCBkZXZpY2VzICgxMEdFLCAyNUdFLCAxMDBHRSwgZXRjLikuIFRoZSBoaW5pYzNcXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3QtMTItZGV2aWNlcyBjYW4gaGF2ZSBtdWx0aXBsZSBwaHlzaWNhbCBmb3JtczogTE9NIChMYW4gb24gTW90aGVyYm9hcmQpIE5JQyxcXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q9MTM9UENJZSBzdGFuZGFyZCBOSUMsIE9DUCAoT3BlbiBDb21wdXRlIFByb2plY3QpIE5JQywgZXRjLlxcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdC0xNC1cXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q6MTU6VGhlIGhpbmljMyBkcml2ZXIgc3VwcG9ydHMgdGhlIGZvbGxvd2luZyBmZWF0dXJlczpcXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3QtMTYtLSBJUHY0L0lQdjYgVENQL1VEUCBjaGVja3N1bSBvZmZsb2FkXFxuLS1cXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q9Mjk9U3VwcG9ydGVkIFBDSSB2ZW5kb3IgSUQvZGV2aWNlIElEc1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0LTMxLVxcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDozMjoxOWU1OjAyMjIgLSBoaW5pYzMgUEYvUFBGXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjMzOjE5ZTU6Mzc1RiAtIGhpbmljMyBWRlxcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdC0zNC1cXG4tLVxcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdD0zOT1Tb3VyY2UgQ29kZSBTdHJ1Y3R1cmUgb2YgSGluaWMzIERyaXZlclxcbi0tXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0LTQyLT09PT09PT09PT09PT09PT09PT09PT09PSAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjQzOmhpbmljM19wY2lfaWRfdGJsLmggICAgICAgU3VwcG9ydGVkIGRldmljZSBJRHNcXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q6NDQ6aGluaWMzX2h3X2ludGYuaCAgICAgICAgICBJbnRlcmZhY2UgYmV0d2VlbiBIVyBhbmQgZHJpdmVyXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjQ1OmhpbmljM19xdWV1ZV9jb21tb24uW2NoXSAgQ29tbW9uIHN0cnVjdHVyZXMgYW5kIG1ldGhvZHMgZm9yIE5JQyBxdWV1ZXNcXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q6NDY6aGluaWMzX2NvbW1vbi5bY2hdICAgICAgICBFbmNhcHN1bGF0aW9uIG9mIG1lbW9yeSBvcGVyYXRpb25zIGluIExpbnV4XFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjQ3OmhpbmljM19jc3IuaCAgICAgICAgICAgICAgUmVnaXN0ZXIgZGVmaW5pdGlvbnMgaW4gdGhlIEJBUlxcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDo0ODpoaW5pYzNfaHdpZi5bY2hdICAgICAgICAgIEludGVyZmFjZSBmb3IgQkFSXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjQ5OmhpbmljM19lcXMuW2NoXSAgICAgICAgICAgSW50ZXJmYWNlIGZvciBBRVFzIGFuZCBDRVFzXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjUwOmhpbmljM19tYm94LltjaF0gICAgICAgICAgSW50ZXJmYWNlIGZvciBtYWlsYm94XFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjUxOmhpbmljM19tZ210LltjaF0gICAgICAgICAgTWFuYWdlbWVudCBpbnRlcmZhY2UgYmFzZWQgb24gbWFpbGJveCBhbmQgQUVRXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjUyOmhpbmljM193cS5bY2hdICAgICAgICAgICAgV29yayBxdWV1ZSBkYXRhIHN0cnVjdHVyZXMgYW5kIGludGVyZmFjZVxcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDo1MzpoaW5pYzNfY21kcS5bY2hdICAgICAgICAgIENvbW1hbmQgcXVldWUgaXMgdXNlZCB0byBwb3N0IGNvbW1hbmQgdG8gSFdcXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q6NTQ6aGluaWMzX2h3ZGV2LltjaF0gICAgICAgICBIVyBzdHJ1Y3R1cmVzIGFuZCBtZXRob2RzIGFic3RyYWN0aW9uc1xcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDo1NTpoaW5pYzNfbGxkLltjaF0gICAgICAgICAgIEF1eGlsaWFyeSBkcml2ZXIgYWRhcHRhdGlvbiBsYXllclxcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDo1NjpoaW5pYzNfaHdfY29tbS5bY2hdICAgICAgIEludGVyZmFjZSBmb3IgY29tbW9uIEhXIG9wZXJhdGlvbnNcXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q6NTc6aGluaWMzX21nbXRfaW50ZXJmYWNlLmggICBJbnRlcmZhY2UgYmV0d2VlbiBmaXJtd2FyZSBhbmQgZHJpdmVyXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjU4OmhpbmljM19od19jZmcuW2NoXSAgICAgICAgSW50ZXJmYWNlIGZvciBIVyBjb25maWd1cmF0aW9uXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjU5OmhpbmljM19pcnEuYyAgICAgICAgICAgICAgSW50ZXJydXB0IHJlcXVlc3RcXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q6NjA6aGluaWMzX25ldGRldl9vcHMuYyAgICAgICBPcGVyYXRpb25zIHJlZ2lzdGVyZWQgdG8gTGludXgga2VybmVsIHN0YWNrXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjYxOmhpbmljM19uaWNfZGV2LmggICAgICAgICAgTklDIHN0cnVjdHVyZXMgYW5kIG1ldGhvZHMgYWJzdHJhY3Rpb25zXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjYyOmhpbmljM19tYWluLmMgICAgICAgICAgICAgTWFpbiBMaW51eCBrZXJuZWwgZHJpdmVyXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjYzOmhpbmljM19uaWNfY2ZnLltjaF0gICAgICAgTklDIHNlcnZpY2UgY29uZmlndXJhdGlvblxcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDo2NDpoaW5pYzNfbmljX2lvLltjaF0gICAgICAgIE1hbmFnZW1lbnQgcGxhbmUgaW50ZXJmYWNlIGZvciBUWCBhbmQgUlhcXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q6NjU6aGluaWMzX3Jzcy5bY2hdICAgICAgICAgICBJbnRlcmZhY2UgZm9yIFJlY2VpdmUgU2lkZSBTY2FsaW5nIChSU1MpXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjY2OmhpbmljM19yeC5bY2hdICAgICAgICAgICAgSW50ZXJmYWNlIGZvciB0cmFuc21pdFxcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDo2NzpoaW5pYzNfdHguW2NoXSAgICAgICAgICAgIEludGVyZmFjZSBmb3IgcmVjZWl2ZVxcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDo2ODpoaW5pYzNfZXRodG9vbC5jICAgICAgICAgIEludGVyZmFjZSBmb3IgZXRodG9vbCBvcGVyYXRpb25zIChvcHMpXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjY5OmhpbmljM19maWx0ZXIuYyAgICAgICAgICAgSW50ZXJmYWNlIGZvciBNQUMgYWRkcmVzc1xcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdC03MC09PT09PT09PT09PT09PT09PT09PT09PT0gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0PTgxPUV2ZXJ5IEFFUSBpcyBhc3NvY2lhdGVkIHRvIGEgZGVkaWNhdGVkIElSUS4gQUVRIGNhbiByZWNlaXZlIG11bHRpcGxlIHR5cGVzXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjgyOm9mIGV2ZW50cywgYnV0IGluIHByYWN0aWNlIHRoZSBoaW5pYzMgZHJpdmVyIGlnbm9yZXMgYWxsIGV2ZW50cyBleGNlcHQgZm9yXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0LTgzLTIgbWFpbGJveCByZWxhdGVkIGV2ZW50cy5cXG4tLVxcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdD04NT1NYWlsYm94XFxuLS1cXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3QtODctXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0Ojg4Ok1haWxib3ggaXMgYSBjb21tdW5pY2F0aW9uIG1lY2hhbmlzbSBiZXR3ZWVuIHRoZSBoaW5pYzMgZHJpdmVyIGFuZCB0aGUgSFcuXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0LTg5LUVhY2ggZGV2aWNlIGhhcyBhbiBpbmRlcGVuZGVudCBtYWlsYm94LiBEcml2ZXIgY2FuIHVzZSB0aGUgbWFpbGJveCB0byBzZW5kXFxuLS1cXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q9MTA0PWV2ZW50cyB0aGF0IGFyZSByZXNwb25zZXMgdG8gcmVxdWVzdHMgZnJvbSB0aGUgZHJpdmVyLiBDRVEgY2FuIHJlY2VpdmVcXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q6MTA1Om11bHRpcGxlIHR5cGVzIG9mIGV2ZW50cywgYnV0IGluIHByYWN0aWNlIHRoZSBoaW5pYzMgZHJpdmVyIGlnbm9yZXMgYWxsXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0LTEwNi1ldmVudHMgZXhjZXB0IGZvciBISU5JQzNfQ01EUSB0aGF0IHJlcHJlc2VudHMgY29tcGxldGlvbiBvZiBwcmV2aW91c2x5XFxuLS1cXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaW5kZXgucnN0PTg9Q29udGVudHM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaW5kZXgucnN0LTI5LSAgIGh1YXdlaS9oaW5pY1xcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9pbmRleC5yc3Q6MzA6ICAgaHVhd2VpL2hpbmljM1xcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9pbmRleC5yc3QtMzEtICAgaW50ZWwvZTEwMFxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0wM1QwNDoyNDowNi41MDkwMTk4OTVaIiwiU2VxIjoxMSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDg5Nzk1NDIzNSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipXb3J0aEZ1enppbmcgRGVjaXNpb24gZm9yIHRoZSBoaW5pYzMgTklDKipcblxuT2theSwgc28gdGhlIGRvY3VtZW50YXRpb24gaXMgY2xlYXI6IHRoZSBgaGluaWMzYCBpcyBhIERhdGEgQ2VudGVyIG5ldHdvcmsgaW50ZXJmYWNlIGNhcmQsIGFuZCBpdCdzIGEgcGh5c2ljYWwgZGV2aWNlLiBJdCBjb21lcyBpbiBkaWZmZXJlbnQgcGh5c2ljYWwgZm9ybXM6IExPTSwgUENJZSwgT0NQLCB0aGUgdXN1YWwgc3VzcGVjdHMuIFNpbmNlIGl0J3MgYSBOSUMsIGFuZCBzcGVjaWZpY2FsbHkgKnJlcXVpcmVzKiBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIOKAkyBhbmQgdGhlc2UgYXJlbid0IHNvbWV0aGluZyBJIGNhbiBlbXVsYXRlIGVmZmVjdGl2ZWx5IGluIGEgc3RhbmRhcmQgUUVNVSBlbnZpcm9ubWVudCDigJMgdGhlbiBJIG5lZWQgdG8gc2V0IGBXb3J0aEZ1enppbmc9ZmFsc2VgLlxuXG5MZXQgbWUganVzdCBkb3VibGUtY2hlY2ssIGJlY2F1c2UgSSB3YW50IHRvIGJlICphYnNvbHV0ZWx5KiBzdXJlLiBUaGUgcHJvbXB0IGlzIHByZXR0eSBleHBsaWNpdDogaXQgZGlyZWN0cyBtZSB0byByZXR1cm4gYFdvcnRoRnV6emluZz1mYWxzZWAgaWYgdGhlIGNvZGUgZmFsbHMgdW5kZXIgdGhpcyBjYXRlZ29yeSBvZiByZXF1aXJpbmcgcGh5c2ljYWwgUENJZSBoYXJkd2FyZS4gQW5kIHRoYXQncyBleGFjdGx5IHdoYXQgd2UgaGF2ZSBoZXJlLiBUaGlzIGBoaW5pYzNgIGlzIGEgdmVuZG9yLXNwZWNpZmljIE5JQyBkcml2ZXIgdGhhdCBuZWVkcyB0aGUgcGh5c2ljYWwgaGFyZHdhcmUsIHdoaWNoIG1lYW5zIGl0IGZhbGxzICpzcXVhcmVseSogaW50byB0aGF0IGV4Y2x1c2lvbmFyeSBidWNrZXQuIFRoZXJlZm9yZSwgSSB3aWxsIHJldHVybiBgV29ydGhGdXp6aW5nPWZhbHNlYC5cblxuXG4iLCJJbnB1dFRva2VucyI6MjM5NTksIk91dHB1dFRva2VucyI6ODEsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyMTMsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDNUMDQ6MjQ6MTEuNDA2OTc4MDA5WiIsIlNlcSI6MTIsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzM1NTAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIGhpbmljMyBkcml2ZXIgKEh1YXdlaSBJbnRlbGxpZ2VudCBOSUMpLCB3aGljaCBpcyBhIHZlbmRvci1zcGVjaWZpYyBQQ0llIGhhcmR3YXJlIGNhcmQgZHJpdmVyLiBUaGlzIGhhcmR3YXJlIGlzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIG9yIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyB1c2VkIGZvciBmdXp6aW5nLCBtYWtpbmcgdGhlc2UgY29kZSBwYXRocyB1bnJlYWNoYWJsZS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBoaW5pYzMgZHJpdmVyIChIdWF3ZWkgSW50ZWxsaWdlbnQgTklDKSwgd2hpY2ggaXMgYSB2ZW5kb3Itc3BlY2lmaWMgUENJZSBoYXJkd2FyZSBjYXJkIGRyaXZlci4gVGhpcyBoYXJkd2FyZSBpcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVSBvciB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgdXNlZCBmb3IgZnV6emluZywgbWFraW5nIHRoZXNlIGNvZGUgcGF0aHMgdW5yZWFjaGFibGUuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+IHsKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOyAKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iKSB7CgkJCQkJc3RhdHMubGxtLmNvdW50Kys7CgkJCQkJc3RhdHMubGxtLnRva2VucyArPSAocy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2Vucyk7CgkJCQkJc3RhdHMubGxtLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0gZWxzZSBpZiAocy5UeXBlID09PSAidG9vbCIpIHsKCQkJCQlzdGF0cy50b29sLmNvdW50Kys7CgkJCQkJc3RhdHMudG9vbC5kdXJhdGlvbiArPSBkdXI7CgkJCQl9CgkJCX0pOwoKCQkJY29uc3QgYXZnTGxtRHVyID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0uZHVyYXRpb24gLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdMbG1Ub2tlbiA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLnRva2VucyAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z1Rvb2xEdXIgPSBzdGF0cy50b29sLmNvdW50ID4gMCA/IChzdGF0cy50b29sLmR1cmF0aW9uIC8gc3RhdHMudG9vbC5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgoJCQljb25zdCBsbG1TdW1hcnlDZWxscyA9IFtzdGF0cy5sbG0uY291bnQsIHN0YXRzLmxsbS50b2tlbnMsIGF2Z0xsbVRva2VuLCBzdGF0cy5sbG0uZHVyYXRpb24sIGF2Z0xsbUR1cl07CgkJCWNvbnN0IHRvb2xTdW1tYXJ5Q2VsbHMgPSBbc3RhdHMudG9vbC5jb3VudCwgc3RhdHMudG9vbC5kdXJhdGlvbiwgYXZnVG9vbER1cl07CgoJCQljb25zdCBsbG1TdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsbG1fc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCWxsbVN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCBsbG1UciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCWxsbVN1bWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQlsbG1Uci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQlsbG1TdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZChsbG1Ucik7CgoJCQljb25zdCB0b29sU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJdG9vbFN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCB0b29sVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQl0b29sU3VtbWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQl0b29sVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJdG9vbFN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKHRvb2xUcik7CgkJfQoKCQlmdW5jdGlvbiBkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGZpbHRlcmVkU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IFsibGxtIiwgInRvb2wiXS5pbmNsdWRlcyhkLlR5cGUpKTsKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnRHVyYXRpb24nKTsKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsgCgoJCQlmaWx0ZXJlZFN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQkKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOwoJCQkJbGV0IHRvb2x0aXAgPSBzLk5hbWU7CgkJCQlpZiAocy5UeXBlID09PSAibGxtIiAmJiBzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgkJCQlkYXRhLmFkZFJvdyhbYCR7cy5TZXF9YCwgZHVyLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVGltZSBDb25zdW1wdGlvbiBvZiBMTE0vVG9vbCBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNL1Rvb2wgU3RlcHMnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnU2Vjb25kcycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHVyYXRpb25fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGxsbVN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBkLlR5cGUgPT09ICJsbG0iKTsKCQkJaWYgKGxsbVN0ZXBzLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnVG9rZW5zJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3N0eWxlJ30pOwkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsJCgoJCQljb25zdCBhZ2VudENvbG9ycyA9IHt9OwoJCQljb25zdCBwYWxldHRlID0gWycjNDI4NUY0JywgJyNEQjQ0MzcnLCAnI0Y0QjQwMCcsICcjMEY5RDU4JywgJyNBQjQ3QkMnLCAnIzAwQUNDMSddOwoJCQlsZXQgY29sb3JJZHggPSAwOwoJCQljb25zdCBhZ2VudExMTUNvdW50cyA9IHt9OwoJCQlsbG1TdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJaWYgKCFhZ2VudENvbG9yc1tzLk5hbWVdKSB7CgkJCQkJYWdlbnRDb2xvcnNbcy5OYW1lXSA9IHBhbGV0dGVbY29sb3JJZHggJSBwYWxldHRlLmxlbmd0aF07CgkJCQkJY29sb3JJZHgrKzsKCQkJCX0KCgkJCQlhZ2VudExMTUNvdW50c1tzLk5hbWVdID0gKGFnZW50TExNQ291bnRzW3MuTmFtZV0gfHwgMCkgKyAxOwoJCQkJY29uc3QgbGFiZWwgPSBgJHtzLk5hbWV9LSR7YWdlbnRMTE1Db3VudHNbcy5OYW1lXX1gOwoJCQkJY29uc3QgdG90YWxUb2tlbnMgPSBzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zOwoJCQkJY29uc3Qgc3R5bGUgPSBgY29sb3I6ICR7YWdlbnRDb2xvcnNbcy5OYW1lXX1gOwoJCQkJbGV0IHRvb2x0aXAgPSBgVG90YWwgVG9rZW5zOiAke3RvdGFsVG9rZW5zfVxuKEluOiAke3MuSW5wdXRUb2tlbnN9LCBPdXQ6ICR7cy5PdXRwdXRUb2tlbnN9LCBUaG91Z2h0czogJHtzLk91dHB1dFRob3VnaHRzVG9rZW5zfSlgOwoJCQkJaWYgKHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCgkJCQlkYXRhLmFkZFJvdyhbbGFiZWwsIHRvdGFsVG9rZW5zLCBzdHlsZSwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1Rva2VuIENvbnN1bXB0aW9uIGJ5IExMTSBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNIENhbGwgU2VxdWVuY2UnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnQ29uc3VtZWQgVG9rZW5zJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b2tlbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoJCWxldCBhbGxFeHBhbmRlZCA9IGZhbHNlOwoJCWZ1bmN0aW9uIHRvZ2dsZUFsbERldGFpbHMoKSB7CgkJCWFsbEV4cGFuZGVkID0gIWFsbEV4cGFuZGVkOwoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkZXRhaWxzJykuZm9yRWFjaChkID0+IHsKCQkJCWlmIChhbGxFeHBhbmRlZCkgZC5zZXRBdHRyaWJ1dGUoJ29wZW4nLCAnJyk7CgkJCQllbHNlIGQucmVtb3ZlQXR0cmlidXRlKCdvcGVuJyk7CgkJCX0pOwoJCX0KCTwvc2NyaXB0PgoKCjwvYm9keT4KPC9odG1sPgo=" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflow4vnk4[0].run-triage(0) Phase: Succeeded StartedAt: 2026-08-03 04:21:51 +0000 UTC FinishedAt: 2026-08-03 04:24:12 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "AI determined the patch has no functional impact", "targets": null, "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAzIDA0OjIzPC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBoaW5pYzMgZHJpdmVyIChIdWF3ZWkgSW50ZWxsaWdlbnQgTklDKSwgd2hpY2ggaXMgYSB2ZW5kb3Itc3BlY2lmaWMgUENJZSBoYXJkd2FyZSBjYXJkIGRyaXZlci4gVGhpcyBoYXJkd2FyZSBpcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVSBvciB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgdXNlZCBmb3IgZnV6emluZywgbWFraW5nIHRoZXNlIGNvZGUgcGF0aHMgdW5yZWFjaGFibGUuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAzIDA0OjIzPC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgZWZkZWUyNDNjNTU2NmMzYWMzOWExOGY0MWE5YWU4NjIxNzdiZTMyM1xuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBNb24gQXVnIDMgMDQ6MjM6NDQgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfcnguYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX3J4LmNcbmluZGV4IDMwOWFiNTkwMTM3OTcuLjM4OWIxYzIxNThiZWUgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19yeC5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19yeC5jXG5AQCAtNTQxLDcgJiM0Mzs1NDEsNyBAQCBpbnQgaGluaWMzX2NvbmZpZ3VyZV9yeHFzKHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYsIHUxNiBudW1fcnEsXG4gXHRcdHJxX2Fzc29jaWF0ZV9jcWVzKHJ4cSk7XG4gXG4gXHRcdHBrdHMgPSBoaW5pYzNfcnhfZmlsbF9idWZmZXJzKHJ4cSk7XG4tXHRcdGlmICghcGt0cykge1xuJiM0MztcdFx0aWYgKHBrdHMgXHUwMDNjIHJ4cS1cdTAwM2VxX21hc2spIHtcbiBcdFx0XHRuZXRkZXZfZXJyKG5ldGRldiwgXCYjMzQ7RmFpbGVkIHRvIGZpbGwgUnggYnVmZmVyXFxuXCYjMzQ7KTtcbiBcdFx0XHRyZXR1cm4gLUVOT01FTTtcbiBcdFx0fVxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX3R4LmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM190eC5jXG5pbmRleCA5MzA2YmYwMDIwY2FmLi41M2MwNjUxOTQxMzZlIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfdHguY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfdHguY1xuQEAgLTI2MSw4ICYjNDM7MjYxLDcgQEAgc3RhdGljIGludCBoaW5pYzNfdHhfY3N1bShzdHJ1Y3QgaGluaWMzX3R4cSAqdHhxLCBzdHJ1Y3QgaGluaWMzX3NxX3Rhc2sgKnRhc2ssXG4gXHRcdCAgICAoKHN0cnVjdCB1ZHBoZHIgKilza2JfdHJhbnNwb3J0X2hlYWRlcihza2IpKS1cdTAwM2VkZXN0ICE9XG4gXHRcdCAgICBWWExBTl9PRkZMT0FEX1BPUlRfTEUpIHtcbiBcdFx0XHQvKiBVbnN1cHBvcnRlZCB0dW5uZWwgcGFja2V0LCBkaXNhYmxlIGNzdW0gb2ZmbG9hZCAqL1xuLVx0XHRcdHNrYl9jaGVja3N1bV9oZWxwKHNrYik7XG4tXHRcdFx0cmV0dXJuIDA7XG4mIzQzO1x0XHRcdHJldHVybiBza2JfY2hlY2tzdW1faGVscChza2IpO1xuIFx0XHR9XG4gXHR9XG4gXG5AQCAtNDEyLDYgJiM0Mzs0MTEsMTAgQEAgc3RhdGljIHUzMiBoaW5pYzNfdHhfb2ZmbG9hZChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgaGluaWMzX3NxX3Rhc2sgKnRhc2ssXG4gXHRcdG9mZmxvYWQgfD0gSElOSUMzX1RYX09GRkxPQURfVFNPO1xuIFx0fSBlbHNlIHtcbiBcdFx0dHNvX2NzX2VuID0gaGluaWMzX3R4X2NzdW0odHhxLCB0YXNrLCBza2IpO1xuJiM0MztcdFx0aWYgKHRzb19jc19lbiBcdTAwM2MgMCkge1xuJiM0MztcdFx0XHRvZmZsb2FkID0gSElOSUMzX1RYX09GRkxPQURfSU5WQUxJRDtcbiYjNDM7XHRcdFx0cmV0dXJuIG9mZmxvYWQ7XG4mIzQzO1x0XHR9XG4gXHRcdGlmICh0c29fY3NfZW4pXG4gXHRcdFx0b2ZmbG9hZCB8PSBISU5JQzNfVFhfT0ZGTE9BRF9DU1VNO1xuIFx0fVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAzIDA0OjIzPC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmJlc3QtZXhwZW5zaXZlPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgaGluaWMzIGRyaXZlciAoSHVhd2VpIEludGVsbGlnZW50IE5JQyksIHdoaWNoIGlzIGEgdmVuZG9yLXNwZWNpZmljIFBDSWUgaGFyZHdhcmUgY2FyZCBkcml2ZXIuIFRoaXMgaGFyZHdhcmUgaXMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgb3IgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIHVzZWQgZm9yIGZ1enppbmcsIG1ha2luZyB0aGVzZSBjb2RlIHBhdGhzIHVucmVhY2hhYmxlLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkluc3RydWN0aW9uOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+WW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuCllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lCmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC4KCklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpbgp5b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHkKdXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy4KClJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6Ci0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy4KLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy4KLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuCi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLAogIGV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KLSBDb2RlIGluIHZlbmRvci1zcGVjaWZpYyBQQ0llIHN3aXRjaCwgU21hcnROSUMsIG9yIEdQVSBkcml2ZXJzIChlLmcuLCBtbHhzdywgcGRzX2NvcmUsIHFlZCwKICBpb25pYywgYW1kZ3B1KSB0aGF0IHJlcXVpcmUgcGh5c2ljYWwgUENJZSBoYXJkd2FyZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS4KLSBEcml2ZXIgLnJlbW92ZSwgLnNodXRkb3duLCBvciBwY2lfdW5yZWdpc3Rlcl9kcml2ZXIgdGVhcmRvd24gY2FsbGJhY2tzIChlLmcuLCBpZ2JfcmVtb3ZlKQogIHRoYXQgYXJlIGV4ZWN1dGVkIG9ubHkgZHVyaW5nIFBDSSBob3QtdW5wbHVnIG9yIHN5c2ZzIGRyaXZlciB1bmJpbmQgb3BlcmF0aW9ucy4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCiAgIFByZWZlciBub24tc3RhdGljLCBub24taW5saW5lZCBBUEkgZW50cnlwb2ludCBmdW5jdGlvbnMgb3ZlciBpbnRlcm5hbCBzdGF0aWMgaGVscGVyIGZ1bmN0aW9ucwogICAod2hpY2ggYXJlIGlubGluZWQgYnkgdGhlIGNvbXBpbGVyIGFuZCBkbyBub3QgaGF2ZSBkaXN0aW5jdCBzeW1ib2wgYWRkcmVzc2VzKS4KMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuCiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy4KICAgQWxzbyBjaGVjayAmIzM0O2RlcGVuZHMgb24mIzM0OyBsaW5lcyBpbiBLY29uZmlnIHRvIGluY2x1ZGUgYW55IG5vbi1zdGFuZGFyZCBwYXJlbnQgc3Vic3lzdGVtIGNvbmZpZ3MKICAgbmVlZGVkIGZvciBLYnVpbGQgdG8gY29tcGlsZSB0aGUgY29kZSBzdGF0aWNhbGx5IGludG8gdm1saW51eC4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzCiAgIG91dHB1dCBhcnJheSwgYW5kIERPIE5PVCBhZGQgYSAmIzM5O0NPTkZJR18mIzM5OyBwcmVmaXggKGUuZy4sIHJldHVybiAmIzM0O05FVF9JUFY0JiMzNDsgaW5zdGVhZCBvZiAmIzM0O0NPTkZJR19ORVRfSVBWNCYjMzQ7KS4KUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuCgoKVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy4KSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuCklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Qcm9tcHQ6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IGVmZGVlMjQzYzU1NjZjM2FjMzlhMThmNDFhOWFlODYyMTc3YmUzMjMKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgTW9uIEF1ZyAzIDA0OjIzOjQ0IDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfcnguYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX3J4LmMKaW5kZXggMzA5YWI1OTAxMzc5Ny4uMzg5YjFjMjE1OGJlZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfcnguYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19yeC5jCkBAIC01NDEsNyAmIzQzOzU0MSw3IEBAIGludCBoaW5pYzNfY29uZmlndXJlX3J4cXMoc3RydWN0IG5ldF9kZXZpY2UgKm5ldGRldiwgdTE2IG51bV9ycSwKIAkJcnFfYXNzb2NpYXRlX2NxZXMocnhxKTsKIAogCQlwa3RzID0gaGluaWMzX3J4X2ZpbGxfYnVmZmVycyhyeHEpOwotCQlpZiAoIXBrdHMpIHsKJiM0MzsJCWlmIChwa3RzICZsdDsgcnhxLSZndDtxX21hc2spIHsKIAkJCW5ldGRldl9lcnIobmV0ZGV2LCAmIzM0O0ZhaWxlZCB0byBmaWxsIFJ4IGJ1ZmZlclxuJiMzNDspOwogCQkJcmV0dXJuIC1FTk9NRU07CiAJCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX3R4LmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM190eC5jCmluZGV4IDkzMDZiZjAwMjBjYWYuLjUzYzA2NTE5NDEzNmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX3R4LmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfdHguYwpAQCAtMjYxLDggJiM0MzsyNjEsNyBAQCBzdGF0aWMgaW50IGhpbmljM190eF9jc3VtKHN0cnVjdCBoaW5pYzNfdHhxICp0eHEsIHN0cnVjdCBoaW5pYzNfc3FfdGFzayAqdGFzaywKIAkJICAgICgoc3RydWN0IHVkcGhkciAqKXNrYl90cmFuc3BvcnRfaGVhZGVyKHNrYikpLSZndDtkZXN0ICE9CiAJCSAgICBWWExBTl9PRkZMT0FEX1BPUlRfTEUpIHsKIAkJCS8qIFVuc3VwcG9ydGVkIHR1bm5lbCBwYWNrZXQsIGRpc2FibGUgY3N1bSBvZmZsb2FkICovCi0JCQlza2JfY2hlY2tzdW1faGVscChza2IpOwotCQkJcmV0dXJuIDA7CiYjNDM7CQkJcmV0dXJuIHNrYl9jaGVja3N1bV9oZWxwKHNrYik7CiAJCX0KIAl9CiAKQEAgLTQxMiw2ICYjNDM7NDExLDEwIEBAIHN0YXRpYyB1MzIgaGluaWMzX3R4X29mZmxvYWQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGhpbmljM19zcV90YXNrICp0YXNrLAogCQlvZmZsb2FkIHw9IEhJTklDM19UWF9PRkZMT0FEX1RTTzsKIAl9IGVsc2UgewogCQl0c29fY3NfZW4gPSBoaW5pYzNfdHhfY3N1bSh0eHEsIHRhc2ssIHNrYik7CiYjNDM7CQlpZiAodHNvX2NzX2VuICZsdDsgMCkgewomIzQzOwkJCW9mZmxvYWQgPSBISU5JQzNfVFhfT0ZGTE9BRF9JTlZBTElEOwomIzQzOwkJCXJldHVybiBvZmZsb2FkOwomIzQzOwkJfQogCQlpZiAodHNvX2NzX2VuKQogCQkJb2ZmbG9hZCB8PSBISU5JQzNfVFhfT0ZGTE9BRF9DU1VNOwogCX0KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDMgMDQ6MjM8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjU2NAoJCQkJCQkJb3V0cHV0OiAzNwoJCQkJCQkJdGhvdWdodHM6IDI2NwoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgYSBOZXR3b3JrIERyaXZlciBQYXRjaCoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhpcyBwYXRjaCBhbmQgaXQgc2VlbXMgbGlrZSBpdCYjMzk7cyB0b3VjaGluZyBgZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfcnguY2AgYW5kIGBkcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM190eC5jYC4gSW50ZXJlc3RpbmcuIFNwZWNpZmljYWxseSwgaXQmIzM5O3MgbW9kaWZ5aW5nIGBoaW5pYzNfY29uZmlndXJlX3J4cXNgIGFuZCB0aGUgYGhpbmljM190eF9jc3VtYCAvIGBoaW5pYzNfdHhfb2ZmbG9hZGAgZnVuY3Rpb25zLiBSaWdodCBhd2F5LCB0aGlzIHRlbGxzIG1lIGl0JiMzOTtzIGZvciB0aGUgSHVhd2VpIEludGVsbGlnZW50IE5JQywgdGhlIGBoaW5pYzNgLgoKVGhlIG5leHQgcXVlc3Rpb24gdGhhdCBwb3BzIGludG8gbXkgaGVhZCBpcyBhbHdheXM6IGlzIHRoaXMgYWN0dWFsbHkgZm9yIHBoeXNpY2FsIGhhcmR3YXJlPyBBbmQgZG9lcyBpdCB3b3JrIG9yIGlzIGl0IGVtdWxhdGVkPyBIdWF3ZWkgTklDcyBhcmUgdXN1YWxseSBub3QgZW11bGF0ZWQgaW4gUUVNVSwgc28gdGhhdOKAmXMgbXkgaW5pdGlhbCBhc3N1bXB0aW9uLiBMZXQmIzM5O3MgY29uZmlybS4KCkFoLCBoZXJlJiMzOTtzIGEgaGVscGZ1bCBwcm9tcHQsICYjMzQ7Q29kZSBpbiB2ZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2gsIFNtYXJ0TklDLCBvciBHUFUgZHJpdmVycyAoZS5nLiwgbWx4c3csIHBkc19jb3JlLCBxZWQsIGlvbmljLCBhbWRncHUpIHRoYXQgcmVxdWlyZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VJiMzNDsuIFJpZ2h0LCB0aGUgdGV4dCBtZW50aW9ucyB0aGF0IHRoaXMgaXMgZm9yIGEgcGh5c2ljYWwgY2FyZCEgU28gYGhpbmljM2AgaXMgaW5kZWVkIGEgcGh5c2ljYWwgUENJZSBjYXJkLgoKTm93IEkgbmVlZCB0byBnbyBkaWdnaW5nIGluIHRoZSBrZXJuZWwgdHJlZSBmb3IgbW9yZSBjb250ZXh0IGFyb3VuZCBgaGluaWMzYCB0byBmdWxseSB1bmRlcnN0YW5kIHdoYXQgdGhpcyBwYXRjaCBpcyBkb2luZyBhbmQgd2h5LgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAzIDA0OjIzPC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2hpbmljMyYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O1xuRnVsbCBvdXRwdXQgaXMgdG9vIGxvbmcsIHNob3dpbmcgNTAwIG91dCBvZiA2NDg5IGxpbmVzLlxuVXNlIG1vcmUgcHJlY2lzZSBleHByZXNzaW9uIGlmIHBvc3NpYmxlLlxuXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL0tjb25maWc9Nj1jb25maWcgSElOSUMzXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9LY29uZmlnLTIwLVx0ICBUbyBjb21waWxlIHRoaXMgZHJpdmVyIGFzIGEgbW9kdWxlLCBjaG9vc2UgTSBoZXJlLlxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9LY29uZmlnOjIxOlx0ICBUaGUgbW9kdWxlIHdpbGwgYmUgY2FsbGVkIGhpbmljMy5cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL01ha2VmaWxlLTMtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL01ha2VmaWxlOjQ6b2JqLSQoQ09ORklHX0hJTklDMykgJiM0Mzs9IGhpbmljMy5vXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL01ha2VmaWxlLTUtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL01ha2VmaWxlOjY6aGluaWMzLW9ianMgOj0gaGluaWMzX2NtZHEubyBcXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9NYWtlZmlsZTo3Olx0ICAgICAgIGhpbmljM19jb21tb24ubyBcXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9NYWtlZmlsZTo4Olx0ICAgICAgIGhpbmljM19lcXMubyBcXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9NYWtlZmlsZTo5Olx0ICAgICAgIGhpbmljM19ldGh0b29sLm8gXFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvTWFrZWZpbGU6MTA6XHQgICAgICAgaGluaWMzX2ZpbHRlci5vIFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL01ha2VmaWxlOjExOlx0ICAgICAgIGhpbmljM19od19jZmcubyBcXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9NYWtlZmlsZToxMjpcdCAgICAgICBoaW5pYzNfaHdfY29tbS5vIFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL01ha2VmaWxlOjEzOlx0ICAgICAgIGhpbmljM19od2Rldi5vIFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL01ha2VmaWxlOjE0Olx0ICAgICAgIGhpbmljM19od2lmLm8gXFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvTWFrZWZpbGU6MTU6XHQgICAgICAgaGluaWMzX2lycS5vIFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL01ha2VmaWxlOjE2Olx0ICAgICAgIGhpbmljM19sbGQubyBcXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9NYWtlZmlsZToxNzpcdCAgICAgICBoaW5pYzNfbWFpbi5vIFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL01ha2VmaWxlOjE4Olx0ICAgICAgIGhpbmljM19tYm94Lm8gXFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvTWFrZWZpbGU6MTk6XHQgICAgICAgaGluaWMzX21nbXQubyBcXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9NYWtlZmlsZToyMDpcdCAgICAgICBoaW5pYzNfbmV0ZGV2X29wcy5vIFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL01ha2VmaWxlOjIxOlx0ICAgICAgIGhpbmljM19uaWNfY2ZnLm8gXFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvTWFrZWZpbGU6MjI6XHQgICAgICAgaGluaWMzX25pY19pby5vIFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL01ha2VmaWxlOjIzOlx0ICAgICAgIGhpbmljM19xdWV1ZV9jb21tb24ubyBcXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9NYWtlZmlsZToyNDpcdCAgICAgICBoaW5pYzNfcnNzLm8gXFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvTWFrZWZpbGU6MjU6XHQgICAgICAgaGluaWMzX3J4Lm8gXFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvTWFrZWZpbGU6MjY6XHQgICAgICAgaGluaWMzX3R4Lm8gXFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvTWFrZWZpbGU6Mjc6XHQgICAgICAgaGluaWMzX3dxLm9cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNy1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo4OiNpbmNsdWRlIFwmIzM0O2hpbmljM19jbWRxLmhcJiMzNDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo5OiNpbmNsdWRlIFwmIzM0O2hpbmljM19lcXMuaFwmIzM0O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjEwOiNpbmNsdWRlIFwmIzM0O2hpbmljM19od2Rldi5oXCYjMzQ7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MTE6I2luY2x1ZGUgXCYjMzQ7aGluaWMzX2h3aWYuaFwmIzM0O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjEyOiNpbmNsdWRlIFwmIzM0O2hpbmljM19tYm94LmhcJiMzNDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xMy1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM9MTEyPWVudW0gY21kcV9jbWRfdHlwZSB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTExOC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzoxMTk6c3RhdGljIHZvaWQgaGluaWMzX2R1bXBfY21kcV93cWVfaGVhZChzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2RldixcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xMjAtXHRcdFx0XHQgICAgICBzdHJ1Y3QgY21kcV93cWUgKndxZSlcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMTMyLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjEzMzpzdGF0aWMgc3RydWN0IGNtZHFfd3FlICpjbWRxX3JlYWRfd3FlKHN0cnVjdCBoaW5pYzNfd3EgKndxLCB1MTYgKmNpKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEzNC17XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MTM1Olx0aWYgKGhpbmljM193cV9nZXRfdXNlZCh3cSkgPT0gMClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xMzYtXHRcdHJldHVybiBOVUxMO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xNDItXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MTQzOnN0cnVjdCBoaW5pYzNfY21kX2J1ZiAqaGluaWMzX2FsbG9jX2NtZF9idWYoc3RydWN0IGhpbmljM19od2RldiAqaHdkZXYpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMTQ0LXtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzoxNDU6XHRzdHJ1Y3QgaGluaWMzX2NtZF9idWYgKmNtZF9idWY7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MTQ2Olx0c3RydWN0IGhpbmljM19jbWRxcyAqY21kcXM7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMTQ3LVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xNzEtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MTcyOnZvaWQgaGluaWMzX2ZyZWVfY21kX2J1ZihzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2RldixcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzoxNzM6XHRcdFx0IHN0cnVjdCBoaW5pYzNfY21kX2J1ZiAqY21kX2J1ZilcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xNzQte1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjE3NTpcdHN0cnVjdCBoaW5pYzNfY21kcXMgKmNtZHFzO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTE3Ni1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMTg1LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjE4NjpzdGF0aWMgdm9pZCBjbWRxX2NsZWFyX2NtZF9idWYoc3RydWN0IGhpbmljM19jbWRxX2NtZF9pbmZvICpjbWRfaW5mbyxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzoxODc6XHRcdFx0ICAgICAgIHN0cnVjdCBoaW5pYzNfaHdkZXYgKmh3ZGV2KVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTE4OC17XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMTg5LVx0aWYgKGNtZF9pbmZvLVx1MDAzZWJ1Zl9pbikge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjE5MDpcdFx0aGluaWMzX2ZyZWVfY21kX2J1Zihod2RldiwgY21kX2luZm8tXHUwMDNlYnVmX2luKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xOTEtXHRcdGNtZF9pbmZvLVx1MDAzZWJ1Zl9pbiA9IE5VTEw7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTE5NC1cdGlmIChjbWRfaW5mby1cdTAwM2VidWZfb3V0KSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MTk1Olx0XHRoaW5pYzNfZnJlZV9jbWRfYnVmKGh3ZGV2LCBjbWRfaW5mby1cdTAwM2VidWZfb3V0KTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xOTYtXHRcdGNtZF9pbmZvLVx1MDAzZWJ1Zl9vdXQgPSBOVUxMO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xOTktXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MjAwOnN0YXRpYyB2b2lkIGNsZWFyX3dxZV9jb21wbGV0ZV9iaXQoc3RydWN0IGhpbmljM19jbWRxICpjbWRxLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTIwMS1cdFx0XHRcdCAgIHN0cnVjdCBjbWRxX3dxZSAqd3FlLCB1MTYgY2kpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTIxNy1cdHdtYigpOyAvKiB2ZXJpZnkgd3FlIGlzIGNsZWFyIGJlZm9yZSB1cGRhdGluZyBjaSAqL1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjIxODpcdGhpbmljM193cV9wdXRfd3FlYmJzKFx1MDAyNmNtZHEtXHUwMDNld3EsIENNRFFfV1FFX05VTV9XUUVCQlMpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTIxOS19XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMjIwLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjIyMTpzdGF0aWMgaW50IGNtZHFfYXJtX2NlcV9oYW5kbGVyKHN0cnVjdCBoaW5pYzNfY21kcSAqY21kcSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0yMjItXHRcdFx0XHRzdHJ1Y3QgY21kcV93cWUgKndxZSwgdTE2IGNpKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0yMzQtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MjM1OnN0YXRpYyB2b2lkIGNtZHFfdXBkYXRlX2NtZF9zdGF0dXMoc3RydWN0IGhpbmljM19jbWRxICpjbWRxLCB1MTYgcHJvZF9pZHgsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMjM2LVx0XHRcdFx0ICAgc3RydWN0IGNtZHFfd3FlICp3cWUpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMjM3LXtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzoyMzg6XHRzdHJ1Y3QgaGluaWMzX2NtZHFfY21kX2luZm8gKmNtZF9pbmZvO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTIzOS1cdHN0cnVjdCBjbWRxX3dxZV9sY21kICp3cWVfbGNtZDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMjUyLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjI1MzpzdGF0aWMgdm9pZCBjbWRxX3N5bmNfY21kX2hhbmRsZXIoc3RydWN0IGhpbmljM19jbWRxICpjbWRxLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTI1NC1cdFx0XHRcdCAgc3RydWN0IGNtZHFfd3FlICp3cWUsIHUxNiBjaSlcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMjc0LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjI3NTp2b2lkIGhpbmljM19jbWRxX2NlcV9oYW5kbGVyKHN0cnVjdCBoaW5pYzNfaHdkZXYgKmh3ZGV2LCBfX2xlMzIgY2VxZV9kYXRhKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTI3Ni17XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6Mjc3Olx0ZW51bSBoaW5pYzNfY21kcV90eXBlIGNtZHFfdHlwZSA9IENNRFFfQ0VRRV9HRVQoY2VxZV9kYXRhLCBUWVBFKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzoyNzg6XHRzdHJ1Y3QgaGluaWMzX2NtZHFzICpjbWRxcyA9IGh3ZGV2LVx1MDAzZWNtZHFzO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjI3OTpcdHN0cnVjdCBoaW5pYzNfY21kcV9jbWRfaW5mbyAqY21kX2luZm87XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMjgwLVx0c3RydWN0IGNtZHFfd3FlX2xjbWQgKndxZV9sY21kO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjI4MTpcdHN0cnVjdCBoaW5pYzNfY21kcSAqY21kcTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0yODItXHRzdHJ1Y3QgY21kcV93cWUgKndxZTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMjk3LVx0XHRcdFx0IGNtZHFfdHlwZSwgY2kpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjI5ODpcdFx0XHRoaW5pYzNfZHVtcF9jbWRxX3dxZV9oZWFkKGh3ZGV2LCB3cWUpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTI5OS1cdFx0XHRmYWxsdGhyb3VnaDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMzM0LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjMzNTpzdGF0aWMgaW50IGNtZHFfcGFyYW1zX3ZhbGlkKGNvbnN0IHN0cnVjdCBoaW5pYzNfaHdkZXYgKmh3ZGV2LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjMzNjpcdFx0XHQgICAgIGNvbnN0IHN0cnVjdCBoaW5pYzNfY21kX2J1ZiAqYnVmX2luKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTMzNy17XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTM0Ni1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzozNDc6c3RhdGljIGludCB3YWl0X2NtZHFzX2VuYWJsZShzdHJ1Y3QgaGluaWMzX2NtZHFzICpjbWRxcylcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0zNDgte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYz0zNjQ9c3RhdGljIHZvaWQgY21kcV9zZXRfY29tcGxldGlvbihzdHJ1Y3QgY21kcV9jb21wbGV0aW9uICpjb21wbGV0ZSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzozNjU6XHRcdFx0XHRzdHJ1Y3QgaGluaWMzX2NtZF9idWYgKmJ1Zl9vdXQpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMzY2LXtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzozNjc6XHRzdHJ1Y3QgaGluaWMzX3NnZSAqc2dlID0gXHUwMDI2Y29tcGxldGUtXHUwMDNlcmVzcC5zZ2U7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMzY4LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjM2OTpcdGhpbmljM19zZXRfc2dlKHNnZSwgYnVmX291dC1cdTAwM2VkbWFfYWRkciwgY3B1X3RvX2xlMzIoQ01EUV9CVUZfU0laRSkpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTM3MC19XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMzcxLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjM3MjpzdGF0aWMgc3RydWN0IGNtZHFfd3FlICpjbWRxX2dldF93cWUoc3RydWN0IGhpbmljM193cSAqd3EsIHUxNiAqcGkpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMzczLXtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzozNzQ6XHRpZiAoIWhpbmljM193cV9mcmVlX3dxZWJicyh3cSkpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMzc1LVx0XHRyZXR1cm4gTlVMTDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0zNzYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6Mzc3Olx0cmV0dXJuIGhpbmljM193cV9nZXRfb25lX3dxZWJiKHdxLCBwaSk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMzc4LX1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM9MzgwPXN0YXRpYyB2b2lkIGNtZHFfc2V0X2xjbWRfYnVmZGVzYyhzdHJ1Y3QgY21kcV93cWVfbGNtZCAqd3FlLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjM4MTpcdFx0XHRcdCAgc3RydWN0IGhpbmljM19jbWRfYnVmICpidWZfaW4pXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMzgyLXtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzozODM6XHRoaW5pYzNfc2V0X3NnZShcdTAwMjZ3cWUtXHUwMDNlYnVmX2Rlc2Muc2dlLCBidWZfaW4tXHUwMDNlZG1hX2FkZHIsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMzg0LVx0XHQgICAgICAgKF9fZm9yY2UgX19sZTMyKWJ1Zl9pbi1cdTAwM2VzaXplKTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMzg2LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjM4NzpzdGF0aWMgdm9pZCBjbWRxX3NldF9kYihzdHJ1Y3QgaGluaWMzX2NtZHEgKmNtZHEsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6Mzg4Olx0XHRcdGVudW0gaGluaWMzX2NtZHFfdHlwZSBjbWRxX3R5cGUsIHUxNiBwcm9kX2lkeClcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0zODkte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYz00NTk9c3RhdGljIHZvaWQgY21kcV9zZXRfbGNtZF93cWUoc3RydWN0IGNtZHFfd3FlICp3cWUsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNDYwLVx0XHRcdCAgICAgIGVudW0gY21kcV9jbWRfdHlwZSBjbWRfdHlwZSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo0NjE6XHRcdFx0ICAgICAgc3RydWN0IGhpbmljM19jbWRfYnVmICpidWZfaW4sXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NDYyOlx0XHRcdCAgICAgIHN0cnVjdCBoaW5pYzNfY21kX2J1ZiAqYnVmX291dCxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy00NjMtXHRcdFx0ICAgICAgdTggd3JhcHBlZCwgdTggbW9kLCB1OCBjbWQsIHUxNiBwcm9kX2lkeClcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNDg0LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjQ4NTpzdGF0aWMgaW50IGhpbmljM19jbWRxX3N5bmNfdGltZW91dF9jaGVjayhzdHJ1Y3QgaGluaWMzX2NtZHEgKmNtZHEsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNDg2LVx0XHRcdFx0XHQgIHN0cnVjdCBjbWRxX3dxZSAqd3FlLCB1MTYgcGkpXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTUwMy1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo1MDQ6c3RhdGljIHZvaWQgY2xlYXJfY21kX2luZm8oc3RydWN0IGhpbmljM19jbWRxX2NtZF9pbmZvICpjbWRfaW5mbyxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo1MDU6XHRcdFx0ICAgY29uc3Qgc3RydWN0IGhpbmljM19jbWRxX2NtZF9pbmZvICpzYXZlZF9jbWRfaW5mbylcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy01MDYte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy01MTYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NTE3OnN0YXRpYyBpbnQgd2FpdF9jbWRxX3N5bmNfY21kX2NvbXBsZXRpb24oc3RydWN0IGhpbmljM19jbWRxICpjbWRxLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjUxODpcdFx0XHRcdFx0IHN0cnVjdCBoaW5pYzNfY21kcV9jbWRfaW5mbyAqY21kX2luZm8sXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NTE5Olx0XHRcdFx0XHQgc3RydWN0IGhpbmljM19jbWRxX2NtZF9pbmZvICpzYXZlZF9jbWRfaW5mbyxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy01MjAtXHRcdFx0XHRcdCB1NjQgY3Vycl9tc2dfaWQsIHUxNiBjdXJyX3Byb2RfaWR4LFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy01NDAtXHRpZiAoY3Vycl9tc2dfaWQgPT0gY21kX2luZm8tXHUwMDNlY21kcV9tc2dfaWQpIHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo1NDE6XHRcdGVyciA9IGhpbmljM19jbWRxX3N5bmNfdGltZW91dF9jaGVjayhjbWRxLCBjdXJyX3dxZSxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy01NDItXHRcdFx0XHRcdFx0ICAgICBjdXJyX3Byb2RfaWR4KTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNTU1LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjU1NjpcdGhpbmljM19kdW1wX2NlcV9pbmZvKGNtZHEtXHUwMDNlaHdkZXYpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTU1Ny1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNTYwLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjU2MTpzdGF0aWMgaW50IGNtZHFfc3luY19jbWRfZXhlYyhzdHJ1Y3QgaGluaWMzX2NtZHEgKmNtZHEsIHU4IG1vZCwgdTggY21kLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjU2MjpcdFx0XHQgICAgICBzdHJ1Y3QgaGluaWMzX2NtZF9idWYgKmJ1Zl9pbixcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo1NjM6XHRcdFx0ICAgICAgc3RydWN0IGhpbmljM19jbWRfYnVmICpidWZfb3V0LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTU2NC1cdFx0XHQgICAgICBfX2xlNjQgKm91dF9wYXJhbSwgdTggY21kX3R5cGUsIHU4IHdxZV9jbWQpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNTY1LXtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo1NjY6XHRzdHJ1Y3QgaGluaWMzX2NtZHFfY21kX2luZm8gKmNtZF9pbmZvLCBzYXZlZF9jbWRfaW5mbztcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy01NjctXHRpbnQgY21wdF9jb2RlID0gQ01EUV9TRU5EX0NNUFRfQ09ERTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy01NjgtXHRzdHJ1Y3QgY21kcV93cWUgKmN1cnJfd3FlLCB3cWUgPSB7fTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo1Njk6XHRzdHJ1Y3QgaGluaWMzX3dxICp3cSA9IFx1MDAyNmNtZHEtXHUwMDNld3E7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNTcwLVx0dTE2IGN1cnJfcHJvZF9pZHgsIG5leHRfcHJvZF9pZHg7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTYzNC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo2MzU6c3RhdGljIGludCBjbWRxX3N5bmNfY21kX2RpcmVjdF9yZXNwKHN0cnVjdCBoaW5pYzNfY21kcSAqY21kcSwgdTggbW9kLCB1OCBjbWQsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NjM2Olx0XHRcdFx0ICAgICBzdHJ1Y3QgaGluaWMzX2NtZF9idWYgKmJ1Zl9pbixcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy02MzctXHRcdFx0XHQgICAgIF9fbGU2NCAqb3V0X3BhcmFtKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy02NDMtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NjQ0OnN0YXRpYyBpbnQgY21kcV9zeW5jX2NtZF9kZXRhaWxfcmVzcChzdHJ1Y3QgaGluaWMzX2NtZHEgKmNtZHEsIHU4IG1vZCwgdTggY21kLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjY0NTpcdFx0XHRcdCAgICAgc3RydWN0IGhpbmljM19jbWRfYnVmICpidWZfaW4sXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NjQ2Olx0XHRcdFx0ICAgICBzdHJ1Y3QgaGluaWMzX2NtZF9idWYgKmJ1Zl9vdXQsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNjQ3LVx0XHRcdFx0ICAgICBfX2xlNjQgKm91dF9wYXJhbSlcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNjUzLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjY1NDppbnQgaGluaWMzX2NtZF9idWZfcGFpcl9pbml0KHN0cnVjdCBoaW5pYzNfaHdkZXYgKmh3ZGV2LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjY1NTpcdFx0XHQgICAgIHN0cnVjdCBoaW5pYzNfY21kX2J1Zl9wYWlyICpwYWlyKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTY1Ni17XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NjU3Olx0cGFpci1cdTAwM2VpbiA9IGhpbmljM19hbGxvY19jbWRfYnVmKGh3ZGV2KTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy02NTgtXHRpZiAoIXBhaXItXHUwMDNlaW4pXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTY2MC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo2NjE6XHRwYWlyLVx1MDAzZW91dCA9IGhpbmljM19hbGxvY19jbWRfYnVmKGh3ZGV2KTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy02NjItXHRpZiAoIXBhaXItXHUwMDNlb3V0KVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy02NjctZXJyX2ZyZWVfY21kX2J1Zl9pbjpcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo2Njg6XHRoaW5pYzNfZnJlZV9jbWRfYnVmKGh3ZGV2LCBwYWlyLVx1MDAzZWluKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy02NjktZXJyX291dDpcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNjcyLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjY3Mzp2b2lkIGhpbmljM19jbWRfYnVmX3BhaXJfdW5pbml0KHN0cnVjdCBoaW5pYzNfaHdkZXYgKmh3ZGV2LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjY3NDpcdFx0XHRcdHN0cnVjdCBoaW5pYzNfY21kX2J1Zl9wYWlyICpwYWlyKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTY3NS17XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6Njc2Olx0aGluaWMzX2ZyZWVfY21kX2J1Zihod2RldiwgcGFpci1cdTAwM2Vpbik7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6Njc3Olx0aGluaWMzX2ZyZWVfY21kX2J1Zihod2RldiwgcGFpci1cdTAwM2VvdXQpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTY3OC19XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNjc5LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjY4MDppbnQgaGluaWMzX2NtZHFfZGlyZWN0X3Jlc3Aoc3RydWN0IGhpbmljM19od2RldiAqaHdkZXYsIHU4IG1vZCwgdTggY21kLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjY4MTpcdFx0XHQgICAgc3RydWN0IGhpbmljM19jbWRfYnVmICpidWZfaW4sIF9fbGU2NCAqb3V0X3BhcmFtKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTY4Mi17XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NjgzOlx0c3RydWN0IGhpbmljM19jbWRxcyAqY21kcXM7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNjg0LVx0aW50IGVycjtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNzEyLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjcxMzppbnQgaGluaWMzX2NtZHFfZGV0YWlsX3Jlc3Aoc3RydWN0IGhpbmljM19od2RldiAqaHdkZXYsIHU4IG1vZCwgdTggY21kLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjcxNDpcdFx0XHQgICAgc3RydWN0IGhpbmljM19jbWRfYnVmICpidWZfaW4sXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NzE1Olx0XHRcdCAgICBzdHJ1Y3QgaGluaWMzX2NtZF9idWYgKmJ1Zl9vdXQsIF9fbGU2NCAqb3V0X3BhcmFtKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTcxNi17XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NzE3Olx0c3RydWN0IGhpbmljM19jbWRxcyAqY21kcXM7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNzE4LVx0aW50IGVycjtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNzQ1LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjc0NjpzdGF0aWMgdm9pZCBjbWRxX2luaXRfcXVldWVfY3R4dChzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2RldiwgdTggY21kcV9pZCxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy03NDctXHRcdFx0XHQgc3RydWN0IGNvbW1fY21kcV9jdHh0X2luZm8gKmN0eHRfaW5mbylcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy03NDgte1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjc0OTpcdGNvbnN0IHN0cnVjdCBoaW5pYzNfY21kcXMgKmNtZHFzO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTc1MC1cdHU2NCBjbWRxX2ZpcnN0X2Jsb2NrX3BhZGRyLCBwZm47XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NzUxOlx0Y29uc3Qgc3RydWN0IGhpbmljM193cSAqd3E7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNzUyLVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy03NTQtXHR3cSA9IFx1MDAyNmNtZHFzLVx1MDAzZWNtZHFbY21kcV9pZF0ud3E7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NzU1Olx0cGZuID0gQ01EUV9QRk4oaGluaWMzX3dxX2dldF9maXJzdF93cWVfcGFnZV9hZGRyKHdxKSk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNzU2LVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy03NjMtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NzY0Olx0aWYgKCFoaW5pYzNfd3FfaXNfMF9sZXZlbF9jbGEod3EpKSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNzY1LVx0XHRjbWRxX2ZpcnN0X2Jsb2NrX3BhZGRyID0gY21kcXMtXHUwMDNld3FfYmxvY2tfcGFkZHI7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTc3Mi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo3NzM6c3RhdGljIGludCBpbml0X2NtZHEoc3RydWN0IGhpbmljM19jbWRxICpjbWRxLCBzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2RldixcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo3NzQ6XHRcdCAgICAgZW51bSBoaW5pYzNfY21kcV90eXBlIHFfdHlwZSlcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy03NzUte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy03OTItXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NzkzOnN0YXRpYyBpbnQgaGluaWMzX3NldF9jbWRxX2N0eHQoc3RydWN0IGhpbmljM19od2RldiAqaHdkZXYsIHU4IGNtZHFfaWQpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNzk0LXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNzk5LVx0Y21kcV9pbml0X3F1ZXVlX2N0eHQoaHdkZXYsIGNtZHFfaWQsIFx1MDAyNmNtZHFfY3R4dC5jdHh0KTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo4MDA6XHRjbWRxX2N0eHQuZnVuY19pZCA9IGhpbmljM19nbG9iYWxfZnVuY19pZChod2Rldik7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtODAxLVx0Y21kcV9jdHh0LmNtZHFfaWQgPSBjbWRxX2lkO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy04MDUtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6ODA2Olx0ZXJyID0gaGluaWMzX3NlbmRfbWJveF90b19tZ210KGh3ZGV2LCBNR01UX01PRF9DT01NLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTgwNy1cdFx0XHRcdCAgICAgICBDT01NX0NNRF9TRVRfQ01EUV9DVFhULCBcdTAwMjZtc2dfcGFyYW1zKTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtODE2LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjgxNzpzdGF0aWMgaW50IGhpbmljM19zZXRfY21kcV9jdHh0cyhzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2RldilcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy04MTgte1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjgxOTpcdHN0cnVjdCBoaW5pYzNfY21kcXMgKmNtZHFzID0gaHdkZXYtXHUwMDNlY21kcXM7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtODIwLVx0dTggY21kcV90eXBlO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy04MjMtXHRmb3IgKGNtZHFfdHlwZSA9IDA7IGNtZHFfdHlwZSBcdTAwM2MgY21kcXMtXHUwMDNlY21kcV9udW07IGNtZHFfdHlwZSYjNDM7JiM0MzspIHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo4MjQ6XHRcdGVyciA9IGhpbmljM19zZXRfY21kcV9jdHh0KGh3ZGV2LCBjbWRxX3R5cGUpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTgyNS1cdFx0aWYgKGVycilcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtODM0LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjgzNTpzdGF0aWMgaW50IGNyZWF0ZV9jbWRxX3dxKHN0cnVjdCBoaW5pYzNfaHdkZXYgKmh3ZGV2LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjgzNjpcdFx0XHQgIHN0cnVjdCBoaW5pYzNfY21kcXMgKmNtZHFzKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTgzNy17XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTg0MS1cdGZvciAoY21kcV90eXBlID0gMDsgY21kcV90eXBlIFx1MDAzYyBjbWRxcy1cdTAwM2VjbWRxX251bTsgY21kcV90eXBlJiM0MzsmIzQzOykge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjg0MjpcdFx0ZXJyID0gaGluaWMzX3dxX2NyZWF0ZShod2RldiwgXHUwMDI2Y21kcXMtXHUwMDNlY21kcVtjbWRxX3R5cGVdLndxLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTg0My1cdFx0XHRcdCAgICAgICBDTURRX0RFUFRILCBDTURRX1dRRUJCX1NJWkUpO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy04NTItXHQgKi9cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo4NTM6XHRpZiAoIWhpbmljM193cV9pc18wX2xldmVsX2NsYShcdTAwMjZjbWRxcy1cdTAwM2VjbWRxW0hJTklDM19DTURRX1NZTkNdLndxKSkge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTg1NC1cdFx0aWYgKGNtZHFzLVx1MDAzZWNtZHFbSElOSUMzX0NNRFFfU1lOQ10ud3EucXBhZ2VzLm51bV9wYWdlcyBcdTAwM2Vcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtODgzLVx0XHRjbWRxX3R5cGUtLTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo4ODQ6XHRcdGhpbmljM193cV9kZXN0cm95KGh3ZGV2LCBcdTAwMjZjbWRxcy1cdTAwM2VjbWRxW2NtZHFfdHlwZV0ud3EpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTg4NS1cdH1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtODg5LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjg5MDpzdGF0aWMgdm9pZCBkZXN0cm95X2NtZHFfd3Eoc3RydWN0IGhpbmljM19od2RldiAqaHdkZXYsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6ODkxOlx0XHRcdCAgICBzdHJ1Y3QgaGluaWMzX2NtZHFzICpjbWRxcylcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy04OTIte1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy04OTktXHRmb3IgKGNtZHFfdHlwZSA9IDA7IGNtZHFfdHlwZSBcdTAwM2MgY21kcXMtXHUwMDNlY21kcV9udW07IGNtZHFfdHlwZSYjNDM7JiM0MzspXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6OTAwOlx0XHRoaW5pYzNfd3FfZGVzdHJveShod2RldiwgXHUwMDI2Y21kcXMtXHUwMDNlY21kcVtjbWRxX3R5cGVdLndxKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy05MDEtfVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTkwMi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo5MDM6c3RhdGljIGludCBpbml0X2NtZHFzKHN0cnVjdCBoaW5pYzNfaHdkZXYgKmh3ZGV2KVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTkwNC17XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6OTA1Olx0c3RydWN0IGhpbmljM19jbWRxcyAqY21kcXM7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtOTA2LVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy05MTQtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6OTE1Olx0Y21kcXMtXHUwMDNlY21kX2J1Zl9wb29sID0gZG1hX3Bvb2xfY3JlYXRlKFwmIzM0O2hpbmljM19jbWRxXCYjMzQ7LCBod2Rldi1cdTAwM2VkZXYsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtOTE2LVx0XHRcdFx0XHQgICAgICBDTURRX0JVRl9TSVpFLCBDTURRX0JVRl9TSVpFLCAwKTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtOTI1LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjkyNjpzdGF0aWMgdm9pZCBjbWRxX2ZsdXNoX3N5bmNfY21kKHN0cnVjdCBoaW5pYzNfY21kcV9jbWRfaW5mbyAqY21kX2luZm8pXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtOTI3LXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtOTQ2LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjk0NzpzdGF0aWMgdm9pZCBoaW5pYzNfY21kcV9mbHVzaF9jbWQoc3RydWN0IGhpbmljM19jbWRxICpjbWRxKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTk0OC17XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6OTQ5Olx0c3RydWN0IGhpbmljM19jbWRxX2NtZF9pbmZvICpjbWRfaW5mbztcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy05NTAtXHR1MTYgY2k7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTk1My1cdHdoaWxlIChjbWRxX3JlYWRfd3FlKFx1MDAyNmNtZHEtXHUwMDNld3EsIFx1MDAyNmNpKSkge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjk1NDpcdFx0aGluaWMzX3dxX3B1dF93cWViYnMoXHUwMDI2Y21kcS1cdTAwM2V3cSwgQ01EUV9XUUVfTlVNX1dRRUJCUyk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtOTU1LVx0XHRjbWRfaW5mbyA9IFx1MDAyNmNtZHEtXHUwMDNlY21kX2luZm9zW2NpXTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtOTYyLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjk2Mzp2b2lkIGhpbmljM19jbWRxX2ZsdXNoX3N5bmNfY21kKHN0cnVjdCBoaW5pYzNfaHdkZXYgKmh3ZGV2KVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTk2NC17XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6OTY1Olx0c3RydWN0IGhpbmljM19jbWRxICpjbWRxO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTk2Ni1cdHUxNiB3cWVfY250LCB3cWVfaWR4LCBpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjk2NzpcdHN0cnVjdCBoaW5pYzNfd3EgKndxO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTk2OC1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtOTcxLVx0d3EgPSBcdTAwMjZjbWRxLVx1MDAzZXdxO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjk3MjpcdHdxZV9jbnQgPSBoaW5pYzNfd3FfZ2V0X3VzZWQod3EpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTk3My1cdGZvciAoaSA9IDA7IGkgXHUwMDNjIHdxZV9jbnQ7IGkmIzQzOyYjNDM7KSB7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTk3OS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo5ODA6c3RhdGljIHZvaWQgaGluaWMzX2NtZHFfcmVzZXRfYWxsX2NtZF9idWYoc3RydWN0IGhpbmljM19jbWRxICpjbWRxKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTk4MS17XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTk4Ny1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo5ODg6aW50IGhpbmljM19yZWluaXRfY21kcV9jdHh0cyhzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2RldilcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy05ODkte1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjk5MDpcdHN0cnVjdCBoaW5pYzNfY21kcXMgKmNtZHFzID0gaHdkZXYtXHUwMDNlY21kcXM7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtOTkxLVx0dTggY21kcV90eXBlO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy05OTMtXHRmb3IgKGNtZHFfdHlwZSA9IDA7IGNtZHFfdHlwZSBcdTAwM2MgY21kcXMtXHUwMDNlY21kcV9udW07IGNtZHFfdHlwZSYjNDM7JiM0MzspIHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo5OTQ6XHRcdGhpbmljM19jbWRxX2ZsdXNoX2NtZChcdTAwMjZjbWRxcy1cdTAwM2VjbWRxW2NtZHFfdHlwZV0pO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjk5NTpcdFx0aGluaWMzX2NtZHFfcmVzZXRfYWxsX2NtZF9idWYoXHUwMDI2Y21kcXMtXHUwMDNlY21kcVtjbWRxX3R5cGVdKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy05OTYtXHRcdGNtZHFzLVx1MDAzZWNtZHFbY21kcV90eXBlXS53cmFwcGVkID0gMTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo5OTc6XHRcdGhpbmljM193cV9yZXNldChcdTAwMjZjbWRxcy1cdTAwM2VjbWRxW2NtZHFfdHlwZV0ud3EpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTk5OC1cdH1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy05OTktXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MTAwMDpcdHJldHVybiBoaW5pYzNfc2V0X2NtZHFfY3R4dHMoaHdkZXYpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEwMDEtfVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEwMDItXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MTAwMzppbnQgaGluaWMzX2NtZHFzX2luaXQoc3RydWN0IGhpbmljM19od2RldiAqaHdkZXYpXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMTAwNC17XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MTAwNTpcdHN0cnVjdCBoaW5pYzNfY21kcXMgKmNtZHFzO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEwMDYtXHR2b2lkIF9faW9tZW0gKmRiX2Jhc2U7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEwMTgtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MTAxOTpcdGVyciA9IGhpbmljM19hbGxvY19kYl9hZGRyKGh3ZGV2LCBcdTAwMjZkYl9iYXNlLCBOVUxMKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xMDIwLVx0aWYgKGVycikge1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xMDM1LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjEwMzY6XHRlcnIgPSBoaW5pYzNfc2V0X2NtZHFfY3R4dHMoaHdkZXYpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEwMzctXHRpZiAoZXJyKVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xMDQ3LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjEwNDg6XHRoaW5pYzNfZnJlZV9kYl9hZGRyKGh3ZGV2LCBjbWRxcy1cdTAwM2VjbWRxc19kYl9iYXNlKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xMDQ5LWVycl9kZXN0cm95X2NtZHFfd3E6XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEwNTctXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MTA1ODp2b2lkIGhpbmljM19jbWRxc19mcmVlKHN0cnVjdCBoaW5pYzNfaHdkZXYgKmh3ZGV2KVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEwNTkte1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjEwNjA6XHRzdHJ1Y3QgaGluaWMzX2NtZHFzICpjbWRxcyA9IGh3ZGV2LVx1MDAzZWNtZHFzO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEwNjEtXHR1OCBjbWRxX3R5cGU7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEwNjUtXHRmb3IgKGNtZHFfdHlwZSA9IDA7IGNtZHFfdHlwZSBcdTAwM2MgY21kcXMtXHUwMDNlY21kcV9udW07IGNtZHFfdHlwZSYjNDM7JiM0MzspIHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzoxMDY2Olx0XHRoaW5pYzNfY21kcV9mbHVzaF9jbWQoXHUwMDI2Y21kcXMtXHUwMDNlY21kcVtjbWRxX3R5cGVdKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzoxMDY3Olx0XHRoaW5pYzNfY21kcV9yZXNldF9hbGxfY21kX2J1ZihcdTAwMjZjbWRxcy1cdTAwM2VjbWRxW2NtZHFfdHlwZV0pO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEwNjgtXHRcdGtmcmVlKGNtZHFzLVx1MDAzZWNtZHFbY21kcV90eXBlXS5jbWRfaW5mb3MpO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xMDcwLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjEwNzE6XHRoaW5pYzNfZnJlZV9kYl9hZGRyKGh3ZGV2LCBjbWRxcy1cdTAwM2VjbWRxc19kYl9iYXNlKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xMDcyLVx0ZGVzdHJveV9jbWRxX3dxKGh3ZGV2LCBjbWRxcyk7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEwNzYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MTA3Nzpib29sIGhpbmljM19jbWRxX2lkbGUoc3RydWN0IGhpbmljM19jbWRxICpjbWRxKVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEwNzgte1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjEwNzk6XHRyZXR1cm4gaGluaWMzX3dxX2dldF91c2VkKFx1MDAyNmNtZHEtXHUwMDNld3EpID09IDA7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMTA4MC19XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oLTgtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6OTojaW5jbHVkZSBcJiMzNDtoaW5pYzNfaHdfaW50Zi5oXCYjMzQ7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTA6I2luY2x1ZGUgXCYjMzQ7aGluaWMzX3dxLmhcJiMzNDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaC0xMS1cbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg9MjU9c3RydWN0IGNtZHFfbGNtZF9idWZkZXNjIHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaDoyNjpcdHN0cnVjdCBoaW5pYzNfc2dlIHNnZTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaC0yNy1cdF9fbGU2NCAgICAgICAgICAgIHJzdmQyO1xuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaD00ND1zdHJ1Y3QgY21kcV9jb21wbGV0aW9uIHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaC00NS1cdHVuaW9uIHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaDo0NjpcdFx0c3RydWN0IGhpbmljM19zZ2UgICAgICAgc2dlO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oLTQ3LVx0XHRzdHJ1Y3QgY21kcV9kaXJlY3RfcmVzcCBkaXJlY3Q7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oPTc1PXN0YXRpY19hc3NlcnQoc2l6ZW9mKHN0cnVjdCBjbWRxX3dxZSkgPT0gNjQpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oLTc2LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjc3OmVudW0gaGluaWMzX2NtZHFfdHlwZSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtNzgtXHRISU5JQzNfQ01EUV9TWU5DICAgICAgPSAwLFxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaC04MS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaDo4MjplbnVtIGhpbmljM19jbWRxX3N0YXR1cyB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtODMtXHRISU5JQzNfQ01EUV9FTkFCTEUgPSBCSVQoMCksXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oLTg1LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjg2OmVudW0gaGluaWMzX2NtZHFfY21kX3R5cGUge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oLTg3LVx0SElOSUMzX0NNRF9UWVBFX05PTkUsXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oLTk1LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjk2OnN0cnVjdCBoaW5pYzNfY21kX2J1ZiB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtOTctXHR2b2lkICAgICAgICpidWY7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oLTEwMi1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaDoxMDM6c3RydWN0IGhpbmljM19jbWRfYnVmX3BhaXIge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjEwNDpcdHN0cnVjdCBoaW5pYzNfY21kX2J1ZiAqaW47XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTA1Olx0c3RydWN0IGhpbmljM19jbWRfYnVmICpvdXQ7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtMTA2LX07XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtMTA3LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjEwODpzdHJ1Y3QgaGluaWMzX2NtZHFfY21kX2luZm8ge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjEwOTpcdGVudW0gaGluaWMzX2NtZHFfY21kX3R5cGUgY21kX3R5cGU7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtMTEwLVx0c3RydWN0IGNvbXBsZXRpb24gICAgICAgICAqZG9uZTtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtMTE1LVx0dTY0ICAgICAgICAgICAgICAgICAgICAgICBjbWRxX21zZ19pZDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaDoxMTY6XHRzdHJ1Y3QgaGluaWMzX2NtZF9idWYgICAgICpidWZfaW47XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTE3Olx0c3RydWN0IGhpbmljM19jbWRfYnVmICAgICAqYnVmX291dDtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaC0xMTgtfTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaC0xMTktXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTIwOnN0cnVjdCBoaW5pYzNfY21kcSB7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTIxOlx0c3RydWN0IGhpbmljM193cSAgICAgICAgICAgIHdxO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjEyMjpcdGVudW0gaGluaWMzX2NtZHFfdHlwZSAgICAgICBjbWRxX3R5cGU7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtMTIzLVx0dTggICAgICAgICAgICAgICAgICAgICAgICAgIHdyYXBwZWQ7XG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oLTEyNS1cdHNwaW5sb2NrX3QgICAgICAgICAgICAgICAgICBjbWRxX2xvY2s7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTI2Olx0c3RydWN0IGhpbmljM19jbWRxX2NtZF9pbmZvICpjbWRfaW5mb3M7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTI3Olx0c3RydWN0IGhpbmljM19od2RldiAgICAgICAgICpod2RldjtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaC0xMjgtfTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaC0xMjktXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTMwOnN0cnVjdCBoaW5pYzNfY21kcXMge1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjEzMTpcdHN0cnVjdCBoaW5pYzNfaHdkZXYgKmh3ZGV2O1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjEzMjpcdHN0cnVjdCBoaW5pYzNfY21kcSAgY21kcVtISU5JQzNfTUFYX0NNRFFfVFlQRVNdO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oLTEzMy1cdHN0cnVjdCBkbWFfcG9vbCAgICAgKmNtZF9idWZfcG9vbDtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtMTQ4LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjE0OTppbnQgaGluaWMzX2NtZHFzX2luaXQoc3RydWN0IGhpbmljM19od2RldiAqaHdkZXYpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjE1MDp2b2lkIGhpbmljM19jbWRxc19mcmVlKHN0cnVjdCBoaW5pYzNfaHdkZXYgKmh3ZGV2KTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaC0xNTEtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTUyOnN0cnVjdCBoaW5pYzNfY21kX2J1ZiAqaGluaWMzX2FsbG9jX2NtZF9idWYoc3RydWN0IGhpbmljM19od2RldiAqaHdkZXYpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjE1Mzp2b2lkIGhpbmljM19mcmVlX2NtZF9idWYoc3RydWN0IGhpbmljM19od2RldiAqaHdkZXYsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTU0Olx0XHRcdCBzdHJ1Y3QgaGluaWMzX2NtZF9idWYgKmNtZF9idWYpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjE1NTp2b2lkIGhpbmljM19jbWRxX2NlcV9oYW5kbGVyKHN0cnVjdCBoaW5pYzNfaHdkZXYgKmh3ZGV2LCBfX2xlMzIgY2VxZV9kYXRhKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaC0xNTYtXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTU3OmludCBoaW5pYzNfY21kX2J1Zl9wYWlyX2luaXQoc3RydWN0IGhpbmljM19od2RldiAqaHdkZXYsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTU4Olx0XHRcdCAgICAgc3RydWN0IGhpbmljM19jbWRfYnVmX3BhaXIgKnBhaXIpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjE1OTp2b2lkIGhpbmljM19jbWRfYnVmX3BhaXJfdW5pbml0KHN0cnVjdCBoaW5pYzNfaHdkZXYgKmh3ZGV2LFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjE2MDpcdFx0XHRcdHN0cnVjdCBoaW5pYzNfY21kX2J1Zl9wYWlyICpwYWlyKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaDoxNjE6aW50IGhpbmljM19jbWRxX2RpcmVjdF9yZXNwKHN0cnVjdCBoaW5pYzNfaHdkZXYgKmh3ZGV2LCB1OCBtb2QsIHU4IGNtZCxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaDoxNjI6XHRcdFx0ICAgIHN0cnVjdCBoaW5pYzNfY21kX2J1ZiAqYnVmX2luLCBfX2xlNjQgKm91dF9wYXJhbSk7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTYzOmludCBoaW5pYzNfY21kcV9kZXRhaWxfcmVzcChzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2RldiwgdTggbW9kLCB1OCBjbWQsXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTY0Olx0XHRcdCAgICBzdHJ1Y3QgaGluaWMzX2NtZF9idWYgKmJ1Zl9pbixcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaDoxNjU6XHRcdFx0ICAgIHN0cnVjdCBoaW5pYzNfY21kX2J1ZiAqYnVmX291dCwgX19sZTY0ICpvdXRfcGFyYW0pO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oLTE2Ni1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaDoxNjc6dm9pZCBoaW5pYzNfY21kcV9mbHVzaF9zeW5jX2NtZChzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2Rldik7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTY4OmludCBoaW5pYzNfcmVpbml0X2NtZHFfY3R4dHMoc3RydWN0IGhpbmljM19od2RldiAqaHdkZXYpO1xuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjE2OTpib29sIGhpbmljM19jbWRxX2lkbGUoc3RydWN0IGhpbmljM19jbWRxICpjbWRxKTtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaC0xNzAtXG4tLVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY29tbW9uLmMtNy1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NvbW1vbi5jOjg6I2luY2x1ZGUgXCYjMzQ7aGluaWMzX2NvbW1vbi5oXCYjMzQ7XG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jb21tb24uYy05LVxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY29tbW9uLmM6MTA6aW50IGhpbmljM19kbWFfemFsbG9jX2NvaGVyZW50X2FsaWduKHN0cnVjdCBkZXZpY2UgKmRldiwgdTMyIHNpemUsIHUzMiBhbGlnbixcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NvbW1vbi5jLTExLVx0XHRcdFx0ICAgICBnZnBfdCBmbGFnLFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY29tbW9uLmM6MTI6XHRcdFx0XHQgICAgIHN0cnVjdCBoaW5pYzNfZG1hX2FkZHJfYWxpZ24gKm1lbV9hbGlnbilcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NvbW1vbi5jLTEzLXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jb21tb24uYy00OC1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NvbW1vbi5jOjQ5OnZvaWQgaGluaWMzX2RtYV9mcmVlX2NvaGVyZW50X2FsaWduKHN0cnVjdCBkZXZpY2UgKmRldixcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NvbW1vbi5jOjUwOlx0XHRcdFx0ICAgIHN0cnVjdCBoaW5pYzNfZG1hX2FkZHJfYWxpZ24gKm1lbV9hbGlnbilcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NvbW1vbi5jLTUxLXtcbi0tXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jb21tb24uYy01NS1cblxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAzIDA0OjIzPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDE5OTA5CgkJCQkJCQlvdXRwdXQ6IDM4CgkJCQkJCQl0aG91Z2h0czogNzgKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGxldCYjMzk7cyBzZWUgd2hhdCB3ZSYjMzk7cmUgZGVhbGluZyB3aXRoIGhlcmUuCgoqKkluaXRpYWwgQXNzZXNzbWVudCBvZiB0aGUgSElOSUMzIENvZGViYXNlKioKCkFscmlnaHQsIEkmIzM5O3ZlIGdvdCBhIGxpc3Qgb2YgZmlsZXMgaW4gZnJvbnQgb2YgbWU6IGBoaW5pYzNfaHdkZXYuY2AsIGBoaW5pYzNfaHdpZi5jYCwgYGhpbmljM19sbGQuY2AsIGBoaW5pYzNfbWFpbi5jYCwgYW5kIGBoaW5pYzNfbmV0ZGV2X29wcy5jYC4gQmFzZWQgb24gdGhvc2UgbmFtZXMsIHRoaXMgbG9va3MgbGlrZSBhIEhJTklDMyBkcml2ZXIsIHdoaWNoIG1ha2VzIHNlbnNlIGdpdmVuIHRoZSBmaWxlIHByZWZpeGVzLiBNeSBpbml0aWFsIGh1bmNoIGlzIHRoYXQgdGhpcyBpcyByZWxhdGVkIHRvIGhhcmR3YXJlIGZvciBuZXR3b3JrIGludGVyZmFjZSBjYXJkLgoKTm93LCB3aGVyZSBkbyBJIHN0YXJ0IG15IGFuYWx5c2lzPyAgR2l2ZW4gdGhvc2UsIG15IGZpcnN0IHN0ZXAgaXMgdG8gZGl2ZSBpbnRvIGBoaW5pYzNfbWFpbi5jYC4gSXQmIzM5O3MgcHJldHR5IGNvbW1vbiBmb3IgdGhlIGBfbWFpbmAgZmlsZSB0byBjb250YWluIHRoZSBjb3JlIGRyaXZlciBlbnRyeSBwb2ludHMgYW5kLCB2ZXJ5IG9mdGVuLCB0aGUgUENJIGRyaXZlciBpbml0aWFsaXphdGlvbi4gSSBuZWVkIHRvIGNvbmZpcm0gd2hldGhlciB0aGlzIGlzIGEgUENJIGRldmljZSBkcml2ZXIgdG8gdW5kZXJzdGFuZCB0aGUgYmFzaWMgc3RydWN0dXJlIG9mIGhvdyB0aGUgaGFyZHdhcmUgZ2V0cyByZWNvZ25pemVkIGFuZCBpbml0aWFsaXplZC4gTGV0JiMzOTtzIHNlZSBpZiB0aGlzIGBfbWFpbmAgZmlsZSBob2xkcyB0aGUga2V5LgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAzIDA0OjIzPC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O3BjaV9kcml2ZXImIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19sbGQuYz00MzY9c3RhdGljIHZvaWQgaGluaWMzX3NodXRkb3duKHN0cnVjdCBwY2lfZGV2ICpwZGV2KVxuLS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2xsZC5jLTQ0NS1cbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2xsZC5jOjQ0NjpzdGF0aWMgc3RydWN0IHBjaV9kcml2ZXIgaGluaWMzX2RyaXZlciA9IHtcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2xsZC5jLTQ0Ny1cdC5uYW1lICAgICAgICAgICAgPSBISU5JQzNfTklDX0RSVl9OQU1FLFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAzIDA0OjIzPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDIwNDI2CgkJCQkJCQlvdXRwdXQ6IDI1CgkJCQkJCQl0aG91Z2h0czogNTA2CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKldvcnRoRnV6emluZyBEZWNpc2lvbiBmb3IgYSBQQ0kgRHJpdmVyKioKCk9rYXksIHNvIHRoaXMgbG9va3MgbGlrZSBhIFBDSSBkcml2ZXIg4oCTIHNwZWNpZmljYWxseSwgdGhlIEh1YXdlaSBJbnRlbGxpZ2VudCBOSUMgKGhpbmljMykuIFJpZ2h0IGF3YXksIG15IHJhZGFyIGdvZXMgdXAuIElzIHRoaXMgYSB2ZW5kb3Itc3BlY2lmaWMgUENJZSBjYXJkIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VPyBZZXMsIHRoYXQmIzM5O3MgZXhhY3RseSB3aGF0IGl0IGlzLiBUaGUgcHJvbXB0IGlzIHZlcnkgY2xlYXI6IGlmIHRoZSBwYXRjaCAqb25seSogaW52b2x2ZXMgY29kZSBpbiBkcml2ZXJzIGZvciBoYXJkd2FyZSBsaWtlIHRoaXMsIHdoaWNoICppc24mIzM5O3QqIGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUsIHRoZW4gYFdvcnRoRnV6emluZ2Agc2hvdWxkIGJlIGBmYWxzZWAuCgpMZXQgbWUgcXVpY2tseSBkb3VibGUtY2hlY2sgdGhhdCBgaGluaWMzYCBpcyAqbm90KiBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLiBDb25maXJtZWQuIEl0JiMzOTtzIGEgdmVuZG9yLXNwZWNpZmljIGNhcmQuIEkgbmVlZCB0byBtYWtlIHN1cmUgSSB1bmRlcnN0YW5kIHRoZSBzY29wZSBvZiB0aGUgcHJvbXB0IHRob3VnaC4gSXQgZXhwbGljaXRseSBjYWxscyBvdXQgU21hcnROSUMgZHJpdmVycy4gSXMgYGhpbmljM2AgYSBTbWFydE5JQz8gSG1tbS4uLiBMZXQmIzM5O3Mgc2VlOiBIdWF3ZWkgKkludGVsbGlnZW50KiBOSUMuIFllcywgdGhhdCBzdWdnZXN0cyBpdC4gSXQgKmlzKiBhIHZlbmRvci1zcGVjaWZpYyBQQ0llIGhhcmR3YXJlIGNhcmQuIEFscmlnaHQsIEkmIzM5O20gbGVhbmluZyB0b3dhcmRzIGBmYWxzZWAgYWxyZWFkeS4KCkkmIzM5O20gcmV0dXJuaW5nIGBXb3J0aEZ1enppbmc9ZmFsc2VgIGJlY2F1c2UgaXQmIzM5O3MgYSB2ZW5kb3Itc3BlY2lmaWMgUENJZSBjYXJkIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLiBUaGF0JiMzOTtzIGEga2V5IHJlcXVpcmVtZW50LgoKTGV0JiMzOTtzIHJldmlldyB0aGUgcHJvbXB0IGFnYWluIGZvciBnb29kIG1lYXN1cmU6ICYjMzQ7UmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWlucyBjb2RlIGluIHZlbmRvci1zcGVjaWZpYyBQQ0llIHN3aXRjaCwgU21hcnROSUMsIG9yIEdQVSBkcml2ZXJzLi4uIHRoYXQgcmVxdWlyZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLiYjMzQ7IE9rYXksIHNvIGBoaW5pYzNgIHNlZW1zIHRvIGZpdCB0aGF0IGRlc2NyaXB0aW9uIHBlcmZlY3RseS4gSXQmIzM5O3MgYSBTbWFydE5JQywgYW5kIGl0JiMzOTtzIG5vdCBlbXVsYXRlZC4gVGhlcmVmb3JlLCB0aGUgYW5zd2VyIGlzIGBmYWxzZWAuCgpOb3csIGxldCYjMzk7cyBzZWUgd2hhdCB0aGUgcGF0Y2ggYWN0dWFsbHkgKmRvZXMqLiBJdCYjMzk7cyBtb2RpZnlpbmcgZnVuY3Rpb25zIGxpa2UgYGhpbmljM19jb25maWd1cmVfcnhxc2AsIGBoaW5pYzNfdHhfY3N1bWAsIGFuZCBgaGluaWMzX3R4X29mZmxvYWRgLiBUaGVzZSBhcmUgKmNsZWFybHkqIGRyaXZlci1zcGVjaWZpYyBmdW5jdGlvbnMgZm9yIHRoaXMgaGFyZHdhcmUuIFRoZSBib3R0b20gbGluZSBpcyB0aGF0IHNpbmNlIGBoaW5pYzNgICppcyogYSBwaHlzaWNhbCBQQ0llIGNhcmQgbm90IGVtdWxhdGVkIGluIFFFTVUsIHRoZXJlIGlzIG5vIHdheSB0byByZWFjaCB0aGVzZSBjb2RlIHBhdGhzIHVzaW5nIHN5emthbGxlciwgb3IgR0NFLgoKRmluYWxseSwganVzdCB0byBiZSBhYnNvbHV0ZWx5IGNlcnRhaW4sIGlzIHRoZXJlIGFueSBwb3NzaWJpbGl0eSBvZiBzb21lICpzb2Z0d2FyZSogZW11bGF0aW9uIGZvciB0aGUgaGluaWMzPyBObywgdGhhdCBpcyBub3QgcG9zc2libGUuIFRoZXJlZm9yZSwgYFdvcnRoRnV6emluZ2Agc2hvdWxkIGJlIGBmYWxzZWAuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OC8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDMgMDQ6MjQ8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPkVycm9yOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bm8gbWF0Y2hlczwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtoaW5pYzMmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDt0b29scy8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7ZXJyb3ImIzM0OzogJiMzNDtubyBtYXRjaGVzJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAzIDA0OjI0PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDIxNDg2CgkJCQkJCQlvdXRwdXQ6IDI1CgkJCQkJCQl0aG91Z2h0czogMTQKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGhlcmUmIzM5O3MgbXkgdGFrZSBvbiB0aG9zZSB0aG91Z2h0cywgZnJhbWVkIGFzIGFuIGV4cGVydCYjMzk7cyBpbnRlcm5hbCBtb25vbG9ndWU6CgoqKk5hdmlnYXRpbmcgdGhlIFRvb2xpbmcgTGFuZHNjYXBlKioKCkFscmlnaHQsIGxldCYjMzk7cyBzZWUuLi4gdGhlIGNvZGUmIzM5O3Mgb3JnYW5pemVkIHdlbGwsIGJ1dCBJJiMzOTttIHRoaW5raW5nIGFib3V0IHRoZSB0ZXN0aW5nIGFuZCBkZWJ1Z2dpbmcgaW5mcmFzdHJ1Y3R1cmUuIEkgaGF2ZW4mIzM5O3Qgc2VlbiBhbnkgbWVudGlvbiBvZiBzb2Z0d2FyZSBlbXVsYXRpb24gZGlyZWN0bHkgaW4gdGhlIGB0b29scy9gIGRpcmVjdG9yeS4gVGhhdCYjMzk7cyBhIGxpdHRsZSBzdXJwcmlzaW5nLCBvciBtYXliZSBJIGFtIG1pc3NpbmcgaXQgLSBpdCYjMzk7cyB3b3J0aCBhIGRvdWJsZS1jaGVjay4gSSYjMzk7bSB3b25kZXJpbmcgaWYgdGhlcmUmIzM5O3MgYSBtb3JlIGFic3RyYWN0IGFwcHJvYWNoIGJlaW5nIHRha2VuLCBvciBpZiBpdCYjMzk7cyBpbnRlZ3JhdGVkIGVsc2V3aGVyZSwgcGVyaGFwcyB1c2luZyBhIGhhcmR3YXJlLWluLXRoZS1sb29wIHN0cmF0ZWd5IHRoYXQmIzM5O3MgZG9jdW1lbnRlZCBvdXRzaWRlIG9mIHRoZSBjb2RlLgoKTm93LCBhIG1vcmUgb2J2aW91cyBxdWVzdGlvbiBhcmlzZXM6IFdoYXQmIzM5O3MgdGhlIHN0b3J5IHdpdGggYERvY3VtZW50YXRpb24vYD8gSSBuZWVkIHRvIGRpZyBpbnRvIHRoYXQgZGlyZWN0b3J5IHNwZWNpZmljYWxseS4gVGhlIGRvY3VtZW50YXRpb24gc2hvdWxkIGJlIHRoZSBzb3VyY2Ugb2YgdHJ1dGggZm9yIHRoZXNlIGtpbmRzIG9mIGRldGFpbHMuIElmIHRoZXJlICppcyogZW11bGF0aW9uIHN1cHBvcnQsIGl0IHNob3VsZCBkZWZpbml0ZWx5IGJlIG1lbnRpb25lZCB0aGVyZSwgZWl0aGVyIGRpcmVjdGx5IGFzIHBhcnQgb2YgYSB0b29sLCBvciBhcyBhIHNldHVwIGRlc2NyaXB0aW9uLiBUaGUgZG9jdW1lbnRhdGlvbiBpcyB0aGUga2V5IGhlcmUuIExldCBtZSBzZWUgd2hhdCYjMzk7cyBpbiB0aGVyZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMDMgMDQ6MjQ8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7aGluaWMzJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7RG9jdW1lbnRhdGlvbi8mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7RG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0LTMtPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q6NDpMaW51eCBrZXJuZWwgZHJpdmVyIGZvciBIdWF3ZWkgRXRoZXJuZXQgRGV2aWNlIERyaXZlciAoaGluaWMzKSBmYW1pbHlcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdC01LT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLS1cbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdD03PU92ZXJ2aWV3XG4tLVxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0LTktXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q6MTA6VGhlIGhpbmljMyBpcyBhIG5ldHdvcmsgaW50ZXJmYWNlIGNhcmQgKE5JQykgZm9yIERhdGEgQ2VudGVyLiBJdCBzdXBwb3J0c1xuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjExOmEgcmFuZ2Ugb2YgbGluay1zcGVlZCBkZXZpY2VzICgxMEdFLCAyNUdFLCAxMDBHRSwgZXRjLikuIFRoZSBoaW5pYzNcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdC0xMi1kZXZpY2VzIGNhbiBoYXZlIG11bHRpcGxlIHBoeXNpY2FsIGZvcm1zOiBMT00gKExhbiBvbiBNb3RoZXJib2FyZCkgTklDLFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0PTEzPVBDSWUgc3RhbmRhcmQgTklDLCBPQ1AgKE9wZW4gQ29tcHV0ZSBQcm9qZWN0KSBOSUMsIGV0Yy5cbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdC0xNC1cbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDoxNTpUaGUgaGluaWMzIGRyaXZlciBzdXBwb3J0cyB0aGUgZm9sbG93aW5nIGZlYXR1cmVzOlxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0LTE2LS0gSVB2NC9JUHY2IFRDUC9VRFAgY2hlY2tzdW0gb2ZmbG9hZFxuLS1cbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdD0yOT1TdXBwb3J0ZWQgUENJIHZlbmRvciBJRC9kZXZpY2UgSURzXG4tLVxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0LTMxLVxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjMyOjE5ZTU6MDIyMiAtIGhpbmljMyBQRi9QUEZcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDozMzoxOWU1OjM3NUYgLSBoaW5pYzMgVkZcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdC0zNC1cbi0tXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q9Mzk9U291cmNlIENvZGUgU3RydWN0dXJlIG9mIEhpbmljMyBEcml2ZXJcbi0tXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3QtNDItPT09PT09PT09PT09PT09PT09PT09PT09ICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDo0MzpoaW5pYzNfcGNpX2lkX3RibC5oICAgICAgIFN1cHBvcnRlZCBkZXZpY2UgSURzXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q6NDQ6aGluaWMzX2h3X2ludGYuaCAgICAgICAgICBJbnRlcmZhY2UgYmV0d2VlbiBIVyBhbmQgZHJpdmVyXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q6NDU6aGluaWMzX3F1ZXVlX2NvbW1vbi5bY2hdICBDb21tb24gc3RydWN0dXJlcyBhbmQgbWV0aG9kcyBmb3IgTklDIHF1ZXVlc1xuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjQ2OmhpbmljM19jb21tb24uW2NoXSAgICAgICAgRW5jYXBzdWxhdGlvbiBvZiBtZW1vcnkgb3BlcmF0aW9ucyBpbiBMaW51eFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjQ3OmhpbmljM19jc3IuaCAgICAgICAgICAgICAgUmVnaXN0ZXIgZGVmaW5pdGlvbnMgaW4gdGhlIEJBUlxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjQ4OmhpbmljM19od2lmLltjaF0gICAgICAgICAgSW50ZXJmYWNlIGZvciBCQVJcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDo0OTpoaW5pYzNfZXFzLltjaF0gICAgICAgICAgIEludGVyZmFjZSBmb3IgQUVRcyBhbmQgQ0VRc1xuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjUwOmhpbmljM19tYm94LltjaF0gICAgICAgICAgSW50ZXJmYWNlIGZvciBtYWlsYm94XG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q6NTE6aGluaWMzX21nbXQuW2NoXSAgICAgICAgICBNYW5hZ2VtZW50IGludGVyZmFjZSBiYXNlZCBvbiBtYWlsYm94IGFuZCBBRVFcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDo1MjpoaW5pYzNfd3EuW2NoXSAgICAgICAgICAgIFdvcmsgcXVldWUgZGF0YSBzdHJ1Y3R1cmVzIGFuZCBpbnRlcmZhY2VcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDo1MzpoaW5pYzNfY21kcS5bY2hdICAgICAgICAgIENvbW1hbmQgcXVldWUgaXMgdXNlZCB0byBwb3N0IGNvbW1hbmQgdG8gSFdcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDo1NDpoaW5pYzNfaHdkZXYuW2NoXSAgICAgICAgIEhXIHN0cnVjdHVyZXMgYW5kIG1ldGhvZHMgYWJzdHJhY3Rpb25zXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q6NTU6aGluaWMzX2xsZC5bY2hdICAgICAgICAgICBBdXhpbGlhcnkgZHJpdmVyIGFkYXB0YXRpb24gbGF5ZXJcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDo1NjpoaW5pYzNfaHdfY29tbS5bY2hdICAgICAgIEludGVyZmFjZSBmb3IgY29tbW9uIEhXIG9wZXJhdGlvbnNcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDo1NzpoaW5pYzNfbWdtdF9pbnRlcmZhY2UuaCAgIEludGVyZmFjZSBiZXR3ZWVuIGZpcm13YXJlIGFuZCBkcml2ZXJcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDo1ODpoaW5pYzNfaHdfY2ZnLltjaF0gICAgICAgIEludGVyZmFjZSBmb3IgSFcgY29uZmlndXJhdGlvblxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjU5OmhpbmljM19pcnEuYyAgICAgICAgICAgICAgSW50ZXJydXB0IHJlcXVlc3RcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDo2MDpoaW5pYzNfbmV0ZGV2X29wcy5jICAgICAgIE9wZXJhdGlvbnMgcmVnaXN0ZXJlZCB0byBMaW51eCBrZXJuZWwgc3RhY2tcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDo2MTpoaW5pYzNfbmljX2Rldi5oICAgICAgICAgIE5JQyBzdHJ1Y3R1cmVzIGFuZCBtZXRob2RzIGFic3RyYWN0aW9uc1xuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjYyOmhpbmljM19tYWluLmMgICAgICAgICAgICAgTWFpbiBMaW51eCBrZXJuZWwgZHJpdmVyXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q6NjM6aGluaWMzX25pY19jZmcuW2NoXSAgICAgICBOSUMgc2VydmljZSBjb25maWd1cmF0aW9uXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q6NjQ6aGluaWMzX25pY19pby5bY2hdICAgICAgICBNYW5hZ2VtZW50IHBsYW5lIGludGVyZmFjZSBmb3IgVFggYW5kIFJYXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q6NjU6aGluaWMzX3Jzcy5bY2hdICAgICAgICAgICBJbnRlcmZhY2UgZm9yIFJlY2VpdmUgU2lkZSBTY2FsaW5nIChSU1MpXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q6NjY6aGluaWMzX3J4LltjaF0gICAgICAgICAgICBJbnRlcmZhY2UgZm9yIHRyYW5zbWl0XG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q6Njc6aGluaWMzX3R4LltjaF0gICAgICAgICAgICBJbnRlcmZhY2UgZm9yIHJlY2VpdmVcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDo2ODpoaW5pYzNfZXRodG9vbC5jICAgICAgICAgIEludGVyZmFjZSBmb3IgZXRodG9vbCBvcGVyYXRpb25zIChvcHMpXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q6Njk6aGluaWMzX2ZpbHRlci5jICAgICAgICAgICBJbnRlcmZhY2UgZm9yIE1BQyBhZGRyZXNzXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3QtNzAtPT09PT09PT09PT09PT09PT09PT09PT09ICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi0tXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q9ODE9RXZlcnkgQUVRIGlzIGFzc29jaWF0ZWQgdG8gYSBkZWRpY2F0ZWQgSVJRLiBBRVEgY2FuIHJlY2VpdmUgbXVsdGlwbGUgdHlwZXNcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDo4MjpvZiBldmVudHMsIGJ1dCBpbiBwcmFjdGljZSB0aGUgaGluaWMzIGRyaXZlciBpZ25vcmVzIGFsbCBldmVudHMgZXhjZXB0IGZvclxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0LTgzLTIgbWFpbGJveCByZWxhdGVkIGV2ZW50cy5cbi0tXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q9ODU9TWFpbGJveFxuLS1cbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdC04Ny1cbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDo4ODpNYWlsYm94IGlzIGEgY29tbXVuaWNhdGlvbiBtZWNoYW5pc20gYmV0d2VlbiB0aGUgaGluaWMzIGRyaXZlciBhbmQgdGhlIEhXLlxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0LTg5LUVhY2ggZGV2aWNlIGhhcyBhbiBpbmRlcGVuZGVudCBtYWlsYm94LiBEcml2ZXIgY2FuIHVzZSB0aGUgbWFpbGJveCB0byBzZW5kXG4tLVxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0PTEwND1ldmVudHMgdGhhdCBhcmUgcmVzcG9uc2VzIHRvIHJlcXVlc3RzIGZyb20gdGhlIGRyaXZlci4gQ0VRIGNhbiByZWNlaXZlXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q6MTA1Om11bHRpcGxlIHR5cGVzIG9mIGV2ZW50cywgYnV0IGluIHByYWN0aWNlIHRoZSBoaW5pYzMgZHJpdmVyIGlnbm9yZXMgYWxsXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3QtMTA2LWV2ZW50cyBleGNlcHQgZm9yIEhJTklDM19DTURRIHRoYXQgcmVwcmVzZW50cyBjb21wbGV0aW9uIG9mIHByZXZpb3VzbHlcbi0tXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaW5kZXgucnN0PTg9Q29udGVudHM6XG4tLVxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2luZGV4LnJzdC0yOS0gICBodWF3ZWkvaGluaWNcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9pbmRleC5yc3Q6MzA6ICAgaHVhd2VpL2hpbmljM1xuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2luZGV4LnJzdC0zMS0gICBpbnRlbC9lMTAwXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTEvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzAzIDA0OjI0PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDIzOTU5CgkJCQkJCQlvdXRwdXQ6IDgxCgkJCQkJCQl0aG91Z2h0czogMjEzCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKldvcnRoRnV6emluZyBEZWNpc2lvbiBmb3IgdGhlIGhpbmljMyBOSUMqKgoKT2theSwgc28gdGhlIGRvY3VtZW50YXRpb24gaXMgY2xlYXI6IHRoZSBgaGluaWMzYCBpcyBhIERhdGEgQ2VudGVyIG5ldHdvcmsgaW50ZXJmYWNlIGNhcmQsIGFuZCBpdCYjMzk7cyBhIHBoeXNpY2FsIGRldmljZS4gSXQgY29tZXMgaW4gZGlmZmVyZW50IHBoeXNpY2FsIGZvcm1zOiBMT00sIFBDSWUsIE9DUCwgdGhlIHVzdWFsIHN1c3BlY3RzLiBTaW5jZSBpdCYjMzk7cyBhIE5JQywgYW5kIHNwZWNpZmljYWxseSAqcmVxdWlyZXMqIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMg4oCTIGFuZCB0aGVzZSBhcmVuJiMzOTt0IHNvbWV0aGluZyBJIGNhbiBlbXVsYXRlIGVmZmVjdGl2ZWx5IGluIGEgc3RhbmRhcmQgUUVNVSBlbnZpcm9ubWVudCDigJMgdGhlbiBJIG5lZWQgdG8gc2V0IGBXb3J0aEZ1enppbmc9ZmFsc2VgLgoKTGV0IG1lIGp1c3QgZG91YmxlLWNoZWNrLCBiZWNhdXNlIEkgd2FudCB0byBiZSAqYWJzb2x1dGVseSogc3VyZS4gVGhlIHByb21wdCBpcyBwcmV0dHkgZXhwbGljaXQ6IGl0IGRpcmVjdHMgbWUgdG8gcmV0dXJuIGBXb3J0aEZ1enppbmc9ZmFsc2VgIGlmIHRoZSBjb2RlIGZhbGxzIHVuZGVyIHRoaXMgY2F0ZWdvcnkgb2YgcmVxdWlyaW5nIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUuIEFuZCB0aGF0JiMzOTtzIGV4YWN0bHkgd2hhdCB3ZSBoYXZlIGhlcmUuIFRoaXMgYGhpbmljM2AgaXMgYSB2ZW5kb3Itc3BlY2lmaWMgTklDIGRyaXZlciB0aGF0IG5lZWRzIHRoZSBwaHlzaWNhbCBoYXJkd2FyZSwgd2hpY2ggbWVhbnMgaXQgZmFsbHMgKnNxdWFyZWx5KiBpbnRvIHRoYXQgZXhjbHVzaW9uYXJ5IGJ1Y2tldC4gVGhlcmVmb3JlLCBJIHdpbGwgcmV0dXJuIGBXb3J0aEZ1enppbmc9ZmFsc2VgLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEyLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8wMyAwNDoyNDwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFtdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBoaW5pYzMgZHJpdmVyIChIdWF3ZWkgSW50ZWxsaWdlbnQgTklDKSwgd2hpY2ggaXMgYSB2ZW5kb3Itc3BlY2lmaWMgUENJZSBoYXJkd2FyZSBjYXJkIGRyaXZlci4gVGhpcyBoYXJkd2FyZSBpcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVSBvciB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgdXNlZCBmb3IgZnV6emluZywgbWFraW5nIHRoZXNlIGNvZGUgcGF0aHMgdW5yZWFjaGFibGUuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyB0aGUgaGluaWMzIGRyaXZlciAoSHVhd2VpIEludGVsbGlnZW50IE5JQyksIHdoaWNoIGlzIGEgdmVuZG9yLXNwZWNpZmljIFBDSWUgaGFyZHdhcmUgY2FyZCBkcml2ZXIuIFRoaXMgaGFyZHdhcmUgaXMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgb3IgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIHVzZWQgZm9yIGZ1enppbmcsIG1ha2luZyB0aGVzZSBjb2RlIHBhdGhzIHVucmVhY2hhYmxlLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8L3Rib2R5PgoJPC90YWJsZT4KCgk8ZGl2IGlkPSJsbG1fc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPkxMTSBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIFRva2VuczwvdGg+CgkJCQkJPHRoPkF2ZyBUb2tlbnM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0ibGxtX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0idG9vbF9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+VG9vbCBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJ0b29sX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0iZHVyYXRpb25fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoJPGRpdiBpZD0idG9rZW5fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vanNhcGkiPjwvc2NyaXB0PgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCWdvb2dsZS5sb2FkKCJ2aXN1YWxpemF0aW9uIiwgIjEiLCB7cGFja2FnZXM6WyJjb3JlY2hhcnQiXX0pOwoJCWdvb2dsZS5zZXRPbkxvYWRDYWxsYmFjayhkcmF3Q2hhcnRzKTsKCgkJZnVuY3Rpb24gZHJhd0NoYXJ0cygpIHsKCQkJY29uc3QgcmF3RGF0YSA9IFt7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAzVDA0OjIzOjQ1LjAxNjUyNTYzMloiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjI2MzkwNDk3Mzk3LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgaGluaWMzIGRyaXZlciAoSHVhd2VpIEludGVsbGlnZW50IE5JQyksIHdoaWNoIGlzIGEgdmVuZG9yLXNwZWNpZmljIFBDSWUgaGFyZHdhcmUgY2FyZCBkcml2ZXIuIFRoaXMgaGFyZHdhcmUgaXMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgb3IgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIHVzZWQgZm9yIGZ1enppbmcsIG1ha2luZyB0aGVzZSBjb2RlIHBhdGhzIHVucmVhY2hhYmxlLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDNUMDQ6MjM6NDUuMDE2NTMyNzgxWiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxMTIxMjI3NTkwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgZWZkZWUyNDNjNTU2NmMzYWMzOWExOGY0MWE5YWU4NjIxNzdiZTMyM1xcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgTW9uIEF1ZyAzIDA0OjIzOjQ0IDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX3J4LmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19yeC5jXFxuaW5kZXggMzA5YWI1OTAxMzc5Ny4uMzg5YjFjMjE1OGJlZSAxMDA2NDRcXG4tLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19yeC5jXFxuKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfcnguY1xcbkBAIC01NDEsNyArNTQxLDcgQEAgaW50IGhpbmljM19jb25maWd1cmVfcnhxcyhzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LCB1MTYgbnVtX3JxLFxcbiBcXHRcXHRycV9hc3NvY2lhdGVfY3FlcyhyeHEpO1xcbiBcXG4gXFx0XFx0cGt0cyA9IGhpbmljM19yeF9maWxsX2J1ZmZlcnMocnhxKTtcXG4tXFx0XFx0aWYgKCFwa3RzKSB7XFxuK1xcdFxcdGlmIChwa3RzIFxcdTAwM2MgcnhxLVxcdTAwM2VxX21hc2spIHtcXG4gXFx0XFx0XFx0bmV0ZGV2X2VycihuZXRkZXYsIFxcXCJGYWlsZWQgdG8gZmlsbCBSeCBidWZmZXJcXFxcblxcXCIpO1xcbiBcXHRcXHRcXHRyZXR1cm4gLUVOT01FTTtcXG4gXFx0XFx0fVxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM190eC5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfdHguY1xcbmluZGV4IDkzMDZiZjAwMjBjYWYuLjUzYzA2NTE5NDEzNmUgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfdHguY1xcbisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX3R4LmNcXG5AQCAtMjYxLDggKzI2MSw3IEBAIHN0YXRpYyBpbnQgaGluaWMzX3R4X2NzdW0oc3RydWN0IGhpbmljM190eHEgKnR4cSwgc3RydWN0IGhpbmljM19zcV90YXNrICp0YXNrLFxcbiBcXHRcXHQgICAgKChzdHJ1Y3QgdWRwaGRyICopc2tiX3RyYW5zcG9ydF9oZWFkZXIoc2tiKSktXFx1MDAzZWRlc3QgIT1cXG4gXFx0XFx0ICAgIFZYTEFOX09GRkxPQURfUE9SVF9MRSkge1xcbiBcXHRcXHRcXHQvKiBVbnN1cHBvcnRlZCB0dW5uZWwgcGFja2V0LCBkaXNhYmxlIGNzdW0gb2ZmbG9hZCAqL1xcbi1cXHRcXHRcXHRza2JfY2hlY2tzdW1faGVscChza2IpO1xcbi1cXHRcXHRcXHRyZXR1cm4gMDtcXG4rXFx0XFx0XFx0cmV0dXJuIHNrYl9jaGVja3N1bV9oZWxwKHNrYik7XFxuIFxcdFxcdH1cXG4gXFx0fVxcbiBcXG5AQCAtNDEyLDYgKzQxMSwxMCBAQCBzdGF0aWMgdTMyIGhpbmljM190eF9vZmZsb2FkKHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBoaW5pYzNfc3FfdGFzayAqdGFzayxcXG4gXFx0XFx0b2ZmbG9hZCB8PSBISU5JQzNfVFhfT0ZGTE9BRF9UU087XFxuIFxcdH0gZWxzZSB7XFxuIFxcdFxcdHRzb19jc19lbiA9IGhpbmljM190eF9jc3VtKHR4cSwgdGFzaywgc2tiKTtcXG4rXFx0XFx0aWYgKHRzb19jc19lbiBcXHUwMDNjIDApIHtcXG4rXFx0XFx0XFx0b2ZmbG9hZCA9IEhJTklDM19UWF9PRkZMT0FEX0lOVkFMSUQ7XFxuK1xcdFxcdFxcdHJldHVybiBvZmZsb2FkO1xcbitcXHRcXHR9XFxuIFxcdFxcdGlmICh0c29fY3NfZW4pXFxuIFxcdFxcdFxcdG9mZmxvYWQgfD0gSElOSUMzX1RYX09GRkxPQURfQ1NVTTtcXG4gXFx0fVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0wM1QwNDoyMzo0Ni4xMzg3NjA4NDJaIiwiU2VxIjoyLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWdlbnQiLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJiZXN0LWV4cGVuc2l2ZSIsIkR1cmF0aW9uIjoyNTI2ODI1MjQ5NywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIGhpbmljMyBkcml2ZXIgKEh1YXdlaSBJbnRlbGxpZ2VudCBOSUMpLCB3aGljaCBpcyBhIHZlbmRvci1zcGVjaWZpYyBQQ0llIGhhcmR3YXJlIGNhcmQgZHJpdmVyLiBUaGlzIGhhcmR3YXJlIGlzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIG9yIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyB1c2VkIGZvciBmdXp6aW5nLCBtYWtpbmcgdGhlc2UgY29kZSBwYXRocyB1bnJlYWNoYWJsZS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbiAgZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuLSBDb2RlIGluIHZlbmRvci1zcGVjaWZpYyBQQ0llIHN3aXRjaCwgU21hcnROSUMsIG9yIEdQVSBkcml2ZXJzIChlLmcuLCBtbHhzdywgcGRzX2NvcmUsIHFlZCxcbiAgaW9uaWMsIGFtZGdwdSkgdGhhdCByZXF1aXJlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuXG4tIERyaXZlciAucmVtb3ZlLCAuc2h1dGRvd24sIG9yIHBjaV91bnJlZ2lzdGVyX2RyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKGUuZy4sIGlnYl9yZW1vdmUpXG4gIHRoYXQgYXJlIGV4ZWN1dGVkIG9ubHkgZHVyaW5nIFBDSSBob3QtdW5wbHVnIG9yIHN5c2ZzIGRyaXZlciB1bmJpbmQgb3BlcmF0aW9ucy5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuICAgUHJlZmVyIG5vbi1zdGF0aWMsIG5vbi1pbmxpbmVkIEFQSSBlbnRyeXBvaW50IGZ1bmN0aW9ucyBvdmVyIGludGVybmFsIHN0YXRpYyBoZWxwZXIgZnVuY3Rpb25zXG4gICAod2hpY2ggYXJlIGlubGluZWQgYnkgdGhlIGNvbXBpbGVyIGFuZCBkbyBub3QgaGF2ZSBkaXN0aW5jdCBzeW1ib2wgYWRkcmVzc2VzKS5cbjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLlxuICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLlxuICAgQWxzbyBjaGVjayBcImRlcGVuZHMgb25cIiBsaW5lcyBpbiBLY29uZmlnIHRvIGluY2x1ZGUgYW55IG5vbi1zdGFuZGFyZCBwYXJlbnQgc3Vic3lzdGVtIGNvbmZpZ3NcbiAgIG5lZWRlZCBmb3IgS2J1aWxkIHRvIGNvbXBpbGUgdGhlIGNvZGUgc3RhdGljYWxseSBpbnRvIHZtbGludXguIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlnc1xuICAgb3V0cHV0IGFycmF5LCBhbmQgRE8gTk9UIGFkZCBhICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IGVmZGVlMjQzYzU1NjZjM2FjMzlhMThmNDFhOWFlODYyMTc3YmUzMjNcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgTW9uIEF1ZyAzIDA0OjIzOjQ0IDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfcnguYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX3J4LmNcbmluZGV4IDMwOWFiNTkwMTM3OTcuLjM4OWIxYzIxNThiZWUgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19yeC5jXG4rKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19yeC5jXG5AQCAtNTQxLDcgKzU0MSw3IEBAIGludCBoaW5pYzNfY29uZmlndXJlX3J4cXMoc3RydWN0IG5ldF9kZXZpY2UgKm5ldGRldiwgdTE2IG51bV9ycSxcbiBcdFx0cnFfYXNzb2NpYXRlX2NxZXMocnhxKTtcbiBcbiBcdFx0cGt0cyA9IGhpbmljM19yeF9maWxsX2J1ZmZlcnMocnhxKTtcbi1cdFx0aWYgKCFwa3RzKSB7XG4rXHRcdGlmIChwa3RzIFx1MDAzYyByeHEtXHUwMDNlcV9tYXNrKSB7XG4gXHRcdFx0bmV0ZGV2X2VycihuZXRkZXYsIFwiRmFpbGVkIHRvIGZpbGwgUnggYnVmZmVyXFxuXCIpO1xuIFx0XHRcdHJldHVybiAtRU5PTUVNO1xuIFx0XHR9XG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfdHguYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX3R4LmNcbmluZGV4IDkzMDZiZjAwMjBjYWYuLjUzYzA2NTE5NDEzNmUgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM190eC5jXG4rKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM190eC5jXG5AQCAtMjYxLDggKzI2MSw3IEBAIHN0YXRpYyBpbnQgaGluaWMzX3R4X2NzdW0oc3RydWN0IGhpbmljM190eHEgKnR4cSwgc3RydWN0IGhpbmljM19zcV90YXNrICp0YXNrLFxuIFx0XHQgICAgKChzdHJ1Y3QgdWRwaGRyICopc2tiX3RyYW5zcG9ydF9oZWFkZXIoc2tiKSktXHUwMDNlZGVzdCAhPVxuIFx0XHQgICAgVlhMQU5fT0ZGTE9BRF9QT1JUX0xFKSB7XG4gXHRcdFx0LyogVW5zdXBwb3J0ZWQgdHVubmVsIHBhY2tldCwgZGlzYWJsZSBjc3VtIG9mZmxvYWQgKi9cbi1cdFx0XHRza2JfY2hlY2tzdW1faGVscChza2IpO1xuLVx0XHRcdHJldHVybiAwO1xuK1x0XHRcdHJldHVybiBza2JfY2hlY2tzdW1faGVscChza2IpO1xuIFx0XHR9XG4gXHR9XG4gXG5AQCAtNDEyLDYgKzQxMSwxMCBAQCBzdGF0aWMgdTMyIGhpbmljM190eF9vZmZsb2FkKHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBoaW5pYzNfc3FfdGFzayAqdGFzayxcbiBcdFx0b2ZmbG9hZCB8PSBISU5JQzNfVFhfT0ZGTE9BRF9UU087XG4gXHR9IGVsc2Uge1xuIFx0XHR0c29fY3NfZW4gPSBoaW5pYzNfdHhfY3N1bSh0eHEsIHRhc2ssIHNrYik7XG4rXHRcdGlmICh0c29fY3NfZW4gXHUwMDNjIDApIHtcbitcdFx0XHRvZmZsb2FkID0gSElOSUMzX1RYX09GRkxPQURfSU5WQUxJRDtcbitcdFx0XHRyZXR1cm4gb2ZmbG9hZDtcbitcdFx0fVxuIFx0XHRpZiAodHNvX2NzX2VuKVxuIFx0XHRcdG9mZmxvYWQgfD0gSElOSUMzX1RYX09GRkxPQURfQ1NVTTtcbiBcdH1cbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAzVDA0OjIzOjQ2LjEzODc2MzE2MloiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjQ2Mzg5OTY0NDEsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIGEgTmV0d29yayBEcml2ZXIgUGF0Y2gqKlxuXG5Pa2F5LCBzbyBJJ20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGFuZCBpdCBzZWVtcyBsaWtlIGl0J3MgdG91Y2hpbmcgYGRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX3J4LmNgIGFuZCBgZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfdHguY2AuIEludGVyZXN0aW5nLiBTcGVjaWZpY2FsbHksIGl0J3MgbW9kaWZ5aW5nIGBoaW5pYzNfY29uZmlndXJlX3J4cXNgIGFuZCB0aGUgYGhpbmljM190eF9jc3VtYCAvIGBoaW5pYzNfdHhfb2ZmbG9hZGAgZnVuY3Rpb25zLiBSaWdodCBhd2F5LCB0aGlzIHRlbGxzIG1lIGl0J3MgZm9yIHRoZSBIdWF3ZWkgSW50ZWxsaWdlbnQgTklDLCB0aGUgYGhpbmljM2AuXG5cblRoZSBuZXh0IHF1ZXN0aW9uIHRoYXQgcG9wcyBpbnRvIG15IGhlYWQgaXMgYWx3YXlzOiBpcyB0aGlzIGFjdHVhbGx5IGZvciBwaHlzaWNhbCBoYXJkd2FyZT8gQW5kIGRvZXMgaXQgd29yayBvciBpcyBpdCBlbXVsYXRlZD8gSHVhd2VpIE5JQ3MgYXJlIHVzdWFsbHkgbm90IGVtdWxhdGVkIGluIFFFTVUsIHNvIHRoYXTigJlzIG15IGluaXRpYWwgYXNzdW1wdGlvbi4gTGV0J3MgY29uZmlybS5cblxuQWgsIGhlcmUncyBhIGhlbHBmdWwgcHJvbXB0LCBcIkNvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLCBpb25pYywgYW1kZ3B1KSB0aGF0IHJlcXVpcmUgcGh5c2ljYWwgUENJZSBoYXJkd2FyZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVVwiLiBSaWdodCwgdGhlIHRleHQgbWVudGlvbnMgdGhhdCB0aGlzIGlzIGZvciBhIHBoeXNpY2FsIGNhcmQhIFNvIGBoaW5pYzNgIGlzIGluZGVlZCBhIHBoeXNpY2FsIFBDSWUgY2FyZC5cblxuTm93IEkgbmVlZCB0byBnbyBkaWdnaW5nIGluIHRoZSBrZXJuZWwgdHJlZSBmb3IgbW9yZSBjb250ZXh0IGFyb3VuZCBgaGluaWMzYCB0byBmdWxseSB1bmRlcnN0YW5kIHdoYXQgdGhpcyBwYXRjaCBpcyBkb2luZyBhbmQgd2h5LlxuXG5cbiIsIklucHV0VG9rZW5zIjoyNTY0LCJPdXRwdXRUb2tlbnMiOjM3LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MjY3LCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDNUMDQ6MjM6NTAuNzc3NzYyMDQzWiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjEzMzQxMDY1MiwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJoaW5pYzNcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiXFxuRnVsbCBvdXRwdXQgaXMgdG9vIGxvbmcsIHNob3dpbmcgNTAwIG91dCBvZiA2NDg5IGxpbmVzLlxcblVzZSBtb3JlIHByZWNpc2UgZXhwcmVzc2lvbiBpZiBwb3NzaWJsZS5cXG5cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL0tjb25maWc9Nj1jb25maWcgSElOSUMzXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL0tjb25maWctMjAtXFx0ICBUbyBjb21waWxlIHRoaXMgZHJpdmVyIGFzIGEgbW9kdWxlLCBjaG9vc2UgTSBoZXJlLlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvS2NvbmZpZzoyMTpcXHQgIFRoZSBtb2R1bGUgd2lsbCBiZSBjYWxsZWQgaGluaWMzLlxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9NYWtlZmlsZS0zLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvTWFrZWZpbGU6NDpvYmotJChDT05GSUdfSElOSUMzKSArPSBoaW5pYzMub1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvTWFrZWZpbGUtNS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL01ha2VmaWxlOjY6aGluaWMzLW9ianMgOj0gaGluaWMzX2NtZHEubyBcXFxcXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9NYWtlZmlsZTo3OlxcdCAgICAgICBoaW5pYzNfY29tbW9uLm8gXFxcXFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvTWFrZWZpbGU6ODpcXHQgICAgICAgaGluaWMzX2Vxcy5vIFxcXFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL01ha2VmaWxlOjk6XFx0ICAgICAgIGhpbmljM19ldGh0b29sLm8gXFxcXFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvTWFrZWZpbGU6MTA6XFx0ICAgICAgIGhpbmljM19maWx0ZXIubyBcXFxcXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9NYWtlZmlsZToxMTpcXHQgICAgICAgaGluaWMzX2h3X2NmZy5vIFxcXFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL01ha2VmaWxlOjEyOlxcdCAgICAgICBoaW5pYzNfaHdfY29tbS5vIFxcXFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL01ha2VmaWxlOjEzOlxcdCAgICAgICBoaW5pYzNfaHdkZXYubyBcXFxcXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9NYWtlZmlsZToxNDpcXHQgICAgICAgaGluaWMzX2h3aWYubyBcXFxcXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9NYWtlZmlsZToxNTpcXHQgICAgICAgaGluaWMzX2lycS5vIFxcXFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL01ha2VmaWxlOjE2OlxcdCAgICAgICBoaW5pYzNfbGxkLm8gXFxcXFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvTWFrZWZpbGU6MTc6XFx0ICAgICAgIGhpbmljM19tYWluLm8gXFxcXFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvTWFrZWZpbGU6MTg6XFx0ICAgICAgIGhpbmljM19tYm94Lm8gXFxcXFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvTWFrZWZpbGU6MTk6XFx0ICAgICAgIGhpbmljM19tZ210Lm8gXFxcXFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvTWFrZWZpbGU6MjA6XFx0ICAgICAgIGhpbmljM19uZXRkZXZfb3BzLm8gXFxcXFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvTWFrZWZpbGU6MjE6XFx0ICAgICAgIGhpbmljM19uaWNfY2ZnLm8gXFxcXFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvTWFrZWZpbGU6MjI6XFx0ICAgICAgIGhpbmljM19uaWNfaW8ubyBcXFxcXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9NYWtlZmlsZToyMzpcXHQgICAgICAgaGluaWMzX3F1ZXVlX2NvbW1vbi5vIFxcXFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL01ha2VmaWxlOjI0OlxcdCAgICAgICBoaW5pYzNfcnNzLm8gXFxcXFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvTWFrZWZpbGU6MjU6XFx0ICAgICAgIGhpbmljM19yeC5vIFxcXFxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL01ha2VmaWxlOjI2OlxcdCAgICAgICBoaW5pYzNfdHgubyBcXFxcXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9NYWtlZmlsZToyNzpcXHQgICAgICAgaGluaWMzX3dxLm9cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy03LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo4OiNpbmNsdWRlIFxcXCJoaW5pYzNfY21kcS5oXFxcIlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo5OiNpbmNsdWRlIFxcXCJoaW5pYzNfZXFzLmhcXFwiXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjEwOiNpbmNsdWRlIFxcXCJoaW5pYzNfaHdkZXYuaFxcXCJcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MTE6I2luY2x1ZGUgXFxcImhpbmljM19od2lmLmhcXFwiXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjEyOiNpbmNsdWRlIFxcXCJoaW5pYzNfbWJveC5oXFxcIlxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xMy1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYz0xMTI9ZW51bSBjbWRxX2NtZF90eXBlIHtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xMTgtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjExOTpzdGF0aWMgdm9pZCBoaW5pYzNfZHVtcF9jbWRxX3dxZV9oZWFkKHN0cnVjdCBoaW5pYzNfaHdkZXYgKmh3ZGV2LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xMjAtXFx0XFx0XFx0XFx0ICAgICAgc3RydWN0IGNtZHFfd3FlICp3cWUpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMTMyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzoxMzM6c3RhdGljIHN0cnVjdCBjbWRxX3dxZSAqY21kcV9yZWFkX3dxZShzdHJ1Y3QgaGluaWMzX3dxICp3cSwgdTE2ICpjaSlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMTM0LXtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MTM1OlxcdGlmIChoaW5pYzNfd3FfZ2V0X3VzZWQod3EpID09IDApXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEzNi1cXHRcXHRyZXR1cm4gTlVMTDtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xNDItXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjE0MzpzdHJ1Y3QgaGluaWMzX2NtZF9idWYgKmhpbmljM19hbGxvY19jbWRfYnVmKHN0cnVjdCBoaW5pYzNfaHdkZXYgKmh3ZGV2KVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xNDQte1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzoxNDU6XFx0c3RydWN0IGhpbmljM19jbWRfYnVmICpjbWRfYnVmO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzoxNDY6XFx0c3RydWN0IGhpbmljM19jbWRxcyAqY21kcXM7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTE0Ny1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xNzEtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjE3Mjp2b2lkIGhpbmljM19mcmVlX2NtZF9idWYoc3RydWN0IGhpbmljM19od2RldiAqaHdkZXYsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjE3MzpcXHRcXHRcXHQgc3RydWN0IGhpbmljM19jbWRfYnVmICpjbWRfYnVmKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xNzQte1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzoxNzU6XFx0c3RydWN0IGhpbmljM19jbWRxcyAqY21kcXM7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTE3Ni1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xODUtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjE4NjpzdGF0aWMgdm9pZCBjbWRxX2NsZWFyX2NtZF9idWYoc3RydWN0IGhpbmljM19jbWRxX2NtZF9pbmZvICpjbWRfaW5mbyxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MTg3OlxcdFxcdFxcdCAgICAgICBzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2RldilcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMTg4LXtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMTg5LVxcdGlmIChjbWRfaW5mby1cXHUwMDNlYnVmX2luKSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjE5MDpcXHRcXHRoaW5pYzNfZnJlZV9jbWRfYnVmKGh3ZGV2LCBjbWRfaW5mby1cXHUwMDNlYnVmX2luKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMTkxLVxcdFxcdGNtZF9pbmZvLVxcdTAwM2VidWZfaW4gPSBOVUxMO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTE5NC1cXHRpZiAoY21kX2luZm8tXFx1MDAzZWJ1Zl9vdXQpIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MTk1OlxcdFxcdGhpbmljM19mcmVlX2NtZF9idWYoaHdkZXYsIGNtZF9pbmZvLVxcdTAwM2VidWZfb3V0KTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMTk2LVxcdFxcdGNtZF9pbmZvLVxcdTAwM2VidWZfb3V0ID0gTlVMTDtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xOTktXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjIwMDpzdGF0aWMgdm9pZCBjbGVhcl93cWVfY29tcGxldGVfYml0KHN0cnVjdCBoaW5pYzNfY21kcSAqY21kcSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMjAxLVxcdFxcdFxcdFxcdCAgIHN0cnVjdCBjbWRxX3dxZSAqd3FlLCB1MTYgY2kpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMjE3LVxcdHdtYigpOyAvKiB2ZXJpZnkgd3FlIGlzIGNsZWFyIGJlZm9yZSB1cGRhdGluZyBjaSAqL1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzoyMTg6XFx0aGluaWMzX3dxX3B1dF93cWViYnMoXFx1MDAyNmNtZHEtXFx1MDAzZXdxLCBDTURRX1dRRV9OVU1fV1FFQkJTKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMjE5LX1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMjIwLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzoyMjE6c3RhdGljIGludCBjbWRxX2FybV9jZXFfaGFuZGxlcihzdHJ1Y3QgaGluaWMzX2NtZHEgKmNtZHEsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTIyMi1cXHRcXHRcXHRcXHRzdHJ1Y3QgY21kcV93cWUgKndxZSwgdTE2IGNpKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTIzNC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MjM1OnN0YXRpYyB2b2lkIGNtZHFfdXBkYXRlX2NtZF9zdGF0dXMoc3RydWN0IGhpbmljM19jbWRxICpjbWRxLCB1MTYgcHJvZF9pZHgsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTIzNi1cXHRcXHRcXHRcXHQgICBzdHJ1Y3QgY21kcV93cWUgKndxZSlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMjM3LXtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MjM4OlxcdHN0cnVjdCBoaW5pYzNfY21kcV9jbWRfaW5mbyAqY21kX2luZm87XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTIzOS1cXHRzdHJ1Y3QgY21kcV93cWVfbGNtZCAqd3FlX2xjbWQ7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMjUyLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzoyNTM6c3RhdGljIHZvaWQgY21kcV9zeW5jX2NtZF9oYW5kbGVyKHN0cnVjdCBoaW5pYzNfY21kcSAqY21kcSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMjU0LVxcdFxcdFxcdFxcdCAgc3RydWN0IGNtZHFfd3FlICp3cWUsIHUxNiBjaSlcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0yNzQtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjI3NTp2b2lkIGhpbmljM19jbWRxX2NlcV9oYW5kbGVyKHN0cnVjdCBoaW5pYzNfaHdkZXYgKmh3ZGV2LCBfX2xlMzIgY2VxZV9kYXRhKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0yNzYte1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzoyNzc6XFx0ZW51bSBoaW5pYzNfY21kcV90eXBlIGNtZHFfdHlwZSA9IENNRFFfQ0VRRV9HRVQoY2VxZV9kYXRhLCBUWVBFKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6Mjc4OlxcdHN0cnVjdCBoaW5pYzNfY21kcXMgKmNtZHFzID0gaHdkZXYtXFx1MDAzZWNtZHFzO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzoyNzk6XFx0c3RydWN0IGhpbmljM19jbWRxX2NtZF9pbmZvICpjbWRfaW5mbztcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMjgwLVxcdHN0cnVjdCBjbWRxX3dxZV9sY21kICp3cWVfbGNtZDtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MjgxOlxcdHN0cnVjdCBoaW5pYzNfY21kcSAqY21kcTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMjgyLVxcdHN0cnVjdCBjbWRxX3dxZSAqd3FlO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTI5Ny1cXHRcXHRcXHRcXHQgY21kcV90eXBlLCBjaSk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjI5ODpcXHRcXHRcXHRoaW5pYzNfZHVtcF9jbWRxX3dxZV9oZWFkKGh3ZGV2LCB3cWUpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0yOTktXFx0XFx0XFx0ZmFsbHRocm91Z2g7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMzM0LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzozMzU6c3RhdGljIGludCBjbWRxX3BhcmFtc192YWxpZChjb25zdCBzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2RldixcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MzM2OlxcdFxcdFxcdCAgICAgY29uc3Qgc3RydWN0IGhpbmljM19jbWRfYnVmICpidWZfaW4pXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTMzNy17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMzQ2LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzozNDc6c3RhdGljIGludCB3YWl0X2NtZHFzX2VuYWJsZShzdHJ1Y3QgaGluaWMzX2NtZHFzICpjbWRxcylcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMzQ4LXtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYz0zNjQ9c3RhdGljIHZvaWQgY21kcV9zZXRfY29tcGxldGlvbihzdHJ1Y3QgY21kcV9jb21wbGV0aW9uICpjb21wbGV0ZSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MzY1OlxcdFxcdFxcdFxcdHN0cnVjdCBoaW5pYzNfY21kX2J1ZiAqYnVmX291dClcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMzY2LXtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MzY3OlxcdHN0cnVjdCBoaW5pYzNfc2dlICpzZ2UgPSBcXHUwMDI2Y29tcGxldGUtXFx1MDAzZXJlc3Auc2dlO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0zNjgtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjM2OTpcXHRoaW5pYzNfc2V0X3NnZShzZ2UsIGJ1Zl9vdXQtXFx1MDAzZWRtYV9hZGRyLCBjcHVfdG9fbGUzMihDTURRX0JVRl9TSVpFKSk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTM3MC19XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTM3MS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MzcyOnN0YXRpYyBzdHJ1Y3QgY21kcV93cWUgKmNtZHFfZ2V0X3dxZShzdHJ1Y3QgaGluaWMzX3dxICp3cSwgdTE2ICpwaSlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMzczLXtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6Mzc0OlxcdGlmICghaGluaWMzX3dxX2ZyZWVfd3FlYmJzKHdxKSlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMzc1LVxcdFxcdHJldHVybiBOVUxMO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0zNzYtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjM3NzpcXHRyZXR1cm4gaGluaWMzX3dxX2dldF9vbmVfd3FlYmIod3EsIHBpKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMzc4LX1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYz0zODA9c3RhdGljIHZvaWQgY21kcV9zZXRfbGNtZF9idWZkZXNjKHN0cnVjdCBjbWRxX3dxZV9sY21kICp3cWUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjM4MTpcXHRcXHRcXHRcXHQgIHN0cnVjdCBoaW5pYzNfY21kX2J1ZiAqYnVmX2luKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0zODIte1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzozODM6XFx0aGluaWMzX3NldF9zZ2UoXFx1MDAyNndxZS1cXHUwMDNlYnVmX2Rlc2Muc2dlLCBidWZfaW4tXFx1MDAzZWRtYV9hZGRyLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0zODQtXFx0XFx0ICAgICAgIChfX2ZvcmNlIF9fbGUzMilidWZfaW4tXFx1MDAzZXNpemUpO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTM4Ni1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6Mzg3OnN0YXRpYyB2b2lkIGNtZHFfc2V0X2RiKHN0cnVjdCBoaW5pYzNfY21kcSAqY21kcSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6Mzg4OlxcdFxcdFxcdGVudW0gaGluaWMzX2NtZHFfdHlwZSBjbWRxX3R5cGUsIHUxNiBwcm9kX2lkeClcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMzg5LXtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYz00NTk9c3RhdGljIHZvaWQgY21kcV9zZXRfbGNtZF93cWUoc3RydWN0IGNtZHFfd3FlICp3cWUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTQ2MC1cXHRcXHRcXHQgICAgICBlbnVtIGNtZHFfY21kX3R5cGUgY21kX3R5cGUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjQ2MTpcXHRcXHRcXHQgICAgICBzdHJ1Y3QgaGluaWMzX2NtZF9idWYgKmJ1Zl9pbixcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NDYyOlxcdFxcdFxcdCAgICAgIHN0cnVjdCBoaW5pYzNfY21kX2J1ZiAqYnVmX291dCxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNDYzLVxcdFxcdFxcdCAgICAgIHU4IHdyYXBwZWQsIHU4IG1vZCwgdTggY21kLCB1MTYgcHJvZF9pZHgpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNDg0LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo0ODU6c3RhdGljIGludCBoaW5pYzNfY21kcV9zeW5jX3RpbWVvdXRfY2hlY2soc3RydWN0IGhpbmljM19jbWRxICpjbWRxLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy00ODYtXFx0XFx0XFx0XFx0XFx0ICBzdHJ1Y3QgY21kcV93cWUgKndxZSwgdTE2IHBpKVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTUwMy1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NTA0OnN0YXRpYyB2b2lkIGNsZWFyX2NtZF9pbmZvKHN0cnVjdCBoaW5pYzNfY21kcV9jbWRfaW5mbyAqY21kX2luZm8sXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjUwNTpcXHRcXHRcXHQgICBjb25zdCBzdHJ1Y3QgaGluaWMzX2NtZHFfY21kX2luZm8gKnNhdmVkX2NtZF9pbmZvKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy01MDYte1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTUxNi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NTE3OnN0YXRpYyBpbnQgd2FpdF9jbWRxX3N5bmNfY21kX2NvbXBsZXRpb24oc3RydWN0IGhpbmljM19jbWRxICpjbWRxLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo1MTg6XFx0XFx0XFx0XFx0XFx0IHN0cnVjdCBoaW5pYzNfY21kcV9jbWRfaW5mbyAqY21kX2luZm8sXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjUxOTpcXHRcXHRcXHRcXHRcXHQgc3RydWN0IGhpbmljM19jbWRxX2NtZF9pbmZvICpzYXZlZF9jbWRfaW5mbyxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNTIwLVxcdFxcdFxcdFxcdFxcdCB1NjQgY3Vycl9tc2dfaWQsIHUxNiBjdXJyX3Byb2RfaWR4LFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTU0MC1cXHRpZiAoY3Vycl9tc2dfaWQgPT0gY21kX2luZm8tXFx1MDAzZWNtZHFfbXNnX2lkKSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjU0MTpcXHRcXHRlcnIgPSBoaW5pYzNfY21kcV9zeW5jX3RpbWVvdXRfY2hlY2soY21kcSwgY3Vycl93cWUsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTU0Mi1cXHRcXHRcXHRcXHRcXHRcXHQgICAgIGN1cnJfcHJvZF9pZHgpO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTU1NS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NTU2OlxcdGhpbmljM19kdW1wX2NlcV9pbmZvKGNtZHEtXFx1MDAzZWh3ZGV2KTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNTU3LVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTU2MC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NTYxOnN0YXRpYyBpbnQgY21kcV9zeW5jX2NtZF9leGVjKHN0cnVjdCBoaW5pYzNfY21kcSAqY21kcSwgdTggbW9kLCB1OCBjbWQsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjU2MjpcXHRcXHRcXHQgICAgICBzdHJ1Y3QgaGluaWMzX2NtZF9idWYgKmJ1Zl9pbixcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NTYzOlxcdFxcdFxcdCAgICAgIHN0cnVjdCBoaW5pYzNfY21kX2J1ZiAqYnVmX291dCxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNTY0LVxcdFxcdFxcdCAgICAgIF9fbGU2NCAqb3V0X3BhcmFtLCB1OCBjbWRfdHlwZSwgdTggd3FlX2NtZClcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNTY1LXtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NTY2OlxcdHN0cnVjdCBoaW5pYzNfY21kcV9jbWRfaW5mbyAqY21kX2luZm8sIHNhdmVkX2NtZF9pbmZvO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy01NjctXFx0aW50IGNtcHRfY29kZSA9IENNRFFfU0VORF9DTVBUX0NPREU7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTU2OC1cXHRzdHJ1Y3QgY21kcV93cWUgKmN1cnJfd3FlLCB3cWUgPSB7fTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NTY5OlxcdHN0cnVjdCBoaW5pYzNfd3EgKndxID0gXFx1MDAyNmNtZHEtXFx1MDAzZXdxO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy01NzAtXFx0dTE2IGN1cnJfcHJvZF9pZHgsIG5leHRfcHJvZF9pZHg7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNjM0LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo2MzU6c3RhdGljIGludCBjbWRxX3N5bmNfY21kX2RpcmVjdF9yZXNwKHN0cnVjdCBoaW5pYzNfY21kcSAqY21kcSwgdTggbW9kLCB1OCBjbWQsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjYzNjpcXHRcXHRcXHRcXHQgICAgIHN0cnVjdCBoaW5pYzNfY21kX2J1ZiAqYnVmX2luLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy02MzctXFx0XFx0XFx0XFx0ICAgICBfX2xlNjQgKm91dF9wYXJhbSlcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy02NDMtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjY0NDpzdGF0aWMgaW50IGNtZHFfc3luY19jbWRfZGV0YWlsX3Jlc3Aoc3RydWN0IGhpbmljM19jbWRxICpjbWRxLCB1OCBtb2QsIHU4IGNtZCxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NjQ1OlxcdFxcdFxcdFxcdCAgICAgc3RydWN0IGhpbmljM19jbWRfYnVmICpidWZfaW4sXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjY0NjpcXHRcXHRcXHRcXHQgICAgIHN0cnVjdCBoaW5pYzNfY21kX2J1ZiAqYnVmX291dCxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNjQ3LVxcdFxcdFxcdFxcdCAgICAgX19sZTY0ICpvdXRfcGFyYW0pXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNjUzLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo2NTQ6aW50IGhpbmljM19jbWRfYnVmX3BhaXJfaW5pdChzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2RldixcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NjU1OlxcdFxcdFxcdCAgICAgc3RydWN0IGhpbmljM19jbWRfYnVmX3BhaXIgKnBhaXIpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTY1Ni17XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjY1NzpcXHRwYWlyLVxcdTAwM2VpbiA9IGhpbmljM19hbGxvY19jbWRfYnVmKGh3ZGV2KTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNjU4LVxcdGlmICghcGFpci1cXHUwMDNlaW4pXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNjYwLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo2NjE6XFx0cGFpci1cXHUwMDNlb3V0ID0gaGluaWMzX2FsbG9jX2NtZF9idWYoaHdkZXYpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy02NjItXFx0aWYgKCFwYWlyLVxcdTAwM2VvdXQpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNjY3LWVycl9mcmVlX2NtZF9idWZfaW46XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjY2ODpcXHRoaW5pYzNfZnJlZV9jbWRfYnVmKGh3ZGV2LCBwYWlyLVxcdTAwM2Vpbik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTY2OS1lcnJfb3V0Olxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTY3Mi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NjczOnZvaWQgaGluaWMzX2NtZF9idWZfcGFpcl91bmluaXQoc3RydWN0IGhpbmljM19od2RldiAqaHdkZXYsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjY3NDpcXHRcXHRcXHRcXHRzdHJ1Y3QgaGluaWMzX2NtZF9idWZfcGFpciAqcGFpcilcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNjc1LXtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6Njc2OlxcdGhpbmljM19mcmVlX2NtZF9idWYoaHdkZXYsIHBhaXItXFx1MDAzZWluKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6Njc3OlxcdGhpbmljM19mcmVlX2NtZF9idWYoaHdkZXYsIHBhaXItXFx1MDAzZW91dCk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTY3OC19XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTY3OS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NjgwOmludCBoaW5pYzNfY21kcV9kaXJlY3RfcmVzcChzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2RldiwgdTggbW9kLCB1OCBjbWQsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjY4MTpcXHRcXHRcXHQgICAgc3RydWN0IGhpbmljM19jbWRfYnVmICpidWZfaW4sIF9fbGU2NCAqb3V0X3BhcmFtKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy02ODIte1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo2ODM6XFx0c3RydWN0IGhpbmljM19jbWRxcyAqY21kcXM7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTY4NC1cXHRpbnQgZXJyO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTcxMi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NzEzOmludCBoaW5pYzNfY21kcV9kZXRhaWxfcmVzcChzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2RldiwgdTggbW9kLCB1OCBjbWQsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjcxNDpcXHRcXHRcXHQgICAgc3RydWN0IGhpbmljM19jbWRfYnVmICpidWZfaW4sXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjcxNTpcXHRcXHRcXHQgICAgc3RydWN0IGhpbmljM19jbWRfYnVmICpidWZfb3V0LCBfX2xlNjQgKm91dF9wYXJhbSlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNzE2LXtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NzE3OlxcdHN0cnVjdCBoaW5pYzNfY21kcXMgKmNtZHFzO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy03MTgtXFx0aW50IGVycjtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy03NDUtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjc0NjpzdGF0aWMgdm9pZCBjbWRxX2luaXRfcXVldWVfY3R4dChzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2RldiwgdTggY21kcV9pZCxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNzQ3LVxcdFxcdFxcdFxcdCBzdHJ1Y3QgY29tbV9jbWRxX2N0eHRfaW5mbyAqY3R4dF9pbmZvKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy03NDgte1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo3NDk6XFx0Y29uc3Qgc3RydWN0IGhpbmljM19jbWRxcyAqY21kcXM7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTc1MC1cXHR1NjQgY21kcV9maXJzdF9ibG9ja19wYWRkciwgcGZuO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo3NTE6XFx0Y29uc3Qgc3RydWN0IGhpbmljM193cSAqd3E7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTc1Mi1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy03NTQtXFx0d3EgPSBcXHUwMDI2Y21kcXMtXFx1MDAzZWNtZHFbY21kcV9pZF0ud3E7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjc1NTpcXHRwZm4gPSBDTURRX1BGTihoaW5pYzNfd3FfZ2V0X2ZpcnN0X3dxZV9wYWdlX2FkZHIod3EpKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNzU2LVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTc2My1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NzY0OlxcdGlmICghaGluaWMzX3dxX2lzXzBfbGV2ZWxfY2xhKHdxKSkge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy03NjUtXFx0XFx0Y21kcV9maXJzdF9ibG9ja19wYWRkciA9IGNtZHFzLVxcdTAwM2V3cV9ibG9ja19wYWRkcjtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy03NzItXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjc3MzpzdGF0aWMgaW50IGluaXRfY21kcShzdHJ1Y3QgaGluaWMzX2NtZHEgKmNtZHEsIHN0cnVjdCBoaW5pYzNfaHdkZXYgKmh3ZGV2LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo3NzQ6XFx0XFx0ICAgICBlbnVtIGhpbmljM19jbWRxX3R5cGUgcV90eXBlKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy03NzUte1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTc5Mi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6NzkzOnN0YXRpYyBpbnQgaGluaWMzX3NldF9jbWRxX2N0eHQoc3RydWN0IGhpbmljM19od2RldiAqaHdkZXYsIHU4IGNtZHFfaWQpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTc5NC17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtNzk5LVxcdGNtZHFfaW5pdF9xdWV1ZV9jdHh0KGh3ZGV2LCBjbWRxX2lkLCBcXHUwMDI2Y21kcV9jdHh0LmN0eHQpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo4MDA6XFx0Y21kcV9jdHh0LmZ1bmNfaWQgPSBoaW5pYzNfZ2xvYmFsX2Z1bmNfaWQoaHdkZXYpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy04MDEtXFx0Y21kcV9jdHh0LmNtZHFfaWQgPSBjbWRxX2lkO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTgwNS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6ODA2OlxcdGVyciA9IGhpbmljM19zZW5kX21ib3hfdG9fbWdtdChod2RldiwgTUdNVF9NT0RfQ09NTSxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtODA3LVxcdFxcdFxcdFxcdCAgICAgICBDT01NX0NNRF9TRVRfQ01EUV9DVFhULCBcXHUwMDI2bXNnX3BhcmFtcyk7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtODE2LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo4MTc6c3RhdGljIGludCBoaW5pYzNfc2V0X2NtZHFfY3R4dHMoc3RydWN0IGhpbmljM19od2RldiAqaHdkZXYpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTgxOC17XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjgxOTpcXHRzdHJ1Y3QgaGluaWMzX2NtZHFzICpjbWRxcyA9IGh3ZGV2LVxcdTAwM2VjbWRxcztcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtODIwLVxcdHU4IGNtZHFfdHlwZTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy04MjMtXFx0Zm9yIChjbWRxX3R5cGUgPSAwOyBjbWRxX3R5cGUgXFx1MDAzYyBjbWRxcy1cXHUwMDNlY21kcV9udW07IGNtZHFfdHlwZSsrKSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjgyNDpcXHRcXHRlcnIgPSBoaW5pYzNfc2V0X2NtZHFfY3R4dChod2RldiwgY21kcV90eXBlKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtODI1LVxcdFxcdGlmIChlcnIpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtODM0LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo4MzU6c3RhdGljIGludCBjcmVhdGVfY21kcV93cShzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2RldixcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6ODM2OlxcdFxcdFxcdCAgc3RydWN0IGhpbmljM19jbWRxcyAqY21kcXMpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTgzNy17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtODQxLVxcdGZvciAoY21kcV90eXBlID0gMDsgY21kcV90eXBlIFxcdTAwM2MgY21kcXMtXFx1MDAzZWNtZHFfbnVtOyBjbWRxX3R5cGUrKykge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo4NDI6XFx0XFx0ZXJyID0gaGluaWMzX3dxX2NyZWF0ZShod2RldiwgXFx1MDAyNmNtZHFzLVxcdTAwM2VjbWRxW2NtZHFfdHlwZV0ud3EsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTg0My1cXHRcXHRcXHRcXHQgICAgICAgQ01EUV9ERVBUSCwgQ01EUV9XUUVCQl9TSVpFKTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy04NTItXFx0ICovXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjg1MzpcXHRpZiAoIWhpbmljM193cV9pc18wX2xldmVsX2NsYShcXHUwMDI2Y21kcXMtXFx1MDAzZWNtZHFbSElOSUMzX0NNRFFfU1lOQ10ud3EpKSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTg1NC1cXHRcXHRpZiAoY21kcXMtXFx1MDAzZWNtZHFbSElOSUMzX0NNRFFfU1lOQ10ud3EucXBhZ2VzLm51bV9wYWdlcyBcXHUwMDNlXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtODgzLVxcdFxcdGNtZHFfdHlwZS0tO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo4ODQ6XFx0XFx0aGluaWMzX3dxX2Rlc3Ryb3koaHdkZXYsIFxcdTAwMjZjbWRxcy1cXHUwMDNlY21kcVtjbWRxX3R5cGVdLndxKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtODg1LVxcdH1cXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy04ODktXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjg5MDpzdGF0aWMgdm9pZCBkZXN0cm95X2NtZHFfd3Eoc3RydWN0IGhpbmljM19od2RldiAqaHdkZXYsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjg5MTpcXHRcXHRcXHQgICAgc3RydWN0IGhpbmljM19jbWRxcyAqY21kcXMpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTg5Mi17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtODk5LVxcdGZvciAoY21kcV90eXBlID0gMDsgY21kcV90eXBlIFxcdTAwM2MgY21kcXMtXFx1MDAzZWNtZHFfbnVtOyBjbWRxX3R5cGUrKylcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6OTAwOlxcdFxcdGhpbmljM193cV9kZXN0cm95KGh3ZGV2LCBcXHUwMDI2Y21kcXMtXFx1MDAzZWNtZHFbY21kcV90eXBlXS53cSk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTkwMS19XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTkwMi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6OTAzOnN0YXRpYyBpbnQgaW5pdF9jbWRxcyhzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2RldilcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtOTA0LXtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6OTA1OlxcdHN0cnVjdCBoaW5pYzNfY21kcXMgKmNtZHFzO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy05MDYtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtOTE0LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo5MTU6XFx0Y21kcXMtXFx1MDAzZWNtZF9idWZfcG9vbCA9IGRtYV9wb29sX2NyZWF0ZShcXFwiaGluaWMzX2NtZHFcXFwiLCBod2Rldi1cXHUwMDNlZGV2LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy05MTYtXFx0XFx0XFx0XFx0XFx0ICAgICAgQ01EUV9CVUZfU0laRSwgQ01EUV9CVUZfU0laRSwgMCk7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtOTI1LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo5MjY6c3RhdGljIHZvaWQgY21kcV9mbHVzaF9zeW5jX2NtZChzdHJ1Y3QgaGluaWMzX2NtZHFfY21kX2luZm8gKmNtZF9pbmZvKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy05Mjcte1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTk0Ni1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6OTQ3OnN0YXRpYyB2b2lkIGhpbmljM19jbWRxX2ZsdXNoX2NtZChzdHJ1Y3QgaGluaWMzX2NtZHEgKmNtZHEpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTk0OC17XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjk0OTpcXHRzdHJ1Y3QgaGluaWMzX2NtZHFfY21kX2luZm8gKmNtZF9pbmZvO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy05NTAtXFx0dTE2IGNpO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTk1My1cXHR3aGlsZSAoY21kcV9yZWFkX3dxZShcXHUwMDI2Y21kcS1cXHUwMDNld3EsIFxcdTAwMjZjaSkpIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6OTU0OlxcdFxcdGhpbmljM193cV9wdXRfd3FlYmJzKFxcdTAwMjZjbWRxLVxcdTAwM2V3cSwgQ01EUV9XUUVfTlVNX1dRRUJCUyk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTk1NS1cXHRcXHRjbWRfaW5mbyA9IFxcdTAwMjZjbWRxLVxcdTAwM2VjbWRfaW5mb3NbY2ldO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTk2Mi1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6OTYzOnZvaWQgaGluaWMzX2NtZHFfZmx1c2hfc3luY19jbWQoc3RydWN0IGhpbmljM19od2RldiAqaHdkZXYpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTk2NC17XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjk2NTpcXHRzdHJ1Y3QgaGluaWMzX2NtZHEgKmNtZHE7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTk2Ni1cXHR1MTYgd3FlX2NudCwgd3FlX2lkeCwgaTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6OTY3OlxcdHN0cnVjdCBoaW5pYzNfd3EgKndxO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy05NjgtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtOTcxLVxcdHdxID0gXFx1MDAyNmNtZHEtXFx1MDAzZXdxO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo5NzI6XFx0d3FlX2NudCA9IGhpbmljM193cV9nZXRfdXNlZCh3cSk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTk3My1cXHRmb3IgKGkgPSAwOyBpIFxcdTAwM2Mgd3FlX2NudDsgaSsrKSB7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtOTc5LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo5ODA6c3RhdGljIHZvaWQgaGluaWMzX2NtZHFfcmVzZXRfYWxsX2NtZF9idWYoc3RydWN0IGhpbmljM19jbWRxICpjbWRxKVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy05ODEte1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTk4Ny1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6OTg4OmludCBoaW5pYzNfcmVpbml0X2NtZHFfY3R4dHMoc3RydWN0IGhpbmljM19od2RldiAqaHdkZXYpXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTk4OS17XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjk5MDpcXHRzdHJ1Y3QgaGluaWMzX2NtZHFzICpjbWRxcyA9IGh3ZGV2LVxcdTAwM2VjbWRxcztcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtOTkxLVxcdHU4IGNtZHFfdHlwZTtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy05OTMtXFx0Zm9yIChjbWRxX3R5cGUgPSAwOyBjbWRxX3R5cGUgXFx1MDAzYyBjbWRxcy1cXHUwMDNlY21kcV9udW07IGNtZHFfdHlwZSsrKSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjk5NDpcXHRcXHRoaW5pYzNfY21kcV9mbHVzaF9jbWQoXFx1MDAyNmNtZHFzLVxcdTAwM2VjbWRxW2NtZHFfdHlwZV0pO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzo5OTU6XFx0XFx0aGluaWMzX2NtZHFfcmVzZXRfYWxsX2NtZF9idWYoXFx1MDAyNmNtZHFzLVxcdTAwM2VjbWRxW2NtZHFfdHlwZV0pO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy05OTYtXFx0XFx0Y21kcXMtXFx1MDAzZWNtZHFbY21kcV90eXBlXS53cmFwcGVkID0gMTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6OTk3OlxcdFxcdGhpbmljM193cV9yZXNldChcXHUwMDI2Y21kcXMtXFx1MDAzZWNtZHFbY21kcV90eXBlXS53cSk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTk5OC1cXHR9XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTk5OS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MTAwMDpcXHRyZXR1cm4gaGluaWMzX3NldF9jbWRxX2N0eHRzKGh3ZGV2KTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMTAwMS19XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEwMDItXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjEwMDM6aW50IGhpbmljM19jbWRxc19pbml0KHN0cnVjdCBoaW5pYzNfaHdkZXYgKmh3ZGV2KVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xMDA0LXtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MTAwNTpcXHRzdHJ1Y3QgaGluaWMzX2NtZHFzICpjbWRxcztcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMTAwNi1cXHR2b2lkIF9faW9tZW0gKmRiX2Jhc2U7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMTAxOC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MTAxOTpcXHRlcnIgPSBoaW5pYzNfYWxsb2NfZGJfYWRkcihod2RldiwgXFx1MDAyNmRiX2Jhc2UsIE5VTEwpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xMDIwLVxcdGlmIChlcnIpIHtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xMDM1LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzoxMDM2OlxcdGVyciA9IGhpbmljM19zZXRfY21kcV9jdHh0cyhod2Rldik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEwMzctXFx0aWYgKGVycilcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xMDQ3LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYzoxMDQ4OlxcdGhpbmljM19mcmVlX2RiX2FkZHIoaHdkZXYsIGNtZHFzLVxcdTAwM2VjbWRxc19kYl9iYXNlKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMTA0OS1lcnJfZGVzdHJveV9jbWRxX3dxOlxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEwNTctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjEwNTg6dm9pZCBoaW5pYzNfY21kcXNfZnJlZShzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2RldilcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMTA1OS17XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjEwNjA6XFx0c3RydWN0IGhpbmljM19jbWRxcyAqY21kcXMgPSBod2Rldi1cXHUwMDNlY21kcXM7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEwNjEtXFx0dTggY21kcV90eXBlO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEwNjUtXFx0Zm9yIChjbWRxX3R5cGUgPSAwOyBjbWRxX3R5cGUgXFx1MDAzYyBjbWRxcy1cXHUwMDNlY21kcV9udW07IGNtZHFfdHlwZSsrKSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjEwNjY6XFx0XFx0aGluaWMzX2NtZHFfZmx1c2hfY21kKFxcdTAwMjZjbWRxcy1cXHUwMDNlY21kcVtjbWRxX3R5cGVdKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmM6MTA2NzpcXHRcXHRoaW5pYzNfY21kcV9yZXNldF9hbGxfY21kX2J1ZihcXHUwMDI2Y21kcXMtXFx1MDAzZWNtZHFbY21kcV90eXBlXSk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEwNjgtXFx0XFx0a2ZyZWUoY21kcXMtXFx1MDAzZWNtZHFbY21kcV90eXBlXS5jbWRfaW5mb3MpO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEwNzAtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjEwNzE6XFx0aGluaWMzX2ZyZWVfZGJfYWRkcihod2RldiwgY21kcXMtXFx1MDAzZWNtZHFzX2RiX2Jhc2UpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuYy0xMDcyLVxcdGRlc3Ryb3lfY21kcV93cShod2RldiwgY21kcXMpO1xcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEwNzYtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjEwNzc6Ym9vbCBoaW5pYzNfY21kcV9pZGxlKHN0cnVjdCBoaW5pYzNfY21kcSAqY21kcSlcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmMtMTA3OC17XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jOjEwNzk6XFx0cmV0dXJuIGhpbmljM193cV9nZXRfdXNlZChcXHUwMDI2Y21kcS1cXHUwMDNld3EpID09IDA7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5jLTEwODAtfVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oLTgtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjk6I2luY2x1ZGUgXFxcImhpbmljM19od19pbnRmLmhcXFwiXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjEwOiNpbmNsdWRlIFxcXCJoaW5pYzNfd3EuaFxcXCJcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtMTEtXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg9MjU9c3RydWN0IGNtZHFfbGNtZF9idWZkZXNjIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MjY6XFx0c3RydWN0IGhpbmljM19zZ2Ugc2dlO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaC0yNy1cXHRfX2xlNjQgICAgICAgICAgICByc3ZkMjtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaD00ND1zdHJ1Y3QgY21kcV9jb21wbGV0aW9uIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtNDUtXFx0dW5pb24ge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaDo0NjpcXHRcXHRzdHJ1Y3QgaGluaWMzX3NnZSAgICAgICBzZ2U7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oLTQ3LVxcdFxcdHN0cnVjdCBjbWRxX2RpcmVjdF9yZXNwIGRpcmVjdDtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaD03NT1zdGF0aWNfYXNzZXJ0KHNpemVvZihzdHJ1Y3QgY21kcV93cWUpID09IDY0KTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtNzYtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjc3OmVudW0gaGluaWMzX2NtZHFfdHlwZSB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oLTc4LVxcdEhJTklDM19DTURRX1NZTkMgICAgICA9IDAsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtODEtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjgyOmVudW0gaGluaWMzX2NtZHFfc3RhdHVzIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtODMtXFx0SElOSUMzX0NNRFFfRU5BQkxFID0gQklUKDApLFxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oLTg1LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaDo4NjplbnVtIGhpbmljM19jbWRxX2NtZF90eXBlIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtODctXFx0SElOSUMzX0NNRF9UWVBFX05PTkUsXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtOTUtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjk2OnN0cnVjdCBoaW5pYzNfY21kX2J1ZiB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oLTk3LVxcdHZvaWQgICAgICAgKmJ1ZjtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaC0xMDItXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjEwMzpzdHJ1Y3QgaGluaWMzX2NtZF9idWZfcGFpciB7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjEwNDpcXHRzdHJ1Y3QgaGluaWMzX2NtZF9idWYgKmluO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaDoxMDU6XFx0c3RydWN0IGhpbmljM19jbWRfYnVmICpvdXQ7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oLTEwNi19O1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaC0xMDctXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjEwODpzdHJ1Y3QgaGluaWMzX2NtZHFfY21kX2luZm8ge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaDoxMDk6XFx0ZW51bSBoaW5pYzNfY21kcV9jbWRfdHlwZSBjbWRfdHlwZTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtMTEwLVxcdHN0cnVjdCBjb21wbGV0aW9uICAgICAgICAgKmRvbmU7XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtMTE1LVxcdHU2NCAgICAgICAgICAgICAgICAgICAgICAgY21kcV9tc2dfaWQ7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjExNjpcXHRzdHJ1Y3QgaGluaWMzX2NtZF9idWYgICAgICpidWZfaW47XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjExNzpcXHRzdHJ1Y3QgaGluaWMzX2NtZF9idWYgICAgICpidWZfb3V0O1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaC0xMTgtfTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtMTE5LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaDoxMjA6c3RydWN0IGhpbmljM19jbWRxIHtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTIxOlxcdHN0cnVjdCBoaW5pYzNfd3EgICAgICAgICAgICB3cTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTIyOlxcdGVudW0gaGluaWMzX2NtZHFfdHlwZSAgICAgICBjbWRxX3R5cGU7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oLTEyMy1cXHR1OCAgICAgICAgICAgICAgICAgICAgICAgICAgd3JhcHBlZDtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaC0xMjUtXFx0c3BpbmxvY2tfdCAgICAgICAgICAgICAgICAgIGNtZHFfbG9jaztcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTI2OlxcdHN0cnVjdCBoaW5pYzNfY21kcV9jbWRfaW5mbyAqY21kX2luZm9zO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaDoxMjc6XFx0c3RydWN0IGhpbmljM19od2RldiAgICAgICAgICpod2RldjtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtMTI4LX07XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oLTEyOS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTMwOnN0cnVjdCBoaW5pYzNfY21kcXMge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaDoxMzE6XFx0c3RydWN0IGhpbmljM19od2RldiAqaHdkZXY7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjEzMjpcXHRzdHJ1Y3QgaGluaWMzX2NtZHEgIGNtZHFbSElOSUMzX01BWF9DTURRX1RZUEVTXTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtMTMzLVxcdHN0cnVjdCBkbWFfcG9vbCAgICAgKmNtZF9idWZfcG9vbDtcXG4tLVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaC0xNDgtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjE0OTppbnQgaGluaWMzX2NtZHFzX2luaXQoc3RydWN0IGhpbmljM19od2RldiAqaHdkZXYpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaDoxNTA6dm9pZCBoaW5pYzNfY21kcXNfZnJlZShzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2Rldik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oLTE1MS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTUyOnN0cnVjdCBoaW5pYzNfY21kX2J1ZiAqaGluaWMzX2FsbG9jX2NtZF9idWYoc3RydWN0IGhpbmljM19od2RldiAqaHdkZXYpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaDoxNTM6dm9pZCBoaW5pYzNfZnJlZV9jbWRfYnVmKHN0cnVjdCBoaW5pYzNfaHdkZXYgKmh3ZGV2LFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaDoxNTQ6XFx0XFx0XFx0IHN0cnVjdCBoaW5pYzNfY21kX2J1ZiAqY21kX2J1Zik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjE1NTp2b2lkIGhpbmljM19jbWRxX2NlcV9oYW5kbGVyKHN0cnVjdCBoaW5pYzNfaHdkZXYgKmh3ZGV2LCBfX2xlMzIgY2VxZV9kYXRhKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtMTU2LVxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaDoxNTc6aW50IGhpbmljM19jbWRfYnVmX3BhaXJfaW5pdChzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2RldixcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTU4OlxcdFxcdFxcdCAgICAgc3RydWN0IGhpbmljM19jbWRfYnVmX3BhaXIgKnBhaXIpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaDoxNTk6dm9pZCBoaW5pYzNfY21kX2J1Zl9wYWlyX3VuaW5pdChzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2RldixcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTYwOlxcdFxcdFxcdFxcdHN0cnVjdCBoaW5pYzNfY21kX2J1Zl9wYWlyICpwYWlyKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTYxOmludCBoaW5pYzNfY21kcV9kaXJlY3RfcmVzcChzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2RldiwgdTggbW9kLCB1OCBjbWQsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjE2MjpcXHRcXHRcXHQgICAgc3RydWN0IGhpbmljM19jbWRfYnVmICpidWZfaW4sIF9fbGU2NCAqb3V0X3BhcmFtKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTYzOmludCBoaW5pYzNfY21kcV9kZXRhaWxfcmVzcChzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2RldiwgdTggbW9kLCB1OCBjbWQsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjE2NDpcXHRcXHRcXHQgICAgc3RydWN0IGhpbmljM19jbWRfYnVmICpidWZfaW4sXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjE2NTpcXHRcXHRcXHQgICAgc3RydWN0IGhpbmljM19jbWRfYnVmICpidWZfb3V0LCBfX2xlNjQgKm91dF9wYXJhbSk7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oLTE2Ni1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmg6MTY3OnZvaWQgaGluaWMzX2NtZHFfZmx1c2hfc3luY19jbWQoc3RydWN0IGhpbmljM19od2RldiAqaHdkZXYpO1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NtZHEuaDoxNjg6aW50IGhpbmljM19yZWluaXRfY21kcV9jdHh0cyhzdHJ1Y3QgaGluaWMzX2h3ZGV2ICpod2Rldik7XFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY21kcS5oOjE2OTpib29sIGhpbmljM19jbWRxX2lkbGUoc3RydWN0IGhpbmljM19jbWRxICpjbWRxKTtcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jbWRxLmgtMTcwLVxcbi0tXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY29tbW9uLmMtNy1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jb21tb24uYzo4OiNpbmNsdWRlIFxcXCJoaW5pYzNfY29tbW9uLmhcXFwiXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY29tbW9uLmMtOS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jb21tb24uYzoxMDppbnQgaGluaWMzX2RtYV96YWxsb2NfY29oZXJlbnRfYWxpZ24oc3RydWN0IGRldmljZSAqZGV2LCB1MzIgc2l6ZSwgdTMyIGFsaWduLFxcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2NvbW1vbi5jLTExLVxcdFxcdFxcdFxcdCAgICAgZ2ZwX3QgZmxhZyxcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jb21tb24uYzoxMjpcXHRcXHRcXHRcXHQgICAgIHN0cnVjdCBoaW5pYzNfZG1hX2FkZHJfYWxpZ24gKm1lbV9hbGlnbilcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jb21tb24uYy0xMy17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jb21tb24uYy00OC1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jb21tb24uYzo0OTp2b2lkIGhpbmljM19kbWFfZnJlZV9jb2hlcmVudF9hbGlnbihzdHJ1Y3QgZGV2aWNlICpkZXYsXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfY29tbW9uLmM6NTA6XFx0XFx0XFx0XFx0ICAgIHN0cnVjdCBoaW5pYzNfZG1hX2FkZHJfYWxpZ24gKm1lbV9hbGlnbilcXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jb21tb24uYy01MS17XFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19jb21tb24uYy01NS1cXG5cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDNUMDQ6MjM6NTAuOTExMTc4NDk1WiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzczMDE4NTI4OCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgbGV0J3Mgc2VlIHdoYXQgd2UncmUgZGVhbGluZyB3aXRoIGhlcmUuXG5cbioqSW5pdGlhbCBBc3Nlc3NtZW50IG9mIHRoZSBISU5JQzMgQ29kZWJhc2UqKlxuXG5BbHJpZ2h0LCBJJ3ZlIGdvdCBhIGxpc3Qgb2YgZmlsZXMgaW4gZnJvbnQgb2YgbWU6IGBoaW5pYzNfaHdkZXYuY2AsIGBoaW5pYzNfaHdpZi5jYCwgYGhpbmljM19sbGQuY2AsIGBoaW5pYzNfbWFpbi5jYCwgYW5kIGBoaW5pYzNfbmV0ZGV2X29wcy5jYC4gQmFzZWQgb24gdGhvc2UgbmFtZXMsIHRoaXMgbG9va3MgbGlrZSBhIEhJTklDMyBkcml2ZXIsIHdoaWNoIG1ha2VzIHNlbnNlIGdpdmVuIHRoZSBmaWxlIHByZWZpeGVzLiBNeSBpbml0aWFsIGh1bmNoIGlzIHRoYXQgdGhpcyBpcyByZWxhdGVkIHRvIGhhcmR3YXJlIGZvciBuZXR3b3JrIGludGVyZmFjZSBjYXJkLlxuXG5Ob3csIHdoZXJlIGRvIEkgc3RhcnQgbXkgYW5hbHlzaXM/ICBHaXZlbiB0aG9zZSwgbXkgZmlyc3Qgc3RlcCBpcyB0byBkaXZlIGludG8gYGhpbmljM19tYWluLmNgLiBJdCdzIHByZXR0eSBjb21tb24gZm9yIHRoZSBgX21haW5gIGZpbGUgdG8gY29udGFpbiB0aGUgY29yZSBkcml2ZXIgZW50cnkgcG9pbnRzIGFuZCwgdmVyeSBvZnRlbiwgdGhlIFBDSSBkcml2ZXIgaW5pdGlhbGl6YXRpb24uIEkgbmVlZCB0byBjb25maXJtIHdoZXRoZXIgdGhpcyBpcyBhIFBDSSBkZXZpY2UgZHJpdmVyIHRvIHVuZGVyc3RhbmQgdGhlIGJhc2ljIHN0cnVjdHVyZSBvZiBob3cgdGhlIGhhcmR3YXJlIGdldHMgcmVjb2duaXplZCBhbmQgaW5pdGlhbGl6ZWQuIExldCdzIHNlZSBpZiB0aGlzIGBfbWFpbmAgZmlsZSBob2xkcyB0aGUga2V5LlxuXG5cbiIsIklucHV0VG9rZW5zIjoxOTkwOSwiT3V0cHV0VG9rZW5zIjozOCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjc4LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAzVDA0OjIzOjU0LjY0MTM2NTk5M1oiLCJTZXEiOjYsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo4NzQ0MTU3NCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJwY2lfZHJpdmVyXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2xsZC5jPTQzNj1zdGF0aWMgdm9pZCBoaW5pYzNfc2h1dGRvd24oc3RydWN0IHBjaV9kZXYgKnBkZXYpXFxuLS1cXG5kcml2ZXJzL25ldC9ldGhlcm5ldC9odWF3ZWkvaGluaWMzL2hpbmljM19sbGQuYy00NDUtXFxuZHJpdmVycy9uZXQvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy9oaW5pYzNfbGxkLmM6NDQ2OnN0YXRpYyBzdHJ1Y3QgcGNpX2RyaXZlciBoaW5pYzNfZHJpdmVyID0ge1xcbmRyaXZlcnMvbmV0L2V0aGVybmV0L2h1YXdlaS9oaW5pYzMvaGluaWMzX2xsZC5jLTQ0Ny1cXHQubmFtZSAgICAgICAgICAgID0gSElOSUMzX05JQ19EUlZfTkFNRSxcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDNUMDQ6MjM6NTQuNzI4ODEzOTY3WiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NzE2MTI3NjA0NSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipXb3J0aEZ1enppbmcgRGVjaXNpb24gZm9yIGEgUENJIERyaXZlcioqXG5cbk9rYXksIHNvIHRoaXMgbG9va3MgbGlrZSBhIFBDSSBkcml2ZXIg4oCTIHNwZWNpZmljYWxseSwgdGhlIEh1YXdlaSBJbnRlbGxpZ2VudCBOSUMgKGhpbmljMykuIFJpZ2h0IGF3YXksIG15IHJhZGFyIGdvZXMgdXAuIElzIHRoaXMgYSB2ZW5kb3Itc3BlY2lmaWMgUENJZSBjYXJkIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VPyBZZXMsIHRoYXQncyBleGFjdGx5IHdoYXQgaXQgaXMuIFRoZSBwcm9tcHQgaXMgdmVyeSBjbGVhcjogaWYgdGhlIHBhdGNoICpvbmx5KiBpbnZvbHZlcyBjb2RlIGluIGRyaXZlcnMgZm9yIGhhcmR3YXJlIGxpa2UgdGhpcywgd2hpY2ggKmlzbid0KiBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLCB0aGVuIGBXb3J0aEZ1enppbmdgIHNob3VsZCBiZSBgZmFsc2VgLlxuXG5MZXQgbWUgcXVpY2tseSBkb3VibGUtY2hlY2sgdGhhdCBgaGluaWMzYCBpcyAqbm90KiBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLiBDb25maXJtZWQuIEl0J3MgYSB2ZW5kb3Itc3BlY2lmaWMgY2FyZC4gSSBuZWVkIHRvIG1ha2Ugc3VyZSBJIHVuZGVyc3RhbmQgdGhlIHNjb3BlIG9mIHRoZSBwcm9tcHQgdGhvdWdoLiBJdCBleHBsaWNpdGx5IGNhbGxzIG91dCBTbWFydE5JQyBkcml2ZXJzLiBJcyBgaGluaWMzYCBhIFNtYXJ0TklDPyBIbW1tLi4uIExldCdzIHNlZTogSHVhd2VpICpJbnRlbGxpZ2VudCogTklDLiBZZXMsIHRoYXQgc3VnZ2VzdHMgaXQuIEl0ICppcyogYSB2ZW5kb3Itc3BlY2lmaWMgUENJZSBoYXJkd2FyZSBjYXJkLiBBbHJpZ2h0LCBJJ20gbGVhbmluZyB0b3dhcmRzIGBmYWxzZWAgYWxyZWFkeS5cblxuSSdtIHJldHVybmluZyBgV29ydGhGdXp6aW5nPWZhbHNlYCBiZWNhdXNlIGl0J3MgYSB2ZW5kb3Itc3BlY2lmaWMgUENJZSBjYXJkIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLiBUaGF0J3MgYSBrZXkgcmVxdWlyZW1lbnQuXG5cbkxldCdzIHJldmlldyB0aGUgcHJvbXB0IGFnYWluIGZvciBnb29kIG1lYXN1cmU6IFwiUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWlucyBjb2RlIGluIHZlbmRvci1zcGVjaWZpYyBQQ0llIHN3aXRjaCwgU21hcnROSUMsIG9yIEdQVSBkcml2ZXJzLi4uIHRoYXQgcmVxdWlyZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLlwiIE9rYXksIHNvIGBoaW5pYzNgIHNlZW1zIHRvIGZpdCB0aGF0IGRlc2NyaXB0aW9uIHBlcmZlY3RseS4gSXQncyBhIFNtYXJ0TklDLCBhbmQgaXQncyBub3QgZW11bGF0ZWQuIFRoZXJlZm9yZSwgdGhlIGFuc3dlciBpcyBgZmFsc2VgLlxuXG5Ob3csIGxldCdzIHNlZSB3aGF0IHRoZSBwYXRjaCBhY3R1YWxseSAqZG9lcyouIEl0J3MgbW9kaWZ5aW5nIGZ1bmN0aW9ucyBsaWtlIGBoaW5pYzNfY29uZmlndXJlX3J4cXNgLCBgaGluaWMzX3R4X2NzdW1gLCBhbmQgYGhpbmljM190eF9vZmZsb2FkYC4gVGhlc2UgYXJlICpjbGVhcmx5KiBkcml2ZXItc3BlY2lmaWMgZnVuY3Rpb25zIGZvciB0aGlzIGhhcmR3YXJlLiBUaGUgYm90dG9tIGxpbmUgaXMgdGhhdCBzaW5jZSBgaGluaWMzYCAqaXMqIGEgcGh5c2ljYWwgUENJZSBjYXJkIG5vdCBlbXVsYXRlZCBpbiBRRU1VLCB0aGVyZSBpcyBubyB3YXkgdG8gcmVhY2ggdGhlc2UgY29kZSBwYXRocyB1c2luZyBzeXprYWxsZXIsIG9yIEdDRS5cblxuRmluYWxseSwganVzdCB0byBiZSBhYnNvbHV0ZWx5IGNlcnRhaW4sIGlzIHRoZXJlIGFueSBwb3NzaWJpbGl0eSBvZiBzb21lICpzb2Z0d2FyZSogZW11bGF0aW9uIGZvciB0aGUgaGluaWMzPyBObywgdGhhdCBpcyBub3QgcG9zc2libGUuIFRoZXJlZm9yZSwgYFdvcnRoRnV6emluZ2Agc2hvdWxkIGJlIGBmYWxzZWAuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjIwNDI2LCJPdXRwdXRUb2tlbnMiOjI1LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NTA2LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAzVDA0OjI0OjAxLjg5MDA5Mjk2MloiLCJTZXEiOjgsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1NzgzODU3OTQsIkVycm9yIjoibm8gbWF0Y2hlcyIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImhpbmljM1wiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJ0b29scy9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiZXJyb3JcIjogXCJubyBtYXRjaGVzXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTAzVDA0OjI0OjAyLjQ2ODQ4NjU2NloiLCJTZXEiOjksIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjM0MzQ4MjI5MzYsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6Ik9rYXksIGhlcmUncyBteSB0YWtlIG9uIHRob3NlIHRob3VnaHRzLCBmcmFtZWQgYXMgYW4gZXhwZXJ0J3MgaW50ZXJuYWwgbW9ub2xvZ3VlOlxuXG4qKk5hdmlnYXRpbmcgdGhlIFRvb2xpbmcgTGFuZHNjYXBlKipcblxuQWxyaWdodCwgbGV0J3Mgc2VlLi4uIHRoZSBjb2RlJ3Mgb3JnYW5pemVkIHdlbGwsIGJ1dCBJJ20gdGhpbmtpbmcgYWJvdXQgdGhlIHRlc3RpbmcgYW5kIGRlYnVnZ2luZyBpbmZyYXN0cnVjdHVyZS4gSSBoYXZlbid0IHNlZW4gYW55IG1lbnRpb24gb2Ygc29mdHdhcmUgZW11bGF0aW9uIGRpcmVjdGx5IGluIHRoZSBgdG9vbHMvYCBkaXJlY3RvcnkuIFRoYXQncyBhIGxpdHRsZSBzdXJwcmlzaW5nLCBvciBtYXliZSBJIGFtIG1pc3NpbmcgaXQgLSBpdCdzIHdvcnRoIGEgZG91YmxlLWNoZWNrLiBJJ20gd29uZGVyaW5nIGlmIHRoZXJlJ3MgYSBtb3JlIGFic3RyYWN0IGFwcHJvYWNoIGJlaW5nIHRha2VuLCBvciBpZiBpdCdzIGludGVncmF0ZWQgZWxzZXdoZXJlLCBwZXJoYXBzIHVzaW5nIGEgaGFyZHdhcmUtaW4tdGhlLWxvb3Agc3RyYXRlZ3kgdGhhdCdzIGRvY3VtZW50ZWQgb3V0c2lkZSBvZiB0aGUgY29kZS5cblxuTm93LCBhIG1vcmUgb2J2aW91cyBxdWVzdGlvbiBhcmlzZXM6IFdoYXQncyB0aGUgc3Rvcnkgd2l0aCBgRG9jdW1lbnRhdGlvbi9gPyBJIG5lZWQgdG8gZGlnIGludG8gdGhhdCBkaXJlY3Rvcnkgc3BlY2lmaWNhbGx5LiBUaGUgZG9jdW1lbnRhdGlvbiBzaG91bGQgYmUgdGhlIHNvdXJjZSBvZiB0cnV0aCBmb3IgdGhlc2Uga2luZHMgb2YgZGV0YWlscy4gSWYgdGhlcmUgKmlzKiBlbXVsYXRpb24gc3VwcG9ydCwgaXQgc2hvdWxkIGRlZmluaXRlbHkgYmUgbWVudGlvbmVkIHRoZXJlLCBlaXRoZXIgZGlyZWN0bHkgYXMgcGFydCBvZiBhIHRvb2wsIG9yIGFzIGEgc2V0dXAgZGVzY3JpcHRpb24uIFRoZSBkb2N1bWVudGF0aW9uIGlzIHRoZSBrZXkgaGVyZS4gTGV0IG1lIHNlZSB3aGF0J3MgaW4gdGhlcmUuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjIxNDg2LCJPdXRwdXRUb2tlbnMiOjI1LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTQsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDNUMDQ6MjQ6MDUuOTAzMzEzNTUyWiIsIlNlcSI6MTAsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo2MDU2OTYzOTIsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiaGluaWMzXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcIkRvY3VtZW50YXRpb24vXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcIkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdC0zLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDo0OkxpbnV4IGtlcm5lbCBkcml2ZXIgZm9yIEh1YXdlaSBFdGhlcm5ldCBEZXZpY2UgRHJpdmVyIChoaW5pYzMpIGZhbWlseVxcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdC01LT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0PTc9T3ZlcnZpZXdcXG4tLVxcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdC05LVxcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDoxMDpUaGUgaGluaWMzIGlzIGEgbmV0d29yayBpbnRlcmZhY2UgY2FyZCAoTklDKSBmb3IgRGF0YSBDZW50ZXIuIEl0IHN1cHBvcnRzXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjExOmEgcmFuZ2Ugb2YgbGluay1zcGVlZCBkZXZpY2VzICgxMEdFLCAyNUdFLCAxMDBHRSwgZXRjLikuIFRoZSBoaW5pYzNcXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3QtMTItZGV2aWNlcyBjYW4gaGF2ZSBtdWx0aXBsZSBwaHlzaWNhbCBmb3JtczogTE9NIChMYW4gb24gTW90aGVyYm9hcmQpIE5JQyxcXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q9MTM9UENJZSBzdGFuZGFyZCBOSUMsIE9DUCAoT3BlbiBDb21wdXRlIFByb2plY3QpIE5JQywgZXRjLlxcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdC0xNC1cXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q6MTU6VGhlIGhpbmljMyBkcml2ZXIgc3VwcG9ydHMgdGhlIGZvbGxvd2luZyBmZWF0dXJlczpcXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3QtMTYtLSBJUHY0L0lQdjYgVENQL1VEUCBjaGVja3N1bSBvZmZsb2FkXFxuLS1cXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q9Mjk9U3VwcG9ydGVkIFBDSSB2ZW5kb3IgSUQvZGV2aWNlIElEc1xcbi0tXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0LTMxLVxcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDozMjoxOWU1OjAyMjIgLSBoaW5pYzMgUEYvUFBGXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjMzOjE5ZTU6Mzc1RiAtIGhpbmljMyBWRlxcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdC0zNC1cXG4tLVxcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdD0zOT1Tb3VyY2UgQ29kZSBTdHJ1Y3R1cmUgb2YgSGluaWMzIERyaXZlclxcbi0tXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0LTQyLT09PT09PT09PT09PT09PT09PT09PT09PSAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjQzOmhpbmljM19wY2lfaWRfdGJsLmggICAgICAgU3VwcG9ydGVkIGRldmljZSBJRHNcXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q6NDQ6aGluaWMzX2h3X2ludGYuaCAgICAgICAgICBJbnRlcmZhY2UgYmV0d2VlbiBIVyBhbmQgZHJpdmVyXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjQ1OmhpbmljM19xdWV1ZV9jb21tb24uW2NoXSAgQ29tbW9uIHN0cnVjdHVyZXMgYW5kIG1ldGhvZHMgZm9yIE5JQyBxdWV1ZXNcXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q6NDY6aGluaWMzX2NvbW1vbi5bY2hdICAgICAgICBFbmNhcHN1bGF0aW9uIG9mIG1lbW9yeSBvcGVyYXRpb25zIGluIExpbnV4XFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjQ3OmhpbmljM19jc3IuaCAgICAgICAgICAgICAgUmVnaXN0ZXIgZGVmaW5pdGlvbnMgaW4gdGhlIEJBUlxcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDo0ODpoaW5pYzNfaHdpZi5bY2hdICAgICAgICAgIEludGVyZmFjZSBmb3IgQkFSXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjQ5OmhpbmljM19lcXMuW2NoXSAgICAgICAgICAgSW50ZXJmYWNlIGZvciBBRVFzIGFuZCBDRVFzXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjUwOmhpbmljM19tYm94LltjaF0gICAgICAgICAgSW50ZXJmYWNlIGZvciBtYWlsYm94XFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjUxOmhpbmljM19tZ210LltjaF0gICAgICAgICAgTWFuYWdlbWVudCBpbnRlcmZhY2UgYmFzZWQgb24gbWFpbGJveCBhbmQgQUVRXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjUyOmhpbmljM193cS5bY2hdICAgICAgICAgICAgV29yayBxdWV1ZSBkYXRhIHN0cnVjdHVyZXMgYW5kIGludGVyZmFjZVxcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDo1MzpoaW5pYzNfY21kcS5bY2hdICAgICAgICAgIENvbW1hbmQgcXVldWUgaXMgdXNlZCB0byBwb3N0IGNvbW1hbmQgdG8gSFdcXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q6NTQ6aGluaWMzX2h3ZGV2LltjaF0gICAgICAgICBIVyBzdHJ1Y3R1cmVzIGFuZCBtZXRob2RzIGFic3RyYWN0aW9uc1xcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDo1NTpoaW5pYzNfbGxkLltjaF0gICAgICAgICAgIEF1eGlsaWFyeSBkcml2ZXIgYWRhcHRhdGlvbiBsYXllclxcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDo1NjpoaW5pYzNfaHdfY29tbS5bY2hdICAgICAgIEludGVyZmFjZSBmb3IgY29tbW9uIEhXIG9wZXJhdGlvbnNcXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q6NTc6aGluaWMzX21nbXRfaW50ZXJmYWNlLmggICBJbnRlcmZhY2UgYmV0d2VlbiBmaXJtd2FyZSBhbmQgZHJpdmVyXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjU4OmhpbmljM19od19jZmcuW2NoXSAgICAgICAgSW50ZXJmYWNlIGZvciBIVyBjb25maWd1cmF0aW9uXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjU5OmhpbmljM19pcnEuYyAgICAgICAgICAgICAgSW50ZXJydXB0IHJlcXVlc3RcXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q6NjA6aGluaWMzX25ldGRldl9vcHMuYyAgICAgICBPcGVyYXRpb25zIHJlZ2lzdGVyZWQgdG8gTGludXgga2VybmVsIHN0YWNrXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjYxOmhpbmljM19uaWNfZGV2LmggICAgICAgICAgTklDIHN0cnVjdHVyZXMgYW5kIG1ldGhvZHMgYWJzdHJhY3Rpb25zXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjYyOmhpbmljM19tYWluLmMgICAgICAgICAgICAgTWFpbiBMaW51eCBrZXJuZWwgZHJpdmVyXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjYzOmhpbmljM19uaWNfY2ZnLltjaF0gICAgICAgTklDIHNlcnZpY2UgY29uZmlndXJhdGlvblxcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDo2NDpoaW5pYzNfbmljX2lvLltjaF0gICAgICAgIE1hbmFnZW1lbnQgcGxhbmUgaW50ZXJmYWNlIGZvciBUWCBhbmQgUlhcXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q6NjU6aGluaWMzX3Jzcy5bY2hdICAgICAgICAgICBJbnRlcmZhY2UgZm9yIFJlY2VpdmUgU2lkZSBTY2FsaW5nIChSU1MpXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjY2OmhpbmljM19yeC5bY2hdICAgICAgICAgICAgSW50ZXJmYWNlIGZvciB0cmFuc21pdFxcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDo2NzpoaW5pYzNfdHguW2NoXSAgICAgICAgICAgIEludGVyZmFjZSBmb3IgcmVjZWl2ZVxcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdDo2ODpoaW5pYzNfZXRodG9vbC5jICAgICAgICAgIEludGVyZmFjZSBmb3IgZXRodG9vbCBvcGVyYXRpb25zIChvcHMpXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjY5OmhpbmljM19maWx0ZXIuYyAgICAgICAgICAgSW50ZXJmYWNlIGZvciBNQUMgYWRkcmVzc1xcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdC03MC09PT09PT09PT09PT09PT09PT09PT09PT0gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxcbi0tXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0PTgxPUV2ZXJ5IEFFUSBpcyBhc3NvY2lhdGVkIHRvIGEgZGVkaWNhdGVkIElSUS4gQUVRIGNhbiByZWNlaXZlIG11bHRpcGxlIHR5cGVzXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0OjgyOm9mIGV2ZW50cywgYnV0IGluIHByYWN0aWNlIHRoZSBoaW5pYzMgZHJpdmVyIGlnbm9yZXMgYWxsIGV2ZW50cyBleGNlcHQgZm9yXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0LTgzLTIgbWFpbGJveCByZWxhdGVkIGV2ZW50cy5cXG4tLVxcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9odWF3ZWkvaGluaWMzLnJzdD04NT1NYWlsYm94XFxuLS1cXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3QtODctXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0Ojg4Ok1haWxib3ggaXMgYSBjb21tdW5pY2F0aW9uIG1lY2hhbmlzbSBiZXR3ZWVuIHRoZSBoaW5pYzMgZHJpdmVyIGFuZCB0aGUgSFcuXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0LTg5LUVhY2ggZGV2aWNlIGhhcyBhbiBpbmRlcGVuZGVudCBtYWlsYm94LiBEcml2ZXIgY2FuIHVzZSB0aGUgbWFpbGJveCB0byBzZW5kXFxuLS1cXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q9MTA0PWV2ZW50cyB0aGF0IGFyZSByZXNwb25zZXMgdG8gcmVxdWVzdHMgZnJvbSB0aGUgZHJpdmVyLiBDRVEgY2FuIHJlY2VpdmVcXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaHVhd2VpL2hpbmljMy5yc3Q6MTA1Om11bHRpcGxlIHR5cGVzIG9mIGV2ZW50cywgYnV0IGluIHByYWN0aWNlIHRoZSBoaW5pYzMgZHJpdmVyIGlnbm9yZXMgYWxsXFxuRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL2V0aGVybmV0L2h1YXdlaS9oaW5pYzMucnN0LTEwNi1ldmVudHMgZXhjZXB0IGZvciBISU5JQzNfQ01EUSB0aGF0IHJlcHJlc2VudHMgY29tcGxldGlvbiBvZiBwcmV2aW91c2x5XFxuLS1cXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaW5kZXgucnN0PTg9Q29udGVudHM6XFxuLS1cXG5Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2aWNlX2RyaXZlcnMvZXRoZXJuZXQvaW5kZXgucnN0LTI5LSAgIGh1YXdlaS9oaW5pY1xcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9pbmRleC5yc3Q6MzA6ICAgaHVhd2VpL2hpbmljM1xcbkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy9ldGhlcm5ldC9pbmRleC5yc3QtMzEtICAgaW50ZWwvZTEwMFxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0wM1QwNDoyNDowNi41MDkwMTk4OTVaIiwiU2VxIjoxMSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDg5Nzk1NDIzNSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipXb3J0aEZ1enppbmcgRGVjaXNpb24gZm9yIHRoZSBoaW5pYzMgTklDKipcblxuT2theSwgc28gdGhlIGRvY3VtZW50YXRpb24gaXMgY2xlYXI6IHRoZSBgaGluaWMzYCBpcyBhIERhdGEgQ2VudGVyIG5ldHdvcmsgaW50ZXJmYWNlIGNhcmQsIGFuZCBpdCdzIGEgcGh5c2ljYWwgZGV2aWNlLiBJdCBjb21lcyBpbiBkaWZmZXJlbnQgcGh5c2ljYWwgZm9ybXM6IExPTSwgUENJZSwgT0NQLCB0aGUgdXN1YWwgc3VzcGVjdHMuIFNpbmNlIGl0J3MgYSBOSUMsIGFuZCBzcGVjaWZpY2FsbHkgKnJlcXVpcmVzKiBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIOKAkyBhbmQgdGhlc2UgYXJlbid0IHNvbWV0aGluZyBJIGNhbiBlbXVsYXRlIGVmZmVjdGl2ZWx5IGluIGEgc3RhbmRhcmQgUUVNVSBlbnZpcm9ubWVudCDigJMgdGhlbiBJIG5lZWQgdG8gc2V0IGBXb3J0aEZ1enppbmc9ZmFsc2VgLlxuXG5MZXQgbWUganVzdCBkb3VibGUtY2hlY2ssIGJlY2F1c2UgSSB3YW50IHRvIGJlICphYnNvbHV0ZWx5KiBzdXJlLiBUaGUgcHJvbXB0IGlzIHByZXR0eSBleHBsaWNpdDogaXQgZGlyZWN0cyBtZSB0byByZXR1cm4gYFdvcnRoRnV6emluZz1mYWxzZWAgaWYgdGhlIGNvZGUgZmFsbHMgdW5kZXIgdGhpcyBjYXRlZ29yeSBvZiByZXF1aXJpbmcgcGh5c2ljYWwgUENJZSBoYXJkd2FyZS4gQW5kIHRoYXQncyBleGFjdGx5IHdoYXQgd2UgaGF2ZSBoZXJlLiBUaGlzIGBoaW5pYzNgIGlzIGEgdmVuZG9yLXNwZWNpZmljIE5JQyBkcml2ZXIgdGhhdCBuZWVkcyB0aGUgcGh5c2ljYWwgaGFyZHdhcmUsIHdoaWNoIG1lYW5zIGl0IGZhbGxzICpzcXVhcmVseSogaW50byB0aGF0IGV4Y2x1c2lvbmFyeSBidWNrZXQuIFRoZXJlZm9yZSwgSSB3aWxsIHJldHVybiBgV29ydGhGdXp6aW5nPWZhbHNlYC5cblxuXG4iLCJJbnB1dFRva2VucyI6MjM5NTksIk91dHB1dFRva2VucyI6ODEsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyMTMsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDgtMDNUMDQ6MjQ6MTEuNDA2OTc4MDA5WiIsIlNlcSI6MTIsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzM1NTAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIGhpbmljMyBkcml2ZXIgKEh1YXdlaSBJbnRlbGxpZ2VudCBOSUMpLCB3aGljaCBpcyBhIHZlbmRvci1zcGVjaWZpYyBQQ0llIGhhcmR3YXJlIGNhcmQgZHJpdmVyLiBUaGlzIGhhcmR3YXJlIGlzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIG9yIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyB1c2VkIGZvciBmdXp6aW5nLCBtYWtpbmcgdGhlc2UgY29kZSBwYXRocyB1bnJlYWNoYWJsZS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBoaW5pYzMgZHJpdmVyIChIdWF3ZWkgSW50ZWxsaWdlbnQgTklDKSwgd2hpY2ggaXMgYSB2ZW5kb3Itc3BlY2lmaWMgUENJZSBoYXJkd2FyZSBjYXJkIGRyaXZlci4gVGhpcyBoYXJkd2FyZSBpcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVSBvciB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgdXNlZCBmb3IgZnV6emluZywgbWFraW5nIHRoZXNlIGNvZGUgcGF0aHMgdW5yZWFjaGFibGUuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+IHsKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOyAKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iKSB7CgkJCQkJc3RhdHMubGxtLmNvdW50Kys7CgkJCQkJc3RhdHMubGxtLnRva2VucyArPSAocy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2Vucyk7CgkJCQkJc3RhdHMubGxtLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0gZWxzZSBpZiAocy5UeXBlID09PSAidG9vbCIpIHsKCQkJCQlzdGF0cy50b29sLmNvdW50Kys7CgkJCQkJc3RhdHMudG9vbC5kdXJhdGlvbiArPSBkdXI7CgkJCQl9CgkJCX0pOwoKCQkJY29uc3QgYXZnTGxtRHVyID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0uZHVyYXRpb24gLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdMbG1Ub2tlbiA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLnRva2VucyAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z1Rvb2xEdXIgPSBzdGF0cy50b29sLmNvdW50ID4gMCA/IChzdGF0cy50b29sLmR1cmF0aW9uIC8gc3RhdHMudG9vbC5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgoJCQljb25zdCBsbG1TdW1hcnlDZWxscyA9IFtzdGF0cy5sbG0uY291bnQsIHN0YXRzLmxsbS50b2tlbnMsIGF2Z0xsbVRva2VuLCBzdGF0cy5sbG0uZHVyYXRpb24sIGF2Z0xsbUR1cl07CgkJCWNvbnN0IHRvb2xTdW1tYXJ5Q2VsbHMgPSBbc3RhdHMudG9vbC5jb3VudCwgc3RhdHMudG9vbC5kdXJhdGlvbiwgYXZnVG9vbER1cl07CgoJCQljb25zdCBsbG1TdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsbG1fc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCWxsbVN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCBsbG1UciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCWxsbVN1bWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQlsbG1Uci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQlsbG1TdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZChsbG1Ucik7CgoJCQljb25zdCB0b29sU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJdG9vbFN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCB0b29sVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQl0b29sU3VtbWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQl0b29sVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJdG9vbFN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKHRvb2xUcik7CgkJfQoKCQlmdW5jdGlvbiBkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGZpbHRlcmVkU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IFsibGxtIiwgInRvb2wiXS5pbmNsdWRlcyhkLlR5cGUpKTsKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnRHVyYXRpb24nKTsKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsgCgoJCQlmaWx0ZXJlZFN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQkKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOwoJCQkJbGV0IHRvb2x0aXAgPSBzLk5hbWU7CgkJCQlpZiAocy5UeXBlID09PSAibGxtIiAmJiBzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgkJCQlkYXRhLmFkZFJvdyhbYCR7cy5TZXF9YCwgZHVyLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVGltZSBDb25zdW1wdGlvbiBvZiBMTE0vVG9vbCBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNL1Rvb2wgU3RlcHMnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnU2Vjb25kcycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHVyYXRpb25fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGxsbVN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBkLlR5cGUgPT09ICJsbG0iKTsKCQkJaWYgKGxsbVN0ZXBzLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnVG9rZW5zJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3N0eWxlJ30pOwkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsJCgoJCQljb25zdCBhZ2VudENvbG9ycyA9IHt9OwoJCQljb25zdCBwYWxldHRlID0gWycjNDI4NUY0JywgJyNEQjQ0MzcnLCAnI0Y0QjQwMCcsICcjMEY5RDU4JywgJyNBQjQ3QkMnLCAnIzAwQUNDMSddOwoJCQlsZXQgY29sb3JJZHggPSAwOwoJCQljb25zdCBhZ2VudExMTUNvdW50cyA9IHt9OwoJCQlsbG1TdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJaWYgKCFhZ2VudENvbG9yc1tzLk5hbWVdKSB7CgkJCQkJYWdlbnRDb2xvcnNbcy5OYW1lXSA9IHBhbGV0dGVbY29sb3JJZHggJSBwYWxldHRlLmxlbmd0aF07CgkJCQkJY29sb3JJZHgrKzsKCQkJCX0KCgkJCQlhZ2VudExMTUNvdW50c1tzLk5hbWVdID0gKGFnZW50TExNQ291bnRzW3MuTmFtZV0gfHwgMCkgKyAxOwoJCQkJY29uc3QgbGFiZWwgPSBgJHtzLk5hbWV9LSR7YWdlbnRMTE1Db3VudHNbcy5OYW1lXX1gOwoJCQkJY29uc3QgdG90YWxUb2tlbnMgPSBzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zOwoJCQkJY29uc3Qgc3R5bGUgPSBgY29sb3I6ICR7YWdlbnRDb2xvcnNbcy5OYW1lXX1gOwoJCQkJbGV0IHRvb2x0aXAgPSBgVG90YWwgVG9rZW5zOiAke3RvdGFsVG9rZW5zfVxuKEluOiAke3MuSW5wdXRUb2tlbnN9LCBPdXQ6ICR7cy5PdXRwdXRUb2tlbnN9LCBUaG91Z2h0czogJHtzLk91dHB1dFRob3VnaHRzVG9rZW5zfSlgOwoJCQkJaWYgKHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCgkJCQlkYXRhLmFkZFJvdyhbbGFiZWwsIHRvdGFsVG9rZW5zLCBzdHlsZSwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1Rva2VuIENvbnN1bXB0aW9uIGJ5IExMTSBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNIENhbGwgU2VxdWVuY2UnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnQ29uc3VtZWQgVG9rZW5zJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b2tlbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoJCWxldCBhbGxFeHBhbmRlZCA9IGZhbHNlOwoJCWZ1bmN0aW9uIHRvZ2dsZUFsbERldGFpbHMoKSB7CgkJCWFsbEV4cGFuZGVkID0gIWFsbEV4cGFuZGVkOwoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkZXRhaWxzJykuZm9yRWFjaChkID0+IHsKCQkJCWlmIChhbGxFeHBhbmRlZCkgZC5zZXRBdHRyaWJ1dGUoJ29wZW4nLCAnJyk7CgkJCQllbHNlIGQucmVtb3ZlQXR0cmlidXRlKCdvcGVuJyk7CgkJCX0pOwoJCX0KCTwvc2NyaXB0PgoKCjwvYm9keT4KPC9odG1sPgo=" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflow4vnk4[1] Phase: Running StartedAt: 2026-08-03 04:24:23 +0000 UTC FinishedAt: 0001-01-01 00:00:00 +0000 UTC Input: nil Output: nil --------- Name: series-workflow4vnk4[1].abort-on-skip-outcome Phase: Failed StartedAt: 2026-08-03 04:24:23 +0000 UTC FinishedAt: 2026-08-03 04:24:38 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:code,Default:nil,Value:*1,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{},Result:nil,ExitCode:*1,}