--0a47d932e002ef58044d20d958b1861ba7421c373ac9e945ca75c94d7490
Content-Type: multipart/alternative;
boundary=60d59167cb2e9be938a0317e231c6c82724729c43ed3d03dcd47079b0850
--60d59167cb2e9be938a0317e231c6c82724729c43ed3d03dcd47079b0850 Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline
Content-Type: text/plain; charset=UTF-8; format=Flowed
Control: tags -1 patch
Patches attached, with a MR submitted at
https://salsa.debian.org/go-team/packages/golang-github-sergi-go-diff/-/merge_requests/1
--60d59167cb2e9be938a0317e231c6c82724729c43ed3d03dcd47079b0850--
--0a47d932e002ef58044d20d958b1861ba7421c373ac9e945ca75c94d7490 Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename=0001-New-upstream-version-1.4.0.patch
Content-Type: text/x-patch; charset=utf-8;
name=0001-New-upstream-version-1.4.0.patch
RnJvbSA0MjUyYTViNjllOGJkY2ZiOGQzMTJmMDU5NTI5NTYzYWMzNWJkNTg5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZWEgUGFwcGFjb2RhIDx0YWNoaUBkZWJpYW4ub3JnPgpE YXRlOiBUdWUsIDIyIEp1bCAyMDI1IDE3OjI5OjUzICswMjAwClN1YmplY3Q6IFtQQVRDSCAxLzVd IE5ldyB1cHN0cmVhbSB2ZXJzaW9uIDEuNC4wCgotLS0KIC50cmF2aXMueW1sICAgICAgICAgICAg ICAgICAgICAgICB8ICAxMiArKy0tCiBkaWZmbWF0Y2hwYXRjaC9kaWZmLmdvICAgICAgICAgICAg fCAgNTggKysrKysrKysrLS0tLS0tLS0KIGRpZmZtYXRjaHBhdGNoL2RpZmZfdGVzdC5nbyAgICAg ICB8ICA2OSArKysrKysrKysrKysrKysrLS0tLQogZGlmZm1hdGNocGF0Y2gvaW5kZXguZ28gICAg ICAgICAgIHwgIDMyICsrKysrKysrKysKIGRpZmZtYXRjaHBhdGNoL2luZGV4X3Rlc3QuZ28gICAg ICB8ICAxNiArKysrKwogZGlmZm1hdGNocGF0Y2gvcGF0Y2hfdGVzdC5nbyAgICAgIHwgIDI1ICsr KysrKysrCiBkaWZmbWF0Y2hwYXRjaC9zdHJpbmd1dGlsLmdvICAgICAgfCAxMDIgKysrKysrKysr KysrKysrKysrKysrKysrKysrLS0tCiBkaWZmbWF0Y2hwYXRjaC9zdHJpbmd1dGlsX3Rlc3QuZ28g fCAgMTggKysrKysrCiBnby5tb2QgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDQgKy0K IGdvLnN1bSAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArCiAxMCBmaWxlcyBjaGFu Z2VkLCAyODQgaW5zZXJ0aW9ucygrKSwgNTQgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2 NDQgZGlmZm1hdGNocGF0Y2gvaW5kZXguZ28KIGNyZWF0ZSBtb2RlIDEwMDY0NCBkaWZmbWF0Y2hw YXRjaC9pbmRleF90ZXN0LmdvCgpkaWZmIC0tZ2l0IGEvLnRyYXZpcy55bWwgYi8udHJhdmlzLnlt bAppbmRleCBkOGRhN2M1Li45MDMyYTBmIDEwMDY0NAotLS0gYS8udHJhdmlzLnltbAorKysgYi8u dHJhdmlzLnltbApAQCAtMSwxNSArMSwxNSBAQAogbGFuZ3VhZ2U6IGdvCi0KK2FyY2g6IAorICAt IGFtZDY0CisgIC0gcHBjNjRsZQogb3M6CiAgIC0gbGludXgKICAgLSBvc3gKIAogZ286Ci0gIC0g MS45LngKLSAgLSAxLjEwLngKLSAgLSAxLjExLngKLSAgLSAxLjEyLngKLSAgLSAxLjEzLngKKyAg LSAxLjEzCisgIC0gMS4xNAorICAtIDEuMTUKIAogc3VkbzogZmFsc2UKIApkaWZmIC0tZ2l0IGEv ZGlmZm1hdGNocGF0Y2gvZGlmZi5nbyBiL2RpZmZtYXRjaHBhdGNoL2RpZmYuZ28KaW5kZXggMmE5 ZjJkYy4uMDhjMzZlNyAxMDA2NDQKLS0tIGEvZGlmZm1hdGNocGF0Y2gvZGlmZi5nbworKysgYi9k aWZmbWF0Y2hwYXRjaC9kaWZmLmdvCkBAIC0zNCw4ICszNCw2IEBAIGNvbnN0ICgKIAlEaWZmSW5z ZXJ0IE9wZXJhdGlvbiA9IDEKIAkvLyBEaWZmRXF1YWwgaXRlbSByZXByZXNlbnRzIGFuIGVxdWFs IGRpZmYuCiAJRGlmZkVxdWFsIE9wZXJhdGlvbiA9IDAKLQkvL0luZGV4U2VwYXJhdG9yIGlzIHVz ZWQgdG8gc2VwZXJhdGUgdGhlIGFycmF5IGluZGV4ZXMgaW4gYW4gaW5kZXggc3RyaW5nCi0JSW5k ZXhTZXBhcmF0b3IgPSAiLCIKICkKIAogLy8gRGlmZiByZXByZXNlbnRzIG9uZSBkaWZmIG9wZXJh dGlvbgpAQCAtNDA2LDE0ICs0MDQsMTEgQEAgZnVuYyAoZG1wICpEaWZmTWF0Y2hQYXRjaCkgRGlm ZkxpbmVzVG9SdW5lcyh0ZXh0MSwgdGV4dDIgc3RyaW5nKSAoW11ydW5lLCBbXXJ1bmUKIGZ1bmMg KGRtcCAqRGlmZk1hdGNoUGF0Y2gpIERpZmZDaGFyc1RvTGluZXMoZGlmZnMgW11EaWZmLCBsaW5l QXJyYXkgW11zdHJpbmcpIFtdRGlmZiB7CiAJaHlkcmF0ZWQgOj0gbWFrZShbXURpZmYsIDAsIGxl bihkaWZmcykpCiAJZm9yIF8sIGFEaWZmIDo9IHJhbmdlIGRpZmZzIHsKLQkJY2hhcnMgOj0gc3Ry aW5ncy5TcGxpdChhRGlmZi5UZXh0LCBJbmRleFNlcGFyYXRvcikKLQkJdGV4dCA6PSBtYWtlKFtd c3RyaW5nLCBsZW4oY2hhcnMpKQorCQlydW5lcyA6PSBbXXJ1bmUoYURpZmYuVGV4dCkKKwkJdGV4 dCA6PSBtYWtlKFtdc3RyaW5nLCBsZW4ocnVuZXMpKQogCi0JCWZvciBpLCByIDo9IHJhbmdlIGNo YXJzIHsKLQkJCWkxLCBlcnIgOj0gc3RyY29udi5BdG9pKHIpCi0JCQlpZiBlcnIgPT0gbmlsIHsK LQkJCQl0ZXh0W2ldID0gbGluZUFycmF5W2kxXQotCQkJfQorCQlmb3IgaSwgciA6PSByYW5nZSBy dW5lcyB7CisJCQl0ZXh0W2ldID0gbGluZUFycmF5W3J1bmVUb0ludChyKV0KIAkJfQogCiAJCWFE aWZmLlRleHQgPSBzdHJpbmdzLkpvaW4odGV4dCwgIiIpCkBAIC0xMTUxLDEzICsxMTQ2LDI4IEBA IGZ1bmMgKGRtcCAqRGlmZk1hdGNoUGF0Y2gpIERpZmZQcmV0dHlUZXh0KGRpZmZzIFtdRGlmZikg c3RyaW5nIHsKIAogCQlzd2l0Y2ggZGlmZi5UeXBlIHsKIAkJY2FzZSBEaWZmSW5zZXJ0OgotCQkJ XywgXyA9IGJ1ZmYuV3JpdGVTdHJpbmcoIlx4MWJbMzJtIikKLQkJCV8sIF8gPSBidWZmLldyaXRl U3RyaW5nKHRleHQpCi0JCQlfLCBfID0gYnVmZi5Xcml0ZVN0cmluZygiXHgxYlswbSIpCisJCQls aW5lcyA6PSBzdHJpbmdzLlNwbGl0KHRleHQsICJcbiIpCisJCQlmb3IgaSwgbGluZSA6PSByYW5n ZSBsaW5lcyB7CisJCQkJXywgXyA9IGJ1ZmYuV3JpdGVTdHJpbmcoIlx4MWJbMzJtIikKKwkJCQlf LCBfID0gYnVmZi5Xcml0ZVN0cmluZyhsaW5lKQorCQkJCWlmIGkgPCBsZW4obGluZXMpLTEgewor CQkJCQlfLCBfID0gYnVmZi5Xcml0ZVN0cmluZygiXHgxYlswbVxuIikKKwkJCQl9IGVsc2Ugewor CQkJCQlfLCBfID0gYnVmZi5Xcml0ZVN0cmluZygiXHgxYlswbSIpCisJCQkJfQorCQkJfQorCiAJ CWNhc2UgRGlmZkRlbGV0ZToKLQkJCV8sIF8gPSBidWZmLldyaXRlU3RyaW5nKCJceDFiWzMxbSIp Ci0JCQlfLCBfID0gYnVmZi5Xcml0ZVN0cmluZyh0ZXh0KQotCQkJXywgXyA9IGJ1ZmYuV3JpdGVT dHJpbmcoIlx4MWJbMG0iKQorCQkJbGluZXMgOj0gc3RyaW5ncy5TcGxpdCh0ZXh0LCAiXG4iKQor CQkJZm9yIGksIGxpbmUgOj0gcmFuZ2UgbGluZXMgeworCQkJCV8sIF8gPSBidWZmLldyaXRlU3Ry aW5nKCJceDFiWzMxbSIpCisJCQkJXywgXyA9IGJ1ZmYuV3JpdGVTdHJpbmcobGluZSkKKwkJCQlp ZiBpIDwgbGVuKGxpbmVzKS0xIHsKKwkJCQkJXywgXyA9IGJ1ZmYuV3JpdGVTdHJpbmcoIlx4MWJb MG1cbiIpCisJCQkJfSBlbHNlIHsKKwkJCQkJXywgXyA9IGJ1ZmYuV3JpdGVTdHJpbmcoIlx4MWJb MG0iKQorCQkJCX0KKwkJCX0KIAkJY2FzZSBEaWZmRXF1YWw6CiAJCQlfLCBfID0gYnVmZi5Xcml0 ZVN0cmluZyh0ZXh0KQogCQl9CkBAIC0xMzEwLDIzICsxMzIwLDIxIEBAIGZ1bmMgKGRtcCAqRGlm Zk1hdGNoUGF0Y2gpIERpZmZGcm9tRGVsdGEodGV4dDEgc3RyaW5nLCBkZWx0YSBzdHJpbmcpIChk aWZmcyBbXURpCiAKIC8vIGRpZmZMaW5lc1RvU3RyaW5ncyBzcGxpdHMgdHdvIHRleHRzIGludG8g YSBsaXN0IG9mIHN0cmluZ3MuIEVhY2ggc3RyaW5nIHJlcHJlc2VudHMgb25lIGxpbmUuCiBmdW5j IChkbXAgKkRpZmZNYXRjaFBhdGNoKSBkaWZmTGluZXNUb1N0cmluZ3ModGV4dDEsIHRleHQyIHN0 cmluZykgKHN0cmluZywgc3RyaW5nLCBbXXN0cmluZykgewotCS8vICdceDAwJyBpcyBhIHZhbGlk IGNoYXJhY3RlciwgYnV0IHZhcmlvdXMgZGVidWdnZXJzIGRvbid0IGxpa2UgaXQuIFNvIHdlJ2xs IGluc2VydCBhIGp1bmsgZW50cnkgdG8gYXZvaWQgZ2VuZXJhdGluZyBhIG51bGwgY2hhcmFjdGVy LgogCWxpbmVBcnJheSA6PSBbXXN0cmluZ3siIn0gLy8gZS5nLiBsaW5lQXJyYXlbNF0gPT0gJ0hl bGxvXG4nCiAKKwlsaW5lSGFzaCA6PSBtYWtlKG1hcFtzdHJpbmddaW50KQogCS8vRWFjaCBzdHJp bmcgaGFzIHRoZSBpbmRleCBvZiBsaW5lQXJyYXkgd2hpY2ggaXQgcG9pbnRzIHRvCi0Jc3RySW5k ZXhBcnJheTEgOj0gZG1wLmRpZmZMaW5lc1RvU3RyaW5nc011bmdlKHRleHQxLCAmbGluZUFycmF5 KQotCXN0ckluZGV4QXJyYXkyIDo9IGRtcC5kaWZmTGluZXNUb1N0cmluZ3NNdW5nZSh0ZXh0Miwg JmxpbmVBcnJheSkKKwlzdHJJbmRleEFycmF5MSA6PSBkbXAuZGlmZkxpbmVzVG9TdHJpbmdzTXVu Z2UodGV4dDEsICZsaW5lQXJyYXksIGxpbmVIYXNoKQorCXN0ckluZGV4QXJyYXkyIDo9IGRtcC5k aWZmTGluZXNUb1N0cmluZ3NNdW5nZSh0ZXh0MiwgJmxpbmVBcnJheSwgbGluZUhhc2gpCiAKIAly ZXR1cm4gaW50QXJyYXlUb1N0cmluZyhzdHJJbmRleEFycmF5MSksIGludEFycmF5VG9TdHJpbmco c3RySW5kZXhBcnJheTIpLCBsaW5lQXJyYXkKIH0KIAotLy8gZGlmZkxpbmVzVG9TdHJpbmdzTXVu Z2Ugc3BsaXRzIGEgdGV4dCBpbnRvIGFuIGFycmF5IG9mIHN0cmluZ3MsIGFuZCByZWR1Y2VzIHRo ZSB0ZXh0cyB0byBhIFtdc3RyaW5nLgotZnVuYyAoZG1wICpEaWZmTWF0Y2hQYXRjaCkgZGlmZkxp bmVzVG9TdHJpbmdzTXVuZ2UodGV4dCBzdHJpbmcsIGxpbmVBcnJheSAqW11zdHJpbmcpIFtddWlu dDMyIHsKLQkvLyBXYWxrIHRoZSB0ZXh0LCBwdWxsaW5nIG91dCBhIHN1YnN0cmluZyBmb3IgZWFj aCBsaW5lLiB0ZXh0LnNwbGl0KCdcbicpIHdvdWxkIHdvdWxkIHRlbXBvcmFyaWx5IGRvdWJsZSBv dXIgbWVtb3J5IGZvb3RwcmludC4gTW9kaWZ5aW5nIHRleHQgd291bGQgY3JlYXRlIG1hbnkgbGFy Z2Ugc3RyaW5ncyB0byBnYXJiYWdlIGNvbGxlY3QuCi0JbGluZUhhc2ggOj0gbWFwW3N0cmluZ11p bnR7fSAvLyBlLmcuIGxpbmVIYXNoWydIZWxsb1xuJ10gPT0gNAorLy8gZGlmZkxpbmVzVG9TdHJp bmdzTXVuZ2Ugc3BsaXRzIGEgdGV4dCBpbnRvIGFuIGFycmF5IG9mIHN0cmluZ3MsIGFuZCByZWR1 Y2VzIHRoZSB0ZXh0cyB0byBhIFtdaW5kZXguCitmdW5jIChkbXAgKkRpZmZNYXRjaFBhdGNoKSBk aWZmTGluZXNUb1N0cmluZ3NNdW5nZSh0ZXh0IHN0cmluZywgbGluZUFycmF5ICpbXXN0cmluZywg bGluZUhhc2ggbWFwW3N0cmluZ11pbnQpIFtdaW5kZXggewogCWxpbmVTdGFydCA6PSAwCiAJbGlu ZUVuZCA6PSAtMQotCXN0cnMgOj0gW111aW50MzJ7fQorCXN0cnMgOj0gW11pbmRleHt9CiAKIAlm b3IgbGluZUVuZCA8IGxlbih0ZXh0KS0xIHsKIAkJbGluZUVuZCA9IGluZGV4T2YodGV4dCwgIlxu IiwgbGluZVN0YXJ0KQpAQCAtMTM0MCwxMSArMTM0OCwxMSBAQCBmdW5jIChkbXAgKkRpZmZNYXRj aFBhdGNoKSBkaWZmTGluZXNUb1N0cmluZ3NNdW5nZSh0ZXh0IHN0cmluZywgbGluZUFycmF5ICpb XXN0cgogCQlsaW5lVmFsdWUsIG9rIDo9IGxpbmVIYXNoW2xpbmVdCiAKIAkJaWYgb2sgewotCQkJ c3RycyA9IGFwcGVuZChzdHJzLCB1aW50MzIobGluZVZhbHVlKSkKKwkJCXN0cnMgPSBhcHBlbmQo c3RycywgaW5kZXgobGluZVZhbHVlKSkKIAkJfSBlbHNlIHsKIAkJCSpsaW5lQXJyYXkgPSBhcHBl bmQoKmxpbmVBcnJheSwgbGluZSkKIAkJCWxpbmVIYXNoW2xpbmVdID0gbGVuKCpsaW5lQXJyYXkp IC0gMQotCQkJc3RycyA9IGFwcGVuZChzdHJzLCB1aW50MzIobGVuKCpsaW5lQXJyYXkpLTEpKQor CQkJc3RycyA9IGFwcGVuZChzdHJzLCBpbmRleChsZW4oKmxpbmVBcnJheSktMSkpCiAJCX0KIAl9 CiAKZGlmZiAtLWdpdCBhL2RpZmZtYXRjaHBhdGNoL2RpZmZfdGVzdC5nbyBiL2RpZmZtYXRjaHBh dGNoL2RpZmZfdGVzdC5nbwppbmRleCBhY2I5N2UzLi4yYzQzODY0IDEwMDY0NAotLS0gYS9kaWZm bWF0Y2hwYXRjaC9kaWZmX3Rlc3QuZ28KKysrIGIvZGlmZm1hdGNocGF0Y2gvZGlmZl90ZXN0Lmdv CkBAIC0zMTQsMTAgKzMxNCwxMiBAQCBmdW5jIFRlc3REaWZmTGluZXNUb0NoYXJzKHQgKnRlc3Rp bmcuVCkgewogCWRtcCA6PSBOZXcoKQogCiAJZm9yIGksIHRjIDo9IHJhbmdlIFtdVGVzdENhc2V7 Ci0JCXsiIiwgImFscGhhXHJcbmJldGFcclxuXHJcblxyXG4iLCAiIiwgIjEsMiwzLDMiLCBbXXN0 cmluZ3siIiwgImFscGhhXHJcbiIsICJiZXRhXHJcbiIsICJcclxuIn19LAotCQl7ImEiLCAiYiIs ICIxIiwgIjIiLCBbXXN0cmluZ3siIiwgImEiLCAiYiJ9fSwKKwkJeyIiLCAiYWxwaGFcclxuYmV0 YVxyXG5cclxuXHJcbiIsICIiLCAiXHgwMVx4MDJceDAzXHgwMyIsIFtdc3RyaW5neyIiLCAiYWxw aGFcclxuIiwgImJldGFcclxuIiwgIlxyXG4ifX0sCisJCXsiYSIsICJiIiwgIlx4MDEiLCAiXHgw MiIsIFtdc3RyaW5neyIiLCAiYSIsICJiIn19LAogCQkvLyBPbWl0IGZpbmFsIG5ld2xpbmUuCi0J CXsiYWxwaGFcbmJldGFcbmFscGhhIiwgIiIsICIxLDIsMyIsICIiLCBbXXN0cmluZ3siIiwgImFs cGhhXG4iLCAiYmV0YVxuIiwgImFscGhhIn19LAorCQl7ImFscGhhXG5iZXRhXG5hbHBoYSIsICIi LCAiXHgwMVx4MDJceDAzIiwgIiIsIFtdc3RyaW5neyIiLCAiYWxwaGFcbiIsICJiZXRhXG4iLCAi YWxwaGEifX0sCisJCS8vIFNhbWUgbGluZXMgaW4gVGV4dDEgYW5kIFRleHQyCisJCXsiYWJjXG5k ZWZnXG4xMjM0NVxuIiwgImFiY1xuZGVmXG4xMjM0NVxuNjc4IiwgIlx4MDFceDAyXHgwMyIsICJc eDAxXHgwNFx4MDNceDA1IiwgW11zdHJpbmd7IiIsICJhYmNcbiIsICJkZWZnXG4iLCAiMTIzNDVc biIsICJkZWZcbiIsICI2NzgifX0sCiAJfSB7CiAJCWFjdHVhbENoYXJzMSwgYWN0dWFsQ2hhcnMy LCBhY3R1YWxMaW5lcyA6PSBkbXAuRGlmZkxpbmVzVG9DaGFycyh0Yy5UZXh0MSwgdGMuVGV4dDIp CiAJCWFzc2VydC5FcXVhbCh0LCB0Yy5FeHBlY3RlZENoYXJzMSwgYWN0dWFsQ2hhcnMxLCBmbXQu U3ByaW50ZigiVGVzdCBjYXNlICMlZCwgJSN2IiwgaSwgdGMpKQpAQCAtMzMwLDE0ICszMzIsMTQg QEAgZnVuYyBUZXN0RGlmZkxpbmVzVG9DaGFycyh0ICp0ZXN0aW5nLlQpIHsKIAlsaW5lTGlzdCA6 PSBbXXN0cmluZ3sKIAkJIiIsIC8vIEFjY291bnQgZm9yIHRoZSBpbml0aWFsIGVtcHR5IGVsZW1l bnQgb2YgdGhlIGxpbmVzIGFycmF5LgogCX0KLQl2YXIgY2hhckxpc3QgW11zdHJpbmcKKwl2YXIg Y2hhckxpc3QgW11pbmRleAogCWZvciB4IDo9IDE7IHggPCBuKzE7IHgrKyB7CiAJCWxpbmVMaXN0 ID0gYXBwZW5kKGxpbmVMaXN0LCBzdHJjb252Lkl0b2EoeCkrIlxuIikKLQkJY2hhckxpc3QgPSBh cHBlbmQoY2hhckxpc3QsIHN0cmNvbnYuSXRvYSh4KSkKKwkJY2hhckxpc3QgPSBhcHBlbmQoY2hh ckxpc3QsIGluZGV4KHgpKQogCX0KIAlsaW5lcyA6PSBzdHJpbmdzLkpvaW4obGluZUxpc3QsICIi KQotCWNoYXJzIDo9IHN0cmluZ3MuSm9pbihjaGFyTGlzdFs6XSwgIiwiKQotCWFzc2VydC5FcXVh bCh0LCBuLCBsZW4oc3RyaW5ncy5TcGxpdChjaGFycywgIiwiKSkpCisJY2hhcnMgOj0gaW5kZXhl c1RvU3RyaW5nKGNoYXJMaXN0KQorCWFzc2VydC5FcXVhbCh0LCBuLCBsZW4oY2hhckxpc3QpKQog CiAJYWN0dWFsQ2hhcnMxLCBhY3R1YWxDaGFyczIsIGFjdHVhbExpbmVzIDo9IGRtcC5EaWZmTGlu ZXNUb0NoYXJzKGxpbmVzLCAiIikKIAlhc3NlcnQuRXF1YWwodCwgY2hhcnMsIGFjdHVhbENoYXJz MSkKQEAgLTM1OCw4ICszNjAsOCBAQCBmdW5jIFRlc3REaWZmQ2hhcnNUb0xpbmVzKHQgKnRlc3Rp bmcuVCkgewogCWZvciBpLCB0YyA6PSByYW5nZSBbXVRlc3RDYXNlewogCQl7CiAJCQlEaWZmczog W11EaWZmewotCQkJCXtEaWZmRXF1YWwsICIxLDIsMSJ9LAotCQkJCXtEaWZmSW5zZXJ0LCAiMiwx LDIifSwKKwkJCQl7RGlmZkVxdWFsLCAiXHgwMVx4MDJceDAxIn0sCisJCQkJe0RpZmZJbnNlcnQs ICJceDAyXHgwMVx4MDIifSwKIAkJCX0sCiAJCQlMaW5lczogW11zdHJpbmd7IiIsICJhbHBoYVxu IiwgImJldGFcbiJ9LAogCkBAIC0zNzgsMTMgKzM4MCwxMyBAQCBmdW5jIFRlc3REaWZmQ2hhcnNU b0xpbmVzKHQgKnRlc3RpbmcuVCkgewogCWxpbmVMaXN0IDo9IFtdc3RyaW5newogCQkiIiwgLy8g QWNjb3VudCBmb3IgdGhlIGluaXRpYWwgZW1wdHkgZWxlbWVudCBvZiB0aGUgbGluZXMgYXJyYXku CiAJfQotCWNoYXJMaXN0IDo9IFtdc3RyaW5ne30KKwljaGFyTGlzdCA6PSBbXWluZGV4e30KIAlm b3IgeCA6PSAxOyB4IDw9IG47IHgrKyB7CiAJCWxpbmVMaXN0ID0gYXBwZW5kKGxpbmVMaXN0LCBz dHJjb252Lkl0b2EoeCkrIlxuIikKLQkJY2hhckxpc3QgPSBhcHBlbmQoY2hhckxpc3QsIHN0cmNv bnYuSXRvYSh4KSkKKwkJY2hhckxpc3QgPSBhcHBlbmQoY2hhckxpc3QsIGluZGV4KHgpKQogCX0K IAlhc3NlcnQuRXF1YWwodCwgbiwgbGVuKGNoYXJMaXN0KSkKLQljaGFycyA6PSBzdHJpbmdzLkpv aW4oY2hhckxpc3RbOl0sICIsIikKKwljaGFycyA6PSBpbmRleGVzVG9TdHJpbmcoY2hhckxpc3Qp CiAKIAlhY3R1YWwgOj0gZG1wLkRpZmZDaGFyc1RvTGluZXMoW11EaWZme0RpZmZ7RGlmZkRlbGV0 ZSwgY2hhcnN9fSwgbGluZUxpc3QpCiAJYXNzZXJ0LkVxdWFsKHQsIFtdRGlmZntEaWZme0RpZmZE ZWxldGUsIHN0cmluZ3MuSm9pbihsaW5lTGlzdCwgIiIpfX0sIGFjdHVhbCkKQEAgLTEwMzEsNiAr MTAzMywxNyBAQCBmdW5jIFRlc3REaWZmUHJldHR5VGV4dCh0ICp0ZXN0aW5nLlQpIHsKIAogCQkJ RXhwZWN0ZWQ6ICJhXG5ceDFiWzMxbTxCPmI8L0I+XHgxYlswbVx4MWJbMzJtYyZkXHgxYlswbSIs CiAJCX0sCisJCXsKKwkJCURpZmZzOiBbXURpZmZ7CisJCQkJe1R5cGU6IERpZmZFcXVhbCwgVGV4 dDogImFcbiJ9LAorCQkJCXtUeXBlOiBEaWZmRGVsZXRlLCBUZXh0OiAiYlxuY1xuIn0sCisJCQkJ e1R5cGU6IERpZmZFcXVhbCwgVGV4dDogImRlZiJ9LAorCQkJCXtUeXBlOiBEaWZmSW5zZXJ0LCBU ZXh0OiAiXG5nXG5oIn0sCisJCQkJe1R5cGU6IERpZmZFcXVhbCwgVGV4dDogIlxuaSJ9LAorCQkJ fSwKKworCQkJRXhwZWN0ZWQ6ICJhXG5ceDFiWzMxbWJceDFiWzBtXG5ceDFiWzMxbWNceDFiWzBt XG5ceDFiWzMxbVx4MWJbMG1kZWZceDFiWzMybVx4MWJbMG1cblx4MWJbMzJtZ1x4MWJbMG1cblx4 MWJbMzJtaFx4MWJbMG1cbmkiLAorCQl9LAogCX0gewogCQlhY3R1YWwgOj0gZG1wLkRpZmZQcmV0 dHlUZXh0KHRjLkRpZmZzKQogCQlhc3NlcnQuRXF1YWwodCwgdGMuRXhwZWN0ZWQsIGFjdHVhbCwg Zm10LlNwcmludGYoIlRlc3QgY2FzZSAjJWQsICUjdiIsIGksIHRjKSkKQEAgLTE0NjYsNiArMTQ3 OSwzOCBAQCBmdW5jIFRlc3RNYXNzaXZlUnVuZURpZmZDb252ZXJzaW9uKHQgKnRlc3RpbmcuVCkg ewogCWFzc2VydC5Ob3RFbXB0eSh0LCBkaWZmcykKIH0KIAorZnVuYyBUZXN0RGlmZlBhcnRpYWxM aW5lSW5kZXgodCAqdGVzdGluZy5UKSB7CisJZG1wIDo9IE5ldygpCisJdDEsIHQyLCB0dCA6PSBk bXAuRGlmZkxpbmVzVG9DaGFycygKKwkJYGxpbmUgMQorbGluZSAyCitsaW5lIDMKK2xpbmUgNAor bGluZSA1CitsaW5lIDYKK2xpbmUgNworbGluZSA4CitsaW5lIDkKK2xpbmUgMTAgdGV4dDFgLAor CQlgbGluZSAxCitsaW5lIDIKK2xpbmUgMworbGluZSA0CitsaW5lIDUKK2xpbmUgNgorbGluZSA3 CitsaW5lIDgKK2xpbmUgOQorbGluZSAxMCB0ZXh0MmApCisJZGlmZnMgOj0gZG1wLkRpZmZNYWlu KHQxLCB0MiwgZmFsc2UpCisJZGlmZnMgPSBkbXAuRGlmZkNoYXJzVG9MaW5lcyhkaWZmcywgdHQp CisJYXNzZXJ0LkVxdWFsKHQsIFtdRGlmZnsKKwkJRGlmZntEaWZmRXF1YWwsICJsaW5lIDFcbmxp bmUgMlxubGluZSAzXG5saW5lIDRcbmxpbmUgNVxubGluZSA2XG5saW5lIDdcbmxpbmUgOFxubGlu ZSA5XG4ifSwKKwkJRGlmZntEaWZmRGVsZXRlLCAibGluZSAxMCB0ZXh0MSJ9LAorCQlEaWZme0Rp ZmZJbnNlcnQsICJsaW5lIDEwIHRleHQyIn0sCisJfSwgZGlmZnMpCit9CisKIGZ1bmMgQmVuY2ht YXJrRGlmZk1haW4oYmVuY2ggKnRlc3RpbmcuQikgewogCXMxIDo9ICJgVHdhcyBicmlsbGlnLCBh bmQgdGhlIHNsaXRoeSB0b3Zlc1xuRGlkIGd5cmUgYW5kIGdpbWJsZSBpbiB0aGUgd2FiZTpcbkFs bCBtaW1zeSB3ZXJlIHRoZSBib3JvZ292ZXMsXG5BbmQgdGhlIG1vbWUgcmF0aHMgb3V0Z3JhYmUu XG4iCiAJczIgOj0gIkkgYW0gdGhlIHZlcnkgbW9kZWwgb2YgYSBtb2Rlcm4gbWFqb3IgZ2VuZXJh bCxcbkkndmUgaW5mb3JtYXRpb24gdmVnZXRhYmxlLCBhbmltYWwsIGFuZCBtaW5lcmFsLFxuSSBr bm93IHRoZSBraW5ncyBvZiBFbmdsYW5kLCBhbmQgSSBxdW90ZSB0aGUgZmlnaHRzIGhpc3Rvcmlj YWwsXG5Gcm9tIE1hcmF0aG9uIHRvIFdhdGVybG9vLCBpbiBvcmRlciBjYXRlZ29yaWNhbC5cbiIK ZGlmZiAtLWdpdCBhL2RpZmZtYXRjaHBhdGNoL2luZGV4LmdvIGIvZGlmZm1hdGNocGF0Y2gvaW5k ZXguZ28KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTY1YTFjNgotLS0gL2Rl di9udWxsCisrKyBiL2RpZmZtYXRjaHBhdGNoL2luZGV4LmdvCkBAIC0wLDAgKzEsMzIgQEAKK3Bh Y2thZ2UgZGlmZm1hdGNocGF0Y2gKKwordHlwZSBpbmRleCB1aW50MzIKKworY29uc3QgcnVuZVNr aXBTdGFydCA9IDB4ZDgwMAorY29uc3QgcnVuZVNraXBFbmQgPSAweGRmZmYgKyAxCitjb25zdCBy dW5lTWF4ID0gMHgxMTAwMDAgLy8gbmV4dCBpbnZhbGlkIGNvZGUgcG9pbnQKKworZnVuYyBzdHJp bmdUb0luZGV4KHRleHQgc3RyaW5nKSBbXWluZGV4IHsKKwlydW5lcyA6PSBbXXJ1bmUodGV4dCkK KwlpbmRleGVzIDo9IG1ha2UoW11pbmRleCwgbGVuKHJ1bmVzKSkKKwlmb3IgaSwgciA6PSByYW5n ZSBydW5lcyB7CisJCWlmIHIgPCBydW5lU2tpcEVuZCB7CisJCQlpbmRleGVzW2ldID0gaW5kZXgo cikKKwkJfSBlbHNlIHsKKwkJCWluZGV4ZXNbaV0gPSBpbmRleChyKSAtIChydW5lU2tpcEVuZCAt IHJ1bmVTa2lwU3RhcnQpCisJCX0KKwl9CisJcmV0dXJuIGluZGV4ZXMKK30KKworZnVuYyBpbmRl eGVzVG9TdHJpbmcoaW5kZXhlcyBbXWluZGV4KSBzdHJpbmcgeworCXJ1bmVzIDo9IG1ha2UoW11y dW5lLCBsZW4oaW5kZXhlcykpCisJZm9yIGksIGluZGV4IDo9IHJhbmdlIGluZGV4ZXMgeworCQlp ZiBpbmRleCA8IHJ1bmVTa2lwU3RhcnQgeworCQkJcnVuZXNbaV0gPSBydW5lKGluZGV4KQorCQl9 IGVsc2UgeworCQkJcnVuZXNbaV0gPSBydW5lKGluZGV4ICsgKHJ1bmVTa2lwRW5kIC0gcnVuZVNr aXBTdGFydCkpCisJCX0KKwl9CisJcmV0dXJuIHN0cmluZyhydW5lcykKK30KZGlmZiAtLWdpdCBh L2RpZmZtYXRjaHBhdGNoL2luZGV4X3Rlc3QuZ28gYi9kaWZmbWF0Y2hwYXRjaC9pbmRleF90ZXN0 LmdvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZmMWQ5ODIKLS0tIC9kZXYv bnVsbAorKysgYi9kaWZmbWF0Y2hwYXRjaC9pbmRleF90ZXN0LmdvCkBAIC0wLDAgKzEsMTYgQEAK K3BhY2thZ2UgZGlmZm1hdGNocGF0Y2gKKworaW1wb3J0ICgKKwkiZ2l0aHViLmNvbS9zdHJldGNo ci90ZXN0aWZ5L2Fzc2VydCIKKwkidGVzdGluZyIKKykKKworZnVuYyBUZXN0SW5kZXhDb252ZXJz aW9uKHQgKnRlc3RpbmcuVCkgeworCW4gOj0gcnVuZU1heCAtIChydW5lU2tpcEVuZCAtIHJ1bmVT a2lwU3RhcnQpCisJaW5kZXhlcyA6PSBtYWtlKFtdaW5kZXgsIG4pCisJZm9yIGkgOj0gMDsgaSA8 IG47IGkrKyB7CisJCWluZGV4ZXNbaV0gPSBpbmRleChpKQorCX0KKwlpbmRleGVzMiA6PSBzdHJp bmdUb0luZGV4KGluZGV4ZXNUb1N0cmluZyhpbmRleGVzKSkKKwlhc3NlcnQuRXF1YWxWYWx1ZXMo dCwgaW5kZXhlcywgaW5kZXhlczIpCit9CmRpZmYgLS1naXQgYS9kaWZmbWF0Y2hwYXRjaC9wYXRj aF90ZXN0LmdvIGIvZGlmZm1hdGNocGF0Y2gvcGF0Y2hfdGVzdC5nbwppbmRleCBiMDE5Zjg4Li5j NTY0ZjhjIDEwMDY0NAotLS0gYS9kaWZmbWF0Y2hwYXRjaC9wYXRjaF90ZXN0LmdvCisrKyBiL2Rp ZmZtYXRjaHBhdGNoL3BhdGNoX3Rlc3QuZ28KQEAgLTMzNywzICszMzcsMjggQEAgZnVuYyBUZXN0 UGF0Y2hBcHBseSh0ICp0ZXN0aW5nLlQpIHsKIAkJYXNzZXJ0LkVxdWFsKHQsIHRjLkV4cGVjdGVk QXBwbGllcywgYWN0dWFsQXBwbGllcywgZm10LlNwcmludGYoIlRlc3QgY2FzZSAjJWQsICVzIiwg aSwgdGMuTmFtZSkpCiAJfQogfQorCitmdW5jIFRlc3RQYXRjaE1ha2VPdXRPZlJhbmdlUGFuaWMo dCAqdGVzdGluZy5UKSB7CisJdGV4dDEgOj0gYAorICAxMTExMTExMTExMTExIDAwMDAwMAorICAt LS0tLS0tLS0tLS0tIC0tLS0tLQorICB4eHh4eHh4eHh4eHh4IC0tLS0tLQorICB4eHh4eHh4eHh4 eHh4IC0tLS0tLQorICB4eHh4eHh4eHh4eHh4IHh4eHh4eAorICB4eHh4eHh4eHh4eHh4IC4uLi4u LgorICB4eHh4eHh4eHh4eHh4IDExMTExMQorICB4eHh4eHh4eHh4eHh4ID8/Pz8/PworICB4eHh4 eHh4eHh4eHh4IDMzMzMzMworICB4eHh4eHh4eHh4eHh4IDU1NTU1NQorICB4eHh4eHh4eHh4IHh4 eHh4CisgIHh4eHh4eHh4eHggeHh4eHgKKyAgeHh4eHh4eHh4eCB4eHh4eAorICB4eHh4eHh4eHh4 IHh4eHh4CitgCisJdGV4dDIgOj0gYAorICAyMjIyMjIyMjIyMjIyIDAwMDAwMAorICB4eHh4eHh4 eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4 eHh4eHh4eHh4eHh4eHh4YAorCWRtcCA6PSBOZXcoKQorCXBhdGNoZXMgOj0gZG1wLlBhdGNoTWFr ZSh0ZXh0MSwgdGV4dDIpCisJYXNzZXJ0LkVxdWFsKHQsIDYsIGxlbihwYXRjaGVzKSwgIlRlc3RQ YXRjaE1ha2VPdXRPZlJhbmdlUGFuaWMiKQorfQpkaWZmIC0tZ2l0IGEvZGlmZm1hdGNocGF0Y2gv c3RyaW5ndXRpbC5nbyBiL2RpZmZtYXRjaHBhdGNoL3N0cmluZ3V0aWwuZ28KaW5kZXggNDRjNDM1 OS4uNTczYjZiZiAxMDA2NDQKLS0tIGEvZGlmZm1hdGNocGF0Y2gvc3RyaW5ndXRpbC5nbworKysg Yi9kaWZmbWF0Y2hwYXRjaC9zdHJpbmd1dGlsLmdvCkBAIC05LDExICs5LDE2IEBACiBwYWNrYWdl IGRpZmZtYXRjaHBhdGNoCiAKIGltcG9ydCAoCi0JInN0cmNvbnYiCisJImZtdCIKIAkic3RyaW5n cyIKIAkidW5pY29kZS91dGY4IgogKQogCitjb25zdCBVTklDT0RFX0lOVkFMSURfUkFOR0VfU1RB UlQgPSAweEQ4MDAKK2NvbnN0IFVOSUNPREVfSU5WQUxJRF9SQU5HRV9FTkQgPSAweERGRkYKK2Nv bnN0IFVOSUNPREVfSU5WQUxJRF9SQU5HRV9ERUxUQSA9IFVOSUNPREVfSU5WQUxJRF9SQU5HRV9F TkQgLSBVTklDT0RFX0lOVkFMSURfUkFOR0VfU1RBUlQgKyAxCitjb25zdCBVTklDT0RFX1JBTkdF X01BWCA9IDB4MTBGRkZGCisKIC8vIHVuZXNjYXBlciB1bmVzY2FwZXMgc2VsZWN0ZWQgY2hhcnMg Zm9yIGNvbXBhdGliaWxpdHkgd2l0aCBKYXZhU2NyaXB0J3MgZW5jb2RlVVJJLgogLy8gSW4gc3Bl ZWQgY3JpdGljYWwgYXBwbGljYXRpb25zIHRoaXMgY291bGQgYmUgZHJvcHBlZCBzaW5jZSB0aGUg cmVjZWl2aW5nIGFwcGxpY2F0aW9uIHdpbGwgY2VydGFpbmx5IGRlY29kZSB0aGVzZSBmaW5lLiBO b3RlIHRoYXQgdGhpcyBmdW5jdGlvbiBpcyBjYXNlLXNlbnNpdGl2ZS4gIFRodXMgIiUzRiIgd291 bGQgbm90IGJlIHVuZXNjYXBlZC4gIEJ1dCB0aGlzIGlzIG9rIGJlY2F1c2UgaXQgaXMgb25seSBj YWxsZWQgd2l0aCB0aGUgb3V0cHV0IG9mIEh0dHBVdGlsaXR5LlVybEVuY29kZSB3aGljaCByZXR1 cm5zIGxvd2VyY2FzZSBoZXguIEV4YW1wbGU6ICIlM2YiIC0+ICI/IiwgIiUyNCIgLT4gIiQiLCBl dGMuCiB2YXIgdW5lc2NhcGVyID0gc3RyaW5ncy5OZXdSZXBsYWNlcigKQEAgLTg4LDE5ICs5Myw5 OCBAQCBmdW5jIHJ1bmVzSW5kZXgocjEsIHIyIFtdcnVuZSkgaW50IHsKIAlyZXR1cm4gLTEKIH0K IAotZnVuYyBpbnRBcnJheVRvU3RyaW5nKG5zIFtddWludDMyKSBzdHJpbmcgeworZnVuYyBpbnRB cnJheVRvU3RyaW5nKG5zIFtdaW5kZXgpIHN0cmluZyB7CiAJaWYgbGVuKG5zKSA9PSAwIHsKIAkJ cmV0dXJuICIiCiAJfQogCi0JaW5kZXhTZXBhcmF0b3IgOj0gSW5kZXhTZXBhcmF0b3JbMF0KLQot CS8vIEFwcHIuIDMgY2hhcnMgcGVyIG51bSBwbHVzIHRoZSBjb21tYS4KLQliIDo9IFtdYnl0ZXt9 CisJYiA6PSBbXXJ1bmV7fQogCWZvciBfLCBuIDo9IHJhbmdlIG5zIHsKLQkJYiA9IHN0cmNvbnYu QXBwZW5kSW50KGIsIGludDY0KG4pLCAxMCkKLQkJYiA9IGFwcGVuZChiLCBpbmRleFNlcGFyYXRv cikKKwkJYiA9IGFwcGVuZChiLCBpbnRUb1J1bmUodWludDMyKG4pKSkKIAl9Ci0JYiA9IGJbOmxl bihiKS0xXQogCXJldHVybiBzdHJpbmcoYikKIH0KKworLy8gVGhlc2UgY29uc3RhbnRzIGRlZmlu ZSB0aGUgbnVtYmVyIG9mIGJpdHMgcmVwcmVzZW50YWJsZQorLy8gaW4gMSwyLDMsNCBieXRlIHV0 Zjggc2VxdWVuY2VzLCByZXNwZWN0aXZlbHkuCitjb25zdCBPTkVfQllURV9CSVRTID0gNworY29u c3QgVFdPX0JZVEVfQklUUyA9IDExCitjb25zdCBUSFJFRV9CWVRFX0JJVFMgPSAxNgorY29uc3Qg Rk9VUl9CWVRFX0JJVFMgPSAyMQorCisvLyBIZWxwZXIgZm9yIGdldHRpbmcgYSBzZXF1ZW5jZSBv ZiBiaXRzIGZyb20gYW4gaW50ZWdlci4KK2Z1bmMgZ2V0Qml0cyhpIHVpbnQzMiwgY250IGJ5dGUs IGZyb20gYnl0ZSkgYnl0ZSB7CisJcmV0dXJuIGJ5dGUoKGkgPj4gZnJvbSkgJiAoKDEgPDwgY250 KSAtIDEpKQorfQorCisvLyBDb252ZXJ0cyBhbiBpbnRlZ2VyIGluIHRoZSByYW5nZSAwfjExMTIw NjAgaW50byBhIHJ1bmUuCisvLyBCYXNlZCBvbiB0aGUgcmFuZ2VzIHRhYmxlIGluIGh0dHBzOi8v ZW4ud2lraXBlZGlhLm9yZy93aWtpL1VURi04CitmdW5jIGludFRvUnVuZShpIHVpbnQzMikgcnVu ZSB7CisJaWYgaSA8ICgxIDw8IE9ORV9CWVRFX0JJVFMpIHsKKwkJcmV0dXJuIHJ1bmUoaSkKKwl9 CisKKwlpZiBpIDwgKDEgPDwgVFdPX0JZVEVfQklUUykgeworCQlyLCBzaXplIDo9IHV0ZjguRGVj b2RlUnVuZShbXWJ5dGV7MGIxMTAwMDAwMCB8IGdldEJpdHMoaSwgNSwgNiksIDBiMTAwMDAwMDAg fCBnZXRCaXRzKGksIDYsIDApfSkKKwkJaWYgc2l6ZSAhPSAyIHx8IHIgPT0gdXRmOC5SdW5lRXJy b3IgeworCQkJcGFuaWMoZm10LlNwcmludGYoIkVycm9yIGVuY29kaW5nIGFuIGludCAlZCB3aXRo IHNpemUgMiwgZ290IHJ1bmUgJXYgYW5kIHNpemUgJWQiLCBzaXplLCByLCBpKSkKKwkJfQorCQly ZXR1cm4gcgorCX0KKworCS8vIExhc3QgLTMgaGVyZSBuZWVkZWQgYmVjYXVzZSBmb3Igc29tZSBy ZWFzb24gM3JkIHRvIGxhc3QgY29kZXBvaW50IDY1NTMzIGluIHRoaXMgcmFuZ2UKKwkvLyB3YXMg cmV0dXJuaW5nIHV0ZjguUnVuZUVycm9yIGR1cmluZyBlbmNvZGluZy4KKwlpZiBpIDwgKCgxIDw8 IFRIUkVFX0JZVEVfQklUUykgLSBVTklDT0RFX0lOVkFMSURfUkFOR0VfREVMVEEgLSAzKSB7CisJ CWlmIGkgPj0gVU5JQ09ERV9JTlZBTElEX1JBTkdFX1NUQVJUIHsKKwkJCWkgKz0gVU5JQ09ERV9J TlZBTElEX1JBTkdFX0RFTFRBCisJCX0KKworCQlyLCBzaXplIDo9IHV0ZjguRGVjb2RlUnVuZShb XWJ5dGV7MGIxMTEwMDAwMCB8IGdldEJpdHMoaSwgNCwgMTIpLCAwYjEwMDAwMDAwIHwgZ2V0Qml0 cyhpLCA2LCA2KSwgMGIxMDAwMDAwMCB8IGdldEJpdHMoaSwgNiwgMCl9KQorCQlpZiBzaXplICE9 IDMgfHwgciA9PSB1dGY4LlJ1bmVFcnJvciB7CisJCQlwYW5pYyhmbXQuU3ByaW50ZigiRXJyb3Ig ZW5jb2RpbmcgYW4gaW50ICVkIHdpdGggc2l6ZSAzLCBnb3QgcnVuZSAldiBhbmQgc2l6ZSAlZCIs IHNpemUsIHIsIGkpKQorCQl9CisJCXJldHVybiByCisJfQorCisJaWYgaSA8ICgxPDxGT1VSX0JZ VEVfQklUUyAtIFVOSUNPREVfSU5WQUxJRF9SQU5HRV9ERUxUQSAtIDMpIHsKKwkJaSArPSBVTklD T0RFX0lOVkFMSURfUkFOR0VfREVMVEEgKyAzCisJCXIsIHNpemUgOj0gdXRmOC5EZWNvZGVSdW5l KFtdYnl0ZXswYjExMTEwMDAwIHwgZ2V0Qml0cyhpLCAzLCAxOCksIDBiMTAwMDAwMDAgfCBnZXRC aXRzKGksIDYsIDEyKSwgMGIxMDAwMDAwMCB8IGdldEJpdHMoaSwgNiwgNiksIDBiMTAwMDAwMDAg fCBnZXRCaXRzKGksIDYsIDApfSkKKwkJaWYgc2l6ZSAhPSA0IHx8IHIgPT0gdXRmOC5SdW5lRXJy b3IgeworCQkJcGFuaWMoZm10LlNwcmludGYoIkVycm9yIGVuY29kaW5nIGFuIGludCAlZCB3aXRo IHNpemUgNCwgZ290IHJ1bmUgJXYgYW5kIHNpemUgJWQiLCBzaXplLCByLCBpKSkKKwkJfQorCQly ZXR1cm4gcgorCX0KKwlwYW5pYyhmbXQuU3ByaW50ZigiVGhlIGludGVnZXIgJWQgaXMgdG9vIGxh cmdlIGZvciBydW5lVG9JbnQoKSIsIGkpKQorfQorCisvLyBDb252ZXJ0cyBhIHJ1bmUgZ2VuZXJh dGVkIGJ5IGludFRvUnVuZSBiYWNrIHRvIGFuIGludGVnZXIKK2Z1bmMgcnVuZVRvSW50KHIgcnVu ZSkgdWludDMyIHsKKwlpIDo9IHVpbnQzMihyKQorCWlmIGkgPCAoMSA8PCBPTkVfQllURV9CSVRT KSB7CisJCXJldHVybiBpCisJfQorCisJYnl0ZXMgOj0gW11ieXRlezAsIDAsIDAsIDB9CisKKwlz aXplIDo9IHV0ZjguRW5jb2RlUnVuZShieXRlcywgcikKKworCWlmIHNpemUgPT0gMiB7CisJCXJl dHVybiB1aW50MzIoYnl0ZXNbMF0mMGIxMTExMSk8PDYgfCB1aW50MzIoYnl0ZXNbMV0mMGIxMTEx MTEpCisJfQorCisJaWYgc2l6ZSA9PSAzIHsKKwkJcmVzdWx0IDo9IHVpbnQzMihieXRlc1swXSYw YjExMTEpPDwxMiB8IHVpbnQzMihieXRlc1sxXSYwYjExMTExMSk8PDYgfCB1aW50MzIoYnl0ZXNb Ml0mMGIxMTExMTEpCisJCWlmIHJlc3VsdCA+PSBVTklDT0RFX0lOVkFMSURfUkFOR0VfRU5EIHsK KwkJCXJldHVybiByZXN1bHQgLSBVTklDT0RFX0lOVkFMSURfUkFOR0VfREVMVEEKKwkJfQorCisJ CXJldHVybiByZXN1bHQKKwl9CisKKwlpZiBzaXplID09IDQgeworCQlyZXN1bHQgOj0gdWludDMy KGJ5dGVzWzBdJjBiMTExKTw8MTggfCB1aW50MzIoYnl0ZXNbMV0mMGIxMTExMTEpPDwxMiB8IHVp bnQzMihieXRlc1syXSYwYjExMTExMSk8PDYgfCB1aW50MzIoYnl0ZXNbM10mMGIxMTExMTEpCisJ CXJldHVybiByZXN1bHQgLSBVTklDT0RFX0lOVkFMSURfUkFOR0VfREVMVEEgLSAzCisJfQorCisJ cGFuaWMoZm10LlNwcmludGYoIlVuZXhwZWN0ZWQgc3RhdGUgZGVjb2RpbmcgcnVuZT0ldiBzaXpl PSVkIiwgciwgc2l6ZSkpCit9CmRpZmYgLS1naXQgYS9kaWZmbWF0Y2hwYXRjaC9zdHJpbmd1dGls X3Rlc3QuZ28gYi9kaWZmbWF0Y2hwYXRjaC9zdHJpbmd1dGlsX3Rlc3QuZ28KaW5kZXggYWIyYmMx MC4uNzNhYjZjYSAxMDA2NDQKLS0tIGEvZGlmZm1hdGNocGF0Y2gvc3RyaW5ndXRpbF90ZXN0Lmdv CisrKyBiL2RpZmZtYXRjaHBhdGNoL3N0cmluZ3V0aWxfdGVzdC5nbwpAQCAtMTE0LDMgKzExNCwy MSBAQCBmdW5jIFRlc3RMYXN0SW5kZXhPZih0ICp0ZXN0aW5nLlQpIHsKIAkJYXNzZXJ0LkVxdWFs KHQsIHRjLkV4cGVjdGVkLCBhY3R1YWwsIGZtdC5TcHJpbnRmKCJUZXN0IGNhc2UgIyVkLCAlI3Yi LCBpLCB0YykpCiAJfQogfQorCisvLyBFeGhhdXN0aXZlIGNoZWNrIGZvciBhbGwgaW50cyBmcm9t IDAgdG8gMTExMjA2MCBmb3IgY29ycmVjdG5lc3Mgb2YgaW1wbGVtZW50YXRpb24KKy8vIG9mIGBp bnRUb1J1bmUoKSAtPiBydW5lVG9JbnQoKWAuCisvLyBUaGlzIHRlc3QgaXMgc2xvdyBhbmQgcnVu cyBsb25nZXIgdGhhbiA1IHNlY29uZHMgYnV0IGl0IGRvZXMgcHJvdmlkZSBhIHNhZmV0eQorLy8g Z3VhcmFudGVlIHRoYXQgdGhlc2UgMiBmdW5jdGlvbnMgYXJlIGNvcnJlY3QgZm9yIHRoZSByYW5n ZXMgd2Ugc3VwcG9ydC4KK2Z1bmMgVGVzdFJ1bmVUb0ludCh0ICp0ZXN0aW5nLlQpIHsKKworCWZv ciBpIDo9IHVpbnQzMigwKTsgaSA8PSBVTklDT0RFX1JBTkdFX01BWC1VTklDT0RFX0lOVkFMSURf UkFOR0VfREVMVEEtMzsgaSArPSAxIHsKKwkJciA6PSBpbnRUb1J1bmUoaSkKKwkJaWMgOj0gcnVu ZVRvSW50KHIpCisKKwkJYXNzZXJ0LkVxdWFsKHQsIGksIGljLCBmbXQuU3ByaW50ZigiaW50VG9S dW5lKCVkKT0lZCBhbmQgcnVuZVRvSW50KCVkKT0lZCIsIGksIHIsIHIsIGljKSkKKwl9CisKKwlh c3NlcnQuUGFuaWNzKHQsIGZ1bmMoKSB7CisJCWludFRvUnVuZShVTklDT0RFX1JBTkdFX01BWCAt IFVOSUNPREVfSU5WQUxJRF9SQU5HRV9ERUxUQSAtIDIpCisJfSkKK30KZGlmZiAtLWdpdCBhL2dv Lm1vZCBiL2dvLm1vZAppbmRleCBkNDZjNzdkLi5jNzg4NmNlIDEwMDY0NAotLS0gYS9nby5tb2QK KysrIGIvZ28ubW9kCkBAIC01LDcgKzUsNyBAQCByZXF1aXJlICgKIAlnaXRodWIuY29tL2tyL3By ZXR0eSB2MC4xLjAgLy8gaW5kaXJlY3QKIAlnaXRodWIuY29tL3N0cmV0Y2hyL3Rlc3RpZnkgdjEu NC4wCiAJZ29wa2cuaW4vY2hlY2sudjEgdjEuMC4wLTIwMTkwOTAyMDgwNTAyLTQxZjA0ZDNiYmEx NSAvLyBpbmRpcmVjdAotCWdvcGtnLmluL3lhbWwudjIgdjIuMi40IC8vIGluZGlyZWN0CisJZ29w a2cuaW4veWFtbC52MiB2Mi40LjAgLy8gaW5kaXJlY3QKICkKIAotZ28gMS4xMgorZ28gMS4xMwpk aWZmIC0tZ2l0IGEvZ28uc3VtIGIvZ28uc3VtCmluZGV4IDRiODBlMDguLjhkZDlmMzYgMTAwNjQ0 Ci0tLSBhL2dvLnN1bQorKysgYi9nby5zdW0KQEAgLTE5LDMgKzE5LDUgQEAgZ29wa2cuaW4veWFt bC52MiB2Mi4yLjIgaDE6WkNKcCtFZ2lPVDdsSHFVVjJKODYya3A4UWo2NEpvNmF6ODIrM1RkOWRa dz0KIGdvcGtnLmluL3lhbWwudjIgdjIuMi4yL2dvLm1vZCBoMTpoSTkzWEJtcVRpc0JGTVVUbTBi OEZtK2pyM0RnMU5OeHF3cCs1QTFWR3VJPQogZ29wa2cuaW4veWFtbC52MiB2Mi4yLjQgaDE6L2Vp SnJVY3VqUFZlSjN4bFNXYWlOaTN1U1ZtREdCSzFwREhVSEFuYW8xST0KIGdvcGtnLmluL3lhbWwu djIgdjIuMi40L2dvLm1vZCBoMTpoSTkzWEJtcVRpc0JGTVVUbTBiOEZtK2pyM0RnMU5OeHF3cCs1 QTFWR3VJPQorZ29wa2cuaW4veWFtbC52MiB2Mi40LjAgaDE6RDh4Z3dFQ1k3Q1l2eCtZMm40c0J6 OTNKbjlKUnZ4ZGl5eW84Q1RmdUthWT0KK2dvcGtnLmluL3lhbWwudjIgdjIuNC4wL2dvLm1vZCBo MTpSRGtsYms3OUFHV213aG52dC9qQnp0YXBFT0dET3g2WmJYcWpQNmNzR25RPQotLSAKMi40Ny4y Cgo=
--0a47d932e002ef58044d20d958b1861ba7421c373ac9e945ca75c94d7490 Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename=0002-d-patches-drop-upstreamed-patches.patch
Content-Type: text/x-patch; charset=utf-8;
name=0002-d-patches-drop-upstreamed-patches.patch
RnJvbSBlMGNmZGI3Yjg5ZmZmMzExYTM5NmE1NjBmODVjYjA3NDYwZWZlMjg4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZWEgUGFwcGFjb2RhIDx0YWNoaUBkZWJpYW4ub3JnPgpE YXRlOiBUdWUsIDIyIEp1bCAyMDI1IDE3OjMwOjM3ICswMjAwClN1YmplY3Q6IFtQQVRDSCAyLzVd IGQvcGF0Y2hlczogZHJvcCB1cHN0cmVhbWVkIHBhdGNoZXMKCi0tLQogLi4uZC1kaWZmLW91dHB1 dC13aXRoLUNSTEYtbGluZS1lbmRpbmdzLnBhdGNoIHwgMzM5IC0tLS0tLS0tLS0tLS0tLS0tLQog ZGViaWFuL3BhdGNoZXMvc2VyaWVzICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxIC0KIDIg ZmlsZXMgY2hhbmdlZCwgMzQwIGRlbGV0aW9ucygtKQogZGVsZXRlIG1vZGUgMTAwNjQ0IGRlYmlh bi9wYXRjaGVzLzAwMDEtRml4LWludmFsaWQtZGlmZi1vdXRwdXQtd2l0aC1DUkxGLWxpbmUtZW5k aW5ncy5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IGRlYmlhbi9wYXRjaGVzL3NlcmllcwoKZGlm ZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzLzAwMDEtRml4LWludmFsaWQtZGlmZi1vdXRwdXQtd2l0 aC1DUkxGLWxpbmUtZW5kaW5ncy5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzLzAwMDEtRml4LWludmFs aWQtZGlmZi1vdXRwdXQtd2l0aC1DUkxGLWxpbmUtZW5kaW5ncy5wYXRjaApkZWxldGVkIGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMGI3MmJhMy4uMDAwMDAwMAotLS0gYS9kZWJpYW4vcGF0Y2hlcy8w MDAxLUZpeC1pbnZhbGlkLWRpZmYtb3V0cHV0LXdpdGgtQ1JMRi1saW5lLWVuZGluZ3MucGF0Y2gK KysrIC9kZXYvbnVsbApAQCAtMSwzMzkgKzAsMCBAQAotRnJvbTogU2hvc2hpbiBOaWtpdGEgPHNo b3NoaW5fbmlraXRhQGZhc3RtYWlsLmNvbT4KLURhdGU6IFdlZCwgNyBBcHIgMjAyMSAxNToyNjow OSArMDMwMAotU3ViamVjdDogRml4IGludmFsaWQgZGlmZiBvdXRwdXQgd2l0aCBDUkxGIGxpbmUg ZW5kaW5ncwotCi1PcmlnaW46IHVwc3RyZWFtLCBodHRwczovL2dpdGh1Yi5jb20vc2VyZ2kvZ28t ZGlmZi9wdWxsLzEyMAotLS0tCi0gZGlmZm1hdGNocGF0Y2gvZGlmZi5nbyAgICAgICB8IDEyNyAr KysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tCi0gZGlmZm1hdGNocGF0 Y2gvZGlmZl90ZXN0LmdvICB8ICA2NyArKysrKysrKysrKysrKysrLS0tLS0tLQotIGRpZmZtYXRj aHBhdGNoL3N0cmluZ3V0aWwuZ28gfCAgMTggLS0tLS0tCi0gMyBmaWxlcyBjaGFuZ2VkLCAxMTgg aW5zZXJ0aW9ucygrKSwgOTQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9kaWZmbWF0Y2hw YXRjaC9kaWZmLmdvIGIvZGlmZm1hdGNocGF0Y2gvZGlmZi5nbwotaW5kZXggMmE5ZjJkYy4uYjk3 NWJiOCAxMDA2NDQKLS0tLSBhL2RpZmZtYXRjaHBhdGNoL2RpZmYuZ28KLSsrKyBiL2RpZmZtYXRj aHBhdGNoL2RpZmYuZ28KLUBAIC0zNCw4ICszNCw2IEBAIGNvbnN0ICgKLSAJRGlmZkluc2VydCBP cGVyYXRpb24gPSAxCi0gCS8vIERpZmZFcXVhbCBpdGVtIHJlcHJlc2VudHMgYW4gZXF1YWwgZGlm Zi4KLSAJRGlmZkVxdWFsIE9wZXJhdGlvbiA9IDAKLS0JLy9JbmRleFNlcGFyYXRvciBpcyB1c2Vk IHRvIHNlcGVyYXRlIHRoZSBhcnJheSBpbmRleGVzIGluIGFuIGluZGV4IHN0cmluZwotLQlJbmRl eFNlcGFyYXRvciA9ICIsIgotICkKLSAKLSAvLyBEaWZmIHJlcHJlc2VudHMgb25lIGRpZmYgb3Bl cmF0aW9uCi1AQCAtMTk1LDcgKzE5Myw3IEBAIGZ1bmMgKGRtcCAqRGlmZk1hdGNoUGF0Y2gpIGRp ZmZDb21wdXRlKHRleHQxLCB0ZXh0MiBbXXJ1bmUsIGNoZWNrbGluZXMgYm9vbCwgZGVhCi0gLy8g ZGlmZkxpbmVNb2RlIGRvZXMgYSBxdWljayBsaW5lLWxldmVsIGRpZmYgb24gYm90aCBbXXJ1bmVz LCB0aGVuIHJlZGlmZiB0aGUgcGFydHMgZm9yIGdyZWF0ZXIgYWNjdXJhY3kuIFRoaXMgc3BlZWR1 cCBjYW4gcHJvZHVjZSBub24tbWluaW1hbCBkaWZmcy4KLSBmdW5jIChkbXAgKkRpZmZNYXRjaFBh dGNoKSBkaWZmTGluZU1vZGUodGV4dDEsIHRleHQyIFtdcnVuZSwgZGVhZGxpbmUgdGltZS5UaW1l KSBbXURpZmYgewotIAkvLyBTY2FuIHRoZSB0ZXh0IG9uIGEgbGluZS1ieS1saW5lIGJhc2lzIGZp cnN0LgotLQl0ZXh0MSwgdGV4dDIsIGxpbmVhcnJheSA6PSBkbXAuRGlmZkxpbmVzVG9SdW5lcyhz dHJpbmcodGV4dDEpLCBzdHJpbmcodGV4dDIpKQotKwl0ZXh0MSwgdGV4dDIsIGxpbmVhcnJheSA6 PSBkbXAuZGlmZkxpbmVzVG9SdW5lcyh0ZXh0MSwgdGV4dDIpCi0gCi0gCWRpZmZzIDo9IGRtcC5k aWZmTWFpblJ1bmVzKHRleHQxLCB0ZXh0MiwgZmFsc2UsIGRlYWRsaW5lKQotIAotQEAgLTM5Miwy OCArMzkwLDg4IEBAIGZ1bmMgKGRtcCAqRGlmZk1hdGNoUGF0Y2gpIGRpZmZCaXNlY3RTcGxpdChy dW5lczEsIHJ1bmVzMiBbXXJ1bmUsIHgsIHkgaW50LAotIC8vIERpZmZMaW5lc1RvQ2hhcnMgc3Bs aXRzIHR3byB0ZXh0cyBpbnRvIGEgbGlzdCBvZiBzdHJpbmdzLCBhbmQgZWR1Y2VzIHRoZSB0ZXh0 cyB0byBhIHN0cmluZyBvZiBoYXNoZXMgd2hlcmUgZWFjaCBVbmljb2RlIGNoYXJhY3RlciByZXBy ZXNlbnRzIG9uZSBsaW5lLgotIC8vIEl0J3Mgc2xpZ2h0bHkgZmFzdGVyIHRvIGNhbGwgRGlmZkxp bmVzVG9SdW5lcyBmaXJzdCwgZm9sbG93ZWQgYnkgRGlmZk1haW5SdW5lcy4KLSBmdW5jIChkbXAg KkRpZmZNYXRjaFBhdGNoKSBEaWZmTGluZXNUb0NoYXJzKHRleHQxLCB0ZXh0MiBzdHJpbmcpIChz dHJpbmcsIHN0cmluZywgW11zdHJpbmcpIHsKLS0JY2hhcnMxLCBjaGFyczIsIGxpbmVBcnJheSA6 PSBkbXAuZGlmZkxpbmVzVG9TdHJpbmdzKHRleHQxLCB0ZXh0MikKLS0JcmV0dXJuIGNoYXJzMSwg Y2hhcnMyLCBsaW5lQXJyYXkKLSsJY2hhcnMxLCBjaGFyczIsIGxpbmVBcnJheSA6PSBkbXAuRGlm ZkxpbmVzVG9SdW5lcyh0ZXh0MSwgdGV4dDIpCi0rCXJldHVybiBzdHJpbmcoY2hhcnMxKSwgc3Ry aW5nKGNoYXJzMiksIGxpbmVBcnJheQotIH0KLSAKLS0vLyBEaWZmTGluZXNUb1J1bmVzIHNwbGl0 cyB0d28gdGV4dHMgaW50byBhIGxpc3Qgb2YgcnVuZXMuCi0rLy8gRGlmZkxpbmVzVG9SdW5lcyBz cGxpdHMgdHdvIHRleHRzIGludG8gYSBsaXN0IG9mIHJ1bmVzLiBFYWNoIHJ1bmUgcmVwcmVzZW50 cyBvbmUgbGluZS4KLSBmdW5jIChkbXAgKkRpZmZNYXRjaFBhdGNoKSBEaWZmTGluZXNUb1J1bmVz KHRleHQxLCB0ZXh0MiBzdHJpbmcpIChbXXJ1bmUsIFtdcnVuZSwgW11zdHJpbmcpIHsKLS0JY2hh cnMxLCBjaGFyczIsIGxpbmVBcnJheSA6PSBkbXAuZGlmZkxpbmVzVG9TdHJpbmdzKHRleHQxLCB0 ZXh0MikKLS0JcmV0dXJuIFtdcnVuZShjaGFyczEpLCBbXXJ1bmUoY2hhcnMyKSwgbGluZUFycmF5 Ci0rCS8vICdceDAwJyBpcyBhIHZhbGlkIGNoYXJhY3RlciwgYnV0IHZhcmlvdXMgZGVidWdnZXJz IGRvbid0IGxpa2UgaXQuIFNvIHdlJ2xsIGluc2VydCBhIGp1bmsgZW50cnkgdG8gYXZvaWQgZ2Vu ZXJhdGluZyBhIG51bGwgY2hhcmFjdGVyLgotKwlsaW5lQXJyYXkgOj0gW11zdHJpbmd7IiJ9ICAg IC8vIGUuZy4gbGluZUFycmF5WzRdID09ICdIZWxsb1xuJwotKwlsaW5lSGFzaCA6PSBtYXBbc3Ry aW5nXWludHt9IC8vIGUuZy4gbGluZUhhc2hbJ0hlbGxvXG4nXSA9PSA0Ci0rCi0rCWNoYXJzMSA6 PSBkbXAuZGlmZkxpbmVzVG9SdW5lc011bmdlKHRleHQxLCAmbGluZUFycmF5LCBsaW5lSGFzaCkK LSsJY2hhcnMyIDo9IGRtcC5kaWZmTGluZXNUb1J1bmVzTXVuZ2UodGV4dDIsICZsaW5lQXJyYXks IGxpbmVIYXNoKQotKwotKwlyZXR1cm4gY2hhcnMxLCBjaGFyczIsIGxpbmVBcnJheQotK30KLSsK LStmdW5jIChkbXAgKkRpZmZNYXRjaFBhdGNoKSBkaWZmTGluZXNUb1J1bmVzKHRleHQxLCB0ZXh0 MiBbXXJ1bmUpIChbXXJ1bmUsIFtdcnVuZSwgW11zdHJpbmcpIHsKLSsJcmV0dXJuIGRtcC5EaWZm TGluZXNUb1J1bmVzKHN0cmluZyh0ZXh0MSksIHN0cmluZyh0ZXh0MikpCi0rfQotKwotKy8vIGRp ZmZMaW5lc1RvUnVuZXNNdW5nZSBzcGxpdHMgYSB0ZXh0IGludG8gYW4gYXJyYXkgb2Ygc3RyaW5n
[continued in next message]
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)