MjAwMy0xMi0zMSAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHN1c2UuZGU+CgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy50Y2MgKG51bV9nZXQ6Ol9NX2V4dHJhY3RfaW50LAoJbnVtX2dldDo6X01fZXh0cmFjdF9mbG9hdCk6IEFjY29yZGluZyB0byAyMi4yLjIuMS4yLCBwOC05LAoJX2ZpcnN0XyBsb29rIGZvciB0aG91c2FuZHNfc2VwLCB0aGVuIGZvciBkZWNpbWFsX3BvaW50IGFuZAoJZmluYWxseSBmb3IgZGlnaXRzLgoJKG51bV9nZXQ6Ol9NX2V4dHJhY3RfZmxvYXQpOiBBZnRlciB0aGUgZGVjaW1hbF9wb2ludCBvcgoJJ2UnLydFJywgZGVjaW1hbF9wb2ludCBhbmQgdGhvdXNhbmRzX3NlcCBqdXN0IGJyZWFrIG91dCB0aGUKCXBhcnNpbmcgbG9vcC4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9udW1fZ2V0L2dldC9jaGFyLzExLmNjOiBBZGQgdGVzdHMuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtX2dldC9nZXQvd2NoYXJfdC8xMS5jYzogTGlrZXdpc2UuCgoyMDAzLTEyLTMwICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAc3VzZS5kZT4KCglQUiBsaWJzdGRjKysvMTMzNjkKCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjIChfX3ZlcmlmeV9ncm91cGluZyk6CglGaXggdG8gZGVhbCBwcm9wZXJseSB3aXRoIF9fZ3JvdXBpbmdfdG1wLnNpemUoKSA+CglfX2dyb3VwaW5nLnNpemUoKS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9udW1fZ2V0L2dldC9jaGFyLzEzLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtX2dldC9nZXQvd2NoYXJfdC8xMy5jYzogRGl0dG8uCgkKMjAwMy0xMi0yOSAgSmVycnkgUXVpbm4gIDxqbHF1aW5uQG9wdG9ubGluZS5uZXQ+CgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy5oIChjdHlwZS5uYXJyb3csd2lkZW4pOiBBZGQgY2FzdC4KCjIwMDMtMTItMjkgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUBzdXNlLmRlPgoKCSogYWNpbmNsdWRlLm00IChHTElCQ1hYX0NIRUNLX0xGUyk6IEFkZCAtZm5vLWV4Y2VwdGlvbnMKCXRvIENYWEZMQUdTLgoJKiBhY2xvY2FsLm00OiBSZWdlbmVyYXRlLgoJKiBjb25maWd1cmU6IExpa2V3aXNlLgoKMjAwMy0xMi0yOSAgTWFyayBNaXRjaGVsbCAgPG1hcmtAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGFjY29uZmlnLmg6IEFkZCBfR0xJQkNYWF9VU0VfQzk5X01BVEguCgkqIGFjaW5jbHVkZS5tNCAoR0xJQkNYWF9FTkFCTEVfQzk5KTogRGVmaW5lIEdMSUJDWFhfVVNFX0M5OV9NQVRILgoJKiBjb25maWd1cmUuYWM6IERlZmluZSBIQVZFX1NfSVNSRUcgYW5kIEhBVkVfU19JRlJFRyB3aGVuCgl0YXJnZXRpbmcgbmV3bGliLgoJKiBhY2xvY2FsLm00OiBSZWdlbmVyYXRlZC4KCSogY29uZmlnLmguaW46IExpa2V3aXNlLgoJKiBjb25maWd1cmU6IExpa2V3aXNlLgoJKiBNYWtlZmlsZS5pbjogTGlrZXdpc2UuCgkqIGluY2x1ZGUvTWFrZWZpbGUuaW46IExpa2V3aXNlLgoJKiBsaWJtYXRoL01ha2VmaWxlLmluOiBMaWtld2lzZS4KCSogbGlic3VwYysrL01ha2VmaWxlLmluOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlL01ha2VmaWxlLmluOiBMaWtld2lzZS4KCSogc3JjL01ha2VmaWxlLmluOiBMaWtld2lzZS4KCSogcG8vTWFrZWZpbGUuaW46IExpa2V3aXNlLgoJKiBpbmNsdWRlL2Nfc3RkL3N0ZF9jbWF0aC5oIChfR0xJQkNYWF9VU0VfQzk5KTogUmVwbGFjZSB3aXRoIC4uLgoJKF9HTElCQ1hYX1VTRV9DOTlfTUFUSCk6IC4uLiB0aGlzLgoKCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2dldG4vY2hhci8xLWluLmNjOiBYRkFJTCBmb3IKCWFybS1ub25lLWVsZi4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2dldG4vY2hhci8xLWlvLmNjOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2dldG4vY2hhci8yLWluLmNjOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2dldG4vY2hhci8yLWlvLmNjOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2lzdHJlYW0vcmVhZHNvbWUvY2hhci82NDc2LTIuY2M6IExpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvMjdfaW8vb2JqZWN0cy9jaGFyLzkuY2M6IExpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvZXh0L3N0ZGlvX2ZpbGVidWYvY2hhci8xMDA2My0yLmNjOiBMaWtld2lzZS4KCjIwMDMtMTItMjggIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUBzdXNlLmRlPgoKCSogaW5jbHVkZS9leHQvcG9vbF9hbGxvY2F0b3IuaCAoY2xhc3MgX19wb29sX2FsbG9jKTogVXNlCglvcGVyYXRvciBuZXcgYW5kIG9wZXJhdG9yIGRlbGV0ZS4KCjIwMDMtMTItMjQgIEFuZHJldyBQaW5za2kgIDxwaW5za2lhQHBoeXNpY3MudWMuZWR1PgoKCSogY29uZmlnL2NwdS9pMzg2L2F0b21pY2l0eS5oIChfX2V4Y2hhbmdlX2FuZF9hZGQpOiBGaXggb3V0cHV0IAoJY29uc3RyYWludC4KCglQUiBsaWJzdGRjKysvMTM0ODAKCSogY29uZmlnL2NwdS9pMzg2L2F0b21pY2l0eS5oOiBTcGxpdCB1cCByZWFkLXdyaXRlIG1lbW9yeSBvcGVyYW5kLgoKMjAwMy0xMi0yMyAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9leHQvbmV3X2FsbG9jYXRvci5oIChuZXdfYWxsb2NhdG9yKTogUHJvcGVyIGFsbG9jYXRvciBjbGFzcy4KCShfX25ld19hbGxvYyk6IERlbGV0ZS4KCSogaW5jbHVkZS9leHQvbWFsbG9jX2FsbG9jYXRvci5oIChtYWxsb2NfYWxsb2NhdG9yKTogU2FtZS4KCShfX21hbGxvY19hbGxvYyk6IERlbGV0ZS4KIAkqIGluY2x1ZGUvZXh0L210X2FsbG9jYXRvci5oOiBTYW1lLCBidXQgd2Vha2x5LgogCSogaW5jbHVkZS9leHQvZGVidWdfYWxsb2NhdG9yLmg6IENvbnZlcnQgdG8gdGhlIG5ldyBzdHlsZS4KCSogaW5jbHVkZS9leHQvcG9vbF9hbGxvY2F0b3IuaDogVXNlIGdsb2JhbCBuZXcgYW5kIGRlbGV0ZSBkaXJlY3RseS4KCSogaW5jbHVkZS9iYWNrd2FyZC9hbGxvYy5oOiBEb24ndCBpbmplY3QgbWFsbG9jX2FsbG9jYXRvciwgb3IKCWRlYnVnX2FsbG9jYXRvci4JCgkqIHRlc3RzdWl0ZS9leHQvYWxsb2NhdG9ycy5jYzogTWluaW1hbCBmaXh1cHMgZm9yIHVzYWdlIG9mIG5ldwoJY2xhc3Nlcy4gIENvbW1lbnQgb3V0IHRlc3RzIHdpdGggX19wb29sX2FsbG9jIGZvciBub3cuCgkqIHRlc3RzdWl0ZS9wZXJmb3JtYW5jZS9hbGxvY2F0b3IuY2M6IFNhbWUuCgoyMDAzLTEyLTIyICBNYXR0IEF1c3Rlcm4gIDxhdXN0ZXJuQGFwcGxlLmNvbT4KCgkqIGluY2x1ZGUvYml0cy9zdGxfYnZlY3Rvci5oIChfQnZlY3Rvcl9hbGxvY19iYXNlKTogRWxpbWluYXRlLgoJKF9CdmVjdG9yX2Jhc2UpOiBJbmhlcml0IGRpcmVjdGx5IGZyb20gd29yZCBhbGxvY2F0b3IuCgkqIGluY2x1ZGUvYml0cy9zdGxfdHJlZS5oIChfUmJfdHJlZV9hbGxvY19iYXNlKTogRWxpbWluYXRlLgoJKF9SYl90cmVlX2Jhc2UpOiBFbGltaW5hdGUuCgkoX1JiX3RyZWUpOiBJbmhlcml0IGRpcmVjdGx5IGZyb20gbm9kZSBhbGxvY2F0b3IuCgkqIGluY2x1ZGUvZXh0L3NsaXN0IChfQWxpc3RfYWxsb2NfYmFzZSk6IEVsaW1pbmF0ZS4KCShfU2xpc3RfYmFzZSk6IEluaGVyaXQgZGlyZWNseSBmcm9tIG5vZGUgYWxsb2NhdG9yLgoJCjIwMDMtMTItMjIgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIHRlc3RzdWl0ZS8xOF9zdXBwb3J0L251bWVyaWNfbGltaXRzLmNjOiBBZGQgX0dMSUJDWFhfQVNTRVJUIHRvCglkZy1vcHRpb25zIGluIHRlc3RjYXNlcyB0aGF0IHVzZSBWRVJJRlkuCQoJKiB0ZXN0c3VpdGUvMjNfY29udGFpbmVycy92ZWN0b3IvaW52YWxpZGF0aW9uLzEuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yM19jb250YWluZXJzL3ZlY3Rvci9pbnZhbGlkYXRpb24vMi5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIzX2NvbnRhaW5lcnMvdmVjdG9yL2ludmFsaWRhdGlvbi8zLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjNfY29udGFpbmVycy92ZWN0b3IvaW52YWxpZGF0aW9uLzQuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yM19jb250YWluZXJzL3ZlY3Rvci9yZXNpemUvMS5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzI2X251bWVyaWNzL2NvbXBsZXhfdmFsdWUuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yN19pby9pb3NfYmFzZS9zdG9yYWdlLzEuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yN19pby9pb3NfYmFzZS9zdG9yYWdlLzIuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yN19pby9pb3NfYmFzZS9zdG9yYWdlLzMuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yN19pby9tYW5pcHVsYXRvcnMvc3RhbmRhcmQvY2hhci8yLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvYmFja3dhcmQvMTE0NjAuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS9iYWNrd2FyZC9zdHJzdHJlYW1fbWVtYmVycy5jYzogU2FtZS4KCgkqIGluY2x1ZGUvZXh0L2hhc2hfc2V0IChjbGFzcyBoYXNoX211bHRpc2V0KTogRml4IHR5cG8uCgoyMDAzLTEyLTIyICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CQoKCSogdGVzdHN1aXRlLzI3X2lvL29iamVjdHMvY2hhci81LmNjOiBEb24ndCB1c2Ugc3RkYysrLmguZ2NoLgoJKiB0ZXN0c3VpdGUvMjdfaW8vb2JqZWN0cy93Y2hhcl90LzUuY2M6IFNhbWUuCgkqIGRvY3MvaHRtbC90ZXN0Lmh0bWw6IEFkZCBkb2NzIGZvciBjb25zdHJ1Y3RpbmcgdGVzdCBmaWxlcyB0aGF0Cglkb24ndCB1c2Ugc3RkYysrLmguZ2NoLgoJKiBzY3JpcHRzL3Rlc3RzdWl0ZV9mbGFncy5pbiAoUENIRkxBR1MpOiBNb3ZlIHRvIC0tY3h4cGNoZmxhZ3MuCQoJKiB0ZXN0c3VpdGUvbGlic3RkYysrLWRnL25vcm1hbC5leHA6IENvbXB1dGUgREVGQVVMVF9DWFhGTEFHUwoJZGlmZmVyZW50bHkuCgoJKiBpbmNsdWRlL2JpdHMvaW9zX2Jhc2UuaCAoaW9zX2Jhc2U6OkluaXQ6Ol9TX2luaXRpYWxpemVkKTogUmVtb3ZlLgoJKiBzcmMvaW9zX2luaXQuY2M6IFNhbWUuCgkqIGNvbmZpZy9saW5rZXItbWFwLmdudTogU2FtZS4KCSogdGVzdHN1aXRlLzI3X2lvL2lvc19iYXNlL2NvbnMvY29weV9uZWcuY2M6IEFkanVzdCBsaW5lIG51bWJlcnMuCgkqIHRlc3RzdWl0ZS8yN19pby9pb3NfYmFzZS9jb25zL2Fzc2lnbl9uZWcuY2M6IFNhbWUuCgkJCjIwMDMtMTItMjIgIEFuZHJldyBQaW5za2kgIDxwaW5za2lhQHBoeXNpY3MudWMuZWR1PgoKCVBSIGxpYnN0ZGMrKy8xMzQ2MgoJKiBpbmNsdWRlL2JpdHMvc3RsX211bHRpc2V0LmggKF9fZ251X25vcm06Om11bHRpc2V0KTogRGVmaW5lIHBvaW50ZXIKCWFzIGFsbG9jYXRvcidzIHBvaW50ZXIsIGxpa2V3aXNlIGZvciByZWZlcmVuY2UsIGNvbnN0X3BvaW50ZXIsIGFuZAoJY29uc3RfcmVmZXJlbmNlLgoJKiBpbmNsdWRlL2JpdHMvc3RsX3NldC5oIChfX2dudV9ub3JtOjpzZXQpOiBMaWtld2lzZS4KCSogaW5jbHVkZS9leHQvaGFzaF9zZXQgKF9fZ251X2V4dDo6aGFzaF9zZXQpOiBMaWtld2lzZS4KCShfX2dudV9leHQ6Omhhc2hfbXVsdGlzZXQpOiBMaWtld2lzZS4KCjIwMDMtMTItMjIgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUBzdXNlLmRlPgoKCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjIChudW1fZ2V0OjpfTV9leHRyYWN0X2ludCwKCW51bV9nZXQ6Ol9NX2V4dHJhY3RfZmxvYXQpOiBBY2NvcmRpbmcgdG8gMjIuMi4yLjEuMiwgcDgtOSwKCWZpcnN0IGxvb2sgZm9yIGRlY2ltYWxfcG9pbnQgYW5kIHRob3VzYW5kc19zZXAsIHdoZW4gcGFyc2luZwoJc2lnbiwgbGVhZGluZyB6ZXJvcyAoYW5kIDAsIE94LCAwWCBmb3IgaW50ZWdlciB0eXBlcykgdG9vLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL251bV9nZXQvZ2V0L2NoYXIvMTIuY2M6IE5ldy4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9udW1fZ2V0L2dldC93Y2hhcl90LzEyLmNjOiBMaWtld2lzZS4KCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtX2dldC9nZXQvY2hhci8xMS5jYzogQWRkIGEgY29tbWVudC4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9udW1fZ2V0L2dldC93Y2hhcl90LzExLmNjOiBMaWtld2lzZS4KCQoyMDAzLTEyLTIwICBKYXNvbiBNZXJyaWxsICA8amFzb25AcmVkaGF0LmNvbT4KCgkqIGNvbmZpZy9jcHUvcG93ZXJwYy9hdG9taWNpdHkuaDogRml4IG92ZXJzaWdodCBpbiBwcmV2aW91cwoJY2hhbmdlLgoKMjAwMy0xMi0yMCAgSmVycnkgUXVpbm4gIDxqbHF1aW5uQG9wdG9ubGluZS5uZXQ+CgoJKiBkb2NzL2RveHlnZW4vVE9ETzogVXBkYXRlLgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2NsYXNzZXMuaCAobG9jYWxlLCBmYWNldCwgaWQpOiBEb2N1bWVudC4KCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjIChoYXNfZmFjZXQsIHVzZV9mYWNldCk6IERvY3VtZW50LgoKMjAwMy0xMi0xOSAgSmFzb24gTWVycmlsbCAgPGphc29uQHJlZGhhdC5jb20+CgoJKiBjb25maWcvY3B1L2NyaXMvYXRvbWljaXR5Lmg6IFJlbW92ZSBtZW1vcnkgY2xvYmJlcnMuCgkqIGNvbmZpZy9jcHUvbWlwcy9hdG9taWNpdHkuaDogTGlrZXdpc2UuCgkqIGNvbmZpZy9jcHUvaTQ4Ni9hdG9taWNpdHkuaDogUmVtb3ZlIG1lbW9yeSBjbG9iYmVycy4KCVNwbGl0IHVwIHJlYWQtd3JpdGUgbWVtb3J5IG9wZXJhbmQuCgkqIGNvbmZpZy9jcHUvbTY4ay9hdG9taWNpdHkuaDogTGlrZXdpc2UuCgkqIGNvbmZpZy9jcHUvcG93ZXJwYy9hdG9taWNpdHkuaDogTWFrZSBtZW1vcnkgSS9PIGV4cGxpY2l0LgoJKiBjb25maWcvY3B1L3MzOTAvYXRvbWljaXR5Lmg6IExpa2V3aXNlLgoJKiBjb25maWcvY3B1L3NwYXJjL2F0b21pY2l0eS5oOiBMaWtld2lzZS4KCjIwMDMtMTItMjAgIENhcmxvIFdvb2QgIDxjYXJsb0BhbGlub2UuY29tPgoKCSogYml0cy9kZW1hbmdsZS5oCgluYW1lc3BhY2UgX19nbnVfY3h4OjpkZW1hbmdsZXIKCShzZXNzaW9uPEFsbG9jYXRvcj46OmRlY29kZV9lbmNvZGluZyk6IFB1dCB0aGUgcG9zdGZpeAoJb2YgdGhlIHJldHVybiB0eXBlIG9mIChtZW1iZXIpIGZ1bmN0aW9ucyBhZnRlciB0aGUgZnVuY3Rpb24KCWluc3RlYWQgb2YgYWZ0ZXIgdGhlIHJldHVybiB0eXBlLgoKMjAwMy0xMi0xOSAgSmVycnkgUXVpbm4gIDxqbHF1aW5uQG9wdG9ubGluZS5uZXQ+CgogICAgICAgICogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldC5oCiAgICAgICAgKF9fY3R5cGVfYWJzdHJhY3RfYmFzZSxjdHlwZTxjaGFyVD4sY3R5cGU8Y2hhcj4sY3R5cGU8d2NoYXJfdD4pOgogICAgICAgIERvY3VtZW50LgoKMjAwMy0xMi0xOSAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHN1c2UuZGU+CgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy50Y2MgKG51bV9nZXQ6Ol9NX2V4dHJhY3RfaW50LAoJbnVtX2dldDo6X01fZXh0cmFjdF9mbG9hdCk6IEFjY29yZGluZyB0byAyMi4yLjIuMS4yLCBwOC05LAoJZmlyc3QgbG9vayBmb3IgZGVjaW1hbF9wb2ludCBhbmQgdGhvdXNhbmRzX3NlcC4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9udW1fZ2V0L2dldC9jaGFyLzExLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtX2dldC9nZXQvd2NoYXJfdC8xMS5jYzogTGlrZXdpc2UuCgoyMDAzLTEyLTE5ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAc3VzZS5kZT4KCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLnRjYyAobnVtX2dldDo6X01fZXh0cmFjdF9mbG9hdCk6CglXaGVuIF9fZm91bmRfc2NpIGJlY29tZXMgdHJ1ZSBzdG9wIGVhdGluZyB0aG91c2FuZHMgc2VwYXJhdG9ycwoJYW5kIHRoZSBkZWNpbWFsIHJhZGl4IHNlcGFyYXRvci4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9udW1fZ2V0L2dldC9jaGFyLzkuY2M6IE5ldy4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9udW1fZ2V0L2dldC93Y2hhcl90LzkuY2M6IExpa2V3aXNlLgkKCQoJKiBjb25maWcvbG9jYWxlL2dlbmVyaWMvY19sb2NhbGUuY2MgKF9fY29udmVydF90b192KTogRG9uJ3QKCWNoZWNrIHRoYXQgKl9fc2FuaXR5ID09ICdcMCc6IHBhcnNpbmcgbWF5IHN0b3AgZWFybGllciwgc3RpbGwKCWJlIHN1Y2Nlc3NmdWwuCgkqIGNvbmZpZy9sb2NhbGUvZ251L2NfbG9jYWxlLmNjOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9udW1fZ2V0L2dldC9jaGFyLzEwLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtX2dldC9nZXQvd2NoYXJfdC8xMC5jYzogTGlrZXdpc2UuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19pc3RyZWFtL2V4dHJhY3RvcnNfYXJpdGhtZXRpYy9jaGFyLzEwLmNjOgoJVHdlYWsgaW4gb25lIHBsYWNlIGFjY29yZGluZ2x5LgoKCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tb25leV9nZXQvZ2V0L2NoYXIvMS5jYzogRml4IHR5cG8uCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbW9uZXlfZ2V0L2dldC93Y2hhcl90LzEuY2M6IExpa2V3aXNlLgoKMjAwMy0xMi0xOCAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9iaXRzL3N0bF9saXN0Lmg6IEZvcm1hdHRpbmcgdHdlYWtzLgoJKiBpbmNsdWRlL2JpdHMvbGlzdC50Y2M6IFNhbWUuCgoyMDAzLTEyLTE4ICBNYXR0IEF1c3Rlcm4gIDxhdXN0ZXJuQGFwcGxlLmNvbT4KCgkqIGluY2x1ZGUvYml0cy9kZW1hbmdsZS5oOiBGaXggYWxsb2NhdG9yIHR5cGUgY29ycmVjdG5lc3MsCglpLmUuIG1ha2Ugc3VyZSB0aGF0IHdoZW4gd2UgaW5zdGFudGlhdGUgYSBjb250YWluZXIgd2l0aCBhIHZhbHVlCgl0eXBlIGFuZCBhbiBhbGxvY2F0b3IsIHRoZSBhbGxvY2F0b3IncyB2YWx1ZSB0eXBlIG1hdGNoZXMgdGhlCgljb250YWluZXIncy4KCSogaW5jbHVkZS9iaXRzL3N0bF9kZXF1ZS5oIChfRGVxdWVfYWxsb2NfYmFzZSk6IEVsaW1pbmF0ZS4KCShfRGVxdWVfYmFzZSk6IGluaGVyaXQgZGlyZWN0bHkgZnJvbSB0aGUgZGVxdWUncyBhbGxvY2F0b3IuICBVc2UKCXJlYmluZGluZyBpbnN0ZWFkIG9mIF9BbGxvY190cmFpdHMuICBQaWNrIHVwIGRhdGEgbWVtYmVycyBmcm9tIAoJX0RlcXVlX2FsbG9jX2Jhc2UuCgkqIGluY2x1ZGUvYml0cy9zdGxfbGlzdC5oIChfTGlzdF9hbGxvY19iYXNlKTogRWxpbWluYXRlLgoJKF9MaXN0X2Jhc2UpOiBJbmhlcml0IGRpcmVjdGx5IGZyb20gdGhlIGxpc3QncyBhbGxvY2F0b3IuICBVc2UKCXJlYmluZGluZyBpbnN0ZWFkIG9mIF9BbGxvY190cmFpdHMuICBQaWNrIHVwIGRhdGEgbWVtYmVycyBmcm9tIAoJX0xpc3RfYWxsb2NfYmFzZS4KCSogaW5jbHVkZS9iaXRzL3N0bF92ZWN0b3IuaCAoX1ZlY3Rvcl9hbGxvY19iYXNlKTogRWxpbWluYXRlCgkoX1ZlY3Rvcl9iYXNlKTogSW5oZXJpdCBkaXJlY3RseSBmcm9tIHRoZSB2ZWN0b3IncyBhbGxvY2F0b3IuICBVc2UKCXJlYmluZGluZyBpbnN0ZWFkIG9mIF9BbGxvY190cmFpdHMuICBQaWNrIHVwIGRhdGEgbWVtYmVycyBmcm9tIAoJX1ZlY3Rvcl9hbGxvY19iYXNlLgoJKiBpbmNsdWRlL2V4dC9oYXNodGFibGUuaDogRml4IGFsbG9jYXRvciB0eXBlIGNvcnJlY3RuZXNzICh0aGUKCXZlY3RvciBvZiBidWNrZXRzIG11c3QgYmUgcGFzc2VkIGFuIGFsbG9jYXRvciBmb3Igb2JqZWN0cyBvZgoJdHlwZSBfTm9kZSopLiAgVXNlIHJlYmluZGluZyBpbnN0ZWFkIG9mIF9BbGxvY190cmFpdHMuCgkKMjAwMy0xMi0xNyAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHN1c2UuZGU+CgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy50Y2MgKHRpbWVfZ2V0OjpfTV9leHRyYWN0X3ZpYV9mb3JtYXQpOgoJVXNlIG5hcnJvdyB0byBnZXQgZnJvbSBfX2Zvcm1hdFtfX2ldIGEgY2hhciBfX2MgcmVwcmVzZW50aW5nIGEKCWZvcm1hdHRpbmcgY29kZSwgZG9uJ3QgdXNlIGl0IHRvIGNvbXBhcmUgKl9fYmVnIHRvIF9fZm9ybWF0W19faV0uCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvdGltZV9nZXQvZ2V0X2RhdGUvd2NoYXJfdC80LmNjOiBOZXcuCgoyMDAzLTEyLTE3ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAc3VzZS5kZT4KCgkqIHRlc3RzdWl0ZS9wZXJmb3JtYW5jZS9jb250YWluZXJfYmVuY2htYXJrLmNjOiBUd2VhayBvdXRwdXRzLgoKCSogdGVzdHN1aXRlL3BlcmZvcm1hbmNlL2xpc3RfY3JlYXRlX2ZpbGxfc29ydC5jYzogU2hyaW5rIGEKCWJpdCBzb21lIG91dHB1dHMuCgoJKiB0ZXN0c3VpdGUvdGVzdHN1aXRlX3BlcmZvcm1hbmNlLmg6IFdpZGVuIGEgZmV3IG91dHB1dCBmaWVsZHMuCgoJKiB0ZXN0c3VpdGUvcGVyZm9ybWFuY2UvaWZzdHJlYW1fZXh0cmFjdF9pbnQuY2M6IE5ldy4KCjIwMDMtMTItMTYgIFBoaWwgRWR3YXJkcyAgPHBoaWxAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYyAoQU1fSU5JVF9BVVRPTUFLRSk6ICBEb24ndCB3YXJuIGFib3V0IEdOVSBNYWtlLgoJKiBjb25maWd1cmU6ICBSZWdlbmVyYXRlZC4KCSogTWFrZWZpbGUuYW0gKGNoZWNrLSUpOiAgTmV3IGNhdGNoLWFsbCBmb3J3YXJkaW5nIHRhcmdldC4KCSogTWFrZWZpbGUuaW46ICBSZWdlbmVyYXRlZC4KCjIwMDMtMTItMTYgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUBzdXNlLmRlPgoKCSogdGVzdHN1aXRlL3BlcmZvcm1hbmNlL2NvbnRhaW5lcl9iZW5jaG1hcmsuY2M6IE5ldywgYQoJYmVuY2htYXJrIGRldmVsb3BlZCBieSBCamFybmUgU3Ryb3VzdHJ1cCBhbmQgQWxleGFuZGVyCglTdGVwYW5vdiBhbmQgbWFkZSBhdmFpbGFibGUgd2l0aCBubyByZXN0cmljdGlvbnMuCgoJKiB0ZXN0c3VpdGUvdGVzdHN1aXRlX3BlcmZvcm1hbmNlLmggKHJlcG9ydF9oZWFkZXIpOiBOZXcsCgl1c2VmdWwgdG8gcHJvZHVjZSBoZWFkZXIgbGluZXMgaW4gdGhlIHJlcG9ydHMuCgoyMDAzLTEyLTE2ICBKb25hdGhhbiBXYWtlbHkgIDxyZWRpQGdjYy5nbnUub3JnPgoKCSogZG9jcy9odG1sLzIxX3N0cmluZ3MvaG93dG8uaHRtbDogRG9jdW1lbnQgc2hyaW5rLXRvLWZpdCByZXNlcnZlKCkuCgkqIGRvY3MvaHRtbC9mYXEvaW5kZXguaHRtbDogUmVkdWNpbmcgdmVjdG9yJ3MgY2FwYWNpdHkoKSB0byBzaXplKCkuCgkqIGRvY3MvaHRtbC9kb2N1bWVudGF0aW9uLmh0bWwsIGRvY3MvaHRtbC9mYXEvaW5kZXgudHh0OiBSZWdlbmVyYXRlLgoKMjAwMy0xMi0xNiAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHN1c2UuZGU+CgoJKiB0ZXN0c3VpdGUvcGVyZm9ybWFuY2UvbmFycm93X3dpZGVuX2NoYXIuY2M6IFR3ZWFrIHRoZQoJbnVtYmVyIG9mIGl0ZXJhdGlvbnMgZm9yIGVhY2ggdGVzdC4KCSogdGVzdHN1aXRlL3BlcmZvcm1hbmNlL25hcnJvd193aWRlbl93Y2hhcl90LmNjOiBBZGQgYQoJbWlzc2luZyBjbGVhcl9jb3VudGVycy4KCjIwMDMtMTItMTYgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUBzdXNlLmRlPgoKCVBSIGxpYnN0ZGMrKy8xMTcyMwoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy5oOiBBZGQgX01fYml0IGFuZCBfTV93bWFzaywKCXVzZWQgdG8gc3BlZWQgdXAgdGhlIGNvbXB1dGF0aW9uIG9mIGN0eXBlOjpkb19pcy4KCSogY29uZmlnL2xvY2FsZS9nZW5lcmljL2N0eXBlX21lbWJlcnMuY2MKCShfTV9pbml0aWFsaXplX2N0eXBlKTogRmlsbCBfTV9iaXQgYW5kIF9NX3dtYXNrLgoJKGN0eXBlOjpkb19pcyk6IFVzZSBfTV9iaXQgYW5kIF9NX3dtYXNrLgoJKiBjb25maWcvbG9jYWxlL2dudS9jdHlwZV9tZW1iZXJzLmNjOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlL3BlcmZvcm1hbmNlL2lzX3djaGFyX3QuY2M6IE5ldy4KCgkqIHRlc3RzdWl0ZS9wZXJmb3JtYW5jZS9uYXJyb3dfd2lkZW5fd2NoYXJfdC5jYzogVHdlYWsKCXN0cmluZyBsaXRlcmFsIChpbmNvcnJlY3QgY2l0YXRpb24gOykKCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLmg6IE1pbm9yIHR3ZWFrcywgY29uc3QKCWNvcnJlY3RuZXNzLCB1bnNpZ25lZCAtPiBzaXplX3QuCgoyMDAzLTEyLTE2ICBKZXJyeSBRdWlubiAgPGpscXVpbm5Ab3B0b25saW5lLm5ldD4KCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLmggKHdpZGVuLCBuYXJyb3cpOiAgVW5jb21tZW50IHRoZQoJaW50ZW5kZWQgY29kZS4KCjIwMDMtMTItMTUgIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKICAgICAgICAqIGNvbmZpZy9vcy9haXgvY3R5cGVfbm9uaW5saW5lLmgsCgljb25maWcvb3MvYnNkL2ZyZWVic2QvY3R5cGVfbm9uaW5saW5lLmgsCgljb25maWcvb3MvYnNkL25ldGJzZC9jdHlwZV9ub25pbmxpbmUuaCwKCWNvbmZpZy9vcy9kamdwcC9jdHlwZV9ub25pbmxpbmUuaCwKCWNvbmZpZy9vcy9nZW5lcmljL2N0eXBlX25vbmlubGluZS5oLAoJY29uZmlnL29zL2dudS1saW51eC9jdHlwZV9ub25pbmxpbmUuaCwKCWNvbmZpZy9vcy9ocHV4L2N0eXBlX25vbmlubGluZS5oLAoJY29uZmlnL29zL2lyaXgvaXJpeDUuMi9jdHlwZV9ub25pbmxpbmUuaCwKCWNvbmZpZy9vcy9pcml4L2lyaXg2LjUvY3R5cGVfbm9uaW5saW5lLmgsCgljb25maWcvb3MvbWluZ3czMi9jdHlwZV9ub25pbmxpbmUuaCwKCWNvbmZpZy9vcy9uZXdsaWIvY3R5cGVfbm9uaW5saW5lLmgsCgljb25maWcvb3MvcW54L3FueDYuMS9jdHlwZV9ub25pbmxpbmUuaCwKCWNvbmZpZy9vcy9zb2xhcmlzL3NvbGFyaXMyLjUvY3R5cGVfbm9uaW5saW5lLmgsCgljb25maWcvb3Mvc29sYXJpcy9zb2xhcmlzMi42L2N0eXBlX25vbmlubGluZS5oLAoJY29uZmlnL29zL3NvbGFyaXMvc29sYXJpczIuNy9jdHlwZV9ub25pbmxpbmUuaCwKCWNvbmZpZy9vcy92eHdvcmtzL2N0eXBlX25vbmlubGluZS5oLAoJY29uZmlnL29zL3dpbmRpc3MvY3R5cGVfbm9uaW5saW5lLmggKGN0eXBlKTogIEluaXRpYWxpemUKCV9NX25hcnJvdywgX01fd2lkZW4uCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLmggKF9NX3dpZGVuLCBfTV93aWRlbl9vaywKCV9NX25hcnJvdywgX01fbmFycm93X29rKTogTmV3LgoJKHdpZGVuLCBuYXJyb3cpOiBVc2UgdGFibGVzIHRvIGJ5cGFzcyB2aXJ0dWFsIGZ1bmN0aW9ucy4KCShfTV93aWRlbl9pbml0LCBfTV9uYXJyb3dfaW5pdCk6IE5ldy4KCjIwMDMtMTItMTUgIENhcmxvIFdvb2QgIDxjYXJsb0BhbGlub2UuY29tPgoKCSogaW5jbHVkZS9iaXRzL2lvc19iYXNlLmggKEluaXQ6Ol9TX2luaXRpYWxpemVkKTogQ2hhbmdlIGludG8KCWRlY2xhcmF0aW9uLgoJKiBzcmMvaW9zX2luaXQuY2MgKEluaXQ6Ol9TX2luaXRpYWxpemVkKTogQWRkIGRlZmluaXRpb24uCgoyMDAzLTEyLTE1ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJUFIgbGlic3RkYysrLzEyNjU4CgkqIGluY2x1ZGUvTWFrZWZpbGUuYW0gKGJpdHNfaGVhZGVycyk6IEFkZCBjb25jdXJyZW5jZS5oLgoJKiBpbmNsdWRlL01ha2VmaWxlLmluOiBSZWdlbmVyYXRlZC4KCSogaW5jbHVkZS9iaXRzL2NvbmN1cnJlbmNlLmg6IE5ldy4KCSogc3JjL2xvY2FsZV9pbml0LmNjOiBVc2UgaXQuCgkobG9jYWxlOjpsb2NhbGUpOiBMb2NrIGNyaXRpY2FsIHJlZ2lvbnMuCgkobG9jYWxlOjpnbG9iYWwpOiBTYW1lLgoJCjIwMDMtMTItMTUgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvYml0cy9iYXNpY19zdHJpbmcuaDogQ2hhbmdlIF8qX3JlZmVyZW5jZXMgdG8gXypfcmVmY291bnQuCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfY2xhc3Nlcy5oOiBTYW1lLgoJKiBzcmMvbG9jYWxlLmNjOiBTYW1lLgoJKiBzcmMvbG9jYWxlX25hbWUuY2M6IFNhbWUuCQoJKiBzcmMvbG9jYWxlX2luaXQuY2M6IFNhbWUuCQoJCjIwMDMtMTItMTUgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCglQUiBsaWJzdGRjKysvMTI4NTUJCgkqIGluY2x1ZGUvYml0cy9pb3NfYmFzZS5oIChJbml0OjpfU19pb3NfYmFzZV9pbml0KTogQ2hhbmdlIHRvCglfU19yZWZjb3VudCwgbWFrZSBhdG9taWMuCgkqIHNyYy9pb3MuY2M6IEFkanVzdCBkZWZpbml0aW9uLgkKCSogc3JjL2lvc19pbml0LmNjIChpb3NfYmFzZTo6SW5pdDo6SW5pdCk6IFVzZSBfX2V4Y2hhbmdlX2FuZF9hZGQsCglhbmQgX19hdG9taWNfYWRkLgoJKGlvc19iYXNlOjpJbml0Ojp+SW5pdCk6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yN19pby9pb3NfYmFzZS9jb25zL2Fzc2lnbl9uZWcuY2M6IEFkanVzdCBsaW5lIG51bWJlcnMuCgkqIHRlc3RzdWl0ZS8yN19pby9pb3NfYmFzZS9jb25zL2NvcHlfbmVnLmNjOiBTYW1lLgoJCjIwMDMtMTItMTUgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUBzdXNlLmRlPgoKCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjIChudW1fZ2V0Ojpkb19nZXQoYm9vbCYpKToKCUZhaWwgYXMgc29vbiBhcyB0aGUgYmVnaW5zIG9mIGJvdGggdHJ1ZW5hbWUgYW5kIGZhbHNlbmFtZQoJc3RvcCB0byBtYXRjaDsgYWx3YXlzIGxlYXZlIF9fYmVnIG9uZSBwb3NpdGlvbiBiZXlvbmQgdGhlCglsYXN0IGNoYXIgc3VjY2Vzc2Z1bGx5IG1hdGNoZWQuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtX2dldC9nZXQvY2hhci84LmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtX2dldC9nZXQvd2NoYXJfdC84LmNjOiBMaWtld2lzZS4KCjIwMDMtMTItMTUgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUBzdXNlLmRlPgoKCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMuaCAoX01fd2lkZW4pOiBSZXNlcnZlIHNwYWNlCglmb3IgYWxsIHRoZSBwb3NzaWJsZSB3aWRlbmVkIGNoYXJzLgkKCSogY29uZmlnL2xvY2FsZS9nZW5lcmljL2N0eXBlX21lbWJlcnMuY2MgKF9NX2luaXRpYWxpemVfY3R5cGUpOgoJQ29tcHV0ZSBhdCBjb25zdHJ1Y3Rpb24gdGltZSBhbGwgdGhlIHBvc3NpYmxlIHdpZGVuZWQgY2hhcnMuCgkoZG9fd2lkZW4pOiBUd2Vhaywgc2ltcGxpZnkuCgkqIGNvbmZpZy9sb2NhbGUvZ251L2N0eXBlX21lbWJlcnMuY2M6IExpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvcGVyZm9ybWFuY2UvbmFycm93X3dpZGVuX3djaGFyX3QuY2M6IEFkZCB0ZXN0cwoJZm9yIHRoZSBhcnJheSB2ZXJzaW9ucy4KCjIwMDMtMTItMTIgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUBzdXNlLmRlPgoJICAgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCglQUiBsaWJzdGRjKysvMTMzNDEKCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMuaCAoY3R5cGU8d2NoYXJfdD4pOiBEZWNsYXJlCglfTV9pbml0aWFsaXplX2N0eXBlKCkgYW5kIF9NX25hcnJvd19vaywgX01fbmFycm93IGFuZCBfTV93aWRlbi4KCSogc3JjL2N0eXBlLmNjIChjdHlwZTx3Y2hhcl90Pjo6Y3R5cGUoc2l6ZV90KSwKCWN0eXBlPHdjaGFyX3Q+OjpjdHlwZShfX2NfbG9jYWxlLCBzaXplX3QpKTogVXNlCglfTV9pbml0aWFsaXplX2N0eXBlIHRvIGZpbGwgX01fbmFycm93IGFuZCBfTV93aWRlbi4KCShjdHlwZV9ieW5hbWU8d2NoYXJfdD46OmN0eXBlX2J5bmFtZShjb25zdCBjaGFyKiwgc2l6ZV90KSk6CglMaWtld2lzZS4KCSogY29uZmlnL2xvY2FsZS9nZW5lcmljL2N0eXBlX21lbWJlcnMuY2MgKGRvX25hcnJvdywgZG9fd2lkZW4pCglVc2UgX01fbmFycm93IGFuZCBfTV93aWRlbiB3aGVuIHBvc3NpYmxlLCBpbnN0ZWFkIG9mIGNhbGxpbmcKCXdjdG9iIGFuZCBidG93YywgcmVzcGVjdGl2ZWx5LgoJKF9NX2luaXRpYWxpemVfY3R5cGUpOiBEZWZpbmUsIGl0IGZpbGxzIGF0IGNvbnN0cnVjdGlvbiB0aW1lCglfTV9uYXJyb3cgYW5kIF9NX3dpZGVuLgoJKiBjb25maWcvbG9jYWxlL2dudS9jdHlwZV9tZW1iZXJzLmNjOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlL3BlcmZvcm1hbmNlL25hcnJvd193aWRlbl93Y2hhcl90LmNjOiBOZXcuCgoyMDAzLTEyLTEyICBKb25hdGhhbiBXYWtlbHkgIDxyZWRpQGdjYy5nbnUub3JnPgoKCSogZG9jcy9odG1sL2ZhcS9pbmRleC50eHQ6IFJlZ2VuZXJhdGUgYWZ0ZXIgYWRkaW5nIDxsaW5rPiB0YWdzLgoKMjAwMy0xMi0xMSAgTmVpbCBGZXJndXNvbiAgPG5mZXJndXNvQGVzby5vcmc+CiAgICAgICAgICAgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUBzdXNlLmRlPgoKCSogaW5jbHVkZS9iaXRzL2Jhc2ljX3N0cmluZy50Y2MgKHJlc2VydmUpOiBBbGxvdyBzaHJpbmstdG8tZml0LgoJKiB0ZXN0c3VpdGUvMjFfc3RyaW5ncy9iYXNpY19zdHJpbmcvY2FwYWNpdHkvMS5jYzogVHdlYWsuCgkqIHRlc3RzdWl0ZS8yMV9zdHJpbmdzL2Jhc2ljX3N0cmluZy9jYXBhY2l0eS9jaGFyLzEuY2M6IERpdHRvLgoJKiB0ZXN0c3VpdGUvMjFfc3RyaW5ncy9iYXNpY19zdHJpbmcvY2FwYWNpdHkvd2NoYXJfdC8xLmNjOiBEaXR0by4KCjIwMDMtMTItMTAgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCglQUiBsaWJzdGRjKysvNjI0MwoJKiB0ZXN0c3VpdGUvbGliL2xpYnN0ZGMrKy5leHAgKHYzLWluaXQpOiBBZGQKCW9yaWdpbmFsX2xkX2xpYnJhcnlfcGF0aCwgY2FsY3VsYXRlIGxkX2xpYnJhcnkgcGF0aCwgc2V0CglMRF9MSUJSQVJZX1BBVEggdG8gYm90aC4gQmFzZWQgb24gbGliamF2YS5leHAuCgkKMjAwMy0xMi0xMCAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgogICAgICAgICAgICBBbGV4YW5kcmUgT2xpdmEgIDxhb2xpdmFAcmVkaGF0LmNvbT4KCQoJUFIgbGlic3RkYysrLzExNjEyCgkqIHRlc3RzdWl0ZS9NYWtlZmlsZS5hbSAoR0xJQkNYWF9ESVIpOiBOZXcuCgkoR0xJQkdDQ19ESVIpOiBOZXcuCgkoQ1hYTElOSyk6IFVzZSBib3RoIHdpdGggLVIgc28gbGlidG9vbCBsaW5rcyB0aGUgY29ycmVjdCBsaWJzLgoKMjAwMy0xMi0xMCAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHN1c2UuZGU+CgoJUFIgbGlic3RkYysrLzEzMjE3CgkqIGluY2x1ZGUvYml0cy9mc3RyZWFtLnRjYyAodW5kZXJmbG93KTogRGVhbCBncmFjZWZ1bGx5IHdpdGgKCXJlYWQgZXJyb3JzOiB0aHJvdyBpb3NfYmFzZTo6ZmFpbHVyZS4KCjIwMDMtMTItMTAgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCglQUiBsaWJzdGRjKysvMTAwNjMKCSogY29uZmlnL2lvL2Jhc2ljX2ZpbGVfc3RkaW8uY2MgKF9fYmFzaWNfZmlsZTo6c3lzX29wZW4pOiBTeW5jLgoJKiB0ZXN0c3VpdGUvZXh0L3N0ZGlvX2ZpbGVidWYvY2hhci8xMDA2My0xLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS9leHQvc3RkaW9fZmlsZWJ1Zi9jaGFyLzEwMDYzLTIuY2M6IE5ldy4KCQoyMDAzLTEyLTEwICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAc3VzZS5kZT4KCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLnRjYyAobnVtX3B1dDo6ZG9fcHV0KHZvaWQqKSk6CglSZW1vdmUgdGhlIHRyeS9jYXRjaCwgbm90IG5lY2Vzc2FyeS4KCjIwMDMtMTItMTAgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUBzdXNlLmRlPgoKCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9sb2NhbGUvY29ucy8xMjQzOC5jYzogVHdlYWsgbWVtb3J5CglsaW1pdCBhbmQgaXRlcmF0aW9ucyB0byBhdm9pZCBzcHVyaW91cyBmYWlsdXJlcyBvbiBzb21lCgk2NCBiaXQgbWFjaGluZXMuCgoyMDAzLTEyLTA5ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgkKCSogY29uZmlnL2xpbmtlci1tYXAuZ251OiBSZW1vdmUgcHJpdmF0ZSBpb3NfYmFzZSBtZW1iZXJzIGZyb20KCWV4cG9ydCBsaXN0LgoKCSogY29uZmlnL2NwdS9hbHBoYS9hdG9taWNpdHkuaDogQ29uc2lzdGVudGx5IGZvcm1hdC4KCSogY29uZmlnL2NwdS9jcmlzL2F0b21pY2l0eS5oOiBTYW1lLgoJKiBjb25maWcvY3B1L2dlbmVyaWMvYXRvbWljaXR5Lmg6IFNhbWUuCgkqIGNvbmZpZy9jcHUvaHBwYS9hdG9taWNpdHkuaDogU2FtZS4KCSogY29uZmlnL2NwdS9pMzg2L2F0b21pY2l0eS5oOiBTYW1lLgoJKiBjb25maWcvY3B1L2k0ODYvYXRvbWljaXR5Lmg6IFNhbWUuCgkqIGNvbmZpZy9jcHUvaWE2NC9hdG9taWNpdHkuaDogU2FtZS4KCSogY29uZmlnL2NwdS9tNjhrL2F0b21pY2l0eS5oOiBTYW1lLgoJKiBjb25maWcvY3B1L21pcHMvYXRvbWljaXR5Lmg6IFNhbWUuCgkqIGNvbmZpZy9jcHUvcG93ZXJwYy9hdG9taWNpdHkuaDogU2FtZS4KCSogY29uZmlnL2NwdS9zMzkwL2F0b21pY2l0eS5oOiBTYW1lLgoJKiBjb25maWcvY3B1L3NwYXJjL2F0b21pY2l0eS5oOiBTYW1lLgoJCjIwMDMtMTItMDkgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCglQUiBsaWJzdGRjKysvMTMyOTYKCSogYWNpbmNsdWRlLm00IChHTElCQ1hYX0VOQUJMRV9MSUJVTldJTkRfRVhDRVBUSU9OUyk6IFJlbW92ZS4KCSogYWNsb2NhbC5tNDogUmVnZW5lcmF0ZS4KCSogY29uZmlndXJlLmFjOiBSZW1vdmUgY2FsbCB0byBHTElCQ1hYX0VOQUJMRV9MSUJVTldJTkRfRVhDRVBUSU9OUy4KCSogY29uaWd1cmU6IFJlZ2VuZXJhdGUuCgkqIHNyYy9NYWtlZmlsZS5hbSAobGlic3RkY19fX2xhX0xERkxBR1MpOiBSZW1vdmUgTElCVU5XSU5EX0ZMQUdTLgoJKiBzcmMvTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkqIGRvY3MvaHRtbC8xN19pbnRyby9jb25maWd1cnkuaHRtbDogTW9kaWZ5LgoJCjIwMDMtMTItMDkgIFBhb2xvIENhcmxpbmkgIDxwY2FlbGluaUBzdXNlLmRlPgoJCgkqIGluY2x1ZGUvYml0cy9kZW1hbmdsZS5oIChzdHJ1Y3QgaW1wbGVtZW50YXRpb25fZGV0YWlscyk6CglLZWVwIGluIGNvbW1lbnRzIHRoZSBuYW1lcyBvZiB0aGUgdW51c2VkIHBhcmFtZXRlcnMuCgoyMDAzLTEyLTA5ICBQYW9sbyBDYXJsaW5pICA8cGNhZWxpbmlAc3VzZS5kZT4KCgkqIGluY2x1ZGUvYml0cy9kZW1hbmdsZS5oIChzdHJ1Y3QgaW1wbGVtZW50YXRpb25fZGV0YWlscyk6CglGaXggdW51c2VkIHBhcmFtZXRlcnMgd2FybmluZy4KCjIwMDMtMTItMDkgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUBzdXNlLmRlPgoKCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjIChudW1fZ2V0OjpfTV9leHRyYWN0X2ludCk6CglTbGlnaHRseSBzdHJlYW1saW5lIHRoZSBjb2RlIGRlYWxpbmcgd2l0aCBvdmVyZmxvd3MgYW5kIHRoZQoJcGFyc2luZyBvZiB0aGUgc2lnbi4KCjIwMDMtMTItMDkgIEJlcm5hcmRvIElubm9jZW50aSAgPGJlcm5pZUBkZXZlbGVyLmNvbT4KCgkqIGluY2x1ZGUvZXh0L2FsZ29yaXRobSwgaW5jbHVkZS9leHQvZGVidWdfYWxsb2NhdG9yLmgsCglpbmNsdWRlL2V4dC9lbmNfZmlsZWJ1Zi5oLCBpbmNsdWRlL2V4dC9mdW5jdGlvbmFsLAoJaW5jbHVkZS9leHQvaGFzaF9mdW4uaCwgaW5jbHVkZS9leHQvaGFzaF9tYXAsIGluY2x1ZGUvZXh0L2hhc2hfc2V0LAoJaW5jbHVkZS9leHQvaGFzaHRhYmxlLmgsIGluY2x1ZGUvZXh0L2l0ZXJhdG9yLAoJaW5jbHVkZS9leHQvbWFsbG9jX2FsbG9jYXRvci5oLCBpbmNsdWRlL2V4dC9tZW1vcnksCglpbmNsdWRlL2V4dC9tdF9hbGxvY2F0b3IuaCwgaW5jbHVkZS9leHQvbnVtZXJpYywKCWluY2x1ZGUvZXh0L3BvZF9jaGFyX3RyYWl0cy5oLCBpbmNsdWRlL2V4dC9wb29sX2FsbG9jYXRvci5oLAoJaW5jbHVkZS9leHQvcmJfdHJlZSwgaW5jbHVkZS9leHQvcm9wZSwgaW5jbHVkZS9leHQvcm9wZWltcGwuaCwKCWluY2x1ZGUvZXh0L3NsaXN0LCBpbmNsdWRlL2V4dC9zdGRpb19maWxlYnVmLmgsCglpbmNsdWRlL2V4dC9zdGRpb19zeW5jX2ZpbGVidWYuaDogUmVtb3ZlIHRyYWlsaW5nIHdoaXRlc3BhY2UuCgoyMDAzLTEyLTA5ICBCZXJuYXJkbyBJbm5vY2VudGkgIDxiZXJuaWVAZGV2ZWxlci5jb20+CgoJKiBpbmNsdWRlL2RlYnVnL2JpdHNldCwgaW5jbHVkZS9kZWJ1Zy9kZWJ1Zy5oLCBpbmNsdWRlL2RlYnVnL2RlcXVlLAoJaW5jbHVkZS9kZWJ1Zy9mb3JtYXR0ZXIuaCwgaW5jbHVkZS9kZWJ1Zy9oYXNoX21hcC5oLAoJaW5jbHVkZS9kZWJ1Zy9oYXNoX211bHRpbWFwLmgsIGluY2x1ZGUvZGVidWcvaGFzaF9tdWx0aXNldC5oLAoJaW5jbHVkZS9kZWJ1Zy9oYXNoX3NldCwgaW5jbHVkZS9kZWJ1Zy9oYXNoX3NldC5oLCBpbmNsdWRlL2RlYnVnL2xpc3QsCglpbmNsdWRlL2RlYnVnL21hcC5oLCBpbmNsdWRlL2RlYnVnL211bHRpbWFwLmgsCglpbmNsdWRlL2RlYnVnL211bHRpc2V0LmgsIGluY2x1ZGUvZGVidWcvc2FmZV9iYXNlLmgsCglpbmNsdWRlL2RlYnVnL3NhZmVfaXRlcmF0b3IuaCwgaW5jbHVkZS9kZWJ1Zy9zYWZlX2l0ZXJhdG9yLnRjYywKCWluY2x1ZGUvZGVidWcvc2FmZV9zZXF1ZW5jZS5oLCBpbmNsdWRlL2RlYnVnL3NldC5oLAoJaW5jbHVkZS9kZWJ1Zy9zdHJpbmcsIGluY2x1ZGUvZGVidWcvdmVjdG9yOiBSZW1vdmUgdHJhaWxpbmcgd2hpdGVzcGFjZS4KCjIwMDMtMTItMDkgIEJlcm5hcmRvIElubm9jZW50aSAgPGJlcm5pZUBkZXZlbGVyLmNvbT4KCgkqIGluY2x1ZGUvY19jb21wYXRpYmlsaXR5L2lzbzY0Ni5oLCBpbmNsdWRlL2NfY29tcGF0aWJpbGl0eS9saW1pdHMuaCwKCWluY2x1ZGUvY19jb21wYXRpYmlsaXR5L2xvY2FsZS5oLCBpbmNsdWRlL2NfY29tcGF0aWJpbGl0eS9zdGRpby5oLAoJaW5jbHVkZS9jX2NvbXBhdGliaWxpdHkvc3RyaW5nLmgsIGluY2x1ZGUvY19jb21wYXRpYmlsaXR5L3RpbWUuaCwKCWluY2x1ZGUvY19jb21wYXRpYmlsaXR5L3djaGFyLmgsIGluY2x1ZGUvY19jb21wYXRpYmlsaXR5L3djdHlwZS5oOgoJUmVtb3ZlIHRyYWlsaW5nIHdoaXRlc3BhY2UuCgoyMDAzLTEyLTA5ICBCZXJuYXJkbyBJbm5vY2VudGkgIDxiZXJuaWVAZGV2ZWxlci5jb20+CgoJKiBpbmNsdWRlL2Nfc3RkL2NtYXRoLnRjYywgaW5jbHVkZS9jX3N0ZC9zdGRfY2Fzc2VydC5oLAoJaW5jbHVkZS9jX3N0ZC9zdGRfY2N0eXBlLmgsIGluY2x1ZGUvY19zdGQvc3RkX2NtYXRoLmgsCglpbmNsdWRlL2Nfc3RkL3N0ZF9jc3RkZGVmLmgsIGluY2x1ZGUvY19zdGQvc3RkX2NzdGRpby5oLAoJaW5jbHVkZS9jX3N0ZC9zdGRfY3N0ZGxpYi5oLCBpbmNsdWRlL2Nfc3RkL3N0ZF9jc3RyaW5nLmgsCglpbmNsdWRlL2Nfc3RkL3N0ZF9jd2NoYXIuaCwgaW5jbHVkZS9jX3N0ZC9zdGRfY3djdHlwZS5oOgoJUmVtb3ZlIHRyYWlsaW5nIHdoaXRlc3BhY2UuCgoyMDAzLTEyLTA5ICBCZXJuYXJkbyBJbm5vY2VudGkgIDxiZXJuaWVAZGV2ZWxlci5jb20+CgoJKiBpbmNsdWRlL2Mvc3RkX2NjdHlwZS5oLCBpbmNsdWRlL2Mvc3RkX2NtYXRoLmgsCglpbmNsdWRlL2Mvc3RkX2NzdGRsaWIuaCBpbmNsdWRlL2Mvc3RkX2N3Y2hhci5oLAoJaW5jbHVkZS9jL3N0ZF9jd2N0eXBlLmg6IFJlbW92ZSB0cmFpbGluZyB3aGl0ZXNwYWNlLgoKMjAwMy0xMi0wOSAgQmVybmFyZG8gSW5ub2NlbnRpICA8YmVybmllQGRldmVsZXIuY29tPgoKCSogaW5jbHVkZS9iYWNrd2FyZC9hbGdvLmgsIGluY2x1ZGUvYmFja3dhcmQvYWxnb2Jhc2UuaCwKCWluY2x1ZGUvYmFja3dhcmQvYWxsb2MuaCwgaW5jbHVkZS9iYWNrd2FyZC9jb21wbGV4LmgsCglpbmNsdWRlL2JhY2t3YXJkL2RlZmFsbG9jLmgsIGluY2x1ZGUvYmFja3dhcmQvZnVuY3Rpb24uaCwKCWluY2x1ZGUvYmFja3dhcmQvaXRlcmF0b3IuaCwgaW5jbHVkZS9iYWNrd2FyZC9uZXcuaCwKCWluY2x1ZGUvYmFja3dhcmQvb3N0cmVhbS5oLCBpbmNsdWRlL2JhY2t3YXJkL3F1ZXVlLmgsCglpbmNsdWRlL2JhY2t3YXJkL3JvcGUuaCwgaW5jbHVkZS9iYWNrd2FyZC9zdHJlYW0uaCwKCWluY2x1ZGUvYmFja3dhcmQvc3RyZWFtYnVmLmgsIGluY2x1ZGUvYmFja3dhcmQvc3Ryc3RyZWFtLAoJaW5jbHVkZS9iYWNrd2FyZC90ZW1wYnVmLmgsIGluY2x1ZGUvYmFja3dhcmQvdHJlZS5oLAoJaW5jbHVkZS9iYWNrd2FyZC92ZWN0b3IuaDogUmVtb3ZlIHRyYWlsaW5nIHdoaXRlc3BhY2UuCgoyMDAzLTEyLTA4ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAc3VzZS5kZT4KCgkqIGNvbmZpZy9sb2NhbGUvZ2VuZXJpYy9jX2xvY2FsZS5jYyAoX19jb252ZXJ0X3RvX3YobG9uZyYpLAoJX19jb252ZXJ0X3RvX3YodW5zaWduZWQgbG9uZyYpLCBfX2NvbnZlcnRfdG9fdihsb25nIGxvbmcmKSwKCV9fY29udmVydF90b192KHVuc2lnbmVkIGxvbmcgbG9uZyYpOiBSZW1vdmUuCgkoX19jb252ZXJ0X3RvX3YoZmxvYXQmKSwgX19jb252ZXJ0X3RvX3YoZG91YmxlJiksCglfX2NvbnZlcnRfdG9fdihsb25nIGRvdWJsZSYpKTogUmVtb3ZlIGxhc3QgdW51c2VkIHBhcmFtZXRlci4KCSogY29uZmlnL2xvY2FsZS9nbnUvY19sb2NhbGUuY2M6IExpa2V3aXNlLgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy5oOiBMaWtld2lzZS4KCShudW1fZ2V0OjpfTV9leHRyYWN0X2ludCk6IFVwZGF0ZSBkZWNsYXJhdGlvbi4KCShjbGFzcyBfX251bV9iYXNlKTogVHdlYWsgX1NfaWUgYW5kIF9TX2lFIGFjY29yZGluZyB0byB0aGUKCV9TX2F0b21zX2luIGNoYW5nZXMuCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLnRjYyAobnVtX2dldDo6X01fZXh0cmFjdF9pbnQpOgoJUHJvdmlkZSBkaXJlY3RseSB0aGUgZmluYWwgX1ZhbHVlVCwgbm90IGEgc3RyaW5nOiBhY2N1bXVsYXRlCgl0aGUgcmVzdWx0IGNoZWNraW5nIGZvciBvdmVyZmxvdyBhdCBlYWNoIGRpZ2l0LgoJKG51bV9nZXQ6OmRvX2dldChib29sJiksIG51bV9nZXQ6OmRvX2dldChsb25nJiksCgludW1fZ2V0Ojpkb19nZXQodW5zaWduZWQgc2hvcnQmKSwgbnVtX2dldDo6ZG9fZ2V0KHVuc2lnbmVkIGludCYpLAoJbnVtX2dldDo6ZG9fZ2V0KHVuc2lnbmVkIGxvbmcmKSwgbnVtX2dldDo6ZG9fZ2V0KGxvbmcgbG9uZyYpLAoJbnVtX2dldDo6ZG9fZ2V0KHVuc2lnbmVkIGxvbmcgbG9uZyYpLCBudW1fZ2V0Ojpkb19nZXQodm9pZComKSk6CglVc2UgdGhlIG5ldyBfTV9leHRyYWN0X2ludCwgc2ltcGxpZnkuCgkqIHNyYy9sb2NhbGUtaW5zdC5jYyAobnVtX2dldDo6X01fZXh0cmFjdF9pbnQobG9uZyYpLAoJbnVtX2dldDo6X01fZXh0cmFjdF9pbnQodW5zaWduZWQgc2hvcnQmKSwKCW51bV9nZXQ6Ol9NX2V4dHJhY3RfaW50KHVuc2lnbmVkIGludCYpLAoJbnVtX2dldDo6X01fZXh0cmFjdF9pbnQodW5zaWduZWQgbG9uZyYpLAoJbnVtX2dldDo6X01fZXh0cmFjdF9pbnQobG9uZyBsb25nJiksCgludW1fZ2V0OjpfTV9leHRyYWN0X2ludCh1bnNpZ25lZCBsb25nIGxvbmcmKTogSW5zdGFudGlhdGUuCgkqIHNyYy9sb2NhbGVfZmFjZXRzLmNjIChfX251bV9iYXNlOjpfU19hdG9tc19pbik6IFJlb3JkZXIKICAgICAgICB0aGUgY2hhcnMgaW4gdGhlIG5hdHVyYWwgb3JkZXI6IGFiY2RlZkFCQ0RFRi4KCjIwMDMtMTItMDggIERhdmlkIFMuIE1pbGxlciAgPGRhdmVtQHJlZGhhdC5jb20+CgoJUFIgbGlic3RkYysrLzEyNDk2CgkqIGNvbmZpZy9jcHUvc3BhcmMvYXRvbWljaXR5LmggKF9fZXhjaGFuZ2VfYW5kX2FkZCwgX19hdG9taWNfYWRkKToKCUV4dGVuZCBpbmNyZW1lbnQgdG8gX0F0b21pY193b3JkIGJlZm9yZSBnaXZpbmcgdG8gYXNzZW1ibGVyLgoKMjAwMy0xMi0wNiAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogdGVzdHN1aXRlL2V4dC9lbmNfZmlsZWJ1Zi9jaGFyLzEzMTg5LmNjOiBHdWFyZCBmb3IgX19lbmNfdHJhaXRzLgoJKiB0ZXN0c3VpdGUvZXh0L2VuY19maWxlYnVmL3djaGFyX3QvMTMxODkuY2M6IFNhbWUuCgkKMjAwMy0xMi0wNiAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCVBSIGxpYnN0ZGMrKy8xMTY5MSAKCSogaW5jbHVkZS9leHQvc3RkaW9fZmlsZWJ1Zi5oIChzdGRpb19maWxlYnVmOjpzdGRpb19maWxlYnVmKToKCVJlbW92ZSBfX2RlbCBhcmd1bWVudCB0byBmaWxlIGRlc2NyaXB0b3IgY29uc3RydWN0b3IuCgkqIGNvbmZpZy9pby9iYXNpY19maWxlX3N0ZGlvLmggKF9fYmFzaWNfZmlsZTo6c3lzX29wZW4pOiBSZW1vdmUKCWJvb2wgYXJndW1lbnQuCgkqIGNvbmZpZy9pby9iYXNpY19maWxlX3N0ZGlvLmNjOiBTYW1lLgoKMjAwMy0xMi0wNSAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCVBSIGxpYnN0ZGMrKy8xMzE4OQoJKiBpbmNsdWRlL2V4dC9lbmNfZmlsZWJ1Zi5oOiBGaXguCgkqIGluY2x1ZGUvYml0cy9mc3RyZWFtLnRjYzogVHdlYWsgZm9ybWF0dGluZy4KCSogaW5jbHVkZS9iaXRzL3Bvc3R5cGVzLmg6IFNhbWUuCgkqIGluY2x1ZGUvYml0cy9zc3RyZWFtLnRjYzogU2FtZS4KCSogaW5jbHVkZS9iaXRzL3N0cmVhbWJ1Zi50Y2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS9leHQvc3RkaW9fZmlsZWJ1Zi5jYzogU3BsaXQuCgkqIHRlc3RzdWl0ZS9leHQvc3RkaW9fZmlsZWJ1Zl8yLmNjOiBTcGxpdC4KCSogdGVzdHN1aXRlL2V4dC9zdGRpb19zeW5jX2ZpbGVidWZfY2hhci5jYzogU3BsaXQuCgkqIHRlc3RzdWl0ZS9leHQvc3RkaW9fc3luY19maWxlYnVmX3djaGFyX3QuY2M6IFNwbGl0LgoJKiB0ZXN0c3VpdGUvZXh0L2VuY19maWxlYnVmL2NoYXIvMTMxODkuY2M6IE5ldy4KCSogdGVzdHN1aXRlL2V4dC9lbmNfZmlsZWJ1Zi93Y2hhcl90LzEzMTg5LmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS9leHQvc3RkaW9fZmlsZWJ1Zi9jaGFyLzEuY2M6IE5ldy4KCSogdGVzdHN1aXRlL2V4dC9zdGRpb19maWxlYnVmL2NoYXIvMi5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvZXh0L3N0ZGlvX3N5bmNfZmlsZWJ1Zi9jaGFyLzEuY2M6IE5ldy4KCSogdGVzdHN1aXRlL2V4dC9zdGRpb19zeW5jX2ZpbGVidWYvY2hhci8xMjA0OC0xLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS9leHQvc3RkaW9fc3luY19maWxlYnVmL2NoYXIvMTIwNDgtMi5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvZXh0L3N0ZGlvX3N5bmNfZmlsZWJ1Zi9jaGFyLzEyMDQ4LTMuY2M6IE5ldy4KCSogdGVzdHN1aXRlL2V4dC9zdGRpb19zeW5jX2ZpbGVidWYvY2hhci8xMjA0OC00LmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS9leHQvc3RkaW9fc3luY19maWxlYnVmL3djaGFyX3QvMS5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvZXh0L3N0ZGlvX3N5bmNfZmlsZWJ1Zi93Y2hhcl90LzEyOTQ4LTEuY2M6IE5ldy4KCSogdGVzdHN1aXRlL2V4dC9zdGRpb19zeW5jX2ZpbGVidWYvd2NoYXJfdC8xMjk0OC0yLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS9leHQvc3RkaW9fc3luY19maWxlYnVmL3djaGFyX3QvMTI5NDgtMy5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvZXh0L3N0ZGlvX3N5bmNfZmlsZWJ1Zi93Y2hhcl90LzEyOTQ4LTQuY2M6IE5ldy4KCjIwMDMtMTItMDUgIENhcmxvIFdvb2QgIDxjYXJsb0BhbGlub2UuY29tPgoKCVBSIGxpYnN0ZGMrKy8xMzA0NQoJKiBiaXRzL2RlbWFuZ2xlLmgKCW5hbWVzcGFjZSBfX2dudV9jeHg6OmRlbWFuZ2xlcgoJKGVudW0gc3Vic3RpdHV0aW9uX250KTogUmVtb3ZlZCB0cmFpbGluZyBjb21tYS4KCShpbXBsZW1lbnRhdGlvbl9kZXRhaWxzKTogQWRkZWQuCgkoc2Vzc2lvbjxBbGxvY2F0b3I+OjpNX2ltcGxlbWVudGF0aW9uX2RldGFpbHMpOiBBZGRlZC4KCShzZXNzaW9uPEFsbG9jYXRvcj46OnNlc3Npb24pOiBQYXNzIGltcGxlbWVudGF0aW9uX2RldGFpbHMuCgkoc2Vzc2lvbjxBbGxvY2F0b3I+OjpkZWNvZGVfZW5jb2RpbmcpOiBTYW1lLgoJKHNlc3Npb248QWxsb2NhdG9yPjo6ZGVjb2RlX3JlYWwpOiBBZGRlZC4KCShfR0xJQkNYWF9ERU1BTkdMRVJfU1RZTEVfVk9JRCBfR0xJQkNYWF9ERU1BTkdMRVJfU1RZTEVfTElURVJBTAoJX0dMSUJDWFhfREVNQU5HTEVSX1NUWUxFX0xJVEVSQUxfSU5UCglfR0xJQkNYWF9ERU1BTkdMRVJfU1RZTEVfQ09NUEFDVF9FWFBSX09QUwoJX0dMSUJDWFhfREVNQU5HTEVSX1NUWUxFX1NJWkVPRl9UWVBFTkFNRSk6IFJlcGxhY2VkIHdpdGgKCWltcGxlbWVudGF0aW9uX2RldGFpbHMgZXF1aXZhbGVudC4KCShzZXNzaW9uPEFsbG9jYXRvcj46OmRlY29kZV9leHByZXNzaW9uKToKCVVzZSBNX2ltcGxlbWVudGF0aW9uX2RldGFpbHMgaW5zdGVhZCBvZiBtYWNyb3MuIEFkZCBleHRyYSBwYXJlbnRoZXNlcwoJYXJvdW5kICdsYXJnZXIgdGhhbicgb3BlcmF0b3IgaW4gZXhwcmVzc2lvbnMgaW4gdGVtcGxhdGUgYXJndW1lbnRzLgoJKHNlc3Npb248QWxsb2NhdG9yPjo6ZGVjb2RlX2JhcmVfZnVuY3Rpb25fdHlwZSk6IElkZW0uCgkoc2Vzc2lvbjxBbGxvY2F0b3I+OjpkZWNvZGVfbGl0ZXJhbCk6CglJZGVtLCBhbmQgY2FsbCBkZWNvZGVfcmVhbCBmb3IgZmxvYXRpbmcgbGl0ZXJhbHMuCgkoc2Vzc2lvbjxBbGxvY2F0b3I+OjpkZWNvZGVfdHlwZV93aXRoX3Bvc3RmaXgpOiBQdXQgdGhlIHBvc3RmaXgKCW9mIHRoZSByZXR1cm4gdHlwZSBvZiAobWVtYmVyKSBmdW5jdGlvbnMgYWZ0ZXIgdGhlIGZ1bmN0aW9uCglpbnN0ZWFkIG9mIGFmdGVyIHRoZSByZXR1cm4gdHlwZS4gIEFsc28sIHB1dCBhIHNwYWNlIGFmdGVyIHRoZQoJcHJlZml4IG9mIHF1YWxpZmllZCBmdW5jdGlvbiBwb2ludGVyczogImludCAoKiBjb25zdDxzcGFjZT4iLgoJKiBzcmMvZGVtYW5nbGUuY2M6IGluY2x1ZGUgbW9zdCBkZXBlbmRlbnQgaGVhZGVyIGZpbGUgZmlyc3QuCgkqIHRlc3RzdWl0ZS9kZW1hbmdsZS9yZWdyZXNzaW9uL2N3LTE2LmNjOiBVcGRhdGVkIHR3bwoJYW5kIGFkZGVkIHRocmVlIHRlc3RzLgoKMjAwMy0xMi0wNCAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCVBSIGxpYnN0ZGMrKy8xMzI4NAoJKiBpbmNsdWRlL2JpdHMvc3RsX2FsZ28uaCAoX19yYW5kb21fbnVtYmVyKTogUmVtb3ZlLgoJKHJhbmRvbV9zaHVmZmxlKTogVXNlIHJhbmQsIGFzIHBlcm1pdHRlZCBieSBEUiAzOTUuCgkqIGluY2x1ZGUvZXh0L2FsZ29yaXRobTogU2FtZS4KCSogbGlua2FnZS5tNCAoR0xJQkNYWF9DSEVDS19TVERMSUJfU1VQUE9SVCk6IFJlbW92ZSBscmFuZDQ4LgoJKiBhY2NvbmZpZy5oOiBTYW1lLgoJKiBjcm9zc2NvbmZpZy5tNDogUmVtb3ZlIEhBVkVfRFJBTkQ0OCwgSEFWRV9MUkFORDQ4LgoJKiBjb25maWcuaC5pbjogUmVnZW5lcmF0ZWQuCgkqIGNvbmZpZ3VyZTogU2FtZS4KCSogYWNsb2NhbC5tNDogU2FtZS4KCQoyMDAzLTEyLTA0ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAc3VzZS5kZT4KCglQUiBsaWJzdGRjKysvMTI2NTMKCSogaW5jbHVkZS9zdGQvc3RkX2JpdHNldC5oIChvcGVyYXRvcj4+KTogSW1wbGVtZW50IHJlc29sdXRpb24KCW9mIERSIDMwMyBbV1BdOiB1c2Ugd2lkZW4oJzAnKSBhbmQgd2lkZW4oJzEnKS4KCSogZG9jcy9odG1sL2V4dC9ob3d0by5odG1sOiBBZGQgYW4gZW50cnkgZm9yIERSIDMwMy4KCgkqIGluY2x1ZGUvc3RkL3N0ZF9iaXRzZXQuaCAob3BlcmF0b3I+Pik6IEltcGxlbWVudCB0aGUgY29tbW9uCglyZXF1aXJlbWVudHMgb2YgZm9ybWF0dGVkIGlucHV0IGZ1bmN0aW9ucyAoMjcuNi4xLjIuMSkuCgoJKiBpbmNsdWRlL3N0ZC9zdGRfYml0c2V0LmggKG9wZXJhdG9yPj4pOiBTZXQgdGhlIGZhaWxiaXQgd2hlbgoJbm90aGluZyB3YXMgZXh0cmFjdGVkIGFuZCBfTmIgIT0gMC4KCSogdGVzdHN1aXRlLzIzX2NvbnRhaW5lcnMvYml0c2V0L2lucHV0LzEuY2M6IE5ldy4KCjIwMDMtMTItMDMgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUBzdXNlLmRlPgoKCVBSIGxpYnN0ZGMrKy8xMjc5MQoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy50Y2MgKHRpbWVfZ2V0OjpfTV9leHRyYWN0X251bSk6CglSZXdyaXRlLCBzdG9wIHRoZSBwYXJzaW5nIGFzIHNvb24gYXMgYSBkaWdpdCBjYW5ub3QgcG9zc2libHkKCWxlYWQgdG8gYSBmaW5hbCBudW1iZXIgd2l0aGluIHRoZSBib3VuZHM7IG90aGVyd2lzZSwgc2ltcGxpZnksCglhdm9pZGluZyBfX2N0eXBlLmlzKCkgYW5kIGF0b2koKS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS90aW1lX2dldC9nZXRfZGF0ZS9jaGFyLzEyNzkxLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvdGltZV9nZXQvZ2V0X2RhdGUvd2NoYXJfdC8xMjc5MS5jYzogTmV3LgoKCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjICh0aW1lX2dldDo6X01fZXh0cmFjdF92aWFfZm9ybWF0KToKCU1pbm9yIHR3ZWFrOiBhIDQtZGlnaXQgaW50ZWdlciBjYW5ub3QgYmUgYmlnZ2VyIHRoYW4gOTk5OS4KCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvdGltZV9nZXQvZ2V0X2RhdGUvd2NoYXJfdC8xLmNjOiBVc2UKCXR5cGUtY29ycmVjdCB3Y2hhcl90IHN0cmluZyBsaXRlcmFscy4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS90aW1lX2dldC9nZXRfbW9udGhuYW1lL3djaGFyX3QvMS5jYzogRGl0dG8uCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvdGltZV9nZXQvZ2V0X3RpbWUvd2NoYXJfdC8xLmNjOiBEaXR0by4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS90aW1lX2dldC9nZXRfd2Vla2RheS93Y2hhcl90LzEuY2M6IERpdHRvLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL3RpbWVfZ2V0L2dldF95ZWFyL3djaGFyX3QvMS5jYzogRGl0dG8uCgoyMDAzLTEyLTAyICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAc3VzZS5kZT4KCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLnRjYyAodGltZV9nZXQ6OmRvX2dldF95ZWFyKToKCUF2b2lkIHVzaW5nIGEgYmFzaWNfc3RyaW5nIGFuZCBjYWxsaW5nIGEgZnVsbCBibG93biBzdHJ0b2wKCSh2aWEgX19jb252ZXJ0X3RvX3YpIGZvciBzaW1wbGUgMiBvciA0IGRpZ2l0cywgYmFzZSAxMCwKCXBvc2l0aXZlIGludGVnZXJzOyBzaW1wbGlmeS4KCjIwMDMtMTItMDIgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUBzdXNlLmRlPgoKCSogY29uZmlnL2xvY2FsZS9nbnUvbW9uZXRhcnlfbWVtYmVycy5jYwoJKG1vbmV5X2Jhc2U6Ol9TX2NvbnN0cnVjdF9wYXR0ZXJuKTogRm9yIGNhc2UgMzogYW5kIDQ6CglleGNoYW5naW5nICdpZiAoX19wcmVjZWRlcyknIGFuZCAnaWYgKF9fc3BhY2UpJyBhbGxvd3MKCXRvIGZhY3RvciBvdXQgYSBmZXcgbW9yZSBhc3NpZ25tZW50cy4KCjIwMDMtMTItMDEgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvYml0cy9iYXNpY19pb3MuaCAoYmFzaWNfaW9zOjpzZXRzdGF0ZSk6IFJldmVydC4KCSogaW5jbHVkZS9iaXRzL2lzdHJlYW0udGNjOiBPbmx5IGNhbGwgc2V0c3RhdGUgaWYgX19lcnIgIT0gZ29vZGJpdC4KCSogaW5jbHVkZS9iaXRzL29zdHJlYW0udGNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfaW9zL2V4Y2VwdGlvbnMvY2hhci8yLmNjOiBOZXcuCgkKCSogdGVzdHN1aXRlL3Rlc3RzdWl0ZV9pby5oIChfX2dudV90ZXN0OjpmYWlsX3N0cmVhbWJ1Zik6IE1ha2UKCWludGVybmFsIGJ1ZmZlciBub24tc3RhdGljLgoKMjAwMy0xMi0wMSAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogZG9jcy9odG1sLzE3X2ludHJvL0MrK1NUWUxFOiBBZGQgZXhjZXB0aW9uIGJpdHMuCgkqIGluY2x1ZGUvYml0cy9mc3RyZWFtLnRjYzogQWRkIGxvY2F0aW9uIGluZm8gdG8gZXhjZXB0aW9uIHN0cmluZ3MuCgoJKiBpbmNsdWRlL2JpdHMvc3RsX2NvbnN0cnVjdC5oOiBGb3JtYXR0aW5nIHR3ZWFrcy4KCjIwMDMtMTItMDEgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUBzdXNlLmRlPgoKCVBSIGxpYnN0ZGMrKy8xMDM3OAoJKiBpbmNsdWRlL2JpdHMvYWxsb2NhdG9yLmggKGFsbG9jYXRvcjo6Y29uc3RydWN0KTogSW1wbGVtZW50CglyZXNvbHV0aW9uIG9mIERSIDQwMiBbUmVhZHldIChpbiBSZXZpc2lvbiAyOCkuCgkqIGluY2x1ZGUvYml0cy9hbGxvY2F0b3JfdHJhaXRzLmggKF9fYWxsb2NhdG9yOjpjb25zdHJ1Y3QpOgoJTGlrZXdpc2UuCgkqIGluY2x1ZGUvYml0cy9zdGxfY29uc3RydWN0LmggKF9Db25zdHJ1Y3QpOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlLzIwX3V0aWwvYWxsb2NhdG9yX21lbWJlcnMuY2M6IE1vdmUgdG8uLi4KCSogdGVzdHN1aXRlLzIwX3V0aWwvYWxsb2NhdG9yLzEuY2M6IC4uLiBoZXJlLgoJKiB0ZXN0c3VpdGUvMjBfdXRpbC9hbGxvY2F0b3IvMTAzNzguY2M6IE5ldy4KCSogZG9jcy9odG1sL2V4dC9ob3d0by5odG1sOiBBZGQgYW4gZW50cnkgZm9yIERSIDQwMi4KCjIwMDMtMTEtMzAgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUBzdXNlLmRlPgoKCSogY29uZmlnL2xvY2FsZS9nbnUvY29kZWN2dF9tZW1iZXJzLmNjIChjb2RlY3Z0Ojpkb19pbiwKCWNvZGVjdnQ6OmRvX2xlbmd0aCk6IE1vcmUgbWlub3IgdHdlYWtzLgoKMjAwMy0xMS0zMCAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHN1c2UuZGU+CgoJKiBjb25maWcvbG9jYWxlL2dudS9jb2RlY3Z0X21lbWJlcnMuY2MgKGNvZGVjdnQ6OmRvX2luKToKCU1pbm9yIHN0eWxpc3RpYyB0d2Vhay4KCjIwMDMtMTEtMzAgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUBzdXNlLmRlPgoKCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjIChudW1fcHV0Ojpkb19wdXQoLi4uLCBib29sKSk6CglNaW5vciB0d2Vha3MsIGNvbnNpc3RlbnQgd2l0aCB0aGUgc3R5bGUgdXNlZCBpbiBvdGhlciBmYWNldHMuCgoyMDAzLTExLTI5ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAc3VzZS5kZT4KCgkqIGluY2x1ZGUvYml0cy9mc3RyZWFtLnRjYyAodW5kZXJmbG93KTogTWlub3IgdHdlYWtzIGluCglwcmVwYXJhdGlvbiBmb3IgbGlic3RkYysrLzEzMjE3LgoKMjAwMy0xMS0yOSAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHN1c2UuZGU+CgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9pbWJ1ZS9jaGFyLzEzMTcxLTIuY2M6CglUd2VhayBmb3IgYSBmZXcgc21hbGwgcHJvYmxlbXMgKGZpeCB0aW1pbmdzLCB1c2UgVkVSSUZZLi4pCgoyMDAzLTExLTI4ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAc3VzZS5kZT4KCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL2ltYnVlL2NoYXIvMTMxNzEtMy5jYzogUmVtb3ZlLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9pbWJ1ZS93Y2hhcl90LzEzMTcxLTMuY2M6IE5ldywKCXRoZSBvcmlnaW5hbCB0aGlyZCB0ZXN0Y2FzZSBmb3IgbGlic3RkYysrLzEzMTcxIGJlbG9uZyBoZXJlLgoKMjAwMy0xMS0yOCAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHN1c2UuZGU+CgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9pbWJ1ZS9jaGFyLzEzMTcxLTMuY2M6CglSZW1vdmUgZXh0cmFuZW91cyB3Y2hhcl90IGxpbmVzLgoJCjIwMDMtMTEtMjcgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUBzdXNlLmRlPgoKCVBSIGxpYnN0ZGMrKy8xMTU0NAoJUFIgbGlic3RkYysrLzExNjAzCgkqIGluY2x1ZGUvYml0cy9mc3RyZWFtLnRjYyAodW5kZXJmbG93KTogVGhyb3cgaW9zX2Jhc2U6OmZhaWx1cmUKCXVwb24gaW5jb21wbGV0ZSBvciBpbnZhbGlkIGJ5dGUgc2VxdWVuY2VzIGluIHRoZSBmaWxlLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi91bmRlcmZsb3cvd2NoYXJfdC8xMTU0NC0xLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3VuZGVyZmxvdy93Y2hhcl90LzExNTQ0LTIuY2M6IE5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvdW5kZXJmbG93L3djaGFyX3QvMTE2MDMuY2M6IE5ldy4KCjIwMDMtMTEtMjcgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUBzdXNlLmRlPgoKCSogaW5jbHVkZS9zdGQvc3RkX3N0cmVhbWJ1Zi5oIChfX2NvcHlfc3RyZWFtYnVmcyk6IFJlbW92ZQoJdGhlIGZpcnN0LCB1bnVzZWQsIGJhc2ljX2lvczw+IHBhcmFtZXRlci4KCSogc3JjL3N0cmVhbWJ1Zi1pbnN0LmNjOiBMaWtld2lzZS4KCSogaW5jbHVkZS9iaXRzL3N0cmVhbWJ1Zi50Y2M6IExpa2V3aXNlLgoJKiBpbmNsdWRlL2JpdHMvaXN0cmVhbS50Y2MgKG9wZXJhdG9yPj4oX19zdHJlYW1idWZfdHlwZSopKToKCVR3ZWFrIGFjY29yZGluZ2x5IHRoZSBjYWxsLgoJKiBpbmNsdWRlL2JpdHMvb3N0cmVhbS50Y2MgKG9wZXJhdG9yPDwoX19zdHJlYW1idWZfdHlwZSopKToKCUxpa2V3aXNlLgoKCSogaW5jbHVkZS9iaXRzL3N0cmVhbWJ1Zi50Y2MgKF9fY29weV9zdHJlYW1idWZzKTogUmVtb3ZlCglyZWR1bmRhbnQgdHJ5L2NhdGNoLgoKMjAwMy0xMS0yNiAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCVBSIGxpYnN0ZGMrKy85MzcxCglQUiBsaWJzdGRjKysvOTU0NgoJUFIgbGlic3RkYysrLzEwMDkzCglQUiBsaWJzdGRjKysvMTAwOTUKCSogaW5jbHVkZS9iaXRzL2Jhc2ljX2lvcy5oIChiYXNpY19pb3M6OnNldHN0YXRlKTogRWxpZGUgaWYgZ29vZGJpdC4KCShiYXNpY19pb3M6Ol9NX3NldHN0YXRlKTogQ29uc29saWRhdGUgY29tbW9uIGVycm9yIGhhbmRsaW5nIGNvZGUuCgkqIGluY2x1ZGUvYml0cy9iYXNpY19pb3MudGNjOiBUd2Vhay4KCSogaW5jbHVkZS9iaXRzL2ZzdHJlYW0udGNjOiBUd2Vhay4KCSogaW5jbHVkZS9iaXRzL2lzdHJlYW0udGNjOiBVc2UgX01fc2V0c3RhdGUgZm9yIGNvbW1vbiBleGNlcHRpb24KCWhhbmRsaW5nLiBNb3ZlIHNldHN0YXRlIGNhbGxzIGFmdGVyIGNhdGNoLiAKCShiYXNpY19pc3RyZWFtOjp0ZWxsZyk6IENoZWNrIGZvciBleGNlcHRpb25zIHRocm93biBieSBzdHJlYW1idWYKCXZpcnR1YWwgZnVuY3Rpb25zLgoJKGJhc2ljX2lzdHJlYW06OnNlZWtnKTogU2FtZS4KCSogaW5jbHVkZS9iaXRzL29zdHJlYW0udGNjOiBTYW1lLCBidXQgZm9yIG9zdHJlYW0uCgkoYmFzaWNfb3N0cmVhbTo6Zmx1c2gpOiBDaGVjayBmb3IgZXhjZXB0aW9ucyB0aHJvd24gYnkgc3RyZWFtYnVmCgl2aXJ0dWFsIGZ1bmN0aW9ucy4KCShiYXNpY19pc3RyZWFtOjp0ZWxscCk6IFNhbWUuCQoJKGJhc2ljX2lzdHJlYW06OnNlZWtwKTogU2FtZS4KCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjOiBUd2Vhay4KCSogaW5jbHVkZS9iaXRzL3N0cmVhbWJ1Zi50Y2M6IFR3ZWFrLgoJKF9fY29weV9zdHJlYW1idWZzKTogUHJvcGFnYXRlIGV4Y2VwdGlvbnMuCgkqIHRlc3RzdWl0ZS90ZXN0c3VpdGVfaW8uaCAoZmFpbF9zdHJlYW1idWYpOiBOZXcuCgkoZmFpbF9udW1fZ2V0KTogTmV3LgoJKGZhaWxfbnVtX3B1dCk6IE5ldy4KCShmYWNldF9lcnJvcik6IE5ldy4KCSh1bmRlcmZsb3dfZXJyb3IpOiBOZXcuCgkob3ZlcmZsb3dfZXJyb3IpOiBOZXcuCQoJKHBvc2l0aW9uaW5nX2Vycm9yKTogTmV3LgkKCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2lzdHJlYW0vZXhjZXB0aW9ucy9jaGFyLzk1NjEuY2M6IFR3ZWFrLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfaXN0cmVhbS9leHRyYWN0b3JzX2FyaXRobWV0aWMvY2hhci8KICAgICAgICBleGNlcHRpb25zX2JhZGJpdF90aHJvdy5jYywgZXhjZXB0aW9uc19mYWlsYml0LmNjLAogICAgICAgIGV4Y2VwdGlvbnNfZmFpbGJpdF90aHJvdy5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfaXN0cmVhbS9leHRyYWN0b3JzX290aGVyL2NoYXIvCgllcnJvcl9mYWlsYml0LmNjLCBleGNlcHRpb25zX2JhZGJpdF90aHJvdy5jYywKICAgICAgICBleGNlcHRpb25zX2ZhaWxiaXRfdGhyb3cuY2MsIGV4Y2VwdGlvbnNfbnVsbC5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfaXN0cmVhbS9zZWVrZy9jaGFyL2V4Y2VwdGlvbnNfYmFkYml0X3Rocm93LmNjOiAKCU5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2lzdHJlYW0vdGVsbGcvY2hhci9leGNlcHRpb25zX2JhZGJpdF90aHJvdy5jYzoKCU5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX29zdHJlYW0vZmx1c2gvY2hhci9leGNlcHRpb25zX2JhZGJpdF90aHJvdy5jYzoKCU5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX29zdHJlYW0vaW5zZXJ0ZXJzX2FyaXRobWV0aWMvY2hhci8KCWV4Y2VwdGlvbnNfYmFkYml0X3Rocm93LmNjLCBleGNlcHRpb25zX2ZhaWxiaXRfdGhyb3cuY2M6IE5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX29zdHJlYW0vaW5zZXJ0ZXJzX290aGVyL2NoYXIvCgllcnJvcl9mYWlsYml0LmNjLCBleGNlcHRpb25zX2JhZGJpdF90aHJvdy5jYywKICAgICAgICBleGNlcHRpb25zX2ZhaWxiaXRfdGhyb3cuY2MsIGV4Y2VwdGlvbnNfbnVsbC5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfb3N0cmVhbS9zZWVrcC9jaGFyL2V4Y2VwdGlvbnNfYmFkYml0X3Rocm93LmNjOiAKCU5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX29zdHJlYW0vdGVsbHAvY2hhci9leGNlcHRpb25zX2JhZGJpdF90aHJvdy5jYzogCglOZXcuCgoyMDAzLTExLTI2ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJUFIgbGlic3RkYysrLzEyMjk3CgkqIGluY2x1ZGUvYml0cy9pc3RyZWFtLnRjYwoJKGJhc2ljX2lzdHJlYW06OnNlbnRyeTo6c2VudHJ5KTogU2V0IGZhaWxiaXQgYW5kIGVvZmJpdCB3aGVuIGVvZi4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2lzdHJlYW0vc2VudHJ5L2NoYXIvMTIyOTcuY2M6IE5ldy4KCQoyMDAzLTExLTI2ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAc3VzZS5kZT4KCSAgICBQZXR1ciBSdW5vbGZzc29uICA8cGV0dXJyMDJAcnUuaXM+CgoJUFIgbGlic3RkYysrLzEzMTcxCgkqIGluY2x1ZGUvYml0cy9mc3RyZWFtLnRjYyAoaW1idWUpOiBSZWxheCB0aGUgY29uZGl0aW9ucyB1bmRlcgoJd2hpY2ggdGhlIGZ1bmN0aW9uIHN1Y2NlZWRzOiBhbGxvdyBmb3IgdHdvIGNvbnNlY3V0aXZlIGNhbGxzIHdpdGgKCXRoZSBzYW1lIG5hbWU7IHN0YXRlIGRlcGVuZGVudCBlbmNvZGluZ3MgYXJlIG9rIGV2ZW4gYWZ0ZXIgb3BlbgoJaWYgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgZmlsZTsgZG9uJ3QgY2hlY2sgc2Vla29mZiByZXR1cm4gdmFsdWUKCShwaXBlcywgY2luLCBjb3V0LCBldGMuLi4pCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL2ltYnVlL2NoYXIvMTMxNzEtMS5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9pbWJ1ZS9jaGFyLzEzMTcxLTIuY2M6IE5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvaW1idWUvY2hhci8xMzE3MS0zLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL2ltYnVlL2NoYXIvMTMxNzEtNC5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9pbWJ1ZS9jaGFyLzIuY2M6IFR3ZWFrIGNvbW1lbnQuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL2ltYnVlL2NoYXIvMy5jYzogTGlrZXdpc2UuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL2ltYnVlL3djaGFyX3QvMi5jYzogVHdlYWsgY29tbWVudC4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvaW1idWUvd2NoYXJfdC8zLmNjOiBMaWtld2lzZS4KCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL2ltYnVlL3djaGFyX3QvMTI4NjguY2M6IE1vcmUKCWNvcnJlY3RseSB1c2UgdGhlIFVURi04IGxvY2FsZSBhcHBlYXJpbmcgaW4gdGhlIFBSLgoKMjAwMy0xMS0yNiAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHN1c2UuZGU+CgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy5oCgkoX19udW1wdW5jdF9jYWNoZTw+OjpfTV9jYWNoZSk6IEF2b2lkIHplcm9pbmcgX01fZ3JvdXBpbmcsCglfTV90cnVlbmFtZSBhbmQgX01fZmFsc2VuYW1lOiB0aGUgY29uc3RydWN0b3IgYWx3YXlzIGRvZXMKCWl0IGltbWVkaWF0ZWx5IGJlZm9yZSB0aGUgX01fY2FjaGUgY2FsbC4KCjIwMDMtMTEtMjUgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUBzdXNlLmRlPgoKCSogY29uZmlnL2xvY2FsZS9nbnUvY29kZWN2dF9tZW1iZXJzLmNjIChjb2RlY3Z0Ojpkb19sZW5ndGgpOgoJUmV3cml0ZSwgdXNpbmcgYm90aCBtYnNucnRvd2NzIGFuZCBtYnJ0b3djIGluIGEgbG9vcDogdGhlCglmb3JtZXIgaXMgdmVyeSBmYXN0LCBidXQgc3RvcHMgaWYgZW5jb3VudGVycyBhIE5VTC4KCShjb2RlY3Z0Ojpkb19vdXQpOiBUd2Vha3MuCgkoY29kZWN2dDo6ZG9faW4pOiBUd2Vha3MsIGltcHJvdmUgdGhlIGNvZGUgZGVhbGluZyB3aXRoIGVycm9ycy4KCSogdGVzdHN1aXRlL3BlcmZvcm1hbmNlL3djaGFyX3RfbGVuZ3RoLmNjOiBOZXcuCgoyMDAzLTExLTI0ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAc3VzZS5kZT4KCgkqIGNvbmZpZy9sb2NhbGUvZ251L2NvZGVjdnRfbWVtYmVycy5jYyAoY29kZWN2dDo6ZG9faW4pOgoJUmV3cml0ZSwgdXNpbmcgYm90aCBtYnNucnRvd2NzIGFuZCBtYnJ0b3djIGluIGEgbG9vcDogdGhlCglmb3JtZXIgaXMgdmVyeSBmYXN0LCBidXQgc3RvcHMgaWYgZW5jb3VudGVycyBhIE5VTC4KCShjb2RlY3Z0Ojpkb19vdXQpOiBUd2Vhay4KCSogdGVzdHN1aXRlL3BlcmZvcm1hbmNlL3djaGFyX3RfaW4uY2M6IE5ldy4KCjIwMDMtMTEtMjQgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUBzdXNlLmRlPgoKCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMuaAoJKF9fbnVtcHVuY3RfY2FjaGU8Pjo6X01fY2FjaGUpOiBTZXQgX01fYWxsb2NhdGVkIGF0IHRoZSBiZWdpbm5pbmcKCWluIG9yZGVyIHRvIGF2b2lkIG1lbW9yeSBsZWFrczsgc2ltcGxpZnkgYSBiaXQuCgoyMDAzLTExLTI0ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgkKCSogaW5jbHVkZS9iaXRzL3N0cmVhbWJ1Zl9pdGVyYXRvci5oIChvc3RyZWFtYnVmX2l0ZXJhdG9yKTogUmVtb3ZlCglub24tc3RhbmRhcmQgdGhyb3cgc3BlY3MuCgkqIHRlc3RzdWl0ZS8yNF9pdGVyYXRvcnMvaXN0cmVhbWJ1Zl9pdGVyYXRvci5jYzogU3BsaXQgaW50by4uLgoJKiB0ZXN0c3VpdGUvMjRfaXRlcmF0b3JzL2lzdHJlYW1idWZfaXRlcmF0b3IvMS5jYwoJKiB0ZXN0c3VpdGUvMjRfaXRlcmF0b3JzL2lzdHJlYW1idWZfaXRlcmF0b3IvMi5jYwoJKiB0ZXN0c3VpdGUvMjRfaXRlcmF0b3JzL2lzdHJlYW1idWZfaXRlcmF0b3IvMjYyNy5jYwoJKiB0ZXN0c3VpdGUvMjRfaXRlcmF0b3JzL29zdHJlYW1idWZfaXRlcmF0b3IuY2M6IFNwbGl0IGludG8uLi4KCSogdGVzdHN1aXRlLzI0X2l0ZXJhdG9ycy9vc3RyZWFtYnVmX2l0ZXJhdG9yLzEuY2MKCSogdGVzdHN1aXRlLzI0X2l0ZXJhdG9ycy9vc3RyZWFtYnVmX2l0ZXJhdG9yLzIuY2MKCgkqIHRlc3RzdWl0ZS8yNF9pdGVyYXRvcnMvcmV2ZXJzZV9pdGVyYXRvci8xLmNjOiBKdXN0IGNvbXBpbGUsCglkb24ndCBsaW5rLgoJCgkqIGluY2x1ZGUvYml0cy9hbGxvY2F0b3IuaDogRm9ybWF0dGluZyB0d2Vhay4KCQoyMDAzLTExLTI0ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAc3VzZS5kZT4KCgkqIHNyYy9sb2NhbGVfaW5pdC5jYzogQ29zbWV0aWMgcmVmb3JtYXR0aW5nLgoKMjAwMy0xMS0yMyAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHN1c2UuZGU+CgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy50Y2MgKF9fYWRkX2dyb3VwaW5nKToKCUNvc21ldGljIHJlZm9ybWF0dGluZy4KCjIwMDMtMTEtMjMgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUBzdXNlLmRlPgoKCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjIChfTV9leHRyYWN0X2Zsb2F0LAoJX01fZXh0cmFjdF9pbnQpOiBSZW1vdmUgYSB3cm9uZyBjb21tZW50IGFuZCBzaW1wbGlmeQoJdGhlIGNvcnJlc3BvbmRpbmcgY29kZSB1c2luZyBjaGFyX3RyYWl0czo6ZmluZCgpLgoKMjAwMy0xMS0yMiAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHN1c2UuZGU+CgoJKiBjb25maWcvbG9jYWxlL2dudS9tb25ldGFyeV9tZW1iZXJzLmNjCgkobW9uZXlfYmFzZTo6X1NfY29uc3RydWN0X3BhdHRlcm4pOiBGYWN0b3Igb3V0IHR3byBhc3NpZ25tZW50cy4KCjIwMDMtMTEtMjIgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUBzdXNlLmRlPgoKCSogaW5jbHVkZS9iaXRzL2lzdHJlYW0udGNjIChnZXRsaW5lKGJhc2ljX3N0cmluZzw+JikpOgogICAgICAgIEZpeCBlcnJvciBpbiBjb21tZW50IG9mIHRoZSBwcmV2aW91cyBjb21taXQuCgoyMDAzLTExLTIyICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAc3VzZS5kZT4KCglQUiBsaWJzdGRjKysvMTI1OTMKCSogaW5jbHVkZS9iaXRzL2lzdHJlYW0udGNjIChvcGVyYXRvcj4+KGJhc2ljX3N0cmluZzw+JiksCglnZXRsaW5lKGJhc2ljX3N0cmluZzw+JikpOiBJbXBsZW1lbnQgcmVzb2x1dGlvbiBvZiBEUiA5MSBbV1BdOwoJZml4IHNvbWUgbWlub3IgaXNzdWVzIHdpdGggdGhlIGV4aXQgY29uZGl0aW9ucy4KCSogZG9jcy9odG1sL2V4dC9ob3d0by5odG1sOiBBZGQgYW4gZW50cnkgZm9yIERSIDkxLgoKMjAwMy0xMS0yMSAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHN1c2UuZGU+CgoJKiBjb25maWcvbG9jYWxlL2dudS9tb25ldGFyeV9tZW1iZXJzLmNjCgkobW9uZXlfYmFzZTo6X1NfY29uc3RydWN0X3BhdHRlcm4pOiBGYWN0b3Igb3V0IGFuIGFzc2lnbm1lbnQuCgoyMDAzLTExLTIxICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAc3VzZS5kZT4KCglQUiBsaWJzdGRjKysvMTI4ODIgKHBhcnRpYWwpCgkqIGFjaW5jbHVkZS5tNCAoR0xJQkNYWF9DSEVDS19MRlMpOiBDaGVjayBmc2Vla282NAoJYW5kIGZ0ZWxsbzY0IHRvby4KCSogaW5jbHVkZS9leHQvc3RkaW9fc3luY19maWxlYnVmLmggKHNlZWtvZmYpOiBVc2UgZnNlZWtvNjQKCWFuZCBmdGVsbG82NCBpZiBhdmFpbGFibGUuCgkqIGFjbG9jYWwubTQ6IFJlZ2VuZXJhdGUuCgkqIGNvbmZpZ3VyZTogRGl0dG8uCgoyMDAzLTExLTIwICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL2RlYnVnL2Zvcm1hdHRlci5oOiBVc2UgX1RwIGFzIHRlbXBsYXRlIGFyZ3VtZW50LgoJKiBzcmMvZGVidWcuY2M6IFNhbWUsIGluc3RhbnRpYXRlIHN0ZDo6c2l6ZV90LgoJCjIwMDMtMTEtMjAgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCglQUiBsaWJzdGRjKysvMTMxMDkKCSogaW5jbHVkZS9kZWJ1Zy9mb3JtYXR0ZXIuaCAoX0Vycm9yX2Zvcm1hdHRlcjo6X01fZm9ybWF0X3dvcmQpOiBOZXcuCgkqIHNyYy9kZWJ1Zy5jYyAoX19nbnVfZGVidWcpOiBGb3JtYXQuIAoJKF9FcnJvcl9mb3JtYXR0ZXI6Ol9NX2Zvcm1hdF93b3JkKTogRGVmaW5lLCB1c2UsIGluc3RhbnRpYXRlLgoKMjAwMy0xMS0yMCAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHN1c2UuZGU+CgoJUFIgbGlic3RkYysrLzExNjAyCgkqIGNvbmZpZy9sb2NhbGUvZ251L2NvZGVjdnRfbWVtYmVycy5jYyAoY29kZWN2dDo6ZG9fb3V0KToKCVJld3JpdGUsIHVzaW5nIGJvdGggd2NzbnJ0b21icyBhbmQgd2NydG9tYiBpbiBhIGxvb3A6IHRoZQoJZm9ybWVyIGlzIHZlcnkgZmFzdCwgYnV0IHN0b3BzIGlmIGVuY291bnRlcnMgYSBOVUwuCgkqIHRlc3RzdWl0ZS9wZXJmb3JtYW5jZS93Y2hhcl90X291dC5jYzogTmV3LCBmcm9tIHRoZSBQUi4KCjIwMDMtMTEtMTkgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUBzdXNlLmRlPgoKCSogY29uZmlnL2xvY2FsZS9nbnUvY29kZWN2dF9tZW1iZXJzLmNjIChkb19vdXQpOiBJZgoJd2UgY2FuIHVwcGVyIGJvdW5kIHRoZSB0b3RhbCBudW1iZXIgb2YgZXh0ZXJuYWwgY2hhcnMKCXRvIHNvbWV0aGluZyBzbWFsbGVyIHRoYW4gX190b19lbmQgLSBfX3RvLCBhdm9pZCB0aGUKCXRlbXBvcmFyeSBidWZmZXIsIHRoZSBtZW1jb3B5IGFuZCBzaW1wbGlmeSB0aGUgbG9vcC4KCSogY29uZmlnL2xvY2FsZS9nZW5lcmljL2NvZGVjdnRfbWVtYmVycy5jYyAoZG9fb3V0KToKCUxpa2V3aXNlLgoKMjAwMy0xMS0xOSAgQW5kcmVhcyBUb2JsZXIgIDxhLnRvYmxlckBzY2h3ZWl6LmNoPgoKCSogdGVzdHN1aXRlL2xpYi9saWJzdGRjKysuZXhwOiBBZGQgRFlMRF9MSUJSQVJZX1BBVEggZm9yIGRhcndpbi4KCSogdGVzdHN1aXRlL2xpYnN0ZGMrKy1kZy9ub3JtYWwuZXhwOiBBZGQgLW11bHRpcGx5X2RlZmluZWQgc3VwcHJlc3MKCWZsYWcuCgoyMDAzLTExLTE4ICBKb25hdGhhbiBXYWtlbHkgIDxyZWRpQGdjYy5nbnUub3JnPgoKCSogZG9jcy9odG1sL2NvbmZpZ29wdHMuaHRtbCwgZG9jcy9odG1sL2RlYnVnLmh0bWwsCglkb2NzL2h0bWwvZG9jdW1lbnRhdGlvbi5odG1sLCBkb2NzL2h0bWwvZXhwbGFuYXRpb25zLmh0bWwsCglkb2NzL2h0bWwvaW5zdGFsbC5odG1sLCBkb2NzL2h0bWwvMTdfaW50cm8vY29udHJpYnV0ZS5odG1sLAoJZG9jcy9odG1sLzE3X2ludHJvL2hvd3RvLmh0bWwsIGRvY3MvaHRtbC8xN19pbnRyby9saWNlbnNlLmh0bWwsCglkb2NzL2h0bWwvMThfc3VwcG9ydC9ob3d0by5odG1sLCBkb2NzL2h0bWwvMTlfZGlhZ25vc3RpY3MvaG93dG8uaHRtbCwKCWRvY3MvaHRtbC8yMF91dGlsL2hvd3RvLmh0bWwsIGRvY3MvaHRtbC8yMV9zdHJpbmdzL2hvd3RvLmh0bWwsCglkb2NzL2h0bWwvMjJfbG9jYWxlL2NvZGVjdnQuaHRtbCwgZG9jcy9odG1sLzIyX2xvY2FsZS9jdHlwZS5odG1sLAoJZG9jcy9odG1sLzIyX2xvY2FsZS9ob3d0by5odG1sLCBkb2NzL2h0bWwvMjJfbG9jYWxlL2xvY2FsZS5odG1sLAoJZG9jcy9odG1sLzIyX2xvY2FsZS9tZXNzYWdlcy5odG1sLCBkb2NzL2h0bWwvMjNfY29udGFpbmVycy9ob3d0by5odG1sLAoJZG9jcy9odG1sLzI0X2l0ZXJhdG9ycy9ob3d0by5odG1sLCBkb2NzL2h0bWwvMjVfYWxnb3JpdGhtcy9ob3d0by5odG1sLAoJZG9jcy9odG1sLzI2X251bWVyaWNzL2hvd3RvLmh0bWwsIGRvY3MvaHRtbC8yN19pby9ob3d0by5odG1sLAoJZG9jcy9odG1sL2V4dC9ob3d0by5odG1sLCBkb2NzL2h0bWwvZXh0L3NnaWV4dHMuaHRtbDogQWRkIDxsaW5rPiB0YWdzLgoKMjAwMy0xMS0xOCAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHN1c2UuZGU+CgoJUFIgbGlic3RkYysrLzEyODY4CgkqIGluY2x1ZGUvYml0cy9mc3RyZWFtLnRjYyAoaW1idWUpOiBGb3IgZW5jb2RpbmdzICE9IC0xIGl0J3MKCWFsd2F5cyBvayB0byBpbWJ1ZSBhIG5ldyBsb2NhbGUsIHByb3ZpZGVkIHNlZWtvZmYoMCwgY3VyLCAuLi4pCglkb2Vzbid0IGZhaWwsIG9mIGNvdXJzZS4KCSh1bmRlcmZsb3cpOiBJbiBvcmRlciBmb3IgdGhlIGFib3ZlIHRvIHdvcmssIGRlYWwgZ3JhY2VmdWxseQoJd2l0aCBfTV9jb2RlY3Z0LT5pbiByZXR1cm5pbmcgY29kZWN2dF9iYXNlOjplcnJvciB3aGlsZSAKCShfX2lsZW4gPSBfX2llbmQgLSB0aGlzLT5lYmFjaygpKSA+IDA6IGl0IGp1c3QgbWVhbnMgX19pbGVuCgljb3JyZWN0bHkgY29udmVydGVkIGludGVybmFsIGNoYXJhY3RlcnMgYmVmb3JlIGFuIGVycm9yLgkKCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvaW1idWUvd2NoYXJfdC8xMjg2OC5jYzogTmV3LgoKMjAwMy0xMS0xNyAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHN1c2UuZGU+CgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy50Y2M6IEZpeCB0eXBvIGluIGNvbW1lbnQuCgoyMDAzLTExLTE3ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAc3VzZS5kZT4KCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtX3B1dC9wdXQvY2hhci84LmNjOiBOZXcgdGVzdCwKCXN1bW1hcml6aW5nIHRoZSBkaXNjdXNzaW9uIGVuc3VpbmcgbGlic3RkYysrLzEyOTg4LgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL251bV9wdXQvcHV0L3djaGFyX3QvOC5jYzogRGl0dG8uCgoyMDAzLTExLTE1ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAc3VzZS5kZT4KCgkqIGluY2x1ZGUvc3RkL3N0ZF9mc3RyZWFtLmg6IFR3ZWFrIGEgY29tbWVudC4KCjIwMDMtMTEtMTUgIFJvZ2VyIFNheWxlICA8cm9nZXJAZXllc29wZW4uY29tPgoKCSogaW5jbHVkZS9jX3N0ZC9zdGRfY21hdGguaDogRG9uJ3QgaW1wb3J0IEM5OSdzIGZsb2F0IHRyYW5zY2VuZGVudGFscwoJaW50byB0aGUgX19nbnVfY3h4OjpfX2M5OV9iaW5kaW5nIG5hbWVzcGFjZS4KCShhY29zLCBhc2luLCBhdGFuLCBhdGFuMiwgY2VpbCwgY29zaCwgZXhwLCBmbG9vciwgZm1vZCwgZnJleHAsCglsZGV4cCwgbG9nLCBsb2cxMCwgbW9kZiwgcG93LCBzaW5oLCB0YW4sIHRhbmgpOiBJbXBsZW1lbnQgdXNpbmcKCUdDQydzIG1hdGggYnVpbHRpbnMsIGkuZS4gX19idWlsdGluX2Zvby4KCSogbGlibWF0aC9zdHVicy5jIChhY29zZiwgYWNvc2wsIGFzaW5mLCBhc2lubCwgYXRhbmYsIGF0YW5sLAoJY2VpbGYsIGNlaWxsLCBmbG9vcmYsIGZsb29ybCwgZm1vZGYsIGZtb2RsLCBmcmV4cGYsIGZyZXhwbCwKCWxkZXhwZiwgbGRleHBsLCBtb2RmZiwgbW9kZmwpOiBQcm92aWRlIHN0dWIgaW1wbGVtZW50YXRpb25zLgoKMjAwMy0xMS0xNCAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHN1c2UuZGU+CgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2xvY2FsZS9jb25zLzEyMzUyLmNjOiBVc2UKCV9fZ251X3Rlc3Q6OnRyeV9uYW1lZF9sb2NhbGUuCgoyMDAzLTExLTE0ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAc3VzZS5kZT4KCgkqIGRvY3MvaHRtbC9leHQvaG93dG8uaHRtbDogQWRkIGVudHJpZXMgZm9yIERSIDYzLCA3NQoJYW5kIDMwNTsgdHdlYWsgZW50cmllcyBmb3IgRFIgNjAgYW5kIDMyOC4KCjIwMDMtMTEtMTMgIERvdWdsYXMgR3JlZ29yICA8Z3JlZ29kQGNzLnJwaS5lZHU+CgoJKiBkb2NzL2h0bWwvZGVidWcuaHRtbDogVXNlcnMgYXJlIGFsbG93ZWQgdG8gc3BlY2lhbGl6ZSBpbgoJbmFtZXNwYWNlIF9fZ251X2RlYnVnLCB1bmxpa2UgaW4gdGhlIEFwcGxlIHZlcnNpb24gb2YgdGhlIGRlYnVnCgltb2RlLiBDbGVhciB1cCBhIGNvbmZ1c2luZyBkb3VibGUtbmVnYXRpdmUuIE5vdGUgdGhhdAoJc3RkOjpiYXNpY19zdHJpbmcgZG9lcyBwcm92aWRlIGV4dHJhIGRlYnVnZ2luZyBjYXBhYmlsaXRpZXMsIGJ1dAoJbm90IHNhZmUgaXRlcmF0b3JzLgoJKiBpbmNsdWRlL2JpdHMvYmFzaWNfc3RyaW5nLnRjYzogTWFrZSBzdXJlIHRoZXJlJ3MgbmV2ZXIgYW4KCWFtYmlndWl0eSB3aGVuIGNhbGxpbmcgX19pc19udWxsX3BvaW50ZXIuIAoJKiBpbmNsdWRlL2RlYnVnL2RlcXVlOiAoZGVxdWU6OmVyYXNlKSBQcm9wZXJseSBoYW5kbGUgaW52YWxpZGF0aW9uCgl3aGVuIGVyYXNpbmcgYXQgdGhlIGVuZCBvZiB0aGUgZGVxdWUuCgkqIGluY2x1ZGUvZGVidWcvdmVjdG9yOiAodmVjdG9yOjpzd2FwKTogU3dhcCBfTV9ndWFyYW50ZWVkX2NhcGFjaXR5LiAKCSh2ZWN0b3I6OmNsZWFyKTogU2V0IHRoZSBndWFyYW50ZWVkIGNhcGFjaXR5IHRvIDAuCgkqIHRlc3RzdWl0ZS8yM19jb250YWluZXJzL2RlcXVlL2ludmFsaWRhdGlvbi80LmNjOiAodGVzdDA0KTogVGVzdAoJaXRlcmF0b3IgaW52YWxpZGF0aW9uIHdoZW4gZXJhc2luZyBhdCB0aGUgZW5kIG9mIHRoZSBkZXF1ZS4KCjIwMDMtMTEtMTMgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUBzdXNlLmRlPgoJICAgIFBldHVyIFJ1bm9sZnNzb24gIDxwZXR1cnIwMkBydS5pcz4KCglQUiBsaWJzdGRjKysvMTMwMDcKCSogaW5jbHVkZS9iaXRzL2ZzdHJlYW0udGNjIChpbWJ1ZSk6IERvbid0IHRvdWNoIHRoZSBzdG9yZWQKCWxvY2FsZS4KCSogaW5jbHVkZS9zdGQvc3RkX3N0cmVhbWJ1Zi5oIChpbWJ1ZSk6IEFjY29yZGluZyB0byB0aGUKCXN0YW5kYXJkLCBiYXNlIGNsYXNzIHZlcnNpb24gZG9lcyBub3RoaW5nLgoJKHB1YmltYnVlKTogU3RvcmUgdGhlIGxvY2FsZS4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvaW1idWUvY2hhci8xMzAwNy5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9pbWJ1ZS93Y2hhcl90LzEzMDA3LmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL2ltYnVlL2NoYXIvMi5jYzogVHdlYWsuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL2ltYnVlL3djaGFyX3QvMi5jYzogTGlrZXdpc2UuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19zdHJlYW1idWYvaW1idWUvY2hhci8xMzAwNy0xLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19zdHJlYW1idWYvaW1idWUvY2hhci8xMzAwNy0yLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19zdHJlYW1idWYvaW1idWUvd2NoYXJfdC8xMzAwNy0xLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19zdHJlYW1idWYvaW1idWUvd2NoYXJfdC8xMzAwNy0yLmNjOiBOZXcuCgoyMDAzLTExLTEzICBQZXR1ciBSdW5vbGZzc29uICA8cGV0dXJyMDJAcnUuaXM+CgoJUFIgbGlic3RkYysrLzEyNTk0CgkqIGluY2x1ZGUvYml0cy9vc3RyZWFtLnRjYwoJKGJhc2ljX29zdHJlYW06Om9wZXJhdG9yPDwoYmFzaWNfb3N0cmVhbSYgKCopKGJhc2ljX29zdHJlYW0mKSksCgliYXNpY19vc3RyZWFtOjpvcGVyYXRvcjw8KGJhc2ljX2lvcyYgKCopKGJhc2ljX2lvcyYpKSwKCWJhc2ljX29zdHJlYW06Om9wZXJhdG9yPDwoaW9zX2Jhc2UmICgqKShpb3NfYmFzZSYpKSk6CglJbXBsZW1lbnQgdGhlIHJlc29sdXRpb24gb2YgRFIgNjAgKFRDKTogVGhlc2UgYXJlIG5vdCBmb3JtYXR0ZWQKCW91dHB1dCBmdW5jdGlvbnMgc28gZG9uJ3QgY29uc3RydWN0IHNlbnRyeSBvYmplY3RzIGFuZCBkb24ndAoJY2F0Y2ggZXhjZXB0aW9ucy4KCShiYXNpY19vc3RyZWFtOjpwdXQsIGJhc2ljX29zdHJlYW06OndyaXRlKTogSW1wbGVtZW50IHRoZQoJcmVzb2x1dGlvbiBvZiBEUiA2MyAoVEMpIGJ5IGNhdGNoaW5nIGV4Y2VwdGlvbnMgYW5kIHNldHRpbmcKCWJhZGJpdC4KCShiYXNpY19vc3RyZWFtOjpmbHVzaCk6IEltcGxlbWVudCB0aGUgcmVzb2x1dGlvbiBvZiBEUiA2MCAoVEMpOgoJVGhpcyBpcyBub3QgYW4gdW5mb3JtYXR0ZWQgb3V0cHV0IGZ1bmN0aW9uIHNvIGRvbid0IGNvbnN0cnVjdAoJYSBzZW50cnkgb2JqZWN0LgoJKiB0ZXN0c3VpdGUvdGVzdHN1aXRlX2lvLmggKHN5bmNfc3RyZWFtYnVmKTogRGVmaW5lLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfb3N0cmVhbS9mbHVzaC9jaGFyLzIuY2M6IE5ldyB0ZXN0LgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfb3N0cmVhbS9pbnNlcnRlcnNfb3RoZXIvY2hhci81LmNjOiBOZXcgdGVzdC4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX29zdHJlYW0vcHV0L2NoYXIvMS5jYzogTmV3IHRlc3QuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19vc3RyZWFtL3dyaXRlL2NoYXIvMS5jYzogTmV3IHRlc3QuCgkKMjAwMy0xMS0xMyAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHN1c2UuZGU+CgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9vdmVyZmxvdy93Y2hhcl90LzExMzA1LTE6CglGaXgsIGNsb3NlbHkgZm9sbG93aW5nIHRoZSB0ZXN0Y2FzZSBpbmNsdWRlZCBpbiB0aGUgUFIuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL292ZXJmbG93L3djaGFyX3QvMTEzMDUtMjogRGl0dG8uCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL292ZXJmbG93L3djaGFyX3QvMTEzMDUtMzogRGl0dG8uCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL292ZXJmbG93L3djaGFyX3QvMTEzMDUtNDogRGl0dG8uCgoyMDAzLTExLTEzICBKb25hdGhhbiBXYWtlbHkgPHJlZGlAZ2NjLmdudS5vcmc+CgoJKiBkb2NzL2h0bWwvMTdfaW50cm8vY29uZmlndXJ5Lmh0bWw6IFhIVE1MIHR3ZWFrLgoKMjAwMy0xMS0xMyAgSm9uYXRoYW4gV2FrZWx5IDxyZWRpQGdjYy5nbnUub3JnPgoKCSogZG9jcy9odG1sL2RlYnVnX21vZGUuaHRtbDogWEhUTUwgZml4ZXMuCgoyMDAzLTExLTEyICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiBkb2NzL2h0bWwvZGVidWdfbW9kZS5odG1sOiBVcGRhdGUuCgkqIGRvY3MvaHRtbC8xN19pbnRyby9UT0RPOiBVcGRhdGUuCgoyMDAzLTExLTEyICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL2JpdHMvYysrY29uZmlnOiBNb3ZlIHVzaW5nIGRpcmVjdGl2ZS4uLgoJKiBpbmNsdWRlL2RlYnVnL2Zvcm1hdHRlci5oOiAuLi5oZXJlLgoKMjAwMy0xMS0xMiAgQ2FybG8gV29vZCAgPGNhcmxvQGFsaW5vZS5jb20+CgogICAgICAgIFBSIGxpYnN0ZGMrKy8xMjk0NwoJKiBiaXRzL2RlbWFuZ2xlLmgKCShfR0xJQkNYWF9ERU1BTkdMRVJfU1RZTEVfQ09NUEFDVF9FWFBSX09QUyk6IEFkZGVkLgoJKF9HTElCQ1hYX0RFTUFOR0xFUl9TVFlMRV9TSVpFT0ZfVFlQRU5BTUUpOiBBZGRlZC4KCShzZXNzaW9uPEFsbG9jYXRvcj46Om5leHRfcGVlaygpIGNvbnN0KTogQWRkZWQuCgkoZGVjb2RlX25vbl9uZWdhdGl2ZV9kZWNpbWFsX2ludGVnZXIoc3RyaW5nX3R5cGUmKSk6CglSZW5hbWVkIGZyb20gZGVjb2RlX2RlY2ltYWxfaW50ZWdlcihzdHJpbmdfdHlwZSYpLgoJKHNlc3Npb248QWxsb2NhdG9yPjo6ZGVjb2RlX25lc3RlZF9uYW1lKToKCURlY29kZSA8dGVtcGxhdGVfcGFyYW0+IGFzIHdlbGwuCgkoc2Vzc2lvbjxBbGxvY2F0b3I+OjphZGRfc3Vic3RpdHV0aW9uKToKCUhhbmRsZSA8dGVtcGxhdGUtcGFyYW0+IGZvciA8bmVzdGVkLW5hbWU+J3MuCgkoZW51bSB4YXJ5X250KTogQWRkZWQuCgkoc3RydWN0IGVudHJ5X3N0KTogQWRkZWQgbWVtYmVyIGB4YXJ5X250IHR5cGUnIGluc3RlYWQgb2YgYGJvb2wgdW5hcnknLgoJKHN5bWJvbF9uYW1lX3RhYmxlX2MpOiBVcGRhdGVkIGZvciBgZW50cnlfc3Q6OnR5cGUnIGFuZCBhZGRpdGlvbmFsCglvcGVyYXRvcnMgKHVuYXJ5IGBvcGVyYXRvcisnIGFuZCBgc2l6ZW9mKHR5cGUpJykuCgkob2Zmc2V0X3RhYmxlX2MpOiBVcGRhdGVkIGZvciBuZXcgb3BlcmF0b3JzIChjYXVzaW5nIGEgbmV3IGhhc2ggbWFwKS4KCShkZWNvZGVfb3BlcmF0b3JfbmFtZSk6IE1hdGNoIHRoZSB1cGRhdGVkIGhhc2ggbWFwLgoJKHNlc3Npb248QWxsb2NhdG9yPjo6ZGVjb2RlX2V4cHJlc3Npb24pOgoJU3VwcG9ydCBmb3IgYHNpemVvZiAoW3R5cGVuYW1lXSB0eXBlKScgKHN0KSwKCWRlcGVuZGVudCBuYW1lcyAoc3IpIGFuZCBjYXN0aW5nIG9wZXJhdG9yIChjdikuICBIYW5kbGUKCWBlbnRyeV9zdDo6dHlwZScuICBIYW5kbGUgX0dMSUJDWFhfREVNQU5HTEVSX1NUWUxFX0NPTVBBQ1RfRVhQUl9PUFMKCWFuZCBfR0xJQkNYWF9ERU1BTkdMRVJfU1RZTEVfU0laRU9GX1RZUEVOQU1FLgoJKHNlc3Npb248QWxsb2NhdG9yPjo6ZGVjb2RlX3R5cGVfd2l0aF9wb3N0Zml4KToKCVN1cHBvcnQgYGV4dGVybiAiQyInIGZ1bmN0aW9uIHR5cGVzIChGWSkuCgkqIHRlc3RzdWl0ZS9kZW1hbmdsZS9yZWdyZXNzaW9uL2N3LTE2LmNjOiBBZGRlZCB0ZXN0cyBmb3IgdGhlCglhZGRlZCBmdW5jdGlvbmFsaXR5LgoJKiB0ZXN0c3VpdGUvZGVtYW5nbGUvcmVncmVzc2lvbi8zMTExLTIuY2M6IHNpemVvZiBub3cgaGFzIGEgc3BhY2UKCWFwcGVuZGVkLgoKMjAwMy0xMS0xMSAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHN1c2UuZGU+CgoJUFIgbGlic3RkYysrLzEyODc1CgkqIGluY2x1ZGUvYml0cy9mc3RyZWFtLnRjYyAoc2V0YnVmKTogRG9uJ3QgZG8gYW55dGhpbmcKCWFmdGVyIG9wZW4oKSwgaW4gcGFydGljdWxhciBkb24ndCBkaXNjYXJkIGRhdGEuCgkoX01fYWxsb2NhdGVfaW50ZXJuYWxfYnVmZmVyKTogVHdlYWsgdG8gbm90IGFsbG9jYXRlIG1lbW9yeQoJaW4gY2FzZSB0aGUgYnVmZmVyIGlzIHByb3ZpZGVkIGJ5IHRoZSB1c2VyIHZpYSBzZXRidWYuCgkqIGluY2x1ZGUvZXh0L3N0ZGlvX2ZpbGVidWYuaDogVHdlYWsgY29tbWVudC4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2V0YnVmL2NoYXIvMTI4NzUtMS5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZXRidWYvY2hhci8xMjg3NS0yLmNjOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2V0YnVmL2NoYXIvMi5jYzogVHdlYWssIG5vdwoJc2V0YnVmIGRvZXMgbm90aGluZyBhZnRlciBvcGVuKCkuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NldGJ1Zi9jaGFyLzMuY2M6IExpa2V3aXNlLgoKMjAwMy0xMS0xMSAgRG91ZyBHcmVnb3IgIDxncmVnb2RAY3MucnBpLmVkdT4KCgkqIGRvY3MvaHRtbC9kZWJ1Zy5odG1sOiBEb2N1bWVudCBsaWJzdGRjKysgZGVidWcgbW9kZS4KCSogZG9jcy9odG1sL2RlYnVnX21vZGUuaHRtbDogRG9jdW1lbnQgbGlic3RkYysrIGRlYnVnIG1vZGUgZGVzaWduLgoJKiBkb2NzL2h0bWwvdGVzdC5odG1sOiBEb2N1bWVudCBob3cgdG8gdGVzdCB1bmRlciBkZWJ1ZyBtb2RlLgoJKiBkb2NzL2h0bWwvMTdfaW50cm8vaG93dG8uaHRtbDogRG9jdW1lbnQgZGVidWctbW9kZSBtYWNyb3MuCgkqIGluY2x1ZGUvTWFrZWZpbGUuYW06IEluc3RhbGwgZGVidWctbW9kZSBoZWFkZXJzLgoJKiBzcmMvTWFrZWZpbGUuYW06IEluY2x1ZGUgZGVidWcuY2MuCgkqIGluY2x1ZGUvYml0cy9iYXNpY19zdHJpbmcudGNjOiAKCSAgKGJhc2ljX3N0cmluZzo6X1NfY29uc3RydWN0KTogRml4IE5VTEwgcG9pbnRlciBjaGVjay4KCSAgKF9faXNfbnVsbF9wb2ludGVyKTogTmV3LgoJICBBZGQgcHJlY29uZGl0aW9uIGFubm90YXRpb25zLgoJKiBpbmNsdWRlL2JpdHMvc3RyZWFtX2l0ZXJhdG9yLmggKGlzdHJlYW1faXRlcmF0b3IsCglvc3RyZWFtX2l0ZXJhdG9yKTogQWRkZWQgcHJlY29uZGl0aW9uIGFubm90YXRpb25zLgoJKiBpbmNsdWRlL2JpdHMvc3RyZWFtYnVmX2l0ZXJhdG9yLmggKGlzdHJlYW1idWZfaXRlcmF0b3IpOiBEaXR0by4KCSogaW5jbHVkZS9iaXRzL3N0bF9xdWV1ZS5oIChxdWV1ZSwgcHJpb3JpdHlfcXVldWUpOiBEaXR0by4KCSogaW5jbHVkZS9iaXRzL3N0bF9zdGFjay5oIChzdGFjayk6IERpdHRvLgoJKiBpbmNsdWRlL2JpdHMvYmFzaWNfc3RyaW5nLmggKGJhc2ljX3N0cmluZyk6IERpdHRvLgoJKiBpbmNsdWRlL2JpdHMvYmFzaWNfc3RyaW5nLnRjYyAoYmFzaWNfc3RyaW5nKTogRGl0dG8uCgkqIGluY2x1ZGUvc3RkL3N0ZF9tZW1vcnkuaCAoYXV0b19wdHIpOiBEaXR0by4KCSogaW5jbHVkZS9zdGQvc3RkX3ZhbGFycmF5LmggKHZhbGFycmF5KTogRGl0dG8uCgkqIGluY2x1ZGUvYml0cy9zdGxfYWxnby5oOiBBZGRlZCBhbGdvcml0aG0gcHJlY29uZGl0aW9uCglhbm5vdGF0aW9ucy4KCSogaW5jbHVkZS9iaXRzL3N0bF9hbGdvYmFzZS5oOiBBZGRlZCBhbGdvcml0aG0gcHJlY29uZGl0aW9uCglhbm5vdGF0aW9ucy4KCSogaW5jbHVkZS9iaXRzL3N0bF9udW1lcmljLmg6IERpdHRvLgoJKiBpbmNsdWRlL2V4dC9hbGdvcml0aG06IEFkZGVkIGFsZ29yaXRobSBwcmVjb25kaXRpb24KCWFubm90YXRpb25zLiAKCShfX2lzX2hlYXApOiBNb3ZlZCBhd2F5IGZyb20gaGVyZS4KCSogaW5jbHVkZS9iaXRzL3N0bF9oZWFwLmg6IEFkZGVkIGFsZ29yaXRobSBwcmVjb25kaXRpb24KCWFubm90YXRpb25zLiAKCShfX2lzX2hlYXApOiBNb3ZlZCB0byB0aGUgdG9wIG9mIHRoaXMgZmlsZS4KCShfX2lzX2hlYXApOiBBZGRlZCBpdGVyYXRvciByYW5nZSBvdmVybG9hZHMuCgkqIHRlc3RzdWl0ZS8yMF91dGlsL2F1dG9fcHRyX25lZy5jYzogRml4IGxpbmUgbnVtYmVycyB0byBtYXRjaCB1cAoJd2l0aCBjaGFuZ2VzIGluIHN0ZF9tZW1vcnkuaC4KCSogdGVzdHN1aXRlLzIzX2NvbnRhaW5lcnMvbGlzdC9vcGVyYXRvcnMvNC5jYzogRG9uJ3QgdmVyaWZ5CglwZXJmb3JtYW5jZSBndWFyYW50ZWVzIHdoZW4gaW4gZGVidWcgbW9kZS4KCSogdGVzdHN1aXRlLzIzX2NvbnRhaW5lcnMvYml0c2V0L2ludmFsaWRhdGlvbi8xLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yM19jb250YWluZXJzL2RlcXVlL2ludmFsaWRhdGlvbi8xLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yM19jb250YWluZXJzL2RlcXVlL2ludmFsaWRhdGlvbi8yLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yM19jb250YWluZXJzL2RlcXVlL2ludmFsaWRhdGlvbi8zLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yM19jb250YWluZXJzL2RlcXVlL2ludmFsaWRhdGlvbi80LmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yM19jb250YWluZXJzL2xpc3QvaW52YWxpZGF0aW9uLzEuY2M6IE5ldy4KCSogdGVzdHN1aXRlLzIzX2NvbnRhaW5lcnMvbGlzdC9pbnZhbGlkYXRpb24vMi5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvMjNfY29udGFpbmVycy9saXN0L2ludmFsaWRhdGlvbi8zLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yM19jb250YWluZXJzL2xpc3QvaW52YWxpZGF0aW9uLzQuY2M6IE5ldy4KCSogdGVzdHN1aXRlLzIzX2NvbnRhaW5lcnMvbWFwL2ludmFsaWRhdGlvbi8xLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yM19jb250YWluZXJzL21hcC9pbnZhbGlkYXRpb24vMi5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvMjNfY29udGFpbmVycy9tdWx0aW1hcC9pbnZhbGlkYXRpb24vMS5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvMjNfY29udGFpbmVycy9tdWx0aW1hcC9pbnZhbGlkYXRpb24vMi5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvMjNfY29udGFpbmVycy9tdWx0aXNldC9pbnZhbGlkYXRpb24vMS5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvMjNfY29udGFpbmVycy9tdWx0aXNldC9pbnZhbGlkYXRpb24vMi5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvMjNfY29udGFpbmVycy9zZXQvaW52YWxpZGF0aW9uLzEuY2M6IE5ldy4KCSogdGVzdHN1aXRlLzIzX2NvbnRhaW5lcnMvc2V0L2ludmFsaWRhdGlvbi8yLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yM19jb250YWluZXJzL3ZlY3Rvci9pbnZhbGlkYXRpb24vMS5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvMjNfY29udGFpbmVycy92ZWN0b3IvaW52YWxpZGF0aW9uLzIuY2M6IE5ldy4KCSogdGVzdHN1aXRlLzIzX2NvbnRhaW5lcnMvdmVjdG9yL2ludmFsaWRhdGlvbi8zLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yM19jb250YWluZXJzL3ZlY3Rvci9pbnZhbGlkYXRpb24vNC5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvMjVfYWxnb3JpdGhtcy9oZWFwLmNjOiBEb24ndCB2ZXJpZnkKCXBlcmZvcm1hbmNlIGd1YXJhbnRlZXMgd2hlbiBpbiBkZWJ1ZyBtb2RlLgoJKiBpbmNsdWRlL2RlYnVnL2JpdHNldDogTmV3LgoJKiBpbmNsdWRlL2RlYnVnL2RlYnVnLmg6IE5ldy4KCSogaW5jbHVkZS9kZWJ1Zy9kZXF1ZTogTmV3LgoJKiBpbmNsdWRlL2RlYnVnL2Zvcm1hdHRlci5oOiBOZXcuCgkqIGluY2x1ZGUvZGVidWcvaGFzaF9tYXA6IE5ldy4KCSogaW5jbHVkZS9kZWJ1Zy9oYXNoX21hcC5oOiBOZXcuCQoJKiBpbmNsdWRlL2RlYnVnL2hhc2hfbXVsdGltYXAuaDogTmV3LgoJKiBpbmNsdWRlL2RlYnVnL2hhc2hfc2V0OiBOZXcuCgkqIGluY2x1ZGUvZGVidWcvaGFzaF9zZXQuaDogTmV3LgoJKiBpbmNsdWRlL2RlYnVnL2hhc2hfbXVsdGlzZXQuaDogTmV3LgkKCSogaW5jbHVkZS9kZWJ1Zy9saXN0OiBOZXcuCgkqIGluY2x1ZGUvZGVidWcvbWFwOiBOZXcuCgkqIGluY2x1ZGUvZGVidWcvbWFwLmg6IE5ldy4KCSogaW5jbHVkZS9kZWJ1Zy9tdWx0aW1hcC5oOiBOZXcuCgkqIGluY2x1ZGUvZGVidWcvbXVsdGlzZXQuaDogTmV3LgkKCSogaW5jbHVkZS9kZWJ1Zy9zYWZlX2Jhc2UuaDogTmV3LgoJKiBpbmNsdWRlL2RlYnVnL3NhZmVfaXRlcmF0b3IuaDogTmV3LgoJKiBpbmNsdWRlL2RlYnVnL3NhZmVfaXRlcmF0b3IudGNjOiBOZXcuCgkqIGluY2x1ZGUvZGVidWcvc2FmZV9zZXF1ZW5jZS5oOiBOZXcuCgkqIGluY2x1ZGUvZGVidWcvc2V0OiBOZXcuCgkqIGluY2x1ZGUvZGVidWcvc2V0Lmg6IE5ldy4JCgkqIGluY2x1ZGUvZGVidWcvc3RyaW5nOiBOZXcuCgkqIGluY2x1ZGUvZGVidWcvdmVjdG9yOiBOZXcuCgkqIHNyYy9kZWJ1Zy5jYzogTmV3LgoJKiBjb25maWcvbGlua2VyLW1hcC5nbnU6IEFkZCBkZWJ1ZyBtb2RlIHN5bWJvbHMuCgkKMjAwMy0xMS0xMSAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogc3JjL3N0cmluZy1pbnN0LmNjOiBUd2VhayBuYW1lc3BhY2VzLgoJKiBzcmMvbWlzYy1pbnN0LmNjOiBTYW1lLgoJKiBkb2NzL2h0bWwvZGVidWcuaHRtbDogRWRpdHMuCgkqIGNvbmZpZy9saW5rLW1hcC5nbnU6IFJlbW92ZSBjcnVmdC4KCgkqIGluY2x1ZGUvYml0cy9jKytjb25maWc6IEFkZCBpbiBuYW1lc3BhY2UgYXNzb2NpYXRpb25zLgoJKiBpbmNsdWRlL3N0ZC9zdGRfYml0c2V0Lmg6IEFkanVzdCBuYW1lc3BhY2UgdG8gX19nbnVfbm9ybSwKCWNvbW1lbnQgdHdlYWtzLgoJKiBpbmNsdWRlL2JpdHMvZGVxdWUudGNjOiBTYW1lLgoJKiBpbmNsdWRlL2JpdHMvbGlzdC50Y2M6IFNhbWUuCgkqIGluY2x1ZGUvYml0cy9zdGxfYnZlY3Rvci5oOiBTYW1lLgoJKiBpbmNsdWRlL2JpdHMvc3RsX2RlcXVlLmg6IFNhbWUuCgkqIGluY2x1ZGUvYml0cy9zdGxfbGlzdC5oOiBTYW1lLgoJKiBpbmNsdWRlL2JpdHMvc3RsX21hcC5oOiBTYW1lLgoJKiBpbmNsdWRlL2JpdHMvc3RsX211bHRpbWFwLmg6IFNhbWUuCgkqIGluY2x1ZGUvYml0cy9zdGxfbXVsdGlzZXQuaDogU2FtZS4KCSogaW5jbHVkZS9iaXRzL3N0bF9zZXQuaDogU2FtZS4KCSogaW5jbHVkZS9iaXRzL3N0bF92ZWN0b3IuaDogU2FtZS4KCSogaW5jbHVkZS9iaXRzL3ZlY3Rvci50Y2M6IFNhbWUuCgoJKiBpbmNsdWRlL3N0ZC9zdGRfYWxnb3JpdGhtLmg6IFJlbW92ZSBtYXJrdXAgY29tbWVudHMuCgkqIGluY2x1ZGUvc3RkL3N0ZF9mdW5jdGlvbmFsLmg6IFNhbWUuCgkqIGluY2x1ZGUvc3RkL3N0ZF9pdGVyYXRvci5oOiBTYW1lLgoJKiBpbmNsdWRlL3N0ZC9zdGRfbnVtZXJpYy5oOiBTYW1lLgoJKiBpbmNsdWRlL3N0ZC9zdGRfdXRpbGl0eS5oOiBTYW1lLgoJKiBpbmNsdWRlL2JpdHMvc3RsX3F1ZXVlLmg6IEZvcm1hdHRpbmcgdHdlYWtzLgoJKiBpbmNsdWRlL2JpdHMvc3RsX3N0YWNrLmg6IFNhbWUuCgkqIGluY2x1ZGUvc3RkL3N0ZF9kZXF1ZS5oOiBJbmNsdWRlIGRlYnVnZ2luZyB2ZXJzaW9uIGluIGRlYnVnIG1vZGUuCgkqIGluY2x1ZGUvc3RkL3N0ZF9saXN0Lmg6IFNhbWUuCgkqIGluY2x1ZGUvc3RkL3N0ZF9tYXAuaDogU2FtZS4KCSogaW5jbHVkZS9zdGQvc3RkX3NldC5oOiBTYW1lLgoJKiBpbmNsdWRlL3N0ZC9zdGRfdmVjdG9yLmg6IFNhbWUuCQoJKiBpbmNsdWRlL3N0ZC9zdGRfcXVldWUuaDogVXNlIGRlcXVlLCB2ZWN0b3IuCgkqIGluY2x1ZGUvc3RkL3N0ZF9zdGFjay5oOiBTYW1lLgoKMjAwMy0xMS0wOSAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHN1c2UuZGU+CgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy50Y2MgKF9NX2luc2VydF9pbnQsCglfTV9pbnNlcnRfZmxvYXQpOiBNb3ZlIGEgY291cGxlIG9mIHZhcnMgaW5zaWRlIGFuIGlmIGJsb2NrLgoKMjAwMy0xMS0wOSAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHN1c2UuZGU+CgoJUFIgbGlic3RkYysrLzEyOTcxCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLnRjYwoJKG1vbmV5X3B1dDo6ZG9fcHV0KC4uLiwgbG9uZyBkb3VibGUpKTogRml4IGNvbnZlcnNpb24KCXNwZWNpZmljYXRpb24gYXMgcGVyIERSIDMyOCBbV1BdLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL21vbmV5X3B1dC9wdXQvY2hhci8xMjk3MS5jYzogQWRkLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL21vbmV5X3B1dC9wdXQvd2NoYXJfdC8xMjk3MS5jYzogRGl0dG8uCgkqIGRvY3MvaHRtbC9leHQvaG93dG8uaHRtbDogQWRkIGVudHJ5IGZvciBEUiAzMjguCgoyMDAzLTExLTA4ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAc3VzZS5kZT4KCglQUiBsaWJzdGRjKysvMTI5NjcKCSogaW5jbHVkZS9iaXRzL2xpc3QudGNjIChtZXJnZSk6IEltcGxlbWVudCByZXNvbHV0aW9uIG9mCglEUiAzMDAgW1dQXS4KCSogZG9jcy9odG1sL2V4dC9ob3d0by5odG1sOiBBZGQgZW50cnkgZm9yIERSIDMwMDsgdHdlYWsgZW50cnkKCWZvciBEUiAyMzEuCgoJKiBkb2NzL2h0bWwvZXh0L2x3Zy1hY3RpdmUuaHRtbCwgZG9jcy9odG1sL2V4dC9sd2ctZGVmZWN0cy5odG1sOgoJSW1wb3J0IFIyNy4KCjIwMDMtMTEtMDcgIEpvbmF0aGFuIFdha2VseSAgPHJlZGlAZ2NjLmdudS5vcmc+CgoJKiBsaWJzdXBjKysvdmVjLmNjOiBDb25mb3JtIHRvIEMrK1NUWUxFLgoKMjAwMy0xMS0wNyAgQ2FybG8gV29vZCAgPGNhcmxvQGFsaW5vZS5jb20+CgoJUFIgbGlic3RkYysrLzEyNzM2CgkqIGJpdHMvZGVtYW5nbGUuaCAocXVhbGlmaWVyX2xpc3Q8QWxsb2NhdG9yPjo6ZGVjb2RlX0tWckEpOiBBZGRlZC4KCShxdWFsaWZpZXJfbGlzdDxBbGxvY2F0b3I+OjpkZWNvZGVfcXVhbGlmaWVycyk6IENvbGxlY3QgY29uY2F0ZW5hdGVkCglLLCBWLCByIGFuZCBBIHF1YWxpZmllcnMgYmVmb3JlIHByb2Nlc3NpbmcgdGhlbSBhcyBhIGdyb3VwLgoJKiB0ZXN0c3VpdGUvZGVtYW5nbGUvYWJpX3RleHQvMDEuY2M6IFJlb3JkZXJlZCBDVi1xdWFsaWZpZXJzLgoJKiB0ZXN0c3VpdGUvZGVtYW5nbGUvcmVncmVzc2lvbi9jdy0xNi5jYzogTmV3LgoKMjAwMy0xMS0wNyAgUm9iZXJ0IE1pbGxhbiAgPHJvYmVydG1oQGdudS5vcmc+CgoJKiBjb25maWd1cmUuaG9zdDogQWRkIGtmcmVlYnNkKi1nbnUgYW5kIGtuZXRic2QqLWdudS4KCSogY3Jvc3Njb25maWcubTQ6IExpa2V3aXNlLgoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGUuCgoyMDAzLTExLTA3ICBDYXJsbyBXb29kICA8Y2FybG9AYWxpbm9lLmNvbT4KCgkqIGluY2x1ZGUvYml0cy9kZW1hbmdsZS5oCgkocXVhbGlmaWVyX2xpc3Q8QWxsb2NhdG9yPjo6ZGVjb2RlX3F1YWxpZmllcnMoc3RyaW5nX3R5cGUmLAoJc3RyaW5nX3R5cGUmLCBib29sIG1lbWJlcl9mdW5jdGlvbl9wb2ludGVyX3F1YWxpZmllcnMpOgoJQWx3YXlzIHNlcGFyYXRlIHRoZSAnWycgb2YgYW4gYXJyYXkgdHlwZSB3aXRoIGEgc3BhY2UgZnJvbQoJd2hhdCBpcyBsZWZ0IG9mIGl0LCBleGNlcHQgd2hlbiB0aGF0IGlzIHRoZSBjbG9zaW5nIGJyYWNrZXQKCW9mIGFub3RoZXIgYXJyYXkgZGltZW5zaW9uLgoKMjAwMy0xMS0wNyAgQ2FybG8gV29vZCAgPGNhcmxvQGFsaW5vZS5jb20+CgoJKiBpbmNsdWRlL2JpdHMvZGVtYW5nbGUuaAoJKHF1YWxpZmllcl9saXN0PEFsbG9jYXRvcj46OmRlY29kZV9xdWFsaWZpZXJzKHN0cmluZ190eXBlJiwKCXN0cmluZ190eXBlJiwgYm9vbCkgY29uc3QpOiBNYWRlIGNvbnN0LgoJKHF1YWxpZmllcl9saXN0PEFsbG9jYXRvcj46Ok1fcHJpbnRpbmdfc3VwcHJlc3NlZCk6IEFkZGVkIG11dGFibGUuCgkoX0dMSUJDWFhfREVNQU5HTEVSX0RPVVRfRU5URVJJTkczLCBfR0xJQkNYWF9ERU1BTkdMRVJfUkVUVVJOMywKCXN0ZDo6b3N0cmVhbSYgb3BlcmF0b3I8PChzdGQ6Om9zdHJlYW0mLCBxdWFsaWZpZXIgY29uc3QmKSwKCXN0ZDo6b3N0cmVhbSYgb3BlcmF0b3I8PChzdGQ6Om9zdHJlYW0mLCBxdWFsaWZpZXJfbGlzdCBjb25zdCYpLAoJcXVhbGlmaWVyX2xpc3Q8QWxsb2NhdG9yPjo6ZGVjb2RlX3F1YWxpZmllcnMoc3RyaW5nX3R5cGUmLAoJc3RyaW5nX3R5cGUmLCBib29sKSBjb25zdCwKCXNlc3Npb248QWxsb2NhdG9yPjo6ZGVjb2RlX3R5cGVfd2l0aF9wb3N0Zml4KHN0cmluZ190eXBlJiwKCXN0cmluZ190eXBlJiwgcXVhbGlmaWVyX2xpc3Q8QWxsb2NhdG9yPiopKQoJQWRkZWQgYW5kL29yIGNoYW5nZWQgZGVidWctb25seSBob29rcyBhbmQgY29kZS4KCjIwMDMtMTEtMDQgIEplZmZyZXkgRC4gT2xkaGFtICA8b2xkaGFtQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBsaWJzdXBjKysvdmVjLmNjIChfX2N4YV92ZWNfZGVsZXRlMik6IElmIGdpdmVuIGEgTlVMTCBwb2ludGVyLAoJaW1tZWRpYXRlbHkgcmV0dXJuLiAgVGhpcyByZWZsZWN0cyBhIEMrKyBBQkkgY2hhbmdlIDIwMDMgTm92IDAzLgoJKF9fY3hhX3ZlY19kZWxldGUzKTogTGlrZXdpc2UuCgkKMjAwMy0xMS0wMyAgUGV0dXIgUnVub2xmc3NvbiAgPHBldHVycjAyQHJ1LmlzPgoKCVBSIGxpYnN0ZGMrKy8xMjc5MAoJKiBpbmNsdWRlL2JpdHMvZnN0cmVhbS50Y2M6IERlbGV0ZSBfTV9sYXN0X292ZXJmbG93ZWQuCgkoYmFzaWNfZmlsZWJ1Zjo6YmFzaWNfZmlsZWJ1Zik6IEluaXRpYWxpemUgX01fc3RhdGVfbGFzdC4KCShiYXNpY19maWxlYnVmOjpvcGVuLCBiYXNpY19maWxlYnVmOjpjbG9zZSk6IEFzc2lnbgoJX01fc3RhdGVfYmVnIHRvIF9NX3N0YXRlX2N1ciBhbmQgX01fc3RhdGVfbGFzdC4KCShiYXNpY19maWxlYnVmOjpjbG9zZSk6IENhbGwgX01fdGVybWluYXRlX291dHB1dCB0byBoYW5kbGUKCXVuc2hpZnQgYW5kIGZsdXNoaW5nLgoJKGJhc2ljX2ZpbGVidWY6OnVuZGVyZmxvdyk6IEFzc2lnbiBfTV9zdGF0ZV9sYXN0LCB0aHJvdwoJZXhjZXB0aW9uIGluc3RlYWQgb2YgY2FsbGluZyBhYm9ydCB3aGVuIGNvZGVjdnQ6Om1heF9sZW5ndGgoKQoJaXMgYmFkLgoJKGJhc2ljX2ZpbGVidWY6OnNlZWtvZmYpOiBVc2UgX01fc3RhdGVfbGFzdCB3aGVuIGNhbGxpbmcKCWNvZGVjdnQ6Omxlbmd0aCgpLCBwYXNzIGNvcnJlY3Qgc3RhdGUgdG8gX01fc2Vlay4KCShiYXNpY19maWxlYnVmOjpzZWVrcG9zKTogUGFzcyBfX3Bvcy5zdGF0ZSgpIHRvIF9NX3NlZWsuCgkoYmFzaWNfZmlsZWJ1Zjo6X01fc2Vlayk6IEFkZCBfX3N0YXRlX3R5cGUgcGFyYW1ldGVyLAoJc2V0IF9NX3N0YXRlX2N1ciBjb3JyZWN0bHksIHN0b3JlIHRoZSByZXN1bHRpbmcgc3RhdGUgaW4KCXRoZSByZXR1cm4gdmFsdWUgYW5kIHVzZSBfTV90ZXJtaW5hdGVfb3V0cHV0IHRvIGhhbmRsZQoJZmx1c2hpbmcgYW5kIHVuc2hpZnQuCgkoYmFzaWNfZmlsZWJ1Zjo6X01fdGVybWluYXRlX291dHB1dCk6IEZsdXNoIGNvbnRlbnRzIG9mCglvdXRwdXQgYnVmZmVyLCBpZiBhbnksIHRoZW4gY2FsbCBjb2RlY3Z0Ojp1bnNoaWZ0IGFzCgluZWVkZWQgYW5kIG91dHB1dCB0aGUgcmVzdWx0LgoJKGJhc2ljX2ZpbGVidWY6OnN5bmMpOiBNb3ZlIGhlcmUsIGRvbid0IG1vZGlmeSBfTV93cml0aW5nCglvciBfTV9yZWFkaW5nLgoJCgkqIGluY2x1ZGUvc3RkL3N0ZF9mc3RyZWFtLmgKCShiYXNpY19maWxlYnVmOjpfTV9zdGF0ZV9sYXN0KTogRGVjbGFyZSBpdC4KCShiYXNpY19maWxlYnVmOjpfTV9sYXN0X292ZXJmbG93ZWQpOiBEZWxldGUuCgkoYmFzaWNfZmlsZWJ1Zjo6X01fc2Vlayk6IEFkZCBfX3N0YXRlX3R5cGUgcGFyYW1ldGVyLgoJKGJhc2ljX2ZpbGVidWY6OnN5bmMpOiBEZWNsYXJlIG9ubHkuCgkoYmFzaWNfZmlsZWJ1Zjo6X01fb3V0cHV0X3Vuc2hpZnQpOiBEZWxldGUuCgkoYmFzaWNfZmlsZWJ1Zjo6X01fdGVybWluYXRlX291dHB1dCk6IERlY2xhcmUgaXQuCgkKCSogdGVzdHN1aXRlL3Rlc3RzdWl0ZV9jaGFyYWN0ZXIuaDoKCURlZmluZSBjaGFyYWN0ZXIgY2xhc3MgYW5kIHN0YXRlIGNsYXNzIHBsdXMgY2hhcl90cmFpdHMgYW5kCgljb2RlY3Z0IHNwZWNpYWxpemF0aW9ucyBmb3Igc2FtZSBmb3IgdGVzdGluZyBzdXBwb3J0IGZvcgoJc3RhdGVmdWwgZW5jb2RpbmdzLgoJCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL2Nsb3NlLzEyNzkwLTEuY2MsCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL2Nsb3NlL2NoYXIvMTI3OTAtMS5jYywKCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvY2xvc2UvY2hhci8xMjc5MC0yLmNjLAoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9jbG9zZS9jaGFyLzEyNzkwLTMuY2MsCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL2Nsb3NlL2NoYXIvMTI3OTAtNC5jYywKCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvY2xvc2Uvd2NoYXJfdC8xMjc5MC0xLmNjLAoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9jbG9zZS93Y2hhcl90LzEyNzkwLTIuY2MsCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL2Nsb3NlL3djaGFyX3QvMTI3OTAtMy5jYywKCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvY2xvc2Uvd2NoYXJfdC8xMjc5MC00LmNjLAoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9vcGVuLzEyNzkwLTEuY2MsCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NlZWtvZmYvMTI3OTAtMS5jYywKCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2Vla29mZi8xMjc5MC0yLmNjLAoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZWVrb2ZmLzEyNzkwLTMuY2MsCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NlZWtvZmYvMTI3OTAtNC5jYywKCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2Vla29mZi9jaGFyLzEyNzkwLTEuY2MsCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NlZWtvZmYvY2hhci8xMjc5MC0yLmNjLAoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZWVrb2ZmL2NoYXIvMTI3OTAtMy5jYywKCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2Vla29mZi9jaGFyLzEyNzkwLTQuY2MsCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NlZWtvZmYvd2NoYXJfdC8xMjc5MC0xLmNjLAoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZWVrb2ZmL3djaGFyX3QvMTI3OTAtMi5jYywKCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2Vla29mZi93Y2hhcl90LzEyNzkwLTMuY2MsCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NlZWtvZmYvd2NoYXJfdC8xMjc5MC00LmNjLAoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZWVrb2ZmL3djaGFyX3QvMy5jYywKCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2Vla3Bvcy8xMjc5MC0xLmNjLAoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZWVrcG9zLzEyNzkwLTIuY2MsCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NlZWtwb3MvMTI3OTAtMy5jYywKCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2Vla3Bvcy9jaGFyLzEyNzkwLTEuY2MsCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NlZWtwb3MvY2hhci8xMjc5MC0yLmNjLAoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZWVrcG9zL2NoYXIvMTI3OTAtMy5jYywKCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2Vla3Bvcy9jaGFyLzEyNzkwLTQuY2MsCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NlZWtwb3Mvd2NoYXJfdC8xLmNjLAoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZWVrcG9zL3djaGFyX3QvMTI3OTAtMS5jYywKCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2Vla3Bvcy93Y2hhcl90LzEyNzkwLTIuY2MsCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NlZWtwb3Mvd2NoYXJfdC8xMjc5MC0zLmNjLAoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZWVrcG9zL3djaGFyX3QvMTI3OTAtNC5jYywKCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc3luYy9jaGFyLzEuY2MsCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3N5bmMvd2NoYXJfdC8xLmNjOgoJTmV3IHRlc3RzLgoKCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvMy5jYywKCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2Vla29mZi8xMDEzMi0yLmNjLAoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZWVrcG9zLzEwMTMyLTMuY2MsCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19mc3RyZWFtLzMuY2MsCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19pZnN0cmVhbS8zLmNjLAoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfb2ZzdHJlYW0vMy5jYzoKCVVzZSBzdHJlYW1vZmYgYXMgb2ZmX3R5cGUgYW5kIGZwb3M8c3RhdGVfdHlwZT4gYXMgcG9zX3R5cGUuCgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZWVrcG9zL2NoYXIvMS1pby5jYywKCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2Vla3Bvcy9jaGFyLzEtb3V0LmNjOgoJQ2hlY2sgdGhhdCBzeW5jIGRvZXMgKm5vdCogc2V0IF9NX3dyaXRpbmcgdG8gZmFsc2UuCgoyMDAzLTExLTAzICBBbnRob255IEdyZWVuICA8Z3JlZW5AcmVkaGF0LmNvbT4KCgkqIGxpYm1hdGgvc3R1YnMuYyAoc3FydGYsIHNxcnRsKTogUmVvcmRlciBzbyB0aGV5IGFwcGVhciBiZWZvcmUKCXRoZXkncmUgdXNlZC4KCjIwMDMtMTEtMDMgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLmggKHRpbWVfZ2V0OjpfTV9leHRyYWN0X25hbWUpOiBBZGQKCWN0eXBlIGFyZ3VtZW50LgkKCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjOiBTYW1lLCB1c2UgaXQgdG8gYWxsb3cKCWNhcGl0YWxpemVkIG5hbWVzLgoJCgkqIGluY2x1ZGUvYml0cy9mc3RyZWFtLnRjYzogU3BhY2luZyB0d2Vhay4KCSogaW5jbHVkZS9iaXRzL2lzdHJlYW0udGNjOiBTYW1lLgoJKiBpbmNsdWRlL2JpdHMvb3N0cmVhbS50Y2M6IFNhbWUuCgoyMDAzLTEwLTMwICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAc3VzZS5kZT4KCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLnRjYyAodGltZV9nZXQ6Ol9NX2V4dHJhY3RfdmlhX2Zvcm1hdCk6CglfX21vZCBpcyBvbmx5IGFzc2lnbmVkLCBuZXZlciB1c2VkIGl0cyB2YWx1ZSwgcmVtb3ZlIGl0LgoKMjAwMy0xMC0yOSAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHN1c2UuZGU+CgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy50Y2MgKHRpbWVfZ2V0Ojpkb19nZXRfeWVhcik6CglBYnNvbHV0ZWx5IGF2b2lkIGRlcmVmZXJlbmNpbmcgZW5kIGl0ZXJhdG9ycy4KCSh0aW1lX3B1dDo6cHV0KTogTWlub3IgY2xlYW4gdXAuCgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy50Y2M6IENvc21ldGljIHJlZm9ybWF0dGluZ3MuCgoyMDAzLTEwLTI5ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAc3VzZS5kZT4KCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLnRjYyAobnVtX2dldDo6X01fZXh0cmFjdF9mbG9hdCk6CglSZXZlcnQgdGhlIGxhc3QgY29tbWl0LCBpcyBub3QgY29ycmVjdCwgc29ycnkuCgkKMjAwMy0xMC0yOSAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHN1c2UuZGU+CgoJKiBjb25maWcvbG9jYWxlL2dlbmVyaWMvY19sb2NhbGUuY2M6IEFkZCBiYWNrIDxjbWF0aD4gYW5kCgk8Y3N0ZGxpYj4uCgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy50Y2MgKG51bV9nZXQ6Ol9NX2V4dHJhY3RfZmxvYXQpOgoJQ2xlYW4gdXAuCgoyMDAzLTEwLTI5ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAc3VzZS5kZT4KCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLnRjYyAodGltZV9wdXQ6OnB1dCk6IEFic29sdXRlbHkKCWF2b2lkIGRlcmVmZXJlbmNpbmcgZW5kIGl0ZXJhdG9yczsgY2xlYW4gdXAuCgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy50Y2MgKG51bV9nZXQ6Ol9NX2V4dHJhY3RfZmxvYXQsCgludW1fZ2V0OjpfTV9leHRyYWN0X2ludCk6IE1pbm9yIHR3ZWFrLgoKMjAwMy0xMC0yOSAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHN1c2UuZGU+CgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy50Y2M6IFJlbW92ZSBzb21lIHVubmVjZXNzYXJ5CglpbmNsdWRlcy4KCSogY29uZmlnL2xvY2FsZS9nZW5lcmljL2NfbG9jYWxlLmNjOiBJbmNsdWRlIDxjZXJybm8+IGhlcmUuCgkqIGNvbmZpZy9sb2NhbGUvZ251L2NfbG9jYWxlLmNjOiBMaWtld2lzZS4KCjIwMDMtMTAtMjggIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUBzdXNlLmRlPgoKCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjCgkobW9uZXlfZ2V0PD46OmRvX2dldCguLi4sIHN0cmluZ190eXBlJikpOiBBYnNvbHV0ZWx5IGF2b2lkCglkZXJlZmVyZW5jaW5nIGVuZCBpdGVyYXRvcnM7IGdlbmVyYWwgY2xlYW4gdXAuCgoyMDAzLTEwLTI4ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAc3VzZS5kZT4KCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLnRjYyAodGltZV9nZXQ6Ol9NX2V4dHJhY3RfbnVtKToKCUFic29sdXRlbHkgYXZvaWQgZGVyZWZlcmVuY2luZyBlbmQgaXRlcmF0b3JzLgoJKHRpbWVfZ2V0OjpfTV9leHRyYWN0X25hbWUpOiBMaWtld2lzZS4KCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLnRjYwoJKHRpbWVfZ2V0OjpfTV9leHRyYWN0X3ZpYV9mb3JtYXQsIGNhc2UgJ2UnKTogRG9uJ3QgdHJ5IHRvCgliZSBzbWFydCB3cnQgcmV0dXJuaW5nIHRoZSByaWdodCBfX2JlZyBpbiBjYXNlIG9mIHBhcnNlCgllcnJvciwgdGltZV9nZXQ6Ol9NX2V4dHJhY3RfbnVtIG11c3QgYmUgZml4ZWQgaW5zdGVhZC4KCjIwMDMtMTAtMjcgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUBzdXNlLmRlPgoKCVBSIGxpYnN0ZGMrKy8xMjc3OAoJKiBhY2luY2x1ZGUubTQgKEdMSUJDWFhfQ0hFQ0tfTEZTKTogVXNlIHRoZSBDKysgY29tcGlsZXIuCgkqIGFjbG9jYWwubTQ6IFJlZ2VuZXJhdGUuCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZS4KCjIwMDMtMTAtMjcgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCQoJKiBkb2NzL2h0bWwvMTdfaW50cm8vVE9ETzogQWRkIGxpbmtzLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfaXN0cmVhbS9leHRyYWN0b3JzX2NoYXJhY3Rlci9jaGFyLzk1NTUtaWMuY2M6CglVbmNvbW1lbnQuCgkKMjAwMy0xMC0yNyAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHN1c2UuZGU+CgoJUFIgbGlic3RkYysrLzEyNzUwCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLnRjYwoJKHRpbWVfZ2V0OjpfTV9leHRyYWN0X3ZpYV9mb3JtYXQpOiBEZWFsIHdpdGggY29kZSAnZScuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvdGltZV9nZXQvZ2V0X2RhdGUvY2hhci8xMjc1MC5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL3RpbWVfZ2V0L2dldF9kYXRlL3djaGFyX3QvMTI3NTAuY2M6IERpdHRvLgoKCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjCgkodGltZV9nZXQ6Ol9NX2V4dHJhY3RfdmlhX2Zvcm1hdCk6IFR3ZWFrIHRvIGFic29sdXRlbHkgYXZvaWQKCWRlcmVmZXJlbmNpbmcgZW5kIGl0ZXJhdG9ycy4KCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLmggKF9fdmVyaWZ5X2dyb3VwaW5nKToKCUNvbnN0LWlmeSBzZWNvbmQgcGFyYW1ldGVyLgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy50Y2MgKF9fdmVyaWZ5X2dyb3VwaW5nKTogRGl0dG8uCgkqIHNyYy9sb2NhbGUtaW5zdC5jYyAoX192ZXJpZnlfZ3JvdXBpbmcpOiBEaXR0by4KCjIwMDMtMTAtMjcgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUBzdXNlLmRlPgoKCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjIChudW1fZ2V0OjpfTV9leHRyYWN0X2Zsb2F0KToKCVZhcmlvdXMgdGhpbmdzOiAxLSBBdm9pZCBhYnNvbHV0ZWx5IGVuZCBpdGVyYXRvciBkZXJlZmVyZW5jZXM7CgkyLSBJbXByb3ZlIHBlcmZvcm1hbmNlLXdpc2UgdGhlIGNvZGUgc2tpcHBpbmcgbGVhZGluZyB6ZXJvczsKCTMtIEZpeCB0d28gYnVncyB3cnQgZWFybHkgYmFpbCBvdXQgaW4gY2FzZSBvZiBwYXJzaW5nIGVycm9ycwoJKHNlZSB0ZXN0Y2FzZXMpOyA0LSBHZW5lcmFsIGNsZWFuIHVwLgoJKG51bV9nZXQ6Ol9NX2V4dHJhY3RfaW50KTogTGlrZXdpc2UsIGV4Y2VwdCAzLS4gQWRkaXRpb25hbGx5LAoJdXNlIF9fYnVpbHRpbl9leHBlY3QgdG8gZmF2b3IgYmFzZSAxMCBpbnB1dHMuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtX2dldC9nZXQvY2hhci83LmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtX2dldC9nZXQvd2NoYXJfdC83LmNjOiBEaXR0by4KCjIwMDMtMTAtMjYgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUBzdXNlLmRlPgoKCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tb25leV9wdXQvcHV0L2NoYXIvMS5jYzogQ2xlYW4gdXAuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbW9uZXlfcHV0L3B1dC93Y2hhcl90LzEuY2M6IERpdHRvLgoKMjAwMy0xMC0yNSAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHN1c2UuZGU+CgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy50Y2MgKG51bV9nZXQ6Ol9NX2V4dHJhY3RfaW50KToKCV9fcG9zIGluIG9ubHkgaW5jcmVtZW50ZWQsIG5ldmVyIHVzZWQgaXRzIHZhbHVlLCByZW1vdmUgaXQuCgoyMDAzLTEwLTI0ICBSb2JlcnQgTWlsbGFuICA8cm9iZXJ0bWhAZ251Lm9yZz4KCgkqIGFjaW5jbHVkZS5tNCAoR0xJQkNYWF9FTkFCTEVfQ0xPQ0FMRSk6IEFkZCBrZnJlZWJzZCotZ251CglhbmQga25ldGJzZCotZ251LgoJKiBhY2xvY2FsLm00OiAgUmVnZW5lcmF0ZWQuCgkqIGNvbmZpZ3VyZTogIFJlZ2VuZXJhdGVkLgoKMjAwMy0xMC0yNCAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHN1c2UuZGU+CgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy50Y2MgKG1vbmV5X2dldDo6ZG9fZ2V0KC4uLiwKCWxvbmcgZG91YmxlJik6IFByb3Blcmx5IHNpemUgdGhlIHRlbXBvcmFyeSBidWZmZXIuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbW9uZXlfZ2V0L2dldC9jaGFyLzExLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbW9uZXlfZ2V0L2dldC93Y2hhcl90LzExLmNjOiBEaXR0by4KCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLnRjYyAobnVtX3B1dDo6X01fZ3JvdXBfaW50LAoJbnVtX3B1dDo6X01fZ3JvdXBfZmxvYXQsIG1vbmV5X3B1dDo6ZG9fcHV0KC4uLiwgY29uc3QKCXN0cmluZ190eXBlJiksIGNvbGxhdGU6OmRvX2NvbXBhcmUsIGNvbGxhdGU6OmRvX3RyYW5zZm9ybSk6CglQcmVmZXIgYmFzaWNfc3RyaW5nOjpkYXRhKCkgdG8gY19zdHIoKSB3aGVuIHRoZSAnXDAnCgl0ZXJtaW5hdG9yIGlzIG5vdCByZWFsbHkgbmVlZGVkLgoKMjAwMy0xMC0yNCAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHN1c2UuZGU+CgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy50Y2MgKF9fdmVyaWZ5X2dyb3VwaW5nKToKCVByZWZlciAnPScgdG8gYW4gdW5uZWNlc3NhcnkgJyY9Jy4KCjIwMDMtMTAtMjQgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUBzdXNlLmRlPgoKCSogaW5jbHVkZS9iaXRzL2Jhc2ljX2lvcy50Y2MgKGNvcHlmbXQoY29uc3QgYmFzaWNfaW9zJikpOgoJVHdlYWsgbXkgZml4IGZvciBsaWJzdGRjKysvMTI2NTcuCgoyMDAzLTEwLTI0ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAc3VzZS5kZT4KCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLnRjYyAobW9uZXlfZ2V0Ojpkb19nZXQoLi4uLAoJc3RyaW5nX3R5cGUmKTogTWlub3IgdHdlYWsgdG8gdGhlIHByZXZpb3VzIGNvbW1pdC4KCjIwMDMtMTAtMjQgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUBzdXNlLmRlPgoKCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjIChtb25leV9nZXQ6OmRvX2dldCguLi4sCglzdHJpbmdfdHlwZSYpOiBEaXNyZWdhcmQgdGhlIHByZXZpb3VzIGNvbW1pdDogZG9lc24ndCBodXJ0IGJ1dAoJZG9lc24ndCBhY2NvbXBsaXNoIGFueXRoaW5nIHVzZWZ1bCBlaXRoZXIuIFRoaXMgaXMgdGhlIHJpZ2h0CglvbmUsIHNwZWVkaW5nIHVwIGdyZWF0bHkgdGhlIGZ1bmN0aW9uIGluIGNhc2Ugb2YgZWFybHkgZmFpbC4KCjIwMDMtMTAtMjQgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUBzdXNlLmRlPgoKCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjIChtb25leV9nZXQ6OmRvX2dldCguLi4sCglzdHJpbmdfdHlwZSYpOiBNb3ZlIGFuIGlmIGJsb2NrLCB0aHVzIG1pbmltaXppbmcgdGhlIGFtb3VudAoJb2YgY29kZSBwcm9jZXNzZWQgYW55d2F5IHdoZW4gX190bXBfdW5pdHMuc2l6ZSgpID09IDAuCgoyMDAzLTEwLTI0ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAc3VzZS5kZT4KCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLnRjYwoJKHRpbWVfZ2V0PD46Ol9NX2V4dHJhY3RfdmlhX2Zvcm1hdCk6IERlYWwgd2l0aCBjYXNlICdDJyB0b28sCgllcXVpdmFsZW50IHRvICd5Jy4KCjIwMDMtMTAtMjMgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGRvY3MvaHRtbC9kb2N1bWVudGF0aW9uLmh0bWw6IEFkZCBhIHBvaW50ZXIgdG8gdGhlIGRveHlnZW4gc3R5bGUKCWd1aWRlLgoJKiBkb2NzL2h0bWwvMTdfaW50cm8vVE9ETzogVXBkYXRlLgoJKiBkb2NzL2h0bWwvdGVzdC5odG1sOiBBZGQgaW5zdHJ1Y3Rpb25zIGZvciBydW5uaW5nIGEgc3Vic2V0IG9mCgl0ZXN0cywgdXBkYXRlLgoKMjAwMy0xMC0yMyAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHN1c2UuZGU+CgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy50Y2MgKG1vbmV5X2dldDw+Ojpkb19nZXQoLi4uLAoJc3RyaW5nX3R5cGUmKSk6IFVzZSBmaW5kX2ZpcnN0X25vdF9vZiB0byBzdHJpcCBsZWFkaW5nCgl6ZXJvczsgaWYgX190bXBfdW5pdHMgPT0gIjAiIG5ldmVyIHByZWZpeCBpdCB3aXRoICctJzsKCWFsd2F5cyBmYWlsIGlmIF9fdG1wX3VuaXRzIGlzIGVtcHR5LgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL21vbmV5X2dldC9nZXQvY2hhci8xMC5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL21vbmV5X2dldC9nZXQvd2NoYXJfdC8xMC5jYzogRGl0dG8uCgoyMDAzLTEwLTIzICBQaGlsIEVkd2FyZHMgIDxwaGlsQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBjb25maWcvb3Mvdnh3b3Jrcy9jdHlwZV9ub25pbmxpbmUuaDogIEFkanVzdCBjdG9yIHRvIG1hdGNoCgkyMDAzLTEwLTIxIGNoYW5nZS4KCjIwMDMtMTAtMjIgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUBzdXNlLmRlPgoKCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjIChfX2ludF90b19jaGFyKTogUmVtb3ZlCgl0aGUgY29uc3QgaW50IHBhcmFtZXRlci4KCShfTV9pbnNlcnRfaW50KTogVXBkYXRlIGNhbGxlci4KCSogc3JjL2xvY2FsZS1pbnN0LmNjIChfX2ludF90b19jaGFyKTogVXBkYXRlIGluc3RhbnRpYXRpb25zLgkKCjIwMDMtMTAtMjIgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLmg6IENvcnJlY3QgYnluYW1lIGZhY2V0cyBmb3IgIkMiCglsb2NhbGUuCgkqIGNvbmZpZy9sb2NhbGUvZ2VuZXJpYy9jdHlwZV9tZW1iZXJzLmNjOiBTYW1lLgoJKiBjb25maWcvbG9jYWxlL2dlbmVyaWMvbWVzc2FnZXNfbWVtYmVycy5oOiBTYW1lLgoJKiBjb25maWcvbG9jYWxlL2dudS9jdHlwZV9tZW1iZXJzLmNjOiBTYW1lLgoJKiBjb25maWcvbG9jYWxlL2dudS9tZXNzYWdlc19tZW1iZXJzLmg6IFNhbWUuCgkqIGluY2x1ZGUvYml0cy9jb2RlY3Z0Lmg6IFNhbWUuCgkqIHNyYy9jdHlwZS5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0X2J5bmFtZS8xLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29sbGF0ZS8xLmNjOiBFZGl0LgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvbGxhdGVfYnluYW1lLzEuY2M6IERlcml2YXRpb24gdGVzdHMsIG1vdmUgdG8uLi4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2xsYXRlX2J5bmFtZS9uYW1lZF9lcXVpdmFsZW5jZS5jYzogLi4uaGVyZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jdHlwZS8xLmNjOiBEZXJpdmF0aW9uIHRlc3RzLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2N0eXBlLzExODQ0LmNjOiBNb3ZlLi4uCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY3R5cGVfYmFzZS8xMTg0NC5jYzogLi4uaGVyZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jdHlwZV9iYXNlLzEuY2M6IE1vdmUgbWFzayBiaXRzIGhlcmUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY3R5cGVfYnluYW1lLzEuY2M6IE5hbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbWVzc2FnZXNfYnluYW1lLzEuY2M6IE5ldy4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tZXNzYWdlc19ieW5hbWUvbmFtZWRfZXF1aXZhbGVuY2UuY2M6IE5ldy4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tb25leXB1bmN0X2J5bmFtZS8xLmNjOiBEZXJpdmF0aW9uIHRlc3QuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbW9uZXlwdW5jdF9ieW5hbWUvbmFtZWRfZXF1aXZhbGVuY2UuY2M6IE5ldy4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9udW1wdW5jdC8xLmNjOiBFZGl0LgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL251bXB1bmN0X2J5bmFtZS8yLmNjOiBNb3ZlLi4uCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtcHVuY3QvbWVtYmVycy9jaGFyLzMuY2M6IC4uLmhlcmUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtcHVuY3RfYnluYW1lLzEuY2M6IERlcml2YXRpb24gdGVzdHMuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtcHVuY3RfYnluYW1lL25hbWVkX2VxdWl2YWxlbmNlLmNjOiBOZXcuCgoyMDAzLTEwLTIyICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAc3VzZS5kZT4KCglQUiBsaWJzdGRjKysvODYxMAoJKiBhY2luY2x1ZGUubTQgKEdMSUJDWFhfQ0hFQ0tfSU5UNjRfVCk6IE5ldyBtYWNybywKCWNoZWNraW5nIGZvciB0aGUgYXZhaWxhYmlsaXR5IG9mIGludDY0X3QuCgkoR0xJQkNYWF9DSEVDS19MRlMpOiBOZXcgbWFjcm8sIGNoZWNraW5nIGZvciBMRlMgc3VwcG9ydC4KCSogY29uZmlndXJlLmFjOiBDYWxsIGhlcmUuCgkqIGFjY29uZmlnLmg6IEFkZCB1bmRlZiBmb3IgdGhlIGNvcnJlc3BvbmRpbmcgc3ltYm9scy4KCSogY29uZmlnL2lvL2Jhc2ljX2ZpbGVfc3RkaW8uY2MJKF9fYmFzaWNfZmlsZTxjaGFyPjo6b3Blbik6CglEZXBlbmRpbmcgb24gX0dMSUJDWFhfVVNFX0xGUywgY2FsbCBmb3BlbjY0IG9yIGZvcGVuLgoJKF9fYmFzaWNfZmlsZTxjaGFyPjo6c2Vla29mZik6IExpa2V3aXNlLCBjYWxsIGxzZWVrNjQgd2hlbgoJYXZhaWxhYmxlLCBvdGhlcndpc2UgbHNlZWssIGNoZWNraW5nIHRoZSBfX29mZiBwYXJhbWV0ZXIuCgkqIGluY2x1ZGUvYml0cy9wb3N0eXBlcy5oOiBUeXBlZGVmIF9fc3RyZWFtb2ZmX2Jhc2VfdHlwZQoJdG8gaW50NjRfdCBpZiBhdmFpbGFibGUsIG90aGVyd2lzZSBsb25nIGxvbmcuCgkqIGFjbG9jYWwubTQ6IFJlZ2VuZXJhdGUuCgkqIGNvbmZpZy5oLmluOiBMaWtld2lzZS4KCSogY29uZmlndXJlOiBMaWtld2lzZS4KCgkqIGFjaW5jbHVkZS5tNCAoR0xJQkNYWF9DSEVDS19QT0xMLCBHTElCQ1hYX0NIRUNLX1dSSVRFVik6CglVc2UgQUNfVFJZX0xJTksgaW5zdGVhZCBvZiBBQ19UUllfQ09NUElMRS4KCQoyMDAzLTEwLTIyICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAc3VzZS5kZT4KCglQUiBsaWJzdGRjKysvMTI2NTcKCSogaW5jbHVkZS9iaXRzL2Jhc2ljX2lvcy50Y2MgKGNvcHlmbXQoY29uc3QgYmFzaWNfaW9zJikpOgoJSW1wbGVtZW50IHJlc29sdXRpb24gb2YgRFIgMjkyIChXUCkuCgkqIGRvY3MvaHRtbC9leHQvaG93dG8uaHRtbDogQWRkIGVudHJ5IGZvciBEUiAyOTIuCgoyMDAzLTEwLTIxICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL2V4dC9tdF9hbGxvY2F0b3IuaDogQ2hhbmdlIGluY2x1ZGUgdG8gZ3Roci5oLgoJKiBpbmNsdWRlL2V4dC9yb3BlOiBTYW1lLiBBZGQgX1JlZmNvdW50X2Jhc2UgZGVmaW5pdGlvbnMuCgkqIGluY2x1ZGUvZXh0L3Bvb2xfYWxsb2NhdG9yLmg6IEFkanVzdCBuYW1lc3BhY2VzLgoJKiBpbmNsdWRlL2JpdHMvc3RsX3RocmVhZHMuaCAoX1JlZmNvdW50X2Jhc2UpOiBNb3ZlLgoJUHV0IHJlbWFpbmluZyBpbnRvIG5hbWVzcGFjZSBfX2dudV9jeHguCgkKMjAwMy0xMC0yMSAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgogCglQUiBsaWJzdGRjKysvOTg1OAoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy5oIChjdHlwZTxjaGFyPik6IFJlbW92ZQoJX19jdHlwZV9hYnN0cmFjdF9iYXNlLgoJKGN0eXBlPGNoYXI+Ojpkb19pcyk6IFJlbW92ZS4KCShjdHlwZTxjaGFyPjo6ZG9fc2Nhbl9pcyk6IFJlbW92ZS4KCSogc3JjL2N0eXBlLmNjOiBTYW1lLiBJbmxpbmUgdGhlIHJlc3QuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY3R5cGUvaXMvY2hhci85ODU4LmNjOiBOZXcuCgkqIGNvbmZpZy9vcy9haXgvY3R5cGVfbm9uaW5saW5lLmg6IEFkanVzdCBjdG9yLgoJKiBjb25maWcvb3MvYnNkL2ZyZWVic2QvY3R5cGVfbm9uaW5saW5lLmg6IFNhbWUuCgkqIGNvbmZpZy9vcy9ic2QvbmV0YnNkL2N0eXBlX25vbmlubGluZS5oOiBTYW1lLgoJKiBjb25maWcvb3MvZGpncHAvY3R5cGVfbm9uaW5saW5lLmg6IFNhbWUuCgkqIGNvbmZpZy9vcy9nZW5lcmljL2N0eXBlX25vbmlubGluZS5oOiBTYW1lLgoJKiBjb25maWcvb3MvZ251LWxpbnV4L2N0eXBlX25vbmlubGluZS5oOiBTYW1lLgoJKiBjb25maWcvb3MvaHB1eC9jdHlwZV9ub25pbmxpbmUuaDogU2FtZS4KCSogY29uZmlnL29zL2lyaXgvaXJpeDUuMi9jdHlwZV9ub25pbmxpbmUuaDogU2FtZS4KCSogY29uZmlnL29zL2lyaXgvaXJpeDYuNS9jdHlwZV9ub25pbmxpbmUuaDogU2FtZS4KCSogY29uZmlnL29zL21pbmd3MzIvY3R5cGVfbm9uaW5saW5lLmg6IFNhbWUuCgkqIGNvbmZpZy9vcy9uZXdsaWIvY3R5cGVfbm9uaW5saW5lLmg6IFNhbWUuCgkqIGNvbmZpZy9vcy9xbngvcW54Ni4xL2N0eXBlX25vbmlubGluZS5oOiBTYW1lLgoJKiBjb25maWcvb3Mvc29sYXJpcy9zb2xhcmlzMi41L2N0eXBlX25vbmlubGluZS5oOiBTYW1lLgoJKiBjb25maWcvb3Mvc29sYXJpcy9zb2xhcmlzMi42L2N0eXBlX25vbmlubGluZS5oOiBTYW1lLgoJKiBjb25maWcvb3Mvc29sYXJpcy9zb2xhcmlzMi43L2N0eXBlX25vbmlubGluZS5oOiBTYW1lLgoJKiBjb25maWcvb3Mvd2luZGlzcy9jdHlwZV9ub25pbmxpbmUuaDogU2FtZS4KCjIwMDMtMTAtMjEgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUBzdXNlLmRlPgoKCSogc3JjL2xvY2FsZS5jYzogVHdlYWsgYSBjb21tZW50LgoJKiBzcmMvbG9jYWxlbmFtZS5jYzogTW92ZSBhIGNvbW1lbnQuCgoyMDAzLTEwLTIwICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CiAKCVBSIGxpYnN0ZGMrKy8xMDA4MQoJKiB0ZXN0c3VpdGVfaG9va3MuaDogQWRkIHBvZF90eXBlLCBjdHlwZSBhbmQgbnVtcHVuY3Qgc3BlY2lhbGl6YXRpb25zLgoJKiB0ZXN0c3VpdGVfaG9va3MuY2M6IFNhbWUuCgkqIDIyX2xvY2FsZS9udW1wdW5jdC9tZW1iZXJzL3BvZC8xLmNjOiBFZGl0LgoJKiAyMl9sb2NhbGUvbnVtcHVuY3QvbWVtYmVycy9wb2QvMi5jYzogU2FtZS4KCSogMjdfaW8vYmFzaWNfaXN0cmVhbS9zZW50cnkvY2hhci8zOTgzLWZzdHJlYW0uY2M6IE1vdmUgLi4uCgkqIDI3X2lvL2Jhc2ljX2lzdHJlYW0vc2VudHJ5L2NoYXIvMzk4My1zc3RyZWFtLmNjOiBNb3ZlIC4uLgoJKiAyN19pby9iYXNpY19pc3RyZWFtL2V4dHJhY3RvcnNfYXJpdGhtZXRpYy9wb2QvMzk4My0xLmNjOiBIZXJlLgoJKiAyN19pby9iYXNpY19pc3RyZWFtL2V4dHJhY3RvcnNfY2hhcmFjdGVyL3BvZC8zOTgzLTIuY2M6IEhlcmUuCgkqIDI3X2lvL2Jhc2ljX2lzdHJlYW0vZXh0cmFjdG9yc19vdGhlci9wb2QvMzk4My0zLmNjOiBIZXJlLgoJKiAyN19pby9iYXNpY19vc3RyZWFtL3NlbnRyeS9jaGFyLzM5ODMtZnN0cmVhbS5jYzogUmVtb3ZlLgoJKiAyN19pby9iYXNpY19vc3RyZWFtL3NlbnRyeS9jaGFyLzM5ODMtc3N0cmVhbS5jYzogUmVtb3ZlLgoJKiAyN19pby9iYXNpY19pc3RyZWFtL3NlbnRyeS9wb2QvMS5jYzogTmV3LgoJKiAyN19pby9iYXNpY19vc3RyZWFtL3NlbnRyeS9wb2QvMS5jYzogTmV3LgoJKiAyMV9zdHJpbmdzL2Jhc2ljX3N0cmluZy9pbnNlcnRlcnNfZXh0cmFjdG9ycy9wb2QvMTAwODEtaW4uY2M6IE5ldy4KCSogMjFfc3RyaW5ncy9iYXNpY19zdHJpbmcvaW5zZXJ0ZXJzX2V4dHJhY3RvcnMvcG9kLzEwMDgxLW91dC5jYzogTmV3LgoKMjAwMy0xMC0yMCAgUmFpbmVyIE9ydGggIDxyb0BUZWNoRmFrLlVuaS1CaWVsZWZlbGQuREU+CgoJKiBjb25maWcvY3B1L21pcHMvYXRvbWljaXR5LmggKF9fYXRvbWljX2FkZCk6IFVzZSBfQUJJTzMyIGluc3RlYWQKCW9mIGV4dGVybmFsIF9NSVBTX1NJTV9BQkkzMi4KCjIwMDMtMTAtMjAgIFBoaWwgRWR3YXJkcyAgPHBoaWxAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzogIEZpeCBjb21tZW50IHR5cG8uCgkqIGNvbmZpZ3VyZS5ob3N0OiAgQWRkIHZ4d29ya3MgdG8gaG9zdF9vcyBzd2l0Y2guCgkqIGNyb3NzY29uZmlnLm00OiAgUmVtb3ZlIG9sZCBjb21tZW50ZWQgb3NfaW5jbHVkZV9kaXIgdmFyaWFibGVzCglsZWZ0IG92ZXIgZnJvbSBhdXRvdG9vbHMgdHJhbnNpdGlvbi4KCSgqLXZ4d29ya3MpOiAgTmV3IHN0YW56YS4KCSgqLXdpbmRpc3MpOiAgQWRkIG1pc3Npbmcgc3ltYm9scy4KCSogY29uZmlndXJlOiAgUmVnZW5lcmF0ZS4KCSogY29uZmlnL29zL3Z4d29ya3MvY3R5cGVfYmFzZS5oLCBjb25maWcvb3Mvdnh3b3Jrcy9jdHlwZV9pbmxpbmUuaCwKCWNvbmZpZy9vcy92eHdvcmtzL2N0eXBlX25vbmlubGluZS5oLCBjb25maWcvb3Mvdnh3b3Jrcy9vc19kZWZpbmVzLmg6CglOZXcgZmlsZXMuCgkqIGNvbmZpZy9vcy93aW5kaXNzL29zX2RlZmluZXMuaDogIERlZmluZSBfX0M5WF9fLgoKMjAwMy0xMC0xOSAgRGF2aWQgRWRlbHNvaG4gIDxlZGVsc29obkBnbnUub3JnPgoKCVBSIG90aGVyLzEyNTA2CgkqIGNvbmZpZ3VyZS5ob3N0IChhaXg0LGFpeCopOiBEZWZpbmUgb3NfaW5jbHVkZV9kaXIgdG8gb3MvZ2VuZXJpYy4KCjIwMDMtMTAtMTggIEFuZHJlYXMgVG9ibGVyICA8YS50b2JsZXJAc2Nod2Vpei5jaD4KCgkqIHNyYy9sb2NhbGUuY2MgKGxvY2FsZTo6X1NfaW5pdGlhbGl6ZSk6IFJlLWFwcGx5IHdvcmthcm91bmQgYQoJY29uZnVzaW9uIG9mIHRoZSB1c2Ugb2YgdGhlIGd0aHIgQVBJIHdoZW4gX19ndGhyZWFkX2FjdGl2ZV9wKCkKCXJldHVybnMgdHJ1ZS4KCjIwMDMtMTAtMTcgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KIAoJKiBzcmMvTWFrZWZpbGUuYW06IEFkZCBuZXcgZmlsZXMuCgkqIHNyYy9NYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCSogc3JjL2dsb2JhbHMuY2M6IFNwbGl0IGludG8uLgoJKiBzcmMvZ2xvYmFsc19pby5jYzogTmV3LgoJKiBzcmMvZ2xvYmFsc19sb2NhbGUuY2M6IE5ldy4KCSogc3JjL2lvcy5jYzogU3BsaXQgaW50by4uLgoJKiBzcmMvaW9zX2luaXQuY2M6IE5ldy4KCSogc3JjL2lvc19sb2NhbGUuY2M6IE5ldy4KCSogc3JjL2xvY2FsZS1pbnN0LmNjOiBTcGxpdCBpbnRvLi4KCSogc3JjL3dsb2NhbGUtaW5zdC5jYzogTmV3LgoJKiBzcmMvbG9jYWxlLW1pc2MtaW5zdC5jYzogTmV3LgoJKiBzcmMvbG9jYWxlLmNjLCBzcmMvbG9jYWxlbmFtZTogU3BsaXQgaW50by4uLgoJKiBzcmMvbG9jYWxlX2ZhY2V0cy5jYzogTmV3LgoJKiBzcmMvbG9jYWxlX2luaXQuY2M6IE5ldy4KCSogc3JjL3dzdHJpbmctaW5zdC5jYzogQWRkIGNvcHlyaWdodCBpbmZvLgoKMjAwMy0xMC0xNiAgUGV0dXIgUnVub2xmc3NvbiAgPHBldHVycjAyQHJ1LmlzPgoKCVBSIGxpYnN0ZGMrKy8xMTQ1MAoJUFIgbGlic3RkYysrLzExNTQzCglQUiBsaWJzdGRjKysvMTIwNjUKCSogY29uZmlnL2lvL2Jhc2ljX2ZpbGVfc3RkaW8uY2MgKF9fYmFzaWNfZmlsZTo6c2Vla29mZik6CglDaGFuZ2UgcmV0dXJuIHZhbHVlIGZyb20gc3RyZWFtcG9zIHRvIHN0cmVhbW9mZi4KCShfX2Jhc2ljX2ZpbGU6OnNlZWtwb3MpOiBEZWxldGUuCgkqIGNvbmZpZy9pby9iYXNpY19maWxlX3N0ZGlvLmg6IFNhbWUuCgkqIGNvbmZpZy9pby9jX2lvX3N0ZGlvLmg6IFJlbW92ZSBzdHJlYW1vZmYgYW5kIHdzdHJlYW1zaXplIHR5cGVkZWZzLgoJKiBpbmNsdWRlL01ha2VmaWxlLmFtIChiaXRzX2hlYWRlcnMpOiBBZGQgYml0cy9wb3N0eXBlcy5oLgoJKiBpbmNsdWRlL2JpdHMvY2hhcl90cmFpdHMuaDogSW5jbHVkZSBiaXRzL3Bvc3R5cGVzLmggaW5zdGVhZCBvZgoJYml0cy9mcG9zLmguCgkqIGluY2x1ZGUvYml0cy9mc3RyZWFtLnRjYyAoYmFzaWNfZmlsZWJ1Zjo6b3BlbiwKCWJhc2ljX2ZpbGVidWY6OnBiYWNrZmFpbCk6IERvbid0IHVzZSA8IG9yID49IHRvIGNvbXBhcmUgcG9zX3R5cGUKCXZhbHVlcywgdXNlID09IGFuZCAhPSBpbnN0ZWFkLgoJKGJhc2ljX2ZpbGVidWY6Ol9NX3NlZWspOiBVc2UgZXhwbGljaXQgY29udmVyc2lvbiBmcm9tIHN0cmVhbW9mZgoJdG8gcG9zX3R5cGUuCgkoYmFzaWNfZmlsZWJ1Zjo6aW1idWUpOiAgRG9uJ3QgdXNlICEgb24gcG9zX3R5cGUgdmFsdWVzLCB1c2UKCT09IGluc3RlYWQuIERvbid0IHVzZSBfX2NoZWNrX2ZhY2V0KF9NX2NvZGVjdnQpIHVubGVzcyBpc19vcGVuKCkuCgkqIGluY2x1ZGUvYml0cy9wb3N0eXBlcy5oOiBOZXcgZmlsZS4KCUFkZCBfX3N0cmVhbW9mZl9iYXNlX3R5cGUgdHlwZWRlZiwgc3RyZWFtc2l6ZS4KCShzdHJlYW1vZmYsIHN0cmVhbXBvcywgd3N0cmVhbXBvcyk6IERlZmluZSB0eXBlZGVmcywgd2l0aAoJc3RyZWFtb2ZmIGRlZmluZWQgYXMuLi4KCShzdHJlYW1vZmYpOiBOZXcgY2xhc3MuIERvY3VtZW50IGltcGxlbWVudGF0aW9uIGRlZmluZWQKCWFzcGVjdHMuCgkoZnBvcyk6IE5ldyBpbXBsZW1lbnRhdGlvbi4gRG9jdW1lbnQgaW1wbGVtZW50YXRpb24gZGVmaW5lZAoJYXNwZWN0cy4KCSogaW5jbHVkZS9iaXRzL3NzdHJlYW0udGNjIChiYXNpY19zdHJpbmdidWY6OnNlZWtwb3MpOiBVc2UKCWV4cGxpY2l0IGNvbnZlcnNpb24gZnJvbSBwb3NfdHlwZSB0byBvZmZfdHlwZS4KCSogaW5jbHVkZS9zdGQvc3RkX2lvc2Z3ZC5oOiBJbmNsdWRlIGJpdHMvcG9zdHlwZXMuaCBpbnN0ZWFkCglvZiBiaXRzL2Zwb3MuaC4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2Vla29mZi9jaGFyLzExNTQzLmNjOiBOZXcgdGVzdC4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2Vla29mZi93Y2hhcl90LzExNTQzLmNjOiBOZXcgdGVzdC4KCSogdGVzdHN1aXRlLzI3X2lvL2Zwb3MvMTE0NTAuY2M6IE5ldyB0ZXN0LgoJKiB0ZXN0c3VpdGUvMjdfaW8vZnBvcy9tYnN0YXRlX3QvMTIwNjUuY2M6IE5ldyB0ZXN0LgoJKiB0ZXN0c3VpdGUvMjdfaW8vZnBvcy9tYnN0YXRlX3QvNF9uZWcuY2M6IE5ldyB0ZXN0LgoJKiB0ZXN0c3VpdGUvMjdfaW8vdHlwZXMvMy5jYzogTmV3IHRlc3QuCgoyMDAzLTEwLTE2ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuaG9zdDogUmVtb3ZlIGZwb3NfaW5jbHVkZV9kaXIuCgkqIGNvbmZpZ3VyZS5hYzogUmVtb3ZlIEZQT1NfSU5DX1NSQ0RJUi4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlLgoJKiBhY2luY2x1ZGUubTQgKEdMSUJDWFhfRU5BQkxFX0NTVERJTyk6IFJlbW92ZSBGUE9TX0guCgkqIGFjbG9jYWwubTQ6IFJlZ2VuZXJhdGUuCgkqIGluY2x1ZGUvTWFrZWZpbGUuYW0gKGhvc3RfaGVhZGVycyk6IFJlbW92ZSBmcG9zLmguCgkoYml0c19oZWFkZXJzKTogQWRkIHBvc3R5cGVzLmguCgkqIGluY2x1ZGUvTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkqIGNvbmZpZy9vcy9nbnUtbGludXgvZnBvc2g6IFJlbW92ZS4KCSogY29uZmlnL29zL2dlbmVyaWMvZnBvcy5oOiBSZW1vdmUuCgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZWVrb2ZmL2NoYXIvMS1pbi5jYzogRml4dXAuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NlZWtvZmYvY2hhci8xLWlvLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZWVrb2ZmL2NoYXIvMS1vdXQuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NlZWtvZmYvY2hhci8yLWluLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZWVrb2ZmL2NoYXIvMi1pby5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2Vla29mZi9jaGFyLzItb3V0LmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZWVrcG9zL2NoYXIvMS1pbi5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2Vla3Bvcy9jaGFyLzEtaW8uY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NlZWtwb3MvY2hhci8xLW91dC5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2Vla3Bvcy9jaGFyLzItaW4uY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NlZWtwb3MvY2hhci8yLWlvLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZWVrcG9zL2NoYXIvMi1vdXQuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19pc3RyZWFtL3NlZWtnL2NoYXIvMi5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX3N0cmluZ2J1Zi9zZWVrb2ZmL2NoYXIvMS5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX3N0cmluZ2J1Zi9zZWVrcG9zL2NoYXIvMS5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzI3X2lvL2Zwb3MvbWJzdGF0ZV90LzMuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yN19pby9vYmplY3RzL2NoYXIvMTAuY2M6IFNhbWUuCgoyMDAzLTEwLTE2ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAc3VzZS5kZT4KCgkqIHNyYy9sb2NhbGUuY2MgKGxvY2FsZTo6bG9jYWxlKGNvbnN0IGNoYXIqKSk6IC4uLiBvbmUKCW1vcmUgY29tcGFyaXNvbiBtaXNzZWQgaW4gdGhlIHByZXZpb3VzIGNvbW1pdC4KCjIwMDMtMTAtMTYgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCiAgICAgICAgKiBhY2NvbmZpZy5oOiBBZGQgSEFWRV9EUkFORDQ4LgoJKiBjcm9zc2NvbmZpZy5tNDogUmVtb3ZlIElTQVRUWS4KCSogYWNsb2NhbC5tNDogUmVnZW5lcmF0ZWQuCgkqIGNvbmZpZy5oLmluOiBSZWdlbmVyYXRlZC4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlZC4KCQoyMDAzLTEwLTE2ICBCZXJuYXJkbyBJbm5vY2VudGkgIDxiZXJuaWVAZGV2ZWxlci5jb20+CgoJKiBjb25maWcvY3B1L202OGsvYXRvbWljaXR5LmggKF9fZXhjaGFuZ2VfYW5kX2FkZCk6IFVzZSBUQVMgb24KCV9fbWNmNTQwMF9fLiBEb24ndCByZWx5IG9uIF9fbWM2ODAwMF9fIHRvIGRldGVjdCBhIGJhcmUgNjgwMDAuCglEb2N1bWVudCBTTVAgc2FmZW5lc3Mgb2YgYXNtIG1hY3Jvcy4KCjIwMDMtMTAtMTYgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUBzdXNlLmRlPgoKCSogc3JjL2xvY2FsZS5jYyAobG9jYWxlOjpsb2NhbGUoY29uc3QgY2hhciopKTogVHdlYWsKCWEgY291cGxlIG9mIGNvbXBhcmlzb25zIHRvIHVzZSBiYXNpY19zdHJpbmcgb3BlcmF0b3JzLgoKMjAwMy0xMC0xNiAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHN1c2UuZGU+CgoJUFIgbGlic3RkYysrLzEyNTQwCgkqIGNvbmZpZy9sb2NhbGUvZ251L21vbmV0YXJ5X21lbWJlcnMuY2MKCShtb25leXB1bmN0PHdjaGFyX3QsIHRydWUvZmFsc2U+OjpfTV9pbml0aWFsaXplX21vbmV5cHVuY3QpOgoJRG9uJ3QgbGVhayBtZW1vcnkgaWYgbmV3IHRocm93cy4KCSogc3JjL2xvY2FsZS5jYyAobG9jYWxlOjpsb2NhbGUoY29uc3QgY2hhciopKTogSW4gb3JkZXIgbm90Cgl0byBsZWFrIG1lbW9yeSBpbiBjYXNlIG5ldyB0aHJvd3MsIHVzZSBhIGJhc2ljX3N0cmluZyB0eXBlCglmb3IgX19yZXMgdG9vIGFuZCBhdm9pZCBzdHJkdXAuCgoyMDAzLTEwLTE0ICBKZWZmIEJhaWxleSAgPGpiYWlsZXlAbmlzYS5uZXQ+CgkKCVBSIGxpYnN0ZGMrKy8xMjU2MgoJKiBjcm9zc2NvbmZpZy5tNDogU2hhcmUgdGhlIGNvbmZpZyBiZXR3ZWVuICotbGludXgqIGFuZCAqLWdudSouCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZS4KCjIwMDMtMTAtMTQgIENhcmxvIFdvb2QgIDxjYXJsb0BhbGlub2UuY29tPgoKCVBSIGxpYnN0ZGMrKy8xMjYwMAoJKiBpbmNsdWRlL2JpdHMvZGVtYW5nbGUuaCAoc2Vzc2lvbjxBbGxvY2F0b3I+OjoKCSAgZGVjb2RlX3VucXVhbGlmaWVkX25hbWUoc3RyaW5nX3R5cGUmIG91dHB1dCkpOiBGYWlsIG9uIGEKCSAgPG9wZXJhdG9yLW5hbWU+IHdoZW4gZGVjb2RpbmcgPHRlbXBsYXRlLWFyZ3VtZW50Pi4KCSogdGVzdHN1aXRlL2RlbWFuZ2xlL3JlZ3Jlc3Npb24vY3ctMTUuY2M6IE5ldy4KCjIwMDMtMTAtMTQgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJUFIgbGlic3RkYysrLzExNDgwCgkqIGluY2x1ZGUvYml0cy9zdGxfYWxnby5oICh1bmlxdWUpOiBGaXguCgkqIHRlc3RzdWl0ZS8yNV9hbGdvcml0aG1zL3VuaXF1ZS5jYzogTW92ZSB0byB1bmlxdWUvMS5jYy4KCSogdGVzdHN1aXRlLzI1X2FsZ29yaXRobXMvdW5pcXVlLzExNDgwLmNjOiBOZXcsIGZyb20gdGhlIFBSLgoJKiB0ZXN0c3VpdGUvMjVfYWxnb3JpdGhtcy91bmlxdWUvMi5jYzogTmV3LgoKMjAwMy0xMC0xNCAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIHNyYy9sb2NhbGVuYW1lLmNjIChfTV9yZXBsYWNlX2NhdGVnb3JpZXMsIE1fcmVwbGFjZV9mYWNldCk6CglDb25zdC1pZnkgYSBjb3VwbGUgb2YgdmFyaWFibGVzLgoKMjAwMy0xMC0xNCAgUGV0dXIgUnVub2xmc3NvbiAgPHBldHVycjAyQHJ1LmlzPgoJICAgIEFuZHJlYXMgVG9ibGVyICA8YS50b2JsZXJAc2Nod2Vpei5jaD4KCgkqIHNyYy9sb2NhbGUuY2MgKGxvY2FsZTo6X1NfaW5pdGlhbGl6ZSk6IFdvcmthcm91bmQgYSBjb25mdXNpb24KCW9mIHRoZSB1c2Ugb2YgdGhlIGd0aHIgQVBJIHdoZW4gX19ndGhyZWFkX2FjdGl2ZV9wKCkgcmV0dXJucyB0cnVlLgoKMjAwMy0xMC0xMiAgUGV0dXIgUnVub2xmc3NvbiAgPHBldHVycjAyQHJ1LmlzPgoJICAgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJUFIgbGlic3RkYysrLzExNDYwCgkqIHNyYy9zdHJzdHJlYW0uY2MgKHBiYWNrZmFpbCk6IEZpeCB0byB1c2UgdG9faW50X3R5cGUuCgkqIHRlc3RzdWl0ZS9iYWNrd2FyZC8xMTQ2MC5jYzogTmV3LCBmcm9tIHRoZSBQUi4KCjIwMDMtMTAtMTIgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJKiBjb25maWcvbG9jYWxlL2llZWVfMTAwMy4xLTIwMDEvY29kZWN2dF9zcGVjaWFsaXphdGlvbnMuaDoKCUNoYW5nZSAjaWZkZWYgX0dMSUJDWFhfUkVTT0xWRV9MSUJfREVGRUNUUyB0byBhIGNvbW1lbnQuCgkqIGluY2x1ZGUvYml0cy9iYXNpY19zdHJpbmcudGNjOiBMaWtld2lzZS4KCSogaW5jbHVkZS9iaXRzL2lvc19iYXNlLmg6IExpa2V3aXNlLgoJKiBpbmNsdWRlL2JpdHMvaXN0cmVhbS50Y2M6IExpa2V3aXNlLgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy50Y2M6IExpa2V3aXNlLgoJKiBpbmNsdWRlL2JpdHMvb3N0cmVhbS50Y2M6IExpa2V3aXNlLgoJKiBpbmNsdWRlL2JpdHMvc3RsX2Z1bmN0aW9uLmg6IExpa2V3aXNlLgoJKiBpbmNsdWRlL2JpdHMvc3RsX211bHRpc2V0Lmg6IExpa2V3aXNlLgoJKiBpbmNsdWRlL2JpdHMvc3RsX3BhaXIuaDogTGlrZXdpc2UuCgkqIGluY2x1ZGUvYml0cy9zdGxfc2V0Lmg6IExpa2V3aXNlLgoJKiBpbmNsdWRlL2JpdHMvc3RyZWFtYnVmX2l0ZXJhdG9yLmgKCSogaW5jbHVkZS9zdGQvc3RkX2lvc2Z3ZC5oOiBMaWtld2lzZS4KCSogaW5jbHVkZS9zdGQvc3RkX2lzdHJlYW0uaDogTGlrZXdpc2UuCgkqIGluY2x1ZGUvc3RkL3N0ZF9zc3RyZWFtLmg6IExpa2V3aXNlLgoJKiBpbmNsdWRlL3N0ZC9zdGRfc3RyZWFtYnVmLmg6IExpa2V3aXNlLgoJKiBzcmMvaW9zLmNjOiBMaWtld2lzZS4KCSogaW5jbHVkZS9iaXRzL2MrK2NvbmZpZzoKCUNvbW1lbnQgb3V0ICNkZWZpbmUgX0dMSUJDWFhfUkVTT0xWRV9MSUJfREVGRUNUUyAxLgoJKiB0ZXN0c3VpdGUvMjdfaW8vaW9zX2Jhc2UvY29ucy9hc3NpZ25fbmVnLmNjOiBUd2VhayBhCglkZy1lcnJvciBkaXJlY3RpdmUgZHVlIHRvIHJlbW92YWwgb2YgYSBibGFuayBsaW5lLgoJKiB0ZXN0c3VpdGUvMjdfaW8vaW9zX2Jhc2UvY29ucy9jb3B5X25lZy5jYzogTGlrZXdpc2UuCgoyMDAzLTEwLTEyICBBbmRyZWFzIFRvYmxlciAgPGEudG9ibGVyQHNjaHdlaXouY2g+CgkgICAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCglQUiBsaWJzdGRjKysvMTE4NDQvMTE3NDAgKGNvbnQpCgkqIGNvbmZpZy9vcy9nZW5lcmljL2N0eXBlX2lubGluZS5oIChjdHlwZTxjaGFyPjo6aXMpOgoJR2VuZXJpY2FsbHksIHVzZSBhIGJpdG1hc2tzaXplIG9mIDE1IChpbnN0ZWFkIG9mIDEwKTsKCUZpeCB0aGUgbG9naWMgdG8gYWN0dWFsbHkgcmV0dXJuIChNICYgbSkgIT0gMCBhcyBwZXIKCTIyLjIuMS4xLjIuCgoyMDAzLTEwLTExICBCZXJuYXJkbyBJbm5vY2VudGkgIDxiZXJuaWVAZGV2ZWxlci5jb20+CgoJKiBjcm9zc2NvbmZpZy5tNCAoKi11Y2xpbnV4Kik6IE5ldyB0YXJnZXQuCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZS4KCjIwMDMtMTAtMTAgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJKiBpbmNsdWRlL2JpdHMvb3N0cmVhbS50Y2MgKG9wZXJhdG9yPDwoYmFzaWNfb3N0cmVhbSYsIF9DaGFyVCkpCglBdm9pZCB1bm5lY2Vzc2FyaWx5IGNhbGxpbmcgX19idWlsdGluX2FsbG9jYSBhbmQgZGVhbGluZwoJZXhwbGljaXRseSB3aXRoIHdpZHRoKCkgc21hbGxlciB0aGFuIHplcm8uCgkob3BlcmF0b3I8PChiYXNpY19vc3RyZWFtJiwgY2hhciksIG9wZXJhdG9yPDwoYmFzaWNfb3N0cmVhbSYsCgljb25zdCBfQ2hhclQqKSwgb3BlcmF0b3I8PChiYXNpY19vc3RyZWFtPF9DaGFyVCwgX1RyYWl0cz4mLAoJY29uc3QgY2hhciopLCBvcGVyYXRvcjw8KGJhc2ljX29zdHJlYW08Y2hhciwgX1RyYWl0cz4mLAoJY29uc3QgY2hhciopLCBvcGVyYXRvcjw8KGJhc2ljX29zdHJlYW0sIGNvbnN0IGJhc2ljX3N0cmluZyYpKToKCUxpa2V3aXNlLgoKMjAwMy0xMC0wOSAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogY29uZmlnL2xpbmtlci1tYXAuZ251OiBNYWtlIG1vcmUgKl90eXBlX2luZm8gYml0cyB2aXNpYmxlLgoJTW92ZSBuZXcvZGVsZXRlIGJpdHMgYmFjayBpbnRvIEdMSUJDWFggc3BhY2UuCgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2NsYXNzZXMuaDogTW92ZSBfTV9pZCBvdXQgb2YgbGluZSwgc28gdGhhdAoJbG9jYWxlOjppZDo6X1NfaGlnaHdhdGVyIGNhbiBiZSByZW1vdmVkIGZyb20gdGhlIGV4cG9ydCBsaXN0LgoJKiBzcmMvbG9jYWxlLmNjIChsb2NhbGU6OmlkOjpfTV9pZCk6IERlZmluZS4KCQoyMDAzLTEwLTA5ICBBbmRyZWFzIFRvYmxlciAgPGEudG9ibGVyQHNjaHdlaXouY2g+CgoJKiB0ZXN0c3VpdGUvbGliL2xpYnN0ZGMrKy5leHA6IFNldCBMRF9MSUJSQVJZX1BBVEhfNjQgZm9yCglTUEFSQzY0LgoKMjAwMy0xMC0wOSAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCglQUiBsaWJzdGRjKysvMTE4NDQKCSogY29uZmlnL29zL2FpeC9jdHlwZV9iYXNlLmg6IEZpeCAnYWxudW0nIGFuZCAnZ3JhcGgnCgl0byBjb25mb3JtIHRvIHRoZSByZXF1aXJlbWVudHMgb2YgMjIuMi4xLgoJKiBjb25maWcvb3MvYnNkL2ZyZWVic2QvY3R5cGVfYmFzZS5oOiBMaWtld2lzZS4KCSogY29uZmlnL29zL2RqZ3BwL2N0eXBlX2Jhc2UuaDogTGlrZXdpc2UuCgkqIGNvbmZpZy9vcy9nZW5lcmljL2N0eXBlX2Jhc2UuaDogTGlrZXdpc2UuCgkqIGNvbmZpZy9vcy9nbnUtbGludXgvY3R5cGVfYmFzZS5oOiBMaWtld2lzZS4KCSogY29uZmlnL29zL2hwdXgvY3R5cGVfYmFzZS5oOiBMaWtld2lzZS4KCSogY29uZmlnL29zL2lyaXgvaXJpeDYuNS9jdHlwZV9iYXNlLmg6IExpa2V3aXNlLgoJKiBjb25maWcvb3Mvc29sYXJpcy9zb2xhcmlzMi42L2N0eXBlX2Jhc2UuaDogTGlrZXdpc2UuCgkqIGNvbmZpZy9vcy9zb2xhcmlzL3NvbGFyaXMyLjcvY3R5cGVfYmFzZS5oOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jdHlwZS8xMTg0NC5jYzogTmV3LgoKCSogY29uZmlnL2xvY2FsZS9nZW5lcmljL2N0eXBlX21lbWJlcnMuY2MgKGRvX2lzKToKCUdlbmVyaWNhbGx5LCB1c2UgYSBiaXRtYXNrc2l6ZSBvZiAxNSAoaW5zdGVhZCBvZiAxMCksIHNpbmNlCgl3ZSBkb24ndCBrbm93IHRoZSBudW1lcmljYWwgZW5jb2Rpbmcgb2YgdGhlIHZhcmlvdXMgY2F0ZWdvcmllcwoJaW4gdGhlIHVuZGVybHlpbmcgL3Vzci9pbmNsdWRlL2N0eXBlLmguCgoyMDAzLTEwLTA5ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiBzcmMvc3RyaW5nLWluc3QuY2M6IFBydW5lLgoJKiB0ZXN0c3VpdGUvMjdfaW8vaW9zX2Jhc2UvY29ucy9hc3NpZ25fbmVnLmNjOiBBZGp1c3QgbGluZSBudW1iZXJzLgoJKiB0ZXN0c3VpdGUvMjdfaW8vaW9zX2Jhc2UvY29ucy9jb3B5X25lZy5jYzogU2FtZS4KCQoyMDAzLTEwLTA5ICBQZXR1ciBSdW5vbGZzc29uICA8cGV0dXJyMDJAcnUuaXM+CgoJKiBzcmMvaW8taW5zdC5jYzogRG9uJ3QgaW5jbHVkZSBpb3N0cmVhbS4KCSogaW5jbHVkZS9iaXRzL2lvc19iYXNlLmggKGlvc19iYXNlOjpmYWlsdXJlKTogVXNlIHN0cmluZy4KCSogc3JjL01ha2VmaWxlLmFtOiBBZGQgaW9zX2ZhaWx1cmUuY2MuCgkqIHNyYy9NYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCSogc3JjL2lvcy5jYzogTW92ZSBpb3NfYmFzZTo6ZmFpbHVyZSBkZWZpbml0aW9ucyB0by4uLgoJKiBzcmMvaW9zX2ZhaWx1cmUuY2M6IC4uLmhlcmUuIE5ldy4KCjIwMDMtMTAtMDkgIFBldHVyIFJ1bm9sZnNzb24gIDxwZXR1cnIwMkBydS5pcz4KCglQUiBsaWJzdGRjKysvOTg3NAoJKiBpbmNsdWRlL2JpdHMvZnN0cmVhbS50Y2MgKGJhc2ljX2ZpbGVidWY6OnNlZWtvZmYpOgoJTW92ZSBjb2RlIG5lZWRlZCBmb3IgYm90aCBzZWVrb2ZmIGFuZCBzZWVrcG9zLi4uCgkoYmFzaWNfZmlsZWJ1Zjo6X01fc2Vlayk6IC4uLmhlcmUuIE5ldyBmdW5jdGlvbi4KCShiYXNpY19maWxlYnVmOjpzZWVrcG9zKTogRG9uJ3QgY2FsbCBzZWVrb2ZmLCBjYWxsIF9NX3NlZWsuCgkqIGluY2x1ZGUvc3RkL3N0ZF9mc3RyZWFtLmggKGJhc2ljX2ZpbGVidWY6Ol9NX3NlZWspOiBEZWNsYXJlIGl0LgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZWVrcG9zL3djaGFyX3QvOTg3NC5jYzogTmV3IHRlc3QuCgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2xvY2FsZS9jb25zLzEyNDM4LmNjOiBJbmNyZWFzZSBtZW1vcnkgbGltaXQuCgoyMDAzLTEwLTA4ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjOiBNb3JlIG1pbm9yIGNvc21ldGljCgljaGFuZ2VzIGFuZCBjb25zdC1pZmljYXRpb25zIG9mIHNvbWUgdmFyaWFibGVzLgoKMjAwMy0xMC0wNyAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLnRjYzogTWlub3IgY29zbWV0aWMgY2hhbmdlcwoJYW5kIGNvbnN0LWlmaWNhdGlvbnMgb2Ygc29tZSB2YXJpYWJsZXMuCgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy50Y2MKCShtb25leV9nZXQ6OmRvX2dldCguLi4sIHN0cmluZ190eXBlJikpOiBTaW1wbGlmeSBhbiBpZi1lbHNlLgoKMjAwMy0xMC0wNiAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCglQUiBsaWJzdGRjKysvMTE3NDAKCSogY29uZmlnL2xvY2FsZS9nbnUvY3R5cGVfbWVtYmVycy5jYyAoY3R5cGU8d2NoYXJfdD46OmRvX2lzKToKCUZpeCB0byBhY3R1YWxseSByZXR1cm4gKE0gJiBtKSAhPSAwIGFzIHBlciAyMi4yLjEuMS4yLgoJKiBjb25maWcvbG9jYWxlL2dlbmVyaWMvY3R5cGVfbWVtYmVycy5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jdHlwZS9pcy93Y2hhcl90LzExNzQwLmNjOiBOZXcuCgoyMDAzLTEwLTA2ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjIChfX3BhZDw+OjpfU19wYWQpOgoJSW1wcm92ZSBwZXJmb3JtYW5jZS13aXNlOiBhdm9pZCBvbmUgdHJhaXRzOjpjb3B5LCBhdm9pZAoJdGhlIF9fYnVpbHRpbl9hbGxvY2EsIHN0cmVhbWxpbmUuCgoyMDAzLTEwLTA1ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjCgkobnVtX3B1dDo6ZG9fcHV0KC4uLiwgYm9vbCkpOiBQcmVmZXIgPzogdG8gaWYtZWxzZS4KCSh0aW1lX2dldDo6X01fZXh0cmFjdF9uYW1lKTogUXVhbGlmeSBtaW4gd2l0aCBzdGQ6Oi4KCShfX3BhZDw+OjpfU19wYWQpOiBDb25zdGlmeSB0d28gdmFyaWFibGVzOyBzaW1wbGlmeSBhbgoJaWYtZWxzZSBzdGF0ZW1lbnQgZmFjdG9yaW5nIG91dCBzb21lIGNvZGUuCgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy50Y2M6IE1pbm9yIGNvc21ldGljIGNoYW5nZXMuCgoyMDAzLTEwLTA0ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjIChudW1fZ2V0OjpfTV9leHRyYWN0X2Zsb2F0KToKCUNvbnN0aWZ5IGEgY291cGxlIG9mIHZhcmlhYmxlcy4KCShudW1fZ2V0Ojpkb19nZXQoLi4uLCBib29sJikpOiBDb25zdGlmeSBfX2M7IHByZWZlciAqX19iZWcsCgkrK19fYmVnIHRvICpfX2JlZysrLgoKMjAwMy0xMC0wNCAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KICAgICAgICAgICAgUGV0dXIgUnVub2xmc3NvbiAgPHBldHVycjAyQHJ1LmlzPgoKCSogaW5jbHVkZS9leHQvc3RkaW9fc3luY19maWxlYnVmLmg6IERvbid0IGluY2x1ZGUgdGhlIHdob2xlCgk8ZnN0cmVhbT4sIG9ubHkgPHN0cmVhbWJ1Zj4gYW5kIDxjc3RkaW8+LgoKMjAwMy0xMC0wNCAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCglQUiBsaWJzdGRjKysvMTIyMDYKCSogaW5jbHVkZS9iaXRzL2ZzdHJlYW0udGNjIChpbWJ1ZSk6IEluIGNhc2UgYSBjb2RlY3Z0IGZhY2V0CglpcyBub3QgYXZhaWxhYmxlLCBzZXQgX01fY29kZWN2dCA9IDAuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL2ltYnVlLzEyMjA2LmNjOiBOZXcuCgoyMDAzLTEwLTAyICBIYXJhbGQgQm9laG1lICA8Ym9laG1lQGluZm9ybWF0aWsuaHUtYmVybGluLmRlPgoKCVBSIGxpYnN0ZGMrKy8xMjQ1MQoJKiBsaWJzdXBjKysvY3h4YWJpLmg6IE1vdmUgZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiBfX2NsYXNzX3R5cGVfaW5mby4KCQoyMDAzLTEwLTAyICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2NsYXNzZXMuaCAobG9jYWxlOjpmYWNldDo6X1NfZ2V0X2NfbmFtZSk6IEFkZC4KCSogc3JjL2xvY2FsZS5jYzogRGVmaW5lLgoJKiBzcmMvbG9jYWxlbmFtZS5jYzogVXNlIGl0LgoJKiBjb25maWcvbG9jYWxlL2dlbmVyaWMvdGltZV9tZW1iZXJzLmg6IFNhbWUuCgkqIGNvbmZpZy9sb2NhbGUvZ251L21lc3NhZ2VzX21lbWJlcnMuaDogU2FtZS4KCSogY29uZmlnL2xvY2FsZS9nbnUvdGltZV9tZW1iZXJzLmg6IFNhbWUuCgoyMDAzLTEwLTAyICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCVBSIGxpYnN0ZGMrKy8xMjIzMgoJKiBpbmNsdWRlL2JpdHMvZnN0cmVhbS50Y2MgKHNlZWtvZmYpOiBJZ25vcmUgdGhlIG9wZW5tb2RlCglhcmd1bWVudDsgc2ltcGxpZnkuCgkqIGNvbmZpZy9pby9iYXNpY19maWxlX3N0ZGlvLmggKF9fYmFzaWNfZmlsZTxjaGFyPjo6c2Vla29mZiwKCXNlZWtwb3MpOiBSZW1vdmUgdGhlIG9wZW5tb2RlIGFyZ3VtZW50LgoJKiBjb25maWcvaW8vYmFzaWNfZmlsZV9zdGRpby5jYyAoX19iYXNpY19maWxlPGNoYXI+OjpzZWVrb2ZmLAoJc2Vla3Bvcyk6IFJlbW92ZSByZWR1bmRhbnQgcGxhY2Vob2xkZXIgZm9yIHRoZSBvcGVubW9kZSBhcmd1bWVudC4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2Vla29mZi9jaGFyLzEyMjMyLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NlZWtvZmYvY2hhci8zLWluLmNjOiBUd2Vhay4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2Vla29mZi9jaGFyLzMtb3V0LmNjOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2Vla3Bvcy9jaGFyLzMtaW4uY2M6IExpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZWVrcG9zL2NoYXIvMy1vdXQuY2M6IExpa2V3aXNlLgoKMjAwMy0xMC0wMiAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogc3JjL2xvY2FsZS5jYyAobG9jYWxlOjpfU19pbml0aWFsaXplKTogVXNlIF9fZ3RocmVhZF9hY3RpdmVfcC4KCShsb2NhbGU6OmZhY2V0OjpfU19nZXRfY19sb2NhbGUpOiBTYW1lLgoJCjIwMDMtMTAtMDIgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZy9saW5rZXItbWFwLmdudTogRXhwb3J0IF9TX2dldF9jX2xvY2FsZSBpbnN0ZWFkIG9mCglfU19jX2xvY2FsZSBvYmplY3QuCgoyMDAzLTEwLTAyICBQZXR1ciBSdW5vbGZzc29uICA8cGV0dXJyMDJAcnUuaXM+CgoJKiBjb25maWcvbG9jYWxlL2dlbmVyaWMvY19sb2NhbGUuY2MKCShjYXRlZ29yeV9uYW1lcywgbG9jYWxlOjpfU19jYXRlZ29yaWVzKTogQ29uc3QgcXVhbGlmeS4KCSogY29uZmlnL2xvY2FsZS9nbnUvY19sb2NhbGUuY2M6IFNhbWUuCgkqIGNvbmZpZy9sb2NhbGUvZ2VuZXJpYy90aW1lX21lbWJlcnMuaCAoX190aW1lcHVuY3Q6Ol9fdGltZXB1bmN0KToKCUNvcHkgc3RyaW5nIGNvbnRlbnRzIGJlZm9yZSBhc3NpZ25pbmcgdG8gX01fbmFtZV90aW1lcHVuY3QsCglxdWFsaWZ5IHN0cmNweSBhbmQgc3RybGVuIHdpdGggc3RkOjouCgkqIGNvbmZpZy9sb2NhbGUvZ251L3RpbWVfbWVtYmVycy5oOiBTYW1lLgoJKiBjb25maWcvbG9jYWxlL2dudS9tZXNzYWdlc19tZW1iZXJzLmggKG1lc3NhZ2VzOjptZXNzYWdlcyk6CglDb3B5IHN0cmluZyBjb250ZW50cyBiZWZvcmUgYXNzaWduaW5nIHRvIF9NX25hbWVfbWVzc2FnZXMsCglxdWFsaWZ5IHN0cmNweSBhbmQgc3RybGVuIHdpdGggc3RkOjouCgkqIGNvbmZpZy9vcy9nbnUtbGludXgvY3R5cGVfbm9uaW5saW5lLmgKCShjdHlwZTxjaGFyPjo6Y2xhc3NpY190YWJsZSgpKTogRG9uJ3QgY2FsbCBsb2NhbGU6OmNsYXNzaWMoKS4KCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9jbGFzc2VzLmgKCShsb2NhbGU6Ol9TX2NhdGVnb3JpZXMpOiBDb25zdCBxdWFsaWZ5LgkKCShsb2NhbGU6Ol9TX29uY2UsIGxvY2FsZTo6X1NfaW5pdGlhbGl6ZV9vbmNlLAoJbG9jYWxlOjpmYWNldDo6X1Nfb25jZSwgbG9jYWxlOjpmYWNldDo6X1NfaW5pdGlhbGl6ZV9vbmNlLAoJbG9jYWxlOjpmYWNldDo6X1NfZ2V0X2NfbG9jYWxlKTogRGVjbGFyZS4KCShsb2NhbGU6Ol9TX2luaXRpYWxpemUpOiBEb24ndCBkZWZpbmUuCgkobG9jYWxlOjpmYWNldDo6X1NfY19sb2NhbGUpOiBNYWtlIHByaXZhdGUuCgkobG9jYWxlOjpmYWNldDo6X1NfY19uYW1lKTogU2FtZSwgY29uc3QgcXVhbGlmeS4KCShsb2NhbGU6Ol9JbXBsOjpfSW1wbChmYWNldCoqLCBzaXplX3QsIGJvb2wpKTogRHJvcCB1bnVzZWQKCXBhcmFtZXRlcnMsIGFkZCB0aHJvdygpIHNwZWNpZmllci4KCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMuaCAoX190aW1lcHVuY3Q6Ol9NX25hbWVfdGltZXB1bmN0LAoJbWVzc2FnZXM6Ol9NX25hbWVfbWVzc2FnZXMpOiBDb25zdCBxdWFsaWZ5LgoJKiBzcmMvbG9jYWxlLmNjCgkobG9jYWxlOjpfU19vbmNlLCBsb2NhbGU6OmZhY2V0OjpfU19vbmNlKTogRGVmaW5lLgoJKGxvY2FsZTo6Y2xhc3NpYyk6IE1vdmUgaW5pdGlhbGl6YXRpb24gY29kZS4uLgoJKGxvY2FsZTo6X1NfaW5pdGlhbGl6ZV9vbmNlKTogLi4uaGVyZS4JCgkobG9jYWxlOjpfU19pbml0aWFsaXplKTogQ2FsbCBfU19pbml0aWFsaXplX29uY2UgdGhyb3VnaAoJX19ndGhyZWFkX29uY2UuCgkobG9jYWxlOjpmYWNldDo6X1NfaW5pdGlhbGl6ZV9vbmNlKTogSW5pdGlhbGl6ZSBfU19jX2xvY2FsZS4KCShsb2NhbGU6OmZhY2V0OjpfU19nZXRfY19sb2NhbGUpOiBDYWxsIF9TX2luaXRpYWxpemVfb25jZSB0aHJvdWdoCglfX2d0aHJlYWRfb25jZSBiZWZvcmUgcmV0dXJuaW5nIF9TX2NfbG9jYWxlLgoJKiBzcmMvbG9jYWxlbmFtZS5jYyAobG9jYWxlOjpfSW1wbDo6X0ltcGwoZmFjZXQqKiwgc2l6ZV90LCBib29sKSk6CglEcm9wIHVudXNlZCBwYXJhbWV0ZXJzLCBhZGQgdGhyb3coKSBzcGVjaWZpZXIsIGRvbid0IGluaXRpYWxpemUKCWxvY2FsZTo6ZmFjZXQ6Ol9TX2NfbG9jYWxlIGFuZCBfU19jX25hbWUuCgkKCSogY29uZmlnL2xvY2FsZS9nZW5lcmljL21lc3NhZ2VzX21lbWJlcnMuaDoKCVJlcGxhY2UgX1NfY19sb2NhbGUgd2l0aCBfU19nZXRfY19sb2NhbGUoKS4KCSogY29uZmlnL2xvY2FsZS9nbnUvY19sb2NhbGUuY2M6IFNhbWUuCgkqIGNvbmZpZy9sb2NhbGUvZ251L21lc3NhZ2VzX21lbWJlcnMuaDogU2FtZS4KCSogY29uZmlnL2xvY2FsZS9nbnUvbnVtZXJpY19tZW1iZXJzLmNjOiBTYW1lLgoJKiBjb25maWcvbG9jYWxlL2dudS90aW1lX21lbWJlcnMuY2M6IFNhbWUuCgkqIGNvbmZpZy9vcy9nbnUtbGludXgvY3R5cGVfbm9uaW5saW5lLmg6IFNhbWUuCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLmg6IFNhbWUuCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLnRjYzogU2FtZS4KCSogc3JjL2NvZGVjdnQuY2M6IFNhbWUuCgkqIHNyYy9jdHlwZS5jYzogU2FtZS4KCjIwMDMtMTAtMDIgIENhcmxvIFdvb2QgIDxjYXJsb0BhbGlub2UuY29tPgoKCSogaW5jbHVkZS9iaXRzL2RlbWFuZ2xlLmggKGRlbWFuZ2xlPEFsbG9jYXRvcj46OnN5bWJvbChjaGFyIGNvbnN0KikpOgoJRGVjb2RlIHN5bWJvbHMgdGhhdCBzdGFydCB3aXRoIF9HTE9CQUxfW0lEXV8gZGlmZmVyZW50bHk6IHRoZQoJdHJhaWxpbmcgcGFydCBlbmRzIHdpdGggYSB0ZXJtaW5hdGluZyB6ZXJvIGFuZCBpcyBub3QgbmVjZXNzYXJpbHkgYW4KCWVuY29kaW5nLgoJKiBzcmMvZGVtYW5nbGUuY2MgKCk6IFNhbWUuCgkqIHRlc3RzdWl0ZS9kZW1hbmdsZS9yZWdyZXNzaW9uL2N3LTEzLmNjOiBBZGp1c3QgZm9yIG5ldyBvdXRwdXQuCgoyMDAzLTEwLTAyICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9sb2NhbGUvY29ucy8xMjQzOC5jYzogVXNlCglfX2dudV90ZXN0Ojp0cnlfbmFtZWRfbG9jYWxlKCIiKS4KCjIwMDMtMTAtMDEgIFJhaW5lciBPcnRoICA8cm9AVGVjaEZhay5VbmktQmllbGVmZWxkLkRFPgoKCSogbGlua2FnZS5tNCAoR0xJQkNYWF9DSEVDS19TVERMSUJfREVDTF9BTkRfTElOS0FHRV8wKTogRGVmaW5lLgoJKEdMSUJDWFhfQ0hFQ0tfU1RETElCX1NVUFBPUlQpOiBVc2UgaXQgdG8gdGVzdCBmb3IgbHJhbmQ0OAoJaW5zdGVhZCBvZiBkcmFuZDQ4LgoJKiBhY2NvbmZpZy5oIChIQVZFX0RSQU5ENDgpOiBSZW5hbWVkIHRvIEhBVkVfTFJBTkQ0OC4KCSogY3Jvc3Njb25maWcubTQgKCotZnJlZWJzZCopOiBEZWZpbmUgSEFWRV9MUkFORDQ4IGluc3RlYWQgb2YKCUhBVkVfRFJBTkQ0OC4KCSogY29uZmlnLmguaW4sIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZS4KCSogaW5jbHVkZS9iaXRzL3N0bF9hbGdvLmg6IFVzZSBfR0xJQkNYWF9IQVZFX0xSQU5ENDggdG8gZ3VhcmQKCWxyYW5kNDggdXNlLgoKMjAwMy0xMC0wMSAgTmF0aGFuIE15ZXJzICA8bmNtQGNhbnRyaXAub3JnPgoKCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjICh0aW1lX3B1dDo6cHV0KTogQXZvaWQKCWV4cGVuc2l2ZSAqX19zKyssIGluIGZhdm9yIG9mICpfX3MsICsrX19zLgoKMjAwMy0xMC0wMSAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLnRjYyAodGltZV9wdXQ6OnB1dCk6IE1pbm9yCgl0d2VhayB0byB0aGUgcHJldmlvdXMgY29tbWl0LgoKMjAwMy0xMC0wMSAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCglQUiBsaWJzdGRjKysvMTI0MzkKCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjICh0aW1lX3B1dDo6cHV0KTogRGVhbAoJd2l0aCB0aGUgdGhyZWUgaXNzdWVzIHBvaW50ZWQgb3V0IGJ5IHRoZSBQUi4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS90aW1lX3B1dC9wdXQvY2hhci8xMjQzOV8xLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvdGltZV9wdXQvcHV0L2NoYXIvMTI0MzlfMy5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL3RpbWVfcHV0L3B1dC93Y2hhcl90LzEyNDM5XzEuY2M6IE5ldy4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS90aW1lX3B1dC9wdXQvd2NoYXJfdC8xMjQzOV8yLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvdGltZV9wdXQvcHV0L3djaGFyX3QvMTI0MzlfMy5jYzogTmV3LgoKMjAwMy0wOS0zMCAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIGluY2x1ZGUvYml0cy9zdGxfYWxnby5oOiBNaW5vciBjb3NtZXRpYyByZWZvcm1hdHRpbmdzLgoKMjAwMy0wOS0zMCAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIGluY2x1ZGUvYml0cy9zdGxfYWxnby5oIChzZWFyY2hfbik6IFR3ZWFrLCB0byBzcGFyZSB0aGUKCWZpcnN0IC0tX19uLgoKMjAwMy0wOS0zMCAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbG9jYWxlL2NvbnMvMTIzNTIuY2M6IEV4cGxpY2l0bHkKCXF1YWxpZnkgZXhjZXB0aW9uIG5hbWUuCgoyMDAzLTA5LTMwICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCVBSIGxpYnN0ZGMrKy8xMjQzOAoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy50Y2MgKGxvY2FsZTo6Y29tYmluZSk6IERvbid0CglsZWFrIG1lbW9yeSBpZiBfTV9yZXBsYWNlX2ZhY2V0IHRocm93cy4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9sb2NhbGUvY29ucy8xMjQzOC5jYzogTmV3LCBmcm9tIHRoZSBQUi4KCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfY2xhc3Nlcy5oIChsb2NhbGU6OmxvY2FsZShjb25zdCBsb2NhbGUmLAoJX0ZhY2V0KikpOiBUd2VhaywgdXNlIGNvbnNpc3RlbnRseSBfTV9yZW1vdmVfcmVmZXJlbmNlLgoKMjAwMy0wOS0zMCAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCglQUiBsaWJzdGRjKysvMTIzNTIgKGNvbnQpCgkqIHNyYy9sb2NhbGVuYW1lLmNjIChsb2NhbGU6Ol9JbXBsOjpfSW1wbChjb25zdCBjaGFyKiwgc2l6ZV90KSk6CglEb24ndCBsZWFrIF9fY2xvYzsgZG9uJ3QgbGVhayBpZiBhbnkgb2YgdGhlIF9NX2luaXRfZmFjZXQoLi4uKQoJY2FsbHMgZmFpbC4KCShsb2NhbGU6Ol9JbXBsOjpfSW1wbChjb25zdCBfSW1wbCYsIHNpemVfdCkpOiBUd2Vhay4KCShsb2NhbGU6Ol9JbXBsOjp+X0ltcGwpOiBEb24ndCBkbyBhbnl0aGluZyBpZiAhX01fZmFjZXRzLAoJIV9NX2NhY2hlcywgIV9NX25hbWVzLgoKMjAwMy0wOS0yOSAgUmFpbmVyIE9ydGggIDxyb0BUZWNoRmFrLlVuaS1CaWVsZWZlbGQuREU+CgoJKiBjb25maWd1cmUuaG9zdDogSGFuZGxlIFNvbGFyaXMgMi41IG1pY3JvIHJlbGVhc2VzIGV4cGxpY2l0bHkuCglSZW1vdmUgd2lsZGNhcmRzIGZyb20gU29sYXJpcyAyLjYsIDctOTogdGhlcmUgd2VyZSBubwoJbWljcm8gcmVsZWFzZXMuCglUcmVhdCBTb2xhcmlzIDEwIGFuZCB1cCBsaWtlIDctOS4KCjIwMDMtMDktMjkgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJKiBpbmNsdWRlL2JpdHMvc3RsX2FsZ28uaCAoc2VhcmNoX24pOiBJbXByb3ZlIHRoZSBwcmV2aW91cwoJZml4IGFzIHN1Z2dlc3RlZCBieSBNYXJ0aW4uCgoyMDAzLTA5LTI5ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCVBSIGxpYnN0ZGMrKy8xMjI5NgoJKiBpbmNsdWRlL2JpdHMvaXN0cmVhbS50Y2MgKHBlZWspOiBTZXQgZW9mYml0IGlmIHNnZXRjCglyZXR1cm5zIGVvZi4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2lzdHJlYW0vcGVlay9jaGFyLzEyMjk2LmNjOgoJTmV3LCBmcm9tIHRoZSBQUi4KCjIwMDMtMDktMjkgIE5hdGhhbiBNeWVycyAgPG5jbUBjYW50cmlwLm9yZz4KCSAgICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCVBSIGxpYnN0ZGMrKy8xMTQwMAoJKiBpbmNsdWRlL2JpdHMvc3RsX2FsZ28uaCAoc2VhcmNoX24pOgoJVXNlIGl0ZXJhdG9yX3RyYWl0czw+OjpkaWZmZXJlbmNlX3R5cGUgZm9yIF9fbi4KCSogdGVzdHN1aXRlLzI1X2FsZ29yaXRobXMvc2VhcmNoX24vMTE0MDAuY2M6IE5ldywgZnJvbSB0aGUgUFIuCgoyMDAzLTA5LTI5ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9sb2NhbGUvY29ucy8xMjM1Mi5jYzoKCVVzZSBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSBmb3IgdGVzdC4KCjIwMDMtMDktMjYgIFVscmljaCBXZWlnYW5kICA8dXdlaWdhbmRAZGUuaWJtLmNvbT4KCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvdGltZV9wdXQvcHV0L2NoYXIvMi5jYyAodGVzdF8wMik6IEFsbG93IGVpdGhlciAKCSJTb24iIG9yICJTbyIgYXMgYWJicmV2aWF0ZWQgbmFtZSBmb3IgU3VuZGF5IGluIGRlX0RFIGxvY2FsZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS90aW1lX3B1dC9wdXQvd2NoYXJfdC8yLmNjICh0ZXN0XzAyKTogTGlrZXdpc2UuCgoyMDAzLTA5LTI2ICBCcmFkIFNwZW5jZXIgIDxzcGVuY2VyQGluZm9pbnRlcmFjdGl2ZS5jb20+CgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9jb25zL3djaGFyX3QvMTAxMzItMS5jYzoKCUV4cGxpY2l0bHkgcXVhbGlmeSBleGNlcHRpb25zLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfaXN0cmVhbS9zZW50cnkvY2hhci8zOTgzLWZzdHJlYW0uY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19pc3RyZWFtL3NlbnRyeS9jaGFyLzM5ODMtc3N0cmVhbS5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX29zdHJlYW0vc2VudHJ5L2NoYXIvMzk4My1mc3RyZWFtLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfb3N0cmVhbS9zZW50cnkvY2hhci8zOTgzLXNzdHJlYW0uY2M6IFNhbWUuCgkKMjAwMy0wOS0yNSAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCglQUiBsaWJzdGRjKysvMTIzNTIKCSogc3JjL2xvY2FsZW5hbWUuY2MgKGxvY2FsZTo6X0ltcGw6Ol9JbXBsKGNvbnN0IF9JbXBsJiwKCXNpemVfdCkpOiBEb24ndCBsZWFrIGlmIG1lbW9yeSBhbGxvY2F0aW9ucyBmb3IgX01fZmFjZXRzLAoJX01fY2FjaGVzLCBhbmQgX01fbmFtZXMgZmFpbC4KCShsb2NhbGU6Ol9JbXBsOjpfSW1wbChjb25zdCBjaGFyKiwgc2l6ZV90KSk6IERpdHRvLgoJKGxvY2FsZTo6X0ltcGw6Ol9NX3JlcGxhY2VfY2F0ZWdvcmllcyhjb25zdCBfSW1wbCosCgljYXRlZ29yeSkpOiBEaXR0by4KCShsb2NhbGU6Ol9JbXBsOjpfTV9pbnN0YWxsX2ZhY2V0KGNvbnN0IGxvY2FsZTo6aWQqLAoJY29uc3QgZmFjZXQqKSk6IERpdHRvLgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2NsYXNzZXMuaCAobG9jYWxlOjpsb2NhbGUoY29uc3QgbG9jYWxlJiwKCV9GYWNldCopKTogRG9uJ3QgbGVhayBtZW1vcnkuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbG9jYWxlL2NvbnMvMTIzNTIuY2M6IE5ldywgZnJvbSB0aGUgUFIuCgoJKiBzcmMvbG9jYWxlbmFtZS5jYyAobG9jYWxlOjpfSW1wbDo6X0ltcGwoZmFjZXQqKiwgc2l6ZV90LAoJYm9vbCkpOiBRdWFsaWZ5IHdpdGggc3RkOjogc3RyY3B5LCB0d2Vhay4KCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9jbGFzc2VzLmgKCShsb2NhbGU6Ol9JbXBsOjpfTV9jaGVja19zYW1lX25hbWUpOiBRdWFsaWZ5IHN0cmNtcC4KCjIwMDMtMDktMjUgIEJyYWQgU3BlbmNlciAgPHNwZW5jZXJAaW5mb2ludGVyYWN0aXZlLmNvbT4KCglQUiBsaWJzdGRjKysvNjA3MgoJKiBhY2luY2x1ZGUubTQ6IFNwbGl0IG91dCBjaGVja3MgZm9yIHZmd3NjYW5mLCB2c3dzY2FuZiwgdndzY2FuZiwKCXdjc3RvZiwgaXN3YmxhbmsuCQoJKiBhY2xvY2FsLm00OiBSZWdlbmVyYXRlLgoJKiBjb25maWcuaC5pbjogUmVnZW5lcmF0ZS4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlLgoJKiBjcm9zc2NvbmZpZy5tNDogQWRkIGluIHdjaGFyX3QgYml0cyBmb3Igc29sYXJpcyBjcm9zc2VzLgoJKiBjb25maWcvaW8vYmFzaWNfZmlsZV9zdGRpby5jYzogR3VhcmQgdW5pc3RkLmguCgkqIGluY2x1ZGUvY19jb21wYXRpYmlsaXR5L3djaGFyLmg6IEd1YXJkIGV4dHJhIHdjaGFyX3QgZnVuY3Rpb25hbGl0eS4KCSogaW5jbHVkZS9jX3N0ZC9zdGRfY3djaGFyLmg6IFNhbWUuCgkqIGluY2x1ZGUvY19zdGQvc3RkX2N3Y3R5cGUuaDogU2FtZS4KCQoyMDAzLTA5LTI1ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJUFIgbGlic3RkYysrLzExMDY1CgkqIGNvbmZpZy9sb2NhbGUvZ251L2N0eXBlX21lbWJlcnMuY2MgKGN0eXBlPHdjaGFyX3Q+Ojpkb19pcyk6IEZpeC4KCSogY29uZmlnL2xvY2FsZS9nZW5lcmljL2N0eXBlX21lbWJlcnMuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY3R5cGUvaXMvY2hhci8xLmNjOiBJbml0aWFsaXplIG1hc2suCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY3R5cGUvaXMvd2NoYXJfdC8xLmNjOiBTYW1lLgoKCSogY29uZmlnL29zL2dlbmVyaWMvY3R5cGVfaW5saW5lLmg6IFVwZGF0ZS4KCQoyMDAzLTA5LTI1ICBVbHJpY2ggV2VpZ2FuZCAgPHV3ZWlnYW5kQGRlLmlibS5jb20+CgoJKiBzcmMvTWFrZWZpbGUuYW0gKHZlcnNpb25fZGVwKTogTmV3IHZhcmlhYmxlLgoJKGxpYnN0ZGNfX19sYV9ERVBFTkRFTkNJRVMpOiBVc2UgaXQgdG8gYWRkIGRlcGVuZGVuY3kgb24KCWxpYnN0ZGMrKy1zeW1ib2wudmVyIG9ubHkgd2hlbiB1c2luZyBzeW1ib2wgdmVyc2lvbmluZy4KCSogc3JjL01ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoKMjAwMy0wOS0yMyAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjOiBUd2VhayB0byBhdm9pZCB3YXJuaW5ncy4KCSogdGVzdHN1aXRlL3Rlc3RzdWl0ZV9ob29rcy5oOiBTYW1lLgoJKiB0ZXN0c3VpdGUvKi8qLmNjOiBTYW1lLgoKMjAwMy0wOS0yMiAgUGV0dXIgUnVub2xmc3NvbiAgPHBldHVycjAyQHJ1LmlzPgoKCSogaW5jbHVkZS9iaXRzL2lzdHJlYW0udGNjIChiYXNpY19pc3RyZWFtOjpyZWFkLAoJYmFzaWNfaXN0cmVhbTo6cmVhZHNvbWUsIGJhc2ljX2lzdHJlYW06OnB1dGJhY2ssCgliYXNpY19pc3RyZWFtOjp1bmdldCwgb3BlcmF0b3I+PihiYXNpY19pc3RyZWFtLCBDaGFyVCkpOgoJQXZvaWQgcmVkdW5kYW50IHNldHN0YXRlKGZhaWxiaXQpIGNhbGxzIHdoZW4gc2VudHJ5OjpvcGVyYXRvciBib29sKCkKCXJldHVybnMgZmFsc2UuCgoyMDAzLTA5LTIyICBDYXJsbyBXb29kICA8Y2FybG9AYWxpbm9lLmNvbT4KCglQUiBsaWJzdGRjKysvMTIzNjUKCSogaW5jbHVkZS9iaXRzL2RlbWFuZ2xlLmggKHF1YWxpZmllcihpbnQsIGN2X3F1YWxpZmllcl9udCwKCWNoYXIgY29uc3QqLCBpbnQsIGludCkpOiAgUmVtb3ZlIHVudXNlZCBpZGVudGlmaWVyCgljdl9xdWFsaWZpZXIgZm9yIG92ZXJsb2FkZWQgY29uc3RydWN0b3IuCgoyMDAzLTA5LTE4ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJUFIgbGlic3RkYysrLzExNTA0CgkqIGFjaW5jbHVkZS5tNCAoR0xJQkNYWF9FWFBPUlRfRkxBR1MpOiBBZGQgLVdjYXN0LXF1YWwgdG8KCVdBUk5fRkxBR1MsIHJlbW92ZSAtV25vLWZvcm1hdC4KCSogYWNsb2NhbC5tNDogUmVnZW5lcmF0ZS4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlLgoKMjAwMy0wOS0xOCAgUGV0dXIgUnVub2xmc3NvbiAgPHBldHVycjAyQHJ1LmlzPgoKCSogY29uZmlnL2lvL2Jhc2ljX2ZpbGVfc3RkaW8uY2MgKHN5c19nZXRjLCBzeXNfdW5nZXRjKTogRGVsZXRlLgoJKiBjb25maWcvaW8vYmFzaWNfZmlsZV9zdGRpby5oOiBTYW1lLgoJKiBpbmNsdWRlL3N0ZC9zdGRfZnN0cmVhbS5oIChfX2N0eXBlX3R5cGUpOiBEZWxldGUuCgkqIGluY2x1ZGUvc3RkL3N0ZF9zdHJlYW1idWYuaCAoX19jdHlwZV90eXBlLCBfX3N0YXRlX3R5cGUpOiBEZWxldGUuCgkKMjAwMy0wOS0xNyAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCVBSIGxpYnN0ZGMrKy8xMjIzOQoJKiBjb25maWd1cmUuaG9zdCAoYWJpX2Jhc2VsaW5lX3BhaXIpOiBFcnJvciBvdXQgb24gc29sYXJpczIKCWNvbmZpZ3VyYXRpb25zIHdpdGhvdXQgYSBtaW5vciB2ZXJzaW9uIG51bWJlci4KCjIwMDMtMDktMTMgIFBoaWwgRWR3YXJkcyAgPHBoaWxAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGRvY3MvZG94eWdlbi9ydW5fZG94eWdlbjogIENsZWFyIEdFTkVSQVRFX1RBR0ZJTEUgZW50aXJlbHkKCWlmIG1hbiBwYWdlcyBhcmUgb24uCgkqIGRvY3MvZG94eWdlbi91c2VyLmNmZy5pbjogIEFuZCBoZXJlLgoKMjAwMy0wOS0xMCAgRGFuaWVsIEphY29ib3dpdHogIDxkcm93QG12aXN0YS5jb20+CgkgICAgQW5kcmVhcyBKYWVnZXIgPGFqQHN1c2UuZGU+CgoJUFIgbGlic3RkYysrLzEyMTg5CgkqIGFjaW5jbHVkZS5tNCAoR0xJQkNYWF9DT05GSUdVUkVfVEVTVFNVSVRFKTogRG9uJ3QgYnVpbGQKCWFiaV9jaGVjayBpZiBjcm9zcyBjb21waWxpbmcuCgkqIGFjbG9jYWwubTQ6IFJlZ2VuZXJhdGVkLgoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGVkLgoKMjAwMy0wOS0xMCAgSmVmZnJleSBELiBPbGRoYW0gIDxvbGRoYW1AY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGxpYnN1cGMrKy92ZWMuY2MgKF9fY3hhX3ZlY19uZXcyKTogSWYgdGhlIGFsbG9jYXRvciByZXR1cm5zCglOVUxMLCByZXR1cm4gTlVMTC4gIFRoaXMgcmVmbGVjdHMgYSBDKysgQUJJIGNoYW5nZSAyMDAzIFNlcCAwNS4KCShfX2N4YV92ZWNfbmV3Myk6IExpa2V3aXNlLgoKMjAwMy0wOS0xMCAgUGV0dXIgUnVub2xmc3NvbiAgPHBldHVycjAyQHJ1LmlzPgoKCSogaW5jbHVkZS9iaXRzL2ZzdHJlYW0udGNjIChiYXNpY19maWxlYnVmOjpzZWVrb2ZmKToKCVVzZSBjb2RlY3Z0OjpsZW5ndGggdG8gaGFuZGxlIHZhcmlhYmxlLXdpZHRoIHN0YXRlbGVzcyBlbmNvZGluZ3MKCWNvcnJlY3RseS4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2Vla29mZi93Y2hhcl90LzEuY2M6IE5ldyB0ZXN0LgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZWVrb2ZmL3djaGFyX3QvMi5jYzogTmV3IHRlc3QuCgoyMDAzLTA5LTEwICBBbGFuIE1vZHJhICA8YW1vZHJhQGJpZ3BvbmQubmV0LmF1PgoKCSogY29uZmlnL2lvL2Jhc2ljX2ZpbGVfc3RkaW8uY2MgKF9NX29wZW5fbW9kZSk6IEFzc2lnbiBfX3BfbW9kZQoJcmF0aGVyIHRoYW4gb3InaW5nLgoKMjAwMy0wOS0wOSAgQWxhbiBNb2RyYSAgPGFtb2RyYUBiaWdwb25kLm5ldC5hdT4KCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZS4KCjIwMDMtMDktMDkgIERhdmlkIEVkZWxzb2huICA8ZWRlbHNvaG5AZ251Lm9yZz4KCgkqIHNyYy9pb3MuY2MgKGlvc19iYXNlOjpJbml0OjpJbml0KTogUmVtb3ZlIHVubmVjZXNzYXJ5CglxdWFsaWZpZXIgZnJvbSBfU19zeW5jZWRfd2l0aF9zdGRpby4KCjIwMDMtMDktMDkgIEJlcm5hcmRvIElubm9jZW50aSAgPGJlcm5pZUBkZXZlbGVyLmNvbT4KCgkqIGluY2x1ZGUvY19zdGQvc3RkX2NzdGRsaWIuaDogQXZvaWQgdXNpbmcgbWlzc2luZyBDIGxpYnJhcnkgc3ltYm9scy4KCjIwMDMtMDktMDQgIFBldHVyIFJ1bm9sZnNzb24gIDxwZXR1cnIwMkBydS5pcz4KCglQUiBsaWJzdGRjKysvOTAyOAoJKiBpbmNsdWRlL2JpdHMvZnN0cmVhbS50Y2MKCShiYXNpY19maWxlYnVmOjpfTV9kZXN0cm95X2ludGVybmFsX2J1ZmZlcik6IERlc3Ryb3kgX01fZXh0X2J1Zi4KCShiYXNpY19maWxlYnVmOjpiYXNpY19maWxlYnVmKTogSW5pdGlhbGl6ZSBfTV9leHRfYnVmLAoJX01fZXh0X2J1Zl9zaXplLCBfTV9leHRfbmV4dCBhbmQgX01fZXh0X2VuZC4KCShiYXNpY19maWxlYnVmOjp1bmRlcmZsb3cpOiBIYW5kbGUgdmFyaWFibGUtd2lkdGggc3RhdGVsZXNzCgllbmNvZGluZ3MgKGNvZGVjdnQ6OmVuY29kaW5nKCkgPT0gMCksIGluY2x1ZGluZyBVVEYtOC4KCSogaW5jbHVkZS9zdGQvc3RkX2ZzdHJlYW0uaCAoYmFzaWNfZmlsZWJ1Zik6CglEZWNsYXJlIF9NX2V4dF9idWYsIF9NX2V4dF9idWZfc2l6ZSwgX01fZXh0X25leHQsIF9NX2V4dF9lbmQuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3VuZGVyZmxvdy93Y2hhcl90LzEuY2M6IE5ldyB0ZXN0LgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi91bmRlcmZsb3cvd2NoYXJfdC8yLmNjOiBOZXcgdGVzdC4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvdW5kZXJmbG93L3djaGFyX3QvMy5jYzogTmV3IHRlc3QuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3VuZGVyZmxvdy93Y2hhcl90LzQuY2M6IE5ldyB0ZXN0LgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi91bmRlcmZsb3cvd2NoYXJfdC81LmNjOiBOZXcgdGVzdC4KCSogdGVzdHN1aXRlLzI3X2lvL29iamVjdHMvd2NoYXJfdC8xMi5jYzogTmV3IHRlc3QuCgkqIHRlc3RzdWl0ZS8yN19pby9vYmplY3RzL3djaGFyX3QvMTMuY2M6IE5ldyB0ZXN0LgoKMjAwMy0wOS0wNCAgSm9uYXRoYW4gV2FrZWx5ICA8cmVkaUBnY2MuZ251Lm9yZz4KCgkqIGRvY3MvaHRtbC9mYXEvaW5kZXguaHRtbDogTm90ZSB0aGF0IGEgbmFtZXNwYWNlIGFsaWFzIGNhbid0IGJlCgl1c2VkIHdoZW4gc3BlY2lhbGlzaW5nIHRlbXBsYXRlcyBpbiBleHRlbnNpb24gbmFtZXNwYWNlLgoJKiBkb2NzL2h0bWwvZmFxL2luZGV4LnR4dDogUmVnZW5lcmF0ZS4KCjIwMDMtMDktMDMgIFBldHVyIFJ1bm9sZnNzb24gIDxwZXR1cnIwMkBydS5pcz4KCglQUiBsaWJzdGRjKysvMTIwNDgKCSogaW5jbHVkZS9leHQvc3RkaW9fc3luY19maWxlYnVmLmgKCShzdGRpb19zeW5jX2ZpbGVidWY6Ol9NX3VuZ2V0X2J1Zik6IERlY2xhcmUgaXQuCgkoc3RkaW9fc3luY19maWxlYnVmOjpzdGRpb19zeW5jX2ZpbGVidWYpOiBJbml0aWFsaXplIF9NX3VuZ2V0X2J1Zi4KCShzdGRpb19zeW5jX2ZpbGVidWY6OnVmbG93KTogU3RvcmUgdGhlIHJldHVybmVkIGNoYXJhY3RlciBpbgoJX01fdW5nZXRfYnVmLgoJKHN0ZGlvX3N5bmNfZmlsZWJ1Zjo6cGJhY2tmYWlsKTogSWYgYXJndW1lbnQgaXMgZW9mKCksIHBhc3MKCV9NX3VuZ2V0X2J1ZiB0byBzeW5jdW5nZXRjKCkuIFNldCBfTV91bmdldF9idWYgdG8gZW9mKCkuCgkoc3RkaW9fc3luY19maWxlYnVmPGNoYXI+Ojp4c2dldG4pOiBTdG9yZSBsYXN0IHJlYWQgY2hhcmFjdGVyIGluCglfTV91bmdldF9idWYsIGlmIGFueSwgZWxzZSBlb2YoKS4KCShzdGRpb19zeW5jX2ZpbGVidWY8d2NoYXJfdD46OnhzZ2V0bjogU3RvcmUgbGFzdCByZWFkIGNoYXJhY3RlciBpbgoJX01fdW5nZXRfYnVmLCBpZiBhbnksIGVsc2UgZW9mKCkuCgkqIHRlc3RzdWl0ZS8yN19pby9vYmplY3RzL2NoYXIvMTIwNDguY2M6IFJlbmFtZSB0by4uLgoJKiB0ZXN0c3VpdGUvMjdfaW8vb2JqZWN0cy9jaGFyLzEyMDQ4LTEuY2M6IC4uLnRoaXMuCgkqIHRlc3RzdWl0ZS8yN19pby9vYmplY3RzL2NoYXIvMTIwNDgtMi5jYzogTmV3IHRlc3QuCgkqIHRlc3RzdWl0ZS8yN19pby9vYmplY3RzL2NoYXIvMTIwNDgtMy5jYzogTmV3IHRlc3QuCgkqIHRlc3RzdWl0ZS8yN19pby9vYmplY3RzL2NoYXIvMTIwNDgtNC5jYzogTmV3IHRlc3QuCgkqIHRlc3RzdWl0ZS8yN19pby9vYmplY3RzL2NoYXIvMTIwNDgtNS5jYzogTmV3IHRlc3QuIFhGQUlMLgoJKiB0ZXN0c3VpdGUvMjdfaW8vb2JqZWN0cy93Y2hhcl90LzEyMDQ4LTEuY2M6IE5ldyB0ZXN0LgoJKiB0ZXN0c3VpdGUvMjdfaW8vb2JqZWN0cy93Y2hhcl90LzEyMDQ4LTIuY2M6IE5ldyB0ZXN0LgoJKiB0ZXN0c3VpdGUvMjdfaW8vb2JqZWN0cy93Y2hhcl90LzEyMDQ4LTMuY2M6IE5ldyB0ZXN0LgoJKiB0ZXN0c3VpdGUvMjdfaW8vb2JqZWN0cy93Y2hhcl90LzEyMDQ4LTQuY2M6IE5ldyB0ZXN0LgoJKiB0ZXN0c3VpdGUvMjdfaW8vb2JqZWN0cy93Y2hhcl90LzEyMDQ4LTUuY2M6IE5ldyB0ZXN0LiBYRkFJTC4KCSogdGVzdHN1aXRlL2V4dC9zdGRpb19zeW5jX2ZpbGVidWZfY2hhci5jYwoJKHRlc3QwMiwgdGVzdDAzLCB0ZXN0MDQsIHRlc3QwNSk6IE5ldyB0ZXN0cy4KCSogdGVzdHN1aXRlL2V4dC9zdGRpb19zeW5jX2ZpbGVidWZfd2NoYXJfdC5jYwoJKHRlc3QwMiwgdGVzdDAzLCB0ZXN0MDQsIHRlc3QwNSk6IE5ldyB0ZXN0cy4KCjIwMDMtMDktMDMgIFBldHVyIFJ1bm9sZnNzb24gIDxwZXR1cnIwMkBydS5pcz4KCgkqIGRvY3MvaHRtbC8yN19pby9ob3d0by5odG1sOiBzZXRidWYoMCwgMCkgaGFzIG5vIGVmZmVjdCBvbgoJc3RyaW5nYnVmIG9yIHN0cnN0cmVhbWJ1Zi4gRml4IHR5cG9zLgoKMjAwMy0wOS0wMiAgUGhpbCBFZHdhcmRzICA8cGhpbEBjb2Rlc291cmNlcnkuY29tPgoKCSogYWNpbmNsdWRlLm00IChHTElCQ1hYX0VOQUJMRV9IT1NURUQpOiAgI2RlZmluZSBfR0xJQkNYWF9IT1NURUQKCWFwcHJvcHJpYXRlbHkuCgkqIGNvbmZpZy5oLmluOiAgQWRkIF9HTElCQ1hYX0hPU1RFRC4KCSogbGlic3VwYysrL2VoX3Rlcm1faGFuZGxlci5jYzogIFRlc3QgaXQgaGVyZTsgaW5pdGlhbGl6ZQoJX190ZXJtaW5hdGVfaGFuZGxlciB0byBzdGQ6OmFib3J0IGlmIGZyZWVzdGFuZGluZy4KCSogYWNsb2NhbC5tNCwgY29uZmlndXJlOiAgUmVnZW5lcmF0ZWQuCgkqIGRvY3MvaHRtbC9jb25maWdvcHRzLmh0bWw6ICBEb2N1bWVudCAtLWRpc2FibGUtaG9zdGVkLWxpYnN0ZGN4eC4KCjIwMDMtMDgtMjkgIE5hdGhhbiBNeWVycyAgPG5jbUBjYW50cmlwLm9yZz4KCQoJUFIgbGlic3RkYysrLzExOTkwCQoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy50Y2MgKF9fcGFkKTogZGVsZXRlIGRlYWQgY29kZS4KCjIwMDMtMDgtMjggIEFsYW4gTW9kcmEgIDxhbW9kcmFAYmlncG9uZC5uZXQuYXU+CgoJKiBjb25maWd1cmUuYWM6IFRlc3QgJHdpdGhfY3Jvc3NfaG9zdCBhZ2FpbnN0ICRidWlsZF9hbGlhcywgbm90ICRidWlsZC4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlLgoKMjAwMy0wOC0yNyAgUGV0dXIgUnVub2xmc3NvbiAgPHBldHVycjAyQHJ1LmlzPgoKCSogdGVzdHN1aXRlLzI3X2lvL29iamVjdHMvd2NoYXJfdC8xMC5jYzogTW92ZSB3Y291dCBzdHVmZi4uLgoJKiB0ZXN0c3VpdGUvMjdfaW8vb2JqZWN0cy93Y2hhcl90LzExLmNjOiAuLi5oZXJlLiBOZXcgZmlsZS4KCjIwMDMtMDgtMjcgIFBoaWwgRWR3YXJkcyAgPHBtZUBnY2MuZ251Lm9yZz4KCgkqIE1ha2VmaWxlLmFtOiAgUmVtb3ZlIHRyYWlsaW5nIHdoaXRlc3BhY2UuICBSZW1vdmUgbmVlZGxlc3MKCSJmb28gPSBAZm9vQCIgYXNzaWdubWVudHMuICBSZXBsYWNlIGRpcmVjdCB1c2VzIG9mIEBmb29AIHdpdGggJChmb28pLgoJKiBpbmNsdWRlL01ha2VmaWxlLmFtOiAgTGlrZXdpc2UuCgkqIGxpYm1hdGgvTWFrZWZpbGUuYW06ICBMaWtld2lzZS4KCSogbGlic3VwYysrL01ha2VmaWxlLmFtOiAgTGlrZXdpc2UuCgkqIHBvL01ha2VmaWxlLmFtOiAgTGlrZXdpc2UuCgkqIHNyYy9NYWtlZmlsZS5hbTogIExpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvTWFrZWZpbGUuYW06ICBMaWtld2lzZS4KCgkqIE1ha2VmaWxlLmluLCBpbmNsdWRlL01ha2VmaWxlLmluLCBsaWJtYXRoL01ha2VmaWxlLmluLAoJbGlic3VwYysrL01ha2VmaWxlLmluLCBwby9NYWtlZmlsZS5pbiwgc3JjL01ha2VmaWxlLmluLAoJdGVzdHN1aXRlL01ha2VmaWxlLmluOiAgUmVnZW5lcmF0ZWQuCgoyMDAzLTA4LTI3ICBQaGlsIEVkd2FyZHMgIDxwbWVAZ2NjLmdudS5vcmc+CgoJKiBhY2luY2x1ZGUubTQgKEdMSUJDWFhfRVhQT1JUX0lOQ0xVREVTKTogIENoYW5nZSBxdW90aW5nIG9mCglpbmNsdWRlZGlyLgoJKiBhY2xvY2FsLm00LCBjb25maWd1cmU6ICBSZWdlbmVyYXRlLgoKMjAwMy0wOC0yNyAgRGFuaWVsIEphY29ib3dpdHogIDxkcm93QG12aXN0YS5jb20+CgoJKiBhY2luY2x1ZGUubTQ6IEluY2x1ZGUgbm8tZXhlY3V0YWJsZXMubTQuCgkqIGNvbmZpZ3VyZS5hYzogVW5jb21tZW50IEdDQ19OT19FWEVDVVRBQkxFUy4KCSogYWNsb2NhbC5tNDogUmVnZW5lcmF0ZWQuCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZWQuCgoyMDAzLTA4LTI3ICBEYW5pZWwgSmFjb2Jvd2l0eiAgPGRyb3dAbXZpc3RhLmNvbT4KCgkqIGFjaW5jbHVkZS5tNDogRG9uJ3QgY2FsbCBBQ19JU0NfUE9TSVguCgkqIGFjbG9jYWwubTQ6IFJlZ2VuZXJhdGVkLgoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGVkLgoKMjAwMy0wOC0yNyAgUGhpbCBFZHdhcmRzICA8cG1lQGdjYy5nbnUub3JnPgoKCSogYWNpbmNsdWRlLm00IChHTElCQ1hYX0NPTkRJVElPTkFMKTogIE5ldyBtYWNyby4gIFdyYXAKCUFNX0NPTkRJVElPTkFMLiAgUmVwbGFjZSBhbGwgY2FsbHMgdG8gQU1fQ09ORElUSU9OQUwgd2l0aCB0aGlzIG9uZS4KCShHTElCQ1hYX0VOQUJMRV9IT1NURUQpOiAgTmV3IG1hY3JvLCBzZXRzIG5ldyB2YXJpYWJsZSBpc19ob3N0ZWQsCgl1c2VkIGVsc2V3aGVyZSBpbiB0aGlzIGZpbGUuCgkoR0xJQkNYWF9FVkFMVUFURV9DT05ESVRJT05BTFMpOiAgTmV3IG1hY3JvLi4uCgkqIGNvbmZpZ3VyZS5hYzogIC4uLmNhbGxlZCBoZXJlIHRvIGV4cGFuZCBhbGwgY29uZGl0aW9uYWxzLgoJKiBNYWtlZmlsZS5hbTogIENvbmRpdGlvbmFsaXplIFNVQkRJUlMgb24gR0xJQkNYWF9IT1NURUQuCgkqIGluY2x1ZGUvTWFrZWZpbGUuYW06ICBSZW1vdmUgcmVkdW5kYW50IGd4eF9pbmNsdWRlX2RpciBhc3NpZ25tZW50LgoJKGluc3RhbGwtZnJlZXN0YW5kaW5nLWhlYWRlcnMpOiAgTmV3IHRhcmdldCwgYSBzdWJzZXQgb2YKCWluc3RhbGwtaGVhZGVycy4gIENvbmRpdGlvbmFsaXplIGluc3RhbGwtZGF0YS1sb2NhbCBvbiBHTElCQ1hYX0hPU1RFRC4KCgkqIGFjbG9jYWwubTQsIGNvbmZpZ3VyZSwgTWFrZWZpbGUuaW4sIGluY2x1ZGUvTWFrZWZpbGUuaW4sCglsaWJtYXRoL01ha2VmaWxlLmluLCBsaWJzdXBjKysvTWFrZWZpbGUuaW4sIHBvL01ha2VmaWxlLmluLAoJc3JjL01ha2VmaWxlLmluLCB0ZXN0c3VpdGUvTWFrZWZpbGUuaW46ICBSZWdlbmVyYXRlZC4KCjIwMDMtMDgtMjYgIFBoaWwgRWR3YXJkcyAgPHBtZUBnY2MuZ251Lm9yZz4KCgkqIGRvY3MvZG94eWdlbi9ydW5fZG94eWdlbjogIFNoZWxsIGZpeGVzLiAgUmVtb3ZlIGhhcmRjb2RlZCBsb2NhbAoJcGF0aG5hbWVzIGZyb20gZ2VuZXJhdGVkIHRhZyBmaWxlLgoKMjAwMy0wOC0yNiAgUGhpbCBFZHdhcmRzICA8cG1lQGdjYy5nbnUub3JnPgoKCSogTWFrZWZpbGUuYW06ICBBZGQgY29tbWVudC4KCSogYWNpbmNsdWRlLm00IChHTElCQ1hYX0NPTkZJR1VSRSk6ICBTZXQgbmV3IGdsaWJjeHhfU1VCRElSUyBhbmQKCVNVQkRJUlMgdmFyaWFibGVzLgoJKiBjb25maWd1cmUuYWM6ICBVc2UgdGhlbSBib3RoIGhlcmUsIGluc3RlYWQgb2YgaGFyZGNvZGVkIGxpc3RzLgoKCSogZnJhZ21lbnQuYW06ICBBZGQgU1RBTVAgdmFyYWlibGUuCgkqIGluY2x1ZGUvTWFrZWZpbGUuYW06ICBDb3NtZXRpYyB3aGl0ZXNwYWNlIGNsZWFudXAuICBVc2UgJChMTl9TKQoJaW5zdGVhZCBvZiBATE5fU0AuCgkoc3RhbXAtKik6ICBNb3ZlIGZpbGUgY3JlYXRpb24gcnVsZSBvdXRzaWRlIG9mICdpZicgYnJhbmNoZXMgdG8KCWVuc3VyZSB0aGUgc3RhbXAtKiBmaWxlcyBhcmUgYWN0dWFsbHkgdXBkYXRlZC4gIFVzZSAkKFNUQU1QKS4KCSogc3JjL01ha2VmaWxlLmFtOiAgUmVtb3ZlIG5vdy1ub25leGlzdGFudCB2YXJpYWJsZS4KCSogbGlic3VwYysrL01ha2VmaWxlLmFtOiAgTGlrZXdpc2UuICBTbmFwIHRoZSBhc3NpZ25tZW50IGNoYWluCglmb3IgLXByZWZlci1waWMuCgkqIHBvL01ha2VmaWxlLmFtOiAgSW5jbHVkZSBzYW1lIGZyYWdtZW50IGFzIGFsbCB0aGUgb3RoZXJzLgoKCSogYWNsb2NhbC5tNCwgY29uZmlndXJlLCBNYWtlZmlsZS5pbiwgaW5jbHVkZS9NYWtlZmlsZS5pbiwKCWxpYnN1cGMrKy9NYWtlZmlsZS5pbiwgcG8vTWFrZWZpbGUuaW4sIHNyYy9NYWtlZmlsZS5pbjogIFJlZ2VuZXJhdGVkLgoKMjAwMy0wOC0yNiAgTG9yZW4gSi4gUml0dGxlICA8bGpyaXR0bGVAYWNtLm9yZz4KCgkqIHRlc3RzdWl0ZS9kYXRhL2Npbl91bmdldC0xLnR4dDogTmV3LgoJKiB0ZXN0c3VpdGUvMjdfaW8vb2JqZWN0cy9jaGFyLzEyMDQ4LmNjOiBOZXcuCgoyMDAzLTA4LTI1ICBaYWNrIFdlaW5iZXJnICA8emFja0Bjb2Rlc291cmNlcnkuY29tPgoKCSogY29uZmlnL29zL2hwdXgvb3NfZGVmaW5lcy5oOiBVbmNvbmRpdGlvbmFsbHkgZGVmaW5lCglfR0xJQkNYWF9HVEhSRUFEX1VTRV9XRUFLIHRvIDAuCgoyMDAzLTA4LTE5ICBHZW9mZnJleSBLZWF0aW5nICA8Z2VvZmZrQGFwcGxlLmNvbT4KCgkqIGNyb3NzY29uZmlnLm00ICgqLWRhcndpbiopOiBBZGQgYSBsYXJnZSBhbmQgYm9yaW5nIHN0YW56YSBmb3IKCWNyb3NzZXMgdG8gRGFyd2luIHRhcmdldHMuCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZS4KCjIwMDMtMDgtMTkgIFBldHVyIFJ1bm9sZnNzb24gIDxwZXR1cnIwMkBydS5pcz4KCgkqIGluY2x1ZGUvZXh0L3JvcGVpbXBsLmg6ICNpbmNsdWRlIDxvc3RyZWFtPiBpbnN0ZWFkIG9mIDxpb3N0cmVhbT4KCjIwMDMtMDgtMTcgIFBoaWwgRWR3YXJkcyAgPHBtZUBnY2MuZ251Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzogIEdDQ19OT19FWEVDVVRBQkxFUyB3YXMgc3VwcG9zZWQgdG8gYmUgY29tbWVudGVkCglpbiB0aGUgcGF0Y2ggZnJvbSAzIG1pbnV0ZXMgYWdvLiAgQm95LCBpcyBteSBmYWNlIHJlZC4KCSogY29uZmlndXJlOiAgQXQgbGVhc3QgSSByZW1lbWJlcmVkIHRvIHJlZ2VuZXJhdGUgdGhpcy4KCjIwMDMtMDgtMTcgIFBoaWwgRWR3YXJkcyAgPHBtZUBnY2MuZ251Lm9yZz4KCgkqIGFjaW5jbHVkZS5tNCAoR0xJQkNYWF9FWFBPUlRfSU5DTFVERVMpOiAgUmVtb3ZlIExJQk1BVEhfSU5DTFVERVMKCWFuZCBMSUJTVVBDWFhfSU5DTFVERVMuICBSZS1wdXJwb3NlIFRPUExFVkVMX0lOQ0xVREVTIHRvIHJlZmVyIHRvCgl0aGluZ3MgZnJvbSB0aGUgdG9wIGxldmVsLgoJKiBjb25maWd1cmUuYWMgKEdMSUJDWFhfSVNfTkFUSVZFKTogIERldGVybWluZSBlYXJsaWVyIGFuZCByZS1vcmRlci4KCUNvbW1lbnQgb3V0IHRoZSBjb25kaXRpb25hbHMgZm9yIENBTkFESUFOIGFuZCBHTElCQ1hYX0JVSUxEX0xJQk1BVEgKCShjdXJyZW50bHkgdW51c2VkKS4gIFN0cmlwIHRoZSBmYWtlLVZQQVRIIHNoZWxsIGZyYWdtZW50IGZyb20KCWF1dG9tYWtlLWdlbmVyYXRlZCBydWxlcywgaWYgcHJlc2VudC4KCSogbGlua2FnZS5tNDogIEFkZCBjb21tZW50LgoKCSogZnJhZ21lbnQuYW06ICBOZXcgZmlsZSwgY29udGFpbmluZyBmYWN0b3JlZC1vdXQgY29tbW9uIHNldHRpbmdzLgoJKEFNX0NQUEZMQUdTKTogIEFic29yYiB0aGUgZGVwcmVjYXRlZCBJTkNMVURFUyB2YXJpYWJsZSBjb250ZW50cy4KCSogTWFrZWZpbGUuYW06ICBJbmNsdWRlIGZyYWdtZW50LmFtLiAgUmVtb3ZlIGNvbW1vbiB2YXJpYWJsZXMuCgkqIGluY2x1ZGUvTWFrZWZpbGUuYW06ICBMaWtld2lzZS4KCSogbGlibWF0aC9NYWtlZmlsZS5hbTogIExpa2V3aXNlLgoJKiBsaWJzdXBjKysvTWFrZWZpbGUuYW06ICBMaWtld2lzZS4KCSogcG8vTWFrZWZpbGUuYW06ICBMaWtld2lzZS4gIFByaW50IHJ1bGVzIGR1cmluZyBjaGVjay4KCSogc3JjL01ha2VmaWxlLmFtOiAgTGlrZXdpc2UuCgkqIHRlc3RzdWl0ZS9NYWtlZmlsZS5hbTogIExpa2V3aXNlLgoKCSogYWNsb2NhbC5tNCwgY29uZmlndXJlLCBNYWtlZmlsZS5pbiwgaW5jbHVkZS9NYWtlZmlsZS5pbiwKCWxpYm1hdGgvTWFrZWZpbGUuaW4sIGxpYnN1cGMrKy9NYWtlZmlsZS5pbiwgcG8vTWFrZWZpbGUuaW4sCglzcmMvTWFrZWZpbGUuaW4sIHRlc3RzdWl0ZS9NYWtlZmlsZS5pbjogIFJlZ2VuZXJhdGUuCgoyMDAzLTA4LTExICBKb2huIExldm9uICA8bGV2b25AbW92ZW1lbnRhcmlhbi5vcmc+CgoJKiBkb2NzL2h0bWwvZXh0L2hvd3RvL2d1aWRlLmh0bWwgKEdMSUJDWFhfRk9SQ0VfTkVXKTogVXBkYXRlCglyZW1haW5pbmcgcGxhY2VzIGZvciB0aGUgbmFtZSBjaGFuZ2UgZnJvbSBHTElCQ1BQX0ZPUkNFX05FVwoJdG8gR0xJQkNYWF9GT1JDRV9ORVcKCjIwMDMtMDgtMTEgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvYml0cy9iYXNpY19pb3MuaDogUmVtb3ZlICpfaXRlciB0eXBlZGVmcywgY2hhbmdlIG51bSoKCXR5cGVkZWZzIHRvIG51bV8qLgoJKiBpbmNsdWRlL2JpdHMvYmFzaWNfaW9zLnRjYzogU2FtZS4KCSogaW5jbHVkZS9iaXRzL2lzdHJlYW0udGNjOiBTYW1lLgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy5oOiBTYW1lLgoJKiBpbmNsdWRlL2JpdHMvb3N0cmVhbS50Y2M6IFNhbWUuCgkqIGluY2x1ZGUvc3RkL3N0ZF9pc3RyZWFtLmg6IFNhbWUuCgkqIGluY2x1ZGUvc3RkL3N0ZF9vc3RyZWFtLmg6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yNl9udW1lcmljcy9jb21wbGV4X2luc2VydGVyc19leHRyYWN0b3JzLmNjOiBGaXguCgoJKiBpbmNsdWRlL2V4dC9yb3BlOiBSZW1vdmUgYnVpbGQgd2FybmluZy4KCjIwMDMtMDgtMTEgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGluY2x1ZGUvTWFrZWZpbGUuYW0gKHN0YW1wLWNfYmFzZSk6IEFkZCBkZXBlbmRlbmN5IG9uIHN0YW1wLWJpdHMKCXRvIG1ha2UgU01QLXNhZmUuCgkqIGluY2x1ZGUvTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgoKMjAwMy0wOC0xMSAgUGhpbCBFZHdhcmRzICA8cG1lQGdjYy5nbnUub3JnPgoKCSogYWNpbmNsdWRlLm00IChHTElCQ1hYX0NPTkZJR1VSRSk6ICBVbnByZWNpb3VzIENDIGFuZCBDRkxBR1MKCXdoZW4gY2FsbGluZyBBQ19QUk9HX0NDLgoJKiBhY2xvY2FsLm00LCBjb25maWd1cmU6ICBSZWdlbmVyYXRlLgoKMjAwMy0wOC0xMSAgUGhpbCBFZHdhcmRzICA8cG1lQGdjYy5nbnUub3JnPgoKCSogYWNpbmNsdWRlLm00OiAgUHJvcGVybHkgcXVvdGUgdmFyaWFibGUgd2hpY2ggd2lsbCBiZSBleHBhbmRlZAoJaW5zaWRlIG1ha2VmaWxlcy4gIFVzZSBDWFggaW5zdGVhZCBvZiBDQyB0byBleHRyYWN0IGNvbXBpbGVyIGluZm8uCgkqIGNvbmZpZ3VyZS5hYyAoQUNfSU5JVCk6ICBVc2UgdGhlIG5ldyA0LWFyZyBmb3JtIHRvIGZpbmFsbHkgZ2V0IHRoZQoJY29ycmVjdCBmb3JtIGluIFBBQ0tBR0UuCgkqIGFjbG9jYWwubTQsIGNvbmZpZ3VyZTogIFJlZ2VuZXJhdGUuCgoyMDAzLTA4LTA4ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiB0ZXN0c3VpdGUvTWFrZWZpbGUuYW0gKGNoZWNrLWFiaSk6IENoYW5nZSBsaWJzdGRjKystdjMgdG8gbGlic3RkYysrLgoJKGNoZWNrLWFiaS12ZXJib3NlKTogU2FtZS4KCSogdGVzdHN1aXRlL3Rlc3RzdWl0ZV9wZXJmb3JtYW5jZS5oIChyZXBvcnRfcGVyZm9ybWFuY2UpOiBTYW1lLgoKMjAwMy0wOC0wOCAgTG9yZW4gSi4gUml0dGxlICA8bGpyaXR0bGVAYWNtLm9yZz4KCgkqIHRlc3RzdWl0ZS90ZXN0c3VpdGVfcGVyZm9ybWFuY2UuaCAoX19GcmVlQlNEX18pOiBBZGQgZmFrZSBtYWxsaW5mby4KCjIwMDMtMDgtMDcgIERvdWcgR3JlZ29yICA8ZGdyZWdvckBhcHBsZS5jb20+CgoJKiBpbmNsdWRlL2JpdHMvY2hhcl90cmFpdHMuaCAoY2hhcl90cmFpdHM6Om5vdF9lb2YpOiBNYXRjaCBvcGVyYW5kCgl0eXBlcyBpbiA/IDouCgoyMDAzLTA4LTA3ICBCZXJuYXJkbyBJbm5vY2VudGkgIDxiZXJuaWVAZGV2ZWxlci5jb20+CgoJUFIgbGlic3RkYysrLzExNzg0CgkqIGxpYnN0ZGMrKy12My9jb25maWcvY3B1L202OGsvYXRvbWljaXR5LmggKF9fZXhjaGFuZ2VfYW5kX2FkZCk6CglSZXBsYWNlIHZhcmlhbnRzIHdpdGggbmV3IEJTRVQtYmFzZWQgdmVyc2lvbi4KCjIwMDMtMDgtMDcgIENhcmxvIFdvb2QgIDxjYXJsb0BhbGlub2UuY29tPgoKCSogaW5jbHVkZS9iaXRzL2RlbWFuZ2xlLmg6IERvIG5vdCB1c2UgY2N0eXBlIGZ1bmN0aW9ucyB0aGF0IGRlcGVuZAoJb24gbG9jYWxlLgoKMjAwMy0wOC0wNSAgUGhpbCBFZHdhcmRzICA8cG1lQGdjYy5nbnUub3JnPgoKCSogY29uZmlndXJlLmluOiAgUmVuYW1lLi4uCgkqIGNvbmZpZ3VyZS5hYzogIC4uLnRvIHRoaXMuCgkqIGRvY3MvaHRtbC8xN19pbnRyby9wb3J0aW5nLnRleGk6ICBVcGRhdGUgbmFtZS4KCgkqIGRvY3MvaHRtbC8xN19pbnRyby9wb3J0aW5nLmh0bWw6ICBSZWdlbmVyYXRlLgoJKiBjb25maWcuaC5pbiwgTWFrZWZpbGUuaW4sIGluY2x1ZGUvTWFrZWZpbGUuaW4sIGxpYm1hdGgvTWFrZWZpbGUuaW4sCglsaWJzdXBjKysvTWFrZWZpbGUuaW4sIHBvL01ha2VmaWxlLmluLCBzcmMvTWFrZWZpbGUuaW4sCgl0ZXN0c3VpdGUvTWFrZWZpbGUuaW46ICBSZWdlbmVyYXRlIChwaWNrcyB1cCBuZXcgZGVwZW5kYW5jeSkuCgoyMDAzLTA4LTA1ICBQaGlsIEVkd2FyZHMgIDxwbWVAZ2NjLmdudS5vcmc+CgoJKiBhY2luY2x1ZGUubTQgKEdMSUJDWFhfRU5BQkxFX1NKTEpfRVhDRVBUSU9OUyk6ICBQdXQgZG93biB0aGUgY3JhY2sKCXBpcGUsIG9wZW4gdGhlIHdpbmRvdyB0byBsZXQgb3V0IHRoZSBmdW1lcywgcmVkbyB0aGUgb3B0aW9uLWhhbmRsaW5nCglsb2dpYyB0byBwcm9wZXJseSBleGVjdXRlIHRoZSBkZXRlY3Rpb24gdGVzdC4KCSogYWNsb2NhbC5tNCwgY29uZmlndXJlOiAgUmVnZW5lcmF0ZS4KCjIwMDMtMDgtMDQgIFBoaWwgRWR3YXJkcyAgPHBtZUBnY2MuZ251Lm9yZz4KCglDb252ZXJ0IHRvIG5ldyBhdXRvdG9vbHMuCgkqIGFjY29uZmlnLmg6ICBVcGRhdGUgd2l0aCBjb3JyZWN0IG5hbWVzLgoJKiBjb25maWd1cmUuaG9zdCAoQVRPTUlDSVRZSCk6ICBSZW5hbWUgdG8gYXRvbWljaXR5X2luY2x1ZGVfZGlyLgoJKHFueDYuWzEyXSopOiAgJ3EnIGNvbWVzIGJlZm9yZSAncycsIG5vdCBhZnRlciAndycuCgkqIGNvbmZpZ3VyZS5pbjogIFVwZGF0ZS4gIFNwbGl0IGhhcmRjb2RlZCBjcm9zcy1jb25maWd1cnkgc2V0dGluZ3MKCW91dCB0by4uLgoJKiBjcm9zc2NvbmZpZy5tNDogIC4uLmhlcmUuICBOZXcgZmlsZS4gIENvbnRlbnRzIHVudG91Y2hlZC4KCSogYWNpbmNsdWRlLm00OiAgUmVvcmdhbml6ZSBhbmQgcmV3cml0ZSBhcyBuZWVkZWQuICBTcGxpdCBsYXJnZQoJY2h1bmtzIG91dCB0by4uLgoJKiBsaW5rYWdlLm00OiAgLi4uaGVyZS4gIE5ldyBmaWxlLiAgTWF0aCBhbmQgc3RkbGliIGxpbmthZ2UgdGVzdHMuCglDb250ZW50cyB1bnRvdWNoZWQuCgkqIHNjcmlwdHMvdGVzdHN1aXRlX2ZsYWdzLmluOiAgVXBkYXRlLgoKCSogTWFrZWZpbGUuYW06ICBSZW1vdmUgdW5uZWVkZWQgQVVUT01BS0VfT1BUSU9OUyBzZXR0aW5ncyBhbmQgb3RoZXIKCXZhcmlhYmxlcyAoYWxyZWFkeSBnZW5lcmF0ZWQgYnkgYXV0b21ha2UpLgoJKiBpbmNsdWRlL01ha2VmaWxlLmFtOiAgRGl0dG8uCgkqIGxpYm1hdGgvTWFrZWZpbGUuYW06ICBEaXR0by4KCSogbGlic3VwYysrL01ha2VmaWxlLmFtOiAgRGl0dG8uCgkqIHBvL01ha2VmaWxlLmFtOiAgRGl0dG8uCgkqIHNyYy9NYWtlZmlsZS5hbTogIERpdHRvLgoKCSogYWNsb2NhbC5tNDogIFJlZ2VuZXJhdGUgdXNpbmcgbmV3IHZlcnNpb25zLgoJKiBjb25maWcuaC5pbjogIERpdHRvLgoJKiBjb25maWd1cmU6ICBEaXR0by4KCSogTWFrZWZpbGUuaW46ICBEaXR0by4KCSogaW5jbHVkZS9NYWtlZmlsZS5pbjogIERpdHRvLgoJKiBsaWJtYXRoL01ha2VmaWxlLmluOiAgRGl0dG8uCgkqIGxpYnN1cGMrKy9NYWtlZmlsZS5pbjogIERpdHRvLgoJKiBwby9NYWtlZmlsZS5pbjogIERpdHRvLgoJKiBzcmMvTWFrZWZpbGUuaW46ICBEaXR0by4KCSogdGVzdHN1aXRlL01ha2VmaWxlLmluOiAgRGl0dG8uCgoyMDAzLTA4LTA0ICBQaGlsIEVkd2FyZHMgIDxwbWVAZ2NjLmdudS5vcmc+CgoJKiBwby9saWJzdGRjKysucG90OiAgUmUtZXh0cmFjdC9yZWdlbmVyYXRlLgoKMjAwMy0wOC0wNCAgUGhpbCBFZHdhcmRzICA8cG1lQGdjYy5nbnUub3JnPgoKCSogdGVzdHN1aXRlL01ha2VmaWxlLmFtIChERUpBVE9PTCxFWFBFQ1QsUlVOVEVTVCxSVU5URVNURkxBR1MpOgoJUmVtb3ZlIHVubmVlZGVkIHZhcmlhYmxlIGFzc2lnbm1lbnRzLiAgTGVhdmUgdGhlbSBmb3IgYXV0b21ha2UuCgkqIHRlc3RzdWl0ZS9saWIvbGlic3RkYysrLXYzLmV4cDogIFJlbmFtZS4uLgoJKiB0ZXN0c3VpdGUvbGliL2xpYnN0ZGMrKy5leHA6ICAuLi50byB0aGlzLiAgQWRqdXN0IGZ1bmN0aW9uIG5hbWVzCglhY2NvcmRpbmdseS4KCSogdGVzdHN1aXRlL2xpYnN0ZGMrKy12My5kZy9kZy5leHA6ICBSZW5hbWUuLi4KCSogdGVzdHN1aXRlL2xpYnN0ZGMrKy1kZy9ub3JtYWwuZXhwOiAgLi4udG8gdGhpcy4gIEFkanVzdCBmdW5jdGlvbgoJbmFtZXMgYWNjb3JkaW5nbHkuCgoyMDAzLTA4LTA0ICBQaGlsIEVkd2FyZHMgIDxwbWVAZ2NjLmdudS5vcmc+CgoJKiBkb2NzL2RveHlnZW4vZ3VpZGUuaHRtbDogIHJ1bl9kb3h5Z2VuIHVzZXMgYmFzaC4KCSogZG9jcy9kb3h5Z2VuL21haW5wYWdlLmh0bWw6ICBXZSdsbCBiZSBzaGlwcGluZyB0YWcgZmlsZXMuCgkqIGRvY3MvZG94eWdlbi9ydW5fZG94eWdlbjogIFR3ZWFrcyBhbmQgaW1wcm92ZW1lbnRzLgoJKiBkb2NzL2RveHlnZW4vdXNlci5jZmcuaW46ICBTZXQgR0VORVJBVEVfVEFHRklMRS4KCSogZG9jcy9odG1sL2luc3RhbGwuaHRtbDogIFVwZGF0ZSBhdXRvY29uZi9hdXRvbWFrZSByZXF1aXJlbWVudHMuCgkqIGRvY3MvaHRtbC90ZXN0Lmh0bWw6ICBBZGQgc2VjdGlvbiBkZXNjcmliaW5nIERlamFHTlUgc3VwcG9ydC4KCSogZG9jcy9odG1sLzE3X2ludHJvL2NvbmZkZXBzLmRvdDogIE5ldyBmaWxlLCBnZW5lcmF0ZXMuLi4KCSogZG9jcy9odG1sLzE3X2ludHJvL2NvbmZkZXBzLnBuZzogIC4uLnRoaXMgbmV3IGZpbGUuCgkqIGRvY3MvaHRtbC9NYWtlZmlsZTogIEdlbmVyYXRlZCBoZXJlLgoJKiBkb2NzL2h0bWwvMTdfaW50cm8vY29uZmlndXJ5Lmh0bWw6ICBOZXcgZmlsZS4KCjIwMDMtMDctMzEgIFBoaWwgRWR3YXJkcyAgPHBtZUBnY2MuZ251Lm9yZz4KCgkqIHRlc3RzdWl0ZS9saWIvbGlic3RkYysrLXYzLWRnLmV4cDogIFJlbmFtZS4uLgoJKiB0ZXN0c3VpdGUvbGliL2xpYnN0ZGMrKy12My5leHA6ICAuLi50byB0aGlzLgoJKiB0ZXN0c3VpdGUvbGlic3RkYysrLXYzLmRnL2RnLmV4cDogIE5vIHNwZWNpYWwgY2FzZSBuZWVkZWQgbm93LgoKMjAwMy0wNy0zMSAgRG91ZyBHcmVnb3IgIDxkZ3JlZ29yQGFwcGxlLmNvbT4KCglBZGQgdXNlciBzcGVjaWFsaXphdGlvbiB0ZXN0cy4KCSogdGVzdHN1aXRlLzIzX2NvbnRhaW5lcnMvZGVxdWUvMS5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvMjNfY29udGFpbmVycy9saXN0LzEuY2M6IE5ldy4KCSogdGVzdHN1aXRlLzIzX2NvbnRhaW5lcnMvbWFwLzEuY2M6IE5ldy4KCSogdGVzdHN1aXRlLzIzX2NvbnRhaW5lcnMvbXVsdGltYXAvMS5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvMjNfY29udGFpbmVycy9tdWx0aXNldC8xLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yM19jb250YWluZXJzL3NldC8xLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yM19jb250YWluZXJzL3ZlY3Rvci8xLmNjOiBOZXcuCgoyMDAzLTA3LTMxICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJUmVzaHVmZmxlIDIzX2NvbnRhaW5lcnMgdGVzdHN1aXRlLgoJKiAyM19jb250YWluZXJzL2FkYXB0b3JzLmNjLCBiaXRzZXRfY3Rvci5jYyxiaXRzZXRfbWVtYmVycy5jYywKCWJpdHNldF9zaGlmdC5jYywgZGVxdWVfY3Rvci5jYywgZGVxdWVfb3BlcmF0b3JzLmNjLAoJbGlzdF9jYXBhY2l0eS5jYywgbGlzdF9jdG9yLmNjLCBsaXN0X21vZGlmaWVycy5jYywgbGlzdF9vcGVyYXRvcnMuY2MsCgltYXBfaW5zZXJ0LmNjLCBtYXBfb3BlcmF0b3JzLmNjLCBtYXBfb3BlcmF0b3JzX25lZy5jYywgbXVsdGlzZXQuY2MsCglzZXRfb3BlcmF0b3JzX25lZy5jYywgdmVjdG9yX2Jvb2wuY2MsIHZlY3Rvcl9jYXBhY2l0eS5jYywKCXZlY3Rvcl9jdG9yLmNjLCB2ZWN0b3JfZWxlbWVudF9hY2Nlc3MuY2MsIHZlY3Rvcl9tb2RpZmllcnMuY2MsCgl2ZWN0b3JfcmVzaXplLmNjOiBTcGxpdCBpbnRvLi4uCgkqIDIzX2NvbnRhaW5lcnMvYml0c2V0L2NvbnMvMS5jYzogTmV3LgoJKiAyM19jb250YWluZXJzL2JpdHNldC9jb25zLzYyODIuY2M6IE5ldy4KCSogMjNfY29udGFpbmVycy9iaXRzZXQvY291bnQvNjEyNC5jYzogTmV3LgoJKiAyM19jb250YWluZXJzL2JpdHNldC9vcGVyYXRpb25zLzEuY2M6IE5ldy4KCSogMjNfY29udGFpbmVycy9iaXRzZXQvb3BlcmF0aW9ucy8yLmNjOiBOZXcuCgkqIDIzX2NvbnRhaW5lcnMvYml0c2V0L3Rlc3QvMS5jYzogTmV3LgoJKiAyM19jb250YWluZXJzL2JpdHNldC90b191bG9uZy8xLmNjOiBOZXcuCgkqIDIzX2NvbnRhaW5lcnMvZGVxdWUvY29ucy8xLmNjOiBOZXcuCgkqIDIzX2NvbnRhaW5lcnMvZGVxdWUvY29ucy8yLmNjOiBOZXcuCgkqIDIzX2NvbnRhaW5lcnMvZGVxdWUvb3BlcmF0b3JzLzEuY2M6IE5ldy4KCSogMjNfY29udGFpbmVycy9saXN0L2NhcGFjaXR5LzEuY2M6IE5ldy4KCSogMjNfY29udGFpbmVycy9saXN0L2NvbnMvMS5jYzogTmV3LgoJKiAyM19jb250YWluZXJzL2xpc3QvY29ucy8yLmNjOiBOZXcuCgkqIDIzX2NvbnRhaW5lcnMvbGlzdC9jb25zLzMuY2M6IE5ldy4KCSogMjNfY29udGFpbmVycy9saXN0L2NvbnMvNC5jYzogTmV3LgoJKiAyM19jb250YWluZXJzL2xpc3QvY29ucy81LmNjOiBOZXcuCgkqIDIzX2NvbnRhaW5lcnMvbGlzdC9jb25zLzYuY2M6IE5ldy4KCSogMjNfY29udGFpbmVycy9saXN0L2NvbnMvNy5jYzogTmV3LgoJKiAyM19jb250YWluZXJzL2xpc3QvY29ucy84LmNjOiBOZXcuCgkqIDIzX2NvbnRhaW5lcnMvbGlzdC9jb25zLzkuY2M6IE5ldy4KCSogMjNfY29udGFpbmVycy9saXN0L21vZGlmaWVycy8xLmNjOiBOZXcuCgkqIDIzX2NvbnRhaW5lcnMvbGlzdC9tb2RpZmllcnMvMi5jYzogTmV3LgoJKiAyM19jb250YWluZXJzL2xpc3QvbW9kaWZpZXJzLzMuY2M6IE5ldy4KCSogMjNfY29udGFpbmVycy9saXN0L29wZXJhdG9ycy8xLmNjOiBOZXcuCgkqIDIzX2NvbnRhaW5lcnMvbGlzdC9vcGVyYXRvcnMvMi5jYzogTmV3LgoJKiAyM19jb250YWluZXJzL2xpc3Qvb3BlcmF0b3JzLzMuY2M6IE5ldy4KCSogMjNfY29udGFpbmVycy9saXN0L29wZXJhdG9ycy80LmNjOiBOZXcuCgkqIDIzX2NvbnRhaW5lcnMvbWFwL2luc2VydC8xLmNjOiBOZXcuCgkqIDIzX2NvbnRhaW5lcnMvbWFwL29wZXJhdG9ycy8xLmNjOiBOZXcuCgkqIDIzX2NvbnRhaW5lcnMvbWFwL29wZXJhdG9ycy8xX25lZy5jYzogTmV3LgoJKiAyM19jb250YWluZXJzL211bHRpc2V0L2luc2VydC8xLmNjOiBOZXcuCgkqIDIzX2NvbnRhaW5lcnMvcHJpb3JpdHlfcXVldWUvbWVtYmVycy83MTYxLmNjOiBOZXcuCgkqIDIzX2NvbnRhaW5lcnMvcXVldWUvbWVtYmVycy83MTU3LmNjOiBOZXcuCgkqIDIzX2NvbnRhaW5lcnMvc2V0L29wZXJhdG9ycy8xX25lZy5jYzogTmV3LgoJKiAyM19jb250YWluZXJzL3N0YWNrL21lbWJlcnMvNzE1OC5jYzogTmV3LgoJKiAyM19jb250YWluZXJzL3ZlY3Rvci9ib29sLzEuY2M6IE5ldy4KCSogMjNfY29udGFpbmVycy92ZWN0b3IvYm9vbC82ODg2LmNjOiBOZXcuCgkqIDIzX2NvbnRhaW5lcnMvdmVjdG9yL2NhcGFjaXR5LzEuY2M6IE5ldy4KCSogMjNfY29udGFpbmVycy92ZWN0b3IvY2FwYWNpdHkvMi5jYzogTmV3LgoJKiAyM19jb250YWluZXJzL3ZlY3Rvci9jYXBhY2l0eS84MjMwLmNjOiBOZXcuCgkqIDIzX2NvbnRhaW5lcnMvdmVjdG9yL2NvbnMvMS5jYzogTmV3LgoJKiAyM19jb250YWluZXJzL3ZlY3Rvci9jb25zLzIuY2M6IE5ldy4KCSogMjNfY29udGFpbmVycy92ZWN0b3IvY29ucy8zLmNjOiBOZXcuCgkqIDIzX2NvbnRhaW5lcnMvdmVjdG9yL2NvbnMvNC5jYzogTmV3LgoJKiAyM19jb250YWluZXJzL3ZlY3Rvci9jb25zLzY1MTMuY2M6IE5ldy4KCSogMjNfY29udGFpbmVycy92ZWN0b3IvZWxlbWVudF9hY2Nlc3MvMS5jYzogTmV3LgoJKiAyM19jb250YWluZXJzL3ZlY3Rvci9tb2RpZmllcnMvMS5jYzogTmV3LgoJKiAyM19jb250YWluZXJzL3ZlY3Rvci9tb2RpZmllcnMvMi5jYzogTmV3LgoJKiAyM19jb250YWluZXJzL3ZlY3Rvci9yZXNpemUvMS5jYzogTmV3LgoKMjAwMy0wNy0zMSAgUmFpbmVyIE9ydGggIDxyb0BUZWNoRmFrLlVuaS1CaWVsZWZlbGQuREU+CgoJKiB0ZXN0c3VpdGUvdGhyZWFkL3B0aHJlYWQxLmNjOiBBZGQgYWxwaGEqLSotb3NmKiB0byBkZy1kbyBydW4sCglkZy1vcHRpb25zLgoJKiB0ZXN0c3VpdGUvdGhyZWFkL3B0aHJlYWQyLmNjOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlL3RocmVhZC9wdGhyZWFkMy5jYzogTGlrZXdpc2UuCgkqIHRlc3RzdWl0ZS90aHJlYWQvcHRocmVhZDQuY2M6IExpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvdGhyZWFkL3B0aHJlYWQ1LmNjOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlL3RocmVhZC9wdGhyZWFkNi5jYzogTGlrZXdpc2UuCgkqIHRlc3RzdWl0ZS90aHJlYWQvcHRocmVhZDctcm9wZS5jYzogTGlrZXdpc2UuCgoyMDAzLTA3LTMwICBQaGlsIEVkd2FyZHMgIDxwbWVAZ2NjLmdudS5vcmc+CgoJKiBpbmNsdWRlL2JpdHMvYysrY29uZmlnOiAgUGFydGlhbCByZXZlcnNpb24gKGNvbW1lbnQgcGxhY2VtZW50KSBvZgoJcHJldmlvdXMgcGF0Y2guCgoyMDAzLTA3LTMwICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL2JpdHMvYysrY29uZmlnIChfR0xJQkNYWF9GVUxMWV9DT01QTElBTlRfSEVBREVSUyk6IFJlbW92ZS4KCShfR0xJQkNYWF9OT19URU1QTEFURV9FWFBPUlQpOiBUbyBfR0xJQkNYWF9FWFBPUlRfVEVNUExBVEUuCgkoX0dMSUJDWFhfQVRfQVQpOiBSZW1vdmUuCgkoX19VU0VfTUFMTE9DKTogUmVtb3ZlLgoJKiBpbmNsdWRlL3N0ZC9zdGRfZnN0cmVhbS5oOiBNb2RpZnkuCgkqIGluY2x1ZGUvYml0cy9iYXNpY19pb3MuaDogU2FtZS4KCSogaW5jbHVkZS9iaXRzL3ZhbGFycmF5X2FycmF5Lmg6IFNhbWUuCgkqIGluY2x1ZGUvY19zdGQvc3RkX2NtYXRoLmg6IFNhbWUuCgkqIGluY2x1ZGUvY19zdGQvY21hdGgudGNjOiBTYW1lLgoJKiBpbmNsdWRlL3N0ZC9zdGRfdmVjdG9yLmg6IFNhbWUuCgkqIGluY2x1ZGUvc3RkL3N0ZF9zdHJpbmcuaDogU2FtZS4KCSogaW5jbHVkZS9zdGQvc3RkX3N0YWNrLmg6IFNhbWUuCgkqIGluY2x1ZGUvc3RkL3N0ZF9xdWV1ZS5oOiBTYW1lLgoJKiBpbmNsdWRlL3N0ZC9zdGRfbGlzdC5oOiBTYW1lLgoJKiBpbmNsdWRlL3N0ZC9zdGRfZGVxdWUuaDogU2FtZS4KCSogaW5jbHVkZS9zdGQvc3RkX3N0cmVhbWJ1Zi5oOiBTYW1lLgoJKiBpbmNsdWRlL3N0ZC9zdGRfc3N0cmVhbS5oOiBTYW1lLgoJKiBpbmNsdWRlL3N0ZC9zdGRfb3N0cmVhbS5oOiBTYW1lLgoJKiBpbmNsdWRlL3N0ZC9zdGRfaXN0cmVhbS5oOiBTYW1lLgoJKiBpbmNsdWRlL2JpdHMvdmFsYXJyYXlfYXJyYXkudGNjOiBTYW1lLCBmb3JtYXQuCgoJKiBpbmNsdWRlL2Mvc3RkX2NjdHlwZS5oOiBGaXggaW5jbHVkZSBndWFyZHMuCgkqIGluY2x1ZGUvYy9zdGRfY2Vycm5vLmg6IFNhbWUuCgkqIGluY2x1ZGUvYy9zdGRfY2Zsb2F0Lmg6IFNhbWUuCgkqIGluY2x1ZGUvYy9zdGRfY2xpbWl0cy5oOiBTYW1lLgoJKiBpbmNsdWRlL2Mvc3RkX2Nsb2NhbGUuaDogU2FtZS4KCSogaW5jbHVkZS9jL3N0ZF9jbWF0aC5oOiBTYW1lLgoJKiBpbmNsdWRlL2Mvc3RkX2NzZXRqbXAuaDogU2FtZS4KCSogaW5jbHVkZS9jL3N0ZF9jc2lnbmFsLmg6IFNhbWUuCgkqIGluY2x1ZGUvYy9zdGRfY3N0ZGFyZy5oOiBTYW1lLgoJKiBpbmNsdWRlL2Mvc3RkX2NzdGRkZWYuaDogU2FtZS4KCSogaW5jbHVkZS9jL3N0ZF9jc3RkaW8uaDogU2FtZS4KCSogaW5jbHVkZS9jL3N0ZF9jc3RkbGliLmg6IFNhbWUuCgkqIGluY2x1ZGUvYy9zdGRfY3N0cmluZy5oOiBTYW1lLgoJKiBpbmNsdWRlL2Mvc3RkX2N0aW1lLmg6IFNhbWUuCgkqIGluY2x1ZGUvYy9zdGRfY3djaGFyLmg6IFNhbWUuCgkqIGluY2x1ZGUvYy9zdGRfY3djdHlwZS5oOiBTYW1lLgoJKiBpbmNsdWRlL2Nfc3RkL2NtYXRoLnRjYzogU2FtZS4KCSogaW5jbHVkZS9jX3N0ZC9zdGRfY21hdGguaDogU2FtZS4KCjIwMDMtMDctMzAgIEdhd2FpbiBCb2x0b24gIDxncC5ib2x0b25AY29tcHV0ZXIub3JnPgoKCVBSIGxpYnN0ZGMrKy8xMTUwNC4KCSogaW5jbHVkZS9iaXRzL3N0bF90cmVlLmg6IFJlcGxhY2UgQy1zdHlsZSBjYXN0cyB3aXRoIEMrKy1zdHlsZQoJY2FzdHMuICBDaGFuZ2VzIHRvIGF2b2lkIGNhc3RpbmcgYXdheSBjb25zdG5lc3MuICBFbGltaW5hdGUKCV9SYl90cmVlX2Jhc2VfaXRlcmF0b3IgY2xhc3MuICBDaGFuZ2UgX1JiX3RyZWVfaXRlcmF0b3IgdG8gdXNlCglpbml0aWFsaXphdGlvbiBsaXN0cy4gIE1vdmUgb3V0IGltcGxlbWVudGF0aW9uIG9mIF9fYmxhY2tfY291bnQoKQoJdG8uLi4KCSogc3JjL3N0bF90cmVlLmNjOiAuLi5oZXJlIGFuZCByZW5hbWUgX1JiX3RyZWVfYmxhY2tfY291bnQoKS4KCVJlbmFtZV9SYl90cmVlX2Jhc2VfaXRlcmF0b3I6Ol9NX2luY3JlbWVudCgpIHRvCglfUmJfdHJlZV9pbmNyZW1lbnQgYW5kIF9SYl90cmVlX2Jhc2VfaXRlcmF0b3I6Ol9NX2RlY3JlbWVudCgpIHRvCglfUmJfdHJlZV9kZWNyZW1lbnQuCgkqIGNvbmZpZy9saW5rZXItbWFwLmdudTogQWRkIGFuZCBjaGFuZ2Ugc3ltYm9scyBoZXJlLgoKMjAwMy0wNy0zMCAgSm9uYXRoYW4gV2FrZWx5ICA8cmVkaUBnY2MuZ251Lm9yZz4KCgkqIGRvY3MvaHRtbC8yMl9sb2NhbGUvaG93dG8uaHRtbDogVXNlIGxvY2FsZTo6Y2xhc3NpYygpIGluc3RlYWQKCW9mIGxvY2FsZSgiQyIpLgoKMjAwMy0wNy0yOCAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogdGVzdHN1aXRlL3Rlc3RzdWl0ZV9ob29rcy5oOiBSZW1vdmUgbGlzdCBpbmNsdWRlLgoJKGZ1bmNfY2FsbGJhY2spOiBEZWZpbmUgYXMgdW5pcXVlIHR5cGUsIG5vdCBzdGQ6Omxpc3QuCglDaGFuZ2UgREVCVUdfQVNTRVJUIHRvIF9HTElCQ1hYX0FTU0VSVC4KCSogdGVzdHN1aXRlL2xpYnN0ZGMrKy12My5kZy9kZy5leHA6IFNhbWUuCgkqIHRlc3RzdWl0ZS9saWIvbGlic3RkYysrLXYzLWRnLmV4cCAobGlic3RkYysrLXYzLWluaXQpOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjNfY29udGFpbmVycy9iaXRzZXRfY3Rvci5jYzoKCSogdGVzdHN1aXRlLzE3X2ludHJvL2hlYWRlcl9jaXNvNjQ2LmNjOiBSZW1vdmUgREVCVUdfQVNTRVJULgoJKiB0ZXN0c3VpdGUvMThfc3VwcG9ydC9udW1lcmljX2xpbWl0cy5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL2FwcGVuZC9jaGFyLzEuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMV9zdHJpbmdzL2Jhc2ljX3N0cmluZy9hcHBlbmQvd2NoYXJfdC8xLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjFfc3RyaW5ncy9iYXNpY19zdHJpbmcvY29tcGFyZS9jaGFyLzEuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMV9zdHJpbmdzL2Jhc2ljX3N0cmluZy9jb21wYXJlL3djaGFyX3QvMS5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL2VsZW1lbnRfYWNjZXNzL2NoYXIvMS5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL2VsZW1lbnRfYWNjZXNzL2NoYXIvMi5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL2VsZW1lbnRfYWNjZXNzL2NoYXIvMy5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL2VsZW1lbnRfYWNjZXNzL3djaGFyX3QvMS5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL2VsZW1lbnRfYWNjZXNzL3djaGFyX3QvMi5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL2VsZW1lbnRfYWNjZXNzL3djaGFyX3QvMy5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL2ZpbmQvY2hhci8xLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjFfc3RyaW5ncy9iYXNpY19zdHJpbmcvZmluZC9jaGFyLzIuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMV9zdHJpbmdzL2Jhc2ljX3N0cmluZy9maW5kL2NoYXIvMy5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL2ZpbmQvd2NoYXJfdC8xLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjFfc3RyaW5ncy9iYXNpY19zdHJpbmcvZmluZC93Y2hhcl90LzIuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMV9zdHJpbmdzL2Jhc2ljX3N0cmluZy9maW5kL3djaGFyX3QvMy5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL2luc2VydC9jaGFyLzEuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMV9zdHJpbmdzL2Jhc2ljX3N0cmluZy9pbnNlcnQvY2hhci8yLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjFfc3RyaW5ncy9iYXNpY19zdHJpbmcvaW5zZXJ0L3djaGFyX3QvMS5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL2luc2VydC93Y2hhcl90LzIuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMV9zdHJpbmdzL2Jhc2ljX3N0cmluZy9pbnNlcnRlcnNfZXh0cmFjdG9ycy9jaGFyLzEuY2M6CgkqIHRlc3RzdWl0ZS8yMV9zdHJpbmdzL2Jhc2ljX3N0cmluZy9pbnNlcnRlcnNfZXh0cmFjdG9ycy9jaGFyLzQuY2M6CgkqIHRlc3RzdWl0ZS8yMV9zdHJpbmdzL2Jhc2ljX3N0cmluZy9pbnNlcnRlcnNfZXh0cmFjdG9ycy9jaGFyLzUuY2M6CgkqIHRlc3RzdWl0ZS8yMV9zdHJpbmdzL2Jhc2ljX3N0cmluZy9pbnNlcnRlcnNfZXh0cmFjdG9ycy9jaGFyLzYuY2M6CgkqIHRlc3RzdWl0ZS8yMV9zdHJpbmdzL2Jhc2ljX3N0cmluZy9pbnNlcnRlcnNfZXh0cmFjdG9ycy9jaGFyLzcuY2M6CgkqIHRlc3RzdWl0ZS8yMV9zdHJpbmdzL2Jhc2ljX3N0cmluZy9pbnNlcnRlcnNfZXh0cmFjdG9ycy93Y2hhcl90LzEuY2M6CgkqIHRlc3RzdWl0ZS8yMV9zdHJpbmdzL2Jhc2ljX3N0cmluZy9pbnNlcnRlcnNfZXh0cmFjdG9ycy93Y2hhcl90LzQuY2M6CgkqIHRlc3RzdWl0ZS8yMV9zdHJpbmdzL2Jhc2ljX3N0cmluZy9pbnNlcnRlcnNfZXh0cmFjdG9ycy93Y2hhcl90LzUuY2M6CgkqIHRlc3RzdWl0ZS8yMV9zdHJpbmdzL2Jhc2ljX3N0cmluZy9pbnNlcnRlcnNfZXh0cmFjdG9ycy93Y2hhcl90LzYuY2M6CgkqIHRlc3RzdWl0ZS8yMV9zdHJpbmdzL2Jhc2ljX3N0cmluZy9pbnNlcnRlcnNfZXh0cmFjdG9ycy93Y2hhcl90LzcuY2M6CgkqIHRlc3RzdWl0ZS8yMV9zdHJpbmdzL2Jhc2ljX3N0cmluZy9vcGVyYXRvcnMvY2hhci8xLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjFfc3RyaW5ncy9iYXNpY19zdHJpbmcvb3BlcmF0b3JzL2NoYXIvMi5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL29wZXJhdG9ycy93Y2hhcl90LzEuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMV9zdHJpbmdzL2Jhc2ljX3N0cmluZy9vcGVyYXRvcnMvd2NoYXJfdC8yLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjFfc3RyaW5ncy9iYXNpY19zdHJpbmcvcmVwbGFjZS9jaGFyLzEuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMV9zdHJpbmdzL2Jhc2ljX3N0cmluZy9yZXBsYWNlL3djaGFyX3QvMS5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL3JmaW5kL2NoYXIvMS5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL3JmaW5kL2NoYXIvMi5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL3JmaW5kL2NoYXIvMy5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL3JmaW5kL3djaGFyX3QvMS5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL3JmaW5kL3djaGFyX3QvMi5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL3JmaW5kL3djaGFyX3QvMy5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL3N1YnN0ci9jaGFyLzEuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMV9zdHJpbmdzL2Jhc2ljX3N0cmluZy9zdWJzdHIvd2NoYXJfdC8xLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjNfY29udGFpbmVycy9iaXRzZXRfY3Rvci5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIzX2NvbnRhaW5lcnMvYml0c2V0X3NoaWZ0LmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjNfY29udGFpbmVycy92ZWN0b3JfY3Rvci5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIzX2NvbnRhaW5lcnMvdmVjdG9yX2VsZW1lbnRfYWNjZXNzLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjRfaXRlcmF0b3JzL2lzdHJlYW1idWZfaXRlcmF0b3IuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yNF9pdGVyYXRvcnMvaXRlcmF0b3IuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yNF9pdGVyYXRvcnMvb3N0cmVhbWJ1Zl9pdGVyYXRvci5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzI1X2FsZ29yaXRobXMvbG93ZXJfYm91bmQuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yNl9udW1lcmljcy9jb21wbGV4X2luc2VydGVyc19leHRyYWN0b3JzLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfaXN0cmVhbS9leHRyYWN0b3JzX2FyaXRobWV0aWMvY2hhci8wMS5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2lzdHJlYW0vZXh0cmFjdG9yc19hcml0aG1ldGljL2NoYXIvMDIuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19pc3RyZWFtL2V4dHJhY3RvcnNfYXJpdGhtZXRpYy9jaGFyLzAzLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfaXN0cmVhbS9leHRyYWN0b3JzX2FyaXRobWV0aWMvY2hhci8wNi5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2lzdHJlYW0vZXh0cmFjdG9yc19hcml0aG1ldGljL2NoYXIvMDcuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19pc3RyZWFtL2V4dHJhY3RvcnNfYXJpdGhtZXRpYy9jaGFyLzA4LmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfaXN0cmVhbS9leHRyYWN0b3JzX2FyaXRobWV0aWMvY2hhci8wOS5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2lzdHJlYW0vZXh0cmFjdG9yc19hcml0aG1ldGljL2NoYXIvMTAuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19vc3RyZWFtL2luc2VydGVyc19hcml0aG1ldGljL2NoYXIvMS5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX29zdHJlYW0vaW5zZXJ0ZXJzX2FyaXRobWV0aWMvd2NoYXJfdC8xLmNjOgoJU2FtZS4KCjIwMDMtMDctMjggIFBoaWwgRWR3YXJkcyAgPHBtZUBnY2MuZ251Lm9yZz4KCgkqIGRvY3MvZG94eWdlbi91c2VyLmNmZy5pbiwgZG9jcy9odG1sL2FiaS50eHQsIGRvY3MvaHRtbC9kZWJ1Zy5odG1sLAoJZG9jcy9odG1sL3Rlc3QuaHRtbCwgZG9jcy9odG1sLzE3X2ludHJvL2hlYWRlcnNfY2MudHh0LAoJZG9jcy9odG1sLzE3X2ludHJvL2hvd3RvLmh0bWwsIGRvY3MvaHRtbC9leHQvaG93dG8uaHRtbDogIENoYW5nZQoJR0xJQkNQUCB0byBHTElCQ1hYIChhbmQgZXhwbGFpbiBhcyBuZWVkZWQpLgoKMjAwMy0wNy0yOCAgUGhpbCBFZHdhcmRzICA8cG1lQGdjYy5nbnUub3JnPgoKCSogUkVBRE1FOiAgVXBkYXRlLgoKMjAwMy0wNy0yOCAgUGhpbCBFZHdhcmRzICA8cG1lQGdjYy5nbnUub3JnPgoKCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tZXNzYWdlcy9tZW1iZXJzL2NoYXIvMS5jYywKCXRlc3RzdWl0ZS8yMl9sb2NhbGUvbWVzc2FnZXMvbWVtYmVycy9jaGFyLzIuY2MsCgl0ZXN0c3VpdGUvMjJfbG9jYWxlL21lc3NhZ2VzL21lbWJlcnMvY2hhci8zLmNjLAoJdGVzdHN1aXRlLzIyX2xvY2FsZS9tZXNzYWdlc19ieW5hbWUvMS5jYzogIFVwZGF0ZSBjb21tZW50IHJlZ2FyZGluZwoJdGhlIG9yaWdpbiBvZiBMT0NBTEVESVIuCgkqIHRlc3RzdWl0ZS9saWIvbGlic3RkYysrLXYzLmV4cDogIE5ldyBmaWxlLgoKMjAwMy0wNy0yNSAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9iaXRzL2NoYXJfdHJhaXRzLmg6IFVwZGF0ZSBjb3B5cmlnaHQsIHR3ZWFrLgoJKiB0ZXN0c3VpdGUvZXh0L3BvZF9jaGFyX3RyYWl0cy5jYzogRXhwbGljaXRseSBxdWFsaWZ5IG5hbWVzcGFjZQoJc3RkIHR5cGVzLgoKMjAwMy0wNy0yNCAgTWF0dCBBdXN0ZXJuICA8YXVzdGVybkBhcHBsZS5jb20+CgoJKiAvaW5jbHVkZS9iaXRzL2NoYXJfdHJhaXRzLmggKGNsYXNzIGNoYXJfdHJhaXRzKTogUHV0IGFsbCB0aGUKCXJlYWwgd29yayBpbnRvIHRoZSBuZXcgY2xhc3MgdGVtcGxhdGUgX19nbnVfY3h4OjpjaGFyX3RyYWl0cy4KCUdhdmUgZ2VuZXJpYyBkZWZpbml0aW9ucyBmb3IgbWVtYmVyIGZ1bmN0aW9ucy4gIFR5cGVzIGFyZSB0YWtlbgoJZnJvbSB0aGUgbmV3IGNsYXNzIHRlbXBsYXRlIF9fZ251X2N4eDo6X0NoYXJfdHlwZXMuCgkqIHRlc3RzdWl0ZS8yMV9zdHJpbmdzL2NoYXJfdHJhaXRzL3JlcXVpcmVtZW50cy9zaG9ydC8xLmNjOiBOZXcKCWZpbGUuICBUZXN0IG9mIHN0ZDo6Y2hhcl90cmFpdHM8c2hvcnQ+LCB3aGljaCBzZXJ2ZXMgYXMgYSB0ZXN0IG9mCgl0aGUgY2hhcl90cmFpdHMgcHJpbWFyeSB0ZW1wbGF0ZS4KCjIwMDMtMDctMjQgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIHRlc3RzdWl0ZS8qOiBDaGFuZ2UgX19nbnVfY3h4X3Rlc3QgdG8gX19nbnVfdGVzdC4KCjIwMDMtMDctMjQgIE5hdGhhbiBNeWVycyAgPG5jbS1ub3NwYW1AY2FudHJpcC5vcmc+CgoJKiB0ZXN0c3VpdGUvMjNfY29udGFpbmVycy9tYXBfb3BlcmF0b3JzLmNjOiBDb25mb3JtIHRvCgljb250YWluZXIgcmVxdWlyZW1lbnQgYXMgdmFsdWUgbXVzdCBiZSBBc3NpZ25hYmxlLgoKMjAwMy0wNy0yMyAgQWxleGFuZHJlIE9saXZhICA8YW9saXZhQHJlZGhhdC5jb20+CgoJKiBhY2luY2x1ZGUubTQgKEdMSUJDWFhfRU5BQkxFX1BDSCk6IFJld29yayB0ZXN0IHN1Y2ggdGhhdCBpdAoJdGVzdHMgbm90IG9ubHkgZ2VuZXJhdGlvbiBvZiBwY2ggZmlsZXMsIGJ1dCBhbHNvIHRoZWlyIHVzZS4KCSogYWNsb2NhbC5tNCwgY29uZmlndXJlOiBSZWJ1aWx0LgoKMjAwMy0wNy0yMyAgU3RldmUgRWxsY2V5ICA8c2plQGN1cC5ocC5jb20+CgoJKiBjb25maWcvY3B1L2hwcGEvYXRvbWljaXR5Lmg6IENoYW5nZQoJX0dMSUJDWFhfSU5TVF9HTElCQ1hYX0FUT01JQ0lUWV9MT0NLIHRvIF9HTElCQ1hYX0lOU1RfQVRPTUlDSVRZX0xPQ0sKCXRvIG1hdGNoIG1pc2MtaW5zdC5jYwoKMjAwMy0wNy0yMyAgU3RldmUgRWxsY2V5ICA8c2plQGN1cC5ocC5jb20+CgoJKiBpbmNsdWRlL2Nfc3RkL2NtYXRoLnRjYzogVXNlIF9HTElCQ1hYXyBwcmVmaXggb24gZmlsZSBndWFyZC4KCSogaW5jbHVkZS9jX3N0ZC9zdGRfY2N0eXBlLmg6IERpdHRvLgoJKiBpbmNsdWRlL2Nfc3RkL3N0ZF9jZXJybm8uaDogRGl0dG8uCgkqIGluY2x1ZGUvY19zdGQvc3RkX2NmbG9hdC5oOiBEaXR0by4KCSogaW5jbHVkZS9jX3N0ZC9zdGRfY2xpbWl0cy5oOiBEaXR0by4KCSogaW5jbHVkZS9jX3N0ZC9zdGRfY2xvY2FsZS5oOiBEaXR0by4KCSogaW5jbHVkZS9jX3N0ZC9zdGRfY21hdGguaDogRGl0dG8uCgkqIGluY2x1ZGUvY19zdGQvc3RkX2NzZXRqbXAuaDogRGl0dG8uCgkqIGluY2x1ZGUvY19zdGQvc3RkX2NzaWduYWwuaDogRGl0dG8uCgkqIGluY2x1ZGUvY19zdGQvc3RkX2NzdGRhcmcuaDogRGl0dG8uCgkqIGluY2x1ZGUvY19zdGQvc3RkX2NzdGRkZWYuaDogRGl0dG8uCgkqIGluY2x1ZGUvY19zdGQvc3RkX2NzdGRpby5oOiBEaXR0by4KCSogaW5jbHVkZS9jX3N0ZC9zdGRfY3N0ZGxpYi5oOiBEaXR0by4KCSogaW5jbHVkZS9jX3N0ZC9zdGRfY3N0cmluZy5oOiBEaXR0by4KCSogaW5jbHVkZS9jX3N0ZC9zdGRfY3RpbWUuaDogRGl0dG8uCgkqIGluY2x1ZGUvY19zdGQvc3RkX2N3Y2hhci5oOiBEaXR0by4KCSogaW5jbHVkZS9jX3N0ZC9zdGRfY3djdHlwZS5oOiBEaXR0by4KCSogaW5jbHVkZS9zdGQvc3RkX2FsZ29yaXRobS5oOiBEaXR0by4KCSogaW5jbHVkZS9zdGQvc3RkX2JpdHNldC5oOiBEaXR0by4KCSogaW5jbHVkZS9zdGQvc3RkX2NvbXBsZXguaDogRGl0dG8uCgkqIGluY2x1ZGUvc3RkL3N0ZF9kZXF1ZS5oOiBEaXR0by4KCSogaW5jbHVkZS9zdGQvc3RkX2ZzdHJlYW0uaDogRGl0dG8uCgkqIGluY2x1ZGUvc3RkL3N0ZF9mdW5jdGlvbmFsLmg6IERpdHRvLgoJKiBpbmNsdWRlL3N0ZC9zdGRfaW9tYW5pcC5oOiBEaXR0by4KCSogaW5jbHVkZS9zdGQvc3RkX2lvcy5oOiBEaXR0by4KCSogaW5jbHVkZS9zdGQvc3RkX2lvc2Z3ZC5oOiBEaXR0by4KCSogaW5jbHVkZS9zdGQvc3RkX2lvc3RyZWFtLmg6IERpdHRvLgoJKiBpbmNsdWRlL3N0ZC9zdGRfaXN0cmVhbS5oOiBEaXR0by4KCSogaW5jbHVkZS9zdGQvc3RkX2l0ZXJhdG9yLmg6IERpdHRvLgoJKiBpbmNsdWRlL3N0ZC9zdGRfbGltaXRzLmg6IERpdHRvLgoJKiBpbmNsdWRlL3N0ZC9zdGRfbGlzdC5oOiBEaXR0by4KCSogaW5jbHVkZS9zdGQvc3RkX2xvY2FsZS5oOiBEaXR0by4KCSogaW5jbHVkZS9zdGQvc3RkX21hcC5oOiBEaXR0by4KCSogaW5jbHVkZS9zdGQvc3RkX21lbW9yeS5oOiBEaXR0by4KCSogaW5jbHVkZS9zdGQvc3RkX251bWVyaWMuaDogRGl0dG8uCgkqIGluY2x1ZGUvc3RkL3N0ZF9vc3RyZWFtLmg6IERpdHRvLgoJKiBpbmNsdWRlL3N0ZC9zdGRfcXVldWUuaDogRGl0dG8uCgkqIGluY2x1ZGUvc3RkL3N0ZF9zZXQuaDogRGl0dG8uCgkqIGluY2x1ZGUvc3RkL3N0ZF9zc3RyZWFtLmg6IERpdHRvLgoJKiBpbmNsdWRlL3N0ZC9zdGRfc3RhY2suaDogRGl0dG8uCgkqIGluY2x1ZGUvc3RkL3N0ZF9zdGRleGNlcHQuaDogRGl0dG8uCgkqIGluY2x1ZGUvc3RkL3N0ZF9zdHJlYW1idWYuaDogRGl0dG8uCgkqIGluY2x1ZGUvc3RkL3N0ZF9zdHJpbmcuaDogRGl0dG8uCgkqIGluY2x1ZGUvc3RkL3N0ZF91dGlsaXR5Lmg6IERpdHRvLgoJKiBpbmNsdWRlL3N0ZC9zdGRfdmFsYXJyYXkuaDogRGl0dG8uCgkqIGluY2x1ZGUvc3RkL3N0ZF92ZWN0b3IuaDogRGl0dG8uCgoyMDAzLTA3LTIyICBEb3VnIEdyZWdvciAgPGRncmVnb3JAYXBwbGUuY29tPgoKCSogaW5jbHVkZS9iaXRzL2Jhc2ljX3N0cmluZy5oIChiYXNpY19zdHJpbmc6Omluc2VydCk6IERlcHJlY2F0ZQoJR05VIGV4dGVuc2lvbi4KCjIwMDMtMDctMjEgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIHNjcmlwdHMvdGVzdHN1aXRlX2ZsYWdzLmluICgtLWJ1aWxkLWluY2x1ZGVzKTogUmVtb3ZlIGV4dHJhbmVvdXMKCXBhdGhzIGZvciBsaWJpby4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2lzdHJlYW0vc2VudHJ5L2NoYXIvMzk4My1mc3RyZWFtLmNjCgkodGVzdDAzKTogSW5jbHVkZSB0eXBlaW5mbyBmb3IgYmFkX2Nhc3QuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19vc3RyZWFtL3NlbnRyeS9jaGFyLzM5ODMtc3N0cmVhbS5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX29zdHJlYW0vc2VudHJ5L2NoYXIvMzk4My1mc3RyZWFtLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfaXN0cmVhbS9zZW50cnkvY2hhci8zOTgzLXNzdHJlYW0uY2M6IFNhbWUuCgoyMDAzLTA3LTIxICBEb3VnIEdyZWdvciAgPGRncmVnb3JAYXBwbGUuY29tPgoKCSogaW5jbHVkZS9iaXRzL2Jvb3N0X2NvbmNlcHRfY2hlY2suaDoKCShfRXF1YWxpdHlDb21wYXJhYmxlQ29uY2VwdDo6X19jb25zdHJhaW50cyk6IFJlbW92ZSAhPSBmcm9tIHRoZQoJbGlzdCBvZiBjb25zdHJhaW50czsgaXQgaXMgbm90IGxpc3RlZCBpbiBUYWJsZSAyOCBvZiB0aGUgQysrOTgKCXN0YW5kYXJkLgoKMjAwMy0wNy0xOCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogY29uZmlnL2FiaS9zcGFyYy1saW51eC1nbnUvYmFzZWxpbmVfc3ltYm9scy50eHQ6IE5ldyBmaWxlLgoJKiBjb25maWcvYWJpL21pcHMtbGludXgtZ251L2Jhc2VsaW5lX3N5bWJvbHMudHh0OiBOZXcgZmlsZS4KCSogY29uZmlnL2FiaS9ocHBhLWxpbnV4LWdudS9iYXNlbGluZV9zeW1ib2xzLnR4dDogTmV3IGZpbGUuCgkqIGNvbmZpZy9hYmkveDg2XzY0LWxpbnV4LWdudS9iYXNlbGluZV9zeW1ib2xzLnR4dDogUmVnZW5lcmF0ZWQuCgoyMDAzLTA3LTE3ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiBjb25maWcvbGlua2VyLW1hcC5nbnU6IEFkZCBfX21vbmV5cHVuY3RfY2FjaGUsIF9fdGltZXB1bmN0X2NhY2hlLgoJKiBjb25maWcvbG9jYWxlL2dlbmVyaWMvbWVzc2FnZXNfbWVtYmVycy5oOiBUd2Vha3MuCgkqIGNvbmZpZy9sb2NhbGUvZ2VuZXJpYy9tb25ldGFyeV9tZW1iZXJzLmNjCgkobW9uZXlwdW5jdDo6X01faW5pdGlhbGl6ZV9tb25leXB1bmN0KTogVXNlIGNhY2hlLgoJKG1vbmV5cHVuY3Q6On5tb25leXB1bmN0KTogRGVsZXRlIGNhY2hlLgoJKiBjb25maWcvbG9jYWxlL2dlbmVyaWMvdGltZV9tZW1iZXJzLmNjOgoJKF9fdGltZXB1bmN0OjpfTV9pbml0aWFsaXplX3RpbWVwdW5jdCk6IFVzZSBjYWNoZS4KCSogY29uZmlnL2xvY2FsZS9nZW5lcmljL3RpbWVfbWVtYmVycy5oOgoJKF9fdGltZXB1bmN0Ojp+X190aW1lcHVuY3QpOiBEZWxldGUgY2FjaGUuCgkoX190aW1lcHVuY3Q6Ol9fdGltZXB1bmN0KTogU2V0IGNhY2hlLgoJKiBjb25maWcvbG9jYWxlL2dudS9tZXNzYWdlc19tZW1iZXJzLmg6IFR3ZWFrcy4KCSogY29uZmlnL2xvY2FsZS9nbnUvbW9uZXRhcnlfbWVtYmVycy5jYzoKCShtb25leXB1bmN0OjpfTV9pbml0aWFsaXplX21vbmV5cHVuY3QpOiBVc2UgY2FjaGUuCgkobW9uZXlwdW5jdDo6fm1vbmV5cHVuY3QpOiBEZWxldGUgY2FjaGUuCgkqIGNvbmZpZy9sb2NhbGUvZ251L3RpbWVfbWVtYmVycy5jYzoKCShfX3RpbWVwdW5jdDo6X01faW5pdGlhbGl6ZV90aW1lcHVuY3QpOiBVc2UgY2FjaGUuCgkqIGNvbmZpZy9sb2NhbGUvZ251L3RpbWVfbWVtYmVycy5oOgoJKF9fdGltZXB1bmN0Ojp+X190aW1lcHVuY3QpOiBEZWxldGUgY2FjaGUuCgkoX190aW1lcHVuY3Q6Ol9fdGltZXB1bmN0KTogU2V0IGNhY2hlLgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy5oIChfX3RpbWVwdW5jdF9jYWNoZSk6IE5ldy4KCShfX21vbmV5cHVuY3RfY2FjaGUpOiBOZXcuCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLnRjYzogVHdlYWsuCgkqIHNyYy9sb2NhbGUuY2MgKF9fdGltZXB1bmN0OjpfU190aW1lem9uZXMpOiBBZGp1c3QgZm9yIGNhY2hlLgoJKiBzcmMvbG9jYWxlLWluc3QuY2M6IEluc3RhbnRpYXRlIGNhY2hlcy4KCSogc3JjL2dsb2JhbHMuY2M6IEFkZCAiQyIgY2FjaGVzLgoJKiBzcmMvbG9jYWxlbmFtZS5jYzogVXNlIGV4dGVybmFsICJDIiBjYWNoZXMuCgoyMDAzLTA3LTE3ICBQaGlsIEVkd2FyZHMgIDxwbWVAZ2NjLmdudS5vcmc+CgoJKiBkb2NzL2RveHlnZW4vZ3VpZGUuaHRtbDogIEZpeCB0eXBvLgoKMjAwMy0wNy0xNiAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9leHQvcG9kX2NoYXJfdHJhaXRzLmg6IEFkZCBzdGF0ZSB0ZW1wbGF0ZSBhcmd1bWVudC4KCjIwMDMtMDctMTYgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLmggKF9fbnVtX2Jhc2U6Ol9TX2F0b21zX2luKTogQWRkIC0reFguCgkobnVtX2dldDo6X01fY29udmVydF9pbnQpOiBUbyBfTV9pbnNlcnRfaW50LgoJKG51bV9nZXQ6Ol9NX2NvbnZlcnRfZmxvYXQpOiBUbyBfTV9pbnNlcnRfZmxvYXQuCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLnRjYyAobnVtX2dldDo6X01fZXh0cmFjdF9mbG9hdCk6CglVc2UgY2FjaGVzIGZvciBjdHlwZSwgbnVtX2dldC4KCShudW1fZ2V0OjpfTV9leHRyYWN0X2ludCk6IFNhbWUuCgkobnVtX2dldDo6Z2V0KGJvb2wpKTogU2FtZS4KCShfX3ZlcmlmeV9ncm91cGluZyk6IFVzZSBzaXplX3QuCgkqIHNyYy9sb2NhbGUtaW5zdC5jYzogVXBkYXRlLgoJKiBzcmMvbG9jYWxlLmNjOiBBZGp1c3QgX1NfYXRvbXNfaW4uCgoyMDAzLTA3LTE2ICBQaGlsIEVkd2FyZHMgIDxwbWVAZ2NjLmdudS5vcmc+CgoJKiBkb2NzL2RveHlnZW4vbWFpbnBhZ2UuaHRtbDogIE1vdmUgYnVpbGRpbmcvd3JpdGluZyBpbnN0cnVjdGlvbnMuLi4KCSogZG9jcy9kb3h5Z2VuL2d1aWRlLmh0bWw6ICAuLi50byBoZXJlLiAgTmV3IGZpbGUuCgoyMDAzLTA3LTE2ICBKb25hdGhhbiBXYWtlbHkgIDxyZWRpQGdjYy5nbnUub3JnPgoKCSogZG9jcy9odG1sL2V4dC9ob3d0by5odG1sOiBVcGRhdGUgVVJMIGZvciBTR0kgU1RMIGRvY3MuCgkqIGRvY3MvaHRtbC9mYXEvaW5kZXguaHRtbDogU2FtZS4KCSogZG9jcy9odG1sL2ZhcS9pbmRleC50eHQ6IFJlZ2VuZXJhdGUuCgoyMDAzLTA3LTE2ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCVBSIGxpYnN0ZGMrKy8xMTUyOAoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy50Y2MgKG1vbmV5X2dldDo6ZG9fZ2V0KToKCVN0cmlwIG9ubHkgX2xlYWRpbmdfIHplcm9zLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL21vbmV5X2dldC9nZXQvY2hhci8xMTUyOC5jYzogQWRkLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL21vbmV5X2dldC9nZXQvd2NoYXJfdC8xMTUyOC5jYzogQWRkLgoKMjAwMy0wNy0xNiAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoKCSogaW5jbHVkZS9leHQvaGFzaF9tYXAgKGNsYXNzIGhhc2hfbXVsdGltYXApOiBSZW1vdmUgZXh0cmEKCXNlbWljb2xvbnMgZnJvbSBfX2dsaWJjeHhfY2xhc3NfcmVxdWlyZXMzIGVudHJpZXMuCgkqIGluY2x1ZGUvZXh0L2hhc2hfc2V0IChjbGFzcyBoYXNoX3NldCk6IERpdHRvLgoJKGNsYXNzIGhhc2hfbXVsdGlzZXQpOiBEaXR0by4KCjIwMDMtMDctMTUgIFBldHVyIFJ1bm9sZnNzb24gIDxwZXR1cnIwMkBydS5pcz4KCgkqIGluY2x1ZGUvYml0cy9jaGFyX3RyYWl0cy5oIChjaGFyX3RyYWl0czx3Y2hhcl90Pjo6bW92ZSk6CglDaGFuZ2UgbGFzdCBwYXJhbWV0ZXIgZnJvbSBpbnRfdHlwZSB0byBzaXplX3QuCgoyMDAzLTA3LTE1ICBKZXJyeSBRdWlubiAgPGpscXVpbm5Ab3B0b25saW5lLm5ldD4KCgkqIGluY2x1ZGUvYml0cy9zdGxfYWxnby5oIChpbmNsdWRlcywgc2V0X3VuaW9uLCBzZXRfaW50ZXJzZWN0aW9uLAoJc2V0X2RpZmZlcmVuY2UsIHNldF9zeW1tZXRyaWNfZGlmZmVyZW5jZSwgbWF4X2VsZW1lbnQsIG1pbl9lbGVtZW50LAoJbmV4dF9wZXJtdXRhdGlvbiwgcHJldl9wZXJtdXRhdGlvbiwgZmluZF9maXJzdF9vZiwgZmluZF9lbmQpOgoJRG9jdW1lbnQuCgkqIGluY2x1ZGUvYml0cy9zdGxfYWxnb2Jhc2UuaCAoY29weSxjb3B5X2JhY2t3YXJkKTogIENsYXJpZnkgb3ZlcmxhcAoJcmVzdHJpY3Rpb25zIGluIGRvY3MuCgkqIGluY2x1ZGUvYml0cy9zdGxfaGVhcC5oIChwdXNoX2hlYXAsIHBvcF9oZWFwLCBtYWtlX2hlYXAsIHNvcnRfaGVhcCk6CglEb2N1bWVudC4KCSogZG9jcy9kb3h5Z2VuL2RveHlncm91cHMuY2MgKHNldG9wZXJhdGlvbnMpOiAgTmV3IGdyb3VwLgoKMjAwMy0wNy0xNSAgSmVycnkgUXVpbm4gIDxqbHF1aW5uQG9wdG9ubGluZS5uZXQ+CgoJKiBpbmNsdWRlL2JpdHMvYmFzaWNfc3RyaW5nLmg6ICBEb2N1bWVudCBwdWJsaWMgZnVuY3Rpb25zLgoJKiBkb2NzL2RveHlnZW4vVE9ETzogIFVwZGF0ZSBjMjEgdG9kby4KCjIwMDMtMDctMTUgIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCSogaW5jbHVkZS9iaXRzL3N0bF9saXN0Lmg6ICBEb2N1bWVudCBtb3JlIGZ1bmN0aW9ucy4KCSogZG9jcy9kb3h5Z2VuL1RPRE86ICBVcGRhdGUgYzIzIHRvZG8uCgoyMDAzLTA3LTE0ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogY29uZmlnL2xvY2FsZS9nbnUvY19sb2NhbGUuaCAoX19jb252ZXJ0X2Zyb21fdik6IE9uZSBtb3JlCglxdWFsaWZpY2F0aW9uLgoKMjAwMy0wNy0xNCAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIGluY2x1ZGUvYml0cy9zdGxfdGVtcGJ1Zi5oOiBRdWFsaWZ5IGZyZWUgd2l0aCBzdGQ6Oi4KCSogc3JjL2xvY2FsZS5jYzogSW5jbHVkZSA8Y3N0ZGxpYj4sIHF1YWxpZnkgZ2V0ZW52LgoKMjAwMy0wNy0xNCAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIGNvbmZpZy9sb2NhbGUvZ251L2NfbG9jYWxlLmggKF9fY29udmVydF9mcm9tX3YpOiBJbmNsdWRlCgk8Y3N0ZGlvPi4gUXVhbGlmeSBuYW1lcy4KCSogY29uZmlnL2xvY2FsZS9nZW5lcmljL2NfbG9jYWxlLmggKF9fY29udmVydF9mcm9tX3YpOiBEaXR0by4KCjIwMDMtMDctMTQgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgkgICAgTmF0aGFuIEMuIE15ZXJzICA8bmNtLW5vc3BhbUBjYW50cmlwLm9yZz4KCglQUiBsaWJzdGRjKysvMTEzNzgKCSogaW5jbHVkZS9zdGQvc3RkX2ZzdHJlYW0uaCAoeHNwdXRuKTogRGVjbGFyZSBvbmx5LgoJKiBpbmNsdWRlL2JpdHMvZnN0cmVhbS50Y2MgKHhzcHV0bik6IERlZmluZSwgb3B0aW1pemUgZm9yIHRoZQoJYWx3YXlzX25vY29udigpIGNhc2U6IHdoZW4gX19uIGlzIHN1ZmZpY2llbnRseSBsYXJnZSBmbHVzaAoJdGhlIGJ1ZmZlciBhbmQgaXNzdWUgYSBkaXJlY3Qgd3JpdGUsIGlmIHBvc3NpYmxlIGNvbWJpbmluZyB0aGUKCXR3byB3aXRoIHdyaXRldiBpbiBfX2Jhc2ljX2ZpbGU8Pjo6eHNwdXRuXzIuCgkqIGNvbmZpZy9pby9iYXNpY19maWxlX3N0ZGlvLmggKF9fYmFzaWNfZmlsZTw+Ojp4c3B1dG5fMik6CglOZXcsIGRlY2xhcmUuCgkqIGNvbmZpZy9pby9iYXNpY19maWxlX3N0ZGlvLmNjIChfX2Jhc2ljX2ZpbGU8Pjo6eHNwdXRuXzIpOgoJRGVmaW5lLgoJKiBhY2luY2x1ZGUubTQgKEdMSUJDWFhfQ0hFQ0tfV1JJVEUpOiBOZXcgbWFjcm8sIGNoZWNraW5nIGZvcgoJdGhlIGF2YWlsYWJpbGl0eSBvZiB3cml0ZXYgaW4gPHN5cy91aW8uaD4uCgkqIGNvbmZpZ3VyZS5pbjogQ2FsbCBoZXJlLgoJKiBhY2NvbmZpZy5oOiBBZGQgdW5kZWYgZm9yIHRoZSBjb3JyZXNwb25kaW5nIHN5bWJvbC4KCSogYWNsb2NhbC5tNDogUmVnZW5lcmF0ZS4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlLgoJKiBjb25maWcuaC5pbjogUmVnZW5lcmF0ZS4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2V0YnVmL2NoYXIvMy5jYzogVHdlYWsuCgoJKiBpbmNsdWRlL3N0ZC9zdGRfZnN0cmVhbS5oIChzeW5jKTogQ29uc3RpZnkgYSB2YXJpYWJsZS4KCjIwMDMtMDctMTQgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIHRlc3RzdWl0ZS8yN19pby9pb3NfYmFzZS9jb25zL2Fzc2lnbl9uZWcuY2M6IEZpeCBsaW5lIG51bWJlcnMuCgkqIHRlc3RzdWl0ZS8yN19pby9pb3NfYmFzZS9jb25zL2NvcHlfbmVnLmNjOiBTYW1lLgoKMjAwMy0wNy0xNCAgR2FicmllbCBEb3MgUmVpcyAgPGdjY0BpbnRlZ3JhYmxlLXNvbHV0aW9ucy5uZXQ+CgoJKiBjb25maWcvbG9jYWxlL2dudS9jX2xvY2FsZS5oIChfX2NvbnZlcnRfZnJvbV92KTogSW5jbHVkZQoJPGNzdHJpbmc+IGFuZCA8Y3N0ZGxpYj4uIFF1YWxpZnkgbmFtZXMuCgoyMDAzLTA3LTEzICBNYXJrIE1pdGNoZWxsICA8bWFya0Bjb2Rlc291cmNlcnkuY29tPgoKCSogY29uZmlnL2xvY2FsZS9nZW5lcmljL2NfbG9jYWxlLmg6IEluY2x1ZGUgPGNzdGRsaWI+IGFuZAoJPGNzdHJpbmc+LgoJKiBpbmNsdWRlL2JpdHMvYm9vc3RfY29uY2VwdF9jaGVjay5oOiBBZGQgdGhpcy0+IHRvIHVucXVhbGlmaWVkCgltZXRob2QgY2FsbHMuCgkqIGluY2x1ZGUvYml0cy9kZXF1ZS50Y2M6IExpa2V3aXNlLgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy5oIDogTGlrZXdpc2UuCgkqIGluY2x1ZGUvYml0cy9vc3RyZWFtLnRjYzogTGlrZXdpc2UuCgkqIGluY2x1ZGUvYml0cy9zdGxfYWxnby5oOiBMaWtld2lzZS4KCSogaW5jbHVkZS9iaXRzL3N0bF9idmVjdG9yLmg6IExpa2V3aXNlLgoJKiBpbmNsdWRlL2JpdHMvc3RsX2RlcXVlLmg6IExpa2V3aXNlLgoJKiBpbmNsdWRlL2JpdHMvc3RsX2xpc3QuaDogTGlrZXdpc2UuCgkqIGluY2x1ZGUvYml0cy9zdGxfdHJlZS5oOiBMaWtld2lzZS4KCSogaW5jbHVkZS9iaXRzL3N0bF92ZWN0b3IuaDogTGlrZXdpc2UuCgkqIGluY2x1ZGUvYml0cy92ZWN0b3IudGNjOiBMaWtld2lzZS4KCSogaW5jbHVkZS9leHQvcm9wZTogTGlrZXdpc2UuCgkqIGluY2x1ZGUvZXh0L3JvcGVpbXBsLmg6IExpa2V3aXNlLgoJKiBpbmNsdWRlL2V4dC9zdGRpb19maWxlYnVmLmg6IExpa2V3aXNlLgoKMjAwMy0wNy0xMSAgSmVycnkgUXVpbm4gIDxqbHF1aW5uQG9wdG9ubGluZS5uZXQ+CgoJKiBpbmNsdWRlL2JpdHMvYmFzaWNfaW9zLmggKGNvcHlmbXQpOiBEb2N1bWVudC4KCSogaW5jbHVkZS9iaXRzL2lvc19iYXNlLmggKGV2ZW50LCBldmVudF9jYWxsYmFjaywgcmVnaXN0ZXJfY2FsbGJhY2ssCgl4YWxsb2MsIGl3b3JkLCBwd29yZCk6ICBEb2N1bWVudC4KCShpbWJ1ZSwgfmlvc19iYXNlKTogVXBkYXRlIGRvY3Mgb24gY2FsbGJhY2tzLgoKMjAwMy0wNy0xMSAgUGhpbCBFZHdhcmRzICA8cG1lQGdjYy5nbnUub3JnPgoKCSogYWNpbmNsdWRlLm00IChHTElCQ0NfRU5BQkxFX1NZTVZFUlMpOiAgVHdlYWsgY29tbWVudHMuICBBZGQKCXdhcm5pbmcgbWVzc2FnZXMgaWYgdGhlIGVudmlyb25tZW50IGNhbm5vdCBzdXBwb3J0IHN5bWJvbCB2ZXJzaW9uaW5nLgoJKHBvcnRfc3BlY2lmaWNfc3ltYm9sX2ZpbGUpOiAgSXQncyBwbHVyYWwsIGFkZCBhbiAncycgb24gdGhlIGVuZC4KCSogY29uZmlndXJlLmhvc3Q6ICBMaWtld2lzZS4KCSogc3JjL01ha2VmaWxlLmFtOiAgTGlrZXdpc2UuCgkqIGNvbmZpZy9saW5rZXItbWFwLmdudTogIFJlbW92ZSBvbmUgc2VtaWNvbG9uLCBoZWguCgkqIHNjcmlwdHMvZXh0cmFjdF9zeW12ZXJzOiAgRG9uJ3QgYXNzdW1lIHVzZWZ1bCAnZXhwb3J0JyBzeW50YXguCglTZXQgTEFORyBhcyB3ZWxsIGFzIExDX0FMTCBmb3IgcG9zc2libHktYnJva2VuIHNvcnQoMSlzLgoJKiBhY2xvY2FsLm00LCBjb25maWd1cmUsIHNyYy9NYWtlZmlsZS5pbjogIFJlZ2VuZXJhdGVkLgoKMjAwMy0wNy0wOSAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjOiBVc2UgZnVuY3Rpb24gb2JqZWN0IGZvcgoJX191c2VfY2FjaGUgaW5zdGVhZCBvZiB0ZW1wbGF0ZSBmdW5jdGlvbi4gUGFydGlhbGx5IHNwZWNpYWxpemUgZm9yCglfX251bXB1bmN0PF9DaGFyVD4uCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfY2xhc3Nlcy5oOiBVcGRhdGUgZnJpZW5kIGRlY2xhcmF0aW9uIGZvcgoJX191c2VfY2FjaGUuCgkoX01faW5zdGFsbF9jYWNoZSk6IE5vIHRocm93IGV4Y2VwdGlvbiBzcGVjcy4KCSogc3JjL2xvY2FsZS5jYzogUmVtb3ZlIF9fdXNlX2NhY2hlIHNwZWNpYWxpemF0aW9ucy4KCSogaW5jbHVkZS9leHQvcG9kX2NoYXJfdHJhaXRzLmggKGxlbmd0aCk6IFR3ZWFrLgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy5oIChfX251bXB1bmN0X2NhY2hlKTogUmVtb3ZlCgljaGFyX3R5cGUgdHlwZWRlZi4KCSogdGVzdHN1aXRlL3Rlc3RzdWl0ZV9ob29rcy5oIChwb2RfdW5zaWduZWRfaW50KTogUmVtb3ZlLgoJKHBvZF9sb25nKTogUmVtb3ZlLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL251bXB1bmN0L21lbWJlcnMvY2hhci9jYWNoZV8xLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtcHVuY3QvbWVtYmVycy9jaGFyL2NhY2hlXzIuY2M6IE5ldy4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9udW1wdW5jdC9tZW1iZXJzL3djaGFyX3QvY2FjaGVfMS5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL251bXB1bmN0L21lbWJlcnMvd2NoYXJfdC9jYWNoZV8yLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtcHVuY3QvbWVtYmVycy9wb2QvMS5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL251bXB1bmN0L21lbWJlcnMvcG9kLzIuY2M6IE5ldy4KCjIwMDMtMDctMDkgIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCSogc3JjL2lvcy5jYyAoX01fZ3Jvd193b3Jkcyk6ICBGaXggc3BlbGxpbmcuCgoyMDAzLTA3LTA5ICBHYXdhaW4gQm9sdG9uICA8Z3AuYm9sdG9uQGNvbXB1dGVyLm9yZz4KCgkqIGluY2x1ZGUvYml0cy9zdGxfdHJlZS5oOiBNb3ZlIGxhcmdlciBtZW1iZXIgZnVuY3Rpb25zIGluCglfUmJfdHJlZV9iYXNlX2l0ZXJhdG9yIGFuZCBfUmJfdHJlZV9ub2RlIHRvLi4uCgkqIHNyYy9zdGxfdHJlZS5jYzogSGVyZS4KCSogc3JjL01ha2VmaWxlLmluOiBBZGQgc3RsX3RyZWUuY2MuCgkqIHNyYy9NYWtlZmlsZS5pbjogUmVnZW5lcmF0ZWQuCgkqIGNvbmZpZy9saW5rZXItbWFwLmdudTogQWRkIHN5bWJvbHMgaGVyZS4KCjIwMDMtMDctMDggIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIHRlc3RzdWl0ZS9leHQvcG9kX2NoYXJfdHJhaXRzLmNjOiBOZXcuCgkqIGluY2x1ZGUvZXh0L3BvZF9jaGFyX3RyYWl0cy5oOiBOZXcuCgkqIGluY2x1ZGUvTWFrZWZpbGUuYW0gKGV4dF9oZWFkZXJzKTogQWRkIHBvZF9jaGFyX3RyYWl0cy5oLgoJKiBpbmNsdWRlL01ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoJKiBkb2NzL2h0bWwvMjFfc3RyaW5ncy9ob3d0by5odG1sOiBVcGRhdGUuCgoyMDAzLTA3LTA4ICBHYXdhaW4gQm9sdG9uICA8Z3AuYm9sdG9uQGNvbXB1dGVyLm9yZz4KCgkqIHRlc3RzdWl0ZS9wZXJmb3JtYW5jZS9saXN0X2NyZWF0ZV9maWxsX3NvcnQuY2M6IE5ldy4KCjIwMDMtMDctMDggIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZy9sb2NhbGUvZ2VuZXJpYy9udW1lcmljX21lbWJlcnMuY2M6IENvcnJlY3QgdHlwZSBpbmZvLgoJKiBjb25maWcvbG9jYWxlL2dudS9udW1lcmljX21lbWJlcnMuY2M6IFNhbWUuCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLmg6IFNhbWUuCgoJKiBpbmNsdWRlL2JpdHMvY2hhcl90cmFpdHMuaDogQ29ycmVjdCBzcGFjaW5nLgoKCSogc3JjL2xvY2FsZS5jYzogV3JhcCB0byA4MCBjb2wuCgoyMDAzLTA3LTA3ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogaW5jbHVkZS9zdGQvc3RkX2NvbXBsZXguaDogUGFydGlhbGx5IHJldmVydCBsYXN0CgljaGFuZ2VzOiBjbWF0aCBmdW5jdGlvbnMgbXVzdCBub3QgYmUgcXVhbGlmaWVkLgoKMjAwMy0wNy0wNiAgUGhpbCBFZHdhcmRzICA8cG1lQGdjYy5nbnUub3JnPgoKCSogYWNpbmNsdWRlLm00IChHTElCQ1hYX0VOQUJMRV9TWU1WRVJTKTogIERvIG5vdCB0ZXN0IGZvciBiaW51dGlscwoJMi4xMSB3aXRoIGdsb2JiaW5nIGJhY2twb3J0IGZpeC4KCSogYWNsb2NhbC5tNCwgY29uZmlndXJlOiAgUmVnZW5lcmF0ZWQuCgoyMDAzLTA3LTA2ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogaW5jbHVkZS9zdGQvc3RkX2ZzdHJlYW0uaCAoeHNwdXRuKTogRG9uJ3QgY2FsbCBfTV9kZXN0cm95X3BiYWNrOgoJaWYgb3V0cHV0IGlzIGF0IGFsbCBwb3NzaWJsZSAoIV9NX3JlYWRpbmcpLCBjYW5ub3QgYmUgYWN0aXZlLgoKCSogaW5jbHVkZS9zdGQvc3RkX2ZzdHJlYW0uaDogVHdlYWsgY29tbWVudHMgdG8gZG94eWdlbiBzdHlsZS4KCjIwMDMtMDctMDYgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2NsYXNzZXMuaDogRnVsbHkgcXVhbGlmeSBzdGFuZGFyZAoJZnVuY3Rpb25zIHdpdGggc3RkOjosIHRodXMgYXZvaWRpbmcgS29lbmlnIGxvb2t1cC4KCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjOiBMaWtld2lzZS4KCSogc3JjL2xvY2FsZS5jYzogTGlrZXdpc2UuCgkqIHNyYy9sb2NhbGVuYW1lLmNjOiBMaWtld2lzZS4KCjIwMDMtMDctMDYgIFBoaWwgRWR3YXJkcyAgPHBtZUBnY2MuZ251Lm9yZz4KCgkqIGluY2x1ZGUvYml0cy9hbGxvY2F0b3JfdHJhaXRzLmg6ICBGaXggZG94eWdlbiBtYXJrdXAuCgkqIGluY2x1ZGUvZXh0L210X2FsbG9jYXRvci5oOiAgTGlrZXdpc2UuCgoyMDAzLTA3LTA2ICBQaGlsIEVkd2FyZHMgIDxwbWVAZ2NjLmdudS5vcmc+CgoJKiB0ZXN0c3VpdGUvdGVzdHN1aXRlX2hvb2tzLmg6ICBHdWFyZCBhZ2FpbnN0IGEgbWlzc2luZyB1bmxpbmsoKS4KCjIwMDMtMDctMDUgIFBoaWwgRWR3YXJkcyAgPHBtZUBnY2MuZ251Lm9yZz4KCgkqIGFjaW5jbHVkZS5tNCAoR0xJQkNYWF9FTkFCTEVfU1lNVkVSUyk6ICBCdW1wIG1pbmltYWwgdmVyc2lvbgoJcmVxdWlyZW1lbnQuICBBZGQgcG9ydF9zcGVjaWZpY19zeW1ib2xfZmlsZSB2YXJpYWJsZS4KCSogY29uZmlndXJlLmhvc3Q6ICBBZGQgZG9jcyBmb3IgcG9ydF9zcGVjaWZpY19zeW1ib2xfZmlsZS4KCUNsZWFuIHVwIHRyeV9jcHUgYmxvY2sgZm9yIHg4Ni4KCSogY29uZmlnL2xpbmtlci1tYXAuZ251OiAgTm8gbW9yZSAibGFzdCBzeW1ib2wgY2FuJ3QgaGF2ZSBhCglzZW1pY29sb24iIGtha2EuICBBZGQgaG9vayBmb3IgcG9ydC1zcGVjaWZpYyBzeW1ib2xzLgoJKiBzcmMvTWFrZWZpbGUuYW06ICBSZW1vdmUgdHJhaWxpbmcgd2hpdGVzcGFjZS4KCShsaWJzdGRjKystc3ltYm9sLnZlcik6ICBEZXRlY3QgdGhlIHByZXNlbmNlIG9mIHBvcnQtc3BlY2lmaWMKCXN5bWJvbHMsIGFuZCBhZGQgdGhlbSBhY2NvcmRpbmdseS4KCgkqIGRvY3MvaHRtbC8xN19pbnRyby9wb3J0aW5nLnRleGk6ICBCcmluZyB1cCB0byBkYXRlLgoKCSogc3JjL01ha2VmaWxlLmluLCBhY2xvY2FsLm00LCBjb25maWd1cmUsCglkb2NzL2h0bWwvMTdfaW50cm8vcG9ydGluZy5odG1sOiAgUmVnZW5lcmF0ZWQuCgoyMDAzLTA3LTA1ICBQaGlsIEVkd2FyZHMgIDxwbWVAZ2NjLmdudS5vcmc+CgoJKiBzY3JpcHRzL2NyZWF0ZV90ZXN0c3VpdGVfZmlsZXM6ICBOZXcgZmlsZS4KCSogdGVzdHN1aXRlL01ha2VmaWxlLmFtIChhbGwtbG9jYWwsIGNoZWNrLXBlcmZvcm1hbmNlKTogIFVzZSBpdC4KCSogdGVzdHN1aXRlL2xpYi9saWJzdGRjKystdjMtZGcuZXhwICh2My1jb21wdXRlci10ZXN0cyk6ICBSZW1vdmUuCgkqIHRlc3RzdWl0ZS9NYWtlZmlsZS5pbjogIFJlZ2VuZXJhdGVkLgoKCSogdGVzdHN1aXRlL3BlcmZvcm1hbmNlL2ZpbGVidWZfc3B1dGMuY2M6ICBSZW1vdmUgdGhlIHRlbXBvcmFyeQoJZmlsZXMgYXQgdGhlIGVuZC4KCSogdGVzdHN1aXRlL3BlcmZvcm1hbmNlL2ZzdHJlYW1fc2Vla193cml0ZS5jYzogIExpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvcGVyZm9ybWFuY2Uvb2ZzdHJlYW1faW5zZXJ0X2Zsb2F0LmNjOiAgTGlrZXdpc2UuCgkqIHRlc3RzdWl0ZS9wZXJmb3JtYW5jZS9vZnN0cmVhbV9pbnNlcnRfaW50LmNjOiAgTGlrZXdpc2UuCgkqIHRlc3RzdWl0ZS9hYmlfY2hlY2suY2MgKG1haW4pOiAgTmljZXIgc3BhY2luZyBpbiB1c2FnZSBvdXRwdXQuCgoyMDAzLTA3LTA1ICBHYXdhaW4gQm9sdG9uICA8Z3AuYm9sdG9uQGNvbXB1dGVyLm9yZz4KCgkqIGluY2x1ZGUvYml0cy9zdGxfbGlzdC5oOiBQZXJmb3JtYW5jZSBhbmQgbWVtb3J5IHVzYWdlCglpbXByb3ZlbWVudHMuIEluIHBhcnRpY3VsYXIsIHRoZSBiZWhhdmlvdXIgb2YgdGhlIGNvbnN0cnVjdG9yIGFuZAoJZGVzdHJ1Y3RvciBhcyB0aGUgbGlzdCBoZWFkZXIgbm9kZSBpcyBubyBsb25nZXIgZHluYW1pY2FsbHkKCWFsbG9jYXRlZC9kZS1hbGxvY2F0ZWQuCgkqIGluY2x1ZGUvYml0cy9saXN0LnRjYzogTGlrZXdpc2UuCgoyMDAzLTA3LTA1ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogaW5jbHVkZS9zdGQvc3RkX2NvbXBsZXguaDogRnVsbHkgcXVhbGlmeSBzdGFuZGFyZAoJZnVuY3Rpb25zIHdpdGggc3RkOjosIHRodXMgYXZvaWRpbmcgS29lbmlnIGxvb2t1cC4KCSogaW5jbHVkZS9zdGQvc3RkX21lbW9yeS5oOiBMaWtld2lzZS4KCSogaW5jbHVkZS9zdGQvc3RkX3ZhbGFycmF5Lmg6IExpa2V3aXNlLgoKMjAwMy0wNy0wNSAgR2F3YWluIEJvbHRvbiAgPGdwLmJvbHRvbkBjb21wdXRlci5vcmc+CgoJKiBpbmNsdWRlL2JpdHMvc3RsX3RyZWUuaDogX1JiX3RyZWVfcmViYWxhbmNlKCk6ICBBZGQgbG9jYWwKCSAgdmFyaWFibGUgZm9yIGdyYW5kcGFyZW50IGFuZCB1c2UgY29uc3QKCjIwMDMtMDctMDUgIERhdmlkIEJpbGxpbmdodXJzdCA8RGF2aWQuQmlsbGluZ2h1cnN0QHJpb3RpbnRvLmNvbT4KCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL2Nsb3NlL2NoYXIvNDg3OS5jYzogeGZhaWwgb24gY3lnd2luCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL2Nsb3NlL2NoYXIvOTk2NC5jYzogRGl0dG8KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvb3Blbi9jaGFyLzk1MDcuY2M6IERpdHRvCiAJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zaG93bWFueWMvY2hhci85NTMzLTEuY2M6IERpdHRvCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3VuZGVyZmxvdy9jaGFyLzEwMDk3LmNjOiBEaXR0bwogCSogdGVzdHN1aXRlLzI3X2lvL29iamVjdHMvY2hhci83LmNjOiBEaXR0bwogCSogdGVzdHN1aXRlLzI3X2lvL29iamVjdHMvY2hhci85NjYxLTEuY2M6IERpdHRvCgoyMDAzLTA3LTA1ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogaW5jbHVkZS9zdGQvc3RkX2JpdHNldC5oOiBGdWxseSBxdWFsaWZ5IHN0YW5kYXJkCglmdW5jdGlvbnMgd2l0aCBzdGQ6OiwgdGh1cyBhdm9pZGluZyBLb2VuaWcgbG9va3VwLgoKCSogaW5jbHVkZS9zdGQvc3RkX2ZzdHJlYW0uaDogQ2hhbmdlIGNvbW1lbnQgdG8gZG94eWdlbiBzdHlsZS4KCjIwMDMtMDctMDUgIFBoaWwgRWR3YXJkcyAgPHBtZUBnY2MuZ251Lm9yZz4KCgkqIGluY2x1ZGUvc3RkL3N0ZF9saW1pdHMuaDogIE1vcmUgQ1BQLT5DWFggY2hhbmdlcy4KCSogc2NyaXB0cy9jaGVja19zdXJ2ZXkuaW46ICBMaWtld2lzZS4KCjIwMDMtMDctMDQgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCglNb3ZlIGZyb20gQ1BQIHRvIENYWC4KCSogaW5jbHVkZS9iaXRzL2MrK2NvbmZpZzogTW92ZSB0byBHTElCQ1hYIGZyb20gR0xJQkNQUC4KCSogdGVzdHN1aXRlL01ha2VmaWxlLmFtOiBTYW1lLgoJKiB0ZXN0c3VpdGUvTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkqIHBvL01ha2VmaWxlLmFtOiBTYW1lLgoJKiBwby9NYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCSogbGlic3VwYysrL01ha2VmaWxlLmFtOiBTYW1lLgoJKiBsaWJzdXBjKysvTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkqIGxpYm1hdGgvTWFrZWZpbGUuYW06IFNhbWUuCgkqIGxpYm1hdGgvTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkqIGluY2x1ZGUvTWFrZWZpbGUuYW06IFNhbWUuCgkqIGluY2x1ZGUvTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkqIHNyYy9NYWtlZmlsZS5hbTogU2FtZS4KCSogc3JjL01ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoJKiBhY2NvbmZpZy5oOiBTYW1lLgoJKiBjb25maWd1cmUuaG9zdDogU2FtZS4KCSogY29uZmlndXJlLmluOiBTYW1lLgoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGUuCgkqIGFjaW5jbHVkZS5tNDogU2FtZS4KCSogYWNsb2NhbC5tNDogU2FtZS4KCSogc3JjOiBDaGFuZ2UgYWxsIGZpbGVzIGluIHRoaXMgZGlyZWN0b3J5LgoJKiB0ZXN0c3VpdGU6IFNhbWUuCgkqIGluY2x1ZGU6IFNhbWUsIHN0YW5kYXJkaXplIGluY2x1ZGUgZ3VhcmRzLgoJKiBjb25maWc6IFNhbWUuCgkqIGxpYnN1cGMrKzogU2FtZS4KCjIwMDMtMDctMDQgIFphY2sgV2VpbmJlcmcgIDx6YWNrQGNvZGVzb3VyY2VyeS5jb20+CgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvbGxhdGUvY29tcGFyZS93Y2hhcl90LzIuY2MKCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2xsYXRlL2NvbXBhcmUvd2NoYXJfdC93cmFwcGVkX2Vudi5jYwoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvbGxhdGUvY29tcGFyZS93Y2hhcl90L3dyYXBwZWRfbG9jYWxlLmNjCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29sbGF0ZS9oYXNoL3djaGFyX3QvMi5jYwoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvbGxhdGUvaGFzaC93Y2hhcl90L3dyYXBwZWRfZW52LmNjCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29sbGF0ZS9oYXNoL3djaGFyX3Qvd3JhcHBlZF9sb2NhbGUuY2MKCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2xsYXRlL3RyYW5zZm9ybS93Y2hhcl90LzIuY2MKCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2xsYXRlL3RyYW5zZm9ybS93Y2hhcl90L3dyYXBwZWRfZW52LmNjCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29sbGF0ZS90cmFuc2Zvcm0vd2NoYXJfdC93cmFwcGVkX2xvY2FsZS5jYzoKCVhGQUlMIG9uIGFsbCB0YXJnZXRzLgoKMjAwMy0wNy0wNCAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogYWNpbmNsdWRlLm00IChHTElCQ1BQX0VOQUJMRV9QQ0gpOiBGaXggbWlzc2VkIHZhcmlhYmxlLgoJKiBhY2xvY2FsLm00OiBSZWdlbmVyYXRlLgoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGUuCgoyMDAzLTA3LTA0ICBKZXJyeSBRdWlubiAgPGpscXVpbm5Ab3B0b25saW5lLm5ldD4KCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLnRjYyAoX19pbnRfdG9fY2hhcik6IE1vdmUgY29tbW9uIGNhc2UKCXRvIHRoZSB0b3AuCgoyMDAzLTA3LTA0ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgkgICAgUGV0dXIgUnVub2xmc3NvbiAgPHBldHVycjAyQHJ1LmlzPgoKCSogY29uZmlnL2lvL2Jhc2ljX2ZpbGVfc3RkaW8uY2M6IFJldmVydC4KCjIwMDMtMDctMDQgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJKiBpbmNsdWRlL2JpdHMvZGVxdWUudGNjOiBGdWxseSBxdWFsaWZ5IHN0YW5kYXJkCglmdW5jdGlvbnMgd2l0aCBzdGQ6OiwgdGh1cyBhdm9pZGluZyBLb2VuaWcgbG9va3VwLgoJKiBpbmNsdWRlL2JpdHMvZ3NsaWNlX2FycmF5Lmg6IExpa2V3aXNlLgoJKiBpbmNsdWRlL2JpdHMvaW5kaXJlY3RfYXJyYXkuaDogTGlrZXdpc2UuCgkqIGluY2x1ZGUvYml0cy9saXN0LnRjYzogTGlrZXdpc2UuCgkqIGluY2x1ZGUvYml0cy9tYXNrX2FycmF5Lmg6IExpa2V3aXNlLgoJKiBpbmNsdWRlL2JpdHMvc2xpY2VfYXJyYXkuaDogTGlrZXdpc2UuCgoyMDAzLTA3LTA0ICBHYXdhaW4gQm9sdG9uICA8Z2JvbHRvbkBmcmVlLmZyPgoKCSogaW5jbHVkZS9iaXRzL3N0bF90cmVlLmg6IFBlcmZvcm1hbmNlIGFuZCBtZW1vcnkgdXNhZ2UKCWltcHJvdmVtZW50cy4KCjIwMDMtMDctMDQgIEguSi4gTHUgPGhvbmdqaXUubHVAaW50ZWwuY29tPgoKCSogTWFrZWZpbGUuYW06IFJlcGxhY2UgUFdEIHdpdGggUFdEX0NPTU1BTkQuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlZC4KCSogZG9jcy9odG1sL01ha2VmaWxlOiBMaWtld2lzZS4KCjIwMDMtMDctMDQgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJKiBpbmNsdWRlL2JpdHMvdmFsYXJyYXlfYXJyYXkuaDogRnVsbHkgcXVhbGlmeSBzdGFuZGFyZAoJZnVuY3Rpb25zIHdpdGggc3RkOjosIHRodXMgYXZvaWRpbmcgS29lbmlnIGxvb2t1cC4KCSogaW5jbHVkZS9iaXRzL3ZlY3Rvci50Y2M6IExpa2V3aXNlLgoKMjAwMy0wNy0wNCAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9NYWtlZmlsZS5hbTogVXBkYXRlIHRhcmdldF8gdG8gaG9zdF8uCgkqIGluY2x1ZGUvTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkqIHNyYy9NYWtlZmlsZS5hbTogU2FtZS4KCSogc3JjL01ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoKCSogY29uZmlnL29zL2dudS1saW51eC9vc19kZWZpbmVzLmg6IFJlbW92ZSBnbGliYy0yLjAgc3VwcG9ydC4KCjIwMDMtMDctMDQgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGFjaW5jbHVkZS5tNCAoR0xJQkNQUF9FTkFCTEVfREVCVUdfRkxBR1MpOiBUbwoJLS1lbmFibGUtbGlic3RkY3h4LWRlYnVnLWZsYWdzLgoJKEdMSUJDUFBfRU5BQkxFX0RFQlVHX0ZMQUdTKTogVG8gLS1lbmFibGUtbGlic3RkY3h4LWRlYnVnLgoJKEdMSUJDUFBfRU5BQkxFX1BDSCk6IFRvIC0tZW5hYmxlLWxpYnN0ZGN4eC1wY2guCgkqIGFjbG9jYWwubTQ6IFJlZ2VuZXJhdGUuCgkqIGNvbmZpZ3VyZTogU2FtZS4KCSogZG9jcy9odG1sL2NvbmZpZ29wdHMuaHRtbDogVXBkYXRlLgoKMjAwMy0wNy0wNCAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCglSZXZlcnQgdGhlIGZpeCBmb3IgbGlic3RkYysrLzExMzc4LgoKMjAwMy0wNy0wNCAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCglQUiBsaWJzdGRjKysvMTEzNzgKCSogaW5jbHVkZS9zdGQvc3RkX2ZzdHJlYW0uaCAoeHNwdXRuKTogSW4gdGhlIHVuYnVmZmVyZWQgY2FzZSwKCXByb3ZpZGVkIGFsd2F5c19ub2NvbnYoKSwgaXNzdWUgZGlyZWN0bHkgX01fZmlsZS54c3B1dG4uCgkqIHRlc3RzdWl0ZS9wZXJmb3JtYW5jZS9maWxlYnVmX3VuYnVmX3NwdXRuLmNjOiBOZXcuCgoyMDAzLTA3LTA0ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogaW5jbHVkZS9iaXRzL3N0bF9saXN0Lmg6IEZ1bGx5IHF1YWxpZnkgc3RhbmRhcmQKCWZ1bmN0aW9ucyB3aXRoIHN0ZDo6LCB0aHVzIGF2b2lkaW5nIEtvZW5pZyBsb29rdXAuCgkqIGluY2x1ZGUvYml0cy9zdGxfcXVldWUuaDogTGlrZXdpc2UuCgkqIGluY2x1ZGUvYml0cy9zdGxfcmF3X3N0b3JhZ2VfaXRlci5oOiBMaWtld2lzZS4KCSogaW5jbHVkZS9iaXRzL3N0bF90ZW1wYnVmLmg6IExpa2V3aXNlLgoJKiBpbmNsdWRlL2JpdHMvc3RsX3RyZWUuaDogTGlrZXdpc2UuCgkqIGluY2x1ZGUvYml0cy9zdGxfdW5pbml0aWFsaXplZC5oOiBMaWtld2lzZS4KCSogaW5jbHVkZS9iaXRzL3N0bF92ZWN0b3IuaDogTGlrZXdpc2UuCgkqIGluY2x1ZGUvZXh0L3JvcGU6IENoYW5nZSBpbmNsdWRlcyBvcmRlci4KCjIwMDMtMDctMDQgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5ob3N0IChmcG9zX2luY2x1ZGVfZGlyKTogRml4LgoKMjAwMy0wNy0wNCAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIGluY2x1ZGUvYml0cy9zdGxfaGVhcC5oOiBGdWxseSBxdWFsaWZ5IHN0YW5kYXJkCglmdW5jdGlvbnMgd2l0aCBzdGQ6OiwgdGh1cyBhdm9pZGluZyBLb2VuaWcgbG9va3VwLgoJKiBpbmNsdWRlL2JpdHMvc3RsX2l0ZXJhdG9yX2Jhc2VfZnVuY3MuaDogTGlrZXdpc2UuCgoJKiBpbmNsdWRlL2JpdHMvc3RsX2FsZ28uaDogUXVhbGlmeSBfX2l0ZXJhdG9yX2NhdGVnb3J5IHRvby4KCSogaW5jbHVkZS9iaXRzL3N0bF9hbGdvYmFzZS5oOiBMaWtld2lzZS4KCSogaW5jbHVkZS9iaXRzL3N0bF9idmVjdG9yLmg6IExpa2V3aXNlLgoKCSogaW5jbHVkZS9iaXRzL3N0bF9hbGdvLmg6IERvbid0IHF1YWxpZnkgdGhlIHBhaXIgdHlwZS4KCjIwMDMtMDctMDMgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvTWFrZWZpbGUuYW0gKHRhcmdldF9oZWFkZXJzKTogQWRkIGZwb3MuaAoJKGJpdHNfaGVhZGVycyk6IFJlbW92ZS4KCSogaW5jbHVkZS9NYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCSogY29uZmlndXJlLmluOiBBZGQgRlBPU19JTkNfU1JDRElSLCBzdWJzdGl0dXRlIGl0LgoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGUuCgkqIGNvbmZpZ3VyZS5ob3N0OiBBZGQgZnBvc19pbmNsdWRlX2Rpci4KCSogY29uZmlnL29zL2dudS1saW51eC9mcG9zLmg6IE5ldy4KCSogY29uZmlnL29zL2dlbmVyaWMvZnBvcy5oOiBBZGQuCgkqIGluY2x1ZGUvYml0cy9mcG9zLmg6IFJlbW92ZS4KCgkqIGNvbmZpZy9pby9jX2lvX3N0ZGlvLmg6IFJlbW92ZSBmcG9zX3QgdHlwZWRlZi4KCgkqIGluY2x1ZGUvYml0cy9mc3RyZWFtLnRjYzogVHdlYWtzLgoJKiBpbmNsdWRlL3N0ZC9zdGRfZnN0cmVhbS5oOiBTYW1lLgoKCSogdGVzdHN1aXRlLzI3X2lvL2Zwb3MvMS5jYyAodGVzdDAxKTogVW5jb21tZW50LiBNb3ZlIHRvLi4uCgkqIHRlc3RzdWl0ZS8yN19pby9mcG9zL21ic3RhdGVfdC8xLmNjOiAuLi5oZXJlLgoJKiB0ZXN0c3VpdGUvMjdfaW8vZnBvcy9tYnN0YXRlX3QvMi5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzI3X2lvL2Zwb3MvbWJzdGF0ZV90LzMuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yN19pby9mcG9zLzEuY2M6IE5ldy4KCjIwMDMtMDctMDMgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCSAgICBQZXR1ciBSdW5vbGZzc29uICA8cGV0dXJyMDJAcnUuaXM+CgoJKiBpbmNsdWRlL3N0ZC9zdGRfc3RyZWFtYnVmLmg6IFJlbW92ZSBfTV9wb3MuCgkqIGNvbmZpZy9pby9iYXNpY19maWxlX3N0ZGlvLmg6IFVzZSBzZWVrcG9zIGluc3RlYWQgb2Ygc2Vla29mZi4KCSogY29uZmlnL2lvL2Jhc2ljX2ZpbGVfc3RkaW8uY2M6IFNhbWUsIHVzZSBmc2VlayBpbnN0ZWFkIG9mIGxzZWVrLAoJdXNlIGZyZWFkL2Z3cml0ZSBpbnN0ZWFkIG9mIHJlYWQvd3JpdGUuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3Nob3dtYW55Yy9jaGFyLzk1MzMtMi5jYzogRml4LgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zcHV0bi9jaGFyLzkzMzkuY2M6IENsb3NlIGZpbGVidWZzCgliZWZvcmUgcmVhZGluZyBhZ2Fpbi4KCSogdGVzdHN1aXRlLzI3X2lvL29iamVjdHMvY2hhci82LmNjOiBUd2Vhay4KCjIwMDMtMDctMDMgIERhdmlkIEVkZWxzb2huICA8ZWRlbHNvaG5AZ251Lm9yZz4KCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtX3B1dC9wdXQvY2hhci83LmNjOiBHdWFyZCB3aXRoCglfR0xJQkNQUF9VU0VfV0NIQVJfVC4KCjIwMDMtMDctMDIgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJKiBpbmNsdWRlL2JpdHMvYmFzaWNfc3RyaW5nLnRjYyAoX01fcmVwbGFjZV9hdXgpOiBDb25zdGlmeQoJX19uMSBhbmQgX19vZmYxLgoKMjAwMy0wNy0wMiAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIGluY2x1ZGUvYml0cy9zdGxfYnZlY3Rvci5oOiBGdWxseSBxdWFsaWZ5IHN0YW5kYXJkCglmdW5jdGlvbnMgd2l0aCBzdGQ6OiwgdGh1cyBhdm9pZGluZyBLb2VuaWcgbG9va3VwLgoJKiBpbmNsdWRlL2JpdHMvc3RsX2NvbnN0cnVjdC5oOiBMaWtld2lzZS4KCSogaW5jbHVkZS9iaXRzL3N0bF9kZXF1ZS5oOiBMaWtld2lzZS4KCjIwMDMtMDctMDIgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL251bV9wdXQvcHV0L2NoYXIvNy5jYzogSW5jbHVkZQoJPHRlc3RzdWl0ZV9ob29rcy5oPiwgdHdlYWsuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtX3B1dC9wdXQvd2NoYXJfdC83LmNjOiBMaWtld2lzZS4KCjIwMDMtMDctMDEgIFBoaWwgRWR3YXJkcyAgPHBtZUBnY2MuZ251Lm9yZz4KCgkqIHRlc3RzdWl0ZS9NYWtlZmlsZS5hbSAoQU1fTUFLRUZMQUdTKTogIFNldCB0byAtajEgKGFmZmVjdHMKCWNoZWNrKiB0YXJnZXRzLCBidXQgbm90IGxpYnMvcHJvZ3JhbXMpLgoJKiB0ZXN0c3VpdGUvTWFrZWZpbGUuaW46ICBSZWdlbmVyYXRlLgoKMjAwMy0wNy0wMSAgUm9nZXIgU2F5bGUgIDxyb2dlckBleWVzb3Blbi5jb20+CgoJKiBhY2luY2x1ZGUubTQgKEdMSUJDUFBfQ0hFQ0tfU1RETElCX1NVUFBPUlQpOiBGaXggdHlwbyBpbiBDWFhGTEFHUy4KCShHTElCQ1BQX0NIRUNLX01BVEhfU1VQUE9SVCk6IExpa2V3aXNlLgoJKiBhY2xvY2FsLm00OiBSZWdlbmVyYXRlLgoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGUuCgoyMDAzLTA3LTAxICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiBhY2luY2x1ZGUubTQgKEdMSUJDUFBfRU5BQkxFX1BDSCk6IEZpeCBvYnZpb3VzIGVycm9yLgoJKiBhY2xvY2FsLm00OiBSZWdlbmVyYXRlZC4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlZC4KCjIwMDMtMDctMDEgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJUFIgbGlic3RkYysrLzExMzg5CgkqIGluY2x1ZGUvYml0cy9mc3RyZWFtLnRjYyAodW5kZXJmbG93KTogRm9yIGVuY29kaW5nKCkgPT0gMAoJZG9uJ3QgcmVhZCBtb3JlIHRoYW4gX19idWZsZW4gY2hhcnMuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3VuZGVyZmxvdy93Y2hhcl90LzExMzg5LTEuY2M6IE5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvdW5kZXJmbG93L3djaGFyX3QvMTEzODktMi5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi91bmRlcmZsb3cvd2NoYXJfdC8xMTM4OS0zLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3VuZGVyZmxvdy93Y2hhcl90LzExMzg5LTQuY2M6IE5ldy4KCjIwMDMtMDctMDEgIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCSogMjJfbG9jYWxlL251bV9wdXQvcHV0L2NoYXIvNy5jYzogTmV3LgoJKiAyMl9sb2NhbGUvbnVtX3B1dC9wdXQvd2NoYXJfdC83LmNjOiBOZXcuCgoyMDAzLTA2LTMwICBKZXJyeSBRdWlubiAgPGpscXVpbm5Ab3B0b25saW5lLm5ldD4KCgkqIHNyYy9sb2NhbGUuY2MgKF9fdXNlX2NhY2hlPG51bXB1bmN0Pik6IFJldmVydCBwcmV2aW91cyByZWxvY2F0aW9uLgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy50Y2MgKF9fdXNlX2NhY2hlPG51bXB1bmN0Pik6IERpdHRvLgoKMjAwMy0wNi0zMCAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZWVrb2ZmL2NoYXIvMS1pbi5jYzogTmV3LgoJKiAyN19pby9iYXNpY19maWxlYnVmL3NlZWtvZmYvY2hhci8xLWlvLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2ZpbGVidWYvc2Vla29mZi9jaGFyLzEtb3V0LmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2ZpbGVidWYvc2Vla29mZi9jaGFyLzItaW4uY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZWVrb2ZmL2NoYXIvMi1pby5jYzogTmV3LgoJKiAyN19pby9iYXNpY19maWxlYnVmL3NlZWtvZmYvY2hhci8yLW91dC5jYzogTmV3LgoJKiAyN19pby9iYXNpY19maWxlYnVmL3NlZWtvZmYvY2hhci8yLmNjOiBSZW1vdmUuCgkqIDI3X2lvL2Jhc2ljX2ZpbGVidWYvc2Vla29mZi9jaGFyLzMtaW4uY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZWVrb2ZmL2NoYXIvMy1pby5jYzogQ2hhbmdlLgoJKiAyN19pby9iYXNpY19maWxlYnVmL3NlZWtvZmYvY2hhci8zLW91dC5jYzogTmV3LgoJKiAyN19pby9iYXNpY19maWxlYnVmL3NlZWtvZmYvY2hhci80LWlvLmNjOiBSZW1vdmUuCgkqIDI3X2lvL2Jhc2ljX2ZpbGVidWYvc2Vla3Bvcy9jaGFyLzEtaW4uY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZWVrcG9zL2NoYXIvMS1pby5jYzogTmV3LgoJKiAyN19pby9iYXNpY19maWxlYnVmL3NlZWtwb3MvY2hhci8xLW91dC5jYzogTmV3LgoJKiAyN19pby9iYXNpY19maWxlYnVmL3NlZWtwb3MvY2hhci8yLWluLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2ZpbGVidWYvc2Vla3Bvcy9jaGFyLzItaW8uY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZWVrcG9zL2NoYXIvMi1vdXQuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZWVrcG9zL2NoYXIvMi5jYzogQ2hhbmdlLgoJKiAyN19pby9iYXNpY19maWxlYnVmL3NlZWtwb3MvY2hhci8zLWluLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2ZpbGVidWYvc2Vla3Bvcy9jaGFyLzMtaW8uY2M6IFJlbW92ZS4KCSogMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZWVrcG9zL2NoYXIvMy1vdXQuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZWVrcG9zL2NoYXIvNC1pby5jYzogUmVtb3ZlLgogCSogZGF0YS9zZWVrb2ZmLTEudHN0OiBSZW1vdmUuCgkqIGRhdGEvc2Vla29mZi0xaW8udHN0OiBOZXcuCgkqIGRhdGEvc2Vla29mZi0xb3V0LnRzdDogTmV3LgoJKiBkYXRhL3NlZWtvZmYtMi50c3Q6IFJlbW92ZS4KCSogZGF0YS9zZWVrb2ZmLTJpby50c3Q6IE5ldy4KCSogZGF0YS9zZWVrb2ZmLTJvdXQudHN0OiBOZXcuCgkqIGRhdGEvc2Vla29mZi50eHQKCSogZGF0YS9zZWVrcG9zLTEudHN0OiBSZW1vdmUuCgkqIGRhdGEvc2Vla3Bvcy0xaW8udHN0OiBOZXcuCgkqIGRhdGEvc2Vla3Bvcy0xb3V0LnRzdDogTmV3LgoJKiBkYXRhL3NlZWtwb3MtMi50c3Q6IFJlbW92ZS4KCSogZGF0YS9zZWVrcG9zLTJpby50c3Q6IE5ldy4KCSogZGF0YS9zZWVrcG9zLTJvdXQudHN0OiBOZXcuCgkqIGRhdGEvc2Vla3Bvcy50eHQ6IE5ldy4KCjIwMDMtMDYtMzAgIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCSogc3JjL2xvY2FsZS5jYyAoX191c2VfY2FjaGU8bnVtcHVuY3Q+KTogTW92ZSBmcm9tIGhlcmUgLi4uCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLnRjYyAoX191c2VfY2FjaGU8bnVtcHVuY3Q+KTogVG8KCWhlcmUuCgoyMDAzLTA2LTMwICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogaW5jbHVkZS9iaXRzL3N0bF9hbGdvYmFzZS5oOiBGdWxseSBxdWFsaWZ5IHN0YW5kYXJkCglmdW5jdGlvbnMgd2l0aCBzdGQ6OiwgdGh1cyBhdm9pZGluZyBLb2VuaWcgbG9va3VwLgoKMjAwMy0wNi0zMCAgRG91ZyBHcmVnb3IgPGRncmVnb3JAYXBwbGUuY29tPgoKCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjIChtb25leV9nZXQ6OmRvX2dldCk6IEF2b2lkCglzdWJzY3JpcHRpbmcgZW1wdHkgc3RyaW5nLgoKMjAwMy0wNi0zMCAgUGhpbCBFZHdhcmRzICA8cG1lQGdjYy5nbnUub3JnPgoKCSogdGVzdHN1aXRlL01ha2VmaWxlLmFtIChjaGVjay1hbSk6ICBEbyBub3Qgb3ZlcnJpZGUuCgkoYmFzZWxpbmVfc3ltYm9scyk6ICBEZWNsYXJlIGFzIFBIT05ZLCBzbyBubyBuZWVkIHRvICd0b3VjaCcgaXQuCgkqIHRlc3RzdWl0ZS9NYWtlZmlsZS5pbjogIFJlZ2VuZXJhdGUuCgoyMDAzLTA2LTMwICBEb3VnIEdyZWdvciA8ZGdyZWdvckBhcHBsZS5jb20+CgoJKiB0ZXN0c3VpdGUvMjRfaXRlcmF0b3JzL2luc2VydF9pdGVyYXRvci5jYyAodGVzdDAxLCB0ZXN0MDIpOgoJRG9uJ3QgaW5pdGlhbGl6ZSBhbiBpbnNlcnRfaXRlcmF0b3Igd2l0aCBhIHNpbmd1bGFyIGl0ZXJhdG9yLgoKMjAwMy0wNi0zMCAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogYWNpbmNsdWRlLm00IChHTElCQ1BQX0VOQUJMRV9QQ0gpOiBBZGQgYml0cyBmb3IgLS1lbmFibGUtcGNoLgoJKiBhY2xvY2FsLm00OiBSZWdlbmVyYXRlLgoJKiBjb25maWd1cmUuaW4gKEdMSUJDUFBfQ0hFQ0tfUENIKTogTW92ZSwgY2hhbmdlIHRvCglHTElCQ1BQX0VOQUJMRV9QQ0gsIGRlZmF1bHQgdG8geWVzLgoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGUuCgkqIGRvY3MvaHRtbC9jb25maWdvcHRzLmh0bWw6IEFkZCAtLWVuYWJsZS1wY2guCgoyMDAzLTA2LTMwICBQaGlsIEVkd2FyZHMgIDxwbWVAZ2NjLmdudS5vcmc+CgoJKiB0ZXN0c3VpdGUvbGliL2xpYnN0ZGMrKy12My1kZy5leHA6ICBBZGQgY29tbWVudHMuCgkobGlic3RkYysrLXYzLWluaXQpOiAgQWxzbyBzZXQgTERfUlVOX1BBVEguCgoyMDAzLTA2LTMwICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogaW5jbHVkZS9zdGQvc3RkX3N0cmVhbWJ1Zi5oIChfTV9tb2RlKTogVW51c2VkIGJ5IHN0cmVhbWJ1ZiwgbW92ZQoJZnJvbSBoZXJlIHRvIGZpbGVidWYgYW5kIHN0cmluZ2J1Zi4KCSh+YmFzaWNfc3RyZWFtYnVmKCkpOiBEb24ndCBzZXQgX01fbW9kZS4KCShiYXNpY19zdHJlYW1idWYoKSk6IERvbid0IHNldCBfTV9tb2RlLgoJKiBpbmNsdWRlL3N0ZC9zdGRfZnN0cmVhbS5oIChfTV9tb2RlKTogTW92ZSBoZXJlLCBmcm9tIHN0cmVhbWJ1Zi4KCSh+YmFzaWNfZmlsZWJ1ZigpKTogQ2xlYW4gdXAuCgkqIGluY2x1ZGUvYml0cy9mc3RyZWFtLnRjYyAoYmFzaWNfZmlsZWJ1ZigpKTogU2V0IF9NX21vZGUuCgkqIGluY2x1ZGUvc3RkL3N0ZF9zc3RyZWFtLmggKF9NX21vZGUpOiBNb3ZlIGhlcmUsIGZyb20gc3RyZWFtYnVmLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfc3RyZWFtYnVmL2NvbnMvY2hhci8xLmNjOiBEb24ndCBzZXQgX01fbW9kZS4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX3N0cmVhbWJ1Zi9vdmVyZmxvdy9jaGFyLzEuY2M6IExpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfc3RyZWFtYnVmL3NnZXRjL2NoYXIvMS5jYzogTGlrZXdpc2UuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19zdHJlYW1idWYvc2dldG4vY2hhci8xLmNjOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX3N0cmVhbWJ1Zi9zcHV0bi9jaGFyLzEuY2M6IExpa2V3aXNlLgoKMjAwMy0wNi0zMCAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIGluY2x1ZGUvc3RkL3N0ZF9mc3RyZWFtLmggKF9NX3VuZGVyZmxvdyk6IFJlbW92ZS4KCSh1Zmxvdyk6IFJlbW92ZSwgaW5oZXJpdGVkIGZyb20gc3RyZWFtYnVmLgoJKHVuZGVyZmxvdyk6IE9ubHkgZGVjbGFyZS4KCSogaW5jbHVkZS9iaXRzL2ZzdHJlYW0udGNjIChfTV91bmRlcmZsb3cpOiBSZW5hbWUgdG8KCXVuZGVyZmxvdywgdG8gd2hpY2ggaXMgZXF1aXZhbGVudCBmb3IgX19idW1wID09IGZhbHNlLAoJc2ltcGxpZnkuCgkqIGluY2x1ZGUvc3RkL3N0ZF9zc3RyZWFtLmggKF9NX3VuZGVyZmxvdyk6IFJlbW92ZS4KCSh1Zmxvdyk6IFJlbW92ZSwgaW5oZXJpdGVkIGZyb20gc3RyZWFtYnVmLgoJKHVuZGVyZmxvdyk6IE9ubHkgZGVjbGFyZS4KCSogaW5jbHVkZS9iaXRzL3NzdHJlYW0udGNjIChfTV91bmRlcmZsb3cpOiBSZW5hbWUgdG8KCXVuZGVyZmxvdywgdG8gd2hpY2ggaXMgZXF1aXZhbGVudCBmb3IgX19idW1wID09IGZhbHNlLAoJc2ltcGxpZnkuCgoyMDAzLTA2LTI5ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogaW5jbHVkZS9iaXRzL3N0bF9hbGdvLmg6IEZ1bGx5IHF1YWxpZnkgc3RhbmRhcmQgZnVuY3Rpb25zCgl3aXRoIHN0ZDo6LCB0aHVzIGF2b2lkaW5nIEtvZW5pZyBsb29rdXAuCgoyMDAzLTA2LTI5ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvb3ZlcmZsb3cvd2NoYXJfdC8xMTMwNS0xLmNjOgoJSW1wcm92ZSB0eXBlIGNvcnJlY3RuZXNzLXdpc2UuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL292ZXJmbG93L3djaGFyX3QvMTEzMDUtMi5jYzoKCUxpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9vdmVyZmxvdy93Y2hhcl90LzExMzA1LTMuY2M6CglMaWtld2lzZS4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvb3ZlcmZsb3cvd2NoYXJfdC8xMTMwNS00LmNjOgoJTGlrZXdpc2UuCgoyMDAzLTA2LTI5ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogaW5jbHVkZS9zdGQvc3RkX3N0cmVhbWJ1Zi5oICh1Zmxvdyk6IEFjY29yZGluZyB0bwoJMjcuNS4yLjQuMyxwMTYsIGRvbid0IGNoZWNrIGdwdHIoKSA8IGVncHRyKCkuCgoyMDAzLTA2LTI4ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCVBSIGxpYnN0ZGMrKy85ODc1CgkqIGluY2x1ZGUvYml0cy9mc3RyZWFtLnRjYyAoc2Vla29mZik6IEZpeCBmb3IgZW5jb2RpbmcoKSA+IDAuCgkoc2Vla3Bvcyk6IExpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZWVrb2ZmL3djaGFyX3QvOTg3NV9zZWVrb2ZmLmNjOgoJTmV3IHRlc3QuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NlZWtwb3Mvd2NoYXJfdC85ODc1X3NlZWtwb3MuY2M6CglOZXcgdGVzdC4KCjIwMDMtMDYtMjcgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIHRlc3RzdWl0ZS90ZXN0c3VpdGVfcGVyZm9ybWFuY2UuaCAoX19nbnVfY3h4X3Rlc3QpOiBDaGFuZ2UKCW91dHB1dCBuYW1lIHRvIGxpYnN0ZGMrKy12My1wZXJmb3JtYW5jZS5zdW0uCgkqIHRlc3RzdWl0ZS9NYWtlZmlsZS5hbSAoQ0xFQU5GSUxFUyk6IFJlbW92ZSAucGVyZm9ybWFuY2UuCgkqIHRlc3RzdWl0ZS9NYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCjIwMDMtMDYtMjcgIE1hdHRoaWFzIEtsb3NlICA8ZG9rb0BkZWJpYW4ub3JnPgoKCSogdGVzdHN1aXRlL01ha2VmaWxlLmFtIChjaGVjay1hYmksIGNoZWNrLWFiaS12ZXJib3NlKTogU2F2ZQoJb3V0cHV0IG9mIGFiaS1jaGVjayBpbiBsaWJzdGRjKystdjMtYWJpLnN1bS4KCSogdGVzdHN1aXRlL01ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoKMjAwMy0wNi0yNyAgS3Jpc3RlciBXYWxmcmlkc3NvbiAgPGNhdG9AZGYubHRoLnNlPgoKCSogY29uZmlnL29zL2JzZC9uZXRic2QvY3R5cGVfbm9uaW5saW5lLmgKCShfQ19jdHlwZV8pOiBEZWNsYXJlLgoJKGN0eXBlPGNoYXI+OjpjbGFzc2ljX3RhYmxlKTogUmV0dXJuIF9DX2N0eXBlXyArIDEuCgkoY3R5cGU8Y2hhcj46OmN0eXBlKTogVXNlIGNsYXNzaWNfdGFibGUuCgoyMDAzLTA2LTI3ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoJICAgIE5hdGhhbiBDLiBNeWVycyAgPG5jbS1ub3NwYW1AY2FudHJpcC5vcmc+CgoJUFIgbGlic3RkYysrLzkxNzgKCSogaW5jbHVkZS9iaXRzL2ZzdHJlYW0udGNjIChfTV91bmRlcmZsb3cpOiBQcm9wZXJseSBlc3RpbWF0ZQoJdGhlIHdvcnN0LWNhc2UgbnVtYmVyIG9mIGV4dGVybmFsIGJ5dGVzIGZvciBhIGdpdmVuIGdldCBhcmVhLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi91bmRlcmZsb3cvd2NoYXJfdC85MTc4LmNjOiBOZXcuCgoyMDAzLTA2LTI3ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoJICAgIFBldHVyIFJ1bm9sZnNzb24gIDxwZXR1cnIwMkBydS5pcz4KCglQUiBsaWJzdGRjKysvMTEzMDUKCSogaW5jbHVkZS9iaXRzL2ZzdHJlYW0udGNjIChvdmVyZmxvdyk6IFByb3Blcmx5IGVzdGltYXRlIHRoZQoJd29yc3QtY2FzZSBudW1iZXIgb2YgZXh0ZXJuYWwgYnl0ZXMgZm9yIGEgZ2l2ZW4gcHV0IGFyZWEKCShieSB1c2luZyBjb2RlY3Z0OjptYXhfbGVuZ3RoKCkpLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9vdmVyZmxvdy93Y2hhcl90LzExMzA1LTE6IE5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvb3ZlcmZsb3cvd2NoYXJfdC8xMTMwNS0yOiBOZXcuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL292ZXJmbG93L3djaGFyX3QvMTEzMDUtMzogTmV3LgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9vdmVyZmxvdy93Y2hhcl90LzExMzA1LTQ6IE5ldy4KCjIwMDMtMDYtMjcgIE5hdGhhbiBTaWR3ZWxsICA8bmF0aGFuQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBjb25maWcvbGlua2VyLW1hcC5nbnU6IFJlbW92ZSA7IGFmdGVyIF9fbnVtcHVuY3RfY2FjaGUuCgoyMDAzLTA2LTI2ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL2JpdHMvaW9zX2Jhc2UuaCAoaW9zX2Jhc2U6Ol9NX2dldGxvYyk6IFJldHVybiByZWZlcmVuY2UKCXRvIHRoZSBpbWJ1ZWQgbG9jYWxlLgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy50Y2MgKG51bV9wdXQ6Ol9NX2NvbnZlcnRfaW50KTogVXNlCglfTV9nZXRsb2MuCgkobnVtX3B1dDo6X01fY29udmVydF9mbG9hdCk6IFVzZS4KCjIwMDMtMDYtMjYgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCSAgICBKZXJyeSBRdWlubiAgPGpscXVpbm5Ab3B0b25saW5lLm5ldD4KCgkqIGNvbmZpZy9saW5rZXItbWFwLmdudTogQWRkIF9fbnVtcHVuY3RfY2FjaGUuCgkqIGNvbmZpZy9sb2NhbGUvZ251L251bWVyaWNfbWVtYmVycy5jYwoJKG51bXB1bmN0OjpfTV9pbml0aWFsaXplX251bXB1bmN0KTogQWNjb3VudCBmb3IgX01fZGF0YSwgZmlsbCBpbgoJYWxsIGVsZW1lbnRzIGZvciAiQyIgbG9jYWxlLgoJKG51bXB1bmN0Ojp+bnVtcHVuY3QpOiBEZWxldGUgX01fZGF0YS4KCSogY29uZmlnL2xvY2FsZS9nZW5lcmljL251bWVyaWNfbWVtYmVycy5jYzogU2FtZS4KCSogaW5jbHVkZS9iaXRzL2Jhc2ljX2lvcy50Y2MKCShiYXNpY19pb3M6OmluaXQpOiBSZW1vdmUgX19sb2NhbGVfY2FjaGUgYml0cy4KCShiYXNpY19pb3M6Ol9NX2NhY2hlX2xvY2FsZSk6IFNhbWUuCgkqIGluY2x1ZGUvYml0cy9pb3NfYmFzZS5oOiBTYW1lLiBUd2Vha3MuCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfY2xhc3Nlcy5oOiBUd2Vha3MuIFJlb3JkZXIgY2xhc3Nlcy4KCShfX3VzZV9jYWNoZSk6IE1ha2UgZnJpZW5kcyB3aXRoIF9JbXBsLCBsb2NhbGUuCgkoX0ltcGw6Ol9NX2NhY2hlcyk6IEFkZC4KCShfSW1wbDo6X01faW5zdGFsbF9jYWNoZSk6IEFkZC4KCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMuaCAoX19udW1wdW5jdF9jYWNoZSk6IE5ldy4KCShudW1wdW5jdCk6IEVuY2Fwc3VsYXRlIGRhdGEgbWVtYmVycyBpbiBfX251bXB1bmN0X2NhY2hlIG1lbWJlciwKCV9NX2RhdGEuIEFkanVzdCB2aXJ0dWFscy4KCShudW1wdW5jdDo6bnVtcHVuY3QpOiBOZXcgY3RvciBmb3IgdGhlIHNhbWUuCgkoX19sb2NhbGVfY2FjaGVfYmFzZSk6IFJlbW92ZS4KCShfX2xvY2FsZV9jYWNoZSk6IFJlbW92ZS4KCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjIChfX3VzZV9jYWNoZSk6IE5ldyBmdW5jdGlvbiwKCXNwZWNpYWxpemF0aW9ucy4KCShudW1fcHV0OjpfTV9jb252ZXJ0X2ludCwgX01fY29udmVydF9mbG9hdCwgZG9fcHV0KTogVXNlIGl0LgoJKiBzcmMvZ2xvYmFscy5jYzogQWRkIGNhY2hlX3ZlYywgbnVtcHVuY3RfY2FjaGVfYywgbnVtcHVuY3RfY2FjaGVfdy4KCSogc3JjL2lvcy5jYyAoaW9zX2Jhc2U6Omlvc19iYXNlKTogUmVtb3ZlIF9fbG9jYWxlX2NhY2hlLgoJKiBzcmMvbG9jYWxlLWluc3QuY2M6IFNhbWUuIEFkZCBfX251bXB1bmN0X2NhY2hlLgoJKiBzcmMvbG9jYWxlLmNjOiBUd2VhayBpbmxpbmVzLgoJKF9fdXNlX2NhY2hlKTogRGVmaW5lIHNwZWNpYWxpemF0aW9ucy4KCSogc3JjL2xvY2FsZW5hbWUuY2M6IFVzZSBnbG9iYWwgYml0cy4KCShfSW1wbDo6fkltcGwpOiBEZWFsIHdpdGggX19udW1wdW5jdF9jYWNoZSBkZXN0cnVjdGlvbi4KCShfSW1wbDo6X0ltcGwpOiBTYW1lLiBQcmUtY2FjaGUgc3RhbmRhcmQgbnVtcHVuY3QgZmFjZXRzLgoJKF9JbXBsOjpfTV9pbml0X2ZhY2V0KTogVGFrZSBpbnRvIGFjY291bnQgX19udW1wdW5jdF9jYWNoZS4KCSogdGVzdHN1aXRlLzI3X2lvL2lvc19iYXNlL2NvbnMvYXNzaWduX25lZy5jYzogVXBkYXRlIGxpbmUgbnVtYmVycy4KCSogdGVzdHN1aXRlLzI3X2lvL2lvc19iYXNlL2NvbnMvY29weV9uZWcuY2M6IFNhbWUuCgoyMDAzLTA2LTI2ICBOYXRoYW4gQy4gTXllcnMgIDxuY20tbm9zcGFtQGNhbnRyaXAub3JnPgoJICAgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJKiB0ZXN0c3VpdGUvcGVyZm9ybWFuY2UvZmlsZWJ1Zl9jb3B5LmNjOiBOZXcsIHRlc3RpbmcgY2hhcgoJYnkgY2hhciBmaWxlIGNvcHkuCgoyMDAzLTA2LTI2ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoJICAgIE5hdGhhbiBDLiBNeWVycyAgPG5jbS1ub3NwYW1AY2FudHJpcC5vcmc+CgoJKiBpbmNsdWRlL2JpdHMvZnN0cmVhbS50Y2MgKF9NX3VuZGVyZmxvdyk6IFdoZW4gdGhlIGFjdHVhbAoJZW5kIG9mIGZpbGUgaXMgcmVhY2hlZCwgc2V0ICd1bmNvbW1pdHRlZCcgbW9kZSB0byBhbGxvdyBhCgluZXh0IHdyaXRlIHdpdGhvdXQgYW4gaW50ZXJ2ZW5pbmcgc2VlayAoc2VlIEMrKzk4IDI3LjguMS4xLDIKCWFuZCBDODkgNy45LjUuMykuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3VuZGVyZmxvdy9jaGFyLzIuY2M6IE5ldy4KCjIwMDMtMDYtMjUgIE5hdGhhbiBDLiBNeWVycyAgPG5jbS1ub3NwYW1AY2FudHJpcC5vcmc+CgoJKiBpbmNsdWRlL2JpdHMvc3RyZWFtYnVmLnRjYyAoc2J1bXBjLCBzcHV0YmFja2MsIHN1bmdldGMsCglzcHV0Yyk6IE1vdmUgaW5saW5lLCBmcm9tIGhlcmUuLi4KCSogaW5jbHVkZS9zdGQvc3RkX3N0cmVhbWJ1Zi5oOiAuLi4gdG8gaGVyZS4KCgkqIGluY2x1ZGUvc3RkL3N0ZF9zdHJlYW1idWYuaCAoc25leHRjLCBzYnVtcGMsIHNnZXRjLAoJc3B1dGJhY2tjLCBzdW5nZXRjLCBzcHV0Yyk6IFVzZSBfX2J1aWx0aW5fZXhwZWN0LgoKMjAwMy0wNi0yNCAgUGhpbCBFZHdhcmRzICA8cG1lQGdjYy5nbnUub3JnPgoKCSogZG9jcy9kb3h5Z2VuL21haW5wYWdlLmh0bWw6ICBVc2UgYSB1c2VmdWwgdGl0bGUuCgoyMDAzLTA2LTI0ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiBkb2NzL2h0bWwvZG9jdW1lbnRhdGlvbi5odG1sOiBSZW1vdmUgYXNzaWdubWVudCBpbmZvLgoJKiBkb2NzL2h0bWwvMTdfaW50cm8vY29udHJpYnV0ZS5odG1sOiBFZGl0cy4KCSogZG9jcy9odG1sLzE3X2ludHJvL2xpYnN0ZGMrKy1hc3NpZ24udHg6IFJlbW92ZS4KCgkqIGRvY3MvaHRtbC90ZXN0Lmh0bWw6IFVwZGF0ZS4KCgkqIFJFQURNRTogVXBkYXRlLgoKMjAwMy0wNi0yNCAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoJICAgIFVscmljaCBEcmVwcGVyICA8ZHJlcHBlckByZWRoYXQuY29tPgoKCSogdGVzdHN1aXRlL3Rlc3RzdWl0ZV9wZXJmb3JtYW5jZS5oOiBUd2VhayBtYWxsaW5mby4KCjIwMDMtMDYtMjQgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgkgICAgTmF0aGFuIEMuIE15ZXJzICA8bmNtLW5vc3BhbUBjYW50cmlwLm9yZz4KCgkqIGluY2x1ZGUvc3RkL3N0ZF9mc3RyZWFtLmggKF9NX2ZpbGVwb3MpOiBSZW1vdmUuCgkoX01fcmVhZGluZywgX01fd3JpdGluZyk6IE5ldywgZW5jb2RlIHRoZSB2YXJpb3VzIEkvTyBtb2RlczoKCSdyZWFkJywgJ3dyaXRlJyBhbmQgJ3VuY29tbWl0dGVkJy4KCShzeW5jKTogSWYgdGhlcmUgaXMgc29tZXRoaW5nIHRvIGZsdXNoLCBkbyBpdCwgdGhlbiBnbyB0bwoJJ3VuY29tbWl0dGVkJyBtb2RlLgoJKiBpbmNsdWRlL2JpdHMvZnN0cmVhbS50Y2MgKF9NX3NldF9idWZmZXIpOiBPdmVyaGF1bCB0byBkZWFsCgl3aXRoIHRocmVlIGRpZmZlcmVudCBjYXNlczogX19vZmYgPiAwICh1cG9uIHVuZGVyZmxvdyksCglfX29mZiA9PSAwICh1cG9uIG92ZXJmbG93KSwgX19vZmYgPT0gLTEgKHVwb24gb3Blbiwgc2V0YnVmLAoJc2Vla29mZi9wb3MpLgoJKF9NX3VuZGVyZmxvdyk6IERvbid0IGNhbGwgb3ZlcmZsb3csIHNldCBfTV9yZWFkaW5nIHRvIHRydWUKCW9uIHN1Y2Nlc3MsIHR3ZWFrLgoJKHBiYWNrZmFpbCk6IFNldCBfTV9yZWFkaW5nIHRvIHRydWUgb24gcGJhY2sgY3JlYXRpb24sIHR3ZWFrLgoJKG92ZXJmbG93KTogRG9uJ3Qgc2VlaywgZGVhbCB3aXRoIG92ZXJmbG93IGluICd1bmNvbW1pdHRlZCcgbW9kZSwKCXNldCBfTV93cml0aW5nIHRvIHRydWUgb24gc3VjY2VzcywgdHdlYWsuCgkoc2Vla29mZik6IFNpbXBsaWZ5LCBzZXQgX01fcmVhZGluZywgX01fd3JpdGluZyB0byBmYWxzZSwgY2FsbAoJX01fc2V0X2J1ZmZlcigtMSkgKCd1bmNvbW1pdHRlZCcpLgoJKG9wZW4sIGNsb3NlLCBzZXRidWYpOiBTZXQgX01fcmVhZGluZywgX01fd3JpdGluZyB0byBmYWxzZSBhbmQKCWNhbGwgX01fc2V0X2J1ZmZlcigtMSksIHR3ZWFrLgoJKGJhc2ljX2ZpbGVidWYpOiBEb24ndCBzZXQgX01fYnVmX3VuaWZpZWQuCgkoX01fZGVzdHJveV9pbnRlcm5hbF9idWZmZXIpOiBEb24ndCBjYWxsIHNldGcgYW5kIHNldHAuCgkqIGluY2x1ZGUvZXh0L3N0ZGlvX2ZpbGVidWYuaCAoc3RkaW9fZmlsZWJ1Zik6IFVzZSBfTV9yZWFkaW5nLAoJX01fd3JpdGluZyBhbmQgX01fc2V0X2J1ZmZlcigtMSkuCgkqIGluY2x1ZGUvc3RkL3N0ZF9zdHJlYW1idWYuaCAoX01fbW92ZV9vdXRfY3VyLCBfTV9tb3ZlX2luX2N1ciwKCV9NX291dF9saW0sIF9NX2J1Zl91bmlmaWVkKTogUmVtb3ZlLgoJKGJhc2ljX3N0cmVhbWJ1Zik6IERvbid0IHNldCBfTV9vdXRfbGltIGFuZCBfTV9idWZfdW5pZmllZC4KCShzZXRwKTogRG9uJ3Qgc2V0IF9NX291dF9saW0uCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NidW1wYy9jaGFyLzEtaW8uY2M6IEZpeCBmb3IKCXRoZSBuZXcgbG9naWMgKCdyZWFkJywgJ3dyaXRlJyBhbmQgJ3VuY29tbWl0dGVkJyBtb2Rlcyk6IGUuZy4sCgl1cG9uIG9wZW4gdGhlIG1vZGUgaXMgJ3VuY29tbWl0dGVkJyBhbmQgdGhlcmVmb3JlIHRoZSBwdXQgYXJlYQoJcG9pbnRlcnMgYXJlIG51bGwuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NidW1wYy9jaGFyLzEtb3V0LmNjOiBEaXR0by4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2Vla29mZi9jaGFyLzMtaW8uY2M6IERpdHRvLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZWVrcG9zL2NoYXIvMy1pby5jYzogRGl0dG8uCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NldGJ1Zi9jaGFyLzEuY2M6IERpdHRvLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZ2V0Yy9jaGFyLzEtaW8uY2M6IERpdHRvLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZ2V0Yy9jaGFyLzEtb3V0LmNjOiBEaXR0by4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2dldG4vY2hhci8xLWlvLmNjOiBEaXR0by4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2dldG4vY2hhci8xLW91dC5jYzogRGl0dG8uCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NuZXh0Yy9jaGFyLzEtaW8uY2M6IERpdHRvLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zbmV4dGMvY2hhci8xLW91dC5jYzogRGl0dG8uCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NwdXRiYWNrYy9jaGFyLzEtaW8uY2M6IERpdHRvLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zcHV0YmFja2MvY2hhci8xLW91dC5jYzogRGl0dG8uCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NwdXRjL2NoYXIvMS1pby5jYzogRGl0dG8uCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NwdXRjL2NoYXIvMS1vdXQuY2M6IERpdHRvLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zcHV0Yy9jaGFyLzk3MDEtMi5jYzogRGl0dG8uCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NwdXRuL2NoYXIvMS1pby5jYzogRGl0dG8uCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NwdXRuL2NoYXIvMS1vdXQuY2M6IERpdHRvLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zcHV0bi9jaGFyLzk3MDEtMS5jYzogRGl0dG8uCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3N1bmdldGMvY2hhci8xLWlvLmNjOiBEaXR0by4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc3VuZ2V0Yy9jaGFyLzEtb3V0LmNjOiBEaXR0by4KCgkqIGluY2x1ZGUvYml0cy9mc3RyZWFtLnRjYyAoc2hvd21hbnljKTogVXNlIG9ubHkgdGhlCglkb2N1bWVudGVkIGRlcml2YXRpb24gaW50ZXJmYWNlIHRvIGJhc2ljX3N0cmVhbWJ1ZiAoZ3B0cigpLAoJc2V0ZygpLCBldGMuKSB0byB3b3JrIHJpZ2h0IHdpdGggdXNlciBzcGVjaWFsaXphdGlvbnMuCgkqIGluY2x1ZGUvYml0cy9zdHJlYW1idWYudGNjIChzYnVtcGMsIHNwdXRiYWNrYywgc3VuZ2V0YywKCXNwdXRjLCB4c2dldG4sIHhzcHV0biwgX19jb3B5X3N0cmVhbWJ1ZnMpOiBMaWtld2lzZS4KCSogaW5jbHVkZS9zdGQvc3RkX3N0cmVhbWJ1Zi5oIChpbl9hdmFpbCwgc2dldGMsIHVmbG93LCBzdG9zc2MpOgoJTGlrZXdpc2UuCgkqIGluY2x1ZGUvc3RkL3N0ZF9mc3RyZWFtLmggKF9NX2NyZWF0ZV9wYmFjaywgX01fZGVzdHJveV9wYmFjaywKCXhzZ2V0bik6IExpa2V3aXNlLgoKMjAwMy0wNi0yMyAgTG9yZW4gSi4gUml0dGxlICA8bGpyaXR0bGVAYWNtLm9yZz4KCgkqIGNvbmZpZ3VyZS5ob3N0IChmcmVlYnNkKik6IFNldCBhYmlfYmFzZWxpbmVfcGFpci4KCSogY29uZmlnL2FiaS9pMzg2LWZyZWVic2Q0L2Jhc2VsaW5lX3N5bWJvbHMudHh0OiBVcGRhdGUgZnJvbSAzLjIKCShhdCBvciBuZWFyIGZpcnN0IHJlbGVhc2UpIHRvIDMuMy4KCSogY29uZmlnL2FiaS9pMzg2LWZyZWVic2Q1L2Jhc2VsaW5lX3N5bWJvbHMudHh0OiBOZXcgZmlsZS4KCSogY29uZmlnL2FiaS9hbHBoYS1mcmVlYnNkNS9iYXNlbGluZV9zeW1ib2xzLnR4dDogTmV3IGZpbGUuCgkqIGNvbmZpZy9hYmkvc3BhcmMtZnJlZWJzZDUvYmFzZWxpbmVfc3ltYm9scy50eHQ6IE5ldyBmaWxlLgoKCSogaW5jbHVkZS9leHQvbXRfYWxsb2NhdG9yLmg6IFBvcnRhYmlsaXR5LgoJKiB0ZXN0c3VpdGUvdGVzdHN1aXRlX3BlcmZvcm1hbmNlLmg6IExpa2V3aXNlLgoKMjAwMy0wNi0yMyAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogZG9jcy9odG1sLzE3X2ludHJvL2xpYnN0ZGMrKy1hc3NpZ24udHh0OiBVcGRhdGUgYWRkcmVzcy4KCgkqIHRlc3RzdWl0ZS9wZXJmb3JtYW5jZS9pZnN0cmVhbV9nZXRsaW5lLmNjOiBGaXguCgoyMDAzLTA2LTIzICBEb3VnIEdyZWdvciA8ZGdyZWdvckBhcHBsZS5jb20+CgoJKiBpbmNsdWRlL2JpdHMvYm9vc3RfY29uY2VwdF9jaGVjay5oOiBEb24ndCB1c2UgX0Qgb3IgX1IgZm9yIHR5cGUKCW5hbWVzLgoKMjAwMy0wNi0yMiAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCSAgICBOYXRoYW4gQy4gTXllcnMgIDxuY20tbm9zcGFtQGNhbnRyaXAub3JnPgoKCSogaW5jbHVkZS9zdGQvc3RkX3N0cmVhbWJ1Zi5oIChfTV9tb3ZlX291dF9jdXIpOiBfTV9vdXRfbGltCglpcyBub3cgdXNlZCBvbmx5IGZvciBmaWxlYnVmLCB3aGVuIF9NX2J1Zl91bmlmaWVkIGlzIHRydWUuCgllcGd0cigpIHBsYXlzIHRoZSByb2xlIG9mIF9NX291dF9saW0gYnV0IGl0J3Mgb25seSB1cGRhdGVkCgl1cG9uIG92ZXJmbG93LCB1bmRlcmZsb3csIHVmbG93LCBzZWVrb2ZmL3Bvcy4KCSogaW5jbHVkZS9iaXRzL3NzdHJlYW0udGNjIChfTV91bmRlcmZsb3cpOiBOZXcsIGltcGxlbWVudHMKCXN0cmluZ2J1Zjo6dW5kZXJmbG93IGFuZCB1Zmxvdy4KCShzZWVrb2ZmLCBzZWVrcG9zKTogVHdlYWssIHVzZSAgX01fdXBkYXRlX2VncHRyLgoJKiBpbmNsdWRlL3N0ZC9zdGRfc3N0cmVhbS5oIChzdHIpOiBSZXdyb3RlLCBkZWFsIGNvcnJlY3RseQoJd2l0aCB0aGUgbmV3IGxvZ2ljLCBpbiBwYXJ0aWN1bGFyLCB3aGVuIHBwdHIoKSA+IGVncHRyKCkuCgkoX01fc3luYyk6IFdoZW4gX190ZXN0b3V0ICYmICFfX3Rlc3RpbiBzZXQgYWxsIHRoZSBnZXQgYXJlYQoJcG9pbnRlcnMgdG8gdGhlIGN1cnJlbnQgc3RyaW5nIGVuZC4KCShfTV91cGRhdGVfZWdwdHIpOiBOZXcsIGludGVybmFsIGZ1bmN0aW9uIHVwZGF0aW5nIGVncHRyKCkKCXRvIHRoZSBhY3R1YWwgc3RyaW5nIGVuZC4KCShfTV91bmRlcmZsb3cpOiBOZXcsIGRlY2xhcmUuCgkodW5kZXJmbG93KTogRGlzcGF0Y2ggdG8gX01fdW5kZXJmbG93KGZhbHNlKS4KCSh1Zmxvdyk6IERpc3BhdGNoIHRvIF9NX3VuZGVyZmxvdyh0cnVlKS4KCgkqIGluY2x1ZGUvYml0cy9zc3RyZWFtLnRjYyAocGJhY2tmYWlsLCBvdmVyZmxvdywgc2Vla29mZiwKCXNlZWtwb3MpOiBVc2Ugb25seSB0aGUgZG9jdW1lbnRlZCBkZXJpdmF0aW9uIGludGVyZmFjZSB0bwoJYmFzaWNfc3RyZWFtYnVmIChncHRyKCksIHNldGcoKSwgZXRjLikgdG8gd29yayByaWdodCB3aXRoCgl1c2VyIHNwZWNpYWxpemF0aW9ucy4KCSogaW5jbHVkZS9zdGQvc3RkX3NzdHJlYW0uaCAoc3RyLCBfTV9zeW5jKTogTGlrZXdpc2UuCgoyMDAzLTA2LTIwICBEb3VnIEdyZWdvciA8ZGdyZWdvckBhcHBsZS5jb20+CgoJKiB0ZXN0c3VpdGUvMjBfdXRpbC9hdXRvX3B0ci5jYzogRG9uJ3QgZGVyZWZlcmVuY2UgTlVMTCBhdXRvX3B0cgoJKiB0ZXN0c3VpdGUvMjFfc3RyaW5ncy9iYXNpY19zdHJpbmcvcmVwbGFjZS9jaGFyLzQuY2M6IERvbid0CglkZXJlZmVyZW5jZSBlbmQgaXRlcmF0b3IuCgkqIHRlc3RzdWl0ZS8yMV9zdHJpbmdzL2Jhc2ljX3N0cmluZy9yZXBsYWNlL3djaGFyX3QvNC5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jdHlwZS9uYXJyb3cvY2hhci8xLmNjOiBEb24ndCBzdWJzY3JpcHQgd2l0aAoJaW5kZXggZXF1YWwgdG8gdGhlIGxlbmd0aCBvZiBhIHN0cmluZy4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jdHlwZS9uYXJyb3cvY2hhci8yLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2N0eXBlL25hcnJvdy93Y2hhcl90LzEuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY3R5cGUvbmFycm93L3djaGFyX3QvMi5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jdHlwZS93aWRlbi9jaGFyLzEuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY3R5cGUvd2lkZW4vd2NoYXJfdC8xLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjNfY29udGFpbmVycy9saXN0X21vZGlmaWVycy5jYzogRG9uJ3QgZGVyZWZlcmVuY2UKCXNpbmd1bGFyIHJldmVyc2UgaXRlcmF0b3IuCgkqIHRlc3RzdWl0ZS8yM19jb250YWluZXJzL3ZlY3Rvcl9ib29sLmNjOiBEb24ndCBpbmNyZW1lbnQgc2luZ3VsYXIKCWl0ZXJhdG9yLgoJKiB0ZXN0c3VpdGUvMjRfaXRlcmF0b3JzL3JlbF9vcHMuY2M6IERvbid0IGNvbXBhcmUgc2luZ3VsYXIgaXRlcmF0b3IuCgoyMDAzLTA2LTIwICBEb3VnIEdyZWdvciA8ZGdyZWdvckBhcHBsZS5jb20+CgoJKiBpbmNsdWRlL2JpdHMvYmFzaWNfc3RyaW5nLmggKGJhc2ljX3N0cmluZzo6cmVwbGFjZSk6IERpc3BhdGNoCglfSW5wdXRJdGVyYXRvciB2ZXJzaW9uIGJhc2VkIG9uIF9Jc19pbnRlZ2VyLgoJKiBpbmNsdWRlL2JpdHMvYmFzaWNfc3RyaW5nLnRjYyAoYmFzaWNfc3RyaW5nOjpyZXBsYWNlKToKCVJlbmFtZWQgcmVwbGFjZShpdGVyYXRvciwgaXRlcmF0b3IsIHNpemVfdHlwZSwgX0NoYXJUKSB0bwoJX01fcmVwbGFjZV9hdXguCgkqIHRlc3RzdWl0ZS8yMV9zdHJpbmdzL2Jhc2ljX3N0cmluZy9hc3NpZ24vY2hhci8xLmNjICh0ZXN0MDEpOgoJVGVzdCBiYXNpY19zdHJpbmc6OmFzc2lnbihfSW5wdXRJdGVyYXRvciwgX0lucHV0SXRlcmF0b3IpLAoJd2hpY2ggY2FsbHMgYmFzaWNfc3RyaW5nOjpyZXBsYWNlKGl0ZXJhdG9yLCBpdGVyYXRvciwKCV9JbnB1dF9pdGVyYXRvciwgX0lucHV0SXRlcmF0b3IpLgoKMjAwMy0wNi0yMCAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogdGVzdHN1aXRlL3Rlc3RzdWl0ZV9wZXJmb3JtYW5jZS5oIChyZXNvdXJjZV9jb3VudGVyKTogRG9uJ3QgdXNlCgltYWxsaW5mbyBhdCB0aGUgbW9tZW50LgoKMjAwMy0wNi0yMCAgTWF0dGhpYXMgS2xvc2UgIDxkb2tvQGRlYmlhbi5vcmc+CgoJKiBjb25maWd1cmUuaG9zdDogU2V0IHRyeV9jcHUgdG8gdGFyZ2V0X2NwdSBmb3IgZXhpc3RpbmcKCWJhc2VsaW5lIGZpbGVzLgoKMjAwMy0wNi0xOSAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogdGVzdHN1aXRlL01ha2VmaWxlLmFtIChleHRyYWN0X3N5bXZlcnMpOiBSZXZlcnQgYWNjaWRlbnRhbAoJY2hhbmdlLgoJKiB0ZXN0c3VpdGUvTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgoJKiBjb25maWd1cmUuaW46IFBhc3MgTVVMVElTVUJESVIgdG8gdGVzdHN1aXRlL01ha2VmaWxlLgoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGVkLgoKMjAwMy0wNi0xOSAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIGluY2x1ZGUvc3RkL3N0ZF9zc3RyZWFtLmggKF9NX3N5bmMpOiBNYWtlIG5vbiB2aXJ0dWFsLgoKMjAwMy0wNi0xOCAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogdGVzdHN1aXRlL3Rlc3RzdWl0ZV9wZXJmb3JtYW5jZS5oICh0aW1lX2NvdW50ZXIpOiBOZXcuCgkocmVzb3VyY2VfY291bnRlcik6IE5ldy4KCShyZXBvcnRfcGVyZm9ybWFuY2UpOiBOZXcuCgkoc3RhcnRfY291bnRlcnMpOiBOZXcuCgkoc3RvcF9jb3VudGVycyk6IE5ldy4KCShjbGVhcl9jb3VudGVycyk6IE5ldy4KCSogdGVzdHN1aXRlL3BlcmZvcm1hbmNlL2FsbG9jYXRvci5jYzogSW5zdHJ1bWVudC4KCSogdGVzdHN1aXRlL3BlcmZvcm1hbmNlL2NvdXRfaW5zZXJ0X2ludC5jYzogU2FtZS4KCSogdGVzdHN1aXRlL3BlcmZvcm1hbmNlL2NvbXBsZXhfbm9ybS5jYzogU2FtZS4KCSogdGVzdHN1aXRlL3BlcmZvcm1hbmNlL2ZpbGVidWZfc3B1dGMuY2M6IE5ldy4KCSogdGVzdHN1aXRlL3BlcmZvcm1hbmNlL2ZzdHJlYW1fc2Vla193cml0ZS5jYzogU2FtZS4KCSogdGVzdHN1aXRlL3BlcmZvcm1hbmNlL2lmc3RyZWFtX2dldGxpbmUuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS9wZXJmb3JtYW5jZS9tYXBfY3JlYXRlX2ZpbGwuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS9wZXJmb3JtYW5jZS9vZnN0cmVhbV9pbnNlcnRfZmxvYXQuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS9wZXJmb3JtYW5jZS9vZnN0cmVhbV9pbnNlcnRfaW50LmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvcGVyZm9ybWFuY2Uvc3RyaW5nX2FwcGVuZC5jYzogQ29udmVydC4KCSogc2NyaXB0cy9jaGVja19wZXJmb3JtYW5jZTogTmV3LgoJKiB0ZXN0c3VpdGUvTWFrZWZpbGUuYW0gKGNoZWNrLXBlcmZvcm1hbmNlKTogTmV3LgoJKENMRUFORklMRVMpOiBBZGQuCgoyMDAzLTA2LTE4ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoJICAgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvc3RkL3N0ZF9zc3RyZWFtLmggKHNldGJ1Zik6IENoZWNrIF9fbiA+PSAwLgoJKiBpbmNsdWRlL2JpdHMvZnN0cmVhbS50Y2MgKHNldGJ1Zik6IFR3ZWFrLgoKMjAwMy0wNi0xOCAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIGluY2x1ZGUvYml0cy9zc3RyZWFtLnRjYyAoc2Vla29mZik6IFdlIGNhbid0IHNlZWsgYmV5b25kCglfTV9vdXRfbGltLCB0aGVyZWZvcmUgX01fbW92ZV9vdXRfY3VyIGJvaWxzIGRvd24gdG8gc2ltcGx5Cgl1cGRhdGluZyBfTV9vdXRfY3VyLgoJKHNlZWtwb3MpOiBMaWtld2lzZSwgY2xlYW4gdXAuCgoyMDAzLTA2LTE4ICBOYXRoYW4gQy4gTXllcnMgIDxuY20tbm9zcGFtQGNhbnRyaXAub3JnPgoJICAgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJKiBpbmNsdWRlL2JpdHMvZnN0cmVhbS50Y2MgKHNldGJ1Zik6IEFsbG93IChfX3MsIDEpIHRvbywKCXNpbXBseSBlcXVpdmFsZW50IHRvIHRoZSB1bmJ1ZmZlcmVkIGNhc2UgKDAsIDApIGFzIGZhciBhcwoJX01fYnVmX3NpemUgaXMgY29uY2VybmVkLgoKMjAwMy0wNi0xOCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogdGVzdHN1aXRlL01ha2VmaWxlLmFtIChuZXctYWJpLWJhc2VsaW5lKTogQ3JlYXRlIGJhc2VsaW5lCglkaXJlY3RvcnkuCgkoYmFzZWxpbmVfZmlsZSk6IFVzZSBiYXNlbGluZV9kaXIuCgkoYmFzZWxpbmVfZGlyKTogTmV3LgoJKG1raW5zdGFsbGRpcnMpOiBOZXcuCgoJKiBhY2luY2x1ZGUubTQ6IFJlbmFtZSBiYXNlbGluZV9maWxlIHRvIGJhc2VsaW5lX2Rpciwgc3RyaXAKCWZpbGVuYW1lIGZyb20gYmFzZWxpbmVfZGlyLgoKCSogdGVzdHN1aXRlL01ha2VmaWxlLmluOiBSZWdlbmVyYXRlZC4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgoJKiBhY2xvY2FsLm00OiBSZWdlbmVyYXRlZC4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlZC4KCjIwMDMtMDYtMTcgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5pbjogTWlzc2VkIGNoZWNrX3N1cnZleSBiaXQuCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZWQuCgoyMDAzLTA2LTE3ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiBzY3JpcHRzOiBOZXcuCgkqIGNvbmZpZy9hYmkvZXh0cmFjdF9zeW12ZXJzOiBNb3ZlIHRvLi4uCgkqIHNjcmlwdHMvZXh0cmFjdF9zeW12ZXJzOiAuLi5oZXJlLgoJKiBta2NoZWNrLmluOiBNb3ZlIHRvLi4KCSogc2NyaXB0cy9jaGVja19zdXJ2ZXkuaW46IC4uLmhlcmUuCgkqIHRlc3RzdWl0ZV9mbGFncy5pbjogTW92ZSB0by4uCgkqIHNjcmlwdHMvdGVzdHN1aXRlX2ZsYWdzLmluOiAuLi5oZXJlLgoJKiBjb25maWd1cmUuaW46IENoYW5nZSBjaGVjayBhbmQgdGVzdHN1aXRlX2ZsYWdzIGxvY2F0aW9ucy4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlLgoJKiB0ZXN0c3VpdGUvTWFrZWZpbGUuYW0gKGN1cnJlbnRfc3ltYm9scy50eHQpOiBDaGFuZ2UgbG9jYXRpb24uCgkqIHRlc3RzdWl0ZS9NYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCSogdGVzdHN1aXRlL2xpYi9saWJzdGRjKystdjMtZGcuZXhwIChsaWJzdGRjKystdjMtaW5pdCk6IE1vZGlmeQoJbG9jYXRpb24gb2YgdGVzdHN1aXRlX2ZsYWdzLgoJKiBNYWtlZmlsZS5hbSAoY2hlY2stc2NyaXB0KTogTW92ZS4uCgkoY2hlY2stc2NyaXB0LWluc3RhbGwpOiBNb3ZlLi4uCgkqIHRlc3RzdWl0ZS9NYWtlZmlsZS5hbTogLi4uIGhlcmUuCgkqIHRlc3RzdWl0ZS9NYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgoyMDAzLTA2LTE3ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiBjb25maWcvYWJpL2k0ODYtbGludXgtZ251L2Jhc2VsaW5lX3N5bWJvbHMudHh0OiBVcGRhdGUgdG8gMy4zLjAuCgoyMDAzLTA2LTE2ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiBNYWtlZmlsZS5hbSAoY2hlY2stYWJpKTogTW92ZS4uLgoJKG5ldy1hYmktYmFzZWxpbmUpOiBNb3ZlLi4uCgkqIHRlc3RzdWl0ZS9NYWtlZmlsZS5hbTogLi4uaGVyZS4KCShuZXctYWJpLWJhc2VsaW5lKTogQ29uZGl0aW9uYWxpemUuCgkoY2hlY2stYWJpKTogQ29uZGl0aW9uYWxpemUuCgkoY2hlY2stYWJpLXZlcmJvc2UpOiBOZXcuCgkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoJKiB0ZXN0c3VpdGUvTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkqIGNvbmZpZ3VyZS5pbjogQ29uc29saWRhdGUgdGVzdHN1aXRlIGNvbmZpZ3VyZSBiaXRzLgoJKiBhY2luY2x1ZGUubTQgKEdMSUJDUFBfQ09ORklHVVJFX1RFU1RTVUlURSk6IFNhbWUuCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZS4KCSogYWNsb2NhbC5tNDogUmVnZW5lcmF0ZS4KCSogdGVzdHN1aXRlL2FiaV9jaGVjay5jYzogQWRkIC0tY2hlY2stdmVyYm9zZS4KCU9ubHkgb3V0cHV0IGRldGFpbGVkIGluZm9ybWF0aW9uIGlmIC0tY2hlY2stdmVyYm9zZS4KCjIwMDMtMDYtMTYgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIHRlc3RzdWl0ZS9hYmlfY2hlY2suY2M6IENyZWF0ZSBzdW1tYXJ5IHJlcG9ydC4KCjIwMDMtMDYtMTYgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZ2V0bi9jaGFyLzEtaW4uY2M6IEZpeAoJZm9yIHN5c3RlbXMgd2l0aCBCVUZTSVogIT0gODE5Mi4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2dldG4vY2hhci8xLWlvLmNjOiBEaXR0by4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2dldG4vY2hhci8xLW91dC5jYzoKCU1pbm9yIHR3ZWFrcy4KCjIwMDMtMDYtMTYgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGFjaW5jbHVkZS5tNCAoR0xJQkNQUF9DT05GSUdVUkVfVEVTVFNVSVRFKTogTWFrZQoJY2hlY2stYWJpIG11bHRpbGliIGF3YXJlLgoJKiBhY2xvY2FsLm00OiBSZWdlbmVyYXRlLgoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGUuCgoyMDAzLTA2LTE2ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgkgICAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogY29uZmlndXJlLmhvc3Q6IFNldCB4ODZfNjQgYWJpX2Jhc2VsaW5lIHBhaXIgY29ycmVjdGx5LgoKMjAwMy0wNi0xNiAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3N1bmdldGMvY2hhci8xLmNjOiBTcGxpdCBhbmQKCWZpeCBmb3IgbWlzc2luZyBzZWVrcyBiZXR3ZWVuIGdldHMgYW5kIHB1dHMgaW50by4uLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zdW5nZXRjL2NoYXIvMS1pbi5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zdW5nZXRjL2NoYXIvMS1pby5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zdW5nZXRjL2NoYXIvMS1vdXQuY2M6IE5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc3VuZ2V0Yy9jaGFyLzItaW4uY2M6IE5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc3VuZ2V0Yy9jaGFyLzItaW8uY2M6IE5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc3VuZ2V0Yy9jaGFyLzItb3V0LmNjOiBOZXcuCgoyMDAzLTA2LTE1ICBSaWNoYXJkIEhlbmRlcnNvbiAgPHJ0aEByZWRoYXQuY29tPgoKCSogY29uZmlnL2xpbmtlci1tYXAuZ251OiBFeHBvcnQgdmlydHVhbCBmdW5jdGlvbiB0aHVua3MgZm9yCgk2NC1iaXQgc3lzdGVtcyB0b28uCgoyMDAzLTA2LTEzICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiBjb25maWcvYWJpL2k2ODYtcGMtbGludXgtZ251OiBUby4uCgkqIGNvbmZpZy9hYmkvaTQ4Ni1saW51eC1nbnU6IC4uLnRoaXMuCgkqIGNvbmZpZy9hYmkvYWxwaGFldjY3LXVua25vd24tbGludXgtZ251OiBUby4uCgkqIGNvbmZpZy9hYmkvYWxwaGEtbGludXgtZ251OiAuLi50aGlzLgoJKiBjb25maWcvYWJpL2lhNjQtdW5rbm93bi1saW51eC1nbnU6IFRvLi4uCgkqIGNvbmZpZy9hYmkvaWE2NC1saW51eC1nbnU6IC4uLnRoaXMuCgkqIGNvbmZpZy9hYmkveDg2XzY0LXVua25vd24tbGludXgtZ251OiBUby4uLgoJKiBjb25maWcvYWJpL3g4Nl82NC1saW51eC1nbnU6IC4uLnRoaXMuCgkqIGNvbmZpZy9hYmkvaTM4Ni11bmtub3duLWZyZWVic2Q0OiBUby4uLgoJKiBjb25maWcvYWJpL2kzODYtZnJlZWJzZDQ6IC4uLnRoaXMuCgkqIGNvbmZpZy9saW5rZXItbWFwLmdudTogQ2xlYW51cHMsIG1vdmUgbGlic3VwYysrIGJpdHMgaW50bwoJQ1hYQUJJLgoJKiBjb25maWd1cmUuaG9zdDogYWJpX2Jhc2VsaW5lX3RyaXBsZXQgdG8gYWJpX2Jhc2VsaW5lX3BhaXIuCglTaW1wbGlmeSBjcHUgYml0cyBzbyB0aGF0IGFiaV9iYXNlbGluZV9wYWlyIGNhbiB1c2UgdGhlIHNhbWUKCWNwdSBjb25maWd1cmF0aW9uLgoJKiBhY2luY2x1ZGUubTQ6IFNhbWUuCgkqIGFjbG9jYWwubTQ6IFJlZ2VuZXJhdGUuCgkqIGNvbmZpZ3VyZS5pbjogQ2FuJ3QgZ2V0IGVuYWJsZV9hYmlfY2hlY2sgdG8geWVzIHVubGVzcyBuYXRpdmUuCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZS4KCjIwMDMtMDYtMTMgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZWVrb2ZmL2NoYXIvMS5jYzogU3BsaXQgYW5kCglmaXggZm9yIG1pc3Npbmcgc2Vla3MgYmV0d2VlbiBnZXRzIGFuZCBwdXRzIGludG8uLi4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2Vla29mZi9jaGFyLzMtaW8uY2M6IE5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2Vla29mZi9jaGFyLzQtaW8uY2M6IE5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2Vla3Bvcy9jaGFyLzEuY2M6IFNhbWUsIGludG8uLi4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2Vla3Bvcy9jaGFyLzMtaW8uY2M6IE5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2Vla3Bvcy9jaGFyLzQtaW8uY2M6IE5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc3B1dGJhY2tjL2NoYXIvMS1pby5jYzogRml4Cglmb3IgbWlzc2luZyBzZWVrcyBiZXR3ZWVuIGdldHMgYW5kIHB1dHMuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NwdXRiYWNrYy9jaGFyLzItaW8uY2M6IERpdHRvLgoJKiB0ZXN0c3VpdGUvZGF0YS9zZWVrb2ZmLTEudHN0OiBOZXcuCgkqIHRlc3RzdWl0ZS9kYXRhL3NlZWtvZmYtMi50c3Q6IE5ldy4KCSogdGVzdHN1aXRlL2RhdGEvc2Vla3Bvcy0xLnRzdDogTmV3LgoJKiB0ZXN0c3VpdGUvZGF0YS9zZWVrcG9zLTIudHN0OiBOZXcuCgoyMDAzLTA2LTEzICBOYXRoYW4gQy4gTXllcnMgPG5jbS1ub3NwYW1AY2FudHJpcC5vcmc+CgoJQXZvaWQgbXVsdGktcHJvY2Vzc29yIGJ1cyBjb250ZW50aW9uIG9uIGluY3JlbWVudC9kZWNyZW1lbnQtYW5kLQoJdGVzdCBvZiB0aGUgcmVmZXJlbmNlIGNvdW50IGluIHRoZSBlbXB0eS1zdHJpbmcgb2JqZWN0LCBieSBjb21wYXJpbmcKCWFkZHJlc3NlcyBmaXJzdCwgYW5kIG5ldmVyIHRvdWNoaW5nIHRoZSByZWZlcmVuY2UgY291bnQgb2YgdGhlIGVtcHR5LQoJc3RyaW5nIG9iamVjdC4KCSogaW5jbHVkZS9iaXRzL2Jhc2ljX3N0cmluZy5oOgoJKF9TX2VtcHR5X3JlcF9zdG9yYWdlKTogTW92ZSBpbnRvIGJhc2ljX3N0cmluZzw+OjpfUmVwIGZvciB1c2UgYnkgaXRzCgltZW1iZXJzLgoJKF9SZXA6Ol9TX2VtcHR5X3JlcCgpKTogTmV3IGFjY2Vzc29yLgoJKF9SZXA6Ol9NX2xlbmd0aCwgX1JlcDo6X01fY2FwYWNpdHksIF9SZXA6Ol9NX3JlZmVyZW5jZXMpOiBNb3ZlIHRvCglhIGJhc2UgY2xhc3MgX1JlcF9iYXNlLgoJKF9SZXA6Ol9NX2Rpc3Bvc2UsIF9SZXA6Ol9NX3JlZmNvcHkpOiBDaGVjayBmb3IgdGhlIGVtcHR5IHN0cmluZy4KCShiYXNpY19zdHJpbmcoKSk6IENoYW5nZSB0byB1c2UgX01fcmVmZGF0YSgpIGluIHBsYWNlIG9mIF9NX3JlZmNvcHkoKSwKCXNpbmNlIG5vIGxvbmdlciBtdXN0IGluY3JlbWVudCBpdHMgcmVmY291bnQuCgkqIGluY2x1ZGUvYml0cy9iYXNpY19zdHJpbmcudGNjOgoJKF9SZXA6Ol9NX2Rlc3Ryb3ksIF9NX2xlYWtfaGFyZCk6IENoZWNrIGZvciB0aGUgZW1wdHkgc3RyaW5nIGFuZAoJcmV0dXJuIGltbWVkaWF0ZWx5LiAgVGhlIGZvcm1lciBtaWdodCBiZSB1bm5lY2Vzc2FyeS4gIFRoZSBsYXR0ZXIKCXByZXZlbnRzIGJlZ2luKCkgYW5kIGVuZCgpIGZyb20gY2xvbmluZyBpdCB1bm5lY2Vzc2FyaWx5LgoJKF9TX2NvbnN0cnVjdChfSW5JdGVyYXRvciwgX0luSXRlcmF0b3IsIGNvbnN0IF9BbGxvYyYsCglpbnB1dF9pdGVyYXRvcl90YWcpLCBfU19jb25zdHJ1Y3QoX0luSXRlcmF0b3IsIF9Jbkl0ZXJhdG9yLAoJY29uc3QgX0FsbG9jJiwgZm9yd2FyZF9pdGVyYXRvcl90YWcpLCBfU19jb25zdHJ1Y3Qoc2l6ZV90eXBlLCBfQ2hhclQsCgljb25zdCBfQWxsb2MmKSk6IENoYW5nZSB0byB1c2UgX01fcmVmZGF0YSgpIGluIHBsYWNlIG9mIF9NX3JlZmNvcHkoKS4KCShfTV9tdXRhdGUpOiBDaGVjayBmb3IgdGhlIGVtcHR5IHN0cmluZyBhbmQgdHJlYXQgaXQgYXMgc2hhcmVkLgoJVGhpcyBpcyBuZWNlc3NhcnkgaGVyZSBiZWNhdXNlIF9NX211dGF0ZSBpcyBzb21ldGltZXMgY2FsbGVkIHdpdGgKCWFsbC16ZXJvIGFyZ3VtZW50czsgaW4gYWxsIG90aGVyIHVzZXMgb2YgX01faXNfc2hhcmVkLCB0aGUgdGVzdCBjb21lcwoJb3V0IHJpZ2h0IGFueWhvdy4KCjIwMDMtMDYtMTIgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIHNyYy9hbGxvY2F0b3ItaW5zdC5jYzogRXhwbGljaXRseSBpbnN0YW50aWF0ZS4KCSogaW5jbHVkZS9leHQvcG9vbF9hbGxvY2F0b3IuaDogSW5oaWJpdCBpbXBsaWNpdCBpbnN0YW50aWF0aW9ucy4KCVR3ZWFrcy4KCSogY29uZmlnL2xpbmtlci1tYXAuZ251OiBBZGQgX19wb29sX2FsbG9jIGJpdHMuIFR3ZWFrcy4KCjIwMDMtMDYtMTEgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGFjaW5jbHVkZS5tNCAoR0xJQkNQUF9FTkFCTEVfQ1NURElPKTogU2ltcGxpZnkuCgkqIGFjbG9jYWwubTQ6IFJlZ2VuZXJhdGUuCgkqIE1ha2VmaWxlLmFtIChTVUJESVJTKTogUmVtb3ZlIGxpYmlvLgoJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCSogY29uZmlndXJlLmluOiBTYW1lLgoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGUuCgkqIGNvbmZpZy9pby9iYXNpY19maWxlX2xpYmlvLmNjOiBSZW1vdmUuCgkqIGNvbmZpZy9pby9iYXNpY19maWxlX2xpYmlvLmg6IFJlbW92ZS4KCSogY29uZmlnL2lvL2NfaW9fbGliaW9fY29kZWN2dC5jOiBSZW1vdmUuCgkqIGNvbmZpZy9pby9jX2lvX2xpYmlvLmg6IFJlbW92ZS4KCSogbGliaW8vKjogUmVtb3ZlLgoJKiBzcmMvTWFrZWZpbGUuYW06IFNhbWUuCgkqIHNyYy9NYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCSogZG9jcy9odG1sL2NvbmZpZ29wdHMuaHRtbDogRWRpdHMuCgkqIGRvY3MvaHRtbC9leHBsYW5hdGlvbnMuaHRtbDogRWRpdHMuCgoyMDAzLTA2LTExICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL2JpdHMvc3RsX2FsbG9jLmggKF9fZGVidWdfYWxsb2MpOiBNb3ZlIG91dC4KCShfX21hbGxvY19hbGxvYyk6IFNhbWUuCgkoX19wb29sX2FsbG9jKTogU2FtZS4KCShfX25ld19hbGxvYyk6IFNhbWUuCglSZW5hbWUgdG8uLgoJKiBpbmNsdWRlL2JpdHMvYWxsb2NhdG9yLmg6IC4uLnRoaXMuCgkqIGluY2x1ZGUvYml0cy9zdGxfZGVxdWUuaDogTW9kaWZ5IGNvbW1lbnQuCgkqIGluY2x1ZGUvYml0cy9zdGxfdHJlZS5oOiBNb2RpZnkgaW5jbHVkZS4KCSogaW5jbHVkZS9zdGQvc3RkX21lbW9yeS5oOiBTYW1lLgoJKiBpbmNsdWRlL2V4dC9yb3BlOiBTYW1lLgoJKiBpbmNsdWRlL2V4dC9zbGlzdDogU2FtZS4KCSogaW5jbHVkZS9zdGQvc3RkX3ZlY3Rvci5oOiBTYW1lLgoJKiBpbmNsdWRlL3N0ZC9zdGRfc3RhY2suaDogU2FtZS4KCSogaW5jbHVkZS9zdGQvc3RkX3F1ZXVlLmg6IFNhbWUuCgkqIGluY2x1ZGUvc3RkL3N0ZF9saXN0Lmg6IFNhbWUuCgkqIGluY2x1ZGUvc3RkL3N0ZF9kZXF1ZS5oOiBTYW1lLgoJKiBpbmNsdWRlL2JhY2t3YXJkL2FsbG9jLmg6IFNhbWUuCgkqIGluY2x1ZGUvZXh0L2RlYnVnX2FsbG9jYXRvci5oOiBOZXcuCgkqIGluY2x1ZGUvZXh0L21hbGxvY19hbGxvY2F0b3IuaDogTmV3LgoJKiBpbmNsdWRlL2V4dC9wb29sX2FsbG9jYXRvci5oOiBOZXcuCgkqIGluY2x1ZGUvZXh0L25ld19hbGxvY2F0b3IuaDogTmV3LgoJKiBpbmNsdWRlL2JpdHMvcHRocmVhZF9hbGxvY2ltcGwuaDogUmVtb3ZlLgoJKiBpbmNsdWRlL2JpdHMvc3RsX3B0aHJlYWRfYWxsb2MuaDogUmVtb3ZlLgoJKiBpbmNsdWRlL01ha2VmaWxlLmFtIChleHRfaGVhZGVycyk6IEFkZC4KCSogaW5jbHVkZS9NYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCSogc3JjL3N0bC1pbnN0LmNjOiBVc2UgX19nbnVfY3h4IG5hbWVzcGFjZS4KCSogc3JjL3N0bC1pbnN0LmNjOiBNb3ZlIHRvLi4uCgkqIHNyYy9hbGxvY2F0b3ItaW5zdC5jYzogSGVyZS4KCSogc3JjL01ha2VmaWxlLmFtIChzb3VyY2VzKTogVXBkYXRlLgoJKiBzcmMvTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkqIGNvbmZpZy9saW5rZXItbWFwLmdudTogUmVtb3ZlIF9fcG9vbF9hbGxvYyBiaXRzLgoJKiB0ZXN0c3VpdGUvZXh0L2hlYWRlcnMuY2M6IEFkZC4KCSogdGVzdHN1aXRlL2V4dC9hbGxvY2F0b3JzLmNjOiBGaXh1cC4KCjIwMDMtMDYtMTEgIFN0ZWZhbiBPbHNzb24gIDxzdGVmYW5Ac25vbi5uZXQ+CgkgICAgT2xhIFL2bm5lcnVwICA8Zm5vbGlzQGhvbWUuc2U+CgoJKiBpbmNsdWRlL01ha2VmaWxlLmFtIChleHRfaGVhZGVycyk6IEFkZC4KCSogaW5jbHVkZS9NYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCSogaW5jbHVkZS9leHQvbXRfYWxsb2NhdG9yLmg6IE5ldyBmaWxlLgoKMjAwMy0wNi0xMCAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIGluY2x1ZGUvYml0cy9mc3RyZWFtLnRjYyAoY2xvc2UpOiBDbGVhbiB1cCBhIGJpdC4KCgkqIGluY2x1ZGUvYml0cy9zdHJlYW1idWYudGNjIChzYnVtcGMpOiBDbGVhbiB1cCBhIGJpdC4KCgkqIGluY2x1ZGUvc3RkL3N0ZF9mc3RyZWFtLmggKF9NX2Rlc3Ryb3lfcGJhY2spOiBfTV9wYmFja19jdXJfc2F2ZQoJLSB0aGUgc2F2ZWQgX01faW5fY3VyLCB0aGF0IGlzIC0gY2Fubm90IGJlIG51bGwuCgkoc3luYyk6IENvbnN0aWZ5IGEgdmFyaWFibGUuCgoJKiBpbmNsdWRlL3N0ZC9zdGRfc3RyZWFtYnVmLmg6IFR3ZWFrIGEgY29tbWVudC4KCShpbl9hdmFpbCk6IENvbnN0aWZ5IGEgdmFyaWFibGUuCgoyMDAzLTA2LTEwICBQaGlsIEVkd2FyZHMgIDxwbWVAZ2NjLmdudS5vcmc+CgoJKiBkb2NzL2h0bWwvMTdfaW50cm8vQlVHUzogIFVwZGF0ZSBmcm9tIDIuOTAuOCBzbmFwc2hvdC4KCSogZG9jcy9odG1sLzE3X2ludHJvL0NIRUNLTElTVDogIEJyaW5nIHVwIHRvIGRhdGUgd2l0aCByZXNwZWN0IHRvCgljb3JyZWN0bmVzcyBvZiBjb250YWluZXI6Oml0ZXJhdG9yIHR5cGVkZWZzLiAgRml4IHdoaXRlc3BhY2UuCgkqIGRvY3MvaHRtbC8yMF91dGlsL2hvd3RvLmh0bWwsIGRvY3MvaHRtbC9leHQvaG93dG8uaHRtbDogIEFkZCBsaW5rcwoJdG8gYWxsb2NhdG9yIGRvY3MuCgkqIGRvY3MvaHRtbC9kb2N1bWVudGF0aW9uLmh0bWw6ICBSZWdlbmVyYXRlLgoKCSogaW5jbHVkZS9iaXRzL2Jhc2ljX3N0cmluZy5oLCBpbmNsdWRlL2JpdHMvYmFzaWNfc3RyaW5nLnRjYywKCWluY2x1ZGUvYml0cy9kZXF1ZS50Y2MsIGluY2x1ZGUvYml0cy9saXN0LnRjYywgaW5jbHVkZS9iaXRzL3N0bF9hbGdvLmgsCglpbmNsdWRlL2JpdHMvc3RsX2FsZ29iYXNlLmgsIGluY2x1ZGUvYml0cy9zdGxfYnZlY3Rvci5oLAoJaW5jbHVkZS9iaXRzL3N0bF9kZXF1ZS5oLCBpbmNsdWRlL2JpdHMvc3RsX2l0ZXJhdG9yX2Jhc2VfZnVuY3MuaCwKCWluY2x1ZGUvYml0cy9zdGxfbGlzdC5oLCBpbmNsdWRlL2JpdHMvc3RsX3VuaW5pdGlhbGl6ZWQuaCwKCWluY2x1ZGUvYml0cy9zdGxfdmVjdG9yLmgsIGluY2x1ZGUvYml0cy92ZWN0b3IudGNjLAoJaW5jbHVkZS9leHQvYWxnb3JpdGhtLCBpbmNsdWRlL2V4dC9zbGlzdCwgaW5jbHVkZS9zdGQvc3RkX2JpdHNldC5oOgoJQ2hhbmdlIF9JdGVyIG5hbWVzIHRvIF9JdGVyYXRvciwgYW5kIF9fcG9zIHRvIF9fcG9zaXRpb24uCgoJKiBpbmNsdWRlL2JpdHMvc3RsX3JlbG9wcy5oLCBpbmNsdWRlL2JpdHMvc3RsX251bWVyaWMuaCwKCWluY2x1ZGUvYml0cy9zdGxfbXVsdGlzZXQuaCwgaW5jbHVkZS9iaXRzL3N0bF9zZXQuaDoKCVJlbW92ZSBlbWFjcyBtYXJrZXJzLgoKCSogaW5jbHVkZS9iaXRzL3N0bF90aHJlYWRzLmggKF9TVExfYXV0b19sb2NrKTogIEFkZCBfX3VudXNlZF9fLgoKMjAwMy0wNi0xMCAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIGluY2x1ZGUvYml0cy9mc3RyZWFtLnRjYyAob3ZlcmZsb3cpOiBBY2NvcmRpbmcgdG8KCTI3LjUuMi40LjUsIG92ZXJmbG93KCkgcmV0dXJucyBub3RfZW9mKGVvZigpKS4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvb3ZlcmZsb3cvY2hhci8yLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL292ZXJmbG93L2NoYXIvMi11bmJ1Zi5jYzogRGl0dG8uCgoyMDAzLTA2LTEwICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogaW5jbHVkZS9iaXRzL2ZzdHJlYW0udGNjIChfTV91bmRlcmZsb3cpOiBDaGVjayBvdmVyZmxvdyByZXR1cm4KCXZhbHVlOyB0d2VhayBzbGlnaHRseS4KCjIwMDMtMDYtMDkgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJKiBpbmNsdWRlL2JpdHMvZnN0cmVhbS50Y2MgKF9NX3VuZGVyZmxvdyk6IERvIG5vdCBzcGVjaWFsCgljYXNlIHRoZSB1bmJ1ZmZlcmVkIGNhc2UsIHdoaWNoIHJlYWxseSBtZWFucyBzaW1wbHkgYSBvbmUgY2hhcgoJZ2V0IGFyZWEuCgkoYmFzaWNfZmlsZWJ1Zik6IEluaXRpYWxpemUgX01fYnVmX3NpemUuCgkoc2V0YnVmKTogVW5idWZmZXJlZCBtZWFucyBfTV9idWZfc2l6ZSA9PSAxLCBzaW5jZSBvbmx5CglfTV9idWZfc2l6ZSAtIDEgPT0gMCBjaGFycyBhcmUgZ29pbmcgdG8gYmUgdXNlZCBmb3IgdGhlCglwdXQgYXJlYSBhbmQgMSBmb3IgdGhlIGdldCBhcmVhLgoJKiBpbmNsdWRlL3N0ZC9zdGRfc3RyZWFtYnVmLmggKF9NX2J1Zl9zaXplKTogTW92ZSB0byBiYXNpY19maWxlYnVmLgoJKH5iYXNpY19zdHJlYW1idWYpOiBUd2Vhay4KCShiYXNpY19zdHJlYW1idWYpOiBEbyBub3QgaW5pdGlhbGl6ZSBfTV9idWZfc2l6ZS4KCSogaW5jbHVkZS9zdGQvc3RkX2ZzdHJlYW0uaCAoX01fYnVmX3NpemUpOiBBZGQgZnJvbSBiYXNpY19zdHJlYW1idWYuCgkofmJhc2ljX2ZpbGVidWYpOiBUd2Vhay4KCShfTV9zZXRfYnVmZmVyKTogVHdlYWssIGNvbnNpZGVyaW5nIHRoYXQgX01fYnVmX3NpemUgPT0gMSBpcyB0aGUKCXVuYnVmZmVyZWQgc2l0dWF0aW9uIChpLmUuLCBwdXQgYXJlYSBwb2ludGVycyBOVUxMKS4KCSogaW5jbHVkZS9iaXRzL3N0cmVhbWJ1Zi50Y2MgKHNidW1wYyk6IENsZWFuIHVwLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zcHV0YmFja2MvY2hhci8xLmNjOiBTcGxpdCBpbnRvLi4uCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NwdXRiYWNrYy9jaGFyLzEtaW4uY2M6IE5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc3B1dGJhY2tjL2NoYXIvMS1pby5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zcHV0YmFja2MvY2hhci8xLW91dC5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zcHV0YmFja2MvY2hhci8yLWluLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NwdXRiYWNrYy9jaGFyLzItaW8uY2M6IE5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc3B1dGJhY2tjL2NoYXIvMi1vdXQuY2M6IE5ldy4KCjIwMDMtMDYtMDkgIFBoaWwgRWR3YXJkcyAgPHBtZUBnY2MuZ251Lm9yZz4KCgkqIGFjaW5jbHVkZS5tNDogIE1vdmUgYWxsIEFNX0NPTkRJVElPTkFMIGNhbGxzIG91dC4KCShHTElCQ1BQX0NPTkZJR1VSRSk6ICBTZXQgZGVmYXVsdHMgZm9yIHZhcmlhYmxlcyB1c2VkIGluIEFNX0NPTkRJVElPTkFMCglzdGF0ZW1lbnRzLgoJKiBjb25maWd1cmUuaW46ICBDZW50cmFsaXplIEFNX0NPTkRJVElPTkFMcyBzbyB0aGF0IHRoZXkgYXJlIGFsd2F5cwoJcnVuLiAgTWFrZSB1c2Ugb2YgR0xJQkNQUF9JU19DUk9TU19DT01QSUxJTkcuCgkqIGFjbG9jYWwubTQsIGNvbmZpZ3VyZTogIFJlZ2VuZXJhdGVkLgoKMjAwMy0wNi0wOSAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIGRvY3MvaHRtbC9leHQvaG93dG8uaHRtbCAoJ0xXRyBJc3N1ZXMnKTogIEFkZCBpc3N1ZSAyMzUuCgoyMDAzLTA2LTA2ICBOYXRoYW4gTXllcnMgIDxuY20tbm9zcGFtQGNhbnRyaXAub3JnPgoKCSogaW5jbHVkZS9iaXRzL3N0bF9pdGVyYXRvci5oCgkocmV2ZXJzZV9pdGVyYXRvcjo6cmV2ZXJzZV9pdGVyYXRvcigpKTogQXBwbHkgRFIyMzU6IGRlZmF1bHQKCWNvbnN0cnVjdG9yIGRlZmF1bHQtaW5pdGlhbGl6ZXMgZGF0YSBtZW1iZXIuICBJbnN0YW50aWF0ZWQgb24gYQoJcG9pbnRlciB0eXBlLCB0aGUgbWVtYmVyIGhhcyB0byBlbmQgdXAgZXF1YWwgdG8gemVyby4KCjIwMDMtMDYtMDYgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvYml0cy9zdGxfYWxsb2MuaDogQ2xlYW51cHMuCgkqIGluY2x1ZGUvZXh0L2Z1bmN0aW9uYWw6IFNhbWUuCgkqIGluY2x1ZGUvZXh0L2hhc2hfbWFwOiBTYW1lLgoJKiBpbmNsdWRlL2V4dC9oYXNoX3NldDogU2FtZS4KCSogaW5jbHVkZS9leHQvaXRlcmF0b3I6IFNhbWUuCgkqIGluY2x1ZGUvZXh0L21lbW9yeTogU2FtZS4KCSogaW5jbHVkZS9leHQvbnVtZXJpYzogU2FtZS4KCSogaW5jbHVkZS9leHQvcmJfdHJlZTogU2FtZS4KCSogaW5jbHVkZS9leHQvcm9wZWltcGwuaDogU2FtZS4KCSogaW5jbHVkZS9leHQvc2xpc3Q6IFNhbWUuCgkqIGluY2x1ZGUvZXh0L3N0ZGlvX2ZpbGVidWYuaDogU2FtZS4KCSogaW5jbHVkZS9leHQvc3RkaW9fc3luY19maWxlYnVmLmg6IFNhbWUuCgkqIGluY2x1ZGUvZXh0L3N0bF9yb3BlLmg6IE1vdmUgdG8uLi4KCSogaW5jbHVkZS9leHQvcm9wZTogLi4uaGVyZS4KCSogaW5jbHVkZS9leHQvc3RsX2hhc2hfZnVuLmg6IE1vdmUgdG8uLi4KCSogaW5jbHVkZS9leHQvaGFzaF9mdW4uaDogLi4uaGVyZS4KCSogaW5jbHVkZS9leHQvc3RsX2hhc2h0YWJsZS5oOiBNb3ZlIHRvLi4uCgkqIGluY2x1ZGUvZXh0L2hhc2h0YWJsZS5oOiAuLi5oZXJlLgoJKiBpbmNsdWRlL2JhY2t3YXJkL2hhc2h0YWJsZS5oOiBSZWZsZWN0IG5ldyBuYW1lcy4KCSogaW5jbHVkZS9NYWtlZmlsZS5hbTogU2FtZS4KCSogaW5jbHVkZS9NYWtlZmlsZS5pbjogUmVnZW5lcmF0ZWQuCgoyMDAzLTA2LTA1ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJUFIgbGlic3RkYysrLzkwMjQKCSogaW5jbHVkZS9iaXRzL2ZzdHJlYW0udGNjIChfTV91bmRlcmZsb3cpOiBGaXggZm9yIHVuYnVmZmVyZWQuCgkqIGluY2x1ZGUvYml0cy9zdGxfYWxnb2Jhc2UuaDogVHdlYWsuCgkqIGluY2x1ZGUvc3RkL3N0ZF9mc3RyZWFtLmg6IE1vdmUgX01fYnVmX3NpemUgdG8uLi4KCSogaW5jbHVkZS9zdGQvc3RkX3N0cmVhbWJ1Zi5oOiAuLi5oZXJlLiBNb2RpZnkuCgkqIGluY2x1ZGUvYml0cy9zdHJlYW1idWYudGNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvdGVzdHN1aXRlX2hvb2tzLmg6IFR3ZWFrLgoJKiB0ZXN0c3VpdGUvdGVzdHN1aXRlX2lvLmggKGNvbnN0cmFpbnRfZmlsZWJ1Zik6IE5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2J1bXBjL2NoYXIvMS5jYzogU3BsaXQgaW50by4uLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zYnVtcGMvY2hhci8xLWluLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NidW1wYy9jaGFyLzEtaW8uY2M6IE5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2J1bXBjL2NoYXIvMS1vdXQuY2M6IE5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2J1bXBjL2NoYXIvMi1pbi5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zYnVtcGMvY2hhci8yLWlvLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NidW1wYy9jaGFyLzItb3V0LmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NnZXRjL2NoYXIvMS5jYzogU3BsaXQgaW50by4uLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZ2V0Yy9jaGFyLzEtaW4uY2M6IE5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2dldGMvY2hhci8xLWlvLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NnZXRjL2NoYXIvMS1vdXQuY2M6IE5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2dldGMvY2hhci8yLWluLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NnZXRjL2NoYXIvMi1pby5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZ2V0Yy9jaGFyLzItb3V0LmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NnZXRuL2NoYXIvMS5jYzogU3BsaXQgaW50by4uLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZ2V0bi9jaGFyLzEtaW4uY2M6IE5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2dldG4vY2hhci8xLWlvLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NnZXRuL2NoYXIvMS1vdXQuY2M6IE5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2dldG4vY2hhci8yLmNjOiBTcGxpdCBpbnRvLi4uCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NnZXRuL2NoYXIvMi1pbi5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZ2V0bi9jaGFyLzItaW8uY2M6IE5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2dldG4vY2hhci8yLW91dC5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZ2V0bi9jaGFyLzMuY2M6IE5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc25leHRjL2NoYXIvMS5jYzogU3BsaXQgaW50by4uLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zbmV4dGMvY2hhci8xLWluLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NuZXh0Yy9jaGFyLzEtaW8uY2M6IE5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc25leHRjL2NoYXIvMS1vdXQuY2M6IE5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc25leHRjL2NoYXIvMi1pbi5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zbmV4dGMvY2hhci8yLWlvLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NuZXh0Yy9jaGFyLzItb3V0LmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NwdXRjL2NoYXIvMS5jYzogU3BsaXQgaW50by4uLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zcHV0Yy9jaGFyLzEtaW4uY2M6IE5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc3B1dGMvY2hhci8xLWlvLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NwdXRjL2NoYXIvMS1vdXQuY2M6IE5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc3B1dGMvY2hhci8yLmNjOiBTcGxpdCBpbnRvLi4uCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NwdXRjL2NoYXIvMi1pbi5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zcHV0Yy9jaGFyLzItaW8uY2M6IE5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc3B1dGMvY2hhci8yLW91dC5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zcHV0bi9jaGFyLzEuY2M6IFNwbGl0IGludG8uLi4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc3B1dG4vY2hhci8xLWluLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NwdXRuL2NoYXIvMS1pby5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zcHV0bi9jaGFyLzEtb3V0LmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NwdXRuL2NoYXIvMi1pbi5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zcHV0bi9jaGFyLzItaW8uY2M6IE5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc3B1dG4vY2hhci8yLW91dC5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvZGF0YS9zZ2V0Yy50eHQ6IE5ldy4KCSogdGVzdHN1aXRlL2RhdGEvc2dldG4udHh0OiBOZXcuCgoyMDAzLTA2LTA1ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCVBSIGxpYnN0ZGMrKy8xMTA5NQoJKiBpbmNsdWRlL2JpdHMvaXN0cmVhbS50Y2MgKG9wZXJhdG9yPj4oYmFzaWNfaXN0cmVhbSYsIF9DaGFyVCopKToKCURlYWwgd2l0aCB3aWR0aCgpIHNtYWxsZXIgdGhhbiB6ZXJvLgoJKiBpbmNsdWRlL2JpdHMvb3N0cmVhbS50Y2MgKG9wZXJhdG9yPDwoYmFzaWNfb3N0cmVhbSYsIF9DaGFyVCksCglvcGVyYXRvcjw8KGJhc2ljX29zdHJlYW0mLCBjaGFyKSwgb3BlcmF0b3I8PChiYXNpY19vc3RyZWFtJiwgY29uc3QKCV9DaGFyVCopLCBvcGVyYXRvcjw8KGJhc2ljX29zdHJlYW08X0NoYXJULCBfVHJhaXRzPiYsIGNvbnN0CgljaGFyKiksIG9wZXJhdG9yPDwoYmFzaWNfb3N0cmVhbTxjaGFyLCBfVHJhaXRzPiYsIGNvbnN0IGNoYXIqKSwKCW9wZXJhdG9yPDwoYmFzaWNfb3N0cmVhbSwgY29uc3QgYmFzaWNfc3RyaW5nJikpOiBMaWtld2lzZS4KCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19pc3RyZWFtL2V4dHJhY3RvcnNfY2hhcmFjdGVyL2NoYXIvCgkoMTEwOTUtaS5jYywgMTEwOTUtb2EuY2MsIDExMDk1LW9iLmNjLCAxMTA5NS1vYy5jYyk6IE5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX29zdHJlYW0vaW5zZXJ0ZXJzX2NoYXJhY3Rlci9jaGFyLwoJKDExMDk1LW9hLmNjLCAxMTA5NS1vYi5jYywgMTEwOTUtb2MuY2MpOiBOZXcuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19vc3RyZWFtL2luc2VydGVyc19jaGFyYWN0ZXIvd2NoYXJfdC8KCSgxMTA5NS1vZC5jYywgMTEwOTUtb2UuY2MsIDExMDk1LW9mLmNjKTogTmV3LgoKMjAwMy0wNi0wNSAgUmFpbmVyIE9ydGggIDxyb0BUZWNoRmFrLlVuaS1CaWVsZWZlbGQuREU+CgoJKiBhY2luY2x1ZGUubTQgKEdMSUJDUFBfQ0hFQ0tfUENIKTogT25seSBzZXQgZ2xpYmNwcF9QQ0hGTEFHUyBpZgoJLmdjaCBjb21waWxhdGlvbiB3b3Jrcy4KCSogYWNsb2NhbC5tNCwgY29uZmlndXJlOiBSZWdlbmVyYXRlLgoJKiB0ZXN0c3VpdGVfZmxhZ3MuaW4gKC0tYnVpbGQtY3h4KTogVXNlIGdsaWJjcHBfUENIRkxBR1MgdG8KCWluaXRpYWxpemUgUENIRkxBR1MuCgoyMDAzLTA2LTA0ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogaW5jbHVkZS9iaXRzL2Jhc2ljX3N0cmluZy5oIChfTV9mb2xkLCBpbnNlcnQoaXRlcmF0b3IsIF9DaGFyVCksCgllcmFzZShpdGVyYXRvciksIGVyYXNlKGl0ZXJhdG9yLCBpdGVyYXRvciksIGNfc3RyLAoJY29tcGFyZShjb25zdCBiYXNpY19zdHJpbmcmKSk6IENvbnN0aWZ5IHZhcmlvdXMgdmFyaWFibGVzLgoJKiBpbmNsdWRlL2JpdHMvYmFzaWNfc3RyaW5nLnRjYyAoX1NfY29uc3RydWN0KF9Jbkl0ZXIsIF9Jbkl0ZXIsCgljb25zdCBfQWxsb2MmLCBpbnB1dF9pdGVyYXRvcl90YWcpLCBfTV9kZXN0cm95LCBfTV9tdXRhdGUsCglfU19jcmVhdGUsIHJlc2l6ZSwgX01fcmVwbGFjZSwgX01fcmVwbGFjZV9zYWZlLAoJYXBwZW5kKGNvbnN0IGJhc2ljX3N0cmluZyYpLCBhcHBlbmQoY29uc3QgYmFzaWNfc3RyaW5nJiwgc2l6ZV90eXBlLAoJc2l6ZV90eXBlKSwgYXBwZW5kKGNvbnN0IF9DaGFyVCosIHNpemVfdHlwZSksIGFwcGVuZChzaXplX3R5cGUsCglfQ2hhclQpLCBvcGVyYXRvcisoY29uc3QgX0NoYXJUKiwgY29uc3QgYmFzaWNfc3RyaW5nJiksCglvcGVyYXRvcisoX0NoYXJULCBjb25zdCBiYXNpY19zdHJpbmcmKSwgcmVwbGFjZShpdGVyYXRvciwgaXRlcmF0b3IsCglzaXplX3R5cGUsIF9DaGFyVCksIGZpbmQoY29uc3QgX0NoYXJUKiwgc2l6ZV90eXBlLCBzaXplX3R5cGUpLAoJZmluZChfQ2hhclQsIHNpemVfdHlwZSksIHJmaW5kKGNvbnN0IF9DaGFyVCosIHNpemVfdHlwZSwgc2l6ZV90eXBlKSwKCXJmaW5kKF9DaGFyVCwgc2l6ZV90eXBlKSwgY29tcGFyZShzaXplX3R5cGUsIHNpemVfdHlwZSwKCWNvbnN0IGJhc2ljX3N0cmluZyYpLCBjb21wYXJlKHNpemVfdHlwZSwgc2l6ZV90eXBlLAoJY29uc3QgYmFzaWNfc3RyaW5nJiwgc2l6ZV90eXBlLCBzaXplX3R5cGUpLCBjb21wYXJlKGNvbnN0IF9DaGFyVCopLAoJY29tcGFyZShzaXplX3R5cGUsIHNpemVfdHlwZSwgY29uc3QgX0NoYXJUKiksIGNvbXBhcmUoc2l6ZV90eXBlLAoJc2l6ZV90eXBlLCBjb25zdCBfQ2hhclQqLCBzaXplX3R5cGUpKTogTGlrZXdpc2UuCgoyMDAzLTA2LTAzICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL2JpdHMvZnN0cmVhbS50Y2MgKHBiYWNrZmFpbCk6IE1ha2UgYSByYXJlbHkgdGFrZW4KCSdpZicgYnJhbmNoIGxlc3Mgb2JzY3VyZS4KCjIwMDMtMDYtMDIgIEFuZHJldyBQaW5za2kgIDxwaW5za2lhQHBoeXNpY3MudWMuZWR1PgoKCVBSIGxpYnN0ZGMrKy85ODE1CgkqIGNvbmZpZy9jcHUvaTM4Ni9hdG9taWNpdHkuaCAoX19leGNoYW5nZV9hbmRfYWRkKTogYWRkIGludGVsCglhc20gY2FzZSB0byBhc20uCgkqIGNvbmZpZy9jcHUvaTQ4Ni9hdG9taWNpdHkuaCAoX19leGNoYW5nZV9hbmRfYWRkKTogTGlrZXdpc2UuCgkoX19hdG9taWNfYWRkKTogbGlrZXdpc2UuCgoyMDAzLTA2LTAyICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogaW5jbHVkZS9iaXRzL3NzdHJlYW0udGNjIChwYmFja2ZhaWwpOiBNaW5vciBjbGVhbiB1cCBhbmQKCXJlZm9ybWF0dGluZywgY29uc2lzdGVudCB3aXRoIGJhc2ljX2ZpbGVidWY6OnBiYWNrZmFpbC4KCjIwMDMtMDYtMDIgIFJpY2hhcmQgS3JlY2tlbCAgPFJpY2hhcmQuS3JlY2tlbEBHaU5hQy5ERT4KCglQUiBsaWJzdGRjKysvMTEwNjIKCSogY29uZmlnL2NwdS9taXBzL2F0b21pY2l0eS5oOiAgQ2hhbmdlIF9fYXR0cmlidXRlX18gKCh1bnVzZWQpKSB0bwoJX19hdHRyaWJ1dGVfXyAoKF9fdW51c2VkX18pKS4KCSogY29uZmlnL29zL2FpeC9hdG9taWNpdHkuaDogIExpa2V3aXNlLgoKMjAwMy0wNi0wMiAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCglQUiBsaWJzdGRjKysvOTc2MQoJKiBpbmNsdWRlL2JpdHMvZnN0cmVhbS50Y2MgKHBiYWNrZmFpbCk6IElmIHRoZSBwYmFjayBidWZmZXIKCWlzIGFscmVhZHkgYWN0aXZlIGRvbid0IHRyeSB0byBzdG9yZSBpbiBpdCBhIHNlY29uZCBjaGFyLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9wYmFja2ZhaWwvY2hhci85NzYxLmNjOiBOZXcuCgoJKiBpbmNsdWRlL2JpdHMvZnN0cmVhbS50Y2MgKHBiYWNrZmFpbCk6IEFkZCB1bmJ1ZmZlcmVkIGJpdHMuCgoyMDAzLTA2LTAyICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX3N0cmluZ2J1Zi9zZWVrcG9zL2NoYXIvMy5jYzogVHdlYWsKCWxpbmUgc3BhY2luZy4KCjIwMDMtMDYtMDIgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJKiBpbmNsdWRlL3N0ZC9zdGRfZnN0cmVhbS5oIChfTV9kZXN0cm95X3BiYWNrKTogVXNlIF9NX2luX2JlZwoJaW5zdGVhZCBvZiB1bm5lY2Vzc2FyaWx5IHRha2luZyB0aGUgYWRkcmVzcyBvZiBfTV9wYmFjay4KCSh4c2dldG4pOiBTaW1wbGlmeSBzbGlnaHRseSBmb3IgYSBzaW5nbGUgY2hhciBwYmFjayBidWZmZXIuCgoyMDAzLTA2LTAyICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogaW5jbHVkZS9iaXRzL3NzdHJlYW0udGNjIChzZWVrb2ZmKTogUmVtb3ZlIGZvdXIgdW5uZWNlc3NhcnkKCXZhcmlhYmxlcyBhbmQgdHdvICdpZicsIGNsZWFuIHVwLgoKMjAwMy0wNi0wMiAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIGluY2x1ZGUvYml0cy9zc3RyZWFtLnRjYyAoc2Vla3Bvcyk6IFRlc3QgYWdhaW5zdCBfTV9vdXRfbGltCglub3QgX01fb3V0X2VuZCwgc2luY2UgdGhlIGZvcm1lciBhY3R1YWxseSBwb2ludHMgdG8gdGhlIHN0cmluZwoJZW5kICh2cyBidWZmZXIgZW5kKS4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX3N0cmluZ2J1Zi9zZWVrcG9zL2NoYXIvMy5jYzogTmV3LgoKMjAwMy0wNS0zMCAgUGhpbCBFZHdhcmRzICA8cG1lQGdjYy5nbnUub3JnPgoKCSogZG9jcy9kb3h5Z2VuL2ZpbHRlcjogIE5ldyBmaWxlLgoJKiBkb2NzL2RveHlnZW4vZmlsdGVyLnNlZDogIE5ldyBmaWxlLgoJKiBkb2NzL2RveHlnZW4vcnVuX2RveHlnZW46ICBBZGQgZyBmbGFnIHRvIHNlZCBzdWJzdGl0dXRpb25zLiAgRHVoLgoJKiBkb2NzL2RveHlnZW4vdXNlci5jZmcuaW4gKElOUFVUX0ZJTFRFUik6ICBQb2ludCB0byBuZXcgZmlsdGVyLgoJKiBkb2NzL2h0bWwvZG9jdW1lbnRhdGlvbi5odG1sOiAgRml4IGxpbmtzIHRvIGRveHlnZW4gcGFnZXMuCgoyMDAzLTA1LTMwICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogaW5jbHVkZS9iaXRzL2ZzdHJlYW0udGNjIChfTV9jb252ZXJ0X3RvX2V4dGVybmFsKTogRG9uJ3QKCWNoZWNrIGZvciBfX2lsZW4gPiAwLgoKMjAwMy0wNS0yOSAgU3lsdmFpbiBQaW9uICA8U3lsdmFpbi5QaW9uQG1waS1zYi5tcGcuZGU+CgoJUFIgbGlic3RkYysrLzEwNzgzCgkqIGluY2x1ZGUvYml0cy9zdGxfaXRlcmF0b3IuaCAoY2xhc3MgX19ub3JtYWxfaXRlcmF0b3IpOgoJRG9uJ3QgaW5oZXJpdCBmcm9tIGl0ZXJhdG9yLCBhZGQgbWlzc2luZyB0eXBlZGVmcy4KCjIwMDMtMDUtMjkgIFBhb2xvIENhcmxpbmkgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIHRlc3RzdWl0ZS8yNF9pdGVyYXRvcnMvcmV2ZXJzZV9pdGVyYXRvci5jYzogU3BsaXQgdXAsIGFzIGZvbGxvd3MuCgkqIHRlc3RzdWl0ZS8yNF9pdGVyYXRvcnMvcmV2ZXJzZV9pdGVyYXRvci8xLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yNF9pdGVyYXRvcnMvcmV2ZXJzZV9pdGVyYXRvci8yLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yNF9pdGVyYXRvcnMvcmV2ZXJzZV9pdGVyYXRvci8zLmNjOiBOZXcsIGZyb20KCVBSIGxpYnN0ZGMrKy8xMDc4My4KCjIwMDMtMDUtMjcgIFN0ZXZlIEVsbGNleSAgPHNqZUBjdXAuaHAuY29tPgoKCSogY29uZmlnL29zL2hwdXgvb3NfZGVmaW5lcy5oOiBEZWZpbmUgX0xJQlVOV0lORF9TVERfQUJJIGlmIHdlIGFyZQoJb24gSUE2NCBIUC1VWC4KCSogbGlic3VwYysrL2VoX3Rocm93LmNjOiBEb24ndCBjYWxsIF9VbndpbmRfUmVzdW1lX29yX1JldGhyb3cgaWYKCV9MSUJVTldJTkRfU1REX0FCSSBpcyBzZXQuCgoyMDAzLTA1LTI2ICBCcmVuZGFuIEtlaG9lICA8YnJlbmRhbkB6ZW4ub3JnPgoKCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjIChkb19nZXQpOiBIb25vciAkMjIuMi42LjMuMy84IGFuZAoJbWFrZSBzdXJlIHRoZSBudW1iZXIgb2YgZGlnaXRzIHJlcXVpcmVkIGFmdGVyIHRoZSBkZWNpbWFsLXBvaW50CgkoaWYgYW55KSBpcyBleGFjdGx5IHRoZSB2YWx1ZSByZXR1cm5lZCBieSBmcmFjX2RpZ2l0cygpLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL21vbmV5X2dldC9nZXQvY2hhci85LmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbW9uZXlfZ2V0L2dldC93Y2hhcl90LzkuY2M6IE5ldy4KCjIwMDMtMDUtMjcgIEpvbmF0aGFuIFdha2VseSAgPHJlZGlAZ2NjLmdudS5vcmc+CgoJKiBpbmNsdWRlL3N0ZC9zdGRfaXN0cmVhbS5oLCBpbmNsdWRlL3N0ZC9zdGRfb3N0cmVhbS5oOiBUeXBvIGluCgljb21tZW50LgoKMjAwMy0wNS0yNiAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCVBSIGxpYnN0ZGMrKy85MzM5CgkqIGluY2x1ZGUvc3RkL3N0ZF9mc3RyZWFtLmggKGJhc2ljX2ZpbGVidWY6Ol9NX292ZXJmbG93KTogUmVtb3ZlLgoJKF9NX3BiYWNrKTogTm8gYXJyYXkgbmVjZXNzYXJ5LgoJKiBpbmNsdWRlL2JpdHMvZnN0cmVhbS50Y2MgKGJhc2ljX2ZpbGVidWY6Ol9NX292ZXJmbG93KTogQWRkCgl1bmJ1ZmZlcmVkIGNhc2UsIGNvYWxlc2VjIGludG8gLi4uCgkoYmFzaWNfZmlsZWJ1Zjo6b3ZlcmZsb3cpOiAuLi50aGlzLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zcHV0bi9jaGFyLzkzMzkuY2M6IE5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc3B1dGMvY2hhci8yLmNjOiBVbmJ1ZmZlcmVkLgoKMjAwMy0wNS0yNCAgTmF0aGFuYWVsIE5lcm9kZSAgPG5lcm9kZW5AZ2NjLmdudS5vcmc+CgoJKiBsaWJzdXBjKysvTWFrZWZpbGUuYW0sIGxpYnN1cGMrKy9jeHhhYmkuaCwgbGlic3VwYysrL2RlbF9vcC5jYywKCWxpYnN1cGMrKy9kZWxfb3BudC5jYywgbGlic3VwYysrL2RlbF9vcHYuY2MsIGxpYnN1cGMrKy9kZWxfb3B2bnQuY2MsCglsaWJzdXBjKysvZWhfYWxsb2MuY2MsIGxpYnN1cGMrKy9laF9hdXhfcnVudGltZS5jYywKCWxpYnN1cGMrKy9laF9jYXRjaC5jYywgbGlic3VwYysrL2VoX2V4Y2VwdGlvbi5jYywKCWxpYnN1cGMrKy9laF9nbG9iYWxzLmNjLCBsaWJzdXBjKysvZWhfcGVyc29uYWxpdHkuY2MsCglsaWJzdXBjKysvZWhfdGVybV9oYW5kbGVyLmNjLCBsaWJzdXBjKysvZWhfdGVybWluYXRlLmNjLAoJbGlic3VwYysrL2VoX3Rocm93LmNjLCBsaWJzdXBjKysvZWhfdHlwZS5jYywKCWxpYnN1cGMrKy9laF91bmV4X2hhbmRsZXIuY2MsIGxpYnN1cGMrKy9leGNlcHRpb24sCglsaWJzdXBjKysvbmV3LCBsaWJzdXBjKysvbmV3X2hhbmRsZXIuY2MsIGxpYnN1cGMrKy9uZXdfb3AuY2MsCglsaWJzdXBjKysvbmV3X29wbnQuY2MsIGxpYnN1cGMrKy9uZXdfb3B2LmNjLCBsaWJzdXBjKysvbmV3X29wdm50LmNjLAoJbGlic3VwYysrL3B1cmUuY2MsIGxpYnN1cGMrKy90aW5mby5jYywgbGlic3VwYysrL3RpbmZvMi5jYywKCWxpYnN1cGMrKy90eXBlaW5mbywgbGlic3VwYysrL3Vud2luZC1jeHguaCwgbGlic3VwYysrL3ZlYy5jYzoKCVJlcGxhY2UgIkdOVSBDQyIgd2l0aCAiR0NDIi4KCgkqIGluY2x1ZGUvYmFja3dhcmQvbmV3Lmg6IFJlcGxhY2UgIkdOVSBDQyIgd2l0aCAiR0NDIi4KCjIwMDMtMDUtMjIgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCglQUiBsaWJzdGRjKysvMzA2Ni4KCSogY29uZmlndXJlLmluOiBTd2l0Y2ggdGFyZ2V0IHRvIGhvc3QsIGRvbid0IGFzc3VtZSBuZXdsaWIuCgkodGFyZ2V0X2FsaWFzKTogUmVtb3ZlLgoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGUuCgkqIGFjaW5jbHVkZS5tNDogU2FtZS4KCSogYWNsb2NhbC5tNDogUmVnZW5lcmF0ZS4KCSogY29uZmlndXJlLnRhcmdldDogU2FtZS4gUmVuYW1lIHRvLi4uCgkqIGNvbmZpZ3VyZS5ob3N0OiBUaGlzLgoKMjAwMy0wNS0yMiAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIGluY2x1ZGUvc3RkL3N0ZF9mc3RyZWFtLmggKF9TX3BiYWNrX3NpemUpOiBSZW1vdmUgZGVmaW5pdGlvbi4KCShfTV9jcmVhdGVfcGJhY2soKSwgX01fZGVzdHJveV9wYmFjaygpKTogU2ltcGxpZnkgZm9yIGEgc2luZ2xlLWNoYXIKCXBiYWNrIGJ1ZmZlci4KCSogaW5jbHVkZS9iaXRzL2ZzdHJlYW0udGNjIChfU19wYmFja19zaXplKTogUmVtb3ZlIGRlY2xhcmF0aW9uLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi8zLmNjOiBSZW1vdmUgZXhwbGljaXQgaW5zdGFudGlhdGlvbgoJb2YgX1NfcGJhY2tfc2l6ZSBmb3Igc3lzdGVtcyB3aXRoIG5vIENPTURBVCBvciB3ZWFrIHN1cHBvcnQuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NlZWtvZmYvMTAxMzItMi5jYzogTGlrZXdpc2UuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NlZWtwb3MvMTAxMzItMy5jYzogTGlrZXdpc2UuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3VuZGVyZmxvdy8xMDA5Ni5jYzogTGlrZXdpc2UuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19mc3RyZWFtLzMuY2M6IExpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfaWZzdHJlYW0vMy5jYzogTGlrZXdpc2UuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19pc3RyZWFtL3NlbnRyeS9jaGFyLzM5ODMtZnN0cmVhbS5jYzogTGlrZXdpc2UuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19vZnN0cmVhbS8zLmNjOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX29zdHJlYW0vc2VudHJ5L2NoYXIvMzk4My1mc3RyZWFtLmNjOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX3N0cmVhbWJ1Zi8zLmNjOiBMaWtld2lzZS4KCjIwMDMtMDUtMjIgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJKiBpbmNsdWRlL2JpdHMvZnN0cmVhbS50Y2MgKF9NX3VuZGVyZmxvdyk6IFNpbXBsaWZ5OgoJIV9fdGVzdG91dCBpbXBsaWVzIF9NX2ZpbGVwb3MgPT0gX01faW5fZW5kLCB0aGVyZWZvcmUKCXRoZSBmaXJzdCBfTV9maWxlLnNlZWtvZmYgY2FsbCBpcyBuZXZlciBpc3N1ZWQuCgoyMDAzLTA1LTIyICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuaW46IFNvcnQgY3Jvc3MgdGFibGUuCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZS4KCjIwMDMtMDUtMjIgIEJyYWQgU3BlbmNlciAgPHNwZW5jZXJAaW5mb2ludGVyYWN0aXZlLmNvbT4KCglQUiBsaWJzdGRjKysvMTAxMDYKCSogY29uZmlndXJlLmluOiBBZGQgU29sYXJpcyBjcm9zcyBiaXRzLgoKMjAwMy0wNS0yMSAgRGFubnkgU21pdGggIDxkYW5ueXNtaXRoQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGxpYnN0ZGMrKy12My9jb25maWcvb3MvbWluZ3czMi9vc19kZWZpbmVzLmgKCShfX0dUSFJFQURfSElERV9XSU4zMkFQSSk6IERlZmluZSB0byAxIGJ5IGRlZnVhbHQuCgkoTk9NSU5NQVgpOiBEZWZpbmUuICBVcGRhdGUgY29weXJpZ2h0IHllYXIuCgoyMDAzLTA1LTIxICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogaW5jbHVkZS9zdGQvc3RkX2ZzdHJlYW0uaCAoX01fc2V0X2J1ZmZlcik6IEZpeCBpbmRlbnRhdGlvbi4KCjIwMDMtMDUtMjEgIEpvbmF0aGFuIFdha2VseSAgPHJlZGlAZ2NjLmdudS5vcmc+CgoJKiBkb2NzL2h0bWwvZmFxL2luZGV4Lmh0bWw6IEZpeCB0eXBvLgoJKiBkb2NzL2h0bWwvZmFxL2luZGV4LnR4dDogUmVnZW5lcmF0ZS4KCjIwMDMtMDUtMjEgIEpvbmF0aGFuIFdha2VseSAgPHJlZGlAZ2NjLmdudS5vcmc+CgoJKiBkb2NzL2h0bWwvdGVzdC5odG1sOiBGaXggbWFya3VwLgoKMjAwMy0wNS0yMSAgRGFubnkgU21pdGggIDxkYW5ueXNtaXRoQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGxpYm1hdGgvc3R1YnMuYyAoaHlwb3QsIGh5cG90ZiwgaHlwb3RsKTogRG9uJ3QgZGl2aWRlIGJ5Cgl6ZXJvLgoJVXBkYXRlIGNvcHlyaWdodCB5ZWFyLgoKMjAwMy0wNS0yMCAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL2Nsb3NlL2NoYXIvNC5jYzogRml4IHR5cG8uCgoyMDAzLTA1LTIwICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvY2xvc2UvY2hhci81LmNjOiBOZXcgZmlsZSwKCWZ1cnRoZXIgdGVzdGluZyB0aGF0IHVwb24gZmlsZWJ1Zjo6Y2xvc2UoKSAyNy44LjEuMSwzIGlzIGVuZm9yY2VkLgoKMjAwMy0wNS0yMCAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoKCSogaW5jbHVkZS9iaXRzL3N0bF9hbGxvYy5oIChfX2RlZmF1bHRfYWxsb2NfdGVtcGxhdGU6Ol9TX2NodW5rX2FsbG9jKToKCUNhc3QgdmlhIHZvaWQqIHRvIGF2b2lkIC1XY2FzdC1hbGlnbiB3YXJuaW5ncy4KCShfX2RlZmF1bHRfYWxsb2NfdGVtcGxhdGU6Ol9TX3JlZmlsbCk6IExpa2V3aXNlLgoKMjAwMy0wNS0yMCAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogdGVzdHN1aXRlL1JFQURNRTogTW92ZSB0by4uLgoJKiBkb2NzL2h0bWwvdGVzdC5odG1sOiAuLi5oZXJlLiBBZGQgZG9jdW1lbnRhdGlvbi4KCSogZG9jcy9odG1sL2luc3RhbGwuaHRtbDogTW92ZSB0ZXN0aW5nIGJpdHMgb3V0Li4KCSogZG9jcy9odG1sL2RvY3VtZW50YXRpb24uaHRtbDogQWRkIHNlcGFyYXRlIHRlc3RpbmcgbGluay4KCSogdGVzdHN1aXRlL3BlcmZvcm1hbmNlOiBBZGQuCgkqIHRlc3RzdWl0ZS9wZXJmb3JtYW5jZS9hbGxvY2F0b3IuY2M6IE5ldy4KCSogdGVzdHN1aXRlL3BlcmZvcm1hbmNlL2NvbXBsZXhfbm9ybS5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvcGVyZm9ybWFuY2UvY291dF9pbnNlcnRfaW50LmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS9wZXJmb3JtYW5jZS9mc3RyZWFtX3NlZWtfd3JpdGUuY2M6IE5ldy4KCSogdGVzdHN1aXRlL3BlcmZvcm1hbmNlL2lmc3RyZWFtX2dldGxpbmUuY2M6IE5ldy4KCSogdGVzdHN1aXRlL3BlcmZvcm1hbmNlL21hcF9jcmVhdGVfZmlsbC5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvcGVyZm9ybWFuY2Uvb2ZzdHJlYW1faW5zZXJ0X2Zsb2F0LmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS9wZXJmb3JtYW5jZS9vZnN0cmVhbV9pbnNlcnRfaW50LmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS9wZXJmb3JtYW5jZS9zdHJpbmdfYXBwZW5kLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS9saWIvbGlic3RkYysrLXYzLWRnLmV4cCAodjMtY29tcHV0ZS10ZXN0cyk6IEZpbHRlcgoJcGVyZm9ybWFuY2UgdGVzdHMuCgoyMDAzLTA1LTIwICBHYWJyaWVsIERvcyBSZWlzIDxnZHJAaW50ZWdyYWJsZS1zb2x1dGlvbnMubmV0PgoKCVBSIGxpYnN0ZGMrKy8xMDY4OQoJKiBpbmNsdWRlL3N0ZC9zdGRfY29tcGxleC5oIChwb3cpOiBUaWR5LgoKMjAwMy0wNS0xOSAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL2Nsb3NlL2NoYXIvNC5jYzogTmV3IGZpbGUsIHRlc3RpbmcKCXRoYXQgdXBvbiBmaWxlYnVmOjpjbG9zZSgpIDI3LjguMS4xLDMgaXMgZW5mb3JjZWQuCgoyMDAzLTA1LTE1ICBMb3JlbiBKLiBSaXR0bGUgIDxsanJpdHRsZUBhY20ub3JnPgoKCSogdGVzdHN1aXRlL3RocmVhZC9wdGhyZWFkNC5jYzogRnVydGhlciB0d2VhayB0byBhdm9pZCBmaW5pIHJhY2UuCgoyMDAzLTA1LTE1ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoJICAgIE5hdGhhbiBNeWVycyAgPG5jbUBjYW50cmlwLm9yZz4KCgkqIGluY2x1ZGUvYml0cy9mc3RyZWFtLnRjYyAoX01fb3ZlcmZsb3cpOiBSZXdyb3RlIHRvIGNhbGwKCV9NX2NvbnZlcnRfdG9fZXh0ZXJuYWwgb25seSBvbmNlIChfTV9idWZfc2l6ZSBpcyBub3cgdGhlIHNpemUgb2YKCXRoZSBwdXQgYXJlYSArIDEgZm9yIHRoZSBvdmVyZmxvdyBjaGFyIG9mIGEgZnVsbCBhcmVhKTsgY2FsbAoJX01fc2V0X2J1ZmZlciBpbnN0ZWFkIG9mIF9NX3NldF9pbmRldGVybWluYXRlLgoJKHNldGJ1Zik6IERvbid0IGFjY2VwdCBhIGJ1ZmZlciBzbWFsbGVyIHRoYW4gMiBjaGFycy4KCShfTV91bmRlcmZsb3cpOiBSZWZpbGwgX01fYnVmX3NpemUgLSAxIGNoYXJzOyBjYWxsIF9NX3NldF9idWZmZXIsCglpbnN0ZWFkIG9mIF9NX3NldF9kZXRlcm1pbmF0ZS4KCShvcGVuKTogQ2FsbCBfTV9zZXRfYnVmZmVyLCBpbnN0ZWFkIG9mIF9NX3NldF9pbmRldGVybWluYXRlLgoJKHNlZWtvZmYpOiBMaWtld2lzZS4KCSogaW5jbHVkZS9leHQvc3RkaW9fZmlsZWJ1Zi5oIChzdGRpb19maWxlYnVmKGludCwKCXN0ZDo6aW9zX2Jhc2U6Om9wZW5tb2RlLCBib29sLCBzaXplX3QpLAoJc3RkaW9fZmlsZWJ1ZihzdGQ6Ol9fY19maWxlKiwgc3RkOjppb3NfYmFzZTo6b3Blbm1vZGUsIHNpemVfdCk6CglMaWtld2lzZS4KCSogaW5jbHVkZS9zdGQvc3RkX2ZzdHJlYW0uaCAoX01fc2V0X2luZGV0ZXJtaW5hdGUpOiBSZW1vdmUuCgkoX01fc2V0X2RldGVybWluYXRlKTogUmVuYW1lIGFzIF9NX3NldF9idWZmZXIsIF9NX2J1Zl9zaXplIC0+CglfTV9idWZfc2l6ZSAtIDEuCgkqIGluY2x1ZGUvc3RkL3N0ZF9zdHJlYW1idWYuaDogVHdlYWsgX01fb3V0X2xpbSBjb21tZW50LgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZ2V0bi9jaGFyLzEuY2M6IFR3ZWFrLCB0YWtpbmcKCWludG8gYWNjb3VudCB0aGF0LCBmb3IgX01fYnVmX3NpemUgPT0gQlVGU0laID09IDgxOTIsIHRoZSBzaXplIG9mCgl0aGUgcHV0IGFyZWEgaXMgbm93IEJVRlNJWiAtIDEuCgkqIHRlc3RzdWl0ZS9leHQvc3RkaW9fZmlsZWJ1Zl8yLmNjOiBUd2VhaywgdGFraW5nIGludG8gYWNjb3VudAoJdGhhdCBub3cgdGhlIHNtYWxsZXN0IF9NX2J1Zl9zaXplIGlzIDIgKHN0aWxsIGZhaWxzLCBmb3IgdGhlIHNhbWUKCXJlYXNvbiwgd2l0aCAzLjIuMykKCjIwMDMtMDUtMTQgIExvcmVuIEouIFJpdHRsZSAgPGxqcml0dGxlQGFjbS5vcmc+CgoJKiB0ZXN0c3VpdGUvdGhyZWFkL3B0aHJlYWQ0LmNjOiBUd2VhayB0ZXN0LgoKMjAwMy0wNS0xMyAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogdGVzdHN1aXRlLzI3X2lvL2lvc19iYXNlL2NvbnMvY29weV9uZWcuY2M6IFJlbW92ZQoJZXhjZXNzIGVycm9ycyBkZyBtYXJrZXIsIHVzZSBkZy1lcnJvcnMgaW5zdGVhZC4KCSogdGVzdHN1aXRlLzI3X2lvL2lvc19iYXNlL2NvbnMvYXNzaWduX25lZy5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIwX3V0aWwvYXV0b19wdHJfbmVnLmNjOiBTYW1lLgoKMjAwMy0wNS0xMiAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9zdGQvc3RkX2ZzdHJlYW0uaCAoYmFzaWNfZmlsZWJ1Zjo6X01fY29kZWN2dCk6IEFkZAoJY2FjaGVkIG1lbWJlci4KCSogaW5jbHVkZS9iaXRzL2ZzdHJlYW0udGNjIChiYXNpY19maWxlYnVmOjpiYXNpY19maWxlYnVmKToKCUluaXRpYWxpemUgX01fY29kZWN2dC4KCShiYXNpY19maWxlYnVmOjppbWJ1ZSk6IFNhbWUuCgkoYmFzaWNfZmlsZWJ1Zjo6c2hvd21hbnljKTogVXNlIGl0LgoJKGJhc2ljX2ZpbGVidWY6OnVuZGVyZmxvdyk6IFVzZSBpdC4KCShiYXNpY19maWxlYnVmOjpfTV9jb252ZXJ0X3RvX2V4dGVybmFsKTogVXNlIGl0LgoJKGJhc2ljX2ZpbGVidWY6OnNlZWtvZmYpOiBVc2UgaXQuCgkoYmFzaWNfZmlsZWJ1Zjo6aW1idWUpOiBVc2UgaXQsIHR3ZWFrcy4KCSogaW5jbHVkZS9iaXRzL2xvY2FsZWZ3ZC5oIChfX2NoZWNrX2ZhY2V0KTogTmV3LgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2NsYXNzZXMuaDogVHdlYWtzLgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy50Y2M6IFR3ZWFrcy4KCSogaW5jbHVkZS9iaXRzL2Jhc2ljX2lvcy5oIChiYXNpY19pb3M6Ol9NX2NoZWNrX2ZhY2V0KTogUmVtb3ZlLgoJX01fZmN0eXBlIHRvIF9NX2N0eXBlLCBfTV9mbnVtcHV0IHRvIF9NX251bV9wdXQsIF9NX2ZudW1nZXQgdG8KCV9NX251bV9nZXQuIENoYW5nZSBfTV9jaGVja19mYWNldCB0byBfX2NoZWNrX2ZhY2V0LiBUd2Vha3MuCgkqIGluY2x1ZGUvYml0cy9iYXNpY19pb3MudGNjOiBTYW1lLgoJKiBpbmNsdWRlL2JpdHMvaXN0cmVhbS50Y2M6IFNhbWUuCgkqIGluY2x1ZGUvYml0cy9vc3RyZWFtLnRjYzogU2FtZS4KCSogaW5jbHVkZS9zdGQvc3RkX3N0cmVhbWJ1Zi5oOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9pbWJ1ZS9jaGFyLzIuY2M6IE5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvaW1idWUvY2hhci8zLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL2ltYnVlL3djaGFyX3QvMS5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9pbWJ1ZS93Y2hhcl90LzIuY2M6IE5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvaW1idWUvd2NoYXJfdC8zLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL2ltYnVlL3djaGFyX3QvOTMyMi5jYzogTmV3LgoKMjAwMy0wNS0xMiAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NnZXRjL2NoYXIvMS5jYzogUmVtb3ZlCgl1bm5lY2Vzc2FyeSBpbmNsdWRlcyBhbmQgdW51c2VkIHN0cmluZyBsaXRlcmFscy4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc3B1dGJhY2tjL2NoYXIvMS5jYzogTGlrZXdpc2UuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NwdXRjL2NoYXIvMS5jYzogTGlrZXdpc2UuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NwdXRuL2NoYXIvMS5jYzogTGlrZXdpc2UuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3N1bmdldGMvY2hhci8xLmNjOiBMaWtld2lzZS4KCjIwMDMtMDUtMTIgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvYml0cy9mc3RyZWFtLnRjYyAoX01fb3ZlcmZsb3cpOiBSZW1vdmUgdW5idWZmZXJlZCBiaXRzLgoKMjAwMy0wNS0xMiAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIGluY2x1ZGUvc3RkL3N0ZF9mc3RyZWFtLmggKF9NX2NvbnZlcnRfdG9fZXh0ZXJuYWwpOiBDaGFuZ2UKCXRvIHJldHVybiBib29sLCB0YWtlIHR3byBsZXNzIHN0cmVhbXNpemUgcGFyYW1ldGVycy4KCSogaW5jbHVkZS9iaXRzL2ZzdHJlYW0udGNjIChfTV9jb252ZXJ0X3RvX2V4dGVybmFsKTogVHdlYWsKCWNvbnNpc3RlbnRseSBkZWZpbml0aW9uLgoJKF9NX292ZXJmbG93KTogQWRqdXN0IGNhbGwgcG9pbnRzLgoKMjAwMy0wNS0xMiAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvdW5kZXJmbG93LzEwMDk2LmNjOiBBZGQgd2VhayBiaXRzLgoKMjAwMy0wNS0xMSAgUGhpbCBFZHdhcmRzICA8cG1lQGdjYy5nbnUub3JnPgoKCSogdGVzdHN1aXRlL01ha2VmaWxlLmFtOiAgUHJvcGVybHkgcXVvdGUgL2JvdGgvIExEX1JVTl9QQVRIcy4KCSogdGVzdHN1aXRlL01ha2VmaWxlLmluOiAgUmVnZW5lcmF0ZS4KCjIwMDMtMDUtMTEgIFBoaWwgRWR3YXJkcyAgPHBtZUBnY2MuZ251Lm9yZz4KCgkqIHRlc3RzdWl0ZS9NYWtlZmlsZS5hbTogIFByb3Blcmx5IHF1b3RlIExEX1JVTl9QQVRILgoJKiB0ZXN0c3VpdGUvTWFrZWZpbGUuaW46ICBSZWdlbmVyYXRlLgoKMjAwMy0wNS0xMSAgR2FicmllbCBEb3MgUmVpcyA8Z2RyQGludGVncmFibGUtc29sdXRpb25zLm5ldD4KCglQUiBsaWJzdGRjKysvMzE4MQoJKiBpbmNsdWRlL2Nfc3RkL3N0ZF9jbWF0aC5oOiAjaW5jbHVkZSA8Yml0cy9jcHBfdHlwZV90cmFpdHMuaD4KCShhY29zKTogSGFuZGxlIGludGVnZXIgYXJndW1lbnQuCgkoYXNpbik6IExpa2V3aXNlLgoJKGF0YW4pOiBMaWtld2lzZS4KCShhdGFuMik6IExpa2V3aXNlLgoJKGNlaWwpOiBMaWtld2lzZS4KCShjb3MpOiBMaWtld2lzZS4KCShjb3NoKTogTGlrZXdpc2UuCgkoZXhwKTogTGlrZXdpc2UuCgkoZmFicyk6IExpa2V3aXNlLgoJKGZsb29yKTogTGlrZXdpc2UuCgkoZnJleHApOiBMaWtld2lzZS4KCShsZGV4cCk6IExpa2V3aXNlLgoJKGxvZyk6IExpa2V3aXNlLgoJKGxvZzEwKTogTGlrZXdpc2UuCgkoc2luKTogTGlrZXdpc2UuCgkoc2luaCk6IExpa2V3aXNlLgoJKHNxcnQpOiBMaWtld2lzZS4KCSh0YW4pOiBMaWtld2lzZS4KCSh0YW5oKTogTGlrZXdpc2UuCgkqIGluY2x1ZGUvYml0cy9jcHBfdHlwZV90cmFpdHMuaCAoX19hcmVfc2FtZTw+KTogTmV3IHRyYWl0cy4KCShfX2VuYWJsZV9pZik6IExpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvMjZfbnVtZXJpY3MvY21hdGgvb3ZlcmxvYWRzLkM6IE5ldyB0ZXN0LgoKMjAwMy0wNS0xMCAgUGV0dXIgUnVub2xmc3NvbiAgPHBldHVycjAyQHJ1LmlzPgoKCVBSIGxpYnN0ZGMrKy85MDI3CglQUiBsaWJzdGRjKysvOTUyMAoJUFIgbGlic3RkYysrLzEwMDk2CgkqIGluY2x1ZGUvYml0cy9mc3RyZWFtLnRjYyAoYmFzaWNfZmlsZTo6X01fdW5kZXJmbG93KTogIEFkZCBnZW5lcmljCglpbXBsZW1lbnRhdGlvbiwgYmFzZWQgb24gb2xkIHdjaGFyX3Qgc3BlY2lhbGl6YXRpb24sIGFkZCBzdXBwb3J0Cglmb3IgY29kZWN2dDo6aW4oKSByZXR1cm4gdmFsdWUgb2YgY29kZWN2dF9iYXNlOjpub2NvbnYsIHJlbW92ZQoJX01fZmlsZS5zeXNfdW5nZXRjKCkgY2FsbC4KCSogaW5jbHVkZS9zdGQvc3RkX2ZzdHJlYW0uaCAoYmFzaWNfZmlsZTo6dW5kZXJmbG93LAoJYmFzaWNfZmlsZTo6dWZsb3csIGJhc2ljX2ZpbGU6Ol9NX3VuZGVyZmxvdyk6ICBSZW1vdmUKCXNwZWNpYWxpemF0aW9uIGRlY2xhcmF0aW9ucywgY2FsbCBfTV91bmRlcmZsb3cgZnJvbSBnZW5lcmljIHZlcnNpb25zCglvZiB1bmRlcmZsb3cgYW5kIHVmbG93LgoJKiBzcmMvZnN0cmVhbS5jYyAoYmFzaWNfZmlsZTo6dW5kZXJmbG93LCBiYXNpY19maWxlOjp1ZmxvdywKCWJhc2ljX2ZpbGU6Ol9NX3VuZGVyZmxvdyk6ICBSZW1vdmUgc3BlY2lhbGl6YXRpb25zLgoJKiBzcmMvTWFrZWZpbGUuYW0gKHNvdXJjZXMpOiAgUmVtb3ZlIGZzdHJlYW0uY2MuCgkqIHNyYy9NYWtlZmlsZS5pbjogIFJlZ2VuZXJhdGVkLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi91bmRlcmZsb3cvMTAwOTYuY2M6ICBOZXcgdGVzdC4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvdW5kZXJmbG93L2NoYXIvMS5jYzogIE5ldyB0ZXN0LgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi91bmRlcmZsb3cvY2hhci85MDI3LmNjOiAgTmV3IHRlc3QuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3VuZGVyZmxvdy93Y2hhcl90Lzk1MjAuY2M6ICBOZXcgdGVzdC4KCjIwMDMtMDUtMTAgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvZXh0L3N0ZGlvX2ZpbGVidWYuaCAoX19zdGRpb19maWxlYnVmKTogUmVtb3ZlIHN0YWNrCglidWZmZXIuCgkqIGNvbmZpZy9pby9iYXNpY19maWxlX3N0ZGlvLmggKF9fYmFzaWNfZmlsZTo6eHNnZXRuKTogUmVtb3ZlCgl1bmJ1ZmZlcmVkIGJpdHMuCgkoX19iYXNpY19maWxlOjp4c3B1dG4pOiBTYW1lLgoJKF9fYmFzaWNfZmlsZTo6c2Vla29mZik6IFNhbWUuCgkoX19iYXNpY19maWxlOjpzZWVrcG9zKTogU2FtZS4KCShfX2Jhc2ljX2ZpbGU6OnNob3dtYW55Yyk6IFNhbWUuCgkqIGNvbmZpZy9pby9iYXNpY19maWxlX3N0ZGlvLmNjOiBTYW1lLgoJKiBpbmNsdWRlL3N0ZC9zdGRfZnN0cmVhbS5oOiBTYW1lLgoJKiBpbmNsdWRlL2JpdHMvZnN0cmVhbS50Y2M6IFNhbWUuCgkqIHNyYy9mc3RyZWFtLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZ2V0bi9jaGFyLzEuY2MgKHRlc3QwNSk6IFRpZHkuCgoyMDAzLTA1LTEwICBQZXR1ciBSdW5vbGZzc29uICA8cGV0dXJyMDJAcnUuaXM+CgoJUFIgbGlic3RkYysrLzk1MjAKCVBSIGxpYnN0ZGMrKy85NjYxCglQUiBsaWJzdGRjKysvOTY2MgoJKiBpbmNsdWRlL2V4dC9zdGRpb19zeW5jX2ZpbGVidWYuaDogIE5ldyBmaWxlLgoJKGJhc2ljX3N0ZGlvYnVmKTogIE5ldy4KCSogaW5jbHVkZS9NYWtlZmlsZS5hbSAoZXh0X2hlYWRlcnMpOiBBZGQgZXh0L3N0ZGlvX3N5bmNfZmlsZWJ1Zi5oCgkqIGluY2x1ZGUvTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkqIGluY2x1ZGUvYml0cy9pb3NfYmFzZS5oIChJbml0OjpfU19jcmVhdGVfYnVmZmVycywKCUluaXQ6Ol9TX2Rlc3Ryb3lfYnVmZmVycyk6ICBSZW1vdmUgZGVjbGFyYXRpb25zLgoJKiBzcmMvZ2xvYmFscy5jYyAoYnVmX2NvdXRfc3luYywgYnVmX2Npbl9zeW5jLCBidWZfY2Vycl9zeW5jLAoJYnVmX3djb3V0X3N5bmMsIGJ1Zl93Y2luX3N5bmMsIGJ1Zl93Y2Vycl9zeW5jKTogIERlZmluZS4KCSogc3JjL2lvcy5jYyAoSW5pdDo6X1NfY3JlYXRlX2J1ZmZlcnMsCglJbml0OjpfU19kZXN0cm95X2J1ZmZlcnMpOiAgUmVtb3ZlLgoJKEluaXQ6OkluaXQpOiAgQ3JlYXRlIGFuZCB1c2Ugc3luY3Jvbml6ZWQgYnVmZmVycy4KCShpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKTogIERlc3Ryb3kgc3luY3Jvbml6ZWQgYnVmZmVycywKCWNyZWF0ZSBhbmQgaW5zdGFsbCB1bnN5bmNyb25pemVkIGJ1ZmZlcnMuCgkqIHRlc3RzdWl0ZS8yN19pby9vYmplY3RzL2NoYXIvMTAuY2M6ICBOZXcgdGVzdC4KCSogdGVzdHN1aXRlLzI3X2lvL29iamVjdHMvY2hhci85LmNjOiAgTmV3IHRlc3QuCgkqIHRlc3RzdWl0ZS8yN19pby9vYmplY3RzL2NoYXIvOTY2MS0xLmNjOiAgTmV3IHRlc3QuCgkqIHRlc3RzdWl0ZS8yN19pby9vYmplY3RzL2NoYXIvOTY2MS0yX3hpbi5jYzogIE5ldyB0ZXN0LgoJKiB0ZXN0c3VpdGUvMjdfaW8vb2JqZWN0cy9jaGFyLzk2NjEtMl94aW4uaW46ICBOZXcuCgkqIHRlc3RzdWl0ZS8yN19pby9vYmplY3RzL3djaGFyX3QvMS5jYzogIE5ldyB0ZXN0LgoJKiB0ZXN0c3VpdGUvMjdfaW8vb2JqZWN0cy93Y2hhcl90LzEwLmNjOiAgTmV3IHRlc3QuCgkqIHRlc3RzdWl0ZS8yN19pby9vYmplY3RzL3djaGFyX3QvMi5jYzogIE5ldyB0ZXN0LgoJKiB0ZXN0c3VpdGUvMjdfaW8vb2JqZWN0cy93Y2hhcl90LzI1MjMtMV94aW4uY2M6ICBOZXcgdGVzdC4KCSogdGVzdHN1aXRlLzI3X2lvL29iamVjdHMvd2NoYXJfdC8yNTIzLTFfeGluLmluOiAgTmV3LgoJKiB0ZXN0c3VpdGUvMjdfaW8vb2JqZWN0cy93Y2hhcl90LzI1MjMtMl94aW4uY2M6ICBOZXcgdGVzdC4KCSogdGVzdHN1aXRlLzI3X2lvL29iamVjdHMvd2NoYXJfdC8yNTIzLTJfeGluLmluOiAgTmV3LgoJKiB0ZXN0c3VpdGUvMjdfaW8vb2JqZWN0cy93Y2hhcl90LzMwNDUuY2M6ICBOZXcgdGVzdC4KCSogdGVzdHN1aXRlLzI3X2lvL29iamVjdHMvd2NoYXJfdC8zNjQ3LmNjOiAgTmV3IHRlc3QuCgkqIHRlc3RzdWl0ZS8yN19pby9vYmplY3RzL3djaGFyX3QvM194aW4uY2M6ICBOZXcgdGVzdC4KCSogdGVzdHN1aXRlLzI3X2lvL29iamVjdHMvd2NoYXJfdC8zX3hpbi5pbjogIE5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL29iamVjdHMvd2NoYXJfdC80X3hpbi5jYzogIE5ldyB0ZXN0LgoJKiB0ZXN0c3VpdGUvMjdfaW8vb2JqZWN0cy93Y2hhcl90LzRfeGluLmluOiAgTmV3LgoJKiB0ZXN0c3VpdGUvMjdfaW8vb2JqZWN0cy93Y2hhcl90LzUuY2M6ICBOZXcgdGVzdC4KCSogdGVzdHN1aXRlLzI3X2lvL29iamVjdHMvd2NoYXJfdC81MjY4LmNjOiAgTmV3IHRlc3QuCgkqIHRlc3RzdWl0ZS8yN19pby9vYmplY3RzL3djaGFyX3QvNTI4MF94aW4uY2M6ICBOZXcgdGVzdC4KCSogdGVzdHN1aXRlLzI3X2lvL29iamVjdHMvd2NoYXJfdC81MjgwX3hpbi5pbjogIE5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL29iamVjdHMvd2NoYXJfdC82LmNjOiAgTmV3IHRlc3QuCgkqIHRlc3RzdWl0ZS8yN19pby9vYmplY3RzL3djaGFyX3QvNjU0OF94aW4uY2M6ICBOZXcgdGVzdC4KCSogdGVzdHN1aXRlLzI3X2lvL29iamVjdHMvd2NoYXJfdC82NTQ4X3hpbi5pbjogIE5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL29iamVjdHMvd2NoYXJfdC82NjQ4LTFfeGluLmNjOiAgTmV3IHRlc3QuCgkqIHRlc3RzdWl0ZS8yN19pby9vYmplY3RzL3djaGFyX3QvNjY0OC0xX3hpbi5pbjogIE5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL29iamVjdHMvd2NoYXJfdC82NjQ4LTJfeGluLmNjOiAgTmV3IHRlc3QuCgkqIHRlc3RzdWl0ZS8yN19pby9vYmplY3RzL3djaGFyX3QvNjY0OC0yX3hpbi5pbjogIE5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL29iamVjdHMvd2NoYXJfdC83LmNjOiAgTmV3IHRlc3QuCgkqIHRlc3RzdWl0ZS8yN19pby9vYmplY3RzL3djaGFyX3QvNzc0NF94aW4uY2M6ICBOZXcgdGVzdC4KCSogdGVzdHN1aXRlLzI3X2lvL29iamVjdHMvd2NoYXJfdC83NzQ0X3hpbi5pbjogIE5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL29iamVjdHMvd2NoYXJfdC84LmNjOiAgTmV3IHRlc3QuCgkqIHRlc3RzdWl0ZS8yN19pby9vYmplY3RzL3djaGFyX3QvOV94aW4uY2M6ICBOZXcgdGVzdC4KCSogdGVzdHN1aXRlLzI3X2lvL29iamVjdHMvd2NoYXJfdC85X3hpbi5pbjogIE5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL29iamVjdHMvd2NoYXJfdC85NTIwLmNjOiAgTmV3IHRlc3QuCgkqIHRlc3RzdWl0ZS8yN19pby9vYmplY3RzL3djaGFyX3QvOTY2MS0xLmNjOiAgTmV3IHRlc3QuCgkqIHRlc3RzdWl0ZS8yN19pby9vYmplY3RzL3djaGFyX3QvOTY2MS0yX3hpbi5jYzogIE5ldyB0ZXN0LgoJKiB0ZXN0c3VpdGUvMjdfaW8vb2JqZWN0cy93Y2hhcl90Lzk2NjEtMl94aW4uaW46ICBOZXcuCgkqIHRlc3RzdWl0ZS8yN19pby9vYmplY3RzL3djaGFyX3QvOTY2Mi5jYzogIE5ldyB0ZXN0LgoJKiB0ZXN0c3VpdGUvZXh0L3N0ZGlvYnVmX2NoYXIuY2M6ICBOZXcgdGVzdC4KCSogdGVzdHN1aXRlL2V4dC9zdGRpb2J1Zl93Y2hhcl90LmNjOiAgTmV3IHRlc3QuCgoyMDAzLTA1LTEwICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvY2xvc2UvY2hhci8zLmNjOiBSZW1vdmUKCXVubmVjZXNzYXJ5IGluY2x1ZGVzIGFuZCB1bnVzZWQgc3RyaW5nIGxpdGVyYWxzLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9pbl9hdmFpbC9jaGFyLzEuY2M6IExpa2V3aXNlLgoKMjAwMy0wNS0wOCAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIGluY2x1ZGUvc3RkL3N0ZF9zdHJlYW1idWYuaCAoc2V0Zywgc2V0cCk6IERvbid0IHRvdWNoIF9NX21vZGUuCgoyMDAzLTA1LTA3ICBSaWNoYXJkIEhlbmRlcnNvbiAgPHJ0aEByZWRoYXQuY29tPgoKCVBSIGMrKy8xMDU3MAoJKiBsaWJzdXBjKysvZWhfY2F0Y2guY2MgKF9fY3hhX2JlZ2luX2NhdGNoKTogSGFuZGxlIGZvcmVpZ24gZXhjZXB0aW9ucy4KCShfX2N4YV9lbmRfY2F0Y2gpOiBMaWtld2lzZS4KCSogbGlic3VwYysrL2VoX3Rocm93LmNjIChfX2N4YV9yZXRocm93KTogTGlrZXdpc2UuICBVc2UKCV9VbndpbmRfUmVzdW1lX29yX1JldGhyb3cuCgkqIGxpYnN1cGMrKy9laF9wZXJzb25hbGl0eS5jYyAoZW1wdHlfZXhjZXB0aW9uX3NwZWMpOiBOZXcuCgkoUEVSU09OQUxJVFlfRlVOQ1RJT04pOiBEb24ndCBpZ25vcmUgdGVybWluYXRlIG9yIGNhdGNoLWFsbAoJZm9yIF9VQV9GT1JDRV9VTldJTkQuICBIb25vciBlbXB0eSBmaWx0ZXIgc3BlYyBmb3IgZm9yZWlnbgoJZXhjZXB0aW9ucy4gIERvbid0IHB1c2ggdGVybWluYXRlL3VuZXhwZWN0ZWQgdG8gY3hhIGZ1bmN0aW9ucy4KCShfX2N4YV9jYWxsX3VuZXhwZWN0ZWQpOiBSZW1vdmUgZm9yZWlnbiBleGNlcHRpb24gZml4bWVzLgoKMjAwMy0wNS0wNyAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogdGVzdHN1aXRlLzI3X2lvL2lvc19iYXNlL2NvbnM6IE5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL2lvc19iYXNlL2NvbnMvYXNzaWduX25lZy5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvMjdfaW8vaW9zX2Jhc2UvY29ucy9jb3B5X25lZy5jYzogTmV3LgoKMjAwMy0wNS0wNyAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIGluY2x1ZGUvc3RkL3N0ZF9mc3RyZWFtLmggKF9NX2lzX2luZGV0ZXJtaW5hdGUpOiBSZW1vdmUuCgkqIHNyYy9mc3RyZWFtLmNjCgkoYmFzaWNfZmlsZWJ1ZjxjaGFyL3djaGFyX3Q+OjpfTV91bmRlcmZsb3cpOiBTaW1wbGlmeTogZWl0aGVyCgl0aGVyZSBpcyBubyBidWZmZXIgb3IgX190ZXN0Z2V0ID09ICFfX3Rlc3Rpbml0LgoKCSogc3JjL2ZzdHJlYW0uY2MKCShiYXNpY19maWxlYnVmPGNoYXIvd2NoYXJfdD46Ol9NX3VuZGVyZmxvdyk6IF9NX3NldF9kZXRlcm1pbmF0ZSgpCglhdXRvbWF0aWNhbGx5IHNldHMsIGlmIGFwcHJvcHJpYXRlLCBfTV9vdXRfY3VyID09IF9NX2luX2N1ci4KCgkqIGluY2x1ZGUvc3RkL3N0ZF9mc3RyZWFtLmggKF9NX2Rlc3Ryb3lfcGJhY2spOiBEb24ndCBzZXQKCXVubmVjZXNzYXJpbHkgX01fcGJhY2tfY3VyX3NhdmUgYW5kIF9NX3BiYWNrX2VuZF9zYXZlLgoKCSogaW5jbHVkZS9zdGQvc3RkX2ZzdHJlYW0uaCAoX01fc2V0X2RldGVybWluYXRlKTogTWlub3IgdHdlYWsuCgoJKiBpbmNsdWRlL3N0ZC9zdGRfc3N0cmVhbS5oIChfTV9zeW5jKTogTWlub3IgdHdlYWsuCgoJKiBpbmNsdWRlL2JpdHMvZnN0cmVhbS50Y2MgKGNsb3NlKTogTm8gbmVlZCB0byBjYWxsCglfTV9kZXN0cm95X3BiYWNrLCBzZXR0aW5nIF9NX3BiYWNrX2luaXQgdG8gZmFsc2Ugc3VmZmljZXMKCXRvIGNsZWFuIHVwLgoKMjAwMy0wNS0wNiAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9iaXRzL3N0bF9hbGdvLmg6IEVudW1zIGFzIF9TXy4KCSogaW5jbHVkZS9iaXRzL3N0bF90cmVlLmg6IFNhbWUuCgkqIGluY2x1ZGUvYml0cy9zdGxfYnZlY3Rvci5oOiBTYW1lLgoJKiBpbmNsdWRlL2JpdHMvaW9zX2Jhc2UuaDogU2FtZS4KCSogaW5jbHVkZS9iaXRzL3N0bF9hbGxvYy5oOiBTYW1lLgoJKiBpbmNsdWRlL2V4dC9zdGxfaGFzaHRhYmxlLmg6IFNhbWUuCgkqIHNyYy9pb3MuY2M6IEFuZCBoZXJlLgoKCSogaW5jbHVkZS9zdGQvc3RkX3NzdHJlYW0uaDogUmVwbGFjZSBfTV9yZWFsbHlfc3luYyB0byBfTV9zeW5jLgoJKiBpbmNsdWRlL2JpdHMvc3N0cmVhbS50Y2M6IFNhbWUuCgoJKiBpbmNsdWRlL2JpdHMvYmFzaWNfaW9zLmg6IENvcnJlY3Qgc3BhY2luZyBmb3IgJzwgY3R5cGUnLgoKCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjOiBSZXBsYWNlIF9fdGVtcCB0byBfX3RtcC4KCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLmggKF9fbnVtX2Jhc2UpOiBSZW1vdmUgcHJvdGVjdGVkLgoJVXNlIF9TX1tpb10qIG5hbWVzIGZvciBlbnVtZXJhdGlvbnMuCgkoX1NfZm9ybWF0X2ludCk6IFJlbW92ZS4KCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjOiBTYW1lLgoJKiBzcmMvbG9jYWxlLmNjOiBTYW1lLgoKCSogaW5jbHVkZS9zdGQvc3RkX3NzdHJlYW0uaCAoc3RyaW5nYnVmOjpzdHIpOiBUd2VhayBmb3JtYXR0aW5nLgoKMjAwMy0wNS0wNiAgUGhpbCBFZHdhcmRzICA8cG1lQGdjYy5nbnUub3JnPgoKCSogZG9jcy9odG1sL2ZhcS9pbmRleC5odG1sICgzLjEwKTogIEFkZCBub3RlIGFib3V0IG1pcHMgYXRvbWljaXR5LmguCgkqIGRvY3MvaHRtbC9mYXEvaW5kZXgudHh0OiAgUmVnZW5lcmF0ZWQuCgoyMDAzLTA1LTA2ICBNaWNoYWVsIFJpdHplcnQgPFJpdHplcnRAdC1vbmxpbmUuZGU+CgkgICAgTWF0dCBLcmFhaSA8a3JhYWlAYWx1bW5pLmNtdS5lZHU+CgoJKiBpbmNsdWRlL2V4dC9zdGxfcm9wZS5oIChfUm9wZV9Sb3BlUmVwPD46Ol9NX2Nfc3RyaW5nX2xvY2spOiBUd2Vhay4KCUFuZCByZXR3ZWFrLgoKMjAwMy0wNS0wNiAgUmljaGFyZCBTYW5kaWZvcmQgIDxyc2FuZGlmb0ByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLnRhcmdldCAobWlwcyopOiBVc2UgdGhlIGdlbmVyaWMgYXRvbWljaXR5LmggYnkgZGVmYXVsdC4KCjIwMDMtMDUtMDUgIExvcmVuIEouIFJpdHRsZSAgPGxqcml0dGxlQGFjbS5vcmc+CgkgICAgKEluc3BpcmVkIGJ5IGFuIGFsdGVybmF0ZSBwYXRjaCBmcm9tIERhbm55IFNtaXRoLikKCgkqIGluY2x1ZGUvYml0cy9zdGxfdGhyZWFkcy5oIChfQXRvbWljX3N3YXApOiBLaWxsIGl0Li4uCgkoX1N3YXBfbG9ja19zdHJ1Y3Q8Pik6IC4uLmFuZCB0aGUgaG9yc2UgaXQgcm9kZSBpbiBvbi4KCSogc3JjL2dsb2JhbHMuY2MgKF9Td2FwX2xvY2tfc3RydWN0PD4pOiBMaWtld2lzZS4KCSogaW5jbHVkZS9leHQvc3RsX3JvcGUuaCAoX1JvcGVfUm9wZVJlcDw+OjpfTV9jX3N0cmluZ19sb2NrKTogTmV3CgltZW1iZXIgdG8gc3VwcG9ydC4uLgoJKiBpbmNsdWRlL2V4dC9yb3BlaW1wbC5oIChyb3BlPD46OmNfc3RyKTogRm9sbG93ICphbGwqIG1lbW9yeQoJdmlzaWJpbGl0eSBydWxlcyByZWxhdGVkIHRvIFBPU0lYIHRocmVhZHMuCgkqIHRlc3RzdWl0ZS90aHJlYWQvcHRocmVhZDctcm9wZS5jYzogTmV3IHRlc3QuCgoyMDAzLTA1LTA0ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogdGVzdHN1aXRlLzIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL2ZpbmQvY2hhci8zLmNjOiBOZXcKCWZpbGUsIHRlc3RpbmcgYmFzaWNfc3RyaW5nPGNoYXI+OjpmaW5kX2ZpcnN0X25vdF9vZi4KCSogdGVzdHN1aXRlLzIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL2ZpbmQvd2NoYXJfdC8zLmNjOgoJTGlrZXdpc2UgZm9yIGJhc2ljX3N0cmluZzx3Y2hhcl90Pi4KCjIwMDMtMDUtMDMgIExvcmVuIEouIFJpdHRsZSAgPGxqcml0dGxlQGFjbS5vcmc+CgoJKiB0ZXN0c3VpdGUvdGhyZWFkL3B0aHJlYWQxLmNjOiBSZW1vdmUgc3BlY2lhbCBjYXNlIGZvciBGcmVlQlNELgoKMjAwMy0wNS0wMiAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9NYWtlZmlsZS5hbSAoQ0xFQU5GSUxFUyk6IFJlbW92ZSBQQ0ggZmlsZXMgaW4gdGFyZ2V0CglkaXJlY3RvcnkuCgkqIGluY2x1ZGUvTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgoyMDAzLTA1LTAyICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogaW5jbHVkZS9zdGQvc3RkX3NzdHJlYW0uaCAoc3RyKCkpOiBUaWR5LgoKMjAwMy0wNS0wMiAgTmF0aGFuIE15ZXJzICA8bmNtQGNhbnRyaXAub3JnPgoJICAgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJKiBpbmNsdWRlL2JpdHMvc3RyZWFtYnVmLnRjYyAoX19jb3B5X3N0cmVhbWJ1ZnMpOiBSZXdyb3RlLgoKMjAwMy0wNS0wMiAgSm9uYXRoYW4gV2FrZWx5ICA8cmVkaUBnY2MuZ251Lm9yZz4KCgkqIGluY2x1ZGUvYml0cy9iYXNpY19zdHJpbmcuaCAoc3dhcCk6IFJlbW92ZSByZWR1bmRhbnQgdGVtcGxhdGUKCXBhcmFtZXRlcnMgZnJvbSBkZWNsYXJhdGlvbiBvZiBub24tdGVtcGxhdGUgbWVtYmVyIGZ1bmN0aW9uLgoKMjAwMy0wNS0wMSAgUGhpbCBFZHdhcmRzICA8cG1lQGdjYy5nbnUub3JnPgoKCSogYWNjb25maWcuaCAoX0dMSUJDUFBfVVNFX05MUyk6ICBOZXcgc3ltYm9sLgoJKiBjb25maWd1cmUuaW46ICBNb3ZlIGxpYmludGwuaCBoZWFkZXIgdGVzdC4uLgoJKiBhY2luY2x1ZGUubTQgKEdMSUJDUFBfRU5BQkxFX0NMT0NBTEUpOiAgLi4udG8gaGVyZS4gIEdhdGhlciBhbGwKCXRoZSBOTFMtcmVsYXRlZCB0ZXN0IHJlc3VsdHMgaW50byBvbmUgc3ltYm9sLgoJKiBzcmMvZnVuY3RleGNlcHQuY2M6ICBVc2UgaXQgaGVyZS4KCSogYWNsb2NhbC5tNCwgY29uZmlnLmguaW4sIGNvbmZpZ3VyZTogIFJlZ2VuZXJhdGVkLgoKMjAwMy0wNS0wMSAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIGluY2x1ZGUvYml0cy9zc3RyZWFtLnRjYyAob3ZlcmZsb3cpOiBJbnN0ZWFkIG9mIGNhbGxpbmcKCXN0cigpLCB0aGVuIF9NX3N0cmluZy5yZXNlcnZlLCB0aHVzIGNvcHlpbmcgdGhlIGNvbnRlbnRzCglvZiB0aGUgY3VycmVudCBidWZmZXIgdHdvIHRpbWVzLCBqdXN0IGNvcHkgdGhlIGxhdHRlciBpbgoJYSB0ZW1wb3JhcnksIHRoZW4gdXNlIHRoZSAnc3dhcCB0cmljaycuCgoyMDAzLTA1LTAxICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogaW5jbHVkZS9zdGQvc3RkX3NzdHJlYW0uaCAoc3RyKCkpOiBSZXZlcnQgdGhlIGJlc3Qgb2YgdGhlCglwcmV2aW91cyAnaW1wcm92ZW1lbnQnLCBpbmNvcnJlY3QgZHVlIHRvIHRoZSBDT1cgbmF0dXJlIG9mCgl2MyBiYXNpY19zdHJpbmc7IHNpbXBsaWZ5LgoKMjAwMy0wNS0wMSAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIGluY2x1ZGUvYml0cy9zdHJlYW1idWYudGNjIChfX2NvcHlfc3RyZWFtYnVmcyk6IEFkanVzdCB0aGUKCXR5cGUgb2YgX19hdmFpbCB0byBwdHJkaWZmX3QgdG8gYXZvaWQgc2lnbmVkLXVuc2lnbmVkIHdhcm5pbmcuCgoyMDAzLTA1LTAxICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiB0ZXN0c3VpdGUvYWJpX2NoZWNrLmNjIChjaGVja192ZXJzaW9uKTogVXBkYXRlIGtub3duIHZlcnNpb25zLgoJQ2hlY2sgYWRkZWQgc3ltYm9scyBmb3IgdmVyc2lvbl9uYW1lICE9IGJhc2UgdmVyc2lvbi4gQWRkIG1pc3NpbmcKCXN5bWJvbHMgdG8gaW5jb21wYXRpYmxlIGxpc3QuCgoyMDAzLTA1LTAxICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiBhY2luY2x1ZGUubTQgKEdMSUJDUFBfRVhQT1JUX0ZMQUdTKTogUmVtb3ZlIC1XaW5saW5lLgoJKiBhY2xvY2FsLm00OiBSZWdlbmVyYXRlZC4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlZC4KCjIwMDMtMDUtMDEgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJKiBpbmNsdWRlL2JpdHMvc3RyZWFtYnVmLnRjYyAoYmFzaWNfc3RyZWFtYnVmOjp4c2dldG4pOgoJQ29uc3QtaWZ5IHNvbWUgdmFyaWFibGVzLgoJKGJhc2ljX3N0cmVhbWJ1Zjo6eHNwdXRuKTogTGlrZXdpc2U7IGNoYW5nZSB0aGUgdHlwZSBvZiBzb21lCgl2YXJpYWJsZXMgdG8gc2l6ZV90LgoJKF9fY29weV9zdHJlYW1idWZzKTogQ2hhbmdlIHNvbWUgdmFyaWFibGVzIHRvIHNpemVfdC4KCjIwMDMtMDUtMDEgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJKiBpbmNsdWRlL3N0ZC9zdGRfc3N0cmVhbS5oIChzdHIoKSk6IEF2b2lkIGNvbnN0cnVjdGluZwoJYSBiYXNpY19zdHJpbmcgdGVtcG9yYXJ5IG5vdCBvbmx5IHdoZW4gaXQgd291bGQgdHVybiBvdXQKCXRvIGJlIHplcm8tc2l6ZWQgYnV0IGFsc28gd2hlbiBpZGVudGljYWwgdG8gdGhlIGN1cnJlbnQKCV9NX3N0cmluZyBidWZmZXIuCgoyMDAzLTA1LTAxICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogaW5jbHVkZS9leHQvc3RkaW9fZmlsZWJ1Zi5oCgkoc3RkaW9fZmlsZWJ1ZihpbnQsIHN0ZDo6aW9zX2Jhc2U6Om9wZW5tb2RlLCBib29sLCBzaXplX3QpLAoJc3RkaW9fZmlsZWJ1ZihzdGQ6Ol9fY19maWxlKiwgc3RkOjppb3NfYmFzZTo6b3Blbm1vZGUsIHNpemVfdCkpOgoJU2hvcnRlbiBhIGJpdCAoLTEwIGxpbmVzKSBieSBmYWN0b3Jpbmcgb3V0IHNvbWUgY29kZS4KCjIwMDMtMDQtMzAgIFBoaWwgRWR3YXJkcyAgPHBtZUBnY2MuZ251Lm9yZz4KCgkqIGFjaW5jbHVkZS5tNDogIEFkZCBiaXQgbWlzc2luZyBmcm9tIHByZXZpb3VzIHBhdGNoLgoJKiBhY2xvY2FsLm00LCBjb25maWd1cmU6ICBSZWdlbmVyYXRlZC4KCjIwMDMtMDQtMjkgIFBoaWwgRWR3YXJkcyAgPHBtZUBnY2MuZ251Lm9yZz4KCgkqIGRvY3MvZG94eWdlbi9tYWlucGFnZS5odG1sOiAgQnJpbmcgdXAgdG8gZGF0ZS4KCSogZG9jcy9kb3h5Z2VuL3J1bl9kb3h5Z2VuOiAgQ29zbWV0aWMgdHdlYWtzLiAgV29yayBhcm91bmQgYSBidWcKCWluIERveHlnZW4uCgkqIGRvY3MvZG94eWdlbi91c2VyLmNmZy5pbjogIFNjYW5uaW5nIHRoZSBwcmVjb21waWxlZCBoZWFkZXJzCglicmVha3MgZXZlcnl0aGluZy4gIERvbid0IHNjYW4gdGhlbS4KCSogZG9jcy9odG1sL2RvY3VtZW50YXRpb24uaHRtbDogIFBvaW50IHRvICJXcml0ZSBhZnRlciBhcHByb3ZhbCIKCW5vdGVzLgoKMjAwMy0wNC0yOSAgUGhpbCBFZHdhcmRzICA8cG1lQGdjYy5nbnUub3JnPgoKCSogYWNpbmNsdWRlLm00IChHTElCQ1BQX0VOQUJMRV9DTE9DQUxFKTogIFNlYXJjaCBmb3IgZ2V0dGV4dCBvdXRzaWRlCglvZiBsaWJjIGlmIG1lc3NhZ2UgdHJhbnNsYXRpb25zIGFyZSBiZWluZyB1c2VkLiAgRml4IGluZm8gdGV4dCBpbgoJeGllZWVfMTAwMy4xLTIwMDEgY2FzZS4KCSogYWNsb2NhbC5tNCwgY29uZmlndXJlOiAgUmVnZW5lcmF0ZS4KCjIwMDMtMDQtMjkgSm9lbCBTaGVycmlsbCAgPGpvZWwuc2hlcnJpbGxAT0FSY29ycC5jb20+CgkgICBMb3JlbiBKLiBSaXR0bGUgPGxqcml0dGxlQGFjbS5vcmc+CgkgICBNYXJ0aW4gdi4gTG9ld2lzICA8bWFydGluQHYubG9ld2lzLmRlPgoKCSogY29uZmlnL2NwdS9pMzg2L2F0b21pY2l0eS5oOiBOZXcgZmlsZS4KCjIwMDMtMDQtMjkgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJKiBpbmNsdWRlL2JpdHMvZnN0cmVhbS50Y2MgKG9wZW4pOiBDaGFuZ2UgdG8gc2luZ2xlIHJldHVybi4KCjIwMDMtMDQtMjkgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJKiBpbmNsdWRlL3N0ZC9zdGRfc3N0cmVhbS5oICh1bmRlcmZsb3cpOiBDaGFuZ2UgdG8gc2luZ2xlIHJldHVybi4KCjIwMDMtMDQtMjggIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJKiBpbmNsdWRlL3N0ZC9zdGRfc3RyZWFtYnVmLmggKF9NX2J1Zik6IGlzIGN1cnJlbnRseQoJdXNlZCBvbmx5IGZvciBiYXNpY19maWxlYnVmLCB0aGVyZWZvcmUgbW92ZSBpdCB0aGVyZS4KCShiYXNpY19zdHJlYW1idWYoKSwgfmJhc2ljX3N0cmVhbWJ1ZigpKTogQWRqdXN0LgoJKiBpbmNsdWRlL3N0ZC9zdGRfZnN0cmVhbS5oIChfTV9idWYpOiBNb3ZlZCBoZXJlLgoJKiBpbmNsdWRlL3N0ZC9zdGRfc3N0cmVhbS5oIChzZXRidWYpOiBEb24ndCBzZXQgX01fYnVmLAoJaXMgYWN0dWFsbHkgcmVkdW5kYW50IGZvciBiYXNpY19zdHJpbmdidWYuCgkoX01fcmVhbGx5X3N5bmMpOiBMaWtld2lzZS4KCSogaW5jbHVkZS9iaXRzL2ZzdHJlYW0udGNjIChiYXNpY19maWxlYnVmKCkpOiBBZGp1c3QuCgkqIGluY2x1ZGUvYml0cy9zc3RyZWFtLnRjYyAoc2Vla29mZik6IEFkanVzdC4KCjIwMDMtMDQtMjggIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIHNyYy9sb2NhbGVuYW1lLmNjOiBTdGFuZGFyZGl6ZSBleGNlcHRpb24gc3RyaW5ncy4KCSogc3JjL2xvY2FsZS5jYzogU2FtZS4KCSogc3JjL2lvcy5jYzogU2FtZS4KCSogaW5jbHVkZS9iaXRzL2Jhc2ljX3N0cmluZy50Y2M6IFNhbWUuCgkqIGluY2x1ZGUvYml0cy9iYXNpY19pb3MudGNjOiBTYW1lLgoJKiBpbmNsdWRlL3N0ZC9zdGRfYml0c2V0Lmg6IFNhbWUuCgkqIGluY2x1ZGUvZXh0L3JvcGVpbXBsLmg6IFNhbWUuCgkqIGluY2x1ZGUvYml0cy9zdGxfdmVjdG9yLmg6IFNhbWUuCgkqIGluY2x1ZGUvYml0cy9zdGxfZGVxdWUuaDogU2FtZS4KCSogaW5jbHVkZS9iaXRzL3N0bF9idmVjdG9yLmg6IFNhbWUuCgkqIGNvbmZpZy9sb2NhbGUvZ2VuZXJpYy9jX2xvY2FsZS5jYzogU2FtZS4KCSogY29uZmlnL2xvY2FsZS9nbnUvY19sb2NhbGUuY2M6IFNhbWUuCgkqIGNvbmZpZy9sb2NhbGUvaWVlZV8xMDAzLjEtMjAwMS9jb2RlY3Z0X3NwZWNpYWxpemF0aW9ucy5oOiBTYW1lLgoKCSogdGVzdHN1aXRlL3Rlc3RzdWl0ZV9ob29rcy5jYyAoX19nbnVfY3h4X3Rlc3QpOiBNb2RpZnkuCgoyMDAzLTA0LTI4ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogaW5jbHVkZS9zdGQvc3RkX3N0cmVhbWJ1Zi5oIChfTV9idWZfc2l6ZSk6IGlzIGN1cnJlbnRseQoJdXNlZCBvbmx5IGZvciBiYXNpY19maWxlYnVmLCB0aGVyZWZvcmUgbW92ZSBpdCB0aGVyZS4KCShiYXNpY19zdHJlYW1idWYoKSwgfmJhc2ljX3N0cmVhbWJ1ZigpKTogQWRqdXN0LgoJKiBpbmNsdWRlL3N0ZC9zdGRfZnN0cmVhbS5oIChfTV9idWZfc2l6ZSk6IE1vdmVkIGhlcmUuCgkqIGluY2x1ZGUvYml0cy9mc3RyZWFtLnRjYyAoYmFzaWNfZmlsZWJ1ZigpKTogQWRqdXN0LgoKMjAwMy0wNC0yOCAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIGluY2x1ZGUvYml0cy9zdHJlYW1idWYudGNjIChfX2NvcHlfc3RyZWFtYnVmcyk6IERvbid0IHVzZQoJX01fYnVmX3NpemUgKHN5bmNlZCBpbnB1dCBpcyBub3cgY29ycmVjdGx5IGRlYWx0IHdpdGgKCWVsc2V3aGVyZSk7IHdoZW4gdGhlIG91dHB1dCBidWZmZXIgaXMgZnVsbCBkb24ndCBmYWxsIGJhY2sKCXRvIGEgc25leHRjLXNwdXRjIGxvb3AsIGNhbGwgb3ZlcmZsb3cgaW5zdGVhZC4KCjIwMDMtMDQtMjggIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJKiBpbmNsdWRlL2JpdHMvc3N0cmVhbS50Y2MgKHBiYWNrZmFpbCk6IFNob3J0ZW4gYSBiaXQgKDYgbGluZXMpCgl0aGUgaW5uZXJtb3N0ICdpZicgYnkgZmFjdG9yaW5nIG91dCBzb21lIGNvZGUuCgoyMDAzLTA0LTI4ICBQaGlsIEVkd2FyZHMgIDxwbWVAZ2NjLmdudS5vcmc+CgoJKiBjb25maWd1cmUuaW46ICBUZXN0IGZvciBsaWJpbnRsLmguCgkqIGluY2x1ZGUvYml0cy9jKytjb25maWc6ICBEZWZpbmUgX19OIGZvciBldmVyeWJvZHkuCgkqIGluY2x1ZGUvYml0cy9iYXNpY19zdHJpbmcuaCwgaW5jbHVkZS9iaXRzL3N0bF9idmVjdG9yLmgsCglpbmNsdWRlL2JpdHMvc3RsX2RlcXVlLmgsIGluY2x1ZGUvYml0cy9zdGxfdmVjdG9yLmgsCglpbmNsdWRlL3N0ZC9zdGRfYml0c2V0Lmg6ICBXcmFwIGFsbCBfX3Rocm93KiB0ZXh0IHdpdGggX19OLgoJKiBwby9NYWtlZmlsZS5hbSAocG90KTogIE5ldyBydWxlLCBtb3N0bHkgd29ya2luZy4KCSogc3JjL2Z1bmN0ZXhjZXB0LmNjOiAgQ2FsbCBnZXR0ZXh0IG9uIGFsbCBfX3Rocm93KiBhcmd1bWVudHMgd2hlbgoJLWZleGNlcHRpb25zIGlzIGluIGVmZmVjdC4KCSogcG8vTWFrZWZpbGUuaW4sIGNvbmZpZy5oLmluLCBjb25maWd1cmU6ICBSZWdlbmVyYXRlLgoKMjAwMy0wNC0yOCAgUGV0dXIgUnVub2xmc3NvbiAgPHBldHVycjAyQHJ1LmlzPgoKCVBSIGxpYnN0ZGMrKy85NTIzCgkqIGluY2x1ZGUvYml0cy9pb3NfYmFzZS5oIChJbml0OjpfU19pb3NfY3JlYXRlLAoJSW5pdDo6X1NfaW9zX2Rlc3Ryb3kpOiAgUmVtb3ZlIGRlY2xhcmF0aW9ucy4KCShJbml0OjpfU19jcmVhdGVfYnVmZmVycywKCUluaXQ6Ol9TX2Rlc3Ryb3lfYnVmZmVycyk6ICBEZWNsYXJlCgkqIHNyYy9pb3MuY2MgKEluaXQ6Ol9TX2lvc19jcmVhdGUpOiAgUmVtb3ZlCgkoSW5pdDo6X1NfY3JlYXRlX2J1ZmZlcnMpOiAgQ3JlYXRlIGJ1ZmZlcnMgYW5kIGFkZCB0byBzdHJlYW1zLgoJKEluaXQ6Ol9TX2lvc19kZXN0cm95KTogIFJlbmFtZSB0by4uLgoJKEluaXQ6Ol9TX2Rlc3Ryb3lfYnVmZmVycyk6ICB0aGlzLgoJKEluaXQ6OkluaXQpOiAgT25seSBjb25zdHJ1Y3Qgc3RyZWFtcyBvbmNlLgoJKEluaXQ6On5Jbml0KTogIEZsdXNoIHN0cmVhbXMsIGRvbid0IGRlc3Ryb3kgdGhlbS4KCShpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKTogIERvbid0IGRlc3Ryb3kgc3RyZWFtcywgb25seSBidWZmZXJzLgoJKiB0ZXN0c3VpdGUvMjdfaW8vaW9zX2Jhc2Uvc3luY193aXRoX3N0ZGlvLzk1MjMuY2M6ICBOZXcgdGVzdC4KCSogdGVzdHN1aXRlLzI3X2lvL29iamVjdHMvY2hhci81LmNjOiAgTmV3IHRlc3QuCgkqIHRlc3RzdWl0ZS8yN19pby9vYmplY3RzL2NoYXIvNTI2OC5jYzogIEF2b2lkIHVuZGVmaW5lZCBiZWhhdmlvci4KCSogdGVzdHN1aXRlLzI3X2lvL29iamVjdHMvY2hhci82LmNjOiAgTmV3IHRlc3QuCgkqIHRlc3RzdWl0ZS8yN19pby9vYmplY3RzL2NoYXIvNy5jYzogIE5ldyB0ZXN0LgoKMjAwMy0wNC0yOCAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogdGVzdHN1aXRlLzI3X2lvL29iamVjdHMvY2hhci84LmNjOiAgTmV3IHRlc3QuCgoyMDAzLTA0LTI4ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvZGVjdnQvdW5pY29kZS9jaGFyLmNjOiBSZW1vdmUgYm9tIHVzYWdlLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvZGVjdnQvdW5pY29kZS93Y2hhcl90LmNjOiBTYW1lLgoKMjAwMy0wNC0yNyAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9zdGQvc3RkX2ZzdHJlYW0uaCAoYmFzaWNfZmlsZWJ1Zik6IF9NX3BiYWNrX2Rlc3Ryb3kgdG8KCV9NX2Rlc3Ryb3lfcGJhY2suIF9NX3BiYWNrX2NyZWF0ZSB0bwoJX01fY3JlYXRlX3BiYWNrLiBfTV91bmRlcmZsb3dfY29tbW9uIHRvCglfTV91bmRlcmZsb3cuIF9NX3JlYWxseV9vdmVyZmxvdyB0byBfTV9vdmVyZmxvdy4KCSogaW5jbHVkZS9iaXRzL2ZzdHJlYW0udGNjOiBTYW1lLgoJKiBzcmMvZnN0cmVhbS5jYzogU2FtZS4KCSogaW5jbHVkZS9zdGQvc3RkX3N0cmVhbWJ1Zi5oIChiYXNpY19zdHJlYW1idWYpOiBfTV9pbl9jdXJfbW92ZSB0bwoJX01fbW92ZV9pbl9jdXIuICBfTV9vdXRfY3VyX21vdmUgdG8gX01fbW92ZV9vdXRfY3VyLgoJKiBpbmNsdWRlL2JpdHMvc3RyZWFtYnVmLnRjYzogU2FtZS4KCSogaW5jbHVkZS9iaXRzL2ZzdHJlYW0udGNjOiBTYW1lLgoJKiBpbmNsdWRlL2JpdHMvc3N0cmVhbS50Y2M6IFNhbWUuCgoyMDAzLTA0LTI3ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2NsYXNzZXMuaCAobG9jYWxlOjpfSW1wbCk6IENoYW5nZSBfTV9uYW1lcwoJZnJvbSBmaXhlZCBzaXplIGFycmF5LgoJKGxvY2FsZSk6IENoYW5nZSBfU19jYXRlZ29yaWVzIGFzIHdlbGwuCglGb3JtYXR0aW5nIHR3ZWFrcy4KCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjOiBUd2Vhay4KCSogY29uZmlnL2xvY2FsZS9nbnUvY19sb2NhbGUuY2M6IEFzc2lnbiBfU19jYXRlZ29yaWVzLgoJKiBjb25maWcvbG9jYWxlL2dlbmVyaWMvY19sb2NhbGUuY2M6IFNhbWUuCgkqIHNyYy9sb2NhbGUuY2M6IFR3ZWFrLgoJKiBzcmMvZ2xvYmFscy5jYzogQ2hhbmdlIGZhY2V0X25hbWUgdG8gbmFtZV92ZWMsIGFkZCBuYW1lc19jLgoJKiBzcmMvbG9jYWxlbmFtZS5jYzogVXNlIHRoZW0uCgkobG9jYWxlOjpfSW1wbDo6fl9JbXBsKTogRGVzdHJveSBfTV9uYW1lcy4KCShsb2NhbGU6Ol9JbXBsOjpfSW1wbCk6IENyZWF0ZSBfTV9uYW1lcy4KCjIwMDMtMDQtMjcgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBjb25maWcvbG9jYWxlL2llZWVfMTAwMy4xLTIwMDEvY29kZWN2dF9zcGVjaWFsaXphdGlvbnMuaAoJKF9fZW5jX3RyYWl0cyk6IFVzZSBfX2lib20gYW5kIF9fZWJvbSBpbnN0ZWFkIG9mIGlnbm9yaW5nIHRoZW0uCgoyMDAzLTA0LTI3ICBOYXRoYW4gTXllcnMgIDxuY21AY2FudHJpcC5vcmc+CgoJTW92ZSBzb21lIGJhc2ljX3N0cmluZyBtZW1iZXJzIG91dCBvZiBsaW5lIGJlY2F1c2UKCXRoZXkgYXJlIHRvbyBiaWcgdG8gcmVhc29uYWJseSBiZSBpbmxpbmUuCgkqIGluY2x1ZGUvYml0cy9iYXNpY19zdHJpbmcuaAoJKGFzc2lnbihjb25zdCBiYXNpY19zdHJpbmcmLCBzaXplX3R5cGUsIHNpemVfdHlwZSksCglhc3NpZ24oY29uc3QgX0NoYXJUKiwgc2l6ZV90eXBlKSwKCWluc2VydChzaXplX3R5cGUsIGNvbnN0IGJhc2ljX3N0cmluZyYsIHNpemVfdHlwZSwgc2l6ZV90eXBlKSwKCWluc2VydChzaXplX3R5cGUsIGNvbnN0IF9DaGFyVCosIHNpemVfdHlwZSksCglyZXBsYWNlKHNpemVfdHlwZSwgc2l6ZV90eXBlLCBjb25zdCBfQ2hhclQqLCBzaXplX3R5cGUpKToKCU1vdmUgZnJvbSBoZXJlIHRvLi4uCgkqIGluY2x1ZGUvYml0cy9iYXNpY19zdHJpbmcudGNjOiAuLi5oZXJlLgoKMjAwMy0wNC0yNiAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIGluY2x1ZGUvYml0cy9mc3RyZWFtLnRjYyAocGJhY2tmYWlsKTogU2hvcnRlbiBhIGJpdCAoMTAgbGluZXMpCgl0aGUgaW5uZXJtb3N0ICdpZicgYnkgZmFjdG9yaW5nIG91dCBzb21lIGNvZGUuCgoyMDAzLTA0LTI2ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogaW5jbHVkZS9iaXRzL3N0cmVhbWJ1Zi50Y2MgKF9fY29weV9zdHJlYW1idWZzKTogRG9uJ3QKCXVzZSBpbl9hdmFpbCgpLCBzaW1wbGlmeS4KCjIwMDMtMDQtMjYgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJKiBpbmNsdWRlL3N0ZC9zdGRfc3N0cmVhbS5oIChzZXRidWYpOiBkb24ndCBzZXQgX01fYnVmX3NpemUsCglpbiBiYXNpY19zdHJpbmdidWYgaXQncyB1bnVzZWQuCgoJKiBpbmNsdWRlL3N0ZC9zdGRfc3N0cmVhbS5oICh1bmRlcmZsb3cpOiBjb25zaXN0ZW50bHkgdXNlCglfTV9pbl9jdXIsIG5vdCBncHRyKCkuCgoyMDAzLTA0LTI1ICBSYW5qaXQgTWF0aGV3ICA8cm1hdGhld0Bob3RtYWlsLmNvbT4KCSAgICBQaGlsIEVkd2FyZHMgIDxwbWVAZ2NjLmdudS5vcmc+CgoJKiB0ZXN0c3VpdGVfZmxhZ3MuaW46IEd1YXJkIGFnYWluc3QgdGhlIHBvc3NpYmlsaXR5CglvZiBoYXZpbmcgInhnY2MiIGFzIGEgcGFydCBvZiBhIGZvbGRlciBuYW1lIGluIHRoZQoJcGF0aCB0byB0aGUgR0NDIGJ1aWxkIGZvbGRlci4KCSogdGVzdHN1aXRlL01ha2VmaWxlLmFtOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlL01ha2VmaWxlLmluOiBSZWdlbmVyYXRlZC4KCjIwMDMtMDQtMjUgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCglQUiBsaWJzdGRjKysvMTAxMzIKCSogaW5jbHVkZS9zdGQvc3RkX2ZzdHJlYW0uaCAoYmFzaWNfZmlsZWJ1Zjo6aXNfb3Blbik6IEFkZCB0aHJvdygpCglleGNlcHRpb24gc3BlY2lmaWNhdGlvbnMuCgkoYmFzaWNfZmlsZWJ1Zjo6Y2xvc2UpOiBTYW1lLgoJKGJhc2ljX2ZpbGVidWY6Ol9NX3BiYWNrX2Rlc3Ryb3kpOiBTYW1lLgoJKGJhc2ljX2ZpbGVidWY6Ol9NX2Rlc3Ryb3lfaW50ZXJuYWxfYnVmZmVyKTogU2FtZS4KCShiYXNpY19maWxlYnVmKTogUmVtb3ZlIF9fcmVzX3R5cGUgdHlwZWRlZi4KCSogc3JjL2ZzdHJlYW0uY2M6IFNhbWUuCgkqIGluY2x1ZGUvYml0cy9mc3RyZWFtLnRjYwoJKGJhc2ljX2ZpbGVidWY6Ol9NX2NvbnZlcnRfdG9fZXh0ZXJuYWwpOiBTaW1wbGlmeS4KCShiYXNpY19maWxlYnVmOjpzZWVrb2ZmKTogVXNlIGhhc19mYWNldAliZWZvcmUgdXNlX2ZhY2V0LgoJKGJhc2ljX2ZpbGVidWY6OmNsb3NlKTogQWRkIGV4Y2VwdGlvbiBzcGVjaWZpY2F0aW9uIG9mIHRocm93KCkuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL2NvbnM6IE5ldy4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvY29ucy93Y2hhcl90OiBOZXcuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL2NvbnMvd2NoYXJfdC8xMDEzMi0xLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NlZWtvZmYvMTAxMzItMi5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZWVrcG9zLzEwMTMyLTMuY2M6IE5ldy4KCjIwMDMtMDQtMjUgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfY2xhc3Nlcy5oCgkobG9jYWxlOjpfU19leHRyYV9jYXRlZ29yaWVzX3NpemUpOiBSZW1vdmUuCgkqIHNyYy9sb2NhbGUuY2M6IFJlbW92ZSBfU19leHRyYV9jYXRlZ29yaWVzX3NpemUuCgkqIHNyYy9sb2NhbGVuYW1lLmNjOiBTYW1lLgoJKiBjb25maWcvbG9jYWxlL2dudS9jX2xvY2FsZS5jYzogU2FtZS4KCSogY29uZmlnL2xvY2FsZS9nZW5lcmljL2NfbG9jYWxlLmNjOiBTYW1lLgoKMjAwMy0wNC0yNCAgUmljaGFyZCBTYW5kaWZvcmQgIDxyc2FuZGlmb0ByZWRoYXQuY29tPgoKCSogc3JjL2xvY2FsZW5hbWUuY2MgKF9fZ251X2N4eDo6ZmFjZXRfdmVjKTogQ29ycmVjdCB0eXBlcy4KCjIwMDMtMDQtMjQgIFBoaWwgRWR3YXJkcyAgPHBtZUBnY2MuZ251Lm9yZz4KCgkqIGRvY3MvaHRtbC8xN19pbnRyby9ob3d0by5odG1sOiAgVXBkYXRlIHNvbWUgbGlua3MuCgkqIGRvY3MvaHRtbC8xOF9zdXBwb3J0L2hvd3RvLmh0bWw6ICBMaW5rIGRveHlnZW4gbnVtZXJpY19saW1pdHMgbm90ZXMuCgkqIGRvY3MvaHRtbC8yN19pby9ob3d0by5odG1sOiAgTGluayBkb3h5Z2VuIHN0ZGlvX2ZpbGVidWYgbm90ZXMuCgkqIGRvY3MvaHRtbC9leHQvaG93dG8uaHRtbDogIExpbmsgdG8gZGVtYW5nbGVyIG5vdGVzIGFuZCBBUEkuCgkqIGRvY3MvaHRtbC9mYXEvaW5kZXguaHRtbDogIFJlbW92ZSB0cmFpbGluZyB3aGl0ZXNwYWNlLgoJKDEuNCwgMi40LCAzLjgsIDQuMSk6ICBCcmluZyB1cCB0byBkYXRlLgoJKDUuNik6ICBDaGFuZ2UgdG8gYSBidWxsZXRlZCBsaXN0LgoKCSogZG9jcy9odG1sL2ZhcS9pbmRleC50eHQsIGRvY3MvaHRtbC9kb2N1bWVudGF0aW9uLmh0bWwsCglkb2NzL2h0bWwvMTdfaW50cm8vcG9ydGluZy5odG1sOiAgUmVnZW5lcmF0ZS4KCjIwMDMtMDQtMjMgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi8zLmNjOiBfU19wYmFja19zaXplIG5vdwoJYmVsb25ncyB0byBiYXNpY19maWxlYnVmLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZnN0cmVhbS8zLmNjOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2lmc3RyZWFtLzMuY2M6IExpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfaW9zLzMuY2M6IFJlbW92ZSBfU19wYmFja19zaXplCglpbnN0YW50aWF0aW9uIChub3cgYmVsb25ncyB0byBiYXNpY19maWxlYnVmKS4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2lvc3RyZWFtLzMuY2M6IExpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfaXN0cmVhbS8zLmNjOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2lzdHJlYW0vc2VudHJ5L2NoYXIvMzk4My1mc3RyZWFtLmNjOgoJX1NfcGJhY2tfc2l6ZSBub3cgYmVsb25ncyB0byBiYXNpY19maWxlYnVmLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfaXN0cmluZ3N0cmVhbS8zLmNjOiBSZW1vdmUgX1NfcGJhY2tfc2l6ZQoJaW5zdGFudGlhdGlvbiAobm93IGJlbG9uZ3MgdG8gYmFzaWNfZmlsZWJ1ZikuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19vZnN0cmVhbS8zLmNjOiBfU19wYmFja19zaXplIG5vdwoJYmVsb25ncyB0byBiYXNpY19maWxlYnVmLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfb3N0cmVhbS8zLmNjOiBSZW1vdmUgX1NfcGJhY2tfc2l6ZQoJaW5zdGFudGlhdGlvbiAobm93IGJlbG9uZ3MgdG8gYmFzaWNfZmlsZWJ1ZikuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19vc3RyZWFtL3NlbnRyeS9jaGFyLzM5ODMtZnN0cmVhbS5jYzoKCV9TX3BiYWNrX3NpemUgbm93IGJlbG9uZ3MgdG8gYmFzaWNfZmlsZWJ1Zi4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX29zdHJpbmdzdHJlYW0vMy5jYzogUmVtb3ZlIF9TX3BiYWNrX3NpemUKCWluc3RhbnRpYXRpb24gKG5vdyBiZWxvbmdzIHRvIGJhc2ljX2ZpbGVidWYpLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfc3RyZWFtYnVmLzMuY2M6IF9TX3BiYWNrX3NpemUgbm93IGJlbG9uZ3MKCXRvIGJhc2ljX2ZpbGVidWYuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19zdHJpbmdidWYvMy5jYzogUmVtb3ZlIF9TX3BiYWNrX3NpemUKCWluc3RhbnRpYXRpb24gKG5vdyBiZWxvbmdzIHRvIGJhc2ljX2ZpbGVidWYpLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfc3RyaW5nc3RyZWFtLzMuY2M6IExpa2V3aXNlLgoKMjAwMy0wNC0yMyAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmluOiBNb3ZlIEdMSUJDUFBfQ0hFQ0tfUENIIGJlZm9yZSBuYXRpdmUvY3Jvc3MgY29uZGl0aW9ucy4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlZC4KCjIwMDMtMDQtMjMgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZy9sb2NhbGUvZ2VuZXJpYy9jX2xvY2FsZS5oIChfX2NvbnZlcnRfZnJvbV92KTogVXNlCglhdHRyaWJ1dGUgdW51c2VkLgoKMjAwMy0wNC0yMyAgUGhpbCBFZHdhcmRzICA8cG1lQGdjYy5nbnUub3JnPgoKCSogZG9jcy9odG1sL2V4dC9ob3d0by5odG1sICgnTFdHIElzc3VlcycpOiAgQWRkIGlzc3VlIDYwLCBwYXJ0aWFsCglpbXBsZW1lbnRhdGlvbiBvbmx5LgoJKiBpbmNsdWRlL2JpdHMvaXN0cmVhbS50Y2MgKHB1dGJhY2ssIHVuZ2V0LCBzeW5jLCB0ZWxsZywgc2Vla2cpOgoJQ29tbWVudCBhbmQgY2hhbmdlIHRvIGNvbXBseSB3aXRoIERSIDYwIGFuZCB0aGUgZWZmZWN0IG9uIGdjb3VudCgpLgoJKiBpbmNsdWRlL3N0ZC9zdGRfaXN0cmVhbS5oOiAgVXBkYXRlIGNvbW1lbnRzLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfaXN0cmVhbS9wdXRiYWNrL2NoYXIvMS5jYyAodGVzdDAxKTogIEFkZAoJY29tbWVudHMgYWJvdXQgcmVhc29ucyBmb3IgdGVzdHMuICBUZXN0IHN5bmMoKSBhZ2FpbnN0IGdjb3VudCgpLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfaXN0cmVhbS9zZWVrZy9jaGFyLzIuY2M6ICBOZXcgZmlsZSwgdGVzdAoJZm9yIGVmZmVjdCBvbiBnY291bnQoKS4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2lzdHJlYW0vdGVsbGcvY2hhci8yLmNjOiAgTmV3IGZpbGUsIHRlc3QKCWZvciBlZmZlY3Qgb24gZ2NvdW50KCkuCgoyMDAzLTA0LTIyICBMb3JlbiBKLiBSaXR0bGUgIDxsanJpdHRsZUBhY20ub3JnPgoKCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvY2xvc2UvY2hhci85OTY0LmNjICh0ZXN0XzA3KToKCUFkanVzdCB0aW1pbmcuCgoyMDAzLTA0LTIyICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogaW5jbHVkZS9zdGQvc3RkX3N0cmVhbWJ1Zi5oIChfU19wYmFja19zaXplLCBfTV9wYmFjaywKCV9NX3BiYWNrX2N1cl9zYXZlLCBfTV9wYmFja19lbmRfc2F2ZSwgX01fcGJhY2tfaW5pdCwKCV9NX3BiYWNrX2NyZWF0ZSgpLCBfTV9wYmFja19kZXN0cm95KCkpOiBNb3ZlIHRvIGJhc2ljX2ZpbGVidWYuCgkoYmFzaWNfc3RyZWFtYnVmOjpiYXNpY19zdHJlYW1idWYoKSk6IEFkanVzdC4KCSogaW5jbHVkZS9zdGQvc3RkX2ZzdHJlYW0uaCAoX1NfcGJhY2tfc2l6ZSwgX01fcGJhY2ssCglfTV9wYmFja19jdXJfc2F2ZSwgX01fcGJhY2tfZW5kX3NhdmUsIF9NX3BiYWNrX2luaXQsCglfTV9wYmFja19jcmVhdGUoKSwgX01fcGJhY2tfZGVzdHJveSgpKTogTW92ZWQgaGVyZQoJZnJvbSBiYXNpY19zdHJlYW1idWYuCgkqIGluY2x1ZGUvYml0cy9mc3RyZWFtLnRjYyAoYmFzaWNfZmlsZWJ1Zjo6YmFzaWNfZmlsZWJ1ZigpKToKCUFkanVzdC4KCShiYXNpY19maWxlYnVmOjpfU19wYmFja19zaXplKTogQWRkIGRlY2xhcmF0aW9uLgoJKiBpbmNsdWRlL2JpdHMvc3RyZWFtYnVmLnRjYyAoYmFzaWNfc3RyZWFtYnVmOjpfU19wYmFja19zaXplKToKCVJlbW92ZSBkZWNsYXJhdGlvbi4KCjIwMDMtMDQtMjEgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJQ29uc2lzdGVudGx5IHVzZSBfTV9pbl9iZWcgaW5zdGVhZCBvZiBlYmFjaygpLCBfTV9pbl9jdXIKCWluc3RlYWQgb2YgZ3B0cigpLCBhbmQgc28gb24uCgkqIGluY2x1ZGUvYml0cy9mc3RyZWFtLnRjYyAocGJhY2tmYWlsLCBpbWJ1ZSk6IEhlcmUuCgkqIGluY2x1ZGUvYml0cy9zc3RyZWFtLnRjYyAocGJhY2tmYWlsLCBzZWVrb2ZmLCBzZWVrcG9zKTogRGl0dG8uCgkqIGluY2x1ZGUvYml0cy9zdHJlYW1idWYudGNjIChzYnVtcGMsIHNwdXRiYWNrYywKCV9fY29weV9zdHJlYW1idWZzKTogRGl0dG8uCgkqIGluY2x1ZGUvc3RkL3N0ZF9zdHJlYW1idWYuaCAoc2dldGMpOiBEaXR0by4KCjIwMDMtMDQtMjEgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJKiBpbmNsdWRlL2JpdHMvc3N0cmVhbS50Y2MgKHBiYWNrZmFpbCwgb3ZlcmZsb3cpOgoJRm9ybWF0dGluZyBmaXhlcy4KCjIwMDMtMDQtMjEgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJKiBpbmNsdWRlL3N0ZC9zdGRfc3RyZWFtYnVmLmggKHVmbG93KCkpOiBJdCdzIHVzZWQgb25seSBieQoJYmFzaWNfc3RyaW5nYnVmIChpLmUuLCBiYXNpY19maWxlYnVmIHByb3ZpZGUgaXRzIG93biB1ZmxvdygpKSwKCXRoZXJlZm9yZSBkbyBub3QgY29uc2lkZXIgdGhlIF9NX2J1Zl91bmlmaWVkID09IHRydWUgY2FzZS4KCgkqIGluY2x1ZGUvc3RkL3N0ZF9zdHJlYW1idWYuaCAoc2dldGMoKSk6IFJlc3RvcmUgX19yZXQgdmFyaWFibGUuCgoyMDAzLTA0LTIwICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogZG9jcy9odG1sL2V4dC9ob3d0by5odG1sICgnTFdHIElzc3VlcycpOgoJQWRkIGlzc3VlcyAxOSwgOTAsIDE3MSwgMjMxLCAyNzEuCgoyMDAzLTA0LTIwICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogaW5jbHVkZS9iaXRzL3NzdHJlYW0udGNjIChwYmFja2ZhaWwpOiBSZW1vdmUgcmVkdW5kYW50CglOVUxMIHBvaW50ZXIgY2hlY2sgZnJvbSB0ZXN0IGludm9sdmluZyBfTV9pbl8qLgoJKG92ZXJmbG93LCBzZWVrb2ZmLCBzZWVrcG9zKTogQ29uc3QgcXVhbGlmeSBib29sIHZhcmlhYmxlcy4KCSogaW5jbHVkZS9zdGQvc3RkX3NzdHJlYW0uaCAodW5kZXJmbG93KTogUmVtb3ZlIHJlZHVuZGFudAoJTlVMTCBwb2ludGVyIGNoZWNrIGZyb20gdGVzdCBpbnZvbHZpbmcgX01faW5fKi4KCShfTV9yZWFsbHlfc3luYyk6IENvbnN0IHF1YWxpZnkgYm9vbCB2YXJpYWJsZXMuCgkqIHNyYy9mc3RyZWFtLmNjIChfTV91bmRlcmZsb3dfY29tbW9uKTogUmVtb3ZlIHJlZHVuZGFudAoJTlVMTCBwb2ludGVyIGNoZWNrIGZyb20gdGVzdCBpbnZvbHZpbmcgX01faW5fKiwgY29uc3QgcXVhbGlmeQoJYm9vbCB2YXJpYWJsZXMuCgoJKiBpbmNsdWRlL3N0ZC9zdGRfc3RyZWFtYnVmLmggKHNnZXRjKTogUmVtb3ZlIHJlZHVuZGFudAoJdmFyaWFibGUuCgoyMDAzLTA0LTE4ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCUFjY29yZGluZyB0byA1LjkgcGFyYSAyIChzZWNvbmQgYnVsbGV0KSBmb3IgcG9pbnRlcnMgcCwgcQoJcG9pbnRpbmcgdG8gdGhlIHNhbWUgdHlwZSwgd2l0aCAgcCA9PSAwIGFuZCBxID09IDAsIChwIDwgcSkKCWlzIGZhbHNlLgoJKiBpbmNsdWRlL2JpdHMvZnN0cmVhbS50Y2MgKGNsb3NlLCBvdmVyZmxvdywgX01fcmVhbGx5X292ZXJmbG93LAoJc2Vla29mZik6IFJlbW92ZSByZWR1bmRhbnQgTlVMTCBwb2ludGVyIGNoZWNrcyBmcm9tIHRlc3RzCglpbnZvbHZpbmcgX01fb3V0XyogYW5kIF9NX2luXyosIGNvbnN0IHF1YWxpZnkgYm9vbCB2YXJpYWJsZXMuCgkoc2hvd21hbnljLCBwYmFja2ZhaWwsIF9NX2NvbnZlcnRfdG9fZXh0ZXJuYWwsIGltYnVlKTogQ29uc3QKCXF1YWxpZnkgYm9vbCB2YXJpYWJsZXMuCgkqIGluY2x1ZGUvYml0cy9zdHJlYW1idWYudGNjIChzYnVtcGMsIHNwdXRiYWNrYywgc3VuZ2V0Yywgc3B1dGMpOgoJUmVtb3ZlIHJlZHVuZGFudCBOVUxMIHBvaW50ZXIgY2hlY2tzIGZyb20gdGVzdHMgaW52b2x2aW5nCglfTV9vdXRfKiBhbmQgX01faW5fKiwgY29uc3QgcXVhbGlmeSBib29sIHZhcmlhYmxlcy4KCSogaW5jbHVkZS9zdGQvc3RkX2ZzdHJlYW0uaCAoc3luYyk6IExpa2V3aXNlLgoJKF9NX2lzX2luZGV0ZXJtaW5hdGUpOiBDb25zdCBxdWFsaWZ5IGJvb2wgdmFyaWFibGVzLgoJKiBpbmNsdWRlL3N0ZC9zdGRfc3RyZWFtYnVmLmggKHNnZXRjLCB1Zmxvdyk6IFJlbW92ZSByZWR1bmRhbnQKCU5VTEwgcG9pbnRlciBjaGVja3MgZnJvbSB0ZXN0cyBpbnZvbHZpbmcgX01fb3V0XyogYW5kIF9NX2luXyosCgljb25zdCBxdWFsaWZ5IGJvb2wgdmFyaWFibGVzLgoJKF9NX2luX2N1cl9tb3ZlLCBfTV9vdXRfY3VyX21vdmUsIHVmbG93KTogQ29uc3QgcXVhbGlmeSBib29sCgl2YXJpYWJsZXMuCgoyMDAzLTA0LTE4ICBMb3JlbiBKLiBSaXR0bGUgIDxsanJpdHRsZUBhY20ub3JnPgoKCSogaW5jbHVkZS9jX3N0ZC9zdGRfY21hdGguaCAoQzk5IEZQIGNhcHR1cmUpOiBPbmx5IHVuZGVmaW5lIHNhaWQKCUM5OSBGUCBtYWNyb3MsIGlmIGFjdHVhbGx5IGNhcHR1cmVkLgoKCSogZG9jcy9odG1sLzE3X2ludHJvL3BvcnRpbmcudGV4aSAoX0dMSUJDUFBfVVNFX0M5OV9DSEVDSyk6IE5ldyBtYWNyby4KCShfR0xJQkNQUF9VU0VfQzk5X0RZTkFNSUMpOiBOZXcgbWFjcm8uCgkoX0dMSUJDUFBfVVNFX0M5OV9MT05HX0xPTkdfQ0hFQ0spOiBOZXcgbWFjcm8uCgkoX0dMSUJDUFBfVVNFX0M5OV9MT05HX0xPTkdfRFlOQU1JQyk6IE5ldyBtYWNyby4KCSogY29uZmlnL29zL2JzZC9mcmVlYnNkL29zX2RlZmluZXMuaCAoX0dMSUJDUFBfVVNFX0M5OV9DSEVDSyk6CglOZXcgbWFjcm8uCgkoX0dMSUJDUFBfVVNFX0M5OV9EWU5BTUlDKTogTmV3IG1hY3JvLgoJKF9HTElCQ1BQX1VTRV9DOTlfTE9OR19MT05HX0NIRUNLKTogTmV3IG1hY3JvLgoJKF9HTElCQ1BQX1VTRV9DOTlfTE9OR19MT05HX0RZTkFNSUMpOiBOZXcgbWFjcm8uCgkqIGluY2x1ZGUvY19zdGQvc3RkX2NzdGRsaWIuaDogVXNlIG5ldyBtYWNyb3MuCgkqIGluY2x1ZGUvY19zdGQvc3RkX2NzdGRpby5oOiBVc2UgbmV3IG1hY3Jvcy4KCSogaW5jbHVkZS9jX3N0ZC9zdGRfY3djaGFyLmg6IFVzZSBuZXcgbWFjcm9zLgoKMjAwMy0wNC0xNyAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCVBSIGxpYnN0ZGMrKy85NTU1CgkqIGluY2x1ZGUvYml0cy9vc3RyZWFtLnRjYzogQ2F0Y2ggYWxsIGV4Y2VwdGlvbnMgZm9yIGZvcm1hdHRlZAoJb3V0cHV0LCBpbnN0ZWFkIG9mIHN0ZDo6ZXhjZXB0aW9uIGFuZCBkZXJpdmF0aXZlcy4KCSogaW5jbHVkZS9iaXRzL2lzdHJlYW0udGNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfb3N0cmVhbS9pbnNlcnRlcnNfYXJpdGhtZXRpYy9jaGFyLzk1NTUtb2EuY2M6CgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19vc3RyZWFtL2luc2VydGVyc19jaGFyYWN0ZXIvY2hhci85NTU1LW9jLmNjOgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfb3N0cmVhbS9pbnNlcnRlcnNfb3RoZXIvY2hhci85NTU1LW9vLmNjOgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfaXN0cmVhbS9leHRyYWN0b3JzX2FyaXRobWV0aWMvY2hhci85NTU1LWlhLmNjOgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfaXN0cmVhbS9leHRyYWN0b3JzX2NoYXJhY3Rlci9jaGFyLzk1NTUtaWMuY2M6CgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19pc3RyZWFtL2V4dHJhY3RvcnNfb3RoZXIvY2hhci85NTU1LWlvLmNjOgoJTmV3LgoKMjAwMy0wNC0xNyAgUGhpbCBFZHdhcmRzICA8cG1lQGdjYy5nbnUub3JnPgoKCSogaW5jbHVkZS9iaXRzL2MrK2NvbmZpZzogIE1pbm9yIGNvc21ldGljIHR3ZWFrcy4KCjIwMDMtMDQtMTcgIExvcmVuIEouIFJpdHRsZSAgPGxqcml0dGxlQGFjbS5vcmc+CgoJKiB0ZXN0c3VpdGVfZmxhZ3MuaW4gKFBDSEZMQUdTKTogRmluZCBQQ0ggaW4gbmV3IGhvbWUuCgkqIGluY2x1ZGUvTWFrZWZpbGUuYW0gKHBjaF9pbnB1dCk6IEZpbmQgaW4gJHt0YXJnZXRfYnVpbGRkaXJ9LgoJKHBjaF9vdXRwdXQpOiBSZW5hbWUgdG8uLi4KCShwY2hfb3V0cHV0X2J1aWxkZGlyKTogLi50aGlzLiAgRmluZCBpbiAke3RhcmdldF9idWlsZGRpcn0uCgkocGNoX3NvdXJjZSk6IFR3ZWFrLgoJKHBjaF9idWlsZCk6IEtleSBvZmYgYSBidWlsdCBmaWxlLgoJKHBjaF9vdXRwdXQgcnVsZSk6IFJlbmFtZSB0by4uLgoJKHBjaF9pbnB1dCBydWxlKTogLi4udGhpcy4gIFByb2R1Y2UgJHtwY2hfb3V0cHV0X2J1aWxkZGlyfQoJaW5zdGVhZCBvZiAke3BjaF9vdXRwdXR9LgoJKGluc3RhbGwtcGNoIHJ1bGUpOiBJbnN0YWxsICR7cGNoX291dHB1dF9idWlsZGRpcn0uCgkqIGluY2x1ZGUvTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgoKMjAwMy0wNC0xNyAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIGluY2x1ZGUvc3RkL3N0ZF9zdHJlYW1idWYuaCAoc2V0cCk6IF9NX291dF9saW0sIGJlaW5nCgl0aGUgZW5kIGxpbWl0IG9mIHVzZWQgcHV0IGFyZWEsIGlzIHNldCBlcXVhbCB0byBfTV9vdXRfYmVnLgoKMjAwMy0wNC0xNiAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogYWNpbmNsdWRlLm00IChHTElCQ1BQX0NIRUNLX1BDSCk6IE5ldy4KCSogYWNsb2NhbC5tNDogUmVnZW5lcmF0ZWQuCgkqIGNvbmZpZ3VyZS5pbjogUmVtb3ZlIG9sZCBkZW1hbmdsZXIgYml0cy4KCUNhbGwgcGNoIGNoZWNrcy4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlLgoJKiBjb25maWcuaC5pbjogUmVnZW5lcmF0ZS4KCSogaW5jbHVkZS9NYWtlZmlsZS5hbSAoYWxsc3RhbXBzKTogTm93IGFsbHN0YW1wZWQuCgkoYWxsY3JlYXRlZCk6IERlZmluZSB0aGlzLgoJKGFsbC1sb2NhbCk6IFVzZSAnZW0uCglDb25kaXRpb25hbGx5IGRlZmluZSBwY2hfYnVpbGQsIHBjaF9pbnN0YWxsIGJhc2VkIG9uCglHTElCQ1BQX0JVSUxEX1BDSC4KCSgke3BjaF9vdXRwdXR9KTogTmV3IHJ1bGUuCgkoaW5zdGFsbC1wY2gpOiBOZXcgcnVsZS4KCShpbnN0YWxsLWhlYWRlcnMpOiBOZXcgcnVsZS4KCShpbnN0YWxsLWRhdGEtbG9jYWwpOiBJbnN0YWxsIGhlYWRlcnMgYW5kIGNvbmRpdGlvbmFsbHkgcGNoLgoJKiBpbmNsdWRlL01ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoJKiB0ZXN0c3VpdGVfZmxhZ3MuaW4gKC0tYnVpbGQtY3h4KTogVXNlIHBjaCBmaWxlLgoKMjAwMy0wNC0xNiAgSm9uYXRoYW4gV2FrZWx5ICA8cmVkaUBnY2MuZ251Lm9yZz4KCgkqIGRvY3MvaHRtbC9leHQvc2dpZXh0cy5odG1sOiBGaXggcGF0aCB0byBzdHlsZXNoZWV0LgoKMjAwMy0wNC0xNSAgQmVuamFtaW4gS29zbmlrICA8YmtveiBhdCByZWRoYXQgZG90IGNvbT4KCSAgICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmkgYXQgdW5pdHVzIGRvdCBpdD4KCglQUiBsaWJzdGRjKysvOTQyMwoJKiBkb2NzL2h0bWwvMjdfaW8vaG93dG8uaHRtbAoJKCdUaGUgYnVmZmVyaW5nIGlzIHNjcmV3aW5nIHVwIG15IHByb2dyYW0hJyk6IEV4cGxhaW4gdGhhdAoJb3BlbmluZyBjb3VudHMgYXMgYW4gSS9PIG9wZXJhdGlvbi4KCjIwMDMtMDQtMTUgIEFuZHJlYXMgVG9ibGVyICA8YS50b2JsZXJAc2Nod2Vpei5jaD4KCgkqIHRlc3RzdWl0ZS90aHJlYWQvcHRocmVhZDEuY2M6IEVuYWJsZSBmb3IgZGFyd2luIHRlc3QuCgkqIHRlc3RzdWl0ZS90aHJlYWQvcHRocmVhZDIuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS90aHJlYWQvcHRocmVhZDMuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS90aHJlYWQvcHRocmVhZDQuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS90aHJlYWQvcHRocmVhZDUuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS90aHJlYWQvcHRocmVhZDYuY2M6IFNhbWUuCgoyMDAzLTA0LTE1ICBMb3JlbiBKLiBSaXR0bGUgIDxsanJpdHRsZUBhY20ub3JnPgoKCWxpYnN0ZGMrKy83NjgwCgkqIGluY2x1ZGUvY19zdGQvc3RkX2NtYXRoLmggKF9fZ251X2N4OjpfX2M5OV9iaW5kaW5nKTogTmV3IG5hbWVzcGFjZS4KCVBvcHVsYXRlIGl0IHdpdGggbXVsdGlwbGUgbGVnYWwgd2F5cyB0byBvYnRhaW4gdGhlIEM5OSBmbG9hdAoJdHJhbnNjZW5kZW50YWxzLiAgVXNlIHRoZW0gaW5zdGVhZCBvZiBkaXJlY3QgZ2xvYmFsIHJlZmVyZW5jZS4KCShDOTkgRlAgY2FwdHVyZSk6IEd1YXJkIHVzYWdlIHdpdGggX0dMSUJDUFBfVVNFX0M5OV9GUF9NQUNST1NfRFlOQU1JQy4KCSogZG9jcy9odG1sLzE3X2ludHJvL3BvcnRpbmcudGV4aQoJKF9HTElCQ1BQX1VTRV9DOTlfRkxPQVRfVFJBTlNDRU5ERU5UQUxTX0NIRUNLKTogTmV3IG1hY3JvLgoJKF9HTElCQ1BQX1VTRV9DOTlfRkxPQVRfVFJBTlNDRU5ERU5UQUxTX0RZTkFNSUMpOiBOZXcgbWFjcm8uCgkoX0dMSUJDUFBfVVNFX0M5OV9GUF9NQUNST1NfRFlOQU1JQyk6IE5ldyBtYWNyby4KCSogY29uZmlnL29zL2JzZC9mcmVlYnNkL29zX2RlZmluZXMuaAoJKF9HTElCQ1BQX1VTRV9DOTlfRkxPQVRfVFJBTlNDRU5ERU5UQUxTX0NIRUNLKTogTmV3IG1hY3JvLgoJKF9HTElCQ1BQX1VTRV9DOTlfRkxPQVRfVFJBTlNDRU5ERU5UQUxTX0RZTkFNSUMpOiBOZXcgbWFjcm8uCgkqIHRlc3RzdWl0ZS8yNl9udW1lcmljcy9jX21hdGhfZHluYW1pYy5jYzogTmV3IGZpbGUuCgoyMDAzLTA0LTE0ICBBbmRyZWFzIFRvYmxlciAgPHRvYUBwb3AuYWdyaS5jaD4KCSAgICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiBjb25maWcvb3MvZ2VuZXJpYy9jdHlwZV9pbmxpbmUuaDogRml4LgoKMjAwMy0wNC0xNCAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogdGVzdHN1aXRlL3Rlc3RzdWl0ZV9ob29rcy5oCgkoX19nbnVfY3h4X3Rlc3Q6OnJ1bl90ZXN0X3dyYXBwZWRfZ2VuZXJpY19sb2NhbGVfZXhjZXB0aW9uX2NhdGNoZXIpOgoJQ2hhbmdlIHRvIHRyeV9uYW1lZF9sb2NhbGUuCgkqIHRlc3RzdWl0ZS90ZXN0c3VpdGVfaG9va3MuY2MgKF9fZ251X2N4eF90ZXN0KTogU2FtZS4KCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29kZWN2dC9hbHdheXNfbm9jb252L3djaGFyX3QvMi5jYzogVXNlCgl0cnlfbmFtZWRfbG9jYWxlLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvZGVjdnQvYWx3YXlzX25vY29udi93Y2hhcl90LzMuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29kZWN2dC9hbHdheXNfbm9jb252L3djaGFyX3QvNC5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0L2VuY29kaW5nL3djaGFyX3QvMi5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0L2VuY29kaW5nL3djaGFyX3QvMy5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0L2VuY29kaW5nL3djaGFyX3QvNC5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0L2luL3djaGFyX3QvMi5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0L2luL3djaGFyX3QvMy5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0L2luL3djaGFyX3QvNC5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0L2luL3djaGFyX3QvNy5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0L2luL3djaGFyX3QvOC5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0L2luL3djaGFyX3QvOS5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0L2xlbmd0aC93Y2hhcl90LzIuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29kZWN2dC9sZW5ndGgvd2NoYXJfdC8zLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvZGVjdnQvbGVuZ3RoL3djaGFyX3QvNC5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0L2xlbmd0aC93Y2hhcl90LzcuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29kZWN2dC9tYXhfbGVuZ3RoL3djaGFyX3QvMi5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0L21heF9sZW5ndGgvd2NoYXJfdC8zLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvZGVjdnQvbWF4X2xlbmd0aC93Y2hhcl90LzQuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29kZWN2dC9vdXQvd2NoYXJfdC8yLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvZGVjdnQvb3V0L3djaGFyX3QvMy5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0L291dC93Y2hhcl90LzQuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29kZWN2dC9vdXQvd2NoYXJfdC83LmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvZGVjdnQvdW5zaGlmdC93Y2hhcl90LzIuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29kZWN2dC91bnNoaWZ0L3djaGFyX3QvMy5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0L3Vuc2hpZnQvd2NoYXJfdC80LmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvbGxhdGUvY29tcGFyZS9jaGFyLzEuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29sbGF0ZS9jb21wYXJlL2NoYXIvMi5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2xsYXRlL2NvbXBhcmUvY2hhci8zLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvbGxhdGUvY29tcGFyZS93Y2hhcl90LzEuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29sbGF0ZS9jb21wYXJlL3djaGFyX3QvMi5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2xsYXRlL2NvbXBhcmUvd2NoYXJfdC8zLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvbGxhdGUvaGFzaC9jaGFyLzIuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29sbGF0ZS9oYXNoL3djaGFyX3QvMi5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2xsYXRlL3RyYW5zZm9ybS9jaGFyLzIuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29sbGF0ZS90cmFuc2Zvcm0vY2hhci8zLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvbGxhdGUvdHJhbnNmb3JtL3djaGFyX3QvMi5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2xsYXRlL3RyYW5zZm9ybS93Y2hhcl90LzMuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29sbGF0ZV9ieW5hbWUvMS5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jdHlwZS9pcy9jaGFyLzIuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY3R5cGUvaXMvd2NoYXJfdC8yLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2N0eXBlL25hcnJvdy93Y2hhcl90LzMuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY3R5cGUvd2lkZW4vd2NoYXJfdC8yLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2N0eXBlL3dpZGVuL3djaGFyX3QvMy5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9mYWNldC8yLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2xvY2FsZS9jb25zLzIuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbG9jYWxlL2NvbnMvNC5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9sb2NhbGUvY29ucy81LmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2xvY2FsZS9jb25zLzcuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbG9jYWxlL2NvbnMvNzIyMi1jLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2xvY2FsZS9jb25zLzcyMjItZW52LmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2xvY2FsZS9nbG9iYWxfbG9jYWxlX29iamVjdHMvMi5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tZXNzYWdlcy9tZW1iZXJzL2NoYXIvMS5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tZXNzYWdlcy9tZW1iZXJzL2NoYXIvMi5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tZXNzYWdlcy9tZW1iZXJzL2NoYXIvMy5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tZXNzYWdlc19ieW5hbWUvMS5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tb25leV9nZXQvZ2V0L2NoYXIvMS5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tb25leV9nZXQvZ2V0L2NoYXIvMi5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tb25leV9nZXQvZ2V0L2NoYXIvMy5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tb25leV9nZXQvZ2V0L2NoYXIvNC5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tb25leV9nZXQvZ2V0L3djaGFyX3QvMS5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tb25leV9nZXQvZ2V0L3djaGFyX3QvMi5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tb25leV9nZXQvZ2V0L3djaGFyX3QvMy5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tb25leV9nZXQvZ2V0L3djaGFyX3QvNC5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tb25leV9wdXQvcHV0L2NoYXIvMS5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tb25leV9wdXQvcHV0L2NoYXIvMi5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tb25leV9wdXQvcHV0L2NoYXIvMy5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tb25leV9wdXQvcHV0L3djaGFyX3QvMS5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tb25leV9wdXQvcHV0L3djaGFyX3QvMi5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tb25leV9wdXQvcHV0L3djaGFyX3QvMy5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tb25leXB1bmN0L21lbWJlcnMvY2hhci8yLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL21vbmV5cHVuY3QvbWVtYmVycy93Y2hhcl90LzIuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbW9uZXlwdW5jdF9ieW5hbWUvMS5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9udW1fZ2V0L2dldC9jaGFyLzEuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtX2dldC9nZXQvY2hhci8yLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL251bV9nZXQvZ2V0L2NoYXIvMy5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9udW1fZ2V0L2dldC9jaGFyLzUuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtX2dldC9nZXQvY2hhci82LmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL251bV9nZXQvZ2V0L3djaGFyX3QvMS5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9udW1fZ2V0L2dldC93Y2hhcl90LzIuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtX2dldC9nZXQvd2NoYXJfdC8zLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL251bV9nZXQvZ2V0L3djaGFyX3QvNS5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9udW1fZ2V0L2dldC93Y2hhcl90LzYuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtX3B1dC9wdXQvY2hhci8xLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL251bV9wdXQvcHV0L2NoYXIvMi5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9udW1fcHV0L3B1dC9jaGFyLzMuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtX3B1dC9wdXQvY2hhci81LmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL251bV9wdXQvcHV0L3djaGFyX3QvMS5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9udW1fcHV0L3B1dC93Y2hhcl90LzIuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtX3B1dC9wdXQvd2NoYXJfdC8zLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL251bV9wdXQvcHV0L3djaGFyX3QvNS5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9udW1wdW5jdC9tZW1iZXJzL2NoYXIvMS5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9udW1wdW5jdC9tZW1iZXJzL2NoYXIvMi5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9udW1wdW5jdC9tZW1iZXJzL3djaGFyX3QvMS5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9udW1wdW5jdC9tZW1iZXJzL3djaGFyX3QvMi5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9udW1wdW5jdF9ieW5hbWUvMS5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9udW1wdW5jdF9ieW5hbWUvMi5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS90aW1lX2dldC9kYXRlX29yZGVyL2NoYXIvMS5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS90aW1lX2dldC9kYXRlX29yZGVyL3djaGFyX3QvMS5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS90aW1lX2dldC9nZXRfZGF0ZS9jaGFyLzEuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvdGltZV9nZXQvZ2V0X2RhdGUvY2hhci8yLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL3RpbWVfZ2V0L2dldF9kYXRlL3djaGFyX3QvMS5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS90aW1lX2dldC9nZXRfZGF0ZS93Y2hhcl90LzIuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvdGltZV9nZXQvZ2V0X21vbnRobmFtZS9jaGFyLzEuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvdGltZV9nZXQvZ2V0X21vbnRobmFtZS9jaGFyLzIuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvdGltZV9nZXQvZ2V0X21vbnRobmFtZS93Y2hhcl90LzEuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvdGltZV9nZXQvZ2V0X21vbnRobmFtZS93Y2hhcl90LzIuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvdGltZV9nZXQvZ2V0X3RpbWUvY2hhci8xLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL3RpbWVfZ2V0L2dldF90aW1lL2NoYXIvMi5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS90aW1lX2dldC9nZXRfdGltZS93Y2hhcl90LzEuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvdGltZV9nZXQvZ2V0X3RpbWUvd2NoYXJfdC8yLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL3RpbWVfZ2V0L2dldF93ZWVrZGF5L2NoYXIvMS5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS90aW1lX2dldC9nZXRfd2Vla2RheS9jaGFyLzIuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvdGltZV9nZXQvZ2V0X3dlZWtkYXkvd2NoYXJfdC8xLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL3RpbWVfZ2V0L2dldF93ZWVrZGF5L3djaGFyX3QvMi5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS90aW1lX2dldC9nZXRfeWVhci9jaGFyLzEuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvdGltZV9nZXQvZ2V0X3llYXIvd2NoYXJfdC8xLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL3RpbWVfcHV0L3B1dC9jaGFyLzEuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvdGltZV9wdXQvcHV0L2NoYXIvMi5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS90aW1lX3B1dC9wdXQvY2hhci8zLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL3RpbWVfcHV0L3B1dC9jaGFyLzQuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvdGltZV9wdXQvcHV0L2NoYXIvNS5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS90aW1lX3B1dC9wdXQvY2hhci82LmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL3RpbWVfcHV0L3B1dC9jaGFyLzcuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvdGltZV9wdXQvcHV0L2NoYXIvOC5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS90aW1lX3B1dC9wdXQvd2NoYXJfdC8xLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL3RpbWVfcHV0L3B1dC93Y2hhcl90LzIuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvdGltZV9wdXQvcHV0L3djaGFyX3QvMy5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS90aW1lX3B1dC9wdXQvd2NoYXJfdC80LmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL3RpbWVfcHV0L3B1dC93Y2hhcl90LzUuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvdGltZV9wdXQvcHV0L3djaGFyX3QvNi5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS90aW1lX3B1dC9wdXQvd2NoYXJfdC83LmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL3RpbWVfcHV0L3B1dC93Y2hhcl90LzguY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL2ltYnVlL2NoYXIvOTMyMi5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2lvcy9jb3B5Zm10L2NoYXIvMi5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX29zdHJlYW0vaW5zZXJ0ZXJzX2FyaXRobWV0aWMvY2hhci8yLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfc3RyZWFtYnVmL2ltYnVlL2NoYXIvOTMyMi5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX3N0cmluZ2J1Zi9pbWJ1ZS9jaGFyLzkzMjIuY2M6IFNhbWUuCgoyMDAzLTA0LTE0ICBBbmRyZWFzIFRvYmxlciAgPHRvYUBwb3AuYWdyaS5jaD4KCgkqIGNvbmZpZ3VyZS50YXJnZXQgKF9jcHVfaW5jZGlyX2Z1bGxwYXRoKTogU29sYXJpcyAyLjkgdXNlcwoJc29sYXJpcyBpbmNsdWRlcywgbm90IGdlbmVyaWMuCgoyMDAzLTA0LTE0ICBMb3JlbiBKLiBSaXR0bGUgIDxsanJpdHRsZUBhY20ub3JnPgoKCSogdGVzdHN1aXRlLzI2X251bWVyaWNzL2M5OV9jbGFzc2lmaWNhdGlvbl9tYWNyb3NfYy5jYzogQWRkIFhGQUlMLgoKCSogaW5jbHVkZS9zdGQvc3RkX2JpdHNldC5oIChfTV9kb19maW5kX25leHQpOiBGaXggLVdhbGwgbml0LgoJKiBpbmNsdWRlL2JpdHMvY29uY2VwdF9jaGVjay5oOiBGaXggbXVsdGktbGluZSBjb21tZW50LgoJKiB0ZXN0c3VpdGUvMTdfaW50cm8vaGVhZGVycy5jYyAoZGctb3B0aW9ucyk6IEFkZCAtV2FsbCAtV3N5c3RlbS1oZWFkZXIKCXdoZW4gdGFyZ2V0IGlzICotKi1mcmVlYnNkKi4KCjIwMDMtMDQtMTQgIE5hdGhhbiBNeWVycyAgPG5jbUBjYW50cmlwLm9yZz4KCSAgICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCVBSIGxpYnN0ZGMrKy85NzAxIChpbl9hdmFpbCgpKQoJKiBpbmNsdWRlL3N0ZC9zdGRfc3RyZWFtYnVmLmggKGluX2F2YWlsKTogU2ltcGxpZnksIGluX2F2YWlsCglkb2Vzbid0IGNhcmUgaWYgdGhlcmUgaXMgYW55dGhpbmcgaW4gc29tZSBwdXRiYWNrIGNlbGwuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19zdHJlYW1idWYvaW5fYXZhaWwvY2hhci85NzAxLTMuY2M6IEFkZC4KCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL2luX2F2YWlsL2NoYXIvMS5jYzogUmVtb3ZlIHNvbWUKCXVudXNlZCBzdHJpbmcgbGl0ZXJhbHMuCgoyMDAzLTA0LTE0ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogaW5jbHVkZS9iaXRzL2ZzdHJlYW0udGNjIChiYXNpY19maWxlYnVmOjpzZXRidWYpOiBEb24ndCBzZXQKCV9NX291dF9lbmQsIF9NX3NldF9pbmRldGVybWluYXRlKCkgZG9lcyBpdC4KCjIwMDMtMDQtMTIgIEpvaG4gRGF2aWQgQW5nbGluICA8ZGF2ZS5hbmdsaW5AbnJjLWNucmMuZ2MuY2E+CgoJKiBvcy9ocHV4L2N0eXBlX2lubGluZS5oOiBSZXBsYWNlIHdpdGggZ251LWxpbnV4IHZlcnNpb24uCgoyMDAzLTA0LTEyICBEYXZpZCBFZGVsc29obiAgPGVkZWxzb2huQGdudS5vcmc+CgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfaXN0cmVhbS9zZW50cnkvY2hhci8zOTgzLWZzdHJlYW0uY2M6CglDaGFuZ2UgYmFzaWNfc3RyZWFtYnVmIGluc3RhbnRpYXRpb24gdG8gInVuc2lnbmVkIGNoYXIiLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfb3N0cmVhbS9zZW50cnkvY2hhci8zOTgzLWZzdHJlYW0uY2M6IFNhbWUuCgoyMDAzLTA0LTEyICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCVJlbW92ZSBfTV9idWZfc2l6ZV9vcHQsIHVzZSBkaXJlY3RseSBfTV9idWZfc2l6ZSBpbnN0ZWFkLgoJKiBpbmNsdWRlL2JpdHMvZnN0cmVhbS50Y2MKCShiYXNpY19maWxlYnVmOjpfTV9hbGxvY2F0ZV9pbnRlcm5hbF9idWZmZXIsIHNldGJ1Zik6IFJlbW92ZQoJcmVmZXJlbmNlcyB0byBfTV9idWZfc2l6ZV9vcHQuCgkqIGluY2x1ZGUvYml0cy9zc3RyZWFtLnRjYyAoYmFzaWNfc3RyaW5nYnVmOjpvdmVyZmxvdyk6IExpa2V3aXNlLgoJKiBpbmNsdWRlL2JpdHMvc3RyZWFtYnVmLnRjYyAoX19jb3B5X3N0cmVhbWJ1ZnMpOiBMaWtld2lzZSwgcmVuYW1lCglfX2J1ZnNpemUgdG8gX19pbl9hdmFpbCBhbmQgX19zaXplX29wdCB0byBfX2J1Zl9zaXplLgoJKiBpbmNsdWRlL2V4dC9zdGRpb19maWxlYnVmLmggKHN0ZGlvX2ZpbGVidWY6OnN0ZGlvX2ZpbGVidWYpOiBMaWtld2lzZS4KCSogaW5jbHVkZS9zdGQvc3RkX3NzdHJlYW0uaCAoX01fc3RyaW5nYnVmX2luaXQsIHNldGJ1Zik6IExpa2V3aXNlLgoJKiBpbmNsdWRlL3N0ZC9zdGRfc3RyZWFtYnVmLmggKH5iYXNpY19zdHJlYW1idWYoKSwKCWJhc2ljX3N0cmVhbWJ1ZigpKTogTGlrZXdpc2UsIHJlbW92ZSBfTV9idWZfc2l6ZV9vcHQgbWVtYmVyLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9jbG9zZS9jaGFyLzMuY2M6IFNldCBfTV9idWZfc2l6ZS4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvaW5fYXZhaWwvY2hhci8xLmNjOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2J1bXBjL2NoYXIvMS5jYzogTGlrZXdpc2UuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NlZWtvZmYvY2hhci8xLmNjOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc2Vla3Bvcy9jaGFyLzEuY2M6IExpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZ2V0Yy9jaGFyLzEuY2M6IExpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZ2V0bi9jaGFyLzEuY2M6IExpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zbmV4dGMvY2hhci8xLmNjOiBMaWtld2lzZS4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2ZpbGVidWYvc3B1dGJhY2tjL2NoYXIvMS5jYzogTGlrZXdpc2UuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NwdXRjL2NoYXIvMS5jYzogTGlrZXdpc2UuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3NwdXRuL2NoYXIvMS5jYzogTGlrZXdpc2UuCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3N1bmdldGMvY2hhci8xLmNjOiBMaWtld2lzZS4KCjIwMDMtMDQtMTIgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaSBhdCB1bml0dXMgZG90IGl0PgoKCSogaW5jbHVkZS9leHQvc3RkaW9fZmlsZWJ1Zi5oCgkoc3RkaW9fZmlsZWJ1Zjo6c3RkaW9fZmlsZWJ1ZihpbnQsIG9wZW5tb2RlLCBib29sLCBzaXplX3QpLAoJc3RkaW9fZmlsZWJ1Zjo6c3RkaW9fZmlsZWJ1ZihfX2NfZmlsZSosIG9wZW5tb2RlLCBzaXplX3QpOgoJX01fYnVmX3NpemVfb3B0ID09IDAgb25seSBtZWFucyAibm90IHRvIHVzZSBhbiBhbGxvY2F0ZWQgYnVmZmVyIgoJc2luY2UgYSBzdGFjay1iYXNlZCBidWZmZXIgaXMgdXNlZCBmb3Igc21hbGwgdmFsdWVzIG9mIHRoZSBzaXplX3QKCXBhcmFtZXRlci4KCSogaW5jbHVkZS9iaXRzL2ZzdHJlYW0udGNjIChiYXNpY19maWxlYnVmOjpfTV9yZWFsbHlfb3ZlcmZsb3cpLgoJSWYgX01fYnVmX3NpemUgIT0gMCBmbHVzaCBvdXQgdGhlIGJ1ZmZlciAoYW55IGtpbmQsIHN0YWNrLWJhc2VkIHRvbykuCgkqIHRlc3RzdWl0ZS9leHQvc3RkaW9fZmlsZWJ1Zl8yLmNjOiBOZXcgdGVzdGZpbGUuCgoyMDAzLTA0LTEyICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCVBSIGxpYnN0ZGMrKy85NTMzCgkqIHRlc3RzdWl0ZS8yN19pby9iYXNpY19maWxlYnVmL3Nob3dtYW55Yy9jaGFyLzk1MzMtMS5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zaG93bWFueWMvY2hhci85NTMzLTIuY2M6IERpdHRvLgoKMjAwMy0wNC0xMSAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9sb2NhbGUvY29ucy8zLmNjOiBTcGxpdC4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9sb2NhbGUvY29ucy83MjIyLWMuY2M6IE5ldy4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9sb2NhbGUvY29ucy83MjIyLWVudi5jYzogTmV3LgoJQ2hlY2sgYmVmb3JlIHRyeWluZyB0byBjcmVhdGUgYSBsb2NhbGUgZnJvbSB0aGUgZW52aXJvbm1lbnQuCgkqIHRlc3RzdWl0ZS8yN19pby9pb3NfYmFzZS9zdGF0ZS8xLmNjICh0ZXN0MDIpOiBVc2UgIkMiIGxvY2FsZS4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2lzdHJlYW0vZXh0cmFjdG9yc19hcml0aG1ldGljL2NoYXIvMTIuY2M6CglBZGp1c3QgaW5jbHVkZXMuCgoyMDAzLTA0LTExICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2N0eXBlL2lzL2NoYXIvMy5jYyAodGVzdDAzKTogVXNlIHRoZSBjbGFzc2ljCglsb2NhbGUgdG8gY29uc3RydWN0IHRoaXMgaHlicmlkIGxvY2FsZSwgbm90IHRoZSBnbG9iYWwgbG9jYWxlLgoKMjAwMy0wNC0xMSAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX2lzdHJlYW0vc2VudHJ5L2NoYXIvMzk4My1mc3RyZWFtLmNjOiBBZGQKCWluc3RhbnRpYXRpb24gZm9yIEFJWC4KCSogdGVzdHN1aXRlLzI3X2lvL2Jhc2ljX29zdHJlYW0vc2VudHJ5L2NoYXIvMzk4My1mc3RyZWFtLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjVfYWxnb3JpdGhtcy9taW5fbWF4LmNjOiBTYW1lLgoKMjAwMy0wNC0xMCAgSm9obiBEYXZpZCBBbmdsaW4gIDxkYXZlLmFuZ2xpbkBucmMtY25yYy5nYy5jYT4KCgkqIGJhc2ljX2ZpbGVfc3RkaW8uY2MgKF9fYmFzaWNfZmlsZTxjaGFyPjo6Y2xvc2UpOiBEb24ndCBmbHVzaCBzdHJlYW0KCXR3aWNlLiAgQWx3YXlzIHNldCBfTV9jZmlsZSB0byAwIHdoZW4gc3RyZWFtIHdhcyBvcGVuLgoKMjAwMy0wNC0wOSAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCVJlc2h1ZmZsZSAyN19pbyB0ZXN0c3VpdGUuICAKCSogdGVzdHN1aXRlLzI3X2lvL2ZpbGVidWYuY2MsCglmaWxlYnVmX21lbWJlcnMtMS50c3QsIGZpbGVidWZfbWVtYmVycy0xLnR4dCwgZmlsZWJ1Zl9tZW1iZXJzLmNjLAoJZmlsZWJ1Zl92aXJ0dWFscy0xLnRzdCwgZmlsZWJ1Zl92aXJ0dWFscy0xLnR4dCwKCWZpbGVidWZfdmlydHVhbHMtMi50c3QsIGZpbGVidWZfdmlydHVhbHMtMy50c3QsCglmaWxlYnVmX3ZpcnR1YWxzLmNjLCBmcG9zLmNjLCBmc3RyZWFtLmNjLCBmc3RyZWFtX21lbWJlcnMuY2MsCglpZnN0cmVhbS5jYywgaWZzdHJlYW1fbWVtYmVycy0xLnRzdCwgaWZzdHJlYW1fbWVtYmVycy0xLnR4dCwKCWlmc3RyZWFtX21lbWJlcnMuY2MsIGluc3RhbnRpYXRpb25zLmNjLCBpb3MuY2MsCglpb3NfYmFzZV9jYWxsYmFja3MuY2MsIGlvc19iYXNlX21lbWJlcnNfc3RhdGljLTEudHN0LAoJaW9zX2Jhc2VfbWVtYmVyc19zdGF0aWMuY2MsIGlvc19iYXNlX3N0b3JhZ2UuY2MsCglpb3NfYmFzZV90eXBlcy5jYywgaW9zX2N0b3IuY2MsIGlvc19pbml0LmNjLAoJaW9zX21hbmlwX2Jhc2VmaWVsZC5jYywgaW9zX21hbmlwX2ZtdGZsYWdzLmNjLCBpb3NfbWVtYmVycy5jYywKCWlvc3RyZWFtLmNjLCBpb3N0cmVhbV9tZW1iZXJzLmNjLCBpc3RyZWFtLmNjLAoJaXN0cmVhbV9leGNlcHRpb24uY2MsIGlzdHJlYW1fZXh0cmFjdG9yX2NoYXIuY2MsCglpc3RyZWFtX2V4dHJhY3Rvcl9vdGhlci0xLnRzdCwgaXN0cmVhbV9leHRyYWN0b3Jfb3RoZXItMS50eHQsCglpc3RyZWFtX2V4dHJhY3Rvcl9vdGhlci0yLnRzdCwgaXN0cmVhbV9leHRyYWN0b3Jfb3RoZXIuY2MsCglpc3RyZWFtX21hbmlwLmNjLCBpc3RyZWFtX3NlZWtzLTEudHN0LCBpc3RyZWFtX3NlZWtzLTEudHh0LAoJaXN0cmVhbV9zZWVrcy0yLnRzdCwgaXN0cmVhbV9zZWVrcy0zLnRzdCwgaXN0cmVhbV9zZWVrcy5jYywKCWlzdHJlYW1fc2VudHJ5LmNjLCBpc3RyZWFtX3VuZm9ybWF0dGVkLTEudHN0LAoJaXN0cmVhbV91bmZvcm1hdHRlZC0xLnR4dCwgaXN0cmVhbV91bmZvcm1hdHRlZC5jYywKCWlzdHJpbmdzdHJlYW0uY2MsIGlzdHJpbmdzdHJlYW1fbWVtYmVycy5jYywKCW5hcnJvd19zdHJlYW1fb2JqZWN0cy5jYywgb2ZzdHJlYW0uY2MsIG9mc3RyZWFtX21lbWJlcnMtMS50c3QsCglvZnN0cmVhbV9tZW1iZXJzLmNjLCBvc3RyZWFtLmNjLCBvc3RyZWFtX2V4Y2VwdGlvbi5jYywKCW9zdHJlYW1fZmFpbC5jYywgb3N0cmVhbV9pbnNlcnRlcl9hcml0aC5jYywKCW9zdHJlYW1faW5zZXJ0ZXJfY2hhci0xLnRzdCwgb3N0cmVhbV9pbnNlcnRlcl9jaGFyLTEudHh0LAoJb3N0cmVhbV9pbnNlcnRlcl9jaGFyLmNjLCBvc3RyZWFtX2luc2VydGVyX290aGVyLTEudHN0LAoJb3N0cmVhbV9pbnNlcnRlcl9vdGhlci0yLnRzdCwgb3N0cmVhbV9pbnNlcnRlcl9vdGhlci5jYywKCW9zdHJlYW1fbWFuaXAuY2MsIG9zdHJlYW1fc2Vla3MtMS50c3QsIG9zdHJlYW1fc2Vla3MuY2MsCglvc3RyZWFtX3NlbnRyeS5jYywgb3N0cmVhbV91bmZvcm1hdHRlZC5jYywgb3N0cmluZ3N0cmVhbS5jYywKCW9zdHJpbmdzdHJlYW1fbWVtYmVycy5jYywgc3RhbmRhcmRfbWFuaXB1bGF0b3JzLmNjLCBzdHJlYW1idWYuY2MsCglzdHJlYW1idWZfbWVtYmVycy5jYywgc3RyaW5nYnVmLmNjLCBzdHJpbmdidWZfbWVtYmVycy5jYywKCXN0cmluZ2J1Zl92aXJ0dWFscy5jYywgc3RyaW5nc3RyZWFtLmNjLCBzdHJpbmdzdHJlYW1fbWVtYmVycy5jYywKCXdpZGVfc3RyZWFtX29iamVjdHMuY2MsIGlzdHJlYW1fZXh0cmFjdG9yX2FyaXRoLzAxLmNjLAoJaXN0cmVhbV9leHRyYWN0b3JfYXJpdGgvMDIuY2MsIGlzdHJlYW1fZXh0cmFjdG9yX2FyaXRoLzAzLmNjLAoJaXN0cmVhbV9leHRyYWN0b3JfYXJpdGgvMDYuY2MsIGlzdHJlYW1fZXh0cmFjdG9yX2FyaXRoLzA3LmNjLAoJaXN0cmVhbV9leHRyYWN0b3JfYXJpdGgvMDguY2MsIGlzdHJlYW1fZXh0cmFjdG9yX2FyaXRoLzA5LmNjLAoJaXN0cmVhbV9leHRyYWN0b3JfYXJpdGgvMTAuY2MsIGlzdHJlYW1fZXh0cmFjdG9yX2FyaXRoLzExLmNjLAoJaXN0cmVhbV9leHRyYWN0b3JfYXJpdGgvMTIuY2MsIGlzdHJlYW1fZXh0cmFjdG9yX2FyaXRoLzEzLmNjOgoJU3BsaXQgaW50by4uLgoJKiAyN19pby9iYXNpY19maWxlYnVmLzEuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfZmlsZWJ1Zi8yLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2ZpbGVidWYvMy5jYzogTmV3LgoJKiAyN19pby9iYXNpY19maWxlYnVmLzQuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfZmlsZWJ1Zi9jbG9zZS9jaGFyLzEuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfZmlsZWJ1Zi9jbG9zZS9jaGFyLzIuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfZmlsZWJ1Zi9jbG9zZS9jaGFyLzMuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfZmlsZWJ1Zi9jbG9zZS9jaGFyLzQ4NzkuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfZmlsZWJ1Zi9jbG9zZS9jaGFyLzk5NjQuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfZmlsZWJ1Zi9pbWJ1ZS9jaGFyLzEuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfZmlsZWJ1Zi9pbWJ1ZS9jaGFyLzkzMjIuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfZmlsZWJ1Zi9pbl9hdmFpbC9jaGFyLzEuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfZmlsZWJ1Zi9pc19vcGVuL2NoYXIvMS5jYzogTmV3LgoJKiAyN19pby9iYXNpY19maWxlYnVmL29wZW4vY2hhci8xLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2ZpbGVidWYvb3Blbi9jaGFyLzIuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfZmlsZWJ1Zi9vcGVuL2NoYXIvMy5jYzogTmV3LgoJKiAyN19pby9iYXNpY19maWxlYnVmL29wZW4vY2hhci85NTA3LmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2ZpbGVidWYvb3ZlcmZsb3cvY2hhci8xLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2ZpbGVidWYvb3ZlcmZsb3cvY2hhci8zNTk5LmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2ZpbGVidWYvb3ZlcmZsb3cvY2hhci85MTY5LmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2ZpbGVidWYvb3ZlcmZsb3cvY2hhci85MTgyLTIuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfZmlsZWJ1Zi9vdmVyZmxvdy9jaGFyLzk5ODguY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zYnVtcGMvY2hhci8xLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2ZpbGVidWYvc2J1bXBjL2NoYXIvOTgyNS5jYzogTmV3LgoJKiAyN19pby9iYXNpY19maWxlYnVmL3NlZWtvZmYvY2hhci8xLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2ZpbGVidWYvc2Vla29mZi9jaGFyLzIuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZWVrcG9zL2NoYXIvMS5jYzogTmV3LgoJKiAyN19pby9iYXNpY19maWxlYnVmL3NlZWtwb3MvY2hhci8yLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2ZpbGVidWYvc2V0YnVmL2NoYXIvMS5jYzogTmV3LgoJKiAyN19pby9iYXNpY19maWxlYnVmL3NldGJ1Zi9jaGFyLzIuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zZXRidWYvY2hhci8zLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2ZpbGVidWYvc2dldGMvY2hhci8xLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2ZpbGVidWYvc2dldG4vY2hhci8xLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2ZpbGVidWYvc2dldG4vY2hhci8yLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2ZpbGVidWYvc25leHRjL2NoYXIvMS5jYzogTmV3LgoJKiAyN19pby9iYXNpY19maWxlYnVmL3NwdXRiYWNrYy9jaGFyLzEuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zcHV0YmFja2MvY2hhci85NDI1LmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2ZpbGVidWYvc3B1dGMvY2hhci8xLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2ZpbGVidWYvc3B1dGMvY2hhci8xMDU3LmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2ZpbGVidWYvc3B1dGMvY2hhci85NzAxLTIuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zcHV0bi9jaGFyLzEuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zcHV0bi9jaGFyLzEwNTcuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zcHV0bi9jaGFyLzk3MDEtMS5jYzogTmV3LgoJKiAyN19pby9iYXNpY19maWxlYnVmL3N1bmdldGMvY2hhci8xLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2ZpbGVidWYvc3luYy9jaGFyLzEwNTcuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfZmlsZWJ1Zi9zeW5jL2NoYXIvOTE4Mi0xLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2ZpbGVidWYvdW5kZXJmbG93L2NoYXIvMTAwOTcuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfZnN0cmVhbS8xLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2ZzdHJlYW0vMi5jYzogTmV3LgoJKiAyN19pby9iYXNpY19mc3RyZWFtLzMuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfZnN0cmVhbS80LmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2ZzdHJlYW0vcmRidWYvY2hhci8yODMyLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2lmc3RyZWFtLzEuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfaWZzdHJlYW0vMi5jYzogTmV3LgoJKiAyN19pby9iYXNpY19pZnN0cmVhbS8zLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2lmc3RyZWFtLzQuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfaWZzdHJlYW0vY29ucy9jaGFyLzEuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfaWZzdHJlYW0vb3Blbi9jaGFyLzEuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfaWZzdHJlYW0vcmRidWYvY2hhci8yODMyLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2lvcy8xLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2lvcy8yLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2lvcy8zLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2lvcy80LmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2lvcy9jbGVhci9jaGFyLzEuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfaW9zL2NvbnMvY2hhci8xLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2lvcy9jb25zL2NoYXIvMi5jYzogTmV3LgoJKiAyN19pby9iYXNpY19pb3MvY29ucy9jaGFyLzMuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfaW9zL2NvcHlmbXQvY2hhci8xLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2lvcy9jb3B5Zm10L2NoYXIvMi5jYzogTmV3LgoJKiAyN19pby9iYXNpY19pb3MvZXhjZXB0aW9ucy9jaGFyLzEuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfaW9zL2xvY2FsZXMvY2hhci8xLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2lvc3RyZWFtLzEuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfaW9zdHJlYW0vMi5jYzogTmV3LgoJKiAyN19pby9iYXNpY19pb3N0cmVhbS8zLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2lvc3RyZWFtLzQuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfaXN0cmVhbS8xLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2lzdHJlYW0vMi5jYzogTmV3LgoJKiAyN19pby9iYXNpY19pc3RyZWFtLzMuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfaXN0cmVhbS80LmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2lzdHJlYW0vZXhjZXB0aW9ucy9jaGFyLzk1NjEuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfaXN0cmVhbS9leHRyYWN0b3JzX2FyaXRobWV0aWMvY2hhci8wMS5jYzogTmV3LgoJKiAyN19pby9iYXNpY19pc3RyZWFtL2V4dHJhY3RvcnNfYXJpdGhtZXRpYy9jaGFyLzAyLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2lzdHJlYW0vZXh0cmFjdG9yc19hcml0aG1ldGljL2NoYXIvMDMuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfaXN0cmVhbS9leHRyYWN0b3JzX2FyaXRobWV0aWMvY2hhci8wNi5jYzogTmV3LgoJKiAyN19pby9iYXNpY19pc3RyZWFtL2V4dHJhY3RvcnNfYXJpdGhtZXRpYy9jaGFyLzA3LmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2lzdHJlYW0vZXh0cmFjdG9yc19hcml0aG1ldGljL2NoYXIvMDguY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfaXN0cmVhbS9leHRyYWN0b3JzX2FyaXRobWV0aWMvY2hhci8wOS5jYzogTmV3LgoJKiAyN19pby9iYXNpY19pc3RyZWFtL2V4dHJhY3RvcnNfYXJpdGhtZXRpYy9jaGFyLzEwLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2lzdHJlYW0vZXh0cmFjdG9yc19hcml0aG1ldGljL2NoYXIvMTEuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfaXN0cmVhbS9leHRyYWN0b3JzX2FyaXRobWV0aWMvY2hhci8xMi5jYzogTmV3LgoJKiAyN19pby9iYXNpY19pc3RyZWFtL2V4dHJhY3RvcnNfYXJpdGhtZXRpYy9jaGFyLzEzLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2lzdHJlYW0vZXh0cmFjdG9yc19jaGFyYWN0ZXIvY2hhci8xLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2lzdHJlYW0vZXh0cmFjdG9yc19jaGFyYWN0ZXIvY2hhci8yLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2lzdHJlYW0vZXh0cmFjdG9yc19jaGFyYWN0ZXIvY2hhci8zLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2lzdHJlYW0vZXh0cmFjdG9yc19jaGFyYWN0ZXIvY2hhci85ODI2LmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2lzdHJlYW0vZXh0cmFjdG9yc19vdGhlci9jaGFyLzEuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfaXN0cmVhbS9leHRyYWN0b3JzX290aGVyL2NoYXIvMi5jYzogTmV3LgoJKiAyN19pby9iYXNpY19pc3RyZWFtL2V4dHJhY3RvcnNfb3RoZXIvY2hhci8zLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2lzdHJlYW0vZXh0cmFjdG9yc19vdGhlci9jaGFyLzkzMTgtaW4uY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfaXN0cmVhbS9leHRyYWN0b3JzX290aGVyL2NoYXIvOTQyNC1pbi5jYzogTmV3LgoJKiAyN19pby9iYXNpY19pc3RyZWFtL2dldC9jaGFyLzEuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfaXN0cmVhbS9nZXQvY2hhci8yLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2lzdHJlYW0vZ2V0bGluZS9jaGFyLzEuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfaXN0cmVhbS9nZXRsaW5lL2NoYXIvMi5jYzogTmV3LgoJKiAyN19pby9iYXNpY19pc3RyZWFtL2dldGxpbmUvY2hhci8zLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2lzdHJlYW0vaWdub3JlL2NoYXIvMS5jYzogTmV3LgoJKiAyN19pby9iYXNpY19pc3RyZWFtL2lnbm9yZS9jaGFyLzYzNjAuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfaXN0cmVhbS9pZ25vcmUvY2hhci83MjIwLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2lzdHJlYW0vcGVlay9jaGFyLzEuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfaXN0cmVhbS9wZWVrL2NoYXIvNjQxNC5jYzogTmV3LgoJKiAyN19pby9iYXNpY19pc3RyZWFtL3B1dGJhY2svY2hhci8xLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2lzdHJlYW0vcmVhZC9jaGFyLzEuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfaXN0cmVhbS9yZWFkL2NoYXIvMi5jYzogTmV3LgoJKiAyN19pby9iYXNpY19pc3RyZWFtL3JlYWQvY2hhci8zLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2lzdHJlYW0vcmVhZHNvbWUvY2hhci82NzQ2LTEuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfaXN0cmVhbS9yZWFkc29tZS9jaGFyLzY3NDYtMi5jYzogTmV3LgoJKiAyN19pby9iYXNpY19pc3RyZWFtL3JlYWRzb21lL2NoYXIvODI1OC5jYzogTmV3LgoJKiAyN19pby9iYXNpY19pc3RyZWFtL3NlZWtnL2NoYXIvMjM0Ni1mc3RyZWFtLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2lzdHJlYW0vc2Vla2cvY2hhci8yMzQ2LXNzdHJlYW0uY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfaXN0cmVhbS9zZWVrZy9jaGFyLzgzNDgtMS5jYzogTmV3LgoJKiAyN19pby9iYXNpY19pc3RyZWFtL3NlZWtnL2NoYXIvODM0OC0yLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2lzdHJlYW0vc2Vla2cvY2hhci9mc3RyZWFtLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2lzdHJlYW0vc2Vla2cvY2hhci9zc3RyZWFtLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2lzdHJlYW0vc2VudHJ5L2NoYXIvMS5jYzogTmV3LgoJKiAyN19pby9iYXNpY19pc3RyZWFtL3NlbnRyeS9jaGFyLzIuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfaXN0cmVhbS9zZW50cnkvY2hhci8zLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2lzdHJlYW0vc2VudHJ5L2NoYXIvMzk4My1mc3RyZWFtLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2lzdHJlYW0vc2VudHJ5L2NoYXIvMzk4My1zc3RyZWFtLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2lzdHJlYW0vdGVsbGcvY2hhci8xLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2lzdHJlYW0vdGVsbGcvY2hhci84MzQ4LmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2lzdHJlYW0vdGVsbGcvY2hhci9mc3RyZWFtLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2lzdHJlYW0vdGVsbGcvY2hhci9zc3RyZWFtLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2lzdHJlYW0vd3MvY2hhci8xLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2lzdHJpbmdzdHJlYW0vMS5jYzogTmV3LgoJKiAyN19pby9iYXNpY19pc3RyaW5nc3RyZWFtLzIuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfaXN0cmluZ3N0cmVhbS8zLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX2lzdHJpbmdzdHJlYW0vNC5jYzogTmV3LgoJKiAyN19pby9iYXNpY19pc3RyaW5nc3RyZWFtL3JkYnVmL2NoYXIvMjgzMi5jYzogTmV3LgoJKiAyN19pby9iYXNpY19pc3RyaW5nc3RyZWFtL3N0ci9jaGFyLzEuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfb2ZzdHJlYW0vMS5jYzogTmV3LgoJKiAyN19pby9iYXNpY19vZnN0cmVhbS8yLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX29mc3RyZWFtLzMuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfb2ZzdHJlYW0vNC5jYzogTmV3LgoJKiAyN19pby9iYXNpY19vZnN0cmVhbS9jb25zL2NoYXIvMi5jYzogTmV3LgoJKiAyN19pby9iYXNpY19vZnN0cmVhbS9vcGVuL2NoYXIvMS5jYzogTmV3LgoJKiAyN19pby9iYXNpY19vZnN0cmVhbS9yZGJ1Zi9jaGFyLzI4MzIuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfb3N0cmVhbS8xLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX29zdHJlYW0vMi5jYzogTmV3LgoJKiAyN19pby9iYXNpY19vc3RyZWFtLzMuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfb3N0cmVhbS80LmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX29zdHJlYW0vY29ucy9jaGFyLzk4MjcuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfb3N0cmVhbS9lbmRsL2NoYXIvMS5jYzogTmV3LgoJKiAyN19pby9iYXNpY19vc3RyZWFtL2VuZHMvY2hhci8xLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX29zdHJlYW0vZW5kcy9jaGFyLzIuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfb3N0cmVhbS9leGNlcHRpb25zL2NoYXIvOTU2MS5jYzogTmV3LgoJKiAyN19pby9iYXNpY19vc3RyZWFtL2ZsdXNoL2NoYXIvMS5jYzogTmV3LgoJKiAyN19pby9iYXNpY19vc3RyZWFtL2luc2VydGVyc19hcml0aG1ldGljL2NoYXIvMS5jYzogTmV3LgoJKiAyN19pby9iYXNpY19vc3RyZWFtL2luc2VydGVyc19hcml0aG1ldGljL2NoYXIvMi5jYzogTmV3LgoJKiAyN19pby9iYXNpY19vc3RyZWFtL2luc2VydGVyc19hcml0aG1ldGljL2NoYXIvMy5jYzogTmV3LgoJKiAyN19pby9iYXNpY19vc3RyZWFtL2luc2VydGVyc19hcml0aG1ldGljL2NoYXIvNC5jYzogTmV3LgoJKiAyN19pby9iYXNpY19vc3RyZWFtL2luc2VydGVyc19hcml0aG1ldGljL2NoYXIvNDQwMi5jYzogTmV3LgoJKiAyN19pby9iYXNpY19vc3RyZWFtL2luc2VydGVyc19hcml0aG1ldGljL2NoYXIvNS5jYzogTmV3LgoJKiAyN19pby9iYXNpY19vc3RyZWFtL2luc2VydGVyc19hcml0aG1ldGljL2NoYXIvNi5jYzogTmV3LgoJKiAyN19pby9iYXNpY19vc3RyZWFtL2luc2VydGVyc19hcml0aG1ldGljL3djaGFyX3QvMS5jYzogTmV3LgoJKiAyN19pby9iYXNpY19vc3RyZWFtL2luc2VydGVyc19jaGFyYWN0ZXIvY2hhci8xLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX29zdHJlYW0vaW5zZXJ0ZXJzX2NoYXJhY3Rlci9jaGFyLzIuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfb3N0cmVhbS9pbnNlcnRlcnNfY2hhcmFjdGVyL2NoYXIvMy5jYzogTmV3LgoJKiAyN19pby9iYXNpY19vc3RyZWFtL2luc2VydGVyc19jaGFyYWN0ZXIvY2hhci80LmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX29zdHJlYW0vaW5zZXJ0ZXJzX2NoYXJhY3Rlci9jaGFyLzUuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfb3N0cmVhbS9pbnNlcnRlcnNfY2hhcmFjdGVyL2NoYXIvNi5jYzogTmV3LgoJKiAyN19pby9iYXNpY19vc3RyZWFtL2luc2VydGVyc19jaGFyYWN0ZXIvY2hhci84LmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX29zdHJlYW0vaW5zZXJ0ZXJzX2NoYXJhY3Rlci93Y2hhcl90LzcuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfb3N0cmVhbS9pbnNlcnRlcnNfY2hhcmFjdGVyL3djaGFyX3QvOC5jYzogTmV3LgoJKiAyN19pby9iYXNpY19vc3RyZWFtL2luc2VydGVyc19vdGhlci9jaGFyLzEuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfb3N0cmVhbS9pbnNlcnRlcnNfb3RoZXIvY2hhci8yLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX29zdHJlYW0vaW5zZXJ0ZXJzX290aGVyL2NoYXIvMy5jYzogTmV3LgoJKiAyN19pby9iYXNpY19vc3RyZWFtL2luc2VydGVyc19vdGhlci9jaGFyLzQuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfb3N0cmVhbS9pbnNlcnRlcnNfb3RoZXIvY2hhci85MzE4LW91dC5jYzogTmV3LgoJKiAyN19pby9iYXNpY19vc3RyZWFtL2luc2VydGVyc19vdGhlci9jaGFyLzk0MjQtb3V0LmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX29zdHJlYW0vc2VudHJ5L2NoYXIvMS5jYzogTmV3LgoJKiAyN19pby9iYXNpY19vc3RyZWFtL3NlbnRyeS9jaGFyLzIuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfb3N0cmVhbS9zZW50cnkvY2hhci8zOTgzLWZzdHJlYW0uY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfb3N0cmVhbS9zZW50cnkvY2hhci8zOTgzLXNzdHJlYW0uY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfb3N0cmVhbS90ZWxscC9jaGFyLzEuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfb3N0cmVhbS90ZWxscC9jaGFyLzIuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfb3N0cmluZ3N0cmVhbS8xLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX29zdHJpbmdzdHJlYW0vMi5jYzogTmV3LgoJKiAyN19pby9iYXNpY19vc3RyaW5nc3RyZWFtLzMuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfb3N0cmluZ3N0cmVhbS80LmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX29zdHJpbmdzdHJlYW0vY29ucy9jaGFyLzMuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfb3N0cmluZ3N0cmVhbS9yZGJ1Zi9jaGFyLzI4MzIuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfb3N0cmluZ3N0cmVhbS9zdHIvY2hhci8xLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX29zdHJpbmdzdHJlYW0vc3RyL2NoYXIvMi5jYzogTmV3LgoJKiAyN19pby9iYXNpY19zdHJlYW1idWYvMS5jYzogTmV3LgoJKiAyN19pby9iYXNpY19zdHJlYW1idWYvMi5jYzogTmV3LgoJKiAyN19pby9iYXNpY19zdHJlYW1idWYvMy5jYzogTmV3LgoJKiAyN19pby9iYXNpY19zdHJlYW1idWYvY29ucy9jaGFyLzEuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfc3RyZWFtYnVmL2ltYnVlL2NoYXIvMS5jYzogTmV3LgoJKiAyN19pby9iYXNpY19zdHJlYW1idWYvaW1idWUvY2hhci85MzIyLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX3N0cmVhbWJ1Zi9vdmVyZmxvdy9jaGFyLzEuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfc3RyZWFtYnVmL292ZXJmbG93L2NoYXIvMi5jYzogTmV3LgoJKiAyN19pby9iYXNpY19zdHJlYW1idWYvb3ZlcmZsb3cvY2hhci8zNTk5LmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX3N0cmVhbWJ1Zi9zZ2V0Yy9jaGFyLzEuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfc3RyZWFtYnVmL3NnZXRuL2NoYXIvMS5jYzogTmV3LgoJKiAyN19pby9iYXNpY19zdHJlYW1idWYvc3B1dGJhY2tjL2NoYXIvOTUzOC5jYzogTmV3LgoJKiAyN19pby9iYXNpY19zdHJlYW1idWYvc3B1dGMvY2hhci8xMDU3LmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX3N0cmVhbWJ1Zi9zcHV0bi9jaGFyLzEuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfc3RyZWFtYnVmL3NwdXRuL2NoYXIvMTA1Ny5jYzogTmV3LgoJKiAyN19pby9iYXNpY19zdHJlYW1idWYvc3luYy9jaGFyLzEwNTcuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfc3RyaW5nYnVmLzEuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfc3RyaW5nYnVmLzIuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfc3RyaW5nYnVmLzMuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfc3RyaW5nYnVmLzQuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfc3RyaW5nYnVmLzUuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfc3RyaW5nYnVmL2ltYnVlL2NoYXIvMS5jYzogTmV3LgoJKiAyN19pby9iYXNpY19zdHJpbmdidWYvaW1idWUvY2hhci85MzIyLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX3N0cmluZ2J1Zi9pbl9hdmFpbC9jaGFyLzEuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfc3RyaW5nYnVmL292ZXJmbG93L2NoYXIvMi5jYzogTmV3LgoJKiAyN19pby9iYXNpY19zdHJpbmdidWYvb3ZlcmZsb3cvY2hhci8zNTk5LmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX3N0cmluZ2J1Zi9vdmVyZmxvdy9jaGFyLzk5ODguY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfc3RyaW5nYnVmL3NidW1wYy9jaGFyLzEuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfc3RyaW5nYnVmL3NidW1wYy9jaGFyLzk4MjUuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfc3RyaW5nYnVmL3NlZWtvZmYvY2hhci8xLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX3N0cmluZ2J1Zi9zZWVrb2ZmL2NoYXIvMi5jYzogTmV3LgoJKiAyN19pby9iYXNpY19zdHJpbmdidWYvc2Vla3Bvcy9jaGFyLzEuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfc3RyaW5nYnVmL3NlZWtwb3MvY2hhci8yLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX3N0cmluZ2J1Zi9zZXRidWYvY2hhci8xLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX3N0cmluZ2J1Zi9zZXRidWYvY2hhci8yLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX3N0cmluZ2J1Zi9zZXRidWYvY2hhci8zLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX3N0cmluZ2J1Zi9zZ2V0Yy9jaGFyLzEuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfc3RyaW5nYnVmL3NnZXRuL2NoYXIvMS5jYzogTmV3LgoJKiAyN19pby9iYXNpY19zdHJpbmdidWYvc25leHRjL2NoYXIvMS5jYzogTmV3LgoJKiAyN19pby9iYXNpY19zdHJpbmdidWYvc3B1dGJhY2tjL2NoYXIvMS5jYzogTmV3LgoJKiAyN19pby9iYXNpY19zdHJpbmdidWYvc3B1dGJhY2tjL2NoYXIvOTQyNS5jYzogTmV3LgoJKiAyN19pby9iYXNpY19zdHJpbmdidWYvc3B1dGMvY2hhci8xLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX3N0cmluZ2J1Zi9zcHV0Yy9jaGFyLzEwNTcuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfc3RyaW5nYnVmL3NwdXRjL2NoYXIvOTQwNC0xLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX3N0cmluZ2J1Zi9zcHV0bi9jaGFyLzEuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfc3RyaW5nYnVmL3NwdXRuL2NoYXIvMTA1Ny5jYzogTmV3LgoJKiAyN19pby9iYXNpY19zdHJpbmdidWYvc3B1dG4vY2hhci85NDA0LTIuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfc3RyaW5nYnVmL3N0ci9jaGFyLzEuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfc3RyaW5nYnVmL3N0ci9jaGFyLzIuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfc3RyaW5nYnVmL3N0ci9jaGFyLzMuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfc3RyaW5nYnVmL3N0ci9jaGFyLzM5NTUuY2M6IE5ldy4KCSogMjdfaW8vYmFzaWNfc3RyaW5nYnVmL3N1bmdldGMvY2hhci8xLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX3N0cmluZ2J1Zi9zeW5jL2NoYXIvMTA1Ny5jYzogTmV3LgoJKiAyN19pby9iYXNpY19zdHJpbmdzdHJlYW0vMS5jYzogTmV3LgoJKiAyN19pby9iYXNpY19zdHJpbmdzdHJlYW0vMi5jYzogTmV3LgoJKiAyN19pby9iYXNpY19zdHJpbmdzdHJlYW0vMy5jYzogTmV3LgoJKiAyN19pby9iYXNpY19zdHJpbmdzdHJlYW0vNC5jYzogTmV3LgoJKiAyN19pby9iYXNpY19zdHJpbmdzdHJlYW0vcmRidWYvY2hhci8yODMyLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX3N0cmluZ3N0cmVhbS9zdHIvY2hhci8xLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX3N0cmluZ3N0cmVhbS9zdHIvY2hhci8yLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX3N0cmluZ3N0cmVhbS9zdHIvY2hhci8zLmNjOiBOZXcuCgkqIDI3X2lvL2Jhc2ljX3N0cmluZ3N0cmVhbS9zdHIvY2hhci80LmNjOiBOZXcuCgkqIDI3X2lvL2Zwb3MvMS5jYzogTmV3LgoJKiAyN19pby9mcG9zLzIuY2M6IE5ldy4KCSogMjdfaW8vZnBvcy8zLmNjOiBOZXcuCgkqIDI3X2lvL2lvc19iYXNlL2NhbGxiYWNrcy8xLmNjOiBOZXcuCgkqIDI3X2lvL2lvc19iYXNlL3N0YXRlLzEuY2M6IE5ldy4KCSogMjdfaW8vaW9zX2Jhc2Uvc3RvcmFnZS8xLmNjOiBOZXcuCgkqIDI3X2lvL2lvc19iYXNlL3N0b3JhZ2UvMi5jYzogTmV3LgoJKiAyN19pby9pb3NfYmFzZS9zdG9yYWdlLzMuY2M6IE5ldy4KCSogMjdfaW8vaW9zX2Jhc2Uvc3luY193aXRoX3N0ZGlvLzEuY2M6IE5ldy4KCSogMjdfaW8vaW9zX2Jhc2Uvc3luY193aXRoX3N0ZGlvLzIuY2M6IE5ldy4KCSogMjdfaW8vbWFuaXB1bGF0b3JzL2FkanVzdGZpZWxkL2NoYXIvMS5jYzogTmV3LgoJKiAyN19pby9tYW5pcHVsYXRvcnMvYWRqdXN0ZmllbGQvY2hhci8yLmNjOiBOZXcuCgkqIDI3X2lvL21hbmlwdWxhdG9ycy9iYXNlZmllbGQvY2hhci8xLmNjOiBOZXcuCgkqIDI3X2lvL21hbmlwdWxhdG9ycy9zdGFuZGFyZC9jaGFyLzEuY2M6IE5ldy4KCSogMjdfaW8vbWFuaXB1bGF0b3JzL3N0YW5kYXJkL2NoYXIvMi5jYzogTmV3LgoJKiAyN19pby9vYmplY3RzL2NoYXIvMS5jYzogTmV3LgoJKiAyN19pby9vYmplY3RzL2NoYXIvMi5jYzogTmV3LgoJKiAyN19pby9vYmplY3RzL2NoYXIvMjUyMy0xX3hpbi5jYzogTmV3LgoJKiAyN19pby9vYmplY3RzL2NoYXIvMjUyMy0xX3hpbi5pbjogTmV3LgoJKiAyN19pby9vYmplY3RzL2NoYXIvMjUyMy0yX3hpbi5jYzogTmV3LgoJKiAyN19pby9vYmplY3RzL2NoYXIvMjUyMy0yX3hpbi5pbjogTmV3LgoJKiAyN19pby9vYmplY3RzL2NoYXIvMzA0NS5jYzogTmV3LgoJKiAyN19pby9vYmplY3RzL2NoYXIvMzY0Ny5jYzogTmV3LgoJKiAyN19pby9vYmplY3RzL2NoYXIvM194aW4uY2M6IE5ldy4KCSogMjdfaW8vb2JqZWN0cy9jaGFyLzNfeGluLmluOiBOZXcuCgkqIDI3X2lvL29iamVjdHMvY2hhci80X3hpbi5jYzogTmV3LgoJKiAyN19pby9vYmplY3RzL2NoYXIvNF94aW4uaW46IE5ldy4KCSogMjdfaW8vb2JqZWN0cy9jaGFyLzUyNjguY2M6IE5ldy4KCSogMjdfaW8vb2JqZWN0cy9jaGFyLzUyODBfeGluLmNjOiBOZXcuCgkqIDI3X2lvL29iamVjdHMvY2hhci81MjgwX3hpbi5pbjogTmV3LgoJKiAyN19pby9vYmplY3RzL2NoYXIvNjU0OF94aW4uY2M6IE5ldy4KCSogMjdfaW8vb2JqZWN0cy9jaGFyLzY1NDhfeGluLmluOiBOZXcuCgkqIDI3X2lvL29iamVjdHMvY2hhci82NjQ4LTFfeGluLmNjOiBOZXcuCgkqIDI3X2lvL29iamVjdHMvY2hhci82NjQ4LTFfeGluLmluOiBOZXcuCgkqIDI3X2lvL29iamVjdHMvY2hhci82NjQ4LTJfeGluLmNjOiBOZXcuCgkqIDI3X2lvL29iamVjdHMvY2hhci82NjQ4LTJfeGluLmluOiBOZXcuCgkqIDI3X2lvL29iamVjdHMvY2hhci83NzQ0X3hpbi5jYzogTmV3LgoJKiAyN19pby9vYmplY3RzL2NoYXIvNzc0NF94aW4uaW46IE5ldy4KCSogMjdfaW8vb2JqZWN0cy93Y2hhcl90LzEuY2M6IE5ldy4KCSogMjdfaW8vdHlwZXMvMS5jYzogTmV3LgoJKiAyN19pby90eXBlcy8yLmNjOiBOZXcuCgkqIGRhdGEvZmlsZWJ1Zl9tZW1iZXJzLTEudHN0OiBOZXcuCgkqIGRhdGEvZmlsZWJ1Zl9tZW1iZXJzLTEudHh0OiBOZXcuCgkqIGRhdGEvZmlsZWJ1Zl92aXJ0dWFscy0xLnRzdDogTmV3LgoJKiBkYXRhL2ZpbGVidWZfdmlydHVhbHMtMS50eHQ6IE5ldy4KCSogZGF0YS9maWxlYnVmX3ZpcnR1YWxzLTIudHN0OiBOZXcuCgkqIGRhdGEvZmlsZWJ1Zl92aXJ0dWFscy0zLnRzdDogTmV3LgoJKiBkYXRhL2lmc3RyZWFtX21lbWJlcnMtMS50c3Q6IE5ldy4KCSogZGF0YS9pZnN0cmVhbV9tZW1iZXJzLTEudHh0OiBOZXcuCgkqIGRhdGEvaW9zX2Jhc2VfbWVtYmVyc19zdGF0aWMtMS50c3Q6IE5ldy4KCSogZGF0YS9pc3RyZWFtX2V4dHJhY3Rvcl9vdGhlci0xLnRzdDogTmV3LgoJKiBkYXRhL2lzdHJlYW1fZXh0cmFjdG9yX290aGVyLTEudHh0OiBOZXcuCgkqIGRhdGEvaXN0cmVhbV9leHRyYWN0b3Jfb3RoZXItMi50c3Q6IE5ldy4KCSogZGF0YS9pc3RyZWFtX3NlZWtzLTEudHN0OiBOZXcuCgkqIGRhdGEvaXN0cmVhbV9zZWVrcy0xLnR4dDogTmV3LgoJKiBkYXRhL2lzdHJlYW1fc2Vla3MtMi50c3Q6IE5ldy4KCSogZGF0YS9pc3RyZWFtX3NlZWtzLTMudHN0OiBOZXcuCgkqIGRhdGEvaXN0cmVhbV91bmZvcm1hdHRlZC0xLnRzdDogTmV3LgoJKiBkYXRhL2lzdHJlYW1fdW5mb3JtYXR0ZWQtMS50eHQ6IE5ldy4KCSogZGF0YS9vZnN0cmVhbV9tZW1iZXJzLTEudHN0OiBOZXcuCgkqIGRhdGEvb3N0cmVhbV9pbnNlcnRlcl9jaGFyLTEudHN0OiBOZXcuCgkqIGRhdGEvb3N0cmVhbV9pbnNlcnRlcl9jaGFyLTEudHh0OiBOZXcuCgkqIGRhdGEvb3N0cmVhbV9pbnNlcnRlcl9vdGhlci0xLnRzdDogTmV3LgoJKiBkYXRhL29zdHJlYW1faW5zZXJ0ZXJfb3RoZXItMi50c3Q6IE5ldy4KCSogZGF0YS9vc3RyZWFtX3NlZWtzLTEudHN0OiBOZXcuCgoyMDAzLTA0LTA5ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL2JpdHMvc3N0cmVhbS50Y2MgKGJhc2ljX3N0cmluZ2J1Zjo6c2Vla3Bvcyk6IFJlbW92ZQoJcmVxdWlyZW1lbnQgdGhhdCBfX21vZGUgbXVzdCBiZSBzdHJpY3QgaW5wdXQgb3Igb3V0cHV0LgoKCSogaW5jbHVkZS9zdGQvc3RkX3N0cmVhbWJ1Zi5oIChiYXNpY19zdHJlYW1idWY6OnNldHApOiBTZXQKCV9NX291dF9saW0uCgoJKiBpbmNsdWRlL3N0ZC9zdGRfc3N0cmVhbS5oIChiYXNpY19zdHJpbmJ1Zjo6c3RyKTogWmVybyBsZW5ndGgKCW91dHB1dCBzdHJpbmcgc2hvdWxkbid0IGNvcmUuCgkoYmFzaWNfc3RyaW5nYnVmOjpfTV9yZWFsbHlfc3luYyk6IEFkZCBiYXNlIGFyZ3VtZW50LiBSZW1vdmUgcnR1cm4KCXR5cGUuCgkqIGluY2x1ZGUvYml0cy9zc3RyZWFtLnRjYzogQWRqdXN0IF9NX3JlYWxseV9zeW5jIGJpdHMgaGVyZS4KCgkqIGluY2x1ZGUvYml0cy9pc3RyZWFtLnRjYyAoYmFzaWNfaXN0cmVhbTo6cHV0YmFjayk6IFNldCBnY291bnQgdG8KCXplcm8uCgoyMDAzLTA0LTA5ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiB0ZXN0c3VpdGUvZGF0YTogTmV3IGRpcmVjdG9yeS4KCSogdGVzdHN1aXRlL2xpYi9saWJzdGRjKystdjMtZGcuZXhwIChsaWJzdGRjKystdjMtaW5pdCk6IE1vZGlmeQoJdG8gY29weSBmaWxlcyBmcm9tIHRoZSB0ZXN0c3VpdGUgZGF0YSBkaXJlY3RvcnkuCgkobGlic3RkYysrLXYzLWxpc3Qtc291cmNlZmlsZXMpOiBBZGQgYW5vdGhlciB0ZXN0IGxpc3QgZmlsdGVyLCBmb3IKCXRlc3RmaWxlcyBjb250YWluaW5nIF94aW4sIHdoaWNoIG5vdyBtZWFucyB0aGlzIGlzIGFuIGludGVyYWN0aXZlCgl0ZXN0IGFuZCBzaG91bGQgYmUgcnVuIHdpdGggdGhlIGludGVyYWN0aXZlIGRlamFnbnUgaG9va3MuCgkqIHRlc3RzdWl0ZS9NYWtlZmlsZS5hbTogUmVtb3ZlIHRlc3RzdWl0ZV8qIGZpbGVzLgoJKiB0ZXN0c3VpdGUvTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgoyMDAzLTA0LTA5ICBaYWNrIFdlaW5iZXJnICA8emFja0Bjb2Rlc291cmNlcnkuY29tPgoKCSogZG9jcy9odG1sL2luc3RhbGwuaHRtbDogRG9jdW1lbnQgY29tcGxldGUgbGlzdCBvZiBsb2NhbGVzCglyZXF1aXJlZCBieSB0ZXN0IHN1aXRlLiAgRG9jdW1lbnQgcHJvY2VkdXJlIGZvciBpbnN0YWxsaW5nCglzYWlkIGxvY2FsZXMgdW5kZXIgRGViaWFuLiAgU29saWNpdCBpbnN0cnVjdGlvbnMgZm9yIG90aGVyCglvcGVyYXRpbmcgc3lzdGVtcy4KCjIwMDMtMDQtMDggIEFsZXhhbmRyZSBPbGl2YSAgPGFvbGl2YUByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9iaXRzL3NzdHJlYW0udGNjIChvdmVyZmxvdyk6IE1ha2Ugc3VyZSBvcGVyYW5kcyBvZiBtaW4KCWFuZCBtYXggaGF2ZSB0aGUgc2FtZSB0eXBlLgoKMjAwMy0wNC0wNCAgSmVycnkgUXVpbm4gIDxqbHF1aW5uQG9wdG9ubGluZS5uZXQ+CgoJUFIgbGlic3RkYysrLzEwMjc2CgkqIHNyYy9pb3MuY2MgKGlvc19iYXNlOjpfTV9pbml0KTogUmVtb3ZlIF9NX2NhbGxiYWNrcwoJaW5pdGlhbGl6YXRpb24uCgoyMDAzLTAzLTMxICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogaW5jbHVkZS9zdGQvc3RkX3N0cmVhbWJ1Zi5oIChfTV9vdXRfYnVmX3NpemUoKSk6IFJlbW92ZS4KCSogaW5jbHVkZS9iaXRzL2ZzdHJlYW0udGNjIChfTV9hbGxvY2F0ZV9pbnRlcm5hbF9idWZmZXIpOgoJRG9uJ3Qgc2V0IF9NX291dF9lbmQuCgkoYmFzaWNfZmlsZWJ1Zjo6b3ZlcmZsb3cpOiBSZXBsYWNlIF9NX291dF9idWZfc2l6ZSgpIHdpdGgKCXRoaXMtPl9NX291dF9jdXIgJiYgdGhpcy0+X01fb3V0X2N1ciA8IHRoaXMtPl9NX291dF9lbmQuCgkqIGluY2x1ZGUvYml0cy9zc3RyZWFtLnRjYyAoYmFzaWNfc3RyaW5nYnVmOjpvdmVyZmxvdyk6CglSZXBsYWNlIF9NX291dF9idWZfc2l6ZSgpIHdpdGggdGhpcy0+X01fb3V0X2N1ciA8IHRoaXMtPl9NX291dF9lbmQ7CgkqIGluY2x1ZGUvYml0cy9zdHJlYW1idWYudGNjIChiYXNpY19zdHJlYW1idWY6OnNwdXRjKToKCVJlcGxhY2UgX01fb3V0X2J1Zl9zaXplKCkgd2l0aCBfTV9vdXRfY3VyICYmIF9NX291dF9jdXIgPCBfTV9vdXRfZW5kLgoJKGJhc2ljX3N0cmVhbWJ1Zjo6eHNwdXRuKTogUmVwbGFjZSBfTV9vdXRfYnVmX3NpemUoKSB3aXRoCglfTV9vdXRfZW5kIC0gX01fb3V0X2N1ci4KCShfX2NvcHlfc3RyZWFtYnVmcyk6IExpa2V3aXNlLgoJKiBpbmNsdWRlL3N0ZC9zdGRfZnN0cmVhbS5oIChfTV9zZXRfZGV0ZXJtaW5hdGUpOiBTZXQKCV9NX291dF9lbmQgaGVyZS4KCjIwMDMtMDMtMzAgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJKiBpbmNsdWRlL2JpdHMvZnN0cmVhbS50Y2MgKGJhc2ljX2ZpbGVidWY6OnNob3dtYW55YywKCV9NX2NvbnZlcnRfdG9fZXh0ZXJuYWwsIF9NX3JlYWxseV9vdmVyZmxvdywgc2Vla29mZik6IEZpeAoJdGVzdCBmb3Igc3luY2VkIGJ1ZmZlci4KCSogaW5jbHVkZS9zdGQvc3RkX2ZzdHJlYW0uaCAoc3luYyk6IExpa2V3aXNlLgoJKiBzcmMvZnN0cmVhbS5jYyAoYmFzaWNfZmlsZWJ1ZjxjaGFyPjo6X01fdW5kZXJmbG93X2NvbW1vbiwKCWJhc2ljX2ZpbGVidWY8d2NoYXJfdD46Ol9NX3VuZGVyZmxvd19jb21tb24pOiBMaWtld2lzZS4KCjIwMDMtMDMtMjggIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvc3RkL3N0ZF9zc3RyZWFtLmggKGJhc2ljX2lzdHJpbmdzdHJlYW0pOiBBZGp1c3QKCWluaXRpYWxpemF0aW9uLgoJKGJhc2ljX29zdHJpbmdzdHJlYW0pOiBTYW1lLgoJKGJhc2ljX3N0cmluZ3N0cmVhbSk6IFNhbWUuCgkqIGluY2x1ZGUvc3RkL3N0ZF9mc3RyZWFtLmggKGJhc2ljX2lmc3RyZWFtKTogQWRqdXN0IGluaXRpYWxpemF0aW9uLgoJKGJhc2ljX29mc3RyZWFtKTogU2FtZS4KCShiYXNpY19mc3RyZWFtKTogU2FtZS4KCSogaW5jbHVkZS9zdGQvc3RkX29zdHJlYW0uaCAoYmFzaWNfb3N0cmVtKTogQWRkIHByb3RlY3RlZCBjdG9yCgl0aGF0IGRvZXMgbm90IGNhbGwgaW5pdC4KCSogaW5jbHVkZS9zdGQvc3RkX2lzdHJlYW0uaCAoYmFzaWNfaXN0cmVhbSk6IFNhbWUuCgkoYmFzaWNfaW9zdHJlYW0pOiBDb25zdHJ1Y3QgaXN0cmVhbSwgb3N0cmVhbSB1bmluaXRpYWxpemVkLCB1c2UKCWluaXQgdG8gaW5pdGlhbGl6ZSBqdXN0IG9uY2UuIEFkZCBwcm90ZWN0ZWQgY3RvciB0aGF0IGRvZXMgbm90CgljYWxsIGluaXQuCgoyMDAzLTAzLTI4ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoJICAgIE5hdGhhbiBNeWVycyAgPG5jbUBjYW50cmlwLm9yZz4KCglQUiBsaWJzdGRjKysvOTUzMwoJKiBpbmNsdWRlL2JpdHMvZnN0cmVhbS50Y2MgKGJhc2ljX2ZpbGVidWY8Pjo6b3Blbik6IERvbid0CgljYWxsIHVuZGVyZmxvdygpLgoJKGJhc2ljX2ZpbGVidWY8Pjo6c2hvd21hbnljKTogVXNlIHRoZSBpbmZvcm1hdGlvbiBwcm92aWRlZAoJYnkgY29kZWN2dCBhbmQgX19iYXNpY19maWxlPD46OnNob3dtYW55Y19oZWxwZXIgdG8gaW1wbGVtZW50CglhIG5vbi10cml2aWFsIHNob3dtYW55Yy4KCSogY29uZmlnL2lvL2Jhc2ljX2ZpbGVfc3RkaW8uaAoJKF9fYmFzaWNfZmlsZTw+OjpzaG93bWFueWNfaGVscGVyKTogTmV3LCBkZWNsYXJlLgoJKiBjb25maWcvaW8vYmFzaWNfZmlsZV9zdGRpby5jYwoJKF9fYmFzaWNfZmlsZTw+OjpzaG93bWFueWNfaGVscGVyKTogRGVmaW5lLgoJKF9fYmFzaWNfZmlsZTw+OjpfTV9vcGVuX21vZGUpOiBEb24ndCBzZXQgT19OT05CTE9DSy4KCShfX2Jhc2ljX2ZpbGU8Y2hhcj46Om9wZW4pOiBEb24ndCBjYWxsIGZjbnRsKCkuCgkqIGFjaW5jbHVkZS5tNCAoR0xJQkNQUF9DSEVDS19TX0lTUkVHX09SX1NfSUZSRUcsCglHTElCQ1BQX0NIRUNLX1BPTEwpOiBOZXcgbWFjcm9zLgoJKiBjb25maWd1cmUuaW46IENhbGwgaGVyZS4KCSogYWNjb25maWcuaDogQWRkICN1bmRlZnMgZm9yIHRoZSBjb3JyZXNwb25kaW5nIHN5bWJvbHMuCgkqIGFjbG9jYWwubTQ6IFJlZ2VuZXJhdGUuCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZS4KCSogY29uZmlnLmguaW46IFJlZ2VuZXJhdGUuCgoyMDAzLTAzLTI0ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiBjb25maWcvbGlua2VyLW1hcC5nbnU6IFJlbW92ZSBzdHJpbmcgZXhwb3J0IHJlc3RyaWN0aW9ucy4KCjIwMDMtMDMtMjQgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJKiB0ZXN0c3VpdGUvMjFfc3RyaW5ncy9iYXNpY19zdHJpbmcvZmluZC9jaGFyLzEuY2M6IFJlbW92ZQoJZmluZF9maXJzdF9vZiwgZmluZF9sYXN0X29mIGFuZCBmaW5kX2xhc3Rfbm90X29mIHRlc3RzLgoJKiB0ZXN0c3VpdGUvMjFfc3RyaW5ncy9iYXNpY19zdHJpbmcvZmluZC9jaGFyLzIuY2M6IGZpbmRfZmlyc3Rfb2YKCXRlc3RzIGhlcmUsIG5ldyBmaWxlLgoJKiB0ZXN0c3VpdGUvMjFfc3RyaW5ncy9iYXNpY19zdHJpbmcvZmluZC93Y2hhcl90LzEuY2M6IExpa2V3aXNlLAoJcmVtb3ZlIHdjaGFyX3QgZmluZF9maXJzdF9vZiwgZmluZF9sYXN0X29mIGFuZCBmaW5kX2xhc3Rfbm90X29mIHRlc3RzLgoJKiB0ZXN0c3VpdGUvMjFfc3RyaW5ncy9iYXNpY19zdHJpbmcvZmluZC93Y2hhcl90LzIuY2M6IExpa2V3aXNlLAoJd2NoYXJfdCBmaW5kX2ZpcnN0X29mIHRlc3RzIGhlcmUsIG5ldyBmaWxlLgoJKiB0ZXN0c3VpdGUvMjFfc3RyaW5ncy9iYXNpY19zdHJpbmcvcmZpbmQvY2hhci8yLmNjOiBmaW5kX2xhc3Rfb2YKCXRlc3RzIGhlcmUuCgkqIHRlc3RzdWl0ZS8yMV9zdHJpbmdzL2Jhc2ljX3N0cmluZy9yZmluZC9jaGFyLzMuY2M6IGZpbmRfbGFzdF9ub3Rfb2YKCXRlc3RzIGhlcmUuCgkqIHRlc3RzdWl0ZS8yMV9zdHJpbmdzL2Jhc2ljX3N0cmluZy9yZmluZC93Y2hhcl90LzIuY2M6IGxpa2V3aXNlLAoJd2NoYXJfdCBmaW5kX2xhc3Rfb2YgdGVzdHMgaGVyZS4KCSogdGVzdHN1aXRlLzIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL3JmaW5kL3djaGFyX3QvMy5jYzogbGlrZXdpc2UsCgl3Y2hhcl90IGZpbmRfbGFzdF9ub3Rfb2YgdGVzdHMgaGVyZS4KCjIwMDMtMDMtMjIgIExvcmVuIEouIFJpdHRsZSAgPGxqcml0dGxlQGFjbS5vcmc+CgoJKiBjb25maWcvb3MvaHB1eC9jdHlwZV9ub25pbmxpbmUuaCAoY3R5cGU8Y2hhcj46OmNsYXNzaWNfdGFibGUpOgoJQ29ycmVjdCByZXR1cm4gdmFsdWUuCgoyMDAzLTAzLTIxICBKZXJyeSBRdWlubiAgPGpscXVpbm5Ab3B0b25saW5lLm5ldD4KCglQUiBsaWJzdGRjKysvNTczMAoJKiBpbmNsdWRlL2JpdHMvYysrY29uZmlnIChfR0xJQkNQUF9GQVNUX01BVEgpOiBEZWZpbmUuCgkqIGluY2x1ZGUvc3RkL3N0ZF9jb21wbGV4LmggKG5vcm0pOiAgVXNlIGZhc3RlciwKCWxlc3MgYWNjdXJhdGUgY29tcHV0YXRpb24gZm9yIGJ1aWx0aW4gZmxvYXQgdHlwZXMgdW5kZXIgLS1mYXN0LW1hdGguCgoyMDAzLTAzLTIxICBNYWdudXMgRnJvbXJlaWRlICA8Z25hdHNAbWFnZnIudXNlci5seXNhdG9yLmxpdS5zZT4KCgkqIHRlc3RzdWl0ZS90ZXN0c3VpdGVfaG9va3MuaDogRml4IHdhcm5pbmcgbml0cy4KCjIwMDMtMDMtMTkgIEFsZXhhbmRyZSBPbGl2YSAgPGFvbGl2YUByZWRoYXQuY29tPgoKCSogY29uZmlnL2NwdS9taXBzL2F0b21pY2l0eS5oIChfX2V4Y2hhbmdlX2FuZF9hZGQsIF9fYXRvbWljX2FkZCk6CglPbmx5IC5zZXQgbWlwczIgZm9yIHRoZSBvMzIgQUJJLgoKMjAwMy0wMy0xOSAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIHRlc3RzdWl0ZS8yMV9zdHJpbmdzL2NoYXJfdHJhaXRzL3JlcXVpcmVtZW50cy9jaGFyLzEuY2M6CglUZXN0IGNoYXIgbm90IHdjaGFyX3QuCgoyMDAzLTAzLTE4ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogdGVzdHN1aXRlLzIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL2FwcGVuZC93Y2hhcl90LzEuY2M6CglDb3JyZWN0IHNpemUsIHRha2luZyBpbnRvIGFjY291bnQgc2l6ZW9mKHdjaGFyX3QpLgoKMjAwMy0wMy0xOCAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCglSZXNodWZmbGUgMjFfc3RyaW5ncyB0ZXN0c3VpdGUuCgkqIHRlc3RzdWl0ZS8yMV9zdHJpbmdzL2FwcGVuZC5jYywgY19zdHJpbmdzLmNjLCBpbnZhcmlhbnRzLmNjLAoJYXNzaWduLmNjLCBjdG9yX2NvcHlfZHRvci5jYywgbm9ubWVtYmVyLmNjLCBjYXBhY2l0eS5jYywKCWVsZW1lbnRfYWNjZXNzLmNjLCBvcGVyYXRpb25zLmNjLCBjaGFyX3RyYWl0c19yZXF1aXJlbWVudHMuY2MsCglmaW5kLmNjLCByZXBsYWNlLmNjLCBjaGFyX3RyYWl0c190eXBlZGVmcy5jYywgaW5zZXJ0LmNjLCByZmluZC5jYywKCWNvbXBhcmUuY2MsIGluc2VydGVyc19leHRyYWN0b3JzLmNjLCBzdWJzdHIuY2M6IFNwbGl0IHVwLCBhZGQKCXdjaGFyX3QgdGVzdHMgYXMgZm9sbG93cy4KCSogMjFfc3RyaW5ncy9iYXNpY19zdHJpbmcvYXBwZW5kL2NoYXIvMS5jYzogTmV3LgoJKiAyMV9zdHJpbmdzL2Jhc2ljX3N0cmluZy9hcHBlbmQvd2NoYXJfdC8xLmNjOiBOZXcuCgkqIDIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL2Fzc2lnbi9jaGFyLzEuY2M6IE5ldy4KCSogMjFfc3RyaW5ncy9iYXNpY19zdHJpbmcvYXNzaWduL2NoYXIvMi5jYzogTmV3LgoJKiAyMV9zdHJpbmdzL2Jhc2ljX3N0cmluZy9hc3NpZ24vY2hhci8zLmNjOiBOZXcuCgkqIDIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL2Fzc2lnbi93Y2hhcl90LzEuY2M6IE5ldy4KCSogMjFfc3RyaW5ncy9iYXNpY19zdHJpbmcvYXNzaWduL3djaGFyX3QvMi5jYzogTmV3LgoJKiAyMV9zdHJpbmdzL2Jhc2ljX3N0cmluZy9hc3NpZ24vd2NoYXJfdC8zLmNjOiBOZXcuCgkqIDIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL2NhcGFjaXR5LzEuY2M6IE5ldy4KCSogMjFfc3RyaW5ncy9iYXNpY19zdHJpbmcvY2FwYWNpdHkvY2hhci8xLmNjOiBOZXcuCgkqIDIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL2NhcGFjaXR5L2NoYXIvMi5jYzogTmV3LgoJKiAyMV9zdHJpbmdzL2Jhc2ljX3N0cmluZy9jYXBhY2l0eS93Y2hhcl90LzEuY2M6IE5ldy4KCSogMjFfc3RyaW5ncy9iYXNpY19zdHJpbmcvY2FwYWNpdHkvd2NoYXJfdC8yLmNjOiBOZXcuCgkqIDIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL2NvbXBhcmUvY2hhci8xLmNjOiBOZXcuCgkqIDIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL2NvbXBhcmUvd2NoYXJfdC8xLmNjOiBOZXcuCgkqIDIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL2NvbnMvY2hhci8xLmNjOiBOZXcuCgkqIDIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL2NvbnMvY2hhci8yLmNjOiBOZXcuCgkqIDIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL2NvbnMvY2hhci8zLmNjOiBOZXcuCgkqIDIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL2NvbnMvY2hhci80LmNjOiBOZXcuCgkqIDIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL2NvbnMvY2hhci81LmNjOiBOZXcuCgkqIDIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL2NvbnMvd2NoYXJfdC8xLmNjOiBOZXcuCgkqIDIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL2NvbnMvd2NoYXJfdC8yLmNjOiBOZXcuCgkqIDIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL2NvbnMvd2NoYXJfdC8zLmNjOiBOZXcuCgkqIDIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL2NvbnMvd2NoYXJfdC80LmNjOiBOZXcuCgkqIDIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL2NvbnMvd2NoYXJfdC81LmNjOiBOZXcuCgkqIDIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL2VsZW1lbnRfYWNjZXNzL2NoYXIvMS5jYzogTmV3LgoJKiAyMV9zdHJpbmdzL2Jhc2ljX3N0cmluZy9lbGVtZW50X2FjY2Vzcy9jaGFyLzIuY2M6IE5ldy4KCSogMjFfc3RyaW5ncy9iYXNpY19zdHJpbmcvZWxlbWVudF9hY2Nlc3MvY2hhci8zLmNjOiBOZXcuCgkqIDIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL2VsZW1lbnRfYWNjZXNzL3djaGFyX3QvMS5jYzogTmV3LgoJKiAyMV9zdHJpbmdzL2Jhc2ljX3N0cmluZy9lbGVtZW50X2FjY2Vzcy93Y2hhcl90LzIuY2M6IE5ldy4KCSogMjFfc3RyaW5ncy9iYXNpY19zdHJpbmcvZWxlbWVudF9hY2Nlc3Mvd2NoYXJfdC8zLmNjOiBOZXcuCgkqIDIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL2ZpbmQvY2hhci8xLmNjOiBOZXcuCgkqIDIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL2ZpbmQvd2NoYXJfdC8xLmNjOiBOZXcuCgkqIDIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL2luc2VydC9jaGFyLzEuY2M6IE5ldy4KCSogMjFfc3RyaW5ncy9iYXNpY19zdHJpbmcvaW5zZXJ0L2NoYXIvMi5jYzogTmV3LgoJKiAyMV9zdHJpbmdzL2Jhc2ljX3N0cmluZy9pbnNlcnQvd2NoYXJfdC8xLmNjOiBOZXcuCgkqIDIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL2luc2VydC93Y2hhcl90LzIuY2M6IE5ldy4KCSogMjFfc3RyaW5ncy9iYXNpY19zdHJpbmcvaW5zZXJ0ZXJzX2V4dHJhY3RvcnMvY2hhci8xLmNjOiBOZXcuCgkqIDIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL2luc2VydGVyc19leHRyYWN0b3JzL2NoYXIvNC5jYzogTmV3LgoJKiAyMV9zdHJpbmdzL2Jhc2ljX3N0cmluZy9pbnNlcnRlcnNfZXh0cmFjdG9ycy9jaGFyLzUuY2M6IE5ldy4KCSogMjFfc3RyaW5ncy9iYXNpY19zdHJpbmcvaW5zZXJ0ZXJzX2V4dHJhY3RvcnMvY2hhci82LmNjOiBOZXcuCgkqIDIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL2luc2VydGVyc19leHRyYWN0b3JzL2NoYXIvNy5jYzogTmV3LgoJKiAyMV9zdHJpbmdzL2Jhc2ljX3N0cmluZy9pbnNlcnRlcnNfZXh0cmFjdG9ycy9jaGFyLzguY2M6IE5ldy4KCSogMjFfc3RyaW5ncy9iYXNpY19zdHJpbmcvaW5zZXJ0ZXJzX2V4dHJhY3RvcnMvY2hhci85LmNjOiBOZXcuCgkqIDIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL2luc2VydGVyc19leHRyYWN0b3JzL3djaGFyX3QvMS5jYzogTmV3LgoJKiAyMV9zdHJpbmdzL2Jhc2ljX3N0cmluZy9pbnNlcnRlcnNfZXh0cmFjdG9ycy93Y2hhcl90LzQuY2M6IE5ldy4KCSogMjFfc3RyaW5ncy9iYXNpY19zdHJpbmcvaW5zZXJ0ZXJzX2V4dHJhY3RvcnMvd2NoYXJfdC81LmNjOiBOZXcuCgkqIDIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL2luc2VydGVyc19leHRyYWN0b3JzL3djaGFyX3QvNi5jYzogTmV3LgoJKiAyMV9zdHJpbmdzL2Jhc2ljX3N0cmluZy9pbnNlcnRlcnNfZXh0cmFjdG9ycy93Y2hhcl90LzcuY2M6IE5ldy4KCSogMjFfc3RyaW5ncy9iYXNpY19zdHJpbmcvaW5zZXJ0ZXJzX2V4dHJhY3RvcnMvd2NoYXJfdC84LmNjOiBOZXcuCgkqIDIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL2luc2VydGVyc19leHRyYWN0b3JzL3djaGFyX3QvOS5jYzogTmV3LgoJKiAyMV9zdHJpbmdzL2Jhc2ljX3N0cmluZy9vcGVyYXRvcnMvY2hhci8xLmNjOiBOZXcuCgkqIDIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL29wZXJhdG9ycy9jaGFyLzIuY2M6IE5ldy4KCSogMjFfc3RyaW5ncy9iYXNpY19zdHJpbmcvb3BlcmF0b3JzL3djaGFyX3QvMS5jYzogTmV3LgoJKiAyMV9zdHJpbmdzL2Jhc2ljX3N0cmluZy9vcGVyYXRvcnMvd2NoYXJfdC8yLmNjOiBOZXcuCgkqIDIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL3JlcGxhY2UvY2hhci8xLmNjOiBOZXcuCgkqIDIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL3JlcGxhY2UvY2hhci8yLmNjOiBOZXcuCgkqIDIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL3JlcGxhY2UvY2hhci8zLmNjOiBOZXcuCgkqIDIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL3JlcGxhY2UvY2hhci80LmNjOiBOZXcuCgkqIDIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL3JlcGxhY2UvY2hhci81LmNjOiBOZXcuCgkqIDIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL3JlcGxhY2Uvd2NoYXJfdC8xLmNjOiBOZXcuCgkqIDIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL3JlcGxhY2Uvd2NoYXJfdC8yLmNjOiBOZXcuCgkqIDIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL3JlcGxhY2Uvd2NoYXJfdC8zLmNjOiBOZXcuCgkqIDIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL3JlcGxhY2Uvd2NoYXJfdC80LmNjOiBOZXcuCgkqIDIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL3JlcGxhY2Uvd2NoYXJfdC81LmNjOiBOZXcuCgkqIDIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL3JmaW5kL2NoYXIvMS5jYzogTmV3LgoJKiAyMV9zdHJpbmdzL2Jhc2ljX3N0cmluZy9yZmluZC9jaGFyLzIuY2M6IE5ldy4KCSogMjFfc3RyaW5ncy9iYXNpY19zdHJpbmcvcmZpbmQvY2hhci8zLmNjOiBOZXcuCgkqIDIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL3JmaW5kL3djaGFyX3QvMS5jYzogTmV3LgoJKiAyMV9zdHJpbmdzL2Jhc2ljX3N0cmluZy9yZmluZC93Y2hhcl90LzIuY2M6IE5ldy4KCSogMjFfc3RyaW5ncy9iYXNpY19zdHJpbmcvcmZpbmQvd2NoYXJfdC8zLmNjOiBOZXcuCgkqIDIxX3N0cmluZ3MvYmFzaWNfc3RyaW5nL3N1YnN0ci9jaGFyLzEuY2M6IE5ldy4KCSogMjFfc3RyaW5ncy9iYXNpY19zdHJpbmcvc3Vic3RyL3djaGFyX3QvMS5jYzogTmV3LgoJKiAyMV9zdHJpbmdzL2Nfc3RyaW5ncy9jaGFyLzEuY2M6IE5ldy4KCSogMjFfc3RyaW5ncy9jX3N0cmluZ3MvY2hhci8yLmNjOiBOZXcuCgkqIDIxX3N0cmluZ3MvY19zdHJpbmdzL3djaGFyX3QvMS5jYzogTmV3LgoJKiAyMV9zdHJpbmdzL2Nfc3RyaW5ncy93Y2hhcl90LzIuY2M6IE5ldy4KCSogMjFfc3RyaW5ncy9jaGFyX3RyYWl0cy9yZXF1aXJlbWVudHMvY2hhci8xLmNjOiBOZXcuCgkqIDIxX3N0cmluZ3MvY2hhcl90cmFpdHMvcmVxdWlyZW1lbnRzL3djaGFyX3QvMS5jYzogTmV3LgoJKiAyMV9zdHJpbmdzL2NoYXJfdHJhaXRzL3R5cGVkZWZzL2NoYXIvMS5jYzogTmV3LgoKMjAwMy0wMy0xNyAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCSAgICBQZXR1ciBSdW5vbGZzc29uICA8cGV0dXJyMDJAcnUuaXM+CgoJUFIgbGlic3RkYysrLzEwMDk3CgkqIHNyYy9mc3RyZWFtLmNjIChiYXNpY19maWxlYnVmPGNoYXI+OjpfTV91bmRlcmZsb3dfY29tbW9uLAoJYmFzaWNfZmlsZWJ1Zjx3Y2hhcl90Pjo6X01fdW5kZXJmbG93X2NvbW1vbik6CglpZiAoZ3B0cigpIDwgZWdwdHIoKSkgcmV0dXJuICpncHRyKCkuCgkqIHRlc3RzdWl0ZS8yN19pby9maWxlYnVmX3ZpcnR1YWxzLmNjICh0ZXN0MTYpOiBBZGQuCgoJKiB0ZXN0c3VpdGUvMjdfaW8vZmlsZWJ1Zl9tZW1iZXJzLmNjICh0ZXN0XzA0KTogTWlub3IKCWNoYW5nZXM6IHVubGluayBmaWZvIGJlZm9yZSBtYWtpbmcgaXQsIGZpeCBzcGVsbGluZyBlcnJvci4KCjIwMDMtMDMtMTcgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIHRlc3RzdWl0ZS9NYWtlZmlsZS5hbSAoQ0xFQU5GSUxFUyk6IEFkZCB0bXAqLgoJKiB0ZXN0c3VpdGUvTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkqIHRlc3RzdWl0ZS8yN19pby9maWxlYnVmX21lbWJlcnMuY2M6IENvbnNpc3RlbnRseSBuYW1lIHRtcCBmaWxlcy4KCUNsZWFudXBzLgoKMjAwMy0wMy0xNyAgUGV0dXIgUnVub2xmc3NvbiAgPHBldHVycjAyQHJ1LmlzPgoKCVBSIGxpYnN0ZGMrKy85OTY0CgkqIGluY2x1ZGUvYml0cy9mc3RyZWFtLnRjYyAoYmFzaWNfZmlsZWJ1Zjo6Y2xvc2UpOgoJQWx3YXlzIGNsb3NlIGZpbGUsIGV2ZW4gd2hlbiB3cml0ZSBmYWlscy4KCSogdGVzdHN1aXRlLzI3X2lvL2ZpbGVidWZfbWVtYmVycy5jYyAodGVzdF8wNyk6ICBOZXcgdGVzdC4KCjIwMDMtMDMtMTcgIERhbm55IFNtaXRoICA8ZGFubnlzbWl0aEB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBsaWJzdXBjKysvTWFrZWZpbGUuYW0gKENfQ09NUElMRSk6IFJlbW92ZS4KCShMVENPTVBJTEUpOiBMaWtld2lzZS4KCSogbGlic3VwYysrL01ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoKMjAwMy0wMy0xNCAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogdGVzdHN1aXRlLzIzX2NvbnRhaW5lcnMvYml0c2V0X21lbWJlcnMuY2M6IEFkZCB0ZXN0IHZhcmlhYmxlLgoJKiB0ZXN0c3VpdGUvMjNfY29udGFpbmVycy9tYXBfaW5zZXJ0LmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2N0eXBlL2NvbnMvY2hhci8xLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvZGVjdnQvbWF4X2xlbmd0aC93Y2hhcl90LzEuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29kZWN2dC9tYXhfbGVuZ3RoL3djaGFyX3QvMi5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0L21heF9sZW5ndGgvd2NoYXJfdC8zLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvZGVjdnQvbWF4X2xlbmd0aC93Y2hhcl90LzQuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29kZWN2dC9hbHdheXNfbm9jb252L3djaGFyX3QvMS5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0L2Fsd2F5c19ub2NvbnYvd2NoYXJfdC8yLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvZGVjdnQvYWx3YXlzX25vY29udi93Y2hhcl90LzMuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29kZWN2dC9hbHdheXNfbm9jb252L3djaGFyX3QvNC5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzI3X2lvL2lzdHJlYW1fZXhjZXB0aW9uLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjdfaW8vZmlsZWJ1Zl92aXJ0dWFscy5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzI3X2lvL3N0cmluZ2J1Zl92aXJ0dWFscy5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzI3X2lvL29zdHJlYW1faW5zZXJ0ZXJfYXJpdGguY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yNl9udW1lcmljcy92YWxhcnJheV9vcGVyYXRvcnMuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yNl9udW1lcmljcy9zbGljZS5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzI2X251bWVyaWNzL3NsaWNlX2FycmF5X2Fzc2lnbm1lbnQuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yNF9pdGVyYXRvcnMvaXN0cmVhbV9pdGVyYXRvci5jYzogU2FtZS4KCSogbWtjaGVjay5pbiAoVEVTVFNfRklMRSk6IFVzZSBkZWphZ251LWdlbmVyYXRlZCBmaWxlIGlmIHBvc3NpYmxlLgoKMjAwMy0wMy0xNCAgUGV0dXIgUnVub2xmc3NvbiAgPHBldHVycjAyQHJ1LmlzPgoKCVBSIGxpYnN0ZGMrKy85NTgxCglQUiBsaWJzdGRjKysvOTg3MAoJKiBjb25maWcvbG9jYWxlL2dlbmVyaWMvY3R5cGVfbWVtYmVycy5jYywKCSogY29uZmlnL2xvY2FsZS9nbnUvY3R5cGVfbWVtYmVycy5jYwoJKGN0eXBlPHdjaGFyX3Q+Ojpkb193aWRlbihjaGFyKSk6ICBDYXN0IGFyZ3VtZW50IHRvCgl1bnNpZ25lZCBjaGFyIGJlZm9yZSBwYXNzaW5nIHRvIGJ0b3djLgoJKGN0eXBlPHdjaGFyX3Q+Ojpkb193aWRlbihjb25zdCBjaGFyKiwgY29uc3QgY2hhciosIHdjaGFyX3QqKSk6CglDb252ZXJ0IGNoYXJhY3RlcnMgd2l0aCBidG93YyBpbnN0ZWFkIG9mIG1ic3J0b3djcy4KCShjdHlwZTx3Y2hhcl90Pjo6ZG9fbmFycm93KGNvbnN0IHdjaGFyX3QqLCBjb25zdCB3Y2hhcl90KiwKCWNoYXIsIGNoYXIqKToKCUNvbnZlcnQgY2hhcmFjdGVycyB3aXRoIHdjdG9iIGluc3RlYWQgb2Ygd2NzcnRvbWJzLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2N0eXBlL25hcnJvdy93Y2hhcl90LzMuY2M6ICBOZXcgdGVzdC4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jdHlwZS93aWRlbi93Y2hhcl90LzIuY2M6ICBOZXcgdGVzdC4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jdHlwZS93aWRlbi93Y2hhcl90LzMuY2M6ICBOZXcgdGVzdC4KCjIwMDMtMDMtMTQgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvc3RkYysrLmg6IE5ldy4KCSogbGlic3VwYysrL2V4Y2VwdGlvbl9kZWZpbmVzLmggKF9fRVhDRVBUSU9OX0RFRklORVNfSCk6IEFkZCBndWFyZC4KCSogaW5jbHVkZS9NYWtlZmlsZS5hbSAoc3RhbXAtc3RkLXByZWNvbXBpbGUpOiBHZW5lcmF0ZSBzdGRjKysuaC5nY2gKCSogaW5jbHVkZS9NYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCSogdGVzdHN1aXRlX2ZsYWdzLmluICgtLWJ1aWxkLWN4eCk6IEFkZCwgYnV0IGRvbid0IHVzZSBQQ0hGTEFHUy4KCSgtLWN4eGZsYWdzKTogUHV0IC1nIC1PMiBoZXJlLgoJKiB0ZXN0c3VpdGUvbGlic3RkYysrLXYzLmRnL2RnLmV4cDogUmVtb3ZlIC1nIC1PMiBoZXJlLgoKMjAwMy0wMy0xNCAgTG9yZW4gSi4gUml0dGxlICA8bGpyaXR0bGVAYWNtLm9yZz4KCgkqIHRlc3RzdWl0ZS90ZXN0c3VpdGVfaG9va3MuaDogU3VwcHJlc3MgcnVudGltZSBleGNlcHRpb24gdGhyb3duIGJ5CgltaXNzaW5nIG5hbWVkIGxvY2FsZS4KCjIwMDMtMDMtMTQgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBjb25maWd1cmUuaW46IE9ubHkgYXBwZW5kIHRvIG1ha2VmaWxlcyB0aGF0IGFyZSBuZXdseSBjcmVhdGVkIHRvCglhdm9pZCBtdWx0aXBsZSBtdWx0aS1kby9tdWx0aS1jbGVhbiBydWxlcy4KCSogY29uZmlndXJlOiBSZWJ1aWx0LgoKMjAwMy0wMy0xMyAgSm9uYXRoYW4gV2FrZWx5ICA8cmVkaUBnY2MuZ251Lm9yZz4KCgkqIGRvY3MvaHRtbC9jb25maWdvcHRzLmh0bWwsIGRvY3MvaHRtbC9kb2N1bWVudGF0aW9uLmh0bWwsCglkb2NzL2h0bWwvZXhwbGFuYXRpb25zLmh0bWwsIGRvY3MvaHRtbC9pbnN0YWxsLmh0bWwsCglkb2NzL2h0bWwvMTlfZGlhZ25vc3RpY3MvaG93dG8uaHRtbCwgZG9jcy9odG1sL2ZhcS9pbmRleC5odG1sOiBGaXgKCWludmFsaWQgWEhUTUwgYW5kIG1ha2UgcGFnZSBoZWFkZXIgc3R5bGUgY29uc2lzdGVudC4KCjIwMDMtMDMtMTIgIEpvbmF0aGFuIFdha2VseSAgPHJlZGlAZ2NjLmdudS5vcmc+CgoJKiBkb2NzL2h0bWwvZmFxL2luZGV4Lmh0bWw6IEV4cGxhaW4gbWVtb3J5ICJsZWFrcyIgZHVlIHRvIGFsbG9jYXRvcnMuCgkqIGRvY3MvaHRtbC9mYXEvaW5kZXgudHh0OiBSZWdlbmVyYXRlLgoJKiBkb2NzL2h0bWwvZGVidWcuaHRtbDogQWRkIGEgYml0IHRvIGFsbG9jYXRvciB0ZXh0IGFuZCBmaXggWEhUTUwuCgoyMDAzLTAzLTEyICBBbmRyZWFzIFNjaHdhYiAgPHNjaHdhYkBzdXNlLmRlPgoKCSogYWNpbmNsdWRlLm00IChHTElCQ1BQX0VYUE9SVF9JTlNUQUxMX0lORk8pOiBBdm9pZCB0cmFpbGluZyAvLiBpbgoJZ2xpYmNwcF90b29sZXhlY2xpYmRpci4KCSogYWNsb2NhbC5tNCwgY29uZmlndXJlOiBSZWJ1aWx0LgoKMjAwMy0wMy0xMSAgSm9uYXRoYW4gV2FrZWx5ICA8cmVkaUBnY2MuZ251Lm9yZz4KCgkqIGRvY3MvaHRtbC9mYXEvaW5kZXguaHRtbDogVXBkYXRlIHRleHQgYWJvdXQgbG9jYXRpb24gb2YgaGVhZGVycy4KCSogZG9jcy9odG1sL2ZhcS9pbmRleC50eHQ6IFJlZ2VuZXJhdGUuCgoyMDAzLTAzLTExICBDYXJsbyBXb29kICA8Y2FybG9AYWxpbm9lLmNvbT4KCgkqIGluY2x1ZGUvYml0cy9kZW1hbmdsZS5oOiBQcmVwZW5kIGFjY2Vzc29ycyBvZgoJY2xhc3MgcXVhbGlmaWVyIHdpdGggJ2dldF8nIGluIG9yZGVyIHRvIGZpeCB3YXJuaW5ncwoJd2hlbiBjb21waWxpbmcgd2l0aCAtV3NoYWRvdy4KCjIwMDMtMDMtMTEgIExvcmVuIEouIFJpdHRsZSAgPGxqcml0dGxlQGFjbS5vcmc+CgoJKiBjb25maWcvb3MvYnNkL2ZyZWVic2QvY3R5cGVfaW5saW5lLmg6ICBTdXBwb3J0IF9NX3RhYmxlCgl3aGVuIHNvIGluc3RhbGxlZC4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jdHlwZS9jb25zL2NoYXIvMS5jYzogRml4IHR5cG8uCgoJKiB0ZXN0c3VpdGUvdGVzdHN1aXRlX2hvb2tzLmggKHJ1bl90ZXN0c193cmFwcGVkX2Vudik6IERvIG5vdAoJcmVwb3J0IGxhY2sgb2Ygc2V0ZW52KCkuCgoyMDAzLTAzLTA5ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogY29uZmlnL2lvL2Jhc2ljX2ZpbGVfc3RkaW8uY2M6IGluY2x1ZGUgPHVuaXN0ZC5oPi4KCjIwMDMtMDMtMDkgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgkgICAgTmF0aGFuIE15ZXJzICA8bmNtQGNhbnRyaXAub3JnPgoKCVBSIGxpYnN0ZGMrKy83NzQ0CgkqIGNvbmZpZy9pby9iYXNpY19maWxlX3N0ZGlvLmggKF9fYmFzaWNfZmlsZTw+Ojp4c2dldG4sIHhzcHV0biwKCXNlZWtvZmYsIHNlZWtwb3MpOiBBZGQgYSBib29sZWFuIHBhcmFtZXRlciBfX3N0ZGlvLgoJKiBjb25maWcvaW8vYmFzaWNfZmlsZV9zdGRpby5jYyAoX19iYXNpY19maWxlPD46OnhzZ2V0biwgeHNwdXRuLAoJc2Vla29mZiwgc2Vla3Bvcyk6IElmIF9fc3RkaW8gPT0gdHJ1ZSwgdXNlIGZyZWFkIChmd3JpdGUsIGZzZWVrL2Z0ZWxsLAoJZnNlZWsvZnRlbGwsIHJlc3BlY3RpdmVseSksIG90aGVyd2lzZSByZWFkICh3cml0ZSwgbHNlZWssIGxzZWVrLAoJcmVzcGVjdGl2ZWx5KS4KCSogaW5jbHVkZS9iaXRzL2ZzdHJlYW0udGNjIChiYXNpY19maWxlYnVmPD46Ol9NX2NvbnZlcnRfdG9fZXh0ZXJuYWwsCglfTV9yZWFsbHlfb3ZlcmZsb3csIHNlZWtvZmYpOiBVc2UgdGhlIGJvb2xlYW4gcGFyYW1ldGVyIGluIHRoZSBjYWxscy4KCSogaW5jbHVkZS9zdGQvc3RkX2ZzdHJlYW0uaCAoc3luYyk6IExpa2V3aXNlLgoJKiBzcmMvZnN0cmVhbS5jYyAoYmFzaWNfZmlsZWJ1Zjw+OjpfTV91bmRlcmZsb3dfY29tbW9uKTogTGlrZXdpc2UuCgkqIHNyYy9pb3MuY2MgKGlvc19iYXNlOjpJbml0OjpfU19pb3NfY3JlYXRlKGJvb2wpKTogUmV2ZXJ0CglsaWJzdGRjKysvODM5OSBjb21taXQgaW52b2x2aW5nIGlzYXR0eSgwKS4KCSogYWNpbmNsdWRlLm00IChHTElCQ1BQX0NIRUNLX1VOSVNURF9ERUNMX0FORF9MSU5LQUdFXzEpOiBSZW1vdmUuCgkoR0xJQkNQUF9DSEVDS19VTklTVERfU1VQUE9SVCk6IFJlbW92ZQoJKiBjb25maWd1cmUuaW46IFJlbW92ZSBjYWxsLgoJKiBhY2xvY2FsLm00OiBSZWdlbmVyYXRlLgoJKiBjb25maWcuaC5pbjogUmVnZW5lcmF0ZS4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlLgoJKiB0ZXN0c3VpdGUvMjdfaW8vbmFycm93X3N0cmVhbV9vYmplY3RzLmNjICh0ZXN0MTEpOiBBZGQuCgoyMDAzLTAzLTA5ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCVBSIGxpYnN0ZGMrKy85OTg4CgkqIGluY2x1ZGUvYml0cy9mc3RyZWFtLnRjYyAob3ZlcmZsb3cpOiBkb24ndCB3cml0ZSBFT0YgdG8gZmlsZS4KCSogdGVzdHN1aXRlLzI3X2lvL2ZpbGVidWZfdmlydHVhbHMuY2MgKHRlc3QxNSk6IEFkZC4KCjIwMDMtMDMtMDggIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCVBSIGxpYnN0ZGMrKy85NTYxCgkqIGluY2x1ZGUvYml0cy9iYXNpY19pb3MuaCAoX01fc2V0c3RhdGUpOiBOZXcuCgkqIGluY2x1ZGUvYml0cy9vc3RyZWFtLnRjYyAob3BlcmF0b3I8PCk6IFVzZSBpdC4KCSogaW5jbHVkZS9iaXRzL2lzdHJlYW0udGNjIChvcGVyYXRvcj4+KTogVXNlIGl0LgoJKiBpbmNsdWRlL3N0ZC9zdGRfb3N0cmVhbS5oIChvcGVyYXRvcjw8KTogTWFrZSBmcmllbmRzLgoJKiBpbmNsdWRlL3N0ZC9zdGRfaXN0cmVhbS5oIChvcGVyYXRvcj4+KTogTWFrZSBmcmllbmRzLgoJKiB0ZXN0c3VpdGUvMjdfaW8vb3N0cmVhbV9leGNlcHRpb24uY2MsCgl0ZXN0c3VpdGUvMjdfaW8vaXN0cmVhbV9leGNlcHRpb24uY2M6IE5ldyB0ZXN0cy4KCjIwMDMtMDMtMDggIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLnRjYzogRml4IHR5cG8uCgoyMDAzLTAzLTA4ICBMb3JlbiBKLiBSaXR0bGUgIDxsanJpdHRsZUBhY20ub3JnPgoKCSogdGVzdHN1aXRlLzI2X251bWVyaWNzL2M5OV9jbGFzc2lmaWNhdGlvbl9tYWNyb3NfYy5jYzogVHdlYWsgdGVzdC4KCgkqIGNvbmZpZy9sb2NhbGUvZ2VuZXJpYy9jX2xvY2FsZS5jYwoJKGxvY2FsZTo6ZmFjZXQ6Ol9TX2NyZWF0ZV9jX2xvY2FsZSk6IFRocm93IHJ1bnRpbWUgZXhjZXB0aW9uIHdoZW4KCXVuc3VwcG9ydGVkIGxhbmd1YWdlIGlzIHNwZWNpZmllZC4KCSogdGVzdHN1aXRlL3Rlc3RzdWl0ZV9ob29rcy5oCgkocnVuX3Rlc3Rfd3JhcHBlZF9nZW5lcmljX2xvY2FsZV9leGNlcHRpb25fY2F0Y2hlcik6IE5ldyBmdW5jdGlvbi4KCSogdGVzdHN1aXRlL3Rlc3RzdWl0ZV9ob29rcy5jYyAocnVuX3Rlc3RzX3dyYXBwZWRfbG9jYWxlKToKCVN1cHByZXNzIHJ1bnRpbWUgZXhjZXB0aW9uIHRocm93biBieSBnZW5lcmljIGltcGxlbWVudGF0aW9uLgoJKHJ1bl90ZXN0c193cmFwcGVkX2Vudik6IExpa2V3aXNlLgoJKHJ1bl90ZXN0X3dyYXBwZWRfZ2VuZXJpY19sb2NhbGVfZXhjZXB0aW9uX2NhdGNoZXIpOiBOZXcgZnVuY3Rpb24uCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29sbGF0ZS9jb21wYXJlL2NoYXIvMS5jYzogTmV3IHRlc3Qgd3JhcC4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2xsYXRlL2NvbXBhcmUvY2hhci8yLmNjOiBOZXcgdGVzdCB3cmFwLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvbGxhdGUvY29tcGFyZS9jaGFyLzMuY2M6IE5ldyB0ZXN0IHdyYXAuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29sbGF0ZS9oYXNoL2NoYXIvMi5jYzogTmV3IHRlc3Qgd3JhcC4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2xsYXRlL3RyYW5zZm9ybS9jaGFyLzIuY2M6IE5ldyB0ZXN0IHdyYXAuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29sbGF0ZS90cmFuc2Zvcm0vY2hhci8zLmNjOiBOZXcgdGVzdCB3cmFwLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvbGxhdGVfYnluYW1lLzEuY2M6IE5ldyB0ZXN0IHdyYXAuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY3R5cGUvaXMvY2hhci8yLmNjOiBOZXcgdGVzdCB3cmFwLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2ZhY2V0LzIuY2M6IE5ldyB0ZXN0IHdyYXAuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbG9jYWxlL2NvbnMvNC5jYzogTmV3IHRlc3Qgd3JhcC4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9sb2NhbGUvY29ucy81LmNjOiBOZXcgdGVzdCB3cmFwLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2xvY2FsZS9jb25zLzcuY2M6IE5ldyB0ZXN0IHdyYXAuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbWVzc2FnZXMvbWVtYmVycy9jaGFyLzEuY2M6IE5ldyB0ZXN0IHdyYXAuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbWVzc2FnZXMvbWVtYmVycy9jaGFyLzIuY2M6IE5ldyB0ZXN0IHdyYXAuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbWVzc2FnZXMvbWVtYmVycy9jaGFyLzMuY2M6IE5ldyB0ZXN0IHdyYXAuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbWVzc2FnZXNfYnluYW1lLzEuY2M6IE5ldyB0ZXN0IHdyYXAuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbW9uZXlfZ2V0L2dldC9jaGFyLzEuY2M6IE5ldyB0ZXN0IHdyYXAuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbW9uZXlfZ2V0L2dldC9jaGFyLzIuY2M6IE5ldyB0ZXN0IHdyYXAuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbW9uZXlfZ2V0L2dldC9jaGFyLzMuY2M6IE5ldyB0ZXN0IHdyYXAuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbW9uZXlfZ2V0L2dldC9jaGFyLzQuY2M6IE5ldyB0ZXN0IHdyYXAuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbW9uZXlfcHV0L3B1dC9jaGFyLzEuY2M6IE5ldyB0ZXN0IHdyYXAuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbW9uZXlfcHV0L3B1dC9jaGFyLzIuY2M6IE5ldyB0ZXN0IHdyYXAuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbW9uZXlfcHV0L3B1dC9jaGFyLzMuY2M6IE5ldyB0ZXN0IHdyYXAuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbW9uZXlwdW5jdC9tZW1iZXJzL2NoYXIvMi5jYzogTmV3IHRlc3Qgd3JhcC4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9tb25leXB1bmN0X2J5bmFtZS8xLmNjOiBOZXcgdGVzdCB3cmFwLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL251bV9nZXQvZ2V0L2NoYXIvMS5jYzogTmV3IHRlc3Qgd3JhcC4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9udW1fZ2V0L2dldC9jaGFyLzIuY2M6IE5ldyB0ZXN0IHdyYXAuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtX2dldC9nZXQvY2hhci8zLmNjOiBOZXcgdGVzdCB3cmFwLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL251bV9nZXQvZ2V0L2NoYXIvNS5jYzogTmV3IHRlc3Qgd3JhcC4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9udW1fZ2V0L2dldC9jaGFyLzYuY2M6IE5ldyB0ZXN0IHdyYXAuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtX3B1dC9wdXQvY2hhci8xLmNjOiBOZXcgdGVzdCB3cmFwLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL251bV9wdXQvcHV0L2NoYXIvMi5jYzogTmV3IHRlc3Qgd3JhcC4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9udW1fcHV0L3B1dC9jaGFyLzMuY2M6IE5ldyB0ZXN0IHdyYXAuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtX3B1dC9wdXQvY2hhci81LmNjOiBOZXcgdGVzdCB3cmFwLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL251bXB1bmN0L21lbWJlcnMvY2hhci8xLmNjOiBOZXcgdGVzdCB3cmFwLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL251bXB1bmN0L21lbWJlcnMvY2hhci8yLmNjOiBOZXcgdGVzdCB3cmFwLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL251bXB1bmN0X2J5bmFtZS8xLmNjOiBOZXcgdGVzdCB3cmFwLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL251bXB1bmN0X2J5bmFtZS8yLmNjOiBOZXcgdGVzdCB3cmFwLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL3RpbWVfZ2V0L2RhdGVfb3JkZXIvY2hhci8xLmNjOiBOZXcgdGVzdCB3cmFwLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL3RpbWVfZ2V0L2dldF9kYXRlL2NoYXIvMS5jYzogTmV3IHRlc3Qgd3JhcC4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS90aW1lX2dldC9nZXRfZGF0ZS9jaGFyLzIuY2M6IE5ldyB0ZXN0IHdyYXAuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvdGltZV9nZXQvZ2V0X21vbnRobmFtZS9jaGFyLzEuY2M6IE5ldyB0ZXN0IHdyYXAuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvdGltZV9nZXQvZ2V0X21vbnRobmFtZS9jaGFyLzIuY2M6IE5ldyB0ZXN0IHdyYXAuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvdGltZV9nZXQvZ2V0X3RpbWUvY2hhci8xLmNjOiBOZXcgdGVzdCB3cmFwLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL3RpbWVfZ2V0L2dldF90aW1lL2NoYXIvMi5jYzogTmV3IHRlc3Qgd3JhcC4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS90aW1lX2dldC9nZXRfd2Vla2RheS9jaGFyLzEuY2M6IE5ldyB0ZXN0IHdyYXAuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvdGltZV9nZXQvZ2V0X3dlZWtkYXkvY2hhci8yLmNjOiBOZXcgdGVzdCB3cmFwLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL3RpbWVfZ2V0L2dldF95ZWFyL2NoYXIvMS5jYzogTmV3IHRlc3Qgd3JhcC4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS90aW1lX3B1dC9wdXQvY2hhci8xLmNjOiBOZXcgdGVzdCB3cmFwLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL3RpbWVfcHV0L3B1dC9jaGFyLzIuY2M6IE5ldyB0ZXN0IHdyYXAuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvdGltZV9wdXQvcHV0L2NoYXIvMy5jYzogTmV3IHRlc3Qgd3JhcC4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS90aW1lX3B1dC9wdXQvY2hhci80LmNjOiBOZXcgdGVzdCB3cmFwLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL3RpbWVfcHV0L3B1dC9jaGFyLzUuY2M6IE5ldyB0ZXN0IHdyYXAuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvdGltZV9wdXQvcHV0L2NoYXIvNi5jYzogTmV3IHRlc3Qgd3JhcC4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS90aW1lX3B1dC9wdXQvY2hhci83LmNjOiBOZXcgdGVzdCB3cmFwLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL3RpbWVfcHV0L3B1dC9jaGFyLzguY2M6IE5ldyB0ZXN0IHdyYXAuCgkqIHRlc3RzdWl0ZS8yN19pby9maWxlYnVmX3ZpcnR1YWxzLmNjOiBOZXcgdGVzdCB3cmFwLgoJKiB0ZXN0c3VpdGUvMjdfaW8vaW9zX21lbWJlcnMuY2M6IE5ldyB0ZXN0IHdyYXAuCgkqIHRlc3RzdWl0ZS8yN19pby9vc3RyZWFtX2luc2VydGVyX2FyaXRoLmNjICh0ZXN0MDIpOiBNYWtlIHZvaWQuCglOZXcgdGVzdCB3cmFwLgoJKiB0ZXN0c3VpdGUvMjdfaW8vc3RyZWFtYnVmX21lbWJlcnMuY2M6IE5ldyB0ZXN0IHdyYXAuCgkqIHRlc3RzdWl0ZS8yN19pby9zdHJpbmdidWZfdmlydHVhbHMuY2M6IE5ldyB0ZXN0IHdyYXAuCgoyMDAzLTAzLTA4ICBQYW9sbyBDYXJsaW5pIDxwY2FybGluaUB1bml0dXMuaXQ+CgkgICAgUGV0dXIgUnVub2xmc3NvbiAgPHBldHVycjAyQHJ1LmlzPgoKCVBSIGxpYnN0ZGMrKy85NDI0CgkqIGluY2x1ZGUvYml0cy9zdHJlYW1idWYudGNjIChfX2NvcHlfc3RyZWFtYnVmcyk6IFVzZQoJc2dldG4tc3B1dG4gb25seSB3aGVuIHNwdXRuIGNhbm5vdCBmYWlsLCBvdGhlcndpc2UgZmFsbCBiYWNrCgl0byBzYWZlIHNuZXh0Yy1zcHV0Yy4KCSogdGVzdHN1aXRlLzI3X2lvL3N0cmVhbWJ1Zl9tZW1iZXJzLmNjICh0ZXN0MTEsIHRlc3QxMik6IEFkZC4KCjIwMDMtMDMtMDggIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjIChudW1fcHV0Ojpkb19wdXQoYm9vbCkpOiBVc2UKCWxvY2FsZSBjYWNoZSBmb3IgdHJ1ZW5hbWUgYW5kIGZhbHNlbmFtZS4KCjIwMDMtMDMtMDggIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCSogc3JjL2lvcy5jYyAoaW9zX2Jhc2U6Omlvc19iYXNlKTogQ29ycmVjdCBvcmRlciBvZiBfTV93b3JkIGFuZAoJX01fd29yZF9zaXplIGluaXRpYWxpemF0aW9uLgoKMjAwMy0wMy0wNyAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIGluY2x1ZGUvYml0cy9mc3RyZWFtLnRjYyAoX01fY29udmVydF90b19leHRlcm5hbCk6CglTZXQgX19lbGVuIHRvIHplcm8gaWYgY29kZWN2dDo6b3V0IGV2ZW50dWFsbHkgZmFpbHMuCgoyMDAzLTAzLTA3ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCVBSIGxpYnN0ZGMrKy85MTgyCgkqIGluY2x1ZGUvYml0cy9mc3RyZWFtLnRjYyAoX01fcmVhbGx5X292ZXJmbG93KTogQ2hlY2sKCWZvciBfTV9jb252ZXJ0X3RvX2V4dGVybmFsIHBvc3NpYmxlIGZhaWx1cmVzLgoJKiBpbmNsdWRlL3N0ZC9zdGRfZnN0cmVhbS5oIChzeW5jKTogQ2hlY2sgX01fcmVhbGx5X292ZXJmbG93CglyZXR1cm4gdmFsdWUgYW5kIHJldHVybiAtMSBpbiBjYXNlIG9mIGZhaWx1cmUuCgkqIHRlc3RzdWl0ZS8yN19pby9maWxlYnVmX3ZpcnR1YWxzLmNjICh0ZXN0MTMsIHRlc3QxNCk6IEFkZC4KCjIwMDMtMDMtMDcgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJUFIgbGlic3RkYysrLzk4MjYKCSogaW5jbHVkZS9iaXRzL2lzdHJlYW0udGNjIChvcGVyYXRvcj4+KF9DaGFyVCopLAoJb3BlcmF0b3I+PihiYXNpY19zdHJpbmcmKSwgd3MpOiBQYXNzIGEgY2hhcl90eXBlIHRvIF9fY3R5cGUuaXMuCgkqIHRlc3RzdWl0ZS8yN19pby9zdHJpbmdzdHJlYW0uY2MgKHRlc3QwMik6IEFkZC4KCgkqIGluY2x1ZGUvYml0cy9pc3RyZWFtLnRjYyAob3BlcmF0b3I+PihfQ2hhclQqKSk6CglBc3NpZ24gYSBjaGFyX3R5cGUgdG8gKl9fcy4KCjIwMDMtMDMtMDcgIFBldHVyIFJ1bm9sZnNzb24gIDxwZXR1cnIwMkBydS5pcz4KCglQUiBsaWJzdGRjKysvOTgxNwoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy50Y2MKCShjb2xsYXRlOjpkb19jb21wYXJlLCBjb2xsYXRlOjpkb190cmFuc2Zvcm0pOgoJSGFuZGxlIG51bCBjaGFyYWN0ZXJzIGluIGlucHV0LgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvbGxhdGUvY29tcGFyZS9jaGFyLzMuY2M6ICBOZXcgdGVzdC4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2xsYXRlL2NvbXBhcmUvd2NoYXJfdC8zLmNjOiAgTmV3IHRlc3QuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29sbGF0ZS90cmFuc2Zvcm0vY2hhci8zLmNjOiAgTmV3IHRlc3QuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29sbGF0ZS90cmFuc2Zvcm0vd2NoYXJfdC8zLmNjOiAgTmV3IHRlc3QuCgoyMDAzLTAzLTA3ICBKZXJyeSBRdWlubiAgPGpscXVpbm5Ab3B0b25saW5lLm5ldD4KCgkqIGluY2x1ZGUvYml0cy9zdHJlYW1idWZfaXRlcmF0b3IuaCAoX01fcHV0KTogU2V0IF9NX2ZhaWxlZCBpZgoJc3B1dG4gZmFpbHMuCgkqIHRlc3RzdWl0ZS8yN19pby9vc3RyZWFtX2ZhaWwuY2M6IE5ldyB0ZXN0LgoKMjAwMy0wMy0wNyAgTWF0dGhpYXMgS2xvc2UgIDxkb2tvQGRlYmlhbi5vcmc+CgoJKiBNYWtlZmlsZS5hbSAoQU1fTUFLRUZMQUdTKTogQWxzbyBwYXNzIGd4eF9pbmNsdWRlX2Rpci4KCUZMQUdTX1RPX1BBU1M6IFNldCB0byBBTV9NQUtFRkxBR1MKCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkqIGxpYnN1cGMrKy9NYWtlZmlsZS5hbTogRXhwcmVzcyBnbGliY3BwaW5zdGFsbGRpciBpbiB0ZXJtcwoJb2YgZ3h4X2luY2x1ZGVfZGlyLgoJQU1fTUFLRUZMQUdTOiBQYXNzIGd4eF9pbmNsdWRlX2Rpci4KCSogbGlic3VwYysrL01ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoKMjAwMy0wMy0wNiAgSmVycnkgUXVpbm4gIDxqbHF1aW5uQG9wdG9ubGluZS5uZXQ+CgoJKiB0ZXN0c3VpdGUvMjdfaW8vaW9zX2Jhc2Vfc3RvcmFnZS5jYyAodGVzdDAyKTogU2V0IGV4Y2VwdGlvbgoJbWFzay4gIFRlc3Qgc2V0dGluZyBzbWFsbC1udW1iZXJlZCBwd29yZCBhbmQgaXdvcmQgc2xvdHMuICBUZXN0CgliZWhhdmlvciBhdCBsaW1pdCBvZiBudW1lcmljX2xpbWl0czo6bWF4LiAgQ2hlY2sgdGhhdCB2YWx1ZXMgYXJlCglzdGlsbCBnb29kIGFmdGVyIGZhaWx1cmVzLgoKMjAwMy0wMy0wNiAgSmVycnkgUXVpbm4gIDxqbHF1aW5uQG9wdG9ubGluZS5uZXQ+CgoJKiBzcmMvaW9zLmNjIChpb3NfYmFzZTo6X01faW5pdCk6IFJlbW92ZSBfTV93b3JkX3NpemUuCgkoaW9zX2Jhc2U6Omlvc19iYXNlKTogU2V0IF9NX3dvcmQsIF9NX3dvcmRfc2l6ZS4KCShpb3NfYmFzZTo6fmlvc19iYXNlKTogUmVtb3ZlIHJlZHVuZGFudCB0ZXN0LgoJKiB0ZXN0c3VpdGUvMjdfaW8vaW9zX2Jhc2Vfc3RvcmFnZS5jYyAodGVzdDAzKTogTmV3LgoKMjAwMy0wMy0wNCAgQWxleGFuZHJlIE9saXZhICA8YW9saXZhQHJlZGhhdC5jb20+CgoJKiBzcmMvc3Ryc3RyZWFtLmNjLCBpbmNsdWRlL2JpdHMvYmFzaWNfc3RyaW5nLnRjYzogUmVtb3ZlCglpbmNvcnJlY3Qgd2hpdGVzcGFjZSBhZGRlZCBpbiBteSBwcmV2aW91cyBjaGFuZ2UuCgoyMDAzLTAzLTA1ICBDYXJsbyBXb29kICA8Y2FybG9AYWxpbm9lLmNvbT4KCgkqIGluY2x1ZGUvYml0cy9pb3NfYmFzZS5oKGlvc19iYXNlOjpJbml0OjpfU19pbml0aWFsaXplZCgpKTogQWRkZWQKCV9TX2luaXRpYWxpemVkKCkgaW4gb3JkZXIgdG8gYWxsb3cgZGVidWdnaW5nIGxpYnJhcmllcyB0byBkZXRlY3QKCXdoZW4gdGhlIHN0ZCBzdHJlYW1zIGFyZSBpbml0aWFsaXplZCBmcm9tIGFuIG92ZXJsb2FkZWQgb3BlcmF0b3IKCW5ldy4KCjIwMDMtMDMtMDUgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGxpYnN1cGMrKy9kZW1hbmdsZS5oOiBNb3ZlIHRvLi4KCSogaW5jbHVkZS9iaXRzL2RlbWFuZ2xlLmg6IC4uLmhlcmUuCgkqIHNyYy9kZW1hbmdsZS5jYzogQWRqdXN0IGluY2x1ZGUuCgkqIGluY2x1ZGUvTWFrZWZpbGUuYW0gKGJpdHNfaGVhZGVycyk6IEFkZC4KCSogaW5jbHVkZS9NYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCjIwMDMtMDMtMDQgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIHNyYy9nbG9iYWxzLmNjOiBDbGFyaWZ5IGNvbW1lbnRzLCByZW1vdmUgY19sb2NhbGVfaW1wX2NvbXBhdC4KCgkqIGNvbmZpZy9saW5rZXItbWFwLmdudTogRmlsdGVyIHR5cGVpbmZvIGFuZCB2dGFibGUgaW5mby4KCjIwMDMtMDMtMDQgIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCSogc3JjL2lvcy5jYyAoaW9zX2Jhc2U6Ol9NX2dyb3dfd29yZHMpOiBEb24ndCBkZWxldGUgX01fd29yZCBvbgoJbmV3IGZhaWx1cmUuICBUaHJvdyBleGNlcHRpb24gaWYgYmFkYml0IGFuZCBleGNlcHRpb24gbWFzayB3aGVuIGl4Cgk+PSBudW1lcmljX2xpbWl0czxpbnQ+OjptYXgoKS4KCjIwMDMtMDMtMDQgIEFsZXhhbmRyZSBPbGl2YSAgPGFvbGl2YUByZWRoYXQuY29tPgoKCSogc3JjL3N0cnN0cmVhbS5jYyAoc3Ryc3RyZWFtYnVmOjpvdmVyZmxvdyk6IE1ha2Ugc3VyZSBvcGVyYW5kcyBvZgoJbWluIGFuZCBtYXggaGF2ZSB0aGUgc2FtZSB0eXBlLgoJKiBpbmNsdWRlL2JpdHMvYmFzaWNfc3RyaW5nLnRjYyAoYXBwZW5kLCByZmluZCwgY29tcGFyZSk6IExpa2V3aXNlLgoKMjAwMy0wMy0wNCAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogaW5jbHVkZS9NYWtlZmlsZS5hbSAoYWxsc3RhbXBzKTogUmVtb3ZlIHN0YW1wLXN0ZC1wcmVjb21waWxlLgoJKiBpbmNsdWRlL01ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoKMjAwMy0wMy0wMyAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogdGVzdHN1aXRlL2FiaV9jaGVjay5jYyAocmVwb3J0X3N5bWJvbF9pbmZvKTogQWRkIHZlcnNpb24gaW5mby4KCgkqIGNvbmZpZy9saW5rZXItbWFwLmdudTogSGlkZSBtb3JlIHN0dWZmLgoJKiBpbmNsdWRlL01ha2VmaWxlLmFtOiBDbGVhbnVwcy4KCSogaW5jbHVkZS9NYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCjIwMDMtMDItMjcgIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCSogY29uZmlnL2xvY2FsZS9nZW5lcmljL21lc3NhZ2VzX21lbWJlcnMuaCAobWVzc2FnZXM6Om1lc3NhZ2VzKToKCVJlbW92ZSBuYW1lIGZyb20gdW51c2VkIHBhcmFtZXRlci4KCjIwMDMtMDItMjcgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIHNyYy9NYWtlZmlsZS5hbSAoc291cmNlcyk6IEFkZCBkZW1hbmdsZS5jYy4KCShkZW1hbmdsZS5vKTogQWRkLgoJKGRlbWFuZ2xlLmxvKTogQWRkLgoJKiBzcmMvTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgkqIGxpYnN1cGMrKy9NYWtlZmlsZS5hbTogUmVtb3ZlIG9sZCBfX2N4YV9kZW1hbmdsZSBiaXRzLgoJKiBsaWJzdXBjKysvTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgoJKiB0ZXN0c3VpdGUvdGVzdHN1aXRlX2hvb2tzLmgKCShfX2dudV9jeHhfdGVzdDo6dmVyaWZ5X2RlbWFuZ2xlKTogTmV3LgoJKiB0ZXN0c3VpdGUvdGVzdHN1aXRlX2hvb2tzLmNjOiBEZWZpbmUuCgoyMDAzLTAyLTI3ICBDYXJsbyBXb29kICA8Y2FybG9AYWxpbm9lLmNvbT4KCgkqIHNyYy9kZW1hbmdsZS5jYzogTmV3LgoJKiBsaWJzdXBjKysvZGVtYW5nbGUuaDogTmV3LgoKMjAwMy0wMi0yNyAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoJICAgIENhcmxvIFdvb2QgIDxjYXJsb0BhbGlub2UuY29tPgoKCSogdGVzdHN1aXRlL2RlbWFuZ2xlL2FiaV9leGFtcGxlcy8wMS5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvZGVtYW5nbGUvYWJpX2V4YW1wbGVzLzAyLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS9kZW1hbmdsZS9hYmlfZXhhbXBsZXMvMDMuY2M6IE5ldy4KCSogdGVzdHN1aXRlL2RlbWFuZ2xlL2FiaV9leGFtcGxlcy8wNC5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvZGVtYW5nbGUvYWJpX2V4YW1wbGVzLzA1LmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS9kZW1hbmdsZS9hYmlfZXhhbXBsZXMvMDYuY2M6IE5ldy4KCSogdGVzdHN1aXRlL2RlbWFuZ2xlL2FiaV9leGFtcGxlcy8wNy5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvZGVtYW5nbGUvYWJpX2V4YW1wbGVzLzA4LmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS9kZW1hbmdsZS9hYmlfZXhhbXBsZXMvMDkuY2M6IE5ldy4KCSogdGVzdHN1aXRlL2RlbWFuZ2xlL2FiaV9leGFtcGxlcy8xMC5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvZGVtYW5nbGUvYWJpX2V4YW1wbGVzLzExLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS9kZW1hbmdsZS9hYmlfZXhhbXBsZXMvMTIuY2M6IE5ldy4KCSogdGVzdHN1aXRlL2RlbWFuZ2xlL2FiaV9leGFtcGxlcy8xMy5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvZGVtYW5nbGUvYWJpX2V4YW1wbGVzLzE0LmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS9kZW1hbmdsZS9hYmlfZXhhbXBsZXMvMTUuY2M6IE5ldy4KCSogdGVzdHN1aXRlL2RlbWFuZ2xlL2FiaV9leGFtcGxlcy8xNi5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvZGVtYW5nbGUvYWJpX2V4YW1wbGVzLzE3LmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS9kZW1hbmdsZS9hYmlfZXhhbXBsZXMvMTguY2M6IE5ldy4KCSogdGVzdHN1aXRlL2RlbWFuZ2xlL2FiaV9leGFtcGxlcy8xOS5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvZGVtYW5nbGUvYWJpX2V4YW1wbGVzLzIwLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS9kZW1hbmdsZS9hYmlfZXhhbXBsZXMvMjEuY2M6IE5ldy4KCSogdGVzdHN1aXRlL2RlbWFuZ2xlL2FiaV9leGFtcGxlcy8yMi5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvZGVtYW5nbGUvYWJpX2V4YW1wbGVzLzIzLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS9kZW1hbmdsZS9hYmlfZXhhbXBsZXMvMjQuY2M6IE5ldy4KCSogdGVzdHN1aXRlL2RlbWFuZ2xlL2FiaV9leGFtcGxlcy8yNS5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvZGVtYW5nbGUvYWJpX2V4YW1wbGVzLzI2LmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS9kZW1hbmdsZS9hYmlfdGV4dC8wMS5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvZGVtYW5nbGUvYWJpX3RleHQvMDIuY2M6IE5ldy4KCSogdGVzdHN1aXRlL2RlbWFuZ2xlL2FiaV90ZXh0LzAzLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS9kZW1hbmdsZS9hYmlfdGV4dC8wNC5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvZGVtYW5nbGUvYWJpX3RleHQvMDUuY2M6IE5ldy4KCSogdGVzdHN1aXRlL2RlbWFuZ2xlL2FiaV90ZXh0LzA2LmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS9kZW1hbmdsZS9hYmlfdGV4dC8wNy5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvZGVtYW5nbGUvYWJpX3RleHQvMDguY2M6IE5ldy4KCSogdGVzdHN1aXRlL2RlbWFuZ2xlL2FiaV90ZXh0LzA5LmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS9kZW1hbmdsZS9hYmlfdGV4dC8xMC5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvZGVtYW5nbGUvYWJpX3RleHQvMTEuY2M6IE5ldy4KCSogdGVzdHN1aXRlL2RlbWFuZ2xlL2FiaV90ZXh0LzEyLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS9kZW1hbmdsZS9hYmlfdGV4dC8xMy5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvZGVtYW5nbGUvYWJpX3RleHQvMTQuY2M6IE5ldy4KCSogdGVzdHN1aXRlL2RlbWFuZ2xlL3JlZ3Jlc3Npb24vMzExMS0xLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS9kZW1hbmdsZS9yZWdyZXNzaW9uLzMxMTEtMi5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvZGVtYW5nbGUvcmVncmVzc2lvbi83OTg2LTAxLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS9kZW1hbmdsZS9yZWdyZXNzaW9uLzc5ODYtMDIuY2M6IE5ldy4KCSogdGVzdHN1aXRlL2RlbWFuZ2xlL3JlZ3Jlc3Npb24vNzk4Ni0wMy5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvZGVtYW5nbGUvcmVncmVzc2lvbi83OTg2LTA0LmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS9kZW1hbmdsZS9yZWdyZXNzaW9uLzc5ODYtMDUuY2M6IE5ldy4KCSogdGVzdHN1aXRlL2RlbWFuZ2xlL3JlZ3Jlc3Npb24vNzk4Ni0wNi5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvZGVtYW5nbGUvcmVncmVzc2lvbi83OTg2LTA3LmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS9kZW1hbmdsZS9yZWdyZXNzaW9uLzc5ODYtMDguY2M6IE5ldy4KCSogdGVzdHN1aXRlL2RlbWFuZ2xlL3JlZ3Jlc3Npb24vNzk4Ni0wOS5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvZGVtYW5nbGUvcmVncmVzc2lvbi83OTg2LTEwLmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS9kZW1hbmdsZS9yZWdyZXNzaW9uLzc5ODYtMTEuY2M6IE5ldy4KCSogdGVzdHN1aXRlL2RlbWFuZ2xlL3JlZ3Jlc3Npb24vNzk4Ni0xMi5jYzogTmV3LgoJKiB0ZXN0c3VpdGUvZGVtYW5nbGUvcmVncmVzc2lvbi83OTg2LmNjOiBOZXcuCgkqIHRlc3RzdWl0ZS9kZW1hbmdsZS9yZWdyZXNzaW9uLzg4OTcuY2M6IE5ldy4KCSogdGVzdHN1aXRlL2RlbWFuZ2xlL3JlZ3Jlc3Npb24vY3ctMDEuY2M6IE5ldy4KCSogdGVzdHN1aXRlL2RlbWFuZ2xlL3JlZ3Jlc3Npb24vY3ctMDIuY2M6IE5ldy4KCSogdGVzdHN1aXRlL2RlbWFuZ2xlL3JlZ3Jlc3Npb24vY3ctMDMuY2M6IE5ldy4KCSogdGVzdHN1aXRlL2RlbWFuZ2xlL3JlZ3Jlc3Npb24vY3ctMDQuY2M6IE5ldy4KCSogdGVzdHN1aXRlL2RlbWFuZ2xlL3JlZ3Jlc3Npb24vY3ctMDUuY2M6IE5ldy4KCSogdGVzdHN1aXRlL2RlbWFuZ2xlL3JlZ3Jlc3Npb24vY3ctMDYuY2M6IE5ldy4KCSogdGVzdHN1aXRlL2RlbWFuZ2xlL3JlZ3Jlc3Npb24vY3ctMDcuY2M6IE5ldy4KCSogdGVzdHN1aXRlL2RlbWFuZ2xlL3JlZ3Jlc3Npb24vY3ctMDguY2M6IE5ldy4KCSogdGVzdHN1aXRlL2RlbWFuZ2xlL3JlZ3Jlc3Npb24vY3ctMDkuY2M6IE5ldy4KCSogdGVzdHN1aXRlL2RlbWFuZ2xlL3JlZ3Jlc3Npb24vY3ctMTAuY2M6IE5ldy4KCSogdGVzdHN1aXRlL2RlbWFuZ2xlL3JlZ3Jlc3Npb24vY3ctMTEuY2M6IE5ldy4KCSogdGVzdHN1aXRlL2RlbWFuZ2xlL3JlZ3Jlc3Npb24vY3ctMTIuY2M6IE5ldy4KCSogdGVzdHN1aXRlL2RlbWFuZ2xlL3JlZ3Jlc3Npb24vY3ctMTMuY2M6IE5ldy4KCSogdGVzdHN1aXRlL2RlbWFuZ2xlL3JlZ3Jlc3Npb24vY3ctMTQuY2M6IE5ldy4KCSogdGVzdHN1aXRlL2RlbWFuZ2xlL3JlZ3Jlc3Npb24vb2xkLmNjOiBOZXcuCgoyMDAzLTAyLTI1ICBQaGlsIEVkd2FyZHMgIDxwbWVAZ2NjLmdudS5vcmc+CgoJKiBkb2NzL2RveHlnZW4vSW50cm8uMzogIFVwZGF0ZSB3aXRoIG5ldyAocHJvcGVyKSBuYW1lcy4KCSogZG9jcy9kb3h5Z2VuL1RPRE86ICBVcGRhdGUuCgkqIGRvY3MvZG94eWdlbi9ydW5fZG94eWdlbjogIE1vcmUgY29tbWVudHMsIGZpeCB1cCBtYW4gcGFnZXMuCglGYWtlIGVudHJpZXMgZm9yIHN0YW5kYXJkIHR5cGVkZWZzLgoJKiBkb2NzL2RveHlnZW4vdXNlci5jZmcuaW46ICBUdXJuIElOTElORV9JTkhFUklURURfTUVNQiBiYWNrIG9uLgoJKiBkb2NzL2h0bWwvZG9jdW1lbnRhdGlvbi5odG1sOiAgVG9wLWxldmVsIG1hbiBwYWdlIGlzIG5vdyBjYWxsZWQKCUMrK0ludHJvLgoJKiBpbmNsdWRlL3N0ZC9zdGRfbGltaXRzLmg6ICBEb3h5Z2VuYXRlLgoKMjAwMy0wMi0yNSAgU2NvdHQgU255ZGVyICA8c255ZGVyQGZuYWwuZ292PgoKCVBSIGxpYnN0ZGMrKy85ODExCgkqIGluY2x1ZGUvYml0cy9zdGxfbWFwLmggKGxvd2VyX2JvdW5kLCB1cHBlcl9ib3VuZCwgZXF1YWxfcmFuZ2UpOgoJQ29ycmVjdCBkb2N1bWVudGF0aW9uLgoJKiBpbmNsdWRlL2JpdHMvc3RsX211bHRpbWFwLmggKGxvd2VyX2JvdW5kLCB1cHBlcl9ib3VuZCwKCWVxdWFsX3JhbmdlKTogTGlrZXdpc2UuCgoyMDAzLTAyLTI0ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCVBSIGxpYnN0ZGMrKy85ODI1CgkqIHNyYy9mc3RyZWFtLmNjCgkoYmFzaWNfZmlsZWJ1ZjxjaGFyL3djaGFyX3Q+OjpfTV91bmRlcmZsb3dfY29tbW9uKTogV2hlbgoJX19idW1wIGlzIHRydWUgKHVmbG93KSwgYWx3YXlzIGluY3JlbWVudCB0aGUgcmVhZCBwb2ludGVyCgkoX01faW5fY3VyKSBiZWZvcmUgcmV0dXJuaW5nIHN1Y2Nlc3NmdWxseS4KCSogdGVzdHN1aXRlLzI3X2lvL2ZpbGVidWZfdmlydHVhbHMuY2MgKHRlc3QxMik6IEFkZC4KCjIwMDMtMDItMjQgIFBhb2xvIENhcmxpbmkgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCSAgICBOYXRoYW4gTXllcnMgPG5jbUBjYW50cmlwLm9yZz4KCglQUiBsaWJzdGRjKysvOTQwNCwgUFIgbGlic3RkYysrLzk3MDEgKHBhcnRpYWwpCgkoYWthIHBwdHIgPT0gZXBwdHIgaW1wbGllcyBvdmVyZmxvdykKCSogaW5jbHVkZS9iaXRzL2ZzdHJlYW0udGNjIChfTV9hbGxvY2F0ZV9pbnRlcm5hbF9idWZmZXIpOgoJQ29uc2lzdGVudGx5LCBfTV9vdXRfZW5kIHBvaW50cyB0byB0aGUgZW5kIG9mIHRoZSBidWZmZXIganVzdAoJY3JlYXRlZC4KCShvdmVyZmxvdyk6IFR3ZWFrIHRvIHVzZSBfTV9vdXRfYnVmX3NpemUoKS4KCShfTV9jb252ZXJ0X3RvX2V4dGVybmFsKTogVGhlIHJvbGUgb2YgdGhlIG9sZCBfTV9vdXRfZW5kIGlzCglub3cgcGxheWVkIGJ5IF9NX291dF9saW0uCgkoX01fcmVhbGx5X292ZXJmbG93KTogTGlrZXdpc2UuCgkoc2Vla29mZik6IExpa2V3aXNlLgoJKHNldGJ1Zik6IF9NX291dF9lbmQgcG9pbnRzIHRvIHRoZSBlbmQgb2YgdGhlIGV4dGVybmFsIGJ1ZmZlci4KCSogaW5jbHVkZS9iaXRzL3NzdHJlYW0udGNjIChvdmVyZmxvdyk6IFJld3JvdGUsIHRha2luZyBpbnRvCglhY2NvdW50IHRoZSByZXNvbHV0aW9uIG9mIERSIDE2OSAoVEMpLgoJKHNlZWtvZmYpOiBVc2UgX01fc3RyaW5nLmNhcGFjaXR5KCk7IGlvc19iYXNlOjplbmQgaXMgbm93IF9NX291dF9saW0uCgkoc2Vla3Bvcyk6IFVzZSBfTV9zdHJpbmcuY2FwYWNpdHkoKTsgdHdlYWsuCgkqIGluY2x1ZGUvYml0cy9zdHJlYW1idWYudGNjIChzcHV0YywgeHNwdXRuKTogUmVtb3ZlIGNvbW1lbnRzLgoJKiBpbmNsdWRlL3N0ZC9zdGRfZnN0cmVhbS5oIChzeW5jKTogVGhlIHJvbGUgb2YgdGhlIG9sZAoJX01fb3V0X2VuZCBpcyBub3cgcGxheWVkIGJ5IF9NX291dF9saW0uCgkoX01fc2V0X2luZGV0ZXJtaW5hdGUpOiBVc2UgX01fc2V0X2RldGVybWluYXRlLgoJKF9NX3NldF9kZXRlcm1pbmF0ZSk6IF9NX291dF9lbmQgaXMgbm93IF9NX291dF9saW0uCgkoX01faXNfaW5kZXRlcm1pbmF0ZSk6IExpa2V3aXNlLgoJKiBpbmNsdWRlL3N0ZC9zdGRfc3N0cmVhbS5oIChzdHIoKSk6IF9NX291dF9lbmQgaXMgbm93IF9NX291dF9saW0uCgkoX01fc3RyaW5nYnVmX2luaXQpOiBEb24ndCBzZXQgX01fYnVmX3NpemUsIHVudXNlZCBmb3Igc3N0cmVhbXMsCgl3aGljaCBoYXZlIHRoZSBpbmZvcm1hdGlvbiByZWFkaWx5IGF2YWlsYWJsZSBhcyBfTV9zdHJpbmcuY2FwYWNpdHkoKTsKCWZvciBhdGUgYW5kIGFwcCBtb2RlcywgcGFzcyB0aGUgc3RyaW5nIHNpemUgdG8gX01fcmVhbGx5X3N5bmMuCgkoX01fcmVhbGx5X3N5bmMpOiBDb25zaXN0ZW50bHkgc2V0IF9NX291dF9lbmQgYW5kIF9NX291dF9saW0sIHRvCglwb2ludCB0byB0aGUgZW5kIG9mIHRoZSBidWZmZXIgKGkuZS4sIGVwcHRyKSBhbmQgdG8gdGhlIHN0cmluZyBlbmQsCglyZXNwZWN0aXZlbHkuCgkqIGluY2x1ZGUvc3RkL3N0ZF9zdHJlYW1idWYuaDogdHdlYWsgY29tbWVudHMsIGFkZCBfTV9vdXRfbGltLAoJd2hpY2ggcG9pbnRzIHRvIHRoZSByaWdodCBsaW1pdCBvZiB0aGUgdXNlZCBwdXQgYXJlYS4KCShfTV9vdXRfY3VyX21vdmUpOiBUaGUgcm9sZSBvZiB0aGUgb2xkIF9NX291dF9lbmQgaXMgbm93IHBsYXllZAoJYnkgX01fb3V0X2xpbS4KCShfTV9vdXRfYnVmX3NpemUpOiBTaW1wbGlmeTogbm93ICh3aGVuIF9NX291dF9jdXIpIHJldHVybiBzaW1wbHkKCV9NX291dF9lbmQgIC0gX01fb3V0X2N1ciAoaS5lLiwgcHB0ciksIF92ZXJ5XyBjbG9zZSB0byB0aGUgbGV0dGVyCglvZiB0aGUgc3RhbmRhcmQuCgkoYmFzaWNfc3RyZWFtYnVmKCkpOiBJbml0aWFsaXplIF9NX291dF9saW0gdG9vLgoJKiB0ZXN0c3VpdGUvMjdfaW8vZmlsZWJ1Zl92aXJ0dWFscy5jYyAodGVzdDEwKTogVHJpdmlhbCB0d2Vhay4KCSogdGVzdHN1aXRlLzI3X2lvL2ZpbGVidWZfdmlydHVhbHMuY2MgKHRlc3QxMSk6IEFkZC4KCSogdGVzdHN1aXRlLzI3X2lvL3N0cmluZ2J1Zl92aXJ0dWFscy5jYyAodGVzdDA5KTogQWRkLgoKMjAwMy0wMi0yNCAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogdGVzdHN1aXRlLzI3X2lvL2lvc19iYXNlX3N0b3JhZ2UuY2MgKG1haW4pOiBDYWxsCglzZXRfbWVtb3J5X2xpbWl0cy4KCjIwMDMtMDItMjEgIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjIChfTV9jb252ZXJ0X2Zsb2F0KTogUmVwbGFjZQoJbnVtcHVuY3QgZmFjZXQgYWNjZXNzZXMgd2l0aCBkYXRhIGZyb20gX19sb2NhbGVfY2FjaGUuCgoyMDAzLTAyLTIwICBQaGlsIEVkd2FyZHMgIDxwbWVAZ2NjLmdudS5vcmc+CgoJKiBkb2NzL2h0bWwvZmFxL2luZGV4Lmh0bWwgKDMuOSk6ICBOZXcgbm90ZSwgd2NoYXJfdCBvbiBGcmVlQlNELgoJKiBkb2NzL2h0bWwvZmFxL2luZGV4LnR4dDogIFJlZ2VuZXJhdGUuCgoyMDAzLTAyLTIwICBQaGlsIEVkd2FyZHMgIDxwbWVAZ2NjLmdudS5vcmc+CgoJKiBjb25maWcvbGlua2VyLW1hcC5nbnU6ICBBbHNvIGV4cG9ydCBsb2NraW5nIHN5bWJvbHMgbmVlZGVkIGZvciB0aGUKCWdlbmVyaWMgYXRvbWljaXR5LmggY2FzZS4KCjIwMDMtMDItMjAgIEFsZXhhbmRyZSBPbGl2YSAgPGFvbGl2YUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmluOiBQcm9wYWdhdGUgT1JJR0lOQUxfTERfRk9SX01VTFRJTElCUyB0bwoJY29uZmlnLnN0YXR1cy4KCSogY29uZmlndXJlOiBSZWJ1aWx0LgoKMjAwMy0wMi0xOSAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIGluY2x1ZGUvYml0cy9zc3RyZWFtLnRjYyAob3ZlcmZsb3cpOiBBY2NvcmRpbmcgdG8KCTI3LjcuMS4zLCBwNSwgYWN0dWFsIG91dHB1dCBpcyBwZXJmb3JtZWQgYnkgc3B1dGMoYykuCgoyMDAzLTAyLTE5ICBQaGlsIEVkd2FyZHMgIDxwbWVAZ2NjLmdudS5vcmc+CgoJUFIgbGlic3RkYysrLzk1ODIKCSogaW5jbHVkZS9iaXRzL3N0bF9hbGxvYy5oOiAgUmVtb3ZlIGFsbCB0cmFjZXMgb2YgYXNzZXJ0KCkuCgoyMDAzLTAyLTE4ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogaW5jbHVkZS9zdGQvc3RkX3NzdHJlYW0uaCAoc3RyKCkpOiB0aGUgc2l6ZSBvZiB0aGUKCWN1cnJlbnQgc3RyaW5nIG1heSBiZSBkaWZmZXJlbnQgZnJvbSB0aGUgaW5pdGlhbCBvbmUKCXdoZW5ldmVyIF9NX291dF9lbmQgPiBfTV9vdXRfYmVnLgoJKiB0ZXN0c3VpdGUvMjdfaW8vc3RyaW5nYnVmX21lbWJlcnMuY2MgKHRlc3QwNyk6IEFkZC4KCjIwMDMtMDItMTggIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJUFIgbGlic3RkYysrLzk1ODIKCSogaW5jbHVkZS9iaXRzL3N0bF9hbGxvYy5oIChfX3Bvb2xfYWxsb2M6OmFsbG9jYXRlKTogUmVtb3ZlIGFzc2VydC4KCjIwMDMtMDItMTcgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvYml0cy9iYXNpY19pb3MudGNjIChjb3B5Zm10KTogQ29weSBsb2NhbGUgZGF0YSBhcyB3ZWxsLgoJKiB0ZXN0c3VpdGUvMjdfaW8vaW9zX21lbWJlcnMuY2MgKHRlc3QwMyk6IE5ldy4KCjIwMDMtMDItMTcgIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCSogaW5jbHVkZS9iaXRzL2Jhc2ljX2lvcy5oIChiYXNpY19pb3M6Ol9NX2NhY2hlX2xvY2FsZSk6IERlY2xhcmUuCgkoYmFzaWNfaW9zOjpfTV9jYWNoZV9mYWNldHMpOiBNb3ZlIGludG8gYWJvdmUuCgkqIGluY2x1ZGUvYml0cy9iYXNpY19pb3MudGNjIChiYXNpY19pb3M6OmNvcHlmbXQpOiBSZWJ1aWxkIGxvY2FsZQoJY2FjaGUuCgkoYmFzaWNfaW9zOjppbWJ1ZSk6IEZvcmNlIGxvY2FsZSBjYWNoZSB0byBiZSBidWlsdC4KCShiYXNpY19pb3M6Ol9NX2luaXQpOiBDcmVhdGUgYW5kIGluaXRpYWxpemUgbG9jYWxlIGNhY2hlLgoJKiBpbmNsdWRlL2JpdHMvaW9zX2Jhc2UuaCAoX19sb2NhbGVfY2FjaGVfYmFzZSk6IERlY2xhcmUuCgkoaW9zX2Jhc2U6Ol9NX2xvY2FsZV9jYWNoZSk6IE5ldy4KCShpb3NfYmFzZTo6X01fY2FjaGUpOiBEZWZpbmUuCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLmg6CShfX251bV9iYXNlKTogRml4IGNvbW1lbnQuICBBZGQKCV9TX2VuZC4KCShfX2xvY2FsZV9jYWNoZV9iYXNlLF9fbG9jYWxlX2NhY2hlPF9DaGFyVD4pOiAgTmV3IGNsYXNzZXMuCgkoX19sb2NhbGVfY2FjaGU8Y2hhcj4sIF9fbG9jYWxlX2NhY2hlPHdjaGFyX3Q+KTogTmV3IHNwZWNpYWxpemF0aW9ucy4KCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjIChudW1fcHV0OjpfTV9jb252ZXJ0X2ludCk6IFVzZSBsb2NhbGUKCWNhY2hlIGxpdGVyYWwgc3RyaW5nLCBncm91cGluZyBmbGFnLCB0aG91c2FuZHMgc2VwYXJhdG9yLgoJKF9fbG9jYWxlX2NhY2hlPF9DaGFyVD46Ol9fbG9jYWxlX2NhY2hlKTogTmV3LgoJKF9fbG9jYWxlX2NhY2hlPF9DaGFyVD46Ol9NX2luaXQpOiBOZXcuCgkqIHNyYy9pb3MuY2M6IENsZWFyIF9NX2xvY2FsZV9jYWNoZSBpbiBjb25zdHJ1Y3Rvci4KCSogc3JjL2xvY2FsZS1pbnN0LmNjIChfX2xvY2FsZV9jYWNoZTxjaGFyPiwgX19sb2NhbGVfY2FjaGU8X2NoYXJfdD4pOgoJTmV3LgoKMjAwMy0wMi0xNyAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIHNyYy9sb2NhbGUtaW5zdC5jYzogRG8gbm90IGluY2x1ZGUgPGNhc3NlcnQ+LgoJKiBzcmMvbG9jYWxlLmNjOiBMaWtld2lzZS4KCjIwMDMtMDItMTcgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJUFIgbGlic3RkYysrLzk1ODAKCSogaW5jbHVkZS9zdGQvc3RkX2ZzdHJlYW0uaDogRGVjbGFyZSB1bmRlcmZsb3cgYW5kIHVmbG93CglzcGVjaWFsaXphdGlvbnMsIGNoYW5nZSBnZW5lcmljIGRlZmluaXRpb25zIHRvIGRvIG5vdGhpbmcuCgkqIHNyYy9mc3RyZWFtLmNjOiBBZGQgdW5kZXJmbG93IGFuZCB1ZmxvdyBzcGVjaWFsaXphdGlvbnMuCgoyMDAzLTAyLTE3ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCVBSIGxpYnN0ZGMrKy85MTY5CgkqIGluY2x1ZGUvYml0cy9mc3RyZWFtLnRjYyAoX01fY29udmVydF90b19leHRlcm5hbCk6CglEZWFsIGNvcnJlY3RseSB3aXRoIG5vY29udiwgYXMgcHJlc2NyaWJlZCBieSAyNy44LjEuNCxwOC4KCSogdGVzdHN1aXRlLzI3X2lvL2ZpbGVidWZfdmlydHVhbHMuY2MgKHRlc3QxMCk6IEFkZC4KCjIwMDMtMDItMTMgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvYml0cy9jKytjb25maWcgKF9HTElCQ1BQX0VYVEVSTl9URU1QTEFURSk6IERlZmluZS4KCSogaW5jbHVkZS9iaXRzL2Jhc2ljX2lvcy50Y2M6IEd1YXJkIHVzZSBvZiBleHRlcm4gdGVtcGxhdGUuCgkqIGluY2x1ZGUvc3RkL3N0ZF9pb21hbmlwLmg6IFNhbWUuCgkqIGluY2x1ZGUvYml0cy9zdHJlYW1idWYudGNjOiBTYW1lLgoJKiBpbmNsdWRlL2JpdHMvc3RsX2FsbG9jLmg6IFNhbWUuCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLnRjYzogU2FtZS4KCSogaW5jbHVkZS9iaXRzL29zdHJlYW0udGNjOiBTYW1lLgoJKiBpbmNsdWRlL2JpdHMvaXN0cmVhbS50Y2M6IFNhbWUuCgkqIGluY2x1ZGUvYml0cy9mc3RyZWFtLnRjYzogU2FtZS4KCSogaW5jbHVkZS9iaXRzL2Jhc2ljX3N0cmluZy50Y2M6IFNhbWUuCgoyMDAzLTAyLTEzICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCSogaW5jbHVkZS9iaXRzL29zdHJlYW0udGNjIChzZW50cnk6OnNlbnRyeSk6IEltcHJvdmUKCXBlcmZvcm1hbmNlLXdpc2UgdGhlIGZpeCBmb3IgbGlic3RkYysrLzk1NjMuCgoyMDAzLTAyLTEyICBQaGlsIEVkd2FyZHMgIDxwbWVAZ2NjLmdudS5vcmc+CgoJKiBjb25maWcvY3B1L2dlbmVyaWMvYXRvbWljaXR5LmggKF9BdG9taWNfYWRkX211dGV4KTogIEZpeCBkZWNsYXJhdGlvbi4KCShfR0xJQkNQUF9ORUVEX0dFTkVSSUNfTVVURVgpOiAgRGVmaW5lIGZvciB0aGlzIGZpbGUuCgkoX0F0b21pY19hZGRfbXV0ZXhfb25jZSwgX19ndGhyZWFkX2F0b21pY19hZGRfbXV0ZXhfb25jZSk6ICBEZWNsYXJlCgl3aGVuIHdlIGRvbid0IGhhdmUgc3RhdGljIG11dGV4IGluaXRpYWxpemF0aW9uLgoJKF9fZXhjaGFuZ2VfYW5kX2FkZCk6ICBVc2UgX0F0b21pY19hZGRfbXV0ZXhfb25jZS4KCSogc3JjL21pc2MtaW5zdC5jYzogIERlZmluaXRpb25zIG9mIGFsbCB0aGUgYWJvdmUuCgoyMDAzLTAyLTEyICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCVBSIGxpYnN0ZGMrKy85NTYzCgkqIGluY2x1ZGUvYml0cy9vc3RyZWFtLnRjYyAoc2VudHJ5OjpzZW50cnkpOiBDaGVjawoJdGhlIHN0YXRlIG9mIHRoZSBzdHJlYW0gYWZ0ZXIgdGhlIHByZXBhcmF0aW9uLgoJKiB0ZXN0c3VpdGUvMjdfaW8vb3N0cmVhbV9zZW50cnkuY2MgKHRlc3QwMik6IEFkZC4KCjIwMDMtMDItMTEgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvTWFrZWZpbGUuYW0gKHN0YW1wLXN0ZC1wcmVjb21waWxlKTogQWRkIHJ1bGUuCgkqIGluY2x1ZGUvTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgoKMjAwMy0wMi0xMSBKZXJyeSBRdWlubiAgPGpscXVpbm5Ab3B0b25saW5lLm5ldD4KCSAgIEJlbmphbWluIEtvc25payAgPGJlbmphbWluQHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy5oIChfX251bV9iYXNlKTogQWRkIF9TX2F0b21zX291dC4KCUFkZCBpbmRleGVzIGludG8gdGhpcyBhcnJheS4KCShfX251bV9iYXNlOjpfU19hdG9tcyk6IFRvIF9TX2F0b21zX2luLgoJKG51bV9wdXQ6Ol9NX2luc2VydCk6IFJlbmFtZSB0byBfTV9wYWQuCgkobnVtX3B1dDo6X01fY29udmVydF9pbnQpOiBBZGp1c3QgcmVtb3ZlIF9fbW9kLCBfX21vZGwgYXJndW1lbnRzLgoJKG51bV9wdXQ6Ol9NX3dpZGVuX2ludCk6IFJlbmFtZSB0byBfTV9ncm91cF9pbnQuCgkobnVtX3B1dDo6X01fd2lkZW5fZmxvYXQpOiBSZW5hbWUgdG8gX01fZ3JvdXBfZmxvYXQuCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLnRjYyAoX19pbnRfdG9fY2hhcik6IE5ldyBpbmxpbmUKCWZ1bmN0aW9uIGFuZCBhZGFwdGVyIGZ1bmN0aW9ucy4KCShudW1fcHV0OjpfTV9ncm91cF9pbnQpOiBTdHJlYW1saW5lLgoJKG51bV9wdXQ6Ol9NX2dyb3VwX2Zsb2F0KTogU3RyZWFtbGluZS4KCShudW1fcHV0OjpfTV9jb252ZXJ0X2ludCk6IFJlbW92ZSB1bnVzZWQgcGFyYW1ldGVyIG5hbWVzLiBDaG9vc2UKCWxhcmdlIGVub3VnaCBidWZmZXIgZm9yIHRleHQuICBVc2UgX19pbnRfdG9fY2hhciBpbnN0ZWFkIG9mCglfX2NvbnZlcnRfZnJvbV92LiAgRm9ybWF0dGVkIHRleHQgaXMgbm93IGF0IHRoZSBlbmQgb2YgdGhlIGJ1ZmZlci4KCShudW1fcHV0OjpfTV9jb252ZXJ0X2Zsb2F0KTogUHJlbGltaW5hcnkgZml4dXBzLgoJKiBzcmMvbG9jYWxlLWluc3QuY2MgKF9fY29udmVydF9mcm9tX3Y8bG9uZyBsb25nPik6IEFkZCBpZmRlZi4KCShfX2ludF90b19jaGFyPHVuc2lnbmVkIGxvbmcgbG9uZz4pOiBTYW1lLgoJKF9faW50X3RvX2NoYXI8Y2hhciwgdW5zaWduZWQgbG9uZz4pOiBOZXcuCgkoX19pbnRfdG9fY2hhcjxjaGFyLCB1bnNpZ25lZCBsb25nIGxvbmc+KTogTmV3LgoJKF9faW50X3RvX2NoYXI8d2NoYXJfdCwgdW5zaWduZWQgbG9uZz4pOiBOZXcuCgkoX19pbnRfdG9fY2hhcjx3Y2hhcl90LCB1bnNpZ25lZCBsb25nIGxvbmc+KTogTmV3LgoKMjAwMy0wMi0xMSAgU2NvdHQgU255ZGVyICA8c255ZGVyQGZuYWwuZ292PgoKCVBSIGxpYnN0ZGMrKy85NjU5CgkqIGluY2x1ZGUvYml0cy9mc3RyZWFtLnRjYyAoc2Vla29mZik6IEF2b2lkIG9wZXJhdG9yKwoJZm9yIHBvc190eXBlLgoKMjAwMy0wMi0xMSAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCglQUiBsaWJzdGRjKysvOTMyMAoJKiBpbmNsdWRlL2V4dC9zdGRpb19maWxlYnVmLmgKCShzdGRpb19maWxlYnVmKGludCwgc3RkOjppb3NfYmFzZTo6b3Blbm1vZGUsIGJvb2wsIGludF90eXBlKSwKCXN0ZGlvX2ZpbGVidWYoc3RkOjpfX2NfZmlsZSosIHN0ZDo6aW9zX2Jhc2U6Om9wZW5tb2RlLCBpbnRfdHlwZSkpOgoJQ2hhbmdlIHRvIHRha2UgYSBfX3NpemUgcGFyYW1ldGVyIG9mIHR5cGUgc2l6ZV90LCBub3QKCW9mIHR5cGUgKHRlbXBsYXRlIHBhcmFtZXRlciBkZXBlbmRlbnQpIGludF90eXBlLgoJKiBzcmMvaW9zLmNjIChpb3NfYmFzZTo6SW5pdDo6X1NfaW9zX2NyZWF0ZSk6IENoYW5nZSB0eXBlIG9mCglzaXplIHZhcnMgdG8gc2l6ZV90LgoJKiB0ZXN0c3VpdGUvZXh0L3N0ZGlvX2ZpbGVidWYuY2M6IEFkZC4KCjIwMDMtMDItMTEgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgkgICAgUGV0dXIgUnVub2xmc3NvbiAgPHBldHVycjAyQHJ1LmlzPgoKCVBSIGxpYnN0ZGMrKy85MzE4CgkqIGluY2x1ZGUvYml0cy9zdHJlYW1idWYudGNjIChfX2NvcHlfc3RyZWFtYnVmcyk6CglEb24ndCBjb25kaXRpb25hbGl6ZSB0aGUgY29weSB0byBfX3Rlc3RwdXQuCgkqIHRlc3RzdWl0ZS8yN19pby9zdHJlYW1idWZfbWVtYmVycy5jYyAodGVzdDA5LCB0ZXN0MTApOiBBZGQuCgoyMDAyLTAyLTExICBESiBEZWxvcmllICA8ZGpAcmVkaGF0LmNvbT4KCgkqIGFjaW5jbHVkZS5tNDogQ2hlY2sgZm9yIG5hdGl2ZSB0YXJnZXRzIHRoYXQgY2FuJ3QgbGluayBhdAoJdGhpcyBwb2ludCBpbiB0aGUgYnVpbGQuCgkqIGFjbG9jYWwubTQ6IFJlZ2VuZXJhdGUuCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZS4KCjIwMDMtMDItMDggIEpvaG4gRGF2aWQgQW5nbGluICA8ZGF2ZS5hbmdsaW5AbnJjLWNucmMuZ2MuY2E+CgoJKiBocHBhL2F0b21pY2l0eS5oIChfX0F0b21pY2l0eV9sb2NrPF9faW5zdD46Ol9TX2F0b21pY2l0eV9sb2NrKToKCUNvcnJlY3QgYWxpZ25tZW50LgoJKF9fZXhjaGFuZ2VfYW5kX2FkZCwgX19hdG9taWNfYWRkKTogVXNlIFBBIDIuMCBvcmRlcmVkIHN0b3JlIHRvIHJlc2V0Cglsb2NrLgoKMjAwMy0wMi0wNyAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIHRlc3RzdWl0ZS8yN19pby9maWxlYnVmX3ZpcnR1YWxzLmNjICh0ZXN0MDgpOiBGaXggZm9yCgl1bnNpZ25lZCBjaGFyIHBsYXRmb3Jtcy4KCjIwMDMtMDItMDYgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJUFIgbGlic3RkYysrLzk1NjIKCSogaW5jbHVkZS9zdGQvc3RkX2lzdHJlYW0uaAoJKGJhc2ljX2lzdHJlYW06OnNlbnRyeTo6b3BlcmF0b3IgYm9vbCgpKTogTWFrZSBjb25zdC4KCSogaW5jbHVkZS9zdGQvc3RkX29zdHJlYW0uaAoJKGJhc2ljX29zdHJlYW06OnNlbnRyeTo6b3BlcmF0b3IgYm9vbCgpKTogTGlrZXdpc2UuCgkqIHRlc3RzdWl0ZS8yN19pby9pc3RyZWFtX3NlbnRyeS5jYyAodGVzdDAzKTogQWRkLgoJKiB0ZXN0c3VpdGUvMjdfaW8vb3N0cmVhbV9zZW50cnkuY2M6IEFkZC4KCjIwMDMtMDItMDYgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJUFIgbGlic3RkYysrLzk1NDgKCUltcGxlbWVudCByZXNvbHV0aW9uIG9mIERSIDIzMSAoUmVhZHkpCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLmggKF9fbnVtX2Jhc2U6Ol9TX2Zvcm1hdF9mbG9hdCk6CglDaGFuZ2UgZGVjbGFyYXRpb246IHJldHVybiB2b2lkLCByZW1vdmUgX19wcmVjIHBhcmFtZXRlci4KCSogc3JjL2xvY2FsZS5jYyAoX19udW1fYmFzZTo6X1NfZm9ybWF0X2Zsb2F0KTogSW1wbGVtZW50CglyZXNvbHV0aW9uIG9mIERSIDIzMS4KCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjIChudW1fcHV0OjpfTV9jb252ZXJ0X2Zsb2F0KToKCVR3ZWFrIHVzZXMuIENoZWNrIGZvciBuZWdhdGl2ZSBwcmVjaXNpb24uCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbnVtX3B1dC9wdXQvY2hhci82LmNjOiBBZGQKCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9udW1fcHV0L3B1dC93Y2hhcl90LzYuY2M6IExpa2V3aXNlLgoKMjAwMy0wMi0wNiAgUGV0ZXIgU29ldGVucyAgPHBldGVyLnNvZXRlbnNAbWVjaC5rdWxldXZlbi5hYy5iZT4KCgkqIGNvbmZpZy9pby9iYXNpY19maWxlX2xpYmlvLmg6IEZpeHVwcy4KCSogY29uZmlnL2lvL2NfaW9fbGliaW8uaDogU2FtZS4KCSogbGliaW8vTWFrZWZpbGUuYW06IFNhbWUuCgkqIGxpYmlvL01ha2VmaWxlLmluOiBSZWdlbmVyYXRlZC4KCjIwMDMtMDItMDYgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29kZWN2dC9lbmNvZGluZy93Y2hhcl90LzEuY2MgKHRlc3QwMSk6CglFeHBsaWNpdGx5IHVzZSB0aGUgIkMiIGxvY2FsZS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0L21heF9sZW5ndGgvd2NoYXJfdC8xLmNjICh0ZXN0MDEpOiBTYW1lLgoKMjAwMy0wMi0wNiAgUGV0dXIgUnVub2xmc3NvbiAgPHBldHVycjAyQHJ1LmlzPgoKCURSIDc1CglEUiAzMDUKCVBSIGxpYnN0ZGMrKy85MDI4IChwYXJ0aWFsKQoJUFIgbGlic3RkYysrLzkyMjQKCVBSIGxpYnN0ZGMrKy85MjQ2CglQUiBsaWJzdGRjKysvOTI0NwoKCSogc3JjL2NvZGVjdnQuY2MKCShjb2RlY3Z0PHdjaGFyX3QsIGNoYXIsIG1ic3RhdGVfdD46OmRvX2VuY29kaW5nLAoJY29kZWN2dDx3Y2hhcl90LCBjaGFyLCBtYnN0YXRlX3Q+Ojpkb19sZW5ndGgsCgljb2RlY3Z0PHdjaGFyX3QsIGNoYXIsIG1ic3RhdGVfdD46OmRvX21heF9sZW5ndGgpOgoJTW92ZS4uLgoJKiBjb25maWcvbG9jYWxlL2dlbmVyaWMvY29kZWN2dF9tZW1iZXJzLmNjOiAgLi4uaGVyZS4KCSogY29uZmlnL2xvY2FsZS9nbnUvY29kZWN2dF9tZW1iZXJzLmNjOiAgLi4uYW5kIGhlcmUuCgoJKiBjb25maWcvbG9jYWxlL2dlbmVyaWMvY29kZWN2dF9tZW1iZXJzLmNjLAoJKiBjb25maWcvbG9jYWxlL2dudS9jb2RlY3Z0X21lbWJlcnMuY2MKCShjb2RlY3Z0PHdjaGFyX3QsIGNoYXIsIG1ic3RhdGVfdD46OmRvX2VuY29kaW5nCgljb2RlY3Z0PHdjaGFyX3QsIGNoYXIsIG1ic3RhdGVfdD46OmRvX2luLAoJY29kZWN2dDx3Y2hhcl90LCBjaGFyLCBtYnN0YXRlX3Q+Ojpkb19sZW5ndGgsCgljb2RlY3Z0PHdjaGFyX3QsIGNoYXIsIG1ic3RhdGVfdD46OmRvX21heF9sZW5ndGgsCgljb2RlY3Z0PHdjaGFyX3QsIGNoYXIsIG1ic3RhdGVfdD46OmRvX291dCk6CglOZXcgaW1wbGVtZW50YXRpb24gdGhhdCBoYW5kbGVzIHN0YXRlbGVzcyBlbmNvZGluZ3MsCglpbmNsdWRpbmcgVVRGLTguCgoJKiBjb25maWcvbG9jYWxlL2dlbmVyaWMvY29kZWN2dF9tZW1iZXJzLmNjLAoJKiBjb25maWcvbG9jYWxlL2dudS9jb2RlY3Z0X21lbWJlcnMuY2MsCgkqIGNvbmZpZy9sb2NhbGUvaWVlZV8xMDAzLjEtMjAwMS9jb2RlY3Z0X3NwZWNpYWxpemF0aW9ucy5oLAoJKiBpbmNsdWRlL2JpdHMvY29kZWN2dC5oLAoJKiBzcmMvY29kZWN2dC5jYwoJKGNvZGVjdnQ6Omxlbmd0aCwgY29kZWN2dDo6ZG9fbGVuZ3RoKToKCUNoYW5nZSB0eXBlIG9mIGZpcnN0IGFyZ3VtZW50IG9mIGxlbmd0aCBhbmQgZG9fbGVuZ3RoIGZyb20KCSdjb25zdCBzdGF0ZV90eXBlJicgdG8gJ3N0YXRlX3R5cGUmJyBhY2NvcmRpbmcgdG8gRFIgNzUuCgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvZGVjdnQvYWx3YXlzX25vY29udi93Y2hhcl90LzEuY2M6ICBDbGVhbnVwLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvZGVjdnQvYWx3YXlzX25vY29udi93Y2hhcl90LzIuY2M6ICBOZXcgdGVzdC4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0L2Fsd2F5c19ub2NvbnYvd2NoYXJfdC8zLmNjOiAgTmV3IHRlc3QuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29kZWN2dC9hbHdheXNfbm9jb252L3djaGFyX3QvNC5jYzogIE5ldyB0ZXN0LgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvZGVjdnQvZW5jb2Rpbmcvd2NoYXJfdC8xLmNjOgoJQ2xlYW51cCBhbmQgY2hlY2sgZm9yIGNvcnJlY3QgcmV0dXJuIHZhbHVlIGZyb20gZW5jb2RpbmcKCWZvciAiQyIgbG9jYWxlLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvZGVjdnQvZW5jb2Rpbmcvd2NoYXJfdC8yLmNjOiAgTmV3IHRlc3QuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29kZWN2dC9lbmNvZGluZy93Y2hhcl90LzMuY2M6ICBOZXcgdGVzdC4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0L2VuY29kaW5nL3djaGFyX3QvNC5jYzogIE5ldyB0ZXN0LgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvZGVjdnQvaW4vd2NoYXJfdC8xLmNjOiAgQ2xlYW51cC4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0L2luL3djaGFyX3QvMi5jYzogIE5ldyB0ZXN0LgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvZGVjdnQvaW4vd2NoYXJfdC8zLmNjOiAgTmV3IHRlc3QuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29kZWN2dC9pbi93Y2hhcl90LzQuY2M6ICBOZXcgdGVzdC4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0L2luL3djaGFyX3QvNS5jYzogIE5ldyB0ZXN0LgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvZGVjdnQvaW4vd2NoYXJfdC82LmNjOiAgTmV3IHRlc3QuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29kZWN2dC9pbi93Y2hhcl90LzcuY2M6ICBOZXcgdGVzdC4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0L2luL3djaGFyX3QvOC5jYzogIE5ldyB0ZXN0LgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvZGVjdnQvaW4vd2NoYXJfdC85LmNjOiAgTmV3IHRlc3QuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29kZWN2dC9sZW5ndGgvY2hhci8xLmNjOiAgQ2xlYW51cC4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0L2xlbmd0aC9jaGFyLzIuY2M6ICBOZXcgdGVzdC4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0L2xlbmd0aC93Y2hhcl90LzEuY2M6ICBDbGVhbnVwLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvZGVjdnQvbGVuZ3RoL3djaGFyX3QvMi5jYzogIE5ldyB0ZXN0LgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvZGVjdnQvbGVuZ3RoL3djaGFyX3QvMy5jYzogIE5ldyB0ZXN0LgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvZGVjdnQvbGVuZ3RoL3djaGFyX3QvNC5jYzogIE5ldyB0ZXN0LgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvZGVjdnQvbGVuZ3RoL3djaGFyX3QvNS5jYzogIE5ldyB0ZXN0LgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvZGVjdnQvbGVuZ3RoL3djaGFyX3QvNi5jYzogIE5ldyB0ZXN0LgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvZGVjdnQvbGVuZ3RoL3djaGFyX3QvNy5jYzogIE5ldyB0ZXN0LgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvZGVjdnQvbWF4X2xlbmd0aC93Y2hhcl90LzEuY2M6ICBDbGVhbnVwLgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvZGVjdnQvbWF4X2xlbmd0aC93Y2hhcl90LzIuY2M6ICBOZXcgdGVzdC4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0L21heF9sZW5ndGgvd2NoYXJfdC8zLmNjOiAgTmV3IHRlc3QuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29kZWN2dC9tYXhfbGVuZ3RoL3djaGFyX3QvNC5jYzogIE5ldyB0ZXN0LgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvZGVjdnQvb3V0L3djaGFyX3QvMS5jYzogIENsZWFudXAuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29kZWN2dC9vdXQvd2NoYXJfdC8yLmNjOiAgTmV3IHRlc3QuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29kZWN2dC9vdXQvd2NoYXJfdC8zLmNjOiAgTmV3IHRlc3QuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29kZWN2dC9vdXQvd2NoYXJfdC80LmNjOiAgTmV3IHRlc3QuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29kZWN2dC9vdXQvd2NoYXJfdC81LmNjOiAgTmV3IHRlc3QuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29kZWN2dC9vdXQvd2NoYXJfdC82LmNjOiAgTmV3IHRlc3QuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29kZWN2dC9vdXQvd2NoYXJfdC83LmNjOiAgTmV3IHRlc3QuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29kZWN2dC91bmljb2RlLzEuY2M6ICBOZXcgdGVzdC4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0L3Vuc2hpZnQvd2NoYXJfdC8xLmNjOiAgQ2xlYW51cC4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0L3Vuc2hpZnQvd2NoYXJfdC8yLmNjOiAgTmV3IHRlc3QuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvY29kZWN2dC91bnNoaWZ0L3djaGFyX3QvMy5jYzogIE5ldyB0ZXN0LgoJKiB0ZXN0c3VpdGUvMjJfbG9jYWxlL2NvZGVjdnQvdW5zaGZpdC93Y2hhcl90LzQuY2M6ICBOZXcgdGVzdC4KCjIwMDMtMDItMDUgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLnRjYyAodGltZV9wdXQ6OmRvX3B1dCk6IFVzZSBfX3dyaXRlLgoJKG1vbmV5X3B1dDo6ZG9fcHV0KTogU2FtZS4KCjIwMDMtMDItMDUgIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCSogaW5jbHVkZS9iaXRzL2lvc19iYXNlLmggKGlvc19iYXNlKTogRG9jdW1lbnQgcmVzZXJ2ZWQgc3RvcmFnZS4KCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLmg6CShzdHJ1Y3QgX19wYWQpOiBDb21tZW50IG9uCglpbXBsZW1lbnRhdGlvbi4KCShfX3ZlcmlmeV9ncm91cGluZyk6IFNhbWUuCgkoX19hZGRfZ3JvdXBpbmcpOiBTYW1lLgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy50Y2MgKF9fdmVyaWZ5X2dyb3VwaW5nKTogTW92ZQoJY29tbWVudHMgdG8gZGVjbGFyYXRpb24uCgkoX19hZGRfZ3JvdXBpbmcpOiBTYW1lLgoKCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjOgoJKF9fd3JpdGU8X0NoYXJULCBfT3V0SXRlcj4pOiBOZXcgZnVuY3Rpb24uCgkoX193cml0ZTxfQ2hhclQ+KTogTmV3IGZ1bmN0aW9uIHNwZWNpYWxpemF0aW9uLgoJKG51bV9wdXQ6Ol9NX2luc2VydCk6IFJlbW92ZSBleHBsaWNpdCBsb29wIG92ZXIgaXRlcmF0b3IuICBVc2UKCV9fd3JpdGUuCgkobnVtX3B1dDo6X01fd2lkZW5fZmxvYXQpOiBSZW1vdmUgX19iYXNlZmllbGQuCgkobnVtX3B1dDo6X01fd2lkZW5faW50KTogTW92ZSBfX2Jhc2VmaWVsZCB0byB3aXRoaW4gZ3JvdXBpbmcgYmxvY2suCgoJKiBpbmNsdWRlL2JpdHMvc3RyZWFtYnVmX2l0ZXJhdG9yLmg6IEluY2x1ZGUgPHN0cmVhbWJ1Zj4uCgkob3N0cmVhbWJ1Zl9pdGVyYXRvcjo6X01fcHV0KTogQWRkLgoKMjAwMy0wMi0wNSAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCgkqIHRlc3RzdWl0ZS8yNl9udW1lcmljcy92YWxhcnJheV9uYW1lX2xvb2t1cC5jYzogRml4IHR5cG8uCgoyMDAzLTAyLTA0ICBOYXRoYW4gTXllcnMgIDxuY21AY2FudHJpcC5vcmc+CgoJKiB0ZXN0c3VpdGUvMjVfYWxnb3JpdGhtcy9taW5fbWF4LmNjICh0ZXN0MDIpOiBBZGQuCgoyMDAzLTAyLTA0ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCVBSIGxpYnN0ZGMrKy85NDM5LCBQUiBsaWJzdGRjKysvOTQyNQoJKiBjb25maWcvaW8vYmFzaWNfZmlsZV9zdGRpby5jYwoJKF9fYmFzaWNfZmlsZTxjaGFyPjo6c2Vla29mZiwgc2Vla3Bvcyk6IFJldHVybiAtMUwgaWYKCWZzZWVrIGZhaWxzLgoJKiBpbmNsdWRlL2JpdHMvZnN0cmVhbS50Y2MgKGJhc2ljX2ZpbGVidWY6OnNlZWtvZmYpOgoJQ2hlY2sgX01fZmlsZS5zZWVrb2ZmIHJldHVybiB2YWx1ZTsgYWx3YXlzIHJldHVybgoJcG9zX3R5cGUob2ZmX3R5cGUoLTEpKSBpbiBjYXNlIG9mIGZhaWx1cmUuCgkoYmFzaWNfZmlsZWJ1Zjo6cGJhY2tmYWlsKTogQ2hlY2sgdGhpcy0+c2Vla29mZiByZXR1cm4KCXZhbHVlIGFuZCByZXR1cm4gdHJhaXRzX3R5cGU6OmVvZigpIGluIGNhc2Ugb2YgZmFpbHVyZS4KCSogdGVzdHN1aXRlLzI3X2lvL2ZpbGVidWZfdmlydHVhbHMuY2MgKHRlc3QwOSk6IEFkZC4KCjIwMDMtMDItMDQgIEplcnJ5IFF1aW5uICA8amxxdWlubkBvcHRvbmxpbmUubmV0PgoKCSogaW5jbHVkZS9zdGQvc3RkX29zdHJlYW0uaCAob3N0cmVhbTo6X01fd3JpdGUpOiBEZWNsYXJlLgoJKiBvc3RyZWFtLnRjYyAob3N0cmVhbTo6X01fd3JpdGUpOiBEZWZpbmUuCgkoYmFzaWNfb3N0cmVhbTo6d3JpdGUpOiBVc2UgaXQuCgkob3BlcmF0b3I8PChiYXNpY19vc3RyZWFtLCBfQ2hhclQpKTogRGl0dG8uCgkob3BlcmF0b3I8PChiYXNpY19vc3RyZWFtLCBjaGFyKSk6IERpdHRvLgoJKG9wZXJhdG9yPDwoYmFzaWNfb3N0cmVhbSwgX0NoYXJUKikpOiBEaXR0by4KCShvcGVyYXRvcjw8KGJhc2ljX29zdHJlYW0sIGNoYXIqKSk6IERpdHRvLgoJKG9wZXJhdG9yPDwoYmFzaWNfb3N0cmVhbSwgYmFzaWNfc3RyaW5nKSk6IERpdHRvLgoKMjAwMy0wMi0wNCAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogdGVzdHN1aXRlLzI2X251bWVyaWNzL3ZhbGFycmF5X25hbWVfbG9va3VwLmNjOiBGaXguCgoyMDAyLTAyLTA0ICBKb25hdGhhbiBXYWtlbHkgIDxyZWRpQGdjYy5nbnUub3JnPgoKCSogZG9jcy9odG1sLzI3X2lvL2hvd3RvLmh0bWw6IExpbmsgdG8gRGlldG1hciBLdWVobCdzIElPU3RyZWFtIHBhZ2UsCglhZGQgSFRNTCBjb21tZW50IGFib3V0IHVwZGF0aW5nIGxpbmtzIGlmIG51bWJlcmluZyBjaGFuZ2VzLgoKMjAwMy0wMi0wNCAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCglQUiBsaWJzdGRjKysvOTUzOAoJKiBpbmNsdWRlL2JpdHMvc3RyZWFtYnVmLnRjYyAoc3B1dGJhY2tjKTogQWNjZXNzCgl0aGlzLT5ncHRyKClbLTFdIG9ubHkgaWYgX01faW5fYmVnIDwgX01faW5fY3VyLgoJKiB0ZXN0c3VpdGUvMjdfaW8vZmlsZWJ1Zl92aXJ0dWFscy5jYyAodGVzdDA4KTogQWRkLgoKMjAwMy0wMi0wNCAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCglQUiBsaWJzdGRjKysvOTUwNwoJKiBpbmNsdWRlL2JpdHMvZnN0cmVhbS50Y2MgKG9wZW4pOiBJZiB0aGUgJ2F0ZScgcmVwb3NpdGlvbmluZwoJb3BlcmF0aW9uIGZhaWxzLCBjYWxscyBjbG9zZSBfYW5kXyByZXR1cm5zIGEgbnVsbCBwb2ludGVyCgl0byBpbmRpY2F0ZSBmYWlsdXJlICgyNy44LjEuMyw0KS4KCSogdGVzdHN1aXRlLzI3X2lvL2ZpbGVidWZfbWVtYmVycy5jYyAodGVzdF8wNik6IEFkZC4KCjIwMDMtMDItMDQgIFBldHVyIFJ1bm9sZnNzb24gIDxwZXR1cnIwMkBydS5pcz4KCgkqIHRlc3RzdWl0ZS8yN19pby9maWxlYnVmX21lbWJlcnMuY2MgKHRlc3RfMDQpOiBSZW1vdmUgZXhpdCgwKS4KCjIwMDItMDItMDQgIEpvbmF0aGFuIFdha2VseSAgPHJlZGlAZ2NjLmdudS5vcmc+CgoJKiBkb2NzL2h0bWwvMjdfaW8vaG93dG8uaHRtbDogTmV3IHNlY3Rpb24gb24gc3RkaW9fZmlsZWJ1Zi4KCSogZG9jcy9odG1sL2V4dC9ob3d0by5odG1sOiBNb3ZlIHN0ZGlvX2ZpbGVidWYgbm90ZXMgdG8gMjdfaW8uCgkqIGRvY3MvaHRtbC9kb2N1bWVudGF0aW9uLmh0bWw6IFJlZ2VuZXJhdGUuCgoyMDAzLTAyLTA0ICBKb3NlcGggUy4gTXllcnMgIDxqc21AcG9seW9taW5vLm9yZy51az4KCgkqIGRvY3MvaHRtbC8xN19pbnRyby9wb3J0aW5nLnRleGk6IFVwZGF0ZSB0byBHRkRMIDEuMi4KCSogZG9jcy9odG1sLzE3X2ludHJvL3BvcnRpbmcuaHRtbDogUmVnZW5lcmF0ZS4KCjIwMDMtMDItMDMgIEZhbGsgSHVlZmZuZXIgIDxmYWxrLmh1ZWZmbmVyQHN0dWRlbnQudW5pLXR1ZWJpbmdlbi5kZT4KCSAgICBQaGlsIEVkd2FyZHMgIDxwbWVAZ2NjLmdudS5vcmc+CgoJKiBpbmNsdWRlL3N0ZC9zdGRfYml0c2V0Lmg6ICBSZXBsYWNlIENIQVJfQklUIHdpdGggX19DSEFSX0JJVF9fLCB1c2UKCW51bWVyaWNfbGltaXRzIGZvciBiaXRzLXBlci13b3JkIHZhbHVlcy4KCShfQmFzZV9iaXRzZXQ6Ol9NX2RvX2NvdW50LCBfQmFzZV9iaXRzZXQ8MT46Ol9NX2RvX2NvdW50KToKCVVzZSBfX2J1aWx0aW5fcG9wY291bnRsIGluc3RlYWQuCgkoX0Jhc2VfYml0c2V0OjpfTV9kb19maW5kX2ZpcnN0LCBfQmFzZV9iaXRzZXQ6Ol9NX2RvX2ZpbmRfbmV4dCwKCV9CYXNlX2JpdHNldDwxPjo6X01fZG9fZmluZF9maXJzdCwgX0Jhc2VfYml0c2V0PDE+OjpfTV9kb19maW5kX25leHQpOgoJVXNlIF9fYnVpbHRpbl9jdHpsIGluc3RlYWQuCgkoX1NfYml0X2NvdW50LCBfU19maXJzdF9vbmUpOiAgUmVtb3ZlLgoJKiBjb25maWcvbGlua2VyLW1hcC5nbnUgKEdMSUJDUFBfMy40KTogIFJlbW92ZSBzdGQ6Ol9TX2JpdF9jb3VudC4KCSogc3JjL01ha2VmaWxlLmFtIChzb3VyY2VzKTogIFJlbW92ZSBiaXRzZXQuY2MuCgkqIHNyYy9iaXRzZXQuY2M6ICBEZWxldGUgZmlsZS4KCSogc3JjL01ha2VmaWxlLmluOiAgUmVnZW5lcmF0ZS4KCjIwMDMtMDItMDMgIFBoaWwgRWR3YXJkcyAgPHBtZUBnY2MuZ251Lm9yZz4KCglQUiBsaWJzdGRjKysvOTUyNywgUFIgbGlic3RkYysrLzg3MTMKCSogZG9jcy9odG1sL2luc3RhbGwuaHRtbDogIE1lbnRpb24gZ2xpYmMgdmVyc2lvbiByZXF1aXJlbWVudC4KCSogZG9jcy9odG1sL2ZhcS9pbmRleC5odG1sICgzLjgpOiAgTmV3IG5vdGUsIGdsaWJjIDIuMi41KyBpcyBuZWVkZWQKCXdpdGggMy4yLjErIChmb3JtYXR0aW5nIGJ1Z2ZpeGVzKS4KCSogZG9jcy9odG1sL2ZhcS9pbmRleC50eHQ6ICBSZWdlbmVyYXRlLgoKMjAwMy0wMi0wMyAgVm9sa2VyIFJlaWNoZWx0ICA8cmVpY2hlbHRAaWdwbS5yd3RoLWFhY2hlbi5kZT4KCglQUiBsaWJzdGRjKysvOTIzNAoJKiBpbmNsdWRlL2JpdHMvdmFsYXJyYXlfYmVmb3JlLmggKF9VbkJhc2U6Om9wZXJhdG9yW10pOiBBcHBseSB1bmFyeQoJb3BlcmF0b3IuCgoJKiBpbmNsdWRlL2JpdHMvdmFsYXJyYXlfYmVmb3JlLmggKF9fbm90X2VxdWFsX3RvKTogVXNlICE9IGluc3RlYWQKCW9mID09LgoKCSogdGVzdHN1aXRlLzI2X251bWVyaWNzL3ZhbGFycmF5X29wZXJhdG9ycy5jYzogTmV3IHRlc3QuCgoyMDAzLTAyLTAxICBQaGlsIEVkd2FyZHMgIDxwbWVAZ2NjLmdudS5vcmc+CgoJKiBkb2NzL2h0bWwvZmFxL2luZGV4Lmh0bWw6ICBDb3JyZWN0IGxpbmsgdG8gbGliZysrIGluZm9ybWF0aW9uLgoJKiBkb2NzL2h0bWwvZmFxL2luZGV4LnR4dDogIFJlZ2VuZXJhdGVkLgoKMjAwMy0wMi0wMSAgUGFvbG8gQ2FybGluaSAgPHBjYXJsaW5pQHVuaXR1cy5pdD4KCSAgICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJQ29uc3QgY29ycmVjdG5lc3MgaXNzdWU6CglodHRwOi8vZ2NjLmdudS5vcmcvbWwvbGlic3RkYysrLzIwMDMtMDEvbXNnMDAzNzAuaHRtbAoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2NsYXNzZXMuaAoJKGxvY2FsZTo6X0ltcGw6Ol9NX2ZhY2V0cyk6IENoYW5nZSB0eXBlIHRvIGNvbnN0IGZhY2V0KiouCgkobG9jYWxlOjpfSW1wbDo6X01faW5zdGFsbF9mYWNldCk6IENoYW5nZSBkZWNsYXJhdGlvbiB0bwoJdGFrZSBjb25zdCBmYWNldCouCgkobG9jYWxlOjpmYWNldDo6X01fcmVmZXJlbmNlcyk6IE1ha2UgbXV0YWJsZS4KCShsb2NhbGU6OmZhY2V0OjpfTV9hZGRfcmVmZXJlbmNlKTogRGVjbGFyZSBjb25zdC4KCShsb2NhbGU6OmZhY2V0OjpfTV9yZW1vdmVfcmVmZXJlbmNlKTogTGlrZXdpc2UuCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLnRjYwoJKHVzZV9mYWNldChjb25zdCBsb2NhbGUmKSk6IFR3ZWFrIGZvciBjb25zdCBmYWNldCoqIF9NX2ZhY2V0cy4KCShoYXNfZmFjZXQoY29uc3QgbG9jYWxlJikpOiBMaWtld2lzZS4KCSogc3JjL2xvY2FsZS5jYwoJKGxvY2FsZTo6ZmFjZXQ6Ol9NX2FkZF9yZWZlcmVuY2UpOiBBZGp1c3QgZGVmaW5pdGlvbi4KCShsb2NhbGU6OmZhY2V0OjpfTV9yZW1vdmVfcmVmZXJlbmNlKTogTGlrZXdpc2UuCgkqIHNyYy9sb2NhbGVuYW1lLmNjCgkobG9jYWxlOjpfSW1wbDo6X0ltcGwoY29uc3QgX0ltcGwmLCBzaXplX3QpKTogVHdlYWsgZm9yCgljb25zdCBmYWNldCoqIF9NX2ZhY2V0cy4KCShsb2NhbGU6Ol9JbXBsOjpfSW1wbChjb25zdCBjaGFyKiwgc2l6ZV90KSk6IExpa2V3aXNlLgoJKGxvY2FsZTo6X0ltcGw6Ol9JbXBsKGZhY2V0KiosIHNpemVfdCwgYm9vbCkpOiBMaWtld2lzZS4KCShsb2NhbGU6Ol9JbXBsOjpfTV9pbnN0YWxsX2ZhY2V0KTogQWRqdXN0IGRlZmluaXRpb24gdG8gdGFrZQoJY29uc3QgZmFjZXQqIGFuZCBmb3IgY29uc3QgZmFjZXQqKiBfTV9mYWNldHMuCgkqIHRlc3RzdWl0ZS8yMl9sb2NhbGUvbG9jYWxlL2NvbnMvOC5jYzogQWRkLgoKMjAwMy0wMS0yOSAgTWFyayBNaXRjaGVsbCAgPG1hcmtAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGluY2x1ZGUvc3RkL3N0ZF9saW1pdHMuaCAobnVtZXJpY19saW1pdHM8ZmxvYXQ+OjpoYXNfaW5maW5pdHkpOgoJVXNlIF9fRkxUX0hBU19JTklGSU5JVFlfXyB0byBpbml0aWFsaXplLgoJKG51bWVyaWNfbGltaXRzPGZsb2F0Pjo6aGFzX3F1aWV0X05hTik6IExpa2V3aXNlLgoJKG51bWVyaWNfbGltaXRzPGRvdWJsZT46Omhhc19pbmZpbml0eSk6IFVzZSBfX0RCTF9IQVNfSU5JRklOSVRZX18KCXRvIGluaXRpYWxpemUuCgkobnVtZXJpY19saW1pdHM8ZG91YmxlPjo6aGFzX3F1aWV0X05hTik6IExpa2V3aXNlLgoJKG51bWVyaWNfbGltaXRzPGxvbmcgZG91YmxlPjo6aGFzX2luZmluaXR5KTogVXNlCglfX0xEQkxfSEFTX0lOSUZJTklUWV9fIHRvIGluaXRpYWxpemUuCgkobnVtZXJpY19saW1pdHM8bG9uZ19kb3VibGU+OjpoYXNfcXVpZXRfTmFOKTogTGlrZXdpc2UuCgoyMDAzLTAxLTI4ICBOYXRoYW4gU2lkd2VsbCAgPG5hdGhhbkBjb2Rlc291cmNlcnkuY29tPgoKCVBSIGMrKy85NDMzCgkqIGxpYnN1cGMrKy90aW5mby5jYyAoX192bWlfY2xhc3NfdHlwZV9pbmZvOjpfX2RvX2R5bmNhc3QpOiBDb3BlCgl3aXRoIGJhc2VzIHdoaWNoIGFyZSB2ZXJ5IGFtYmlndW91cy4KCjIwMDMtMDEtMjggIERhbm55IFNtaXRoICA8ZGFubnlzbWl0aEB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBzcmMvTWFrZWZpbGUuYW0gKENPTkZJR19DWFhGTEFHUyk6IFJldmVyc2Ugb3JkZXIgb2YKCUBFWFRSQV9DWFhfRkxBR1NAIEBTRUNUSU9OX0ZMQUdTQC4KCSogbGlic3VwYysrL01ha2VmaWxlLmFtIChDT05GSUdfQ1hYRkxBR1MpOiBMaWtld2lzZS4KCSogc3JjL01ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoJKiBsaWJzdXBjKysvTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgoyMDAzLTAxLTI3ICBBbGV4YW5kcmUgT2xpdmEgIDxhb2xpdmFAcmVkaGF0LmNvbT4KCgkqIGFjaW5jbHVkZS5tNCAoZ2xpYmNwcF90b29sZXhlY2xpYmRpcik6IEluc3RlYWQgb2YKCSQoTVVMVElTVUJESVIpLCB1c2UgYCRDQyAtcHJpbnQtbXVsdGktb3MtZGlyZWN0b3J5YCwgdW5sZXNzCgl2ZXJzaW9uX3NwZWNpZmljX2xpYnMgaXMgZW5hYmxlZC4KCSogYWNsb2NhbC5tNCwgY29uZmlndXJlOiBSZWJ1aWx0LgoKMjAwMy0wMS0yNCAgTmF0aGFuIFNpZHdlbGwgIDxuYXRoYW5AY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGluY2x1ZGUvYml0cy92YWxhcnJheV9tZXRhLmg6IFJlbW92ZSwgc3BsaXQgaW50byAuLi4KCSogaW5jbHVkZS9iaXRzL3ZhbGFycmF5X2JlZm9yZS5oOiAuLi4gdGhpcywgYW5kIC4uLgoJKiBpbmNsdWRlL2JpdHMvdmFsYXJyYXlfYWZ0ZXIuaDogLi4uIHRoaXMuCgkqIGluY2x1ZGUvc3RkL3N0ZF92YWxhcnJheS5oOiBBZGp1c3QuCgkqIGluY2x1ZGUvTWFrZWZpbGUuYW0gKGJpdHNfaGVhZGVycyk6IEFkanVzdC4KCSogaW5jbHVkZS9NYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCjIwMDMtMDEtMjQgIEFuZHJlYXMgU2Nod2FiICA8c2Nod2FiQHN1c2UuZGU+CgoJKiBjb25maWcvbGlua2VyLW1hcC5nbnU6IEZpeCBmb3Igc2l6ZV90IHZhcmlhbmNlLgoKMjAwMy0wMS0yMyAgUGV0dXIgUnVub2xmc3NvbiAgPHBldHVycjAyQHJ1LmlzPgoKCVBSIGxpYnN0ZGMrKy85MzIyCgkqIGluY2x1ZGUvc3RkL3N0ZF9zdHJlYW1idWYuaAoJKGJhc2ljX3N0cmVhbWJ1Zjo6YmFzaWNfc3RyZWFtYnVmLAoJYmFzaWNfc3RyZWFtYnVmOjp+YmFzaWNfc3RyZWFtYnVmLAoJYmFzaWNfc3RyZWFtYnVmOjpnZXRsb2MsIGJhc2ljX3N0cmVhbWJ1Zjo6aW1idWUpOgoJUmVtb3ZlIF9NX2J1Zl9sb2NhbGVfaW5pdAoJKiBpbmNsdWRlL2JpdHMvZnN0cmVhbS50Y2MgKGJhc2ljX2ZpbGVidWY6OmltYnVlKTogIExpa2V3aXNlCgkqIHRlc3RzdWl0ZS8yN19pby9maWxlYnVmX3ZpcnR1YWxzLmNjICh0ZXN0MDgpOiAgQWRkLgoJKiB0ZXN0c3VpdGUvMjdfaW8vc3RyZWFtYnVmX21lbWJlcnMuY2MgKHRlc3QwOCk6ICBBZGQuCgkqIHRlc3RzdWl0ZS8yN19pby9zdHJpbmdidWZfdmlydHVhbHMuY2MgKHRlc3QwOCk6ICBBZGQuCgoyMDAzLTAxLTIzICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJUmV2ZXJ0IGluY2x1ZGUgb3JkZXJpbmcuCgkqIGNvbmZpZy9sb2NhbGUvZ2VuZXJpYy9jX2xvY2FsZS5oOiBBZGQgaW5jbHVkZSBndWFyZHMuCgkqIGNvbmZpZy9sb2NhbGUvZ251L2NfbG9jYWxlLmg6IFNhbWUuCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfY2xhc3Nlcy5oOiBSZW1vdmUgY2N0eXBlIGluY2x1ZGUuCgkqIGluY2x1ZGUvc3RkL3N0ZF9pb3Nmd2QuaDogQWRkIGMrK2xvY2FsZS5oLCBjY3R5cGUgaW5jbHVkZXMuCgkqIGluY2x1ZGUvc3RkL3N0ZF9mc3RyZWFtLmg6IFJlbW92ZSBzdHJlYW1idWYgaW5jbHVkZS4KCSogaW5jbHVkZS9zdGQvc3RkX3NzdHJlYW0uaDogUmVtb3ZlIHN0cmVhbWJ1ZiBpbmNsdWRlLgoKMjAwMy0wMS0yMyAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmluIChsaWJ0b29sX1ZFUlNJT04pOiBUbyA2OjA6MC4KCSogY29uZmlndXJlOiBSZWdlbmVyYXRlZC4KCSogY29uZmlnL2xpbmtlci1tYXAuZ251OiBDbGVhbi4KCgkqIHNyYy9taXNjLWluc3QuY2M6IFJlbW92ZSBpbnN0YW50aWF0aW9ucy4KCgkqIGluY2x1ZGUvYml0cy9zdGxfYWxsb2MuaCAoX19tYWxsb2NfYWxsb2NfdGVtcGxhdGUpOgoJVG8gX19tYWxsb2NfYWxsb2MuCgkoX19kZWZhdWx0X2FsbG9jX3RlbXBsYXRlKTogVG8gX19wb29sX2FsbG9jLgoJKiBzcmMvc3RsLWluc3QuY2M6IFNhbWUuCgkqIGluY2x1ZGUvYmFja3dhcmQvYWxsb2MuaDogVXBkYXRlLgoJKiB0ZXN0c3VpdGUvZXh0L2FsbG9jYXRvcnMuY2M6IFVwZGF0ZS4KCgkqIHNyYy9nbG9iYWxzLmNjIChfX2dudV9jeHgpOiBSZW1vdmUgX0dMSUJDUFBfQVNNX1NZTVZFUi4gU2hvdWxkCglyZWFsbHkgdHJ5IHRvIHJlbW92ZSB0aGVzZSBpZiBwb3NzaWJsZS4KCSogc3JjL2xvY2FsZS5jYyAoc3RkKTogU2FtZS4KCgkqIHRlc3RzdWl0ZS9hYmlfY2hlY2suY2MgKGNoZWNrX3ZlcnNpb24pOiBBZGQuCgoyMDAzLTAxLTIyICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgkgICAgU3lzb2x0c2V2IFNsYXdhICA8VnlhdGNoZXNsYXYuU3lzb2x0c2V2QGludGVsLmNvbT4KCSAgICBNYXJrIE1pdGNoZWxsICA8bWFya0Bjb2Rlc291cmNlcnkuY29tPgoKCVBSIGxpYnN0ZGMrKy85MjY5CgkqIGluY2x1ZGUvc3RkL3N0ZF9mc3RyZWFtLmggKGJhc2ljX2ZpbGVidWY6OnVmbG93KTogRGVjbGFyZS4KCShiYXNpY19maWxlYnVmOjp1bmRlcmZsb3cpOiBEZWNsYXJlLgoJTW92ZSBkZWZpbml0aW9ucy4KCjIwMDMtMDEtMjIgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLmg6IE1vdmUgbm9uLWZhY2V0IGNsYXNzZXMgcmVxdWlyaW5nCgk8c3RyaW5nPiB0by4uLgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2NsYXNzZXMuaDogTmV3LgoJKiBpbmNsdWRlL2JpdHMvTWFrZWZpbGUuYW0gKGJpdHNfaGVhZGVyc19zcmMpOiBBZGQgbG9jYWxlX2NsYXNzZXMuaC4KCSogaW5jbHVkZS9iaXRzL01ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoKCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMudGNjIChfX2NvbnZlcnRfZnJvbV92KTogTW92ZSB0by4uLgoJKiBjb25maWcvbG9jYWxlL2dudS9jX2xvY2FsZS5oOiAuLi5oZXJlLgoJKiBjb25maWcvbG9jYWxlL2dlbmVyaWMvY19sb2NhbGUuaDogU2FtZS4KCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLnRjYzogTW92ZSBkZWNsYXJhdGlvbnMgdG8uLi4KCSogaW5jbHVkZS9iaXRzL2xvY2FsZV9mYWNldHMuaDogLi4uaGVyZS4KCSogaW5jbHVkZS9iaXRzL2Jhc2ljX2lvcy5oOiBUd2VhayBpbmNsdWRlcyBhY2NvcmRpbmdseS4KCSogaW5jbHVkZS9zdGQvc3RkX3NzdHJlYW0uaDogQWRkIHN0cmVhbWJ1ZiBpbmNsdWRlLgoJKiBpbmNsdWRlL3N0ZC9zdGRfZnN0cmVhbS5oOiBEaXR0by4KCSogaW5jbHVkZS9zdGQvc3RkX2xvY2FsZS5oOiBBZGQgbG9jYWxlX2NsYXNzZXMuaCBpbmNsdWRlLgoJKiBpbmNsdWRlL3N0ZC9zdGRfaW9zZndkLmg6IFR3ZWFrLgoJKiBzcmMvY29uY2VwdC1pbnN0LmNjOiBBZGQgaXRlcmF0b3IgaW5jbHVkZS4KCgkqIGNvbmZpZy9saW5rZXItbWFwLmdudTogU3BlY2lmeSBfX2N4YSBmdW5jdGlvbnMsIG1hcmsgX19jeGFfZHluXyoKCWJpdHMgYXMgdW5leHBvcnRlZCBpbiB0aGUgZnV0dXJlLgoKMjAwMy0wMS0yMSAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCVJlc2h1ZmZsZSAyMl9sb2NhbGUgdGVzdHN1aXRlLgoJKiAyMl9sb2NhbGUvKGNvZGVjdnQuY2MgbW9uZXlfZ2V0LmNjCgljb2RlY3Z0X21lbWJlcnNfY2hhcl9jaGFyLmNjIG1vbmV5X2dldF9tZW1iZXJzX2NoYXIuY2MKCWNvZGVjdnRfbWVtYmVyc191bmljb2RlX2NoYXIuY2MgbW9uZXlfZ2V0X21lbWJlcnNfd2NoYXJfdC5jYwoJY29kZWN2dF9tZW1iZXJzX3VuaWNvZGVfd2NoYXJfdC5jYyBtb25leXB1bmN0X2J5bmFtZS5jYwoJY29kZWN2dF9tZW1iZXJzX3djaGFyX3RfY2hhci5jYyBtb25leXB1bmN0LmNjIGNvbGxhdGVfYnluYW1lLmNjCgltb25leXB1bmN0X21lbWJlcnNfY2hhci5jYyBjb2xsYXRlLmNjIG1vbmV5cHVuY3RfbWVtYmVyc193Y2hhcl90LmNjCgljb2xsYXRlX21lbWJlcnNfY2hhci5jYyBtb25leV9wdXQuY2MgY29sbGF0ZV9tZW1iZXJzX3djaGFyX3QuY2MKCW1vbmV5X3B1dF9tZW1iZXJzX2NoYXIuY2MgY3Rvcl9jb3B5X2R0b3IuY2MKCW1vbmV5X3B1dF9tZW1iZXJzX3djaGFyX3QuY2MgY3R5cGUuY2MgbnVtX2dldC5jYyBjdHlwZV9pc19jaGFyLmNjCgludW1fZ2V0X21lbWJlcnNfY2hhci5jYyBjdHlwZV9pc193Y2hhcl90LmNjIG51bV9nZXRfbWVtYmVyc193Y2hhcl90LmNjCgljdHlwZV9tZW1iZXJzX2NoYXIuY2MgbnVtcHVuY3RfYnluYW1lLmNjIGN0eXBlX21lbWJlcnNfd2NoYXJfdC5jYwoJbnVtcHVuY3QuY2MgY3R5cGVfbmFycm93X2NoYXIuY2MgbnVtcHVuY3RfbWVtYmVyc19jaGFyLmNjCgljdHlwZV9uYXJyb3dfd2NoYXJfdC5jYyBudW1wdW5jdF9tZW1iZXJzX3djaGFyX3QuY2MgY3R5cGVfc2Nhbl9jaGFyLmNjCgludW1fcHV0LmNjIGN0eXBlX3NjYW5fd2NoYXJfdC5jYyBudW1fcHV0X21lbWJlcnNfY2hhci5jYwoJY3R5cGVfdG9fY2hhci5jYyBudW1fcHV0X21lbWJlcnNfd2NoYXJfdC5jYyBjdHlwZV90b193Y2hhcl90LmNjCglvcGVyYXRvcnMuY2MgY3R5cGVfd2lkZW5fY2hhci5jYyBzdGF0aWNfbWVtYmVycy5jYwoJY3R5cGVfd2lkZW5fd2NoYXJfdC5jYyB0aW1lX2dldC5jYyBmYWNldC5jYyB0aW1lX2dldF9tZW1iZXJzX2NoYXIuY2MKCWdsb2JhbF90ZW1wbGF0ZXMuY2MgdGltZV9nZXRfbWVtYmVyc193Y2hhcl90LmNjLCBtZW1iZXJzLmNjLAoJdGltZV9wdXQuY2MsIG1lc3NhZ2VzX2J5bmFtZS5jYywgdGltZV9wdXRfbWVtYmVyc19jaGFyLmNjLAoJbWVzc2FnZXMuY2MsIHRpbWVfcHV0X21lbWJlcnNfd2NoYXJfdC5jYywgbWVzc2FnZXNfbWVtYmVyc19jaGFyLmNjKToKCVNwbGl0IHVwIGludG8gaW5kaXZpZHVhbCB0ZXN0IGNhc2VzLi4uCgkqIDIyX2xvY2FsZS9jb2RlY3Z0LzEuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2NvZGVjdnQvMi5jYzogTmV3LgoJKiAyMl9sb2NhbGUvY29kZWN2dC9hbHdheXNfbm9jb252L2NoYXIvMS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvY29kZWN2dC9hbHdheXNfbm9jb252L2NoYXIvd3JhcHBlZF9lbnYuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2NvZGVjdnQvYWx3YXlzX25vY29udi9jaGFyL3dyYXBwZWRfbG9jYWxlLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9jb2RlY3Z0L2Fsd2F5c19ub2NvbnYvd2NoYXJfdC8xLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9jb2RlY3Z0L2Fsd2F5c19ub2NvbnYvd2NoYXJfdC93cmFwcGVkX2Vudi5jYzogTmV3LgoJKiAyMl9sb2NhbGUvY29kZWN2dC9hbHdheXNfbm9jb252L3djaGFyX3Qvd3JhcHBlZF9sb2NhbGUuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2NvZGVjdnQvZW5jb2RpbmcvY2hhci8xLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9jb2RlY3Z0L2VuY29kaW5nL2NoYXIvd3JhcHBlZF9lbnYuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2NvZGVjdnQvZW5jb2RpbmcvY2hhci93cmFwcGVkX2xvY2FsZS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvY29kZWN2dC9lbmNvZGluZy93Y2hhcl90LzEuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2NvZGVjdnQvZW5jb2Rpbmcvd2NoYXJfdC93cmFwcGVkX2Vudi5jYzogTmV3LgoJKiAyMl9sb2NhbGUvY29kZWN2dC9lbmNvZGluZy93Y2hhcl90L3dyYXBwZWRfbG9jYWxlLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9jb2RlY3Z0L2luL2NoYXIvMS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvY29kZWN2dC9pbi9jaGFyL3dyYXBwZWRfZW52LmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9jb2RlY3Z0L2luL2NoYXIvd3JhcHBlZF9sb2NhbGUuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2NvZGVjdnQvaW4vd2NoYXJfdC8xLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9jb2RlY3Z0L2luL3djaGFyX3Qvd3JhcHBlZF9lbnYuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2NvZGVjdnQvaW4vd2NoYXJfdC93cmFwcGVkX2xvY2FsZS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvY29kZWN2dC9sZW5ndGgvY2hhci8xLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9jb2RlY3Z0L2xlbmd0aC9jaGFyL3dyYXBwZWRfZW52LmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9jb2RlY3Z0L2xlbmd0aC9jaGFyL3dyYXBwZWRfbG9jYWxlLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9jb2RlY3Z0L2xlbmd0aC93Y2hhcl90LzEuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2NvZGVjdnQvbGVuZ3RoL3djaGFyX3Qvd3JhcHBlZF9lbnYuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2NvZGVjdnQvbGVuZ3RoL3djaGFyX3Qvd3JhcHBlZF9sb2NhbGUuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2NvZGVjdnQvbWF4X2xlbmd0aC9jaGFyLzEuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2NvZGVjdnQvbWF4X2xlbmd0aC9jaGFyL3dyYXBwZWRfZW52LmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9jb2RlY3Z0L21heF9sZW5ndGgvY2hhci93cmFwcGVkX2xvY2FsZS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvY29kZWN2dC9tYXhfbGVuZ3RoL3djaGFyX3QvMS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvY29kZWN2dC9tYXhfbGVuZ3RoL3djaGFyX3Qvd3JhcHBlZF9lbnYuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2NvZGVjdnQvbWF4X2xlbmd0aC93Y2hhcl90L3dyYXBwZWRfbG9jYWxlLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9jb2RlY3Z0L291dC9jaGFyLzEuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2NvZGVjdnQvb3V0L2NoYXIvd3JhcHBlZF9lbnYuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2NvZGVjdnQvb3V0L2NoYXIvd3JhcHBlZF9sb2NhbGUuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2NvZGVjdnQvb3V0L3djaGFyX3QvMS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvY29kZWN2dC9vdXQvd2NoYXJfdC93cmFwcGVkX2Vudi5jYzogTmV3LgoJKiAyMl9sb2NhbGUvY29kZWN2dC9vdXQvd2NoYXJfdC93cmFwcGVkX2xvY2FsZS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvY29kZWN2dC91bmljb2RlL2NoYXIuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2NvZGVjdnQvdW5pY29kZS93Y2hhcl90LmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9jb2RlY3Z0L3Vuc2hpZnQvY2hhci8xLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9jb2RlY3Z0L3Vuc2hpZnQvY2hhci93cmFwcGVkX2Vudi5jYzogTmV3LgoJKiAyMl9sb2NhbGUvY29kZWN2dC91bnNoaWZ0L2NoYXIvd3JhcHBlZF9sb2NhbGUuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2NvZGVjdnQvdW5zaGlmdC93Y2hhcl90LzEuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2NvZGVjdnQvdW5zaGlmdC93Y2hhcl90L3dyYXBwZWRfZW52LmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9jb2RlY3Z0L3Vuc2hpZnQvd2NoYXJfdC93cmFwcGVkX2xvY2FsZS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvY29sbGF0ZS8xLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9jb2xsYXRlLzIuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2NvbGxhdGUvY29tcGFyZS9jaGFyLzEuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2NvbGxhdGUvY29tcGFyZS9jaGFyLzIuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2NvbGxhdGUvY29tcGFyZS9jaGFyL3dyYXBwZWRfZW52LmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9jb2xsYXRlL2NvbXBhcmUvY2hhci93cmFwcGVkX2xvY2FsZS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvY29sbGF0ZS9jb21wYXJlL3djaGFyX3QvMS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvY29sbGF0ZS9jb21wYXJlL3djaGFyX3QvMi5jYzogTmV3LgoJKiAyMl9sb2NhbGUvY29sbGF0ZS9jb21wYXJlL3djaGFyX3Qvd3JhcHBlZF9lbnYuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2NvbGxhdGUvY29tcGFyZS93Y2hhcl90L3dyYXBwZWRfbG9jYWxlLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9jb2xsYXRlL2hhc2gvY2hhci8xLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9jb2xsYXRlL2hhc2gvY2hhci8yLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9jb2xsYXRlL2hhc2gvY2hhci93cmFwcGVkX2Vudi5jYzogTmV3LgoJKiAyMl9sb2NhbGUvY29sbGF0ZS9oYXNoL2NoYXIvd3JhcHBlZF9sb2NhbGUuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2NvbGxhdGUvaGFzaC93Y2hhcl90LzEuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2NvbGxhdGUvaGFzaC93Y2hhcl90LzIuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2NvbGxhdGUvaGFzaC93Y2hhcl90L3dyYXBwZWRfZW52LmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9jb2xsYXRlL2hhc2gvd2NoYXJfdC93cmFwcGVkX2xvY2FsZS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvY29sbGF0ZS90cmFuc2Zvcm0vY2hhci8yLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9jb2xsYXRlL3RyYW5zZm9ybS9jaGFyL3dyYXBwZWRfZW52LmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9jb2xsYXRlL3RyYW5zZm9ybS9jaGFyL3dyYXBwZWRfbG9jYWxlLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9jb2xsYXRlL3RyYW5zZm9ybS93Y2hhcl90LzIuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2NvbGxhdGUvdHJhbnNmb3JtL3djaGFyX3Qvd3JhcHBlZF9lbnYuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2NvbGxhdGUvdHJhbnNmb3JtL3djaGFyX3Qvd3JhcHBlZF9sb2NhbGUuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2NvbGxhdGVfYnluYW1lLzEuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2N0eXBlLzEuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2N0eXBlLzIuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2N0eXBlL2NvbnMvY2hhci8xLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9jdHlwZS9jb25zL2NoYXIvd3JhcHBlZF9lbnYuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2N0eXBlL2NvbnMvY2hhci93cmFwcGVkX2xvY2FsZS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvY3R5cGUvaXMvY2hhci8xLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9jdHlwZS9pcy9jaGFyLzIuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2N0eXBlL2lzL2NoYXIvMy5jYzogTmV3LgoJKiAyMl9sb2NhbGUvY3R5cGUvaXMvY2hhci93cmFwcGVkX2Vudi5jYzogTmV3LgoJKiAyMl9sb2NhbGUvY3R5cGUvaXMvY2hhci93cmFwcGVkX2xvY2FsZS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvY3R5cGUvaXMvd2NoYXJfdC8xLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9jdHlwZS9pcy93Y2hhcl90LzIuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2N0eXBlL2lzL3djaGFyX3Qvd3JhcHBlZF9lbnYuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2N0eXBlL2lzL3djaGFyX3Qvd3JhcHBlZF9sb2NhbGUuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2N0eXBlL25hcnJvdy9jaGFyLzEuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2N0eXBlL25hcnJvdy9jaGFyLzIuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2N0eXBlL25hcnJvdy9jaGFyL3dyYXBwZWRfZW52LmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9jdHlwZS9uYXJyb3cvY2hhci93cmFwcGVkX2xvY2FsZS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvY3R5cGUvbmFycm93L3djaGFyX3QvMS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvY3R5cGUvbmFycm93L3djaGFyX3QvMi5jYzogTmV3LgoJKiAyMl9sb2NhbGUvY3R5cGUvbmFycm93L3djaGFyX3Qvd3JhcHBlZF9lbnYuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2N0eXBlL25hcnJvdy93Y2hhcl90L3dyYXBwZWRfbG9jYWxlLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9jdHlwZS9zY2FuL2NoYXIvMS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvY3R5cGUvc2Nhbi9jaGFyL3dyYXBwZWRfZW52LmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9jdHlwZS9zY2FuL2NoYXIvd3JhcHBlZF9sb2NhbGUuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2N0eXBlL3NjYW4vd2NoYXJfdC8xLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9jdHlwZS9zY2FuL3djaGFyX3Qvd3JhcHBlZF9lbnYuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2N0eXBlL3NjYW4vd2NoYXJfdC93cmFwcGVkX2xvY2FsZS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvY3R5cGUvdG8vY2hhci8xLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9jdHlwZS90by9jaGFyL3dyYXBwZWRfZW52LmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9jdHlwZS90by9jaGFyL3dyYXBwZWRfbG9jYWxlLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9jdHlwZS90by93Y2hhcl90LzEuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2N0eXBlL3RvL3djaGFyX3Qvd3JhcHBlZF9lbnYuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2N0eXBlL3RvL3djaGFyX3Qvd3JhcHBlZF9sb2NhbGUuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2N0eXBlL3dpZGVuL2NoYXIvMS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvY3R5cGUvd2lkZW4vY2hhci93cmFwcGVkX2Vudi5jYzogTmV3LgoJKiAyMl9sb2NhbGUvY3R5cGUvd2lkZW4vY2hhci93cmFwcGVkX2xvY2FsZS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvY3R5cGUvd2lkZW4vd2NoYXJfdC8xLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9jdHlwZS93aWRlbi93Y2hhcl90L3dyYXBwZWRfZW52LmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9jdHlwZS93aWRlbi93Y2hhcl90L3dyYXBwZWRfbG9jYWxlLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9mYWNldC8xLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9mYWNldC8yLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9nbG9iYWxfdGVtcGxhdGVzLzEuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2xvY2FsZS9jb25zLzEuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2xvY2FsZS9jb25zLzIuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2xvY2FsZS9jb25zLzMuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2xvY2FsZS9jb25zLzQuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2xvY2FsZS9jb25zLzUuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2xvY2FsZS9jb25zLzYuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2xvY2FsZS9jb25zLzcuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2xvY2FsZS9nbG9iYWxfbG9jYWxlX29iamVjdHMvMS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvbG9jYWxlL2dsb2JhbF9sb2NhbGVfb2JqZWN0cy8yLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9sb2NhbGUvZ2xvYmFsX2xvY2FsZV9vYmplY3RzLzMuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2xvY2FsZS9vcGVyYXRpb25zLzEuY2M6IE5ldy4KCSogMjJfbG9jYWxlL2xvY2FsZS9vcGVyYXRpb25zLzIuY2M6IE5ldy4KCSogMjJfbG9jYWxlL21lc3NhZ2VzLzEuY2M6IE5ldy4KCSogMjJfbG9jYWxlL21lc3NhZ2VzLzIuY2M6IE5ldy4KCSogMjJfbG9jYWxlL21lc3NhZ2VzL21lbWJlcnMvY2hhci8xLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9tZXNzYWdlcy9tZW1iZXJzL2NoYXIvMi5jYzogTmV3LgoJKiAyMl9sb2NhbGUvbWVzc2FnZXMvbWVtYmVycy9jaGFyLzMuY2M6IE5ldy4KCSogMjJfbG9jYWxlL21lc3NhZ2VzL21lbWJlcnMvY2hhci93cmFwcGVkX2Vudi5jYzogTmV3LgoJKiAyMl9sb2NhbGUvbWVzc2FnZXMvbWVtYmVycy9jaGFyL3dyYXBwZWRfbG9jYWxlLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9tZXNzYWdlc19ieW5hbWUvMS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvbW9uZXlfZ2V0LzEuY2M6IE5ldy4KCSogMjJfbG9jYWxlL21vbmV5X2dldC8yLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9tb25leV9nZXQvZ2V0L2NoYXIvMS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvbW9uZXlfZ2V0L2dldC9jaGFyLzIuY2M6IE5ldy4KCSogMjJfbG9jYWxlL21vbmV5X2dldC9nZXQvY2hhci8zLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9tb25leV9nZXQvZ2V0L2NoYXIvNC5jYzogTmV3LgoJKiAyMl9sb2NhbGUvbW9uZXlfZ2V0L2dldC9jaGFyLzUuY2M6IE5ldy4KCSogMjJfbG9jYWxlL21vbmV5X2dldC9nZXQvY2hhci82LmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9tb25leV9nZXQvZ2V0L2NoYXIvNy5jYzogTmV3LgoJKiAyMl9sb2NhbGUvbW9uZXlfZ2V0L2dldC9jaGFyLzguY2M6IE5ldy4KCSogMjJfbG9jYWxlL21vbmV5X2dldC9nZXQvY2hhci93cmFwcGVkX2Vudi5jYzogTmV3LgoJKiAyMl9sb2NhbGUvbW9uZXlfZ2V0L2dldC9jaGFyL3dyYXBwZWRfbG9jYWxlLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9tb25leV9nZXQvZ2V0L3djaGFyX3QvMS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvbW9uZXlfZ2V0L2dldC93Y2hhcl90LzIuY2M6IE5ldy4KCSogMjJfbG9jYWxlL21vbmV5X2dldC9nZXQvd2NoYXJfdC8zLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9tb25leV9nZXQvZ2V0L3djaGFyX3QvNC5jYzogTmV3LgoJKiAyMl9sb2NhbGUvbW9uZXlfZ2V0L2dldC93Y2hhcl90LzUuY2M6IE5ldy4KCSogMjJfbG9jYWxlL21vbmV5X2dldC9nZXQvd2NoYXJfdC82LmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9tb25leV9nZXQvZ2V0L3djaGFyX3QvNy5jYzogTmV3LgoJKiAyMl9sb2NhbGUvbW9uZXlfZ2V0L2dldC93Y2hhcl90LzguY2M6IE5ldy4KCSogMjJfbG9jYWxlL21vbmV5X2dldC9nZXQvd2NoYXJfdC93cmFwcGVkX2Vudi5jYzogTmV3LgoJKiAyMl9sb2NhbGUvbW9uZXlfZ2V0L2dldC93Y2hhcl90L3dyYXBwZWRfbG9jYWxlLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9tb25leV9wdXQvMS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvbW9uZXlfcHV0LzIuY2M6IE5ldy4KCSogMjJfbG9jYWxlL21vbmV5X3B1dC9wdXQvY2hhci8xLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9tb25leV9wdXQvcHV0L2NoYXIvMi5jYzogTmV3LgoJKiAyMl9sb2NhbGUvbW9uZXlfcHV0L3B1dC9jaGFyLzMuY2M6IE5ldy4KCSogMjJfbG9jYWxlL21vbmV5X3B1dC9wdXQvY2hhci80LmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9tb25leV9wdXQvcHV0L2NoYXIvNS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvbW9uZXlfcHV0L3B1dC9jaGFyLzYuY2M6IE5ldy4KCSogMjJfbG9jYWxlL21vbmV5X3B1dC9wdXQvY2hhci93cmFwcGVkX2Vudi5jYzogTmV3LgoJKiAyMl9sb2NhbGUvbW9uZXlfcHV0L3B1dC9jaGFyL3dyYXBwZWRfbG9jYWxlLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9tb25leV9wdXQvcHV0L3djaGFyX3QvMS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvbW9uZXlfcHV0L3B1dC93Y2hhcl90LzIuY2M6IE5ldy4KCSogMjJfbG9jYWxlL21vbmV5X3B1dC9wdXQvd2NoYXJfdC8zLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9tb25leV9wdXQvcHV0L3djaGFyX3QvNC5jYzogTmV3LgoJKiAyMl9sb2NhbGUvbW9uZXlfcHV0L3B1dC93Y2hhcl90LzUuY2M6IE5ldy4KCSogMjJfbG9jYWxlL21vbmV5X3B1dC9wdXQvd2NoYXJfdC82LmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9tb25leV9wdXQvcHV0L3djaGFyX3Qvd3JhcHBlZF9lbnYuY2M6IE5ldy4KCSogMjJfbG9jYWxlL21vbmV5X3B1dC9wdXQvd2NoYXJfdC93cmFwcGVkX2xvY2FsZS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvbW9uZXlwdW5jdC8xLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9tb25leXB1bmN0LzIuY2M6IE5ldy4KCSogMjJfbG9jYWxlL21vbmV5cHVuY3QvMy5jYzogTmV3LgoJKiAyMl9sb2NhbGUvbW9uZXlwdW5jdC9tZW1iZXJzL2NoYXIvMS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvbW9uZXlwdW5jdC9tZW1iZXJzL2NoYXIvMi5jYzogTmV3LgoJKiAyMl9sb2NhbGUvbW9uZXlwdW5jdC9tZW1iZXJzL2NoYXIvd3JhcHBlZF9lbnYuY2M6IE5ldy4KCSogMjJfbG9jYWxlL21vbmV5cHVuY3QvbWVtYmVycy9jaGFyL3dyYXBwZWRfbG9jYWxlLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9tb25leXB1bmN0L21lbWJlcnMvd2NoYXJfdC8xLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9tb25leXB1bmN0L21lbWJlcnMvd2NoYXJfdC8yLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9tb25leXB1bmN0L21lbWJlcnMvd2NoYXJfdC93cmFwcGVkX2Vudi5jYzogTmV3LgoJKiAyMl9sb2NhbGUvbW9uZXlwdW5jdC9tZW1iZXJzL3djaGFyX3Qvd3JhcHBlZF9sb2NhbGUuY2M6IE5ldy4KCSogMjJfbG9jYWxlL21vbmV5cHVuY3RfYnluYW1lLzEuY2M6IE5ldy4KCSogMjJfbG9jYWxlL251bV9nZXQvMS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvbnVtX2dldC8yLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9udW1fZ2V0L2dldC9jaGFyLzEuY2M6IE5ldy4KCSogMjJfbG9jYWxlL251bV9nZXQvZ2V0L2NoYXIvMi5jYzogTmV3LgoJKiAyMl9sb2NhbGUvbnVtX2dldC9nZXQvY2hhci8zLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9udW1fZ2V0L2dldC9jaGFyLzQuY2M6IE5ldy4KCSogMjJfbG9jYWxlL251bV9nZXQvZ2V0L2NoYXIvNS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvbnVtX2dldC9nZXQvY2hhci82LmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9udW1fZ2V0L2dldC9jaGFyL3dyYXBwZWRfZW52LmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9udW1fZ2V0L2dldC9jaGFyL3dyYXBwZWRfbG9jYWxlLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9udW1fZ2V0L2dldC93Y2hhcl90LzEuY2M6IE5ldy4KCSogMjJfbG9jYWxlL251bV9nZXQvZ2V0L3djaGFyX3QvMi5jYzogTmV3LgoJKiAyMl9sb2NhbGUvbnVtX2dldC9nZXQvd2NoYXJfdC8zLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9udW1fZ2V0L2dldC93Y2hhcl90LzQuY2M6IE5ldy4KCSogMjJfbG9jYWxlL251bV9nZXQvZ2V0L3djaGFyX3QvNS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvbnVtX2dldC9nZXQvd2NoYXJfdC82LmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9udW1fZ2V0L2dldC93Y2hhcl90L3dyYXBwZWRfZW52LmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9udW1fZ2V0L2dldC93Y2hhcl90L3dyYXBwZWRfbG9jYWxlLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9udW1fcHV0LzEuY2M6IE5ldy4KCSogMjJfbG9jYWxlL251bV9wdXQvMi5jYzogTmV3LgoJKiAyMl9sb2NhbGUvbnVtX3B1dC9wdXQvY2hhci8xLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9udW1fcHV0L3B1dC9jaGFyLzIuY2M6IE5ldy4KCSogMjJfbG9jYWxlL251bV9wdXQvcHV0L2NoYXIvMy5jYzogTmV3LgoJKiAyMl9sb2NhbGUvbnVtX3B1dC9wdXQvY2hhci80LmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9udW1fcHV0L3B1dC9jaGFyLzUuY2M6IE5ldy4KCSogMjJfbG9jYWxlL251bV9wdXQvcHV0L2NoYXIvd3JhcHBlZF9lbnYuY2M6IE5ldy4KCSogMjJfbG9jYWxlL251bV9wdXQvcHV0L2NoYXIvd3JhcHBlZF9sb2NhbGUuY2M6IE5ldy4KCSogMjJfbG9jYWxlL251bV9wdXQvcHV0L3djaGFyX3QvMS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvbnVtX3B1dC9wdXQvd2NoYXJfdC8yLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9udW1fcHV0L3B1dC93Y2hhcl90LzMuY2M6IE5ldy4KCSogMjJfbG9jYWxlL251bV9wdXQvcHV0L3djaGFyX3QvNC5jYzogTmV3LgoJKiAyMl9sb2NhbGUvbnVtX3B1dC9wdXQvd2NoYXJfdC81LmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9udW1fcHV0L3B1dC93Y2hhcl90L3dyYXBwZWRfZW52LmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9udW1fcHV0L3B1dC93Y2hhcl90L3dyYXBwZWRfbG9jYWxlLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9udW1wdW5jdC8xLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9udW1wdW5jdC8yLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9udW1wdW5jdC9tZW1iZXJzL2NoYXIvMS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvbnVtcHVuY3QvbWVtYmVycy9jaGFyLzIuY2M6IE5ldy4KCSogMjJfbG9jYWxlL251bXB1bmN0L21lbWJlcnMvY2hhci93cmFwcGVkX2Vudi5jYzogTmV3LgoJKiAyMl9sb2NhbGUvbnVtcHVuY3QvbWVtYmVycy9jaGFyL3dyYXBwZWRfbG9jYWxlLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9udW1wdW5jdC9tZW1iZXJzL3djaGFyX3QvMS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvbnVtcHVuY3QvbWVtYmVycy93Y2hhcl90LzIuY2M6IE5ldy4KCSogMjJfbG9jYWxlL251bXB1bmN0L21lbWJlcnMvd2NoYXJfdC93cmFwcGVkX2Vudi5jYzogTmV3LgoJKiAyMl9sb2NhbGUvbnVtcHVuY3QvbWVtYmVycy93Y2hhcl90L3dyYXBwZWRfbG9jYWxlLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS9udW1wdW5jdF9ieW5hbWUvMS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvbnVtcHVuY3RfYnluYW1lLzIuY2M6IE5ldy4KCSogMjJfbG9jYWxlL3RpbWVfZ2V0LzEuY2M6IE5ldy4KCSogMjJfbG9jYWxlL3RpbWVfZ2V0LzIuY2M6IE5ldy4KCSogMjJfbG9jYWxlL3RpbWVfZ2V0L2RhdGVfb3JkZXIvY2hhci8xLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS90aW1lX2dldC9kYXRlX29yZGVyL2NoYXIvd3JhcHBlZF9lbnYuY2M6IE5ldy4KCSogMjJfbG9jYWxlL3RpbWVfZ2V0L2RhdGVfb3JkZXIvY2hhci93cmFwcGVkX2xvY2FsZS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvdGltZV9nZXQvZGF0ZV9vcmRlci93Y2hhcl90LzEuY2M6IE5ldy4KCSogMjJfbG9jYWxlL3RpbWVfZ2V0L2RhdGVfb3JkZXIvd2NoYXJfdC93cmFwcGVkX2Vudi5jYzogTmV3LgoJKiAyMl9sb2NhbGUvdGltZV9nZXQvZGF0ZV9vcmRlci93Y2hhcl90L3dyYXBwZWRfbG9jYWxlLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS90aW1lX2dldC9nZXRfZGF0ZS9jaGFyLzEuY2M6IE5ldy4KCSogMjJfbG9jYWxlL3RpbWVfZ2V0L2dldF9kYXRlL2NoYXIvMi5jYzogTmV3LgoJKiAyMl9sb2NhbGUvdGltZV9nZXQvZ2V0X2RhdGUvY2hhci8zLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS90aW1lX2dldC9nZXRfZGF0ZS9jaGFyL3dyYXBwZWRfZW52LmNjOiBOZXcuCgkqIDIyX2xvY2FsZS90aW1lX2dldC9nZXRfZGF0ZS9jaGFyL3dyYXBwZWRfbG9jYWxlLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS90aW1lX2dldC9nZXRfZGF0ZS93Y2hhcl90LzEuY2M6IE5ldy4KCSogMjJfbG9jYWxlL3RpbWVfZ2V0L2dldF9kYXRlL3djaGFyX3QvMi5jYzogTmV3LgoJKiAyMl9sb2NhbGUvdGltZV9nZXQvZ2V0X2RhdGUvd2NoYXJfdC8zLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS90aW1lX2dldC9nZXRfZGF0ZS93Y2hhcl90L3dyYXBwZWRfZW52LmNjOiBOZXcuCgkqIDIyX2xvY2FsZS90aW1lX2dldC9nZXRfZGF0ZS93Y2hhcl90L3dyYXBwZWRfbG9jYWxlLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS90aW1lX2dldC9nZXRfbW9udGhuYW1lL2NoYXIvMS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvdGltZV9nZXQvZ2V0X21vbnRobmFtZS9jaGFyLzIuY2M6IE5ldy4KCSogMjJfbG9jYWxlL3RpbWVfZ2V0L2dldF9tb250aG5hbWUvY2hhci8zLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS90aW1lX2dldC9nZXRfbW9udGhuYW1lL2NoYXIvd3JhcHBlZF9lbnYuY2M6IE5ldy4KCSogMjJfbG9jYWxlL3RpbWVfZ2V0L2dldF9tb250aG5hbWUvY2hhci93cmFwcGVkX2xvY2FsZS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvdGltZV9nZXQvZ2V0X21vbnRobmFtZS93Y2hhcl90LzEuY2M6IE5ldy4KCSogMjJfbG9jYWxlL3RpbWVfZ2V0L2dldF9tb250aG5hbWUvd2NoYXJfdC8yLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS90aW1lX2dldC9nZXRfbW9udGhuYW1lL3djaGFyX3QvMy5jYzogTmV3LgoJKiAyMl9sb2NhbGUvdGltZV9nZXQvZ2V0X21vbnRobmFtZS93Y2hhcl90L3dyYXBwZWRfZW52LmNjOiBOZXcuCgkqIDIyX2xvY2FsZS90aW1lX2dldC9nZXRfbW9udGhuYW1lL3djaGFyX3Qvd3JhcHBlZF9sb2NhbGUuY2M6IE5ldy4KCSogMjJfbG9jYWxlL3RpbWVfZ2V0L2dldF90aW1lL2NoYXIvMS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvdGltZV9nZXQvZ2V0X3RpbWUvY2hhci8yLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS90aW1lX2dldC9nZXRfdGltZS9jaGFyLzMuY2M6IE5ldy4KCSogMjJfbG9jYWxlL3RpbWVfZ2V0L2dldF90aW1lL2NoYXIvd3JhcHBlZF9lbnYuY2M6IE5ldy4KCSogMjJfbG9jYWxlL3RpbWVfZ2V0L2dldF90aW1lL2NoYXIvd3JhcHBlZF9sb2NhbGUuY2M6IE5ldy4KCSogMjJfbG9jYWxlL3RpbWVfZ2V0L2dldF90aW1lL3djaGFyX3QvMS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvdGltZV9nZXQvZ2V0X3RpbWUvd2NoYXJfdC8yLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS90aW1lX2dldC9nZXRfdGltZS93Y2hhcl90LzMuY2M6IE5ldy4KCSogMjJfbG9jYWxlL3RpbWVfZ2V0L2dldF90aW1lL3djaGFyX3Qvd3JhcHBlZF9lbnYuY2M6IE5ldy4KCSogMjJfbG9jYWxlL3RpbWVfZ2V0L2dldF90aW1lL3djaGFyX3Qvd3JhcHBlZF9sb2NhbGUuY2M6IE5ldy4KCSogMjJfbG9jYWxlL3RpbWVfZ2V0L2dldF93ZWVrZGF5L2NoYXIvMS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvdGltZV9nZXQvZ2V0X3dlZWtkYXkvY2hhci8yLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS90aW1lX2dldC9nZXRfd2Vla2RheS9jaGFyLzMuY2M6IE5ldy4KCSogMjJfbG9jYWxlL3RpbWVfZ2V0L2dldF93ZWVrZGF5L2NoYXIvd3JhcHBlZF9lbnYuY2M6IE5ldy4KCSogMjJfbG9jYWxlL3RpbWVfZ2V0L2dldF93ZWVrZGF5L2NoYXIvd3JhcHBlZF9sb2NhbGUuY2M6IE5ldy4KCSogMjJfbG9jYWxlL3RpbWVfZ2V0L2dldF93ZWVrZGF5L3djaGFyX3QvMS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvdGltZV9nZXQvZ2V0X3dlZWtkYXkvd2NoYXJfdC8yLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS90aW1lX2dldC9nZXRfd2Vla2RheS93Y2hhcl90LzMuY2M6IE5ldy4KCSogMjJfbG9jYWxlL3RpbWVfZ2V0L2dldF93ZWVrZGF5L3djaGFyX3Qvd3JhcHBlZF9lbnYuY2M6IE5ldy4KCSogMjJfbG9jYWxlL3RpbWVfZ2V0L2dldF93ZWVrZGF5L3djaGFyX3Qvd3JhcHBlZF9sb2NhbGUuY2M6IE5ldy4KCSogMjJfbG9jYWxlL3RpbWVfZ2V0L2dldF95ZWFyL2NoYXIvMS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvdGltZV9nZXQvZ2V0X3llYXIvY2hhci8zLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS90aW1lX2dldC9nZXRfeWVhci9jaGFyL3dyYXBwZWRfZW52LmNjOiBOZXcuCgkqIDIyX2xvY2FsZS90aW1lX2dldC9nZXRfeWVhci9jaGFyL3dyYXBwZWRfbG9jYWxlLmNjOiBOZXcuCgkqIDIyX2xvY2FsZS90aW1lX2dldC9nZXRfeWVhci93Y2hhcl90LzEuY2M6IE5ldy4KCSogMjJfbG9jYWxlL3RpbWVfZ2V0L2dldF95ZWFyL3djaGFyX3QvMy5jYzogTmV3LgoJKiAyMl9sb2NhbGUvdGltZV9nZXQvZ2V0X3llYXIvd2NoYXJfdC93cmFwcGVkX2Vudi5jYzogTmV3LgoJKiAyMl9sb2NhbGUvdGltZV9nZXQvZ2V0X3llYXIvd2NoYXJfdC93cmFwcGVkX2xvY2FsZS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvdGltZV9wdXQvMS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvdGltZV9wdXQvMi5jYzogTmV3LgoJKiAyMl9sb2NhbGUvdGltZV9wdXQvcHV0L2NoYXIvMS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvdGltZV9wdXQvcHV0L2NoYXIvMTAuY2M6IE5ldy4KCSogMjJfbG9jYWxlL3RpbWVfcHV0L3B1dC9jaGFyLzIuY2M6IE5ldy4KCSogMjJfbG9jYWxlL3RpbWVfcHV0L3B1dC9jaGFyLzMuY2M6IE5ldy4KCSogMjJfbG9jYWxlL3RpbWVfcHV0L3B1dC9jaGFyLzQuY2M6IE5ldy4KCSogMjJfbG9jYWxlL3RpbWVfcHV0L3B1dC9jaGFyLzUuY2M6IE5ldy4KCSogMjJfbG9jYWxlL3RpbWVfcHV0L3B1dC9jaGFyLzYuY2M6IE5ldy4KCSogMjJfbG9jYWxlL3RpbWVfcHV0L3B1dC9jaGFyLzcuY2M6IE5ldy4KCSogMjJfbG9jYWxlL3RpbWVfcHV0L3B1dC9jaGFyLzguY2M6IE5ldy4KCSogMjJfbG9jYWxlL3RpbWVfcHV0L3B1dC9jaGFyLzkuY2M6IE5ldy4KCSogMjJfbG9jYWxlL3RpbWVfcHV0L3B1dC9jaGFyL3dyYXBwZWRfZW52LmNjOiBOZXcuCgkqIDIyX2xvY2FsZS90aW1lX3B1dC9wdXQvY2hhci93cmFwcGVkX2xvY2FsZS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvdGltZV9wdXQvcHV0L3djaGFyX3QvMS5jYzogTmV3LgoJKiAyMl9sb2NhbGUvdGltZV9wdXQvcHV0L3djaGFyX3QvMTAuY2M6IE5ldy4KCSogMjJfbG9jYWxlL3RpbWVfcHV0L3B1dC93Y2hhcl90LzIuY2M6IE5ldy4KCSogMjJfbG9jYWxlL3RpbWVfcHV0L3B1dC93Y2hhcl90LzMuY2M6IE5ldy4KCSogMjJfbG9jYWxlL3RpbWVfcHV0L3B1dC93Y2hhcl90LzQuY2M6IE5ldy4KCSogMjJfbG9jYWxlL3RpbWVfcHV0L3B1dC93Y2hhcl90LzUuY2M6IE5ldy4KCSogMjJfbG9jYWxlL3RpbWVfcHV0L3B1dC93Y2hhcl90LzYuY2M6IE5ldy4KCSogMjJfbG9jYWxlL3RpbWVfcHV0L3B1dC93Y2hhcl90LzcuY2M6IE5ldy4KCSogMjJfbG9jYWxlL3RpbWVfcHV0L3B1dC93Y2hhcl90LzguY2M6IE5ldy4KCSogMjJfbG9jYWxlL3RpbWVfcHV0L3B1dC93Y2hhcl90LzkuY2M6IE5ldy4KCSogMjJfbG9jYWxlL3RpbWVfcHV0L3B1dC93Y2hhcl90L3dyYXBwZWRfZW52LmNjOiBOZXcuCgkqIDIyX2xvY2FsZS90aW1lX3B1dC9wdXQvd2NoYXJfdC93cmFwcGVkX2xvY2FsZS5jYzogTmV3LgoKMjAwMy0wMS0xNiAgSmVmZnJleSBELiBPbGRoYW0gIDxvbGRoYW1AY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGNvbmZpZy9sb2NhbGUvZ2VuZXJpYy9tZXNzYWdlc19tZW1iZXJzLmgKCShtZXNzYWdlc19ieW5hbWU8X0NoYXJUPjo6bWVzc2FnZXNfYnluYW1lKTogVXNlIHRoaXMtPiB0byByZWZlciB0bwoJdW5xdWFsaWZpZWQgbWVtYmVycyBvZiBiYXNlIGNsYXNlc3MuCgoyMDAzLTAxLTE2ICBNYXJrIE1pdGNoZWxsICA8bWFya0Bjb2Rlc291cmNlcnkuY29tPgoJICAgIEplZmZyZXkgT2xkaGFtIDxvbGRoYW1AY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGNvbmZpZy9sb2NhbGUvZ251L21lc3NhZ2VzX21lbWJlcnMuaDogVXNlIHRoaXMtPiB0byByZWZlciB0bwoJdW5xdWFsaWZpZWQgbWVtYmVycyBvZiBiYXNlIGNsYXNlc3MuCgkqIGNvbmZpZy9sb2NhbGUvaWVlZV8xMDAzLjEtMjAwMS9jb2RlY3Z0X3NwZWNpYWxpemF0aW9ucy5oOiBMaWtld2lzZS4KCSogaW5jbHVkZS9iaXRzL2NvZGVjdnQuaDogTGlrZXdpc2UuCgkqIGluY2x1ZGUvYml0cy9kZXF1ZS50Y2M6IExpa2V3aXNlLgoJKiBpbmNsdWRlL2JpdHMvZnN0cmVhbS50Y2M6IExpa2V3aXNlLgoJKiBpbmNsdWRlL2JpdHMvaXN0cmVhbS50Y2M6IExpa2V3aXNlLgoJKiBpbmNsdWRlL2JpdHMvbGlzdC50Y2M6IExpa2V3aXNlLgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy5oOiBMaWtld2lzZS4KCSogaW5jbHVkZS9iaXRzL29zdHJlYW0udGNjOiBMaWtld2lzZS4KCSogaW5jbHVkZS9iaXRzL3NzdHJlYW0udGNjOiBMaWtld2lzZS4KCSogaW5jbHVkZS9iaXRzL3N0bF9idmVjdG9yLmg6IExpa2V3aXNlLgoJKiBpbmNsdWRlL2JpdHMvc3RsX2RlcXVlLmg6IExpa2V3aXNlLgoJKiBpbmNsdWRlL2JpdHMvc3RsX2xpc3QuaDogTGlrZXdpc2UuCgkqIGluY2x1ZGUvYml0cy9zdGxfdHJlZS5oOiBMaWtld2lzZS4KCSogaW5jbHVkZS9iaXRzL3N0bF92ZWN0b3IuaDogTGlrZXdpc2UuCgkqIGluY2x1ZGUvYml0cy92ZWN0b3IudGNjOiBMaWtld2lzZS4KCSogaW5jbHVkZS9leHQvcm9wZWltcGwuaDogTGlrZXdpc2UuCgkqIGluY2x1ZGUvZXh0L3N0ZGlvX2ZpbGVidWYuaDogTGlrZXdpc2UuCgkqIGluY2x1ZGUvZXh0L3N0bF9yb3BlLmg6IExpa2V3aXNlLgoJKiBpbmNsdWRlL3N0ZC9zdGRfZnN0cmVhbS5oOiBMaWtld2lzZS4KCSogaW5jbHVkZS9zdGQvc3RkX3NzdHJlYW0uaDogTGlrZXdpc2UuCgoyMDAzLTAxLTE1ICBQaGlsIEVkd2FyZHMgIDxwbWVAZ2NjLmdudS5vcmc+CgoJKiBpbmNsdWRlL2JpdHMvYmFzaWNfc3RyaW5nLnRjYyAoX1Nfc3RyaW5nX2NvcHkpOiBVbnVzZWQsIHJlbW92ZS4KCjIwMDMtMDEtMTUgIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGFjaW5jbHVkZS5tNCAoR0xJQkNQUF9DSEVDS19XQ0hBUl9UX1NVUFBPUlQpOiBTdWJzdGl0dXRlCglHTElCQ1BQX1RFU1RfV0NIQVJfVCBpZiBidWlsZGluZyB3Y2hhcl90IGJpdHMgaW4gdGhlIGxpYnJhcnkuCgkqIGFjbG9jYWwubTQ6IFJlZ2VuZXJhdGUuCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZS4KCSogdGVzdHN1aXRlL01ha2VmaWxlLmFtIChhbGwtbG9jYWwpOiBBZGQgY29uZGl0aW9uYWwgcnVsZSB0bwoJZ2VuZXJhdGUgdGVzdHN1aXRlX3djaGFyX3QuCgkqIHRlc3RzdWl0ZS9NYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCSogdGVzdHN1aXRlL2xpYi9saWJzdGRjKystdjMtZGcuZXhwCgkobGlic3RkYysrLXYzLWxpc3Qtc291cmNlZmlsZXMpOiBSZW1vdmUgd2NoYXJfdCBmaWxlcyBpZgoJdGVzdHN1aXRlX3djaGFyX3QgaXMgbm90IHByZXNlbnQgaW4gdGhlIGJ1aWxkIGRpcmVjdG9yeS4KCSogdGVzdHN1aXRlL2xpYnN0ZGMrKy12My5kZy9kZy5leHA6IEFkZCAtZyAtTzIgdG8gREVGQVVMVF9DWFhGTEFHUy4KCVJlbW92ZSBzZXR1bGltaXQgYml0cy4KCSogdGVzdHN1aXRlLzI2X251bWVyaWNzL2NvbXBsZXhfdmFsdWUuY2M6IFNldCB0byBub29wdHMuCgkqIHRlc3RzdWl0ZS9NYWtlZmlsZS5hbSAoQ0xFQU5GSUxFUyk6IEFkZC4KCSogdGVzdHN1aXRlL01ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoKMjAwMy0wMS0xNSAgSm9obiBEYXZpZCBBbmdsaW4gIDxkYXZlQGhpYXVseTEuaGlhLm5yYy5jYT4KCgkqIGNvbmZpZy9vcy9ocHV4L29zX2RlZmluZXMuaCAoX0dMSUJDUFBfR1RIUkVBRF9VU0VfV0VBSyk6IERlZmluZSBmb3IKCV9faHBwYV9fLgoKMjAwMy0wMS0xNCAgSmVmZnJleSBELiBPbGRoYW0gIDxvbGRoYW1AY29kZXNvdXJjZXJ5LmNvbT4KCglGdXJ0aGVyIGNvbmZvcm0gZysrJ3MgX192bWlfY2xhc3NfdHlwZV9pbmZvIHRvIHRoZSBDKysgQUJJCglzcGVjaWZpY2F0aW9uLgoJKiBsaWJzdXBjKysvY3h4YWJpLmgKCShfX3ZtaV9jbGFzc190eXBlX2luZm86Ol9fZmxhZ3NfbWFza3MpOiBSZW1vdmUgZW51bWVyYXRpb25zIG5vdAoJcmVxdWlyZWQgYnkgdGhlIHNwZWNpZmljYXRpb24uCgoyMDAzLTAxLTEyICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJUmVuYW1lcywgbmFtZXNwYWNlcyBmb3IgdGVzdHN1aXRlIHV0aWxpdGllcy4KCSogdGVzdHN1aXRlL3Rlc3RzdWl0ZV9ob29rcy5oOiBQdXQgaW50byBuYW1lc3BhY2UgX19nbnVfY3h4X3Rlc3QuCgkoZ251X2FsbG9jYXRvcl90cmFja2VyKTogUmVuYW1lIHRvIGFsbG9jYXRpb25fdHJhY2tlci4KCShnbnVfbmV3X2FsbG9jYXRvcik6IFJlbmFtZSB0byB0cmFja2VyX2FsbG9jLgoJKF9fc2V0X3Rlc3RzdWl0ZV9tZW1saW1pdCk6IFJlbmFtZSB0byBzZXRfbWVtb3J5X2xpbWl0cy4KCShnbnVfYXNzaWdubWVudF9vcGVyYXRvcik6IFJlbmFtZSB0byBhc3NpZ25tZW50X29wZXJhdG9yLgoJKGdudV9kZXN0cnVjdG9yKTogUmVuYW1lIHRvIGRlc3RydWN0b3IuCgkoZ251X2NvcHlfdHJhY2tlcik6IFJlbmFtZSB0byBjb3B5X3RyYWNrZXIuCgkoZ251X2NoYXIsIGdudV9pbnQsIGdudV9sb25nKTogUmVuYW1lIHRvIHBvZF9jaGFyLCBwb2RfaW50LCBwb2RfbG9uZy4KCShydW5fdGVzdHNfd3JhcHBlZF9sb2NhbGUpOiBOZXcuCgkocnVuX3Rlc3RzX3dyYXBwZWRfZW52KTogTmV3LgoJKiB0ZXN0c3VpdGUvdGVzdHN1aXRlX2hvb2tzLmNjOiBTYW1lLgoJKGNsYXNzIGxvY2FsZV9kYXRhKTogQWRkLgoJKGNsYXNzIGVudmlvcm5tZW50X3ZhcmlhYmxlKTogQWRkLgoJKGNsYXNzIG5vdF9mb3VuZCk6IEFkZC4KCSogdGVzdHN1aXRlL3Rlc3RzdWl0ZV9hbGxvY2F0b3IuaDogU2FtZS4KCSogdGVzdHN1aXRlL3Rlc3RzdWl0ZV9hbGxvY2F0b3IuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yM19jb250YWluZXJzL2RlcXVlX2N0b3IuY2MKCSh0ZXN0X2NvcHlfY3Rvcl9leGNlcHRpb25fc2FmZXR5KTogQ2hhbmdlIGdudV9hbGxvY2F0b3JfdHJhY2tlciB0bwoJYWxsb2NhdGlvbl90cmFja2VyLgoJQ2hhbmdlIGdudV9uZXdfYWxsb2NhdG9yIHRvIHRyYWNrZXJfYWxsb2MuCglDaGFuZ2UgZ251X2NvdW50aW5nX3N0cnVjdCB0byBjb3VudGVyLgoJQ2hhbmdlIGdudV9jb3B5X3RyYWNrZXIgdG8gY29weV90cmFja2VyLgoJQ2hhbmdlIGdudV9jb3B5X2NvbnN0cnVjdG9yIHRvIGNvcHlfY29uc3RydWN0b3IuCglDaGFuZ2UgZ251X2Fzc2lnbm1lbnRfb3BlcmF0b3IgdG8gYXNzaWdubWVudF9vcGVyYXRvci4KCUluamVjdC4KCSogdGVzdHN1aXRlLzIzX2NvbnRhaW5lcnMvdmVjdG9yX2NhcGFjaXR5LmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjNfY29udGFpbmVycy92ZWN0b3JfY3Rvci5jYyAodGVzdDAxKTogU2FtZS4KCSogdGVzdHN1aXRlLzIzX2NvbnRhaW5lcnMvbGlzdF9tb2RpZmllcnMuY2M6IENoYW5nZQoJZ251X2NvcHlfdHJhY2tlciB0byBjb3B5X3RyYWNrZXIuCgkqIHRlc3RzdWl0ZS8yMV9zdHJpbmdzL2N0b3JfY29weV9kdG9yLmNjIChtYWluKTogQ2hhbmdlCglfX3NldF90ZXN0c3VpdGVfbWVtbGltaXQgdG8gc2V0X21lbW9yeV9saW1pdHMuCgkqIHRlc3RzdWl0ZS8yMV9zdHJpbmdzL2luc2VydC5jYyAobWFpbik6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yN19pby9maWxlYnVmLmNjOiBDaGFuZ2UgZ251X2NoYXIgdG8gcG9kX2NoYXIuCgkqIHRlc3RzdWl0ZS8yN19pby9zdHJpbmdzdHJlYW0uY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yN19pby9zdHJpbmdidWYuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yN19pby9zdHJlYW1idWYuY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS8yN19pby9vc3RyZWFtLmNjOiBTYW1lLgoJKiB0ZXN0c3VpdGUvMjdfaW8vaXN0cmVhbS5jYzogU2FtZS4KCSogdGVzdHN1aXRlLzI3X2lvL2ZzdHJlYW0uY2M6IFNhbWUuCgkqIHRlc3RzdWl0ZS9saWIvbGlic3RkYysrLXYzLWRnLmV4cAoJKGxpYnN0ZGMrKy12My1saXN0LXNvdXJjZWZpbGVzKTogQWRkaXRpb25hbGx5IGhhbmRsZSBmaWxlcyB0d28gYW5kCgl0aHJlZSBsZXZlbHMgZGVlcGVyIGluIGdsb2IgcGF0dGVybnMuCgoyMDAzLTAxLTExICBQaGlsIEVkd2FyZHMgIDxwbWVAZ2NjLmdudS5vcmc+CgoJKiBkb2NzL2RveHlnZW4vdGFibGVzLmh0bWw6ICBGaW5pc2hlZCBub3cuCgkqIGRvY3MvZG94eWdlbi91c2VyLmNmZy5pbjogIFVwZGF0ZSB0byBsYXRlc3QgdmVyc2lvbiBvZiBEb3h5Z2VuLgoJKiBpbmNsdWRlL2JpdHMvYmFzaWNfaW9zLmggKGJhc2ljX2lvczo6cmRidWYpOiAgQWRkIGV4YW1wbGUgdG8KCWNvbW1lbnRzLgoKCSogaW5jbHVkZS9iaXRzL2RlcXVlLnRjYywgaW5jbHVkZS9iaXRzL3N0bF9hbGxvYy5oLAoJaW5jbHVkZS9iaXRzL3N0bF9kZXF1ZS5oLCBpbmNsdWRlL2JpdHMvc3RsX2xpc3QuaCwKCWluY2x1ZGUvYml0cy9zdGxfdmVjdG9yLmg6ICBSZW1vdmUgX0dMSUJDUFBfREVQUkVDQVRFRCBiaXRzIHNjaGVkdWxlZAoJZm9yIDMuNCByZW1vdmFsLgoKMjAwMy0wMS0wOSAgQmVuamFtaW4gS29zbmlrICA8YmtvekByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmluOiBSZXZlcnQuCgkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZS4KCjIwMDMtMDEtMDkgIENocmlzdGlhbiBDb3JuZWxzc2VuICA8Y2Nvcm5AY3MudHUtYmVybGluLmRlPgoKCSogaW5jbHVkZS9NYWtlZmlsZS5hbSAoaW5zdGFsbC1kYXRhLWxvY2FsKTogUHJlcGVuZAoJJChERVNURElSKSB0byBkZXN0aW5hdGlvbiBwYXRocyBpbiBhbGwgKHVuKWluc3RhbGxhdGlvbgoJY29tbWFuZHMuICBVc2UgJHtjX2Jhc2VfYnVpbGRkaXJ9IGFuZCAke3N0ZF9idWlsZGRpcn0KCWFzIGRlc3RpbmF0aW9uIHN1YmRpcmVjdG9yaWVzIHRvIGFjaGlldmUgY29uc2lzdGVuY3kgd2l0aAoJcHJlY2VkaW5nIG1raW5zdGFsbGRpcnMgY29tbWFuZHMuICBObyBlZmZlY3QgYmVjYXVzZSBib3RoCgl2YXJpYWJsZXMgY29udGFpbiAiLiIgb25seS4KCSogaW5jbHVkZS9NYWtlZmlsZS5pbjogUmVnZW5lcmF0ZS4KCjIwMDMtMDEtMDggIEJlbmphbWluIEtvc25payAgPGJrb3pAcmVkaGF0LmNvbT4KCgkqIGluY2x1ZGUvTWFrZWZpbGUuYW0gKHN0YW1wLSopOiBBZGQgY2hlY2tzIGZvciBleGlzdGluZyBzdGFtcHMuCgkqIGluY2x1ZGUvTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgoJKiBhY2luY2x1ZGUubTQgKEdMSUJDUFBfRU5BQkxFX0RFQlVHKTogQ29ycmVjdCBjb21tZW50LgoJKiBhY2xvY2FsLm00OiBSZWdlbmVyYXRlLgoKCSogY29uZmlndXJlLmluOiBEb24ndCBhZGQgbmV3IG11bHRpLWRvIHJ1bGVzIGV2ZXJ5IHRpbWUgdGhlCglkaXJlY3RvcnkgaXMgcmVjb25maWd1cmVkLgoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGUuCgoyMDAzLTAxLTA4ICBCcmFkIFNwZW5jZXIgIDxzcGVuY2VyQGluZm9pbnRlcmFjdGl2ZS5jb20+CgkgICAgTmF0aGFuIE15ZXJzICA8bmNtQGNhbnRyaXAub3JnPgoKCSogc3JjL01ha2VmaWxlLmFtIChzdGFtcC1kZWJ1Zyk6IENsZWFuLgoJKiBzcmMvTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgoyMDAzLTAxLTA3ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJUFIgbGlic3RkYysrLzg3MDcKCSogTWFrZWZpbGUuYW0gKGRpc3RjbGVhbi1tdWx0aSk6IEZpeC4KCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGUuCgoyMDAzLTAxLTA2ICBCZW5qYW1pbiBLb3NuaWsgIDxia296QHJlZGhhdC5jb20+CgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy5oIChtZXNzYWdlcyk6IE1vdmUgY3RvciwgZHRvcgoJZGVmaW5pdGlvbnMgdG8uLgoJKF9fdGltZXB1bmN0KTogU2FtZS4KCSogY29uZmlnL2xvY2FsZS9nbnUvbWVzc2FnZXNfbWVtYmVycy5oIChtZXNzYWdlcyk6IEFkZCBkdG9yLCBjdG9yCglkZWZpbml0aW9ucy4gQ29uZGl0aW9uYWxpemUgZm9yIEdOVSBzeXN0ZW1zLgoJKiBjb25maWcvbG9jYWxlL2dlbmVyaWMvbWVzc2FnZXNfbWVtYmVycy5oIChtZXNzYWdlcyk6IEFkZCBkdG9yLCBjdG9yCglkZWZpbml0aW9ucy4KCSogY29uZmlnL2xvY2FsZS9nbnUvdGltZV9tZW1iZXJzLmggKG1lc3NhZ2VzKTogTmV3LiBBZGQgZHRvciwgY3RvcgoJZGVmaW5pdGlvbnMuIENvbmRpdGlvbmFsaXplIGZvciBHTlUgc3lzdGVtcy4KCSogY29uZmlnL2xvY2FsZS9nZW5lcmljL3RpbWVfbWVtYmVycy5oIChtZXNzYWdlcyk6IE5ldy4gQWRkIGR0b3IsIGN0b3IKCWRlZmluaXRpb25zLgoJKiBpbmNsdWRlL2JpdHMvbG9jYWxlZndkLmggKGxvY2FsZTo6ZmFjZXQ6Ol9TX2NfbmFtZSk6IEFkZC4KCSogc3JjL2xvY2FsZS5jYzogRGVmaW5lLgoJKiBzcmMvbG9jYWxlbmFtZS5jYyAobG9jYWxlOjpfSW1wbDo6X0ltcGwoZmFjZXQqKiwgc2l6ZV90LCBib29sKToKCVVzZSBpdC4KCSogY29uZmlnL2xvY2FsZS9nbnUvdGltZV9tZW1iZXJzLmg6IFVzZSBpdC4KCSogY29uZmlnL2xvY2FsZS9nbnUvbWVzc2FnZXNfbWVtYmVycy5oOiBVc2UgaXQuCgkqIGNvbmZpZy9saW5rZXItbWFwLmdudTogQWRkIGxvY2FsZTo6ZmFjZXRzIGRldGFpbHMuCgkqIGluY2x1ZGUvTWFrZWZpbGUuYW0gKHRhcmdldF9oZWFkZXJzX2V4dHJhKTogQWRkIHRpbWVfbWVtYmVycy5oLgoJKiBpbmNsdWRlL01ha2VmaWxlLmluOiBSZWdlbmVyYXRlLgoJKiBhY2luY2x1ZGUubTQ6IEV4cG9ydCBDVElNRV9ILgoJKiBhY2xvY2FsLm00OiBSZWdlbmVyYXRlLgoJKiBjb25maWd1cmU6IFJlZ25lcmF0ZS4KCjIwMDMtMDEtMDYgIFBhb2xvIENhcmxpbmkgIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJKiBzcmMvY29kZWN2dC5jYwoJKGNvZGVjdnQ8Y2hhciwgY2hhciwgbWJzdGF0ZV90Pjo6ZG9faW4sIGRvX291dCk6CglUd2VhayBwYXJhbWV0ZXJzIHRvIGF2b2lkIHVudXNlZCBwYXJhbWV0ZXIgd2FybmluZ3MuCgoyMDAzLTAxLTA2ICBQYW9sbyBDYXJsaW5pICA8cGNhcmxpbmlAdW5pdHVzLml0PgoKCVBSIGxpYnN0ZGMrKy85MTUxCgkqIGluY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLmNjIChudW1fcHV0OjpfTV9jb252ZXJ0X2Zsb2F0KToKCUxpbWl0IF9fcHJlYyB0byBkaWdpdHMxMCArIDIsIG5vdCBkaWdpdHMxMCArIDEsIHRha2luZyBpbnRvCglhY2NvdW50IHRoZSBwb3NzaWJpbGl0eSBvZiAle2csR30gY29udmVyc2lvbiBzcGVjaWZpZXJzCglpbnNpZGUgX1NfZm9ybWF0X2Zsb2F0LgoJKiB0ZXN0c3VpdGUvMjdfaW8vb3N0cmVhbV9pbnNlcnRlcl9hcml0aC5jYyAodGVzdDA2KTogQWRkLgoKMjAwMy0wMS0wNiAgS2F2ZWggUi4gR2hhemkgIDxnaGF6aUBjYWlwLnJ1dGdlcnMuZWR1PgoKCSogdGVzdHN1aXRlL2xpYi9saWJzdGRjKystdjMtZGcuZXhwIChsaWJzdGRjKystdjMtaW5pdCwKCWxpYnN0ZGMrKy12My1saXN0LXNvdXJjZWZpbGVzKTogQWRkaXRpb25hbGx5IGhhbmRsZSBmaWxlcyBvbmUKCWxldmVsIGRlZXBlciBpbiBnbG9iIHBhdHRlcm5zLgoKCSogdGVzdHN1aXRlLzI3X2lvL2lzdHJlYW1fZXh0cmFjdG9yX2FyaXRoLmNjOiBEZWxldGUsIHNwbGl0Li4uCgkqIHRlc3RzdWl0ZS8yN19pby9pc3RyZWFtX2V4dHJhY3Rvcl9hcml0aC8wMS5jYywKCXRlc3RzdWl0ZS8yN19pby9pc3RyZWFtX2V4dHJhY3Rvcl9hcml0aC8wMi5jYywKCXRlc3RzdWl0ZS8yN19pby9pc3RyZWFtX2V4dHJhY3Rvcl9hcml0aC8wMy5jYywKCXRlc3RzdWl0ZS8yN19pby9pc3RyZWFtX2V4dHJhY3Rvcl9hcml0aC8wNi5jYywKCXRlc3RzdWl0ZS8yN19pby9pc3RyZWFtX2V4dHJhY3Rvcl9hcml0aC8wNy5jYywKCXRlc3RzdWl0ZS8yN19pby9pc3RyZWFtX2V4dHJhY3Rvcl9hcml0aC8wOC5jYywKCXRlc3RzdWl0ZS8yN19pby9pc3RyZWFtX2V4dHJhY3Rvcl9hcml0aC8wOS5jYywKCXRlc3RzdWl0ZS8yN19pby9pc3RyZWFtX2V4dHJhY3Rvcl9hcml0aC8xMC5jYywKCXRlc3RzdWl0ZS8yN19pby9pc3RyZWFtX2V4dHJhY3Rvcl9hcml0aC8xMS5jYywKCXRlc3RzdWl0ZS8yN19pby9pc3RyZWFtX2V4dHJhY3Rvcl9hcml0aC8xMi5jYywKCXRlc3RzdWl0ZS8yN19pby9pc3RyZWFtX2V4dHJhY3Rvcl9hcml0aC8xMy5jYzogLi4uIHRvIG5ldyBmaWxlcy4KCSogdGVzdHN1aXRlLzI3X2lvL2lzdHJlYW1fZXh0cmFjdG9yX2FyaXRoLzEyLmNjOiBBZGQgWEZBSUwgZm9yCglzcGFyYyotKi1zb2xhcmlzMiouCgoyMDAzLTAxLTA1ICBQYW9sbyBDYXJsaW5pIDxwY2FybGluaUB1bml0dXMuaXQ+CgoJUFIgbGlic3RkYysrLzkxNjgKCSogc3JjL2NvZGVjdnQuY2MKCShjb2RlY3Z0PGNoYXIsIGNoYXIsIG1ic3RhdGVfdD46OmRvX2luLCBkb19vdXQpOgoJSW1wbGVtZW50IHRoZSByZXNvbHV0aW9uIG9mIERSMTkgKFRDKS4KCSogdGVzdHN1aXRlLzIyX2xvY2FsZS9jb2RlY3Z0X21lbWJlcnNfY2hhcl9jaGFyLmNjCgkodGVzdDAxKTogVHdlYWsuCgoyMDAzLTAxLTAyICBKYXNvbiBNZXJyaWxsICA8amFzb25AcmVkaGF0LmNvbT4KCgkqIGNvbmZpZy9jcHUvaTQ4Ni9hdG9taWNpdHkuaCAoX19leGNoYW5nZV9hbmRfYWRkLCBfX2F0b21pY19hZGQpOgoJKl9fbWVtIGlzIGFsc28gYW4gb3V0cHV0LgoJKiBjb25maWcvY3B1L202OGsvYXRvbWljaXR5LmggKF9fZXhjaGFuZ2VfYW5kX2FkZCk6IExpa2V3aXNlLgo=