MjAwMS0wOC0xNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsaWJpby9pb2Z3aWRlLmMgKF9JT19md2lkZSk6IERvbid0IHJlc2V0IGZpbGUgcG9zaXRpb24gdG8KCWJlZ2lubmluZyBvZiBmaWxlLCByZWFsbHkgZ2V0IGN1cnJlbnQgcG9zaXRpb24uCgoyMDAxLTA4LTE1ICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogc3lzZGVwcy9tNjhrL202ODAyMC9hdG9taWNpdHkuaCAoYXRvbWljX2FkZCk6IERvbid0IGFsbG93CglhZGRyZXNzIHJlZ2lzdGVyIGZvciBvcGVyYW5kIDAuCgoyMDAxLTA4LTE0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN0ZGlvLWNvbW1vbi9wZXJyb3IuYyAocGVycm9yKTogVXNlIF9JT19md2lkZSBpbnN0ZWFkIG9mIGZ3aWRlLgoKCSogbGliaW8vbGliaW8uaCAoX0lPX2Z3aWRlKTogSGFuZGxlIHplcm8gYXMgc2Vjb25kIHBhcmFtZXRlciBtb3JlCgllZmZpY2llbnRseSBpbiBtYWNyby4KCjIwMDEtMDgtMTQgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogcmVzb2x2L25zc19kbnMvZG5zLWhvc3QuYyAoUkVTT0xWU09SVCk6IERlZmluZS4KCShhZGRyc29ydCk6IE5ldyBmdW5jdGlvbi4KCSogcmVzb2x2L2dldGhuYW1hZGRyLmMgKFJFU09MVlNPUlQpOiBEZWZpbmUuCgoyMDAxLTA4LTE0ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN0cmluZy9zdHJzaWduYWwuYyAoZnJlZV9tZW0pOiBSZW1vdmUuCgoyMDAxLTA4LTE0ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBpbmV0L2luZXRfbnRvYS5jIChmcmVlX21lbSk6IFJlbW92ZSwgaXQncyBub3QgdXNlZCBhbnltb3JlLgoJQ2xvc2VzIFBSIGxpYmMvMjQ3NywgcmVwb3J0ZWQgYnkgRHlsYW4gQWxleCBTaW1vbgoJPGR5bGFuQGR5bGV4LmNhbHRlY2guZWR1Pi4KCjIwMDEtMDgtMTQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbG9jYWxlL01ha2VmaWxlIChhdXgpOiBBZGQgeGxvY2FsZS4KCSogbG9jYWxlL3hsb2NhbGUuYzogTmV3IGZpbGUuCgkqIGluY2x1ZGUvbG9jYWxlLmMgKF9ubF9DX2xvY29iaik6IERlY2xhcmUuCgkqIGljb252L2djb252X2NoYXJzZXQuaDogVXNlIF9fdG9sb3dlcl9sLCBfX2lzZGlnaXRfbCwgX19pc3NwYWNlX2wKCXdpdGggX25sX0NfbG9jb2JqIGluc3RlYWQgb2YgdG9sb3dlciwgaXNkaWdpdCwgaXNzcGFjZS4KCSogaWNvbnYvZ2NvbnZfY29uZi5jOiBMaWtld2lzZS4KCSogaWNvbnYvZ2NvbnZfaW50Lmg6IExpa2V3aXNlLgoJKiBpY29udi9nY29udl9vcGVuLmM6IExpa2V3aXNlLgoKCSogbG9jYWxlL25ld2xvY2FsZS5jOiBNaW5vciBjbGVhbnVwcy4KCjIwMDEtMDgtMTQgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvaWVlZTc1NC9sZGJsLTEyOC93X2V4cGwuYzogTmV3IGZpbGUsIGNvcHkgZnJvbQoJbGRibC05Ni93X2V4cGwuYyB3aXRoIHR3ZWFrZWQgY29uc3RhbnRzLiAgUGF0Y2ggYnkgU3RlcGhlbiBMCglNb3NoaWVyLgoKMjAwMS0wOC0xMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBtYWxsb2MvbWVtdXNhZ2UuYyAobWUpOiBBbGxvdyBjcmVhdGluZyB0aGUgb3V0cHV0IGZpbGUuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9NYWtlZmlsZTogUmVtb3ZlIC1ma2VlcC1pbmxpbmUtZnVuY3Rpb25zCglmbGFnIGZvciBpbml0LWZpcnN0LgoKCSogcG8vZnIucG86IFVwZGF0ZSBmcm9tIHRyYW5zbGF0aW9uIHRlYW0uCgoyMDAxLTA4LTEzICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL21pcHMvbWFjaGluZS1nbW9uLmggKE1DT1VOVCk6IERvbid0IHVzZSBkZWxheSBzbG90IGZvcgoJamFsIHNpbmNlIGl0J3MgYSBtYWNyby4KCVBhdGNoIGJ5IFNpbW9uIEdlZSA8c2ltb25nQG96LmFnaWxlLnR2Pi4KCjIwMDEtMDgtMTIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaWNvbnZkYXRhL01ha2VmaWxlOiBBZGQgcnVsZXMgdG8gYnVpbGQgSVNPLUlSLTIwOSBhbmQgTUFDLVNBTUkuCgkqIGljb252ZGF0YS9pc28taXItMjA5LmM6IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvbWFjLXNhbWkuYzogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9nY29udi1tb2R1bGVzOiBBZGQgZW50cmllcyBmb3IgSVNPLUlSLTIwOSBhbmQgTUFDLVNBTUkuCgkqIGljb252ZGF0YS90c3QtdGFibGVzLnNoOiBMaWtld2lzZS4KCgkqIHBvc2l4L2dldG9wdC5jOiBSZW1vdmUgc3RvcmVfYXJnc19hbmRfZW52IHdoaWNoIGlzIG5vdCBuZWVkZWQgc2luY2UKCVVTRV9OT05PUFRJT05fRkxBR1MgaXMgdW5kZWZpbmVkIGFueWhvdy4gIFVzZSBfX2xpYmNfYXJnYyBhbmQKCV9fbGliY19hcmd2IHZhcmlhYmxlcy4KCjIwMDEtMDgtMTIgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQGZyb2IuY29tPgoKCSogc3lzZGVwcy9tYWNoL2h1cmQvY2xvY2suYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvbWFjaC9odXJkL3RpbWVzLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL21hY2gvaHVyZC9nZXRjbGt0Y2suYyAoX19nZXRjbGt0Y2spOiBBbHdheXMgcmV0dXJuIDEwMDAwMDAuCgkqIHN5c2RlcHMvbWFjaC9odXJkL2luaXQtcG9zaXguYzogTmV3IGZpbGUuCgoJKiBodXJkL2h1cmRsb29rdXAuYyAoX19odXJkX2ZpbGVfbmFtZV9sb29rdXApOiBDb21tZW50IGZpeC4KCjIwMDEtMDgtMTEgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQGZyb2IuY29tPgoKCSogc3lzZGVwcy9tYWNoL2h1cmQvYml0cy90aW1lLmgKCShDTE9DS19QUk9DRVNTX0NQVVRJTUVfSUQsIENMT0NLX1RIUkVBRF9DUFVUSU1FX0lEKTogTmV3IG1hY3Jvcy4KCSogc3lzZGVwcy9tYWNoL2h1cmQvaTM4Ni9iaXRzL3RpbWUuaDogRmlsZSByZW1vdmVkLgoKCSogcG9zaXgvZ2V0b3B0LmMgKG5vbm9wdGlvbl9mbGFnc19tYXhfbGVuLCBub25vcHRpb25fZmxhZ3NfbGVuKToKCU1ha2UgdGhlc2UgZGVmbnMgY29uZGl0aW9uYWwgb24gW1VTRV9OT05PUFRJT05fRkxBR1NdLgoKMjAwMS0wOC0xMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBjb25maWcuaC5pbjogQWRkICN1bmRlZiBsaW5lIGZvciBVU0VfTk9OT1BUSU9OX0ZMQUdTLgoJKiBwb3NpeC9nZXRvcHRfaW5pdC5jOiBQcm9kdWNlIGNvZGUgb25seSBpZiBVU0VfTk9OT1BUSU9OX0ZMQUdTIGlzCglkZWZpbmVkLgoJKiBwb3NpeC9nZXRvcHQuYzogVXNlIF9fZ2V0b3B0X25vbm9wdGlvbl9mbGFncyBvbmx5IGlmCglVU0VfTk9OT1BUSU9OX0ZMQUdTIGlzIGRlZmluZWQuCgkqIHN5c2RlcHMvbWFjaC9odXJkL2kzODYvaW5pdC1maXJzdC5jOiBVc2UgX19nZXRvcHRfY2xlYW5fZW52aXJvbm1lbnQKCW9ubHkgaWYgVVNFX05PTk9QVElPTl9GTEFHUyBpcyBkZWZpbmVkLgoJKiBzeXNkZXBzL21hY2gvaHVyZC9taXBzL2luaXQtZmlyc3QuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2luaXQtZmlyc3QuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvYXJtL2luaXQtZmlyc3QuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9pbml0LWZpcnN0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvaW5pdC1maXJzdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zaC9pbml0LWZpcnN0LmM6IExpa2V3aXNlLgoKMjAwMS0wOC0xMSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy9pZWVlNzU0L2xkYmwtMTI4L2VfajBsLmM6IE5ldyBmaWxlLgoJQ29udHJpYnV0ZWQgYnkgU3RlcGhlbiBMIE1vc2hpZXIgPG1vc2hpZXJAbWVkaWFvbmUubmV0Pi4KCjIwMDEtMDgtMTEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogYXNzZXJ0L2Fzc2VydC5jIChzZXRfcHJvZ25hbWUpOiBSZW1vdmVkLgoJKF9fYXNzZXJ0X2ZhaWwpOiBVc2UgX19wcm9nbmFtZSBpbnN0ZWFkIG9mIF9fYXNzZXJ0X3Byb2dyYW1fbmFtZS4KCSogYXNzZXJ0L2Fzc2VydC1wZXJyLmMgKF9fYXNzZXJ0X3BlcnJvcl9mYWlsKTogTGlrZXdpc2UuCgoJKiBtYWxsb2MvbWFsbG9jLmMgKHB0bWFsbG9jX2luaXQpOiBEb24ndCBjYWxsIGdldGVudiBmaXZlIHRpbWVzLgoJSW5zdGVhZCB1c2UgbmV3IGZ1bmN0aW9uIG5leHRfZW52X2VudHJ5IHdoaWNoIGl0ZXJhdGVzIG92ZXIgdGhlCgllbnZpcm9ubWVudCBvbmNlLgoKCSogc3lzZGVwcy9hcm0vZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9ydW50aW1lX3NldHVwKTogT25seSBzZXQKCV9kbF9wcm9maWxlX21hcCBmb3IgdGhlIHJpZ2h0IG9iamVjdC4KCgkqIGVsZi9kbC1yZWxvYy5jIChfZGxfcmVsb2NhdGVfb2JqZWN0KTogQWxsb2NhdGUgbF9yZWxvY19yZXN1bHQKCW9ubHkgaWYgY29uc2lkZXJfcHJvZmlsaW5nIGlzICE9IDAsIG5vdCBpZiBfZGxfcHJvZmlsZSAhPSBOVUxMLgoKCSogc3lzZGVwcy9nZW5lcmljL2RsLWVudmlyb24uYyAoX2RsX25leHRfbGRfZW52X2VudHJ5KTogT3B0aW1pemUgYSBiaXQuCglOb3cgcmV0dXJucyBwb2ludGVyIHRvIGZpcnN0IGNoYXJhY3RlciBhZnRlciAiTERfIi4KCSogZWxmL3J0bGQuYyAocHJvY2Vzc19lbnZ2YXJzKTogQWRqdXN0IGZvciBjaGFuZ2UgYWJvdmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2RsLWxpYnJlY29uLmggKEVYVFJBX0xEX0VOVlZBUlMpOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9kbC1saWJyZWNvbi5oIChFWFRSQV9MRF9FTlZWQVJTKToKCUxpa2V3aXNlLgoKMjAwMS0wOC0xMCAgV29sZnJhbSBHbG9nZXIgIDx3Z0BtYWxsb2MuZGU+CgoJKiBtYWxsb2MvbWFsbG9jLmMgKGdyb3dfaGVhcCk6IFVzZSBtbWFwKCkgcmF0aGVyIHRoYW4gbXByb3RlY3QoKQoJdG8gYWxsb2NhdGUgbmV3IG1lbW9yeSwgZm9yIGJldHRlciBwZXJmb3JtYW5jZSB3aXRoIExpbnV4LTIuNC54LgoKMjAwMS0wOC0xMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBwb3NpeC9nZXRvcHRfaW5pdC5jIChfX2dldG9wdF9jbGVhbl9lbnZpcm9ubWVudCk6IEF2b2lkIG1ha2luZwoJdGhlIHN0cm5jbXAgY2FsbHMgbW9zdCBvZiB0aGUgdGltZSBieSB0ZXN0aW5nIGZvciAnXycgYXMgdGhlIGZpcnN0CgljaGFyYWN0ZXIgb2YgdGhlIG5hbWUuCgoJKiBlbGYvZGwtb3Blbi5jIChhZGRfdG9fZ2xvYmFsKTogUmVtb3ZlIHN0YWxlIGNvbW1lbnQuCgoJKiBlbGYvZGwtbG9hZC5jIChmaWxsaW5fcnBhdGgpOiBJbiBTVUlEIGJpbmFyaWVzLCBkb24ndCBtYXJrCglub24tc3lzdGVtLWRpcnMgaW4gTERfTElCUkFSWV9QQVRIIGFzIG5vbmV4aXN0aW5nLCBzaW1wbHkgZHJvcCB0aGVtLgoKCSogbGliaW8vaW92ZHByaW50Zi5jIChfSU9fdmRwcmludGYpOiBTZXQgX0lPX1VTRVJfTE9DSyBmbGFnIGZvcgoJdGVtcG9yYXJ5IHN0cmVhbS4gIERvbid0IGRlZmluZSBsb2NrLgoJKiBsaWJpby9vYnByaW50Zi5jIChfSU9fb2JzdGFja192cHJpbnRmKTogTGlrZXdpc2UuCgkqIGxpYmlvL3N0cm9wcy5jIChfSU9fc3RyX2luaXRfc3RhdGljKTogTGlrZXdpc2UuCgkqIGxpYmlvL3Zhc3ByaW50Zi5jIChfSU9fdmFzcHJpbnRmKTogTGlrZXdpc2UuCgkqIGxpYmlvL3dzdHJvcHMuYyAoX0lPX3dzdHJfaW5pdF9zdGF0aWMpOiBMaWtld2lzZS4KCSogbGliaW8vaW92c3ByaW50Zi5jOiBMaWtld2lzZS4KCSogbGliaW8vaW92c25wcmludGYuYzogTGlrZXdpc2UuCgkqIGxpYmlvL2lvdnN3cHJpbnRmLmM6IExpa2V3aXNlLgoJKiBsaWJpby9pb3Zzc2NhbmYuYzogTGlrZXdpc2UuCgkqIGxpYmlvL2lvdnN3c2NhbmYuYzogTGlrZXdpc2UuCgkqIHN0ZGlvLWNvbW1vbi92ZnByaW50Zi5jIFtVU0VfSU5fTElCSU9dIChidWZmZXJlZF92ZnByaW50Zik6IExpa2V3aXNlLgoJKiBsaWJpby9nZW5vcHMuYyAoX0lPX25vX2luaXQpOiBEb24ndCBjYWxsIF9JT19sb2NrX2luaXQgaWYgX2xvY2sKCWlzIE5VTEwuCgkoX0lPX2RlZmF1bHRfZmluaXNoKTogTGlrZXdpc2UuCgkqIGxpYmlvL3dnZW5vcHMuYyAoX0lPX3dkZWZhdWx0X2ZpbmlzaCk6IExpa2V3aXNlLgoKMjAwMS0wOC0xMCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3RkaW8tY29tbW9uL3N0ZGlvX2V4dC5oOiBGaXggdHlwby4KCjIwMDEtMDgtMDkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG9zaXgvZm5tYXRjaF9sb29wLmM6IEZpeCBjb21wdXRhdGlvbiBvZiBhbGlnbm1lbnQuCgoyMDAxLTA4LTA5ICBJc2FtdSBIYXNlZ2F3YSAgPGlzYW11QHlhbWF0by5pYm0uY29tPgoKCSogcG9zaXgvcmVnZXguYyAod2NzX3JlZ2V4X2NvbXBpbGUpOiBVc2UgYXBwcm9wcmlhdGUgc3RyaW5nCgl0byBjb21wYXJlIHdpdGggY29sbGF0aW5nIGVsZW1lbnQuCglGaXggdGhlIHBhZGRpbmcgZm9yIHRoZSBhbGlnbm1lbnQuCgoyMDAxLTA4LTA5ICBJc2FtdSBIYXNlZ2F3YSAgPGlzYW11QHlhbWF0by5pYm0uY29tPgoKCSogbG9jYWxlL3Byb2dyYW1zL2xkLWNvbGxhdGUuYyAoY29sbGF0ZV9vdXRwdXQpOiBFeGNsdWRlCgljaGFyYWN0ZXJzIGZyb20gZWxlbV90YWJsZS4KCVJlZHVjZSBpZiBjbGF1c2UgdG8gd3JpdGUgY29sbGF0aW5nIGVsZW1lbnRzIGNvcnJlY3RseS4KCSogcG9zaXgvTWFrZWZpbGUgKHRlc3RzKTogQWRkIGJ1Zy1yZWdleDUuCgkqIHBvc2l4L2J1Zy1yZWdleDUuYzogTmV3IGZpbGUuCgoyMDAxLTA4LTA5ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxvY2FsZS9sYy10aW1lLmMgKF9ubF9wYXJzZV9hbHRfZGlnaXQpOiBOZXcgZnVuY3Rpb24uCgkqIGxvY2FsZS9sb2NhbGVpbmZvLmg6IEFkZCBwcm90b3R5cGUgZm9yIGl0LgoJKiB0aW1lL3N0cnB0aW1lLmMgKGdldF9hbHRfbnVtYmVyKTogVXNlIF9ubF9wYXJzZV9hbHRfZGlnaXQgdG8gZ2V0Cgl0aGUgdmFsdWUuICBDb3JyZWN0IGNvbXB1dGF0aW9uIG9mIGhvdXIgZm9yICVPSS4gIElmIG5vICVFQyBnaXZlbgoJYnV0ICVFeSB1c2UgbnVtZXJpYyBmb3JtdWxhci4KCgkqIGRsZmNuL01ha2VmaWxlICh0c3RzdGF0aWMtRU5WKTogQWxzbyBhZGQgJChjb21tb24tb2JqcGZ4KWVsZiBmb3IKCWxkLnNvLgoKCSogdGltZS90c3Qtc3RycHRpbWUuYzogQWRkIHRlc3RzIGluIGRpZmZlcmVudCBsb2NhbGVzLgoJKiB0aW1lL01ha2VmaWxlICh0c3Qtc3RycHRpbWUtRU5WKTogRGVmaW5lLgoKMjAwMS0wOC0wOSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBjYXRnZXRzL2NhdGdldHMuYyAoY2F0Y2xvc2UpOiBCZSBsaWJlcmFsIGFib3V0IGNhdGFsb2dfZGVzYyBpbgoJY2F0Y2xvc2UgdG9vLgoKMjAwMS0wOC0wOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiB0aW1lL3N0cnB0aW1lLmMgKHN0cnB0aW1lX2ludGVybmFsKTogQWRkIGhhbmRsaW5nIG9mIHllYXIgKwoJJVUvJVcgd2VlayArIHdlZWsgZGF5LgoJKiB0aW1lL3RzdC1zdHJwdGltZS5jOiBBZGQgdGVzdCBjYXNlIGZvciAlVSBhbmQgJVcgaGFuZGxpbmcuCgoJKiBzdGRpby1jb21tb24vdmZzY2FuZi5jOiBGaXggcmVhZGluZyBvZiB3aWRlIGNoYXJzIGFuZCBzdHJpbmdzIGlmCglub3QgQ09NUElMRV9XU0NBTkYuCgoJKiBsaWJpby92c3dwcmludGYuYyAoX0lPX3Zzd3ByaW50Zik6IEZpeCByZXR1cm4gdmFsdWUgaGFuZGxpbmcKCXdoaWNoIGlzIGRpZmZlcmVudCBmcm9tIHNucHJpbnRmLgoJKiBsaWJpby90c3Rfc3dwcmludGYuYzogQWRkIHRlc3RzIGZvciB0b28gc21hbGwgb3V0cHV0IGJ1ZmZlci4KCgkqIHN0ZGlvLWNvbW1vbi92ZnNjYW5mLmM6IEZpeCBoYW5kbGluZyBvZiAlW10gZm9yIENPTVBJTEVfV1NDQU5GLgoJKiBsaWJpby9NYWtlZmlsZSAodGVzdHMpOiBBZGQgdHN0LXN3c2NhbmYuCgkqIGxpYmlvL3RzdC1zd3NjYW5mLmM6IE5ldyBmaWxlLgoKMjAwMS0wOC0wOSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBwb3NpeC9nbG9idGVzdC5zaDogUm9idXN0aWZ5IHRpbGRlIHRlc3RzLgoKMjAwMS0wOC0wOSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogbG9jYWxlL3Byb2dyYW1zL2xkLWN0eXBlLmMgKERFRkFVTFQpOiBGaXggZXhwcmVzc2lvbi4KCShFTVBUWSk6IE5ldy4KCSh3Y3R5cGVfdGFibGVfZmluYWxpemUpOiBVc2UgaXQuCgkoZmluZF9pZHgpOiBMaWtld2lzZS4KCSh3Y3R5cGVfdGFibGVfZ2V0KTogTGlrZXdpc2UuCgoJKiBjb25maWd1cmUuaW46IEFkZCBjaGVjayBmb3IgR0NDIDMueC4KCjIwMDEtMDgtMDkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbGliaW8vd2ZpbGVvcHMuYyAoX0lPX3dmaWxlX3NlZWtvZmYpOiBEb24ndCBldmVuIHRyeSB0byBoYW5kbGUKCXNlZWtpbmcgd2l0aCBiYWNrdXAgYnVmZmVyIHByZXNlbnQuCglDb3JyZWN0IGRldGVybWluaW5nIG9mIGludGVybmFsIGJ1ZmZlciBwb3NpdGlvbi4KCVJlc2V0IGFsc28gd2lkZSBidWZmZXJzIGlmIHdlIHJlc2V0IHRoZSBpbnRlcm5hbCBidWZmZXJzLgoJKiBsaWJpby9pb2Z3aWRlLmMgKF9JT19md2lkZSk6IEFsd2F5cyBkZXRlcm1pbmUgZmlsZSBvZmZzZXQgZm9yIHdpZGUKCXN0cmVhbXMuCgkqIGxpYmlvL2lvc2Vla29mZi5jOiBDYXRjaCBvbmUgdW5pbXBsZW1lbnRlZCBjYXNlLgoJKiBsaWJpby9mdGVsbG8uYzogRG9uJ3QgYWJvcnQgaWYgdGhlIHdpZGUgc3RyZWFtIGhhcyBiYWNrdXAgYnVmZmVyLgoJKiBsaWJpby9mdGVsbG82NC5jOiBMaWtld2lzZS4KCSogbGliaW8vaW9mZ2V0cG9zLmM6IExpa2V3aXNlLgoJKiBsaWJpby9pb2ZnZXRwb3M2NC5jOiBMaWtld2lzZS4KCSogbGliaW8vZnRlbGwuYzogTGlrZXdpc2UuCgkqIGxpYmlvL01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3QtdW5nZXR3YzIuCgkqIGxpYmlvL3RzdC11bmdldHdjMi5jOiBOZXcgZmlsZS4KCjIwMDEtMDgtMDggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbG9jYWxlL2VsZW0taGFzaC5oIChlbGVtX2hhc2gpOiBDb3JyZWN0IHN0dXBpZCBtaXN0YWtlIGFuZAoJY3JlYXRlIHJlYWwgaGFzaCB2YWx1ZXMgbm93LgoJUGF0Y2ggYnkgSXNhbXUgSGFzZWdhd2EgPGlzYW11QHlhbWF0by5pYm0uY29tPi4KCgkqIGxpYmlvL2lvZmdldHBvcy5jIChfSU9fbmV3X2ZnZXRwb3MpOiBDb3JyZWN0IGEgZmV3IHByb2JsZW1zIGluCgl0aGUgaGFuZGxpbmcgb2Ygd2lkZSBzdHJlYW1zLgoKCSogbGliaW8vaW91bmdldHdjLmMgKHVuZ2V0d2MpOiBPcmllbnQgc3RyZWFtIGZpcnN0LgoJKiBsaWJpby9NYWtlZmlsZSAodGVzdHMpOiBBZGQgdHN0LXVuZ2V0d2MxLgoJKiBsaWJpby90c3QtdW5nZXR3YzEuYzogTmV3IGZpbGUuCgoJKiBsaWJpby93ZmlsZW9wcy5jIChfSU9fd2ZpbGVfdW5kZXJmbG93KTogUmVtb3ZlIGluY29ycmVjdCB0ZXN0Cglmb3IgcG9zc2libGUgY29udmVyc2lvbiB1c2luZyBfX2NvZGVjdnRfZG9faW4uCgkqIGxpYmlvL01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3QtZmdldHdzLgoJKiBsaWJpby90c3QtZmdldHdzLmM6IE5ldyBmaWxlLgoKCSogbGliaW8vaW9mZ2V0d3MuYzogVXNlIF9JT19mZXJyb3JfdW5sb2NrZWQgbWFjcm9zIGluc3RlYWQgb2YKCWNvZGluZyB0aGUgdGVzdCBoZXJlLgoKCSogY2F0Z2V0cy9vcGVuX2NhdGFsb2cuYzogUmV3cml0ZSBjb2RlIHRvIGFzc3VtZSB0aGF0IHRoZSBmdW5jdGlvbgoJaXMgY2FsbGVkIGF0IGNhdG9wZW4gdGltZSBhbmQgbm90IGRlbGF5ZWQgaW4gY2F0Z2V0cy4KCSogY2F0Z2V0cy9jYXRnZXRzLmMgKGNhdG9wZW4pOiBDYWxsIF9fb3Blbl9jYXRhbG9nIGFuZCBmYWlsIGlmIHRoYXQKCWZ1bmN0aW9uIGZhaWxlZC4KCShjYXRnZXRzKTogUmVtb3ZlIGNvZGUgZm9yIGRlbGF5ZWQgb3BlbmluZyBvZiBjYXRhbG9nLgoJKiBjYXRnZXRzL2NhdGdldHNpbmZvLmg6IFJlbW92ZSBub3cgdW5uZWNlc3NhcnkgaW5mb3JtYXRpb24gZnJvbQoJc3RydWN0IGNhdGFsb2dfaW5mby4gIENoYW5nZSBfX29wZW5fY2F0YWxvZyBwcm90b3R5cGUuCgkqIGNhdGdldHMvZ2VuY2F0LmM6IEFkanVzdCBfX29wZW5fY2F0YWxvZyBjYWxsLgoJKiBjYXRnZXRzL3Rlc3QtZ2VuY2F0LmM6IFN0b3AgcHJvZ3JhbSBpZiBjYXRvcGVuIGZhaWxlZC4KCgkqIGxvY2FsZS9DLW1vbmV0YXJ5LmMgKF9ubF9DX0xDX01PTkVUQVJZKTogUHJvdmlkZSBjb3JyZWN0IHZhbHVlCglmb3IgQ1JOQ1lTVFIuCgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtbWVzc2FnZXMuYyAobWVzc2FnZXNfZmluaXNoKTogUHJvdmlkZSBQT1NJWAoJbG9jYWxlIGNvbXBsaWFudCBkZWZhdWx0IHZhbHVlcyBmb3IgZmllbGRzIHdpdGhvdXQgZGVmaW5pdGlvbi4KCSogbG9jYWxlL3Byb2dyYW1zL2xkLXRpbWUuYyAodGltZV9maW5pc2gpOiBMaWtld2lzZS4KCSogbG9jYWxlL3Byb2dyYW1zL2xkLW1vbmV0YXJ5LmMgKG1vbmV0YXJ5X2ZpbmlzaCk6IExpa2V3aXNlLgoKMjAwMS0wOC0wOCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYvc19pbG9nYmwuYyAoX19pbG9nYmwpOiBGaXggdGVzdCBmb3IKCWluZmluaXR5LgoKMjAwMS0wOC0wNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2lhNjQvbWVtdXNhZ2UuaCAoR0VUVElNRSk6IERlZmluZSB1c2luZyBocC10aW1pbmcuaAoJZnVuY3Rpb25hbGl0eS4KCgkqIHN5c2RlcHMvaWE2NC9ocC10aW1pbmcuaCAoSFBfVElNSU5HX05PVyk6IEZpeCBjb21tZW50LgoKMjAwMS0wOC0wNyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBtYWxsb2MvbWVtdXNhZ2UuYyAoaW5pdGlhbGl6ZWQpOiBOZXcgdmFyaWFibGUuCgkoaW5pdCk6IElmIG5vdCB5ZXQgaW5pdGlhbGl6ZWQsIGNhbGwgbWUoKS4KCShtZSk6IERvIGFsbCBkbHN5bSBjYWxscyBoZXJlLgoJKG1hbGxvYywgcmVhbGxvYywgY2FsbG9jLCBmcmVlKTogSWYgbm90IHlldCBpbml0aWFsaXplZCwKCWNhbGwgbWUoKS4gIElmIGluIHRoZSBtaWRkbGUgb2YgaW5pdGlhbGl6aW5nLCByZXR1cm4gTlVMTCBvcgoJZG8gbm90aGluZy4KCjIwMDEtMDgtMDcgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3NlZWtkaXIuYyAoc2Vla2Rpcik6IFNldCBkaXJwLT5maWxlcG9zLgoKCSogZGlyZW50L3RzdC1zZWVrZGlyLmMgKG1haW4pOiBDaGVjayB3aGV0aGVyIHRlbGxkaXIgcmlnaHQgYWZ0ZXIKCXNlZWtkaXIgcmV0dXJucyAybmQgYXJndW1lbnQgZ2l2ZW4gdG8gc2Vla2Rpci4KCjIwMDEtMDgtMDcgIEZyYW56IFNpcmwgIDxGcmFuei5TaXJsLWtlcm5lbEBsYXV0ZXJiYWNoLmNvbT4KCgkqIGRsZmNuL01ha2VmaWxlICh0c3RzdGF0aWMtRU5WKTogQWRkICQoY29tbW9uLW9ianBmeCkgdG8KCUxEX0xJQlJBUllfUEFUSC4KCjIwMDEtMDgtMDcgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCSAgICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoJICAgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGxvY2FsZS9wcm9ncmFtcy8zbGV2ZWwuaCAoRU1QVFkpOiBOZXcgbWFjcm8uCgkoKl9nZXQsICpfYWRkLCAqX2l0ZXJhdGUsICpfZmluYWxpemUpOiBVc2UgaXQgaW5zdGVhZCBvZiB+KHVpbnQzMl90KSAwLgoKMjAwMS0wOC0wOCAgR09UTyBNYXNhbm9yaSAgPGdvdG9tQGRlYmlhbi5vci5qcD4KCgkqIGxvY2FsZS9pc28tMzE2Ni5kZWY6IFVwZGF0ZXMgZnJvbSBsYXRlc3Qgb2ZmaWNpYWwgbGlzdC4KCjIwMDEtMDgtMDcgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN0ZGxpYi90c3Qtc3RydG9kLmM6IERpc2FibGUgSFVHRV9WQUwgdGVzdHMgZm9yIG9sZGVyIEdDQ3MuCgoJKiBpY29udi9nY29udl9jaGFyc2V0LmggKHVwc3RyKTogQWRkIHVudXNlZCBhdHRyaWJ1dGUgdG8gYXZvaWQgd2FybmluZy4KCgkqIGxpYmlvL2lvcG9wZW4uYyAoX0lPX25ld19wcm9jX29wZW4pOiBGaXggdHlwb3MsIGl0J3MgX0lPX01UU0FGRV9JTy4KCShfSU9fbmV3X3Byb2NfY2xvc2UpOiBMaWtld2lzZS4KCSogbGliaW8vb2xkaW9wb3Blbi5jIChfSU9fb2xkX3Byb2Nfb3Blbik6IExpa2V3aXNlLgoJKF9JT19vbGRfcHJvY19jbG9zZSk6IExpa2V3aXNlLgoKMjAwMS0wOC0wNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBtYW51YWwvbG9jYWxlLnRleGk6IEFkZCBkb2N1bWVudGF0aW9uIGZvciBycG1hdGNoLgoJUGF0Y2ggYnkgSm9jaGVuIEhlaW4gPGpvY2hlbkBqb2NoZW4ub3JnPi4KCjIwMDEtMDgtMDYgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3RkbGliL3N0cnRvZC5jIChTVFJUT0YpOiBTa2lwIHdob2xlIGluZmluaXR5LCBub3QganVzdCBpbmYuCgkqIHN0ZGlvLWNvbW1vbi92ZnNjYW5mLmMgKF9fdmZzY2FuZik6ICstIGNhbiBiZSBmb2xsb3dlZCBieSBpIGluICstSW5mLgoKCSogc3RkbGliL3RzdC1zdHJ0b2QuYyAodGVzdHMpOiBBZGQgSW5mIHRlc3RzLgoJKiBzdGRpby1jb21tb24vdHN0c2NhbmYuYyAobWFpbik6IEFkZCB0ZXN0cyBmb3IgKy0gYmVmb3JlIEluZi4KCjIwMDEtMDgtMDYgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbG9jYWxlL3dlaWdodHdjLmggKGZpbmRpZHgpOiBDaGFuZ2UgdHlwZSBvZiBpIHRvIGludDMyX3QuCgoJKiB3Y3NtYnMvd2NzbWJzLXRzdDEuYyAobWFpbik6IEF2b2lkIHdhcm5pbmcuICBQcmV0dHkgcHJpbnRpbmcuCgoyMDAxLTA4LTA1ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEBmcm9iLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9ic2QvYnNkNC40L2JpdHMvZGlyZW50LmggKHN0cnVjdCBkaXJlbnQpOiBSZW5hbWUgbWVtYmVyCglkX2ZpbGVubyB0byBkX2luby4KCShzdHJ1Y3QgZGlyZW50NjQpOiBMaWtld2lzZS4KCShkX2ZpbGVubyk6IERlZmluZSBhcyBtYWNyby4KCjIwMDEtMDgtMDQgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQGZyb2IuY29tPgoKCSogc3lzZGVwcy9tYWNoL2h1cmQvZ2V0cnVzYWdlLmM6IFVzZSBUQVNLX0VWRU5UU19JTkZPIGlmIGltcGxlbWVudGVkCglieSB0aGUgbWljcm9rZXJuZWwgKHdoaWNoIGl0J3Mgbm90KS4KCjIwMDEtMDgtMDQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbGliaW8vZmlsZW9wcy5jIChfSU9fbmV3X2ZpbGVfdW5kZXJmbG93KTogRG9uJ3QgY2FsbAoJX0lPX2ZsdXNoX2FsbF9saW5lYnVmZmVyZWQuICBUaGlzIGlzbid0IHJlcXVpcmVkIGluIGFueSBzdGFuZGFyZC4KCUluc3RlYWQgZmx1c2ggb25seSBzdGRvdXQuCgkqIGxpYmlvL3dmaWxlb3BzLmMgKF9JT193ZmlsZV91bmRlcmZsb3cpOiBMaWtld2lzZS4KCjIwMDEtMDgtMDQgIEZyYW56IFNpcmwgIDxGcmFuei5TaXJsLWtlcm5lbEBsYXV0ZXJiYWNoLmNvbT4KCgkqIGRsZmNuL01ha2VmaWxlOiBBZGQgcnVsZXMgZm9yIG5ldyB0ZXN0Y2FzZSB0c3RzdGF0aWMuCgkqIGRsZmNuL3RzdHN0YXRpYy5jOiBOZXcgZmlsZS4KCSogZGxmY24vbW9kc3RhdGljLmM6IE5ldyBmaWxlLgoKMjAwMS0wOC0wNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBtYW51YWwvc3VtbWFyeS5hd2s6IEZpeCB2YWx1ZSB1c2VkIGZvciBGRi4KCgkqIGVsZi9ydGxkLmM6IENvcnJlY3QgdXNlIG9mIF9fYnVpbHRpbl9leHBlY3QuCgoJKiBlbGYvZGwtY2xvc2UuYzogUmVtb3ZlIGNvbW1lbnRlZC1vdXQgY29kZS4KCgkqIGxpYmlvL2dlbm9wcy5jIChfSU9fdW5idWZmZXJfd3JpdGUpOiBGb3JjZSBzdHJlYW1zIGluIG5hcnJvdwoJb3JpZW50YXRpb24gc28gdGhhdCBjb252ZXJzaW9uIG1vZHVsZXMgYXJlbid0IHVzZWQgYW55bW9yZS4KCSogbWFsbG9jL3NldC1mcmVlcmVzLmM6IENhbGwgX0lPX2NsZWFudXAgYmVmb3JlIHJ1bm5pbmcgc3ViZnJlZXJlcwoJZnVuY3Rpb25zIHRvIGF2b2lkIHVzaW5nIHdpZGUgc3RyZWFtcyBhZnRlcndhcmRzLgoKCSogaWNvbnZkYXRhL01ha2VmaWxlOiBBZGQgcnVsZXMgdG8gYnVpbGQgR0VPUkdJQU4tUFMgYW5kCglHRU9SR0lBTi1BQ0FERU1ZLgoJKiBpY29udmRhdGEvZ2VvcmdpYW4tcHMuYzogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9nZW9yZ2lhbi1hY2FkZW15LmM6IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvZ2NvbnYtbW9kdWxlczogQWRkIGVudHJpZXMgZm9yIEdFT1JHSUFOLVBTIGFuZAoJR0VPUkdJQU4tQUNBREVNWS4KCSogaWNvbnZkYXRhL3RzdC10YWJsZXMuc2g6IEFkZCBHRU9SR0lBTi1QUyBhbmQgR0VPUkdJQU4tQUNBREVNWS4KCjIwMDEtMDgtMDMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbG9jYWxlL3Byb2dyYW1zL2xkLWNvbGxhdGUgKGluc2VydF92YWx1ZSk6IElmIHN5bWJvbCBpbiBvcmRlcgoJZGVmaW5pdGlvbiBkb2VzIG5vdCBleGlzdCBjcmVhdGUgaXQgYXMgYSBzZXF1ZW5jZSB3aXRob3V0Cglhc3NvY2lhdGVkIG11bHRpYnl0ZSBhbmQgd2lkZSByZXByZXNlbnRhdGlvbi4KCjIwMDEtMDctMzAgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQGZyb2IuY29tPgoKCSogc3lzZGVwcy9tYWNoL2JpdHMvbGliYy1sb2NrLmggKF9fbGliY19jbGVhbnVwX3JlZ2lvbl9zdGFydCk6IERpZGRsZQoJc3ludGF4IHNvIGJvdGggZnVuY3Rpb24gYW5kIHBvaW50ZXItdG8tZnVuY3Rpb24gYXJndW1lbnRzIHdvcmsgcmlnaHQuCgoyMDAxLTA4LTAzICBUb20gUml4ICA8dHJpeEByZWRoYXQuY29tPgoKCSogY29uZmlnLmguaW46IEFkZCBIQVZFX1hDT0ZGIGZvciBBSVguCgkqIGNvbmZpZ3VyZS5pbjogQWRkIC0td2l0aC14Y29mZiBvcHRpb24uCgkqIGluY2x1ZGUvbGliYy1zeW1ib2xzLmg6IERpc2FibGUgdGhlIC5zdGFicyBtYWNyb3MuCgoyMDAxLTA4LTAzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGljb252ZGF0YS84Yml0LWdhcC5jOiBDb3JyZWN0bHkgdXNlIF9fYnVpbHRpbl9leHBlY3QuCgkqIGljb252ZGF0YS9hbnNpX3gzLjExMC5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2JpZzUuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9ldWMtY24uYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9ldWMtanAuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9ldWMta3IuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9nYjE4MDMwLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvZ2JiaWc1LmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvZ2JnYmsuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9nYmsuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pYm05MzAuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pYm05MzIuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pYm05MzMuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pYm05MzUuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pYm05MzkuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pYm05NDMuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pc28tMjAyMi1jbi5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2lzby0yMDIyLWtyLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvNjQ2LmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvODg1OS0xLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvXzY5MzctMi5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2lzb182OTM3LmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvam9oYWIuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9zamlzLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvdC42MS5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL3VoYy5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL3VuaWNvZGUuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS91dGYtMTYuYzogTGlrZXdpc2UuCgkqIGljb252L2djb252X3NpbXBsZS5jOiBMaWtld2lzZS4gICBDb252ZXJ0IGFzc2VydCgpIGluIHJlYWwgZXJyb3IKCWhhbmRsaW5nLgoKCSogaWNvbnZkYXRhL01ha2VmaWxlOiBBZGQgcnVsZXMgdG8gYnVpbGQgS09JOC1UIG1vZHVsZS4KCSogaWNvbnZkYXRhL2tvaTgtdC5jOiBOZXcgZmlsZS4KCSogaWNvbnZkYXRhL2djb252LW1vZHVsZXM6IEFkZCBlbnRyaWVzIGZvciBLT0k4LVQuCgkqIGljb252ZGF0YS90c3QtdGFibGVzLnNoOiBBZGQgS09JOC1ULgoKCSogbG9jYWxlL2lzby02MzkuZGVmOiBDb3JyZWN0IEphdmFuZXNlIDIgbGV0dGVyIGNvZGUuICBBZGQgVG9uZ2EuCglBZGQgVGlncmlueWEuCgoyMDAxLTA4LTAyICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1jb2xsYXRlLmMgKGNvbGxhdGVfcmVhZCk6IEhhbmRsZSBjb2xsYXRpbmctZWxlbWVudAoJYW5kIHJlb3JkZXJfYWZ0ZXIgZm9sbG93aW5nIGNvcHkgc3RhdGVtZW50IGNvcnJlY3RseS4KCjIwMDEtMDgtMDIgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGxpYmlvL2JpdHMvc3RkaW8uaCAocHJpbnRmKTogUmVtb3ZlIHByaW50ZiBvcHRpbWl6YXRpb24gc2luY2UKCUdDQyAzLjAgY2FuIG9wdGltaXplIHByaW50Zi4KCjIwMDEtMDgtMDIgIFVscmljaCBXZWlnYW5kICA8dXdlaWdhbmRAZGUuaWJtLmNvbT4KCgkqIHN5c2RlcHMvczM5MC9zMzkwLTMyL21lbWNweS5TOiBGaXhlZCBpbmNvcnJlY3QgdXNlIG9mCgltdmNsZSBpbnRyb2R1Y2VkIGJ5IDIwMDEtMDctMTIgY2hhbmdlLgoJKiBzeXNkZXBzL3MzOTAvczM5MC02NC9tZW1jcHkuUzogTGlrZXdpc2UuCgoyMDAxLTA3LTMxICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvZ2V0Y29udGV4dC5TOiBEb24ndCB0b3VjaCB0aGUgJWdzCglyZWdpc3RlciBzbyB0aGF0IGNvbnRleHRzIGNhbiBiZSB1c2VkIGluIGRpZmZlcmVudCB0aHJlYWRzLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3NldGNvbnRleHQuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc3dhcGNvbnRleHQuUzogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9jbXNnX254dGhkci5jIChfX2Ntc2dfbnh0aGRyKTogQ29ycmVjdAoJdGVzdCBmb3IgY21zZyBzdHJ1Y3Qgc2l6ZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYml0cy9zb2NrZXQuaCAoX19jbXNnX254dGhkcik6IExpa2V3aXNlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9tYWtlY29udGV4dC5TOiBSZW1vdmUgdW5uZWNlc3NhcnkKCWluaXRpYWxpemF0aW9ucy4KCgkqIGxpYmlvL2lvcG9wZW4uYzogQWRkIGxvY2sgZm9yIHByb2NfZmlsZV9jaGFpbiBhY2Nlc3MuCgkqIGxpYmlvL29sZGlvcG9wZW4uYzogQWRkIGxvY2sgZm9yIG9sZF9wcm9jX2ZpbGVfY2hhaW4gYWNjZXNzLgoJUmVwb3J0ZWQgYnkgUGFkcmFpZyBCcmFkeSA8UGFkcmFpZ0BsaW51eC5pZT4uCgoyMDAxLTA3LTMxICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9iaXRzL3BvbGwuaCAoTlBPTExGSUxFKTogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9iaXRzL3BvbGwuaCAoTlBPTExGSUxFKTogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbTY4ay9iaXRzL3BvbGwuaCAoTlBPTExGSUxFKTogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYml0cy9wb2xsLmggKE5QT0xMRklMRSk6IFJlbW92ZWQuCgkqIHN5c2RlcHMvZ2VuZXJpYy9iaXRzL3BvbGwuaCAoTlBPTExGSUxFKTogUmVtb3ZlZC4KCgkqIGxpYmlvL2dlbm9wcy5jIChmbHVzaF9jbGVhbnVwKTogR3VhcmQgbGlzdF9hbGxfbG9jayB0byBhbGxvdwoJY29tcGlsYXRpb24gd2l0aG91dCB0aHJlYWRzLgoKMjAwMS0wNy0zMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBwby9mci5wbzogVXBkYXRlIGZyb20gdHJhbnNsYXRpb24gdGVhbS4KCjIwMDEtMDctMzAgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvaWVlZTc1NC9sZGJsLTEyOC9lX2F0YW5obC5jOiBOZXcgZmlsZSwgY29udHJpYnV0ZWQgYnkKCVN0ZXBoZW4gTCBNb3NoaWVyLgoKCSogcG9zaXgvcmVnZXguYzogRGVjbGFyZSB3Y3MgZnVuY3Rpb25zIG9ubHkgaWYgY29tcGlsaW5nIHdpdGgKCU1CU19TVVBQT1JULgoJRG9uJ3QgdXNlICNlbGlmIGZvciB0cmFkaXRpb25hbCBDLgoKMjAwMS0wNy0yOSAgTWFyayBLZXR0ZW5pcyAgPGtldHRlbmlzQGdudS5vcmc+CgoJKiBzeXNkZXBzL21hY2gvaHVyZC9yZWN2bXNnLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL21hY2gvaHVyZC9zZW5kbXNnLmM6IE5ldyBmaWxlLgoKMjAwMS0wNy0yNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiB2ZXJzaW9uLmggKFZFUlNJT04pOiBCdW1wIHRvIDIuMi40LgoKCSogc3lzZGVwcy9taXBzL0Rpc3Q6IFJlbW92ZSBub24tZXhpc3RpbmcgZmlsZXMuCgkqIHN5c2RlcHMvbWlwcy9taXBzNjQvRGlzdDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbWlwcy9taXBzZWwvRGlzdDogUmVtb3ZlZC4KCSogaWNvbnYvTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgc3RydGFiLmMgYW5kIGljb252Y29uZmlnLmguCgkqIHN5c2RlcHMvZ2VuZXJpYy9EaXN0OiBBZGQgYml0cy9saW5rLmguCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L202OGsvRGlzdDogQWRkIHN5cy9wcm9jZnMuaC4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L0Rpc3Q6IEFkZCBkbC1zdXBwb3J0LmMsIGRsLWFkZHIuYywgYW5kCglkbC1lcnJvci5jLgoJKiBzeXNkZXBzL2lhNjQvRGlzdDogQWRkIGJpdHMvbGluay5oLgoKCSogbGliaW8vdmFzcHJpbnRmLmMgKF9JT192YXNwcmludGYpOiBEb24ndCBjb3B5IHVuaW5pdGlhbGl6ZWQgYnl0ZQoJZnJvbSBzdHJlYW0gYnVmZmVyIHRvIHJlc3VsdCBidWZmZXIuCglSZXBvcnRlZCBieSBNaWNoYWVsIE1lZWtzIDxtaWNoYWVsQHhpbWlhbi5jb20+LgoKCSogbGliaW8vTWFrZWZpbGU6IEFkZCBydWxlcyB0byBjaGVjayBvdXRwdXQgb2YgdHN0LWZvcGVubG9jIGFuZAoJZm9yIG1lbW9yeSBsZWFrcy4KCSogbGliaW8vdHN0LWZvcGVubG9jLmM6IE5ldyBmaWxlLgoKCSogaWNvbnYvZ2NvbnZfY2FjaGUuYyAoX19nY29udl9jb21wYXJlX2FsaWFzX2NhY2hlKTogTmV3IGZ1bmN0aW9uLgoJKiBpY29udi9nY29udl9pbnQuaDogQWRkIHByb3RvdHlwZSBmb3IgX19nY29udl9jb21wYXJlX2FsaWFzX2NhY2hlLgoJKiBpY29udi9nY29udl9jaGFyc2V0Lmg6IFJlcGxhY2UgX19nY29udl9sb29rdXBfYWxpYXMgcHJvdG90eXBlIHdpdGgKCV9fZ2NvbnZfY29tcGFyZV9hbGlhcyBwcm90b3R5cGUuCgkqIGljb252L2djb252X2RiLmMgKF9fZ2NvbnZfbG9va3VwX2FsaWFzKTogUmVtb3ZlZC4KCShfX2djb252X2NvbXBhcmVfYWxpYXMpOiBOZXcgZnVuY3Rpb24uCgkqIGxvY2FsZS9maW5kbG9jYWxlLmMgKF9ubF9maW5kX2xvY2FsZSk6IFVzZSBfX2djb252X2NvbXBhcmVfYWxpYXMKCWluc3RlYWQgb2YgY2FsbGluZyBfX2djb252X2xvb2t1cF9hbGlhcyB0d2ljZSBhbmQgY29tcGFyZSBoZXJlLgoKMjAwMS0wNy0yNiAgTWFyayBLZXR0ZW5pcyAgPGtldHRlbmlzQGdudS5vcmc+CgoJKiBodXJkL2h1cmRzaWcuYyAoX2h1cmRfaW50ZXJuYWxfcG9zdF9zaWduYWwpOiBGaXggaGFuZGxpbmcgb2YKCVNBX1JFU0VUSEFORCBhbmQgU0FfTk9ERUZFUi4KCjIwMDEtMDctMjcgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbGliaW8vZmlsZW9wcy5jIChfSU9fbmV3X2ZpbGVfZm9wZW4pOiBDb3JyZWN0bHkgbG9jYXRlIGNjcz0KCXN1YnN0cmluZy4gIERvbid0IGhhbmRsZSBjY3M9IGlmIG5vIGRlc2NyaXB0b3Igd2FzIGFsbG9jYXRlZC4KCU5vcm1hbGl6ZSBjb2Rlc2V0IG5hbWUgYmVmb3JlIGNhbGxpbmcgX193Y3NtYnNfbmFtZWRfY29udi4KCUluaXRpYWxpemUgdHJhbnNsaXRlcmF0aW9uIGVsZW1lbnRzLiAgRnJlZSBzdGVwIGRhdGEgc3RydWN0dXJlLgoJKiBsaWJpby9pb2ZjbG9zZS5jIChfSU9fbmV3X2ZjbG9zZSk6IENvcnJlY3QgZnJlZWluZyBvZiB0aGUgc3RlcCBkYXRhLgoJKiBsaWJpby9pb2Z3aWRlLmMgKF9fbGliaW9fdHJhbnNsaXQpOiBSZW5hbWVkIGZyb20gbGliaW9fdHJhbnNsaXQKCWFuZCBtYWRlIHB1YmxpYy4gIFZhcmlvdXMgbGl0dGxlIGNsZWFudXAgY2hhbmdlcy4KCSogd2NzbWJzL3djc21ic2xvYWQuaCAoc3RydWN0IGdjb252X2ZjdHMpOiBBZGQgdG93Y19uc3RlcHMgYW5kCgl0b21iX25zdGVwcyBtZW1iZXIuCgkqIHdjc21icy93Y3NtYnNsb2FkLmM6IEFkZCBzb21lIGNhc3RzIHRvIGF2b2lkIHdhcm5pbmdzLgoJKF9fd2NzbWJzX2djb252X2ZjdHMpOiBJbml0aWFsaXplIHRvd2NfbnN0ZXBzIGFuZCB0b21iX25zdGVwcyBtZW1iZXIuCgkoZ2V0ZmN0KTogVGFrZSBhZGRpdGlvbmFsIHBhcmFtZXRlciB3aXRoIHBvaW50ZXIgdG8gdmFyaWFibGUgd2hlcmUgdGhlCgludW1iZXIgb2Ygc3RlcHMgaXMgc3RvcmVkIGluLiAgRGlzYWJsZSBjb2RlIHdoaWNoIGFsbG93cyB0byB1c2UgbW9yZQoJdGhhbiBvbmUgc3RlcCBmb3Igbm93LiAgQWRqdXN0IGFsbCBjYWxsZXJzLgoJKGZyZWVfbWVtKTogTmV3IGZ1bmN0aW9uLiAgRnJlZXMgZGF0YSBhc3NvY2lhdGVkIHdpdGggY3VycmVudGx5CglzZWxlY3RlZCBjb252ZXJ0ZXJzLgoKCSogbWFsbG9jL210cmFjZS5wbDogRXh0cmFjdCBhZGRyZXNzZXMgZnJvbSBEU09zLgoKMjAwMS0wNy0yNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBtYWxsb2MvbWNoZWNrLmMgKGNoZWNraGRyKTogRGlzYWJsZSBtY2hlY2sgYmVmb3JlIHJlcG9ydGluZyBhbgoJZXJyb3IuICBEb24ndCBydW4gYW55IHRlc3RzIGlmIG1jaGVjayBpcyBkaXNhYmxlZC4KCgkqIGVsZi9kbC1zdXBwb3J0LmMgKF9kbF9pbXBvcnRhbnRfaHdjYXBzKTogQXZvaWQgdXNpbmcgbWFsbG9jCgllYXJseSBpbiB0aGUgcHJvZ3JhbS4KCjIwMDEtMDctMjcgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC0zMi91Y29udGV4dF9pLmggKFNDX0dQUlMpOiBGaXgKCXZhbHVlIGZvbGxvd2luZyBjaGFuZ2UgZnJvbSAyMDAxLTA1LTMwLgoKCSogc3lzZGVwcy9zMzkwL3MzOTAtNjQvYml0cy9zZXRqbXAuaCAoX0pNUEJVRl9VTldJTkRTKTogRm9sbG93CglyZW5hbWUgY2hhbmdlIGZyb20gMjAwMS0wNy0xMiBmb3IgX19qbXBfYnVmLgoJUGF0Y2hlcyBieSBVbHJpY2ggV2VpZ2FuZCA8VWxyaWNoLldlaWdhbmRAZGUuaWJtLmNvbT4uCgoyMDAxLTA3LTI2ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEBmcm9iLmNvbT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9iaXRzL3Rlcm1pb3MuaCAoRVhUQSwgRVhUQik6IE1ha2UgdGhlc2UgY29uZGl0aW9uYWwKCW9uIF9fVVNFX01JU0MgcmF0aGVyIHRoYW4gX19VU0VfQlNELgoJKEI1NzYwMCwgQjExNTIwMCwgQjIzMDQwMCwgQjQ2MDgwMCwgQjUwMDAwMCwgQjU3NjAwMCwgQjkyMTYwMCwKCUIxMDAwMDAwLCBCMTE1MjAwMCwgQjE1MDAwMDAsIEIyMDAwMDAwLCBCMjUwMDAwMCwgQjMwMDAwMDAsCglCMzUwMDAwMCwgQjQwMDAwMDApOiBOZXcgbWFjcm9zLgoJKiBzeXNkZXBzL2dlbmVyaWMvdGNzZXRhdHRyLmMgKGJhZF9zcGVlZCk6IEFjY2VwdCB0aG9zZSB2YWx1ZXMuCgkqIHRlcm1pb3MvY2ZzZXRzcGVlZC5jIChzcGVlZHMpOiBMaWtld2lzZS4KCjIwMDEtMDctMjYgIGtheiBLb2ppbWEgIDxra29qaW1hQHJyLmlpajR1Lm9yLmpwPgoKCSogc3lzZGVwcy9zaC9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX2xvYWRfYWRkcmVzcyk6IERvbid0IHVzZQoJbXVsdGktbGluZSBzdHJpbmdzLgoJKEZVTl9BRERSLCBGR1JfU0FWRSwgRUxGX01BQ0hJTkVfUlVOVElNRV9UUkFNUE9MSU5FKTogTGlrZXdpc2UuCgkoZWxmX21hY2hpbmVfcmVsYSk6IEhhbmRsZSB1bmFsaWduZWQgcmVsb2NhdGlvbi4KCjIwMDEtMDYtMDcgIERhdmlkIE1vc2JlcmdlciAgPGRhdmlkbUBocGwuaHAuY29tPgoKCSogc3lzZGVwcy9pYTY0L2RsLXN5bWFkZHIuYyAoX2RsX3N5bWJvbF9hZGRyZXNzKTogVXBkYXRlIGNhbGwgdG8KCV9faWE2NF9tYWtlX2ZwdHIoKSBmb3IgbmV3IGludGVyZmFjZS4KCShfZGxfZnVuY3Rpb25fYWRkcmVzcyk6IFJlbW92ZS4KCgkqIHN5c2RlcHMvaWE2NC9kbC1tYWNoaW5lLmggKElBNjRfQk9PVF9GUFRSX1RBQkxFX0xFTik6IFJlbmFtZQoJZnJvbSBJQTY0X0JPT1RfRlBUUl9TSVpFIGFuZCByZWR1Y2UgaXRzIHZhbHVlIGZyb20gMjU2IHRvIDIwMC4KCShzdHJ1Y3QgaWE2NF9mZGVzYyk6IFJlbmFtZSBmcm9tIHN0cnVjdCBpYTY0X2ZwdHIgYW5kIGRyb3AgIm5leHQiCglwb2ludGVyLiAgUmVuYW1lIG1lbWJlciAiZnVuYyIgdG8gImlwIi4KCShzdHJ1Y3QgaWE2NF9mZGVzY190YWJsZSk6IE5ldyB0eXBlLgoJKF9faWE2NF9tYWtlX2ZwdHIpOiBDaGFuZ2UgcHJvdG90eXBlLgoJKF9faWE2NF9pbml0X2Jvb3RzdHJhcF9mZGVzY190YWJsZSk6IE5ldyBmdW5jdGlvbi4KCShFTEZfTUFDSElORV9CRUZPUkVfUlRMRF9SRUxPQyk6IE5ldyBtYWNyby4KCShfX2Jvb3RfbGRzb19mcHRyKTogUmVtb3ZlZC4KCShfX2ZwdHJfbmV4dCk6IFJlbW92ZWQuCgkoX19mcHRyX3Jvb3QpOiBSZW1vdmVkLgoJKF9fZnB0cl9jb3VudCk6IFJlbW92ZWQuCgkoVFJBTVBPTElORV9URU1QTEFURSk6IEZpeCB0eXBvIGluIGNvbW1lbnQuICBEb24ndCB1c2UgbXVsdGktbGluZQoJc3RyaW5ncyB0byBhdm9pZCB3YXJuaW5nIGZyb20gZ2NjMy4KCShSVExEX1NUQVJUKTogRG9uJ3QgdXNlIG11bHRpLWxpbmUgc3RyaW5ncy4KCShFTEZfTUFDSElORV9TVEFSVF9BRERSRVNTKTogVXNlIERMX1NUQVRJQ19GVU5DVElPTl9BRERSRVNTLgoJKGVsZl9tYWNoaW5lX2ZpeHVwX3BsdCk6IFVwZGF0ZSB0aGUgY29kZSBlbnRyeSBwb2ludCBpbiB0aGUKCWZ1bmN0aW9uIGRlc2NyaXB0b3IgdGhyb3VnaCBhICJ2b2xhdGlsZSIgcG9pbnRlciB0byBlbnN1cmUgcHJvcGVyCgl3cml0ZSBvcmRlcmluZy4KCShlbGZfbWFjaGluZV9yZWxhKTogU2ltcGxpZnkgaGFuZGxpbmcgb2YgRlBUUiByZWxvY3M6IGFsd2F5cyBjYWxsCglfX2lhNjRfbWFrZV9mcHRyKCkuCgoJKiBzeXNkZXBzL2lhNjQvZGwtbG9va3VwY2ZnLmggKERMX0FVVE9fRlVOQ1RJT05fQUREUkVTUyk6IE5ldyBtYWNyby4KCShETF9TVEFUSUNfRlVOQ1RJT05fQUREUkVTUyk6IExpa2V3aXNlLgoJKERMX0RUX0lOSVRfQUREUkVTUyk6IFVzZSBETF9BVVRPX0ZVTkNUSU9OX0FERFJFU1MuCgkoRExfRFRfRklOSV9BRERSRVNTKTogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL2lhNjQvZGwtZnB0ci5jOiBSZXdyaXRlIGZvciBiZXR0ZXIgc2NhbGFiaWxpdHkgYW5kIHRvCglhdm9pZCBkZWFkbG9ja3MuCgoJKiBpbmNsdWRlL2xpbmsuaDogQWRkIG1lbWJlciBtYWNoaW5lIHNwZWNpZmljICJsX21hY2giIG1lbWJlciB0bwoJbGlua19tYXAuCgoJKiBzeXNkZXBzL2dlbmVyaWMvYml0cy9saW5rLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvYml0cy9saW5rLmg6IExpa2V3aXNlLgoKCSogZWxmL3J0bGQuYyAoX2RsX3N0YXJ0KTogRml4IHR5cG8gaW4gY29tbWVudC4KCShfZGxfc3RhcnRfZmluYWwpOiBDb3B5IG5ldyAibF9tYWNoIiBtZW1iZXIgZnJvbSB0ZW1wb3JhcnkgdG8KCWZpbmFsIGJvb3RzdHJhcCBtYXAuCgoyMDAxLTA3LTI1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGNzdS9nbW9uLXN0YXJ0LmM6IFVzZSBFTlRSWV9QT0lOVF9ERUNMIGlmIGRlZmluZWQgaW5zdGVhZCBvZiBhCglkZWNsYXJhdGlvbiB1c2luZyBFTlRSWV9QT0lOVC4KCSogc3lzZGVwcy9pYTY0L2VsZi9lbnRyeS5oIChFTlRSWV9QT0lOVF9ERUNMKTogTmV3IGRlZmluaXRpb24uCgoyMDAxLTA3LTI1ICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBjc3UvZ21vbi1zdGFydC5jOiBJbmNsdWRlIDxlbnRyeS5oPgoJKF9zdGFydCk6IFJlcGxhY2VkIHdpdGggRU5UUllfUE9JTlQuCgoyMDAxLTA3LTI1ICBNYXJrIEtldHRlbmlzICA8a2V0dGVuaXNAZ251Lm9yZz4KCgkqIHN5c2RlcHMvdW5peC9ic2QvYnNkNC40L2JpdHMvc29ja2V0Lmg6IE5ldyBmaWxlLgoKMjAwMS0wNy0yNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udi9pY29udmNvbmZpZy5jIChtYWluKTogRG9uJ3Qgd3JpdGUgYW4gb3V0cHV0IGZpbGUgaWYgd2UKCWhhdmUgc2VlbiBhbiBlcnJvci4KCSh3cml0ZV9vdXRwdXQpOiBEb24ndCBvdmVyd3JpdGUgb2xkIGNhY2hlIGZpbGUgdW50aWwgd2Uga25vdyB3ZQoJaGF2ZSBhIG5ldyBvbmUuCgoJKiBpY29udi9NYWtlZmlsZSAoaW5zdGFsbC1zYmluKTogQWRkIGljb252Y29uZmlnLgoKMjAwMS0wNy0yNSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBlbGYvTWFrZWZpbGUgKHJvdXRpbmVzKTogQWRkIGRsLWl0ZXJhdGVwaGRyIGFuZAoJZGwtaXRlcmF0ZXBoZHItc3RhdGljLgoJKGVsaWRlLXJvdXRpbmVzLm9zKTogQWRkIGRsLWl0ZXJhdGVwaGRyLXN0YXRpYy4KCSogZWxmL2RsLWl0ZXJhdGVwaGRyLmM6IE5ldyBmaWxlLgoJKiBlbGYvbGluay5oIChzdHJ1Y3QgZGxfcGhkcl9pbmZvKTogTmV3IGRlZmluaXRpb24uCgkoZGxfaXRlcmF0ZV9waGRyKTogTmV3IHByb3RvdHlwZS4KCSogZWxmL1ZlcnNpb25zIChkbF9pdGVyYXRlX3BoZHIpOiBBZGQgYXQgR0xJQkNfMi4yLjQuCgkqIGluY2x1ZGUvbGluay5oIChzdHJ1Y3QgZGxfcGhkcl9pbmZvKTogTmV3IGRlZmluaXRpb24uCgkoZGxfaXRlcmF0ZV9waGRyLCBfX2RsX2l0ZXJhdGVfcGhkcik6IE5ldyBwcm90b3R5cGVzLgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtaXRlcmF0ZXBoZHItc3RhdGljLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2RsLWl0ZXJhdGVwaGRyLXN0YXRpYy5jOiBOZXcgZmlsZS4KCjIwMDEtMDctMjQgIElnb3IgS2hhdmtpbmUgIDxpX2toYXZraUBhbGNvci5jb25jb3JkaWEuY2E+CgoJKiBodXJkL2h1cmRzaWcuYyAoX2h1cmRzaWdfaW5pdCk6IEZpeCBpbmNvcnJlY3QgaW5pdGlhbGl6YXRpb24KCW9mIHBlbmRpbmcgc2lnbmFscy4KCjIwMDEtMDYtMjIgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9wb3dlcnBjL2RsLW1hY2hpbmUuYyAoX19lbGZfcHJlZmVycmVkX2FkZHJlc3MpOiBQcmVmZXIKCWdhcHMgYmVsb3cgbWFpbiBleGVjdXRhYmxlLgoKMjAwMS0wNy0yMiAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaW50bC9saWJpbnRsLmggKG5nZXR0ZXh0LCBkbmdldHRleHQsIGRjbmdldHRleHQpOiBVc2UgYm90aCBtc2dpZDEKCWFuZCBtc2dpZDIgZm9yIHByaW50ZiBmb3JtYXQgYXJndW1lbnQgY2hlY2tpbmcuCgoyMDAxLTA3LTI0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGljb252L2djb252X2NhY2hlLmMgKGZpbmRfbW9kdWxlKTogRG9uJ3QgYWxsb2NhdGUgcm9vbSBmb3IgdGhlCglmaWxlbmFtZS4gIFVzZSBhbGxvY2EsIHdlIGRvbid0IG5lZWQgaXQgYmV5b25kIHRoaXMgZnVuY3Rpb24uCgkoX19nY29udl9yZWxlYXNlX2NhY2hlKTogTmV3IGZ1bmN0aW9uLgoJKiBpY29udi9nY29udl9kYi5jIChfX2djb252X2Nsb3NlX3RyYW5zZm9ybSk6IENhbGwKCV9fZ2NvbnZfcmVsZWFzZV9jYWNoZSBhZnRlciB0aGUgc3RlcHMgYXJlIGhhbmRsZWQuCgkqIGljb252L2djb252X2RsLmMgKF9fZ2NvbnZfZmluZF9zaGxpYik6IEFsbG9jYXRlIGZpbGUgbmFtZSBpbiB0aGUKCXJlY29yZCBhcyB3ZWxsLgoJKiBpY29udi9nY29udl9pbnQuaDogQWRkIHByb3RvdHlwZSBmb3IgX19nY29udl9yZWxlYXNlX2NhY2hlLgoKCSogaWNvbnYvZ2NvbnZfY2FjaGUuYyAoX19nY29udl9sb29rdXBfY2FjaGUpOiBDYXRjaCBvbmUgbW9yZQoJYm91bmRhcnkgY2FzZSBhbmQgcmVqZWN0IGl0LgoKMjAwMS0wNy0yNCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogbWFudWFsL2V4YW1wbGVzL2xvbmdvcHQuYyAobWFpbik6IEZpeCB3aGljaCBvcHRpb25zIHRha2UgYXJndW1lbnRzLgoKMjAwMS0wNy0yNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udmRhdGEvTWFrZWZpbGU6IEFkZCBkZXBlbmRlbmNpZXMgZm9yIHRzdC1sb2FkaW5nIHRlc3QuCgoyMDAxLTA3LTI0ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBpY29udi9pY29udmNvbmZpZy5jIChuYW1lX2luc2VydCk6IE1ha2Ugc3RhdGljIHRvIGF2b2lkIHdhcm5pbmcuCgoyMDAxLTA3LTIzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sb2NhbGUuYyAod3JpdGVfbG9jYWxlcyk6IERpc2FibGUgaW1wbGljaXQKCWxvY2tpbmcgZm9yIHRoZSBzdHJlYW0uICBVc2UgZmVvZl91bmxvY2tlZCBpbnN0ZWFkIG9mIGZlb2YuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L21ha2Vjb250ZXh0LlM6IEluaXRpYWxpemUgJWZzLCAlZ3MsCglhbmQgZmxvYXRpbmctcG9pbnQgc3RhdHVzIGFzIHdlbGwuCgoJKiBsaWJpby9pb2ZjbG9zZS5jIChfSU9fbmV3X2ZjbG9zZSk6IFVubGluayBkZXNjcmlwdG9yIGZpcnN0IHRvCglhdm9pZCBkZWFkbG9jay4KCSogbGliaW8vb2xkaW9mY2xvc2UuYyAoX0lPX29sZF9mY2xvc2UpOiBMaWtld2lzZS4KCSogbGliaW8vZ2Vub3BzLmMgKF9JT191bl9saW5rKTogR2V0IHN0cmVhbSBsb2NrIHNpbmNlIGl0J3Mgbm90CglhbHdheXMgZG9uZSBpbiB0aGUgY2FsbGVyLgoJKF9JT19saW5rX2luKTogTGlrZXdpc2UuCgoJKiBsaWJpby9nZW5vcHMuYyAoX0lPX2xpc3RfYWxsX3N0YW1wKTogTmV3IHZhcmlhYmxlLgoJKF9JT191bl9saW5rKTogQnVtcCBfSU9fbGlzdF9hbGxfc3RhbXAgYWZ0ZXIgcmVtb3ZpbmcgZnJvbSBsaXN0LgoJKF9JT19saW5rKTogTGlrZXdpc2UgZm9yIGluc2VydGlvbi4KCShmbHVzaF9jbGVhbnVwKTogTmV3IGZ1bmN0aW9uLgoJKF9JT19mbHVzaF9hbGwpOiBHZXQgbGlzdF9hbGxfbG9jayBhbmQgYWxsIGluZGl2aWR1YWwgbG9ja3MgZm9yIHRoZQoJc3RyZWFtcy4gIERldGVjdCBhbmQgaGFuZGxlIGNoYW5nZXMgdG8gdGhlIF9JT19saXN0X2FsbCBsaXN0LgoJKF9JT19mbHVzaF9hbGxfbGluZWJ1ZmZlcmVkKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9iaXRzL3N0ZGlvLWxvY2suaDogRGVmaW5lCglfSU9fY2xlYW51cF9yZWdpb25fc3RhcnRfbm9hcmcuCgkqIHN5c2RlcHMvbWFjaC9odXJkL2JpdHMvc3RkaW8tbG9jay5jOiBMaWtld2lzZS4KCgkqIHN0ZGlvLWNvbW1vbi9wcmludGYuaDogRml4IHR5cG8gaW4gY29tbWVudC4KCgkqIGljb252L2djb252X2NhY2hlLmMgKF9fZ2NvbnZfbG9va3VwX2NhY2hlKTogSGFuZGxlIGVuY29kaW5nIGZyb20KCWFuZCB0byBJTlRFUk5BTC4KCSogaWNvbnYvaWNvbnZjb25maWcuYzogQ3JlYXRlIGEgc3BlY2lhbCByZWNvcmQgZm9yIHRoZSBJTlRFUk5BTAoJZW5jb2RpbmcgbmFtZSBpbiB0aGUgb3V0cHV0IGZpbGUuCgoyMDAxLTA3LTIzICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN1bnJwYy9zdmNfdGNwLmMgKHN2Y3RjcF9yZW5kZXp2b3VzX2Fib3J0KTogTmV3IGZ1bmN0aW9uLgoJKHN2Y3RjcF9yZW5kZXp2b3VzX29wKTogVXNlIGl0LgoJKiBzdW5ycGMvc3ZjX3VuaXguYyAoc3ZjdW5peF9yZW5kZXp2b3VzX2Fib3J0KTogTmV3IGZ1bmN0aW9uLgoJKHN2Y3VuaXhfcmVuZGV6dm91c19vcCk6IFVzZSBpdC4KCjIwMDEtMDctMjMgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBtYXRoL01ha2VmaWxlIChDUFBGTEFHUy10ZXN0LWlmbG9hdC5jLCBDUFBGTEFHUy10ZXN0LWlkb3VibGUuYywKCUNQUEZMQUdTLXRlc3QtaWxkb3VibC5jKTogUmVuYW1lZCBmcm9tIENGTEFHUy0qLgoJKG1hdGgtQ1BQRkxBR1MpOiBTZXQgdGhpcyBpbnN0ZWFkIG9mIENQUEZMQUdTLgoKMjAwMS0wNy0yMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvZWxmLmg6IEFkZCBtb3JlIGRlZmluaXRpb25zIGZyb20gU3VuJ3MgbGF0ZXN0IHZlcnNpb24uCgoyMDAxLTA3LTIzICBTdGVwaGVuIEwgTW9zaGllciAgPG1vc2hpZXJAbWVkaWFvbmUubmV0PgoKCSogc3lzZGVwcy9pZWVlNzU0L2xkYmwtMTI4L3NfbG9nMXBsLmMgKF9fbG9nMXBsKTogUmV0dXJuIHByb3BlcgoJc2lnbiBmb3IgMCBpbnB1dCBhbmQgc2V0IGRpdmlkZSBieSB6ZXJvIGV4Y2VwdGlvbiBmb3IgLTEgaW5wdXQuCglSZXR1cm4gYXJndW1lbnQgaWYgTmFOIG9yIGluZmluaXR5LgoKMjAwMS0wNy0yMyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L2ZwdS9saWJtLXRlc3QtdWxwczogQWRkIHNvbWUgZGVsdGFzLgoKMjAwMS0wNy0yMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udi9nY29udl9jYWNoZS5jIChfX2djb252X2xvb2t1cF9jYWNoZSk6IFNlbGVjdCBjb3JyZWN0Cgltb2R1bGUgZm9yIGNvbnZlcnNpb24gZGlyZWN0aW9uLgoKMjAwMS0wNy0yMyAgU3RlcGhlbiBMIE1vc2hpZXIgIDxtb3NoaWVyQG1lZGlhb25lLm5ldD4KCgkqIHN5c2RlcHMvaWVlZTc1NC9sZGJsLTEyOC9zX2V4cG0xbC5jIChfX2V4cG0xbCk6IFJldHVybiBwcm9wZXIKCXNpZ24gZm9yIDAgaW5wdXQuICBSZXR1cm4gTmFOIHdpdGggbm8gZXhjZXB0aW9uIGZvciBOYU4gaW5wdXQuCgoyMDAxLTA3LTIzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGljb252L2djb252X2J1aWx0aW4uaDogSVNPLTEwNjQ2NC9VVEYtOC8gdHJhbnNmb3JtYXRpb24gbXVzdAoJcmVhbGx5IGJlIGFuIGFsaWFzLgoKMjAwMS0wNy0yMyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogaWNvbnYvaWNvbnZjb25maWcuYzogSW5jbHVkZSA8c3lzL2NkZWZzLmg+IGFuZCB1c2UKCV9fYXR0cmlidXRlX21hbGxvY19fIGZvciBvbGRlciBHQ0MgdmVyc2lvbnMuCgkqIGljb252L3N0cnRhYi5jOiBMaWtld2lzZS4KCUFkZCBwcm90b3R5cGVzIHRvIGF2b2lkIHdhcm5pbmdzLgoKMjAwMS0wNy0yMiAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAZnJvYi5jb20+CgoJKiBodXJkL2h1cmRzaWcuYyAoX2h1cmRfaW50ZXJuYWxfcG9zdF9zaWduYWwpOiBTdXBwb3J0IFNBX1JFU0VUSEFORAoJYW5kIFNBX05PREVGRVIgb3B0aW9ucy4JIFNwdXJyZWQgdG8gYWN0aW9uIGJ5IElnb3IgS2hhdmtpbmUuCgoJKiBzeXNkZXBzL2dlbmVyaWMvYml0cy9zaWdhY3Rpb24uaCBbX19VU0VfVU5JWDk4IHx8IF9fVVNFX01JU0NdCgkoU0FfTk9ERUZFUiwgU0FfUkVTRVRIQU5EKTogTmV3IG1hY3Jvcywgc2FtZSBiaXQgdmFsdWVzIGFzIEZyZWVCU0QuCglbX19VU0VfTUlTQ10gKFNBX0lOVEVSUlVQVCk6IE5ldyBtYWNybywgdmFsdWUgMC4KCVtfX1VTRV9NSVNDXSAoU0FfTk9NQVNLLCBTQV9PTkVTSE9ULCBTQV9TVEFDSyk6IE5ldyBtYWNyb3MsIGFsaWFzZXMKCWFzIGluIG90aGVyIHN5c2RlcHMgdmVyc2lvbnMgb2YgdGhpcyBmaWxlLgoKCSogc3lzZGVwcy9nZW5lcmljL2JpdHMvc2lnYWN0aW9uLmggKHN0cnVjdCBzaWdhY3Rpb24pOiBVc2UgYSB1bmlvbgoJYW5kIHByb3ZpZGUgc2FfaGFuZGxlciBhbmQgc2Ffc2lnYWN0aW9uIG1lbWJlciBuYW1lcyBhcyBtYWNyb3MsIGFzCglkb25lIGluIG90aGVyIHN5c2RlcHMgdmVyc2lvbnMgb2YgdGhpcyBmaWxlLgoJU3VnZ2VzdGVkIGJ5IElnb3IgS2hhdmtpbmUgPGlfa2hhdmtpQGFsY29yLmNvbmNvcmRpYS5jYT4uCgoyMDAxLTA3LTIzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHBvc2l4L3JlZ2V4LmM6IFJldmFtcCBtZW1vcnkgYWxsb2NhdGlvbiBmb3IgV0NIQVIgZnVuY3Rpb25zIHRvCglub3QgdXNlIHRvbyBtdWNoIHN0YWNrLgoKMjAwMS0wNy0yMiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udi9pY29udmNvbmZpZy5jICh3cml0ZV9vdXRwdXQpOiBVcGRhdGUgY29tbWVudCBleHBsYWluaW5nCglvdXRwdXQgZm9ybWF0LgoKCSogZWxmL2RsLWxvYWQuYyAoX2RsX2RzdF9jb3VudCk6IEluIFNVSUQgYmluYXJpZXMgZXhwYW5kICRPUklHSU4KCWlmIGl0IGlzIGFsb25lLgoJKF9kbF9kc3Rfc3Vic3RpdHV0ZSk6IExpa2V3aXNlLgoKCSogaWNvbnYvaWNvbnZjb25maWcuYzogUmVtb3ZlIC0tdmVyYm9zZSBvcHRpb24uICBDb21tZW50IG91dAoJbWNoZWNrX3ZlcmJvc2UgY2FsbC4KCgkqIGljb252L3N0cnRhYi5jIChtb3JlbWVtb3J5KTogRml4IGxpdHRsZSBtZW1vcnkgaGFuZGxpbmcgcHJvYmxlbS4KCjIwMDEtMDctMjIgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9tNjhrL3N5c2RlcC5oIChJTkxJTkVfU1lTQ0FMTCk6IERvbid0CgltYXJrIGFzbSBpbnB1dCBvcGVyYW5kIGFzIGNsb2JiZXJlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbTY4ay9icmsuYyAoX19icmspOiBMaWtld2lzZS4KCjIwMDEtMDctMjIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaWNvbnYvZ2NvbnZfYnVpbHRpbi5jIChzdHJ1Y3QgYnVpbHRpbl9tYXApOiBSZW1vdmUgaW5pdCBhbmQgZW5kCgllbGVtZW50cy4KCShCVUlMVElOX1RSQU5TRk9STUFUSU9OKTogUmVtb3ZlIEluaXQgYW5kIEVuZCBwYXJhbWV0ZXJzLgoJKF9fZ2NvbnZfZ2V0X2J1aWx0aW5fdHJhbnMpOiBJbml0aWFsaXplIF9faW5pdF9mY3QgYW5kIF9fZW5kX2ZjdCB0bwoJTlVMTC4KCSogaWNvbnYvZ2NvbnZfYnVpbHRpbi5oOiBSZW1vdmUgTlVMTCBwYXJhbWV0ZXJzIGZvciBJbml0IGFuZCBFbmQgaW4KCWFsbCBCVUlMVElOX1RSQU5TRk9STUFUSU9OIGNhbGxzLgoJKiBpY29udi9nY29udl9jb25mLmMgKEJVSUxUSU5fVFJBTlNGT1JNQVRJT04pOiBSZW1vdmUgSW5pdCBhbmQgRW5kCglwYXJhbWV0ZXJzLgoJKiBpY29udi9nY29udl9zaW1wbGUuYzogTGlrZXdpc2UuCgkqIGljb252L2djb252X2RiLmMgKGdlbl9zdGVwcyk6IEludGVybmFsIGNvbnZlcnRlcnMgZG9uJ3QgaGF2ZQoJaW5pdGlhbGl6ZXJzLCBtb3ZlIHRoZSBjb2RlIGFjY29yZGluZ2x5LgoKCSogaWNvbnYvZ2NvbnZfY29uZi5jIChfX2djb252X3JlYWRfY29uZik6IERvbid0IHJlYWQgY29uZmlndXJhdGlvbgoJZmlsZSBpZiBTVEFUSUNfR0NPTlYgaXMgZGVmaW5lZC4KCgkqIGljb252L2djb252X2NvbmYuYyAoX19nY29udl9wYXRoX2VudnZhcik6IE5ldyBnbG9iYWwgdmFyaWFibGUuCgkoX19nY29udl9nZXRfcGF0aCk6IFVzZSBpdCBpbnN0ZWFkIG9mIGNhbGwgZ2V0ZW52LgoJKF9fZ2NvbnZfcmVhZF9jb25mKTogRmlyc3Qgc2VlIHdoZXRoZXIgY2FjaGUgY2FuIGJlIHVzZWQuICBJZiB5ZXMsCglkb24ndCBkbyBhbnkgd29yayBoZXJlLgoJKiBpY29udi9nY29udl9kYi5jIChfX2djb252X3JlbGVhc2Vfc3RlcCk6IFJlbmFtZWQgZnJvbSByZWxlYXNlX3N0ZXAKCWFuZCBleHBvcnRlZC4gIENoYW5nZSBjYWxsZXJzLgoJKF9fZ2NvbnZfZmluZF90cmFuc2Zvcm0pOiBGaXJzdCBjYWxsIF9fZ2NvbnZfbG9va3VwX2NhY2hlIGFuZCBvbmx5Cgljb250aW51ZSBpZiBpdCBzaWduYWxzIG5vIGNhY2hlIGF2YWlsYWJsZS4gIFJlbW92ZSBzb21lIHVubmVjZXNzYXJ5Cgl0ZXN0cy4KCSogaWNvbnYvZ2NvbnZfaW50Lmg6IERlY2xhcmUgX19nY29udl9wYXRoX2VudnZhciwgX19nY29udl9sb29rdXBfY2FjaGUsCglfX2djb252X3JlbGVhc2Vfc3RlcCwgYW5kIF9fZ2NvbnZfbG9hZGVkX2NhY2hlLgoJKiBpY29udi9nY29udl9jYWNoZS5jOiBOZXcgZmlsZS4KCSogaWNvbnYvaWNvbnZjb25maWcuYzogTmV3IGZpbGUuCgkqIGljb252L2ljb252Y29uZmlnLmg6IE5ldyBmaWxlLgoJKiBpY29udi9zdHJ0YWIuYzogTmV3IGZpbGUuCgkqIGljb252L01ha2VmaWxlOiBBZGQgcnVsZXMgdG8gYnVpbGQgbmV3IGZpbGVzIGFuZCBwcm9ncmFtcy4KCjIwMDEtMDctMjAgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQGZyb2IuY29tPgoKCSogc3lzZGVwcy9nZW5lcmljL2RldmljZS1ucnMuaCAoREVWX1RUWV9QKTogQ2hhbmdlIGFyZ3VtZW50IHR5cGUKCWZyb20gYGRldl90JyAoc3RfcmRldiB2YWx1ZSkgYGNvbnN0IHN0cnVjdCBzdGF0IConLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9kZXZpY2UtbnJzLmggKERFVl9UVFlfUCk6IExpa2V3aXNlLgoJKiBsaWJpby9maWxlZG9hbGxvYy5jIChfSU9fZmlsZV9kb2FsbG9jYXRlKTogQ2hhbmdlIGNhbGxlci4KCSogc3lzZGVwcy9tYWNoL2h1cmQvZGV2aWNlLW5ycy5oOiBOZXcgZmlsZS4KCgkqIGxpYmlvL3N0ZGlvX2V4dC5oOiBNb3ZlZCB0byAuLi4KCSogc3RkaW8tY29tbW9uL3N0ZGlvX2V4dC5oOiAuLi4gaGVyZS4KCSogbGliaW8vTWFrZWZpbGUgKGhlYWRlcnMpOiBNb3ZlIHN0ZGlvX2V4dC5oIGZyb20gaGVyZSAuLi4KCSogc3RkaW8tY29tbW9uL01ha2VmaWxlIChoZWFkZXJzKTogLi4uIHRvIGhlcmUuCgkqIGluY2x1ZGUvc3RkaW9fZXh0Lmg6IE5ldyBmaWxlLgoJKiBzdGRpby9NYWtlZmlsZSAocm91dGluZXMpOiBBZGQgdGhlIHN0ZGlvX2V4dC5oIGZ1bmN0aW9ucyBoZXJlLgoJKiBzdGRpby9WZXJzaW9ucyAoR0xJQkNfMi4yLjQpOiBFeHBvcnQgdGhlIHN0ZGlvX2V4dC5oIGZ1bmN0aW9ucy4KCSogc3RkaW8vX19mbGJmLmM6IE5ldyBmaWxlLgoJKiBzdGRpby9fX2ZidWZzaXplLmM6IE5ldyBmaWxlLgoJKiBzdGRpby9fX2ZwZW5kaW5nLmM6IE5ldyBmaWxlLgoJKiBzdGRpby9fX2ZwdXJnZS5jOiBOZXcgZmlsZS4KCSogc3RkaW8vX19mcmVhZGFibGUuYzogTmV3IGZpbGUuCgkqIHN0ZGlvL19fZnJlYWRpbmcuYzogTmV3IGZpbGUuCgkqIHN0ZGlvL19fZnNldGxvY2tpbmcuYzogTmV3IGZpbGUuCgkqIHN0ZGlvL19fZndyaXRhYmxlLmM6IE5ldyBmaWxlLgoJKiBzdGRpby9fX2Z3cml0aW5nLmM6IE5ldyBmaWxlLgoKMjAwMS0wNy0yMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgkgICAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogZWxmL2xkY29uZmlnLmMgKHNlYXJjaF9kaXIpOiBBdm9pZCB1c2Ugb2YgdW5pbml0aWFsaXplZCBtZW1vcnkuCglBZGQgYSBmZXcgX19idWlsdGluX2V4cGVjdCB0byBtYXJrIHVubGlrZWx5IGVycm9yIGNhc2VzLgoKMjAwMS0wNy0yMCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9iaXRzL3NpZ2luZm8uaDogU3luY2ggd2l0aCBrZXJuZWwuCglQYXRjaCBieSBEYW5pZWwgSmFjb2Jvd2l0eiA8ZGFuQGRlYmlhbi5vcmc+LgoKMjAwMS0wNy0xOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpbnRsL2xvY2FsZWFsaWFzLmM6IFJlbW92ZSB1bm5lY2Vzc2FyeSBwcm90b3R5cGUuCgoJKiBNYWtlZmlsZTogQWRkIGh0bWwgZ29hbC4KCSogbWFudWFsL01ha2VmaWxlOiBMaWtld2lzZS4KCjIwMDEtMDctMTggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbGliaW8vZmlsZWRvYWxsb2MuYyAoX0lPX2ZpbGVfZG9hbGxvY2F0ZSk6IEEgZmV3IG1vcmUgbWlub3IKCWNsZWFudXBzIGFuZCBpbXByb3ZlbWVudHMuCgoyMDAxLTA3LTE4ICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogcG9zaXgvcmVnZXguYyAoV09SRENIQVJfUCkgW1dDSEFSXTogQWxzbyByZXR1cm4gdHJ1ZSBmb3IgdGhlCgl1bmRlcnNjb3JlIGNoYXJhY3Rlci4KCjIwMDEtMDctMTggIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogbWFsbG9jL21hbGxvYyAobmV3X2hlYXApOiBEb24ndCBjYWxsIG11bm1hcCBmb3IgemVybyBsZW5ndGguCgoyMDAxLTA3LTE4ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxpYmlvL2ZpbGVkb2FsbG9jLmMgKF9JT19maWxlX2RvYWxsb2NhdGUpOiBVc2UgREVWX1RUWV9QIGlmCglhdmFpbGFibGUgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgZGVzY3JpcHRvciBpcyBmb3IgdHR5IGJlZm9yZQoJY2FsbGluZyBpc2F0dHkuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9kZXZpY2UtbnJzLmg6IERlZmluZSBERVZfVFRZX1AuCgkqIHN5c2RlcHMvZ2VuZXJpYy9kZXZpY2UtbnJzLmg6IExpa2V3aXNlLgoKMjAwMS0wNy0xOCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogdGltZS9NYWtlZmlsZSAodHN0LWdldGRhdGUtRU5WKTogQWRkIFRaRElSIHRvIGVudmlyb25tZW50LgoKCSogdGltZS9EZXBlbmQ6IE5ldywgYWRkIGRlcGVuZGVuY3kgb24gdGltZXpvbmUuCgoJKiB0aW1lL3RzdC1nZXRkYXRlLmM6IEFkZCB0ZXN0Y2FzZSBmb3IgYnVnIHJlcG9ydCBieSBIZW5kcmlrCglVaGxtYW5uIDxIVWhsbWFubkBzdG4tYXRsYXMuZGU+LgoJKiB0aW1lL2RhdGVtc2s6IExpa2V3aXNlLgoKMjAwMS0wNy0xNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvbGRjb25maWcuYyAocGFyc2VfY29uZik6IERpc2FibGUgaW1wbGljaXQgbG9ja2luZyBmb3IgdGhlCglzdHJlYW0uICBSZW1vdmUgc29tZSB1bm5lY2Vzc2FyeSBpbml0aWFsaXplcnMuCgoyMDAxLTA3LTE3ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBlbGYvbGRjb25maWcuYzogQWRkIG5ldyB2YXJpYWJsZSBod2NhcF9tYXNrIHRvIGhvbm91ciBMRF9IV0NBUF9NQVNLLgoJKGlzX2h3Y2FwX3BsYXRmb3JtKTogVXNlIGl0LgoJKHNldF9od2NhcCk6IE5ldyBmdW5jdGlvbiB0byBzZXQgaHdjYXBfbWFzay4KCShtYWluKTogQ2FsbCBzZXRfaHdjYXAuCgoyMDAxLTA3LTE3ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHRpbWUvZ2V0ZGF0ZS5jIChfX2dldGRhdGVfcik6IEluaXRpYWxpemUgdG1faXNkc3QsIHRtX2dtdG9mZiBhbmQKCXRtX3pvbmUgYmVmb3JlIGNhbGxpbmcgc3RycHRpbWUuCgoyMDAxLTA3LTE3ICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbTY4ay9nZXRwYWdlc2l6ZS5jOiBGaXggbGFzdCBjaGFuZ2UuCgoyMDAxLTA3LTE3ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGluZXQvcmNtZC5jIChpcnVzZXJmb3Blbik6IERpc2FibGUgaW1wbGljaXQgbG9ja2luZyBmb3IgdGhlIHN0cmVhbS4KCSogaW5ldC9ydXNlcnBhc3MuYyAocnVzZXJwYXNzKTogTGlrZXdpc2UuCgkqIG5zcy9uc3N3aXRjaC5jIChuc3NfcGFyc2VfZmlsZSk6IExpa2V3aXNlLgoJKiByZXNvbHYvcmVzX2hjb25mLmMgKF9yZXNfaGNvbmZfaW5pdCk6IExpa2V3aXNlLgoJKiByZXNvbHYvcmVzX2luaXQuYyAoX19yZXNfdmluaXQpOiBMaWtld2lzZS4KCSogZ21vbi9iYl9leGl0X2Z1bmMuYyAoX19iYl9leGl0X2Z1bmMpOiBMaWtld2lzZS4KCSogbWlzYy9nZXRwYXNzLmMgKGdldHBhc3MpOiBMaWtld2lzZS4KCSogbWlzYy9nZXR1c2Vyc2hlbGwuYyAoaW5pdHNoZWxscyk6IExpa2V3aXNlLgoJKiBtaXNjL2dldHR0eWVudC5jIChzZXR0dHllbnQpOiBMaWtld2lzZS4KCSogbWlzYy9tbnRlbnRfci5jIChfX3NldG1udGVudCk6IExpa2V3aXNlLgoJKiB0aW1lL2dldGRhdGUuYyAoX19nZXRkYXRlX3IpOiBMaWtld2lzZS4KCSogdGltZS90emZpbGUuYyAoX190emZpbGVfcmVhZCk6IExpa2V3aXNlLgoJKiBpY29udi9nY29udl9jb25mLmMgKHJlYWRfY29uZl9maWxlKTogTGlrZXdpc2UuCgkqIGludGwvbG9jYWxlYWxpYXMuYyAocmVhZF9hbGlhc19maWxlKTogRGlzYWJsZSBpbXBsaWNpdCBsb2NraW5nCglmb3IgdGhlIHN0cmVhbS4gIFVzZSBfdW5sb2NrZWQgZnVuY3Rpb25zIGZvciBnbGliYy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZ2V0c3lzc3RhdHMuYyAoX19nZXRfbnByb2NzKTogRGlzYWJsZQoJaW1wbGljaXQgbG9ja2luZyBmb3IgdGhlIHN0cmVhbS4KCShfX2dldF9ucHJvY3NfY29uZik6IExpa2V3aXNlLgoJKHBoeXNfcGFnZXNfaW5mbyk6IExpa2V3aXNlLgoKMjAwMS0wNy0xNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBuc2NkL2Nvbm5lY3Rpb25zLmM6IFByaW50IG1lc3NhZ2VzIGNhdXNlZCBieSB1c2VyIGFwcGxpY2F0aW9uCglvbmx5IGlmIGRlYnVnX2xldmVsID4gMC4gIEFkZCBsaXR0bGUgcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnRzLgoJVXNlIFRFTVBfRkFJTFVSRV9SRVRSWSBhcm91bmQgd3JpdGUgY2FsbHMuCgkqIG5zY2QvZ3JwY2FjaGUuYzogTGlrZXdpc2UuCgkqIG5zY2QvaHN0Y2FjaGUuYzogTGlrZXdpc2UuCgkqIG5zY2QvcHdkY2FjaGUuYzogTGlrZXdpc2UuCgoyMDAxLTA3LTEzICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBzeXNkZXBzL21pcHMvZGwtbWFjaGluZS5oIChNQVBfQkFTRV9BRERSKTogUmVtb3ZlZC4KCShlbGZfbWFjaGluZV9nb3RfcmVsKTogRGVmaW5lZCBvbmx5IGlmIFJUTERfQk9PVFNUUkFQIGlzIG5vdCBkZWZpbmVkLgoJKFJFU09MVkVfR09UU1lNKTogUmV3cml0ZSB0byB1c2UgUkVTT0xWRS4KCgkqIHN5c2RlcHMvbWlwcy9ydGxkLWxkc2NyaXB0LmluOiBSZW1vdmVkLgoJKiBzeXNkZXBzL21pcHMvcnRsZC1wYXJtczogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbWlwcy9taXBzNjQvcnRsZC1wYXJtczogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbWlwcy9taXBzZWwvcnRsZC1wYXJtczogTGlrZXdpc2UuCgoyMDAxLTA3LTE2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGNhdGdldHMvdGVzdC1nZW5jYXQuc2g6IFVzZSA8PCJFT0YiIGluc3RlYWQgb2YgPDxFT0YgdG8gcHJldmVudAoJc3Vic3RpdHV0aW9uIGluIGhlcmUgZG9jdW1lbnQuCgoyMDAxLTA3LTE2ICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogc3lzZGVwcy9wb3NpeC9zcGF3bmkuYzogRml4IHR5cG8gd2hlbiBpdGVyYXRpbmcgb3ZlciBzaWduYWwgbnVtYmVycy4KCjIwMDEtMDctMTYgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBtYXRoL2xpYm0tdGVzdC5pbmMgKGNoZWNrX2Zsb2F0X2ludGVybmFsKTogRml4IHNpZ24gYml0IHRlc3Qgb2YKCWluZmluaXRpZXMuCgoyMDAxLTA3LTE2ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvaTM4Ni9mcHUvZV9leHBsLmMgKF9faWVlZTc1NF9leHBsKTogTWFrZSBpdCBQSUMgZnJpZW5kbHkuCgoyMDAxLTA3LTE1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG1hbGxvYy9vYnN0YWNrLmM6IERlZmluZSBfX2F0dHJpYnV0ZV9fIGZvciBub24tZ2NjIGNvbXBpbGVycy4KCVBhdGNoIGJ5IEppbSBNZXllcmluZyA8amltQG1leWVyaW5nLm5ldD4uCgoyMDAxLTA3LTEyICBNYXJ0aW4gU2Nod2lkZWZza3kgIDxzY2h3aWRlZnNreUBkZS5pYm0uY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L2JpdHMvc2lnYWN0aW9uLmg6IFJlb3JkZXIKCWZpZWxkcyBpbiB0aGUgc2lnYWN0aW9uIHN0cnVjdCB0byBtYXRjaCB0aGUgZGVmaW5pdGlvbiBpbiB0aGUga2VybmVsLgoKMjAwMS0wNy0xMiAgTWFydGluIFNjaHdpZGVmc2t5ICA8c2Nod2lkZWZza3lAZGUuaWJtLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC0zMi9tbWFwNjQuUzogQ29ycmVjdCB0aGUKCXRlc3QgZm9yIEVOT1NZUy4KCjIwMDEtMDctMTIgIE1hcnRpbiBTY2h3aWRlZnNreSAgPHNjaHdpZGVmc2t5QGRlLmlibS5jb20+CgoJKiBzeXNkZXBzL3MzOTAvczM5MC0zMi9iaXRzL3NldGptcC5oOiBBZGQgbGVhZGluZyB1bmRlcnNjb3JlcwoJdG8gdGhlIGVudHJpZXMgaW4gdGhlIF9fam1wX2J1ZiBzdHJ1Y3R1cmUuCgkqIHN5c2RlcHMvczM5MC9zMzkwLTY0L2JpdHMvc2V0am1wLmg6IExpa2V3aXNlLgoKMjAwMS0wNy0xMiAgTWFydGluIFNjaHdpZGVmc2t5ICA8c2Nod2lkZWZza3lAZGUuaWJtLmNvbT4KCgkqIHN5c2RlcHMvczM5MC9zMzkwLTMyL2Jjb3B5LlM6IFVzZSBtdmNsZSBmb3IgYmlnIGJsb2NrcwoJKD4gNjRLKSBhbmQgYSBtdmMgbG9vcCBmb3Igc21hbGwgYmxvY2tzLgoJKiBzeXNkZXBzL3MzOTAvczM5MC0zMi9tZW1jcHkuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvczM5MC9zMzkwLTY0L2Jjb3B5LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3MzOTAvczM5MC02NC9tZW1jcHkuUzogTGlrZXdpc2UuCgoyMDAxLTA3LTE1ICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbTY4ay9zeXMvcHJvY2ZzLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9tNjhrL3N5cy91Y29udGV4dC5oOiBOZXcgZmlsZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L202OGsvZ2V0cGFnZXNpemUuYzogQ2hlY2sgX2RsX3BhZ2VzaXplCglmaXJzdC4gIERlZmF1bHQgdG8gNDA5Niwgbm90IEVYRUNfUEFHRVNJWkUuCgoJKiBpY29udi9sb29wLmMgKHB1dDE2KSBbIV9TVFJJTkdfQVJDSF91bmFsaWduZWQgJiYgQklHX0VORElBTl06CglGaXggaW5kZXguCgoyMDAxLTA3LTA5ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2RsLXByb2NpbmZvLmM6IE5hbWUgZW50cnkgZm9yIHhtbTIuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2RsLXByb2NpbmZvLmg6IEFkZCBIV0NBUF9JMzg2X1hNTSwKCUhXQ0FQX0kzODZfWE1NMiB0byBlbnVtLgoKMjAwMS0wNy0xMyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogbGliaW8vZmlsZW9wcy5jOiBJbmNsdWRlIHVuaXN0ZC5oIGZvciBsc2VlazY0IHByb3RvdHlwZS4gIENsb3NlcwoJUFIgbGliYy8yMzcyLgoKMjAwMS0wNy0xMiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBNYWtlY29uZmlnOiBBZGQgc29tZSBtb3JlIGNoYW5nZXMgdG8gaGFuZGxlIEFJWCBsaW5rZXIgYmV0dGVyLgoKMjAwMS0wNy0xMiAgSC5KLiBMdSAgPGhqbEBnbnUub3JnPgoKCSogc3lzZGVwcy9nZW5lcmljL3NlZ2ZhdWx0LmM6IEluY2x1ZGUgPGVycm5vLmg+LgoKMjAwMS0wNy0wMSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZGwtc3lzZGVwLmMgKGZyb2JfYnJrKTogUmVtb3ZlIGR1cGxpY2F0ZQoJc2Jyay4gIENsb3NlcyBQUiBsaWJjLzIzMTIuCgoyMDAxLTA3LTAxICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL2dlbmVyaWMvc2VnZmF1bHQuYyAoaW5zdGFsbF9oYW5kbGVyKTogSGFuZGxlIGNhc2UgdGhhdAoJdGhlIG91dHB1dCBmaWxlIGRvZXMgbm90IGV4aXN0cy4gIENsb3NlcyBQUiBsaWJjLzIzNDUuCgoyMDAxLTA3LTExICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGludGwvbG9jYWxlLmFsaWFzOiBVc2UgaGUgbGFuZ3VhZ2UgY29kZSBmb3IgaGVicmV3LCBub3QgaWwKCVtQUiBsaWJjLzIzODJdLgoKMjAwMS0wNy0xMSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBpY29udi9nY29udl9pbnQuaDogRml4IGNvbW1lbnQgdHlwby4KCjIwMDEtMDctMTEgIElnb3IgS2hhdmtpbmUgIDxpX2toYXZraUBhbGNvci5jb25jb3JkaWEuY2E+CgoJKiBodXJkL2h1cmRzaWcuYyAoX2h1cmRzaWdfaW5pdCk6IFJlbW92ZSBhIHVzZWxlc3MgbGluZSBvZiBjb2RlLgoKMjAwMS0wNy0wNyAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAZnJvYi5jb20+CgoJKiBodXJkL2h1cmRzaWcuYyAoX2h1cmRfdGhyZWFkX3NpZ3N0YXRlKTogVXNlIE1BQ0hfUE9SVF9OVUxMLCBub3QgMC4KCjIwMDEtMDctMTAgIFN0ZXBoZW4gTCBNb3NoaWVyICA8bW9zaGllckBtZWRpYW9uZS5uZXQ+CgoJKiBzeXNkZXBzL2llZWU3NTQvbGRibC0xMjgvZV9hY29zbC5jIChfX2llZWU3NTRfYWNvc2wpOiAgRml4CgliYWNrd2FyZHMgY29uZGl0aW9uYWwgaW4gdGVzdCBmb3IgeCA9PSAxLjAuCgoyMDAxLTA3LTEwICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvZnB1L2xpYm0tdGVzdC11bHBzOiBBZGQgdWxwcyBmb3IgdGFuaAoJKC0wLjcpLgoKMjAwMS0wNy0wOSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvY29uZmlndXJlLmluOiBSZXZlcnQgcGF0Y2ggZnJvbQoJMjAwMS0wNy0wNSBmb3Igc3lzY29uZmRpciBoYW5kbGluZy4KCSogY29uZmlnLm1ha2UuaW4gKHN5c2NvbmZkaXIpOiBMaWtld2lzZS4KCSogY29uZmlndXJlLmluOiBMaWtld2lzZS4KCgkqIGNvbmZpZ3VyZS5pbjogQWx3YXlzIGFzc2lnbiBsaWJjX2N2X3N5c2NvbmZkaXIuCgoyMDAxLTA3LTA4ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIE1ha2VydWxlcyBbQUlYXSAoYnVpbGQtc2hsaWItaGVscGVyKTogUHJlY2VkZSBsaW5rZXIgb3B0aW9ucwoJd2l0aCAtV2wuCgoJKiBNYWtlY29uZmlnIChjb25maWctTERGTEFHUyk6IEFkZCBsZC5zbyBvbmx5IGZvciBFTEYuCgoJKiBzeXNkZXBzL3VuaXgvbWFrZV9lcnJsaXN0LmM6IEFkanVzdCBzeXNfZXJybGlzdCBkZWNsYXJhdGlvbiB0bwoJd2hhdCB3ZSBkZWZpbmUgaW4gPHN0ZGlvLmg+LgoKCSogaWNvbnYvaWNvbnZfcHJvZy5jIChtYWluKTogRG9uJ3QgdW5jb25kaXRpb25hbGx5IGRlZmluZQoJdmFyaWFibGVzIG9ubHkgdXNlIGlmIF9QT1NJWF9NQVBQRURfRklMRVMgaXMgZGVmaW5lZC4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9zZW5kbXNnLmMgKHNlbmRtc2cpOiBGaXggcmV0dXJuIHR5cGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9yZWN2bXNnLmMgKHJlY3Ztc2cpOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9yZWN2LmM6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L3JlY3Zmcm9tLmM6IEZpeCB2YXJpb3VzIHR5cGVzLgoKMjAwMS0wNy0wNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2dlbmVyaWMvcmVjdi5jOiBGaXggcmV0dXJuIHR5cGUuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvZGwtbGliYy5jIChfX2xpYmNfZGxjbG9zZSk6IEZpeCB0eXBvLgoKCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L2dldHRpbWVvZmRheS5jIChfX2dldHRpbWVvZmRheSk6IEFkZAoJZGVjbGFyYXRpb25zIGZvciBhc20gZnVuY3Rpb25zLgoKCSogaW5jbHVkZS9saWJjLXN5bWJvbHMuaDogUHJvdmlkZSBtb3JlIGR1bW15IGRlZmluaXRpb25zIGZvciB0aGUKCWNhc2UgaWYgR05VIGxkIGlzbid0IHVzZWQuCgoJKiBsaWJpby9mcmVvcGVuLmM6IEluY2x1ZGUgPHN0ZGxpYi5oPiBmb3IgZnJlZSBkZWNsYXJhdGlvbi4KCSogbGliaW8vZnJlb3BlbjY0LmM6IExpa2V3aXNlLgoKCSogc3lzZGVwcy9hbHBoYS9mcHUvbGlibS10ZXN0LXVscHM6IEFkZCBkZWx0YXMgZm9yIHRhbmgoLTAuNykuCgoyMDAxLTA3LTA2ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc2lnYWN0aW9uLmMgKFJFU1RPUkUyKTogUHV0IGFzbQoJZXhwbGljaXRseSBpbnRvIC50ZXh0IHNlY3Rpb24uCgoyMDAxLTA0LTE2ICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvYml0cy9zaWdjb250ZXh0LmggKHN0cnVjdCBzaWdjb250ZXh0KToKCUFkZCAxNiBsb25nd29yZHMgcmVzZXJ2ZWQgZm9yIGZ1dHVyZSB1c2UgdG8gbWF0Y2ggY2hhbmdlcyBpbiB0aGUKCWtlcm5lbC4KCjIwMDEtMDctMDMgIEplcyBTb3JlbnNlbiAgPGplc0B0cmFpbmVkLW1vbmtleS5vcmc+CgoJKiBzeXNkZXBzL2lhNjQvc3RybmNweS5TOiBDYWxsIHN0cm5sZW4oKSB3aGVuIGRldGVybWluaW5nIHRoZQoJc3RyaW5nIGxlbmd0aCByYXRoZXIgdGhhbiBzdHJsZW4oKS4gU29sdmVzIHRoZSBwZXJmb3JtYW5jZSBwcm9ibGVtCglvZiBkb2luZyBzdHJsZW4gb24gYSA1TUIgc3RyaW5nIHdoZW4gc3RybmNweSB3YXMgY2FsbGVkIHdpdGggYQoJbGVuZ3RoIGFyZ3VtZW50IG9mIDUgYnl0ZXMuCgoyMDAxLTA3LTAyICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX3JlbGEpOiBIYW5kbGUKCVJfU1BBUkNfVUExNiBhbmQgUl9TUEFSQ19VQTMyLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9yZWxhKTogTGlrZXdpc2UuCgoyMDAxLTA3LTAxICBTdGVwaGVuIEwgTW9zaGllciAgPG1vc2hpZXJAbWVkaWFvbmUubmV0PgoKCSogc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYvZV9hY29zaGwuYyAoX19pZWVlNzU0X2Fjb3NobCk6CglhY29zaCh4KSA9IGxuKDJ4KSBpZiB4ID4gMl4zMC4KCSogc3lzZGVwcy9pZWVlNzU0L2xkYmwtMTI4L2VfYWNvc2hsLmMgKF9faWVlZTc1NF9hY29zaGwpOgoJYWNvc2goeCkgPSBsbigyeCkgaWYgeCA+IDJeNTQuCgoyMDAxLTA3LTA3ICBNYXJrIEtldHRlbmlzICA8a2V0dGVuaXNAZ251Lm9yZz4KCgkqIHN5c2RlcHMvbWFjaC9odXJkL2kzODYvZXhjMnNpZ25hbC5jIChfaHVyZF9leGNlcHRpb24yc2lnbmFsKToKCUdlbmVyYXRlIFNJR1NFR1YgaW5zdGVhZCBvZiBTSUdCVVMgZm9yIEtFUk5fSU5WQUxJRF9BRERSRVNTIGFuZAoJS0VSTl9XUklURV9QUk9URUNUSU9OX0ZBSUxVUkUuCgoyMDAxLTA3LTA3ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHBvc2l4L3JlZ2V4LmM6IExpbWl0IHN0cmluZyBsZW5ndGggcHJpbnRlZCBpbiBkZWJ1ZyBtZXNzYWdlcyB0bwoJMTAwIGNoYXJzLgoKCSogY29uZmlndXJlLmluOiBEb24ndCB3YXJuIGFib3V0IHZlcnNpb25pbmcgaWYgbm90IG9uIEVMRiBzeXN0ZW0uCgoyMDAxLTA3LTA3ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzLyo6IFB1dCBmaWxlcyBmcm9tIEdOVSBNUCBMaWJyYXJ5IHVuZGVyIExHUEwgdjIuMS4KCjIwMDEtMDctMDYgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG8vZ2wucG86IFVwZGF0ZSBmcm9tIHRyYW5zbGF0aW9uIHRlYW0uCgoyMDAxLTA3LTA2ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9jb25maWd1cmUuaW46IEZpeCBoYW5kbGluZyBvZgoJc3lzY29uZmRpci4KCgkqIG1hbnVhbC9saWJjLXRleGluZm8uc2g6IEFkZCBub3RlIGZvciB0aGUgRkRMLgoKCSogbWFudWFsL2FyZ3AudGV4aSAoQXJncCBFeGFtcGxlIDQpOiBGaXggdGV4aW5mbyB3YXJuaW5nLgoKCSogbWFudWFsL2xpYmMudGV4aW5mbzogUmVnZW5lcmF0ZWQuCgoJKiBtYW51YWwvZmRsLnRleGk6IEZpeCBub2RlLgoKCSogY29uZmlnLm1ha2UuaW4gKHN5c2NvbmZkaXIpOiBSZXBsYWNlIGNvcnJlY3RseS4KCUNsb3NlcyBQUiBsaWJjLzIzNjksIHJlcG9ydGVkIGJ5IFBldGVyIFNpbW9ucyA8c2ltb25zQGNyeXAudG8+LgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvY29uZmlndXJlLmluOiBSZW1vdmVkLCBpdCdzIG5vCglsb25nZXIgbmVlZGVkLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvY29uZmlndXJlLmluIChsaWJjX2N2X2xpbnV4VkVSKTogQWRkCgljYXNlIGZvciBhbHBoYS4KCVJld29yayBoYW5kbGluZyBvZiBtaXNzaW5nIGxpbnV4dGhyZWFkcyBhZGQtb24uCgoJKiBjb25maWd1cmUuaW46IFJlbW92ZSB1bnVzZWQgc3lzY29uZmRpciBzdWJzdGl0dXRpb24uCgoJKiBtYW51YWwvTWFrZWZpbGUgKHRleGlzKTogQWRkIGZkbC50ZXhpLgoJKiBtYW51YWwvZmRsLnRleGk6IE5ldy4KCSogbWFudWFsL3NvY2tldC50ZXhpIChIb3N0IE5hbWVzKTogSW1wcm92ZSBncmFtbWFyLCBmaXggb3ZlcmZsb3cgaGJveC4KCSogbWFudWFsL2xpYmMudGV4aW5mbzogQWRkIGZkbCwgdXBkYXRlIHRpdGxlcGFnZS4KCVBhdGNoZXMgYnkgQnJpYW4gWW91bWFucyA8M2RpZmZAZ251Lm9yZz4uCgoJKiBzeXNkZXBzL3VuaXgvbWFrZV9lcnJsaXN0LmMgKG1haW4pOiBQcmludCBMR1BMIHYyLjEgZm9yCglnZW5lcmF0ZWQgZmlsZS4KCjIwMDEtMDctMDYgIFBhdWwgRWdnZXJ0ICA8ZWdnZXJ0QHR3aW5zdW4uY29tPgoKCSogbWFudWFsL2FyZ3AudGV4aTogUmVtb3ZlIGlnbm9yZWQgTEdQTCBjb3B5cmlnaHQgbm90aWNlOyBpdCdzCglub3QgYXBwcm9wcmlhdGUgZm9yIGRvY3VtZW50YXRpb24gYW55d2F5LgoJKiBtYW51YWwvbGliYy10ZXhpbmZvLnNoOiAiTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIiAtPgoJIkxlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIi4KCSogQ09QWUlORzogRml4IFkyayBidWcgaW4gc2FtcGxlIGNvcHlyaWdodCBub3RpY2VzLgoJKiBtYW51YWwvbGVzc2VyLnRleGk6IFJlbmFtZWQgZnJvbSBtYW51YWwvbGdwbC50ZXhpbmZvLAoJYXMgZnNmLm9yZyB1c2VzIHRoZSBuYW1lICJsZXNzZXIudGV4aSIuCgkqIG1hbnVhbC9NYWtlZmlsZSAodGV4aXMpOiBGb2xsb3cgcmVuYW1lLgoKMjAwMS0wNy0wNiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogQWxsIGZpbGVzIHVuZGVyIEdQTC9MR1BMIHZlcnNpb24gMjogUGxhY2UgdW5kZXIgTEdQTCB2ZXJzaW9uCgkyLjEuCgoyMDAxLTA3LTA1ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJU3luY2ggd2l0aCBMaW51eCAyLjQuNjoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvYml0cy9zb2NrZXQuaCAoUEZfQkxVRVRPT1RIKToKCU5ldy4KCShBRl9CTFVFVE9PVEgpOiBOZXcuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvYml0cy9zb2NrZXQuaAoJKFBGX0JMVUVUT09USCk6IE5ldy4KCShBRl9CTFVFVE9PVEgpOiBOZXcuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL2JpdHMvc29ja2V0LmggKEFGX0JMVUVUT09USCk6IE5ldy4KCShQRl9CTFVFVE9PVEgpOiBOZXcuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2JpdHMvc29ja2V0LmggKEFGX0JMVUVUT09USCk6IE5ldy4KCShQRl9CTFVFVE9PVEgpOiBOZXcuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9iaXRzL3NvY2tldC5oIChQRl9CTFVFVE9PVEgpOiBOZXcuCgkoQUZfQkxVRVRPT1RIKTogTmV3LgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYml0cy9zb2NrZXQuaCAoUEZfQkxVRVRPT1RIKTogTmV3LgoJKEFGX0JMVUVUT09USCk6IE5ldy4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L25ldC9pZl9hcnAuaCAoQVJQSFJEX0lFRUU4MDIxMSk6IE5ldy4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvYml0cy90ZXJtaW9zLmggKE5fSENJKTogTmV3LgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9iaXRzL2lvY3RsLXR5cGVzLmggKE5fSENJKTogTmV3LgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYml0cy9pb2N0bC10eXBlcy5oIChOX0hDSSk6IE5ldy4KCjIwMDEtMDctMDQgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQGZyb2IuY29tPgoKCSogaHVyZC9odXJkc2lnLmMgKF9odXJkX2ludGVybmFsX3Bvc3Rfc2lnbmFsKTogRm9yIFNTLT5zdXNwZW5kZWQKCXdha2V1cCBtZXNzYWdlLCB1c2UgTUFDSF9NU0dfVFlQRV9NQUtFX1NFTkQgZm9yIHRoZSByZWNlaXZlciBwb3J0CglyYXRoZXIgdGhhbiBkb2luZyBhIG1hY2hfcG9ydF9pbnNlcnRfcmlnaHQgY2FsbCBmaXJzdC4KCjIwMDEtMDYtMjYgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQGZyb2IuY29tPgoKCSogaHVyZC9odXJkaW9jdGwuYzogSW5jbHVkZSA8c3RyaW5nLmg+IGZvciBtZW1jcHkgZGVjbC4KCjIwMDEtMDctMDMgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L3N5c3Y0L3NvbGFyaXMyL2NvbmZpZ3VyZS5pbjogUmVtb3ZlIGNoZWNrIGZvcgoJY3J5cHQgYWRkLW9uLgoKMjAwMS0wNy0wMSAgTWFyayBLZXR0ZW5pcyAgPGtldHRlbmlzQGdudS5vcmc+CgoJKiBzeXNkZXBzL21hY2gvaHVyZC9pZl9pbmRleC5jOiBSZWRvbmUgdG8gdXNlIG5ldyBpbnRlcmZhY2VzIGluCgl0aGUgSHVyZCBwZmluZXQgc2VydmVyLCB1c2luZyBlcXVpdmFsZW50IGNvZGUgZnJvbSB0aGUgTGludXgKCXZlcnNpb24gaW4gc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWZfaW5kZXguYy4gSW4gZGV0YWlsOgoJSW5jbHVkZSA8dW5pc3RkLmg+LCA8ZXJyb3IuaD4sIDxzeXMvaW9jdGwuaD4sIDxodXJkL2lvY3RsLmg+IGFuZAoJPGh1cmQvcGZpbmV0Lmg+LiAgRG9uJ3QgaW5jbHVkZSA8c3lzL21tYW4uaD4gYW5kIDxodXJkL2ZzeXMuaD4KCWFueW1vcmUuCgkoaWZfbmFtZXRvaW5kZXgpOiBOZXcgaW1wbGVtZW50YXRpb24gdXNpbmcgU0lPQ0dJRklOREVYLgoJKGlmX2ZyZWVuYW1laW5kZXgpOiBTdHJhaWdodCBjb3B5IG9mIHRoZSBMaW51eCB2ZXJzaW9uLgoJKGlmX25hbWVpbmRleCk6IE5ldyBpbXBsZW1lbnRhdGlvbiBiYXNlZCBvbiBwZmluZXRfc2lvY2dpZmNvbmYgYW5kCglTSU9DR0lGSU5ERVguCgkoaWZfaW5kZXh0b25hbWUpOiBOZXcgaW1wbGVtZW50YXRpb24gdXNpbmcgU0lPQ0dJRk5BTUUuCgkobWFwX2ludGVyZmFjZXMpOiBGdW5jdGlvbiByZW1vdmVkLgoJRnJvbSBNYXJjdXMgQnJpbmttYW5uIDxtYXJjdXNAZ251Lm9yZz4uCgoyMDAxLTA2LTMwICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvcG93ZXJwYy9kbC1tYWNoaW5lLmMgKF9fZWxmX3ByZWZlcnJlZF9hZGRyZXNzKTogUHJlZmVyCglnYXBzIGJlbG93IG1haW4gZXhlY3V0YWJsZS4KCjIwMDEtMDYtMTkgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvcG93ZXJwYy9kbC1tYWNoaW5lLmggKEVMRl9NQUNISU5FX1JVTlRJTUVfVFJBTVBPTElORSk6CglIYW5kbGUgcHJvZmlsaW5nLgoKMjAwMS0wNi0yOSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy9pZWVlNzU0L2xkYmwtMTI4L3NfYXNpbmhsLmM6IE5ldyBmaWxlLgoJUGF0Y2ggYnkgU3RlcGhlbiBMIE1vc2hpZXIgPG1vc2hpZXJAbWVkaWFvbmUubmV0Pi4KCjIwMDEtMDYtMjggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbWFudWFsL2FyZ3AudGV4aTogVG9ucyBvZiBjbGVhbnVwcy4KCVBhdGNoIGJ5IENsaWZmb3JkIFUuIFNtaXRoIDxjdWVsQHN3YmVsbC5uZXQ+LgoKMjAwMS0wNi0yOCAgTWFyayBLZXR0ZW5pcyAgPGtldHRlbmlzQGdudS5vcmc+CgoJKiBtYW51YWwvdXNlcnMudGV4aSAoU2V0dGluZyBHcm91cHMpOiBDb3JyZWN0IGluaXRncm91cHMKCWRvY3VtZW50YXRpb24uICBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgZ2V0Z3JvdXBsaXN0LgoKMjAwMS0wNi0yOCAgSC5KLiBMdSAgPGhqbEBnbnUub3JnPgoKCSogbG9jYWxlL2ZpbmRsb2NhbGUuYyAobG9jYWxlX2ZpbGVfbGlzdCk6IFJlbmFtZWQgdG8gLi4uCgkoX25sX2xvY2FsZV9maWxlX2xpc3QpOiBUaGlzLiAgTWFrZSBpdCBleHRlcm4uCgkoZnJlZV9tZW0pOiBNb3ZlIHRvIC4uLgoJKiBsb2NhbGUvc2V0bG9jYWxlLmMgKGZyZWVfbWVtKTogSGVyZS4KCjIwMDEtMDYtMjggIE1hcmsgS2V0dGVuaXMgIDxrZXR0ZW5pc0BnbnUub3JnPgoKCSogc3lzZGVwcy9tYWNoL2h1cmQvcmVhZC5jOiBJbmNsdWRlIDxodXJkL2ZkLmg+LgoJKF9fbGliY19yZWFkKTogRG9uJ3QgY2FsbCBfX3ByZWFkLiAgVXNlIF9odXJkX2ZkX3JlYWQgZGlyZWN0bHkKCWluc3RlYWQuCgkqIHN5c2RlcHMvbWFjaC9odXJkL3dyaXRlLmM6IEluY2x1ZGUgPGh1cmQvZmQuaD4uCgkoX19saWJjX3dyaXRlKTogRG9uJ3QgY2FsbCBfX3B3cml0ZS4gIFVzZSBfaHVyZF9mZF93cml0ZSBkaXJlY3RseQoJaW5zdGVhZC4KCgkqIHN5c2RlcHMvbWFjaC9odXJkL01ha2VmaWxlICgkKGxpbmstcnBjdXNlcmxpYnMpKTogQWRkIGJhY2sKCS1XbCwtc29uYW1lIG9wdGlvbiBsb3N0IGluIDIwMDEtMDYtMTYgY2hhbmdlLgoKMjAwMS0wNi0yNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBwb3NpeC90c3QtcmVnZXguYzogUGFzcyBSRUdfTkVXTElORSB0byByZWdjb21wLiAgQWRkIGV4dHJhIHRlc3RzLgoJUmVzdHJpY3QgcHJpbnRpbmcgb2Ygc3RyaW5nIGluIGRlYnVnIG1vZGUgdG8gMTAwIGNoYXJhY3RlcnMgdG8gbWFrZQoJdGhlIG91dHB1dCB1c2VmdWwgZm9yIGxvbmcgaW5wdXQgdGV4dHMuCgoJKiBwb3NpeC9NYWtlZmlsZTogQWRkIHJ1bGVzIHRvIGJ1aWxkIGFuZCBydW4gdHN0LXJlZ2V4LgoKMjAwMS0wNi0yMCAgSXNhbXUgSGFzZWdhd2EgIDxpc2FtdUB5YW1hdG8uaWJtLmNvbT4KCgkqIHBvc2l4L3JlZ2V4LmMgKEZSRUVfV0NTX0JVRkZFUlMpOiBOZXcgbWFjcm8gdG8gZnJlZSBidWZmZXJzLgoJKHJlX3NlYXJjaF8yKTogSW52b2tlIGNvbnZlcnRfbWJzX3RvX3djcyBhbmQgRlJFRV9XQ1NfQlVGRkVSUy4KCSh3Y3NfcmVfbWF0Y2hfMl9pbnRlcm5hbCk6IENoZWNrIHdoZXRoZXIgdGhlIHdjcyBidWZmZXJzIG5lZWQKCXNldGluZyB1cCBvciBub3QsIGFuZCBza2lwIHNldGluZyB1cCByb3V0aW4gaWYgbm90IG5lZWRlZC4KCjIwMDEtMDYtMjYgIElzYW11IEhhc2VnYXdhICA8aXNhbXVAeWFtYXRvLmlibS5jb20+CgoJKiBwb3NpeC9yZWdleC5jIChjb3VudF9tYnNfbGVuZ3RoKTogVXNlIGJpbmFyeSBzZWFyY2ggZm9yIG9wdGltaXphdGlvbi4KCjIwMDEtMDYtMjcgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG9zaXgvdHN0LXJlZ2V4LmM6IEZpeCBzZXZlcmFsIGJ1Z3MuICBBZGQgbW9yZSB0ZXN0cy4KCjIwMDEtMDYtMjYgIE1hcmsgS2V0dGVuaXMgIDxrZXR0ZW5pc0BnbnUub3JnPgoKCSogaHVyZC9NYWtlZmlsZSAodXNlci1pbnRlcmZhY2VzKTogQWRkIHBmaW5ldC4KCSogaHVyZC9odXJkaW9jdGwuYzogSW5jbHVkZSA8aHVyZC9wZmluZXQuaD4sIDxuZXQvaWYuaD4gYW5kCgk8bmV0aW5ldC9pbi5oPi4KCShzaW9jZ2lmY29uZik6IE5ldyBmdW5jdGlvbi4gIFJlZ2lzdGVyIGl0IHdpdGggSFVSRF9IQU5ETEVfSU9DVEwKCWFzIHRoZSBoYW5kbGVyIGZvciBTSU9DR0lGQ09ORi4KCSogc3lzZGVwcy9tYWNoL2h1cmQvYml0cy9pb2N0bHMuaDogTW9kaWZ5IFNJT0NTSUZGTEFHUyBhbmQKCVNJT0NHSUZGTEFHUyB0byBiZSBvZiBJT0MgdHlwZSBpZnJlcV9zaG9ydC4gIE1vZGlmeSBTSU9DU0lGTUVUUklDCglhbmQgU0lPQ0dJRk1FVFJJQyB0byBiZSBvZiBJT0MgdHlwZSBpZnJlcV9pbnQuICBBZGQgbmV3IG1hY3JvCglkZWZpbml0aW9ucyBmb3IgU0lPQ0dJRk1UVSwgU0lPQ1NJRk1UVSwgU0lPQ0dJRklOREVYIGFuZAoJU0lPQ0dJRk5BTUUuCglGcm9tIE1hcmN1cyBCcnVua21hbm4gPG1hcmN1c0BnbnUub3JnPi4KCjIwMDEtMDYtMjUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9nbnUvbmV0L2lmLmg6IENvcnJlY3QgX0lPVF9pZnJlcSBhbmQgYWRkIF9JT1RfaWZyZXFfc2hvcnQKCWFuZCBfSU9UX2lmcmVxX2ludC4gIFBhdGNoIGJ5IE1hcmsgS2V0dGVuaXMgPGtldHRlbmlzQHdpbnMudXZhLm5sPi4KCgkqIGVsZi9kbC1kZXBzLmMgKF9kbF9tYXBfb2JqZWN0X2RlcHMpOiBGaXggaGFuZGxpbmcgb2YgZmFpbGluZwoJX2RsX2NhdGNoX2Vycm9yIGNhbGxzLgoKMjAwMS0wNi0yMiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBwb3NpeC9yZWdleC5jIChyZWdleF9jb21waWxlLCByZV9tYXRjaF8yX2ludGVybmFsKTogRml4IGNvbW1lbnQKCXR5cG9zLgoKMjAwMS0wNi0wMSAgV29sZnJhbSBHbG9nZXIgIDx3Z0BtYWxsb2MuZGU+CgoJKiBtYWxsb2MvbWFsbG9jLmMgKG1hbGxvY19hdGZvcmssIGZyZWVfYXRmb3JrKTogVXNlIGEgdW5pcXVlIHZhbHVlCglBVEZPUktfQVJFTkFfUFRSLCBub3QgMCwgZm9yIHRoZSB0aHJlYWQtc3BlY2lmaWMgYXJlbmEgcG9pbnRlcgoJd2hlbiBtYWxsb2NfYXRmb3JrIGlzIGluIHVzZS4KCjIwMDEtMDYtMjIgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvaTM4Ni9mcHUvc19uZXh0YWZ0ZXJsLmMgKF9fbmV4dGFmdGVybCk6IEFkZCBwYXJlbnRoZXNlCgl0byBhdm9pZCB3YXJuaW5ncy4KCgkqIHN5c2RlcHMvaTM4Ni9mcHUvZV9leHBsLmMgKF9faWVlZTc1NF9leHBsKTogUmVtb3ZlIHVudXNlZAoJdmFyaWFibGUuCglBZGQgdW51c2VkIGF0dHJpYnV0ZXMgdG8gYXZvaWQgd2FybmluZ3MuCgoJKiBlbGYvcmVsZGVwNG1vZDQuYzogQWRkIHByb3RvdHlwZSB0byBhdm9pZCB3YXJuaW5nLgoJKiBlbGYvcmVsZGVwNG1vZDIuYzogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL2kzODYvZnB1L2VfZXhwbC5jOiBJbmNsdWRlIDxtYXRoX3ByaXZhdGUuaD4gZm9yCglwcm90b3R5cGVzLgoKMjAwMS0wNi0xOCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAZnJvYi5jb20+CgoJKiBodXJkL2h1cmQvZmQuaCAoX2h1cmRfZmRfZXJyb3Jfc2lnbmFsKTogQ2hhbmdlIHJldHVybiB0eXBlIHRvIGludC4KCjIwMDEtMDYtMjAgIEFsZXhhbmRyZSBPbGl2YSAgPGFvbGl2YUByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3Yvc2V0dGltZW9mZGF5LmM6IEluY2x1ZGUgdGltZS5oLgoKMjAwMS0wNi0xOSAgTWFydGluIFNjaHdpZGVmc2t5ICA8c2Nod2lkZWZza3lAZGUuaWJtLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC9kbC1jYWNoZS5oOiBOZXcgZmlsZS4KCjIwMDEtMDUtMDkgIE1pY2hhZWwgS2VlemVyICA8bWtlZXplckByZWRoYXQuY29tPgoKCSogTWFrZWNvbmZpZzogQWRkZWQgQUlYLWxkIHN1cHBvcnQgZm9yIERTTy4KCSogTWFrZXJ1bGVzOiBMaWtld2lzZS4KCSogZGxmY24vTWFrZWZpbGUgKGRlZmF1bHRtb2QxLnNvKTogQWRkZWQgbGliY19ub25zaGFyZWQuCgkoZGVmYXVsdG1vZDIuc28pOiBMaWtld2lzZS4KCSogZGVidWcvTWFrZWZpbGU6IENvbmRpdGlvbmFsaXplIHVzZSBvZiBlbGYvbGQuc28uCgkqIGljb252ZGF0YS9NYWtlZmlsZTogTW92ZWQgTERGTEFHIHJwYXRoL3NvbmFtZSBpbmZvIGludG8gTWFrZWNvbmZpZy4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9NYWtlZmlsZTogQWRkZWQgZGwtc3VwcG9ydC5jIGFuZCBkbC1lcnJvci5jLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvTWFrZWZpbGU6IE1hZGUgKGYvZylyc2F2ZSgwLzEpICYKCShmL2cpcHJyZXN0KDAvMSkgc3RhdGljIG9ubHkuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9nZXR0aW1lb2ZkYXkuYzogUmVtb3ZlZCAjaWYgMC4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L3N0YXJ0LmM6IERlZmluZSBfX2Rzb19oYW5kbGUgaWYgbm90IEVMRiBidXQKCXNoYXJlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L3NldGl0aW1lci5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L3NsZWVwLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvdXNsZWVwLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvZGwtYWRkci5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L2RsLWVycm9yLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvZGwtc3VwcG9ydC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L3Bvd2VycGMvcmVnaXN0ZXItZHVtcC5oOiBOZXcgZmlsZS4KCjIwMDEtMDYtMTkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG8vZXMucG86IFVwZGF0ZSBmcm9tIHRyYW5zbGF0aW9uIHRlYW0uCgoyMDAxLTA2LTE5ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL2llZWU3NTQvbGRibC0xMjgvc190YW5obC5jOiBOZXcgZmlsZS4KCgkqIG1hdGgvbGlibS10ZXN0LmluYyAodGFuaF90ZXN0KTogVGVzdCBmb3IgMl4tNTYuCgoJKiBzeXNkZXBzL2llZWU3NTQvbGRibC05Ni9zX3RhbmhsLmMgKF9fdGFuaGwpOiBNYWtlIHN1cmUgcmVzdWx0CgllcXVhbHMgYXJndW1lbnQgd2hlbiB4IDwgMl4tNTUuCglQYXRjaGVzIGJ5IFN0ZXBoZW4gTC4gTW9zaGllciA8bW9zaGllckBuYS1uZXQub3JubC5nb3Y+LgoKMjAwMS0wNi0xNyAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KCgkqIHN5c2RlcHMvaHBwYS9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX3JlbGEpOiBIYW5kbGUgcmVsb2NzCglhdCB1bmFsaWduZWQgYWRkcmVzcy4KCjIwMDEtMDYtMTggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG9zaXgvcmVnZXguYzogUmVvcmdhbml6ZSBjb2RlIHRvIGJ1aWxkIGNvZGUgdHdpY2UsIG9uY2UgZm9yIHNpbmdsZQoJYnl0ZSwgb25jZSBmb3IgbXVsdGktYnl0ZSBjaGFyc2V0cy4gIENob29zZSBmdW5jdGlvbiBzZXQgYWRlcXVhdGUgZm9yCglsb2NhbGUgYXQgcnVudGltZS4KCVBhdGNoIGJ5IElzYW11IEhhc2VnYXdhIDxpc2FtdUB5YW1hdG8uaWJtLmNvbT4uCgoJKiBwby9ubC5wbzogVXBkYXRlIGZyb20gdHJhbnNsYXRpb24gdGVhbS4KCjIwMDEtMDYtMDkgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGljb252ZGF0YS9nY29udi1tb2R1bGVzIChCSUc1SEtTQ1MpOiBOZXcgYWxpYXMgQklHNS1IS1NDUy4KCShJU08tODg1OS0xNCk6IE5ldyBhbGlhc2VzIElTT184ODU5LTE0IGFuZCBJU08tQ0VMVElDLgoJKiBpY29udmRhdGEvdHN0LXRhYmxlcy5zaDogRm9yIEJJRzVIS1NDUywgdXNlIEJJRzUtSEtTQ1MgY2hhcm1hcC4KCjIwMDEtMDUtMjYgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGljb252ZGF0YS90c3QtdGFibGVzLnNoOiBGb3IgU0pJUyBtb2R1bGUsIHVzZSBTSElGVF9KSVMgY2hhcm1hcC4KCSogbWFudWFsL2NoYXJzZXQudGV4aTogV3JpdGUgU2hpZnRfSklTLCBub3QgU2hpZnQtSklTLgoKMjAwMS0wNi0xNyAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAZnJvYi5jb20+CgoJKiBzeXNkZXBzL3B0aHJlYWQvYWlvX21pc2MuaCAoTElPX0RTWU5DKTogRGVmaW5lIHRvIExJT19OT1AgKyAxLAoJbm90IExJT19SRUFEICsgMSAod2hpY2ggaXMgdGhlIHZhbHVlIG9mIExJT19XUklURSEpLgoKCSogTWFrZXJ1bGVzIChidWlsZC1tb2R1bGUtaGVscGVyLW9iamxpc3QpOiBOZXcgdmFyaWFibGUsCglicm9rZW4gb3V0IG9mIGJ1aWxkLW1vZHVsZS4gIEluc2VydCAtLXdob2xlLWFyY2hpdmUvLS1uby13aG9sZS1hcmNoaXZlCglpbW1lZGlhdGVseSBlYWNoICpfcGljLmEgZmlsZSBpbiB0aGUgbGluayBvYmplY3QgbGlzdC4KCSh3aG9sZS1hcmNoaXZlKTogTmV3IHZhcmlhYmxlLCB1c2VkIGJ5IHRoYXQuCgkoYnVpbGQtbW9kdWxlLW9iamxpc3QpOiBOZXcgdmFyaWFibGUgdXNpbmcgYnVpbGQtbW9kdWxlLWhlbHBlci1vYmpsaXN0LgoJKGJ1aWxkLW1vZHVsZSwgYnVpbGQtbW9kdWxlLWhlbHBlcik6IFVzZSBpdC4KCShidWlsZC1zaGxpYi1vYmpsaXN0KTogTmV3IHZhcmlhYmxlIHVzaW5nIGJ1aWxkLW1vZHVsZS1oZWxwZXItb2JqbGlzdC4KCShidWlsZC1zaGxpYik6IFVzZSB0aGF0LgoJKiBzeXNkZXBzL21hY2gvaHVyZC9NYWtlZmlsZSAoJChsaW5rLXJwY3VzZXJsaWJzKSk6IExpa2V3aXNlLgoKCSogcG9zaXgvc3Bhd25pLmM6IE1vdmVkIHRvIC4uLgoJKiBzeXNkZXBzL3Bvc2l4L3NwYXduaS5jOiAuLi4gaGVyZS4KCSogc3lzZGVwcy9nZW5lcmljL3NwYXduaS5jOiBOZXcgZmlsZS4KCjIwMDEtMDYtMTYgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQGZyb2IuY29tPgoKCSogaHVyZC9NYWtlZmlsZSAocm91dGluZXMpOiBBZGQgbG9va3VwLXJldHJ5LgoJKiBodXJkL2h1cmRsb29rdXAuYyAoX19odXJkX2ZpbGVfbmFtZV9sb29rdXBfcmV0cnkpOiBCcm9rZW4gb3V0IC4uLgoJKiBodXJkL2xvb2t1cC1yZXRyeS5jOiAuLi4gaW50byBoZXJlLCBuZXcgZmlsZS4KCSogc3lzZGVwcy9tYWNoL2h1cmQvZGwtc3lzZGVwLmMgKG9wZW5fZmlsZSk6IENhbGwgdGhhdCBpbnN0ZWFkCgl1c2luZyBvZiBkdXBsaWNhdGUgY29kZSBoZXJlLgoKCSogaHVyZC9odXJkZXhlYy5jIChfaHVyZF9leGVjKTogQmUgcm9idXN0IGZvciBEVEFCTEVTSVpFPT0wLgoKMjAwMS0wNi0xNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBwby9qYS5wbzogVXBkYXRlIGZyb20gdHJhbnNsYXRpb24gdGVhbS4KCjIwMDEtMDYtMDQgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sb2NmaWxlLmMgKHNpYmxpbmdzX3VuY2FjaGVkLCBzaWJsaW5ncywgZnVsbF9yZWFkLAoJY29tcGFyZV9maWxlcyk6IE5ldyBmdW5jdGlvbnMuCgkod3JpdGVfbG9jYWxlX2RhdGEpOiBVc2UgeG1hbGxvYy4gIENvbXBhcmUgdGhlIGZpbGUgd2l0aCB0aGUgbG9jYWxlCglkYXRhIGZpbGVzIGZvciB0aGUgc2FtZSBjYXRlZ29yeSBpbiBvdGhlciBsb2NhbGVzLCBhbmQgcmV1c2UgaXQgaWYKCXBvc3NpYmxlIGFuZCBzYWZlLgoKMjAwMS0wNi0wNyAgTWFyayBLZXR0ZW5pcyAgPGtldHRlbmlzQGdudS5vcmc+CgoJKiBncnAvaW5pdGdyb3Vwcy5jIChpbml0Z3JvdXBzKTogRmFjdG9yIG91dCByZS11c2FibGUgY29kZSBpbnRvLi4uCgkoaW50ZXJuYWxfZ2V0Z3JvdXBsaXN0KTogLi4uIG5ldyBmdW5jdGlvbi4KCShnZXRncm91cGxpc3QpOiBOZXcgZnVuY3Rpb24uCgkqIGdycC9ncnAuaCAoZ2V0Z3JvdXBsaXN0KTogTmV3IHByb3RvdHlwZS4KCSogZ3JwL1ZlcnNpb25zIFsyLjIuNF06IEFkZCBnZXRncm91cGxpc3QuCgoyMDAxLTA2LTE2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGluZXQvbmV0aW5ldC9pcDYuaDogRml4IGNvbW1lbnRzIGluIGlwNl9oZHIuCglQYXRjaCBieSBQZWtrYSBTYXZvbGEgPHBla2thc0BuZXRjb3JlLmZpPi4KCjIwMDEtMDYtMTUgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQGZyb2IuY29tPgoKCSogcnQvTWFrZWZpbGUgKGFpby1yb3V0aW5lcywgY2xvY2stcm91dGluZXMsIHRpbWVyLXJvdXRpbmVzKTogTmV3Cgl2YXJpYWJsZXMsIGJyb2tlbiBvdXQgb2YgbGlicnQtcm91dGluZXMuCgkobGlicnQtcm91dGluZXMpOiBTZXQgdXNpbmcgdGhvc2UuCgkoZXh0cmEtbGlicywgZXh0cmEtbGliYy1vdGhlcnMsIHRlc3RzKTogU2V0IHRoZXNlIHVuY29uZGl0aW9uYWxseS4KCShkaXN0cmlidXRlKTogTm8gbmVlZCBmb3IgJChsaWJydC1tYXApIG9yICQobGlicnQtcm91dGluZXM6PS5jKSBoZXJlLgoJKiBzeXNkZXBzL2dlbmVyaWMvYWlvX2ZzeW5jLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2dlbmVyaWMvYWlvX21pc2MuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvZ2VuZXJpYy9haW9fd3JpdGUuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvZ2VuZXJpYy9haW9fd3JpdGU2NC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9nZW5lcmljL2Fpb19yZWFkNjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvZ2VuZXJpYy9haW9fcmVhZC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9nZW5lcmljL2Fpb19ub3RpZnkuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvZ2VuZXJpYy9saW9fbGlzdGlvNjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvZ2VuZXJpYy9saW9fbGlzdGlvLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2dlbmVyaWMvYWlvX2NhbmNlbC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9nZW5lcmljL2Fpb19taXNjLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2dlbmVyaWMvYWlvX3N1c3BlbmQuYzogTmV3IGZpbGUuCgkqIHJ0L2Fpb19jYW5jZWwuYzogTW92ZWQgdG8gLi4uCgkqIHN5c2RlcHMvcHRocmVhZC9haW9fY2FuY2VsLmM6IC4uLiBoZXJlLgoJKiBydC9haW9fZnN5bmMuYzogTW92ZWQgdG8gLi4uCgkqIHN5c2RlcHMvcHRocmVhZC9haW9fZnN5bmMuYzogLi4uIGhlcmUuCgkqIHJ0L2Fpb19taXNjLmM6IE1vdmVkIHRvIC4uLgoJKiBzeXNkZXBzL3B0aHJlYWQvYWlvX21pc2MuYzogLi4uIGhlcmUuCgkqIHJ0L2Fpb19taXNjLmg6IE1vdmVkIHRvIC4uLgoJKiBzeXNkZXBzL3B0aHJlYWQvYWlvX21pc2MuaDogLi4uIGhlcmUuCgkqIHJ0L2Fpb19ub3RpZnkuYzogTW92ZWQgdG8gLi4uCgkqIHN5c2RlcHMvcHRocmVhZC9haW9fbm90aWZ5LmM6IC4uLiBoZXJlLgoJKiBydC9haW9fcmVhZC5jOiBNb3ZlZCB0byAuLi4KCSogc3lzZGVwcy9wdGhyZWFkL2Fpb19yZWFkLmM6IC4uLiBoZXJlLgoJKiBydC9haW9fcmVhZDY0LmM6IE1vdmVkIHRvIC4uLgoJKiBzeXNkZXBzL3B0aHJlYWQvYWlvX3JlYWQ2NC5jOiAuLi4gaGVyZS4KCSogcnQvYWlvX3N1c3BlbmQuYzogTW92ZWQgdG8gLi4uCgkqIHN5c2RlcHMvcHRocmVhZC9haW9fc3VzcGVuZC5jOiAuLi4gaGVyZS4KCSogcnQvYWlvX3dyaXRlLmM6IE1vdmVkIHRvIC4uLgoJKiBzeXNkZXBzL3B0aHJlYWQvYWlvX3dyaXRlLmM6IC4uLiBoZXJlLgoJKiBydC9haW9fd3JpdGU2NC5jOiBNb3ZlZCB0byAuLi4KCSogc3lzZGVwcy9wdGhyZWFkL2Fpb193cml0ZTY0LmM6IC4uLiBoZXJlLgoJKiBydC9saW9fbGlzdGlvLmM6IE1vdmVkIHRvIC4uLgoJKiBzeXNkZXBzL3B0aHJlYWQvbGlvX2xpc3Rpby5jOiAuLi4gaGVyZS4KCSogcnQvbGlvX2xpc3RpbzY0LmM6IE1vdmVkIHRvIC4uLgoJKiBzeXNkZXBzL3B0aHJlYWQvbGlvX2xpc3RpbzY0LmM6IC4uLiBoZXJlLgoKMjAwMS0wNi0xNCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAZnJvYi5jb20+CgoJKiBjb25maWd1cmUuaW46IExldCBzeXNkZXBzIEltcGxpZXMgZmlsZXMgaW4gYWRkLW9ucyBicmluZyBpbgoJc3lzZGVwcyBkaXJlY3RvcmllcyBmcm9tIHRoZSBtYWluIHNvdXJjZSBhbmQgb3RoZXIgYWRkLW9ucyB0b28uCgoyMDAxLTA2LTE1ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIG1hdGgvdGVzdC1taXNjLmMgKG1haW4pOiBBZGQgdGVzdHMgZm9yIG5leHRhZnRlciBhbmQgbmV4dHRvd2FyZAoJd2l0aCArLUluZiBhcyBzZWNvbmQgYXJndW1lbnQuCgoJKiBzeXNkZXBzL2dlbmVyaWMvc19uZXh0dG93YXJkZi5jIChfX25leHR0b3dhcmRmKTogT25seSBjaGVjayBmb3IKCU5hTiwgbm90IEluZi4KCSogc3lzZGVwcy9pMzg2L2ZwdS9zX25leHRhZnRlcmwuYyAoX19uZXh0YWZ0ZXJsKTogRml4IGNoZWNrIGZvciBOYU4uCgkqIHN5c2RlcHMvaTM4Ni9mcHUvc19uZXh0dG93YXJkLmM6IE5ldy4KCSogc3lzZGVwcy9pMzg2L2ZwdS9zX25leHR0b3dhcmRmLmM6IE5ldy4KCSogc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYvc19uZXh0dG93YXJkLmMgKF9fbmV4dHRvd2FyZCk6IFNpbXBsaWZ5CgljaGVjayBmb3IgTmFOLCBvcHRpbWl6ZSB4PT0rLTAgaGFuZGxpbmcuCgkqIHN5c2RlcHMvaWVlZTc1NC9sZGJsLTk2L3NfbmV4dHRvd2FyZGYuYyAoX19uZXh0dG93YXJkZik6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2llZWU3NTQvbGRibC05Ni9zX25leHRhZnRlcmwuYyAoX19uZXh0YWZ0ZXJsKTogU2ltcGxpZnkKCWNoZWNrIGZvciBOYU4sIGZpeCBzaWduIGluIHg9PSstMCBjYXNlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L3NfbmV4dHRvd2FyZC5jOiBOZXcuCgkqIHN5c2RlcHMvaWE2NC9mcHUvc19uZXh0dG93YXJkZi5jOiBOZXcuCgoyMDAxLTA2LTE1ICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBydC90c3QtYWlvMi5jIChkb190ZXN0KTogSW5pdGlhbGl6ZSBjYi5haW9fb2Zmc2V0IHRvIDAuCgkqIHJ0L3RzdC1haW8zLmMgKGRvX3Rlc3QpOiBMaWtld2lzZS4KCSogcnQvdHN0LWFpbzQuYyAoZG9fdGVzdCk6IExpa2V3aXNlLgoJKiBydC90c3QtYWlvNS5jIChkb190ZXN0KTogTGlrZXdpc2UuCgkqIHJ0L3RzdC1haW82LmMgKGRvX3Rlc3QpOiBMaWtld2lzZS4KCjIwMDEtMDYtMTUgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBzeXNkZXBzL202OGsvZnB1L2JpdHMvbWF0aGlubGluZS5oOiBEb24ndCBkZWZpbmUgbG9nMiBhcyBpbmxpbmUuCgkqIHN5c2RlcHMvbTY4ay9mcHUvbWF0aGltcGwuaDogRGVmaW5lIF9faWVlZTc1NF9sb2cyIGFzIGlubGluZS4KCjIwMDEtMDYtMTUgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGdtb24vdHN0LXNwcm9maWwuYyAoZmFjKTogTWFrZSBzdGF0aWMgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZy4KCjIwMDEtMDYtMTQgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBlbGYvbGRjb25maWcuYyAoc2VhcmNoX2Rpcik6IEZpeCBjaGVjayBmb3IgcmVndWxhciBmaWxlLgoKCSogc3lzZGVwcy9tNjhrL2ZwdS9lX2xvZzJmLmM6IEZpeCB0eXBvLgoJKiBzeXNkZXBzL202OGsvZnB1L2VfbG9nMmwuYzogRml4IHR5cG8uCgoyMDAxLTA2LTE0ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEBmcm9iLmNvbT4KCgkqIHN5c2RlcHMvbWFjaC9odXJkL2JpdHMvZmNudGwuaCBbIF9fVVNFX1BPU0lYMTk5MzA5IHx8IF9fVVNFX1VOSVg5OF06CgkoT19EU1lOQywgT19SU1lOQyk6IE5ldyBtYWNyb3MsIGJvdGggZGVmaW5lZCB0byBPX1NZTkMgYXMgTGludXggZG9lcy4KCjIwMDEtMDYtMTMgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQGZyb2IuY29tPgoKCSogcnQvYWlvX25vdGlmeS5jOiBJbmNsdWRlIDx1bmlzdGQuaD4gZm9yIF9QT1NJWF9SRUFMVElNRV9TSUdOQUxTLgoKCSogc3lzZGVwcy9tYWNoL2h1cmQvZm9yay5jIChMT1NFKTogUHV0IGBnb3RvIGxvc2UnIGluIGRlYWQgY29kZQoJc28gdGhlIGxhYmVsIGlzIG5vdCBjb25zaWRlcmVkIHVudXNlZC4KCgkqIHN5c2RlcHMvbWFjaC9odXJkL3B3cml0ZTY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL21hY2gvaHVyZC9wcmVhZDY0LmM6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy9tYWNoL2h1cmQvcHJlYWQuYwoJKF9fbGliY19wcmVhZCk6IERlZmluZSB0aGlzIG5hbWUsIHdpdGggX19wcmVhZCBhcyBhbiBhbGlhcy4KCSogc3lzZGVwcy9tYWNoL2h1cmQvcHdyaXRlLmMKCShfX2xpYmNfcHdyaXRlKTogRGVmaW5lIHRoaXMgbmFtZSwgd2l0aCBfX3B3cml0ZSBhcyBhbiBhbGlhcy4KCglJbXBsZW1lbnQgUE9TSVggInNoYXJlZCBtZW1vcnkgb2JqZWN0cyIgYXMgcmVndWxhcgoJZmlsZXMgcmVzaWRpbmcgaW4gdGhlIC92YXIvcnVuL3NobS8gZGlyZWN0b3J5LgoJVGhpcyB3b3JrcyBvbiBhbnkgc3lzdGVtIHRoYXQgc3VwcG9ydHMgX1BPU0lYX01BUFBFRF9GSUxFUywKCXRvIG1ha2UgaXQgYWxzbyBzdXBwb3J0IF9QT1NJWF9TSEFSRURfTUVNT1JZX09CSkVDVFMuCgkqIHN5c2RlcHMvcG9zaXgvc2htX29wZW4uYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvcG9zaXgvc2htX3VubGluay5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9tYWNoL2h1cmQvYml0cy9wb3NpeF9vcHQuaAoJKF9QT1NJWF9TSEFSRURfTUVNT1JZX09CSkVDVFMpOiBEZWZpbmUgaXQuCgoJKiBydC9haW9fbm90aWZ5LmMgKF9fYWlvX25vdGlmeV9vbmx5KSBbISBfUE9TSVhfUkVBTFRJTUVfU0lHTkFMU106CglVc2UgcmFpc2UgaW5zdGVhZCBvZiBfX2Fpb19zaWdxdWV1ZS4KCgkqIHN5c2RlcHMvbWFjaC9odXJkL3ByZWFkLmM6IEZhaWwgd2l0aCBFSU5WQUwgaWYgT0ZGU0VUIGlzIG5lZ2F0aXZlLgoJKiBzeXNkZXBzL21hY2gvaHVyZC9wd3JpdGUuYzogTGlrZXdpc2UuCgoJKiBzaGxpYi12ZXJzaW9ucyBbVVNFX0lOX0xJQklPXSAoLiotLiotZ251LWdudS4qKTogbGliYz0wLjMKCVtVU0VfSU5fTElCSU8gJiYgIUdMSUJDX09MREVTVF9BQkldICguKi0uKi1nbnUtZ251LiopOiBVc2UgR0xJQkNfMi4yLjQKCWFzIGRlZmF1bHQgdmVyc2lvbiBzZXQuCgoyMDAxLTA2LTEzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGxpYmlvL2lvbGliaW8uaCAoX0lPX2ZyZW9wZW4pOiBDb3JyZWN0IGxhc3QgcGFyYW1ldGVyIHRvCglfSU9fZmlsZV9vcGVuLgoJKF9JT19mcmVvcGVuNjQpOiBMaWtld2lzZS4KCVJlcG9ydGVkIGJ5IHNpbWFuZWtAcXVhbnR1bS5rYXJsb3YubWZmLmN1bmkuY3ogW1BSIGxpYmMvMjMyNl0uCgoJKiBlbGYvZWxmLmg6IEFkZCBhIGZldyBtb3JlIEVNXyogY29uc3RhbnRzLgoKMjAwMS0wNi0xMiAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaW50bC9kY2lnZXR0ZXh0LmMgKERDSUdFVFRFWFQpOiBSZWxlYXNlIHRoZSBsb2NrIGJlZm9yZSByZXR1cm5pbmcuCgoyMDAxLTA2LTA5ICBCZW4gQ29sbGlucyAgPGJjb2xsaW5zQGRlYmlhbi5vcmc+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL3Rlcm1pb3MuaDogRGVmaW5lIF9fTUFYX0JBVUQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2JpdHMvdGVybWlvcy5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9iaXRzL3Rlcm1pb3MuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvYml0cy90ZXJtaW9zLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9iaXRzL3Rlcm1pb3MuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwZWVkLmM6IFVzZSBfX01BWF9CQVVEIGluc3RlYWQgb2YKCWhhcmRjb2RlZCBCNDAwMDAwLgoKMjAwMS0wNi0xMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiB0aW1lL3N5cy90aW1lLmg6IERvbid0IHVzZSBlbnVtIF9faXRpbWVyX3doaWNoIGV2ZXIgZm9yCglfX2l0aW1lcl93aGljaF90IGZvciBDKysuCglSZXBvcnRlZCBieSBNYXJ0aW4gQnVjaGhvbHogPG1hcnRpbkB4ZW1hY3Mub3JnPi4KCgkqIHBvL2ZyLnBvOiBVcGRhdGUgZnJvbSB0cmFuc2xhdGlvbiB0ZWFtLgoKMjAwMS0wNi0xMiAgSC5KLiBMdSAgPGhqbEBnbnUub3JnPgoKCSogY29uZmlndXJlLmluOiBGaXggdHlwb3MgaW4gbWlzc2luZyBwcm9ncmFtIG5hbWVzLgoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGVkLgoKMjAwMS0wNi0xMiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogaWNvbnZkYXRhL3RzdC10YWJsZS10by5jOiBJbmNsdWRlIHN0cmluZy5oIGZvciBzdHJjbXAgcHJvdG90eXBlLgoKCSogc3lzZGVwcy9zcGFyYy9zcGFyYzMyL2ZwdS9saWJtLXRlc3QtdWxwczogQWRkIFVMUHMgZm9yIHRhbmggKC0wLjcpLgoKMjAwMS0wNi0xMSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy9pZWVlNzU0L2xkYmwtMTI4L2VfY29zaGwuYzogTmV3IGZpbGUuICBDb250cmlidXRlZCBieQoJU3RlcGhlbiBMIE1vc2hpZXIgPG1vc2hpZXJAbWVkaWFvbmUubmV0Pi4KCgkqIGFjbG9jYWwubTQ6IFF1b3RlIEFDX0ZEX01TRyBhbmQgQUNfRkRfQ0MuCgoJKiBzeXNkZXBzL3Bvd2VycGMvZnB1L2xpYm0tdGVzdC11bHBzOiBBZGQgVUxQcyBmb3IgdGFuaCAoLTAuNykuCgkqIHN5c2RlcHMvczM5MC9mcHUvbGlibS10ZXN0LXVscHM6IExpa2V3aXNlLgoKMjAwMS0wNi0xMSAgTWljaGFlbCBEZXV0c2NobWFubiAgPG1pY2hhZWxAdGFsYW1hc2NhLm9jaXMubmV0PgoKCSogcnQvdHN0LWFpbzQuYyAoZG9fdGVzdCk6IFRlc3Qgd2hldGhlciBydCBzaWduYWxzIGFyZSBzdXBwb3J0ZWQuCglVc2UgbXlfc2lnbm8gaW5zdGVhZCBvZiBNWV9TSUdOTyBhbmQgaW5pdGlhbGl6ZSBpdCBzbyB0aGF0IHRoZQoJdXNlZCBzaWduYWwgaXMgYWx3YXlzIGF2YWlsYWJsZS4KCjIwMDEtMDYtMTEgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4sCgkgICAgTWljaGFlbCBEZXV0c2NobWFubiAgPG1pY2hhZWxAdGFsYW1hc2NhLm9jaXMubmV0PgoKCSogaW8vdGVzdC1sZnMuYyAoZG9fcHJlcGFyZSk6IENsZWFuIHVwIGVycm9yIG1lc3NhZ2VzLgoJKHRlc3RfZnRlbGxvKTogQ2hlY2sgZm9yIEVGQklHIGFuZCBFTk9TUEMsIGNsZWFuIHVwIGVycm9yIG1lc3NhZ2VzLgoJKGRvX3Rlc3QpOiBMaWtld2lzZS4KCjIwMDEtMDYtMTEgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvYml0cy90ZXJtaW9zLmggKElYQU5ZLCBJVUNMQywKCUlNQVhCRUwpOiBNYWtlIGFsd2F5cyB2aXNpYmxlIHNpbmNlIHRoZXkncmUgbmVlZGVkIGJ5IFBPU0lYLgoJQ2xvc2VzIFBSIGxpYmMvMjMyMCwgcmVwb3J0ZWQgYnkgQ2hyaXMgWWVvaCA8Y3llb2hAc2FtYmEub3JnPi4KCjIwMDEtMDYtMTAgIEJlbiBDb2xsaW5zICA8YmNvbGxpbnNAZGViaWFuLm9yZz4KCgkqIHN5c2RlcHMvYXJtL2VsZi9zdGFydC5TOiBVc2UgI2Z1bmN0aW9uLCBub3QgQGZ1bmN0aW9uLCBmb3IKCS50eXBlIG9mIF9zdGFydC4KCgkqIHN5c2RlcHMvaWVlZTc1NC9sZGJsLTEyOC9zX2lsb2dibC5jOiBJbmNsdWRlIGxpbWl0cy5oIHRvIGdldAoJSU5UX01BWC4KCjIwMDEtMDYtMDcgIEguSi4gTHUgIDxoamxAZ251Lm9yZz4KCgkqIHN1bnJwYy9ycGMvcnBjLmg6IEFkZCBfX0JFR0lOX0RFQ0xTL19fRU5EX0RFQ0xTLgoKMjAwMS0wNi0xMCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAZnJvYi5jb20+CgoJKiBlbGYvcmVsZGVwNG1vZDIuYzogVXNlIGZ1bGx5IHR5cGVkIGRlY2xzIHRvIGF2b2lkIHdhcm5pbmdzLgoJKiBlbGYvcmVsZGVwNG1vZDQuYzogTGlrZXdpc2UuCgoyMDAxLTA2LTEwICBNYXJrIEtldHRlbmlzICA8a2V0dGVuaXNAZ251Lm9yZz4KCgkqIGh1cmQvaHVyZC90aHJlYWR2YXIuaDogQWRkIHByb3RvdHlwZSBmb3IgX19odXJkX2Vycm5vX2xvY2F0aW9uLgoKMjAwMS0wNi0wOCAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIHBvc2l4L3JlZ2V4LmMgKHJlX21hdGNoXzJfaW50ZXJuYWwpIFtjYXNlIHdvcmRiZWcsIHdvcmRlbmRdOgoJRG9uJ3QgZGVyZWZlcmVuY2UgYXQgZW5kIG9mIHN0cmluZy4KCjIwMDEtMDYtMDYgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQGZyb2IuY29tPgoKCSogc3lzZGVwcy9tYWNoL2h1cmQvZ2V0c29ja29wdC5jOiBGaXggaGFuZGxpbmcgb2YgcmV0dXJuZWQgYnVmZmVyIHNpemUuCglGcm9tIFJvYmVydCBCaWhsbWV5ZXIgPHJvYmJlQG9yY3VzLnByaXYuYXQ+LgoKMjAwMS0wNi0wNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBwby9rby5wbzogVXBkYXRlIGZyb20gdHJhbnNsYXRpb24gdGVhbS4KCjIwMDEtMDYtMDYgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIG1hbnVhbC9sbGlvLnRleGkgKE1lbW9yeS1tYXBwZWQgSS9PKTogQ2xhcmlmeSB0aGF0IG1hcHBpbmcgaXMgdG8KCW9mZnNldCtsZW5ndGgtMS4KCVJlcG9ydGVkIGJ5IFJvYmVydCBCZXJuZWNreSA8YmVybmVja3lAYWNtLm9yZz4uCgoyMDAxLTA2LTA2ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvY3Jpcy9lbGYvc3RhcnQuUzogRml4IGEgdHlwbyBpbnRyb2R1Y2VkIGJ5IGxhc3QgcGF0Y2guCgkqIHN5c2RlcHMvaWE2NC9lbGYvc3RhcnQuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc2gvZWxmL3N0YXJ0LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3MzOTAvczM5MC0zMi9lbGYvc3RhcnQuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvczM5MC9zMzkwLTY0L2VsZi9zdGFydC5TOiBMaWtld2lzZS4KCjIwMDEtMDYtMDUgIE1hdHRoZXcgV2lsY294ICA8d2lsbHlAbGRsLmZjLmhwLmNvbT4KCgkqIHN5c2RlcHMvaHBwYS9ic2QtX3NldGptcC5TOiBOZXcuCgkqIHN5c2RlcHMvaHBwYS9ic2Qtc2V0am1wLlM6IE5ldy4KCgkqIHN5c2RlcHMvaHBwYS9kbC1tYWNoaW5lLmg6IFJlZm9ybWF0IGFzbSBzdGF0ZW1lbnRzIHRvIHJlbW92ZSBuZXcKCWdjYyB3YXJuaW5ncyBhYm91dCBtdWx0aS1saW5lIHN0cmluZ3MuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9ocHBhL2dldHJsaW1pdC5jOiBSZW1vdmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2hwcGEvc2V0cmxpbWl0LmM6IFJlbW92ZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2hwcGEvc3lzY2FsbHMubGlzdDogQ2FsbCBnZXRybGltaXQsCglzZXRybGltaXQgZGlyZWN0bHkgaW5zdGVhZCBvZiB1c2luZyB3cmFwcGVycy4KCjIwMDEtMDUtMDEgIFJpY2hhcmQgSGlyc3QgIDxyaGlyc3RAbGludXhjYXJlLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2hwcGEvc3lzY2FsbC5TOiByZW1vdmUgZHVtbXkgc3lzY2FsbC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaHBwYS9zeXNkZXAuYzogaW1wbGVtZW50IHN5c2NhbGwuCgoyMDAxLTA2LTA1ICBQaGlsaXBwIFRob21hcyAgPHB0aG9tYXNAc3VzZS5kZT4KCgkqIG5pcy9uaXNfY2FsbC5jIChfX25pc2JpbmRfY29ubmVjdCk6IERvbid0IG1hcmsgZm9yIHRyYW5zbGF0aW9uCgl3aGF0IGNhbid0IGJlIHRyYW5zbGF0ZWQuCgoyMDAxLTA2LTA2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHRpbWV6b25lL3ppYy5jOiBVcGRhdGUgZnJvbSB0emNvZGUyMDAxYy4KCSogdGltZXpvbmUvcHJpdmF0ZS5oOiBMaWtld2lzZS4KCSogdGltZXpvbmUvYWZyaWNhOiBVcGRhdGUgZnJvbSB0emRhdGEyMDAxYy4KCSogdGltZXpvbmUvYXNpYTogTGlrZXdpc2UuCgkqIHRpbWV6b25lL2V1cm9wZTogTGlrZXdpc2UuCgkqIHRpbWV6b25lL25vcnRoYW1lcmljYTogTGlrZXdpc2UuCgkqIHRpbWV6b25lL3NvdXRoYW1lcmljYTogTGlrZXdpc2UuCgkqIHRpbWV6b25lL3pvbmUudGFiOiBMaWtld2lzZS4KCjIwMDEtMDYtMDQgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGljb252L2xvb3AuYyAoVU5JQ09ERV9UQUdfSEFORExFUik6IE5ldyBtYWNyby4KCSogaWNvbnYvZ2NvbnZfc2ltcGxlLmMgKF9fZ2NvbnZfdHJhbnNmb3JtX2ludGVybmFsX2FzY2lpKTogSW52b2tlCglVTklDT0RFX1RBR19IQU5ETEVSLgoJKF9fZ2NvbnZfdHJhbnNmb3JtX2ludGVybmFsX3VjczIpOiBMaWtld2lzZS4KCShfX2djb252X3RyYW5zZm9ybV9pbnRlcm5hbF91Y3MycmV2ZXJzZSk6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvOGJpdC1nYXAuYyAoQk9EWSBmb3IgVE9fTE9PUCk6IEludm9rZSBVTklDT0RFX1RBR19IQU5ETEVSLgoJKiBpY29udmRhdGEvOGJpdC1nZW5lcmljLmMgKEJPRFkgZm9yIFRPX0xPT1ApOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2Fuc2lfeDMuMTEwLmMgKEJPRFkgZm9yIFRPX0xPT1ApOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2JpZzUuYyAoQk9EWSBmb3IgVE9fTE9PUCk6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvYmlnNWhrc2NzLmMgKEJPRFkgZm9yIFRPX0xPT1ApOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2NwMTI1NS5jIChCT0RZIGZvciBUT19MT09QKTogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9jcDEyNTguYyAoQk9EWSBmb3IgVE9fTE9PUCk6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvZXVjLWNuLmMgKEJPRFkgZm9yIFRPX0xPT1ApOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2V1Yy1qcC5jIChCT0RZIGZvciBUT19MT09QKTogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9ldWMta3IuYyAoQk9EWSBmb3IgVE9fTE9PUCk6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvZXVjLXR3LmMgKEJPRFkgZm9yIFRPX0xPT1ApOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2diay5jIChCT0RZIGZvciBUT19MT09QKTogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pYm05MzAuYyAoQk9EWSBmb3IgVE9fTE9PUCk6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaWJtOTMyLmMgKEJPRFkgZm9yIFRPX0xPT1ApOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2libTkzMy5jIChCT0RZIGZvciBUT19MT09QKTogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pYm05MzUuYyAoQk9EWSBmb3IgVE9fTE9PUCk6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaWJtOTM3LmMgKEJPRFkgZm9yIFRPX0xPT1ApOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2libTkzOS5jIChCT0RZIGZvciBUT19MT09QKTogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pYm05NDMuYyAoQk9EWSBmb3IgVE9fTE9PUCk6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvNjQ2LmMgKEJPRFkgZm9yIFRPX0xPT1ApOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2lzbzg4NTktMS5jIChCT0RZIGZvciBUT19MT09QKTogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pc29fNjkzNy5jIChCT0RZIGZvciBUT19MT09QKTogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pc29fNjkzNy0yLmMgKEJPRFkgZm9yIFRPX0xPT1ApOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2lzby0yMDIyLWNuLmMgKEJPRFkgZm9yIFRPX0xPT1ApOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2lzby0yMDIyLWNuLWV4dC5jIChCT0RZIGZvciBUT19MT09QKTogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pc28tMjAyMi1rci5jIChCT0RZIGZvciBUT19MT09QKTogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9qb2hhYi5jIChCT0RZIGZvciBUT19MT09QKTogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9zamlzLmMgKEJPRFkgZm9yIFRPX0xPT1ApOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL3QuNjEuYyAoQk9EWSBmb3IgVE9fTE9PUCk6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvdWhjLmMgKEJPRFkgZm9yIFRPX0xPT1ApOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL3VuaWNvZGUuYyAoQk9EWSBmb3IgVE9fTE9PUCk6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvLTIwMjItanAuYyAoVEFHX25vbmUsIFRBR19sYW5ndWFnZSwgVEFHX2xhbmd1YWdlX2osCglUQUdfbGFuZ3VhZ2VfamEsIFRBR19sYW5ndWFnZV9rLCBUQUdfbGFuZ3VhZ2Vfa28sIFRBR19sYW5ndWFnZV96LAoJVEFHX2xhbmd1YWdlX3poLCBDVVJSRU5UX1RBR19NQVNLKTogTmV3IGVudW0gdmFsdWVzLgoJKEVNSVRfU0hJRlRfVE9fSU5JVCk6IERvbid0IGVtaXQgYW4gZXNjYXBlIHNlcXVlbmNlIGlmIEFTQ0lJX3NldAoJaXMgYWxyZWFkeSBzZWxlY3RlZCBidXQgc2V0MiBvciB0YWcgYXJlIHNldC4KCShjb252ZXJzaW9uKTogTmV3IGVudW0gdHlwZS4KCShjdmxpc3RfdCk6IE5ldyB0eXBlLgoJKENWTElTVCwgQ1ZMSVNUX0ZJUlNULCBDVkxJU1RfUkVTVCk6IE5ldyBtYWNyb3MuCgkoY29udmVyc2lvbl9saXN0cyk6IE5ldyBhcnJheS4KCShCT0RZIGZvciBUT19MT09QKTogS2VlcCB0cmFjayBvZiBVbmljb2RlIDMuMSBsYW5ndWFnZSB0YWcuICBJZiAiamEiLAoJcHJlZmVyIGNvbnZlcnNpb24gdG8gSmFwYW5lc2UgY2hhcmFjdGVyIHNldHMuICBJZiAiemgiLCBwcmVmZXIKCWNvbnZlcnNpb24gdG8gR0IyMzEyLiAgSWYgImtvIiwgcHJlZmVyIGNvbnZlcnNpb24gdG8gS1NDNTYwMS4gIFNtYWxsCglvcHRpbWl6YXRpb25zLgoJKElOSVRfUEFSQU1TKTogQWRkIHRhZy4KCShVUERBVEVfUEFSQU1TKTogQWRkIHRhZy4KCjIwMDEtMDYtMDQgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sb2NmaWxlLmMgKHdyaXRlX2xvY2FsZV9kYXRhKTogQmVmb3JlIGNyZWF0KCksCgl1bmxpbmsgdGhlIGZpbGUsIHRvIGF2b2lkIGNyYXNoaW5nIHRoZSBwcm9jZXNzZXMgdGhhdCBtbWFwIGl0LiAgQ2hhbmdlCglhIGRvdWJsZSBzbGFzaCB0byBhIHNpbmdsZSBzbGFzaC4gIEZyZWUgZm5hbWUgaW4gY2FzZSBvZiBlcnJvciByZXR1cm4uCgoyMDAxLTA2LTAyICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvaTM4Ni9mcHUvc19mcmV4cGwuUyAoX19mcmV4cGwpOiBNb3N0bHkgcmV2ZXJ0IDIwMDAtMTItMDMKCWNoYW5nZXMsIGRvIHRoZSBzcGVjaWFsIGhhbmRsaW5nIGZvciBkZW5vcm1hbCBudW1iZXJzLCBub3QgZm9yCglub3JtYWxpemVkIG51bWJlcnMgKHBhdGNoIGJ5IDx0cmV2aW5AeG1pc3Npb24uY29tPikuCgoJKiBtYXRoL3Rlc3QtbWlzYy5jIChtYWluKTogVGVzdCBmcmV4cGwgd2l0aCBkZW5vcm1hbCBhcmd1bWVudHMuCgoyMDAxLTA2LTA0ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIG1hdGgvbGlibS10ZXN0LmluYyAobGxyb3VuZF90ZXN0KTogQWRkIHR3byBuZXcgbGxyb3VuZCB0ZXN0cy4KCSogc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYvc19sbHJvdW5kbC5jIChfX2xscm91bmRsKTogRG9uJ3QgYWxsb3cKCW92ZXJmbG93IHdoZW4gcm91bmRpbmcgYXdheSBmcm9tIHplcm8uCgoyMDAxLTA2LTA0ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIG1hdGgvTWFrZWZpbGUgKGxpYm0tY2FsbHMpOiBBZGQgZV9sb2cyLCB3X2xvZzIsIHJlbW92ZSBzX2xvZzIuCgkqIG1hdGgvbWF0aF9wcml2YXRlLmggKF9faWVlZTc1NF9sb2cyLCBfX2llZWU3NTRfbG9nMmYsCglfX2llZWU3NTRfbG9nMmwpOiBOZXcgcHJvdG90eXBlcy4KCSogc3lzZGVwcy9nZW5lcmljL3dfbG9nMi5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9nZW5lcmljL3dfbG9nMmYuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvZ2VuZXJpYy93X2xvZzJsLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2dlbmVyaWMvc19sb2cybC5jOiBNb3ZlLi4uCgkqIHN5c2RlcHMvZ2VuZXJpYy9lX2xvZzJsLmM6IC4uLnRvIGhlcmUuICBSZW5hbWUgdG8gX19pZWVlNzU0X2xvZzJsLgoJKiBzeXNkZXBzL2llZWU3NTQva19zdGFuZGFyZC5jIChfX2tlcm5lbF9zdGFuZGFyZCk6IEhhbmRsZSBsb2cyKDApCglhbmQgbG9nMih4IDwgMCkuCgkqIHN5c2RlcHMvaTM4Ni9mcHUvc19sb2cyLlM6IE1vdmUuLi4KCSogc3lzZGVwcy9pMzg2L2ZwdS9lX2xvZzIuUzogLi4udG8gaGVyZS4gIFJlbmFtZSB0byBfX2llZWU3NTRfbG9nMi4KCSogc3lzZGVwcy9pMzg2L2ZwdS9zX2xvZzJmLlM6IE1vdmUuLi4KCSogc3lzZGVwcy9pMzg2L2ZwdS9lX2xvZzJmLlM6IC4uLnRvIGhlcmUuICBSZW5hbWUgdG8gX19pZWVlNzU0X2xvZzJmLgoJKiBzeXNkZXBzL2kzODYvZnB1L3NfbG9nMmwuUzogTW92ZS4uLgoJKiBzeXNkZXBzL2kzODYvZnB1L2VfbG9nMmwuUzogLi4udG8gaGVyZS4gIFJlbmFtZSB0byBfX2llZWU3NTRfbG9nMmwuCgkqIHN5c2RlcHMvbTY4ay9mcHUvc19sb2cyLmM6IE1vdmUuLi4KCSogc3lzZGVwcy9tNjhrL2ZwdS9lX2xvZzIuYzogLi4udG8gaGVyZS4gIFJlbmFtZSB0byBfX2llZWU3NTRfbG9nMi4KCSogc3lzZGVwcy9tNjhrL2ZwdS9zX2xvZzJmLmM6IE1vdmUuLi4KCSogc3lzZGVwcy9tNjhrL2ZwdS9lX2xvZzJmLmM6IC4uLnRvIGhlcmUuICBSZW5hbWUgdG8gX19pZWVlNzU0X2xvZzJmLgoJKiBzeXNkZXBzL202OGsvZnB1L3NfbG9nMmwuYzogTW92ZS4uLgoJKiBzeXNkZXBzL202OGsvZnB1L2VfbG9nMmwuYzogLi4udG8gaGVyZS4gIFJlbmFtZSB0byBfX2llZWU3NTRfbG9nMmwuCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvc19sb2cyLmM6IE1vdmUuLi4KCSogc3lzZGVwcy9pZWVlNzU0L2RibC02NC9lX2xvZzIuYzogLi4udG8gaGVyZS4gIFJlbmFtZSB0bwoJX19pZWVlNzU0X2xvZzIuCgkqIHN5c2RlcHMvaWVlZTc1NC9mbHQtMzIvc19sb2cyZi5jOiBNb3ZlLi4uCgkqIHN5c2RlcHMvaWVlZTc1NC9mbHQtMzIvZV9sb2cyZi5jOiAuLi50byBoZXJlLiAgUmVuYW1lIHRvCglfX2llZWU3NTRfbG9nMmYuCgoyMDAxLTA2LTA0ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy93X2V4cDIuYyAodV90aHJlc2hvbGQpOiBMb3dlciB0aHJlc2hvbGQgc28gdGhhdAoJZXZlbiBhcmd1bWVudHMgd2hpY2ggcmVzdWx0IGluIGRlbm9ybWFsaXplZCBleHAyIGFyZSBhY2NlcHRlZC4KCShfX2V4cDIpOiBBcmd1bWVudHMgZXF1YWwgdG8gdV90aHJlc2hvbGQgYWxyZWFkeSByZXN1bHQgaW50bwoJdW5kZXJmbG93LgoJKiBzeXNkZXBzL2dlbmVyaWMvd19leHAyZi5jICh1X3RocmVzaG9sZCwgX19leHAyZik6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvd19leHAybC5jICh1X3RocmVzaG9sZCwgX19leHAybCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L2VfZXhwMi5jIChfX2llZWU3NTRfZXhwMik6IExvbWFyayB3YXMgdG9vCglsb3csIHdpdGggY29ycmVjdGVkIGxvd21hcmsgdXNlIGdyZWF0ZXJlcXVhbCwgbm90IGdyZWF0ZXIuCgkqIHN5c2RlcHMvaWVlZTc1NC9mbHQtMzIvZV9leHAyZi5jIChfX2llZWU3NTRfZXhwMmYpOiBMaWtld2lzZS4KCjIwMDEtMDYtMDQgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogbWF0aC9saWJtLXRlc3QuaW5jIChpbG9nYl90ZXN0KTogVGVzdCB0aGF0IGlsb2diKCstSW5mKSA9PSBJTlRfTUFYLgoJKiBzeXNkZXBzL2kzODYvZnB1L3NfaWxvZ2IuUyAoX19pbG9nYik6IFJldHVybiBJTlRfTUFYIGZvciArLUluZi4KCSogc3lzZGVwcy9pMzg2L2ZwdS9zX2lsb2diZi5TIChfX2lsb2diZik6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvZnB1L3NfaWxvZ2JsLlMgKF9faWxvZ2JsKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvc19pbG9nYi5jIChfX2lsb2diKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaWVlZTc1NC9mbHQtMzIvc19pbG9nYmYuYyAoX19pbG9nYmYpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pZWVlNzU0L2xkYmwtMTI4L3NfaWxvZ2JsLmMgKF9faWxvZ2JsKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaWVlZTc1NC9sZGJsLTk2L3NfaWxvZ2JsLmMgKF9faWxvZ2JsKTogTGlrZXdpc2UuCgoyMDAxLTA2LTA0ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy93X2Nvc2hsLmMgKF9fY29zaGwpOiBUZXN0IGlmIGZpbml0ZSBhcmd1bWVudAoJZ2F2ZSBub24tZmluaXRlIHJlc3VsdCBpbnN0ZWFkIG9mIHVzaW5nIGNvbnN0YW50IGluIGdlbmVyaWMKCXZlcnNpb24uCgkqIHN5c2RlcHMvZ2VuZXJpYy93X2Nvc2hmLmMgKF9fY29zaGYpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL3dfY29zaC5jIChfX2Nvc2gpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL3dfZXhwMTAuYyAob190aHJlc2hvbGQsIHVfdGhyZXNob2xkKTogUmVtb3ZlLgoJKF9fZXhwMTApOiBUZXN0IGlmIGZpbml0ZSBhcmd1bWVudCBnYXZlIG5vbi1maW5pdGUgcmVzdWx0LgoJKiBzeXNkZXBzL2dlbmVyaWMvd19leHAxMGYuYyAob190aHJlc2hvbGQsIHVfdGhyZXNob2xkLCBfX2V4cDEwZik6CglMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL3dfZXhwMTBsLmMgKG9fdGhyZXNob2xkLCB1X3RocmVzaG9sZCwgX19leHAxMGwpOgoJTGlrZXdpc2UuCgoyMDAxLTA2LTA0ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvaWVlZTc1NC9sZGJsLTk2L2VfY29zaGwuYyAoX19pZWVlNzU0X2Nvc2hsKTogRml4CglvdmVyZmxvdyB0aHJlc2hvbGQgY29uc3RhbnQgKGxvZyhMREJMX01BWCkrTV9MTjJsKS4KCjIwMDEtMDUtMjkgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1jdHlwZS5jIChpZHhfdGFibGUpOiBOZXcgc3RydWN0IHR5cGUuCgkoaWR4X3RhYmxlX2luaXQsIGlkeF90YWJsZV9nZXQsIGlkeF90YWJsZV9hZGQpOiBOZXcgZnVuY3Rpb25zLgoJKE1BWF9DSEFSTkFNRVNfSURYKTogUmVtb3ZlIG1hY3JvLgoJKGxvY2FsZV9jdHlwZV90KTogQ2hhbmdlIHR5cGUgb2YgY2hhcm5hbWVzX2lkeCBmaWVsZC4KCShjdHlwZV9zdGFydHVwKTogQ2hhbmdlIGluaXRpYWxpemF0aW9uIG9mIGNoYXJuYW1lc19pZHggZmllbGQuCgkoZmluZF9pZHgpOiBVc2UgaWR4X3RhYmxlX2dldCBhbmQgaWR4X3RhYmxlX2FkZCBmb3Igc3BlZWQuCgoJKiBsb2NhbGUvcHJvZ3JhbXMvY2hhcm1hcC5jIChjaGFybWFwX25ld19jaGFyKTogRml4IHVjczQgdmFsdWUKCWNvbXB1dGF0aW9uIG9mIGNoYXJhY3RlcnMgaW4gYSByYW5nZS4KCjIwMDEtMDUtMjkgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGljb252ZGF0YS9nYjE4MDMwLmMgKF9fZm91cmJ5dGVfdG9fdWNzMSk6IEFkZCBtYXBwaW5ncyBmb3IgPFUwM0Y0PiwKCTxVMDNGNT4uCgkoX191Y3NfdG9fZ2IxODAzMF90YWIxKTogTGlrZXdpc2UuCgkoQk9EWSBmb3IgRlJPTV9MT09QKTogQWRkIG1hcHBpbmcgZm9yIDxVMDAwMTAwMDA+Li48VTAwMTBGRkZGPi4KCShCT0RZIGZvciBUT19MT09QKTogTGlrZXdpc2UuCgkqIGljb252ZGF0YS90c3QtdGFibGUtY2hhcm1hcC5zaDogVXBkYXRlIGZvciBjaGFybWFwcyBjb250YWluaW5nCgk8VTAweHh4eHh4PiBzeW50YXguCgkqIGljb252ZGF0YS90c3QtdGFibGUtZnJvbS5jIChibXBfb25seSk6IE5ldyB2YXJpYWJsZS4KCSh1dGY4X2RlY29kZSk6IElmIGJtcF9vbmx5LCBkb24ndCByZXR1cm4gY2hhcmFjdGVycyBvdXRzaWRlIFVuaWNvZGUKCXBsYW5lIDAuCgkobWFpbik6IFdoZW4gdGVzdGluZyBVVEYtOCBvciBHQjE4MDMwLCBzZXQgYm1wX29ubHkgdG8gMS4gIERvbid0IHByaW50CglhIGNvbnZlcnNpb24gbGluZSBpZiB1dGY4X2RlY29kZSByZXR1cm5zIE5VTEwuCgkqIGljb252ZGF0YS90c3QtdGFibGUtdG8uYyAobWFpbik6IFdoZW4gdGVzdGluZyBlbmNvZGluZ3Mgb3RoZXIgdGhhbgoJVVRGLTggYW5kIEdCMTgwMzAsIGxvb3AgdXB0byBVKzMwMDAwIGluc3RlYWQgb2YgVSsxMDAwMC4gIFVzZSBVVEYtOAoJaW5zdGVhZCBvZiBVQ1MtMiBhcyBpbnB1dC4KCSogaWNvbnZkYXRhL3RzdC10YWJsZS5zaDogRm9yIEdCMTgwMzAsIHVzZSBvbmx5IHRoZSBwYXJ0IDwgMHgxMDAwMAoJb2YgdGhlIGNoYXJtYXAuCgoyMDAxLTA1LTI5ICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpY29udmRhdGEvY25zMTE2NDNsMS5jOiBVcGRhdGUgdG8gVW5pY29kZSAzLjEuCgkoX19jbnMxMTY0M2wxX3RvX3VjczRfdGFiKTogUmVnZW5lcmF0ZWQuCgkoX19jbnMxMTY0M2wxX2Zyb21fdWNzNF90YWIxMik6IFJlZ2VuZXJhdGVkLgoJKiBpY29udmRhdGEvY25zMTE2NDMuYzogVXBkYXRlIHRvIFVuaWNvZGUgMy4xLgoJKF9fY25zMTE2NDNsMTRfdG9fdWNzNF90YWIpOiBSZW1vdmUgYXJyYXkuCgkoX19jbnMxMTY0M2wzX3RvX3VjczRfdGFiLCBfX2NuczExNjQzbDRfdG9fdWNzNF90YWIsCglfX2NuczExNjQzbDVfdG9fdWNzNF90YWIsIF9fY25zMTE2NDNsNl90b191Y3M0X3RhYiwKCV9fY25zMTE2NDNsN190b191Y3M0X3RhYiwgX19jbnMxMTY0M2wxNV90b191Y3M0X3RhYik6IE5ldyBhcnJheXMuCgkoX19jbnMxMTY0M19mcm9tX3VjczRwMF90YWIpOiBSZW5hbWVkIGZyb20gX19jbnMxMTY0M19mcm9tX3VjczRfdGFiLgoJKF9fY25zMTE2NDNfZnJvbV91Y3M0cDJfdGFiKTogTmV3IGFycmF5LgoJKiBpY29udmRhdGEvY25zMTE2NDMuaCAoX19jbnMxMTY0M2wxNF90b191Y3M0X3RhYik6IFJlbW92ZSBkZWNsYXJhdGlvbi4KCShfX2NuczExNjQzbDNfdG9fdWNzNF90YWIsIF9fY25zMTE2NDNsNF90b191Y3M0X3RhYiwKCV9fY25zMTE2NDNsNV90b191Y3M0X3RhYiwgX19jbnMxMTY0M2w2X3RvX3VjczRfdGFiLAoJX19jbnMxMTY0M2w3X3RvX3VjczRfdGFiLCBfX2NuczExNjQzbDE1X3RvX3VjczRfdGFiKTogTmV3IGRlY2xhcmF0aW9ucy4KCShjbnMxMTY0M190b191Y3M0KTogVHJlYXQgcGxhbmVzIDMsIDQsIDUsIDYsIDcsIDE1IGluc3RlYWQgb2YgMTQuCgkoX19jbnMxMTY0M19mcm9tX3VjczRfdGFiKTogUmVtb3ZlIGRlY2xhcmF0aW9uLgoJKF9fY25zMTE2NDNfZnJvbV91Y3M0cDBfdGFiLCBfX2NuczExNjQzX2Zyb21fdWNzNHAyX3RhYik6IE5ldwoJZGVjbGFyYXRpb25zLgoJKHVjczRfdG9fY25zMTE2NDMpOiBVcGRhdGUgZm9yIG5ldyBhcnJheXMuICBUcmVhdCBVKzM0MDAuLlUrNERGRiBhbmQKCVUrMjAwMDAuLlUrMkE2RDYuCgkqIGljb252ZGF0YS9jbnMxMTY0M2wyLmggKF9fY25zMTE2NDNfZnJvbV91Y3M0X3RhYik6IFJlbW92ZQoJZGVjbGFyYXRpb24uCgkoX19jbnMxMTY0M19mcm9tX3VjczRwMF90YWIpOiBOZXcgZGVjbGFyYXRpb24uCgkodWNzNF90b19jbnMxMTY0M2wyKTogVXBkYXRlIGZvciBuZXcgYXJyYXlzLgoJKiBpY29udmRhdGEvaXNvLTIwMjItY24tZXh0LmMgKEJPRFkgZm9yIEZST01fTE9PUCk6IEhhbmRsZSBwbGFuZXMKCTMgdG8gNy4KCShCT0RZIGZvciBUT19MT09QKTogSGFuZGxlIHBsYW5lcyAzIHRvIDcsIGluc3RlYWQgb2YgcGxhbmUgMTQuCgkqIGljb252ZGF0YS9FVUMtVFcuaXJyZXZlcnNpYmxlOiBOZXcgZmlsZS4KCSogaWNvbnZkYXRhL3RzdC10YWJsZS5zaDogVXNlIGl0LgoJKiBpY29udmRhdGEvTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgQ1AxMjU1LmlycmV2ZXJzaWJsZSwKCUNQMTI1OC5pcnJldmVyc2libGUsIEVVQy1UVy5pcnJldmVyc2libGUuCgoyMDAxLTA1LTI5ICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBsb2NhbGUvQy10cmFuc2xpdC5oLmluOiBBZGQgdHJhbnNsaXRlcmF0aW9ucyBmb3IgbmV3IFVuaWNvZGUgMy4xCgltYXRoZW1hdGljYWwgc3ltYm9scy4KCjIwMDEtMDYtMDUgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIG1hbnVhbC9zdGRpby50ZXhpIChQb3J0YWJsZSBQb3NpdGlvbmluZyk6IEZpeCBkZXNjcmlwdGlvbiBvZgoJZnBvc190IGFuZCBmcG9zNjRfdC4KCjIwMDEtMDYtMDYgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9nZW5lcmljL3dvcmRleHAuYzogVW5kbyBsYXN0IHBhdGNoLiAgVXNlIHN0cm5kdXBhIGluc3RlYWQuCgoJKiBwby9zay5wbzogVXBkYXRlIGZyb20gdHJhbnNsYXRpb24gdGVhbS4KCjIwMDEtMDYtMDUgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NobV9vcGVuLmMgKHdoZXJlX2lzX3NobWZzKTogUmVjb2duaXplCgl0bXBmcywgcGF0Y2ggYnkgU3RhbmlzbGF2IEJyYWJlYyA8dXR4QHBlbmd1aW4uY3o+LgoJQ2xvc2VzIFBSIGxpYmMvMjMxNS4KCjIwMDEtMDYtMDUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9nZW5lcmljL3dvcmRleHAuYzogQWRkIG1pc3NpbmcgZnJlZS4KCVBhdGNoIGJ5IHlldGlAcGh5c2ljcy5tdW5pLmN6LgoKMjAwMS0wNi0wMiAgVG9tIEJyb3dkZXIgIDx0YnJvd2RlckBob21lLmNvbT4KCgkqIG1pc2MvdHN0LXRzZWFyY2guYyAobWFuZ2xlX3RyZWUpOiBFbnN1cmUgYXJyYXkgaW5kaWNlcyBhcmUKCXdpdGhpbiBib3VuZHMgd2hlbiBsYWcgPiAwLgoKMjAwMS0wNi0wNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBwby90ci5wbzogTmV3IGZpbGUuCgoyMDAxLTA2LTA1ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBtYW51YWwvbGlibS1lcnItdGFiLnBsIChwYXJzZV91bHBzKTogRml4IHR5cG8uCgoyMDAxLTA2LTA0ICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBzeXNkZXBzL2FscGhhL2VsZi9zdGFydC5TOiBBZGQgLnR5cGUgZm9yIHRoZSBlbnRyeSBwb2ludC4KCSogc3lzZGVwcy9hcm0vZWxmL3N0YXJ0LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2hwcGEvZWxmL3N0YXJ0LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvZWxmL3N0YXJ0LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL202OGsvZWxmL3N0YXJ0LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL21pcHMvZWxmL3N0YXJ0LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2lhNjQvZWxmL3N0YXJ0LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NoL2VsZi9zdGFydC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zMzkwL3MzOTAtMzIvZWxmL3N0YXJ0LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3MzOTAvczM5MC02NC9lbGYvc3RhcnQuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvY3Jpcy9lbGYvc3RhcnQuUzogTGlrZXdpc2UuCgoyMDAxLTA2LTA0ICBCcnVjZSBNaXRjaGVuZXIgIDxicnVjZUBjdWJpay5vcmc+CgoJKiBtYW51YWwvcmVzb3VyY2UudGV4aTogQ29ycmVjdCBzZXRwcmlvcml0eS9uaWNlIGRvY3VtZW50YXRpb24uCgoJKiBzeXNkZXBzL3VuaXgvbmljZS5jOiBDb3JyZWN0IG5pY2UoKSBpbXBsZW1lbnRhdGlvbi4KCjIwMDEtMDYtMDQgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvaWVlZTc1NC9sZGJsLTEyOC9lX3NpbmhsLmM6IE5ldyBmaWxlLCBjb250cmlidXRlZCBieQoJU3RlcGhlbiBMIE1vc2hpZXIgPG1vc2hpZXJAbWVkaWFvbmUubmV0Pi4KCjIwMDEtMDYtMDMgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQGZyb2IuY29tPgoKCSogTWFrZWZpbGUgKHBvc3RjbGVhbik6IFJlbW92ZSBvYnNvbGV0ZSBzeXNkLU1ha2VmaWxlLgoKMjAwMS0wNi0wMSAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAZnJvYi5jb20+CgoJKiBzeXNkZXBzL2FscGhhL2ZwdS9mY2xyZXhjcHQuYzogI2luY2x1ZGUgPHNobGliLWNvbXBhdC5oPgoJYW5kIHVzZSBjb21wYXRfc3ltYm9sL3ZlcnNpb25lZF9zeW1ib2wgaW5zdGVhZCBvZiBwbGFpbgoJc3ltYm9sX3ZlcnNpb24vZGVmYXVsdF9zeW1ib2xfdmVyc2lvbi4KCSogc3lzZGVwcy9hbHBoYS9mcHUvZmVnZXRlbnYuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvYWxwaGEvZnB1L2Zlc2V0ZW52LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2FscGhhL2ZwdS9mZXVwZGF0ZWVudi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9hbHBoYS9mcHUvZmdldGV4Y3B0ZmxnLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2FscGhhL2ZwdS9mcmFpc2VleGNwdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9hbHBoYS9mcHUvZnNldGV4Y3B0ZmxnLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2FybS9mcHUvZmNscmV4Y3B0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2FybS9mcHUvZmVnZXRlbnYuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvYXJtL2ZwdS9mZXNldGVudi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9hcm0vZnB1L2ZyYWlzZWV4Y3B0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2FybS9mcHUvZnNldGV4Y3B0ZmxnLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvZnB1L2ZjbHJleGNwdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2ZwdS9mZWdldGVudi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2ZwdS9mZXNldGVudi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2ZwdS9mZXVwZGF0ZWVudi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2ZwdS9mZ2V0ZXhjcHRmbGcuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9mcHUvZnJhaXNlZXhjcHQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9mcHUvZnNldGV4Y3B0ZmxnLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL202OGsvZnB1L2ZjbHJleGNwdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9tNjhrL2ZwdS9mZWdldGVudi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9tNjhrL2ZwdS9mZXNldGVudi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9tNjhrL2ZwdS9mZXVwZGF0ZWVudi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9tNjhrL2ZwdS9mZ2V0ZXhjcHRmbGcuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbTY4ay9mcHUvZnJhaXNlZXhjcHQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbTY4ay9mcHUvZnNldGV4Y3B0ZmxnLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvZmNscmV4Y3B0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvZnB1L2ZlZ2V0ZW52LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvZnB1L2Zlc2V0ZW52LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvZnB1L2ZldXBkYXRlZW52LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvZnB1L2ZnZXRleGNwdGZsZy5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3dlcnBjL2ZwdS9mcmFpc2VleGNwdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3dlcnBjL2ZwdS9mc2V0ZXhjcHRmbGcuYzogTGlrZXdpc2UuCgoJKiBpY29udmRhdGEvY3AxMjU4LmM6IEluY2x1ZGUgPHN0ZGxpYi5oPiBmb3IgYWJvcnQgZGVjbC4KCSogaWNvbnZkYXRhL2lzby0yMDIyLWNuLWV4dC5jOiBMaWtld2lzZS4KCjIwMDEtMDYtMDEgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIFZlcnNpb25zLmRlZjogQWRkIHZlcnNpb24gMi4yLjQuCgoyMDAxLTA2LTAxICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHNvY2tldC9NYWtlZmlsZSAocm91dGluZXMpOiBBZGQgc29ja2F0bWFyay4KCSogc29ja2V0L1ZlcnNpb25zIFtHTElCQ18yLjIuNF06IEFkZCBzb2NrYXRtYXJrLgoJKiBzb2NrZXQvc3lzL3NvY2tldC5oOiBBZGQgcHJvdG90eXBlIGZvciBzb2NrYXRtYXJrLgoJKiBzeXNkZXBzL2dlbmVyaWMvc29ja2F0bWFyay5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3NvY2thdG1hcmsuYzogTmV3IGZpbGUuCgoyMDAxLTA2LTAxICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGVlZC5jIChjZnNldGlzcGVlZCk6IE1heCBzcGVlZCBpcwoJQjQwMDAwMDAuCgkoY2ZzZXRvc3BlZWQpOiBMaWtld2lzZS4KCVJlcG9ydGVkIGJ5IEx1a2FzeiBUcmFiaW5za2kgPGx1a2FzekBsdC53c2lzaXouZWR1LnBsPi4KCjIwMDEtMDUtMzEgIEpvc2VwaCBTLiBNeWVycyAgPGpzbTI4QGNhbS5hYy51az4KCgkqIG1pc2Mvc3lzL2NkZWZzLmggKF9fcmVzdHJpY3RfYXJyKTogRGVmaW5lIHRvIGVtcHR5IGZvciBDKysuCgoyMDAxLTA1LTMwICBNYXJ0aW4gU2Nod2lkZWZza3kgIDxzY2h3aWRlZnNreUBkZS5pYm0uY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTMyL3N5cy91Y29udGV4dC5oOiBncmVnX3QKCW5lZWRzIHRvIGhhdmUgdGhlIHNhbWUgYWxpZ21lbnQgYXMgdGhlIGtlcm5lbCBzdHJ1Y3R1cmUuCgoyMDAxLTA1LTI5ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN1bnJwYy9ycGMvdHlwZXMuaCAodV9jaGFyLCB1X3Nob3J0LCB1X2ludCwgdV9sb25nLCBxdWFkX3QsCgl1X3F1YWRfdCwgZnNpZF90LCBkYWRkcl90LCBjYWRkcl90KTogTWFrZSBzdXJlIHRoZSB0eXBlcyBhcmUgZGVmaW5lZC4KCSogcG9zaXgvc3lzL3R5cGVzLmggKHVfY2hhciwgdV9zaG9ydCwgdV9pbnQsIHVfbG9uZywgcXVhZF90LAoJdV9xdWFkX3QsIGZzaWRfdCwgZGFkZHJfdCwgY2FkZHJfdCk6IFByb3RlY3QgdGhlIF9fVVNFX0JTRCB0eXBlZGVmcwoJYWdhaW5zdCBtdWx0aXBsZSBkZWZpbml0aW9uLgoKMjAwMS0wNS0zMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBwby9kYS5wbzogVXBkYXRlIGZyb20gdHJhbnNsYXRpb24gdGVhbS4KCjIwMDEtMDUtMjkgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvaWVlZTc1NC9sZGJsLTEyOC9lX2Fjb3NsLmM6IE5ldyBmaWxlLCBjb250cmlidXRlZCBieQoJU3RlcGhlbiBMIE1vc2hpZXIgPG1vc2hpZXJAbWVkaWFvbmUubmV0Pi4KCgkqIG1hdGgvbGlibS10ZXN0LmluYyAoc2luaF90ZXN0KTogQWRkIG5ldyB0ZXN0IGNhc2UuCgoJKiBzeXNkZXBzL2llZWU3NTQvbGRibF85Ni9lX3NpbmhsLmMgKF9faWVlZTc1NF9zaW5obCk6IHNpbmhsKHgpID0KCXggd2hlbiB4IDwgMl4tMzIuCglQYXRjaCBieSBTdGVwaGVuIEwgTW9zaGllciA8bW9zaGllckBtZWRpYW9uZS5uZXQ+LgoKMjAwMS0wNS0yMyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogaWNvbnZkYXRhL3Rlc3RkYXRhL1dJTkRPV1MtMTI1NS4uVVRGLTg6IFJlbmFtZWQgdG8uLi4KCSogaWNvbnZkYXRhL3Rlc3RkYXRhL1dJTkRPV1MtMTI1NS4uVVRGODogdGhpcy4KCjIwMDEtMDUtMjcgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIG1hbnVhbC9zdGRpby50ZXhpIChTdHJpbmcgU3RyZWFtcyk6IEZpeCBmbWVtb3BlbiBkZXNjcmlwdGlvbi4KCVJlcG9ydGVkIGJ5IE1pY2hhbCBLb2NoYW5vd2ljeiA8bWljaGFsQG1pY2hhbC53YXcucGw+LgoKMjAwMS0wNS0yNiAgSC5KLiBMdSA8aGpsQGdudS5vcmc+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3N5c2NhbGxzLmxpc3Q6IENoYW5nZSBzaWdzdXNwZW5kCgl0byBzX3NpZ3N1c3BlbmQuICBBZGQgc19tbWFwMi4KCgkqIHN5c2RlcHMvbWlwcy9hdG9taWNpdHkuaDogTmV3IGZpbGUuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL2dldHN5c3N0YXRzLmM6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9iaXRzL2lwYy5oIChpcGNfcGVybSk6IFB1dAoJYmFjayBfX2tleS4KCjIwMDEtMDUtMjUgIEJydWNlIE1pdGNoZW5lciAgPGJydWNlQGN1YmlrLm9yZz4KCgkqIG1hbnVhbC9jdHlwZS50ZXhpOiBNaW5vciBmaXguCgkqIG1hbnVhbC9pbnN0YWxsLnRleGk6IExpa2V3aXNlLgoJKiBtYW51YWwvc3RhcnR1cC50ZXhpOiBMaWtld2lzZS4KCSogbWFudWFsL2V4YW1wbGVzL2Rpci5jOiBVc2UgcGVycm9yKCkgcmF0aGVyIHRoYW4gcHV0cygpLgoKMjAwMS0wNS0yNSAgRGF2aWQgTW9zYmVyZ2VyICA8ZGF2aWRtQGhwbC5ocC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2JpdHMvc2lnY29udGV4dC5oOiBQdXQgc3R1ZmYgZm9sbG93aW5nCgkjZW5kaWYgZGlyZWN0aXZlIGluc2lkZSBhIGNvbW1lbnQgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZ3MuCgoyMDAxLTA1LTI1ICBQaGlsaXBwIFRob21hcyAgPHB0aG9tYXNAc3VzZS5kZT4KCgkqIG5pcy9uaXNfcHJpbnQuYyAobmlzX25zdHlwZTJzdHIpOiBEb24ndCBtYXJrIG5hbWVzIG9mCgluYW1pbmcgc2VydmljZXMgZm9yIHRyYW5zbGF0aW9uLCBvbmx5IFVOS05PV04gbmVlZHMgaXQuCglBZGQgY29tbWVudCB0byBwcmV2ZW50IGl0IGZvciB0aGUgZnV0dXJlLgoKMjAwMS0wNS0yNSAgSm9zZXBoIFMuIE15ZXJzICA8anNtMjhAY2FtLmFjLnVrPgoKCSogbWlzYy9zeXMvY2RlZnMuaCAoX19yZXN0cmljdF9hcnIpOiBEZWZpbmUgYXBwcm9wcmlhdGVseSBmb3IgR0NDCgkzLjEgYW5kIG5vbi1HQ0MgQzk5IGNvbXBpbGVycy4KCjIwMDEtMDUtMjIgIERhdmlkIE1vc2JlcmdlciAgPGRhdmlkbUBocGwuaHAuY29tPgoKCSogc3lzZGVwcy9pYTY0L21lbW1vdmUuUzogSW5jcmVhc2UgTUVNTEFUIGZyb20gNiB0byAyMSBmb3IgYmV0dGVyCglwZXJmb3JtYW5jZS4KCSogc3lzZGVwcy9pYTY0L21lbWNweS5TOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvaWE2NC9iY29weS5TOiBOZXcgZmlsZS4KCgkqIHN5c2RlcHMvaWE2NC9iemVyby5TOiBOZXcgZmlsZSAoZGVyaXZlZCBmcm9tIG1lbXNldC5TKS4KCjIwMDEtMDUtMjYgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9pYTY0L2ZwdS9saWJtLXRlc3QtdWxwczogQWRkIGRlbHRhcyBmb3IgdGFuaCgtMC43KS4KCjIwMDEtMDUtMjQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaWNvbnZkYXRhL01ha2VmaWxlOiBBZGQgcnVsZXMgZm9yIENQMTAwMDcuCgkqIGljb252ZGF0YS9nY29udi1tb2R1bGVzOiBBZGQgZW50cmllcyBmb3IgQ1AxMDAwNyBhZCBNYWNDeXJpbGxpYy4KCSogaWNvbnZkYXRhL2NwMTAwMDcuYzogTmV3IGZpbGUuCgkqIGljb252ZGF0YS90c3QtdGFibGVzLnNoOiBBZGQgQ1AxMDAwNy4KCjIwMDEtMDUtMjMgIGtheiBLb2ppbWEgIDxra29qaW1hQHJyLmlpajR1Lm9yLmpwPgoKCSogc3lzZGVwcy9zaC9kbC1tYWNoaW5lLmggKF9kbF9ydW50aW1lX3Jlc29sdmUpOiBIYW5kbGUgbmV3ZXIgUExULgoJKF9kbF9ydW50aW1lX3Byb2ZpbGUpOiBMaWtld2lzZS4uCgoyMDAxLTA1LTIzICBUaG9yc3RlbiBLdWt1ayAgPGt1a3VrQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3Bvc2l4L2dldGFkZHJpbmZvLmM6IFN1cHBvcnQgZm9yIEFGX1VOSVggY29tbWVudGVkIG91dC4KCSogcG9zaXgvdHN0LWdldGFkZHJpbmZvLmM6IFJlbW92ZSBBRl9VTklYIHRlc3QuCgoyMDAxLTA1LTE5ICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBlbGYvZGwtZGVwcy5jIChfZGxfbWFwX29iamVjdF9kZXBzKTogUGFzcyBvYmpuYW1lIGFuZAoJZXJyc3RyaW5nIG9mIHRoZSBmYWlsZWQgRFNPIHRvIF9kbF9zaWduYWxfZXJyb3IgKCkuCgoyMDAxLTA1LTIzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGljb252ZGF0YS9nY29udi1tb2R1bGVzOiBBZGQgbW9yZSBhbGlhc2VzIHRvIGVuYWJsZSB1c2UgaW4KCWxvY2FsZSBuYW1lcy4KCjIwMDEtMDUtMjMgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvTWFrZWZpbGUgKENGTEFHUy1pbml0ZmluaS5zKToKCVJlbW92ZSwgaXQncyBub3QgdXNlZCBhbnl3aGVyZSBhbnltb3JlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvTWFrZWZpbGUKCShDRkxBR1MtaW5pdGZpbmkucyk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtMzIvTWFrZWZpbGUKCShDRkxBR1MtaW5pdGZpbmkucyk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL01ha2VmaWxlIChDRkxBR1MtaW5pdGZpbmkucyk6CglMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9NYWtlZmlsZSAoQ0ZMQUdTLWluaXRmaW5pLnMpOgoJTGlrZXdpc2UuCgoyMDAxLTA1LTIxICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiB3Y3NtYnMvbWJydG93Yy5jIChtYnJ0b3djKTogUmVtb3ZlIGxvY2FsIHZhcmlhYmxlICdmbHVzaCcsIGFsd2F5cwoJdXNlIDAgaW5zdGVhZCwgYW5kIHJlbHkgb24gdGhlIGNvbnZlcnRlciB0byBkbyB0aGUgZmx1c2guCgkqIHdjc21icy90c3QtbWJydG93Yy5jICh1dGY4X3Rlc3RfMSk6IE5ldyBmdW5jdGlvbiwgdGFrZW4gZnJvbQoJdXRmOF90ZXN0LgoJKHV0ZjhfdGVzdF8yLCB1dGY4X3Rlc3RfMyk6IE5ldyBmdW5jdGlvbi4KCSh1dGY4X3Rlc3QpOiBDYWxsIHV0ZjhfdGVzdF8xLCB1dGY4X3Rlc3RfMiwgdXRmOF90ZXN0XzMuCgoyMDAxLTA1LTIyICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGVsZi9kbC1jbG9zZS5jIChfZGxfY2xvc2UpOiBTYXZlIGltYXAtPmxfcmVsZGVwcywgbm90IG1hcC0+bF9yZWxkZXBzLgoKCSogZWxmL01ha2VmaWxlIChkaXN0cmlidXRlKTogQWRkIHJlbGRlcDRtb2RbMTIzNF0uYy4KCSh0ZXN0cyk6IEFkZCByZWxkZXA0LgoJKG1vZHVsZXMtbmFtZXMpOiBBZGQgcmVsZGVwNG1vZFsxMjM0XS4KCShyZWxkZXA0bW9kMS5zbywgcmVsZGVwNG1vZDIuc28sIHJlbGRlcDQsIHJlbGRlcDQub3V0KTogTmV3IHJ1bGVzLgoJKiBlbGYvcmVsZGVwNC5jOiBOZXcgZmlsZS4KCSogZWxmL3JlbGRlcDRtb2QxLmM6IExpa2V3aXNlLgoJKiBlbGYvcmVsZGVwNG1vZDIuYzogTGlrZXdpc2UuCgkqIGVsZi9yZWxkZXA0bW9kMy5jOiBMaWtld2lzZS4KCSogZWxmL3JlbGRlcDRtb2Q0LmM6IExpa2V3aXNlLgoKMjAwMS0wNS0xOCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBlbGYvZGwtbG9va3VwLmMgKFBST1RFQ1RFRCk6IFJlbW92ZSBkZWZpbmVzLgoJKGFkZF9kZXBlbmRlbmN5KTogTWFyayBpdCB3aXRoIGludGVybmFsX2Z1bmN0aW9uLgoJKF9kbF9kb19sb29rdXAsIF9kbF9kb19sb29rdXBfdmVyc2lvbmVkKTogTmV3IGZ1bmN0aW9ucy4KCShfZGxfbG9va3VwX3N5bWJvbCwgX2RsX2xvb2t1cF9zeW1ib2xfc2tpcCwKCV9kbF9sb29rdXBfdmVyc2lvbmVkX3N5bWJvbCwgX2RsX2xvb2t1cF92ZXJzaW9uZWRfc3ltYm9sX3NraXApOiBVc2UKCWl0IGlmIHdlIGRvbid0IHdhbnQgZG9fbG9va3VwKiBpbmxpbmVkLgoKMjAwMS0wNS0xOCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL2xpbmsuaCAoc3RydWN0IHJfc2NvcGVfZWxlbSk6IFJlbW92ZSByX2R1cGxpc3QgYW5kCglyX25kdXBsaXN0IGZpZWxkcy4KCSogZWxmL2RsLWxvYWQuYyAoX2RsX21hcF9vYmplY3RfZnJvbV9mZCk6IERvbid0IGluaXRpYWxpemUgdGhlbS4KCSogZWxmL2RsLWxvb2t1cC5jIChfZGxfbG9va3VwX3N5bWJvbF9za2lwKTogTG9vayBpbiByX2xpc3QsIG5vdAoJcl9kdXBsaXN0LgoJKF9kbF9sb29rdXBfdmVyc2lvbmVkX3N5bWJvbF9za2lwKTogTGlrZXdpc2UuCgkqIGVsZi9kbC1kZXBzLmMgKHN0cnVjdCBsaXN0KTogUmVtb3ZlIGR1cCBmaWVsZCwgcmVuYW1lIHVuaXF1ZSB0byBuZXh0LgoJKF9kbF9tYXBfb2JqZWN0X2RlcHMpOiBEb24ndCBjb21wdXRlIGR1cGxpY2F0ZSBsaXN0LgoKCSogZWxmL2RsLXN5bWJvbC5jOiBSZW1vdmVkLgoJKiBlbGYvTWFrZWZpbGUgKHJvdXRpbmVzKTogUmVtb3ZlIGRsLXN5bWJvbC4KCjIwMDEtMDUtMjIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG8vZWwucG86IFVwZGF0ZSBmcm9tIHRyYW5zbGF0aW9uIHRlYW0uCgkqIHBvL3N2LnBvOiBMaWtld2lzZS4KCjIwMDEtMDUtMjAgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGljb252ZGF0YS9jcDEyNTUuYzogQ29tcGxldGVseSByZXdyaXR0ZW4uCgkqIGljb252ZGF0YS9NYWtlZmlsZSAoZ2VuLThiaXQtZ2FwLW1vZHVsZXMpOiBSZW1vdmUgY3AxMjU1LgoJKiBpY29udmRhdGEvdGVzdGRhdGEvV0lORE9XUy0xMjU1OiBOZXcgZmlsZS4KCSogaWNvbnZkYXRhL3Rlc3RkYXRhL1dJTkRPV1MtMTI1NS4uVVRGODogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9URVNUUzogQWRkIFdJTkRPV1MtMTI1NSB0ZXN0LgoJKiBpY29udmRhdGEvQ1AxMjU1LmlycmV2ZXJzaWJsZTogTmV3IGZpbGUuCgoyMDAxLTA1LTIwICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpY29udmRhdGEvY3AxMjU4LmM6IENvbXBsZXRlbHkgcmV3cml0dGVuLgoJKiBpY29udmRhdGEvTWFrZWZpbGUgKGdlbi04Yml0LWdhcC1tb2R1bGVzKTogUmVtb3ZlIGNwMTI1OC4KCSogaWNvbnZkYXRhL3Rlc3RkYXRhL1dJTkRPV1MtMTI1ODogTmV3IGZpbGUuCgkqIGljb252ZGF0YS90ZXN0ZGF0YS9XSU5ET1dTLTEyNTguLlVURjg6IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvVEVTVFM6IEFkZCBXSU5ET1dTLTEyNTggdGVzdC4KCSogaWNvbnZkYXRhL3RzdC10YWJsZS1mcm9tLmMgKHRyeSk6IFJlc2V0IHRoZSBpY29udiBkZXNjcmlwdG9yIGJlZm9yZQoJdGhlIG1haW4gY2FsbCwgYW5kIGZsdXNoIGl0IGFmdGVyd2FyZHMuCgkodXRmOF9kZWNvZGUpOiBSZXR1cm4gYSBzdHJpbmcsIHBvc3NpYmx5IGNvbnRhaW5pbmcgc2V2ZXJhbCBVbmljb2RlCgljaGFyYWN0ZXJzLgoJKG1haW4pOiBVcGRhdGUgYWxsIHV0ZjhfZGVjb2RlIGNhbGxzLgoJKiBpY29udmRhdGEvQ1AxMjU4LmlycmV2ZXJzaWJsZTogTmV3IGZpbGUuCgoyMDAxLTA1LTIwICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpY29udi9nY29udi5jIChfX2djb252KTogRm9yIGZsdXNoIHdpdGhvdXQgb3V0cHV0LCBwYXNzIGRvX2ZsdXNoID0gMi4KCSogaWNvbnYvc2tlbGV0b24uYzogRGlzdGluZ3Vpc2ggZG9fZmx1c2ggPSAxIGFuZCBkb19mbHVzaCA9IDIuICBJbiB0aGUKCWZpcnN0IGNhc2UsIHNldCBvdXRidWYsIG91dHN0YXJ0LCBvdXRlbmQsIGFuZCBjYWxsIFBSRVBBUkVfTE9PUCBiZWZvcmUKCUVNSVRfU0hJRlRfVE9fSU5JVDsgdGhlbiBwYXNzIHRoZSBvdXRwdXQgcHJvZHVjZWQgYnkgdGhpcyBzdGVwIGRvd24gdG8KCXRoZSBuZXh0IHN0ZXAuICBJbiB0aGUgc2Vjb25kIGNhc2UsIGNsZWFyIHRoZSBzdGF0ZSB3aXRob3V0IGNhbGxpbmcKCUVNSVRfU0hJRlRfVE9fSU5JVC4KCSogaWNvbnZkYXRhL2libTkzMC5jIChFTUlUX1NISUZUX1RPX0lOSVQpOiBVc2Ugb3V0YnVmIGluc3RlYWQgb2YKCWRhdGEtPl9fb3V0YnVmLCBhbmQgb3V0ZW5kIGluc3RlYWQgb2YgZGF0YS0+X19vdXRidWZlbmQuCgkqIGljb252ZGF0YS9pYm05MzMuYyAoRU1JVF9TSElGVF9UT19JTklUKTogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pYm05MzUuYyAoRU1JVF9TSElGVF9UT19JTklUKTogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pYm05MzcuYyAoRU1JVF9TSElGVF9UT19JTklUKTogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pYm05MzkuYyAoRU1JVF9TSElGVF9UT19JTklUKTogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pc28tMjAyMi1jbi5jIChFTUlUX1NISUZUX1RPX0lOSVQpOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2lzby0yMDIyLWNuLWV4dC5jIChFTUlUX1NISUZUX1RPX0lOSVQpOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2lzby0yMDIyLWpwLmMgKEVNSVRfU0hJRlRfVE9fSU5JVCk6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvLTIwMjIta3IuYyAoRU1JVF9TSElGVF9UT19JTklUKTogTGlrZXdpc2UuCgkqIGljb252ZGF0YS91dGYtNy5jIChFTUlUX1NISUZUX1RPX0lOSVQpOiBMaWtld2lzZS4KCjIwMDEtMDUtMjEgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogZWxmL3J0bGQuYyAoZGxfbWFpbik6IENvbXB1dGUgbF9tYXBfZW5kIGZvciB0aGUgbWFpbiBwcm9ncmFtLgoJKiBlbGYvZGwtc3ltLmMgKF9kbF9zeW0pOiBEb24ndCBjaGVjayBmb3IgbF9hZGRyID09IDAuCglJZiBtYXRjaCA9PSBfZGxfbG9hZGVkLCBjYWxsZXIgY2FuIHN0aWxsIGNvbWUgZnJvbSB0aGUgbWFpbiBwcm9ncmFtLgoJKF9kbF92c3ltKTogTGlrZXdpc2UuCgkqIGVsZi9kbC1vcGVuLmMgKGRsX29wZW5fd29ya2VyKTogRG9uJ3QgY2hlY2sgZm9yIGxfYWRkciA9PSAwLgoJKiBlbGYvZGwtZXJyb3IuYyAoX2RsX3NpZ25hbF9lcnJvcik6IENoYW5nZSBOVUxMIG9iam5hbWUgaW50byAiIi4KCSogZWxmL3Jlc3Rlc3QyLmM6IE5ldyB0ZXN0LgoJKiBlbGYvTWFrZWZpbGUgKHRlc3RzKTogQWRkIHJlc3Rlc3QyLgoJKHJlc3Rlc3QyLCBMREZMQUdTLXJlc3Rlc3QyKTogQWRkIHJ1bGVzLgoKMjAwMS0wNS0yMiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpbnRsL01ha2VmaWxlOiBBZGQgYSBmZXcgbW9yZSBkZXBlbmRlbmNpZXMgdG8gYXZvaWQgcmFjZXMgaW4gdGhlCgl0ZXN0IHNoZWxsIHNjcmlwdHMuCgoyMDAxLTA1LTIyICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL2llZWU3NTQvbGRibC0xMjgvc19sb2cxcGwuYzogTmV3IGZpbGUsIGNvbnRyaWJ1dGVkIGJ5CglTdGVwaGVuIEwgTW9zaGllciA8bW9zaGllckBtZWRpYW9uZS5uZXQ+LgoKMjAwMS0wNS0yMiAgTWFydGluIFNjaHdpZGVmc2t5ICA8c2Nod2lkZWZza3lAZGUuaWJtLmNvbT4KCgkqIHN5c2RlcHMvczM5MC9zMzkwLTMyL2JhY2t0cmFjZS5jOiBNYWtlIGJhY2t0cmFjZSByZXR1cm4gdGhlCglyZXR1cm4gYWRkcmVzc2VzIGluc3RlYWQgb2YgdGhlIHN0YWNrIHBvaW50ZXJzLgoJKiBzeXNkZXBzL3MzOTAvczM5MC02NC9iYWNrdHJhY2UuYzogTGlrZXdpc2UuCgoyMDAxLTA1LTIxICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc3lzL3Vjb250ZXh0Lmg6IEluY2x1ZGUKCWJpdHMvc2lnY29udGV4dC5oIGluc3RlYWQgb2YgYml0cy9zaWdzdGFjay5oLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2JpdHMvc2lnY29udGV4dC5oOiBBZGQKCW11bHRpcGxlLWluY2x1c2lvbiBndWFyZHMuCgoyMDAxLTA1LTIxICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY29sbGF0ZS5jIChoYW5kbGVfZWxsaXBzaXMpOiBGaXggbWVzc2FnZS4KCVBhdGNoIGJ5IFBoaWxpcHAgVGhvbWFzIDxwdGhvbWFzQHN1c2UuZGU+LgoKMjAwMS0wNS0xNyAgQnJ1Y2UgTWl0Y2hlbmVyICA8YnJ1Y2VAY3ViaWsub3JnPgoKCSogbWFudWFsL2FycGcudGV4aTogU3BlbGxpbmcsIG1pc2MgZml4ZXMuCgkqIG1hbnVhbC9hcml0aC50ZXhpOiBMaWtld2lzZS4KCSogbWFudWFsL2NyeXB0LnRleGk6IExpa2V3aXNlLgoJKiBtYW51YWwvZGVidWcudGV4aTogTGlrZXdpc2UuCgkqIG1hbnVhbC9nZXRvcHQudGV4aTogTGlrZXdpc2UuCgkqIG1hbnVhbC9pbnRyby50ZXhpOiBMaWtld2lzZS4KCSogbWFudWFsL21lbW9yeS50ZXhpOiBMaWtld2lzZS4KCSogbWFudWFsL25zcy50ZXhpOiBMaWtld2lzZS4KCSogbWFudWFsL3BhdHRlcm4udGV4aTogTGlrZXdpc2UuCgkqIG1hbnVhbC9wcm9jZXNzLnRleGk6IExpa2V3aXNlLgoJKiBtYW51YWwvcmVzb3VyY2UudGV4aTogTGlrZXdpc2UuCgkqIG1hbnVhbC9zZWFyY2gudGV4aTogTGlrZXdpc2UuCgkqIG1hbnVhbC9zZXRqbXAudGV4aTogTGlrZXdpc2UuCgkqIG1hbnVhbC9zaWduYWwudGV4aTogTGlrZXdpc2UuCgkqIG1hbnVhbC9zb2NrZXQudGV4aTogTGlrZXdpc2UuCgkqIG1hbnVhbC9zdGRpby50ZXhpOiBMaWtld2lzZS4KCSogbWFudWFsL3N0cmluZy50ZXhpOiBMaWtld2lzZS4KCSogbWFudWFsL3N5c2luZm8udGV4aTogTGlrZXdpc2UuCgkqIG1hbnVhbC90ZXJtaW5hbC50ZXhpOiBMaWtld2lzZS4KCSogbWFudWFsL2xsaW8udGV4aTogRG9jdW1lbnQgbWFkdmlzZSgpLgoKMjAwMS0wNS0yMCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAZnJvYi5jb20+CgoJKiBNYWtlY29uZmlnIChzeXNkZXAtbWFrZWNvbmZpZ3MpOiBJbmNsdWRlIGFueSBNYWtlY29uZmlnIGZpbGVzCglmb3VuZCB3aXRoaW4gJChhZGQtb25zKSBkaXJlY3RvcmllcyB0b28uCglbbGludXh0aHJlYWRzIGFkZC1vbl06IE1vdmUgdmFyaWFibGUgc2V0dGluZ3MgZm9yIGxpbnV4dGhyZWFkcwoJdG8gbmV3IGZpbGUgbGludXh0aHJlYWRzL01ha2Vjb25maWcuCgoyMDAxLTA1LTIwICBGcmFueiBTaXJsICA8RnJhbnouU2lybC1rZXJuZWxAbGF1dGVyYmFjaC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9rZXJuZWwtZmVhdHVyZXMuaCAoX19BU1NVTUVfU1REX0FVWFYpOgoJRGVmaW5lIGZvciBsaW51eCA+PSAyLjQuNSBvbiBwb3dlcnBjLgoJKF9fQVNTVU1FX01NQVAyX1NZU0NBTEwpOiBMaWtld2lzZS4KCjIwMDEtMDUtMTkgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQGZyb2IuY29tPgoKCSogaHVyZC9odXJkbG9va3VwLmMgKF9faHVyZF9maWxlX25hbWVfbG9va3VwX3JldHJ5KTogRG9uJ3QgbGVhayB0aGUKCXJlc3VsdCBwb3J0IHdoZW4gZmFpbGluZyB3aXRoIEVMT09QLiAgRG8gdGhlIEVMT09QIGNoZWNrIHdoZW4KCWZvbGxvd2luZyBhbiBhYnNvbHV0ZSBzeW1saW5rIHRhcmdldCBhcyB3ZWxsIGFzIHJlbGF0aXZlLgoJUmVtb3ZlICNpZmRlZiBTWU1MT09QX01BWCBjb25kaXRpb25hbC0taXQgc2hvdWxkIGFsd2F5cyBiZSBkZWZpbmVkLgoKMjAwMS0wNS0xOCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogcG8vZnIucG86IEZyZWUgc29mdHdhcmUgaXMgImxvZ2ljaWVsIGxpYnJlIi4KCVBhdGNoIGJ5IE1hcnRpbiBNaWNobG1heXIgPHRibUBjeXJpdXMuY29tPi4KCgkqIHN5c2RlcHMvcG93ZXJwYy9lbGYvbGliYy1zdGFydC5jOiBVc2UgX19jeGFfYXRleGl0LgoJUGF0Y2ggYnkgZWthdG9AZWVzLmhva3VkYWkuYWMuanAsIGNsb3NlcyBQUiBsaWJjLzIyNzEuCgoyMDAxLTA1LTE3ICBEYXZpZCBNb3NiZXJnZXIgIDxkYXZpZG1AaHBsLmhwLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc3lzL3B0cmFjZS5oOiBOZXcgZmlsZS4KCjIwMDEtMDUtMTcgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZWxmL2RsLXByb2ZpbGUuYyAoX2RsX21jb3VudCk6IENoZWNrIHdoZXRoZXIgc3RhdGUgaXMKCUdNT05fUFJPRl9PTiBiZWZvcmUgZG9pbmcgYW55dGhpbmcuCgoyMDAxLTA1LTE3ICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBlbGYvc3Byb2YuYyAocmVhZF9zeW1ib2xzKTogTW92ZSAiKytzeW10YWIiIGludG8gdGhlIHdoaWxlIGxvb3AuCgoyMDAxLTA1LTE3ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NpZ3Byb2NtYXNrLmMgKF9fc2lncHJvY21hc2spOiBVc2UKCUNIRUNLX1NJR1NFVF9OVUxMX09LIGFuZCBub3QgQ0hFQ0tfU0lHU0VUIGZvciBhbGwgcGFyYW1ldGVycy4KCVJlcG9ydGVkIGJ5IE1hcmsgQnVydG9uIDxtYXJrYkBvcmRlcm4uY29tPi4KCjIwMDEtMDUtMTcgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogZWxmL2xkY29uZmlnLmMgKGFkZF9kaXIpOiBPbmx5IHdhcm4gYWJvdXQgc3RhdCBmYWlsdXJlIGlmCglvcHRfdmVyYm9zZS4KCShzZWFyY2hfZGlyKTogTGlrZXdpc2UuCgoyMDAxLTA1LTE3ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvaTM4Ni9pNDg2L2F0b21pY2l0eS5oIChleGNoYW5nZV9hbmRfYWRkKTogQ29ycmVjdCBzZWNvbmQKCXBhcmFtZXRlciBvZiB4YWRkbC4gIFBhdGNoIGJ5IEggLiBKIC4gTHUgPGhqbEBsdWNvbi5vcmc+LgoKMjAwMS0wNS0xNCAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaWNvbnZkYXRhL2lzby0yMDIyLWNuLWV4dC5jIChCT0RZIGZvciBGUk9NX0xPT1ApOiBJZiBTTyBpcyBzZWVuCgl3aXRob3V0IHByZXZpb3VzIGFubm91bmNlbWVudCwgcmVqZWN0IGl0IHJlZ3VsYXJseSwgZG9uJ3QgYWJvcnQuCgoyMDAxLTA1LTE2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG1hdGgvdGdtYXRoLmg6IEZpeCBoYW5kbGluZyBvZiBpbnQgcGFyYW1ldGVycyB0byBiaW5hcnkgYW5kCgl0ZXJuYXJ5IGZ1bmN0aW9ucy4gIFJlcG9ydGVkIGJ5IG1pdHJAdm9sbnkuY3ouCgoJKiBtYXRoL3Rlc3QtdGdtYXRoLmM6IEFkZCB0ZXN0cyBmb3IgY2FsbHMgd2l0aCBpbnRlZ2VyIHBhcmFtZXRlcnMuCgoyMDAxLTA1LTE1ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN1bnJwYy9ycGNfdGhyZWFkLmMgKHJwY19kZWZhdWx0KTogUmVtb3ZlLgoJKF9fcnBjX3RocmVhZF9kZXN0cm95KTogVXNlIF9fbGliY190c2RfUlBDX1ZBUlNfbWVtIGluc3RlYWQgb2YKCXJwY19kZWZhdWx0LgoJKHJwY190aHJlYWRfbXVsdGksIF9fcnBjX3RocmVhZF9zdmNfZmRzZXQsIF9fcnBjX3RocmVhZF9jcmVhdGVlcnIsCglfX3JwY190aHJlYWRfc3ZjX3BvbGxmZCwgX19ycGNfdGhyZWFkX3N2Y19tYXhfcG9sbGZkKTogTGlrZXdpc2UuCgkqIHN1bnJwYy9hdXRoX25vbmUuYyAoYXV0aG5vbmVfcHJpdmF0ZSk6IEZpeCBhIHR5cG8uCgoyMDAxLTA1LTE2ICBNYXJ0aW4gU2Nod2lkZWZza3kgIDxzY2h3aWRlZnNreUBkZS5pYm0uY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L2Nsb25lLlM6IEZpeCBzdGFjayBhbGxvY2F0aW9uLgoKMjAwMS0wNS0xNiAgQnJ1Y2UgTWl0Y2hlbmVyICA8YnJ1Y2VAY3ViaWsub3JnPgoKCSogbWFudWFsL2xsaW8udGV4aTogTWFueSBncmFtbWFyIGFuZCB0eXBvIGZpeGVzIHRvIHRoZSBzZWN0aW9uIG9uIEFJTy4KCjIwMDEtMDUtMTUgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvaWVlZTc1NC9sZGJsLTEyOC9zX2V4cG0xbC5jOiBOZXcgZmlsZSwgY29udHJpYnV0ZWQgYnkKCVN0ZXBoZW4gTCBNb3NoaWVyIDxtb3NoaWVyQG1lZGlhb25lLm5ldD4uCgoJKiBzeXNkZXBzL2kzODYvZnB1L2xpYm0tdGVzdC11bHBzOiBBZGp1c3QgZm9yIGNoYW5nZS4KCgkqIG1hdGgvbGlibS10ZXN0LmluYzogQWRkIGNvbW1lbnQgd2l0aCBUb0RvLgoKCSogc3lzZGVwcy9pMzg2L2ZwdS9lX2V4cGwuYzogUmV3cml0dGVuIHRvIEMgYW5kIHVzaW5nIGEgbW9yZQoJYWNjdXJhdGUgYWxnb3JpdGhtLiAgUGF0Y2ggYnkgU3RlcGhlbiBMIE1vc2hpZXIgPG1vc2hpZXJAbWVkaWFvbmUubmV0Pi4KCgkqIHN5c2RlcHMvaTM4Ni9mcHUvZV9leHBsLlM6IFJlbW92ZWQuCgoyMDAxLTA1LTE0ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEBmcm9iLmNvbT4KCgkqIGNzdS9NYWtlZmlsZSAoJChvYmpwZngpZyQoc3RhcnQtaW5zdGFsbGVkLW5hbWUpKTogVHVybiB0aGlzIGludG8gYQoJc3RhdGljIHBhdHRlcm4gcnVsZSBhbHNvIHRoYXQgYWxzbyBjb3ZlcnMKCSQob2JqcHgpZyQoc3RhdGljLXN0YXJ0LWluc3RhbGxlZC1uYW1lKS4KCVskKHN0YXJ0LWluc3RhbGxlZC1uYW1lKSAhPSAkKHN0YXRpYy1zdGFydC1pbnN0YWxsZWQtbmFtZSldCgkoZXh0cmEtb2Jqcywgb21pdC1kZXBzLCBpbnN0YWxsLWxpYik6IEFkZAoJJChzdGF0aWMtc3RhcnQtaW5zdGFsbGVkLW5hbWUpIGFuZCBnJChzdGF0aWMtc3RhcnQtaW5zdGFsbGVkLW5hbWUpLgoJKiBzeXNkZXBzL21hY2gvaHVyZC9pMzg2L01ha2VmaWxlOiBEb24ndCBhZGQgY3J0MC5vIHRvIHRob3NlIGhlcmU7CglqdXN0IHNldHRpbmcgc3RhdGljLXN0YXJ0LWluc3RhbGxlZC1uYW1lIGlzIG5vdyBzdWZmaWNpZW50LgoJKGV4dHJhLW9ianMpOiBBZGQgc3RhdGljLXN0YXJ0Lm8gaGVyZS4KCShDRkxBR1MtaW5pdGZpbmkucyk6IFJlbW92ZSBvYnNvbGV0ZSB2YXJpYWJsZS4KCSogc3lzZGVwcy9tYWNoL2h1cmQvaTM4Ni9NYWtlY29uZmlnOiBOZXcgZmlsZS4KCURlZmluZSBzdGF0aWMtc3RhcnQtaW5zdGFsbGVkLW5hbWUgaGVyZS4KCgkqIE1ha2Vjb25maWc6IEluY2x1ZGUgZXhpc3RpbmcgJChmdWxsX2NvbmZpZ19zeXNkaXJzOj0vTWFrZWNvbmZpZykuCgkqIE1ha2UtZGlzdCAoK3N5c2RlcC10c3Jjcyk6IExvb2sgZm9yIE1ha2Vjb25maWcgZmlsZXMuCgoJKiBNYWtlcnVsZXMgKCQoK3N5c2Rpcl9wZngpc3lzZC1NYWtlZmlsZSk6IFJlbW92ZSB0aGlzIHRhcmdldCBhbmQKCWFzc29jaWF0ZWQgaGFpci4gIEluc3RlYWQsIGp1c3QgdXNlICQod2lsZGNhcmQgLi4uKSBpbiB0aGUgaW5jbHVkZS4KCgkqIGNvbmZpZ3VyZS5pbiAoY3JpdGljX21pc3NpbmcsIGF1eF9taXNzaW5nKTogQ29sbGVjdCBpbiB0aGVzZSB2YXJzCgl0aGUgbmFtZXMgb2YgdGhlIG1pc3NpbmcgcHJvZ3JhbXMsIGFuZCBpbmNsdWRlIHRoZW0gaW4gdGhlIGVycm9yIG1zZ3MuCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZWQuCgoyMDAxLTA1LTE0ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL2kzODYvZnB1L2xpYm0tdGVzdC11bHBzOiBBZGp1c3QgZm9yIG5ldyB0ZXN0cy4KCgkqIG1hdGgvbGlibS10ZXN0LmluYyAodGFuaF90ZXN0KTogQWRkIHRlc3RjYXNlcyBmb3IgbGFzdCB0YW5oIGJ1Zy4KCjIwMDEtMDUtMTQgIFN0ZXBoZW4gTCBNb3NoaWVyIDxtb3NoaWVyQG1lZGlhb25lLm5ldD4KCgkqIHN5c2RlcHMvaWVlZTc1NC9sZGJsLTk2L3NfdGFuaGwuYyAoX190YW5obCk6IEZpeCBzaWduIHRlc3QuCgoyMDAxLTA1LTExICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHBvc2l4L3JlZ2V4LmMgKHJlX21hdGNoXzJfaW50ZXJuYWwpOiBTd2FwIG1ic19vZmZzZXQgYW5kIGNzaXplCglhcyB3ZWxsIGlmIHN3YXBwaW5nIHN0cmluZ3MuCglNYWtlIHN1cmUgc3RvcCBpcyBub3QgcGFzdCBlbmQgb2Ygc2Vjb25kIHN0cmluZy4KCSogcG9zaXgvYnVnLXJlZ2V4NC5jOiBOZXcgdGVzdC4KCSogcG9zaXgvTWFrZWZpbGUgKHRlc3RzKTogQWRkIGJ1Zy1yZWdleDQuCgoyMDAxLTA1LTEwICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBtYW51YWwvaW5zdGFsbC50ZXhpIChMaW51eCk6IENsYXJpZnkgdGhhdCBMaW51eCAyLjIgaXMgbWluaW1hbAoJcmVxdWlyZW1lbnQuCgoyMDAxLTA1LTEyICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L3Nfc2luLmM6IEluY2x1ZGUgIm1hdGhfcHJpdmF0ZS5oIiBmb3IKCWludGVybmFsIHByb3RvdHlwZXMuCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvZG9hc2luLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L2Rvc2luY29zLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L2hhbGZ1bHAuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvc2luY29zMzIuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvc2xvd2V4cC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pZWVlNzU0L2RibC02NC9zbG93cG93LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L2JyYW5yZWQuYzogTGlrZXdpc2UuCgoJKiBtYXRoL21hdGhfcHJpdmF0ZS5oOiBBZGQgcHJvdG90eXBlcyBmb3IgaW50ZXJuYWwgZnVuY3Rpb25zIG9mCgl0aGUgSUJNIEFjY3VyYXRlIE1hdGhlbWF0aWNhbCBMaWJyYXJ5LgoKCSogc3lzZGVwcy9pZWVlNzU0L2RibC02NC9zX2F0YW4uYzogSW5jbHVkZSAibWF0aC5oIiBmb3IKCXByb3RvdHlwZXMuCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvc190YW4uYzogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L2VfYXNpbi5jOiBJbmNsdWRlICJtYXRoX3ByaXZhdGUuaCIgZm9yCglpbnRlcm5hbCBwcm90b3R5cGVzLgoJKiBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L3NfYXRhbi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pZWVlNzU0L2RibC02NC9lX3NxcnQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvZV9yZW1haW5kZXIuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvZV9wb3cuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvZV9sb2cuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvZV9leHAuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvZV9hdGFuMi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL2VfcmVtX3BpbzJsLmM6IExpa2V3aXNlLgoJKF9faWVlZTc1NF9yZW1fcGlvMmwpOiBGaXggcHJvdG90eXBlLgoKCSogbWF0aC9tYXRoX3ByaXZhdGUuaCAoX19jb3B5c2lnbik6IEFkZCBpbnRlcm5hbCBwcm90b3R5cGUuCgoyMDAxLTA1LTExICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9jb25maWd1cmUuaW46IE1vdmUgYmludXRpbHMgY2hlY2sgdG8uLi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9jb25maWd1cmUuaW46IC4uLmhlcmUuICBOZXcgZmlsZS4KCjIwMDEtMDUtMTEgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2NvbmZpZ3VyZS5pbjogQ2hlY2sgYmludXRpbHMgdmVyc2lvbiBvbgoJTUlQUy4KCgkqIHN5c2RlcHMvbWlwcy9ydGxkLWxkc2NyaXB0LmluOiBSZW1vdmVkIHVubmVlZGVkIGJpbmFyeSBvdXRwdXQKCWZvcm1hdCBkaXJlY3RpdmUuICBQYXRjaCBieSBTdGV2ZW4gSi4gSGlsbCA8c2poaWxsQGNvdHcuY29tPi4KCjIwMDEtMDUtMTEgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQGZyb2IuY29tPgoKCSogc3lzZGVwcy9tYWNoL2h1cmQvTWFrZWZpbGUgKCQobGluay1ycGN1c2VybGlicykpOiBEb24ndCB1c2UKCSQoYnVpbGQtbW9kdWxlKSBoZXJlLCBzaW5jZSB3ZSBkb24ndCBuZWVkIHRoZSBmdWxsIG1hZ2lsbGEuCglKdXN0IHVzZSAkKGJ1aWxkLW1vZHVsZS1oZWxwZXIpIGFuZCBhcHBlbmQgb3VyIHNwZWNpYWwgb3B0aW9ucy4KCjIwMDEtMDUtMDkgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvcmVhZGRpci5jOiBNYWtlIHN1cmUgd2UgZG9uJ3QgbW9kaWZ5IGVycm5vIHdoZW4gd2UKCXJlYWNoZWQgRU9GLgoKMjAwMS0wNS0wNyAgSC5KLiBMdSAgPGhqbEBnbnUub3JnPgoKCSogZWxmL2xkY29uZmlnLmMgKGRpcl9lbnRyeSk6IEFkZCBpbm8gYW5kIGRldi4KCShhZGRfc2luZ2xlX2Rpcik6IENvbXBhcmUgaW5vIGFuZCBkZXYgdG8gY2hlY2sgaWYgMiBkaXJlY3RvcnkKCXBhdGhzIGFyZSB0aGUgc2FtZSBvciBub3QuICBGcmVlIGVudHJ5LT5wYXRoIGZvciBkdXBsaWNhdGVzLgoJKGFkZF9kaXIpOiBJbml0aWFsaXplIGlubyBhbmQgZGV2IGZvciBlbnRyeS4KCShzZWFyY2hfZGlyKTogSGFuZGxlIHN5bWxpbmsgdG8gZGlyZWN0b3J5LgoKMjAwMS0wNS0wNyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy9pMzg2L2ZwdS9saWJtLXRlc3QtdWxwczogQWRkIHVscHMgZm9yIG5ldyBleHAgdGVzdHMuCgoJKiBtYXRoL2xpYm0tdGVzdC5pbmMgKGV4cF90ZXN0KTogQWRkIHNvbWUgbW9yZSB0ZXN0cy4KCShwb3dfdGVzdCk6IFJ1biBkb3VibGUgb25seSB0ZXN0IGFsc28gZm9yIGxvbmcgZG91YmxlLgoKCSogbWF0aC90ZXN0LWxkb3VibGUuYyAoVEVTVF9MRE9VQkxFKTogRGVmaW5lLgoJKiBtYXRoL3Rlc3QtaWxkb3VibC5jIChURVNUX0xET1VCTEUpOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9iaXRzL2NvbmZuYW1lLmg6IFJlbW92ZSBleHRyYSBjb21tYSBhdCBlbmQgb2YKCWVudW1lcmF0aW9uLgoJQ2xvc2VzIFBSIGxpYmMvMjI0MC4KCgkqIHNjcmlwdHMvY29uZmlnLmd1ZXNzOiBJbXBvcnRlZCBmcm9tIGdudS5vcmcuCgkqIHNjcmlwdHMvY29uZmlnLnN1YjogTGlrZXdpc2UuCgoyMDAxLTA1LTA1ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvZmVhdHVyZXMuaCAoX19VU0VfRVhURVJOX0lOTElORVMpOiBEb24ndCBkZWZpbmUgaWYKCV9fTk9fSU5MSU5FX18gaXMgZGVmaW5lZC4KCSogY3R5cGUvY3R5cGUuaCAodG9sb3dlciwgdG91cHBlcik6IENoYW5nZSB0aGUgZ3VhcmQgY29uZGl0aW9uIHRvCglfX1VTRV9FWFRFUk5fSU5MSU5FUyBjaGVjayBvbmx5LgoJKiBzdGRsaWIvc3RkbGliLmggKHN0cnRvZCwgLi4uKTogTGlrZXdpc2UuCgkqIHdjc21icy93Y2hhci5oIChtYnJsZW4pOiBMaWtld2lzZS4KCSogc3RyaW5nL3N0cmluZy5oOiBPbmx5IGluY2x1ZGUgYml0cy9zdHJpbmcuaCBhbmQgYml0cy9zdHJpbmcyLmgKCWlmIF9fTk9fSU5MSU5FX18gaXMgbm90IGRlZmluZWQuCgoyMDAxLTA1LTA3ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBkZWJ1Zy9NYWtlZmlsZSAoJChvYmpwZngpeHRyYWNlKTogU3Vic3RpdHV0ZSBAU0xJQkRJUkAgaW5zdGVhZAoJb2YgQExJQkRJUkAuCgoyMDAxLTA1LTA0ICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBtYWxsb2MvTWFrZWZpbGUgKCQob2JqcGZ4KW1lbXVzYWdlKTogU3Vic3RpdHV0ZSBAU0xJQkRJUkAKCW5vdCBATElCRElSQC4KCjIwMDEtMDUtMDYgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvaTM4Ni9mcHUvZV9mbW9kbC5jOiBOZXcsIHJld3JpdGUgb2YgZV9mbW9kbC5TLgoJKiBzeXNkZXBzL2kzODYvZnB1L2VfZm1vZGwuUzogUmVtb3ZlZC4KCSogc3lzZGVwcy9pMzg2L2ZwdS9lX2F0YW4ybC5jOiBOZXcsIHJld3JpdGUgb2YgZV9hdGFuMmwuUy4KCSogc3lzZGVwcy9pMzg2L2ZwdS9lX2F0YW4ybC5TOiBSZW1vdmVkLgoJKiBzeXNkZXBzL2kzODYvZnB1L2VfYWNvc2wuYzogTmV3LCByZXdyaXRlIG9mIGVfYWNvcy5TLgoJKiBzeXNkZXBzL2kzODYvZnB1L3NfYXRhbmwuYzogTmV3LCByZXdyaXRlIG9mIGVfYXRhbmwuUy4KCSogc3lzZGVwcy9pMzg2L2ZwdS9lX3NxcnRsLmM6IE5ldywgcmV3cml0ZSBvZiBlX3NxcnQuUy4KCSogc3lzZGVwcy9pMzg2L2ZwdS9lX2Fjb3NsLlM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvaTM4Ni9mcHUvc19hdGFubC5TOiBSZW1vdmVkLgoJKiBzeXNkZXBzL2kzODYvZnB1L2Vfc3FydGwuUzogUmVtb3ZlZC4KCjIwMDEtMDUtMDUgIE1hcmsgS2V0dGVuaXMgIDxrZXR0ZW5pc0BnbnUub3JnPgoKCSogc3lzZGVwcy9tYWNoL2h1cmQvYml0cy9lbnZpcm9ubWVudHMuaDogQWRkIGNvbW1lbnQgZnJvbQoJc3lzZGVwcy9nZW5lcmljL2JpdHMvZW52aXJvbm1lbnRzLmguICBEZWZpbmUgX1BPU0lYX1Y2XyogdmFsdWVzLgoKMjAwMS0wNC0zMCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBwb3NpeC9jb25mc3RyLmMgKGNvbmZzdHIpIFtfQ1NfVjZfV0lEVEhfUkVTVFJJQ1RFRF9FTlZTXTogTW92ZSBzbwoJdGhhdCBfQ1NfTEZTX0NGTEFHUyBjYW4gZmFsbCB0aHJvdWdoIHRvIHRoZSBlbXB0eSByZXR1cm5lZCBzdHJpbmcKCWNhc2UuICBBZGQgRkFMTFRIUk9VR0ggY29tbWVudC4KCjIwMDEtMDQtMjkgIFJhbGYgQmFlY2hsZSAgPHJhbGZAZ251Lm9yZz4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvYml0cy9zZW0uaDogTWFrZSBzdHJ1Y3R1cmUKCWRlZmluaXRpb25zIG1hdGNoIHRoZSBrZXJuZWwgZGVmaW5pdGlvbnMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvYml0cy9pcGMuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvYml0cy9zaG0uaDogTGlrZXdpc2UuCgoyMDAxLTA0LTI5ICBCZW4gQ29sbGlucyAgPGJjb2xsaW5zQGRlYmlhbi5vcmc+CgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvZGwtbWFjaGluZS5oOiBGaXggbXVsdGlsaW5lIHN0cmluZ3MKCXdhcm5pbmdzLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc29mdC1mcC9xcF9hZGQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9zb2Z0LWZwL3FwX2NtcC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3NvZnQtZnAvcXBfY21wZS5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3NvZnQtZnAvcXBfZGl2LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc29mdC1mcC9xcF9kdG9xLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc29mdC1mcC9xcF9mZXEuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9zb2Z0LWZwL3FwX2ZnZS5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3NvZnQtZnAvcXBfZmd0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc29mdC1mcC9xcF9mbGUuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9zb2Z0LWZwL3FwX2ZsdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3NvZnQtZnAvcXBfZm5lLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc29mdC1mcC9xcF9tdWwuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9zb2Z0LWZwL3FwX3F0b2QuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9zb2Z0LWZwL3FwX3F0b2kuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9zb2Z0LWZwL3FwX3F0b3MuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9zb2Z0LWZwL3FwX3F0b3VpLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc29mdC1mcC9xcF9xdG91eC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3NvZnQtZnAvcXBfcXRveC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3NvZnQtZnAvcXBfcXRveC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3NvZnQtZnAvcXBfc3FydC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3NvZnQtZnAvcXBfc3RvcS5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L3NvZnQtZnAvcXBfc3ViLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvc29mdC1mcC9zZnAtbWFjaGluZS5oOiBMaWtld2lzZS4KCjIwMDEtMDQtMjkgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9rZXJuZWwtZmVhdHVyZXMuaDogRml4IG1pc3NpbmcgYmFja3NsYXNoCglpbiBsYXN0IGNoYW5nZS4KCjIwMDEtMDQtMjkgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2tlcm5lbC1mZWF0dXJlcy5oIChfX0FTU1VNRV9GQ05UTDY0KToKCURlZmluZSBmb3IgQXJtLCBQb3dlclBDIGFuZCBTSCBpZiBrZXJuZWwgaXMgMi40LjQgb3IgbmV3ZXIuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL3NvY2tldC5oIChQRl9XQU5QSVBFKTogTmV3LCBmcm9tCglMaW51eCAyLjQuNC4KCShBRl9XQU5QSVBFKTogTGlrZXdpc2UuCgkoTVNHX01PUkUpOiBOZXcuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9iaXRzL3NvY2tldC5oOiBBZGQgc2FtZSBjaGFuZ2VzIGFzCglmb3IgTGludXggZ2VuZXJpYyB2ZXJzaW9uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvYml0cy9zb2NrZXQuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL2JpdHMvc29ja2V0Lmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL2JpdHMvc29ja2V0Lmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2JpdHMvc29ja2V0Lmg6IExpa2V3aXNlLgoKCSogc3lzZGVwcy9nbnUvbmV0aW5ldC90Y3AuaCAoVENQX1FVSUNLQUNLKTogTmV3LgoKMjAwMS0wNC0yNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBuaXMvbnNzLW5pcy5oOiBDb3JyZWN0IHRlc3QgZm9yIGludmFsaWQgZXJyb3IgbnVtYmVyLgoJKiBuaXMvbnNzLW5pc3BsdXMuaDogTGlrZXdpc2UuCgoJKiBuaXMvTWFrZWZpbGUgKGxpYm5zc19jb21wYXQtcm91bnRpbmVzKTogQWRkIG5zcy1uaXNwbHVzLgoKMjAwMS0wNC0yNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3N5c2NhbGxzLmxpc3Q6IEFkZCBnZXR1bndpbmQuCgoJKiBzdHJpbmcvc3RyY29sbC5jOiBGaXggdHdvIG1lbW9yeSBhbGxvY2F0aW9uIHByb2JsZW1zLgoJKiBzdHJpbmcvTWFrZWZpbGUgKHRlc3RzKTogQWRkIGJ1Zy1zdHJjb2xsMS4KCSogc3RyaW5nL2J1Zy1zdHJjb2xsMS5jOiBOZXcgZmlsZS4KCgkqIG1hbGxvYy9tY2hlY2suYyAobWNoZWNrKTogQ2FsbCBtYWxsb2Mgb25jZSBiZWZvcmUgc2V0dGluZyB0aGUKCWhvb2tzIHRvIGFsbG93IHRoZSBpbnRlcm5hbCBjaGVjayBob29rcyB0byBiZSBzZXQgdXAgaWYgbmVjZXNzYXJ5LgoKCSogbmlzL25zcy1uaXMuaDogTW92ZSB5cGVycjJuc3NfdGFiIGRlZmluaXRpb24gaW50byBzZXBhcmF0ZSBmaWxlCglhbmQgcmVuYW1lIHRvIF9feXBlcnIybnNzX3RhYi4gIENoYW5nZSBZUEVSUl9DT1VOVCBpbnRvIHZhcmlhYmxlCglfX3lwZXJyMm5zc19jb3VudC4KCSogbmlzL25zcy1uaXMuYzogTmV3IGZpbGUuCgkqIG5pcy9uc3MtbmlzcGx1cy5oOiBNb3ZlIG5pc2VycjJuc3NfdGFiIGRlZmluaXRpb24gaW50byBzZXBhcmF0ZSBmaWxlCglhbmQgcmVuYW1lIHRvIF9fbmlzZXJyMm5zc190YWIuICBDaGFuZ2UgTklTRVJSX0NPVU5UIGludG8gdmFyaWFibGUKCV9fbmlzZXJyMm5zc19jb3VudC4KCSogbmlzL25zcy1uaXNwbHVzLmM6IE5ldyBmaWxlLgoJKiBuaXMvTWFrZWZpbGUgKGxpYm5zc19jb21wYXQtcm91dGluZXMpOiBBZGQgbnNzLW5pcy4KCShsaWJuc3NfbmlzLXJvdXRpbmVzKTogTGlrZXdpc2UuCgkobGlibnNzX25pc3BsdXMtcm91dGluZXMpOiBBZGQgbnNzLW5pc3BsdXMuCgoJKiBuaXMvbnNzX25pc3BsdXMvbmlzcGx1cy1hbGlhcy5jOiBSZW1vdmUgdW5uZWNlc3NhcnkgaW5pdGlhbGl6YXRpb25zLgoJKiBuaXMvbnNzX25pc3BsdXMvbmlzcGx1cy1ldGhlcnMuYzogTGlrZXdpc2UuCgkqIG5pcy9uc3NfbmlzcGx1cy9uaXNwbHVzLWdycC5jOiBMaWtld2lzZS4KCSogbmlzL25zc19uaXNwbHVzL25pc3BsdXMtaG9zdHMuYzogTGlrZXdpc2UuCgkqIG5pcy9uc3NfbmlzcGx1cy9uaXNwbHVzLW5ldHdvcmsuYzogTGlrZXdpc2UuCgkqIG5pcy9uc3NfbmlzcGx1cy9uaXNwbHVzLXByb3RvLmM6IExpa2V3aXNlLgoJKiBuaXMvbnNzX25pc3BsdXMvbmlzcGx1cy1wd2QuYzogTGlrZXdpc2UuCgkqIG5pcy9uc3NfbmlzcGx1cy9uaXNwbHVzLXJwYy5jOiBMaWtld2lzZS4KCSogbmlzL25zc19uaXNwbHVzL25pc3BsdXMtc2VydmljZS5jOiBMaWtld2lzZS4KCSogbmlzL25zc19uaXNwbHVzL25pc3BsdXMtc3B3ZC5jOiBMaWtld2lzZS4KCSogbmlzL25zc19uaXMvbmlzLWFsaWFzLmM6IExpa2V3aXNlLgoJKiBuaXMvbnNzX25pcy9uaXMtZXRoZXJzLmM6IExpa2V3aXNlLgoJKiBuaXMvbnNzX25pcy9uaXMtZ3JwLmM6IExpa2V3aXNlLgoJKiBuaXMvbnNzX25pcy9uaXMtbmV0d29yay5jOiBMaWtld2lzZS4KCSogbmlzL25zc19uaXMvbmlzLXByb3RvLmM6IExpa2V3aXNlLgoJKiBuaXMvbnNzX25pcy9uaXMtcHdkLmM6IExpa2V3aXNlLgoJKiBuaXMvbnNzX25pcy9uaXMtc3B3ZC5jOiBMaWtld2lzZS4KCSogbmlzL25zc19jb21wYXQvY29tcGF0LWdycC5jOiBMaWtld2lzZS4KCSogbmlzL25zc19jb21wYXQvY29tcGF0LWluaXRncm91cHMuYzogTGlrZXdpc2UuCgkqIG5pcy9uc3NfY29tcGF0L2NvbXBhdC1wd2QuYzogTGlrZXdpc2UuCgkqIG5pcy9uc3NfY29tcGF0L2NvbXBhdC1zcHdkLmM6IExpa2V3aXNlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9nZXRfY2xvY2tmcmVxLmM6IFNvbWUgbW9yZQoJb3B0aW1pemF0aW9ucy4gIFBhdGNoIGJ5IEpha3ViIEplbGluZWsgPGpha3ViQHJlZGhhdC5jb20+LgoKMjAwMS0wNC0yNiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogcG8vemhfVFcucG86IFVwZGF0ZS4KCVBhdGNoIGJ5IFR1bmctSGFuIEhzaWVoIDx0aGhzaWVoQHRsdWcuc2luaWNhLmVkdS50dz4uCgoyMDAxLTA0LTI1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG1hbGxvYy9tYWxsb2MuYzogQWxsb3cgTUFMTE9DX0FMSUdOTUVOVCB0byBiZSBkZWZpbmVkIG9uIHRoZQoJY29tcGlsZXIgY29tbWFuZCBsaW5lLgoJKiBzeXNkZXBzL2hwcGEvTWFrZWZpbGU6IEFkZCAtRE1BTExPQ19BTElHTk1FTlQ9MTYgdG8gY29tcGlsZXIKCWNvbW1hbmQgbGluZSBmb3IgbWFsbG9jLmMuCgoyMDAxLTA0LTI1ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQvYml0cy90aW1lLmg6IE1vdmUgdG8uLi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvYml0cy90aW1lLmg6IC4uLmhlcmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjMzIvc3BhcmN2OS9iaXRzL3RpbWUuaDogUmVtb3ZlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L2JpdHMvc29ja2V0Lmg6IE1vdmUgdG8uLi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvYml0cy9zb2NrZXQuaDogLi4uaGVyZS4gIEFkanVzdAoJc3RydWN0IG1zZ2hkciBmb3IgX19XT1JEU0laRSA9PSAzMi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9iaXRzL3N0YXR2ZnMuaDogTW92ZSB0by4uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9iaXRzL3N0YXR2ZnMuaDogLi4uaGVyZS4gIEFkanVzdAoJZm9yIF9fV09SRFNJWkUgPT0gMzIuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQvYml0cy9zaWdpbmZvLmg6IFJlbW92ZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmMzMi9zcGFyY3Y5L2dldF9jbG9ja2ZyZXEuYzogTmV3CglmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L2xvbmdqbXAuUyAoX19saWJjX3NpZ2xvbmdqbXApOgoJUmVuYW1lIGZyb20gbG9uZ2ptcCwgbWFrZSBsb25nam1wIHdlYWsgYWxpYXMgdG8gaXQuCgoyMDAxLTA0LTI0ICBEYXZpZCBTLiBNaWxsZXIgIDxkYXZlbUByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9nZXRfY2xvY2tmcmVxLmM6IE5ldyBmaWxlLgoKMjAwMS0wNC0yNSAgTWF0dGhldyBXaWxjb3ggIDx3aWxseUBsZGwuZmMuaHAuY29tPgoKCSogc3lzZGVwcy9ocHBhL3N0YWNraW5mby5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaHBwYS9nZXRkZW50czY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9ocHBhL21tYXA2NC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaHBwYS9iaXRzL3Jlc291cmNlLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9rZXJuZWwtZmVhdHVyZXMuaDogQWRkIGRlc2NyaXB0aW9ucwoJb2YgUEEga2VybmVsIGZlYXR1cmVzLgoKMjAwMS0wNC0yNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsb2NhbGUvcHJvZ3JhbXMvbG9jYWxlZGVmLmMgKG1haW4pOiBBbHdheXMgc2V0IGEgZmlsZSBuYW1lIGZvcgoJdGhlIGluaXRpYWwgbG9jYWxlLgoJKiBsb2NhbGUvcHJvZ3JhbXMvbG9jZmlsZS5jIChsb2NmaWxlX3JlYWQpOiBmaWxlbmFtZSBpcyBhbGxvd2VkIHRvCgliZSBOVUxMLgoKMjAwMS0wNC0xMiAgUGF1bCBCYW1lICA8cGF1bF9iYW1lQGhwLmNvbT4KCgkqIHN5c2RlcHMvaHBwYS9mcHUvZmNscmV4Y3B0LmM6IENsZWFyIHRoZSBleGNlcHRpb24gZmxhZ3MsIG5vdCB0aGUKCWVuYWJsZSBmbGFncy4KCjIwMDEtMDQtMjQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9nZW5lcmljL2JpdHMvZW52aXJvbm1lbnRzLmggKF9QT1NJWF9WNl9MUEJJR19PRkZCSUcsCglfWEJTNV9MUEJJR19PRkZCSUcpOiBEZWZpbmUgdG8gLTEuCglGaXggdHlwb3MuCgoJKiBzeXNkZXBzL2dlbmVyaWMvYml0cy9jb25mbmFtZS5oOiBBZGQgX0NTX1Y2X1dJRFRIX1JFU1RSSUNURURfRU5WUy4KCSogcG9zaXgvY29uZnN0ci5jOiBIYW5kbGUgX0NTX1Y2X1dJRFRIX1JFU1RSSUNURURfRU5WUy4KCSogcG9zaXgvZ2V0Y29uZi5jOiBIYW5kbGUgX1BPU0lYX1Y2X1dJRFRIX1JFU1RSSUNURURfRU5WUy4KCSogcG9zaXgvdHN0LWdldGNvbmYuc2g6IEFkZCBfUE9TSVhfVjZfV0lEVEhfUkVTVFJJQ1RFRF9FTlZTLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmMzMi9zcGFyY3Y5Yi9JbXBsaWVzOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmMzMi9zcGFyY3Y5Yi9iaXRzL3RpbWUuaDogUmVtb3ZlZC4KCjIwMDEtMDMtMjEgIEFsYW4gTW9kcmEgIDxhbGFuQG9uZS5uZXQuYXU+CgoJKiBzeXNkZXBzL2hwcGEvZGwtbWFjaGluZS5oIChSVExEX1NUQVJUKTogU2V0IHVwIGRwIHdpdGggRFRfUExUR09UCgl2YWx1ZSBmcm9tIGFwcGxpY2F0aW9uIHNvIHRoYXQgY29uc3RydWN0b3JzIGluIG5vbi1QSUMgbGlicyB3b3JrLgoKMjAwMC0xMi0xMyAgSmVzIFNvcmVuc2VuICA8amVzQGxpbnV4Y2FyZS5jb20+CgoJKiBzeXNkZXBzL2hwcGEvZGwtbWFjaGluZS5oIChSVExEX1NUQVJUKTogX2RsX2luaXQgbm93IHJldHVybnMgYQoJZnVuY3Rpb24gcG9pbnRlciwgaGVuY2UgbG9hZCB0aGUganVtcCBhZGRyZXNzIGFuZCBncCBmcm9tIHRoZQoJZnVuY3Rpb24gcG9pbnRlciBiZWZvcmUganVtcGluZy4KCjIwMDEtMDQtMjQgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9zZW5kLmMgKF9fc2VuZCk6IFJldHVybiBzc2l6ZV90LgoJKiBzeXNkZXBzL21hY2gvaHVyZC9zZW5kLmMgKF9fc2VuZCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL21hY2gvaHVyZC9yZWN2LmMgKHJlY3YpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9tYWNoL2h1cmQvc2VuZHRvLmMgKHNlbmR0byk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvc2VuZHRvLmMgKHNlbmR0byk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvcmVjdm1zZy5jIChyZWN2bXNnKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbWFjaC9odXJkL3JlY3Zmcm9tLmMgKHJlY3Zmcm9tKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9yZWN2ZnJvbS5jIChyZWN2ZnJvbSk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvc2VuZG1zZy5jIChzZW5kbXNnKTogTGlrZXdpc2UuCgoJKiBzb2NrZXQvc3lzL3NvY2tldC5oOiBzZW5kKiBhbmQgcmVjdiogcmV0dXJuIHNzaXplX3QuCgoJKiBpbmNsdWRlL3N5cy9zb2NrZXQuaDogc2VuZCByZXR1cm5zIHNzaXplX3QuCgoJKiBzeXNkZXBzL2kzODYvZnB1X2NvbnRyb2wuaDogRml4IGNvbW1lbnRzLgoKMjAwMS0wNC0yNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2lhNjQvRGlzdDogQWRkIGhwLXRpbWluZy5jLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L0Rpc3Q6IEFkZCB1Y29udGV4dF9pLmguCgkqIHBvc2l4L01ha2VmaWxlIChkaXN0cmlidXRlKTogQWRkIHRzdC1nZXRjb25mLnNoLgoJKiBwby9NYWtlZmlsZSAoZGlzdHJpYnV0ZSk6IEFkZCAkKEJST0tFTl9MSU5HVUFTOj0ucG8pLgoKMjAwMS0wNC0yMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2lhNjQvTWFrZWZpbGUgW3N1YmRpcj1jc3VdIChzeXNkZXBfcm91dGluZXMpOiBBZGQgaHAtdGltaW5nLgoJKiBzeXNkZXBzL2lhNjQvVmVyc2lvbnM6IEFkZCBfZGxfY3B1Y2xvY2tfb2Zmc2V0IGZvciBsZCBpbiAyLjIuMy4KCSogc3lzZGVwcy9pYTY0L2hwLXRpbWluZy5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2hwLXRpbWluZy5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9iaXRzL3RpbWUuaDogQWRkIGRlZmluaXRpb25zIGZvcgoJQ0xPQ0tfUFJPQ0VTU19DUFVUSU1FX0lEIGFuZCBDTE9DS19USFJFQURfQ1BVVElNRV9JRC4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9jbG9ja19nZXRjcHVjbG9ja2lkLmM6IE1ha2UgZnVuY3Rpb24gZ2VuZXJpYywgdGVzdAoJdXNpbmcgI2lmZGVmIHdoZXRoZXIgdGhlIGNsb2NrIGlzIGF2YWlsYWJsZS4KCSogc3lzZGVwcy91bml4L2kzODYvY2xvY2tfZ2V0Y3B1Y2xvY2tpZC5jOiBOb3QgbmVlZGVkIGFueW1vcmUuCgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtc3lzZGVwLmM6IEluaXRpYWxpemUgX2RsX2NwdWNsb2NrX29mZnNldCB0byBtb3ZlCglpdCBpbnRvIGRhdGEgc2VjdGlvbi4KCgkqIHN5c2RlcHMvdW5peC9pMzg2L2k1ODYvY2xvY2tfZ2V0cmVzLmM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9pMzg2L2k1ODYvY2xvY2tfZ2V0dGltZS5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvaTM4Ni9pNTg2L2Nsb2NrX25hbm9zbGVlcC5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL3VuaXgvaTM4Ni9pNTg2L2Nsb2NrX3NldHRpbWUuYzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L2kzODYvaTU4Ni9jcHVjbG9jay1pbml0Lmg6IFJlbW92ZWQuCgkqIHN5c2RlcHMvZ2VuZXJpYy9jcHVjbG9jay1pbml0Lmg6IFJlbW92ZWQuCgkqIHN5c2RlcHMvdW5peC9pMzg2L2k2ODYvSW1wbGllczogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L2kzODYvaTY4Ni90ZW1wbmFtZS5jOiBSZW1vdmVkLgoJKiBzeXNkZXBzL2kzODYvaTY4Ni9WZXJzaW9uczogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9pMzg2L2k1ODYvVmVyc2lvbnM6IFJlbW92ZWQuCgoJKiBzeXNkZXBzL3Bvc2l4L2Nsb2NrX2dldHJlcy5jOiBJZiBIUF9USU1JTkdfQVZBSUwgaXMgbm9uemVybyBoYW5kbGUKCUNMT0NLX1BST0NFU1NfQ1BVVElNRV9JRCBhbmQgQ0xPQ0tfVEhSRUFEX0NQVVRJTUVfSUQuCgkqIHN5c2RlcHMvdW5peC9jbG9ja19nZXR0aW1lLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvY2xvY2tfbmFub3NsZWVwLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvY2xvY2tfc2V0dGltZS5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3NpeC90ZW1wbmFtZS5jOiBJcyBIUF9USU1JTkdfQVZBSUwgaXMgbm9uemVybyBkZWZpbmUKCVJBTkRPTV9CSVRTIHVzZSBDUFUgY2xvY2suCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzMyL3NwYXJjdjkvYml0cy90aW1lLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzMyL3NwYXJjdjliL2JpdHMvdGltZS5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9iaXRzL3RpbWUuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvc3BhcmMvVmVyc2lvbnM6IE5ldyBmaWxlLgoKCSogZWxmL2RsLXN1cHBvcnQuYzogRG9uJ3QgdXNlIGNwdWNsb2NrLWluaXQuaCBkZWZpbml0aW9ucywgdXNlCglocC10aW1pbmcuaCBkZWZpbml0aW9ucy4KCSogc3lzZGVwcy9nZW5lcmljL2RsLXN5c2RlcC5jOiBMaWtld2lzZS4KCgkqIGluY2x1ZGUvbGliYy1pbnRlcm5hbC5oOiBJbmNsdWRlIGhwLXRpbWluZy5oLiAgVXNlIGhwX3RpbWluZ190IGluCglfX2dldF9jbG9ja2ZyZXEgcHJvdG90eXBlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9nZXRfY2xvY2tmcmVxLmMgKF9fZ2V0X2Nsb2NrZnJlcSk6CglVc2UgaHBfdGltaW5nX3QgdHlwZS4KCSogc3lzZGVwcy9nZW5lcmljL2dldF9jbG9ja2ZyZXEuYyAoX19nZXRfY2xvY2tmcmVxKTogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2dldF9jbG9ja2ZyZXEuYzogTmV3IGZpbGUuCgoJKiBzeXNkZXBzL3Bvc2l4L3BhdGhjb25mLmMgKF9fcGF0aGNvbmYpOiBGb3IgX1BDX0FTWU5DX0lPIHRlc3QKCXdoZXRoZXIgbmFtZWQgZmlsZSBpcyBhIHJlZ3VsYXIgZmlsZSBvciBhIGJsb2NrIGRldmljZS4KCSogc3lzZGVwcy9wb3NpeC9mcGF0aGNvbmYuYyAoX19mcGF0aGNvbmYpOiBMaWtld2lzZS4KCjIwMDEtMDQtMjMgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIG5zY2QvbnNjZC5oOiBBZGQgbm9yZXR1cm4gYXR0cmlidXRlIGZvciBzdGFydF90aHJlYWRzLgoKMjAwMS0wNC0yMiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBwb3NpeC9nZXRjb25mLmM6IEZpeCBuYW1lcyBvZiBYQlM1IExGUyB0ZXN0IHZhcmlhYmxlcy4KCUFkZCBtaXNzaW5nIGNvbmZpZ3VyYXRpb24gdmFyaWFibGVzIGZyb20gWFBHNi4KCSogcG9zaXgvdHN0LWdldGNvbmYuYzogTmV3IGZpbGUuCgkqIHBvc2l4L01ha2VmaWxlIChnZW5lcmF0ZWQpOiBBZGQgdHN0LWdldGNvbmYub3V0LgoJKHRlc3RzKTogQWRkICgkb2JqcGZ4KXRzdC1nZXRjb25mLm91dC4KCUFkZCBydWxlIHRvIHJ1biB0c3QtZ2V0Y29uZi5zaC4KCSogc3lzZGVwcy9nZW5lcmljL2JpdHMvY29uZm5hbWUuaDogQWRkIG1pc3NpbmcgX1BDXyBhbmQgX1NDXyB2YWx1ZXMKCWZyb20gWFBHNi4KCSogc3lzZGVwcy9wb3NpeC9mcGF0aGNvbmYuYzogQWRkIGhhbmRsaW5nIG9mIF9QQ19BTExPQ19TSVpFX01JTiBhbmQKCV9QQ19TWU1MSU5LX01BWC4KCSogc3lzZGVwcy9wb3NpeC9wYXRoY29uZi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3NpeC9zeXNjb25mLmM6IENvcnJlY3Qgc3BlbGxpbmcgb2YgX1NDX01VTFRJX1BST0NFU1MKCWFuZCBfU0NfU1lNTE9PUF9NQVguCgoyMDAxLTA0LTIyICBQaGlsaXAgQmx1bmRlbGwgIDxwaGlsYkBnbnUub3JnPgoKCSogc3lzZGVwcy9hcm0vZnB1L2ZlZW5hYmx4Y3B0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2FybS9mcHUvZmVkaXNhYmx4Y3B0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2FybS9mcHUvZmVnZXRleGNwdC5jOiBOZXcgZmlsZS4KCjIwMDEtMDQtMjIgIFBoaWxpcCBCbHVuZGVsbCAgPHBoaWxiQGdudS5vcmc+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vc3lzL3VzZXIuaCAoc3RydWN0IHVzZXJfZnByZWdzKToKCVJlbmFtZWQgZnJvbSBzdHJ1Y3QgdXNlcl9mcC4KCShzdHJ1Y3QgdXNlcl9yZWdzKTogTmV3LgoJKHN0cnVjdCB1c2VyKTogVXNlIHN0cnVjdCB1c2VyX3JlZ3MgcmF0aGVyIHRoYW4gc3RydWN0IHB0X3JlZ3MgdG8KCWF2b2lkIGRlcGVuZGVuY3kgb24gYXNtL3B0cmFjZS5oLiAgVXNlIHN0cnVjdCB1c2VyX2ZwcmVncyBpbiBwbGFjZQoJb2Ygc3RydWN0IHVzZXJfZnAgYW5kIHN0cnVjdCB1c2VyX2ZwX3N0cnVjdC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL3N5cy91Y29udGV4dC5oOiBJbmNsdWRlIHN5cy9wcm9jZnMuaAoJbm90IHN5cy9lbGYuaC4KCjIwMDEtMDQtMjIgIFBoaWxpcCBCbHVuZGVsbCAgPHBoaWxiQGdudS5vcmc+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vc3lzL2VsZi5oOiBNb3ZlIGNvbnRlbnRzIHRvCglzeXMvcHJvY2ZzLmgsIGFuZCB0ZWxsIHRoZSB1c2VyIHRvIGluY2x1ZGUgdGhhdCBmaWxlIGluc3RlYWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9zeXMvcHJvY2ZzLmg6IFJlbW92ZSBvbGQgY3J1ZnQKCXN1cnJvdW5kZWQgd2l0aCAjaWYgMC4KCShlbGZfZ3JlZ190LCBFTEZfTkdSRUcsIGVsZl9ncmVnc2V0X3QsIGVsZl9mcHJlZ3NldF90KTogTW92ZWQgaGVyZQoJZnJvbSBzeXMvZWxmLmguCgkocHJncmVnc2V0X3QsIHByZnByZWdzZXRfdCk6IERlZmluZSBpbiB0ZXJtcyBvZiBlbGZfZ3JlZ3NldF90IGFuZAoJZWxmX2ZwcmVnc2V0X3QgcmVzcGVjdGl2ZWx5LgoKMjAwMS0wNC0yMiAgUGhpbGlwIEJsdW5kZWxsICA8cGhpbGJAZ251Lm9yZz4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9yZWdpc3Rlci1kdW1wLmg6IEFsc28gcHJpbnQgdGhlCglhZGRyZXNzIHRoYXQgZmF1bHRlZC4KCjIwMDEtMDQtMjEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9nZW5lcmljL2JpdHMvY29uZm5hbWUuaDogQWRkIF9TQ19WNl8qIGFuZCBfQ1NfUE9TSVhfVjZfKgoJdmFsdWVzLgoJKiBzeXNkZXBzL2dlbmVyaWMvYml0cy9lbnZpcm9ubWVudHMuaDogRGVmaW5lIF9QT1NJWF9WNl8qIHZhbHVlcy4KCSogcG9zaXgvY29uZnN0ci5jOiBIYW5kbGUgX0NTX1BPU0lYX1Y2XyogdmFsdWVzLgoJKiBwb3NpeC9nZXRjb25mLmM6IEhhbmRsZSBfQ1NfUE9TSVhfVjZfKiBhbmQgX1NDX1Y2XyogdmFsdWVzLgoJKiBzeXNkZXBzL3Bvc2l4L3N5c2NvbmYuYzogSGFuZGxlIF9TQ19WNl8qIHZhbHVlcy4KCgkqIHN5c2RlcHMvcG93ZXJwYy9mcHUvbGlibS10ZXN0LXVscHM6IEFkZCBkZWx0YXMgZm9yIGF0YW4yZi4KCSogc3lzZGVwcy9zMzkwL2ZwdS9saWJtLXRlc3QtdWxwczogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc2gvc2g0L2ZwdS9saWJtLXRlc3QtdWxwczogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbWlwcy9mcHUvbGlibS10ZXN0LXVscHM6IExpa2V3aXNlLgoKMjAwMS0wNC0yMSAgRnJhbnogU2lybCAgPEZyYW56LlNpcmwta2VybmVsQGxhdXRlcmJhY2guY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9tbWFwNjQuYzogQ29ycmVjdCBjaGVjayBmb3IgaW52YWxpZAoJb2Zmc2V0LgoKMjAwMS0wNC0yMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBwb3NpeC9nZXRvcHQuaDogVHJlYXQgX19jcGx1c3BsdXMgbGlrZSBfX1NURENfXy4KCjIwMDEtMDQtMjAgIEpvaG4gUy4gTWFydmluICA8anNtQGZjLmhwLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2hwcGEvY2xvbmUuUzogRml4IGNsb25lIHN5c3RlbSBjYWxsCgllbnRyeSBwb2ludCBzdHViLgoKMjAwMS0wNC0yMCAgUmljaGFyZCBIaXJzdCAgPHJoaXJzdEBsaW51eGNhcmUuY29tPgoKCSogZWxmL2VsZi5oOiBDb3JyZWN0ZWQgUl9QQVJJU0NfRElSMTRSIChzaG91bGQgYmUgNiwgbm90IDUpLAoJYW5kIGFkZGVkIFJfUEFSSVNDX0RQUkVMMjFMIGFuZCBSX1BBUklTQ19EUFJFTDE0UiBmb3IgbW9kdXRpbHMuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9ocHBhL3N5c2NhbGxzLmxpc3Q6IFJlbW92ZWQgcHRyYWNlCgllbnRyeSBzbyB0aGUgcHRyYWNlLmMgd3JhcHBlciBpcyB1c2VkLgoKMjAwMS0wNC0yMCAgQWxhbiBNb2RyYSAgPGFtb2RyYUBvbmUubmV0LmF1PgoKCSogc3lzZGVwcy9ocHBhL2RsLWxvb2t1cGNmZy5oIChfZGxfZnVuY3Rpb25fYWRkcmVzcyk6IFByb3RvdHlwZS4KCShETF9GVU5DVElPTl9BRERSRVNTKTogRGVmaW5lLgoJKERMX0RUX0lOSVRfQUREUkVTUyk6IERlZmluZS4KCShETF9EVF9GSU5JX0FERFJFU1MpOiBEZWZpbmUuCgkqIHN5c2RlcHMvaHBwYS9WZXJzaW9uczogQWRkIF9kbF9mdW5jdGlvbl9hZGRyZXNzLgoJKiBzeXNkZXBzL2hwcGEvZGwtbWFjaGluZS5oIChFTEZfTUFDSElORV9TVEFSVF9BRERSRVNTKTogRGVmaW5lLgoJKiBzeXNkZXBzL2hwcGEvZGwtc3ltYWRkci5jIChfZGxfc3RhcnRfYWRkcmVzcyk6IFJlbmFtZSB0bwoJX2RsX2Z1bmN0aW9uX2FkZHJlc3MuCgoyMDAxLTA0LTIxICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBydC9haW9fbWlzYy5jIChoYW5kbGVfZmlsZGVzX2lvKTogQWRkIG5vcmV0dXJuIGF0dHJpYnV0ZS4KCSogcmVzb2x2L2dhaV9taXNjLmMgKGhhbmRsZV9yZXF1ZXN0cyk6IExpa2V3aXNlLgoJKiBtYWxsb2Mvb2JzdGFjay5jIChwcmludF9hbmRfYWJvcnQpOiBMaWtld2lzZS4KCSogbWFsbG9jL21jaGVjay5jIChtYWJvcnQpOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvdW5peC9pMzg2L2k1ODYvY2xvY2tfc2V0dGltZS5jOiBJbmNsdWRlCgkibGliYy1pbnRlcm5hbC5oIiBmb3IgX19nZXRfY2xvY2tmcmVxIGRlY2xhcmF0aW9uLgoKMjAwMS0wNC0yMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvZGwtc3VwcG9ydC5jOiBJbmNsdWRlIGNwdWNsb2NrLWluaXQuaC4gIFVzZSBDUFVDTE9DS19WQVJERUYgYW5kCglDUFVDTE9DS19JTklUIGlmIGRlZmluZWQuCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC1zeXNkZXAuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9jcHVjbG9jay1pbml0Lmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvaTM4Ni9pNTg2L2NwdWNsb2NrLWluaXQuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9pMzg2L2k1ODYvVmVyc2lvbnM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvaTM4Ni9pNTg2L2Nsb2NrX3NldHRpbWUuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9pMzg2L2k1ODYvY2xvY2tfZ2V0dGltZS5jOiBIYW5kbGUgdGhyZWFkIENQVSBjbG9jawoJc2VwYXJhdGVseSBieSBjYWxsaW5nIF9fcHRocmVhZF9jbG9ja19nZXR0aW1lIGlmIHRoaXMgZnVuY3Rpb24gaXMKCWF2YWlsYWJsZS4gIFN1YnRyYWN0IG9mZnNldCBmcm9tIHRzYyB2YWx1ZSBiZWZvcmUgY29tcHV0aW5nIHRpbWUgdmFsdWUuCgoyMDAxLTA0LTIwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGljb252L2ljb252X3Byb2cuYyAocHJpbnRfa25vd25fbmFtZXMpOiBJZiBwcmludGluZyBnb2VzIG5vdCB0bwoJYSB0dHkgcHJpbnQgaW4gYSBtb3JlIG1hY2hpbmUtZnJpZW5kbHkgd2F5LgoKCSogc3lzZGVwcy9pZWVlNzU0L2xkYmwtMTI4L2VfYXNpbmwuYzogTmV3IGZpbGUuCglDb250cmlidXRlZCBieSBTdGVwaGVuIEwgTW9zaGllciA8bW9zaGllckBtZWRpYW9uZS5uZXQ+LgoKMjAwMS0wNC0yMCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogaW50bC9NYWtlZmlsZSAodGVzdHMpOiBSZW9yZGVyIGNvbmRpdGlvbnMsIHRzdC1nZXR0ZXh0IG5lZWRzIG1zZ2ZtdC4KCjIwMDEtMDQtMjAgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBzeXNkZXBzL202OGsvZnB1L2xpYm0tdGVzdC11bHBzOiBVcGRhdGUuCgoyMDAxLTA0LTE5ICBBbGFuIE1vZHJhICA8YW1vZHJhQG9uZS5uZXQuYXU+CgoJKiBNYWtlcnVsZXMgKGxpYmNfcGljLm9zKTogQWRkICQoTERGTEFHUy1jX3BpYy5vcykuCgkqIHN5c2RlcHMvaHBwYS9NYWtlZmlsZSAoTERGTEFHUy1jX3BpYy5vcyk6IERlZmluZS4KCShDRkxBR1MtLm9zKTogUmVtb3ZlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaHBwYS9zeXNkZXAuaCAoQ0FMTF9NQ09VTlQpOiBVcGRhdGUgY29tbWVudC4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2hwcGEvc3lzL3Vjb250ZXh0LmggKE5HUkVHLCBORlBSRUcsCglncmVnc2V0KTogQ29ycmVjdCBmb3IgbmV3IGtlcm5lbCBkZWZpbml0aW9ucy4KCjIwMDEtMDQtMTkgIEFsYW4gTW9kcmEgIDxhbGFuQGxpbnV4Y2FyZS5jb20uYXU+CgoJKiBzeXNkZXBzL2hwcGEvZWxmL2luaXRmaW5pLmM6IENoYW5nZSBkbHQgcmVnIHNhdmUgdG8gcjMgYW5kCglnZW5lcmF0ZSB1bndpbmQgaW5mbyBieSBoYW5kLgoKMjAwMS0wNC0xOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL21tYXA2NC5jIChfX21tYXA2NCk6IE9wdGltaXplIGEgYml0LgoKCSogY29uZmlndXJlLmluOiBDb3JyZWN0IHJlZ3VsYXIgZXhwcmVzc2lvbiBmb3IgbXNnZm10LgoJUGF0Y2ggYnkgQnJ1bm8gSGFpYmxlIDxoYWlibGVAaWxvZy5mcj4uCgoyMDAxLTA0LTE5ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBwby9lbC5wbzogQWRkIGNvbW1lbnQgZXhwbGFpbmluZyB3aGF0J3MgYnJva2VuLgoKCSogcG8vTWFrZWZpbGUgKEJST0tFTl9MSU5HVUFTKTogTmV3LgoJKEFMTF9MSU5HVUFTKTogRG9uJ3QgYWRkIGJyb2tlbiBsYW5ndWFnZXMuCgoyMDAxLTA0LTE5ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEBmcm9iLmNvbT4KCgkqIHN5c2RlcHMvbWFjaC9odXJkL21sb2NrLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL21hY2gvaHVyZC9tdW5sb2NrLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL21hY2gvaHVyZC9iaXRzL3Bvc2l4X29wdC5oIChfUE9TSVhfTUVNTE9DS19SQU5HRSk6IERlZmluZSBpdC4KCgkqIG1pc2MvTWFrZWZpbGUgKHJvdXRpbmVzKTogQWRkIG1sb2NrIG11bmxvY2sgbWxvY2thbGwgbXVubG9ja2FsbC4KCSogc3lzZGVwcy9nZW5lcmljL21sb2NrLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2dlbmVyaWMvbXVubG9jay5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9nZW5lcmljL21sb2NrYWxsLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2dlbmVyaWMvbXVubG9ja2FsbC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9nZW5lcmljL2JpdHMvbW1hbi5oIChNQ0xfQ1VSUkVOVCwgTUNMX0ZVVFVSRSk6IE5ldyBtYWNyb3MuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5c2NhbGxzLmxpc3QgKG1sb2NrLCBtdW5sb2NrLAoJbWxvY2thbGwsIG11bmxvY2thbGwpOiBDaGFuZ2UgY2FsbGVyIGZpZWxkIHRvIC0gZnJvbSBFWFRSQS4KCURvbid0IHVzZSBfXyBuYW1lczsgbm90IHVzZWQgKGFuZCBub3QgZGVjbGFyZWQgaW4gaW5jbHVkZS9zeXMvbW1hbi5oKS4KCgkqIGh1cmQvcHJpdnBvcnRzLmMgKF9fZ2V0X3ByaXZpbGVnZWRfcG9ydHMpOiBSZW5hbWVkIHdpdGggX18uCglVc2UgX18gbmFtZXMgZm9yIGNhbGxzIHdlIG1ha2UuCgkoZ2V0X3ByaXZpbGVnZWRfcG9ydHMpOiBBZGQgYWxpYXMuCgkqIGh1cmQvaHVyZC5oOiBEZWNsYXJlIGl0IHdpdGggdGhlIF9fIG5hbWUuCgkqIHN5c2RlcHMvbWFjaC9odXJkL3JlYm9vdC5jIChyZWJvb3QpOiBVc2UgX19nZXRfcHJpdmlsZWdlZF9wb3J0cy4KCSogc3lzZGVwcy9tYWNoL2h1cmQvYWRqdGltZS5jIChfX2FkanRpbWUpOiBMaWtld2lzZS4KCSogc3lzZGVwcy9tYWNoL2h1cmQvc2V0dGltZW9mZGF5LmMgKF9fc2V0dGltZW9mZGF5KTogTGlrZXdpc2UuCgoJKiBodXJkL2h1cmRzaWcuYyAod3JpdGVfY29yZWZpbGUpOiBDaGVjayBSTElNSVRfQ09SRSBsaW1pdCBhbmQgZG8KCW5vdGhpbmcgaWYgaXQncyB6ZXJvLgoKMjAwMS0wNC0xOSAgTWF0dGhldyBXaWxjb3ggIDx3aWxseUBsZGwuZmMuaHAuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaHBwYS9zeXNkZXAuaCAoSU5MSU5FX1NZU0NBTEwpOgoJQ2hhbmdlIHRvIHJldHVybiBhIHNpZ25lZCByZXN1bHQgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBvdGhlcgoJYXJjaGl0ZWN0dXJlcywgYW5kIGNvcnJlY3RuZXNzLgoKMjAwMS0wNC0xOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9rZXJuZWwtZmVhdHVyZXMuaCAoX19BU1NVTUVfMzJCSVRVSURTKToKCUhQUEEgYWx3YXlzIGhhZCB0aGVtLiAgUGF0Y2ggYnkgTWF0dGhldyBXaWxjb3ggPG1hdHRoZXdAd2lsLmN4Pi4KCjIwMDEtMDQtMTkgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGNvbmZpZ3VyZS5pbjogUmVxdWlyZSBnZXR0ZXh0IDAuMTAuMzYgb3IgbmV3ZXIuCgoJKiBtYW51YWwvaW5zdGFsbC50ZXhpIChUb29scyBmb3IgQ29tcGlsYXRpb24pOiBNZW50aW9uIGdldHRleHQgMC4xMC4zNi4KCgkqIHBvL3poX1RXLnBvOiBSZW1vdmUgZXh0cmFuZW91cyBiYWNrc2xhc2hlcy4KCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvZV9zcXJ0LmMgKF9faWVlZTc1NF9zcXJ0KTogUmVtb3ZlIHVudXNlZAoJdmFyaWFibGVzIGIgYW5kIG4uCgoyMDAxLTA0LTE4ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9mcHUvbGlibS10ZXN0LXVscHM6IFVwZGF0ZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9tYWtlY29udGV4dC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9zd2FwY29udGV4dC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9zZXRjb250ZXh0LlMgKF9fc2V0Y29udGV4dCk6CglDb3B5IGZpcnN0IHdvcmQgb2YgdWNfc2lnbWFzayBpbnRvIF9fdWNfc2lnbWFzay4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9nZXRjb250ZXh0LlMgKF9fZ2V0Y29udGV4dCk6CglTYXZlIHVjX2xpbmsgYXJvdW5kIHRyYXAuICBDb3B5IF9fdWNfc2lnbWFzayBpbnRvIGZpcnN0IHdvcmQgb2YKCXVjX3NpZ21hc2ssIGNsZWFyIHRoZSByZXN0LiAgTWFrZSBzdXJlIHNldGNvbnRleHQgdG8gdGhlIGNyZWF0ZWQKCWNvbnRleHQgZG9lc24ndCBkbyB0aGlzIHRob3VnaC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC91Y29udGV4dF9pLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zeXMvdWNvbnRleHQuaCAodWNvbnRleHRfdCk6IEFkZAoJdWNfc3RhY2sgYW5kIHVjX3NpZ21hc2ssIHJlbmFtZSBvbGQgdWNfc2lnbWFzayB0byBfX3VjX3NpZ21hc2sgaW4gdGhlCgk2NGJpdCB2ZXJzaW9uLCBtYWtlIHVjX3NpZ21hc2sgX19zaWdzZXRfdCBpbiB0aGUgMzJiaXQgdmVyc2lvbi4KCjIwMDEtMDQtMTkgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2hwcGEvdW1vdW50LmM6IEZpeCB0eXBvcyBpbiBsYXN0IHBhdGNoLgoKCSogcnQvTWFrZWZpbGUgKG90aGVybGlicyk6IEFkZGVkIGZvciBzdGF0aWMgTlNTLgoKCSogZ2xpYmNidWcuaW4gKEJVR0dMSUJDKTogU2VuZCB0byBuZXcgYWxpYXMuCgoyMDAxLTA0LTAyICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogTWFrZXJ1bGVzIChidWlsZC1tb2R1bGUpOiBNYWtlIHN1cmUgZXhpdCBjb2RlcyBnZXQgY2hlY2tlZAoJcHJvcGVybHkgYW5kIHJlbW92ZSB1bm5lY2Vzc2FyeSBzbGFzaGVzLgoKMjAwMS0wNC0xNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2dldF9jbG9ja2ZyZXEuYyAoX19nZXRfY2xvY2tmcmVxKToKCUhhbmRsZSBrZXJuZWxzIHdoaWNoIHJlcG9ydCBvbmx5IHRocmVlIGRpZ2l0cyBhZnRlciB0aGUgZGVjaW1hbCBwb2ludC4KCVJlcG9ydGVkIGJ5IFZhbiBPa2FtdXJhIDx2YW4ub2thbXVyYUBvcmFjbGUuY29tPi4KCgkqIHN5c2RlcHMvYWxwaGEvZnB1L2xpYm0tdGVzdC11bHBzOiBBZGp1c3QgZXJyb3IgdmFsdWVzIGZvciBhdGFuMmYuCgoyMDAxLTA0LTE3ICBEYXZpZCBTLiBNaWxsZXIgIDxkYXZlbUByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9zcGFyYy9zcGFyYzMyL2ZwdS9saWJtLXRlc3QtdWxwczogVXBkYXRlIGZvciBuZXcgYXRhbjIgdGVzdHMuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9mcHUvbGlibS10ZXN0LXVscHM6IExpa2V3aXNlLgoKMjAwMS0wNC0xNyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2llZWU3NTQvbGRibC0xMjgvZV9sb2dsLmMgKF9faWVlZTc1NF9sb2dsKTogTWFrZSBzdXJlCglkZXNpcmVkIGV4Y2VwdGlvbnMgYXJlIHJhaXNlZCBmb3IgZXhjZXB0aW9uYWwgdmFsdWVzLgoJKiBtYXRoL2xpYm0tdGVzdC5pbmMgKGFjb3NoX3Rlc3QsIGF0YW5fdGVzdCwgYXRhbjJfdGVzdCwgY2Fjb3NfdGVzdCwKCWNhY29zaF90ZXN0LCBjYXNpbl90ZXN0LCBjYXNpbmhfdGVzdCwgY2F0YW5fdGVzdCwgY2F0YW5oX3Rlc3QsCgljbG9nX3Rlc3QsIGxvZ190ZXN0LCBsb2cxcF90ZXN0LCB0YW5fdGVzdCk6IEluY3JlYXNlIHByZWNpc2lvbiBvZgoJZXhwZWN0ZWQgdmFsdWVzIHRvIHNhdGlzZnkgbGRibC0xMjguCgkqIHN5c2RlcHMvYWxwaGEvZnB1L2xpYm0tdGVzdC11bHBzOiBBZGp1c3QgYWNjb3JkaW5nbHkuCgkqIHN5c2RlcHMvYXJtL2xpYm0tdGVzdC11bHBzOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2ZwdS9saWJtLXRlc3QtdWxwczogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaWE2NC9mcHUvbGlibS10ZXN0LXVscHM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL202OGsvZnB1L2xpYm0tdGVzdC11bHBzOiBMaWtld2lzZS4KCSogc3lzZGVwcy9taXBzL2ZwdS9saWJtLXRlc3QtdWxwczogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG93ZXJwYy9mcHUvbGlibS10ZXN0LXVscHM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3MzOTAvZnB1L2xpYm0tdGVzdC11bHBzOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zaC9zaDQvZnB1L2xpYm0tdGVzdC11bHBzOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzMyL2ZwdS9saWJtLXRlc3QtdWxwczogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9mcHUvbGlibS10ZXN0LXVscHM6IExpa2V3aXNlLgoKMjAwMS0wNC0xNyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogY29uZmlndXJlLmluOiBNb3ZlIHRlc3QgZm9yIGNyaXRpY2FsIHByb2dyYW1zIHVwLgoKMjAwMS0wNC0xNiAgU3RlcGhlbiBMIE1vc2hpZXIgIDxtb3NoaWVyQG1lZGlhb25lLm5ldD4KCgkqIHN5c2RlcHMvaWVlZTc1NC9mbHQtMzIvZV9hc2luZi5jIChwaW8yX2hpLCBwaW8yX2xvLCBwaW80X2hpKToKCUNvcnJlY3QgdGhlIHZhbHVlcy4KCShwU3gsIHFTeCk6IFJlcGxhY2UgYnkgc2hvcnRlciBhcHByb3hpbWF0aW9uLgoJVXNlIGYgc3VmZml4IG9uIGZsb2F0IGNvbnN0YW50cy4KCjIwMDEtMDQtMTYgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9pZWVlNzU0L2xkYmwtMTI4L2tfdGFubC5jOiBOZXcgZmlsZS4KCUNvbnRyaWJ1dGVkIGJ5IFN0ZXBoZW4gTCBNb3NoaWVyIDxtb3NoaWVyQG1lZGlhb25lLm5ldD4uCgoJKiBzdHJpbmcvc3RyaW5nLmg6IFJlcGxhY2UgY29uc3QgaW4gYXR0cmlidXRlIGxpc3Qgd2l0aCBfX2NvbnN0X18uCgoyMDAxLTA0LTE2ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEBmcm9iLmNvbT4KCgkqIGdycC9pbml0Z3JvdXBzLmMgKGluaXRncm91cHMpIFtOR1JPVVBTX01BWCAhPSAwXTogQWx3YXlzIHVzZSBzeXNjb25mCglpbnN0ZWFkIG9mIHRoZSBjb25zdGFudCBOR1JPVVBTX01BWC4gIFRoYXQgd2F5LCB0aGUgbGltaXQgY2FuIGJlCglyYWlzZWQgaW4gdGhlIGtlcm5lbCBjb25maWd1cmF0aW9uIHdpdGhvdXQgaGF2aW5nIHRvIHJlY29tcGlsZSBsaWJjLgoKCSogc3lzZGVwcy9wb3NpeC9ldWlkYWNjZXNzLmM6IERvbid0ICNpbmNsdWRlIDxsaW1pdHMuaD4gb3IgdHJ5IHRvCglkZWZpbmUgTkdST1VQU19NQVg7IHdlIGRvbid0IHVzZSBpdCBoZXJlLgoKMjAwMS0wNC0xNiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogbWF0aC9saWJtLXRlc3QuaW5jIChhdGFuMl90ZXN0KTogQWRkIG1vcmUgdGVzdGNhc2VzLgoKCSogaWNvbnYvZ2NvbnZfZGIuYzogSW5jbHVkZSBnY29udl9jaGFyc2V0LmggZm9yCglfX2djb252X2xvb2t1cF9hbGlhcyBwcm90b3R5cGUuCgoyMDAxLTA0LTEzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvaWVlZTc1NC9sZGJsLTEyOC9zX2F0YW5sLmM6IE5ldyBmaWxlLgoJQ29udHJpYnV0ZWQgYnkgU3RlcGhlbiBMIE1vc2hpZXIgPG1vc2hpZXJAbWVkaWFvbmUubmV0Pi4KCjIwMDEtMDQtMTMgIEplcyBTb3JlbnNlbiAgPGplc0BsaW51eGNhcmUuY29tPgoKCSogaW50bC90c3QtY29kZXNldC5jOiBJbmNsdWRlIHN0cmluZy5oIHRvIGdldCBwcm90b3R5cGUgZm9yIHN0cmNtcCgpLgoKMjAwMS0wNC0xMyAgSmVzIFNvcmVuc2VuICA8amVzQGxpbnV4Y2FyZS5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2JpdHMvc2lnaW5mby5oOiBBZGQgX19wYWQwIHRvCglleHBsaWNpdGx5IHBhZCBzdHJ1Y3Qgc2lnaW5mbyBpbnN0ZWFkIG9mIHJlbHlpbmcgb24gY29tcGlsZXIgcGFkZGluZy4KCjIwMDEtMDQtMTIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9pYTY0L0Rpc3Q6IEFkZCBlbGYvZW50cnkuaC4KCgkqIGljb252ZGF0YS9NYWtlZmlsZSAoZGlzdHJpYnV0ZSk6IEFkZCBURVNUUzIuCgoyMDAxLTA0LTEzICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX2xvYWRfYWRkcmVzcyk6CglDYWxjdWxhdGUgbG9hZCBhZGRyZXNzIGRpZmZlcmVudGx5LgoKMjAwMS0wNC0xMiAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaWNvbnZkYXRhL1RFU1RTMjogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9ydW4taWNvbnYtdGVzdC5zaDogQWxzbyBydW4gdGVzdHMgZnJvbSBURVNUUzIuCgkqIGljb252ZGF0YS90ZXN0ZGF0YS9hbGZhYmV0YS4uVVRGLTg6IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvdGVzdGRhdGEvYWxmYWJldGEuLlVURi0xNi5CRTogTmV3IGZpbGUuCgkqIGljb252ZGF0YS90ZXN0ZGF0YS9hbGZhYmV0YS4uVVRGLTE2LkxFOiBOZXcgZmlsZS4KCSogaWNvbnZkYXRhL3Rlc3RkYXRhL2FsZmFiZXRhLi5VVEYtMzIuQkU6IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvdGVzdGRhdGEvYWxmYWJldGEuLlVURi0zMi5MRTogTmV3IGZpbGUuCgoyMDAxLTA0LTExICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpY29udmRhdGEvdXRmLTMyLmM6IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvZ2NvbnYtbW9kdWxlczogQWRkIGVudHJpZXMgZm9yIFVURi0zMiwgVVRGLTMyTEUsIFVURi0zMkJFLgoJKiBpY29udmRhdGEvTWFrZWZpbGUgKG1vZHVsZXMpOiBBZGQgVVRGLTMyLgoJKGRpc3RyaWJ1dGUpOiBBZGQgdXRmLTMyLmMuCgoyMDAxLTA0LTExICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpY29udmRhdGEvdXRmLTE2LmMgKFBSRVBBUkVfTE9PUCk6IEluaXRpYWxpemUgJ3N3YXAnIGFmdGVyIHBvc3NpYmx5CgljaGFuZ2luZyBpdCBpbiB0aGUgc3RhdGUuICBBZnRlciBpbmNyZW1lbnRpbmcgJ2lucHRyJywgc3RvcmUgaXQgYmFjay4KCSogaWNvbnZkYXRhL3VuaWNvZGUuYyAoUFJFUEFSRV9MT09QKTogQWZ0ZXIgaW5jcmVtZW50aW5nICdpbnB0cicsCglzdG9yZSBpdCBiYWNrLgoKMjAwMS0wNC0xMSAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaWNvbnZkYXRhL3V0Zi0xNi5jIChnY29udl9pbml0KTogVXNlIE1BWF9ORUVERURfRlJPTSwgbm90CglNSU5fTkVFREVEX0ZST00uCgoyMDAxLTA0LTExICBEYXZpZCBNb3NiZXJnZXIgIDxkYXZpZG1AaHBsLmhwLmNvbT4KCgkqIHN5c2RlcHMvaWE2NC9odG9ubC5TOiBEcm9wIHN1cGVyZmx1b3VzICJhbGxvYyIuCgkqIHN5c2RlcHMvaWE2NC9odG9ucy5TOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvaWE2NC9tZW1zZXQuUzogQWRkIHVud2luZCBkaXJlY3RpdmVzLgoJKiBzeXNkZXBzL2lhNjQvc3RybmNweS5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pYTY0L3N0cmNhdC5TOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvaWE2NC9tZW1jY3B5LlM6IEFkZCB1bndpbmQgZGlyZWN0aXZlcy4gIERyb3Agc3VwZXJmbHVvdXMKCXJlc3RvcmUgb2YgYXIucGZzLgoJKiBzeXNkZXBzL2lhNjQvc3RyY2hyLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2lhNjQvbWVtbW92ZS5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pYTY0L21lbWNweS5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pYTY0L21lbWNtcC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pYTY0L21lbWNoci5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pYTY0L3N0cmNtcC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pYTY0L3N0cmxlbi5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pYTY0L3N0cmNweS5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pYTY0L3N0cm5jbXAuUzogTGlrZXdpc2UuCgoyMDAxLTA0LTExICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHdjc21icy93Y2hhci5oIChmZ2V0d2MsIGdldHdjLCBnZXR3Y2hhciwgZnB1dHdjLCBwdXR3YywgcHV0d2NoYXIsCglmZ2V0d3MsIGZwdXR3cywgdW5nZXR3YywgZ2V0d2NfdW5sb2NrZWQsIGdldHdjaGFyX3VubG9ja2VkLAoJZmdldHdjX3VubG9ja2VkLCBmcHV0d2NfdW5sb2NrZWQsIHB1dHdjX3VubG9ja2VkLCBwdXR3Y2hhcl91bmxvY2tlZCwKCWZnZXR3c191bmxvY2tlZCwgZnB1dHdzX3VubG9ja2VkLCB3Y3NmdGltZSk6IEFkZCBfX1RIUk9XLgoKMjAwMS0wNC0xMSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy9taXBzL2VsZi9zdGFydC5TIFtfX0FTU0VNQkxZX19dOiBEZWZpbmUgaXQuCgoyMDAxLTA0LTExICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogc3lzZGVwcy9tNjhrL2ZwdS9saWJtLXRlc3QtdWxwczogQWRqdXN0ZWQuCgoyMDAxLTA0LTExICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvYXJtL3N0YWNraW5mby5oOiBOZXcgZmlsZS4KCjIwMDEtMDQtMDggIFRob3JzdGVuIEt1a3VrICA8a3VrdWtAc3VzZS5kZT4KCgkqIHN1bnJwYy9ycGNfbWFpbi5jOiBJZiB3ZSBjb21waWxlIFJQQyB0aHJlYWQgc2FmZSwgYWxsb3cKCXJwY2dlbiB0byBnZW5lcmF0ZSB0aHJlYWQgc2FmZSBjb2RlLgoKMjAwMS0wNC0xMCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogbWF0aC90ZXN0LWZlbnYuYyAoaW5pdGlhbF90ZXN0cyk6IFByb3RlY3QgRkVfVE9ORUFSRVNUIGRlY2xhcmF0aW9uLgoKMjAwMS0wNC0xMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvZGwtbWluaW1hbC5jIChfX2Fzc2VydF9mYWlsKTogQ2hhbmdlIGVycm9yIHN0cmluZy4gIEl0J3MKCW1vc3Qgb2YgdGhlIHRpbWUgbm8gYnVnIGluIGxkLnNvLgoJKF9fYXNzZXJ0X3BlcnJvcl9mYWlsKTogTGlrZXdpc2UuCgoyMDAxLTA0LTExICBIYW5zLVBldGVyIE5pbHNzb24gIDxocEBheGlzLmNvbT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9iaXRzL2ZlbnYuaCAoZmV4Y2VwdF90KTogQ2hhbmdlIGRlZmF1bHQgdHlwZQoJZnJvbSBzdHJ1Y3QgdG8gdW5zaWduZWQgaW50LgoKMjAwMS0wNC0xMCAgRnJhbnogU2lybCAgPEZyYW56LlNpcmwta2VybmVsQGxhdXRlcmJhY2guY29tPgoKCSogZWxmL2VsZi5oIChBVF9EQ0FDSEVCU0laRSwgQVRfSUNBQ0hFQlNJWkUsIEFUX1VDQUNIRUJTSVpFLAoJQVRfSUdOT1JFUFBDKTogTmV3IGRlZmluZXMuCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC1zeXNkZXAuYyAoX2RsX3Nob3dfYXV4dik6IFByaW50IHRoZW0uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2tlcm5lbC1mZWF0dXJlcy5oIChfX0FTU1VNRV9TVERfQVVYVik6CglEZWZpbmUgZm9yIG5ld2VyIHBvd2VycGMga2VybmVscy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9kbC1zeXNkZXAuYzogVXNlIHRoZSBzdGFuZGFyZAoJRExfRklORF9BUkdfQ09NUE9ORU5UUyBpZiBfX0FTU1VNRV9TVERfQVVYViBpcyBkZWZpbmVkLgoKMjAwMC00LTEwICBrYXogS29qaW1hICA8a2tvamltYUByci5paWo0dS5vci5qcD4KCgkqIHN5c2RlcHMvc2gvc3RhY2tpbmZvLmg6IE5ldyBmaWxlLgoKMjAwMS0wNC0xMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsb2NhbGUvdHN0LUMtbG9jYWxlLmMgKHJ1bl90ZXN0KTogQWRkIHRlc3RzIGZvciBsb2NhbGUgb2JqZWN0cy4KCSogbG9jYWxlL25ld2xvY2FsZS5jIChfX25ld2xvY2FsZSk6IENvcnJlY3Qgc2V0dGluZyBfX2N0eXBlX2IsCglfX2N0eXBlX3RvbG93ZXIsIGFuZCBfX2N0eXBlX3RvdXBwZXIgZWxlbWVudHMuCgoJKiBjdHlwZS9jdHlwZV9sLmM6IEZpeCBkZWZpbml0aW9ucyBvZiBfX3RvbG93ZXJfbCBhbmQgX190b3VwcGVyX2wuCglSZXBvcnRlZCBieSBLb25zdGFudGluIE9zaXBvdiA8cmFiaWRAc3B5bG9nLnJ1Pi4KCgkqIHN5c2RlcHMvaTM4Ni9mcHUvbGlibS10ZXN0LXVscHM6IEFkZCBkZWx0YXMgZm9yIHRnYW1tYSB0byBoZWxwCgl0aGUgbG91c3kgQU1EIEZQVS4KCjIwMDEtMDQtMTAgIEZyYW56IFNpcmwgIDxGcmFuei5TaXJsLWtlcm5lbEBsYXV0ZXJiYWNoLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvc3lzL3B0cmFjZS5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9EaXN0OiBBZGQgc3lzL3B0cmFjZS5oLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3N5cy91Y29udGV4dC5oOiBEZWxldGUgd3Jvbmcgc3R1ZmYuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvc3lzL3Byb2Nmcy5oOiBDb3JyZWN0IHR5cGVkZWZzLgoKMjAwMS0wNC0xMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvZGwtZGVwcy5jIChfZGxfbWFwX29iamVjdF9kZXBzKTogUHJvdmlkZSBjb21wbGV0ZSBlcnJvcgoJbWVzc2FnZS4gIEJhc2VkIG9uIGEgcGF0Y2ggYnkgSEogTHUuCgoyMDAxLTA0LTEwICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogbWF0aC9saWJtLXRlc3QuaW5jIChjc2luaF90ZXN0KTogRG9uJ3QgcmVxdWlyZSB0aGUgaW52YWxpZAoJZXhjZXB0aW9uIGZvciBjc2luaCAoeCArIGlOYU4pLCBidXQgbWFrZSBpdCBvcHRpb25hbC4KCjIwMDEtMDQtMDkgIERhdmlkIE1vc2JlcmdlciAgPGRhdmlkbUBocGwuaHAuY29tPgoKCSogc3lzZGVwcy9pYTY0L2VsZi9zdGFydC5TIChfc3RhcnQpOiBBZGQgdW53aW5kIGRpcmVjdGl2ZXMuCgoJKiBzeXNkZXBzL2dlbmVyaWMvZW50cnkuaCBbIV9fQVNTRU1CTFlfX106IERlY2xhcmUgX3N0YXJ0LgoJKiBzeXNkZXBzL2lhNjQvZWxmL2VudHJ5Lmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL2VudHJ5LmggWyFfX0FTU0VNQkxZX19dOiBEZWNsYXJlCglfX3N0YXJ0LgoJKiBlbGYvcnRsZC5jOiBEb24ndCBkZWNsYXJlIEVOVFJZX1BPSU5ULiAgVXNlIEVOVFJZX1BPSU5UIGluc3RlYWQKCW9mICZFTlRSWV9QT0lOVC4KCSogc3lzZGVwcy9nZW5lcmljL2RsLXN5c2RlcC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9tYWNoL2h1cmQvZGwtc3lzZGVwLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2lhNjQvZWxmL3N0YXJ0LlM6IFNhdmUgYmFzZSBhZGRyZXNzIG9mIHJlZ2lzdGVyIGJhY2tpbmcKCXN0b3JlIGluIF9fbGliY19pYTY0X3JlZ2lzdGVyX2JhY2tpbmdfc3RvcmVfYmFzZS4KCjIwMDEtMDQtMTAgIE1hcnRpbiBTY2h3aWRlZnNreSAgPHNjaHdpZGVmc2t5QGRlLmlibS5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtMzIvZ2V0Y29udGV4dC5TOiBGaXggcmV0dXJuCgl2YWx1ZSBvZiBnZXRjb250ZXh0LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvZ2V0Y29udGV4dC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTMyL3NldGNvbnRleHQuUzogRml4IHJldHVybgoJdmFsdWUgb2Ygc2V0Y29udGV4dC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L3NldGNvbnRleHQuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvc3dhcGNvbnRleHQuYzogU2tpcCBzZXRjb250ZXh0CgljYWxsIGJ5IGNoYW5naW5nIHRoZSBzYXZlZCBjb250ZXh0LgoKMjAwMS0wNC0xMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2FscGhhL3N0YWNraW5mby5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L3N0YWNraW5mby5oOiBOZXcgZmlsZS4KCjIwMDEtMDQtMTAgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBzeXNkZXBzL202OGsvZnB1L2VfcG93LmM6IENvcnJlY3QgaGFuZGxpbmcgb2Ygc29tZSBleGNlcHRpb25hbAoJdmFsdWVzLgoJKiBzeXNkZXBzL202OGsvZnB1L2Vfc2NhbGIuYzogTGlrZXdpc2UuCgoyMDAxLTA0LTA5ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9zcGFyY3Y5L0Rpc3Q6IEFkZCBocC10aW1pbmcuYy4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L0Rpc3Q6IEFkZCBocC10aW1pbmcuYy4KCgkqIGxpYmlvL01ha2VmaWxlIChkaXN0cmlidXRlKTogQWRkIGZkX3RvX2ZpbGVuYW1lLmguCgoyMDAxLTA0LTA1ICBEYXZpZCBTLiBNaWxsZXIgIDxkYXZlbUByZWRoYXQuY29tPgoKCUFkZCBocC10aW1pbmcgc3VwcG9ydCBmb3Igc3BhcmN2OS9zcGFyYzY0IHRhcmdldHMuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9zcGFyY3Y5L2hwLXRpbWluZy5jOiBOZXcgZmlsZQoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvc3BhcmN2OS9ocC10aW1pbmcuaDogTmV3IGZpbGUKCSogc3lzZGVwcy9zcGFyYy9zcGFyYzY0L2hwLXRpbWluZy5jOiBOZXcgZmlsZQoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvaHAtdGltaW5nLmg6IE5ldyBmaWxlCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9zcGFyY3Y5L01ha2VmaWxlOiBCdWlsZCBocC10aW1pbmcuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9NYWtlZmlsZTogTGlrZXdpc2UuCgoyMDAxLTA0LTA5ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9mZF90b19maWxlbmFtZS5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZmRfdG9fZmlsZW5hbWUuaDogTmV3IGZpbGUuCgkqIGxpYmlvL2ZyZW9wZW4uYyAoZnJlb3Blbik6IElmIEZJTEVOQU1FIGlzIE5VTEwsIHRyeSB0byBnZXQKCWZpbGVuYW1lIGZyb20gdGhlIG9wZW4gZmlsZSBkZXNjcmlwdG9yLgoJKiBsaWJpby9mcmVvcGVuNjQuYyAoZnJlb3BlbjY0KTogTGlrZXdpc2UuCgoyMDAxLTA0LTA5ICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBtaXNjL2Vycm9yLmMgKGVycm9yKTogZmZsdXNoIHN0ZG91dCBhbHNvIGlmCgllcnJvcl9wcmludF9wcm9nbmFtZSAhPSBOVUxMLgoJKGVycm9yX2F0X2xpbmUpOiBMaWtld2lzZS4KCjIwMDEtMDQtMDcgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGludGwvZ2V0dGV4dFAuaCAoc3RydWN0IGxvYWRlZF9kb21haW4pOiBBZGQgY29kZXNldF9jbnRyIGZpZWxkLgoJKHN0cnVjdCBiaW5kaW5nKTogQWRkIGNvZGVzZXRfY250ciBmaWVsZC4KCShfbmxfbG9hZF9kb21haW4pOiBBZGQgZG9tYWluYmluZGluZyBhcmd1bWVudC4KCShfbmxfaW5pdF9kb21haW5fY29udiwgX25sX2ZyZWVfZG9tYWluX2NvbnYpOiBOZXcgZGVjbGFyYXRpb25zLgoJKF9ubF9maW5kX21zZyk6IE5ldyBkZWNsYXJhdGlvbiwgbW92ZWQgaGVyZSBmcm9tIGxvYWRpbmZvLmguCgkqIGludGwvbG9hZGluZm8uaCAoc3RydWN0IGxvYWRlZF9sMTBuZmlsZSk6IFJlbW92ZSBkb21haW5iaW5kaW5nIGZpZWxkLgoJKF9ubF9tYWtlX2wxMG5mbGlzdCk6IFJlbW92ZSBkb21haW5iaW5kaW5nIGFyZ3VtZW50LgoJKF9ubF9maW5kX21zZyk6IE1vdmUgZGVjbGFyYXRpb24gdG8gZ2V0dGV4dFAuaC4KCSogaW50bC9iaW5kdGV4dGRvbS5jIChzZXRfYmluZGluZ192YWx1ZXMpOiBJbml0aWFsaXplIC0+Y29kZXNldF9jbnRyCgl0byAwLiAgSW5jcmVtZW50IGl0IHdoZW4gLT5jb2Rlc2V0IGlzIGNoYW5nZWQuCgkqIGludGwvZGNpZ2V0dGV4dC5jIChEQ0lHRVRURVhUKTogUGFzcyBiaW5kaW5nIHRvIF9ubF9maW5kX21zZy4KCShfbmxfZmluZF9tc2cpOiBBZGQgZG9tYWluYmluZGluZyBhcmd1bWVudC4gIFJlaW5pdGlhbGl6ZSB0aGUgY29udmVydGVyCglpZiBkb21haW5iaW5kaW5nLT5jb2Rlc2V0X2NudHIgaGFzIGJlZW4gaW5jcmVtZW50ZWQuCgkqIGludGwvZmluZGRvbWFpbi5jIChfbmxfZmluZF9kb21haW4pOiBEb24ndCBwYXNzIGRvbWFpbmJpbmRpbmcgdG8KCV9ubF9tYWtlX2wxMG5mbGlzdCgpLiAgUGFzcyBpdCB0byBfbmxfbG9hZF9kb21haW4oKSBpbnN0ZWFkLgoJKiBpbnRsL2wxMG5mbGlzdC5jIChfbmxfbWFrZV9sMTBuZmxpc3QpOiBSZW1vdmUgZG9tYWluYmluZGluZyBhcmd1bWVudC4KCSogaW50bC9sb2FkbXNnY2F0LmMgKF9ubF9pbml0X2RvbWFpbl9jb252KTogTmV3IGZ1bmN0aW9uLCBleHRyYWN0ZWQKCSBmcm9tIF9ubF9sb2FkX2RvbWFpbi4gIEFwcGVuZCAvL1RSQU5TTElUIGFsc28gd2hlbiB1c2luZyBsaWJpY29udi4KCShfbmxfZnJlZV9kb21haW5fY29udik6IE5ldyBmdW5jdGlvbiwgZXh0cmFjdGVkIGZyb20gX25sX3VubG9hZF9kb21haW4uCgkoX25sX2xvYWRfZG9tYWluKTogQWRkIGRvbWFpbmJpbmRpbmcgYXJndW1lbnQuICBDYWxsCglfbmxfaW5pdF9kb21haW5fY29udi4KCShfbmxfdW5sb2FkX2RvbWFpbik6IENhbGwgX25sX2ZyZWVfZG9tYWluX2NvbnYuCgkqIGludGwvTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgdHN0LWNvZGVzZXQuc2gsIHRzdGNvZGVzZXQucG8uCgkodGVzdC1zcmNzKTogQWRkIHRzdC1jb2Rlc2V0LgoJKHRlc3RzKTogRGVwZW5kIG9uIHRzdC1jb2Rlc2V0Lm91dC4KCSh0c3QtY29kZXNldC5vdXQpOiBOZXcgcnVsZS4KCShDRkxBR1MtdHN0LWNvZGVzZXQuYyk6IE5ldyB2YXJpYWJsZS4KCSogaW50bC90c3QtY29kZXNldC5zaDogTmV3IGZpbGUuCgkqIGludGwvdHN0Y29kZXNldC5wbzogTmV3IGZpbGUuCgkqIGludGwvdHN0LWNvZGVzZXQuYzogTmV3IGZpbGUuCgkqIGxvY2FsZS9maW5kbG9jYWxlLmMgKF9ubF9maW5kX2xvY2FsZSk6IFVwZGF0ZSBfbmxfbWFrZV9sMTBuZmxpc3QKCWNhbGxzLgoKMjAwMS0wNC0wNyAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAZnJvYi5jb20+CgoJKiBtYWNoL21zZ3NlcnZlci5jIChfX21hY2hfbXNnX3NlcnZlcl90aW1lb3V0KTogQWRkIGFuIGFzc2VydC4KCjIwMDEtMDMtMzEgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQGZyb2IuY29tPgoKCSogc3lzZGVwcy9tYWNoL2h1cmQvZm9yay5jOiBTa2lwIE5FV1BST0MganVzdCBsaWtlIE5FV1RBU0sgd2hlbgoJY29weWluZyBzZW5kIHJpZ2h0cyBpbnRvIGNoaWxkLiAgV2hlbiB3ZSBoaXQgb3VyIG5hbWUgZm9yIG91ciBwcm9jCglwb3J0LCBqdXN0IGNvcHkgTkVXUFJPQyBkaXJlY3RseSBpbnN0ZWFkIG9mIHJlcGVhdGluZyBwcm9jX3Rhc2sycHJvYwoJdG8gaW5zdGFsbCB0aGUgY2hpbGQncyBwb3J0LgoKMjAwMS0wNC0wOCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAZnJvYi5jb20+CgoJKiBNYWtlY29uZmlnICgkKGNvbW1vbi1vYmpwZngpc292ZXJzaW9ucy5pKTogR3JvayBlbnRyaWVzIHdpdGggREVGQVVMVAoJaW4gc2Vjb25kIGNvbHVtbiwgdG8gcHJvdmlkZSBkZWZhdWx0IHZhbHVlcyBmb3IgdGhpcmQgY29sdW1uLgoJKiBzaGxpYi12ZXJzaW9uczogQWRkIGNvbW1lbnRzIGFib3V0IHVzaW5nIERFRkFVTFQgaW4gc2Vjb25kIGNvbHVtbi4KCShzMzkweC0uKi1saW51eC4qKTogUmVwbGFjZSBpbmRpdmlkdWFsIGVudHJpZXMgd2l0aCBhIERFRkFVTFQgZW50cnkuCgkoY3Jpcy0uKi1saW51eC4qKTogTGlrZXdpc2UuCgoyMDAxLTA0LTA5ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIE1ha2VmaWxlIChkaXN0cmlidXRlKTogQWRkIHNjcmlwdHMvZG9jdW1lbnRlZC5zaC4KCSogc2NyaXB0cy9kb2N1bWVudGVkLnNoOiBOZXcgZmlsZS4KCjIwMDEtMDQtMDggIEhhbnMtUGV0ZXIgTmlsc3NvbiAgPGhwQGF4aXMuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvY3Jpcy9EaXN0OiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvY3Jpcy9NYWtlZmlsZTogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2NyaXMvX0dfY29uZmlnLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9jcmlzL2JpdHMvZmNudGwuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2NyaXMvYml0cy9tbWFuLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9jcmlzL2JpdHMvcmVzb3VyY2UuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2NyaXMvYnJrLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9jcmlzL2Nob3duLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9jcmlzL2Nsb25lLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9jcmlzL2ZjaG93bi5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvY3Jpcy9mY250bC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvY3Jpcy9meHN0YXQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2NyaXMvZ2V0ZWdpZC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvY3Jpcy9nZXRldWlkLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9jcmlzL2dldGdpZC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvY3Jpcy9nZXRncm91cHMuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2NyaXMvZ2V0cmVzZ2lkLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9jcmlzL2dldHJlc3VpZC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvY3Jpcy9nZXRybGltaXQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2NyaXMvZ2V0cmxpbWl0NjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2NyaXMvZ2V0dWlkLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9jcmlzL2xjaG93bi5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvY3Jpcy9sb2NrZjY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9jcmlzL2x4c3RhdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvY3Jpcy9tbWFwLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9jcmlzL21tYXA2NC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvY3Jpcy9tc2djdGwuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2NyaXMvcHJvZmlsLWNvdW50ZXIuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2NyaXMvcmVnaXN0ZXItZHVtcC5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvY3Jpcy9zZW1jdGwuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2NyaXMvc2V0ZWdpZC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvY3Jpcy9zZXRldWlkLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9jcmlzL3NldGZzZ2lkLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9jcmlzL3NldGZzdWlkLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9jcmlzL3NldGdpZC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvY3Jpcy9zZXRncm91cHMuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2NyaXMvc2V0cmVnaWQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2NyaXMvc2V0cmVzZ2lkLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9jcmlzL3NldHJlc3VpZC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvY3Jpcy9zZXRyZXVpZC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvY3Jpcy9zZXRybGltaXQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2NyaXMvc2V0dWlkLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9jcmlzL3NobWN0bC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvY3Jpcy9zb2NrZXQuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2NyaXMvc3lzL3Vjb250ZXh0Lmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9jcmlzL3N5c2NhbGwuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2NyaXMvc3lzZGVwLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9jcmlzL3N5c2RlcC5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvY3Jpcy92Zm9yay5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvY3Jpcy94c3RhdC5jOiBOZXcgZmlsZS4KCjIwMDEtMDQtMDggIEhhbnMtUGV0ZXIgTmlsc3NvbiAgPGhwQGF4aXMuY29tPgoKCSogc3lzZGVwcy9jcmlzL0Rpc3Q6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2NyaXMvSW1wbGllczogTmV3IGZpbGUuCgkqIHN5c2RlcHMvY3Jpcy9NYWtlZmlsZTogTmV3IGZpbGUuCgkqIHN5c2RlcHMvY3Jpcy9fX2xvbmdqbXAuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvY3Jpcy9fbWNvdW50LlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2NyaXMvYml0cy9lbmRpYW4uaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvY3Jpcy9iaXRzL3NldGptcC5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9jcmlzL2JpdHMvc3RyaW5nLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2NyaXMvZGwtbWFjaGluZS5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9jcmlzL2VsZi9zdGFydC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9jcmlzL21hY2hpbmUtZ21vbi5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9jcmlzL21lbWNvcHkuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvY3Jpcy9tZW11c2FnZS5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9jcmlzL3NldGptcC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9jcmlzL3N5c2RlcC5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9jcmlzL3dvcmRjb3B5LmM6IE5ldyBmaWxlLgoKMjAwMS0wNC0wOCAgSGFucy1QZXRlciBOaWxzc29uICA8aHBAYXhpcy5jb20+CgoJKiBlbGYvZWxmLmg6IEFkZCBuZXcgcmVsb2NhdGlvbnMgZm9yIENSSVMuCgoyMDAxLTA0LTA4ICBIYW5zLVBldGVyIE5pbHNzb24gIDxocEBheGlzLmNvbT4KCgkqIHNobGliLXZlcnNpb25zOiBBZGQgY2FzZXMgZm9yIExpbnV4IG9uIENSSVMuCgoyMDAxLTA0LTA4ICBIYW5zLVBldGVyIE5pbHNzb24gIDxocEBheGlzLmNvbT4KCgkqIGNvbmZpZ3VyZS5pbiAoQVNNX0xJTkVfU0VQIHRlc3RzKTogSGFuZGxlIENSSVMgYXNzZW1ibHksIHdpdGgKCSc7JyBmb3IgY29tbWVudHMgYW5kICdAJyBmb3IgbGluZSBzZXBhcmF0b3IuCgoyMDAxLTA0LTA4ICBIYW5zLVBldGVyIE5pbHNzb24gIDxocEBheGlzLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2hwcGEvc3lzZGVwLmggKElOTElORV9TWVNDQUxMKTogRml4Cgl0eXBvOyBzLz09Lz0vIGZvciBhc3NpZ25tZW50LgoKMjAwMS0wNC0wOCAgSGFucy1QZXRlciBOaWxzc29uICA8aHBAYXhpcy5jb20+CgoJKiBtYWxsb2MvTWFrZWZpbGU6IENvcnJlY3QgY29tbWVudDsgbXRyYWNlIGlzIFBlcmwsIG5vdCBBV0suCgoyMDAxLTA0LTA4ICBIYW5zLVBldGVyIE5pbHNzb24gIDxocEBheGlzLmNvbT4KCgkqIGljb252L2djb252X3NpbXBsZS5jIChpbnRlcm5hbF91Y3M0X2xvb3BfdW5hbGlnbmVkKTogQ2hlY2sgZm9yCgllbXB0eSBpbnB1dCBiZWZvcmUgY2hlY2tpbmcgZnVsbCBvdXRwdXQuCgoyMDAxLTA0LTA4ICBIYW5zLVBldGVyIE5pbHNzb24gIDxocEBheGlzLmNvbT4KCgkqIGljb252L2djb252LmMgKF9fZ2NvbnYpOiBEb24ndCBkZXJlZmVyIHBhcmFtZXRlciBjZCBiZWZvcmUKCWNoZWNraW5nIGlmID09IC0xTC4KCjIwMDEtMDQtMDggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaW5ldC9yZXhlYy5jIChyZXhlY19hZik6IEF2b2lkIGNhbGxpbmcgcGVycm9yIHdpdGggZXJybm8gYmVpbmcgc2V0LgoKMjAwMS0wNC0wNyAgU3RlcGhlbiBMIE1vc2hpZXIgIDxtb3NoaWVyQG1lZGlhb25lLm5ldD4KCgkqIHN5c2RlcHMvaWVlZTc1NC9sZGJsLTEyOC9lX2xvZ2wuYzogQ29ycmVjdCBpbmZpbml0eSBhbmQgTmFOCglyZXR1cm4gdmFsdWVzLgoKMjAwMS0wNC0wNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzdGRsaWIvdHN0LXNldGNvbnRleHQuYyAobWFpbik6IEFkZCBhIHRlc3QgZm9yIHNldGNvbnRleHQuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2dldGNvbnRleHQuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc2V0Y29udGV4dC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9tYWtlY29udGV4dC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zd2FwY29udGV4dC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni91Y29udGV4dF9pLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L0Rpc3Q6IEFkZCB1Y29udGV4dF9pLmguCgoyMDAxLTA0LTA3ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL2llZWU3NTQvbGRibC05Ni9lX2oxbC5jIChfX2llZWU3NTRfeTFsKTogVXNlIHNpbmNvcwoJaW5zdGVhZCBvZiBzZXBhcmF0ZSBzaW4gYW5kIGNvcy4KCShfX2llZWU3NTRfajFsKTogTGlrZXdpc2UuCgoyMDAxLTA0LTA2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvaWE2NC9hYm9ydC1pbnN0ci5oOiBOZXcgZmlsZS4gIENvZGUgYnkgRGF2aWQgTW9zYmVyZ2VyLgoKCSogc3lzZGVwcy9pYTY0L2F0b21pY2l0eS5oOiBOZXcgZmlsZS4gIENvcGllZCBmcm9tIGxpYnN0ZGMrKy4KCgkqIHN5c2RlcHMvaTM4Ni9pNDg2L2F0b21pY2l0eS5oOiBDbGVhbiB1cCB0aGUgYXNtcy4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9lX3NjYWxiLmM6IERvbid0IHVzZSBGRV9JTlZBTElEIHVubGVzcyBpdCdzCglhdmFpbGFibGUuCgkqIHN5c2RlcHMvZ2VuZXJpYy9lX3NjYWxiZi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL2Vfc2NhbGJsLmM6IExpa2V3aXNlLgoJUGF0Y2ggYnkgTWFyayBIYXRsZSA8ZnJheUBtdmlzdGEuY29tPi4KCjIwMDEtMDQtMDUgIERhdmlkIFMuIE1pbGxlciAgPGRhdmVtQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3NwYXJjL2Fib3J0LWluc3RyLmg6IE5ldyBmaWxlLgoKMjAwMS0wNC0wNSAgTWF0dCBXaWxzb24gIDxtc3dAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2dldHN5c3N0YXRzLmMgKEdFVF9OUFJPQ1NfUEFSU0VSKToKCWFkZGVkIGNvZGUgdG8gcGFyc2UgbmV3IDIuNCBmb3JtYXQuCgkoR0VUX05QUk9DU19DT05GX1BBUlNFUik6IExpa2V3aXNlLgoKMjAwMS0wNC0wNSAgRGF2aWQgUy4gTWlsbGVyICA8ZGF2ZW1AcmVkaGF0LmNvbT4KCgkqIHNjcmlwdHMvY29uZmlnLnN1YjogUmVjb2duaXplIHNwYXJjdjliIGxpa2Ugc3BhcmN2OS4KCSogY29uZmlndXJlLmluOiBBZGQgc3BhcmN2OWIuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9zcGFyY3Y5Yi9JbXBsaWVzOiBOZXcgZmlsZQoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvc3BhcmN2OWIvbWVtY3B5LlM6IE5ldyBmaWxlCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9zcGFyY3Y5Yi9tZW1jcHkuUzogTmV3IGZpbGUKCjIwMDEtMDQtMDYgIERhdmlkIE1vc2JlcmdlciAgPGRhdmlkbUBocGwuaHAuY29tPgoKCSogc3RkbGliL3RzdC1zZXRjb250ZXh0LmM6IE1vdmUgc3QyW10gdG8gZ2xvYmFsIHNjb3BlLgoJKGYyKTogVmVyaWZ5IHRoYXQgc3RhY2sgcG9pbnRlciBpcyBpbnNpZGUgc3QyW10uCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2dldGNvbnRleHQuUzogSXQgaGVscHMgdG8gc2F2ZSByMTIuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc2V0Y29udGV4dC5TOiBJdCBoZWxwcyB0byByZXN0b3JlIHIxMi4KCjIwMDEtMDQtMDYgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogdGltZXpvbmUvYW50YXJjdGljYTogVXBkYXRlIGZyb20gdHpkYXRhMjAwMWIuCgkqIHRpbWV6b25lL2FzaWE6IExpa2V3aXNlLgoJKiB0aW1lem9uZS9hdXN0cmFsYXNpYTogTGlrZXdpc2UuCgkqIHRpbWV6b25lL2V1cm9wZTogTGlrZXdpc2UuCgkqIHRpbWV6b25lL25vcnRoYW1lcmljYTogTGlrZXdpc2UuCgoJKiBpY29udi9pY29udl9vcGVuLmM6IE1vdmUgc3RyaXAgYW5kIHVwc3RyIGRlZmluaXRpb25zLi4uCgkqIGljb252L2djb252X2NoYXJzZXQuaDogLi4uaGVyZS4gIE5ldyBmaWxlLgoJKiBpY29udi9nY29udl9kYi5jIChvbmNlKTogTW92ZSB0byBmaWxlIGxldmVsLgoJKGRvX2xvb2t1cF9hbGlhcyk6IFNwbGl0IG91dCBmcm9tIF9fZ2NvbnZfZmluZF90cmFuc2Zvcm0uCgkoX19nY29udl9maW5kX3RyYW5zZm9ybSk6IENhbGwgZG9fbG9va3VwX2FsaWFzLgoJKF9fZ2NvbnZfbG9vcHVwX2FsaWFzKTogTmV3IGZ1bmN0aW9uLgoJKiBsb2NhbGUvbGFuZ2luZm8uaDogRGVmaW5lIF9OTF8qX0NPREVTRVQgdmFsdWVzIGZvciBhbGwgY2F0ZWdvcmllcwoJYnV0IExDX0NUWVBFLgoJKiBsb2NhbGUvY2F0ZWdvcmllcy5kZWY6IEFkZCBlbnRyaWVzIGZvciBuZXcgX05MXypfQ09ERVNFVCB2YWx1ZXMuCgkqIGxvY2FsZS9DLWN0eXBlLmM6IFVzZSBfbmxfQ19jb2Rlc2V0IHRvIGluaXRpYWxpemUgQ09ERVNFVCBlbnRyeS4KCSogbG9jYWxlL0MtYWRkcmVzcy5jOiBJbml0aWFsaXplIF9OTF8qX0NPREVTRVQgZWxlbWVudC4KCSogbG9jYWxlL0MtY29sbGF0ZS5jOiBMaWtld2lzZS4KCSogbG9jYWxlL0MtaWRlbnRpZmljYXRpb24uYzogTGlrZXdpc2UuCgkqIGxvY2FsZS9DLW1lYXN1cmVtZW50LmM6IExpa2V3aXNlLgoJKiBsb2NhbGUvQy1tZXNzYWdlcy5jOiBMaWtld2lzZS4KCSogbG9jYWxlL0MtbW9uZXRhcnkuYzogTGlrZXdpc2UuCgkqIGxvY2FsZS9DLW5hbWUuYzogTGlrZXdpc2UuCgkqIGxvY2FsZS9DLW51bWVyaWMuYzogTGlrZXdpc2UuCgkqIGxvY2FsZS9DLXBhcGVyLmM6IExpa2V3aXNlLgoJKiBsb2NhbGUvQy10ZWxlcGhvbmUuYzogTGlrZXdpc2UuCgkqIGxvY2FsZS9DLXRpbWUuYzogTGlrZXdpc2UuCgkqIGxvY2FsZS9sb2NhbGVpbmZvLmg6IERlY2xhcmUgX25sX0NfY29kZXNldC4KCSogbG9jYWxlL0NfbmFtZS5jOiBEZWZpbmUgX25sX0NfY29kZXNldC4KCSogbG9jYWxlL2ZpbmRsb2NhbGUuYzogQmVmb3JlIGFjY2VwdGluZyBsb2NhbGUgY2hlY2sgdGhhdCB0aGUgdXNlZAoJY2hhcnNldCBkb2VzIG5vdCBjb25mbGljdCB3aXRoIHdoYXQgdGhlIGxvY2FsZSBuYW1lIHNhaWQuCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1hZGRyZXNzLmM6IEVtaXQgY29kZXNldCBpbmZvcm1hdGlvbi4KCSogbG9jYWxlL3Byb2dyYW1zL2xkLWNvbGxhdGUuYzogTGlrZXdpc2UuCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1pZGVudGlmaWNhdGlvbi5jOiBMaWtld2lzZS4KCSogbG9jYWxlL3Byb2dyYW1zL2xkLW1lYXN1cmVtZW50LmM6IExpa2V3aXNlLgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtbWVzc2FnZXMuYzogTGlrZXdpc2UuCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1tb25ldGFyeS5jOiBMaWtld2lzZS4KCSogbG9jYWxlL3Byb2dyYW1zL2xkLW5hbWUuYzogTGlrZXdpc2UuCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1udW1lcmljLmM6IExpa2V3aXNlLgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtcGFwZXIuYzogTGlrZXdpc2UuCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC10ZWxlcGhvbmUuYzogTGlrZXdpc2UuCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC10aW1lLmM6IExpa2V3aXNlLgoKCSogbG9jYWxlZGF0YS90ZXN0cy1tYndjL3RzdF9mdW5jcy5oIChUU1RfSEVBRF9MT0NBTEUpOiBJdCBpcyBhbiBlcnJvcgoJaWYgdGhlIGxvY2FsZSBkYXRhIGNvdWxkbid0IGJlIGZvdW5kLgoKCSogc3RyaW5nL01ha2VmaWxlOiBEZWZpbmUgdHN0LXN0cnhmcm0tRU5WLgoKCSogeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2dldGNvbnRleHQuUzogRml4IGNvbW1lbnQuCgoyMDAxLTA0LTA2ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBpbmNsdWRlL3N5cy9wcm9maWwuaDogTmV3IGZpbGUuCgoJKiBkbGZjbi9tb2RhdGV4aXQuYzogQWRkIHByb3RvdHlwZXMgdG8gc2lsZW5jZSBHQ0MuCgkqIGRsZmNuL21vZGN4YWF0ZXhpdC5jOiBMaWtld2lzZS4KCSogZWxmL2dsb2JhbG1vZDEuYzogTGlrZXdpc2UuCgoyMDAxLTA0LTA1ICBEYXZpZCBTLiBNaWxsZXIgIDxkYXZlbUByZWRoYXQuY29tPgoKCSogZWxmL2VsZi5oIChIV0NBUF9TUEFSQ19VTFRSQTMpOiBEZWZpbmUgaXQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjMzIvZGwtcHJvY2luZm8uaDogQWRkIGl0IHRvCgljYXBhYmlsaXR5IGZsYWdzIHRhYmxlIGFuZCBIV0NBUF9JTVBPUlRBTlQsIGluY3JlYXNlCglfRExfSFdDQVBfQ09VTlQgdG8gNi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9kbC1wcm9jaW5mby5oOiBMaWtld2lzZS4KCjIwMDEtMDQtMDQgIERhdmlkIE1vc2JlcmdlciAgPGRhdmlkbUBocGwuaHAuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9tYWtlY29udGV4dC5jIChfX21ha2Vjb250ZXh0KTogRml4Cglpbml0aWFsaXphdGlvbiBvZiBzdGFja19lbmQgKGJ1ZyByZXBvcnRlZCBieSBaaGVuZyBHZW5nYmluCgk8Z3poZW5nQHN0dWRlbnRzLnVpdWMuZWR1PikuCgoyMDAxLTA0LTA1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvaTM4Ni9mcHUvbGlibS10ZXN0LXVscHM6IFJlbGF4IGVycm9ycyBmb3IgYXNpbmwuCgoyMDAxLTA0LTA1ICBNYXJ0aW4gU2Nod2lkZWZza3kgIDxzY2h3aWRlZnNreUBkZS5pYm0uY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L2JpdHMvc29ja2V0Lmg6IE5ldyBmaWxlLgoKMjAwMS0wNC0wNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2llZWU3NTQvbGRibC05Ni9lX2FzaW5sLmM6IENvcnJlY3QgaGFuZGxpbmcgb2YgKy1JbmYuCgkqIHN5c2RlcHMvaTM4Ni9mcHUvZV9hc2lubC5TOiBSZW1vdmVkLiAgVG9vIGluYWNjdXJhdGUuCgoJKiBsb2dpbi90c3QtdXRtcC5jOiBNYWtlIGZpbGUgdXNhYmxlIGFnYWluIGluIHRzdC11dG1weC5jLgoKMjAwMS0wNC0wNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvZGwtbGliYy5jOiBEb24ndCB1c2UgdGhlIEVMRiB2ZXJzaW9uLAoJZGVmaW5lIHNpbXBsZSByZXBsYWNlbWVudHMgaGVyZS4gIFBhdGNoIGJ5IE1pY2hhZWwgS2VlemVyLgoKCSogc3lzZGVwcy9pZWVlNzU0L2xkYmwtMTI4L2VfbG9nbC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYvZV9hc2lubC5jOiBOZXcgZmlsZS4KCUNvbnRyaWJ1dGVkIGJ5IFN0ZXBoZW4gTCBNb3NoaWVyIDxtb3NoaWVyQG1lZGlhb25lLm5ldD4uCgoJKiBwb3NpeC9mbm1hdGNoX2xvb3AuYzogVW5kZWZpbmUgTkVXX1BBVFRFUk4gd2hlbiBpdCBpcyBub3QgdXNlZAoJYW55bW9yZS4KCjIwMDEtMDQtMDEgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9zX25leHRhZnRlci5jIChOT19MT05HX0RPVUJMRSk6IEFkZCBuZXh0dG93YXJkbAoJYWxpYXMuCgoJKiBzeXNkZXBzL2dlbmVyaWMvc19mbWEuYyAoTk9fTE9OR19ET1VCTEUpOiBBZGQgZm1hbCBhbGlhcy4KCjIwMDEtMDQtMDQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L0Rpc3Q6IEFkZCB1Y29udGV4dF9pLmguCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC0zMi9EaXN0OiBMaWtld2lzZS4KCjIwMDEtMDQtMDQgIE1hcnRpbiBTY2h3aWRlZnNreSAgPHNjaHdpZGVmc2t5QGRlLmlibS5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtMzIvZ2V0Y29udGV4dC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTMyL21ha2Vjb250ZXh0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtMzIvc2V0Y29udGV4dC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTMyL3Vjb250ZXh0X2kuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC9nZXRjb250ZXh0LlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvbWFrZWNvbnRleHQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC9zZXRjb250ZXh0LlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvdWNvbnRleHRfaS5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zd2FwY29udGV4dC5jOiBOZXcgZmlsZS4KCjIwMDEtMDQtMDQgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvcG93ZXJwYy9kbC1tYWNoaW5lLmggKEVMRl9NQUNISU5FX05PX1JFTCk6IE1vdmUgdG8gcmlnaHQKCXBsYWNlLgoKMjAwMS0wNC0wNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzdW5ycGMvcnBjX3NjYW4uYyAoc3ltYm9scyk6IEFkZCBlbnRyeSBmb3IgSFlQRVIuCgkqIHN1bnJwYy9ycGNfc2Nhbi5oIChlbnVtIHRva19raW5kKTogQWRkIFRPS19IWVBFUi4KCSogc3VucnBjL3JwY19wYXJzZS5jIChnZXRfdHlwZSk6IEhhbmRsZSBUT0tfSFlQRVIuCgkodW5zaWduZWRfZGVjKTogTGlrZXdpc2UuCglQYXRjaCBieSBhdGFpQGplemViZWwuZHJlYW1ob3N0LmNvbS4KCgkqIG5pcy9uc3NfbmlzL25pcy1zZXJ2aWNlLmMgKF9uc3NfbmlzX2dldHNlcnZieW5hbWVfcik6IFBhc3MKCXBvaW50ZXIgdG8gaW50IGFzIGxhc3QgcGFyYW1ldGVyIG9mIHlwX21hdGNoLgoJUGF0Y2ggYnkga2FuYXphd2FAZmxhYi5mdWppdHN1LmNvLmpwLgoKMjAwMS0wNC0wMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiByZXNvbHYvbmV0ZGIuaCAoZ2FpX3N0cmVycm9yKTogTWFrZSByZXR1cm4gdmFsdWUgY29uc3QuCgkqIHN5c2RlcHMvZ2VuZXJpYy9nYWlfc3RyZXJyb3IuYyAoZ2FpX3N0cmVycm9yKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG9zaXgvZ2FpX3N0cmVycm9yLmMgKGdhaV9zdHJlcnJvcik6IExpa2V3aXNlLgoJQWRkIHN0cmluZ3MgZm9yIG5ldyBlcnJvciB2YWx1ZXMuCgoyMDAxLTAzLTI5ICBNaWNoYWVsIEtlZXplciAgPG1rZWV6ZXJAcmVkaGF0LmNvbT4KCgkqIHBvc2l4L3RzdC1nbnVnbG9iLmM6IEFkZGVkIGlmZGVmIF9ESVJFTlRfSEFWRV9EX1RZUEUuCgkqIGxvZ2luL3RzdC11dG1wLmM6IEhhbmRsZSBjYXNlIHdoZXJlIHV0X3R2IGlzIG5vdCBhdmFpbGFibGUgYnV0Cgl1dF90aW1lIGlzLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvdXRtcHguaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9iaXRzL3V0bXB4Lmg6IEFkZGVkCglfSEFWRV9VVF9UWVBFL1BJRC9JRC9UVi9IT1NUIGRlZmluZXMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9saWJjLXN0YXJ0LmM6IFJlbW92ZWQgdGVtcCBjb2RlIGFuZCBtYWRlIHN0dWIuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9nZXR0aW1lb2ZkYXkuYzogTmV3IGZpbGUgYWRkZWQgcm91dGluZXMKCXRvIGFjY2VzcyBSVENVIHRpbWVyIHJlZy4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L01ha2VmaWxlOiBSZW1vdmUgL3Vzci9saWIvY3J0MC5vCglhZGRlZCBkbC1saWJjLCBkbC1vcGVuLGRsLXN5bSwgZGwtY2xvc2UgdG8gbWlzYy4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L3N0YXJ0LmM6IE5ldyBmaWxlLiAgU3RhcnQgY29kZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L2RsbGRyLmg6IE5ldyBmaWxlLiAgQUlYIF9fbG9hZHggZGVmaW5lcy4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L2RsLWNsb3NlLmM6IE5ldyBmaWxlLiAgQUlYIGRsLWNsb3NlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvZGwtb3Blbi5jOiBOZXcgZmlsZS4gIEFJWCBkbC1vcGVuLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvZGwtc3ltLmM6IE5ldyBmaWxlLiAgQUlYIGRsLXN5bS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L2RsLWxpYmMuYzogTmV3IGZpbGUuICBsaWJjX2RsLXh4eCBzdXBwb3J0LgoJKiBzeXNkZXBzL2dlbmVyaWMvc3RydG9sbC5jOiBBZGRlZCBTSExJQl9DT01QQVQobGliYyxHTElCQ18yXzAsCglHTElCQ18yXzIpLgoJKiBzeXNkZXBzL2dlbmVyaWMvc3RydG91bGwuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG93ZXJwYy9wcGMtbWNvdW50LlM6IEFkZGVkIG5vcCBhZnRlciBibCBpbnN0cnVjdGlvbi4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L3Bvd2VycGMvbWVtc2V0LmM6IE5ldyBmaWxlIHRvIGluY2x1ZGUKCXN5c2RlcHMvZ2VuZXJpYy9tZW1zZXQuYy4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L2dldHBlZXJuYW1lLmM6IERlZmluZSBfX2dldHBlZXJuYW1lLgoKMjAwMS0wNC0wMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udi9NYWtlZmlsZSAoQ0ZMQUdTLWNoYXJtYXAuYyk6IEFkZCAtRE5FRURfTlVMTF9QT0lOVEVSLgoJKiBsb2NhbGUvcHJvZ3JhbXMvY2hhcm1hcC5jOiBEZWZpbmUgbnVsbF9wb2ludGVyIGlmCglORUVEX05VTExfUE9JTlRFUiBpcyBkZWZpbmVkLgoKCSogbWlzYy9kaXJuYW1lLmMgKGRpcm5hbWUpOiBIYW5kbGUgbXVsdGlwbGUgc2xhc2hlcyBjb3JyZWN0bHkuCgoyMDAxLTA0LTAzICBNYXJ0aW4gU2Nod2lkZWZza3kgIDxzY2h3aWRlZnNreUBkZS5pYm0uY29tPgoKCSogc3lzZGVwcy9zMzkwL3MzOTAtNjQvaW5pdGZpbmkuYzogRml4IF9fZ21vbl9zdGFydF9fIEdPVCBhY2Nlc3MuCgoyMDAxLTA0LTAzICBNYXJ0aW4gU2Nod2lkZWZza3kgIDxzY2h3aWRlZnNreUBkZS5pYm0uY29tPgoKCSogc3lzZGVwcy9zMzkwL3MzOTAtMzIvYmNvcHkuUzogT3B0aW1pemUgZm9yIHNwZWVkLgoJKiBzeXNkZXBzL3MzOTAvczM5MC02NC9iY29weS5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zMzkwL3MzOTAtMzIvbWVtcGN5LlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3MzOTAvczM5MC02NC9tZW1jcHkuUzogTGlrZXdpc2UuCgoyMDAxLTA0LTAyICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBtYW51YWwvbWVzc2FnZS50ZXhpIChBZHZhbmNlZCBnZXR0ZXh0IGZ1bmN0aW9ucyk6IE1vcmUgc3BlY2lmaWMKCXN5bnRheCBpbiB0aGUgcGx1cmFsIGZvcm11bGEgZXhhbXBsZXMuCgoyMDAxLTA0LTAyICBGcmFueiBTaXJsICA8RnJhbnouU2lybC1rZXJuZWxAbGF1dGVyYmFjaC5jb20+CgoJKiBzeXNkZXBzL3Bvd2VycGMvYXRvbWljaXR5Lmg6IFNpbGVuY2Ugd2FybmluZ3MuCgkqIHN5c2RlcHMvcG93ZXJwYy9kbC1tYWNoaW5lLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvcmVnaXN0ZXItZHVtcC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3dlcnBjL2ZwdS9zX2xyaW50LmM6IExpa2V3aXNlLgoKMjAwMS0wNC0wMiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogbWlzYy90c3QtZGlybmFtZS5jIChtYWluKTogQWRkIG1vcmUgdGVzdHMsIGRlcml2ZWQgZnJvbSBhIGJ1ZwoJcmVwb3J0IGJ5IE1pY2hhZWwgS2VycmlzayA8bXRrMTZAZXh0LmNhbnRlcmJ1cnkuYWMubno+LgoKMjAwMS0wNC0wMSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogZGVidWcveHRyYWNlLnNoIChwY3Byb2ZpbGVzbyk6IFVzZSBTTElCRElSIHNpbmNlIGxpYnBjcHJvZmlsZS5zbwoJaXMgaW5zdGFsbGVkIHRoZXJlLgoJKiBtYWxsb2MvbWVtdXNhZ2Uuc2ggKG1lbXVzYWdlc28pOiBMaWtld2lzZSBmb3IgbGlibWVtdXNhZ2Uuc28uCgoyMDAxLTA0LTAxICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBwb3NpeC9hbm5leGMuYyAobWFjcm9maWxlKTogUmVuYW1lZCBmcm9tIFRNUEZJTEUgYW5kIHNldCB0bwoJdG1wbmFtIChOVUxMKS4KCSogc3RkbGliL2lzb21hYy5jIChtYWNyb2ZpbGUpOiBMaWtld2lzZS4KCjIwMDEtMDMtMzAgIFRob3JzdGVuIEt1a3VrICA8a3VrdWtAc3VzZS5kZT4KCgkqIGluZXQvcmNtZC5jOiBBbGxvdyBBRl9VTlNQRUMgYXMgcGFyYW1ldGVyLgoJKiBuaXMveXBjbG50LmMgKHlwX2FsbCk6IFByaW50IGVycm9yIG1lc3NhZ2Ugb25seSBhdCBsYXN0IHRyeSwKCWNoZWNrIGZvciBwcm90b2NvbGwgZXJyb3Igb25seSBpZiB3ZSBkb24ndCBoYXZlIGEgbmV0d29yayBlcnJvci4KCjIwMDEtMDQtMDIgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiByZXNvbHYvcmVzX2RhdGEuYyAocmVzX2lzb3Vyc2VydmVyKTogRml4IGNhc3QuCgoyMDAxLTA0LTAyICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9ocHBhL3Vtb3VudC5jOiBBZGQgcHJvdG90eXBlIGZvcgoJX191bW91bnQyLgoKCSogc3lzZGVwcy9pMzg2L2RsLW1hY2hpbmUuaCAoUlRMRF9TVEFSVCk6IERvbid0IHVzZSBtdWx0aS1saW5lCglzdHJpbmdzLgoJKEVMRl9NQUNISU5FX1JVTlRJTUVfVFJBTVBPTElORSk6IExpa2V3aXNlLgoKCSogc3lzZGVwcy9pZWVlNzU0L2RibC02NC91cm9vdC5oOiBBZGQgbWlzc2luZyBicmFjZXMgYXJvdW50Cglpbml0aWFsaXplcnMuCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvZV9zcXJ0LmMgKF9faWVlZTc1NF9zcXJ0KTogTGlrZXdpc2UuCgoJKiBlbGYvcnRsZC5jIChwcmludF9zdGF0aXN0aWNzKVshSFBfVElNSU5HX05PTkFWQUlMXTogQXZvaWQKCXdhcm5pbmcgYWJvdXQgdW51c2VkIHZhcmlhYmxlLgoKCSogc3RyaW5nL3N0cmluZy5oIChzdHJuZHVwYSk6IEFkZCBjYXN0IGZvciBDKysgY29uZm9ybWFuY2UuCgkoc3RyZHVwYSk6IExpa2V3aXNlLgoJRml4ZXMgUFIgbGliYy8yMTczLCByZXBvcnRlZCBieSB0YnJvd2RlckBob21lLmNvbS4KCjIwMDEtMDMtMzAgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQGZyb2IuY29tPgoKCSogc3lzZGVwcy9tYWNoL2h1cmQvTWFrZWZpbGUgKCQobGluay1ycGN1c2VybGlicykpOiBEb24ndCBhcHBlbmQKCW9wdGlvbnMgYWZ0ZXIgJChidWlsZC1tb2R1bGUpLCB3aGljaCBpcyBubyBsb25nZXIgYSBzaW5nbGUgY29tbWFuZC4KCShMREZMQUdTLWxpbmstcnBjdXNlcmxpYnMpOiBOZXcgdmFyaWFibGUgdG8gaG9sZCB0aG9zZSBvcHRpb25zLgoJKExERkxBR1MtbGlibWFjaHVzZXItbGluay5zbywgTERGTEFHUy1saWJodXJkdXNlci1saW5rLnNvKTogTmV3Cgl2YXJpYWJsZXMgdXNpbmcgaXQuICBSZXBvcnRlZCBieSBNYXJrIEtldHRlbmlzIDxrZXR0ZW5pc0BnbnUub3JnPi4KCjIwMDEtMDMtMTEgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQGZyb2IuY29tPgoKCSogZWxmL3J0bGQuYyAoZGxfbWFpbik6IEFkZCBjYXN0IHRvIHF1aWV0IHdhcm5pbmcuCgkqIGVsZi9kbC1sb2FkLmMgKF9kbF9tYXBfb2JqZWN0X2Zyb21fZmQpOiBMaWtld2lzZS4KCSogaWNvbnYvZ2NvbnZfY29uZi5jIChfX2djb252X2dldF9wYXRoKTogTGlrZXdpc2UuCgkoX19nY29udl9yZWFkX2NvbmYpOiBMaWtld2lzZS4KCSogaWNvbnYvZ2NvbnZfZGIuYyAoZ2VuX3N0ZXBzKTogTGlrZXdpc2UuCgkoX19nY29udl9maW5kX3RyYW5zZm9ybSk6IExpa2V3aXNlLgoJKiBsb2NhbGUvcHJvZ3JhbXMvY2hhcm1hcC1kaXIuYyAoZm9wZW5fdW5jb21wcmVzc2VkKTogTGlrZXdpc2UuCgkoZm9wZW5fdW5jb21wcmVzc2VkKTogVXNlIGNvbnN0IGluIHNlY29uZCBhcmd1bWVudCdzIHR5cGUuCgoyMDAxLTAzLTExICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEBmcm9iLmNvbT4KCgkqIHN5c2RlcHMvbWFjaC9odXJkL2RsLXN5c2RlcC5jIChfX3dyaXRldik6IE5ldyBmdW5jdGlvbi4KCgkqIG1hY2gvbWFjaF9lcnJvci5oOiBGaXggYW5jaWVudCAjZW5kaWYgc3ludGF4LgoJKiBodXJkL2h1cmRtYWxsb2MuYzogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL2dlbmVyaWMvYXRvbWljaXR5LmggKGV4Y2hhbmdlX2FuZF9hZGQsIGF0b21pY19hZGQsCgljb21wYXJlX2FuZF9zd2FwKTogQWRkIHZvbGF0aWxlIHF1YWxpZmllciB0byBmaXJzdCBhcmcsIHRvIGJyaW5nCgl0aGVzZSBwcm90b3R5cGVzIGluIGxpbmUgd2l0aCBhbGwgdGhlIG90aGVyIGltcGxlbWVudGF0aW9ucy4KCUFkZCBhICN3YXJuaW5nIHRvIHJlbWluZCB0aGUgYnVpbGRlciB0aGF0IHRoZXNlIGFyZSBub3QgYXRvbWljLgoKMjAwMS0wMy0wNCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAZnJvYi5jb20+CgoJKiBodXJkL3ZwcHJpbnRmLmMgKHZwcHJpbnRmKSBbVVNFX0lOX0xJQklPXTogVXNlIGlubmVybW9yZSBmaXJzdAoJbWVtYmVyIG9mIFRFTVBfRiBzbyBpdHMgdHlwZSBpcyBfSU9fRklMRSAqIGFzIGV4cGVjdGVkLgoKCSogaHVyZC9mb3BlbnBvcnQuYyAoc2Vla2lvKTogQ29uZGl0aW9uYWxpemUgdHlwZSBvZiBQT1MgYXJndW1lbnQKCW9uIFtVU0VfSU5fTElCSU9dLiAgQ2hlY2sgdGhlIHZhbHVlIGZvciBvdmVyZmxvdywgc2luY2UgZm9yIGxpYmlvCglpdCBtaWdodCBleGNlZWQgb2ZmX3QncyByYW5nZS4KCjIwMDEtMDItMjUgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQGZyb2IuY29tPgoKCSogc3lzZGVwcy9tYWNoL2h1cmQvc3lzZC1zdGRpby5jIChfX3N0ZGlvX3Jlb3Blbik6IFVzZSBwcm90b3R5cGUuCgkqIHN5c2RlcHMvdW5peC9ic2QvZ2V0cHQuYyAoX19wb3NpeF9vcGVucHQpOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvbWFjaC9odXJkL2kzODYvaW50ci1tc2cuaCAoU1lTQ0FMTF9FWEFNSU5FKTogTWFrZSB0aGlzIGEKCW1hY3JvIGluc3RlYWQgb2YgYW4gaW5saW5lIGZ1bmN0aW9uLAoJKE1TR19FWEFNSU5FKTogTGlrZXdpc2UuCgoJKiBodXJkL2h1cmQvaW9jdGwuaCAoX0hVUkRfSEFORExFX0lPQ1RMU18xKTogUmVtb3ZlIGV4dHJhbmVvdXMgIyMuCgoJKiBodXJkL2dldC1ob3N0LmM6IEluY2x1ZGUgPHN0cmluZy5oPiBmb3IgZGVjbHMgb2YgYnVpbHQtaW5zLgoJKiBodXJkL2h1cmRjaGRpci5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9tYWNoL2h1cmQvaTM4Ni9zaWdyZXR1cm4uYzogTGlrd2Vpc2UuCgkqIHN5c2RlcHMvbWFjaC9odXJkL29wZW5kaXIuYzogTGlrZXdpc2UuCgoJKiBtYWNoL21hY2hfaW5pdC5jOiBJbmNsdWRlIDx1bmlzdGQuaD4gZm9yIF9leGl0IGRlY2wuCgoJKiBtYWNoL2VycnN5c3RlbXMuYXdrOiBHaXZlIG91dHB1dCBmaWxlIGEgdHJhaWxpbmcgbmV3bGluZS4KCgkqIG1hY2gvTWFjaHJ1bGVzIChNSUcpOiBQcmVwZW5kIENDPScke0NDfScgdG8gdGhlIG1pZyBjb21tYW5kLCBzbyB0aGF0Cgl0aGUgc2NyaXB0IHdpbGwgdXNlIG91ciBjb21waWxlciBmb3IgdGhlIGNwcCBzdGFnZS4KCglXaXRoIC0tZW5hYmxlLWFsbC13YXJuaW5ncyB3ZSBnZXQgYSB3aG9sZSBidW5jaCBvZiB3YXJuaW5ncywKCWFuZCB0aGVzZSBhcmUganVzdCBhIGZldyBmaXhlczsgdGhlcmUgYXJlIG1vcmUgbmVlZGVkIHRvIHNpbGVuY2UgaXQuCgkqIG1hY2gvbWFjaC9taWdfc3VwcG9ydC5oIChfX21pZ19zdHJuY3B5LCBtaWdfc3RybmNweSk6IEFkZCBleHRlcm4KCWRlY2xzIGJlZm9yZSBleHRlcm4gaW5saW5lIGRlZm5zIHRvIHF1aWV0IGdjYyB3YXJuaW5nLgoJKiBodXJkL2h1cmQvdGhyZWFkdmFyLmggKF9faHVyZF90aHJlYWR2YXJfbG9jYXRpb25fZnJvbV9zcCk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL21hY2gvaTM4Ni9tYWNoaW5lLXNwLmggKF9fdGhyZWFkX3N0YWNrX3BvaW50ZXIpOiBMaWtld2lzZS4KCjIwMDEtMDMtMzEgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L25ldC9pZl9hcnAuaCAoQVJQSFJEX1JBV0hETEMpOiBBZGRlZC4KCShBUlBIUkRfSERMQyk6IERlZmluZSBhcyBhbGlhcyBmb3IgQVJQSFJEX0NJU0NPLgoJKEFSUEhSRF9DSVNDTyk6IE5ldy4KCUNoYW5nZXMgZnJvbSBMaW51eCAyLjQuMy4KCjIwMDEtMDMtMzAgIElzYW11IEhhc2VnYXdhICA8aXNhbXVAeWFtYXRvLmlibS5jb20+CgoJKiBwb3NpeC9yZWdleC5jOiBBdm9pZCBhbiBhY2Nlc3MgdmlvbGF0aW9uIGlmIG1hbGxvYyBmYWlscy4KCjIwMDEtMDMtMzAgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvYWxwaGEvbGRpdi5TIChsZGl2KTogQWRkIGFsaWFzIGZvciBpbWF4ZGl2LgoKMjAwMS0wMy0yOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBwb3NpeC9yZWdleC5jOiBSZW1vdmUgdW5uZWNlc3NhcnkgaWZzLgoKCSogbWF0aC9iaXRzL21hdGhjYWxscy5oOiBSZW1vdmUgaW5mbmFuIGRlY2xhcmF0aW9uLgoKMjAwMS0wMy0yOSAgSC5KLiBMdSAgPGhqbEBnbnUub3JnPgoKCSogaW5jbHVkZS9lbmRpYW4uaDogRGVmaW5lIEJJR19FTkRJLCBMSVRUTEVfRU5ESSwgSElHSF9IQUxGLAoJYW5kIExPV19IQUxGIG9ubHkgaWYgX0xJQkMgaXMgZGVmaW5lZCBhbmQgX0lTT01BQyBpcyBub3QgZGVmaW5lZC4KCSogc3RkbGliL2lzb21hYy5jIChmbXQpOiBEZWZpbmUgX0xJQkMgYW5kIF9JU09NQUMuCgoyMDAxLTAzLTI5ICBJc2FtdSBIYXNlZ2F3YSAgPGlzYW11QHlhbWF0by5pYm0uY29tPgoKCSogcG9zaXgvcmVnZXguYzogRml4IHR5cG8gYW5kIGFkZCBhIHNlbnRpbmVsLgoKMjAwMS0wMy0yOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaG1fb3Blbi5jOiBPcGVuIG5ldyBmaWxlIGFsd2F5cyB3aXRoCglPX05PRk9MTE9XLiAgU3VnZ2VzdGVkIGJ5IENocmlzdG9waCBSb2xhbmQuCgoyMDAxLTAzLTI3ICBNYXJ0aW4gU2Nod2lkZWZza3kgIDxzY2h3aWRlZnNreUBkZS5pYm0uY29tPgoKCSogc3lzZGVwcy9zMzkwL2JpdHMvc3RyaW5nLmg6IE5ldyB1bmlmaWVkIDMxLzY0IGJpdCBzdHJpbmcuaC4KCSogc3lzZGVwcy9zMzkwL3MzOTAtMzIvYml0cy9zdHJpbmcuaDogUmVtb3ZlLgoJKiBzeXNkZXBzL3MzOTAvczM5MC02NC9iaXRzL3N0cmluZy5oOiBSZW1vdmUuCgkqIHN5c2RlcHMvczM5MC9zMzkwLTMyL3N0cmNtcC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL3MzOTAtNjQvc3RyY21wLlM6IE5ldyBmaWxlLgoKMjAwMS0wMy0yNyAgTWFydGluIFNjaHdpZGVmc2t5ICA8c2Nod2lkZWZza3lAZGUuaWJtLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC0zMi9zeXMvdWNvbnRleHQuaDogRml4IHR5cG8uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC9zeXMvdWNvbnRleHQuaDogTGlrZXdpc2UuCgoyMDAxLTAzLTI3ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHZlcnNpb24uaCAoVkVSU0lPTik6IEJ1bXAgdG8gMi4yLjMuCgoJKiBzdGRsaWIvaXNvbWFjLmMgKGZtdCk6IERvbid0IGRlZmluZSBfTElCQy4KCSogaW5jbHVkZS9lbmRpYW4uaDogRGVmaW5lIEJJR19FTkRJLCBMSVRUTEVfRU5ESSwgSElHSF9IQUxGLCBhbmQKCUxPV19IQUxGIG9ubHkgaWYgX0xJQkMgaXMgZGVmaW5lZC4KCgkqIHN5c2RlcHMvaTM4Ni9mcHUvbGlibS10ZXN0LXVscHM6IFNsaWdodCBhZGp1c3RtZW50IG9mIHluKCkgZXJyb3IuCgoJKiBwb3NpeC9mbm1hdGNoX2xvb3AuYyAoRkNUKTogSGFuZGxlICEoKSBhZnRlciAqIHNwZWNpYWwgbGlrZSBAKCkKCWFuZCArKCkuCgkqIHBvc2l4L3RzdC1mbm1hdGNoLmlucHV0OiBBZGQgdGVzdCBjYXNlcyBmb3IgbWF0Y2hpbmcgZW1wdHkgc3RyaW5ncy4KCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvZW5kaWFuLmg6IFJlbW92ZWQuICBNb3ZlIGRlZmluaXRpb25zLi4uCgkqIGluY2x1ZGUvZW5kaWFuLmg6IC4uLnRvIGhlcmUuCgoyMDAxLTAzLTI3ICBrYXogS29qaW1hICA8a2tvamltYUByci5paWo0dS5vci5qcD4KCgkqIHN5c2RlcHMvc2gvc3lzL3Vjb250ZXh0LmggKE5GUkVHKTogUmVuYW1lIHRvIE5GUFJFRy4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvc3lzL3Vjb250ZXh0LmggKE5GUkVHKTogTGlrZXdpc2UuCgoyMDAxLTAzLTI3ICBNYXJ0aW4gU2Nod2lkZWZza3kgIDxzY2h3aWRlZnNreUBkZS5pYm0uY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9sZGNvbmZpZy5oOiBGaXggdHlwby4KCjIwMDEtMDMtMjYgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9pYTY0L2ZwdS9EaXN0OiBBZGQgbmV3IGZpbGVzIHRvIGRpc3RyaWJ1dGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC9EaXN0OiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9EaXN0OiBMaWtld2lzZS4KCgkqIGdtb24vTWFrZWZpbGUgKGhlYWRlcnMpOiBBZGQgc3lzL3Byb2ZpbC5oLgoKMjAwMS0wMy0xOCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogbWFudWFsL2luc3RhbGwudGV4aSAoVG9vbHMgZm9yIENvbXBpbGF0aW9uKTogQWR2aXNlIHRvIHVzZSBHQ0MKCTIuOTUuMy4KCShTdXBwb3J0ZWQgQ29uZmlndXJhdGlvbnMpOiBNZW50aW9uIHMzOTB4LgoKMjAwMS0wMy0yNiAgQmVuIENvbGxpbnMgIDxiY29sbGluc0BkZWJpYW4ub3JnPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9iaXRzL21tYW4uaDogQWRkIE1BUF8qIGFuZCBNQURWXyoKCWRlZmluZXMgdG8gbWF0Y2ggb3RoZXIgYXJjaGl0ZWN0dXJlcy4KCjIwMDEtMDMtMjYgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbGliaW8vTWFrZWZpbGUgKHRlc3RzKTogQWRkIHRzdC1leHQuCgkqIGxpYmlvL3RzdC1leHQuYzogTmV3IGZpbGUuCgoJKiBsaWJpby9pb3NldHZidWYuYyAoX0lPX3NldHZidWYpOiBDbGVhciBsaW5lIGJ1ZmZlciBmbGFnIGZvciBfSU9OQkYuCgoyMDAxLTAzLTI1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCglBZGQgY2hhbmdlcyB3aGljaCB3ZXJlIGluIHRoaXMgZm9ybSBpbiB0aGUgb3JpZ2luYWwgcGF0Y2ggYnkKCUVyaWMgTm9ydW0gPGVyaWMubm9ydW1AdXNhc2suY2E+LgoJKiBpbmNsdWRlL3JwYy9ycGMuaDogUmVtb3ZlIHN2Y19mZHNldCwgcnBjX2NyZWF0ZWVyciwgc3ZjX3BvbGxmZCwgYW5kCglzdmNfbWF4X3BvbGxmZC4KCSogc3VucnBjL3JwYy9ycGMuaDogRGVjbGFyZSBfX3JwY190aHJlYWRfc3ZjX2Zkc2V0LAoJX19ycGNfdGhyZWFkX2NyZWF0ZWVyciwgX19ycGNfdGhyZWFkX3N2Y19wb2xsZmQsIGFuZAoJX19ycGNfdGhyZWFkX3N2Y19tYXhfcG9sbGZkLgoJRGVmaW5lIHN2Y19mZHNldCwgZ2V0X3JwY19jcmVhdGVlcnIsIHN2Y19wb2xsZmQsIGFuZAoJc3ZjX21heF9wb2xsZmQuCgkqIHN1bnJwYy9ycGNfdGhyZWFkLmM6IEhhbmRsZSBmaXJzdCB0aHJlYWQgc3BlY2lhbCwgaXQgdXNlcyB0aGUKCWdsb2JhbCB2YXJpYWJsZXMuCglEZWZpbmUgX19ycGNfdGhyZWFkX3N2Y19mZHNldCwgX19ycGNfdGhyZWFkX2NyZWF0ZWVyciwKCV9fcnBjX3RocmVhZF9zdmNfcG9sbGZkLCBhbmQgX19ycGNfdGhyZWFkX3N2Y19tYXhfcG9sbGZkLgoJKiBzdW5ycGMvVmVyc2lvbnMgW2xpYmNdIChHTElCQ18yLjIuMyk6IEV4cG9ydCAgX19ycGNfdGhyZWFkX3N2Y19mZHNldCwKCV9fcnBjX3RocmVhZF9jcmVhdGVlcnIsIF9fcnBjX3RocmVhZF9zdmNfcG9sbGZkLCBhbmQKCV9fcnBjX3RocmVhZF9zdmNfbWF4X3BvbGxmZC4KCSogc3VucnBjL2NsbnRfZ2VuLmM6IFJlcGxhY2UgdXNlIG9mIHJwY19jcmVhdGVlcnIgYnkgY2FsbCB0bwoJZ2V0X3JwY19jcmVhdGVlcnIuCgkqIHN1bnJwYy9jbG50X3BlcnIuYzogTGlrZXdpc2UuCgkqIHN1bnJwYy9jbG50X3NpbXAuYzogTGlrZXdpc2UuCgkqIHN1bnJwYy9jbG50X3RjcC5jOiBMaWtld2lzZS4KCSogc3VucnBjL2NsbnRfdWRwLmM6IExpa2V3aXNlLgoJKiBzdW5ycGMvY2xudF91bml4LmM6IExpa2V3aXNlLgoJKiBzdW5ycGMvcG1fZ2V0cG9ydC5jOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvZ2V0Z3JvdXBzLmMgKF9fZ2V0Z3JvdXBzKTogZ2V0Z3JvdXBzMzIKCXN5c2NhbGwgY2hlY2tzIGZvciBuZWdhdGl2ZSBuIHNvIGRvbid0IHRlc3QgaGVyZSBhcyB3ZWxsLgoKMjAwMS0wMy0yMyAgSmVzIFNvcmVuc2VuICA8amVzQGxpbnV4Y2FyZS5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3N5c2RlcC5oIChFTlRSWSk6IE1vdmVkIHRvIC4uLgoJKiBzeXNkZXBzL2lhNjQvc3lzZGVwLmg6IC4uLmhlcmUuCgoJKiBzeXNkZXBzL2lhNjQvc3lzZGVwLmggKExPQ0FMX0VOVFJZKTogRGVmaW5lLgoJKiBzeXNkZXBzL2lhNjQvc3lzZGVwLmggKExPQ0FMX0xFQUYpOiBEZWZpbmUuCgoJKiBzeXNkZXBzL2lhNjQvX21jb3VudC5TIChfbWNvdW50X3JldF9oZWxwZXIpOiBVc2UgTE9DQUxfTEVBRigpIHRvCglkZWNsYXJlIGluc3RlYWQgb2YgTEVBRigpLiAgU3VnZ2VzdGlvbiBmcm9tIERhdmlkIE1vc2Jlcmdlci4KCjIwMDEtMDMtMjEgIERhdmlkIE1vc2JlcmdlciAgPGRhdmlkbUBocGwuaHAuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9zeXNkZXAuaCAoQ0FMTF9NQ09VTlQpOiBBZGQgdW53aW5kCglkaXJlY3RpdmVzLgoJKFBTRVVETyk6IERyb3AgLnBzciBhbmQgLmxzYiBkaXJlY3RpdmVzLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9zZXRqbXAuUzogRGl0dG8uICBBZGQgdW53aW5kCglkaXJlY3RpdmVzLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3N5c2RlcC5TOiBEaXR0by4KCgkqIHN5c2RlcHMvaWE2NC9lbGYvc3RhcnQuUzogTWlzYyBjbGVhbnVwOiByZW1vdmUgLnBzciBhbmQgLmxzYgoJZGlyZWN0aXZlcyBldGMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvYnJrLlM6IERpdHRvLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L19fbG9uZ2ptcC5TOiBEaXR0by4KCSogc3lzZGVwcy9pYTY0L19tY291bnQuUzogUmVtb3ZlIC5wc3IgYW5kIC5sc2IgZGlyZWN0aXZlcyAobm8KCWxvbmdlciBuZWVkZWQpLiAgQWRkIHVud2luZCBkaXJlY3RpdmVzLgoKCSogc3lzZGVwcy9pYTY0L3N5c2RlcC5oOiBEZWZpbmUgQVNNX1VOV19QUkxHX1JQLCBBU01fVU5XX1BSTEdfUEZTLAoJQVNNX1VOV19QUkxHX1BTUCwgQVNNX1VOV19QUkxHX1BSLCBhbmQgQVNNX1VOV19QUkxHX0dSU0FWRS4KCjIwMDEtMDMtMjEgIFBhdWwgRWdnZXJ0ICA8ZWdnZXJ0QHR3aW5zdW4uY29tPgoKCSogcG9zaXgvcmVnZXguaCAoUkVfSU5WQUxJRF9JTlRFUlZBTF9PUkQpOiBOZXcgbWFjcm8uCgkoUkVfU1lOVEFYX1BPU0lYX0VHUkVQKTogVXNlIGl0LgoJKiBwb3NpeC9yZWdleC5jIChyZWdleF9jb21waWxlKTogSW1wbGVtZW50IGl0LgoKMjAwMS0wMy0yMSAgUGF1bCBFZ2dlcnQgIDxlZ2dlcnRAdHdpbnN1bi5jb20+CgoJKiBwb3NpeC9yZWdleC5jIChHRVRfVU5TSUdORURfTlVNQkVSKTogQ2hlY2sgZm9yIG92ZXJmbG93LgoJUmV3cml0ZSB0byBhdm9pZCBkdXBsaWNhdGUgY29kZS4KCjIwMDEtMDMtMjEgIEguSi4gTHUgIDxoamxAZ251Lm9yZz4KCgkqIGVsZi9NYWtlZmlsZSAodGVzdHMpOiBEb24ndCBkZXBlbmQgb24gJChvYmpwZngpdHN0LXBhdGhvcHQub3V0Cglmb3IgY3Jvc3MtY29tcGlsaW5nLgoJKCQob2JqcGZ4KXRzdC1wYXRob3B0Lm91dCk6IFVuZG8gdGhlIGxhc3QgY2hhbmdlLgoKMjAwMS0wMy0yNCAgTWFyayBLZXR0ZW5pcyAgPGtldHRlbmlzQGdudS5vcmc+CgoJKiBzeXNkZXBzL21hY2gvaHVyZC9pMzg2L2JpdHMvc2lnY29udGV4dC5oIChzY19zcCwgc2NfZnAsIHNjX3BjLAoJc2NfcHMpOiBEZWZpbmUgYXMgYWxpYXNlcyBmb3Igc2NfdWVzcCwgc2NfZWJsLCBzY19laXAgYW5kIHNjX2VmbC4KCgkqIHN5c2RlcHMvbWFjaC9odXJkL2kzODYvaW5pdC1maXJzdC5jOiBJbmNsdWRlIDxhc3NlcnQuaD4uCgkoX2RsX2FyZ3YpOiBEZWNsYXJlLgoJKGluaXQpIFtTSEFSRURdOiBSZWFkanVzdCBfZGxfYXJndiBpZiB3ZSBzd2l0Y2hlZCB0byBhIG5ldyBzdGFjay4KCjIwMDEtMDMtMjIgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGljb252ZGF0YS9NYWtlZmlsZSAoZ2VuZXJhdGVkKTogQWRkIGljb252LXRlc3QueHh4LgoKCSogcG9zaXgvTWFrZWZpbGUgKGdlbmVyYXRlZCk6IEFkZCBidWctcmVnZXgyLm10cmFjZSBhbmQKCWJ1Zy1yZWdleDItbWVtLgoKMjAwMS0wMy0yMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBjc3UvdmVyc2lvbi5jIChfX2dudV9nZXRfbGliY19yZWxlYXNlKTogQWRkIHByb3RvdHlwZS4KCShfX2dudV9nZXRfbGliY192ZXJzaW9uKTogTGlrZXdpc2UuCgkqIGluY2x1ZGUvZ251L2xpYmMtdmVyc2lvbi5oOiBSZW1vdmUgcHJvdG90eXBlcyBmb3Igbm90IGV4cG9ydGVkCglmdW5jdGlvbnMuCgoyMDAxLTAzLTIxICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvbWFrZWNvbnRleHQuYzogSW5jbHVkZSBsaWJpbnRsLmgKCWZvciBpbnRlcm5hdGlvbmFsaXplZCBwcmludGZzIHRvIHdvcmsuCgoyMDAxLTAzLTA5ICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpbnRsL2RjaWdldHRleHQuYyAodHJhbnNtZW1fYmxvY2tfdCk6IENoYW5nZSB0byB1bnNpZ25lZCBjaGFyLCB0bwoJYXZvaWQgY29tcGlsZXIgd2FybmluZy4KCShfbmxfZmluZF9tc2cpOiBBZGQgY2FzdHMgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZ3MuCgoyMDAxLTAzLTIxICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGdtb24vTWFrZWZpbGUgKHJvdXRpbmVzKTogQWRkIHNwcm9maWwuCgkodGVzdHMpOiBBZGQgdHN0LXNwcm9maWwuCgkobm9wcm9mKTogQWRkIHNwcm9maWwuCgkqIGdtb24vVmVyc2lvbnMgW2xpYmNdIChHTElCQ18yLjIuMyk6IEFkZCBzcHJvZmlsLgoKMjAwMS0wMy0yMCAgRGF2aWQgTW9zYmVyZ2VyICA8ZGF2aWRtQGhwbC5ocC5jb20+CgoJKiBzeXNkZXBzL2dlbmVyaWMvc3Byb2ZpbC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9wb3NpeC9zcHJvZmlsLmM6IE5ldyBmaWxlLgoJKiBnbW9uL3RzdC1zcHJvZmlsLmM6IE5ldyBmaWxlLgoJKiBnbW9uL3N5cy9wcm9maWwuaDogTmV3IGZpbGUuCgoyMDAxLTAzLTIwICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogaW5jbHVkZS91bmlzdGQuaDogQWRqdXN0IHByb3RvdHlwZSBvZiBfX2dldGhvc3RuYW1lLgoKMjAwMS0wMy0yMCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3NwYXJjL3N0YWNraW5mby5oOiBOZXcgZmlsZS4KCjIwMDEtMDMtMjEgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGVsZi9nbG9iYWwuYyAobWFpbik6IFVzZSBwcm9wZXIgcHJvdG90eXBlLgoKMjAwMS0wMy0yMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzdW5ycGMvTWFrZWZpbGUgKHJvdXRpbmVzKTogQWRkIHJwY190aHJlYWQuCgkoQ1BQRkxBR1MpOiBBZGQgLURfUlBDX1RIUkVBRF9TQUZFLgoJKiBzdW5ycGMvcnBjX3RocmVhZC5jOiBOZXcgZmlsZS4KCSogc3VucnBjL1ZlcnNpb25zIFtsaWJjXSAoR0xJQkNfMi4yLjMpOiBFeHBvcnQgX19ycGNfdGhyZWFkX2Rlc3Ryb3kuCgkqIHN1bnJwYy9hdXRoX25vbmUuYzogRG9uJ3QgdXNlIGdsb2JhbCB2YXJpYWJsZXMuICBBY2Nlc3Mgc3RhdGUgaW4KCXRocmVhZC1sb2NhbCBzdG9yYWdlLgoJKiBzdW5ycGMvY2xudF9wZXJyLmM6IExpa2V3aXNlLgoJKiBzdW5ycGMvY2xudF9yYXcuYzogTGlrZXdpc2UuCgkqIHN1bnJwYy9jbG50X3NpbXAuYzogTGlrZXdpc2UuCgkqIHN1bnJwYy9rZXlfY2FsbC5jOiBMaWtld2lzZS4KCSogc3VucnBjL3JwY19jb21tb24uYzogTGlrZXdpc2UuCgkqIHN1bnJwYy9zdmMuYzogTGlrZXdpc2UuCgkqIHN1bnJwYy9zdmNfcmF3LmM6IExpa2V3aXNlLgoJKiBzdW5ycGMvc3ZjX3NpbXBsZS5jOiBMaWtld2lzZS4KCSogc3VucnBjL3N2Y2F1dGhfZGVzLmM6IExpa2V3aXNlLgoJKiBodXJkL2h1cmQvdGhyZWFkdmFyLmggKGVudW0gX19odXJkX3RocmVhZHZhcl9pbmRleCk6IEFkZAoJX0hVUkRfVEhSRUFEVkFSX1JQQ19WQVJTLgoJKiBzeXNkZXBzL2dlbmVyaWMvYml0cy9saWJjLXRzZC5oOiBNZW50aW9uIF9MSUJDX1RTRF9LRVlfUlBDX1ZBUlMuCgkqIGluY2x1ZGUvcnBjL3JwYy5oOiBEZWZpbmUgZGF0YSBzdHJ1Y3R1cmVzIGZvciBpbnRlcm5hbCB0aHJlYWQtbG9jYWwKCSJnbG9iYWwiIHZhcmlhYmxlcy4KCUJhc2VkIG9uIHBhdGNoZXMgYnkgRXJpYyBOb3J1bSA8ZXJpYy5ub3J1bUB1c2Fzay5jYT4uCgoJKiBlbGYvZGwtbG9hZC5jOiBWYXJpb3VzIGxpdHRsZSBvcHRpbWl6YXRpb25zLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcGF0aGNvbmYuYyAoX19wYXRoY29uZik6IFJldHVybgoJTElOVVhfTElOS19NQVggb25seSBpZiB0aGUgc3RhdGZzIGZ1bmN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBmb3IKCXRoZSBmaWxlc3lzdGVtLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZnBhdGhjb25mLmMgKF9fZnBhdGhjb25mKTogUmV0dXJuCglMSU5VWF9MSU5LX01BWCBvbmx5IGlmIHRoZSBmc3RhdGZzIGZ1bmN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBmb3IKCXRoZSBmaWxlc3lzdGVtLgoKMjAwMS0wMy0xOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvZGwtZHN0LmggKERMX0RTVF9DT1VOVCk6IEFkZCBfX2J1aWx0aW5fZXhwZWN0LgoKCSogZWxmL2RsLWxvYWQuYyAoX2RsX2RzdF9jb3VudCk6IE1ha2UgRFNUIHJlY29nbml0aW9uIG1vcmUgcm9idXN0LgoJKF9kbF9kc3Rfc3Vic3RpdHV0ZSk6IExpa2V3aXNlLgoKMjAwMS0wMy0xNyAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaW50bC9sb2FkbXNnY2F0LmMgKF9ubF9sb2FkX2RvbWFpbikgWyFfTElCQ106IFVzZSBmc3RhdCwgbm90IGZzdGF0NjQuCgoyMDAxLTAzLTE3ICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpbnRsL2dldHRleHRQLmggKHN0cnVjdCBleHByZXNzaW9uKTogQWRkIG9wZXJhdG9ycyBsbm90LCBsZXNzX3RoYW4sCglncmVhdGVyX3RoYW4sIGxlc3Nfb3JfZXF1YWwsIGdyZWF0ZXJfb3JfZXF1YWwuICBSZXBsYWNlIGFyZ3MyL2FyZ3MzCgl1bmlvbiBieSBhICduYXJncycgY291bnRlciBhbmQgYW4gJ2FyZ3NbXScgYXJyYXkuCgkqIGludGwvcGx1cmFsLnk6IERvbid0IGluY2x1ZGUgc3RkYXJnLmguCgkobmV3X2V4cCk6IFRha2UgYW4gYXJyYXkgb2YgYXJndW1lbnRzIGluc3RlYWQgb2YgdmFyYXJncy4KCShuZXdfZXhwXzAsIG5ld19leHBfMSwgbmV3X2V4cF8yLCBuZXdfZXhwXzMpOiBOZXcgZnVuY3Rpb25zLgoJKCc/JyAnOicpOiBNYWtlIHJpZ2h0LWFzc29jaWF0aXZlLgoJKEVRVU9QMik6IE5ldyB0b2tlbiwgcmVwbGFjZXMgJz0nIGFuZCAnIScuCgkoQ01QT1AyKTogTmV3IHRva2VuLgoJKEFERE9QMik6IE5ldyB0b2tlbiwgcmVwbGFjZXMgJysnIGFuZCAnLScuCgkoTVVMT1AyKTogTmV3IHRva2VuLCByZXBsYWNlcyAnKicsICcvJyBhbmQgJyUnLgoJKCchJyk6IE5ldyB0b2tlbi4KCShleHApOiBBZGQgcnVsZXMgZm9yIENNUE9QMiBhbmQgJyEnLiAgRG9uJ3QgY2FsbCBZWUFCT1JULgoJKHN0YXJ0KTogQ2FsbCBZWUFCT1JUIGhlcmUuCgkoRlJFRV9FWFBSRVNTSU9OKTogVXBkYXRlLgoJKHl5bGV4KTogRG9uJ3Qgc2tpcCAiXFxuIi4gIFJlY29nbml6ZSBjb21wYXJpc29uIGFuZCAnIScgb3BlcmF0b3JzLgoJVXBkYXRlIGZvciBuZXcgdG9rZW4gc3ltYm9scy4KCSogaW50bC9sb2FkbXNnY2F0LmMgKHBsdmFyLCBwbG9uZSwgZ2VybWFuaWNfcGx1cmFsLAoJaW5pdF9nZXJtYW5pY19wbHVyYWwpOiBVcGRhdGUuCgkqIGludGwvZGNpZ2V0dGV4dC5jIChfbmxfZmluZF9tc2cpOiBPcHRpbWl6ZSBmb3Igc3BhY2UuCgkocGx1cmFsX2V2YWwpOiBSZWNvZ25pemUgY29tcGFyaXNvbiBhbmQgJyEnIG9wZXJhdG9ycy4gIE9wdGltaXplIGZvcgoJc3BhY2UuCgoyMDAxLTAzLTEwICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpbnRsL2xvYWRtc2djYXQuYyAoX25sX2xvYWRfZG9tYWluKTogbG9jYWxlX2NoYXJzZXQoKSBkb2Vzbid0IHJldHVybgoJTlVMTCBhbnkgbW9yZS4KCjIwMDEtMDEtMDUgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGludGwvbG9hZG1zZ2NhdC5jOiBJbmNsdWRlIGhlYWRlcnMgbmVlZGVkIGZvciBhbGxvY2EoKS4KCShmcmVlYSk6IE5ldyBtYWNyby4KCShfbmxfbG9hZF9kb21haW4pOiBBZGQgZmFsbGJhY2sgY29kZSBmb3IgcGxhdGZvcm1zIGxhY2tpbmcgYWxsb2NhLgoJKiBpbnRsL2xvY2FsZWFsaWFzLmM6IChBRERfQkxPQ0ssIEZSRUVfQkxPQ0spOiBSZW1vdmUgbWFjcm9zLgoJKGZyZWVhKTogTmV3IG1hY3JvLgoJKHJlYWRfYWxpYXNfZmlsZSk6IFNpbXBsaWZ5IGZhbGxiYWNrIGNvZGUgZm9yIHBsYXRmb3JtcyBsYWNraW5nCglhbGxvY2EuCgoyMDAxLTAxLTA3ICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpbnRsL2dldHRleHRQLmggKF9fZ2V0dGV4dGRlYnVnKTogUmVtb3ZlIGRlY2xhcmF0aW9uLgoJKF9fZ2V0dGV4dF9mcmVlX2V4cCwgX19nZXR0ZXh0cGFyc2UpOiBDb252ZXJ0IHByb3RvdHlwZSB0byBLJlIgQwoJc3ludGF4LgoJKGdldHRleHRfZnJlZV9leHBfXywgZ2V0dGV4dHBhcnNlX18pOiBOZXcgbm9uLWxpYmMgZGVjbGFyYXRpb25zLgoJKiBpbnRsL3BsdXJhbC55IFshX0xJQkNdOiBEZWZpbmUgZ2V0dGV4dHBhcnNlX18sIGdldHRleHRfZnJlZV9leHBfXywKCW5vdCBfX2dldHRleHRwYXJzZSwgX19nZXR0ZXh0X2ZyZWVfZXhwLgoJKiBpbnRsL2xvYWRtc2djYXQuYyBbIV9MSUJDXTogVXNlIGdldHRleHRwYXJzZV9fLCBub3QgX19nZXR0ZXh0cGFyc2UuCgoyMDAxLTAyLTI0ICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpbnRsL2RjaWdldHRleHQuYzogVXBkYXRlIGNvbW1lbnQgYWJvdXQgSEFWRV9MT0NBTEVfTlVMTC4KCjIwMDEtMDEtMDUgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGludGwvbG9hZG1zZ2NhdC5jIChfbmxfbG9hZF9kb21haW4pOiBBZGQgZmFsbGJhY2sgY29kZSBmb3IgcGxhdGZvcm1zCglsYWNraW5nIHN0cnRvdWwsIGxpa2UgU3VuT1M0LgoKMjAwMS0wMS0wNSAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaW50bC9sMTBuZmxpc3QuYyAoX25sX25vcm1hbGl6ZV9jb2Rlc2V0KTogVXNlIHRvbG93ZXIsIG5vdCBfdG9sb3dlci4KCjIwMDEtMDEtMDUgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGludGwvYmluZHRleHRkb20uYyAoc2V0X2JpbmRpbmdfdmFsdWVzKTogQ29udmVydCBwcm90b3R5cGUgdG8gSyZSIEMKCXN5bnRheC4KCSogaW50bC9kY2lnZXR0ZXh0LmMgKHRyYW5zY21wKTogQ29udmVydCB0byBLJlIgQyBzeW50YXguCgkqIGludGwvZXhwbG9kZW5hbWUuYyAoX25sX2ZpbmRfbGFuZ3VhZ2UpOiBDb252ZXJ0IHRvIEsmUiBDIHN5bnRheC4KCSogaW50bC9wbHVyYWwueSAoX19nZXR0ZXh0X2ZyZWVfZXhwLCB5eWxleCwgeXllcnJvcik6IENvbnZlcnQgdG8gSyZSIEMKCXN5bnRheC4KCjIwMDEtMDEtMDcgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGludGwvZ2V0dGV4dFAuaCAoZ2V0dGV4dF9fLCBkZ2V0dGV4dF9fLCBkY2dldHRleHRfXywgdGV4dGRvbWFpbl9fLAoJYmluZHRleHRkb21haW5fXywgYmluZF90ZXh0ZG9tYWluX2NvZGVzZXRfXyk6IE5ldyBkZWNsYXJhdGlvbnMsIGZyb20KCW9sZCBsaWJnZXR0ZXh0LmguCgkqIGludGwvYmluZHRleHRkb20uYzogSW5jbHVkZSBsaWJnbnVpbnRsLmggaW5zdGVhZCBvZiBsaWJnZXR0ZXh0LmguCgkqIGludGwvZGNnZXR0ZXh0LmM6IExpa2V3aXNlLgoJKiBpbnRsL2RjaWdldHRleHQuYzogTGlrZXdpc2UuCgkqIGludGwvZGNuZ2V0dGV4dC5jOiBMaWtld2lzZS4KCSogaW50bC9kbmdldHRleHQuYzogTGlrZXdpc2UuCgkqIGludGwvZmluZGRvbWFpbi5jOiBMaWtld2lzZS4KCSogaW50bC9uZ2V0dGV4dC5jOiBMaWtld2lzZS4KCSogaW50bC90ZXh0ZG9tYWluLmM6IExpa2V3aXNlLgoJKiBpbnRsL2RnZXR0ZXh0LmM6IEluY2x1ZGUgbGliZ251aW50bC5oIGluc3RlYWQgb2YgbGliZ2V0dGV4dC5oLgoJSW5jbHVkZSBnZXR0ZXh0UC5oLgoJKiBpbnRsL2dldHRleHQuYzogTGlrZXdpc2UuICBEb24ndCBpbmNsdWRlIGxvY2FsZS5oLgoKMjAwMS0wMy0xNyAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaW50bC9nZXR0ZXh0UC5oIChaRVJPKTogTmV3IG1hY3JvLgoJKHN0cnVjdCBiaW5kaW5nKTogQWx3YXlzIHVzZSBaRVJPLgoJKiBpbnRsL2JpbmR0ZXh0ZG9tLmMgKG9mZnNldG9mKTogUHJvdmlkZSBmYWxsYmFjayBmb3IgcGxhdGZvcm1zIHRoYXQKCWxhY2sgaXQsIGxpa2UgU3VuT1M0LgoJKHNldF9iaW5kaW5nX3ZhbHVlcyk6IFVzZSBvZmZzZXRvZiwgbm90IHNpemVvZi4KCSogaW50bC9kY2lnZXR0ZXh0LmMgKG9mZnNldG9mKTogUHJvdmlkZSBmYWxsYmFjayBmb3IgcGxhdGZvcm1zIHRoYXQKCWxhY2sgaXQsIGxpa2UgU3VuT1M0LgoJKFpFUk8pOiBSZW1vdmUgbWFjcm8uCgkoc3RydWN0IHRyYW5zbWVtX2xpc3QpOiBVc2UgWkVSTy4KCShEQ0lHRVRURVhUKTogVXNlIG9mZnNldG9mLCBub3Qgc2l6ZW9mLgoKMjAwMS0wMy0xNyAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaW50bC9nZXR0ZXh0UC5oOiBJbmNsdWRlIDxzdGRkZWYuaD4uICBJbmNsdWRlIGdldHRleHQuaCwgZm9yCglubHNfdWludDMyLgoJKiBpbnRsL2JpbmR0ZXh0ZG9tLmM6IERvbid0IGluY2x1ZGUgZ2V0dGV4dC5oLgoJKiBpbnRsL2RjZ2V0dGV4dC5jOiBMaWtld2lzZS4KCSogaW50bC9kY2lnZXR0ZXh0LmM6IExpa2V3aXNlLgoJKiBpbnRsL2RjbmdldHRleHQuYzogTGlrZXdpc2UuCgkqIGludGwvZG5nZXR0ZXh0LmM6IExpa2V3aXNlLgoJKiBpbnRsL2ZpbmRkb21haW4uYzogTGlrZXdpc2UuCgkqIGludGwvbG9jYWxlYWxpYXMuYzogTGlrZXdpc2UuCgkqIGludGwvbmdldHRleHQuYzogTGlrZXdpc2UuCgkqIGludGwvcGx1cmFsLnk6IExpa2V3aXNlLgoJKiBpbnRsL3RleHRkb21haW4uYzogTGlrZXdpc2UuCgoyMDAxLTAzLTE3ICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpbnRsL2dldHRleHQuaDogRG9uJ3QgaW5jbHVkZSA8c3RkaW8uaD4uCgoyMDAxLTAzLTE3ICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpbnRsL01ha2VmaWxlIChDUFBGTEFHUyk6IFNldCBMT0NBTEVESVIgaW5zdGVhZCBvZiBHTlVMT0NBTEVESVIuCgkqIGludGwvZGNpZ2V0dGV4dC5jIChfbmxfZGVmYXVsdF9kaXJuYW1lKTogSW5pdGlhbGl6ZSB3aXRoIExPQ0FMRURJUi4KCjIwMDEtMDMtMTkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L2kzODYvaTY4Ni90ZW1wbmFtZS5jOiBOZXcgZmlsZS4KCgkqIHN5c2RlcHMvcG9zaXgvdGVtcG5hbWUuYyAoX19nZW5fdGVtcG5hbWUpOiBJZiBSQU5ET01fQklUUyBpcwoJZGVmaW5lZCB1c2UgdGhpcyBtYWNybyB0byBnZXQgc29tZSBiaXRzIG9mIHJhbmRvbW5lc3MgaW5zdGVhZCBvZgoJdGhlIHVzdWFsIGdldHRpbWVvZmRheSBvciB0aW1lIGNhbGxzLgoKMjAwMS0wMy0xNiAgUGF1bCBFZ2dlcnQgIDxlZ2dlcnRAdHdpbnN1bi5jb20+CgoJKiBzeXNkZXBzL3Bvc2l4L3RlbXBuYW1lLmMgKHVpbnQ2NF90KTogRGVmaW5lIHRvIHVpbnRtYXhfdCBpZgoJbm90IGRlZmluZWQsIGFuZCBpZiBVSU5UNjRfTUFYIGlzIG5vdCBkZWZpbmVkLgoKMjAwMS0wMy0xOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvY2FjaGUuYzogTWFyayBhbmQgaGF2ZSB0cmFuc2xhdGVkIGEgZmV3IG1vcmUgbWVzc2FnZXMuCgoyMDAxLTAzLTE5ICBNYXJ0aW4gU2Nod2lkZWZza3kgIDxzY2h3aWRlZnNreUBkZS5pYm0uY29tPgoKCSogZWxmL2NhY2hlLmM6IEFkZCBjYXNlIGZvciBGTEFHX1MzOTBfTElCNjQuCgkqIHN5c2RlcHMvZ2VuZXJpYy9sZGNvbmZpZy5oOiBBZGQgZGVmaW5lIGZvciBGTEFHX1MzOTBfTElCNjQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvbGRjb25maWcuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvcmVhZGVsZmxpYi5jOiBOZXcgZmlsZS4KCjIwMDEtMDMtMTkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3RyaW5nL01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3Qtc3RyeGZybS4KCSogc3RyaW5nL3RzdC1zdHJ4ZnJtLmM6IE5ldyBmaWxlLiAgQmFzZWQgb24gYSB0ZXN0IGNhc2UgYnkgUGF1bCBFZ2dlcnQuCgkqIHN0cmluZy9EZXBlbmQ6IE5ldyBmaWxlLgoKMjAwMS0wMy0xOSAgUGF1bCBFZ2dlcnQgIDxlZ2dlcnRAdHdpbnN1bi5jb20+CgoJKiBzdHJpbmcvc3RyeGZybS5jIChzdHJ4ZnJtKTogc3RyeGZybSBzaG91bGQgcmV0dXJuIDAsIG5vdCAxLAoJd2hlbiBnaXZlbiB0aGUgZW1wdHkgc3RyaW5nIGluIG5vbnRyaXZpYWwgbG9jYWxlcy4KCjIwMDEtMDMtMTcgIEguSi4gTHUgIDxoamxAZ251Lm9yZz4KCgkqIG1hbnVhbC9NYWtlZmlsZSAoaW5zdGFsbCk6IFVzZSAkKElOU1RBTExfREFUQSkgaW5zdGVhZCBvZgoJY3AgdG8gaW5zdGFsbCBgZGlyJy4KCjIwMDEtMDMtMTkgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBNYWtlcnVsZXMgKGJ1aWxkLXNobGliKTogTWFrZSBzdXJlIGV4aXQgY29kZXMgZ2V0IGNoZWNrZWQKCXByb3Blcmx5LgoKMjAwMS0wMy0xOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBNYWtlcnVsZXMgKGJ1aWxkLXNobGliKTogUmVtb3ZlIHVubmVjZXNzYXJ5IHNsYXNoZXMgaW50cm9kdWNlZCBpbgoJbGFzdCBjaGFuZ2UuCgoJKiBjb25maWd1cmUuaW46IFRlc3QgZm9yIC1CZ3JvdXAgb3B0aW9uIG9mIGxpbmtlci4KCSogY29uZmlnLm1ha2UuaW46IERlZmluZSBoYXZlLUJncm91cC4KCgkqIGNvbmZvcm0vZGF0YS91bmlzdGQuaC1kYXRhOiBSZXF1aXJlIGdldGhvc3RuYW1lLgoJKiBwb3NpeC91bmlzdGQuaDogTWFrZSBnZXRob3N0bmFtZSBwcm90b3R5cGUgYXZhaWxhYmxlIGZvcgoJX19VU0VfWE9QRU4ySy4KCgkqIGNyeXB0L01ha2VmaWxlOiBXaGVuIGdlbmVyYXRpbmcgRFNPIGxpbmsgd2l0aCBsaWJjX25vbnNoYXJlZC5hLgoJKiBkZWJ1Zy9NYWtlZmlsZTogTGlrZXdpc2UuCgkqIGRsZmNuL01ha2VmaWxlOiBMaWtld2lzZS4KCSogaGVzaW9kL01ha2VmaWxlOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2V4dHJhLW1vZHVsZS5tazogTGlrZXdpc2UuCgkqIGxvY2FsZS9NYWtlZmlsZTogTGlrZXdpc2UuCgkqIGxvZ2luL01ha2VmaWxlOiBMaWtld2lzZS4KCSogbWF0aC9NYWtlZmlsZTogTGlrZXdpc2UuCgkqIG5pcy9NYWtlZmlsZTogTGlrZXdpc2UuCgkqIG5zcy9NYWtlZmlsZTogTGlrZXdpc2UuCgkqIHJlc29sdi9NYWtlZmlsZTogTGlrZXdpc2UuCgkqIHJ0L01ha2VmaWxlOiBMaWtld2lzZS4KCjIwMDEtMDMtMTcgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaW5ldC9NYWtlZmlsZSAodGVzdHMpOiBSZW1vdmUgbGVmdC1vdmVyIGNvbW1lbnQuCgoJKiBwb3NpeC91bmlzdGQuaCAoZ2V0aG9zdG5hbWUpOiBDaGFuZ2UgdHlwZSBvZiBzZWNvbmQgcGFyYW1ldGVyCgliYWNrIHRvIHNpemVfdCBhcyBwZXIgdXBjb21pbmcgWFBHNi4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L2dldGhvc3RuYW1lLmM6IENoYW5nZSB0eXBlIG9mIHNlY29uZAoJcGFyYW1ldGVyIGJhY2sgdG8gc2l6ZV90IGFzIHBlciB1cGNvbWluZyBYUEc2LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9zeXN2NC9nZXRob3N0bmFtZS5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvZ2V0aG9zdG5hbWUuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbWFjaC9odXJkL2dldGhvc3RuYW1lLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvZ2V0aG9zdG5hbWUuYzogTGlrZXdpc2UuCgoyMDAxLTAzLTE2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvaWVlZTc1NC9sZGJsLTk2L2VfZ2FtbWFsX3IuYyAoX19pZWVlNzU0X2dhbW1hbF9yKToKCUhhbmRsZSBOYU4gaGVyZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvbWFrZWNvbnRleHQuYyAoX19tYWtlY29udGV4dCk6CglJbnRlcm5hdGlvbmFsaXplLgoKMjAwMS0wMi0wNiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBlbGYvZGwtbG9hZC5jIChfZGxfbWFwX29iamVjdCk6IERvbid0IHRlc3QgbF9vcGVuY291bnQgd2hlbgoJbG9va2luZyBmb3IgbmFtZSBtYXRjaGVzLgoKMjAwMS0wMi0yNiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2dlbmVyaWMvc2lnY29udGV4dGluZm8uaCAoQ0FMTF9TSUdIQU5ETEVSKTogRGVmaW5lLgoJKiBzeXNkZXBzL21hY2gvaHVyZC9pMzg2L3NpZ2NvbnRleHRpbmZvLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9zaWdjb250ZXh0aW5mby5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL3NpZ2NvbnRleHRpbmZvLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3NpZ2NvbnRleHRpbmZvLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9tNjhrL3NpZ2NvbnRleHRpbmZvLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3NpZ2NvbnRleHRpbmZvLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3NpZ2NvbnRleHRpbmZvLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3NpZ2NvbnRleHRpbmZvLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaC9zaWdjb250ZXh0aW5mby5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmMzMi9zaWdjb250ZXh0aW5mby5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9zaWdjb250ZXh0aW5mby5oOiBMaWtld2lzZS4KCjIwMDEtMDMtMTYgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYvc19lcmZsLmM6IE5ldyBmaWxlLgoJQ29udHJpYnV0ZWQgYnkgU3RlcGhlbiBMLiBNb3NoaWVyIDxtb3NoaWVyQG5hLW5ldC5vcm5sLmdvdj4uCgoJKiBzeXNkZXBzL2kzODYvZnB1L2xpYm0tdGVzdC11bHBzOiBBZGp1c3QgZm9yIGFkZGl0aW9uIG9mIGVyZmwgYW5kCgllcmZjbC4KCSogc3lzZGVwcy9pYTY0L2ZwdS9saWJtLXRlc3QtdWxwczogTGlrZXdpc2UuCgoyMDAxLTAzLTE2ICBEYXZpZCBNb3NiZXJnZXIgIDxkYXZpZG1AaHBsLmhwLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvYml0cy9zaWdjb250ZXh0LmggKHN0cnVjdCBzaWdjb250ZXh0KToKCURyb3AgaGFjayB0aGF0IHdhcyBuZWVkZWQgZm9yIDIuMS4xIGtlcm5lbCBoZWFkZXJzLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC91Y29udGV4dF9pLmg6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9zeXMvdWNvbnRleHQuaDogUmV3cml0ZSB0byBtYWtlIGl0CglvdmVybGF5IHdpdGgga2VybmVsJ3MgInN0cnVjdCBzaWdjb250ZXh0Ii4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvTWFrZWZpbGUgKHN5c2RlcF9oZWFkZXJzKTogQWRkCglzeXMvcnNlLmggZm9yICJtaXNjIiBzdWJkaXIuCgkoc3lzZGVwX3JvdXRpbmVzKTogQWRkIF9fc3RhcnRfY29udGV4dCBmb3IgInN0ZGxpYiIgc3ViZGlyLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9zeXMvcnNlLmg6IE5ldyBmaWxlIChiYXNlZCBvbgoJa2VybmVsIGZpbGUgb2YgdGhlIHNhbWUgbmFtZSkuCgoJKiBzdGRsaWIvTWFrZWZpbGUgKHRlc3RzKTogQWRkIHRzdC1zZXRjb250ZXh0LgoJKiBzdGRsaWIvdHN0LXNldGNvbnRleHQuYzogTmV3IGZpbGUgKGJhc2VkIG9uIGEgc2FtcGxlIHByb2dyYW0gYnkKCVVsaSBEcmVwcGVyKS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc2V0Y29udGV4dC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9nZXRjb250ZXh0LlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L19fc3RhcnRfY29udGV4dC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9tYWtlY29udGV4dC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9zd2FwY29udGV4dC5jOiBOZXcgZmlsZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvX19sb25nam1wLlMgKF9fbG9uZ2ptcCk6IFVzZSBleHRyLnUKCWluc3RlYWQgb2Ygc2hpZnQgJiBhbmQuCgoyMDAxLTAzLTE2ICBNYXJ0aW4gU2Nod2lkZWZza3kgIDxzY2h3aWRlZnNreUBkZS5pYm0uY29tPgoKCSogc3lzZGVwcy9zMzkwL3MzOTAtNjQvYml0cy9odWdlX3ZhbC5oOiBNb3ZlIHRvLi4uCgkqIHN5c2RlcHMvczM5MC9iaXRzL2h1Z2VfdmFsLmg6IC4uLmhlcmUuCgkqIHN5c2RlcHMvczM5MC9zMzkwLTMyL2JpdC9odWdlX3ZhbC5oOiBSZW1vdmUuCgkqIHN5c2RlcHMvczM5MC9zMzkwLTY0L2Zmcy5jOiBNb3ZlIHRvLi4uCgkqIHN5c2RlcHMvczM5MC9mZnMuYzogLi4uaGVyZS4KCSogc3lzZGVwcy9zMzkwL3MzOTAtMzIvZmZzLmM6IFJlbW92ZS4KCjIwMDEtMDMtMTYgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogZWxmL2xkY29uZmlnLmMgKHNlYXJjaF9kaXIpOiBSZW1vdmUgYm9ndXMgZGlhZ25vc3RpYywgaW5zdGVhZAoJdXBkYXRlIG9zdmVyc2lvbiBmcm9tIG1vcmUgcmVjZW50IGxpYnJhcnkuCgoyMDAxLTAzLTEzICBNYXJ0aW4gU2Nod2lkZWZza3kgIDxzY2h3aWRlZnNreUBkZS5pYm0uY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9EaXN0OiBNb3ZlIHRvLi4uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC0zMi9EaXN0OiAuLi5oZXJlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL01ha2VmaWxlOiBNb3ZlIHRvLi4uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC0zMi9NYWtlZmlsZTogLi4uaGVyZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9WZXJzaW9uczogTW92ZSB0by4uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtMzIvVmVyc2lvbnM6IC4uLmhlcmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvYWxwaGFzb3J0NjQuYzogTW92ZSB0by4uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtMzIvYWxwaGFzb3J0NjQuYzogLi4uaGVyZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9iaXRzL2ZjbnRsLmg6IE1vdmUgdG8uLi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTMyL2JpdHMvZmNudGwuaDogLi4uaGVyZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9iaXRzL21tYW4uaDogTW92ZSB0by4uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtMzIvYml0cy9tbWFuLmg6IC4uLmhlcmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvYml0cy9yZXNvdXJjZS5oOiBNb3ZlIHRvLi4uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC0zMi9iaXRzL3Jlc291cmNlLmg6IC4uLmhlcmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvYml0cy9zdGF0Lmg6IE1vdmUgdG8uLi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTMyL2JpdHMvc3RhdC5oOiAuLi5oZXJlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL2Nob3duLmM6IE1vdmUgdG8uLi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTMyL2Nob3duLmM6IC4uLmhlcmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvY2xvbmUuUzogTW92ZSB0by4uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtMzIvY2xvbmUuUzogLi4uaGVyZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9mY2hvd24uYzogTW92ZSB0by4uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtMzIvZmNob3duLmM6IC4uLmhlcmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvZmNudGwuYzogTW92ZSB0by4uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtMzIvZmNudGwuYzogLi4uaGVyZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9meHN0YXQuYzogTW92ZSB0by4uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtMzIvZnhzdGF0LmM6IC4uLmhlcmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvZ2V0ZGVudHM2NC5jOiBNb3ZlIHRvLi4uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC0zMi9nZXRkZW50czY0LmM6IC4uLmhlcmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvZ2V0ZWdpZC5jOiBNb3ZlIHRvLi4uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC0zMi9nZXRlZ2lkLmM6IC4uLmhlcmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvZ2V0ZXVpZC5jOiBNb3ZlIHRvLi4uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC0zMi9nZXRldWlkLmM6IC4uLmhlcmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvZ2V0Z2lkLmM6IE1vdmUgdG8uLi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTMyL2dldGdpZC5jOiAuLi5oZXJlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL2dldGdyb3Vwcy5jOiBNb3ZlIHRvLi4uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC0zMi9nZXRncm91cHMuYzogLi4uaGVyZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9nZXRyZXNnaWQuYzogTW92ZSB0by4uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtMzIvZ2V0cmVzZ2lkLmM6IC4uLmhlcmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvZ2V0cmVzdWlkLmM6IE1vdmUgdG8uLi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTMyL2dldHJlc3VpZC5jOiAuLi5oZXJlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL2dldHJsaW1pdC5jOiBNb3ZlIHRvLi4uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC0zMi9nZXRybGltaXQuYzogLi4uaGVyZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9nZXRybGltaXQ2NC5jOiBNb3ZlIHRvLi4uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC0zMi9nZXRybGltaXQ2NC5jOiAuLi5oZXJlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL2dldHVpZC5jOiBNb3ZlIHRvLi4uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC0zMi9nZXR1aWQuYzogLi4uaGVyZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9sY2hvd24uYzogTW92ZSB0by4uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtMzIvbGNob3duLmM6IC4uLmhlcmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvbG9ja2Y2NC5jOiBNb3ZlIHRvLi4uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC0zMi9sb2NrZjY0LmM6IC4uLmhlcmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvbHhzdGF0LmM6IE1vdmUgdG8uLi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTMyL2x4c3RhdC5jOiAuLi5oZXJlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL21tYXAuUzogTW92ZSB0by4uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtMzIvbW1hcC5TOiAuLi5oZXJlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL21tYXA2NC5TOiBNb3ZlIHRvLi4uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC0zMi9tbWFwNjQuUzogLi4uaGVyZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9tc2djdGwuYzogTW92ZSB0by4uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtMzIvbXNnY3RsLmM6IC4uLmhlcmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvb2xkZ2V0cmxpbWl0NjQuYzogTW92ZSB0by4uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtMzIvb2xkZ2V0cmxpbWl0NjQuYzogLi4uaGVyZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9yZWFkZGlyNjQuYzogTW92ZSB0by4uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtMzIvcmVhZGRpcjY0LmM6IC4uLmhlcmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvcmVhZGRpcjY0X3IuYzogTW92ZSB0by4uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtMzIvcmVhZGRpcjY0X3IuYzogLi4uaGVyZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9yZWdpc3Rlci1kdW1wLmg6IE1vdmUgdG8uLi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTMyL3JlZ2lzdGVyLWR1bXAuaDogLi4uaGVyZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zY2FuZGlyNjQuYzogTW92ZSB0by4uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtMzIvc2NhbmRpcjY0LmM6IC4uLmhlcmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvc2VtY3RsLmM6IE1vdmUgdG8uLi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTMyL3NlbWN0bC5jOiAuLi5oZXJlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3NldGVnaWQuYzogTW92ZSB0by4uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtMzIvc2V0ZWdpZC5jOiAuLi5oZXJlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3NldGV1aWQuYzogTW92ZSB0by4uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtMzIvc2V0ZXVpZC5jOiAuLi5oZXJlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3NldGZzZ2lkLmM6IE1vdmUgdG8uLi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTMyL3NldGZzZ2lkLmM6IC4uLmhlcmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvc2V0ZnN1aWQuYzogTW92ZSB0by4uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtMzIvc2V0ZnN1aWQuYzogLi4uaGVyZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zZXRnaWQuYzogTW92ZSB0by4uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtMzIvc2V0Z2lkLmM6IC4uLmhlcmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvc2V0Z3JvdXBzLmM6IE1vdmUgdG8uLi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTMyL3NldGdyb3Vwcy5jOiAuLi5oZXJlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3NldHJlZ2lkLmM6IE1vdmUgdG8uLi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTMyL3NldHJlZ2lkLmM6IC4uLmhlcmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvc2V0cmVzZ2lkLmM6IE1vdmUgdG8uLi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTMyL3NldHJlc2dpZC5jOiAuLi5oZXJlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3NldHJlc3VpZC5jOiBNb3ZlIHRvLi4uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC0zMi9zZXRyZXN1aWQuYzogLi4uaGVyZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zZXRyZXVpZC5jOiBNb3ZlIHRvLi4uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC0zMi9zZXRyZXVpZC5jOiAuLi5oZXJlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3NldHJsaW1pdC5jOiBNb3ZlIHRvLi4uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC0zMi9zZXRybGltaXQuYzogLi4uaGVyZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zZXR1aWQuYzogTW92ZSB0by4uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtMzIvc2V0dWlkLmM6IC4uLmhlcmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvc2htY3RsLmM6IE1vdmUgdG8uLi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTMyL3NobWN0bC5jOiAuLi5oZXJlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3NvY2tldC5TOiBNb3ZlIHRvLi4uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC0zMi9zb2NrZXQuUzogLi4uaGVyZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zeXMvcHJvY2ZzLmg6IE1vdmUgdG8uLi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTMyL3N5cy9wcm9jZnMuaDogLi4uaGVyZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zeXMvdWNvbnRleHQuaDogTW92ZSB0by4uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtMzIvc3lzL3Vjb250ZXh0Lmg6IC4uLmhlcmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvc3lzY2FsbC5TOiBNb3ZlIHRvLi4uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC0zMi9zeXNjYWxsLlM6IC4uLmhlcmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvc3lzY2FsbHMubGlzdDogTW92ZSB0by4uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtMzIvc3lzY2FsbHMubGlzdDogLi4uaGVyZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zeXNkZXAuUzogTW92ZSB0by4uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtMzIvc3lzZGVwLlM6IC4uLmhlcmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvc3lzZGVwLmg6IE1vdmUgdG8uLi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTMyL3N5c2RlcC5oOiAuLi5oZXJlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3ZlcnNpb25zb3J0NjQuYzogTW92ZSB0by4uLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtMzIvdmVyc2lvbnNvcnQ2NC5jOiAuLi5oZXJlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3hzdGF0LmM6IE1vdmUgdG8uLi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTMyL3hzdGF0LmM6IC4uLmhlcmUuCgoyMDAxLTAzLTEzICBNYXJ0aW4gU2Nod2lkZWZza3kgIDxzY2h3aWRlZnNreUBkZS5pYm0uY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L0Rpc3Q6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvTWFrZWZpbGU6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvYml0cy9lbGZjbGFzcy5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L2JpdHMvZmNudGwuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC9iaXRzL2lwYy5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L2JpdHMvbW1hbi5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L2JpdHMvbXNxLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvYml0cy9yZXNvdXJjZS5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L2JpdHMvc2VtLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvYml0cy9zaG0uaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC9iaXRzL3NpZ2FjdGlvbi5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L2JpdHMvc2lnaW5mby5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L2JpdHMvc2lnc3RhY2suaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC9iaXRzL3N0YXQuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC9iaXRzL3R5cGVzLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvY2xvbmUuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC9mc3RhdGZzNjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC9mdHJ1bmNhdGU2NC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L2Z4c3RhdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L2Z4c3RhdDY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvZ2V0ZGVudHMuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC9nZXRkZW50czY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvZ2V0cmxpbWl0NjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC9nbG9iLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvZ2xvYjY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQva2VybmVsX3N0YXQuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC9seHN0YXQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC9seHN0YXQ2NC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L21tYXAuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC9tbWFwNjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC9wcmVhZDY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvcHdyaXRlNjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC9yZWFkZGlyLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvcmVhZGRpcjY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvcmVhZGRpcjY0X3IuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC9yZWFkZGlyX3IuYyA6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvcmVnaXN0ZXItZHVtcC5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L3NldHJsaW1pdDY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvc2lnYWN0aW9uLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvc2lncGVuZGluZy5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L3NpZ3Byb2NtYXNrLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvc2lnc3VzcGVuZC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L3NvY2tldC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L3N0YXRmczY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3MzOTAtNjQvc3lzL3Byb2Nmcy5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L3N5cy91Y29udGV4dC5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L3N5c2NhbGwuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC9zeXNjYWxscy5saXN0OiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L3N5c2RlcC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L3N5c2RlcC5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L3RydW5jYXRlNjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC02NC94c3RhdC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9zMzkwLTY0L3hzdGF0NjQuYzogTmV3IGZpbGUuCgoyMDAxLTAzLTEzICBNYXJ0aW4gU2Nod2lkZWZza3kgIDxzY2h3aWRlZnNreUBkZS5pYm0uY29tPgoKCSogc3lzZGVwcy9zMzkwL0Rpc3Q6IE1vdmUgdG8uLi4KCSogc3lzZGVwcy9zMzkwLzM5MC0zMi9EaXN0OiAuLi5oZXJlLgoJKiBzeXNkZXBzL3MzOTAvSW1wbGllczogTW92ZSB0by4uLgoJKiBzeXNkZXBzL3MzOTAvczM5MC0zMi9JbXBsaWVzOiAuLi5oZXJlLgoJKiBzeXNkZXBzL3MzOTAvTWFrZWZpbGU6IE1vdmUgdG8uLi4KCSogc3lzZGVwcy9zMzkwL3MzOTAtMzIvTWFrZWZpbGU6IC4uLmhlcmUuCgkqIHN5c2RlcHMvczM5MC9WZXJzaW9uczogTW92ZSB0by4uLgoJKiBzeXNkZXBzL3MzOTAtMzIvczM5MC9WZXJzaW9uczogLi4uaGVyZS4KCSogc3lzZGVwcy9zMzkwL2FkZF9uLlM6IE1vdmUgdG8uLi4KCSogc3lzZGVwcy9zMzkwL3MzOTAtMzIvYWRkX24uUzogLi4uaGVyZS4KCSogc3lzZGVwcy9zMzkwL2FkZG11bF8xLlM6IE1vdmUgdG8uLi4KCSogc3lzZGVwcy9zMzkwL3MzOTAtMzIvYWRkbXVsXzEuUzogLi4uaGVyZS4KCSogc3lzZGVwcy9zMzkwL2F0b21pY2l0eS5oOiBNb3ZlIHRvLi4uCgkqIHN5c2RlcHMvczM5MC9zMzkwLTMyL2F0b21pY2l0eS5oOiAuLi5oZXJlLgoJKiBzeXNkZXBzL3MzOTAvYmFja3RyYWNlLmM6IE1vdmUgdG8uLi4KCSogc3lzZGVwcy9zMzkwL3MzOTAtMzIvYmFja3RyYWNlLmM6IC4uLmhlcmUuCgkqIHN5c2RlcHMvczM5MC9iY29weS5TOiBNb3ZlIHRvLi4uCgkqIHN5c2RlcHMvczM5MC9zMzkwLTMyL2Jjb3B5LlM6IC4uLmhlcmUuCgkqIHN5c2RlcHMvczM5MC9iaXRzL2J5dGVzd2FwLmg6IE1vdmUgdG8uLi4KCSogc3lzZGVwcy9zMzkwL3MzOTAtMzIvYml0cy9ieXRlc3dhcC5oOiAuLi5oZXJlLgoJKiBzeXNkZXBzL3MzOTAvYml0cy9odWdlX3ZhbC5oOiBNb3ZlIHRvLi4uCgkqIHN5c2RlcHMvczM5MC9zMzkwLTMyL2JpdHMvaHVnZV92YWwuaDogLi4uaGVyZS4KCSogc3lzZGVwcy9zMzkwL2JzZC1fc2V0am1wLlM6IE1vdmUgdG8uLi4KCSogc3lzZGVwcy9zMzkwL3MzOTAtMzIvYnNkLV9zZXRqbXAuUzogLi4uaGVyZS4KCSogc3lzZGVwcy9zMzkwL2JzZC1zZXRqbXAuUzogTW92ZSB0by4uLgoJKiBzeXNkZXBzL3MzOTAvczM5MC0zMi9ic2Qtc2V0am1wLlM6IC4uLmhlcmUuCgkqIHN5c2RlcHMvczM5MC9iemVyby5TOiBNb3ZlIHRvLi4uCgkqIHN5c2RlcHMvczM5MC9zMzkwLTMyL2J6ZXJvLlM6IC4uLmhlcmUuCgkqIHN5c2RlcHMvczM5MC9lbGYvYnNkLV9zZXRqbXAuUzogTW92ZSB0by4uLgoJKiBzeXNkZXBzL3MzOTAvczM5MC0zMi9lbGYvYnNkLV9zZXRqbXAuUzogLi4uaGVyZS4KCSogc3lzZGVwcy9zMzkwL2VsZi9ic2Qtc2V0am1wLlM6IE1vdmUgdG8uLi4KCSogc3lzZGVwcy9zMzkwL3MzOTAtMzIvZWxmL2JzZC1zZXRqbXAuUzogLi4uaGVyZS4KCSogc3lzZGVwcy9zMzkwL2VsZi9zdGFydC5TOiBNb3ZlIHRvLi4uCgkqIHN5c2RlcHMvczM5MC9zMzkwLTMyL2VsZi9zdGFydC5TOiAuLi5oZXJlLgoJKiBzeXNkZXBzL3MzOTAvZmZzLmM6IE1vdmUgdG8uLi4KCSogc3lzZGVwcy9zMzkwL3MzOTAtMzIvZmZzLmM6IC4uLmhlcmUuCgkqIHN5c2RlcHMvczM5MC9tZW1jaHIuUzogTW92ZSB0by4uLgoJKiBzeXNkZXBzL3MzOTAvczM5MC0zMi9tZW1jaHIuUzogLi4uaGVyZS4KCSogc3lzZGVwcy9zMzkwL21lbWNweS5TOiBNb3ZlIHRvLi4uCgkqIHN5c2RlcHMvczM5MC9zMzkwLTMyL21lbWNweS5TOiAuLi5oZXJlLgoJKiBzeXNkZXBzL3MzOTAvbWVtc2V0LlM6IE1vdmUgdG8uLi4KCSogc3lzZGVwcy9zMzkwL3MzOTAtMzIvbWVtc2V0LlM6IC4uLmhlcmUuCgkqIHN5c2RlcHMvczM5MC9tdWxfMS5TOiBNb3ZlIHRvLi4uCgkqIHN5c2RlcHMvczM5MC9zMzkwLTMyL211bF8xLlM6IC4uLmhlcmUuCgkqIHN5c2RlcHMvczM5MC9zMzkwLW1jb3VudC5TOiBNb3ZlIHRvLi4uCgkqIHN5c2RlcHMvczM5MC9zMzkwLTMyL3MzOTAtbWNvdW50LlM6IC4uLmhlcmUuCgkqIHN5c2RlcHMvczM5MC9zdHJjcHkuUzogTW92ZSB0by4uLgoJKiBzeXNkZXBzL3MzOTAvczM5MC0zMi9zdHJjcHkuUzogLi4uaGVyZS4KCSogc3lzZGVwcy9zMzkwL3N0cm5jcHkuUzogTW92ZSB0by4uLgoJKiBzeXNkZXBzL3MzOTAvczM5MC0zMi9zdHJuY3B5LlM6IC4uLmhlcmUuCgkqIHN5c2RlcHMvczM5MC9zdWJfbi5TOiBNb3ZlIHRvLi4uCgkqIHN5c2RlcHMvczM5MC9zMzkwLTMyL3N1Yl9uLlM6IC4uLmhlcmUuCgoyMDAxLTAzLTEzICBNYXJ0aW4gU2Nod2lkZWZza3kgIDxzY2h3aWRlZnNreUBkZS5pYm0uY29tPgoKCSogc3lzZGVwcy9zMzkwL3MzOTAtNjQvRGlzdDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9zMzkwLTY0L0ltcGxpZXM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3MzOTAvczM5MC02NC9NYWtlZmlsZTogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9zMzkwLTY0L19fbG9uZ2ptcC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL3MzOTAtNjQvYWRkX24uUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9zMzkwLTY0L2F0b21pY2l0eS5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL3MzOTAtNjQvYmFja3RyYWNlLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3MzOTAvczM5MC02NC9iY29weS5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL3MzOTAtNjQvYml0cy9ieXRlc3dhcC5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL3MzOTAtNjQvYml0cy9odWdlX3ZhbC5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL3MzOTAtNjQvYml0cy9zZXRqbXAuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9zMzkwLTY0L2JpdHMvc3RyaW5nLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3MzOTAvczM5MC02NC9ic2QtX3NldGptcC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL3MzOTAtNjQvYnNkLXNldGptcC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL3MzOTAtNjQvYnplcm8uUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9zMzkwLTY0L2RsLW1hY2hpbmUuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9zMzkwLTY0L2VsZi9ic2QtX3NldGptcC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL3MzOTAtNjQvZWxmL2JzZC1zZXRqbXAuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9zMzkwLTY0L2VsZi9zZXRqbXAuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9zMzkwLTY0L2VsZi9zdGFydC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL3MzOTAtNjQvZmZzLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3MzOTAvczM5MC02NC9pbml0ZmluaS5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL3MzOTAtNjQvbWVtY2hyLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3MzOTAvczM5MC02NC9tZW1jcHkuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9zMzkwLTY0L21lbXNldC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL3MzOTAtNjQvczM5MHgtbWNvdW50LlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3MzOTAvczM5MC02NC9zZXRqbXAuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9zMzkwLTY0L3N0cmNweS5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL3MzOTAtNjQvc3RybmNweS5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9zMzkwL3MzOTAtNjQvc3ViX24uUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvczM5MC9zMzkwLTY0L3N5c2RlcC5oOiBOZXcgZmlsZS4KCjIwMDEtMDMtMTMgIE1hcnRpbiBTY2h3aWRlZnNreSAgPHNjaHdpZGVmc2t5QGRlLmlibS5jb20+CgoJKiBzY3JpcHRzL2NvbmZpZy5ndWVzczogQWRkIHN1cHBvcnQgZm9yIExpbnV4IG9uIDY0IGJpdCBTLzM5MC4KCSogc2NyaXB0cy9jb25maWcuc3ViOiBMaWtld2lzZS4KCjIwMDEtMDMtMTMgIE1hcnRpbiBTY2h3aWRlZnNreSAgPHNjaHdpZGVmc2t5QGRlLmlibS5jb20+CgoJKiBjb25maWd1cmUuaW46IEFkZCBzdXBwb3J0IGZvciA2NCBiaXQgUy8zOTAuCgoJKiBlbGYvZWxmLmg6IEFkZCBuZXcgcmVsb2NhdGlvbnMgZm9yIDY0IGJpdCBTLzM5MC4KCgkqIHNobGliLXZlcnNpb25zOiBBZGQgcnVsZXMgZm9yIExpbnV4IG9uIDY0IGJpdCBTLzM5MC4KCjIwMDEtMDMtMTMgIE1hcnRpbiBTY2h3aWRlZnNreSAgPHNjaHdpZGVmc2t5QGRlLmlibS5jb20+CgoJKiBzeXNkZXBzL3MzOTAvX19sb25nam1wLmM6IE1vdmUgdG8uLi4KCSogc3lzZGVwcy9zMzkwL3MzOTAtMzIvX19sb25nam1wLmM6IC4uLmhlcmUuICBBZGQgY29kZQoJdG8gbG9hZCB0aGUgZmxvYXRpbmcgcG9pbnQgcmVnaXN0ZXJzIHRoYXQgc2hvdWxkIGJlIHNhdmVkCglhY2NvcmRpbmcgdG8gdGhlIEFCSS4KCgkqIHN5c2RlcHMvczM5MC9iaXRzL3NldGptcC5oOiBNb3ZlIHRvLi4uCgkqIHN5c2RlcHMvczM5MC9zMzkwLTMyL2JpdHMvc2V0am1wLmg6IC4uLmhlcmUuICBBdm9pZAoJdGhlIHVzZSBvZiBsb25nIGxvbmcgaW4gdGhlIF9fam1wX2J1ZiB0eXBlIGRlZmluaXRpb24uCgoJKiBzeXNkZXBzL3MzOTAvYml0cy9zdHJpbmcuaDogTW92ZSB0by4uLgoJKiBzeXNkZXBzL3MzOTAvczM5MC0zMi9iaXRzL3N0cmluZy5oOiAuLi5oZXJlLiAgQWRkIHNldmVyYWwgbWlzc2luZwoJI2lmbmRlZiBfRk9SQ0VfSU5MSU5FUy4KCgkqIHN5c2RlcHMvczM5MC9kbC1tYWNoaW5lLmg6IE1vdmUgdG8uLi4KCSogc3lzZGVwcy9zMzkwL3MzOTAtMzIvZGwtbWFjaGluZS5oOiAuLi5oZXJlLiAgQWRkIGEgY2hlY2sgZm9yIHRoZQoJZXhlY3V0YWJsZXMgRUlfQ0xBU1MgaW4gZWxmX21hY2hpbmVfbWF0Y2hlc19ob3N0LgoKCSogc3lzZGVwcy9zMzkwL2VsZi9zZXRqbXAuUzogTW92ZSB0by4uLgoJKiBzeXNkZXBzL3MzOTAvczM5MC0zMi9lbGYvc2V0am1wLlM6IC4uLmhlcmUuICBSZXBsYWNlCglicmFuY2hlcyB0byBnbG9iYWxseSBkZWZpbmVkIHN5bWJvbCBfX3NpZ3NldGptcCBieSBicmFuY2hlcyB0bwoJYSBsb2NhbCBsYWJlbCAodGhpcyBhdm9pZHMgdGhlIGdlbmVyYXRpb24gb2YgYSBSXzM5MF9QQzE2REJMCglyZWxvY2F0aW9uIGluIC1mcGljIGNvZGUpLgoKCSogc3lzZGVwcy9zMzkwL2dtcC1tcGFyYW0uaDogVXNlIGRlZmluZXMgZnJvbSA8Yml0cy93b3Jkc2l6ZS5oPiB0bwoJY2FsY3VsYXRlIEJJVFNfUEVSX01QX0xJTUIsIEJZVEVTX1BFUl9NUF9MSU1CIGFuZCBCSVRTX1BFUl9MT05HSU5ULgoKCSogc3lzZGVwcy9zMzkwL2luaXRmaW5pLmM6IE1vdmUgdG8uLi4KCSogc3lzZGVwcy9zMzkwL3MzOTAtMzIvaW5pdGZpbmkuYzogLi4uaGVyZS4gIFJlcGxhY2UgQUxJR04gd2l0aAoJIi5hbGlnbiA0LDB4MDciLgoKCSogc3lzZGVwcy9zMzkwL3NldGptcC5TOiBNb3ZlIHRvLi4uCgkqIHN5c2RlcHMvczM5MC9zMzkwLTMyL3NldGptcC5TOiAuLi5oZXJlLiAgQWRkIGNvZGUgdG8gc3RvcmUgdGhlCglmbG9hdGluZyBwb2ludCByZWdpc3RlcnMgdGhhdCBzaG91bGQgYmUgc2F2ZWQgYWNjb3JkaW5nIHRvIHRoZSBBQkkuCgoJKiBzeXNkZXBzL3MzOTAvc3lzL3Vjb250ZXh0Lmg6IFJlbW92ZSBzaW5jZSBpdCBpcyB1bnVzZWQuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL3N5c2RlcC5oOiBNb3ZlIHRvLi4uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvczM5MC0zMi9zeXNkZXAuaDogLi4uaGVyZS4gIEluY2x1ZGUKCXN5c2RlcHMvczM5MC9zMzkwLTMyL3N5c2RlcC5oIGluc3RlYWQgb2Ygc3lzZGVwcy9zMzkwL3N5c2RlcC5oLgoKMjAwMS0wMy0xMyAgTWFydGluIFNjaHdpZGVmc2t5ICA8c2Nod2lkZWZza3lAZGUuaWJtLmNvbT4KCgkqIGNvbmZpZ3VyZS5pbjogQ2hhbmdlIG1hY2hpbmU9czM5MCB0byBtYWNoaW5lPXMzOTAvczM5MC0zMi4KCgkqIGVsZi9lbGYuaDogQ29ycmVjdCBjb21tZW50IGZvciBSXzM5MF9QTFQxNkRCTC4KCjIwMDEtMDMtMTIgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogY3N1L01ha2VmaWxlIChhYmktdGFnLmgpOiBEZWZpbmUgT1MgYW5kIHZlcnNpb24gc2VwYXJhdGVseSwgYWxsb3cKCXZlcnNpb24gdG8gYmUgb3ZlcnJpZGVuIGZyb20gY29uZmlnLmguCgkqIGNzdS9hYmktbm90ZS5TOiBVc2UgT1MgYW5kIHZlcnNpb24gc2VwYXJhdGVseSwgaW5jbHVkZSBjb25maWcuaC4KCSogZWxmL2RsLWxvYWQuYyAoX2RsX29zdmVyc2lvbik6IE5ldy4KCShfZGxfbWFwX29iamVjdF9mcm9tX2ZkKTogS2lsbCBzb21lIHdhcm5pbmdzLgoJKG9wZW5fdmVyaWZ5KTogQ2hlY2sgLm5vdGUuQUJJLXRhZyBvZiB0aGUgbGlicmFyeSBpZiBwcmVzZW50LgoJKiBlbGYvTWFrZWZpbGUgKENQUEZMQUdTLWRsLWxvYWQuYyk6IEFkZCAtSSQoY3N1LW9ianBmeCkuCgkqIGVsZi9jYWNoZS5jIChzdHJ1Y3QgY2FjaGVfZW50cnkpOiBBZGQgb3N2ZXJzaW9uLgoJKHByaW50X2VudHJ5KTogUHJpbnQgb3N2ZXJzaW9uLgoJKHByaW50X2NhY2hlKTogUGFzcyBvc3ZlcnNpb24gdG8gaXQuCgkoY29tcGFyZSk6IFNvcnQgYWNjb3JkaW5nIHRvIG9zdmVyc2lvbi4KCShzYXZlX2NhY2hlKTogU2V0IG9zdmVyc2lvbi4KCShhZGRfdG9fY2FjaGUpOiBBZGQgb3N2ZXJzaW9uIGFyZ3VtZW50LgoJKiBzeXNkZXBzL2dlbmVyaWMvbGRjb25maWcuaCAoYWRkX3RvX2NhY2hlLCBwcm9jZXNzX2ZpbGUsCglwcm9jZXNzX2VsZl9maWxlKTogQWRkIG9zdmVyc2lvbiBhcmd1bWVudC4KCSogZWxmL3JlYWRsaWIuYyAocHJvY2Vzc19maWxlKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9yZWFkZWxmbGliLmMgKHByb2Nlc3NfZWxmX2ZpbGUpOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9yZWFkZWxmbGliLmMgKHByb2Nlc3NfZWxmX2ZpbGUsCglwcm9jZXNzX2VsZjMyX2ZpbGUsIHByb2Nlc3NfZWxmNjRfZmlsZSk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3JlYWRlbGZsaWIuYyAocHJvY2Vzc19lbGZfZmlsZSwKCXByb2Nlc3NfZWxmMzJfZmlsZSwgcHJvY2Vzc19lbGY2NF9maWxlKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3JlYWRlbGZsaWIuYyAocHJvY2Vzc19lbGZfZmlsZSwKCXByb2Nlc3NfZWxmMzJfZmlsZSwgcHJvY2Vzc19lbGY2NF9maWxlKTogTGlrZXdpc2UuCgkqIGVsZi9sZGNvbmZpZy5jIChtYW51YWxfbGluayk6IFBhc3MgaXQuCgkoc2VhcmNoX2Rpcik6IElzc3VlIGRpYWdub3N0aWMgaWYgdHdvIGxpYnMgd2l0aCB0aGUgc2FtZSBzb25hbWUgaW4KCXRoZSBzYW1lIGRpcmVjdG9yeSBoYXZlIGRpZmZlcmVudCAubm90ZS5BQkktdGFnLiAgUmVjb3JkIG9zdmVyc2lvbiBpbgoJZGxpYl9lbnRyeSBhbmQgdXNlIGl0IGZyb20gdGhlcmUuCgkoc3RydWN0IGxpYl9lbnRyeSk6IFJlbW92ZS4KCShzdHJ1Y3QgZGxpYl9lbnRyeSk6IEFkZCBvc3ZlcnNpb24uCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC1jYWNoZS5jIChfZGxfbG9hZF9jYWNoZV9sb29rdXApOiBDaGVjawoJb3N2ZXJzaW9uLgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtY2FjaGUuaCAoc3RydWN0IGZpbGVfZW50cnlfbmV3KTogUmVwbGFjZSBfX3VudXNlZAoJZmllbGQgd2l0aCBvc3ZlcnNpb24uCgkqIHN5c2RlcHMvZ2VuZXJpYy9sZHNvZGVmcy5oIChfZGxfb3N2ZXJzaW9uKTogRGVjbGFyZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaW5pdC1maXJzdC5jOiBJbmNsdWRlIGxkc29kZWZzLmguCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2RsLW9zaW5mby5oIChETF9TWVNERVBfT1NDSEVDSyk6IFNhdmUga2VybmVsCgl2ZXJzaW9uIGluIF9kbF9vc3ZlcnNpb24uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2NvbmZpZ3VyZS5pbjogRGVmaW5lIF9fQUJJX1RBR19WRVJTSU9OLgoJKiBNYWtlcnVsZXMgKGJ1aWxkLXNobGliLWhlbHBlciwgYnVpbGQtbW9kdWxlLWhlbHBlcik6IE5ldy4KCShidWlsZC1zaGxpYiwgYnVpbGQtbW9kdWxlLWhlbHBlcik6IE1ha2Ugc3VyZSAubm90ZS5BQkktdGFnIGNvbWVzCgllYXJseS4KCSogY29uZmlnLmguaW4gKF9fQUJJX1RBR19WRVJTSU9OKTogQWRkLgoJKiBlbGYvZGwtbWluaW1hbC5jIChfX3N0cnRvdWxfaW50ZXJuYWwpOiBTZXQgZW5kcHRyIG9uIHJldHVybi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9kbC1saWJyZWNvbi5oIChFWFRSQV9MRF9FTlZWQVJTKToKCUhhbmRsZSBMRF9BU1NVTUVfS0VSTkVMLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9kbC1saWJyZWNvbi5oOiBOZXcuCgoyMDAxLTAzLTE1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHRpbWV6b25lL2FudGFyY3RpY2E6IFVwZGF0ZSBmcm9tIHR6ZGF0YTIwMDFhLgoJKiB0aW1lem9uZS9hc2lhOiBMaWtld2lzZS4KCSogdGltZXpvbmUvYXVzdHJhbGFzaWE6IExpa2V3aXNlLgoJKiB0aW1lem9uZS9iYWNrd2FyZDogTGlrZXdpc2UuCgkqIHRpbWV6b25lL2V0Y2V0ZXJhOiBMaWtld2lzZS4KCSogdGltZXpvbmUvZXVyb3BlOiBMaWtld2lzZS4KCSogdGltZXpvbmUvbGVhcHNlY29uZHM6IExpa2V3aXNlLgoJKiB0aW1lem9uZS9ub3J0aGFtZXJpY2E6IExpa2V3aXNlLgoJKiB0aW1lem9uZS9zb3V0aGFtZXJpY2E6IExpa2V3aXNlLgoJKiB0aW1lem9uZS9zeXN0ZW12OiBMaWtld2lzZS4KCSogdGltZXpvbmUveWVhcmlzdHlwZTogTGlrZXdpc2UuCgkqIHRpbWV6b25lL3pvbmUudGFiOiBMaWtld2lzZS4KCSogdGltZXpvbmUvdHpkdW1wLmM6IFVwZGF0ZSBmcm9tIHR6Y29kZTIwMDFhLgoKMjAwMS0wMy0xNSAgSC5KLiBMdSAgPGhqbEBnbnUub3JnPgoKCSogaW50bC9NYWtlZmlsZTogRml4IGEgdHlwby4KCjIwMDEtMDMtMTQgIERhdmlkIE1vc2JlcmdlciAgPGRhdmlkbUBocGwuaHAuY29tPgoKCSogZ21vbi9nbW9uLmMgKHdyaXRlX2NhbGxfZ3JhcGgpOiBBdm9pZCB1bmFsaWduZWQgYWNjZXNzZXMgd2hlbgoJd3JpdGluZyBhcmMgc3RydWN0dXJlcy4KCjIwMDEtMDMtMTUgIEguSi4gTHUgIDxoamxAZ251Lm9yZz4KCgkqIGVsZi9NYWtlZmlsZSAoJChvYmpwZngpdHN0LXBhdGhvcHQub3V0KTogUHJvdGVjdGVkIGFnYWluc3QKCWNyb3NzLWNvbXBpbGluZy4KCjIwMDEtMDMtMTMgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBwb3NpeC9QVEVTVFMyQy5zZWQ6IFJlcGxhY2UgbGl0ZXJhbCBDUnMgYnkgYFxyJy4KCjIwMDEtMDMtMTUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvY21zZ19ueHRoZHIuYyAoX19jbXNnX254dGhkcik6IEZpeCB0ZXN0Cglmb3IgY29udHJvbCBtZXNzYWdlIGZpdHRpbmcgaW50byBtZXNzYWdlIGRhdGEuCglQYXRjaCBieSBKYW1lcyBBbnRpbGwgPGphbWVzQGFuZC5vcmc+LgoKCSogcG9zaXgvdHN0LWZubWF0Y2guaW5wdXQ6IEFkZCB0ZXN0IGNhc2UgZm9yIEZOTV9QRVJJT0QgaGFuZGxpbmcgd2l0aAoJRk5NX0VYVE1BVENILgoKCSogcG9zaXgvZm5tYXRjaF9sb29wLmM6IE9wdGltaXplIGhhbmRsaW5nIG9mID8oKSBhbmQgQCgpLgoJKiBwb3NpeC9mbm1hdGNoLmM6IERlZmluZSBTVFJMRU4gYW5kIFNUUkNBVCBhcHByb3ByaWF0ZWx5LgoKCSogcG9zaXgvVmVyc2lvbnMgW2xpYmNdIChHTElCQ18yLjIuMyk6IEFkZCBmbm1hdGNoLgoJKiBwb3NpeC9mbm1hdGNoLmM6IERlZmluZSB3aXRoIG5ldyBkZWZhdWx0IHZlcnNpb24gR0xJQkNfMi4yLjMgdG8KCWF2b2lkIHJ1bm5pbmcgYmluYXJpZXMgd2l0aCBsaWJjIHZlcnNpb25zIHdpdGhvdXQgRk5NX0VYVE1BVENIIHN1cHBvcnQuCgoJKiBpbmNsdWRlL3djaGFyLmg6IEFkZCBwcm90b3R5cGUgZm9yIF9fd2NzY2F0LgoJKiB3Y3NtYnMvd2NzY2F0LmM6IERlZmluZSBfX3djc2NhdCBhbmQgbWFrZSB3Y3NjYXQgd2VhayBhbGlhcy4KCgkqIHBvc2l4L2ZubWF0Y2guaCAoRk5NX0VYVE1BVENIKTogRGVmaW5lLgoJKiBwb3NpeC9mbm1hdGNoLmMgKE5PX0xFQURJTkdfUEVSSU9EKTogRGVmaW5lLgoJKHBvc2l4bHlfY29ycmVjdCk6IE1vdmUgZ2xvYmFsIHZhcmlhYmxlIGhlcmUuCgkoSU5ULCBFWFQsIEVORCk6IE5hbWUgbmV3IGZ1bmN0aW9ucyBkZWZpbmVkIGluIGZubWF0Y2hfbG9vcC5jLgoJKGZubWF0Y2gpOiBQcmV0dHkgcHJpbnRpbmcuCgkqIHBvc2l4L2ZubWF0Y2hfbG9vcC5jOiBBZGQgY29kZSB0byBoYW5kbGUgRk5NX0VYVE1BVENILgoJKiBwb3NpeC90c3QtZm5tYXRjaC5jOiBSZWNvZ25pemUgRVhUTUFUQ0ggZmxhZy4KCSogcG9zaXgvdHN0LWZubWF0Y2guaW5wdXQ6IEFkZCB0ZXN0cyBmb3IgZXh0ZW5kZWQgbWF0Y2hpbmcuCgoJKiBwb3NpeC90ZXN0Zm5tLmM6IEFkZCB0ZXN0IGZvciBwYXR0ZXJucyB3aXRoIG11bHRpcGxlICoqIGJlZm9yZSAvLgoJKiBwb3NpeC9mbm1hdGNoX2xvb3AuYzogRml4IHByb2JsZW0gd2l0aCB0aGUgdGVzdCBhYm92ZS4KCjIwMDEtMDMtMTQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9pZWVlNzU0L2RibC02NC9lX3NxcnQuYyAoX19pZWVlNzU0X3NxcnQpOiBSZW1vdmUKCXJlZmVyZW5jZSB0byB1c3FydC4KCgkqIHJlc29sdi9yZXNfZGF0YS5jIChmcF9ucXVlcnkpOiBDYWxsIF9fcmVzX25pbml0IG5vdCBfX3Jlc19pbml0LgoKMjAwMS0wMy0xMiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9yZWFkZWxmbGliLmMgKHByb2Nlc3NfZWxmX2ZpbGUpOgoJVXNlIEVNX1g4Nl82NCBpbnN0ZWFkIG9mIEVNX1g4NjY0LgoKMjAwMS0wMy0xMiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L3Vwb3cuaDogRGVmaW5lIG5aRVJPIGFuZCBuSU5GLgoKCSogc3lzZGVwcy9pZWVlNzU0L2RibC02NC9lX3JlbWFpbmRlci5jOiBGaXggaGFuZGxpbmcgb2YgYm91bmRhcnkKCWNvbmRpdGlvbnMuCgoJKiBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L2VfcG93LmM6IEZpeCBoYW5kbGluZyBvZiBib3VuZGFyeQoJY29uZGl0aW9ucy4KCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvc19zaW4uYyAoX19zaW4pOiBIYW5kbGUgSW5mIGFuZCBOYU4KCWNvcnJlY3RseS4KCShfX2Nvcyk6IExpa2V3aXNlLgoKCSogc3lzZGVwcy9pZWVlNzU0L2RibC02NC9lX2FzaW4uYyAoX19pZWVlNzU0X2FzaW4pOiBIYW5kbGUgTmFOCgljb3JyZWN0bHkuCgkoX19pZWVlNzU0X2Fjb3MpOiBMaWtld2lzZS4KCjIwMDEtMDMtMTIgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvc3lzZGVwLmggKF9MSU5VWF9TMzkwX1NZU0RFUF9IKToKCUZpeCB0eXBvLiAgUGF0Y2ggYnkgTWFydGluIFNjaHdpZGVmc2t5CTxzY2h3aWRlZnNreUBkZS5pYm0uY29tPi4KCgkqIHN5c2RlcHMvczM5MC9iaXRzL3N0cmluZy5oOiBQcm90ZWN0IF9fU1RSSU5HX0lOTElORSBhZ2FpbnN0CglyZWRlZmluaXRpb24uCgoyMDAxLTAzLTExICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEBmcm9iLmNvbT4KCgkqIHN5c2RlcHMvbWFjaC9odXJkL2NvbmZpZ3VyZS5pbjogQWRkIGEgc2FuaXR5IGNoZWNrIG9uICRwcmVmaXguCgoyMDAxLTAzLTExICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvZW5kaWFuLmg6IERlZmluZSBhbHNvIG9uZSBvZiBCSUdfRU5ESSBhbmQKCUxJVFRMRV9FTkRJLgoKCSogc3lzZGVwcy9pZWVlNzU0L2RibC02NC9NYXRoTGliLmggKEluaXRfTGliKTogVXNlIHZvaWQgYXMKCXBhcmFtZXRlciBsaXN0LgoKCUxhc3QtYml0IGFjY3VyYXRlIG1hdGggbGlicmFyeSBpbXBsZW1lbnRhdGlvbiBieSBJQk0gSGFpZmEuCglDb250cmlidXRlZCBieSBBYnJhaGFtIFppdiA8eml2QGlsLmlibS5jb20+LCBNb3NoZSBPbHNoYW5za3kKCTxvbHNoYW5za0BpbC5pYm0uY29tPiwgRWFsYW4gSGVuaXMgPGVhbGFuQGlsLmlibS5jb20+LCBhbmQKCUFubmEgUmVpdG1hbiA8cmVpdG1hbkBpbC5pYm0uY29tPi4KCSogbWF0aC9NYWtlZmlsZSAoZGJsLW9ubHktcm91dGluZXMpOiBOZXcgdmFyaWFibGUuCgkobGlibS1yb3V0aW5lcyk6IEFkZCAkKGRibC1vbmx5LXJvdXRpbmVzKS4KCSogc3lzZGVwcy9pZWVlNzU0L2RibC02NC9lX2Fjb3MuYzogRW1wdHksIGRlZmluaXRpb24gaXMgaW4gZV9hc2luLmMuCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvZV9hc2luLmM6IFJlcGxhY2VkIHdpdGggYWNjdXJhdGUgYXNpbgoJaW1wbGVtZW50YXRpb24uCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvZV9hdGFuMi5jOiBSZXBsYWNlZCB3aXRoIGFjY3VyYXRlIGF0YW4yCglpbXBsZW1lbnRhdGlvbi4KCSogc3lzZGVwcy9pZWVlNzU0L2RibC02NC9lX2V4cC5jOiBSZXBsYWNlZCB3aXRoIGFjY3VyYXRlIGV4cAoJaW1wbGVtZW50YXRpb24uCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvZV9sZ2FtbWFfci5jOiBEb24ndCB1c2UgX19rZXJuZWxfc2luIGFuZAoJX19rZXJuZWxfY29zLgoJKiBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L2VfbG9nLmM6IFJlcGxhY2VkIHdpdGggYWNjdXJhdGUgbG9nCglpbXBsZW1lbnRhdGlvbi4KCSogc3lzZGVwcy9pZWVlNzU0L2RibC02NC9lX3JlbWFpbmRlci5jOiBSZXBsYWNlZCB3aXRoIGFjY3VyYXRlCglyZW1haW5kZXIgaW1wbGVtZW50YXRpb24uCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvZV9wb3cuYzogUmVwbGFjZWQgd2l0aCBhY2N1cmF0ZSBwb3cKCWltcGxlbWVudGF0aW9uLgoJKiBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L2Vfc3FydC5jOiBSZXBsYWNlZCB3aXRoIGFjY3VyYXRlIHNxcnQKCWltcGxlbWVudGF0aW9uLgoJKiBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L2tfY29zLmM6IEVtcHR5LCBkZWZpbml0aW9uIGlzIGluIHNfc2luLmMuCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQva19zaW4uYzogRW1wdHksIGRlZmluaXRpb24gaXMgaW4gc19zaW4uYy4KCSogc3lzZGVwcy9pZWVlNzU0L2RibC02NC9zX2F0YW4uYzogUmVwbGFjZWQgd2l0aCBhY2N1cmF0ZSBhdGFuCglpbXBsZW1lbnRhdGlvbi4KCSogc3lzZGVwcy9pZWVlNzU0L2RibC02NC9zX2Nvcy5jOiBFbXB0eSwgZGVmaW5pdGlvbiBpcyBpbiBzX3Npbi5jLgoJKiBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L3Nfc2luLmM6IFJlcGxhY2VkIHdpdGggYWNjdXJhdGUgc2luL2NvcwoJaW1wbGVtZW50YXRpb24uCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvc19zaW5jb3MuYzogUmV3cml0dGVuIHRvIG5vdCB1c2UgX19rZXJuZWxfc2luCglhbmQgX19rZXJuZWxfY29zLgoJKiBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L3NfdGFuLmM6IFJlcGxhY2VkIHdpdGggYWNjdXJhdGUgdGFuCglpbXBsZW1lbnRhdGlvbi4KCSogc3lzZGVwcy9pZWVlNzU0L2RibC02NC9EaXN0OiBBZGQgbmV3IG5vbi1jb2RlIGZpbGVzLgoJKiBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L01hdGhMaWIuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvYXNpbmNvcy50Ymw6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L2F0bmF0Lmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L2F0bmF0Mi5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pZWVlNzU0L2RibC02NC9icmFucmVkLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L2JyYW5yZWQuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvZGxhLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L2RvYXNpbi5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pZWVlNzU0L2RibC02NC9kb2FzaW4uaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvZG9zaW5jb3MuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvZG9zaW5jb3MuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvZW5kaWFuLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L2hhbGZ1bHAuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvbXBhLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L21wYS5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pZWVlNzU0L2RibC02NC9tcGEyLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L21wYXRhbi5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pZWVlNzU0L2RibC02NC9tcGF0YW4uaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvbXBhdGFuMi5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pZWVlNzU0L2RibC02NC9tcGV4cC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pZWVlNzU0L2RibC02NC9tcGV4cC5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pZWVlNzU0L2RibC02NC9tcGxvZy5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pZWVlNzU0L2RibC02NC9tcGxvZy5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pZWVlNzU0L2RibC02NC9tcHNxcnQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvbXBzcXJ0Lmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L21wdGFuLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L215ZGVmcy5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pZWVlNzU0L2RibC02NC9wb3d0d28udGJsOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pZWVlNzU0L2RibC02NC9yb290LnRibDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvc2luY29zLnRibDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvc2luY29zMzIuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvc2luY29zMzIuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvc2xvd2V4cC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pZWVlNzU0L2RibC02NC9zbG93cG93LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L3Vhc25jcy5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pZWVlNzU0L2RibC02NC91YXRhbi50Ymw6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L3VleHAuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvdWV4cC50Ymw6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L3Vsb2cuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvdWxvZy50Ymw6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L3Vwb3cuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvdXBvdy50Ymw6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L3VyZW0uaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvdXJvb3QuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvdXNuY3MuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWVlZTc1NC9kYmwtNjQvdXRhbi5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pZWVlNzU0L2RibC02NC91dGFuLnRibDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaTM4Ni9mcHUvYnJhbnJlZC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pMzg2L2ZwdS9kb2FzaW4uYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaTM4Ni9mcHUvZG9zaW5jb3MuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaTM4Ni9mcHUvaGFsZnVscC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pMzg2L2ZwdS9tcGEuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaTM4Ni9mcHUvbXBhdGFuLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2kzODYvZnB1L21wYXRhbjIuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaTM4Ni9mcHUvbXBleHAuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaTM4Ni9mcHUvbXBsb2cuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaTM4Ni9mcHUvbXBzcXJ0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2kzODYvZnB1L21wdGFuLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2kzODYvZnB1L3NpbmNvczMyLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2kzODYvZnB1L3Nsb3dleHAuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaTM4Ni9mcHUvc2xvd3Bvdy5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9icmFucmVkLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L2RvYXNpbi5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9kb3NpbmNvcy5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9oYWxmdWxwLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L21wYS5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9tcGF0YW4uYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvbXBhdGFuMi5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9tcGV4cC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9tcGxvZy5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9tcHNxcnQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvbXB0YW4uYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvc2luY29zMzIuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvc2xvd2V4cC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9zbG93cG93LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL202OGsvZnB1L2JyYW5yZWQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvbTY4ay9mcHUvZG9hc2luLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL202OGsvZnB1L2Rvc2luY29zLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL202OGsvZnB1L2hhbGZ1bHAuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvbTY4ay9mcHUvbXBhLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL202OGsvZnB1L21wYXRhbi5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9tNjhrL2ZwdS9tcGF0YW4yLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL202OGsvZnB1L21wZXhwLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL202OGsvZnB1L21wbG9nLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL202OGsvZnB1L21wc3FydC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9tNjhrL2ZwdS9tcHRhbi5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9tNjhrL2ZwdS9zaW5jb3MzMi5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9tNjhrL2ZwdS9zbG93ZXhwLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL202OGsvZnB1L3Nsb3dwb3cuYzogTmV3IGZpbGUuCgoJKiBpY29udmRhdGEvZ2NvbnYtbW9kdWxlczogQWRkIGEgbnVtYmVyIG9mIGFsaWFzLCBtb3N0bHkgZm9yIElCTQoJY29kZXBhZ2VzLgoKMjAwMS0wMy0xMSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogZWxmL2VsZi5oIChFTV8qKTogU3luY2ggd2l0aCBvZmZpY2lhbCBsaXN0LgoKMjAwMS0wMy0wNyAgRGF2aWQgTW9zYmVyZ2VyICA8ZGF2aWRtQGhwbC5ocC5jb20+CgoJKiBzeXNkZXBzL2lhNjQvYml0cy9mZW52LmggKEZFX05PTklFRUVfRU5WKTogTmV3IG1hY3JvLgoKMjAwMS0wMy0wNyAgSmVzIFNvcmVuc2VuICA8amVzQGxpbnV4Y2FyZS5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2lvcGVybS5jIChfaW9wZXJtKTogUmVtb3ZlIHVudXNlZAoJdmFyaWFibGVzIGFkZHIgJiBsZW4uCgoyMDAxLTAyLTIyICBKZXMgU29yZW5zZW4gIDxqZXNAbGludXhjYXJlLmNvbT4KCgkqIHN5c2RlcHMvaWE2NC9mcHUvZmVlbmFibHhjcHQuYyAoZmVlbmFibGVleGNlcHQpOiBSZW1vdmUKCXB1bmN0dWF0aW9uIGluIGFzbSBjb25zdHJhaW50LgoKMjAwMS0wMy0wNyAgTWFyayBLZXR0ZW5pcyAgPGtldHRlbmlzQGdudS5vcmc+CgoJKiByZXNvbHYvbmV0ZGIuaCBbX19VU0VfR05VXTogRGVmaW5lIF9fbmVlZF90aW1lc3BlYyBhbmQgaW5jbHVkZQoJPHRpbWUuaD4gdG8gZ2V0IGRlZmluaXRpb24gb2YgYHN0cnVjdCB0aW1lc3BlYycuCgoyMDAxLTAzLTA4ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGVsZi9ydGxkLmMgKGRsX21haW4pOiBJZiB0cmFjaW5nLCB3YXJuIGFib3V0IHVuZGVmaW5lZCBzeW1ib2xzIGlmCglMRF9XQVJOPTEsIG5vdCBpZiBMRF9XQVJOIGlzIHVuc2V0LgoKMjAwMS0wMy0wNyAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIGVsZi9sZGNvbmZpZy5oOiBNb3ZlZCB0byAuLi4KCSogc3lzZGVwcy9nZW5lcmljL2xkY29uZmlnLmg6IC4uLiBoZXJlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2xkY29uZmlnLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9tNjhrL2xkY29uZmlnLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2xkY29uZmlnLmg6IE5ldyBmaWxlLgoJKiBlbGYvcmVhZGxpYi5jIChpbnRlcnByZXRlcnMsIGtub3duX2xpYnMpOiBVc2UKCVNZU0RFUF9LTk9XTl9JTlRFUlBSRVRFUl9OQU1FUyBhbmQgU1lTREVQX0tOT1dOX0xJQlJBUllfTkFNRVMKCWluc3RlYWQgb2YgaGFyZCBjb2Rpbmcgb2xkIG5hbWVzLgoKMjAwMS0wMy0wOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBjYXRnZXRzL01ha2VmaWxlIChnZW5lcmF0ZWQpOiBBZGQgdGVzdC1nZW5jYXQuaC4KCShzYW1wbGUuU0pJUy5jYXQpOiBBbHNvIGdlbmVyYXRlIGhlYWRlci4KCSogY2F0Z2V0cy9zYW1wbGUuU0pJUzogQWRkIG5ldyBzZXQgYW5kIG1lc3NhZ2UsIGJvdGggd2l0aCBzeW1ib2xpYwoJbmFtZXMuCgkqIGNhdGdldHMvdGVzdC1nZW5jYXQuc2g6IEFsc28gY29tcGFyZSBnZW5lcmF0ZWQgaGVhZGVyIHdpdGggd2hhdAoJd2UgZXhwZWN0LgoKMjAwMS0wMy0wNyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBjYXRnZXRzL2dlbmNhdC5jIChyZWFkX2lucHV0X2ZpbGUpOiBQcmVzZXJ2ZSBwcm9wZXJseSBzeW1ib2xpYwoJbmFtZXMuCgoyMDAxLTAzLTA2ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3MzOTAvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9yZWxwbHQpOiBSZW1vdmVkLCBpdCdzIG5vdAoJbmVlZGVkLgoJKGVsZl9tYWNoaW5lX3BsdHJlbF9wKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG93ZXJwYy9kbC1tYWNoaW5lLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9wbHRyZWxfcCk6IExpa2V3aXNlLgoKMjAwMS0wMy0wOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vRGlzdDogQWRkIGRsLXByb2NpbmZvLmMgYW5kCglkbC1wcm9jaW5mby5oLgoKMjAwMS0wMy0wNSAgUGhpbGlwIEJsdW5kZWxsICA8cGhpbGJAZ251Lm9yZz4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9kbC1wcm9jaW5mby5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL2RsLXByb2NpbmZvLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vTWFrZWZpbGUgW3N1YmRpcj1lbGZdCgkoc3lzZGVwLWRsLXJvdXRpbmVzLCBzeXNkZXBfcm91dGluZXMsIHN5c2RlcC1ydGxkLXJvdXRpbmVzKTogQWRkCglkbC1wcm9jaW5mby4KCjIwMDEtMDMtMDkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZGxmY24vdHN0YXRleGl0LmMgKG1haW4pOiBEb24ndCBwZXJmb3JtIHRoZSB0ZXN0IGlmIF9fZHNvX2hhbmRsZQoJaXMgbm90IGF2YWlsYWJsZS4KCSogZGxmY24vdHN0Y3hhYXRleGl0LmMgKG1haW4pOiBMaWtld2lzZS4KCjIwMDEtMDMtMTAgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvaTM4Ni9mcHUvbGlibS10ZXN0LXVscHM6IFJldmVydCBsYXN0IHBhdGNoLgoKMjAwMS0wMy0wOSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy9zMzkwL2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfbWF0Y2hlc19ob3N0KTogSGFuZGxlCglib3RoIG5ldyBhbmQgb2xkIEVNX1MzOTAgdmFsdWVzLgoJKEVNX1MzOTBfT0xEKTogTmV3IGNvbnN0YW50LgoKCSogZWxmL2VsZi5oIChFTV9TMzkwKTogVXNlIG9mZmljaWFsIHZhbHVlLgoKMjAwMS0wMy0wOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBjb25mb3JtL2RhdGEvc3lzL3NvY2tldC5oLWRhdGE6IEFsbG93IFNPKiBzeW1ib2xzLgoKMjAwMS0wMy0wNyAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIHN5c2RlcHMvaWE2NC9mcHUvTWFrZWZpbGU6IE1vZGlmeSBzeXNkZXBfcm91dGluZXMgaW5zdGVhZCBvZgoJcm91dGluZXMsIGFuZCBzeXNkZXAtQ1BQRkxBR1MgaW5zdGVhZCBvZiBDUFBGTEFHUy4KCjIwMDEtMDMtMDcgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHJlc29sdi9NYWtlZmlsZSAocm91dGluZXMpOiBPbmx5IGJ1aWxkIGdhaV9zaWdxdWV1ZSB3aGVuIHRocmVhZHMKCWFyZSBhdmFpbGFibGUuCgoyMDAxLTAzLTA3ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGVsZi9sZGNvbmZpZy5jIChfZGxfc3lzZGVwX21lc3NhZ2UpOiBSZW1vdmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjMzIvZGwtcHJvY2luZm8uaDogSW5jbHVkZQoJbGRzb2RlZnMuaC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9kbC1wcm9jaW5mby5oOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmMzMi9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX3JlbGEpOiBVc2UKCV9kbF9lcnJvcl9wcmludGYgaW5zdGVhZCBvZiBfZGxfc3lzZGVwX2Vycm9yLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjNjQvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9yZWxhKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjMzIvZGwtcHJvY2luZm8uaCAoX2RsX3Byb2NpbmZvKToKCVVzZSBfZGxfcHJpbnRmIGluc3RlYWQgb2YgX2RsX3N5c2RlcF9tZXNzYWdlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L2RsLXByb2NpbmZvLmggKF9kbF9wcm9jaW5mbyk6CglMaWtld2lzZS4KCjIwMDEtMDMtMDYgIEJlbiBDb2xsaW5zICA8YmNvbGxpbnNAZGViaWFuLm9yZz4KCgkqIG1hbnVhbC9hcml0aC50ZXhpIChJbnRlZ2Vycyk6IEZpeCBkb2N1bWVudGF0aW9uIG9mIGZhc3QgYW5kCglsZWFzdCBpbnRlZ2VyIHR5cGVkZWZzLgoKMjAwMS0wMy0wNiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiByZXNvbHYvRGVwZW5kOiBOZXcgZmlsZS4KCSogcmVzb2x2L01ha2VmaWxlIChleHRyYS1saWJzLCB0ZXN0cyk6IEJ1aWxkIGxpYmFubCBhbmQgZ2FfdGVzdCBvbmx5Cgl3aGVuIGxpYnB0aHJlYWQgaXMgYnVpbHQuCgoyMDAxLTAzLTA2ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL2kzODYvZnB1L2xpYm0tdGVzdC11bHBzOiBBZGQgc29tZSBkZWx0YXMuCgoJKiBzeXNkZXBzL3NoL2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfcmVsYSk6IEFkZCBtaXNzaW5nIGNvbW1hLgoJUGF0Y2ggYnkga2F6IEtvamltYSA8a2tvamltYUByci5paWo0dS5vci5qcD4uCgoyMDAxLTAzLTA1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN0ZGxpYi9WZXJzaW9uczogUmVtb3ZlIF9fbmV3X2V4aXRmbiBhZ2Fpbi4gIE5vdCBuZWVkZWQuCgoyMDAxLTAzLTA1ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzdGRsaWIvbXNvcnQuYyAocXNvcnQpOiBEb24ndCB1c2UgYWxsb2NhIGluIGEgZnVuY3Rpb24gY2FsbC4KCjIwMDEtMDMtMDUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYml0cy9zdGF0LmggKF9fU19UWVBFSVNNUSwgX19TX1RZUEVJU1NFTSwKCV9fU19UWVBFSVNTSE0pOiBSZXdyaXRlIHRvIGVuZm9yY2UgY29ycmVjdCB1c2UgdGhlIG1hY3Jvcy4gIFRoZXkgc3RpbGwKCWFsd2F5cyByZXR1cm4gemVyby4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvYml0cy9zdGF0Lmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2JpdHMvc3RhdC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9iaXRzL3N0YXQuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L202OGsvYml0cy9zdGF0Lmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL2JpdHMvc3RhdC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9iaXRzL3N0YXQuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL2JpdHMvc3RhdC5oOiBMaWtld2lzZS4KCjIwMDEtMDMtMDQgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN0ZGxpYi9sb25nbG9uZy5oOiBEb24ndCB1c2UgbXVsdGktbGluZSBzdHJpbmdzLgoJKiBpY29udmRhdGEvdHN0LWxvYWRpbmcuYzogTGlrZXdpc2UuCgoJKiBjc3UvTWFrZWZpbGUgKCQob2JqcGZ4KXZlcnNpb24taW5mby5oKTogRG9uJ3QgdXNlIG11bHRpLWxpbmUKCXN0cmluZy4KCjIwMDEtMDMtMDQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9pYTY0L2ZwdS9saWJtLXRlc3QtdWxwczogQWRqdXN0IGZvciBhZGRpdGlvbiBvZiBsZ2FtbWFsLgoKCSogcnQvbGlvX2xpc3Rpby5jOiBBZGQgYSBmZXcgYXNzZXJ0cy4KCgkqIGVsZi9nbG9iYWwuYzogTmV3IGZpbGUuCgkqIGVsZi9nbG9iYWxtb2QxLmM6IE5ldyBmaWxlLgoJKiBlbGYvTWFrZWZpbGU6IEFkZCBydWxlcyB0byBidWlsZCBhbmQgcnVuIGdsb2JhbC4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2JpdHMvc2lnaW5mby5oOiBEZWZpbmUgU0lfQVNZTkNOTC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9iaXRzL3NpZ2luZm8uaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvYml0cy9zaWdpbmZvLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9iaXRzL3NpZ2luZm8uaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQvYml0cy9zaWdpbmZvLmg6IExpa2V3aXNlLgoKCSogc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYvZV9sZ2FtbWFsX3IuYzogTmV3IGZpbGUuCglDb250cmlidXRlZCBieSBTdGVwaGVuIEwuIE1vc2hpZXIgPG1vc2hpZXJAbmEtbmV0Lm9ybmwuZ292Pi4KCgkqIHN5c2RlcHMvaWVlZTc1NC9sZGJsLTk2L2VfZ2FtbWFsX3IuYzogRml4IGhhbmRsaW5nIG9mIGJvdW5kYXJ5IGNhc2VzLgoKCSogc3lzZGVwcy9pZWVlNzU0L2RibC02NC9lX2dhbW1hX3IuYzogQWx3YXlzIGluaXRpYWxpemUgc2lnbiB2YXJpYWJsZS4KCSogc3lzZGVwcy9pZWVlNzU0L2ZsdC0zMi9lX2dhbW1hZl9yLmM6IExpa2V3aXNlLgoKCSogc3lzZGVwcy9pMzg2L2ZwdS9saWJtLXRlc3QtdWxwczogQWRqdXN0IGFmdGVyIGFkZGl0aW9uIG9mIGxnYW1tYWwuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2JpdHMvc2lnaW5mby5oOiBGaXggdHlwbyBpbiBsYXN0IGNoYW5nZS4KCjIwMDEtMDMtMDQgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHJlc29sdi90c3QtYXRvbi5jOiBBZGQgdGVzdGNhc2UgZm9yIElQIHdpdGggZm91ciBwZXJpb2RzLgoKCSogcmVzb2x2L2luZXRfYWRkci5jOiBEb24ndCByZWNvZ25pemUgYW4gSVAgd2l0aCBmb3VyIHBlcmlvZHMuCglQYXRjaCBieSBBbmRyZScgQnJlaWxlciA8QS5CcmVpbGVyQGdteC5uZXQ+LgoKMjAwMS0wMi0yNyAgUGhpbGlwIEJsdW5kZWxsICA8cGJAZnV0dXJldHYuY29tPgoKCSogZWxmL2VsZi5oOiBBZGQgbmV3IEFSTSBkZWZpbml0aW9ucyBmcm9tIGxhdGVzdCAoQi0wMSkKCXNwZWNpZmljYXRpb24uICBDb3JyZWN0IG5hbWluZyBvZiBFRl9BUk1fQUxJR044IGV0IGFsLgoKMjAwMS0wMy0wNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzdGRpby1jb21tb24vdHN0LXByaW50Zi5zaDogUmVtb3ZlIGJhc2hpc21zLgoJUGF0Y2ggYnkgTWF0dGhldyBDbGFya2UgPE1hdHRoZXdfQ2xhcmtlQG1pbmRsaW5rLmJjLmNhPi4KCjIwMDEtMDMtMDMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogVmVyc2lvbnMuZGVmOiBBZGQgbGliYW5sIGRlZmluaXRpb24uCgkqIHNobGliLXZlcnNpb25zOiBBZGQgZW50cnkgZm9yIGxpYmFubC4KCSogcmVzb2x2L01ha2VmaWxlIChkaXN0cmlidXRlKTogQWRkIGdhaV9taXNjLmggYW5kIGdhX3Rlc3QuYy4KCShyb3V0aW5lcyk6IEFkZCBnYWlfc2lncXVldWUuCgkoZXh0cmEtbGlicyk6IEFkZCBsaWJhbmwuCgkobGliYW5sLXJvdXRpbmVzKTogTmV3IHZhcmlhYmxlLgoJQWRkIHJ1bGVzIHRvIGJ1aWxkIGxpYmFubCBhbmQgZ2FfdGVzdC4KCSogcmVzb2x2L1ZlcnNpb25zIFtsaWJjXSAoR0xJQkNfMi4yLjMpOiBBZGQgX19nYWlfc2lncXVldWUuCglbbGliYW5sXTogTmV3IGxpYnJhcnkuCgkqIHJlc29sdi9uZXRkYi5oOiBBZGQgZGVmaW5pdGlvbnMgZm9yIGxpYmFubC4KCSogcmVzb2x2L2dldGFkZHJpbmZvX2EuYzogTmV3IGZpbGUuCgkqIHJlc29sdi9nYWlfY2FuY2VsLmM6IE5ldyBmaWxlLgoJKiByZXNvbHYvZ2FpX2Vycm9yLmM6IE5ldyBmaWxlLgoJKiByZXNvbHYvZ2FpX21pc2MuYzogTmV3IGZpbGUuCgkqIHJlc29sdi9nYWlfbWlzYy5oOiBOZXcgZmlsZS4KCSogcmVzb2x2L2dhaV9ub3RpZnkuYzogTmV3IGZpbGUuCgkqIHJlc29sdi9nYWlfc3VzcGVuZC5jOiBOZXcgZmlsZS4KCSogcmVzb2x2L2dhX3Rlc3QuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvZ2VuZXJpYy9nYWlfc2lncXVldWUuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2dhaV9zaWdxdWV1ZS5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9nZW5lcmljL2JpdHMvc2lnaW5mby5oOiBBbGxvdyBfX25lZWRfc2lnZXZlbnRfdCBiZWluZyBkZWZpbmVkCglhbmQgcHJvdmlkZSBvbmx5IHRoYXQgZGVmaW5pdGlvbi4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvYml0cy9zaWdpbmZvLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL3NpZ2luZm8uaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvYml0cy9zaWdpbmZvLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL2JpdHMvc2lnaW5mby5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvYml0cy9zaWdpbmZvLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L2JpdHMvc2lnaW5mby5oOiBMaWtld2lzZS4KCgkqIHJ0L2Fpb19taXNjLmM6IEZpeCB0eXBvcyBpbiBjb21tZW50cy4KCSogcnQvbGlvX2xpc3Rpby5jOiBQcmV0dHkgcHJpbnRpbmcuICBMaXR0bGUgb3B0aW1pemF0aW9uIGluIHJlcXVlc3QKCWxpc3QgaGFuZGxpbmcuCgoJKiBlbGYvcnRsZC5jOiBSZW1vdmUgY29tbWVudGVkIG91dCBjb2RlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbGludXhfZnNpbmZvLmggKFNITUZTX1NVUEVSX01BR0lDKToKCVVwZGF0ZSBmb3IgcmVhbCAyLjQga2VybmVscy4KCjIwMDEtMDMtMDEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZWxmL2RsLWxvYWQuYzogUHJldHR5IHByaW50aW5nLgoKCSogZWxmL2RsLW9iamVjdC5jIChfZGxfbmV3X29iamVjdCk6IERvbid0IGFkZCB0aGUgbG9hZGVyJ3Mgc2NvcGUKCXR3aWNlLgoKMjAwMS0wMi0yOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2FscGhhL2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfcmVsYSk6IERvbid0IGhhbmRsZQoJcmVsb2NhdGlvbnMgd2hpY2ggYXJlIG5vdCBpbiBsZC5zbyBpZiBSVExEX0JPT1RTVFJBUCBpcyBkZWZpbmVkLgoKCSogc3lzZGVwcy9wb3dlcnBjL2RsLW1hY2hpbmUuYyAoX19wcm9jZXNzX21hY2hpbmVfcmVsYSk6IEZpeCB0eXBvLgoKCSogZWxmL2RsLW1pc2MuYyAoX2RsX2RlYnVnX3ZkcHJpbnRmKTogRml4IHR5cG8gdmlzaWJsZSBvbiA2NC1iaXQKCW1hY2hpbmVzLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9zeXNkZXAuaCAoQ19URVhUKTogRGVmaW5lLgoKMjAwMS0wMi0yNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3Bvd2VycGMvZWxmL2xpYmMtc3RhcnQuYzogVXNlIG5ldyBvdXRwdXQgZnVuY3Rpb25zIGFuZAoJX2RsX2RlYnVnX21hc2suCgoJKiBlbGYvVmVyc2lvbnMgW2xkXTogRG9uJ3QgZXhwb3J0IF9kbF9kZWJ1Z19tZXNzYWdlIGFueW1vcmUuICBFeHBvcnQKCV9kbF9kZWJ1Z19wcmludGYuCgkqIGVsZi9kbC1taXNjLmM6IFJlbW92ZSBkZWZpbml0aW9uIG9mIF9kbF9zeXNkZXBfb3V0cHV0IGFuZAoJX2RsX2RlYnVnX21lc3NhZ2UuICBEZWZpbmUgX2RsX2RlYnVnX3ZkcHJpbnRmLCBfZGxfZGVidWdfcHJpbnRmLAoJX2RsX2RlYnVnX3ByaW50Zl9jLCBhbmQgX2RsX3ByaW50Zi4KCSogc3lzZGVwcy9nZW5lcmljL2xkc29kZWZzLmg6IERvbid0IGRlY2xhcmUgX2RsX3N5c2RlcF9vdXRwdXQsCglfZGxfZGVidWdfbWVzc2FnZSwgX2RsX3N5c2RlcF9tZXNzYWdlLCBfZGxfc3lzZGVwX2Vycm9yLCBhbmQKCV9kbF9zeXNkZXBfZmF0YWwuICBEZWNsYXJlIF9kbF9kZWJ1Z19wcmludGYsIF9kbF9kZWJ1Z19wcmludGZfYywKCV9kbF9wcmludGYsIF9kbF9lcnJvcl9wcmludGYsIGFuZCBfZGxfZmF0YWxfcHJpbnRmLgoJKiBlbGYvZGwtY2xvc2UuYzogUmVwbGFjZSB1c2Ugb2Ygb2xkIG91dHB1dCBmdW5jdGlvbnMgd2l0aCB0aGUgbmV3CglvbmVzLgoJKiBlbGYvZGwtZGVwcy5jOiBMaWtld2lzZS4KCSogZWxmL2RsLWVycm9yLmM6IExpa2V3aXNlLgoJKiBlbGYvZGwtZmluaS5jOiBMaWtld2lzZS4KCSogZWxmL2RsLWluaXQuYzogTGlrZXdpc2UuCgkqIGVsZi9kbC1sb2FkLmM6IExpa2V3aXNlLgoJKiBlbGYvZGwtbG9va3VwLmM6IExpa2V3aXNlLgoJKiBlbGYvZGwtbWluaW1hbC5jOiBMaWtld2lzZS4KCSogZWxmL2RsLW9wZW4uYzogTGlrZXdpc2UuCgkqIGVsZi9kbC1wcm9maWxlLmM6IExpa2V3aXNlLgoJKiBlbGYvZGwtcmVsb2MuYzogTGlrZXdpc2UuCgkqIGVsZi9kbC12ZXJzaW9uLmM6IExpa2V3aXNlLgoJKiBlbGYvZG8tbG9va3VwLmg6IExpa2V3aXNlLgoJKiBlbGYvcnRsZC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL2RsLWNhY2hlLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtc3lzZGVwLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvbGliYy1zdGFydC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2RsLW1hY2hpbmUuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvYXJtL2RsLW1hY2hpbmUuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaHBwYS9kbC1tYWNoaW5lLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL202OGsvZGwtbWFjaGluZS5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3dlcnBjL2RsLW1hY2hpbmUuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvczM5MC9kbC1tYWNoaW5lLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NoL2RsLW1hY2hpbmUuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2RsLW9zaW5mby5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9kbC1saWJyZWNvbi5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9kbC1wcm9jaW5mby5oOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9sZHNvZGVmcy5oOiBSZW1vdmUgX2RsX3NlY3VyZSBkZWNsYXJhdGlvbi4KCgkqIGRsZmNuL01ha2VmaWxlOiBEb24ndCBydW4gdHN0YXRleGl0IHRlc3QgdW5sZXNzIC5oaWRkZW4gaXMKCXN1cHBvcnRlZCBieSBhc3NlbWJsZXIuCgoJKiBzeXNkZXBzL2dlbmVyaWMvbGRzb2RlZnMuaDogUmVtb3ZlIGNvbW1lbnRlZC1vdXQgdmFyaWFibGUKCWRlY2xhcmFjdGlvbnMuCgoJKiBlbGYvcnRsZC5jOiBMaXR0bGUgb3B0aW1pemF0aW9ucyBpbiBoYW5kbGluZyBfZGxfbGF6eS4KCgkqIGVsZi9jYWNoZS5jIChzYXZlX2NhY2hlKTogUG9ydGFiaWxpdHkgY2hhbmdlcy4KCSogZWxmL2RsLXByb2ZpbGUuYyAoX2RsX3N0YXJ0X3Byb2ZpbGUpOiBMaWtld2lzZS4KCgkqIGVsZi9zbG4uYzogQ2xlYW51cHMuICBSZW1vdmUgYXJiaXRyYXJ5IGxpbWl0cy4KCgkqIGVsZi9kbC1jbG9zZS5jOiBSZXBsYWNlIF9kbF9kZWJ1Z18qIHZhcmlhYmxlcyB3aXRoIF9kbF9kZWJ1Z19tYXNrLgoJKiBlbGYvZGwtZGVwcy5jOiBMaWtld2lzZS4KCSogZWxmL2RsLWZpbmkuYzogTGlrZXdpc2UuCgkqIGVsZi9kbC1pbml0LmM6IExpa2V3aXNlLgoJKiBlbGYvZGwtbG9hZC5jOiBMaWtld2lzZS4KCSogZWxmL2RsLWxvb2t1cC5jOiBMaWtld2lzZS4KCSogZWxmL2RsLW9wZW4uYzogTGlrZXdpc2UuCgkqIGVsZi9kbC1yZWxvYy5jOiBMaWtld2lzZS4KCSogZWxmL2RsLXN1cHBvcnQuYzogTGlrZXdpc2UuCgkqIGVsZi9kbC12ZXJzaW9uLmM6IExpa2V3aXNlLgoJKiBlbGYvZG8tbG9va3VwLmg6IExpa2V3aXNlLgoJKiBlbGYvcnRsZC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL2RsLWNhY2hlLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvbGRzb2RlZnMuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9saWJjLXN0YXJ0LmM6IExpa2V3aXNlLgoJKiBlbGYvVmVyc2lvbnM6IERvbid0IGV4cG9ydCBfZGxfZGVidWdfaW1wY2FsbHMgYW5kIF9kbF9kZWJ1Z19maWxlcy4KCUV4cG9ydCBfZGxfZGVidWdfbWFzay4KCSogVmVyc2lvbnMuZGVmOiBEZWZpbmUgR0xJQkNfMi4yLjMgZm9yIGxkLgoKMjAwMS0wMi0yNiAgR3JlZyBNY0dhcnkgIDxncmVnQG1jZ2FyeS5vcmc+CgoJKiBzeXNkZXBzL3VuaXgvbWFrZS1zeXNjYWxscy5zaCAocHRyKTogSGFuZGxlIGBWJyBrZXlsZXR0ZXIuCgoyMDAxLTAyLTI2ICBQYXVsIEVnZ2VydCAgPGVnZ2VydEB0d2luc3VuLmNvbT4KCglNb2RpZnkgbWtzdGVtcC5jIGFuZCB0ZW1wbmFtZS5jIHNvIHRoYXQgdGhleSBjYW4gYmUgdXNlZCBieQoJR05VIGFwcGxpY2F0aW9ucyBvbiBub24tZ2xpYmMgcGxhdGZvcm1zLgoKCSogbWlzYy9ta3N0ZW1wLmMgKF9fR1RfRklMRSk6IERlZmluZSB0byB6ZXJvIGlmIG5vdCBkZWZpbmVkLgoKCSogc3lzZGVwcy9wb3NpeC90ZW1wbmFtZS5jOiBJbmNsdWRlIDxjb25maWcuaD4gaWYgSEFWRV9DT05GSUdfSC4KCUluY2x1ZGUgPHN0ZGRlZi5oPiwgPHN0ZGludC5oPiwgPHN0cmluZy5oPiBvbmx5IGlmCglTVERDX0hFQURFUlMgfHwgX0xJQkMuCglJbmNsdWRlIDxmY250bC5oPiBvbmx5IGlmIEhBVkVfRkNOVExfSCB8fCBfTElCQy4KCUluY2x1ZGUgPHVuaXN0ZC5oPiBvbmx5IGlmIEhBVkVfVU5JU1REX0ggfHwgX0xJQkMuCglJbmNsdWRlIDxzeXMvdGltZS5oPiBvbmx5IGlmIEhBVkVfU1lTX1RJTUVfSCB8fCBfTElCQy4KCShfX3NldF9lcnJubyk6IERlZmluZSB0aGlzIG1hY3JvIGlmIDxlcnJuby5oPiBkb2Vzbid0LgoJKFBfdG1wZGlyLCBUTVBfTUFYLCBfX0dUX0ZJTEUsIF9fR1RfQklHRklMRSwgX19HVF9ESVIsIF9fR1RfTk9DUkVBVEUpOgoJRGVmaW5lIHRoZXNlIG1hY3JvcyBpZiA8c3RkaW8uaD4gZG9lc24ndC4KCShTX0lTRElSLCBTX0lSVVNSLCBTX0lXVVNSLCBTX0lYVVNSKToKCURlZmluZSB0aGVzZSBtYWNyb3MgaWYgPHN5cy9zdGF0Lmg+IGRvZXNuJ3QuCglJZ25vcmUgPHN5cy9zdGF0Lmg+IFNfSVNESVIgaWYgU1RBVF9NQUNST1NfQlJPS0VOLgoJKHN0YXQ2NCwgX19nZXRwaWQsIF9fZ2V0dGltZW9mZGF5LCBfX21rZGlyLCBfX29wZW4sIF9fb3BlbjY0LAoJbHhzdGF0NjQsIF9feHN0YXQ2NCk6IERlZmluZSBpZiBub3QgX0xJQkMuCgkoc3RydWN0X3N0YXQ2NCk6IE5ldyBtYWNyby4KCShkaXJleGlzdHMsIF9fZ2VuX3RlbXBuYW1lKTogVXNlIGl0LCB0byBhdm9pZCBhCglwb3J0YWJpbGl0eSBwcm9ibGVtIHdpdGggU29sYXJpcyA4LgoJKF9fc2VjdXJlX2dldGVudik6IERlZmluZSBpZiAhIChIQVZFX19fU0VDVVJFX0dFVEVOViB8fCBfTElCQykuCgkoX19nZW5fdGVtcG5hbWUpOiBJbnZva2UgZ2V0dGltZW9mZGF5IG9ubHkgaWYKCUhBVkVfR0VUVElNRU9GREFZIHx8IF9MSUJDOyBvdGhlcndpc2UsIGZhbGwgYmFjayBvbiBwbGFpbiAidGltZSIuCglVc2UgcG9ydGFibGUgbWFjcm9zIGxpa2UgU19JUlVTUiB8IFNfSVdVU1IgcmF0aGVyIHRoYW4gbm9ucG9ydGFibGUKCW9jdGFsIHZhbHVlcyBsaWtlIDA2MDAuCgoyMDAxLTAyLTI2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvaWVlZTc1NC9sZGJsLTk2L2Vfam5sLmM6IE5ldyBmaWxlLgoJQ29udHJpYnV0ZWQgYnkgU3RlcGhlbiBMLiBNb3NoaWVyIDxtb3NoaWVyQG5hLW5ldC5vcm5sLmdvdj4uCgoJKiBzeXNkZXBzL2kzODYvZnB1L2xpYm0tdGVzdC11bHBzOiBVcGRhdGUgZm9yIGpubCBhbmQgeW5sIGludHJvZHVjdGlvbi4KCSogc3lzZGVwcy9pYTY0L2ZwdS9saWJtLXRlc3QtdWxwczogTGlrZXdpc2UuCgoJKiBwb3NpeC93b3JkZXhwLXRlc3QuYyAodGVzdGl0KTogUmVtb3ZlIHdhcm5pbmdzLgoKCSogZGxmY24vTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgbW9kYXRleGl0LmMgYW5kIG1vZGN4YWF0ZXhpdC5jLgoJKHRlc3RzKTogQWRkIHRzdGF0ZXhpdCBhbmQgdHN0Y3hhYXRleGl0LgoJKG1vZHVsZS1uYW1lcyk6IEFkZCBtb2RhdGV4aXQgYW5kIG1vZGN4YWF0ZXhpdC4KCUFkZCBydWxlcyB0byBidWlsZCBhbmQgcnVuIHRzdGF0ZXhpdCBhbmQgdHN0Y3hhYXRleGl0LgoJKiBkbGZjbi9tb2RhdGV4aXQuYzogTmV3IGZpbGUuCgkqIGRsZmNuL21vZGN4YWF0ZXhpdC5jOiBOZXcgZmlsZS4KCSogZGxmY24vdHN0YXRleGl0LmM6IE5ldyBmaWxlLgoJKiBkbGZjbi90c3RjeGFhdGV4aXQuYzogTmV3IGZpbGUuCgoJKiBpby9NYWtlZmlsZTogUGFzcyAtREhBVkVfRE9UX0hJRERFTiB0byBzdGF0IGFuZCBta25vZCBmdW5jdGlvbnMgaWYKCS5oaWRkZW4gaXMgYXZhaWxhYmxlLgoJKiBpby9zdGF0LmM6IElmIC5oaWRkZW4gaXMgYXZhaWxhYmxlIHVzZSBpdCB0byBhdm9pZCBleHBvcnRpbmcKCWZ1bmN0aW9ucy4KCSogaW8vZnN0YXQuYzogTGlrZXdpc2UuCgkqIGlvL2xzdGF0LmM6IExpa2V3aXNlLgoJKiBpby9zdGF0NjQuYzogTGlrZXdpc2UuCgkqIGlvL2ZzdGF0NjQuYzogTGlrZXdpc2UuCgkqIGlvL2xzdGF0NjQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9ta25vZC5jOiBMaWtld2lzZS4KCgkqIG1hbGxvYy9tdHJhY2UuYzogVXNlIF9fY3hhX2F0ZXhpdCBhbmQgbm90IGF0ZXhpdC4KCSogc3lzZGVwcy9nZW5lcmljL2JiX2luaXRfZnVuYy5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL2xpYmMtc3RhcnQuYzogTGlrZXdpc2UuCgoJKiBzdGRsaWIvYXRleGl0LmMgKF9fbmV3X2V4aXRmbik6IE1vdmUgdG8gY3hhX2F0ZXhpdC5jLgoJKGF0ZXhpdCk6IEltcGxlbWVudCB1c2luZyBfX2N4YV9hdGV4aXQuCglVc2UgLmhpZGRlbiBpZiBhdmFpbGJsZSB0byBhdm9pZCBleHBvcnRpbmcgYXRleGl0LgoJKiBzdGRsaWIvY3hhX2F0ZXhpdC5jIChfX25ld19leGl0Zm4pOiBNb3ZlZCB0byBoZXJlIGZyb20gYXRleGl0LmMuCgkqIHN0ZGxpYi9WZXJzaW9uczogRXhwb3J0IF9fbmV3X2V4aXRmbiBmb3IgR0xJQkNfMi4yLjMuCgkqIHN0ZGxpYi9NYWtlZmlsZSAocm91dGluZXMpOiBBZGQgb2xkX2F0ZXhpdC4KCShzdGF0aWMtb25seS1yb3V0aW5lcyk6IEFkZCBhdGV4aXQuCglQYXNzIC1ESEFWRV9ET1RfSElEREVOIGZvciBhdGV4aXQuYyBpZiAuaGlkZGVuIGlzIGF2YWlsYWJsZS4KCSogc3RkbGliL29sZF9hdGV4aXQuYzogTmV3IGZpbGUuCgoJKiBpbnRsL01ha2VmaWxlOiBSZW1vdmUgYm9ndXMgZW5kaWYuCgoyMDAxLTAyLTI2ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBpY29udmRhdGEvTWFrZWZpbGUgKHRlc3RzKTogRml4IHR5cG8gaW4gbGFzdCBwYXRjaC4KCgkqIGludGwvTWFrZWZpbGUgKHRlc3RzKTogUnVuIG10cmFjZS10c3QtZ2V0dGV4dCBvbmx5IHdoZW4gcGVybCBpcwoJYXZhaWxhYmxlLgoJUmVwb3J0ZWQgYnkgQWNoaW0gR290dGluZ2VyIDxhY2hpbUBnZW50b28ub3JnPi4KCjIwMDEtMDItMjUgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGludGwvTWFrZWZpbGUgKHBsdXJhbC5jKTogUmVvcmRlciBydWxlcyBzbyB0aGF0IHRoZXkgd29yayBpZgoJQklTT04gZG9lc24ndCBleGlzdC4KCjIwMDEtMDItMjUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaW50bC9sb2NhbGUuYWxpYXM6IERvbid0IHVzZSBuYl9OTyBidXQgZGVmaW5lIGFsaWFzZXMgZm9yIGl0LgoKMjAwMS0wMi0yMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2kzODYvc3RydG9rLlM6IENvbnRpbnVlIHRvIHJldHVybiBOVUxMIGFmdGVyIHRoZSBmaXJzdAoJdGltZSB0aGlzIGhhcHBlbmVkLgoKMjAwMS0wMi0yMyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3RyaW5nL3Rlc3Rlci5jICh0ZXN0X3N0cnRva19yKTogQWRkIHRlc3RjYXNlLgoJKHRlc3Rfc3RydG9rX3IpOiBBbHdheXMgaW5pdGlhbGl6ZSBjcCBmb3IgcHJvcGVyIGNoZWNraW5nLgoKCSogc3lzZGVwcy9nZW5lcmljL3N0cnRvay5jIChzdHJ0b2spOiBIYW5kbGUgY2FzZSBvZiBmaXJzdCBzdHJ0b2sKCXJldHVybmluZyBOVUxMIGNvcnJlY3RseS4KCVBhdGNoIGJ5IEZ1bWl0b3NoaSBVS0FJIDx1a2FpQGRlYmlhbi5vci5qcD4uCgkqIHN5c2RlcHMvZ2VuZXJpYy9zdHJ0b2tfci5jIChfX3N0cnRva19yKTogTGlrZXdpc2UuCgoyMDAxLTAyLTIzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9iaXRzL3R5cGVzLmg6IERlZmluZSBfX25lZWRfTlVMTCBiZWZvcmUKCWluY2x1ZGluZyA8c3RkZGVmLmg+LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvd3JpdGUuYzogRGVmaW5lIGFsaWFzIF9fbGliY193cml0ZS4KCSogaW5jbHVkZS9saWJjLXN5bWJvbHMuaCAod2Vha19hbGlhcyk6IERvbid0IHVzZSAud2VhayBpZgoJSEFWRV9BU01fR0xPQkFMX0RPVF9OQU1FIGlzIGRlZmluZWQuCglQYXRjaGVzIGJ5IE1pY2hhZWwgS2VlemVyIDxta2VlemVyQHJlZGhhdC5jb20+LgoKCSogc3lzZGVwcy9nZW5lcmljL2Z0aW1lLmM6IERvbid0IGluY2x1ZGUgPHN5cy90aW1lLmg+IGF0IGFsbC4KCVBhdGNoIGJ5IE1pY2hhZWwgS2VlemVyIDxta2VlemVyQHJlZGhhdC5jb20+LgoKCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L0Rpc3Q6IFJlbW92ZSByZXN0Zi5TIGFuZCBzYXZlZi5TLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvTWFrZWZpbGUgWyQoc3ViZGlyKSA9PSBtaXNjXQoJKHN5c2RlcF9yb3V0aW5lcyk6IFJlbW92ZSByZXN0Zi5TIGFuZCBzYXZlZi5TLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvcmVzdGYuUzogUmVtb3ZlZC4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L3NhdmVmLlM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvcG93ZXJwYy9mcHJyZXN0LlM6IFVzZSBDX1RFWFQgdG8gZGVmaW5lIGxhYmVsLiAgQWxzbyBkZWZpbmUKCWFsdGVybmF0aXZlIG5hbWVzIHVzZWQgb24gc29tZSBwbGF0Zm9ybXMuCgkqIHN5c2RlcHMvcG93ZXJwYy9mcHJzYXZlLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvZ3BycmVzdDAuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG93ZXJwYy9ncHJyZXN0MS5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9wb3dlcnBjL2dwcnNhdmUwLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvZ3Byc2F2ZTEuUzogTGlrZXdpc2UuCglQYXRjaCBieSBNaWNoYWVsIEtlZXplciA8bWtlZXplckByZWRoYXQuY29tPi4KCjIwMDEtMDItMjIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9pMzg2L2VsZi9zdGFydC5TIChfZnBfaHcpOiBBY3R1YWxseSBkZWZpbmUgbGFiZWwuCgoyMDAxLTAyLTIyICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzdHJpbmcvdHN0LXN0cnRvay5jIChtYWluKTogRml4IGVycm9yIG1lc3NhZ2VzLgoKMjAwMS0wMi0yMiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogbWF0aC9NYWtlZmlsZTogUmVtb3ZlIG9taXQtbG9uZy1kb3VibGUtZmN0cy4KCjIwMDEtMDItMTggIE1hY2llaiBXLiBSb3p5Y2tpICA8bWFjcm9AZHMyLnBnLmdkYS5wbD4KCgkqIHN5c2RlcHMvbWlwcy9ic2QtX3NldGptcC5TIChfc2V0am1wKTogUmVvcmRlciBpbnN0cnVjdGlvbnMgdG8KCWF2b2lkIHByb2JsZW1zIG9uIE1JUFMgSS4KCSogc3lzZGVwcy9taXBzL2JzZC1zZXRqbXAuUyAoc2V0am1wKTogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL21pcHMvZGwtbWFjaGluZS5oIChSVExEX1NUQVJUKTogUmVtb3ZlIGR1cGxpY2F0ZSAiLnNldAoJbm9yZW9yZGVyIi4KCjIwMDEtMDItMjEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG9zaXgvZm5tYXRjaF9sb29wLmM6IEhhbmRsZSByYW5nZXMgb3V0c2lkZSBnbGliYyBjb3JyZWN0bHkuCgoJKiBzeXNkZXBzL2dlbmVyaWMvZnRpbWUuYzogSW5jbHVkZSA8dGltZS5oPi4KCgkqIGNvbmZpZ3VyZS5pbjogRG9uJ3QgY2hlY2sgZm9yIGxpYmdkIGlmIHVzZXIgcGFzc2VkIC0td2l0aG91dC1nZC4KCVBhdGNoIGJ5IEFjaGltIEdvdHRpbmdlciA8YWNoaW1AZ2VudG9vLm9yZz4uCgoJKiBzeXNkZXBzL2kzODYvaTY4Ni9zdHJ0b2suUzogQ29udGludWUgdG8gcmV0dXJuIE5VTEwgYWZ0ZXIgdGhlCglmaXJzdCB0aW1lIHRoaXMgaGFwcGVuZWQuCgkqIHN0cmluZy9NYWtlZmlsZSAodGVzdHMpOiBBZGQgdHN0LXN0cnRvay4KCjIwMDEtMDItMjEgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN0cmluZy90c3Qtc3RydG9rLmM6IE5ldyB0ZXN0Y2FzZSwgcmVwb3J0ZWQgYnkKCUFuZHJldyBDaHVyY2ggPGFjaHVyY2hAYWNodXJjaC5vcmc+LgoKMjAwMS0wMi0yMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsaWJpby9pb2Z3aWRlLmM6IFJlbW92ZSBmd2lkZSBhbGlhcy4KCjIwMDEtMDItMjAgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGljb252ZGF0YS9NYWtlZmlsZSAodGVzdHMpOiBPbmx5IHJ1biBtdHJhY2UtdHN0LWxvYWRpbmcgaWYgcGVybAoJaXMgYXZhaWxhYmxlLgoJUmVwb3J0ZWQgYnkgQWNoaW0gR290dGluZ2VyIDxhY2hpbUBnZW50b28ub3JnPi4KCjIwMDEtMDItMTkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaWNvbnYvdHN0LWljb252MS5jIChtYWluKTogUmVtb3ZlIGRlYnVnZ2luZyBjb2RlLgoKCSogc3lzZGVwcy9pZWVlNzU0L2ZsdC0zMi9lX3Bvd2YuYzogSGFuZGxlIHggPT0gKy0xIGNvcnJlY3RseS4KCSogc3lzZGVwcy9pZWVlNzU0L2RibC02NC9lX3Bvdy5jOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9lX3NjYWxiLmM6IFNldCBpbnZhbGlkIGV4Y2VwdGlvbiBmb3IgaW52YWxpZAoJcGFyYW1ldGVycy4KCSogc3lzZGVwcy9nZW5lcmljL2Vfc2NhbGJmLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvZV9zY2FsYmwuYzogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL2lhNjQvZnB1L01ha2VmaWxlIChsaWJtLXN5c2RlcC1yb3V0aW5lcyk6IEFkZCBsaWJtX2Vycm9yLAoJbGlibV9mcmV4cDQsIGxpYm1fZnJleHA0ZiwgbGlibV9mcmV4cDRsLCBhbmQgYWxsIHRoZSBmdW5jdGlvbnMgYWxzbwoJaW4gbGliYy4KCShyb3V0aW5lcyk6IFJlcGxhY2UgbGlibV9lcnJvciB3aXRoIGxpYmNfbGlibV9lcnJvci4KCSogc3lzZGVwcy9pYTY0L2ZwdS9EaXN0OiBBZGQgbGliY19saWJtX2Vycm9yLmMuCgkqIHN5c2RlcHMvaWE2NC9mcHUvbGliY19saWJtX2Vycm9yLmM6IE5ldyBmaWxlLgoKMjAwMS0wMi0xOCAgTWFyayBLZXR0ZW5pcyAgPGtldHRlbmlzQGdudS5vcmc+CgoJKiBtYWxsb2MvbXRyYWNlLmMgW1VTRV9JTl9MSUJJT106IERlZmluZSBmb3BlbiBhcyBfSU9fZm9wZW42NC4KCShtdHJhY2UpOiBSZXZlcnQgMjAwMS0wMi0xMyBwYXRjaDogdXNlIGZvcGVuIGluc3RlYWQgb2YgZm9wZW42NC4KCjIwMDEtMDItMTcgIEguSi4gTHUgIDxoamxAZ251Lm9yZz4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvY2xvbmUyLlM6IFVzZSBjbG9uZTIgYW5kIGRvbid0IHVzZQoJc2NyYXRjaCByZWdpc3RlcnMgYWNyb3NzIHRoZSBzeXN0ZW0gY2FsbC4KCjIwMDEtMDItMTkgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIG1hbGxvYy9NYWtlZmlsZSAodGVzdHMpOiBSdW4gbXRyYWNlIG9ubHkgd2hlbiBwZXJsIGlzIGF2YWlsYWJsZS4KCVJlcG9ydGVkIGJ5IEFjaGltIEdvdHRpbmdlciA8YWNoaW1AZ2VudG9vLm9yZz4uCgoyMDAxLTAyLTE5ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvaWVlZTc1NC9sZGJsLTk2L2VfajFsLmM6IE5ldyBmaWxlLgoJQ29udHJpYnV0ZWQgYnkgU3RlcGhlbiBMLiBNb3NoaWVyIDxtb3NoaWVyQG5hLW5ldC5vcm5sLmdvdj4uCgoJKiBzeXNkZXBzL2kzODYvZnB1L2xpYm0tdGVzdC11bHBzOiBBZGp1c3QgZXJyb3IgdmFsdWVzIGZvciBqMSBhbmQgeTEuCgkqIHN5c2RlcHMvaWE2NC9mcHUvbGlibS10ZXN0LXVscHM6IEFkanVzdCBlcnJvciB2YWx1ZXMgZm9yIHkxLgoJKiBtYXRoL2xpYm0tdGVzdC5pbmMgKGoxX3Rlc3QpOiBNYXJrIGNvbnN0YW50cyBhcyBsb25nIGRvdWJsZS4KCShqbl90ZXN0KTogTGlrZXdpc2UuCgkoeTFfdGVzdCk6IExpa2V3aXNlLgoJKHluX3Rlc3QpOiBMaWtld2lzZS4KCgkqIGxpYmlvL2lvZ2V0bGluZS5jOiBNb3ZlIHJldHVybiB1bnRpbCBhZnRlciBsYXN0IHN0YXRlbWVudC4KCgkqIGxvY2FsZWRhdGEvc2hvdy11Y3MtZGF0YS5jOiBEb24ndCBzaG93IDwgPiBmb3IgYmV0dGVyIHJlYWRhYmlsaXR5LgoKCSogc3lzZGVwcy9pYTY0L2ZwdS9EaXN0OiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9NYWtlZmlsZTogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvVmVyc2lvbnM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L2VfYWNvcy5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9lX2Fjb3NmLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L2VfYWNvc2wuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvZV9hc2luLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L2VfYXNpbmYuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvZV9hc2lubC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9lX2F0YW4yLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L2VfYXRhbjJmLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L2VfYXRhbjJsLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L2VfY29zaC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9lX2Nvc2hmLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L2VfY29zaGwuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvZV9leHAuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvZV9leHBmLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L2VfZXhwbC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9lX2Ztb2QuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvZV9mbW9kZi5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9lX2Ztb2RsLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L2VfaHlwb3QuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvZV9oeXBvdGYuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvZV9oeXBvdGwuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvZV9sb2cuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvZV9sb2cxMC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9lX2xvZzEwZi5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9lX2xvZzEwbC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9lX2xvZ2YuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvZV9sb2dsLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L2VfcG93LlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L2VfcG93Zi5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9lX3Bvd2wuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvZV9yZW1fcGlvMi5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9lX3JlbV9waW8yZi5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9lX3JlbWFpbmRlci5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9lX3JlbWFpbmRlcmYuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvZV9yZW1haW5kZXJsLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L2Vfc2NhbGIuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvZV9zY2FsYmYuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvZV9zY2FsYmwuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvZV9zaW5oLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L2Vfc2luaGYuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvZV9zaW5obC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9lX3NxcnQuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvZV9zcXJ0Zi5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9lX3NxcnRsLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L2tfcmVtX3BpbzIuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUva19yZW1fcGlvMmYuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUva19yZW1fcGlvMmwuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvbGlibV9hdGFuMl9yZWcuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvbGlibV9lcnJvci5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9saWJtX2ZyZXhwNC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9saWJtX2ZyZXhwNGYuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvbGlibV9mcmV4cDRsLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L2xpYm1fcmVkdWNlLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L2xpYm1fc3VwcG9ydC5oOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9saWJtX3Rhbi5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9zX2F0YW4uUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvc19hdGFuZi5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9zX2F0YW5sLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L3NfY2JydC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9zX2NicnRmLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L3NfY2JydGwuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvc19jZWlsLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L3NfY2VpbGYuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvc19jZWlsbC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9zX2Nvcy5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9zX2Nvc2YuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvc19jb3NsLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L3NfZXhwbTEuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvc19leHBtMWYuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvc19leHBtMWwuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvc19mbG9vci5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9zX2Zsb29yZi5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9zX2Zsb29ybC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9zX2ZyZXhwLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L3NfZnJleHBmLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L3NfZnJleHBsLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L3NfaWxvZ2IuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvc19pbG9nYmYuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvc19pbG9nYmwuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvc19sZGV4cC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9zX2xkZXhwZi5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9zX2xkZXhwbC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9zX2xvZzFwLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L3NfbG9nMXBmLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L3NfbG9nMXBsLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L3NfbG9nYi5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9zX2xvZ2JmLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L3NfbG9nYmwuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvc19tYXRoZXJyZi5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9zX21hdGhlcnJsLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L3NfbW9kZi5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9zX21vZGZmLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L3NfbW9kZmwuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvc19uZWFyYnlpbnQuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvc19uZWFyYnlpbnRmLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L3NfbmVhcmJ5aW50bC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9zX3JpbnQuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvc19yaW50Zi5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9zX3JpbnRsLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L3Nfcm91bmQuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvc19yb3VuZGYuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvc19yb3VuZGwuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvc19zY2FsYm4uUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvc19zY2FsYm5mLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L3Nfc2NhbGJubC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9zX3NpZ25pZmljYW5kLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L3Nfc2lnbmlmaWNhbmRmLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L3Nfc2lnbmlmaWNhbmRsLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L3Nfc2luLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L3Nfc2luY29zLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L3Nfc2luY29zZi5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9zX3NpbmNvc2wuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvc19zaW5mLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L3Nfc2lubC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9zX3Rhbi5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9zX3RhbmYuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvc190YW5sLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L3NfdHJ1bmMuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvc190cnVuY2YuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvc190cnVuY2wuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvd19hY29zLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L3dfYWNvc2YuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvd19hY29zbC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS93X2FzaW4uYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvd19hc2luZi5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS93X2FzaW5sLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L3dfYXRhbjIuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvd19hdGFuMmYuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvd19hdGFuMmwuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvd19jb3NoLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L3dfY29zaGYuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvd19jb3NobC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS93X2V4cC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS93X2V4cGYuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvd19mbW9kLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L3dfZm1vZGYuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvd19mbW9kbC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS93X2h5cG90LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L3dfaHlwb3RmLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L3dfaHlwb3RsLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L3dfbG9nLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L3dfbG9nMTAuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvd19sb2cxMGYuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvd19sb2cxMGwuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvd19sb2dmLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L3dfbG9nbC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS93X3Bvdy5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS93X3Bvd2YuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvd19wb3dsLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L3dfcmVtYWluZGVyLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L3dfcmVtYWluZGVyZi5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS93X3JlbWFpbmRlcmwuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvd19zY2FsYi5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS93X3NjYWxiZi5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS93X3NjYWxibC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS93X3NxcnQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvd19zcXJ0Zi5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS93X3NxcnRsLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L2xpYm0tdGVzdC11bHBzOiBBZGp1c3QgZm9yIGxvbmcgZG91YmxlCglpbXBsZW1lbnRhdGlvbi4KCSogc3lzZGVwcy9pYTY0L2ZwdS9iaXRzL21hdGhkZWYuaDogQ29ycmVjdCBmbG9hdF90IGFuZCBkb3VibGVfdCB0eXBlcy4KCUNoYW5nZSBGUF9JTE9HQk5BTiBmb3IgbmV3IGltcGxlbWVudGF0aW9uLgoJKiBWZXJpb25zLmRlZjogQWRkIDIuMi4zIHZlcnNpb25zLgoKMjAwMS0wMi0xOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBtYXRoL2xpYm0tdGVzdC5pbmMgKHNjYWxiX3Rlc3QpOiBSZXF1aXJlIGludmFsaWQgZXhjZXB0aW9uIGJlaW5nCglyYWlzZWQgZm9yIGludmFsaWQgcGFyYW1ldGVycy4KCSogc3lzZGVwcy9pMzg2L2ZwdS9lX3NjYWxiLlM6IFJhaXNlIGludmFsaWQgZXhjZXB0aW9uIGlmIG5lY2Vzc2FyeS4KCSogc3lzZGVwcy9pMzg2L2ZwdS9lX3NjYWxiZi5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2ZwdS9lX3NjYWxibC5TOiBMaWtld2lzZS4KCjIwMDEtMDItMTggIE1hcmsgS2V0dGVuaXMgIDxrZXR0ZW5pc0BnbnUub3JnPgoKCSogc3lzZGVwcy9tYWNoL2dldHN5c3N0YXRzLmMgKF9fZ2V0X3BoeXNfcGFnZXMpOiBDaGFuZ2UgcmV0dXJuCgl2YWx1ZSB0byBsb25nIGludC4KCShfX2dldF9hdnBoeXNfcGFnZXMpOiBMaWtld2lzZS4KCjIwMDEtMDItMTggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbWF0aC9saWJtLXRlc3QuaW5jIChwb3dfdGVzdCk6IENvcnJlY3QgZXhwZWN0ZWQgcmVzdWx0cyBmb3IgeCA9PSArLTEuCgkqIHN5c2RlcHMvaTM4Ni9mcHUvZV9wb3cuUzogSGFuZGxlIHggPT0gKy0xIGNvcnJlY3RseS4KCSogc3lzZGVwcy9pMzg2L2ZwdS9lX3Bvd2YuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9mcHUvZV9wb3dsLlM6IExpa2V3aXNlLgoKCSogc3lzZGVwcy9pMzg2L2ZwdS9iaXRzL21hdGhpbmxpbmUuaDogUmVtb3ZlIHBvdyBpbmxpbmUgY29kZS4KCjIwMDEtMDItMTcgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbWF0aC9NYWtlZmlsZSAobGlibS1jYWxscyk6IEl0J3MgZV9leHAyIG5vdCBzX2V4cDIuCgoJKiBzeXNkZXBzL2dlbmVyaWMvc19leHAybC5jOiBSZW5hbWVkIHRvLi4uCgkqIHN5c2RlcHMvZ2VuZXJpYy9lX2V4cDJsLmM6IC4uLnRoaXMuICAgTmV3IGZpbGUuCgkqIHN5c2RlcHMvaTM4Ni9mcHUvc19leHAyLlM6IFJlbmFtZWQgdG8uLi4KCSogc3lzZGVwcy9pMzg2L2ZwdS9lX2V4cDIuUzogLi4udGhpcy4gICBOZXcgZmlsZS4KCSogc3lzZGVwcy9pMzg2L2ZwdS9zX2V4cDJmLlM6IFJlbmFtZWQgdG8uLi4KCSogc3lzZGVwcy9pMzg2L2ZwdS9lX2V4cDJmLlM6IC4uLnRoaXMuICAgTmV3IGZpbGUuCgkqIHN5c2RlcHMvaTM4Ni9mcHUvc19leHAybC5TOiBSZW5hbWVkIHRvLi4uCgkqIHN5c2RlcHMvaTM4Ni9mcHUvZV9leHAybC5TOiAuLi50aGlzLiAgIE5ldyBmaWxlLgoJKiBzeXNkZXBzL2llZWU3NTQvZmx0LTMyL3NfZXhwMmYuYzogUmVuYW1lZCB0by4uLgoJKiBzeXNkZXBzL2llZWU3NTQvZmx0LTMyL2VfZXhwMmYuYzogLi4udGhpcy4gICBOZXcgZmlsZS4KCSogc3lzZGVwcy9pZWVlNzU0L2RibC02NC9zX2V4cDIuYzogUmVuYW1lZCB0by4uLgoJKiBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L2VfZXhwMi5jOiAuLi50aGlzLiAgIE5ldyBmaWxlLgoJKiBzeXNkZXBzL202OGsvZnB1L3NfZXhwMi5jOiBSZW5hbWVkIHRvLi4uCgkqIHN5c2RlcHMvbTY4ay9mcHUvZV9leHAyLmM6IC4uLnRoaXMuICAgTmV3IGZpbGUuCgkqIHN5c2RlcHMvbTY4ay9mcHUvc19leHAyZi5jOiBSZW5hbWVkIHRvLi4uCgkqIHN5c2RlcHMvbTY4ay9mcHUvZV9leHAyZi5jOiAuLi50aGlzLiAgIE5ldyBmaWxlLgoJKiBzeXNkZXBzL202OGsvZnB1L3NfZXhwMmwuYzogUmVuYW1lZCB0by4uLgoJKiBzeXNkZXBzL202OGsvZnB1L2VfZXhwMmwuYzogLi4udGhpcy4gICBOZXcgZmlsZS4KCjIwMDEtMDItMTcgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGNvbmZpZ3VyZS5pbjogQWxsb3cgZ2NjIDMuCgoyMDAxLTAyLTE2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG1hdGgvd19hY29zLmM6IE1vdmUgdG8gLi4uCgkqIHN5c2RlcHMvZ2VuZXJpYy93X2Fjb3MuYzogLi4uaGVyZS4gIE5ldyBmaWxlLgoJKiBtYXRoL3dfYWNvc2YuYzogTW92ZSB0byAuLi4KCSogc3lzZGVwcy9nZW5lcmljL3dfYWNvc2YuYzogLi4uaGVyZS4gIE5ldyBmaWxlLgoJKiBtYXRoL3dfYWNvc2guYzogTW92ZSB0byAuLi4KCSogc3lzZGVwcy9nZW5lcmljL3dfYWNvc2guYzogLi4uaGVyZS4gIE5ldyBmaWxlLgoJKiBtYXRoL3dfYWNvc2hmLmM6IE1vdmUgdG8gLi4uCgkqIHN5c2RlcHMvZ2VuZXJpYy93X2Fjb3NoZi5jOiAuLi5oZXJlLiAgTmV3IGZpbGUuCgkqIG1hdGgvd19hY29zaGwuYzogTW92ZSB0byAuLi4KCSogc3lzZGVwcy9nZW5lcmljL3dfYWNvc2hsLmM6IC4uLmhlcmUuICBOZXcgZmlsZS4KCSogbWF0aC93X2Fjb3NsLmM6IE1vdmUgdG8gLi4uCgkqIHN5c2RlcHMvZ2VuZXJpYy93X2Fjb3NsLmM6IC4uLmhlcmUuICBOZXcgZmlsZS4KCSogbWF0aC93X2FzaW4uYzogTW92ZSB0byAuLi4KCSogc3lzZGVwcy9nZW5lcmljL3dfYXNpbi5jOiAuLi5oZXJlLiAgTmV3IGZpbGUuCgkqIG1hdGgvd19hc2luZi5jOiBNb3ZlIHRvIC4uLgoJKiBzeXNkZXBzL2dlbmVyaWMvd19hc2luZi5jOiAuLi5oZXJlLiAgTmV3IGZpbGUuCgkqIG1hdGgvd19hc2lubC5jOiBNb3ZlIHRvIC4uLgoJKiBzeXNkZXBzL2dlbmVyaWMvd19hc2lubC5jOiAuLi5oZXJlLiAgTmV3IGZpbGUuCgkqIG1hdGgvd19hdGFuMi5jOiBNb3ZlIHRvIC4uLgoJKiBzeXNkZXBzL2dlbmVyaWMvd19hdGFuMi5jOiAuLi5oZXJlLiAgTmV3IGZpbGUuCgkqIG1hdGgvd19hdGFuMmYuYzogTW92ZSB0byAuLi4KCSogc3lzZGVwcy9nZW5lcmljL3dfYXRhbjJmLmM6IC4uLmhlcmUuICBOZXcgZmlsZS4KCSogbWF0aC93X2F0YW4ybC5jOiBNb3ZlIHRvIC4uLgoJKiBzeXNkZXBzL2dlbmVyaWMvd19hdGFuMmwuYzogLi4uaGVyZS4gIE5ldyBmaWxlLgoJKiBtYXRoL3dfYXRhbmguYzogTW92ZSB0byAuLi4KCSogc3lzZGVwcy9nZW5lcmljL3dfYXRhbmguYzogLi4uaGVyZS4gIE5ldyBmaWxlLgoJKiBtYXRoL3dfYXRhbmhmLmM6IE1vdmUgdG8gLi4uCgkqIHN5c2RlcHMvZ2VuZXJpYy93X2F0YW5oZi5jOiAuLi5oZXJlLiAgTmV3IGZpbGUuCgkqIG1hdGgvd19hdGFuaGwuYzogTW92ZSB0byAuLi4KCSogc3lzZGVwcy9nZW5lcmljL3dfYXRhbmhsLmM6IC4uLmhlcmUuICBOZXcgZmlsZS4KCSogbWF0aC93X2Nvc2guYzogTW92ZSB0byAuLi4KCSogc3lzZGVwcy9nZW5lcmljL3dfY29zaC5jOiAuLi5oZXJlLiAgTmV3IGZpbGUuCgkqIG1hdGgvd19jb3NoZi5jOiBNb3ZlIHRvIC4uLgoJKiBzeXNkZXBzL2dlbmVyaWMvd19jb3NoZi5jOiAuLi5oZXJlLiAgTmV3IGZpbGUuCgkqIG1hdGgvd19jb3NobC5jOiBNb3ZlIHRvIC4uLgoJKiBzeXNkZXBzL2dlbmVyaWMvd19jb3NobC5jOiAuLi5oZXJlLiAgTmV3IGZpbGUuCgkqIG1hdGgvd19kcmVtLmM6IE1vdmUgdG8gLi4uCgkqIHN5c2RlcHMvZ2VuZXJpYy93X2RyZW0uYzogLi4uaGVyZS4gIE5ldyBmaWxlLgoJKiBtYXRoL3dfZHJlbWYuYzogTW92ZSB0byAuLi4KCSogc3lzZGVwcy9nZW5lcmljL3dfZHJlbWYuYzogLi4uaGVyZS4gIE5ldyBmaWxlLgoJKiBtYXRoL3dfZHJlbWwuYzogTW92ZSB0byAuLi4KCSogc3lzZGVwcy9nZW5lcmljL3dfZHJlbWwuYzogLi4uaGVyZS4gIE5ldyBmaWxlLgoJKiBtYXRoL3dfZXhwMTAuYzogTW92ZSB0byAuLi4KCSogc3lzZGVwcy9nZW5lcmljL3dfZXhwMTAuYzogLi4uaGVyZS4gIE5ldyBmaWxlLgoJKiBtYXRoL3dfZXhwMTBmLmM6IE1vdmUgdG8gLi4uCgkqIHN5c2RlcHMvZ2VuZXJpYy93X2V4cDEwZi5jOiAuLi5oZXJlLiAgTmV3IGZpbGUuCgkqIG1hdGgvd19leHAxMGwuYzogTW92ZSB0byAuLi4KCSogc3lzZGVwcy9nZW5lcmljL3dfZXhwMTBsLmM6IC4uLmhlcmUuICBOZXcgZmlsZS4KCSogbWF0aC93X2V4cDIuYzogTW92ZSB0byAuLi4KCSogc3lzZGVwcy9nZW5lcmljL3dfZXhwMi5jOiAuLi5oZXJlLiAgTmV3IGZpbGUuCgkqIG1hdGgvd19leHAyZi5jOiBNb3ZlIHRvIC4uLgoJKiBzeXNkZXBzL2dlbmVyaWMvd19leHAyZi5jOiAuLi5oZXJlLiAgTmV3IGZpbGUuCgkqIG1hdGgvd19leHAybC5jOiBNb3ZlIHRvIC4uLgoJKiBzeXNkZXBzL2dlbmVyaWMvd19leHAybC5jOiAuLi5oZXJlLiAgTmV3IGZpbGUuCgkqIG1hdGgvd19mbW9kLmM6IE1vdmUgdG8gLi4uCgkqIHN5c2RlcHMvZ2VuZXJpYy93X2Ztb2QuYzogLi4uaGVyZS4gIE5ldyBmaWxlLgoJKiBtYXRoL3dfZm1vZGYuYzogTW92ZSB0byAuLi4KCSogc3lzZGVwcy9nZW5lcmljL3dfZm1vZGYuYzogLi4uaGVyZS4gIE5ldyBmaWxlLgoJKiBtYXRoL3dfZm1vZGwuYzogTW92ZSB0byAuLi4KCSogc3lzZGVwcy9nZW5lcmljL3dfZm1vZGwuYzogLi4uaGVyZS4gIE5ldyBmaWxlLgoJKiBtYXRoL3dfaHlwb3QuYzogTW92ZSB0byAuLi4KCSogc3lzZGVwcy9nZW5lcmljL3dfaHlwb3QuYzogLi4uaGVyZS4gIE5ldyBmaWxlLgoJKiBtYXRoL3dfaHlwb3RmLmM6IE1vdmUgdG8gLi4uCgkqIHN5c2RlcHMvZ2VuZXJpYy93X2h5cG90Zi5jOiAuLi5oZXJlLiAgTmV3IGZpbGUuCgkqIG1hdGgvd19oeXBvdGwuYzogTW92ZSB0byAuLi4KCSogc3lzZGVwcy9nZW5lcmljL3dfaHlwb3RsLmM6IC4uLmhlcmUuICBOZXcgZmlsZS4KCSogbWF0aC93X2owLmM6IE1vdmUgdG8gLi4uCgkqIHN5c2RlcHMvZ2VuZXJpYy93X2owLmM6IC4uLmhlcmUuICBOZXcgZmlsZS4KCSogbWF0aC93X2owZi5jOiBNb3ZlIHRvIC4uLgoJKiBzeXNkZXBzL2dlbmVyaWMvd19qMGYuYzogLi4uaGVyZS4gIE5ldyBmaWxlLgoJKiBtYXRoL3dfajBsLmM6IE1vdmUgdG8gLi4uCgkqIHN5c2RlcHMvZ2VuZXJpYy93X2owbC5jOiAuLi5oZXJlLiAgTmV3IGZpbGUuCgkqIG1hdGgvd19qMS5jOiBNb3ZlIHRvIC4uLgoJKiBzeXNkZXBzL2dlbmVyaWMvd19qMS5jOiAuLi5oZXJlLiAgTmV3IGZpbGUuCgkqIG1hdGgvd19qMWYuYzogTW92ZSB0byAuLi4KCSogc3lzZGVwcy9nZW5lcmljL3dfajFmLmM6IC4uLmhlcmUuICBOZXcgZmlsZS4KCSogbWF0aC93X2oxbC5jOiBNb3ZlIHRvIC4uLgoJKiBzeXNkZXBzL2dlbmVyaWMvd19qMWwuYzogLi4uaGVyZS4gIE5ldyBmaWxlLgoJKiBtYXRoL3dfam4uYzogTW92ZSB0byAuLi4KCSogc3lzZGVwcy9nZW5lcmljL3dfam4uYzogLi4uaGVyZS4gIE5ldyBmaWxlLgoJKiBtYXRoL3dfam5mLmM6IE1vdmUgdG8gLi4uCgkqIHN5c2RlcHMvZ2VuZXJpYy93X2puZi5jOiAuLi5oZXJlLiAgTmV3IGZpbGUuCgkqIG1hdGgvd19qbmwuYzogTW92ZSB0byAuLi4KCSogc3lzZGVwcy9nZW5lcmljL3dfam5sLmM6IC4uLmhlcmUuICBOZXcgZmlsZS4KCSogbWF0aC93X2xnYW1tYS5jOiBNb3ZlIHRvIC4uLgoJKiBzeXNkZXBzL2dlbmVyaWMvd19sZ2FtbWEuYzogLi4uaGVyZS4gIE5ldyBmaWxlLgoJKiBtYXRoL3dfbGdhbW1hZi5jOiBNb3ZlIHRvIC4uLgoJKiBzeXNkZXBzL2dlbmVyaWMvd19sZ2FtbWFmLmM6IC4uLmhlcmUuICBOZXcgZmlsZS4KCSogbWF0aC93X2xnYW1tYWZfci5jOiBNb3ZlIHRvIC4uLgoJKiBzeXNkZXBzL2dlbmVyaWMvd19sZ2FtbWFmX3IuYzogLi4uaGVyZS4gIE5ldyBmaWxlLgoJKiBtYXRoL3dfbGdhbW1hbC5jOiBNb3ZlIHRvIC4uLgoJKiBzeXNkZXBzL2dlbmVyaWMvd19sZ2FtbWFsLmM6IC4uLmhlcmUuICBOZXcgZmlsZS4KCSogbWF0aC93X2xnYW1tYWxfci5jOiBNb3ZlIHRvIC4uLgoJKiBzeXNkZXBzL2dlbmVyaWMvd19sZ2FtbWFsX3IuYzogLi4uaGVyZS4gIE5ldyBmaWxlLgoJKiBtYXRoL3dfbGdhbW1hX3IuYzogTW92ZSB0byAuLi4KCSogc3lzZGVwcy9nZW5lcmljL3dfbGdhbW1hX3IuYzogLi4uaGVyZS4gIE5ldyBmaWxlLgoJKiBtYXRoL3dfbG9nMTAuYzogTW92ZSB0byAuLi4KCSogc3lzZGVwcy9nZW5lcmljL3dfbG9nMTAuYzogLi4uaGVyZS4gIE5ldyBmaWxlLgoJKiBtYXRoL3dfbG9nMTBmLmM6IE1vdmUgdG8gLi4uCgkqIHN5c2RlcHMvZ2VuZXJpYy93X2xvZzEwZi5jOiAuLi5oZXJlLiAgTmV3IGZpbGUuCgkqIG1hdGgvd19sb2cxMGwuYzogTW92ZSB0byAuLi4KCSogc3lzZGVwcy9nZW5lcmljL3dfbG9nMTBsLmM6IC4uLmhlcmUuICBOZXcgZmlsZS4KCSogbWF0aC93X2xvZy5jOiBNb3ZlIHRvIC4uLgoJKiBzeXNkZXBzL2dlbmVyaWMvd19sb2cuYzogLi4uaGVyZS4gIE5ldyBmaWxlLgoJKiBtYXRoL3dfbG9nZi5jOiBNb3ZlIHRvIC4uLgoJKiBzeXNkZXBzL2dlbmVyaWMvd19sb2dmLmM6IC4uLmhlcmUuICBOZXcgZmlsZS4KCSogbWF0aC93X2xvZ2wuYzogTW92ZSB0byAuLi4KCSogc3lzZGVwcy9nZW5lcmljL3dfbG9nbC5jOiAuLi5oZXJlLiAgTmV3IGZpbGUuCgkqIG1hdGgvd19wb3cuYzogTW92ZSB0byAuLi4KCSogc3lzZGVwcy9nZW5lcmljL3dfcG93LmM6IC4uLmhlcmUuICBOZXcgZmlsZS4KCSogbWF0aC93X3Bvd2YuYzogTW92ZSB0byAuLi4KCSogc3lzZGVwcy9nZW5lcmljL3dfcG93Zi5jOiAuLi5oZXJlLiAgTmV3IGZpbGUuCgkqIG1hdGgvd19wb3dsLmM6IE1vdmUgdG8gLi4uCgkqIHN5c2RlcHMvZ2VuZXJpYy93X3Bvd2wuYzogLi4uaGVyZS4gIE5ldyBmaWxlLgoJKiBtYXRoL3dfcmVtYWluZGVyLmM6IE1vdmUgdG8gLi4uCgkqIHN5c2RlcHMvZ2VuZXJpYy93X3JlbWFpbmRlci5jOiAuLi5oZXJlLiAgTmV3IGZpbGUuCgkqIG1hdGgvd19yZW1haW5kZXJmLmM6IE1vdmUgdG8gLi4uCgkqIHN5c2RlcHMvZ2VuZXJpYy93X3JlbWFpbmRlcmYuYzogLi4uaGVyZS4gIE5ldyBmaWxlLgoJKiBtYXRoL3dfcmVtYWluZGVybC5jOiBNb3ZlIHRvIC4uLgoJKiBzeXNkZXBzL2dlbmVyaWMvd19yZW1haW5kZXJsLmM6IC4uLmhlcmUuICBOZXcgZmlsZS4KCSogbWF0aC93X3NjYWxiLmM6IE1vdmUgdG8gLi4uCgkqIHN5c2RlcHMvZ2VuZXJpYy93X3NjYWxiLmM6IC4uLmhlcmUuICBOZXcgZmlsZS4KCSogbWF0aC93X3NjYWxiZi5jOiBNb3ZlIHRvIC4uLgoJKiBzeXNkZXBzL2dlbmVyaWMvd19zY2FsYmYuYzogLi4uaGVyZS4gIE5ldyBmaWxlLgoJKiBtYXRoL3dfc2NhbGJsLmM6IE1vdmUgdG8gLi4uCgkqIHN5c2RlcHMvZ2VuZXJpYy93X3NjYWxibC5jOiAuLi5oZXJlLiAgTmV3IGZpbGUuCgkqIG1hdGgvd19zaW5oLmM6IE1vdmUgdG8gLi4uCgkqIHN5c2RlcHMvZ2VuZXJpYy93X3NpbmguYzogLi4uaGVyZS4gIE5ldyBmaWxlLgoJKiBtYXRoL3dfc2luaGYuYzogTW92ZSB0byAuLi4KCSogc3lzZGVwcy9nZW5lcmljL3dfc2luaGYuYzogLi4uaGVyZS4gIE5ldyBmaWxlLgoJKiBtYXRoL3dfc2luaGwuYzogTW92ZSB0byAuLi4KCSogc3lzZGVwcy9nZW5lcmljL3dfc2luaGwuYzogLi4uaGVyZS4gIE5ldyBmaWxlLgoJKiBtYXRoL3dfc3FydGwuYzogTW92ZSB0byAuLi4KCSogc3lzZGVwcy9nZW5lcmljL3dfc3FydGwuYzogLi4uaGVyZS4gIE5ldyBmaWxlLgoJKiBtYXRoL3dfdGdhbW1hLmM6IE1vdmUgdG8gLi4uCgkqIHN5c2RlcHMvZ2VuZXJpYy93X3RnYW1tYS5jOiAuLi5oZXJlLiAgTmV3IGZpbGUuCgkqIG1hdGgvd190Z2FtbWFmLmM6IE1vdmUgdG8gLi4uCgkqIHN5c2RlcHMvZ2VuZXJpYy93X3RnYW1tYWYuYzogLi4uaGVyZS4gIE5ldyBmaWxlLgoJKiBtYXRoL3dfdGdhbW1hbC5jOiBNb3ZlIHRvIC4uLgoJKiBzeXNkZXBzL2dlbmVyaWMvd190Z2FtbWFsLmM6IC4uLmhlcmUuICBOZXcgZmlsZS4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1hZGRyZXNzLmMgKGFkZHJlc3NfZmluaXNoKTogQWRkICdTJyB0byBhbGxvdwoJZm9ybWF0cyBmb3IgcG9zdGFsX2ZtdC4KCjIwMDEtMDItMTYgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvc3lzY2FsbHMubGlzdCAoZnRydW5jYXRlKTogQWRkCglfX2Z0cnVuY2F0ZTY0IGFsaWFzLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L3N5c2NhbGxzLmxpc3QgKGZ0cnVuY2F0ZSk6CglMaWtld2lzZS4KCjIwMDEtMDItMTUgIERhdmlkIE1vc2JlcmdlciAgPGRhdmlkbUBocGwuaHAuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9fX2xvbmdqbXAuUyAoX19sb25nam1wKTogTm8gbmVlZCB0bwoJZG8gImxvYWRycyIuICBXcml0aW5nIHRvIGJzcHN0b3JlIGFscmVhZHkgdGFrZXMgY2FyZSBvZgoJaW52YWxpZGF0aW5nIHRoZSAiY2xlYW4iIHBhcnRpdGlvbi4KCjIwMDEtMDItMTYgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBzeXNkZXBzL202OGsvZnB1L3NfbmV4dGFmdGVybC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9tNjhrL2ZwdS9zX2ZwY2xhc3NpZnlsLmM6IE5ldyBmaWxlLgoKMjAwMS0wMi0xNSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBwb3NpeC9yZWdleC5jIChpbml0X3N5bnRheF9vbmNlKTogQWRkIHByb3RvdHlwZS4KCShUUkFOU0xBVEUpOiBJZiBNQlNfU1VQUE9SVCwgdHJhbnNsYXRlIGFsbCBjaGFyYWN0ZXJzIHVwIHRvICdceGZmJy4KCShyZV9zZWFyY2hfMik6IEF2b2lkIHdhcm5pbmcuCgkoY291bnRfbWJzX2xlbmd0aCk6IEFkZCBwcm90b3R5cGUuCgkqIHBvc2l4L3RzdC1yZWdleDMuYzogTmV3IGZpbGUuCgkqIHBvc2l4L01ha2VmaWxlICh0ZXN0cyk6IEFkZCBidWctcmVnZXgzLgoKMjAwMS0wMi0xNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzdGRpby1jb21tb24vTWFrZWZpbGUgKHRlc3RzKTogQWRkIHRzdC1nZXRzLgoJKiBzdGRpby1jb21tb24vdHN0LWdldHMuYzogTmV3IGZpbGUuCgkqIHN0ZGlvLWNvbW1vbi90c3QtZ2V0cy5pbnB1dDogTmV3IGZpbGUuCgoJKiBlbGYvZWxmLmggKERUX0NIRUNLU1VNKTogRGVmaW5lLgoKCSogc3lzZGVwcy9nZW5lcmljL3N0cnRvbGwuYzogRG9uJ3QgZXhwb3J0IF9fc3RydG8qX2ludGVybmFsIGFzCglkZWZhdWx0IHN5bWJvbC4KCSogc3lzZGVwcy9nZW5lcmljL3N0cnRvdWxsLmM6IExpa2V3aXNlLgoKMjAwMS0wMi0xNCAgV29sZnJhbSBHbG9nZXIgIDx3Z0BtYWxsb2MuZGU+CgoJKiBtYWxsb2MvbWFsbG9jLmMgKG5ld19oZWFwKTogV2hlbiBhbGxvY2F0aW5nIGxhcmdlIGNodW5rIGFsaWduZWQKCXRvIEhFQVBfTUFYX1NJWkUsIHByZWZlciBvbmUgd2l0aCBsb3dlciBhZGRyZXNzLCB0byBhdm9pZCBgaG9sZXMnCgliZXR3ZWVuIHRoZSBoZWFwcy4KCjIwMDEtMDItMTQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbWF0aC9saWJtLXRlc3QuaW5jIChqMF90ZXN0KTogQ2hlY2sgd2hldGhlciBzaW5jb3MgaXMgYXZhaWxhYmxlLgoJKGoxX3Rlc3QpOiBMaWtld2lzZS4KCShqbl90ZXN0KTogTGlrZXdpc2UuCgkoeTBfdGVzdCk6IExpa2V3aXNlLgoJKHkxX3Rlc3QpOiBMaWtld2lzZS4KCSh5bl90ZXN0KTogTGlrZXdpc2UuCgoJKiBwb3NpeC90c3QtZ251Z2xvYi5jOiBNYWtlIGEgZmV3IGVudHJpZXMgRFRfVU5LTk9XTiBhbmQgdGVhY2gKCWZha2UgZmlsZXN5c3RlbSByb3V0aW5lcyB0byBoYW5kbGUgdGhpcy4KCgkqIHRpbWUvc3lzL3RpbWUuaDogTWFrZSBzZXR0aW1lb2ZkYXkgYW5kIGFkanRpbWUgYXZhaWxhYmxlIGlmCglfQlNEX1NPVVJDRS4KCgkqIHRpbWUvc3lzL3RpbWUuaDogTWFrZSB0aW1lciogbWFjcm9zIGF2YWlsYWJsZSBmb3IgQlNELgoKCSogaWNvbnZkYXRhL2diMTgwMzAuYzogVXBkYXRlIGZvciBEZWMgMjAwMCByZS1yZWxlYXNlIG9mIEdCMTgwMzAuCglQYXRjaCBieSBZb25nIExpIDxyaWdlbDg2M0B5YWhvby5jb20+LgoKCSogc3lzZGVwcy9nZW5lcmljL2dsb2IuYyAoQ09OVkVSVF9ESVJFTlRfRElSRU5UNjQpOiBGaXggY29weWluZyBvZgoJbmFtZS4KCgkqIHBvc2l4L01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3QtZ251Z2xvYi4KCSogcG9zaXgvdHN0LWdudWdsb2IuYzogTmV3IGZpbGUuCgoyMDAxLTAyLTEzICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L3N5c2NhbGxzLmxpc3Q6IEFkZCBfX2Z0cnVuY2F0ZTY0LgoKMjAwMS0wMi0xMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtcGFwZXIuYyAocGFwZXJfb3V0cHV0KTogUHJldHR5IHByaW50aW5nLgoKCSogaWNvbnZkYXRhL01ha2VmaWxlIChtb2R1bGVzKTogQWRkIEdCQklHNS4KCShkaXN0cmlidXRlKTogQWRkIGdiYmlnNS5jLgoJKiBpY29udmRhdGEvZ2NvbnYtbW9kdWxlczogQWRkIGVudHJpZXMgZm9yIEdCQklHNSBtb2R1bGUuCgoJKiBpY29udmRhdGEvZ2JiaWc1LmM6IE5ldyBmaWxlLgoJQ29udHJpYnV0ZWQgYnkgWW9uZyBMaSA8cmlnZWw4NjNAeWFob28uY29tPi4KCjIwMDEtMDItMTMgIFBoaWxpcCBCbHVuZGVsbCAgPHBiQGZ1dHVyZXR2LmNvbT4KCgkqIG1hbnVhbC9jcnlwdC50ZXhpOiBSZW1vdmUgb3V0ZGF0ZWQgcmVmZXJlbmNlcyB0byBjcnlwdCBhZGQtb24uCgoJKiBtYW51YWwvY3JlYXR1cmUudGV4aTogSW1wcm92ZSB3b3JkaW5nIHNsaWdodGx5LgoKMjAwMS0wMi0xMyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpby9mdHcuYzogQWx3YXlzIHVzZSByZWFkZGlyNjQuCgkqIGlvL2Z0dzY0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC90dHluYW1lLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC90dHluYW1lX3IuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9nbG9iLmM6IExpa2V3aXNlLiAgQ29udmVydCByZXN1bHRzIG9mIGdsX3JlYWRkaXIKCWNhbGxiYWNrIHRvIGRpcmVudC4gIFN0aWxsIGFsbG93IGNvbXBpbGluZyBvdXRzaWRlIGdsaWJjLgoJKiBzeXNkZXBzL2dudS9nbG9iNjQuYzogRGVmaW5lIENPTVBJTEVfR0xPQjY0LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2dsb2I2NC5jOiBMaWtld2lzZS4KCgkqIG1hbGxvYy9tdHJhY2UuYzogVXNlIGZvcGVuNjQuCgkqIHBvc2l4L3NwYXduaS5jOiBVc2UgX19vcGVuNjQuCgkqIHN5c2RlcHMvdW5peC9vcGVuZGlyLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9nZXRob3N0aWQuYzogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL2dlbmVyaWMvZnRydW5jYXRlNjQuYzogRGVmaW5lIF9fZnRydW5jYXRlNjQgYW5kIG1ha2Ugb2xkCgluYW1lIGEgd2VhayBhbGlhcy4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L2Z0cnVuY2F0ZTY0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9mdHJ1bmNhdGU2NC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9mdHJ1bmNhdGU2NC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9mdHJ1bmNhdGU2NC5jOiBMaWtld2lzZS4KCgkqIHJlc29sdi9yZXNfZGF0YS5jOiBBZGQgY2FzdCB0byBhdm9pZCB3YXJuaW5nLgoKCSogaW5jbHVkZS91bmlzdGQuaDogRGVjbGFyZSBfX2Z0cnVuY2F0ZTY0LgoKCSogc3lzZGVwcy9nZW5lcmljL3V0bXBfZmlsZS5jOiBVc2UgTEZTIGZ1bmN0aW9ucyBhbmQgdHlwZXMuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9nZXRkZW50cy5jIChfX0dFVERFTlRTKTogVXNlIF9fbHNlZWs2NAoJaW5zdGVhZCBvZiBfX2xzZWVrLgoKMjAwMS0wMi0xMyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogbG9naW4vZ2V0dXRlbnRfci5jOiBJbmNsdWRlIDxzdGRsaWIuaD4gZm9yIE5VTEwuCgkqIGxvZ2luL2dldHV0aWRfci5jOiBMaWtld2lzZS4KCjIwMDEtMDItMTIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9kYmwtNjQvZV9qMC5jOiBMaXR0bGUgb3B0aW1pemF0aW9uLCB1c2Ugc2luY29zLgoJKiBzeXNkZXBzL2RibC02NC9lX2oxLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2RibC02NC9lX2puLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2ZsdC0zMi9lX2owZi5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9mbHQtMzIvZV9qMWYuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbGRibC05Ni9lX2owbC5jOiBMaWtld2lzZS4KCjIwMDAtMTItMDIgIEguSi4gTHUgIDxoamxAZ251Lm9yZz4KCgkqIHJlc29sdi9yZXNfbGliYy5jIChyZXNfaW5pdCk6IERvbid0IG1ha2UgaXQgZGVmYXVsdC4KCjIwMDEtMDItMTIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbWFudWFsL2RlYnVnLnRleGk6IEltcHJvdmVkIHRoZSB3b3JkaW5nLgoJUGF0Y2ggYnkgUGhpbGlwIEJsdW5kZWxsIDxwYkBmdXR1cmV0di5jb20+LgoKMjAwMS0wMi0xMiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogcG9zaXgvTWFrZWZpbGUgKHRlc3RzKTogRG9uJ3QgcnVuIGJ1Zy1yZWdleDIgd2hlbgoJY3Jvc3MtY29tcGlsaW5nLgoKCSogbGliaW8vTWFrZWZpbGUgKHRlc3RzKTogRG9uJ3QgcnVuIHRlc3QtZnJlb3BlbiB3aGVuCgljcm9zcy1jb21waWxpbmcuCgoJKiBtYW51YWwvc3RkaW8udGV4aSAoU3RyZWFtcyBhbmQgSTE4Tik6IEZpeCB0eXBvcy4KCjIwMDEtMDItMTIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9pMzg2L2ZwdS9saWJtLXRlc3QtdWxwczogQWRqdXN0IGZvciBlcnJvcnMgaW4geTBsLgoKCSogbWF0aC9saWJtLXRlc3QuaW5jIChqMF90ZXN0KTogTWFrZSBleHBlY3RlZCByZXN1bHRzIGxvbmcgZG91YmxlCgljb25zdGFudHMuCgkoeTBfdGVzdCk6IExpa2V3aXNlLgoKCSogc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYvZV9qMGwuYzogTmV3IGZpbGUuCglDb250cmlidXRlZCBieSBTdGVwaGVuIEwuIE1vc2hpZXIgPG1vc2hpZXJAbmEtbmV0Lm9ybmwuZ292Pi4KCjIwMDEtMDItMTEgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9nZW5lcmljL3N0cnRvbGwuYyAoX19zdHJ0b3FfaW50ZXJuYWwpOiBSZXNzdXJlY3QgYWxpYXMKCXdoaWNoIHdhcyBleHBvcnRlZCBmcm9tIGxpYmMuCgkqIHN5c2RlcHMvZ2VuZXJpYy9zdHJ0b3VsbC5jIChfX3N0cnRvdXFfaW50ZXJuYWwpOiBMaWtld2lzZS4KCjIwMDEtMDItMTIgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIG1hbnVhbC9hcml0aC50ZXhpIChQYXJzaW5nIG9mIEludGVnZXJzKTogRml4IHNvbWUgd29yZGluZ3MuCgoyMDAxLTAyLTExICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9nZXRzeXNzdGF0LmM6IENoYW5nZSByZXR1cm4gdmFsdWUgb2YgZ2V0X3BoeXNfcGFnZXMKCWFuZCBnZXRfYXZwaHlzX3BhZ2UgdG8gbG9uZyBpbnQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2dldHN5c3N0YXQuYzogTGlrZXdpc2UuCgkqIGluY2x1ZGUvc3lzL3N5c2luZm8uaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9zeXMvc3lzaW5mby5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL3N5c2luZm8uaDogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9nZXRsb2FkYXZnLmMgKGdldGxvYWRhdmcpOiBGYWlsIGlmIHdlCgljYW5ub3QgcmV0dXJuIGFzIG1hbnkgdmFsdWVzIGFzIHRoZSB1c2VyIGFza2VkIGZvci4KCjIwMDEtMDItMTEgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIG1hbnVhbC9yZXNvdXJjZS50ZXhpIChNZW1vcnkgUmVzb3VyY2VzKTogRml4IHR5cG8uCgoJKiBsaWJpby9NYWtlZmlsZSAoJChvYmpwZngpdGVzdC1mcmVvcGVuLm91dCk6IFBhc3MKCXJ1bi1wcm9ncmFtLXByZWZpeC4KCgkqIGxpYmlvL3Rlc3QtZnJlb3Blbi5zaDogVXNlIHJ1bl9wcm9ncmFtX3ByZWZpeC4KCjIwMDEtMDItMTAgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN0ZGxpYi9NYWtlZmlsZSAodGVzdHMpOiBEb24ndCBydW4gdHN0LWZtdG1zZyB3aGVuCgljcm9zcy1jb21waWxpbmcuCgkoJChvYmpwZngpdHN0LWZtdG1zZy5vdXQpOiBQYXNzIHJ1bi1wcm9ncmFtLXByZWZpeC4KCgkqIHN0ZGxpYi90c3QtZm10bXNnLnNoICh0ZXN0KTogVXNlIHJ1bl9wcm9ncmFtX3ByZWZpeCBmb3Igc3RhdGljCglvbmx5IGJ1aWxkcy4KCgkqIGVsZi9NYWtlZmlsZSAodGVzdHMpOiBPbmx5IHJ1biB0c3QtcGF0aG9wdCB3aXRoIHNoYXJlZCBsaWJzLgoKCSogcG9zaXgvTWFrZWZpbGU6IEZpeCB0eXBvLCBpdCdzIGJ1aWxkLXN0YXRpYy1uc3MuCgoJKiBpY29udi9NYWtlZmlsZSAoZXh0cmEtb2Jqcyk6IE5ldy4KCjIwMDEtMDItMTAgIE1hcmsgS2V0dGVuaXMgIDxrZXR0ZW5pc0BnbnUub3JnPgoKCSogc3lzZGVwcy91bml4L3N0aW1lLmM6IEluY2x1ZGUgPHRpbWUuaD4uCgoJKiBzeXNkZXBzL21hY2gvaHVyZC9zZXRpdGltZXIuYzogSW5jbHVkZSA8dGltZS5oPi4KCjIwMDEtMDItMTAgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIG1hbnVhbC9zdHJpbmcudGV4aSAoU2VhcmNoIEZ1bmN0aW9ucyk6IEZpeCB0eXBvLgoKMjAwMS0wMi0xMCAgTWFyayBLZXR0ZW5pcyAgPGtldHRlbmlzQGdudS5vcmc+CgoJKiBzeXNkZXBzL3VuaXgvYnNkL3RpbWVzLmM6IFJlb3JkZXIgaW5jbHVkZXMgYW5kIGFkZCA8dGltZS5oPi4KCSh0aW1ldmFsX3RvX2Nsb2NrX3QpOiBBZGQgY2xrX3RjayBhcmd1bWVudCBhbmQgdXNlIHRoYXQgaW5zdGVhZCBvZgoJQ0xLX1RDSy4KCShfX3RpbWVzKTogVXNlIF9fZ2V0Y2xrdGNrIHRvIGdldCB0aGUgbnVtYmVyIG9mIGNsb2NrIHRpY2tzIHBlcgoJc2Vjb25kIGFuZCB1c2UgaXRzIHJldHVybiB2YWx1ZSBpbnN0ZWFkCW9mIENMS19UQ0suCgoyMDAxLTAyLTEwICBNYXJrIEtldHRlbmlzICA8a2V0dGVuaXNAZ251Lm9yZz4KCgkqIHN5c2RlcHMvdW5peC9ic2QvYnNkNC40L2JpdHMvc29ja2FkZHIuaCAoX0hBVkVfU0FfTEVOKTogRGVmaW5lLgoKMjAwMS0wMi0xMCAgTWFyayBLZXR0ZW5pcyAgPGtldHRlbmlzQGdudS5vcmc+CgoJKiBzeXNkZXBzL21hY2gvZ2V0dGltZW9mZGF5LmM6IEluY2x1ZGUgPHN0ZGRlZi5oPi4KCjIwMDEtMDItMTAgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHdjdHlwZS93Y2Z1bmNzLmMgKGZ1bmMpOiBBZGQgcHJvdG90eXBlIGRlY2xhcmF0aW9ucyB0byBhdm9pZAoJd2FybmluZy4KCjIwMDEtMDItMDkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogcG9zaXgvTWFrZWZpbGU6IEFkZCBydWxlcyB0byBidWlsZCBhbmQgcnVuIGJ1Zy1yZWdleDIuCgkqIHBvc2l4L2J1Zy1yZWdleDIuYzogTmV3IGZpbGUuCgoyMDAxLTAyLTEwICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHBvc2l4L3JlZ2V4LmMgKGNvbnZlcnRfbWJzX3RvX3djcyk6IENoYW5nZSBpc19iaW5hcnkgdG8gY2hhciAqLgoJKHJlZ2V4X2NvbXBpbGUpOiBMaWtld2lzZS4KCShGUkVFX1ZBUklBQkxFUyk6IERvbid0IGZyZWUgaXNfYmluYXJ5MSBhbmQgaXNfYmluYXJ5Mi4KCShyZV9tYXRjaF8yX2ludGVybmFsKTogVXNlIGp1c3QgaXNfYmluYXJ5IGluc3RlYWQgb2YgdHdvIHZhcmlhYmxlcy4KCVVzZSBSRUdFWF9UQUxMT0MgdG8gYWxsb2NhdGUgaXQgYW5kIEZSRUVfVkFSIHRvIGZyZWUgb24gZmFpbHVyZS4KCjIwMDEtMDItMDkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogdmVyc2lvbi5oIChWRVJTSU9OKTogQnVtcCB0byAyLjIuMi4KCgkqIGljb252L01ha2VmaWxlIChkaXN0cmlidXRlKTogQWRkIGljb252X2NoYXJtYXAuYyBhbmQKCWR1bW15LXJlcGVydG9pcmUuYy4KCSogZWxmL01ha2VmaWxlIChkaXN0cmlidXRlKTogQWRkIGZpcnN0b2JqLmMuCgkqIE1ha2VmaWxlIChkaXN0cmlidXRlKTogQWRkIGluY2x1ZGUvcHRocmVhZC5oLgoKCSogY29uZmlndXJlLmluOiBSZXF1aXJlIG1ha2VpbmZvIHZlcnNpb24gNC4KCgkqIGxpYmlvL3RzdF93c2NhbmYuYyAobWFpbik6IEFkZCBjYXN0IHRvIGF2b2lkIHdhcm5pbmcuCgkqIGxpYmlvL3RzdF9zd3NjYW5mLmMgKG1haW4pOiBMaWtld2lzZS4uCgoyMDAxLTAyLTA5ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9zZXRlbnYuYyAodW5zZXRlbnYpOiBSZW1vdmUgY29uc3QgZnJvbSBsZW4uCgkqIHN5c2RlcHMvc3BhcmMvZnB1L2JpdHMvbWF0aGlubGluZS5oIChzcXJ0LCBmZGltKTogRG9uJ3QgZGVmaW5lIGlmCglfX05PX01BVEhfSU5MSU5FUy4KCSogc3lzZGVwcy9pMzg2L2RsLW1hY2hpbmUuaCAoZWxmX21hY2hpbmVfcmVsKTogT25seSBkZWNsYXJlIHJlZnN5bQoJaWYgbm90IFJUTERfQk9PVFNUUkFQLgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvZGwtbWFjaGluZS5oIChlbGZfbWFjaGluZV9yZWxhKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX3JlbGEpOiBMaWtld2lzZS4KCjIwMDEtMDItMDkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbG9jYWxlL3Byb2dyYW1zL2xpbmVyZWFkZXIuYyAoZ2V0X2lkZW50KTogU3RvcCBsb29wIGlmIEVPRi4gIFVzZQoJbHJfdW5nZXRjIHRvIHB1c2ggYmFjayBsYXN0IHJlYWQgY2hhcmFjdGVyLgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGluZXJlYWRlci5oIChscl91bmdldGMpOiBEb24ndCBwdXNoIGJhY2sgaXMKCWNoYXJhY3RlciBpcyBFT0YuCgkobHJfaWdub3JlX3Jlc3QpOiBEb24ndCB3YXJuIGFib3V0IGdhcmJhZ2UgaWYgaXQgaXMgcmVhbGx5IHRoZSBlbmQKCW9mIHRoZSBmaWxlLgoKCSogbWFudWFsL01ha2VmaWxlOiBVc2UgaWZub3R0ZXh0IGFuZCBub3QgaWZpbmZvIHRvIHByb3RlY3QgVG9wIG5vZGUKCWRlZmluaXRpb24uCgoyMDAxLTAyLTA4ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIE1ha2VydWxlcyAoYnVpbGQtc2hsaWIpOiBXb3JrIGFyb3VuZCBkaWZmZXJlbnQgb3JkZXIgb2YKCXByb2Nlc3Npbmcgb2YgLUIgb3B0aW9uIGluIGRpZmZlcmVudCBnY2MgdmVyc2lvbnMuCgoJKiBwb3NpeC9yZWdleC5jOiBGaXggYWxpZ25tZW50IHByb2JsZW0uCglQYXRjaCBieSBJc2FtdSBIYXNlZ2F3YSA8aXNhbXVAeWFtYXRvLmlibS5jb20+LgoKCSogc3lzZGVwcy9hbHBoYS9zdHJyY2hyLlM6IExpdHRsZSBvcHRpbWl6YXRpb24uCglQYXRjaCBieSBSaWNoYXJkIEhlbmRlcnNvbiA8cnRoQHJlZGhhdC5jb20+LgoKCSogc3lzZGVwcy9hbHBoYS9hbHBoYWV2Njcvc3RycmNoci5TOiBOZXcgZmlsZS4KCUNvbnRyaWJ1dGVkIGJ5IFJpY2sgR29ydG9uIDxyaWNrLmdvcnRvbkBhbHBoYS1wcm9jZXNzb3IuY29tPi4KCjIwMDEtMDItMDggIGtheiBLb2ppbWEgIDxra29qaW1hQHJyLmlpajR1Lm9yLmpwPgoKCSogc3lzZGVwcy9zaC9zaDMvc2V0am1wLlMgKF9fc2lnc2V0am1wKTogQ29ycmVjdCBmdW5jdGlvbiBuYW1lCglpbiB0aGUgYXNzZW1ibGVyIGVuZCBkaXJlY3RpdmUuCgoyMDAxLTAyLTA4ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBtYW51YWwvc3RkaW8udGV4aSAoQ2xvc2luZyBTdHJlYW1zKTogRml4IHR5cG9zLgoKMjAwMS0wMi0wNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2FscGhhL2FscGhhZXY2Ny9zdHJuY2F0LlM6IEFsaWduIGxhc3Qgd3JpdGUgYWRkcmVzcy4KCVBhdGNoIGJ5IFJpY2hhcmQgSGVuZGVyc29uIDxydGhAcmVkaGF0LmNvbT4uCglSZXBvcnRlZCBieSBDbGF1cy1KdXN0dXMgSGVpbmUgPGhlaW5lQGluc3RtYXRoLnJ3dGgtYWFjaGVuLmRlPi4KCgkqIHN0ZGxpYi9zdHJmbW9uLmMgW1VTRV9JTl9MSUJJT106IERlZmluZSBsb2NrIHZhcmlhYmxlIGFuZCBzdG9yZQoJcG9pbnRlciBpbiBGSUxFIHN0cnVjdHVyZSBiZWZvcmUgY2FsbGluZyBfSU9faW5pdC4KCSogc3RkbGliL01ha2VmaWxlOiBBZGQgLURfSU9fTVRTQUZFX0lPIHRvIENGTEFHUyBmb3Igc3RyZm1vbiBhbmQKCXN0cmZtb25fbCBpZiBuZWNlc3NhcnkuCglSZXBvcnRlZCBieSBKdXJ5IEdlcm9sZCA8Z2p1cnlAZ3JpcHMuY29tPi4KCgkqIHN5c2RlcHMvZ251L25ldGluZXQvdGNwLmg6IENvcnJlY3QgdmFsdWVzIG9mIFRDUF8gbWFjcm9zLgoJUGF0Y2ggYnkgUGVra2EuUGlldGlrYWluZW5AY2Vybi5jaC4KCgkqIHBvc2l4L3JlZ2V4LmM6IENvcnJlY3Qgc2V2ZXJhbCBwcm9ibGVtcyB3aXRoIDY0LWJpdCBhcmNoaXRlY3R1cmVzCglpbnRyb2R1Y2VkIGluIHRoZSBNQlMgY2hhbmdlcy4KCVBhdGNoIGJ5IElzYW11IEhhc2VnYXdhIDxpc2FtdUB5YW1hdG8uaWJtLmNvbT4uCgoyMDAxLTAyLTA3ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIG1hdGgvdGdtYXRoLmg6IE9ubHkgYWRkIGwgc3VmZml4ZXMgaWYgX19OT19MT05HX0RPVUJMRV9NQVRIIGlzCglub3QgZGVmaW5lZC4KCSogc3lzZGVwcy9hbHBoYS9mcHUvYml0cy9tYXRoaW5saW5lLmg6IEhvbm91ciBfX05PX01BVEhfSU5MSU5FUy4KCjIwMDEtMDItMDcgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIG1hbnVhbC9pbnN0YWxsLnRleGkgKFRvb2xzIGZvciBDb21waWxhdGlvbik6IEZpeCB0eXBvLgoJUmVwb3J0ZWQgYnkgUGF2ZWwgTWFjaGVrIDxwYXZlbEBidWcudWN3LmN6Pi4KCjIwMDEtMDItMDcgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3RkbGliL3N0cnRvZC5jOiBOZXZlciBzdG9wIHByZW1hdHVyZWx5IHJlYWRpbmcgZGlnaXRzIGJlZm9yZSB0aGUKCWRlY2ltYWwgcG9pbnQgaXMgZm91bmQuICBDb21wdXRlIGV4cG9uZW50IGxpbWl0IGZvciBuZWdhdGl2ZSBleHBvbmVudHMKCWNvcnJlY3RseS4gIEZvciBudW1iZXJzIGVuZGluZyBpbiBhbGwgemVyb3MgZWF0IHRoZSB6ZXJvcyBldmVuIGJlZm9yZQoJdGhlIGRlY2ltYWwgcG9pbnQgaWYgdGhlIGV4cG9uZW50IGlzIG5lZ2F0aXZlIFtQUiBsaWJjLzIwNzJdLgoJKiBzdGRsaWIvTWFrZWZpbGUgKHRlc3RzKTogQWRkIGJ1Zy1zdHJ0b2QuCgkqIHN0ZGxpYi9idWctc3RydG9kLmM6IE5ldyBmaWxlLgoKMjAwMS0wMi0wNyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogcG9zaXgvYnVnLXJlZ2V4MS5jOiBJbmNsdWRlIDx3Y2hhci5oPiBmb3IgZndpZGUuCgoyMDAxLTAyLTA2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHBvc2l4L3JlZ2V4LmMgKHJlZ2V4X2NvbXBpbGUpOiBEb24ndCBzdG9yZSBwb2ludGVyIGluIHdjaGFyX3QgYXJyYXkuCglTdG9yZSBpbmRleC4KCShjb21waWxlX3JhbmdlKTogSGFuZGxlIGluZGV4IGJlaW5nIHBhc3NlZCwgbm90IHBvaW50ZXIuCglQYXRjaCBieSBJc2FtdSBIYXNlZ2F3YSA8aXNhbXVAeWFtYXRvLmlibS5jb20+LgoKCSogcG9zaXgvcmVnZXguYzogRml4IGEgY2FzdCBpbiB0aGUgY29kZSBmb3IgYnJhY2tldCBoYW5kbGluZyB3aGljaAoJY2F1c2VkIDgtYml0IHVuY2xlYW5saW5lc3MuCglQYXRjaCBieSBNaWNoYWwgSmFlZ2VybWFubiA8bWljaGFsQGVsbHBzcGFjZS5tYXRoLnVhbGJlcnRhLmNhPi4KCgkqIHBvc2l4L01ha2VmaWxlICh0ZXN0cyk6IEFkZCBidWctcmVnZXgxLgoJKiBwb3NpeC9idWctcmVnZXgxLmM6IE5ldyBmaWxlLgoJQ29udHJpYnV0ZWQgYnkgSmltIE1leWVyaW5nIDxqaW1AbWV5ZXJpbmcubmV0Pi4KCgkqIHBvc2l4L3JlZ2V4LmM6IE1hbnkgY2xlYW51cHMgZm9yIGluY29ycmVjdCBmb3JtYXQgc3RyaW5ncy4KCjIwMDEtMDItMDYgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHRpbWUvdGltZS5oIChDTEtfVENLKTogQ2hlY2sgZm9yICFfX1NUUklDVF9BTlNJLgoKMjAwMS0wMi0wNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsb2NhbGUvcHJvZ3JhbXMvbG9jYWxlLmMgKHdyaXRlX2xvY2FsZXMpOiBVc2Ugc2NhbmRpciB0byByZWFkCglkaXJlY3Rvcnkgc28gdGhhdCB0aGUgZW50cmllcyBhcmUgc29ydGVkLgoKMjAwMS0wMi0wNiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogaW5jbHVkZS9wdGhyZWFkLmg6IE5ldyBmaWxlLgoKCSogd2N0eXBlL3djdHlwZS5oOiBNb3ZlIGludGVybmFsIGludGVyZmFjZXMgZnJvbSBoZXJlIHRvLi4uCgkqIGluY2x1ZGUvd2N0eXBlLmg6IC4uLmhlcmUuCgoJKiB3Y3NtYnMvd2NoYXIuaDogTW92ZSBfX3djc2xlbiBmcm9tIGhlcmUgdG8uLi4KCSogaW5jbHVkZS93Y2hhci5oOiAuLi5oZXJlLgoKCSogcG9zaXgvc3lzL3dhaXQuaDogTW92ZSBfX3dhaXQgZnJvbSBoZXJlIHRvLi4uCgkqIGluY2x1ZGUvc3lzL3dhaXQuaDogLi4uaGVyZS4KCgkqIHN0cmluZy9zdHJpbmcuaDogTW92ZSBfX2ZmcyBhbmQgX19zdHJlcnJvcl9yIGZyb20gaGVyZSB0by4uLgoJKiBpbmNsdWRlL3N0cmluZy5oOiAuLi5oZXJlLgoKCSogc3RkbGliL3N0ZGxpYi5oOiBNb3ZlIF9fb25fZXhpdCBmcm9tIGhlcmUgdG8uLi4KCSogaW5jbHVkZS9zdGRsaWIuaDogLi4uaGVyZS4KCgkqIGxpYmlvL3N0ZGlvLmg6IE1vdmUgX192c25wcmludGYgZnJvbSBoZXJlIHRvLi4uCgkqIGluY2x1ZGUvc3RkaW8uaDogLi4uaGVyZS4KCjIwMDEtMDItMDYgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2lvcGVybS5jOiBEb24ndCBpbmNsdWRlIGtlcm5lbAoJaGVhZGVycy4KCgkqIHRpbWV6b25lL01ha2VmaWxlOiBEb24ndCBhc3N1bWUgdGhhdCAkKGluc3Rfem9uZWRpcikgaXMgYSBzdWJkaXIKCW9mICQoaW5zdF9kYXRhZGlyKS4KCjIwMDEtMDItMDYgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaWNvbnZkYXRhL01ha2VmaWxlOiBBZGQgZGVwZW5kZW5jeSBmb3IgYnVnLWljb252Mi5vdXQuCgoyMDAxLTAyLTA2ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBlbGYvZmlyc3RvYmouYzogQWRkIHByb3RvdHlwZS4KCgkqIHBvc2l4L3JlZ2V4LmMgKGNvbnZlcnRfbWJzX3RvX3djcyk6IE1ha2Ugc3RhdGljLCBhZGQgcHJvdG90eXBlCgkodHJ1bmNhdGVfd2NoYXIpOiBMaWtld2lzZS4KCjIwMDEtMDItMDYgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbG9jYWxlL3Byb2dyYW1zL2xvY2FsZS5jOiBJbXBsZW1lbnQgLS12ZXJib3NlIG9wdGlvbiBmb3IgLWEKCXdoaWNoIHByaW50cyBkZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbG9jYWxlcy4KCjIwMDEtMDItMDUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3VucnBjL3hkcl9yZWMuYyAoc2V0X2lucHV0X2ZyYWdtZW50KTogQ2hhbmdlIHR5cGUgb2YgaGVhZGVyCgl2YXJpYWJsZSB0byB1aW50MzJfdC4KCVJlcG9ydGVkIGJ5IFVscmljaCBXZWlnYW5kIDx3ZWlnYW5kQGltbWQxLmluZm9ybWF0aWsudW5pLWVybGFuZ2VuLmRlPi4KCjIwMDEtMDItMDQgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGxvY2FsZS9DLXRyYW5zbGl0LmguaW46IEFkZCB0cmFuc2xpdGVyYXRpb25zIGZvciBDSksgdW5pdHMgb2YKCW1lYXN1cmVtZW50LgoKMjAwMS0wMi0wNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvY2FjaGUuYyAocHJpbnRfZW50cnkpOiBVc2UgUFJJeDY0IGluc3RlYWQgb2YgTHggaW4gcHJpbnRmCglzdHJpbmcuICBJbmNsdWRlIDxpbnR0eXBlcy5oPiBpbnN0ZWFkIG9mIDxzdGRpbnQuaD4uCgoJKiBsb2NhbGVkYXRhL01ha2VmaWxlICh0ZXN0cyk6IEFkZCBidWctaWNvbnYtdHJhbnMuCglEZWZpbmUgYnVnLWljb252LXRyYW5zLUVOVi4KCSogbG9jYWxlZGF0YS9idWctaWNvbnYtdHJhbnMuYzogTmV3IGZpbGUuCgoyMDAxLTAyLTA0ICBCcnVubyBIYWlibGUgIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CgoJKiBpY29udi9nY29udl90cmFucy5jIChfX2djb252X3RyYW5zbGl0ZXJhdGUpOiBVc2UgYSB0ZW1wb3Jhcnkgb3V0cHV0Cglwb2ludGVyLCB0byBhdm9pZCBhY2N1bXVsYXRpbmcgb3V0cHV0IGZyb20gaW5jb21wbGV0ZSAodW5zdWNjZXNzZnVsKQoJdHJhbnNsaXRlcmF0aW9uIGF0dGVtcHRzLgoKMjAwMS0wMi0wNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvbGRjb25maWcuYyAoc2VhcmNoX2Rpcik6IFVzZSBQUkl4NjQgaW5zdGVhZCBvZiBMeCBpbiBwcmludGYKCXN0cmluZy4gIEluY2x1ZGUgPGludHR5cGVzLmg+IGluc3RlYWQgb2YgPHN0ZGludC5oPi4KCgkqIGNvbmZpZ3VyZS5pbjogQWRkIGNoZWNrIGZvciBiaXNvbi4KCSogY29uZmlnLm1ha2UuaW46IERlZmluZSBCSVNPTiB2YXJpYWJsZS4KCSogaW50bC9NYWtlZmlsZTogVXNlIEJJU09OIGluc3RlYWQgb2YgWUFDQyB3aGVuIGdlbmVyYXRpbmcgcGx1cmFsLmMuCglSZW5hbWUgWUZMQUdTIHRvIEJJU09ORkxBR1MuCgoyMDAxLTAyLTA1ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBpby90ZXN0LWxmcy5jIChkb190ZXN0KTogVGVzdCBsc2VlazY0IHJldHVybiB2YWx1ZSwgY2FsbAoJdGVzdF9mdGVsbG8uCgkodGVzdF9mdGVsbG8pOiBOZXcgZnVuY3Rpb24gdG8gdGVzdCBmdGVsbG82NCBhbmQgZnNlZWtvNjQuCgoJKiBzaWduYWwvc2lnbmFsLmg6IE1vdmUgX19zaWdhY3Rpb24gZnJvbSBoZXJlIHRvLi4uCgkqIGluY2x1ZGUvc2lnbmFsLmg6IC4uLmhlcmUuCgoJKiBpby9mY250bC5oOiBNb3ZlIF9fZmNudGwgYW5kIF9fb3BlbiB0by4uLgoJKiBpbmNsdWRlL2ZjbnRsLmg6IC4uLmhlcmUuCgoyMDAxLTAyLTA0ICBQaGlsaXAgQmx1bmRlbGwgIDxwaGlsYkBnbnUub3JnPgoKCSogY29uZmlndXJlLmluOiBEaXN0aW5ndWlzaCBBUk0gZnJvbSBUaHVtYi4KCjIwMDEtMDItMDQgIFBoaWxpcCBCbHVuZGVsbCAgPHBoaWxiQGdudS5vcmc+CgoJKiBzeXNkZXBzL2FybS9kbC1tYWNoaW5lLmggKGVsZl9tYWNoaW5lX3JlbCk6IENvcnJlY3QgaGFuZGxpbmcgb2YKCVBDMjQgcmVsb2NzIHdpdGggbmVnYXRpdmUgdmFsdWUuCgoyMDAxLTAyLTA0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGljb252L01ha2VmaWxlIChpY29udl9wcm9nLW1vZHVsZXMpOiBEZWZpbmUuICBBZGQgdnBhdGggdG8gZmluZAoJZmlsZXMgaW4gbG9jYWxlL3Byb2dyYW1zLiAgQWRkIENGTEFHUyBkZWZpbml0aW9uIHRvIGFsbG93IGNvbXBpbGluZwoJbG9jYWxlZGVmIGZpbGVzLgoJKiBpY29udi9kdW1teS1yZXBlcnRvaXJlLmM6IE5ldyBmaWxlLgoJKiBpY29udi9pY29udl9jaGFybWFwLmM6IE5ldyBmaWxlLgoJKiBpY29udi9pY29udl9wcm9nLmg6IE5ldyBmaWxlLgoJKiBpY29udi9pY29udl9wcm9nLmM6IE1ha2UgdmVyYm9zZSBhbmQgb21pdF9pbnZhbGlkIGdsb2JhbC4KCShtYWluKTogSWYgcGFyYW1ldGVyIGZvciAtZiBhbmQgLXQgY29udGFpbiBzbGFzaGVzIHRyeSBmaXJzdCB0byByZXNvbHZlCgl0aGUgc3RyaW5ncyBhcyBmaWxlbmFtZXMgb2YgY2hhcm1hcCBmaWxlcy4gIFVzZSB0aGVtIGZvciBjb252ZXJzaW9uCglpbiB0aGlzIGNhc2UuCgkqIGljb252ZGF0YS9ydW4taWNvbnYtdGVzdC5zaDogSWYgY2hhcm1hcHMgZXhpc3QgYWxzbyBydW4gdGVzdHMgd2l0aAoJaWNvbnYgZ2V0dGluZyBjaGFybWFwIG5hbWVzIGFzIHBhcmFtZXRlcnMuCgkqIGxvY2FsZS9wcm9ncmFtcy9saW5lcmVhZGVyLmMgKGxyX3Rva2VuKTogVGFrZSBleHRyYSBwYXJhbWV0ZXJzCgl2ZXJib3NlIGFuZCBwYXNzIGl0IHRvIGdldF9zdHJpbmcuCgkoZ2V0X3N0cmluZyk6IFRha2UgZXh0cmEgcGFyYW1ldGVycyB2ZXJib3NlLgoJKiBsb2NhbGUvcHJvZ3JhbXMvY2hhcm1hcC5jIChwYXJzZV9jaGFybWFwKTogVGFrZSBleHRyYSBwYXJhbWV0ZXJzCgl2ZXJib3NlIGFuZCBiZV9xdWlldC4gIENoYW5nZSBhbGwgY2FsbGVycyBvZiBscl90b2tlbiBhbmQKCXBhcnNlX2NoYXJtYXAuCgkqIGxvY2FsZS9wcm9ncmFtcy9jaGFybWFwLmg6IExpa2V3aXNlLgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtYWRkcmVzcy5jOiBMaWtld2lzZS4KCSogbG9jYWxlL3Byb2dyYW1zL2xkLWNvbGxhdGUuYzogTGlrZXdpc2UuCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1jdHlwZS5jOiBMaWtld2lzZS4KCSogbG9jYWxlL3Byb2dyYW1zL2xkLWlkZW50aWZpY2F0aW9uLmM6IExpa2V3aXNlLgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtbWVhc3VyZW1lbnQuYzogTGlrZXdpc2UuCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1tZXNzYWdlcy5jOiBMaWtld2lzZS4KCSogbG9jYWxlL3Byb2dyYW1zL2xkLW1vbmV0YXJ5LmM6IExpa2V3aXNlLgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtbmFtZS5jOiBMaWtld2lzZS4KCSogbG9jYWxlL3Byb2dyYW1zL2xkLW51bWVyaWMuYzogTGlrZXdpc2UuCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1wYXBlci5jOiBMaWtld2lzZS4KCSogbG9jYWxlL3Byb2dyYW1zL2xkLXRlbGVwaG9uZS5jOiBMaWtld2lzZS4KCSogbG9jYWxlL3Byb2dyYW1zL2xkLXRpbWUuYzogTGlrZXdpc2UuCgkqIGxvY2FsZS9wcm9ncmFtcy9saW5lcmVhZGVyLmM6IExpa2V3aXNlLgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGluZXJlYWRlci5oOiBMaWtld2lzZS4KCSogbG9jYWxlL3Byb2dyYW1zL2xvY2FsZWRlZi5jOiBMaWtld2lzZS4KCSogbG9jYWxlL3Byb2dyYW1zL2xvY2ZpbGUuYzogTGlrZXdpc2UuCgkqIGxvY2FsZS9wcm9ncmFtcy9sb2NmaWxlLmg6IExpa2V3aXNlLgoJKiBsb2NhbGUvcHJvZ3JhbXMvcmVwZXJ0b2lyZS5jOiBMaWtld2lzZS4KCjIwMDEtMDItMDMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaWNvbnYvaWNvbnZfcHJvZy5jIChtYWluKTogSWYgb3V0cHV0IGZpbGUgbmFtZSBpcyAiLSIgd3JpdGUgdG8KCXN0ZG91dC4KCShtYWluKTogSWYgLWYgb3IgLXQgYXJndW1lbnQgaXMgbWlzc2luZyB1c2UgY2hhcnNldCBvZiB0aGUgY3VycmVudAoJbG9jYWxlLgoKMjAwMS0wMi0wMyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy9pMzg2L2VsZi9zdGFydC5TIChfc3RhcnQpOiBBbGlnbiBzdGFjayB0byAxNi1ieXRlCglib3VuZGFyeSBmb3IgU1NFL1NTRS0yIGFsaWdubWVudC4KCgkqIHBvc2l4L01ha2VmaWxlICgkKG9ianBmeClhbm5leGMub3V0KTogQWxzbyBwYXNzIHN5c2luY2x1ZGVzIHRvCglhbm5leGMuCgoyMDAxLTAyLTAzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9zeXMvdWNvbnRleHQuaDogRmlsZSB3YXMgdXNpbmcgY3JsZi4KCVJlbW92ZSBjb21tYSBhdCBlbmQgb2YgZW51bS4KCgkqIGVsZi9kbC1pbml0LmM6IEFkZCBhIGZldyBfX2J1aWx0aW5fZXhwZWN0LgoKCSogaGVzaW9kL2hlc2lvZC5jOiBSZW1vdmUgdW5uZWNlc3NhcnkgY29kZS4gIFJlbW92ZSBhbGwgdXNlcyBvZiBzdHJjYXQuCgoyMDAxLTAyLTAyICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGhlc2lvZC9oZXNpb2QuYyAoaGVzaW9kX3Jlc29sdmUpOiBBbHNvIHNlYXJjaCBIUyByZWNvcmRzIGlmCgllcnJubyBpcyBFQ09OTlJFRlVTRUQuCgoJKiBwb3NpeC9NYWtlZmlsZTogRGVmaW5lIE1CU19TVVBQT1JUIGZvciByZWdleC5jLgoJKiBwb3NpeC9yZWdleC5jOiBJbXBsZW1lbnQgbXVsdGlieXRlIGNoYXJhY3RlciBoYW5kbGluZy4KCVBhdGNoIGJ5IElzYW11IEhhc2VnYXdhIDxpc2FtdUB5YW1hdG8uaWJtLmNvLmpwPi4KCgkqIHN0cmluZy90c3Qtc3ZjLmlucHV0OiBBZGQgdHdvIG1vcmUgdGVzdCBjYXNlcy4KCSogc3RyaW5nL3RzdC1zdmMuZXhwZWN0OiBNb2RpZnkgdG8gcmVmbGVjdCBuZXcgdGVzdCBjYXNlcy4KCjIwMDEtMDItMDEgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9wb3NpeC9nZXRhZGRyaW5mby5jIChnYWloX2xvY2FsLCBnYWloX2luZXQpOiBSZXBsYWNlIGFsbAoJdHAtPm5hbWUgdGVzdHMgd2l0aCB0cC0+bmFtZVswXSB0ZXN0cy4KCjIwMDEtMDEtMjkgIEJlbiBDb2xsaW5zICA8YmNvbGxpbnNAZGViaWFuLm9yZz4KCgkqIG5pcy9uc3NfbmlzcGx1cy9uaXNwbHVzLWV0aGVycy5jIChfbnNzX25pc3BsdXNfZ2V0aG9zdHRvbl9yKToKCUZpeCBjaGVjayBmb3IgbmFtZSA9PSBOVUxMLgoKMjAwMS0wMi0wMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvTWFrZWZpbGU6IEFkZCBydWxlcyB0byBidWlsZCBhbmQgcnVuIGluaXRmaXJzdCB0ZXN0LgoJKiBlbGYvaW5pdGZpcnN0LmM6IE5ldyBmaWxlLgoJKiBlbGYvZmlyc3RvYmouYzogTmV3IGZpbGUuCgoJKiBNYWtlcnVsZXMgKGJ1aWxkLXNobGliKTogQWRkICQoZXh0cmEtQi0kKEBGOmxpYiUuc289JSkuc28pLgoJKiBjb25maWd1cmUuaW46IFRlc3QgZm9yIC16IGluaXRmaXJzdCBsaW5rZXIgb3B0aW9uLgoJKiBjb25maWcubWFrZS5pbjogQWRkIGhhdmUtei1pbml0Zmlyc3QuCgkqIGVsZi9kbC1pbml0LmMgKF9kbF9pbml0KTogU3BsaXQgb3V0IGFjdHVhbCBpbml0aWFsaXphdGlvbiBjb2RlIGluCgluZXcgZnVuY3Rpb24gY2FsbF9pbml0LiAgSWYgX2RsX2luaXRmaXJzdCBpcyBub24tTlVMTCBpbml0aWFsaXplIGZpcnN0LgoJKiBlbGYvZGwtbG9hZC5jIChfZGxfbWFwX2Zyb21fZmQpOiBJZiBERl8xX0lOSVRGSVJTVCBmbGFnIGlzIHNldAoJcmVtZW1iZXIgb2JqZWN0IGluIF9kbF9pbml0Zmlyc3QuCgkqIGVsZi9zb2luaXQuYzogUmVtb3ZlIHNwZWNpYWwgc3VwcG9ydCBmb3IgY2FsbGluZwoJX19wdGhyZWFkX2luaXRpYWxpemVfbWluaW1hbC4KCgkqIGNvbmZvcm0vY29uZm9ybXRlc3QucGw6IEFkZCBtaXNzaW5nICRwcmVwZW5kIGluIHR5cGUgdGVzdC4KCjIwMDEtMDEtMzEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZWxmL2VsZi5oIChTSFRfQ0hFQ0tTVU0pOiBOZXcgZGVmaW5pdGlvbi4KCgkqIHBvc2l4L2ZubWF0Y2hfbG9vcC5jOiBSZW1vdmUgaW5jb3JyZWN0IHJldmVyc2UgY29uZGl0aW9uIGluCglbLiAuXSBtYXRjaGluZy4gIFBhdGNoIGJ5IElzYW11IEhhc2VnYXdhIDxpc2FtdUB5YW1hdG8uaWJtLmNvbT4uCgkqIHBvc2l4L3RzdC1mbm1hdGNoLmlucHV0OiBBZGQgdGVzdHMgZm9yIFsuIC5dIGluIGxvY2FsZXMuCgoyMDAxLTAxLTMxICBNYXJrIEtldHRlbmlzICA8a2V0dGVuaXNAZ251Lm9yZz4KCgkqIG1pc2Mvc3lzL3NlbGVjdC5oOiBJbmNsdWRlIDxiaXRzL3RpbWUuaD4gaW5zdGVhZCBvZiA8c3lzL3RpbWUuaD4KCXRvIGdldCBkZWZpbml0aW9uIG9mIGBzdHJ1Y3QgdGltZXZhbCcuCgoyMDAxLTAxLTMxICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHBvc2l4L3RzdC1mbm1hdGNoLmlucHV0OiBBZGQgdGVzdCBjYXNlcyBmb3IgZGVfREUuVVRGLTggbG9jYWxlLgoJKiBwb3NpeC9mbm1hdGNoX2xvb3AuYzogRml4IGhhbmRsaW5nIG9mIFs9ID1dIGZvciBtdWx0aWJ5dGUgY2hhcnNldHMuCgoyMDAxLTAxLTMwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGljb252L2djb252X29wZW4uYyAoX19nY29udl9vcGVuKTogU2V0IGNvbnZfZmxhZ3MgaWYgSUdOT1JFIGlzCglzZWVuLCBub3QgZmxhZ3MuCgoJKiBuaXMvbmlzX2ZpbmRzZXJ2LmM6IEluY2x1ZGUgPHRpbWUuaD4uCgoyMDAxLTAxLTMwICBZb25nIExpICA8eW9uZy5saUBhc3UuZWR1PgoKCSogaWNvbnYvaWNvbnZfcHJvZy5jIChtYWluKTogQ29ycmVjdCBlcnJvciBoYW5kbGluZyBtZXRob2QgbmFtZS4KCjIwMDEtMDEtMjkgIEJlbiBDb2xsaW5zICA8YmNvbGxpbnNAZGViaWFuLm9yZz4KCgkqIHN5c2RlcHMvc3BhcmMvZnB1L2ZyYWlzZWV4Y3B0LmM6IEluY2x1ZGUgPGZsb2F0Lmg+LgoJKiBzeXNkZXBzL2hwcGEvZnB1L2ZyYWlzZWV4Y3B0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL202OGsvZnB1L2ZyYWlzZWV4Y3B0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3MzOTAvZnB1L2ZyYWlzZWV4Y3B0LmM6IExpa2V3aXNlLgoKMjAwMS0wMS0zMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtbWVhc3VyZW1lbnQuYyAobWVhc3VyZW1lbnRfZmluaXNoKTogRml4IGEgdHlwby4KCVBhdGNoIGJ5IE1hcmtvIE15bGx5bmVuIDxteWxseW5lbkBsdXQuZmk+LgoKCSogc3RyaW5nL2JpdHMvc3RyaW5nMi5oIChfX3N0cnBicmtfYzIpOiBDb3JyZWN0IHBhcmFtZXRlciB0eXBlcwoJKGludCBpbnN0ZWFkIG9mIGNoYXIpLgoJKF9fc3RycGJya19jMyk6IExpa2V3aXNlLgoJUmVwb3J0ZWQgYnkgR09UTyBNYXNhbm9yaSA8Z290b21AZGViaWFuLm9yLmpwPi4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9iaXRzL3NvY2thZGRyLmg6IFJlbW92ZSBTQV9MRU4gbWFjcm8uCgkqIHN5c2RlcHMvdW5peC9ic2QvYnNkNC40L2JpdHMvc29ja2FkZHIuaDogTGlrZXdpc2UuCgkqIGluY2x1ZGUvc3lzL3NvY2tldC5oOiBBZGQgU0FfTEVOIGhlcmUgZm9yIGludGVybmFsIHVzZS4KCVJlcG9ydGVkIGJ5IEFya2FkaXVzeiBNaXNraWV3aWN6IDxtaXNpZWtAcGxkLk9SRy5QTD4uCgoyMDAxLTAxLTI5ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG1hbGxvYy9NYWtlZmlsZTogRG9uJ3QgYnVpbGQgbWVtdXNhZ2VzdGF0IGlmIGNyb3NzLWNvbXBpbGluZy4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC1zeXNkZXAuYyAoc2V0X3NlZW4pOiBGaXggdHlwby4KCgkqIG1hdGgvbGlibS10ZXN0LmluYyAocmludF90ZXN0KTogQWRkIGEgZmV3IG1vcmUgdGVzdHMgZm9yIHJvdW5kCgl0byBldmVuIHJvdW5kaW5nLgoKMjAwMS0wMS0yOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBjb25mb3JtL2RhdGEvcHRocmVhZC5oLWRhdGE6IENvcnJlY3QgcmV0dXJuIHR5cGUgb2YgcHRocmVhZF9leGl0LgoKCSogY29uZm9ybS9jb25mb3JtdGVzdC5wbDogQWRkIC1mbm8tYnVpbHRpbiB0byBDRkxBR1MuCgoJKiBjb25mb3JtL2RhdGEvc3RkbGliLmgtZGF0YTogQWRkIF9FeGl0LgoKCSogaW5ldC9hcnBhL2luZXQuaDogRG9uJ3QgaW5jbHVkZSA8c3lzL3R5cGVzLmg+LiAgRGVmaW5lIHNvY2tsZW5fdAoJaWYgbm90IGFscmVhZHkgaGFwcGVuZWQuCgkqIGluZXQvbmV0aW5ldC9pbi5oOiBEb24ndCBpbmNsdWRlIDxzeXMvdHlwZXMuaD4sIHVzZSA8Yml0cy90eXBlcy5oPi4KCURvbid0IGluY2x1ZGUgPGxpbWl0cy5oPiBhbmQgPGJpdHMvc29ja2FkZHIuaD4uCgoJKiBjb25mb3JtL2RhdGEvbmV0aW5ldC9pbi5oLWRhdGE6IEFsbG93IGFsbCBvZiA8aW50dHlwZXMuaD4uCgoJKiBjb25mb3JtL2RhdGEvc3Bhd24uaC1kYXRhOiBBbGxvdyBhbGwgb2YgPHNjaGVkLmg+LgoKCSogc3lzZGVwcy9pYTY0L2ZwdS9mcmFpc2VleGNwdC5jOiBJbmNsdWRlIDxmbG9hdC5oPi4gIFJlbW92ZWQKCXVudXNlZCB2YXJpYWJsZS4KCgkqIHN1bnJwYy94ZHJfcmVjLmMgKHhkcnJlY19nZXRwb3MpOiBBZGQgY2FzdCB0byBsb25nIHRvIGF2b2lkIHdhcm5pbmcuCgkqIHN1bnJwYy94ZHJfc2l6ZW9mLmMgKHhfaW5saW5lKTogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL2llZWU3NTQvbGRibC05Ni9zX2ZyZXhwbC5jOiBJbmNsdWRlIDxmbG9hdC5oPi4KCgkqIGNvbmZvcm0vY29uZm9ybXRlc3QucGw6IERlZmluZSAkbXVzdHByZXBlbmR7InN0ZGlvLmgifS4KCSogbGliaW8vc3RkaW8uaDogRGVmaW5lIHZhX2xpc3QgY29ycmVjdGx5LgoKCSogY29uZm9ybS9kYXRhL3B0aHJlYWQuaC1kYXRhOiBNYWtlIHByaW9yaXR5IHByb3RvY29sIHJlbGF0ZWQKCWZ1bmN0aW9ucyBvcHRpb25hbC4gIEZpeCB0eXBvcy4KCgkqIHBvc2l4L3NjaGVkLmg6IERlZmluZSBzY2hlZF9wcmlvcml0eSBhcyBfX3NjaGVkX3ByaW9yaXR5LgoJKiBzeXNkZXBzL2dlbmVyaWMvYml0cy9zY2hlZC5oIChzdHJ1Y3Qgc2NoZWRfcGFyYW0pOiBSZW5hbWUgZWxlbWVudAoJdG8gX19zY2hlZF9wcmlvcml0eS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYml0cy9zY2hlZC5oOiBMaWtld2lzZS4KCjIwMDEtMDEtMjcgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9nZW5lcmljL2Nsb2NrX2dldGNwdWNsb2NraWQuYzogSW5jbHVkZSA8dGltZS5oPiBpbnN0ZWFkCglvZiA8c3lzL3RpbWUuaD4uCgoJKiBzeXNkZXBzL3VuaXgvc3RpbWUuYzogSW5jbHVkZSA8c3RkZGVmLmg+IGZvciBOVUxMLgoJKiBzeXNkZXBzL3VuaXgvdGltZS5jOiBMaWtld2lzZS4KCgkqIGNvbmZvcm0vZGF0YS90aW1lLmgtZGF0YTogQ0xLX1RDSyBpcyBub3QgaW4gWFBHNi4gIEZpeCB0em5hbWUgZW50cnkuCgkqIHN5c2RlcHMvbWFjaC9odXJkL2JpdHMvdGltZS5oOiBEb24ndCBkZWZpbmUgQ0xLX1RDSyBmb3IgWFBHNi4KCSogc3lzZGVwcy9tYWNoL2h1cmQvaTM4Ni9iaXRzL3RpbWUuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2JpdHMvdGltZS5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvYml0cy90aW1lLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2JpdHMvdGltZS5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9iaXRzL3RpbWUuaDogTGlrZXdpc2UuCgkqIHRpbWUvdGltZS5oOiBMaWtld2lzZS4KCgkqIGNvbmZvcm0vY29uZm9ybXRlc3QucGwgKEBoZWFkZXJzKTogQWRkIGNvbXBsZXguaCBhbmQgdGdtYXRoLmguCgkqIGNvbmZvcm0vZGF0YS9jb21wbGV4LmgtZGF0YTogTmV3IGZpbGUuCgkqIGNvbmZvcm0vZGF0YS90Z21hdGguaC1kYXRhOiBOZXcgZmlsZS4KCgkqIGNvbmZvcm0vZGF0YS93Y2hhci5oLWRhdGE6IEFkZCBtaXNzaW5nIGZ1bmN0aW9ucy4KCgkqIHN5c2RlcHMvZ251L2JpdHMvdXRtcHguaDogRGVmaW5lIFJVTl9MVkwgb25seSBpZiBfX1VTRV9HTlUuCgoJKiBjb25mb3JtL2RhdGEvdGVybWlvcy5oLWRhdGE6IEFkZCBtaXNzaW5nIGNvbnN0IGluIHRjc2V0YXR0cigpCglwcm90b3R5cGUuCgoJKiBwb3NpeC9zeXMvd2FpdC5oOiBJbmNsdWRlIDxzaWduYWwuaD4gYW5kIDxzeXMvcmVzb3VyY2UuaD4uCglEb24ndCBkZWZpbmUgcGlkX3QgaGVyZS4KCgkqIGNvbmZvcm0vZGF0YS9zeXMvdXRzbmFtZS5oLWRhdGE6IERvbid0IHByb3ZpZGUgZml4ZWQgYXJyYXkgc2l6ZXMuCgoJKiBjb25mb3JtL2RhdGEvc3lzL3RpbWUuaC1kYXRhOiBBbGxvdyBzeXMvc2VsZWN0LmguCgkqIGNvbmZvcm0vZGF0YS9zeXMvdW4uaC1kYXRhOiBGaXggdHlwby4KCSogdGltZS9zeXMvdGltZS5oOiBEb24ndCBpbmNsdWRlIGFsbCBvZiA8dGltZS5oPiwganVzdCBzdHJ1Y3QgdGltZXZhbC4KCSogc3lzZGVwcy9wb3NpeC9jbG9ja19nZXRyZXMuYzogSW5jbHVkZSA8dGltZS5oPiBpbnN0ZWFkIG9mCgk8c3lzL3RpbWUuaD4uCgkqIHN5c2RlcHMvdW5peC9jbG9ja19uYW5vc2xlZXAuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9pMzg2L2Nsb2NrX2dldGNwdWNsb2NraWQuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9pMzg2L2k1ODYvY2xvY2tfZ2V0cmVzLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvY2xvY2tfZ2V0dGltZS5jOiBBbHNvIGluY2x1ZGUgPHRpbWUuaD4uCgkqIHN5c2RlcHMvdW5peC9jbG9ja19zZXR0aW1lLmM6IExpa2V3aXNlLgoKCSogc3lzZGVwcy9nZW5lcmljL3BzZWxlY3QuYzogSW5jbHVkZSA8c3RkZGVmLmg+IGZvciBOVUxMLgoJKiBsb2dpbi9nZXR1dGVudC5jOiBMaWtld2lzZS4KCSogbG9naW4vZ2V0dXRpZC5jOiBMaWtld2lzZS4KCSogbG9naW4vZ2V0dXRsaW5lLmM6IExpa2V3aXNlLgoKCSogc29ja2V0L3N5cy91bi5oOiBEZWZpbmUgU1VOX0xFTiBvbmx5IGlmIF9fVVNFX01JU0MuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL3N0YXR2ZnMuaDogQ2hhbmdlIHR5cGUgb2YgZl9mc2lkIGZpZWxkCgl0byB1bnNpZ25lZCBsb25nLiAgQWRkIF9fZl91bnVzZWQuICBEZWZpbmUgX1NUQVRWRlNCVUZfRl9VTlVTRUQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2ludGVybmFsX3N0YXR2ZnMuYzogQWRqdXN0IGluaXRpYWxpemF0aW9uIG9mCglmX2ZzaWQgZmllbGQgYWZ0ZXIgY2hhbmdlIGluIHN0cnVjdCBzdGF0dmZzLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9iaXRzL3N0YXR2ZnMuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvYml0cy9zdGF0dmZzLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L2JpdHMvc3RhdHZmcy5oOiBOZXcgZmlsZS4KCgkqIGNvbmZvcm0vZGF0YS9zeXMvc3RhdC5oLWRhdGE6IFJlbW92ZSBpc2ZkdHlwZS4gIFVzZQoJb3B0aW9uYWwtbWFjcm8uCgoJKiBjb25mb3JtL2RhdGEvc3lzL3NvY2tldC5oLWRhdGE6IEZpeCB0eXBvcy4gIENvcnJlY3QgZ2V0c29ja29wdCwKCXJlY3Zmcm9tLCBzZW5kLCBhbmQgc29ja2V0cGFpciBwcm90b3R5cGVzLiAgQWRkIGFsbG93IGxpbmVzLgoJKiBzb2NrZXQvc3lzL3NvY2tldC5oOiBJbmNsdWRlIDxzeXMvdWlvLmg+LgoJRG9uJ3QgdXNlIGZhbmN5IF9fU09DS0FERFJfQVJHIGRlZmluaXRpb24gdW5sZXNzIF9fVVNFX0dOVS4KCUZpeCB0eXBlIG9mIHNlY29uZCBwYXJhbWV0ZXIgb2YgbGlzdGVuLgoJRG9uJ3QgZGVjbGFyZSBpc2ZkdHlwZSB1bmxlc3MgX19VU0VfTUlTQy4KCSogc3lzZGVwcy9nZW5lcmljL2xpc3Rlbi5jOiBGaXggdHlwZSBvZiBzZWNvbmQgcGFyYW1ldGVyIG9mIGxpc3Rlbi4KCSogc3lzZGVwcy9tYWNoL2h1cmQvbGlzdGVuLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvYml0cy9zb2NrZXQuaCAoc3RydWN0IHNvY2thZGRyX3N0b3JhZ2UpOiBEZWZpbmUKCXNzX2ZhbWlseSBhbmQgX19zc19mYW1pbHkuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9iaXRzL3NvY2tldC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYml0cy9zb2NrZXQuaDogTGlrZXdpc2UuCgkoc3RydWN0IG1zZ2hkcik6IENoYW5nZSB0eXBlIG9mIG1zZ19pb3ZsZW4gdG8gaW50IGFuZCB0eXBlIG9mCgltc2dfY29udHJvbGxlbiB0byBzb2NrbGVuX3QuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2JpdHMvc29ja2V0Lmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2JpdHMvc29ja2V0Lmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L2JpdHMvc29ja2V0Lmg6IE5ldyBmaWxlLgoJKiBpbmV0L3JjbWQuYyAocmNtZF9hZik6IF9fc3NfZmFtaWx5IGlzIG5vdyBzc19mYW1pbHkuCgkocnJlc3Zwb3J0X2FmKTogTGlrZXdpc2UuCgoJKiBjb25mb3JtL2RhdGEvc3lzL3NobS5oLWRhdGE6IFNITUxCQSBpcyBub3QgcmVxdWlyZWQgdG8gYnkgYSBjb25zdGFudC4KCSogY29uZm9ybS9jb25mb3JtdGVzdC5wbDogSW1wbGVtZW50IGhhbmRsaW5nIG9mIHN5bWJvbC4KCgkqIHNpZ25hbC9zaWduYWwuaDogRml4IGhhbmRsaW5nIG9mIF9fbmVlZF8qIHN5bWJvbHMuCgkqIG1pc2Mvc3lzL3NlbGVjdC5jOiBEZWZpbmUgZmRfc2V0IGhlcmUuICBSZW1vdmUgX19mZF9zZXQuICBEZWZpbmUKCWZkX21hc2sgb25seSBpZiBfX1VTRV9NSVNDLiAgRGVjbGFyZSBwc2VsZWN0IGZvciBfX1VTRV9YT1BFTjJLLgoJKiBpbmNsdWRlL3N5cy9zZWxlY3QuaDogVXNlIGZkX3NldCBub3QgX19mZF9zZXQuCgkqIHN5c2RlcHMvZ2VuZXJpYy9iaXRzL3NlbGVjdC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2JpdHMvc2VsZWN0Lmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvYml0cy90eXBlcy5oOiBEb24ndCBkZWZpbmUgX19mZF9tYXNrLCBfX05GREJJVFMsCglfX0ZERUxULCBfX0ZETUFTSywgYW5kIF9fZmRfc2V0IGhlcmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9iaXRzL3R5cGVzLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9ocHV4L2JpdHMvdHlwZXMuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2JpdHMvdHlwZXMuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2JpdHMvdHlwZXMuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvYml0cy90eXBlcy5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9iaXRzL3R5cGVzLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9iaXRzL3R5cGVzLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9zeXN2NC9zb2xhcmlzMi9iaXRzL3R5cGVzLmg6IExpa2V3aXNlLgoJKiB0aW1lL3N5cy90aW1lLmg6IERlZmluZSBzdHJ1Y3QgdGltZXZhbCBiZWZvcmUgaW5jbHVkaW5nIDx0aW1lLmg+CglhbmQgPHN5cy9zZWxlY3QuaD4uCgoJKiBjb25mb3JtL2RhdGEvc3lzL3RpbWUuaC1kYXRhOiBmZF9zZXQgaXMgYSB0eXBlZGVmLgoJKiBjb25mb3JtL2RhdGEvc3lzL3NlbGVjdC5oLWRhdGE6IE5ldyBmaWxlLgoJKiBjb25mb3JtL2RhdGEvc3lzL21tYW4uaC1kYXRhOiBNYWtlIHR5cGVkIG1lbSBzdHVmZiBvcHRpb25hbC4KCSogY29uZm9ybS9jb25mb3JtdGVzdC5wbCAoQGhlYWRlcnMpOiBBZGQgc3lzL3NlbGVjdC5oLgoJKHR5cGUsIG9wdGlvbmFsLXR5cGUpOiBVbmxlc3MgdGVzdGluZyBhIHR5cGVkZWYgaW5zdGFudGlhdGUgb2JqZWN0LgoJSW1wbGVtZW50IG9wdGlvbmFsLWZ1bmN0aW9uLgoKCSogbWF0aC90ZXN0LW1pc2MuYzogSW5jbHVkZSA8ZmxvYXQuaD4uCgoyMDAxLTAxLTI3ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBtaXNjL2VmZ2N2dF9yLmM6IEluY2x1ZGUgPGZsb2F0Lmg+LgoKMjAwMS0wMS0yNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBjb25mb3JtL2RhdGEvc3RkbGliLmgtZGF0YTogQWNjb3VudCBmb3IgWFBHNiBjaGFuZ2VzLgoJKiBzdGRsaWIvc3RkbGliLmggKF9fcmFuZG9tKTogQ2hhbmdlIHJldHVybiB2YWx1ZSB0eXBlIHRvIGxvbmcuCgkocG9zaXhfbWVtYWxpZ24pOiBDbGVhbnVwIHBhcmFtZXRlciBuYW1lcy4KCShzZXRlbnYsIHVuc2V0ZW52KTogTWFrZSBhdmFpbGFibGUgZm9yIF9fVVNFX1hPUEVOMksuCglDaGFuZ2UgcmV0dXJuIHR5cGUgb2YgdW5zZXRlbnYgdG8gaW50LgoJKHFlY3Z0LCBxZ2N2dCwgcWZjdnQpOiBEZWNsYXJlIG9ubHkgaWYgX19VU0VfTUlTQy4KCSogaW5jbHVkZS9zdGRsaWIuaDogQ2hhbmdlIHJldHVybiB0eXBlIG9mIHVuc2V0ZW52IHRvIGludC4KCUNoYW5nZSByZXR1cm4gdHlwZSBvZiByYW5kb20gdG8gbG9uZyBpbnQuCgkqIHN5c2RlcHMvZ2VuZXJpYy9zZXRlbnYuYyAodW5zZXRlbnYpOiBDaGFuZ2UgcmV0dXJuIHR5cGUgdG8gaW50LgoJUmV0dXJuIC0xIGFuZCBzZXQgZXJybm8gaWYgcGFyYW1ldGVyIGlzIGludmFsaWQuCgkqIHN0ZGxpYi9yYW5kb20uYyAoX19yYW5kb20pOiBDaGFuZ2UgcmV0dXJuIHZhbHVlIHR5cGUgdG8gbG9uZy4KCgkqIGNvbmZvcm0vZGF0YS9zdGRpby5oLWRhdGE6IEFjY291bnQgZm9yIGNoYW5nZXMgaW4gWFBHNi4KCgkqIGNvbmZvcm0vZGF0YS9zcGF3bi5oLWRhdGE6IENvcnJlY3QgcG9zaXhfc3Bhd25hdHRyX3NldGZsYWdzCglwcm90b3R5cGUuCgoJKiBjb25mb3JtL2NvbmZvcm10ZXN0LnBsOiBEZWZpbmUgJG11c3RwcmVwZW5keyJzaWduYWwuaCJ9LgoJKiBjb25mb3JtL2RhdGEvc2lnbmFsLmgtZGF0YTogRml4IHNpZ2V2X25vdGlmeV9mdW5jdGlvbiBlbnRyeS4KCUZpeCB0eXBvIChTSUdWQUxSTSAtPiBTSUdWVEFMUk0pLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL3NpZ2luZm8uaDogRGVmaW5lIHNpZ2V2X25vdGlmeV9hdHRyCgl3aXRoIHJlYWwgdHlwZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvYml0cy9zaWdpbmZvLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2JpdHMvc2lnaW5mby5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9iaXRzL3NpZ2luZm8uaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL2JpdHMvc2lnaW5mby5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3BhcmMvc3BhcmM2NC9iaXRzL3NpZ2luZm8uaDogTGlrZXdpc2UuCgoJKiBjb25mb3JtL2NvbmZvcm10ZXN0LnBsOiBJbXBsZW1lbnQgb3B0aW9uYWwtZWxlbWVudC4gIERlZmluZQoJJG11c3RwcmVwZW5keyJzY2hlZC5oIn0uCgkqIGNvbmZvcm0vZGF0YS9zY2hlZC5oLWRhdGE6IE1ha2Ugc3BvcmFkaWMgc2NoZWR1bGVyIGRlZmluaXRpb25zCglvcHRpb25hbC4KCgkqIHB3ZC9wd2QuaDogRG9uJ3QgZGVmaW5lIGdldHB3ZW50X3IgZm9yIFhQRy4KCgkqIGlvL3N5cy9wb2xsLmg6IERlZmluZSBuZmRzX3QgYW5kIHVzZSBpdCBpbiBwb2xsIHByb3RvdHlwZS4KCSogc3lzZGVwcy9nZW5lcmljL3BvbGwuYzogVXNlIG5mZHNfdCB0eXBlIGluIGZ1bmN0aW9uIGRlZmluaXRpb24uCgkqIHN5c2RlcHMvbWFjaC9odXJkL3BvbGwuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9ic2QvcG9sbC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG9sbC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L3BvbGwuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9iaXRzL3BvbGwuaDogRGVmaW5lIE5QT0xMRklMRSBvbmx5IGlmIF9fVVNFX01JU0MuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2JpdHMvcG9sbC5oOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbTY4ay9iaXRzL3BvbGwuaDogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvYml0cy9wb2xsLmg6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9iaXRzL3BvbGwuaDogTGlrZXdpc2UuCgkqIGNvbmZvcm0vZGF0YS9wb2xsLmgtZGF0YTogRml4IHR5cG8gaW4gcG9sbCBwcm90b3R5cGUuCgoJKiBzeXNkZXBzL2dudS9uZXRpbmV0L3RjcC5oOiBEZWZpbmUgZXZlcnl0aGluZyBidXQgVENQXyBtYWNyb3MKCW9ubHkgaWYgX19VU0VfTUlTQy4KCSogY29uZm9ybS9kYXRhL25ldGluZXQvdGNwLmgtZGF0YTogUmVzZXJ2ZWQgcHJlZml4IFRDUF8uCgoJKiBzeXNkZXBzL2dudS9uZXQvaWYuaDogQ2xlYW51cCBuYW1lc3BhY2UuICBEZWZpbmUgSUZfTkFNRVNJWkUuCgoJKiBpbmV0L25ldGluZXQvaW4uaDogTWFrZSBJUFBST1RPXyBjb25zdGFudHMgYWxzbyBtYWNyb3MuCgoJKiBjb25mb3JtL2NvbmZvcm10ZXN0LnBsOiBJbXBsZW1lbnQgb3B0aW9uYWwtdHlwZS4KCgkqIHJlc29sdi9uZXRkYi5oOiBJbmNsdWRlIDxuZXRpbmV0L2luLmg+IG5vdCA8c3lzL3NvY2tldC5oPi4gIEluY2x1ZGUKCTxycGMvbmV0ZGIuaD4gb25seSBpZiBfX1VTRV9NSVNDLiAgSW5jbHVkZSA8c3RkaW50Lmg+IGluc3RlYWQgb2YKCWRlZmluaW5nIHVpbnQzMl90IGhlcmUuICBEZWZpbmUgSVBQT1JUX1JFU0VSVkVELgoJKHN0cnVjdCBob3N0ZW50KTogVHlwZSBvZiBoX2xlbmd0aCBlbGVtZW50IGlzIGludC4KCShnZXRuYW1laW5mbyk6IFR5cGUgb2YgZmxhZ3MgcGFyYW1ldGVyIGlzIHVuc2lnbmVkIGludC4KCSogaW5ldC9nZXRuYW1laW5mby5jIChnZXRuYW1laW5mbyk6IGZsYWdzIGFyZ3VtZW50IGlzIHVuc2lnbmVkLgoJKiBjb25mb3JtL2RhdGEvbmV0ZGIuaC1kYXRhOiBBZGQgbWFueSBtaXNzaW5nIGRlZmluaXRpb25zLgoKCSogY29uZm9ybS9jb25mb3JtdGVzdC5wbDogSW1wbGVtZW50IG9wdGlvbmFsLW1hY3JvLgoJKiBjb25mb3JtL2RhdGEvbWF0aC5oLWRhdGE6IFVwZGF0ZSBmb3IgWFBHNi4KCgkqIG1hdGgvbWF0aC5oIChIVUdFKTogRGVmaW5lIGFzIEZMVF9NQVggdmFsdWUgYnV0IGRvbid0IHVzZQoJRkxUX01BWC4gIERvbid0IGluY2x1ZGUgPGZsb2F0Lmg+LgoJKE1BWEZMT0FUKTogTGlrZXdpc2UuCgoJKiBtYXRoL21hdGguaDogRGVmaW5lIE1BVEhfRVJSTk8gYW5kIE1BVEhfRVJSRVhDRVBULgoKCSogaW5jbHVkZS9iaXRzL3hvcGVuX2xpbS5oOiBEb24ndCBkZWZpbmUgRk9QRU5fTUFYIGhlcmUuCgoJKiBjb25mb3JtL2RhdGEvbGltaXRzLmgtZGF0YTogTWFyayBjb25zdGFudHMgYXMgb3B0aW9uYWwgd2hlcmV2ZXIKCWFwcHJvcHJpYXRlLgoKCSogcG9zaXgvYml0cy9wb3NpeDJfbGltLmg6IFNldCBjb3JyZWN0IHZhbHVlcyBmb3IKCV9QT1NJWDJfQ09MTF9XRUlHSFRTX01BWCBhbmQgX1BPU0lYMl9DSEFSQ0xBU1NfTkFNRV9NQVguICBSZW1vdmUKCUVRVUlWX0NMQVNTX01BWC4KCgkqIHBvc2l4L2JpdHMvcG9zaXgxX2xpbS5oOiBEZWZpbmUgX1BPU0lYX1RaTkFNRV9NQVggYXMgNi4KCVJlcXVpcmVkIGJ5IFBPU0lYLgoKCSogaW50bC9sb2FkbXNnY2F0LmM6IEluY2x1ZGUgPGxvY2FsZS5oLj4gZm9yIF9MSUJDLgoKCSogY29uZm9ybS9kYXRhL25ldGluZXQvaW4uaC1kYXRhOiBBZGQgcmVzZXJ2ZWQgcHJlZml4ZXMuCgoJKiBjb25mb3JtL2RhdGEvYXJwYS9pbmV0LmgtZGF0YTogRml4IGEgZmV3IHR5cG9zLgoKMjAwMS0wMS0yNiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy9nZW5lcmljL3N0cnRvbC5jOiBJbmNsdWRlIDxsb2NhbGUuaD4KCSogc3RkbGliL3N0cnRvZC5jOiBMaWtld2lzZQoJKiBzdGRsaWIvc3RyZm1vbi5jOiBMaWtld2lzZS4KCSogc3RyaW5nL3N0cmNvbGwuYzogTGlrZXdpc2UuCgkqIHN0cmluZy9zdHJ4ZnJtLmM6IExpa2V3aXNlLgoJKiB3Y3R5cGUvd2NmdW5jc19sLmM6IExpa2V3aXNlLgoJKiB3Y3R5cGUvd2N0eXBlX2wuYzogTGlrZXdpc2UuCgkqIHdjdHlwZS93Y3RyYW5zX2wuYzogTGlrZXdpc2UuCgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlLmg6IE5ldyBmaWxlLgoKMjAwMS0wMS0yNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsb2NhbGUvbGFuZ2luZm8uaDogQ29ycmVjdCBsb2dpYyBpbiAjaWZzIHdoZW4gZGVmaW5pbmcgWUVTU1RSCglhbmQgTk9TVFIuCgoJKiBsb2NhbGUvTWFrZWZpbGUgKGhlYWRlcnMpOiBBZGQgYml0cy9sb2NhbGUuaC4KCSogbG9jYWxlL2xhbmdpbmZvLmg6IERvbid0IGluY2x1ZGUgPGxvY2FsZS5oPi4gIEluY2x1ZGUgPGJpdHMvbG9jYWxlLmg+CglhbmQgdXNlIF9fTENfIGNvbnN0YW50cyBpbnN0ZWFkIG9mIExDXy4KCSogbG9jYWxlL2xvY2FsZS5oOiBJbmNsdWRlIDxiaXRzL2xvY2FsZS5oPiBhbmQgZGVmaW5lIExDXyBjb25zdGFudHMKCXVzaW5nIF9fTENfIGNvbnN0YW50cy4KCSogbG9jYWxlL2JpdHMvbG9jYWxlLmg6IE5ldyBmaWxlLgoJKiBsb2NhbGUvbG9hZGxvY2FsZS5jOiBJbmNsdWRlIDxsb2NhbGUuaD4uCgkqIGxvY2FsZS9ubF9sYW5naW5mby5oOiBMaWtld2lzZS4KCgkqIHBvc2l4L2dsb2IuaDogQ2xlYW51cCBuYW1lc3BhY2UgZm9yIG5vbi1fR05VX1NPVVJDRSBjYXNlLgoKCSogaW8vc3lzL3N0YXQuaDogRGVmaW5lIFNfSUZTT0NLIGZvciBYUEc2LgoKCSogY29uZm9ybS9kYXRhL2ZjbnRsLmgtZGF0YTogcG9zaXhfbWFkdmlzZSBpcyBub3QgZXhwZWN0ZWQgaGVyZS4KCgkqIGNvbmZvcm0vY29uZm9ybXRlc3QucGw6IEZpeCBoYW5kbGluZyBvZiBtYWNyby1zdHIuCgoJKiBjb25mb3JtL2RhdGEvaW50dHlwZXMuaC1kYXRhOiBBZGQgbWlzc2luZyBkZWZpbml0aW9uIGFuZCBhbGwgb2YKCXN0ZGludC5oLWRhdGEuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvcGFyYW0uaCAoTUFYU1lNTElOS1MpOiBCdW1wIHRvIDIwLgoKMjAwMS0wMS0yNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBjb25mb3JtL2NvbmZvcm10ZXN0LnBsIChAaGVhZGVycyk6IEFkZCBzdGRpbnQuaC4KCSogY29uZm9ybS9kYXRhL3N0ZGludC5oLWRhdGE6IE5ldyBmaWxlLgoKCSogY29uZm9ybS9jb25mb3JtdGVzdC5wbDogUmVjb2duaXplIG9wdGlvbnMgLS1oZWFkZXJzIGFuZAoJLS1kaWFsZWN0LiAgQWRkIGRpYWxlY3Qtc3BlY2lmaWMgQ0ZMQUdTLgoKCSogY29uZm9ybS9jb25mb3JtdGVzdC5wbDogSW1wbGVtZW50IGhhbmRsaW5nIG9mIHJlY3Vyc2l2ZQoJYWxsb3ctaGVhZGVyLgoKCSogY29uZm9ybS9kYXRhL2xvY2FsZS5oLWRhdGE6IEFkZCBuZXcgc3RydWN0IGxjb252IG1lbWJlcnMuCgoJKiBwb3NpeC93b3JkZXhwLmg6IENvcnJlY3QgZGVmaW5pdGlvbiBvZiB3b3JkZXhwX3QuCgkqIHBvc2l4L3dvcmRleHAuYzogTW92ZWQgdG8gLi4uCgkqIHN5c2RlcHMvZ2VuZXJpYy93b3JkZXhwLmM6IC4uLmhlcmUuICBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvd29yZGV4cC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC93b3JkZXhwLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L3dvcmRleHAuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL1ZlcnNpb25zIFtsaWJjXSAoR0xJQkNfMi4yLjIpOiBBZGQKCXdvcmRleHAuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvVmVyc2lvbnM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9zcGFyYzY0L1ZlcnNpb25zOiBMaWtld2lzZS4KCgkqIG1hdGgvdGdtYXRoLmg6IFByZXR0eSBwcmludGluZy4KCgkqIG1hdGgvTWFrZWZpbGUgKHRlc3RzKTogQWRkIHRlc3QtdGdtYXRoLgoJKENGTEFHUy10ZXN0LXRnbWF0aC5jKTogTmV3IHZhcmlhYmxlLgoJKiBtYXRoL3Rlc3QtdGdtYXRoLmM6IE5ldyBmaWxlLiAgQ29udHJpYnV0ZWQgYnkgSmFrdWIgSmVsaW5lay4KCgkqIGNvbmZvcm0vY29uZm9ybXRlc3QucGw6IEhhbmRsZSBhbGxvdy1oZWFkZXIgaW4gc2Vjb25kYXJ5IGhlYWRlcnMKCWNvcnJlY3RseS4KCgkqIGNvbmZvcm0vZGF0YS9mY250bC5oLWRhdGE6IE1hcmsgc3ltYm9scyBpbnRyb2R1Y2VkIGluIFhQRzYgd2l0aAoJI2lmZGVmLgoKCSogY29uZm9ybS9kYXRhL25ldGluZXQvaW4uaC1kYXRhOiBVc2UgY29ycmVjdCBjb21tZW50IGNoYXJhY3Rlci4KCSogY29uZm9ybS9kYXRhL3N5cy9zdGF0LmgtZGF0YTogTGlrZXdpc2UuCgoyMDAxLTAxLTI1ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIG1hdGgvdGdtYXRoLmggKF9fVEdNQVRIX0JJTkFSWV9GSVJTVF9SRUFMX09OTFksCglfX1RHTUFUSF9CSU5BUllfUkVBTF9PTkxZLCBfX1RHTUFUSF9URVJOQVJZX0ZJUlNUX1NFQ09ORF9SRUFMX09OTFksCglfX1RHTUFUSF9URVJOQVJZX1JFQUxfT05MWSk6IFVzZSBwcm9wZXIgYXJndW1lbnRzIHRvCglfX2J1aWx0aW5fY2xhc3NpZnlfdHlwZSwgYWRkICMjZiBzdWZmaXhlcyB3aGVyZSBhcHByb3ByaWF0ZS4KCShfX1RHTUFUSF9VTkFSWV9SRUFMX0lNQUcpOiBSZW1vdmUgZXh0cmFuZW91cyBsZWZ0IHBhcmVudGhlc2lzLgoJKF9fVEdNQVRIX0JJTkFSWV9SRUFMX0lNQUcpOiBMaWtld2lzZSwgdXNlIHByb3BlciBhcmd1bWVudHMgdG8KCV9fYnVpbHRpbl9jbGFzc2lmeV90eXBlLgoJKGZtYSk6IEZpeCBzcGVsbGluZyBvZiBmaXJzdCBhcmd1bWVudC4KCjIwMDEtMDEtMjUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogY29uZm9ybS9kYXRhL3VuaXN0ZC5oLWRhdGE6IE1hcmsgZnVuY3Rpb25zIHJlbW92ZWQgaW4gWFBHNgoJY29ycmVjdGx5LgoKCSogcG9zaXgvdW5pc3RkLmg6IERvbid0IG1ha2UgZnVuY3Rpb25zIHJlbW92ZWQgaW4gWFBHNiBhdmFpbGFibGUgaWYKCV9fVVNFX1hPUEVOMksuCgoJKiBjb25mb3JtL2NvbmZvcm10ZXN0LnBsOiBJbXBsZW1lbnQgb3B0aW9uYWwtY29uc3RhbnQuCgkqIGNvbmZvcm0vZGF0YS91bmlzdGQuaC1kYXRhOiBVc2Ugb3B0aW9uYWwtY29uc3RhbnQgd2hlcmV2ZXIKCWFwcHJvcHJpYXRlLgoKCSogc3lzZGVwcy9nZW5lcmljL2JpdHMvY29uZm5hbWUuaDogQ29ycmVjdCBuYW1lcyBvZiBfU0NfUEJTCgljb25zdGFudHMgYW5kIGFkZCBfU0NfU1RSRUFNUy4KCSogc3lzZGVwcy9wb3NpeC9zeXNjb25mLmMgKF9fc3lzY29uZik6IExpa2V3aXNlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3RhdHZmczY0LmM6IFJlbmFtZSB0byBfX3N0YXR2ZnM2NCBhbmQKCW1ha2Ugb2xkIG5hbWUgd2VhayBhbGlhcy4KCSogc3lzZGVwcy9nZW5lcmljL3N0YXR2ZnM2NC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZnN0YXR2ZnM2NC5jOiBSZW5hbWUgdG8gX19mc3RhdHZmczY0IGFuZAoJbWFrZSBvbGQgbmFtZSB3ZWFrIGFsaWFzLgoJKiBzeXNkZXBzL2dlbmVyaWMvZnN0YXR2ZnM2NC5jOiBMaWtld2lzZS4KCSogaW5jbHVkZS9zeXMvc3RhdHZmcy5oOiBOZXcgZmlsZS4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9iaXRzL2NvbmZuYW1lLmg6IERlZmluZSBfUENfUkVDX0lOQ1JfWEZFUl9TSVpFLAoJX1BDX1JFQ19NQVhfWEZFUl9TSVpFLCBfUENfUkVDX01JTl9YRkVSX1NJWkUsIGFuZAoJX1BDX1JFQ19YRkVSX0FMSUdOLgoJKiBzeXNkZXBzL3Bvc2l4L3BhdGhjb25mLmMgKF9fcGF0aGNvbmYpOiBJbXBsZW1lbnQgaGFuZGxpbmcgb2YKCV9QQ19SRUNfSU5DUl9YRkVSX1NJWkUsIF9QQ19SRUNfTUFYX1hGRVJfU0laRSwKCV9QQ19SRUNfTUlOX1hGRVJfU0laRSwgYW5kIF9QQ19SRUNfWEZFUl9BTElHTi4KCSogc3lzZGVwcy9wb3NpeC9mcGF0aGNvbmYuYyAoX19mcGF0aGNvbmYpOiBMaWtld2lzZS4KCgkqIGNvbmZvcm0vY29uZm9ybXRlc3QucGw6IFJ1biBVbml4IHRlc3RzIGZvciBYUEc2LgoJSW1wbGVtZW50IGhhbmRsaW5nIG9mIGtub3duIG5hbWVzcGFjZSB2aW9sYXRpb25zLgoJSW1wcm92ZSBwcmludGluZyBvZiByZXN1bHRzLgoKCSogcG9zaXgvdW5pc3RkLmggKHVzbGVlcCk6IENvcnJlY3QgcmV0dXJuIHR5cGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3VzbGVlcC5jOiBDb3JyZWN0IHJldHVybiB0eXBlLgoJKiBzeXNkZXBzL3VuaXgvYnNkL3VzbGVlcC5jOiBDb3JyZWN0IHJldHVybiB0eXBlLgoJKiBzeXNkZXBzL21hY2gvdXNsZWVwLmM6IENvcnJlY3QgcmV0dXJuIHR5cGUuCgkqIHN5c2RlcHMvZ2VuZXJpYy91c2xlZXAuYzogQ29ycmVjdCByZXR1cm4gdHlwZS4KCgkqIHBvc2l4L3VuaXN0ZC5oIChzeW5jKTogQ29ycmVjdCByZXR1cm4gdHlwZS4KCSogc3lzZGVwcy9nZW5lcmljL3N5bmMuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvbWFjaC9odXJkL3N5bmMuYzogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL2dlbmVyaWMvYml0cy9jb25mbmFtZS5oIChfU0NfSU9WX01BWCk6IE5ldyBkZWZpbml0aW9uLgoKCSogcG9zaXgvdW5pc3RkLmg6IE1ha2Ugc2V0ZXVpZCBhbmQgc2V0ZWdpZCBhdmFpbGFibGUgZm9yIFhQRzYuCgoJKiB3Y3NtYnMvd2NoYXIuaDogR2V0IEZJTEUgZGVmaW5pdGlvbiBmb3IgWFBHNS4KCgkqIGNvbmZvcm0vZGF0YS9jdHlwZS5oLWRhdGE6IFVzZSBjb3JyZWN0IGNvbW1lbnQgZm9ybS4KCSogY29uZm9ybS9kYXRhL2Vycm5vLmgtZGF0YTogTGlrZXdpc2UuCgkqIGNvbmZvcm0vZGF0YS9tYXRoLmgtZGF0YTogTGlrZXdpc2UuCgkqIGNvbmZvcm0vZGF0YS9tcXVldWUuaC1kYXRhOiBMaWtld2lzZS4KCSogY29uZm9ybS9kYXRhL25ldGRiLmgtZGF0YTogTGlrZXdpc2UuCgkqIGNvbmZvcm0vZGF0YS9wdGhyZWFkLmgtZGF0YTogTGlrZXdpc2UuCgoyMDAxLTAxLTI0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGNvbmZvcm0vZGF0YS93b3JkZXhwLmgtZGF0YTogRml4IHR5cG8uCgoJKiBjb25mb3JtL2NvbmZvcm10ZXN0LnBsOiBIYW5kbGUgYWxsb3ctaGVhZGVyIGNvcnJlY3RseS4KCgkqIGNvbmZvcm0vZGF0YS90aW1lLmgtZGF0YTogVXNlIGNvcnJlY3QgY29tbWVudCBmb3JtLgoKCSogY29uZm9ybS9jb25mb3JtdGVzdC5wbCAoY2hlY2tuYW1lc3BhY2UpOiBJZ25vcmUgI3VuZGVmIGxpbmVzLgoKCSogY29uZmlndXJlLmluOiBDb21tZW50IG91dCBiaW51dGlscyB2ZXJzaW9uIHRlc3QuCgoJKiBzdGRsaWIvc3RydG9kLmMgKHN0cl90b19tcG4pOiBDb3JyZWN0IHBhcnNpbmcgb2YgdGhvdXNhbmRzCglzZXBhcmF0b3JzLgoJUmVwb3J0ZWQgYnkgTGFnYXJkZXJlIEplYW4tRnJhbmNvaXMgPExBR0FSREVSRUpAdGhtdWx0aS5jb20+LgoKCSogc3RkbGliL3RzdC1zdHJ0b2QuYyAobG9jYWxlX3Rlc3QpOiBOZXcgZnVuY3Rpb24uCgkobWFpbik6IENhbGwgbG9jYWxlX3Rlc3QuCgkqIHN0ZGxpYi9NYWtlZmlsZSAodHN0LXN0cnRvZC1FTlYpOiBOZXcgdmFyaWFibGUuCgoyMDAxLTAxLTI0ICBNYXJrIEtldHRlbmlzICA8a2V0dGVuaXNAZ251Lm9yZz4KCgkqIGh1cmQvaHVyZHNpZy5jIChfaHVyZHNpZ19nZXRlbnYpOiBSZW1vdmUgc3B1cmlvdXMgaW5uZXJtb3N0CglkZWNsYXJhdGlvbiBvZiB2YWx1ZSBzdWNoIHRoYXQgd2UgYWN0dWFsbHkgcmV0dXJuIHRoZSB2YWx1ZSBvZiB0aGUKCWVudmlyb25tZW50IHZhcmlhYmxlLgoKMjAwMS0wMS0yNCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaW5pdC1maXJzdC5jOiBSZW1vdmUgZXh0cmEgX19zeXNjdGwKCXByb3RvdHlwZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZGwtb3NpbmZvLmg6IExpa2V3aXNlLgoKCSogaW5jbHVkZS9zeXMvc3lzY3RsLmg6IE5ldyBmaWxlLgoKMjAwMS0wMS0yMyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3RkbGliL01ha2VmaWxlICgkKG9ianBmeClpc29tYWMub3V0KTogQWxzbyBwYXNzIHN5c2luY2x1ZGVzIHRvCglpc29tYWMuCgoJKiBlbGYvZGwtbG9hZC5jIChfZGxfaW5pdF9wYXRocyk6IERvbid0IHVzZSBzdHJkdXBhIGluIGZ1bmN0aW9uCglhcmd1bWVudHMuICBSZXBvcnRlZCBieSBKaXJpIEt1YmljZWsgPGt1YmljZWtAYml0c21hcnQuY29tPiwKCWNsb3NlcyBQUiBsaWJjLzIwMzkuCgoJKiBtYW51YWwvaW5zdGFsbC50ZXhpIChUb29scyBmb3IgQ29tcGlsYXRpb24pOiBDaGFuZ2UgcmVxdWlyZWQKCWJpbnV0aWxzIHZlcnNpb24uCgoyMDAxLTAxLTIyICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBjb25maWd1cmUuaW46IEFkZCB0ZXN0IGZvciBuZXcgZW5vdWdoIGJpbnV0aWxzIHZlcnNpb24sIG1vdmUKCWNvbXBpbGVyL2JpbnV0aWxzIHRlc3QgdXAuCgoJKiBWZXJzaW9ucy5kZWY6IEFkZCB2ZXJzaW9uIEdMSUJDXzIuMi4yLgoKMjAwMS0wMS0yMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udmRhdGEvVEVTVFM6IFVURi04IHRlc3QgZGF0YSBmb3IgSUJNOTMyIGFuZCBJQk05NDMgYXJlIG5vdwoJYXZhaWxhYmxlLgoJKiBpY29udmRhdGEvdGVzdGRhdGEvSUJNOTMyOiBOZXcgZmlsZS4KCSogaWNvbnZkYXRhL3Rlc3RkYXRhL0lCTTkzMi4uVVRGODogTmV3IGZpbGUuCgkqIGljb252ZGF0YS90ZXN0ZGF0YS9JQk05NDM6IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvdGVzdGRhdGEvSUJNOTQzLi5VVEY4OiBOZXcgZmlsZS4KCUNvbnRyaWJ1dGVkIGJ5IE1hc2FoaWRlIFdhc2hpemF3YSA8d2FzaGlAanAuaWJtLmNvbT4uCgoyMDAxLTAxLTIxICBGcmFueiBTaXJsICA8RnJhbnouU2lybC1rZXJuZWxAbGF1dGVyYmFjaC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL21tYXA2NC5jOiBDb3JyZWN0bHkgbWFzayBvZmZzZXQuCgoyMDAxLTAxLTIxICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG1hbGxvYy9tYWxsb2MuYzogUmVtb3ZlIGEgZmV3IHVubmVjZXNzYXJ5IGluaXRpYWxpemVycyBvZiBnbG9iYWwKCXZhcmlhYmxlcy4KCjIwMDAtMTItMDkgIEguSi4gTHUgIDxoamxAZ251Lm9yZz4KCgkqIG5zcy9NYWtlZmlsZSAocm91dGluZXMpOiBBZGQgZGlnaXRzX2RvdHMuCgkqIG5zcy9WZXJzaW9ucyAobGliYyk6IEFkZCBfX25zc19ob3N0bmFtZV9kaWdpdHNfZG90cyB0byBHTElCQ18yLjIuMi4KCSogbnNzL2RpZ2l0c19kb3RzLmMgKF9fbnNzX2hvc3RuYW1lX2RpZ2l0c19kb3RzKTogVHVybiB0ZW1wbGF0ZQoJaW50byBhIGZ1bmN0aW9uLgoJKiBuc3MvbnNzd2l0Y2guaCAoX19uc3NfaG9zdG5hbWVfZGlnaXRzX2RvdHMpOiBOZXcgaW50ZXJuYWwgTlNTCglmdW5jdGlvbi4KCSogbnNzL2dldFhYYnlZWS5jIChIX0VSUk5PX1ZBUl9QKTogTmV3IGRlZmluaXRpb24uCgkoVFlQRV9WQVJfUCk6IExpa2V3aXNlLgoJKEZMQUdTX1ZBUik6IExpa2V3aXNlLgoJKEFGX1ZBUl9QKTogTGlrZXdpc2UuCgkoSU5URVJOQUwgKFJFRU5UUkFOVF9OQU1FKSk6IENhbGwgX19uc3NfaG9zdG5hbWVfZGlnaXRzX2RvdHMgKCkKCWluc3RlYWQgb2YgaW5jbHVkaW5nIGRpZ2l0c19kb3RzLmMuCgkqIG5zcy9nZXRYWGJ5WVlfci5jIChIX0VSUk5PX1ZBUl9QKTogTmV3IGRlZmluaXRpb24uCgkoVFlQRV9WQVJfUCk6IExpa2V3aXNlLgoJKEZMQUdTX1ZBUik6IExpa2V3aXNlLgoJKEFGX1ZBUl9QKTogTGlrZXdpc2UuCgkoSU5URVJOQUwgKFJFRU5UUkFOVF9OQU1FKSk6IENhbGwgX19uc3NfaG9zdG5hbWVfZGlnaXRzX2RvdHMgKCkKCWluc3RlYWQgb2YgaW5jbHVkaW5nIGRpZ2l0c19kb3RzLmMuCgoyMDAxLTAxLTIxICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvcG9zaXgvZ2V0YWRkcmluZm8uYzogUmVkdWNlIC5kYXRhIHNpemUuCgoyMDAxLTAxLTIxICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBlbGYvY29uc3Rsb2FkMi5jOiBBZGQgcHJvdG90eXBlIGZvciBpbml0LgoKMjAwMS0wMS0yMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzdGRsaWIvc3RkbGliLmggKGRyYW5kNDhfZGF0YSk6IE1ha2UgYXZhaWxhYmxlIG9ubHkgZm9yCglfX1VTRV9NSVNDLiAgUmVuYW1lIGVsZW1lbnRzIHRvIHByb3RlY3QgbmFtZXNwYWNlLiAgQ2hhbmdlIHR5cGUKCWFuZCBwb3NpdGlvbiBvZiBhIGFuZCBpbml0IGVsZW1lbnQuCgkqIHN0ZGxpYi9kcmFuZDQ4LWl0ZXIuYzogRG9uJ3QgaGFuZGxlIHVuc2lnbmVkIHNob3J0ID4gMTYgYml0CglkaWZmZXJlbnRseS4gIEFkanVzdCBmb3IgZHJhbmQ0OF9kYXRhIGNoYW5nZS4gIERvbid0IGNvbXB1dGUgYSBoZXJlLAoJaXQgY29tZXMgZnJvbSBkcmFuZDQ4X2RhdGEuCgkqIHN0ZGxpYi9sY29uZzQ4X3IuYzogRG9uJ3QgaGFuZGxlIHVuc2lnbmVkIHNob3J0ID4gMTYgYml0CglkaWZmZXJlbnRseS4gIEFkanVzdCBmb3IgZHJhbmQ0OF9kYXRhIGNoYW5nZS4gIENvbXB1dGUgYSBoZXJlLgoJKiBzdGRsaWIvc3JhbmQ0OF9yLmM6IExpa2V3aXNlLgoJKiBzdGRsaWIvZHJhbmQ0OC5jOiBBZGp1c3QgZm9yIGRyYW5kNDhfZGF0YSBjaGFuZ2UuCgkqIHN0ZGxpYi9scmFuZDQ4LmM6IExpa2V3aXNlLgoJKiBzdGRsaWIvbXJhbmQ0OC5jOiBMaWtld2lzZS4KCSogc3RkbGliL3NlZWs0OC5jOiBMaWtld2lzZS4KCSogc3RkbGliL2RyYW5kNDhfci5jOiBMaWtld2lzZS4KCSogc3RkbGliL2xyYW5kNDhfci5jOiBMaWtld2lzZS4KCSogc3RkbGliL21yYW5kNDhfci5jOiBMaWtld2lzZS4KCSogc3RkbGliL3NlZWQ0OF9yLmM6IExpa2V3aXNlLiAgRG9uJ3QgaGFuZGxlIHVuc2lnbmVkIHNob3J0ID4gMTYgYml0CglkaWZmZXJlbnRseS4KCSogc3RkbGliL2VyYW5kNDhfci5jOiBEb24ndCBoYW5kbGUgdW5zaWduZWQgc2hvcnQgPiAxNiBiaXQgZGlmZmVyZW50bHkuCgkqIHN0ZGxpYi9qcmFuZDQ4X3IuYzogTGlrZXdpc2UuCgoJKiBwby9zdi5wbzogVXBkYXRlIGZyb20gdHJhbnNsYXRpb24gdGVhbS4KCjIwMDEtMDEtMjEgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN0ZGlvLWNvbW1vbi92ZnByaW50Zi5jICh2ZnByaW50Zik6IEFkZCBjYXN0cy4KCjIwMDEtMDEtMjAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaWNvbnZkYXRhL3J1bi1pY29udi10ZXN0LnNoOiBSZW9yZ25pemUgYSBiaXQgdG8gYWxsb3cgcnVubmluZyBvbmx5Cgl0aGUgQVNDSUkgdGVzdC4KCSogaWNvbnZkYXRhL1RFU1RTOiBBZGQgZW50cmllcyBmb3IgSUJNOTMyIGFuZCBJQk05NDMuCgoJKiBpY29udmRhdGEvTWFrZWZpbGUgKG1vZHVsZXMpOiBBZGQgSUJNOTMyIGFuZCBJQk05NDMuCgkqIGljb252ZGF0YS9nY29udi1tb2R1bGVzOiBBZGQgZW50cmllcyBmb3IgSUJNOTMyIGFuZCBJQk05NDMuCgkqIGljb252ZGF0YS9pYm05MzIuYzogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9pYm05MzIuaDogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9pYm05NDMuYzogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9pYm05NDMuaDogTmV3IGZpbGUuCglQYXRjaGVzIGJ5IE1hc2FoaWRlIFdhc2hpemF3YSA8d2FzaGlAanAuaWJtLmNvbT4uCgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtc3lzZGVwLmMgKF9kbF9zeXNkZXBfc3RhcnQpOiBGaXggdHlwbwoJcHJldmVudGluZyBvcHRpbWl6YXRpb24gZnJvbSBiZWluZyBkb25lLiAgU2V0IHRoZSBjb3JyZWN0IHR5cGUgYml0CglpbiBzZWVuLiAgRG9uJ3QgZGVmaW5lIGFuZCB1c2UgX2RsX2Jhc2VfYWRkciB1bmxlc3MKCU5FRURfRExfQkFTRV9BRERSIGlzIGRlZmluZWQuCgoJKiBpby9mdHcuYyAoZnR3X2Rpcik6IEFkZCBzbGFzaCBhZnRlciBkaXJlY3RvcnkgbmFtZSBpZiB0aGVyZQoJd2Fzbid0IGFueS4gIFJlcG9ydGVkIGJ5IGxvcmlzIDxsb3Jpc0Bpb2wuaXQ+LgoJKiBpby9NYWtlZmlsZSAodGVzdHMpOiBBZGQgYnVnLWZ0dzIuCgkqIGlvL2J1Zy1mdHcyLmM6IE5ldyBmaWxlLgoKMjAwMS0wMS0xOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzdGRsaWIvanJhbmQ0OF9yLmMgKF9fanJhbmQ0OF9yKTogQ29ycmVjdCBjb25zdHJ1Y3Rpbmcgb2YKCXJlc3VsdHMuICBSZXBvcnRlZCBieSBKZWZmIEhpZ2hhbSA8amhpZ2hhbUBhbGdvcml0aG1pY3MuY29tPi4KCSogc3RkbGliL3RzdC1yYW5kNDguYzogTmV3IGZpbGUuCgkqIHN0ZGxpYi9NYWtlZmlsZSAodGVzdHMpOiBBZGQgdHN0LXJhbmQ0OC4KCgkqIGxvY2FsZS9uZXdsb2NhbGUuYyAoX19uZXdsb2NhbGUpOiBGaXggdGVzdCBmb3Igc2V0dGluZyBhbGwKCWNhdGVnb3JpZXMuCgoyMDAxLTAxLTE5ICBNYXJrIEtldHRlbmlzICA8a2V0dGVuaXNAZ251Lm9yZz4KCgkqIHN5c2RlcHMvbWFjaC9odXJkL2Nocm9vdC5jIChjaHJvb3QpOiBSZXZlcnQgMTk5OS0wMi0yNyBjaGFuZ2VzLAoJYnV0IGNoYW5nZSBsb29raW5nIHVwIHRoZSBpbml0aWFsIGRpcmVjdG9yeSBwb3J0IGluIGEgc2ltaWxhciB3YXkKCWFzIGRvbmUgYnkgX2h1cmRfY2hhbmdlX2RpcmVjdG9yeV9wb3J0X2Zyb21fbmFtZS4KCSogaHVyZC9mY2hyb290LmMgKGZjaHJvb3QpOiBMaWtld2lzZS4KCjIwMDEtMDEtMTggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9nZW5lcmljL2RsLXN5c2RlcC5jIChfZGxfc3lzZGVwX3N0YXJ0KTogSWYgSEFWRV9BVVhfWElEIGlzCglkZWZpbmVkIGRvbid0IGxvb2sgd2hldGhlciB0aGUgQVRfKklEIHZhbHVlcyB3ZXJlIHNldC4KCUlmIEhBVkVfQVVYX1BBR0VTSVpFIGlzIGRlZmluZWQgZG9uJ3QgbG9vayB3aGV0aGVyIHRoZSBwYWdlc2l6ZSBpcyBzZXQuCgkoX2RsX3Nob3dfYXV4dik6IFJld3JpdGUgdG8gYXZvaWQgc3dpdGNoIHN0YXRlbWVudC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgva2VybmVsLWZlYXR1cmVzLmg6IERlZmluZQoJX19BU1NVTUVfQVRfUEFHRVNJWkUgZm9yIGtlcm5lbCA+PSAyLjQuMS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbGRzb2RlZnMuaDogRGVmaW5lIEhBVkVfQVVYX1hJRC4KCURlZmluZSBIQVZFX0FVWF9QQUdFU0laRSBpZiBfX0FTU1VNRV9BVF9QQUdFU0laRSBpcyBkZWZpbmVkLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZnhzdGF0NjQuYzogQWRkIG9uZSBfX2J1aWx0aW5fZXhwZWN0LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9seHN0YXQ2NC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgveHN0YXQ2NC5jOiBMaWtld2lzZS4KCgkqIGVsZi9ydGxkLmMgKHByb2Nlc3NfZW52dmFycyk6IENhbGwgX19zdHJ0b3VsX2ludGVybmFsIGluc3RlYWQgb2YKCXN0cnRvdWwuCgkqIGVsZi9kbC1taW5pbWFsLmMgKHN0cnRvbCwgX19zdHJ0b2xfaW50ZXJuYWwsIHN0cnRvdWwpOiBSZW1vdmVkLgoJKF9fc2lnam1wX3NhdmUpOiBTZXQgX19tYXNrX3dhc19zYXZlZCB0byB6ZXJvIHNpbmNlIHdlIGRvbid0IHNhdmUKCWFueXRoaW5nLgoJKiBkbGZjbi9ldmFsLmMgKF9fc3RydG9sX2ludGVybmFsKTogRGVmaW5lIGhlcmUuCgkoZXZhbCk6IFVzZSBfX3N0cnRvbF9pbnRlcm5hbCBpbnN0ZWFkIG9mIHN0cnRvbC4KCgkqIGVsZi9lbGYuaDogQWRkIGEgZmV3IG1vcmUgRUZfTUlQU18qIGNvbnN0YW50cy4KCjIwMDEtMDEtMTcgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbWFudWFsL01ha2VmaWxlIChjaGFwdGVycyk6IEFkZCBkZWJ1Zy4KCSogbWFudWFsL2RlYnVnLnRleGk6IE5ldyBmaWxlLgoJKiBtYW51YWwvZXhhbXBsZXMvZXhlY2luZm8uYzogTmV3IGZpbGUuCglQYXRjaCBieSBzdWNrZmlzaEBpaHVnLmNvLm56LgoKMjAwMS0wMS0xNyAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIHN5c2RlcHMvbTY4ay9iaXRzL2J5dGVzd2FwLmggKF9fYnN3YXBfMzIpOiBBZGQgY2FzdCB0byBhdm9pZAoJaW52YWxpZCBhc20uCgoyMDAxLTAxLTE3ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBuc2NkL2Nvbm5lY3Rpb25zLmMgKG5zY2RfcnVuKTogVXNlIHByb3BlciBmb3JtYXQgc3BlY2lmaWVyLgoKMjAwMS0wMS0xNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2RsLXByb2NpbmZvLmg6IE1vdmUgeDg2X2NhcF9mbGFncyBhbmQKCXg4Nl9wbGF0Zm9ybXMgZGF0YSBpbnRvIG5ldyBmaWxlIGFmdGVyIHByZXBlbmRpbmcgX2RsXy4gIENoYW5nZQoJdXNlcnMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvZGwtcHJvY2luZm8uYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvRGlzdDogQWRkIGRsLXByb2NpbmZvLmMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvTWFrZWZpbGU6IEFkZCBydWxlcyB0byBidWlsZAoJZGwtcHJvY2luZm8uYy4KCgkqIHNldGptcC9zZXRqbXAuaDogQ2xlYW51cCBkZWZpbml0aW9uIG9mIHNldGptcCBtYWNyby4KCgkqIHN5c2RlcHMvaTM4Ni9lbGYvYnNkLXNldGptcC5TOiBSZWFsIGltcGxlbWVudGF0aW9uLgoJKiBzeXNkZXBzL2kzODYvZWxmL2JzZC1fc2V0am1wLlM6IFJlbW92ZWQuCgkqIHN5c2RlcHMvaTM4Ni9lbGYvc2V0am1wLlMgKHNldGptcCk6IFJlbW92ZWQgaGVyZS4KCShfc2V0am1wKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvaTM4Ni9ic2QtX3NldGptcC5TOiBSZWFsIGltcGxlbWVudGF0aW9uLgoJKiBzeXNkZXBzL2kzODYvYnNkLXNldGptcC5TOiBSZWFsIGltcGxlbWVudGF0aW9uLgoJKiBzeXNkZXBzL2kzODYvYml0cy9zZXRqbXAuaDogUmVtb3ZlIFBVU0hfU0lHTkFMX01BU0sgZGVmaW5pdGlvbi4KCSogc3lzZGVwcy9pMzg2L3NldGptcC5TOiBSZW1vdmUgUElDIHN1cHBvcnQuICBUaGlzIGlzIHRoZSBub24tRUxGCgl2ZXJzaW9uLgoKMjAwMS0wMS0xNiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9zaWdjb250ZXh0aW5mby5oIChTSUdDT05URVhUKTogRml4CgltaXNhcHBsaWVkIGxhc3QgcGF0Y2guCgoyMDAxLTAxLTE1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN0ZGxpYi9yYW5kb20uYyAoX19pbml0c3RhdGUpOiBDbGVhbiB1cCBhIGNhc3QuCgkoX19zZXRzdGF0ZSk6IExpa2V3aXNlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9zeXNjYWxscy5saXN0OiBSZW1vdmUgc2VsZWN0CglzeXNjYWxsIGhhbmRsaW5nLiAgVGhlIGdlbmVyaWMgTGludXggdmVyc2lvbiBzaG91bGQgd29yay4KCjIwMDEtMDEtMTUgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9zZW5kZmlsZS5oOiBGaXggdHlwby4KCgkqIHN0ZGlvLWNvbW1vbi90c3RzY2FuZi5jIChtYWluKTogQWRkIHR3byB0ZXN0Y2FzZXMgZm9yICcqJyBtb2RpZmllci4KCjIwMDEtMDEtMTQgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogbnNzL2dldGVudC5jIChwcmludF9hbGlhc2VzLCBhbGlhc2VzX2tleXMsIGV0aGVyc19rZXlzLAoJbmV0Z3JvdXBfa2V5cywgcHJpbnRfcnBjLCBycGNfa2V5cywgcHJpbnRfc2hhZG93LCBzaGFkb3dfa2V5cyk6CglOZXcgZnVuY3Rpb25zLgoJKGdyb3VwX2tleXMsIGhvc3RzX2tleXMsIG5ldHdvcmtfa2V5cywgcGFzc3dkX2tleXMsIHByb3RvY29sc19rZXlzKToKCUlmIG51bWJlciBpcyAwLCBsaXN0IGFsbC4KCShzZXJ2aWNlc19rZXlzKTogTGlrZXdpc2UuICBMb29rdXAgYWxpYXNlcyBhcyB3ZWxsLgoJKGRhdGFiYXNlcyk6IE5ldyB0YWJsZS4KCShidWlsZF9kb2MpOiBQcmVwYXJlIGFyZ3AgZG9jIHRleHQgd2l0aCBsaXN0IG9mIHN1cHBvcnRlZCBkYXRhYmFzZXMuCgkobWFpbik6IENoYW5nZSB0byB0YWJsZSBkcml2ZW4gcHJvY2Vzc2luZy4KCjIwMDEtMDEtMTQgIFRob3JzdGVuIEt1a3VrIDxrdWt1a0BzdXNlLmRlPgoKCSogc3VucnBjL3hkci5jICh4ZHJfbG9uZywgeGRyX3VfbG9uZyk6IEZpeCBjb21tZW50cyBhYm91dCB0aGVzZQoJZnVuY3Rpb25zLgoKMjAwMS0wMS0wMyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzdW5ycGMveGRyLmMgKHhkcl9sb25nLCB4ZHJfdV9sb25nKTogUmV0dXJuIEZBTFNFIGlmIHRyeWluZyB0bwoJZW5jb2RlIHZhbHVlIHdoaWNoIGRvZXMgbm90IGZpdCBpbiB0aGUgMzJiaXQgdHlwZS4KCjIwMDEtMDEtMTUgIEhpcm95dWtpIE1hY2hpZGEgPG1hY2hpZGFAc20uc29ueS5jby5qcD4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvcmVnaXN0ZXItZHVtcC5oIChSRUdJU1RFUl9EVU1QKToKCUNoYW5nZSB0eXBlIG9mIENUWCB0byAoc3RydWN0IHNpZ2NvbnRleHQgKikuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvc2lnY29udGV4dGluZm8uaCAoR0VUX1BDKTogTGlrZXdpc2UuCgkoR0VUX0ZSQU1FKTogTGlrZXdpc2UuCgkoR0VUX1NUQUNLKTogTGlrZXdpc2UuCgkoU0lHQ09OVEVYVCk6IExpa2V3aXNlLiAgQWRkIDJuZCBhcmcgX2NvZGUuCgkoU0lHQ09OVEVYVF9FWFRSQV9BUkdTKTogQWRkIDJuZCBhcmcgX2NvZGUuCgoyMDAxLTAxLTEzICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG1hbnVhbC90ZXhpbmZvLnRleDogVXBkYXRlIGZyb20gdXBzdHJlYW0gdmVyc2lvbi4KCjIwMDEtMDEtMTMgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogaW5ldC9ldGhlcl9udG9oLmMgKGxvb2t1cF9mdW5jdGlvbik6IENoYW5nZSBhcmd1bWVudHMgdG8gbWF0Y2gKCV9uc3NfKl9nZXRudG9ob3N0X3IgcHJvdG90eXBlLgoJKGV0aGVyX250b2hvc3QpOiBQYXNzIGVycm5vIHBvaW50ZXIgdG8gTlNTIGZ1bmN0aW9uLgoKMjAwMS0wMS0xMiAgRnJhbnogU2lybAk8RnJhbnouU2lybC1rZXJuZWxAbGF1dGVyYmFjaC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2JpdHMvbW1hbi5oIChNU19TWU5DKTogRml4IHZhbHVlLgoJKE1BUF9MT0NLRUQpOiBOZXcgZGVmaW5pdGlvbi4KCShNQVBfTk9SRVNFUlZFKTogTmV3IGRlZmluaXRpb24uCgoyMDAxLTAxLTEyICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGFzc2VydC9hc3NlcnQuaDogVXNlIHN0YXRpY19jYXN0IGluc3RlYWQgb2YgQy1zdHlsZSBjYXN0IGZvciBDKysuCglQYXRjaCBieSBFbnJpY28gU2Nob2x6IDxlbnJpY28uc2Nob2x6QGluZm9ybWF0aWsudHUtY2hlbW5pdHouZGU+LgoKMjAwMS0wMS0xMiAgQmVuIENvbGxpbnMJIDxiY29sbGluc0BkZWJpYW4ub3JnPgoKCSogc3lzZGVwcy9nZW5lcmljL3NlZ2ZhdWx0LmMgKGluc3RhbGxfaGFuZGxlcik6IFVzZSBhY2Nlc3MsIG5vdAoJX19hY2Nlc3MuCgoyMDAxLTAxLTEyICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBwb3NpeC9mbm1hdGNoX2xvb3AuYyAoRkNUKTogUmVtb3ZlIHNpZ25lZCB3YXJuaW5ncy4KCSogcG9zaXgvd29yZGV4cC5jIChkb19wYXJzZV9nbG9iKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvcG9zaXgvc2lnYmxvY2suYyAoX19zaWdibG9jayk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvc2l4L3NpZ3NldG1hc2suYyAoX19zaWdzZXRtYXNrKTogTGlrZXdpc2UuCgkqIGVsZi9kbC1vcGVuLmMgKF9kbF9vcGVuKTogTGlrZXdpc2UuCgkqIGVsZi9kbC1jbG9zZS5jIChfZGxfY2xvc2UpOiBMaWtld2lzZS4KCSogZWxmL2RsLWxvYWQuYyAoX2RsX21hcF9vYmplY3QpOiBMaWtld2lzZS4KCSogaWNvbnYvaWNvbnZfcHJvZy5jIChwcm9jZXNzX2ZkKTogTGlrZXdpc2UuCgkqIHN0ZGlvLWNvbW1vbi92ZnNjYW5mLmMgKF9JT192ZnNjYW5mKTogTGlrZXdpc2UuCgoJKiBsb2NhbGUvbG9jYWxlaW5mby5oIChzdHJ1Y3QgbG9jYWxlX2RhdGEpOiBVc2UgX19mbGV4YXJyIGluc3RlYWQKCW9mIGEgemVyby1sZW5ndGggYXJyYXkuCgoyMDAxLTAxLTExICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN0ZGxpYi9jeGFfYXRleGl0LmMgKF9fY3hhX2F0ZXhpdCk6IENhc3QgdG8gKHZvaWQgKiwgaW50KSBmdW5jLgoJKiBzdGRsaWIvY3hhX2ZpbmFsaXplLmMgKF9fY3hhX2ZpbmFsaXplKTogQWRkIGhpZGRlbiBzZWNvbmQgYXJndW1lbnQuCgkqIHN0ZGxpYi9jeGFfb25fZXhpdC5jOiBSZW1vdmUuCgkqIHN0ZGxpYi9NYWtlZmlsZTogUmV2ZXJ0IGxhc3QgcGF0Y2guCgkqIHN0ZGxpYi9WZXJzaW9uczogTGlrZXdpc2UuCgkqIGluY2x1ZGUvc3RkbGliLmg6IExpa2V3aXNlLgoJKiBzdGRsaWIvZXhpdC5oOiBSZXZlcnQgbGFzdCBwYXRjaC4KCShzdHJ1Y3QgZXhpdF9mdW5jdGlvbik6IEFkZCBzZWNvbmQgYXJndW1lbnQgdG8gY3hhIGZuLgoJKiBzdGRsaWIvZXhpdC5jOiBSZXZlcnQgbGFzdCBwYXRjaC4KCShleGl0KTogQWRkIGhpZGRlbiBzZWNvbmQgYXJndW1lbnQuCgoyMDAxLTAxLTExICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBlbGYvZGwtbGliYy5jIChkb19kbG9wZW4pOiBNb3ZlIERMX1NUQVRJQ19JTklUIHRvIC4uLgoJKiBlbGYvZGwtb3Blbi5jIChfZGxfb3Blbik6IEhlcmUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvZGwtc3RhdGljLmMgKF9kbF9zdGF0aWNfbG9jayk6CglNYWtlIGl0IHN0YXRpYy4KCShfZGxfc3RhdGljX2luaXQpOiBJbml0aWFsaXplIHRoZSB2YXJpYWJsZXMgZXZlcnkgdGltZSB3aGVuIHBvc3NpYmxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2xkc29kZWZzLmggKERMX1NUQVRJQ19JTklUKToKCVVuZGVmaW5lIGl0IGZpcnN0LgoKMjAwMS0wMS0xMSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzdGRsaWIvTWFrZWZpbGUgKHJvdXRpbmVzKTogQWRkIGN4YV9vbl9leGl0LgoJKiBzdGRsaWIvVmVyc2lvbnMgW2xpYmNdIChHTElCQ18yLjIuMSk6IEFkZCBfX2N4YV9vbl9leGl0LgoJKiBzdGRsaWIvY3hhX29uX2V4aXQuYzogTmV3IGZpbGUuCgkqIGluY2x1ZGUvc3RkbGliLmg6IEFkZCBwcm90b3R5cGUgZm9yIF9fY3hhX29uX2V4aXQuCgkqIHN0ZGxpYi9leGl0LmM6IEhhbmRsZSBlZl9jeGEyLgoJKiBzdGRsaWIvZXhpdC5oIChlbnVtKTogQWRkIGVmX2N4YTIuCgkoc3RydWN0IGV4aXRfZnVuY3Rpb24pOiBBZGQgY3hhMi4KCgkqIFZlcnNpb25zLmRlZiBbbGRdOiBBZGQgR0xJQkNfMi4yLjEuCgoyMDAxLTAxLTEwICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBlbGYvZGwtbGliYy5jIChkb19kbG9wZW4pOiBDYWxsIERMX1NUQVRJQ19JTklUIGZvciBzdGF0aWMgYmluYXJpZXMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvTWFrZWZpbGUgKHN5c2RlcC1kbC1yb3V0aW5lcyk6IEFkZAoJZGwtc3RhdGljLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L1ZlcnNpb25zIChsZCk6IEFkZCBfZGxfdmFyX2luaXQuCgkqIHN5c2RlcHMvZ2VuZXJpYy9sZHNvZGVmcy5oIChETF9TVEFUSUNfSU5JVCk6IERlZmluZWQgaWYgbm90IGRlZmluZWQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvbGRzb2RlZnMuaDogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvZGwtc3RhdGljLmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L0Rpc3Q6IEFkZCBkbC1zdGF0aWMuYy4KCjIwMDEtMDEtMTEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbGliaW8vc3RkaW8uaDogUmVtb3ZlIGRlZmluaXRpb24gb2Ygb2ZmX3QuCgoyMDAxLTAxLTExICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiB3Y3NtYnMvdHN0LW1icnRvd2MuYyAodXRmOF90ZXN0KTogTmV3IGZ1bmN0aW9uIGJ5IE1hcmt1cyBLdWhuCgk8bWt1aG5AYWNtLm9yZz4uCgoyMDAxLTAxLTEwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN1bnJwYy9NYWtlZmlsZSAoZGlzdHJpYnV0ZSk6IEFkZCBlcnJxdWV1ZS5oLgoKMjAwMS0wMS0xMCAgSC5KLiBMdSAgPGhqbEBnbnUub3JnPgoKCSogc3lzZGVwcy9pYTY0L2RsLW1hY2hpbmUuaCAoVFJBTVBPTElORV9URU1QTEFURSk6IEFsc28gcHJlc2VydmUKCXI5LCByMTAgYW5kIHIxMSBmb3IgbGFuZ3VhZ2Ugc3BlY2lmaWMgcmVnaXN0ZXJzLgoKMjAwMS0wMS0xMCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzdW5ycGMvY2xudF91ZHAuYyAoY2xudHVkcF9idWZjcmVhdGUpOiBTZXQgSVBfUkVDVkVSUiBvbiB0aGUKCVVEUCBzb2NrZXQuCgkoY2xudHVkcF9jYWxsKTogSGFuZGxlIE1TR19FUlJRVUVVRS4KCSogc3lzZGVwcy9nZW5lcmljL2VycnF1ZXVlLmg6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9lcnJxdWV1ZS5oOiBOZXcgZmlsZS4KCjIwMDEtMDEtMTAgIEguSi4gTHUgIDxoamxAZ251Lm9yZz4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvc3lzY2FsbHMubGlzdCAoc19nZXRwYWdlc2l6ZSk6IFJlbW92ZWQuCgoyMDAxLTAxLTEwICBKb3NlcGggUy4gTXllcnMgIDxqc20yOEBjYW0uYWMudWs+CgoJKiBDT05GT1JNQU5DRTogVXBkYXRlLgoKMjAwMS0wMS0wOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2dlbmVyaWMvZWxmL2JhY2t0cmFjZXN5bXMuYyAoX19iYWNrdHJhY2Vfc3ltYm9scyk6CglNaW5pbWFsIGNsZWFudXBzLiAgQWRkIGFzc2VydCB0byBlbnN1cmUgbWVtb3J5IGhhbmRsaW5nIGlzIGNvcnJlY3QuCgoJKiBtYW51YWwvY29uZi50ZXhpIChGaWxlIE1pbmltdW1zKTogRml4IF9QT1NJWF9QQVRIX01BWCB2YWx1ZS4KCVJlcG9ydGVkIGJ5IEJlbiBDb2xsaW5zIDxiY29sbGluc0BkZWJpYW4ub3JnPi4KCgkqIHRpbWUvc3RyZnRpbWUuYyAobXlfc3RyZnRpbWUpOiBNYXJrIHByZXZpb3VzIEdOVSBleHRlbnNpb25zCgl3aGljaCBhcmUgbm93IGluIEM5OSBhcyBzdWNoLgoKMjAwMS0wMS0wOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBlbGYvcnRsZC5jIChwcm9jZXNzX2VudnZhcnMpOiBQbGFjZSBvdXRwdXQgZmlsZXMgZm9yIHByb2ZpbGluZwoJaW4gU1VJRCBiaW5hcmllcyBpbiAvdmFyL3Byb2ZpbGUuCgoJKiBlbGYvZGwtbG9hZC5jIChfZGxfbWFwX29iamVjdCk6IERvbid0IGxvb2sgaW4gY2FjaGUgZm9yCglwcmVsb2FkaW5nIGluIFNVSUQgYmluYXJpZXMuCgoJKiBlbGYvZGwtcHJvZmlsZS5jIChfZGxfc3RhcnRfcHJvZmlsZSk6IE9wZW4gdGhlIG91dHB1dCBmaWxlIHdpdGgKCU9fTk9GT0xMT1cgaWYgcG9zc2libGUuCgoJKiBpbmNsdWRlL3N0ZGxpYi5oOiBBZGQgX19wb3NpeF9vcGVucHQgZGVjbGFyYXRpb24uCgkqIHN0ZGxpYi9zdGRsaWIuaDogQWRkIHBvc2l4X29wZW5wdCBkZWNsYXJhdGlvbi4KCSogbG9naW4vVmVyc2lvbnM6IEFkZCBwb3NpeF9vcGVucHQgZm9yIEdMSUJDXzIuMi4xLgoJKiBzeXNkZXBzL2dlbmVyaWMvZ2V0cHQuYzogRGVmaW5lIHBvc2l4X29wZW5wdC4KCSogc3lzZGVwcy91bml4L2JzZC9nZXRwdC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZ2V0cHQuYzogTGlrZXdpc2UuCgoJKiB0aW1lL01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3QtbWt0aW1lLgoJKiB0aW1lL3RzdC1ta3RpbWUuYzogTmV3IGZpbGUuCgoJKiBwb3NpeC90c3QtZGlyLmMgKG1haW4pOiBPbmUgbW9yZSBta2RpcigpIHRlc3QuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pYTY0L2dldHBhZ2VzaXplLmMgKF9fZ2V0cGFnZXNpemUpOgoJUmVtb3ZlIGdldHBhZ2VzaXplIHN5c2NhbGwuICBXZSBhc3N1bWUgdGhhdCB0aGUgcGFnZXNpemUgaXMgYWx3YXlzCglkZXRlcm1pbmVkIGZyb20gdGhlIGF1eGlsaWFyeSB2ZWN0b3IuCgoJKiBpbnRsL2RjaWdldHRleHQuYzogRml4IGEgZmV3IHdhcm5pbmdzLgoJUGF0Y2ggYnkgQnJ1bm8gSGFpYmxlIDxoYWlibGVAaWxvZy5mcj4uCgoyMDAxLTAxLTA4ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBpby90ZXN0LWxmcy5jIChkb190ZXN0KTogQ2hlY2sgbHNlZWs2NCByZXR1cm4gZm9yIEVJTlZBTC4KCVJlcG9ydGVkIGJ5IEpvc2VwaCBTLiBNeWVycyA8anNtMjhAY2FtLmFjLnVrPi4KCjIwMDEtMDEtMDggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9nZW5lcmljL3NlZ2ZhdWx0LmMgKGluc3RhbGxfaGFuZGxlcik6IENoZWNrIG91dHB1dCBmaWxlCgluYW1lIHdpdGggYWNjZXNzKCkuCgoJKiByZXNvbHYvcmVzX3F1ZXJ5LmM6IFVzZSBzaW1wbHkgZ2V0ZW52KCkgZm9yIEhPU1RBTElBU0VTLgoJKiBzeXNkZXBzL2dlbmVyaWMvdW5zZWN2YXJzLmggKFVOU0VDVVJFX0VOVlZBUlMpOiBBZGQgSE9TVEFMSUFTRVMuCgoJKiBzeXNkZXBzL2dlbmVyaWMvdW5zZWN2YXJzLmggKFVOU0VDVVJFX0VOVlZBUlMpOiBBZGQgbWlzc2luZyBjb21tYS4KCgkqIG1hbGxvYy9tZW11c2FnZS5jIChtZSk6IFVzZSBhY2Nlc3MoKSB0byBkZXRlcm1pbmUgd2hldGhlciB3ZQoJc2hvdWxkIHdyaXRlIHRoZSBvdXRwdXQgZmlsZSBvciBub3QuCgoJKiBsaWJpby9iaXRzL3N0ZGlvLmggKHByaW50Zik6IERlZmluZSBtYWNybyB0byBtYXAgcHJpbnRmIGNhbGwgdG8KCWZwcmludGYgd2hpY2ggZ2NjIGNhbiBvcHRpbWl6ZS4KCSogc3RkaW8tY29tbW9uL3ByaW50Zi5jOiBVbmRlZmluZSBwcmludGYuCgoyMDAxLTAxLTA3ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9iaXRzL2J5dGVzd2FwLmggKF9fYnN3YXBfNjQpOiBQYXJ0bHkgcmV2ZXJ0IGxhc3QKCXBhdGNoLglXZSBtdXN0IHVzZSB1bnNpZ25lZCBpbnQgZm9yIGwgbWVtYmVyIG9mIHVuaW9uLgoKCSogc3lzZGVwcy9wb3dlcnBjL2VsZi9saWJjLXN0YXJ0LmMgKF9fbGliY19zdGFydF9tYWluKTogRG9uJ3QgY2FsbAoJX2RsX2F1eF9pbml0IGZvciBzaGFyZWQgbGlicmFyaWVzLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZ2xvYjY0LmM6IE1vdmVkIHRvIC4uLgoJKiBzeXNkZXBzL2dudS9nbG9iNjQuYzogLi4uaGVyZS4gIE5ldyBmaWxlLgoKMjAwMS0wMS0wNyAgQmVuIENvbGxpbnMJIDxiY29sbGluc0BkZWJpYW4ub3JnPgoKCSogbWFudWFsL2V4YW1wbGVzL2xvbmdvcHQuYzogTWFrZSB0aGUgInN0cnVjdCBvcHRpb24iIGEgbGl0dGxlCgltb3JlIGxpa2UgaXQgc2hvdWxkIGJlLCBhZGRpbmcgdXNhZ2Ugb2YgcmVxdWlyZWRfYXJndW1lbnQsCglub2FyZ3VtZW50IGFuZCBzdWNoLCBhbmQgYWxzbyBzZXR0aW5nIHRoZSBvcHRpb25zIHN0cmluZyByaWdodC4KCgkqIG1hbnVhbC9zeXNpbmZvLnRleGkgKExvYWQgQXZlcmFnZSk6IE5ldyBzZWN0aW9uLCBkb2N1bWVudHMKCWdldGxvYWRhdmcoKS4KCjIwMDEtMDEtMDYgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogdmVyc2lvbi5oIChWRVJTSU9OKTogQnVtcCB0byAyLjIuMS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvRGlzdDogUmVtb3ZlIHN5cy9hY2N0LmguCgkqIHN5c2RlcHMvYWxwaGEvRGlzdDogQWRkIGFscGhhZXY2L3N0eG5jcHkuUyBhbmQgYWxwaGFldjYvc3R4Y3B5LlMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9EaXN0OiBBZGQgdWl0cnVuYy5jLCBzYXZlZi5TLCBhbmQgcmVzdGYuUy4KCSogZGxmY24vTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGQgZXJybXNnMW1vZC5jLgoJKiBNYWtlZmlsZSAoZGlzdHJpYnV0ZSk6IEFkZCBpbmNsdWRlL2xpYmMtaW50ZXJuYWwuaC4KCSogbGliaW8vTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBdm9pZCBvdmVyd3JpdGluZy4KCgkqIGljb252ZGF0YS9pYm05MzcuYyAoQk9EWSB0byBJQk05MzcpOiBDb3JyZWN0IHNldmVyYWwgbWlzdGFrZXMgaW4KCWJ1ZmZlciBhbmQgdGFibGUgaGFuZGxpbmcuCgoyMDAxLTAxLTA1ICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBlbGYvZGwtc3VwcG9ydC5jIChub25fZHluYW1pY19pbml0KTogTW92ZSB0aGUgYXV4aWxpYXJ5Cgl2ZWN0b3IgY2hlY2tpbmcgdG8gLi4uCgkoX2RsX2F1eF9pbml0KTogSGVyZS4gIE5ldyBmdW5jdGlvbi4gIERlZmluZWQgb25seSBpZgoJSEFWRV9BVVhfVkVDVE9SIGlzIGRlZmluZWQuCgoJKiBzeXNkZXBzL2dlbmVyaWMvbGliYy1zdGFydC5jIChfX2xpYmNfc3RhcnRfbWFpbik6IENhbGwKCV9kbF9hdXhfaW5pdCBmb3Igc3RhdGljIGJpbmFyaWVzIGlmIEhBVkVfQVVYX1ZFQ1RPUiBpcyBkZWZpbmVkLgoKCSogc3lzZGVwcy9wb3dlcnBjL2VsZi9saWJjLXN0YXJ0LmMgKF9fbGliY19zdGFydF9tYWluKTogQ2FsbAoJX2RsX2F1eF9pbml0LgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbGRzb2RlZnMuaCAoRExfRklORF9BVVhWKTogUmVtb3ZlZC4KCShIQVZFX0FVWF9WRUNUT1IpOiBEZWZpbmVkLgoJKF9kbF9hdXhfaW5pdCk6IERlY2xhcmVkLgoKMjAwMS0wMS0wNSAgQmVuIENvbGxpbnMJIDxiY29sbGluc0BkZWJpYW4ub3JnPgoKCSogbWFudWFsL3N0cmluZy50ZXhpIChGaW5kaW5nIFRva2VucyBpbiBhIFN0cmluZyk6IERvY3VtZW50IFhQRwoJYmFzZW5hbWUoKSBhbmQgZGlybmFtZSgpLCBhcyB3ZWxsIGFzIEdOVSBiYXNlbmFtZSgpLgoKMjAwMS0wMS0wNSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBNYWtlY29uZmlnIChwcmVwcm9jZXNzLXZlcnNpb24pOiBSZXBsYWNlIC10cmFkaXRpb25hbCB3aXRoCgkteCBhc3NlbWJsZXItd2l0aC1jcHAuCgoyMDAxLTAxLTA1ICBKb3NlcGggUy4gTXllcnMgIDxqc20yOEBjYW0uYWMudWs+CgoJKiBtYXRoL2JpdHMvY21hdGhjYWxscy5oOiBEb24ndCBkZWZpbmUgaW5saW5lIGNpbWFnLCBjcmVhbCBvciBjb25qCglmb3IgR0NDIDIuOTcgb3IgbGF0ZXIuCgoyMDAxLTAxLTA1ICBCZW4gQ29sbGlucwkgPGJjb2xsaW5zQGRlYmlhbi5vcmc+CgoJKiBtYW51YWwvc3RkaW8udGV4aSAoZ2V0bGluZSk6IENsYXJpZnkgdGhlIHJldHVybiB2YWx1ZSBpbiB0aGUKCWNhc2Ugb2YgRU9GIGJlaW5nIHJlYWNoZWQgYmVmb3JlIGEgbmV3bGluZS4KCjIwMDEtMDEtMDQgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3VucnBjL3BtYXBfY2xudC5jIChfX2dldF9teWFkZHJlc3MpOiBSZXR1cm4gVFJVRSBpZiBzdWNjZXNzZnVsLAoJRkFMU0Ugb3RoZXJ3aXNlLgoJKHBtYXBfc2V0LCBwbWFwX3Vuc2V0KTogQ2hlY2sgX19nZXRfbXlhZGRyZXNzIHJldHVybiB2YWx1ZS4KCjIwMDEtMDEtMDUgIE1hcmsgS2V0dGVuaXMgIDxrZXR0ZW5pc0BnbnUub3JnPgoKCSogc3lzZGVwcy9nZW5lcmljL25ldGluZXQvaWZfZXRoZXIuaDogSW5jbHVkZSA8c3lzL3R5cGVzLmg+LgoJKHN0cnVjdCBldGhlcl9hZGRyKTogRGVjbGFyZSBldGhlcl9hZGRyX29jdGV0IG1lbWJlciBhcwoJYHVfaW50OF90Jy4gIEFkZCBfX2F0dHJpYnV0ZV9fICgoX19wYWNrZWRfXykpLgoKMjAwMS0wMS0wNiAgTWFyayBLZXR0ZW5pcyAgPGtldHRlbmlzQGdudS5vcmc+CgoJKiBzeXNkZXBzL21hY2gvaHVyZC9yZWFkZGlyNjQuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvbWFjaC9odXJkL3JlYWRkaXI2NF9yLmM6IE5ldyBmaWxlLgoKMjAwMS0wMS0wNyAgTWFyayBLZXR0ZW5pcyAgPGtldHRlbmlzQGdudS5vcmc+CgoJKiBzeXNkZXBzL21hY2gvaHVyZC9mc3RhdHZmcy5jIChmc3RhdHZmcyk6IEFkZCBjb21tZW50IGFib3V0Cglgc3RydWN0IHN0YXRmcycgYW5kIGBzdHJ1Y3Qgc3RhdHZmcycgYmVpbmcgaWRlbnRpY2FsLgoJKiBzeXNkZXBzL21hY2gvaHVyZC9zdGF0dmZzLmMgKHN0YXR2ZnMpOiBMaWtld2lzZS4KCjIwMDEtMDEtMDYgIE1hcmsgS2V0dGVuaXMgIDxrZXR0ZW5pc0BnbnUub3JnPgoKCSogc3lzZGVwcy9tYWNoL2h1cmQvZnN0YXRmczY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL21hY2gvaHVyZC9mc3RhdHZmczY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL21hY2gvaHVyZC9zdGF0ZnM2NC5jOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9tYWNoL2h1cmQvc3RhdHZmczY0LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL21hY2gvaHVyZC9zdGF0ZnNjb252LmM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL21hY2gvaHVyZC9EaXN0OiBBZGQgc3RhdGZzY29udi5jLgoKMjAwMS0wMS0wNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udi9za2VsZXRvbi5jOiBSZXNldCBvdXRidWYgZm9yIG5leHQgcm91bmQgb2YgdGhlIGxvb3AuCglSZXBvcnRlZCBieSBPd2VuIFRheWxvciA8b3RheWxvckByZWRoYXQuY29tPi4KCSogaWNvbnYvTWFrZWZpbGUgKHRlc3RzKTogQWRkIHRzdC1pY29udjMuCgkqIGljb252L3RzdC1pY29udjMuYzogTmV3IGZpbGUuCgoJKiBpY29udmRhdGEvaWJtOTMwLmM6IEZpeCBoYW5kbGluZyBvZiBzdGF0ZS4gIE9wdGltaXplIGEgYml0LgoJKiBpY29udmRhdGEvaWJtOTMzLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaWJtOTM1LmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaWJtOTM3LmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaWJtOTM5LmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaWJtOTMwLmg6IEFkanVzdCBzaW5nbGUgYnl0ZSB0YWJsZSBmb3Igb3B0aW1pemF0aW9uLgoJKiBpY29udmRhdGEvaWJtOTMzLmg6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaWJtOTM1Lmg6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaWJtOTM5Lmg6IExpa2V3aXNlLgoKCSogaWNvbnZkYXRhL3Rlc3RkYXRhL0lCTTkzMDogQWRkIG1pc3NzaW5nIFNJLgoJKiBpY29udmRhdGEvdGVzdGRhdGEvSUJNOTMzOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL3Rlc3RkYXRhL0lCTTkzNTogTGlrZXdpc2UuCgkqIGljb252ZGF0YS90ZXN0ZGF0YS9JQk05Mzc6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvdGVzdGRhdGEvSUJNOTM5OiBMaWtld2lzZS4KCjIwMDEtMDEtMDYgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGNvbmZpZ3VyZS5pbjogQ2hlY2sgZm9yIG9sZCBhZGQtb25zIHRoYXQgc2hvdWxkbid0IGJlIHVzZWQgd2l0aAoJY3VycmVudCBnbGliYyBhbnltb3JlLgoKMjAwMS0wMS0wNiAgTWFyayBLZXR0ZW5pcyAgPGtldHRlbmlzQGdudS5vcmc+CgoJKiBzeXNkZXBzL21hY2gvaHVyZC9yZWFkZGlyX3IuYyAoX19yZWFkZGlyX3IpOiBSZXR1cm4gZXJyb3IgbnVtYmVyCglpbnN0ZWFkIG9mIC0xIG9uIGZhaWx1cmUuICBEb24ndCBmb3JnZXQgdG8gY29weSBmaWxlIG5hbWUgaW50bwoJKkVOVFJZIGlmIHN1Y2Nlc3NmdWwuICBTZXQgKlJFU1VMVCB0byBOVUxMIHVwb24gcmVhY2hpbmcgdGhlIGVuZAoJb2YgdGhlIGRpcmVjdG9yeS4KCjIwMDEtMDEtMDYgIE1hcmsgS2V0dGVuaXMgIDxrZXR0ZW5pc0BnbnUub3JnPgoKCSogc3lzZGVwcy9tYWNoL2h1cmQveHN0YXRjb252LmMgKHhzdGF0NjRfY29udik6IERvbid0IGZvcmdldCB0bwoJY29weSBzdF9hdGltZSBtZW1iZXIuCgoyMDAxLTAxLTA1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGlvL2Z0dy5jIChmdHdfZGlyKTogRG9uJ3QgYWRkIGEgc2Vjb25kIHNsYXNoIGF0IHRoZSBiZWdpbm5pbmcKCWZvciBzZWFyY2hlcyBmcm9tIHRoZSByb290IGRpcmVjdG9yeS4KCVJlcG9ydGVkIGJ5IGxvcmlzIDxsb3Jpc0Bpb2wuaXQ+IFtQUiBsaWJjLzE5OTFdLgoJKiBpby9NYWtlZmlsZSAodGVzdHMpOiBBZGQgYnVnLWZ0dzEuCgkqIGlvL2J1Zy1mdHcxLmM6IE5ldyBmaWxlLgoKCSogZWxmL2RsLXN1cHBvcnQuYyAobm9uX2R5bmFtaWNfaW5pdCk6IERvbid0IGRlZmluZSBETF9GSU5EX0FVWFYKCWlmIGl0IGlzIG5vdCBhdmFpbGFibGUuCSBJbnN0ZWFkIHVzZSBpdCBvbmx5IGlmIGl0IGlzIGF2YWlsYWJsZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbGRzb2RlZnMuaDogTmV3IGZpbGUuCgoJKiBpY29udi9nY29udl9zaW1wbGUuYyAoaW50ZXJuYWxfaWNzNF9sb29wKTogQ29ycmVjdCB0ZXN0IGZvcgoJb3ZlcmZsb3dpbmcgb3V0cHV0IGJ1ZmZlci4KCShpbnRlcm5hbF91Y3M0X2xvb3BfdW5hbGlnbmVkKTogTGlrZXdpc2UuCgkodWNzNF9pbnRlcm5hbF9sb29wKTogTGlrZXdpc2UuCgkodWNzNF9pbnRlcm5hbF9sb29wX3VuYWxpZ25lZCk6IExpa2V3aXNlLgoJKGludGVybmFsX3VjczRsZV9sb29wKTogTGlrZXdpc2UuCgkoaW50ZXJuYWxfdWNzNGxlX2xvb3BfdW5hbGlnbmVkKTogTGlrZXdpc2UuCgkodWNzNGxlX2ludGVybmFsX2xvb3ApOiBMaWtld2lzZS4KCSh1Y3M0bGVfaW50ZXJuYWxfbG9vcF91bmFsaWduZWQpOiBMaWtld2lzZS4KCVJlcG9ydGVkIGJ5IE93ZW4gVGF5bG9yIDxvdGF5bG9yQHJlZGhhdC5jb20+LgoJKiBpY29udi9NYWtlZmlsZSAodGVzdHMpOiBBZGQgdHN0LWljb252Mi4KCSogaWNvbnYvdHN0LWljb252Mi5jOiBOZXcgZmlsZS4KCjIwMDEtMDEtMDQgIEguSi4gTHUgIDxoamxAZ251Lm9yZz4KCgkqIGVsZi9kbC1zdXBwb3J0LmMgKERMX0ZJTkRfQVVYVik6IE5ldy4JIERlZmluZWQgaWYgbm90IGRlZmluZWQuCgkoX2RsX2Nsa3Rjayk6IERlY2xhcmVkLgoJKG5vbl9keW5hbWljX2luaXQpOiBUYWtlIDMgYXJndW1lbnRzLgoJU2V0IF9kbF9wYWdlc2l6ZSwgX2RsX3BsYXRmb3JtIGFuZCBfZGxfY2xrdGNrIGZyb20gQVVYLgoKMjAwMS0wMS0wMSAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCUZpbmlzaCBpbXBsZW1lbnRhdGlvbiBvZiBwbHVyYWwgZm9ybSBoYW5kbGluZy4KCSogaW50bC9kY2lnZXR0ZXh0LmMgKGtub3duX3RyYW5zbGF0aW9uX3QpOiBSZW5hbWUgJ2RvbWFpbicgZmllbGQgdG8KCSdkb21haW5uYW1lJy4gIFJlbW92ZSAncGxpbmRleCcgZmllbGQuICBBZGQgJ2RvbWFpbicgYW5kCgkndHJhbnNsYXRpb25fbGVuZ3RoJyBmaWVsZHMuCgkodHJhbnNjbXApOiBEb24ndCBjb21wYXJlICdwbGluZGV4JyBmaWVsZHMuCgkocGx1cmFsX2xvb2t1cCk6IE5ldyBmdW5jdGlvbi4KCShEQ0lHRVRURVhUKTogQ2hhbmdlIGNhY2hlIGhhbmRpbmcgaW4gdGhlIHBsdXJhbCBjYXNlLglEb24ndCBjYWxsCglwbHVyYWxfZXZhbCBiZWZvcmUgdGhlIHRyYW5zbGF0aW9uIGFuZCBpdHMgY2F0YWxvZyBmaWxlIGhhdmUgYmVlbgoJZm91bmQuICBSZW1vdmUgcGxpbmRleCBmcm9tIGNhY2hlIGtleS4gIEFkZCAndHJhbnNsYXRpb25fbGVuZ3RoJyBhbmQKCSdkb21haW4nIHRvIGNhY2hlIHJlc3VsdC4KCShfbmxfZmluZF9tc2cpOiBSZW1vdmUgaW5kZXggYXJndW1lbnQsIHJldHVybiBsZW5ndGggb2YgdHJhbnNsYXRpb24KCXRvIHRoZSBjYWxsZXIgaW5zdGVhZC4JV2Vha2VuIGNvbXBhcmlzb24gb2Ygc3RyaW5nIGxlbmd0aHMsIHRvIGFjY291bnQKCWZvciBwbHVyYWwgZW50cmllcy4gIENhbGwgaWNvbnYoKSBvbiB0aGUgZW50aXJlIHJlc3VsdCBzdHJpbmcsIG5vdAoJb25seSBvbiB0aGUgcG9ydGlvbiBuZWVkZWQgc28gZmFyLgoJKiBpbnRsL2xvYWRpbmZvLmggKF9ubF9maW5kX21zZyk6IFJlbW92ZSBpbmRleCBhcmd1bWVudCwgYWRkIGxlbmd0aHAKCWFyZ3VtZW50LgoJKiBpbnRsL2xvYWRtc2djYXQuYyAoX25sX2xvYWRfZG9tYWluKTogQWRhcHQgdG8gX25sX2ZpbmRfbXNnIGNoYW5nZS4KCjIwMDEtMDEtMDQgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaW50bC9wbHVyYWwueSAoeXlsZXgpOiBNaW5pbWFsIGltcHJvdmVtZW50IGluIG51bWJlciBzY2FubmVyLgoKMjAwMC0wNy0zMSAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaW50bC9wbHVyYWwueTogSW5jbHVkZSBjb25maWcuaC4gIE5lZWRlZCB0byBkZWZpbmUgJ2lubGluZScgYXdheSBmb3IKCUMgY29tcGlsZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBpdC4KCSh5eWxleCk6IERvbid0IHVzZSBnY2Mgc3BlY2lmaWMgY2FzZSByYW5nZSBzeW50YXguCgkqIGludGwvbG9hZG1zZ2NhdC5jIChJTklUX0dFUk1BTklDX1BMVVJBTCk6IE5ldyBtYWNybywgZm9yIG9sZAoJY29tcGlsZXJzLgoKMjAwMC0xMC0xMiAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogaW50bC9maW5kZG9tYWluLmM6IFJlbW92ZSB1bm5lZWRlZCBpbmNsdWRlcy4KCjIwMDAtMTAtMTIgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIGludGwvbG9jYWxlYWxpYXMuYyAobWVtY3B5KTogUmV0dXJuIGZpcnN0IGFyZ3VtZW50LCBqdXN0IGxpa2UgdGhlCglyZWFsIG1lbWNweSBmdW5jdGlvbiBkb2VzLgoJKiBpbnRsL2JpbmR0ZXh0ZG9tLmMgKG1lbWNweSk6IExpa2V3aXNlLgoJKiBpbnRsL2ZpbmRkb21haW4uYyAobWVtY3B5KTogTGlrZXdpc2UuCgkqIGludGwvbDEwbmZsaXN0LmMgKG1lbWNweSk6IExpa2V3aXNlLgoJKiBpbnRsL3RleHRkb21haW4uYyAobWVtY3B5KTogTGlrZXdpc2UuCglGcm9tIFBhdWwgRWdnZXJ0IDxlZ2dlcnRAdHdpbnN1bi5jb20+LgoKMjAwMS0wMS0wMyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiByZXNvbHYvcmVzb2x2LmggKHN0cnVjdCBfX3Jlc19zdGF0ZSk6IEFkZCBuc2luaXQgZmllbGQuCgkqIHJlc29sdi9yZXNfc2VuZC5jIChyZXNfbnNlbmQpOiBVc2UgaXQgaW5zdGVhZCBvZiBuc2NvdW50LgoJKiByZXNvbHYvcmVzX2luaXQuYyAoX19yZXNfdmluaXQpOiBJbml0aWFsaXplIGl0LgoJKHJlc19uY2xvc2UpOiBDbGVhciBpdCBpbnN0ZWFkIG9mIG5zY291bnQuCgoyMDAxLTAxLTA0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG1hbGxvYy9tdHJhY2UucGw6IEZpeCBtYXRjaGluZyBvZiBhZGRyZXNzZXMuCglQYXRjaCBieSBBaGFyb24gUm9iYmlucyA8YXJub2xkQHNrZWV2ZS5jb20+LgoKCSogVmVyc2lvbnMuZGVmIChsZCk6IEFkZCBHTElCQ18yLjIuCgoJKiBjYXRnZXRzL2dlbmNhdC5jOiBDb3B5cmlnaHQgMjAwMS4KCSogY3N1L3ZlcnNpb24uYzogTGlrZXdpc2UuCgkqIGRlYnVnL2NhdGNoc2Vndi5zaDogTGlrZXdpc2UuCgkqIGRlYnVnL3h0cmFjZS5zaDogTGlrZXdpc2UuCgkqIGVsZi9sZGNvbmZpZy5jOiBMaWtld2lzZS4KCSogZWxmL3Nwcm9mLmM6IExpa2V3aXNlLgoJKiBpY29udi9pY29udl9wcm9nLmM6IExpa2V3aXNlLgoJKiBsb2NhbGUvbG9jYWxlLmM6IExpa2V3aXNlLgoJKiBsb2NhbGUvbG9jYWxlZGVmLmM6IExpa2V3aXNlLgoJKiBtYWxsb2MvbWVtdXNhZ2Uuc2g6IExpa2V3aXNlLgoJKiBtYWxsb2MvbXRyYWNlLnBsOiBMaWtld2lzZS4KCSogbnNjZC9uc2NkLmM6IExpa2V3aXNlLgoJKiBwb3NpeC9nZXRjb25mLmM6IExpa2V3aXNlLgoKMjAwMS0wMS0wNCAgTWFyayBLZXR0ZW5pcyAgPGtldHRlbmlzQGdudS5vcmc+CgoJKiBpbmNsdWRlL3N0ZGlvLmg6IE9ubHkgcHJvdmlkZSBfX2dldHdjX3VubG9ja2VkIHByb3RvdHlwZSBpZgoJVVNFX0lOX0xJQklPIGlzIGRlZmluZWQuCgoyMDAxLTAxLTA0ICBLYXogS29qaW1hCTxra29qaW1hQHJyLmlpajR1Lm9yLmpwPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvc29ja2V0LlMgKF9fc29ja2V0KTogRml4IGVycm9yIGNvZGUKCWhhbmRsaW5nLgoKMjAwMS0wMS0wMyAgQW5kcmVhcyBTY2h3YWIgIDxzY2h3YWJAc3VzZS5kZT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9zdHJ0b2xsLmM6IFJlbW92ZSB1bnVzZWQgX19zdHJ0b3FfaW50ZXJuYWwgYWxpYXMuCgkqIHN5c2RlcHMvZ2VuZXJpYy9zdHJ0b3VsbC5jOiBSZW1vdmUgdW51c2VkIF9fc3RydG91cV9pbnRlcm5hbCBhbGlhcy4KCgkqIHN5c2RlcHMvd29yZHNpemUtNjQvc3RydG9sLmM6IEFkZCBzdHJ0b3EgYWxpYXMgYW5kIGZpeCBzdHJ0b2xsIGFsaWFzLgoJKiBzeXNkZXBzL3dvcmRzaXplLTY0L3N0cnRvdWwuYzogQWRkIHN0cnRvdXEgYWxpYXMgYW5kIGZpeAoJc3RydG91bGwgYWxpYXMuCgkqIHN5c2RlcHMvd29yZHNpemUtNjQvd2NzdG9sLmM6IEFkZCB3Y3N0b3EgYWxpYXMgYW5kIGZpeCB3Y3N0b2xsIGFsaWFzLgoJKiBzeXNkZXBzL3dvcmRzaXplLTY0L3djc3RvdWwuYzogQWRkIHdjc3RvdXEgYWxpYXMgYW5kIGZpeAoJd2NzdG91bGwgYWxpYXMuCgoJKiBzeXNkZXBzL2dlbmVyaWMvc3RydG91bC5jOiBNYWtlIHN1cmUgd2UgZmluZCBzdHJ0b2wuYyBpbiB0aGlzCglkaXJlY3RvcnkuCgkqIHN5c2RlcHMvZ2VuZXJpYy9zdHJ0b2xfbC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL3N0cnRvdWxfbC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL3djc3RvdWwuYzogTGlrZXdpc2UsIGZvciB3Y3N0b2wuYy4KCgkqIHN5c2RlcHMvd29yZHNpemUtNjQvc3RydG9sX2wuYzogRml4IGFsaWFzLgoJKiBzeXNkZXBzL3dvcmRzaXplLTY0L3N0cnRvdWxfbC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy93b3Jkc2l6ZS02NC93Y3N0b2xfbC5jOiBGaXggYWxpYXMuCgkqIHN5c2RlcHMvd29yZHNpemUtNjQvd2NzdG91bF9sLmM6IExpa2V3aXNlLgoKMjAwMS0wMS0wNCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogbnNzL25zc3dpdGNoLmM6IEluY2x1ZGUgZmlsZXMgZm9yIG1pc3NpbmcgcHJvdG90eXBlcywgcmVtb3ZlCglidWdneSBkZWNsYXJhdGlvbiBvZiBwcm90b3R5cGVzLgoKMjAwMS0wMS0wMyAgRnJhbnogU2lybAk8RnJhbnouU2lybC1rZXJuZWxAbGF1dGVyYmFjaC5jb20+CgoJKiByZXNvbHYvVmVyc2lvbnM6IEZpeCBicmFjaW5nLgoJKiBzeXNkZXBzL3Bvd2VycGMvc29mdC1mcC9WZXJzaW9uczogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9zb2Z0LWZwL1ZlcnNpb25zOiBMaWtld2lzZS4KCjIwMDEtMDEtMDIgIEZyYW56IFNpcmwJPEZyYW56LlNpcmwta2VybmVsQGxhdXRlcmJhY2guY29tPgoKCSogc3lzZGVwcy9wb3dlcnBjL2RsLW1hY2hpbmUuYyAoX19wcm9jZXNzX21hY2hpbmVfcmVsYSk6IEZpeCB0eXBvLgoKMjAwMS0wMS0wMiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBtYW51YWwvTWFrZWZpbGUgKFRFWEkyUERGKTogQ2hhbmdlIHRvIHRleGkyZHZpIC0tcGRmLgoJU3VnZ2VzdGVkIGJ5IE1pbmtvIE1hcmtvdiA8bW1hcmtvdkBob21lLmNvbT4uCgoyMDAxLTAxLTAyICBGcmFueiBTaXJsCTxGcmFuei5TaXJsLWtlcm5lbEBsYXV0ZXJiYWNoLmNvbT4KCgkqIHN5c2RlcHMvcG93ZXJwYy9lbGYvc3RhcnQuUyAoX19kYXRhX3N0YXJ0KTogTWFrZSBpdCBnbG9iYWwuCgkqIHN5c2RlcHMvcG93ZXJwYy9kbC1tYWNoaW5lLmMgKGRsX3JlbG9jX292ZXJmbG93KTogUHJpbnQgdGhlIG5hbWUgb2YKCXRoZSBmYWlsaW5nIHN5bWJvbC4KCShfX3Byb2Nlc3NfbWFjaGluZV9yZWxhKTogUGFzcyBzeW1ib2wgdG8gZGxfcmVsb2Nfb3ZlcmZsb3coKS4KCjIwMDEtMDEtMDIgIEJlbiBDb2xsaW5zCSA8YmNvbGxpbnNAZGViaWFuLm9yZz4KCgkqIHRpbWUvdHpzZXQuYyAodHpzZXRfaW50ZXJuYWwpOiBNYWtlIHN1cmUgd2UgZmFsbCBiYWNrIHRvIFVUQwoJaWYgVFogaXMgbm90IHNldCBhbmQgVFpERUZBVUxUIGlzIG5vdCBwcmVzZW50LgoKMjAwMS0wMS0wMSAgQmVuIENvbGxpbnMJIDxiY29sbGluc0BkZWJpYW4ub3JnPgoKCSogc3RyaW5nL3N0cmluZ3MuaDogTWFrZSBzdXJlIHdlIGRlY2xhcmUgb3VyIGZ1bmN0aW9ucyBldmVuIGlmCglzdHJpbmcuaCBpcyBhbHJlYWR5IGluY2x1ZGVkLCBiYXNlZCBvbiB3aGV0aGVyIG9yIG5vdCBfX1VTRV9CU0QgaXMKCWRlZmluZWQuCgoyMDAxLTAxLTAyICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGRsZmNuL2RsZXJyb3IuYyAoZGxlcnJvcik6IEhhbmRsZSBjYWxsIG9mIGRsZXJyb3IoKSBiZWZvcmUgYW55CglvdGhlciBkbG9wZW4oKSBhbmQgZGxzeW0oKS4KCUJhc2VkIG9uIGEgcGF0Y2ggYnkgQmVuIENvbGxpbnMgPGJjb2xsaW5zQGRlYmlhbi5vcmc+LgoKMjAwMS0wMS0wMiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogZGxmY24vZXJybXNnMS5jIChtYWluKTogQ2FsbCBkbGVycm9yIGluaXRpYWxseS4KCVJlcG9ydGVkIGJ5IEJlbiBDb2xsaW5zIDxiY29sbGluc0BkZWJpYW4ub3JnPi4KCjIwMDEtMDEtMDIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaW50bC9kY2lnZXR0ZXh0LmMgKGd1ZXNzX2NhdGVnb3J5X3ZhbHVlKTogUmV3cml0ZSBzbyB0aGF0IExBTkdVQUdFCgl2YWx1ZSBpcyBpZ25vcmVkIGlmIHRoZSBzZWxlY3RlZCBsb2NhbGUgaXMgdGhlIEMgbG9jYWxlLgoJKiBpbnRsL3RzdC1nZXR0ZXh0LmM6IFNldCBsb2NhbGUgZm9yIGFib3ZlIGNoYW5nZS4KCSogaW50bC90c3QtdHJhbnNsaXQuYzogTGlrZXdpc2UuCgoyMDAxLTAxLTAyICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBsaWJpby93Z2Vub3BzLmMgKF9JT193ZG9hbGxvY2J1Zik6IFVzZSBjb3JyZWN0IHdpZGUgYWNjZXNzIG1hY3JvLgoJKF9JT19zd2l0Y2hfdG9fd2dldF9tb2RlKTogTGlrZXdpc2UuCgkoX0lPX3NwdXRiYWNrd2MpOiBMaWtld2lzZS4KCShfSU9fc3VuZ2V0d2MpOiBVc2Ugd2ludF90IGZvciByZXN1bHQuCgoJKiBzdGRpby1jb21tb24vdmZzY2FuZi5jIChfX3Zmc2NhbmYpOiBVc2UgV0lOVF9UIGZvciBkb25lLgoKCSogc3lzZGVwcy9nZW5lcmljL3N0cnRvbC5jIChzdHJ0b2wpOiBNYWtlIGNudCBzaXplX3QgZm9yIGNvcnJlY3QKCXNpZ25lZG5lc3MuCgoJKiBzeXNkZXBzL2dlbmVyaWMvcHJpbnRmX2ZwaGV4LmMgKHB1dGMpOiBDYXN0IF9JT19wdXR3Y191bmxvY2tlZAoJdG8gKGludCkgdG8gYXZvaWQgd2FybmluZ3MuCgkqIHN0ZGlvLWNvbW1vbi9wcmludGZfZnAuYyAocHV0Yyk6IExpa2V3aXNlLgoJKiBzdGRpby1jb21tb24vcHJpbnRmX3NpemUuYyAocHV0Yyk6IExpa2V3aXNlLgoKCSogc3lzZGVwcy9nZW5lcmljL2RsLXN5c2RlcC5jIChfZGxfaW1wb3J0YW50X2h3Y2Fwcyk6IE1ha2UKCWNvbnN0YW50IHVuc2lnbmVkLgoKMjAwMS0wMS0wMSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogaW5ldC9yY21kLmMgKHJjbWRfYWYpOiBVc2Ugc29ja2xlbl90IGZvciBsZW4uCgoyMDAwLTEyLTMxICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBpbmNsdWRlL2xpYmMtaW50ZXJuYWwuaDogQWRkIHByb3RvdHlwZSBmb3IgX19saWJjX2ZyZWVyZXMuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pbml0LWZpcnN0LmM6IEluY2x1ZGUgPGxpYmMtaW50ZXJuYWxzLmg+Cglmb3IgcHJvdG90eXBlcywgcmVtb3ZlIHJlZHVuZGFudCBwcm90b3R5cGVzLgoJKiBnbW9uL2dtb24uYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9pMzg2L2k1ODYvY2xvY2tfZ2V0cmVzLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvaTM4Ni9pNTg2L2Nsb2NrX2dldHRpbWUuYzogTGlrZXdpc2UuCgkqIG1hbGxvYy9tdHJhY2UuYzogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL2dlbmVyaWMvZW5ibC1zZWN1cmUuYzogSW5jbHVkZSA8bGliYy1pbnRlcm5hbHMuaD4gZm9yCglwcm90b3R5cGVzLgoJKiBlbGYvc29pbml0LmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvcHJvZi1mcmVxLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL21hY2gvaHVyZC9wcm9maWwuYzogTGlrZXdpc2UuCgkqIGRlYnVnL25vb3Bob29rcy5jOiBMaWtld2lzZS4KCSogZGVidWcvcGNwcm9maWxlLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2dldF9jbG9ja2ZyZXEuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9nZXRfY2xvY2tmcmVxLmM6IExpa2V3aXNlLgoJKiBtYWxsb2Mvc2V0LWZyZWVyZXMuYzogTGlrZXdpc2UuCgoJKiBsb2NhbGUvbG9jYWxlaW5mby5oOiBBZGQgaW50ZXJuYWwgcHJvdG90eXBlcy4KCgkqIGVsZi9ydGxkLmMgKGRsX21haW4pOiBGaXggcHJvdG90eXBlLgoKCSogaWNvbnZkYXRhL3RzdC10YWJsZS10by5jIChtYWluKTogVXNlIHJldHVybiBpbnN0ZWFkIG9mIGV4aXQgdG8KCWF2b2lkIHdhcm5pbmcuCgoJKiBuaXMvcnBjc3ZjL3lwX3Byb3QuaDogUmVtb3ZlIF9fUC4KCSogbmlzL3JwY3N2Yy95cHVwZC5oOiBMaWtld2lzZS4KCSogbmlzL3JwY3N2Yy95cC5oOiBMaWtld2lzZS4KCgkqIHN1bnJwYy9ycGNfbWFpbi5jOiBBZGQgbm9yZXR1cm4gYXR0cmlidXRlcy4KCSogc3VucnBjL3JwY19zY2FuLmg6IExpa2V3aXNlLgoKCSogc3VucnBjL3JwY19ob3V0LmMgKHN0b3JleGRyZnVuY2RlY2wpOiBNYWtlIHN0YXRpYy4KCgkqIHN1bnJwYy9ycGNpbmZvLmM6IEFkZCBub3JldHVybiBhdHRyaWJ1dGUgdG8gYnJkY3N0LgoKCSogc3VucnBjL3Byb3RvLmg6IEFkZCBub3JldHVybiBhdHRyaWJ1dGVzIHRvIGVycm9yIGFuZCBjcmFzaC4KCgkqIHBvc2l4L2JzZC1nZXRwZ3JwLmM6IEFkZCBwcm90b3R5cGUgdG8gYXZvaWQgd2FybmluZy4KCgkqIHN1bnJwYy9zdmNfdW5peC5jOiBJbmNsdWRlIDxycGMvc3ZjLmg+IGZvciBwcm90b3R5cGVzLgoKCSogc3VucnBjL2NyZWF0ZV94aWQuYzogSW5jbHVkZSA8cnBjL3N2Yy5oPiBmb3IgcHJvdG90eXBlcy4KCgkqIGluY2x1ZGUvcnBjL3JwY19tc2cuaDogQWRkIHByb3RvdHlwZXMgZm9yIHNvbWUgZnVuY3Rpb25zLgoJKiBpbmNsdWRlL3JwYy9hdXRoLmg6IExpa2V3aXNlLgoJKiBpbmNsdWRlL3JwYy9hdXRoX2Rlcy5oOiBMaWtld2lzZS4KCSogaW5jbHVkZS9ycGMvY2xudC5oOiBMaWtld2lzZS4KCSogaW5jbHVkZS9ycGMvcnBjLmg6IExpa2V3aXNlLgoJKiBpbmNsdWRlL3JwYy9zdmMuaDogTGlrZXdpc2UuCgkqIGluY2x1ZGUvcnBjL3N2Y19hdXRoLmg6IExpa2V3aXNlLgoKCSogaW5jbHVkZS9ycGMvZGVzX2NyeXB0Lmg6IE5ldyBmaWxlLgoKCSogbWFsbG9jL21lbXVzYWdlc3RhdC5jIChtYWluKTogVXNlIHJldHVybiBpbnN0ZWFkIG9mIGV4aXQgdG8KCWF2b2lkIHdhcm5pbmcuCgkqIGlvL3B3ZC5jIChtYWluKTogTGlrZXdpc2UuCgkqIGljb252ZGF0YS90c3QtdGFibGUtZnJvbS5jIChtYWluKTogTGlrZXdpc2UuCgkqIGN0eXBlL3Rlc3RfY3R5cGUuYyAobWFpbik6IExpa2V3aXNlLgoJKiBzZXRqbXAvdHN0LXNldGptcC5jIChtYWluKTogTGlrZXdpc2UuCgkqIHNpZ25hbC90c3Qtc2lnbmFsLmMgKG1haW4pOiBMaWtld2lzZS4KCSogc3RkbGliL3RzdC1zdHJ0b2wuYyAobWFpbik6IExpa2V3aXNlLgoJKiBzdGRsaWIvdHN0LXN0cnRvZC5jIChtYWluKTogTGlrZXdpc2UuCgkqIHN0ZGxpYi90c3Qtc3RydG9sbC5jIChtYWluKTogTGlrZXdpc2UuCgkqIHN0ZGxpYi90c3QteHBnLWJhc2VuYW1lLmMgKG1haW4pOiBMaWtld2lzZS4KCSogZGlyZW50L3RzdC1zZWVrZGlyLmMgKG1haW4pOiBMaWtld2lzZS4KCSogZ3JwL3Rlc3RncnAuYyAobWFpbik6IExpa2V3aXNlLgoJKiBpbmV0L3Rlc3RfaWZpbmRleC5jIChtYWluKTogTGlrZXdpc2UuCgkqIGlvL3Rlc3QtdXRpbWUuYyAobWFpbik6IExpa2V3aXNlLgoJKiBwb3NpeC90ZXN0LXZmb3JrLmMgKG1haW4pOiBMaWtld2lzZS4KCSogcG9zaXgvdGVzdGZubS5jIChtYWluKTogTGlrZXdpc2UuCgkqIHN0ZGlvLWNvbW1vbi90ZW1wdGVzdC5jIChtYWluKTogTGlrZXdpc2UuCgkqIHN0ZGlvLWNvbW1vbi90ZXN0X3Jkd3IuYyAobWFpbik6IExpa2V3aXNlLgoJKiBzdGRpby1jb21tb24vdHN0LWZpbGVuby5jIChtYWluKTogTGlrZXdpc2UuCgkqIHN0ZGlvLWNvbW1vbi90c3Qtc3NjYW5mLmMgKG1haW4pOiBMaWtld2lzZS4KCSogc3RkaW8tY29tbW9uL3RzdHNjYW5mLmMgKG1haW4pOiBMaWtld2lzZS4KCSogc3RyaW5nL2J1Zy1zdHJuY2F0MS5jIChtYWluKTogTGlrZXdpc2UuCgkqIHN0cmluZy9idWctc3RycGJyazEuYyAobWFpbik6IExpa2V3aXNlLgoJKiBzdHJpbmcvYnVnLXN0cnNwbjEuYyAobWFpbik6IExpa2V3aXNlLgoJKiBzdHJpbmcvdGVzdC1mZnMuYyAobWFpbik6IExpa2V3aXNlLgoJKiBzdHJpbmcvdHN0LWlubGNhbGwuYyAobWFpbik6IExpa2V3aXNlLgoJKiBzdHJpbmcvdHN0LXN2Yy5jIChtYWluKTogTGlrZXdpc2UuCgkqIHRpbWV6b25lL3Rlc3QtdHouYyAobWFpbik6IExpa2V3aXNlLgoJKiB3Y3R5cGUvdGVzdF93Y2Z1bmNzLmMgKG1haW4pOiBMaWtld2lzZS4KCSogd2N0eXBlL3Rlc3Rfd2N0eXBlLmMgKG1haW4pOiBMaWtld2lzZS4KCgkqIHN0ZGxpYi90c3QtcmFuZG9tLmM6IEFkZCBhdHRyaWJ1dGUgbm9yZXR1cm4gdG8gZmFpbC4KCjIwMDAtMTItMjggIFdvbGZyYW0gR2xvZ2VyICA8d2dAbWFsbG9jLmRlPgoKCSogbWFsbG9jL21hbGxvYy5jIChNQUxMT0NfQ09QWSk6IEhhbmRsZSBjYXNlIGlmIHNvdXJjZSBhbmQKCWRlc3RpbmF0aW9uIG92ZXJsYXAuICBBc3N1bWUgZGVzdCBpcyBhbHdheXMgYmVsb3cgc291cmNlIGlmCglvdmVybGFwcGluZy4KCjIwMDAtMTItMzAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZWxmL2RsLWNsb3NlLmMgKF9kbF9jbG9zZSk6IFdlIGNhbiBpZ25vcmUgdGhlIE5PREVMRVRFIGZsYWcgaWYgdGhlCglvYmplY3Qgd2FzIG5vdCB5ZXQgaW5pdGlhbGl6ZWQuCgoyMDAwLTEyLTI4ICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBlbGYvZGwtZGVwcy5jIChfZGxfbWFwX29iamVjdF9kZXBzKTogTWFrZSBzdXJlIHRoZSBEU08gc3RhdGUKCWlzIGFsd2F5cyBjb25zaXN0ZW50IGV2ZW4gaWYgaXRzIGRlcGVuZGVuY3kgaXMgZmFpbGVkLgoKCSogZWxmL2RsLW9wZW4uYyAoX2RsX29wZW4pOiBJbmNyZW1lbnQgdGhlIG9wZW4gY291bnQgYmVmb3JlCgljYWxsaW5nIF9kbF9jbG9zZSAoKSBpbiBjYXNlIG9mIGZhaWx1cmUuCgoJKiBlbGYvbmVlZGVkdGVzdDQuYzogTmV3IGZpbGUuCgkqIGVsZi9uZWVkZWRvYmo1LmM6IE5ldyBmaWxlLgoJKiBlbGYvbmVlZGVkb2JqNi5jOiBOZXcgZmlsZS4KCgkqIGVsZi9NYWtlZmlsZSAoZGlzdHJpYnV0ZSk6IEFkZCBuZWVkZWRvYmo1LmMgYW5kIG5lZWRlZG9iajYuYy4KCSh0ZXN0cyk6IEFkZCBuZWVkZWR0ZXN0NC4KCShtb2R1bGVzLW5hbWVzKTogQWRkIG5lZWRlZG9iajUgYW5kIG5lZWRlZG9iajYuCgkoJChvYmpwZngpbmVlZGVkb2JqNi5zbyk6IE5ldyB0YXJnZXQuCgkoJChvYmpwZngpbmVlZGVkdGVzdDQpOiBOZXcgdGFyZ2V0LgoJKCQob2JqcGZ4KW5lZWRlZHRlc3Q0Lm91dCk6IE5ldyB0YXJnZXQuCgoyMDAwLTEyLTI4ICBKb3NlcGggUy4gTXllcnMgIDxqc20yOEBjYW0uYWMudWs+CgoJKiBtaXNjL3N5cy9jZGVmcy5oIChfX2F0dHJpYnV0ZV9mb3JtYXRfc3RyZm1vbl9fKTogRGVmaW5lLgoJKiBzdGRsaWIvbW9uZXRhcnkuaDogQWRkIHN0cmZtb24gZm9ybWF0IGF0dHJpYnV0ZXMuCgoyMDAwLTEyLTI4ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEBmcm9iLmNvbT4KCgkqIHN5c2RlcHMvbWFjaC9odXJkL2lvY3RsLmMgKGRvX2lvY3RsKTogQXZvaWQgZG91YmxlLWluY3JlbWVudCBhZnRlcgoJX19tZW1wY3B5IGRvZXMgaXQgZm9yIHVzLgoKMjAwMC0xMi0yOCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy9nZW5lcmljL2RsLWVudmlyb24uYzogQWRkIHByb3RvdHlwZSBmb3IgdW5zZXRlbnYuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L3NldHJsaW1pdC5jOiBBZGQgcHJvdG90eXBlIGZvcgoJX19uZXdfc2V0cmxpbWl0LgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9vbGRnZXRybGltaXQ2NC5jOiBBZGQgcHJvdG90eXBlIGZvcgoJX19vbGRfZ2V0cmxpbWl0NjQuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2dldHJsaW1pdC5jOiBBZGQgcHJvdG90eXBlIGZvcgoJX19uZXdfZ2V0cmxpbWl0LgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9jaG93bi5jOiBBZGQgcHJvdG90eXBlcyBmb3IKCV9fY2hvd25faXNfbGNob3duIGFuZCBfX3JlYWxfY2hvd24uCgoJKiBzeXNkZXBzL2dlbmVyaWMvbGRzb2RlZnMuaDogQWRkIG5vcmV0dXJuIGF0dHJpYnV0ZSB0bwoJX2RsX3JlbG9jX2JhZF90eXBlLgoKCSogc3VucnBjL3JwY19ob3V0LmMgKHByaW50X2Z1bmNkZWYpOiBBZGQgYnJlYWsgc3RhdGVtZW50IHRvIHNodXQKCXVwIEdDQydzIHdhcm5pbmcgYWJvdXQgImRlcHJlY2F0ZWQgdXNlIG9mIGxhYmVsIGF0IGVuZCBvZiBjb21wb3VuZAoJc3RhdGVtZW50LiIKCSogc3VucnBjL3JwY19jb3V0LmMgKGVtaXRfaW5saW5lKTogTGlrZXdpc2UuCgoJKiBnbW9uL2JiX2V4aXRfZnVuYy5jOiBJbmNsdWRlIDxzeXMvZ21vbi5oPiBmb3IgaW50ZXJuYWwKCXByb3RvdHlwZXMuCglSZW1vdmUgc3RydWN0IGJiIGFuZCBfX2JiX2hlYWQgc2luY2UgdGhvc2UgYXJlIGRlY2xhcmVkIGJ5CglzeXMvZ21vbi5oLgoKMjAwMC0xMi0yMiAgQmVuIENvbGxpbnMJIDxiY29sbGluc0BkZWJpYW4ub3JnPgoKCSogbWFudWFsL2NoYXJzZXQudGV4aTogRml4IHR5cG8gaW4gZGVzY3JpcHRpb24gb2YgV0NIQVJfTUFYLgoKCSogbWFudWFsL2FyZ3AudGV4aTogRG9jdW1lbnQgYXJncF9kb21haW4gYXMgcGFydCBvZiBzdHJ1Y3QgYXJncC4KCjIwMDAtMTItMjggIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGNhdGdldHMvTWFrZWZpbGUgKGdlbmVyYXRlZCk6IEFkZCBzYW1wbGUuU0pJUy5jYXQuCgoJKiBzdW5ycGMvcnBjX2R0YWJsZS5jOiBJbmNsdWRlIHJwYy9jbG50LmggZm9yIHByb3RvdHlwZXMuCgoJKiBlbGYvZGwtbWluaW1hbC5jOiBBZGQgcHJvdG90eXBlcy4KCgkqIGluY2x1ZGUvbG9jYWxlLmg6IEFkZCBpbnRlcm5hbCBwcm90b3R5cGVzLgoJKiBpbmNsdWRlL3N5cy9nbW9uLmg6IExpa2V3aXNlLgoKCSogZGxmY24vZXJybXNnMW1vZC5jOiBBZGQgcHJvdG90eXBlIGZvciBmb28gdG8gc2h1dCB1cCBHQ0MuCgoyMDAwLTEyLTI3ICBCZW4gQ29sbGlucwkgPGJjb2xsaW5zQGRlYmlhbi5vcmc+CgoJKiBlbGYvZGwtb3Blbi5jIChfZGxfb3Blbik6IENvcnJlY3RseSBzZXQgdGhlIG5ldyBvYmpuYW1lIHBvaW50ZXIKCXdoZW4gcmVhbGxvY2F0aW5nIHRoZSBlcnJvciBzdHJpbmdzLgoJUmVwb3J0ZWQgYnkgS2FsbGUgT2xhdmkgTmllbWl0YWxvIDxrb25AaWtpLmZpPgoKMjAwMC0xMi0yNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBkbGZjbi9NYWtlZmlsZSAodGVzdHMpOiBBZGQgZXJybXNnMS4KCShtb2R1bGVzLW5hbWVzKTogQWRkIGVycm1zZzFtb2QuCglBZGQgcnVsZXMgdG8gcnVuIGVycm1zZzEuCgkqIGRsZmNuL2Vycm1zZzEuYzogTmV3IGZpbGUuCgkqIGRsZmNuL2Vycm1zZzFtb2QuYzogTmV3IGZpbGUuCgoJKiBkbGZjbi9kbGVycm9yLmMgKGRsZXJyb3IpOiBBbHdheXMgY3JlYXRlIG91dHB1dCBzdHJpbmcgd2hpY2gKCWluY2x1ZGVzIG9iamVjdCBmaWxlIG5hbWUuCgoJKiBzeXNkZXBzL2FscGhhL2FscGhhZXY2L21lbWNweS5TOiBEb24ndCBnbyB0aHJvdWdoIHVucm9sbGVkIGxvb3AKCWlmIHdlIHdvdWxkIGdvIHRocm91Z2ggaXQgb25seSBvbmNlLgoJUGF0Y2ggYnkgUmljayBHb3J0b24gPHJpY2suZ29ydG9uQGFwaS1uZXR3b3Jrcy5jb20+LgoKCSogc3lzZGVwcy9hbHBoYS9hbHBoYWV2Njcvc3RybmNhdC5TOiBGaXggaGFuZGxpbmcgb2YgbnVtZXJpYyBwYXJhbWV0ZXIuCglQYXRjaCBieSBSaWNoYXJkIEhlbmRlcnNvbiA8cnRoQHJlZGhhdC5jb20+LgoKMjAwMC0xMi0yNyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBtYWxsb2MvbWFsbG9jLmMgKG1lbW1vdmUpOiBBZGQgcHJvdG90eXBlcy4KCShNQUxMT0NfTUVNTU9WRSk6IERlZmluZS4KCShjaHVua19yZWFsbG9jKTogVXNlIGl0IGluc3RlYWQgb2YgTUFMTE9DX0NPUFkgaWYgc291cmNlIGFuZAoJZGVzdGluYXRpb24gbWlnaHQgb3ZlcmxhcC4KCjIwMDAtMTItMjcgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN0ZGlvLWNvbW1vbi9wcmludGZfZnAuYyAoX19wcmludGZfZnApOiBBZGQgcHJvdG90eXBlIGZvciBuZXN0ZWQKCWZ1bmN0aW9uLgoJKiBlbGYvZGwtbG9hZC5jIChfZGxfbWFwX29iamVjdF9mcm9tX2ZkKTogTGlrZXdpc2UuCgkqIGxvY2FsZS9wcm9ncmFtcy9sb2NhbGUuYyAoc2hvd19sb2NhbGVfdmFycyk6IExpa2V3aXNlLgoJKHNob3dfaW5mbyk6IExpa2V3aXNlLgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY29sbGF0ZS5jIChjb2xsYXRlX291dHB1dCk6IExpa2V3aXNlLgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY3R5cGUuYyAoc2V0X2NsYXNzX2RlZmF1bHRzKTogTGlrZXdpc2UuCgkqIGVsZi9kbC1kZXBzLmMgKF9kbF9tYXBfb2JqZWN0X2RlcHMpOiBMaWtld2lzZS4KCSogc3RkbGliL3JwbWF0Y2guYyAocnBtYXRjaCk6IExpa2V3aXNlLgoKCSogc2V0am1wL3RzdC1zZXRqbXAuYzogTWFrZSBsb2NhbCBmdW5jdGlvbnMgc3RhdGljLgoJKiBzZXRqbXAvam1wYnVnLmM6IExpa2V3aXNlLgoJKiBzaWduYWwvdHN0LXNpZ25hbC5jOiBMaWtld2lzZS4KCSogc3RkaW8tY29tbW9uL3RmZm9ybWF0LmM6IExpa2V3aXNlLgoJKiBzdHJpbmcvdHN0LXN2Yy5jOiBMaWtld2lzZS4KCSogdGltZS9jbG9ja3Rlc3QuYzogTGlrZXdpc2UuCgkqIHRpbWUvdHN0LWdldGRhdGUuYzogTGlrZXdpc2UuCgkqIGRpcmVudC9saXN0LmM6IExpa2V3aXNlLgoJKiBkaXJlbnQvb3BlbmRpci10c3QxLmM6IExpa2V3aXNlLgoJKiBwb3NpeC9ydW50ZXN0cy5jOiBMaWtld2lzZS4KCSogcG9zaXgvdHN0LWdldGFkZHJpbmZvLmM6IExpa2V3aXNlLgoJKiBwb3NpeC90c3QtY2htb2QuYzogTGlrZXdpc2UuCgkqIHBvc2l4L3dvcmRleHAtdGVzdC5jOiBMaWtld2lzZS4KCSogbWlzYy90c3QtZWZnY3Z0LmM6IExpa2V3aXNlLgoJKiB0aW1lem9uZS90c3QtdGltZXpvbmUuYzogTGlrZXdpc2UuCgkqIHJ0L3RzdC1jbG9jay5jOiBMaWtld2lzZS4KCSogcnQvdHN0LXNobS5jOiBMaWtld2lzZS4KCSogcnQvdHN0LWFpbzIuYzogTGlrZXdpc2UuCgkqIHJ0L3RzdC1haW8zLmM6IExpa2V3aXNlLgoJKiBydC90c3QtYWlvNC5jOiBMaWtld2lzZS4KCSogcnQvdHN0LWFpbzUuYzogTGlrZXdpc2UuCgoJKiBkbGZjbi9mYWlsdGVzdC5jOiBBZGQgcHJvdG90eXBlIGZvciBmb28uCgoJKiBkbGZjbi9nbHJlZm1haW4uYzogQWRkIHByb3RvdHlwZSBmb3IgZG9fdGVzdC4KCgkqIGRsZmNuL3RzdC1kbGFkZHIuYzogQWRkIHByb3RvdHlwZSBmb3IgZG9fdGVzdC4KCgkqIHN0cmluZy90ZXN0LWZmcy5jIChtYWluKTogQWRkIHByb3RvdHlwZSBmb3IgbmVzdGVkIGZ1bmN0aW9uLgoKCSogc3VucnBjL2Rlc19zb2Z0LmM6IEluY2x1ZGUgcnBjL2Rlc19jcnlwdC5oIGZvciBwcm90b3R5cGUuCgoJKiBuc3MvWFhYLWxvb2t1cC5jOiBBZGQgcHJvdG90eXBlIHRvIHNodXQgdXAgR0NDLgoKCSogaW5jbHVkZS9uZXRpbmV0L2V0aGVyLmggKERFQ0xBUkVfTlNTX1BST1RPVFlQRVMpOiBGaXgKCXNldGV0aGVyZW50IHByb3RvdHlwZS4KCUFkZCBpbnRlcm5hbCBpbnRlcmZhY2VzLgoKCSogbmlzL25zc19uaXMvbmlzLWV0aGVycy5jIChfbnNzX25pc19zZXRldGhlcmVudCk6IExpa2V3aXNlLgoJKiBuaXMvbnNzX25pc3BsdXMvbmlzcGx1cy1ldGhlcnMuYyAoX25zc19uaXNwbHVzX3NldGV0aGVyZW50KTogTGlrZXdpc2UuCgoJKiByZXNvbHYvcmVzX2RhdGEuYzogRG9uJ3QgYWRkIChjb25mbGljdGluZykgcHJvdG90eXBlcyBmb3IgX0xJQkMuCgoJKiBuaXMvbmlzX2ludGVybi5oOiBBZGQgcHJvdG90eXBlIGZvciBfX3BtYXBfZ2V0bmlzcG9ydC4KCgkqIG5zcy9uc3NfZmlsZXMvZmlsZXMtZXRoZXJzLmM6IEluY2x1ZGUgbmV0aW5ldC9ldGhlci5oIHRvIGdldAoJcHJvdG90eXBlcywgcmVtb3ZlIHN0cnVjdCBldGhlcmVudCBzaW5jZSBpdCdzIGRlY2xhcmVkIGluIGV0aGVyLmguCglGaXggbnRvaG9zdCBkZWNsYXJhdGlvbi4KCgkqIGVsZi9kbC1wcm9maWxlLmMgKF9kbF9tY291bnQpOiBBZGQgZW1wdHkgc3RhdGVtZW50IHRvIHNodXQgdXAgR0NDLgoKCSogaW5jbHVkZS9nZXRvcHQuaDogQWRkIGludGVybmFsIGludGVyZmFjZXMuCgkqIGluY2x1ZGUvdGVybWlvcy5oOiBMaWtld2lzZS4KCSogaW5jbHVkZS9yZXNvbHYuaDogTGlrZXdpc2UuCgkqIGluY2x1ZGUvbmV0ZGIuaDogTGlrZXdpc2UuCgkqIGluY2x1ZGUvZ3JwLmg6IExpa2V3aXNlLgoJKiBpbmNsdWRlL3B3ZC5oOiBMaWtld2lzZS4KCSogaW5jbHVkZS9zaGFkb3cuaDogTGlrZXdpc2UuCgkqIGluY2x1ZGUvcnBjL25ldGRiLmg6IExpa2V3aXNlLgoJKiBpbmNsdWRlL3NldGptcC5oOiBMaWtld2lzZS4KCgkqIGluY2x1ZGUvc3RkaW8uaDogQWRkIHByb3RvdHlwZXMgZm9yIGNvbXBhdGliaWxpdHkgZnVuY3Rpb25zLgoJKiBpbmNsdWRlL2dycC5oOiBMaWtld2lzZS4KCSogaW5jbHVkZS9wd2QuaDogTGlrZXdpc2UuCgkqIGluY2x1ZGUvc2hhZG93Lmg6IExpa2V3aXNlLgoKCSogaW5jbHVkZS9mZW52Lmg6IERlZmluZSBpbnRlcm5hbCBpbnRlcmZhY2VzLgoKMjAwMC0xMi0yNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2dlbmVyaWMvYml0cy9ieXRlc3dhcC5oIChfX2Jzd2FwXzY0KTogSGFuZGxlIGNvbnN0YW50Cglhcmd1bWVudCBjYXNlIHNlcGFyYXRlbHkuCgkqIHN5c2RlcHMvaTM4Ni9iaXRzL2J5dGVzd2FwLmggKF9fYnN3YXBfNjQpOiBMaWtld2lzZS4KCjIwMDAtMTItMjcgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGluY2x1ZGUvc3lzL3dhaXQuaDogQWRkIHNvbWUgcHJvdG90eXBlcy4KCSogUnVsZXMgKGR1bW15LmMpOiBDcmVhdGUgYWxzbyBwcm90b3R5cGUgdG8gc2h1dCB1cCBHQ0MuCgoyMDAwLTEyLTI3ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL21hY2gvaHVyZC9pZl9pbmRleC5jIChfX3Byb3RvY29sX2F2YWlsYWJsZSk6IFVuY29tbWVudCwKCWl0J3Mgbm90IG5lZWRlZCBhdCB0aGUgbW9tZW50LgoJKiBzeXNkZXBzL2dlbmVyaWMvaWZfaW5kZXguYyAoX19wcm90b2NvbF9hdmFpbGFibGUpOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWZfaW5kZXguYyAoX19wcm90b2NvbF9hdmFpbGFibGUpOiBMaWtld2lzZS4KCjIwMDAtMTItMjYgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGxpYmlvL2dldGNfdS5jOiBJbmNsdWRlIHN0ZGlvLmggdmlhIHN5c3RlbSBwYXRoIHRvIGdldCBpbnRlcm5hbAoJcHJvdG90eXBlcy4KCSogbGliaW8vZ2V0d2NfdS5jOiBMaWtld2lzZS4KCgkqIHN0ZGxpYi9zdHJmbW9uLmM6IEZpeCBwcm90b3R5cGUgb2YgX19wcmludGZfZnAuCgoJKiBzdGRpby1jb21tb24vdmZwcmludGYuYyAocHJvY2Vzc19hcmcpOiBNb3ZlIF9fcHJpbnRmX2ZwaGV4IGFuZAoJX19wcmludGZfZnAgcHJvdG90eXBlcyB0byAuLi4KCSogaW5jbHVkZS9wcmludGYuaDogLi4uaGVyZS4KCgkqIGluY2x1ZGUvc3RkaW8uaDogQWRkIHNvbWUgaW50ZXJuYWwgcHJvdG90eXBlcyB0byBzaHV0IHVwIEdDQy4KCSogaW5jbHVkZS9zdGRsaWIuaDogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL3Bvc2l4L3NpZ3BhdXNlLmMgKF9fc2lncGF1c2UpOiBVc2UgSVNPIEMgcHJvdG90eXBlCglkZWNsYXJhdGlvbi4KCgkqIGluY2x1ZGUvc2lnbmFsLmg6IEFkZCBwcm90b3R5cGVzIGZvciBpbnRlcm5hbCBzaWdwYXVzZQoJaW50ZXJmYWNlcy4KCjIwMDAtMTItMjYgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9nZW5lcmljL2JpdHMvYnl0ZXN3YXAuaCAoX19ic3dhcF82NCk6IE1ha2UgaXQgdXNhYmxlIGZvcgoJNjRiaXQgcGxhdGZvcm1zLiAgUmVwb3J0ZWQgYnkgRGF2ZSBHaWxiZXJ0IDxnaWxiZXJ0ZEB0cmVibGlnLm9yZz4uCgoJKiBzdHJpbmcvTWFrZWZpbGUgKHRlc3RzKTogQWRkIHRzdC1ic3dhcC4KCSogc3RyaW5nL3RzdC1ic3dhcC5jOiBOZXcgZmlsZS4KCjIwMDAtMTItMTEgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIE1ha2VmaWxlICgkKGluc3RfaW5jbHVkZWRpcikvZ251L3N0dWJzLmgpOiBTb3J0IGluIHRoZSBDIGxvY2FsZS4KCjIwMDAtMTItMjYgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3VucnBjL01ha2VmaWxlIChycGNnZW4tY21kKTogVXNlIHNpbmdsZSBxdW90ZXMgaW4gc2VkIGNhbGwuCglQYXRjaCBieSBFZCBDb25uZWxsIDxFZC5Db25uZWxsQHNhcy5jb20+LgoKMjAwMC0xMi0yNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsb2NhbGUvaXNvLTYzOS5kZWY6IENvcnJlY3Qgb25lIGVudHJ5LiAgQWRkIHR3byBtaXNzaW5nIGVudHJpZXMuCgoJKiBsb2NhbGUvaXNvLTQyMTcuZGVmOiBDaGFuZ2UgZW50cnkgZm9yIEVyaXRyZWEuCglSZXBvcnRlZCBieSBEYW5pZWwgWWFjb2IgPHlhY29iQGdlZXoub3JnPi4KCjIwMDAtMTItMjMgIEJlbiBDb2xsaW5zCSA8YmNvbGxpbnNAZGViaWFuLm9yZz4KCgkqIG1hbnVhbC9jaGFyc2V0LnRleGkgKEV4dGVuZGVkIENoYXIgSW50cm8pOiBGaXggdHlwbyBpbiBJU08gNjkzNwoJZGVzY3JpcHRpb24uCgoJKiBtYW51YWwvc3RkaW8udGV4aSAoRHluYW1pYyBPdXRwdXQpOiBEb2N1bWVudCB0aGUgcmV0dXJuIHZhbHVlIG9mCglhc3ByaW50Zi4gIEFsc28gbWFrZSB0aGUgYXNwcmludGYvc25wcmludGYgZXhhbXBsZXMgYSBsaXR0bGUKCWJldHRlciAoY2hlY2sgZm9yIHNvbWUgZXJyb3IgcmV0dXJucykuCgoyMDAwLTEyLTIyICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBpbmNsdWRlL3N0ZGlvLmg6IEFkZCBfX2Z0cnlsb2NrZmlsZSBwcm90b3R5cGUuCgoyMDAwLTEyLTIxICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBzeXNkZXBzL2lhNjQvZnB1L21hdGhfbGRibC5oIChpZWVlX2xvbmdfZG91YmxlX3NoYXBlX3R5cGUpOgoJTWFrZSBzaWduX2V4cG9uZW50IGVsZW1lbnQgc2lnbmVkLgoKCSogc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYvbWF0aF9sZGJsLmggKGllZWVfbG9uZ19kb3VibGVfc2hhcGVfdHlwZSk6CglGaXggYSB0eXBvLgoKCSogc3lzZGVwcy9pMzg2L2ZwdS9zX25leHRhZnRlcmwuYyAoX19uZXh0YWZ0ZXJsKTogUmVtb3ZlIGRlYWQgYnJhbmNoLgoKMjAwMC0xMi0yMSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogbmlzL25zc19uaXNwbHVzL25pc3BsdXMtZXRoZXJzLmMgKHN0cnVjdCBldGhlcmVudCk6IFJlbW92ZWQuCgkqIGluZXQvZXRoZXJfaHRvbi5jOiBMaWtld2lzZQoJKiBpbmV0L2V0aGVyX250b2guYzogTGlrZXdpc2UuCgoJKiBuaXMvbnNzX25pcy9uaXMtZXRoZXJzLmMgKF9uc3NfbmlzX2dldG50b2hvc3Rfcik6IEZpeAoJZGVjbGFyYXRpb24gdG8gbWF0Y2ggcHJvdG90eXBlLgoKCSogaW5jbHVkZS9uZXRpbmV0L2V0aGVyLmggKHN0cnVjdCBldGhlcmVudCk6IERlY2xhcmUgaGVyZSBzbyB0aGF0CglhbGwgaW1wbGVtZW50YXRpb25zIHVzZSB0aGUgc2FtZSBzdHJ1Y3QuCgoJKiBuaXMvbnNzX25pcy9uaXMtZXRoZXJzLmM6IEluY2x1ZGUgbmV0aW5ldC9ldGhlci5oIHRvIGdldAoJcHJvdG90eXBlcy4KCShzdHJ1Y3QgZXRoZXIpOiBSZW1vdmVkLgoJVXNlIHN0cnVjdCBldGhlcmVudCBpbnN0ZWFkIG9mIGV0aGVyIGV2ZXJ5d2hlcmUuCgoJKiBpbmNsdWRlL3JwYy9hdXRoLmggKERFQ0xBUkVfTlNTX1BST1RPVFlQRVMpOiBOZXcuCgoJKiBpbmNsdWRlL3JwYy9hdXRoX2Rlcy5oIChERUNMQVJFX05TU19QUk9UT1RZUEVTKTogTmV3LgoKCSogc3VucnBjL3B1YmxpY2tleS5jOiBJbmNsdWRlIGF1dGhfZGVzLmggZm9yIHByb3RvdHlwZXMuCgoyMDAwLTEyLTIwICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG1hdGgvdGVzdC1taXNjLmM6IEFkZCBtb3JlIHRlc3RzIGZvciBuZXh0YWZ0ZXIgZnVuY3Rpb25zLgoKCSogc3lzZGVwcy9pMzg2L2ZwdS9zX25leHRhZnRlcmwuYzogSGFuZGxlIGNoYW5nZSBmcm9tIGRlbm9ybWFsIHRvCglub3JtYWwgY29ycmVjdGx5LiAgQ29ycmVjdCB0ZXN0IGZvciBzaWduLgoJQmFzZWQgb24gYSBwYXRjaCBieSBISiBMdS4KCjIwMDAtMTItMTkgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogTWFrZWNvbmZpZyAocHJlcHJvY2Vzcy12ZXJzaW9uKTogQWRkIC10cmFkaXRpb25hbCB0byBnY2MgY2FsbC4KCUNsZWFudXAgc2VkIGNhbGxzLgoKMjAwMC0xMi0xOSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogaW5jbHVkZS9uZXRpbmV0L2V0aGVyLmggKERFQ0xBUkVfTlNTX1BST1RPVFlQRVMpOiBOZXcuCgoJKiBuaXMvbmlzX2ludGVybi5oOiBBZGQgcHJvdG90eXBlIGZvciBfX2RvX25pc2NhbGwzLgoKCSogbmlzL25zc19uaXMvbmlzLXJwYy5jIChfbnNzX25pc19zZXRycGNlbnQpOiBGaXggZGVjbGFyYXRpb24gdG8KCW1hdGNoIHByb3RvdHlwZS4KCgkqIGluY2x1ZGUvbmV0ZGIuaCAoREVDTEFSRV9OU1NfUFJPVE9UWVBFUyk6IFJlZm9ybWF0LgoKCSogaW5jbHVkZS9ycGMvbmV0ZGIuaCAoREVDTEFSRV9OU1NfUFJPVE9UWVBFUyk6IE5ldy4KCgkqIGluY2x1ZGUvYWxpYXNlcy5oIChERUNMQVJFX05TU19QUk9UT1RZUEVTKTogTmV3LgoKMjAwMC0xMi0xOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBtYXRoL3Rlc3QtbWlzYy5jOiBBZGQgbW9yZSB0ZXN0cyBmb3IgbmV4dGFmdGVyLgoJKiBzeXNkZXBzL2kzODYvZnB1L3NfbmV4dGFmdGVybC5jOiBIYW5kbGUgZGVjcmVtZW50IGZvciB4PDAgY29ycmVjdGx5LgoJKiBzeXNkZXBzL2llZWU3NTQvbGRibC05Ni9tYXRoX2xkYmwuaAoJKGllZWVfbG9uZ19kb3VibGVfc2hhcGVfdHlwZSk6IE1ha2Ugc2lnbl9leHBvbmVudCBlbGVtZW50IHNpZ25lZC4KCgkqIG1hbnVhbC9tZXNzYWdlLnRleGk6IEFkZCBFc3RvbmlhbiB0byBwbHVyYWwgb3ZlcnZpZXcgbGlzdC4KCUNvcnJlY3QgcnVsZSBmb3IgU2xhdmljIGxhbmd1YWdlcy4KCVBhdGNoIGJ5IFN0YW5pc2xhdiBCcmFiZWMgPHV0eEBwZW5ndWluLmN6Pi4KCgkqIG5pcy9uc3NfbmlzL25pcy1uZXRncnAuYzogUmVtb3ZlIHVubmVjZXNzYXJ5IGluaXRpYWxpemF0aW9ucy4KCjIwMDAtMTItMTggIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHRlc3Qtc2tlbGV0b24uYzogVXNlIHRlbXBfbmFtZV9saXN0IGluc3RlYWQgb2YgbmFtZV9saXN0IHRvCglhdm9pZCBjb2xsaXNpb24gd2l0aCBuYW1lX2xpc3QgZnJvbSBpbmV0L25ldGdyb3VwLmguCgoJKiBuc3MvbnNzX2ZpbGVzL2ZpbGVzLW5ldHdvcmsuYyAoTkVFRF9IX0VSUk5PKTogRGVmaW5lLgoKCSogaW5jbHVkZS9ncnAuaCAoREVDTEFSRV9OU1NfUFJPVE9UWVBFUyk6IE5ldy4KCSogaW5jbHVkZS9wd2QuaCAoREVDTEFSRV9OU1NfUFJPVE9UWVBFUyk6IE5ldy4KCSogaW5jbHVkZS9uZXRkYi5oIChERUNMQVJFX05TU19QUk9UT1RZUEVTKTogTmV3LgoJKiBpbmNsdWRlL3NoYWRvdy5oIChERUNMQVJFX05TU19QUk9UT1RZUEVTKTogTmV3LgoKCSogaGVzaW9kL25zc19oZXNpb2QvaGVzaW9kLXByb3RvLmMgKF9uc3NfaGVzaW9kX3NldHByb3RvZW50KTogRml4CglkZWNsYXJhdGlvbiB0byBtYXRjaCBwcm90b3R5cGUuCgkqIGhlc2lvZC9uc3NfaGVzaW9kL2hlc2lvZC1wd2QuYyAoX25zc19oZXNpb2Rfc2V0cHdlbnQpOiBMaWtld2lzZS4KCSogaGVzaW9kL25zc19oZXNpb2QvaGVzaW9kLWdycC5jIChfbnNzX2hlc2lvZF9zZXRncmVudCk6IExpa2V3aXNlLgoJKiBoZXNpb2QvbnNzX2hlc2lvZC9oZXNpb2Qtc2VydmljZS5jIChfbnNzX2hlc2lvZF9zZXRzZXJ2ZW50KToKCUxpa2V3aXNlLgoJKiBuaXMvbnNzX25pcy9uaXMtZ3JwLmMgKF9uc3NfbmlzX3NldGdyZW50KTogTGlrZXdpc2UuCgkqIG5pcy9uc3NfbmlzL25pcy1wd2QuYyAoX25zc19uaXNfc2V0cHdlbnQpOiBMaWtld2lzZS4KCSogbmlzL25zc19uaXMvbmlzLXByb3RvLmMgKF9uc3NfbmlzX3NldHByb3RvZW50KTogTGlrZXdpc2UuCgkqIG5pcy9uc3NfbmlzL25pcy1zZXJ2aWNlLmMgKF9uc3NfbmlzX3NldHNlcnZlbnQpOiBMaWtld2lzZS4KCShfbnNzX25pc19nZXRzZXJ2Ynlwb3J0X3IpOiBMaWtld2lzZS4KCSogbmlzL25zc19uaXMvbmlzLWhvc3RzLmMgKF9uc3NfbmlzX3NldGhvc3RlbnQpOiBMaWtld2lzZS4KCSogbmlzL25zc19uaXMvbmlzLXNwd2QuYyAoX25zc19uaXNfc2V0c3BlbnQpOiBMaWtld2lzZS4KCSogbmlzL25zc19uaXMvbmlzLW5ldHdvcmsuYyAoX25zc19uaXNfZ2V0bmV0ZW50X3IpOiBMaWtld2lzZS4KCShfbnNzX25pc19zZXRuZXRlbnQpOiBMaWtld2lzZQoJKiBuaXMvbnNzX25pcy9uaXMtbmV0Z3JwLmMgKF9uc3NfbmlzX3NldG5ldGdyZW50KTogTGlrZXdpc2UuCgkoX25zc19uaXNfZW5kbmV0Z3JlbnQpOiBMaWtld2lzZS4KCSogbmlzL25zc19uaXNwbHVzL25pc3BsdXMtbmV0Z3JwLmMgKF9uc3NfbmlzcGx1c19lbmRuZXRncmVudCk6CglMaWtld2lzZS4KCShfbnNzX25pc3BsdXNfc2V0bmV0Z3JlbnQpOiBMaWtld2lzZS4KCSogbmlzL25zc19uaXNwbHVzL25pc3BsdXMtc3B3ZC5jIChfbnNzX25pc3BsdXNfc2V0c3BlbnQpOiBMaWtld2lzZS4KCSogbmlzL25zc19uaXNwbHVzL25pc3BsdXMtcHdkLmMgKF9uc3NfbmlzcGx1c19zZXRwd2VudCk6IExpa2V3aXNlLgoJKiBuaXMvbnNzX25pc3BsdXMvbmlzcGx1cy1ncnAuYyAoX25zc19uaXNwbHVzX3NldGdyZW50KTogTGlrZXdpc2UuCgkqIG5pcy9uc3NfbmlzcGx1cy9uaXNwbHVzLW5ldHdvcmsuYyAoX25zc19uaXNwbHVzX3NldG5ldGVudCk6CglMaWtld2lzZS4KCSogbmlzL25zc19uaXNwbHVzL25pc3BsdXMtaG9zdHMuYyAoX25zc19uaXNwbHVzX3NldGhvc3RlbnQpOgoJTGlrZXdpc2UuCgkqIG5pcy9uc3NfbmlzcGx1cy9uaXNwbHVzLXNlcnZpY2UuYyAoX25zc19uaXNwbHVzX3NldHNlcnZlbnQpOgoJTGlrZXdpc2UuCgkqIG5pcy9uc3NfbmlzcGx1cy9uaXNwbHVzLXByb3RvLmMgKF9uc3NfbmlzcGx1c19zZXRwcm90b2VudCk6CglMaWtld2lzZS4KCSogbmlzL25zc19jb21wYXQvY29tcGF0LXNwd2QuYyAoX25zc19jb21wYXRfc2V0c3BlbnQpOiBMaWtld2lzZS4KCSogbmlzL25zc19jb21wYXQvY29tcGF0LXB3ZC5jIChfbnNzX2NvbXBhdF9zZXRwd2VudCk6IExpa2V3aXNlLgoJKiBuaXMvbnNzX2NvbXBhdC9jb21wYXQtZ3JwLmMgKF9uc3NfY29tcGF0X3NldGdyZW50KTogTGlrZXdpc2UuCgkqIHJlc29sdi9uc3NfZG5zL2Rucy1ob3N0LmMgKF9uc3NfZG5zX2dldGhvc3RieWFkZHJfcik6IExpa2V3aXNlLgoJKiByZXNvbHYvbnNzX2Rucy9kbnMtbmV0d29yay5jIChfbnNzX2Ruc19nZXRuZXRieW5hbWVfcik6IExpa2V3aXNlLgoJKF9uc3NfZG5zX2dldG5ldGJ5YWRkcl9yKTogTGlrZXdpc2UuCgoyMDAwLTEyLTE3ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL2dlbmVyaWMva19zaW5sLmMgKF9fa2VybmVsX3NpbmwpOiBGaXggZnVuY3Rpb25zCglwYXJhbWV0ZXIuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zaG1fb3Blbi5jIChmcmVlaXQpOiBNYWtlIHN0YXRpYyBhbmQgYWRkCgl1bnVzZWQgYXR0cmlidXRlIHRvIHNodXQgdXAgZ2NjIHdhcm5pbmdzLgoKCSogc3lzZGVwcy9nZW5lcmljL2tfc2lubC5jOiBJbmNsdWRlIG1hdGhfcHJpdmF0ZSBmb3IgcHJvdG90eXBlcy4KCSogc3lzZGVwcy9nZW5lcmljL2tfdGFubC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL2tfY29zbC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL2VfajBsLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvZV9qMWwuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9lX2pubC5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL2VfbGdhbW1hbF9yLmM6IExpa2V3aXNlLgoKCSogZWxmL3Zpc21haW4uYzogTW92ZSBwcm90b3R5cGVzIGZvciBmdW5jdGlvbnMgaW4gdmlzbW9kKi5jIHRvCgl2aXNtb2QuaC4KCSogZWxmL3Zpc21vZC5oOiBOZXcgZmlsZS4KCSogZWxmL01ha2VmaWxlIChkaXN0cmlidXRlKTogQWRkIHZpc21vZC5oLgoJKiBlbGYvdmlzbW9kMS5jOiBJbmNsdWRlIHZpc21vZC5oLgoJKiBlbGYvdmlzbW9kMi5jOiBMaWtld2lzZS4KCSogZWxmL3Zpc21vZDMuYzogTGlrZXdpc2UuCgoJKiBlbGYvY29uc3Rsb2FkMy5jOiBBZGQgcHJvdG90eXBlIGRlY2xhcmF0aW9ucyB0byBzaHV0IHVwIGdjYy4KCSogZWxmL2ZhaWxvYmouYzogTGlrZXdpc2UuCgkqIGVsZi9ub2RlbG1vZDMuYzogTGlrZXdpc2UuCgkqIGVsZi9maWx0bW9kMS5jOiBMaWtld2lzZS4KCSogZWxmL2ZpbHRtb2QyLmM6IExpa2V3aXNlLgoJKiBlbGYvcmVsZGVwbW9kMS5jOiBMaWtld2lzZS4KCSogZWxmL3JlbGRlcG1vZDIuYzogTGlrZXdpc2UuCgkqIGVsZi9yZWxkZXBtb2QzLmM6IExpa2V3aXNlLgoJKiBlbGYvcmVsZGVwbW9kNC5jOiBMaWtld2lzZS4KCSogZWxmL3VubG9hZDJkZXAuYzogTGlrZXdpc2UuCgkqIGVsZi91bmxvYWQybW9kLmM6IExpa2V3aXNlLgoJKiBlbGYvbHRnbG9ibW9kMS5jOiBMaWtld2lzZS4KCSogZWxmL3BhdGhvcHRvYmouYzogTGlrZXdpc2UuCgkqIGVsZi9uZWVkZWRvYmoxLmM6IExpa2V3aXNlLgoJKiBlbGYvbmVlZGVkb2JqMi5jOiBMaWtld2lzZS4KCSogZWxmL25lZWRlZG9iajMuYzogTGlrZXdpc2UuCgkqIGVsZi9uZWVkZWRvYmo0LmM6IExpa2V3aXNlLgoJKiBlbGYvbmV4dG1vZDEuYzogTGlrZXdpc2UuCgkqIGVsZi9uZXh0bW9kMi5jOiBMaWtld2lzZS4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1jb2xsYXRlLmMgKGNvbGxhdGVfZmluaXNoKTogRG9uJ3QgdXNlIGxhYmVscwoJYXQgZW5kIG9mIGNvbXBvdW5kIHN0YXRlbWVudC4KCSogbG9jYWxlL3Byb2dyYW1zL2xvY2FsZS5jIChzaG93X2luZm8pOiBMaWtld2lzZS4KCSogcmVzb2x2L25zc19kbnMvZG5zLWhvc3QuYyAoX25zc19kbnNfZ2V0aG9zdGJ5YWRkcl9yKTogTGlrZXdpc2UuCgoyMDAwLTEyLTE2ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIGNhdGdldHMvZ2VuY2F0LmMgKHJlYWRfaW5wdXRfZmlsZSk6IEF2b2lkIGNhbGxpbmcgb2JzdGFja19mcmVlCgl3aXRoIGEgcG9pbnRlciBub3QgcmV0dXJuZWQgYnkgb2JzdGFja18gZnVuY3Rpb25zLgoKMjAwMC0xMi0xNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvYml0cy9zdGF0LmggKHN0cnVjdCBzdGF0KTogQWxpZ24gd2l0aCBBSVgKCXZlcnNpb24uCgkoc3RydWN0IHN0YXQ2NCk6IExpa2V3aXNlLgoJUmVwb3J0ZWQgYnkgTWljaGFlbCBLZWV6ZXIgPG1rZWV6ZXJAcmVkaGF0LmNvbT4uCgoJKiB0aW1lem9uZS9hc2lhOiBVcGRhdGUgZnJvbSB0emRhdGEyMDAwaC4KCSogdGltZXpvbmUvYXVzdHJhbGFzaWE6IExpa2V3aXNlLgoJKiB0aW1lem9uZS9iYWNrd2FyZDogTGlrZXdpc2UuCgkqIHRpbWV6b25lL2V1cm9wZTogTGlrZXdpc2UuCgkqIHRpbWV6b25lL25vcnRoYW1lcmljYTogTGlrZXdpc2UuCgkqIHRpbWV6b25lL3NvdXRoYW1lcmljYTogTGlrZXdpc2UuCgkqIHRpbWV6b25lL3pvbmUudGFiOiBMaWtld2lzZS4KCjIwMDAtMTItMTQgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogaW8vZnR3LmMgKGZ0d19kaXIpOiBJZiBwcm9jZXNzX2VudHJ5IHJldHVybmVkIG5vbi16ZXJvIHJlc3VsdAoJYW5kIGRpci5zdHJlYW0gaXMgTlVMTCwgb25seSBmcmVlIGRpci5jb250ZW50LgoJKiBpby9mdHd0ZXN0LmMgKGNiLCBtYWluKTogQWRkIC0tZWFybHktZXhpdCBvcHRpb24gdG8gdGVzdCBpdC4KCSogaW8vZnR3dGVzdC1zaDogVGVzdCB3aXRoIC0tZWFybHktZXhpdC4KCjIwMDAtMTItMTMgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogbWlzYy9lZmdjdnQuYyAoRkNWVF9NQVhESUcpOiBEZWZpbmUuCgkoRkNWVF9CVUZQVFIpOiBOZXcgdmFyaWFibGUuCgkoZmN2dCk6IElmIGZjdnRfciByZXR1cm5zIC0xIG9uIHRoZSBzdGF0aWMgc2hvcnQgYnVmZmVyLAoJdHJ5IHRvIG1hbGxvYyBhIHN1ZmZpY2llbnRseSBsYXJnZSBvbmUgYW5kIHJldHJ5LgoJKGZyZWVfbWVtKTogTmV3IGZ1bmN0aW9uLgoJKiBtaXNjL3FlZmdjdnQuYyAoRkNWVF9NQVhESUcpOiBEZWZpbmUuCgkqIG1pc2MvdHN0LWVmZ2N2dC5jIChmY3Z0X3Rlc3RzKTogQWRkIG5ldyB0ZXN0LgoKMjAwMC0xMi0xNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBtaXNjL2Rpcm5hbWUuYyAoZGlybmFtZSk6IEZpeCBzZWFyY2ggZm9yIHNlY29uZCB0byBsYXN0IHNsYXNoLgoKMjAwMC0xMi0xMyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogbWlzYy90c3QtZGlybmFtZS5jIChtYWluKTogRml4IHR5cG8gaW4gdGVzdCB0byByZWFsbHkgdXNlCgl0aGUgZXhhbXBsZXMgZnJvbSBVbml4OTguCglSZXBvcnRlZCBieSBNaWNoYWVsIEtlcnJpc2sgPG10azE2QGV4dC5jYW50ZXJidXJ5LmFjLm56Pi4KCjIwMDAtMTItMDkgIEguSi4gTHUgIDxoamxAZ251Lm9yZz4KCgkqIHN5c2RlcHMvaWE2NC9mcHUvc19mYWJzLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L3NfZmFic2YuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvc19mYWJzbC5TOiBOZXcgZmlsZS4KCjIwMDAtMTItMTUgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN0ZGlvLWNvbW1vbi9zY2FuZjkuYyAobWFpbik6IFJlZm9ybWF0IGFuZCBjaGFuZ2UgdG8gYXZvaWQKCXdhcm5pbmdzLgoKCSogc3RkaW8tY29tbW9uL3RzdGRpb21pc2MuYzogTWFrZSBsb2NhbCBmdW5jdGlvbnMgc3RhdGljLgoJKiBzdGRpby1jb21tb24vdHN0LXByaW50Zi5jOiBMaWtld2lzZS4KCgkqIGVsZi9jb25zdGxvYWQyLmM6IEFkZCBwcm90b3R5cGUgZGVjbGFyYXRpb25zIHRvIHNodXQgdXAgZ2NjLgoJKiBlbGYvZGVwMS5jOiBMaWtld2lzZS4KCSogZWxmL2RlcDIuYzogTGlrZXdpc2UuCgkqIGVsZi9kZXAzLmM6IExpa2V3aXNlLgoJKiBlbGYvZGVwNC5jOiBMaWtld2lzZS4KCSogZWxmL2x0Z2xvYm1vZDIuYzogTGlrZXdpc2UuCgoJKiBsaWJpby9mbWVtb3Blbi5jOiBNYWtlIGxvY2FsIGZ1bmN0aW9ucyBzdGF0aWMuCgoJKiBlbGYvTWFrZWZpbGUgKGRpc3RyaWJ1dGUpOiBBZGRlZCB0ZXN0b2JqLmguCgoJKiBlbGYvdGVzdG9iai5oOiBOZXcgZmlsZS4KCgkqIGVsZi90ZXN0b2JqMS5jOiBJbmNsdWRlIHRlc3RvYmouaCBhbmQgbW92ZSBwcm90b3R5cGUKCWRlY2xhcmF0aW9ucyB0byB0ZXN0b2JqLmguCgkqIGVsZi90ZXN0b2JqMi5jOiBMaWtld2lzZS4KCSogZWxmL3Rlc3RvYmozLmM6IExpa2V3aXNlLgoJKiBlbGYvdGVzdG9iajQuYzogTGlrZXdpc2UuCgkqIGVsZi90ZXN0b2JqNS5jOiBMaWtld2lzZS4KCSogZWxmL3Rlc3RvYmo2LmM6IExpa2V3aXNlLgoJKiBlbGYvdGVzdG9iajFfMS5jOiBMaWtld2lzZS4KCSogZWxmL3ByZWxvYWR0ZXN0LmM6IExpa2V3aXNlLgoKMjAwMC0xMi0xNSAgQmVuIENvbGxpbnMJIDxiY29sbGluc0BkZWJpYW4ub3JnPgoKCSogbWlzYy9zeXMvY2RlZnMuaDogRml4IHRoaW5rbyBpbiBjaGVja3MgZm9yIGZsZXhhcnIgbWFjcm9zLgoJUGF0Y2ggYnkgQWtpbSBEZW1haWxsZSA8YWtpbUBlcGl0YS5mcj4gaW4gRGViaWFuIGJ1ZyByZXBvcnQuCgoyMDAwLTEyLTE0ICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBzeXNkZXBzL2llZWU3NTQvZmx0LTMyL3Nfc2luY29zZi5jIChfX3NpbmNvc2YpOiBUaGUgZXhwb25lbnQKCWZpZWxkIGluIGEgZmxvYXQgaXMgOCBiaXRzLCBub3QgMTEgYml0cy4KCjIwMDAtMTItMTMgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogbWF0aC90ZXN0LW1pc2MuYyAobWFpbik6IEFkanVzdCBtIGZvciBJRUVFIHF1YWQgbG9uZyBkb3VibGUuCgoyMDAwLTEyLTEzICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBtYW51YWwvbWVzc2FnZS50ZXhpIChVc2luZyBnZXR0ZXh0aXplZCBzb2Z0d2FyZSk6IEZpeCB0eXBvLgoKCSogbWFudWFsL2NoYXJzZXQudGV4aSAoQ29udmVydGluZyBhIENoYXJhY3Rlcik6IEZpeCBtYnN0b3V3Y3MKCXByb2dyYW0gdG8gY29tcGlsZS4KCVBhdGNoIGJ5IE1hcnRpbiBCdWNoaG9seiA8bWFydGluQHhlbWFjcy5vcmc+LgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2lncGVuZGluZy5jIChzaWdwZW5kaW5nKTogRml4IHR5cG8uCglSZXBvcnRlZCBieSBNaWNoYWVsIEtlcnJpc2sgPG10azE2QGV4dC5jYW50ZXJidXJ5LmFjLm56Pi4KCjIwMDAtMTItMTEgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMva2VybmVsX3NpZ2FjdGlvbi5oOiBEZWNsYXJlCglrZXJuZWxfc2lnc2V0X3QgYW5kIHVzZSBpdC4KCVBhdGNoIGJ5IEhpcm95dWtpIE1hY2hpZGEgPG1hY2hpZGFAc20uc29ueS5jby5qcD4uCgoyMDAwLTEyLTEwICBSaWNoYXJkIEhlbmRlcnNvbiAgPHJ0aEByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9hbHBoYS9hbHBoYWV2NjcvZnB1L0ltcGxpZXM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2FscGhhL2FscGhhZXY2L2ZwdS9lX3NxcnRmLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2FscGhhL2FscGhhZXY2L2ZwdS9lX3NxcnQuUzogTmV3IGZpbGUuCgoyMDAwLTEyLTEwICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvYWxwaGEvaHRvbmwuUzogRml4IGEgdHlwby4KCjIwMDAtMTItMTAgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9hbHBoYS9hbHBoYWV2Ni9zdHhjcHkuUzogRXhjaGFuZ2UgdDggd2l0aCB0MTAuCgoyMDAwLTEyLTEwICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBsb2NhbGUvcHJvZ3JhbXMvbGQtY3R5cGUuYyAoY2hhcmNsYXNzX3N5bWJvbGljX2VsbGlwc2lzKTogRml4ZWQKCWNhc3QgYXMgc3VnZ2VzdGVkIGJ5IEpha3ViIEplbGluZWsgPGpha3ViQHJlZGhhdC5jb20+IGFuZCBVbHJpY2gKCURyZXBwZXIgPGRyZXBwZXJAcmVkaGF0LmNvbT4uCgoyMDAwLTEyLTA5ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL3NpZ2FjdGlvbi5jOiBOZXcgZmlsZS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvc3lzL2FjY3QuaDogUmVtb3ZlZCwgd2UgY2FuIHVzZSB0aGUKCWdlbmVyaWMgdmVyc2lvbi4KCVBhdGNoZXMgYnkgSGlyb3l1a2kgTWFjaGlkYSA8bWFjaGlkYUBzbS5zb255LmNvLmpwPi4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1jb2xsYXRlLmMgKGhhbmRsZV9lbGxpcHNpcyk6IEZpeCBmb3JtYXQKCXN0cmluZy4KCgkqIGxvY2FsZS9wcm9ncmFtcy9sZC1jdHlwZS5jIChjaGFyY2xhc3Nfc3ltYm9saWNfZWxsaXBzaXMpOiBGaXgKCWZvcm1hdCBzdHJpbmcuCgoJKiBuc2NkL2hzdGNhY2hlLmMgKGFkZGhzdGJ5bmFtZSk6IEFkZCBjYXN0IHRvIGF2b2lkIHdhcm5pbmcuCgkqIG5zY2QvY29ubmVjdGlvbnMuYyAoaGFuZGxlX3JlcXVlc3QpOiBMaWtld2lzZS4KCSogbnNjZC9wd2RjYWNoZS5jIChhZGRwd2J5bmFtZSk6IExpa2V3aXNlLgoJKiBuc2NkL2dycGNhY2hlLmMgKGFkZGdyYnluYW1lKTogTGlrZXdpc2UuCgoJKiBuc2NkL25zY2RfY29uZi5jIChuc2NkX3BhcnNlX2ZpbGUpOiBSZW1vdmUgZXh0cmEgYXJndW1lbnQuCgoyMDAwLTEyLTA5ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN0cmluZy9zdHJhdGNsaWZmLmM6IEFkZCB0ZXN0cyBmb3Igc3RwbmNweSwgbWVtY3B5LCBhbmQgbWVtcGNweS4KCgkqIE1ha2Vjb25maWcgKGRlZmF1bHRfY2ZsYWdzKTogTWFrZSAtTzIgdGhlIGRlZmF1bHQgZm9yIHN0YWJsZQoJcmVsZWFzZXMuCgoyMDAwLTEyLTA4ICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBzeXNkZXBzL2lhNjQvZnB1L3NfaXNpbmZsLlM6IFJlbmFtZWQgdG8gLi4uCgkqIHN5c2RlcHMvaWE2NC9mcHUvc19pc2luZi5TOiBUaGlzLgoJQWRkIGEgLnByZWQucmVsLm11dGV4IG5vdGUgdG8gYXZvaWQgZmFsc2UgcmVwb3J0LgoKCSogc3lzZGVwcy9pYTY0L2ZwdS9zX2lzbmFubC5TOiBSZW5hbWVkIHRvIC4uLgoJKiBzeXNkZXBzL2lhNjQvZnB1L3NfaXNuYW4uUzogVGhpcy4KCgkqIHN5c2RlcHMvaWE2NC9mcHUvc19mcGNsYXNzaWZ5LlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L3NfZnBjbGFzc2lmeWYuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvc19mcGNsYXNzaWZ5bC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9zX2lzaW5mZi5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9zX2lzaW5mbC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9zX2lzbmFuZi5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9zX2lzbmFubC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9zX2Zpbml0ZS5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9zX2Zpbml0ZWYuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvc19maW5pdGVsLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L3Nfc2lnbmJpdC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9zX3NpZ25iaXRmLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2lhNjQvZnB1L3Nfc2lnbmJpdGwuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvaWE2NC9mcHUvc19jb3B5c2lnbi5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9zX2NvcHlzaWduZi5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9pYTY0L2ZwdS9zX2NvcHlzaWdubC5TOiBOZXcgZmlsZS4KCjIwMDAtMTItMDggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbWF0aC9saWJtLXRlc3QuaW5jIChtYWluKTogRml4IHR5cG9zIGluIG1lc3NhZ2VzLgoKCSogc3RyaW5nL3N0cmF0Y2xpZmYuYzogQWRkIHRlc3QgZm9yIHJhd21lbWNoci4KCjIwMDAtMTItMDggIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogZWxmL2RsLW9wZW4uYyAoX2RsX29wZW4pOiBJZiBvYmpuYW1lIHBvaW50cyByaWdodCBhZnRlciBlcnJzdHJpbmcsCglhbGxvY2F0ZSBpdCB0b2dldGhlciB3aXRoIGVycnN0cmluZyB1c2luZyBhbGxvY2EuCgkqIGVsZi9kbC1lcnJvci5jIChfZGxfc2lnbmFsX2Vycm9yKTogSWYgbWFsbG9jIGZhaWxlZCwgc2V0IG9iam5hbWUKCXRvICIiLCBiZWNhdXNlIGl0IG1pZ2h0IHBvaW50IHRvIGxvY2FsIHN0YWNrLgoKMjAwMC0xMi0wNSAgSC5KLiBMdSAgPGhqbEBnbnUub3JnPgoKCSogbnNzL01ha2VmaWxlIChyb3V0aW5lcyk6IEFkZCBnZXRuc3NlbnQgYW5kIGdldG5zc2VudF9yLgoJKiBuc3MvbnNzd2l0Y2guaCAoX19uc3Nfc2V0ZW50KTogTmV3IGludGVybmFsIE5TUyBmdW5jdGlvbi4KCShfX25zc19lbmRlbnQpOiBMaWtld2lzZS4KCShfX25zc19nZXRlbnRfcik6IExpa2V3aXNlLgoJKF9fbnNzX2dldGVudCk6IExpa2V3aXNlLgoJKiBuc3MvZ2V0bnNzZW50X3IuYzogTmV3IGZpbGUuCgkqIG5zcy9nZXRuc3NlbnQuYzogTmV3IGZpbGUuCgkqIG5zcy9nZXRYWGVudC5jIChIX0VSUk5PX1ZBUik6IFVwZGF0ZWQuCgkoR0VURlVOQ19OQU1FKTogVXBkYXRlZCB0byBjYWxsIF9fbnNzX2dldGVudCAoKS4KCSogbnNzL2dldFhYZW50X3IuYyAoSF9FUlJOT19WQVJfUCk6IE5ldy4KCShTVEFZT1BFTl9UTVBWQVIpOiBVcGRhdGVkLgoJKFNUQVlPUEVOX1ZBUik6IFVwZGF0ZWQuCgkoU0VURlVOQ19OQU1FKTogVXBkYXRlZCB0byBjYWxsIF9fbnNzX3NldGVudCAoKS4KCShFTkRGVU5DX05BTUUpOiBVcGRhdGVkIHRvIGNhbGwgX19uc3NfZW5kZW50ICgpLgoJKElOVEVSTkFMIChSRUVOVFJBTlRfR0VUTkFNRSkpOiBVcGRhdGVkIHRvIGNhbGwgX19uc3NfZ2V0ZW50X3IgKCkuCgoyMDAwLTEyLTA4ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBuc2NkL2RiZ19sb2cuaCAoZGJnX2xvZyk6IENvcnJlY3QgYXR0cmlidXRlLgoKMjAwMC0xMi0wOCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBlbGYvZGwtbG9hZC5jIChmaWxsaW5fcnBhdGgpOiBEb24ndCBhc3N1bWUgdGhlcmUgaXMgJ1wwJyBhdAoJY3AgKyBsZW4uICBDb21wdXRlIHdoZXJlIGZyb20gZGlybmFtZS4KCVJlcG9ydGVkIGJ5IDxqcmVpc2VyQEJpdFdhZ29uLmNvbT4uCgoyMDAwLTEyLTA4ICBSaWNoYXJkIEhlbmRlcnNvbiAgPHJ0aEB0d2lkZGxlLm5ldD4KCgkqIHN5c2RlcHMvYWxwaGEvX21jb3VudC5TOiBGaXggdHlwby4KCSogc3lzZGVwcy9hbHBoYS9zdHJuY3B5LlM6IExpa2V3aXNlLgoKCSogc3lzZGVwcy9hbHBoYS9hbHBoYWV2Ni9JbXBsaWVzOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9hbHBoYS9hbHBoYWV2NjcvSW1wbGllczogTmV3IGZpbGUuCgkqIHN5c2RlcHMvYWxwaGEvYWxwaGFldjY3L2Zmcy5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9hbHBoYS9hbHBoYWV2NjcvZmZzbGwuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvYWxwaGEvYWxwaGFldjY3L3Jhd21lbWNoci5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9hbHBoYS9hbHBoYWV2Njcvc3RwY3B5LlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2FscGhhL2FscGhhZXY2Ny9zdHBuY3B5LlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2FscGhhL3Jhd21lbWNoci5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9hbHBoYS9zdHJjYXQuUzogVGFpbCBjYWxsIHRvIF9fc3R4Y3B5LgoJKiBzeXNkZXBzL2FscGhhL3N0cmNweS5TOiBMaWtld2lzZS4KCglGcm9tIEdNUCAzLjEuMToKCSogc3lzZGVwcy9hbHBoYS9hbHBoYWV2Ni9hZGRtdWxfMS5zOiBOZXcgZmlsZS4KCglGcm9tIHJpY2suZ29ydG9uQGFscGhhLXByb2Nlc3Nvci5jb206CgkqIHN5c2RlcHMvYWxwaGEvYWxwaGFldjYvbWVtY2hyLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2FscGhhL2FscGhhZXY2L21lbWNweS5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9hbHBoYS9hbHBoYWV2Ni9tZW1zZXQuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvYWxwaGEvYWxwaGFldjYvc3R4Y3B5LlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2FscGhhL2FscGhhZXY2L3N0eG5jcHkuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvYWxwaGEvYWxwaGFldjY3L3N0cmNhdC5TOiBOZXcgZmlsZS4KCSogc3lzZGVwcy9hbHBoYS9hbHBoYWV2Njcvc3RyY2hyLlM6IE5ldyBmaWxlLgoJKiBzeXNkZXBzL2FscGhhL2FscGhhZXY2Ny9zdHJsZW4uUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvYWxwaGEvYWxwaGFldjY3L3N0cm5jYXQuUzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvYWxwaGEvaHRvbmwuUzogVXNlIGEgc2hvcnRlciBzZXF1ZW5jZS4KCjIwMDAtMTItMDggIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogaW5ldC9nZXRuYW1laW5mby5jIChnZXRuYW1laW5mbyk6IEZpeCBOSV9OT0ZRRE4gc3VwcG9ydC4KCVJlcG9ydGVkIGJ5IDxwc3BlbmNlckBmaWVsZHMudXRvcm9udG8uY2E+LgoKMjAwMC0xMi0wNyAgSmVzIFNvcmVuc2VuICA8amVzQGxpbnV4Y2FyZS5jb20+CgoJKiBzeXNkZXBzL2lhNjQvZWxmL3N0YXJ0LlMgKF9fZGF0YV9zdGFydCk6IEFkZCBfX2RhdGFfc3RhcnQgdmFyaWFibGUuCglQb2ludGVkIG91dCBieSBIYW5zIEJvZWhtLgoKMjAwMC0xMi0wNyAgSC5KLiBMdSAgPGhqbEBnbnUub3JnPgoKCSogZWxmL2RsLXZlcnNpb24uYyAobWF0Y2hfc3ltYm9sKTogQ2hlY2sgbWFwLT5sX25hbWVbMF0gZm9yIHByaW50aW5nLgoKMjAwMC0xMi0wNyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogbWlzYy9lcnJvci5jOiBBZGQgZm9ybWF0IGF0dHJpYnV0ZXMgZm9yIF9fZXJyb3IgYW5kIF9fZXJyb3JfYXRfbGluZS4KCgkqIG5zY2QvZGJnX2xvZy5oOiBBZGQgZm9ybWF0IGF0dHJpYnV0ZS4KCjIwMDAtMTItMDggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbWlzYy9zeXMvc3lzbG9nLmg6IEFkZCBmb3JtYXQgYXR0cmlidXRlcyB0byBzeXNsb2cgYW5kIHZzeXNsb2cuCglQYXRjaCBieSBKb3NlcGggUy4gTXllcnMgPGpzbTI4QGNhbS5hYy51az4uCgoyMDAwLTEyLTA3ICBEYW4gUG9wICA8RGFuLlBvcEBjZXJuLmNoPgoKCSogc3lzZGVwcy9pYTY0L3N0cmNweS5TOiBGaXggYSBidWcgaW4gYSByZWNvdmVyeSBjb2RlIHNlcXVlbmNlLgoKMjAwMC0xMi0wNiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvTWFrZWZpbGUgWyQoc3ViZGlyKT09bWlzY10KCShzeXNkZXBfcm91dGluZXMpOiBBZGQgdWl0cnVuYy4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L3VpdHJ1bmMuYzogTmV3IGZpbGUuCglQYXRjaGVzIGJ5IE1pY2hhZWwgS2VlemVyIDxta2VlemVyQHJlZGhhdC5jb20+LgoKMjAwMC0xMi0wNiAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAZnJvYi5jb20+CgoJKiBzeXNkZXBzL21hY2gvaHVyZC9pb2N0bC5jIChfX2lvY3RsKTogRG9uJ3QgY2xvYmJlciBBUkcgYXMgd2UgY29weSBpbgoJYXJndW1lbnQgZGF0YSwgc2luY2UgaXQgd2lsbCBiZSB1c2VkIHRvIGNvcHkgb3V0IHRvbyAoZm9yIElOT1VUKS4KCVJlcG9ydGVkIGJ5IE1hcmN1cyBCcmlua21hbm4gPG1hcmN1c0BnbnUub3JnPi4KCgkqIHN5c2RlcHMvbWFjaC9odXJkL2lvY3RsLmM6IEluY2x1ZGUgPHN0ZGludC5oPi4KCShfX2lvY3RsKTogVXNlIHVpbnRwdHJfdCBpbnN0ZWFkIG9mIHVuc2lnbmVkIGxvbmcgaW50LgoKMjAwMC0xMi0wNiAgSmltIFdpbHNvbgk8d2lsc29uQHJlZGhhdC5jb20+CgoJKiBzdGRsaWIvbDY0YS5jIChsNjRhKTogVHJ1bmNhdGUgTSB0byAzMi1iaXQgdmFsdWUuCgoyMDAwLTEyLTA2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN0ZGlvLWNvbW1vbi9wcmludGZfZnAuYyAoX19wcmludGZfZnApOiBIYW5kbGUgZGVjaW1hbCBwb2ludCBpbgoJeC41IHJvdW5kaW5nIGNvcnJlY3RseS4KCjIwMDAtMTItMDYgIE1hcmsgS2V0dGVuaXMgIDxrZXR0ZW5pc0BnbnUub3JnPgoKCSogc3RkaW8tY29tbW9uL3BlcnJvci5jIChwZXJyb3IpOiBDb25kaXRpb25hbGl6ZSBjb2RlIGRlYWxpbmcgd2l0aAoJd2lkZS1vcmllbnRlZCBzdHJlYW1zIG9uIFVTRV9JTl9MSUJJTy4KCjIwMDAtMTItMDYgIE1hcmsgS2V0dGVuaXMgIDxrZXR0ZW5pc0BnbnUub3JnPgoKCSogc3lzZGVwcy9tYWNoL2h1cmQvZGwtc3lzZGVwLmMgKF9kbF9zeXNkZXBfc3RhcnRfY2xlYW51cCk6IE1hcmsKCWFzIGludGVybmFsX2Z1bmN0aW9uLgoKMjAwMC0xMi0wNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2FscGhhL2VsZi9zdGFydC5TIChfX2RhdGFfc3RhcnQpOiBEZWZpbmUuCgoyMDAwLTEyLTA1ICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBuc3MvZ2V0WFhlbnRfci5jIChzZXR1cCk6IENoYW5nZSB0aGUgcmV0dXJuIHR5cGUgdG8gaW50LgoKMjAwMC0xMi0wNSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvTWFrZWZpbGUgWyQoc3ViZGlyKT09bWlzY10KCShzeXNkZXBfcm91dGluZXMpOiBBZGQgcmVzdGYgYW5kIHNhdmVmLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvcmVzdGYuYzogTmV3IGZpbGUuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9zYXZlZi5jOiBOZXcgZmlsZS4KCVBhdGNoZXMgYnkgTWljaGFlbCBLZWV6ZXIgPG1rZWV6ZXJAcmVkaGF0LmNvbT4uCgoJKiBzeXNkZXBzL3VuaXgvb3BlbmRpci5jIChfX29wZW5kaXIpOiBEb24ndCB1c2Ugb19kaXJlY3Rvcnlfd29ya3MKCWlmIE9fRElSRUNUT1JZIGlzIG5vdCBkZWZpbmVkLgoJUGF0Y2ggYnkgTWljaGFlbCBLZWV6ZXIgPG1rZWV6ZXJAcmVkaGF0LmNvbT4uCgoJKiBpbmNsdWRlL2xpYmMtc3ltYm9scy5oIChDX1NZTUJPTF9ET1RfTkFNRSk6IERlZmluZS4KCVBhdGNoIGJ5IE1pY2hhZWwgS2VlemVyIDxta2VlemVyQHJlZGhhdC5jb20+LgoKCSogbG9jYWxlL3Byb2dyYW1zL2xpbmVyZWFkZXIuYyAoZ2V0X3RvcGx2bF9lc2NhcGUpOiBSZWNvZ25pemUgbW9yZQoJdGhhbiA0IGJ5dGVzIGluIGVzY2FwZSBzZXF1ZW5jZS4KCVBhdGNoIGJ5IFNoaW55YSBIYW5hdGFrYSA8aGFuYXRha2FAYWJ5c3MucmltLm9yLmpwPi4KCjIwMDAtMTItMDUgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvc3lzL3Rhcy5oIChfdGVzdF9hbmRfc2V0KTogRG9uJ3QKCXNldCBtaXBzMi4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvc3lzZGVwLmg6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9zeXMvc3lzY2FsbC5oOiBSZW1vdmVkLgoKCSogc3lzZGVwcy91bml4L21pcHMvc3lzZGVwLmg6IFVzZSBTWVNfaWZ5LgoJUGF0Y2hlcyBieSBNYWNpZWogVy4gUm96eWNraSA8bWFjcm9AZHMyLnBnLmdkYS5wbD4uCgoJKiBlbGYvZGwtbWlzYy5jIChfZGxfc3lzZGVwX3JlYWRfd2hvbGVfZmlsZSk6IE1hcmsgYXMKCWludGVybmFsX2Z1bmN0aW9uLgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtY2FjaGUuYyAoX2RsX2xvYWRfY2FjaGVfbG9va3VwKTogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC1zeXNkZXAuYyAoX2RsX3N5c2RlcF9zdGFydF9jbGVhbnVwKTogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtY2FjaGUuYzogUmVtb3ZlIGRlY2xhcmF0aW9uIG9mCglfZGxfc3lzZGVwX3JlYWRfd2hvbGVfZmlsZS4KCgkqIGVsZi9kbC1sb2FkLmMgKF9kbF9tYXBfb2JqZWN0KTogUmVtb3ZlIGRlY2xhcmF0aW9uIG9mCglfZGxfbG9hZF9jYWNoZV9sb29rdXAuCgoJKiBzeXNkZXBzL2dlbmVyaWMvbGRzb2RlZnMuaDogQWRkIGRlY2xhcmF0aW9ucyBvZgoJX2RsX2xvYWRfY2FjaGVfbG9va3VwLCBfZGxfdW5sb2FkX2NhY2hlLAoJX2RsX3N5c2RlcF9yZWFkX3dob2xlX2ZpbGUsIF9kbF9zeXNkZXBfc3RhcnQgYW5kCglfZGxfc3lzZGVwX3N0YXJ0X2NsZWFudXAuCgoJKiBlbGYvcnRsZC5jOiBSZW1vdmUgcHJvdG90eXBlcyB0aGF0IGFyZSBkZWZpbmVkIGluIGxkc29kZWZzLmgKCW5vdy4KCgkqIGVsZi9kbC1taXNjLmM6IEluY2x1ZGUgPGxkc29kZWZzLmg+IHRvIGdldCBwcm90b3R5cGVzLgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtZW52aXJvbi5jOiBMaWtld2lzZS4KCgkqIHN0ZGlvLWNvbW1vbi9wcmludGZfZnAuYzogSW5jbHVkZSA8Z21wLmg+IGluc3RlYWQgb2YKCTxzdGRsaWIvZ21wLmg+LgoJKiBtYXRoL2F0ZXN0LWV4cC5jOiBMaWtld2lzZS4KCSogbWF0aC9hdGVzdC1leHAyLmM6IExpa2V3aXNlLgoJKiBtYXRoL2F0ZXN0LXNpbmNvcy5jOiBMaWtld2lzZS4KCSogc3RkaW8tY29tbW9uL19pdG9hLmM6IExpa2V3aXNlLgoJKiBzdGRpby1jb21tb24vX2l0b3dhLmM6IExpa2V3aXNlLgoKCSogaW5jbHVkZS9nbXAuaDogTmV3IGZpbGUgd2l0aCBpbnRlcm5hbCBwcm90b3R5cGVzLgoKCSogc3lzZGVwcy9nZW5lcmljL2xvbmdqbXAuYzogTW92ZSBfbG9uZ2ptcF91bndpbmQgZGVjbGFyYXRpb24gZnJvbQoJaGVyZSB0by4uLgoJKiBpbmNsdWRlL3NldGptcC5oOiAuLi5oZXJlLgoKCSogbG9jYWxlL01ha2VmaWxlIChyb3V0aW5lcyk6IFJlbW92ZSBjb2Rlc2V0X25hbWUgc2luY2UgaXQncyBub3QKCW5lZWRlZCBhbnl3aGVyZS4KCgkqIGxvY2FsZS9jb2Rlc2V0X25hbWUuYzogUmVtb3ZlZC4KCjIwMDAtMTItMDUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L3N5cy9wYXJhbS5oOiBEZWZpbmUgTUFYSE9TVE5BTUVMRU4gaGVyZS4KCjIwMDAtMTItMDUgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9wYXJhbS5oOiBSZXZlcnQgbGFzdCBwYXRjaC4KCjIwMDAtMTItMDUgIE1hcnRpbiBTY2h3aWRlZnNreQk8c2Nod2lkZWZza3lAZGUuaWJtLmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvbW1hcDY0LlM6IFVzZSBtbWFwIGlmIG1tYXAyIGlzbid0CglhdmFpbGFibGUuCgoyMDAwLTEyLTA1ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBuc3MvdGVzdC1uZXRkYi5jOiBNYXJrIGxvY2FsIGZ1bmN0aW9ucyBhcyBzdGF0aWMgdG8gYXZvaWQKCXdhcm5pbmdzLgoJKG1haW4pOiBVc2UgcmV0dXJuIHRvIHNpbGVuY2Ugd2FybmluZy4KCgkqIHN0ZGxpYi90ZXN0LWNhbm9uLmMgKGNoZWNrX3BhdGgpOiBNYXJrIGFzIHN0YXRpYyB0byBhdm9pZCB3YXJuaW5nLgoKCSogc3RkaW8tY29tbW9uL3Rlc3QtcG9wZW4uYzogTWFyayBsb2NhbCBmdW5jdGlvbnMgYXMgc3RhdGljIHRvCglhdm9pZCB3YXJuaW5ncy4KCShtYWluKTogVXNlIHJldHVybiB0byBzaWxlbmNlIHdhcm5pbmcuCgoJKiBzdGRsaWIvdGVzdHNvcnQuYyAoY29tcGFyZSk6IE1hcmsgYXMgc3RhdGljIHRvIGF2b2lkIHdhcm5pbmcuCgoJKiBhc3NlcnQvdGVzdC1hc3NlcnQuYzogTWFyayBsb2NhbCBmdW5jdGlvbnMgYXMgc3RhdGljIHRvIGF2b2lkCgl3YXJuaW5ncy4KCSogYXNzZXJ0L3Rlc3QtYXNzZXJ0LXBlcnIuYzogTGlrZXdpc2UuCgoJKiBtYXRoL2xpYm0tdGVzdC5pbmMgKG1haW4pOiBVc2UgcmV0dXJuIHRvIHNpbGVuY2Ugd2FybmluZ3MuCgoyMDAwLTEyLTA0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG1hdGgvZmVudi5oOiBGaXggdHlwbyBpbiBjb21tZW50LgoKCSogbWF0aC90ZXN0LW1pc2MuYyAobWFpbik6IEFkZCBhIGZldyBtb3JlIG92ZXIgYW5kIHVuZGVyZmxvdyB0ZXN0cwoJZm9yIHNjYWxiLgoKCSogc3lzZGVwcy9pMzg2L2ZwdS9lX3NjYWxiLlM6IEhhbmRsZSBOYU4gYXMgZmlyc3QgcGFyYW1ldGVyIGNvcnJlY3RseS4KCSogc3lzZGVwcy9pMzg2L2ZwdS9lX3NjYWxiZi5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2ZwdS9lX3NjYWxibC5TOiBMaWtld2lzZS4KCSogbWF0aC93X3NjYWxiLmM6IERvbid0IHVzZSBtYXRoZXJyIGV4Y2VwdCBpbiBTVklEIG1vZGUuCgkqIG1hdGgvd19zY2FsYmYuYzogTGlrZXdpc2UuCgkqIG1hdGgvd19zY2FsYmwuYzogTGlrZXdpc2UuCgkqIG1hdGgvdGVzdC1taXNjLmM6IEFkZCB0ZXN0IGZvciBOYU4gYW5kIHNjYWxibC4KCVJlcG9ydGVkIGJ5IEZyZWQgSi4gVHlkZW1hbiA8dHlkZW1hbkB0eWJvci5jb20+LgoKMjAwMC0xMi0wNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuaW46IERlZmluZSBIQVZFX0FTTV9HTE9CQUxfRE9UX05BTUUgZm9yIEFJWC4KCSogY29uZmlnLmguaW46IEFkZCBIQVZFX0FTTV9HTE9CQUxfRE9UX05BTUUuCgkqIGluY2x1ZGUvbGliYy1zeW1ib2xzLmggKHN0cm9uZ19hbGlhcyk6IERlZmluZSBzcGVjaWFsIHZlcnNpb24KCWZvciBIQVZFX0FTTV9HTE9CQUxfRE9UX05BTUUuCgkod2Vha19hbGlhcyk6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3Bvd2VycGMvYnNkLXNldGptcC5TOiBVc2Ugc3Ryb25nX2FsaWFzIG5vdCAuc2V0LgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvTWFrZWZpbGUgWyQoc3ViZGlyKT09bG9naW5dCgkoc3lzZGVwX3JvdXRpbmVzKTogQWRkIHNldHV0eGVudCwgZ2V0dXR4ZW50LCBlbmR1dHhlbnQsIGdldHV0eGlkLAoJZ2V0dXR4bGluZSwgcHV0dXR4bGluZSwgYW5kIHV0bXB4bmFtZS4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L2ZjaGRpci5jOiBEZWZpbmUgX19mY2hkaXIuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9sc2Vlay5jOiBEZWZpbmUgX19saWJjX2xzZWVrIGFsaWFzLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvb3Blbi5jOiBEZWZpbmUgX19saWJjX29wZW4gYWxpYXMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9wcmVhZC5jOiBEZWZpbmUgcHJlYWQgYWxpYXMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2FpeC9wcmVhZDY0LmM6IERlZmluZSBwcmVhZDY0IGFsaWFzLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvc3lzZGVwLmggKEpVTVBUQVJHRVQpOiBVc2UgQ19URVhULgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9haXgvYml0cy90eXBlcy5oOiBEZWZpbmUgX19jbG9ja2lkX3QgYW5kIF9fdGltZXJfdC4KCSogc3lzZGVwcy91bml4L3N5c3YvYWl4L2JpdHMvdXRtcC5oOiBDbGVhbnVwLiAgQWRkIGNvbW1lbnRzLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvcGFyYW0uaCAoTUFYSE9TVE5BTUVMRU4pOiBEZWZpbmUuCglQYXRjaGVzIGJ5IE1pY2hhZWwgS2VlemVyIDxta2VlemVyQHJlZGhhdC5jb20+LgoKMjAwMC0xMi0wNCAgSC5KLiBMdSAgPGhqbEBnbnUub3JnPgoKCSogY29uZmlndXJlLmluOiBDaGFuZ2UgLS13aXRoLW9sZGVzdC1hYmk9QUJJIHRvCgktLWVuYWJsZS1vbGRlc3QtYWJpPUFCSS4KCjIwMDAtMTItMDIgIEJydW5vIEhhaWJsZSAgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KCgkqIHN0ZGlvLWNvbW1vbi9wZXJyb3IuYyAocGVycm9yKTogSWYgc3RkZXJyIGlzIHdpZGUtb3JpZW50ZWQsIHVzZQoJZndwcmludGYgaW5zdGVhZCBvZiBmcHJpbnRmLgoKMjAwMC0xMi0wNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL2FscGhhL2ZwdS9iaXRzL21hdGhkZWYuaDogUmVtb3ZlIEZMVF9FVkFMX01FVEhPRCBhbmQKCURFQ0lNQUxfRElHIGRlZmluaXRpb25zLgoJKiBzeXNkZXBzL2FybS9mcHUvYml0cy9tYXRoZGVmLmg6IExpa2V3aXNlCgkqIHN5c2RlcHMvZ2VuZXJpYy9iaXRzL21hdGhkZWYuaDogTGlrZXdpc2UKCSogc3lzZGVwcy9pMzg2L2ZwdS9iaXRzL21hdGhkZWYuaDogTGlrZXdpc2UKCSogc3lzZGVwcy9pYTY0L2ZwdS9iaXRzL21hdGhkZWYuaDogTGlrZXdpc2UKCSogc3lzZGVwcy9tNjhrL2ZwdS9iaXRzL21hdGhkZWYuaDogTGlrZXdpc2UKCSogc3lzZGVwcy9wb3dlcnBjL2ZwdS9iaXRzL21hdGhkZWYuaDogTGlrZXdpc2UKCSogc3lzZGVwcy9zcGFyYy9mcHUvYml0cy9tYXRoZGVmLmg6IExpa2V3aXNlCgkqIHN5c2RlcHMvc2gvc2g0L2ZwdS9iaXRzL21hdGhkZWYuaDogTGlrZXdpc2UKCjIwMDAtMTItMDMgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbWF0aC90ZXN0LWZlbnYuYyAobWFpbik6IFVzZSByZXR1cm4gaW5zdGVhZCBvZiBleGl0IHRvIGF2b2lkIHdhcm5pbmcuCgoJKiBtYXRoL2F0ZXN0LWV4cC5jOiBNYXJrIGxvY2FsIGZ1bmN0aW9ucyBhcyBzdGF0aWMgdG8gYXZvaWQgd2FybmluZ3MuCgkqIG1hdGgvYXRlc3QtZXhwMi5jOiBMaWtld2lzZS4KCSogbWF0aC9hdGVzdC1zaW5jb3MuYzogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL2kzODYvZnB1L2JpdHMvbWF0aGRlZi5oIChERUNJTUFMX0RJRyk6IENvcnJlY3QgdmFsdWUuCglSZXBvcnRlZCBieSBGcmVkIEouIFR5ZGVtYW4gPHR5ZGVtYW5AdHlib3IuY29tPi4KCgkqIHN5c2RlcHMvaTM4Ni9mcHUvc19uZXh0YWZ0ZXJsLmMgKF9fbmV4dGFmdGVybCk6IEhvcGVmdWxseSBmaXgKCXRoZSBoYW5kbGluZyBvZiBkZW5vcm1hbGl6ZWQgbnVtYmVycy4KCgkqIG1hdGgvdGVzdC1taXNjLmMgKG1haW4pOiBUZXN0IGZvciBmcGNsYXNzaWZ5IGFuZCBwc2V1ZG8gZGVub3JtYWwKCW51bWJlcnMgb24geDg2LgoJKiBzeXNkZXBzL2kzODYvZnB1L2ZwY2xhc3NpZnlsLmM6IE5ldyBmaWxlLgoKCSogc3lzZGVwcy9pMzg2L2xkYmwybXBuLmMgKF9fbXBuX2V4dHJhY3RfbG9uZ19kb3VibGUpOiBIYW5kbGUgdGhlCglwc2V1ZG8gZGVub3JtYWwgcmVwcmVzZW50YXRpb24gb2YgTERCTF9NSU4uCgoJKiBpY29udmRhdGEvU0pJUy5pcnJldmVyc2libGU6IFJlbW92ZSB1bm5lY2Vzc2FyeSBlbnRyaWVzLgoJKiBpY29udmRhdGEvRVVDLUpQLmlycmV2ZXJzaWJsZTogUmVtb3ZlIHVubmVjZXNzYXJ5IGVudHJpZXMuCgoJKiBpY29udmRhdGEvc2ppcy5jOiBFbmFibGUgcm91bmQtdHJpcCBtYXBwaW5nIG9mIGJhY2tzbGFzaCBhbmQgdGlsZGUuCgkqIGljb252ZGF0YS9qaXMwMjA4LmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvamlzMDIxMi5jOiBMaWtld2lzZS4KCVBhdGNoIGJ5IFNoaW55YSBIYW5hdGFrYSA8aGFuYXRha2FAYWJ5c3MucmltLm9yLmpwPi4KCgkqIG1hdGgvdGVzdC1taXNjLmMgKG1haW4pOiBNb3JlIHRlc3RzIGZvciBmcmV4cCBhbmQgc29tZSBmb3IKCWZwY2xhc3NpZnkgYW5kIGlzbm9ybWFsLgoKCSogc3lzZGVwcy9pZWVlNzU0L2ZsdC0zMi9zX2ZwY2xhc3NpZnlmLmMgKF9fZnBjbGFzc2lmeWYpOiBDb3JyZWN0Cgl0ZXN0IGZvciBzdWJub3JtYWwuCglSZXBvcnRlZCBieSBGcmVkIEouIFR5ZGVtYW4gPHR5ZGVtYW5AdHlib3IuY29tPi4KCgkqIG1hdGgvdGVzdC1taXNjLmMgKG1haW4pOiBBZGQgdGVzdHMgZm9yIGZyZXhwLgoJUmVwb3J0ZWQgYnkgRnJlZCBKLiBUeWRlbWFuIDx0eWRlbWFuQHR5Ym9yLmNvbT4uCgkqIHN5c2RlcHMvaTM4Ni9mcHUvc19mcmV4cGwuUzogRG9uJ3Qgb3ZlcmZsb3cgZHVyaW5nIHRoZSBjb21wdXRhdGlvbi4KCjIwMDAtMTItMDIgIEguSi4gTHUgIDxoamxAZ251Lm9yZz4KCgkqIGxvY2FsZS9sYy10aW1lLmMgKF9ubF9pbml0X2VyYV9lbnRyaWVzKTogUGFzcyBMJ1wwJyBpbnN0ZWFkIG9mCgknXDAnIHRvIHdjc2Noci4KCjIwMDAtMTItMDIgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9pMzg2L2ZwdS9zX2ZyZXhwLlM6IEFkZCBtaXNzaW5nIGZ3YWl0LgoJKiBzeXNkZXBzL2kzODYvZnB1L3NfZnJleHBmLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2kzODYvZnB1L3NfZnJleHBsLlM6IExpa2V3aXNlLgoKCSogc3lzZGVwcy9nZW5lcmljL2dsb2IuYzogQWRqdXN0IHR5cGVzIG9mIHNldmVyYWwgdmFyaWFibGVzIHRvCglhdm9pZCB3YXJuaW5ncy4KCjIwMDAtMTItMDEgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2htX29wZW4uYzogUmVtb3ZlIGluY29ycmVjdCBjb21tZW50LgoKMjAwMC0xMS0zMCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAZnJvYi5jb20+CgoJKiBodXJkL2h1cmQvaW9jdGwuaCAoX0hVUkRfSEFORExFX0lPQ1RMU18xKTogTmV3IG1hY3JvLgoJKF9IVVJEX0hBTkRMRV9JT0NUTFMsIF9IVVJEX0hBTkRMRV9JT0NUTCk6IFJlZGVmaW5lIHVzaW5nIGl0LCBzbyBhcyB0bwoJYWxsb3cgbXVsdGlwbGUgaW5zdGFuY2VzIHVzaW5nIHRoZSBzYW1lIGZ1bmN0aW9uIG5hbWUgaW4gb25lIGZpbGUuCgoyMDAwLTEyLTAxICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5pbjogQ29ycmVjdCB0ZXN0IGZvciBwc2VydmVyIENWUyBhY2Nlc3MuCgoyMDAwLTExLTI4ICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBsaWJpby9saWJpby5oOiBSZW1vdmUgZXh0cmEgIiNpZiAuLi4gI2VuZGlmIi4KCjIwMDAtMTEtMjkgIEguSi4gTHUgIDxoamxAZ251Lm9yZz4KCgkqIHN0ZGlvLWNvbW1vbi92ZnNjYW5mLmMgKE9SSUVOVCk6IFN3YXAgdGhlIENPTVBJTEVfV1NDQU5GIGNhc2UuCgoyMDAwLTEyLTAxICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBuc3MvZ2V0WFhieVlZX3IuYzogRml4IHZlcmlvbmVkIHN5bWJvbCBoYW5kbGluZy4KCSogbnNzL2dldFhYZW50X3IuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvY2hvd24uYzogTGlrZXdpc2UuCgoyMDAwLTExLTMwICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBzY3JpcHRzL2FiaS12ZXJzaW9ucy5hd2sgKG9sZGVzdF9hYmkpOiBOZXcgdmFyaWFibGUuCglIYW5kbGUgdGhlIG9sZGVzdCBBQkkgc3VwcG9ydGVkLgoKCSogTWFrZXJ1bGVzICgkKGNvbW1vbi1vYmpwZngpYWJpLXZlcnNpb25zLmgpOiBTZXQgb2xkZXN0X2FiaQoJZm9yIHNjcmlwdHMvYWJpLXZlcnNpb25zLmF3ay4KCgkqIGNvbmZpZ3VyZS5pbjogQWRkIC0td2l0aC1vbGRlc3QtYWJpPUFCSS4KCSogY29uZmlndXJlOiBSZWJ1aWxkLgoKCSogY29uZmlnLm1ha2UuaW4gKG9sZGVzdC1hYmkpOiBOZXcuCgoJKiBjb25maWcuaC5pbiAoR0xJQkNfT0xERVNUX0FCSSk6IE5ldy4KCgkqIGNzdS92ZXJzaW9uLmMgKGJhbm5lcik6IFN1cHBvcnQgR0xJQkNfT0xERVNUX0FCSS4KCjIwMDAtMTEtMzAgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogbG9jYWxlL3NldGxvY2FsZS5jIChzZXRuYW1lKTogRnJlZSBmb3IgYWxsIGNhdGVnb3JpZXMsIG5vdCBqdXN0CglMQ19BTEwuCgkoc2V0bG9jYWxlKTogU3RvcmUgYSBjb3B5IG9mIHN0cmluZyBwYXNzZWQgYnkgdXNlciwgbm90IHRoZSBzdHJpbmcKCWl0c2VsZi4KCjIwMDAtMTEtMzAgIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQGZyb2IuY29tPgoKCSogc3lzZGVwcy9tYWNoL2h1cmQvZGVmcy5jIChpbml0X3N0ZGlvKTogUHV0IHRoaXMgb24gX19saWJjX3N1YmluaXQKCXJhdGhlciB0aGFuIF9odXJkX2ZkX3N1YmluaXQsIHNvIGl0IGhhcHBlbnMgYWZ0ZXIgaXQncyBzYWZlIHRvIHVzZQoJbGliYyBmYWNpbGl0aWVzIGxpa2UgbWFsbG9jLgoKMjAwMC0xMS0yOCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvZ2V0ZGVudHMuYzogQWRkIF9zeXNjYWxsX2dldGRlbnRzNjQKCWRlY2xhcmF0aW9uLCBhZGp1c3QgZGVjbGFyYXRpb24gb2YgX19zeXNjYWxsX2dldGRlbnRzIHRvIG1hdGNoCglrZXJuZWwuCgoyMDAwLTExLTI5ICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBzeXNkZXBzL2dlbmVyaWMvcmVhZGVsZmxpYi5jIChjaGVja19wdHIpOiBVbmRlZmluZSBpdCBmaXJzdC4KCjIwMDAtMTEtMjkgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2hwcGEvYnJrLmMgKF9fYnJrKTogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZS4KCjIwMDAtMTEtMjggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogZGxmY24vZGVmYXVsdG1vZDEuYzogQWRkIHByb3RvdHlwZXMgdG8gYXZvaWQgd2FybmluZ3MuCgkqIGRsZmNuL2RlZmF1bHRtb2QyLmM6IExpa2V3aXNlLgoJKiBkbGZjbi9kbG9wZW4uYzogTGlrZXdpc2UuCgkqIGRsZmNuL2Rsb3Blbm9sZC5jOiBMaWtld2lzZS4KCSogZGxmY24vZmFpbHRlc3Rtb2QuYzogTGlrZXdpc2UuCgkqIGRsZmNuL2dscmVmbGliMS5jOiBMaWtld2lzZS4KCSogZGxmY24vZ2xyZWZsaWIyLmM6IExpa2V3aXNlLgoJKiBkbGZjbi9ldmFsLmM6IExpa2V3aXNlLiAgQWRkIGF0dHJpYnV0ZXMuCgoJKiBjdHlwZS9jdHlwZS1leHRuLmM6IERlZmluZSBpc2JsYW5rIGFuZCBub3QgX19pc2JsYW5rLgoKCSogdGltZS9zdHJmdGltZS5jOiBBZGQgY29uc3Qgd2hlcmUgbmVjZXNzYXJ5IHRvIGF2b2lkIHdhcm5pbmdzLgoJKiB0aW1lL3N0cnB0aW1lLmMgKHN0cnB0aW1lX2ludGVybmFsKTogQWRkIGNhc3RzIHRvIGF2b2lkIHdhcm5pbmdzLgoKMjAwMC0xMS0yMiAgUGF1bCBFZ2dlcnQJIDxlZ2dlcnRAdHdpbnN1bi5jb20+CgoJKiB0aW1lL3N0cmZ0aW1lLmMgKG15X3N0cmZ0aW1lKTogRG8gbm90IGludm9rZSBtYnJsZW4gd2l0aCBhCglzaXplIG9mIChzaXplX3QpIC0xOyBpdCdzIG5vdCBwb3J0YWJsZS4KCjIwMDAtMTEtMjggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9pMzg2L2ZwdS9saWJtLXRlc3QtdWxwczogQWRqdXN0IHNvbWUgdmFsdWVzIGZvciB0aGUKCWNyYXBweSBpNDg2IEZQVS4KCVJlcG9ydGVkIGJ5IE1pY2hhZWwgRGV1dHNjaG1hbm4gPG1pY2hhZWxAdGFsYW1hc2NhLm9jaXMubmV0Pi4KCjIwMDAtMTEtMTQgIEplcyBTb3JlbnNlbiAgPGplc0BsaW51eGNhcmUuY29tPgoKCSogc3lzZGVwcy9pYTY0L19tY291bnQuUzogQ2FsbCBfX21jb3VudCBpbnN0ZWFkIG9mIF9fbWNvdW50X2ludGVybmFsLgoKCSogc3lzZGVwcy9pYTY0L01ha2VmaWxlOiBDb21waWxlIF9tY291bnQuUyBpbiBzdWJkaXIgZ21vbiBhcwoJX21jb3VudCBpcyByZXF1aXJlZCBieSBwcm9maWxlZCBiaW5hcmllcy4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2lhNjQvbWFjaGluZS1nbW9uLmg6IE1vdmVkIHRvLi4uCgkqIHN5c2RlcHMvaWE2NC9tYWNoaW5lLWdtb24uaDogLi4uaGVyZS4KCjIwMDAtMTEtMjggIE1hc2FoaWRlIFdhc2hpemF3YQk8d2FzaGlAanAuaWJtLmNvbT4KCgkqIGljb252ZGF0YS9NYWtlZmlsZSAobW9kdWxlcyk6IEFkZCBJQk05MjIsIElCTTExMjQsIGFuZCBJQk0xMTI5LgoJKGRpc3RyaWJ1dGUpOiBBZGQgaWJtOTIyLmMsIGlibTExMjQuYywgaWJtMTEyOS5jLCBpYm05MjIuaCwgaWJtMTEyNC5oLAoJYW5kIGlibTExMjkuaC4KCSogaWNvbnZkYXRhL2djb252LW1vZHVsZXM6IEFkZCBlbnRyaWVzIGZvciBJQk05MjIsIElCTTExMjQsIGFuZAoJSUJNMTEyOS4KCSogaWNvbnZkYXRhL2libTkyMi5jOiBOZXcgZmlsZS4KCSogaWNvbnZkYXRhL2libTkyMi5oOiBOZXcgZmlsZS4KCSogaWNvbnZkYXRhL2libTExMjQuYzogTmV3IGZpbGUuCgkqIGljb252ZGF0YS9pYm0xMTI0Lmg6IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvaWJtMTEyOS5jOiBOZXcgZmlsZS4KCSogaWNvbnZkYXRhL2libTExMjkuaDogTmV3IGZpbGUuCgkqIGljb252ZGF0YS90ZXN0ZGF0YS9JQk05MjI6IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvdGVzdGRhdGEvSUJNOTIyLi5VVEY4OiBOZXcgZmlsZS4KCSogaWNvbnZkYXRhL3Rlc3RkYXRhL0lCTTExMjQ6IE5ldyBmaWxlLgoJKiBpY29udmRhdGEvdGVzdGRhdGEvSUJNMTEyNC4uVVRGODogTmV3IGZpbGUuCgkqIGljb252ZGF0YS90ZXN0ZGF0YS9JQk0xMTI5OiBOZXcgZmlsZS4KCSogaWNvbnZkYXRhL3Rlc3RkYXRhL0lCTTExMjkuLlVURjg6IE5ldyBmaWxlLgoKMjAwMC0xMS0yOCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBjYXRnZXRzL2dlbmNhdC5jIChub3JtYWxpemVfbGluZSk6IFRha2UgZXh0cmEgcGFyYW1ldGVyIHdpdGggZXNjYXBlCgljaGFyYWN0ZXIuICBDaGFuZ2UgY2FsbGVycy4KCShvcGVuX2NvbnZlcnNpb24pOiBEZXRlcm1pbmUgbWFwcGluZyBvZiAweDVjIGFzIHdjaGFyX3QgdmFsdWUuCgkqIGNhdGdldHMvTWFrZWZpbGU6IEFkZCBydWxlcyB0byBidWlsZCBhbmQgcnVuIHRlc3QtZ2VuY2F0LgoJKiBjYXRnZXRzL3NhbXBsZS5TSklTOiBOZXcgZmlsZS4KCSogY2F0Z2V0cy90ZXN0LWdlbmNhdC5jOiBOZXcgZmlsZS4KCSogY2F0Z2V0cy90ZXN0LWdlbmNhdC5zaDogTmV3IGZpbGUuCglSZXBvcnQgYW5kIHRlc3QgY2FzZSBieSBTaGlueWEgSGFuYXRha2EgPGhhbmF0YWthQGFieXNzLnJpbS5vci5qcD4uCgoyMDAwLTExLTI4ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL2JpdHMvc29ja2V0Lmg6IFN5bmNoIHdpdGggZ2VuZXJpYwoJTGludXggdmVyc2lvbi4KCjIwMDAtMTEtMjggIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvYml0cy9zb2NrZXQuaDogRml4IGxhc3QgcGF0Y2guCgoyMDAwLTExLTI4ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL3NvY2tldC5oIChzdHJ1Y3QgY21zZ2hkcik6IFVzZQoJX19mbGV4YXJyLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL2JpdHMvc29ja2V0LmggKHN0cnVjdCBjbXNnaGRyKToKCUxpa2V3aXNlLgoKMjAwMC0xMS0yNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBtaXNjL2dldHVzZXJzaGVsbC5jOiBNYWtlIHN0cmluZ3MgaW4gb2tzaGVsbHMgYXJyYXkgY29uc3QuCgkqIG1pc2MvcmVnZXhwLmM6IEFkZCBjb25zdCB0byBjYXN0IHRvIGF2b2lkIHdhcm5pbmdzLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9sbHNlZWsuYzogQWRkIHByb3RvdHlwZSBmb3IgX19sbHNlZWsuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYvc2V0cmVzdWlkLmM6IEFkZCBwcm90b3R5cGUgZm9yCglfX3NldHJlc3VpZC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9zZXRyZXNnaWQuYzogQWRkIHByb3RvdHlwZSBmb3IKCXNldHJlc2dpZC4KCSogbWlzYy9lcnJvci5jOiBBZGQgcHJvdG90eXBlcyBmb3IgX19lcnJvciBhbmQgX19lcnJvcl9hdF9saW5lLgoJKiBtaXNjL21udGVudF9yLmMgKF9fZ2V0bW50ZW50X3IpOiBBZGQgYnJlYWsgYXQgZW5kIG9mIHN3aXRjaAoJc3RhdGVtZW50IHRvIGF2b2lkIHdhcm5pbmcuCgkqIHRlc3Qtc2tlbGV0b24uYzogTWFyayB0aW1lb3V0X2hhbmRsZXIgd2l0aCBub3JldHVybi4KCSogaWNvbnYvc2tlbGV0b24uYyAoZ2V0MTZ1KTogQWRkIGNvbnN0IHRvIGNhc3QuCgkoZ2V0MzJ1KTogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9nYjE4MDMwLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvLTIwMjItY24tZXh0LmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvYW5zaV94My4xMTAuYzogQWRkIGNhc3QgdG8gYXZvaWQgd2FybmluZy4KCSogaWNvbnZkYXRhL2JpZzUuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9iaWc1aGtzY3MuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS9pc29fNjkzNy5jOiBMaWtld2lzZS4KCSogaWNvbnZkYXRhL2lzb182OTM3LTIuYzogTGlrZXdpc2UuCgkqIGljb252ZGF0YS90LjYxLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvNjQ2LmM6IEFkZCBwcm90b3R5cGVzIGZvciBnY29udl9pbml0IGFuZCBnY29udl9lbnYuCgkqIGljb252ZGF0YS91bmljb2RlLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvdXRmLTE2LmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvY25zMTE2NDMuaCAodWNzNF90b19jbnMxMTY0Myk6IERlZmluZSBuZWVkZWQgYXMgc2l6ZV90LgoJKiBpY29udi9nY29udl90cmFucy5jIChfX2djb252X3RyYW5zbGl0X2ZpbmQpOiBBdm9pZCBvbmUgd2FybmluZwoJd2l0aCBsaXR0bGUgY29kZSBzaHVmZmxpbmcuCgoJKiBzeXNkZXBzL3Bvd2VycGMvTWFrZWZpbGUgKENGTEFHUy1pbml0ZmluaS5zKTogQWRkIC1PMSB0byBhdm9pZAoJdGhlIHByb2JsZW1zIGludHJvZHVjZWQgd2hlbiB0aGUgdXNlciBzZWxlY3RzIC1PMy4KCgkqIGljb252L2djb252LmggKF9fZ2NvbnZfaW5mbyk6IERlZmluZSBfX2RhdGEgZWxlbWVudCB1c2luZyBfX2ZsZXhhcnIuCgkqIG1pc2Mvc3lzL2NkZWZzLmg6IERlZmluZSBfX2ZsZXhhcnIuCglQcm9wb3NlZCBieSBKb3NlcGggUy4gTXllcnMgPGpzbTI4QGNhbS5hYy51az4uCgoJKiBpY29udmRhdGEvaXNvLTIwMjItanAuYzogQWRkIHByb3RvdHlwZXMgdG8gYXZvaWQgd2FybmluZ3MuCgkqIGljb252L3NrZWxldG9uLmM6IExpa2V3aXNlLgoJKiBpY29udmRhdGEvaXNvODg1OS0xLmMgKEJPRFkgdG8gODg1OS0xKTogQWRkIGNvbnN0IHRvIGNhc3QuCgkqIGljb252L2xvb3AuYyAoZ2V0MTYpOiBBZGQgY29uc3QgdG8gY2FzdC4KCShnZXQzMik6IExpa2V3aXNlLgoKMjAwMC0xMS0yNyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogbG9naW4vcHJvZ3JhbXMvcHRfY2hvd24uYyAoZG9fcHRfY2hvd24pOiBNYXJrIGZ1bmN0aW9uIGFzIHN0YXRpYwoJdG8gYXZvaWQgd2FybmluZy4KCSogbG9naW4vcHJvZ3JhbXMvdXRtcGR1bXAuYyAocHJpbnRfZW50cnkpOiBMaWtld2lzZS4KCjIwMDAtMTEtMjUgIE1hY2llaiBXLiBSb3p5Y2tpICA8bWFjcm9AZHMyLnBnLmdkYS5wbD4KCgkqIHN5c2RlcHMvbWlwcy9fX2xvbmdqbXAuYyAoX19sb25nam1wKTogUmVzdG9yZSBTUCBhbmQgRlAgbGFzdCBhbmQKCWluIGEgc2luZ2xlIGFzbSBhcyB0aGV5IG1heSBiZSB1c2VkIHRvIGFjY2VzcyBvdGhlciBzdG9yZWQKCXJlZ2lzdGVycy4KCSogc3lzZGVwcy9taXBzL21pcHM2NC9fX2xvbmdqbXAuYyAoX19sb25nam1wKTogTGlrZXdpc2UuCgoyMDAwLTExLTI3ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBydC90c3QtYWlvLmM6IE1hcmsgdGVzdCBmdW5jdGlvbnMgYXMgc3RhdGljIHRvIGF2b2lkIHdhcm5pbmdzLgoJKiBydC90c3QtYWlvNjQuYzogTGlrZXdpc2UuCgoyMDAwLTExLTI3ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGNhdGdldHMvTWFrZWZpbGUgKHRlc3QxLmNhdCk6IFNldCBMQ19BTEwsIExPQ1BBVEgsIGFuZCBHQ09OVl9QQVRICglmb3IgZ2VuY2F0IHJ1bi4KCShsaWJjLmNhdCk6IExpa2V3aXNlLgoJKiBjYXRnZXRzL2dlbmNhdC5jOiBJbXBsZW1lbnQgaGFuZGxpbmcgb2YgbWVzc2FnZSBjYXRhbG9ncyBlbmNvZGVkCgl3aXRoIHN0YXRlZnVsIGNoYXJhY3RlciBzZXRzLgoJQmFzZWQgb24gYSBwYXRjaCBieSBTaGlueWEgSGFuYXRha2EgPGhhbmF0YWthQGFieXNzLnJpbS5vci5qcD4uCgoyMDAwLTExLTI2ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9vcGVuZGlyLmMgKF9fb3BlbmRpcik6IEFkZCBjYXN0IHRvIGF2b2lkIHdhcm5pbmcuCgoJKiBpbmV0L2dldG5hbWVpbmZvLmM6IEFkanVzdCBjYXN0cyB0byBhdm9pZCB3YXJuaW5ncy4KCSogaW5ldC9yY21kLmM6IExpa2V3aXNlLgoJKiBpbmV0L3J1c2VycGFzcy5jOiBMaWtld2lzZS4KCSogaW5ldC9uZXRpbmV0L2luLmggKElONl9JU19BRERSX1VOU1BFQ0lGSUVELCBJTjZfSVNfQUREUl9MT09QQkFDSywKCUlONl9JU19BRERSX01VTFRJQ0FTVCwgSU42X0lTX0FERFJfTElOS0xPQ0FMLCBJTjZfSVNfQUREUl9TSVRFTE9DQUwsCglJTjZfSVNfQUREUl9WNE1BUFBFRCwgSU42X0lTX0FERFJfVjRDT01QQVQsIElONl9BUkVfQUREUl9FUVVBTCwKCUlONl9JU19BRERSX01DX05PREVMT0NBTCwgSU42X0lTX0FERFJfTUNfTElOS0xPQ0FMLAoJSU42X0lTX0FERFJfTUNfU0lURUxPQ0FMLCBJTjZfSVNfQUREUl9NQ19PUkdMT0NBTCwKCUlONl9JU19BRERSX01DX0dMT0JBTCk6IFByZXNlcnZlIGNvbnN0IGluIGNhc3QuCgkqIGluY2x1ZGUvYWxpYXNlcy5oOiBBZGQgcHJvdG90eXBlcyBmb3IgaW50ZXJuYWwgX19nZXRhbGlhcyogZnVuY3Rpb25zLgoJKiBpbmNsdWRlL25ldGRiLmg6IEFkZCBwcm90b3R5cGVzIGZvciBfX29sZF9nZXRob3N0ZW50X3IsCglfX29sZF9nZXRob3N0YnlhZGRyX3IsIF9fb2xkX2dldGhvc3RieW5hbWVfciwgX19vbGRfZ2V0aG9zdGJ5bmFtZTJfciwKCV9fb2xkX2dldG5ldGVudF9yLCBfX29sZF9nZXRuZXRieWFkZHJfciwgX19vbGRfZ2V0bmV0YnluYW1lX3IsCglfX29sZF9nZXRzZXJ2ZW50X3IsIF9fb2xkX2dldHNlcnZieW5hbWVfciwgX19vbGRfZ2V0c2VydmJ5cG9ydF9yLAoJX19vbGRfZ2V0cHJvdG9lbnRfciwgX19vbGRfZ2V0cHJvdG9ieW5hbWVfciwgX19vbGRfZ2V0cHJvdG9ieW51bWJlcl9yLgoJKiBpbmNsdWRlL3JwYy9uZXRkYi5oOiBBZGQgcHJvdG90eXBlcyBmb3IgX19vbGRfZ2V0cnBjYnluYW1lX3IsCglfX29sZF9nZXRycGNieW51bWJlcl9yLCBfX29sZF9nZXRycGNlbnRfci4KCgkqIGluY2x1ZGUvcnBjL25ldGRiLmg6IEFkZCBfX2dldHJwY2J5bmFtZV9yLCBfX2dldHJwY2J5bnVtYmVyX3IsCglfX2dldHJwY2VudF9yIHByb3RvdHlwZXMuCgoyMDAwLTExLTI1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN0cmluZy9zdHJjb2xsLmM6IEFkZCBjYXN0cyB0byBhdm9pZCB3YXJuaW5ncy4KCSogc3RyaW5nL3N0cm5sZW4uYzogTGlrZXdpc2UuCgkqIHN0cmluZy9zdHJ4ZnJtLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvX3N0cmVycm9yLmM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL2dlbmVyaWMvbWVtcmNoci5jOiBMaWtld2lzZS4KCSogc3lzZGVwcy9nZW5lcmljL3N0cmNhc2VzdHIuYzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvZ2VuZXJpYy9zdHJzdHIuYzogTGlrZXdpc2UuCgoJKiBsb2NhbGUvd2VpZ2h0LmggKGZpbmRpZHgpOiBBZGQgY29uc3QgdG8gY2FzdCB0byBhdm9pZCB3YXJuaW5nLgoKCSogZWxmL2xvYWRmYWlsLmM6IExpdHRsZSBjb3NtZXRpYyBjaGFuZ2VzIHRvIGF2b2lkIHdhcm5pbmdzLgoJKiBlbGYvbG9hZHRlc3QuYzogTGlrZXdpc2UuCgkqIGVsZi9tdWx0aWxvYWQuYzogTGlrZXdpc2UuCgkqIGVsZi9uZXh0LmM6IExpa2V3aXNlLgoJKiBlbGYvbm9kZWxldGUuYzogTGlrZXdpc2UuCgkqIGVsZi9ub2xvYWQuYzogTGlrZXdpc2UuCgkqIGVsZi9vcmRlci5jOiBMaWtld2lzZS4KCSogZWxmL29yaWd0ZXN0LmM6IExpa2V3aXNlLgoJKiBlbGYvcHJlbG9hZHRlc3QuYzogTGlrZXdpc2UuCgkqIGVsZi9yZXN0ZXN0MS5jOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvaTM4Ni9pNDg2L2JpdHMvc3RyaW5nLmggKF9fc3RybmNhdF9nKSBbaTY4Nl06IEZvdXJ0aAoJcGFyYW1ldGVyIG9mIGFzbSBtdXN0IGJlIGluICVlY3guCgoJKiBzdHJpbmcvdGVzdGVyLmM6IE1hcmsgdGVzdCBmdW5jdGlvbnMgYXMgc3RhdGljIHRvIGF2b2lkIHdhcm5pbmdzLgoKCSogaWNvbnYvZ2NvbnZfY29uZi5jIChyZWFkX2NvbmZfZmlsZSk6IE1ha2UgbW9kX2NvdW50ZXIgc3RhdGljIHRvCglwcmVzZXJ2ZSB2YWx1ZSBvdmVyIGRpZmZlcmVudCBnY29udi1tb2R1bGVzIGZpbGVzLgoKMjAwMC0xMS0yNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBsb2NhbGUvZmluZGxvY2FsZS5jOiBBZGQgY2FzdHMgdG8gYXZvaWQgd2FybmluZ3MuCgkqIGxvY2FsZS9sb2NhbGVpbmZvLmggKExJTUFHSUMpOiBBZGQgY2FzdCB0byBhdm9pZCB3YXJuaW5ncy4KCSogbWlzYy9lZmdjdnRfci5jIChmY3Z0X3IpOiBVc2Ugc3NpemVfdCBpbnN0ZWFkIG9mIGludCBhbmQgYWRkIGNhc3QKCXRvIGF2b2lkIHdhcm5pbmdzLgoJKiBtaXNjL3RzZWFyY2guYyAoY29uc3Rfbm9kZSk6IE5ldyB0eXBlLgoJKHRyZWN1cnNlKTogQ29ycmVjdCBjYXN0cyB0byBhdm9pZCB3YXJuaW5ncy4KCShfX3R3YWxrKTogTGlrZXdpc2UuCgkqIHN0ZGxpYi90c3QtbGltaXRzLmM6IEFkZCB6IG1vZGlmaWVyIHRvIGZvcm1hdHMgZm9yIFdPUkRfQklUIGFuZAoJTE9OR19CSVQuCgoJKiBkZWJ1Zy9iYWNrdHJhY2UtdHN0LmMgKGNvbXBhcmUpOiBBZGQgY2FzdHMgdG8gYXZvaWQgd2FybmluZ3MuCgoJKiB0ZXN0LXNrZWxldG9uLmM6IE1hcmsgbG9jYWwgZnVuY3Rpb25zIGFzIHN0YXRpYyB0byBhdm9pZCB3YXJuaW5ncy4KCjIwMDAtMTEtMjMgIEguSi4gTHUgIDxoamxAZ251Lm9yZz4KCgkqIHJ0L3RzdC1haW82LmMgKGRvX3Rlc3QpOiBVc2UgcGlwZSBpbnN0ZWFkIG9mIFNURElOX0ZJTEVOTyB0bwoJc3VwcG9ydCB0aGUgYmFja2dyb3VuZCBqb2IuCglGaXggYSB0eXBvLgoKMjAwMC0xMS0yNCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpY29udi9nY29udl9jb25mLmMgKGluc2VydF9tb2R1bGUpOiBSZXBsYWNlIG9sZCBlbnRyeSBpZiBuZXcgb25lCgloYXMgc2FtZSBuYW1lcyBidXQgbG93ZXIgY29zdC4KCjIwMDAtMTEtMjMgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogc3lzZGVwcy9zcGFyYy9zcGFyYzMyL2RsLW1hY2hpbmUuaDogSWZkZWYgb3V0IGhhbmRsaW5nIGZvciByZWxvY3MKCXdoaWNoIG5ldmVyIG9jY3VyIGR1cmluZyBib290c3RyYXAuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9kbC1tYWNoaW5lLmg6IExpa2V3aXNlLgoKMjAwMC0xMS0yMyAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogbnNzL25zc19maWxlcy9maWxlcy1ob3N0cy5jOiBSZW1vdmUgZ2V0aXBub2RlYnluYW1lLgoKCSogbnNzL1ZlcnNpb25zOiBSZW1vdmUgX25zc19maWxlc19nZXRpcG5vZGVieW5hbWVfci4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L1ZlcnNpb25zOiBGaXggdHlwbyBpbiBsYXN0IHBhdGNoLgoKMjAwMC0xMS0xOCAgTWFydGluIEJ1Y2hob2x6ICA8bWFydGluQHhlbWFjcy5vcmc+CgoJKiBjc3UvZ21vbi1zdGFydC5jIChfX2dtb25fc3RhcnRfXyk6IEF2b2lkIG92ZXItY2xldmVyIHRyaWNrIGBpZgoJKGNhbGxlZCsrKSByZXR1cm47JwoKMjAwMC0xMS0yMSAgQWxhbiBNb2RyYQk8YWxhbkBsaW51eGNhcmUuY29tLmF1PgoKCSogc3lzZGVwcy9nZW5lcmljL2JzZC1fc2V0am1wLmMgKHNldGptcCk6IFJlbmFtZSB0byBfc2V0am1wLgoKCSogY3N1L2FiaS1ub3RlLlM6IENvcnJlY3QgY29tbWVudCBmb3Igb3BlcmF0aW5nIHN5c3RlbSBudW1iZXIuCgoyMDAwLTExLTIyICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIFZlcnNpb25zLmRlZjogQWRkIEdMSUJDXzIuMi4xIGZvciBnbGliYy4KCjIwMDAtMTEtMjIgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXNjYWxscy5saXN0OiBBZGQgcGl2b3Rfcm9vdC4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvVmVyc2lvbnM6IEFkZCBwaXZvdF9yb290IGF0IEdMSUJDXzIuMi4xLgoKMjAwMC0xMS0yMiAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBydC9haW9fc3VzcGVuZC5jIChhaW9fc3VzcGVuZCk6IENvbnZlcnQgdGltZW91dCB2YWx1ZSB0bwoJYWJzb2x1dGUgdGltZSBmb3IgcHRocmVhZF9jb25kX3RpbWVkd2FpdCBjYWxsLgoJUmVwb3J0ZWQgYnkgTGF3cmVuY2UgQ2hlbiA8bGNoZW5Ab3BlbnRleHQuY29tPiBbbGliYy8xOTMwXS4KCgkqIHJ0L01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3QtYWlvNi4KCSogcnQvdHN0LWFpbzYuYzogTmV3IGZpbGUuCgoyMDAwLTExLTIzICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL3MzOTAvYml0cy9zdHJpbmcuaCAoc3RybmNhdCk6IEZpeCBvbmUgbW9yZSB0eXBvLgoKMjAwMC0xMS0yMiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy9zMzkwL2JpdHMvc3RyaW5nLmggKHN0cm5jYXQpOiBBZGQgbWlzc2luZyBxdW90YXRpb24gbWFya3MuCgoyMDAwLTExLTIxICBNYXJ0aW4gU2Nod2lkZWZza3kJPHNjaHdpZGVmc2t5QGRlLmlibS5jb20+CgoJKiBzeXNkZXBzL3MzOTAvYml0cy9zdHJpbmcuaDogTWFrZSBzdHJuY2F0IGFsd2F5cyBhZGQgYSBcMC4KCjIwMDAtMTEtMjEgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBzeXNkZXBzL2FscGhhL3NldGptcC5TOiBSZW1vdmUgX19zZXRqbXAgZW50cnkgcG9pbnQuCgkqIHN5c2RlcHMvYXJtL3NldGptcC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9hcm0vZnB1L3NldGptcC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L3NldGptcC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9pMzg2L2VsZi9zZXRqbXAuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvczM5MC9zZXRqbXAuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvczM5MC9lbGYvc2V0am1wLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3NoL3NoMy9zZXRqbXAuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvc2gvc2g0L3NldGptcC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy9zcGFyYy9zcGFyYzMyL3NldGptcC5TOiBMaWtld2lzZS4KCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvaWE2NC9zZXRqbXAuUzogTGlrZXdpc2UuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQvc2V0am1wLlM6IExpa2V3aXNlLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9tNjhrL3NldGptcC5jOiBSZW1vdmVkLgoKMjAwMC0xMS0yMSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy9nZW5lcmljL19fbG9uZ2ptcC5jIChfX2xvbmdqbXApOiBSZW1vdmUgb2Jzb2xldGUKCU5PUkVUVVJOLCBmaXggcGFyYW1ldGVyIGxpc3QuCgoJKiBzdHJpbmcvYnVnLXN0cm5jYXQxLmMgKG1haW4pOiBGaXggdHlwby4KCVBhdGNoIGJ5IEJlcm5oYXJkIEthaW5kbCA8YmVybmhhcmQua2FpbmRsQHN1c2UuZGU+LgoKMjAwMC0xMS0yMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuaW46IEFkZCAtLWVuYWJsZS1hbGwtd2FybmluZ3MuCgkqIGNvbmZpZy5tYWtlLmluIChhbGwtd2FybmluZ3MpOiBOZXcgdmFyaWFibGUuCgkqIE1ha2Vjb25maWcgKCtnY2N3YXJuKTogRGVmaW5lIHdpdGggbWFueSBtb3JlIHdhcm5pbmdzIGlmCglhbGwtd2FybmluZ3MgaXMgeWVzLgoKMjAwMC0xMS0yMCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBpY29udmRhdGEvYnVnLWljb252Mi5jIChtYWluKTogVXNlICV6ZCBpbiBmb3JtYXQgc3RyaW5nLgoJKiBpby90ZXN0LWxmcy5jIChkb190ZXN0KTogQ2FzdCBzdGF0YnVmLnN0X3NpemUgdG8gbG9uZyBsb25nLgoJKiBtYWxsb2MvdHN0LXZhbGxvYy5jIChtYWluKTogQ2FzdCB2YWxsb2MgcmV0dXJuIHZhbHVlIHRvIGxvbmcuCgkqIG1hbGxvYy90c3Qtb2JzdGFjay5jICh2ZXJib3NlX21hbGxvYyk6IFVzZSAlemQgaW4gZm9ybWF0IHN0cmluZy4KCSogbWF0aC90ZXN0LWZwdWN3LmMgKG1haW4pOiBVc2UgJWx4IGluIGZvcm1hdCBzdHJpbmcsIGNhc3QKCWNvbnRyb2wgd29yZHMgdG8gbG9uZy4KCSogc3RkaW8tY29tbW9uL3RzdC1mbWVtb3Blbi5jIChtYWluKTogVXNlICV0ZCBpbiBmb3JtYXQgc3RyaW5ncy4KCSogc3RkbGliL3RzdC1zdHJ0b2wuYyAodGVzdHMpOiBBdm9pZCAoYm9ndXM/KSBkZWNpbWFsIGNvbnN0YW50IGlzIHNvCglsYXJnZSB0aGF0IGl0IGlzIHVuc2lnbmVkIHdhcm5pbmcuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zcGFyYy9iaXRzL3R5cGVzLmggKF9fc3NpemVfdCk6IENoYW5naW5nCglpdCB0byBsb25nIG9uIHNwYXJjNjQuCgoyMDAwLTExLTIwICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBuc2NkL25zY2QuaCAodGVybWluYXRpb25faGFuZGxlcik6IEFkZCBub3JldHVybiBhdHRyaWJ1dGUuCgkocmVjZWl2X3ByaW50X3N0YXRzKTogTGlrZXdpc2UuCgoJKiBlbGYvbGRjb25maWcuYyAocGF0aF9od2NhcCk6IENhc3QgLTEgZm9yIHByb3BlciBjb21wYXJpc29uLgoKMjAwMC0xMS0yMCAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBtYWxsb2MvdGhyZWFkLW0uaDogZ2NjIGRvZXNuJ3QgdG9sZXJhdGUgemVyby1zaXplZCB0eXBlcyBhbnltb3JlLgoKCSogY3N1L2dtb24tc3RhcnQuYzogQWx3YXlzIGhhdmUgcHJvdG90eXBlIGZvciBfX2dtb25fc3RhcnQuCgkqIGNzdS92ZXJzaW9uLmM6IEFkZCBwcm90b3R5cGVzIGZvciBfX2xpYmNfcHJpbnRfdmVyc2lvbiBhbmQKCV9fbGliY19tYWluLgoJKiBpY29udi9nY29udi5jOiBJbmNsdWRlIGdjb252X2ludC5oIGFuZCBnY29udi5oLgoJKiBpY29udi9nY29udi5oIChzdHJ1Y3QgX19nY29udl9zdGVwKTogUmVtb3ZlIGNvbnN0IGZyb20gX19mcm9tX25hbWUKCWFuZCBfX3RvX25hbWUuCgkqIGljb252L2djb252X2J1aWx0aW4uaDogQWRkIEFTQ0lJIG1vZHVsZSBkZWZpbml0aW9ucy4KCSogaWNvbnYvZ2NvbnZfY29uZi5jIChfX2djb252X3BhdGhfZWxlbSk6IFJlbW92ZSBjb25zdC4KCShhZGRfbW9kdWxlKTogQWRkIGNhc3QgdG8gYXZvaWQgd2FybmluZy4gIFJld29yayBjb25zdHJ1Y3Rpb24gb2YKCXN0cmluZ3MgZm9yIG5ldyBtb2R1bGUuCgkqIGljb252L2djb252X2RiLmMgKF9fZ2NvbnZfYWxpYXNfY29tcGFyZSk6IE1ha2UgczEgYW5kIHMyIGNvbnN0LgoJKGRlcml2YXRpb25fY29tcGFyZSk6IExpa2V3aXNlLgoJKiBpY29udi9nY29udl9kbC5jIChkb19yZWxlYXNlX3NobGliKTogUmVtb3ZlIGNvbnN0IGZyb20gbm9kZXAuCgkoX19nY29udl9yZWxlYXNlX3NobGliKTogQ2FzdCBkb19yZWxlYXNlX3NobGliIGFzIHBhcmFtZXRlciBmb3IgdHdhbGsuCgkqIGljb252L2djb252X2ludC5oIChfX2djb252X3BhdGhfZWxlbSk6IFJlbW92ZSBjb25zdC4KCShzdHJ1Y3QgZ2NvbnZfYWxpYXMpOiBSZW1vdmUgY29uc3QgZnJvbSBmcm9tbmFtZSBhbmQgdG9uYW1lLgoJKiBpY29udi9nY29udl9zaW1wbGUuYzogSW5jbHVkZSBnY29udl9idWlsdGluLmggdG8gZ2V0IHByb3RvdHlwZXMKCWZvciBsb29wIGZ1bmN0aW9ucy4KCShpbnRlcm5hbF91Y3M0X2xvb3ApOiBVc2UgY29ycmVjdCBjb25zdC1uZXNzLgoJKHVjczRfaW50ZXJuYWxfbG9vcCk6IExpa2V3aXNlLgoJKGludGVybmFsX3VjczRsZV9sb29wKTogTGlrZXdpc2UuCgkodWNzNGxlX2ludGVybmFsX2xvb3Bfc2luZ2xlKTogTGlrZXdpc2UuCgkqIGljb252L2djb252X3RyYW5zLmMgKF9fZ2NvbnZfdHJhbnNsaXRlcmF0ZSk6IE1ha2UgZnJvbV9pZHgsIGZyb21fdGJsLAoJdG9faWR4LCB0b190YmwsIHdpbmJ1Ziwgd2luYnVmZW5kIGNvbnN0LiAgQ2hhbmdlIGNhc3RzIGluCglhc3NpZ25tZW50cyBhcHByb3ByaWF0ZWx5LgoJKHN0cnVjdCBrbm93bl90cmFucyk6IFJlbW92ZSBjb25zdCBmcm9tIGZuYW1lLgoJKHRyYW5zX2NvbXBhcmUpOiBNYWtlIHMxIGFuZCBzMiBjb25zdC4KCSogaWNvbnYvbG9vcC5jIChMT09QRkMpOiBNYWtlIG91dGVuZCBwYXJhbWV0ZXIgY29uc3QuICBBZGQgY2FzdCB0bwoJYXZvaWQgd2FybmluZy4KCSogaWNvbnYvc2tlbGV0b24uYzogUmVtb3ZlIGNhc3QgaW4gY2FsbHMgb2YgbG9vcCBmdW5jdGlvbnMuCgkqIGljb252ZGF0YS9nY29udi1tb2R1bGVzOiBSZW1vdmUgVVMtQVNDSUkgZGVmaW5pdGlvbnMuCgkqIGljb252ZGF0YS9pc282NDYuYzogUmVtb3ZlIFVTX0FTQ0lJIHN1cHBvcnQuCgkqIGluY2x1ZGUvc2V0LWhvb2tzLmggKERFRklORV9IT09LKTogQWxzbyBnZW5lcmF0ZSBwcm90b3R5cGUuCgkqIGluY2x1ZGUvdW5pc3RkLmg6IEFkZCBfX2xpYmNfY2hlY2tfc3RhbmRhcmRfZmRzIHByb3RvdHlwZS4KCSogc3RyaW5nL2JpdHMvc3RyaW5nMi5oIChfX21lbXBjcHlfYXJncyk6IEFkZCBjb25zdCB0byBjYXN0cy4KCSogc3lzZGVwcy9nZW5lcmljL2luaXRmaW5pLmM6IEFkZCBwcm90b3R5cGVzIGZvciBkdW1teSwgX2luaXQsIGFuZAoJX2ZpbmkuCgkqIHN5c2RlcHMvZ2VuZXJpYy9saWJjLXN0YXJ0LmM6IEFkZCBwcm90b3R5cGUgZm9yIF9fbGliY19zdGFydF9tYWluLgoJKiBzeXNkZXBzL2kzODYvaTQ4Ni9iaXRzL3N0cmluZy5oIChzdHJjbXApOiBBZGQgY29uc3QgdG8gY2FzdHMuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2RsLW9zaW5mby5oIChkbF9mYXRhbCk6IEFkZCBjYXN0IHRvIGF2b2lkCgl3YXJuaW5nLgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pbml0LWZpcnN0LmM6IEFkZCBwcm90b3R5cGVzIGZvcgoJX19saWJjX2luaXRfZmlyc3QgYW5kIF9kbF9zdGFydC4KCSogaW50bC9kY2lnZXR0ZXh0LmMgKHRyYW5zY21wKTogTWFrZSBzMSBhbmQgczIgY29uc3QuCgkoRENJR0VUVEVYVCk6IE1ha2UgZG9tYWluZGF0YSB2YXJpYWJsZSBjb25zdC4KCSogaW50bC9sb2FkbXNnY2F0LmMgKF9ubF9sb2FkX2RvbWFpbik6IFJlYXJyYW5nZSBkb21haW4gaW5pdGlhbGl6YXRpb24KCXRvIGF2b2lkIHdhcm5pbmcuCgoyMDAwLTExLTIwICBIaXJveXVraSBNYWNoaWRhICA8bWFjaGlkYUBzbS5zb255LmNvLmpwPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvbWlwcy9jbG9uZS5TOiBGaXggY29tbWVudHMuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9taXBzL2tlcm5lbF9zdGF0LmggKGtlcm5lbF9zdGF0KTogRXhwYW5kCgl0aW1lX3QgdG8gJ2xvbmcgaW50JyBub3QsICd1bnNpZ25lZCBpbnQnLiAgVXNlICdsb25nIGludCcgZm9yCglfX3VudXNlZD8gbWVtYmVycy4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L21pcHMvYml0cy9mY250bC5oIChPX05PRk9MTE9XKTogVXNlIHNhbWUKCXZhbHVlIGRlZmluZWQgaW4gL3Vzci9pbmNsdWRlL2FzbS1taXBzL2ZjbnRsLmguCgoyMDAwLTExLTE4ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN0ZGlvLWNvbW1vbi9NYWtlZmlsZSAodGVzdHMpOiBBZGQgdGVzdC12ZnByaW50Zi4KCSh0ZXN0LXZmcHJpbnRmLUVOVik6IE5ldyB2YXJpYWJsZS4KCSogc3RkaW8tY29tbW9uL3Rlc3QtdmZwcmludGYuYzogTmV3IGZpbGUuCgoJKiB3Y3NtYnMvbWJydG93Yy5jIChfX21icnRvd2MpOiBEbyBub3Qgb25seSBmbHVzaCBpZiBpbnB1dCBpcyAnXDAnLgoKCSogd2NzbWJzL01ha2VmaWxlICh0ZXN0cyk6IEFkZCB0c3QtbWJydG93YyBhbmQgdHN0LXdjcnRvbWIuCgkodHN0LW1icnRvd2MtRU5WKTogTmV3IHZhcmlhYmxlLgoJKHRzdC13Y3J0b21iLUVOVik6IE5ldyB2YXJpYWJsZS4KCSogd2NzbWJzL3RzdC1tYnJ0b3djLmM6IE5ldyBmaWxlLgoJKiB3Y3NtYnMvdHN0LXdjcnRvbWIuYzogTmV3IGZpbGUuCgoyMDAwLTExLTE2ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBtYW51YWwvaW5zdGFsbC50ZXhpIChUb29scyBmb3IgQ29tcGlsYXRpb24pOiBVcGRhdGUKCWRvY3VtZW50YXRpb24gZm9yIEdDQyAyLjk1LjIuCgoyMDAwLTExLTE4ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvcG9zaXgvZ2V0YWRkcmluZm8uYyAoZ2FpaF9pbmV0KTogT25seSByZXR1cm4gLUVBSV9BR0FJTgoJaWYgSVB2NCBhbmQgSVB2NiByZXF1ZXN0cyB0aW1lZCBvdXQuCgoyMDAwLTExLTE4ICBBa2ltIERlbWFpbGxlICA8YWtpbUBlcGl0YS5mcj4KCgkqIG1hbGxvYy9vYnN0YWNrLmg6IEZvcm1hdHRpbmcgY2hhbmdlcy4KCShvYnN0YWNrX2dyb3csIG9ic3RhY2tfZ3JvdzApOiBEb24ndCBjYXN0IFdIRVJFIGF0IGFsbDogaXQKCXByZXZlbnRzIHR5cGUgY2hlY2tpbmcuCgkob2JzdGFja19wdHJfZ3Jvdywgb2JzdGFja19wdHJfZ3Jvd19mYXN0KTogV2hlbiBhc3NpZ25pbmcsIGRvbid0CgljYXN0IHRoZSB2YWx1ZSB0byAodm9pZCAqKTogYXNzaWduaW5nIGEgYGZvbyAqJyB0byBhIGB2b2lkIConCgl2YXJpYWJsZSBpcyB2YWxpZC4KCShvYnN0YWNrX2ludF9ncm93LCBvYnN0YWNrX2ludF9ncm93X2Zhc3QpOiBEb24ndCBjYXN0IEFJTlQgdG8gaW50LgoKMjAwMC0xMS0xNyAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBzY3JpcHRzL2NvbmZpZy5ndWVzczogVXBkYXRlIGZyb20gdXBzdHJlYW0gbWFpbnRhaW5lci4KCSogc2NyaXB0cy9jb25maWcuc3ViOiBMaWtld2lzZS4KCjIwMDAtMTEtMTYgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogbGliaW8vZnJlb3Blbi5jIChmcmVvcGVuKTogUmVzZXQgX21vZGUgYWZ0ZXIgc3VjY2VzZnVsIHJlb3BlbmluZy4KCSogbGliaW8vZnJlb3BlbjY0LmMgKGZyZW9wZW42NCk6IExpa2V3aXNlLgoJUGF0Y2ggYnkgU2hpbnlhIEhhbmF0YWthIDxoYW5hdGFrYUBhYnlzcy5yaW0ub3IuanA+LgoKCSogbGliaW8vTWFrZWZpbGU6IEFkZCBydWxlcyB0byBidWlsZCBhbmQgcnVuIHRlc3QtZnJlb3Blbi4KCSogbGliaW8vdGVzdC1mcmVvcGVuLmM6IE5ldyBmaWxlLgoJKiBsaWJpby90ZXN0LWZyZW9wZW4uc2g6IE5ldyBmaWxlLgoKMjAwMC0xMS0xNSAgSC5KLiBMdSAgPGhqbEBnbnUub3JnPgoKCSogc3lzZGVwcy9nZW5lcmljL2xkc29kZWZzLmggKERMX0RUX0lOSVRfQUREUkVTUyk6IERlZmluZWQgaWYKCUVMRl9GVU5DVElPTl9QVFJfSVNfU1BFQ0lBTCBpcyBub3QgZGVmaW5lZC4KCShETF9EVF9GSU5JX0FERFJFU1MpOiBMaWtld2lzZS4KCgkqIHN5c2RlcHMvaWE2NC9kbC1sb29rdXBjZmcuaCAoX2RsX2xvb2t1cF9hZGRyZXNzKTogU2V0IHRoZQoJcmV0dXJuIHR5cGUgdG8gRWxmVyhBZGRyKS4KCShfZGxfZnVuY3Rpb25fYWRkcmVzcyk6IE5ldyBwcm90b3R5cGUuCgkoRExfRlVOQ1RJT05fQUREUkVTUyk6IERlZmluZWQuCgkoRExfRFRfSU5JVF9BRERSRVNTKTogRGVmaW5lZCBhcyBETF9GVU5DVElPTl9BRERSRVNTLgoJKERMX0RUX0ZJTklfQUREUkVTUyk6IExpa2V3aXNlLgoKCSogc3lzZGVwcy9pYTY0L1ZlcnNpb25zIChHTElCQ18yLjIpOiBBZGQgX2RsX2Z1bmN0aW9uX2FkZHJlc3MuCgoJKiBzeXNkZXBzL2lhNjQvZGwtbWFjaGluZS5oIChfZGxfc3RhcnRfYWRkcmVzcyk6IFJlbW92ZWQuCgkoRUxGX01BQ0hJTkVfU1RBUlRfQUREUkVTUyk6IENoYW5nZWQgdG8gRExfRlVOQ1RJT05fQUREUkVTUy4KCgkqIHN5c2RlcHMvaWE2NC9kbC1zeW1hZGRyLmMgKF9kbF9zdGFydF9hZGRyZXNzKTogUmVuYW1lZCB0byAuLi4KCShfZGxfZnVuY3Rpb25fYWRkcmVzcyk6IFRoaXMuCgoJKiBlbGYvZGwtZmluaS5jIChfZGxfZmluaSk6IFVzZSBETF9EVF9GSU5JX0FERFJFU1MgdG8gZ2V0IHRoZQoJZnVuY3Rpb24gcG9pbnRlciBmb3IgRFRfRklOSS4KCSogZWxmL2RsLWNsb3NlLmMgKF9kbF9jbG9zZSk6IExpa2V3aXNlLgoKCSogZWxmL2RsLWluaXQuYyAoX2RsX2luaXQpOiBVc2UgRExfRFRfSU5JVF9BRERSRVNTIHRvIGdldCB0aGUKCWZ1bmN0aW9uIHBvaW50ZXIgZm9yIERUX0lOSVQuCgoyMDAwLTExLTE2ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9wcmludGZfZnBoZXguYyAoX19wcmludGZfZnBoZXgpOiBDb21wdXRlIGNvcnJlY3RseQoJZW5kIG9mIHdleHBidWYgYnVmZmVyLgoKMjAwMC0xMS0xNiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9iaXRzL2ZjbnRsLmg6IFJlbW92ZSBkdXBsaWNhdGUKCWRlZmluaXRpb24gb2YgRl9HRVRMSywgRl9TRVRMSywgRl9TRVRMS1cuCgoyMDAwLTExLTE2ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtY2FjaGUuYyAoX0RMX1BMQVRGT1JNU19DT1VOVCk6IERlZmluZSB0byAwIGlmCglpdCdzIG5vdCBkZWZpbmVkLgoKMjAwMC0xMS0xNSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBkbGZjbi9kZWZhdWx0LmMgKG1haW4pOiBBZGQgdGVzdCBmb3IgZGxhZGRyIG9mIG1haW4gcmV0dXJuaW5nCglhcmd2WzBdIGluIGRsaV9mbmFtZSBmaWVsZC4KCjIwMDAtMTEtMTUgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgoKCSogTWFrZWNvbmZpZyAocnVuLXByb2dyYW0tcHJlZml4KTogTW92ZSB0ZXN0LXN0YXRpYyB0ZXN0IGludG8gdGhlCgl2YXJpYWJsZS4KCgkqIHN5c2RlcHMvYWxwaGEvZGwtbWFjaGluZS5oIChSVExEX1NUQVJUKTogVXBkYXRlIF9kbF9hcmd2LgoJKiBzeXNkZXBzL3NwYXJjL3NwYXJjMzIvZGwtbWFjaGluZS5oIChSVExEX1NUQVJUKTogTGlrZXdpc2UsCglzY2hlZHVsZSBpbnN0cnVjdGlvbnMuCgkqIHN5c2RlcHMvc3BhcmMvc3BhcmM2NC9kbC1tYWNoaW5lLmggKFJUTERfU1RBUlQpOiBMaWtld2lzZSwKCXNjaGVkdWxlIGluc3RydWN0aW9ucywgZml4IGEgYnVnIGluIGNvcHlpbmcgYXV4aWxpYXJ5IGRhdGEuCgoyMDAwLTExLTE1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIG1hbnVhbC9zdGFydHVwLnRleGkgKFByb2dyYW0gQXJndW1lbnRzKTogRml4IHR5cGUgb2YgbWFpbidzIGVudnAKCXBhcmFtZXRlci4KCVJlcG9ydGVkIGJ5IFJh+mwgTvrxZXogZGUgQXJlbmFzIENvcm9uYWRvIDxkZXJ2aXNoZEBsaW51eGZyZWFrLmNvbT4uCgoJKiBpY29udmRhdGEvZ2NvbnYtbW9kdWxlczogQWRkIENQOTUwIGFsaWFzLgoKMjAwMC0xMS0xMyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9NYWtlZmlsZTogQWxsb3cgcG9ydHMgdG8gb3ZlcnJpZGUKCXN5c2NhbGwtbGlzdC5oIGdvYWwuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL01ha2VmaWxlOiBOZXcgZmlsZS4KCjIwMDAtMTEtMTUgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogaW50bC9NYWtlZmlsZTogdHN0LWdldHRleHQyLnNoIGRvZXMgbm90IG5lZWQgYSB0aGlyZCBwYXJhbWV0ZXIuCgoJKiBpbnRsL3RzdC1nZXR0ZXh0Mi5zaDogQ29weSBsb2NhbGUgZGF0YS4gIEFkanVzdCBMT0NQQVRILiAgVmVyaWZ5CglvdXRwdXQgb2YgcHJvZ3JhbS4KCgkqIGludGwvdHN0LWdldHRleHQyLmM6IFNldCBDIGxvY2FsZSBpZiBzZXR0aW5nIG90aGVyIGxvY2FsZQoJZmFpbGVkLgkgVXNlIGdldHRleHQoKSBub3QgXygpLgoKCSogbG9jYWxlL3NldGxvY2FsZS5jOiBJbmNyZW1lbnQgX25sX21zZ19jYXRfY250ciB3aGVuZXZlciB3ZQoJc3VjY2Vzc2Z1bGx5IGxvYWRlZCBhIG5ldyBsb2NhbGUuCgoyMDAwLTExLTEzICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBjb25maWd1cmUuaW46IFJlcXVpcmUgZ2NjIDIuOTUgb3IgbmV3ZXIuCgoyMDAwLTExLTE1ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3BhdGhzLmg6IEFkanVzdCBmb3IgRkhTLgoJUGF0Y2ggYnkgQXJrYWRpdXN6IE1pc2tpZXdpY3ogPG1pc2lla0BwbGQuT1JHLlBMPi4KCjIwMDAtMTEtMTEgIEppbSBNZXllcmluZyAgPG1leWVyaW5nQGx1Y2VudC5jb20+CgoJKiBzdHJpbmcvc3RybmR1cC5jIChzdHJuZHVwKTogQ2FzdCByZXR1cm4gdmFsdWUgdG8gYGNoYXIgKicuCgoyMDAwLTExLTE1ICBKaW0gTWV5ZXJpbmcgIDxtZXllcmluZ0Bhc2NlbmQuY29tPgoKCSogc3lzZGVwcy9nZW5lcmljL21lbWNoci5jOiBSZW1vdmUgc29tZSB1c2VsZXNzIHBhcmVudGhlc2VzLgoJW0hBVkVfU1RETElCX0ggfHwgZGVmaW5lZCBfTElCQ106IEluY2x1ZGUgPHN0ZGxpYi5oPi4KCVtIQVZFX0JQX1NZTV9IIHx8IGRlZmluZWQgX0xJQkNdOiBHdWFyZCBpbmNsdXNpb24gb2YgYnAtc3ltLmguCglbISAoSEFWRV9CUF9TWU1fSCB8fCBkZWZpbmVkIF9MSUJDKV0gKEJQX1NZTSk6IERlZmluZSBhcyBuby1vcC4KCUFsc28gI3VuZGVmIF9fbWVtY2hyLgoJVXNlIGB3ZWFrX2FsaWFzJyBvbmx5IGlmIGl0J3MgZGVmaW5lZC4KCjIwMDAtMTEtMTAgIEguSi4gTHUgIDxoamxAZ251Lm9yZz4KCgkqIE1ha2VmaWxlLmluIChpbnN0YWxsKTogU2V0IExBTkdVQUdFPUMgTENfQUxMPUMuCgoyMDAwLTExLTE1ICBBbmRyZWFzIEphZWdlciAgPGFqQHN1c2UuZGU+CgoJKiBlbGYvY2hyb290X2Nhbm9uLmM6IEluY2x1ZGUgPHN0ZGludC5oPi4KCgkqIGVsZi9jYWNoZS5jIChzdHJ1Y3QgY2FjaGVfZW50cnkpOiBVc2UgdWludDY0X3QgZm9yIGh3Y2FwLgoJKHByaW50X2VudHJ5KTogTGlrZXdpc2UuCgkoYWRkX3RvX2NhY2hlKTogTGlrZXdpc2UuCgoJKiBlbGYvbGRjb25maWcuaCAoYWRkX3RvX2NhY2hlKTogQ2hhbmdlIHByb3RvdHlwZSBmb3IgaHdjYXAgY2hhbmdlLgoKCSogZWxmL2xkY29uZmlnLmMgKHN0cnVjdCBsaWJfZW50cnkpOiBVc2UgdWludDY0X3QgZm9yIGh3Y2FwLgoJKHBhdGhfaHdjYXApOiBMaWtld2lzZS4KCShzZWFyY2hfZGlyKTogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtY2FjaGUuYyAoSFdDQVBfQ0hFQ0spOiBIYW5kbGUgcGxhdGZvcm0uCgoJKiBlbGYvY2FjaGUuYyAoYWRkX3RvX2NhY2hlKTogSGFuZGxlIDY0IGJpdCBod2NhcCBlbnRyeS4KCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjMzIvZGwtcHJvY2luZm8uaAoJKF9kbF9wbGF0Zm9ybV9zdHJpbmcpOiBOZXcuCgkoX0RMX0hXQ0FQX1BMQVRGT1JNKTogTmV3LgoJKF9kbF9zdHJpbmdfcGxhdGZvcm0pOiBOZXcuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJjL3NwYXJjNjQvZGwtcHJvY2luZm8uaDogTGlrZXdpc2UuCgoJKiBzeXNkZXBzL2dlbmVyaWMvZGwtcHJvY2luZm8uaCAoX0RMX0hXQ0FQX0NPVU5UKTogTmV3LgoJKF9kbF9zdHJpbmdfcGxhdGZvcm0pOiBOZXcuCgkoX0RMX0hXQ0FQX1BMQVRGT1JNKTogTmV3LgoJKF9kbF9wbGF0Zm9ybV9zdHJpbmcpOiBOZXcuCgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9pMzg2L2RsLXByb2NpbmZvLmg6IEFkZGVkIHg4NiBwbGF0Zm9ybQoJcmVjb2duaXRpb24uCgkoX0RMX0hXQ0FQX0NPVU5UKTogTmV3LgoJKF9kbF9zdHJpbmdfcGxhdGZvcm0pOiBOZXcuCgkoX0RMX0hXQ0FQX1BMQVRGT1JNKTogTmV3LgoJKF9kbF9wbGF0Zm9ybV9zdHJpbmcpOiBOZXcuCgoyMDAwLTExLTE0ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGljb252ZGF0YS9nY29udi1tb2R1bGVzOiBBZGQgQ1A5MzYgYXMgYWxpYXMgZm9yIEdCSy4KCjIwMDAtMTEtMTQgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHN5c2RlcHMvZ2VuZXJpYy9kbC1jYWNoZS5jIChIV0NBUF9DSEVDSyk6IEZpeCBhY2Nlc3MgdG8gX2RsX2h3Y2FwLgoKMjAwMC0xMS0xMyAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAZnJvYi5jb20+CgoJKiBodXJkL2dldC1ob3N0LmMgKF9odXJkX2dldF9ob3N0X2NvbmZpZyk6IEZpeCBsYXN0IGNoYW5nZS4KCjIwMDAtMTEtMTMgIE1hcmN1cyBCcmlua21hbm4gPG1hcmN1c0BnbnUub3JnPgoKCSogaHVyZC9nZXQtaG9zdC5jIChfaHVyZF9nZXRfaG9zdF9jb25maWcpOiBGaXggcG9zc2libGUgYnVmZmVyCgl1bmRlcnJ1biBhbmQgbWFrZSBzdXJlIHRoZSByZXN1bHQgaXMgbnVsbCB0ZXJtaW5hdGVkIGV2ZW4gaWYgdGhlcmUKCWlzIG5vIHRyYWlsaW5nIG5ld2xpbmUuCgoyMDAwLTExLTEzICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KCgkqIHN5c2RlcHMvYWxwaGEvZnB1L2xpYm0tdGVzdC11bHBzOiBVcGRhdGUuCgoyMDAwLTExLTEwICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBzeXNkZXBzL2lhNjQvZnB1L2xpYm0tdGVzdC11bHBzOiBVcGRhdGVkLgoKMjAwMC0xMS0xMCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogZWxmL2xkY29uZmlnLmMgKGNyZWF0ZV9saW5rcyk6IEZpeCBhbGxvY2EgY2FsY3VsYXRpb24uCglQYXRjaCBieSBCZW4gQ29sbGlucyA8YmNvbGxpbnNAZGViaWFuLm9yZz4uCgoyMDAwLTExLTA5ICBVbHJpY2ggRHJlcHBlciAgPGRyZXBwZXJAcmVkaGF0LmNvbT4KCgkqIGluZXQvZ2V0bmFtZWluZm8uYyAoZ2V0bmFtZWluZm8pOiBVc2UgY29ycmVjdCBkZXN0aW5hdGlvbgoJcGFyYW1ldGVyIGZvciBpZl9pbmRleHRvbmFtZS4KCVBhdGNoIGJ5IEhpZGVha2kgWU9TSElGVUpJIDx5b3NoZnVqaUBsaW51eC1pcHY2Lm9yZz4uCgoyMDAwLTExLTA5ICBILkouIEx1ICA8aGpsQGdudS5vcmc+CgoJKiBzdW5ycGMvVmVyc2lvbnMgKEdMSUJDXzIuMSk6IFJlbW92ZSB4ZHJfY3J5cHRrZXlhcmcsCgl4ZHJfY3J5cHRrZXlhcmcyLCB4ZHJfY3J5cHRrZXlyZXMsIHhkcl9kZXNfYmxvY2ssCgl4ZHJfa2V5X25ldHN0YXJnLCB4ZHJfa2V5X25ldHN0cmVzLCB4ZHJfa2V5YnVmIGFuZAoJeGRyX2tleXN0YXR1cy4KCgkqIHRpbWUvVmVyc2lvbnMgKEdMSUJDXzIuMSk6IE1vdmUgZ2V0aXRpbWVyIHRvLi4uCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL1ZlcnNpb25zIChHTElCQ18yLjEpOiAuLi5oZXJlLgoKMjAwMC0xMS0wMyAgQnJ1bm8gSGFpYmxlICA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgoKCSogbWFudWFsL2luc3RhbGwudGV4aTogUmVjb21tZW5kIHRvIHNldCBMQU5HVUFHRT1DIExDX0FMTD1DIGR1cmluZwoJIm1ha2UgaW5zdGFsbCIsIHRvIHdvcmsgYXJvdW5kIGEgYmluYXJ5IGluY29tcGF0aWJpbGl0eSBiZXR3ZWVuCglnbGliYyAyLjEgYW5kIGdsaWJjIDIuMiBnY29udiBtb2R1bGVzLgoKMjAwMC0xMS0wOSAgVWxyaWNoIERyZXBwZXIgIDxkcmVwcGVyQHJlZGhhdC5jb20+CgoJKiBpbnRsL2xvY2FsZS5hbGlhczogQWRkIHRoYWkuCglQYXRjaCBieSBDaGFub3AgU2lscGEtQW5hbiA8Y2hhbm9wQHN5c2VuZy5hbnUuZWR1LmF1Pi4KCjIwMDAtMTEtMDcgIEFraW0gRGVtYWlsbGUgIDxha2ltQGVwaXRhLmZyPgoKCSogbWFsbG9jL29ic3RhY2suYyAob2JzdGFja19ncm93LCBvYnN0YWNrX2dyb3cwKTogUmVuYW1lIHRoZSBzZWNvbmQKCWFyZ3VtZW50IGBkYXRhJyBmb3IgY29uc2lzdGVuY3kgd2l0aCB0aGUgcHJvdG90eXBlcy4KCVF1YWxpZnkgaXQgYGNvbnN0Jy4KCShvYnN0YWNrX2NvcHksIG9ic3RhY2tfY29weTApOiBSZW5hbWUgdGhlIHNlY29uZCBhcmd1bWVudCBhcwoJYGFkZHJlc3MnIGZvciBjb25zaXN0ZW5jeS4gIFF1YWxpZnkgaXQgYGNvbnN0Jy4KCSogbWFsbG9jL29ic3RhY2suaCAob2JzdGFja19jb3B5LCBvYnN0YWNrX2NvcHkwLCBvYnN0YWNrX2dyb3cpCgkob2JzdGFja19ncm93MCwgb2JzdGFja19wdHJfZ3Jvdywgb2JzdGFja19wdHJfZ3Jvd19mYXN0KTogUXVhbGlmeQoJYGNvbnN0JyB0aGVpciBpbnB1dCBhcmd1bWVudCAoYGRhdGEnIG9yIGBhZGRyZXNzJykuCglBZGp1c3QgdGhlIGNvcnJlc3BvbmRpbmcgbWFjcm9zIHRvIGluY2x1ZGUgYGNvbnN0JyBpbiBjYXN0cy4KCjIwMDAtMTEtMDYgIEhpZGVha2kgWU9TSElGVUpJICA8eW9zaGZ1amlAbGludXgtaXB2Ni5vcmc+CgoJKiBzeXNkZXBzL3Bvc2l4L2dldGFkZHJpbmZvLmM6IENsZWFuLXVwOiBkZWZpbmUgZmFtaWx5IHRvIGhvbGQKCXRhcmdldCBmYW1pbHkuCgoyMDAwLTExLTA2ICBIaWRlYWtpIFlPU0hJRlVKSSAgPHlvc2hmdWppQGxpbnV4LWlwdjYub3JnPgoKCSogc3lzZGVwcy9wb3NpeC9nZXRhZGRyaW5mby5jOiBMb29zZW4gcHJvdG9jb2wgY2hlY2sgdG8gZWFzZSByYXcKCXNvY2tldCBjcmVhdGlvbi4KCjIwMDAtMTEtMDYgIEhpZGVha2kgWU9TSElGVUpJICA8eW9zaGZ1amlAbGludXgtaXB2Ni5vcmc+CgoJKiBzeXNkZXBzL3Bvc2l4L2dldGFkZHJpbmZvLmM6IEVuc3VyZSB0byBmaWxsIGFpX3NvY2t0eXBlIGFuZAoJYWlfcHJvdG9jb2wgYnkgaW50ZXJuYWwgdGFibGUgaWYgc2VydmljZSB3YXMgbm90IGdpdmVuLgoKMjAwMC0xMS0wNiAgSGlkZWFraSBZT1NISUZVSkkgIDx5b3NoZnVqaUBsaW51eC1pcHY2Lm9yZz4KCgkqIHN5c2RlcHMvcG9zaXgvZ2V0YWRkcmluZm8uYzogRG9uJ3QgcmFpc2UgYW4gZXJyb3IgZXZlbiBpZgoJbnVtZXJpY2FsIHBvcnQgd2FzIHNwZWNpZmllZCB3aXRoIHByb3RvY29sIHdpdGhvdXQgc29ja3R5cGUuCgoyMDAwLTExLTA2ICBIaWRlYWtpIFlPU0hJRlVKSSAgPHlvc2hmdWppQGxpbnV4LWlwdjYub3JnPgoKCSogc3lzZGVwcy9wb3NpeC9nZXRhZGRyaW5mby5jOiBFbnN1cmUgdG8gY2hlY2sgaWYgcHJvdG9jb2wgaXMgb2suCgoyMDAwLTExLTA2ICBIaWRlYWtpIFlPU0hJRlVKSSAgPHlvc2hmdWppQGxpbnV4LWlwdjYub3JnPgoKCSogaW5ldC9nZXRuYW1laW5mby5jOiBnZXRuYW1laW5mbygpIE5JX3h4eCBmbGFnIHZhbGlkYXRpb24uCgoyMDAwLTExLTA2ICBIaWRlYWtpIFlPU0hJRlVKSSAgPHlvc2hmdWppQGxpbnV4LWlwdjYub3JnPgoKCSogc3lzZGVwcy9wb3NpeC9nZXRhZGRyaW5mby5jOiBFbnN1cmUgbm90IHRvIGZpbGwgZ2FyYmFnZSB2YWx1ZSBpbgoJc2luNl9zY29wZV9pZCBmaWVsZC4KCjIwMDAtMTEtMDYgIEhpZGVha2kgWU9TSElGVUpJICA8eW9zaGZ1amlAbGludXgtaXB2Ni5vcmc+CgoJKiBpbmV0L2dldG5hbWVpbmZvLmM6IFJlcGFpciBnZXRuYW1laW5mbygpIHNpbjZfc29jcGVfaWQgc3VwcG9ydC4KCjIwMDAtMTEtMDYgIEhpZGVha2kgWU9TSElGVUpJICA8eW9zaGZ1amlAbGludXgtaXB2Ni5vcmc+CgoJKiBpbmV0L2dldG5hbWVpbmZvLmM6IFJlcGFpciBOSV9OT0ZRRE4gZmxhZyBzdXBwb3J0LgoKMjAwMC0xMS0wNiAgSGlkZWFraSBZT1NISUZVSkkgIDx5b3NoZnVqaUBsaW51eC1pcHY2Lm9yZz4KCgkqIGluZXQvZ2V0bmFtZWluZm8uYzogV2FrZS11cCBzaW42X3Njb3BlX2lkIHN1cHBvcnQgaW4KCWdldG5hbWVpbmZvKCk6IGNoZWNrIGZvciB3aGV0aGVyIHNpbjZfc29jcGVfaWQgZXhpc3Qgd2FzIHdyb25nLgoKMjAwMC0xMS0wOSAgTWFydGluIFNjaHdpZGVmc2t5CTxtc2Nod2lkZUBuYy5ib2VibGluZ2VuLmRlLmlibS5jb20+CgoJKiBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zMzkwL21tYXAuUzogVXNlIG1tYXAyIGlmIGl0IGlzIHByZXNlbnQuCgkqIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvbW1hcDY0LlM6IE5ldyBmaWxlLgoKMjAwMC0xMS0wOSAgSC5KLiBMdSAgPGhqbEBnbnUub3JnPgoKCSogaW8vVmVyc2lvbnMgKEdMSUJDXzIuMS4xKTogUmVtb3ZlIGxvY2tmNjQuCgoKU2VlIENoYW5nZUxvZy4xMSBmb3IgZWFybGllciBjaGFuZ2VzLgo=