ZGlmZiAtLWdpdCBhL0FOTk9VTkNFIGIvQU5OT1VOQ0UKaW5kZXggYTZiOWZhMi4uNWQxZDJiMyAxMDA2NDQKLS0tIGEvQU5OT1VOQ0UKKysrIGIvQU5OT1VOQ0UKQEAgLTEsMTMgKzEsMTUgQEAKLVRoaXMgaXMgcmVsZWFzZSAyMDAzMTExOCBvZiBXaW5lLCBhIGZyZWUgaW1wbGVtZW50YXRpb24gb2YgV2luZG93cyBvbgorVGhpcyBpcyByZWxlYXNlIDIwMDMxMjEyIG9mIFdpbmUsIGEgZnJlZSBpbXBsZW1lbnRhdGlvbiBvZiBXaW5kb3dzIG9uCiBVbml4LiAgVGhpcyBpcyBzdGlsbCBhIGRldmVsb3BlcnMgb25seSByZWxlYXNlLiAgVGhlcmUgYXJlIG1hbnkgYnVncwogYW5kIHVuaW1wbGVtZW50ZWQgZmVhdHVyZXMuICBNb3N0IGFwcGxpY2F0aW9ucyBzdGlsbCBkbyBub3Qgd29yawogY29ycmVjdGx5LgogCi1XSEFUJ1MgTkVXIHdpdGggV2luZS0yMDAzMTExODogKHNlZSBDaGFuZ2VMb2cgZm9yIGRldGFpbHMpCi0gICAgICAgIC0gTWFueSBwcmludGluZyBpbXByb3ZlbWVudHMuCi0gICAgICAgIC0gUnVuLXRpbWUgZGV0ZWN0aW9uIG9mIE5QVEwgdGhyZWFkaW5nLgotICAgICAgICAtIExvdHMgb2YgY29kZSBtZXJnZXMgZnJvbSBDcm9zc292ZXIgT2ZmaWNlIDIuMS4KLSAgICAgICAgLSBTb21lIHJlb3JnYW5pemF0aW9uIG9mIHRoZSBzb3VyY2UgdHJlZS4KK1dIQVQnUyBORVcgd2l0aCBXaW5lLTIwMDMxMjEyOiAoc2VlIENoYW5nZUxvZyBmb3IgZGV0YWlscykKKyAgICAgICAgLSBJbml0aWFsIGltcGxlbWVudGF0aW9uIG9mIFhETkQgZHJhZyZkcm9wIHN1cHBvcnQuCisgICAgICAgIC0gSW1wcm92ZWQgc3RhcnR1cCBwZXJmb3JtYW5jZSBvbiByZW1vdGUgZGlzcGxheXMuCisgICAgICAgIC0gTWFqb3IgaW1wcm92ZW1lbnRzIGluIHRoZSBvbGVhdXQzMiBkbGwuCisgICAgICAgIC0gU29tZSBzdXBwb3J0IGZvciBOZXRiaW9zIGZ1bmN0aW9ucy4KKyAgICAgICAgLSBXb3JrIGFyb3VuZCBmb3IgRXhlYyBTaGllbGQgYW5kIHByZWxpbmtpbmcgdHJvdWJsZXMuCisgICAgICAgIC0gTWFueSBjb2RlIGNsZWFudXBzLgogICAgICAgICAtIExvdHMgb2YgYnVnIGZpeGVzLgogCiBTZWUgdGhlIFJFQURNRSBmaWxlIGluIHRoZSBkaXN0cmlidXRpb24gZm9yIGluc3RhbGxhdGlvbiBpbnN0cnVjdGlvbnMuCkBAIC0xNiw4ICsxOCw4IEBACiB0aGUgcmVsZWFzZSBpcyBhdmFpbGFibGUgYXQgdGhlIGZ0cCBzaXRlcy4gIFRoZSBzb3VyY2VzIHdpbGwgYmUgYXZhaWxhYmxlCiBmcm9tIHRoZSBmb2xsb3dpbmcgbG9jYXRpb25zOgogCi0gIGh0dHA6Ly93d3cuaWJpYmxpby5vcmcvcHViL0xpbnV4L0FMUEhBL3dpbmUvZGV2ZWxvcG1lbnQvV2luZS0yMDAzMTExOC50YXIuZ3oKLSAgaHR0cDovL3ByZG93bmxvYWRzLnNvdXJjZWZvcmdlLm5ldC93aW5lL1dpbmUtMjAwMzExMTgudGFyLmd6CisgIGh0dHA6Ly93d3cuaWJpYmxpby5vcmcvcHViL0xpbnV4L0FMUEhBL3dpbmUvZGV2ZWxvcG1lbnQvV2luZS0yMDAzMTIxMi50YXIuZ3oKKyAgaHR0cDovL3ByZG93bmxvYWRzLnNvdXJjZWZvcmdlLm5ldC93aW5lL1dpbmUtMjAwMzEyMTIudGFyLmd6CiAKIEl0IHNob3VsZCBhbHNvIGJlIGF2YWlsYWJsZSBmcm9tIGFueSBvdGhlciBzaXRlIHRoYXQgbWlycm9ycyBpYmlibGlvLm9yZy4KIFRoZXNlIGxvY2F0aW9ucyBhbHNvIGhvbGQgcHJlLWJ1aWx0IGRvY3VtZW50YXRpb24gcGFja2FnZXMgaW4gdmFyaW91cwpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IGI2YWMzYjguLmUxMTRhODYgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsNCArMSwxNDIwIEBACiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisyMDAzLTEyLTEyICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL3VzZXIvdGV4dC5jOiBHZSB2YW4gR2VsZG9ycCA8Z2VAZ3NlLm5sPgorCVBhc3MgZHRwIHBhcmFtZXRlciBvbiBmcm9tIERyYXdUZXh0RXhBIHRvIERyYXdUZXh0RXhXLgorCisJKiBkbGxzL2FkdmFwaTMyL3NlcnZpY2UuYywgaW5jbHVkZS93aW5zdmMuaDoKKwlBcmljIFN0ZXdhcnQgPGFyaWNAY29kZXdlYXZlcnMuY29tPgorCUJldHRlciBoYW5kbGluZyBvZiBzb21lIHNlcnZpY2UgZnVuY3Rpb25zLgorCisJKiBwcm9ncmFtcy93Y21kL3djbWQuaDogUmVtb3ZlZCB1c2VsZXNzICNpZmRlZiBXSU5FTElCLgorCisJKiBwcm9ncmFtcy93aW5lZmlsZS9NYWtlZmlsZS5pbjoKKwlEZWZpbmUgX19XSU5FX18gdG8gZW5hYmxlIGV4dGVuc2lvbnMgKHNwb3R0ZWQgYnkgTWFydGluIEZ1Y2hzKS4KKworCSogREVWRUxPUEVSUy1ISU5UUzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlVcGRhdGUgdGhlIGRsbHMvIHNlY3Rpb24uIFJlbW92ZSBnZGkveyxlbmh9bWZkcnYsIHRoZXkgYXJlbid0CisJRExMcy4gTGlzdCB0aGUgZG9jdW1lbnRhdGlvbi9zYW1wbGVzIGRpciBhcyB3ZWxsLgorCisJKiBNYWtlLnJ1bGVzLmluOiBBZGQgREVGUyB0byB0aGUgcmVzb3VyY2UgY29tcGlsZXIgZmxhZ3MuCisKKwkqIGxpYnMvd2luZS9sZHQuYzogQXZvaWQgY29tbW9uIHN5bWJvbHMgb24gRGFyd2luL01hYyBPUyBYLgorCisJKiBkbGxzL2tlcm5lbC9yZXNvdXJjZS5jOgorCUFkZGVkIGV4Y2VwdGlvbiBoYW5kbGVycyBpbiBGaW5kUmVzb3VyY2VFeEEvVyAoYmFzZWQgb24gYSBwYXRjaCBieQorCVJpY2hhcmQgQ29oZW4pLgorCisJKiBkbGxzL2FkdmFwaTMyL3JlZ2lzdHJ5LmMsIGRsbHMvbnRkbGwvcmVzb3VyY2UuYzoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCVRyeSBub3QgdG8gZGlzcGxheSB1bmluaXRpYWxpemVkIGRhdGEgaW4gdHJhY2VzIChmb3VuZCBieSBWYWxncmluZCkuCisKKwkqIGRsbHMvY29tY3RsMzIvZmxhdHNiLmM6IE1pa2UgSGVhcm4gPG1pa2VAdGhlb3JldGljLmNvbT4KKwlSZW1vdmUgZmxhdCBzY3JvbGxiYXIgc3R1YiBmaXhtZXMuCisKKwkqIGRsbHMvTWFrZWZpbGUuaW4sIGRsbHMvbWFrZV9kbGxzOgorCVN0ZXZlbiBFZHdhcmRzIDxzdGV2ZW5fZWQ0MTUzQHlhaG9vLmNvbT4KKwlBZGRlZCBpbXBsaWIgcnVsZSBmb3IgYnVpbGRpbmcgaW1wb3J0IGxpYnMuCisKKwkqIGRsbHMveDExZHJ2L3dpbmRvdy5jOiBKZXJyeSBKZW5raW5zIDxKZXJyeV9KX0plbmtpbnNAaG90bWFpbC5jb20+CisJRml4IG1hbmFnZWQgc3RhdGUgb2Ygc29tZSB3aW5kb3dzLgorCisJKiBkbGxzL29sZWF1dDMyL3R5cGVsaWIuYzogQW5kcmV3IGRlIFF1aW5jZXkgPGFkcV9kdmJAbGlkc2tpYWxmLm5ldD4KKwktIEltcGxlbWVudGVkIEhFTFBESVIgc3Via2V5cyBwcm9wZXJseSBpbiBSZWdpc3RlclR5cGVMaWIoKS4KKwktIEltcGxlbWVudGVkIFVuUmVnaXN0ZXJUeXBlTGliKCkuCisJLSBGaXhlZCB2YXJpb3VzIG1pbm9yIGJ1Z3MuCisKKwkqIGRsbHMvdXJsbW9uL3Vtb24uYywgZGxscy91cmxtb24vdXJsbW9uLnNwZWMsIGluY2x1ZGUvdXJsbW9uLmgsCisJICBpbmNsdWRlL3VybG1vbi5pZGw6CisJS2lyaWxsIFNtZWxrb3YgPGtpcnJAbGFuZGF1LnBoeXMuc3BidS5ydT4KKwlBZGRlZCBDcmVhdGVBc3luY0JpbmRDdHggYW5kIElzQXN5bmNNb25pa2VyIHN0dWJzLgorCisJKiBpbmNsdWRlL3dpbmUvdW5pY29kZS5oLCBpbmNsdWRlL3dpbm50LmgsIGxpYnMvdW5pY29kZS9NYWtlZmlsZS5pbjoKKwlHZSB2YW4gR2VsZG9ycCA8Z2VAZ3NlLm5sPgorCVdoZW4gYnVpbGRpbmcgYSBQRSBETEwgKE1pbkdXKSwgdmFyaWFibGVzIGV4cG9ydGVkIGZyb20gYSBETEwgbXVzdCBiZQorCWV4cGxpY2l0bHkgbWFya2VkIGFzIGRsbGltcG9ydCB3aGVuIHVzaW5nIHRoZW0uCisKKwkqIGRsbHMva2VybmVsL3B0aHJlYWQuYzoKKwlSZXR1cm4gYW4gZXJyb3IgaW4gd2luZV9wdGhyZWFkX211dGV4X3VubG9jayBpZiB3ZSBkb24ndCBvd24gdGhlCisJY3JpdGljYWwgc2VjdGlvbiwgdGhpcyBzaG91bGQgYXZvaWQgdHJvdWJsZSBjYXVzZWQgYnkgYSBsb2NraW5nIGJ1ZworCWluc2lkZSBYbGliLgorCisJKiBkbGxzL2NvbW1kbGcvTWFrZWZpbGUuaW4sIGRsbHMvY29tbWRsZy9jZGxnLmgsIGRsbHMvY29tbWRsZy9jZGxnMTYuaCwKKwkgIGRsbHMvY29tbWRsZy9jb2xvcmRsZy5jLCBkbGxzL2NvbW1kbGcvY29sb3JkbGcuaCwKKwkgIGRsbHMvY29tbWRsZy9jb2xvcmRsZzE2LmMsIGRsbHMvY29tbWRsZy9maWxlZGxnMTYuYywKKwkgIGRsbHMvY29tbWRsZy9maW5kZGxnLmMsIGRsbHMvY29tbWRsZy9mb250ZGxnLmMsCisJICBkbGxzL2NvbW1kbGcvZm9udGRsZy5oLCBkbGxzL2NvbW1kbGcvZm9udGRsZzE2LmMsCisJICBkbGxzL2NvbW1kbGcvZ2VuZXJpYy5jLCBkbGxzL2NvbW1kbGcvcHJpbnRkbGcuaCwKKwkgIGRsbHMvY29tbWRsZy9wcmludGRsZzE2LmM6CisJU3RldmVuIEVkd2FyZHMgPHN0ZXZlbl9lZDQxNTNAeWFob28uY29tPgorCS0gVGhlIGxhc3Qgb2YgdGhlIG1ham9yIFdpbjE2LzMyIHNwbGl0IGZvciBjb21tZGxnIChmb3IgcmVhbCB0aGlzCisJICB0aW1lKS4KKwktIE1vdmVkIG1vc3Qgb2YgdGhlIDE2Yml0IHN0dWZmIHRvIGNkbGcxNi5oLgorCS0gQSBmZXcgc21hbGwgY2xlYW51cHMuCisKKwkqIGRsbHMvdXNlci9sc3RyLmM6CisJTWFrZSBDaGFye0xvd2VyLFVwcGVyfUEgY2FsbCBDaGFye0xvd2VyLFVwcGVyfUJ1ZmZBLgorCVNtYWxsIG9wdGltaXphdGlvbiB0byBhdm9pZCBhIG1lbW9yeSBhbGxvY2F0aW9uLgorCUZpeGVkIHNpZ24gZXh0ZW5zaW9uIGluIENoYXJ7TG93ZXIsVXBwZXJ9QSAocmVwb3J0ZWQgYnkgQW5kcmVhcworCVJvc2VuYmVyZykuCisKKwkqIGRsbHMvb2xlYXV0MzIvdGVzdHMvdmFydHlwZS5jOgorCUF2b2lkIGxvbmcgbG9uZyBjb25zdGFudHMgKHJlcG9ydGVkIGJ5IEdlcmFsZCBQZmVpZmVyKS4KKwlBZGRlZCBhIGZldyBtaXNzaW5nIHBhcmVudGhlc2VzIGluIG1hY3Jvcy4KKworCSogZGxscy93aW5pbmV0L2ludGVybmV0LmMsIGRsbHMvd2luaW5ldC91cmxjYWNoZS5jLAorCSAgZGxscy93aW5pbmV0L3dpbmluZXQuc3BlYzoKKwlSb2JlcnQgU2hlYXJtYW4gPFIuSi5TaGVhcm1hbkB3YXJ3aWNrLmFjLnVrPgorCS0gVXJsIENhY2hlIGltcHJvdmVtZW50cy4KKwktIEluIEludGVybmV0e1NldCxRdWVyeX1PcHRpb24gZnVuY3Rpb25zLCBoSW50ZXJuZXQgY2FuIGJlIE5VTEwuCisJLSBBZGQgdHJhY2VzIHRvIEludGVybmV0KiBmdW5jdGlvbnMuCisKKwkqIGRsbHMva2VybmVsL2xvY2FsZS5jOiBWaWsgS3VtYXIgPHZpa0B6b25lODEuY29tPgorCUFkZGVkIGV1Y0pQIGNoYXJzZXQuCisKKwkqIGRsbHMvY29tbWRsZy9jZGxnX0phLnJjLCBkbGxzL3VzZXIvcmVzb3VyY2VzL3VzZXIzMl9KYS5yYywKKwkgIG9iamVjdHMvZ2Rpb2JqLmM6CisJVmlrIEt1bWFyIDx2aWtAem9uZTgxLmNvbT4KKwlGb250IGNoYW5nZXMgZnJvbSBNUyBQIEdvdGhpYyB0byBNUyBVSSBHb3RoaWMuCisKKwkqIGRsbHMvY29tY3RsMzIvY29tY3RsX0phLnJjLCBkbGxzL2NvbWN0bDMyL3JzcmMucmM6CisJVmlrIEt1bWFyIDx2aWtAem9uZTgxLmNvbT4KKwlBZGRlZCBKYXBhbmVzZSB0cmFuc2xhdGlvbi4KKworCSogZGxscy9udGRsbC9lcnJvci5jLCBkbGxzL250ZGxsL250ZGxsLnNwZWMsIGRsbHMvbnRkbGwvcnRsc3RyLmMsCisJICBkbGxzL250ZGxsL3Rlc3RzL3J0bHN0ci5jLCBpbmNsdWRlL3dpbnRlcm5sLmg6CisJSm9uIEdyaWZmaXRocyA8am9uX3BfZ3JpZmZpdGhzQHlhaG9vLmNvbT4KKwlBZGRlZCBSdGxOdFN0YXR1c1RvRG9zRXJyb3JOb1RlYiwgUnRsR2V0L1NldC9SZXN0b3JlTGFzdFdpbjMyRXJyb3IsCisJUnRsR1VJREZyb21TdHJpbmcsIFJ0bFN0cmluZ0Zyb21HVUlELgorCisJKiBkbGxzL3dpbm1tL3dpbmVhbHNhL2F1ZGlvLmMsIGRsbHMvd2lubW0vd2luZW5hcy9hdWRpby5jLAorCSAgZGxscy93aW5tbS93aW5lb3NzL2F1ZGlvLmM6CisJSmVyZW15IFNoYXcgPGplcmVteS5zaGF3QGxpbmRvd3MuY29tPgorCU1vdmUgdGhlIGRhdGEgYXJvdW5kIHdoZW4gdGhlIHJpbmcgYnVmZmVyIGlzIHJlc2l6ZWQgc28gdGhhdCB0aGUgZW1wdHkKKwltZXNzYWdlcyBhcmUgYmV0d2VlbiB0aGUgdG9zYXZlIGFuZCB0b2dldCBpbmRleGVzLgorCisJKiBwcm9ncmFtcy93aW5lZmlsZS93aW5lZmlsZS5jOiBNYXJ0aW4gRnVjaHMgPG1hcnRpbi1mdWNoc0BnbXgubmV0PgorCUZpeGVkIG1pc3NpbmcgaW5pdGlhbGl6YXRpb25zIG9mIHN0cnVjdCBTSEVMTEVYRUNVVEVJTkZPLgorCisJKiBkbGxzL2tlcm5lbC9jb25zb2xlLmMsIGZpbGVzL2ZpbGUuYzoKKwlFcmljIFBvdWVjaCA8cG91ZWNoLWVyaWNAd2FuYWRvby5mcj4KKwlNb3ZlZCBhbGwgcmVtYWluaW5nIGNvbnNvbGUgcmVsYXRlZCBjb2RlIHRvIGRsbHMva2VybmVsIGRpcmVjdG9yeS4KKworCSogZGxscy93aW5zb2NrL3NvY2tldC5jOiBHZXJhbGQgUGZlaWZlciA8Z2VyYWxkQHBmZWlmZXIuY29tPgorCUZpeCB0eXBlcyBpbiBXU0FIdG9ubC4KKworCSogREVWRUxPUEVSUy1ISU5UUzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlMaXN0IHRoZSB0b29scyBzdWJkaXJzIGFzIHdlIGRvIGZvciBhbGwgdGhlIG90aGVycy4KKwlVcGRhdGUgZGVzY3JpcHRpb24gb2YgdGhlIG1pc2MvIGRpci4KKworCSogcHJvZ3JhbXMvcmVnZWRpdC9hYm91dC5jLCBwcm9ncmFtcy9yZWdlZGl0L2NoaWxkd25kLmMsCisJICBwcm9ncmFtcy9yZWdlZGl0L2VkaXQuYywgcHJvZ3JhbXMvcmVnZWRpdC9mcmFtZXduZC5jLAorCSAgcHJvZ3JhbXMvcmVnZWRpdC9saXN0dmlldy5jLCBwcm9ncmFtcy9yZWdlZGl0L21haW4uYywKKwkgIHByb2dyYW1zL3JlZ2VkaXQvbWFpbi5oLCBwcm9ncmFtcy9yZWdlZGl0L3RyZWV2aWV3LmM6CisJRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlSZW1vdmUgbW9zdCBzdHJpbmcgc2l6ZSBsaW1pdGF0aW9ucy4KKwlCZXR0ZXIgZXJyb3IgaGFuZGxpbmcuIExlc3MgbGlzdHZpZXcgZmxpY2tlci4KKwlBIGJ1bmNoIG9mIHN0eWxlIGZpeGVzIGFuZCBpbXByb3ZlbWVudHMuCisKKzIwMDMtMTItMTEgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvdXNlci93aW5wcm9jLmgsIGluY2x1ZGUvd2luZS9zZXJ2ZXJfcHJvdG9jb2wuaCwgc2VydmVyL2NsYXNzLmMsCisJICBzZXJ2ZXIvcHJvdG9jb2wuZGVmLCBzZXJ2ZXIvdHJhY2UuYywgc2VydmVyL3VzZXIuaCwgc2VydmVyL3dpbmRvdy5jLAorCSAgd2luZG93cy9jbGFzcy5jLCB3aW5kb3dzL3dpbi5jOgorCVN0b3JlIGEgcG9pbnRlciB0byB0aGUgY2xpZW50LXNpZGUgY2xhc3Mgc3RydWN0dXJlIGluIHRoZSBzZXJ2ZXIgYW5kCisJcmV0dXJuIGl0IG9uIGNyZWF0ZV93aW5kb3cgYW5kIGRlc3Ryb3lfY2xhc3MuCisJT25seSBjcmVhdGUgYSBzaW5nbGUgaW5zdGFuY2Ugb2YgdGhlIGRlc2t0b3AgY2xhc3MgZm9yIHRoZSB3aG9sZQorCXNlc3Npb24uCisJQWRkZWQgc29tZSBtaXNzaW5nIGxvY2tpbmcgaW4gdGhlIGNsaWVudC1zaWRlIGNsYXNzIG1hbmFnZW1lbnQuCisKKwkqIGRsbHMvb2xlYXV0MzIvdmFyaWFudC5jOiBKb24gR3JpZmZpdGhzIDxqb25fcF9ncmlmZml0aHNAeWFob28uY29tPgorCU9vcHMgLSBWVF9FTVBUWS0+VlRfUkVDT1JEIGlzIG5vdCBhbGxvd2VkLgorCisJKiBkbGxzL29sZWF1dDMyL3Rlc3RzLy5jdnNpZ25vcmUsIGRsbHMvb2xlYXV0MzIvdGVzdHMvTWFrZWZpbGUuaW4sCisJICBkbGxzL29sZWF1dDMyL3Rlc3RzL3ZhcnR5cGUuYzoKKwlKb24gR3JpZmZpdGhzIDxqb25fcF9ncmlmZml0aHNAeWFob28uY29tPgorCVRlc3QgYWxtb3N0IGFsbCBvZiB0aGUgbG93IGxldmVsIHZhcmlhbnQgZnVuY3Rpb25zCisKKwkqIGRsbHMvY29tbWRsZy9mb250ZGxnLmMsIGRsbHMvY29tbWRsZy9mb250ZGxnLmgsCisJICBkbGxzL2NvbW1kbGcvZm9udGRsZzE2LmM6CisJUmVpbiBLbGF6ZXMgPHJrbGF6ZXNAeHM0YWxsLm5sPgorCURvIGNvbnZlcnNpb25zIGJldHdlZW4gdGhlIGZvbnQgc2l6ZSBzcGVjaWZpZWQgaW4gcG9pbnRzIChvcgorCWRlY2lwb2ludHMpIGFuZCBoZWlnaHQgc3BlY2lmaWVkIGluIGxvZ2ljYWwgdW5pdHMuCisKKwkqIGRsbHMvd2luc29jay9zb2NrZXQuYywgZGxscy93aW5zb2NrL3dzMl8zMi5zcGVjLCBpbmNsdWRlL3dpbnNvY2syLmg6CisJS2lyaWxsIFNtZWxrb3YgPGtpcnJAbGFuZGF1LnBoeXMuc3BidS5ydT4KKwlBZGRlZCBzdHViIGFuZCBwcm90b3R5cGUgZm9yIFdTQUpvaW5MZWFmLgorCisJKiBkbGxzL29sZWF1dDMyL01ha2VmaWxlLmluLCBkbGxzL29sZWF1dDMyL29sZWF1dDMyLnNwZWMsCisJICBkbGxzL29sZWF1dDMyL3Rlc3RzL3ZhcnRlc3QuYywgZGxscy9vbGVhdXQzMi92YXJpYW50LmMsCisJICBkbGxzL29sZWF1dDMyL3ZhcnR5cGUuYzoKKwlKb24gR3JpZmZpdGhzIDxqb25fcF9ncmlmZml0aHNAeWFob28uY29tPgorCVJlaW1wbGVtZW50L2RvY3VtZW50IGV2ZXJ5IGxvdyBsZXZlbCB2YXJpYW50IGZ1bmN0aW9uLgorCUltcGxlbWVudCBERUNJTUFMLCBJOCwgVUk4IHR5cGVzIGFuZCBvdGhlciBtaXNzaW5nIGNvbnZlcnNpb25zLgorCVZhcmlhbnRDaGFuZ2VUeXBlOiBVc2UgTE9DQUxFX1VTRVJfREVGQVVMVCBhcyBwZXIgTVNETi4KKwlWYXJpYW50Q2hhbmdlVHlwZUV4OiBTdXBwb3J0IG5ldyB0eXBlcywgcGFzcyBwcm9wZXIgZmxhZ3MuCisJVmFyTnVtRnJvbVBhcnNlTnVtOiBTdXBwb3J0IFZUX0RFQ0lNQUwgYXMgb3V0cHV0LgorCisJKiBkbGxzL3dpbm1tL3dpbmVhbHNhL2F1ZGlvLmM6IENocmlzdGlhbiBDb3N0YSA8dGl0YW4uY29zdGFAd2FuYWRvby5mcj4KKwlBZGRlZCBXYXZlSW4gc3VwcG9ydC4KKworCSogZGxscy9jb21tZGxnL2ZvbnRkbGcuYzogUmVpbiBLbGF6ZXMgPHJrbGF6ZXNAeHM0YWxsLm5sPgorCUVuYWJsZSB0aGUgZGlzcGxheSBvZiBhIHRydWUgdHlwZSBiaXRtYXAgZm9yIHRydWUgdHlwZSBmb250cy4KKworCSogZGxscy9uZXRhcGkzMi93a3N0YS5jOiBIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCUZpeCBpbmNvcnJlY3QgY2FsY3VsYXRpb24gb2YgdHJhbnNwb3J0X2FkZHIuCisKKwkqIGRsbHMvYWR2YXBpMzIvc2VydmljZS5jOiBIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCURvbid0IGNyYXNoIGlmIGxwRGVwZW5kZW5jaWVzIGlzIE5VTEwuCisKKwkqIGRsbHMvY3J5cHQzMi9tYWluLmMsIGluY2x1ZGUvd2luY3J5cHQuaDoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJSW1wbGVtZW50IENyeXB0UmVnaXN0ZXJPSURGdW5jdGlvbiBhbmQgQ3J5cHRTSVBBZGRQcm92aWRlci4KKworCSogZGxscy93aW5pbmV0L2h0dHAuYzogSmVyZW15IFNoYXcgPGplcmVteS5zaGF3QGxpbmRvd3MuY29tPgorCUFkZCBhICdcclxuJyB0byBscHN6SGVhZGVycyBpZiBpdCBpcyBub3QgYWxyZWFkeSB0ZXJtaW5hdGVkIGJ5CisJJ1xyXG4nLgorCisJKiBkbGxzL2tlcm5lbC9jb21tLmM6IEZyYW5rIDxmLmdvY2tlbEB0LW9ubGluZS5kZT4KKwlGaXhlZCBzaXplIGNoZWNrIGluIEdldENvbW1Db25maWcoKS4KKworCSogcHJvZ3JhbXMvdmlldy92aWV3LmM6IFJpY2hhcmQgQ29oZW4gPHJpY2hhcmRAZGFpam9idS5jby51az4KKwktIEZpeCBvYnNvbGV0ZSBjb21tZW50cyBhYm91dCB3aW5kb3dzeCwgY29tbWRsZy4KKwktIEluY3JlYXNlIGZpbGVuYW1lIGxlbmd0aCB0byBNQVhfUEFUSC4KKwktIFNldCB0aGUgd2luZG93cyBleHRlbnQgYmVmb3JlIHBsYXlpbmcgdGhlIG1ldGFmaWxlLgorCS0gRG9uJ3QgaGFyZGNvZGUgbG9ncGl4ZWxzIHRvIDk2LgorCisJKiBkbGxzL3NoZWxsMzIvY29udHJvbC5jOiBSaWNoYXJkIENvaGVuIDxyaWNoYXJkQGRhaWpvYnUuY28udWs+CisJLSBDaGVjayBGaW5kRmlyc3RGaWxlIGFnYWluc3QgSU5WQUxJRF9IQU5ETEVfVkFMVUUgbm90IDAuCisJLSBEaXNwbGF5IHdpbmRvdyAmIG1lc3NhZ2Vib3ggZXZlbiBpZiB0aGVyZSBhcmUgbm8gYXBwbGV0cy4KKworMjAwMy0xMi0xMCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy91c2VyL3Rlc3RzL2NsYXNzLmM6CisJQWRkZWQgdGVzdHMgZm9yIGNsYXNzIHN0eWxlIGFuZCBpbnN0YW5jZSBoYW5kbGluZy4KKworCSogY29udHJvbHMvYnV0dG9uLmMsIGNvbnRyb2xzL2NvbWJvLmMsIGNvbnRyb2xzL2Rlc2t0b3AuYywKKwkgIGNvbnRyb2xzL2VkaXQuYywgY29udHJvbHMvaWNvbnRpdGxlLmMsIGNvbnRyb2xzL2xpc3Rib3guYywKKwkgIGNvbnRyb2xzL21lbnUuYywgY29udHJvbHMvc2Nyb2xsLmMsIGNvbnRyb2xzL3N0YXRpYy5jLAorCSAgd2luZG93cy9kaWFsb2cuYywgd2luZG93cy9tZGkuYzoKKwlTeXN0ZW0gY2xhc3NlcyBtdXN0IG5vdCBoYXZlIHRoZSBDU19HTE9CQUxDTEFTUyBzdHlsZS4KKworCSogZGxscy91c2VyL3VzZXJfbWFpbi5jLCBkbGxzL3VzZXIvd2lucHJvYy5oLAorCSAgaW5jbHVkZS93aW5lL3NlcnZlcl9wcm90b2NvbC5oLCBzZXJ2ZXIvTWFrZWZpbGUuaW4sIHNlcnZlci9jbGFzcy5jLAorCSAgc2VydmVyL3Byb2Nlc3MuYywgc2VydmVyL3Byb2Nlc3MuaCwgc2VydmVyL3Byb3RvY29sLmRlZiwKKwkgIHNlcnZlci9yZXF1ZXN0LmgsIHNlcnZlci90cmFjZS5jLCBzZXJ2ZXIvdXNlci5oLCBzZXJ2ZXIvd2luZG93LmMsCisJICB3aW5kb3dzL2NsYXNzLmMsIHdpbmRvd3Mvd2luLmM6CisJQWRkZWQgd2luZG93IGNsYXNzZXMgaW4gdGhlIHNlcnZlciwgYW5kIHN1cHBvcnQgZm9yIGludGVyLXByb2Nlc3MKKwlHZXRDbGFzc1dvcmQvTG9uZyAoYmFzZWQgb24gYSBwYXRjaCBieSBNaWtlIE1jQ29ybWFjaykuCisJVmFyaW91cyBmaXhlcyB0byB0aGUgY2xhc3MgaW5zdGFuY2UgaGFuZGxpbmcuCisKKwkqIHNlcnZlci9maWxlLmMsIHNlcnZlci90cmFjZS5jOgorCVByaW50IG5hbWVzIGZvciBXaW4zMiBlcnJvcnMgdG9vLCBwbHVzIGEgZmV3IG1vcmUgc3RhdHVzIGNvZGVzLgorCisJKiBkbGxzL3VzZXIvZGlhbG9nMTYuYywgd2luZG93cy9kaWFsb2cuYzoKKwlBbmRyZWFzIFJvc2VuYmVyZyA8c29uaXgyMDAzQGN0Zi16LmRlPgorCVBvaW50IHNpemUgaW4gRExHX1RFTVBMQVRFIG1heSBiZSBuZWdhdGl2ZS4KKworCSogcHJvZ3JhbXMvcmVnZWRpdC9saXN0dmlldy5jOgorCUpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJU29ydCB0aGUgbGlzdHZpZXcgd2hlbiBjbGlja2luZyB0aGUgTmFtZSBvciBUeXBlIGhlYWRlcnMuCisKKwkqIGRsbHMvbXN2aWRlby9tY2l3bmQuYzogRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGQgc3VwcG9ydCBmb3Igc29tZSBNQ0lXTkRGXyBzdHlsZXMsIGluZGljYXRlIHRoYXQgd2UgZG8gbm90IHN1cHBvcnQKKwlNQ0lXTkRNXyogbWVzc2FnZXMgYXQgYWxsLgorCisJKiB3aW5kb3dzL2NsYXNzLmM6CisJTWFkZSBhbGwgdGhlIFJlZ2lzdGVyQ2xhc3MgYW5kIEdldENsYXNzSW5mbyB2YXJpYW50cyBjYWxsIHRoZQorCWNvcnJlc3BvbmRpbmcgRXggZnVuY3Rpb24uCisKKwkqIGluY2x1ZGUvd2luZS9zZXJ2ZXJfcHJvdG9jb2wuaCwgc2VydmVyL3Byb3RvY29sLmRlZiwgc2VydmVyL3RyYWNlLmMsCisJICBzZXJ2ZXIvd2luZG93LmMsIHdpbmRvd3Mvd2luLmM6CisJQWRkZWQgc3VwcG9ydCBmb3IgaW50ZXItcHJvY2VzcyBHZXRXaW5kb3dXb3JkLgorCURvIGJldHRlciByYW5nZSBjaGVja2luZyBvbiB0aGUgd2luZG93IGV4dHJhIGJ5dGVzLgorCisJKiBzZXJ2ZXIvZmlsZS5jLCBzZXJ2ZXIvdGhyZWFkLmg6CisJQWRkZWQgc2V0X3dpbjMyX2Vycm9yKCkgZm9yIGVycm9yIGNvZGVzIHRoYXQgZG9uJ3QgaGF2ZSBhbiBOVCBzdGF0dXMKKwllcXVpdmFsZW50LgorCisJKiBkbGxzL3NoZWxsMzIvY2xhc3Nlcy5jLCBkbGxzL3NoZWxsMzIvc2hlbGwzMl9tYWluLmgsCisJICBkbGxzL3NoZWxsMzIvc2hsZXhlYy5jOgorCU1hcmNlbG8gRHVhcnRlIDx3aW5lLWRldmVsQGJvbC5jb20uYnI+CisJLSBJbXBsZW1lbnRhdGlvbiBvZiBIQ1JfR2V0RXhlY3V0ZUNvbW1hbmRFeFcgZm9yIGludGVybmFsIHVzZS4KKwktIE5ldyBpbmxpbmUgZnVuY3Rpb24gIF9fU0hDbG9uZVN0ckF0b1cuCisKKwkqIGRsbHMvb2xlYXV0MzIvdHlwZWxpYi5jOiBBbmRyZXcgZGUgUXVpbmNleSA8YWRxX2R2YkBsaWRza2lhbGYubmV0PgorCVVwd2FyZHMgdHJhdmVyc2FsIG9mIGluaGVyaXRhbmNlIHRyZWUgZGlkbid0IG9jY3VyIGZvciBkaXNwYXRjaAorCWludGVyZmFjZXMuCisKKwkqIGRsbHMvb2xlYXV0MzIvdGVzdHMvdmFydGVzdC5jOgorCUpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJRml4IGEgY291cGxlIG9mIHRlc3RzIGZvciB3MmsgKFJ1c3NpYW4pLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IEpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJRG9uJ3QgY2FsbCBHZXRXaW5kb3dMb25nIGZvciBldmVyeSBjb21wYXJpc29uIHdoaWxlIHNvcnRpbmcuCisKKwkqIGRsbHMvZ2RpL2ZyZWV0eXBlLmM6IEh1dyBEYXZpZXMgPGh1d0Bjb2Rld2VhdmVycy5jb20+CisJSWYgYSBmb250IGhhcyBhIHZlcnNpb24gMCBPUzIgdGFibGUgdGhlbiBXaW5kb3dzIHVzZXMgQU5TSV9DSEFSU0VUIGlmCisJdGhlIGZpcnN0IGNoYXJjb2RlIDwgMHgxMDAsIGVsc2UgaXQgdXNlcyBTWU1CT0xfQ0hBUlNFVC4gIEJhc2VkIG9uIGEKKwlwYXRjaCBieSBSZWluIEtsYXplcy4KKworCSogaW5jbHVkZS93aW50ZXJubC5oOiBKb24gR3JpZmZpdGhzIDxqb25fcF9ncmlmZml0aHNAeWFob28uY29tPgorCUFkZCBhIGZldyBzb29uLXRvLWJlLWltcGxlbWVudGVkIGZ1bmN0aW9ucy4KKworMjAwMy0xMi0wOSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9vbGVhdXQzMi90ZXN0cy92YXJ0ZXN0LmM6CisJSm9uIEdyaWZmaXRocyA8am9uX3BfZ3JpZmZpdGhzQHlhaG9vLmNvbT4KKwlGaXggdGhlIHRlc3RzIHRvIHBhc3Mgd2hlbiBsb2NhbGUgc2V0dGluZ3MgYXJlIHVzZXItb3ZlcnJpZGVuLgorCUZpeCB0aG9zZSB0ZXN0cyB3aGljaCBwYXNzIG5vdy4KKwlUZXN0IGNvcHlpbmcsIGZvcm1hdHRpbmcsIFZhckFicywgVmFyTm90LgorCisJKiBkbGxzL29sZWF1dDMyL01ha2VmaWxlLmluLCBkbGxzL29sZWF1dDMyL29sZWF1dDMyLnNwZWMsCisJICBkbGxzL29sZWF1dDMyL3BhcnNlZHQuYywgZGxscy9vbGVhdXQzMi9wYXJzZWR0LmgsCisJICBkbGxzL29sZWF1dDMyL3Jlc291cmNlLmgsIGRsbHMvb2xlYXV0MzIvdmFyaWFudC5jOgorCUpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJSW1wbGVtZW50IGNvbnZlcnNpb25zIGJldHdlZW4gZGF0ZXMgYW5kIHN0cmluZ3MuCisJUmVtb3ZlIHRoZSBmaW5hbCBjcnVmdCBhc3NvY2lhdGVkIHdpdGggdGhlIG9sZCBkYXRlIGNvZGUKKwlCUEInczogUm9sbCBtaWxsaXNlY29uZHMgY29ycmVjdGx5OyBMT0NBTEVfTk9VU0VST1ZFUlJJREUgZm9yIG51bQorCXBhcnNpbmcuCisJSW1wbGVtZW50IFZhckFicyBhbmQgVmFyTm90LgorCisyMDAzLTEyLTA4ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL3VzZXIvdXNlcjMyLnNwZWMsIGluY2x1ZGUvd2ludXNlci5oLCB3aW5kb3dzL25vbmNsaWVudC5jOgorCUtldmluIEtvbHR6YXUgPGtldmluQHBsb3Aub3JnPgorCUltcGxlbWVudGVkIEdldFRpdGxlQmFySW5mby4KKworCSogcHJvZ3JhbXMvcmVnZWRpdC9jaGlsZHduZC5jLCBwcm9ncmFtcy9yZWdlZGl0L2VkaXQuYywKKwkgIHByb2dyYW1zL3JlZ2VkaXQvZnJhbWV3bmQuYywgcHJvZ3JhbXMvcmVnZWRpdC9saXN0dmlldy5jLAorCSAgcHJvZ3JhbXMvcmVnZWRpdC9tYWluLmMsIHByb2dyYW1zL3JlZ2VkaXQvbWFpbi5oLAorCSAgcHJvZ3JhbXMvcmVnZWRpdC9yZWdlZGl0LmMsIHByb2dyYW1zL3JlZ2VkaXQvcmVncHJvYy5jLAorCSAgcHJvZ3JhbXMvcmVnZWRpdC9yZWdwcm9jLmgsIHByb2dyYW1zL3JlZ2VkaXQvdHJlZXZpZXcuYzoKKwlEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVJlZm9ybWF0IHJlZ2VkaXQgaW4gYSBjb25zaXN0ZW50IG1hbm5lci4KKworCSogZGxscy9vbGUzMi9pZnMuYywgZGxscy9vbGUzMi9vbGUyLmMsIGRsbHMvb2xlMzIvb2xlMnN0dWJzLmMsCisJICBkbGxzL29sZTMyL29sZTMyX21haW4uYzoKKwlSb2JlcnQgU2hlYXJtYW4gPFIuSi5TaGVhcm1hbkB3YXJ3aWNrLmFjLnVrPgorCS0gRml4IElNZW1BbGxvY19GcmVlIHdoZW4gSU1lbUFsbG9jX0FsbG9jIGhhc24ndCB5ZXQgYmVlbiBjYWxsZWQgYW5kCisJICBkZWJ1Z2dpbmcgaXMgb24uCisJLSBGaXggT2xlTWV0YWZpbGVQaWN0RnJvbUljb25BbmRMYWJlbCAoZml4ZXMgYXR0YWNobWVudHMgaW4gT3V0bG9vazJrKS4KKwktIEltcGxlbWVudCBPbGVUcmFuc2xhdGVBY2NlbGVyYXRvci4KKwktIE1vdmUgT2xlQ3JlYXRlIGFuZCBhIGxvYWQgb2YgUHJvcFZhcmlhbnQgZnVuY3Rpb25zIG91dCBvZiBzdHVicyBmaWxlLgorCS0gQ2hhbmdlIE9sZUNyZWF0ZSB0byBhIHNlbWktc3R1Yi4KKworCSogZGxscy91eHRoZW1lL01ha2VmaWxlLmluLCBkbGxzL3V4dGhlbWUvbXNzdHlsZXMuYywKKwkgIGRsbHMvdXh0aGVtZS9tc3N0eWxlcy5oLCBkbGxzL3V4dGhlbWUvc3lzdGVtLmM6CisJS2V2aW4gS29sdHphdSA8a2V2aW5AcGxvcC5vcmc+CisJTG9hZCwgdmFsaWRhdGUgYW5kIHJldHJpZXZlIGEgZmV3IHByb3BlcnRpZXMgZnJvbSBhbiBtc3N0eWxlcyB0aGVtZS4KKworCSogcHJvZ3JhbXMvY2xvY2svRGEucmMsIHByb2dyYW1zL2Nsb2NrL0RlLnJjLCBwcm9ncmFtcy9jbG9jay9Fbi5yYywKKwkgIHByb2dyYW1zL2Nsb2NrL0VzLnJjLCBwcm9ncmFtcy9jbG9jay9GaS5yYywgcHJvZ3JhbXMvY2xvY2svRnIucmMsCisJICBwcm9ncmFtcy9jbG9jay9IdS5yYywgcHJvZ3JhbXMvY2xvY2svSXQucmMsCisJICBwcm9ncmFtcy9jbG9jay9NYWtlZmlsZS5pbiwgcHJvZ3JhbXMvY2xvY2svTmwucmMsCisJICBwcm9ncmFtcy9jbG9jay9QdC5yYywgcHJvZ3JhbXMvY2xvY2svUkVBRE1FLCBwcm9ncmFtcy9jbG9jay9SdS5yYywKKwkgIHByb2dyYW1zL2Nsb2NrL1NpLnJjLCBwcm9ncmFtcy9jbG9jay9Tay5yYywgcHJvZ3JhbXMvY2xvY2svU3cucmMsCisJICBwcm9ncmFtcy9jbG9jay9UT0RPLCBwcm9ncmFtcy9jbG9jay9UaC5yYywgcHJvZ3JhbXMvY2xvY2svV2EucmMsCisJICBwcm9ncmFtcy9jbG9jay9aaC5yYywgcHJvZ3JhbXMvY2xvY2svY2xvY2tfcmVzLmgsCisJICBwcm9ncmFtcy9jbG9jay9sYW5ndWFnZS5jLCBwcm9ncmFtcy9jbG9jay9sYW5ndWFnZS5oLAorCSAgcHJvZ3JhbXMvY2xvY2svbWFpbi5jLCBwcm9ncmFtcy9jbG9jay9tYWluLmgsCisJICBwcm9ncmFtcy9jbG9jay93aW5jbG9jay5jLCBwcm9ncmFtcy9jbG9jay93aW5jbG9jay5oOgorCVJpY2hhcmQgQ29oZW4gPHJpY2hhcmRAZGFpam9idS5jby51az4KKwktIEltcGxlbWVudCAnQ2hvb3NlIGZvbnQnLCAnTm8gdGl0bGUnLCAnQWx3YXlzIG9uIFRvcCcuCisJLSBQYWludCB0byBvZmZzY3JlZW4gYml0bWFwIHRvIGVsaW1pbmF0ZSBmbGlja2VyLgorCS0gUHV0ICdBbHdheXMgb24gdG9wJyBvbiB0aGUgbWFpbiBtZW51IG5vdCB0aGUgc3lzdGVtIG1lbnUuCisJLSBEYXRlIGZvcm1hdCBzaG91bGQgYmUgREFURV9MT05HREFURS4KKwktIEwgYnV0dG9uIGRyYWcgdG8gbW92ZS4KKwktIENvc21ldGljIGFkanVzdG1lbnRzLgorCisJKiBkbGxzL2tlcm5lbC90ZXN0cy9maWxlLmM6IEhhbnMgTGVpZGVra2VyIDxoYW5zQGl0LnZ1Lm5sPgorCUluY2x1ZGUgdGVzdHMgZm9yIE1vdmVGaWxlW1d8QV0uCisKKwkqIGRsbHMva2VybmVsL3Rlc3RzL2xvY2FsZS5jOiBIYW5zIExlaWRla2tlciA8aGFuc0BpdC52dS5ubD4KKwlEZWFsIHdpdGgga2VybmVscyB0aGF0IGRvbid0IGhhdmUgSXNWYWxpZExhbmd1YWdlR3JvdXAuCisJRGVhbCB3aXRoIG5vbi1pbXBsZW1lbnRlZCBGb2xkU3RyaW5nW0F8V10uCisKKwkqIGRsbHMva2VybmVsL3Rlc3RzL2RpcmVjdG9yeS5jOiBIYW5zIExlaWRla2tlciA8aGFuc0BpdC52dS5ubD4KKwlDaGVjayBmb3IgRVJST1JfQ0FMTF9OT1RfSU1QTEVNRU5URUQgZXJyb3IgZnJvbSBSZW1vdmVEaXJlY3RvcnlXLgorCisJKiB3aW5lZGVmYXVsdC5yZWc6IERtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJQ29ycmVjdCAiTUNJIEV4dGVuc2lvbnMiIHJlZ2lzdHJ5IHNlY3Rpb24sIGFkZCBNQ0kzMiBzZWN0aW9uLgorCisJKiBpbmNsdWRlL3dpbnVzZXIuaDogQWRkZWQgQ1NfRFJPUFNIQURPVy4KKworCSogZGxscy9rZXJuZWwvYXRvbS5jLCBkbGxzL2tlcm5lbC9jb25zb2xlLmMsIGRsbHMva2VybmVsL2Rvc21lbS5jLAorCSAgZGxscy9rZXJuZWwvZmlsZS5jLCBkbGxzL2tlcm5lbC9nbG9iYWwxNi5jLAorCSAgZGxscy9rZXJuZWwva2VybmVsX21haW4uYywgZGxscy9rZXJuZWwva2VybmVsX3ByaXZhdGUuaCwKKwkgIGRsbHMva2VybmVsL2xvY2FsMTYuYywgZGxscy9rZXJuZWwvbmVfbW9kdWxlLmMsCisJICBkbGxzL2tlcm5lbC9uZV9zZWdtZW50LmMsIGRsbHMva2VybmVsL3Nub29wMTYuYywgZGxscy9rZXJuZWwvc3luYy5jLAorCSAgZGxscy9rZXJuZWwvdGFzay5jLCBkbGxzL2tlcm5lbC92eGQuYywgZGxscy9udGRsbC9udGRsbF9taXNjLmgsCisJICBkbGxzL250ZGxsL3NpZ25hbF9pMzg2LmMsIGRsbHMvbnRkbGwvc2lnbmFsX3Bvd2VycGMuYywKKwkgIGRsbHMvbnRkbGwvc2lnbmFsX3NwYXJjLmMsIGRsbHMvbnRkbGwvdmlydHVhbC5jLAorCSAgZGxscy91c2VyL3VzZXJfbWFpbi5jLCBkbGxzL3gxMWRydi9kaWIuYywgaW5jbHVkZS9nbG9iYWwuaCwKKwkgIG9iamVjdHMvbWV0YWZpbGUuYzoKKwlEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCU1vdmUgY29udGVudCBvZiBnbG9iYWwuaCBpbnRvIHRoZSBhcHByb3ByaWF0ZSBwcml2YXRlIGhlYWRlcnMuCisKKwkqIGRsbHMvd2lubW0vbW1zeXN0ZW0uYywgZGxscy93aW5tbS90aW1lLmMsIGRsbHMvd2lubW0vd2luZW1tLmgsCisJICBkbGxzL3dpbm1tL3dpbm1tLmM6CisJRXJpYyBQb3VlY2ggPHBvdWVjaC1lcmljQHdhbmFkb28uZnI+CisJTW92ZSAoYWdhaW4pIHVzYWdlIG9mIDE2IGJpdCBzcGVjaWZpYyBmdW5jdGlvbnMgKHRodW5rIGxvY2spIHRvIDE2IGJpdAorCWNvZGUgb25seS4KKworCSogZGxscy9kZHJhdy9kM2RkZXZpY2UvbWVzYS5jOiBMaW9uZWwgVWxtZXIgPGxpb25lbC51bG1lckBmcmVlLmZyPgorCUxpbWl0IHVzYWdlIG9mIHZlcnRleCBhcnJheXMgdG8gY29ycmVjdCBzdGF0ZXMuCisKKwkqIGRsbHMvZ2RpL2ZyZWV0eXBlLmM6IEh1dyBEYXZpZXMgPGh1d0Bjb2Rld2VhdmVycy5jb20+CisJSWYgdXNXaW5Bc2NlbnQgKyB1c1dpbkRlc2NlbnQgPT0gMCB0aGVuIHVzZSB0aGUgQXNjZW5kZXIgYW5kIERlc2NlbmRlcgorCXZhbHVlcyBpbnN0ZWFkLgorCisJKiBkbGxzL2NvbW1kbGcvZm9udGRsZy5jOiBEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUZpeCBhIGZvbnQgb2JqZWN0IGxlYWsgaW4gdGhlIGZvbnQgZGlhbG9nJ3MgV01fUEFJTlQgaGFuZGxlci4KKworCSogd2luZWRlZmF1bHQucmVnOiBEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUNvcnJlY3QgYSBjb3VwbGUgb2YgaW5jb3JyZWN0IHJlZ2lzdHJ5IHJvb3Qga2V5IG5hbWVzLgorCisJKiBkbGxzL2NyeXB0MzIvY3J5cHQzMi5zcGVjLCBkbGxzL2NyeXB0MzIvbWFpbi5jLCBpbmNsdWRlL3dpbmNyeXB0Lmg6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCVN0dWIgaW1wbGVtZW50YXRpb25zIGZvciBDZXJ0Q3JlYXRlQ1JMQ29udGV4dCBhbmQgQ2VydENsb3NlU3RvcmUuCisKKwkqIERFVkVMT1BFUlMtSElOVFM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJU3RyZWFtbGluZSBkbGxzLyBhbmQgcHJvZ3JhbXMvIGluIHRlcm1zIG9mIGluZGVudGF0aW9uLgorCVVwZGF0ZWQgdGhlIHByb2dyYW1zLyAoYWRkZWQgYW5kIGRlbGV0ZWQgYSBidW5jaCBvZiBlbnRyaWVzKS4KKwlBZGRlZCB0aGUgaW5jbHVkZS97bXN2Y3J0LHdpbmV9IHRvIHRoZSBsaXN0IG9mIGluY2x1ZGUgZGlycy4KKworCSogcHJvZ3JhbXMvd2luZW1pbmUvcnNyYy5yYzogUGF2ZWwgUm9za2luIDxwcm9za2lAZ251Lm9yZz4KKwlNYWtlIGluYWN0aXZlIExFRCBzZWdtZW50cyBkaW1tZXIgdG8gbWFrZSBudW1iZXJzIGVhc2llciB0byByZWFkLgorCisJKiBkbGxzL21zYWNtL3dpbmVtcDMvY29tbW9uLmMsIGRsbHMvbXNhY20vd2luZW1wMy9pbnRlcmZhY2UuYzoKKwlPdmUgS2FhdmVuIDxvdmVrQHRyYW5zZ2FtaW5nLmNvbT4KKwlSZW1vdmUgYW4gaW5zdGFuY2Ugb2YgZXhpdCgpLiBXZSBzaG91bGQgcmV0dXJuIGZhaWx1cmUsIG5vdCBraWxsIHRoZQorCXRocmVhZCwgd2hlbiBhIGJhZCBzdHJlYW0gaXMgZW5jb3VudGVyZWQuCisKKwkqIGRsbHMvd2lubW0vd2luZWFsc2EvbWlkaS5jOiBDaHJpc3RpYW4gQ29zdGEgPHRpdGFuLmNvc3RhQHdhbmFkb28uZnI+CisJRmlyc3QgZW51bWVyYXRlIGFsbCBpbnRlcm5hbCBkZXZpY2VzIGFuZCB0aGVuIGV4dGVybmFsIG1pZGkgcG9ydHMuCisKKwkqIGRsbHMvYWR2YXBpMzIvdGVzdHMvTWFrZWZpbGUuaW46IEhhbnMgTGVpZGVra2VyIDxoYW5zQGl0LnZ1Lm5sPgorCVJlbW92ZSBudGRsbCBmcm9tIGltcG9ydHMuCisKKwkqIGRsbHMvbmV0YXBpMzIvd2tzdGEuYywgaW5jbHVkZS9sbWNvbnMuaCwgaW5jbHVkZS9sbXdrc3RhLmg6CisJSnVhbiBMYW5nIDxqdWFuX2xhbmdAeWFob28uY29tPgorCVBhcnRpYWxseSBpbXBsZW1lbnQgTmV0V2tzdGFHZXRJbmZvLgorCisJKiBpbmNsdWRlL01ha2VmaWxlLmluLCBwcm9ncmFtcy93aW5lbWVudWJ1aWxkZXIvd2luZS54cG0sCisJICBwcm9ncmFtcy93aW5lbWVudWJ1aWxkZXIvd2luZW1lbnVidWlsZGVyLmM6CisJRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlNb3ZlIGluY2x1ZGUvYml0bWFwcy8qLnhwbSB3aGVyZSB0aGV5IGJlbG9uZy4KKworCSogZGxscy9jYWJpbmV0L2NhYmluZXQuc3BlYzoKKwlTdGVmYW4gTGVpY2h0ZXIgPFN0ZWZhbi5MZWljaHRlckBjYW1MaW5lLmNvbT4KKwlGaXhlZCBwYXJhbWV0ZXIgdHlwZXMgb2YgZnVuY3Rpb24gRXh0cmFjdC4KKworCSogZGxscy93aW5lcHMvTWFrZWZpbGUuaW4sIGRsbHMvd2luZXBzL2JpdG1hcC5jLCBkbGxzL3dpbmVwcy9lbmNvZGUuYywKKwkgIGRsbHMvd2luZXBzL3BzLmMsIGRsbHMvd2luZXBzL3BzZHJ2Lmg6CisJSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlSdW4gbGVuZ3RoIGFuZCBhc2NpaTg1IGVuY29kZSBpbWFnZSBkYXRhLgorCisyMDAzLTEyLTA1ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL3gxMWRydi9jbGlwYm9hcmQuYywgZGxscy94MTFkcnYvZXZlbnQuYywgaW5jbHVkZS9jbGlwYm9hcmQuaCwKKwkgIHdpbmRvd3MvY2xpcGJvYXJkLmM6CisJR2V0IHJpZCBvZiBjbGlwYm9hcmQuaC4KKworCSogZGxscy9vcGVuZ2wzMi93Z2wuYzoKKwlSZW1vdmVkIG5vdyB1c2VsZXNzIGNhbGwgdG8gZ2xYUXVlcnlFeHRlbnNpb25zU3RyaW5nLgorCisJKiB3aW5kb3dzL3BhaW50aW5nLmM6CisJSW4gUkRXX1ZhbGlkYXRlUGFyZW50LCBnZXQgcmlkIG9mIHRoZSBwYXJlbnQgdXBkYXRlIHJlZ2lvbiBpZiBpdCBpcworCWVtcHR5IGFmdGVyIHRoZSB2YWxpZGF0aW9uLCB0byBhdm9pZCBhIHVzZWxlc3MgV01fUEFJTlQuCisKKwkqIHByb2dyYW1zL3JlZ2VkaXQvcmVnZWRpdC5jLCBwcm9ncmFtcy9yZWdlZGl0L3JlZ3Byb2MuYzoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCVByaW50IGVycm9yIG1lc3NhZ2VzIHRvIHN0ZGVyciBhcyBpcyBjdXN0b21hcnkuCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjLCBkbGxzL3gxMWRydi9NYWtlZmlsZS5pbiwKKwkgIGRsbHMveDExZHJ2L2JpdGJsdC5jLCBkbGxzL3gxMWRydi9iaXRtYXAuYywgZGxscy94MTFkcnYvYnJ1c2guYywKKwkgIGRsbHMveDExZHJ2L2NsaXBwaW5nLmMsIGRsbHMveDExZHJ2L2NvZGVwYWdlLmMsIGRsbHMveDExZHJ2L2RpYi5jLAorCSAgZGxscy94MTFkcnYvZ3JhcGhpY3MuYywgZGxscy94MTFkcnYvaW5pdC5jLCBkbGxzL3gxMWRydi9vcGVuZ2wuYywKKwkgIGRsbHMveDExZHJ2L3BhbGV0dGUuYywgZGxscy94MTFkcnYvcGVuLmMsIGRsbHMveDExZHJ2L3RleHQuYywKKwkgIGRsbHMveDExZHJ2L3hmb250LmMsIHRvb2xzL3dpbmFwaV9jaGVjay9tb2R1bGVzLmRhdDoKKwlNb3ZlZCBhbGwgdGhlIGZpbGVzIGluIGdyYXBoaWNzL3gxMWRydiB0byBkbGxzL3gxMWRydi4KKworCSogZGxscy9udGRsbC9zZXJ2ZXIuYywgZG9jdW1lbnRhdGlvbi93aW5lLm1hbi5pbiwgbGlicy93aW5lL2RlYnVnLmMsCisJICBsaWJzL3dpbmUvbG9hZGVyLmM6CisJQWRkZWQgYSBXSU5FREVCVUcgZW52aXJvbm1lbnQgdmFyaWFibGUgdGhhdCBhbGxvd3MgdHVybmluZyBvbiBkZWJ1ZworCW91dHB1dCBhcyBlYXJseSBhcyBwb3NzaWJsZSBkdXJpbmcgc3RhcnR1cC4KKworCSogZGxscy94MTFkcnYveDExZHJ2X21haW4uYywgZG9jdW1lbnRhdGlvbi9zYW1wbGVzL2NvbmZpZzoKKwlSZW1vdmVkIFgxMSBkaXNwbGF5IHBhcmFtZXRlciBmcm9tIHRoZSBjb25maWcgZmlsZSwgdGhpcyBpcyBtb3JlCisJY29uZnVzaW5nIHRoYW4gdXNlZnVsLgorCisJKiBwcm9ncmFtcy9yZWdlZGl0L2NoaWxkd25kLmMsIHByb2dyYW1zL3JlZ2VkaXQvZnJhbWV3bmQuYzoKKwlGaWxpcCBOYXZhcmEgPHhuYXZhcmFAdm9sbnkuY3o+CisJRml4ZWQgc29tZSBmbGFncyBpbiBjYWxscyB0byBDcmVhdGVXaW5kb3dFeC4KKwlGaXhlZCBjb2xvciBvZiB0aGUgc3BsaXR0ZXIuCisKKzIwMDMtMTItMDQgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMveDExZHJ2L3gxMWRydl9tYWluLmM6CisJSW5pdGlhbGl6ZSBYbGliIHRocmVhZGluZyBzdXBwb3J0IHRvIHNlZSB3aGF0IGl0IGJyZWFrcy4uLgorCisJKiBkbGxzL3gxMWRydi93aW5kb3cuYywgZGxscy94MTFkcnYveDExZHJ2Lmg6CisJTWlrZSBIZWFybiA8bWlrZUB0aGVvcmV0aWMuY29tPgorCU1hcCAoV1NfRVhfVE9PTFdJTkRPVyAmIFdTX0NBUFRJT04pIHRvIF9ORVRfV01fV0lORE9XX1RZUEVfVVRJTElUWS4KKworCSogZGxscy9jb21tZGxnL2ZvbnRkbGcuYzogUmVpbiBLbGF6ZXMgPHJrbGF6ZXNAeHM0YWxsLm5sPgorCUNvcnJlY3QgdGhlIHRlc3QgZm9yIHRoZSBPRFNfU0VMRUNURUQgYml0IGluIHRoZSBXTV9EUkFXSVRFTSBtZXNzYWdlCisJaGFuZGxlci4KKworCSogZGxscy9rZXJuZWwvdGVzdHMvaGVhcC5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCU1vcmUgdGVzdHMgZm9yIHtMb2NhbCxHbG9iYWx9eyxSZX1BbGxvYygpIGNhbGxzLgorCUNsZWFudXAgb2YgdGhlIEhlYXAqKCkgdGVzdHMuCisKKwkqIGRsbHMvd2lubW0vd2luZWFsc2EvYXVkaW8uYzoKKwlEZWZpbmUgQUxTQV9QQ01fT0xEXyogc3ltYm9scyBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIEFsc2EgMS4wLgorCisJKiBkbGxzL2tlcm5lbC9kZXZpY2UuYzogSnVhbiBMYW5nIDxqdWFuX2xhbmdAeWFob28uY29tPgorCVBhcnRpYWxseSBpbXBsZW1lbnQgRGV2aWNlSW9Db250cm9sIGZvciBWREhDUCwgVk5FVEJJT1MsIGFuZCBWTkIuCisJR2V0cyByaWQgb2YgRklYTUVzIGZvciBpcGNvbmZpZy5leGUgYW5kIHdpbmlwY2ZnLmV4ZS4KKworCSogZGxscy91eHRoZW1lLy5jdnNpZ25vcmUsIGRsbHMvdXh0aGVtZS9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvdXh0aGVtZS9kcmF3LmMsIGRsbHMvdXh0aGVtZS9tYWluLmMsIGRsbHMvdXh0aGVtZS9tZXRyaWMuYywKKwkgIGRsbHMvdXh0aGVtZS9wcm9wZXJ0eS5jLCBkbGxzL3V4dGhlbWUvc3lzdGVtLmMsCisJICBkbGxzL3V4dGhlbWUvdXh0aGVtZS5zcGVjLCBkbGxzL3V4dGhlbWUvdXh0aGVtZWRsbC5oLAorCSAgZGxscy91eHRoZW1lL3ZlcnNpb24ucmM6CisJS2V2aW4gS29sdHphdSA8a2V2aW5AcGxvcC5vcmc+CisJQWRkZWQgc3R1YnMgZm9yIGFsbCBmdW5jdGlvbnMuCisKKwkqIGRsbHMvd2luZXBzL3BzLmMsIGRsbHMvd2luZXBzL3BzZHJ2Lmg6CisJSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlMZXQgUFNEUlZfV3JpdGVTcG9vbCBjb3BlIHdpdGggc3RyaW5ncyBsb25nZXIgdGhhbiAweGZmZmYgYnl0ZXMuCisKKwkqIGRsbHMvbmV0YXBpMzIvYWNjZXNzLmMsIGRsbHMvbmV0YXBpMzIvYnJvd3NyLmMsCisJICBkbGxzL25ldGFwaTMyL25ldGFwaTMyLnNwZWMsIGRsbHMvbmV0YXBpMzIvd2tzdGEuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJU3R1YiBpbXBsZW1lbnRhdGlvbnMgZm9yIHNvbWUgZnVuY3Rpb25zLgorCisJKiBpbmNsdWRlL2NvbW1jdHJsLmg6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJQWRkIG1pc3NpbmcgTGlzdFZpZXdfR2V0Vmlld1JlY3QoKSBtYWNyby4KKworCSogZGxscy9udGRsbC9udGRsbC5zcGVjLCBkbGxzL250ZGxsL3JlZy5jOgorCUpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJSW1wbGVtZW50IHRoZSBSdGxwKiByZWdpc3RyeSBmdW5jdGlvbnMuCisKKwkqIGRsbHMvbXN2Y3J0L2NwcGV4Y2VwdC5jLCBkbGxzL21zdmNydC9leGNlcHQuYywKKwkgIGRsbHMvbXN2Y3J0L21zdmNydC5zcGVjLCBkbGxzL21zdmNydGQvbXN2Y3J0ZC5zcGVjLAorCSAgZGxscy9udGRsbC9udGRsbC5zcGVjLCBkbGxzL250ZGxsL3J0bC5jOgorCUltcGxlbWVudCBzb21lIG1vcmUgcmVnaXN0ZXIgZnVuY3Rpb25zIHVzaW5nIERFRklORV9SRUdTX0VOVFJZUE9JTlQgdG8KKwltYWtlIHRoZW0gYXZhaWxhYmxlIGZvciBpbXBvcnRzLgorCisJKiBkbGxzL250ZGxsL2V4Y2VwdGlvbi5jLCBpbmNsdWRlL3dpbmUvcG9ydC5oLCBpbmNsdWRlL3dpbm50Lmg6CisJTW92ZWQgdGhlIERFRklORV9SRUdTX0VOVFJZUE9JTlQgbWFjcm9zIHRvIGluY2x1ZGUvd2luZS9wb3J0LmguCisJUmVtb3ZlZCB0aGUgQyBmYWxsYmFjayBjb2RlLCBkbyB0aGF0IGluIHRoZSBjYWxsZXJzIGluc3RlYWQuCisKKwkqIGRsbHMvbnRkbGwvcnRsc3RyLmM6CisJV2Ugbm8gbG9uZ2VyIG5lZWQgYSBzcGVjaWFsIGNhc2UgZm9yIGNvZGVwYWdlcyBvbiBzdGFydHVwLAorCWluaXRpYWxpemF0aW9uIGlzIGRvbmUgaW4gdGhlIGNvcnJlY3Qgb3JkZXIgbm93LgorCisJKiBkbGxzL3gxMWRydi9jbGlwYm9hcmQuYywgZGxscy94MTFkcnYveGRuZC5jOiBQb3J0YWJpbGl0eSBmaXhlcy4KKworCSogZGxscy9jb21jdGwzMi9jb21jdGxfVGgucmMsIGRsbHMvY29tY3RsMzIvcnNyYy5yYzoKKwlKb24gR3JpZmZpdGhzIDxqb25fcF9ncmlmZml0aHNAeWFob28uY29tPgorCUFkZGVkIFRoYWkgdHJhbnNsYXRpb24uCisKKwkqIGRsbHMvd3NvY2szMi93c2NvbnRyb2wuaDogSnVhbiBMYW5nIDxqdWFuX2xhbmdAeWFob28uY29tPgorCVJlbW92ZWQgdW51c2VkIHN0cnVjdHVyZSBkZWNsYXJhdGlvbi4KKworCSogY29uZmlndXJlLCBjb25maWd1cmUuYWMsIHByb2dyYW1zL01ha2VmaWxlLmluLAorCSAgcHJvZ3JhbXMvd2luZXRlc3QvLmN2c2lnbm9yZSwgcHJvZ3JhbXMvd2luZXRlc3QvTWFrZWZpbGUuaW4sCisJICBwcm9ncmFtcy93aW5ldGVzdC9tYWluLmMsIHByb2dyYW1zL3dpbmV0ZXN0L21ha2V0ZXN0LAorCSAgcHJvZ3JhbXMvd2luZXRlc3Qvc2VuZC5jLCBwcm9ncmFtcy93aW5ldGVzdC91dGlsLmMsCisJICBwcm9ncmFtcy93aW5ldGVzdC93aW5ldGVzdC5oOgorCUpha29iIEVyaWtzc29uIDxqYWtvdkB2bWxpbnV4Lm9yZz4KKwlEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUZlcmVuYyBXYWduZXIgPHdmZXJpQGFmYXZhbnQuZWx0ZS5odT4KKwlOZXcgV2luZSB0ZXN0IHNoZWxsIHV0aWxpdHkuCisKKwkqIGRsbHMvY29tbWRsZy9mb250ZGxnLmMsIGRsbHMvY29tbWRsZy9mb250ZGxnMTYuYzoKKwlSZWluIEtsYXplcyA8cmtsYXplc0B4czRhbGwubmw+CisJVXNlIHRoZSBsZkhlaWdodCBmaWVsZCB0byBpbml0aWFsaXplIHRoZSBmb250IGRpYWxvZydzIHBvaW50IHNpemUuIERvCisJbm90IGZvcmdldCB0byByZXR1cm4gc29tZSB2YWx1ZXMgaW4gdGhlIGNob29zZWZvbnQgc3RydWN0dXJlIGluIHRoZSAxNgorCWJpdCB2ZXJzaW9uIG9mIHRoZSBDaG9vc2VGb250IGZ1bmN0aW9uLgorCisJKiBkbGxzL25ldGFwaTMyL2FwaWJ1Zi5jLCBkbGxzL25ldGFwaTMyL3Rlc3RzL2FwaWJ1Zi5jOgorCURpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJRml4IE5ldEFwaUJ1ZmZlclJlYWxsb2NhdGUgYW5kIGFkZCBhIGZldyB0ZXN0cyBmb3IgdGhlIGJvcmRlciBjYXNlcworCSh0aGFua3MgdG8gSnVhbiBMYW5nIGZvciBjbGFyaWZpY2F0aW9ucykuCisKKwkqIHdpbmVkZWZhdWx0LnJlZzogUmVpbiBLbGF6ZXMgPHJrbGF6ZXNAeHM0YWxsLm5sPgorCUFkZCBGb250cyBrZXkgZm9yIE5UIHZlcnNpb25zIG9mIFdpbmRvd3MuCisKKwkqIGRsbHMva2VybmVsL2NwdS5jOiBNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlPbiBpNjg2LCByZXBvcnQgcHJvY2Vzc29yIGxldmVsIDYuCisKKzIwMDMtMTItMDMgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMva2VybmVsL2xvY2FsZS5jOgorCUNvbnZlcnRlZCBsb2NhbGUgc2V0dXAgdG8gVW5pY29kZSBzbyB0aGF0IHdlIGRvbid0IHVzZSBjb2RlIHBhZ2VzCisJYmVmb3JlIHRoZXkgYXJlIGluaXRpYWxpemVkLiBJbXByb3ZlZCBlcnJvciByZXBvcnRpbmcgYSBiaXQuCisKKwkqIHByb2dyYW1zL3JlZ2VkaXQvTWFrZWZpbGUuaW4sIHByb2dyYW1zL3JlZ2VkaXQvbWFpbi5jLAorCSAgcHJvZ3JhbXMvcmVnZWRpdC9tYWluLmg6CisJVXNlIGRlbGF5ZWQgaW1wb3J0cyBpbnN0ZWFkIG9mIGV4cGxpY2l0IEdldFByb2NBZGRyZXNzIGNhbGxzLgorCisJKiBkbGxzL2NvbW1kbGcvY2RsZ19DYS5yYywgZGxscy9jb21tZGxnL2NkbGdfQ24ucmMsCisJICBkbGxzL2NvbW1kbGcvY2RsZ19EYS5yYywgZGxscy9jb21tZGxnL2NkbGdfRGUucmMsCisJICBkbGxzL2NvbW1kbGcvY2RsZ19Fbi5yYywgZGxscy9jb21tZGxnL2NkbGdfRXMucmMsCisJICBkbGxzL2NvbW1kbGcvY2RsZ19GaS5yYywgZGxscy9jb21tZGxnL2NkbGdfRnIucmMsCisJICBkbGxzL2NvbW1kbGcvY2RsZ19IdS5yYywgZGxscy9jb21tZGxnL2NkbGdfSXQucmMsCisJICBkbGxzL2NvbW1kbGcvY2RsZ19KYS5yYywgZGxscy9jb21tZGxnL2NkbGdfTmwucmMsCisJICBkbGxzL2NvbW1kbGcvY2RsZ19QbC5yYywgZGxscy9jb21tZGxnL2NkbGdfUHQucmMsCisJICBkbGxzL2NvbW1kbGcvY2RsZ19SdS5yYywgZGxscy9jb21tZGxnL2NkbGdfU2kucmMsCisJICBkbGxzL2NvbW1kbGcvY2RsZ19Tay5yYywgZGxscy9jb21tZGxnL2NkbGdfU3YucmMsCisJICBkbGxzL2NvbW1kbGcvY2RsZ19XYS5yYywgZGxscy9jb21tZGxnL2NkbGdfWmgucmMsCisJICBkbGxzL2NvbW1kbGcvZm9udGRsZy5jLCBkbGxzL2NvbW1kbGcvZm9udGRsZy5oLAorCSAgZGxscy9jb21tZGxnL2ZvbnRkbGcxNi5jOgorCVJlaW4gS2xhemVzIDxya2xhemVzQHhzNGFsbC5ubD4KKwlJbXBsZW1lbnQgY29tYm9ib3ggdG8gc2VsZWN0IHRoZSBmb250J3MgY2hhcmFjdGVyIHNldC4KKwlCdWcgZml4ZXM6IGhhbmRsZSBXTV9NRUFTVVJFSVRFTSBtZXNzYWdlOyBoYW5kbGUgdGhlIFdNX1BBSU5UIG1lc3NhZ2UKKwlpbiB0aGUgMTZiaXQgZm9udCBkaWFsb2csIHNvIGl0IGRpc3BsYXlzIHRoZSBzYW1wbGUgc3RyaW5nIHRvby4KKworCSogcHJvZ3JhbXMvcnVuZGxsMzIvTWFrZWZpbGUuaW4sIHByb2dyYW1zL3J1bmRsbDMyL3J1bmRsbDMyLmM6CisJQWRkZWQgc3VwcG9ydCBmb3IgbG9hZGluZyAxNi1iaXQgZGxscy4KKworCSogZGxscy9udGRsbC9sb2FkZXIuYzoKKwlSZW1vdmVkIG5vIGxvbmdlciB1c2VkIGV4dHJhIHNwYWNlIGFsbG9jYXRlZCBpbiB0aGUgbW9kcmVmIHN0cnVjdHVyZS4KKworCSogZGxscy9rZXJuZWwvbG9jYWxlLmM6CisJUmV2ZXJ0IGNoYW5nZSBmb3IgaGFuZGxpbmcgdXNlciBvdmVycmlkZXMgYXMgbnVtYmVycyBhbmQgcmVpbXBsZW1lbnQKKwlpdCBkaWZmZXJlbnRseS4KKworCSogY29uZmlndXJlLCBjb25maWd1cmUuYWM6IEphY2VrIENhYmFuIDxqYWNrQGl0bWEucHdyLndyb2MucGw+CisJQWRkZWQgLWxYbXUgYW5kIC1sWGkgZm9yIGdsdXQgbGlicmFyeS4KKworCSogcHJvZ3JhbXMvcmVnZWRpdC9Fbi5yYywgcHJvZ3JhbXMvcmVnZWRpdC9NYWtlZmlsZS5pbiwKKwkgIHByb2dyYW1zL3JlZ2VkaXQvY2hpbGR3bmQuYywgcHJvZ3JhbXMvcmVnZWRpdC9lZGl0LmMsCisJICBwcm9ncmFtcy9yZWdlZGl0L2ZyYW1ld25kLmMsIHByb2dyYW1zL3JlZ2VkaXQvbWFpbi5jLAorCSAgcHJvZ3JhbXMvcmVnZWRpdC9tYWluLmgsIHByb2dyYW1zL3JlZ2VkaXQvcmVzb3VyY2UuaCwKKwkgIHByb2dyYW1zL3JlZ2VkaXQvdHJlZXZpZXcuYzoKKwlEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUFkZGVkIHN1cHBvcnQgZm9yIGVkaXRpbmcgc3RyaW5ncy4KKworCSogZGxscy9zaGVsbDMyL2NvbnRyb2wuYywgZGxscy9zaGVsbDMyL3NoZWxsMzIuc3BlYzoKKwlJbXBsZW1lbnRlZCBSdW5ETExfQ2FsbEVudHJ5MTYuCisKKwkqIHByb2dyYW1zL2Nsb2NrL21haW4uYywgcHJvZ3JhbXMvY2xvY2svd2luY2xvY2suYywKKwkgIHByb2dyYW1zL2Nsb2NrL3dpbmNsb2NrLmg6CisJUmljaGFyZCBDb2hlbiA8cmljaGFyZEBkYWlqb2J1LmNvLnVrPgorCS0gUHJvcGVybHkgZGlzYWJsZSB0aGUgc2Vjb25kIGhhbmQuCisJLSBSZW1vdmUgdW5uZWVkZWQgI2luY2x1ZGUgIndpbm5scyIsICNkZWZpbmUgTUlOLgorCS0gR2V0IHRoZSBkaWdpdGFsIGNsb2NrIHdvcmtpbmcuCisKKwkqIGluY2x1ZGUvdXJsbW9uLmgsIGluY2x1ZGUvdXJsbW9uLmlkbDoKKwlLaXJpbGwgU21lbGtvdiA8a2lyckBsYW5kYXUucGh5cy5zcGJ1LnJ1PgorCUlCaW5kSG9zdCBpbnRlcmZhY2UgYWRkaXRpb25zLgorCisJKiBpbmNsdWRlL29jaWRsLmgsIGluY2x1ZGUvb2NpZGwuaWRsOgorCUtpcmlsbCBTbWVsa292IDxraXJyQGxhbmRhdS5waHlzLnNwYnUucnU+CisJQWRkZWQgSU9iamVjdFdpdGhTaXRlIGludGVyZmFjZS4KKworCSogdG9vbHMvd2luZWdjYy93aW5ld3JhcC5jOiBSaWNoYXJkIENvaGVuIDxyaWNoYXJkQGRhaWpvYnUuY28udWs+CisJU2VhcmNoIGZvciBsaWJyYXJpZXMgaW4gdGhlIG9yZGVyIC0gLnNvIC0gLmRlZiAtIC5hCisKKwkqIHByb2dyYW1zL2Nsb2NrL0RhLnJjLCBwcm9ncmFtcy9jbG9jay9EZS5yYywgcHJvZ3JhbXMvY2xvY2svRW4ucmMsCisJICBwcm9ncmFtcy9jbG9jay9Fcy5yYywgcHJvZ3JhbXMvY2xvY2svRmkucmMsIHByb2dyYW1zL2Nsb2NrL0ZyLnJjLAorCSAgcHJvZ3JhbXMvY2xvY2svSHUucmMsIHByb2dyYW1zL2Nsb2NrL0l0LnJjLCBwcm9ncmFtcy9jbG9jay9ObC5yYywKKwkgIHByb2dyYW1zL2Nsb2NrL1B0LnJjLCBwcm9ncmFtcy9jbG9jay9SdS5yYywgcHJvZ3JhbXMvY2xvY2svU2kucmMsCisJICBwcm9ncmFtcy9jbG9jay9Tay5yYywgcHJvZ3JhbXMvY2xvY2svU3cucmMsIHByb2dyYW1zL2Nsb2NrL1RoLnJjLAorCSAgcHJvZ3JhbXMvY2xvY2svV2EucmMsIHByb2dyYW1zL2Nsb2NrL1poLnJjLAorCSAgcHJvZ3JhbXMvY2xvY2svY2xvY2tfcmVzLmgsIHByb2dyYW1zL2Nsb2NrL2xhbmd1YWdlLmMsCisJICBwcm9ncmFtcy9jbG9jay9tYWluLmMsIHByb2dyYW1zL2Nsb2NrL21haW4uaCwgcHJvZ3JhbXMvY2xvY2svcnNyYy5yYzoKKwlSaWNoYXJkIENvaGVuIDxyaWNoYXJkQGRhaWpvYnUuY28udWs+CisJLSBVc2UgcmVzb3VyY2UgaWRzIElETV8qLCBJRFNfKiBpbnN0ZWFkIG9mIG51bWJlcnMuCisJLSBNb3ZlIC4uLiBmcm9tIHRvcGxldmVsICJJbmZvLi4uIiBvbnRvIHN1YiBpdGVtcyAoZWcgIkFib3V0IikuCisKKwkqIG9iamVjdHMvcGVuLmM6IEFuZHJldyBkZSBRdWluY2V5IDxhZHFfZHZiQGxpZHNraWFsZi5uZXQ+CisJQ2hlY2sgYnJ1c2ggc3R5bGUgYmVmb3JlIHByaW50aW5nIEZJWE1FLgorCisJKiBjb250cm9scy9zY3JvbGwuYzogSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlPbmx5IGhvbm91ciBTQlNfU0laRUJPWCpBTElHTiBzdHlsZXMgaWYgU0JTX1NJWkV7R1JJUCxCT1h9IGlzIHNldC4KKworCSogREVWRUxPUEVSUy1ISU5UUzogVG9tIFdpY2tsaW5lIDx0d2lja2xpbmVAc2t5YmVzdC5jb20+CisJVXBkYXRlZC4KKworMjAwMy0xMi0wMiAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogcHJvZ3JhbXMvYXZpdG9vbHMvTWFrZWZpbGUuaW4sIHByb2dyYW1zL2F2aXRvb2xzL2F2aWluZm8uYywKKwkgIHByb2dyYW1zL2F2aXRvb2xzL2F2aXBsYXkuYywgcHJvZ3JhbXMvYXZpdG9vbHMvaWNpbmZvLmM6CisJVXNlIG5vcm1hbCBkbGwgaW1wb3J0cyBpbnN0ZWFkIG9mIEdldFByb2NBZGRyZXNzIGhhY2tzLgorCisJKiBjb250cm9scy9saXN0Ym94LmM6IEFyaWMgU3Rld2FydCA8YXJpY0Bjb2Rld2VhdmVycy5jb20+CisJSW52YWxpZGF0ZSBpdGVtcyBvbiBzZXQgc2VsZWN0aW9uLgorCisJKiBjb250cm9scy9zY3JvbGwuYzogQXJpYyBTdGV3YXJ0IDxhcmljQGNvZGV3ZWF2ZXJzLmNvbT4KKwlIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCVNvbWUgc3VwcG9ydCBmb3IgU0JTX1NJWkVHUklQLgorCisJKiBkbGxzL29wZW5nbDMyL3dnbC5jOiBEYW5pZWwgU2tvcmthIDxza29ya2FAZ214Lm5ldD4KKwlGaXhlZCBhIHByb2JsZW0gdXNpbmcgZ2xYR2V0UHJvY0FkZHJlc0FSQiB3aXRoIGJhZCBPcGVuR0wgbGlicy4KKworCSogZmlsZXMvZmlsZS5jOiBSZW1vdmVkIG5vIGxvbmdlciBuZWVkZWQgZGxsIHNlcGFyYXRpb24gaGFjay4KKworCSogZGxscy9rZXJuZWwvY29tbS5jLCBkbGxzL2tlcm5lbC9zeW5jLmMsIGRsbHMvd2luZWRvcy9pbnQxMy5jLAorCSAgZGxscy93aW5zb2NrL3NvY2tldC5jLCBmaWxlcy9maWxlLmMsIGluY2x1ZGUvZmlsZS5oOgorCVVzZSB3aW5lX3NlcnZlcl9yZWxlYXNlX2ZkKCkgaW5zdGVhZCBvZiBjbG9zZSgpIGV2ZXJ5d2hlcmUgd2UgdXNlCisJd2luZV9zZXJ2ZXJfaGFuZGxlX3RvX2ZkKCkuCisJQSBmZXcgbWlub3Igd2luc29jayBjbGVhbnVwcy4KKworCSogY29uZmlndXJlLCBjb25maWd1cmUuYWMsIGRsbHMvTWFrZWZpbGUuaW4sIGRsbHMvZ2x1dDMyLy5jdnNpZ25vcmUsCisJICBkbGxzL2dsdXQzMi9NYWtlZmlsZS5pbiwgZGxscy9nbHV0MzIvZ2x1dC5jLCBkbGxzL2dsdXQzMi9nbHV0MzIuc3BlYywKKwkgIGRsbHMvbWFrZV9kbGxzOgorCUphY2VrIENhYmFuIDxqYWNrQGl0bWEucHdyLndyb2MucGw+CisJQWRkZWQgZ2x1dDMyIGRsbC4KKworCSogcHJvZ3JhbXMvd2luZWNvbnNvbGUvd2luZWNvbnNvbGUuYzoKKwlQZXRlciBCZXJnIExhcnNlbiA8cGVibEBtYXRoLmt1LmRrPgorCS0gdGhlIGxhc3QgZXZlbnQgd2FzIG5vdCBsb29rZWQgYXQgd2hlbiBjb21wcmVzc2luZyBjb25zb2xlIGV2ZW50cworCS0gYmV0dGVyIGNvbXByZXNzaW9uIGZvciBVUERBVEVfRVZFTlRzIGFzIHRoZXkgYXJlIG5vdCBpbmZsdWVuY2VkIGJ5CisJICBDVVJTT1JfUE9TIG9yIENVUlNPUl9HRU9NCisJLSBhZGRlZCBkZWJ1ZyB0cmFjZXMKKworCSogZGxscy9vbGVhdXQzMi9oYXNoLmM6IEpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJQWRkIGhhc2ggdGFibGVzIGZvciBhbGwgc3VwcG9ydGVkIGxhbmd1YWdlcy4KKwlSZW1vdmUgc29tZSB1c2VsZXNzIGluY2x1ZGVzLgorCisJKiBkbGxzL2FkdmFwaTMyL2FkdmFwaTMyLnNwZWMsIGRsbHMvYWR2YXBpMzIvc2VydmljZS5jLAorCSAgaW5jbHVkZS93aW5zdmMuaDoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJU3R1YiBpbXBsZW1lbnRhdGlvbnMgZm9yIENoYW5nZVNlcnZpY2VDb25maWdBL1cuCisJSW1wbGVtZW50IENyZWF0ZVNlcnZpY2VXIGFuZCBjYWxsIGl0IGZyb20gQ3JlYXRlU2VydmljZUEuCisJUGFydGlhbCBpbXBsZW1lbnRhdGlvbiBvZiBRdWVyeVNlcnZpY2VDb25maWdXLgorCisJKiBkbGxzL2NyeXB0MzIvY3J5cHQzMi5zcGVjLCBkbGxzL2NyeXB0MzIvbWFpbi5jLCBpbmNsdWRlL3dpbmNyeXB0Lmg6CisJVGhvbWFzIEJyaXggTGFyc2VuIDxraWxsYXJAZ2V0Mm5ldC5kaz4KKwlBZGRlZCBzdHViIGZvciBDcnlwdFByb3RlY3REYXRhLCBzbyBwcm9ncmFtcyBsaWtlIFNreXBlIGNhbiBzdGFydC4KKworCSogZGxscy93aW5tbS9tbXN5c3RlbS5jLCBkbGxzL3dpbm1tL3RpbWUuYywgZGxscy93aW5tbS93aW5lbW0uaDoKKwlFcmljIFBvdWVjaCA8cG91ZWNoLWVyaWNAd2FuYWRvby5mcj4KKwlNb3ZlIHVzYWdlIG9mIDE2IGJpdCBzcGVjaWZpYyBmdW5jdGlvbnMgKE1hcFNMKSBpbiAxNiBiaXQgY29kZSBvbmx5LgorCisJKiBkbGxzL2NvbWN0bDMyL3RhYi5jLCBkbGxzL2NvbWN0bDMyL3Rlc3RzL3RhYi5jOgorCVZpdGFsaXkgTWFyZ29sZW4gPHdpbmUtcGF0Y2hAa2lldmluZm8uY29tPgorCS0gRml4IGRyYXdpbmcgb2YgSG90VHJhY2tlZCB0YWJzICYgYnV0dG9ucy4KKwktIE1vcmUgdGFiIHNpemUgZml4ZXMgaW4gZGlmZmVyZW50IHN0eWxlcy4KKwktIERvbid0IHVzZSBuZXcgcGFkZGluZyB1bnRpbCBzdHlsZSBjaGFuZ2VzLgorCS0gRml4IGxlZnQgYWxpZ25tZW50IG9mIGxhYmVscyAmfCBpY29ucy4KKwktIERvbid0IGRyYXcgb3ZlciBVcERvd24gY29udHJvbC4KKwktIEZ1bGx5IGVyYXNlIHRhYnMgd2hlbiBzY3JvbGxpbmcuCisJLSBNb3JlIHRlc3RzLgorCisyMDAzLTEyLTAxICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL250ZGxsL2ZpbGUuYywgZGxscy9udGRsbC9udGRsbC5zcGVjLCBkbGxzL250ZGxsL3NlcnZlci5jLAorCSAgZGxscy9udGRsbC92aXJ0dWFsLmMsIGZpbGVzL3NtYi5jLCBmaWxlcy9zbWIuaCwgaW5jbHVkZS9hc3luYy5oLAorCSAgaW5jbHVkZS93aW5lL3NlcnZlci5oLCBzZXJ2ZXIvZmQuYzoKKwlBZGRlZCB3aW5lX3NlcnZlcl9yZWxlYXNlX2ZkIGZ1bmN0aW9uIHRvIHJlbGVhc2UgdGhlIGZkIHJldHVybmVkIGJ5CisJd2luZV9zZXJ2ZXJfaGFuZGxlX3RvX2ZkLiBGaXhlZCBhIGNvdXBsZSBvZiBwb3RlbnRpYWwgZmQgbGVha3MuCisKKwkqIGRsbHMvbnRkbGwvcmVsYXkuYzoKKwlBbGxvdyBSRUxBWV9TZXR1cERMTCB0byBiZSBjYWxsZWQgdHdpY2Ugb24gdGhlIHNhbWUgZGxsLgorCisJKiBkbGxzL2tlcm5lbC9rZXJuZWxfcHJpdmF0ZS5oLCBkbGxzL2tlcm5lbC9sY2Zvcm1hdC5jLAorCSAgZGxscy9rZXJuZWwvdGltZS5jOgorCUpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJRmFpbCBHZXRDYWxlbmRhckluZm9BIGZvciBVbmljb2RlLW9ubHkgbG9jYWxlcy4KKworCSogZGxscy9rZXJuZWwvbG9jYWxlLmM6IEpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJQWxsb3cgdXNlciBvdmVycmlkZGVuIGxvY2FsZSBkYXRhIHRvIGJlIHJldHJpZXZlZCBhcyBudW1iZXJzLgorCisJKiBkbGxzL2NvbW1kbGcvY29sb3JkbGcuYywgZGxscy9jb21tZGxnL2NvbG9yZGxnLmgsCisJICBkbGxzL2NvbW1kbGcvY29sb3JkbGcxNi5jOgorCVN0ZXZlbiBFZHdhcmRzIDxzdGV2ZW5fZWQ0MTUzQHlhaG9vLmNvbT4KKwlTcGxpdCB0aGUgV2luMTYvMzIgY29sb3IgZGlhbG9nIGJ5IGR1cGxpY2F0aW5nIHR3byBpbnRlcm5hbAorCWZ1bmN0aW9ucy4KKworCSogcHJvZ3JhbXMvY2xvY2svVGgucmMsIHByb2dyYW1zL25vdGVwYWQvVGgucmMsCisJICBwcm9ncmFtcy9ub3RlcGFkL3JzcmMucmM6CisJSm9uIEdyaWZmaXRocyA8am9uX3BfZ3JpZmZpdGhzQHlhaG9vLmNvbT4KKwlUaGFpIHRyYW5zbGF0aW9uIG9mIG5vdGVwYWQuIEZpeCBzcGVsbGluZyBpbiBjbG9jayB0cmFuc2xhdGlvbnMuCisKKwkqIGRsbHMvZ2RpL2dkaTMyLnNwZWMsIG9iamVjdHMvZW5obWV0YWZpbGUuYzoKKwlIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCUltcGxlbWVudCBDb3B5RW5oTWV0YUZpbGVXLgorCisJKiBkbGxzL2NvbW1kbGcvY2RsZ19Fbi5yYzogSm9uIEdyaWZmaXRocyA8am9uX3BfZ3JpZmZpdGhzQHlhaG9vLmNvbT4KKwlTcGVsbGluZy9HcmFtbWFyIGZpeGVzLgorCisJKiBkbGxzL2NvbW1kbGcvZm9udGRsZy5jOiBSZWluIEtsYXplcyA8cmtsYXplc0B4czRhbGwubmw+CisJQWRkIHNhbXBsZSB0ZXh0cyBmb3IgYWxsIG1pc3NpbmcgY2hhcmFjdGVyIHNldHMgKG9yIGV4cGxhaW4gd2h5IHNvbWUKKwlkb24ndCBoYXZlIGl0KS4gUHV0IHRoZSBjb21wbGV0ZSB0ZXh0IGluIG9uZSBwbGFjZSBhbmQgcmVtb3ZlIHRoZSBnbHVlCisJY29kZS4gQ2hhbmdlIHRoZSAyRCBhcnJheSB0aGF0IGhvbGRzIHRoZSB0ZXh0cyBieSBhIGFycmF5IG9mIHBvaW50ZXIKKwl0byAxRCBjaGFyYWN0ZXIgYXJyYXlzIHRvIHNhdmUgc3BhY2UuCisKKwkqIGluY2x1ZGUvbXNpLmgsIGluY2x1ZGUvbXNpcXVlcnkuaDoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJRGVjbGFyZSBzb21lIE1TSSBmdW5jdGlvbnMuCisKKwkqIGRsbHMvd2lubW0vbG9sdmxkcnYuYywgZGxscy93aW5tbS9tbXN5c3RlbS5jLCBkbGxzL3dpbm1tL3dpbmVtbS5oLAorCSAgZGxscy93aW5tbS93aW5tbS5jOgorCUVyaWMgUG91ZWNoIDxwb3VlY2gtZXJpY0B3YW5hZG9vLmZyPgorCU1vdmUgdXNhZ2Ugb2YgMTYgYml0IHNwZWNpZmljIGZ1bmN0aW9ucyAoTWFwU0wpIGluIDE2IGJpdCBjb2RlIG9ubHkuCisKKwkqIGRsbHMvd2luZWRvcy90aW1lci5jOiBKdWtrYSBIZWlub25lbiA8amhlaUBpa2kuZmk+CisJQWRkIHVwcGVyIGxpbWl0IGZvciB0aGUgbnVtYmVyIG9mIHBlbmRpbmcgdGltZXIgaW50ZXJydXB0cy4KKwlDaGVjayBpZiB0aW1lciBoYXMgYmVlbiBzdHVjayBhbmQgaXNzdWUgYW4gZXJyb3IgdG8gdXNlci4KKwlGaXggaGFuZGxpbmcgb2YgdGltZXIgcGVyaW9kIHplcm8uCisKKwkqIGRsbHMvb2xlYXV0MzIvdG1hcnNoYWwuYzogTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJVXNlIGNvcnJlY3QgcG9pbnRlciBmb3IgU3lzRnJlZVN0cmluZy4KKworCSogZGxscy9kZXZlbnVtL2RldmVudW0ucmMsIGRsbHMvbXNkbW8vcnNyYy5yYzoKKwlUb20gV2lja2xpbmUgPHR3aWNrbGluZUBza3liZXN0LmNvbT4KKwlVc2UgdGhlIHNhbWUgdmVyc2lvbiBmb3JtYXQgZm9yIGFsbCBEWCBkbGxzLgorCisJKiBpbmNsdWRlL3dpbmdkaS5oOiBLaXJpbGwgU21lbGtvdiA8a2lyckBsYW5kYXUucGh5cy5zcGJ1LnJ1PgorCUFkZGVkIFNldERDUGVuQ29sb3IgcHJvdG90eXBlLgorCisJKiBkbGxzL3BzYXBpL3BzYXBpLnNwZWMsIGRsbHMvcHNhcGkvcHNhcGlfbWFpbi5jOgorCUtldmluIEtvbHR6YXUgPGtldmluQHBsb3Aub3JnPgorCUV4cG9ydCBRdWVyeVdvcmtpbmdTZXQuCisKKzIwMDMtMTEtMzAgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIHByb2dyYW1zL01ha2VmaWxlLmluLCBwcm9ncmFtcy9tYWtlX3Byb2dzOgorCUFkZGVkIG1ha2VfcHJvZ3MgdG9vbCB0byBnZW5lcmF0ZSB0aGUgcHJvZ3JhbXMgbWFrZWZpbGUuCisJQ3JlYXRlIHN5bWxpbmtzIGZvciBhbGwgdGhlIFdpbmVsaWIgYXBwcy4KKworCSogZGxscy9pcGhscGFwaS9pZmVudW0uYywgZGxscy9pcGhscGFwaS9pZmVudW0uaCwKKwkgIGRsbHMvaXBobHBhcGkvaXBobHBhcGlfbWFpbi5jOgorCUp1YW4gTGFuZyA8anVhbl9sYW5nQHlhaG9vLmNvbT4KKwktIGZpeGVzIHRocmVhZCBzYWZldHkgaXNzdWVzCisJLSBmaXhlcyBwcm9ibGVtcyB3aXRoIG5vbi1JUCAoZS5nLiBJUFgpIGFkZHJlc3NlcworCS0gdXBkYXRlcyBjb21tZW50cyB0byByZWZsZWN0IHdpbnNvY2ssIG5ldGFwaTMyIGNoYW5nZXMKKworCSogZGxscy9hdmlmaWwzMi9yc3JjLnJjLCBkbGxzL2NvbWN0bDMyL3JzcmMucmMsCisJICBkbGxzL2NvbW1kbGcvY2RsZ194eC5yYywgZGxscy9kZXZlbnVtL2RldmVudW0ucmMsCisJICBkbGxzL3NoZWxsMzIvc2hlbGwzMl94eC5yYywgZGxscy9zaGVsbDMyL3ZlcnNpb24ucmMsCisJICBkbGxzL3NoZWxsMzIvdmVyc2lvbjE2LnJjLCBpbmNsdWRlL3dpbmUvd2luZV9jb21tb25fdmVyLnJjOgorCURtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJQSBnZW5lcmFsIGNsZWFudXAgb2YgdGhlIHZlcnNpb24gcmVzb3VyY2VzIGluIFdpbmUgRExMcy4KKworCSogZGxscy93aW5zb2NrL3NvY2tldC5jOiBKdWFuIExhbmcgPGp1YW5fbGFuZ0B5YWhvby5jb20+CisJUmVtb3ZlZCBhbm5veWluZyBtZXNzYWdlIGFib3V0IG1pc3NpbmcgZW50cnkgaW4gL2V0Yy9zZXJ2aWNlcy4KKworCSogcHJvZ3JhbXMvd2luZWRiZy9kZWJ1Zy5sOiBBbmRyZXcgZGUgUXVpbmNleSA8YWRxX2R2YkBsaWRza2lhbGYubmV0PgorCUZpeGVkIG9uZSBtb3JlIEhlYXBSZUFsbG9jIGNhbGwuCisKKwkqIHByb2dyYW1zL2Nsb2NrL2xhbmd1YWdlLmMsIHByb2dyYW1zL2Nsb2NrL2xhbmd1YWdlLmgsCisJICBwcm9ncmFtcy9jbG9jay9tYWluLmMsIHByb2dyYW1zL2Nsb2NrL21haW4uaDoKKwlSaWNoYXJkIENvaGVuIDxyaWNoYXJkQGRhaWpvYnUuY28udWs+CisJUmVtb3ZlIHNvbWUgdW51c2VkIGNvZGUuCisKKwkqIGNvbmZpZ3VyZSwgY29uZmlndXJlLmFjLCBwcm9ncmFtcy9NYWtlZmlsZS5pbiwgdG9vbHMvbWFrZV9kZWJ1ZzoKKwlSZW1vdmVkIHNvbWUgbm8gbG9uZ2VyIHVzZWQgcHJvZ3JhbXMuCisKKwkqIGRvY3VtZW50YXRpb24vYnVncy5zZ21sOiBCcmlhbiBWaW5jZW50IDx2aW5uQHRoZXNoZWxsLmNvbT4KKwlSZXBsYWNlIHNvbWUgb2Jzb2xldGUgcmVzb3VyY2VzIHdpdGggbmV3ZXIgb25lcy4KKworCSogb2JqZWN0cy9kYy5jOiBSaWNoYXJkIENvaGVuIDxyaWNoYXJkQGRhaWpvYnUuY28udWs+CisJQWRkZWQgbWlzc2luZyBHRElfUmVsZWFzZU9iaigpIHRvIEdldERDQnJ1c2hDb2xvciAmIEdldERDUGVuQ29sb3IuCisKKwkqIGluY2x1ZGUvd2luZS93aW5lX2NvbW1vbl92ZXIucmMsIHByb2dyYW1zL3JlZ3N2cjMyL3JlZ3N2cjMyLnJjOgorCVN0ZWZhbiBMZWljaHRlciA8U3RlZmFuLkxlaWNodGVyQGNhbUxpbmUuY29tPgorCUNoYW5nZWQgdGhlIHZlcnNpb24gcmVzb3VyY2UgdG8gYmUgY3JlYXRlZCBpbiB0aGUgY29tbW9uIHdheS4KKworMjAwMy0xMS0yOSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9udGRsbC9ydGxiaXRtYXAuYzoKKwlGaXhlZCBiaXRtYXAgcmFuZ2UgY2hlY2tpbmcgdG8gYXZvaWQgaW50ZWdlciBvdmVyZmxvd3MuCisKKwkqIGRsbHMvbmV0YXBpMzIvTWFrZWZpbGUuaW4sIGRsbHMvbmV0YXBpMzIvbmJjbWRxdWV1ZS5jLAorCSAgZGxscy9uZXRhcGkzMi9uYmNtZHF1ZXVlLmgsIGRsbHMvbmV0YXBpMzIvbmJuYW1lY2FjaGUuYywKKwkgIGRsbHMvbmV0YXBpMzIvbmJuYW1lY2FjaGUuaCwgZGxscy9uZXRhcGkzMi9uYnQuYywKKwkgIGRsbHMvbmV0YXBpMzIvbmV0YXBpMzIuYywgZGxscy9uZXRhcGkzMi9uZXRiaW9zLmMsCisJICBkbGxzL25ldGFwaTMyL25ldGJpb3MuaCwgZGxscy9uZXRhcGkzMi93a3N0YS5jLCBpbmNsdWRlL2xtd2tzdGEuaCwKKwkgIGluY2x1ZGUvbmIzMC5oOgorCUp1YW4gTGFuZyA8anVhbl9sYW5nQHlhaG9vLmNvbT4KKwlJbXBsZW1lbnRlZCBhIGxvdCBvZiBOZXRiaW9zKCkuCisKKzIwMDMtMTEtMjggIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvY29tbWRsZy9mb250ZGxnLmM6IFJlaW4gS2xhemVzIDxya2xhemVzQHhzNGFsbC5ubD4KKwlSZW1lbWJlciAoZG8gbm90IHJlc2V0KSAgZm9udCBzaXplIGFuZCBzdHlsZSBwYXJhbWV0ZXJzIGluIHRoZSBpbml0aWFsCisJZGlhbG9nIGFuZCB3aGVuIGFub3RoZXIgZm9udCBpcyBzZWxlY3RlZC4KKworCSogZGxscy9jb21tZGxnL2ZvbnRkbGcuYzogUmVpbiBLbGF6ZXMgPHJrbGF6ZXNAeHM0YWxsLm5sPgorCUZpeCBhIGJ1ZyBpbiB0aGUgdGVzdCBmb3IgaXRhbGljIGZvbnQgc3R5bGUgcHJvcGVydHkuCisKKwkqIGRvY3VtZW50YXRpb24vcnVubmluZy5zZ21sOiBNaWtlIEhlYXJuIDxtaWtlQHRoZW9yZXRpYy5jb20+CisJVXBkYXRlIGRlYnVnIGNoYW5uZWwgbGlzdC4KKworCSogZGxscy9udGRsbC9wYXRoLmM6IEZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJT25seSBjb252ZXJ0ICcvJ3MgdG8gJ1xcJ3MgdXAgdG8gdGhlICdcMCcgYXMgdGhlIHJlc3Qgb2YgdGhlIGJ1ZmZlcgorCW1heSBub3QgYmUgaW5pdGlhbGl6ZWQgKGZvdW5kIGJ5IFZhbGdyaW5kKS4KKworCSogZGxscy9jb21tZGxnL2ZvbnRkbGcuYzogUmVpbiBLbGF6ZXMgPHJrbGF6ZXNAeHM0YWxsLm5sPgorCVRpZHkgdXAgaW5kZW50YXRpb24uCisKKwkqIGRsbHMvb2xlYXV0MzIvdGVzdHMvdmFydGVzdC5jLCBkbGxzL3NobHdhcGkvdGVzdHMvY2xzaWQuYzoKKwlQb3J0aW5nIGZpeGVzLgorCisJKiBzZXJ2ZXIvY2xpcGJvYXJkLmM6IGNidGhyZWFkIGFuZCBjYm93bmVyIGRvbid0IG5lZWQgdG8gYmUgZXhwb3J0ZWQuCisKKwkqIGRsbHMvbXN2Y3J0L21hdGguYywgaW5jbHVkZS9tc3ZjcnQvc3RkbGliLmgsIHRvb2xzL3dpbmVidWlsZC9pbXBvcnQuYzoKKwlCZXR0ZXIgc3VwcG9ydCBmb3IgZGl2IGFuZCBsZGl2IGluIFdpbmVsaWIgYXBwcy4KKworCSogd2luZWRlZmF1bHQucmVnOiBGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCVJlbW92ZSBkdXBsaWNhdGVkIFNlcmlhbENvbW0ga2V5LgorCisJKiBkbGxzL3dpbnNvY2svTWFrZWZpbGUuaW4sIGRsbHMvd2luc29jay9zb2NrZXQuYywKKwkgIGRsbHMvd2luc29jay9zb2NrZXQxNi5jLCBkbGxzL3dpbnNvY2svd2luc29jay5zcGVjOgorCU1vdmVkIHRoZSAxNi1iaXQgY29kZSBvdXQgb2Ygc29ja2V0LmMgYW5kIGludG8gYSBzZXBhcmF0ZSBmaWxlLgorCisJKiBkbGxzL3dzb2NrMzIvc29ja2V0LmMsIGRsbHMvd3NvY2szMi93c2NvbnRyb2wuaDoKKwlKdWFuIExhbmcgPGp1YW5fbGFuZ0B5YWhvby5jb20+CisJSW1wbGVtZW50IHRoZSBUQ1AgdGFibGUgcXVlcnksIG5ldHN0YXQuZXhlIG5vdyBzaG93cyBUQ1AgbGlzdGVuaW5nIGFuZAorCWNvbm5lY3RlZCBzb2NrZXRzLgorCisJKiBwcm9ncmFtcy9yZWdzdnIzMi8uY3ZzaWdub3JlLCBwcm9ncmFtcy9yZWdzdnIzMi9NYWtlZmlsZS5pbiwKKwkgIHByb2dyYW1zL3JlZ3N2cjMyL3JlZ3N2cjMyLnJjOgorCVN0ZWZhbiBMZWljaHRlciA8U3RlZmFuLkxlaWNodGVyQGNhbUxpbmUuY29tPgorCUFkZGVkIHZlcnNpb24gaW5mbyByZXNvdXJjZS4KKworCSogdG9vbHMvd2luZWdjYy9NYWtlZmlsZS5pbiwgdG9vbHMvd2luZWdjYy93aW5ld3JhcC5jOgorCVJpY2hhcmQgQ29oZW4gPHJpY2hhcmQuY29oZW5AdmlyZ2luLm5ldD4KKwktIEFkZCBzdGFuZGFyZCBkbGwgcGF0aCBsYXN0IGluc3RlYWQgb2YgZmlyc3QuCisJLSBBZGQgc3RhbmRhcmQgbGliIHBhdGggYXMgd2VsbC4KKwktIFJlbW92ZSAuIGZyb20gZGVmYXVsdCBsaWJyYXJ5IHNlYXJjaCBwYXRoLgorCS0gQ29tcGlsaW5nIHdpdGggLWx3aW5lIG5lZWRzIHRvIHVzZSB0aGUgZ2l2ZW4gLUwgcGF0aHMuCisKKwkqIGRsbHMvc2hlbGwzMi9pY29uY2FjaGUuYzoKKwlSb2xmIEthbGJlcm1hdHRlciA8cm9sZi5rYWxiZXJtYXR0ZXJAY2l0ZW5nLmNvbT4KKwlGaXggdHdvIG1lbW9yeSBsZWFrcy4gRm91bmQgYnkgRGlldHJpY2ggVGVpY2tuZXIuCisKKzIwMDMtMTEtMjcgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvY29tY3RsMzIvdHJlZXZpZXcuYzogSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlNZXJnZSB7U2V0LEluc2VydH1JdGVtW0FXXSB0byB7U2V0LEluc2VydH1JdGVtVC4KKworCSogY29uZmlndXJlLCBjb25maWd1cmUuYWMsIGRsbHMvTWFrZWZpbGUuaW4sIGRsbHMvdW5pY293cy8uY3ZzaWdub3JlLAorCSAgZGxscy91bmljb3dzL01ha2VmaWxlLmluLCBkbGxzL3VuaWNvd3MvbWFpbi5jLAorCSAgZGxscy91bmljb3dzL3VuaWNvd3Muc3BlYzoKKwlBZGRlZCB1bmljb3dzIGRsbCwgYmFzZWQgb24gdGhlIHNwZWMgZmlsZSB3cml0dGVuIGJ5IFNoYWNoYXIgU2hlbWVzaC4KKworCSogZGxscy9rZXJuZWwvY29tcHV0ZXJuYW1lLmMsIGRsbHMva2VybmVsL2ZpYmVyLmMsIGRsbHMva2VybmVsL2hlYXAuYywKKwkgIGRsbHMva2VybmVsL2luc3RyLmMsIGRsbHMva2VybmVsL21vZHVsZS5jLCBkbGxzL2tlcm5lbC9wcm9jZXNzLmMsCisJICBkbGxzL2tlcm5lbC9yZXNvdXJjZTE2LmMsIGRsbHMva2VybmVsL3N0cmluZy5jLCBkbGxzL2tlcm5lbC90aHJlYWQuYywKKwkgIGRsbHMvbnRkbGwvbG9hZGVyLmMsIGRsbHMvbnRkbGwvcmVzb3VyY2UuYywgZGxscy9ycGNydDQvcnBjX3NlcnZlci5jLAorCSAgZGxscy92ZXJzaW9uL3Jlc291cmNlLmMsIGRsbHMvd2luMzJzL3czMnN5cy5jLCBkbGxzL3dpbmVkb3MvaW50MjUuYywKKwkgIGRsbHMvd2luZWRvcy9pbnQyNi5jLCBkbGxzL3dpbmluZXQvaW50ZXJuZXQuYywgZGxscy93aW5zcG9vbC9pbmZvLmMsCisJICBkbGxzL3gxMWRydi94dmlkbW9kZS5jLCBmaWxlcy9kb3NfZnMuYywgaW5jbHVkZS93aW5lL3NlcnZlci5oLAorCSAgbGlicy93aW5lL3BvcnQuYywgcHJvZ3JhbXMvd2luZWNmZy9kcml2ZS5jLCBwcm9ncmFtcy93aW5lZGJnL2RiZy55LAorCSAgcHJvZ3JhbXMvd2luZWRiZy9kZWJ1Z2dlci5oLCBwcm9ncmFtcy93aW5lZGJnL21zYy5jLAorCSAgcHJvZ3JhbXMvd2luZWRiZy93aW5lZGJnLmM6CisJUG9ydGluZyBmaXhlcy4KKworCSogZGxscy94MTFkcnYvd2lucG9zLmM6IFJlaW4gS2xhemVzIDxya2xhemVzQHhzNGFsbC5ubD4KKwlJbiBjbGlwX2NoaWxkcmVuKCkgZG9uJ3QgY2xpcCB0aGUgdmlzaWJsZSByZWdpb24gYnkgY2hpbGRyZW4gdGhhdCBoYXZlCisJYSBXU19FWF9UUkFOU1BBUkVOVCBzdHlsZS4KKworCSogZGxscy9jb21jdGwzMi90cmVldmlldy5jOiBVbHJpY2ggQ3pla2FsbGEgPHVscmljaEBjb2Rld2VhdmVycy5jb20+CisJSW4gVFJFRVZJRVdfRW5zdXJlVmlzaWJsZSBoYW5kbGUgY2FzZSB3aGVyZSBmaXJzdFZpc2libGUgaXMgTlVMTC4KKworMjAwMy0xMS0yNiAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy91c2VyL2NhcmV0LmMsIGRsbHMvdXNlci9mb2N1cy5jLCBkbGxzL3VzZXIvaG9vay5jLAorCSAgZGxscy91c2VyL2xzdHIuYywgZGxscy91c2VyL3BhaW50aW5nLmMsIGRsbHMvdXNlci9wcm9wZXJ0eS5jLAorCSAgZGxscy93aW5lZG9zL2Rvc3ZtLmMsIGRsbHMvd2luZWRvcy9pbnQyMS5jLCB3aW5kb3dzL2N1cnNvcmljb24uYywKKwkgIHdpbmRvd3MvZGVmd25kLmMsIHdpbmRvd3MvaW5wdXQuYywgd2luZG93cy9tZXNzYWdlLmMsCisJICB3aW5kb3dzL3BhaW50aW5nLmMsIHdpbmRvd3MvcXVldWUuYywgd2luZG93cy90aW1lci5jLAorCSAgd2luZG93cy93aW5wb3MuYzoKKwlTdGV2ZW4gRWR3YXJkcyA8c3RldmVuX2VkNDE1M0B5YWhvby5jb20+CisJUG9ydGluZyBmaXhlcy4KKworCSogZGxscy91c2VyL3Jlc291cmNlLmM6IEplZmYgTWlsbGVyIDxqZWZmLWxpc3RzQHRhbm5lci5jb20+CisJTWFzayBvZmYgYml0IDB4ODAgaW4gdGhlIGFjY2VsZXJhdG9yIHRhYmxlIGVudHJ5IGZpZWxkIGZWaXJ0IGlmIGl0J3MKKwlub3QgdGhlIGxhc3QgZW50cnkuCisKKwkqIGRsbHMvY29tY3RsMzIvdHJlZXZpZXcuYzogSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlNZXJnZSBHZXRJdGVtW0FXXSBpbnRvIEdldEl0ZW1ULgorCisJKiBpbmNsdWRlL3dpbmUvc2VydmVyX3Byb3RvY29sLmgsIHNlcnZlci9wcm90b2NvbC5kZWYsIHNlcnZlci90cmFjZS5jLAorCSAgc2VydmVyL3dpbmRvdy5jLCB3aW5kb3dzL3dpbi5jOgorCUFkZGVkIHN1cHBvcnQgZm9yIGludGVyLXByb2Nlc3MgR2V0V2luZG93TG9uZyBvbiB0aGUgd2luZG93IGV4dHJhCisJYnl0ZXMuCisKKwkqIGRsbHMvY29tY3RsMzIvdHJlZXZpZXcuYzogQXJpYyBTdGV3YXJ0IDxhcmljQGNvZGV3ZWF2ZXJzLmNvbT4KKwlSZWRyYXcgaWYgYm9sZCBzdGF0ZSBjaGFuZ2VzLgorCisJKiBkbGxzL2NvbWN0bDMyL3Rvb2xiYXIuYzogUm9iZXJ0IFNoZWFybWFuIDxSLkouU2hlYXJtYW5Ad2Fyd2ljay5hYy51az4KKwktIEFkZCBzdXBwb3J0IGZvciBUQlNUWUxFX0VYX01JWEVEQlVUVE9OUy4KKwktIEFkZCBzdXBwb3J0IGZvciBUQlNUWUxFX0VYX0hJREVDTElQUEVEQlVUVE9OUy4KKwktIFJlcGxhY2UgJ21hZ2ljIG51bWJlcnMnIHdpdGggI2RlZmluZSdkIGNvbnN0YW50cy4KKwktIEZpeCBUQk5fSU5JVENVU1RPTUlaRS4KKwktIEFkZCBzdXBwb3J0IGZvciBUQk5fQ1VTVEhFTFAgYW5kIFRCTl9SRVNFVC4KKwktIEZpeCBUQl9TRVRFWFRFTkRFRFNUWUxFIChpdCBhcHBlYXJzIGl0IHNob3VsZCBvciB0aGUgbmV3IHN0eWxlLAorCSAgcmF0aGVyIHRoYW4gc2V0KS4KKwktIEZpeCBUQl9TRVRTVFlMRSAodGhpcyBpcyBtZWFudCB0byBiZSBmb3Igc2V0dGluZyB0aGUgY29udHJvbCBzdHlsZSwKKwkgIG5vdCB0aGUgYnV0dG9uIHN0eWxlKS4KKworCSogZGxscy9hdmlmaWwzMi9hdmlmaWxlLmMsIGRsbHMvYXZpZmlsMzIvd2F2ZmlsZS5jOgorCU1pY2hhZWwgR/xubmV3aWcgPE1pY2hhZWxHdWVubmV3aWdAZ214LmRlPgorCUZpeGVkIG11bHRpcGxlIGJ1Z3MgaW4gRmluZFNhbXBsZSBpbXBsZW1lbnRhdGlvbiBvZiBBVkkgYW5kIFdBViBmaWxlCisJaGFuZGxlci4KKworCSogZGxscy9jb21jdGwzMi90cmVldmlldy5jOiBVbHJpY2ggQ3pla2FsbGEgPHVscmljaEBjb2Rld2VhdmVycy5jb20+CisJQWx3YXlzIHJlY29tcHV0ZSBhbiBpdGVtJ3MgdGV4dCB3aWR0aCBpbiB0aGUgY2FzZSBvZiB0ZXh0IGNhbGxiYWNrcworCWFuZCB3aGVuIGl0cyBhdHRyaWJ1dGVzIGNoYW5nZS4KKworCSogZGxscy90dHlkcnYvdHR5ZHJ2LnNwZWMsIGRsbHMveDExZHJ2L3gxMWRydi5zcGVjOgorCURtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJRml4IC5zcGVjIGZpbGUgcGFyYW1ldGVycyBmb3IgQ3JlYXRlREMgZHJpdmVyIEFQSS4KKworCSogZGxscy9udGRsbC9yZWxheS5jOiBEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUZpeCBhbm90aGVyIFJ0bFJlQWxsb2NhdGVIZWFwIGNhbGwuCisKKwkqIGluY2x1ZGUvd2ludXNlci5oOgorCUZpeGVkIFdJTkVMSUJfTkFNRV9BVyB0eXBvICh0aGFua3MgdG8gUm9iZXJ0IFNoZWFybWFuKS4KKwlSZW1vdmVkIGV4dHJhIEJyb2FkY2FzdFN5c3RlbU1lc3NhZ2UgcHJvdG90eXBlLgorCisJKiBpbmNsdWRlL2NvbW1jdHJsLmg6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJQWRkZWQgYSBmZXcgbWlzc2luZyBUYWJDdHJsXyogbWFjcm9zLgorCisJKiBjb250cm9scy9tZW51LmMsIGRsbHMvdXNlci9jb250cm9scy5oLCB3aW5kb3dzL2RlZnduZC5jLAorCSAgd2luZG93cy9ub25jbGllbnQuYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCU1ha2UgQWx0K1tuYXRpb25hbCBrZXldIG1lbnUgc2hvcnRjdXRzIHdvcmsuCisKKwkqIGluY2x1ZGUvY29tbWN0cmwuaCwgaW5jbHVkZS93aW51c2VyLmgsIHdpbmRvd3MvaW5wdXQuYzoKKwlLZXZpbiBLb2x0emF1IDxrZXZpbkBwbG9wLm9yZz4KKwlJbXBsZW1lbnQgdGhlIFRNRV9OT05DTElFTlQgZmxhZyBpbiBUcmFja01vdXNlRXZlbnQgdG8gaGFuZGxlCisJbm9uY2xpZW50IGhvdmVyLyBsZWF2ZSBldmVudHMuCisKKwkqIHRvb2xzL2J1Z19yZXBvcnQucGw6IEl2YW4gTGVvIE11cnJheS1TbWl0aCA8cHVvdGlAaW53aW5kLml0PgorCUNoYW5nZWQgQWRhbSBTYWNhcm55J3MgZW1haWwsIGFuZCAtZGVidWdtc2cgdG8gLS1kZWJ1Z21zZy4KKworCSogZGxscy9vbGUzMi9pZnMuYywgZGxscy9zaGVsbDMyL3NoZWxsMzJfbWFpbi5jOgorCURpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJe0dsb2JhbCxMb2NhbH1SZUFsbG9jKCkgZG9lcyBub3QgYWxsb2NhdGUgbWVtb3J5LgorCisJKiBkbGxzL2tlcm5lbC9uZV9tb2R1bGUuYzoKKwlORV9Mb2FkQnVpbHRpbk1vZHVsZTogcmV0dXJuIGVycm9yIDIxIGlmIHRoZSBtb2R1bGUgd2UgbG9hZGVkIHdhcyBhCisJMzItYml0IGJ1aWx0aW4uIFRoaXMgc2hvdWxkIGhlbHAgV2luRXhlYzE2IHRvIGRvIHRoZSByaWdodCB0aGluZy4KKworCSogaW5jbHVkZS9vbGVkbGcuaCwgaW5jbHVkZS9yYXMuaCwgaW5jbHVkZS92ZncuaCwgaW5jbHVkZS93aW5iYXNlLmgsCisJICBpbmNsdWRlL3dpbmNyeXB0LmgsIGluY2x1ZGUvd2luZ2RpLmgsIGluY2x1ZGUvd2lubmV0d2suaCwKKwkgIGluY2x1ZGUvd2lubmxzLmg6CisJQWRkZWQgbWlzc2luZyBwcm90b3R5cGVzIGZvciBzb21lIGltcGxlbWVudGVkIGZ1bmN0aW9ucy4KKworCSogcHJvZ3JhbXMvd2luZWRiZy9kZWJ1Zy5sOiBGaXhlZCBvbmUgbW9yZSBIZWFwUmVBbGxvYyBjYWxsLgorCisJKiBjb250cm9scy9tZW51LmMsIGRsbHMvdXNlci9tc2cxNi5jLCBkbGxzL3VzZXIvdXNlcjMyLnNwZWMsCisJICBpbmNsdWRlL29sZWlkbC5oLCBpbmNsdWRlL29sZWlkbC5pZGwsIGluY2x1ZGUvd2ludXNlci5oLAorCSAgcHJvZ3JhbXMvcmVnZWRpdC9tYWluLmMsIHByb2dyYW1zL3JlZ2VkaXQvbWFpbi5oLCB3aW5kb3dzL21lc3NhZ2UuYywKKwkgIHdpbmRvd3Mvd2luLmM6CisJRml4ZWQgZGVjbGFyYXRpb25zIG9mIEJyb2FkY2FzdFN5c3RlbU1lc3NhZ2UgYW5kIFRyYW5zbGF0ZUFjY2VsZXJhdG9yCisJaW4gd2ludXNlci5oLiBBZGRlZCBHZXRXaW5kb3dNb2R1bGVGaWxlTmFtZS4KKworCSogZGxscy9zaGVsbDMyL3NoZWxsMzJfbWFpbi5oLCBpbmNsdWRlL3NoZWxsYXBpLmgsIGluY2x1ZGUvc2hsb2JqLmg6CisJTW92ZWQgdGhlIFNoZWxsRXhlY3V0ZUV4IGRlZmluaXRpb25zIHRvIHNoZWxsYXBpLmggd2hlcmUgdGhleSBiZWxvbmcuCisKKwkqIEFOTk9VTkNFLCBCVUdTLCBSRUFETUUsIGRvY3VtZW50YXRpb24vUEFDS0FHSU5HLAorCSAgZG9jdW1lbnRhdGlvbi9SRUFETUUuZnIsIGRvY3VtZW50YXRpb24vUkVBRE1FLml0LAorCSAgZG9jdW1lbnRhdGlvbi9SRUFETUUucHQsIGRvY3VtZW50YXRpb24vUkVBRE1FLnB0X2JyLAorCSAgZG9jdW1lbnRhdGlvbi9idWdzLnNnbWwsIGRvY3VtZW50YXRpb24vY29uZmlndXJpbmcuc2dtbCwKKwkgIGRvY3VtZW50YXRpb24vY3ZzLXJlZ3Jlc3Npb24uc2dtbCwgZG9jdW1lbnRhdGlvbi9kb2N1bWVudGF0aW9uLnNnbWwsCisJICBkb2N1bWVudGF0aW9uL2ZhcS5zZ21sLCBkb2N1bWVudGF0aW9uL2ZvbnRzLnNnbWwsCisJICBkb2N1bWVudGF0aW9uL2dldHRpbmcuc2dtbCwgZG9jdW1lbnRhdGlvbi9pbnRyb2R1Y3Rpb24uc2dtbCwKKwkgIGRvY3VtZW50YXRpb24vdGVzdGluZy5zZ21sLCBkb2N1bWVudGF0aW9uL3dpbmUubWFuLmluLAorCSAgZG9jdW1lbnRhdGlvbi93aW5lbGliLWJpbmRsbHMuc2dtbCwgZG9jdW1lbnRhdGlvbi93aW5lbGliLWludHJvLnNnbWwsCisJICBkb2N1bWVudGF0aW9uL3dpbmVsaWItcG9ydGluZy5zZ21sLCBwcm9ncmFtcy93aW5lY2ZnL0VuLnJjLAorCSAgcHJvZ3JhbXMvd2luZWNmZy9Fcy5yYywgcHJvZ3JhbXMvd2luZWNmZy9QdC5yYywKKwkgIHByb2dyYW1zL3dpbmVjZmcvUnUucmMsIHByb2dyYW1zL3dpbmVjZmcvU2kucmMsIHRvb2xzL2J1Z19yZXBvcnQucGwsCisJICB0b29scy9nZW5wYXRjaCwgdG9vbHMvd2luZWJ1aWxkL3dpbmVidWlsZC5tYW4uaW4sCisJICB0b29scy93aW5lZHVtcC93aW5lZHVtcC5oLCB0b29scy93aW5laW5zdGFsbCwgdG9vbHMvd21jL3dtYy5tYW4sCisJICB0b29scy93cmMvd3JjLm1hbjoKKwlEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCU1ha2UgdGhlIHdpbmVocS5vcmcgZG9tYWluIHRoZSBvZmZpY2lhbCBvbmUuCisKKwkqIHByb2dyYW1zL3dpbmVtaW5lL0VuLnJjLCBwcm9ncmFtcy93aW5lbWluZS9Gci5yYywKKwkgIHByb2dyYW1zL3dpbmVtaW5lL0l0LnJjLCBwcm9ncmFtcy93aW5lbWluZS9kaWFsb2cuYywKKwkgIHByb2dyYW1zL3dpbmVtaW5lL2RpYWxvZy5oLCBwcm9ncmFtcy93aW5lbWluZS9tYWluLmMsCisJICBwcm9ncmFtcy93aW5lbWluZS9tYWluLmgsIHByb2dyYW1zL3dpbmVtaW5lL3Jlc291cmNlLmgsCisJICBwcm9ncmFtcy93aW5lbWluZS9yc3JjLnJjOgorCUpvc2h1YSBUaGllbGVuIDxqb3NodWFfdGhpZWxlbkB5YWhvby5jb20+CisJRml4ZWQgaW5jb3JyZWN0IGxhYmVsaW5nIG9mIHF1ZXN0aW9uIGJveGVzLgorCVJlbW92ZWQgaW5jb3JyZWN0IGVtYWlsIGFkZHJlc3MgaW4gY29weXJpZ2h0LgorCisJKiBkbGxzL3dpbm1tL3dpbm1tLmM6IENocmlzdGlhbiBDb3N0YSA8dGl0YW4uY29zdGFAd2FuYWRvby5mcj4KKwlGaXggaGFuZGxpbmcgb2YgdGhlIGxwdURldmljZUlEIGlucHV0IHBhcmFtIGluIE1JRElfU3RyZWFtT3Blbi4KKworCSogZGxscy9jb21tZGxnL2ZvbnRkbGcuYzogUmVpbiBLbGF6ZXMgPHJrbGF6ZXNAeHM0YWxsLm5sPgorCUZpeCAic2FtcGxlIiBib3ggZHJhd2luZyBieSBhZGRpbmcgc29tZSBuZWVkZWQgY29vcmRpbmF0ZSBhbmQgc2l6ZQorCXRyYW5zZm9ybWF0aW9ucy4KKworCSogZGxscy9nZGkvbWZkcnYvZ3JhcGhpY3MuYywgZGxscy9nZGkvbWZkcnYvaW5pdC5jLAorCSAgZGxscy9nZGkvbWZkcnYvbWV0YWZpbGVkcnYuaCwgZGxscy9nZGkvbWZkcnYvb2JqZWN0cy5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlVc2UgdGhlIGhhbmRsZSBkZWxldGlvbiBtZWNoYW5pc20gaW4gd21mcy4KKworCSogZGxscy9jb21jdGwzMi90cmVldmlldy5jOiBIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCVVuaWNvZGlmaWNhdGlvbi4gIEJhc2VkIG9uIGEgcGF0Y2ggYnkgQXJpYyBTdGV3YXJ0LgorCisJKiBNYWtlZmlsZS5pbjogU2hhY2hhciBTaGVtZXNoIDx3aW5lLXBhdGNoZXNAc2hlbWVzaC5iaXo+CisJRml4IHRoZSBjdGFncyBidWlsZGluZyBjb21tYW5kLgorCisJKiBkbGxzL29sZTMyL2hnbG9iYWxzdHJlYW0uYywgZGxscy9vbGUzMi9tZW1sb2NrYnl0ZXMuYywKKwkgIGRsbHMvb2xlMzIvbWVtbG9ja2J5dGVzMTYuYzoKKwlEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUZpeCBtZW0gbGVhayB3aGVuIEdsb2JhbFJlQWxsb2MoKSBmYWlscy4KKworCSogZGxscy9vbGVhdXQzMi9vbGVhdXQuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlTeXNSZUFsbG9jU3RyaW5nTGVuIGlzIGRvY3VtZW50ZWQgdG8gc2VnZmF1bHQgb24gTlVMTCBwb2ludGVyLgorCisJKiBkbGxzL29sZTMyL2lmcy5jLCBkbGxzL29sZTMyL29sZTE2LmM6CisJRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlGaXggdGhlIElNYWxsb2M6OlJlQWxsb2MoKSB0byBmb2xsb3cgdGhlIGRvY3VtZW50ZWQgYmVoYXZpb3IuCisKKzIwMDMtMTEtMjUgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvbnRkbGwvbG9hZGVyLmM6CisJQmV0dGVyIHN1cHBvcnQgZm9yIGxvYWRpbmcgZXhlIGZpbGVzIGFzIGxpYnJhcmllcy4KKwlNYWtlIHN1cmUga2VybmVsMzIgYW5kIG50ZGxsIGhhdmUgYSBmdWxsIHBhdGggbmFtZSBldmVuIHRob3VnaCB0aGV5CisJYXJlIGxvYWRlZCBiZWZvcmUgd2Uga25vdyB0aGUgc3lzdGVtIGRpci4KKworCSogZGxscy9nZGkvZW5obWZkcnYvZW5obWV0YWZpbGVkcnYuaCwgZGxscy9nZGkvZW5obWZkcnYvaW5pdC5jLAorCSAgZGxscy9nZGkvZW5obWZkcnYvb2JqZWN0cy5jLCBkbGxzL2dkaS9tZmRydi9pbml0LmMsIGluY2x1ZGUvZ2RpLmgsCisJICBvYmplY3RzL2dkaW9iai5jOgorCUh1dyBEYXZpZXMgPGh1d0Bjb2Rld2VhdmVycy5jb20+CisJTGV0IGVuaG1ldGFmaWxlcyByZXVzZSBnZGkgaGFuZGxlcy4gIFRoaXMgd29ya3MgYnkgYSBkYyAncmVnaXN0ZXJpbmcnCisJd2l0aCBhbiBvYmplY3QgdGhhdCBpdCB3YW50cyB0byBrbm93IHdoZW4gdGhlIG9iamVjdCBpcyBkZWxldGVkLiBVbnRpbAorCXRoZSBkYyBnZXRzIGRlbGV0ZSBub3RpZmljYXRpb24gaXQncyBmcmVlIHRvIGFzc3VtZSB0aGF0IGl0IGRvZXNuJ3QKKwluZWVkIHRvIHdyaXRlIHRoZSBjcmVhdGUgcmVjb3JkIGZvciB0aGF0IG9iamVjdCBhZ2Fpbi4gIFVwb24gcmVjZWl2aW5nCisJdGhlIGRlbGV0ZSBub3RpZmljYXRpb24gaXQgd3JpdGVzIHRoZSBEZWxldGVPYmplY3QgcmVjb3JkLiBXaW5kb3dzCisJc2VlbXMgdG8gZG8gaXQgdGhpcyB3YXkgdG9vLgorCisJKiBkbGxzL250ZGxsL250ZGxsX21pc2MuaCwgZGxscy9udGRsbC9zZXJ2ZXIuYywgZGxscy9udGRsbC90aHJlYWQuYywKKwkgIGluY2x1ZGUvdGhyZWFkLmg6CisJU3RvcmUgdGhlIHRocmVhZCBlbnRyeSBwb2ludCBpbiB0aGUgc3RhcnR1cCBpbmZvIHBhc3NlZCB0byB0aGUgbmV3CisJdGhyZWFkIGluc3RlYWQgb2YgdGhlIFRFQi4KKworCSogY29uZmlndXJlLCBjb25maWd1cmUuYWMsIGluY2x1ZGUvY29uZmlnLmguaW4sIGxpYnMvTWFrZWxpYi5ydWxlcy5pbiwKKwkgIHRvb2xzL3dpbmVtYWtlcjoKKwlQaWVycmUgZCdIZXJiZW1vbnQgPHN0ZWdlZmluQGZyZWUuZnI+CisJQWRkIERhcndpbi9NYWMgT1MgWCBzdXBwb3J0IHRvIHRoZSBidWlsZCBzeXN0ZW0uCisKKwkqIGRsbHMveDExZHJ2L01ha2VmaWxlLmluLCBkbGxzL3gxMWRydi9kaWJfY29udmVydC5jLAorCSAgZGxscy94MTFkcnYvZGliX2RzdF9zd2FwLmMsIGRsbHMveDExZHJ2L2RpYl9zcmNfc3dhcC5jLAorCSAgZGxscy94MTFkcnYveDExZHJ2Lmg6CisJSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGQgc3VwcG9ydCBmb3IgZGlzcGxheSBvZiBkaWJzIG9uIE1TQiBYU2VydmVycy4KKworCSogZGxscy93aW5lZG9zL2ludDIxLmM6CisJVXdlIEJvbm5lcyA8Ym9uQGVsZWt0cm9uLmlrcC5waHlzaWsudHUtZGFybXN0YWR0LmRlPgorCUlOVDIxX0dldEZyZWVEaXNrU3BhY2UoKTogVGhlIGRyaXZlIHBhcmFtZXRlciBpcyBmb3VuZCBpbiB0aGUgREwKKwlyZWdpc3Rlci4KKworCSogZGxscy9rZXJuZWwvdGhyZWFkLmMsIGRsbHMvbnRkbGwvaGVhcC5jLCBpbmNsdWRlL3RocmVhZC5oLAorCSAgaW5jbHVkZS93aW5iYXNlLmg6CisJU3RvcmUgdGhlIGxhc3QgZXJyb3IgY29kZSBhdCB0aGUgVEVCIG9mZnNldCB1c2VkIGJ5IE5UIGluc3RlYWQgb2YgdGhlCisJV2luOXggb25lLgorCisJKiBkbGxzL2tlcm5lbC9rZXJuZWwzMi5zcGVjLCBkbGxzL3dpbmVkb3MvaW50MTMuYywKKwkgIGRsbHMvd2luZWRvcy9pbnQyNS5jLCBkbGxzL3dpbmVkb3MvaW50MjYuYywgZmlsZXMvZHJpdmUuYywKKwkgIGluY2x1ZGUvZHJpdmUuaDoKKwlFcmljIFBvdWVjaCA8cG91ZWNoLWVyaWNAd2FuYWRvby5mcj4KKwlHb3QgcmlkIG9mIERSSVZFX09wZW5EZXZpY2UsIGFuZCByZXBsYWNlZCBpdCB3aXRoIFdpbjMyIGVxdWl2YWxlbnRzLgorCisJKiBkbGxzL29sZWF1dDMyL3Rlc3RzL3ZhcnRlc3QuYzoKKwlKb24gR3JpZmZpdGhzIDxqb25fcF9ncmlmZml0aHNAeWFob28uY29tPgorCVRlc3RzIGZvciB0aGUgbm9uLXZhcmlhbnQgZGF0ZSBjb252ZXJzaW9uIGZ1bmN0aW9ucy4KKworCSogZGxscy9vbGVhdXQzMi90eXBlbGliLmM6IEpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJSW1wcm92ZS9zaHJpbmsgdmFyaWFudCBkdW1waW5nIGNvZGUuCisKKwkqIGRsbHMvb2xlYXV0MzIvTWFrZWZpbGUuaW4sIGRsbHMvb2xlYXV0MzIvb2xlYXV0MzIuc3BlYywKKwkgIGRsbHMvb2xlYXV0MzIvdmFyZm9ybWF0LmMsIGRsbHMvb2xlYXV0MzIvdmFyaWFudC5jOgorCUpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJSW1wbGVtZW50ZWQgdGhlIHZhcmlhbnQgZm9ybWF0dGluZyBmdW5jdGlvbnMuCisJQm9vbC0+YnN0ciBtYWtlcyBhIG51bWJlciBzdHIgdW5sZXNzIFtBTFBIQXxMT0NBTF1CT09MIGlzIHBhc3NlZC4KKworCSogZGxscy9vbGVhdXQzMi92YXJpYW50Lmg6IEpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJTWFjcm9zIGZvciBkdW1waW5nIGEgdmFyaWFudHMgdHlwZSBhbmQgZmxhZ3MuCisJRml4IHRoZSBkYXRlIGlubGluZXMuCisJUm91bmQgbmVnYXRpdmUgbnVtYmVycyB3aXRoIGZyYWN0aW9uYWwgcGFydHMgPiAwLjUgY29ycmVjdGx5LgorCisJKiBkbGxzL3dpbmluZXQvaW50ZXJuZXQuaDogVmluY2VudCBC6XJvbiA8dmJlcm9uQG1lY2Fuby5nbWUudXNoZXJiLmNhPgorCVVuZGVmaW5lIEZBUiB0byBhdm9pZCBjb25mbGljdCB3aXRoIHNzbC5oLgorCisJKiB0b29scy9idWdfcmVwb3J0LnBsOiBJdmFuIExlbyBNdXJyYXktU21pdGggPHB1b3RpQGlud2luZC5pdD4KKwlBZGRlZCB3aW52ZXIgaW5mb3JtYXRpb24gZm9yIHdpbmRvd3MgbWUgYW5kIHdpbmRvd3Mgc2VydmVyIDIwMDMuCisJVXBkYXRlZCBkYXRlIGZvcm1hdCBmcm9tIFlZTU1ERCB0byBZWVlZTU1ERC4KKwlDaGFuZ2VkIGEgZmV3IG91dHB1dCBtZXNzYWdlcyBzbyB0aGV5IGFyZSBtb3JlCisJaW50dWl0aXZlL2NvbnN0cnVjdGl2ZS91cCB0byBkYXRlLgorCisJKiBkbGxzL29sZWFjYy9tYWluLmMsIGRsbHMvb2xlYWNjL29sZWFjYy5zcGVjOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlTdHViIGltcGxlbWVudGF0aW9uIGZvciBDcmVhdGVTdGRBY2Nlc3NpYmxlT2JqZWN0LgorCisJKiBkbGxzL2NvbWN0bDMyL3Rvb2xiYXIuYzogUmVpbiBLbGF6ZXMgPHJrbGF6ZXNAeHM0YWxsLm5sPgorCVVzZSBidXR0b24gZmFjZSBjb2xvciBmb3IgdGhlIGltYWdlIG1hc2sgd2hlbiBhZGRpbmcgYSBiaXRtYXAgdG8gdGhlCisJdG9vbGJhciwgbm90IHRoZSBjb2xvciBvZiB0aGUgdG9wIGxlZnQgcGl4ZWwgb2YgdGhlIGltYWdlLgorCisJKiBkbGxzL2tlcm5lbC9uZV9tb2R1bGUuYywgZGxscy9rZXJuZWwvcHJvY2Vzcy5jLCBkbGxzL250ZGxsL2xvYWRlci5jLAorCSAgZGxscy9udGRsbC9sb2Fkb3JkZXIuYywgZGxscy9udGRsbC9udGRsbC5zcGVjLCBpbmNsdWRlL21vZHVsZS5oOgorCVJlbW92ZWQgTU9EVUxFX0dldExvYWRPcmRlckEuCisKKwkqIGRsbHMva2VybmVsL3Rlc3RzLy5jdnNpZ25vcmUsIGRsbHMva2VybmVsL3Rlc3RzL01ha2VmaWxlLmluLAorCSAgZGxscy9rZXJuZWwvdGVzdHMvaGVhcC5jLCBkbGxzL250ZGxsL2hlYXAuYywKKwkgIGRsbHMvbnRkbGwvdGVzdHMvTWFrZWZpbGUuaW46CisJRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlSdGxIZWFwUmVBbGxvY2F0ZSgpIHNob3VsZCBub3QgYWxsb2NhdGUgbWVtb3J5LgorCUFkZCBzbWFsbCB0ZXN0IHRvIG1ha2Ugc3VyZSBpdCBkb2Vzbid0IHJldHVybi4KKwlEb24ndCBpbXBvcnQgbnRkbGwgZm9yIHRlc3RzLCB3ZSBuZWVkIHRvIGxvYWQgaXQgZHluYW1pY2FsbHkuCisKKwkqIGRsbHMvbXNkbW8vTWFrZWZpbGUuaW4sIGRsbHMvbXNkbW8vZG1vcmVnLmMsIGluY2x1ZGUvbWVkaWFvYmouaDoKKwlVbHJpY2ggQ3pla2FsbGEgPHVscmljaEBjb2Rld2VhdmVycy5jb20+CisJSW1wbGVtZW50ZWQgRE1PUmVnaXN0ZXIsIERNT1VucmVnaXN0ZXIsIERNT0dldE5hbWUsIERNT0VudW0uCisKKwkqIGRsbHMva2VybmVsL2tlcm5lbF9tYWluLmMsIGRsbHMva2VybmVsL25lX21vZHVsZS5jLAorCSAgZGxscy9rZXJuZWwvbmVfc2VnbWVudC5jLCBkbGxzL2tlcm5lbC9yZXNvdXJjZTE2LmMsCisJICBkbGxzL2tlcm5lbC90YXNrLmMsIGRsbHMva2VybmVsL3RodW5rLmMsIGRsbHMva2VybmVsL3dvd3RodW5rLmMsCisJICBkbGxzL3VzZXIvdXNlcjE2LmMsIGRsbHMvd2luZWRvcy9pbnQyMS5jLCBkbGxzL3dpbmVkb3MvaW50MzEuYywKKwkgIGRsbHMvd2luZWRvcy9pbnRlcnJ1cHRzLmMsIGRsbHMvd2luZWRvcy9tb2R1bGUuYywgZGxscy93aW5lZG9zL3Z4ZC5jLAorCSAgZmlsZXMvZHJpdmUuYywgaW5jbHVkZS9tb2R1bGUuaCwgaW5jbHVkZS90YXNrLmgsCisJICBpbmNsdWRlL3dpbmUvd2luYmFzZTE2Lmg6CisJUmVtb3ZlZCB0YXNrLmguCisKKwkqIGRsbHMva2VybmVsL2NwdS5jLCBkbGxzL2tlcm5lbC9sY2Zvcm1hdC5jOgorCUpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJRG9jdW1lbnRhdGlvbiB1cGRhdGVzCisKKwkqIHByb2dyYW1zL2Nsb2NrL1RoLnJjLCBwcm9ncmFtcy9jbG9jay9yc3JjLnJjOgorCUpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJVGhhaSBsYW5ndWFnZSB0cmFuc2xhdGlvbi4KKworCSogZGxscy9hdmlmaWwzMi9lZGl0c3RyZWFtLmM6CisJTWljaGFlbCBH/G5uZXdpZyA8TWljaGFlbEd1ZW5uZXdpZ0BnbXguZGU+CisJSW1wbGVtZW50ZWQgSUFWSUVkaXRTVHJlYW1fZm5QYXN0ZSBtZXRob2QuCisKKwkqIGRsbHMvZGRyYXcvZDNkZGV2aWNlL21lc2EuYywgZGxscy9kZHJhdy9nbF9hcGkuaCwKKwkgIGRsbHMvZGRyYXcvZ2xfcHJpdmF0ZS5oLCBkbGxzL2RkcmF3L21lc2FfcHJpdmF0ZS5oOgorCUxpb25lbCBVbG1lciA8bGlvbmVsLnVsbWVyQGZyZWUuZnI+CisJVXNlIHZlcnRleCBhcnJheXMgd2hlbiBwb3NzaWJsZS4KKworCSogb2JqZWN0cy9nZGlvYmouYzogSGlyb3NoaSBJbm91ZSA8aW5vdWVoQHVyYW51cy5kdGkubmUuanA+CisJRml4IHRoZSBuYW1lIG9mIEphcGFuZXNlIGRlZmF1bHQgR3VpRm9udC4KKworCSogaW5jbHVkZS9sbWFjY2Vzcy5oOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJQWRkZWQgc29tZSBzdHJ1Y3R1cmVzIHVzZWQgYnkgTmV0VXNlck1vZGFsc0dldC4KKworMjAwMy0xMS0yMiAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogY29uZmlndXJlLCBjb25maWd1cmUuYWMsIGRsbHMva2VybmVsL3Byb2Nlc3MuYywKKwkgIGluY2x1ZGUvd2luZS9saWJyYXJ5LmgsIGxpYnMvd2luZS9wb3J0LmMsIGxvYWRlci9NYWtlZmlsZS5pbiwKKwkgIGxvYWRlci9tYWluLmM6CisJQ3JlYXRlIGEgaHVnZSBhcnJheSBpbiBic3MgdG8gcmVzZXJ2ZSB0aGUgbWVtb3J5IGFyZWEgd2UgbmVlZCBmb3IgUEUKKwliaW5hcmllcywgdG8gcHJldmVudCBleGVjIHNoaWVsZCBmcm9tIG1hcHBpbmcgc3lzdGVtIGxpYnJhcmllcyB0aGVyZS4KKworCSogZGxscy9rZXJuZWwvbG9jYWxlLmMsIGRsbHMva2VybmVsL3Rlc3RzL2xvY2FsZS5jLAorCSAgZGxscy9zaGx3YXBpL3N0cmluZy5jLCBkbGxzL3NobHdhcGkvdGVzdHMvc3RyaW5nLmMsCisJICBpbmNsdWRlL3dpbmUvdW5pY29kZS5oLCBsaWJzL3VuaWNvZGUvc29ydGtleS5jLAorCSAgbGlicy91bmljb2RlL3N0cmluZy5jLCBsaWJzL3VuaWNvZGUvd2luZV91bmljb2RlLmRlZjoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCU1vdmUgQ29tcGFyZVN0cmluZyBpbXBsZW1lbnRhdGlvbiB0byBsaWJ3aW5lX3VuaWNvZGUsIGFkZCBhIGJ1bmNoIG9mCisJQ29tcGFyZVN0cmluZyB0ZXN0cy4KKworMjAwMy0xMS0yMSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy93aW5tbS9tY2lhdmkvbW1vdXRwdXQuYzogRXJpYyBQb3VlY2ggPHBvdWVjaC1lcmljQHdhbmFkb28uZnI+CisJSGVhcFJlQWxsb2MgZG9lc24ndCBhbGxvY2F0ZSBtZW1vcnkuCisKKwkqIGRsbHMvbnRkbGwvZmlsZS5jOiBSb2JlcnQgU2hlYXJtYW4gPFIuSi5TaGVhcm1hbkB3YXJ3aWNrLmFjLnVrPgorCUhhbmRsZSBFSU8gZmlsZSBlcnJvci4KKworCSogZGxscy9ycGNydDQvcnBjX3NlcnZlci5jLCBkbGxzL3JwY3J0NC9ycGNydDQuc3BlYywgaW5jbHVkZS9ycGNkY2UuaDoKKwlHcmVnb3J5IE0uIFR1cm5lciA8Z210dXJuZXIwMDdAYW1lcml0ZWNoLm5ldD4KKwlJbXBsZW1lbnRlZCBScGNPYmplY3RTZXRUeXBlLgorCisJKiBkbGxzL3gxMWRydi9NYWtlZmlsZS5pbiwgZGxscy94MTFkcnYvWDExX2NhbGxzLAorCSAgZGxscy94MTFkcnYvZGVza3RvcC5jLCBkbGxzL3gxMWRydi9zY3JvbGwuYywgZGxscy94MTFkcnYvdHNfeGxpYi5jLAorCSAgZGxscy94MTFkcnYvdHNfeGxpYi5oLCBkbGxzL3gxMWRydi94MTFkZHJhdy5jLAorCSAgZGxscy94MTFkcnYveDExZHJ2X21haW4uYywgZGxscy94MTFkcnYveHJhbmRyLmMsCisJICBkbGxzL3gxMWRydi94cmVuZGVyLmMsIHRvb2xzL21ha2VfWDExd3JhcHBlcnM6CisJUmVtb3ZlZCB0aGUgdHNfeGxpYiBmaWxlcy4KKworCSogZGxscy94MTFkcnYvY2xpcGJvYXJkLmMsIGRsbHMveDExZHJ2L2RnYTIuYywgZGxscy94MTFkcnYvZXZlbnQuYywKKwkgIGRsbHMveDExZHJ2L2tleWJvYXJkLmMsIGRsbHMveDExZHJ2L21vdXNlLmMsIGRsbHMveDExZHJ2L3dpbmRvdy5jLAorCSAgZGxscy94MTFkcnYvd2lucG9zLmMsIGRsbHMveDExZHJ2L3gxMWRydi5oLCBkbGxzL3gxMWRydi94ZG5kLmMsCisJICBkbGxzL3gxMWRydi94dmlkbW9kZS5jOgorCVJlbW92ZWQgdGhlIHJlbWFpbmluZyBUU1ggY2FsbHMuCisKKwkqIHByb2dyYW1zL2NtZGxndHN0L0l0LnJjLCBwcm9ncmFtcy9ub3RlcGFkL0l0LnJjLAorCSAgcHJvZ3JhbXMvcmVnZWRpdC9JdC5yYywgcHJvZ3JhbXMvcmVnZWRpdC9yc3JjLnJjLAorCSAgcHJvZ3JhbXMvd2luZW1pbmUvRW4ucmMsIHByb2dyYW1zL3dpbmVtaW5lL0l0LnJjLAorCSAgcHJvZ3JhbXMvd2luZW1pbmUvUkVBRE1FLCBwcm9ncmFtcy93aW5lbWluZS9yc3JjLnJjLAorCSAgcHJvZ3JhbXMvd2luaGVscC9JdC5yYzoKKwlJdmFuIExlbyBNdXJyYXktU21pdGggPHB1b3RpQGlud2luZC5pdD4KKwlBZGRlZC91cGRhdGVkIEl0YWxpYW4gcmVzb3VyY2VzLgorCisJKiBkbGxzL2ltYWdlaGxwL01ha2VmaWxlLmluLCBkbGxzL2ltYWdlaGxwL2FjY2Vzcy5jLAorCSAgZGxscy9pbWFnZWhscC9pbWFnZWhscC5zcGVjLCBkbGxzL2ltYWdlaGxwL21vZGlmeS5jOgorCU1hcmN1cyBSLiBCcm93biA8bXJicm93bkAweGQ2Lm9yZz4KKwlSZXBsYWNlIHZhcmlvdXMgcm91dGluZXMgd2l0aCBhIGZvcndhcmQgdG8gbnRkbGwuCisKKwkqIGRsbHMvY29tY3RsMzIvdG9vbGJhci5jOiBSZWluIEtsYXplcyA8cmtsYXplc0B4czRhbGwubmw+CisJRml4IHNvbWUgY29uZnVzaW9uIGJldHdlZW4gbnVtYmVyIG9mIGJpdG1hcHMgYW5kIG51bWJlciBvZiBidXR0b25zIGluCisJVE9PTEJBUl9SZXBsYWNlQml0bWFwKCkuCisKKwkqIGRsbHMvY29tY3RsMzIvdHJlZXZpZXcuYzogSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlXZSBuZWVkIHRvIHNlbmQgVFZOX0VYUEFORCogb24gY29sbGFwc2luZyBlaXRoZXIgd2hlbiB0aGUgdXNlciBoYXMKKwlpbml0aWF0ZWQgaXQgd2l0aCB0aGUgbW91c2Uva2V5YmFvcmQgb3IgaW4gcmVzcG9uc2UgdG8gYSBUVk1fRVhQQU5ECisJd2hlbiB0aGUgc3RhdGUgaXMgbm90IFRWSVNfRVhQQU5ERURPTkNFLiAgVGhpcyBicmluZ3MgdGhlIGxvZ2ljIGludG8KKwlsaW5lIHdpdGggVFJFRVZJRVdfRXhwYW5kLgorCisJKiBkbGxzL3gxMWRydi9YMTFfY2FsbHMsIGRsbHMveDExZHJ2L3RzX3hsaWIuYywgZGxscy94MTFkcnYvdHNfeGxpYi5oLAorCSAgZGxscy94MTFkcnYveHJlbmRlci5jOgorCVJlbW92ZWQgbW9yZSBUU1ggZnVuY3Rpb25zLgorCisJKiBkbGxzL3gxMWRydi9ldmVudC5jLCBkbGxzL3gxMWRydi94MTFkcnZfbWFpbi5jOgorCUFsd2F5cyBpZ25vcmUgQmFkTWF0Y2ggZXJyb3JzIHJlc3VsdGluZyBmcm9tIFhTZXRJbnB1dEZvY3VzIHNvIHRoYXQgd2UKKwlkb24ndCBuZWVkIHRvIHdhaXQgZm9yIHRoZSByZXBseS4KKworCSogZGxscy94MTFkcnYvY2xpcGJvYXJkLmMsIGRsbHMveDExZHJ2L3dpbmRvdy5jLCBkbGxzL3gxMWRydi94MTFkcnYuaDoKKwlEZWxheSB0aGUgY3JlYXRpb24gb2YgdGhlIFggYXRvbXMgdW50aWwgd2UgcmVhbGx5IG5lZWQgdGhlbSwgdG8gYWxsb3cKKwlnZXR0aW5nIG1vcmUgb2YgdGhlbSBpbiBvbmUgY2FsbC4KKwlVc2UgWEdldEF0b21OYW1lcyB0byByZXRyaWV2ZSBhbGwgdGhlIHNlbGVjdGlvbiBhdG9tcyBhdCBvbmNlLgorCisJKiBkbGxzL3gxMWRydi9YMTFfY2FsbHMsIGRsbHMveDExZHJ2L2NsaXBib2FyZC5jLCBkbGxzL3gxMWRydi9ldmVudC5jLAorCSAgZGxscy94MTFkcnYva2V5Ym9hcmQuYywgZGxscy94MTFkcnYvbW91c2UuYywgZGxscy94MTFkcnYvdHNfeGxpYi5jLAorCSAgZGxscy94MTFkcnYvdHNfeGxpYi5oLCBkbGxzL3gxMWRydi93aW5kb3cuYywgZGxscy94MTFkcnYvd2lucG9zLmMsCisJICBkbGxzL3gxMWRydi94MTFkZHJhdy5jLCBkbGxzL3gxMWRydi94MTFkcnZfbWFpbi5jOgorCUdldCByaWQgb2YgYSBidW5jaCBvZiBUU1ggZnVuY3Rpb25zLgorCisyMDAzLTExLTIwICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL3gxMWRydi94MTFkcnZfbWFpbi5jOgorCVRoZXJlJ3Mgbm8gbmVlZCB0byBpbml0aWFsaXplIFhLQiBvbiB0aGUgR0RJIGRpc3BsYXksIHRoaXMgc2F2ZXMgYQorCWNvdXBsZSBvZiBzZXJ2ZXIgcm91bmQgdHJpcHMuCisKKwkqIGRsbHMvbnRkbGwvcGF0aC5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCVJ0bFJlQWxsb2NhdGVIZWFwKCkgZG9lcyBub3QgYWxsb2NhdGUgbWVtb3J5LgorCisJKiBwcm9ncmFtcy9yZWdlZGl0L3JlZ3Byb2MuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlIZWFwUmVBbGxvYygpIGRvZXMgbm90IGFsbG9jYXRlIG1lbW9yeS4KKworCSogZGxscy9ycGNydDQvcnBjX2JpbmRpbmcuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlCYWlsIHdoZW4gd2UncmUgb3V0IG9mIG1lbW9yeS4KKworCSogZGxscy9tc3ZjcnQvaGVhcC5jLCBkbGxzL21zdmNydC90ZXN0cy8uY3ZzaWdub3JlLAorCSAgZGxscy9tc3ZjcnQvdGVzdHMvTWFrZWZpbGUuaW4sIGRsbHMvbXN2Y3J0L3Rlc3RzL2hlYXAuYzoKKwlEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCUZpeCByZWFsbG9jKCkgdG8gbWF0Y2ggdGhlIGRvY3VtZW50ZWQgYmVoYXZpb3VyLgorCUFkZCBhIGZldyBzaW1wbGUgdGVzdHMgZm9yIGl0LgorCisJKiBkbGxzL3JwY3J0NC9ycGNfc2VydmVyLmM6CisJR3JlZ29yeSBNLiBUdXJuZXIgPGdtdHVybmVyMDA3QGFtZXJpdGVjaC5uZXQ+CisJLSBUcmFjZSB0aGUgYXJndW1lbnQgdG8gUlBDUlQ0X3NlcnZlcl90aHJlYWQuCisJLSBebnVsbCBpbXBsaWVzIHR3byBpbmRpcmVjdGlvbnMsIHdlIGhhdmUgb25lLgorCS0gT3ZlJ3MgaW50ZW50IGRvZXNuJ3QgbWF0dGVyLCB0aGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBpcyByaWdodC4KKworCSogZGxscy94MTFkcnYvTWFrZWZpbGUuaW4sIGRsbHMveDExZHJ2L2V2ZW50LmMsIGRsbHMveDExZHJ2L3dpbmRvdy5jLAorCSAgZGxscy94MTFkcnYveDExZHJ2LmgsIGRsbHMveDExZHJ2L3hkbmQuYzoKKwlVbHJpY2ggQ3pla2FsbGEgPHVscmljaC5jemVrYWxsYUB1dG9yb250by5jYT4KKwlJbml0aWFsIGltcGxlbWVudGF0aW9uIHRvIHN1cHBvcnQgWERORCBwcm90b2NvbC4KKworCSogZGxscy9jb21tZGxnL2NkbGdfSXQucmMsIGRsbHMvb2xlZGxnL29sZWRsZ19JdC5yYywKKwkgIGRsbHMvb2xlZGxnL3JzcmMucmMsIGRsbHMvc2hlbGwzMi9zaGVsbDMyX0VuLnJjLAorCSAgZGxscy9zaGVsbDMyL3NoZWxsMzJfSXQucmMsIGRsbHMvdXNlci9yZXNvdXJjZXMvdXNlcjMyX0l0LnJjLAorCSAgcHJvZ3JhbXMvcHJvZ21hbi9JdC5yYzoKKwlJdmFuIExlbyBNdXJyYXktU21pdGggPHB1b3RpQGlud2luZC5pdD4KKwlBZGRlZC91cGRhdGVkIEl0YWxpYW4gcmVzb3VyY2VzLgorCisJKiBkbGxzL2NvbWN0bDMyL2FuaW1hdGUuYywgZGxscy9jb21jdGwzMi9jb21ib2V4LmMsCisJICBkbGxzL2NvbWN0bDMyL2RhdGV0aW1lLmMsIGRsbHMvY29tY3RsMzIvaGVhZGVyLmMsCisJICBkbGxzL2NvbWN0bDMyL2hvdGtleS5jLCBkbGxzL2NvbWN0bDMyL2lwYWRkcmVzcy5jLAorCSAgZGxscy9jb21jdGwzMi9tb250aGNhbC5jLCBkbGxzL2NvbWN0bDMyL3BhZ2VyLmMsCisJICBkbGxzL2NvbWN0bDMyL3N0YXR1cy5jLCBkbGxzL2NvbWN0bDMyL3RhYi5jLCBkbGxzL2NvbWN0bDMyL3Rvb2xiYXIuYywKKwkgIGRsbHMvY29tY3RsMzIvdG9vbHRpcHMuYywgZGxscy9jb21jdGwzMi90cmVldmlldy5jLAorCSAgZGxscy9jb21jdGwzMi91cGRvd24uYzoKKwlEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCU1ha2UgdGhlIGNvbnRyb2xzIHNlbmQgbm90aWZpY2F0aW9ucyB0byB0aGUgcGFyZW50IHdpbmRvdyBwYXNzZWQgdG8KKwl0aGVtIGluIENSRUFURVNUUlVDVC4gIEJhc2VkIG9uIGEgdHJlZXZpZXcgcGF0Y2ggYnkgSWdvciBHcmFoZWsuCisKKwkqIHRvb2xzL01ha2VmaWxlLmluOiBHZXJhbGQgUGZlaWZlciA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KKwlSZW1vdmUgd2luZWNvbmYubGlicyBmcm9tIEVYVFJBU1VCRElSUy4KKworCSogZGxscy94MTFkcnYvY2xpcGJvYXJkLmMsIGRsbHMveDExZHJ2L2Rlc2t0b3AuYywgZGxscy94MTFkcnYvZXZlbnQuYywKKwkgIGRsbHMveDExZHJ2L3dpbmRvdy5jLCBkbGxzL3gxMWRydi94MTFkcnYuaCwKKwkgIGRsbHMveDExZHJ2L3gxMWRydl9tYWluLmM6CisJSW50ZXJuIGFsbCB0aGUgYXRvbXMgd2UnbGwgbmVlZCBpbiBvbmUgc3RlcCB0byBhdm9pZCBtdWx0aXBsZSBzZXJ2ZXIKKwlyb3VuZCB0cmlwcy4KKworCSogdG9vbHMvd2luZWJ1aWxkL3V0aWxzLmM6CisJb3Blbl9pbnB1dF9maWxlKCk6IHRyeSB0byBvcGVuIHRoZSBmaWxlIGluIHRoZSBjdXJyZW50IGRpcmVjdG9yeQorCWJlZm9yZSB0cnlpbmcgdGhlIHNvdXJjZSBkaXJlY3RvcnkuCisKKwkqIGRsbHMvc2hlbGwzMi9zaGVsbHBhdGguYzogRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlJZiB1c2luZyB0aGUgZGVmYXVsdCB2YWx1ZXMsIGFsc28gc2V0IGR3VHlwZSB0byBSRUdfU1ogYXMgb3VyIGRlZmF1bHQKKwlzdHJpbmdzIGRvbid0IG5lZWQgdG8gYmUgZXhwYW5kZWQgKGZvdW5kIGJ5IFZhbGdyaW5kKS4KKworCSogZGxscy9zaGx3YXBpL3JlZy5jOiBGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCURvbid0IHVzZSB0aGUgZGF0YSByZXR1cm5lZCBieSBSZWdRdWVyeVZhbHVlRXhXIGlmIGl0IGZhaWxzIChmb3VuZCBieQorCVZhbGdyaW5kKS4KKwlBIHNwZWxsaW5nIGZpeC4KKworCSogdG9vbHMvd2luZWdjYy93aW5ld3JhcC5jOiBEaW1pdHJpZSBPLiBQYXVuIDxkcGF1bkByb2dlcnMuY29tPgorCURvbid0IGlnbm9yZSBsaWJzIHNwZWNpZmllZCBieSB0aGUgdXNlciB3aGlsZSBsaW5raW5nLgorCisJKiBkbGxzL2NvbWN0bDMyL3RyZWV2aWV3LmM6IERpbWl0cmllIE8uIFBhdW4gPGRwYXVuQHJvZ2Vycy5jb20+CisJQ2xlYW51cCB0aGUgZWRpdCB3bmRwcm9jIGEgYml0LgorCisJKiBkbGxzL2NvbWN0bDMyL2NvbWN0bDMydW5kb2MuYzogRGltaXRyaWUgTy4gUGF1biA8ZHBhdW5Acm9nZXJzLmNvbT4KKwlSZW1vdmUgc29tZSBkZWFkIGNvZGU6IGh3bmRQYXJlbnQgaXMgbm90IHVzZWQgYW55d2hlcmUuCisKKwkqIGRsbHMvbXN2aWRlby9tc3JsZTMyL21zcmxlX0l0LnJjLCBkbGxzL21zdmlkZW8vbXNybGUzMi9yc3JjLnJjOgorCUl2YW4gTGVvIE11cnJheS1TbWl0aCA8cHVvdGlAaW53aW5kLml0PgorCUFkZGVkIEl0YWxpYW4gbGFuZ3VhZ2Ugc3VwcG9ydC4KKworCSogZGxscy9xdWFydHovY29udHJvbC5jOiBHZXJhbGQgUGZlaWZlciA8Z2VyYWxkQHBmZWlmZXIuY29tPgorCUF2b2lkIGxvbmcgbG9uZyBjb25zdGFudC4KKworCSogaW5jbHVkZS9NYWtlZmlsZS5pbjogVmluY2VudCBC6XJvbiA8dmJlcm9uQG1lY2Fuby5nbWUudXNoZXJiLmNhPgorCVJlbW92ZWQgc3RhbGUgaW5zdGFuY2UuaC4KKworCSogY29uZmlndXJlLCBjb25maWd1cmUuYWM6IFJlaW4gS2xhemVzIDxya2xhemVzQHhzNGFsbC5ubD4KKwlGaXggZGV0ZWN0aW9uIG9mIGZyZWV0eXBlL2ZyZWV0eXBlLmggd2hlbiB0aGUgbGliZnJlZXR5cGUgdmVyc2lvbgorCXJlcXVpcmVzIHRoYXQgZnQyYnVpbGQuaCBpcyBpbmNsdWRlZCBmaXJzdC4KKworCSogZGxscy94MTFkcnYva2V5Ym9hcmQuYzogR3JhbnQgV2lsbGlhbXNvbiA8dHJheHRvcGVsQGZhc3RtYWlsLmZtPgorCUR1dGNoIGtleWJvYXJkIHN1cHBvcnQuCisKKzIwMDMtMTEtMTggIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIEFOTk9VTkNFLCBDaGFuZ2VMb2csIFZFUlNJT04sIGNvbmZpZ3VyZTogUmVsZWFzZSAyMDAzMTExOC4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMjAwMy0xMS0xOCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KIAogCSogZGxscy9zaGVsbDMyL01ha2VmaWxlLmluOgpkaWZmIC0tZ2l0IGEvVkVSU0lPTiBiL1ZFUlNJT04KaW5kZXggOTBjOWRmYy4uYTUxOWVlOSAxMDA2NDQKLS0tIGEvVkVSU0lPTgorKysgYi9WRVJTSU9OCkBAIC0xICsxIEBACi1XaW5lIHZlcnNpb24gMjAwMzExMTgKK1dpbmUgdmVyc2lvbiAyMDAzMTIxMgpkaWZmIC0tZ2l0IGEvY29uZmlndXJlIGIvY29uZmlndXJlCmluZGV4IDljNjcyNDIuLmVlNWYxOWMgMTAwNzU1Ci0tLSBhL2NvbmZpZ3VyZQorKysgYi9jb25maWd1cmUKQEAgLTEsNiArMSw2IEBACiAjISAvYmluL3NoCiAjIEd1ZXNzIHZhbHVlcyBmb3Igc3lzdGVtLWRlcGVuZGVudCB2YXJpYWJsZXMgYW5kIGNyZWF0ZSBNYWtlZmlsZXMuCi0jIEdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41NyBmb3IgV2luZSAyMDAzMTExOC4KKyMgR2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjU3IGZvciBXaW5lIDIwMDMxMjEyLgogIwogIyBDb3B5cmlnaHQgMTk5MiwgMTk5MywgMTk5NCwgMTk5NSwgMTk5NiwgMTk5OCwgMTk5OSwgMjAwMCwgMjAwMSwgMjAwMgogIyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KQEAgLTI2Niw4ICsyNjYsOCBAQAogIyBJZGVudGl0eSBvZiB0aGlzIHBhY2thZ2UuCiBQQUNLQUdFX05BTUU9J1dpbmUnCiBQQUNLQUdFX1RBUk5BTUU9J3dpbmUnCi1QQUNLQUdFX1ZFUlNJT049JzIwMDMxMTE4JwotUEFDS0FHRV9TVFJJTkc9J1dpbmUgMjAwMzExMTgnCitQQUNLQUdFX1ZFUlNJT049JzIwMDMxMjEyJworUEFDS0FHRV9TVFJJTkc9J1dpbmUgMjAwMzEyMTInCiBQQUNLQUdFX0JVR1JFUE9SVD0nJwogCiBhY191bmlxdWVfZmlsZT0ic2VydmVyL2F0b20uYyIKQEAgLTc3Nyw3ICs3NzcsNyBAQAogICAjIE9taXQgc29tZSBpbnRlcm5hbCBvciBvYnNvbGV0ZSBvcHRpb25zIHRvIG1ha2UgdGhlIGxpc3QgbGVzcyBpbXBvc2luZy4KICAgIyBUaGlzIG1lc3NhZ2UgaXMgdG9vIGxvbmcgdG8gYmUgYSBzdHJpbmcgaW4gdGhlIEEvVVggMy4xIHNoLgogICBjYXQgPDxfQUNFT0YKLVxgY29uZmlndXJlJyBjb25maWd1cmVzIFdpbmUgMjAwMzExMTggdG8gYWRhcHQgdG8gbWFueSBraW5kcyBvZiBzeXN0ZW1zLgorXGBjb25maWd1cmUnIGNvbmZpZ3VyZXMgV2luZSAyMDAzMTIxMiB0byBhZGFwdCB0byBtYW55IGtpbmRzIG9mIHN5c3RlbXMuCiAKIFVzYWdlOiAkMCBbT1BUSU9OXS4uLiBbVkFSPVZBTFVFXS4uLgogCkBAIC04NDIsNyArODQyLDcgQEAKIAogaWYgdGVzdCAtbiAiJGFjX2luaXRfaGVscCI7IHRoZW4KICAgY2FzZSAkYWNfaW5pdF9oZWxwIGluCi0gICAgIHNob3J0IHwgcmVjdXJzaXZlICkgZWNobyAiQ29uZmlndXJhdGlvbiBvZiBXaW5lIDIwMDMxMTE4OiI7OworICAgICBzaG9ydCB8IHJlY3Vyc2l2ZSApIGVjaG8gIkNvbmZpZ3VyYXRpb24gb2YgV2luZSAyMDAzMTIxMjoiOzsKICAgIGVzYWMKICAgY2F0IDw8XF9BQ0VPRgogCkBAIC05MzUsNyArOTM1LDcgQEAKIHRlc3QgLW4gIiRhY19pbml0X2hlbHAiICYmIGV4aXQgMAogaWYgJGFjX2luaXRfdmVyc2lvbjsgdGhlbgogICBjYXQgPDxcX0FDRU9GCi1XaW5lIGNvbmZpZ3VyZSAyMDAzMTExOAorV2luZSBjb25maWd1cmUgMjAwMzEyMTIKIGdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41NwogCiBDb3B5cmlnaHQgMTk5MiwgMTk5MywgMTk5NCwgMTk5NSwgMTk5NiwgMTk5OCwgMTk5OSwgMjAwMCwgMjAwMSwgMjAwMgpAQCAtOTUwLDcgKzk1MCw3IEBACiBUaGlzIGZpbGUgY29udGFpbnMgYW55IG1lc3NhZ2VzIHByb2R1Y2VkIGJ5IGNvbXBpbGVycyB3aGlsZQogcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2VzIGEgbWlzdGFrZS4KIAotSXQgd2FzIGNyZWF0ZWQgYnkgV2luZSAkYXNfbWUgMjAwMzExMTgsIHdoaWNoIHdhcworSXQgd2FzIGNyZWF0ZWQgYnkgV2luZSAkYXNfbWUgMjAwMzEyMTIsIHdoaWNoIHdhcwogZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjU3LiAgSW52b2NhdGlvbiBjb21tYW5kIGxpbmUgd2FzCiAKICAgJCAkMCAkQApAQCAtMTc2MzgsNyArMTc2MzgsNyBAQAogfSA+JjUKIGNhdCA+JjUgPDxfQ1NFT0YKIAotVGhpcyBmaWxlIHdhcyBleHRlbmRlZCBieSBXaW5lICRhc19tZSAyMDAzMTExOCwgd2hpY2ggd2FzCitUaGlzIGZpbGUgd2FzIGV4dGVuZGVkIGJ5IFdpbmUgJGFzX21lIDIwMDMxMjEyLCB3aGljaCB3YXMKIGdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41Ny4gIEludm9jYXRpb24gY29tbWFuZCBsaW5lIHdhcwogCiAgIENPTkZJR19GSUxFUyAgICA9ICRDT05GSUdfRklMRVMKQEAgLTE3NzAxLDcgKzE3NzAxLDcgQEAKIAogY2F0ID4+JENPTkZJR19TVEFUVVMgPDxfQUNFT0YKIGFjX2NzX3ZlcnNpb249IlxcCi1XaW5lIGNvbmZpZy5zdGF0dXMgMjAwMzExMTgKK1dpbmUgY29uZmlnLnN0YXR1cyAyMDAzMTIxMgogY29uZmlndXJlZCBieSAkMCwgZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjU3LAogICB3aXRoIG9wdGlvbnMgXFwiYGVjaG8gIiRhY19jb25maWd1cmVfYXJncyIgfCBzZWQgJ3MvW1xcIiJcYFwkXS9cXFxcJi9nJ2BcXCIKIAo=