From kopete-devel Fri Aug 17 01:33:52 2007 From: Carlo Date: Fri, 17 Aug 2007 01:33:52 +0000 To: kopete-devel Subject: [kopete-devel] emoticons manager Message-Id: <3262b6180708161833v4c0b78cbj1b44a59ba1979366 () mail ! gmail ! com> X-MARC-Message: https://marc.info/?l=kopete-devel&m=118731447907280 MIME-Version: 1 Content-Type: multipart/mixed; boundary="------=_Part_19190_2349179.1187314432552" ------=_Part_19190_2349179.1187314432552 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi, i've ported my emoticons manager (http://www.kde-apps.org/content/show.php/Kopete+Emoticons+Manager?content=54968) to kopete4, the only problem for now is that i've used QFileDialog instead of KFileDialog because it crashes, i think for the same bug that crashes kopete when you close a chat window ------=_Part_19190_2349179.1187314432552 Content-Type: text/x-patch; name=kopete-emoticons.patch; charset=ANSI_X3.4-1968 Content-Transfer-Encoding: base64 X-Attachment-Id: f_f5g085tb Content-Disposition: attachment; filename="kopete-emoticons.patch" SW5kZXg6IGtvcGV0ZS9jb25maWcvYXBwZWFyYW5jZS9hcHBlYXJhbmNlY29uZmlnX2Vtb3RpY29u cy51aQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLSBrb3BldGUvY29uZmlnL2FwcGVhcmFuY2UvYXBwZWFyYW5jZWNv bmZpZ19lbW90aWNvbnMudWkJKHJldmlzaW9uZSA3MDA5NzEpCisrKyBrb3BldGUvY29uZmlnL2Fw cGVhcmFuY2UvYXBwZWFyYW5jZWNvbmZpZ19lbW90aWNvbnMudWkJKGNvcGlhIGxvY2FsZSkKQEAg LTE0Myw2ICsxNDMsMTkgQEAKICAgICA8L3dpZGdldD4KICAgIDwvaXRlbT4KICAgIDxpdGVtIHJv dz0iNCIgY29sdW1uPSIxIiA+CisgICAgPHdpZGdldCBjbGFzcz0iUVB1c2hCdXR0b24iIG5hbWU9 ImJ0bkVkaXRUaGVtZXMiPgorICAgIDxwcm9wZXJ0eSBuYW1lPSJzaXplUG9saWN5IiA+CisgICAg ICA8c2l6ZXBvbGljeSB2c2l6ZXR5cGU9IkZpeGVkIiBoc2l6ZXR5cGU9Ik1heGltdW0iID4KKyAg ICAgICA8aG9yc3RyZXRjaD4wPC9ob3JzdHJldGNoPgorICAgICAgIDx2ZXJzdHJldGNoPjA8L3Zl cnN0cmV0Y2g+CisgICAgICA8L3NpemVwb2xpY3k+CisgICAgIDwvcHJvcGVydHk+CisgICAgIDxw cm9wZXJ0eSBuYW1lPSJ0ZXh0Ij4KKyAgICAgIDxzdHJpbmc+JmFtcDtFZGl0IFRoZW1lLi4uPC9z dHJpbmc+CisgICAgIDwvcHJvcGVydHk+CisgICAgPC93aWRnZXQ+CisgICA8L2l0ZW0+CisgICA8 aXRlbSByb3c9IjQiIGNvbHVtbj0iMiIgPgogICAgIDx3aWRnZXQgY2xhc3M9IlFQdXNoQnV0dG9u IiBuYW1lPSJidG5JbnN0YWxsVGhlbWUiID4KICAgICAgPHByb3BlcnR5IG5hbWU9InNpemVQb2xp Y3kiID4KICAgICAgIDxzaXplcG9saWN5IHZzaXpldHlwZT0iRml4ZWQiIGhzaXpldHlwZT0iTWF4 aW11bSIgPgpAQCAtMTU1LDcgKzE2OCw3IEBACiAgICAgIDwvcHJvcGVydHk+CiAgICAgPC93aWRn ZXQ+CiAgICA8L2l0ZW0+Ci0gICA8aXRlbSByb3c9IjQiIGNvbHVtbj0iMiIgPgorICAgPGl0ZW0g cm93PSI0IiBjb2x1bW49IjMiID4KICAgICA8d2lkZ2V0IGNsYXNzPSJRUHVzaEJ1dHRvbiIgbmFt ZT0iYnRuUmVtb3ZlVGhlbWUiID4KICAgICAgPHByb3BlcnR5IG5hbWU9InNpemVQb2xpY3kiID4K ICAgICAgIDxzaXplcG9saWN5IHZzaXpldHlwZT0iRml4ZWQiIGhzaXpldHlwZT0iTWF4aW11bSIg PgpAQCAtMTY4LDcgKzE4MSw3IEBACiAgICAgIDwvcHJvcGVydHk+CiAgICAgPC93aWRnZXQ+CiAg ICA8L2l0ZW0+Ci0gICA8aXRlbSByb3c9IjQiIGNvbHVtbj0iMyIgPgorICAgPGl0ZW0gcm93PSI0 IiBjb2x1bW49IjQiID4KICAgICA8c3BhY2VyPgogICAgICA8cHJvcGVydHkgbmFtZT0ib3JpZW50 YXRpb24iID4KICAgICAgIDxlbnVtPlF0OjpIb3Jpem9udGFsPC9lbnVtPgpJbmRleDoga29wZXRl L2NvbmZpZy9hcHBlYXJhbmNlL2Vtb3RpY29uc2VkaXR3aWRnZXQudWkKPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g a29wZXRlL2NvbmZpZy9hcHBlYXJhbmNlL2Vtb3RpY29uc2VkaXR3aWRnZXQudWkJKHJldmlzaW9u ZSAwKQorKysga29wZXRlL2NvbmZpZy9hcHBlYXJhbmNlL2Vtb3RpY29uc2VkaXR3aWRnZXQudWkJ KHJldmlzaW9uZSAwKQpAQCAtMCwwICsxLDc0IEBACis8dWkgdmVyc2lvbj0iNC4wIiA+CisgPGNs YXNzPkVtb3RpY29uc0VkaXRXaWRnZXQ8L2NsYXNzPgorIDx3aWRnZXQgY2xhc3M9IlFXaWRnZXQi IG5hbWU9IkVtb3RpY29uc0VkaXRXaWRnZXQiID4KKyAgPHByb3BlcnR5IG5hbWU9Imdlb21ldHJ5 IiA+CisgICA8cmVjdD4KKyAgICA8eD4wPC94PgorICAgIDx5PjA8L3k+CisgICAgPHdpZHRoPjUz NTwvd2lkdGg+CisgICAgPGhlaWdodD4zNzg8L2hlaWdodD4KKyAgIDwvcmVjdD4KKyAgPC9wcm9w ZXJ0eT4KKyAgPHByb3BlcnR5IG5hbWU9IndpbmRvd1RpdGxlIiA+CisgICA8c3RyaW5nPkVtb3Rp Y29uc0VkaXRXaWRnZXQ8L3N0cmluZz4KKyAgPC9wcm9wZXJ0eT4KKyAgPGxheW91dCBjbGFzcz0i UUdyaWRMYXlvdXQiID4KKyAgIDxpdGVtIHJvdz0iMCIgY29sdW1uPSIxIiA+CisgICAgPGxheW91 dCBjbGFzcz0iUVZCb3hMYXlvdXQiID4KKyAgICAgPGl0ZW0+CisgICAgICA8d2lkZ2V0IGNsYXNz PSJLUHVzaEJ1dHRvbiIgbmFtZT0iYnRuQWRkIiA+CisgICAgICAgPHByb3BlcnR5IG5hbWU9InRl eHQiID4KKyAgICAgICAgPHN0cmluZz5BZGQuLi48L3N0cmluZz4KKyAgICAgICA8L3Byb3BlcnR5 PgorICAgICAgPC93aWRnZXQ+CisgICAgIDwvaXRlbT4KKyAgICAgPGl0ZW0+CisgICAgICA8d2lk Z2V0IGNsYXNzPSJLUHVzaEJ1dHRvbiIgbmFtZT0iYnRuRWRpdCIgPgorICAgICAgIDxwcm9wZXJ0 eSBuYW1lPSJ0ZXh0IiA+CisgICAgICAgIDxzdHJpbmc+RWRpdC4uLjwvc3RyaW5nPgorICAgICAg IDwvcHJvcGVydHk+CisgICAgICA8L3dpZGdldD4KKyAgICAgPC9pdGVtPgorICAgICA8aXRlbT4K KyAgICAgIDx3aWRnZXQgY2xhc3M9IktQdXNoQnV0dG9uIiBuYW1lPSJidG5SZW1vdmUiID4KKyAg ICAgICA8cHJvcGVydHkgbmFtZT0idGV4dCIgPgorICAgICAgICA8c3RyaW5nPlJlbW92ZTwvc3Ry aW5nPgorICAgICAgIDwvcHJvcGVydHk+CisgICAgICA8L3dpZGdldD4KKyAgICAgPC9pdGVtPgor ICAgICA8aXRlbT4KKyAgICAgIDxzcGFjZXI+CisgICAgICAgPHByb3BlcnR5IG5hbWU9Im9yaWVu dGF0aW9uIiA+CisgICAgICAgIDxlbnVtPlF0OjpWZXJ0aWNhbDwvZW51bT4KKyAgICAgICA8L3By b3BlcnR5PgorICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJzaXplVHlwZSIgPgorICAgICAgICA8ZW51 bT5RU2l6ZVBvbGljeTo6RXhwYW5kaW5nPC9lbnVtPgorICAgICAgIDwvcHJvcGVydHk+CisgICAg ICAgPHByb3BlcnR5IG5hbWU9InNpemVIaW50IiA+CisgICAgICAgIDxzaXplPgorICAgICAgICAg PHdpZHRoPjIwPC93aWR0aD4KKyAgICAgICAgIDxoZWlnaHQ+NDA8L2hlaWdodD4KKyAgICAgICAg PC9zaXplPgorICAgICAgIDwvcHJvcGVydHk+CisgICAgICA8L3NwYWNlcj4KKyAgICAgPC9pdGVt PgorICAgIDwvbGF5b3V0PgorICAgPC9pdGVtPgorICAgPGl0ZW0gcm93PSIwIiBjb2x1bW49IjAi ID4KKyAgICA8d2lkZ2V0IGNsYXNzPSJRTGlzdFdpZGdldCIgbmFtZT0icWx2RW1vdGljb25zIiAv PgorICAgPC9pdGVtPgorICA8L2xheW91dD4KKyA8L3dpZGdldD4KKyA8bGF5b3V0ZGVmYXVsdCBz cGFjaW5nPSI2IiBtYXJnaW49IjExIiAvPgorIDxwaXhtYXBmdW5jdGlvbj5xUGl4bWFwRnJvbU1p bWVTb3VyY2U8L3BpeG1hcGZ1bmN0aW9uPgorIDxjdXN0b213aWRnZXRzPgorICA8Y3VzdG9td2lk Z2V0PgorICAgPGNsYXNzPktQdXNoQnV0dG9uPC9jbGFzcz4KKyAgIDxleHRlbmRzPlFQdXNoQnV0 dG9uPC9leHRlbmRzPgorICAgPGhlYWRlcj5rcHVzaGJ1dHRvbi5oPC9oZWFkZXI+CisgIDwvY3Vz dG9td2lkZ2V0PgorIDwvY3VzdG9td2lkZ2V0cz4KKyA8aW5jbHVkZXMvPgorIDxyZXNvdXJjZXMv PgorIDxjb25uZWN0aW9ucy8+Cis8L3VpPgpJbmRleDoga29wZXRlL2NvbmZpZy9hcHBlYXJhbmNl L2FwcGVhcmFuY2Vjb25maWcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGtvcGV0ZS9jb25maWcvYXBwZWFy YW5jZS9hcHBlYXJhbmNlY29uZmlnLmNwcAkocmV2aXNpb25lIDcwMDk3MSkKKysrIGtvcGV0ZS9j b25maWcvYXBwZWFyYW5jZS9hcHBlYXJhbmNlY29uZmlnLmNwcAkoY29waWEgbG9jYWxlKQpAQCAt MjIsNiArMjIsNyBAQAogI2luY2x1ZGUgImFwcGVhcmFuY2Vjb25maWdfY29udGFjdGxpc3QuaCIK IAogI2luY2x1ZGUgInRvb2x0aXBlZGl0ZGlhbG9nLmgiCisjaW5jbHVkZSAiZW1vdGljb25zZWRp dGRpYWxvZy5oIgogCiAjaW5jbHVkZSA8UUNoZWNrQm94PgogI2luY2x1ZGUgPFFEaXI+CkBAIC0x MjIsNiArMTIzLDggQEAKIAkJdGhpcywgU0xPVChzbG90R2V0RW1vdGljb25UaGVtZXMoKSkpOwog CWNvbm5lY3QoZC0+bVByZnNFbW90aWNvbnMtPmJ0blJlbW92ZVRoZW1lLCBTSUdOQUwoY2xpY2tl ZCgpKSwKIAkJdGhpcywgU0xPVChyZW1vdmVTZWxlY3RlZEVtb3RpY29uVGhlbWUoKSkpOworICAg IGNvbm5lY3QoZC0+bVByZnNFbW90aWNvbnMtPmJ0bkVkaXRUaGVtZXMsIFNJR05BTChjbGlja2Vk KCkpLAorICAgICAgICB0aGlzLCBTTE9UKGVkaXRTZWxlY3RlZEVtb3RpY29uVGhlbWUoKSkpOwog CiAJZC0+bUFwcGVhcmFuY2VUYWJDdGwtPmFkZFRhYihkLT5tUHJmc0Vtb3RpY29ucywgaTE4bigi JkVtb3RpY29ucyIpKTsKIApAQCAtMjA0LDcgKzIwNyw5IEBACiAJCQlpZiAoIHRoZW1lUURpclt5 XSAhPSAiLiIgJiYgdGhlbWVRRGlyW3ldICE9ICIuLiIgKQogCQkJewogCQkJCS8vIEFkZCBvdXJz ZWx2ZXMgdG8gdGhlIGxpc3QsIHVzaW5nIG91ciBkaXJlY3RvcnkgbmFtZSAgRklYTUU6ICB1c2Ug dGhlIGZpcnN0IGVtb3RpY29uIG9mIHRoZSB0aGVtZS4KLQkJCQlRUGl4bWFwIHByZXZpZXdQaXht YXAgPSBRUGl4bWFwKEtTdGFuZGFyZERpcnM6OmxvY2F0ZSgiZW1vdGljb25zIiwgdGhlbWVRRGly W3ldKyIvc21pbGUucG5nIikpOworICAgICAgICAgICAgICAgIEtvcGV0ZTo6RW1vdGljb25zIGVt b3RpY29ucyggUURpcih0aGVtZVFEaXJbeV0pLmRpck5hbWUoKSApOworICAgICAgICAgICAgICAg IFFQaXhtYXAgcHJldmlld1BpeG1hcCA9IFFQaXhtYXAoZW1vdGljb25zLmVtb3RpY29uQW5kUGlj TGlzdCgpLmtleXMoKS52YWx1ZSgwKSk7CisvLyAJCQkJUVBpeG1hcCBwcmV2aWV3UGl4bWFwID0g UVBpeG1hcChLU3RhbmRhcmREaXJzOjpsb2NhdGUoImVtb3RpY29ucyIsIHRoZW1lUURpclt5XSsi L3NtaWxlLnBuZyIpKTsKIAkJCQlkLT5tUHJmc0Vtb3RpY29ucy0+aWNvbl90aGVtZV9saXN0LT5p bnNlcnRJdGVtKHByZXZpZXdQaXhtYXAsdGhlbWVRRGlyW3ldKTsKIAkJCX0KIAkJfQpAQCAtMzI2 LDUgKzMzMSwyMCBAQAogCWRlbGV0ZSBkbGc7CiB9CiAKK3ZvaWQgQXBwZWFyYW5jZUNvbmZpZzo6 ZWRpdFNlbGVjdGVkRW1vdGljb25UaGVtZSgpCit7CisgICAgUTNMaXN0Qm94SXRlbSAqc2VsZWN0 ZWQgPSBkLT5tUHJmc0Vtb3RpY29ucy0+aWNvbl90aGVtZV9saXN0LT5zZWxlY3RlZEl0ZW0oKTsK KyAgICBpZihzZWxlY3RlZD09MCkKKyAgICAgICAgcmV0dXJuOworCisgICAgUVN0cmluZyB0aGVt ZU5hbWUgPSBzZWxlY3RlZC0+dGV4dCgpOworICAgIAorICAgIEVtb3RpY29uc0VkaXREaWFsb2cg KmRsZyA9IG5ldyBFbW90aWNvbnNFZGl0RGlhbG9nKHRoaXMsIHRoZW1lTmFtZSk7CisgICAgZGxn LT5leGVjKCk7CisgICAgZGVsZXRlIGRsZzsKKworICAgIHVwZGF0ZUVtb3RpY29ubGlzdCgpOwor fQorCiAjaW5jbHVkZSAiYXBwZWFyYW5jZWNvbmZpZy5tb2MiCiAvLyB2aW06IHNldCBub2V0IHRz PTQgc3RzPTQgc3c9NDoKSW5kZXg6IGtvcGV0ZS9jb25maWcvYXBwZWFyYW5jZS9lbW90aWNvbnNl ZGl0ZGlhbG9nLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBrb3BldGUvY29uZmlnL2FwcGVhcmFuY2UvZW1v dGljb25zZWRpdGRpYWxvZy5jcHAJKHJldmlzaW9uZSAwKQorKysga29wZXRlL2NvbmZpZy9hcHBl YXJhbmNlL2Vtb3RpY29uc2VkaXRkaWFsb2cuY3BwCShyZXZpc2lvbmUgMCkKQEAgLTAsMCArMSwy NTkgQEAKKyNpbmNsdWRlICJlbW90aWNvbnNlZGl0ZGlhbG9nLmgiCisKKyNpbmNsdWRlICJrb3Bl dGVnbG9iYWwuaCIKKyNpbmNsdWRlICJrb3BldGVlbW90aWNvbnMuaCIKKworI2luY2x1ZGUgPGts b2NhbGUuaD4KKyNpbmNsdWRlIDxrc3RhbmRhcmRkaXJzLmg+CisjaW5jbHVkZSA8a2ZpbGVkaWFs b2cuaD4KKyNpbmNsdWRlIDxraW8vY29weWpvYi5oPgorI2luY2x1ZGUgPGtpby9uZXRhY2Nlc3Mu aD4KKyNpbmNsdWRlIDxRRmlsZURpYWxvZz4KKyNpbmNsdWRlIDxRUGl4bWFwPgorI2luY2x1ZGUg PFFMYXlvdXQ+CisjaW5jbHVkZSA8UUxhYmVsPgorCitFZGl0RGlhbG9nOjpFZGl0RGlhbG9nKFFX aWRnZXQgKnBhcmVudCwgY29uc3QgY2hhciogbmFtZSkKKyAgICA6IEtEaWFsb2cocGFyZW50KQor eworICAgIHNldENhcHRpb24oaTE4bihuYW1lKSk7CisgICAgc2V0dXBEbGcoKTsKK30KKworRWRp dERpYWxvZzo6RWRpdERpYWxvZyhRV2lkZ2V0ICpwYXJlbnQsIGNvbnN0IGNoYXIqIG5hbWUsIFFM aXN0V2lkZ2V0SXRlbSAqaXRtLCBRU3RyaW5nIGZpbGUpCisgICAgOiBLRGlhbG9nKHBhcmVudCkK K3sKKyAgICBzZXRDYXB0aW9uKGkxOG4obmFtZSkpOworICAgIHNldHVwRGxnKCk7CisgICAgbGVU ZXh0LT5zZXRUZXh0KGl0bS0+dGV4dCgpKTsKKyAgICBidG5JY29uLT5zZXRJY29uKGl0bS0+aWNv bigpKTsKKyAgICBlbW90aWNvbiA9IGZpbGU7Cit9CisKK3ZvaWQgRWRpdERpYWxvZzo6c2V0dXBE bGcoKQoreworICAgIHNldEJ1dHRvbnMoS0RpYWxvZzo6T2sgfCBLRGlhbG9nOjpDYW5jZWwpOwor ICAgIHdkZyA9IG5ldyBRV2lkZ2V0KHRoaXMpOworICAgIFFWQm94TGF5b3V0ICp2bCA9IG5ldyBR VkJveExheW91dCh3ZGcpOworICAgIFFIQm94TGF5b3V0ICpoYiA9IG5ldyBRSEJveExheW91dCh3 ZGcpOworICAgIGxlVGV4dCA9IG5ldyBRTGluZUVkaXQoKTsKKyAgICBidG5JY29uID0gbmV3IFFQ dXNoQnV0dG9uKCk7CisgICAgYnRuSWNvbi0+c2V0Rml4ZWRTaXplKFFTaXplKDY0LCA2NCkpOwor CisgICAgdmwtPmFkZFdpZGdldChuZXcgUUxhYmVsKGkxOG4oIkluc2VydCB0aGUgc3RyaW5nIGZv ciB0aGUgZW1vdGljb25cbnNlcGFyYXRlZCBieSBzcGFjZSBpZiB5b3Ugd2FudCBtdWx0aXBsZSBz dHJpbmdzIiksIHdkZykpOworICAgIGhiLT5hZGRXaWRnZXQoYnRuSWNvbik7CisgICAgaGItPmFk ZFdpZGdldChsZVRleHQpOworICAgIHZsLT5hZGRMYXlvdXQoaGIpOworICAgIHNldE1haW5XaWRn ZXQod2RnKTsKKyAgICBjb25uZWN0KGJ0bkljb24sIFNJR05BTChjbGlja2VkKCkpLCB0aGlzLCBT TE9UKGJ0bkljb25DbGlja2VkKCkpKTsKK30KKwordm9pZCBFZGl0RGlhbG9nOjpidG5JY29uQ2xp Y2tlZCgpCit7CisvLyAgICAgS1VybCB1cmwgPSAgS0ZpbGVEaWFsb2c6OmdldEltYWdlT3BlblVy bCgpOyAvL0tGaWxlRGlhbG9nIGNyYXNoZXMga29wZXRlIHNvIGknbGwgdXNlIFFGaWxlRGlhbG9n IGZvciBub3cKKyAgICAKKyAgICBLVXJsIHVybCA9IEtVcmwoUUZpbGVEaWFsb2c6OmdldE9wZW5G aWxlTmFtZSh0aGlzLCBpMThuKCJDaG9vc2UgYW4gZW1vdGljb24iKSwgIiIsIGkxOG4oIkltYWdl cyAoKi5wbmcgKi5tbmcgKi5naWYpIikpKTsKKyAgICAKKyAgICBpZighdXJsLmlzTG9jYWxGaWxl KCkpCisgICAgICAgIHJldHVybjsKKworICAgIGVtb3RpY29uID0gdXJsLnBhdGgoKTsKKworICAg IGlmKGVtb3RpY29uLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgYnRuSWNvbi0+ c2V0SWNvbihRUGl4bWFwKGVtb3RpY29uKSk7Cit9CisKK0Vtb3RpY29uc0VkaXREaWFsb2c6OkVt b3RpY29uc0VkaXREaWFsb2coUVdpZGdldCAqcGFyZW50LCBRU3RyaW5nIHRoZW1lKQorICAgIDog S0RpYWxvZyhwYXJlbnQpCit7CisgICAgc2V0Q2FwdGlvbihpMThuKCJFbW90aWNvbnMgRWRpdG9y IikpOworICAgIHNldEJ1dHRvbnMoS0RpYWxvZzo6T2sgfCBLRGlhbG9nOjpDYW5jZWwpOworICAg IAorICAgIHRoZW1lTmFtZSA9IHRoZW1lOworCisgICAgbU1haW5XaWRnZXQgPSBuZXcgUVdpZGdl dCh0aGlzKTsKKyAgICBtTWFpbldpZGdldC0+c2V0T2JqZWN0TmFtZSgiRW1vdGljb25zRWRpdERp YWxvZzo6bU1haW5XaWRnZXQiKTsKKyAgICBzZXRNYWluV2lkZ2V0KG1NYWluV2lkZ2V0KTsKKyAg ICBzZXR1cFVpKG1NYWluV2lkZ2V0KTsKKyAgICAKKyAgICBidG5BZGQtPnNldEd1aUl0ZW0oS1N0 YW5kYXJkR3VpSXRlbTo6YWRkKCkpOworICAgIGJ0bkVkaXQtPnNldEd1aUl0ZW0oS1N0YW5kYXJk R3VpSXRlbTo6Y29uZmlndXJlKCkpOworICAgIGJ0bkVkaXQtPnNldFRleHQoaTE4bigiRWRpdC4u LiIpKTsKKyAgICBidG5SZW1vdmUtPnNldEd1aUl0ZW0oS1N0YW5kYXJkR3VpSXRlbTo6cmVtb3Zl KCkpOworCisgICAgcWx2RW1vdGljb25zLT5zZXRJY29uU2l6ZShRU2l6ZSgyMiwgMjIpKTsKKyAg ICBLb3BldGU6OkVtb3RpY29ucyBlbW90aWNvbnMoIHRoZW1lICk7CisgICAgdGhlbWVNYXAgPSBl bW90aWNvbnMuZW1vdGljb25BbmRQaWNMaXN0KCk7CisgICAgCisgICAgUU1hcEl0ZXJhdG9yPFFT dHJpbmcsIFFTdHJpbmdMaXN0PiBpdCh0aGVtZU1hcCk7CisgICAgd2hpbGUoaXQuaGFzTmV4dCgp KQorICAgIHsKKyAgICAgICAgaXQubmV4dCgpOworICAgICAgICBRU3RyaW5nIHRleHQ7CisgICAg ICAgIGlmKGl0LnZhbHVlKCkuc2l6ZSgpKSB7CisgICAgICAgICAgICB0ZXh0ID0gaXQudmFsdWUo KS5hdCgwKTsKKyAgICAgICAgICAgIGZvcihpbnQgaSA9IDE7IGkgPCBpdC52YWx1ZSgpLnNpemUo KTsgaSsrKSB7CisgICAgICAgICAgICAgICAgdGV4dCArPSAiICIgKyBpdC52YWx1ZSgpLmF0KGkp OworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIG5ldyBRTGlzdFdpZGdldEl0ZW0o UUljb24oaXQua2V5KCkpLCB0ZXh0LCBxbHZFbW90aWNvbnMpOworICAgIH0KKworICAgIFFGaWxl ICpmcCA9IG5ldyBRRmlsZShLR2xvYmFsOjpkaXJzKCktPnNhdmVMb2NhdGlvbiggImVtb3RpY29u cyIsICB0aGVtZU5hbWUsIGZhbHNlICkgKyAgIi9lbW90aWNvbnMueG1sIik7CisKKyAgICBpZigg IWZwLT5leGlzdHMoKSApIHsKKyAgICAgICAga1dhcm5pbmcoKSA8PCAiRW1vdGljb25zRWRpdERp YWxvZzo6RW1vdGljb25zRWRpdERpYWxvZygpICIgPDwgZnAtPmZpbGVOYW1lKCkgPDwgIiBkb2Vz bid0IGV4aXN0ISIgPDwgZW5kbDsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmKCFm cC0+b3BlbiggSU9fUmVhZE9ubHkgKSkgeworICAgICAgICBrV2FybmluZygpIDw8ICJFbW90aWNv bnNFZGl0RGlhbG9nOjpFbW90aWNvbnNFZGl0RGlhbG9nKCkgIiA8PCBmcC0+ZmlsZU5hbWUoKSA8 PCAiIGNhbid0IG9wZW4gUmVhZE9ubHkhIiA8PCBlbmRsOworICAgICAgICByZXR1cm47CisgICAg fQorCisgICAgaWYoIXRoZW1lWG1sLnNldENvbnRlbnQoZnApKSB7CisgICAgICAgIGtXYXJuaW5n KCkgPDwgIkVtb3RpY29uc0VkaXREaWFsb2c6OkVtb3RpY29uc0VkaXREaWFsb2coKSAiIDw8IGZw LT5maWxlTmFtZSgpIDw8ICIgY2FuJ3QgY29weSB0byB4bWwhIiA8PCBlbmRsOworICAgICAgICBm cC0+Y2xvc2UoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGZwLT5jbG9zZSgpOwor CisgICAgY29ubmVjdCh0aGlzLCBTSUdOQUwob2tDbGlja2VkKCkpLCB0aGlzLCBTTE9UKHNsb3RP a0NsaWNrZWQoKSkpOworICAgIGNvbm5lY3QoYnRuQWRkLCBTSUdOQUwoY2xpY2tlZCgpKSwgdGhp cywgU0xPVChzbG90QWRkQ2xpY2tlZCgpKSk7CisgICAgY29ubmVjdChidG5FZGl0LCBTSUdOQUwo Y2xpY2tlZCgpKSwgdGhpcywgU0xPVChzbG90RWRpdENsaWNrZWQoKSkpOworICAgIGNvbm5lY3Qo YnRuUmVtb3ZlLCBTSUdOQUwoY2xpY2tlZCgpKSwgdGhpcywgU0xPVChzbG90UmVtb3ZlQ2xpY2tl ZCgpKSk7Cit9CisKK3ZvaWQgRW1vdGljb25zRWRpdERpYWxvZzo6c2xvdE9rQ2xpY2tlZCgpCit7 CisgICAgUUZpbGUgKmZwID0gbmV3IFFGaWxlKEtHbG9iYWw6OmRpcnMoKS0+c2F2ZUxvY2F0aW9u KCAiZW1vdGljb25zIiwgIHRoZW1lTmFtZSwgZmFsc2UgKSArICAiL2Vtb3RpY29ucy54bWwiKTsK KworICAgIGlmKCAhZnAtPmV4aXN0cygpICkgeworICAgICAgICBrV2FybmluZygpIDw8ICJFbW90 aWNvbnNFZGl0RGlhbG9nOjpzbG90T2tDbGlja2VkKCkgIiA8PCBmcC0+ZmlsZU5hbWUoKSA8PCAi IGRvZXNuJ3QgZXhpc3QhIiA8PCBlbmRsOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAg aWYoIWZwLT5vcGVuKCBJT19Xcml0ZU9ubHkgKSkgeworICAgICAgICBrV2FybmluZygpIDw8ICJF bW90aWNvbnNFZGl0RGlhbG9nOjpzbG90T2tDbGlja2VkKCkgIiA8PCBmcC0+ZmlsZU5hbWUoKSA8 PCAiIGNhbid0IG9wZW4gV3JpdGVPbmx5ISIgPDwgZW5kbDsKKyAgICAgICAgcmV0dXJuOworICAg IH0KKworICAgIFFUZXh0U3RyZWFtIGVtb1N0cmVhbShmcCk7CisgICAgZW1vU3RyZWFtIDw8IHRo ZW1lWG1sLnRvU3RyaW5nKDQpOworICAgIGZwLT5jbG9zZSgpOworfQorCit2b2lkIEVtb3RpY29u c0VkaXREaWFsb2c6OnNsb3RBZGRDbGlja2VkKCkKK3sKKyAgICBFZGl0RGlhbG9nICpkbGcgPSBu ZXcgRWRpdERpYWxvZyh0aGlzLCAiQWRkIGVtb3RpY29uIik7CisKKyAgICBpZihkbGctPmV4ZWMo KSA9PSBRRGlhbG9nOjpSZWplY3RlZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYoZGxnLT5n ZXRUZXh0KCkuaXNFbXB0eSgpIHx8IGRsZy0+Z2V0RW1vdGljb24oKS5pc051bGwoKSkKKyAgICAg ICAgcmV0dXJuOworCisgICAgYWRkRW1vdGljb24oZGxnLT5nZXRFbW90aWNvbigpLCBkbGctPmdl dFRleHQoKSwgdHJ1ZSk7CisKKworICAgIGRlbGV0ZSBkbGc7Cit9CisKK3ZvaWQgRW1vdGljb25z RWRpdERpYWxvZzo6c2xvdEVkaXRDbGlja2VkKCkKK3sKKyAgICBpZighcWx2RW1vdGljb25zLT5z ZWxlY3RlZEl0ZW1zKCkuc2l6ZSgpKQorICAgICAgICByZXR1cm47CisKKyAgICBRU3RyaW5nIHBh dGggPSB0aGVtZU1hcC5rZXkocWx2RW1vdGljb25zLT5zZWxlY3RlZEl0ZW1zKClbMF0tPnRleHQo KS5zcGxpdCgiICIpKTsKKyAgICBRU3RyaW5nIGYgPSBRRmlsZUluZm8ocGF0aCkuYmFzZU5hbWUo KTsKKyAgICAKKyAgICBkbGcgPSBuZXcgRWRpdERpYWxvZyh0aGlzLCAiRWRpdCBlbW90aWNvbiIs IHFsdkVtb3RpY29ucy0+c2VsZWN0ZWRJdGVtcygpWzBdLCBwYXRoKTsKKworICAgIGlmKGRsZy0+ ZXhlYygpID09IFFEaWFsb2c6OlJlamVjdGVkKQorICAgICAgICByZXR1cm47CisKKyAgICBpZihk bGctPmdldFRleHQoKS5pc0VtcHR5KCkgfHwgZGxnLT5nZXRFbW90aWNvbigpLmlzTnVsbCgpKQor ICAgICAgICByZXR1cm47CisKKyAgICBib29sIGNvcHk7CisgICAgUVN0cmluZyBlbW8gPSBkbGct PmdldEVtb3RpY29uKCk7CisgICAgaWYocGF0aCAhPSBkbGctPmdldEVtb3RpY29uKCkpIHsKKyAg ICAgICAgY29weSA9IHRydWU7CisgICAgfSBlbHNlIHsKKyAgICAgICAgY29weSA9IGZhbHNlOwor ICAgICAgICAKKyAgICAgICAgS1N0YW5kYXJkRGlycyAqZGlyID0gS0dsb2JhbDo6ZGlycygpOwor ICAgICAgICBlbW8gPSBkaXItPmZpbmRSZXNvdXJjZSggImVtb3RpY29ucyIsIHRoZW1lTmFtZSAr IFFTdHJpbmc6OmZyb21MYXRpbjEoICIvIiApICsgZik7CisKKyAgICAgICAgaWYoIGVtby5pc051 bGwoKSApCisgICAgICAgICAgICBlbW8gPSBkaXItPmZpbmRSZXNvdXJjZSggImVtb3RpY29ucyIs IHRoZW1lTmFtZSArIFFTdHJpbmc6OmZyb21MYXRpbjEoICIvIiApICsgZiArIFFTdHJpbmc6OmZy b21MYXRpbjEoICIubW5nIiApICk7CisgICAgICAgIGlmICggZW1vLmlzTnVsbCgpICkKKyAgICAg ICAgICAgIGVtbyA9IGRpci0+ZmluZFJlc291cmNlKCAiZW1vdGljb25zIiwgdGhlbWVOYW1lICsg UVN0cmluZzo6ZnJvbUxhdGluMSggIi8iICkgKyBmICsgUVN0cmluZzo6ZnJvbUxhdGluMSggIi5w bmciICkgKTsKKyAgICAgICAgaWYgKCBlbW8uaXNOdWxsKCkgKQorICAgICAgICAgICAgZW1vID0g ZGlyLT5maW5kUmVzb3VyY2UoICJlbW90aWNvbnMiLCB0aGVtZU5hbWUgKyBRU3RyaW5nOjpmcm9t TGF0aW4xKCAiLyIgKSArIGYgKyBRU3RyaW5nOjpmcm9tTGF0aW4xKCAiLmdpZiIgKSApOworICAg ICAgICBpZiAoIGVtby5pc051bGwoKSApCisgICAgICAgICAgICByZXR1cm47CisgICAgfQorCisg ICAgcmVtb3ZlRW1vdGljb24oZik7CisgICAgYWRkRW1vdGljb24oZW1vLCBkbGctPmdldFRleHQo KSwgY29weSk7CisKKyAgICBkZWxldGUgZGxnOworfQorCit2b2lkIEVtb3RpY29uc0VkaXREaWFs b2c6OnNsb3RSZW1vdmVDbGlja2VkKCkKK3sKKyAgICBpZighcWx2RW1vdGljb25zLT5zZWxlY3Rl ZEl0ZW1zKCkuc2l6ZSgpKQorICAgICAgICByZXR1cm47CisKKyAgICByZW1vdmVFbW90aWNvbihR RmlsZUluZm8odGhlbWVNYXAua2V5KHFsdkVtb3RpY29ucy0+c2VsZWN0ZWRJdGVtcygpWzBdLT50 ZXh0KCkuc3BsaXQoIiAiKSkpLmJhc2VOYW1lKCkpOworfQorCit2b2lkIEVtb3RpY29uc0VkaXRE aWFsb2c6OmFkZEVtb3RpY29uKFFTdHJpbmcgZW1vLCBRU3RyaW5nIHRleHQsIGJvb2wgY29weSkK K3sKKyAgICBpZihjb3B5KSB7CisgICAgICAgIEtJTzo6TmV0QWNjZXNzOjpkaXJjb3B5KEtVcmwo ZW1vKSwgS1VybChLR2xvYmFsOjpkaXJzKCktPnNhdmVMb2NhdGlvbiggImVtb3RpY29ucyIsICB0 aGVtZU5hbWUsIGZhbHNlICkpKTsKKyAgICB9CisKKyAgICBuZXcgUUxpc3RXaWRnZXRJdGVtKFFQ aXhtYXAoZW1vKSwgdGV4dCwgcWx2RW1vdGljb25zKTsKKyAgICBRU3RyaW5nTGlzdCBzcGxpdHRl ZCA9IHRleHQuc3BsaXQoIiAiKTsKKyAgICB0aGVtZU1hcFtRRmlsZUluZm8oZW1vKS5iYXNlTmFt ZSgpXSA9IHNwbGl0dGVkOworICAgIFFEb21Ob2RlIGxjID0gdGhlbWVYbWwubGFzdENoaWxkKCk7 CisgICAgaWYobGMuaXNOdWxsKCkpCisgICAgICAgIHJldHVybjsKKworICAgIFFEb21FbGVtZW50 IGVtb3RpY29uID0gdGhlbWVYbWwuY3JlYXRlRWxlbWVudCgiZW1vdGljb24iKTsKKyAgICBlbW90 aWNvbi5zZXRBdHRyaWJ1dGUoImZpbGUiLCBRRmlsZUluZm8oZW1vKS5iYXNlTmFtZSgpKTsKKyAg ICBsYy5hcHBlbmRDaGlsZChlbW90aWNvbik7CisgICAgUVN0cmluZ0xpc3Q6OmNvbnN0X2l0ZXJh dG9yIGNvbnN0SXRlcmF0b3I7CisgICAgZm9yKGNvbnN0SXRlcmF0b3IgPSBzcGxpdHRlZC5iZWdp bigpOyBjb25zdEl0ZXJhdG9yICE9IHNwbGl0dGVkLmVuZCgpOyBjb25zdEl0ZXJhdG9yKyspCisg ICAgeworICAgICAgICBRRG9tRWxlbWVudCBlbW90ZXh0ID0gdGhlbWVYbWwuY3JlYXRlRWxlbWVu dCgic3RyaW5nIik7CisgICAgICAgIFFEb21UZXh0IHR4dCA9IHRoZW1lWG1sLmNyZWF0ZVRleHRO b2RlKCgqY29uc3RJdGVyYXRvcikudHJpbW1lZCgpKTsKKyAgICAgICAgZW1vdGV4dC5hcHBlbmRD aGlsZCh0eHQpOworICAgICAgICBlbW90aWNvbi5hcHBlbmRDaGlsZChlbW90ZXh0KTsKKyAgICB9 Cit9CisKK3ZvaWQgRW1vdGljb25zRWRpdERpYWxvZzo6cmVtb3ZlRW1vdGljb24oUVN0cmluZyBl bW8pCit7CisgICAgUURvbU5vZGUgbGMgPSB0aGVtZVhtbC5sYXN0Q2hpbGQoKTsKKyAgICBpZihs Yy5pc051bGwoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgUURvbU5vZGVMaXN0IG5sID0gbGMu Y2hpbGROb2RlcygpOworCisgICAgZm9yKHVpbnQgaSA9IDA7IGkgPCBubC5sZW5ndGgoKTsgaSsr KSB7CisgICAgICAgIFFEb21FbGVtZW50IGRlID0gbmwuaXRlbShpKS50b0VsZW1lbnQoKTsKKyAg ICAgICAga1dhcm5pbmcoKSA8PCAidGFnOiAiPDxkZS50YWdOYW1lKCkgPDwgIiBhdHRyOiAiPDxk ZS5hdHRyaWJ1dGUoImZpbGUiKSA8PCAiIGVtbzogIiA8PCBlbW8gPDxlbmRsOworICAgICAgICBp ZighZGUuaXNOdWxsKCkgJiYgZGUudGFnTmFtZSgpID09ICJlbW90aWNvbiIgJiYgZGUuYXR0cmli dXRlKCJmaWxlIikgPT0gZW1vKSB7CisgICAgICAgICAgICBsYy5yZW1vdmVDaGlsZChkZSk7Cisg ICAgICAgICAgICBkZWxldGUgcWx2RW1vdGljb25zLT5zZWxlY3RlZEl0ZW1zKClbMF07CisgICAg ICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9Cit9CisKSW5kZXg6IGtvcGV0ZS9jb25m aWcvYXBwZWFyYW5jZS9hcHBlYXJhbmNlY29uZmlnLmgKPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0ga29wZXRlL2Nv bmZpZy9hcHBlYXJhbmNlL2FwcGVhcmFuY2Vjb25maWcuaAkocmV2aXNpb25lIDcwMDk3MSkKKysr IGtvcGV0ZS9jb25maWcvYXBwZWFyYW5jZS9hcHBlYXJhbmNlY29uZmlnLmgJKGNvcGlhIGxvY2Fs ZSkKQEAgLTQ3LDYgKzQ3LDcgQEAKIAl2b2lkIHJlbW92ZVNlbGVjdGVkRW1vdGljb25UaGVtZSgp OwogCXZvaWQgc2xvdEdldEVtb3RpY29uVGhlbWVzKCk7CiAJdm9pZCB1cGRhdGVFbW90aWNvbnNC dXR0b24oYm9vbCk7CisgICAgdm9pZCBlZGl0U2VsZWN0ZWRFbW90aWNvblRoZW1lKCk7CiBwcml2 YXRlOgogCXZvaWQgdXBkYXRlRW1vdGljb25saXN0KCk7CiAJCkluZGV4OiBrb3BldGUvY29uZmln L2FwcGVhcmFuY2UvZW1vdGljb25zZWRpdGRpYWxvZy5oCj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGtvcGV0ZS9j b25maWcvYXBwZWFyYW5jZS9lbW90aWNvbnNlZGl0ZGlhbG9nLmgJKHJldmlzaW9uZSAwKQorKysg a29wZXRlL2NvbmZpZy9hcHBlYXJhbmNlL2Vtb3RpY29uc2VkaXRkaWFsb2cuaAkocmV2aXNpb25l IDApCkBAIC0wLDAgKzEsNTQgQEAKKyNpZm5kZWYgRU1PVElDT05TRURJVERJQUxPR19ICisjZGVm aW5lIEVNT1RJQ09OU0VESVRESUFMT0dfSAorCisjaW5jbHVkZSA8a2RlYnVnLmg+CisjaW5jbHVk ZSA8a2RpYWxvZy5oPgorI2luY2x1ZGUgPFFMaW5lRWRpdD4KKyNpbmNsdWRlIDxRRmlsZT4KKyNp bmNsdWRlIDxRRG9tRG9jdW1lbnQ+CisKKyNpbmNsdWRlICJ1aV9lbW90aWNvbnNlZGl0d2lkZ2V0 LmgiCisKK2NsYXNzIEVkaXREaWFsb2cgOiBwdWJsaWMgS0RpYWxvZworeworICAgIFFfT0JKRUNU CisKKyAgICBwdWJsaWM6CisgICAgICAgIEVkaXREaWFsb2coUVdpZGdldCAqcGFyZW50LCBjb25z dCBjaGFyKiBuYW1lKTsKKyAgICAgICAgRWRpdERpYWxvZyhRV2lkZ2V0ICpwYXJlbnQsIGNvbnN0 IGNoYXIqIG5hbWUsIFFMaXN0V2lkZ2V0SXRlbSAqaXRtLCBRU3RyaW5nIGZpbGUpOworICAgICAg ICBjb25zdCBRU3RyaW5nIGdldFRleHQoKSB7IHJldHVybiBsZVRleHQtPnRleHQoKTsgfTsKKyAg ICAgICAgY29uc3QgUVN0cmluZyBnZXRFbW90aWNvbigpIHsgcmV0dXJuIGVtb3RpY29uOyB9Owor ICAgIHByaXZhdGUgc2xvdHM6CisgICAgICAgIHZvaWQgYnRuSWNvbkNsaWNrZWQoKTsKKyAgICBw cml2YXRlOgorICAgICAgICB2b2lkIHNldHVwRGxnKCk7CisgICAgICAgIFFXaWRnZXQgKndkZzsK KyAgICAgICAgUUxpbmVFZGl0ICpsZVRleHQ7CisgICAgICAgIFFQdXNoQnV0dG9uICpidG5JY29u OworICAgICAgICBRU3RyaW5nIGVtb3RpY29uOworfTsKKworY2xhc3MgRW1vdGljb25zRWRpdERp YWxvZyA6IHB1YmxpYyBLRGlhbG9nLCBwcml2YXRlIFVpOjpFbW90aWNvbnNFZGl0V2lkZ2V0Cit7 CisgICAgUV9PQkpFQ1QKKworICAgIHB1YmxpYzoKKyAgICAgICAgRW1vdGljb25zRWRpdERpYWxv ZyhRV2lkZ2V0ICpwYXJlbnQ9MCwgUVN0cmluZyB0aGVtZSA9IFFTdHJpbmc6Om51bGwpOworICAg ICAgICB2b2lkIGFkZEVtb3RpY29uKFFTdHJpbmcgZW1vLCBRU3RyaW5nIHRleHQsIGJvb2wgY29w eSk7CisKKyAgICBwcml2YXRlIHNsb3RzOgorICAgICAgICB2b2lkIHNsb3RPa0NsaWNrZWQoKTsK KyAgICAgICAgdm9pZCBzbG90QWRkQ2xpY2tlZCgpOworICAgICAgICB2b2lkIHNsb3RFZGl0Q2xp Y2tlZCgpOworICAgICAgICB2b2lkIHNsb3RSZW1vdmVDbGlja2VkKCk7CisKKyAgICBwcml2YXRl OgorICAgICAgICB2b2lkIHJlbW92ZUVtb3RpY29uKFFTdHJpbmcgZW1vKTsKKyAgICAgICAgUVdp ZGdldCAqbU1haW5XaWRnZXQ7CisgICAgICAgIFFTdHJpbmcgdGhlbWVOYW1lOworICAgICAgICBF ZGl0RGlhbG9nICpkbGc7CisgICAgICAgIFFNYXA8UVN0cmluZywgUVN0cmluZ0xpc3Q+IHRoZW1l TWFwOworICAgICAgICBRRG9tRG9jdW1lbnQgdGhlbWVYbWw7Cit9OworCisjZW5kaWYKSW5kZXg6 IGtvcGV0ZS9jb25maWcvYXBwZWFyYW5jZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBr b3BldGUvY29uZmlnL2FwcGVhcmFuY2UvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uZSA3MDA5NzEp CisrKyBrb3BldGUvY29uZmlnL2FwcGVhcmFuY2UvQ01ha2VMaXN0cy50eHQJKGNvcGlhIGxvY2Fs ZSkKQEAgLTEyLDEzICsxMiwxNSBAQAogICAgYXBwZWFyYW5jZWNvbmZpZ19jb2xvcnMuY3BwIAog ICAgYXBwZWFyYW5jZWNvbmZpZ19jb250YWN0bGlzdC5jcHAgCiAgICBhcHBlYXJhbmNlY29uZmln X2Vtb3RpY29ucy5jcHAgCi0gICB0b29sdGlwZWRpdGRpYWxvZy5jcHAgKQorICAgdG9vbHRpcGVk aXRkaWFsb2cuY3BwIAorICAgZW1vdGljb25zZWRpdGRpYWxvZy5jcHAgKQogCiBrZGU0X2FkZF91 aV9maWxlcyhrY21fa29wZXRlX2FwcGVhcmFuY2Vjb25maWdfUEFSVF9TUkNTIAogICAgYXBwZWFy YW5jZWNvbmZpZ19jb2xvcnMudWkKICAgIGFwcGVhcmFuY2Vjb25maWdfY29udGFjdGxpc3QudWkg CiAgICBhcHBlYXJhbmNlY29uZmlnX2Vtb3RpY29ucy51aSAKLSAgIHRvb2x0aXBlZGl0d2lkZ2V0 LnVpICkKKyAgIHRvb2x0aXBlZGl0d2lkZ2V0LnVpIAorICAgZW1vdGljb25zZWRpdHdpZGdldC51 aSApCiAKIGtkZTRfYWRkX3BsdWdpbihrY21fa29wZXRlX2FwcGVhcmFuY2Vjb25maWcgJHtrY21f a29wZXRlX2FwcGVhcmFuY2Vjb25maWdfUEFSVF9TUkNTfSkKIApJbmRleDoga29wZXRlL2NoYXR3 aW5kb3cvY2hhdG1lc3NhZ2VwYXJ0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBrb3BldGUvY2hhdHdpbmRv dy9jaGF0bWVzc2FnZXBhcnQuY3BwCShyZXZpc2lvbmUgNzAwOTcxKQorKysga29wZXRlL2NoYXR3 aW5kb3cvY2hhdG1lc3NhZ2VwYXJ0LmNwcAkoY29waWEgbG9jYWxlKQpAQCAtNjQsMTIgKzY0LDE0 IEBACiAjaW5jbHVkZSA8a3N0cmluZ2hhbmRsZXIuaD4KICNpbmNsdWRlIDxrdGVtcG9yYXJ5Zmls ZS5oPgogI2luY2x1ZGUgPGtpby9jb3B5am9iLmg+CisjaW5jbHVkZSA8a2lvL25ldGFjY2Vzcy5o PgogI2luY2x1ZGUgPGtzdGFuZGFyZGRpcnMuaD4KICNpbmNsdWRlIDxrc3RhbmRhcmRhY3Rpb24u aD4KICNpbmNsdWRlIDxraWNvbmxvYWRlci5oPgogI2luY2x1ZGUgPGtjb2RlY3MuaD4KICNpbmNs dWRlIDxrc3RhbmRhcmRhY3Rpb24uaD4KICNpbmNsdWRlIDxraWNvbi5oPgorI2luY2x1ZGUgPGtp bnB1dGRpYWxvZy5oPgogCiAvLyBLb3BldGUgaW5jbHVkZXMKICNpbmNsdWRlICJjaGF0bWVtYmVy c2xpc3R3aWRnZXQuaCIKQEAgLTEwMCw3ICsxMDIsNyBAQAogCVByaXZhdGUoKQogCSA6IC8qdHQo MEwpLCovIG1hbmFnZXIoMCksIHNjcm9sbFByZXNzZWQoZmFsc2UpLAogCSAgIGNvcHlBY3Rpb24o MCksIHNhdmVBY3Rpb24oMCksIHByaW50QWN0aW9uKDApLAotCSAgIGNsb3NlQWN0aW9uKDApLGNv cHlVUkxBY3Rpb24oMCksIGN1cnJlbnRDaGF0U3R5bGUoMCksCisJICAgY2xvc2VBY3Rpb24oMCks Y29weVVSTEFjdGlvbigwKSwgaW1wb3J0RW1vdGljb25BY3Rpb24oMCksIGN1cnJlbnRDaGF0U3R5 bGUoMCksCiAJICAgbGF0ZXN0RGlyZWN0aW9uKEtvcGV0ZTo6TWVzc2FnZTo6SW5ib3VuZCksIGxh dGVzdFR5cGUoS29wZXRlOjpNZXNzYWdlOjpUeXBlTm9ybWFsKQogCXt9CiAKQEAgLTEyNiw2ICsx MjgsNyBAQAogCUtBY3Rpb24gKnByaW50QWN0aW9uOwogCUtBY3Rpb24gKmNsb3NlQWN0aW9uOwog CUtBY3Rpb24gKmNvcHlVUkxBY3Rpb247CisgICAgS0FjdGlvbiAqaW1wb3J0RW1vdGljb25BY3Rp b247CiAKIAkvLyBXZSBjYW4ndCB1c2UgUVBvaW50ZXIgYmVjYXVzZSBDaGF0V2luZG93U3R5bGUg aXMgbm90IGEgUU9iamVjdAogCUNoYXRXaW5kb3dTdHlsZSAqY3VycmVudENoYXRTdHlsZTsKQEAg LTI0Miw2ICsyNDUsOSBAQAogCWQtPnNhdmVBY3Rpb24gPSBLU3RhbmRhcmRBY3Rpb246OnNhdmVB cyggdGhpcywgU0xPVChzYXZlKCkpLCBhY3Rpb25Db2xsZWN0aW9uKCkgKTsKIAlkLT5wcmludEFj dGlvbiA9IEtTdGFuZGFyZEFjdGlvbjo6cHJpbnQoIHRoaXMsIFNMT1QocHJpbnQoKSksYWN0aW9u Q29sbGVjdGlvbigpICk7CiAJZC0+Y2xvc2VBY3Rpb24gPSBLU3RhbmRhcmRBY3Rpb246OmNsb3Nl KCB0aGlzLCBTTE9UKHNsb3RDbG9zZVZpZXcoKSksYWN0aW9uQ29sbGVjdGlvbigpICk7CisgICAg ZC0+aW1wb3J0RW1vdGljb25BY3Rpb24gPSBuZXcgS0FjdGlvbiggaTE4biggIkltcG9ydCBFbW90 aWNvbiIpLCBhY3Rpb25Db2xsZWN0aW9uKCkgKTsKKyAgICBhY3Rpb25Db2xsZWN0aW9uKCktPmFk ZEFjdGlvbiggImltcG9ydGVtb3QiLCBkLT5pbXBvcnRFbW90aWNvbkFjdGlvbiApOworICAgIGNv bm5lY3QoIGQtPmltcG9ydEVtb3RpY29uQWN0aW9uLCBTSUdOQUwoIHRyaWdnZXJlZChib29sKSAp LCB0aGlzLCBTTE9UKCBzbG90SW1wb3J0RW1vdGljb24oKSApICk7CiAJZC0+Y29weVVSTEFjdGlv biA9IG5ldyBLQWN0aW9uKCBLSWNvbigiZWRpdC1jb3B5IiksIGkxOG4oICJDb3B5IExpbmsgQWRk cmVzcyIgKSwgYWN0aW9uQ29sbGVjdGlvbigpICk7CiAgICAgICAgIGFjdGlvbkNvbGxlY3Rpb24o KS0+YWRkQWN0aW9uKCAiZWRpdGNvcHkiLCBkLT5jb3B5VVJMQWN0aW9uICk7CiAJY29ubmVjdCgg ZC0+Y29weVVSTEFjdGlvbiwgU0lHTkFMKCB0cmlnZ2VyZWQoYm9vbCkgKSwgdGhpcywgU0xPVCgg c2xvdENvcHlVUkwoKSApICk7CkBAIC02NjQsNiArNjcwLDcgQEAKIAkJY2hhdFdpbmRvd1BvcHVw LT5hZGRBY3Rpb24oIGQtPmNvcHlBY3Rpb24gKTsKIAkJY2hhdFdpbmRvd1BvcHVwLT5hZGRBY3Rp b24oIGQtPnNhdmVBY3Rpb24gKTsKIAkJY2hhdFdpbmRvd1BvcHVwLT5hZGRBY3Rpb24oIGQtPnBy aW50QWN0aW9uICk7CisgICAgICAgIGlmKCBkLT5hY3RpdmVFbGVtZW50LnRhZ05hbWUoKS5sb3dl cigpID09ICJpbWciICkgY2hhdFdpbmRvd1BvcHVwLT5hZGRBY3Rpb24oIGQtPmltcG9ydEVtb3Rp Y29uQWN0aW9uICk7CiAJCWNoYXRXaW5kb3dQb3B1cC0+YWRkU2VwYXJhdG9yKCk7CiAJCWNoYXRX aW5kb3dQb3B1cC0+YWRkQWN0aW9uKCBkLT5jbG9zZUFjdGlvbiApOwogCkBAIC0xMTkyLDYgKzEx OTksNTMgQEAKICNlbmRpZgogfQogCit2b2lkIENoYXRNZXNzYWdlUGFydDo6c2xvdEltcG9ydEVt b3RpY29uKCkKK3sKKyAgICBRU3RyaW5nIGVtb3RpY29uU3RyaW5nID0gS0lucHV0RGlhbG9nOjpn ZXRUZXh0KCBpMThuKCJJbXBvcnQgRW1vdGljb24iKSwKKyAgICBpMThuKCI8cXQ+PGltZyBzcmM9 XCIlMVwiPjxicj5JbnNlcnQgdGhlIHN0cmluZyBmb3IgdGhlIGVtb3RpY29uPGJyPnNlcGFyYXRl ZCBieSBzcGFjZSBpZiB5b3Ugd2FudCBtdWx0aXBsZSBzdHJpbmdzPC9xdD4iKS5hcmcoIGQtPmFj dGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCJzcmMiKS5zdHJpbmcoKSApICk7CisgICAgaWYgKGVt b3RpY29uU3RyaW5nLmlzTnVsbCgpICkKKyAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICBR U3RyaW5nIGVtbyA9IGQtPmFjdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCJzcmMiKS5zdHJpbmco KTsKKyAgICBRU3RyaW5nIHRoZW1lTmFtZSA9IEtvcGV0ZTo6QXBwZWFyYW5jZVNldHRpbmdzOjpz ZWxmKCktPmVtb3RpY29uVGhlbWUoKTsKKworICAgIEtJTzo6TmV0QWNjZXNzOjpkaXJjb3B5KEtV cmwoZW1vKSwgS1VybChLR2xvYmFsOjpkaXJzKCktPnNhdmVMb2NhdGlvbiggImVtb3RpY29ucyIs ICB0aGVtZU5hbWUsIGZhbHNlICkpKTsKKworICAgIFFGaWxlICpmcCA9IG5ldyBRRmlsZShLR2xv YmFsOjpkaXJzKCktPnNhdmVMb2NhdGlvbiggImVtb3RpY29ucyIsICB0aGVtZU5hbWUsIGZhbHNl ICkgKyAgIi9lbW90aWNvbnMueG1sIik7CisKKyAgICBRRG9tRG9jdW1lbnQgdGhlbWVYbWw7CisK KyAgICBpZighZnAtPmV4aXN0cygpIHx8ICFmcC0+b3BlbiggSU9fUmVhZE9ubHkgKSB8fCAhdGhl bWVYbWwuc2V0Q29udGVudChmcCkpCisgICAgICAgIHJldHVybjsKKworICAgIGZwLT5jbG9zZSgp OworCisgICAgUURvbU5vZGUgbGMgPSB0aGVtZVhtbC5sYXN0Q2hpbGQoKTsKKyAgICBpZihsYy5p c051bGwoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgUURvbUVsZW1lbnQgZW1vdGljb24gPSB0 aGVtZVhtbC5jcmVhdGVFbGVtZW50KCJlbW90aWNvbiIpOworICAgIGVtb3RpY29uLnNldEF0dHJp YnV0ZSgiZmlsZSIsIFFGaWxlSW5mbyhlbW8pLmJhc2VOYW1lKCkpOworICAgIGxjLmFwcGVuZENo aWxkKGVtb3RpY29uKTsKKyAgICBRU3RyaW5nTGlzdCBzcGxpdHRlZCA9IGVtb3RpY29uU3RyaW5n LnNwbGl0KCIgIik7CisgICAgUVN0cmluZ0xpc3Q6OmNvbnN0X2l0ZXJhdG9yIGNvbnN0SXRlcmF0 b3I7CisgICAgZm9yKGNvbnN0SXRlcmF0b3IgPSBzcGxpdHRlZC5iZWdpbigpOyBjb25zdEl0ZXJh dG9yICE9IHNwbGl0dGVkLmVuZCgpOyBjb25zdEl0ZXJhdG9yKyspCisgICAgeworICAgICAgICBR RG9tRWxlbWVudCBlbW90ZXh0ID0gdGhlbWVYbWwuY3JlYXRlRWxlbWVudCgic3RyaW5nIik7Cisg ICAgICAgIFFEb21UZXh0IHR4dCA9IHRoZW1lWG1sLmNyZWF0ZVRleHROb2RlKCgqY29uc3RJdGVy YXRvcikudHJpbW1lZCgpKTsKKyAgICAgICAgZW1vdGV4dC5hcHBlbmRDaGlsZCh0eHQpOworICAg ICAgICBlbW90aWNvbi5hcHBlbmRDaGlsZChlbW90ZXh0KTsKKyAgICB9CisKKyAgICBpZighZnAt Pm9wZW4oIElPX1dyaXRlT25seSApKQorICAgICAgICByZXR1cm47CisKKyAgICBRVGV4dFN0cmVh bSBlbW9TdHJlYW0oZnApOworICAgIGVtb1N0cmVhbSA8PCB0aGVtZVhtbC50b1N0cmluZyg0KTsK KyAgICBmcC0+Y2xvc2UoKTsKKyAgICBRVGltZXI6OnNpbmdsZVNob3QoIDE1MDAsIEtvcGV0ZTo6 RW1vdGljb25zOjpzZWxmKCksIFNMT1QoIHJlbG9hZCgpICkgKTsKK30KKwogI2luY2x1ZGUgImNo YXRtZXNzYWdlcGFydC5tb2MiCiAKIC8vIHZpbTogc2V0IG5vZXQgdHM9NCBzdHM9NCBzdz00OgpJ bmRleDoga29wZXRlL2NoYXR3aW5kb3cvY2hhdG1lc3NhZ2VwYXJ0LmgKPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g a29wZXRlL2NoYXR3aW5kb3cvY2hhdG1lc3NhZ2VwYXJ0LmgJKHJldmlzaW9uZSA3MDA5NzEpCisr KyBrb3BldGUvY2hhdHdpbmRvdy9jaGF0bWVzc2FnZXBhcnQuaAkoY29waWEgbG9jYWxlKQpAQCAt MTUwLDYgKzE1MCw4IEBACiAJdm9pZCBzbG90Q29weVVSTCgpOwogCiAJdm9pZCBzbG90Q2xvc2VW aWV3KCBib29sIGZvcmNlID0gZmFsc2UgKTsKKyAgICAKKyAgICB2b2lkIHNsb3RJbXBvcnRFbW90 aWNvbigpOwogCiAJLyoqCiAJICogRG8gdGhlIGFjdHVhbCBzdHlsZSBjaGFuZ2UuCkluZGV4OiBs aWJrb3BldGUvcHJpdmF0ZS9rb3BldGVlbW90aWNvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGxpYmtv cGV0ZS9wcml2YXRlL2tvcGV0ZWVtb3RpY29ucy5jcHAJKHJldmlzaW9uZSA3MDA5NzEpCisrKyBs aWJrb3BldGUvcHJpdmF0ZS9rb3BldGVlbW90aWNvbnMuY3BwCShjb3BpYSBsb2NhbGUpCkBAIC01 NDEsNiArNTQxLDEzIEBACiAJcmV0dXJuIHJlc3VsdDsKIH0KIAordm9pZCBFbW90aWNvbnM6OnJl bG9hZCgpCit7CisgICAgZC0+ZW1vdGljb25BbmRQaWNMaXN0LmNsZWFyKCk7CisgICAgZC0+ZW1v dGljb25NYXAuY2xlYXIoKTsKKyAgICBpbml0RW1vdGljb25zKCBLb3BldGU6OkFwcGVhcmFuY2VT ZXR0aW5nczo6c2VsZigpLT5lbW90aWNvblRoZW1lKCkgKTsKK30KKwogfSAvL0VORCBuYW1lc2Fw Y2UgS29wZXRlCiAKICNpbmNsdWRlICJrb3BldGVlbW90aWNvbnMubW9jIgpJbmRleDogbGlia29w ZXRlL3ByaXZhdGUva29wZXRlZW1vdGljb25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gbGlia29wZXRlL3By aXZhdGUva29wZXRlZW1vdGljb25zLmgJKHJldmlzaW9uZSA3MDA5NzEpCisrKyBsaWJrb3BldGUv cHJpdmF0ZS9rb3BldGVlbW90aWNvbnMuaAkoY29waWEgbG9jYWxlKQpAQCAtMTM5LDYgKzEzOSwx MSBAQAogCSAqLwogCVFNYXA8UVN0cmluZywgUVN0cmluZ0xpc3Q+IGVtb3RpY29uQW5kUGljTGlz dCgpOwogCitwdWJsaWMgc2xvdHM6CisgICAgLyoqCisgICAgKiByZWxvYWQgdGhlIGN1cnJlbnQg ZW1vdGljb25zIHRoZW1lCisgICAgKi8KKyAgICB2b2lkIHJlbG9hZCgpOwogCiBwcml2YXRlOgog CS8qKgo= ------=_Part_19190_2349179.1187314432552 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ kopete-devel mailing list kopete-devel@kde.org https://mail.kde.org/mailman/listinfo/kopete-devel ------=_Part_19190_2349179.1187314432552--