<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>147243</bug_id>
          
          <creation_ts>2015-07-23 16:46:03 -0700</creation_ts>
          <short_desc>jsc-tailcall: Repatching tail calls as jump should depend on the opcode, not the JS CallLinkInfo</short_desc>
          <delta_ts>2015-07-24 11:59:15 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>146477</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Basile Clement">basile_clement</reporter>
          <assigned_to name="Basile Clement">basile_clement</assigned_to>
          <cc>fpizlo</cc>
    
    <cc>msaboff</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1111828</commentid>
    <comment_count>0</comment_count>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-07-23 16:46:03 -0700</bug_when>
    <thetext>Patch forthcoming. The apparent source of failures on ARM devices for https://bugs.webkit.org/show_bug.cgi?id=146484 looks to be that we are patching NearCalls as jump when the CallLinkInfo tells us we are a tail call.

However even for a tail call, the slow path will still have an actual call (and not jump) opcode: we should be patching based on that information instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111835</commentid>
    <comment_count>1</comment_count>
      <attachid>257408</attachid>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-07-23 16:50:49 -0700</bug_when>
    <thetext>Created attachment 257408
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112013</commentid>
    <comment_count>2</comment_count>
      <attachid>257408</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2015-07-24 11:03:54 -0700</bug_when>
    <thetext>Comment on attachment 257408
Patch

Looks fine except could you change the &quot;bool tail&quot; to an enum.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112027</commentid>
    <comment_count>3</comment_count>
      <attachid>257461</attachid>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-07-24 11:26:56 -0700</bug_when>
    <thetext>Created attachment 257461
Patch

Patch with enum</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112029</commentid>
    <comment_count>4</comment_count>
      <attachid>257461</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2015-07-24 11:32:22 -0700</bug_when>
    <thetext>Comment on attachment 257461
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112048</commentid>
    <comment_count>5</comment_count>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-07-24 11:59:15 -0700</bug_when>
    <thetext>Landed in https://trac.webkit.org/changeset/187354.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257408</attachid>
            <date>2015-07-23 16:50:49 -0700</date>
            <delta_ts>2015-07-24 11:26:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147243-20150723164933.patch</filename>
            <type>text/plain</type>
            <size>9512</size>
            <attacher name="Basile Clement">basile_clement</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3MTY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
OTJmZDFhNmE0Y2Y5NzFmYjYxZTE4MzcyNzE2MTIyMDI4NTFlNjc4Li5lZTQ0YWRiNTc4YjMxMjRj
Y2NjMDM5NTM1ZGZiMDY0NjQxOGI0ODRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNyBAQAorMjAxNS0wNy0yMyAgQmFzaWxlIENsZW1lbnQgIDxiYXNpbGVfY2xlbWVudEBh
cHBsZS5jb20+CisKKyAgICAgICAganNjLXRhaWxjYWxsOiBSZXBhdGNoaW5nIHRhaWwgY2FsbHMg
YXMganVtcCBzaG91bGQgZGVwZW5kIG9uIHRoZSBvcGNvZGUsIG5vdCB0aGUgSlMgQ2FsbExpbmtJ
bmZvCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDcy
NDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVu
IGxpbmtpbmcsIHdlIGFyZSBjdXJyZW50bHkgbG9va2luZyBhdCBkYXRhIGZyb20gdGhlIEpTIENh
bGxMaW5rSW5mbworICAgICAgICB0byBkZXRlcm1pbmUgaWYgd2UgaGF2ZSBhIGNhbGwgb3IganVt
cCBvcGNvZGUuIEhvd2V2ZXIsIGV2ZW4gd2l0aCBhCisgICAgICAgIHRhaWwgY2FsbCwgdGhlIHNs
b3cgcGF0aCB1c2VzIGEgY2FsbCBvcGNvZGUgZm9yIHNpbXBsaWNpdHkuIAorCisgICAgICAgIFRo
aXMgYWRkcyB0aGUgaW5mb3JtYXRpb24gdGhhdCB3ZSBhcmUgcGVyZm9ybWluZyBhIHRhaWwgY2Fs
bCBpbnRvIHRoZQorICAgICAgICBDb2RlTG9jYXRpb25OZWFyQ2FsbCBjbGFzcywgd2hpY2ggYWxs
b3dzIHVzIHRvIGxpbmsgYXMganVtcCBvciBjYWxsCisgICAgICAgIGJhc2VkIG9uIHRoZSBhY3R1
YWwgb3Bjb2RlLgorCisgICAgICAgIFRoaXMgaXMgYSBjb25jZXB0dWFsIGVycm9yIHRoYXQgY291
bGRuJ3QgYmUgZm91bmQgb24gWDg2IGFyY2hpdGVjdHVyZQorICAgICAgICBzaW5jZSB0aGUgcGF0
Y2hpbmcgb2YganVtcCBhbmQgY2FsbHMgaXMgaWRlbnRpY2FsIHRoZXJlLgorCisgICAgICAgICog
YXNzZW1ibGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaDoKKyAgICAgICAgKEpTQzo6QWJzdHJh
Y3RNYWNyb0Fzc2VtYmxlcjo6cmVwYXRjaE5lYXJDYWxsKToKKyAgICAgICAgKiBhc3NlbWJsZXIv
Q29kZUxvY2F0aW9uLmg6CisgICAgICAgIChKU0M6OkNvZGVMb2NhdGlvbk5lYXJDYWxsOjpDb2Rl
TG9jYXRpb25OZWFyQ2FsbCk6CisgICAgICAgIChKU0M6OkNvZGVMb2NhdGlvbk5lYXJDYWxsOjpp
c1RhaWwpOgorICAgICAgICAoSlNDOjpDb2RlTG9jYXRpb25Db21tb246Om5lYXJDYWxsQXRPZmZz
ZXQpOgorICAgICAgICAqIGFzc2VtYmxlci9MaW5rQnVmZmVyLmg6CisgICAgICAgIChKU0M6Okxp
bmtCdWZmZXI6OmxvY2F0aW9uT2ZOZWFyQ2FsbCk6CisgICAgICAgICogYXNzZW1ibGVyL1JlcGF0
Y2hCdWZmZXIuaDoKKyAgICAgICAgKEpTQzo6UmVwYXRjaEJ1ZmZlcjo6cmVsaW5rKToKKyAgICAg
ICAgKiBqaXQvUmVwYXRjaC5jcHA6CisgICAgICAgIChKU0M6OmxpbmtTbG93Rm9yKToKKyAgICAg
ICAgKEpTQzo6bGlua0Zvcik6CisgICAgICAgIChKU0M6OnJldmVydENhbGwpOgorICAgICAgICAo
SlNDOjpsaW5rUG9seW1vcnBoaWNDYWxsKToKKwogMjAxNS0wNy0yMSAgQmFzaWxlIENsZW1lbnQg
IDxiYXNpbGVfY2xlbWVudEBhcHBsZS5jb20+CiAKICAgICAgICAganNjLXRhaWxjYWxsOiBBZGQg
bmV3IG9wY29kZXMgZm9yIHRhaWwgY2FsbHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9hc3NlbWJsZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmgKaW5kZXggMjBhMWY4MzAw
NGE3ZmZkYWM5ZWU2Y2E2MDYzMzAwMGI3NTA0ZDlmYS4uYmE3NjM2MjBhMThkYWE2NjViNGZjMzYx
ZmQ1YTgzMzE3ZGY0NWMzNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Fzc2VtYmxlci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmgKQEAgLTExNTMsNyArMTE1MywxMCBA
QCBwcm90ZWN0ZWQ6CiAKICAgICBzdGF0aWMgdm9pZCByZXBhdGNoTmVhckNhbGwoQ29kZUxvY2F0
aW9uTmVhckNhbGwgbmVhckNhbGwsIENvZGVMb2NhdGlvbkxhYmVsIGRlc3RpbmF0aW9uKQogICAg
IHsKLSAgICAgICAgQXNzZW1ibGVyVHlwZTo6cmVsaW5rQ2FsbChuZWFyQ2FsbC5kYXRhTG9jYXRp
b24oKSwgZGVzdGluYXRpb24uZXhlY3V0YWJsZUFkZHJlc3MoKSk7CisgICAgICAgIGlmIChuZWFy
Q2FsbC5pc1RhaWwoKSkKKyAgICAgICAgICAgIEFzc2VtYmxlclR5cGU6OnJlbGlua0p1bXAobmVh
ckNhbGwuZGF0YUxvY2F0aW9uKCksIGRlc3RpbmF0aW9uLmV4ZWN1dGFibGVBZGRyZXNzKCkpOwor
ICAgICAgICBlbHNlCisgICAgICAgICAgICBBc3NlbWJsZXJUeXBlOjpyZWxpbmtDYWxsKG5lYXJD
YWxsLmRhdGFMb2NhdGlvbigpLCBkZXN0aW5hdGlvbi5leGVjdXRhYmxlQWRkcmVzcygpKTsKICAg
ICB9CiAKICAgICBzdGF0aWMgdm9pZCByZXBhdGNoQ29tcGFjdChDb2RlTG9jYXRpb25EYXRhTGFi
ZWxDb21wYWN0IGRhdGFMYWJlbENvbXBhY3QsIGludDMyX3QgdmFsdWUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0NvZGVMb2NhdGlvbi5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9Db2RlTG9jYXRpb24uaAppbmRleCA4NmQxZjJiNzU1MmU5
NjA4NTllMTM1YjIxZDc0OGEyMjFmYzE0OTg0Li4zZmZiNGM1ZTUzNDNmMTYzMjgxMzg1ZmRkNjY4
NGU2MDk0MDBlMjVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVy
L0NvZGVMb2NhdGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQ29k
ZUxvY2F0aW9uLmgKQEAgLTU5LDcgKzU5LDcgQEAgcHVibGljOgogICAgIENvZGVMb2NhdGlvbkxh
YmVsIGxhYmVsQXRPZmZzZXQoaW50IG9mZnNldCk7CiAgICAgQ29kZUxvY2F0aW9uSnVtcCBqdW1w
QXRPZmZzZXQoaW50IG9mZnNldCk7CiAgICAgQ29kZUxvY2F0aW9uQ2FsbCBjYWxsQXRPZmZzZXQo
aW50IG9mZnNldCk7Ci0gICAgQ29kZUxvY2F0aW9uTmVhckNhbGwgbmVhckNhbGxBdE9mZnNldChp
bnQgb2Zmc2V0KTsKKyAgICBDb2RlTG9jYXRpb25OZWFyQ2FsbCBuZWFyQ2FsbEF0T2Zmc2V0KGlu
dCBvZmZzZXQsIGJvb2wgdGFpbCk7CiAgICAgQ29kZUxvY2F0aW9uRGF0YUxhYmVsUHRyIGRhdGFM
YWJlbFB0ckF0T2Zmc2V0KGludCBvZmZzZXQpOwogICAgIENvZGVMb2NhdGlvbkRhdGFMYWJlbDMy
IGRhdGFMYWJlbDMyQXRPZmZzZXQoaW50IG9mZnNldCk7CiAgICAgQ29kZUxvY2F0aW9uRGF0YUxh
YmVsQ29tcGFjdCBkYXRhTGFiZWxDb21wYWN0QXRPZmZzZXQoaW50IG9mZnNldCk7CkBAIC0xMTUs
MTAgKzExNSwxMyBAQCBwdWJsaWM6CiBjbGFzcyBDb2RlTG9jYXRpb25OZWFyQ2FsbCA6IHB1Ymxp
YyBDb2RlTG9jYXRpb25Db21tb24gewogcHVibGljOgogICAgIENvZGVMb2NhdGlvbk5lYXJDYWxs
KCkge30KLSAgICBleHBsaWNpdCBDb2RlTG9jYXRpb25OZWFyQ2FsbChNYWNyb0Fzc2VtYmxlckNv
ZGVQdHIgbG9jYXRpb24pCi0gICAgICAgIDogQ29kZUxvY2F0aW9uQ29tbW9uKGxvY2F0aW9uKSB7
fQotICAgIGV4cGxpY2l0IENvZGVMb2NhdGlvbk5lYXJDYWxsKHZvaWQqIGxvY2F0aW9uKQotICAg
ICAgICA6IENvZGVMb2NhdGlvbkNvbW1vbihNYWNyb0Fzc2VtYmxlckNvZGVQdHIobG9jYXRpb24p
KSB7fQorICAgIGV4cGxpY2l0IENvZGVMb2NhdGlvbk5lYXJDYWxsKE1hY3JvQXNzZW1ibGVyQ29k
ZVB0ciBsb2NhdGlvbiwgYm9vbCB0YWlsKQorICAgICAgICA6IENvZGVMb2NhdGlvbkNvbW1vbihs
b2NhdGlvbiksIG1fdGFpbCh0YWlsKSB7fQorICAgIGV4cGxpY2l0IENvZGVMb2NhdGlvbk5lYXJD
YWxsKHZvaWQqIGxvY2F0aW9uLCBib29sIHRhaWwpCisgICAgICAgIDogQ29kZUxvY2F0aW9uQ29t
bW9uKE1hY3JvQXNzZW1ibGVyQ29kZVB0cihsb2NhdGlvbikpLCBtX3RhaWwodGFpbCkge30KKyAg
ICBib29sIGlzVGFpbCgpIHsgcmV0dXJuIG1fdGFpbDsgfQorcHJpdmF0ZToKKyAgICBib29sIG1f
dGFpbCA9IGZhbHNlOwogfTsKIAogY2xhc3MgQ29kZUxvY2F0aW9uRGF0YUxhYmVsMzIgOiBwdWJs
aWMgQ29kZUxvY2F0aW9uQ29tbW9uIHsKQEAgLTE4MSwxMCArMTg0LDEwIEBAIGlubGluZSBDb2Rl
TG9jYXRpb25DYWxsIENvZGVMb2NhdGlvbkNvbW1vbjo6Y2FsbEF0T2Zmc2V0KGludCBvZmZzZXQp
CiAgICAgcmV0dXJuIENvZGVMb2NhdGlvbkNhbGwocmVpbnRlcnByZXRfY2FzdDxjaGFyKj4oZGF0
YUxvY2F0aW9uKCkpICsgb2Zmc2V0KTsKIH0KIAotaW5saW5lIENvZGVMb2NhdGlvbk5lYXJDYWxs
IENvZGVMb2NhdGlvbkNvbW1vbjo6bmVhckNhbGxBdE9mZnNldChpbnQgb2Zmc2V0KQoraW5saW5l
IENvZGVMb2NhdGlvbk5lYXJDYWxsIENvZGVMb2NhdGlvbkNvbW1vbjo6bmVhckNhbGxBdE9mZnNl
dChpbnQgb2Zmc2V0LCBib29sIHRhaWwpCiB7CiAgICAgQVNTRVJUX1ZBTElEX0NPREVfT0ZGU0VU
KG9mZnNldCk7Ci0gICAgcmV0dXJuIENvZGVMb2NhdGlvbk5lYXJDYWxsKHJlaW50ZXJwcmV0X2Nh
c3Q8Y2hhcio+KGRhdGFMb2NhdGlvbigpKSArIG9mZnNldCk7CisgICAgcmV0dXJuIENvZGVMb2Nh
dGlvbk5lYXJDYWxsKHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KGRhdGFMb2NhdGlvbigpKSArIG9m
ZnNldCwgdGFpbCk7CiB9CiAKIGlubGluZSBDb2RlTG9jYXRpb25EYXRhTGFiZWxQdHIgQ29kZUxv
Y2F0aW9uQ29tbW9uOjpkYXRhTGFiZWxQdHJBdE9mZnNldChpbnQgb2Zmc2V0KQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9MaW5rQnVmZmVyLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuaAppbmRleCA5YjBkNGM0MzdiYTAx
Nzk1MmRlMDM5NDJiMWFhYWRmMDFhOTBiYzZiLi41Y2EwYzc5MmRiZjkyNmEwNTllN2Y3NDY0MTlm
NmRmYzQwMzJiY2YzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVy
L0xpbmtCdWZmZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtC
dWZmZXIuaApAQCAtMTgwLDcgKzE4MCw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIEFTU0VS
VChjYWxsLmlzRmxhZ1NldChDYWxsOjpMaW5rYWJsZSkpOwogICAgICAgICBBU1NFUlQoY2FsbC5p
c0ZsYWdTZXQoQ2FsbDo6TmVhcikpOwotICAgICAgICByZXR1cm4gQ29kZUxvY2F0aW9uTmVhckNh
bGwoTWFjcm9Bc3NlbWJsZXI6OmdldExpbmtlckFkZHJlc3MoY29kZSgpLCBhcHBseU9mZnNldChj
YWxsLm1fbGFiZWwpKSk7CisgICAgICAgIHJldHVybiBDb2RlTG9jYXRpb25OZWFyQ2FsbChNYWNy
b0Fzc2VtYmxlcjo6Z2V0TGlua2VyQWRkcmVzcyhjb2RlKCksIGFwcGx5T2Zmc2V0KGNhbGwubV9s
YWJlbCkpLCBjYWxsLmlzRmxhZ1NldChDYWxsOjpUYWlsKSk7CiAgICAgfQogCiAgICAgQ29kZUxv
Y2F0aW9uTGFiZWwgbG9jYXRpb25PZihQYXRjaGFibGVKdW1wIGp1bXApCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1JlcGF0Y2hCdWZmZXIuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvUmVwYXRjaEJ1ZmZlci5oCmluZGV4IDBlNGFlZDQ5YmI4
MTQ0MGNmMDA0OGY3ODYxMmQ0ZTRhZTFmYjYyZWQuLjBhYzc0OTIzMTk1NmZkOWE4YmFhZDk2MTc4
ZjRkNzlmZjg5MWVjYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJs
ZXIvUmVwYXRjaEJ1ZmZlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIv
UmVwYXRjaEJ1ZmZlci5oCkBAIC04MCwxNyArODAsMTQgQEAgcHVibGljOgogICAgICAgICBNYWNy
b0Fzc2VtYmxlcjo6cmVwYXRjaENhbGwoY2FsbCwgZGVzdGluYXRpb24pOwogICAgIH0KIAotICAg
IHZvaWQgcmVsaW5rKENvZGVMb2NhdGlvbk5lYXJDYWxsIG5lYXJDYWxsLCBDb2RlUHRyIGRlc3Rp
bmF0aW9uLCBDYWxsTGlua0luZm86OkNhbGxUeXBlIGNhbGxUeXBlKQorICAgIHZvaWQgcmVsaW5r
KENvZGVMb2NhdGlvbk5lYXJDYWxsIG5lYXJDYWxsLCBDb2RlUHRyIGRlc3RpbmF0aW9uKQogICAg
IHsKLSAgICAgICAgcmVsaW5rKG5lYXJDYWxsLCBDb2RlTG9jYXRpb25MYWJlbChkZXN0aW5hdGlv
biksIGNhbGxUeXBlKTsKKyAgICAgICAgcmVsaW5rKG5lYXJDYWxsLCBDb2RlTG9jYXRpb25MYWJl
bChkZXN0aW5hdGlvbikpOwogICAgIH0KIAotICAgIHZvaWQgcmVsaW5rKENvZGVMb2NhdGlvbk5l
YXJDYWxsIG5lYXJDYWxsLCBDb2RlTG9jYXRpb25MYWJlbCBkZXN0aW5hdGlvbiwgQ2FsbExpbmtJ
bmZvOjpDYWxsVHlwZSBjYWxsVHlwZSkKKyAgICB2b2lkIHJlbGluayhDb2RlTG9jYXRpb25OZWFy
Q2FsbCBuZWFyQ2FsbCwgQ29kZUxvY2F0aW9uTGFiZWwgZGVzdGluYXRpb24pCiAgICAgewotICAg
ICAgICBpZiAoQ2FsbExpbmtJbmZvOjppc1RhaWxDYWxsVHlwZShjYWxsVHlwZSkpCi0gICAgICAg
ICAgICBNYWNyb0Fzc2VtYmxlcjo6cmVwYXRjaEp1bXAoQ29kZUxvY2F0aW9uSnVtcChuZWFyQ2Fs
bC5kYXRhTG9jYXRpb24oKSksIGRlc3RpbmF0aW9uKTsKLSAgICAgICAgZWxzZQotICAgICAgICAg
ICAgTWFjcm9Bc3NlbWJsZXI6OnJlcGF0Y2hOZWFyQ2FsbChuZWFyQ2FsbCwgZGVzdGluYXRpb24p
OworICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6cmVwYXRjaE5lYXJDYWxsKG5lYXJDYWxsLCBkZXN0
aW5hdGlvbik7CiAgICAgfQogCiAgICAgdm9pZCByZXBhdGNoKENvZGVMb2NhdGlvbkRhdGFMYWJl
bDMyIGRhdGFMYWJlbDMyLCBpbnQzMl90IHZhbHVlKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVw
YXRjaC5jcHAKaW5kZXggODI4MGNmMWRjOTVlM2E1ZTBiMDdmYWFkYTg4YzU2Y2IxYjA3MWE2Mi4u
MDhhYjdkODY3NDkwZTEyMjQyYzU2ZmVmMTc0NzMxMWQzNTkzNjRlNCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L1JlcGF0Y2guY3BwCkBAIC0xNjA2LDggKzE2MDYsNyBAQCBzdGF0aWMgdm9pZCBs
aW5rU2xvd0ZvcigKIHsKICAgICByZXBhdGNoQnVmZmVyLnJlbGluaygKICAgICAgICAgY2FsbExp
bmtJbmZvLmNhbGxSZXR1cm5Mb2NhdGlvbigpLAotICAgICAgICB2aXJ0dWFsVGh1bmsodm0sIGNh
bGxMaW5rSW5mbywga2luZCwgcmVnaXN0ZXJzKS5jb2RlKCksCi0gICAgICAgIGNhbGxMaW5rSW5m
by5jYWxsVHlwZSgpKTsKKyAgICAgICAgdmlydHVhbFRodW5rKHZtLCBjYWxsTGlua0luZm8sIGtp
bmQsIHJlZ2lzdGVycykuY29kZSgpKTsKIH0KIAogdm9pZCBsaW5rRm9yKApAQCAtMTYyOCw3ICsx
NjI3LDcgQEAgdm9pZCBsaW5rRm9yKAogICAgIGNhbGxMaW5rSW5mby5zZXRMYXN0U2VlbkNhbGxl
ZShleGVjLT5jYWxsZXJGcmFtZSgpLT52bSgpLCBjYWxsZXJDb2RlQmxvY2stPm93bmVyRXhlY3V0
YWJsZSgpLCBjYWxsZWUpOwogICAgIGlmIChzaG91bGRTaG93RGlzYXNzZW1ibHlGb3IoY2FsbGVy
Q29kZUJsb2NrKSkKICAgICAgICAgZGF0YUxvZygiTGlua2luZyBjYWxsIGluICIsICpjYWxsZXJD
b2RlQmxvY2ssICIgYXQgIiwgY2FsbExpbmtJbmZvLmNvZGVPcmlnaW4oKSwgIiB0byAiLCBwb2lu
dGVyRHVtcChjYWxsZWVDb2RlQmxvY2spLCAiLCBlbnRyeXBvaW50IGF0ICIsIGNvZGVQdHIsICJc
biIpOwotICAgIHJlcGF0Y2hCdWZmZXIucmVsaW5rKGNhbGxMaW5rSW5mby5ob3RQYXRoT3RoZXIo
KSwgY29kZVB0ciwgY2FsbExpbmtJbmZvLmNhbGxUeXBlKCkpOworICAgIHJlcGF0Y2hCdWZmZXIu
cmVsaW5rKGNhbGxMaW5rSW5mby5ob3RQYXRoT3RoZXIoKSwgY29kZVB0cik7CiAgICAgCiAgICAg
aWYgKGNhbGxlZUNvZGVCbG9jaykKICAgICAgICAgY2FsbGVlQ29kZUJsb2NrLT5saW5rSW5jb21p
bmdDYWxsKGV4ZWMtPmNhbGxlckZyYW1lKCksICZjYWxsTGlua0luZm8pOwpAQCAtMTYzNiw4ICsx
NjM1LDcgQEAgdm9pZCBsaW5rRm9yKAogICAgIGlmIChraW5kID09IENvZGVGb3JDYWxsKSB7CiAg
ICAgICAgIHJlcGF0Y2hCdWZmZXIucmVsaW5rKAogICAgICAgICAgICAgY2FsbExpbmtJbmZvLmNh
bGxSZXR1cm5Mb2NhdGlvbigpLAotICAgICAgICAgICAgbGlua1BvbHltb3JwaGljQ2FsbFRodW5r
KHZtLCBjYWxsTGlua0luZm8sIHJlZ2lzdGVycykuY29kZSgpLAotICAgICAgICAgICAgY2FsbExp
bmtJbmZvLmNhbGxUeXBlKCkpOworICAgICAgICAgICAgbGlua1BvbHltb3JwaGljQ2FsbFRodW5r
KHZtLCBjYWxsTGlua0luZm8sIHJlZ2lzdGVycykuY29kZSgpKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KICAgICAKQEAgLTE2NjUsNyArMTY2Myw3IEBAIHN0YXRpYyB2b2lkIHJldmVydENhbGwo
CiAgICAgICAgIFJlcGF0Y2hCdWZmZXI6OnN0YXJ0T2ZCcmFuY2hQdHJXaXRoUGF0Y2hPblJlZ2lz
dGVyKGNhbGxMaW5rSW5mby5ob3RQYXRoQmVnaW4oKSksCiAgICAgICAgIHN0YXRpY19jYXN0PE1h
Y3JvQXNzZW1ibGVyOjpSZWdpc3RlcklEPihjYWxsTGlua0luZm8uY2FsbGVlR1BSKCkpLCAwKTsK
ICAgICByZXBhdGNoQnVmZmVyLnJlbGluaygKLSAgICAgICAgY2FsbExpbmtJbmZvLmNhbGxSZXR1
cm5Mb2NhdGlvbigpLCBjb2RlUmVmLmNvZGUoKSwgY2FsbExpbmtJbmZvLmNhbGxUeXBlKCkpOwor
ICAgICAgICBjYWxsTGlua0luZm8uY2FsbFJldHVybkxvY2F0aW9uKCksIGNvZGVSZWYuY29kZSgp
KTsKICAgICBjYWxsTGlua0luZm8uY2xlYXJTZWVuKCk7CiAgICAgY2FsbExpbmtJbmZvLmNsZWFy
Q2FsbGVlKCk7CiAgICAgY2FsbExpbmtJbmZvLmNsZWFyU3R1YigpOwpAQCAtMTk0NCw4ICsxOTQy
LDcgQEAgdm9pZCBsaW5rUG9seW1vcnBoaWNDYWxsKAogICAgIC8vIHRha2luZyB0aGUgcG9seW1v
cnBoaWMgcGF0aCBvbiAzMiBiaXQgcGxhdGZvcm1zCiAgICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmso
CiAgICAgICAgIGNhbGxMaW5rSW5mby5jYWxsUmV0dXJuTG9jYXRpb24oKSwKLSAgICAgICAgc2xv
d1BhdGhDb2RlUHRyLAotICAgICAgICBjYWxsTGlua0luZm8uY2FsbFR5cGUoKSk7CisgICAgICAg
IHNsb3dQYXRoQ29kZVB0cik7CiAgICAgCiAgICAgLy8gSWYgdGhlcmUgaGFkIGJlZW4gYSBwcmV2
aW91cyBzdHViIHJvdXRpbmUsIHRoYXQgb25lIHdpbGwgZGllIGFzIHNvb24gYXMgdGhlIEdDIHJ1
bnMgYW5kIHNlZXMKICAgICAvLyB0aGF0IGl0J3Mgbm8gbG9uZ2VyIG9uIHN0YWNrLgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257461</attachid>
            <date>2015-07-24 11:26:56 -0700</date>
            <delta_ts>2015-07-24 11:32:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147243-20150724112539.patch</filename>
            <type>text/plain</type>
            <size>9942</size>
            <attacher name="Basile Clement">basile_clement</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3MTY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
OTJmZDFhNmE0Y2Y5NzFmYjYxZTE4MzcyNzE2MTIyMDI4NTFlNjc4Li5lZTQ0YWRiNTc4YjMxMjRj
Y2NjMDM5NTM1ZGZiMDY0NjQxOGI0ODRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNyBAQAorMjAxNS0wNy0yMyAgQmFzaWxlIENsZW1lbnQgIDxiYXNpbGVfY2xlbWVudEBh
cHBsZS5jb20+CisKKyAgICAgICAganNjLXRhaWxjYWxsOiBSZXBhdGNoaW5nIHRhaWwgY2FsbHMg
YXMganVtcCBzaG91bGQgZGVwZW5kIG9uIHRoZSBvcGNvZGUsIG5vdCB0aGUgSlMgQ2FsbExpbmtJ
bmZvCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDcy
NDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVu
IGxpbmtpbmcsIHdlIGFyZSBjdXJyZW50bHkgbG9va2luZyBhdCBkYXRhIGZyb20gdGhlIEpTIENh
bGxMaW5rSW5mbworICAgICAgICB0byBkZXRlcm1pbmUgaWYgd2UgaGF2ZSBhIGNhbGwgb3IganVt
cCBvcGNvZGUuIEhvd2V2ZXIsIGV2ZW4gd2l0aCBhCisgICAgICAgIHRhaWwgY2FsbCwgdGhlIHNs
b3cgcGF0aCB1c2VzIGEgY2FsbCBvcGNvZGUgZm9yIHNpbXBsaWNpdHkuIAorCisgICAgICAgIFRo
aXMgYWRkcyB0aGUgaW5mb3JtYXRpb24gdGhhdCB3ZSBhcmUgcGVyZm9ybWluZyBhIHRhaWwgY2Fs
bCBpbnRvIHRoZQorICAgICAgICBDb2RlTG9jYXRpb25OZWFyQ2FsbCBjbGFzcywgd2hpY2ggYWxs
b3dzIHVzIHRvIGxpbmsgYXMganVtcCBvciBjYWxsCisgICAgICAgIGJhc2VkIG9uIHRoZSBhY3R1
YWwgb3Bjb2RlLgorCisgICAgICAgIFRoaXMgaXMgYSBjb25jZXB0dWFsIGVycm9yIHRoYXQgY291
bGRuJ3QgYmUgZm91bmQgb24gWDg2IGFyY2hpdGVjdHVyZQorICAgICAgICBzaW5jZSB0aGUgcGF0
Y2hpbmcgb2YganVtcCBhbmQgY2FsbHMgaXMgaWRlbnRpY2FsIHRoZXJlLgorCisgICAgICAgICog
YXNzZW1ibGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaDoKKyAgICAgICAgKEpTQzo6QWJzdHJh
Y3RNYWNyb0Fzc2VtYmxlcjo6cmVwYXRjaE5lYXJDYWxsKToKKyAgICAgICAgKiBhc3NlbWJsZXIv
Q29kZUxvY2F0aW9uLmg6CisgICAgICAgIChKU0M6OkNvZGVMb2NhdGlvbk5lYXJDYWxsOjpDb2Rl
TG9jYXRpb25OZWFyQ2FsbCk6CisgICAgICAgIChKU0M6OkNvZGVMb2NhdGlvbk5lYXJDYWxsOjpp
c1RhaWwpOgorICAgICAgICAoSlNDOjpDb2RlTG9jYXRpb25Db21tb246Om5lYXJDYWxsQXRPZmZz
ZXQpOgorICAgICAgICAqIGFzc2VtYmxlci9MaW5rQnVmZmVyLmg6CisgICAgICAgIChKU0M6Okxp
bmtCdWZmZXI6OmxvY2F0aW9uT2ZOZWFyQ2FsbCk6CisgICAgICAgICogYXNzZW1ibGVyL1JlcGF0
Y2hCdWZmZXIuaDoKKyAgICAgICAgKEpTQzo6UmVwYXRjaEJ1ZmZlcjo6cmVsaW5rKToKKyAgICAg
ICAgKiBqaXQvUmVwYXRjaC5jcHA6CisgICAgICAgIChKU0M6OmxpbmtTbG93Rm9yKToKKyAgICAg
ICAgKEpTQzo6bGlua0Zvcik6CisgICAgICAgIChKU0M6OnJldmVydENhbGwpOgorICAgICAgICAo
SlNDOjpsaW5rUG9seW1vcnBoaWNDYWxsKToKKwogMjAxNS0wNy0yMSAgQmFzaWxlIENsZW1lbnQg
IDxiYXNpbGVfY2xlbWVudEBhcHBsZS5jb20+CiAKICAgICAgICAganNjLXRhaWxjYWxsOiBBZGQg
bmV3IG9wY29kZXMgZm9yIHRhaWwgY2FsbHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9hc3NlbWJsZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmgKaW5kZXggMjBhMWY4MzAw
NGE3ZmZkYWM5ZWU2Y2E2MDYzMzAwMGI3NTA0ZDlmYS4uMTU4ZjYwMDE2ZGM3NTljMDJkNTdhOTg3
NmUwNGQ3Y2I2YjI4NmNiZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Fzc2VtYmxlci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmgKQEAgLTExNTMsNyArMTE1MywxNSBA
QCBwcm90ZWN0ZWQ6CiAKICAgICBzdGF0aWMgdm9pZCByZXBhdGNoTmVhckNhbGwoQ29kZUxvY2F0
aW9uTmVhckNhbGwgbmVhckNhbGwsIENvZGVMb2NhdGlvbkxhYmVsIGRlc3RpbmF0aW9uKQogICAg
IHsKLSAgICAgICAgQXNzZW1ibGVyVHlwZTo6cmVsaW5rQ2FsbChuZWFyQ2FsbC5kYXRhTG9jYXRp
b24oKSwgZGVzdGluYXRpb24uZXhlY3V0YWJsZUFkZHJlc3MoKSk7CisgICAgICAgIHN3aXRjaCAo
bmVhckNhbGwuY2FsbE1vZGUoKSkgeworICAgICAgICBjYXNlIENhbGxNb2RlOjpUYWlsOgorICAg
ICAgICAgICAgQXNzZW1ibGVyVHlwZTo6cmVsaW5rSnVtcChuZWFyQ2FsbC5kYXRhTG9jYXRpb24o
KSwgZGVzdGluYXRpb24uZXhlY3V0YWJsZUFkZHJlc3MoKSk7CisgICAgICAgICAgICByZXR1cm47
CisgICAgICAgIGNhc2UgQ2FsbE1vZGU6OlJlZ3VsYXI6CisgICAgICAgICAgICBBc3NlbWJsZXJU
eXBlOjpyZWxpbmtDYWxsKG5lYXJDYWxsLmRhdGFMb2NhdGlvbigpLCBkZXN0aW5hdGlvbi5leGVj
dXRhYmxlQWRkcmVzcygpKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAg
ICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH0KIAogICAgIHN0YXRpYyB2b2lk
IHJlcGF0Y2hDb21wYWN0KENvZGVMb2NhdGlvbkRhdGFMYWJlbENvbXBhY3QgZGF0YUxhYmVsQ29t
cGFjdCwgaW50MzJfdCB2YWx1ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9h
c3NlbWJsZXIvQ29kZUxvY2F0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVy
L0NvZGVMb2NhdGlvbi5oCmluZGV4IDg2ZDFmMmI3NTUyZTk2MDg1OWUxMzViMjFkNzQ4YTIyMWZj
MTQ5ODQuLjBkYzI0ZGU0OWQ0MmQ4YTkxM2QwZTk0MzE2YTA1MjYzNmM1ZjE0NDYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQ29kZUxvY2F0aW9uLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9Db2RlTG9jYXRpb24uaApAQCAtMzIsNiAr
MzIsOCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAorZW51bSBDYWxsTW9kZSB7IFJlZ3VsYXIsIFRh
aWwgfTsKKwogY2xhc3MgQ29kZUxvY2F0aW9uSW5zdHJ1Y3Rpb247CiBjbGFzcyBDb2RlTG9jYXRp
b25MYWJlbDsKIGNsYXNzIENvZGVMb2NhdGlvbkp1bXA7CkBAIC01OSw3ICs2MSw3IEBAIHB1Ymxp
YzoKICAgICBDb2RlTG9jYXRpb25MYWJlbCBsYWJlbEF0T2Zmc2V0KGludCBvZmZzZXQpOwogICAg
IENvZGVMb2NhdGlvbkp1bXAganVtcEF0T2Zmc2V0KGludCBvZmZzZXQpOwogICAgIENvZGVMb2Nh
dGlvbkNhbGwgY2FsbEF0T2Zmc2V0KGludCBvZmZzZXQpOwotICAgIENvZGVMb2NhdGlvbk5lYXJD
YWxsIG5lYXJDYWxsQXRPZmZzZXQoaW50IG9mZnNldCk7CisgICAgQ29kZUxvY2F0aW9uTmVhckNh
bGwgbmVhckNhbGxBdE9mZnNldChpbnQgb2Zmc2V0LCBDYWxsTW9kZSk7CiAgICAgQ29kZUxvY2F0
aW9uRGF0YUxhYmVsUHRyIGRhdGFMYWJlbFB0ckF0T2Zmc2V0KGludCBvZmZzZXQpOwogICAgIENv
ZGVMb2NhdGlvbkRhdGFMYWJlbDMyIGRhdGFMYWJlbDMyQXRPZmZzZXQoaW50IG9mZnNldCk7CiAg
ICAgQ29kZUxvY2F0aW9uRGF0YUxhYmVsQ29tcGFjdCBkYXRhTGFiZWxDb21wYWN0QXRPZmZzZXQo
aW50IG9mZnNldCk7CkBAIC0xMTUsMTAgKzExNywxMyBAQCBwdWJsaWM6CiBjbGFzcyBDb2RlTG9j
YXRpb25OZWFyQ2FsbCA6IHB1YmxpYyBDb2RlTG9jYXRpb25Db21tb24gewogcHVibGljOgogICAg
IENvZGVMb2NhdGlvbk5lYXJDYWxsKCkge30KLSAgICBleHBsaWNpdCBDb2RlTG9jYXRpb25OZWFy
Q2FsbChNYWNyb0Fzc2VtYmxlckNvZGVQdHIgbG9jYXRpb24pCi0gICAgICAgIDogQ29kZUxvY2F0
aW9uQ29tbW9uKGxvY2F0aW9uKSB7fQotICAgIGV4cGxpY2l0IENvZGVMb2NhdGlvbk5lYXJDYWxs
KHZvaWQqIGxvY2F0aW9uKQotICAgICAgICA6IENvZGVMb2NhdGlvbkNvbW1vbihNYWNyb0Fzc2Vt
YmxlckNvZGVQdHIobG9jYXRpb24pKSB7fQorICAgIGV4cGxpY2l0IENvZGVMb2NhdGlvbk5lYXJD
YWxsKE1hY3JvQXNzZW1ibGVyQ29kZVB0ciBsb2NhdGlvbiwgQ2FsbE1vZGUgY2FsbE1vZGUpCisg
ICAgICAgIDogQ29kZUxvY2F0aW9uQ29tbW9uKGxvY2F0aW9uKSwgbV9jYWxsTW9kZShjYWxsTW9k
ZSkge30KKyAgICBleHBsaWNpdCBDb2RlTG9jYXRpb25OZWFyQ2FsbCh2b2lkKiBsb2NhdGlvbiwg
Q2FsbE1vZGUgY2FsbE1vZGUpCisgICAgICAgIDogQ29kZUxvY2F0aW9uQ29tbW9uKE1hY3JvQXNz
ZW1ibGVyQ29kZVB0cihsb2NhdGlvbikpLCBtX2NhbGxNb2RlKGNhbGxNb2RlKSB7fQorICAgIENh
bGxNb2RlIGNhbGxNb2RlKCkgeyByZXR1cm4gbV9jYWxsTW9kZTsgfQorcHJpdmF0ZToKKyAgICBD
YWxsTW9kZSBtX2NhbGxNb2RlID0gQ2FsbE1vZGU6OlJlZ3VsYXI7CiB9OwogCiBjbGFzcyBDb2Rl
TG9jYXRpb25EYXRhTGFiZWwzMiA6IHB1YmxpYyBDb2RlTG9jYXRpb25Db21tb24gewpAQCAtMTgx
LDEwICsxODYsMTAgQEAgaW5saW5lIENvZGVMb2NhdGlvbkNhbGwgQ29kZUxvY2F0aW9uQ29tbW9u
OjpjYWxsQXRPZmZzZXQoaW50IG9mZnNldCkKICAgICByZXR1cm4gQ29kZUxvY2F0aW9uQ2FsbChy
ZWludGVycHJldF9jYXN0PGNoYXIqPihkYXRhTG9jYXRpb24oKSkgKyBvZmZzZXQpOwogfQogCi1p
bmxpbmUgQ29kZUxvY2F0aW9uTmVhckNhbGwgQ29kZUxvY2F0aW9uQ29tbW9uOjpuZWFyQ2FsbEF0
T2Zmc2V0KGludCBvZmZzZXQpCitpbmxpbmUgQ29kZUxvY2F0aW9uTmVhckNhbGwgQ29kZUxvY2F0
aW9uQ29tbW9uOjpuZWFyQ2FsbEF0T2Zmc2V0KGludCBvZmZzZXQsIENhbGxNb2RlIGNhbGxNb2Rl
KQogewogICAgIEFTU0VSVF9WQUxJRF9DT0RFX09GRlNFVChvZmZzZXQpOwotICAgIHJldHVybiBD
b2RlTG9jYXRpb25OZWFyQ2FsbChyZWludGVycHJldF9jYXN0PGNoYXIqPihkYXRhTG9jYXRpb24o
KSkgKyBvZmZzZXQpOworICAgIHJldHVybiBDb2RlTG9jYXRpb25OZWFyQ2FsbChyZWludGVycHJl
dF9jYXN0PGNoYXIqPihkYXRhTG9jYXRpb24oKSkgKyBvZmZzZXQsIGNhbGxNb2RlKTsKIH0KIAog
aW5saW5lIENvZGVMb2NhdGlvbkRhdGFMYWJlbFB0ciBDb2RlTG9jYXRpb25Db21tb246OmRhdGFM
YWJlbFB0ckF0T2Zmc2V0KGludCBvZmZzZXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3Nl
bWJsZXIvTGlua0J1ZmZlci5oCmluZGV4IDliMGQ0YzQzN2JhMDE3OTUyZGUwMzk0MmIxYWFhZGYw
MWE5MGJjNmIuLjljNDFiOTVkNTE1NWM0ZDZjOTI0ODcxZGI5NGZhMTdmZjE4ZWNjMzggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5oCkBAIC0xODAsNyAr
MTgwLDggQEAgcHVibGljOgogICAgIHsKICAgICAgICAgQVNTRVJUKGNhbGwuaXNGbGFnU2V0KENh
bGw6OkxpbmthYmxlKSk7CiAgICAgICAgIEFTU0VSVChjYWxsLmlzRmxhZ1NldChDYWxsOjpOZWFy
KSk7Ci0gICAgICAgIHJldHVybiBDb2RlTG9jYXRpb25OZWFyQ2FsbChNYWNyb0Fzc2VtYmxlcjo6
Z2V0TGlua2VyQWRkcmVzcyhjb2RlKCksIGFwcGx5T2Zmc2V0KGNhbGwubV9sYWJlbCkpKTsKKyAg
ICAgICAgcmV0dXJuIENvZGVMb2NhdGlvbk5lYXJDYWxsKE1hY3JvQXNzZW1ibGVyOjpnZXRMaW5r
ZXJBZGRyZXNzKGNvZGUoKSwgYXBwbHlPZmZzZXQoY2FsbC5tX2xhYmVsKSksCisgICAgICAgICAg
ICBjYWxsLmlzRmxhZ1NldChDYWxsOjpUYWlsKSA/IENhbGxNb2RlOjpUYWlsIDogQ2FsbE1vZGU6
OlJlZ3VsYXIpOwogICAgIH0KIAogICAgIENvZGVMb2NhdGlvbkxhYmVsIGxvY2F0aW9uT2YoUGF0
Y2hhYmxlSnVtcCBqdW1wKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9SZXBhdGNoQnVmZmVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1Jl
cGF0Y2hCdWZmZXIuaAppbmRleCAwZTRhZWQ0OWJiODE0NDBjZjAwNDhmNzg2MTJkNGU0YWUxZmI2
MmVkLi4wYWM3NDkyMzE5NTZmZDlhOGJhYWQ5NjE3OGY0ZDc5ZmY4OTFlY2I5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1JlcGF0Y2hCdWZmZXIuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1JlcGF0Y2hCdWZmZXIuaApAQCAtODAsMTcg
KzgwLDE0IEBAIHB1YmxpYzoKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OnJlcGF0Y2hDYWxsKGNh
bGwsIGRlc3RpbmF0aW9uKTsKICAgICB9CiAKLSAgICB2b2lkIHJlbGluayhDb2RlTG9jYXRpb25O
ZWFyQ2FsbCBuZWFyQ2FsbCwgQ29kZVB0ciBkZXN0aW5hdGlvbiwgQ2FsbExpbmtJbmZvOjpDYWxs
VHlwZSBjYWxsVHlwZSkKKyAgICB2b2lkIHJlbGluayhDb2RlTG9jYXRpb25OZWFyQ2FsbCBuZWFy
Q2FsbCwgQ29kZVB0ciBkZXN0aW5hdGlvbikKICAgICB7Ci0gICAgICAgIHJlbGluayhuZWFyQ2Fs
bCwgQ29kZUxvY2F0aW9uTGFiZWwoZGVzdGluYXRpb24pLCBjYWxsVHlwZSk7CisgICAgICAgIHJl
bGluayhuZWFyQ2FsbCwgQ29kZUxvY2F0aW9uTGFiZWwoZGVzdGluYXRpb24pKTsKICAgICB9CiAK
LSAgICB2b2lkIHJlbGluayhDb2RlTG9jYXRpb25OZWFyQ2FsbCBuZWFyQ2FsbCwgQ29kZUxvY2F0
aW9uTGFiZWwgZGVzdGluYXRpb24sIENhbGxMaW5rSW5mbzo6Q2FsbFR5cGUgY2FsbFR5cGUpCisg
ICAgdm9pZCByZWxpbmsoQ29kZUxvY2F0aW9uTmVhckNhbGwgbmVhckNhbGwsIENvZGVMb2NhdGlv
bkxhYmVsIGRlc3RpbmF0aW9uKQogICAgIHsKLSAgICAgICAgaWYgKENhbGxMaW5rSW5mbzo6aXNU
YWlsQ2FsbFR5cGUoY2FsbFR5cGUpKQotICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OnJlcGF0
Y2hKdW1wKENvZGVMb2NhdGlvbkp1bXAobmVhckNhbGwuZGF0YUxvY2F0aW9uKCkpLCBkZXN0aW5h
dGlvbik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpyZXBhdGNo
TmVhckNhbGwobmVhckNhbGwsIGRlc3RpbmF0aW9uKTsKKyAgICAgICAgTWFjcm9Bc3NlbWJsZXI6
OnJlcGF0Y2hOZWFyQ2FsbChuZWFyQ2FsbCwgZGVzdGluYXRpb24pOwogICAgIH0KIAogICAgIHZv
aWQgcmVwYXRjaChDb2RlTG9jYXRpb25EYXRhTGFiZWwzMiBkYXRhTGFiZWwzMiwgaW50MzJfdCB2
YWx1ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCmluZGV4IDgyODBjZjFkYzk1
ZTNhNWUwYjA3ZmFhZGE4OGM1NmNiMWIwNzFhNjIuLjA4YWI3ZDg2NzQ5MGUxMjI0MmM1NmZlZjE3
NDczMTFkMzU5MzY0ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVw
YXRjaC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcApAQCAt
MTYwNiw4ICsxNjA2LDcgQEAgc3RhdGljIHZvaWQgbGlua1Nsb3dGb3IoCiB7CiAgICAgcmVwYXRj
aEJ1ZmZlci5yZWxpbmsoCiAgICAgICAgIGNhbGxMaW5rSW5mby5jYWxsUmV0dXJuTG9jYXRpb24o
KSwKLSAgICAgICAgdmlydHVhbFRodW5rKHZtLCBjYWxsTGlua0luZm8sIGtpbmQsIHJlZ2lzdGVy
cykuY29kZSgpLAotICAgICAgICBjYWxsTGlua0luZm8uY2FsbFR5cGUoKSk7CisgICAgICAgIHZp
cnR1YWxUaHVuayh2bSwgY2FsbExpbmtJbmZvLCBraW5kLCByZWdpc3RlcnMpLmNvZGUoKSk7CiB9
CiAKIHZvaWQgbGlua0ZvcigKQEAgLTE2MjgsNyArMTYyNyw3IEBAIHZvaWQgbGlua0ZvcigKICAg
ICBjYWxsTGlua0luZm8uc2V0TGFzdFNlZW5DYWxsZWUoZXhlYy0+Y2FsbGVyRnJhbWUoKS0+dm0o
KSwgY2FsbGVyQ29kZUJsb2NrLT5vd25lckV4ZWN1dGFibGUoKSwgY2FsbGVlKTsKICAgICBpZiAo
c2hvdWxkU2hvd0Rpc2Fzc2VtYmx5Rm9yKGNhbGxlckNvZGVCbG9jaykpCiAgICAgICAgIGRhdGFM
b2coIkxpbmtpbmcgY2FsbCBpbiAiLCAqY2FsbGVyQ29kZUJsb2NrLCAiIGF0ICIsIGNhbGxMaW5r
SW5mby5jb2RlT3JpZ2luKCksICIgdG8gIiwgcG9pbnRlckR1bXAoY2FsbGVlQ29kZUJsb2NrKSwg
IiwgZW50cnlwb2ludCBhdCAiLCBjb2RlUHRyLCAiXG4iKTsKLSAgICByZXBhdGNoQnVmZmVyLnJl
bGluayhjYWxsTGlua0luZm8uaG90UGF0aE90aGVyKCksIGNvZGVQdHIsIGNhbGxMaW5rSW5mby5j
YWxsVHlwZSgpKTsKKyAgICByZXBhdGNoQnVmZmVyLnJlbGluayhjYWxsTGlua0luZm8uaG90UGF0
aE90aGVyKCksIGNvZGVQdHIpOwogICAgIAogICAgIGlmIChjYWxsZWVDb2RlQmxvY2spCiAgICAg
ICAgIGNhbGxlZUNvZGVCbG9jay0+bGlua0luY29taW5nQ2FsbChleGVjLT5jYWxsZXJGcmFtZSgp
LCAmY2FsbExpbmtJbmZvKTsKQEAgLTE2MzYsOCArMTYzNSw3IEBAIHZvaWQgbGlua0ZvcigKICAg
ICBpZiAoa2luZCA9PSBDb2RlRm9yQ2FsbCkgewogICAgICAgICByZXBhdGNoQnVmZmVyLnJlbGlu
aygKICAgICAgICAgICAgIGNhbGxMaW5rSW5mby5jYWxsUmV0dXJuTG9jYXRpb24oKSwKLSAgICAg
ICAgICAgIGxpbmtQb2x5bW9ycGhpY0NhbGxUaHVuayh2bSwgY2FsbExpbmtJbmZvLCByZWdpc3Rl
cnMpLmNvZGUoKSwKLSAgICAgICAgICAgIGNhbGxMaW5rSW5mby5jYWxsVHlwZSgpKTsKKyAgICAg
ICAgICAgIGxpbmtQb2x5bW9ycGhpY0NhbGxUaHVuayh2bSwgY2FsbExpbmtJbmZvLCByZWdpc3Rl
cnMpLmNvZGUoKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgCkBAIC0xNjY1LDcgKzE2
NjMsNyBAQCBzdGF0aWMgdm9pZCByZXZlcnRDYWxsKAogICAgICAgICBSZXBhdGNoQnVmZmVyOjpz
dGFydE9mQnJhbmNoUHRyV2l0aFBhdGNoT25SZWdpc3RlcihjYWxsTGlua0luZm8uaG90UGF0aEJl
Z2luKCkpLAogICAgICAgICBzdGF0aWNfY2FzdDxNYWNyb0Fzc2VtYmxlcjo6UmVnaXN0ZXJJRD4o
Y2FsbExpbmtJbmZvLmNhbGxlZUdQUigpKSwgMCk7CiAgICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmso
Ci0gICAgICAgIGNhbGxMaW5rSW5mby5jYWxsUmV0dXJuTG9jYXRpb24oKSwgY29kZVJlZi5jb2Rl
KCksIGNhbGxMaW5rSW5mby5jYWxsVHlwZSgpKTsKKyAgICAgICAgY2FsbExpbmtJbmZvLmNhbGxS
ZXR1cm5Mb2NhdGlvbigpLCBjb2RlUmVmLmNvZGUoKSk7CiAgICAgY2FsbExpbmtJbmZvLmNsZWFy
U2VlbigpOwogICAgIGNhbGxMaW5rSW5mby5jbGVhckNhbGxlZSgpOwogICAgIGNhbGxMaW5rSW5m
by5jbGVhclN0dWIoKTsKQEAgLTE5NDQsOCArMTk0Miw3IEBAIHZvaWQgbGlua1BvbHltb3JwaGlj
Q2FsbCgKICAgICAvLyB0YWtpbmcgdGhlIHBvbHltb3JwaGljIHBhdGggb24gMzIgYml0IHBsYXRm
b3JtcwogICAgIHJlcGF0Y2hCdWZmZXIucmVsaW5rKAogICAgICAgICBjYWxsTGlua0luZm8uY2Fs
bFJldHVybkxvY2F0aW9uKCksCi0gICAgICAgIHNsb3dQYXRoQ29kZVB0ciwKLSAgICAgICAgY2Fs
bExpbmtJbmZvLmNhbGxUeXBlKCkpOworICAgICAgICBzbG93UGF0aENvZGVQdHIpOwogICAgIAog
ICAgIC8vIElmIHRoZXJlIGhhZCBiZWVuIGEgcHJldmlvdXMgc3R1YiByb3V0aW5lLCB0aGF0IG9u
ZSB3aWxsIGRpZSBhcyBzb29uIGFzIHRoZSBHQyBydW5zIGFuZCBzZWVzCiAgICAgLy8gdGhhdCBp
dCdzIG5vIGxvbmdlciBvbiBzdGFjay4K
</data>
<flag name="review"
          id="282624"
          type_id="1"
          status="+"
          setter="msaboff"
    />
          </attachment>
      

    </bug>

</bugzilla>