X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com X-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=laserlinc-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; bh=XovZWCHCgubEKzwA1ljTR34lHGNTETb1AB+THR5yH/8=; b=h06yjsAx3uwVXIVH1iaWwzfXiaqYNiSvYs/xI+tCdzucky/e0CC2zN5mkjqXdP2dBn FmmTF8AvQHCdszBnFRYFZocu0954n3p9IvjDDTahD8OYasVc0UU1QR78m9P/Th2FusYB d49z1Wd4yh+EJXQm8QwX6BvaGcV4Dz5oi5NWgRZtmdrXTCiS7dwv/ujvoErv9DXv5SG0 P/8J66PnSgwBER2OFWuRNdeeW7wPNiAPDv0Z4nxxx0xXkoWEssEDZUJUF45pMPlq3NQt pCTzQPHuK+hoILZM9WtVg31Web4F6dEHUtnimutm8k9EDh5CGZ4eKeagf5tvpOo/tJwb TFGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:content-type; bh=XovZWCHCgubEKzwA1ljTR34lHGNTETb1AB+THR5yH/8=; b=GDB0lKsEeluUeJd9YzxTDw/8F93A7EG7cBGj83hpkzcA9kwbs1nxz3GwdNaOR/diD/ XTm/CxVFQERLt+q13fQPl3GsBgXWX9WSE3/NdYNQakAduu9tf1F+H26HoXaj3nCWb2NL KToLfSoBu13JqSUQxrkzjBfmGbl7EQHFJowWWYi27nmN83afPBzekG40K80lA2mvCuH2 sBO777Nuw/izMwq+zA86+ibUQhzQb/vjxdZanZNjraO/DBguzKbAtIVFJ2ydI+t9AeTQ wJh/PHBpZmyb3f/jwIqN4zRDW9JEzBuEP5mLWhIiCqDeJ5sOzeBk7Uyg9Vifz2n7H8Sq v4iw== X-Gm-Message-State: ALoCoQlV3B4nRHU14khQCipOuIuAVPMzKkWyn0hwQt4ua6a1CHYQnz0EyL+bGZ/WE4INYDi6KUkprZxZplVZ0rPRw7WWAgLDKw== X-Received: by 10.107.168.77 with SMTP id r74mr333956ioe.126.1449586905368; Tue, 08 Dec 2015 07:01:45 -0800 (PST) MIME-Version: 1.0 In-Reply-To: References: From: "Joshua Lansford (joshua DOT lansford AT laserlinc DOT com) [via geda-user AT delorie DOT com]" Date: Tue, 8 Dec 2015 10:01:24 -0500 Message-ID: Subject: [geda-user] Re: o_picture_set_from_file To: geda-user AT delorie DOT com Content-Type: multipart/mixed; boundary=001a114265ba912ad20526644041 Reply-To: geda-user AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: geda-user AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk --001a114265ba912ad20526644041 Content-Type: multipart/alternative; boundary=001a114265ba912acb052664403f --001a114265ba912acb052664403f Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Mon, Dec 7, 2015 at 3:32 PM, Joshua Lansford < joshua DOT lansford AT laserlinc DOT com> wrote: > > On Mon, Dec 7, 2015 at 10:06 AM, Joshua Lansford < > joshua DOT lansford AT laserlinc DOT com> wrote: > >> Trying to fix an annoying bug... If I have an image in gschem >> referenced relatively then if I use undo the image dies. >> > > K. =E2=80=8BI think I fixed it. Going to run it for a while to see if i= t stays > happy.=E2=80=8B > > =E2=80=8BHere is a patch. First patch :-). I hear this is supposed to g= o to a bug tracking system I will see if I can find that. ~Joshua =E2=80=8B --001a114265ba912acb052664403f Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On Mon, Dec 7, 2015 at 3:32 PM, Joshua Lansford &= lt;joshu= a DOT lansford AT laserlinc DOT com> wrote:

On Mon, Dec 7, 2015 at 10:06 AM, Joshua Lansford <joshua DOT lansford AT laserlinc DOT com>
wrote:
=C2=A0 Trying to fix an annoying bug...=C2=A0 If I have an im= age in gschem referenced relatively then if I use undo the image dies.

K.=C2=A0 =E2=80=8BI think I fixed it.=C2=A0 Going to run it for a while= to see if it stays happy.=E2=80=8B

=E2=80=8BHere is a patch.=C2=A0 First patch :-).=C2=A0 I h= ear this is supposed to go to a bug tracking system I will see if I can fin= d that.
~Joshua
=E2=80=8B

--001a114265ba912acb052664403f-- --001a114265ba912ad20526644041 Content-Type: text/x-patch; charset=US-ASCII; name="0001-Made-undo-not-drop-pictures-with-relative-filenames.patch" Content-Disposition: attachment; filename="0001-Made-undo-not-drop-pictures-with-relative-filenames.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ihxijyu40 RnJvbSA1MTFhYmEyMzUwMzE3YTYxMWY2ZmVjM2M0OGZkMmY3ZDc1M2UyMDg4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKb3NodWEgPEpvc2h1YUBsYXNlcmxpbmMuY29tPgpEYXRlOiBU dWUsIDggRGVjIDIwMTUgMDk6NTA6MDkgLTA1MDAKU3ViamVjdDogW1BBVENIXSBNYWRlIHVuZG8g bm90IGRyb3AgcGljdHVyZXMgd2l0aCByZWxhdGl2ZSBmaWxlbmFtZXMuCgotLS0KIGdzY2hlbS9z cmMvb191bmRvLmMgICAgICAgICAgICAgICAgIHwgIDMgKy0KIGxpYmdlZGEvaW5jbHVkZS9saWJn ZWRhL3Byb3RvdHlwZS5oIHwgMTMgKysrKystCiBsaWJnZWRhL2luY2x1ZGUvcHJvdG90eXBlX3By aXYuaCAgICB8ICAyICstCiBsaWJnZWRhL3NyYy9hX2Jhc2ljLmMgICAgICAgICAgICAgICB8IDMy ICsrKysrKysrKysrLS0KIGxpYmdlZGEvc3JjL2ZfYmFzaWMuYyAgICAgICAgICAgICAgIHwgNzIg KysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tCiBsaWJnZWRhL3NyYy9vX3BpY3R1cmUuYyAg ICAgICAgICAgICB8IDg5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0KIDYg ZmlsZXMgY2hhbmdlZCwgMTkyIGluc2VydGlvbnMoKyksIDE5IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2dzY2hlbS9zcmMvb191bmRvLmMgYi9nc2NoZW0vc3JjL29fdW5kby5jCmluZGV4IDE0 NmZjNGQuLjZkZDJiYjIgMTAwNjQ0Ci0tLSBhL2dzY2hlbS9zcmMvb191bmRvLmMKKysrIGIvZ3Nj aGVtL3NyYy9vX3VuZG8uYwpAQCAtNDE1LDggKzQxNSw3IEBAIG9fdW5kb19jYWxsYmFjayAoR3Nj aGVtVG9wbGV2ZWwgKndfY3VycmVudCwgUEFHRSAqcGFnZSwgaW50IHR5cGUpCiAgIGRvX2xvZ2dp bmcgPSBGQUxTRTsKIAogICBpZiAod19jdXJyZW50LT51bmRvX3R5cGUgPT0gVU5ET19ESVNLICYm IHVfY3VycmVudC0+ZmlsZW5hbWUpIHsKLQotICAgIGZfb3Blbih0b3BsZXZlbCwgcGFnZSwgdV9j dXJyZW50LT5maWxlbmFtZSwgTlVMTCk7CisgICAgZl9vcGVuX3dpdGhfY29udGV4dCh0b3BsZXZl bCwgcGFnZSwgdV9jdXJyZW50LT5maWxlbmFtZSwgc2F2ZV9maWxlbmFtZSwgTlVMTCk7CiAKICAg fSBlbHNlIGlmICh3X2N1cnJlbnQtPnVuZG9fdHlwZSA9PSBVTkRPX01FTU9SWSAmJiB1X2N1cnJl bnQtPm9iamVjdF9saXN0KSB7CiAKZGlmZiAtLWdpdCBhL2xpYmdlZGEvaW5jbHVkZS9saWJnZWRh L3Byb3RvdHlwZS5oIGIvbGliZ2VkYS9pbmNsdWRlL2xpYmdlZGEvcHJvdG90eXBlLmgKaW5kZXgg NzQwYzI4OC4uYmJkMGEwMiAxMDA2NDQKLS0tIGEvbGliZ2VkYS9pbmNsdWRlL2xpYmdlZGEvcHJv dG90eXBlLmgKKysrIGIvbGliZ2VkYS9pbmNsdWRlL2xpYmdlZGEvcHJvdG90eXBlLmgKQEAgLTUs MTUgKzUsMTkgQEAgY29uc3QgZ2NoYXIgKm9fZmlsZV9mb3JtYXRfaGVhZGVyKCk7CiBnY2hhciAq b19zYXZlX2J1ZmZlciAoVE9QTEVWRUwgKnRvcGxldmVsLCBjb25zdCBHTGlzdCAqb2JqZWN0X2xp c3QpOwogaW50IG9fc2F2ZSAoVE9QTEVWRUwgKnRvcGxldmVsLCBjb25zdCBHTGlzdCAqb2JqZWN0 X2xpc3QsIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBHRXJyb3IgKiplcnIpOwogR0xpc3QgKm9fcmVh ZF9idWZmZXIoVE9QTEVWRUwgKnRvcGxldmVsLCBHTGlzdCAqb2JqZWN0X2xpc3QsIGNoYXIgKmJ1 ZmZlciwgY29uc3QgaW50IHNpemUsIGNvbnN0IGNoYXIgKm5hbWUsIEdFcnJvciAqKmVycik7Ci1H TGlzdCAqb19yZWFkKFRPUExFVkVMICp0b3BsZXZlbCwgR0xpc3QgKm9iamVjdF9saXN0LCBjaGFy ICpmaWxlbmFtZSwgR0Vycm9yICoqZXJyKTsKK0dMaXN0ICpvX3JlYWRfYnVmZmVyX3dpdGhfY29u dGV4dChUT1BMRVZFTCAqdG9wbGV2ZWwsIEdMaXN0ICpvYmplY3RfbGlzdCwgY2hhciAqYnVmZmVy LCBjb25zdCBpbnQgc2l6ZSwgY29uc3QgY2hhciAqbmFtZSwgY2hhciAqdHJ1ZV9zaGVldF9maWxl bmFtZSwgR0Vycm9yICoqZXJyKTsKK0dMaXN0ICpvX3JlYWQoVE9QTEVWRUwgKnRvcGxldmVsLCBH TGlzdCAqb2JqZWN0X2xpc3QsIGNoYXIgKmZpbGVuYW1lLCBjaGFyICp0cnVlX3NoZWV0X2ZpbGVu YW1lLCBHRXJyb3IgKiplcnIpOwogdm9pZCBvX3NjYWxlKFRPUExFVkVMICp0b3BsZXZlbCwgR0xp c3QgKmxpc3QsIGludCB4X3NjYWxlLCBpbnQgeV9zY2FsZSk7CiAKIC8qIGZfYmFzaWMuYyAqLwog Z2NoYXIgKmZfZ2V0X2F1dG9zYXZlX2ZpbGVuYW1lIChjb25zdCBnY2hhciAqZmlsZW5hbWUpOwog Z2Jvb2xlYW4gZl9oYXNfYWN0aXZlX2F1dG9zYXZlIChjb25zdCBnY2hhciAqZmlsZW5hbWUsIEdF cnJvciAqKmVycik7CiBpbnQgZl9vcGVuKFRPUExFVkVMICp0b3BsZXZlbCwgUEFHRSAqcGFnZSwg Y29uc3QgZ2NoYXIgKmZpbGVuYW1lLCBHRXJyb3IgKiplcnIpOworaW50IGZfb3Blbl93aXRoX2Nv bnRleHQoVE9QTEVWRUwgKnRvcGxldmVsLCBQQUdFICpwYWdlLCBjb25zdCBnY2hhciAqZmlsZW5h bWUsIGNvbnN0IGdjaGFyICp0cnVlX3NoZWV0X2ZpbGVuYW1lLCBHRXJyb3IgKiplcnIpOwogaW50 IGZfb3Blbl9mbGFncyhUT1BMRVZFTCAqdG9wbGV2ZWwsIFBBR0UgKnBhZ2UsIGNvbnN0IGdjaGFy ICpmaWxlbmFtZSwKICAgICAgICAgICAgICAgICAgY29uc3QgZ2ludCBmbGFncywgR0Vycm9yICoq ZXJyKTsKK2ludCBmX29wZW5fZmxhZ3Nfd2l0aF9jb250ZXh0KFRPUExFVkVMICp0b3BsZXZlbCwg UEFHRSAqcGFnZSwgY29uc3QgZ2NoYXIgKmZpbGVuYW1lLCBjb25zdCBnY2hhciAqdHJ1ZV9zaGVl dF9maWxlbmFtZSwKKyAgICAgICAgICAgICAgICAgY29uc3QgZ2ludCBmbGFncywgR0Vycm9yICoq ZXJyKTsKIHZvaWQgZl9jbG9zZShUT1BMRVZFTCAqdG9wbGV2ZWwpOwogaW50IGZfc2F2ZShUT1BM RVZFTCAqdG9wbGV2ZWwsIFBBR0UgKnBhZ2UsIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBHRXJyb3Ig KiplcnJvcik7CiBnY2hhciAqZl9ub3JtYWxpemVfZmlsZW5hbWUgKGNvbnN0IGdjaGFyICpmaWxl bmFtZSwgR0Vycm9yICoqZXJyb3IpOwpAQCAtMTk3LDYgKzIwMSwxMSBAQCBPQkpFQ1QgKm9fcGlj dHVyZV9uZXcoVE9QTEVWRUwgKnRvcGxldmVsLAogICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IGdjaGFyICpmaWxlbmFtZSwgY2hhciB0eXBlLAogICAgICAgICAgICAgICAgICAgICAgIGludCB4 MSwgaW50IHkxLCBpbnQgeDIsIGludCB5MiwgaW50IGFuZ2xlLCBpbnQgbWlycm9yZWQsCiAgICAg ICAgICAgICAgICAgICAgICAgaW50IGVtYmVkZGVkKSBHX0dOVUNfV0FSTl9VTlVTRURfUkVTVUxU OworT0JKRUNUICpvX3BpY3R1cmVfbmV3X3dpdGhfY29udGV4dChUT1BMRVZFTCAqdG9wbGV2ZWws CisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgKmZpbGVfY29udGVudCwgZ3NpemUg ZmlsZV9sZW5ndGgsCisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgKmZpbGVuYW1l LCBjaGFyIHR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgaW50IHgxLCBpbnQgeTEsIGludCB4 MiwgaW50IHkyLCBpbnQgYW5nbGUsIGludCBtaXJyb3JlZCwKKyAgICAgICAgICAgICAgICAgICAg ICBpbnQgZW1iZWRkZWQsIGNvbnN0IGdjaGFyICp0cnVlX3NoZWV0X2ZpbGVuYW1lKSBHX0dOVUNf V0FSTl9VTlVTRURfUkVTVUxUOwogZG91YmxlIG9fcGljdHVyZV9nZXRfcmF0aW8gKFRPUExFVkVM ICp0b3BsZXZlbCwgT0JKRUNUICpvYmplY3QpOwogdm9pZCBvX3BpY3R1cmVfbW9kaWZ5KFRPUExF VkVMICp0b3BsZXZlbCwgT0JKRUNUICpvYmplY3QsIGludCB4LCBpbnQgeSwgaW50IHdoaWNob25l KTsKIHZvaWQgb19waWN0dXJlX21vZGlmeV9hbGwgKFRPUExFVkVMICp0b3BsZXZlbCwgT0JKRUNU ICpvYmplY3QsIGludCB4MSwgaW50IHkxLCBpbnQgeDIsIGludCB5Mik7CkBAIC0yMTMsNiArMjIy LDggQEAgZ2Jvb2xlYW4gb19waWN0dXJlX3NldF9mcm9tX2J1ZmZlciAoVE9QTEVWRUwgKnRvcGxl dmVsLCBPQkpFQ1QgKm9iamVjdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHNpemVfdCBsZW4sIEdFcnJvciAqKmVycm9yKTsKIGdib29sZWFuIG9fcGljdHVyZV9zZXRfZnJv bV9maWxlIChUT1BMRVZFTCAqdG9wbGV2ZWwsIE9CSkVDVCAqb2JqZWN0LAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICpmaWxlbmFtZSwgR0Vycm9yICoqZXJy b3IpOworZ2Jvb2xlYW4gb19waWN0dXJlX3NldF9mcm9tX2ZpbGVfd2l0aF9jb250ZXh0IChUT1BM RVZFTCAqdG9wbGV2ZWwsIE9CSkVDVCAqb2JqZWN0LAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnN0IGdjaGFyICpmaWxlbmFtZSwgY29uc3QgZ2NoYXIgKnRydWVfc2hlZXRf ZmlsZW5hbWUsIEdFcnJvciAqKmVycm9yKTsKIGNvbnN0IGdjaGFyICpvX3BpY3R1cmVfZ2V0X2Zp bGVuYW1lIChUT1BMRVZFTCAqdG9wbGV2ZWwsIE9CSkVDVCAqb2JqZWN0KTsKIEdka1BpeGJ1ZiAq b19waWN0dXJlX2dldF9mYWxsYmFja19waXhidWYgKFRPUExFVkVMICp0b3BsZXZlbCkgR19HTlVD X1dBUk5fVU5VU0VEX1JFU1VMVDsKIApkaWZmIC0tZ2l0IGEvbGliZ2VkYS9pbmNsdWRlL3Byb3Rv dHlwZV9wcml2LmggYi9saWJnZWRhL2luY2x1ZGUvcHJvdG90eXBlX3ByaXYuaAppbmRleCA4MDJm OWQ3Li43NzFiYzNiIDEwMDY0NAotLS0gYS9saWJnZWRhL2luY2x1ZGUvcHJvdG90eXBlX3ByaXYu aAorKysgYi9saWJnZWRhL2luY2x1ZGUvcHJvdG90eXBlX3ByaXYuaApAQCAtMTMwLDcgKzEzMCw3 IEBAIHZvaWQgd29ybGRfZ2V0X3BhdGhfYm91bmRzKFRPUExFVkVMICp0b3BsZXZlbCwgT0JKRUNU ICpvYmplY3QsIGludCAqbGVmdCwgaW50ICp0CiBnYm9vbGVhbiBvX3BhdGhfZ2V0X3Bvc2l0aW9u KFRPUExFVkVMICp0b3BsZXZlbCwgZ2ludCAqeCwgZ2ludCAqeSwgT0JKRUNUICpvYmplY3QpOwog CiAvKiBvX3BpY3R1cmUuYyAqLwotT0JKRUNUICpvX3BpY3R1cmVfcmVhZChUT1BMRVZFTCAqdG9w bGV2ZWwsIGNvbnN0IGNoYXIgKmZpcnN0X2xpbmUsIFRleHRCdWZmZXIgKnRiLCB1bnNpZ25lZCBp bnQgcmVsZWFzZV92ZXIsIHVuc2lnbmVkIGludCBmaWxlZm9ybWF0X3ZlciwgR0Vycm9yICoqZXJy KTsKK09CSkVDVCAqb19waWN0dXJlX3JlYWQoVE9QTEVWRUwgKnRvcGxldmVsLCBjb25zdCBjaGFy ICpmaXJzdF9saW5lLCBUZXh0QnVmZmVyICp0YiwgdW5zaWduZWQgaW50IHJlbGVhc2VfdmVyLCB1 bnNpZ25lZCBpbnQgZmlsZWZvcm1hdF92ZXIsIGNoYXIgKnRydWVfc2hlZXRfZmlsZW5hbWUsIEdF cnJvciAqKmVycik7CiBjaGFyICpvX3BpY3R1cmVfc2F2ZShUT1BMRVZFTCAqdG9wbGV2ZWwsIE9C SkVDVCAqb2JqZWN0KTsKIGRvdWJsZSBvX3BpY3R1cmVfc2hvcnRlc3RfZGlzdGFuY2UoVE9QTEVW RUwgKnRvcGxldmVsLCBPQkpFQ1QgKm9iamVjdCwgaW50IHgsIGludCB5LCBpbnQgZm9yY2Vfc29p bGQpOwogdm9pZCB3b3JsZF9nZXRfcGljdHVyZV9ib3VuZHMoVE9QTEVWRUwgKnRvcGxldmVsLCBP QkpFQ1QgKm9iamVjdCwgaW50ICpsZWZ0LCBpbnQgKnRvcCwgaW50ICpyaWdodCwgaW50ICpib3R0 b20pOwpkaWZmIC0tZ2l0IGEvbGliZ2VkYS9zcmMvYV9iYXNpYy5jIGIvbGliZ2VkYS9zcmMvYV9i YXNpYy5jCmluZGV4IDg0ZDM2YjUuLjhiMzk3NDkgMTAwNjQ0Ci0tLSBhL2xpYmdlZGEvc3JjL2Ff YmFzaWMuYworKysgYi9saWJnZWRhL3NyYy9hX2Jhc2ljLmMKQEAgLTI2Niw2ICsyNjYsMzEgQEAg R0xpc3QgKm9fcmVhZF9idWZmZXIgKFRPUExFVkVMICp0b3BsZXZlbCwgR0xpc3QgKm9iamVjdF9s aXN0LAogICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKmJ1ZmZlciwgY29uc3QgaW50IHNpemUs CiAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbmFtZSwgR0Vycm9yICoqZXJyKQog eworICAgcmV0dXJuIG9fcmVhZF9idWZmZXJfd2l0aF9jb250ZXh0KCB0b3BsZXZlbCwgb2JqZWN0 X2xpc3QsIGJ1ZmZlciwgc2l6ZSwgbmFtZSwgTlVMTCwgZXJyICk7Cit9CisKKy8qISBcYnJpZWYg UmVhZCBhIG1lbW9yeSBidWZmZXIKKyAqICBccGFyIEZ1bmN0aW9uIERlc2NyaXB0aW9uCisgKiAg VGhpcyBmdW5jdGlvbiByZWFkcyBkYXRhIGluIGxpYmdlZGEgZm9ybWF0IGZyb20gYSBtZW1vcnkg YnVmZmVyLgorICoKKyAqICBJZiB0aGUgc2l6ZSBhcmd1bWVudCBpcyBuZWdhdGl2ZSwgdGhlIGJ1 ZmZlciBpcyBhc3N1bWVkIHRvIGJlCisgKiAgbnVsbC10ZXJtaW5hdGVkLgorICoKKyAqICBUaGUg bmFtZSBhcmd1bWVudCBpcyB1c2VkIGZvciBkZWJ1Z2dpbmcsIGFuZCBzaG91bGQgYmUgc2V0IHRv IGEKKyAqICBtZWFuaW5nZnVsIHN0cmluZyAoZS5nLiB0aGUgbmFtZSBvZiB0aGUgZmlsZSB0aGUg ZGF0YSBpcyBmcm9tKS4KKyAqCisgKiAgXHBhcmFtIFtpbixvdXRdIHRvcGxldmVsICAgIFRoZSBj dXJyZW50IFRPUExFVkVMIHN0cnVjdHVyZS4KKyAqICBccGFyYW0gW2luXSAgICAgb2JqZWN0X2xp c3QgIFRoZSBvYmplY3RfbGlzdCB0byByZWFkIGRhdGEgdG8uCisgKiAgXHBhcmFtIFtpbl0gICAg IGJ1ZmZlciAgICAgICBUaGUgbWVtb3J5IGJ1ZmZlciB0byByZWFkIGZyb20uCisgKiAgXHBhcmFt IFtpbl0gICAgIHNpemUgICAgICAgICBUaGUgc2l6ZSBvZiB0aGUgYnVmZmVyLgorICogIFxwYXJh bSBbaW5dICAgICBuYW1lICAgICAgICAgVGhlIG5hbWUgdG8gZGVzY3JpYmUgdGhlIGRhdGEgd2l0 aC4KKyAqICBccGFyYW0gW2luXSAgICAgdHJ1ZV9zaGVldF9maWxlbmFtZSBUaGUgc2hlZXRuYW1l IGZvciBjb250ZXh0LgorICogIFxyZXR1cm4gR0xpc3Qgb2Ygb2JqZWN0cyBpZiBzdWNjZXNzZnVs IHJlYWQsIG9yIE5VTEwgb24gZXJyb3IuCisgKi8KK0dMaXN0ICpvX3JlYWRfYnVmZmVyX3dpdGhf Y29udGV4dCAoVE9QTEVWRUwgKnRvcGxldmVsLCBHTGlzdCAqb2JqZWN0X2xpc3QsCisgICAgICAg ICAgICAgICAgICAgICAgY2hhciAqYnVmZmVyLCBjb25zdCBpbnQgc2l6ZSwKKyAgICAgICAgICAg ICAgICAgICAgICBjb25zdCBjaGFyICpuYW1lLCBjaGFyICp0cnVlX3NoZWV0X2ZpbGVuYW1lLCBH RXJyb3IgKiplcnIpCit7CiAgIGNvbnN0IGNoYXIgKmxpbmUgPSBOVUxMOwogICBUZXh0QnVmZmVy ICp0YiA9IE5VTEw7CiAKQEAgLTM0NCw3ICszNjksNyBAQCBHTGlzdCAqb19yZWFkX2J1ZmZlciAo VE9QTEVWRUwgKnRvcGxldmVsLCBHTGlzdCAqb2JqZWN0X2xpc3QsCiAgICAgICAgIGJyZWFrOwog CiAgICAgICBjYXNlKE9CSl9QSUNUVVJFKToKLSAgICAgICAgbmV3X29iaiA9IG9fcGljdHVyZV9y ZWFkICh0b3BsZXZlbCwgbGluZSwgdGIsIHJlbGVhc2VfdmVyLCBmaWxlZm9ybWF0X3ZlciwgZXJy KTsKKyAgICAgICAgbmV3X29iaiA9IG9fcGljdHVyZV9yZWFkICh0b3BsZXZlbCwgbGluZSwgdGIs IHJlbGVhc2VfdmVyLCBmaWxlZm9ybWF0X3ZlciwgdHJ1ZV9zaGVldF9maWxlbmFtZSwgZXJyKTsK ICAgICAgICAgaWYgKG5ld19vYmogPT0gTlVMTCkKICAgICAgICAgICBnb3RvIGVycm9yOwogICAg ICAgICBuZXdfb2JqZWN0X2xpc3QgPSBnX2xpc3RfcHJlcGVuZCAobmV3X29iamVjdF9saXN0LCBu ZXdfb2JqKTsKQEAgLTU1MCwxMSArNTc1LDEyIEBAIEdMaXN0ICpvX3JlYWRfYnVmZmVyIChUT1BM RVZFTCAqdG9wbGV2ZWwsIEdMaXN0ICpvYmplY3RfbGlzdCwKICAqICBccGFyYW0gW2luLG91dF0g dG9wbGV2ZWwgICAgVGhlIGN1cnJlbnQgVE9QTEVWRUwgc3RydWN0dXJlLgogICogIFxwYXJhbSBb aW5dICAgICBvYmplY3RfbGlzdCAgVGhlIG9iamVjdF9saXN0IHRvIHJlYWQgZGF0YSB0by4KICAq ICBccGFyYW0gW2luXSAgICAgZmlsZW5hbWUgICAgIFRoZSBmaWxlbmFtZSB0byByZWFkIGZyb20u CisgKiAgXHBhcmFtIFtpbl0gICAgIHRydWVfc2hlZXRfZmlsZW5hbWUgVGhlIHNoZWV0bmFtZSBm b3IgY29udGV4dC4KICAqICBccGFyYW0gW2luLG91dF0gZXJyICAgICAgICAgICNHRXJyb3Igc3Ry dWN0dXJlIGZvciBlcnJvciByZXBvcnRpbmcsIG9yCiAgKiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBOVUxMIHRvIGRpc2FibGUgZXJyb3IgcmVwb3J0aW5nCiAgKiAgXHJldHVybiBvYmpl Y3RfbGlzdCBpZiBzdWNjZXNzZnVsIHJlYWQsIG9yIE5VTEwgb24gZXJyb3IuCiAgKi8KLUdMaXN0 ICpvX3JlYWQgKFRPUExFVkVMICp0b3BsZXZlbCwgR0xpc3QgKm9iamVjdF9saXN0LCBjaGFyICpm aWxlbmFtZSwKK0dMaXN0ICpvX3JlYWQgKFRPUExFVkVMICp0b3BsZXZlbCwgR0xpc3QgKm9iamVj dF9saXN0LCBjaGFyICpmaWxlbmFtZSwgY2hhciAqdHJ1ZV9zaGVldF9maWxlbmFtZSwKICAgICAg ICAgICAgICAgIEdFcnJvciAqKmVycikKIHsKICAgY2hhciAqYnVmZmVyID0gTlVMTDsKQEAgLTU3 MCw3ICs1OTYsNyBAQCBHTGlzdCAqb19yZWFkIChUT1BMRVZFTCAqdG9wbGV2ZWwsIEdMaXN0ICpv YmplY3RfbGlzdCwgY2hhciAqZmlsZW5hbWUsCiAgIH0gCiAKICAgLyogUGFyc2UgZmlsZSBjb250 ZW50cyAqLwotICByZXN1bHQgPSBvX3JlYWRfYnVmZmVyICh0b3BsZXZlbCwgb2JqZWN0X2xpc3Qs IGJ1ZmZlciwgc2l6ZSwgZmlsZW5hbWUsIGVycik7CisgIHJlc3VsdCA9IG9fcmVhZF9idWZmZXJf d2l0aF9jb250ZXh0ICh0b3BsZXZlbCwgb2JqZWN0X2xpc3QsIGJ1ZmZlciwgc2l6ZSwgZmlsZW5h bWUsIHRydWVfc2hlZXRfZmlsZW5hbWUsIGVycik7CiAgIGdfZnJlZSAoYnVmZmVyKTsKICAgcmV0 dXJuIHJlc3VsdDsKIH0KZGlmZiAtLWdpdCBhL2xpYmdlZGEvc3JjL2ZfYmFzaWMuYyBiL2xpYmdl ZGEvc3JjL2ZfYmFzaWMuYwppbmRleCBjODVhZWU0Li45MjY1MGJlIDEwMDY0NAotLS0gYS9saWJn ZWRhL3NyYy9mX2Jhc2ljLmMKKysrIGIvbGliZ2VkYS9zcmMvZl9iYXNpYy5jCkBAIC0xNDcsOCAr MTQ3LDggQEAgZ2Jvb2xlYW4gZl9oYXNfYWN0aXZlX2F1dG9zYXZlIChjb25zdCBnY2hhciAqZmls ZW5hbWUsIEdFcnJvciAqKmVycikKIAogLyohIFxicmllZiBPcGVucyB0aGUgc2NoZW1hdGljIGZp bGUuCiAgKiAgXHBhciBGdW5jdGlvbiBEZXNjcmlwdGlvbgotICogIE9wZW5zIHRoZSBzY2hlbWF0 aWMgZmlsZSBieSBjYWxsaW5nIGZfb3Blbl9mbGFncygpIHdpdGggdGhlCi0gKiAgRl9PUEVOX1JD IGFuZCBGX09QRU5fQ0hFQ0tfQkFDS1VQIGZsYWdzLgorICogIE9wZW5zIHRoZSBzY2hlbWF0aWMg ZmlsZSBieSBjYWxsaW5nIGZfb3Blbl93aXRoX2NvbnRleHQoKSB3aXRoIHRoZQorICogIHRydWVf c2hlZXRfZmlsZW5hbWUgTlVMTC4KICAqCiAgKiAgXHBhcmFtIFtpbixvdXRdIHRvcGxldmVsICBU aGUgVE9QTEVWRUwgb2JqZWN0IHRvIGxvYWQgdGhlIHNjaGVtYXRpYyBpbnRvLgogICogIFxwYXJh bSBbaW5dICAgICAgZmlsZW5hbWUgIEEgY2hhcmFjdGVyIHN0cmluZyBjb250YWluaW5nIHRoZSBm aWxlIG5hbWUKQEAgLTE1OSw5ICsxNTksMjkgQEAgZ2Jvb2xlYW4gZl9oYXNfYWN0aXZlX2F1dG9z YXZlIChjb25zdCBnY2hhciAqZmlsZW5hbWUsIEdFcnJvciAqKmVycikKICAqICBccmV0dXJuIDAg b24gZmFpbHVyZSwgMSBvbiBzdWNjZXNzLgogICovCiBpbnQgZl9vcGVuKFRPUExFVkVMICp0b3Bs ZXZlbCwgUEFHRSAqcGFnZSwKLSAgICAgICAgICAgY29uc3QgZ2NoYXIgKmZpbGVuYW1lLCBHRXJy b3IgKiplcnIpCisgICAgICAgICAgICBjb25zdCBnY2hhciAqZmlsZW5hbWUsIEdFcnJvciAqKmVy ciApCiB7Ci0gIHJldHVybiBmX29wZW5fZmxhZ3MgKHRvcGxldmVsLCBwYWdlLCBmaWxlbmFtZSwK KwlyZXR1cm4gZl9vcGVuX3dpdGhfY29udGV4dCggdG9wbGV2ZWwsIHBhZ2UsIGZpbGVuYW1lLCBO VUxMLCBlcnIgKTsKK30KKworLyohIFxicmllZiBPcGVucyB0aGUgc2NoZW1hdGljIGZpbGUuCisg KiAgXHBhciBGdW5jdGlvbiBEZXNjcmlwdGlvbgorICogIE9wZW5zIHRoZSBzY2hlbWF0aWMgZmls ZSBieSBjYWxsaW5nIGZfb3Blbl9mbGFnc193aXRoX2NvbnRleHQoKSB3aXRoIHRoZQorICogIEZf T1BFTl9SQyBhbmQgRl9PUEVOX0NIRUNLX0JBQ0tVUCBmbGFncy4KKyAqCisgKiAgXHBhcmFtIFtp bixvdXRdIHRvcGxldmVsICBUaGUgVE9QTEVWRUwgb2JqZWN0IHRvIGxvYWQgdGhlIHNjaGVtYXRp YyBpbnRvLgorICogIFxwYXJhbSBbaW5dICAgICAgZmlsZW5hbWUgIEEgY2hhcmFjdGVyIHN0cmlu ZyBjb250YWluaW5nIHRoZSBmaWxlIG5hbWUKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB0byBvcGVuLgorICogIFxwYXJhbSBbaW5dICAgICB0cnVlX3NoZWV0X2ZpbGVuYW1lIFRoZSBz aGVldG5hbWUgZm9yIGNvbnRleHQuCisgKiAgXHBhcmFtIFtpbixvdXRdIGVyciAgI0dFcnJvciBz dHJ1Y3R1cmUgZm9yIGVycm9yIHJlcG9ydGluZywgb3IKKyAqICAgICAgICAgICAgICAgICAgICAg ICBOVUxMIHRvIGRpc2FibGUgZXJyb3IgcmVwb3J0aW5nCisgKgorICogIFxyZXR1cm4gMCBvbiBm YWlsdXJlLCAxIG9uIHN1Y2Nlc3MuCisgKi8KK2ludCBmX29wZW5fd2l0aF9jb250ZXh0KFRPUExF VkVMICp0b3BsZXZlbCwgUEFHRSAqcGFnZSwKKyAgICAgICAgICAgY29uc3QgZ2NoYXIgKmZpbGVu YW1lLCBjb25zdCBnY2hhciAqdHJ1ZV9zaGVldF9maWxlbmFtZSwgR0Vycm9yICoqZXJyKQorewor ICByZXR1cm4gZl9vcGVuX2ZsYWdzX3dpdGhfY29udGV4dCAodG9wbGV2ZWwsIHBhZ2UsIGZpbGVu YW1lLCB0cnVlX3NoZWV0X2ZpbGVuYW1lLAogICAgICAgICAgICAgICAgICAgICAgICBGX09QRU5f UkMgfCBGX09QRU5fQ0hFQ0tfQkFDS1VQLCBlcnIpOwogfQogCkBAIC0xODgsOCArMjA4LDM3IEBA IGludCBmX29wZW5fZmxhZ3MoVE9QTEVWRUwgKnRvcGxldmVsLCBQQUdFICpwYWdlLAogICAgICAg ICAgICAgICAgICBjb25zdCBnY2hhciAqZmlsZW5hbWUsCiAgICAgICAgICAgICAgICAgIGNvbnN0 IGdpbnQgZmxhZ3MsIEdFcnJvciAqKmVycikKIHsKKwlyZXR1cm4gZl9vcGVuX2ZsYWdzX3dpdGhf Y29udGV4dCggdG9wbGV2ZWwsIHBhZ2UsIGZpbGVuYW1lLCBOVUxMLCBmbGFncywgZXJyKTsKK30K KworCisvKiEgXGJyaWVmIE9wZW5zIHRoZSBzY2hlbWF0aWMgZmlsZSB3aXRoIGZpbmUtZ3JhaW5l ZCBjb250cm9sIG92ZXIgYmVoYXZpb3VyLgorICogIFxwYXIgRnVuY3Rpb24gRGVzY3JpcHRpb24K KyAqICBPcGVucyB0aGUgc2NoZW1hdGljIGZpbGUgYW5kIGNhcnJpZXMgb3V0IGEgbnVtYmVyIG9m IGFjdGlvbnMKKyAqICBkZXBlbmRpbmcgb24gdGhlIFxhIGZsYWdzIHNldC4gIElmICNGX09QRU5f UkMgaXMgc2V0LCBleGVjdXRlcyBSQworICogIGZpbGVzIGZvdW5kIGluIHRoZSB0YXJnZXQgZGly ZWN0b3J5LiAgSWYgI0ZfT1BFTl9DSEVDS19CQUNLVVAgaXMKKyAqICBzZXQsIHdhcm5zIHVzZXIg aWYgYSBiYWNrdXAgaXMgZm91bmQgZm9yIHRoZSBmaWxlIGJlaW5nIGxvYWRlZCwKKyAqICBhbmQg cG9zc2libHkgcHJvbXB0cyB1c2VyIGZvciB3aGV0aGVyIHRvIGxvYWQgdGhlIGJhY2t1cCBpbnN0 ZWFkLgorICogIElmICNGX09QRU5fUkVTVE9SRV9DV0QgaXMgc2V0LCBkb2VzIG5vdCBjaGFuZ2Ug dGhlIHdvcmtpbmcKKyAqICBkaXJlY3RvcnkgdG8gdGhhdCBvZiB0aGUgZmlsZSBiZWluZyBsb2Fk ZWQuCisgKgorICogIFxwYXJhbSBbaW4sb3V0XSB0b3BsZXZlbCAgVGhlIFRPUExFVkVMIG9iamVj dCB0byBsb2FkIHRoZSBzY2hlbWF0aWMgaW50by4KKyAqICBccGFyYW0gW2luXSAgICAgZmlsZW5h bWUgICBBIGNoYXJhY3RlciBzdHJpbmcgY29udGFpbmluZyB0aGUgZmlsZSBuYW1lCisgKiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdG8gb3Blbi4KKyAqICBccGFyYW0gW2luXSAgICAgZmxh Z3MgICAgICBDb21iaW5hdGlvbiBvZiAjRk9wZW5GbGFncyB2YWx1ZXMuCisgKiAgXHBhcmFtIFtp bl0gICAgIHRydWVfc2hlZXRfZmlsZW5hbWUgVGhlIHNoZWV0bmFtZSBmb3IgY29udGV4dC4KKyAq ICBccGFyYW0gW2luLG91dF0gZXJyICAjR0Vycm9yIHN0cnVjdHVyZSBmb3IgZXJyb3IgcmVwb3J0 aW5nLCBvcgorICogICAgICAgICAgICAgICAgICAgICAgIE5VTEwgdG8gZGlzYWJsZSBlcnJvciBy ZXBvcnRpbmcKKyAqCisgKiAgXHJldHVybiAwIG9uIGZhaWx1cmUsIDEgb24gc3VjY2Vzcy4KKyAq LworaW50IGZfb3Blbl9mbGFnc193aXRoX2NvbnRleHQoVE9QTEVWRUwgKnRvcGxldmVsLCBQQUdF ICpwYWdlLAorICAgICAgICAgICAgICAgICBjb25zdCBnY2hhciAqZmlsZW5hbWUsIGNvbnN0IGdj aGFyICp0cnVlX3NoZWV0X2ZpbGVuYW1lLAorICAgICAgICAgICAgICAgICBjb25zdCBnaW50IGZs YWdzLCBHRXJyb3IgKiplcnIpCit7CiAgIGludCBvcGVuZWQ9RkFMU0U7CiAgIGNoYXIgKmZ1bGxf ZmlsZW5hbWUgPSBOVUxMOworICBjaGFyICpmdWxsX3RydWVfc2hlZXRfZmlsZW5hbWUgPSBOVUxM OwogICBjaGFyICpmaWxlX2RpcmVjdG9yeSA9IE5VTEw7CiAgIGNoYXIgKnNhdmVkX2N3ZCA9IE5V TEw7CiAgIGNoYXIgKmJhY2t1cF9maWxlbmFtZSA9IE5VTEw7CkBAIC0yMTMsNiArMjYyLDE2IEBA IGludCBmX29wZW5fZmxhZ3MoVE9QTEVWRUwgKnRvcGxldmVsLCBQQUdFICpwYWdlLAogICAgIGdf ZXJyb3JfZnJlZSh0bXBfZXJyKTsKICAgICByZXR1cm4gMDsKICAgfQorICBpZiggdHJ1ZV9zaGVl dF9maWxlbmFtZSAhPSBOVUxMICl7CisgICAgZnVsbF90cnVlX3NoZWV0X2ZpbGVuYW1lID0gZl9u b3JtYWxpemVfZmlsZW5hbWUoIHRydWVfc2hlZXRfZmlsZW5hbWUsICZ0bXBfZXJyKTsKKyAgICBp ZiAoZnVsbF90cnVlX3NoZWV0X2ZpbGVuYW1lID09IE5VTEwpIHsKKyAgICAgIGdfc2V0X2Vycm9y IChlcnIsIEdfRklMRV9FUlJPUiwgdG1wX2Vyci0+Y29kZSwKKyAgICAgICAgICAgICAgICAgICBf KCJDYW5ub3QgZmluZCBmaWxlICVzOiAlcyIpLAorICAgICAgICAgICAgICAgICAgIHRydWVfc2hl ZXRfZmlsZW5hbWUsIHRtcF9lcnItPm1lc3NhZ2UpOworICAgICAgZ19lcnJvcl9mcmVlKHRtcF9l cnIpOworICAgICAgcmV0dXJuIDA7CisgICAgfQorICB9CiAKICAgLyogd3JpdGUgZnVsbCwgYWJz b2x1dGUgZmlsZW5hbWUgaW50byBwYWdlLT5wYWdlX2ZpbGVuYW1lICovCiAgIGdfZnJlZShwYWdl LT5wYWdlX2ZpbGVuYW1lKTsKQEAgLTI4MywxMSArMzQyLDExIEBAIGludCBmX29wZW5fZmxhZ3Mo VE9QTEVWRUwgKnRvcGxldmVsLCBQQUdFICpwYWdlLAogICBpZiAobG9hZF9iYWNrdXBfZmlsZSA9 PSAxKSB7CiAgICAgLyogTG9hZCB0aGUgYmFja3VwIGZpbGUgKi8KICAgICBzX3BhZ2VfYXBwZW5k X2xpc3QgKHRvcGxldmVsLCBwYWdlLAotICAgICAgICAgICAgICAgICAgICAgICAgb19yZWFkICh0 b3BsZXZlbCwgTlVMTCwgYmFja3VwX2ZpbGVuYW1lLCAmdG1wX2VycikpOworICAgICAgICAgICAg ICAgICAgICAgICAgb19yZWFkICh0b3BsZXZlbCwgTlVMTCwgYmFja3VwX2ZpbGVuYW1lLCBmdWxs X3RydWVfc2hlZXRfZmlsZW5hbWUsICZ0bXBfZXJyKSk7CiAgIH0gZWxzZSB7CiAgICAgLyogTG9h ZCB0aGUgb3JpZ2luYWwgZmlsZSAqLwogICAgIHNfcGFnZV9hcHBlbmRfbGlzdCAodG9wbGV2ZWws IHBhZ2UsCi0gICAgICAgICAgICAgICAgICAgICAgICBvX3JlYWQgKHRvcGxldmVsLCBOVUxMLCBm dWxsX2ZpbGVuYW1lLCAmdG1wX2VycikpOworICAgICAgICAgICAgICAgICAgICAgICAgb19yZWFk ICh0b3BsZXZlbCwgTlVMTCwgZnVsbF9maWxlbmFtZSwgZnVsbF90cnVlX3NoZWV0X2ZpbGVuYW1l LCAmdG1wX2VycikpOwogICB9CiAKICAgaWYgKHRtcF9lcnIgPT0gTlVMTCkKQEAgLTMwNSw2ICsz NjQsNyBAQCBpbnQgZl9vcGVuX2ZsYWdzKFRPUExFVkVMICp0b3BsZXZlbCwgUEFHRSAqcGFnZSwK ICAgfQogCiAgIGdfZnJlZShmdWxsX2ZpbGVuYW1lKTsKKyAgZ19mcmVlKGZ1bGxfdHJ1ZV9zaGVl dF9maWxlbmFtZSk7CiAgIGdfZnJlZSAoYmFja3VwX2ZpbGVuYW1lKTsKIAogICAvKiBSZXNldCB0 aGUgZGlyZWN0b3J5IHRvIHRoZSB2YWx1ZSBpdCBoYWQgd2hlbiBmX29wZW4gd2FzCmRpZmYgLS1n aXQgYS9saWJnZWRhL3NyYy9vX3BpY3R1cmUuYyBiL2xpYmdlZGEvc3JjL29fcGljdHVyZS5jCmlu ZGV4IGVlMzY1ZTkuLmYzMGViYmUgMTAwNjQ0Ci0tLSBhL2xpYmdlZGEvc3JjL29fcGljdHVyZS5j CisrKyBiL2xpYmdlZGEvc3JjL29fcGljdHVyZS5jCkBAIC01MSw2ICs1MSw3IEBAIE9CSkVDVCAq b19waWN0dXJlX3JlYWQgKFRPUExFVkVMICp0b3BsZXZlbCwKICAgICAgICAgICAgICAgICAgICAg ICAgIFRleHRCdWZmZXIgKnRiLAogICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50 IHJlbGVhc2VfdmVyLAogICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGZpbGVm b3JtYXRfdmVyLAorCQkJY2hhciAqdHJ1ZV9zaGVldF9maWxlbmFtZSwKICAgICAgICAgICAgICAg ICAgICAgICAgIEdFcnJvciAqKmVycikKIHsKICAgT0JKRUNUICpuZXdfb2JqOwpAQCAtMTUyLDEw ICsxNTMsMTAgQEAgT0JKRUNUICpvX3BpY3R1cmVfcmVhZCAoVE9QTEVWRUwgKnRvcGxldmVsLAog CiAgIC8qIGNyZWF0ZSB0aGUgcGljdHVyZSAqLwogICAvKiBUaGUgcGljdHVyZSBpcyBkZXNjcmli ZWQgYnkgaXRzIHVwcGVyIGxlZnQgYW5kIGxvd2VyIHJpZ2h0IGNvcm5lciAqLwotICBuZXdfb2Jq ID0gb19waWN0dXJlX25ldyAodG9wbGV2ZWwsIGZpbGVfY29udGVudCwgZmlsZV9sZW5ndGgsIGZp bGVuYW1lLAorICBuZXdfb2JqID0gb19waWN0dXJlX25ld193aXRoX2NvbnRleHQgKHRvcGxldmVs LCBmaWxlX2NvbnRlbnQsIGZpbGVfbGVuZ3RoLCBmaWxlbmFtZSwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHR5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4MSwgeTEraGVpZ2h0 LCB4MSt3aWR0aCwgeTEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBhbmdsZSwgbWlycm9y ZWQsIGVtYmVkZGVkKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZ2xlLCBtaXJyb3Jl ZCwgZW1iZWRkZWQsIHRydWVfc2hlZXRfZmlsZW5hbWUpOwogCiAgIGdfZnJlZSAoZmlsZV9jb250 ZW50KTsKICAgZ19mcmVlIChmaWxlbmFtZSk7CkBAIC0yNDAsNyArMjQxLDYgQEAgY2hhciAqb19w aWN0dXJlX3NhdmUoVE9QTEVWRUwgKnRvcGxldmVsLCBPQkpFQ1QgKm9iamVjdCkKICAgcmV0dXJu KG91dCk7CiB9CiAKLQogLyohIFxicmllZiBDcmVhdGUgYSBwaWN0dXJlIG9iamVjdC4KICAqICBc cGFyIEZ1bmN0aW9uIERlc2NyaXB0aW9uCiAgKiAgVGhpcyBmdW5jdGlvbiBjcmVhdGVzIGEgbmV3 IG9iamVjdCByZXByZXNlbnRpbmcgYSBwaWN0dXJlLgpAQCAtMjU4LDYgKzI1OCw3IEBAIGNoYXIg Km9fcGljdHVyZV9zYXZlKFRPUExFVkVMICp0b3BsZXZlbCwgT0JKRUNUICpvYmplY3QpCiAgKiAg XHBhcmFtIFtpbl0gICAgIHRvcGxldmVsICAgICAgVGhlIFRPUExFVkVMIG9iamVjdC4KICAqICBc cGFyYW0gW2luXSAgICAgZmlsZV9jb250ZW50ICBSYXcgZGF0YSBvZiB0aGUgaW1hZ2UgZmlsZSwg b3IgTlVMTC4KICAqICBccGFyYW0gW2luXSAgICAgZmlsZV9sZW5ndGggICBMZW5ndGggb2YgcmF3 IGRhdGEgYnVmZmVyCisKICAqICBccGFyYW0gW2luXSAgICAgZmlsZW5hbWUgICAgICBGaWxlIG5h bWUgYmFja2luZyB0aGlzIHBpY3R1cmUsIG9yIE5VTEwuCiAgKiAgXHBhcmFtIFtpbl0gICAgIHR5 cGUgICAgICAgICAgTXVzdCBiZSBPQkpfUElDVFVSRS4KICAqICBccGFyYW0gW2luXSAgICAgeDEg ICAgICAgICAgICBVcHBlciB4IGNvb3JkaW5hdGUuCkBAIC0yNzMsMTEgKzI3NCw1MiBAQCBPQkpF Q1QgKm9fcGljdHVyZV9uZXcgKFRPUExFVkVMICp0b3BsZXZlbCwKICAgICAgICAgICAgICAgICAg ICAgICAgY29uc3QgZ2NoYXIgKmZpbGVfY29udGVudCwgZ3NpemUgZmlsZV9sZW5ndGgsCiAgICAg ICAgICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICpmaWxlbmFtZSwKICAgICAgICAgICAgICAg ICAgICAgICAgY2hhciB0eXBlLCBpbnQgeDEsIGludCB5MSwgaW50IHgyLCBpbnQgeTIsIGludCBh bmdsZSwKLSAgICAgICAgICAgICAgICAgICAgICAgaW50IG1pcnJvcmVkLCBpbnQgZW1iZWRkZWQp CisgICAgICAgICAgICAgICAgICAgICAgIGludCBtaXJyb3JlZCwgaW50IGVtYmVkZGVkICkKK3sK KwlyZXR1cm4gb19waWN0dXJlX25ld193aXRoX2NvbnRleHQoIHRvcGxldmVsLCBmaWxlX2NvbnRl bnQsIGZpbGVfbGVuZ3RoLCBmaWxlbmFtZSwgdHlwZSwgeDEsIHkxLCB4MiwgeTIsIGFuZ2xlLCBt aXJyb3JlZCwgZW1iZWRkZWQsIE5VTEwgKTsKK30KKworLyohIFxicmllZiBDcmVhdGUgYSBwaWN0 dXJlIG9iamVjdC4KKyAqICBccGFyIEZ1bmN0aW9uIERlc2NyaXB0aW9uCisgKiAgVGhpcyBmdW5j dGlvbiBjcmVhdGVzIGEgbmV3IG9iamVjdCByZXByZXNlbnRpbmcgYSBwaWN0dXJlLgorICoKKyAq ICBUaGUgcGljdHVyZSBpcyBkZXNjcmliZWQgYnkgaXRzIHVwcGVyIGxlZnQgY29ybmVyIChcYSB4 MSwgXGEgeTEpCisgKiAgYW5kIGl0cyBsb3dlciByaWdodCBjb3JuZXIgKFxhIHgyLCBcYSB5Miku ICBUaGUgXGEgdHlwZSBwYXJhbWV0ZXIKKyAqICBtdXN0IGJlIGVxdWFsIHRvICNPQkpfUElDVFVS RS4KKyAqCisgKiAgSWYgXGEgZmlsZV9jb250ZW50IGlzIG5vbi1OVUxMLCBpdCBtdXN0IGJlIGEg cG9pbnRlciB0byBhIGJ1ZmZlcgorICogIGNvbnRhaW5pbmcgcmF3IGltYWdlIGRhdGEuICBJZiBs b2FkaW5nIGRhdGEgZnJvbSBcYSBmaWxlX2NvbnRlbnQKKyAqICBpcyB1bnN1Y2Nlc3NmdWwsIGFu ZCBcYSBmaWxlbmFtZSBpcyBub24tTlVMTCwgYW4gaW1hZ2Ugd2lsbAorICogIGF0dGVtcHQgdG8g YmUgbG9hZGVkIGZyb20gXGEgZmlsZW5hbWUuICBPdGhlcndpc2UsIHRoZSBwaWN0dXJlCisgKiAg b2JqZWN0IHdpbGwgYmUgaW5pdGlhbGx5IGVtcHR5LgorICoKKyAqICBccGFyYW0gW2luXSAgICAg dG9wbGV2ZWwgICAgICBUaGUgVE9QTEVWRUwgb2JqZWN0LgorICogIFxwYXJhbSBbaW5dICAgICBm aWxlX2NvbnRlbnQgIFJhdyBkYXRhIG9mIHRoZSBpbWFnZSBmaWxlLCBvciBOVUxMLgorICogIFxw YXJhbSBbaW5dICAgICBmaWxlX2xlbmd0aCAgIExlbmd0aCBvZiByYXcgZGF0YSBidWZmZXIKKwor ICogIFxwYXJhbSBbaW5dICAgICBmaWxlbmFtZSAgICAgIEZpbGUgbmFtZSBiYWNraW5nIHRoaXMg cGljdHVyZSwgb3IgTlVMTC4KKyAqICBccGFyYW0gW2luXSAgICAgdHJ1ZV9zaGVldF9maWxlbmFt ZSBUaGUgc2hlZXRuYW1lIGZvciBjb250ZXh0LgorICogIFxwYXJhbSBbaW5dICAgICB0eXBlICAg ICAgICAgIE11c3QgYmUgT0JKX1BJQ1RVUkUuCisgKiAgXHBhcmFtIFtpbl0gICAgIHgxICAgICAg ICAgICAgVXBwZXIgeCBjb29yZGluYXRlLgorICogIFxwYXJhbSBbaW5dICAgICB5MSAgICAgICAg ICAgIFVwcGVyIHkgY29vcmRpbmF0ZS4KKyAqICBccGFyYW0gW2luXSAgICAgeDIgICAgICAgICAg ICBMb3dlciB4IGNvb3JkaW5hdGUuCisgKiAgXHBhcmFtIFtpbl0gICAgIHkyICAgICAgICAgICAg TG93ZXIgeSBjb29yZGluYXRlLgorICogIFxwYXJhbSBbaW5dICAgICBhbmdsZSAgICAgICAgIFBp Y3R1cmUgcm90YXRpb24gYW5nbGUuCisgKiAgXHBhcmFtIFtpbl0gICAgIG1pcnJvcmVkICAgICAg V2hldGhlciB0aGUgaW1hZ2Ugc2hvdWxkIGJlIG1pcnJvcmVkIG9yIG5vdC4KKyAqICBccGFyYW0g W2luXSAgICAgZW1iZWRkZWQgICAgICBXaGV0aGVyIHRoZSBlbWJlZGRlZCBmbGFnIHNob3VsZCBi ZSBzZXQgb3Igbm90LgorICogIFxyZXR1cm4gQSBwb2ludGVyIHRvIGEgbmV3IHBpY3R1cmUgI09C SkVDVC4KKyAqLworT0JKRUNUICpvX3BpY3R1cmVfbmV3X3dpdGhfY29udGV4dCAoVE9QTEVWRUwg KnRvcGxldmVsLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnY2hhciAqZmlsZV9jb250 ZW50LCBnc2l6ZSBmaWxlX2xlbmd0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2No YXIgKmZpbGVuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICBjaGFyIHR5cGUsIGludCB4MSwg aW50IHkxLCBpbnQgeDIsIGludCB5MiwgaW50IGFuZ2xlLAorICAgICAgICAgICAgICAgICAgICAg ICBpbnQgbWlycm9yZWQsIGludCBlbWJlZGRlZCwgY29uc3QgZ2NoYXIgKnRydWVfc2hlZXRfZmls ZW5hbWUpCiB7CiAgIE9CSkVDVCAqbmV3X25vZGU7CiAgIFBJQ1RVUkUgKnBpY3R1cmU7CiAKKwor CiAgIC8qIGNyZWF0ZSB0aGUgb2JqZWN0ICovCiAgIG5ld19ub2RlID0gc19iYXNpY19uZXdfb2Jq ZWN0KHR5cGUsICJwaWN0dXJlIik7CiAKQEAgLTMxNiw3ICszNTgsNyBAQCBPQkpFQ1QgKm9fcGlj dHVyZV9uZXcgKFRPUExFVkVMICp0b3BsZXZlbCwKICAgfQogICBpZiAocGljdHVyZS0+cGl4YnVm ID09IE5VTEwgJiYgZmlsZW5hbWUgIT0gTlVMTCkgewogICAgIEdFcnJvciAqZXJyb3IgPSBOVUxM OwotICAgIGlmICghb19waWN0dXJlX3NldF9mcm9tX2ZpbGUgKHRvcGxldmVsLCBuZXdfbm9kZSwg ZmlsZW5hbWUsICZlcnJvcikpIHsKKyAgICBpZiAoIW9fcGljdHVyZV9zZXRfZnJvbV9maWxlX3dp dGhfY29udGV4dCAodG9wbGV2ZWwsIG5ld19ub2RlLCBmaWxlbmFtZSwgdHJ1ZV9zaGVldF9maWxl bmFtZSwgJmVycm9yKSkgewogICAgICAgc19sb2dfbWVzc2FnZSAoXygiRmFpbGVkIHRvIGxvYWQg aW1hZ2UgZnJvbSBbJXNdOiAlc1xuIiksCiAgICAgICAgICAgICAgICAgICAgICBmaWxlbmFtZSwg ZXJyb3ItPm1lc3NhZ2UpOwogICAgICAgZ19lcnJvcl9mcmVlIChlcnJvcik7CkBAIC05NjksMTkg KzEwMTEsNTQgQEAgb19waWN0dXJlX3NldF9mcm9tX2ZpbGUgKFRPUExFVkVMICp0b3BsZXZlbCwg T0JKRUNUICpvYmplY3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgKmZp bGVuYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgIEdFcnJvciAqKmVycm9yKQogeworICBy ZXR1cm4gb19waWN0dXJlX3NldF9mcm9tX2ZpbGVfd2l0aF9jb250ZXh0KCB0b3BsZXZlbCwgb2Jq ZWN0LCBmaWxlbmFtZSwgTlVMTCwgZXJyb3IgKTsKK30KKworLyohIFxicmllZiBTZXQgYSBwaWN0 dXJlIG9iamVjdCdzIGNvbnRlbnRzIGZyb20gYSBmaWxlLgorICogXHBhciBGdW5jdGlvbiBEZXNj cmlwdGlvbgorICogU2V0cyB0aGUgY29udGVudHMgb2YgdGhlIHBpY3R1cmUgXGEgb2JqZWN0IGJ5 IHJlYWRpbmcgaW1hZ2UgZGF0YQorICogZnJvbSBhIGZpbGUuCisgKgorICogXHBhcmFtIHRvcGxl dmVsIFRoZSBjdXJyZW50ICNUT1BMRVZFTC4KKyAqIFxwYXJhbSBvYmplY3QgICBUaGUgcGljdHVy ZSAjT0JKRUNUIHRvIG1vZGlmeS4KKyAqIFxwYXJhbSBmaWxlbmFtZSBUaGUgZmlsZW5hbWUgdG8g bG9hZCBpbWFnZSBkYXRhIGZyb20uCisgKiBccGFyYW0gdHJ1ZV9zaGVldF9maWxlbmFtZSBUaGUg c2hlZXRuYW1lIGZvciBjb250ZXh0LgorICogXHBhcmFtIGVycm9yICAgIExvY2F0aW9uIHRvIHJl dHVybiBlcnJvciBpbmZvcm1hdGlvbi4KKyAqIFxyZXR1cm4gVFJVRSBvbiBzdWNjZXNzLCBGQUxT RSBvbiBmYWlsdXJlLgorICovCitnYm9vbGVhbgorb19waWN0dXJlX3NldF9mcm9tX2ZpbGVfd2l0 aF9jb250ZXh0IChUT1BMRVZFTCAqdG9wbGV2ZWwsIE9CSkVDVCAqb2JqZWN0LAorICAgICAgICAg ICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICpmaWxlbmFtZSwgY29uc3QgZ2NoYXIgKnRydWVf c2hlZXRfZmlsZW5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgR0Vycm9yICoqZXJyb3Ip Cit7CiAgIGdjaGFyICpidWY7CiAgIHNpemVfdCBsZW47CiAgIGdib29sZWFuIHN0YXR1czsKIAor ICBnY2hhciAqZml4ZWRQYXRoID0gTlVMTDsKKyAgZ2NoYXIgKmRpcm5hbWUgPSBOVUxMOworCisg IC8vaWYgdGhlIGZpbGVuYW1lIGlzIHJlbGF0aXZlCisgIGlmKCBmaWxlbmFtZSAhPSBOVUxMICYm ICFnX3BhdGhfaXNfYWJzb2x1dGUoZmlsZW5hbWUpICYmIHRydWVfc2hlZXRfZmlsZW5hbWUgIT0g TlVMTCApeworICAgIGRpcm5hbWUgPSBnX3BhdGhfZ2V0X2Rpcm5hbWUodHJ1ZV9zaGVldF9maWxl bmFtZSk7CisgICAgZml4ZWRQYXRoID0gZ19idWlsZF9maWxlbmFtZShkaXJuYW1lLGZpbGVuYW1l LE5VTEwpOworICAvLyAgZml4ZWRQYXRoID0gZ19zdHJkdXAoZmlsZW5hbWUpOworICAgIGdfZnJl ZShkaXJuYW1lKTsKKyAgfWVsc2V7CisgICAgZml4ZWRQYXRoID0gZ19zdHJkdXAoZmlsZW5hbWUp OworICB9CisKICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKGZpbGVuYW1lICE9IE5VTEwsIEZBTFNF KTsKIAotICBpZiAoIWdfZmlsZV9nZXRfY29udGVudHMgKGZpbGVuYW1lLCAmYnVmLCAmbGVuLCBl cnJvcikpIHsKKyAgCisgIGlmICghZ19maWxlX2dldF9jb250ZW50cyAoZml4ZWRQYXRoLCAmYnVm LCAmbGVuLCBlcnJvcikpIHsKICAgICByZXR1cm4gRkFMU0U7CiAgIH0KIAogICBzdGF0dXMgPSBv X3BpY3R1cmVfc2V0X2Zyb21fYnVmZmVyICh0b3BsZXZlbCwgb2JqZWN0LCBmaWxlbmFtZSwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmLCBsZW4sIGVycm9yKTsKICAg Z19mcmVlIChidWYpOworICBnX2ZyZWUgKGZpeGVkUGF0aCk7CiAgIHJldHVybiBzdGF0dXM7CiB9 CiAKLS0gCjEuOS4xCgo= --001a114265ba912ad20526644041--