Name: series-workflow6g9sq Phase: Failed StartedAt: 2026-08-15 12:19:18 +0000 UTC FinishedAt: 2026-08-15 12:48:58 +0000 UTC Input: nil Output: nil --------- Name: series-workflow6g9sq[0] Phase: Succeeded StartedAt: 2026-08-15 12:19:18 +0000 UTC FinishedAt: 2026-08-15 12:48:48 +0000 UTC Input: nil Output: nil --------- Name: series-workflow6g9sq[0].run-triage Phase: Succeeded StartedAt: 2026-08-15 12:19:18 +0000 UTC FinishedAt: 2026-08-15 12:48:48 +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+CgkJCTx0ZD4yMDI2LzA4LzE1IDEyOjQ4PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7S01TQU5SZWFzb25pbmcmIzM0OzogJiMzNDsmIzM0OywKICAmIzM0O05lZWRzS01TQU4mIzM0OzogZmFsc2UsCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIGJyY21zbWFjIGRyaXZlciwgd2hpY2ggaXMgYSB2ZW5kb3Itc3BlY2lmaWMgUENJZSB3aXJlbGVzcyBkcml2ZXIgZm9yIEJyb2FkY29tIGhhcmR3YXJlLiBUaGlzIGhhcmR3YXJlIGlzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIG9yIEdDRSBlbnZpcm9ubWVudHMsIG1ha2luZyB0aGUgY29kZSB1bnJlYWNoYWJsZSBkdXJpbmcgZnV6emluZy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDgvMTUgMTI6NDg8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCA0NGQzYTU1ZWY5MGQ2ZjhjZTdkYTgzODRmNTA2YWU2ZTZlZWM4OGQxXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFNhdCBBdWcgMTUgMTI6NDg6MTMgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL21hYzgwMjExX2lmLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFjODAyMTFfaWYuY1xuaW5kZXggNjI1NWQ2NzNkMmQzZS4uYzFhMjMxOGQ3ZWE2ZiAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWM4MDIxMV9pZi5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFjODAyMTFfaWYuY1xuQEAgLTE1NzEsNiAmIzQzOzE1NzEsMTAgQEAgdm9pZCBicmNtc19mcmVlX3RpbWVyKHN0cnVjdCBicmNtc190aW1lciAqdClcbiBcbiBcdC8qIGRlbGV0ZSB0aGUgdGltZXIgaW4gY2FzZSBpdCBpcyBhY3RpdmUgKi9cbiBcdGJyY21zX2RlbF90aW1lcih0KTtcbiYjNDM7XHQvKiBFbnN1cmUgdGhlIGNhbGxiYWNrIGhhcyBmaW5pc2hlZCBiZWZvcmUgZnJlZWluZyB0aGUgdGltZXJcbiYjNDM7XHQgKiBzdHJ1Y3R1cmUsIHNpbmNlIGJyY21zX2RlbF90aW1lcigpIHVzZXMgbm9uLXN5bmNocm9ub3VzIGNhbmNlbC5cbiYjNDM7XHQgKi9cbiYjNDM7XHRjYW5jZWxfZGVsYXllZF93b3JrX3N5bmMoXHUwMDI2dC1cdTAwM2VkbHlfd3JrKTtcbiBcbiBcdGlmICh3bC1cdTAwM2V0aW1lcnMgPT0gdCkge1xuIFx0XHR3bC1cdTAwM2V0aW1lcnMgPSB3bC1cdTAwM2V0aW1lcnMtXHUwMDNlbmV4dDtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yLzE8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xNSAxMjo0ODwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5iZXN0LWV4cGVuc2l2ZTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IG51bGwsCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIGJyY21zbWFjIGRyaXZlciwgd2hpY2ggaXMgYSB2ZW5kb3Itc3BlY2lmaWMgUENJZSB3aXJlbGVzcyBkcml2ZXIgZm9yIEJyb2FkY29tIGhhcmR3YXJlLiBUaGlzIGhhcmR3YXJlIGlzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIG9yIEdDRSBlbnZpcm9ubWVudHMsIG1ha2luZyB0aGUgY29kZSB1bnJlYWNoYWJsZSBkdXJpbmcgZnV6emluZy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKICBldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuCi0gQ29kZSBpbiB2ZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2gsIFNtYXJ0TklDLCBvciBHUFUgZHJpdmVycyAoZS5nLiwgbWx4c3csIHBkc19jb3JlLCBxZWQsCiAgaW9uaWMsIGFtZGdwdSkgdGhhdCByZXF1aXJlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuCi0gRHJpdmVyIC5yZW1vdmUsIC5zaHV0ZG93biwgb3IgcGNpX3VucmVnaXN0ZXJfZHJpdmVyIHRlYXJkb3duIGNhbGxiYWNrcyAoZS5nLiwgaWdiX3JlbW92ZSkKICB0aGF0IGFyZSBleGVjdXRlZCBvbmx5IGR1cmluZyBQQ0kgaG90LXVucGx1ZyBvciBzeXNmcyBkcml2ZXIgdW5iaW5kIG9wZXJhdGlvbnMuCgpJZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoCnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLgoKV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086CjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuCiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLgogICBQcmVmZXIgbm9uLXN0YXRpYywgbm9uLWlubGluZWQgQVBJIGVudHJ5cG9pbnQgZnVuY3Rpb25zIG92ZXIgaW50ZXJuYWwgc3RhdGljIGhlbHBlciBmdW5jdGlvbnMKICAgKHdoaWNoIGFyZSBpbmxpbmVkIGJ5IHRoZSBjb21waWxlciBhbmQgZG8gbm90IGhhdmUgZGlzdGluY3Qgc3ltYm9sIGFkZHJlc3NlcykuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIEFsc28gY2hlY2sgJiMzNDtkZXBlbmRzIG9uJiMzNDsgbGluZXMgaW4gS2NvbmZpZyB0byBpbmNsdWRlIGFueSBub24tc3RhbmRhcmQgcGFyZW50IHN1YnN5c3RlbSBjb25maWdzCiAgIG5lZWRlZCBmb3IgS2J1aWxkIHRvIGNvbXBpbGUgdGhlIGNvZGUgc3RhdGljYWxseSBpbnRvIHZtbGludXguIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncwogICBvdXRwdXQgYXJyYXksIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCA0NGQzYTU1ZWY5MGQ2ZjhjZTdkYTgzODRmNTA2YWU2ZTZlZWM4OGQxCkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFNhdCBBdWcgMTUgMTI6NDg6MTMgMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFjODAyMTFfaWYuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWM4MDIxMV9pZi5jCmluZGV4IDYyNTVkNjczZDJkM2UuLmMxYTIzMThkN2VhNmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWM4MDIxMV9pZi5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWM4MDIxMV9pZi5jCkBAIC0xNTcxLDYgJiM0MzsxNTcxLDEwIEBAIHZvaWQgYnJjbXNfZnJlZV90aW1lcihzdHJ1Y3QgYnJjbXNfdGltZXIgKnQpCiAKIAkvKiBkZWxldGUgdGhlIHRpbWVyIGluIGNhc2UgaXQgaXMgYWN0aXZlICovCiAJYnJjbXNfZGVsX3RpbWVyKHQpOwomIzQzOwkvKiBFbnN1cmUgdGhlIGNhbGxiYWNrIGhhcyBmaW5pc2hlZCBiZWZvcmUgZnJlZWluZyB0aGUgdGltZXIKJiM0MzsJICogc3RydWN0dXJlLCBzaW5jZSBicmNtc19kZWxfdGltZXIoKSB1c2VzIG5vbi1zeW5jaHJvbm91cyBjYW5jZWwuCiYjNDM7CSAqLwomIzQzOwljYW5jZWxfZGVsYXllZF93b3JrX3N5bmMoJmFtcDt0LSZndDtkbHlfd3JrKTsKIAogCWlmICh3bC0mZ3Q7dGltZXJzID09IHQpIHsKIAkJd2wtJmd0O3RpbWVycyA9IHdsLSZndDt0aW1lcnMtJmd0O25leHQ7CjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzE1IDEyOjQ4PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDIxMDAKCQkJCQkJCW91dHB1dDogNDQKCQkJCQkJCXRob3VnaHRzOiAyMTQKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIGEgQnJvYWRjb20gV2lyZWxlc3MgRHJpdmVyIFBhdGNoKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGFuZCBpdCYjMzk7cyBtb2RpZnlpbmcgYGJyY21zX2ZyZWVfdGltZXJgIHdpdGhpbiBgZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL21hYzgwMjExX2lmLmNgLiBUaGUgY29yZSBvZiB0aGUgY2hhbmdlIHNlZW1zIHN0cmFpZ2h0Zm9yd2FyZDogYSBgY2FuY2VsX2RlbGF5ZWRfd29ya19zeW5jKCZhbXA7dC0mZ3Q7ZGx5X3dyayk7YCBjYWxsIGlzIGJlaW5nIGFkZGVkLiBUaGlzIGlzIGdvb2QgcHJhY3RpY2UuIEl0JiMzOTtzIGVzc2VudGlhbGx5IGEgc3luY2hyb25pemF0aW9uIG1lY2hhbmlzbSB0byBndWFyYW50ZWUgdGhlIGNhbGxiYWNrIGFzc29jaWF0ZWQgd2l0aCB0aGF0IHRpbWVyIGhhcyBjb21wbGV0ZWQgaXRzIGV4ZWN1dGlvbiBiZWZvcmUgd2UgZnJlZSB0aGUgdGltZXIgc3RydWN0dXJlIGl0c2VsZi4gUHJldmVudGluZyBhIHVzZS1hZnRlci1mcmVlIHNpdHVhdGlvbiwgbW9zdCBsaWtlbHkuIEZ1bmN0aW9uYWxseSwgdGhpcyBpcyB3aXRoaW4gdGhlIGBicmNtc21hY2AgZHJpdmVyLgoKTm93LCBgYnJjbXNtYWNgLi4uIHRoYXQgcmluZ3MgYSBiZWxsLiBBaCB5ZXMsIGl0JiMzOTtzIGEgZHJpdmVyIHNwZWNpZmljYWxseSBmb3IgQnJvYWRjb20gUENJZSB3aXJlbGVzcyBjYXJkcy4gR2l2ZW4gdGhhdCBpdCYjMzk7cyBhIFBDSWUgZHJpdmVyLCBJIGltbWVkaWF0ZWx5IHN0YXJ0IHRoaW5raW5nIGFib3V0IHRlc3RpbmcgcG9zc2liaWxpdGllcy4gQ2FuIEkgZ2V0IHRoaXMgcnVubmluZyBpbiBRRU1VPyBUaGF0JiMzOTtzIHRoZSBpZGVhbCBzY2VuYXJpbyBmb3IgcXVpY2tseSB2YWxpZGF0aW5nIHRoaXMga2luZCBvZiBwYXRjaC4gTmVlZCB0byBjb25maXJtIHRoYXQgaXQgKmlzKiBpbmRlZWQgYSBQQ0llIGRyaXZlciBhbmQgdGhhdCBJIGhhdmVuJiMzOTt0IG1peGVkIGl0IHVwIHdpdGggc29tZXRoaW5nIGVsc2UuIEl0IGNoZWNrcyBvdXQsIGBicmNtc21hY2AgaXMgUENJZS4KCk9rYXksIEkmIzM5O2xsIG5lZWQgdG8gZGlnIGRlZXBlciBpbnRvIHRoZSBjb2RlIHRvIHVuZGVyc3RhbmQgdGhlIGNvbnRleHQgZnVsbHkuIEkmIzM5O2xsIG5lZWQgdG8gZ28gdGhyb3VnaCBgZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL21hYzgwMjExX2lmLmNgIGFuZCBwcm9iYWJseSBhbHNvIHBva2UgYXJvdW5kIGBkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFpbi5jYCB0byBzZWUgaG93IHRoZXNlIHRpbWVycyBhbmQgd29yayBxdWV1ZXMgYXJlIHVzZWQuIEdvdHRhIHVuZGVyc3RhbmQgdGhlIGNvbXBsZXRlIGNvbnRyb2wgZmxvdywgYnV0IHRoZSBwcmVtaXNlIGlzIHNvdW5kLiBUaGlzIGlzIGEgc29saWQgc2FmZXR5IG5ldCBhZ2FpbnN0IHBvdGVudGlhbCBpc3N1ZXMuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMTUgMTI6NDg8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7YnJjbXNtYWMmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9NYWtlZmlsZT0xOD1jY2ZsYWdzLXkgOj0gXFxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvTWFrZWZpbGUtMjItXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvTWFrZWZpbGU6MjM6YnJjbXNtYWMteSA6PSBcXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL01ha2VmaWxlLTI0LVx0bWFjODAyMTFfaWYubyBcXFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9NYWtlZmlsZS00NC1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9NYWtlZmlsZTo0NTpicmNtc21hYy0kKENPTkZJR19CUkNNU01BQ19MRURTKSAmIzQzOz0gbGVkLm9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9NYWtlZmlsZS00Ni1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9NYWtlZmlsZTo0NzpvYmotJChDT05GSUdfQlJDTVNNQUMpXHQmIzQzOz0gYnJjbXNtYWMub1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9icmNtc190cmFjZV9icmNtc21hYy5oLTIyLSN1bmRlZiBUUkFDRV9TWVNURU1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9icmNtc190cmFjZV9icmNtc21hYy5oOjIzOiNkZWZpbmUgVFJBQ0VfU1lTVEVNIGJyY21zbWFjXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvYnJjbXNfdHJhY2VfYnJjbXNtYWMuaC0yNC1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvYnJjbXNfdHJhY2VfYnJjbXNtYWMuaD03Mz1UUkFDRV9FVkVOVChicmNtc19tYWNpbnRzdGF0dXMsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL2JyY21zX3RyYWNlX2JyY21zbWFjLmgtOTgtI3VuZGVmIFRSQUNFX0lOQ0xVREVfRklMRVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL2JyY21zX3RyYWNlX2JyY21zbWFjLmg6OTk6I2RlZmluZSBUUkFDRV9JTkNMVURFX0ZJTEUgYnJjbXNfdHJhY2VfYnJjbXNtYWNcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9icmNtc190cmFjZV9icmNtc21hYy5oLTEwMC0jaW5jbHVkZSBcdTAwM2N0cmFjZS9kZWZpbmVfdHJhY2UuaFx1MDAzZVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9icmNtc190cmFjZV9icmNtc21hY19tc2cuaC0yMi0jdW5kZWYgVFJBQ0VfU1lTVEVNXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvYnJjbXNfdHJhY2VfYnJjbXNtYWNfbXNnLmg6MjM6I2RlZmluZSBUUkFDRV9TWVNURU0gYnJjbXNtYWNfbXNnXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvYnJjbXNfdHJhY2VfYnJjbXNtYWNfbXNnLmgtMjQtXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL2JyY21zX3RyYWNlX2JyY21zbWFjX21zZy5oPTY0PVRSQUNFX0VWRU5UKGJyY21zX2RiZyxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvYnJjbXNfdHJhY2VfYnJjbXNtYWNfbXNnLmgtODgtI3VuZGVmIFRSQUNFX0lOQ0xVREVfRklMRVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL2JyY21zX3RyYWNlX2JyY21zbWFjX21zZy5oOjg5OiNkZWZpbmUgVFJBQ0VfSU5DTFVERV9GSUxFIGJyY21zX3RyYWNlX2JyY21zbWFjX21zZ1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL2JyY21zX3RyYWNlX2JyY21zbWFjX21zZy5oLTkwLSNpbmNsdWRlIFx1MDAzY3RyYWNlL2RlZmluZV90cmFjZS5oXHUwMDNlXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL2JyY21zX3RyYWNlX2JyY21zbWFjX3R4LmgtMjItI3VuZGVmIFRSQUNFX1NZU1RFTVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL2JyY21zX3RyYWNlX2JyY21zbWFjX3R4Lmg6MjM6I2RlZmluZSBUUkFDRV9TWVNURU0gYnJjbXNtYWNfdHhcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9icmNtc190cmFjZV9icmNtc21hY190eC5oLTI0LVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9icmNtc190cmFjZV9icmNtc21hY190eC5oPTczPVRSQUNFX0VWRU5UKGJyY21zX2FtcGR1X3Nlc3Npb24sXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL2JyY21zX3RyYWNlX2JyY21zbWFjX3R4LmgtMTA2LSN1bmRlZiBUUkFDRV9JTkNMVURFX0ZJTEVcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9icmNtc190cmFjZV9icmNtc21hY190eC5oOjEwNzojZGVmaW5lIFRSQUNFX0lOQ0xVREVfRklMRSBicmNtc190cmFjZV9icmNtc21hY190eFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL2JyY21zX3RyYWNlX2JyY21zbWFjX3R4LmgtMTA4LSNpbmNsdWRlIFx1MDAzY3RyYWNlL2RlZmluZV90cmFjZS5oXHUwMDNlXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL2JyY21zX3RyYWNlX2V2ZW50cy5oPTMzPXN0YXRpYyBpbmxpbmUgdm9pZCB0cmFjZV8gIyMgbmFtZShwcm90bykge31cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvYnJjbXNfdHJhY2VfZXZlbnRzLmgtMzUtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvYnJjbXNfdHJhY2VfZXZlbnRzLmg6MzY6I2luY2x1ZGUgXCYjMzQ7YnJjbXNfdHJhY2VfYnJjbXNtYWMuaFwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL2JyY21zX3RyYWNlX2V2ZW50cy5oOjM3OiNpbmNsdWRlIFwmIzM0O2JyY21zX3RyYWNlX2JyY21zbWFjX3R4LmhcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9icmNtc190cmFjZV9ldmVudHMuaDozODojaW5jbHVkZSBcJiMzNDticmNtc190cmFjZV9icmNtc21hY19tc2cuaFwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL2JyY21zX3RyYWNlX2V2ZW50cy5oLTM5LVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9sZWQuYz01MT1pbnQgYnJjbXNfbGVkX3JlZ2lzdGVyKHN0cnVjdCBicmNtc19pbmZvICp3bClcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbGVkLmMtOTMtXHRzbnByaW50Zih3bC1cdTAwM2VyYWRpb19sZWQubmFtZSwgc2l6ZW9mKHdsLVx1MDAzZXJhZGlvX2xlZC5uYW1lKSxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9sZWQuYzo5NDpcdFx0IFwmIzM0O2JyY21zbWFjLSVzOnJhZGlvXCYjMzQ7LCB3aXBoeV9uYW1lKHdsLVx1MDAzZXdpcGh5KSk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbGVkLmMtOTUtXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL21hYzgwMjExX2lmLmM9MTI5Mz1zdGF0aWMgc3RydWN0IGJjbWFfZHJpdmVyIGJyY21zX2JjbWFfZHJpdmVyID0ge1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWM4MDIxMV9pZi5jLTEzMDItLypcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWM4MDIxMV9pZi5jOjEzMDM6ICogVGhpcyBpcyB0aGUgbWFpbiBlbnRyeSBwb2ludCBmb3IgdGhlIGJyY21zbWFjIGRyaXZlci5cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWM4MDIxMV9pZi5jLTEzMDQtICpcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFjODAyMTFfaWYuYz0xMzIwPXN0YXRpYyBpbnQgX19pbml0IGJyY21zX21vZHVsZV9pbml0KHZvaWQpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL21hYzgwMjExX2lmLmMtMTMyOS0vKlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL21hYzgwMjExX2lmLmM6MTMzMDogKiBUaGlzIGZ1bmN0aW9uIHVubG9hZHMgdGhlIGJyY21zbWFjIGRyaXZlciBmcm9tIHRoZSBzeXN0ZW0uXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFjODAyMTFfaWYuYy0xMzMxLSAqXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFjODAyMTFfaWYuYzoxMzMyOiAqIFRoaXMgZnVuY3Rpb24gdW5jb25kaXRpb25hbGx5IHVubG9hZHMgdGhlIGJyY21zbWFjIGRyaXZlciBtb2R1bGUgZnJvbSB0aGVcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWM4MDIxMV9pZi5jLTEzMzMtICogc3lzdGVtLlxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzE1IDEyOjQ4PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDQ5MjUKCQkJCQkJCW91dHB1dDogNDQKCQkJCQkJCXRob3VnaHRzOiA4MQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipJbnZlc3RpZ2F0aW5nIHRoZSBgYnJjbXNtYWNgIERyaXZlciBhbmQgQkNNQSBCdXMgQ29tcGF0aWJpbGl0eSB3aXRoIFFFTVUqKgoKT2theSwgc28gSSYjMzk7bSBsb29raW5nIGF0IHRoaXMgYGJyY21zbWFjYCBkcml2ZXIsIGFuZCB0aGUgY29kZSBzYXlzIGl0JiMzOTtzIGEgQkNNQSBkcml2ZXIg4oCTIHNwZWNpZmljYWxseSwgaXQmIzM5O3MgdXRpbGl6aW5nIHRoZSBgYmNtYV9kcml2ZXJgIHN0cnVjdHVyZS4gUmlnaHQsIEJDTUEgaXMgQnJvYWRjb20mIzM5O3MgYnVzIGFyY2hpdGVjdHVyZSwgcmlnaHQ/IE5vdyB0aGUgcXVlc3Rpb24gaXMsIGNhbiBJIGV2ZW4gZ2V0IHRoaXMgdGhpbmcgdG8gdGVzdCBwcm9wZXJseSBpbiBRRU1VPyBNeSBpbW1lZGlhdGUgdGhvdWdodCBpcywgZ2VuZXJhbGx5LCBCQ01BIGRldmljZXMgYXJlICpub3QqIHRoZSBlYXNpZXN0IHRoaW5ncyB0byBlbXVsYXRlLiBRRU1VJiMzOTtzIHN1cHBvcnQgY2FuIGJlIHNwb3R0eSwgYW5kIEkmIzM5O20gcHJldHR5IHN1cmUgSSBoYXZlbiYjMzk7dCBzZWVuIGFueSBlbXVsYXRlZCBCQ01BIGltcGxlbWVudGF0aW9ucyB0aGF0IGFyZSBwYXJ0aWN1bGFybHkgcm9idXN0LiBTbywgYmVmb3JlIEkgZ28gZG93biBhIHJhYmJpdCBob2xlIHRyeWluZyB0byBlbXVsYXRlIGEgYnVzIHRoYXQmIzM5O3MgcHJvYmFibHkgbm90IHN1cHBvcnRlZCwgSSBuZWVkIHRvIGZpZ3VyZSBvdXQgaWYgdGhpcyBgYnJjbXNtYWNgIGRyaXZlciBldmVuICpuZWVkcyogYSBCQ01BIGJ1cy4gSSBuZWVkIHRvIHF1aWNrbHkgY2hlY2sgaWYgdGhpcyBkcml2ZXIgaGFzIGFueSBkZXBlbmRlbmNpZXMgb24gUENJIGJlY2F1c2UgdGhhdCAqaXMqIGZhaXJseSBjb21tb24gZm9yIHdpcmVsZXNzIGRldmljZXMuIElmIG5vdCwgbWF5YmUgdGhlcmUgaXMgYW5vdGhlciBwb3NzaWJpbGl0eS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xNSAxMjo0ODwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtjb25maWcgQlJDTVNNQUMmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvS2NvbmZpZyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvS2NvbmZpZz0yPWNvbmZpZyBCUkNNVVRJTFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9LY29uZmlnLTQtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvS2NvbmZpZzo1OmNvbmZpZyBCUkNNU01BQ1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL0tjb25maWctNi1cdHRyaXN0YXRlIFwmIzM0O0Jyb2FkY29tIElFRUU4MDIuMTFuIFBDSWUgU29mdE1BQyBXTEFOIGRyaXZlclwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9LY29uZmlnLTE3LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL0tjb25maWc6MTg6Y29uZmlnIEJSQ01TTUFDX0xFRFNcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9LY29uZmlnLTE5LVx0ZGVmX2Jvb2wgQlJDTVNNQUMgXHUwMDI2XHUwMDI2IEJDTUFfRFJJVkVSX0dQSU8gXHUwMDI2XHUwMDI2IE1BQzgwMjExX0xFRFNcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD43LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xNSAxMjo0ODwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA1NTIwCgkJCQkJCQlvdXRwdXQ6IDQ1CgkJCQkJCQl0aG91Z2h0czogNjkKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIHRoZSBCcm9hZGNvbSBXTEFOIERyaXZlcioqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhpcyBkcml2ZXIsICYjMzQ7QnJvYWRjb20gSUVFRTgwMi4xMW4gUENJZSBTb2Z0TUFDIFdMQU4gZHJpdmVyLiYjMzQ7IFJpZ2h0IGF3YXksIHRoZSBuYW1lIGdpdmVzIG1lIHNvbWUga2V5IGluZm9ybWF0aW9uOiBpdCYjMzk7cyBCcm9hZGNvbSwgZGVhbHMgd2l0aCA4MDIuMTFuLCB1c2VzIFBDSWUsIGFuZCBpcyBhIFNvZnRNQUMuIEV4Y2VsbGVudC4gTm93LCBJIG5lZWQgdG8gdW5kZXJzdGFuZCBpdHMgcmVsYXRpb25zaGlwIHRvIHRoZSByZXN0IG9mIHRoZSB3aXJlbGVzcyBzdWJzeXN0ZW0uIFRoZSBkZXNjcmlwdGlvbiBtZW50aW9ucyBkZXBlbmRlbmNpZXMgb24gYE1BQzgwMjExYCwgYEJDTUFgLCBhbmQgYFBDSWAuIFRoYXQmIzM5O3Mgbm90IHN1cnByaXNpbmc7IEkgd2FzIGV4cGVjdGluZyBgTUFDODAyMTFgIGZvciB0aGUgU29mdE1BQyBjb21wb25lbnQsIGFuZCBgUENJYCB0byBoYW5kbGUgdGhlIFBDSWUgaW50ZXJmYWNlLiBgQkNNQWAuLi4gdGhhdOKAmXMgQnJvYWRjb20mIzM5O3Mgc3BlY2lmaWMgY29yZSBhcmNoaXRlY3R1cmUsIHdoaWNoIG1ha2VzIHBlcmZlY3Qgc2Vuc2UuCgpNeSBuZXh0IHN0ZXAgaXMgdG8gZGl2ZSBkZWVwZXIgaW50byB0aGUgZHJpdmVyJiMzOTtzIGNvbmZpZ3VyYXRpb24sIHNwZWNpZmljYWxseSB0aGUgYEtjb25maWdgIGZpbGUuIEkmIzM5O2xsIG5lZWQgdG8gY29uZmlybSB0aGVzZSBkZXBlbmRlbmNpZXMgYW5kIHNlZSBpZiB0aGVyZSBhcmUgYW55IG90aGVyIHN1YnRsZSByZWxhdGlvbnNoaXBzIG9yIG9wdGlvbnMgZGVmaW5lZCB3aXRoaW4gdGhlIGRyaXZlciYjMzk7cyBvd24gY29uZmlndXJhdGlvbiBzZWN0aW9uLiBJJiMzOTtsbCBoZWFkIG92ZXIgdG8gYGRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9LY29uZmlnYCB0byBkbyBqdXN0IHRoYXQuIExldCYjMzk7cyBzZWUgd2hhdCBmdXJ0aGVyIGRldGFpbHMgYWJvdXQgdGhpcyBkcml2ZXIgYXJlIHJldmVhbGVkIGluIGl0cyBjb25maWcuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OC8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMTUgMTI6NDg8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5yZWFkLWZpbGU8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0ZpbGUmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvS2NvbmZpZyYjMzQ7LAogICYjMzQ7Rmlyc3RMaW5lJiMzNDs6IDEsCiAgJiMzNDtMaW5lQ291bnQmIzM0OzogMjAKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0NvbnRlbnRzJiMzNDs6ICYjMzQ7ICAgMTpcdCMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seVxuICAgMjpcdGNvbmZpZyBCUkNNVVRJTFxuICAgMzpcdFx0dHJpc3RhdGVcbiAgIDQ6XHRcbiAgIDU6XHRjb25maWcgQlJDTVNNQUNcbiAgIDY6XHRcdHRyaXN0YXRlIFwmIzM0O0Jyb2FkY29tIElFRUU4MDIuMTFuIFBDSWUgU29mdE1BQyBXTEFOIGRyaXZlclwmIzM0O1xuICAgNzpcdFx0ZGVwZW5kcyBvbiBNQUM4MDIxMVxuICAgODpcdFx0ZGVwZW5kcyBvbiBCQ01BX1BPU1NJQkxFXG4gICA5Olx0XHRzZWxlY3QgQkNNQVxuICAxMDpcdFx0c2VsZWN0IEJSQ01VVElMXG4gIDExOlx0XHRzZWxlY3QgRldfTE9BREVSXG4gIDEyOlx0XHRzZWxlY3QgQ09SRElDXG4gIDEzOlx0XHRoZWxwXG4gIDE0Olx0XHQgIFRoaXMgbW9kdWxlIGFkZHMgc3VwcG9ydCBmb3IgUENJZSB3aXJlbGVzcyBhZGFwdGVycyBiYXNlZCBvbiBCcm9hZGNvbVxuICAxNTpcdFx0ICBJRUVFODAyLjExbiBTb2Z0TUFDIGNoaXBzZXRzLiBJZiB5b3UgY2hvb3NlIHRvIGJ1aWxkIGEgbW9kdWxlLCB0aGVcbiAgMTY6XHRcdCAgZHJpdmVyIHdpbGwgYmUgY2FsbGVkIGJyY21zbWFjLmtvLlxuICAxNzpcdFxuICAxODpcdGNvbmZpZyBCUkNNU01BQ19MRURTXG4gIDE5Olx0XHRkZWZfYm9vbCBCUkNNU01BQyBcdTAwMjZcdTAwMjYgQkNNQV9EUklWRVJfR1BJTyBcdTAwMjZcdTAwMjYgTUFDODAyMTFfTEVEU1xuICAyMDpcdFx0aGVscFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzE1IDEyOjQ4PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDYxODQKCQkJCQkJCW91dHB1dDogNDcKCQkJCQkJCXRob3VnaHRzOiAxOTAKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqUENJZSBXaXJlbGVzcyBBZGFwdGVyIERyaXZlciBUZXN0aW5nIGluIFFFTVUqKgoKT2theSwgc28gSSYjMzk7bSBsb29raW5nIGF0IHRoaXMgUENJZSB3aXJlbGVzcyBhZGFwdGVyIGRyaXZlciwgYW5kIG15IGZpcnN0IHRob3VnaHQgaXMsICYjMzQ7Q2FuIEkgYWN0dWFsbHkgdGVzdCB0aGlzIGluIFFFTVU/JiMzNDsgVGhlIGRvY3VtZW50YXRpb24gdGhyb3dzIGEgd3JlbmNoIGluIHRoaW5ncywgc2F5aW5nIHRoYXQgdmVuZG9yLXNwZWNpZmljIGRyaXZlcnMgZm9yIFBDSWUgc3dpdGNoZXMsIFNtYXJ0TklDcywgb3IgR1BVc+KAlGxpa2UgdGhvc2UgZm9yIG1seHN3LCBwZHNfY29yZSwgcWVkLCBpb25pYywgYW1kZ3B14oCUYXJlIHRoZSBwcm9ibGVtLiBUaGV5IHJlcXVpcmUgcGh5c2ljYWwgUENJZSBjYXJkcyB0aGF0IGFyZW4mIzM5O3QgcHJvcGVybHkgZW11bGF0ZWQgYnkgdGhlIHN0YW5kYXJkIFFFTVUgc2V0dXAuIFNvLCBpcyBgYnJjbXNtYWNgLCB0aGUgZHJpdmVyIGluIHF1ZXN0aW9uIGhlcmUsIG9uZSBvZiB0aG9zZT8gTm8sIHRoZSBub3RlcyBhcmUgY2xlYXI6IFFFTVUgZG9lc24mIzM5O3QgZW11bGF0ZSBCcm9hZGNvbSBQQ0llIHdpcmVsZXNzIGNhcmRzLiBEYW1uLgoKQnV0IHdhaXQsIGFtIEkgc3R1Y2s/IENhbiBJIHNvbWVob3cgcmVhY2ggaXQgdGhyb3VnaCBzb2Z0d2FyZSBlbXVsYXRpb24/IEkgcmVtZW1iZXIgYG1hYzgwMjExX2h3c2ltYCB3aGljaCBlbXVsYXRlcyB0aGUgbWFjODAyMTEgc3RhY2suICBCdXQgdGhhdCB3b24mIzM5O3QgaGVscDsgaXQmIzM5O3MgdGhlIHNwZWNpZmljIEJyb2FkY29tIFBDSWUgaGFyZHdhcmUgdGhhdCYjMzk7cyBtaXNzaW5nLCBhbmQgYG1hYzgwMjExX2h3c2ltYCBkb2VzbiYjMzk7dCBwcm92aWRlIHRoYXQuCgpPa2F5LCBsZXQmIzM5O3MgdGFrZSBhIGRpZmZlcmVudCBhcHByb2FjaC4gVGhlIGZ1bmN0aW9uIGBicmNtc19mcmVlX3RpbWVyYCBpcyBwYXJ0IG9mIHRoZSBgYnJjbXNtYWNgIGRyaXZlci4gSWYgSSBjYW4mIzM5O3QgZW11bGF0ZSB0aGUgaGFyZHdhcmUsIG1heWJlIEkgY2FuIGZpbmQgb3RoZXIgcGF0aHMgdG8gdGVzdCBvciBkZWJ1ZyB0aGlzIGRyaXZlci4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgaG93IGFuZCB3aGVyZSB0aGF0IGZ1bmN0aW9uIGlzIHVzZWQuIFNvLCBsZXQmIzM5O3MgZmluZCBhbGwgdGhlIGNhbGwgc2l0ZXMgb2YgYGJyY21zX2ZyZWVfdGltZXJgLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEwLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xNSAxMjo0ODwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDticmNtc19mcmVlX3RpbWVyJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFjODAyMTFfaWYuYz0xNTUxPWJvb2wgYnJjbXNfZGVsX3RpbWVyKHN0cnVjdCBicmNtc190aW1lciAqdClcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFjODAyMTFfaWYuYy0xNTY2LSAqL1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL21hYzgwMjExX2lmLmM6MTU2Nzp2b2lkIGJyY21zX2ZyZWVfdGltZXIoc3RydWN0IGJyY21zX3RpbWVyICp0KVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL21hYzgwMjExX2lmLmMtMTU2OC17XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL21hYzgwMjExX2lmLmg9MTAzPXN0cnVjdCBicmNtc190aW1lciAqYnJjbXNfaW5pdF90aW1lcihzdHJ1Y3QgYnJjbXNfaW5mbyAqd2wsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL21hYzgwMjExX2lmLmgtMTA1LVx0XHRcdFx0ICAgICBjb25zdCBjaGFyICpuYW1lKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWM4MDIxMV9pZi5oOjEwNjp2b2lkIGJyY21zX2ZyZWVfdGltZXIoc3RydWN0IGJyY21zX3RpbWVyICp0aW1lcik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFjODAyMTFfaWYuaC0xMDctdm9pZCBicmNtc19hZGRfdGltZXIoc3RydWN0IGJyY21zX3RpbWVyICp0aW1lciwgdWludCBtcywgaW50IHBlcmlvZGljKTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFpbi5jPTQ3NDY9c3RhdGljIHZvaWQgYnJjbXNfY190aW1lcnNfZGVpbml0KHN0cnVjdCBicmNtc19jX2luZm8gKndsYylcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFpbi5jLTQ3NDktXHRpZiAod2xjLVx1MDAzZXdkdGltZXIpIHtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWluLmM6NDc1MDpcdFx0YnJjbXNfZnJlZV90aW1lcih3bGMtXHUwMDNld2R0aW1lcik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFpbi5jLTQ3NTEtXHRcdHdsYy1cdTAwM2V3ZHRpbWVyID0gTlVMTDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFpbi5jLTQ3NTMtXHRpZiAod2xjLVx1MDAzZXJhZGlvX3RpbWVyKSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFpbi5jOjQ3NTQ6XHRcdGJyY21zX2ZyZWVfdGltZXIod2xjLVx1MDAzZXJhZGlvX3RpbWVyKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWluLmMtNDc1NS1cdFx0d2xjLVx1MDAzZXJhZGlvX3RpbWVyID0gTlVMTDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvcGh5X3NoaW0uYz02Nz12b2lkIHdsYXBpX2ZyZWVfdGltZXIoc3RydWN0IHdsYXBpX3RpbWVyICp0KVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL3BoeV9zaGltLmMtNjgte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL3BoeV9zaGltLmM6Njk6XHRicmNtc19mcmVlX3RpbWVyKChzdHJ1Y3QgYnJjbXNfdGltZXIgKil0KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9waHlfc2hpbS5jLTcwLX1cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMS8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMTUgMTI6NDg8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNzYzNQoJCQkJCQkJb3V0cHV0OiA3OAoJCQkJCQkJdGhvdWdodHM6IDE3MgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipNeSBBc3Nlc3NtZW50OiBOb3QgV29ydGggRnV6emluZyoqCgpPa2F5LCBzbyBJJiMzOTt2ZSBnb3QgdGhpcyBgYnJjbXNfZnJlZV90aW1lcmAgZnVuY3Rpb24uIFRoZSBjb2RlJiMzOTtzIHRlbGxpbmcgbWUgaXQgZ2V0cyBjYWxsZWQgd2hlbiB0aGUgZHJpdmVyIGlzIHNodXR0aW5nIGRvd24g4oCTIHNwZWNpZmljYWxseSwgZHVyaW5nIGBicmNtc19jX3RpbWVyc19kZWluaXRgIGFuZCBhbHNvIGluIGB3bGFwaV9mcmVlX3RpbWVyYCwgYm90aCBvZiB3aGljaCBhcmUgcGFydCBvZiBlaXRoZXIgdGhlIGRyaXZlciYjMzk7cyB0ZWFyZG93biBzZXF1ZW5jZSBvciB3aGVuIHRoZSBpbml0aWFsaXphdGlvbiBoYXMgZmFpbGVkLiBBbGFybSBiZWxscyBhcmUgYWxyZWFkeSByaW5naW5nIGEgbGl0dGxlLCBiZWNhdXNlIHRob3NlIGFyZSAqY2xlYW51cCogcGF0aHMsIG5vdCBvcGVyYXRpb25hbCBvbmVzLgoKVGhlbiBJIGdldCB0byB0aGUgc3BlY2lmaWNzLiBUaGlzIGlzIGEgKnZlbmRvci1zcGVjaWZpYyBQQ0llIGRyaXZlciouIFRoYXQmIzM5O3MgdGhlIGtleS4gQW5kIGl0JiMzOTtzIGZvciBoYXJkd2FyZSB0aGF0IGlzbiYjMzk7dCBnb2luZyB0byBiZSBlbXVsYXRlZCBpbiB5b3VyIHN0YW5kYXJkIHZpcnR1YWxpemVkIGVudmlyb25tZW50cy4gTm8gZGljZSBpbiBRRU1VLCBubyBjaGFuY2UgaW4gR0NFLiBUaGUgaW5zdHJ1Y3Rpb25zIGFyZSBwcmV0dHkgY2xlYXI6IGlmIHRoZSBwYXRjaCBpcyBsaW1pdGVkIHRvIGNvZGUgZGVhbGluZyB3aXRoIHZlbmRvci1zcGVjaWZpYyBQQ0llIHN3aXRjaCwgU21hcnROSUMsIG9yIEdQVSBkcml2ZXJzIHRoYXQgKm5lZWQqIGFjdHVhbCBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlLCB0aGVuIGl0JiMzOTtzIGEgbm8tZ28gZm9yIGZ1enppbmcuIEl0IGxpc3RzIHNvbWUgc3BlY2lmaWMgZXhhbXBsZXMgLSBhbmQgbWluZSBpcyBqdXN0IGxpa2UgdGhvc2UuCgpHaXZlbiBhbGwgb2YgdGhhdCwgaXQmIzM5O3MgYSBzdHJhaWdodGZvcndhcmQgZGVjaXNpb24uIFRoaXMgcGF0Y2ggaXMgdW5lcXVpdm9jYWxseSAqbm90KiB3b3J0aCB0aGUgdGltZSBhbmQgcmVzb3VyY2VzIHRvIGF0dGVtcHQgZnV6emluZy4gSSYjMzk7bSByZXR1cm5pbmcgYFdvcnRoRnV6emluZz1mYWxzZWAuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTIvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzE1IDEyOjQ4PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogW10sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIGJyY21zbWFjIGRyaXZlciwgd2hpY2ggaXMgYSB2ZW5kb3Itc3BlY2lmaWMgUENJZSB3aXJlbGVzcyBkcml2ZXIgZm9yIEJyb2FkY29tIGhhcmR3YXJlLiBUaGlzIGhhcmR3YXJlIGlzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIG9yIEdDRSBlbnZpcm9ubWVudHMsIG1ha2luZyB0aGUgY29kZSB1bnJlYWNoYWJsZSBkdXJpbmcgZnV6emluZy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBicmNtc21hYyBkcml2ZXIsIHdoaWNoIGlzIGEgdmVuZG9yLXNwZWNpZmljIFBDSWUgd2lyZWxlc3MgZHJpdmVyIGZvciBCcm9hZGNvbSBoYXJkd2FyZS4gVGhpcyBoYXJkd2FyZSBpcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVSBvciBHQ0UgZW52aXJvbm1lbnRzLCBtYWtpbmcgdGhlIGNvZGUgdW5yZWFjaGFibGUgZHVyaW5nIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEzLzE8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xNSAxMjo0ODwvdGQ+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+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDgtMTVUMTI6NDg6MTQuMDc1MTc1MDM4WiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjI2NzQ5MTA5MzMsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiS01TQU5SZWFzb25pbmdcIjogXCJcIixcbiAgXCJOZWVkc0tNU0FOXCI6IGZhbHNlLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgYnJjbXNtYWMgZHJpdmVyLCB3aGljaCBpcyBhIHZlbmRvci1zcGVjaWZpYyBQQ0llIHdpcmVsZXNzIGRyaXZlciBmb3IgQnJvYWRjb20gaGFyZHdhcmUuIFRoaXMgaGFyZHdhcmUgaXMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgb3IgR0NFIGVudmlyb25tZW50cywgbWFraW5nIHRoZSBjb2RlIHVucmVhY2hhYmxlIGR1cmluZyBmdXp6aW5nLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMTVUMTI6NDg6MTQuMDc1MTc5OTM4WiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo0NDYxNzY5MjUsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCA0NGQzYTU1ZWY5MGQ2ZjhjZTdkYTgzODRmNTA2YWU2ZTZlZWM4OGQxXFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBTYXQgQXVnIDE1IDEyOjQ4OjEzIDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWM4MDIxMV9pZi5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL21hYzgwMjExX2lmLmNcXG5pbmRleCA2MjU1ZDY3M2QyZDNlLi5jMWEyMzE4ZDdlYTZmIDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWM4MDIxMV9pZi5jXFxuKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL21hYzgwMjExX2lmLmNcXG5AQCAtMTU3MSw2ICsxNTcxLDEwIEBAIHZvaWQgYnJjbXNfZnJlZV90aW1lcihzdHJ1Y3QgYnJjbXNfdGltZXIgKnQpXFxuIFxcbiBcXHQvKiBkZWxldGUgdGhlIHRpbWVyIGluIGNhc2UgaXQgaXMgYWN0aXZlICovXFxuIFxcdGJyY21zX2RlbF90aW1lcih0KTtcXG4rXFx0LyogRW5zdXJlIHRoZSBjYWxsYmFjayBoYXMgZmluaXNoZWQgYmVmb3JlIGZyZWVpbmcgdGhlIHRpbWVyXFxuK1xcdCAqIHN0cnVjdHVyZSwgc2luY2UgYnJjbXNfZGVsX3RpbWVyKCkgdXNlcyBub24tc3luY2hyb25vdXMgY2FuY2VsLlxcbitcXHQgKi9cXG4rXFx0Y2FuY2VsX2RlbGF5ZWRfd29ya19zeW5jKFxcdTAwMjZ0LVxcdTAwM2VkbHlfd3JrKTtcXG4gXFxuIFxcdGlmICh3bC1cXHUwMDNldGltZXJzID09IHQpIHtcXG4gXFx0XFx0d2wtXFx1MDAzZXRpbWVycyA9IHdsLVxcdTAwM2V0aW1lcnMtXFx1MDAzZW5leHQ7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTE1VDEyOjQ4OjE0LjUyMTg5NDA4MVoiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImJlc3QtZXhwZW5zaXZlIiwiRHVyYXRpb24iOjIyMjI4MTczOTM4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgYnJjbXNtYWMgZHJpdmVyLCB3aGljaCBpcyBhIHZlbmRvci1zcGVjaWZpYyBQQ0llIHdpcmVsZXNzIGRyaXZlciBmb3IgQnJvYWRjb20gaGFyZHdhcmUuIFRoaXMgaGFyZHdhcmUgaXMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgb3IgR0NFIGVudmlyb25tZW50cywgbWFraW5nIHRoZSBjb2RlIHVucmVhY2hhYmxlIGR1cmluZyBmdXp6aW5nLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuICBldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG4tIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLFxuICBpb25pYywgYW1kZ3B1KSB0aGF0IHJlcXVpcmUgcGh5c2ljYWwgUENJZSBoYXJkd2FyZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS5cbi0gRHJpdmVyIC5yZW1vdmUsIC5zaHV0ZG93biwgb3IgcGNpX3VucmVnaXN0ZXJfZHJpdmVyIHRlYXJkb3duIGNhbGxiYWNrcyAoZS5nLiwgaWdiX3JlbW92ZSlcbiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4gICBQcmVmZXIgbm9uLXN0YXRpYywgbm9uLWlubGluZWQgQVBJIGVudHJ5cG9pbnQgZnVuY3Rpb25zIG92ZXIgaW50ZXJuYWwgc3RhdGljIGhlbHBlciBmdW5jdGlvbnNcbiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBBbHNvIGNoZWNrIFwiZGVwZW5kcyBvblwiIGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlnc1xuICAgbmVlZGVkIGZvciBLYnVpbGQgdG8gY29tcGlsZSB0aGUgY29kZSBzdGF0aWNhbGx5IGludG8gdm1saW51eC4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzXG4gICBvdXRwdXQgYXJyYXksIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgNDRkM2E1NWVmOTBkNmY4Y2U3ZGE4Mzg0ZjUwNmFlNmU2ZWVjODhkMVxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBTYXQgQXVnIDE1IDEyOjQ4OjEzIDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL21hYzgwMjExX2lmLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFjODAyMTFfaWYuY1xuaW5kZXggNjI1NWQ2NzNkMmQzZS4uYzFhMjMxOGQ3ZWE2ZiAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWM4MDIxMV9pZi5jXG4rKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFjODAyMTFfaWYuY1xuQEAgLTE1NzEsNiArMTU3MSwxMCBAQCB2b2lkIGJyY21zX2ZyZWVfdGltZXIoc3RydWN0IGJyY21zX3RpbWVyICp0KVxuIFxuIFx0LyogZGVsZXRlIHRoZSB0aW1lciBpbiBjYXNlIGl0IGlzIGFjdGl2ZSAqL1xuIFx0YnJjbXNfZGVsX3RpbWVyKHQpO1xuK1x0LyogRW5zdXJlIHRoZSBjYWxsYmFjayBoYXMgZmluaXNoZWQgYmVmb3JlIGZyZWVpbmcgdGhlIHRpbWVyXG4rXHQgKiBzdHJ1Y3R1cmUsIHNpbmNlIGJyY21zX2RlbF90aW1lcigpIHVzZXMgbm9uLXN5bmNocm9ub3VzIGNhbmNlbC5cbitcdCAqL1xuK1x0Y2FuY2VsX2RlbGF5ZWRfd29ya19zeW5jKFx1MDAyNnQtXHUwMDNlZGx5X3dyayk7XG4gXG4gXHRpZiAod2wtXHUwMDNldGltZXJzID09IHQpIHtcbiBcdFx0d2wtXHUwMDNldGltZXJzID0gd2wtXHUwMDNldGltZXJzLVx1MDAzZW5leHQ7XG4iLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0xNVQxMjo0ODoxNC41MjE4OTU0MzJaIiwiU2VxIjozLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0OTUzNDg4Mzc4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyBhIEJyb2FkY29tIFdpcmVsZXNzIERyaXZlciBQYXRjaCoqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IHRoaXMgcGF0Y2ggYW5kIGl0J3MgbW9kaWZ5aW5nIGBicmNtc19mcmVlX3RpbWVyYCB3aXRoaW4gYGRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWM4MDIxMV9pZi5jYC4gVGhlIGNvcmUgb2YgdGhlIGNoYW5nZSBzZWVtcyBzdHJhaWdodGZvcndhcmQ6IGEgYGNhbmNlbF9kZWxheWVkX3dvcmtfc3luYyhcdTAwMjZ0LVx1MDAzZWRseV93cmspO2AgY2FsbCBpcyBiZWluZyBhZGRlZC4gVGhpcyBpcyBnb29kIHByYWN0aWNlLiBJdCdzIGVzc2VudGlhbGx5IGEgc3luY2hyb25pemF0aW9uIG1lY2hhbmlzbSB0byBndWFyYW50ZWUgdGhlIGNhbGxiYWNrIGFzc29jaWF0ZWQgd2l0aCB0aGF0IHRpbWVyIGhhcyBjb21wbGV0ZWQgaXRzIGV4ZWN1dGlvbiBiZWZvcmUgd2UgZnJlZSB0aGUgdGltZXIgc3RydWN0dXJlIGl0c2VsZi4gUHJldmVudGluZyBhIHVzZS1hZnRlci1mcmVlIHNpdHVhdGlvbiwgbW9zdCBsaWtlbHkuIEZ1bmN0aW9uYWxseSwgdGhpcyBpcyB3aXRoaW4gdGhlIGBicmNtc21hY2AgZHJpdmVyLlxuXG5Ob3csIGBicmNtc21hY2AuLi4gdGhhdCByaW5ncyBhIGJlbGwuIEFoIHllcywgaXQncyBhIGRyaXZlciBzcGVjaWZpY2FsbHkgZm9yIEJyb2FkY29tIFBDSWUgd2lyZWxlc3MgY2FyZHMuIEdpdmVuIHRoYXQgaXQncyBhIFBDSWUgZHJpdmVyLCBJIGltbWVkaWF0ZWx5IHN0YXJ0IHRoaW5raW5nIGFib3V0IHRlc3RpbmcgcG9zc2liaWxpdGllcy4gQ2FuIEkgZ2V0IHRoaXMgcnVubmluZyBpbiBRRU1VPyBUaGF0J3MgdGhlIGlkZWFsIHNjZW5hcmlvIGZvciBxdWlja2x5IHZhbGlkYXRpbmcgdGhpcyBraW5kIG9mIHBhdGNoLiBOZWVkIHRvIGNvbmZpcm0gdGhhdCBpdCAqaXMqIGluZGVlZCBhIFBDSWUgZHJpdmVyIGFuZCB0aGF0IEkgaGF2ZW4ndCBtaXhlZCBpdCB1cCB3aXRoIHNvbWV0aGluZyBlbHNlLiBJdCBjaGVja3Mgb3V0LCBgYnJjbXNtYWNgIGlzIFBDSWUuXG5cbk9rYXksIEknbGwgbmVlZCB0byBkaWcgZGVlcGVyIGludG8gdGhlIGNvZGUgdG8gdW5kZXJzdGFuZCB0aGUgY29udGV4dCBmdWxseS4gSSdsbCBuZWVkIHRvIGdvIHRocm91Z2ggYGRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWM4MDIxMV9pZi5jYCBhbmQgcHJvYmFibHkgYWxzbyBwb2tlIGFyb3VuZCBgZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL21haW4uY2AgdG8gc2VlIGhvdyB0aGVzZSB0aW1lcnMgYW5kIHdvcmsgcXVldWVzIGFyZSB1c2VkLiBHb3R0YSB1bmRlcnN0YW5kIHRoZSBjb21wbGV0ZSBjb250cm9sIGZsb3csIGJ1dCB0aGUgcHJlbWlzZSBpcyBzb3VuZC4gVGhpcyBpcyBhIHNvbGlkIHNhZmV0eSBuZXQgYWdhaW5zdCBwb3RlbnRpYWwgaXNzdWVzLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyMTAwLCJPdXRwdXRUb2tlbnMiOjQ0LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MjE0LCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMTVUMTI6NDg6MTkuNDc1Mzg2MzE5WiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjUxNzk3MDY1LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImJyY21zbWFjXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL01ha2VmaWxlPTE4PWNjZmxhZ3MteSA6PSBcXFxcXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvTWFrZWZpbGUtMjItXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL01ha2VmaWxlOjIzOmJyY21zbWFjLXkgOj0gXFxcXFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9NYWtlZmlsZS0yNC1cXHRtYWM4MDIxMV9pZi5vIFxcXFxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9NYWtlZmlsZS00NC1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvTWFrZWZpbGU6NDU6YnJjbXNtYWMtJChDT05GSUdfQlJDTVNNQUNfTEVEUykgKz0gbGVkLm9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvTWFrZWZpbGUtNDYtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL01ha2VmaWxlOjQ3Om9iai0kKENPTkZJR19CUkNNU01BQylcXHQrPSBicmNtc21hYy5vXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvYnJjbXNfdHJhY2VfYnJjbXNtYWMuaC0yMi0jdW5kZWYgVFJBQ0VfU1lTVEVNXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL2JyY21zX3RyYWNlX2JyY21zbWFjLmg6MjM6I2RlZmluZSBUUkFDRV9TWVNURU0gYnJjbXNtYWNcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvYnJjbXNfdHJhY2VfYnJjbXNtYWMuaC0yNC1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9icmNtc190cmFjZV9icmNtc21hYy5oPTczPVRSQUNFX0VWRU5UKGJyY21zX21hY2ludHN0YXR1cyxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9icmNtc190cmFjZV9icmNtc21hYy5oLTk4LSN1bmRlZiBUUkFDRV9JTkNMVURFX0ZJTEVcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvYnJjbXNfdHJhY2VfYnJjbXNtYWMuaDo5OTojZGVmaW5lIFRSQUNFX0lOQ0xVREVfRklMRSBicmNtc190cmFjZV9icmNtc21hY1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9icmNtc190cmFjZV9icmNtc21hYy5oLTEwMC0jaW5jbHVkZSBcXHUwMDNjdHJhY2UvZGVmaW5lX3RyYWNlLmhcXHUwMDNlXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvYnJjbXNfdHJhY2VfYnJjbXNtYWNfbXNnLmgtMjItI3VuZGVmIFRSQUNFX1NZU1RFTVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9icmNtc190cmFjZV9icmNtc21hY19tc2cuaDoyMzojZGVmaW5lIFRSQUNFX1NZU1RFTSBicmNtc21hY19tc2dcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvYnJjbXNfdHJhY2VfYnJjbXNtYWNfbXNnLmgtMjQtXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvYnJjbXNfdHJhY2VfYnJjbXNtYWNfbXNnLmg9NjQ9VFJBQ0VfRVZFTlQoYnJjbXNfZGJnLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL2JyY21zX3RyYWNlX2JyY21zbWFjX21zZy5oLTg4LSN1bmRlZiBUUkFDRV9JTkNMVURFX0ZJTEVcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvYnJjbXNfdHJhY2VfYnJjbXNtYWNfbXNnLmg6ODk6I2RlZmluZSBUUkFDRV9JTkNMVURFX0ZJTEUgYnJjbXNfdHJhY2VfYnJjbXNtYWNfbXNnXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL2JyY21zX3RyYWNlX2JyY21zbWFjX21zZy5oLTkwLSNpbmNsdWRlIFxcdTAwM2N0cmFjZS9kZWZpbmVfdHJhY2UuaFxcdTAwM2VcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9icmNtc190cmFjZV9icmNtc21hY190eC5oLTIyLSN1bmRlZiBUUkFDRV9TWVNURU1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvYnJjbXNfdHJhY2VfYnJjbXNtYWNfdHguaDoyMzojZGVmaW5lIFRSQUNFX1NZU1RFTSBicmNtc21hY190eFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9icmNtc190cmFjZV9icmNtc21hY190eC5oLTI0LVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL2JyY21zX3RyYWNlX2JyY21zbWFjX3R4Lmg9NzM9VFJBQ0VfRVZFTlQoYnJjbXNfYW1wZHVfc2Vzc2lvbixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9icmNtc190cmFjZV9icmNtc21hY190eC5oLTEwNi0jdW5kZWYgVFJBQ0VfSU5DTFVERV9GSUxFXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL2JyY21zX3RyYWNlX2JyY21zbWFjX3R4Lmg6MTA3OiNkZWZpbmUgVFJBQ0VfSU5DTFVERV9GSUxFIGJyY21zX3RyYWNlX2JyY21zbWFjX3R4XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL2JyY21zX3RyYWNlX2JyY21zbWFjX3R4LmgtMTA4LSNpbmNsdWRlIFxcdTAwM2N0cmFjZS9kZWZpbmVfdHJhY2UuaFxcdTAwM2VcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9icmNtc190cmFjZV9ldmVudHMuaD0zMz1zdGF0aWMgaW5saW5lIHZvaWQgdHJhY2VfICMjIG5hbWUocHJvdG8pIHt9XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvYnJjbXNfdHJhY2VfZXZlbnRzLmgtMzUtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL2JyY21zX3RyYWNlX2V2ZW50cy5oOjM2OiNpbmNsdWRlIFxcXCJicmNtc190cmFjZV9icmNtc21hYy5oXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9icmNtc190cmFjZV9ldmVudHMuaDozNzojaW5jbHVkZSBcXFwiYnJjbXNfdHJhY2VfYnJjbXNtYWNfdHguaFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvYnJjbXNfdHJhY2VfZXZlbnRzLmg6Mzg6I2luY2x1ZGUgXFxcImJyY21zX3RyYWNlX2JyY21zbWFjX21zZy5oXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9icmNtc190cmFjZV9ldmVudHMuaC0zOS1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9sZWQuYz01MT1pbnQgYnJjbXNfbGVkX3JlZ2lzdGVyKHN0cnVjdCBicmNtc19pbmZvICp3bClcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9sZWQuYy05My1cXHRzbnByaW50Zih3bC1cXHUwMDNlcmFkaW9fbGVkLm5hbWUsIHNpemVvZih3bC1cXHUwMDNlcmFkaW9fbGVkLm5hbWUpLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9sZWQuYzo5NDpcXHRcXHQgXFxcImJyY21zbWFjLSVzOnJhZGlvXFxcIiwgd2lwaHlfbmFtZSh3bC1cXHUwMDNld2lwaHkpKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbGVkLmMtOTUtXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFjODAyMTFfaWYuYz0xMjkzPXN0YXRpYyBzdHJ1Y3QgYmNtYV9kcml2ZXIgYnJjbXNfYmNtYV9kcml2ZXIgPSB7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFjODAyMTFfaWYuYy0xMzAyLS8qXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL21hYzgwMjExX2lmLmM6MTMwMzogKiBUaGlzIGlzIHRoZSBtYWluIGVudHJ5IHBvaW50IGZvciB0aGUgYnJjbXNtYWMgZHJpdmVyLlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWM4MDIxMV9pZi5jLTEzMDQtICpcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWM4MDIxMV9pZi5jPTEzMjA9c3RhdGljIGludCBfX2luaXQgYnJjbXNfbW9kdWxlX2luaXQodm9pZClcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWM4MDIxMV9pZi5jLTEzMjktLypcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFjODAyMTFfaWYuYzoxMzMwOiAqIFRoaXMgZnVuY3Rpb24gdW5sb2FkcyB0aGUgYnJjbXNtYWMgZHJpdmVyIGZyb20gdGhlIHN5c3RlbS5cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFjODAyMTFfaWYuYy0xMzMxLSAqXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL21hYzgwMjExX2lmLmM6MTMzMjogKiBUaGlzIGZ1bmN0aW9uIHVuY29uZGl0aW9uYWxseSB1bmxvYWRzIHRoZSBicmNtc21hYyBkcml2ZXIgbW9kdWxlIGZyb20gdGhlXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL21hYzgwMjExX2lmLmMtMTMzMy0gKiBzeXN0ZW0uXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTE1VDEyOjQ4OjE5LjUyNzE4ODA0NFoiLCJTZXEiOjUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjM4MTE0ODg3NTUsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqSW52ZXN0aWdhdGluZyB0aGUgYGJyY21zbWFjYCBEcml2ZXIgYW5kIEJDTUEgQnVzIENvbXBhdGliaWxpdHkgd2l0aCBRRU1VKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgdGhpcyBgYnJjbXNtYWNgIGRyaXZlciwgYW5kIHRoZSBjb2RlIHNheXMgaXQncyBhIEJDTUEgZHJpdmVyIOKAkyBzcGVjaWZpY2FsbHksIGl0J3MgdXRpbGl6aW5nIHRoZSBgYmNtYV9kcml2ZXJgIHN0cnVjdHVyZS4gUmlnaHQsIEJDTUEgaXMgQnJvYWRjb20ncyBidXMgYXJjaGl0ZWN0dXJlLCByaWdodD8gTm93IHRoZSBxdWVzdGlvbiBpcywgY2FuIEkgZXZlbiBnZXQgdGhpcyB0aGluZyB0byB0ZXN0IHByb3Blcmx5IGluIFFFTVU/IE15IGltbWVkaWF0ZSB0aG91Z2h0IGlzLCBnZW5lcmFsbHksIEJDTUEgZGV2aWNlcyBhcmUgKm5vdCogdGhlIGVhc2llc3QgdGhpbmdzIHRvIGVtdWxhdGUuIFFFTVUncyBzdXBwb3J0IGNhbiBiZSBzcG90dHksIGFuZCBJJ20gcHJldHR5IHN1cmUgSSBoYXZlbid0IHNlZW4gYW55IGVtdWxhdGVkIEJDTUEgaW1wbGVtZW50YXRpb25zIHRoYXQgYXJlIHBhcnRpY3VsYXJseSByb2J1c3QuIFNvLCBiZWZvcmUgSSBnbyBkb3duIGEgcmFiYml0IGhvbGUgdHJ5aW5nIHRvIGVtdWxhdGUgYSBidXMgdGhhdCdzIHByb2JhYmx5IG5vdCBzdXBwb3J0ZWQsIEkgbmVlZCB0byBmaWd1cmUgb3V0IGlmIHRoaXMgYGJyY21zbWFjYCBkcml2ZXIgZXZlbiAqbmVlZHMqIGEgQkNNQSBidXMuIEkgbmVlZCB0byBxdWlja2x5IGNoZWNrIGlmIHRoaXMgZHJpdmVyIGhhcyBhbnkgZGVwZW5kZW5jaWVzIG9uIFBDSSBiZWNhdXNlIHRoYXQgKmlzKiBmYWlybHkgY29tbW9uIGZvciB3aXJlbGVzcyBkZXZpY2VzLiBJZiBub3QsIG1heWJlIHRoZXJlIGlzIGFub3RoZXIgcG9zc2liaWxpdHkuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQ5MjUsIk91dHB1dFRva2VucyI6NDQsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo4MSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0xNVQxMjo0ODoyMy4zMzg2ODQwMjlaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NDc1NzA1NjUsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiY29uZmlnIEJSQ01TTUFDXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9LY29uZmlnXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9LY29uZmlnPTI9Y29uZmlnIEJSQ01VVElMXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvS2NvbmZpZy00LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9LY29uZmlnOjU6Y29uZmlnIEJSQ01TTUFDXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL0tjb25maWctNi1cXHR0cmlzdGF0ZSBcXFwiQnJvYWRjb20gSUVFRTgwMi4xMW4gUENJZSBTb2Z0TUFDIFdMQU4gZHJpdmVyXFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL0tjb25maWctMTctXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL0tjb25maWc6MTg6Y29uZmlnIEJSQ01TTUFDX0xFRFNcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvS2NvbmZpZy0xOS1cXHRkZWZfYm9vbCBCUkNNU01BQyBcXHUwMDI2XFx1MDAyNiBCQ01BX0RSSVZFUl9HUElPIFxcdTAwMjZcXHUwMDI2IE1BQzgwMjExX0xFRFNcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMTVUMTI6NDg6MjMuMzg2MjYwMTE0WiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6Mzc2NDYxMzM0MCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIEJyb2FkY29tIFdMQU4gRHJpdmVyKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgdGhpcyBkcml2ZXIsIFwiQnJvYWRjb20gSUVFRTgwMi4xMW4gUENJZSBTb2Z0TUFDIFdMQU4gZHJpdmVyLlwiIFJpZ2h0IGF3YXksIHRoZSBuYW1lIGdpdmVzIG1lIHNvbWUga2V5IGluZm9ybWF0aW9uOiBpdCdzIEJyb2FkY29tLCBkZWFscyB3aXRoIDgwMi4xMW4sIHVzZXMgUENJZSwgYW5kIGlzIGEgU29mdE1BQy4gRXhjZWxsZW50LiBOb3csIEkgbmVlZCB0byB1bmRlcnN0YW5kIGl0cyByZWxhdGlvbnNoaXAgdG8gdGhlIHJlc3Qgb2YgdGhlIHdpcmVsZXNzIHN1YnN5c3RlbS4gVGhlIGRlc2NyaXB0aW9uIG1lbnRpb25zIGRlcGVuZGVuY2llcyBvbiBgTUFDODAyMTFgLCBgQkNNQWAsIGFuZCBgUENJYC4gVGhhdCdzIG5vdCBzdXJwcmlzaW5nOyBJIHdhcyBleHBlY3RpbmcgYE1BQzgwMjExYCBmb3IgdGhlIFNvZnRNQUMgY29tcG9uZW50LCBhbmQgYFBDSWAgdG8gaGFuZGxlIHRoZSBQQ0llIGludGVyZmFjZS4gYEJDTUFgLi4uIHRoYXTigJlzIEJyb2FkY29tJ3Mgc3BlY2lmaWMgY29yZSBhcmNoaXRlY3R1cmUsIHdoaWNoIG1ha2VzIHBlcmZlY3Qgc2Vuc2UuXG5cbk15IG5leHQgc3RlcCBpcyB0byBkaXZlIGRlZXBlciBpbnRvIHRoZSBkcml2ZXIncyBjb25maWd1cmF0aW9uLCBzcGVjaWZpY2FsbHkgdGhlIGBLY29uZmlnYCBmaWxlLiBJJ2xsIG5lZWQgdG8gY29uZmlybSB0aGVzZSBkZXBlbmRlbmNpZXMgYW5kIHNlZSBpZiB0aGVyZSBhcmUgYW55IG90aGVyIHN1YnRsZSByZWxhdGlvbnNoaXBzIG9yIG9wdGlvbnMgZGVmaW5lZCB3aXRoaW4gdGhlIGRyaXZlcidzIG93biBjb25maWd1cmF0aW9uIHNlY3Rpb24uIEknbGwgaGVhZCBvdmVyIHRvIGBkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvS2NvbmZpZ2AgdG8gZG8ganVzdCB0aGF0LiBMZXQncyBzZWUgd2hhdCBmdXJ0aGVyIGRldGFpbHMgYWJvdXQgdGhpcyBkcml2ZXIgYXJlIHJldmVhbGVkIGluIGl0cyBjb25maWcuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjU1MjAsIk91dHB1dFRva2VucyI6NDUsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo2OSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0xNVQxMjo0ODoyNy4xNTA4NzU1MzRaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJyZWFkLWZpbGUiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo2NjYxMCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkZpbGVcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvS2NvbmZpZ1wiLFxuICBcIkZpcnN0TGluZVwiOiAxLFxuICBcIkxpbmVDb3VudFwiOiAyMFxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiQ29udGVudHNcIjogXCIgICAxOlxcdCMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seVxcbiAgIDI6XFx0Y29uZmlnIEJSQ01VVElMXFxuICAgMzpcXHRcXHR0cmlzdGF0ZVxcbiAgIDQ6XFx0XFxuICAgNTpcXHRjb25maWcgQlJDTVNNQUNcXG4gICA2OlxcdFxcdHRyaXN0YXRlIFxcXCJCcm9hZGNvbSBJRUVFODAyLjExbiBQQ0llIFNvZnRNQUMgV0xBTiBkcml2ZXJcXFwiXFxuICAgNzpcXHRcXHRkZXBlbmRzIG9uIE1BQzgwMjExXFxuICAgODpcXHRcXHRkZXBlbmRzIG9uIEJDTUFfUE9TU0lCTEVcXG4gICA5OlxcdFxcdHNlbGVjdCBCQ01BXFxuICAxMDpcXHRcXHRzZWxlY3QgQlJDTVVUSUxcXG4gIDExOlxcdFxcdHNlbGVjdCBGV19MT0FERVJcXG4gIDEyOlxcdFxcdHNlbGVjdCBDT1JESUNcXG4gIDEzOlxcdFxcdGhlbHBcXG4gIDE0OlxcdFxcdCAgVGhpcyBtb2R1bGUgYWRkcyBzdXBwb3J0IGZvciBQQ0llIHdpcmVsZXNzIGFkYXB0ZXJzIGJhc2VkIG9uIEJyb2FkY29tXFxuICAxNTpcXHRcXHQgIElFRUU4MDIuMTFuIFNvZnRNQUMgY2hpcHNldHMuIElmIHlvdSBjaG9vc2UgdG8gYnVpbGQgYSBtb2R1bGUsIHRoZVxcbiAgMTY6XFx0XFx0ICBkcml2ZXIgd2lsbCBiZSBjYWxsZWQgYnJjbXNtYWMua28uXFxuICAxNzpcXHRcXG4gIDE4OlxcdGNvbmZpZyBCUkNNU01BQ19MRURTXFxuICAxOTpcXHRcXHRkZWZfYm9vbCBCUkNNU01BQyBcXHUwMDI2XFx1MDAyNiBCQ01BX0RSSVZFUl9HUElPIFxcdTAwMjZcXHUwMDI2IE1BQzgwMjExX0xFRFNcXG4gIDIwOlxcdFxcdGhlbHBcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMTVUMTI6NDg6MjcuMTUwOTQzMTk0WiIsIlNlcSI6OSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDU2NDEzMjAyNywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipQQ0llIFdpcmVsZXNzIEFkYXB0ZXIgRHJpdmVyIFRlc3RpbmcgaW4gUUVNVSoqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IHRoaXMgUENJZSB3aXJlbGVzcyBhZGFwdGVyIGRyaXZlciwgYW5kIG15IGZpcnN0IHRob3VnaHQgaXMsIFwiQ2FuIEkgYWN0dWFsbHkgdGVzdCB0aGlzIGluIFFFTVU/XCIgVGhlIGRvY3VtZW50YXRpb24gdGhyb3dzIGEgd3JlbmNoIGluIHRoaW5ncywgc2F5aW5nIHRoYXQgdmVuZG9yLXNwZWNpZmljIGRyaXZlcnMgZm9yIFBDSWUgc3dpdGNoZXMsIFNtYXJ0TklDcywgb3IgR1BVc+KAlGxpa2UgdGhvc2UgZm9yIG1seHN3LCBwZHNfY29yZSwgcWVkLCBpb25pYywgYW1kZ3B14oCUYXJlIHRoZSBwcm9ibGVtLiBUaGV5IHJlcXVpcmUgcGh5c2ljYWwgUENJZSBjYXJkcyB0aGF0IGFyZW4ndCBwcm9wZXJseSBlbXVsYXRlZCBieSB0aGUgc3RhbmRhcmQgUUVNVSBzZXR1cC4gU28sIGlzIGBicmNtc21hY2AsIHRoZSBkcml2ZXIgaW4gcXVlc3Rpb24gaGVyZSwgb25lIG9mIHRob3NlPyBObywgdGhlIG5vdGVzIGFyZSBjbGVhcjogUUVNVSBkb2Vzbid0IGVtdWxhdGUgQnJvYWRjb20gUENJZSB3aXJlbGVzcyBjYXJkcy4gRGFtbi5cblxuQnV0IHdhaXQsIGFtIEkgc3R1Y2s/IENhbiBJIHNvbWVob3cgcmVhY2ggaXQgdGhyb3VnaCBzb2Z0d2FyZSBlbXVsYXRpb24/IEkgcmVtZW1iZXIgYG1hYzgwMjExX2h3c2ltYCB3aGljaCBlbXVsYXRlcyB0aGUgbWFjODAyMTEgc3RhY2suICBCdXQgdGhhdCB3b24ndCBoZWxwOyBpdCdzIHRoZSBzcGVjaWZpYyBCcm9hZGNvbSBQQ0llIGhhcmR3YXJlIHRoYXQncyBtaXNzaW5nLCBhbmQgYG1hYzgwMjExX2h3c2ltYCBkb2Vzbid0IHByb3ZpZGUgdGhhdC5cblxuT2theSwgbGV0J3MgdGFrZSBhIGRpZmZlcmVudCBhcHByb2FjaC4gVGhlIGZ1bmN0aW9uIGBicmNtc19mcmVlX3RpbWVyYCBpcyBwYXJ0IG9mIHRoZSBgYnJjbXNtYWNgIGRyaXZlci4gSWYgSSBjYW4ndCBlbXVsYXRlIHRoZSBoYXJkd2FyZSwgbWF5YmUgSSBjYW4gZmluZCBvdGhlciBwYXRocyB0byB0ZXN0IG9yIGRlYnVnIHRoaXMgZHJpdmVyLiBJIG5lZWQgdG8gdW5kZXJzdGFuZCBob3cgYW5kIHdoZXJlIHRoYXQgZnVuY3Rpb24gaXMgdXNlZC4gU28sIGxldCdzIGZpbmQgYWxsIHRoZSBjYWxsIHNpdGVzIG9mIGBicmNtc19mcmVlX3RpbWVyYC5cblxuXG4iLCJJbnB1dFRva2VucyI6NjE4NCwiT3V0cHV0VG9rZW5zIjo0NywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjE5MCwiVG9vbENhbGxzIjpbInJlYWQtZmlsZSJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTE1VDEyOjQ4OjMxLjcxNTA4NjQ2MVoiLCJTZXEiOjEwLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NDQyNzkxMzYsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiYnJjbXNfZnJlZV90aW1lclwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWM4MDIxMV9pZi5jPTE1NTE9Ym9vbCBicmNtc19kZWxfdGltZXIoc3RydWN0IGJyY21zX3RpbWVyICp0KVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL21hYzgwMjExX2lmLmMtMTU2Ni0gKi9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFjODAyMTFfaWYuYzoxNTY3OnZvaWQgYnJjbXNfZnJlZV90aW1lcihzdHJ1Y3QgYnJjbXNfdGltZXIgKnQpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL21hYzgwMjExX2lmLmMtMTU2OC17XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFjODAyMTFfaWYuaD0xMDM9c3RydWN0IGJyY21zX3RpbWVyICpicmNtc19pbml0X3RpbWVyKHN0cnVjdCBicmNtc19pbmZvICp3bCxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWM4MDIxMV9pZi5oLTEwNS1cXHRcXHRcXHRcXHQgICAgIGNvbnN0IGNoYXIgKm5hbWUpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWM4MDIxMV9pZi5oOjEwNjp2b2lkIGJyY21zX2ZyZWVfdGltZXIoc3RydWN0IGJyY21zX3RpbWVyICp0aW1lcik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL21hYzgwMjExX2lmLmgtMTA3LXZvaWQgYnJjbXNfYWRkX3RpbWVyKHN0cnVjdCBicmNtc190aW1lciAqdGltZXIsIHVpbnQgbXMsIGludCBwZXJpb2RpYyk7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFpbi5jPTQ3NDY9c3RhdGljIHZvaWQgYnJjbXNfY190aW1lcnNfZGVpbml0KHN0cnVjdCBicmNtc19jX2luZm8gKndsYylcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWluLmMtNDc0OS1cXHRpZiAod2xjLVxcdTAwM2V3ZHRpbWVyKSB7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL21haW4uYzo0NzUwOlxcdFxcdGJyY21zX2ZyZWVfdGltZXIod2xjLVxcdTAwM2V3ZHRpbWVyKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFpbi5jLTQ3NTEtXFx0XFx0d2xjLVxcdTAwM2V3ZHRpbWVyID0gTlVMTDtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWluLmMtNDc1My1cXHRpZiAod2xjLVxcdTAwM2VyYWRpb190aW1lcikge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWluLmM6NDc1NDpcXHRcXHRicmNtc19mcmVlX3RpbWVyKHdsYy1cXHUwMDNlcmFkaW9fdGltZXIpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWluLmMtNDc1NS1cXHRcXHR3bGMtXFx1MDAzZXJhZGlvX3RpbWVyID0gTlVMTDtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9waHlfc2hpbS5jPTY3PXZvaWQgd2xhcGlfZnJlZV90aW1lcihzdHJ1Y3Qgd2xhcGlfdGltZXIgKnQpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL3BoeV9zaGltLmMtNjgte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9waHlfc2hpbS5jOjY5OlxcdGJyY21zX2ZyZWVfdGltZXIoKHN0cnVjdCBicmNtc190aW1lciAqKXQpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9waHlfc2hpbS5jLTcwLX1cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMTVUMTI6NDg6MzEuNzU5MzY5NjA3WiIsIlNlcSI6MTEsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjQ5OTA2NTY5NzQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqTXkgQXNzZXNzbWVudDogTm90IFdvcnRoIEZ1enppbmcqKlxuXG5Pa2F5LCBzbyBJJ3ZlIGdvdCB0aGlzIGBicmNtc19mcmVlX3RpbWVyYCBmdW5jdGlvbi4gVGhlIGNvZGUncyB0ZWxsaW5nIG1lIGl0IGdldHMgY2FsbGVkIHdoZW4gdGhlIGRyaXZlciBpcyBzaHV0dGluZyBkb3duIOKAkyBzcGVjaWZpY2FsbHksIGR1cmluZyBgYnJjbXNfY190aW1lcnNfZGVpbml0YCBhbmQgYWxzbyBpbiBgd2xhcGlfZnJlZV90aW1lcmAsIGJvdGggb2Ygd2hpY2ggYXJlIHBhcnQgb2YgZWl0aGVyIHRoZSBkcml2ZXIncyB0ZWFyZG93biBzZXF1ZW5jZSBvciB3aGVuIHRoZSBpbml0aWFsaXphdGlvbiBoYXMgZmFpbGVkLiBBbGFybSBiZWxscyBhcmUgYWxyZWFkeSByaW5naW5nIGEgbGl0dGxlLCBiZWNhdXNlIHRob3NlIGFyZSAqY2xlYW51cCogcGF0aHMsIG5vdCBvcGVyYXRpb25hbCBvbmVzLlxuXG5UaGVuIEkgZ2V0IHRvIHRoZSBzcGVjaWZpY3MuIFRoaXMgaXMgYSAqdmVuZG9yLXNwZWNpZmljIFBDSWUgZHJpdmVyKi4gVGhhdCdzIHRoZSBrZXkuIEFuZCBpdCdzIGZvciBoYXJkd2FyZSB0aGF0IGlzbid0IGdvaW5nIHRvIGJlIGVtdWxhdGVkIGluIHlvdXIgc3RhbmRhcmQgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzLiBObyBkaWNlIGluIFFFTVUsIG5vIGNoYW5jZSBpbiBHQ0UuIFRoZSBpbnN0cnVjdGlvbnMgYXJlIHByZXR0eSBjbGVhcjogaWYgdGhlIHBhdGNoIGlzIGxpbWl0ZWQgdG8gY29kZSBkZWFsaW5nIHdpdGggdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgdGhhdCAqbmVlZCogYWN0dWFsIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUsIHRoZW4gaXQncyBhIG5vLWdvIGZvciBmdXp6aW5nLiBJdCBsaXN0cyBzb21lIHNwZWNpZmljIGV4YW1wbGVzIC0gYW5kIG1pbmUgaXMganVzdCBsaWtlIHRob3NlLlxuXG5HaXZlbiBhbGwgb2YgdGhhdCwgaXQncyBhIHN0cmFpZ2h0Zm9yd2FyZCBkZWNpc2lvbi4gVGhpcyBwYXRjaCBpcyB1bmVxdWl2b2NhbGx5ICpub3QqIHdvcnRoIHRoZSB0aW1lIGFuZCByZXNvdXJjZXMgdG8gYXR0ZW1wdCBmdXp6aW5nLiBJJ20gcmV0dXJuaW5nIGBXb3J0aEZ1enppbmc9ZmFsc2VgLlxuXG5cbiIsIklucHV0VG9rZW5zIjo3NjM1LCJPdXRwdXRUb2tlbnMiOjc4LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTcyLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTE1VDEyOjQ4OjM2Ljc1MDAyOTU5WiIsIlNlcSI6MTIsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzcyMDAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIGJyY21zbWFjIGRyaXZlciwgd2hpY2ggaXMgYSB2ZW5kb3Itc3BlY2lmaWMgUENJZSB3aXJlbGVzcyBkcml2ZXIgZm9yIEJyb2FkY29tIGhhcmR3YXJlLiBUaGlzIGhhcmR3YXJlIGlzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIG9yIEdDRSBlbnZpcm9ubWVudHMsIG1ha2luZyB0aGUgY29kZSB1bnJlYWNoYWJsZSBkdXJpbmcgZnV6emluZy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBicmNtc21hYyBkcml2ZXIsIHdoaWNoIGlzIGEgdmVuZG9yLXNwZWNpZmljIFBDSWUgd2lyZWxlc3MgZHJpdmVyIGZvciBCcm9hZGNvbSBoYXJkd2FyZS4gVGhpcyBoYXJkd2FyZSBpcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVSBvciBHQ0UgZW52aXJvbm1lbnRzLCBtYWtpbmcgdGhlIGNvZGUgdW5yZWFjaGFibGUgZHVyaW5nIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0xNVQxMjo0ODozNi43NTAwNzAxMVoiLCJTZXEiOjEzLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6IklmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzAwMCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+IHsKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOyAKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iKSB7CgkJCQkJc3RhdHMubGxtLmNvdW50Kys7CgkJCQkJc3RhdHMubGxtLnRva2VucyArPSAocy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2Vucyk7CgkJCQkJc3RhdHMubGxtLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0gZWxzZSBpZiAocy5UeXBlID09PSAidG9vbCIpIHsKCQkJCQlzdGF0cy50b29sLmNvdW50Kys7CgkJCQkJc3RhdHMudG9vbC5kdXJhdGlvbiArPSBkdXI7CgkJCQl9CgkJCX0pOwoKCQkJY29uc3QgYXZnTGxtRHVyID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0uZHVyYXRpb24gLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdMbG1Ub2tlbiA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLnRva2VucyAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z1Rvb2xEdXIgPSBzdGF0cy50b29sLmNvdW50ID4gMCA/IChzdGF0cy50b29sLmR1cmF0aW9uIC8gc3RhdHMudG9vbC5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgoJCQljb25zdCBsbG1TdW1hcnlDZWxscyA9IFtzdGF0cy5sbG0uY291bnQsIHN0YXRzLmxsbS50b2tlbnMsIGF2Z0xsbVRva2VuLCBzdGF0cy5sbG0uZHVyYXRpb24sIGF2Z0xsbUR1cl07CgkJCWNvbnN0IHRvb2xTdW1tYXJ5Q2VsbHMgPSBbc3RhdHMudG9vbC5jb3VudCwgc3RhdHMudG9vbC5kdXJhdGlvbiwgYXZnVG9vbER1cl07CgoJCQljb25zdCBsbG1TdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsbG1fc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCWxsbVN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCBsbG1UciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCWxsbVN1bWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQlsbG1Uci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQlsbG1TdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZChsbG1Ucik7CgoJCQljb25zdCB0b29sU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJdG9vbFN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCB0b29sVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQl0b29sU3VtbWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQl0b29sVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJdG9vbFN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKHRvb2xUcik7CgkJfQoKCQlmdW5jdGlvbiBkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGZpbHRlcmVkU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IFsibGxtIiwgInRvb2wiXS5pbmNsdWRlcyhkLlR5cGUpKTsKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnRHVyYXRpb24nKTsKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsgCgoJCQlmaWx0ZXJlZFN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQkKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOwoJCQkJbGV0IHRvb2x0aXAgPSBzLk5hbWU7CgkJCQlpZiAocy5UeXBlID09PSAibGxtIiAmJiBzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgkJCQlkYXRhLmFkZFJvdyhbYCR7cy5TZXF9YCwgZHVyLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVGltZSBDb25zdW1wdGlvbiBvZiBMTE0vVG9vbCBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNL1Rvb2wgU3RlcHMnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnU2Vjb25kcycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHVyYXRpb25fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGxsbVN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBkLlR5cGUgPT09ICJsbG0iKTsKCQkJaWYgKGxsbVN0ZXBzLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnVG9rZW5zJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3N0eWxlJ30pOwkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsJCgoJCQljb25zdCBhZ2VudENvbG9ycyA9IHt9OwoJCQljb25zdCBwYWxldHRlID0gWycjNDI4NUY0JywgJyNEQjQ0MzcnLCAnI0Y0QjQwMCcsICcjMEY5RDU4JywgJyNBQjQ3QkMnLCAnIzAwQUNDMSddOwoJCQlsZXQgY29sb3JJZHggPSAwOwoJCQljb25zdCBhZ2VudExMTUNvdW50cyA9IHt9OwoJCQlsbG1TdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJaWYgKCFhZ2VudENvbG9yc1tzLk5hbWVdKSB7CgkJCQkJYWdlbnRDb2xvcnNbcy5OYW1lXSA9IHBhbGV0dGVbY29sb3JJZHggJSBwYWxldHRlLmxlbmd0aF07CgkJCQkJY29sb3JJZHgrKzsKCQkJCX0KCgkJCQlhZ2VudExMTUNvdW50c1tzLk5hbWVdID0gKGFnZW50TExNQ291bnRzW3MuTmFtZV0gfHwgMCkgKyAxOwoJCQkJY29uc3QgbGFiZWwgPSBgJHtzLk5hbWV9LSR7YWdlbnRMTE1Db3VudHNbcy5OYW1lXX1gOwoJCQkJY29uc3QgdG90YWxUb2tlbnMgPSBzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zOwoJCQkJY29uc3Qgc3R5bGUgPSBgY29sb3I6ICR7YWdlbnRDb2xvcnNbcy5OYW1lXX1gOwoJCQkJbGV0IHRvb2x0aXAgPSBgVG90YWwgVG9rZW5zOiAke3RvdGFsVG9rZW5zfVxuKEluOiAke3MuSW5wdXRUb2tlbnN9LCBPdXQ6ICR7cy5PdXRwdXRUb2tlbnN9LCBUaG91Z2h0czogJHtzLk91dHB1dFRob3VnaHRzVG9rZW5zfSlgOwoJCQkJaWYgKHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCgkJCQlkYXRhLmFkZFJvdyhbbGFiZWwsIHRvdGFsVG9rZW5zLCBzdHlsZSwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1Rva2VuIENvbnN1bXB0aW9uIGJ5IExMTSBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNIENhbGwgU2VxdWVuY2UnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnQ29uc3VtZWQgVG9rZW5zJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b2tlbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoJCWxldCBhbGxFeHBhbmRlZCA9IGZhbHNlOwoJCWZ1bmN0aW9uIHRvZ2dsZUFsbERldGFpbHMoKSB7CgkJCWFsbEV4cGFuZGVkID0gIWFsbEV4cGFuZGVkOwoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkZXRhaWxzJykuZm9yRWFjaChkID0+IHsKCQkJCWlmIChhbGxFeHBhbmRlZCkgZC5zZXRBdHRyaWJ1dGUoJ29wZW4nLCAnJyk7CgkJCQllbHNlIGQucmVtb3ZlQXR0cmlidXRlKCdvcGVuJyk7CgkJCX0pOwoJCX0KCTwvc2NyaXB0PgoKCjwvYm9keT4KPC9odG1sPgo=" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflow6g9sq[0].run-triage(0) Phase: Succeeded StartedAt: 2026-08-15 12:19:18 +0000 UTC FinishedAt: 2026-08-15 12:48:38 +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+CgkJCTx0ZD4yMDI2LzA4LzE1IDEyOjQ4PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7S01TQU5SZWFzb25pbmcmIzM0OzogJiMzNDsmIzM0OywKICAmIzM0O05lZWRzS01TQU4mIzM0OzogZmFsc2UsCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIGJyY21zbWFjIGRyaXZlciwgd2hpY2ggaXMgYSB2ZW5kb3Itc3BlY2lmaWMgUENJZSB3aXJlbGVzcyBkcml2ZXIgZm9yIEJyb2FkY29tIGhhcmR3YXJlLiBUaGlzIGhhcmR3YXJlIGlzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIG9yIEdDRSBlbnZpcm9ubWVudHMsIG1ha2luZyB0aGUgY29kZSB1bnJlYWNoYWJsZSBkdXJpbmcgZnV6emluZy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDgvMTUgMTI6NDg8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCA0NGQzYTU1ZWY5MGQ2ZjhjZTdkYTgzODRmNTA2YWU2ZTZlZWM4OGQxXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFNhdCBBdWcgMTUgMTI6NDg6MTMgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL21hYzgwMjExX2lmLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFjODAyMTFfaWYuY1xuaW5kZXggNjI1NWQ2NzNkMmQzZS4uYzFhMjMxOGQ3ZWE2ZiAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWM4MDIxMV9pZi5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFjODAyMTFfaWYuY1xuQEAgLTE1NzEsNiAmIzQzOzE1NzEsMTAgQEAgdm9pZCBicmNtc19mcmVlX3RpbWVyKHN0cnVjdCBicmNtc190aW1lciAqdClcbiBcbiBcdC8qIGRlbGV0ZSB0aGUgdGltZXIgaW4gY2FzZSBpdCBpcyBhY3RpdmUgKi9cbiBcdGJyY21zX2RlbF90aW1lcih0KTtcbiYjNDM7XHQvKiBFbnN1cmUgdGhlIGNhbGxiYWNrIGhhcyBmaW5pc2hlZCBiZWZvcmUgZnJlZWluZyB0aGUgdGltZXJcbiYjNDM7XHQgKiBzdHJ1Y3R1cmUsIHNpbmNlIGJyY21zX2RlbF90aW1lcigpIHVzZXMgbm9uLXN5bmNocm9ub3VzIGNhbmNlbC5cbiYjNDM7XHQgKi9cbiYjNDM7XHRjYW5jZWxfZGVsYXllZF93b3JrX3N5bmMoXHUwMDI2dC1cdTAwM2VkbHlfd3JrKTtcbiBcbiBcdGlmICh3bC1cdTAwM2V0aW1lcnMgPT0gdCkge1xuIFx0XHR3bC1cdTAwM2V0aW1lcnMgPSB3bC1cdTAwM2V0aW1lcnMtXHUwMDNlbmV4dDtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yLzE8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xNSAxMjo0ODwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5iZXN0LWV4cGVuc2l2ZTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IG51bGwsCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIGJyY21zbWFjIGRyaXZlciwgd2hpY2ggaXMgYSB2ZW5kb3Itc3BlY2lmaWMgUENJZSB3aXJlbGVzcyBkcml2ZXIgZm9yIEJyb2FkY29tIGhhcmR3YXJlLiBUaGlzIGhhcmR3YXJlIGlzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIG9yIEdDRSBlbnZpcm9ubWVudHMsIG1ha2luZyB0aGUgY29kZSB1bnJlYWNoYWJsZSBkdXJpbmcgZnV6emluZy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKICBldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuCi0gQ29kZSBpbiB2ZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2gsIFNtYXJ0TklDLCBvciBHUFUgZHJpdmVycyAoZS5nLiwgbWx4c3csIHBkc19jb3JlLCBxZWQsCiAgaW9uaWMsIGFtZGdwdSkgdGhhdCByZXF1aXJlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuCi0gRHJpdmVyIC5yZW1vdmUsIC5zaHV0ZG93biwgb3IgcGNpX3VucmVnaXN0ZXJfZHJpdmVyIHRlYXJkb3duIGNhbGxiYWNrcyAoZS5nLiwgaWdiX3JlbW92ZSkKICB0aGF0IGFyZSBleGVjdXRlZCBvbmx5IGR1cmluZyBQQ0kgaG90LXVucGx1ZyBvciBzeXNmcyBkcml2ZXIgdW5iaW5kIG9wZXJhdGlvbnMuCgpJZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoCnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLgoKV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086CjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuCiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLgogICBQcmVmZXIgbm9uLXN0YXRpYywgbm9uLWlubGluZWQgQVBJIGVudHJ5cG9pbnQgZnVuY3Rpb25zIG92ZXIgaW50ZXJuYWwgc3RhdGljIGhlbHBlciBmdW5jdGlvbnMKICAgKHdoaWNoIGFyZSBpbmxpbmVkIGJ5IHRoZSBjb21waWxlciBhbmQgZG8gbm90IGhhdmUgZGlzdGluY3Qgc3ltYm9sIGFkZHJlc3NlcykuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIEFsc28gY2hlY2sgJiMzNDtkZXBlbmRzIG9uJiMzNDsgbGluZXMgaW4gS2NvbmZpZyB0byBpbmNsdWRlIGFueSBub24tc3RhbmRhcmQgcGFyZW50IHN1YnN5c3RlbSBjb25maWdzCiAgIG5lZWRlZCBmb3IgS2J1aWxkIHRvIGNvbXBpbGUgdGhlIGNvZGUgc3RhdGljYWxseSBpbnRvIHZtbGludXguIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncwogICBvdXRwdXQgYXJyYXksIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCA0NGQzYTU1ZWY5MGQ2ZjhjZTdkYTgzODRmNTA2YWU2ZTZlZWM4OGQxCkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFNhdCBBdWcgMTUgMTI6NDg6MTMgMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFjODAyMTFfaWYuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWM4MDIxMV9pZi5jCmluZGV4IDYyNTVkNjczZDJkM2UuLmMxYTIzMThkN2VhNmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWM4MDIxMV9pZi5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWM4MDIxMV9pZi5jCkBAIC0xNTcxLDYgJiM0MzsxNTcxLDEwIEBAIHZvaWQgYnJjbXNfZnJlZV90aW1lcihzdHJ1Y3QgYnJjbXNfdGltZXIgKnQpCiAKIAkvKiBkZWxldGUgdGhlIHRpbWVyIGluIGNhc2UgaXQgaXMgYWN0aXZlICovCiAJYnJjbXNfZGVsX3RpbWVyKHQpOwomIzQzOwkvKiBFbnN1cmUgdGhlIGNhbGxiYWNrIGhhcyBmaW5pc2hlZCBiZWZvcmUgZnJlZWluZyB0aGUgdGltZXIKJiM0MzsJICogc3RydWN0dXJlLCBzaW5jZSBicmNtc19kZWxfdGltZXIoKSB1c2VzIG5vbi1zeW5jaHJvbm91cyBjYW5jZWwuCiYjNDM7CSAqLwomIzQzOwljYW5jZWxfZGVsYXllZF93b3JrX3N5bmMoJmFtcDt0LSZndDtkbHlfd3JrKTsKIAogCWlmICh3bC0mZ3Q7dGltZXJzID09IHQpIHsKIAkJd2wtJmd0O3RpbWVycyA9IHdsLSZndDt0aW1lcnMtJmd0O25leHQ7CjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzE1IDEyOjQ4PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDIxMDAKCQkJCQkJCW91dHB1dDogNDQKCQkJCQkJCXRob3VnaHRzOiAyMTQKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIGEgQnJvYWRjb20gV2lyZWxlc3MgRHJpdmVyIFBhdGNoKioKCk9rYXksIHNvIEkmIzM5O20gbG9va2luZyBhdCB0aGlzIHBhdGNoIGFuZCBpdCYjMzk7cyBtb2RpZnlpbmcgYGJyY21zX2ZyZWVfdGltZXJgIHdpdGhpbiBgZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL21hYzgwMjExX2lmLmNgLiBUaGUgY29yZSBvZiB0aGUgY2hhbmdlIHNlZW1zIHN0cmFpZ2h0Zm9yd2FyZDogYSBgY2FuY2VsX2RlbGF5ZWRfd29ya19zeW5jKCZhbXA7dC0mZ3Q7ZGx5X3dyayk7YCBjYWxsIGlzIGJlaW5nIGFkZGVkLiBUaGlzIGlzIGdvb2QgcHJhY3RpY2UuIEl0JiMzOTtzIGVzc2VudGlhbGx5IGEgc3luY2hyb25pemF0aW9uIG1lY2hhbmlzbSB0byBndWFyYW50ZWUgdGhlIGNhbGxiYWNrIGFzc29jaWF0ZWQgd2l0aCB0aGF0IHRpbWVyIGhhcyBjb21wbGV0ZWQgaXRzIGV4ZWN1dGlvbiBiZWZvcmUgd2UgZnJlZSB0aGUgdGltZXIgc3RydWN0dXJlIGl0c2VsZi4gUHJldmVudGluZyBhIHVzZS1hZnRlci1mcmVlIHNpdHVhdGlvbiwgbW9zdCBsaWtlbHkuIEZ1bmN0aW9uYWxseSwgdGhpcyBpcyB3aXRoaW4gdGhlIGBicmNtc21hY2AgZHJpdmVyLgoKTm93LCBgYnJjbXNtYWNgLi4uIHRoYXQgcmluZ3MgYSBiZWxsLiBBaCB5ZXMsIGl0JiMzOTtzIGEgZHJpdmVyIHNwZWNpZmljYWxseSBmb3IgQnJvYWRjb20gUENJZSB3aXJlbGVzcyBjYXJkcy4gR2l2ZW4gdGhhdCBpdCYjMzk7cyBhIFBDSWUgZHJpdmVyLCBJIGltbWVkaWF0ZWx5IHN0YXJ0IHRoaW5raW5nIGFib3V0IHRlc3RpbmcgcG9zc2liaWxpdGllcy4gQ2FuIEkgZ2V0IHRoaXMgcnVubmluZyBpbiBRRU1VPyBUaGF0JiMzOTtzIHRoZSBpZGVhbCBzY2VuYXJpbyBmb3IgcXVpY2tseSB2YWxpZGF0aW5nIHRoaXMga2luZCBvZiBwYXRjaC4gTmVlZCB0byBjb25maXJtIHRoYXQgaXQgKmlzKiBpbmRlZWQgYSBQQ0llIGRyaXZlciBhbmQgdGhhdCBJIGhhdmVuJiMzOTt0IG1peGVkIGl0IHVwIHdpdGggc29tZXRoaW5nIGVsc2UuIEl0IGNoZWNrcyBvdXQsIGBicmNtc21hY2AgaXMgUENJZS4KCk9rYXksIEkmIzM5O2xsIG5lZWQgdG8gZGlnIGRlZXBlciBpbnRvIHRoZSBjb2RlIHRvIHVuZGVyc3RhbmQgdGhlIGNvbnRleHQgZnVsbHkuIEkmIzM5O2xsIG5lZWQgdG8gZ28gdGhyb3VnaCBgZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL21hYzgwMjExX2lmLmNgIGFuZCBwcm9iYWJseSBhbHNvIHBva2UgYXJvdW5kIGBkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFpbi5jYCB0byBzZWUgaG93IHRoZXNlIHRpbWVycyBhbmQgd29yayBxdWV1ZXMgYXJlIHVzZWQuIEdvdHRhIHVuZGVyc3RhbmQgdGhlIGNvbXBsZXRlIGNvbnRyb2wgZmxvdywgYnV0IHRoZSBwcmVtaXNlIGlzIHNvdW5kLiBUaGlzIGlzIGEgc29saWQgc2FmZXR5IG5ldCBhZ2FpbnN0IHBvdGVudGlhbCBpc3N1ZXMuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMTUgMTI6NDg8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7YnJjbXNtYWMmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9NYWtlZmlsZT0xOD1jY2ZsYWdzLXkgOj0gXFxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvTWFrZWZpbGUtMjItXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvTWFrZWZpbGU6MjM6YnJjbXNtYWMteSA6PSBcXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL01ha2VmaWxlLTI0LVx0bWFjODAyMTFfaWYubyBcXFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9NYWtlZmlsZS00NC1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9NYWtlZmlsZTo0NTpicmNtc21hYy0kKENPTkZJR19CUkNNU01BQ19MRURTKSAmIzQzOz0gbGVkLm9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9NYWtlZmlsZS00Ni1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9NYWtlZmlsZTo0NzpvYmotJChDT05GSUdfQlJDTVNNQUMpXHQmIzQzOz0gYnJjbXNtYWMub1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9icmNtc190cmFjZV9icmNtc21hYy5oLTIyLSN1bmRlZiBUUkFDRV9TWVNURU1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9icmNtc190cmFjZV9icmNtc21hYy5oOjIzOiNkZWZpbmUgVFJBQ0VfU1lTVEVNIGJyY21zbWFjXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvYnJjbXNfdHJhY2VfYnJjbXNtYWMuaC0yNC1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvYnJjbXNfdHJhY2VfYnJjbXNtYWMuaD03Mz1UUkFDRV9FVkVOVChicmNtc19tYWNpbnRzdGF0dXMsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL2JyY21zX3RyYWNlX2JyY21zbWFjLmgtOTgtI3VuZGVmIFRSQUNFX0lOQ0xVREVfRklMRVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL2JyY21zX3RyYWNlX2JyY21zbWFjLmg6OTk6I2RlZmluZSBUUkFDRV9JTkNMVURFX0ZJTEUgYnJjbXNfdHJhY2VfYnJjbXNtYWNcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9icmNtc190cmFjZV9icmNtc21hYy5oLTEwMC0jaW5jbHVkZSBcdTAwM2N0cmFjZS9kZWZpbmVfdHJhY2UuaFx1MDAzZVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9icmNtc190cmFjZV9icmNtc21hY19tc2cuaC0yMi0jdW5kZWYgVFJBQ0VfU1lTVEVNXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvYnJjbXNfdHJhY2VfYnJjbXNtYWNfbXNnLmg6MjM6I2RlZmluZSBUUkFDRV9TWVNURU0gYnJjbXNtYWNfbXNnXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvYnJjbXNfdHJhY2VfYnJjbXNtYWNfbXNnLmgtMjQtXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL2JyY21zX3RyYWNlX2JyY21zbWFjX21zZy5oPTY0PVRSQUNFX0VWRU5UKGJyY21zX2RiZyxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvYnJjbXNfdHJhY2VfYnJjbXNtYWNfbXNnLmgtODgtI3VuZGVmIFRSQUNFX0lOQ0xVREVfRklMRVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL2JyY21zX3RyYWNlX2JyY21zbWFjX21zZy5oOjg5OiNkZWZpbmUgVFJBQ0VfSU5DTFVERV9GSUxFIGJyY21zX3RyYWNlX2JyY21zbWFjX21zZ1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL2JyY21zX3RyYWNlX2JyY21zbWFjX21zZy5oLTkwLSNpbmNsdWRlIFx1MDAzY3RyYWNlL2RlZmluZV90cmFjZS5oXHUwMDNlXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL2JyY21zX3RyYWNlX2JyY21zbWFjX3R4LmgtMjItI3VuZGVmIFRSQUNFX1NZU1RFTVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL2JyY21zX3RyYWNlX2JyY21zbWFjX3R4Lmg6MjM6I2RlZmluZSBUUkFDRV9TWVNURU0gYnJjbXNtYWNfdHhcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9icmNtc190cmFjZV9icmNtc21hY190eC5oLTI0LVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9icmNtc190cmFjZV9icmNtc21hY190eC5oPTczPVRSQUNFX0VWRU5UKGJyY21zX2FtcGR1X3Nlc3Npb24sXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL2JyY21zX3RyYWNlX2JyY21zbWFjX3R4LmgtMTA2LSN1bmRlZiBUUkFDRV9JTkNMVURFX0ZJTEVcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9icmNtc190cmFjZV9icmNtc21hY190eC5oOjEwNzojZGVmaW5lIFRSQUNFX0lOQ0xVREVfRklMRSBicmNtc190cmFjZV9icmNtc21hY190eFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL2JyY21zX3RyYWNlX2JyY21zbWFjX3R4LmgtMTA4LSNpbmNsdWRlIFx1MDAzY3RyYWNlL2RlZmluZV90cmFjZS5oXHUwMDNlXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL2JyY21zX3RyYWNlX2V2ZW50cy5oPTMzPXN0YXRpYyBpbmxpbmUgdm9pZCB0cmFjZV8gIyMgbmFtZShwcm90bykge31cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvYnJjbXNfdHJhY2VfZXZlbnRzLmgtMzUtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvYnJjbXNfdHJhY2VfZXZlbnRzLmg6MzY6I2luY2x1ZGUgXCYjMzQ7YnJjbXNfdHJhY2VfYnJjbXNtYWMuaFwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL2JyY21zX3RyYWNlX2V2ZW50cy5oOjM3OiNpbmNsdWRlIFwmIzM0O2JyY21zX3RyYWNlX2JyY21zbWFjX3R4LmhcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9icmNtc190cmFjZV9ldmVudHMuaDozODojaW5jbHVkZSBcJiMzNDticmNtc190cmFjZV9icmNtc21hY19tc2cuaFwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL2JyY21zX3RyYWNlX2V2ZW50cy5oLTM5LVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9sZWQuYz01MT1pbnQgYnJjbXNfbGVkX3JlZ2lzdGVyKHN0cnVjdCBicmNtc19pbmZvICp3bClcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbGVkLmMtOTMtXHRzbnByaW50Zih3bC1cdTAwM2VyYWRpb19sZWQubmFtZSwgc2l6ZW9mKHdsLVx1MDAzZXJhZGlvX2xlZC5uYW1lKSxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9sZWQuYzo5NDpcdFx0IFwmIzM0O2JyY21zbWFjLSVzOnJhZGlvXCYjMzQ7LCB3aXBoeV9uYW1lKHdsLVx1MDAzZXdpcGh5KSk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbGVkLmMtOTUtXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL21hYzgwMjExX2lmLmM9MTI5Mz1zdGF0aWMgc3RydWN0IGJjbWFfZHJpdmVyIGJyY21zX2JjbWFfZHJpdmVyID0ge1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWM4MDIxMV9pZi5jLTEzMDItLypcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWM4MDIxMV9pZi5jOjEzMDM6ICogVGhpcyBpcyB0aGUgbWFpbiBlbnRyeSBwb2ludCBmb3IgdGhlIGJyY21zbWFjIGRyaXZlci5cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWM4MDIxMV9pZi5jLTEzMDQtICpcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFjODAyMTFfaWYuYz0xMzIwPXN0YXRpYyBpbnQgX19pbml0IGJyY21zX21vZHVsZV9pbml0KHZvaWQpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL21hYzgwMjExX2lmLmMtMTMyOS0vKlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL21hYzgwMjExX2lmLmM6MTMzMDogKiBUaGlzIGZ1bmN0aW9uIHVubG9hZHMgdGhlIGJyY21zbWFjIGRyaXZlciBmcm9tIHRoZSBzeXN0ZW0uXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFjODAyMTFfaWYuYy0xMzMxLSAqXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFjODAyMTFfaWYuYzoxMzMyOiAqIFRoaXMgZnVuY3Rpb24gdW5jb25kaXRpb25hbGx5IHVubG9hZHMgdGhlIGJyY21zbWFjIGRyaXZlciBtb2R1bGUgZnJvbSB0aGVcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWM4MDIxMV9pZi5jLTEzMzMtICogc3lzdGVtLlxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzE1IDEyOjQ4PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDQ5MjUKCQkJCQkJCW91dHB1dDogNDQKCQkJCQkJCXRob3VnaHRzOiA4MQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipJbnZlc3RpZ2F0aW5nIHRoZSBgYnJjbXNtYWNgIERyaXZlciBhbmQgQkNNQSBCdXMgQ29tcGF0aWJpbGl0eSB3aXRoIFFFTVUqKgoKT2theSwgc28gSSYjMzk7bSBsb29raW5nIGF0IHRoaXMgYGJyY21zbWFjYCBkcml2ZXIsIGFuZCB0aGUgY29kZSBzYXlzIGl0JiMzOTtzIGEgQkNNQSBkcml2ZXIg4oCTIHNwZWNpZmljYWxseSwgaXQmIzM5O3MgdXRpbGl6aW5nIHRoZSBgYmNtYV9kcml2ZXJgIHN0cnVjdHVyZS4gUmlnaHQsIEJDTUEgaXMgQnJvYWRjb20mIzM5O3MgYnVzIGFyY2hpdGVjdHVyZSwgcmlnaHQ/IE5vdyB0aGUgcXVlc3Rpb24gaXMsIGNhbiBJIGV2ZW4gZ2V0IHRoaXMgdGhpbmcgdG8gdGVzdCBwcm9wZXJseSBpbiBRRU1VPyBNeSBpbW1lZGlhdGUgdGhvdWdodCBpcywgZ2VuZXJhbGx5LCBCQ01BIGRldmljZXMgYXJlICpub3QqIHRoZSBlYXNpZXN0IHRoaW5ncyB0byBlbXVsYXRlLiBRRU1VJiMzOTtzIHN1cHBvcnQgY2FuIGJlIHNwb3R0eSwgYW5kIEkmIzM5O20gcHJldHR5IHN1cmUgSSBoYXZlbiYjMzk7dCBzZWVuIGFueSBlbXVsYXRlZCBCQ01BIGltcGxlbWVudGF0aW9ucyB0aGF0IGFyZSBwYXJ0aWN1bGFybHkgcm9idXN0LiBTbywgYmVmb3JlIEkgZ28gZG93biBhIHJhYmJpdCBob2xlIHRyeWluZyB0byBlbXVsYXRlIGEgYnVzIHRoYXQmIzM5O3MgcHJvYmFibHkgbm90IHN1cHBvcnRlZCwgSSBuZWVkIHRvIGZpZ3VyZSBvdXQgaWYgdGhpcyBgYnJjbXNtYWNgIGRyaXZlciBldmVuICpuZWVkcyogYSBCQ01BIGJ1cy4gSSBuZWVkIHRvIHF1aWNrbHkgY2hlY2sgaWYgdGhpcyBkcml2ZXIgaGFzIGFueSBkZXBlbmRlbmNpZXMgb24gUENJIGJlY2F1c2UgdGhhdCAqaXMqIGZhaXJseSBjb21tb24gZm9yIHdpcmVsZXNzIGRldmljZXMuIElmIG5vdCwgbWF5YmUgdGhlcmUgaXMgYW5vdGhlciBwb3NzaWJpbGl0eS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xNSAxMjo0ODwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtjb25maWcgQlJDTVNNQUMmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvS2NvbmZpZyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvS2NvbmZpZz0yPWNvbmZpZyBCUkNNVVRJTFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9LY29uZmlnLTQtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvS2NvbmZpZzo1OmNvbmZpZyBCUkNNU01BQ1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL0tjb25maWctNi1cdHRyaXN0YXRlIFwmIzM0O0Jyb2FkY29tIElFRUU4MDIuMTFuIFBDSWUgU29mdE1BQyBXTEFOIGRyaXZlclwmIzM0O1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9LY29uZmlnLTE3LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL0tjb25maWc6MTg6Y29uZmlnIEJSQ01TTUFDX0xFRFNcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9LY29uZmlnLTE5LVx0ZGVmX2Jvb2wgQlJDTVNNQUMgXHUwMDI2XHUwMDI2IEJDTUFfRFJJVkVSX0dQSU8gXHUwMDI2XHUwMDI2IE1BQzgwMjExX0xFRFNcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD43LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xNSAxMjo0ODwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA1NTIwCgkJCQkJCQlvdXRwdXQ6IDQ1CgkJCQkJCQl0aG91Z2h0czogNjkKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIHRoZSBCcm9hZGNvbSBXTEFOIERyaXZlcioqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhpcyBkcml2ZXIsICYjMzQ7QnJvYWRjb20gSUVFRTgwMi4xMW4gUENJZSBTb2Z0TUFDIFdMQU4gZHJpdmVyLiYjMzQ7IFJpZ2h0IGF3YXksIHRoZSBuYW1lIGdpdmVzIG1lIHNvbWUga2V5IGluZm9ybWF0aW9uOiBpdCYjMzk7cyBCcm9hZGNvbSwgZGVhbHMgd2l0aCA4MDIuMTFuLCB1c2VzIFBDSWUsIGFuZCBpcyBhIFNvZnRNQUMuIEV4Y2VsbGVudC4gTm93LCBJIG5lZWQgdG8gdW5kZXJzdGFuZCBpdHMgcmVsYXRpb25zaGlwIHRvIHRoZSByZXN0IG9mIHRoZSB3aXJlbGVzcyBzdWJzeXN0ZW0uIFRoZSBkZXNjcmlwdGlvbiBtZW50aW9ucyBkZXBlbmRlbmNpZXMgb24gYE1BQzgwMjExYCwgYEJDTUFgLCBhbmQgYFBDSWAuIFRoYXQmIzM5O3Mgbm90IHN1cnByaXNpbmc7IEkgd2FzIGV4cGVjdGluZyBgTUFDODAyMTFgIGZvciB0aGUgU29mdE1BQyBjb21wb25lbnQsIGFuZCBgUENJYCB0byBoYW5kbGUgdGhlIFBDSWUgaW50ZXJmYWNlLiBgQkNNQWAuLi4gdGhhdOKAmXMgQnJvYWRjb20mIzM5O3Mgc3BlY2lmaWMgY29yZSBhcmNoaXRlY3R1cmUsIHdoaWNoIG1ha2VzIHBlcmZlY3Qgc2Vuc2UuCgpNeSBuZXh0IHN0ZXAgaXMgdG8gZGl2ZSBkZWVwZXIgaW50byB0aGUgZHJpdmVyJiMzOTtzIGNvbmZpZ3VyYXRpb24sIHNwZWNpZmljYWxseSB0aGUgYEtjb25maWdgIGZpbGUuIEkmIzM5O2xsIG5lZWQgdG8gY29uZmlybSB0aGVzZSBkZXBlbmRlbmNpZXMgYW5kIHNlZSBpZiB0aGVyZSBhcmUgYW55IG90aGVyIHN1YnRsZSByZWxhdGlvbnNoaXBzIG9yIG9wdGlvbnMgZGVmaW5lZCB3aXRoaW4gdGhlIGRyaXZlciYjMzk7cyBvd24gY29uZmlndXJhdGlvbiBzZWN0aW9uLiBJJiMzOTtsbCBoZWFkIG92ZXIgdG8gYGRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9LY29uZmlnYCB0byBkbyBqdXN0IHRoYXQuIExldCYjMzk7cyBzZWUgd2hhdCBmdXJ0aGVyIGRldGFpbHMgYWJvdXQgdGhpcyBkcml2ZXIgYXJlIHJldmVhbGVkIGluIGl0cyBjb25maWcuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OC8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMTUgMTI6NDg8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5yZWFkLWZpbGU8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0ZpbGUmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvS2NvbmZpZyYjMzQ7LAogICYjMzQ7Rmlyc3RMaW5lJiMzNDs6IDEsCiAgJiMzNDtMaW5lQ291bnQmIzM0OzogMjAKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0NvbnRlbnRzJiMzNDs6ICYjMzQ7ICAgMTpcdCMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seVxuICAgMjpcdGNvbmZpZyBCUkNNVVRJTFxuICAgMzpcdFx0dHJpc3RhdGVcbiAgIDQ6XHRcbiAgIDU6XHRjb25maWcgQlJDTVNNQUNcbiAgIDY6XHRcdHRyaXN0YXRlIFwmIzM0O0Jyb2FkY29tIElFRUU4MDIuMTFuIFBDSWUgU29mdE1BQyBXTEFOIGRyaXZlclwmIzM0O1xuICAgNzpcdFx0ZGVwZW5kcyBvbiBNQUM4MDIxMVxuICAgODpcdFx0ZGVwZW5kcyBvbiBCQ01BX1BPU1NJQkxFXG4gICA5Olx0XHRzZWxlY3QgQkNNQVxuICAxMDpcdFx0c2VsZWN0IEJSQ01VVElMXG4gIDExOlx0XHRzZWxlY3QgRldfTE9BREVSXG4gIDEyOlx0XHRzZWxlY3QgQ09SRElDXG4gIDEzOlx0XHRoZWxwXG4gIDE0Olx0XHQgIFRoaXMgbW9kdWxlIGFkZHMgc3VwcG9ydCBmb3IgUENJZSB3aXJlbGVzcyBhZGFwdGVycyBiYXNlZCBvbiBCcm9hZGNvbVxuICAxNTpcdFx0ICBJRUVFODAyLjExbiBTb2Z0TUFDIGNoaXBzZXRzLiBJZiB5b3UgY2hvb3NlIHRvIGJ1aWxkIGEgbW9kdWxlLCB0aGVcbiAgMTY6XHRcdCAgZHJpdmVyIHdpbGwgYmUgY2FsbGVkIGJyY21zbWFjLmtvLlxuICAxNzpcdFxuICAxODpcdGNvbmZpZyBCUkNNU01BQ19MRURTXG4gIDE5Olx0XHRkZWZfYm9vbCBCUkNNU01BQyBcdTAwMjZcdTAwMjYgQkNNQV9EUklWRVJfR1BJTyBcdTAwMjZcdTAwMjYgTUFDODAyMTFfTEVEU1xuICAyMDpcdFx0aGVscFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzE1IDEyOjQ4PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDYxODQKCQkJCQkJCW91dHB1dDogNDcKCQkJCQkJCXRob3VnaHRzOiAxOTAKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqUENJZSBXaXJlbGVzcyBBZGFwdGVyIERyaXZlciBUZXN0aW5nIGluIFFFTVUqKgoKT2theSwgc28gSSYjMzk7bSBsb29raW5nIGF0IHRoaXMgUENJZSB3aXJlbGVzcyBhZGFwdGVyIGRyaXZlciwgYW5kIG15IGZpcnN0IHRob3VnaHQgaXMsICYjMzQ7Q2FuIEkgYWN0dWFsbHkgdGVzdCB0aGlzIGluIFFFTVU/JiMzNDsgVGhlIGRvY3VtZW50YXRpb24gdGhyb3dzIGEgd3JlbmNoIGluIHRoaW5ncywgc2F5aW5nIHRoYXQgdmVuZG9yLXNwZWNpZmljIGRyaXZlcnMgZm9yIFBDSWUgc3dpdGNoZXMsIFNtYXJ0TklDcywgb3IgR1BVc+KAlGxpa2UgdGhvc2UgZm9yIG1seHN3LCBwZHNfY29yZSwgcWVkLCBpb25pYywgYW1kZ3B14oCUYXJlIHRoZSBwcm9ibGVtLiBUaGV5IHJlcXVpcmUgcGh5c2ljYWwgUENJZSBjYXJkcyB0aGF0IGFyZW4mIzM5O3QgcHJvcGVybHkgZW11bGF0ZWQgYnkgdGhlIHN0YW5kYXJkIFFFTVUgc2V0dXAuIFNvLCBpcyBgYnJjbXNtYWNgLCB0aGUgZHJpdmVyIGluIHF1ZXN0aW9uIGhlcmUsIG9uZSBvZiB0aG9zZT8gTm8sIHRoZSBub3RlcyBhcmUgY2xlYXI6IFFFTVUgZG9lc24mIzM5O3QgZW11bGF0ZSBCcm9hZGNvbSBQQ0llIHdpcmVsZXNzIGNhcmRzLiBEYW1uLgoKQnV0IHdhaXQsIGFtIEkgc3R1Y2s/IENhbiBJIHNvbWVob3cgcmVhY2ggaXQgdGhyb3VnaCBzb2Z0d2FyZSBlbXVsYXRpb24/IEkgcmVtZW1iZXIgYG1hYzgwMjExX2h3c2ltYCB3aGljaCBlbXVsYXRlcyB0aGUgbWFjODAyMTEgc3RhY2suICBCdXQgdGhhdCB3b24mIzM5O3QgaGVscDsgaXQmIzM5O3MgdGhlIHNwZWNpZmljIEJyb2FkY29tIFBDSWUgaGFyZHdhcmUgdGhhdCYjMzk7cyBtaXNzaW5nLCBhbmQgYG1hYzgwMjExX2h3c2ltYCBkb2VzbiYjMzk7dCBwcm92aWRlIHRoYXQuCgpPa2F5LCBsZXQmIzM5O3MgdGFrZSBhIGRpZmZlcmVudCBhcHByb2FjaC4gVGhlIGZ1bmN0aW9uIGBicmNtc19mcmVlX3RpbWVyYCBpcyBwYXJ0IG9mIHRoZSBgYnJjbXNtYWNgIGRyaXZlci4gSWYgSSBjYW4mIzM5O3QgZW11bGF0ZSB0aGUgaGFyZHdhcmUsIG1heWJlIEkgY2FuIGZpbmQgb3RoZXIgcGF0aHMgdG8gdGVzdCBvciBkZWJ1ZyB0aGlzIGRyaXZlci4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgaG93IGFuZCB3aGVyZSB0aGF0IGZ1bmN0aW9uIGlzIHVzZWQuIFNvLCBsZXQmIzM5O3MgZmluZCBhbGwgdGhlIGNhbGwgc2l0ZXMgb2YgYGJyY21zX2ZyZWVfdGltZXJgLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEwLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xNSAxMjo0ODwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDticmNtc19mcmVlX3RpbWVyJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFjODAyMTFfaWYuYz0xNTUxPWJvb2wgYnJjbXNfZGVsX3RpbWVyKHN0cnVjdCBicmNtc190aW1lciAqdClcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFjODAyMTFfaWYuYy0xNTY2LSAqL1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL21hYzgwMjExX2lmLmM6MTU2Nzp2b2lkIGJyY21zX2ZyZWVfdGltZXIoc3RydWN0IGJyY21zX3RpbWVyICp0KVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL21hYzgwMjExX2lmLmMtMTU2OC17XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL21hYzgwMjExX2lmLmg9MTAzPXN0cnVjdCBicmNtc190aW1lciAqYnJjbXNfaW5pdF90aW1lcihzdHJ1Y3QgYnJjbXNfaW5mbyAqd2wsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL21hYzgwMjExX2lmLmgtMTA1LVx0XHRcdFx0ICAgICBjb25zdCBjaGFyICpuYW1lKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWM4MDIxMV9pZi5oOjEwNjp2b2lkIGJyY21zX2ZyZWVfdGltZXIoc3RydWN0IGJyY21zX3RpbWVyICp0aW1lcik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFjODAyMTFfaWYuaC0xMDctdm9pZCBicmNtc19hZGRfdGltZXIoc3RydWN0IGJyY21zX3RpbWVyICp0aW1lciwgdWludCBtcywgaW50IHBlcmlvZGljKTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFpbi5jPTQ3NDY9c3RhdGljIHZvaWQgYnJjbXNfY190aW1lcnNfZGVpbml0KHN0cnVjdCBicmNtc19jX2luZm8gKndsYylcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFpbi5jLTQ3NDktXHRpZiAod2xjLVx1MDAzZXdkdGltZXIpIHtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWluLmM6NDc1MDpcdFx0YnJjbXNfZnJlZV90aW1lcih3bGMtXHUwMDNld2R0aW1lcik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFpbi5jLTQ3NTEtXHRcdHdsYy1cdTAwM2V3ZHRpbWVyID0gTlVMTDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFpbi5jLTQ3NTMtXHRpZiAod2xjLVx1MDAzZXJhZGlvX3RpbWVyKSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFpbi5jOjQ3NTQ6XHRcdGJyY21zX2ZyZWVfdGltZXIod2xjLVx1MDAzZXJhZGlvX3RpbWVyKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWluLmMtNDc1NS1cdFx0d2xjLVx1MDAzZXJhZGlvX3RpbWVyID0gTlVMTDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvcGh5X3NoaW0uYz02Nz12b2lkIHdsYXBpX2ZyZWVfdGltZXIoc3RydWN0IHdsYXBpX3RpbWVyICp0KVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL3BoeV9zaGltLmMtNjgte1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL3BoeV9zaGltLmM6Njk6XHRicmNtc19mcmVlX3RpbWVyKChzdHJ1Y3QgYnJjbXNfdGltZXIgKil0KTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9waHlfc2hpbS5jLTcwLX1cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMS8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMTUgMTI6NDg8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNzYzNQoJCQkJCQkJb3V0cHV0OiA3OAoJCQkJCQkJdGhvdWdodHM6IDE3MgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipNeSBBc3Nlc3NtZW50OiBOb3QgV29ydGggRnV6emluZyoqCgpPa2F5LCBzbyBJJiMzOTt2ZSBnb3QgdGhpcyBgYnJjbXNfZnJlZV90aW1lcmAgZnVuY3Rpb24uIFRoZSBjb2RlJiMzOTtzIHRlbGxpbmcgbWUgaXQgZ2V0cyBjYWxsZWQgd2hlbiB0aGUgZHJpdmVyIGlzIHNodXR0aW5nIGRvd24g4oCTIHNwZWNpZmljYWxseSwgZHVyaW5nIGBicmNtc19jX3RpbWVyc19kZWluaXRgIGFuZCBhbHNvIGluIGB3bGFwaV9mcmVlX3RpbWVyYCwgYm90aCBvZiB3aGljaCBhcmUgcGFydCBvZiBlaXRoZXIgdGhlIGRyaXZlciYjMzk7cyB0ZWFyZG93biBzZXF1ZW5jZSBvciB3aGVuIHRoZSBpbml0aWFsaXphdGlvbiBoYXMgZmFpbGVkLiBBbGFybSBiZWxscyBhcmUgYWxyZWFkeSByaW5naW5nIGEgbGl0dGxlLCBiZWNhdXNlIHRob3NlIGFyZSAqY2xlYW51cCogcGF0aHMsIG5vdCBvcGVyYXRpb25hbCBvbmVzLgoKVGhlbiBJIGdldCB0byB0aGUgc3BlY2lmaWNzLiBUaGlzIGlzIGEgKnZlbmRvci1zcGVjaWZpYyBQQ0llIGRyaXZlciouIFRoYXQmIzM5O3MgdGhlIGtleS4gQW5kIGl0JiMzOTtzIGZvciBoYXJkd2FyZSB0aGF0IGlzbiYjMzk7dCBnb2luZyB0byBiZSBlbXVsYXRlZCBpbiB5b3VyIHN0YW5kYXJkIHZpcnR1YWxpemVkIGVudmlyb25tZW50cy4gTm8gZGljZSBpbiBRRU1VLCBubyBjaGFuY2UgaW4gR0NFLiBUaGUgaW5zdHJ1Y3Rpb25zIGFyZSBwcmV0dHkgY2xlYXI6IGlmIHRoZSBwYXRjaCBpcyBsaW1pdGVkIHRvIGNvZGUgZGVhbGluZyB3aXRoIHZlbmRvci1zcGVjaWZpYyBQQ0llIHN3aXRjaCwgU21hcnROSUMsIG9yIEdQVSBkcml2ZXJzIHRoYXQgKm5lZWQqIGFjdHVhbCBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlLCB0aGVuIGl0JiMzOTtzIGEgbm8tZ28gZm9yIGZ1enppbmcuIEl0IGxpc3RzIHNvbWUgc3BlY2lmaWMgZXhhbXBsZXMgLSBhbmQgbWluZSBpcyBqdXN0IGxpa2UgdGhvc2UuCgpHaXZlbiBhbGwgb2YgdGhhdCwgaXQmIzM5O3MgYSBzdHJhaWdodGZvcndhcmQgZGVjaXNpb24uIFRoaXMgcGF0Y2ggaXMgdW5lcXVpdm9jYWxseSAqbm90KiB3b3J0aCB0aGUgdGltZSBhbmQgcmVzb3VyY2VzIHRvIGF0dGVtcHQgZnV6emluZy4gSSYjMzk7bSByZXR1cm5pbmcgYFdvcnRoRnV6emluZz1mYWxzZWAuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTIvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzE1IDEyOjQ4PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+c2V0LXJlc3VsdHM8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogW10sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIGJyY21zbWFjIGRyaXZlciwgd2hpY2ggaXMgYSB2ZW5kb3Itc3BlY2lmaWMgUENJZSB3aXJlbGVzcyBkcml2ZXIgZm9yIEJyb2FkY29tIGhhcmR3YXJlLiBUaGlzIGhhcmR3YXJlIGlzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIG9yIEdDRSBlbnZpcm9ubWVudHMsIG1ha2luZyB0aGUgY29kZSB1bnJlYWNoYWJsZSBkdXJpbmcgZnV6emluZy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBicmNtc21hYyBkcml2ZXIsIHdoaWNoIGlzIGEgdmVuZG9yLXNwZWNpZmljIFBDSWUgd2lyZWxlc3MgZHJpdmVyIGZvciBCcm9hZGNvbSBoYXJkd2FyZS4gVGhpcyBoYXJkd2FyZSBpcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVSBvciBHQ0UgZW52aXJvbm1lbnRzLCBtYWtpbmcgdGhlIGNvZGUgdW5yZWFjaGFibGUgZHVyaW5nIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEzLzE8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xNSAxMjo0ODwvdGQ+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+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDgtMTVUMTI6NDg6MTQuMDc1MTc1MDM4WiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjI2NzQ5MTA5MzMsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiS01TQU5SZWFzb25pbmdcIjogXCJcIixcbiAgXCJOZWVkc0tNU0FOXCI6IGZhbHNlLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgYnJjbXNtYWMgZHJpdmVyLCB3aGljaCBpcyBhIHZlbmRvci1zcGVjaWZpYyBQQ0llIHdpcmVsZXNzIGRyaXZlciBmb3IgQnJvYWRjb20gaGFyZHdhcmUuIFRoaXMgaGFyZHdhcmUgaXMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgb3IgR0NFIGVudmlyb25tZW50cywgbWFraW5nIHRoZSBjb2RlIHVucmVhY2hhYmxlIGR1cmluZyBmdXp6aW5nLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMTVUMTI6NDg6MTQuMDc1MTc5OTM4WiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo0NDYxNzY5MjUsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCA0NGQzYTU1ZWY5MGQ2ZjhjZTdkYTgzODRmNTA2YWU2ZTZlZWM4OGQxXFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBTYXQgQXVnIDE1IDEyOjQ4OjEzIDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWM4MDIxMV9pZi5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL21hYzgwMjExX2lmLmNcXG5pbmRleCA2MjU1ZDY3M2QyZDNlLi5jMWEyMzE4ZDdlYTZmIDEwMDY0NFxcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWM4MDIxMV9pZi5jXFxuKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL21hYzgwMjExX2lmLmNcXG5AQCAtMTU3MSw2ICsxNTcxLDEwIEBAIHZvaWQgYnJjbXNfZnJlZV90aW1lcihzdHJ1Y3QgYnJjbXNfdGltZXIgKnQpXFxuIFxcbiBcXHQvKiBkZWxldGUgdGhlIHRpbWVyIGluIGNhc2UgaXQgaXMgYWN0aXZlICovXFxuIFxcdGJyY21zX2RlbF90aW1lcih0KTtcXG4rXFx0LyogRW5zdXJlIHRoZSBjYWxsYmFjayBoYXMgZmluaXNoZWQgYmVmb3JlIGZyZWVpbmcgdGhlIHRpbWVyXFxuK1xcdCAqIHN0cnVjdHVyZSwgc2luY2UgYnJjbXNfZGVsX3RpbWVyKCkgdXNlcyBub24tc3luY2hyb25vdXMgY2FuY2VsLlxcbitcXHQgKi9cXG4rXFx0Y2FuY2VsX2RlbGF5ZWRfd29ya19zeW5jKFxcdTAwMjZ0LVxcdTAwM2VkbHlfd3JrKTtcXG4gXFxuIFxcdGlmICh3bC1cXHUwMDNldGltZXJzID09IHQpIHtcXG4gXFx0XFx0d2wtXFx1MDAzZXRpbWVycyA9IHdsLVxcdTAwM2V0aW1lcnMtXFx1MDAzZW5leHQ7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTE1VDEyOjQ4OjE0LjUyMTg5NDA4MVoiLCJTZXEiOjIsIk5lc3RpbmciOjEsIlR5cGUiOiJhZ2VudCIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImJlc3QtZXhwZW5zaXZlIiwiRHVyYXRpb24iOjIyMjI4MTczOTM4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyB0aGUgYnJjbXNtYWMgZHJpdmVyLCB3aGljaCBpcyBhIHZlbmRvci1zcGVjaWZpYyBQQ0llIHdpcmVsZXNzIGRyaXZlciBmb3IgQnJvYWRjb20gaGFyZHdhcmUuIFRoaXMgaGFyZHdhcmUgaXMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgb3IgR0NFIGVudmlyb25tZW50cywgbWFraW5nIHRoZSBjb2RlIHVucmVhY2hhYmxlIGR1cmluZyBmdXp6aW5nLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuICBldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG4tIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLFxuICBpb25pYywgYW1kZ3B1KSB0aGF0IHJlcXVpcmUgcGh5c2ljYWwgUENJZSBoYXJkd2FyZSBjYXJkcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVS5cbi0gRHJpdmVyIC5yZW1vdmUsIC5zaHV0ZG93biwgb3IgcGNpX3VucmVnaXN0ZXJfZHJpdmVyIHRlYXJkb3duIGNhbGxiYWNrcyAoZS5nLiwgaWdiX3JlbW92ZSlcbiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4gICBQcmVmZXIgbm9uLXN0YXRpYywgbm9uLWlubGluZWQgQVBJIGVudHJ5cG9pbnQgZnVuY3Rpb25zIG92ZXIgaW50ZXJuYWwgc3RhdGljIGhlbHBlciBmdW5jdGlvbnNcbiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBBbHNvIGNoZWNrIFwiZGVwZW5kcyBvblwiIGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlnc1xuICAgbmVlZGVkIGZvciBLYnVpbGQgdG8gY29tcGlsZSB0aGUgY29kZSBzdGF0aWNhbGx5IGludG8gdm1saW51eC4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzXG4gICBvdXRwdXQgYXJyYXksIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgNDRkM2E1NWVmOTBkNmY4Y2U3ZGE4Mzg0ZjUwNmFlNmU2ZWVjODhkMVxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBTYXQgQXVnIDE1IDEyOjQ4OjEzIDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL21hYzgwMjExX2lmLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFjODAyMTFfaWYuY1xuaW5kZXggNjI1NWQ2NzNkMmQzZS4uYzFhMjMxOGQ3ZWE2ZiAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWM4MDIxMV9pZi5jXG4rKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFjODAyMTFfaWYuY1xuQEAgLTE1NzEsNiArMTU3MSwxMCBAQCB2b2lkIGJyY21zX2ZyZWVfdGltZXIoc3RydWN0IGJyY21zX3RpbWVyICp0KVxuIFxuIFx0LyogZGVsZXRlIHRoZSB0aW1lciBpbiBjYXNlIGl0IGlzIGFjdGl2ZSAqL1xuIFx0YnJjbXNfZGVsX3RpbWVyKHQpO1xuK1x0LyogRW5zdXJlIHRoZSBjYWxsYmFjayBoYXMgZmluaXNoZWQgYmVmb3JlIGZyZWVpbmcgdGhlIHRpbWVyXG4rXHQgKiBzdHJ1Y3R1cmUsIHNpbmNlIGJyY21zX2RlbF90aW1lcigpIHVzZXMgbm9uLXN5bmNocm9ub3VzIGNhbmNlbC5cbitcdCAqL1xuK1x0Y2FuY2VsX2RlbGF5ZWRfd29ya19zeW5jKFx1MDAyNnQtXHUwMDNlZGx5X3dyayk7XG4gXG4gXHRpZiAod2wtXHUwMDNldGltZXJzID09IHQpIHtcbiBcdFx0d2wtXHUwMDNldGltZXJzID0gd2wtXHUwMDNldGltZXJzLVx1MDAzZW5leHQ7XG4iLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0xNVQxMjo0ODoxNC41MjE4OTU0MzJaIiwiU2VxIjozLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo0OTUzNDg4Mzc4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyBhIEJyb2FkY29tIFdpcmVsZXNzIERyaXZlciBQYXRjaCoqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IHRoaXMgcGF0Y2ggYW5kIGl0J3MgbW9kaWZ5aW5nIGBicmNtc19mcmVlX3RpbWVyYCB3aXRoaW4gYGRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWM4MDIxMV9pZi5jYC4gVGhlIGNvcmUgb2YgdGhlIGNoYW5nZSBzZWVtcyBzdHJhaWdodGZvcndhcmQ6IGEgYGNhbmNlbF9kZWxheWVkX3dvcmtfc3luYyhcdTAwMjZ0LVx1MDAzZWRseV93cmspO2AgY2FsbCBpcyBiZWluZyBhZGRlZC4gVGhpcyBpcyBnb29kIHByYWN0aWNlLiBJdCdzIGVzc2VudGlhbGx5IGEgc3luY2hyb25pemF0aW9uIG1lY2hhbmlzbSB0byBndWFyYW50ZWUgdGhlIGNhbGxiYWNrIGFzc29jaWF0ZWQgd2l0aCB0aGF0IHRpbWVyIGhhcyBjb21wbGV0ZWQgaXRzIGV4ZWN1dGlvbiBiZWZvcmUgd2UgZnJlZSB0aGUgdGltZXIgc3RydWN0dXJlIGl0c2VsZi4gUHJldmVudGluZyBhIHVzZS1hZnRlci1mcmVlIHNpdHVhdGlvbiwgbW9zdCBsaWtlbHkuIEZ1bmN0aW9uYWxseSwgdGhpcyBpcyB3aXRoaW4gdGhlIGBicmNtc21hY2AgZHJpdmVyLlxuXG5Ob3csIGBicmNtc21hY2AuLi4gdGhhdCByaW5ncyBhIGJlbGwuIEFoIHllcywgaXQncyBhIGRyaXZlciBzcGVjaWZpY2FsbHkgZm9yIEJyb2FkY29tIFBDSWUgd2lyZWxlc3MgY2FyZHMuIEdpdmVuIHRoYXQgaXQncyBhIFBDSWUgZHJpdmVyLCBJIGltbWVkaWF0ZWx5IHN0YXJ0IHRoaW5raW5nIGFib3V0IHRlc3RpbmcgcG9zc2liaWxpdGllcy4gQ2FuIEkgZ2V0IHRoaXMgcnVubmluZyBpbiBRRU1VPyBUaGF0J3MgdGhlIGlkZWFsIHNjZW5hcmlvIGZvciBxdWlja2x5IHZhbGlkYXRpbmcgdGhpcyBraW5kIG9mIHBhdGNoLiBOZWVkIHRvIGNvbmZpcm0gdGhhdCBpdCAqaXMqIGluZGVlZCBhIFBDSWUgZHJpdmVyIGFuZCB0aGF0IEkgaGF2ZW4ndCBtaXhlZCBpdCB1cCB3aXRoIHNvbWV0aGluZyBlbHNlLiBJdCBjaGVja3Mgb3V0LCBgYnJjbXNtYWNgIGlzIFBDSWUuXG5cbk9rYXksIEknbGwgbmVlZCB0byBkaWcgZGVlcGVyIGludG8gdGhlIGNvZGUgdG8gdW5kZXJzdGFuZCB0aGUgY29udGV4dCBmdWxseS4gSSdsbCBuZWVkIHRvIGdvIHRocm91Z2ggYGRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWM4MDIxMV9pZi5jYCBhbmQgcHJvYmFibHkgYWxzbyBwb2tlIGFyb3VuZCBgZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL21haW4uY2AgdG8gc2VlIGhvdyB0aGVzZSB0aW1lcnMgYW5kIHdvcmsgcXVldWVzIGFyZSB1c2VkLiBHb3R0YSB1bmRlcnN0YW5kIHRoZSBjb21wbGV0ZSBjb250cm9sIGZsb3csIGJ1dCB0aGUgcHJlbWlzZSBpcyBzb3VuZC4gVGhpcyBpcyBhIHNvbGlkIHNhZmV0eSBuZXQgYWdhaW5zdCBwb3RlbnRpYWwgaXNzdWVzLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyMTAwLCJPdXRwdXRUb2tlbnMiOjQ0LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MjE0LCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMTVUMTI6NDg6MTkuNDc1Mzg2MzE5WiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjUxNzk3MDY1LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImJyY21zbWFjXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL01ha2VmaWxlPTE4PWNjZmxhZ3MteSA6PSBcXFxcXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvTWFrZWZpbGUtMjItXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL01ha2VmaWxlOjIzOmJyY21zbWFjLXkgOj0gXFxcXFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9NYWtlZmlsZS0yNC1cXHRtYWM4MDIxMV9pZi5vIFxcXFxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9NYWtlZmlsZS00NC1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvTWFrZWZpbGU6NDU6YnJjbXNtYWMtJChDT05GSUdfQlJDTVNNQUNfTEVEUykgKz0gbGVkLm9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvTWFrZWZpbGUtNDYtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL01ha2VmaWxlOjQ3Om9iai0kKENPTkZJR19CUkNNU01BQylcXHQrPSBicmNtc21hYy5vXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvYnJjbXNfdHJhY2VfYnJjbXNtYWMuaC0yMi0jdW5kZWYgVFJBQ0VfU1lTVEVNXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL2JyY21zX3RyYWNlX2JyY21zbWFjLmg6MjM6I2RlZmluZSBUUkFDRV9TWVNURU0gYnJjbXNtYWNcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvYnJjbXNfdHJhY2VfYnJjbXNtYWMuaC0yNC1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9icmNtc190cmFjZV9icmNtc21hYy5oPTczPVRSQUNFX0VWRU5UKGJyY21zX21hY2ludHN0YXR1cyxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9icmNtc190cmFjZV9icmNtc21hYy5oLTk4LSN1bmRlZiBUUkFDRV9JTkNMVURFX0ZJTEVcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvYnJjbXNfdHJhY2VfYnJjbXNtYWMuaDo5OTojZGVmaW5lIFRSQUNFX0lOQ0xVREVfRklMRSBicmNtc190cmFjZV9icmNtc21hY1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9icmNtc190cmFjZV9icmNtc21hYy5oLTEwMC0jaW5jbHVkZSBcXHUwMDNjdHJhY2UvZGVmaW5lX3RyYWNlLmhcXHUwMDNlXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvYnJjbXNfdHJhY2VfYnJjbXNtYWNfbXNnLmgtMjItI3VuZGVmIFRSQUNFX1NZU1RFTVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9icmNtc190cmFjZV9icmNtc21hY19tc2cuaDoyMzojZGVmaW5lIFRSQUNFX1NZU1RFTSBicmNtc21hY19tc2dcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvYnJjbXNfdHJhY2VfYnJjbXNtYWNfbXNnLmgtMjQtXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvYnJjbXNfdHJhY2VfYnJjbXNtYWNfbXNnLmg9NjQ9VFJBQ0VfRVZFTlQoYnJjbXNfZGJnLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL2JyY21zX3RyYWNlX2JyY21zbWFjX21zZy5oLTg4LSN1bmRlZiBUUkFDRV9JTkNMVURFX0ZJTEVcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvYnJjbXNfdHJhY2VfYnJjbXNtYWNfbXNnLmg6ODk6I2RlZmluZSBUUkFDRV9JTkNMVURFX0ZJTEUgYnJjbXNfdHJhY2VfYnJjbXNtYWNfbXNnXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL2JyY21zX3RyYWNlX2JyY21zbWFjX21zZy5oLTkwLSNpbmNsdWRlIFxcdTAwM2N0cmFjZS9kZWZpbmVfdHJhY2UuaFxcdTAwM2VcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9icmNtc190cmFjZV9icmNtc21hY190eC5oLTIyLSN1bmRlZiBUUkFDRV9TWVNURU1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvYnJjbXNfdHJhY2VfYnJjbXNtYWNfdHguaDoyMzojZGVmaW5lIFRSQUNFX1NZU1RFTSBicmNtc21hY190eFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9icmNtc190cmFjZV9icmNtc21hY190eC5oLTI0LVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL2JyY21zX3RyYWNlX2JyY21zbWFjX3R4Lmg9NzM9VFJBQ0VfRVZFTlQoYnJjbXNfYW1wZHVfc2Vzc2lvbixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9icmNtc190cmFjZV9icmNtc21hY190eC5oLTEwNi0jdW5kZWYgVFJBQ0VfSU5DTFVERV9GSUxFXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL2JyY21zX3RyYWNlX2JyY21zbWFjX3R4Lmg6MTA3OiNkZWZpbmUgVFJBQ0VfSU5DTFVERV9GSUxFIGJyY21zX3RyYWNlX2JyY21zbWFjX3R4XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL2JyY21zX3RyYWNlX2JyY21zbWFjX3R4LmgtMTA4LSNpbmNsdWRlIFxcdTAwM2N0cmFjZS9kZWZpbmVfdHJhY2UuaFxcdTAwM2VcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9icmNtc190cmFjZV9ldmVudHMuaD0zMz1zdGF0aWMgaW5saW5lIHZvaWQgdHJhY2VfICMjIG5hbWUocHJvdG8pIHt9XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvYnJjbXNfdHJhY2VfZXZlbnRzLmgtMzUtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL2JyY21zX3RyYWNlX2V2ZW50cy5oOjM2OiNpbmNsdWRlIFxcXCJicmNtc190cmFjZV9icmNtc21hYy5oXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9icmNtc190cmFjZV9ldmVudHMuaDozNzojaW5jbHVkZSBcXFwiYnJjbXNfdHJhY2VfYnJjbXNtYWNfdHguaFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvYnJjbXNfdHJhY2VfZXZlbnRzLmg6Mzg6I2luY2x1ZGUgXFxcImJyY21zX3RyYWNlX2JyY21zbWFjX21zZy5oXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9icmNtc190cmFjZV9ldmVudHMuaC0zOS1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9sZWQuYz01MT1pbnQgYnJjbXNfbGVkX3JlZ2lzdGVyKHN0cnVjdCBicmNtc19pbmZvICp3bClcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9sZWQuYy05My1cXHRzbnByaW50Zih3bC1cXHUwMDNlcmFkaW9fbGVkLm5hbWUsIHNpemVvZih3bC1cXHUwMDNlcmFkaW9fbGVkLm5hbWUpLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9sZWQuYzo5NDpcXHRcXHQgXFxcImJyY21zbWFjLSVzOnJhZGlvXFxcIiwgd2lwaHlfbmFtZSh3bC1cXHUwMDNld2lwaHkpKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbGVkLmMtOTUtXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFjODAyMTFfaWYuYz0xMjkzPXN0YXRpYyBzdHJ1Y3QgYmNtYV9kcml2ZXIgYnJjbXNfYmNtYV9kcml2ZXIgPSB7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFjODAyMTFfaWYuYy0xMzAyLS8qXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL21hYzgwMjExX2lmLmM6MTMwMzogKiBUaGlzIGlzIHRoZSBtYWluIGVudHJ5IHBvaW50IGZvciB0aGUgYnJjbXNtYWMgZHJpdmVyLlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWM4MDIxMV9pZi5jLTEzMDQtICpcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWM4MDIxMV9pZi5jPTEzMjA9c3RhdGljIGludCBfX2luaXQgYnJjbXNfbW9kdWxlX2luaXQodm9pZClcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWM4MDIxMV9pZi5jLTEzMjktLypcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFjODAyMTFfaWYuYzoxMzMwOiAqIFRoaXMgZnVuY3Rpb24gdW5sb2FkcyB0aGUgYnJjbXNtYWMgZHJpdmVyIGZyb20gdGhlIHN5c3RlbS5cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFjODAyMTFfaWYuYy0xMzMxLSAqXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL21hYzgwMjExX2lmLmM6MTMzMjogKiBUaGlzIGZ1bmN0aW9uIHVuY29uZGl0aW9uYWxseSB1bmxvYWRzIHRoZSBicmNtc21hYyBkcml2ZXIgbW9kdWxlIGZyb20gdGhlXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL21hYzgwMjExX2lmLmMtMTMzMy0gKiBzeXN0ZW0uXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTE1VDEyOjQ4OjE5LjUyNzE4ODA0NFoiLCJTZXEiOjUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjM4MTE0ODg3NTUsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqSW52ZXN0aWdhdGluZyB0aGUgYGJyY21zbWFjYCBEcml2ZXIgYW5kIEJDTUEgQnVzIENvbXBhdGliaWxpdHkgd2l0aCBRRU1VKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgdGhpcyBgYnJjbXNtYWNgIGRyaXZlciwgYW5kIHRoZSBjb2RlIHNheXMgaXQncyBhIEJDTUEgZHJpdmVyIOKAkyBzcGVjaWZpY2FsbHksIGl0J3MgdXRpbGl6aW5nIHRoZSBgYmNtYV9kcml2ZXJgIHN0cnVjdHVyZS4gUmlnaHQsIEJDTUEgaXMgQnJvYWRjb20ncyBidXMgYXJjaGl0ZWN0dXJlLCByaWdodD8gTm93IHRoZSBxdWVzdGlvbiBpcywgY2FuIEkgZXZlbiBnZXQgdGhpcyB0aGluZyB0byB0ZXN0IHByb3Blcmx5IGluIFFFTVU/IE15IGltbWVkaWF0ZSB0aG91Z2h0IGlzLCBnZW5lcmFsbHksIEJDTUEgZGV2aWNlcyBhcmUgKm5vdCogdGhlIGVhc2llc3QgdGhpbmdzIHRvIGVtdWxhdGUuIFFFTVUncyBzdXBwb3J0IGNhbiBiZSBzcG90dHksIGFuZCBJJ20gcHJldHR5IHN1cmUgSSBoYXZlbid0IHNlZW4gYW55IGVtdWxhdGVkIEJDTUEgaW1wbGVtZW50YXRpb25zIHRoYXQgYXJlIHBhcnRpY3VsYXJseSByb2J1c3QuIFNvLCBiZWZvcmUgSSBnbyBkb3duIGEgcmFiYml0IGhvbGUgdHJ5aW5nIHRvIGVtdWxhdGUgYSBidXMgdGhhdCdzIHByb2JhYmx5IG5vdCBzdXBwb3J0ZWQsIEkgbmVlZCB0byBmaWd1cmUgb3V0IGlmIHRoaXMgYGJyY21zbWFjYCBkcml2ZXIgZXZlbiAqbmVlZHMqIGEgQkNNQSBidXMuIEkgbmVlZCB0byBxdWlja2x5IGNoZWNrIGlmIHRoaXMgZHJpdmVyIGhhcyBhbnkgZGVwZW5kZW5jaWVzIG9uIFBDSSBiZWNhdXNlIHRoYXQgKmlzKiBmYWlybHkgY29tbW9uIGZvciB3aXJlbGVzcyBkZXZpY2VzLiBJZiBub3QsIG1heWJlIHRoZXJlIGlzIGFub3RoZXIgcG9zc2liaWxpdHkuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQ5MjUsIk91dHB1dFRva2VucyI6NDQsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo4MSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0xNVQxMjo0ODoyMy4zMzg2ODQwMjlaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NDc1NzA1NjUsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiY29uZmlnIEJSQ01TTUFDXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9LY29uZmlnXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9LY29uZmlnPTI9Y29uZmlnIEJSQ01VVElMXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvS2NvbmZpZy00LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9LY29uZmlnOjU6Y29uZmlnIEJSQ01TTUFDXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL0tjb25maWctNi1cXHR0cmlzdGF0ZSBcXFwiQnJvYWRjb20gSUVFRTgwMi4xMW4gUENJZSBTb2Z0TUFDIFdMQU4gZHJpdmVyXFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL0tjb25maWctMTctXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL0tjb25maWc6MTg6Y29uZmlnIEJSQ01TTUFDX0xFRFNcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvS2NvbmZpZy0xOS1cXHRkZWZfYm9vbCBCUkNNU01BQyBcXHUwMDI2XFx1MDAyNiBCQ01BX0RSSVZFUl9HUElPIFxcdTAwMjZcXHUwMDI2IE1BQzgwMjExX0xFRFNcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMTVUMTI6NDg6MjMuMzg2MjYwMTE0WiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6Mzc2NDYxMzM0MCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIEJyb2FkY29tIFdMQU4gRHJpdmVyKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgdGhpcyBkcml2ZXIsIFwiQnJvYWRjb20gSUVFRTgwMi4xMW4gUENJZSBTb2Z0TUFDIFdMQU4gZHJpdmVyLlwiIFJpZ2h0IGF3YXksIHRoZSBuYW1lIGdpdmVzIG1lIHNvbWUga2V5IGluZm9ybWF0aW9uOiBpdCdzIEJyb2FkY29tLCBkZWFscyB3aXRoIDgwMi4xMW4sIHVzZXMgUENJZSwgYW5kIGlzIGEgU29mdE1BQy4gRXhjZWxsZW50LiBOb3csIEkgbmVlZCB0byB1bmRlcnN0YW5kIGl0cyByZWxhdGlvbnNoaXAgdG8gdGhlIHJlc3Qgb2YgdGhlIHdpcmVsZXNzIHN1YnN5c3RlbS4gVGhlIGRlc2NyaXB0aW9uIG1lbnRpb25zIGRlcGVuZGVuY2llcyBvbiBgTUFDODAyMTFgLCBgQkNNQWAsIGFuZCBgUENJYC4gVGhhdCdzIG5vdCBzdXJwcmlzaW5nOyBJIHdhcyBleHBlY3RpbmcgYE1BQzgwMjExYCBmb3IgdGhlIFNvZnRNQUMgY29tcG9uZW50LCBhbmQgYFBDSWAgdG8gaGFuZGxlIHRoZSBQQ0llIGludGVyZmFjZS4gYEJDTUFgLi4uIHRoYXTigJlzIEJyb2FkY29tJ3Mgc3BlY2lmaWMgY29yZSBhcmNoaXRlY3R1cmUsIHdoaWNoIG1ha2VzIHBlcmZlY3Qgc2Vuc2UuXG5cbk15IG5leHQgc3RlcCBpcyB0byBkaXZlIGRlZXBlciBpbnRvIHRoZSBkcml2ZXIncyBjb25maWd1cmF0aW9uLCBzcGVjaWZpY2FsbHkgdGhlIGBLY29uZmlnYCBmaWxlLiBJJ2xsIG5lZWQgdG8gY29uZmlybSB0aGVzZSBkZXBlbmRlbmNpZXMgYW5kIHNlZSBpZiB0aGVyZSBhcmUgYW55IG90aGVyIHN1YnRsZSByZWxhdGlvbnNoaXBzIG9yIG9wdGlvbnMgZGVmaW5lZCB3aXRoaW4gdGhlIGRyaXZlcidzIG93biBjb25maWd1cmF0aW9uIHNlY3Rpb24uIEknbGwgaGVhZCBvdmVyIHRvIGBkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvS2NvbmZpZ2AgdG8gZG8ganVzdCB0aGF0LiBMZXQncyBzZWUgd2hhdCBmdXJ0aGVyIGRldGFpbHMgYWJvdXQgdGhpcyBkcml2ZXIgYXJlIHJldmVhbGVkIGluIGl0cyBjb25maWcuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjU1MjAsIk91dHB1dFRva2VucyI6NDUsIk91dHB1dFRob3VnaHRzVG9rZW5zIjo2OSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0xNVQxMjo0ODoyNy4xNTA4NzU1MzRaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJyZWFkLWZpbGUiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo2NjYxMCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkZpbGVcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvS2NvbmZpZ1wiLFxuICBcIkZpcnN0TGluZVwiOiAxLFxuICBcIkxpbmVDb3VudFwiOiAyMFxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiQ29udGVudHNcIjogXCIgICAxOlxcdCMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seVxcbiAgIDI6XFx0Y29uZmlnIEJSQ01VVElMXFxuICAgMzpcXHRcXHR0cmlzdGF0ZVxcbiAgIDQ6XFx0XFxuICAgNTpcXHRjb25maWcgQlJDTVNNQUNcXG4gICA2OlxcdFxcdHRyaXN0YXRlIFxcXCJCcm9hZGNvbSBJRUVFODAyLjExbiBQQ0llIFNvZnRNQUMgV0xBTiBkcml2ZXJcXFwiXFxuICAgNzpcXHRcXHRkZXBlbmRzIG9uIE1BQzgwMjExXFxuICAgODpcXHRcXHRkZXBlbmRzIG9uIEJDTUFfUE9TU0lCTEVcXG4gICA5OlxcdFxcdHNlbGVjdCBCQ01BXFxuICAxMDpcXHRcXHRzZWxlY3QgQlJDTVVUSUxcXG4gIDExOlxcdFxcdHNlbGVjdCBGV19MT0FERVJcXG4gIDEyOlxcdFxcdHNlbGVjdCBDT1JESUNcXG4gIDEzOlxcdFxcdGhlbHBcXG4gIDE0OlxcdFxcdCAgVGhpcyBtb2R1bGUgYWRkcyBzdXBwb3J0IGZvciBQQ0llIHdpcmVsZXNzIGFkYXB0ZXJzIGJhc2VkIG9uIEJyb2FkY29tXFxuICAxNTpcXHRcXHQgIElFRUU4MDIuMTFuIFNvZnRNQUMgY2hpcHNldHMuIElmIHlvdSBjaG9vc2UgdG8gYnVpbGQgYSBtb2R1bGUsIHRoZVxcbiAgMTY6XFx0XFx0ICBkcml2ZXIgd2lsbCBiZSBjYWxsZWQgYnJjbXNtYWMua28uXFxuICAxNzpcXHRcXG4gIDE4OlxcdGNvbmZpZyBCUkNNU01BQ19MRURTXFxuICAxOTpcXHRcXHRkZWZfYm9vbCBCUkNNU01BQyBcXHUwMDI2XFx1MDAyNiBCQ01BX0RSSVZFUl9HUElPIFxcdTAwMjZcXHUwMDI2IE1BQzgwMjExX0xFRFNcXG4gIDIwOlxcdFxcdGhlbHBcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMTVUMTI6NDg6MjcuMTUwOTQzMTk0WiIsIlNlcSI6OSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDU2NDEzMjAyNywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipQQ0llIFdpcmVsZXNzIEFkYXB0ZXIgRHJpdmVyIFRlc3RpbmcgaW4gUUVNVSoqXG5cbk9rYXksIHNvIEknbSBsb29raW5nIGF0IHRoaXMgUENJZSB3aXJlbGVzcyBhZGFwdGVyIGRyaXZlciwgYW5kIG15IGZpcnN0IHRob3VnaHQgaXMsIFwiQ2FuIEkgYWN0dWFsbHkgdGVzdCB0aGlzIGluIFFFTVU/XCIgVGhlIGRvY3VtZW50YXRpb24gdGhyb3dzIGEgd3JlbmNoIGluIHRoaW5ncywgc2F5aW5nIHRoYXQgdmVuZG9yLXNwZWNpZmljIGRyaXZlcnMgZm9yIFBDSWUgc3dpdGNoZXMsIFNtYXJ0TklDcywgb3IgR1BVc+KAlGxpa2UgdGhvc2UgZm9yIG1seHN3LCBwZHNfY29yZSwgcWVkLCBpb25pYywgYW1kZ3B14oCUYXJlIHRoZSBwcm9ibGVtLiBUaGV5IHJlcXVpcmUgcGh5c2ljYWwgUENJZSBjYXJkcyB0aGF0IGFyZW4ndCBwcm9wZXJseSBlbXVsYXRlZCBieSB0aGUgc3RhbmRhcmQgUUVNVSBzZXR1cC4gU28sIGlzIGBicmNtc21hY2AsIHRoZSBkcml2ZXIgaW4gcXVlc3Rpb24gaGVyZSwgb25lIG9mIHRob3NlPyBObywgdGhlIG5vdGVzIGFyZSBjbGVhcjogUUVNVSBkb2Vzbid0IGVtdWxhdGUgQnJvYWRjb20gUENJZSB3aXJlbGVzcyBjYXJkcy4gRGFtbi5cblxuQnV0IHdhaXQsIGFtIEkgc3R1Y2s/IENhbiBJIHNvbWVob3cgcmVhY2ggaXQgdGhyb3VnaCBzb2Z0d2FyZSBlbXVsYXRpb24/IEkgcmVtZW1iZXIgYG1hYzgwMjExX2h3c2ltYCB3aGljaCBlbXVsYXRlcyB0aGUgbWFjODAyMTEgc3RhY2suICBCdXQgdGhhdCB3b24ndCBoZWxwOyBpdCdzIHRoZSBzcGVjaWZpYyBCcm9hZGNvbSBQQ0llIGhhcmR3YXJlIHRoYXQncyBtaXNzaW5nLCBhbmQgYG1hYzgwMjExX2h3c2ltYCBkb2Vzbid0IHByb3ZpZGUgdGhhdC5cblxuT2theSwgbGV0J3MgdGFrZSBhIGRpZmZlcmVudCBhcHByb2FjaC4gVGhlIGZ1bmN0aW9uIGBicmNtc19mcmVlX3RpbWVyYCBpcyBwYXJ0IG9mIHRoZSBgYnJjbXNtYWNgIGRyaXZlci4gSWYgSSBjYW4ndCBlbXVsYXRlIHRoZSBoYXJkd2FyZSwgbWF5YmUgSSBjYW4gZmluZCBvdGhlciBwYXRocyB0byB0ZXN0IG9yIGRlYnVnIHRoaXMgZHJpdmVyLiBJIG5lZWQgdG8gdW5kZXJzdGFuZCBob3cgYW5kIHdoZXJlIHRoYXQgZnVuY3Rpb24gaXMgdXNlZC4gU28sIGxldCdzIGZpbmQgYWxsIHRoZSBjYWxsIHNpdGVzIG9mIGBicmNtc19mcmVlX3RpbWVyYC5cblxuXG4iLCJJbnB1dFRva2VucyI6NjE4NCwiT3V0cHV0VG9rZW5zIjo0NywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjE5MCwiVG9vbENhbGxzIjpbInJlYWQtZmlsZSJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTE1VDEyOjQ4OjMxLjcxNTA4NjQ2MVoiLCJTZXEiOjEwLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NDQyNzkxMzYsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiYnJjbXNfZnJlZV90aW1lclwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWM4MDIxMV9pZi5jPTE1NTE9Ym9vbCBicmNtc19kZWxfdGltZXIoc3RydWN0IGJyY21zX3RpbWVyICp0KVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL21hYzgwMjExX2lmLmMtMTU2Ni0gKi9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFjODAyMTFfaWYuYzoxNTY3OnZvaWQgYnJjbXNfZnJlZV90aW1lcihzdHJ1Y3QgYnJjbXNfdGltZXIgKnQpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL21hYzgwMjExX2lmLmMtMTU2OC17XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFjODAyMTFfaWYuaD0xMDM9c3RydWN0IGJyY21zX3RpbWVyICpicmNtc19pbml0X3RpbWVyKHN0cnVjdCBicmNtc19pbmZvICp3bCxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWM4MDIxMV9pZi5oLTEwNS1cXHRcXHRcXHRcXHQgICAgIGNvbnN0IGNoYXIgKm5hbWUpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWM4MDIxMV9pZi5oOjEwNjp2b2lkIGJyY21zX2ZyZWVfdGltZXIoc3RydWN0IGJyY21zX3RpbWVyICp0aW1lcik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL21hYzgwMjExX2lmLmgtMTA3LXZvaWQgYnJjbXNfYWRkX3RpbWVyKHN0cnVjdCBicmNtc190aW1lciAqdGltZXIsIHVpbnQgbXMsIGludCBwZXJpb2RpYyk7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFpbi5jPTQ3NDY9c3RhdGljIHZvaWQgYnJjbXNfY190aW1lcnNfZGVpbml0KHN0cnVjdCBicmNtc19jX2luZm8gKndsYylcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWluLmMtNDc0OS1cXHRpZiAod2xjLVxcdTAwM2V3ZHRpbWVyKSB7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL21haW4uYzo0NzUwOlxcdFxcdGJyY21zX2ZyZWVfdGltZXIod2xjLVxcdTAwM2V3ZHRpbWVyKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbXNtYWMvbWFpbi5jLTQ3NTEtXFx0XFx0d2xjLVxcdTAwM2V3ZHRpbWVyID0gTlVMTDtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWluLmMtNDc1My1cXHRpZiAod2xjLVxcdTAwM2VyYWRpb190aW1lcikge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWluLmM6NDc1NDpcXHRcXHRicmNtc19mcmVlX3RpbWVyKHdsYy1cXHUwMDNlcmFkaW9fdGltZXIpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9tYWluLmMtNDc1NS1cXHRcXHR3bGMtXFx1MDAzZXJhZGlvX3RpbWVyID0gTlVMTDtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9waHlfc2hpbS5jPTY3PXZvaWQgd2xhcGlfZnJlZV90aW1lcihzdHJ1Y3Qgd2xhcGlfdGltZXIgKnQpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21zbWFjL3BoeV9zaGltLmMtNjgte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9waHlfc2hpbS5jOjY5OlxcdGJyY21zX2ZyZWVfdGltZXIoKHN0cnVjdCBicmNtc190aW1lciAqKXQpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtc21hYy9waHlfc2hpbS5jLTcwLX1cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMTVUMTI6NDg6MzEuNzU5MzY5NjA3WiIsIlNlcSI6MTEsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjQ5OTA2NTY5NzQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqTXkgQXNzZXNzbWVudDogTm90IFdvcnRoIEZ1enppbmcqKlxuXG5Pa2F5LCBzbyBJJ3ZlIGdvdCB0aGlzIGBicmNtc19mcmVlX3RpbWVyYCBmdW5jdGlvbi4gVGhlIGNvZGUncyB0ZWxsaW5nIG1lIGl0IGdldHMgY2FsbGVkIHdoZW4gdGhlIGRyaXZlciBpcyBzaHV0dGluZyBkb3duIOKAkyBzcGVjaWZpY2FsbHksIGR1cmluZyBgYnJjbXNfY190aW1lcnNfZGVpbml0YCBhbmQgYWxzbyBpbiBgd2xhcGlfZnJlZV90aW1lcmAsIGJvdGggb2Ygd2hpY2ggYXJlIHBhcnQgb2YgZWl0aGVyIHRoZSBkcml2ZXIncyB0ZWFyZG93biBzZXF1ZW5jZSBvciB3aGVuIHRoZSBpbml0aWFsaXphdGlvbiBoYXMgZmFpbGVkLiBBbGFybSBiZWxscyBhcmUgYWxyZWFkeSByaW5naW5nIGEgbGl0dGxlLCBiZWNhdXNlIHRob3NlIGFyZSAqY2xlYW51cCogcGF0aHMsIG5vdCBvcGVyYXRpb25hbCBvbmVzLlxuXG5UaGVuIEkgZ2V0IHRvIHRoZSBzcGVjaWZpY3MuIFRoaXMgaXMgYSAqdmVuZG9yLXNwZWNpZmljIFBDSWUgZHJpdmVyKi4gVGhhdCdzIHRoZSBrZXkuIEFuZCBpdCdzIGZvciBoYXJkd2FyZSB0aGF0IGlzbid0IGdvaW5nIHRvIGJlIGVtdWxhdGVkIGluIHlvdXIgc3RhbmRhcmQgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzLiBObyBkaWNlIGluIFFFTVUsIG5vIGNoYW5jZSBpbiBHQ0UuIFRoZSBpbnN0cnVjdGlvbnMgYXJlIHByZXR0eSBjbGVhcjogaWYgdGhlIHBhdGNoIGlzIGxpbWl0ZWQgdG8gY29kZSBkZWFsaW5nIHdpdGggdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgdGhhdCAqbmVlZCogYWN0dWFsIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUsIHRoZW4gaXQncyBhIG5vLWdvIGZvciBmdXp6aW5nLiBJdCBsaXN0cyBzb21lIHNwZWNpZmljIGV4YW1wbGVzIC0gYW5kIG1pbmUgaXMganVzdCBsaWtlIHRob3NlLlxuXG5HaXZlbiBhbGwgb2YgdGhhdCwgaXQncyBhIHN0cmFpZ2h0Zm9yd2FyZCBkZWNpc2lvbi4gVGhpcyBwYXRjaCBpcyB1bmVxdWl2b2NhbGx5ICpub3QqIHdvcnRoIHRoZSB0aW1lIGFuZCByZXNvdXJjZXMgdG8gYXR0ZW1wdCBmdXp6aW5nLiBJJ20gcmV0dXJuaW5nIGBXb3J0aEZ1enppbmc9ZmFsc2VgLlxuXG5cbiIsIklucHV0VG9rZW5zIjo3NjM1LCJPdXRwdXRUb2tlbnMiOjc4LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTcyLCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTE1VDEyOjQ4OjM2Ljc1MDAyOTU5WiIsIlNlcSI6MTIsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzcyMDAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgdGhlIGJyY21zbWFjIGRyaXZlciwgd2hpY2ggaXMgYSB2ZW5kb3Itc3BlY2lmaWMgUENJZSB3aXJlbGVzcyBkcml2ZXIgZm9yIEJyb2FkY29tIGhhcmR3YXJlLiBUaGlzIGhhcmR3YXJlIGlzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIG9yIEdDRSBlbnZpcm9ubWVudHMsIG1ha2luZyB0aGUgY29kZSB1bnJlYWNoYWJsZSBkdXJpbmcgZnV6emluZy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIHRoZSBicmNtc21hYyBkcml2ZXIsIHdoaWNoIGlzIGEgdmVuZG9yLXNwZWNpZmljIFBDSWUgd2lyZWxlc3MgZHJpdmVyIGZvciBCcm9hZGNvbSBoYXJkd2FyZS4gVGhpcyBoYXJkd2FyZSBpcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgUUVNVSBvciBHQ0UgZW52aXJvbm1lbnRzLCBtYWtpbmcgdGhlIGNvZGUgdW5yZWFjaGFibGUgZHVyaW5nIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0xNVQxMjo0ODozNi43NTAwNzAxMVoiLCJTZXEiOjEzLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6IklmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzAwMCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+IHsKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOyAKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iKSB7CgkJCQkJc3RhdHMubGxtLmNvdW50Kys7CgkJCQkJc3RhdHMubGxtLnRva2VucyArPSAocy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2Vucyk7CgkJCQkJc3RhdHMubGxtLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0gZWxzZSBpZiAocy5UeXBlID09PSAidG9vbCIpIHsKCQkJCQlzdGF0cy50b29sLmNvdW50Kys7CgkJCQkJc3RhdHMudG9vbC5kdXJhdGlvbiArPSBkdXI7CgkJCQl9CgkJCX0pOwoKCQkJY29uc3QgYXZnTGxtRHVyID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0uZHVyYXRpb24gLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdMbG1Ub2tlbiA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLnRva2VucyAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z1Rvb2xEdXIgPSBzdGF0cy50b29sLmNvdW50ID4gMCA/IChzdGF0cy50b29sLmR1cmF0aW9uIC8gc3RhdHMudG9vbC5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgoJCQljb25zdCBsbG1TdW1hcnlDZWxscyA9IFtzdGF0cy5sbG0uY291bnQsIHN0YXRzLmxsbS50b2tlbnMsIGF2Z0xsbVRva2VuLCBzdGF0cy5sbG0uZHVyYXRpb24sIGF2Z0xsbUR1cl07CgkJCWNvbnN0IHRvb2xTdW1tYXJ5Q2VsbHMgPSBbc3RhdHMudG9vbC5jb3VudCwgc3RhdHMudG9vbC5kdXJhdGlvbiwgYXZnVG9vbER1cl07CgoJCQljb25zdCBsbG1TdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsbG1fc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCWxsbVN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCBsbG1UciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCWxsbVN1bWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQlsbG1Uci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQlsbG1TdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZChsbG1Ucik7CgoJCQljb25zdCB0b29sU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJdG9vbFN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCB0b29sVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQl0b29sU3VtbWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQl0b29sVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJdG9vbFN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKHRvb2xUcik7CgkJfQoKCQlmdW5jdGlvbiBkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGZpbHRlcmVkU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IFsibGxtIiwgInRvb2wiXS5pbmNsdWRlcyhkLlR5cGUpKTsKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnRHVyYXRpb24nKTsKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsgCgoJCQlmaWx0ZXJlZFN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQkKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOwoJCQkJbGV0IHRvb2x0aXAgPSBzLk5hbWU7CgkJCQlpZiAocy5UeXBlID09PSAibGxtIiAmJiBzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgkJCQlkYXRhLmFkZFJvdyhbYCR7cy5TZXF9YCwgZHVyLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVGltZSBDb25zdW1wdGlvbiBvZiBMTE0vVG9vbCBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNL1Rvb2wgU3RlcHMnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnU2Vjb25kcycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHVyYXRpb25fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGxsbVN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBkLlR5cGUgPT09ICJsbG0iKTsKCQkJaWYgKGxsbVN0ZXBzLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnVG9rZW5zJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3N0eWxlJ30pOwkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsJCgoJCQljb25zdCBhZ2VudENvbG9ycyA9IHt9OwoJCQljb25zdCBwYWxldHRlID0gWycjNDI4NUY0JywgJyNEQjQ0MzcnLCAnI0Y0QjQwMCcsICcjMEY5RDU4JywgJyNBQjQ3QkMnLCAnIzAwQUNDMSddOwoJCQlsZXQgY29sb3JJZHggPSAwOwoJCQljb25zdCBhZ2VudExMTUNvdW50cyA9IHt9OwoJCQlsbG1TdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJaWYgKCFhZ2VudENvbG9yc1tzLk5hbWVdKSB7CgkJCQkJYWdlbnRDb2xvcnNbcy5OYW1lXSA9IHBhbGV0dGVbY29sb3JJZHggJSBwYWxldHRlLmxlbmd0aF07CgkJCQkJY29sb3JJZHgrKzsKCQkJCX0KCgkJCQlhZ2VudExMTUNvdW50c1tzLk5hbWVdID0gKGFnZW50TExNQ291bnRzW3MuTmFtZV0gfHwgMCkgKyAxOwoJCQkJY29uc3QgbGFiZWwgPSBgJHtzLk5hbWV9LSR7YWdlbnRMTE1Db3VudHNbcy5OYW1lXX1gOwoJCQkJY29uc3QgdG90YWxUb2tlbnMgPSBzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zOwoJCQkJY29uc3Qgc3R5bGUgPSBgY29sb3I6ICR7YWdlbnRDb2xvcnNbcy5OYW1lXX1gOwoJCQkJbGV0IHRvb2x0aXAgPSBgVG90YWwgVG9rZW5zOiAke3RvdGFsVG9rZW5zfVxuKEluOiAke3MuSW5wdXRUb2tlbnN9LCBPdXQ6ICR7cy5PdXRwdXRUb2tlbnN9LCBUaG91Z2h0czogJHtzLk91dHB1dFRob3VnaHRzVG9rZW5zfSlgOwoJCQkJaWYgKHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCgkJCQlkYXRhLmFkZFJvdyhbbGFiZWwsIHRvdGFsVG9rZW5zLCBzdHlsZSwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1Rva2VuIENvbnN1bXB0aW9uIGJ5IExMTSBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNIENhbGwgU2VxdWVuY2UnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnQ29uc3VtZWQgVG9rZW5zJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b2tlbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoJCWxldCBhbGxFeHBhbmRlZCA9IGZhbHNlOwoJCWZ1bmN0aW9uIHRvZ2dsZUFsbERldGFpbHMoKSB7CgkJCWFsbEV4cGFuZGVkID0gIWFsbEV4cGFuZGVkOwoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkZXRhaWxzJykuZm9yRWFjaChkID0+IHsKCQkJCWlmIChhbGxFeHBhbmRlZCkgZC5zZXRBdHRyaWJ1dGUoJ29wZW4nLCAnJyk7CgkJCQllbHNlIGQucmVtb3ZlQXR0cmlidXRlKCdvcGVuJyk7CgkJCX0pOwoJCX0KCTwvc2NyaXB0PgoKCjwvYm9keT4KPC9odG1sPgo=" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflow6g9sq[1] Phase: Running StartedAt: 2026-08-15 12:48:48 +0000 UTC FinishedAt: 0001-01-01 00:00:00 +0000 UTC Input: nil Output: nil --------- Name: series-workflow6g9sq[1].abort-on-skip-outcome Phase: Failed StartedAt: 2026-08-15 12:48:48 +0000 UTC FinishedAt: 2026-08-15 12:48:52 +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,}