From kde-panel-devel Fri Jul 18 12:24:38 2008 From: "=?UTF-8?Q?=C3=89ric_ALBER?=" Date: Fri, 18 Jul 2008 12:24:38 +0000 To: kde-panel-devel Subject: Re: [PATCH] Picture navigation for the frame plasmoid Message-Id: <676e80e0807180524g29df3532s824bc1fd18ac3f14 () mail ! gmail ! com> X-MARC-Message: https://marc.info/?l=kde-panel-devel&m=121638392217942 MIME-Version: 1 Content-Type: multipart/mixed; boundary="------=_Part_27398_23169914.1216383878223" ------=_Part_27398_23169914.1216383878223 Content-Type: multipart/alternative; boundary="----=_Part_27399_7768679.1216383878223" ------=_Part_27399_7768679.1216383878223 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 Content-Disposition: inline SGkKCkkgdXBkYXRlZCBhIGJpdCB0aGUgcGF0Y2g6Ck5vdyB0aGUgW1ByZXZpb3VzXSBbTmV4dF0g bGFiZWxzIGFyZSBib3RoIHNob3duIGFuZCB0aGUgYWN0aXZlIG9uZSBpcwpoaWdobGlnaHRlZC4g TWF5YmUgdGhpcyBpcyBhIGxlc3MgY29uZnVzaW5nIGJlaGF2aW9yLgoKVGVsbCBtZSBpZiB0aGlz IGlzIG1vcmUgYWNjZXB0YWJsZSBmcm9tIGFuIGVyZ29ub21pYyBwb2ludCBvZiB2aWV3IG9yIGlm CmFub3RoZXIgZGlyZWN0aW9uIHNob3VsZCBiZSB0YWtlbi4KClJlZ2FyZHMsCgpFcmljCgoyMDA4 LzcvMTYgQWFyb24gSi4gU2VpZ28gPGFzZWlnb0BrZGUub3JnPjoKCj4gT24gV2VkbmVzZGF5IDE2 IEp1bHkgMjAwOCwgw4lyaWMgQUxCRVIgd3JvdGU6Cj4gPiBBYXJvbj4KPiA+IEp1c3QgYSBwb2lu dCBvbiBQbGFzbTo6UGFpbnRVdGlsczo6c2hhZG93VGV4dCwgSSB0ZXN0ZWQgdGhlIG1ldGhvZCBi dXQgaXQKPiA+IGRvZXNuJ3QgY2VudGVyIHRoZSB0ZXh0IGhvcml6b250YWxseSBhbmQgdmVydGlj YWxseSBpbiB0aGUgZ2VuZXJhdGVkCj4gPiBwaXhtYXAsIHNvIGlmIEkgdXNlIGl0LCB0aGUgdGV4 dCBpcyBub3QgY2VudGVyZWQgaW4gdGhlIGxhYmVscy4KPgo+IHRoZSB0ZXh0IGlzIG9mZnNldCBi eSB0aGUgc2hhZG93IG9mZnNldCwgb2J2aW91c2x5ID0pCj4KPiAtLQo+IEFhcm9uIEouIFNlaWdv Cj4gaHVtcnUgb3Rocm8gYSBrb2hudSBzZQo+IEdQRyBGaW5nZXJwcmludDogOEI4QiAyMjA5IDBD NkYgN0M0NyBCMUVBICBFRTc1IEQ2QjcgMkVCMSBBN0YxIERCNDMKPgo+IEtERSBjb3JlIGRldmVs b3BlciBzcG9uc29yZWQgYnkgVHJvbGx0ZWNoCj4KPgo+IF9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCj4gUGFuZWwtZGV2ZWwgbWFpbGluZyBsaXN0Cj4gUGFu ZWwtZGV2ZWxAa2RlLm9yZwo+IGh0dHBzOi8vbWFpbC5rZGUub3JnL21haWxtYW4vbGlzdGluZm8v cGFuZWwtZGV2ZWwKPgo+Cg== ------=_Part_27399_7768679.1216383878223 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: base64 Content-Disposition: inline PGRpdiBkaXI9Imx0ciI+SGk8YnI+PGJyPkkgdXBkYXRlZCBhIGJpdCB0aGUgcGF0Y2g6PGJyPk5v dyB0aGUgW1ByZXZpb3VzXSBbTmV4dF0gbGFiZWxzIGFyZSBib3RoIHNob3duIGFuZCB0aGUgYWN0 aXZlIG9uZSBpcyBoaWdobGlnaHRlZC4gTWF5YmUgdGhpcyBpcyBhIGxlc3MgY29uZnVzaW5nIGJl aGF2aW9yLjxicj48YnI+VGVsbCBtZSBpZiB0aGlzIGlzIG1vcmUgYWNjZXB0YWJsZSBmcm9tIGFu IGVyZ29ub21pYyBwb2ludCBvZiB2aWV3IG9yIGlmIGFub3RoZXIgZGlyZWN0aW9uIHNob3VsZCBi ZSB0YWtlbi48YnI+Cjxicj5SZWdhcmRzLDxicj48YnI+RXJpYzxicj48YnI+PGRpdiBjbGFzcz0i Z21haWxfcXVvdGUiPjIwMDgvNy8xNiBBYXJvbiBKLiBTZWlnbyAmbHQ7PGEgaHJlZj0ibWFpbHRv OmFzZWlnb0BrZGUub3JnIj5hc2VpZ29Aa2RlLm9yZzwvYT4mZ3Q7Ojxicj48YmxvY2txdW90ZSBj bGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYigyMDQs IDIwNCwgMjA0KTsgbWFyZ2luOiAwcHQgMHB0IDBwdCAwLjhleDsgcGFkZGluZy1sZWZ0OiAxZXg7 Ij4KPGRpdiBjbGFzcz0iSWgyRTNkIj5PbiBXZWRuZXNkYXkgMTYgSnVseSAyMDA4LCDDiXJpYyBB TEJFUiB3cm90ZTo8YnI+CiZndDsgQWFyb24mZ3Q7PGJyPgomZ3Q7IEp1c3QgYSBwb2ludCBvbiBQ bGFzbTo6UGFpbnRVdGlsczo6c2hhZG93VGV4dCwgSSB0ZXN0ZWQgdGhlIG1ldGhvZCBidXQgaXQ8 YnI+CiZndDsgZG9lc24mIzM5O3QgY2VudGVyIHRoZSB0ZXh0IGhvcml6b250YWxseSBhbmQgdmVy dGljYWxseSBpbiB0aGUgZ2VuZXJhdGVkPGJyPgomZ3Q7IHBpeG1hcCwgc28gaWYgSSB1c2UgaXQs IHRoZSB0ZXh0IGlzIG5vdCBjZW50ZXJlZCBpbiB0aGUgbGFiZWxzLjxicj4KPGJyPgo8L2Rpdj50 aGUgdGV4dCBpcyBvZmZzZXQgYnkgdGhlIHNoYWRvdyBvZmZzZXQsIG9idmlvdXNseSA9KTxicj4K PGRpdj48ZGl2PjwvZGl2PjxkaXYgY2xhc3M9IldqM0M3YyI+PGJyPgotLTxicj4KQWFyb24gSi4g U2VpZ288YnI+Cmh1bXJ1IG90aHJvIGEga29obnUgc2U8YnI+CkdQRyBGaW5nZXJwcmludDogOEI4 QiAyMjA5IDBDNkYgN0M0NyBCMUVBICZuYnNwO0VFNzUgRDZCNyAyRUIxIEE3RjEgREI0Mzxicj4K PGJyPgpLREUgY29yZSBkZXZlbG9wZXIgc3BvbnNvcmVkIGJ5IFRyb2xsdGVjaDxicj4KPGJyPgo8 L2Rpdj48L2Rpdj48YnI+X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX188YnI+ClBhbmVsLWRldmVsIG1haWxpbmcgbGlzdDxicj4KPGEgaHJlZj0ibWFpbHRvOlBh bmVsLWRldmVsQGtkZS5vcmciPlBhbmVsLWRldmVsQGtkZS5vcmc8L2E+PGJyPgo8YSBocmVmPSJo dHRwczovL21haWwua2RlLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3BhbmVsLWRldmVsIiB0YXJnZXQ9 Il9ibGFuayI+aHR0cHM6Ly9tYWlsLmtkZS5vcmcvbWFpbG1hbi9saXN0aW5mby9wYW5lbC1kZXZl bDwvYT48YnI+Cjxicj48L2Jsb2NrcXVvdGU+PC9kaXY+PGJyPjwvZGl2Pgo= ------=_Part_27399_7768679.1216383878223-- ------=_Part_27398_23169914.1216383878223 Content-Type: text/x-patch; name=frame-browsing.patch Content-Transfer-Encoding: base64 X-Attachment-Id: f_fisrh0vq1 Content-Disposition: attachment; filename=frame-browsing.patch SW5kZXg6IGFwcGxldHMvZnJhbWUvZnJhbWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBhcHBsZXRzL2ZyYW1l L2ZyYW1lLmgJKHLDqXZpc2lvbiA4MzQxMzgpCisrKyBhcHBsZXRzL2ZyYW1lL2ZyYW1lLmgJKGNv cGllIGRlIHRyYXZhaWwpCkBAIC01MCwyOSArNTAsMzcgQEAKIAogICAgIHB1YmxpYyBzbG90czoK ICAgICAgICAgdm9pZCBjcmVhdGVDb25maWd1cmF0aW9uSW50ZXJmYWNlKCBLQ29uZmlnRGlhbG9n ICpwYXJlbnQgKTsKLQl2b2lkIGRhdGFVcGRhdGVkKCBjb25zdCBRU3RyaW5nICZuYW1lLCBjb25z dCBQbGFzbWE6OkRhdGFFbmdpbmU6OkRhdGEgJmRhdGEgKTsKKyAgICAgICAgdm9pZCBkYXRhVXBk YXRlZCggY29uc3QgUVN0cmluZyAmbmFtZSwgY29uc3QgUGxhc21hOjpEYXRhRW5naW5lOjpEYXRh ICZkYXRhICk7CiAKICAgICBwcm90ZWN0ZWQgUV9TTE9UUzoKICAgICAgICAgdm9pZCBkcm9wRXZl bnQoUUdyYXBoaWNzU2NlbmVEcmFnRHJvcEV2ZW50ICpldmVudCk7CiAgICAgICAgIHZvaWQgZHJh Z0VudGVyRXZlbnQoUUdyYXBoaWNzU2NlbmVEcmFnRHJvcEV2ZW50ICpldmVudCk7CiAgICAgICAg IHZvaWQgY29uZmlnQWNjZXB0ZWQoKTsKLSAgICAgICAgdm9pZCB1cGRhdGVQaWN0dXJlKCk7Cisg ICAgICAgIHZvaWQgbmV4dFBpY3R1cmUoKTsKKyAgICAgICAgdm9pZCBwcmV2aW91c1BpY3R1cmUo KTsKIAogICAgIHByaXZhdGUgUV9TTE9UUzoKICAgICAgICAgdm9pZCBhZGREaXIoKTsKICAgICAg ICAgdm9pZCByZW1vdmVEaXIoKTsKKyAgICAgICAgdm9pZCBkaXNwbGF5QnJvd3NlTGFiZWxzKCk7 CisgICAgICAgIHZvaWQgdXBkYXRlTGFiZWxzU2l6ZSgpOwogCiAgICAgcHJvdGVjdGVkOgogICAg ICAgICB2b2lkIGNvbnN0cmFpbnRzRXZlbnQoUGxhc21hOjpDb25zdHJhaW50cyBjb25zdHJhaW50 cyk7CisgICAgICAgIHZpcnR1YWwgdm9pZCBob3ZlckVudGVyRXZlbnQoUUdyYXBoaWNzU2NlbmVI b3ZlckV2ZW50KiBldmVudCk7CisgICAgICAgIHZpcnR1YWwgdm9pZCBob3ZlckxlYXZlRXZlbnQo UUdyYXBoaWNzU2NlbmVIb3ZlckV2ZW50KiBldmVudCk7CisgICAgICAgIHZpcnR1YWwgdm9pZCBo b3Zlck1vdmVFdmVudChRR3JhcGhpY3NTY2VuZUhvdmVyRXZlbnQqIGV2ZW50KTsKKyAgICAgICAg dmlydHVhbCB2b2lkIG1vdXNlUHJlc3NFdmVudChRR3JhcGhpY3NTY2VuZU1vdXNlRXZlbnQgKmV2 ZW50KTsKIAogICAgIHByaXZhdGU6CiAgICAgICAgIHZvaWQgcGFpbnRDYWNoZShjb25zdCBRU3R5 bGVPcHRpb25HcmFwaGljc0l0ZW0gKm9wdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgIGNv bnN0IFFTaXplICZjb250ZW50c1NpemUpOwogICAgICAgICB2b2lkIGluaXRTbGlkZVNob3coKTsK KyAgICAgICAgdm9pZCBwYWludExhYmVsKFFQYWludGVyKiBwLCBpbnQgeCwgaW50IHksIGNvbnN0 IFFTdHJpbmcmIHRleHQsIGJvb2wgaGlnaGxpZ2h0KSBjb25zdDsKIAogICAgICAgICAvLy8gVGhl IGN1cnJlbnQgY29sb3Igb2YgdGhlIGZyYW1lCiAgICAgICAgIFFDb2xvciBtX2ZyYW1lQ29sb3I7 Ci0JLy8vIENvbmZpZ3VyYXRpb24gZGlhbG9nCisgICAgICAgIC8vLyBDb25maWd1cmF0aW9uIGRp YWxvZwogICAgICAgICBDb25maWdEaWFsb2cgKm1fY29uZmlnRGlhbG9nOyAKICAgICAgICAgLy8v IHRydWUgaWYgdGhlIHVzZXIgd2FudHMgYSBmcmFtZS4gSWYgZmFsc2UsIHRoZXJlJ3Mgb25seSB0 aGUgYmxhY2sgYm9yZGVyIGFyb3VuZCB0aGUgcGljdHVyZQogICAgICAgICBib29sIG1fZnJhbWU7 CkBAIC04Miw5ICs5MCw5IEBACiAgICAgICAgIGJvb2wgbV9zbW9vdGhTY2FsaW5nOwogICAgICAg ICAvLy8gSWYgdHJ1ZSwgdGhlIHBpY3R1cmUgd2lsbCBoYXZlIGEgZHJvcCBzaGFkb3cuCiAgICAg ICAgIGJvb2wgbV9zaGFkb3c7Ci0JLy8vIFBvVEQKLQlRU3RyaW5nIG1fcG90ZFByb3ZpZGVyOwot CWJvb2wgbV9wb3RkOworICAgICAgICAvLy8gUG9URAorICAgICAgICBRU3RyaW5nIG1fcG90ZFBy b3ZpZGVyOworICAgICAgICBib29sIG1fcG90ZDsKICAgICAgICAgLy8vIFN0b3JlcyB0aGUgY3Vy cmVudCBwaWN0dXJlIFVSTCB3aGVuIHNsaWRlU2hvdyBpcyBmYWxzZS4gV2lraXBlZGlhIFBpY3R1 cmUgb2YgdGhlIERheSBpcyBkZWZhdWx0LgogICAgICAgICBLVXJsIG1fY3VycmVudFVybDsKICAg ICAgICAgLy8vIFRoZSBjdXJyZW50IHNsaWRlc2hvdyBmb2xkZXIKQEAgLTEwNCw2ICsxMTIsMTQg QEAKICAgICAgICAgYm9vbCBtX3JhbmRvbTsKICAgICAgICAgYm9vbCBtX3JlY3Vyc2l2ZVNsaWRl U2hvdzsKICAgICAgICAgU2xpZGVTaG93KiBtX215U2xpZGVTaG93OworICAgICAgICAvLy8gRmxh ZyBzZXQgdG8gdHJ1ZSBpZiB0aGUgIlByZXZpb3VzIiBsYWJlbCBtdXN0IGJlIGRpc3BsYXllZAor ICAgICAgICBib29sIG1faGlnaGxpZ2h0UHJldmlvdXNMYWJlbDsKKyAgICAgICAgLy8vIEZsYWcg c2V0IHRvIHRydWUgaWYgdGhlICJOZXh0IiBsYWJlbCBtdXN0IGJlIGRpc3BsYXllZAorICAgICAg ICBib29sIG1faGlnaGxpZ2h0TmV4dExhYmVsOworICAgICAgICAvLy8gVGltZXIgdXNlZCB0byBk ZWxheSBsYWJlbHMgZGlzcGxheSBhZnRlciB0aGUgbW91c2UgY3Vyc29yIGVudGVycyB0aGUgcGxh c21vaWQuCisgICAgICAgIFFUaW1lciogbV9kaXNwbGF5TGFiZWxzVGltZXI7CisgICAgICAgIC8v LyBOZXh0IC8gUHJldmlvdXMgbGFiZWwgc2l6ZQorICAgICAgICBRU2l6ZSBtX2xhYmVsU2l6ZTsK IH07CiAKIEtfRVhQT1JUX1BMQVNNQV9BUFBMRVQoZnJhbWUsIEZyYW1lKQpJbmRleDogYXBwbGV0 cy9mcmFtZS9zbGlkZXNob3cuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGFwcGxldHMvZnJhbWUvc2xpZGVz aG93LmNwcAkocsOpdmlzaW9uIDgzNDEzOCkKKysrIGFwcGxldHMvZnJhbWUvc2xpZGVzaG93LmNw cAkoY29waWUgZGUgdHJhdmFpbCkKQEAgLTIzLDE0ICsyMywxMyBAQAogCiAjaW5jbHVkZSAicGlj dHVyZS5oIgogI2luY2x1ZGUgInNsaWRlc2hvdy5oIgotI2luY2x1ZGUgPHN0ZGxpYi5oPgogCiBT bGlkZVNob3c6OlNsaWRlU2hvdygpCiB7CiAgICAgbV9maWx0ZXJzIDw8ICIqLmpwZWciIDw8ICIq LmpwZyIgPDwgIioucG5nIiA8PCAiKi5zdmciIDw8ICIqLnN2Z3oiOyAvLyB1c2UgbWltZSB0eXBl cz8KICAgICBtX3NsaWRlTnVtYmVyID0gMDsKLSAgICB1c2VSYW5kb20gPSBmYWxzZTsKLSAgICBy YW5kb21JbnQgPSAwOworICAgIG1fdXNlUmFuZG9tID0gZmFsc2U7CisgICAgbV9yYW5kb21JbnQg PSAwOwogfQogCiBTbGlkZVNob3c6On5TbGlkZVNob3coKQpAQCAtMzksNyArMzgsNyBAQAogCiB2 b2lkIFNsaWRlU2hvdzo6c2V0UmFuZG9tKGJvb2wgdG1wKQogewotCXVzZVJhbmRvbSA9IHRtcDsK KyAgICBtX3VzZVJhbmRvbSA9IHRtcDsKIH0KIAogdm9pZCBTbGlkZVNob3c6OnNldERpcnMoY29u c3QgUVN0cmluZ0xpc3QgJnNsaWRlU2hvd1BhdGgsIGJvb2wgcmVjdXJzaXZlKQpAQCAtNjMsNyAr NjIsNyBAQAogdm9pZCBTbGlkZVNob3c6OmFkZEltYWdlKGNvbnN0IFFTdHJpbmcgJmltYWdlUGF0 aCkKIHsKICAgICBpZiAoIW1fcGljdHVyZXMuY29udGFpbnMoaW1hZ2VQYXRoKSkgewotCSAgICBt X3BpY3R1cmVzLmFwcGVuZChpbWFnZVBhdGgpOworICAgICAgICBtX3BpY3R1cmVzLmFwcGVuZChp bWFnZVBhdGgpOwogICAgIH0KIH0KIApAQCAtNzMsMTggKzcyLDE5IEBACiAKICAgICBkaXIuc2V0 TmFtZUZpbHRlcnMobV9maWx0ZXJzKTsKICAgICBpZiAoZGlyLmVudHJ5TGlzdCgpLmlzRW1wdHko KSkgIHsKLQkvL1RPRE8gcmVtb3ZlIHRoZSBwYXRoIGZyb20gdGhlIGxpc3QKLQlyZXR1cm47Cisg ICAgLy9UT0RPIHJlbW92ZSB0aGUgcGF0aCBmcm9tIHRoZSBsaXN0CisgICAgcmV0dXJuOwogICAg IH0KICAgICBmb3JlYWNoIChjb25zdCBRU3RyaW5nICZpbWFnZUZpbGUsIGRpci5lbnRyeUxpc3Qo UURpcjo6RmlsZXMpKSB7Ci0JICAgIGFkZEltYWdlKHBhdGggKyAiLyIgKyBpbWFnZUZpbGUpOwor ICAgICAgICBhZGRJbWFnZShwYXRoICsgIi8iICsgaW1hZ2VGaWxlKTsKICAgICB9CiAgICAgS1Jh bmRvbVNlcXVlbmNlIHJhbmRvbVNlcXVlbmNlOwotICAgIGluZGV4TGlzdC5jbGVhcigpOworICAg IG1faW5kZXhMaXN0LmNsZWFyKCk7CiAgICAgLy9nZXQgdGhlIG51bWJlciBvZiBzb3VuZHMgdGhl biBzaHVmZmxlIGl0OiBlYWNoIG51bWJlciB3aWxsIGJlIHRha2VuIG9uY2UgdGhlbiB0aGUgc2Vx dWVuY2Ugd2lsbCBjb21lIGJhY2sKLSAgICBmb3IgKHVpbnQgaiA9IDA7IGogPCBtX3BpY3R1cmVz LmNvdW50KCk7IGorKykgCi0JaW5kZXhMaXN0LmFwcGVuZChqKTsKLSAgICByYW5kb21TZXF1ZW5j ZS5yYW5kb21pemUoaW5kZXhMaXN0KTsKKyAgICBmb3IgKGludCBqID0gMDsgaiA8IG1fcGljdHVy ZXMuY291bnQoKTsgaisrKSB7CisgICAgICAgIG1faW5kZXhMaXN0LmFwcGVuZChqKTsKKyAgICB9 CisgICAgcmFuZG9tU2VxdWVuY2UucmFuZG9taXplKG1faW5kZXhMaXN0KTsKIH0KIAogdm9pZCBT bGlkZVNob3c6OmFkZFJlY3Vyc2l2ZURpcihjb25zdCBRU3RyaW5nICZwYXRoKQpAQCAtOTcsMjgg Kzk3LDM0IEBACiAgICAgfQogfQogCi1RSW1hZ2UgU2xpZGVTaG93OjpnZXRJbWFnZSgpIAorUUlt YWdlIFNsaWRlU2hvdzo6bmV4dEltYWdlKCkgCiB7Ci0gICAgS1VybCB1cmwgPSBnZXRVcmwoKTsK KyAgICBLVXJsIHVybCA9IGdldFVybCgxKTsKICAgICBQaWN0dXJlIG15UGljdHVyZTsKICAgICBy ZXR1cm4gbXlQaWN0dXJlLnNldFBpY3R1cmUodXJsKTsKIH0KIAotS1VybCBTbGlkZVNob3c6Omdl dFVybCgpIAorUUltYWdlIFNsaWRlU2hvdzo6cHJldmlvdXNJbWFnZSgpCiB7CisgICAgS1VybCB1 cmwgPSBnZXRVcmwoLTEpOworICAgIFBpY3R1cmUgbXlQaWN0dXJlOworICAgIHJldHVybiBteVBp Y3R1cmUuc2V0UGljdHVyZSh1cmwpOworfQorCitLVXJsIFNsaWRlU2hvdzo6Z2V0VXJsKGludCBk ZWx0YSkKK3sKICAgICBpZiAoIW1fcGljdHVyZXMuaXNFbXB0eSgpKSB7Ci0KLQkgICAgaW50IGlu ZGV4ID0gLTE7Ci0JICAgIGlmKHVzZVJhbmRvbSkgewotCQkgICAgcmFuZG9tSW50Kys7Ci0JCSAg ICBpbmRleCA9IGluZGV4TGlzdFtyYW5kb21JbnQlbV9waWN0dXJlcy5jb3VudCgpXTsKLQkJICAg IGtEZWJ1ZygpIDw8ICJSYW5kb20gd2FzIHNlbGVjdGVkIGFuZCB0aGUgaW5kZXggd2FzOiAiIDw8 IGluZGV4IDw8ICIgb3V0IG9mICIgPDwgbV9waWN0dXJlcy5jb3VudCgpIDw8ICIgaW1hZ2VzIiA8 PCBlbmRsOwotCSAgICB9IGVsc2UgewotCQkgICAgaW5kZXggPSBtX3NsaWRlTnVtYmVyKysgJSBt X3BpY3R1cmVzLmNvdW50KCk7Ci0JICAgIH0KLQotCSAgICByZXR1cm4gS1VybChtX3BpY3R1cmVz LmF0KGluZGV4KSk7CisgICAgICAgIGludCBpbmRleCA9IC0xOworICAgICAgICBpZihtX3VzZVJh bmRvbSkgeworICAgICAgICAgICAgbV9yYW5kb21JbnQgKz0gZGVsdGE7CisgICAgICAgICAgICBp bmRleCA9IG1faW5kZXhMaXN0W21fcmFuZG9tSW50ICUgbV9waWN0dXJlcy5jb3VudCgpXTsKKyAg ICAgICAgICAgIGtEZWJ1ZygpIDw8ICJSYW5kb20gd2FzIHNlbGVjdGVkIGFuZCB0aGUgaW5kZXgg d2FzOiAiIDw8IGluZGV4IDw8ICIgb3V0IG9mICIgPDwgbV9waWN0dXJlcy5jb3VudCgpIDw8ICIg aW1hZ2VzIiA8PCBlbmRsOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgbV9zbGlkZU51 bWJlciArPSBkZWx0YTsKKyAgICAgICAgICAgIGluZGV4ID0gbV9zbGlkZU51bWJlciAlIG1fcGlj dHVyZXMuY291bnQoKTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gS1VybChtX3BpY3R1cmVz LmF0KGluZGV4KSk7CiAgICAgfSBlbHNlIHsKLQkgICAgcmV0dXJuIEtVcmwoIkRlZmF1bHQiKTsK KyAgICAgICAgcmV0dXJuIEtVcmwoIkRlZmF1bHQiKTsKICAgICB9CiB9CkluZGV4OiBhcHBsZXRz L2ZyYW1lL3NsaWRlc2hvdy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGFwcGxldHMvZnJhbWUvc2xpZGVzaG93 LmgJKHLDqXZpc2lvbiA4MzQxMzgpCisrKyBhcHBsZXRzL2ZyYW1lL3NsaWRlc2hvdy5oCShjb3Bp ZSBkZSB0cmF2YWlsKQpAQCAtMjMsMzUgKzIzLDMzIEBACiAjaW5jbHVkZSA8UVN0cmluZz4KICNp bmNsdWRlIDxRU3RyaW5nTGlzdD4KICNpbmNsdWRlIDxRSW1hZ2U+Ci0jaW5jbHVkZSA8bWF0aC5o PgotI2luY2x1ZGUgPGlvc3RyZWFtPgogCiBjbGFzcyBLVXJsOwogCiBjbGFzcyBTbGlkZVNob3cK IHsKLQlwdWJsaWM6Ci0JCVNsaWRlU2hvdygpOwotCQl+U2xpZGVTaG93KCk7Ci0JCQotCQl2b2lk IHNldERpcnMoY29uc3QgUVN0cmluZ0xpc3QgJnNsaWRlU2hvd1BhdGhzLCBib29sIHJlY3Vyc2l2 ZSA9IGZhbHNlKTsKLQkJdm9pZCBzZXRJbWFnZShjb25zdCBRU3RyaW5nICZpbWFnZVBhdGgpOwot CQl2b2lkIHNldFJhbmRvbShib29sKTsKLQkJUUltYWdlIGdldEltYWdlKCk7Ci0JCQotCXByaXZh dGU6Ci0JCVFTdHJpbmdMaXN0IG1fcGljdHVyZXM7Ci0JCVFTdHJpbmdMaXN0IG1fZmlsdGVyczsK LQkJaW50IG1fc2xpZGVOdW1iZXI7Ci0JCWJvb2wgdXNlUmFuZG9tOwotCQkKLQkJdm9pZCBhZGRJ bWFnZShjb25zdCBRU3RyaW5nICZpbWFnZVBhdGgpOwotCQl2b2lkIGFkZERpcihjb25zdCBRU3Ry aW5nICZwYXRoKTsKLQkJdm9pZCBhZGRSZWN1cnNpdmVEaXIoY29uc3QgUVN0cmluZyAmcGF0aCk7 Ci0JCUtVcmwgZ2V0VXJsKCk7Ci0JCVFMaXN0PGludD4gaW5kZXhMaXN0OwotCQlpbnQgcmFuZG9t SW50OworICAgIHB1YmxpYzoKKyAgICAgICAgU2xpZGVTaG93KCk7CisgICAgICAgIH5TbGlkZVNo b3coKTsKKyAgICAKKyAgICAgICAgdm9pZCBzZXREaXJzKGNvbnN0IFFTdHJpbmdMaXN0ICZzbGlk ZVNob3dQYXRocywgYm9vbCByZWN1cnNpdmUgPSBmYWxzZSk7CisgICAgICAgIHZvaWQgc2V0SW1h Z2UoY29uc3QgUVN0cmluZyAmaW1hZ2VQYXRoKTsKKyAgICAgICAgdm9pZCBzZXRSYW5kb20oYm9v bCk7CisgICAgICAgIFFJbWFnZSBuZXh0SW1hZ2UoKTsKKyAgICAgICAgUUltYWdlIHByZXZpb3Vz SW1hZ2UoKTsKKyAgICAKKyAgICBwcml2YXRlOgorICAgICAgICB2b2lkIGFkZEltYWdlKGNvbnN0 IFFTdHJpbmcgJmltYWdlUGF0aCk7CisgICAgICAgIHZvaWQgYWRkRGlyKGNvbnN0IFFTdHJpbmcg JnBhdGgpOworICAgICAgICB2b2lkIGFkZFJlY3Vyc2l2ZURpcihjb25zdCBRU3RyaW5nICZwYXRo KTsKKyAgICAgICAgS1VybCBnZXRVcmwoaW50IGRlbHRhKTsKIAorICAgICAgICBRU3RyaW5nTGlz dCBtX3BpY3R1cmVzOworICAgICAgICBRU3RyaW5nTGlzdCBtX2ZpbHRlcnM7CisgICAgICAgIHVp bnQgbV9zbGlkZU51bWJlcjsKKyAgICAgICAgYm9vbCBtX3VzZVJhbmRvbTsKKyAgICAgICAgUUxp c3Q8aW50PiBtX2luZGV4TGlzdDsKKyAgICAgICAgdWludCBtX3JhbmRvbUludDsKIH07CiAKICNl bmRpZiAvKlNMSURFU0hPV19IXyovCkluZGV4OiBhcHBsZXRzL2ZyYW1lL2ZyYW1lLmNwcAo9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLSBhcHBsZXRzL2ZyYW1lL2ZyYW1lLmNwcAkocsOpdmlzaW9uIDgzNDEzOCkKKysr IGFwcGxldHMvZnJhbWUvZnJhbWUuY3BwCShjb3BpZSBkZSB0cmF2YWlsKQpAQCAtNDcsNyArNDcs MjQgQEAKIAogRnJhbWU6OkZyYW1lKFFPYmplY3QgKnBhcmVudCwgY29uc3QgUVZhcmlhbnRMaXN0 ICZhcmdzKQogICAgIDogUGxhc21hOjpBcHBsZXQocGFyZW50LCBhcmdzKSwKLSAgICAgIG1fY29u ZmlnRGlhbG9nKCAwICkKKyAgICAgIG1fY29uZmlnRGlhbG9nKE5VTEwpLAorICAgICAgbV9mcmFt ZShmYWxzZSksCisgICAgICBtX3JvdW5kQ29ybmVycyhmYWxzZSksCisgICAgICBtX3Ntb290aFNj YWxpbmcoZmFsc2UpLAorICAgICAgbV9zaGFkb3coZmFsc2UpLAorICAgICAgbV9wb3RkKGZhbHNl KSwKKyAgICAgIG1fc2xpZGVOdW1iZXIoMCksCisgICAgICBtX3NsaWRlU2hvd1RpbWVyKE5VTEwp LAorICAgICAgbV9zbGlkZXNob3dUaW1lKDApLAorICAgICAgbV9mcmFtZU91dGxpbmUoMCksCisg ICAgICBtX3N3T3V0bGluZSgwKSwKKyAgICAgIG1fc2xpZGVTaG93KGZhbHNlKSwKKyAgICAgIG1f cmFuZG9tKGZhbHNlKSwKKyAgICAgIG1fcmVjdXJzaXZlU2xpZGVTaG93KGZhbHNlKSwKKyAgICAg IG1fbXlTbGlkZVNob3coTlVMTCksCisgICAgICBtX2hpZ2hsaWdodFByZXZpb3VzTGFiZWwoZmFs c2UpLAorICAgICAgbV9oaWdobGlnaHROZXh0TGFiZWwoZmFsc2UpLAorICAgICAgbV9kaXNwbGF5 TGFiZWxzVGltZXIoTlVMTCkKIHsKICAgICBzZXRIYXNDb25maWd1cmF0aW9uSW50ZXJmYWNlKHRy dWUpOwogICAgIHNldEFjY2VwdERyb3BzKHRydWUpOwpAQCAtNjAsNiArNzcsMTQgQEAKICAgICB9 IGVsc2UgewogICAgICAgICBtX2N1cnJlbnRVcmwgPSBLVXJsKCJEZWZhdWx0Iik7CiAgICAgfQor CisgICAgdXBkYXRlTGFiZWxzU2l6ZSgpOworICAgIGNvbm5lY3QoUGxhc21hOjpUaGVtZTo6ZGVm YXVsdFRoZW1lKCksIFNJR05BTCh0aGVtZUNoYW5nZWQoKSksIHRoaXMsIFNMT1QodXBkYXRlTGFi ZWxzU2l6ZSgpKSk7CisKKyAgICBtX2Rpc3BsYXlMYWJlbHNUaW1lciA9IG5ldyBRVGltZXIodGhp cyk7CisgICAgbV9kaXNwbGF5TGFiZWxzVGltZXItPnNldEludGVydmFsKDgwMCk7CisgICAgbV9k aXNwbGF5TGFiZWxzVGltZXItPnNldFNpbmdsZVNob3QodHJ1ZSk7CisgICAgY29ubmVjdChtX2Rp c3BsYXlMYWJlbHNUaW1lciwgU0lHTkFMKHRpbWVvdXQoKSksIHRoaXMsIFNMT1QoZGlzcGxheUJy b3dzZUxhYmVscygpKSk7CiB9CiAKIEZyYW1lOjp+RnJhbWUoKQpAQCAtNjksMTUgKzk0LDE3IEBA CiAKIHZvaWQgRnJhbWU6OmRhdGFVcGRhdGVkKCBjb25zdCBRU3RyaW5nICZuYW1lLCBjb25zdCBQ bGFzbWE6OkRhdGFFbmdpbmU6OkRhdGEgJmRhdGEgKQogeworICAgIFFfVU5VU0VEKG5hbWUpOwor CiAgICAgUURhdGUgbUN1cnJlbnREYXRlID0gUURhdGU6OmN1cnJlbnREYXRlKCk7CiAgICAgY29u c3QgUVN0cmluZyBpZGVudGlmaWVyID0gbV9wb3RkUHJvdmlkZXIgKyAnOicgKyBtQ3VycmVudERh dGUudG9TdHJpbmcoIFF0OjpJU09EYXRlICk7CiAKICAgICBRSW1hZ2UgX3BpY3R1cmUgPSBkYXRh WyBpZGVudGlmaWVyIF0udmFsdWU8UUltYWdlPigpOwogICAgIAogICAgIGlmICggIV9waWN0dXJl LmlzTnVsbCgpICkgewotCW1fcGljdHVyZSA9IF9waWN0dXJlOwotCXJlc2l6ZShjb250ZW50U2l6 ZUhpbnQoKSk7Ci0JbV9waXhtYXBDYWNoZSA9IFFQaXhtYXAoKTsKKyAgICBtX3BpY3R1cmUgPSBf cGljdHVyZTsKKyAgICByZXNpemUoY29udGVudFNpemVIaW50KCkpOworICAgIG1fcGl4bWFwQ2Fj aGUgPSBRUGl4bWFwKCk7CiAgICAgICAgIHByZXBhcmVHZW9tZXRyeUNoYW5nZSgpOwogICAgICAg ICB1cGRhdGVHZW9tZXRyeSgpOwogICAgICAgICB1cGRhdGUoKTsKQEAgLTExNCw3ICsxNDEsNyBA QAogCiAgICAgLy8gSW5pdGlhbGl6ZSB0aGUgc2xpZGVzaG93IHRpbWVyCiAgICAgbV9zbGlkZVNo b3dUaW1lciA9IG5ldyBRVGltZXIodGhpcyk7Ci0gICAgY29ubmVjdChtX3NsaWRlU2hvd1RpbWVy LCBTSUdOQUwodGltZW91dCgpKSwgdGhpcywgU0xPVCh1cGRhdGVQaWN0dXJlKCkpKTsKKyAgICBj b25uZWN0KG1fc2xpZGVTaG93VGltZXIsIFNJR05BTCh0aW1lb3V0KCkpLCB0aGlzLCBTTE9UKG5l eHRQaWN0dXJlKCkpKTsKICAgICBtX3NsaWRlU2hvd1RpbWVyLT5zZXRJbnRlcnZhbChtX3NsaWRl c2hvd1RpbWUgKiAxMDAwKTsKIAogICAgIGluaXRTbGlkZVNob3coKTsKQEAgLTEzMSw2ICsxNTgs NjEgQEAKICAgICB9CiB9CiAKK3ZvaWQgRnJhbWU6OmhvdmVyRW50ZXJFdmVudChRR3JhcGhpY3NT Y2VuZUhvdmVyRXZlbnQqIGV2ZW50KQoreworICAgIEFwcGxldDo6aG92ZXJFbnRlckV2ZW50KGV2 ZW50KTsKKyAgICBpZiAoY29udGVudHNSZWN0KCkuY29udGFpbnMoZXZlbnQtPnBvcygpKSkgewor ICAgICAgICBtX2Rpc3BsYXlMYWJlbHNUaW1lci0+c3RhcnQoKTsKKyAgICB9Cit9CisKK3ZvaWQg RnJhbWU6OmhvdmVyTGVhdmVFdmVudChRR3JhcGhpY3NTY2VuZUhvdmVyRXZlbnQqIGV2ZW50KQor eworICAgIEFwcGxldDo6aG92ZXJMZWF2ZUV2ZW50KGV2ZW50KTsKKyAgICBtX2hpZ2hsaWdodFBy ZXZpb3VzTGFiZWwgPSBmYWxzZTsKKyAgICBtX2hpZ2hsaWdodE5leHRMYWJlbCA9IGZhbHNlOwor ICAgIGlmIChtX3NsaWRlU2hvdykgeworICAgICAgICBtX3BpeG1hcENhY2hlID0gUVBpeG1hcCgp OworICAgICAgICB1cGRhdGUoKTsKKyAgICB9CisgICAgbV9kaXNwbGF5TGFiZWxzVGltZXItPnN0 b3AoKTsKK30KKwordm9pZCBGcmFtZTo6aG92ZXJNb3ZlRXZlbnQoUUdyYXBoaWNzU2NlbmVIb3Zl ckV2ZW50KiBldmVudCkKK3sKKyAgICBBcHBsZXQ6OmhvdmVyTW92ZUV2ZW50KGV2ZW50KTsKKyAg ICBpZiAoY29udGVudHNSZWN0KCkuY29udGFpbnMoZXZlbnQtPnBvcygpKSkgeworICAgICAgICBi b29sIG9sZCA9IG1faGlnaGxpZ2h0UHJldmlvdXNMYWJlbDsKKyAgICAgICAgbV9oaWdobGlnaHRQ cmV2aW91c0xhYmVsID0gZXZlbnQtPnBvcygpLngoKSA8IGNvbnRlbnRzUmVjdCgpLnNpemUoKS53 aWR0aCgpIC8gMjsKKyAgICAgICAgbV9oaWdobGlnaHROZXh0TGFiZWwgPSAhbV9oaWdobGlnaHRQ cmV2aW91c0xhYmVsOworICAgICAgICBpZiAobV9zbGlkZVNob3cgJiYgbV9oaWdobGlnaHRQcmV2 aW91c0xhYmVsICE9IG9sZCkgeworICAgICAgICAgICAgbV9waXhtYXBDYWNoZSA9IFFQaXhtYXAo KTsKKyAgICAgICAgICAgIHVwZGF0ZSgpOworICAgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAg ICAgbV9oaWdobGlnaHRQcmV2aW91c0xhYmVsID0gZmFsc2U7CisgICAgICAgIG1faGlnaGxpZ2h0 TmV4dExhYmVsID0gZmFsc2U7CisgICAgICAgIGlmIChtX3NsaWRlU2hvdykgeworICAgICAgICAg ICAgbV9waXhtYXBDYWNoZSA9IFFQaXhtYXAoKTsKKyAgICAgICAgICAgIHVwZGF0ZSgpOworICAg ICAgICB9CisgICAgICAgIG1fZGlzcGxheUxhYmVsc1RpbWVyLT5zdG9wKCk7CisgICAgfQorfQor Cit2b2lkIEZyYW1lOjptb3VzZVByZXNzRXZlbnQoUUdyYXBoaWNzU2NlbmVNb3VzZUV2ZW50ICpl dmVudCkKK3sKKyAgICBBcHBsZXQ6Om1vdXNlUHJlc3NFdmVudChldmVudCk7CisgICAgaWYgKG1f c2xpZGVTaG93ICYmIGV2ZW50LT5idXR0b25zKCkgJiBRdDo6TGVmdEJ1dHRvbikgeworICAgICAg ICBpZiAobV9oaWdobGlnaHRQcmV2aW91c0xhYmVsKSB7CisgICAgICAgICAgICBwcmV2aW91c1Bp Y3R1cmUoKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIG5leHRQaWN0dXJlKCk7Cisg ICAgICAgIH0KKyAgICAgICAgbV9zbGlkZVNob3dUaW1lci0+c3RhcnQoKTsKKyAgICB9Cit9CisK IFFTaXplRiBGcmFtZTo6Y29udGVudFNpemVIaW50KCkgY29uc3QgewogICAgIGlmICghbV9waWN0 dXJlLmlzTnVsbCgpKSB7CiAgICAgICAgIFFTaXplRiBzaXplSGludDsKQEAgLTE0NiwxNCArMjI4 LDIyIEBACiAgICAgfQogfQogCi12b2lkIEZyYW1lOjp1cGRhdGVQaWN0dXJlKCkKK3ZvaWQgRnJh bWU6Om5leHRQaWN0dXJlKCkKIHsKLSAgICBtX3BpY3R1cmUgPSBtX215U2xpZGVTaG93LT5nZXRJ bWFnZSgpOworICAgIG1fcGljdHVyZSA9IG1fbXlTbGlkZVNob3ctPm5leHRJbWFnZSgpOwogICAg IHJlc2l6ZShjb250ZW50U2l6ZUhpbnQoKSk7CiAgICAgbV9waXhtYXBDYWNoZSA9IFFQaXhtYXAo KTsKICAgICB1cGRhdGUoKTsKIH0KIAordm9pZCBGcmFtZTo6cHJldmlvdXNQaWN0dXJlKCkKK3sK KyAgICBtX3BpY3R1cmUgPSBtX215U2xpZGVTaG93LT5wcmV2aW91c0ltYWdlKCk7CisgICAgcmVz aXplKGNvbnRlbnRTaXplSGludCgpKTsKKyAgICBtX3BpeG1hcENhY2hlID0gUVBpeG1hcCgpOwor ICAgIHVwZGF0ZSgpOyAgICAKK30KKwogdm9pZCBGcmFtZTo6YWRkRGlyKCkKIHsKICAgICBLRGly U2VsZWN0RGlhbG9nIGRpYWxvZyhLVXJsKCksIHRydWUpOwpAQCAtMTc3LDE1ICsyNjcsMzMgQEAK ICAgICB9CiB9CiAKK3ZvaWQgRnJhbWU6OmRpc3BsYXlCcm93c2VMYWJlbHMoKQoreworICAgIGlm IChtX3NsaWRlU2hvdykgeworICAgICAgICBtX3BpeG1hcENhY2hlID0gUVBpeG1hcCgpOworICAg ICAgICB1cGRhdGUoKTsKKyAgICB9Cit9CisKK3ZvaWQgRnJhbWU6OnVwZGF0ZUxhYmVsc1NpemUo KQoreworICAgIFFSZWN0IHByZXZCcihQbGFzbWE6OlRoZW1lOjpkZWZhdWx0VGhlbWUoKS0+Zm9u dE1ldHJpY3MoKS5ib3VuZGluZ1JlY3QodHIoIlByZXZpb3VzIikpKTsKKyAgICBwcmV2QnIuYWRq dXN0KDAsIDAsIDEwLCAxMCk7CisgICAgUVJlY3QgbmV4dEJyKFBsYXNtYTo6VGhlbWU6OmRlZmF1 bHRUaGVtZSgpLT5mb250TWV0cmljcygpLmJvdW5kaW5nUmVjdCh0cigiTmV4dCIpKSk7CisgICAg bmV4dEJyLmFkanVzdCgwLCAwLCAxMCwgMTApOworICAgIG1fbGFiZWxTaXplLnNldFdpZHRoKHFN YXgocHJldkJyLndpZHRoKCksIG5leHRCci53aWR0aCgpKSk7CisgICAgbV9sYWJlbFNpemUuc2V0 SGVpZ2h0KHFNYXgocHJldkJyLmhlaWdodCgpLCBuZXh0QnIuaGVpZ2h0KCkpKTsKK30KKwogdm9p ZCBGcmFtZTo6Y3JlYXRlQ29uZmlndXJhdGlvbkludGVyZmFjZShLQ29uZmlnRGlhbG9nICpwYXJl bnQpCiB7CiAgICAgbV9jb25maWdEaWFsb2cgPSBuZXcgQ29uZmlnRGlhbG9nKCBwYXJlbnQgKTsK ICAgICAKICAgICBLU2VydmljZTo6TGlzdCBzZXJ2aWNlcyA9IEtTZXJ2aWNlVHlwZVRyYWRlcjo6 c2VsZigpLT5xdWVyeSggIlBsYXNtYVBvVEQvUGx1Z2luIik7CiAgICAgZm9yZWFjaCAoY29uc3Qg S1NlcnZpY2U6OlB0ciAmc2VydmljZSwgc2VydmljZXMpIHsKLQljb25zdCBRU3RyaW5nICpzZXJ2 aWNlX25hbWUgPSBuZXcgUVN0cmluZyAoIHNlcnZpY2UtPm5hbWUoKSApOwotCWNvbnN0IFFWYXJp YW50ICpzZXJ2aWNlX2lkZW50aWZpZXIgPSBuZXcgUVZhcmlhbnQgKCBzZXJ2aWNlLT5wcm9wZXJ0 eSggIlgtS0RFLVBsYXNtYVBvVERQcm92aWRlci1JZGVudGlmaWVyIiwgUVZhcmlhbnQ6OlN0cmlu ZyApLnRvU3RyaW5nKCkgKTsKLQltX2NvbmZpZ0RpYWxvZy0+dWkucG90ZENvbWJvQm94LT5pbnNl cnRJdGVtKCBtX2NvbmZpZ0RpYWxvZy0+dWkucG90ZENvbWJvQm94LT5jb3VudCgpLCAqc2Vydmlj ZV9uYW1lLCAqc2VydmljZV9pZGVudGlmaWVyICk7CisgICAgY29uc3QgUVN0cmluZyAqc2Vydmlj ZV9uYW1lID0gbmV3IFFTdHJpbmcgKCBzZXJ2aWNlLT5uYW1lKCkgKTsKKyAgICBjb25zdCBRVmFy aWFudCAqc2VydmljZV9pZGVudGlmaWVyID0gbmV3IFFWYXJpYW50ICggc2VydmljZS0+cHJvcGVy dHkoICJYLUtERS1QbGFzbWFQb1REUHJvdmlkZXItSWRlbnRpZmllciIsIFFWYXJpYW50OjpTdHJp bmcgKS50b1N0cmluZygpICk7CisgICAgbV9jb25maWdEaWFsb2ctPnVpLnBvdGRDb21ib0JveC0+ aW5zZXJ0SXRlbSggbV9jb25maWdEaWFsb2ctPnVpLnBvdGRDb21ib0JveC0+Y291bnQoKSwgKnNl cnZpY2VfbmFtZSwgKnNlcnZpY2VfaWRlbnRpZmllciApOwogICAgIH0KIAogICAgIHBhcmVudC0+ c2V0QnV0dG9ucyggIEtEaWFsb2c6Ok9rIHwgS0RpYWxvZzo6Q2FuY2VsIHwgS0RpYWxvZzo6QXBw bHkpOwpAQCAtMjA1LDExICszMTMsMTEgQEAKICAgICBtX2NvbmZpZ0RpYWxvZy0+c2V0RnJhbWVD b2xvcihtX2ZyYW1lQ29sb3IpOwogCiAgICAgaWYgKG1fc2xpZGVTaG93KQotCW1fY29uZmlnRGlh bG9nLT51aS5waWN0dXJlQ29tYm9Cb3gtPnNldEN1cnJlbnRJbmRleCgxKTsKKyAgICBtX2NvbmZp Z0RpYWxvZy0+dWkucGljdHVyZUNvbWJvQm94LT5zZXRDdXJyZW50SW5kZXgoMSk7CiAgICAgZWxz ZSBpZiAobV9wb3RkKQotCW1fY29uZmlnRGlhbG9nLT51aS5waWN0dXJlQ29tYm9Cb3gtPnNldEN1 cnJlbnRJbmRleCgyKTsKKyAgICBtX2NvbmZpZ0RpYWxvZy0+dWkucGljdHVyZUNvbWJvQm94LT5z ZXRDdXJyZW50SW5kZXgoMik7CiAgICAgZWxzZQotCW1fY29uZmlnRGlhbG9nLT51aS5waWN0dXJl Q29tYm9Cb3gtPnNldEN1cnJlbnRJbmRleCgwKTsKKyAgICBtX2NvbmZpZ0RpYWxvZy0+dWkucGlj dHVyZUNvbWJvQm94LT5zZXRDdXJyZW50SW5kZXgoMCk7CiAKICAgICBtX2NvbmZpZ0RpYWxvZy0+ dWkucmFuZG9tQ2hlY2tCb3gtPnNldENoZWNrU3RhdGUobV9yYW5kb20gPyBRdDo6Q2hlY2tlZCA6 IFF0OjpVbmNoZWNrZWQpOwogICAgIG1fY29uZmlnRGlhbG9nLT51aS5yZWN1cnNpdmVDaGVja0Jv eC0+c2V0Q2hlY2tTdGF0ZShtX3JlY3Vyc2l2ZVNsaWRlU2hvdyA/IFF0OjpDaGVja2VkIDogUXQ6 OlVuY2hlY2tlZCk7CkBAIC0yNDQsMTQgKzM1MiwxNCBAQAogCiAgICAgaWYgKG1fY29uZmlnRGlh bG9nLT51aS5waWN0dXJlQ29tYm9Cb3gtPmN1cnJlbnRJbmRleCgpID09IDEpCiAgICAgewotCW1f c2xpZGVTaG93ID0gdHJ1ZTsKLQltX3BvdGQgPSBmYWxzZTsKKyAgICBtX3NsaWRlU2hvdyA9IHRy dWU7CisgICAgbV9wb3RkID0gZmFsc2U7CiAgICAgfSAgZWxzZSBpZiAobV9jb25maWdEaWFsb2ct PnVpLnBpY3R1cmVDb21ib0JveC0+Y3VycmVudEluZGV4KCkgPT0gMikgICB7Ci0JbV9zbGlkZVNo b3cgPSBmYWxzZTsKLQltX3BvdGQgPSB0cnVlOworICAgIG1fc2xpZGVTaG93ID0gZmFsc2U7Cisg ICAgbV9wb3RkID0gdHJ1ZTsKICAgICB9ICBlbHNlIHsKLQltX3NsaWRlU2hvdyA9IGZhbHNlOwot CW1fcG90ZCA9IGZhbHNlOworICAgIG1fc2xpZGVTaG93ID0gZmFsc2U7CisgICAgbV9wb3RkID0g ZmFsc2U7CiAgICAgfQogCiAgICAgbV9yYW5kb20gPSBtX2NvbmZpZ0RpYWxvZy0+cmFuZG9tKCk7 CkBAIC0yODUsMjggKzM5MywyOCBAQAogdm9pZCBGcmFtZTo6aW5pdFNsaWRlU2hvdygpCiB7CiAg ICAgaWYgKG1fc2xpZGVTaG93KSB7Ci0JICAgIG1fbXlTbGlkZVNob3ctPnNldERpcnMobV9zbGlk ZVNob3dQYXRocywgbV9yZWN1cnNpdmVTbGlkZVNob3cpOworICAgICAgICBtX215U2xpZGVTaG93 LT5zZXREaXJzKG1fc2xpZGVTaG93UGF0aHMsIG1fcmVjdXJzaXZlU2xpZGVTaG93KTsKICAgICAg ICAgICAgIG1fbXlTbGlkZVNob3ctPnNldFJhbmRvbShtX3JhbmRvbSk7Ci0JICAgIG1fc2xpZGVT aG93VGltZXItPnN0YXJ0KCk7CisgICAgICAgIG1fc2xpZGVTaG93VGltZXItPnN0YXJ0KCk7CiAg ICAgfSBlbHNlIGlmIChtX3BvdGQpIHsKLQlQbGFzbWE6OkRhdGFFbmdpbmUgKmVuZ2luZSA9IGRh dGFFbmdpbmUoICJwb3RkIiApOwotCWlmICggIWVuZ2luZSApCi0JICAgIHJldHVybjsKKyAgICBQ bGFzbWE6OkRhdGFFbmdpbmUgKmVuZ2luZSA9IGRhdGFFbmdpbmUoICJwb3RkIiApOworICAgIGlm ICggIWVuZ2luZSApCisgICAgICAgIHJldHVybjsKIAotCVFEYXRlIG1DdXJyZW50RGF0ZSA9IFFE YXRlOjpjdXJyZW50RGF0ZSgpOwotCWNvbnN0IFFTdHJpbmcgaWRlbnRpZmllciA9IG1fcG90ZFBy b3ZpZGVyICsgJzonICsgbUN1cnJlbnREYXRlLnRvU3RyaW5nKCBRdDo6SVNPRGF0ZSApOworICAg IFFEYXRlIG1DdXJyZW50RGF0ZSA9IFFEYXRlOjpjdXJyZW50RGF0ZSgpOworICAgIGNvbnN0IFFT dHJpbmcgaWRlbnRpZmllciA9IG1fcG90ZFByb3ZpZGVyICsgJzonICsgbUN1cnJlbnREYXRlLnRv U3RyaW5nKCBRdDo6SVNPRGF0ZSApOwogICAgIAotCWVuZ2luZS0+ZGlzY29ubmVjdFNvdXJjZSgg aWRlbnRpZmllciwgdGhpcyApOwotCWVuZ2luZS0+Y29ubmVjdFNvdXJjZSggaWRlbnRpZmllciwg dGhpcyApOworICAgIGVuZ2luZS0+ZGlzY29ubmVjdFNvdXJjZSggaWRlbnRpZmllciwgdGhpcyAp OworICAgIGVuZ2luZS0+Y29ubmVjdFNvdXJjZSggaWRlbnRpZmllciwgdGhpcyApOwogICAgIAot CWNvbnN0IFBsYXNtYTo6RGF0YUVuZ2luZTo6RGF0YSBkYXRhID0gZW5naW5lLT5xdWVyeSggaWRl bnRpZmllciApOworICAgIGNvbnN0IFBsYXNtYTo6RGF0YUVuZ2luZTo6RGF0YSBkYXRhID0gZW5n aW5lLT5xdWVyeSggaWRlbnRpZmllciApOwogICAgIH0gZWxzZSB7Ci0JICAgIG1fbXlTbGlkZVNo b3ctPnNldEltYWdlKG1fY3VycmVudFVybC5wYXRoKCkpOwotCSAgICBtX3NsaWRlU2hvd1RpbWVy LT5zdG9wKCk7CisgICAgICAgIG1fbXlTbGlkZVNob3ctPnNldEltYWdlKG1fY3VycmVudFVybC5w YXRoKCkpOworICAgICAgICBtX3NsaWRlU2hvd1RpbWVyLT5zdG9wKCk7CiAgICAgfQogICAgIAog ICAgIGlmICghbV9wb3RkKQotCXVwZGF0ZVBpY3R1cmUoKTsKKyAgICAgICAgbmV4dFBpY3R1cmUo KTsKIH0KIAogdm9pZCBGcmFtZTo6ZHJhZ0VudGVyRXZlbnQoUUdyYXBoaWNzU2NlbmVEcmFnRHJv cEV2ZW50ICpldmVudCkKQEAgLTMyNCw3ICs0MzIsNyBAQAogICAgIEtVcmwgZHJvcHBlZFVybCA9 IChLVXJsOjpMaXN0Ojpmcm9tTWltZURhdGEoZXZlbnQtPm1pbWVEYXRhKCkpKS5hdCgwKTsKICAg ICAvLyBJZiB0aGUgdXJsIGlzIGEgbG9jYWwgZGlyZWN0b3J5IHN0YXJ0IHNsaWRlc2hvd21vZGUK ICAgICBpZiAoZHJvcHBlZFVybC5pc0xvY2FsRmlsZSgpICYmIFFGaWxlSW5mbyhkcm9wcGVkVXJs LnBhdGgoKSkuaXNEaXIoKSkgewotICAgIAltX3NsaWRlU2hvd1BhdGhzLmFwcGVuZChkcm9wcGVk VXJsLnBhdGgoKSk7CisgICAgICAgIG1fc2xpZGVTaG93UGF0aHMuYXBwZW5kKGRyb3BwZWRVcmwu cGF0aCgpKTsKICAgICAgICAgaWYgKCFtX3NsaWRlU2hvdykgewogICAgICAgICAgICAgbV9zbGlk ZVNob3cgPSB0cnVlOwogICAgICAgICB9CkBAIC00MzUsNyArNTQzLDQyIEBACiAgICAgICAgIHAt PmRyYXdQYXRoKGZyYW1lUGF0aCk7CiAgICAgfQogCisgICAgaWYgKG1fc2xpZGVTaG93ICYmICFt X2Rpc3BsYXlMYWJlbHNUaW1lci0+aXNBY3RpdmUoKSAmJiAobV9oaWdobGlnaHRQcmV2aW91c0xh YmVsIHx8IG1faGlnaGxpZ2h0TmV4dExhYmVsKSkgeworICAgICAgICBwYWludExhYmVsKHAsIGZy YW1lUmVjdC54KCksIGZyYW1lUmVjdC55KCkgKyBmcmFtZVJlY3QuaGVpZ2h0KCkgLyA0LCB0cigi UHJldmlvdXMiKSwgbV9oaWdobGlnaHRQcmV2aW91c0xhYmVsKTsKKyAgICAgICAgcGFpbnRMYWJl bChwLCBmcmFtZVJlY3QueCgpICsgZnJhbWVSZWN0LndpZHRoKCkgLSBtX2xhYmVsU2l6ZS53aWR0 aCgpLCBmcmFtZVJlY3QueSgpICsgZnJhbWVSZWN0LmhlaWdodCgpIC8gNCwgdHIoIk5leHQiKSwg bV9oaWdobGlnaHROZXh0TGFiZWwpOworICAgIH0KICAgICBkZWxldGUgcDsKIH0KIAordm9pZCBG cmFtZTo6cGFpbnRMYWJlbChRUGFpbnRlciogcCwgaW50IHgsIGludCB5LCBjb25zdCBRU3RyaW5n JiB0ZXh0LCBib29sIGhpZ2hsaWdodCkgY29uc3QKK3sKKyAgICBRUGVuIG9sZFBlbihwLT5wZW4o KSk7CisgICAgUUJydXNoIG9sZEJydXNoKHAtPmJydXNoKCkpOworCisgICAgUGxhc21hOjpUaGVt ZSogdGhlbWUgPSBQbGFzbWE6OlRoZW1lOjpkZWZhdWx0VGhlbWUoKTsKKworICAgIGludCBhbHBo YSA9IDA7CisgICAgaWYgKGhpZ2hsaWdodCkgeworICAgICAgICBhbHBoYSA9IDE5MjsKKyAgICB9 IGVsc2UgeworICAgICAgICBhbHBoYSA9IDk2OworICAgIH0KKyAgICAKKyAgICBRQ29sb3IgYyh0 aGVtZS0+Y29sb3IoUGxhc21hOjpUaGVtZTo6QmFja2dyb3VuZENvbG9yKSk7CisgICAgYy5zZXRB bHBoYShhbHBoYSk7CisgICAgcC0+c2V0UGVuKFF0OjpOb1Blbik7CisgICAgcC0+c2V0QnJ1c2go Yyk7CisgICAgcC0+ZHJhd1JlY3QoeCwgeSwgbV9sYWJlbFNpemUud2lkdGgoKSwgbV9sYWJlbFNp emUuaGVpZ2h0KCkpOworICAgIGMgPSB0aGVtZS0+Y29sb3IoUGxhc21hOjpUaGVtZTo6VGV4dENv bG9yKTsKKyAgICBjLnNldEFscGhhKGFscGhhKTsKKyAgICBwLT5zZXRQZW4oYyk7CisgICAgcC0+ c2V0QnJ1c2goYyk7CisgICAgcC0+c2V0Rm9udCh0aGVtZS0+Zm9udChQbGFzbWE6OlRoZW1lOjpE ZWZhdWx0Rm9udCkpOworICAgIHAtPmRyYXdUZXh0KHgsIHksIG1fbGFiZWxTaXplLndpZHRoKCks IG1fbGFiZWxTaXplLmhlaWdodCgpLCBRdDo6QWxpZ25DZW50ZXIsIHRleHQpOworICAgIAorICAg IHAtPnNldFBlbihvbGRQZW4pOworICAgIHAtPnNldEJydXNoKG9sZEJydXNoKTsKK30KKwogI2lu Y2x1ZGUgImZyYW1lLm1vYyIKKwo= ------=_Part_27398_23169914.1216383878223 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Panel-devel mailing list Panel-devel@kde.org https://mail.kde.org/mailman/listinfo/panel-devel ------=_Part_27398_23169914.1216383878223--