Name: series-workflowfxh2h Phase: Failed StartedAt: 2026-08-31 19:29:45 +0000 UTC FinishedAt: 2026-08-31 20:20:06 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfxh2h[0] Phase: Succeeded StartedAt: 2026-08-31 19:29:45 +0000 UTC FinishedAt: 2026-08-31 20:19:55 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfxh2h[0].run-triage Phase: Succeeded StartedAt: 2026-08-31 19:29:45 +0000 UTC FinishedAt: 2026-08-31 20:19:55 +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+CgkJCTx0ZD4yMDI2LzA4LzMxIDIwOjE4PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MW08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7S01TQU5SZWFzb25pbmcmIzM0OzogJiMzNDsmIzM0OywKICAmIzM0O05lZWRzS01TQU4mIzM0OzogZmFsc2UsCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgbW9kaWZpZWQgY29kZSBpcyBpbiBsaWJpcHcsIGEgaGVscGVyIGxpYnJhcnkgdXNlZCBleGNsdXNpdmVseSBieSB0aGUgSW50ZWwgUFJPL1dpcmVsZXNzIDIxMDAgYW5kIDIyMDAgUENJIGRyaXZlcnMgKGlwdzIxMDAgYW5kIGlwdzIyMDApLiBUaGVzZSBkcml2ZXJzIHJlcXVpcmUgcGh5c2ljYWwgUENJIGhhcmR3YXJlIG5vdCBlbXVsYXRlZCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBRRU1VIG9yIEdDRS4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDgvMzEgMjA6MTg8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCA0ZWJjODIwNzM5MWY4ZjE3MjVjZjM4Njk0MmI2NDI2NTYyMWNlM2VmXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIE1vbiBBdWcgMzEgMjA6MTg6MDggMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmNcbmluZGV4IGI3YmM5NGY3YWJkOGEuLmM4ODQxZjliOWFkOTEgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jXG5AQCAtNDE0LDcgJiM0Mzs0MTQsNyBAQCBpbnQgbGliaXB3X3J4KHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLFxuIFx0ICAgIGllZWUtXHUwMDNlaG9zdF9tY19kZWNyeXB0IDogaWVlZS1cdTAwM2Vob3N0X2RlY3J5cHQ7XG4gXG4gXHRpZiAoY2FuX2JlX2RlY3J5cHRlZCkge1xuLVx0XHRpZiAoc2tiLVx1MDAzZWxlbiBcdTAwM2U9IGhkcmxlbiAmIzQzOyAzKSB7XG4mIzQzO1x0XHRpZiAoc2tiLVx1MDAzZWxlbiBcdTAwM2U9IGhkcmxlbiAmIzQzOyA0KSB7XG4gXHRcdFx0LyogVG9wIHR3by1iaXRzIG9mIGJ5dGUgMyBhcmUgdGhlIGtleSBpbmRleCAqL1xuIFx0XHRcdGtleWlkeCA9IHNrYi1cdTAwM2VkYXRhW2hkcmxlbiAmIzQzOyAzXSBcdTAwM2VcdTAwM2UgNjtcbiBcdFx0fVxuQEAgLTY2MCw3ICYjNDM7NjYwLDcgQEAgaW50IGxpYmlwd19yeChzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSwgc3RydWN0IHNrX2J1ZmYgKnNrYixcbiBcdFx0aW50IHRyaW1sZW4gPSAwO1xuIFxuIFx0XHQvKiBUb3AgdHdvLWJpdHMgb2YgYnl0ZSAzIGFyZSB0aGUga2V5IGluZGV4ICovXG4tXHRcdGlmIChza2ItXHUwMDNlbGVuIFx1MDAzZT0gaGRybGVuICYjNDM7IDMpXG4mIzQzO1x0XHRpZiAoc2tiLVx1MDAzZWxlbiBcdTAwM2U9IGhkcmxlbiAmIzQzOyA0KVxuIFx0XHRcdGtleWlkeCA9IHNrYi1cdTAwM2VkYXRhW2hkcmxlbiAmIzQzOyAzXSBcdTAwM2VcdTAwM2UgNjtcbiBcbiBcdFx0LyogVG8gc3RyaXAgb2ZmIGFueSBzZWN1cml0eSBkYXRhIHdoaWNoIGFwcGVhcnMgYmVmb3JlIHRoZVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzMxIDIwOjE4PC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjFtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmNvcmU8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIG1vZGlmaWVkIGNvZGUgaXMgaW4gbGliaXB3LCBhIGhlbHBlciBsaWJyYXJ5IHVzZWQgZXhjbHVzaXZlbHkgYnkgdGhlIEludGVsIFBSTy9XaXJlbGVzcyAyMTAwIGFuZCAyMjAwIFBDSSBkcml2ZXJzIChpcHcyMTAwIGFuZCBpcHcyMjAwKS4gVGhlc2UgZHJpdmVycyByZXF1aXJlIHBoeXNpY2FsIFBDSSBoYXJkd2FyZSBub3QgZW11bGF0ZWQgaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgUUVNVSBvciBHQ0UuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCiAgZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgotIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLAogIGlvbmljLCBhbWRncHUpIHRoYXQgcmVxdWlyZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLgotIERyaXZlciAucmVtb3ZlLCAuc2h1dGRvd24sIG9yIHBjaV91bnJlZ2lzdGVyX2RyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKGUuZy4sIGlnYl9yZW1vdmUpCiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KICAgUHJlZmVyIG5vbi1zdGF0aWMsIG5vbi1pbmxpbmVkIEFQSSBlbnRyeXBvaW50IGZ1bmN0aW9ucyBvdmVyIGludGVybmFsIHN0YXRpYyBoZWxwZXIgZnVuY3Rpb25zCiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLgoyLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS4KICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgogICBBbHNvIGNoZWNrICYjMzQ7ZGVwZW5kcyBvbiYjMzQ7IGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlncwogICBuZWVkZWQgZm9yIEtidWlsZCB0byBjb21waWxlIHRoZSBjb2RlIHN0YXRpY2FsbHkgaW50byB2bWxpbnV4LiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3MKICAgb3V0cHV0IGFycmF5LCBhbmQgRE8gTk9UIGFkZCBhICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgNGViYzgyMDczOTFmOGYxNzI1Y2YzODY5NDJiNjQyNjU2MjFjZTNlZgpBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBNb24gQXVnIDMxIDIwOjE4OjA4IDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMKaW5kZXggYjdiYzk0ZjdhYmQ4YS4uYzg4NDFmOWI5YWQ5MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jCkBAIC00MTQsNyAmIzQzOzQxNCw3IEBAIGludCBsaWJpcHdfcngoc3RydWN0IGxpYmlwd19kZXZpY2UgKmllZWUsIHN0cnVjdCBza19idWZmICpza2IsCiAJICAgIGllZWUtJmd0O2hvc3RfbWNfZGVjcnlwdCA6IGllZWUtJmd0O2hvc3RfZGVjcnlwdDsKIAogCWlmIChjYW5fYmVfZGVjcnlwdGVkKSB7Ci0JCWlmIChza2ItJmd0O2xlbiAmZ3Q7PSBoZHJsZW4gJiM0MzsgMykgewomIzQzOwkJaWYgKHNrYi0mZ3Q7bGVuICZndDs9IGhkcmxlbiAmIzQzOyA0KSB7CiAJCQkvKiBUb3AgdHdvLWJpdHMgb2YgYnl0ZSAzIGFyZSB0aGUga2V5IGluZGV4ICovCiAJCQlrZXlpZHggPSBza2ItJmd0O2RhdGFbaGRybGVuICYjNDM7IDNdICZndDsmZ3Q7IDY7CiAJCX0KQEAgLTY2MCw3ICYjNDM7NjYwLDcgQEAgaW50IGxpYmlwd19yeChzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSwgc3RydWN0IHNrX2J1ZmYgKnNrYiwKIAkJaW50IHRyaW1sZW4gPSAwOwogCiAJCS8qIFRvcCB0d28tYml0cyBvZiBieXRlIDMgYXJlIHRoZSBrZXkgaW5kZXggKi8KLQkJaWYgKHNrYi0mZ3Q7bGVuICZndDs9IGhkcmxlbiAmIzQzOyAzKQomIzQzOwkJaWYgKHNrYi0mZ3Q7bGVuICZndDs9IGhkcmxlbiAmIzQzOyA0KQogCQkJa2V5aWR4ID0gc2tiLSZndDtkYXRhW2hkcmxlbiAmIzQzOyAzXSAmZ3Q7Jmd0OyA2OwogCiAJCS8qIFRvIHN0cmlwIG9mZiBhbnkgc2VjdXJpdHkgZGF0YSB3aGljaCBhcHBlYXJzIGJlZm9yZSB0aGUKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMzEgMjA6MTg8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjctZmxhc2g8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjI5NQoJCQkJCQkJb3V0cHV0OiA4MwoJCQkJCQkJdGhvdWdodHM6IDI1OQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgdGhlIFBhdGNoJiMzOTtzIFBvdGVudGlhbCBmb3IgRnV6emluZyoqCgpPa2F5LCB0aGUgcGF0Y2ggaXMgaW4gYGRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmNgLiBNeSBpbml0aWFsIHRob3VnaHQgaXMgdG8gZmlndXJlIG91dCB3aGF0IGBpcHcyeDAwYCBhbmQgYGxpYmlwd2AgYWN0dWFsbHkgKmFyZSouIENhbiB0aGlzIGNvZGUgYmUgZnV6emVkIGVmZmVjdGl2ZWx5PyBBcmUgdGhlcmUgYW55IHJvYWRibG9ja3MgdG8gcmVhY2hpbmcgaXQgd2l0aGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIFFFTVU/CgpCdXQsIGhvbGQgb24uIEkgbmVlZCB0byBiZSBtZXRob2RpY2FsLiBUaGUgaW5zdHJ1Y3Rpb25zIG1lbnRpb25lZCBzb21ldGhpbmcgYWJvdXQgcmV0dXJuaW5nIGBXb3J0aEZ1enppbmc9ZmFsc2VgIGluIGNlcnRhaW4gc2NlbmFyaW9zLiBSaWdodCwgbGV0IG1lIGNoZWNrIHRoYXQuIFNwZWNpZmljYWxseSwgaXQgaGlnaGxpZ2h0ZWQgc29tZSBzY2VuYXJpb3Mgd2hlcmUgdGhlIHBhdGNoIHdvdWxkIGJlIHVucmVhY2hhYmxlOiBjb2RlIHBhdGhzIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIChldmVuIHdpdGggc29mdHdhcmUgZW11bGF0aW9ucyBvZiBoYXJkd2FyZSksIG9yIGNvZGUgdGhhdCYjMzk7cyB0aWVkIHRvIHZlcnkgc3BlY2lmaWMgcGh5c2ljYWwgaGFyZHdhcmUgbGlrZSBQQ0llIHN3aXRjaGVzLCBTbWFydE5JQ3MsIG9yIEdQVSBkcml2ZXJzLiBJIGtub3cgdGhpcyBmcm9tIGV4cGVyaWVuY2UsIGl0IGlzIHZlcnkgaW1wb3J0YW50IHRvIGF2b2lkIHdhc3RpbmcgdGltZS4KClNvLCAqZG9lcyogYGxpYmlwd2AgZmFsbCBpbnRvIG9uZSBvZiB0aG9zZSBjYXRlZ29yaWVzPyBMZXQmIzM5O3MgdHJhY2UgaXQgdGhyb3VnaCB0aGUga2VybmVsLiBJJiMzOTtsbCBuZWVkIHRvIGNoZWNrIHdoYXQgc3BlY2lmaWNhbGx5IHVzZXMgYGxpYmlwd2AuIEkgc2hvdWxkIHN0YXJ0IGJ5IGxvb2tpbmcgYXQgdGhlIHJlbGV2YW50IGRpcmVjdG9yeSwgYGRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvYC4gRWl0aGVyIGBncmVwcGVyYCBvciBjaGVja2luZyB0aGUgS2NvbmZpZyBhbmQgb3RoZXIgZmlsZXMgd2l0aGluIHRoYXQgZGlyZWN0b3J5IHNob3VsZCBwcm92aWRlIHRoZSBuZWNlc3NhcnkgaW5mb3JtYXRpb24uIFRoaXMgd2lsbCBoZWxwIGRldGVybWluZSBpZiB0aGUgY29kZSBjYW4gYmUgcmVhY2hlZCB1bmRlciBRRU1VIG9yIG5vdC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8zMSAyMDoxODwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtsaWJpcHdfcngmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvTWFrZWZpbGU9MTA9bGliaXB3LW9ianMgOj0gXFxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL01ha2VmaWxlLTEyLVx0bGliaXB3X3R4Lm8gXFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvTWFrZWZpbGU6MTM6XHRsaWJpcHdfcngubyBcXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9NYWtlZmlsZS0xNC1cdGxpYmlwd193eC5vIFxcXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9MjQzMz1zdGF0aWMgdm9pZCBpc3Jfcngoc3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiwgaW50IGksXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyNDM0Olx0XHRcdCAgc3RydWN0IGxpYmlwd19yeF9zdGF0cyAqc3RhdHMpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNDM1LXtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNDcxLVx0LyogTWFrZSBhIGNvcHkgb2YgdGhlIGZyYW1lIHNvIHdlIGNhbiBkdW1wIGl0IHRvIHRoZSBsb2dzIGlmXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyNDcyOlx0ICogbGliaXB3X3J4IGZhaWxzICovXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNDczLVx0c2tiX2NvcHlfZnJvbV9saW5lYXJfZGF0YShwYWNrZXQtXHUwMDNlc2tiLCBwYWNrZXRfZGF0YSxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNDc3LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MjQ3ODpcdGlmICghbGliaXB3X3J4KHByaXYtXHUwMDNlaWVlZSwgcGFja2V0LVx1MDAzZXNrYiwgc3RhdHMpKSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNDc5LSNpZmRlZiBJUFcyMTAwX1JYX0RFQlVHXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjQ4NS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjI0ODY6XHRcdC8qIGxpYmlwd19yeCBmYWlsZWQsIHNvIGl0IGRpZG4mIzM5O3QgZnJlZSB0aGUgU0tCICovXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNDg3LVx0XHRkZXZfa2ZyZWVfc2tiX2FueShwYWNrZXQtXHUwMDNlc2tiKTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz0yNTA2PXN0YXRpYyB2b2lkIGlzcl9yeF9tb25pdG9yKHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYsIGludCBpLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MjUwNzpcdFx0ICAgc3RydWN0IGxpYmlwd19yeF9zdGF0cyAqc3RhdHMpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNTA4LXtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNTY0LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MjU2NTpcdGlmICghbGliaXB3X3J4KHByaXYtXHUwMDNlaWVlZSwgcGFja2V0LVx1MDAzZXNrYiwgc3RhdHMpKSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNTY2LVx0XHRkZXYtXHUwMDNlc3RhdHMucnhfZXJyb3JzJiM0MzsmIzQzOztcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI1NjctXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyNTY4Olx0XHQvKiBsaWJpcHdfcnggZmFpbGVkLCBzbyBpdCBkaWRuJiMzOTt0IGZyZWUgdGhlIFNLQiAqL1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjU2OS1cdFx0ZGV2X2tmcmVlX3NrYl9hbnkocGFja2V0LVx1MDAzZXNrYik7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9MjY0ND1zdGF0aWMgdm9pZCBfX2lwdzIxMDBfcnhfcHJvY2VzcyhzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2KVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI2NTEtXHRzdHJ1Y3QgaXB3MjEwMF9yeCAqdTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjI2NTI6XHRzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzIHN0YXRzID0ge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjY1My1cdFx0Lm1hY190aW1lID0gamlmZmllcyxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNzE4LVx0XHRcdGNhc2UgSUVFRTgwMjExX0ZUWVBFX01HTVQ6XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyNzE5Olx0XHRcdFx0bGliaXB3X3J4X21ndChwcml2LVx1MDAzZWllZWUsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNzIwLVx0XHRcdFx0XHRcdCBcdTAwMjZ1LVx1MDAzZXJ4X2RhdGEuaGVhZGVyLCBcdTAwMjZzdGF0cyk7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9NDQyNT1zdGF0aWMgdm9pZCBpcHdfcnhfbm90aWZpY2F0aW9uKHN0cnVjdCBpcHdfcHJpdiAqcHJpdixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy00NDgyLVx0XHRcdFx0XHRcdFx0c3RydWN0XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo0NDgzOlx0XHRcdFx0XHRcdFx0bGliaXB3X3J4X3N0YXRzXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy00NDg0LVx0XHRcdFx0XHRcdFx0ICAgIHN0YXRzID0ge1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTQ0OTAtXHRcdFx0XHRcdFx0XHQgICAgIFwmIzM0O3NpemUgJWRcXG5cJiMzNDssIHNpemUpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NDQ5MTpcdFx0XHRcdFx0XHRcdGxpYmlwd19yeF9tZ3QocHJpdi1cdTAwM2VcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTQ0OTItXHRcdFx0XHRcdFx0XHRcdFx0IGllZWUsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9NzYzMj1zdGF0aWMgdm9pZCBpcHdfaGFuZGxlX2RhdGFfcGFja2V0KHN0cnVjdCBpcHdfcHJpdiAqcHJpdixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTc2MzMtXHRcdFx0XHQgICBzdHJ1Y3QgaXB3X3J4X21lbV9idWZmZXIgKnJ4YixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjc2MzQ6XHRcdFx0XHQgICBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICpzdGF0cylcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTc2MzUte1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTc2NzItXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo3NjczOlx0aWYgKCFsaWJpcHdfcngocHJpdi1cdTAwM2VpZWVlLCByeGItXHUwMDNlc2tiLCBzdGF0cykpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03Njc0LVx0XHRkZXYtXHUwMDNlc3RhdHMucnhfZXJyb3JzJiM0MzsmIzQzOztcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjc2NzU6XHRlbHNlIHtcdFx0XHQvKiBsaWJpcHdfcnggc3VjY2VlZGVkLCBzbyBpdCBub3cgb3ducyB0aGUgU0tCICovXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03Njc2LVx0XHRyeGItXHUwMDNlc2tiID0gTlVMTDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYz03NjgyPXN0YXRpYyB2b2lkIGlwd19oYW5kbGVfZGF0YV9wYWNrZXRfbW9uaXRvcihzdHJ1Y3QgaXB3X3ByaXYgKnByaXYsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03NjgzLVx0XHRcdFx0XHQgICBzdHJ1Y3QgaXB3X3J4X21lbV9idWZmZXIgKnJ4YixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjc2ODQ6XHRcdFx0XHRcdCAgIHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgKnN0YXRzKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNzY4NS17XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNzgyOS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjc4MzA6XHRpZiAoIWxpYmlwd19yeChwcml2LVx1MDAzZWllZWUsIHJ4Yi1cdTAwM2Vza2IsIHN0YXRzKSlcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTc4MzEtXHRcdGRldi1cdTAwM2VzdGF0cy5yeF9lcnJvcnMmIzQzOyYjNDM7O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NzgzMjpcdGVsc2Uge1x0XHRcdC8qIGxpYmlwd19yeCBzdWNjZWVkZWQsIHNvIGl0IG5vdyBvd25zIHRoZSBTS0IgKi9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTc4MzMtXHRcdHJ4Yi1cdTAwM2Vza2IgPSBOVUxMO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jPTc4NTk9c3RhdGljIHZvaWQgaXB3X2hhbmRsZV9wcm9taXNjdW91c19yeChzdHJ1Y3QgaXB3X3ByaXYgKnByaXYsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03ODYwLVx0XHRcdFx0ICAgICAgc3RydWN0IGlwd19yeF9tZW1fYnVmZmVyICpyeGIsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo3ODYxOlx0XHRcdFx0ICAgICAgc3RydWN0IGxpYmlwd19yeF9zdGF0cyAqc3RhdHMpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03ODYyLXtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04MDM1LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6ODAzNjpcdGlmICghbGliaXB3X3J4KHByaXYtXHUwMDNlcHJvbV9wcml2LVx1MDAzZWllZWUsIHNrYiwgc3RhdHMpKSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04MDM3LVx0XHRkZXYtXHUwMDNlc3RhdHMucnhfZXJyb3JzJiM0MzsmIzQzOztcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYz04MTU0PXN0YXRpYyB2b2lkIGlwd19oYW5kbGVfbWdtdF9wYWNrZXQoc3RydWN0IGlwd19wcml2ICpwcml2LFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODE1NS1cdFx0XHRcdCAgIHN0cnVjdCBpcHdfcnhfbWVtX2J1ZmZlciAqcnhiLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6ODE1NjpcdFx0XHRcdCAgIHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgKnN0YXRzKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODE1Ny17XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODE2Mi1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjgxNjM6XHRsaWJpcHdfcnhfbWd0KHByaXYtXHUwMDNlaWVlZSwgaGVhZGVyLCBzdGF0cyk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04MTY0LVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTgxODQtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo4MTg1Olx0XHQvKiBQdXNoIHRoZSBsaWJpcHdfcnhfc3RhdHMgYmVmb3JlIHRoZSA4MDIuMTEgZnJhbWUgKi9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTgxODYtXHRcdG1lbWNweShza2JfcHVzaChza2IsIHNpemVvZigqc3RhdHMpKSwgc3RhdHMsIHNpemVvZigqc3RhdHMpKTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYz04MjA2PXN0YXRpYyB2b2lkIGlwd19yeChzdHJ1Y3QgaXB3X3ByaXYgKnByaXYpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODIzOS1cdFx0Y2FzZSBSWF9GUkFNRV9UWVBFOlx0LyogODAyLjExIGZyYW1lICovICB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo4MjQwOlx0XHRcdFx0c3RydWN0IGxpYmlwd19yeF9zdGF0cyBzdGF0cyA9IHtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTgyNDEtXHRcdFx0XHRcdC5yc3NpID0gcGt0LVx1MDAzZXUuZnJhbWUucnNzaV9kYm0gLVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jPTEwMjU2PXN0YXRpYyB2b2lkIGlwd19oYW5kbGVfcHJvbWlzY3VvdXNfdHgoc3RydWN0IGlwd19wcml2ICpwcml2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTEwMjU4LXtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjEwMjU5Olx0c3RydWN0IGxpYmlwd19yeF9zdGF0cyBkdW1teXN0YXRzO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtMTAyNjAtXHRzdHJ1Y3QgaWVlZTgwMjExX2hkciAqaGRyO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTEwMzMwLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6MTAzMzE6XHRcdGlmICghbGliaXB3X3J4KHByaXYtXHUwMDNlcHJvbV9wcml2LVx1MDAzZWllZWUsIGRzdCwgXHUwMDI2ZHVtbXlzdGF0cykpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy0xMDMzMi1cdFx0XHRkZXZfa2ZyZWVfc2tiX2FueShkc3QpO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3Lmg9MTM1PXN0cnVjdCBsaWJpcHdfc25hcF9oZHIge1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3LmgtMjE3LSAqICAgICAgIGluZm9ybWF0aW9uIGZvciBmcmFtZXMgcmVjZWl2ZWQuXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oOjIxODogKiAgICAgICBGb3IgbGliaXB3X3J4X21ndCwgeW91IG5lZWQgdG8gc2V0IGF0IGxlYXN0IHRoZSAmIzM5O2xlbiYjMzk7IHBhcmFtZXRlci5cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3LmgtMjE5LSAqL1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaDoyMjA6c3RydWN0IGxpYmlwd19yeF9zdGF0cyB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oLTIyMS1cdHUzMiBtYWNfdGltZTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oPTU5OT1zdHJ1Y3QgbGliaXB3X25ldHdvcmsge1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3LmgtNjA5LVx0LyogVGhlc2UgYXJlIG5ldHdvcmsgc3RhdGlzdGljcyAqL1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaDo2MTA6XHRzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzIHN0YXRzO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaC02MTEtXHR1MTYgY2FwYWJpbGl0eTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oPTc3MD1zdHJ1Y3QgbGliaXB3X2RldmljZSB7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaC04NjYtXHRcdFx0ICAgICAgc3RydWN0IGxpYmlwd19hY3Rpb24gKiBhY3Rpb24sXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oOjg2NzpcdFx0XHQgICAgICBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICogc3RhdHMpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaC04NjgtXHRpbnQgKCpoYW5kbGVfZGlzYXNzb2MpIChzdHJ1Y3QgbmV0X2RldmljZSAqIGRldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oLTg3Ny1cdFx0XHRcdCAgICAgc3RydWN0IGxpYmlwd19wcm9iZV9yZXF1ZXN0ICogcmVxLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaDo4Nzg6XHRcdFx0XHQgICAgIHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgKiBzdGF0cyk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oLTg3OS1cdGludCAoKmhhbmRsZV9hc3NvY19yZXNwb25zZSkgKHN0cnVjdCBuZXRfZGV2aWNlICogZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3Lmg9MTAxMT12b2lkIGxpYmlwd190eGJfZnJlZShzdHJ1Y3QgbGliaXB3X3R4YiAqKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3LmgtMTAxMi1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3Lmg6MTAxMzovKiBsaWJpcHdfcnguYyAqL1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaDoxMDE0OmludCBsaWJpcHdfcngoc3RydWN0IGxpYmlwd19kZXZpY2UgKmllZWUsIHN0cnVjdCBza19idWZmICpza2IsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oOjEwMTU6XHQgICAgICBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICpyeF9zdGF0cyk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oLTEwMTYtLyogbWFrZSBzdXJlIHRvIHNldCBzdGF0cy1cdTAwM2VsZW4gKi9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3Lmg6MTAxNzp2b2lkIGxpYmlwd19yeF9tZ3Qoc3RydWN0IGxpYmlwd19kZXZpY2UgKmllZWUsIHN0cnVjdCBsaWJpcHdfaGRyXzRhZGRyICpoZWFkZXIsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oOjEwMTg6XHRcdCAgIHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgKnN0YXRzKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3LmgtMTAxOS1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jPTMyPXN0YXRpYyB2b2lkIGxpYmlwd19tb25pdG9yX3J4KHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0zMy1cdFx0XHRcdFx0c3RydWN0IHNrX2J1ZmYgKnNrYixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6MzQ6XHRcdFx0XHRcdHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgKnJ4X3N0YXRzKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0zNS17XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYz0xMzM9c3RhdGljIGludCBsaWJpcHdfZnJhZ19jYWNoZV9pbnZhbGlkYXRlKHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTU2LSNpZmRlZiBOT1RfWUVUXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjE1NzovKiBsaWJpcHdfcnhfZnJhbWVfbWd0bXRcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTU4LSAqXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0xNjAtICpcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6MTYxOiAqIENhbGxlZCBieSBsaWJpcHdfcnggKi9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTYyLXN0YXRpYyBpbnRcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6MTYzOmxpYmlwd19yeF9mcmFtZV9tZ210KHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzoxNjQ6XHRcdFx0c3RydWN0IGxpYmlwd19yeF9zdGF0cyAqcnhfc3RhdHMsIHUxNiB0eXBlLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0xNjUtXHRcdFx0dTE2IHN0eXBlKVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM9MjE5PXN0YXRpYyB1bnNpZ25lZCBjaGFyIGxpYmlwd19icmlkZ2VfdHVubmVsX2hlYWRlcltdID1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTIyMi1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6MjIzOi8qIENhbGxlZCBieSBsaWJpcHdfcnhfZnJhbWVfZGVjcnlwdCAqL1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0yMjQtc3RhdGljIGludCBsaWJpcHdfaXNfZWFwb2xfZnJhbWUoc3RydWN0IGxpYmlwd19kZXZpY2UgKmllZWUsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0yNjItXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjI2MzovKiBDYWxsZWQgb25seSBhcyBhIHRhc2tsZXQgKHNvZnR3YXJlIElSUSksIGJ5IGxpYmlwd19yeCAqL1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0yNjQtc3RhdGljIGludFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzoyNjU6bGliaXB3X3J4X2ZyYW1lX2RlY3J5cHQoc3RydWN0IGxpYmlwd19kZXZpY2UgKmllZWUsIHN0cnVjdCBza19idWZmICpza2IsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTI2Ni1cdFx0XHQgICBzdHJ1Y3QgbGliaXB3X2NyeXB0X2RhdGEgKmNyeXB0KVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMjkzLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzoyOTQ6LyogQ2FsbGVkIG9ubHkgYXMgYSB0YXNrbGV0IChzb2Z0d2FyZSBJUlEpLCBieSBsaWJpcHdfcnggKi9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMjk1LXN0YXRpYyBpbnRcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6Mjk2OmxpYmlwd19yeF9mcmFtZV9kZWNyeXB0X21zZHUoc3RydWN0IGxpYmlwd19kZXZpY2UgKmllZWUsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTI5Ny1cdFx0XHRcdHN0cnVjdCBza19idWZmICpza2IsIGludCBrZXlpZHgsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0zMjQtICogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgb25seSBhcyBhIHRhc2tsZXQgKHNvZnR3YXJlIElSUSkuICovXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjMyNTppbnQgbGliaXB3X3J4KHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzozMjY6XHRcdCBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICpyeF9zdGF0cylcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMzI3LXtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTQ3MS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6NDcyOlx0XHRpZiAobGliaXB3X3J4X2ZyYW1lX21nbXQoaWVlZSwgc2tiLCByeF9zdGF0cywgdHlwZSwgc3R5cGUpKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy00NzMtXHRcdFx0Z290byByeF9kcm9wcGVkO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtNTY2LVx0aWYgKChmYyBcdTAwMjYgSUVFRTgwMjExX0ZDVExfUFJPVEVDVEVEKSBcdTAwMjZcdTAwMjYgY2FuX2JlX2RlY3J5cHRlZCBcdTAwMjZcdTAwMjZcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6NTY3Olx0ICAgIChrZXlpZHggPSBsaWJpcHdfcnhfZnJhbWVfZGVjcnlwdChpZWVlLCBza2IsIGNyeXB0KSkgXHUwMDNjIDApXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTU2OC1cdFx0Z290byByeF9kcm9wcGVkO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtNjMwLVx0aWYgKChmYyBcdTAwMjYgSUVFRTgwMjExX0ZDVExfUFJPVEVDVEVEKSBcdTAwMjZcdTAwMjYgY2FuX2JlX2RlY3J5cHRlZCBcdTAwMjZcdTAwMjZcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6NjMxOlx0ICAgIGxpYmlwd19yeF9mcmFtZV9kZWNyeXB0X21zZHUoaWVlZSwgc2tiLCBrZXlpZHgsIGNyeXB0KSlcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtNjMyLVx0XHRnb3RvIHJ4X2Ryb3BwZWQ7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYz0xMjA1PXN0YXRpYyBpbnQgbGliaXB3X2hhbmRsZV9hc3NvY19yZXNwKHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLCBzdHJ1Y3QgbGliaXB3X2Fzc29jX3Jlc3BvbnNlXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjEyMDY6XHRcdFx0XHQgICAgICAgKmZyYW1lLCBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICpzdGF0cylcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTIwNy17XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYz0xMjYzPXN0YXRpYyBpbnQgbGliaXB3X25ldHdvcmtfaW5pdChzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSwgc3RydWN0IGxpYmlwd19wcm9iZV9yZXNwb25zZVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTI2NS1cdFx0XHRcdFx0IHN0cnVjdCBsaWJpcHdfbmV0d29yayAqbmV0d29yayxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6MTI2NjpcdFx0XHRcdFx0IHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgKnN0YXRzKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0xMjY3LXtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jPTEzMzc9c3RhdGljIHZvaWQgdXBkYXRlX25ldHdvcmsoc3RydWN0IGxpYmlwd19uZXR3b3JrICpkc3QsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0xMzQ5LVx0XHRtZW1jcHkoXHUwMDI2ZHN0LVx1MDAzZXN0YXRzLCBcdTAwMjZzcmMtXHUwMDNlc3RhdHMsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjEzNTA6XHRcdCAgICAgICBzaXplb2Yoc3RydWN0IGxpYmlwd19yeF9zdGF0cykpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0xMzUxLVx0ZWxzZVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM9MTQwOT1zdGF0aWMgdm9pZCBsaWJpcHdfcHJvY2Vzc19wcm9iZV9yZXNwb25zZShzdHJ1Y3QgbGliaXB3X2RldmljZVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTQxMS1cdFx0XHRcdFx0XHQgICAgbGliaXB3X3Byb2JlX3Jlc3BvbnNlXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjE0MTI6XHRcdFx0XHRcdFx0ICAgICpiZWFjb24sIHN0cnVjdCBsaWJpcHdfcnhfc3RhdHNcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTQxMy1cdFx0XHRcdFx0XHQgICAgKnN0YXRzKVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTUxOS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6MTUyMDp2b2lkIGxpYmlwd19yeF9tZ3Qoc3RydWN0IGxpYmlwd19kZXZpY2UgKmllZWUsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTE1MjEtXHRcdCAgICAgIHN0cnVjdCBsaWJpcHdfaGRyXzRhZGRyICpoZWFkZXIsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjE1MjI6XHRcdCAgICAgIHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgKnN0YXRzKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0xNTIzLXtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTE2NDEtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjE2NDI6RVhQT1JUX1NZTUJPTChsaWJpcHdfcnhfbWd0KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6MTY0MzpFWFBPUlRfU1lNQk9MKGxpYmlwd19yeCk7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NS8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMzEgMjA6MTg8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5yZWFkLWZpbGU8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0ZpbGUmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWcmIzM0OywKICAmIzM0O0ZpcnN0TGluZSYjMzQ7OiAxLAogICYjMzQ7TGluZUNvdW50JiMzNDs6IDEwMAp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7Q29udGVudHMmIzM0OzogJiMzNDsgICAxOlx0IyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5XG4gICAyOlx0I1xuICAgMzpcdCMgSW50ZWwgQ2VudHJpbm8gd2lyZWxlc3MgZHJpdmVyc1xuICAgNDpcdCNcbiAgIDU6XHRcbiAgIDY6XHRjb25maWcgSVBXMjEwMFxuICAgNzpcdFx0dHJpc3RhdGUgXCYjMzQ7SW50ZWwgUFJPL1dpcmVsZXNzIDIxMDAgTmV0d29yayBDb25uZWN0aW9uXCYjMzQ7XG4gICA4Olx0XHRkZXBlbmRzIG9uIFBDSSBcdTAwMjZcdTAwMjYgQ0ZHODAyMTFcbiAgIDk6XHRcdHNlbGVjdCBXSVJFTEVTU19FWFRcbiAgMTA6XHRcdHNlbGVjdCBXRVhUX1BSSVZcbiAgMTE6XHRcdHNlbGVjdCBGV19MT0FERVJcbiAgMTI6XHRcdHNlbGVjdCBMSUJJUFdcbiAgMTM6XHRcdGhlbHBcbiAgMTQ6XHRcdCAgQSBkcml2ZXIgZm9yIHRoZSBJbnRlbCBQUk8vV2lyZWxlc3MgMjEwMCBOZXR3b3JrXG4gIDE1Olx0XHQgIENvbm5lY3Rpb24gODAyLjExYiB3aXJlbGVzcyBuZXR3b3JrIGFkYXB0ZXIuXG4gIDE2Olx0XG4gIDE3Olx0XHQgIFNlZSBcdTAwM2NmaWxlOkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy93aWZpL2ludGVsL2lwdzIxMDAucnN0XHUwMDNlXG4gIDE4Olx0XHQgIGZvciBpbmZvcm1hdGlvbiBvbiB0aGUgY2FwYWJpbGl0aWVzIGN1cnJlbnRseSBlbmFibGVkIGluIHRoaXMgZHJpdmVyXG4gIDE5Olx0XHQgIGFuZCBmb3IgdGlwcyBmb3IgZGVidWdnaW5nIGlzc3VlcyBhbmQgcHJvYmxlbXMuXG4gIDIwOlx0XG4gIDIxOlx0XHQgIEluIG9yZGVyIHRvIHVzZSB0aGlzIGRyaXZlciwgeW91IHdpbGwgbmVlZCBhIGZpcm13YXJlIGltYWdlIGZvciBpdC5cbiAgMjI6XHRcdCAgWW91IGNhbiBvYnRhaW4gdGhlIGZpcm13YXJlIGZyb21cbiAgMjM6XHRcdCAgXHUwMDNjaHR0cDovL2lwdzIxMDAuc2YubmV0L1x1MDAzZS4gIE9uY2UgeW91IGhhdmUgdGhlIGZpcm13YXJlIGltYWdlLCB5b3VcbiAgMjQ6XHRcdCAgd2lsbCBuZWVkIHRvIHBsYWNlIGl0IGluIC9saWIvZmlybXdhcmUuXG4gIDI1Olx0XG4gIDI2Olx0XHQgIFlvdSB3aWxsIGFsc28gdmVyeSBsaWtlbHkgbmVlZCB0aGUgV2lyZWxlc3MgVG9vbHMgaW4gb3JkZXIgdG9cbiAgMjc6XHRcdCAgY29uZmlndXJlIHlvdXIgY2FyZDpcbiAgMjg6XHRcbiAgMjk6XHRcdCAgXHUwMDNjaHR0cHM6Ly93d3cuaHBsLmhwLmNvbS9wZXJzb25hbC9KZWFuX1RvdXJyaWxoZXMvTGludXgvVG9vbHMuaHRtbFx1MDAzZS5cbiAgMzA6XHRcbiAgMzE6XHRcdCAgSXQgaXMgcmVjb21tZW5kZWQgdGhhdCB5b3UgY29tcGlsZSB0aGlzIGRyaXZlciBhcyBhIG1vZHVsZSAoTSlcbiAgMzI6XHRcdCAgcmF0aGVyIHRoYW4gYnVpbHQtaW4gKFkpLiBUaGlzIGRyaXZlciByZXF1aXJlcyBmaXJtd2FyZSBhdCBkZXZpY2VcbiAgMzM6XHRcdCAgaW5pdGlhbGl6YXRpb24gdGltZSwgYW5kIHdoZW4gYnVpbHQtaW4gdGhpcyB0eXBpY2FsbHkgaGFwcGVuc1xuICAzNDpcdFx0ICBiZWZvcmUgdGhlIGZpbGVzeXN0ZW0gaXMgYWNjZXNzaWJsZSAoaGVuY2UgZmlybXdhcmUgd2lsbCBiZVxuICAzNTpcdFx0ICB1bmF2YWlsYWJsZSBhbmQgaW5pdGlhbGl6YXRpb24gd2lsbCBmYWlsKS4gSWYgeW91IGRvIGNob29zZSB0byBidWlsZFxuICAzNjpcdFx0ICB0aGlzIGRyaXZlciBpbnRvIHlvdXIga2VybmVsIGltYWdlLCB5b3UgY2FuIGF2b2lkIHRoaXMgcHJvYmxlbSBieVxuICAzNzpcdFx0ICBpbmNsdWRpbmcgdGhlIGZpcm13YXJlIGFuZCBhIGZpcm13YXJlIGxvYWRlciBpbiBhbiBpbml0cmFtZnMuXG4gIDM4Olx0XG4gIDM5Olx0Y29uZmlnIElQVzIxMDBfTU9OSVRPUlxuICA0MDpcdFx0Ym9vbCBcJiMzNDtFbmFibGUgcHJvbWlzY3VvdXMgbW9kZVwmIzM0O1xuICA0MTpcdFx0ZGVwZW5kcyBvbiBJUFcyMTAwXG4gIDQyOlx0XHRoZWxwXG4gIDQzOlx0XHQgIEVuYWJsZXMgcHJvbWlzY3VvdXMvbW9uaXRvciBtb2RlIHN1cHBvcnQgZm9yIHRoZSBpcHcyMTAwIGRyaXZlci5cbiAgNDQ6XHRcdCAgV2l0aCB0aGlzIGZlYXR1cmUgY29tcGlsZWQgaW50byB0aGUgZHJpdmVyLCB5b3UgY2FuIHN3aXRjaCB0b1xuICA0NTpcdFx0ICBwcm9taXNjdW91cyBtb2RlIHZpYSB0aGUgV2lyZWxlc3MgVG9vbCYjMzk7cyBNb25pdG9yIG1vZGUuICBXaGlsZSBpbiB0aGlzXG4gIDQ2Olx0XHQgIG1vZGUsIG5vIHBhY2tldHMgY2FuIGJlIHNlbnQuXG4gIDQ3Olx0XG4gIDQ4Olx0Y29uZmlnIElQVzIxMDBfREVCVUdcbiAgNDk6XHRcdGJvb2wgXCYjMzQ7RW5hYmxlIGZ1bGwgZGVidWdnaW5nIG91dHB1dCBpbiBJUFcyMTAwIG1vZHVsZS5cJiMzNDtcbiAgNTA6XHRcdGRlcGVuZHMgb24gSVBXMjEwMFxuICA1MTpcdFx0aGVscFxuICA1MjpcdFx0ICBUaGlzIG9wdGlvbiB3aWxsIGVuYWJsZSBkZWJ1ZyB0cmFjaW5nIG91dHB1dCBmb3IgdGhlIElQVzIxMDAuXG4gIDUzOlx0XG4gIDU0Olx0XHQgIFRoaXMgd2lsbCByZXN1bHQgaW4gdGhlIGtlcm5lbCBtb2R1bGUgYmVpbmcgfjYwayBsYXJnZXIuICBZb3UgY2FuXG4gIDU1Olx0XHQgIGNvbnRyb2wgd2hpY2ggZGVidWcgb3V0cHV0IGlzIHNlbnQgdG8gdGhlIGtlcm5lbCBsb2cgYnkgc2V0dGluZyB0aGVcbiAgNTY6XHRcdCAgdmFsdWUgaW5cbiAgNTc6XHRcbiAgNTg6XHRcdCAgL3N5cy9idXMvcGNpL2RyaXZlcnMvaXB3MjEwMC9kZWJ1Z19sZXZlbFxuICA1OTpcdFxuICA2MDpcdFx0ICBUaGlzIGVudHJ5IHdpbGwgb25seSBleGlzdCBpZiB0aGlzIG9wdGlvbiBpcyBlbmFibGVkLlxuICA2MTpcdFxuICA2MjpcdFx0ICBJZiB5b3UgYXJlIG5vdCB0cnlpbmcgdG8gZGVidWcgb3IgZGV2ZWxvcCB0aGUgSVBXMjEwMCBkcml2ZXIsIHlvdVxuICA2MzpcdFx0ICBtb3N0IGxpa2VseSB3YW50IHRvIHNheSBOIGhlcmUuXG4gIDY0Olx0XG4gIDY1Olx0Y29uZmlnIElQVzIyMDBcbiAgNjY6XHRcdHRyaXN0YXRlIFwmIzM0O0ludGVsIFBSTy9XaXJlbGVzcyAyMjAwQkcgYW5kIDI5MTVBQkcgTmV0d29yayBDb25uZWN0aW9uXCYjMzQ7XG4gIDY3Olx0XHRkZXBlbmRzIG9uIFBDSSBcdTAwMjZcdTAwMjYgQ0ZHODAyMTFcbiAgNjg6XHRcdHNlbGVjdCBXSVJFTEVTU19FWFRcbiAgNjk6XHRcdHNlbGVjdCBXRVhUX1BSSVZcbiAgNzA6XHRcdHNlbGVjdCBGV19MT0FERVJcbiAgNzE6XHRcdHNlbGVjdCBMSUJJUFdcbiAgNzI6XHRcdGhlbHBcbiAgNzM6XHRcdCAgQSBkcml2ZXIgZm9yIHRoZSBJbnRlbCBQUk8vV2lyZWxlc3MgMjIwMEJHIGFuZCAyOTE1QUJHIE5ldHdvcmtcbiAgNzQ6XHRcdCAgQ29ubmVjdGlvbiBhZGFwdGVycy5cbiAgNzU6XHRcbiAgNzY6XHRcdCAgU2VlIFx1MDAzY2ZpbGU6RG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL3dpZmkvaW50ZWwvaXB3MjIwMC5yc3RcdTAwM2VcbiAgNzc6XHRcdCAgZm9yIGluZm9ybWF0aW9uIG9uIHRoZSBjYXBhYmlsaXRpZXMgY3VycmVudGx5IGVuYWJsZWQgaW4gdGhpc1xuICA3ODpcdFx0ICBkcml2ZXIgYW5kIGZvciB0aXBzIGZvciBkZWJ1Z2dpbmcgaXNzdWVzIGFuZCBwcm9ibGVtcy5cbiAgNzk6XHRcbiAgODA6XHRcdCAgSW4gb3JkZXIgdG8gdXNlIHRoaXMgZHJpdmVyLCB5b3Ugd2lsbCBuZWVkIGEgZmlybXdhcmUgaW1hZ2UgZm9yIGl0LlxuICA4MTpcdFx0ICBZb3UgY2FuIG9idGFpbiB0aGUgZmlybXdhcmUgZnJvbVxuICA4MjpcdFx0ICBcdTAwM2NodHRwOi8vaXB3MjIwMC5zZi5uZXQvXHUwMDNlLiAgU2VlIHRoZSBhYm92ZSByZWZlcmVuY2VkIFJFQURNRS5pcHcyMjAwXG4gIDgzOlx0XHQgIGZvciBpbmZvcm1hdGlvbiBvbiB3aGVyZSB0byBpbnN0YWxsIHRoZSBmaXJtd2FyZSBpbWFnZXMuXG4gIDg0Olx0XG4gIDg1Olx0XHQgIFlvdSB3aWxsIGFsc28gdmVyeSBsaWtlbHkgbmVlZCB0aGUgV2lyZWxlc3MgVG9vbHMgaW4gb3JkZXIgdG9cbiAgODY6XHRcdCAgY29uZmlndXJlIHlvdXIgY2FyZDpcbiAgODc6XHRcbiAgODg6XHRcdCAgXHUwMDNjaHR0cHM6Ly93d3cuaHBsLmhwLmNvbS9wZXJzb25hbC9KZWFuX1RvdXJyaWxoZXMvTGludXgvVG9vbHMuaHRtbFx1MDAzZS5cbiAgODk6XHRcbiAgOTA6XHRcdCAgSXQgaXMgcmVjb21tZW5kZWQgdGhhdCB5b3UgY29tcGlsZSB0aGlzIGRyaXZlciBhcyBhIG1vZHVsZSAoTSlcbiAgOTE6XHRcdCAgcmF0aGVyIHRoYW4gYnVpbHQtaW4gKFkpLiBUaGlzIGRyaXZlciByZXF1aXJlcyBmaXJtd2FyZSBhdCBkZXZpY2VcbiAgOTI6XHRcdCAgaW5pdGlhbGl6YXRpb24gdGltZSwgYW5kIHdoZW4gYnVpbHQtaW4gdGhpcyB0eXBpY2FsbHkgaGFwcGVuc1xuICA5MzpcdFx0ICBiZWZvcmUgdGhlIGZpbGVzeXN0ZW0gaXMgYWNjZXNzaWJsZSAoaGVuY2UgZmlybXdhcmUgd2lsbCBiZVxuICA5NDpcdFx0ICB1bmF2YWlsYWJsZSBhbmQgaW5pdGlhbGl6YXRpb24gd2lsbCBmYWlsKS4gSWYgeW91IGRvIGNob29zZSB0byBidWlsZFxuICA5NTpcdFx0ICB0aGlzIGRyaXZlciBpbnRvIHlvdXIga2VybmVsIGltYWdlLCB5b3UgY2FuIGF2b2lkIHRoaXMgcHJvYmxlbSBieVxuICA5NjpcdFx0ICBpbmNsdWRpbmcgdGhlIGZpcm13YXJlIGFuZCBhIGZpcm13YXJlIGxvYWRlciBpbiBhbiBpbml0cmFtZnMuXG4gIDk3Olx0XG4gIDk4Olx0Y29uZmlnIElQVzIyMDBfTU9OSVRPUlxuICA5OTpcdFx0Ym9vbCBcJiMzNDtFbmFibGUgcHJvbWlzY3VvdXMgbW9kZVwmIzM0O1xuIDEwMDpcdFx0ZGVwZW5kcyBvbiBJUFcyMjAwXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMzEgMjA6MTg8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjctZmxhc2g8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTE3MzIKCQkJCQkJCW91dHB1dDogMTcKCQkJCQkJCXRob3VnaHRzOiAxNwoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgaGVyZSYjMzk7cyBteSBhdHRlbXB0IGF0IHN1bW1hcml6aW5nIHRoZSB0aG91Z2h0IHByb2Nlc3MsIGFzIGlmIEkgd2VyZSBjb25zaWRlcmluZyB0aGUgdG9waWMgbXlzZWxmLCB0YWlsb3JlZCBmb3IgYW4gZXhwZXJ0IGF1ZGllbmNlOgoKKipMSUJJUFcgYW5kIERyaXZlciBTZWxlY3Rpb246IEEgUXVpY2sgUmV2aWV3KioKCkFscmlnaHQsIGxldCYjMzk7cyBnZXQgZG93biB0byBicmFzcyB0YWNrcy4gSSBuZWVkIGEgcmVmcmVzaGVyIG9uIExJQklQVy4gTXkgaW5pdGlhbCBxdWVzdGlvbiBpcywgd2hhdCAqaXMqIGl0LCBmdW5kYW1lbnRhbGx5PyBJIG5lZWQgdG8gdW5kZXJzdGFuZCBpdHMgcm9sZSwgaXRzIGFyY2hpdGVjdHVyZSwgaXRzIGRlc2lnbiBwaGlsb3NvcGh5LiBJJiMzOTttIGFscmVhZHkgdGhpbmtpbmcgYWJvdXQgaXRzIHJlbGF0aW9uc2hpcCB0byB0aGUga2VybmVsLCBob3cgaXQgZml0cyBpbnRvIHRoZSBicm9hZGVyIG5ldHdvcmtpbmcgc3RhY2suCgpUaGVuLCB0aGUgY3JpdGljYWwgcG9pbnQ6ICp3aGljaCogZHJpdmVycyBhcmUgbGV2ZXJhZ2luZyBMSUJJUFc/IEFuZCBtb3JlIGltcG9ydGFudGx5LCAqd2h5KiBhcmUgdGhleSBjaG9vc2luZyB0aGlzIHBhcnRpY3VsYXIgcm91dGU/IElzIGl0IGFib3V0IGNvZGUgcmV1c2UsIHBlcmZvcm1hbmNlIGdhaW5zLCBzcGVjaWZpYyBoYXJkd2FyZSBzdXBwb3J0LCBvciBwZXJoYXBzIGEgYmFsYW5jZSBvZiBhbGwgdGhlc2UgZmFjdG9ycz8gSSBuZWVkIHRvIHF1aWNrbHkgaWRlbnRpZnkgdGhlIGtleSBkcml2ZXJzIGludm9sdmVkIGFuZCB0aGVuIGRpZyBpbnRvIHRoZWlyIGltcGxlbWVudGF0aW9uIHNwZWNpZmljcywgbG9va2luZyBmb3IgdGhlIHJhdGlvbmFsZSBiZWhpbmQgdGhlaXIgZGVjaXNpb24uIEkmIzM5O2xsIG5lZWQgdG8gdW5kZXJzdGFuZCB0aGUgdHJhZGUtb2ZmcyB0aGV5IG1hZGUg4oCTIHRoZSBhZHZhbnRhZ2VzIGFuZCBkaXNhZHZhbnRhZ2VzIGNvbXBhcmVkIHRvIGFsdGVybmF0aXZlIG1ldGhvZHMuIEFueSBpbXBsZW1lbnRhdGlvbiBub3RlcyBvciBkb2N1bWVudGF0aW9uIGFyZSBwYXJhbW91bnQuIFRoaXMgcXVpY2tseSBhbGxvd3MgbWUgdG8gYXNjZXJ0YWluIHRoZSBzdWl0YWJpbGl0eSBvZiBhIGdlbmVyYWwgbGlicmFyeSwgb3Igbm90LgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzMxIDIwOjE4PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O0xJQklQVyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtcbkZ1bGwgb3V0cHV0IGlzIHRvbyBsb25nLCBzaG93aW5nIDUwMCBvdXQgb2YgMTUyMCBsaW5lcy5cblVzZSBtb3JlIHByZWNpc2UgZXhwcmVzc2lvbiBpZiBwb3NzaWJsZS5cblxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnPTY9Y29uZmlnIElQVzIxMDBcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWctMTEtXHRzZWxlY3QgRldfTE9BREVSXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWc6MTI6XHRzZWxlY3QgTElCSVBXXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWctMTMtXHRoZWxwXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnPTY1PWNvbmZpZyBJUFcyMjAwXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnLTcwLVx0c2VsZWN0IEZXX0xPQURFUlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnOjcxOlx0c2VsZWN0IExJQklQV1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnLTcyLVx0aGVscFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvS2NvbmZpZz0xMzk9Y29uZmlnIElQVzIyMDBfREVCVUdcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWctMTUxLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnOjE1Mjpjb25maWcgTElCSVBXXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWctMTUzLVx0dHJpc3RhdGVcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWctMTYzLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnOjE2NDpjb25maWcgTElCSVBXX0RFQlVHXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWc6MTY1Olx0Ym9vbCBcJiMzNDtGdWxsIGRlYnVnZ2luZyBvdXRwdXQgZm9yIHRoZSBMSUJJUFcgY29tcG9uZW50XCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWc6MTY2Olx0ZGVwZW5kcyBvbiBMSUJJUFdcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvS2NvbmZpZy0xNjctXHRoZWxwXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9NYWtlZmlsZT03PW9iai0kKENPTkZJR19JUFcyMjAwKSAmIzQzOz0gaXB3MjIwMC5vXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL01ha2VmaWxlLTgtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL01ha2VmaWxlOjk6b2JqLSQoQ09ORklHX0xJQklQVykgJiM0Mzs9IGxpYmlwdy5vXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL01ha2VmaWxlLTEwLWxpYmlwdy1vYmpzIDo9IFxcXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9MTY5Mz1zdGF0aWMgaW50IGlwdzIxMDBfdXAoc3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiwgaW50IGRlZmVycmVkKVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTE3NjAtXHRsaWJpcHdfc2V0X2dlbyhwcml2LVx1MDAzZWllZWUsIFx1MDAyNmlwd19nZW9zWzBdKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjE3NjE6XHRwcml2LVx1MDAzZWllZWUtXHUwMDNlZnJlcV9iYW5kID0gTElCSVBXXzI0R0haX0JBTkQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0xNzYyLVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTE4NzM9c3RhdGljIGludCBpcHcyMTAwX3dkZXZfaW5pdChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTE4OTktXHRcdFx0YmdfYmFuZC1cdTAwM2VjaGFubmVsc1tpXS5tYXhfcG93ZXIgPSBnZW8tXHUwMDNlYmdbaV0ubWF4X3Bvd2VyO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MTkwMDpcdFx0XHRpZiAoZ2VvLVx1MDAzZWJnW2ldLmZsYWdzIFx1MDAyNiBMSUJJUFdfQ0hfUEFTU0lWRV9PTkxZKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMTkwMS1cdFx0XHRcdGJnX2JhbmQtXHUwMDNlY2hhbm5lbHNbaV0uZmxhZ3MgfD1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTE5MDItXHRcdFx0XHRcdElFRUU4MDIxMV9DSEFOX05PX0lSO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MTkwMzpcdFx0XHRpZiAoZ2VvLVx1MDAzZWJnW2ldLmZsYWdzIFx1MDAyNiBMSUJJUFdfQ0hfTk9fSUJTUylcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTE5MDQtXHRcdFx0XHRiZ19iYW5kLVx1MDAzZWNoYW5uZWxzW2ldLmZsYWdzIHw9XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0xOTA1LVx0XHRcdFx0XHRJRUVFODAyMTFfQ0hBTl9OT19JUjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjE5MDY6XHRcdFx0aWYgKGdlby1cdTAwM2ViZ1tpXS5mbGFncyBcdTAwMjYgTElCSVBXX0NIX1JBREFSX0RFVEVDVClcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTE5MDctXHRcdFx0XHRiZ19iYW5kLVx1MDAzZWNoYW5uZWxzW2ldLmZsYWdzIHw9XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0xOTA4LVx0XHRcdFx0XHRJRUVFODAyMTFfQ0hBTl9SQURBUjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjE5MDk6XHRcdFx0LyogTm8gZXF1aXZhbGVudCBmb3IgTElCSVBXX0NIXzgwMjExSF9SVUxFUyxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjE5MTA6XHRcdFx0ICAgTElCSVBXX0NIX1VOSUZPUk1fU1BSRUFESU5HLCBvclxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MTkxMTpcdFx0XHQgICBMSUJJUFdfQ0hfQl9PTkxZLi4uICovXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0xOTEyLVx0XHR9XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9MjY0ND1zdGF0aWMgdm9pZCBfX2lwdzIxMDBfcnhfcHJvY2VzcyhzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2KVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI2ODktXHRcdGlmIChzdGF0cy5yc3NpICE9IDApXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyNjkwOlx0XHRcdHN0YXRzLm1hc2sgfD0gTElCSVBXX1NUQVRNQVNLX1JTU0k7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyNjkxOlx0XHRzdGF0cy5mcmVxID0gTElCSVBXXzI0R0haX0JBTkQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNjkyLVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTMwNDc9c3RhdGljIHZvaWQgaXB3MjEwMF90eF9zZW5kX2RhdGEoc3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdilcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zMTEzLVx0XHRcdCAgICBwYWNrZXQtXHUwMDNlaW5mby5kX3N0cnVjdC50eGItXHUwMDNlZnJhZ19zaXplIC1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjMxMTQ6XHRcdFx0ICAgIExJQklQV18zQUREUl9MRU47XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zMTE1LVx0XHRlbHNlXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMzE0Ni1cdFx0XHR0YmQtXHUwMDNlYnVmX2xlbmd0aCA9IHBhY2tldC1cdTAwM2VpbmZvLmRfc3RydWN0LnR4Yi1cdTAwM2VcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjMxNDc6XHRcdFx0ICAgIGZyYWdtZW50c1tpXS1cdTAwM2VsZW4gLSBMSUJJUFdfM0FERFJfTEVOO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMzE0OC1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zMTUxLVx0XHRcdFx0XHRcdFx0dHhiLVx1MDAzZWZyYWdtZW50c1tpXS1cdTAwM2VkYXRhICYjNDM7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzozMTUyOlx0XHRcdFx0XHRcdFx0TElCSVBXXzNBRERSX0xFTixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTMxNTMtXHRcdFx0XHRcdFx0XHR0YmQtXHUwMDNlYnVmX2xlbmd0aCxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz01OTk2PXN0YXRpYyBzdHJ1Y3QgbmV0X2RldmljZSAqaXB3MjEwMF9hbGxvY19kZXZpY2Uoc3RydWN0IHBjaV9kZXYgKnBjaV9kZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjAyMi1cdGRldi1cdTAwM2VtaW5fbXR1ID0gNjg7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo2MDIzOlx0ZGV2LVx1MDAzZW1heF9tdHUgPSBMSUJJUFdfREFUQV9MRU47XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02MDI0LVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jPTE4NTk9c3RhdGljIHNzaXplX3QgY2hhbm5lbHNfc2hvdyhzdHJ1Y3QgZGV2aWNlICpkLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTE4NzMtXHRcdFx0ICAgICAgIGdlby1cdTAwM2ViZ1tpXS5jaGFubmVsLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6MTg3NDpcdFx0XHQgICAgICAgZ2VvLVx1MDAzZWJnW2ldLmZsYWdzIFx1MDAyNiBMSUJJUFdfQ0hfUkFEQVJfREVURUNUID9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTE4NzUtXHRcdFx0ICAgICAgIFwmIzM0OyAocmFkYXIgc3BlY3RydW0pXCYjMzQ7IDogXCYjMzQ7XCYjMzQ7LFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6MTg3NjpcdFx0XHQgICAgICAgKChnZW8tXHUwMDNlYmdbaV0uZmxhZ3MgXHUwMDI2IExJQklQV19DSF9OT19JQlNTKSB8fFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6MTg3NzpcdFx0XHRcdChnZW8tXHUwMDNlYmdbaV0uZmxhZ3MgXHUwMDI2IExJQklQV19DSF9SQURBUl9ERVRFQ1QpKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtMTg3OC1cdFx0XHQgICAgICAgPyBcJiMzNDtcJiMzNDsgOiBcJiMzNDssIElCU1NcJiMzNDssXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzoxODc5Olx0XHRcdCAgICAgICBnZW8tXHUwMDNlYmdbaV0uZmxhZ3MgXHUwMDI2IExJQklQV19DSF9QQVNTSVZFX09OTFkgP1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtMTg4MC1cdFx0XHQgICAgICAgXCYjMzQ7cGFzc2l2ZSBvbmx5XCYjMzQ7IDogXCYjMzQ7YWN0aXZlL3Bhc3NpdmVcJiMzNDssXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzoxODgxOlx0XHRcdCAgICAgICBnZW8tXHUwMDNlYmdbaV0uZmxhZ3MgXHUwMDI2IExJQklQV19DSF9CX09OTFkgP1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtMTg4Mi1cdFx0XHQgICAgICAgXCYjMzQ7QlwmIzM0OyA6IFwmIzM0O0IvR1wmIzM0Oyk7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtMTg5MC1cdFx0XHQgICAgICAgZ2VvLVx1MDAzZWFbaV0uY2hhbm5lbCxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjE4OTE6XHRcdFx0ICAgICAgIGdlby1cdTAwM2VhW2ldLmZsYWdzIFx1MDAyNiBMSUJJUFdfQ0hfUkFEQVJfREVURUNUID9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTE4OTItXHRcdFx0ICAgICAgIFwmIzM0OyAocmFkYXIgc3BlY3RydW0pXCYjMzQ7IDogXCYjMzQ7XCYjMzQ7LFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6MTg5MzpcdFx0XHQgICAgICAgKChnZW8tXHUwMDNlYVtpXS5mbGFncyBcdTAwMjYgTElCSVBXX0NIX05PX0lCU1MpIHx8XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzoxODk0Olx0XHRcdFx0KGdlby1cdTAwM2VhW2ldLmZsYWdzIFx1MDAyNiBMSUJJUFdfQ0hfUkFEQVJfREVURUNUKSlcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTE4OTUtXHRcdFx0ICAgICAgID8gXCYjMzQ7XCYjMzQ7IDogXCYjMzQ7LCBJQlNTXCYjMzQ7LFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6MTg5NjpcdFx0XHQgICAgICAgZ2VvLVx1MDAzZWFbaV0uZmxhZ3MgXHUwMDI2IExJQklQV19DSF9QQVNTSVZFX09OTFkgP1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtMTg5Ny1cdFx0XHQgICAgICAgXCYjMzQ7cGFzc2l2ZSBvbmx5XCYjMzQ7IDogXCYjMzQ7YWN0aXZlL3Bhc3NpdmVcJiMzNDspO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jPTQwOTA9c3RhdGljIHUzMiBpcHdfZ2V0X21heF9yYXRlKHN0cnVjdCBpcHdfcHJpdiAqcHJpdilcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy00MDk2LVx0aWYgKHByaXYtXHUwMDNlYXNzb2NfcmVxdWVzdC5pZWVlX21vZGUgPT0gSVBXX0JfTU9ERSlcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjQwOTc6XHRcdG1hc2sgXHUwMDI2PSBMSUJJUFdfQ0NLX1JBVEVTX01BU0s7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy00MDk4LVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTQxMDQtXHRzd2l0Y2ggKGkpIHtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjQxMDU6XHRjYXNlIExJQklQV19DQ0tfUkFURV8xTUJfTUFTSzpcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTQxMDYtXHRcdHJldHVybiAxMDAwMDAwO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NDEwNzpcdGNhc2UgTElCSVBXX0NDS19SQVRFXzJNQl9NQVNLOlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNDEwOC1cdFx0cmV0dXJuIDIwMDAwMDA7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo0MTA5Olx0Y2FzZSBMSUJJUFdfQ0NLX1JBVEVfNU1CX01BU0s6XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy00MTEwLVx0XHRyZXR1cm4gNTUwMDAwMDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjQxMTE6XHRjYXNlIExJQklQV19PRkRNX1JBVEVfNk1CX01BU0s6XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy00MTEyLVx0XHRyZXR1cm4gNjAwMDAwMDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjQxMTM6XHRjYXNlIExJQklQV19PRkRNX1JBVEVfOU1CX01BU0s6XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy00MTE0LVx0XHRyZXR1cm4gOTAwMDAwMDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjQxMTU6XHRjYXNlIExJQklQV19DQ0tfUkFURV8xMU1CX01BU0s6XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy00MTE2LVx0XHRyZXR1cm4gMTEwMDAwMDA7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo0MTE3Olx0Y2FzZSBMSUJJUFdfT0ZETV9SQVRFXzEyTUJfTUFTSzpcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTQxMTgtXHRcdHJldHVybiAxMjAwMDAwMDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjQxMTk6XHRjYXNlIExJQklQV19PRkRNX1JBVEVfMThNQl9NQVNLOlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNDEyMC1cdFx0cmV0dXJuIDE4MDAwMDAwO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NDEyMTpcdGNhc2UgTElCSVBXX09GRE1fUkFURV8yNE1CX01BU0s6XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy00MTIyLVx0XHRyZXR1cm4gMjQwMDAwMDA7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo0MTIzOlx0Y2FzZSBMSUJJUFdfT0ZETV9SQVRFXzM2TUJfTUFTSzpcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTQxMjQtXHRcdHJldHVybiAzNjAwMDAwMDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjQxMjU6XHRjYXNlIExJQklQV19PRkRNX1JBVEVfNDhNQl9NQVNLOlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNDEyNi1cdFx0cmV0dXJuIDQ4MDAwMDAwO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NDEyNzpcdGNhc2UgTElCSVBXX09GRE1fUkFURV81NE1CX01BU0s6XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy00MTI4LVx0XHRyZXR1cm4gNTQwMDAwMDA7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9NTIyND1zdGF0aWMgaW50IGlwd19pc19yYXRlX2luX21hc2soc3RydWN0IGlwd19wcml2ICpwcml2LCBpbnQgaWVlZV9tb2RlLCB1OCByYXRlKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTIyNS17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjI2Olx0cmF0ZSBcdTAwMjY9IH5MSUJJUFdfQkFTSUNfUkFURV9NQVNLO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTIyNy1cdGlmIChpZWVlX21vZGUgPT0gSUVFRV9BKSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01MjI4LVx0XHRzd2l0Y2ggKHJhdGUpIHtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyMjk6XHRcdGNhc2UgTElCSVBXX09GRE1fUkFURV82TUI6XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjMwOlx0XHRcdHJldHVybiBwcml2LVx1MDAzZXJhdGVzX21hc2sgXHUwMDI2IExJQklQV19PRkRNX1JBVEVfNk1CX01BU0sgP1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTIzMS1cdFx0XHQgICAgMSA6IDA7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjMyOlx0XHRjYXNlIExJQklQV19PRkRNX1JBVEVfOU1COlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTIzMzpcdFx0XHRyZXR1cm4gcHJpdi1cdTAwM2VyYXRlc19tYXNrIFx1MDAyNiBMSUJJUFdfT0ZETV9SQVRFXzlNQl9NQVNLID9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUyMzQtXHRcdFx0ICAgIDEgOiAwO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTIzNTpcdFx0Y2FzZSBMSUJJUFdfT0ZETV9SQVRFXzEyTUI6XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01MjM2LVx0XHRcdHJldHVybiBwcml2LVx1MDAzZVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTIzNzpcdFx0XHQgICAgcmF0ZXNfbWFzayBcdTAwMjYgTElCSVBXX09GRE1fUkFURV8xMk1CX01BU0sgPyAxIDogMDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyMzg6XHRcdGNhc2UgTElCSVBXX09GRE1fUkFURV8xOE1COlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTIzOS1cdFx0XHRyZXR1cm4gcHJpdi1cdTAwM2VcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyNDA6XHRcdFx0ICAgIHJhdGVzX21hc2sgXHUwMDI2IExJQklQV19PRkRNX1JBVEVfMThNQl9NQVNLID8gMSA6IDA7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjQxOlx0XHRjYXNlIExJQklQV19PRkRNX1JBVEVfMjRNQjpcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUyNDItXHRcdFx0cmV0dXJuIHByaXYtXHUwMDNlXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjQzOlx0XHRcdCAgICByYXRlc19tYXNrIFx1MDAyNiBMSUJJUFdfT0ZETV9SQVRFXzI0TUJfTUFTSyA/IDEgOiAwO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTI0NDpcdFx0Y2FzZSBMSUJJUFdfT0ZETV9SQVRFXzM2TUI6XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01MjQ1LVx0XHRcdHJldHVybiBwcml2LVx1MDAzZVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTI0NjpcdFx0XHQgICAgcmF0ZXNfbWFzayBcdTAwMjYgTElCSVBXX09GRE1fUkFURV8zNk1CX01BU0sgPyAxIDogMDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyNDc6XHRcdGNhc2UgTElCSVBXX09GRE1fUkFURV80OE1COlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTI0OC1cdFx0XHRyZXR1cm4gcHJpdi1cdTAwM2VcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyNDk6XHRcdFx0ICAgIHJhdGVzX21hc2sgXHUwMDI2IExJQklQV19PRkRNX1JBVEVfNDhNQl9NQVNLID8gMSA6IDA7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjUwOlx0XHRjYXNlIExJQklQV19PRkRNX1JBVEVfNTRNQjpcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUyNTEtXHRcdFx0cmV0dXJuIHByaXYtXHUwMDNlXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjUyOlx0XHRcdCAgICByYXRlc19tYXNrIFx1MDAyNiBMSUJJUFdfT0ZETV9SQVRFXzU0TUJfTUFTSyA/IDEgOiAwO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTI1My1cdFx0ZGVmYXVsdDpcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01MjU5LVx0c3dpdGNoIChyYXRlKSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjYwOlx0Y2FzZSBMSUJJUFdfQ0NLX1JBVEVfMU1COlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTI2MTpcdFx0cmV0dXJuIHByaXYtXHUwMDNlcmF0ZXNfbWFzayBcdTAwMjYgTElCSVBXX0NDS19SQVRFXzFNQl9NQVNLID8gMSA6IDA7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjYyOlx0Y2FzZSBMSUJJUFdfQ0NLX1JBVEVfMk1COlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTI2MzpcdFx0cmV0dXJuIHByaXYtXHUwMDNlcmF0ZXNfbWFzayBcdTAwMjYgTElCSVBXX0NDS19SQVRFXzJNQl9NQVNLID8gMSA6IDA7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjY0Olx0Y2FzZSBMSUJJUFdfQ0NLX1JBVEVfNU1COlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTI2NTpcdFx0cmV0dXJuIHByaXYtXHUwMDNlcmF0ZXNfbWFzayBcdTAwMjYgTElCSVBXX0NDS19SQVRFXzVNQl9NQVNLID8gMSA6IDA7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjY2Olx0Y2FzZSBMSUJJUFdfQ0NLX1JBVEVfMTFNQjpcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyNjc6XHRcdHJldHVybiBwcml2LVx1MDAzZXJhdGVzX21hc2sgXHUwMDI2IExJQklQV19DQ0tfUkFURV8xMU1CX01BU0sgPyAxIDogMDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUyNjgtXHR9XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTI3NS1cdHN3aXRjaCAocmF0ZSkge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTI3NjpcdGNhc2UgTElCSVBXX09GRE1fUkFURV82TUI6XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1Mjc3Olx0XHRyZXR1cm4gcHJpdi1cdTAwM2VyYXRlc19tYXNrIFx1MDAyNiBMSUJJUFdfT0ZETV9SQVRFXzZNQl9NQVNLID8gMSA6IDA7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1Mjc4Olx0Y2FzZSBMSUJJUFdfT0ZETV9SQVRFXzlNQjpcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyNzk6XHRcdHJldHVybiBwcml2LVx1MDAzZXJhdGVzX21hc2sgXHUwMDI2IExJQklQV19PRkRNX1JBVEVfOU1CX01BU0sgPyAxIDogMDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyODA6XHRjYXNlIExJQklQV19PRkRNX1JBVEVfMTJNQjpcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyODE6XHRcdHJldHVybiBwcml2LVx1MDAzZXJhdGVzX21hc2sgXHUwMDI2IExJQklQV19PRkRNX1JBVEVfMTJNQl9NQVNLID8gMSA6IDA7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjgyOlx0Y2FzZSBMSUJJUFdfT0ZETV9SQVRFXzE4TUI6XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjgzOlx0XHRyZXR1cm4gcHJpdi1cdTAwM2VyYXRlc19tYXNrIFx1MDAyNiBMSUJJUFdfT0ZETV9SQVRFXzE4TUJfTUFTSyA/IDEgOiAwO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTI4NDpcdGNhc2UgTElCSVBXX09GRE1fUkFURV8yNE1COlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTI4NTpcdFx0cmV0dXJuIHByaXYtXHUwMDNlcmF0ZXNfbWFzayBcdTAwMjYgTElCSVBXX09GRE1fUkFURV8yNE1CX01BU0sgPyAxIDogMDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyODY6XHRjYXNlIExJQklQV19PRkRNX1JBVEVfMzZNQjpcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyODc6XHRcdHJldHVybiBwcml2LVx1MDAzZXJhdGVzX21hc2sgXHUwMDI2IExJQklQV19PRkRNX1JBVEVfMzZNQl9NQVNLID8gMSA6IDA7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1Mjg4Olx0Y2FzZSBMSUJJUFdfT0ZETV9SQVRFXzQ4TUI6XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1Mjg5Olx0XHRyZXR1cm4gcHJpdi1cdTAwM2VyYXRlc19tYXNrIFx1MDAyNiBMSUJJUFdfT0ZETV9SQVRFXzQ4TUJfTUFTSyA/IDEgOiAwO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTI5MDpcdGNhc2UgTElCSVBXX09GRE1fUkFURV81NE1COlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTI5MTpcdFx0cmV0dXJuIHByaXYtXHUwMDNlcmF0ZXNfbWFzayBcdTAwMjYgTElCSVBXX09GRE1fUkFURV81NE1CX01BU0sgPyAxIDogMDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUyOTItXHR9XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9NTI5Nz1zdGF0aWMgaW50IGlwd19jb21wYXRpYmxlX3JhdGVzKHN0cnVjdCBpcHdfcHJpdiAqcHJpdixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01MzA5LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTMxMDpcdFx0XHRpZiAobmV0d29yay1cdTAwM2VyYXRlc1tpXSBcdTAwMjYgTElCSVBXX0JBU0lDX1JBVEVfTUFTSykge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTMxMS1cdFx0XHRcdElQV19ERUJVR19TQ0FOKFwmIzM0O0FkZGluZyBtYXNrZWQgbWFuZGF0b3J5IFwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUzMzEtXHRcdFx0XHRcdCBuZXR3b3JrLVx1MDAzZXJhdGVzX2V4W2ldKSkge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTMzMjpcdFx0XHRpZiAobmV0d29yay1cdTAwM2VyYXRlc19leFtpXSBcdTAwMjYgTElCSVBXX0JBU0lDX1JBVEVfTUFTSykge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTMzMy1cdFx0XHRcdElQV19ERUJVR19TQ0FOKFwmIzM0O0FkZGluZyBtYXNrZWQgbWFuZGF0b3J5IFwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jPTUzNjU9c3RhdGljIHZvaWQgaXB3X2FkZF9jY2tfc2Nhbl9yYXRlcyhzdHJ1Y3QgaXB3X3N1cHBvcnRlZF9yYXRlcyAqcmF0ZXMsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTM2Ny17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MzY4Olx0dTggYmFzaWNfbWFzayA9IChMSUJJUFdfT0ZETV9NT0RVTEFUSU9OID09IG1vZHVsYXRpb24pID9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUzNjk6XHQgICAgTElCSVBXX0JBU0lDX1JBVEVfTUFTSyA6IDA7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01MzcwLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTM3MTpcdGlmIChyYXRlX21hc2sgXHUwMDI2IExJQklQV19DQ0tfUkFURV8xTUJfTUFTSylcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUzNzItXHRcdHJhdGVzLVx1MDAzZXN1cHBvcnRlZF9yYXRlc1tyYXRlcy1cdTAwM2VudW1fcmF0ZXMmIzQzOyYjNDM7XSA9XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MzczOlx0XHQgICAgTElCSVBXX0JBU0lDX1JBVEVfTUFTSyB8IExJQklQV19DQ0tfUkFURV8xTUI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01Mzc0LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTM3NTpcdGlmIChyYXRlX21hc2sgXHUwMDI2IExJQklQV19DQ0tfUkFURV8yTUJfTUFTSylcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUzNzYtXHRcdHJhdGVzLVx1MDAzZXN1cHBvcnRlZF9yYXRlc1tyYXRlcy1cdTAwM2VudW1fcmF0ZXMmIzQzOyYjNDM7XSA9XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1Mzc3Olx0XHQgICAgTElCSVBXX0JBU0lDX1JBVEVfTUFTSyB8IExJQklQV19DQ0tfUkFURV8yTUI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01Mzc4LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTM3OTpcdGlmIChyYXRlX21hc2sgXHUwMDI2IExJQklQV19DQ0tfUkFURV81TUJfTUFTSylcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUzODAtXHRcdHJhdGVzLVx1MDAzZXN1cHBvcnRlZF9yYXRlc1tyYXRlcy1cdTAwM2VudW1fcmF0ZXMmIzQzOyYjNDM7XSA9IGJhc2ljX21hc2sgfFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTM4MTpcdFx0ICAgIExJQklQV19DQ0tfUkFURV81TUI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01MzgyLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTM4MzpcdGlmIChyYXRlX21hc2sgXHUwMDI2IExJQklQV19DQ0tfUkFURV8xMU1CX01BU0spXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01Mzg0LVx0XHRyYXRlcy1cdTAwM2VzdXBwb3J0ZWRfcmF0ZXNbcmF0ZXMtXHUwMDNlbnVtX3JhdGVzJiM0MzsmIzQzO10gPSBiYXNpY19tYXNrIHxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUzODU6XHRcdCAgICBMSUJJUFdfQ0NLX1JBVEVfMTFNQjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUzODYtfVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jPTUzODg9c3RhdGljIHZvaWQgaXB3X2FkZF9vZmRtX3NjYW5fcmF0ZXMoc3RydWN0IGlwd19zdXBwb3J0ZWRfcmF0ZXMgKnJhdGVzLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUzOTAte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTM5MTpcdHU4IGJhc2ljX21hc2sgPSAoTElCSVBXX09GRE1fTU9EVUxBVElPTiA9PSBtb2R1bGF0aW9uKSA/XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MzkyOlx0ICAgIExJQklQV19CQVNJQ19SQVRFX01BU0sgOiAwO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTM5My1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUzOTQ6XHRpZiAocmF0ZV9tYXNrIFx1MDAyNiBMSUJJUFdfT0ZETV9SQVRFXzZNQl9NQVNLKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTM5NS1cdFx0cmF0ZXMtXHUwMDNlc3VwcG9ydGVkX3JhdGVzW3JhdGVzLVx1MDAzZW51bV9yYXRlcyYjNDM7JiM0MztdID0gYmFzaWNfbWFzayB8XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1Mzk2Olx0XHQgICAgTElCSVBXX09GRE1fUkFURV82TUI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01Mzk3LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTM5ODpcdGlmIChyYXRlX21hc2sgXHUwMDI2IExJQklQV19PRkRNX1JBVEVfOU1CX01BU0spXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01Mzk5LVx0XHRyYXRlcy1cdTAwM2VzdXBwb3J0ZWRfcmF0ZXNbcmF0ZXMtXHUwMDNlbnVtX3JhdGVzJiM0MzsmIzQzO10gPVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTQwMDpcdFx0ICAgIExJQklQV19PRkRNX1JBVEVfOU1CO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTQwMS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjU0MDI6XHRpZiAocmF0ZV9tYXNrIFx1MDAyNiBMSUJJUFdfT0ZETV9SQVRFXzEyTUJfTUFTSylcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTU0MDMtXHRcdHJhdGVzLVx1MDAzZXN1cHBvcnRlZF9yYXRlc1tyYXRlcy1cdTAwM2VudW1fcmF0ZXMmIzQzOyYjNDM7XSA9IGJhc2ljX21hc2sgfFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTQwNDpcdFx0ICAgIExJQklQV19PRkRNX1JBVEVfMTJNQjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTU0MDUtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1NDA2Olx0aWYgKHJhdGVfbWFzayBcdTAwMjYgTElCSVBXX09GRE1fUkFURV8xOE1CX01BU0spXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01NDA3LVx0XHRyYXRlcy1cdTAwM2VzdXBwb3J0ZWRfcmF0ZXNbcmF0ZXMtXHUwMDNlbnVtX3JhdGVzJiM0MzsmIzQzO10gPVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTQwODpcdFx0ICAgIExJQklQV19PRkRNX1JBVEVfMThNQjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTU0MDktXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1NDEwOlx0aWYgKHJhdGVfbWFzayBcdTAwMjYgTElCSVBXX09GRE1fUkFURV8yNE1CX01BU0spXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01NDExLVx0XHRyYXRlcy1cdTAwM2VzdXBwb3J0ZWRfcmF0ZXNbcmF0ZXMtXHUwMDNlbnVtX3JhdGVzJiM0MzsmIzQzO10gPSBiYXNpY19tYXNrIHxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjU0MTI6XHRcdCAgICBMSUJJUFdfT0ZETV9SQVRFXzI0TUI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01NDEzLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTQxNDpcdGlmIChyYXRlX21hc2sgXHUwMDI2IExJQklQV19PRkRNX1JBVEVfMzZNQl9NQVNLKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTQxNS1cdFx0cmF0ZXMtXHUwMDNlc3VwcG9ydGVkX3JhdGVzW3JhdGVzLVx1MDAzZW51bV9yYXRlcyYjNDM7JiM0MztdID1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjU0MTY6XHRcdCAgICBMSUJJUFdfT0ZETV9SQVRFXzM2TUI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01NDE3LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTQxODpcdGlmIChyYXRlX21hc2sgXHUwMDI2IExJQklQV19PRkRNX1JBVEVfNDhNQl9NQVNLKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTQxOS1cdFx0cmF0ZXMtXHUwMDNlc3VwcG9ydGVkX3JhdGVzW3JhdGVzLVx1MDAzZW51bV9yYXRlcyYjNDM7JiM0MztdID1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjU0MjA6XHRcdCAgICBMSUJJUFdfT0ZETV9SQVRFXzQ4TUI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01NDIxLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTQyMjpcdGlmIChyYXRlX21hc2sgXHUwMDI2IExJQklQV19PRkRNX1JBVEVfNTRNQl9NQVNLKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTQyMy1cdFx0cmF0ZXMtXHUwMDNlc3VwcG9ydGVkX3JhdGVzW3JhdGVzLVx1MDAzZW51bV9yYXRlcyYjNDM7JiM0MztdID1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjU0MjQ6XHRcdCAgICBMSUJJUFdfT0ZETV9SQVRFXzU0TUI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01NDI1LX1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYz01NzYyPXN0YXRpYyB2b2lkIGlwd19hZGhvY19jcmVhdGUoc3RydWN0IGlwd19wcml2ICpwcml2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTU3ODAtXHRzd2l0Y2ggKGxpYmlwd19pc192YWxpZF9jaGFubmVsKHByaXYtXHUwMDNlaWVlZSwgcHJpdi1cdTAwM2VjaGFubmVsKSkge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTc4MTpcdGNhc2UgTElCSVBXXzUyR0haX0JBTkQ6XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01NzgyLVx0XHRuZXR3b3JrLVx1MDAzZW1vZGUgPSBJRUVFX0E7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTc4NC1cdFx0QlVHX09OKGkgPT0gLTEpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTc4NTpcdFx0aWYgKGdlby1cdTAwM2VhW2ldLmZsYWdzIFx1MDAyNiBMSUJJUFdfQ0hfUEFTU0lWRV9PTkxZKSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01Nzg2LVx0XHRcdElQV19XQVJOSU5HKFwmIzM0O092ZXJyaWRpbmcgaW52YWxpZCBjaGFubmVsXFxuXCYjMzQ7KTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01NzkwLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTc5MTpcdGNhc2UgTElCSVBXXzI0R0haX0JBTkQ6XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01NzkyLVx0XHRpZiAocHJpdi1cdTAwM2VpZWVlLVx1MDAzZW1vZGUgXHUwMDI2IElFRUVfRylcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01Nzk3LVx0XHRCVUdfT04oaSA9PSAtMSk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1Nzk4Olx0XHRpZiAoZ2VvLVx1MDAzZWJnW2ldLmZsYWdzIFx1MDAyNiBMSUJJUFdfQ0hfUEFTU0lWRV9PTkxZKSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01Nzk5LVx0XHRcdElQV19XQVJOSU5HKFwmIzM0O092ZXJyaWRpbmcgaW52YWxpZCBjaGFubmVsXFxuXCYjMzQ7KTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYz02MDIxPXN0YXRpYyB2b2lkIGlwd19zZXRfZml4ZWRfcmF0ZShzdHJ1Y3QgaXB3X3ByaXYgKnByaXYsIGludCBtb2RlKVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTYwMzItXHRzd2l0Y2ggKHByaXYtXHUwMDNlaWVlZS1cdTAwM2VmcmVxX2JhbmQpIHtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjYwMzM6XHRjYXNlIExJQklQV181MkdIWl9CQU5EOlx0LyogQSBvbmx5ICovXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MDM0LVx0XHQvKiBJRUVFX0EgKi9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjYwMzU6XHRcdGlmIChwcml2LVx1MDAzZXJhdGVzX21hc2sgXHUwMDI2IH5MSUJJUFdfT0ZETV9SQVRFU19NQVNLKSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MDM2LVx0XHRcdC8qIEludmFsaWQgZml4ZWQgcmF0ZSBtYXNrICovXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNjA0Mi1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjYwNDM6XHRcdG5ld190eF9yYXRlcyBcdTAwM2VcdTAwM2U9IExJQklQV19PRkRNX1NISUZUX01BU0tfQTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTYwNDQtXHRcdGJyZWFrO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTYwNDgtXHRcdGlmIChtb2RlID09IElFRUVfQikge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NjA0OTpcdFx0XHRpZiAobmV3X3R4X3JhdGVzIFx1MDAyNiB+TElCSVBXX0NDS19SQVRFU19NQVNLKSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MDUwLVx0XHRcdFx0LyogSW52YWxpZCBmaXhlZCByYXRlIG1hc2sgKi9cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MDU4LVx0XHQvKiBJRUVFX0cgKi9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjYwNTk6XHRcdGlmIChuZXdfdHhfcmF0ZXMgXHUwMDI2IH4oTElCSVBXX0NDS19SQVRFU19NQVNLIHxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjYwNjA6XHRcdFx0XHQgICAgTElCSVBXX09GRE1fUkFURVNfTUFTSykpIHtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTYwNjEtXHRcdFx0LyogSW52YWxpZCBmaXhlZCByYXRlIG1hc2sgKi9cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MDY3LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NjA2ODpcdFx0aWYgKExJQklQV19PRkRNX1JBVEVfNk1CX01BU0sgXHUwMDI2IG5ld190eF9yYXRlcykge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NjA2OTpcdFx0XHRtYXNrIHw9IChMSUJJUFdfT0ZETV9SQVRFXzZNQl9NQVNLIFx1MDAzZVx1MDAzZSAxKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjYwNzA6XHRcdFx0bmV3X3R4X3JhdGVzIFx1MDAyNj0gfkxJQklQV19PRkRNX1JBVEVfNk1CX01BU0s7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MDcxLVx0XHR9XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MDcyLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NjA3MzpcdFx0aWYgKExJQklQV19PRkRNX1JBVEVfOU1CX01BU0sgXHUwMDI2IG5ld190eF9yYXRlcykge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NjA3NDpcdFx0XHRtYXNrIHw9IChMSUJJUFdfT0ZETV9SQVRFXzlNQl9NQVNLIFx1MDAzZVx1MDAzZSAxKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjYwNzU6XHRcdFx0bmV3X3R4X3JhdGVzIFx1MDAyNj0gfkxJQklQV19PRkRNX1JBVEVfOU1CX01BU0s7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MDc2LVx0XHR9XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MDc3LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NjA3ODpcdFx0aWYgKExJQklQV19PRkRNX1JBVEVfMTJNQl9NQVNLIFx1MDAyNiBuZXdfdHhfcmF0ZXMpIHtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjYwNzk6XHRcdFx0bWFzayB8PSAoTElCSVBXX09GRE1fUkFURV8xMk1CX01BU0sgXHUwMDNlXHUwMDNlIDEpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NjA4MDpcdFx0XHRuZXdfdHhfcmF0ZXMgXHUwMDI2PSB+TElCSVBXX09GRE1fUkFURV8xMk1CX01BU0s7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MDgxLVx0XHR9XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9NjEwOD1zdGF0aWMgdm9pZCBpcHdfYWRkX3NjYW5fY2hhbm5lbHMoc3RydWN0IGlwd19wcml2ICpwcml2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTYxMTctXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo2MTE4Olx0aWYgKHByaXYtXHUwMDNlaWVlZS1cdTAwM2VmcmVxX2JhbmQgXHUwMDI2IExJQklQV181MkdIWl9CQU5EKSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MTE5LVx0XHRpbnQgc3RhcnQgPSBjaGFubmVsX2luZGV4O1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTYxMjctXHRcdFx0XHRcdCAgZ2VvLVx1MDAzZWFbaV0uXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo2MTI4Olx0XHRcdFx0XHQgIGZsYWdzIFx1MDAyNiBMSUJJUFdfQ0hfUEFTU0lWRV9PTkxZID9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTYxMjktXHRcdFx0XHRcdCAgSVBXX1NDQU5fUEFTU0lWRV9GVUxMX0RXRUxMX1NDQU4gOlxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTYxMzktXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo2MTQwOlx0aWYgKHByaXYtXHUwMDNlaWVlZS1cdTAwM2VmcmVxX2JhbmQgXHUwMDI2IExJQklQV18yNEdIWl9CQU5EKSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MTQxLVx0XHRpbnQgc3RhcnQgPSBjaGFubmVsX2luZGV4O1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTYxNDMtXHRcdFx0aW50IGluZGV4O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NjE0NDpcdFx0XHR1OCBjaGFubmVsc1tMSUJJUFdfMjRHSFpfQ0hBTk5FTFNdID0ge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNjE0NS1cdFx0XHRcdC8qIG5vcCBvdXQgdGhlIGxpc3QgKi9cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MTc5LVx0XHRcdFx0XHRcdCAgZmxhZ3MgXHUwMDI2XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo2MTgwOlx0XHRcdFx0XHRcdCAgTElCSVBXX0NIX1BBU1NJVkVfT05MWSA/XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MTgxLVx0XHRcdFx0XHRcdCAgSVBXX1NDQU5fUEFTU0lWRV9GVUxMX0RXRUxMX1NDQU5cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MTk0LVx0XHRcdFx0XHRcdCAgZmxhZ3MgXHUwMDI2XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo2MTk1Olx0XHRcdFx0XHRcdCAgTElCSVBXX0NIX1BBU1NJVkVfT05MWSA/XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MTk2LVx0XHRcdFx0XHRcdCAgSVBXX1NDQU5fUEFTU0lWRV9GVUxMX0RXRUxMX1NDQU5cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYz02MjIyPXN0YXRpYyBpbnQgaXB3X3JlcXVlc3Rfc2Nhbl9oZWxwZXIoc3RydWN0IGlwd19wcml2ICpwcml2LCBpbnQgdHlwZSwgaW50IGRpcmVjdClcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MjkzLVx0XHRzd2l0Y2ggKGxpYmlwd19pc192YWxpZF9jaGFubmVsKHByaXYtXHUwMDNlaWVlZSwgcHJpdi1cdTAwM2VjaGFubmVsKSkge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NjI5NDpcdFx0Y2FzZSBMSUJJUFdfNTJHSFpfQkFORDpcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTYyOTUtXHRcdFx0YmFuZCA9ICh1OCkgKElQV19BX01PREUgXHUwMDNjXHUwMDNjIDYpIHwgMTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02Mjk4LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NjI5OTpcdFx0Y2FzZSBMSUJJUFdfMjRHSFpfQkFORDpcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTYzMDAtXHRcdFx0YmFuZCA9ICh1OCkgKElQV19CX01PREUgXHUwMDNjXHUwMDNjIDYpIHwgMTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYz03MDU0PXN0YXRpYyB1MzIgaXB3X3Fvc19nZXRfYnVyc3RfZHVyYXRpb24oc3RydWN0IGlwd19wcml2ICpwcml2KVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTcwNjAtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo3MDYxOlx0aWYgKCEocHJpdi1cdTAwM2VpZWVlLVx1MDAzZW1vZHVsYXRpb24gXHUwMDI2IExJQklQV19PRkRNX01PRFVMQVRJT04pKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNzA2Mi1cdFx0cmV0ID0gcHJpdi1cdTAwM2Vxb3NfZGF0YS5idXJzdF9kdXJhdGlvbl9DQ0s7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9NzU5Mz1zdGF0aWMgdm9pZCBpcHdfcmVidWlsZF9kZWNyeXB0ZWRfc2tiKHN0cnVjdCBpcHdfcHJpdiAqcHJpdixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03NjA4LVx0XHQvKiBSZW1vdmUgQ0NNUCBIRFIgKi9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjc2MDk6XHRcdG1lbW1vdmUoc2tiLVx1MDAzZWRhdGEgJiM0MzsgTElCSVBXXzNBRERSX0xFTixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjc2MTA6XHRcdFx0c2tiLVx1MDAzZWRhdGEgJiM0MzsgTElCSVBXXzNBRERSX0xFTiAmIzQzOyA4LFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NzYxMTpcdFx0XHRza2ItXHUwMDNlbGVuIC0gTElCSVBXXzNBRERSX0xFTiAtIDgpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNzYxMi1cdFx0c2tiX3RyaW0oc2tiLCBza2ItXHUwMDNlbGVuIC0gMTYpO1x0LyogQ0NNUF9IRFJfTEVOICYjNDM7IENDTVBfTUlDX0xFTiAqL1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTc2MTctXHRcdC8qIFJlbW92ZSBJViAqL1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NzYxODpcdFx0bWVtbW92ZShza2ItXHUwMDNlZGF0YSAmIzQzOyBMSUJJUFdfM0FERFJfTEVOLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NzYxOTpcdFx0XHRza2ItXHUwMDNlZGF0YSAmIzQzOyBMSUJJUFdfM0FERFJfTEVOICYjNDM7IDQsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo3NjIwOlx0XHRcdHNrYi1cdTAwM2VsZW4gLSBMSUJJUFdfM0FERFJfTEVOIC0gNCk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03NjIxLVx0XHRza2JfdHJpbShza2IsIHNrYi1cdTAwM2VsZW4gLSA4KTtcdC8qIElWICYjNDM7IElDViAqL1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jPTgyMDY9c3RhdGljIHZvaWQgaXB3X3J4KHN0cnVjdCBpcHdfcHJpdiAqcHJpdilcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04MjU0LVx0XHRcdFx0XHQgICAgIGNvbnRyb2wgXHUwMDI2ICgxIFx1MDAzY1x1MDAzYyAwKSkgP1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6ODI1NTpcdFx0XHRcdFx0ICAgIExJQklQV18yNEdIWl9CQU5EIDpcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjgyNTY6XHRcdFx0XHRcdCAgICBMSUJJUFdfNTJHSFpfQkFORCxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTgyNTctXHRcdFx0XHRcdC5sZW4gPSBsZTE2X3RvX2NwdShwa3QtXHUwMDNldS5mcmFtZS5sZW5ndGgpLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTgyNjAtXHRcdFx0XHRpZiAoc3RhdHMucnNzaSAhPSAwKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6ODI2MTpcdFx0XHRcdFx0c3RhdHMubWFzayB8PSBMSUJJUFdfU1RBVE1BU0tfUlNTSTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTgyNjItXHRcdFx0XHRpZiAoc3RhdHMuc2lnbmFsICE9IDApXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo4MjYzOlx0XHRcdFx0XHRzdGF0cy5tYXNrIHw9IExJQklQV19TVEFUTUFTS19TSUdOQUw7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04MjY0LVx0XHRcdFx0aWYgKHN0YXRzLm5vaXNlICE9IDApXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo4MjY1Olx0XHRcdFx0XHRzdGF0cy5tYXNrIHw9IExJQklQV19TVEFUTUFTS19OT0lTRTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTgyNjYtXHRcdFx0XHRpZiAoc3RhdHMucmF0ZSAhPSAwKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6ODI2NzpcdFx0XHRcdFx0c3RhdHMubWFzayB8PSBMSUJJUFdfU1RBVE1BU0tfUkFURTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTgyNjgtXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9ODQxNj1zdGF0aWMgaW50IGlwd19zd19yZXNldChzdHJ1Y3QgaXB3X3ByaXYgKnByaXYsIGludCBvcHRpb24pXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODQ5OS1cdFx0cHJpdi1cdTAwM2VpZWVlLVx1MDAzZWFiZ190cnVlID0gMTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjg1MDA6XHRcdGJhbmQgPSBMSUJJUFdfNTJHSFpfQkFORCB8IExJQklQV18yNEdIWl9CQU5EO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6ODUwMTpcdFx0bW9kdWxhdGlvbiA9IExJQklQV19PRkRNX01PRFVMQVRJT04gfFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6ODUwMjpcdFx0ICAgIExJQklQV19DQ0tfTU9EVUxBVElPTjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTg1MDMtXHRcdHByaXYtXHUwMDNlYWRhcHRlciA9IElQV18yOTE1QUJHO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTg1MTEtXHRcdHByaXYtXHUwMDNlaWVlZS1cdTAwM2VhYmdfdHJ1ZSA9IDA7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo4NTEyOlx0XHRiYW5kID0gTElCSVBXXzI0R0haX0JBTkQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo4NTEzOlx0XHRtb2R1bGF0aW9uID0gTElCSVBXX09GRE1fTU9EVUxBVElPTiB8XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo4NTE0Olx0XHQgICAgTElCSVBXX0NDS19NT0RVTEFUSU9OO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODUxNS1cdFx0cHJpdi1cdTAwM2VhZGFwdGVyID0gSVBXXzIyMDBCRztcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04NTIxLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6ODUyMjpcdHByaXYtXHUwMDNlcmF0ZXNfbWFzayA9IExJQklQV19ERUZBVUxUX1JBVEVTX01BU0s7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04NTIzLVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jPTg2MDA9c3RhdGljIGludCBpcHdfd3hfc2V0X2ZyZXEoc3RydWN0IG5ldF9kZXZpY2UgKmRldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04NjMzLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6ODYzNDpcdFx0ZmxhZ3MgPSAoYmFuZCA9PSBMSUJJUFdfMjRHSFpfQkFORCkgP1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODYzNS1cdFx0ICAgIGdlby1cdTAwM2ViZ1tpXS5mbGFncyA6IGdlby1cdTAwM2VhW2ldLmZsYWdzO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6ODYzNjpcdFx0aWYgKGZsYWdzIFx1MDAyNiBMSUJJUFdfQ0hfUEFTU0lWRV9PTkxZKSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04NjM3LVx0XHRcdElQV19ERUJVR19XWChcJiMzNDtJbnZhbGlkIEFkLUhvYyBjaGFubmVsIGZvciA4MDIuMTFhXFxuXCYjMzQ7KTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYz04NjQ5PXN0YXRpYyBpbnQgaXB3X3d4X2dldF9mcmVxKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODY2OC1cdFx0c3dpdGNoIChsaWJpcHdfaXNfdmFsaWRfY2hhbm5lbChwcml2LVx1MDAzZWllZWUsIHByaXYtXHUwMDNlY2hhbm5lbCkpIHtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjg2Njk6XHRcdGNhc2UgTElCSVBXXzUyR0haX0JBTkQ6XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04NjcwLVx0XHRcdHdycXUtXHUwMDNlZnJlcS5tID0gcHJpdi1cdTAwM2VpZWVlLVx1MDAzZWdlby5hW2ldLmZyZXEgKiAxMDAwMDA7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODY3Mi1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjg2NzM6XHRcdGNhc2UgTElCSVBXXzI0R0haX0JBTkQ6XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04Njc0LVx0XHRcdHdycXUtXHUwMDNlZnJlcS5tID0gcHJpdi1cdTAwM2VpZWVlLVx1MDAzZWdlby5iZ1tpXS5mcmVxICogMTAwMDAwO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jPTg3Njk9c3RhdGljIGludCBpcHdfd3hfZ2V0X3JhbmdlKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODgxOC1cdFx0XHRpZiAoKHByaXYtXHUwMDNlaWVlZS1cdTAwM2Vpd19tb2RlID09IElXX01PREVfQURIT0MpIFx1MDAyNlx1MDAyNlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6ODgxOTpcdFx0XHQgICAgKGdlby1cdTAwM2ViZ1tqXS5mbGFncyBcdTAwMjYgTElCSVBXX0NIX1BBU1NJVkVfT05MWSkpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04ODIwLVx0XHRcdFx0Y29udGludWU7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODgzMS1cdFx0XHRpZiAoKHByaXYtXHUwMDNlaWVlZS1cdTAwM2Vpd19tb2RlID09IElXX01PREVfQURIT0MpIFx1MDAyNlx1MDAyNlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6ODgzMjpcdFx0XHQgICAgKGdlby1cdTAwM2VhW2pdLmZsYWdzIFx1MDAyNiBMSUJJUFdfQ0hfUEFTU0lWRV9PTkxZKSlcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTg4MzMtXHRcdFx0XHRjb250aW51ZTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYz05MDc1PXN0YXRpYyBpbnQgaXB3X3d4X3NldF9yYXRlKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtOTA4OS1cdFx0Zml4ZWQgPSAwO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6OTA5MDpcdFx0bWFzayA9IExJQklQV19ERUZBVUxUX1JBVEVTX01BU0s7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy05MDkxLVx0XHQvKiBOb3cgd2Ugc2hvdWxkIHJlYXNzb2NpYXRlICovXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtOTA5OC1cdGlmICh0YXJnZXRfcmF0ZSA9PSAxMDAwMDAwIHx8ICFmaXhlZClcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjkwOTk6XHRcdG1hc2sgfD0gTElCSVBXX0NDS19SQVRFXzFNQl9NQVNLO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtOTEwMC1cdGlmICh0YXJnZXRfcmF0ZSA9PSAxMDAwMDAwKVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTkxMDMtXHRpZiAodGFyZ2V0X3JhdGUgPT0gMjAwMDAwMCB8fCAhZml4ZWQpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo5MTA0Olx0XHRtYXNrIHw9IExJQklQV19DQ0tfUkFURV8yTUJfTUFTSztcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTkxMDUtXHRpZiAodGFyZ2V0X3JhdGUgPT0gMjAwMDAwMClcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy05MTA4LVx0aWYgKHRhcmdldF9yYXRlID09IDU1MDAwMDAgfHwgIWZpeGVkKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6OTEwOTpcdFx0bWFzayB8PSBMSUJJUFdfQ0NLX1JBVEVfNU1CX01BU0s7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy05MTEwLVx0aWYgKHRhcmdldF9yYXRlID09IDU1MDAwMDApXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtOTExMy1cdGlmICh0YXJnZXRfcmF0ZSA9PSA2MDAwMDAwIHx8ICFmaXhlZClcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjkxMTQ6XHRcdG1hc2sgfD0gTElCSVBXX09GRE1fUkFURV82TUJfTUFTSztcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTkxMTUtXHRpZiAodGFyZ2V0X3JhdGUgPT0gNjAwMDAwMClcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy05MTE4LVx0aWYgKHRhcmdldF9yYXRlID09IDkwMDAwMDAgfHwgIWZpeGVkKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6OTExOTpcdFx0bWFzayB8PSBMSUJJUFdfT0ZETV9SQVRFXzlNQl9NQVNLO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtOTEyMC1cdGlmICh0YXJnZXRfcmF0ZSA9PSA5MDAwMDAwKVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTkxMjMtXHRpZiAodGFyZ2V0X3JhdGUgPT0gMTEwMDAwMDAgfHwgIWZpeGVkKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6OTEyNDpcdFx0bWFzayB8PSBMSUJJUFdfQ0NLX1JBVEVfMTFNQl9NQVNLO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtOTEyNS1cdGlmICh0YXJnZXRfcmF0ZSA9PSAxMTAwMDAwMClcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy05MTI4LVx0aWYgKHRhcmdldF9yYXRlID09IDEyMDAwMDAwIHx8ICFmaXhlZClcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjkxMjk6XHRcdG1hc2sgfD0gTElCSVBXX09GRE1fUkFURV8xMk1CX01BU0s7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy05MTMwLVx0aWYgKHRhcmdldF9yYXRlID09IDEyMDAwMDAwKVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTkxMzMtXHRpZiAodGFyZ2V0X3JhdGUgPT0gMTgwMDAwMDAgfHwgIWZpeGVkKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6OTEzNDpcdFx0bWFzayB8PSBMSUJJUFdfT0ZETV9SQVRFXzE4TUJfTUFTSztcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTkxMzUtXHRpZiAodGFyZ2V0X3JhdGUgPT0gMTgwMDAwMDApXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtOTEzOC1cdGlmICh0YXJnZXRfcmF0ZSA9PSAyNDAwMDAwMCB8fCAhZml4ZWQpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo5MTM5Olx0XHRtYXNrIHw9IExJQklQV19PRkRNX1JBVEVfMjRNQl9NQVNLO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtOTE0MC1cdGlmICh0YXJnZXRfcmF0ZSA9PSAyNDAwMDAwMClcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy05MTQzLVx0aWYgKHRhcmdldF9yYXRlID09IDM2MDAwMDAwIHx8ICFmaXhlZClcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjkxNDQ6XHRcdG1hc2sgfD0gTElCSVBXX09GRE1fUkFURV8zNk1CX01BU0s7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy05MTQ1LVx0aWYgKHRhcmdldF9yYXRlID09IDM2MDAwMDAwKVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTkxNDgtXHRpZiAodGFyZ2V0X3JhdGUgPT0gNDgwMDAwMDAgfHwgIWZpeGVkKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6OTE0OTpcdFx0bWFzayB8PSBMSUJJUFdfT0ZETV9SQVRFXzQ4TUJfTUFTSztcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTkxNTAtXHRpZiAodGFyZ2V0X3JhdGUgPT0gNDgwMDAwMDApXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtOTE1My1cdGlmICh0YXJnZXRfcmF0ZSA9PSA1NDAwMDAwMCB8fCAhZml4ZWQpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo5MTU0Olx0XHRtYXNrIHw9IExJQklQV19PRkRNX1JBVEVfNTRNQl9NQVNLO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtOTE1NS1cdGlmICh0YXJnZXRfcmF0ZSA9PSA1NDAwMDAwMClcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy05MTY0LVx0bXV0ZXhfbG9jayhcdTAwMjZwcml2LVx1MDAzZW11dGV4KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjkxNjU6XHRpZiAobWFzayA9PSBMSUJJUFdfREVGQVVMVF9SQVRFU19NQVNLKSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy05MTY2LVx0XHRwcml2LVx1MDAzZWNvbmZpZyBcdTAwMjY9IH5DRkdfRklYRURfUkFURTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYz05NTkzPXN0YXRpYyBpbnQgaXB3X3d4X3NldF93aXJlbGVzc19tb2RlKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4tLVxuXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OC8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMzEgMjA6MTg8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjctZmxhc2g8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMzAwOTIKCQkJCQkJCW91dHB1dDogMTgKCQkJCQkJCXRob3VnaHRzOiA0OAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipJbnZlc3RpZ2F0aW5nIExJQklQVyBVc2FnZSoqCgpPa2F5LCBsZXQmIzM5O3MgZGl2ZSBpbi4gTXkgaW1tZWRpYXRlIHF1ZXN0aW9uIGlzLCB3aG8mIzM5O3Mgc3RpbGwgcmVseWluZyBvbiBgTElCSVBXYD8gSXQmIzM5O3MgYmVlbiBhcm91bmQgZm9yIGEgd2hpbGUsIGFuZCBteSBleHBlcmllbmNlIHRlbGxzIG1lIGl0JiMzOTtzIGxpa2VseSBhIGxlZ2FjeSBjb21wb25lbnQuIEkgbmVlZCB0byBmaWd1cmUgb3V0IHdoYXQgZHJpdmVycywgaWYgYW55LCBhcmUgc3RpbGwgYWN0aXZlbHkgdXNpbmcgaXQuIEkgc3VzcGVjdCB0aGVyZSBtYXkgYmUgdmVyeSBmZXcsIGFuZCBJIHNob3VsZCBiZSB3YXJ5IG9mIGFueSBwcm9qZWN0cyBzdGlsbCB1c2luZyB0aGlzIGdpdmVuIGl0cyBhZ2UuCgpUaGUgYmVzdCB3YXkgdG8gZG8gdGhpcyBpcyBhIHF1aWNrIGBnaXQgZ3JlcGAgdG8gc2NhbiB0aGUgY29kZWJhc2UuIFNwZWNpZmljYWxseSwgSeKAmWxsIHNlYXJjaCBmb3IgaW5zdGFuY2VzIG9mICYjMzQ7Q09ORklHX0xJQklQVyYjMzQ7IGFuZCAmIzM0O3NlbGVjdCBMSUJJUFcmIzM0Oy4gVGhhdCBzaG91bGQgZ2l2ZSBtZSBhIHNvbGlkIG92ZXJ2aWV3IG9mIGFueSBidWlsZCBjb25maWd1cmF0aW9ucyBvciBtb2R1bGUgc2VsZWN0aW9ucyB0aGF0IHN0aWxsIGhhdmUgYSBkZXBlbmRlbmN5IG9uIGl0LiBUaGlzIGlzIGEgc3RyYWlnaHRmb3J3YXJkIHN0YXJ0aW5nIHBvaW50LiBMZXQmIzM5O3Mgc2VlIHdoYXQgdHVybnMgdXAhCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OS8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMzEgMjA6MTg8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7c2VsZWN0IExJQklQVyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWc9Nj1jb25maWcgSVBXMjEwMFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvS2NvbmZpZy0xMS1cdHNlbGVjdCBGV19MT0FERVJcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvS2NvbmZpZzoxMjpcdHNlbGVjdCBMSUJJUFdcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvS2NvbmZpZy0xMy1cdGhlbHBcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWc9NjU9Y29uZmlnIElQVzIyMDBcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWctNzAtXHRzZWxlY3QgRldfTE9BREVSXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWc6NzE6XHRzZWxlY3QgTElCSVBXXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWctNzItXHRoZWxwXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTAvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzMxIDIwOjE5PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy43LWZsYXNoPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDMwNTY3CgkJCQkJCQlvdXRwdXQ6IDE5CgkJCQkJCQl0aG91Z2h0czogMjY3CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkludmVzdGlnYXRpbmcgdGhlIEludGVsIENlbnRyaW5vIFdpcmVsZXNzIExhbmRzY2FwZSBpbiBRRU1VKioKCk9rYXksIHNvIEkmIzM5O20gdGhpbmtpbmcgYWJvdXQgdGhlc2Ugb2xkIEludGVsIFBSTy9XaXJlbGVzcyBkcml2ZXJzLCBgaXB3MjEwMGAgYW5kIGBpcHcyMjAwYC4gVGhlc2UgYXJlIHJlbGljcyBmcm9tIHRoZSBDZW50cmlubyBlcmEsIHNwZWNpZmljYWxseSB0aGUgYDIxMDBgIGFuZCB0aGUgYDIyMDBCRyAvIDI5MTVBQkdgIGNhcmRzLiBUaGV5IHJlbHkgb24gYFBDSWAgYW5kIGBDRkc4MDIxMWAsIHdoaWNoIG1ha2VzIHNlbnNlIGZvciB0aGUgdGltZS4gQnV0IHRoZSBidXJuaW5nIHF1ZXN0aW9uIGlzLCBjYW4gSSBldmVuICp0ZXN0KiB0aGVzZSBpbiBhIHN0YW5kYXJkIFFFTVUgc2V0dXAsIG9yIGFueSB2aXJ0dWFsaXphdGlvbiBlbnZpcm9ubWVudCBmb3IgdGhhdCBtYXR0ZXI/IEkgbmVlZCB0byBrbm93IGlmIFFFTVUgYm90aGVycyB0byBlbXVsYXRlIHRoZXNlIHNwZWNpZmljIGRldmljZXMuCgpBIHF1aWNrIGNoZWNrIGNvbmZpcm1zIG15IHN1c3BpY2lvbjogTm8uIFFFTVUgZG9lc24mIzM5O3Qgb2ZmZXIgbmF0aXZlIGVtdWxhdGlvbiBmb3IgdGhlc2UgcGFydGljdWxhciBJbnRlbCBQUk8vV2lyZWxlc3MgUENJIGRldmljZXMuIEl0IHNlZW1zIHRoZXkmIzM5O3JlIHRvbyBuaWNoZSwgb3IgcGVyaGFwcyB0b28gZWFybHkuCgpBbHJpZ2h0LCBzbyBpZiBub3QgZGlyZWN0IGhhcmR3YXJlIGVtdWxhdGlvbiwgd2hhdCBhYm91dCBzb2Z0d2FyZS1iYXNlZCBzb2x1dGlvbnM/IElzIHRoZXJlIGFueSBleGlzdGluZyBzb2Z0d2FyZSBlbXVsYXRpb24gdXNpbmcgc29tZXRoaW5nIGxpa2UgYG1hYzgwMjExX2h3c2ltYCwgYSBVU0IgZ2FkZ2V0IHNldHVwLCBvciBldmVuIHNvbWV0aGluZyB2aXJ0aW8tYmFzZWQgdGhhdCAqbWlnaHQqIGxldmVyYWdlIHRoZSBgbGliaXB3YCBkcml2ZXI/CgpIb2xkIG9uLi4uIGBtYWM4MDIxMV9od3NpbWAgaXNuJiMzOTt0IGdvaW5nIHRvIGhlbHAgaGVyZS4gSXQgcmVsaWVzIG9uIHRoZSBzdGFuZGFyZCBgbWFjODAyMTFgIGZyYW1ld29yaywgYW5kIGZyb20gd2hhdCBJIHJlY2FsbCwgYGxpYmlwd2Agd2FzIEludGVsJiMzOTtzICpjdXN0b20qIDgwMi4xMSBzdGFjayB1c2VkIGV4Y2x1c2l2ZWx5IGJ5IGBpcHcyMTAwYCBhbmQgYGlwdzIyMDBgIGJlZm9yZSB0aGUgc3dpdGNoIHRvIHRoZSBgbWFjODAyMTFgIC8gYGNmZzgwMjExYCBzdGFuZGFyZCBzdGFjay4gU28sIGBtYWM4MDIxMV9od3NpbWAgaXMgb3V0LgoKTGV0JiMzOTtzIGRvIGEgd2lkZXIgc2VhcmNoLiBJIG5lZWQgdG8gbWFrZSBzdXJlIEkmIzM5O20gbm90IG1pc3NpbmcgYW55dGhpbmcuIEkmIzM5O2xsIG5lZWQgdG8gc2VlIGlmIGFueXRoaW5nIGVsc2UgYXQgYWxsIGluIHRoZSBrZXJuZWwsIHVzZXMgYGxpYmlwd2Agb3IgYGxpYmlwd19yeGAuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTEvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzMxIDIwOjE5PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2xpYmlwd19yeCYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL01ha2VmaWxlPTEwPWxpYmlwdy1vYmpzIDo9IFxcXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9NYWtlZmlsZS0xMi1cdGxpYmlwd190eC5vIFxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL01ha2VmaWxlOjEzOlx0bGliaXB3X3J4Lm8gXFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvTWFrZWZpbGUtMTQtXHRsaWJpcHdfd3gubyBcXFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTI0MzM9c3RhdGljIHZvaWQgaXNyX3J4KHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYsIGludCBpLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MjQzNDpcdFx0XHQgIHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgKnN0YXRzKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjQzNS17XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjQ3MS1cdC8qIE1ha2UgYSBjb3B5IG9mIHRoZSBmcmFtZSBzbyB3ZSBjYW4gZHVtcCBpdCB0byB0aGUgbG9ncyBpZlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MjQ3MjpcdCAqIGxpYmlwd19yeCBmYWlscyAqL1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjQ3My1cdHNrYl9jb3B5X2Zyb21fbGluZWFyX2RhdGEocGFja2V0LVx1MDAzZXNrYiwgcGFja2V0X2RhdGEsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjQ3Ny1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjI0Nzg6XHRpZiAoIWxpYmlwd19yeChwcml2LVx1MDAzZWllZWUsIHBhY2tldC1cdTAwM2Vza2IsIHN0YXRzKSkge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjQ3OS0jaWZkZWYgSVBXMjEwMF9SWF9ERUJVR1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI0ODUtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyNDg2Olx0XHQvKiBsaWJpcHdfcnggZmFpbGVkLCBzbyBpdCBkaWRuJiMzOTt0IGZyZWUgdGhlIFNLQiAqL1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjQ4Ny1cdFx0ZGV2X2tmcmVlX3NrYl9hbnkocGFja2V0LVx1MDAzZXNrYik7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9MjUwNj1zdGF0aWMgdm9pZCBpc3JfcnhfbW9uaXRvcihzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2LCBpbnQgaSxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjI1MDc6XHRcdCAgIHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgKnN0YXRzKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjUwOC17XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjU2NC1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjI1NjU6XHRpZiAoIWxpYmlwd19yeChwcml2LVx1MDAzZWllZWUsIHBhY2tldC1cdTAwM2Vza2IsIHN0YXRzKSkge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjU2Ni1cdFx0ZGV2LVx1MDAzZXN0YXRzLnJ4X2Vycm9ycyYjNDM7JiM0Mzs7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNTY3LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MjU2ODpcdFx0LyogbGliaXB3X3J4IGZhaWxlZCwgc28gaXQgZGlkbiYjMzk7dCBmcmVlIHRoZSBTS0IgKi9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI1NjktXHRcdGRldl9rZnJlZV9za2JfYW55KHBhY2tldC1cdTAwM2Vza2IpO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTI2NDQ9c3RhdGljIHZvaWQgX19pcHcyMTAwX3J4X3Byb2Nlc3Moc3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdilcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNjUxLVx0c3RydWN0IGlwdzIxMDBfcnggKnU7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyNjUyOlx0c3RydWN0IGxpYmlwd19yeF9zdGF0cyBzdGF0cyA9IHtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI2NTMtXHRcdC5tYWNfdGltZSA9IGppZmZpZXMsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjcxOC1cdFx0XHRjYXNlIElFRUU4MDIxMV9GVFlQRV9NR01UOlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MjcxOTpcdFx0XHRcdGxpYmlwd19yeF9tZ3QocHJpdi1cdTAwM2VpZWVlLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjcyMC1cdFx0XHRcdFx0XHQgXHUwMDI2dS1cdTAwM2VyeF9kYXRhLmhlYWRlciwgXHUwMDI2c3RhdHMpO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jPTQ0MjU9c3RhdGljIHZvaWQgaXB3X3J4X25vdGlmaWNhdGlvbihzdHJ1Y3QgaXB3X3ByaXYgKnByaXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNDQ4Mi1cdFx0XHRcdFx0XHRcdHN0cnVjdFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NDQ4MzpcdFx0XHRcdFx0XHRcdGxpYmlwd19yeF9zdGF0c1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNDQ4NC1cdFx0XHRcdFx0XHRcdCAgICBzdGF0cyA9IHtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy00NDkwLVx0XHRcdFx0XHRcdFx0ICAgICBcJiMzNDtzaXplICVkXFxuXCYjMzQ7LCBzaXplKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjQ0OTE6XHRcdFx0XHRcdFx0XHRsaWJpcHdfcnhfbWd0KHByaXYtXHUwMDNlXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy00NDkyLVx0XHRcdFx0XHRcdFx0XHRcdCBpZWVlLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jPTc2MzI9c3RhdGljIHZvaWQgaXB3X2hhbmRsZV9kYXRhX3BhY2tldChzdHJ1Y3QgaXB3X3ByaXYgKnByaXYsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03NjMzLVx0XHRcdFx0ICAgc3RydWN0IGlwd19yeF9tZW1fYnVmZmVyICpyeGIsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo3NjM0Olx0XHRcdFx0ICAgc3RydWN0IGxpYmlwd19yeF9zdGF0cyAqc3RhdHMpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03NjM1LXtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03NjcyLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NzY3MzpcdGlmICghbGliaXB3X3J4KHByaXYtXHUwMDNlaWVlZSwgcnhiLVx1MDAzZXNrYiwgc3RhdHMpKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNzY3NC1cdFx0ZGV2LVx1MDAzZXN0YXRzLnJ4X2Vycm9ycyYjNDM7JiM0Mzs7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo3Njc1Olx0ZWxzZSB7XHRcdFx0LyogbGliaXB3X3J4IHN1Y2NlZWRlZCwgc28gaXQgbm93IG93bnMgdGhlIFNLQiAqL1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNzY3Ni1cdFx0cnhiLVx1MDAzZXNrYiA9IE5VTEw7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9NzY4Mj1zdGF0aWMgdm9pZCBpcHdfaGFuZGxlX2RhdGFfcGFja2V0X21vbml0b3Ioc3RydWN0IGlwd19wcml2ICpwcml2LFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNzY4My1cdFx0XHRcdFx0ICAgc3RydWN0IGlwd19yeF9tZW1fYnVmZmVyICpyeGIsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo3Njg0Olx0XHRcdFx0XHQgICBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICpzdGF0cylcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTc2ODUte1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTc4MjktXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo3ODMwOlx0aWYgKCFsaWJpcHdfcngocHJpdi1cdTAwM2VpZWVlLCByeGItXHUwMDNlc2tiLCBzdGF0cykpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03ODMxLVx0XHRkZXYtXHUwMDNlc3RhdHMucnhfZXJyb3JzJiM0MzsmIzQzOztcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjc4MzI6XHRlbHNlIHtcdFx0XHQvKiBsaWJpcHdfcnggc3VjY2VlZGVkLCBzbyBpdCBub3cgb3ducyB0aGUgU0tCICovXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03ODMzLVx0XHRyeGItXHUwMDNlc2tiID0gTlVMTDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYz03ODU5PXN0YXRpYyB2b2lkIGlwd19oYW5kbGVfcHJvbWlzY3VvdXNfcngoc3RydWN0IGlwd19wcml2ICpwcml2LFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNzg2MC1cdFx0XHRcdCAgICAgIHN0cnVjdCBpcHdfcnhfbWVtX2J1ZmZlciAqcnhiLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6Nzg2MTpcdFx0XHRcdCAgICAgIHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgKnN0YXRzKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNzg2Mi17XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODAzNS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjgwMzY6XHRpZiAoIWxpYmlwd19yeChwcml2LVx1MDAzZXByb21fcHJpdi1cdTAwM2VpZWVlLCBza2IsIHN0YXRzKSkge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODAzNy1cdFx0ZGV2LVx1MDAzZXN0YXRzLnJ4X2Vycm9ycyYjNDM7JiM0Mzs7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9ODE1ND1zdGF0aWMgdm9pZCBpcHdfaGFuZGxlX21nbXRfcGFja2V0KHN0cnVjdCBpcHdfcHJpdiAqcHJpdixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTgxNTUtXHRcdFx0XHQgICBzdHJ1Y3QgaXB3X3J4X21lbV9idWZmZXIgKnJ4YixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjgxNTY6XHRcdFx0XHQgICBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICpzdGF0cylcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTgxNTcte1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTgxNjItXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo4MTYzOlx0bGliaXB3X3J4X21ndChwcml2LVx1MDAzZWllZWUsIGhlYWRlciwgc3RhdHMpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODE2NC1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04MTg0LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6ODE4NTpcdFx0LyogUHVzaCB0aGUgbGliaXB3X3J4X3N0YXRzIGJlZm9yZSB0aGUgODAyLjExIGZyYW1lICovXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04MTg2LVx0XHRtZW1jcHkoc2tiX3B1c2goc2tiLCBzaXplb2YoKnN0YXRzKSksIHN0YXRzLCBzaXplb2YoKnN0YXRzKSk7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9ODIwNj1zdGF0aWMgdm9pZCBpcHdfcngoc3RydWN0IGlwd19wcml2ICpwcml2KVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTgyMzktXHRcdGNhc2UgUlhfRlJBTUVfVFlQRTpcdC8qIDgwMi4xMSBmcmFtZSAqLyAge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6ODI0MDpcdFx0XHRcdHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgc3RhdHMgPSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04MjQxLVx0XHRcdFx0XHQucnNzaSA9IHBrdC1cdTAwM2V1LmZyYW1lLnJzc2lfZGJtIC1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYz0xMDI1Nj1zdGF0aWMgdm9pZCBpcHdfaGFuZGxlX3Byb21pc2N1b3VzX3R4KHN0cnVjdCBpcHdfcHJpdiAqcHJpdixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy0xMDI1OC17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzoxMDI1OTpcdHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgZHVtbXlzdGF0cztcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTEwMjYwLVx0c3RydWN0IGllZWU4MDIxMV9oZHIgKmhkcjtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy0xMDMzMC1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjEwMzMxOlx0XHRpZiAoIWxpYmlwd19yeChwcml2LVx1MDAzZXByb21fcHJpdi1cdTAwM2VpZWVlLCBkc3QsIFx1MDAyNmR1bW15c3RhdHMpKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtMTAzMzItXHRcdFx0ZGV2X2tmcmVlX3NrYl9hbnkoZHN0KTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oPTEzNT1zdHJ1Y3QgbGliaXB3X3NuYXBfaGRyIHtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oLTIxNy0gKiAgICAgICBpbmZvcm1hdGlvbiBmb3IgZnJhbWVzIHJlY2VpdmVkLlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaDoyMTg6ICogICAgICAgRm9yIGxpYmlwd19yeF9tZ3QsIHlvdSBuZWVkIHRvIHNldCBhdCBsZWFzdCB0aGUgJiMzOTtsZW4mIzM5OyBwYXJhbWV0ZXIuXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oLTIxOS0gKi9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3Lmg6MjIwOnN0cnVjdCBsaWJpcHdfcnhfc3RhdHMge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaC0yMjEtXHR1MzIgbWFjX3RpbWU7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaD01OTk9c3RydWN0IGxpYmlwd19uZXR3b3JrIHtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oLTYwOS1cdC8qIFRoZXNlIGFyZSBuZXR3b3JrIHN0YXRpc3RpY3MgKi9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3Lmg6NjEwOlx0c3RydWN0IGxpYmlwd19yeF9zdGF0cyBzdGF0cztcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3LmgtNjExLVx0dTE2IGNhcGFiaWxpdHk7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaD03NzA9c3RydWN0IGxpYmlwd19kZXZpY2Uge1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3LmgtODY2LVx0XHRcdCAgICAgIHN0cnVjdCBsaWJpcHdfYWN0aW9uICogYWN0aW9uLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaDo4Njc6XHRcdFx0ICAgICAgc3RydWN0IGxpYmlwd19yeF9zdGF0cyAqIHN0YXRzKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3LmgtODY4LVx0aW50ICgqaGFuZGxlX2Rpc2Fzc29jKSAoc3RydWN0IG5ldF9kZXZpY2UgKiBkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaC04NzctXHRcdFx0XHQgICAgIHN0cnVjdCBsaWJpcHdfcHJvYmVfcmVxdWVzdCAqIHJlcSxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3Lmg6ODc4Olx0XHRcdFx0ICAgICBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICogc3RhdHMpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaC04NzktXHRpbnQgKCpoYW5kbGVfYXNzb2NfcmVzcG9uc2UpIChzdHJ1Y3QgbmV0X2RldmljZSAqIGRldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oPTEwMTE9dm9pZCBsaWJpcHdfdHhiX2ZyZWUoc3RydWN0IGxpYmlwd190eGIgKik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oLTEwMTItXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oOjEwMTM6LyogbGliaXB3X3J4LmMgKi9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3Lmg6MTAxNDppbnQgbGliaXB3X3J4KHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaDoxMDE1Olx0ICAgICAgc3RydWN0IGxpYmlwd19yeF9zdGF0cyAqcnhfc3RhdHMpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaC0xMDE2LS8qIG1ha2Ugc3VyZSB0byBzZXQgc3RhdHMtXHUwMDNlbGVuICovXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oOjEwMTc6dm9pZCBsaWJpcHdfcnhfbWd0KHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLCBzdHJ1Y3QgbGliaXB3X2hkcl80YWRkciAqaGVhZGVyLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaDoxMDE4Olx0XHQgICBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICpzdGF0cyk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oLTEwMTktXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYz0zMj1zdGF0aWMgdm9pZCBsaWJpcHdfbW9uaXRvcl9yeChzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMzMtXHRcdFx0XHRcdHN0cnVjdCBza19idWZmICpza2IsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjM0Olx0XHRcdFx0XHRzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICpyeF9zdGF0cylcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMzUte1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM9MTMzPXN0YXRpYyBpbnQgbGliaXB3X2ZyYWdfY2FjaGVfaW52YWxpZGF0ZShzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTE1Ni0jaWZkZWYgTk9UX1lFVFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzoxNTc6LyogbGliaXB3X3J4X2ZyYW1lX21ndG10XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTE1OC0gKlxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTYwLSAqXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjE2MTogKiBDYWxsZWQgYnkgbGliaXB3X3J4ICovXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTE2Mi1zdGF0aWMgaW50XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjE2MzpsaWJpcHdfcnhfZnJhbWVfbWdtdChzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSwgc3RydWN0IHNrX2J1ZmYgKnNrYixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6MTY0Olx0XHRcdHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgKnJ4X3N0YXRzLCB1MTYgdHlwZSxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTY1LVx0XHRcdHUxNiBzdHlwZSlcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jPTIxOT1zdGF0aWMgdW5zaWduZWQgY2hhciBsaWJpcHdfYnJpZGdlX3R1bm5lbF9oZWFkZXJbXSA9XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0yMjItXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjIyMzovKiBDYWxsZWQgYnkgbGliaXB3X3J4X2ZyYW1lX2RlY3J5cHQgKi9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMjI0LXN0YXRpYyBpbnQgbGliaXB3X2lzX2VhcG9sX2ZyYW1lKHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMjYyLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzoyNjM6LyogQ2FsbGVkIG9ubHkgYXMgYSB0YXNrbGV0IChzb2Z0d2FyZSBJUlEpLCBieSBsaWJpcHdfcnggKi9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMjY0LXN0YXRpYyBpbnRcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6MjY1OmxpYmlwd19yeF9mcmFtZV9kZWNyeXB0KHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0yNjYtXHRcdFx0ICAgc3RydWN0IGxpYmlwd19jcnlwdF9kYXRhICpjcnlwdClcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTI5My1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6Mjk0Oi8qIENhbGxlZCBvbmx5IGFzIGEgdGFza2xldCAoc29mdHdhcmUgSVJRKSwgYnkgbGliaXB3X3J4ICovXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTI5NS1zdGF0aWMgaW50XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjI5NjpsaWJpcHdfcnhfZnJhbWVfZGVjcnlwdF9tc2R1KHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0yOTctXHRcdFx0XHRzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBpbnQga2V5aWR4LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMzI0LSAqIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIG9ubHkgYXMgYSB0YXNrbGV0IChzb2Z0d2FyZSBJUlEpLiAqL1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzozMjU6aW50IGxpYmlwd19yeChzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSwgc3RydWN0IHNrX2J1ZmYgKnNrYixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6MzI2Olx0XHQgc3RydWN0IGxpYmlwd19yeF9zdGF0cyAqcnhfc3RhdHMpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTMyNy17XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy00NzEtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjQ3MjpcdFx0aWYgKGxpYmlwd19yeF9mcmFtZV9tZ210KGllZWUsIHNrYiwgcnhfc3RhdHMsIHR5cGUsIHN0eXBlKSlcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtNDczLVx0XHRcdGdvdG8gcnhfZHJvcHBlZDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTU2Ni1cdGlmICgoZmMgXHUwMDI2IElFRUU4MDIxMV9GQ1RMX1BST1RFQ1RFRCkgXHUwMDI2XHUwMDI2IGNhbl9iZV9kZWNyeXB0ZWQgXHUwMDI2XHUwMDI2XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjU2NzpcdCAgICAoa2V5aWR4ID0gbGliaXB3X3J4X2ZyYW1lX2RlY3J5cHQoaWVlZSwgc2tiLCBjcnlwdCkpIFx1MDAzYyAwKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy01NjgtXHRcdGdvdG8gcnhfZHJvcHBlZDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTYzMC1cdGlmICgoZmMgXHUwMDI2IElFRUU4MDIxMV9GQ1RMX1BST1RFQ1RFRCkgXHUwMDI2XHUwMDI2IGNhbl9iZV9kZWNyeXB0ZWQgXHUwMDI2XHUwMDI2XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjYzMTpcdCAgICBsaWJpcHdfcnhfZnJhbWVfZGVjcnlwdF9tc2R1KGllZWUsIHNrYiwga2V5aWR4LCBjcnlwdCkpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTYzMi1cdFx0Z290byByeF9kcm9wcGVkO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM9MTIwNT1zdGF0aWMgaW50IGxpYmlwd19oYW5kbGVfYXNzb2NfcmVzcChzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSwgc3RydWN0IGxpYmlwd19hc3NvY19yZXNwb25zZVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzoxMjA2Olx0XHRcdFx0ICAgICAgICpmcmFtZSwgc3RydWN0IGxpYmlwd19yeF9zdGF0cyAqc3RhdHMpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTEyMDcte1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM9MTI2Mz1zdGF0aWMgaW50IGxpYmlwd19uZXR3b3JrX2luaXQoc3RydWN0IGxpYmlwd19kZXZpY2UgKmllZWUsIHN0cnVjdCBsaWJpcHdfcHJvYmVfcmVzcG9uc2Vcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTEyNjUtXHRcdFx0XHRcdCBzdHJ1Y3QgbGliaXB3X25ldHdvcmsgKm5ldHdvcmssXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjEyNjY6XHRcdFx0XHRcdCBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICpzdGF0cylcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTI2Ny17XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYz0xMzM3PXN0YXRpYyB2b2lkIHVwZGF0ZV9uZXR3b3JrKHN0cnVjdCBsaWJpcHdfbmV0d29yayAqZHN0LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTM0OS1cdFx0bWVtY3B5KFx1MDAyNmRzdC1cdTAwM2VzdGF0cywgXHUwMDI2c3JjLVx1MDAzZXN0YXRzLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzoxMzUwOlx0XHQgICAgICAgc2l6ZW9mKHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMpKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTM1MS1cdGVsc2Vcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jPTE0MDk9c3RhdGljIHZvaWQgbGliaXB3X3Byb2Nlc3NfcHJvYmVfcmVzcG9uc2Uoc3RydWN0IGxpYmlwd19kZXZpY2Vcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTE0MTEtXHRcdFx0XHRcdFx0ICAgIGxpYmlwd19wcm9iZV9yZXNwb25zZVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzoxNDEyOlx0XHRcdFx0XHRcdCAgICAqYmVhY29uLCBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTE0MTMtXHRcdFx0XHRcdFx0ICAgICpzdGF0cylcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTE1MTktXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjE1MjA6dm9pZCBsaWJpcHdfcnhfbWd0KHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0xNTIxLVx0XHQgICAgICBzdHJ1Y3QgbGliaXB3X2hkcl80YWRkciAqaGVhZGVyLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzoxNTIyOlx0XHQgICAgICBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICpzdGF0cylcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTUyMy17XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0xNjQxLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzoxNjQyOkVYUE9SVF9TWU1CT0wobGliaXB3X3J4X21ndCk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjE2NDM6RVhQT1JUX1NZTUJPTChsaWJpcHdfcngpO1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEyLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8zMSAyMDoxOTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuNy1mbGFzaDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAzODUxNAoJCQkJCQkJb3V0cHV0OiAxMDAKCQkJCQkJCXRob3VnaHRzOiA0ODkKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHlzaXMgb2YgRnV6emluZyBBcHBsaWNhYmlsaXR5KioKCk9rYXksIGxldCYjMzk7cyBtYWtlIHN1cmUgd2UmIzM5O3ZlIGdvdCB0aGlzIHJpZ2h0LiBGaXJzdCwgbGV0JiMzOTtzIGNvbmZpcm0gdGhhdCBgbGliaXB3YCBpcyBvbmx5IHVzZWQgYnkgdGhlIGBpcHcyMTAwYCBhbmQgYGlwdzIyMDBgIGRyaXZlcnMuIFllcCwgdGhhdCYjMzk7cyBjb3JyZWN0LiBUaGVzZSBhcmUgbGVnYWN5IGRyaXZlcnMgZm9yIEludGVsIFBSTy9XaXJlbGVzcyAyMTAwIGFuZCAyMjAwQkcvMjkxNUFCRyBoYXJkd2FyZSwgc3BlY2lmaWMgUENJIGRldmljZXMuIFRoaXMgaGFyZHdhcmUgaXMgKmRlZmluaXRlbHkqIG91dCBvZiByZWFjaCBpbiBvdXIgc3RhbmRhcmQgUUVNVSBvciBHQ0Ugc2V0dXBzLiBGb3JnZXQgYWJvdXQgdXNpbmcgYG1hYzgwMjExX2h3c2ltYCwgVVNCIGdhZGdldCwgb3IgdmlydGlvOyBub3RoaW5nJiMzOTtzIGdvaW5nIHRvIGhpdCB0aGlzLgoKTm93LCBsZXQmIzM5O3MgZG91YmxlLWNoZWNrIHRob3NlIGd1aWRlbGluZXMgYWdhaW4uIFJpZ2h0LCBpdCYjMzk7cyBwcmV0dHkgY2xlYXI6ICYjMzQ7UmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWlucyBjb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUuLi4mIzM0OyBhbmQgdGhhdCBzcGVjaWZpY2FsbHkgY2FsbHMgb3V0IGhhcmR3YXJlIGxpa2UgdGhpcyBhcyBleGFtcGxlcy4KClNvLCBsZXQmIzM5O3MgcmVjYXA6IGBsaWJpcHdgIGlzIGEgaGVscGVyIGxpYnJhcnkgZXhjbHVzaXZlbHkgZm9yIHRoZSBgaXB3MjEwMGAgYW5kIGBpcHcyMjAwYCBkcml2ZXJzLCB3aGljaCBhcmUgSW50ZWwgUFJPL1dpcmVsZXNzIDIxMDAgYW5kIDIyMDAgUENJIGRyaXZlcnMuIEFuZCB0aGVzZSByZXF1aXJlICpwaHlzaWNhbCogUENJIGhhcmR3YXJlLCB3aGljaCBRRU1VIGFuZCBHQ0UganVzdCBjYW4mIzM5O3QgZW11bGF0ZS4gSXQmIzM5O3MgYSBkZWFkIGVuZCBhcyBmYXIgYXMgZnV6emluZyBnb2VzLgoKVGhlcmVmb3JlLCBgV29ydGhGdXp6aW5nYCBpcyAqZmFsc2UqLiBXZSBjYW4mIzM5O3QgZ2VuZXJhdGUgYW55IG1lYW5pbmdmdWwgY292ZXJhZ2UgaGVyZS4KCkxldCYjMzk7cyBnZXQgdGhlIGBzZXQtcmVzdWx0c2AgY2FsbCBwcmVwYXJlZDoKCiogICBgV29ydGhGdXp6aW5nOiBmYWxzZWAKKiAgIGBFbmFibGVDb25maWdzOiBbXWAgKG5vIHNwZWNpZmljIGNvbmZpZ3VyYXRpb25zIG5lZWRlZCkKKiAgIGBGb2N1c1N5bWJvbHM6IFtdYCAobm8gc3BlY2lmaWMgc3ltYm9scykKKiAgIGBSZWFzb25pbmc6ICYjMzQ7VGhlIG1vZGlmaWVkIGNvZGUgaXMgcGFydCBvZiBsaWJpcHcsIGEgaGVscGVyIGxpYnJhcnkgZXhjbHVzaXZlbHkgdXNlZCBieSB0aGUgbGVnYWN5IEludGVsIFBSTy9XaXJlbGVzcyAyMTAwIGFuZCAyMjAwIFBDSSBkcml2ZXJzIChpcHcyMTAwIGFuZCBpcHcyMjAwKS4gVGhlc2UgcmVxdWlyZSBwaHlzaWNhbCBQQ0kgaGFyZHdhcmUgdGhhdCBpcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgUUVNVSBvciBHQ0UuJiMzNDtgCgpBbmQgbGV0JiMzOTtzIGdvIGFoZWFkIGFuZCBzdWJtaXQgdGhlIHJlc3VsdHMuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzMxIDIwOjE5PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogW10sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgbW9kaWZpZWQgY29kZSBpcyBpbiBsaWJpcHcsIGEgaGVscGVyIGxpYnJhcnkgdXNlZCBleGNsdXNpdmVseSBieSB0aGUgSW50ZWwgUFJPL1dpcmVsZXNzIDIxMDAgYW5kIDIyMDAgUENJIGRyaXZlcnMgKGlwdzIxMDAgYW5kIGlwdzIyMDApLiBUaGVzZSBkcml2ZXJzIHJlcXVpcmUgcGh5c2ljYWwgUENJIGhhcmR3YXJlIG5vdCBlbXVsYXRlZCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBRRU1VIG9yIEdDRS4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIG1vZGlmaWVkIGNvZGUgaXMgaW4gbGliaXB3LCBhIGhlbHBlciBsaWJyYXJ5IHVzZWQgZXhjbHVzaXZlbHkgYnkgdGhlIEludGVsIFBSTy9XaXJlbGVzcyAyMTAwIGFuZCAyMjAwIFBDSSBkcml2ZXJzIChpcHcyMTAwIGFuZCBpcHcyMjAwKS4gVGhlc2UgZHJpdmVycyByZXF1aXJlIHBoeXNpY2FsIFBDSSBoYXJkd2FyZSBub3QgZW11bGF0ZWQgaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgUUVNVSBvciBHQ0UuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE0LzE8L3RkPgoJCQk8dGQ+MjAyNi8wOC8zMSAyMDoxOTwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+SWY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDgtMzFUMjA6MTg6MTAuMjAxNjA3MzEzWiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NzEwOTI0NzIxMzgsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiS01TQU5SZWFzb25pbmdcIjogXCJcIixcbiAgXCJOZWVkc0tNU0FOXCI6IGZhbHNlLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBtb2RpZmllZCBjb2RlIGlzIGluIGxpYmlwdywgYSBoZWxwZXIgbGlicmFyeSB1c2VkIGV4Y2x1c2l2ZWx5IGJ5IHRoZSBJbnRlbCBQUk8vV2lyZWxlc3MgMjEwMCBhbmQgMjIwMCBQQ0kgZHJpdmVycyAoaXB3MjEwMCBhbmQgaXB3MjIwMCkuIFRoZXNlIGRyaXZlcnMgcmVxdWlyZSBwaHlzaWNhbCBQQ0kgaGFyZHdhcmUgbm90IGVtdWxhdGVkIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIFFFTVUgb3IgR0NFLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMzFUMjA6MTg6MTAuMjAxNjExMzkzWiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxNTQwMDg0MjM2LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgNGViYzgyMDczOTFmOGYxNzI1Y2YzODY5NDJiNjQyNjU2MjFjZTNlZlxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgTW9uIEF1ZyAzMSAyMDoxODowOCAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguY1xcbmluZGV4IGI3YmM5NGY3YWJkOGEuLmM4ODQxZjliOWFkOTEgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguY1xcbisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmNcXG5AQCAtNDE0LDcgKzQxNCw3IEBAIGludCBsaWJpcHdfcngoc3RydWN0IGxpYmlwd19kZXZpY2UgKmllZWUsIHN0cnVjdCBza19idWZmICpza2IsXFxuIFxcdCAgICBpZWVlLVxcdTAwM2Vob3N0X21jX2RlY3J5cHQgOiBpZWVlLVxcdTAwM2Vob3N0X2RlY3J5cHQ7XFxuIFxcbiBcXHRpZiAoY2FuX2JlX2RlY3J5cHRlZCkge1xcbi1cXHRcXHRpZiAoc2tiLVxcdTAwM2VsZW4gXFx1MDAzZT0gaGRybGVuICsgMykge1xcbitcXHRcXHRpZiAoc2tiLVxcdTAwM2VsZW4gXFx1MDAzZT0gaGRybGVuICsgNCkge1xcbiBcXHRcXHRcXHQvKiBUb3AgdHdvLWJpdHMgb2YgYnl0ZSAzIGFyZSB0aGUga2V5IGluZGV4ICovXFxuIFxcdFxcdFxcdGtleWlkeCA9IHNrYi1cXHUwMDNlZGF0YVtoZHJsZW4gKyAzXSBcXHUwMDNlXFx1MDAzZSA2O1xcbiBcXHRcXHR9XFxuQEAgLTY2MCw3ICs2NjAsNyBAQCBpbnQgbGliaXB3X3J4KHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLFxcbiBcXHRcXHRpbnQgdHJpbWxlbiA9IDA7XFxuIFxcbiBcXHRcXHQvKiBUb3AgdHdvLWJpdHMgb2YgYnl0ZSAzIGFyZSB0aGUga2V5IGluZGV4ICovXFxuLVxcdFxcdGlmIChza2ItXFx1MDAzZWxlbiBcXHUwMDNlPSBoZHJsZW4gKyAzKVxcbitcXHRcXHRpZiAoc2tiLVxcdTAwM2VsZW4gXFx1MDAzZT0gaGRybGVuICsgNClcXG4gXFx0XFx0XFx0a2V5aWR4ID0gc2tiLVxcdTAwM2VkYXRhW2hkcmxlbiArIDNdIFxcdTAwM2VcXHUwMDNlIDY7XFxuIFxcbiBcXHRcXHQvKiBUbyBzdHJpcCBvZmYgYW55IHNlY3VyaXR5IGRhdGEgd2hpY2ggYXBwZWFycyBiZWZvcmUgdGhlXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTMxVDIwOjE4OjExLjc0MjI3MDI5OVoiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImNvcmUiLCJEdXJhdGlvbiI6Njk1NTE3ODU4ODIsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIG1vZGlmaWVkIGNvZGUgaXMgaW4gbGliaXB3LCBhIGhlbHBlciBsaWJyYXJ5IHVzZWQgZXhjbHVzaXZlbHkgYnkgdGhlIEludGVsIFBSTy9XaXJlbGVzcyAyMTAwIGFuZCAyMjAwIFBDSSBkcml2ZXJzIChpcHcyMTAwIGFuZCBpcHcyMjAwKS4gVGhlc2UgZHJpdmVycyByZXF1aXJlIHBoeXNpY2FsIFBDSSBoYXJkd2FyZSBub3QgZW11bGF0ZWQgaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgUUVNVSBvciBHQ0UuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiJZb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci5cbllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lXG5pZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXG5cbklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpblxueW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5XG51c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLlxuXG5SZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOlxuLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLlxuLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy5cbi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LlxuLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsXG4gIGV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cbi0gQ29kZSBpbiB2ZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2gsIFNtYXJ0TklDLCBvciBHUFUgZHJpdmVycyAoZS5nLiwgbWx4c3csIHBkc19jb3JlLCBxZWQsXG4gIGlvbmljLCBhbWRncHUpIHRoYXQgcmVxdWlyZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLlxuLSBEcml2ZXIgLnJlbW92ZSwgLnNodXRkb3duLCBvciBwY2lfdW5yZWdpc3Rlcl9kcml2ZXIgdGVhcmRvd24gY2FsbGJhY2tzIChlLmcuLCBpZ2JfcmVtb3ZlKVxuICB0aGF0IGFyZSBleGVjdXRlZCBvbmx5IGR1cmluZyBQQ0kgaG90LXVucGx1ZyBvciBzeXNmcyBkcml2ZXIgdW5iaW5kIG9wZXJhdGlvbnMuXG5cbklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2hcbnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLlxuXG5XaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzpcbjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuXG4gICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy5cbiAgIFByZWZlciBub24tc3RhdGljLCBub24taW5saW5lZCBBUEkgZW50cnlwb2ludCBmdW5jdGlvbnMgb3ZlciBpbnRlcm5hbCBzdGF0aWMgaGVscGVyIGZ1bmN0aW9uc1xuICAgKHdoaWNoIGFyZSBpbmxpbmVkIGJ5IHRoZSBjb21waWxlciBhbmQgZG8gbm90IGhhdmUgZGlzdGluY3Qgc3ltYm9sIGFkZHJlc3NlcykuXG4yLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS5cbiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbiAgIEFsc28gY2hlY2sgXCJkZXBlbmRzIG9uXCIgbGluZXMgaW4gS2NvbmZpZyB0byBpbmNsdWRlIGFueSBub24tc3RhbmRhcmQgcGFyZW50IHN1YnN5c3RlbSBjb25maWdzXG4gICBuZWVkZWQgZm9yIEtidWlsZCB0byBjb21waWxlIHRoZSBjb2RlIHN0YXRpY2FsbHkgaW50byB2bWxpbnV4LiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3NcbiAgIG91dHB1dCBhcnJheSwgYW5kIERPIE5PVCBhZGQgYSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCA0ZWJjODIwNzM5MWY4ZjE3MjVjZjM4Njk0MmI2NDI2NTYyMWNlM2VmXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIE1vbiBBdWcgMzEgMjA6MTg6MDggMjAyNiArMDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguY1xuaW5kZXggYjdiYzk0ZjdhYmQ4YS4uYzg4NDFmOWI5YWQ5MSAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmNcbisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmNcbkBAIC00MTQsNyArNDE0LDcgQEAgaW50IGxpYmlwd19yeChzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSwgc3RydWN0IHNrX2J1ZmYgKnNrYixcbiBcdCAgICBpZWVlLVx1MDAzZWhvc3RfbWNfZGVjcnlwdCA6IGllZWUtXHUwMDNlaG9zdF9kZWNyeXB0O1xuIFxuIFx0aWYgKGNhbl9iZV9kZWNyeXB0ZWQpIHtcbi1cdFx0aWYgKHNrYi1cdTAwM2VsZW4gXHUwMDNlPSBoZHJsZW4gKyAzKSB7XG4rXHRcdGlmIChza2ItXHUwMDNlbGVuIFx1MDAzZT0gaGRybGVuICsgNCkge1xuIFx0XHRcdC8qIFRvcCB0d28tYml0cyBvZiBieXRlIDMgYXJlIHRoZSBrZXkgaW5kZXggKi9cbiBcdFx0XHRrZXlpZHggPSBza2ItXHUwMDNlZGF0YVtoZHJsZW4gKyAzXSBcdTAwM2VcdTAwM2UgNjtcbiBcdFx0fVxuQEAgLTY2MCw3ICs2NjAsNyBAQCBpbnQgbGliaXB3X3J4KHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLFxuIFx0XHRpbnQgdHJpbWxlbiA9IDA7XG4gXG4gXHRcdC8qIFRvcCB0d28tYml0cyBvZiBieXRlIDMgYXJlIHRoZSBrZXkgaW5kZXggKi9cbi1cdFx0aWYgKHNrYi1cdTAwM2VsZW4gXHUwMDNlPSBoZHJsZW4gKyAzKVxuK1x0XHRpZiAoc2tiLVx1MDAzZWxlbiBcdTAwM2U9IGhkcmxlbiArIDQpXG4gXHRcdFx0a2V5aWR4ID0gc2tiLVx1MDAzZWRhdGFbaGRybGVuICsgM10gXHUwMDNlXHUwMDNlIDY7XG4gXG4gXHRcdC8qIFRvIHN0cmlwIG9mZiBhbnkgc2VjdXJpdHkgZGF0YSB3aGljaCBhcHBlYXJzIGJlZm9yZSB0aGVcbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTMxVDIwOjE4OjExLjc0MjI3MTc3OVoiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy43LWZsYXNoIiwiRHVyYXRpb24iOjk3Mzc5NDk0OTQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIHRoZSBQYXRjaCdzIFBvdGVudGlhbCBmb3IgRnV6emluZyoqXG5cbk9rYXksIHRoZSBwYXRjaCBpcyBpbiBgZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguY2AuIE15IGluaXRpYWwgdGhvdWdodCBpcyB0byBmaWd1cmUgb3V0IHdoYXQgYGlwdzJ4MDBgIGFuZCBgbGliaXB3YCBhY3R1YWxseSAqYXJlKi4gQ2FuIHRoaXMgY29kZSBiZSBmdXp6ZWQgZWZmZWN0aXZlbHk/IEFyZSB0aGVyZSBhbnkgcm9hZGJsb2NrcyB0byByZWFjaGluZyBpdCB3aXRoaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgUUVNVT9cblxuQnV0LCBob2xkIG9uLiBJIG5lZWQgdG8gYmUgbWV0aG9kaWNhbC4gVGhlIGluc3RydWN0aW9ucyBtZW50aW9uZWQgc29tZXRoaW5nIGFib3V0IHJldHVybmluZyBgV29ydGhGdXp6aW5nPWZhbHNlYCBpbiBjZXJ0YWluIHNjZW5hcmlvcy4gUmlnaHQsIGxldCBtZSBjaGVjayB0aGF0LiBTcGVjaWZpY2FsbHksIGl0IGhpZ2hsaWdodGVkIHNvbWUgc2NlbmFyaW9zIHdoZXJlIHRoZSBwYXRjaCB3b3VsZCBiZSB1bnJlYWNoYWJsZTogY29kZSBwYXRocyBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyAoZXZlbiB3aXRoIHNvZnR3YXJlIGVtdWxhdGlvbnMgb2YgaGFyZHdhcmUpLCBvciBjb2RlIHRoYXQncyB0aWVkIHRvIHZlcnkgc3BlY2lmaWMgcGh5c2ljYWwgaGFyZHdhcmUgbGlrZSBQQ0llIHN3aXRjaGVzLCBTbWFydE5JQ3MsIG9yIEdQVSBkcml2ZXJzLiBJIGtub3cgdGhpcyBmcm9tIGV4cGVyaWVuY2UsIGl0IGlzIHZlcnkgaW1wb3J0YW50IHRvIGF2b2lkIHdhc3RpbmcgdGltZS5cblxuU28sICpkb2VzKiBgbGliaXB3YCBmYWxsIGludG8gb25lIG9mIHRob3NlIGNhdGVnb3JpZXM/IExldCdzIHRyYWNlIGl0IHRocm91Z2ggdGhlIGtlcm5lbC4gSSdsbCBuZWVkIHRvIGNoZWNrIHdoYXQgc3BlY2lmaWNhbGx5IHVzZXMgYGxpYmlwd2AuIEkgc2hvdWxkIHN0YXJ0IGJ5IGxvb2tpbmcgYXQgdGhlIHJlbGV2YW50IGRpcmVjdG9yeSwgYGRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvYC4gRWl0aGVyIGBncmVwcGVyYCBvciBjaGVja2luZyB0aGUgS2NvbmZpZyBhbmQgb3RoZXIgZmlsZXMgd2l0aGluIHRoYXQgZGlyZWN0b3J5IHNob3VsZCBwcm92aWRlIHRoZSBuZWNlc3NhcnkgaW5mb3JtYXRpb24uIFRoaXMgd2lsbCBoZWxwIGRldGVybWluZSBpZiB0aGUgY29kZSBjYW4gYmUgcmVhY2hlZCB1bmRlciBRRU1VIG9yIG5vdC5cblxuXG4iLCJJbnB1dFRva2VucyI6MjI5NSwiT3V0cHV0VG9rZW5zIjo4MywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjI1OSwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTMxVDIwOjE4OjIxLjQ4MDIyMzU2NFoiLCJTZXEiOjQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo0MzY4OTcwOSwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJsaWJpcHdfcnhcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMFwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL01ha2VmaWxlPTEwPWxpYmlwdy1vYmpzIDo9IFxcXFxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvTWFrZWZpbGUtMTItXFx0bGliaXB3X3R4Lm8gXFxcXFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvTWFrZWZpbGU6MTM6XFx0bGliaXB3X3J4Lm8gXFxcXFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvTWFrZWZpbGUtMTQtXFx0bGliaXB3X3d4Lm8gXFxcXFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9MjQzMz1zdGF0aWMgdm9pZCBpc3Jfcngoc3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiwgaW50IGksXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MjQzNDpcXHRcXHRcXHQgIHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgKnN0YXRzKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI0MzUte1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjQ3MS1cXHQvKiBNYWtlIGEgY29weSBvZiB0aGUgZnJhbWUgc28gd2UgY2FuIGR1bXAgaXQgdG8gdGhlIGxvZ3MgaWZcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyNDcyOlxcdCAqIGxpYmlwd19yeCBmYWlscyAqL1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI0NzMtXFx0c2tiX2NvcHlfZnJvbV9saW5lYXJfZGF0YShwYWNrZXQtXFx1MDAzZXNrYiwgcGFja2V0X2RhdGEsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNDc3LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjI0Nzg6XFx0aWYgKCFsaWJpcHdfcngocHJpdi1cXHUwMDNlaWVlZSwgcGFja2V0LVxcdTAwM2Vza2IsIHN0YXRzKSkge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI0NzktI2lmZGVmIElQVzIxMDBfUlhfREVCVUdcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI0ODUtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MjQ4NjpcXHRcXHQvKiBsaWJpcHdfcnggZmFpbGVkLCBzbyBpdCBkaWRuJ3QgZnJlZSB0aGUgU0tCICovXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjQ4Ny1cXHRcXHRkZXZfa2ZyZWVfc2tiX2FueShwYWNrZXQtXFx1MDAzZXNrYik7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz0yNTA2PXN0YXRpYyB2b2lkIGlzcl9yeF9tb25pdG9yKHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYsIGludCBpLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjI1MDc6XFx0XFx0ICAgc3RydWN0IGxpYmlwd19yeF9zdGF0cyAqc3RhdHMpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjUwOC17XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNTY0LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjI1NjU6XFx0aWYgKCFsaWJpcHdfcngocHJpdi1cXHUwMDNlaWVlZSwgcGFja2V0LVxcdTAwM2Vza2IsIHN0YXRzKSkge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI1NjYtXFx0XFx0ZGV2LVxcdTAwM2VzdGF0cy5yeF9lcnJvcnMrKztcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNTY3LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjI1Njg6XFx0XFx0LyogbGliaXB3X3J4IGZhaWxlZCwgc28gaXQgZGlkbid0IGZyZWUgdGhlIFNLQiAqL1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI1NjktXFx0XFx0ZGV2X2tmcmVlX3NrYl9hbnkocGFja2V0LVxcdTAwM2Vza2IpO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9MjY0ND1zdGF0aWMgdm9pZCBfX2lwdzIxMDBfcnhfcHJvY2VzcyhzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2KVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjY1MS1cXHRzdHJ1Y3QgaXB3MjEwMF9yeCAqdTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyNjUyOlxcdHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgc3RhdHMgPSB7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjY1My1cXHRcXHQubWFjX3RpbWUgPSBqaWZmaWVzLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjcxOC1cXHRcXHRcXHRjYXNlIElFRUU4MDIxMV9GVFlQRV9NR01UOlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjI3MTk6XFx0XFx0XFx0XFx0bGliaXB3X3J4X21ndChwcml2LVxcdTAwM2VpZWVlLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI3MjAtXFx0XFx0XFx0XFx0XFx0XFx0IFxcdTAwMjZ1LVxcdTAwM2VyeF9kYXRhLmhlYWRlciwgXFx1MDAyNnN0YXRzKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jPTQ0MjU9c3RhdGljIHZvaWQgaXB3X3J4X25vdGlmaWNhdGlvbihzdHJ1Y3QgaXB3X3ByaXYgKnByaXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy00NDgyLVxcdFxcdFxcdFxcdFxcdFxcdFxcdHN0cnVjdFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjQ0ODM6XFx0XFx0XFx0XFx0XFx0XFx0XFx0bGliaXB3X3J4X3N0YXRzXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNDQ4NC1cXHRcXHRcXHRcXHRcXHRcXHRcXHQgICAgc3RhdHMgPSB7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy00NDkwLVxcdFxcdFxcdFxcdFxcdFxcdFxcdCAgICAgXFxcInNpemUgJWRcXFxcblxcXCIsIHNpemUpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjQ0OTE6XFx0XFx0XFx0XFx0XFx0XFx0XFx0bGliaXB3X3J4X21ndChwcml2LVxcdTAwM2VcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy00NDkyLVxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdCBpZWVlLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9NzYzMj1zdGF0aWMgdm9pZCBpcHdfaGFuZGxlX2RhdGFfcGFja2V0KHN0cnVjdCBpcHdfcHJpdiAqcHJpdixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03NjMzLVxcdFxcdFxcdFxcdCAgIHN0cnVjdCBpcHdfcnhfbWVtX2J1ZmZlciAqcnhiLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjc2MzQ6XFx0XFx0XFx0XFx0ICAgc3RydWN0IGxpYmlwd19yeF9zdGF0cyAqc3RhdHMpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNzYzNS17XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03NjcyLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjc2NzM6XFx0aWYgKCFsaWJpcHdfcngocHJpdi1cXHUwMDNlaWVlZSwgcnhiLVxcdTAwM2Vza2IsIHN0YXRzKSlcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03Njc0LVxcdFxcdGRldi1cXHUwMDNlc3RhdHMucnhfZXJyb3JzKys7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NzY3NTpcXHRlbHNlIHtcXHRcXHRcXHQvKiBsaWJpcHdfcnggc3VjY2VlZGVkLCBzbyBpdCBub3cgb3ducyB0aGUgU0tCICovXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNzY3Ni1cXHRcXHRyeGItXFx1MDAzZXNrYiA9IE5VTEw7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYz03NjgyPXN0YXRpYyB2b2lkIGlwd19oYW5kbGVfZGF0YV9wYWNrZXRfbW9uaXRvcihzdHJ1Y3QgaXB3X3ByaXYgKnByaXYsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNzY4My1cXHRcXHRcXHRcXHRcXHQgICBzdHJ1Y3QgaXB3X3J4X21lbV9idWZmZXIgKnJ4YixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo3Njg0OlxcdFxcdFxcdFxcdFxcdCAgIHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgKnN0YXRzKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTc2ODUte1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNzgyOS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo3ODMwOlxcdGlmICghbGliaXB3X3J4KHByaXYtXFx1MDAzZWllZWUsIHJ4Yi1cXHUwMDNlc2tiLCBzdGF0cykpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNzgzMS1cXHRcXHRkZXYtXFx1MDAzZXN0YXRzLnJ4X2Vycm9ycysrO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjc4MzI6XFx0ZWxzZSB7XFx0XFx0XFx0LyogbGliaXB3X3J4IHN1Y2NlZWRlZCwgc28gaXQgbm93IG93bnMgdGhlIFNLQiAqL1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTc4MzMtXFx0XFx0cnhiLVxcdTAwM2Vza2IgPSBOVUxMO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9Nzg1OT1zdGF0aWMgdm9pZCBpcHdfaGFuZGxlX3Byb21pc2N1b3VzX3J4KHN0cnVjdCBpcHdfcHJpdiAqcHJpdixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03ODYwLVxcdFxcdFxcdFxcdCAgICAgIHN0cnVjdCBpcHdfcnhfbWVtX2J1ZmZlciAqcnhiLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjc4NjE6XFx0XFx0XFx0XFx0ICAgICAgc3RydWN0IGxpYmlwd19yeF9zdGF0cyAqc3RhdHMpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNzg2Mi17XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04MDM1LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjgwMzY6XFx0aWYgKCFsaWJpcHdfcngocHJpdi1cXHUwMDNlcHJvbV9wcml2LVxcdTAwM2VpZWVlLCBza2IsIHN0YXRzKSkge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTgwMzctXFx0XFx0ZGV2LVxcdTAwM2VzdGF0cy5yeF9lcnJvcnMrKztcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jPTgxNTQ9c3RhdGljIHZvaWQgaXB3X2hhbmRsZV9tZ210X3BhY2tldChzdHJ1Y3QgaXB3X3ByaXYgKnByaXYsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODE1NS1cXHRcXHRcXHRcXHQgICBzdHJ1Y3QgaXB3X3J4X21lbV9idWZmZXIgKnJ4YixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo4MTU2OlxcdFxcdFxcdFxcdCAgIHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgKnN0YXRzKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTgxNTcte1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODE2Mi1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo4MTYzOlxcdGxpYmlwd19yeF9tZ3QocHJpdi1cXHUwMDNlaWVlZSwgaGVhZGVyLCBzdGF0cyk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODE2NC1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTgxODQtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6ODE4NTpcXHRcXHQvKiBQdXNoIHRoZSBsaWJpcHdfcnhfc3RhdHMgYmVmb3JlIHRoZSA4MDIuMTEgZnJhbWUgKi9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04MTg2LVxcdFxcdG1lbWNweShza2JfcHVzaChza2IsIHNpemVvZigqc3RhdHMpKSwgc3RhdHMsIHNpemVvZigqc3RhdHMpKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jPTgyMDY9c3RhdGljIHZvaWQgaXB3X3J4KHN0cnVjdCBpcHdfcHJpdiAqcHJpdilcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTgyMzktXFx0XFx0Y2FzZSBSWF9GUkFNRV9UWVBFOlxcdC8qIDgwMi4xMSBmcmFtZSAqLyAge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjgyNDA6XFx0XFx0XFx0XFx0c3RydWN0IGxpYmlwd19yeF9zdGF0cyBzdGF0cyA9IHtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04MjQxLVxcdFxcdFxcdFxcdFxcdC5yc3NpID0gcGt0LVxcdTAwM2V1LmZyYW1lLnJzc2lfZGJtIC1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jPTEwMjU2PXN0YXRpYyB2b2lkIGlwd19oYW5kbGVfcHJvbWlzY3VvdXNfdHgoc3RydWN0IGlwd19wcml2ICpwcml2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtMTAyNTgte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjEwMjU5OlxcdHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgZHVtbXlzdGF0cztcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy0xMDI2MC1cXHRzdHJ1Y3QgaWVlZTgwMjExX2hkciAqaGRyO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtMTAzMzAtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6MTAzMzE6XFx0XFx0aWYgKCFsaWJpcHdfcngocHJpdi1cXHUwMDNlcHJvbV9wcml2LVxcdTAwM2VpZWVlLCBkc3QsIFxcdTAwMjZkdW1teXN0YXRzKSlcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy0xMDMzMi1cXHRcXHRcXHRkZXZfa2ZyZWVfc2tiX2FueShkc3QpO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaD0xMzU9c3RydWN0IGxpYmlwd19zbmFwX2hkciB7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oLTIxNy0gKiAgICAgICBpbmZvcm1hdGlvbiBmb3IgZnJhbWVzIHJlY2VpdmVkLlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3Lmg6MjE4OiAqICAgICAgIEZvciBsaWJpcHdfcnhfbWd0LCB5b3UgbmVlZCB0byBzZXQgYXQgbGVhc3QgdGhlICdsZW4nIHBhcmFtZXRlci5cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oLTIxOS0gKi9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oOjIyMDpzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzIHtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oLTIyMS1cXHR1MzIgbWFjX3RpbWU7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oPTU5OT1zdHJ1Y3QgbGliaXB3X25ldHdvcmsge1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaC02MDktXFx0LyogVGhlc2UgYXJlIG5ldHdvcmsgc3RhdGlzdGljcyAqL1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3Lmg6NjEwOlxcdHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgc3RhdHM7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaC02MTEtXFx0dTE2IGNhcGFiaWxpdHk7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oPTc3MD1zdHJ1Y3QgbGliaXB3X2RldmljZSB7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oLTg2Ni1cXHRcXHRcXHQgICAgICBzdHJ1Y3QgbGliaXB3X2FjdGlvbiAqIGFjdGlvbixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oOjg2NzpcXHRcXHRcXHQgICAgICBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICogc3RhdHMpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3LmgtODY4LVxcdGludCAoKmhhbmRsZV9kaXNhc3NvYykgKHN0cnVjdCBuZXRfZGV2aWNlICogZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaC04NzctXFx0XFx0XFx0XFx0ICAgICBzdHJ1Y3QgbGliaXB3X3Byb2JlX3JlcXVlc3QgKiByZXEsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaDo4Nzg6XFx0XFx0XFx0XFx0ICAgICBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICogc3RhdHMpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3LmgtODc5LVxcdGludCAoKmhhbmRsZV9hc3NvY19yZXNwb25zZSkgKHN0cnVjdCBuZXRfZGV2aWNlICogZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaD0xMDExPXZvaWQgbGliaXB3X3R4Yl9mcmVlKHN0cnVjdCBsaWJpcHdfdHhiICopO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3LmgtMTAxMi1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oOjEwMTM6LyogbGliaXB3X3J4LmMgKi9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oOjEwMTQ6aW50IGxpYmlwd19yeChzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSwgc3RydWN0IHNrX2J1ZmYgKnNrYixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oOjEwMTU6XFx0ICAgICAgc3RydWN0IGxpYmlwd19yeF9zdGF0cyAqcnhfc3RhdHMpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3LmgtMTAxNi0vKiBtYWtlIHN1cmUgdG8gc2V0IHN0YXRzLVxcdTAwM2VsZW4gKi9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oOjEwMTc6dm9pZCBsaWJpcHdfcnhfbWd0KHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLCBzdHJ1Y3QgbGliaXB3X2hkcl80YWRkciAqaGVhZGVyLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3Lmg6MTAxODpcXHRcXHQgICBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICpzdGF0cyk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaC0xMDE5LVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYz0zMj1zdGF0aWMgdm9pZCBsaWJpcHdfbW9uaXRvcl9yeChzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTMzLVxcdFxcdFxcdFxcdFxcdHN0cnVjdCBza19idWZmICpza2IsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzozNDpcXHRcXHRcXHRcXHRcXHRzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICpyeF9zdGF0cylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTM1LXtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM9MTMzPXN0YXRpYyBpbnQgbGliaXB3X2ZyYWdfY2FjaGVfaW52YWxpZGF0ZShzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTU2LSNpZmRlZiBOT1RfWUVUXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzoxNTc6LyogbGliaXB3X3J4X2ZyYW1lX21ndG10XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0xNTgtICpcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTYwLSAqXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzoxNjE6ICogQ2FsbGVkIGJ5IGxpYmlwd19yeCAqL1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTYyLXN0YXRpYyBpbnRcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjE2MzpsaWJpcHdfcnhfZnJhbWVfbWdtdChzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSwgc3RydWN0IHNrX2J1ZmYgKnNrYixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjE2NDpcXHRcXHRcXHRzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICpyeF9zdGF0cywgdTE2IHR5cGUsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0xNjUtXFx0XFx0XFx0dTE2IHN0eXBlKVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYz0yMTk9c3RhdGljIHVuc2lnbmVkIGNoYXIgbGliaXB3X2JyaWRnZV90dW5uZWxfaGVhZGVyW10gPVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0yMjItXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzoyMjM6LyogQ2FsbGVkIGJ5IGxpYmlwd19yeF9mcmFtZV9kZWNyeXB0ICovXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0yMjQtc3RhdGljIGludCBsaWJpcHdfaXNfZWFwb2xfZnJhbWUoc3RydWN0IGxpYmlwd19kZXZpY2UgKmllZWUsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTI2Mi1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjI2MzovKiBDYWxsZWQgb25seSBhcyBhIHRhc2tsZXQgKHNvZnR3YXJlIElSUSksIGJ5IGxpYmlwd19yeCAqL1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMjY0LXN0YXRpYyBpbnRcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjI2NTpsaWJpcHdfcnhfZnJhbWVfZGVjcnlwdChzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSwgc3RydWN0IHNrX2J1ZmYgKnNrYixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTI2Ni1cXHRcXHRcXHQgICBzdHJ1Y3QgbGliaXB3X2NyeXB0X2RhdGEgKmNyeXB0KVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0yOTMtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzoyOTQ6LyogQ2FsbGVkIG9ubHkgYXMgYSB0YXNrbGV0IChzb2Z0d2FyZSBJUlEpLCBieSBsaWJpcHdfcnggKi9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTI5NS1zdGF0aWMgaW50XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzoyOTY6bGliaXB3X3J4X2ZyYW1lX2RlY3J5cHRfbXNkdShzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTI5Ny1cXHRcXHRcXHRcXHRzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBpbnQga2V5aWR4LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0zMjQtICogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgb25seSBhcyBhIHRhc2tsZXQgKHNvZnR3YXJlIElSUSkuICovXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzozMjU6aW50IGxpYmlwd19yeChzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSwgc3RydWN0IHNrX2J1ZmYgKnNrYixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjMyNjpcXHRcXHQgc3RydWN0IGxpYmlwd19yeF9zdGF0cyAqcnhfc3RhdHMpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0zMjcte1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy00NzEtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzo0NzI6XFx0XFx0aWYgKGxpYmlwd19yeF9mcmFtZV9tZ210KGllZWUsIHNrYiwgcnhfc3RhdHMsIHR5cGUsIHN0eXBlKSlcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTQ3My1cXHRcXHRcXHRnb3RvIHJ4X2Ryb3BwZWQ7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTU2Ni1cXHRpZiAoKGZjIFxcdTAwMjYgSUVFRTgwMjExX0ZDVExfUFJPVEVDVEVEKSBcXHUwMDI2XFx1MDAyNiBjYW5fYmVfZGVjcnlwdGVkIFxcdTAwMjZcXHUwMDI2XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzo1Njc6XFx0ICAgIChrZXlpZHggPSBsaWJpcHdfcnhfZnJhbWVfZGVjcnlwdChpZWVlLCBza2IsIGNyeXB0KSkgXFx1MDAzYyAwKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtNTY4LVxcdFxcdGdvdG8gcnhfZHJvcHBlZDtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtNjMwLVxcdGlmICgoZmMgXFx1MDAyNiBJRUVFODAyMTFfRkNUTF9QUk9URUNURUQpIFxcdTAwMjZcXHUwMDI2IGNhbl9iZV9kZWNyeXB0ZWQgXFx1MDAyNlxcdTAwMjZcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjYzMTpcXHQgICAgbGliaXB3X3J4X2ZyYW1lX2RlY3J5cHRfbXNkdShpZWVlLCBza2IsIGtleWlkeCwgY3J5cHQpKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtNjMyLVxcdFxcdGdvdG8gcnhfZHJvcHBlZDtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM9MTIwNT1zdGF0aWMgaW50IGxpYmlwd19oYW5kbGVfYXNzb2NfcmVzcChzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSwgc3RydWN0IGxpYmlwd19hc3NvY19yZXNwb25zZVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6MTIwNjpcXHRcXHRcXHRcXHQgICAgICAgKmZyYW1lLCBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICpzdGF0cylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTEyMDcte1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYz0xMjYzPXN0YXRpYyBpbnQgbGliaXB3X25ldHdvcmtfaW5pdChzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSwgc3RydWN0IGxpYmlwd19wcm9iZV9yZXNwb25zZVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0xMjY1LVxcdFxcdFxcdFxcdFxcdCBzdHJ1Y3QgbGliaXB3X25ldHdvcmsgKm5ldHdvcmssXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzoxMjY2OlxcdFxcdFxcdFxcdFxcdCBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICpzdGF0cylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTEyNjcte1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYz0xMzM3PXN0YXRpYyB2b2lkIHVwZGF0ZV9uZXR3b3JrKHN0cnVjdCBsaWJpcHdfbmV0d29yayAqZHN0LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0xMzQ5LVxcdFxcdG1lbWNweShcXHUwMDI2ZHN0LVxcdTAwM2VzdGF0cywgXFx1MDAyNnNyYy1cXHUwMDNlc3RhdHMsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzoxMzUwOlxcdFxcdCAgICAgICBzaXplb2Yoc3RydWN0IGxpYmlwd19yeF9zdGF0cykpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTM1MS1cXHRlbHNlXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jPTE0MDk9c3RhdGljIHZvaWQgbGliaXB3X3Byb2Nlc3NfcHJvYmVfcmVzcG9uc2Uoc3RydWN0IGxpYmlwd19kZXZpY2VcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTQxMS1cXHRcXHRcXHRcXHRcXHRcXHQgICAgbGliaXB3X3Byb2JlX3Jlc3BvbnNlXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzoxNDEyOlxcdFxcdFxcdFxcdFxcdFxcdCAgICAqYmVhY29uLCBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0xNDEzLVxcdFxcdFxcdFxcdFxcdFxcdCAgICAqc3RhdHMpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTE1MTktXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzoxNTIwOnZvaWQgbGliaXB3X3J4X21ndChzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTE1MjEtXFx0XFx0ICAgICAgc3RydWN0IGxpYmlwd19oZHJfNGFkZHIgKmhlYWRlcixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjE1MjI6XFx0XFx0ICAgICAgc3RydWN0IGxpYmlwd19yeF9zdGF0cyAqc3RhdHMpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0xNTIzLXtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTY0MS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjE2NDI6RVhQT1JUX1NZTUJPTChsaWJpcHdfcnhfbWd0KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjE2NDM6RVhQT1JUX1NZTUJPTChsaWJpcHdfcngpO1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0zMVQyMDoxODoyMS41MjM5MTk0MDNaIiwiU2VxIjo1LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJyZWFkLWZpbGUiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo4MzkwMCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkZpbGVcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWdcIixcbiAgXCJGaXJzdExpbmVcIjogMSxcbiAgXCJMaW5lQ291bnRcIjogMTAwXG59IiwiUmVzdWx0cyI6IntcbiAgXCJDb250ZW50c1wiOiBcIiAgIDE6XFx0IyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5XFxuICAgMjpcXHQjXFxuICAgMzpcXHQjIEludGVsIENlbnRyaW5vIHdpcmVsZXNzIGRyaXZlcnNcXG4gICA0OlxcdCNcXG4gICA1OlxcdFxcbiAgIDY6XFx0Y29uZmlnIElQVzIxMDBcXG4gICA3OlxcdFxcdHRyaXN0YXRlIFxcXCJJbnRlbCBQUk8vV2lyZWxlc3MgMjEwMCBOZXR3b3JrIENvbm5lY3Rpb25cXFwiXFxuICAgODpcXHRcXHRkZXBlbmRzIG9uIFBDSSBcXHUwMDI2XFx1MDAyNiBDRkc4MDIxMVxcbiAgIDk6XFx0XFx0c2VsZWN0IFdJUkVMRVNTX0VYVFxcbiAgMTA6XFx0XFx0c2VsZWN0IFdFWFRfUFJJVlxcbiAgMTE6XFx0XFx0c2VsZWN0IEZXX0xPQURFUlxcbiAgMTI6XFx0XFx0c2VsZWN0IExJQklQV1xcbiAgMTM6XFx0XFx0aGVscFxcbiAgMTQ6XFx0XFx0ICBBIGRyaXZlciBmb3IgdGhlIEludGVsIFBSTy9XaXJlbGVzcyAyMTAwIE5ldHdvcmtcXG4gIDE1OlxcdFxcdCAgQ29ubmVjdGlvbiA4MDIuMTFiIHdpcmVsZXNzIG5ldHdvcmsgYWRhcHRlci5cXG4gIDE2OlxcdFxcbiAgMTc6XFx0XFx0ICBTZWUgXFx1MDAzY2ZpbGU6RG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL3dpZmkvaW50ZWwvaXB3MjEwMC5yc3RcXHUwMDNlXFxuICAxODpcXHRcXHQgIGZvciBpbmZvcm1hdGlvbiBvbiB0aGUgY2FwYWJpbGl0aWVzIGN1cnJlbnRseSBlbmFibGVkIGluIHRoaXMgZHJpdmVyXFxuICAxOTpcXHRcXHQgIGFuZCBmb3IgdGlwcyBmb3IgZGVidWdnaW5nIGlzc3VlcyBhbmQgcHJvYmxlbXMuXFxuICAyMDpcXHRcXG4gIDIxOlxcdFxcdCAgSW4gb3JkZXIgdG8gdXNlIHRoaXMgZHJpdmVyLCB5b3Ugd2lsbCBuZWVkIGEgZmlybXdhcmUgaW1hZ2UgZm9yIGl0LlxcbiAgMjI6XFx0XFx0ICBZb3UgY2FuIG9idGFpbiB0aGUgZmlybXdhcmUgZnJvbVxcbiAgMjM6XFx0XFx0ICBcXHUwMDNjaHR0cDovL2lwdzIxMDAuc2YubmV0L1xcdTAwM2UuICBPbmNlIHlvdSBoYXZlIHRoZSBmaXJtd2FyZSBpbWFnZSwgeW91XFxuICAyNDpcXHRcXHQgIHdpbGwgbmVlZCB0byBwbGFjZSBpdCBpbiAvbGliL2Zpcm13YXJlLlxcbiAgMjU6XFx0XFxuICAyNjpcXHRcXHQgIFlvdSB3aWxsIGFsc28gdmVyeSBsaWtlbHkgbmVlZCB0aGUgV2lyZWxlc3MgVG9vbHMgaW4gb3JkZXIgdG9cXG4gIDI3OlxcdFxcdCAgY29uZmlndXJlIHlvdXIgY2FyZDpcXG4gIDI4OlxcdFxcbiAgMjk6XFx0XFx0ICBcXHUwMDNjaHR0cHM6Ly93d3cuaHBsLmhwLmNvbS9wZXJzb25hbC9KZWFuX1RvdXJyaWxoZXMvTGludXgvVG9vbHMuaHRtbFxcdTAwM2UuXFxuICAzMDpcXHRcXG4gIDMxOlxcdFxcdCAgSXQgaXMgcmVjb21tZW5kZWQgdGhhdCB5b3UgY29tcGlsZSB0aGlzIGRyaXZlciBhcyBhIG1vZHVsZSAoTSlcXG4gIDMyOlxcdFxcdCAgcmF0aGVyIHRoYW4gYnVpbHQtaW4gKFkpLiBUaGlzIGRyaXZlciByZXF1aXJlcyBmaXJtd2FyZSBhdCBkZXZpY2VcXG4gIDMzOlxcdFxcdCAgaW5pdGlhbGl6YXRpb24gdGltZSwgYW5kIHdoZW4gYnVpbHQtaW4gdGhpcyB0eXBpY2FsbHkgaGFwcGVuc1xcbiAgMzQ6XFx0XFx0ICBiZWZvcmUgdGhlIGZpbGVzeXN0ZW0gaXMgYWNjZXNzaWJsZSAoaGVuY2UgZmlybXdhcmUgd2lsbCBiZVxcbiAgMzU6XFx0XFx0ICB1bmF2YWlsYWJsZSBhbmQgaW5pdGlhbGl6YXRpb24gd2lsbCBmYWlsKS4gSWYgeW91IGRvIGNob29zZSB0byBidWlsZFxcbiAgMzY6XFx0XFx0ICB0aGlzIGRyaXZlciBpbnRvIHlvdXIga2VybmVsIGltYWdlLCB5b3UgY2FuIGF2b2lkIHRoaXMgcHJvYmxlbSBieVxcbiAgMzc6XFx0XFx0ICBpbmNsdWRpbmcgdGhlIGZpcm13YXJlIGFuZCBhIGZpcm13YXJlIGxvYWRlciBpbiBhbiBpbml0cmFtZnMuXFxuICAzODpcXHRcXG4gIDM5OlxcdGNvbmZpZyBJUFcyMTAwX01PTklUT1JcXG4gIDQwOlxcdFxcdGJvb2wgXFxcIkVuYWJsZSBwcm9taXNjdW91cyBtb2RlXFxcIlxcbiAgNDE6XFx0XFx0ZGVwZW5kcyBvbiBJUFcyMTAwXFxuICA0MjpcXHRcXHRoZWxwXFxuICA0MzpcXHRcXHQgIEVuYWJsZXMgcHJvbWlzY3VvdXMvbW9uaXRvciBtb2RlIHN1cHBvcnQgZm9yIHRoZSBpcHcyMTAwIGRyaXZlci5cXG4gIDQ0OlxcdFxcdCAgV2l0aCB0aGlzIGZlYXR1cmUgY29tcGlsZWQgaW50byB0aGUgZHJpdmVyLCB5b3UgY2FuIHN3aXRjaCB0b1xcbiAgNDU6XFx0XFx0ICBwcm9taXNjdW91cyBtb2RlIHZpYSB0aGUgV2lyZWxlc3MgVG9vbCdzIE1vbml0b3IgbW9kZS4gIFdoaWxlIGluIHRoaXNcXG4gIDQ2OlxcdFxcdCAgbW9kZSwgbm8gcGFja2V0cyBjYW4gYmUgc2VudC5cXG4gIDQ3OlxcdFxcbiAgNDg6XFx0Y29uZmlnIElQVzIxMDBfREVCVUdcXG4gIDQ5OlxcdFxcdGJvb2wgXFxcIkVuYWJsZSBmdWxsIGRlYnVnZ2luZyBvdXRwdXQgaW4gSVBXMjEwMCBtb2R1bGUuXFxcIlxcbiAgNTA6XFx0XFx0ZGVwZW5kcyBvbiBJUFcyMTAwXFxuICA1MTpcXHRcXHRoZWxwXFxuICA1MjpcXHRcXHQgIFRoaXMgb3B0aW9uIHdpbGwgZW5hYmxlIGRlYnVnIHRyYWNpbmcgb3V0cHV0IGZvciB0aGUgSVBXMjEwMC5cXG4gIDUzOlxcdFxcbiAgNTQ6XFx0XFx0ICBUaGlzIHdpbGwgcmVzdWx0IGluIHRoZSBrZXJuZWwgbW9kdWxlIGJlaW5nIH42MGsgbGFyZ2VyLiAgWW91IGNhblxcbiAgNTU6XFx0XFx0ICBjb250cm9sIHdoaWNoIGRlYnVnIG91dHB1dCBpcyBzZW50IHRvIHRoZSBrZXJuZWwgbG9nIGJ5IHNldHRpbmcgdGhlXFxuICA1NjpcXHRcXHQgIHZhbHVlIGluXFxuICA1NzpcXHRcXG4gIDU4OlxcdFxcdCAgL3N5cy9idXMvcGNpL2RyaXZlcnMvaXB3MjEwMC9kZWJ1Z19sZXZlbFxcbiAgNTk6XFx0XFxuICA2MDpcXHRcXHQgIFRoaXMgZW50cnkgd2lsbCBvbmx5IGV4aXN0IGlmIHRoaXMgb3B0aW9uIGlzIGVuYWJsZWQuXFxuICA2MTpcXHRcXG4gIDYyOlxcdFxcdCAgSWYgeW91IGFyZSBub3QgdHJ5aW5nIHRvIGRlYnVnIG9yIGRldmVsb3AgdGhlIElQVzIxMDAgZHJpdmVyLCB5b3VcXG4gIDYzOlxcdFxcdCAgbW9zdCBsaWtlbHkgd2FudCB0byBzYXkgTiBoZXJlLlxcbiAgNjQ6XFx0XFxuICA2NTpcXHRjb25maWcgSVBXMjIwMFxcbiAgNjY6XFx0XFx0dHJpc3RhdGUgXFxcIkludGVsIFBSTy9XaXJlbGVzcyAyMjAwQkcgYW5kIDI5MTVBQkcgTmV0d29yayBDb25uZWN0aW9uXFxcIlxcbiAgNjc6XFx0XFx0ZGVwZW5kcyBvbiBQQ0kgXFx1MDAyNlxcdTAwMjYgQ0ZHODAyMTFcXG4gIDY4OlxcdFxcdHNlbGVjdCBXSVJFTEVTU19FWFRcXG4gIDY5OlxcdFxcdHNlbGVjdCBXRVhUX1BSSVZcXG4gIDcwOlxcdFxcdHNlbGVjdCBGV19MT0FERVJcXG4gIDcxOlxcdFxcdHNlbGVjdCBMSUJJUFdcXG4gIDcyOlxcdFxcdGhlbHBcXG4gIDczOlxcdFxcdCAgQSBkcml2ZXIgZm9yIHRoZSBJbnRlbCBQUk8vV2lyZWxlc3MgMjIwMEJHIGFuZCAyOTE1QUJHIE5ldHdvcmtcXG4gIDc0OlxcdFxcdCAgQ29ubmVjdGlvbiBhZGFwdGVycy5cXG4gIDc1OlxcdFxcbiAgNzY6XFx0XFx0ICBTZWUgXFx1MDAzY2ZpbGU6RG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL3dpZmkvaW50ZWwvaXB3MjIwMC5yc3RcXHUwMDNlXFxuICA3NzpcXHRcXHQgIGZvciBpbmZvcm1hdGlvbiBvbiB0aGUgY2FwYWJpbGl0aWVzIGN1cnJlbnRseSBlbmFibGVkIGluIHRoaXNcXG4gIDc4OlxcdFxcdCAgZHJpdmVyIGFuZCBmb3IgdGlwcyBmb3IgZGVidWdnaW5nIGlzc3VlcyBhbmQgcHJvYmxlbXMuXFxuICA3OTpcXHRcXG4gIDgwOlxcdFxcdCAgSW4gb3JkZXIgdG8gdXNlIHRoaXMgZHJpdmVyLCB5b3Ugd2lsbCBuZWVkIGEgZmlybXdhcmUgaW1hZ2UgZm9yIGl0LlxcbiAgODE6XFx0XFx0ICBZb3UgY2FuIG9idGFpbiB0aGUgZmlybXdhcmUgZnJvbVxcbiAgODI6XFx0XFx0ICBcXHUwMDNjaHR0cDovL2lwdzIyMDAuc2YubmV0L1xcdTAwM2UuICBTZWUgdGhlIGFib3ZlIHJlZmVyZW5jZWQgUkVBRE1FLmlwdzIyMDBcXG4gIDgzOlxcdFxcdCAgZm9yIGluZm9ybWF0aW9uIG9uIHdoZXJlIHRvIGluc3RhbGwgdGhlIGZpcm13YXJlIGltYWdlcy5cXG4gIDg0OlxcdFxcbiAgODU6XFx0XFx0ICBZb3Ugd2lsbCBhbHNvIHZlcnkgbGlrZWx5IG5lZWQgdGhlIFdpcmVsZXNzIFRvb2xzIGluIG9yZGVyIHRvXFxuICA4NjpcXHRcXHQgIGNvbmZpZ3VyZSB5b3VyIGNhcmQ6XFxuICA4NzpcXHRcXG4gIDg4OlxcdFxcdCAgXFx1MDAzY2h0dHBzOi8vd3d3LmhwbC5ocC5jb20vcGVyc29uYWwvSmVhbl9Ub3VycmlsaGVzL0xpbnV4L1Rvb2xzLmh0bWxcXHUwMDNlLlxcbiAgODk6XFx0XFxuICA5MDpcXHRcXHQgIEl0IGlzIHJlY29tbWVuZGVkIHRoYXQgeW91IGNvbXBpbGUgdGhpcyBkcml2ZXIgYXMgYSBtb2R1bGUgKE0pXFxuICA5MTpcXHRcXHQgIHJhdGhlciB0aGFuIGJ1aWx0LWluIChZKS4gVGhpcyBkcml2ZXIgcmVxdWlyZXMgZmlybXdhcmUgYXQgZGV2aWNlXFxuICA5MjpcXHRcXHQgIGluaXRpYWxpemF0aW9uIHRpbWUsIGFuZCB3aGVuIGJ1aWx0LWluIHRoaXMgdHlwaWNhbGx5IGhhcHBlbnNcXG4gIDkzOlxcdFxcdCAgYmVmb3JlIHRoZSBmaWxlc3lzdGVtIGlzIGFjY2Vzc2libGUgKGhlbmNlIGZpcm13YXJlIHdpbGwgYmVcXG4gIDk0OlxcdFxcdCAgdW5hdmFpbGFibGUgYW5kIGluaXRpYWxpemF0aW9uIHdpbGwgZmFpbCkuIElmIHlvdSBkbyBjaG9vc2UgdG8gYnVpbGRcXG4gIDk1OlxcdFxcdCAgdGhpcyBkcml2ZXIgaW50byB5b3VyIGtlcm5lbCBpbWFnZSwgeW91IGNhbiBhdm9pZCB0aGlzIHByb2JsZW0gYnlcXG4gIDk2OlxcdFxcdCAgaW5jbHVkaW5nIHRoZSBmaXJtd2FyZSBhbmQgYSBmaXJtd2FyZSBsb2FkZXIgaW4gYW4gaW5pdHJhbWZzLlxcbiAgOTc6XFx0XFxuICA5ODpcXHRjb25maWcgSVBXMjIwMF9NT05JVE9SXFxuICA5OTpcXHRcXHRib29sIFxcXCJFbmFibGUgcHJvbWlzY3VvdXMgbW9kZVxcXCJcXG4gMTAwOlxcdFxcdGRlcGVuZHMgb24gSVBXMjIwMFxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0zMVQyMDoxODoyMS41MjQwMDQ4MTNaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuNy1mbGFzaCIsIkR1cmF0aW9uIjoyMzg2MTEyMjg3MCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgaGVyZSdzIG15IGF0dGVtcHQgYXQgc3VtbWFyaXppbmcgdGhlIHRob3VnaHQgcHJvY2VzcywgYXMgaWYgSSB3ZXJlIGNvbnNpZGVyaW5nIHRoZSB0b3BpYyBteXNlbGYsIHRhaWxvcmVkIGZvciBhbiBleHBlcnQgYXVkaWVuY2U6XG5cbioqTElCSVBXIGFuZCBEcml2ZXIgU2VsZWN0aW9uOiBBIFF1aWNrIFJldmlldyoqXG5cbkFscmlnaHQsIGxldCdzIGdldCBkb3duIHRvIGJyYXNzIHRhY2tzLiBJIG5lZWQgYSByZWZyZXNoZXIgb24gTElCSVBXLiBNeSBpbml0aWFsIHF1ZXN0aW9uIGlzLCB3aGF0ICppcyogaXQsIGZ1bmRhbWVudGFsbHk/IEkgbmVlZCB0byB1bmRlcnN0YW5kIGl0cyByb2xlLCBpdHMgYXJjaGl0ZWN0dXJlLCBpdHMgZGVzaWduIHBoaWxvc29waHkuIEknbSBhbHJlYWR5IHRoaW5raW5nIGFib3V0IGl0cyByZWxhdGlvbnNoaXAgdG8gdGhlIGtlcm5lbCwgaG93IGl0IGZpdHMgaW50byB0aGUgYnJvYWRlciBuZXR3b3JraW5nIHN0YWNrLlxuXG5UaGVuLCB0aGUgY3JpdGljYWwgcG9pbnQ6ICp3aGljaCogZHJpdmVycyBhcmUgbGV2ZXJhZ2luZyBMSUJJUFc/IEFuZCBtb3JlIGltcG9ydGFudGx5LCAqd2h5KiBhcmUgdGhleSBjaG9vc2luZyB0aGlzIHBhcnRpY3VsYXIgcm91dGU/IElzIGl0IGFib3V0IGNvZGUgcmV1c2UsIHBlcmZvcm1hbmNlIGdhaW5zLCBzcGVjaWZpYyBoYXJkd2FyZSBzdXBwb3J0LCBvciBwZXJoYXBzIGEgYmFsYW5jZSBvZiBhbGwgdGhlc2UgZmFjdG9ycz8gSSBuZWVkIHRvIHF1aWNrbHkgaWRlbnRpZnkgdGhlIGtleSBkcml2ZXJzIGludm9sdmVkIGFuZCB0aGVuIGRpZyBpbnRvIHRoZWlyIGltcGxlbWVudGF0aW9uIHNwZWNpZmljcywgbG9va2luZyBmb3IgdGhlIHJhdGlvbmFsZSBiZWhpbmQgdGhlaXIgZGVjaXNpb24uIEknbGwgbmVlZCB0byB1bmRlcnN0YW5kIHRoZSB0cmFkZS1vZmZzIHRoZXkgbWFkZSDigJMgdGhlIGFkdmFudGFnZXMgYW5kIGRpc2FkdmFudGFnZXMgY29tcGFyZWQgdG8gYWx0ZXJuYXRpdmUgbWV0aG9kcy4gQW55IGltcGxlbWVudGF0aW9uIG5vdGVzIG9yIGRvY3VtZW50YXRpb24gYXJlIHBhcmFtb3VudC4gVGhpcyBxdWlja2x5IGFsbG93cyBtZSB0byBhc2NlcnRhaW4gdGhlIHN1aXRhYmlsaXR5IG9mIGEgZ2VuZXJhbCBsaWJyYXJ5LCBvciBub3QuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjExNzMyLCJPdXRwdXRUb2tlbnMiOjE3LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTcsIlRvb2xDYWxscyI6WyJncmVwcGVyIiwicmVhZC1maWxlIl19LHsiU3RhcnRlZCI6IjIwMjYtMDgtMzFUMjA6MTg6NDUuMzg1MTI5ODgzWiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE1MzcwMzg5MDUsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiTElCSVBXXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcIlxcbkZ1bGwgb3V0cHV0IGlzIHRvbyBsb25nLCBzaG93aW5nIDUwMCBvdXQgb2YgMTUyMCBsaW5lcy5cXG5Vc2UgbW9yZSBwcmVjaXNlIGV4cHJlc3Npb24gaWYgcG9zc2libGUuXFxuXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnPTY9Y29uZmlnIElQVzIxMDBcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvS2NvbmZpZy0xMS1cXHRzZWxlY3QgRldfTE9BREVSXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnOjEyOlxcdHNlbGVjdCBMSUJJUFdcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWctMTMtXFx0aGVscFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnPTY1PWNvbmZpZyBJUFcyMjAwXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWctNzAtXFx0c2VsZWN0IEZXX0xPQURFUlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvS2NvbmZpZzo3MTpcXHRzZWxlY3QgTElCSVBXXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnLTcyLVxcdGhlbHBcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvS2NvbmZpZz0xMzk9Y29uZmlnIElQVzIyMDBfREVCVUdcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvS2NvbmZpZy0xNTEtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnOjE1Mjpjb25maWcgTElCSVBXXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnLTE1My1cXHR0cmlzdGF0ZVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnLTE2My1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWc6MTY0OmNvbmZpZyBMSUJJUFdfREVCVUdcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWc6MTY1OlxcdGJvb2wgXFxcIkZ1bGwgZGVidWdnaW5nIG91dHB1dCBmb3IgdGhlIExJQklQVyBjb21wb25lbnRcXFwiXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnOjE2NjpcXHRkZXBlbmRzIG9uIExJQklQV1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvS2NvbmZpZy0xNjctXFx0aGVscFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9NYWtlZmlsZT03PW9iai0kKENPTkZJR19JUFcyMjAwKSArPSBpcHcyMjAwLm9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL01ha2VmaWxlLTgtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9NYWtlZmlsZTo5Om9iai0kKENPTkZJR19MSUJJUFcpICs9IGxpYmlwdy5vXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9NYWtlZmlsZS0xMC1saWJpcHctb2JqcyA6PSBcXFxcXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz0xNjkzPXN0YXRpYyBpbnQgaXB3MjEwMF91cChzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2LCBpbnQgZGVmZXJyZWQpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0xNzYwLVxcdGxpYmlwd19zZXRfZ2VvKHByaXYtXFx1MDAzZWllZWUsIFxcdTAwMjZpcHdfZ2Vvc1swXSk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MTc2MTpcXHRwcml2LVxcdTAwM2VpZWVlLVxcdTAwM2VmcmVxX2JhbmQgPSBMSUJJUFdfMjRHSFpfQkFORDtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0xNzYyLVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9MTg3Mz1zdGF0aWMgaW50IGlwdzIxMDBfd2Rldl9pbml0KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0xODk5LVxcdFxcdFxcdGJnX2JhbmQtXFx1MDAzZWNoYW5uZWxzW2ldLm1heF9wb3dlciA9IGdlby1cXHUwMDNlYmdbaV0ubWF4X3Bvd2VyO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjE5MDA6XFx0XFx0XFx0aWYgKGdlby1cXHUwMDNlYmdbaV0uZmxhZ3MgXFx1MDAyNiBMSUJJUFdfQ0hfUEFTU0lWRV9PTkxZKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTE5MDEtXFx0XFx0XFx0XFx0YmdfYmFuZC1cXHUwMDNlY2hhbm5lbHNbaV0uZmxhZ3MgfD1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0xOTAyLVxcdFxcdFxcdFxcdFxcdElFRUU4MDIxMV9DSEFOX05PX0lSO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjE5MDM6XFx0XFx0XFx0aWYgKGdlby1cXHUwMDNlYmdbaV0uZmxhZ3MgXFx1MDAyNiBMSUJJUFdfQ0hfTk9fSUJTUylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0xOTA0LVxcdFxcdFxcdFxcdGJnX2JhbmQtXFx1MDAzZWNoYW5uZWxzW2ldLmZsYWdzIHw9XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMTkwNS1cXHRcXHRcXHRcXHRcXHRJRUVFODAyMTFfQ0hBTl9OT19JUjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoxOTA2OlxcdFxcdFxcdGlmIChnZW8tXFx1MDAzZWJnW2ldLmZsYWdzIFxcdTAwMjYgTElCSVBXX0NIX1JBREFSX0RFVEVDVClcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0xOTA3LVxcdFxcdFxcdFxcdGJnX2JhbmQtXFx1MDAzZWNoYW5uZWxzW2ldLmZsYWdzIHw9XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMTkwOC1cXHRcXHRcXHRcXHRcXHRJRUVFODAyMTFfQ0hBTl9SQURBUjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoxOTA5OlxcdFxcdFxcdC8qIE5vIGVxdWl2YWxlbnQgZm9yIExJQklQV19DSF84MDIxMUhfUlVMRVMsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MTkxMDpcXHRcXHRcXHQgICBMSUJJUFdfQ0hfVU5JRk9STV9TUFJFQURJTkcsIG9yXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MTkxMTpcXHRcXHRcXHQgICBMSUJJUFdfQ0hfQl9PTkxZLi4uICovXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMTkxMi1cXHRcXHR9XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz0yNjQ0PXN0YXRpYyB2b2lkIF9faXB3MjEwMF9yeF9wcm9jZXNzKHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNjg5LVxcdFxcdGlmIChzdGF0cy5yc3NpICE9IDApXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MjY5MDpcXHRcXHRcXHRzdGF0cy5tYXNrIHw9IExJQklQV19TVEFUTUFTS19SU1NJO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjI2OTE6XFx0XFx0c3RhdHMuZnJlcSA9IExJQklQV18yNEdIWl9CQU5EO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI2OTItXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz0zMDQ3PXN0YXRpYyB2b2lkIGlwdzIxMDBfdHhfc2VuZF9kYXRhKHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zMTEzLVxcdFxcdFxcdCAgICBwYWNrZXQtXFx1MDAzZWluZm8uZF9zdHJ1Y3QudHhiLVxcdTAwM2VmcmFnX3NpemUgLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjMxMTQ6XFx0XFx0XFx0ICAgIExJQklQV18zQUREUl9MRU47XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMzExNS1cXHRcXHRlbHNlXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zMTQ2LVxcdFxcdFxcdHRiZC1cXHUwMDNlYnVmX2xlbmd0aCA9IHBhY2tldC1cXHUwMDNlaW5mby5kX3N0cnVjdC50eGItXFx1MDAzZVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjMxNDc6XFx0XFx0XFx0ICAgIGZyYWdtZW50c1tpXS1cXHUwMDNlbGVuIC0gTElCSVBXXzNBRERSX0xFTjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zMTQ4LVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMzE1MS1cXHRcXHRcXHRcXHRcXHRcXHRcXHR0eGItXFx1MDAzZWZyYWdtZW50c1tpXS1cXHUwMDNlZGF0YSArXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MzE1MjpcXHRcXHRcXHRcXHRcXHRcXHRcXHRMSUJJUFdfM0FERFJfTEVOLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTMxNTMtXFx0XFx0XFx0XFx0XFx0XFx0XFx0dGJkLVxcdTAwM2VidWZfbGVuZ3RoLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NTk5Nj1zdGF0aWMgc3RydWN0IG5ldF9kZXZpY2UgKmlwdzIxMDBfYWxsb2NfZGV2aWNlKHN0cnVjdCBwY2lfZGV2ICpwY2lfZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjAyMi1cXHRkZXYtXFx1MDAzZW1pbl9tdHUgPSA2ODtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo2MDIzOlxcdGRldi1cXHUwMDNlbWF4X210dSA9IExJQklQV19EQVRBX0xFTjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02MDI0LVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9MTg1OT1zdGF0aWMgc3NpemVfdCBjaGFubmVsc19zaG93KHN0cnVjdCBkZXZpY2UgKmQsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy0xODczLVxcdFxcdFxcdCAgICAgICBnZW8tXFx1MDAzZWJnW2ldLmNoYW5uZWwsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6MTg3NDpcXHRcXHRcXHQgICAgICAgZ2VvLVxcdTAwM2ViZ1tpXS5mbGFncyBcXHUwMDI2IExJQklQV19DSF9SQURBUl9ERVRFQ1QgP1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTE4NzUtXFx0XFx0XFx0ICAgICAgIFxcXCIgKHJhZGFyIHNwZWN0cnVtKVxcXCIgOiBcXFwiXFxcIixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzoxODc2OlxcdFxcdFxcdCAgICAgICAoKGdlby1cXHUwMDNlYmdbaV0uZmxhZ3MgXFx1MDAyNiBMSUJJUFdfQ0hfTk9fSUJTUykgfHxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzoxODc3OlxcdFxcdFxcdFxcdChnZW8tXFx1MDAzZWJnW2ldLmZsYWdzIFxcdTAwMjYgTElCSVBXX0NIX1JBREFSX0RFVEVDVCkpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtMTg3OC1cXHRcXHRcXHQgICAgICAgPyBcXFwiXFxcIiA6IFxcXCIsIElCU1NcXFwiLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjE4Nzk6XFx0XFx0XFx0ICAgICAgIGdlby1cXHUwMDNlYmdbaV0uZmxhZ3MgXFx1MDAyNiBMSUJJUFdfQ0hfUEFTU0lWRV9PTkxZID9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy0xODgwLVxcdFxcdFxcdCAgICAgICBcXFwicGFzc2l2ZSBvbmx5XFxcIiA6IFxcXCJhY3RpdmUvcGFzc2l2ZVxcXCIsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6MTg4MTpcXHRcXHRcXHQgICAgICAgZ2VvLVxcdTAwM2ViZ1tpXS5mbGFncyBcXHUwMDI2IExJQklQV19DSF9CX09OTFkgP1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTE4ODItXFx0XFx0XFx0ICAgICAgIFxcXCJCXFxcIiA6IFxcXCJCL0dcXFwiKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTE4OTAtXFx0XFx0XFx0ICAgICAgIGdlby1cXHUwMDNlYVtpXS5jaGFubmVsLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjE4OTE6XFx0XFx0XFx0ICAgICAgIGdlby1cXHUwMDNlYVtpXS5mbGFncyBcXHUwMDI2IExJQklQV19DSF9SQURBUl9ERVRFQ1QgP1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTE4OTItXFx0XFx0XFx0ICAgICAgIFxcXCIgKHJhZGFyIHNwZWN0cnVtKVxcXCIgOiBcXFwiXFxcIixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzoxODkzOlxcdFxcdFxcdCAgICAgICAoKGdlby1cXHUwMDNlYVtpXS5mbGFncyBcXHUwMDI2IExJQklQV19DSF9OT19JQlNTKSB8fFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjE4OTQ6XFx0XFx0XFx0XFx0KGdlby1cXHUwMDNlYVtpXS5mbGFncyBcXHUwMDI2IExJQklQV19DSF9SQURBUl9ERVRFQ1QpKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTE4OTUtXFx0XFx0XFx0ICAgICAgID8gXFxcIlxcXCIgOiBcXFwiLCBJQlNTXFxcIixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzoxODk2OlxcdFxcdFxcdCAgICAgICBnZW8tXFx1MDAzZWFbaV0uZmxhZ3MgXFx1MDAyNiBMSUJJUFdfQ0hfUEFTU0lWRV9PTkxZID9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy0xODk3LVxcdFxcdFxcdCAgICAgICBcXFwicGFzc2l2ZSBvbmx5XFxcIiA6IFxcXCJhY3RpdmUvcGFzc2l2ZVxcXCIpO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9NDA5MD1zdGF0aWMgdTMyIGlwd19nZXRfbWF4X3JhdGUoc3RydWN0IGlwd19wcml2ICpwcml2KVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNDA5Ni1cXHRpZiAocHJpdi1cXHUwMDNlYXNzb2NfcmVxdWVzdC5pZWVlX21vZGUgPT0gSVBXX0JfTU9ERSlcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo0MDk3OlxcdFxcdG1hc2sgXFx1MDAyNj0gTElCSVBXX0NDS19SQVRFU19NQVNLO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTQwOTgtXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy00MTA0LVxcdHN3aXRjaCAoaSkge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjQxMDU6XFx0Y2FzZSBMSUJJUFdfQ0NLX1JBVEVfMU1CX01BU0s6XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNDEwNi1cXHRcXHRyZXR1cm4gMTAwMDAwMDtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo0MTA3OlxcdGNhc2UgTElCSVBXX0NDS19SQVRFXzJNQl9NQVNLOlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTQxMDgtXFx0XFx0cmV0dXJuIDIwMDAwMDA7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NDEwOTpcXHRjYXNlIExJQklQV19DQ0tfUkFURV81TUJfTUFTSzpcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy00MTEwLVxcdFxcdHJldHVybiA1NTAwMDAwO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjQxMTE6XFx0Y2FzZSBMSUJJUFdfT0ZETV9SQVRFXzZNQl9NQVNLOlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTQxMTItXFx0XFx0cmV0dXJuIDYwMDAwMDA7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NDExMzpcXHRjYXNlIExJQklQV19PRkRNX1JBVEVfOU1CX01BU0s6XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNDExNC1cXHRcXHRyZXR1cm4gOTAwMDAwMDtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo0MTE1OlxcdGNhc2UgTElCSVBXX0NDS19SQVRFXzExTUJfTUFTSzpcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy00MTE2LVxcdFxcdHJldHVybiAxMTAwMDAwMDtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo0MTE3OlxcdGNhc2UgTElCSVBXX09GRE1fUkFURV8xMk1CX01BU0s6XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNDExOC1cXHRcXHRyZXR1cm4gMTIwMDAwMDA7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NDExOTpcXHRjYXNlIExJQklQV19PRkRNX1JBVEVfMThNQl9NQVNLOlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTQxMjAtXFx0XFx0cmV0dXJuIDE4MDAwMDAwO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjQxMjE6XFx0Y2FzZSBMSUJJUFdfT0ZETV9SQVRFXzI0TUJfTUFTSzpcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy00MTIyLVxcdFxcdHJldHVybiAyNDAwMDAwMDtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo0MTIzOlxcdGNhc2UgTElCSVBXX09GRE1fUkFURV8zNk1CX01BU0s6XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNDEyNC1cXHRcXHRyZXR1cm4gMzYwMDAwMDA7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NDEyNTpcXHRjYXNlIExJQklQV19PRkRNX1JBVEVfNDhNQl9NQVNLOlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTQxMjYtXFx0XFx0cmV0dXJuIDQ4MDAwMDAwO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjQxMjc6XFx0Y2FzZSBMSUJJUFdfT0ZETV9SQVRFXzU0TUJfTUFTSzpcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy00MTI4LVxcdFxcdHJldHVybiA1NDAwMDAwMDtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jPTUyMjQ9c3RhdGljIGludCBpcHdfaXNfcmF0ZV9pbl9tYXNrKHN0cnVjdCBpcHdfcHJpdiAqcHJpdiwgaW50IGllZWVfbW9kZSwgdTggcmF0ZSlcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01MjI1LXtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjI2OlxcdHJhdGUgXFx1MDAyNj0gfkxJQklQV19CQVNJQ19SQVRFX01BU0s7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTIyNy1cXHRpZiAoaWVlZV9tb2RlID09IElFRUVfQSkge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUyMjgtXFx0XFx0c3dpdGNoIChyYXRlKSB7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTIyOTpcXHRcXHRjYXNlIExJQklQV19PRkRNX1JBVEVfNk1COlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyMzA6XFx0XFx0XFx0cmV0dXJuIHByaXYtXFx1MDAzZXJhdGVzX21hc2sgXFx1MDAyNiBMSUJJUFdfT0ZETV9SQVRFXzZNQl9NQVNLID9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01MjMxLVxcdFxcdFxcdCAgICAxIDogMDtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjMyOlxcdFxcdGNhc2UgTElCSVBXX09GRE1fUkFURV85TUI6XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTIzMzpcXHRcXHRcXHRyZXR1cm4gcHJpdi1cXHUwMDNlcmF0ZXNfbWFzayBcXHUwMDI2IExJQklQV19PRkRNX1JBVEVfOU1CX01BU0sgP1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUyMzQtXFx0XFx0XFx0ICAgIDEgOiAwO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyMzU6XFx0XFx0Y2FzZSBMSUJJUFdfT0ZETV9SQVRFXzEyTUI6XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTIzNi1cXHRcXHRcXHRyZXR1cm4gcHJpdi1cXHUwMDNlXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTIzNzpcXHRcXHRcXHQgICAgcmF0ZXNfbWFzayBcXHUwMDI2IExJQklQV19PRkRNX1JBVEVfMTJNQl9NQVNLID8gMSA6IDA7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTIzODpcXHRcXHRjYXNlIExJQklQV19PRkRNX1JBVEVfMThNQjpcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01MjM5LVxcdFxcdFxcdHJldHVybiBwcml2LVxcdTAwM2VcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjQwOlxcdFxcdFxcdCAgICByYXRlc19tYXNrIFxcdTAwMjYgTElCSVBXX09GRE1fUkFURV8xOE1CX01BU0sgPyAxIDogMDtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjQxOlxcdFxcdGNhc2UgTElCSVBXX09GRE1fUkFURV8yNE1COlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUyNDItXFx0XFx0XFx0cmV0dXJuIHByaXYtXFx1MDAzZVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyNDM6XFx0XFx0XFx0ICAgIHJhdGVzX21hc2sgXFx1MDAyNiBMSUJJUFdfT0ZETV9SQVRFXzI0TUJfTUFTSyA/IDEgOiAwO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyNDQ6XFx0XFx0Y2FzZSBMSUJJUFdfT0ZETV9SQVRFXzM2TUI6XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTI0NS1cXHRcXHRcXHRyZXR1cm4gcHJpdi1cXHUwMDNlXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTI0NjpcXHRcXHRcXHQgICAgcmF0ZXNfbWFzayBcXHUwMDI2IExJQklQV19PRkRNX1JBVEVfMzZNQl9NQVNLID8gMSA6IDA7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTI0NzpcXHRcXHRjYXNlIExJQklQV19PRkRNX1JBVEVfNDhNQjpcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01MjQ4LVxcdFxcdFxcdHJldHVybiBwcml2LVxcdTAwM2VcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjQ5OlxcdFxcdFxcdCAgICByYXRlc19tYXNrIFxcdTAwMjYgTElCSVBXX09GRE1fUkFURV80OE1CX01BU0sgPyAxIDogMDtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjUwOlxcdFxcdGNhc2UgTElCSVBXX09GRE1fUkFURV81NE1COlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUyNTEtXFx0XFx0XFx0cmV0dXJuIHByaXYtXFx1MDAzZVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyNTI6XFx0XFx0XFx0ICAgIHJhdGVzX21hc2sgXFx1MDAyNiBMSUJJUFdfT0ZETV9SQVRFXzU0TUJfTUFTSyA/IDEgOiAwO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUyNTMtXFx0XFx0ZGVmYXVsdDpcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUyNTktXFx0c3dpdGNoIChyYXRlKSB7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTI2MDpcXHRjYXNlIExJQklQV19DQ0tfUkFURV8xTUI6XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTI2MTpcXHRcXHRyZXR1cm4gcHJpdi1cXHUwMDNlcmF0ZXNfbWFzayBcXHUwMDI2IExJQklQV19DQ0tfUkFURV8xTUJfTUFTSyA/IDEgOiAwO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyNjI6XFx0Y2FzZSBMSUJJUFdfQ0NLX1JBVEVfMk1COlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyNjM6XFx0XFx0cmV0dXJuIHByaXYtXFx1MDAzZXJhdGVzX21hc2sgXFx1MDAyNiBMSUJJUFdfQ0NLX1JBVEVfMk1CX01BU0sgPyAxIDogMDtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjY0OlxcdGNhc2UgTElCSVBXX0NDS19SQVRFXzVNQjpcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjY1OlxcdFxcdHJldHVybiBwcml2LVxcdTAwM2VyYXRlc19tYXNrIFxcdTAwMjYgTElCSVBXX0NDS19SQVRFXzVNQl9NQVNLID8gMSA6IDA7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTI2NjpcXHRjYXNlIExJQklQV19DQ0tfUkFURV8xMU1COlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyNjc6XFx0XFx0cmV0dXJuIHByaXYtXFx1MDAzZXJhdGVzX21hc2sgXFx1MDAyNiBMSUJJUFdfQ0NLX1JBVEVfMTFNQl9NQVNLID8gMSA6IDA7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTI2OC1cXHR9XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01Mjc1LVxcdHN3aXRjaCAocmF0ZSkge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyNzY6XFx0Y2FzZSBMSUJJUFdfT0ZETV9SQVRFXzZNQjpcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1Mjc3OlxcdFxcdHJldHVybiBwcml2LVxcdTAwM2VyYXRlc19tYXNrIFxcdTAwMjYgTElCSVBXX09GRE1fUkFURV82TUJfTUFTSyA/IDEgOiAwO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyNzg6XFx0Y2FzZSBMSUJJUFdfT0ZETV9SQVRFXzlNQjpcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1Mjc5OlxcdFxcdHJldHVybiBwcml2LVxcdTAwM2VyYXRlc19tYXNrIFxcdTAwMjYgTElCSVBXX09GRE1fUkFURV85TUJfTUFTSyA/IDEgOiAwO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyODA6XFx0Y2FzZSBMSUJJUFdfT0ZETV9SQVRFXzEyTUI6XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTI4MTpcXHRcXHRyZXR1cm4gcHJpdi1cXHUwMDNlcmF0ZXNfbWFzayBcXHUwMDI2IExJQklQV19PRkRNX1JBVEVfMTJNQl9NQVNLID8gMSA6IDA7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTI4MjpcXHRjYXNlIExJQklQV19PRkRNX1JBVEVfMThNQjpcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjgzOlxcdFxcdHJldHVybiBwcml2LVxcdTAwM2VyYXRlc19tYXNrIFxcdTAwMjYgTElCSVBXX09GRE1fUkFURV8xOE1CX01BU0sgPyAxIDogMDtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1Mjg0OlxcdGNhc2UgTElCSVBXX09GRE1fUkFURV8yNE1COlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyODU6XFx0XFx0cmV0dXJuIHByaXYtXFx1MDAzZXJhdGVzX21hc2sgXFx1MDAyNiBMSUJJUFdfT0ZETV9SQVRFXzI0TUJfTUFTSyA/IDEgOiAwO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyODY6XFx0Y2FzZSBMSUJJUFdfT0ZETV9SQVRFXzM2TUI6XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTI4NzpcXHRcXHRyZXR1cm4gcHJpdi1cXHUwMDNlcmF0ZXNfbWFzayBcXHUwMDI2IExJQklQV19PRkRNX1JBVEVfMzZNQl9NQVNLID8gMSA6IDA7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTI4ODpcXHRjYXNlIExJQklQV19PRkRNX1JBVEVfNDhNQjpcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1Mjg5OlxcdFxcdHJldHVybiBwcml2LVxcdTAwM2VyYXRlc19tYXNrIFxcdTAwMjYgTElCSVBXX09GRE1fUkFURV80OE1CX01BU0sgPyAxIDogMDtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjkwOlxcdGNhc2UgTElCSVBXX09GRE1fUkFURV81NE1COlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyOTE6XFx0XFx0cmV0dXJuIHByaXYtXFx1MDAzZXJhdGVzX21hc2sgXFx1MDAyNiBMSUJJUFdfT0ZETV9SQVRFXzU0TUJfTUFTSyA/IDEgOiAwO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUyOTItXFx0fVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9NTI5Nz1zdGF0aWMgaW50IGlwd19jb21wYXRpYmxlX3JhdGVzKHN0cnVjdCBpcHdfcHJpdiAqcHJpdixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUzMDktXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTMxMDpcXHRcXHRcXHRpZiAobmV0d29yay1cXHUwMDNlcmF0ZXNbaV0gXFx1MDAyNiBMSUJJUFdfQkFTSUNfUkFURV9NQVNLKSB7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTMxMS1cXHRcXHRcXHRcXHRJUFdfREVCVUdfU0NBTihcXFwiQWRkaW5nIG1hc2tlZCBtYW5kYXRvcnkgXFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTMzMS1cXHRcXHRcXHRcXHRcXHQgbmV0d29yay1cXHUwMDNlcmF0ZXNfZXhbaV0pKSB7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTMzMjpcXHRcXHRcXHRpZiAobmV0d29yay1cXHUwMDNlcmF0ZXNfZXhbaV0gXFx1MDAyNiBMSUJJUFdfQkFTSUNfUkFURV9NQVNLKSB7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTMzMy1cXHRcXHRcXHRcXHRJUFdfREVCVUdfU0NBTihcXFwiQWRkaW5nIG1hc2tlZCBtYW5kYXRvcnkgXFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9NTM2NT1zdGF0aWMgdm9pZCBpcHdfYWRkX2Nja19zY2FuX3JhdGVzKHN0cnVjdCBpcHdfc3VwcG9ydGVkX3JhdGVzICpyYXRlcyxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUzNjcte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUzNjg6XFx0dTggYmFzaWNfbWFzayA9IChMSUJJUFdfT0ZETV9NT0RVTEFUSU9OID09IG1vZHVsYXRpb24pID9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MzY5OlxcdCAgICBMSUJJUFdfQkFTSUNfUkFURV9NQVNLIDogMDtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01MzcwLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUzNzE6XFx0aWYgKHJhdGVfbWFzayBcXHUwMDI2IExJQklQV19DQ0tfUkFURV8xTUJfTUFTSylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01MzcyLVxcdFxcdHJhdGVzLVxcdTAwM2VzdXBwb3J0ZWRfcmF0ZXNbcmF0ZXMtXFx1MDAzZW51bV9yYXRlcysrXSA9XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTM3MzpcXHRcXHQgICAgTElCSVBXX0JBU0lDX1JBVEVfTUFTSyB8IExJQklQV19DQ0tfUkFURV8xTUI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTM3NC1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1Mzc1OlxcdGlmIChyYXRlX21hc2sgXFx1MDAyNiBMSUJJUFdfQ0NLX1JBVEVfMk1CX01BU0spXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTM3Ni1cXHRcXHRyYXRlcy1cXHUwMDNlc3VwcG9ydGVkX3JhdGVzW3JhdGVzLVxcdTAwM2VudW1fcmF0ZXMrK10gPVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUzNzc6XFx0XFx0ICAgIExJQklQV19CQVNJQ19SQVRFX01BU0sgfCBMSUJJUFdfQ0NLX1JBVEVfMk1CO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUzNzgtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTM3OTpcXHRpZiAocmF0ZV9tYXNrIFxcdTAwMjYgTElCSVBXX0NDS19SQVRFXzVNQl9NQVNLKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUzODAtXFx0XFx0cmF0ZXMtXFx1MDAzZXN1cHBvcnRlZF9yYXRlc1tyYXRlcy1cXHUwMDNlbnVtX3JhdGVzKytdID0gYmFzaWNfbWFzayB8XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTM4MTpcXHRcXHQgICAgTElCSVBXX0NDS19SQVRFXzVNQjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01MzgyLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUzODM6XFx0aWYgKHJhdGVfbWFzayBcXHUwMDI2IExJQklQV19DQ0tfUkFURV8xMU1CX01BU0spXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTM4NC1cXHRcXHRyYXRlcy1cXHUwMDNlc3VwcG9ydGVkX3JhdGVzW3JhdGVzLVxcdTAwM2VudW1fcmF0ZXMrK10gPSBiYXNpY19tYXNrIHxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1Mzg1OlxcdFxcdCAgICBMSUJJUFdfQ0NLX1JBVEVfMTFNQjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01Mzg2LX1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jPTUzODg9c3RhdGljIHZvaWQgaXB3X2FkZF9vZmRtX3NjYW5fcmF0ZXMoc3RydWN0IGlwd19zdXBwb3J0ZWRfcmF0ZXMgKnJhdGVzLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTM5MC17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTM5MTpcXHR1OCBiYXNpY19tYXNrID0gKExJQklQV19PRkRNX01PRFVMQVRJT04gPT0gbW9kdWxhdGlvbikgP1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUzOTI6XFx0ICAgIExJQklQV19CQVNJQ19SQVRFX01BU0sgOiAwO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUzOTMtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTM5NDpcXHRpZiAocmF0ZV9tYXNrIFxcdTAwMjYgTElCSVBXX09GRE1fUkFURV82TUJfTUFTSylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01Mzk1LVxcdFxcdHJhdGVzLVxcdTAwM2VzdXBwb3J0ZWRfcmF0ZXNbcmF0ZXMtXFx1MDAzZW51bV9yYXRlcysrXSA9IGJhc2ljX21hc2sgfFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUzOTY6XFx0XFx0ICAgIExJQklQV19PRkRNX1JBVEVfNk1CO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUzOTctXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTM5ODpcXHRpZiAocmF0ZV9tYXNrIFxcdTAwMjYgTElCSVBXX09GRE1fUkFURV85TUJfTUFTSylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01Mzk5LVxcdFxcdHJhdGVzLVxcdTAwM2VzdXBwb3J0ZWRfcmF0ZXNbcmF0ZXMtXFx1MDAzZW51bV9yYXRlcysrXSA9XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTQwMDpcXHRcXHQgICAgTElCSVBXX09GRE1fUkFURV85TUI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTQwMS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1NDAyOlxcdGlmIChyYXRlX21hc2sgXFx1MDAyNiBMSUJJUFdfT0ZETV9SQVRFXzEyTUJfTUFTSylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01NDAzLVxcdFxcdHJhdGVzLVxcdTAwM2VzdXBwb3J0ZWRfcmF0ZXNbcmF0ZXMtXFx1MDAzZW51bV9yYXRlcysrXSA9IGJhc2ljX21hc2sgfFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjU0MDQ6XFx0XFx0ICAgIExJQklQV19PRkRNX1JBVEVfMTJNQjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01NDA1LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjU0MDY6XFx0aWYgKHJhdGVfbWFzayBcXHUwMDI2IExJQklQV19PRkRNX1JBVEVfMThNQl9NQVNLKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTU0MDctXFx0XFx0cmF0ZXMtXFx1MDAzZXN1cHBvcnRlZF9yYXRlc1tyYXRlcy1cXHUwMDNlbnVtX3JhdGVzKytdID1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1NDA4OlxcdFxcdCAgICBMSUJJUFdfT0ZETV9SQVRFXzE4TUI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTQwOS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1NDEwOlxcdGlmIChyYXRlX21hc2sgXFx1MDAyNiBMSUJJUFdfT0ZETV9SQVRFXzI0TUJfTUFTSylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01NDExLVxcdFxcdHJhdGVzLVxcdTAwM2VzdXBwb3J0ZWRfcmF0ZXNbcmF0ZXMtXFx1MDAzZW51bV9yYXRlcysrXSA9IGJhc2ljX21hc2sgfFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjU0MTI6XFx0XFx0ICAgIExJQklQV19PRkRNX1JBVEVfMjRNQjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01NDEzLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjU0MTQ6XFx0aWYgKHJhdGVfbWFzayBcXHUwMDI2IExJQklQV19PRkRNX1JBVEVfMzZNQl9NQVNLKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTU0MTUtXFx0XFx0cmF0ZXMtXFx1MDAzZXN1cHBvcnRlZF9yYXRlc1tyYXRlcy1cXHUwMDNlbnVtX3JhdGVzKytdID1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1NDE2OlxcdFxcdCAgICBMSUJJUFdfT0ZETV9SQVRFXzM2TUI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTQxNy1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1NDE4OlxcdGlmIChyYXRlX21hc2sgXFx1MDAyNiBMSUJJUFdfT0ZETV9SQVRFXzQ4TUJfTUFTSylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01NDE5LVxcdFxcdHJhdGVzLVxcdTAwM2VzdXBwb3J0ZWRfcmF0ZXNbcmF0ZXMtXFx1MDAzZW51bV9yYXRlcysrXSA9XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTQyMDpcXHRcXHQgICAgTElCSVBXX09GRE1fUkFURV80OE1CO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTU0MjEtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTQyMjpcXHRpZiAocmF0ZV9tYXNrIFxcdTAwMjYgTElCSVBXX09GRE1fUkFURV81NE1CX01BU0spXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTQyMy1cXHRcXHRyYXRlcy1cXHUwMDNlc3VwcG9ydGVkX3JhdGVzW3JhdGVzLVxcdTAwM2VudW1fcmF0ZXMrK10gPVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjU0MjQ6XFx0XFx0ICAgIExJQklQV19PRkRNX1JBVEVfNTRNQjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01NDI1LX1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jPTU3NjI9c3RhdGljIHZvaWQgaXB3X2FkaG9jX2NyZWF0ZShzdHJ1Y3QgaXB3X3ByaXYgKnByaXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01NzgwLVxcdHN3aXRjaCAobGliaXB3X2lzX3ZhbGlkX2NoYW5uZWwocHJpdi1cXHUwMDNlaWVlZSwgcHJpdi1cXHUwMDNlY2hhbm5lbCkpIHtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1NzgxOlxcdGNhc2UgTElCSVBXXzUyR0haX0JBTkQ6XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTc4Mi1cXHRcXHRuZXR3b3JrLVxcdTAwM2Vtb2RlID0gSUVFRV9BO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTc4NC1cXHRcXHRCVUdfT04oaSA9PSAtMSk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTc4NTpcXHRcXHRpZiAoZ2VvLVxcdTAwM2VhW2ldLmZsYWdzIFxcdTAwMjYgTElCSVBXX0NIX1BBU1NJVkVfT05MWSkge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTU3ODYtXFx0XFx0XFx0SVBXX1dBUk5JTkcoXFxcIk92ZXJyaWRpbmcgaW52YWxpZCBjaGFubmVsXFxcXG5cXFwiKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTU3OTAtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTc5MTpcXHRjYXNlIExJQklQV18yNEdIWl9CQU5EOlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTU3OTItXFx0XFx0aWYgKHByaXYtXFx1MDAzZWllZWUtXFx1MDAzZW1vZGUgXFx1MDAyNiBJRUVFX0cpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01Nzk3LVxcdFxcdEJVR19PTihpID09IC0xKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1Nzk4OlxcdFxcdGlmIChnZW8tXFx1MDAzZWJnW2ldLmZsYWdzIFxcdTAwMjYgTElCSVBXX0NIX1BBU1NJVkVfT05MWSkge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTU3OTktXFx0XFx0XFx0SVBXX1dBUk5JTkcoXFxcIk92ZXJyaWRpbmcgaW52YWxpZCBjaGFubmVsXFxcXG5cXFwiKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jPTYwMjE9c3RhdGljIHZvaWQgaXB3X3NldF9maXhlZF9yYXRlKHN0cnVjdCBpcHdfcHJpdiAqcHJpdiwgaW50IG1vZGUpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MDMyLVxcdHN3aXRjaCAocHJpdi1cXHUwMDNlaWVlZS1cXHUwMDNlZnJlcV9iYW5kKSB7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NjAzMzpcXHRjYXNlIExJQklQV181MkdIWl9CQU5EOlxcdC8qIEEgb25seSAqL1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTYwMzQtXFx0XFx0LyogSUVFRV9BICovXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NjAzNTpcXHRcXHRpZiAocHJpdi1cXHUwMDNlcmF0ZXNfbWFzayBcXHUwMDI2IH5MSUJJUFdfT0ZETV9SQVRFU19NQVNLKSB7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNjAzNi1cXHRcXHRcXHQvKiBJbnZhbGlkIGZpeGVkIHJhdGUgbWFzayAqL1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNjA0Mi1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo2MDQzOlxcdFxcdG5ld190eF9yYXRlcyBcXHUwMDNlXFx1MDAzZT0gTElCSVBXX09GRE1fU0hJRlRfTUFTS19BO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTYwNDQtXFx0XFx0YnJlYWs7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MDQ4LVxcdFxcdGlmIChtb2RlID09IElFRUVfQikge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjYwNDk6XFx0XFx0XFx0aWYgKG5ld190eF9yYXRlcyBcXHUwMDI2IH5MSUJJUFdfQ0NLX1JBVEVTX01BU0spIHtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MDUwLVxcdFxcdFxcdFxcdC8qIEludmFsaWQgZml4ZWQgcmF0ZSBtYXNrICovXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MDU4LVxcdFxcdC8qIElFRUVfRyAqL1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjYwNTk6XFx0XFx0aWYgKG5ld190eF9yYXRlcyBcXHUwMDI2IH4oTElCSVBXX0NDS19SQVRFU19NQVNLIHxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo2MDYwOlxcdFxcdFxcdFxcdCAgICBMSUJJUFdfT0ZETV9SQVRFU19NQVNLKSkge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTYwNjEtXFx0XFx0XFx0LyogSW52YWxpZCBmaXhlZCByYXRlIG1hc2sgKi9cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTYwNjctXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NjA2ODpcXHRcXHRpZiAoTElCSVBXX09GRE1fUkFURV82TUJfTUFTSyBcXHUwMDI2IG5ld190eF9yYXRlcykge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjYwNjk6XFx0XFx0XFx0bWFzayB8PSAoTElCSVBXX09GRE1fUkFURV82TUJfTUFTSyBcXHUwMDNlXFx1MDAzZSAxKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo2MDcwOlxcdFxcdFxcdG5ld190eF9yYXRlcyBcXHUwMDI2PSB+TElCSVBXX09GRE1fUkFURV82TUJfTUFTSztcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MDcxLVxcdFxcdH1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MDcyLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjYwNzM6XFx0XFx0aWYgKExJQklQV19PRkRNX1JBVEVfOU1CX01BU0sgXFx1MDAyNiBuZXdfdHhfcmF0ZXMpIHtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo2MDc0OlxcdFxcdFxcdG1hc2sgfD0gKExJQklQV19PRkRNX1JBVEVfOU1CX01BU0sgXFx1MDAzZVxcdTAwM2UgMSk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NjA3NTpcXHRcXHRcXHRuZXdfdHhfcmF0ZXMgXFx1MDAyNj0gfkxJQklQV19PRkRNX1JBVEVfOU1CX01BU0s7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNjA3Ni1cXHRcXHR9XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNjA3Ny1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo2MDc4OlxcdFxcdGlmIChMSUJJUFdfT0ZETV9SQVRFXzEyTUJfTUFTSyBcXHUwMDI2IG5ld190eF9yYXRlcykge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjYwNzk6XFx0XFx0XFx0bWFzayB8PSAoTElCSVBXX09GRE1fUkFURV8xMk1CX01BU0sgXFx1MDAzZVxcdTAwM2UgMSk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NjA4MDpcXHRcXHRcXHRuZXdfdHhfcmF0ZXMgXFx1MDAyNj0gfkxJQklQV19PRkRNX1JBVEVfMTJNQl9NQVNLO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTYwODEtXFx0XFx0fVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9NjEwOD1zdGF0aWMgdm9pZCBpcHdfYWRkX3NjYW5fY2hhbm5lbHMoc3RydWN0IGlwd19wcml2ICpwcml2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNjExNy1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo2MTE4OlxcdGlmIChwcml2LVxcdTAwM2VpZWVlLVxcdTAwM2VmcmVxX2JhbmQgXFx1MDAyNiBMSUJJUFdfNTJHSFpfQkFORCkge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTYxMTktXFx0XFx0aW50IHN0YXJ0ID0gY2hhbm5lbF9pbmRleDtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTYxMjctXFx0XFx0XFx0XFx0XFx0ICBnZW8tXFx1MDAzZWFbaV0uXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NjEyODpcXHRcXHRcXHRcXHRcXHQgIGZsYWdzIFxcdTAwMjYgTElCSVBXX0NIX1BBU1NJVkVfT05MWSA/XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNjEyOS1cXHRcXHRcXHRcXHRcXHQgIElQV19TQ0FOX1BBU1NJVkVfRlVMTF9EV0VMTF9TQ0FOIDpcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTYxMzktXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NjE0MDpcXHRpZiAocHJpdi1cXHUwMDNlaWVlZS1cXHUwMDNlZnJlcV9iYW5kIFxcdTAwMjYgTElCSVBXXzI0R0haX0JBTkQpIHtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MTQxLVxcdFxcdGludCBzdGFydCA9IGNoYW5uZWxfaW5kZXg7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MTQzLVxcdFxcdFxcdGludCBpbmRleDtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo2MTQ0OlxcdFxcdFxcdHU4IGNoYW5uZWxzW0xJQklQV18yNEdIWl9DSEFOTkVMU10gPSB7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNjE0NS1cXHRcXHRcXHRcXHQvKiBub3Agb3V0IHRoZSBsaXN0ICovXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MTc5LVxcdFxcdFxcdFxcdFxcdFxcdCAgZmxhZ3MgXFx1MDAyNlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjYxODA6XFx0XFx0XFx0XFx0XFx0XFx0ICBMSUJJUFdfQ0hfUEFTU0lWRV9PTkxZID9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MTgxLVxcdFxcdFxcdFxcdFxcdFxcdCAgSVBXX1NDQU5fUEFTU0lWRV9GVUxMX0RXRUxMX1NDQU5cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTYxOTQtXFx0XFx0XFx0XFx0XFx0XFx0ICBmbGFncyBcXHUwMDI2XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NjE5NTpcXHRcXHRcXHRcXHRcXHRcXHQgIExJQklQV19DSF9QQVNTSVZFX09OTFkgP1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTYxOTYtXFx0XFx0XFx0XFx0XFx0XFx0ICBJUFdfU0NBTl9QQVNTSVZFX0ZVTExfRFdFTExfU0NBTlxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9NjIyMj1zdGF0aWMgaW50IGlwd19yZXF1ZXN0X3NjYW5faGVscGVyKHN0cnVjdCBpcHdfcHJpdiAqcHJpdiwgaW50IHR5cGUsIGludCBkaXJlY3QpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MjkzLVxcdFxcdHN3aXRjaCAobGliaXB3X2lzX3ZhbGlkX2NoYW5uZWwocHJpdi1cXHUwMDNlaWVlZSwgcHJpdi1cXHUwMDNlY2hhbm5lbCkpIHtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo2Mjk0OlxcdFxcdGNhc2UgTElCSVBXXzUyR0haX0JBTkQ6XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNjI5NS1cXHRcXHRcXHRiYW5kID0gKHU4KSAoSVBXX0FfTU9ERSBcXHUwMDNjXFx1MDAzYyA2KSB8IDE7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02Mjk4LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjYyOTk6XFx0XFx0Y2FzZSBMSUJJUFdfMjRHSFpfQkFORDpcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MzAwLVxcdFxcdFxcdGJhbmQgPSAodTgpIChJUFdfQl9NT0RFIFxcdTAwM2NcXHUwMDNjIDYpIHwgMTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jPTcwNTQ9c3RhdGljIHUzMiBpcHdfcW9zX2dldF9idXJzdF9kdXJhdGlvbihzdHJ1Y3QgaXB3X3ByaXYgKnByaXYpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03MDYwLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjcwNjE6XFx0aWYgKCEocHJpdi1cXHUwMDNlaWVlZS1cXHUwMDNlbW9kdWxhdGlvbiBcXHUwMDI2IExJQklQV19PRkRNX01PRFVMQVRJT04pKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTcwNjItXFx0XFx0cmV0ID0gcHJpdi1cXHUwMDNlcW9zX2RhdGEuYnVyc3RfZHVyYXRpb25fQ0NLO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9NzU5Mz1zdGF0aWMgdm9pZCBpcHdfcmVidWlsZF9kZWNyeXB0ZWRfc2tiKHN0cnVjdCBpcHdfcHJpdiAqcHJpdixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTc2MDgtXFx0XFx0LyogUmVtb3ZlIENDTVAgSERSICovXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NzYwOTpcXHRcXHRtZW1tb3ZlKHNrYi1cXHUwMDNlZGF0YSArIExJQklQV18zQUREUl9MRU4sXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NzYxMDpcXHRcXHRcXHRza2ItXFx1MDAzZWRhdGEgKyBMSUJJUFdfM0FERFJfTEVOICsgOCxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo3NjExOlxcdFxcdFxcdHNrYi1cXHUwMDNlbGVuIC0gTElCSVBXXzNBRERSX0xFTiAtIDgpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTc2MTItXFx0XFx0c2tiX3RyaW0oc2tiLCBza2ItXFx1MDAzZWxlbiAtIDE2KTtcXHQvKiBDQ01QX0hEUl9MRU4gKyBDQ01QX01JQ19MRU4gKi9cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTc2MTctXFx0XFx0LyogUmVtb3ZlIElWICovXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NzYxODpcXHRcXHRtZW1tb3ZlKHNrYi1cXHUwMDNlZGF0YSArIExJQklQV18zQUREUl9MRU4sXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NzYxOTpcXHRcXHRcXHRza2ItXFx1MDAzZWRhdGEgKyBMSUJJUFdfM0FERFJfTEVOICsgNCxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo3NjIwOlxcdFxcdFxcdHNrYi1cXHUwMDNlbGVuIC0gTElCSVBXXzNBRERSX0xFTiAtIDQpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTc2MjEtXFx0XFx0c2tiX3RyaW0oc2tiLCBza2ItXFx1MDAzZWxlbiAtIDgpO1xcdC8qIElWICsgSUNWICovXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYz04MjA2PXN0YXRpYyB2b2lkIGlwd19yeChzdHJ1Y3QgaXB3X3ByaXYgKnByaXYpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04MjU0LVxcdFxcdFxcdFxcdFxcdCAgICAgY29udHJvbCBcXHUwMDI2ICgxIFxcdTAwM2NcXHUwMDNjIDApKSA/XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6ODI1NTpcXHRcXHRcXHRcXHRcXHQgICAgTElCSVBXXzI0R0haX0JBTkQgOlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjgyNTY6XFx0XFx0XFx0XFx0XFx0ICAgIExJQklQV181MkdIWl9CQU5ELFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTgyNTctXFx0XFx0XFx0XFx0XFx0LmxlbiA9IGxlMTZfdG9fY3B1KHBrdC1cXHUwMDNldS5mcmFtZS5sZW5ndGgpLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODI2MC1cXHRcXHRcXHRcXHRpZiAoc3RhdHMucnNzaSAhPSAwKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjgyNjE6XFx0XFx0XFx0XFx0XFx0c3RhdHMubWFzayB8PSBMSUJJUFdfU1RBVE1BU0tfUlNTSTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04MjYyLVxcdFxcdFxcdFxcdGlmIChzdGF0cy5zaWduYWwgIT0gMClcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo4MjYzOlxcdFxcdFxcdFxcdFxcdHN0YXRzLm1hc2sgfD0gTElCSVBXX1NUQVRNQVNLX1NJR05BTDtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04MjY0LVxcdFxcdFxcdFxcdGlmIChzdGF0cy5ub2lzZSAhPSAwKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjgyNjU6XFx0XFx0XFx0XFx0XFx0c3RhdHMubWFzayB8PSBMSUJJUFdfU1RBVE1BU0tfTk9JU0U7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODI2Ni1cXHRcXHRcXHRcXHRpZiAoc3RhdHMucmF0ZSAhPSAwKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjgyNjc6XFx0XFx0XFx0XFx0XFx0c3RhdHMubWFzayB8PSBMSUJJUFdfU1RBVE1BU0tfUkFURTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04MjY4LVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9ODQxNj1zdGF0aWMgaW50IGlwd19zd19yZXNldChzdHJ1Y3QgaXB3X3ByaXYgKnByaXYsIGludCBvcHRpb24pXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04NDk5LVxcdFxcdHByaXYtXFx1MDAzZWllZWUtXFx1MDAzZWFiZ190cnVlID0gMTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo4NTAwOlxcdFxcdGJhbmQgPSBMSUJJUFdfNTJHSFpfQkFORCB8IExJQklQV18yNEdIWl9CQU5EO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjg1MDE6XFx0XFx0bW9kdWxhdGlvbiA9IExJQklQV19PRkRNX01PRFVMQVRJT04gfFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjg1MDI6XFx0XFx0ICAgIExJQklQV19DQ0tfTU9EVUxBVElPTjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04NTAzLVxcdFxcdHByaXYtXFx1MDAzZWFkYXB0ZXIgPSBJUFdfMjkxNUFCRztcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTg1MTEtXFx0XFx0cHJpdi1cXHUwMDNlaWVlZS1cXHUwMDNlYWJnX3RydWUgPSAwO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjg1MTI6XFx0XFx0YmFuZCA9IExJQklQV18yNEdIWl9CQU5EO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjg1MTM6XFx0XFx0bW9kdWxhdGlvbiA9IExJQklQV19PRkRNX01PRFVMQVRJT04gfFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjg1MTQ6XFx0XFx0ICAgIExJQklQV19DQ0tfTU9EVUxBVElPTjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04NTE1LVxcdFxcdHByaXYtXFx1MDAzZWFkYXB0ZXIgPSBJUFdfMjIwMEJHO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODUyMS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo4NTIyOlxcdHByaXYtXFx1MDAzZXJhdGVzX21hc2sgPSBMSUJJUFdfREVGQVVMVF9SQVRFU19NQVNLO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTg1MjMtXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYz04NjAwPXN0YXRpYyBpbnQgaXB3X3d4X3NldF9mcmVxKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04NjMzLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjg2MzQ6XFx0XFx0ZmxhZ3MgPSAoYmFuZCA9PSBMSUJJUFdfMjRHSFpfQkFORCkgP1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTg2MzUtXFx0XFx0ICAgIGdlby1cXHUwMDNlYmdbaV0uZmxhZ3MgOiBnZW8tXFx1MDAzZWFbaV0uZmxhZ3M7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6ODYzNjpcXHRcXHRpZiAoZmxhZ3MgXFx1MDAyNiBMSUJJUFdfQ0hfUEFTU0lWRV9PTkxZKSB7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODYzNy1cXHRcXHRcXHRJUFdfREVCVUdfV1goXFxcIkludmFsaWQgQWQtSG9jIGNoYW5uZWwgZm9yIDgwMi4xMWFcXFxcblxcXCIpO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9ODY0OT1zdGF0aWMgaW50IGlwd193eF9nZXRfZnJlcShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODY2OC1cXHRcXHRzd2l0Y2ggKGxpYmlwd19pc192YWxpZF9jaGFubmVsKHByaXYtXFx1MDAzZWllZWUsIHByaXYtXFx1MDAzZWNoYW5uZWwpKSB7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6ODY2OTpcXHRcXHRjYXNlIExJQklQV181MkdIWl9CQU5EOlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTg2NzAtXFx0XFx0XFx0d3JxdS1cXHUwMDNlZnJlcS5tID0gcHJpdi1cXHUwMDNlaWVlZS1cXHUwMDNlZ2VvLmFbaV0uZnJlcSAqIDEwMDAwMDtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTg2NzItXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6ODY3MzpcXHRcXHRjYXNlIExJQklQV18yNEdIWl9CQU5EOlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTg2NzQtXFx0XFx0XFx0d3JxdS1cXHUwMDNlZnJlcS5tID0gcHJpdi1cXHUwMDNlaWVlZS1cXHUwMDNlZ2VvLmJnW2ldLmZyZXEgKiAxMDAwMDA7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYz04NzY5PXN0YXRpYyBpbnQgaXB3X3d4X2dldF9yYW5nZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODgxOC1cXHRcXHRcXHRpZiAoKHByaXYtXFx1MDAzZWllZWUtXFx1MDAzZWl3X21vZGUgPT0gSVdfTU9ERV9BREhPQykgXFx1MDAyNlxcdTAwMjZcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo4ODE5OlxcdFxcdFxcdCAgICAoZ2VvLVxcdTAwM2ViZ1tqXS5mbGFncyBcXHUwMDI2IExJQklQV19DSF9QQVNTSVZFX09OTFkpKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTg4MjAtXFx0XFx0XFx0XFx0Y29udGludWU7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04ODMxLVxcdFxcdFxcdGlmICgocHJpdi1cXHUwMDNlaWVlZS1cXHUwMDNlaXdfbW9kZSA9PSBJV19NT0RFX0FESE9DKSBcXHUwMDI2XFx1MDAyNlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjg4MzI6XFx0XFx0XFx0ICAgIChnZW8tXFx1MDAzZWFbal0uZmxhZ3MgXFx1MDAyNiBMSUJJUFdfQ0hfUEFTU0lWRV9PTkxZKSlcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04ODMzLVxcdFxcdFxcdFxcdGNvbnRpbnVlO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9OTA3NT1zdGF0aWMgaW50IGlwd193eF9zZXRfcmF0ZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtOTA4OS1cXHRcXHRmaXhlZCA9IDA7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6OTA5MDpcXHRcXHRtYXNrID0gTElCSVBXX0RFRkFVTFRfUkFURVNfTUFTSztcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy05MDkxLVxcdFxcdC8qIE5vdyB3ZSBzaG91bGQgcmVhc3NvY2lhdGUgKi9cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTkwOTgtXFx0aWYgKHRhcmdldF9yYXRlID09IDEwMDAwMDAgfHwgIWZpeGVkKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjkwOTk6XFx0XFx0bWFzayB8PSBMSUJJUFdfQ0NLX1JBVEVfMU1CX01BU0s7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtOTEwMC1cXHRpZiAodGFyZ2V0X3JhdGUgPT0gMTAwMDAwMClcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTkxMDMtXFx0aWYgKHRhcmdldF9yYXRlID09IDIwMDAwMDAgfHwgIWZpeGVkKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjkxMDQ6XFx0XFx0bWFzayB8PSBMSUJJUFdfQ0NLX1JBVEVfMk1CX01BU0s7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtOTEwNS1cXHRpZiAodGFyZ2V0X3JhdGUgPT0gMjAwMDAwMClcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTkxMDgtXFx0aWYgKHRhcmdldF9yYXRlID09IDU1MDAwMDAgfHwgIWZpeGVkKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjkxMDk6XFx0XFx0bWFzayB8PSBMSUJJUFdfQ0NLX1JBVEVfNU1CX01BU0s7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtOTExMC1cXHRpZiAodGFyZ2V0X3JhdGUgPT0gNTUwMDAwMClcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTkxMTMtXFx0aWYgKHRhcmdldF9yYXRlID09IDYwMDAwMDAgfHwgIWZpeGVkKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjkxMTQ6XFx0XFx0bWFzayB8PSBMSUJJUFdfT0ZETV9SQVRFXzZNQl9NQVNLO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTkxMTUtXFx0aWYgKHRhcmdldF9yYXRlID09IDYwMDAwMDApXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy05MTE4LVxcdGlmICh0YXJnZXRfcmF0ZSA9PSA5MDAwMDAwIHx8ICFmaXhlZClcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo5MTE5OlxcdFxcdG1hc2sgfD0gTElCSVBXX09GRE1fUkFURV85TUJfTUFTSztcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy05MTIwLVxcdGlmICh0YXJnZXRfcmF0ZSA9PSA5MDAwMDAwKVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtOTEyMy1cXHRpZiAodGFyZ2V0X3JhdGUgPT0gMTEwMDAwMDAgfHwgIWZpeGVkKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjkxMjQ6XFx0XFx0bWFzayB8PSBMSUJJUFdfQ0NLX1JBVEVfMTFNQl9NQVNLO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTkxMjUtXFx0aWYgKHRhcmdldF9yYXRlID09IDExMDAwMDAwKVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtOTEyOC1cXHRpZiAodGFyZ2V0X3JhdGUgPT0gMTIwMDAwMDAgfHwgIWZpeGVkKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjkxMjk6XFx0XFx0bWFzayB8PSBMSUJJUFdfT0ZETV9SQVRFXzEyTUJfTUFTSztcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy05MTMwLVxcdGlmICh0YXJnZXRfcmF0ZSA9PSAxMjAwMDAwMClcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTkxMzMtXFx0aWYgKHRhcmdldF9yYXRlID09IDE4MDAwMDAwIHx8ICFmaXhlZClcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo5MTM0OlxcdFxcdG1hc2sgfD0gTElCSVBXX09GRE1fUkFURV8xOE1CX01BU0s7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtOTEzNS1cXHRpZiAodGFyZ2V0X3JhdGUgPT0gMTgwMDAwMDApXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy05MTM4LVxcdGlmICh0YXJnZXRfcmF0ZSA9PSAyNDAwMDAwMCB8fCAhZml4ZWQpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6OTEzOTpcXHRcXHRtYXNrIHw9IExJQklQV19PRkRNX1JBVEVfMjRNQl9NQVNLO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTkxNDAtXFx0aWYgKHRhcmdldF9yYXRlID09IDI0MDAwMDAwKVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtOTE0My1cXHRpZiAodGFyZ2V0X3JhdGUgPT0gMzYwMDAwMDAgfHwgIWZpeGVkKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjkxNDQ6XFx0XFx0bWFzayB8PSBMSUJJUFdfT0ZETV9SQVRFXzM2TUJfTUFTSztcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy05MTQ1LVxcdGlmICh0YXJnZXRfcmF0ZSA9PSAzNjAwMDAwMClcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTkxNDgtXFx0aWYgKHRhcmdldF9yYXRlID09IDQ4MDAwMDAwIHx8ICFmaXhlZClcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo5MTQ5OlxcdFxcdG1hc2sgfD0gTElCSVBXX09GRE1fUkFURV80OE1CX01BU0s7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtOTE1MC1cXHRpZiAodGFyZ2V0X3JhdGUgPT0gNDgwMDAwMDApXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy05MTUzLVxcdGlmICh0YXJnZXRfcmF0ZSA9PSA1NDAwMDAwMCB8fCAhZml4ZWQpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6OTE1NDpcXHRcXHRtYXNrIHw9IExJQklQV19PRkRNX1JBVEVfNTRNQl9NQVNLO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTkxNTUtXFx0aWYgKHRhcmdldF9yYXRlID09IDU0MDAwMDAwKVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtOTE2NC1cXHRtdXRleF9sb2NrKFxcdTAwMjZwcml2LVxcdTAwM2VtdXRleCk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6OTE2NTpcXHRpZiAobWFzayA9PSBMSUJJUFdfREVGQVVMVF9SQVRFU19NQVNLKSB7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtOTE2Ni1cXHRcXHRwcml2LVxcdTAwM2Vjb25maWcgXFx1MDAyNj0gfkNGR19GSVhFRF9SQVRFO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9OTU5Mz1zdGF0aWMgaW50IGlwd193eF9zZXRfd2lyZWxlc3NfbW9kZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbi0tXFxuXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTMxVDIwOjE4OjQ2LjkyMjE3MzAyOFoiLCJTZXEiOjgsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy43LWZsYXNoIiwiRHVyYXRpb24iOjEyNTAwMzQ0MTExLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkludmVzdGlnYXRpbmcgTElCSVBXIFVzYWdlKipcblxuT2theSwgbGV0J3MgZGl2ZSBpbi4gTXkgaW1tZWRpYXRlIHF1ZXN0aW9uIGlzLCB3aG8ncyBzdGlsbCByZWx5aW5nIG9uIGBMSUJJUFdgPyBJdCdzIGJlZW4gYXJvdW5kIGZvciBhIHdoaWxlLCBhbmQgbXkgZXhwZXJpZW5jZSB0ZWxscyBtZSBpdCdzIGxpa2VseSBhIGxlZ2FjeSBjb21wb25lbnQuIEkgbmVlZCB0byBmaWd1cmUgb3V0IHdoYXQgZHJpdmVycywgaWYgYW55LCBhcmUgc3RpbGwgYWN0aXZlbHkgdXNpbmcgaXQuIEkgc3VzcGVjdCB0aGVyZSBtYXkgYmUgdmVyeSBmZXcsIGFuZCBJIHNob3VsZCBiZSB3YXJ5IG9mIGFueSBwcm9qZWN0cyBzdGlsbCB1c2luZyB0aGlzIGdpdmVuIGl0cyBhZ2UuXG5cblRoZSBiZXN0IHdheSB0byBkbyB0aGlzIGlzIGEgcXVpY2sgYGdpdCBncmVwYCB0byBzY2FuIHRoZSBjb2RlYmFzZS4gU3BlY2lmaWNhbGx5LCBJ4oCZbGwgc2VhcmNoIGZvciBpbnN0YW5jZXMgb2YgXCJDT05GSUdfTElCSVBXXCIgYW5kIFwic2VsZWN0IExJQklQV1wiLiBUaGF0IHNob3VsZCBnaXZlIG1lIGEgc29saWQgb3ZlcnZpZXcgb2YgYW55IGJ1aWxkIGNvbmZpZ3VyYXRpb25zIG9yIG1vZHVsZSBzZWxlY3Rpb25zIHRoYXQgc3RpbGwgaGF2ZSBhIGRlcGVuZGVuY3kgb24gaXQuIFRoaXMgaXMgYSBzdHJhaWdodGZvcndhcmQgc3RhcnRpbmcgcG9pbnQuIExldCdzIHNlZSB3aGF0IHR1cm5zIHVwIVxuXG5cbiIsIklucHV0VG9rZW5zIjozMDA5MiwiT3V0cHV0VG9rZW5zIjoxOCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjQ4LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTMxVDIwOjE4OjU5LjQyMjUxOTQ4OVoiLCJTZXEiOjksIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxNTcyNzIzNDY1LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInNlbGVjdCBMSUJJUFdcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnPTY9Y29uZmlnIElQVzIxMDBcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvS2NvbmZpZy0xMS1cXHRzZWxlY3QgRldfTE9BREVSXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnOjEyOlxcdHNlbGVjdCBMSUJJUFdcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWctMTMtXFx0aGVscFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnPTY1PWNvbmZpZyBJUFcyMjAwXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWctNzAtXFx0c2VsZWN0IEZXX0xPQURFUlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvS2NvbmZpZzo3MTpcXHRzZWxlY3QgTElCSVBXXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnLTcyLVxcdGhlbHBcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMzFUMjA6MTk6MDAuOTk1MjUwMzA0WiIsIlNlcSI6MTAsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy43LWZsYXNoIiwiRHVyYXRpb24iOjEzNDUzNDE5NDQ2LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkludmVzdGlnYXRpbmcgdGhlIEludGVsIENlbnRyaW5vIFdpcmVsZXNzIExhbmRzY2FwZSBpbiBRRU1VKipcblxuT2theSwgc28gSSdtIHRoaW5raW5nIGFib3V0IHRoZXNlIG9sZCBJbnRlbCBQUk8vV2lyZWxlc3MgZHJpdmVycywgYGlwdzIxMDBgIGFuZCBgaXB3MjIwMGAuIFRoZXNlIGFyZSByZWxpY3MgZnJvbSB0aGUgQ2VudHJpbm8gZXJhLCBzcGVjaWZpY2FsbHkgdGhlIGAyMTAwYCBhbmQgdGhlIGAyMjAwQkcgLyAyOTE1QUJHYCBjYXJkcy4gVGhleSByZWx5IG9uIGBQQ0lgIGFuZCBgQ0ZHODAyMTFgLCB3aGljaCBtYWtlcyBzZW5zZSBmb3IgdGhlIHRpbWUuIEJ1dCB0aGUgYnVybmluZyBxdWVzdGlvbiBpcywgY2FuIEkgZXZlbiAqdGVzdCogdGhlc2UgaW4gYSBzdGFuZGFyZCBRRU1VIHNldHVwLCBvciBhbnkgdmlydHVhbGl6YXRpb24gZW52aXJvbm1lbnQgZm9yIHRoYXQgbWF0dGVyPyBJIG5lZWQgdG8ga25vdyBpZiBRRU1VIGJvdGhlcnMgdG8gZW11bGF0ZSB0aGVzZSBzcGVjaWZpYyBkZXZpY2VzLlxuXG5BIHF1aWNrIGNoZWNrIGNvbmZpcm1zIG15IHN1c3BpY2lvbjogTm8uIFFFTVUgZG9lc24ndCBvZmZlciBuYXRpdmUgZW11bGF0aW9uIGZvciB0aGVzZSBwYXJ0aWN1bGFyIEludGVsIFBSTy9XaXJlbGVzcyBQQ0kgZGV2aWNlcy4gSXQgc2VlbXMgdGhleSdyZSB0b28gbmljaGUsIG9yIHBlcmhhcHMgdG9vIGVhcmx5LlxuXG5BbHJpZ2h0LCBzbyBpZiBub3QgZGlyZWN0IGhhcmR3YXJlIGVtdWxhdGlvbiwgd2hhdCBhYm91dCBzb2Z0d2FyZS1iYXNlZCBzb2x1dGlvbnM/IElzIHRoZXJlIGFueSBleGlzdGluZyBzb2Z0d2FyZSBlbXVsYXRpb24gdXNpbmcgc29tZXRoaW5nIGxpa2UgYG1hYzgwMjExX2h3c2ltYCwgYSBVU0IgZ2FkZ2V0IHNldHVwLCBvciBldmVuIHNvbWV0aGluZyB2aXJ0aW8tYmFzZWQgdGhhdCAqbWlnaHQqIGxldmVyYWdlIHRoZSBgbGliaXB3YCBkcml2ZXI/XG5cbkhvbGQgb24uLi4gYG1hYzgwMjExX2h3c2ltYCBpc24ndCBnb2luZyB0byBoZWxwIGhlcmUuIEl0IHJlbGllcyBvbiB0aGUgc3RhbmRhcmQgYG1hYzgwMjExYCBmcmFtZXdvcmssIGFuZCBmcm9tIHdoYXQgSSByZWNhbGwsIGBsaWJpcHdgIHdhcyBJbnRlbCdzICpjdXN0b20qIDgwMi4xMSBzdGFjayB1c2VkIGV4Y2x1c2l2ZWx5IGJ5IGBpcHcyMTAwYCBhbmQgYGlwdzIyMDBgIGJlZm9yZSB0aGUgc3dpdGNoIHRvIHRoZSBgbWFjODAyMTFgIC8gYGNmZzgwMjExYCBzdGFuZGFyZCBzdGFjay4gU28sIGBtYWM4MDIxMV9od3NpbWAgaXMgb3V0LlxuXG5MZXQncyBkbyBhIHdpZGVyIHNlYXJjaC4gSSBuZWVkIHRvIG1ha2Ugc3VyZSBJJ20gbm90IG1pc3NpbmcgYW55dGhpbmcuIEknbGwgbmVlZCB0byBzZWUgaWYgYW55dGhpbmcgZWxzZSBhdCBhbGwgaW4gdGhlIGtlcm5lbCwgdXNlcyBgbGliaXB3YCBvciBgbGliaXB3X3J4YC5cblxuXG4iLCJJbnB1dFRva2VucyI6MzA1NjcsIk91dHB1dFRva2VucyI6MTksIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyNjcsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDgtMzFUMjA6MTk6MTQuNDQ4NjcyNTZaIiwiU2VxIjoxMSwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE0MzQ4MzcyMTcsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwibGliaXB3X3J4XCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvTWFrZWZpbGU9MTA9bGliaXB3LW9ianMgOj0gXFxcXFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9NYWtlZmlsZS0xMi1cXHRsaWJpcHdfdHgubyBcXFxcXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9NYWtlZmlsZToxMzpcXHRsaWJpcHdfcngubyBcXFxcXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9NYWtlZmlsZS0xNC1cXHRsaWJpcHdfd3gubyBcXFxcXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz0yNDMzPXN0YXRpYyB2b2lkIGlzcl9yeChzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2LCBpbnQgaSxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyNDM0OlxcdFxcdFxcdCAgc3RydWN0IGxpYmlwd19yeF9zdGF0cyAqc3RhdHMpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjQzNS17XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNDcxLVxcdC8qIE1ha2UgYSBjb3B5IG9mIHRoZSBmcmFtZSBzbyB3ZSBjYW4gZHVtcCBpdCB0byB0aGUgbG9ncyBpZlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjI0NzI6XFx0ICogbGliaXB3X3J4IGZhaWxzICovXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjQ3My1cXHRza2JfY29weV9mcm9tX2xpbmVhcl9kYXRhKHBhY2tldC1cXHUwMDNlc2tiLCBwYWNrZXRfZGF0YSxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI0NzctXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MjQ3ODpcXHRpZiAoIWxpYmlwd19yeChwcml2LVxcdTAwM2VpZWVlLCBwYWNrZXQtXFx1MDAzZXNrYiwgc3RhdHMpKSB7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjQ3OS0jaWZkZWYgSVBXMjEwMF9SWF9ERUJVR1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjQ4NS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyNDg2OlxcdFxcdC8qIGxpYmlwd19yeCBmYWlsZWQsIHNvIGl0IGRpZG4ndCBmcmVlIHRoZSBTS0IgKi9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNDg3LVxcdFxcdGRldl9rZnJlZV9za2JfYW55KHBhY2tldC1cXHUwMDNlc2tiKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTI1MDY9c3RhdGljIHZvaWQgaXNyX3J4X21vbml0b3Ioc3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiwgaW50IGksXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MjUwNzpcXHRcXHQgICBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICpzdGF0cylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNTA4LXtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI1NjQtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MjU2NTpcXHRpZiAoIWxpYmlwd19yeChwcml2LVxcdTAwM2VpZWVlLCBwYWNrZXQtXFx1MDAzZXNrYiwgc3RhdHMpKSB7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjU2Ni1cXHRcXHRkZXYtXFx1MDAzZXN0YXRzLnJ4X2Vycm9ycysrO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI1NjctXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MjU2ODpcXHRcXHQvKiBsaWJpcHdfcnggZmFpbGVkLCBzbyBpdCBkaWRuJ3QgZnJlZSB0aGUgU0tCICovXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjU2OS1cXHRcXHRkZXZfa2ZyZWVfc2tiX2FueShwYWNrZXQtXFx1MDAzZXNrYik7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz0yNjQ0PXN0YXRpYyB2b2lkIF9faXB3MjEwMF9yeF9wcm9jZXNzKHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNjUxLVxcdHN0cnVjdCBpcHcyMTAwX3J4ICp1O1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjI2NTI6XFx0c3RydWN0IGxpYmlwd19yeF9zdGF0cyBzdGF0cyA9IHtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNjUzLVxcdFxcdC5tYWNfdGltZSA9IGppZmZpZXMsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNzE4LVxcdFxcdFxcdGNhc2UgSUVFRTgwMjExX0ZUWVBFX01HTVQ6XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MjcxOTpcXHRcXHRcXHRcXHRsaWJpcHdfcnhfbWd0KHByaXYtXFx1MDAzZWllZWUsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjcyMC1cXHRcXHRcXHRcXHRcXHRcXHQgXFx1MDAyNnUtXFx1MDAzZXJ4X2RhdGEuaGVhZGVyLCBcXHUwMDI2c3RhdHMpO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9NDQyNT1zdGF0aWMgdm9pZCBpcHdfcnhfbm90aWZpY2F0aW9uKHN0cnVjdCBpcHdfcHJpdiAqcHJpdixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTQ0ODItXFx0XFx0XFx0XFx0XFx0XFx0XFx0c3RydWN0XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NDQ4MzpcXHRcXHRcXHRcXHRcXHRcXHRcXHRsaWJpcHdfcnhfc3RhdHNcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy00NDg0LVxcdFxcdFxcdFxcdFxcdFxcdFxcdCAgICBzdGF0cyA9IHtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTQ0OTAtXFx0XFx0XFx0XFx0XFx0XFx0XFx0ICAgICBcXFwic2l6ZSAlZFxcXFxuXFxcIiwgc2l6ZSk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NDQ5MTpcXHRcXHRcXHRcXHRcXHRcXHRcXHRsaWJpcHdfcnhfbWd0KHByaXYtXFx1MDAzZVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTQ0OTItXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0IGllZWUsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYz03NjMyPXN0YXRpYyB2b2lkIGlwd19oYW5kbGVfZGF0YV9wYWNrZXQoc3RydWN0IGlwd19wcml2ICpwcml2LFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTc2MzMtXFx0XFx0XFx0XFx0ICAgc3RydWN0IGlwd19yeF9tZW1fYnVmZmVyICpyeGIsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NzYzNDpcXHRcXHRcXHRcXHQgICBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICpzdGF0cylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03NjM1LXtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTc2NzItXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NzY3MzpcXHRpZiAoIWxpYmlwd19yeChwcml2LVxcdTAwM2VpZWVlLCByeGItXFx1MDAzZXNrYiwgc3RhdHMpKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTc2NzQtXFx0XFx0ZGV2LVxcdTAwM2VzdGF0cy5yeF9lcnJvcnMrKztcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo3Njc1OlxcdGVsc2Uge1xcdFxcdFxcdC8qIGxpYmlwd19yeCBzdWNjZWVkZWQsIHNvIGl0IG5vdyBvd25zIHRoZSBTS0IgKi9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03Njc2LVxcdFxcdHJ4Yi1cXHUwMDNlc2tiID0gTlVMTDtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jPTc2ODI9c3RhdGljIHZvaWQgaXB3X2hhbmRsZV9kYXRhX3BhY2tldF9tb25pdG9yKHN0cnVjdCBpcHdfcHJpdiAqcHJpdixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03NjgzLVxcdFxcdFxcdFxcdFxcdCAgIHN0cnVjdCBpcHdfcnhfbWVtX2J1ZmZlciAqcnhiLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjc2ODQ6XFx0XFx0XFx0XFx0XFx0ICAgc3RydWN0IGxpYmlwd19yeF9zdGF0cyAqc3RhdHMpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNzY4NS17XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03ODI5LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjc4MzA6XFx0aWYgKCFsaWJpcHdfcngocHJpdi1cXHUwMDNlaWVlZSwgcnhiLVxcdTAwM2Vza2IsIHN0YXRzKSlcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03ODMxLVxcdFxcdGRldi1cXHUwMDNlc3RhdHMucnhfZXJyb3JzKys7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NzgzMjpcXHRlbHNlIHtcXHRcXHRcXHQvKiBsaWJpcHdfcnggc3VjY2VlZGVkLCBzbyBpdCBub3cgb3ducyB0aGUgU0tCICovXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNzgzMy1cXHRcXHRyeGItXFx1MDAzZXNrYiA9IE5VTEw7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYz03ODU5PXN0YXRpYyB2b2lkIGlwd19oYW5kbGVfcHJvbWlzY3VvdXNfcngoc3RydWN0IGlwd19wcml2ICpwcml2LFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTc4NjAtXFx0XFx0XFx0XFx0ICAgICAgc3RydWN0IGlwd19yeF9tZW1fYnVmZmVyICpyeGIsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6Nzg2MTpcXHRcXHRcXHRcXHQgICAgICBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICpzdGF0cylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03ODYyLXtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTgwMzUtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6ODAzNjpcXHRpZiAoIWxpYmlwd19yeChwcml2LVxcdTAwM2Vwcm9tX3ByaXYtXFx1MDAzZWllZWUsIHNrYiwgc3RhdHMpKSB7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODAzNy1cXHRcXHRkZXYtXFx1MDAzZXN0YXRzLnJ4X2Vycm9ycysrO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9ODE1ND1zdGF0aWMgdm9pZCBpcHdfaGFuZGxlX21nbXRfcGFja2V0KHN0cnVjdCBpcHdfcHJpdiAqcHJpdixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04MTU1LVxcdFxcdFxcdFxcdCAgIHN0cnVjdCBpcHdfcnhfbWVtX2J1ZmZlciAqcnhiLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjgxNTY6XFx0XFx0XFx0XFx0ICAgc3RydWN0IGxpYmlwd19yeF9zdGF0cyAqc3RhdHMpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODE1Ny17XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04MTYyLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjgxNjM6XFx0bGliaXB3X3J4X21ndChwcml2LVxcdTAwM2VpZWVlLCBoZWFkZXIsIHN0YXRzKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04MTY0LVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODE4NC1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo4MTg1OlxcdFxcdC8qIFB1c2ggdGhlIGxpYmlwd19yeF9zdGF0cyBiZWZvcmUgdGhlIDgwMi4xMSBmcmFtZSAqL1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTgxODYtXFx0XFx0bWVtY3B5KHNrYl9wdXNoKHNrYiwgc2l6ZW9mKCpzdGF0cykpLCBzdGF0cywgc2l6ZW9mKCpzdGF0cykpO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9ODIwNj1zdGF0aWMgdm9pZCBpcHdfcngoc3RydWN0IGlwd19wcml2ICpwcml2KVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODIzOS1cXHRcXHRjYXNlIFJYX0ZSQU1FX1RZUEU6XFx0LyogODAyLjExIGZyYW1lICovICB7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6ODI0MDpcXHRcXHRcXHRcXHRzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzIHN0YXRzID0ge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTgyNDEtXFx0XFx0XFx0XFx0XFx0LnJzc2kgPSBwa3QtXFx1MDAzZXUuZnJhbWUucnNzaV9kYm0gLVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9MTAyNTY9c3RhdGljIHZvaWQgaXB3X2hhbmRsZV9wcm9taXNjdW91c190eChzdHJ1Y3QgaXB3X3ByaXYgKnByaXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy0xMDI1OC17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6MTAyNTk6XFx0c3RydWN0IGxpYmlwd19yeF9zdGF0cyBkdW1teXN0YXRzO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTEwMjYwLVxcdHN0cnVjdCBpZWVlODAyMTFfaGRyICpoZHI7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy0xMDMzMC1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzoxMDMzMTpcXHRcXHRpZiAoIWxpYmlwd19yeChwcml2LVxcdTAwM2Vwcm9tX3ByaXYtXFx1MDAzZWllZWUsIGRzdCwgXFx1MDAyNmR1bW15c3RhdHMpKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTEwMzMyLVxcdFxcdFxcdGRldl9rZnJlZV9za2JfYW55KGRzdCk7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oPTEzNT1zdHJ1Y3QgbGliaXB3X3NuYXBfaGRyIHtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3LmgtMjE3LSAqICAgICAgIGluZm9ybWF0aW9uIGZvciBmcmFtZXMgcmVjZWl2ZWQuXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaDoyMTg6ICogICAgICAgRm9yIGxpYmlwd19yeF9tZ3QsIHlvdSBuZWVkIHRvIHNldCBhdCBsZWFzdCB0aGUgJ2xlbicgcGFyYW1ldGVyLlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3LmgtMjE5LSAqL1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3Lmg6MjIwOnN0cnVjdCBsaWJpcHdfcnhfc3RhdHMge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3LmgtMjIxLVxcdHUzMiBtYWNfdGltZTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3Lmg9NTk5PXN0cnVjdCBsaWJpcHdfbmV0d29yayB7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oLTYwOS1cXHQvKiBUaGVzZSBhcmUgbmV0d29yayBzdGF0aXN0aWNzICovXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaDo2MTA6XFx0c3RydWN0IGxpYmlwd19yeF9zdGF0cyBzdGF0cztcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oLTYxMS1cXHR1MTYgY2FwYWJpbGl0eTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3Lmg9NzcwPXN0cnVjdCBsaWJpcHdfZGV2aWNlIHtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3LmgtODY2LVxcdFxcdFxcdCAgICAgIHN0cnVjdCBsaWJpcHdfYWN0aW9uICogYWN0aW9uLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3Lmg6ODY3OlxcdFxcdFxcdCAgICAgIHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgKiBzdGF0cyk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaC04NjgtXFx0aW50ICgqaGFuZGxlX2Rpc2Fzc29jKSAoc3RydWN0IG5ldF9kZXZpY2UgKiBkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oLTg3Ny1cXHRcXHRcXHRcXHQgICAgIHN0cnVjdCBsaWJpcHdfcHJvYmVfcmVxdWVzdCAqIHJlcSxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oOjg3ODpcXHRcXHRcXHRcXHQgICAgIHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgKiBzdGF0cyk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaC04NzktXFx0aW50ICgqaGFuZGxlX2Fzc29jX3Jlc3BvbnNlKSAoc3RydWN0IG5ldF9kZXZpY2UgKiBkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oPTEwMTE9dm9pZCBsaWJpcHdfdHhiX2ZyZWUoc3RydWN0IGxpYmlwd190eGIgKik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaC0xMDEyLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3Lmg6MTAxMzovKiBsaWJpcHdfcnguYyAqL1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3Lmg6MTAxNDppbnQgbGliaXB3X3J4KHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3Lmg6MTAxNTpcXHQgICAgICBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICpyeF9zdGF0cyk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaC0xMDE2LS8qIG1ha2Ugc3VyZSB0byBzZXQgc3RhdHMtXFx1MDAzZWxlbiAqL1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3Lmg6MTAxNzp2b2lkIGxpYmlwd19yeF9tZ3Qoc3RydWN0IGxpYmlwd19kZXZpY2UgKmllZWUsIHN0cnVjdCBsaWJpcHdfaGRyXzRhZGRyICpoZWFkZXIsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaDoxMDE4OlxcdFxcdCAgIHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgKnN0YXRzKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oLTEwMTktXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jPTMyPXN0YXRpYyB2b2lkIGxpYmlwd19tb25pdG9yX3J4KHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMzMtXFx0XFx0XFx0XFx0XFx0c3RydWN0IHNrX2J1ZmYgKnNrYixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjM0OlxcdFxcdFxcdFxcdFxcdHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgKnJ4X3N0YXRzKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMzUte1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYz0xMzM9c3RhdGljIGludCBsaWJpcHdfZnJhZ19jYWNoZV9pbnZhbGlkYXRlKHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0xNTYtI2lmZGVmIE5PVF9ZRVRcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjE1NzovKiBsaWJpcHdfcnhfZnJhbWVfbWd0bXRcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTE1OC0gKlxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0xNjAtICpcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjE2MTogKiBDYWxsZWQgYnkgbGliaXB3X3J4ICovXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0xNjItc3RhdGljIGludFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6MTYzOmxpYmlwd19yeF9mcmFtZV9tZ210KHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6MTY0OlxcdFxcdFxcdHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgKnJ4X3N0YXRzLCB1MTYgdHlwZSxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTE2NS1cXHRcXHRcXHR1MTYgc3R5cGUpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jPTIxOT1zdGF0aWMgdW5zaWduZWQgY2hhciBsaWJpcHdfYnJpZGdlX3R1bm5lbF9oZWFkZXJbXSA9XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTIyMi1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjIyMzovKiBDYWxsZWQgYnkgbGliaXB3X3J4X2ZyYW1lX2RlY3J5cHQgKi9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTIyNC1zdGF0aWMgaW50IGxpYmlwd19pc19lYXBvbF9mcmFtZShzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMjYyLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6MjYzOi8qIENhbGxlZCBvbmx5IGFzIGEgdGFza2xldCAoc29mdHdhcmUgSVJRKSwgYnkgbGliaXB3X3J4ICovXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0yNjQtc3RhdGljIGludFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6MjY1OmxpYmlwd19yeF9mcmFtZV9kZWNyeXB0KHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMjY2LVxcdFxcdFxcdCAgIHN0cnVjdCBsaWJpcHdfY3J5cHRfZGF0YSAqY3J5cHQpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTI5My1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjI5NDovKiBDYWxsZWQgb25seSBhcyBhIHRhc2tsZXQgKHNvZnR3YXJlIElSUSksIGJ5IGxpYmlwd19yeCAqL1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMjk1LXN0YXRpYyBpbnRcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjI5NjpsaWJpcHdfcnhfZnJhbWVfZGVjcnlwdF9tc2R1KHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMjk3LVxcdFxcdFxcdFxcdHN0cnVjdCBza19idWZmICpza2IsIGludCBrZXlpZHgsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTMyNC0gKiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBvbmx5IGFzIGEgdGFza2xldCAoc29mdHdhcmUgSVJRKS4gKi9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjMyNTppbnQgbGliaXB3X3J4KHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6MzI2OlxcdFxcdCBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICpyeF9zdGF0cylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTMyNy17XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTQ3MS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjQ3MjpcXHRcXHRpZiAobGliaXB3X3J4X2ZyYW1lX21nbXQoaWVlZSwgc2tiLCByeF9zdGF0cywgdHlwZSwgc3R5cGUpKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtNDczLVxcdFxcdFxcdGdvdG8gcnhfZHJvcHBlZDtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtNTY2LVxcdGlmICgoZmMgXFx1MDAyNiBJRUVFODAyMTFfRkNUTF9QUk9URUNURUQpIFxcdTAwMjZcXHUwMDI2IGNhbl9iZV9kZWNyeXB0ZWQgXFx1MDAyNlxcdTAwMjZcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjU2NzpcXHQgICAgKGtleWlkeCA9IGxpYmlwd19yeF9mcmFtZV9kZWNyeXB0KGllZWUsIHNrYiwgY3J5cHQpKSBcXHUwMDNjIDApXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy01NjgtXFx0XFx0Z290byByeF9kcm9wcGVkO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy02MzAtXFx0aWYgKChmYyBcXHUwMDI2IElFRUU4MDIxMV9GQ1RMX1BST1RFQ1RFRCkgXFx1MDAyNlxcdTAwMjYgY2FuX2JlX2RlY3J5cHRlZCBcXHUwMDI2XFx1MDAyNlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6NjMxOlxcdCAgICBsaWJpcHdfcnhfZnJhbWVfZGVjcnlwdF9tc2R1KGllZWUsIHNrYiwga2V5aWR4LCBjcnlwdCkpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy02MzItXFx0XFx0Z290byByeF9kcm9wcGVkO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYz0xMjA1PXN0YXRpYyBpbnQgbGliaXB3X2hhbmRsZV9hc3NvY19yZXNwKHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLCBzdHJ1Y3QgbGliaXB3X2Fzc29jX3Jlc3BvbnNlXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzoxMjA2OlxcdFxcdFxcdFxcdCAgICAgICAqZnJhbWUsIHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgKnN0YXRzKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTIwNy17XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jPTEyNjM9c3RhdGljIGludCBsaWJpcHdfbmV0d29ya19pbml0KHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLCBzdHJ1Y3QgbGliaXB3X3Byb2JlX3Jlc3BvbnNlXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTEyNjUtXFx0XFx0XFx0XFx0XFx0IHN0cnVjdCBsaWJpcHdfbmV0d29yayAqbmV0d29yayxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjEyNjY6XFx0XFx0XFx0XFx0XFx0IHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgKnN0YXRzKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTI2Ny17XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jPTEzMzc9c3RhdGljIHZvaWQgdXBkYXRlX25ldHdvcmsoc3RydWN0IGxpYmlwd19uZXR3b3JrICpkc3QsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTEzNDktXFx0XFx0bWVtY3B5KFxcdTAwMjZkc3QtXFx1MDAzZXN0YXRzLCBcXHUwMDI2c3JjLVxcdTAwM2VzdGF0cyxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjEzNTA6XFx0XFx0ICAgICAgIHNpemVvZihzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzKSk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0xMzUxLVxcdGVsc2VcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM9MTQwOT1zdGF0aWMgdm9pZCBsaWJpcHdfcHJvY2Vzc19wcm9iZV9yZXNwb25zZShzdHJ1Y3QgbGliaXB3X2RldmljZVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0xNDExLVxcdFxcdFxcdFxcdFxcdFxcdCAgICBsaWJpcHdfcHJvYmVfcmVzcG9uc2VcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjE0MTI6XFx0XFx0XFx0XFx0XFx0XFx0ICAgICpiZWFjb24sIHN0cnVjdCBsaWJpcHdfcnhfc3RhdHNcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTE0MTMtXFx0XFx0XFx0XFx0XFx0XFx0ICAgICpzdGF0cylcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTUxOS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjE1MjA6dm9pZCBsaWJpcHdfcnhfbWd0KHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTUyMS1cXHRcXHQgICAgICBzdHJ1Y3QgbGliaXB3X2hkcl80YWRkciAqaGVhZGVyLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6MTUyMjpcXHRcXHQgICAgICBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICpzdGF0cylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTE1MjMte1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0xNjQxLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6MTY0MjpFWFBPUlRfU1lNQk9MKGxpYmlwd19yeF9tZ3QpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6MTY0MzpFWFBPUlRfU1lNQk9MKGxpYmlwd19yeCk7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTMxVDIwOjE5OjE1Ljg4MzUxNjU4N1oiLCJTZXEiOjEyLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuNy1mbGFzaCIsIkR1cmF0aW9uIjo1NDEwNTExMDA0LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5c2lzIG9mIEZ1enppbmcgQXBwbGljYWJpbGl0eSoqXG5cbk9rYXksIGxldCdzIG1ha2Ugc3VyZSB3ZSd2ZSBnb3QgdGhpcyByaWdodC4gRmlyc3QsIGxldCdzIGNvbmZpcm0gdGhhdCBgbGliaXB3YCBpcyBvbmx5IHVzZWQgYnkgdGhlIGBpcHcyMTAwYCBhbmQgYGlwdzIyMDBgIGRyaXZlcnMuIFllcCwgdGhhdCdzIGNvcnJlY3QuIFRoZXNlIGFyZSBsZWdhY3kgZHJpdmVycyBmb3IgSW50ZWwgUFJPL1dpcmVsZXNzIDIxMDAgYW5kIDIyMDBCRy8yOTE1QUJHIGhhcmR3YXJlLCBzcGVjaWZpYyBQQ0kgZGV2aWNlcy4gVGhpcyBoYXJkd2FyZSBpcyAqZGVmaW5pdGVseSogb3V0IG9mIHJlYWNoIGluIG91ciBzdGFuZGFyZCBRRU1VIG9yIEdDRSBzZXR1cHMuIEZvcmdldCBhYm91dCB1c2luZyBgbWFjODAyMTFfaHdzaW1gLCBVU0IgZ2FkZ2V0LCBvciB2aXJ0aW87IG5vdGhpbmcncyBnb2luZyB0byBoaXQgdGhpcy5cblxuTm93LCBsZXQncyBkb3VibGUtY2hlY2sgdGhvc2UgZ3VpZGVsaW5lcyBhZ2Fpbi4gUmlnaHQsIGl0J3MgcHJldHR5IGNsZWFyOiBcIlJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnMgY29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLi4uXCIgYW5kIHRoYXQgc3BlY2lmaWNhbGx5IGNhbGxzIG91dCBoYXJkd2FyZSBsaWtlIHRoaXMgYXMgZXhhbXBsZXMuXG5cblNvLCBsZXQncyByZWNhcDogYGxpYmlwd2AgaXMgYSBoZWxwZXIgbGlicmFyeSBleGNsdXNpdmVseSBmb3IgdGhlIGBpcHcyMTAwYCBhbmQgYGlwdzIyMDBgIGRyaXZlcnMsIHdoaWNoIGFyZSBJbnRlbCBQUk8vV2lyZWxlc3MgMjEwMCBhbmQgMjIwMCBQQ0kgZHJpdmVycy4gQW5kIHRoZXNlIHJlcXVpcmUgKnBoeXNpY2FsKiBQQ0kgaGFyZHdhcmUsIHdoaWNoIFFFTVUgYW5kIEdDRSBqdXN0IGNhbid0IGVtdWxhdGUuIEl0J3MgYSBkZWFkIGVuZCBhcyBmYXIgYXMgZnV6emluZyBnb2VzLlxuXG5UaGVyZWZvcmUsIGBXb3J0aEZ1enppbmdgIGlzICpmYWxzZSouIFdlIGNhbid0IGdlbmVyYXRlIGFueSBtZWFuaW5nZnVsIGNvdmVyYWdlIGhlcmUuXG5cbkxldCdzIGdldCB0aGUgYHNldC1yZXN1bHRzYCBjYWxsIHByZXBhcmVkOlxuXG4qICAgYFdvcnRoRnV6emluZzogZmFsc2VgXG4qICAgYEVuYWJsZUNvbmZpZ3M6IFtdYCAobm8gc3BlY2lmaWMgY29uZmlndXJhdGlvbnMgbmVlZGVkKVxuKiAgIGBGb2N1c1N5bWJvbHM6IFtdYCAobm8gc3BlY2lmaWMgc3ltYm9scylcbiogICBgUmVhc29uaW5nOiBcIlRoZSBtb2RpZmllZCBjb2RlIGlzIHBhcnQgb2YgbGliaXB3LCBhIGhlbHBlciBsaWJyYXJ5IGV4Y2x1c2l2ZWx5IHVzZWQgYnkgdGhlIGxlZ2FjeSBJbnRlbCBQUk8vV2lyZWxlc3MgMjEwMCBhbmQgMjIwMCBQQ0kgZHJpdmVycyAoaXB3MjEwMCBhbmQgaXB3MjIwMCkuIFRoZXNlIHJlcXVpcmUgcGh5c2ljYWwgUENJIGhhcmR3YXJlIHRoYXQgaXMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIFFFTVUgb3IgR0NFLlwiYFxuXG5BbmQgbGV0J3MgZ28gYWhlYWQgYW5kIHN1Ym1pdCB0aGUgcmVzdWx0cy5cblxuXG4iLCJJbnB1dFRva2VucyI6Mzg1MTQsIk91dHB1dFRva2VucyI6MTAwLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NDg5LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTMxVDIwOjE5OjIxLjI5NDAzMTkxMVoiLCJTZXEiOjEzLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjIyNjAwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIG1vZGlmaWVkIGNvZGUgaXMgaW4gbGliaXB3LCBhIGhlbHBlciBsaWJyYXJ5IHVzZWQgZXhjbHVzaXZlbHkgYnkgdGhlIEludGVsIFBSTy9XaXJlbGVzcyAyMTAwIGFuZCAyMjAwIFBDSSBkcml2ZXJzIChpcHcyMTAwIGFuZCBpcHcyMjAwKS4gVGhlc2UgZHJpdmVycyByZXF1aXJlIHBoeXNpY2FsIFBDSSBoYXJkd2FyZSBub3QgZW11bGF0ZWQgaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgUUVNVSBvciBHQ0UuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBtb2RpZmllZCBjb2RlIGlzIGluIGxpYmlwdywgYSBoZWxwZXIgbGlicmFyeSB1c2VkIGV4Y2x1c2l2ZWx5IGJ5IHRoZSBJbnRlbCBQUk8vV2lyZWxlc3MgMjEwMCBhbmQgMjIwMCBQQ0kgZHJpdmVycyAoaXB3MjEwMCBhbmQgaXB3MjIwMCkuIFRoZXNlIGRyaXZlcnMgcmVxdWlyZSBwaHlzaWNhbCBQQ0kgaGFyZHdhcmUgbm90IGVtdWxhdGVkIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIFFFTVUgb3IgR0NFLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMzFUMjA6MTk6MjEuMjk0MDY2OTkxWiIsIlNlcSI6MTQsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoiSWYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjozOTIwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0udG9rZW5zIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnVG9vbER1ciA9IHN0YXRzLnRvb2wuY291bnQgPiAwID8gKHN0YXRzLnRvb2wuZHVyYXRpb24gLyBzdGF0cy50b29sLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCgkJCWNvbnN0IGxsbVN1bWFyeUNlbGxzID0gW3N0YXRzLmxsbS5jb3VudCwgc3RhdHMubGxtLnRva2VucywgYXZnTGxtVG9rZW4sIHN0YXRzLmxsbS5kdXJhdGlvbiwgYXZnTGxtRHVyXTsKCQkJY29uc3QgdG9vbFN1bW1hcnlDZWxscyA9IFtzdGF0cy50b29sLmNvdW50LCBzdGF0cy50b29sLmR1cmF0aW9uLCBhdmdUb29sRHVyXTsKCgkJCWNvbnN0IGxsbVN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xsbV9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJbGxtU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IGxsbVRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJbGxtU3VtYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCWxsbVRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCWxsbVN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKGxsbVRyKTsKCgkJCWNvbnN0IHRvb2xTdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b29sX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQl0b29sU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IHRvb2xUciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCXRvb2xTdW1tYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCXRvb2xUci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQl0b29sU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQodG9vbFRyKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgZmlsdGVyZWRTdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gWyJsbG0iLCAidG9vbCJdLmluY2x1ZGVzKGQuVHlwZSkpOwoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdEdXJhdGlvbicpOwoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOyAKCgkJCWZpbHRlcmVkU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCQoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7CgkJCQlsZXQgdG9vbHRpcCA9IHMuTmFtZTsKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iICYmIHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCQkJCWRhdGEuYWRkUm93KFtgJHtzLlNlcX1gLCBkdXIsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUaW1lIENvbnN1bXB0aW9uIG9mIExMTS9Ub29sIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0vVG9vbCBTdGVwcycsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdTZWNvbmRzJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdXJhdGlvbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgbGxtU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IGQuVHlwZSA9PT0gImxsbSIpOwoJCQlpZiAobGxtU3RlcHMubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdUb2tlbnMnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAnc3R5bGUnfSk7CQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOwkKCgkJCWNvbnN0IGFnZW50Q29sb3JzID0ge307CgkJCWNvbnN0IHBhbGV0dGUgPSBbJyM0Mjg1RjQnLCAnI0RCNDQzNycsICcjRjRCNDAwJywgJyMwRjlENTgnLCAnI0FCNDdCQycsICcjMDBBQ0MxJ107CgkJCWxldCBjb2xvcklkeCA9IDA7CgkJCWNvbnN0IGFnZW50TExNQ291bnRzID0ge307CgkJCWxsbVN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQlpZiAoIWFnZW50Q29sb3JzW3MuTmFtZV0pIHsKCQkJCQlhZ2VudENvbG9yc1tzLk5hbWVdID0gcGFsZXR0ZVtjb2xvcklkeCAlIHBhbGV0dGUubGVuZ3RoXTsKCQkJCQljb2xvcklkeCsrOwoJCQkJfQoKCQkJCWFnZW50TExNQ291bnRzW3MuTmFtZV0gPSAoYWdlbnRMTE1Db3VudHNbcy5OYW1lXSB8fCAwKSArIDE7CgkJCQljb25zdCBsYWJlbCA9IGAke3MuTmFtZX0tJHthZ2VudExMTUNvdW50c1tzLk5hbWVdfWA7CgkJCQljb25zdCB0b3RhbFRva2VucyA9IHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnM7CgkJCQljb25zdCBzdHlsZSA9IGBjb2xvcjogJHthZ2VudENvbG9yc1tzLk5hbWVdfWA7CgkJCQlsZXQgdG9vbHRpcCA9IGBUb3RhbCBUb2tlbnM6ICR7dG90YWxUb2tlbnN9XG4oSW46ICR7cy5JbnB1dFRva2Vuc30sIE91dDogJHtzLk91dHB1dFRva2Vuc30sIFRob3VnaHRzOiAke3MuT3V0cHV0VGhvdWdodHNUb2tlbnN9KWA7CgkJCQlpZiAocy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoKCQkJCWRhdGEuYWRkUm93KFtsYWJlbCwgdG90YWxUb2tlbnMsIHN0eWxlLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVG9rZW4gQ29uc3VtcHRpb24gYnkgTExNIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0gQ2FsbCBTZXF1ZW5jZScsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdDb25zdW1lZCBUb2tlbnMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rva2VuX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgkJbGV0IGFsbEV4cGFuZGVkID0gZmFsc2U7CgkJZnVuY3Rpb24gdG9nZ2xlQWxsRGV0YWlscygpIHsKCQkJYWxsRXhwYW5kZWQgPSAhYWxsRXhwYW5kZWQ7CgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RldGFpbHMnKS5mb3JFYWNoKGQgPT4gewoJCQkJaWYgKGFsbEV4cGFuZGVkKSBkLnNldEF0dHJpYnV0ZSgnb3BlbicsICcnKTsKCQkJCWVsc2UgZC5yZW1vdmVBdHRyaWJ1dGUoJ29wZW4nKTsKCQkJfSk7CgkJfQoJPC9zY3JpcHQ+CgoKPC9ib2R5Pgo8L2h0bWw+Cg==" },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-workflowfxh2h[0].run-triage(0) Phase: Succeeded StartedAt: 2026-08-31 19:29:45 +0000 UTC FinishedAt: 2026-08-31 20:19:22 +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+CgkJCTx0ZD4yMDI2LzA4LzMxIDIwOjE4PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MW08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7S01TQU5SZWFzb25pbmcmIzM0OzogJiMzNDsmIzM0OywKICAmIzM0O05lZWRzS01TQU4mIzM0OzogZmFsc2UsCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgbW9kaWZpZWQgY29kZSBpcyBpbiBsaWJpcHcsIGEgaGVscGVyIGxpYnJhcnkgdXNlZCBleGNsdXNpdmVseSBieSB0aGUgSW50ZWwgUFJPL1dpcmVsZXNzIDIxMDAgYW5kIDIyMDAgUENJIGRyaXZlcnMgKGlwdzIxMDAgYW5kIGlwdzIyMDApLiBUaGVzZSBkcml2ZXJzIHJlcXVpcmUgcGh5c2ljYWwgUENJIGhhcmR3YXJlIG5vdCBlbXVsYXRlZCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBRRU1VIG9yIEdDRS4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDgvMzEgMjA6MTg8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCA0ZWJjODIwNzM5MWY4ZjE3MjVjZjM4Njk0MmI2NDI2NTYyMWNlM2VmXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIE1vbiBBdWcgMzEgMjA6MTg6MDggMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmNcbmluZGV4IGI3YmM5NGY3YWJkOGEuLmM4ODQxZjliOWFkOTEgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jXG5AQCAtNDE0LDcgJiM0Mzs0MTQsNyBAQCBpbnQgbGliaXB3X3J4KHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLFxuIFx0ICAgIGllZWUtXHUwMDNlaG9zdF9tY19kZWNyeXB0IDogaWVlZS1cdTAwM2Vob3N0X2RlY3J5cHQ7XG4gXG4gXHRpZiAoY2FuX2JlX2RlY3J5cHRlZCkge1xuLVx0XHRpZiAoc2tiLVx1MDAzZWxlbiBcdTAwM2U9IGhkcmxlbiAmIzQzOyAzKSB7XG4mIzQzO1x0XHRpZiAoc2tiLVx1MDAzZWxlbiBcdTAwM2U9IGhkcmxlbiAmIzQzOyA0KSB7XG4gXHRcdFx0LyogVG9wIHR3by1iaXRzIG9mIGJ5dGUgMyBhcmUgdGhlIGtleSBpbmRleCAqL1xuIFx0XHRcdGtleWlkeCA9IHNrYi1cdTAwM2VkYXRhW2hkcmxlbiAmIzQzOyAzXSBcdTAwM2VcdTAwM2UgNjtcbiBcdFx0fVxuQEAgLTY2MCw3ICYjNDM7NjYwLDcgQEAgaW50IGxpYmlwd19yeChzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSwgc3RydWN0IHNrX2J1ZmYgKnNrYixcbiBcdFx0aW50IHRyaW1sZW4gPSAwO1xuIFxuIFx0XHQvKiBUb3AgdHdvLWJpdHMgb2YgYnl0ZSAzIGFyZSB0aGUga2V5IGluZGV4ICovXG4tXHRcdGlmIChza2ItXHUwMDNlbGVuIFx1MDAzZT0gaGRybGVuICYjNDM7IDMpXG4mIzQzO1x0XHRpZiAoc2tiLVx1MDAzZWxlbiBcdTAwM2U9IGhkcmxlbiAmIzQzOyA0KVxuIFx0XHRcdGtleWlkeCA9IHNrYi1cdTAwM2VkYXRhW2hkcmxlbiAmIzQzOyAzXSBcdTAwM2VcdTAwM2UgNjtcbiBcbiBcdFx0LyogVG8gc3RyaXAgb2ZmIGFueSBzZWN1cml0eSBkYXRhIHdoaWNoIGFwcGVhcnMgYmVmb3JlIHRoZVxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzMxIDIwOjE4PC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjFtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmNvcmU8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIG1vZGlmaWVkIGNvZGUgaXMgaW4gbGliaXB3LCBhIGhlbHBlciBsaWJyYXJ5IHVzZWQgZXhjbHVzaXZlbHkgYnkgdGhlIEludGVsIFBSTy9XaXJlbGVzcyAyMTAwIGFuZCAyMjAwIFBDSSBkcml2ZXJzIChpcHcyMTAwIGFuZCBpcHcyMjAwKS4gVGhlc2UgZHJpdmVycyByZXF1aXJlIHBoeXNpY2FsIFBDSSBoYXJkd2FyZSBub3QgZW11bGF0ZWQgaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgUUVNVSBvciBHQ0UuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCiAgZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgotIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLAogIGlvbmljLCBhbWRncHUpIHRoYXQgcmVxdWlyZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLgotIERyaXZlciAucmVtb3ZlLCAuc2h1dGRvd24sIG9yIHBjaV91bnJlZ2lzdGVyX2RyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKGUuZy4sIGlnYl9yZW1vdmUpCiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KICAgUHJlZmVyIG5vbi1zdGF0aWMsIG5vbi1pbmxpbmVkIEFQSSBlbnRyeXBvaW50IGZ1bmN0aW9ucyBvdmVyIGludGVybmFsIHN0YXRpYyBoZWxwZXIgZnVuY3Rpb25zCiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLgoyLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS4KICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgogICBBbHNvIGNoZWNrICYjMzQ7ZGVwZW5kcyBvbiYjMzQ7IGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlncwogICBuZWVkZWQgZm9yIEtidWlsZCB0byBjb21waWxlIHRoZSBjb2RlIHN0YXRpY2FsbHkgaW50byB2bWxpbnV4LiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3MKICAgb3V0cHV0IGFycmF5LCBhbmQgRE8gTk9UIGFkZCBhICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgNGViYzgyMDczOTFmOGYxNzI1Y2YzODY5NDJiNjQyNjU2MjFjZTNlZgpBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBNb24gQXVnIDMxIDIwOjE4OjA4IDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMKaW5kZXggYjdiYzk0ZjdhYmQ4YS4uYzg4NDFmOWI5YWQ5MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jCkBAIC00MTQsNyAmIzQzOzQxNCw3IEBAIGludCBsaWJpcHdfcngoc3RydWN0IGxpYmlwd19kZXZpY2UgKmllZWUsIHN0cnVjdCBza19idWZmICpza2IsCiAJICAgIGllZWUtJmd0O2hvc3RfbWNfZGVjcnlwdCA6IGllZWUtJmd0O2hvc3RfZGVjcnlwdDsKIAogCWlmIChjYW5fYmVfZGVjcnlwdGVkKSB7Ci0JCWlmIChza2ItJmd0O2xlbiAmZ3Q7PSBoZHJsZW4gJiM0MzsgMykgewomIzQzOwkJaWYgKHNrYi0mZ3Q7bGVuICZndDs9IGhkcmxlbiAmIzQzOyA0KSB7CiAJCQkvKiBUb3AgdHdvLWJpdHMgb2YgYnl0ZSAzIGFyZSB0aGUga2V5IGluZGV4ICovCiAJCQlrZXlpZHggPSBza2ItJmd0O2RhdGFbaGRybGVuICYjNDM7IDNdICZndDsmZ3Q7IDY7CiAJCX0KQEAgLTY2MCw3ICYjNDM7NjYwLDcgQEAgaW50IGxpYmlwd19yeChzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSwgc3RydWN0IHNrX2J1ZmYgKnNrYiwKIAkJaW50IHRyaW1sZW4gPSAwOwogCiAJCS8qIFRvcCB0d28tYml0cyBvZiBieXRlIDMgYXJlIHRoZSBrZXkgaW5kZXggKi8KLQkJaWYgKHNrYi0mZ3Q7bGVuICZndDs9IGhkcmxlbiAmIzQzOyAzKQomIzQzOwkJaWYgKHNrYi0mZ3Q7bGVuICZndDs9IGhkcmxlbiAmIzQzOyA0KQogCQkJa2V5aWR4ID0gc2tiLSZndDtkYXRhW2hkcmxlbiAmIzQzOyAzXSAmZ3Q7Jmd0OyA2OwogCiAJCS8qIFRvIHN0cmlwIG9mZiBhbnkgc2VjdXJpdHkgZGF0YSB3aGljaCBhcHBlYXJzIGJlZm9yZSB0aGUKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMzEgMjA6MTg8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjctZmxhc2g8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjI5NQoJCQkJCQkJb3V0cHV0OiA4MwoJCQkJCQkJdGhvdWdodHM6IDI1OQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgdGhlIFBhdGNoJiMzOTtzIFBvdGVudGlhbCBmb3IgRnV6emluZyoqCgpPa2F5LCB0aGUgcGF0Y2ggaXMgaW4gYGRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmNgLiBNeSBpbml0aWFsIHRob3VnaHQgaXMgdG8gZmlndXJlIG91dCB3aGF0IGBpcHcyeDAwYCBhbmQgYGxpYmlwd2AgYWN0dWFsbHkgKmFyZSouIENhbiB0aGlzIGNvZGUgYmUgZnV6emVkIGVmZmVjdGl2ZWx5PyBBcmUgdGhlcmUgYW55IHJvYWRibG9ja3MgdG8gcmVhY2hpbmcgaXQgd2l0aGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIFFFTVU/CgpCdXQsIGhvbGQgb24uIEkgbmVlZCB0byBiZSBtZXRob2RpY2FsLiBUaGUgaW5zdHJ1Y3Rpb25zIG1lbnRpb25lZCBzb21ldGhpbmcgYWJvdXQgcmV0dXJuaW5nIGBXb3J0aEZ1enppbmc9ZmFsc2VgIGluIGNlcnRhaW4gc2NlbmFyaW9zLiBSaWdodCwgbGV0IG1lIGNoZWNrIHRoYXQuIFNwZWNpZmljYWxseSwgaXQgaGlnaGxpZ2h0ZWQgc29tZSBzY2VuYXJpb3Mgd2hlcmUgdGhlIHBhdGNoIHdvdWxkIGJlIHVucmVhY2hhYmxlOiBjb2RlIHBhdGhzIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIChldmVuIHdpdGggc29mdHdhcmUgZW11bGF0aW9ucyBvZiBoYXJkd2FyZSksIG9yIGNvZGUgdGhhdCYjMzk7cyB0aWVkIHRvIHZlcnkgc3BlY2lmaWMgcGh5c2ljYWwgaGFyZHdhcmUgbGlrZSBQQ0llIHN3aXRjaGVzLCBTbWFydE5JQ3MsIG9yIEdQVSBkcml2ZXJzLiBJIGtub3cgdGhpcyBmcm9tIGV4cGVyaWVuY2UsIGl0IGlzIHZlcnkgaW1wb3J0YW50IHRvIGF2b2lkIHdhc3RpbmcgdGltZS4KClNvLCAqZG9lcyogYGxpYmlwd2AgZmFsbCBpbnRvIG9uZSBvZiB0aG9zZSBjYXRlZ29yaWVzPyBMZXQmIzM5O3MgdHJhY2UgaXQgdGhyb3VnaCB0aGUga2VybmVsLiBJJiMzOTtsbCBuZWVkIHRvIGNoZWNrIHdoYXQgc3BlY2lmaWNhbGx5IHVzZXMgYGxpYmlwd2AuIEkgc2hvdWxkIHN0YXJ0IGJ5IGxvb2tpbmcgYXQgdGhlIHJlbGV2YW50IGRpcmVjdG9yeSwgYGRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvYC4gRWl0aGVyIGBncmVwcGVyYCBvciBjaGVja2luZyB0aGUgS2NvbmZpZyBhbmQgb3RoZXIgZmlsZXMgd2l0aGluIHRoYXQgZGlyZWN0b3J5IHNob3VsZCBwcm92aWRlIHRoZSBuZWNlc3NhcnkgaW5mb3JtYXRpb24uIFRoaXMgd2lsbCBoZWxwIGRldGVybWluZSBpZiB0aGUgY29kZSBjYW4gYmUgcmVhY2hlZCB1bmRlciBRRU1VIG9yIG5vdC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8zMSAyMDoxODwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtsaWJpcHdfcngmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvTWFrZWZpbGU9MTA9bGliaXB3LW9ianMgOj0gXFxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL01ha2VmaWxlLTEyLVx0bGliaXB3X3R4Lm8gXFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvTWFrZWZpbGU6MTM6XHRsaWJpcHdfcngubyBcXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9NYWtlZmlsZS0xNC1cdGxpYmlwd193eC5vIFxcXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9MjQzMz1zdGF0aWMgdm9pZCBpc3Jfcngoc3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiwgaW50IGksXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyNDM0Olx0XHRcdCAgc3RydWN0IGxpYmlwd19yeF9zdGF0cyAqc3RhdHMpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNDM1LXtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNDcxLVx0LyogTWFrZSBhIGNvcHkgb2YgdGhlIGZyYW1lIHNvIHdlIGNhbiBkdW1wIGl0IHRvIHRoZSBsb2dzIGlmXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyNDcyOlx0ICogbGliaXB3X3J4IGZhaWxzICovXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNDczLVx0c2tiX2NvcHlfZnJvbV9saW5lYXJfZGF0YShwYWNrZXQtXHUwMDNlc2tiLCBwYWNrZXRfZGF0YSxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNDc3LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MjQ3ODpcdGlmICghbGliaXB3X3J4KHByaXYtXHUwMDNlaWVlZSwgcGFja2V0LVx1MDAzZXNrYiwgc3RhdHMpKSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNDc5LSNpZmRlZiBJUFcyMTAwX1JYX0RFQlVHXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjQ4NS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjI0ODY6XHRcdC8qIGxpYmlwd19yeCBmYWlsZWQsIHNvIGl0IGRpZG4mIzM5O3QgZnJlZSB0aGUgU0tCICovXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNDg3LVx0XHRkZXZfa2ZyZWVfc2tiX2FueShwYWNrZXQtXHUwMDNlc2tiKTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz0yNTA2PXN0YXRpYyB2b2lkIGlzcl9yeF9tb25pdG9yKHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYsIGludCBpLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MjUwNzpcdFx0ICAgc3RydWN0IGxpYmlwd19yeF9zdGF0cyAqc3RhdHMpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNTA4LXtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNTY0LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MjU2NTpcdGlmICghbGliaXB3X3J4KHByaXYtXHUwMDNlaWVlZSwgcGFja2V0LVx1MDAzZXNrYiwgc3RhdHMpKSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNTY2LVx0XHRkZXYtXHUwMDNlc3RhdHMucnhfZXJyb3JzJiM0MzsmIzQzOztcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI1NjctXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyNTY4Olx0XHQvKiBsaWJpcHdfcnggZmFpbGVkLCBzbyBpdCBkaWRuJiMzOTt0IGZyZWUgdGhlIFNLQiAqL1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjU2OS1cdFx0ZGV2X2tmcmVlX3NrYl9hbnkocGFja2V0LVx1MDAzZXNrYik7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9MjY0ND1zdGF0aWMgdm9pZCBfX2lwdzIxMDBfcnhfcHJvY2VzcyhzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2KVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI2NTEtXHRzdHJ1Y3QgaXB3MjEwMF9yeCAqdTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjI2NTI6XHRzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzIHN0YXRzID0ge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjY1My1cdFx0Lm1hY190aW1lID0gamlmZmllcyxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNzE4LVx0XHRcdGNhc2UgSUVFRTgwMjExX0ZUWVBFX01HTVQ6XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyNzE5Olx0XHRcdFx0bGliaXB3X3J4X21ndChwcml2LVx1MDAzZWllZWUsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNzIwLVx0XHRcdFx0XHRcdCBcdTAwMjZ1LVx1MDAzZXJ4X2RhdGEuaGVhZGVyLCBcdTAwMjZzdGF0cyk7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9NDQyNT1zdGF0aWMgdm9pZCBpcHdfcnhfbm90aWZpY2F0aW9uKHN0cnVjdCBpcHdfcHJpdiAqcHJpdixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy00NDgyLVx0XHRcdFx0XHRcdFx0c3RydWN0XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo0NDgzOlx0XHRcdFx0XHRcdFx0bGliaXB3X3J4X3N0YXRzXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy00NDg0LVx0XHRcdFx0XHRcdFx0ICAgIHN0YXRzID0ge1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTQ0OTAtXHRcdFx0XHRcdFx0XHQgICAgIFwmIzM0O3NpemUgJWRcXG5cJiMzNDssIHNpemUpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NDQ5MTpcdFx0XHRcdFx0XHRcdGxpYmlwd19yeF9tZ3QocHJpdi1cdTAwM2VcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTQ0OTItXHRcdFx0XHRcdFx0XHRcdFx0IGllZWUsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9NzYzMj1zdGF0aWMgdm9pZCBpcHdfaGFuZGxlX2RhdGFfcGFja2V0KHN0cnVjdCBpcHdfcHJpdiAqcHJpdixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTc2MzMtXHRcdFx0XHQgICBzdHJ1Y3QgaXB3X3J4X21lbV9idWZmZXIgKnJ4YixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjc2MzQ6XHRcdFx0XHQgICBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICpzdGF0cylcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTc2MzUte1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTc2NzItXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo3NjczOlx0aWYgKCFsaWJpcHdfcngocHJpdi1cdTAwM2VpZWVlLCByeGItXHUwMDNlc2tiLCBzdGF0cykpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03Njc0LVx0XHRkZXYtXHUwMDNlc3RhdHMucnhfZXJyb3JzJiM0MzsmIzQzOztcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjc2NzU6XHRlbHNlIHtcdFx0XHQvKiBsaWJpcHdfcnggc3VjY2VlZGVkLCBzbyBpdCBub3cgb3ducyB0aGUgU0tCICovXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03Njc2LVx0XHRyeGItXHUwMDNlc2tiID0gTlVMTDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYz03NjgyPXN0YXRpYyB2b2lkIGlwd19oYW5kbGVfZGF0YV9wYWNrZXRfbW9uaXRvcihzdHJ1Y3QgaXB3X3ByaXYgKnByaXYsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03NjgzLVx0XHRcdFx0XHQgICBzdHJ1Y3QgaXB3X3J4X21lbV9idWZmZXIgKnJ4YixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjc2ODQ6XHRcdFx0XHRcdCAgIHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgKnN0YXRzKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNzY4NS17XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNzgyOS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjc4MzA6XHRpZiAoIWxpYmlwd19yeChwcml2LVx1MDAzZWllZWUsIHJ4Yi1cdTAwM2Vza2IsIHN0YXRzKSlcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTc4MzEtXHRcdGRldi1cdTAwM2VzdGF0cy5yeF9lcnJvcnMmIzQzOyYjNDM7O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NzgzMjpcdGVsc2Uge1x0XHRcdC8qIGxpYmlwd19yeCBzdWNjZWVkZWQsIHNvIGl0IG5vdyBvd25zIHRoZSBTS0IgKi9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTc4MzMtXHRcdHJ4Yi1cdTAwM2Vza2IgPSBOVUxMO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jPTc4NTk9c3RhdGljIHZvaWQgaXB3X2hhbmRsZV9wcm9taXNjdW91c19yeChzdHJ1Y3QgaXB3X3ByaXYgKnByaXYsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03ODYwLVx0XHRcdFx0ICAgICAgc3RydWN0IGlwd19yeF9tZW1fYnVmZmVyICpyeGIsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo3ODYxOlx0XHRcdFx0ICAgICAgc3RydWN0IGxpYmlwd19yeF9zdGF0cyAqc3RhdHMpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03ODYyLXtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04MDM1LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6ODAzNjpcdGlmICghbGliaXB3X3J4KHByaXYtXHUwMDNlcHJvbV9wcml2LVx1MDAzZWllZWUsIHNrYiwgc3RhdHMpKSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04MDM3LVx0XHRkZXYtXHUwMDNlc3RhdHMucnhfZXJyb3JzJiM0MzsmIzQzOztcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYz04MTU0PXN0YXRpYyB2b2lkIGlwd19oYW5kbGVfbWdtdF9wYWNrZXQoc3RydWN0IGlwd19wcml2ICpwcml2LFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODE1NS1cdFx0XHRcdCAgIHN0cnVjdCBpcHdfcnhfbWVtX2J1ZmZlciAqcnhiLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6ODE1NjpcdFx0XHRcdCAgIHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgKnN0YXRzKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODE1Ny17XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODE2Mi1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjgxNjM6XHRsaWJpcHdfcnhfbWd0KHByaXYtXHUwMDNlaWVlZSwgaGVhZGVyLCBzdGF0cyk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04MTY0LVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTgxODQtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo4MTg1Olx0XHQvKiBQdXNoIHRoZSBsaWJpcHdfcnhfc3RhdHMgYmVmb3JlIHRoZSA4MDIuMTEgZnJhbWUgKi9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTgxODYtXHRcdG1lbWNweShza2JfcHVzaChza2IsIHNpemVvZigqc3RhdHMpKSwgc3RhdHMsIHNpemVvZigqc3RhdHMpKTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYz04MjA2PXN0YXRpYyB2b2lkIGlwd19yeChzdHJ1Y3QgaXB3X3ByaXYgKnByaXYpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODIzOS1cdFx0Y2FzZSBSWF9GUkFNRV9UWVBFOlx0LyogODAyLjExIGZyYW1lICovICB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo4MjQwOlx0XHRcdFx0c3RydWN0IGxpYmlwd19yeF9zdGF0cyBzdGF0cyA9IHtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTgyNDEtXHRcdFx0XHRcdC5yc3NpID0gcGt0LVx1MDAzZXUuZnJhbWUucnNzaV9kYm0gLVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jPTEwMjU2PXN0YXRpYyB2b2lkIGlwd19oYW5kbGVfcHJvbWlzY3VvdXNfdHgoc3RydWN0IGlwd19wcml2ICpwcml2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTEwMjU4LXtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjEwMjU5Olx0c3RydWN0IGxpYmlwd19yeF9zdGF0cyBkdW1teXN0YXRzO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtMTAyNjAtXHRzdHJ1Y3QgaWVlZTgwMjExX2hkciAqaGRyO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTEwMzMwLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6MTAzMzE6XHRcdGlmICghbGliaXB3X3J4KHByaXYtXHUwMDNlcHJvbV9wcml2LVx1MDAzZWllZWUsIGRzdCwgXHUwMDI2ZHVtbXlzdGF0cykpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy0xMDMzMi1cdFx0XHRkZXZfa2ZyZWVfc2tiX2FueShkc3QpO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3Lmg9MTM1PXN0cnVjdCBsaWJpcHdfc25hcF9oZHIge1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3LmgtMjE3LSAqICAgICAgIGluZm9ybWF0aW9uIGZvciBmcmFtZXMgcmVjZWl2ZWQuXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oOjIxODogKiAgICAgICBGb3IgbGliaXB3X3J4X21ndCwgeW91IG5lZWQgdG8gc2V0IGF0IGxlYXN0IHRoZSAmIzM5O2xlbiYjMzk7IHBhcmFtZXRlci5cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3LmgtMjE5LSAqL1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaDoyMjA6c3RydWN0IGxpYmlwd19yeF9zdGF0cyB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oLTIyMS1cdHUzMiBtYWNfdGltZTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oPTU5OT1zdHJ1Y3QgbGliaXB3X25ldHdvcmsge1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3LmgtNjA5LVx0LyogVGhlc2UgYXJlIG5ldHdvcmsgc3RhdGlzdGljcyAqL1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaDo2MTA6XHRzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzIHN0YXRzO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaC02MTEtXHR1MTYgY2FwYWJpbGl0eTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oPTc3MD1zdHJ1Y3QgbGliaXB3X2RldmljZSB7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaC04NjYtXHRcdFx0ICAgICAgc3RydWN0IGxpYmlwd19hY3Rpb24gKiBhY3Rpb24sXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oOjg2NzpcdFx0XHQgICAgICBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICogc3RhdHMpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaC04NjgtXHRpbnQgKCpoYW5kbGVfZGlzYXNzb2MpIChzdHJ1Y3QgbmV0X2RldmljZSAqIGRldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oLTg3Ny1cdFx0XHRcdCAgICAgc3RydWN0IGxpYmlwd19wcm9iZV9yZXF1ZXN0ICogcmVxLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaDo4Nzg6XHRcdFx0XHQgICAgIHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgKiBzdGF0cyk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oLTg3OS1cdGludCAoKmhhbmRsZV9hc3NvY19yZXNwb25zZSkgKHN0cnVjdCBuZXRfZGV2aWNlICogZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3Lmg9MTAxMT12b2lkIGxpYmlwd190eGJfZnJlZShzdHJ1Y3QgbGliaXB3X3R4YiAqKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3LmgtMTAxMi1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3Lmg6MTAxMzovKiBsaWJpcHdfcnguYyAqL1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaDoxMDE0OmludCBsaWJpcHdfcngoc3RydWN0IGxpYmlwd19kZXZpY2UgKmllZWUsIHN0cnVjdCBza19idWZmICpza2IsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oOjEwMTU6XHQgICAgICBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICpyeF9zdGF0cyk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oLTEwMTYtLyogbWFrZSBzdXJlIHRvIHNldCBzdGF0cy1cdTAwM2VsZW4gKi9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3Lmg6MTAxNzp2b2lkIGxpYmlwd19yeF9tZ3Qoc3RydWN0IGxpYmlwd19kZXZpY2UgKmllZWUsIHN0cnVjdCBsaWJpcHdfaGRyXzRhZGRyICpoZWFkZXIsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oOjEwMTg6XHRcdCAgIHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgKnN0YXRzKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3LmgtMTAxOS1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jPTMyPXN0YXRpYyB2b2lkIGxpYmlwd19tb25pdG9yX3J4KHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0zMy1cdFx0XHRcdFx0c3RydWN0IHNrX2J1ZmYgKnNrYixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6MzQ6XHRcdFx0XHRcdHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgKnJ4X3N0YXRzKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0zNS17XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYz0xMzM9c3RhdGljIGludCBsaWJpcHdfZnJhZ19jYWNoZV9pbnZhbGlkYXRlKHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTU2LSNpZmRlZiBOT1RfWUVUXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjE1NzovKiBsaWJpcHdfcnhfZnJhbWVfbWd0bXRcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTU4LSAqXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0xNjAtICpcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6MTYxOiAqIENhbGxlZCBieSBsaWJpcHdfcnggKi9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTYyLXN0YXRpYyBpbnRcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6MTYzOmxpYmlwd19yeF9mcmFtZV9tZ210KHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzoxNjQ6XHRcdFx0c3RydWN0IGxpYmlwd19yeF9zdGF0cyAqcnhfc3RhdHMsIHUxNiB0eXBlLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0xNjUtXHRcdFx0dTE2IHN0eXBlKVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM9MjE5PXN0YXRpYyB1bnNpZ25lZCBjaGFyIGxpYmlwd19icmlkZ2VfdHVubmVsX2hlYWRlcltdID1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTIyMi1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6MjIzOi8qIENhbGxlZCBieSBsaWJpcHdfcnhfZnJhbWVfZGVjcnlwdCAqL1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0yMjQtc3RhdGljIGludCBsaWJpcHdfaXNfZWFwb2xfZnJhbWUoc3RydWN0IGxpYmlwd19kZXZpY2UgKmllZWUsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0yNjItXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjI2MzovKiBDYWxsZWQgb25seSBhcyBhIHRhc2tsZXQgKHNvZnR3YXJlIElSUSksIGJ5IGxpYmlwd19yeCAqL1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0yNjQtc3RhdGljIGludFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzoyNjU6bGliaXB3X3J4X2ZyYW1lX2RlY3J5cHQoc3RydWN0IGxpYmlwd19kZXZpY2UgKmllZWUsIHN0cnVjdCBza19idWZmICpza2IsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTI2Ni1cdFx0XHQgICBzdHJ1Y3QgbGliaXB3X2NyeXB0X2RhdGEgKmNyeXB0KVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMjkzLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzoyOTQ6LyogQ2FsbGVkIG9ubHkgYXMgYSB0YXNrbGV0IChzb2Z0d2FyZSBJUlEpLCBieSBsaWJpcHdfcnggKi9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMjk1LXN0YXRpYyBpbnRcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6Mjk2OmxpYmlwd19yeF9mcmFtZV9kZWNyeXB0X21zZHUoc3RydWN0IGxpYmlwd19kZXZpY2UgKmllZWUsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTI5Ny1cdFx0XHRcdHN0cnVjdCBza19idWZmICpza2IsIGludCBrZXlpZHgsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0zMjQtICogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgb25seSBhcyBhIHRhc2tsZXQgKHNvZnR3YXJlIElSUSkuICovXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjMyNTppbnQgbGliaXB3X3J4KHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzozMjY6XHRcdCBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICpyeF9zdGF0cylcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMzI3LXtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTQ3MS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6NDcyOlx0XHRpZiAobGliaXB3X3J4X2ZyYW1lX21nbXQoaWVlZSwgc2tiLCByeF9zdGF0cywgdHlwZSwgc3R5cGUpKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy00NzMtXHRcdFx0Z290byByeF9kcm9wcGVkO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtNTY2LVx0aWYgKChmYyBcdTAwMjYgSUVFRTgwMjExX0ZDVExfUFJPVEVDVEVEKSBcdTAwMjZcdTAwMjYgY2FuX2JlX2RlY3J5cHRlZCBcdTAwMjZcdTAwMjZcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6NTY3Olx0ICAgIChrZXlpZHggPSBsaWJpcHdfcnhfZnJhbWVfZGVjcnlwdChpZWVlLCBza2IsIGNyeXB0KSkgXHUwMDNjIDApXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTU2OC1cdFx0Z290byByeF9kcm9wcGVkO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtNjMwLVx0aWYgKChmYyBcdTAwMjYgSUVFRTgwMjExX0ZDVExfUFJPVEVDVEVEKSBcdTAwMjZcdTAwMjYgY2FuX2JlX2RlY3J5cHRlZCBcdTAwMjZcdTAwMjZcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6NjMxOlx0ICAgIGxpYmlwd19yeF9mcmFtZV9kZWNyeXB0X21zZHUoaWVlZSwgc2tiLCBrZXlpZHgsIGNyeXB0KSlcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtNjMyLVx0XHRnb3RvIHJ4X2Ryb3BwZWQ7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYz0xMjA1PXN0YXRpYyBpbnQgbGliaXB3X2hhbmRsZV9hc3NvY19yZXNwKHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLCBzdHJ1Y3QgbGliaXB3X2Fzc29jX3Jlc3BvbnNlXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjEyMDY6XHRcdFx0XHQgICAgICAgKmZyYW1lLCBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICpzdGF0cylcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTIwNy17XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYz0xMjYzPXN0YXRpYyBpbnQgbGliaXB3X25ldHdvcmtfaW5pdChzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSwgc3RydWN0IGxpYmlwd19wcm9iZV9yZXNwb25zZVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTI2NS1cdFx0XHRcdFx0IHN0cnVjdCBsaWJpcHdfbmV0d29yayAqbmV0d29yayxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6MTI2NjpcdFx0XHRcdFx0IHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgKnN0YXRzKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0xMjY3LXtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jPTEzMzc9c3RhdGljIHZvaWQgdXBkYXRlX25ldHdvcmsoc3RydWN0IGxpYmlwd19uZXR3b3JrICpkc3QsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0xMzQ5LVx0XHRtZW1jcHkoXHUwMDI2ZHN0LVx1MDAzZXN0YXRzLCBcdTAwMjZzcmMtXHUwMDNlc3RhdHMsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjEzNTA6XHRcdCAgICAgICBzaXplb2Yoc3RydWN0IGxpYmlwd19yeF9zdGF0cykpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0xMzUxLVx0ZWxzZVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM9MTQwOT1zdGF0aWMgdm9pZCBsaWJpcHdfcHJvY2Vzc19wcm9iZV9yZXNwb25zZShzdHJ1Y3QgbGliaXB3X2RldmljZVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTQxMS1cdFx0XHRcdFx0XHQgICAgbGliaXB3X3Byb2JlX3Jlc3BvbnNlXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjE0MTI6XHRcdFx0XHRcdFx0ICAgICpiZWFjb24sIHN0cnVjdCBsaWJpcHdfcnhfc3RhdHNcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTQxMy1cdFx0XHRcdFx0XHQgICAgKnN0YXRzKVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTUxOS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6MTUyMDp2b2lkIGxpYmlwd19yeF9tZ3Qoc3RydWN0IGxpYmlwd19kZXZpY2UgKmllZWUsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTE1MjEtXHRcdCAgICAgIHN0cnVjdCBsaWJpcHdfaGRyXzRhZGRyICpoZWFkZXIsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjE1MjI6XHRcdCAgICAgIHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgKnN0YXRzKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0xNTIzLXtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTE2NDEtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjE2NDI6RVhQT1JUX1NZTUJPTChsaWJpcHdfcnhfbWd0KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6MTY0MzpFWFBPUlRfU1lNQk9MKGxpYmlwd19yeCk7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NS8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMzEgMjA6MTg8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5yZWFkLWZpbGU8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0ZpbGUmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWcmIzM0OywKICAmIzM0O0ZpcnN0TGluZSYjMzQ7OiAxLAogICYjMzQ7TGluZUNvdW50JiMzNDs6IDEwMAp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7Q29udGVudHMmIzM0OzogJiMzNDsgICAxOlx0IyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5XG4gICAyOlx0I1xuICAgMzpcdCMgSW50ZWwgQ2VudHJpbm8gd2lyZWxlc3MgZHJpdmVyc1xuICAgNDpcdCNcbiAgIDU6XHRcbiAgIDY6XHRjb25maWcgSVBXMjEwMFxuICAgNzpcdFx0dHJpc3RhdGUgXCYjMzQ7SW50ZWwgUFJPL1dpcmVsZXNzIDIxMDAgTmV0d29yayBDb25uZWN0aW9uXCYjMzQ7XG4gICA4Olx0XHRkZXBlbmRzIG9uIFBDSSBcdTAwMjZcdTAwMjYgQ0ZHODAyMTFcbiAgIDk6XHRcdHNlbGVjdCBXSVJFTEVTU19FWFRcbiAgMTA6XHRcdHNlbGVjdCBXRVhUX1BSSVZcbiAgMTE6XHRcdHNlbGVjdCBGV19MT0FERVJcbiAgMTI6XHRcdHNlbGVjdCBMSUJJUFdcbiAgMTM6XHRcdGhlbHBcbiAgMTQ6XHRcdCAgQSBkcml2ZXIgZm9yIHRoZSBJbnRlbCBQUk8vV2lyZWxlc3MgMjEwMCBOZXR3b3JrXG4gIDE1Olx0XHQgIENvbm5lY3Rpb24gODAyLjExYiB3aXJlbGVzcyBuZXR3b3JrIGFkYXB0ZXIuXG4gIDE2Olx0XG4gIDE3Olx0XHQgIFNlZSBcdTAwM2NmaWxlOkRvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZXZpY2VfZHJpdmVycy93aWZpL2ludGVsL2lwdzIxMDAucnN0XHUwMDNlXG4gIDE4Olx0XHQgIGZvciBpbmZvcm1hdGlvbiBvbiB0aGUgY2FwYWJpbGl0aWVzIGN1cnJlbnRseSBlbmFibGVkIGluIHRoaXMgZHJpdmVyXG4gIDE5Olx0XHQgIGFuZCBmb3IgdGlwcyBmb3IgZGVidWdnaW5nIGlzc3VlcyBhbmQgcHJvYmxlbXMuXG4gIDIwOlx0XG4gIDIxOlx0XHQgIEluIG9yZGVyIHRvIHVzZSB0aGlzIGRyaXZlciwgeW91IHdpbGwgbmVlZCBhIGZpcm13YXJlIGltYWdlIGZvciBpdC5cbiAgMjI6XHRcdCAgWW91IGNhbiBvYnRhaW4gdGhlIGZpcm13YXJlIGZyb21cbiAgMjM6XHRcdCAgXHUwMDNjaHR0cDovL2lwdzIxMDAuc2YubmV0L1x1MDAzZS4gIE9uY2UgeW91IGhhdmUgdGhlIGZpcm13YXJlIGltYWdlLCB5b3VcbiAgMjQ6XHRcdCAgd2lsbCBuZWVkIHRvIHBsYWNlIGl0IGluIC9saWIvZmlybXdhcmUuXG4gIDI1Olx0XG4gIDI2Olx0XHQgIFlvdSB3aWxsIGFsc28gdmVyeSBsaWtlbHkgbmVlZCB0aGUgV2lyZWxlc3MgVG9vbHMgaW4gb3JkZXIgdG9cbiAgMjc6XHRcdCAgY29uZmlndXJlIHlvdXIgY2FyZDpcbiAgMjg6XHRcbiAgMjk6XHRcdCAgXHUwMDNjaHR0cHM6Ly93d3cuaHBsLmhwLmNvbS9wZXJzb25hbC9KZWFuX1RvdXJyaWxoZXMvTGludXgvVG9vbHMuaHRtbFx1MDAzZS5cbiAgMzA6XHRcbiAgMzE6XHRcdCAgSXQgaXMgcmVjb21tZW5kZWQgdGhhdCB5b3UgY29tcGlsZSB0aGlzIGRyaXZlciBhcyBhIG1vZHVsZSAoTSlcbiAgMzI6XHRcdCAgcmF0aGVyIHRoYW4gYnVpbHQtaW4gKFkpLiBUaGlzIGRyaXZlciByZXF1aXJlcyBmaXJtd2FyZSBhdCBkZXZpY2VcbiAgMzM6XHRcdCAgaW5pdGlhbGl6YXRpb24gdGltZSwgYW5kIHdoZW4gYnVpbHQtaW4gdGhpcyB0eXBpY2FsbHkgaGFwcGVuc1xuICAzNDpcdFx0ICBiZWZvcmUgdGhlIGZpbGVzeXN0ZW0gaXMgYWNjZXNzaWJsZSAoaGVuY2UgZmlybXdhcmUgd2lsbCBiZVxuICAzNTpcdFx0ICB1bmF2YWlsYWJsZSBhbmQgaW5pdGlhbGl6YXRpb24gd2lsbCBmYWlsKS4gSWYgeW91IGRvIGNob29zZSB0byBidWlsZFxuICAzNjpcdFx0ICB0aGlzIGRyaXZlciBpbnRvIHlvdXIga2VybmVsIGltYWdlLCB5b3UgY2FuIGF2b2lkIHRoaXMgcHJvYmxlbSBieVxuICAzNzpcdFx0ICBpbmNsdWRpbmcgdGhlIGZpcm13YXJlIGFuZCBhIGZpcm13YXJlIGxvYWRlciBpbiBhbiBpbml0cmFtZnMuXG4gIDM4Olx0XG4gIDM5Olx0Y29uZmlnIElQVzIxMDBfTU9OSVRPUlxuICA0MDpcdFx0Ym9vbCBcJiMzNDtFbmFibGUgcHJvbWlzY3VvdXMgbW9kZVwmIzM0O1xuICA0MTpcdFx0ZGVwZW5kcyBvbiBJUFcyMTAwXG4gIDQyOlx0XHRoZWxwXG4gIDQzOlx0XHQgIEVuYWJsZXMgcHJvbWlzY3VvdXMvbW9uaXRvciBtb2RlIHN1cHBvcnQgZm9yIHRoZSBpcHcyMTAwIGRyaXZlci5cbiAgNDQ6XHRcdCAgV2l0aCB0aGlzIGZlYXR1cmUgY29tcGlsZWQgaW50byB0aGUgZHJpdmVyLCB5b3UgY2FuIHN3aXRjaCB0b1xuICA0NTpcdFx0ICBwcm9taXNjdW91cyBtb2RlIHZpYSB0aGUgV2lyZWxlc3MgVG9vbCYjMzk7cyBNb25pdG9yIG1vZGUuICBXaGlsZSBpbiB0aGlzXG4gIDQ2Olx0XHQgIG1vZGUsIG5vIHBhY2tldHMgY2FuIGJlIHNlbnQuXG4gIDQ3Olx0XG4gIDQ4Olx0Y29uZmlnIElQVzIxMDBfREVCVUdcbiAgNDk6XHRcdGJvb2wgXCYjMzQ7RW5hYmxlIGZ1bGwgZGVidWdnaW5nIG91dHB1dCBpbiBJUFcyMTAwIG1vZHVsZS5cJiMzNDtcbiAgNTA6XHRcdGRlcGVuZHMgb24gSVBXMjEwMFxuICA1MTpcdFx0aGVscFxuICA1MjpcdFx0ICBUaGlzIG9wdGlvbiB3aWxsIGVuYWJsZSBkZWJ1ZyB0cmFjaW5nIG91dHB1dCBmb3IgdGhlIElQVzIxMDAuXG4gIDUzOlx0XG4gIDU0Olx0XHQgIFRoaXMgd2lsbCByZXN1bHQgaW4gdGhlIGtlcm5lbCBtb2R1bGUgYmVpbmcgfjYwayBsYXJnZXIuICBZb3UgY2FuXG4gIDU1Olx0XHQgIGNvbnRyb2wgd2hpY2ggZGVidWcgb3V0cHV0IGlzIHNlbnQgdG8gdGhlIGtlcm5lbCBsb2cgYnkgc2V0dGluZyB0aGVcbiAgNTY6XHRcdCAgdmFsdWUgaW5cbiAgNTc6XHRcbiAgNTg6XHRcdCAgL3N5cy9idXMvcGNpL2RyaXZlcnMvaXB3MjEwMC9kZWJ1Z19sZXZlbFxuICA1OTpcdFxuICA2MDpcdFx0ICBUaGlzIGVudHJ5IHdpbGwgb25seSBleGlzdCBpZiB0aGlzIG9wdGlvbiBpcyBlbmFibGVkLlxuICA2MTpcdFxuICA2MjpcdFx0ICBJZiB5b3UgYXJlIG5vdCB0cnlpbmcgdG8gZGVidWcgb3IgZGV2ZWxvcCB0aGUgSVBXMjEwMCBkcml2ZXIsIHlvdVxuICA2MzpcdFx0ICBtb3N0IGxpa2VseSB3YW50IHRvIHNheSBOIGhlcmUuXG4gIDY0Olx0XG4gIDY1Olx0Y29uZmlnIElQVzIyMDBcbiAgNjY6XHRcdHRyaXN0YXRlIFwmIzM0O0ludGVsIFBSTy9XaXJlbGVzcyAyMjAwQkcgYW5kIDI5MTVBQkcgTmV0d29yayBDb25uZWN0aW9uXCYjMzQ7XG4gIDY3Olx0XHRkZXBlbmRzIG9uIFBDSSBcdTAwMjZcdTAwMjYgQ0ZHODAyMTFcbiAgNjg6XHRcdHNlbGVjdCBXSVJFTEVTU19FWFRcbiAgNjk6XHRcdHNlbGVjdCBXRVhUX1BSSVZcbiAgNzA6XHRcdHNlbGVjdCBGV19MT0FERVJcbiAgNzE6XHRcdHNlbGVjdCBMSUJJUFdcbiAgNzI6XHRcdGhlbHBcbiAgNzM6XHRcdCAgQSBkcml2ZXIgZm9yIHRoZSBJbnRlbCBQUk8vV2lyZWxlc3MgMjIwMEJHIGFuZCAyOTE1QUJHIE5ldHdvcmtcbiAgNzQ6XHRcdCAgQ29ubmVjdGlvbiBhZGFwdGVycy5cbiAgNzU6XHRcbiAgNzY6XHRcdCAgU2VlIFx1MDAzY2ZpbGU6RG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL3dpZmkvaW50ZWwvaXB3MjIwMC5yc3RcdTAwM2VcbiAgNzc6XHRcdCAgZm9yIGluZm9ybWF0aW9uIG9uIHRoZSBjYXBhYmlsaXRpZXMgY3VycmVudGx5IGVuYWJsZWQgaW4gdGhpc1xuICA3ODpcdFx0ICBkcml2ZXIgYW5kIGZvciB0aXBzIGZvciBkZWJ1Z2dpbmcgaXNzdWVzIGFuZCBwcm9ibGVtcy5cbiAgNzk6XHRcbiAgODA6XHRcdCAgSW4gb3JkZXIgdG8gdXNlIHRoaXMgZHJpdmVyLCB5b3Ugd2lsbCBuZWVkIGEgZmlybXdhcmUgaW1hZ2UgZm9yIGl0LlxuICA4MTpcdFx0ICBZb3UgY2FuIG9idGFpbiB0aGUgZmlybXdhcmUgZnJvbVxuICA4MjpcdFx0ICBcdTAwM2NodHRwOi8vaXB3MjIwMC5zZi5uZXQvXHUwMDNlLiAgU2VlIHRoZSBhYm92ZSByZWZlcmVuY2VkIFJFQURNRS5pcHcyMjAwXG4gIDgzOlx0XHQgIGZvciBpbmZvcm1hdGlvbiBvbiB3aGVyZSB0byBpbnN0YWxsIHRoZSBmaXJtd2FyZSBpbWFnZXMuXG4gIDg0Olx0XG4gIDg1Olx0XHQgIFlvdSB3aWxsIGFsc28gdmVyeSBsaWtlbHkgbmVlZCB0aGUgV2lyZWxlc3MgVG9vbHMgaW4gb3JkZXIgdG9cbiAgODY6XHRcdCAgY29uZmlndXJlIHlvdXIgY2FyZDpcbiAgODc6XHRcbiAgODg6XHRcdCAgXHUwMDNjaHR0cHM6Ly93d3cuaHBsLmhwLmNvbS9wZXJzb25hbC9KZWFuX1RvdXJyaWxoZXMvTGludXgvVG9vbHMuaHRtbFx1MDAzZS5cbiAgODk6XHRcbiAgOTA6XHRcdCAgSXQgaXMgcmVjb21tZW5kZWQgdGhhdCB5b3UgY29tcGlsZSB0aGlzIGRyaXZlciBhcyBhIG1vZHVsZSAoTSlcbiAgOTE6XHRcdCAgcmF0aGVyIHRoYW4gYnVpbHQtaW4gKFkpLiBUaGlzIGRyaXZlciByZXF1aXJlcyBmaXJtd2FyZSBhdCBkZXZpY2VcbiAgOTI6XHRcdCAgaW5pdGlhbGl6YXRpb24gdGltZSwgYW5kIHdoZW4gYnVpbHQtaW4gdGhpcyB0eXBpY2FsbHkgaGFwcGVuc1xuICA5MzpcdFx0ICBiZWZvcmUgdGhlIGZpbGVzeXN0ZW0gaXMgYWNjZXNzaWJsZSAoaGVuY2UgZmlybXdhcmUgd2lsbCBiZVxuICA5NDpcdFx0ICB1bmF2YWlsYWJsZSBhbmQgaW5pdGlhbGl6YXRpb24gd2lsbCBmYWlsKS4gSWYgeW91IGRvIGNob29zZSB0byBidWlsZFxuICA5NTpcdFx0ICB0aGlzIGRyaXZlciBpbnRvIHlvdXIga2VybmVsIGltYWdlLCB5b3UgY2FuIGF2b2lkIHRoaXMgcHJvYmxlbSBieVxuICA5NjpcdFx0ICBpbmNsdWRpbmcgdGhlIGZpcm13YXJlIGFuZCBhIGZpcm13YXJlIGxvYWRlciBpbiBhbiBpbml0cmFtZnMuXG4gIDk3Olx0XG4gIDk4Olx0Y29uZmlnIElQVzIyMDBfTU9OSVRPUlxuICA5OTpcdFx0Ym9vbCBcJiMzNDtFbmFibGUgcHJvbWlzY3VvdXMgbW9kZVwmIzM0O1xuIDEwMDpcdFx0ZGVwZW5kcyBvbiBJUFcyMjAwXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMzEgMjA6MTg8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjctZmxhc2g8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMTE3MzIKCQkJCQkJCW91dHB1dDogMTcKCQkJCQkJCXRob3VnaHRzOiAxNwoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+T2theSwgaGVyZSYjMzk7cyBteSBhdHRlbXB0IGF0IHN1bW1hcml6aW5nIHRoZSB0aG91Z2h0IHByb2Nlc3MsIGFzIGlmIEkgd2VyZSBjb25zaWRlcmluZyB0aGUgdG9waWMgbXlzZWxmLCB0YWlsb3JlZCBmb3IgYW4gZXhwZXJ0IGF1ZGllbmNlOgoKKipMSUJJUFcgYW5kIERyaXZlciBTZWxlY3Rpb246IEEgUXVpY2sgUmV2aWV3KioKCkFscmlnaHQsIGxldCYjMzk7cyBnZXQgZG93biB0byBicmFzcyB0YWNrcy4gSSBuZWVkIGEgcmVmcmVzaGVyIG9uIExJQklQVy4gTXkgaW5pdGlhbCBxdWVzdGlvbiBpcywgd2hhdCAqaXMqIGl0LCBmdW5kYW1lbnRhbGx5PyBJIG5lZWQgdG8gdW5kZXJzdGFuZCBpdHMgcm9sZSwgaXRzIGFyY2hpdGVjdHVyZSwgaXRzIGRlc2lnbiBwaGlsb3NvcGh5LiBJJiMzOTttIGFscmVhZHkgdGhpbmtpbmcgYWJvdXQgaXRzIHJlbGF0aW9uc2hpcCB0byB0aGUga2VybmVsLCBob3cgaXQgZml0cyBpbnRvIHRoZSBicm9hZGVyIG5ldHdvcmtpbmcgc3RhY2suCgpUaGVuLCB0aGUgY3JpdGljYWwgcG9pbnQ6ICp3aGljaCogZHJpdmVycyBhcmUgbGV2ZXJhZ2luZyBMSUJJUFc/IEFuZCBtb3JlIGltcG9ydGFudGx5LCAqd2h5KiBhcmUgdGhleSBjaG9vc2luZyB0aGlzIHBhcnRpY3VsYXIgcm91dGU/IElzIGl0IGFib3V0IGNvZGUgcmV1c2UsIHBlcmZvcm1hbmNlIGdhaW5zLCBzcGVjaWZpYyBoYXJkd2FyZSBzdXBwb3J0LCBvciBwZXJoYXBzIGEgYmFsYW5jZSBvZiBhbGwgdGhlc2UgZmFjdG9ycz8gSSBuZWVkIHRvIHF1aWNrbHkgaWRlbnRpZnkgdGhlIGtleSBkcml2ZXJzIGludm9sdmVkIGFuZCB0aGVuIGRpZyBpbnRvIHRoZWlyIGltcGxlbWVudGF0aW9uIHNwZWNpZmljcywgbG9va2luZyBmb3IgdGhlIHJhdGlvbmFsZSBiZWhpbmQgdGhlaXIgZGVjaXNpb24uIEkmIzM5O2xsIG5lZWQgdG8gdW5kZXJzdGFuZCB0aGUgdHJhZGUtb2ZmcyB0aGV5IG1hZGUg4oCTIHRoZSBhZHZhbnRhZ2VzIGFuZCBkaXNhZHZhbnRhZ2VzIGNvbXBhcmVkIHRvIGFsdGVybmF0aXZlIG1ldGhvZHMuIEFueSBpbXBsZW1lbnRhdGlvbiBub3RlcyBvciBkb2N1bWVudGF0aW9uIGFyZSBwYXJhbW91bnQuIFRoaXMgcXVpY2tseSBhbGxvd3MgbWUgdG8gYXNjZXJ0YWluIHRoZSBzdWl0YWJpbGl0eSBvZiBhIGdlbmVyYWwgbGlicmFyeSwgb3Igbm90LgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzMxIDIwOjE4PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O0xJQklQVyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtcbkZ1bGwgb3V0cHV0IGlzIHRvbyBsb25nLCBzaG93aW5nIDUwMCBvdXQgb2YgMTUyMCBsaW5lcy5cblVzZSBtb3JlIHByZWNpc2UgZXhwcmVzc2lvbiBpZiBwb3NzaWJsZS5cblxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnPTY9Y29uZmlnIElQVzIxMDBcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWctMTEtXHRzZWxlY3QgRldfTE9BREVSXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWc6MTI6XHRzZWxlY3QgTElCSVBXXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWctMTMtXHRoZWxwXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnPTY1PWNvbmZpZyBJUFcyMjAwXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnLTcwLVx0c2VsZWN0IEZXX0xPQURFUlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnOjcxOlx0c2VsZWN0IExJQklQV1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnLTcyLVx0aGVscFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvS2NvbmZpZz0xMzk9Y29uZmlnIElQVzIyMDBfREVCVUdcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWctMTUxLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnOjE1Mjpjb25maWcgTElCSVBXXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWctMTUzLVx0dHJpc3RhdGVcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWctMTYzLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnOjE2NDpjb25maWcgTElCSVBXX0RFQlVHXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWc6MTY1Olx0Ym9vbCBcJiMzNDtGdWxsIGRlYnVnZ2luZyBvdXRwdXQgZm9yIHRoZSBMSUJJUFcgY29tcG9uZW50XCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWc6MTY2Olx0ZGVwZW5kcyBvbiBMSUJJUFdcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvS2NvbmZpZy0xNjctXHRoZWxwXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9NYWtlZmlsZT03PW9iai0kKENPTkZJR19JUFcyMjAwKSAmIzQzOz0gaXB3MjIwMC5vXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL01ha2VmaWxlLTgtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL01ha2VmaWxlOjk6b2JqLSQoQ09ORklHX0xJQklQVykgJiM0Mzs9IGxpYmlwdy5vXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL01ha2VmaWxlLTEwLWxpYmlwdy1vYmpzIDo9IFxcXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9MTY5Mz1zdGF0aWMgaW50IGlwdzIxMDBfdXAoc3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiwgaW50IGRlZmVycmVkKVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTE3NjAtXHRsaWJpcHdfc2V0X2dlbyhwcml2LVx1MDAzZWllZWUsIFx1MDAyNmlwd19nZW9zWzBdKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjE3NjE6XHRwcml2LVx1MDAzZWllZWUtXHUwMDNlZnJlcV9iYW5kID0gTElCSVBXXzI0R0haX0JBTkQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0xNzYyLVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTE4NzM9c3RhdGljIGludCBpcHcyMTAwX3dkZXZfaW5pdChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTE4OTktXHRcdFx0YmdfYmFuZC1cdTAwM2VjaGFubmVsc1tpXS5tYXhfcG93ZXIgPSBnZW8tXHUwMDNlYmdbaV0ubWF4X3Bvd2VyO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MTkwMDpcdFx0XHRpZiAoZ2VvLVx1MDAzZWJnW2ldLmZsYWdzIFx1MDAyNiBMSUJJUFdfQ0hfUEFTU0lWRV9PTkxZKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMTkwMS1cdFx0XHRcdGJnX2JhbmQtXHUwMDNlY2hhbm5lbHNbaV0uZmxhZ3MgfD1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTE5MDItXHRcdFx0XHRcdElFRUU4MDIxMV9DSEFOX05PX0lSO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MTkwMzpcdFx0XHRpZiAoZ2VvLVx1MDAzZWJnW2ldLmZsYWdzIFx1MDAyNiBMSUJJUFdfQ0hfTk9fSUJTUylcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTE5MDQtXHRcdFx0XHRiZ19iYW5kLVx1MDAzZWNoYW5uZWxzW2ldLmZsYWdzIHw9XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0xOTA1LVx0XHRcdFx0XHRJRUVFODAyMTFfQ0hBTl9OT19JUjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjE5MDY6XHRcdFx0aWYgKGdlby1cdTAwM2ViZ1tpXS5mbGFncyBcdTAwMjYgTElCSVBXX0NIX1JBREFSX0RFVEVDVClcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTE5MDctXHRcdFx0XHRiZ19iYW5kLVx1MDAzZWNoYW5uZWxzW2ldLmZsYWdzIHw9XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0xOTA4LVx0XHRcdFx0XHRJRUVFODAyMTFfQ0hBTl9SQURBUjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjE5MDk6XHRcdFx0LyogTm8gZXF1aXZhbGVudCBmb3IgTElCSVBXX0NIXzgwMjExSF9SVUxFUyxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjE5MTA6XHRcdFx0ICAgTElCSVBXX0NIX1VOSUZPUk1fU1BSRUFESU5HLCBvclxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MTkxMTpcdFx0XHQgICBMSUJJUFdfQ0hfQl9PTkxZLi4uICovXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0xOTEyLVx0XHR9XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9MjY0ND1zdGF0aWMgdm9pZCBfX2lwdzIxMDBfcnhfcHJvY2VzcyhzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2KVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI2ODktXHRcdGlmIChzdGF0cy5yc3NpICE9IDApXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyNjkwOlx0XHRcdHN0YXRzLm1hc2sgfD0gTElCSVBXX1NUQVRNQVNLX1JTU0k7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyNjkxOlx0XHRzdGF0cy5mcmVxID0gTElCSVBXXzI0R0haX0JBTkQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNjkyLVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTMwNDc9c3RhdGljIHZvaWQgaXB3MjEwMF90eF9zZW5kX2RhdGEoc3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdilcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zMTEzLVx0XHRcdCAgICBwYWNrZXQtXHUwMDNlaW5mby5kX3N0cnVjdC50eGItXHUwMDNlZnJhZ19zaXplIC1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjMxMTQ6XHRcdFx0ICAgIExJQklQV18zQUREUl9MRU47XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zMTE1LVx0XHRlbHNlXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMzE0Ni1cdFx0XHR0YmQtXHUwMDNlYnVmX2xlbmd0aCA9IHBhY2tldC1cdTAwM2VpbmZvLmRfc3RydWN0LnR4Yi1cdTAwM2VcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjMxNDc6XHRcdFx0ICAgIGZyYWdtZW50c1tpXS1cdTAwM2VsZW4gLSBMSUJJUFdfM0FERFJfTEVOO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMzE0OC1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zMTUxLVx0XHRcdFx0XHRcdFx0dHhiLVx1MDAzZWZyYWdtZW50c1tpXS1cdTAwM2VkYXRhICYjNDM7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzozMTUyOlx0XHRcdFx0XHRcdFx0TElCSVBXXzNBRERSX0xFTixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTMxNTMtXHRcdFx0XHRcdFx0XHR0YmQtXHUwMDNlYnVmX2xlbmd0aCxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz01OTk2PXN0YXRpYyBzdHJ1Y3QgbmV0X2RldmljZSAqaXB3MjEwMF9hbGxvY19kZXZpY2Uoc3RydWN0IHBjaV9kZXYgKnBjaV9kZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjAyMi1cdGRldi1cdTAwM2VtaW5fbXR1ID0gNjg7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo2MDIzOlx0ZGV2LVx1MDAzZW1heF9tdHUgPSBMSUJJUFdfREFUQV9MRU47XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02MDI0LVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jPTE4NTk9c3RhdGljIHNzaXplX3QgY2hhbm5lbHNfc2hvdyhzdHJ1Y3QgZGV2aWNlICpkLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTE4NzMtXHRcdFx0ICAgICAgIGdlby1cdTAwM2ViZ1tpXS5jaGFubmVsLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6MTg3NDpcdFx0XHQgICAgICAgZ2VvLVx1MDAzZWJnW2ldLmZsYWdzIFx1MDAyNiBMSUJJUFdfQ0hfUkFEQVJfREVURUNUID9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTE4NzUtXHRcdFx0ICAgICAgIFwmIzM0OyAocmFkYXIgc3BlY3RydW0pXCYjMzQ7IDogXCYjMzQ7XCYjMzQ7LFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6MTg3NjpcdFx0XHQgICAgICAgKChnZW8tXHUwMDNlYmdbaV0uZmxhZ3MgXHUwMDI2IExJQklQV19DSF9OT19JQlNTKSB8fFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6MTg3NzpcdFx0XHRcdChnZW8tXHUwMDNlYmdbaV0uZmxhZ3MgXHUwMDI2IExJQklQV19DSF9SQURBUl9ERVRFQ1QpKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtMTg3OC1cdFx0XHQgICAgICAgPyBcJiMzNDtcJiMzNDsgOiBcJiMzNDssIElCU1NcJiMzNDssXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzoxODc5Olx0XHRcdCAgICAgICBnZW8tXHUwMDNlYmdbaV0uZmxhZ3MgXHUwMDI2IExJQklQV19DSF9QQVNTSVZFX09OTFkgP1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtMTg4MC1cdFx0XHQgICAgICAgXCYjMzQ7cGFzc2l2ZSBvbmx5XCYjMzQ7IDogXCYjMzQ7YWN0aXZlL3Bhc3NpdmVcJiMzNDssXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzoxODgxOlx0XHRcdCAgICAgICBnZW8tXHUwMDNlYmdbaV0uZmxhZ3MgXHUwMDI2IExJQklQV19DSF9CX09OTFkgP1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtMTg4Mi1cdFx0XHQgICAgICAgXCYjMzQ7QlwmIzM0OyA6IFwmIzM0O0IvR1wmIzM0Oyk7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtMTg5MC1cdFx0XHQgICAgICAgZ2VvLVx1MDAzZWFbaV0uY2hhbm5lbCxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjE4OTE6XHRcdFx0ICAgICAgIGdlby1cdTAwM2VhW2ldLmZsYWdzIFx1MDAyNiBMSUJJUFdfQ0hfUkFEQVJfREVURUNUID9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTE4OTItXHRcdFx0ICAgICAgIFwmIzM0OyAocmFkYXIgc3BlY3RydW0pXCYjMzQ7IDogXCYjMzQ7XCYjMzQ7LFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6MTg5MzpcdFx0XHQgICAgICAgKChnZW8tXHUwMDNlYVtpXS5mbGFncyBcdTAwMjYgTElCSVBXX0NIX05PX0lCU1MpIHx8XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzoxODk0Olx0XHRcdFx0KGdlby1cdTAwM2VhW2ldLmZsYWdzIFx1MDAyNiBMSUJJUFdfQ0hfUkFEQVJfREVURUNUKSlcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTE4OTUtXHRcdFx0ICAgICAgID8gXCYjMzQ7XCYjMzQ7IDogXCYjMzQ7LCBJQlNTXCYjMzQ7LFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6MTg5NjpcdFx0XHQgICAgICAgZ2VvLVx1MDAzZWFbaV0uZmxhZ3MgXHUwMDI2IExJQklQV19DSF9QQVNTSVZFX09OTFkgP1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtMTg5Ny1cdFx0XHQgICAgICAgXCYjMzQ7cGFzc2l2ZSBvbmx5XCYjMzQ7IDogXCYjMzQ7YWN0aXZlL3Bhc3NpdmVcJiMzNDspO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jPTQwOTA9c3RhdGljIHUzMiBpcHdfZ2V0X21heF9yYXRlKHN0cnVjdCBpcHdfcHJpdiAqcHJpdilcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy00MDk2LVx0aWYgKHByaXYtXHUwMDNlYXNzb2NfcmVxdWVzdC5pZWVlX21vZGUgPT0gSVBXX0JfTU9ERSlcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjQwOTc6XHRcdG1hc2sgXHUwMDI2PSBMSUJJUFdfQ0NLX1JBVEVTX01BU0s7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy00MDk4LVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTQxMDQtXHRzd2l0Y2ggKGkpIHtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjQxMDU6XHRjYXNlIExJQklQV19DQ0tfUkFURV8xTUJfTUFTSzpcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTQxMDYtXHRcdHJldHVybiAxMDAwMDAwO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NDEwNzpcdGNhc2UgTElCSVBXX0NDS19SQVRFXzJNQl9NQVNLOlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNDEwOC1cdFx0cmV0dXJuIDIwMDAwMDA7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo0MTA5Olx0Y2FzZSBMSUJJUFdfQ0NLX1JBVEVfNU1CX01BU0s6XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy00MTEwLVx0XHRyZXR1cm4gNTUwMDAwMDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjQxMTE6XHRjYXNlIExJQklQV19PRkRNX1JBVEVfNk1CX01BU0s6XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy00MTEyLVx0XHRyZXR1cm4gNjAwMDAwMDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjQxMTM6XHRjYXNlIExJQklQV19PRkRNX1JBVEVfOU1CX01BU0s6XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy00MTE0LVx0XHRyZXR1cm4gOTAwMDAwMDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjQxMTU6XHRjYXNlIExJQklQV19DQ0tfUkFURV8xMU1CX01BU0s6XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy00MTE2LVx0XHRyZXR1cm4gMTEwMDAwMDA7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo0MTE3Olx0Y2FzZSBMSUJJUFdfT0ZETV9SQVRFXzEyTUJfTUFTSzpcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTQxMTgtXHRcdHJldHVybiAxMjAwMDAwMDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjQxMTk6XHRjYXNlIExJQklQV19PRkRNX1JBVEVfMThNQl9NQVNLOlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNDEyMC1cdFx0cmV0dXJuIDE4MDAwMDAwO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NDEyMTpcdGNhc2UgTElCSVBXX09GRE1fUkFURV8yNE1CX01BU0s6XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy00MTIyLVx0XHRyZXR1cm4gMjQwMDAwMDA7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo0MTIzOlx0Y2FzZSBMSUJJUFdfT0ZETV9SQVRFXzM2TUJfTUFTSzpcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTQxMjQtXHRcdHJldHVybiAzNjAwMDAwMDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjQxMjU6XHRjYXNlIExJQklQV19PRkRNX1JBVEVfNDhNQl9NQVNLOlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNDEyNi1cdFx0cmV0dXJuIDQ4MDAwMDAwO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NDEyNzpcdGNhc2UgTElCSVBXX09GRE1fUkFURV81NE1CX01BU0s6XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy00MTI4LVx0XHRyZXR1cm4gNTQwMDAwMDA7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9NTIyND1zdGF0aWMgaW50IGlwd19pc19yYXRlX2luX21hc2soc3RydWN0IGlwd19wcml2ICpwcml2LCBpbnQgaWVlZV9tb2RlLCB1OCByYXRlKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTIyNS17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjI2Olx0cmF0ZSBcdTAwMjY9IH5MSUJJUFdfQkFTSUNfUkFURV9NQVNLO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTIyNy1cdGlmIChpZWVlX21vZGUgPT0gSUVFRV9BKSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01MjI4LVx0XHRzd2l0Y2ggKHJhdGUpIHtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyMjk6XHRcdGNhc2UgTElCSVBXX09GRE1fUkFURV82TUI6XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjMwOlx0XHRcdHJldHVybiBwcml2LVx1MDAzZXJhdGVzX21hc2sgXHUwMDI2IExJQklQV19PRkRNX1JBVEVfNk1CX01BU0sgP1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTIzMS1cdFx0XHQgICAgMSA6IDA7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjMyOlx0XHRjYXNlIExJQklQV19PRkRNX1JBVEVfOU1COlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTIzMzpcdFx0XHRyZXR1cm4gcHJpdi1cdTAwM2VyYXRlc19tYXNrIFx1MDAyNiBMSUJJUFdfT0ZETV9SQVRFXzlNQl9NQVNLID9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUyMzQtXHRcdFx0ICAgIDEgOiAwO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTIzNTpcdFx0Y2FzZSBMSUJJUFdfT0ZETV9SQVRFXzEyTUI6XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01MjM2LVx0XHRcdHJldHVybiBwcml2LVx1MDAzZVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTIzNzpcdFx0XHQgICAgcmF0ZXNfbWFzayBcdTAwMjYgTElCSVBXX09GRE1fUkFURV8xMk1CX01BU0sgPyAxIDogMDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyMzg6XHRcdGNhc2UgTElCSVBXX09GRE1fUkFURV8xOE1COlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTIzOS1cdFx0XHRyZXR1cm4gcHJpdi1cdTAwM2VcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyNDA6XHRcdFx0ICAgIHJhdGVzX21hc2sgXHUwMDI2IExJQklQV19PRkRNX1JBVEVfMThNQl9NQVNLID8gMSA6IDA7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjQxOlx0XHRjYXNlIExJQklQV19PRkRNX1JBVEVfMjRNQjpcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUyNDItXHRcdFx0cmV0dXJuIHByaXYtXHUwMDNlXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjQzOlx0XHRcdCAgICByYXRlc19tYXNrIFx1MDAyNiBMSUJJUFdfT0ZETV9SQVRFXzI0TUJfTUFTSyA/IDEgOiAwO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTI0NDpcdFx0Y2FzZSBMSUJJUFdfT0ZETV9SQVRFXzM2TUI6XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01MjQ1LVx0XHRcdHJldHVybiBwcml2LVx1MDAzZVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTI0NjpcdFx0XHQgICAgcmF0ZXNfbWFzayBcdTAwMjYgTElCSVBXX09GRE1fUkFURV8zNk1CX01BU0sgPyAxIDogMDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyNDc6XHRcdGNhc2UgTElCSVBXX09GRE1fUkFURV80OE1COlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTI0OC1cdFx0XHRyZXR1cm4gcHJpdi1cdTAwM2VcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyNDk6XHRcdFx0ICAgIHJhdGVzX21hc2sgXHUwMDI2IExJQklQV19PRkRNX1JBVEVfNDhNQl9NQVNLID8gMSA6IDA7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjUwOlx0XHRjYXNlIExJQklQV19PRkRNX1JBVEVfNTRNQjpcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUyNTEtXHRcdFx0cmV0dXJuIHByaXYtXHUwMDNlXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjUyOlx0XHRcdCAgICByYXRlc19tYXNrIFx1MDAyNiBMSUJJUFdfT0ZETV9SQVRFXzU0TUJfTUFTSyA/IDEgOiAwO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTI1My1cdFx0ZGVmYXVsdDpcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01MjU5LVx0c3dpdGNoIChyYXRlKSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjYwOlx0Y2FzZSBMSUJJUFdfQ0NLX1JBVEVfMU1COlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTI2MTpcdFx0cmV0dXJuIHByaXYtXHUwMDNlcmF0ZXNfbWFzayBcdTAwMjYgTElCSVBXX0NDS19SQVRFXzFNQl9NQVNLID8gMSA6IDA7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjYyOlx0Y2FzZSBMSUJJUFdfQ0NLX1JBVEVfMk1COlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTI2MzpcdFx0cmV0dXJuIHByaXYtXHUwMDNlcmF0ZXNfbWFzayBcdTAwMjYgTElCSVBXX0NDS19SQVRFXzJNQl9NQVNLID8gMSA6IDA7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjY0Olx0Y2FzZSBMSUJJUFdfQ0NLX1JBVEVfNU1COlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTI2NTpcdFx0cmV0dXJuIHByaXYtXHUwMDNlcmF0ZXNfbWFzayBcdTAwMjYgTElCSVBXX0NDS19SQVRFXzVNQl9NQVNLID8gMSA6IDA7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjY2Olx0Y2FzZSBMSUJJUFdfQ0NLX1JBVEVfMTFNQjpcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyNjc6XHRcdHJldHVybiBwcml2LVx1MDAzZXJhdGVzX21hc2sgXHUwMDI2IExJQklQV19DQ0tfUkFURV8xMU1CX01BU0sgPyAxIDogMDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUyNjgtXHR9XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTI3NS1cdHN3aXRjaCAocmF0ZSkge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTI3NjpcdGNhc2UgTElCSVBXX09GRE1fUkFURV82TUI6XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1Mjc3Olx0XHRyZXR1cm4gcHJpdi1cdTAwM2VyYXRlc19tYXNrIFx1MDAyNiBMSUJJUFdfT0ZETV9SQVRFXzZNQl9NQVNLID8gMSA6IDA7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1Mjc4Olx0Y2FzZSBMSUJJUFdfT0ZETV9SQVRFXzlNQjpcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyNzk6XHRcdHJldHVybiBwcml2LVx1MDAzZXJhdGVzX21hc2sgXHUwMDI2IExJQklQV19PRkRNX1JBVEVfOU1CX01BU0sgPyAxIDogMDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyODA6XHRjYXNlIExJQklQV19PRkRNX1JBVEVfMTJNQjpcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyODE6XHRcdHJldHVybiBwcml2LVx1MDAzZXJhdGVzX21hc2sgXHUwMDI2IExJQklQV19PRkRNX1JBVEVfMTJNQl9NQVNLID8gMSA6IDA7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjgyOlx0Y2FzZSBMSUJJUFdfT0ZETV9SQVRFXzE4TUI6XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjgzOlx0XHRyZXR1cm4gcHJpdi1cdTAwM2VyYXRlc19tYXNrIFx1MDAyNiBMSUJJUFdfT0ZETV9SQVRFXzE4TUJfTUFTSyA/IDEgOiAwO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTI4NDpcdGNhc2UgTElCSVBXX09GRE1fUkFURV8yNE1COlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTI4NTpcdFx0cmV0dXJuIHByaXYtXHUwMDNlcmF0ZXNfbWFzayBcdTAwMjYgTElCSVBXX09GRE1fUkFURV8yNE1CX01BU0sgPyAxIDogMDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyODY6XHRjYXNlIExJQklQV19PRkRNX1JBVEVfMzZNQjpcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyODc6XHRcdHJldHVybiBwcml2LVx1MDAzZXJhdGVzX21hc2sgXHUwMDI2IExJQklQV19PRkRNX1JBVEVfMzZNQl9NQVNLID8gMSA6IDA7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1Mjg4Olx0Y2FzZSBMSUJJUFdfT0ZETV9SQVRFXzQ4TUI6XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1Mjg5Olx0XHRyZXR1cm4gcHJpdi1cdTAwM2VyYXRlc19tYXNrIFx1MDAyNiBMSUJJUFdfT0ZETV9SQVRFXzQ4TUJfTUFTSyA/IDEgOiAwO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTI5MDpcdGNhc2UgTElCSVBXX09GRE1fUkFURV81NE1COlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTI5MTpcdFx0cmV0dXJuIHByaXYtXHUwMDNlcmF0ZXNfbWFzayBcdTAwMjYgTElCSVBXX09GRE1fUkFURV81NE1CX01BU0sgPyAxIDogMDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUyOTItXHR9XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9NTI5Nz1zdGF0aWMgaW50IGlwd19jb21wYXRpYmxlX3JhdGVzKHN0cnVjdCBpcHdfcHJpdiAqcHJpdixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01MzA5LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTMxMDpcdFx0XHRpZiAobmV0d29yay1cdTAwM2VyYXRlc1tpXSBcdTAwMjYgTElCSVBXX0JBU0lDX1JBVEVfTUFTSykge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTMxMS1cdFx0XHRcdElQV19ERUJVR19TQ0FOKFwmIzM0O0FkZGluZyBtYXNrZWQgbWFuZGF0b3J5IFwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUzMzEtXHRcdFx0XHRcdCBuZXR3b3JrLVx1MDAzZXJhdGVzX2V4W2ldKSkge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTMzMjpcdFx0XHRpZiAobmV0d29yay1cdTAwM2VyYXRlc19leFtpXSBcdTAwMjYgTElCSVBXX0JBU0lDX1JBVEVfTUFTSykge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTMzMy1cdFx0XHRcdElQV19ERUJVR19TQ0FOKFwmIzM0O0FkZGluZyBtYXNrZWQgbWFuZGF0b3J5IFwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jPTUzNjU9c3RhdGljIHZvaWQgaXB3X2FkZF9jY2tfc2Nhbl9yYXRlcyhzdHJ1Y3QgaXB3X3N1cHBvcnRlZF9yYXRlcyAqcmF0ZXMsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTM2Ny17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MzY4Olx0dTggYmFzaWNfbWFzayA9IChMSUJJUFdfT0ZETV9NT0RVTEFUSU9OID09IG1vZHVsYXRpb24pID9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUzNjk6XHQgICAgTElCSVBXX0JBU0lDX1JBVEVfTUFTSyA6IDA7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01MzcwLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTM3MTpcdGlmIChyYXRlX21hc2sgXHUwMDI2IExJQklQV19DQ0tfUkFURV8xTUJfTUFTSylcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUzNzItXHRcdHJhdGVzLVx1MDAzZXN1cHBvcnRlZF9yYXRlc1tyYXRlcy1cdTAwM2VudW1fcmF0ZXMmIzQzOyYjNDM7XSA9XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MzczOlx0XHQgICAgTElCSVBXX0JBU0lDX1JBVEVfTUFTSyB8IExJQklQV19DQ0tfUkFURV8xTUI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01Mzc0LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTM3NTpcdGlmIChyYXRlX21hc2sgXHUwMDI2IExJQklQV19DQ0tfUkFURV8yTUJfTUFTSylcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUzNzYtXHRcdHJhdGVzLVx1MDAzZXN1cHBvcnRlZF9yYXRlc1tyYXRlcy1cdTAwM2VudW1fcmF0ZXMmIzQzOyYjNDM7XSA9XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1Mzc3Olx0XHQgICAgTElCSVBXX0JBU0lDX1JBVEVfTUFTSyB8IExJQklQV19DQ0tfUkFURV8yTUI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01Mzc4LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTM3OTpcdGlmIChyYXRlX21hc2sgXHUwMDI2IExJQklQV19DQ0tfUkFURV81TUJfTUFTSylcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUzODAtXHRcdHJhdGVzLVx1MDAzZXN1cHBvcnRlZF9yYXRlc1tyYXRlcy1cdTAwM2VudW1fcmF0ZXMmIzQzOyYjNDM7XSA9IGJhc2ljX21hc2sgfFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTM4MTpcdFx0ICAgIExJQklQV19DQ0tfUkFURV81TUI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01MzgyLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTM4MzpcdGlmIChyYXRlX21hc2sgXHUwMDI2IExJQklQV19DQ0tfUkFURV8xMU1CX01BU0spXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01Mzg0LVx0XHRyYXRlcy1cdTAwM2VzdXBwb3J0ZWRfcmF0ZXNbcmF0ZXMtXHUwMDNlbnVtX3JhdGVzJiM0MzsmIzQzO10gPSBiYXNpY19tYXNrIHxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUzODU6XHRcdCAgICBMSUJJUFdfQ0NLX1JBVEVfMTFNQjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUzODYtfVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jPTUzODg9c3RhdGljIHZvaWQgaXB3X2FkZF9vZmRtX3NjYW5fcmF0ZXMoc3RydWN0IGlwd19zdXBwb3J0ZWRfcmF0ZXMgKnJhdGVzLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUzOTAte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTM5MTpcdHU4IGJhc2ljX21hc2sgPSAoTElCSVBXX09GRE1fTU9EVUxBVElPTiA9PSBtb2R1bGF0aW9uKSA/XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MzkyOlx0ICAgIExJQklQV19CQVNJQ19SQVRFX01BU0sgOiAwO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTM5My1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUzOTQ6XHRpZiAocmF0ZV9tYXNrIFx1MDAyNiBMSUJJUFdfT0ZETV9SQVRFXzZNQl9NQVNLKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTM5NS1cdFx0cmF0ZXMtXHUwMDNlc3VwcG9ydGVkX3JhdGVzW3JhdGVzLVx1MDAzZW51bV9yYXRlcyYjNDM7JiM0MztdID0gYmFzaWNfbWFzayB8XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1Mzk2Olx0XHQgICAgTElCSVBXX09GRE1fUkFURV82TUI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01Mzk3LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTM5ODpcdGlmIChyYXRlX21hc2sgXHUwMDI2IExJQklQV19PRkRNX1JBVEVfOU1CX01BU0spXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01Mzk5LVx0XHRyYXRlcy1cdTAwM2VzdXBwb3J0ZWRfcmF0ZXNbcmF0ZXMtXHUwMDNlbnVtX3JhdGVzJiM0MzsmIzQzO10gPVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTQwMDpcdFx0ICAgIExJQklQV19PRkRNX1JBVEVfOU1CO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTQwMS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjU0MDI6XHRpZiAocmF0ZV9tYXNrIFx1MDAyNiBMSUJJUFdfT0ZETV9SQVRFXzEyTUJfTUFTSylcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTU0MDMtXHRcdHJhdGVzLVx1MDAzZXN1cHBvcnRlZF9yYXRlc1tyYXRlcy1cdTAwM2VudW1fcmF0ZXMmIzQzOyYjNDM7XSA9IGJhc2ljX21hc2sgfFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTQwNDpcdFx0ICAgIExJQklQV19PRkRNX1JBVEVfMTJNQjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTU0MDUtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1NDA2Olx0aWYgKHJhdGVfbWFzayBcdTAwMjYgTElCSVBXX09GRE1fUkFURV8xOE1CX01BU0spXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01NDA3LVx0XHRyYXRlcy1cdTAwM2VzdXBwb3J0ZWRfcmF0ZXNbcmF0ZXMtXHUwMDNlbnVtX3JhdGVzJiM0MzsmIzQzO10gPVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTQwODpcdFx0ICAgIExJQklQV19PRkRNX1JBVEVfMThNQjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTU0MDktXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1NDEwOlx0aWYgKHJhdGVfbWFzayBcdTAwMjYgTElCSVBXX09GRE1fUkFURV8yNE1CX01BU0spXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01NDExLVx0XHRyYXRlcy1cdTAwM2VzdXBwb3J0ZWRfcmF0ZXNbcmF0ZXMtXHUwMDNlbnVtX3JhdGVzJiM0MzsmIzQzO10gPSBiYXNpY19tYXNrIHxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjU0MTI6XHRcdCAgICBMSUJJUFdfT0ZETV9SQVRFXzI0TUI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01NDEzLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTQxNDpcdGlmIChyYXRlX21hc2sgXHUwMDI2IExJQklQV19PRkRNX1JBVEVfMzZNQl9NQVNLKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTQxNS1cdFx0cmF0ZXMtXHUwMDNlc3VwcG9ydGVkX3JhdGVzW3JhdGVzLVx1MDAzZW51bV9yYXRlcyYjNDM7JiM0MztdID1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjU0MTY6XHRcdCAgICBMSUJJUFdfT0ZETV9SQVRFXzM2TUI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01NDE3LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTQxODpcdGlmIChyYXRlX21hc2sgXHUwMDI2IExJQklQV19PRkRNX1JBVEVfNDhNQl9NQVNLKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTQxOS1cdFx0cmF0ZXMtXHUwMDNlc3VwcG9ydGVkX3JhdGVzW3JhdGVzLVx1MDAzZW51bV9yYXRlcyYjNDM7JiM0MztdID1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjU0MjA6XHRcdCAgICBMSUJJUFdfT0ZETV9SQVRFXzQ4TUI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01NDIxLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTQyMjpcdGlmIChyYXRlX21hc2sgXHUwMDI2IExJQklQV19PRkRNX1JBVEVfNTRNQl9NQVNLKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTQyMy1cdFx0cmF0ZXMtXHUwMDNlc3VwcG9ydGVkX3JhdGVzW3JhdGVzLVx1MDAzZW51bV9yYXRlcyYjNDM7JiM0MztdID1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjU0MjQ6XHRcdCAgICBMSUJJUFdfT0ZETV9SQVRFXzU0TUI7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01NDI1LX1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYz01NzYyPXN0YXRpYyB2b2lkIGlwd19hZGhvY19jcmVhdGUoc3RydWN0IGlwd19wcml2ICpwcml2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTU3ODAtXHRzd2l0Y2ggKGxpYmlwd19pc192YWxpZF9jaGFubmVsKHByaXYtXHUwMDNlaWVlZSwgcHJpdi1cdTAwM2VjaGFubmVsKSkge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTc4MTpcdGNhc2UgTElCSVBXXzUyR0haX0JBTkQ6XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01NzgyLVx0XHRuZXR3b3JrLVx1MDAzZW1vZGUgPSBJRUVFX0E7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTc4NC1cdFx0QlVHX09OKGkgPT0gLTEpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTc4NTpcdFx0aWYgKGdlby1cdTAwM2VhW2ldLmZsYWdzIFx1MDAyNiBMSUJJUFdfQ0hfUEFTU0lWRV9PTkxZKSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01Nzg2LVx0XHRcdElQV19XQVJOSU5HKFwmIzM0O092ZXJyaWRpbmcgaW52YWxpZCBjaGFubmVsXFxuXCYjMzQ7KTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01NzkwLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTc5MTpcdGNhc2UgTElCSVBXXzI0R0haX0JBTkQ6XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01NzkyLVx0XHRpZiAocHJpdi1cdTAwM2VpZWVlLVx1MDAzZW1vZGUgXHUwMDI2IElFRUVfRylcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01Nzk3LVx0XHRCVUdfT04oaSA9PSAtMSk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1Nzk4Olx0XHRpZiAoZ2VvLVx1MDAzZWJnW2ldLmZsYWdzIFx1MDAyNiBMSUJJUFdfQ0hfUEFTU0lWRV9PTkxZKSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01Nzk5LVx0XHRcdElQV19XQVJOSU5HKFwmIzM0O092ZXJyaWRpbmcgaW52YWxpZCBjaGFubmVsXFxuXCYjMzQ7KTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYz02MDIxPXN0YXRpYyB2b2lkIGlwd19zZXRfZml4ZWRfcmF0ZShzdHJ1Y3QgaXB3X3ByaXYgKnByaXYsIGludCBtb2RlKVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTYwMzItXHRzd2l0Y2ggKHByaXYtXHUwMDNlaWVlZS1cdTAwM2VmcmVxX2JhbmQpIHtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjYwMzM6XHRjYXNlIExJQklQV181MkdIWl9CQU5EOlx0LyogQSBvbmx5ICovXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MDM0LVx0XHQvKiBJRUVFX0EgKi9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjYwMzU6XHRcdGlmIChwcml2LVx1MDAzZXJhdGVzX21hc2sgXHUwMDI2IH5MSUJJUFdfT0ZETV9SQVRFU19NQVNLKSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MDM2LVx0XHRcdC8qIEludmFsaWQgZml4ZWQgcmF0ZSBtYXNrICovXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNjA0Mi1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjYwNDM6XHRcdG5ld190eF9yYXRlcyBcdTAwM2VcdTAwM2U9IExJQklQV19PRkRNX1NISUZUX01BU0tfQTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTYwNDQtXHRcdGJyZWFrO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTYwNDgtXHRcdGlmIChtb2RlID09IElFRUVfQikge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NjA0OTpcdFx0XHRpZiAobmV3X3R4X3JhdGVzIFx1MDAyNiB+TElCSVBXX0NDS19SQVRFU19NQVNLKSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MDUwLVx0XHRcdFx0LyogSW52YWxpZCBmaXhlZCByYXRlIG1hc2sgKi9cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MDU4LVx0XHQvKiBJRUVFX0cgKi9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjYwNTk6XHRcdGlmIChuZXdfdHhfcmF0ZXMgXHUwMDI2IH4oTElCSVBXX0NDS19SQVRFU19NQVNLIHxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjYwNjA6XHRcdFx0XHQgICAgTElCSVBXX09GRE1fUkFURVNfTUFTSykpIHtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTYwNjEtXHRcdFx0LyogSW52YWxpZCBmaXhlZCByYXRlIG1hc2sgKi9cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MDY3LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NjA2ODpcdFx0aWYgKExJQklQV19PRkRNX1JBVEVfNk1CX01BU0sgXHUwMDI2IG5ld190eF9yYXRlcykge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NjA2OTpcdFx0XHRtYXNrIHw9IChMSUJJUFdfT0ZETV9SQVRFXzZNQl9NQVNLIFx1MDAzZVx1MDAzZSAxKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjYwNzA6XHRcdFx0bmV3X3R4X3JhdGVzIFx1MDAyNj0gfkxJQklQV19PRkRNX1JBVEVfNk1CX01BU0s7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MDcxLVx0XHR9XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MDcyLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NjA3MzpcdFx0aWYgKExJQklQV19PRkRNX1JBVEVfOU1CX01BU0sgXHUwMDI2IG5ld190eF9yYXRlcykge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NjA3NDpcdFx0XHRtYXNrIHw9IChMSUJJUFdfT0ZETV9SQVRFXzlNQl9NQVNLIFx1MDAzZVx1MDAzZSAxKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjYwNzU6XHRcdFx0bmV3X3R4X3JhdGVzIFx1MDAyNj0gfkxJQklQV19PRkRNX1JBVEVfOU1CX01BU0s7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MDc2LVx0XHR9XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MDc3LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NjA3ODpcdFx0aWYgKExJQklQV19PRkRNX1JBVEVfMTJNQl9NQVNLIFx1MDAyNiBuZXdfdHhfcmF0ZXMpIHtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjYwNzk6XHRcdFx0bWFzayB8PSAoTElCSVBXX09GRE1fUkFURV8xMk1CX01BU0sgXHUwMDNlXHUwMDNlIDEpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NjA4MDpcdFx0XHRuZXdfdHhfcmF0ZXMgXHUwMDI2PSB+TElCSVBXX09GRE1fUkFURV8xMk1CX01BU0s7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MDgxLVx0XHR9XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9NjEwOD1zdGF0aWMgdm9pZCBpcHdfYWRkX3NjYW5fY2hhbm5lbHMoc3RydWN0IGlwd19wcml2ICpwcml2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTYxMTctXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo2MTE4Olx0aWYgKHByaXYtXHUwMDNlaWVlZS1cdTAwM2VmcmVxX2JhbmQgXHUwMDI2IExJQklQV181MkdIWl9CQU5EKSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MTE5LVx0XHRpbnQgc3RhcnQgPSBjaGFubmVsX2luZGV4O1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTYxMjctXHRcdFx0XHRcdCAgZ2VvLVx1MDAzZWFbaV0uXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo2MTI4Olx0XHRcdFx0XHQgIGZsYWdzIFx1MDAyNiBMSUJJUFdfQ0hfUEFTU0lWRV9PTkxZID9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTYxMjktXHRcdFx0XHRcdCAgSVBXX1NDQU5fUEFTU0lWRV9GVUxMX0RXRUxMX1NDQU4gOlxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTYxMzktXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo2MTQwOlx0aWYgKHByaXYtXHUwMDNlaWVlZS1cdTAwM2VmcmVxX2JhbmQgXHUwMDI2IExJQklQV18yNEdIWl9CQU5EKSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MTQxLVx0XHRpbnQgc3RhcnQgPSBjaGFubmVsX2luZGV4O1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTYxNDMtXHRcdFx0aW50IGluZGV4O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NjE0NDpcdFx0XHR1OCBjaGFubmVsc1tMSUJJUFdfMjRHSFpfQ0hBTk5FTFNdID0ge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNjE0NS1cdFx0XHRcdC8qIG5vcCBvdXQgdGhlIGxpc3QgKi9cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MTc5LVx0XHRcdFx0XHRcdCAgZmxhZ3MgXHUwMDI2XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo2MTgwOlx0XHRcdFx0XHRcdCAgTElCSVBXX0NIX1BBU1NJVkVfT05MWSA/XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MTgxLVx0XHRcdFx0XHRcdCAgSVBXX1NDQU5fUEFTU0lWRV9GVUxMX0RXRUxMX1NDQU5cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MTk0LVx0XHRcdFx0XHRcdCAgZmxhZ3MgXHUwMDI2XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo2MTk1Olx0XHRcdFx0XHRcdCAgTElCSVBXX0NIX1BBU1NJVkVfT05MWSA/XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MTk2LVx0XHRcdFx0XHRcdCAgSVBXX1NDQU5fUEFTU0lWRV9GVUxMX0RXRUxMX1NDQU5cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYz02MjIyPXN0YXRpYyBpbnQgaXB3X3JlcXVlc3Rfc2Nhbl9oZWxwZXIoc3RydWN0IGlwd19wcml2ICpwcml2LCBpbnQgdHlwZSwgaW50IGRpcmVjdClcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MjkzLVx0XHRzd2l0Y2ggKGxpYmlwd19pc192YWxpZF9jaGFubmVsKHByaXYtXHUwMDNlaWVlZSwgcHJpdi1cdTAwM2VjaGFubmVsKSkge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NjI5NDpcdFx0Y2FzZSBMSUJJUFdfNTJHSFpfQkFORDpcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTYyOTUtXHRcdFx0YmFuZCA9ICh1OCkgKElQV19BX01PREUgXHUwMDNjXHUwMDNjIDYpIHwgMTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02Mjk4LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NjI5OTpcdFx0Y2FzZSBMSUJJUFdfMjRHSFpfQkFORDpcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTYzMDAtXHRcdFx0YmFuZCA9ICh1OCkgKElQV19CX01PREUgXHUwMDNjXHUwMDNjIDYpIHwgMTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYz03MDU0PXN0YXRpYyB1MzIgaXB3X3Fvc19nZXRfYnVyc3RfZHVyYXRpb24oc3RydWN0IGlwd19wcml2ICpwcml2KVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTcwNjAtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo3MDYxOlx0aWYgKCEocHJpdi1cdTAwM2VpZWVlLVx1MDAzZW1vZHVsYXRpb24gXHUwMDI2IExJQklQV19PRkRNX01PRFVMQVRJT04pKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNzA2Mi1cdFx0cmV0ID0gcHJpdi1cdTAwM2Vxb3NfZGF0YS5idXJzdF9kdXJhdGlvbl9DQ0s7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9NzU5Mz1zdGF0aWMgdm9pZCBpcHdfcmVidWlsZF9kZWNyeXB0ZWRfc2tiKHN0cnVjdCBpcHdfcHJpdiAqcHJpdixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03NjA4LVx0XHQvKiBSZW1vdmUgQ0NNUCBIRFIgKi9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjc2MDk6XHRcdG1lbW1vdmUoc2tiLVx1MDAzZWRhdGEgJiM0MzsgTElCSVBXXzNBRERSX0xFTixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjc2MTA6XHRcdFx0c2tiLVx1MDAzZWRhdGEgJiM0MzsgTElCSVBXXzNBRERSX0xFTiAmIzQzOyA4LFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NzYxMTpcdFx0XHRza2ItXHUwMDNlbGVuIC0gTElCSVBXXzNBRERSX0xFTiAtIDgpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNzYxMi1cdFx0c2tiX3RyaW0oc2tiLCBza2ItXHUwMDNlbGVuIC0gMTYpO1x0LyogQ0NNUF9IRFJfTEVOICYjNDM7IENDTVBfTUlDX0xFTiAqL1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTc2MTctXHRcdC8qIFJlbW92ZSBJViAqL1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NzYxODpcdFx0bWVtbW92ZShza2ItXHUwMDNlZGF0YSAmIzQzOyBMSUJJUFdfM0FERFJfTEVOLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NzYxOTpcdFx0XHRza2ItXHUwMDNlZGF0YSAmIzQzOyBMSUJJUFdfM0FERFJfTEVOICYjNDM7IDQsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo3NjIwOlx0XHRcdHNrYi1cdTAwM2VsZW4gLSBMSUJJUFdfM0FERFJfTEVOIC0gNCk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03NjIxLVx0XHRza2JfdHJpbShza2IsIHNrYi1cdTAwM2VsZW4gLSA4KTtcdC8qIElWICYjNDM7IElDViAqL1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jPTgyMDY9c3RhdGljIHZvaWQgaXB3X3J4KHN0cnVjdCBpcHdfcHJpdiAqcHJpdilcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04MjU0LVx0XHRcdFx0XHQgICAgIGNvbnRyb2wgXHUwMDI2ICgxIFx1MDAzY1x1MDAzYyAwKSkgP1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6ODI1NTpcdFx0XHRcdFx0ICAgIExJQklQV18yNEdIWl9CQU5EIDpcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjgyNTY6XHRcdFx0XHRcdCAgICBMSUJJUFdfNTJHSFpfQkFORCxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTgyNTctXHRcdFx0XHRcdC5sZW4gPSBsZTE2X3RvX2NwdShwa3QtXHUwMDNldS5mcmFtZS5sZW5ndGgpLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTgyNjAtXHRcdFx0XHRpZiAoc3RhdHMucnNzaSAhPSAwKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6ODI2MTpcdFx0XHRcdFx0c3RhdHMubWFzayB8PSBMSUJJUFdfU1RBVE1BU0tfUlNTSTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTgyNjItXHRcdFx0XHRpZiAoc3RhdHMuc2lnbmFsICE9IDApXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo4MjYzOlx0XHRcdFx0XHRzdGF0cy5tYXNrIHw9IExJQklQV19TVEFUTUFTS19TSUdOQUw7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04MjY0LVx0XHRcdFx0aWYgKHN0YXRzLm5vaXNlICE9IDApXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo4MjY1Olx0XHRcdFx0XHRzdGF0cy5tYXNrIHw9IExJQklQV19TVEFUTUFTS19OT0lTRTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTgyNjYtXHRcdFx0XHRpZiAoc3RhdHMucmF0ZSAhPSAwKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6ODI2NzpcdFx0XHRcdFx0c3RhdHMubWFzayB8PSBMSUJJUFdfU1RBVE1BU0tfUkFURTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTgyNjgtXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9ODQxNj1zdGF0aWMgaW50IGlwd19zd19yZXNldChzdHJ1Y3QgaXB3X3ByaXYgKnByaXYsIGludCBvcHRpb24pXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODQ5OS1cdFx0cHJpdi1cdTAwM2VpZWVlLVx1MDAzZWFiZ190cnVlID0gMTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjg1MDA6XHRcdGJhbmQgPSBMSUJJUFdfNTJHSFpfQkFORCB8IExJQklQV18yNEdIWl9CQU5EO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6ODUwMTpcdFx0bW9kdWxhdGlvbiA9IExJQklQV19PRkRNX01PRFVMQVRJT04gfFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6ODUwMjpcdFx0ICAgIExJQklQV19DQ0tfTU9EVUxBVElPTjtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTg1MDMtXHRcdHByaXYtXHUwMDNlYWRhcHRlciA9IElQV18yOTE1QUJHO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTg1MTEtXHRcdHByaXYtXHUwMDNlaWVlZS1cdTAwM2VhYmdfdHJ1ZSA9IDA7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo4NTEyOlx0XHRiYW5kID0gTElCSVBXXzI0R0haX0JBTkQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo4NTEzOlx0XHRtb2R1bGF0aW9uID0gTElCSVBXX09GRE1fTU9EVUxBVElPTiB8XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo4NTE0Olx0XHQgICAgTElCSVBXX0NDS19NT0RVTEFUSU9OO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODUxNS1cdFx0cHJpdi1cdTAwM2VhZGFwdGVyID0gSVBXXzIyMDBCRztcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04NTIxLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6ODUyMjpcdHByaXYtXHUwMDNlcmF0ZXNfbWFzayA9IExJQklQV19ERUZBVUxUX1JBVEVTX01BU0s7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04NTIzLVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jPTg2MDA9c3RhdGljIGludCBpcHdfd3hfc2V0X2ZyZXEoc3RydWN0IG5ldF9kZXZpY2UgKmRldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04NjMzLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6ODYzNDpcdFx0ZmxhZ3MgPSAoYmFuZCA9PSBMSUJJUFdfMjRHSFpfQkFORCkgP1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODYzNS1cdFx0ICAgIGdlby1cdTAwM2ViZ1tpXS5mbGFncyA6IGdlby1cdTAwM2VhW2ldLmZsYWdzO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6ODYzNjpcdFx0aWYgKGZsYWdzIFx1MDAyNiBMSUJJUFdfQ0hfUEFTU0lWRV9PTkxZKSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04NjM3LVx0XHRcdElQV19ERUJVR19XWChcJiMzNDtJbnZhbGlkIEFkLUhvYyBjaGFubmVsIGZvciA4MDIuMTFhXFxuXCYjMzQ7KTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYz04NjQ5PXN0YXRpYyBpbnQgaXB3X3d4X2dldF9mcmVxKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODY2OC1cdFx0c3dpdGNoIChsaWJpcHdfaXNfdmFsaWRfY2hhbm5lbChwcml2LVx1MDAzZWllZWUsIHByaXYtXHUwMDNlY2hhbm5lbCkpIHtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjg2Njk6XHRcdGNhc2UgTElCSVBXXzUyR0haX0JBTkQ6XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04NjcwLVx0XHRcdHdycXUtXHUwMDNlZnJlcS5tID0gcHJpdi1cdTAwM2VpZWVlLVx1MDAzZWdlby5hW2ldLmZyZXEgKiAxMDAwMDA7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODY3Mi1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjg2NzM6XHRcdGNhc2UgTElCSVBXXzI0R0haX0JBTkQ6XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04Njc0LVx0XHRcdHdycXUtXHUwMDNlZnJlcS5tID0gcHJpdi1cdTAwM2VpZWVlLVx1MDAzZWdlby5iZ1tpXS5mcmVxICogMTAwMDAwO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jPTg3Njk9c3RhdGljIGludCBpcHdfd3hfZ2V0X3JhbmdlKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODgxOC1cdFx0XHRpZiAoKHByaXYtXHUwMDNlaWVlZS1cdTAwM2Vpd19tb2RlID09IElXX01PREVfQURIT0MpIFx1MDAyNlx1MDAyNlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6ODgxOTpcdFx0XHQgICAgKGdlby1cdTAwM2ViZ1tqXS5mbGFncyBcdTAwMjYgTElCSVBXX0NIX1BBU1NJVkVfT05MWSkpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04ODIwLVx0XHRcdFx0Y29udGludWU7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODgzMS1cdFx0XHRpZiAoKHByaXYtXHUwMDNlaWVlZS1cdTAwM2Vpd19tb2RlID09IElXX01PREVfQURIT0MpIFx1MDAyNlx1MDAyNlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6ODgzMjpcdFx0XHQgICAgKGdlby1cdTAwM2VhW2pdLmZsYWdzIFx1MDAyNiBMSUJJUFdfQ0hfUEFTU0lWRV9PTkxZKSlcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTg4MzMtXHRcdFx0XHRjb250aW51ZTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYz05MDc1PXN0YXRpYyBpbnQgaXB3X3d4X3NldF9yYXRlKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtOTA4OS1cdFx0Zml4ZWQgPSAwO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6OTA5MDpcdFx0bWFzayA9IExJQklQV19ERUZBVUxUX1JBVEVTX01BU0s7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy05MDkxLVx0XHQvKiBOb3cgd2Ugc2hvdWxkIHJlYXNzb2NpYXRlICovXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtOTA5OC1cdGlmICh0YXJnZXRfcmF0ZSA9PSAxMDAwMDAwIHx8ICFmaXhlZClcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjkwOTk6XHRcdG1hc2sgfD0gTElCSVBXX0NDS19SQVRFXzFNQl9NQVNLO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtOTEwMC1cdGlmICh0YXJnZXRfcmF0ZSA9PSAxMDAwMDAwKVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTkxMDMtXHRpZiAodGFyZ2V0X3JhdGUgPT0gMjAwMDAwMCB8fCAhZml4ZWQpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo5MTA0Olx0XHRtYXNrIHw9IExJQklQV19DQ0tfUkFURV8yTUJfTUFTSztcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTkxMDUtXHRpZiAodGFyZ2V0X3JhdGUgPT0gMjAwMDAwMClcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy05MTA4LVx0aWYgKHRhcmdldF9yYXRlID09IDU1MDAwMDAgfHwgIWZpeGVkKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6OTEwOTpcdFx0bWFzayB8PSBMSUJJUFdfQ0NLX1JBVEVfNU1CX01BU0s7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy05MTEwLVx0aWYgKHRhcmdldF9yYXRlID09IDU1MDAwMDApXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtOTExMy1cdGlmICh0YXJnZXRfcmF0ZSA9PSA2MDAwMDAwIHx8ICFmaXhlZClcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjkxMTQ6XHRcdG1hc2sgfD0gTElCSVBXX09GRE1fUkFURV82TUJfTUFTSztcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTkxMTUtXHRpZiAodGFyZ2V0X3JhdGUgPT0gNjAwMDAwMClcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy05MTE4LVx0aWYgKHRhcmdldF9yYXRlID09IDkwMDAwMDAgfHwgIWZpeGVkKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6OTExOTpcdFx0bWFzayB8PSBMSUJJUFdfT0ZETV9SQVRFXzlNQl9NQVNLO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtOTEyMC1cdGlmICh0YXJnZXRfcmF0ZSA9PSA5MDAwMDAwKVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTkxMjMtXHRpZiAodGFyZ2V0X3JhdGUgPT0gMTEwMDAwMDAgfHwgIWZpeGVkKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6OTEyNDpcdFx0bWFzayB8PSBMSUJJUFdfQ0NLX1JBVEVfMTFNQl9NQVNLO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtOTEyNS1cdGlmICh0YXJnZXRfcmF0ZSA9PSAxMTAwMDAwMClcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy05MTI4LVx0aWYgKHRhcmdldF9yYXRlID09IDEyMDAwMDAwIHx8ICFmaXhlZClcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjkxMjk6XHRcdG1hc2sgfD0gTElCSVBXX09GRE1fUkFURV8xMk1CX01BU0s7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy05MTMwLVx0aWYgKHRhcmdldF9yYXRlID09IDEyMDAwMDAwKVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTkxMzMtXHRpZiAodGFyZ2V0X3JhdGUgPT0gMTgwMDAwMDAgfHwgIWZpeGVkKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6OTEzNDpcdFx0bWFzayB8PSBMSUJJUFdfT0ZETV9SQVRFXzE4TUJfTUFTSztcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTkxMzUtXHRpZiAodGFyZ2V0X3JhdGUgPT0gMTgwMDAwMDApXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtOTEzOC1cdGlmICh0YXJnZXRfcmF0ZSA9PSAyNDAwMDAwMCB8fCAhZml4ZWQpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo5MTM5Olx0XHRtYXNrIHw9IExJQklQV19PRkRNX1JBVEVfMjRNQl9NQVNLO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtOTE0MC1cdGlmICh0YXJnZXRfcmF0ZSA9PSAyNDAwMDAwMClcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy05MTQzLVx0aWYgKHRhcmdldF9yYXRlID09IDM2MDAwMDAwIHx8ICFmaXhlZClcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjkxNDQ6XHRcdG1hc2sgfD0gTElCSVBXX09GRE1fUkFURV8zNk1CX01BU0s7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy05MTQ1LVx0aWYgKHRhcmdldF9yYXRlID09IDM2MDAwMDAwKVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTkxNDgtXHRpZiAodGFyZ2V0X3JhdGUgPT0gNDgwMDAwMDAgfHwgIWZpeGVkKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6OTE0OTpcdFx0bWFzayB8PSBMSUJJUFdfT0ZETV9SQVRFXzQ4TUJfTUFTSztcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTkxNTAtXHRpZiAodGFyZ2V0X3JhdGUgPT0gNDgwMDAwMDApXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtOTE1My1cdGlmICh0YXJnZXRfcmF0ZSA9PSA1NDAwMDAwMCB8fCAhZml4ZWQpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo5MTU0Olx0XHRtYXNrIHw9IExJQklQV19PRkRNX1JBVEVfNTRNQl9NQVNLO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtOTE1NS1cdGlmICh0YXJnZXRfcmF0ZSA9PSA1NDAwMDAwMClcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy05MTY0LVx0bXV0ZXhfbG9jayhcdTAwMjZwcml2LVx1MDAzZW11dGV4KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjkxNjU6XHRpZiAobWFzayA9PSBMSUJJUFdfREVGQVVMVF9SQVRFU19NQVNLKSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy05MTY2LVx0XHRwcml2LVx1MDAzZWNvbmZpZyBcdTAwMjY9IH5DRkdfRklYRURfUkFURTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYz05NTkzPXN0YXRpYyBpbnQgaXB3X3d4X3NldF93aXJlbGVzc19tb2RlKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXG4tLVxuXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OC8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMzEgMjA6MTg8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjctZmxhc2g8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMzAwOTIKCQkJCQkJCW91dHB1dDogMTgKCQkJCQkJCXRob3VnaHRzOiA0OAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipJbnZlc3RpZ2F0aW5nIExJQklQVyBVc2FnZSoqCgpPa2F5LCBsZXQmIzM5O3MgZGl2ZSBpbi4gTXkgaW1tZWRpYXRlIHF1ZXN0aW9uIGlzLCB3aG8mIzM5O3Mgc3RpbGwgcmVseWluZyBvbiBgTElCSVBXYD8gSXQmIzM5O3MgYmVlbiBhcm91bmQgZm9yIGEgd2hpbGUsIGFuZCBteSBleHBlcmllbmNlIHRlbGxzIG1lIGl0JiMzOTtzIGxpa2VseSBhIGxlZ2FjeSBjb21wb25lbnQuIEkgbmVlZCB0byBmaWd1cmUgb3V0IHdoYXQgZHJpdmVycywgaWYgYW55LCBhcmUgc3RpbGwgYWN0aXZlbHkgdXNpbmcgaXQuIEkgc3VzcGVjdCB0aGVyZSBtYXkgYmUgdmVyeSBmZXcsIGFuZCBJIHNob3VsZCBiZSB3YXJ5IG9mIGFueSBwcm9qZWN0cyBzdGlsbCB1c2luZyB0aGlzIGdpdmVuIGl0cyBhZ2UuCgpUaGUgYmVzdCB3YXkgdG8gZG8gdGhpcyBpcyBhIHF1aWNrIGBnaXQgZ3JlcGAgdG8gc2NhbiB0aGUgY29kZWJhc2UuIFNwZWNpZmljYWxseSwgSeKAmWxsIHNlYXJjaCBmb3IgaW5zdGFuY2VzIG9mICYjMzQ7Q09ORklHX0xJQklQVyYjMzQ7IGFuZCAmIzM0O3NlbGVjdCBMSUJJUFcmIzM0Oy4gVGhhdCBzaG91bGQgZ2l2ZSBtZSBhIHNvbGlkIG92ZXJ2aWV3IG9mIGFueSBidWlsZCBjb25maWd1cmF0aW9ucyBvciBtb2R1bGUgc2VsZWN0aW9ucyB0aGF0IHN0aWxsIGhhdmUgYSBkZXBlbmRlbmN5IG9uIGl0LiBUaGlzIGlzIGEgc3RyYWlnaHRmb3J3YXJkIHN0YXJ0aW5nIHBvaW50LiBMZXQmIzM5O3Mgc2VlIHdoYXQgdHVybnMgdXAhCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OS8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMzEgMjA6MTg8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7c2VsZWN0IExJQklQVyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWc9Nj1jb25maWcgSVBXMjEwMFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvS2NvbmZpZy0xMS1cdHNlbGVjdCBGV19MT0FERVJcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvS2NvbmZpZzoxMjpcdHNlbGVjdCBMSUJJUFdcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvS2NvbmZpZy0xMy1cdGhlbHBcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWc9NjU9Y29uZmlnIElQVzIyMDBcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWctNzAtXHRzZWxlY3QgRldfTE9BREVSXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWc6NzE6XHRzZWxlY3QgTElCSVBXXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWctNzItXHRoZWxwXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTAvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzMxIDIwOjE5PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy43LWZsYXNoPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDMwNTY3CgkJCQkJCQlvdXRwdXQ6IDE5CgkJCQkJCQl0aG91Z2h0czogMjY3CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkludmVzdGlnYXRpbmcgdGhlIEludGVsIENlbnRyaW5vIFdpcmVsZXNzIExhbmRzY2FwZSBpbiBRRU1VKioKCk9rYXksIHNvIEkmIzM5O20gdGhpbmtpbmcgYWJvdXQgdGhlc2Ugb2xkIEludGVsIFBSTy9XaXJlbGVzcyBkcml2ZXJzLCBgaXB3MjEwMGAgYW5kIGBpcHcyMjAwYC4gVGhlc2UgYXJlIHJlbGljcyBmcm9tIHRoZSBDZW50cmlubyBlcmEsIHNwZWNpZmljYWxseSB0aGUgYDIxMDBgIGFuZCB0aGUgYDIyMDBCRyAvIDI5MTVBQkdgIGNhcmRzLiBUaGV5IHJlbHkgb24gYFBDSWAgYW5kIGBDRkc4MDIxMWAsIHdoaWNoIG1ha2VzIHNlbnNlIGZvciB0aGUgdGltZS4gQnV0IHRoZSBidXJuaW5nIHF1ZXN0aW9uIGlzLCBjYW4gSSBldmVuICp0ZXN0KiB0aGVzZSBpbiBhIHN0YW5kYXJkIFFFTVUgc2V0dXAsIG9yIGFueSB2aXJ0dWFsaXphdGlvbiBlbnZpcm9ubWVudCBmb3IgdGhhdCBtYXR0ZXI/IEkgbmVlZCB0byBrbm93IGlmIFFFTVUgYm90aGVycyB0byBlbXVsYXRlIHRoZXNlIHNwZWNpZmljIGRldmljZXMuCgpBIHF1aWNrIGNoZWNrIGNvbmZpcm1zIG15IHN1c3BpY2lvbjogTm8uIFFFTVUgZG9lc24mIzM5O3Qgb2ZmZXIgbmF0aXZlIGVtdWxhdGlvbiBmb3IgdGhlc2UgcGFydGljdWxhciBJbnRlbCBQUk8vV2lyZWxlc3MgUENJIGRldmljZXMuIEl0IHNlZW1zIHRoZXkmIzM5O3JlIHRvbyBuaWNoZSwgb3IgcGVyaGFwcyB0b28gZWFybHkuCgpBbHJpZ2h0LCBzbyBpZiBub3QgZGlyZWN0IGhhcmR3YXJlIGVtdWxhdGlvbiwgd2hhdCBhYm91dCBzb2Z0d2FyZS1iYXNlZCBzb2x1dGlvbnM/IElzIHRoZXJlIGFueSBleGlzdGluZyBzb2Z0d2FyZSBlbXVsYXRpb24gdXNpbmcgc29tZXRoaW5nIGxpa2UgYG1hYzgwMjExX2h3c2ltYCwgYSBVU0IgZ2FkZ2V0IHNldHVwLCBvciBldmVuIHNvbWV0aGluZyB2aXJ0aW8tYmFzZWQgdGhhdCAqbWlnaHQqIGxldmVyYWdlIHRoZSBgbGliaXB3YCBkcml2ZXI/CgpIb2xkIG9uLi4uIGBtYWM4MDIxMV9od3NpbWAgaXNuJiMzOTt0IGdvaW5nIHRvIGhlbHAgaGVyZS4gSXQgcmVsaWVzIG9uIHRoZSBzdGFuZGFyZCBgbWFjODAyMTFgIGZyYW1ld29yaywgYW5kIGZyb20gd2hhdCBJIHJlY2FsbCwgYGxpYmlwd2Agd2FzIEludGVsJiMzOTtzICpjdXN0b20qIDgwMi4xMSBzdGFjayB1c2VkIGV4Y2x1c2l2ZWx5IGJ5IGBpcHcyMTAwYCBhbmQgYGlwdzIyMDBgIGJlZm9yZSB0aGUgc3dpdGNoIHRvIHRoZSBgbWFjODAyMTFgIC8gYGNmZzgwMjExYCBzdGFuZGFyZCBzdGFjay4gU28sIGBtYWM4MDIxMV9od3NpbWAgaXMgb3V0LgoKTGV0JiMzOTtzIGRvIGEgd2lkZXIgc2VhcmNoLiBJIG5lZWQgdG8gbWFrZSBzdXJlIEkmIzM5O20gbm90IG1pc3NpbmcgYW55dGhpbmcuIEkmIzM5O2xsIG5lZWQgdG8gc2VlIGlmIGFueXRoaW5nIGVsc2UgYXQgYWxsIGluIHRoZSBrZXJuZWwsIHVzZXMgYGxpYmlwd2Agb3IgYGxpYmlwd19yeGAuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTEvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzMxIDIwOjE5PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2xpYmlwd19yeCYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL01ha2VmaWxlPTEwPWxpYmlwdy1vYmpzIDo9IFxcXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9NYWtlZmlsZS0xMi1cdGxpYmlwd190eC5vIFxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL01ha2VmaWxlOjEzOlx0bGliaXB3X3J4Lm8gXFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvTWFrZWZpbGUtMTQtXHRsaWJpcHdfd3gubyBcXFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTI0MzM9c3RhdGljIHZvaWQgaXNyX3J4KHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYsIGludCBpLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MjQzNDpcdFx0XHQgIHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgKnN0YXRzKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjQzNS17XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjQ3MS1cdC8qIE1ha2UgYSBjb3B5IG9mIHRoZSBmcmFtZSBzbyB3ZSBjYW4gZHVtcCBpdCB0byB0aGUgbG9ncyBpZlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MjQ3MjpcdCAqIGxpYmlwd19yeCBmYWlscyAqL1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjQ3My1cdHNrYl9jb3B5X2Zyb21fbGluZWFyX2RhdGEocGFja2V0LVx1MDAzZXNrYiwgcGFja2V0X2RhdGEsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjQ3Ny1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjI0Nzg6XHRpZiAoIWxpYmlwd19yeChwcml2LVx1MDAzZWllZWUsIHBhY2tldC1cdTAwM2Vza2IsIHN0YXRzKSkge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjQ3OS0jaWZkZWYgSVBXMjEwMF9SWF9ERUJVR1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI0ODUtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyNDg2Olx0XHQvKiBsaWJpcHdfcnggZmFpbGVkLCBzbyBpdCBkaWRuJiMzOTt0IGZyZWUgdGhlIFNLQiAqL1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjQ4Ny1cdFx0ZGV2X2tmcmVlX3NrYl9hbnkocGFja2V0LVx1MDAzZXNrYik7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9MjUwNj1zdGF0aWMgdm9pZCBpc3JfcnhfbW9uaXRvcihzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2LCBpbnQgaSxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjI1MDc6XHRcdCAgIHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgKnN0YXRzKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjUwOC17XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjU2NC1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjI1NjU6XHRpZiAoIWxpYmlwd19yeChwcml2LVx1MDAzZWllZWUsIHBhY2tldC1cdTAwM2Vza2IsIHN0YXRzKSkge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjU2Ni1cdFx0ZGV2LVx1MDAzZXN0YXRzLnJ4X2Vycm9ycyYjNDM7JiM0Mzs7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNTY3LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MjU2ODpcdFx0LyogbGliaXB3X3J4IGZhaWxlZCwgc28gaXQgZGlkbiYjMzk7dCBmcmVlIHRoZSBTS0IgKi9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI1NjktXHRcdGRldl9rZnJlZV9za2JfYW55KHBhY2tldC1cdTAwM2Vza2IpO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTI2NDQ9c3RhdGljIHZvaWQgX19pcHcyMTAwX3J4X3Byb2Nlc3Moc3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdilcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNjUxLVx0c3RydWN0IGlwdzIxMDBfcnggKnU7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyNjUyOlx0c3RydWN0IGxpYmlwd19yeF9zdGF0cyBzdGF0cyA9IHtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI2NTMtXHRcdC5tYWNfdGltZSA9IGppZmZpZXMsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjcxOC1cdFx0XHRjYXNlIElFRUU4MDIxMV9GVFlQRV9NR01UOlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MjcxOTpcdFx0XHRcdGxpYmlwd19yeF9tZ3QocHJpdi1cdTAwM2VpZWVlLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjcyMC1cdFx0XHRcdFx0XHQgXHUwMDI2dS1cdTAwM2VyeF9kYXRhLmhlYWRlciwgXHUwMDI2c3RhdHMpO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jPTQ0MjU9c3RhdGljIHZvaWQgaXB3X3J4X25vdGlmaWNhdGlvbihzdHJ1Y3QgaXB3X3ByaXYgKnByaXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNDQ4Mi1cdFx0XHRcdFx0XHRcdHN0cnVjdFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NDQ4MzpcdFx0XHRcdFx0XHRcdGxpYmlwd19yeF9zdGF0c1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNDQ4NC1cdFx0XHRcdFx0XHRcdCAgICBzdGF0cyA9IHtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy00NDkwLVx0XHRcdFx0XHRcdFx0ICAgICBcJiMzNDtzaXplICVkXFxuXCYjMzQ7LCBzaXplKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjQ0OTE6XHRcdFx0XHRcdFx0XHRsaWJpcHdfcnhfbWd0KHByaXYtXHUwMDNlXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy00NDkyLVx0XHRcdFx0XHRcdFx0XHRcdCBpZWVlLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jPTc2MzI9c3RhdGljIHZvaWQgaXB3X2hhbmRsZV9kYXRhX3BhY2tldChzdHJ1Y3QgaXB3X3ByaXYgKnByaXYsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03NjMzLVx0XHRcdFx0ICAgc3RydWN0IGlwd19yeF9tZW1fYnVmZmVyICpyeGIsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo3NjM0Olx0XHRcdFx0ICAgc3RydWN0IGxpYmlwd19yeF9zdGF0cyAqc3RhdHMpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03NjM1LXtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03NjcyLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NzY3MzpcdGlmICghbGliaXB3X3J4KHByaXYtXHUwMDNlaWVlZSwgcnhiLVx1MDAzZXNrYiwgc3RhdHMpKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNzY3NC1cdFx0ZGV2LVx1MDAzZXN0YXRzLnJ4X2Vycm9ycyYjNDM7JiM0Mzs7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo3Njc1Olx0ZWxzZSB7XHRcdFx0LyogbGliaXB3X3J4IHN1Y2NlZWRlZCwgc28gaXQgbm93IG93bnMgdGhlIFNLQiAqL1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNzY3Ni1cdFx0cnhiLVx1MDAzZXNrYiA9IE5VTEw7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9NzY4Mj1zdGF0aWMgdm9pZCBpcHdfaGFuZGxlX2RhdGFfcGFja2V0X21vbml0b3Ioc3RydWN0IGlwd19wcml2ICpwcml2LFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNzY4My1cdFx0XHRcdFx0ICAgc3RydWN0IGlwd19yeF9tZW1fYnVmZmVyICpyeGIsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo3Njg0Olx0XHRcdFx0XHQgICBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICpzdGF0cylcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTc2ODUte1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTc4MjktXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo3ODMwOlx0aWYgKCFsaWJpcHdfcngocHJpdi1cdTAwM2VpZWVlLCByeGItXHUwMDNlc2tiLCBzdGF0cykpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03ODMxLVx0XHRkZXYtXHUwMDNlc3RhdHMucnhfZXJyb3JzJiM0MzsmIzQzOztcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjc4MzI6XHRlbHNlIHtcdFx0XHQvKiBsaWJpcHdfcnggc3VjY2VlZGVkLCBzbyBpdCBub3cgb3ducyB0aGUgU0tCICovXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03ODMzLVx0XHRyeGItXHUwMDNlc2tiID0gTlVMTDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYz03ODU5PXN0YXRpYyB2b2lkIGlwd19oYW5kbGVfcHJvbWlzY3VvdXNfcngoc3RydWN0IGlwd19wcml2ICpwcml2LFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNzg2MC1cdFx0XHRcdCAgICAgIHN0cnVjdCBpcHdfcnhfbWVtX2J1ZmZlciAqcnhiLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6Nzg2MTpcdFx0XHRcdCAgICAgIHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgKnN0YXRzKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNzg2Mi17XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODAzNS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjgwMzY6XHRpZiAoIWxpYmlwd19yeChwcml2LVx1MDAzZXByb21fcHJpdi1cdTAwM2VpZWVlLCBza2IsIHN0YXRzKSkge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODAzNy1cdFx0ZGV2LVx1MDAzZXN0YXRzLnJ4X2Vycm9ycyYjNDM7JiM0Mzs7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9ODE1ND1zdGF0aWMgdm9pZCBpcHdfaGFuZGxlX21nbXRfcGFja2V0KHN0cnVjdCBpcHdfcHJpdiAqcHJpdixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTgxNTUtXHRcdFx0XHQgICBzdHJ1Y3QgaXB3X3J4X21lbV9idWZmZXIgKnJ4YixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjgxNTY6XHRcdFx0XHQgICBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICpzdGF0cylcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTgxNTcte1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTgxNjItXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo4MTYzOlx0bGliaXB3X3J4X21ndChwcml2LVx1MDAzZWllZWUsIGhlYWRlciwgc3RhdHMpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODE2NC1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04MTg0LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6ODE4NTpcdFx0LyogUHVzaCB0aGUgbGliaXB3X3J4X3N0YXRzIGJlZm9yZSB0aGUgODAyLjExIGZyYW1lICovXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04MTg2LVx0XHRtZW1jcHkoc2tiX3B1c2goc2tiLCBzaXplb2YoKnN0YXRzKSksIHN0YXRzLCBzaXplb2YoKnN0YXRzKSk7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9ODIwNj1zdGF0aWMgdm9pZCBpcHdfcngoc3RydWN0IGlwd19wcml2ICpwcml2KVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTgyMzktXHRcdGNhc2UgUlhfRlJBTUVfVFlQRTpcdC8qIDgwMi4xMSBmcmFtZSAqLyAge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6ODI0MDpcdFx0XHRcdHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgc3RhdHMgPSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04MjQxLVx0XHRcdFx0XHQucnNzaSA9IHBrdC1cdTAwM2V1LmZyYW1lLnJzc2lfZGJtIC1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYz0xMDI1Nj1zdGF0aWMgdm9pZCBpcHdfaGFuZGxlX3Byb21pc2N1b3VzX3R4KHN0cnVjdCBpcHdfcHJpdiAqcHJpdixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy0xMDI1OC17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzoxMDI1OTpcdHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgZHVtbXlzdGF0cztcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTEwMjYwLVx0c3RydWN0IGllZWU4MDIxMV9oZHIgKmhkcjtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy0xMDMzMC1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjEwMzMxOlx0XHRpZiAoIWxpYmlwd19yeChwcml2LVx1MDAzZXByb21fcHJpdi1cdTAwM2VpZWVlLCBkc3QsIFx1MDAyNmR1bW15c3RhdHMpKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtMTAzMzItXHRcdFx0ZGV2X2tmcmVlX3NrYl9hbnkoZHN0KTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oPTEzNT1zdHJ1Y3QgbGliaXB3X3NuYXBfaGRyIHtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oLTIxNy0gKiAgICAgICBpbmZvcm1hdGlvbiBmb3IgZnJhbWVzIHJlY2VpdmVkLlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaDoyMTg6ICogICAgICAgRm9yIGxpYmlwd19yeF9tZ3QsIHlvdSBuZWVkIHRvIHNldCBhdCBsZWFzdCB0aGUgJiMzOTtsZW4mIzM5OyBwYXJhbWV0ZXIuXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oLTIxOS0gKi9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3Lmg6MjIwOnN0cnVjdCBsaWJpcHdfcnhfc3RhdHMge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaC0yMjEtXHR1MzIgbWFjX3RpbWU7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaD01OTk9c3RydWN0IGxpYmlwd19uZXR3b3JrIHtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oLTYwOS1cdC8qIFRoZXNlIGFyZSBuZXR3b3JrIHN0YXRpc3RpY3MgKi9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3Lmg6NjEwOlx0c3RydWN0IGxpYmlwd19yeF9zdGF0cyBzdGF0cztcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3LmgtNjExLVx0dTE2IGNhcGFiaWxpdHk7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaD03NzA9c3RydWN0IGxpYmlwd19kZXZpY2Uge1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3LmgtODY2LVx0XHRcdCAgICAgIHN0cnVjdCBsaWJpcHdfYWN0aW9uICogYWN0aW9uLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaDo4Njc6XHRcdFx0ICAgICAgc3RydWN0IGxpYmlwd19yeF9zdGF0cyAqIHN0YXRzKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3LmgtODY4LVx0aW50ICgqaGFuZGxlX2Rpc2Fzc29jKSAoc3RydWN0IG5ldF9kZXZpY2UgKiBkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaC04NzctXHRcdFx0XHQgICAgIHN0cnVjdCBsaWJpcHdfcHJvYmVfcmVxdWVzdCAqIHJlcSxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3Lmg6ODc4Olx0XHRcdFx0ICAgICBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICogc3RhdHMpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaC04NzktXHRpbnQgKCpoYW5kbGVfYXNzb2NfcmVzcG9uc2UpIChzdHJ1Y3QgbmV0X2RldmljZSAqIGRldixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oPTEwMTE9dm9pZCBsaWJpcHdfdHhiX2ZyZWUoc3RydWN0IGxpYmlwd190eGIgKik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oLTEwMTItXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oOjEwMTM6LyogbGliaXB3X3J4LmMgKi9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3Lmg6MTAxNDppbnQgbGliaXB3X3J4KHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaDoxMDE1Olx0ICAgICAgc3RydWN0IGxpYmlwd19yeF9zdGF0cyAqcnhfc3RhdHMpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaC0xMDE2LS8qIG1ha2Ugc3VyZSB0byBzZXQgc3RhdHMtXHUwMDNlbGVuICovXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oOjEwMTc6dm9pZCBsaWJpcHdfcnhfbWd0KHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLCBzdHJ1Y3QgbGliaXB3X2hkcl80YWRkciAqaGVhZGVyLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaDoxMDE4Olx0XHQgICBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICpzdGF0cyk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oLTEwMTktXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYz0zMj1zdGF0aWMgdm9pZCBsaWJpcHdfbW9uaXRvcl9yeChzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMzMtXHRcdFx0XHRcdHN0cnVjdCBza19idWZmICpza2IsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjM0Olx0XHRcdFx0XHRzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICpyeF9zdGF0cylcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMzUte1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM9MTMzPXN0YXRpYyBpbnQgbGliaXB3X2ZyYWdfY2FjaGVfaW52YWxpZGF0ZShzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTE1Ni0jaWZkZWYgTk9UX1lFVFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzoxNTc6LyogbGliaXB3X3J4X2ZyYW1lX21ndG10XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTE1OC0gKlxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTYwLSAqXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjE2MTogKiBDYWxsZWQgYnkgbGliaXB3X3J4ICovXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTE2Mi1zdGF0aWMgaW50XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjE2MzpsaWJpcHdfcnhfZnJhbWVfbWdtdChzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSwgc3RydWN0IHNrX2J1ZmYgKnNrYixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6MTY0Olx0XHRcdHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgKnJ4X3N0YXRzLCB1MTYgdHlwZSxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTY1LVx0XHRcdHUxNiBzdHlwZSlcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jPTIxOT1zdGF0aWMgdW5zaWduZWQgY2hhciBsaWJpcHdfYnJpZGdlX3R1bm5lbF9oZWFkZXJbXSA9XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0yMjItXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjIyMzovKiBDYWxsZWQgYnkgbGliaXB3X3J4X2ZyYW1lX2RlY3J5cHQgKi9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMjI0LXN0YXRpYyBpbnQgbGliaXB3X2lzX2VhcG9sX2ZyYW1lKHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMjYyLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzoyNjM6LyogQ2FsbGVkIG9ubHkgYXMgYSB0YXNrbGV0IChzb2Z0d2FyZSBJUlEpLCBieSBsaWJpcHdfcnggKi9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMjY0LXN0YXRpYyBpbnRcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6MjY1OmxpYmlwd19yeF9mcmFtZV9kZWNyeXB0KHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0yNjYtXHRcdFx0ICAgc3RydWN0IGxpYmlwd19jcnlwdF9kYXRhICpjcnlwdClcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTI5My1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6Mjk0Oi8qIENhbGxlZCBvbmx5IGFzIGEgdGFza2xldCAoc29mdHdhcmUgSVJRKSwgYnkgbGliaXB3X3J4ICovXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTI5NS1zdGF0aWMgaW50XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjI5NjpsaWJpcHdfcnhfZnJhbWVfZGVjcnlwdF9tc2R1KHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0yOTctXHRcdFx0XHRzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBpbnQga2V5aWR4LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMzI0LSAqIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIG9ubHkgYXMgYSB0YXNrbGV0IChzb2Z0d2FyZSBJUlEpLiAqL1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzozMjU6aW50IGxpYmlwd19yeChzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSwgc3RydWN0IHNrX2J1ZmYgKnNrYixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6MzI2Olx0XHQgc3RydWN0IGxpYmlwd19yeF9zdGF0cyAqcnhfc3RhdHMpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTMyNy17XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy00NzEtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjQ3MjpcdFx0aWYgKGxpYmlwd19yeF9mcmFtZV9tZ210KGllZWUsIHNrYiwgcnhfc3RhdHMsIHR5cGUsIHN0eXBlKSlcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtNDczLVx0XHRcdGdvdG8gcnhfZHJvcHBlZDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTU2Ni1cdGlmICgoZmMgXHUwMDI2IElFRUU4MDIxMV9GQ1RMX1BST1RFQ1RFRCkgXHUwMDI2XHUwMDI2IGNhbl9iZV9kZWNyeXB0ZWQgXHUwMDI2XHUwMDI2XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjU2NzpcdCAgICAoa2V5aWR4ID0gbGliaXB3X3J4X2ZyYW1lX2RlY3J5cHQoaWVlZSwgc2tiLCBjcnlwdCkpIFx1MDAzYyAwKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy01NjgtXHRcdGdvdG8gcnhfZHJvcHBlZDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTYzMC1cdGlmICgoZmMgXHUwMDI2IElFRUU4MDIxMV9GQ1RMX1BST1RFQ1RFRCkgXHUwMDI2XHUwMDI2IGNhbl9iZV9kZWNyeXB0ZWQgXHUwMDI2XHUwMDI2XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjYzMTpcdCAgICBsaWJpcHdfcnhfZnJhbWVfZGVjcnlwdF9tc2R1KGllZWUsIHNrYiwga2V5aWR4LCBjcnlwdCkpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTYzMi1cdFx0Z290byByeF9kcm9wcGVkO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM9MTIwNT1zdGF0aWMgaW50IGxpYmlwd19oYW5kbGVfYXNzb2NfcmVzcChzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSwgc3RydWN0IGxpYmlwd19hc3NvY19yZXNwb25zZVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzoxMjA2Olx0XHRcdFx0ICAgICAgICpmcmFtZSwgc3RydWN0IGxpYmlwd19yeF9zdGF0cyAqc3RhdHMpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTEyMDcte1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM9MTI2Mz1zdGF0aWMgaW50IGxpYmlwd19uZXR3b3JrX2luaXQoc3RydWN0IGxpYmlwd19kZXZpY2UgKmllZWUsIHN0cnVjdCBsaWJpcHdfcHJvYmVfcmVzcG9uc2Vcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTEyNjUtXHRcdFx0XHRcdCBzdHJ1Y3QgbGliaXB3X25ldHdvcmsgKm5ldHdvcmssXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjEyNjY6XHRcdFx0XHRcdCBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICpzdGF0cylcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTI2Ny17XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYz0xMzM3PXN0YXRpYyB2b2lkIHVwZGF0ZV9uZXR3b3JrKHN0cnVjdCBsaWJpcHdfbmV0d29yayAqZHN0LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTM0OS1cdFx0bWVtY3B5KFx1MDAyNmRzdC1cdTAwM2VzdGF0cywgXHUwMDI2c3JjLVx1MDAzZXN0YXRzLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzoxMzUwOlx0XHQgICAgICAgc2l6ZW9mKHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMpKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTM1MS1cdGVsc2Vcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jPTE0MDk9c3RhdGljIHZvaWQgbGliaXB3X3Byb2Nlc3NfcHJvYmVfcmVzcG9uc2Uoc3RydWN0IGxpYmlwd19kZXZpY2Vcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTE0MTEtXHRcdFx0XHRcdFx0ICAgIGxpYmlwd19wcm9iZV9yZXNwb25zZVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzoxNDEyOlx0XHRcdFx0XHRcdCAgICAqYmVhY29uLCBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTE0MTMtXHRcdFx0XHRcdFx0ICAgICpzdGF0cylcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTE1MTktXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjE1MjA6dm9pZCBsaWJpcHdfcnhfbWd0KHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0xNTIxLVx0XHQgICAgICBzdHJ1Y3QgbGliaXB3X2hkcl80YWRkciAqaGVhZGVyLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzoxNTIyOlx0XHQgICAgICBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICpzdGF0cylcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTUyMy17XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0xNjQxLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzoxNjQyOkVYUE9SVF9TWU1CT0wobGliaXB3X3J4X21ndCk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjE2NDM6RVhQT1JUX1NZTUJPTChsaWJpcHdfcngpO1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEyLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8zMSAyMDoxOTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuNy1mbGFzaDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAzODUxNAoJCQkJCQkJb3V0cHV0OiAxMDAKCQkJCQkJCXRob3VnaHRzOiA0ODkKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHlzaXMgb2YgRnV6emluZyBBcHBsaWNhYmlsaXR5KioKCk9rYXksIGxldCYjMzk7cyBtYWtlIHN1cmUgd2UmIzM5O3ZlIGdvdCB0aGlzIHJpZ2h0LiBGaXJzdCwgbGV0JiMzOTtzIGNvbmZpcm0gdGhhdCBgbGliaXB3YCBpcyBvbmx5IHVzZWQgYnkgdGhlIGBpcHcyMTAwYCBhbmQgYGlwdzIyMDBgIGRyaXZlcnMuIFllcCwgdGhhdCYjMzk7cyBjb3JyZWN0LiBUaGVzZSBhcmUgbGVnYWN5IGRyaXZlcnMgZm9yIEludGVsIFBSTy9XaXJlbGVzcyAyMTAwIGFuZCAyMjAwQkcvMjkxNUFCRyBoYXJkd2FyZSwgc3BlY2lmaWMgUENJIGRldmljZXMuIFRoaXMgaGFyZHdhcmUgaXMgKmRlZmluaXRlbHkqIG91dCBvZiByZWFjaCBpbiBvdXIgc3RhbmRhcmQgUUVNVSBvciBHQ0Ugc2V0dXBzLiBGb3JnZXQgYWJvdXQgdXNpbmcgYG1hYzgwMjExX2h3c2ltYCwgVVNCIGdhZGdldCwgb3IgdmlydGlvOyBub3RoaW5nJiMzOTtzIGdvaW5nIHRvIGhpdCB0aGlzLgoKTm93LCBsZXQmIzM5O3MgZG91YmxlLWNoZWNrIHRob3NlIGd1aWRlbGluZXMgYWdhaW4uIFJpZ2h0LCBpdCYjMzk7cyBwcmV0dHkgY2xlYXI6ICYjMzQ7UmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWlucyBjb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUuLi4mIzM0OyBhbmQgdGhhdCBzcGVjaWZpY2FsbHkgY2FsbHMgb3V0IGhhcmR3YXJlIGxpa2UgdGhpcyBhcyBleGFtcGxlcy4KClNvLCBsZXQmIzM5O3MgcmVjYXA6IGBsaWJpcHdgIGlzIGEgaGVscGVyIGxpYnJhcnkgZXhjbHVzaXZlbHkgZm9yIHRoZSBgaXB3MjEwMGAgYW5kIGBpcHcyMjAwYCBkcml2ZXJzLCB3aGljaCBhcmUgSW50ZWwgUFJPL1dpcmVsZXNzIDIxMDAgYW5kIDIyMDAgUENJIGRyaXZlcnMuIEFuZCB0aGVzZSByZXF1aXJlICpwaHlzaWNhbCogUENJIGhhcmR3YXJlLCB3aGljaCBRRU1VIGFuZCBHQ0UganVzdCBjYW4mIzM5O3QgZW11bGF0ZS4gSXQmIzM5O3MgYSBkZWFkIGVuZCBhcyBmYXIgYXMgZnV6emluZyBnb2VzLgoKVGhlcmVmb3JlLCBgV29ydGhGdXp6aW5nYCBpcyAqZmFsc2UqLiBXZSBjYW4mIzM5O3QgZ2VuZXJhdGUgYW55IG1lYW5pbmdmdWwgY292ZXJhZ2UgaGVyZS4KCkxldCYjMzk7cyBnZXQgdGhlIGBzZXQtcmVzdWx0c2AgY2FsbCBwcmVwYXJlZDoKCiogICBgV29ydGhGdXp6aW5nOiBmYWxzZWAKKiAgIGBFbmFibGVDb25maWdzOiBbXWAgKG5vIHNwZWNpZmljIGNvbmZpZ3VyYXRpb25zIG5lZWRlZCkKKiAgIGBGb2N1c1N5bWJvbHM6IFtdYCAobm8gc3BlY2lmaWMgc3ltYm9scykKKiAgIGBSZWFzb25pbmc6ICYjMzQ7VGhlIG1vZGlmaWVkIGNvZGUgaXMgcGFydCBvZiBsaWJpcHcsIGEgaGVscGVyIGxpYnJhcnkgZXhjbHVzaXZlbHkgdXNlZCBieSB0aGUgbGVnYWN5IEludGVsIFBSTy9XaXJlbGVzcyAyMTAwIGFuZCAyMjAwIFBDSSBkcml2ZXJzIChpcHcyMTAwIGFuZCBpcHcyMjAwKS4gVGhlc2UgcmVxdWlyZSBwaHlzaWNhbCBQQ0kgaGFyZHdhcmUgdGhhdCBpcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgUUVNVSBvciBHQ0UuJiMzNDtgCgpBbmQgbGV0JiMzOTtzIGdvIGFoZWFkIGFuZCBzdWJtaXQgdGhlIHJlc3VsdHMuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzMxIDIwOjE5PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogW10sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgbW9kaWZpZWQgY29kZSBpcyBpbiBsaWJpcHcsIGEgaGVscGVyIGxpYnJhcnkgdXNlZCBleGNsdXNpdmVseSBieSB0aGUgSW50ZWwgUFJPL1dpcmVsZXNzIDIxMDAgYW5kIDIyMDAgUENJIGRyaXZlcnMgKGlwdzIxMDAgYW5kIGlwdzIyMDApLiBUaGVzZSBkcml2ZXJzIHJlcXVpcmUgcGh5c2ljYWwgUENJIGhhcmR3YXJlIG5vdCBlbXVsYXRlZCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBRRU1VIG9yIEdDRS4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIG1vZGlmaWVkIGNvZGUgaXMgaW4gbGliaXB3LCBhIGhlbHBlciBsaWJyYXJ5IHVzZWQgZXhjbHVzaXZlbHkgYnkgdGhlIEludGVsIFBSTy9XaXJlbGVzcyAyMTAwIGFuZCAyMjAwIFBDSSBkcml2ZXJzIChpcHcyMTAwIGFuZCBpcHcyMjAwKS4gVGhlc2UgZHJpdmVycyByZXF1aXJlIHBoeXNpY2FsIFBDSSBoYXJkd2FyZSBub3QgZW11bGF0ZWQgaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgUUVNVSBvciBHQ0UuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE0LzE8L3RkPgoJCQk8dGQ+MjAyNi8wOC8zMSAyMDoxOTwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+SWY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDgtMzFUMjA6MTg6MTAuMjAxNjA3MzEzWiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NzEwOTI0NzIxMzgsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiS01TQU5SZWFzb25pbmdcIjogXCJcIixcbiAgXCJOZWVkc0tNU0FOXCI6IGZhbHNlLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBtb2RpZmllZCBjb2RlIGlzIGluIGxpYmlwdywgYSBoZWxwZXIgbGlicmFyeSB1c2VkIGV4Y2x1c2l2ZWx5IGJ5IHRoZSBJbnRlbCBQUk8vV2lyZWxlc3MgMjEwMCBhbmQgMjIwMCBQQ0kgZHJpdmVycyAoaXB3MjEwMCBhbmQgaXB3MjIwMCkuIFRoZXNlIGRyaXZlcnMgcmVxdWlyZSBwaHlzaWNhbCBQQ0kgaGFyZHdhcmUgbm90IGVtdWxhdGVkIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIFFFTVUgb3IgR0NFLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMzFUMjA6MTg6MTAuMjAxNjExMzkzWiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxNTQwMDg0MjM2LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJQYXRjaERpZmZcIjogXCJjb21taXQgNGViYzgyMDczOTFmOGYxNzI1Y2YzODY5NDJiNjQyNjU2MjFjZTNlZlxcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXFx1MDAzZVxcbkRhdGU6ICAgTW9uIEF1ZyAzMSAyMDoxODowOCAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguY1xcbmluZGV4IGI3YmM5NGY3YWJkOGEuLmM4ODQxZjliOWFkOTEgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguY1xcbisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmNcXG5AQCAtNDE0LDcgKzQxNCw3IEBAIGludCBsaWJpcHdfcngoc3RydWN0IGxpYmlwd19kZXZpY2UgKmllZWUsIHN0cnVjdCBza19idWZmICpza2IsXFxuIFxcdCAgICBpZWVlLVxcdTAwM2Vob3N0X21jX2RlY3J5cHQgOiBpZWVlLVxcdTAwM2Vob3N0X2RlY3J5cHQ7XFxuIFxcbiBcXHRpZiAoY2FuX2JlX2RlY3J5cHRlZCkge1xcbi1cXHRcXHRpZiAoc2tiLVxcdTAwM2VsZW4gXFx1MDAzZT0gaGRybGVuICsgMykge1xcbitcXHRcXHRpZiAoc2tiLVxcdTAwM2VsZW4gXFx1MDAzZT0gaGRybGVuICsgNCkge1xcbiBcXHRcXHRcXHQvKiBUb3AgdHdvLWJpdHMgb2YgYnl0ZSAzIGFyZSB0aGUga2V5IGluZGV4ICovXFxuIFxcdFxcdFxcdGtleWlkeCA9IHNrYi1cXHUwMDNlZGF0YVtoZHJsZW4gKyAzXSBcXHUwMDNlXFx1MDAzZSA2O1xcbiBcXHRcXHR9XFxuQEAgLTY2MCw3ICs2NjAsNyBAQCBpbnQgbGliaXB3X3J4KHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLFxcbiBcXHRcXHRpbnQgdHJpbWxlbiA9IDA7XFxuIFxcbiBcXHRcXHQvKiBUb3AgdHdvLWJpdHMgb2YgYnl0ZSAzIGFyZSB0aGUga2V5IGluZGV4ICovXFxuLVxcdFxcdGlmIChza2ItXFx1MDAzZWxlbiBcXHUwMDNlPSBoZHJsZW4gKyAzKVxcbitcXHRcXHRpZiAoc2tiLVxcdTAwM2VsZW4gXFx1MDAzZT0gaGRybGVuICsgNClcXG4gXFx0XFx0XFx0a2V5aWR4ID0gc2tiLVxcdTAwM2VkYXRhW2hkcmxlbiArIDNdIFxcdTAwM2VcXHUwMDNlIDY7XFxuIFxcbiBcXHRcXHQvKiBUbyBzdHJpcCBvZmYgYW55IHNlY3VyaXR5IGRhdGEgd2hpY2ggYXBwZWFycyBiZWZvcmUgdGhlXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTMxVDIwOjE4OjExLjc0MjI3MDI5OVoiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImNvcmUiLCJEdXJhdGlvbiI6Njk1NTE3ODU4ODIsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIG1vZGlmaWVkIGNvZGUgaXMgaW4gbGliaXB3LCBhIGhlbHBlciBsaWJyYXJ5IHVzZWQgZXhjbHVzaXZlbHkgYnkgdGhlIEludGVsIFBSTy9XaXJlbGVzcyAyMTAwIGFuZCAyMjAwIFBDSSBkcml2ZXJzIChpcHcyMTAwIGFuZCBpcHcyMjAwKS4gVGhlc2UgZHJpdmVycyByZXF1aXJlIHBoeXNpY2FsIFBDSSBoYXJkd2FyZSBub3QgZW11bGF0ZWQgaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgUUVNVSBvciBHQ0UuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiJZb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci5cbllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lXG5pZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXG5cbklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpblxueW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5XG51c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLlxuXG5SZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOlxuLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLlxuLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy5cbi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LlxuLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsXG4gIGV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cbi0gQ29kZSBpbiB2ZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2gsIFNtYXJ0TklDLCBvciBHUFUgZHJpdmVycyAoZS5nLiwgbWx4c3csIHBkc19jb3JlLCBxZWQsXG4gIGlvbmljLCBhbWRncHUpIHRoYXQgcmVxdWlyZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLlxuLSBEcml2ZXIgLnJlbW92ZSwgLnNodXRkb3duLCBvciBwY2lfdW5yZWdpc3Rlcl9kcml2ZXIgdGVhcmRvd24gY2FsbGJhY2tzIChlLmcuLCBpZ2JfcmVtb3ZlKVxuICB0aGF0IGFyZSBleGVjdXRlZCBvbmx5IGR1cmluZyBQQ0kgaG90LXVucGx1ZyBvciBzeXNmcyBkcml2ZXIgdW5iaW5kIG9wZXJhdGlvbnMuXG5cbklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2hcbnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLlxuXG5XaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzpcbjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuXG4gICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy5cbiAgIFByZWZlciBub24tc3RhdGljLCBub24taW5saW5lZCBBUEkgZW50cnlwb2ludCBmdW5jdGlvbnMgb3ZlciBpbnRlcm5hbCBzdGF0aWMgaGVscGVyIGZ1bmN0aW9uc1xuICAgKHdoaWNoIGFyZSBpbmxpbmVkIGJ5IHRoZSBjb21waWxlciBhbmQgZG8gbm90IGhhdmUgZGlzdGluY3Qgc3ltYm9sIGFkZHJlc3NlcykuXG4yLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS5cbiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbiAgIEFsc28gY2hlY2sgXCJkZXBlbmRzIG9uXCIgbGluZXMgaW4gS2NvbmZpZyB0byBpbmNsdWRlIGFueSBub24tc3RhbmRhcmQgcGFyZW50IHN1YnN5c3RlbSBjb25maWdzXG4gICBuZWVkZWQgZm9yIEtidWlsZCB0byBjb21waWxlIHRoZSBjb2RlIHN0YXRpY2FsbHkgaW50byB2bWxpbnV4LiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3NcbiAgIG91dHB1dCBhcnJheSwgYW5kIERPIE5PVCBhZGQgYSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCA0ZWJjODIwNzM5MWY4ZjE3MjVjZjM4Njk0MmI2NDI2NTYyMWNlM2VmXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIE1vbiBBdWcgMzEgMjA6MTg6MDggMjAyNiArMDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguY1xuaW5kZXggYjdiYzk0ZjdhYmQ4YS4uYzg4NDFmOWI5YWQ5MSAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmNcbisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmNcbkBAIC00MTQsNyArNDE0LDcgQEAgaW50IGxpYmlwd19yeChzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSwgc3RydWN0IHNrX2J1ZmYgKnNrYixcbiBcdCAgICBpZWVlLVx1MDAzZWhvc3RfbWNfZGVjcnlwdCA6IGllZWUtXHUwMDNlaG9zdF9kZWNyeXB0O1xuIFxuIFx0aWYgKGNhbl9iZV9kZWNyeXB0ZWQpIHtcbi1cdFx0aWYgKHNrYi1cdTAwM2VsZW4gXHUwMDNlPSBoZHJsZW4gKyAzKSB7XG4rXHRcdGlmIChza2ItXHUwMDNlbGVuIFx1MDAzZT0gaGRybGVuICsgNCkge1xuIFx0XHRcdC8qIFRvcCB0d28tYml0cyBvZiBieXRlIDMgYXJlIHRoZSBrZXkgaW5kZXggKi9cbiBcdFx0XHRrZXlpZHggPSBza2ItXHUwMDNlZGF0YVtoZHJsZW4gKyAzXSBcdTAwM2VcdTAwM2UgNjtcbiBcdFx0fVxuQEAgLTY2MCw3ICs2NjAsNyBAQCBpbnQgbGliaXB3X3J4KHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLFxuIFx0XHRpbnQgdHJpbWxlbiA9IDA7XG4gXG4gXHRcdC8qIFRvcCB0d28tYml0cyBvZiBieXRlIDMgYXJlIHRoZSBrZXkgaW5kZXggKi9cbi1cdFx0aWYgKHNrYi1cdTAwM2VsZW4gXHUwMDNlPSBoZHJsZW4gKyAzKVxuK1x0XHRpZiAoc2tiLVx1MDAzZWxlbiBcdTAwM2U9IGhkcmxlbiArIDQpXG4gXHRcdFx0a2V5aWR4ID0gc2tiLVx1MDAzZWRhdGFbaGRybGVuICsgM10gXHUwMDNlXHUwMDNlIDY7XG4gXG4gXHRcdC8qIFRvIHN0cmlwIG9mZiBhbnkgc2VjdXJpdHkgZGF0YSB3aGljaCBhcHBlYXJzIGJlZm9yZSB0aGVcbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTMxVDIwOjE4OjExLjc0MjI3MTc3OVoiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy43LWZsYXNoIiwiRHVyYXRpb24iOjk3Mzc5NDk0OTQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIHRoZSBQYXRjaCdzIFBvdGVudGlhbCBmb3IgRnV6emluZyoqXG5cbk9rYXksIHRoZSBwYXRjaCBpcyBpbiBgZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguY2AuIE15IGluaXRpYWwgdGhvdWdodCBpcyB0byBmaWd1cmUgb3V0IHdoYXQgYGlwdzJ4MDBgIGFuZCBgbGliaXB3YCBhY3R1YWxseSAqYXJlKi4gQ2FuIHRoaXMgY29kZSBiZSBmdXp6ZWQgZWZmZWN0aXZlbHk/IEFyZSB0aGVyZSBhbnkgcm9hZGJsb2NrcyB0byByZWFjaGluZyBpdCB3aXRoaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgUUVNVT9cblxuQnV0LCBob2xkIG9uLiBJIG5lZWQgdG8gYmUgbWV0aG9kaWNhbC4gVGhlIGluc3RydWN0aW9ucyBtZW50aW9uZWQgc29tZXRoaW5nIGFib3V0IHJldHVybmluZyBgV29ydGhGdXp6aW5nPWZhbHNlYCBpbiBjZXJ0YWluIHNjZW5hcmlvcy4gUmlnaHQsIGxldCBtZSBjaGVjayB0aGF0LiBTcGVjaWZpY2FsbHksIGl0IGhpZ2hsaWdodGVkIHNvbWUgc2NlbmFyaW9zIHdoZXJlIHRoZSBwYXRjaCB3b3VsZCBiZSB1bnJlYWNoYWJsZTogY29kZSBwYXRocyBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyAoZXZlbiB3aXRoIHNvZnR3YXJlIGVtdWxhdGlvbnMgb2YgaGFyZHdhcmUpLCBvciBjb2RlIHRoYXQncyB0aWVkIHRvIHZlcnkgc3BlY2lmaWMgcGh5c2ljYWwgaGFyZHdhcmUgbGlrZSBQQ0llIHN3aXRjaGVzLCBTbWFydE5JQ3MsIG9yIEdQVSBkcml2ZXJzLiBJIGtub3cgdGhpcyBmcm9tIGV4cGVyaWVuY2UsIGl0IGlzIHZlcnkgaW1wb3J0YW50IHRvIGF2b2lkIHdhc3RpbmcgdGltZS5cblxuU28sICpkb2VzKiBgbGliaXB3YCBmYWxsIGludG8gb25lIG9mIHRob3NlIGNhdGVnb3JpZXM/IExldCdzIHRyYWNlIGl0IHRocm91Z2ggdGhlIGtlcm5lbC4gSSdsbCBuZWVkIHRvIGNoZWNrIHdoYXQgc3BlY2lmaWNhbGx5IHVzZXMgYGxpYmlwd2AuIEkgc2hvdWxkIHN0YXJ0IGJ5IGxvb2tpbmcgYXQgdGhlIHJlbGV2YW50IGRpcmVjdG9yeSwgYGRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvYC4gRWl0aGVyIGBncmVwcGVyYCBvciBjaGVja2luZyB0aGUgS2NvbmZpZyBhbmQgb3RoZXIgZmlsZXMgd2l0aGluIHRoYXQgZGlyZWN0b3J5IHNob3VsZCBwcm92aWRlIHRoZSBuZWNlc3NhcnkgaW5mb3JtYXRpb24uIFRoaXMgd2lsbCBoZWxwIGRldGVybWluZSBpZiB0aGUgY29kZSBjYW4gYmUgcmVhY2hlZCB1bmRlciBRRU1VIG9yIG5vdC5cblxuXG4iLCJJbnB1dFRva2VucyI6MjI5NSwiT3V0cHV0VG9rZW5zIjo4MywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjI1OSwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTMxVDIwOjE4OjIxLjQ4MDIyMzU2NFoiLCJTZXEiOjQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo0MzY4OTcwOSwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJsaWJpcHdfcnhcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMFwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL01ha2VmaWxlPTEwPWxpYmlwdy1vYmpzIDo9IFxcXFxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvTWFrZWZpbGUtMTItXFx0bGliaXB3X3R4Lm8gXFxcXFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvTWFrZWZpbGU6MTM6XFx0bGliaXB3X3J4Lm8gXFxcXFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvTWFrZWZpbGUtMTQtXFx0bGliaXB3X3d4Lm8gXFxcXFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9MjQzMz1zdGF0aWMgdm9pZCBpc3Jfcngoc3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiwgaW50IGksXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MjQzNDpcXHRcXHRcXHQgIHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgKnN0YXRzKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI0MzUte1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjQ3MS1cXHQvKiBNYWtlIGEgY29weSBvZiB0aGUgZnJhbWUgc28gd2UgY2FuIGR1bXAgaXQgdG8gdGhlIGxvZ3MgaWZcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyNDcyOlxcdCAqIGxpYmlwd19yeCBmYWlscyAqL1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI0NzMtXFx0c2tiX2NvcHlfZnJvbV9saW5lYXJfZGF0YShwYWNrZXQtXFx1MDAzZXNrYiwgcGFja2V0X2RhdGEsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNDc3LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjI0Nzg6XFx0aWYgKCFsaWJpcHdfcngocHJpdi1cXHUwMDNlaWVlZSwgcGFja2V0LVxcdTAwM2Vza2IsIHN0YXRzKSkge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI0NzktI2lmZGVmIElQVzIxMDBfUlhfREVCVUdcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI0ODUtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MjQ4NjpcXHRcXHQvKiBsaWJpcHdfcnggZmFpbGVkLCBzbyBpdCBkaWRuJ3QgZnJlZSB0aGUgU0tCICovXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjQ4Ny1cXHRcXHRkZXZfa2ZyZWVfc2tiX2FueShwYWNrZXQtXFx1MDAzZXNrYik7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz0yNTA2PXN0YXRpYyB2b2lkIGlzcl9yeF9tb25pdG9yKHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYsIGludCBpLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjI1MDc6XFx0XFx0ICAgc3RydWN0IGxpYmlwd19yeF9zdGF0cyAqc3RhdHMpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjUwOC17XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNTY0LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjI1NjU6XFx0aWYgKCFsaWJpcHdfcngocHJpdi1cXHUwMDNlaWVlZSwgcGFja2V0LVxcdTAwM2Vza2IsIHN0YXRzKSkge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI1NjYtXFx0XFx0ZGV2LVxcdTAwM2VzdGF0cy5yeF9lcnJvcnMrKztcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNTY3LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjI1Njg6XFx0XFx0LyogbGliaXB3X3J4IGZhaWxlZCwgc28gaXQgZGlkbid0IGZyZWUgdGhlIFNLQiAqL1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI1NjktXFx0XFx0ZGV2X2tmcmVlX3NrYl9hbnkocGFja2V0LVxcdTAwM2Vza2IpO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9MjY0ND1zdGF0aWMgdm9pZCBfX2lwdzIxMDBfcnhfcHJvY2VzcyhzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2KVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjY1MS1cXHRzdHJ1Y3QgaXB3MjEwMF9yeCAqdTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyNjUyOlxcdHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgc3RhdHMgPSB7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjY1My1cXHRcXHQubWFjX3RpbWUgPSBqaWZmaWVzLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjcxOC1cXHRcXHRcXHRjYXNlIElFRUU4MDIxMV9GVFlQRV9NR01UOlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjI3MTk6XFx0XFx0XFx0XFx0bGliaXB3X3J4X21ndChwcml2LVxcdTAwM2VpZWVlLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI3MjAtXFx0XFx0XFx0XFx0XFx0XFx0IFxcdTAwMjZ1LVxcdTAwM2VyeF9kYXRhLmhlYWRlciwgXFx1MDAyNnN0YXRzKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jPTQ0MjU9c3RhdGljIHZvaWQgaXB3X3J4X25vdGlmaWNhdGlvbihzdHJ1Y3QgaXB3X3ByaXYgKnByaXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy00NDgyLVxcdFxcdFxcdFxcdFxcdFxcdFxcdHN0cnVjdFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjQ0ODM6XFx0XFx0XFx0XFx0XFx0XFx0XFx0bGliaXB3X3J4X3N0YXRzXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNDQ4NC1cXHRcXHRcXHRcXHRcXHRcXHRcXHQgICAgc3RhdHMgPSB7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy00NDkwLVxcdFxcdFxcdFxcdFxcdFxcdFxcdCAgICAgXFxcInNpemUgJWRcXFxcblxcXCIsIHNpemUpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjQ0OTE6XFx0XFx0XFx0XFx0XFx0XFx0XFx0bGliaXB3X3J4X21ndChwcml2LVxcdTAwM2VcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy00NDkyLVxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdCBpZWVlLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9NzYzMj1zdGF0aWMgdm9pZCBpcHdfaGFuZGxlX2RhdGFfcGFja2V0KHN0cnVjdCBpcHdfcHJpdiAqcHJpdixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03NjMzLVxcdFxcdFxcdFxcdCAgIHN0cnVjdCBpcHdfcnhfbWVtX2J1ZmZlciAqcnhiLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjc2MzQ6XFx0XFx0XFx0XFx0ICAgc3RydWN0IGxpYmlwd19yeF9zdGF0cyAqc3RhdHMpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNzYzNS17XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03NjcyLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjc2NzM6XFx0aWYgKCFsaWJpcHdfcngocHJpdi1cXHUwMDNlaWVlZSwgcnhiLVxcdTAwM2Vza2IsIHN0YXRzKSlcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03Njc0LVxcdFxcdGRldi1cXHUwMDNlc3RhdHMucnhfZXJyb3JzKys7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NzY3NTpcXHRlbHNlIHtcXHRcXHRcXHQvKiBsaWJpcHdfcnggc3VjY2VlZGVkLCBzbyBpdCBub3cgb3ducyB0aGUgU0tCICovXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNzY3Ni1cXHRcXHRyeGItXFx1MDAzZXNrYiA9IE5VTEw7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYz03NjgyPXN0YXRpYyB2b2lkIGlwd19oYW5kbGVfZGF0YV9wYWNrZXRfbW9uaXRvcihzdHJ1Y3QgaXB3X3ByaXYgKnByaXYsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNzY4My1cXHRcXHRcXHRcXHRcXHQgICBzdHJ1Y3QgaXB3X3J4X21lbV9idWZmZXIgKnJ4YixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo3Njg0OlxcdFxcdFxcdFxcdFxcdCAgIHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgKnN0YXRzKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTc2ODUte1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNzgyOS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo3ODMwOlxcdGlmICghbGliaXB3X3J4KHByaXYtXFx1MDAzZWllZWUsIHJ4Yi1cXHUwMDNlc2tiLCBzdGF0cykpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNzgzMS1cXHRcXHRkZXYtXFx1MDAzZXN0YXRzLnJ4X2Vycm9ycysrO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjc4MzI6XFx0ZWxzZSB7XFx0XFx0XFx0LyogbGliaXB3X3J4IHN1Y2NlZWRlZCwgc28gaXQgbm93IG93bnMgdGhlIFNLQiAqL1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTc4MzMtXFx0XFx0cnhiLVxcdTAwM2Vza2IgPSBOVUxMO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9Nzg1OT1zdGF0aWMgdm9pZCBpcHdfaGFuZGxlX3Byb21pc2N1b3VzX3J4KHN0cnVjdCBpcHdfcHJpdiAqcHJpdixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03ODYwLVxcdFxcdFxcdFxcdCAgICAgIHN0cnVjdCBpcHdfcnhfbWVtX2J1ZmZlciAqcnhiLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjc4NjE6XFx0XFx0XFx0XFx0ICAgICAgc3RydWN0IGxpYmlwd19yeF9zdGF0cyAqc3RhdHMpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNzg2Mi17XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04MDM1LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjgwMzY6XFx0aWYgKCFsaWJpcHdfcngocHJpdi1cXHUwMDNlcHJvbV9wcml2LVxcdTAwM2VpZWVlLCBza2IsIHN0YXRzKSkge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTgwMzctXFx0XFx0ZGV2LVxcdTAwM2VzdGF0cy5yeF9lcnJvcnMrKztcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jPTgxNTQ9c3RhdGljIHZvaWQgaXB3X2hhbmRsZV9tZ210X3BhY2tldChzdHJ1Y3QgaXB3X3ByaXYgKnByaXYsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODE1NS1cXHRcXHRcXHRcXHQgICBzdHJ1Y3QgaXB3X3J4X21lbV9idWZmZXIgKnJ4YixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo4MTU2OlxcdFxcdFxcdFxcdCAgIHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgKnN0YXRzKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTgxNTcte1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODE2Mi1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo4MTYzOlxcdGxpYmlwd19yeF9tZ3QocHJpdi1cXHUwMDNlaWVlZSwgaGVhZGVyLCBzdGF0cyk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODE2NC1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTgxODQtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6ODE4NTpcXHRcXHQvKiBQdXNoIHRoZSBsaWJpcHdfcnhfc3RhdHMgYmVmb3JlIHRoZSA4MDIuMTEgZnJhbWUgKi9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04MTg2LVxcdFxcdG1lbWNweShza2JfcHVzaChza2IsIHNpemVvZigqc3RhdHMpKSwgc3RhdHMsIHNpemVvZigqc3RhdHMpKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jPTgyMDY9c3RhdGljIHZvaWQgaXB3X3J4KHN0cnVjdCBpcHdfcHJpdiAqcHJpdilcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTgyMzktXFx0XFx0Y2FzZSBSWF9GUkFNRV9UWVBFOlxcdC8qIDgwMi4xMSBmcmFtZSAqLyAge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjgyNDA6XFx0XFx0XFx0XFx0c3RydWN0IGxpYmlwd19yeF9zdGF0cyBzdGF0cyA9IHtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04MjQxLVxcdFxcdFxcdFxcdFxcdC5yc3NpID0gcGt0LVxcdTAwM2V1LmZyYW1lLnJzc2lfZGJtIC1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jPTEwMjU2PXN0YXRpYyB2b2lkIGlwd19oYW5kbGVfcHJvbWlzY3VvdXNfdHgoc3RydWN0IGlwd19wcml2ICpwcml2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtMTAyNTgte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjEwMjU5OlxcdHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgZHVtbXlzdGF0cztcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy0xMDI2MC1cXHRzdHJ1Y3QgaWVlZTgwMjExX2hkciAqaGRyO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtMTAzMzAtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6MTAzMzE6XFx0XFx0aWYgKCFsaWJpcHdfcngocHJpdi1cXHUwMDNlcHJvbV9wcml2LVxcdTAwM2VpZWVlLCBkc3QsIFxcdTAwMjZkdW1teXN0YXRzKSlcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy0xMDMzMi1cXHRcXHRcXHRkZXZfa2ZyZWVfc2tiX2FueShkc3QpO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaD0xMzU9c3RydWN0IGxpYmlwd19zbmFwX2hkciB7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oLTIxNy0gKiAgICAgICBpbmZvcm1hdGlvbiBmb3IgZnJhbWVzIHJlY2VpdmVkLlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3Lmg6MjE4OiAqICAgICAgIEZvciBsaWJpcHdfcnhfbWd0LCB5b3UgbmVlZCB0byBzZXQgYXQgbGVhc3QgdGhlICdsZW4nIHBhcmFtZXRlci5cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oLTIxOS0gKi9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oOjIyMDpzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzIHtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oLTIyMS1cXHR1MzIgbWFjX3RpbWU7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oPTU5OT1zdHJ1Y3QgbGliaXB3X25ldHdvcmsge1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaC02MDktXFx0LyogVGhlc2UgYXJlIG5ldHdvcmsgc3RhdGlzdGljcyAqL1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3Lmg6NjEwOlxcdHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgc3RhdHM7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaC02MTEtXFx0dTE2IGNhcGFiaWxpdHk7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oPTc3MD1zdHJ1Y3QgbGliaXB3X2RldmljZSB7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oLTg2Ni1cXHRcXHRcXHQgICAgICBzdHJ1Y3QgbGliaXB3X2FjdGlvbiAqIGFjdGlvbixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oOjg2NzpcXHRcXHRcXHQgICAgICBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICogc3RhdHMpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3LmgtODY4LVxcdGludCAoKmhhbmRsZV9kaXNhc3NvYykgKHN0cnVjdCBuZXRfZGV2aWNlICogZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaC04NzctXFx0XFx0XFx0XFx0ICAgICBzdHJ1Y3QgbGliaXB3X3Byb2JlX3JlcXVlc3QgKiByZXEsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaDo4Nzg6XFx0XFx0XFx0XFx0ICAgICBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICogc3RhdHMpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3LmgtODc5LVxcdGludCAoKmhhbmRsZV9hc3NvY19yZXNwb25zZSkgKHN0cnVjdCBuZXRfZGV2aWNlICogZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaD0xMDExPXZvaWQgbGliaXB3X3R4Yl9mcmVlKHN0cnVjdCBsaWJpcHdfdHhiICopO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3LmgtMTAxMi1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oOjEwMTM6LyogbGliaXB3X3J4LmMgKi9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oOjEwMTQ6aW50IGxpYmlwd19yeChzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSwgc3RydWN0IHNrX2J1ZmYgKnNrYixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oOjEwMTU6XFx0ICAgICAgc3RydWN0IGxpYmlwd19yeF9zdGF0cyAqcnhfc3RhdHMpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3LmgtMTAxNi0vKiBtYWtlIHN1cmUgdG8gc2V0IHN0YXRzLVxcdTAwM2VsZW4gKi9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oOjEwMTc6dm9pZCBsaWJpcHdfcnhfbWd0KHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLCBzdHJ1Y3QgbGliaXB3X2hkcl80YWRkciAqaGVhZGVyLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3Lmg6MTAxODpcXHRcXHQgICBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICpzdGF0cyk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaC0xMDE5LVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYz0zMj1zdGF0aWMgdm9pZCBsaWJpcHdfbW9uaXRvcl9yeChzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTMzLVxcdFxcdFxcdFxcdFxcdHN0cnVjdCBza19idWZmICpza2IsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzozNDpcXHRcXHRcXHRcXHRcXHRzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICpyeF9zdGF0cylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTM1LXtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM9MTMzPXN0YXRpYyBpbnQgbGliaXB3X2ZyYWdfY2FjaGVfaW52YWxpZGF0ZShzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTU2LSNpZmRlZiBOT1RfWUVUXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzoxNTc6LyogbGliaXB3X3J4X2ZyYW1lX21ndG10XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0xNTgtICpcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTYwLSAqXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzoxNjE6ICogQ2FsbGVkIGJ5IGxpYmlwd19yeCAqL1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTYyLXN0YXRpYyBpbnRcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjE2MzpsaWJpcHdfcnhfZnJhbWVfbWdtdChzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSwgc3RydWN0IHNrX2J1ZmYgKnNrYixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjE2NDpcXHRcXHRcXHRzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICpyeF9zdGF0cywgdTE2IHR5cGUsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0xNjUtXFx0XFx0XFx0dTE2IHN0eXBlKVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYz0yMTk9c3RhdGljIHVuc2lnbmVkIGNoYXIgbGliaXB3X2JyaWRnZV90dW5uZWxfaGVhZGVyW10gPVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0yMjItXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzoyMjM6LyogQ2FsbGVkIGJ5IGxpYmlwd19yeF9mcmFtZV9kZWNyeXB0ICovXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0yMjQtc3RhdGljIGludCBsaWJpcHdfaXNfZWFwb2xfZnJhbWUoc3RydWN0IGxpYmlwd19kZXZpY2UgKmllZWUsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTI2Mi1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjI2MzovKiBDYWxsZWQgb25seSBhcyBhIHRhc2tsZXQgKHNvZnR3YXJlIElSUSksIGJ5IGxpYmlwd19yeCAqL1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMjY0LXN0YXRpYyBpbnRcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjI2NTpsaWJpcHdfcnhfZnJhbWVfZGVjcnlwdChzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSwgc3RydWN0IHNrX2J1ZmYgKnNrYixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTI2Ni1cXHRcXHRcXHQgICBzdHJ1Y3QgbGliaXB3X2NyeXB0X2RhdGEgKmNyeXB0KVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0yOTMtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzoyOTQ6LyogQ2FsbGVkIG9ubHkgYXMgYSB0YXNrbGV0IChzb2Z0d2FyZSBJUlEpLCBieSBsaWJpcHdfcnggKi9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTI5NS1zdGF0aWMgaW50XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzoyOTY6bGliaXB3X3J4X2ZyYW1lX2RlY3J5cHRfbXNkdShzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTI5Ny1cXHRcXHRcXHRcXHRzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBpbnQga2V5aWR4LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0zMjQtICogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgb25seSBhcyBhIHRhc2tsZXQgKHNvZnR3YXJlIElSUSkuICovXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzozMjU6aW50IGxpYmlwd19yeChzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSwgc3RydWN0IHNrX2J1ZmYgKnNrYixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjMyNjpcXHRcXHQgc3RydWN0IGxpYmlwd19yeF9zdGF0cyAqcnhfc3RhdHMpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0zMjcte1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy00NzEtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzo0NzI6XFx0XFx0aWYgKGxpYmlwd19yeF9mcmFtZV9tZ210KGllZWUsIHNrYiwgcnhfc3RhdHMsIHR5cGUsIHN0eXBlKSlcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTQ3My1cXHRcXHRcXHRnb3RvIHJ4X2Ryb3BwZWQ7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTU2Ni1cXHRpZiAoKGZjIFxcdTAwMjYgSUVFRTgwMjExX0ZDVExfUFJPVEVDVEVEKSBcXHUwMDI2XFx1MDAyNiBjYW5fYmVfZGVjcnlwdGVkIFxcdTAwMjZcXHUwMDI2XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzo1Njc6XFx0ICAgIChrZXlpZHggPSBsaWJpcHdfcnhfZnJhbWVfZGVjcnlwdChpZWVlLCBza2IsIGNyeXB0KSkgXFx1MDAzYyAwKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtNTY4LVxcdFxcdGdvdG8gcnhfZHJvcHBlZDtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtNjMwLVxcdGlmICgoZmMgXFx1MDAyNiBJRUVFODAyMTFfRkNUTF9QUk9URUNURUQpIFxcdTAwMjZcXHUwMDI2IGNhbl9iZV9kZWNyeXB0ZWQgXFx1MDAyNlxcdTAwMjZcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjYzMTpcXHQgICAgbGliaXB3X3J4X2ZyYW1lX2RlY3J5cHRfbXNkdShpZWVlLCBza2IsIGtleWlkeCwgY3J5cHQpKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtNjMyLVxcdFxcdGdvdG8gcnhfZHJvcHBlZDtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM9MTIwNT1zdGF0aWMgaW50IGxpYmlwd19oYW5kbGVfYXNzb2NfcmVzcChzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSwgc3RydWN0IGxpYmlwd19hc3NvY19yZXNwb25zZVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6MTIwNjpcXHRcXHRcXHRcXHQgICAgICAgKmZyYW1lLCBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICpzdGF0cylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTEyMDcte1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYz0xMjYzPXN0YXRpYyBpbnQgbGliaXB3X25ldHdvcmtfaW5pdChzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSwgc3RydWN0IGxpYmlwd19wcm9iZV9yZXNwb25zZVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0xMjY1LVxcdFxcdFxcdFxcdFxcdCBzdHJ1Y3QgbGliaXB3X25ldHdvcmsgKm5ldHdvcmssXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzoxMjY2OlxcdFxcdFxcdFxcdFxcdCBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICpzdGF0cylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTEyNjcte1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYz0xMzM3PXN0YXRpYyB2b2lkIHVwZGF0ZV9uZXR3b3JrKHN0cnVjdCBsaWJpcHdfbmV0d29yayAqZHN0LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0xMzQ5LVxcdFxcdG1lbWNweShcXHUwMDI2ZHN0LVxcdTAwM2VzdGF0cywgXFx1MDAyNnNyYy1cXHUwMDNlc3RhdHMsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzoxMzUwOlxcdFxcdCAgICAgICBzaXplb2Yoc3RydWN0IGxpYmlwd19yeF9zdGF0cykpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTM1MS1cXHRlbHNlXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jPTE0MDk9c3RhdGljIHZvaWQgbGliaXB3X3Byb2Nlc3NfcHJvYmVfcmVzcG9uc2Uoc3RydWN0IGxpYmlwd19kZXZpY2VcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTQxMS1cXHRcXHRcXHRcXHRcXHRcXHQgICAgbGliaXB3X3Byb2JlX3Jlc3BvbnNlXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzoxNDEyOlxcdFxcdFxcdFxcdFxcdFxcdCAgICAqYmVhY29uLCBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0xNDEzLVxcdFxcdFxcdFxcdFxcdFxcdCAgICAqc3RhdHMpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTE1MTktXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzoxNTIwOnZvaWQgbGliaXB3X3J4X21ndChzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTE1MjEtXFx0XFx0ICAgICAgc3RydWN0IGxpYmlwd19oZHJfNGFkZHIgKmhlYWRlcixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjE1MjI6XFx0XFx0ICAgICAgc3RydWN0IGxpYmlwd19yeF9zdGF0cyAqc3RhdHMpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0xNTIzLXtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTY0MS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjE2NDI6RVhQT1JUX1NZTUJPTChsaWJpcHdfcnhfbWd0KTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjE2NDM6RVhQT1JUX1NZTUJPTChsaWJpcHdfcngpO1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0zMVQyMDoxODoyMS41MjM5MTk0MDNaIiwiU2VxIjo1LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJyZWFkLWZpbGUiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo4MzkwMCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkZpbGVcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWdcIixcbiAgXCJGaXJzdExpbmVcIjogMSxcbiAgXCJMaW5lQ291bnRcIjogMTAwXG59IiwiUmVzdWx0cyI6IntcbiAgXCJDb250ZW50c1wiOiBcIiAgIDE6XFx0IyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5XFxuICAgMjpcXHQjXFxuICAgMzpcXHQjIEludGVsIENlbnRyaW5vIHdpcmVsZXNzIGRyaXZlcnNcXG4gICA0OlxcdCNcXG4gICA1OlxcdFxcbiAgIDY6XFx0Y29uZmlnIElQVzIxMDBcXG4gICA3OlxcdFxcdHRyaXN0YXRlIFxcXCJJbnRlbCBQUk8vV2lyZWxlc3MgMjEwMCBOZXR3b3JrIENvbm5lY3Rpb25cXFwiXFxuICAgODpcXHRcXHRkZXBlbmRzIG9uIFBDSSBcXHUwMDI2XFx1MDAyNiBDRkc4MDIxMVxcbiAgIDk6XFx0XFx0c2VsZWN0IFdJUkVMRVNTX0VYVFxcbiAgMTA6XFx0XFx0c2VsZWN0IFdFWFRfUFJJVlxcbiAgMTE6XFx0XFx0c2VsZWN0IEZXX0xPQURFUlxcbiAgMTI6XFx0XFx0c2VsZWN0IExJQklQV1xcbiAgMTM6XFx0XFx0aGVscFxcbiAgMTQ6XFx0XFx0ICBBIGRyaXZlciBmb3IgdGhlIEludGVsIFBSTy9XaXJlbGVzcyAyMTAwIE5ldHdvcmtcXG4gIDE1OlxcdFxcdCAgQ29ubmVjdGlvbiA4MDIuMTFiIHdpcmVsZXNzIG5ldHdvcmsgYWRhcHRlci5cXG4gIDE2OlxcdFxcbiAgMTc6XFx0XFx0ICBTZWUgXFx1MDAzY2ZpbGU6RG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL3dpZmkvaW50ZWwvaXB3MjEwMC5yc3RcXHUwMDNlXFxuICAxODpcXHRcXHQgIGZvciBpbmZvcm1hdGlvbiBvbiB0aGUgY2FwYWJpbGl0aWVzIGN1cnJlbnRseSBlbmFibGVkIGluIHRoaXMgZHJpdmVyXFxuICAxOTpcXHRcXHQgIGFuZCBmb3IgdGlwcyBmb3IgZGVidWdnaW5nIGlzc3VlcyBhbmQgcHJvYmxlbXMuXFxuICAyMDpcXHRcXG4gIDIxOlxcdFxcdCAgSW4gb3JkZXIgdG8gdXNlIHRoaXMgZHJpdmVyLCB5b3Ugd2lsbCBuZWVkIGEgZmlybXdhcmUgaW1hZ2UgZm9yIGl0LlxcbiAgMjI6XFx0XFx0ICBZb3UgY2FuIG9idGFpbiB0aGUgZmlybXdhcmUgZnJvbVxcbiAgMjM6XFx0XFx0ICBcXHUwMDNjaHR0cDovL2lwdzIxMDAuc2YubmV0L1xcdTAwM2UuICBPbmNlIHlvdSBoYXZlIHRoZSBmaXJtd2FyZSBpbWFnZSwgeW91XFxuICAyNDpcXHRcXHQgIHdpbGwgbmVlZCB0byBwbGFjZSBpdCBpbiAvbGliL2Zpcm13YXJlLlxcbiAgMjU6XFx0XFxuICAyNjpcXHRcXHQgIFlvdSB3aWxsIGFsc28gdmVyeSBsaWtlbHkgbmVlZCB0aGUgV2lyZWxlc3MgVG9vbHMgaW4gb3JkZXIgdG9cXG4gIDI3OlxcdFxcdCAgY29uZmlndXJlIHlvdXIgY2FyZDpcXG4gIDI4OlxcdFxcbiAgMjk6XFx0XFx0ICBcXHUwMDNjaHR0cHM6Ly93d3cuaHBsLmhwLmNvbS9wZXJzb25hbC9KZWFuX1RvdXJyaWxoZXMvTGludXgvVG9vbHMuaHRtbFxcdTAwM2UuXFxuICAzMDpcXHRcXG4gIDMxOlxcdFxcdCAgSXQgaXMgcmVjb21tZW5kZWQgdGhhdCB5b3UgY29tcGlsZSB0aGlzIGRyaXZlciBhcyBhIG1vZHVsZSAoTSlcXG4gIDMyOlxcdFxcdCAgcmF0aGVyIHRoYW4gYnVpbHQtaW4gKFkpLiBUaGlzIGRyaXZlciByZXF1aXJlcyBmaXJtd2FyZSBhdCBkZXZpY2VcXG4gIDMzOlxcdFxcdCAgaW5pdGlhbGl6YXRpb24gdGltZSwgYW5kIHdoZW4gYnVpbHQtaW4gdGhpcyB0eXBpY2FsbHkgaGFwcGVuc1xcbiAgMzQ6XFx0XFx0ICBiZWZvcmUgdGhlIGZpbGVzeXN0ZW0gaXMgYWNjZXNzaWJsZSAoaGVuY2UgZmlybXdhcmUgd2lsbCBiZVxcbiAgMzU6XFx0XFx0ICB1bmF2YWlsYWJsZSBhbmQgaW5pdGlhbGl6YXRpb24gd2lsbCBmYWlsKS4gSWYgeW91IGRvIGNob29zZSB0byBidWlsZFxcbiAgMzY6XFx0XFx0ICB0aGlzIGRyaXZlciBpbnRvIHlvdXIga2VybmVsIGltYWdlLCB5b3UgY2FuIGF2b2lkIHRoaXMgcHJvYmxlbSBieVxcbiAgMzc6XFx0XFx0ICBpbmNsdWRpbmcgdGhlIGZpcm13YXJlIGFuZCBhIGZpcm13YXJlIGxvYWRlciBpbiBhbiBpbml0cmFtZnMuXFxuICAzODpcXHRcXG4gIDM5OlxcdGNvbmZpZyBJUFcyMTAwX01PTklUT1JcXG4gIDQwOlxcdFxcdGJvb2wgXFxcIkVuYWJsZSBwcm9taXNjdW91cyBtb2RlXFxcIlxcbiAgNDE6XFx0XFx0ZGVwZW5kcyBvbiBJUFcyMTAwXFxuICA0MjpcXHRcXHRoZWxwXFxuICA0MzpcXHRcXHQgIEVuYWJsZXMgcHJvbWlzY3VvdXMvbW9uaXRvciBtb2RlIHN1cHBvcnQgZm9yIHRoZSBpcHcyMTAwIGRyaXZlci5cXG4gIDQ0OlxcdFxcdCAgV2l0aCB0aGlzIGZlYXR1cmUgY29tcGlsZWQgaW50byB0aGUgZHJpdmVyLCB5b3UgY2FuIHN3aXRjaCB0b1xcbiAgNDU6XFx0XFx0ICBwcm9taXNjdW91cyBtb2RlIHZpYSB0aGUgV2lyZWxlc3MgVG9vbCdzIE1vbml0b3IgbW9kZS4gIFdoaWxlIGluIHRoaXNcXG4gIDQ2OlxcdFxcdCAgbW9kZSwgbm8gcGFja2V0cyBjYW4gYmUgc2VudC5cXG4gIDQ3OlxcdFxcbiAgNDg6XFx0Y29uZmlnIElQVzIxMDBfREVCVUdcXG4gIDQ5OlxcdFxcdGJvb2wgXFxcIkVuYWJsZSBmdWxsIGRlYnVnZ2luZyBvdXRwdXQgaW4gSVBXMjEwMCBtb2R1bGUuXFxcIlxcbiAgNTA6XFx0XFx0ZGVwZW5kcyBvbiBJUFcyMTAwXFxuICA1MTpcXHRcXHRoZWxwXFxuICA1MjpcXHRcXHQgIFRoaXMgb3B0aW9uIHdpbGwgZW5hYmxlIGRlYnVnIHRyYWNpbmcgb3V0cHV0IGZvciB0aGUgSVBXMjEwMC5cXG4gIDUzOlxcdFxcbiAgNTQ6XFx0XFx0ICBUaGlzIHdpbGwgcmVzdWx0IGluIHRoZSBrZXJuZWwgbW9kdWxlIGJlaW5nIH42MGsgbGFyZ2VyLiAgWW91IGNhblxcbiAgNTU6XFx0XFx0ICBjb250cm9sIHdoaWNoIGRlYnVnIG91dHB1dCBpcyBzZW50IHRvIHRoZSBrZXJuZWwgbG9nIGJ5IHNldHRpbmcgdGhlXFxuICA1NjpcXHRcXHQgIHZhbHVlIGluXFxuICA1NzpcXHRcXG4gIDU4OlxcdFxcdCAgL3N5cy9idXMvcGNpL2RyaXZlcnMvaXB3MjEwMC9kZWJ1Z19sZXZlbFxcbiAgNTk6XFx0XFxuICA2MDpcXHRcXHQgIFRoaXMgZW50cnkgd2lsbCBvbmx5IGV4aXN0IGlmIHRoaXMgb3B0aW9uIGlzIGVuYWJsZWQuXFxuICA2MTpcXHRcXG4gIDYyOlxcdFxcdCAgSWYgeW91IGFyZSBub3QgdHJ5aW5nIHRvIGRlYnVnIG9yIGRldmVsb3AgdGhlIElQVzIxMDAgZHJpdmVyLCB5b3VcXG4gIDYzOlxcdFxcdCAgbW9zdCBsaWtlbHkgd2FudCB0byBzYXkgTiBoZXJlLlxcbiAgNjQ6XFx0XFxuICA2NTpcXHRjb25maWcgSVBXMjIwMFxcbiAgNjY6XFx0XFx0dHJpc3RhdGUgXFxcIkludGVsIFBSTy9XaXJlbGVzcyAyMjAwQkcgYW5kIDI5MTVBQkcgTmV0d29yayBDb25uZWN0aW9uXFxcIlxcbiAgNjc6XFx0XFx0ZGVwZW5kcyBvbiBQQ0kgXFx1MDAyNlxcdTAwMjYgQ0ZHODAyMTFcXG4gIDY4OlxcdFxcdHNlbGVjdCBXSVJFTEVTU19FWFRcXG4gIDY5OlxcdFxcdHNlbGVjdCBXRVhUX1BSSVZcXG4gIDcwOlxcdFxcdHNlbGVjdCBGV19MT0FERVJcXG4gIDcxOlxcdFxcdHNlbGVjdCBMSUJJUFdcXG4gIDcyOlxcdFxcdGhlbHBcXG4gIDczOlxcdFxcdCAgQSBkcml2ZXIgZm9yIHRoZSBJbnRlbCBQUk8vV2lyZWxlc3MgMjIwMEJHIGFuZCAyOTE1QUJHIE5ldHdvcmtcXG4gIDc0OlxcdFxcdCAgQ29ubmVjdGlvbiBhZGFwdGVycy5cXG4gIDc1OlxcdFxcbiAgNzY6XFx0XFx0ICBTZWUgXFx1MDAzY2ZpbGU6RG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2RldmljZV9kcml2ZXJzL3dpZmkvaW50ZWwvaXB3MjIwMC5yc3RcXHUwMDNlXFxuICA3NzpcXHRcXHQgIGZvciBpbmZvcm1hdGlvbiBvbiB0aGUgY2FwYWJpbGl0aWVzIGN1cnJlbnRseSBlbmFibGVkIGluIHRoaXNcXG4gIDc4OlxcdFxcdCAgZHJpdmVyIGFuZCBmb3IgdGlwcyBmb3IgZGVidWdnaW5nIGlzc3VlcyBhbmQgcHJvYmxlbXMuXFxuICA3OTpcXHRcXG4gIDgwOlxcdFxcdCAgSW4gb3JkZXIgdG8gdXNlIHRoaXMgZHJpdmVyLCB5b3Ugd2lsbCBuZWVkIGEgZmlybXdhcmUgaW1hZ2UgZm9yIGl0LlxcbiAgODE6XFx0XFx0ICBZb3UgY2FuIG9idGFpbiB0aGUgZmlybXdhcmUgZnJvbVxcbiAgODI6XFx0XFx0ICBcXHUwMDNjaHR0cDovL2lwdzIyMDAuc2YubmV0L1xcdTAwM2UuICBTZWUgdGhlIGFib3ZlIHJlZmVyZW5jZWQgUkVBRE1FLmlwdzIyMDBcXG4gIDgzOlxcdFxcdCAgZm9yIGluZm9ybWF0aW9uIG9uIHdoZXJlIHRvIGluc3RhbGwgdGhlIGZpcm13YXJlIGltYWdlcy5cXG4gIDg0OlxcdFxcbiAgODU6XFx0XFx0ICBZb3Ugd2lsbCBhbHNvIHZlcnkgbGlrZWx5IG5lZWQgdGhlIFdpcmVsZXNzIFRvb2xzIGluIG9yZGVyIHRvXFxuICA4NjpcXHRcXHQgIGNvbmZpZ3VyZSB5b3VyIGNhcmQ6XFxuICA4NzpcXHRcXG4gIDg4OlxcdFxcdCAgXFx1MDAzY2h0dHBzOi8vd3d3LmhwbC5ocC5jb20vcGVyc29uYWwvSmVhbl9Ub3VycmlsaGVzL0xpbnV4L1Rvb2xzLmh0bWxcXHUwMDNlLlxcbiAgODk6XFx0XFxuICA5MDpcXHRcXHQgIEl0IGlzIHJlY29tbWVuZGVkIHRoYXQgeW91IGNvbXBpbGUgdGhpcyBkcml2ZXIgYXMgYSBtb2R1bGUgKE0pXFxuICA5MTpcXHRcXHQgIHJhdGhlciB0aGFuIGJ1aWx0LWluIChZKS4gVGhpcyBkcml2ZXIgcmVxdWlyZXMgZmlybXdhcmUgYXQgZGV2aWNlXFxuICA5MjpcXHRcXHQgIGluaXRpYWxpemF0aW9uIHRpbWUsIGFuZCB3aGVuIGJ1aWx0LWluIHRoaXMgdHlwaWNhbGx5IGhhcHBlbnNcXG4gIDkzOlxcdFxcdCAgYmVmb3JlIHRoZSBmaWxlc3lzdGVtIGlzIGFjY2Vzc2libGUgKGhlbmNlIGZpcm13YXJlIHdpbGwgYmVcXG4gIDk0OlxcdFxcdCAgdW5hdmFpbGFibGUgYW5kIGluaXRpYWxpemF0aW9uIHdpbGwgZmFpbCkuIElmIHlvdSBkbyBjaG9vc2UgdG8gYnVpbGRcXG4gIDk1OlxcdFxcdCAgdGhpcyBkcml2ZXIgaW50byB5b3VyIGtlcm5lbCBpbWFnZSwgeW91IGNhbiBhdm9pZCB0aGlzIHByb2JsZW0gYnlcXG4gIDk2OlxcdFxcdCAgaW5jbHVkaW5nIHRoZSBmaXJtd2FyZSBhbmQgYSBmaXJtd2FyZSBsb2FkZXIgaW4gYW4gaW5pdHJhbWZzLlxcbiAgOTc6XFx0XFxuICA5ODpcXHRjb25maWcgSVBXMjIwMF9NT05JVE9SXFxuICA5OTpcXHRcXHRib29sIFxcXCJFbmFibGUgcHJvbWlzY3VvdXMgbW9kZVxcXCJcXG4gMTAwOlxcdFxcdGRlcGVuZHMgb24gSVBXMjIwMFxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0zMVQyMDoxODoyMS41MjQwMDQ4MTNaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuNy1mbGFzaCIsIkR1cmF0aW9uIjoyMzg2MTEyMjg3MCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgaGVyZSdzIG15IGF0dGVtcHQgYXQgc3VtbWFyaXppbmcgdGhlIHRob3VnaHQgcHJvY2VzcywgYXMgaWYgSSB3ZXJlIGNvbnNpZGVyaW5nIHRoZSB0b3BpYyBteXNlbGYsIHRhaWxvcmVkIGZvciBhbiBleHBlcnQgYXVkaWVuY2U6XG5cbioqTElCSVBXIGFuZCBEcml2ZXIgU2VsZWN0aW9uOiBBIFF1aWNrIFJldmlldyoqXG5cbkFscmlnaHQsIGxldCdzIGdldCBkb3duIHRvIGJyYXNzIHRhY2tzLiBJIG5lZWQgYSByZWZyZXNoZXIgb24gTElCSVBXLiBNeSBpbml0aWFsIHF1ZXN0aW9uIGlzLCB3aGF0ICppcyogaXQsIGZ1bmRhbWVudGFsbHk/IEkgbmVlZCB0byB1bmRlcnN0YW5kIGl0cyByb2xlLCBpdHMgYXJjaGl0ZWN0dXJlLCBpdHMgZGVzaWduIHBoaWxvc29waHkuIEknbSBhbHJlYWR5IHRoaW5raW5nIGFib3V0IGl0cyByZWxhdGlvbnNoaXAgdG8gdGhlIGtlcm5lbCwgaG93IGl0IGZpdHMgaW50byB0aGUgYnJvYWRlciBuZXR3b3JraW5nIHN0YWNrLlxuXG5UaGVuLCB0aGUgY3JpdGljYWwgcG9pbnQ6ICp3aGljaCogZHJpdmVycyBhcmUgbGV2ZXJhZ2luZyBMSUJJUFc/IEFuZCBtb3JlIGltcG9ydGFudGx5LCAqd2h5KiBhcmUgdGhleSBjaG9vc2luZyB0aGlzIHBhcnRpY3VsYXIgcm91dGU/IElzIGl0IGFib3V0IGNvZGUgcmV1c2UsIHBlcmZvcm1hbmNlIGdhaW5zLCBzcGVjaWZpYyBoYXJkd2FyZSBzdXBwb3J0LCBvciBwZXJoYXBzIGEgYmFsYW5jZSBvZiBhbGwgdGhlc2UgZmFjdG9ycz8gSSBuZWVkIHRvIHF1aWNrbHkgaWRlbnRpZnkgdGhlIGtleSBkcml2ZXJzIGludm9sdmVkIGFuZCB0aGVuIGRpZyBpbnRvIHRoZWlyIGltcGxlbWVudGF0aW9uIHNwZWNpZmljcywgbG9va2luZyBmb3IgdGhlIHJhdGlvbmFsZSBiZWhpbmQgdGhlaXIgZGVjaXNpb24uIEknbGwgbmVlZCB0byB1bmRlcnN0YW5kIHRoZSB0cmFkZS1vZmZzIHRoZXkgbWFkZSDigJMgdGhlIGFkdmFudGFnZXMgYW5kIGRpc2FkdmFudGFnZXMgY29tcGFyZWQgdG8gYWx0ZXJuYXRpdmUgbWV0aG9kcy4gQW55IGltcGxlbWVudGF0aW9uIG5vdGVzIG9yIGRvY3VtZW50YXRpb24gYXJlIHBhcmFtb3VudC4gVGhpcyBxdWlja2x5IGFsbG93cyBtZSB0byBhc2NlcnRhaW4gdGhlIHN1aXRhYmlsaXR5IG9mIGEgZ2VuZXJhbCBsaWJyYXJ5LCBvciBub3QuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjExNzMyLCJPdXRwdXRUb2tlbnMiOjE3LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTcsIlRvb2xDYWxscyI6WyJncmVwcGVyIiwicmVhZC1maWxlIl19LHsiU3RhcnRlZCI6IjIwMjYtMDgtMzFUMjA6MTg6NDUuMzg1MTI5ODgzWiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE1MzcwMzg5MDUsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiTElCSVBXXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcIlxcbkZ1bGwgb3V0cHV0IGlzIHRvbyBsb25nLCBzaG93aW5nIDUwMCBvdXQgb2YgMTUyMCBsaW5lcy5cXG5Vc2UgbW9yZSBwcmVjaXNlIGV4cHJlc3Npb24gaWYgcG9zc2libGUuXFxuXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnPTY9Y29uZmlnIElQVzIxMDBcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvS2NvbmZpZy0xMS1cXHRzZWxlY3QgRldfTE9BREVSXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnOjEyOlxcdHNlbGVjdCBMSUJJUFdcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWctMTMtXFx0aGVscFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnPTY1PWNvbmZpZyBJUFcyMjAwXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWctNzAtXFx0c2VsZWN0IEZXX0xPQURFUlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvS2NvbmZpZzo3MTpcXHRzZWxlY3QgTElCSVBXXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnLTcyLVxcdGhlbHBcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvS2NvbmZpZz0xMzk9Y29uZmlnIElQVzIyMDBfREVCVUdcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvS2NvbmZpZy0xNTEtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnOjE1Mjpjb25maWcgTElCSVBXXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnLTE1My1cXHR0cmlzdGF0ZVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnLTE2My1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWc6MTY0OmNvbmZpZyBMSUJJUFdfREVCVUdcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWc6MTY1OlxcdGJvb2wgXFxcIkZ1bGwgZGVidWdnaW5nIG91dHB1dCBmb3IgdGhlIExJQklQVyBjb21wb25lbnRcXFwiXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnOjE2NjpcXHRkZXBlbmRzIG9uIExJQklQV1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvS2NvbmZpZy0xNjctXFx0aGVscFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9NYWtlZmlsZT03PW9iai0kKENPTkZJR19JUFcyMjAwKSArPSBpcHcyMjAwLm9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL01ha2VmaWxlLTgtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9NYWtlZmlsZTo5Om9iai0kKENPTkZJR19MSUJJUFcpICs9IGxpYmlwdy5vXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9NYWtlZmlsZS0xMC1saWJpcHctb2JqcyA6PSBcXFxcXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz0xNjkzPXN0YXRpYyBpbnQgaXB3MjEwMF91cChzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2LCBpbnQgZGVmZXJyZWQpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0xNzYwLVxcdGxpYmlwd19zZXRfZ2VvKHByaXYtXFx1MDAzZWllZWUsIFxcdTAwMjZpcHdfZ2Vvc1swXSk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MTc2MTpcXHRwcml2LVxcdTAwM2VpZWVlLVxcdTAwM2VmcmVxX2JhbmQgPSBMSUJJUFdfMjRHSFpfQkFORDtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0xNzYyLVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9MTg3Mz1zdGF0aWMgaW50IGlwdzIxMDBfd2Rldl9pbml0KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0xODk5LVxcdFxcdFxcdGJnX2JhbmQtXFx1MDAzZWNoYW5uZWxzW2ldLm1heF9wb3dlciA9IGdlby1cXHUwMDNlYmdbaV0ubWF4X3Bvd2VyO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjE5MDA6XFx0XFx0XFx0aWYgKGdlby1cXHUwMDNlYmdbaV0uZmxhZ3MgXFx1MDAyNiBMSUJJUFdfQ0hfUEFTU0lWRV9PTkxZKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTE5MDEtXFx0XFx0XFx0XFx0YmdfYmFuZC1cXHUwMDNlY2hhbm5lbHNbaV0uZmxhZ3MgfD1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0xOTAyLVxcdFxcdFxcdFxcdFxcdElFRUU4MDIxMV9DSEFOX05PX0lSO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjE5MDM6XFx0XFx0XFx0aWYgKGdlby1cXHUwMDNlYmdbaV0uZmxhZ3MgXFx1MDAyNiBMSUJJUFdfQ0hfTk9fSUJTUylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0xOTA0LVxcdFxcdFxcdFxcdGJnX2JhbmQtXFx1MDAzZWNoYW5uZWxzW2ldLmZsYWdzIHw9XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMTkwNS1cXHRcXHRcXHRcXHRcXHRJRUVFODAyMTFfQ0hBTl9OT19JUjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoxOTA2OlxcdFxcdFxcdGlmIChnZW8tXFx1MDAzZWJnW2ldLmZsYWdzIFxcdTAwMjYgTElCSVBXX0NIX1JBREFSX0RFVEVDVClcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0xOTA3LVxcdFxcdFxcdFxcdGJnX2JhbmQtXFx1MDAzZWNoYW5uZWxzW2ldLmZsYWdzIHw9XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMTkwOC1cXHRcXHRcXHRcXHRcXHRJRUVFODAyMTFfQ0hBTl9SQURBUjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoxOTA5OlxcdFxcdFxcdC8qIE5vIGVxdWl2YWxlbnQgZm9yIExJQklQV19DSF84MDIxMUhfUlVMRVMsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MTkxMDpcXHRcXHRcXHQgICBMSUJJUFdfQ0hfVU5JRk9STV9TUFJFQURJTkcsIG9yXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MTkxMTpcXHRcXHRcXHQgICBMSUJJUFdfQ0hfQl9PTkxZLi4uICovXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMTkxMi1cXHRcXHR9XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz0yNjQ0PXN0YXRpYyB2b2lkIF9faXB3MjEwMF9yeF9wcm9jZXNzKHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNjg5LVxcdFxcdGlmIChzdGF0cy5yc3NpICE9IDApXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MjY5MDpcXHRcXHRcXHRzdGF0cy5tYXNrIHw9IExJQklQV19TVEFUTUFTS19SU1NJO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjI2OTE6XFx0XFx0c3RhdHMuZnJlcSA9IExJQklQV18yNEdIWl9CQU5EO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI2OTItXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz0zMDQ3PXN0YXRpYyB2b2lkIGlwdzIxMDBfdHhfc2VuZF9kYXRhKHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zMTEzLVxcdFxcdFxcdCAgICBwYWNrZXQtXFx1MDAzZWluZm8uZF9zdHJ1Y3QudHhiLVxcdTAwM2VmcmFnX3NpemUgLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjMxMTQ6XFx0XFx0XFx0ICAgIExJQklQV18zQUREUl9MRU47XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMzExNS1cXHRcXHRlbHNlXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zMTQ2LVxcdFxcdFxcdHRiZC1cXHUwMDNlYnVmX2xlbmd0aCA9IHBhY2tldC1cXHUwMDNlaW5mby5kX3N0cnVjdC50eGItXFx1MDAzZVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjMxNDc6XFx0XFx0XFx0ICAgIGZyYWdtZW50c1tpXS1cXHUwMDNlbGVuIC0gTElCSVBXXzNBRERSX0xFTjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0zMTQ4LVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMzE1MS1cXHRcXHRcXHRcXHRcXHRcXHRcXHR0eGItXFx1MDAzZWZyYWdtZW50c1tpXS1cXHUwMDNlZGF0YSArXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MzE1MjpcXHRcXHRcXHRcXHRcXHRcXHRcXHRMSUJJUFdfM0FERFJfTEVOLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTMxNTMtXFx0XFx0XFx0XFx0XFx0XFx0XFx0dGJkLVxcdTAwM2VidWZfbGVuZ3RoLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM9NTk5Nj1zdGF0aWMgc3RydWN0IG5ldF9kZXZpY2UgKmlwdzIxMDBfYWxsb2NfZGV2aWNlKHN0cnVjdCBwY2lfZGV2ICpwY2lfZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtNjAyMi1cXHRkZXYtXFx1MDAzZW1pbl9tdHUgPSA2ODtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzo2MDIzOlxcdGRldi1cXHUwMDNlbWF4X210dSA9IExJQklQV19EQVRBX0xFTjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy02MDI0LVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9MTg1OT1zdGF0aWMgc3NpemVfdCBjaGFubmVsc19zaG93KHN0cnVjdCBkZXZpY2UgKmQsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy0xODczLVxcdFxcdFxcdCAgICAgICBnZW8tXFx1MDAzZWJnW2ldLmNoYW5uZWwsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6MTg3NDpcXHRcXHRcXHQgICAgICAgZ2VvLVxcdTAwM2ViZ1tpXS5mbGFncyBcXHUwMDI2IExJQklQV19DSF9SQURBUl9ERVRFQ1QgP1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTE4NzUtXFx0XFx0XFx0ICAgICAgIFxcXCIgKHJhZGFyIHNwZWN0cnVtKVxcXCIgOiBcXFwiXFxcIixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzoxODc2OlxcdFxcdFxcdCAgICAgICAoKGdlby1cXHUwMDNlYmdbaV0uZmxhZ3MgXFx1MDAyNiBMSUJJUFdfQ0hfTk9fSUJTUykgfHxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzoxODc3OlxcdFxcdFxcdFxcdChnZW8tXFx1MDAzZWJnW2ldLmZsYWdzIFxcdTAwMjYgTElCSVBXX0NIX1JBREFSX0RFVEVDVCkpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtMTg3OC1cXHRcXHRcXHQgICAgICAgPyBcXFwiXFxcIiA6IFxcXCIsIElCU1NcXFwiLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjE4Nzk6XFx0XFx0XFx0ICAgICAgIGdlby1cXHUwMDNlYmdbaV0uZmxhZ3MgXFx1MDAyNiBMSUJJUFdfQ0hfUEFTU0lWRV9PTkxZID9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy0xODgwLVxcdFxcdFxcdCAgICAgICBcXFwicGFzc2l2ZSBvbmx5XFxcIiA6IFxcXCJhY3RpdmUvcGFzc2l2ZVxcXCIsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6MTg4MTpcXHRcXHRcXHQgICAgICAgZ2VvLVxcdTAwM2ViZ1tpXS5mbGFncyBcXHUwMDI2IExJQklQV19DSF9CX09OTFkgP1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTE4ODItXFx0XFx0XFx0ICAgICAgIFxcXCJCXFxcIiA6IFxcXCJCL0dcXFwiKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTE4OTAtXFx0XFx0XFx0ICAgICAgIGdlby1cXHUwMDNlYVtpXS5jaGFubmVsLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjE4OTE6XFx0XFx0XFx0ICAgICAgIGdlby1cXHUwMDNlYVtpXS5mbGFncyBcXHUwMDI2IExJQklQV19DSF9SQURBUl9ERVRFQ1QgP1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTE4OTItXFx0XFx0XFx0ICAgICAgIFxcXCIgKHJhZGFyIHNwZWN0cnVtKVxcXCIgOiBcXFwiXFxcIixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzoxODkzOlxcdFxcdFxcdCAgICAgICAoKGdlby1cXHUwMDNlYVtpXS5mbGFncyBcXHUwMDI2IExJQklQV19DSF9OT19JQlNTKSB8fFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjE4OTQ6XFx0XFx0XFx0XFx0KGdlby1cXHUwMDNlYVtpXS5mbGFncyBcXHUwMDI2IExJQklQV19DSF9SQURBUl9ERVRFQ1QpKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTE4OTUtXFx0XFx0XFx0ICAgICAgID8gXFxcIlxcXCIgOiBcXFwiLCBJQlNTXFxcIixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzoxODk2OlxcdFxcdFxcdCAgICAgICBnZW8tXFx1MDAzZWFbaV0uZmxhZ3MgXFx1MDAyNiBMSUJJUFdfQ0hfUEFTU0lWRV9PTkxZID9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy0xODk3LVxcdFxcdFxcdCAgICAgICBcXFwicGFzc2l2ZSBvbmx5XFxcIiA6IFxcXCJhY3RpdmUvcGFzc2l2ZVxcXCIpO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9NDA5MD1zdGF0aWMgdTMyIGlwd19nZXRfbWF4X3JhdGUoc3RydWN0IGlwd19wcml2ICpwcml2KVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNDA5Ni1cXHRpZiAocHJpdi1cXHUwMDNlYXNzb2NfcmVxdWVzdC5pZWVlX21vZGUgPT0gSVBXX0JfTU9ERSlcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo0MDk3OlxcdFxcdG1hc2sgXFx1MDAyNj0gTElCSVBXX0NDS19SQVRFU19NQVNLO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTQwOTgtXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy00MTA0LVxcdHN3aXRjaCAoaSkge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjQxMDU6XFx0Y2FzZSBMSUJJUFdfQ0NLX1JBVEVfMU1CX01BU0s6XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNDEwNi1cXHRcXHRyZXR1cm4gMTAwMDAwMDtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo0MTA3OlxcdGNhc2UgTElCSVBXX0NDS19SQVRFXzJNQl9NQVNLOlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTQxMDgtXFx0XFx0cmV0dXJuIDIwMDAwMDA7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NDEwOTpcXHRjYXNlIExJQklQV19DQ0tfUkFURV81TUJfTUFTSzpcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy00MTEwLVxcdFxcdHJldHVybiA1NTAwMDAwO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjQxMTE6XFx0Y2FzZSBMSUJJUFdfT0ZETV9SQVRFXzZNQl9NQVNLOlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTQxMTItXFx0XFx0cmV0dXJuIDYwMDAwMDA7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NDExMzpcXHRjYXNlIExJQklQV19PRkRNX1JBVEVfOU1CX01BU0s6XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNDExNC1cXHRcXHRyZXR1cm4gOTAwMDAwMDtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo0MTE1OlxcdGNhc2UgTElCSVBXX0NDS19SQVRFXzExTUJfTUFTSzpcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy00MTE2LVxcdFxcdHJldHVybiAxMTAwMDAwMDtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo0MTE3OlxcdGNhc2UgTElCSVBXX09GRE1fUkFURV8xMk1CX01BU0s6XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNDExOC1cXHRcXHRyZXR1cm4gMTIwMDAwMDA7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NDExOTpcXHRjYXNlIExJQklQV19PRkRNX1JBVEVfMThNQl9NQVNLOlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTQxMjAtXFx0XFx0cmV0dXJuIDE4MDAwMDAwO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjQxMjE6XFx0Y2FzZSBMSUJJUFdfT0ZETV9SQVRFXzI0TUJfTUFTSzpcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy00MTIyLVxcdFxcdHJldHVybiAyNDAwMDAwMDtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo0MTIzOlxcdGNhc2UgTElCSVBXX09GRE1fUkFURV8zNk1CX01BU0s6XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNDEyNC1cXHRcXHRyZXR1cm4gMzYwMDAwMDA7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NDEyNTpcXHRjYXNlIExJQklQV19PRkRNX1JBVEVfNDhNQl9NQVNLOlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTQxMjYtXFx0XFx0cmV0dXJuIDQ4MDAwMDAwO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjQxMjc6XFx0Y2FzZSBMSUJJUFdfT0ZETV9SQVRFXzU0TUJfTUFTSzpcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy00MTI4LVxcdFxcdHJldHVybiA1NDAwMDAwMDtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jPTUyMjQ9c3RhdGljIGludCBpcHdfaXNfcmF0ZV9pbl9tYXNrKHN0cnVjdCBpcHdfcHJpdiAqcHJpdiwgaW50IGllZWVfbW9kZSwgdTggcmF0ZSlcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01MjI1LXtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjI2OlxcdHJhdGUgXFx1MDAyNj0gfkxJQklQV19CQVNJQ19SQVRFX01BU0s7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTIyNy1cXHRpZiAoaWVlZV9tb2RlID09IElFRUVfQSkge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUyMjgtXFx0XFx0c3dpdGNoIChyYXRlKSB7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTIyOTpcXHRcXHRjYXNlIExJQklQV19PRkRNX1JBVEVfNk1COlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyMzA6XFx0XFx0XFx0cmV0dXJuIHByaXYtXFx1MDAzZXJhdGVzX21hc2sgXFx1MDAyNiBMSUJJUFdfT0ZETV9SQVRFXzZNQl9NQVNLID9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01MjMxLVxcdFxcdFxcdCAgICAxIDogMDtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjMyOlxcdFxcdGNhc2UgTElCSVBXX09GRE1fUkFURV85TUI6XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTIzMzpcXHRcXHRcXHRyZXR1cm4gcHJpdi1cXHUwMDNlcmF0ZXNfbWFzayBcXHUwMDI2IExJQklQV19PRkRNX1JBVEVfOU1CX01BU0sgP1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUyMzQtXFx0XFx0XFx0ICAgIDEgOiAwO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyMzU6XFx0XFx0Y2FzZSBMSUJJUFdfT0ZETV9SQVRFXzEyTUI6XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTIzNi1cXHRcXHRcXHRyZXR1cm4gcHJpdi1cXHUwMDNlXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTIzNzpcXHRcXHRcXHQgICAgcmF0ZXNfbWFzayBcXHUwMDI2IExJQklQV19PRkRNX1JBVEVfMTJNQl9NQVNLID8gMSA6IDA7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTIzODpcXHRcXHRjYXNlIExJQklQV19PRkRNX1JBVEVfMThNQjpcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01MjM5LVxcdFxcdFxcdHJldHVybiBwcml2LVxcdTAwM2VcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjQwOlxcdFxcdFxcdCAgICByYXRlc19tYXNrIFxcdTAwMjYgTElCSVBXX09GRE1fUkFURV8xOE1CX01BU0sgPyAxIDogMDtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjQxOlxcdFxcdGNhc2UgTElCSVBXX09GRE1fUkFURV8yNE1COlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUyNDItXFx0XFx0XFx0cmV0dXJuIHByaXYtXFx1MDAzZVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyNDM6XFx0XFx0XFx0ICAgIHJhdGVzX21hc2sgXFx1MDAyNiBMSUJJUFdfT0ZETV9SQVRFXzI0TUJfTUFTSyA/IDEgOiAwO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyNDQ6XFx0XFx0Y2FzZSBMSUJJUFdfT0ZETV9SQVRFXzM2TUI6XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTI0NS1cXHRcXHRcXHRyZXR1cm4gcHJpdi1cXHUwMDNlXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTI0NjpcXHRcXHRcXHQgICAgcmF0ZXNfbWFzayBcXHUwMDI2IExJQklQV19PRkRNX1JBVEVfMzZNQl9NQVNLID8gMSA6IDA7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTI0NzpcXHRcXHRjYXNlIExJQklQV19PRkRNX1JBVEVfNDhNQjpcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01MjQ4LVxcdFxcdFxcdHJldHVybiBwcml2LVxcdTAwM2VcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjQ5OlxcdFxcdFxcdCAgICByYXRlc19tYXNrIFxcdTAwMjYgTElCSVBXX09GRE1fUkFURV80OE1CX01BU0sgPyAxIDogMDtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjUwOlxcdFxcdGNhc2UgTElCSVBXX09GRE1fUkFURV81NE1COlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUyNTEtXFx0XFx0XFx0cmV0dXJuIHByaXYtXFx1MDAzZVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyNTI6XFx0XFx0XFx0ICAgIHJhdGVzX21hc2sgXFx1MDAyNiBMSUJJUFdfT0ZETV9SQVRFXzU0TUJfTUFTSyA/IDEgOiAwO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUyNTMtXFx0XFx0ZGVmYXVsdDpcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUyNTktXFx0c3dpdGNoIChyYXRlKSB7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTI2MDpcXHRjYXNlIExJQklQV19DQ0tfUkFURV8xTUI6XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTI2MTpcXHRcXHRyZXR1cm4gcHJpdi1cXHUwMDNlcmF0ZXNfbWFzayBcXHUwMDI2IExJQklQV19DQ0tfUkFURV8xTUJfTUFTSyA/IDEgOiAwO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyNjI6XFx0Y2FzZSBMSUJJUFdfQ0NLX1JBVEVfMk1COlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyNjM6XFx0XFx0cmV0dXJuIHByaXYtXFx1MDAzZXJhdGVzX21hc2sgXFx1MDAyNiBMSUJJUFdfQ0NLX1JBVEVfMk1CX01BU0sgPyAxIDogMDtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjY0OlxcdGNhc2UgTElCSVBXX0NDS19SQVRFXzVNQjpcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjY1OlxcdFxcdHJldHVybiBwcml2LVxcdTAwM2VyYXRlc19tYXNrIFxcdTAwMjYgTElCSVBXX0NDS19SQVRFXzVNQl9NQVNLID8gMSA6IDA7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTI2NjpcXHRjYXNlIExJQklQV19DQ0tfUkFURV8xMU1COlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyNjc6XFx0XFx0cmV0dXJuIHByaXYtXFx1MDAzZXJhdGVzX21hc2sgXFx1MDAyNiBMSUJJUFdfQ0NLX1JBVEVfMTFNQl9NQVNLID8gMSA6IDA7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTI2OC1cXHR9XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01Mjc1LVxcdHN3aXRjaCAocmF0ZSkge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyNzY6XFx0Y2FzZSBMSUJJUFdfT0ZETV9SQVRFXzZNQjpcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1Mjc3OlxcdFxcdHJldHVybiBwcml2LVxcdTAwM2VyYXRlc19tYXNrIFxcdTAwMjYgTElCSVBXX09GRE1fUkFURV82TUJfTUFTSyA/IDEgOiAwO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyNzg6XFx0Y2FzZSBMSUJJUFdfT0ZETV9SQVRFXzlNQjpcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1Mjc5OlxcdFxcdHJldHVybiBwcml2LVxcdTAwM2VyYXRlc19tYXNrIFxcdTAwMjYgTElCSVBXX09GRE1fUkFURV85TUJfTUFTSyA/IDEgOiAwO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyODA6XFx0Y2FzZSBMSUJJUFdfT0ZETV9SQVRFXzEyTUI6XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTI4MTpcXHRcXHRyZXR1cm4gcHJpdi1cXHUwMDNlcmF0ZXNfbWFzayBcXHUwMDI2IExJQklQV19PRkRNX1JBVEVfMTJNQl9NQVNLID8gMSA6IDA7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTI4MjpcXHRjYXNlIExJQklQV19PRkRNX1JBVEVfMThNQjpcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjgzOlxcdFxcdHJldHVybiBwcml2LVxcdTAwM2VyYXRlc19tYXNrIFxcdTAwMjYgTElCSVBXX09GRE1fUkFURV8xOE1CX01BU0sgPyAxIDogMDtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1Mjg0OlxcdGNhc2UgTElCSVBXX09GRE1fUkFURV8yNE1COlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyODU6XFx0XFx0cmV0dXJuIHByaXYtXFx1MDAzZXJhdGVzX21hc2sgXFx1MDAyNiBMSUJJUFdfT0ZETV9SQVRFXzI0TUJfTUFTSyA/IDEgOiAwO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyODY6XFx0Y2FzZSBMSUJJUFdfT0ZETV9SQVRFXzM2TUI6XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTI4NzpcXHRcXHRyZXR1cm4gcHJpdi1cXHUwMDNlcmF0ZXNfbWFzayBcXHUwMDI2IExJQklQV19PRkRNX1JBVEVfMzZNQl9NQVNLID8gMSA6IDA7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTI4ODpcXHRjYXNlIExJQklQV19PRkRNX1JBVEVfNDhNQjpcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1Mjg5OlxcdFxcdHJldHVybiBwcml2LVxcdTAwM2VyYXRlc19tYXNrIFxcdTAwMjYgTElCSVBXX09GRE1fUkFURV80OE1CX01BU0sgPyAxIDogMDtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MjkwOlxcdGNhc2UgTElCSVBXX09GRE1fUkFURV81NE1COlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUyOTE6XFx0XFx0cmV0dXJuIHByaXYtXFx1MDAzZXJhdGVzX21hc2sgXFx1MDAyNiBMSUJJUFdfT0ZETV9SQVRFXzU0TUJfTUFTSyA/IDEgOiAwO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUyOTItXFx0fVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9NTI5Nz1zdGF0aWMgaW50IGlwd19jb21wYXRpYmxlX3JhdGVzKHN0cnVjdCBpcHdfcHJpdiAqcHJpdixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUzMDktXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTMxMDpcXHRcXHRcXHRpZiAobmV0d29yay1cXHUwMDNlcmF0ZXNbaV0gXFx1MDAyNiBMSUJJUFdfQkFTSUNfUkFURV9NQVNLKSB7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTMxMS1cXHRcXHRcXHRcXHRJUFdfREVCVUdfU0NBTihcXFwiQWRkaW5nIG1hc2tlZCBtYW5kYXRvcnkgXFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTMzMS1cXHRcXHRcXHRcXHRcXHQgbmV0d29yay1cXHUwMDNlcmF0ZXNfZXhbaV0pKSB7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTMzMjpcXHRcXHRcXHRpZiAobmV0d29yay1cXHUwMDNlcmF0ZXNfZXhbaV0gXFx1MDAyNiBMSUJJUFdfQkFTSUNfUkFURV9NQVNLKSB7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTMzMy1cXHRcXHRcXHRcXHRJUFdfREVCVUdfU0NBTihcXFwiQWRkaW5nIG1hc2tlZCBtYW5kYXRvcnkgXFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9NTM2NT1zdGF0aWMgdm9pZCBpcHdfYWRkX2Nja19zY2FuX3JhdGVzKHN0cnVjdCBpcHdfc3VwcG9ydGVkX3JhdGVzICpyYXRlcyxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUzNjcte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUzNjg6XFx0dTggYmFzaWNfbWFzayA9IChMSUJJUFdfT0ZETV9NT0RVTEFUSU9OID09IG1vZHVsYXRpb24pID9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1MzY5OlxcdCAgICBMSUJJUFdfQkFTSUNfUkFURV9NQVNLIDogMDtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01MzcwLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUzNzE6XFx0aWYgKHJhdGVfbWFzayBcXHUwMDI2IExJQklQV19DQ0tfUkFURV8xTUJfTUFTSylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01MzcyLVxcdFxcdHJhdGVzLVxcdTAwM2VzdXBwb3J0ZWRfcmF0ZXNbcmF0ZXMtXFx1MDAzZW51bV9yYXRlcysrXSA9XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTM3MzpcXHRcXHQgICAgTElCSVBXX0JBU0lDX1JBVEVfTUFTSyB8IExJQklQV19DQ0tfUkFURV8xTUI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTM3NC1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1Mzc1OlxcdGlmIChyYXRlX21hc2sgXFx1MDAyNiBMSUJJUFdfQ0NLX1JBVEVfMk1CX01BU0spXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTM3Ni1cXHRcXHRyYXRlcy1cXHUwMDNlc3VwcG9ydGVkX3JhdGVzW3JhdGVzLVxcdTAwM2VudW1fcmF0ZXMrK10gPVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUzNzc6XFx0XFx0ICAgIExJQklQV19CQVNJQ19SQVRFX01BU0sgfCBMSUJJUFdfQ0NLX1JBVEVfMk1CO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUzNzgtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTM3OTpcXHRpZiAocmF0ZV9tYXNrIFxcdTAwMjYgTElCSVBXX0NDS19SQVRFXzVNQl9NQVNLKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUzODAtXFx0XFx0cmF0ZXMtXFx1MDAzZXN1cHBvcnRlZF9yYXRlc1tyYXRlcy1cXHUwMDNlbnVtX3JhdGVzKytdID0gYmFzaWNfbWFzayB8XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTM4MTpcXHRcXHQgICAgTElCSVBXX0NDS19SQVRFXzVNQjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01MzgyLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUzODM6XFx0aWYgKHJhdGVfbWFzayBcXHUwMDI2IExJQklQV19DQ0tfUkFURV8xMU1CX01BU0spXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTM4NC1cXHRcXHRyYXRlcy1cXHUwMDNlc3VwcG9ydGVkX3JhdGVzW3JhdGVzLVxcdTAwM2VudW1fcmF0ZXMrK10gPSBiYXNpY19tYXNrIHxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1Mzg1OlxcdFxcdCAgICBMSUJJUFdfQ0NLX1JBVEVfMTFNQjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01Mzg2LX1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jPTUzODg9c3RhdGljIHZvaWQgaXB3X2FkZF9vZmRtX3NjYW5fcmF0ZXMoc3RydWN0IGlwd19zdXBwb3J0ZWRfcmF0ZXMgKnJhdGVzLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTM5MC17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTM5MTpcXHR1OCBiYXNpY19tYXNrID0gKExJQklQV19PRkRNX01PRFVMQVRJT04gPT0gbW9kdWxhdGlvbikgP1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUzOTI6XFx0ICAgIExJQklQV19CQVNJQ19SQVRFX01BU0sgOiAwO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUzOTMtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTM5NDpcXHRpZiAocmF0ZV9tYXNrIFxcdTAwMjYgTElCSVBXX09GRE1fUkFURV82TUJfTUFTSylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01Mzk1LVxcdFxcdHJhdGVzLVxcdTAwM2VzdXBwb3J0ZWRfcmF0ZXNbcmF0ZXMtXFx1MDAzZW51bV9yYXRlcysrXSA9IGJhc2ljX21hc2sgfFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjUzOTY6XFx0XFx0ICAgIExJQklQV19PRkRNX1JBVEVfNk1CO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTUzOTctXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTM5ODpcXHRpZiAocmF0ZV9tYXNrIFxcdTAwMjYgTElCSVBXX09GRE1fUkFURV85TUJfTUFTSylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01Mzk5LVxcdFxcdHJhdGVzLVxcdTAwM2VzdXBwb3J0ZWRfcmF0ZXNbcmF0ZXMtXFx1MDAzZW51bV9yYXRlcysrXSA9XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTQwMDpcXHRcXHQgICAgTElCSVBXX09GRE1fUkFURV85TUI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTQwMS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1NDAyOlxcdGlmIChyYXRlX21hc2sgXFx1MDAyNiBMSUJJUFdfT0ZETV9SQVRFXzEyTUJfTUFTSylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01NDAzLVxcdFxcdHJhdGVzLVxcdTAwM2VzdXBwb3J0ZWRfcmF0ZXNbcmF0ZXMtXFx1MDAzZW51bV9yYXRlcysrXSA9IGJhc2ljX21hc2sgfFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjU0MDQ6XFx0XFx0ICAgIExJQklQV19PRkRNX1JBVEVfMTJNQjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01NDA1LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjU0MDY6XFx0aWYgKHJhdGVfbWFzayBcXHUwMDI2IExJQklQV19PRkRNX1JBVEVfMThNQl9NQVNLKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTU0MDctXFx0XFx0cmF0ZXMtXFx1MDAzZXN1cHBvcnRlZF9yYXRlc1tyYXRlcy1cXHUwMDNlbnVtX3JhdGVzKytdID1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1NDA4OlxcdFxcdCAgICBMSUJJUFdfT0ZETV9SQVRFXzE4TUI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTQwOS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1NDEwOlxcdGlmIChyYXRlX21hc2sgXFx1MDAyNiBMSUJJUFdfT0ZETV9SQVRFXzI0TUJfTUFTSylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01NDExLVxcdFxcdHJhdGVzLVxcdTAwM2VzdXBwb3J0ZWRfcmF0ZXNbcmF0ZXMtXFx1MDAzZW51bV9yYXRlcysrXSA9IGJhc2ljX21hc2sgfFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjU0MTI6XFx0XFx0ICAgIExJQklQV19PRkRNX1JBVEVfMjRNQjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01NDEzLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjU0MTQ6XFx0aWYgKHJhdGVfbWFzayBcXHUwMDI2IExJQklQV19PRkRNX1JBVEVfMzZNQl9NQVNLKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTU0MTUtXFx0XFx0cmF0ZXMtXFx1MDAzZXN1cHBvcnRlZF9yYXRlc1tyYXRlcy1cXHUwMDNlbnVtX3JhdGVzKytdID1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1NDE2OlxcdFxcdCAgICBMSUJJUFdfT0ZETV9SQVRFXzM2TUI7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTQxNy1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1NDE4OlxcdGlmIChyYXRlX21hc2sgXFx1MDAyNiBMSUJJUFdfT0ZETV9SQVRFXzQ4TUJfTUFTSylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01NDE5LVxcdFxcdHJhdGVzLVxcdTAwM2VzdXBwb3J0ZWRfcmF0ZXNbcmF0ZXMtXFx1MDAzZW51bV9yYXRlcysrXSA9XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTQyMDpcXHRcXHQgICAgTElCSVBXX09GRE1fUkFURV80OE1CO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTU0MjEtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTQyMjpcXHRpZiAocmF0ZV9tYXNrIFxcdTAwMjYgTElCSVBXX09GRE1fUkFURV81NE1CX01BU0spXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTQyMy1cXHRcXHRyYXRlcy1cXHUwMDNlc3VwcG9ydGVkX3JhdGVzW3JhdGVzLVxcdTAwM2VudW1fcmF0ZXMrK10gPVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjU0MjQ6XFx0XFx0ICAgIExJQklQV19PRkRNX1JBVEVfNTRNQjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01NDI1LX1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jPTU3NjI9c3RhdGljIHZvaWQgaXB3X2FkaG9jX2NyZWF0ZShzdHJ1Y3QgaXB3X3ByaXYgKnByaXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01NzgwLVxcdHN3aXRjaCAobGliaXB3X2lzX3ZhbGlkX2NoYW5uZWwocHJpdi1cXHUwMDNlaWVlZSwgcHJpdi1cXHUwMDNlY2hhbm5lbCkpIHtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1NzgxOlxcdGNhc2UgTElCSVBXXzUyR0haX0JBTkQ6XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTc4Mi1cXHRcXHRuZXR3b3JrLVxcdTAwM2Vtb2RlID0gSUVFRV9BO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNTc4NC1cXHRcXHRCVUdfT04oaSA9PSAtMSk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTc4NTpcXHRcXHRpZiAoZ2VvLVxcdTAwM2VhW2ldLmZsYWdzIFxcdTAwMjYgTElCSVBXX0NIX1BBU1NJVkVfT05MWSkge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTU3ODYtXFx0XFx0XFx0SVBXX1dBUk5JTkcoXFxcIk92ZXJyaWRpbmcgaW52YWxpZCBjaGFubmVsXFxcXG5cXFwiKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTU3OTAtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NTc5MTpcXHRjYXNlIExJQklQV18yNEdIWl9CQU5EOlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTU3OTItXFx0XFx0aWYgKHByaXYtXFx1MDAzZWllZWUtXFx1MDAzZW1vZGUgXFx1MDAyNiBJRUVFX0cpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy01Nzk3LVxcdFxcdEJVR19PTihpID09IC0xKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo1Nzk4OlxcdFxcdGlmIChnZW8tXFx1MDAzZWJnW2ldLmZsYWdzIFxcdTAwMjYgTElCSVBXX0NIX1BBU1NJVkVfT05MWSkge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTU3OTktXFx0XFx0XFx0SVBXX1dBUk5JTkcoXFxcIk92ZXJyaWRpbmcgaW52YWxpZCBjaGFubmVsXFxcXG5cXFwiKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jPTYwMjE9c3RhdGljIHZvaWQgaXB3X3NldF9maXhlZF9yYXRlKHN0cnVjdCBpcHdfcHJpdiAqcHJpdiwgaW50IG1vZGUpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MDMyLVxcdHN3aXRjaCAocHJpdi1cXHUwMDNlaWVlZS1cXHUwMDNlZnJlcV9iYW5kKSB7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NjAzMzpcXHRjYXNlIExJQklQV181MkdIWl9CQU5EOlxcdC8qIEEgb25seSAqL1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTYwMzQtXFx0XFx0LyogSUVFRV9BICovXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NjAzNTpcXHRcXHRpZiAocHJpdi1cXHUwMDNlcmF0ZXNfbWFzayBcXHUwMDI2IH5MSUJJUFdfT0ZETV9SQVRFU19NQVNLKSB7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNjAzNi1cXHRcXHRcXHQvKiBJbnZhbGlkIGZpeGVkIHJhdGUgbWFzayAqL1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNjA0Mi1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo2MDQzOlxcdFxcdG5ld190eF9yYXRlcyBcXHUwMDNlXFx1MDAzZT0gTElCSVBXX09GRE1fU0hJRlRfTUFTS19BO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTYwNDQtXFx0XFx0YnJlYWs7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MDQ4LVxcdFxcdGlmIChtb2RlID09IElFRUVfQikge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjYwNDk6XFx0XFx0XFx0aWYgKG5ld190eF9yYXRlcyBcXHUwMDI2IH5MSUJJUFdfQ0NLX1JBVEVTX01BU0spIHtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MDUwLVxcdFxcdFxcdFxcdC8qIEludmFsaWQgZml4ZWQgcmF0ZSBtYXNrICovXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MDU4LVxcdFxcdC8qIElFRUVfRyAqL1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjYwNTk6XFx0XFx0aWYgKG5ld190eF9yYXRlcyBcXHUwMDI2IH4oTElCSVBXX0NDS19SQVRFU19NQVNLIHxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo2MDYwOlxcdFxcdFxcdFxcdCAgICBMSUJJUFdfT0ZETV9SQVRFU19NQVNLKSkge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTYwNjEtXFx0XFx0XFx0LyogSW52YWxpZCBmaXhlZCByYXRlIG1hc2sgKi9cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTYwNjctXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NjA2ODpcXHRcXHRpZiAoTElCSVBXX09GRE1fUkFURV82TUJfTUFTSyBcXHUwMDI2IG5ld190eF9yYXRlcykge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjYwNjk6XFx0XFx0XFx0bWFzayB8PSAoTElCSVBXX09GRE1fUkFURV82TUJfTUFTSyBcXHUwMDNlXFx1MDAzZSAxKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo2MDcwOlxcdFxcdFxcdG5ld190eF9yYXRlcyBcXHUwMDI2PSB+TElCSVBXX09GRE1fUkFURV82TUJfTUFTSztcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MDcxLVxcdFxcdH1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MDcyLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjYwNzM6XFx0XFx0aWYgKExJQklQV19PRkRNX1JBVEVfOU1CX01BU0sgXFx1MDAyNiBuZXdfdHhfcmF0ZXMpIHtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo2MDc0OlxcdFxcdFxcdG1hc2sgfD0gKExJQklQV19PRkRNX1JBVEVfOU1CX01BU0sgXFx1MDAzZVxcdTAwM2UgMSk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NjA3NTpcXHRcXHRcXHRuZXdfdHhfcmF0ZXMgXFx1MDAyNj0gfkxJQklQV19PRkRNX1JBVEVfOU1CX01BU0s7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNjA3Ni1cXHRcXHR9XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNjA3Ny1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo2MDc4OlxcdFxcdGlmIChMSUJJUFdfT0ZETV9SQVRFXzEyTUJfTUFTSyBcXHUwMDI2IG5ld190eF9yYXRlcykge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjYwNzk6XFx0XFx0XFx0bWFzayB8PSAoTElCSVBXX09GRE1fUkFURV8xMk1CX01BU0sgXFx1MDAzZVxcdTAwM2UgMSk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NjA4MDpcXHRcXHRcXHRuZXdfdHhfcmF0ZXMgXFx1MDAyNj0gfkxJQklQV19PRkRNX1JBVEVfMTJNQl9NQVNLO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTYwODEtXFx0XFx0fVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9NjEwOD1zdGF0aWMgdm9pZCBpcHdfYWRkX3NjYW5fY2hhbm5lbHMoc3RydWN0IGlwd19wcml2ICpwcml2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNjExNy1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo2MTE4OlxcdGlmIChwcml2LVxcdTAwM2VpZWVlLVxcdTAwM2VmcmVxX2JhbmQgXFx1MDAyNiBMSUJJUFdfNTJHSFpfQkFORCkge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTYxMTktXFx0XFx0aW50IHN0YXJ0ID0gY2hhbm5lbF9pbmRleDtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTYxMjctXFx0XFx0XFx0XFx0XFx0ICBnZW8tXFx1MDAzZWFbaV0uXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NjEyODpcXHRcXHRcXHRcXHRcXHQgIGZsYWdzIFxcdTAwMjYgTElCSVBXX0NIX1BBU1NJVkVfT05MWSA/XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNjEyOS1cXHRcXHRcXHRcXHRcXHQgIElQV19TQ0FOX1BBU1NJVkVfRlVMTF9EV0VMTF9TQ0FOIDpcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTYxMzktXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NjE0MDpcXHRpZiAocHJpdi1cXHUwMDNlaWVlZS1cXHUwMDNlZnJlcV9iYW5kIFxcdTAwMjYgTElCSVBXXzI0R0haX0JBTkQpIHtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MTQxLVxcdFxcdGludCBzdGFydCA9IGNoYW5uZWxfaW5kZXg7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MTQzLVxcdFxcdFxcdGludCBpbmRleDtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo2MTQ0OlxcdFxcdFxcdHU4IGNoYW5uZWxzW0xJQklQV18yNEdIWl9DSEFOTkVMU10gPSB7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNjE0NS1cXHRcXHRcXHRcXHQvKiBub3Agb3V0IHRoZSBsaXN0ICovXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MTc5LVxcdFxcdFxcdFxcdFxcdFxcdCAgZmxhZ3MgXFx1MDAyNlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjYxODA6XFx0XFx0XFx0XFx0XFx0XFx0ICBMSUJJUFdfQ0hfUEFTU0lWRV9PTkxZID9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MTgxLVxcdFxcdFxcdFxcdFxcdFxcdCAgSVBXX1NDQU5fUEFTU0lWRV9GVUxMX0RXRUxMX1NDQU5cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTYxOTQtXFx0XFx0XFx0XFx0XFx0XFx0ICBmbGFncyBcXHUwMDI2XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NjE5NTpcXHRcXHRcXHRcXHRcXHRcXHQgIExJQklQV19DSF9QQVNTSVZFX09OTFkgP1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTYxOTYtXFx0XFx0XFx0XFx0XFx0XFx0ICBJUFdfU0NBTl9QQVNTSVZFX0ZVTExfRFdFTExfU0NBTlxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9NjIyMj1zdGF0aWMgaW50IGlwd19yZXF1ZXN0X3NjYW5faGVscGVyKHN0cnVjdCBpcHdfcHJpdiAqcHJpdiwgaW50IHR5cGUsIGludCBkaXJlY3QpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MjkzLVxcdFxcdHN3aXRjaCAobGliaXB3X2lzX3ZhbGlkX2NoYW5uZWwocHJpdi1cXHUwMDNlaWVlZSwgcHJpdi1cXHUwMDNlY2hhbm5lbCkpIHtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo2Mjk0OlxcdFxcdGNhc2UgTElCSVBXXzUyR0haX0JBTkQ6XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNjI5NS1cXHRcXHRcXHRiYW5kID0gKHU4KSAoSVBXX0FfTU9ERSBcXHUwMDNjXFx1MDAzYyA2KSB8IDE7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02Mjk4LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjYyOTk6XFx0XFx0Y2FzZSBMSUJJUFdfMjRHSFpfQkFORDpcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy02MzAwLVxcdFxcdFxcdGJhbmQgPSAodTgpIChJUFdfQl9NT0RFIFxcdTAwM2NcXHUwMDNjIDYpIHwgMTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jPTcwNTQ9c3RhdGljIHUzMiBpcHdfcW9zX2dldF9idXJzdF9kdXJhdGlvbihzdHJ1Y3QgaXB3X3ByaXYgKnByaXYpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03MDYwLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjcwNjE6XFx0aWYgKCEocHJpdi1cXHUwMDNlaWVlZS1cXHUwMDNlbW9kdWxhdGlvbiBcXHUwMDI2IExJQklQV19PRkRNX01PRFVMQVRJT04pKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTcwNjItXFx0XFx0cmV0ID0gcHJpdi1cXHUwMDNlcW9zX2RhdGEuYnVyc3RfZHVyYXRpb25fQ0NLO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9NzU5Mz1zdGF0aWMgdm9pZCBpcHdfcmVidWlsZF9kZWNyeXB0ZWRfc2tiKHN0cnVjdCBpcHdfcHJpdiAqcHJpdixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTc2MDgtXFx0XFx0LyogUmVtb3ZlIENDTVAgSERSICovXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NzYwOTpcXHRcXHRtZW1tb3ZlKHNrYi1cXHUwMDNlZGF0YSArIExJQklQV18zQUREUl9MRU4sXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NzYxMDpcXHRcXHRcXHRza2ItXFx1MDAzZWRhdGEgKyBMSUJJUFdfM0FERFJfTEVOICsgOCxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo3NjExOlxcdFxcdFxcdHNrYi1cXHUwMDNlbGVuIC0gTElCSVBXXzNBRERSX0xFTiAtIDgpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTc2MTItXFx0XFx0c2tiX3RyaW0oc2tiLCBza2ItXFx1MDAzZWxlbiAtIDE2KTtcXHQvKiBDQ01QX0hEUl9MRU4gKyBDQ01QX01JQ19MRU4gKi9cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTc2MTctXFx0XFx0LyogUmVtb3ZlIElWICovXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NzYxODpcXHRcXHRtZW1tb3ZlKHNrYi1cXHUwMDNlZGF0YSArIExJQklQV18zQUREUl9MRU4sXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NzYxOTpcXHRcXHRcXHRza2ItXFx1MDAzZWRhdGEgKyBMSUJJUFdfM0FERFJfTEVOICsgNCxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo3NjIwOlxcdFxcdFxcdHNrYi1cXHUwMDNlbGVuIC0gTElCSVBXXzNBRERSX0xFTiAtIDQpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTc2MjEtXFx0XFx0c2tiX3RyaW0oc2tiLCBza2ItXFx1MDAzZWxlbiAtIDgpO1xcdC8qIElWICsgSUNWICovXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYz04MjA2PXN0YXRpYyB2b2lkIGlwd19yeChzdHJ1Y3QgaXB3X3ByaXYgKnByaXYpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04MjU0LVxcdFxcdFxcdFxcdFxcdCAgICAgY29udHJvbCBcXHUwMDI2ICgxIFxcdTAwM2NcXHUwMDNjIDApKSA/XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6ODI1NTpcXHRcXHRcXHRcXHRcXHQgICAgTElCSVBXXzI0R0haX0JBTkQgOlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjgyNTY6XFx0XFx0XFx0XFx0XFx0ICAgIExJQklQV181MkdIWl9CQU5ELFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTgyNTctXFx0XFx0XFx0XFx0XFx0LmxlbiA9IGxlMTZfdG9fY3B1KHBrdC1cXHUwMDNldS5mcmFtZS5sZW5ndGgpLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODI2MC1cXHRcXHRcXHRcXHRpZiAoc3RhdHMucnNzaSAhPSAwKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjgyNjE6XFx0XFx0XFx0XFx0XFx0c3RhdHMubWFzayB8PSBMSUJJUFdfU1RBVE1BU0tfUlNTSTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04MjYyLVxcdFxcdFxcdFxcdGlmIChzdGF0cy5zaWduYWwgIT0gMClcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo4MjYzOlxcdFxcdFxcdFxcdFxcdHN0YXRzLm1hc2sgfD0gTElCSVBXX1NUQVRNQVNLX1NJR05BTDtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04MjY0LVxcdFxcdFxcdFxcdGlmIChzdGF0cy5ub2lzZSAhPSAwKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjgyNjU6XFx0XFx0XFx0XFx0XFx0c3RhdHMubWFzayB8PSBMSUJJUFdfU1RBVE1BU0tfTk9JU0U7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODI2Ni1cXHRcXHRcXHRcXHRpZiAoc3RhdHMucmF0ZSAhPSAwKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjgyNjc6XFx0XFx0XFx0XFx0XFx0c3RhdHMubWFzayB8PSBMSUJJUFdfU1RBVE1BU0tfUkFURTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04MjY4LVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9ODQxNj1zdGF0aWMgaW50IGlwd19zd19yZXNldChzdHJ1Y3QgaXB3X3ByaXYgKnByaXYsIGludCBvcHRpb24pXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04NDk5LVxcdFxcdHByaXYtXFx1MDAzZWllZWUtXFx1MDAzZWFiZ190cnVlID0gMTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo4NTAwOlxcdFxcdGJhbmQgPSBMSUJJUFdfNTJHSFpfQkFORCB8IExJQklQV18yNEdIWl9CQU5EO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjg1MDE6XFx0XFx0bW9kdWxhdGlvbiA9IExJQklQV19PRkRNX01PRFVMQVRJT04gfFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjg1MDI6XFx0XFx0ICAgIExJQklQV19DQ0tfTU9EVUxBVElPTjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04NTAzLVxcdFxcdHByaXYtXFx1MDAzZWFkYXB0ZXIgPSBJUFdfMjkxNUFCRztcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTg1MTEtXFx0XFx0cHJpdi1cXHUwMDNlaWVlZS1cXHUwMDNlYWJnX3RydWUgPSAwO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjg1MTI6XFx0XFx0YmFuZCA9IExJQklQV18yNEdIWl9CQU5EO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjg1MTM6XFx0XFx0bW9kdWxhdGlvbiA9IExJQklQV19PRkRNX01PRFVMQVRJT04gfFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjg1MTQ6XFx0XFx0ICAgIExJQklQV19DQ0tfTU9EVUxBVElPTjtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04NTE1LVxcdFxcdHByaXYtXFx1MDAzZWFkYXB0ZXIgPSBJUFdfMjIwMEJHO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODUyMS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo4NTIyOlxcdHByaXYtXFx1MDAzZXJhdGVzX21hc2sgPSBMSUJJUFdfREVGQVVMVF9SQVRFU19NQVNLO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTg1MjMtXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYz04NjAwPXN0YXRpYyBpbnQgaXB3X3d4X3NldF9mcmVxKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04NjMzLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjg2MzQ6XFx0XFx0ZmxhZ3MgPSAoYmFuZCA9PSBMSUJJUFdfMjRHSFpfQkFORCkgP1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTg2MzUtXFx0XFx0ICAgIGdlby1cXHUwMDNlYmdbaV0uZmxhZ3MgOiBnZW8tXFx1MDAzZWFbaV0uZmxhZ3M7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6ODYzNjpcXHRcXHRpZiAoZmxhZ3MgXFx1MDAyNiBMSUJJUFdfQ0hfUEFTU0lWRV9PTkxZKSB7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODYzNy1cXHRcXHRcXHRJUFdfREVCVUdfV1goXFxcIkludmFsaWQgQWQtSG9jIGNoYW5uZWwgZm9yIDgwMi4xMWFcXFxcblxcXCIpO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9ODY0OT1zdGF0aWMgaW50IGlwd193eF9nZXRfZnJlcShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODY2OC1cXHRcXHRzd2l0Y2ggKGxpYmlwd19pc192YWxpZF9jaGFubmVsKHByaXYtXFx1MDAzZWllZWUsIHByaXYtXFx1MDAzZWNoYW5uZWwpKSB7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6ODY2OTpcXHRcXHRjYXNlIExJQklQV181MkdIWl9CQU5EOlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTg2NzAtXFx0XFx0XFx0d3JxdS1cXHUwMDNlZnJlcS5tID0gcHJpdi1cXHUwMDNlaWVlZS1cXHUwMDNlZ2VvLmFbaV0uZnJlcSAqIDEwMDAwMDtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTg2NzItXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6ODY3MzpcXHRcXHRjYXNlIExJQklQV18yNEdIWl9CQU5EOlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTg2NzQtXFx0XFx0XFx0d3JxdS1cXHUwMDNlZnJlcS5tID0gcHJpdi1cXHUwMDNlaWVlZS1cXHUwMDNlZ2VvLmJnW2ldLmZyZXEgKiAxMDAwMDA7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYz04NzY5PXN0YXRpYyBpbnQgaXB3X3d4X2dldF9yYW5nZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODgxOC1cXHRcXHRcXHRpZiAoKHByaXYtXFx1MDAzZWllZWUtXFx1MDAzZWl3X21vZGUgPT0gSVdfTU9ERV9BREhPQykgXFx1MDAyNlxcdTAwMjZcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo4ODE5OlxcdFxcdFxcdCAgICAoZ2VvLVxcdTAwM2ViZ1tqXS5mbGFncyBcXHUwMDI2IExJQklQV19DSF9QQVNTSVZFX09OTFkpKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTg4MjAtXFx0XFx0XFx0XFx0Y29udGludWU7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04ODMxLVxcdFxcdFxcdGlmICgocHJpdi1cXHUwMDNlaWVlZS1cXHUwMDNlaXdfbW9kZSA9PSBJV19NT0RFX0FESE9DKSBcXHUwMDI2XFx1MDAyNlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjg4MzI6XFx0XFx0XFx0ICAgIChnZW8tXFx1MDAzZWFbal0uZmxhZ3MgXFx1MDAyNiBMSUJJUFdfQ0hfUEFTU0lWRV9PTkxZKSlcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04ODMzLVxcdFxcdFxcdFxcdGNvbnRpbnVlO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9OTA3NT1zdGF0aWMgaW50IGlwd193eF9zZXRfcmF0ZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtOTA4OS1cXHRcXHRmaXhlZCA9IDA7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6OTA5MDpcXHRcXHRtYXNrID0gTElCSVBXX0RFRkFVTFRfUkFURVNfTUFTSztcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy05MDkxLVxcdFxcdC8qIE5vdyB3ZSBzaG91bGQgcmVhc3NvY2lhdGUgKi9cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTkwOTgtXFx0aWYgKHRhcmdldF9yYXRlID09IDEwMDAwMDAgfHwgIWZpeGVkKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjkwOTk6XFx0XFx0bWFzayB8PSBMSUJJUFdfQ0NLX1JBVEVfMU1CX01BU0s7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtOTEwMC1cXHRpZiAodGFyZ2V0X3JhdGUgPT0gMTAwMDAwMClcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTkxMDMtXFx0aWYgKHRhcmdldF9yYXRlID09IDIwMDAwMDAgfHwgIWZpeGVkKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjkxMDQ6XFx0XFx0bWFzayB8PSBMSUJJUFdfQ0NLX1JBVEVfMk1CX01BU0s7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtOTEwNS1cXHRpZiAodGFyZ2V0X3JhdGUgPT0gMjAwMDAwMClcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTkxMDgtXFx0aWYgKHRhcmdldF9yYXRlID09IDU1MDAwMDAgfHwgIWZpeGVkKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjkxMDk6XFx0XFx0bWFzayB8PSBMSUJJUFdfQ0NLX1JBVEVfNU1CX01BU0s7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtOTExMC1cXHRpZiAodGFyZ2V0X3JhdGUgPT0gNTUwMDAwMClcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTkxMTMtXFx0aWYgKHRhcmdldF9yYXRlID09IDYwMDAwMDAgfHwgIWZpeGVkKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjkxMTQ6XFx0XFx0bWFzayB8PSBMSUJJUFdfT0ZETV9SQVRFXzZNQl9NQVNLO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTkxMTUtXFx0aWYgKHRhcmdldF9yYXRlID09IDYwMDAwMDApXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy05MTE4LVxcdGlmICh0YXJnZXRfcmF0ZSA9PSA5MDAwMDAwIHx8ICFmaXhlZClcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo5MTE5OlxcdFxcdG1hc2sgfD0gTElCSVBXX09GRE1fUkFURV85TUJfTUFTSztcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy05MTIwLVxcdGlmICh0YXJnZXRfcmF0ZSA9PSA5MDAwMDAwKVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtOTEyMy1cXHRpZiAodGFyZ2V0X3JhdGUgPT0gMTEwMDAwMDAgfHwgIWZpeGVkKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjkxMjQ6XFx0XFx0bWFzayB8PSBMSUJJUFdfQ0NLX1JBVEVfMTFNQl9NQVNLO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTkxMjUtXFx0aWYgKHRhcmdldF9yYXRlID09IDExMDAwMDAwKVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtOTEyOC1cXHRpZiAodGFyZ2V0X3JhdGUgPT0gMTIwMDAwMDAgfHwgIWZpeGVkKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjkxMjk6XFx0XFx0bWFzayB8PSBMSUJJUFdfT0ZETV9SQVRFXzEyTUJfTUFTSztcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy05MTMwLVxcdGlmICh0YXJnZXRfcmF0ZSA9PSAxMjAwMDAwMClcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTkxMzMtXFx0aWYgKHRhcmdldF9yYXRlID09IDE4MDAwMDAwIHx8ICFmaXhlZClcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo5MTM0OlxcdFxcdG1hc2sgfD0gTElCSVBXX09GRE1fUkFURV8xOE1CX01BU0s7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtOTEzNS1cXHRpZiAodGFyZ2V0X3JhdGUgPT0gMTgwMDAwMDApXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy05MTM4LVxcdGlmICh0YXJnZXRfcmF0ZSA9PSAyNDAwMDAwMCB8fCAhZml4ZWQpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6OTEzOTpcXHRcXHRtYXNrIHw9IExJQklQV19PRkRNX1JBVEVfMjRNQl9NQVNLO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTkxNDAtXFx0aWYgKHRhcmdldF9yYXRlID09IDI0MDAwMDAwKVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtOTE0My1cXHRpZiAodGFyZ2V0X3JhdGUgPT0gMzYwMDAwMDAgfHwgIWZpeGVkKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjkxNDQ6XFx0XFx0bWFzayB8PSBMSUJJUFdfT0ZETV9SQVRFXzM2TUJfTUFTSztcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy05MTQ1LVxcdGlmICh0YXJnZXRfcmF0ZSA9PSAzNjAwMDAwMClcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTkxNDgtXFx0aWYgKHRhcmdldF9yYXRlID09IDQ4MDAwMDAwIHx8ICFmaXhlZClcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo5MTQ5OlxcdFxcdG1hc2sgfD0gTElCSVBXX09GRE1fUkFURV80OE1CX01BU0s7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtOTE1MC1cXHRpZiAodGFyZ2V0X3JhdGUgPT0gNDgwMDAwMDApXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy05MTUzLVxcdGlmICh0YXJnZXRfcmF0ZSA9PSA1NDAwMDAwMCB8fCAhZml4ZWQpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6OTE1NDpcXHRcXHRtYXNrIHw9IExJQklQV19PRkRNX1JBVEVfNTRNQl9NQVNLO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTkxNTUtXFx0aWYgKHRhcmdldF9yYXRlID09IDU0MDAwMDAwKVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtOTE2NC1cXHRtdXRleF9sb2NrKFxcdTAwMjZwcml2LVxcdTAwM2VtdXRleCk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6OTE2NTpcXHRpZiAobWFzayA9PSBMSUJJUFdfREVGQVVMVF9SQVRFU19NQVNLKSB7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtOTE2Ni1cXHRcXHRwcml2LVxcdTAwM2Vjb25maWcgXFx1MDAyNj0gfkNGR19GSVhFRF9SQVRFO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9OTU5Mz1zdGF0aWMgaW50IGlwd193eF9zZXRfd2lyZWxlc3NfbW9kZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LFxcbi0tXFxuXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTMxVDIwOjE4OjQ2LjkyMjE3MzAyOFoiLCJTZXEiOjgsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy43LWZsYXNoIiwiRHVyYXRpb24iOjEyNTAwMzQ0MTExLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkludmVzdGlnYXRpbmcgTElCSVBXIFVzYWdlKipcblxuT2theSwgbGV0J3MgZGl2ZSBpbi4gTXkgaW1tZWRpYXRlIHF1ZXN0aW9uIGlzLCB3aG8ncyBzdGlsbCByZWx5aW5nIG9uIGBMSUJJUFdgPyBJdCdzIGJlZW4gYXJvdW5kIGZvciBhIHdoaWxlLCBhbmQgbXkgZXhwZXJpZW5jZSB0ZWxscyBtZSBpdCdzIGxpa2VseSBhIGxlZ2FjeSBjb21wb25lbnQuIEkgbmVlZCB0byBmaWd1cmUgb3V0IHdoYXQgZHJpdmVycywgaWYgYW55LCBhcmUgc3RpbGwgYWN0aXZlbHkgdXNpbmcgaXQuIEkgc3VzcGVjdCB0aGVyZSBtYXkgYmUgdmVyeSBmZXcsIGFuZCBJIHNob3VsZCBiZSB3YXJ5IG9mIGFueSBwcm9qZWN0cyBzdGlsbCB1c2luZyB0aGlzIGdpdmVuIGl0cyBhZ2UuXG5cblRoZSBiZXN0IHdheSB0byBkbyB0aGlzIGlzIGEgcXVpY2sgYGdpdCBncmVwYCB0byBzY2FuIHRoZSBjb2RlYmFzZS4gU3BlY2lmaWNhbGx5LCBJ4oCZbGwgc2VhcmNoIGZvciBpbnN0YW5jZXMgb2YgXCJDT05GSUdfTElCSVBXXCIgYW5kIFwic2VsZWN0IExJQklQV1wiLiBUaGF0IHNob3VsZCBnaXZlIG1lIGEgc29saWQgb3ZlcnZpZXcgb2YgYW55IGJ1aWxkIGNvbmZpZ3VyYXRpb25zIG9yIG1vZHVsZSBzZWxlY3Rpb25zIHRoYXQgc3RpbGwgaGF2ZSBhIGRlcGVuZGVuY3kgb24gaXQuIFRoaXMgaXMgYSBzdHJhaWdodGZvcndhcmQgc3RhcnRpbmcgcG9pbnQuIExldCdzIHNlZSB3aGF0IHR1cm5zIHVwIVxuXG5cbiIsIklucHV0VG9rZW5zIjozMDA5MiwiT3V0cHV0VG9rZW5zIjoxOCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjQ4LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTMxVDIwOjE4OjU5LjQyMjUxOTQ4OVoiLCJTZXEiOjksIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoxNTcyNzIzNDY1LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInNlbGVjdCBMSUJJUFdcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnPTY9Y29uZmlnIElQVzIxMDBcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvS2NvbmZpZy0xMS1cXHRzZWxlY3QgRldfTE9BREVSXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnOjEyOlxcdHNlbGVjdCBMSUJJUFdcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWctMTMtXFx0aGVscFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnPTY1PWNvbmZpZyBJUFcyMjAwXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL0tjb25maWctNzAtXFx0c2VsZWN0IEZXX0xPQURFUlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvS2NvbmZpZzo3MTpcXHRzZWxlY3QgTElCSVBXXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9LY29uZmlnLTcyLVxcdGhlbHBcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMzFUMjA6MTk6MDAuOTk1MjUwMzA0WiIsIlNlcSI6MTAsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy43LWZsYXNoIiwiRHVyYXRpb24iOjEzNDUzNDE5NDQ2LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkludmVzdGlnYXRpbmcgdGhlIEludGVsIENlbnRyaW5vIFdpcmVsZXNzIExhbmRzY2FwZSBpbiBRRU1VKipcblxuT2theSwgc28gSSdtIHRoaW5raW5nIGFib3V0IHRoZXNlIG9sZCBJbnRlbCBQUk8vV2lyZWxlc3MgZHJpdmVycywgYGlwdzIxMDBgIGFuZCBgaXB3MjIwMGAuIFRoZXNlIGFyZSByZWxpY3MgZnJvbSB0aGUgQ2VudHJpbm8gZXJhLCBzcGVjaWZpY2FsbHkgdGhlIGAyMTAwYCBhbmQgdGhlIGAyMjAwQkcgLyAyOTE1QUJHYCBjYXJkcy4gVGhleSByZWx5IG9uIGBQQ0lgIGFuZCBgQ0ZHODAyMTFgLCB3aGljaCBtYWtlcyBzZW5zZSBmb3IgdGhlIHRpbWUuIEJ1dCB0aGUgYnVybmluZyBxdWVzdGlvbiBpcywgY2FuIEkgZXZlbiAqdGVzdCogdGhlc2UgaW4gYSBzdGFuZGFyZCBRRU1VIHNldHVwLCBvciBhbnkgdmlydHVhbGl6YXRpb24gZW52aXJvbm1lbnQgZm9yIHRoYXQgbWF0dGVyPyBJIG5lZWQgdG8ga25vdyBpZiBRRU1VIGJvdGhlcnMgdG8gZW11bGF0ZSB0aGVzZSBzcGVjaWZpYyBkZXZpY2VzLlxuXG5BIHF1aWNrIGNoZWNrIGNvbmZpcm1zIG15IHN1c3BpY2lvbjogTm8uIFFFTVUgZG9lc24ndCBvZmZlciBuYXRpdmUgZW11bGF0aW9uIGZvciB0aGVzZSBwYXJ0aWN1bGFyIEludGVsIFBSTy9XaXJlbGVzcyBQQ0kgZGV2aWNlcy4gSXQgc2VlbXMgdGhleSdyZSB0b28gbmljaGUsIG9yIHBlcmhhcHMgdG9vIGVhcmx5LlxuXG5BbHJpZ2h0LCBzbyBpZiBub3QgZGlyZWN0IGhhcmR3YXJlIGVtdWxhdGlvbiwgd2hhdCBhYm91dCBzb2Z0d2FyZS1iYXNlZCBzb2x1dGlvbnM/IElzIHRoZXJlIGFueSBleGlzdGluZyBzb2Z0d2FyZSBlbXVsYXRpb24gdXNpbmcgc29tZXRoaW5nIGxpa2UgYG1hYzgwMjExX2h3c2ltYCwgYSBVU0IgZ2FkZ2V0IHNldHVwLCBvciBldmVuIHNvbWV0aGluZyB2aXJ0aW8tYmFzZWQgdGhhdCAqbWlnaHQqIGxldmVyYWdlIHRoZSBgbGliaXB3YCBkcml2ZXI/XG5cbkhvbGQgb24uLi4gYG1hYzgwMjExX2h3c2ltYCBpc24ndCBnb2luZyB0byBoZWxwIGhlcmUuIEl0IHJlbGllcyBvbiB0aGUgc3RhbmRhcmQgYG1hYzgwMjExYCBmcmFtZXdvcmssIGFuZCBmcm9tIHdoYXQgSSByZWNhbGwsIGBsaWJpcHdgIHdhcyBJbnRlbCdzICpjdXN0b20qIDgwMi4xMSBzdGFjayB1c2VkIGV4Y2x1c2l2ZWx5IGJ5IGBpcHcyMTAwYCBhbmQgYGlwdzIyMDBgIGJlZm9yZSB0aGUgc3dpdGNoIHRvIHRoZSBgbWFjODAyMTFgIC8gYGNmZzgwMjExYCBzdGFuZGFyZCBzdGFjay4gU28sIGBtYWM4MDIxMV9od3NpbWAgaXMgb3V0LlxuXG5MZXQncyBkbyBhIHdpZGVyIHNlYXJjaC4gSSBuZWVkIHRvIG1ha2Ugc3VyZSBJJ20gbm90IG1pc3NpbmcgYW55dGhpbmcuIEknbGwgbmVlZCB0byBzZWUgaWYgYW55dGhpbmcgZWxzZSBhdCBhbGwgaW4gdGhlIGtlcm5lbCwgdXNlcyBgbGliaXB3YCBvciBgbGliaXB3X3J4YC5cblxuXG4iLCJJbnB1dFRva2VucyI6MzA1NjcsIk91dHB1dFRva2VucyI6MTksIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyNjcsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDgtMzFUMjA6MTk6MTQuNDQ4NjcyNTZaIiwiU2VxIjoxMSwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE0MzQ4MzcyMTcsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwibGliaXB3X3J4XCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvTWFrZWZpbGU9MTA9bGliaXB3LW9ianMgOj0gXFxcXFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9NYWtlZmlsZS0xMi1cXHRsaWJpcHdfdHgubyBcXFxcXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9NYWtlZmlsZToxMzpcXHRsaWJpcHdfcngubyBcXFxcXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9NYWtlZmlsZS0xNC1cXHRsaWJpcHdfd3gubyBcXFxcXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz0yNDMzPXN0YXRpYyB2b2lkIGlzcl9yeChzdHJ1Y3QgaXB3MjEwMF9wcml2ICpwcml2LCBpbnQgaSxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyNDM0OlxcdFxcdFxcdCAgc3RydWN0IGxpYmlwd19yeF9zdGF0cyAqc3RhdHMpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjQzNS17XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNDcxLVxcdC8qIE1ha2UgYSBjb3B5IG9mIHRoZSBmcmFtZSBzbyB3ZSBjYW4gZHVtcCBpdCB0byB0aGUgbG9ncyBpZlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjI0NzI6XFx0ICogbGliaXB3X3J4IGZhaWxzICovXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjQ3My1cXHRza2JfY29weV9mcm9tX2xpbmVhcl9kYXRhKHBhY2tldC1cXHUwMDNlc2tiLCBwYWNrZXRfZGF0YSxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI0NzctXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MjQ3ODpcXHRpZiAoIWxpYmlwd19yeChwcml2LVxcdTAwM2VpZWVlLCBwYWNrZXQtXFx1MDAzZXNrYiwgc3RhdHMpKSB7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjQ3OS0jaWZkZWYgSVBXMjEwMF9SWF9ERUJVR1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjQ4NS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYzoyNDg2OlxcdFxcdC8qIGxpYmlwd19yeCBmYWlsZWQsIHNvIGl0IGRpZG4ndCBmcmVlIHRoZSBTS0IgKi9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNDg3LVxcdFxcdGRldl9rZnJlZV9za2JfYW55KHBhY2tldC1cXHUwMDNlc2tiKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jPTI1MDY9c3RhdGljIHZvaWQgaXNyX3J4X21vbml0b3Ioc3RydWN0IGlwdzIxMDBfcHJpdiAqcHJpdiwgaW50IGksXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MjUwNzpcXHRcXHQgICBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICpzdGF0cylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNTA4LXtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI1NjQtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MjU2NTpcXHRpZiAoIWxpYmlwd19yeChwcml2LVxcdTAwM2VpZWVlLCBwYWNrZXQtXFx1MDAzZXNrYiwgc3RhdHMpKSB7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjU2Ni1cXHRcXHRkZXYtXFx1MDAzZXN0YXRzLnJ4X2Vycm9ycysrO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jLTI1NjctXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MjU2ODpcXHRcXHQvKiBsaWJpcHdfcnggZmFpbGVkLCBzbyBpdCBkaWRuJ3QgZnJlZSB0aGUgU0tCICovXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjU2OS1cXHRcXHRkZXZfa2ZyZWVfc2tiX2FueShwYWNrZXQtXFx1MDAzZXNrYik7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYz0yNjQ0PXN0YXRpYyB2b2lkIF9faXB3MjEwMF9yeF9wcm9jZXNzKHN0cnVjdCBpcHcyMTAwX3ByaXYgKnByaXYpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNjUxLVxcdHN0cnVjdCBpcHcyMTAwX3J4ICp1O1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjEwMC5jOjI2NTI6XFx0c3RydWN0IGxpYmlwd19yeF9zdGF0cyBzdGF0cyA9IHtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNjUzLVxcdFxcdC5tYWNfdGltZSA9IGppZmZpZXMsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIxMDAuYy0yNzE4LVxcdFxcdFxcdGNhc2UgSUVFRTgwMjExX0ZUWVBFX01HTVQ6XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmM6MjcxOTpcXHRcXHRcXHRcXHRsaWJpcHdfcnhfbWd0KHByaXYtXFx1MDAzZWllZWUsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMTAwLmMtMjcyMC1cXHRcXHRcXHRcXHRcXHRcXHQgXFx1MDAyNnUtXFx1MDAzZXJ4X2RhdGEuaGVhZGVyLCBcXHUwMDI2c3RhdHMpO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9NDQyNT1zdGF0aWMgdm9pZCBpcHdfcnhfbm90aWZpY2F0aW9uKHN0cnVjdCBpcHdfcHJpdiAqcHJpdixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTQ0ODItXFx0XFx0XFx0XFx0XFx0XFx0XFx0c3RydWN0XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NDQ4MzpcXHRcXHRcXHRcXHRcXHRcXHRcXHRsaWJpcHdfcnhfc3RhdHNcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy00NDg0LVxcdFxcdFxcdFxcdFxcdFxcdFxcdCAgICBzdGF0cyA9IHtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTQ0OTAtXFx0XFx0XFx0XFx0XFx0XFx0XFx0ICAgICBcXFwic2l6ZSAlZFxcXFxuXFxcIiwgc2l6ZSk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NDQ5MTpcXHRcXHRcXHRcXHRcXHRcXHRcXHRsaWJpcHdfcnhfbWd0KHByaXYtXFx1MDAzZVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTQ0OTItXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0IGllZWUsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYz03NjMyPXN0YXRpYyB2b2lkIGlwd19oYW5kbGVfZGF0YV9wYWNrZXQoc3RydWN0IGlwd19wcml2ICpwcml2LFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTc2MzMtXFx0XFx0XFx0XFx0ICAgc3RydWN0IGlwd19yeF9tZW1fYnVmZmVyICpyeGIsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NzYzNDpcXHRcXHRcXHRcXHQgICBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICpzdGF0cylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03NjM1LXtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTc2NzItXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NzY3MzpcXHRpZiAoIWxpYmlwd19yeChwcml2LVxcdTAwM2VpZWVlLCByeGItXFx1MDAzZXNrYiwgc3RhdHMpKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTc2NzQtXFx0XFx0ZGV2LVxcdTAwM2VzdGF0cy5yeF9lcnJvcnMrKztcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo3Njc1OlxcdGVsc2Uge1xcdFxcdFxcdC8qIGxpYmlwd19yeCBzdWNjZWVkZWQsIHNvIGl0IG5vdyBvd25zIHRoZSBTS0IgKi9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03Njc2LVxcdFxcdHJ4Yi1cXHUwMDNlc2tiID0gTlVMTDtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jPTc2ODI9c3RhdGljIHZvaWQgaXB3X2hhbmRsZV9kYXRhX3BhY2tldF9tb25pdG9yKHN0cnVjdCBpcHdfcHJpdiAqcHJpdixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03NjgzLVxcdFxcdFxcdFxcdFxcdCAgIHN0cnVjdCBpcHdfcnhfbWVtX2J1ZmZlciAqcnhiLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjc2ODQ6XFx0XFx0XFx0XFx0XFx0ICAgc3RydWN0IGxpYmlwd19yeF9zdGF0cyAqc3RhdHMpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNzY4NS17XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03ODI5LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjc4MzA6XFx0aWYgKCFsaWJpcHdfcngocHJpdi1cXHUwMDNlaWVlZSwgcnhiLVxcdTAwM2Vza2IsIHN0YXRzKSlcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03ODMxLVxcdFxcdGRldi1cXHUwMDNlc3RhdHMucnhfZXJyb3JzKys7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6NzgzMjpcXHRlbHNlIHtcXHRcXHRcXHQvKiBsaWJpcHdfcnggc3VjY2VlZGVkLCBzbyBpdCBub3cgb3ducyB0aGUgU0tCICovXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtNzgzMy1cXHRcXHRyeGItXFx1MDAzZXNrYiA9IE5VTEw7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYz03ODU5PXN0YXRpYyB2b2lkIGlwd19oYW5kbGVfcHJvbWlzY3VvdXNfcngoc3RydWN0IGlwd19wcml2ICpwcml2LFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTc4NjAtXFx0XFx0XFx0XFx0ICAgICAgc3RydWN0IGlwd19yeF9tZW1fYnVmZmVyICpyeGIsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6Nzg2MTpcXHRcXHRcXHRcXHQgICAgICBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICpzdGF0cylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy03ODYyLXtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTgwMzUtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6ODAzNjpcXHRpZiAoIWxpYmlwd19yeChwcml2LVxcdTAwM2Vwcm9tX3ByaXYtXFx1MDAzZWllZWUsIHNrYiwgc3RhdHMpKSB7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODAzNy1cXHRcXHRkZXYtXFx1MDAzZXN0YXRzLnJ4X2Vycm9ycysrO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9ODE1ND1zdGF0aWMgdm9pZCBpcHdfaGFuZGxlX21nbXRfcGFja2V0KHN0cnVjdCBpcHdfcHJpdiAqcHJpdixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04MTU1LVxcdFxcdFxcdFxcdCAgIHN0cnVjdCBpcHdfcnhfbWVtX2J1ZmZlciAqcnhiLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjgxNTY6XFx0XFx0XFx0XFx0ICAgc3RydWN0IGxpYmlwd19yeF9zdGF0cyAqc3RhdHMpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODE1Ny17XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04MTYyLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jOjgxNjM6XFx0bGliaXB3X3J4X21ndChwcml2LVxcdTAwM2VpZWVlLCBoZWFkZXIsIHN0YXRzKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy04MTY0LVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODE4NC1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzo4MTg1OlxcdFxcdC8qIFB1c2ggdGhlIGxpYmlwd19yeF9zdGF0cyBiZWZvcmUgdGhlIDgwMi4xMSBmcmFtZSAqL1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTgxODYtXFx0XFx0bWVtY3B5KHNrYl9wdXNoKHNrYiwgc2l6ZW9mKCpzdGF0cykpLCBzdGF0cywgc2l6ZW9mKCpzdGF0cykpO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9ODIwNj1zdGF0aWMgdm9pZCBpcHdfcngoc3RydWN0IGlwd19wcml2ICpwcml2KVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmMtODIzOS1cXHRcXHRjYXNlIFJYX0ZSQU1FX1RZUEU6XFx0LyogODAyLjExIGZyYW1lICovICB7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6ODI0MDpcXHRcXHRcXHRcXHRzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzIHN0YXRzID0ge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTgyNDEtXFx0XFx0XFx0XFx0XFx0LnJzc2kgPSBwa3QtXFx1MDAzZXUuZnJhbWUucnNzaV9kYm0gLVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM9MTAyNTY9c3RhdGljIHZvaWQgaXB3X2hhbmRsZV9wcm9taXNjdW91c190eChzdHJ1Y3QgaXB3X3ByaXYgKnByaXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy0xMDI1OC17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9pcHcyMjAwLmM6MTAyNTk6XFx0c3RydWN0IGxpYmlwd19yeF9zdGF0cyBkdW1teXN0YXRzO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTEwMjYwLVxcdHN0cnVjdCBpZWVlODAyMTFfaGRyICpoZHI7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYy0xMDMzMC1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2lwdzIyMDAuYzoxMDMzMTpcXHRcXHRpZiAoIWxpYmlwd19yeChwcml2LVxcdTAwM2Vwcm9tX3ByaXYtXFx1MDAzZWllZWUsIGRzdCwgXFx1MDAyNmR1bW15c3RhdHMpKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvaXB3MjIwMC5jLTEwMzMyLVxcdFxcdFxcdGRldl9rZnJlZV9za2JfYW55KGRzdCk7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oPTEzNT1zdHJ1Y3QgbGliaXB3X3NuYXBfaGRyIHtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3LmgtMjE3LSAqICAgICAgIGluZm9ybWF0aW9uIGZvciBmcmFtZXMgcmVjZWl2ZWQuXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaDoyMTg6ICogICAgICAgRm9yIGxpYmlwd19yeF9tZ3QsIHlvdSBuZWVkIHRvIHNldCBhdCBsZWFzdCB0aGUgJ2xlbicgcGFyYW1ldGVyLlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3LmgtMjE5LSAqL1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3Lmg6MjIwOnN0cnVjdCBsaWJpcHdfcnhfc3RhdHMge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3LmgtMjIxLVxcdHUzMiBtYWNfdGltZTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3Lmg9NTk5PXN0cnVjdCBsaWJpcHdfbmV0d29yayB7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oLTYwOS1cXHQvKiBUaGVzZSBhcmUgbmV0d29yayBzdGF0aXN0aWNzICovXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaDo2MTA6XFx0c3RydWN0IGxpYmlwd19yeF9zdGF0cyBzdGF0cztcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oLTYxMS1cXHR1MTYgY2FwYWJpbGl0eTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3Lmg9NzcwPXN0cnVjdCBsaWJpcHdfZGV2aWNlIHtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3LmgtODY2LVxcdFxcdFxcdCAgICAgIHN0cnVjdCBsaWJpcHdfYWN0aW9uICogYWN0aW9uLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3Lmg6ODY3OlxcdFxcdFxcdCAgICAgIHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgKiBzdGF0cyk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaC04NjgtXFx0aW50ICgqaGFuZGxlX2Rpc2Fzc29jKSAoc3RydWN0IG5ldF9kZXZpY2UgKiBkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oLTg3Ny1cXHRcXHRcXHRcXHQgICAgIHN0cnVjdCBsaWJpcHdfcHJvYmVfcmVxdWVzdCAqIHJlcSxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oOjg3ODpcXHRcXHRcXHRcXHQgICAgIHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgKiBzdGF0cyk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaC04NzktXFx0aW50ICgqaGFuZGxlX2Fzc29jX3Jlc3BvbnNlKSAoc3RydWN0IG5ldF9kZXZpY2UgKiBkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oPTEwMTE9dm9pZCBsaWJpcHdfdHhiX2ZyZWUoc3RydWN0IGxpYmlwd190eGIgKik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaC0xMDEyLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3Lmg6MTAxMzovKiBsaWJpcHdfcnguYyAqL1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3Lmg6MTAxNDppbnQgbGliaXB3X3J4KHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3Lmg6MTAxNTpcXHQgICAgICBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICpyeF9zdGF0cyk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaC0xMDE2LS8qIG1ha2Ugc3VyZSB0byBzZXQgc3RhdHMtXFx1MDAzZWxlbiAqL1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3Lmg6MTAxNzp2b2lkIGxpYmlwd19yeF9tZ3Qoc3RydWN0IGxpYmlwd19kZXZpY2UgKmllZWUsIHN0cnVjdCBsaWJpcHdfaGRyXzRhZGRyICpoZWFkZXIsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHcuaDoxMDE4OlxcdFxcdCAgIHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgKnN0YXRzKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwdy5oLTEwMTktXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jPTMyPXN0YXRpYyB2b2lkIGxpYmlwd19tb25pdG9yX3J4KHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMzMtXFx0XFx0XFx0XFx0XFx0c3RydWN0IHNrX2J1ZmYgKnNrYixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjM0OlxcdFxcdFxcdFxcdFxcdHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgKnJ4X3N0YXRzKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMzUte1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYz0xMzM9c3RhdGljIGludCBsaWJpcHdfZnJhZ19jYWNoZV9pbnZhbGlkYXRlKHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0xNTYtI2lmZGVmIE5PVF9ZRVRcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjE1NzovKiBsaWJpcHdfcnhfZnJhbWVfbWd0bXRcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTE1OC0gKlxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0xNjAtICpcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjE2MTogKiBDYWxsZWQgYnkgbGliaXB3X3J4ICovXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0xNjItc3RhdGljIGludFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6MTYzOmxpYmlwd19yeF9mcmFtZV9tZ210KHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6MTY0OlxcdFxcdFxcdHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgKnJ4X3N0YXRzLCB1MTYgdHlwZSxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTE2NS1cXHRcXHRcXHR1MTYgc3R5cGUpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jPTIxOT1zdGF0aWMgdW5zaWduZWQgY2hhciBsaWJpcHdfYnJpZGdlX3R1bm5lbF9oZWFkZXJbXSA9XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTIyMi1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjIyMzovKiBDYWxsZWQgYnkgbGliaXB3X3J4X2ZyYW1lX2RlY3J5cHQgKi9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTIyNC1zdGF0aWMgaW50IGxpYmlwd19pc19lYXBvbF9mcmFtZShzdHJ1Y3QgbGliaXB3X2RldmljZSAqaWVlZSxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMjYyLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6MjYzOi8qIENhbGxlZCBvbmx5IGFzIGEgdGFza2xldCAoc29mdHdhcmUgSVJRKSwgYnkgbGliaXB3X3J4ICovXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0yNjQtc3RhdGljIGludFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6MjY1OmxpYmlwd19yeF9mcmFtZV9kZWNyeXB0KHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMjY2LVxcdFxcdFxcdCAgIHN0cnVjdCBsaWJpcHdfY3J5cHRfZGF0YSAqY3J5cHQpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTI5My1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjI5NDovKiBDYWxsZWQgb25seSBhcyBhIHRhc2tsZXQgKHNvZnR3YXJlIElSUSksIGJ5IGxpYmlwd19yeCAqL1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMjk1LXN0YXRpYyBpbnRcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjI5NjpsaWJpcHdfcnhfZnJhbWVfZGVjcnlwdF9tc2R1KHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMjk3LVxcdFxcdFxcdFxcdHN0cnVjdCBza19idWZmICpza2IsIGludCBrZXlpZHgsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTMyNC0gKiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBvbmx5IGFzIGEgdGFza2xldCAoc29mdHdhcmUgSVJRKS4gKi9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjMyNTppbnQgbGliaXB3X3J4KHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6MzI2OlxcdFxcdCBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICpyeF9zdGF0cylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTMyNy17XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTQ3MS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjQ3MjpcXHRcXHRpZiAobGliaXB3X3J4X2ZyYW1lX21nbXQoaWVlZSwgc2tiLCByeF9zdGF0cywgdHlwZSwgc3R5cGUpKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtNDczLVxcdFxcdFxcdGdvdG8gcnhfZHJvcHBlZDtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtNTY2LVxcdGlmICgoZmMgXFx1MDAyNiBJRUVFODAyMTFfRkNUTF9QUk9URUNURUQpIFxcdTAwMjZcXHUwMDI2IGNhbl9iZV9kZWNyeXB0ZWQgXFx1MDAyNlxcdTAwMjZcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjU2NzpcXHQgICAgKGtleWlkeCA9IGxpYmlwd19yeF9mcmFtZV9kZWNyeXB0KGllZWUsIHNrYiwgY3J5cHQpKSBcXHUwMDNjIDApXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy01NjgtXFx0XFx0Z290byByeF9kcm9wcGVkO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy02MzAtXFx0aWYgKChmYyBcXHUwMDI2IElFRUU4MDIxMV9GQ1RMX1BST1RFQ1RFRCkgXFx1MDAyNlxcdTAwMjYgY2FuX2JlX2RlY3J5cHRlZCBcXHUwMDI2XFx1MDAyNlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6NjMxOlxcdCAgICBsaWJpcHdfcnhfZnJhbWVfZGVjcnlwdF9tc2R1KGllZWUsIHNrYiwga2V5aWR4LCBjcnlwdCkpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy02MzItXFx0XFx0Z290byByeF9kcm9wcGVkO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYz0xMjA1PXN0YXRpYyBpbnQgbGliaXB3X2hhbmRsZV9hc3NvY19yZXNwKHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLCBzdHJ1Y3QgbGliaXB3X2Fzc29jX3Jlc3BvbnNlXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYzoxMjA2OlxcdFxcdFxcdFxcdCAgICAgICAqZnJhbWUsIHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgKnN0YXRzKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTIwNy17XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jPTEyNjM9c3RhdGljIGludCBsaWJpcHdfbmV0d29ya19pbml0KHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLCBzdHJ1Y3QgbGliaXB3X3Byb2JlX3Jlc3BvbnNlXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTEyNjUtXFx0XFx0XFx0XFx0XFx0IHN0cnVjdCBsaWJpcHdfbmV0d29yayAqbmV0d29yayxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjEyNjY6XFx0XFx0XFx0XFx0XFx0IHN0cnVjdCBsaWJpcHdfcnhfc3RhdHMgKnN0YXRzKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTI2Ny17XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jPTEzMzc9c3RhdGljIHZvaWQgdXBkYXRlX25ldHdvcmsoc3RydWN0IGxpYmlwd19uZXR3b3JrICpkc3QsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTEzNDktXFx0XFx0bWVtY3B5KFxcdTAwMjZkc3QtXFx1MDAzZXN0YXRzLCBcXHUwMDI2c3JjLVxcdTAwM2VzdGF0cyxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjEzNTA6XFx0XFx0ICAgICAgIHNpemVvZihzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzKSk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0xMzUxLVxcdGVsc2VcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM9MTQwOT1zdGF0aWMgdm9pZCBsaWJpcHdfcHJvY2Vzc19wcm9iZV9yZXNwb25zZShzdHJ1Y3QgbGliaXB3X2RldmljZVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0xNDExLVxcdFxcdFxcdFxcdFxcdFxcdCAgICBsaWJpcHdfcHJvYmVfcmVzcG9uc2VcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjE0MTI6XFx0XFx0XFx0XFx0XFx0XFx0ICAgICpiZWFjb24sIHN0cnVjdCBsaWJpcHdfcnhfc3RhdHNcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTE0MTMtXFx0XFx0XFx0XFx0XFx0XFx0ICAgICpzdGF0cylcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTUxOS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jOjE1MjA6dm9pZCBsaWJpcHdfcnhfbWd0KHN0cnVjdCBsaWJpcHdfZGV2aWNlICppZWVlLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmMtMTUyMS1cXHRcXHQgICAgICBzdHJ1Y3QgbGliaXB3X2hkcl80YWRkciAqaGVhZGVyLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6MTUyMjpcXHRcXHQgICAgICBzdHJ1Y3QgbGliaXB3X3J4X3N0YXRzICpzdGF0cylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pcHcyeDAwL2xpYmlwd19yeC5jLTE1MjMte1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXB3MngwMC9saWJpcHdfcnguYy0xNjQxLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6MTY0MjpFWFBPUlRfU1lNQk9MKGxpYmlwd19yeF9tZ3QpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2lwdzJ4MDAvbGliaXB3X3J4LmM6MTY0MzpFWFBPUlRfU1lNQk9MKGxpYmlwd19yeCk7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTMxVDIwOjE5OjE1Ljg4MzUxNjU4N1oiLCJTZXEiOjEyLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuNy1mbGFzaCIsIkR1cmF0aW9uIjo1NDEwNTExMDA0LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5c2lzIG9mIEZ1enppbmcgQXBwbGljYWJpbGl0eSoqXG5cbk9rYXksIGxldCdzIG1ha2Ugc3VyZSB3ZSd2ZSBnb3QgdGhpcyByaWdodC4gRmlyc3QsIGxldCdzIGNvbmZpcm0gdGhhdCBgbGliaXB3YCBpcyBvbmx5IHVzZWQgYnkgdGhlIGBpcHcyMTAwYCBhbmQgYGlwdzIyMDBgIGRyaXZlcnMuIFllcCwgdGhhdCdzIGNvcnJlY3QuIFRoZXNlIGFyZSBsZWdhY3kgZHJpdmVycyBmb3IgSW50ZWwgUFJPL1dpcmVsZXNzIDIxMDAgYW5kIDIyMDBCRy8yOTE1QUJHIGhhcmR3YXJlLCBzcGVjaWZpYyBQQ0kgZGV2aWNlcy4gVGhpcyBoYXJkd2FyZSBpcyAqZGVmaW5pdGVseSogb3V0IG9mIHJlYWNoIGluIG91ciBzdGFuZGFyZCBRRU1VIG9yIEdDRSBzZXR1cHMuIEZvcmdldCBhYm91dCB1c2luZyBgbWFjODAyMTFfaHdzaW1gLCBVU0IgZ2FkZ2V0LCBvciB2aXJ0aW87IG5vdGhpbmcncyBnb2luZyB0byBoaXQgdGhpcy5cblxuTm93LCBsZXQncyBkb3VibGUtY2hlY2sgdGhvc2UgZ3VpZGVsaW5lcyBhZ2Fpbi4gUmlnaHQsIGl0J3MgcHJldHR5IGNsZWFyOiBcIlJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnMgY29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLi4uXCIgYW5kIHRoYXQgc3BlY2lmaWNhbGx5IGNhbGxzIG91dCBoYXJkd2FyZSBsaWtlIHRoaXMgYXMgZXhhbXBsZXMuXG5cblNvLCBsZXQncyByZWNhcDogYGxpYmlwd2AgaXMgYSBoZWxwZXIgbGlicmFyeSBleGNsdXNpdmVseSBmb3IgdGhlIGBpcHcyMTAwYCBhbmQgYGlwdzIyMDBgIGRyaXZlcnMsIHdoaWNoIGFyZSBJbnRlbCBQUk8vV2lyZWxlc3MgMjEwMCBhbmQgMjIwMCBQQ0kgZHJpdmVycy4gQW5kIHRoZXNlIHJlcXVpcmUgKnBoeXNpY2FsKiBQQ0kgaGFyZHdhcmUsIHdoaWNoIFFFTVUgYW5kIEdDRSBqdXN0IGNhbid0IGVtdWxhdGUuIEl0J3MgYSBkZWFkIGVuZCBhcyBmYXIgYXMgZnV6emluZyBnb2VzLlxuXG5UaGVyZWZvcmUsIGBXb3J0aEZ1enppbmdgIGlzICpmYWxzZSouIFdlIGNhbid0IGdlbmVyYXRlIGFueSBtZWFuaW5nZnVsIGNvdmVyYWdlIGhlcmUuXG5cbkxldCdzIGdldCB0aGUgYHNldC1yZXN1bHRzYCBjYWxsIHByZXBhcmVkOlxuXG4qICAgYFdvcnRoRnV6emluZzogZmFsc2VgXG4qICAgYEVuYWJsZUNvbmZpZ3M6IFtdYCAobm8gc3BlY2lmaWMgY29uZmlndXJhdGlvbnMgbmVlZGVkKVxuKiAgIGBGb2N1c1N5bWJvbHM6IFtdYCAobm8gc3BlY2lmaWMgc3ltYm9scylcbiogICBgUmVhc29uaW5nOiBcIlRoZSBtb2RpZmllZCBjb2RlIGlzIHBhcnQgb2YgbGliaXB3LCBhIGhlbHBlciBsaWJyYXJ5IGV4Y2x1c2l2ZWx5IHVzZWQgYnkgdGhlIGxlZ2FjeSBJbnRlbCBQUk8vV2lyZWxlc3MgMjEwMCBhbmQgMjIwMCBQQ0kgZHJpdmVycyAoaXB3MjEwMCBhbmQgaXB3MjIwMCkuIFRoZXNlIHJlcXVpcmUgcGh5c2ljYWwgUENJIGhhcmR3YXJlIHRoYXQgaXMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIFFFTVUgb3IgR0NFLlwiYFxuXG5BbmQgbGV0J3MgZ28gYWhlYWQgYW5kIHN1Ym1pdCB0aGUgcmVzdWx0cy5cblxuXG4iLCJJbnB1dFRva2VucyI6Mzg1MTQsIk91dHB1dFRva2VucyI6MTAwLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NDg5LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTMxVDIwOjE5OjIxLjI5NDAzMTkxMVoiLCJTZXEiOjEzLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjIyNjAwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIG1vZGlmaWVkIGNvZGUgaXMgaW4gbGliaXB3LCBhIGhlbHBlciBsaWJyYXJ5IHVzZWQgZXhjbHVzaXZlbHkgYnkgdGhlIEludGVsIFBSTy9XaXJlbGVzcyAyMTAwIGFuZCAyMjAwIFBDSSBkcml2ZXJzIChpcHcyMTAwIGFuZCBpcHcyMjAwKS4gVGhlc2UgZHJpdmVycyByZXF1aXJlIHBoeXNpY2FsIFBDSSBoYXJkd2FyZSBub3QgZW11bGF0ZWQgaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgUUVNVSBvciBHQ0UuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBtb2RpZmllZCBjb2RlIGlzIGluIGxpYmlwdywgYSBoZWxwZXIgbGlicmFyeSB1c2VkIGV4Y2x1c2l2ZWx5IGJ5IHRoZSBJbnRlbCBQUk8vV2lyZWxlc3MgMjEwMCBhbmQgMjIwMCBQQ0kgZHJpdmVycyAoaXB3MjEwMCBhbmQgaXB3MjIwMCkuIFRoZXNlIGRyaXZlcnMgcmVxdWlyZSBwaHlzaWNhbCBQQ0kgaGFyZHdhcmUgbm90IGVtdWxhdGVkIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIFFFTVUgb3IgR0NFLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMzFUMjA6MTk6MjEuMjk0MDY2OTkxWiIsIlNlcSI6MTQsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoiSWYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjozOTIwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0udG9rZW5zIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnVG9vbER1ciA9IHN0YXRzLnRvb2wuY291bnQgPiAwID8gKHN0YXRzLnRvb2wuZHVyYXRpb24gLyBzdGF0cy50b29sLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCgkJCWNvbnN0IGxsbVN1bWFyeUNlbGxzID0gW3N0YXRzLmxsbS5jb3VudCwgc3RhdHMubGxtLnRva2VucywgYXZnTGxtVG9rZW4sIHN0YXRzLmxsbS5kdXJhdGlvbiwgYXZnTGxtRHVyXTsKCQkJY29uc3QgdG9vbFN1bW1hcnlDZWxscyA9IFtzdGF0cy50b29sLmNvdW50LCBzdGF0cy50b29sLmR1cmF0aW9uLCBhdmdUb29sRHVyXTsKCgkJCWNvbnN0IGxsbVN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xsbV9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJbGxtU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IGxsbVRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJbGxtU3VtYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCWxsbVRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCWxsbVN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKGxsbVRyKTsKCgkJCWNvbnN0IHRvb2xTdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b29sX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQl0b29sU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IHRvb2xUciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCXRvb2xTdW1tYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCXRvb2xUci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQl0b29sU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQodG9vbFRyKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgZmlsdGVyZWRTdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gWyJsbG0iLCAidG9vbCJdLmluY2x1ZGVzKGQuVHlwZSkpOwoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdEdXJhdGlvbicpOwoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOyAKCgkJCWZpbHRlcmVkU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCQoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7CgkJCQlsZXQgdG9vbHRpcCA9IHMuTmFtZTsKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iICYmIHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCQkJCWRhdGEuYWRkUm93KFtgJHtzLlNlcX1gLCBkdXIsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUaW1lIENvbnN1bXB0aW9uIG9mIExMTS9Ub29sIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0vVG9vbCBTdGVwcycsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdTZWNvbmRzJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdXJhdGlvbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgbGxtU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IGQuVHlwZSA9PT0gImxsbSIpOwoJCQlpZiAobGxtU3RlcHMubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdUb2tlbnMnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAnc3R5bGUnfSk7CQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOwkKCgkJCWNvbnN0IGFnZW50Q29sb3JzID0ge307CgkJCWNvbnN0IHBhbGV0dGUgPSBbJyM0Mjg1RjQnLCAnI0RCNDQzNycsICcjRjRCNDAwJywgJyMwRjlENTgnLCAnI0FCNDdCQycsICcjMDBBQ0MxJ107CgkJCWxldCBjb2xvcklkeCA9IDA7CgkJCWNvbnN0IGFnZW50TExNQ291bnRzID0ge307CgkJCWxsbVN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQlpZiAoIWFnZW50Q29sb3JzW3MuTmFtZV0pIHsKCQkJCQlhZ2VudENvbG9yc1tzLk5hbWVdID0gcGFsZXR0ZVtjb2xvcklkeCAlIHBhbGV0dGUubGVuZ3RoXTsKCQkJCQljb2xvcklkeCsrOwoJCQkJfQoKCQkJCWFnZW50TExNQ291bnRzW3MuTmFtZV0gPSAoYWdlbnRMTE1Db3VudHNbcy5OYW1lXSB8fCAwKSArIDE7CgkJCQljb25zdCBsYWJlbCA9IGAke3MuTmFtZX0tJHthZ2VudExMTUNvdW50c1tzLk5hbWVdfWA7CgkJCQljb25zdCB0b3RhbFRva2VucyA9IHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnM7CgkJCQljb25zdCBzdHlsZSA9IGBjb2xvcjogJHthZ2VudENvbG9yc1tzLk5hbWVdfWA7CgkJCQlsZXQgdG9vbHRpcCA9IGBUb3RhbCBUb2tlbnM6ICR7dG90YWxUb2tlbnN9XG4oSW46ICR7cy5JbnB1dFRva2Vuc30sIE91dDogJHtzLk91dHB1dFRva2Vuc30sIFRob3VnaHRzOiAke3MuT3V0cHV0VGhvdWdodHNUb2tlbnN9KWA7CgkJCQlpZiAocy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoKCQkJCWRhdGEuYWRkUm93KFtsYWJlbCwgdG90YWxUb2tlbnMsIHN0eWxlLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVG9rZW4gQ29uc3VtcHRpb24gYnkgTExNIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0gQ2FsbCBTZXF1ZW5jZScsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdDb25zdW1lZCBUb2tlbnMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rva2VuX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgkJbGV0IGFsbEV4cGFuZGVkID0gZmFsc2U7CgkJZnVuY3Rpb24gdG9nZ2xlQWxsRGV0YWlscygpIHsKCQkJYWxsRXhwYW5kZWQgPSAhYWxsRXhwYW5kZWQ7CgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RldGFpbHMnKS5mb3JFYWNoKGQgPT4gewoJCQkJaWYgKGFsbEV4cGFuZGVkKSBkLnNldEF0dHJpYnV0ZSgnb3BlbicsICcnKTsKCQkJCWVsc2UgZC5yZW1vdmVBdHRyaWJ1dGUoJ29wZW4nKTsKCQkJfSk7CgkJfQoJPC9zY3JpcHQ+CgoKPC9ib2R5Pgo8L2h0bWw+Cg==" },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-workflowfxh2h[1] Phase: Running StartedAt: 2026-08-31 20:19:55 +0000 UTC FinishedAt: 0001-01-01 00:00:00 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfxh2h[1].abort-on-skip-outcome Phase: Failed StartedAt: 2026-08-31 20:19:55 +0000 UTC FinishedAt: 2026-08-31 20:20:00 +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,}