<?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>237773</bug_id>
          
          <creation_ts>2022-03-11 05:11:18 -0800</creation_ts>
          <short_desc>[JSC] Use addressTempRegister in loadValue(void *) on 32 bits</short_desc>
          <delta_ts>2022-03-13 07:36:18 -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>New Bugs</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Angelos Oikonomopoulos">angelos</reporter>
          <assigned_to name="Angelos Oikonomopoulos">angelos</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>glore</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
    
    <cc>zdobersek</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1850445</commentid>
    <comment_count>0</comment_count>
    <who name="Angelos Oikonomopoulos">angelos</who>
    <bug_when>2022-03-11 05:11:18 -0800</bug_when>
    <thetext>[JSC] Use addressTempRegister in loadValue(void *) on 32 bits</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1850447</commentid>
    <comment_count>1</comment_count>
      <attachid>454471</attachid>
    <who name="Angelos Oikonomopoulos">angelos</who>
    <bug_when>2022-03-11 05:25:25 -0800</bug_when>
    <thetext>Created attachment 454471
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1850694</commentid>
    <comment_count>2</comment_count>
      <attachid>454471</attachid>
    <who name="Zan Dobersek (Reviews)">zdobersek</who>
    <bug_when>2022-03-12 09:27:52 -0800</bug_when>
    <thetext>Comment on attachment 454471
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=454471&amp;action=review

&gt; Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h:76
&gt; +    struct BoundsNonDoubleWordOffset {
&gt; +        static bool within(intptr_t value)
&gt; +        {
&gt; +            return (value &gt;= -0xff) &amp;&amp; (value &lt;= 0xfff);
&gt; +        }
&gt; +    };
&gt; +    struct BoundsDoubleWordOffset {
&gt; +        static bool within(intptr_t value)
&gt; +        {
&gt; +            if (value &lt; 0)
&gt; +                value = -value;
&gt; +            return !(value &amp; ~0x3fc);
&gt; +        }
&gt; +    };

We could argue about these types&apos; names, but let&apos;s not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1850759</commentid>
    <comment_count>3</comment_count>
      <attachid>454554</attachid>
    <who name="Angelos Oikonomopoulos">angelos</who>
    <bug_when>2022-03-13 06:23:38 -0700</bug_when>
    <thetext>Created attachment 454554
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1850760</commentid>
    <comment_count>4</comment_count>
    <who name="Angelos Oikonomopoulos">angelos</who>
    <bug_when>2022-03-13 06:26:41 -0700</bug_when>
    <thetext>(In reply to Zan Dobersek (Reviews) from comment #2)
[...]
&gt; We could argue about these types&apos; names, but let&apos;s not.

No argument from me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1850761</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-13 07:35:23 -0700</bug_when>
    <thetext>Committed r291217 (248372@main): &lt;https://commits.webkit.org/248372@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 454554.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1850762</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-03-13 07:36:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/90216258&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>454471</attachid>
            <date>2022-03-11 05:25:25 -0800</date>
            <delta_ts>2022-03-13 06:23:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237773-20220311132523.patch</filename>
            <type>text/plain</type>
            <size>9896</size>
            <attacher name="Angelos Oikonomopoulos">angelos</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxMTUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
NGFlMjE5ZGNhYTYwMTE2MTMyN2Y1MmE3N2RjMTZlZWZmMzZjMmFlLi4yNDhjYTVmMDU3NTJjYzVk
YzA4ODM1NDBiYzM1NTEwY2RiMDM3ZTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMSBAQAorMjAyMi0wMy0xMSAgQW5nZWxvcyBPaWtvbm9tb3BvdWxvcyAgPGFuZ2Vsb3NA
aWdhbGlhLmNvbT4KKworICAgICAgICBbSlNDXSBVc2UgYWRkcmVzc1RlbXBSZWdpc3RlciBpbiBs
b2FkVmFsdWUodm9pZCAqKSBvbiAzMiBiaXRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzc3NzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBJbnN0ZWFkIG9mIHVzaW5nIG9uZSBvZiB0aGUgZGVzdGluYXRp
b24gcmVnaXN0ZXJzIGFzIGFuIGFkZHJlc3MKKyAgICAgICAgdGVtcG9yYXJ5LCB1c2UgYWRkcmVz
c1RlbXBSZWdpc3RlciBpbnN0ZWFkLiBUaGlzIGFsbG93cyByZXVzaW5nCisgICAgICAgIHRoZSB2
YWx1ZSBpbiBhZGRyZXNzVGVtcFJlZ2lzdGVyICh3aXRoIGFuIGFwcHJvcHJpYXRlIG9mZnNldCkg
aWYKKyAgICAgICAgcG9zc2libGUsIHdoaWNoIHJlc3VsdHMgaW4gYSA+MjUlIHNpemUgcmVkdWN0
aW9uIGZvciBERkdPU1JFeGl0CisgICAgICAgIChKUzIpIG9uIEFSTXY3ICh0aG91Z2ggbm90IGEg
c2lnbmlmaWNhbnQgc2l6ZSByZWR1Y3Rpb24gb3ZlcmFsbCkuCisgICAgICAgIFRlY2huaWNhbGx5
LCB0aGlzIGNoYW5nZSBjb3VsZCBiZSBraWxsaW5nIHNvbWUgYWRkcmVzcyByZXVzZSB0aGF0Cisg
ICAgICAgIHdhcyBwcmV2aW91c2x5IHBvc3NpYmxlIGJlY2F1c2UgbG9hZFZhbHVlIHdhcyBub3Qg
Y2xvYmJlcmluZworICAgICAgICBhZGRyZXNzVGVtcFJlZ2lzdGVyIGJ1dCwgaWYgc28sIHRoaXMg
c2VlbXMgdG8gYmUgYmFsYW5jZWQgb3V0IGZvcgorICAgICAgICBKUzIuCisKKyAgICAgICAgKiBh
c3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5oOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2Vt
YmxlckFSTXY3OjpCb3VuZHNOb25Eb3VibGVXb3JkT2Zmc2V0Ojp3aXRoaW4pOgorICAgICAgICAo
SlNDOjpNYWNyb0Fzc2VtYmxlckFSTXY3OjpCb3VuZHNEb3VibGVXb3JkT2Zmc2V0Ojp3aXRoaW4p
OgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTXY3Ojpsb2FkUGFpcjMyKToKKyAgICAg
ICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk12Nzo6c2V0dXBBcm1BZGRyZXNzKToKKyAgICAgICAg
KEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk12Nzo6YWJzb2x1dGVBZGRyZXNzV2l0aGluU2hvcnRPZmZz
ZXQpOgorICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlck1JUFMuaDoKKyAgICAgICAg
KEpTQzo6TWFjcm9Bc3NlbWJsZXJNSVBTOjpsb2FkUGFpcjMyKToKKyAgICAgICAgKiBqaXQvQXNz
ZW1ibHlIZWxwZXJzLmg6CisgICAgICAgIChKU0M6OkFzc2VtYmx5SGVscGVyczo6bG9hZFZhbHVl
KToKKwogMjAyMi0wMy0xMCAgRWxsaW90dCBXaWxsaWFtcyAgPGVtd0BhcHBsZS5jb20+CiAKICAg
ICAgICAgW1hDQnVpbGRdIEVtaXQgYSBkaXNjb3ZlcmVkIGRlcGVuZGVuY3kgZmlsZSBmcm9tIG9m
ZmxpbmVhc20KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFj
cm9Bc3NlbWJsZXJBUk12Ny5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNy
b0Fzc2VtYmxlckFSTXY3LmgKaW5kZXggYzJjNmQ3ZTVkMjQ3NWI2MmVkNjIwM2EzZDI0Nzc3NTIz
MjFiNzY4Yi4uNDBkODkzMGQ3YmNkOGZlM2NmZmZhNmIxNzkwZjAzMjc4ZTFhN2Q0NyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTXY3
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFS
TXY3LmgKQEAgLTYwLDYgKzYwLDIwIEBAIHB1YmxpYzoKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBN
YWNyb0Fzc2VtYmxlclR5cGUsIHR5cGVuYW1lIENvbmRpdGlvbiwgdHlwZW5hbWUgLi4uQXJncz4K
ICAgICAgICAgZnJpZW5kIHZvaWQgSlNDOjpNYWNyb0Fzc2VtYmxlckhlbHBlcnM6OmxvYWQxNk9u
Q29uZGl0aW9uKE1hY3JvQXNzZW1ibGVyVHlwZSYsIENvbmRpdGlvbiwgQXJncy4uLik7CiAKKyAg
ICBzdHJ1Y3QgQm91bmRzTm9uRG91YmxlV29yZE9mZnNldCB7CisgICAgICAgIHN0YXRpYyBib29s
IHdpdGhpbihpbnRwdHJfdCB2YWx1ZSkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuICh2
YWx1ZSA+PSAtMHhmZikgJiYgKHZhbHVlIDw9IDB4ZmZmKTsKKyAgICAgICAgfQorICAgIH07Cisg
ICAgc3RydWN0IEJvdW5kc0RvdWJsZVdvcmRPZmZzZXQgeworICAgICAgICBzdGF0aWMgYm9vbCB3
aXRoaW4oaW50cHRyX3QgdmFsdWUpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICh2YWx1ZSA8
IDApCisgICAgICAgICAgICAgICAgdmFsdWUgPSAtdmFsdWU7CisgICAgICAgICAgICByZXR1cm4g
ISh2YWx1ZSAmIH4weDNmYyk7CisgICAgICAgIH0KKyAgICB9OwogI2RlZmluZSBEVU1NWV9SRUdJ
U1RFUl9WQUxVRShpZCwgbmFtZSwgciwgY3MpIDAsCiAgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNp
Z25lZCBudW1HUFJzID0gc3RkOjppbml0aWFsaXplcl9saXN0PGludD4oeyBGT1JfRUFDSF9HUF9S
RUdJU1RFUihEVU1NWV9SRUdJU1RFUl9WQUxVRSkgfSkuc2l6ZSgpOwogICAgIHN0YXRpYyBjb25z
dGV4cHIgdW5zaWduZWQgbnVtRlBScyA9IHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdDxpbnQ+KHsgRk9S
X0VBQ0hfRlBfUkVHSVNURVIoRFVNTVlfUkVHSVNURVJfVkFMVUUpIH0pLnNpemUoKTsKQEAgLTg5
NywyNyArOTExLDQ5IEBAIHB1YmxpYzoKICAgICAgICAgbG9hZFBhaXIzMihBZGRyZXNzKHNyYywg
b2Zmc2V0Lm1fdmFsdWUpLCBkZXN0MSwgZGVzdDIpOwogICAgIH0KIAotICAgIHZvaWQgbG9hZFBh
aXIzMihBZGRyZXNzIGFkZHJlc3MsIFJlZ2lzdGVySUQgZGVzdDEsIFJlZ2lzdGVySUQgZGVzdDIp
CisgICAgdm9pZCBsb2FkUGFpcjMyKEFybUFkZHJlc3MgYWRkcmVzcywgUmVnaXN0ZXJJRCBkZXN0
MSwgUmVnaXN0ZXJJRCBkZXN0MikKICAgICB7Ci0gICAgICAgIEFTU0VSVChkZXN0MSAhPSBkZXN0
Mik7IC8vIElmIGl0IGlzIHRoZSBzYW1lLCBsZHAgYmVjb21lcyBpbGxlZ2FsIGluc3RydWN0aW9u
LgotICAgICAgICBpbnQzMl90IGFic09mZnNldCA9IGFkZHJlc3Mub2Zmc2V0OwotICAgICAgICBp
ZiAoYWJzT2Zmc2V0IDwgMCkKLSAgICAgICAgICAgIGFic09mZnNldCA9IC1hYnNPZmZzZXQ7Ci0g
ICAgICAgIGlmICghKGFic09mZnNldCAmIH4weDNmYykpIHsKLSAgICAgICAgICAgIGlmICgoZGVz
dDEgPT0gYWRkcmVzc1RlbXBSZWdpc3RlcikgfHwgKGRlc3QyID09IGFkZHJlc3NUZW1wUmVnaXN0
ZXIpKQotICAgICAgICAgICAgICAgIGNhY2hlZEFkZHJlc3NUZW1wUmVnaXN0ZXIoKS5pbnZhbGlk
YXRlKCk7Ci0gICAgICAgICAgICBpZiAoKGRlc3QxID09IGRhdGFUZW1wUmVnaXN0ZXIpIHx8IChk
ZXN0MiA9PSBkYXRhVGVtcFJlZ2lzdGVyKSkKLSAgICAgICAgICAgICAgICBjYWNoZWREYXRhVGVt
cFJlZ2lzdGVyKCkuaW52YWxpZGF0ZSgpOwotICAgICAgICAgICAgbV9hc3NlbWJsZXIubGRyZChk
ZXN0MSwgZGVzdDIsIGFkZHJlc3MuYmFzZSwgYWRkcmVzcy5vZmZzZXQsIC8qIGluZGV4OiAqLyB0
cnVlLCAvKiB3YmFjazogKi8gZmFsc2UpOwotICAgICAgICB9IGVsc2UgaWYgKGFkZHJlc3MuYmFz
ZSA9PSBkZXN0MSkgewotICAgICAgICAgICAgbG9hZDMyKGFkZHJlc3Mud2l0aE9mZnNldCg0KSwg
ZGVzdDIpOwotICAgICAgICAgICAgbG9hZDMyKGFkZHJlc3MsIGRlc3QxKTsKKyAgICAgICAgaWYg
KGFkZHJlc3MudHlwZSA9PSBBcm1BZGRyZXNzOjpIYXNJbmRleCkgeworICAgICAgICAgICAgLy8g
VXNpbmcgcjAtcjcgY2FuIG9mdGVuIGJlIGVuY29kZWQgd2l0aCBhIHNob3J0ZXIgKDE2LWJpdCB2
cyAzMi1iaXQpIGluc3RydWN0aW9uLCBzbyB1c2UKKyAgICAgICAgICAgIC8vIHdoaWNoZXZlciBk
ZXN0aW5hdGlvbiByZWdpc3RlciBpcyBpbiB0aGF0IHJhbmdlIChpZiBhbnkpIGFzIHRoZSBhZGRy
ZXNzIHRlbXAgcmVnaXN0ZXIKKyAgICAgICAgICAgIFJlZ2lzdGVySUQgc2NyYXRjaCA9IGRlc3Qx
OworICAgICAgICAgICAgaWYgKGRlc3QxID49IEFSTVJlZ2lzdGVyczo6cjgpCisgICAgICAgICAg
ICAgICAgc2NyYXRjaCA9IGRlc3QyOworICAgICAgICAgICAgaWYgKGFkZHJlc3MudS5zY2FsZSA9
PSBUaW1lc09uZSkKKyAgICAgICAgICAgICAgICBtX2Fzc2VtYmxlci5hZGQoc2NyYXRjaCwgYWRk
cmVzcy5iYXNlLCBhZGRyZXNzLnUuaW5kZXgpOworICAgICAgICAgICAgZWxzZSB7CisgICAgICAg
ICAgICAgICAgU2hpZnRUeXBlQW5kQW1vdW50IHNoaWZ0IHsgQVJNU2hpZnRUeXBlOjpTUlR5cGVf
TFNMLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oYWRkcmVzcy51LnNjYWxlKSB9OworICAgICAgICAg
ICAgICAgIG1fYXNzZW1ibGVyLmFkZChzY3JhdGNoLCBhZGRyZXNzLmJhc2UsIGFkZHJlc3MudS5p
bmRleCwgc2hpZnQpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgbG9hZFBhaXIzMihBZGRy
ZXNzKHNjcmF0Y2gpLCBkZXN0MSwgZGVzdDIpOwogICAgICAgICB9IGVsc2UgewotICAgICAgICAg
ICAgbG9hZDMyKGFkZHJlc3MsIGRlc3QxKTsKLSAgICAgICAgICAgIGxvYWQzMihhZGRyZXNzLndp
dGhPZmZzZXQoNCksIGRlc3QyKTsKKyAgICAgICAgICAgIEFTU0VSVChkZXN0MSAhPSBkZXN0Mik7
IC8vIElmIGl0IGlzIHRoZSBzYW1lLCBsZHAgYmVjb21lcyBpbGxlZ2FsIGluc3RydWN0aW9uLgor
ICAgICAgICAgICAgaW50MzJfdCBhYnNPZmZzZXQgPSBhZGRyZXNzLnUub2Zmc2V0OworICAgICAg
ICAgICAgaWYgKGFic09mZnNldCA8IDApCisgICAgICAgICAgICAgICAgYWJzT2Zmc2V0ID0gLWFi
c09mZnNldDsKKyAgICAgICAgICAgIGlmICghKGFic09mZnNldCAmIH4weDNmYykpIHsKKyAgICAg
ICAgICAgICAgICBpZiAoKGRlc3QxID09IGFkZHJlc3NUZW1wUmVnaXN0ZXIpIHx8IChkZXN0MiA9
PSBhZGRyZXNzVGVtcFJlZ2lzdGVyKSkKKyAgICAgICAgICAgICAgICAgICAgY2FjaGVkQWRkcmVz
c1RlbXBSZWdpc3RlcigpLmludmFsaWRhdGUoKTsKKyAgICAgICAgICAgICAgICBpZiAoKGRlc3Qx
ID09IGRhdGFUZW1wUmVnaXN0ZXIpIHx8IChkZXN0MiA9PSBkYXRhVGVtcFJlZ2lzdGVyKSkKKyAg
ICAgICAgICAgICAgICAgICAgY2FjaGVkRGF0YVRlbXBSZWdpc3RlcigpLmludmFsaWRhdGUoKTsK
KyAgICAgICAgICAgICAgICBtX2Fzc2VtYmxlci5sZHJkKGRlc3QxLCBkZXN0MiwgYWRkcmVzcy5i
YXNlLCBhZGRyZXNzLnUub2Zmc2V0LCAvKiBpbmRleDogKi8gdHJ1ZSwgLyogd2JhY2s6ICovIGZh
bHNlKTsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoYWRkcmVzcy5iYXNlID09IGRlc3QxKSB7Cisg
ICAgICAgICAgICAgICAgQXJtQWRkcmVzcyBoaWdoQWRkcmVzcyhhZGRyZXNzLmJhc2UsIGFkZHJl
c3MudS5vZmZzZXQgKyA0KTsKKyAgICAgICAgICAgICAgICBsb2FkMzIoaGlnaEFkZHJlc3MsIGRl
c3QyKTsKKyAgICAgICAgICAgICAgICBsb2FkMzIoYWRkcmVzcywgZGVzdDEpOworICAgICAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBsb2FkMzIoYWRkcmVzcywgZGVzdDEpOworICAg
ICAgICAgICAgICAgIEFybUFkZHJlc3MgaGlnaEFkZHJlc3MoYWRkcmVzcy5iYXNlLCBhZGRyZXNz
LnUub2Zmc2V0ICsgNCk7CisgICAgICAgICAgICAgICAgbG9hZDMyKGhpZ2hBZGRyZXNzLCBkZXN0
Mik7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CiAKKyAgICB2b2lkIGxvYWRQYWly
MzIoQWRkcmVzcyBhZGRyZXNzLCBSZWdpc3RlcklEIGRlc3QxLCBSZWdpc3RlcklEIGRlc3QyKQor
ICAgIHsKKyAgICAgICAgbG9hZFBhaXIzMihzZXR1cEFybUFkZHJlc3MoYWRkcmVzcyksIGRlc3Qx
LCBkZXN0Mik7CisgICAgfQorCiAgICAgdm9pZCBsb2FkUGFpcjMyKEJhc2VJbmRleCBhZGRyZXNz
LCBSZWdpc3RlcklEIGRlc3QxLCBSZWdpc3RlcklEIGRlc3QyKQogICAgIHsKICAgICAgICAgLy8g
VXNpbmcgcjAtcjcgY2FuIG9mdGVuIGJlIGVuY29kZWQgd2l0aCBhIHNob3J0ZXIgKDE2LWJpdCB2
cyAzMi1iaXQpIGluc3RydWN0aW9uLCBzbyB1c2UKQEAgLTk2MSw2ICs5OTcsMTEgQEAgcHVibGlj
OgogICAgICAgICB9CiAgICAgfQogCisgICAgdm9pZCBsb2FkUGFpcjMyKEFic29sdXRlQWRkcmVz
cyBhZGRyZXNzLCBSZWdpc3RlcklEIGRlc3QxLCBSZWdpc3RlcklEIGRlc3QyKQorICAgIHsKKyAg
ICAgICAgbG9hZFBhaXIzMihzZXR1cEFybUFkZHJlc3M8Qm91bmRzRG91YmxlV29yZE9mZnNldD4o
YWRkcmVzcyksIGRlc3QxLCBkZXN0Mik7CisgICAgfQorCiAgICAgdm9pZCBzdG9yZTMyKFJlZ2lz
dGVySUQgc3JjLCBBZGRyZXNzIGFkZHJlc3MpCiAgICAgewogICAgICAgICBzdG9yZTMyKHNyYywg
c2V0dXBBcm1BZGRyZXNzKGFkZHJlc3MpKTsKQEAgLTI0OTksMzAgKzI1NDAsMzIgQEAgcHJvdGVj
dGVkOgogCiAgICAgQXJtQWRkcmVzcyBzZXR1cEFybUFkZHJlc3MoQWRkcmVzcyBhZGRyZXNzKQog
ICAgIHsKLSAgICAgICAgaWYgKChhZGRyZXNzLm9mZnNldCA+PSAtMHhmZikgJiYgKGFkZHJlc3Mu
b2Zmc2V0IDw9IDB4ZmZmKSkKKyAgICAgICAgaWYgKEJvdW5kc05vbkRvdWJsZVdvcmRPZmZzZXQ6
OndpdGhpbihhZGRyZXNzLm9mZnNldCkpCiAgICAgICAgICAgICByZXR1cm4gQXJtQWRkcmVzcyhh
ZGRyZXNzLmJhc2UsIGFkZHJlc3Mub2Zmc2V0KTsKIAogICAgICAgICBtb3ZlKFRydXN0ZWRJbW0z
MihhZGRyZXNzLm9mZnNldCksIGFkZHJlc3NUZW1wUmVnaXN0ZXIpOwogICAgICAgICByZXR1cm4g
QXJtQWRkcmVzcyhhZGRyZXNzLmJhc2UsIGFkZHJlc3NUZW1wUmVnaXN0ZXIpOwogICAgIH0KIAor
ICAgIHRlbXBsYXRlIDxjbGFzcyBCb3VuZHM+CiAgICAgc3RkOjpvcHRpb25hbDxpbnQzMl90PiBh
YnNvbHV0ZUFkZHJlc3NXaXRoaW5TaG9ydE9mZnNldChBYnNvbHV0ZUFkZHJlc3MgYWRkcmVzcywg
Q2FjaGVkVGVtcFJlZ2lzdGVyICZjYWNoZWRSZWdpc3RlcikKICAgICB7CiAgICAgICAgIGludHB0
cl90IGFkZHJlc3NBc0ludCA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihhZGRyZXNzLm1f
cHRyKTsKICAgICAgICAgaW50cHRyX3QgY3VycmVudFJlZ2lzdGVyQ29udGVudHM7CiAgICAgICAg
IGlmIChjYWNoZWRSZWdpc3Rlci52YWx1ZShjdXJyZW50UmVnaXN0ZXJDb250ZW50cykpIHsKICAg
ICAgICAgICAgIGludHB0cl90IGFkZHJlc3NEZWx0YSA9IGFkZHJlc3NBc0ludCAtIGN1cnJlbnRS
ZWdpc3RlckNvbnRlbnRzOwotICAgICAgICAgICAgaWYgKChhZGRyZXNzRGVsdGEgPj0gLTB4ZmYp
ICYmIChhZGRyZXNzRGVsdGEgPD0gMHhmZmYpKQorICAgICAgICAgICAgaWYgKEJvdW5kczo6d2l0
aGluKGFkZHJlc3NEZWx0YSkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nh
c3Q8aW50MzJfdD4oYWRkcmVzc0RlbHRhKTsKICAgICAgICAgfQogICAgICAgICByZXR1cm4geyB9
OwogICAgIH0KIAorICAgIHRlbXBsYXRlPGNsYXNzIEJvdW5kcyA9IEJvdW5kc05vbkRvdWJsZVdv
cmRPZmZzZXQ+CiAgICAgQXJtQWRkcmVzcyBzZXR1cEFybUFkZHJlc3MoQWJzb2x1dGVBZGRyZXNz
IGFkZHJlc3MsIFJlZ2lzdGVySUQgc2NyYXRjaCA9IGFkZHJlc3NUZW1wUmVnaXN0ZXIpCiAgICAg
ewotICAgICAgICBpZiAoYXV0byBvZmZzZXQgPSBhYnNvbHV0ZUFkZHJlc3NXaXRoaW5TaG9ydE9m
ZnNldChhZGRyZXNzLCBjYWNoZWRBZGRyZXNzVGVtcFJlZ2lzdGVyKCkpKQorICAgICAgICBpZiAo
YXV0byBvZmZzZXQgPSBhYnNvbHV0ZUFkZHJlc3NXaXRoaW5TaG9ydE9mZnNldDxCb3VuZHM+KGFk
ZHJlc3MsIGNhY2hlZEFkZHJlc3NUZW1wUmVnaXN0ZXIoKSkpCiAgICAgICAgICAgICByZXR1cm4g
QXJtQWRkcmVzcyhhZGRyZXNzVGVtcFJlZ2lzdGVyLCAqb2Zmc2V0KTsKLSAgICAgICAgaWYgKGF1
dG8gb2Zmc2V0ID0gYWJzb2x1dGVBZGRyZXNzV2l0aGluU2hvcnRPZmZzZXQoYWRkcmVzcywgY2Fj
aGVkRGF0YVRlbXBSZWdpc3RlcigpKSkKKyAgICAgICAgaWYgKGF1dG8gb2Zmc2V0ID0gYWJzb2x1
dGVBZGRyZXNzV2l0aGluU2hvcnRPZmZzZXQ8Qm91bmRzPihhZGRyZXNzLCBjYWNoZWREYXRhVGVt
cFJlZ2lzdGVyKCkpKQogICAgICAgICAgICAgcmV0dXJuIEFybUFkZHJlc3MoZGF0YVRlbXBSZWdp
c3RlciwgKm9mZnNldCk7CiAgICAgICAgIG1vdmUoVHJ1c3RlZEltbVB0cihhZGRyZXNzLm1fcHRy
KSwgc2NyYXRjaCk7CiAgICAgICAgIHJldHVybiBBcm1BZGRyZXNzKHNjcmF0Y2gpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlck1JUFMu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJNSVBTLmgK
aW5kZXggYTQwOGZjNTg5OWVkYzliZmFhYTM2NDljZjNhZTllZjVlMWExMTQwNS4uOTRlYjYyZjRh
MTIxYTYxNDUzMjM2OTEzYWM5ZDNjYjM5NGFkYjBkMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlck1JUFMuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyTUlQUy5oCkBAIC0xMzM2LDYgKzEz
MzYsMTIgQEAgcHVibGljOgogICAgICAgICB9CiAgICAgfQogCisgICAgdm9pZCBsb2FkUGFpcjMy
KEFic29sdXRlQWRkcmVzcyBhZGRyZXNzLCBSZWdpc3RlcklEIGRlc3QxLCBSZWdpc3RlcklEIGRl
c3QyKQorICAgIHsKKyAgICAgICAgbW92ZShUcnVzdGVkSW1tUHRyKGFkZHJlc3MubV9wdHIpLCBh
ZGRyVGVtcFJlZ2lzdGVyKTsKKyAgICAgICAgbG9hZFBhaXIzMihhZGRyVGVtcFJlZ2lzdGVyLCBk
ZXN0MSwgZGVzdDIpOworICAgIH0KKwogICAgIHZvaWQgbG9hZFBhaXIzMihCYXNlSW5kZXggYWRk
cmVzcywgUmVnaXN0ZXJJRCBkZXN0MSwgUmVnaXN0ZXJJRCBkZXN0MikKICAgICB7CiAgICAgICAg
IGlmIChhZGRyZXNzLmJhc2UgPT0gZGVzdDEgfHwgYWRkcmVzcy5pbmRleCA9PSBkZXN0MSkgewpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Bc3NlbWJseUhlbHBlcnMuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQXNzZW1ibHlIZWxwZXJzLmgKaW5kZXggYzExN2Uw
YjVjZjljZTJhYzc1OThlNTJkYWQzMzljZWE2YjBhZmVkNi4uMjdkZDU5NzkwYjcxZjk4YTIxN2Ix
MjU4Nzc2NzcxNjVhYzY4ZWUwYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9Bc3NlbWJseUhlbHBlcnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0Fzc2Vt
Ymx5SGVscGVycy5oCkBAIC0yMTQsOCArMjE0LDcgQEAgcHVibGljOgogI2lmIFVTRShKU1ZBTFVF
NjQpCiAgICAgICAgIGxvYWQ2NChhZGRyZXNzLCByZWdzLmdwcigpKTsKICNlbHNlCi0gICAgICAg
IG1vdmUoVHJ1c3RlZEltbVB0cihhZGRyZXNzKSwgcmVncy5wYXlsb2FkR1BSKCkpOwotICAgICAg
ICBsb2FkVmFsdWUoQWRkcmVzcyhyZWdzLnBheWxvYWRHUFIoKSksIHJlZ3MpOworICAgICAgICBs
b2FkUGFpcjMyKEFic29sdXRlQWRkcmVzcyhhZGRyZXNzKSwgcmVncy5wYXlsb2FkR1BSKCksIHJl
Z3MudGFnR1BSKCkpOwogI2VuZGlmCiAgICAgfQogICAgIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>454554</attachid>
            <date>2022-03-13 06:23:38 -0700</date>
            <delta_ts>2022-03-13 07:35:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237773-20220313142337.patch</filename>
            <type>text/plain</type>
            <size>9900</size>
            <attacher name="Angelos Oikonomopoulos">angelos</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxMjE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
NGE2YjY0MWY1ZDNiZTNjZmI4NjM3ZjA2NjU4YjQ3ZjIzZmUxNjIwLi4yMWM5ODVjZjBmM2ViZDFh
YzM1NmQzMGRlYmUyOWE4ZTBmNjE0YzRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMSBAQAorMjAyMi0wMy0xMyAgQW5nZWxvcyBPaWtvbm9tb3BvdWxvcyAgPGFuZ2Vsb3NA
aWdhbGlhLmNvbT4KKworICAgICAgICBbSlNDXSBVc2UgYWRkcmVzc1RlbXBSZWdpc3RlciBpbiBs
b2FkVmFsdWUodm9pZCAqKSBvbiAzMiBiaXRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzc3NzMKKworICAgICAgICBSZXZpZXdlZCBieSDFvWFuIERv
YmVyxaFlay4KKworICAgICAgICBJbnN0ZWFkIG9mIHVzaW5nIG9uZSBvZiB0aGUgZGVzdGluYXRp
b24gcmVnaXN0ZXJzIGFzIGFuIGFkZHJlc3MKKyAgICAgICAgdGVtcG9yYXJ5LCB1c2UgYWRkcmVz
c1RlbXBSZWdpc3RlciBpbnN0ZWFkLiBUaGlzIGFsbG93cyByZXVzaW5nCisgICAgICAgIHRoZSB2
YWx1ZSBpbiBhZGRyZXNzVGVtcFJlZ2lzdGVyICh3aXRoIGFuIGFwcHJvcHJpYXRlIG9mZnNldCkg
aWYKKyAgICAgICAgcG9zc2libGUsIHdoaWNoIHJlc3VsdHMgaW4gYSA+MjUlIHNpemUgcmVkdWN0
aW9uIGZvciBERkdPU1JFeGl0CisgICAgICAgIChKUzIpIG9uIEFSTXY3ICh0aG91Z2ggbm90IGEg
c2lnbmlmaWNhbnQgc2l6ZSByZWR1Y3Rpb24gb3ZlcmFsbCkuCisgICAgICAgIFRlY2huaWNhbGx5
LCB0aGlzIGNoYW5nZSBjb3VsZCBiZSBraWxsaW5nIHNvbWUgYWRkcmVzcyByZXVzZSB0aGF0Cisg
ICAgICAgIHdhcyBwcmV2aW91c2x5IHBvc3NpYmxlIGJlY2F1c2UgbG9hZFZhbHVlIHdhcyBub3Qg
Y2xvYmJlcmluZworICAgICAgICBhZGRyZXNzVGVtcFJlZ2lzdGVyIGJ1dCwgaWYgc28sIHRoaXMg
c2VlbXMgdG8gYmUgYmFsYW5jZWQgb3V0IGZvcgorICAgICAgICBKUzIuCisKKyAgICAgICAgKiBh
c3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5oOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2Vt
YmxlckFSTXY3OjpCb3VuZHNOb25Eb3VibGVXb3JkT2Zmc2V0Ojp3aXRoaW4pOgorICAgICAgICAo
SlNDOjpNYWNyb0Fzc2VtYmxlckFSTXY3OjpCb3VuZHNEb3VibGVXb3JkT2Zmc2V0Ojp3aXRoaW4p
OgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTXY3Ojpsb2FkUGFpcjMyKToKKyAgICAg
ICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk12Nzo6c2V0dXBBcm1BZGRyZXNzKToKKyAgICAgICAg
KEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk12Nzo6YWJzb2x1dGVBZGRyZXNzV2l0aGluU2hvcnRPZmZz
ZXQpOgorICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlck1JUFMuaDoKKyAgICAgICAg
KEpTQzo6TWFjcm9Bc3NlbWJsZXJNSVBTOjpsb2FkUGFpcjMyKToKKyAgICAgICAgKiBqaXQvQXNz
ZW1ibHlIZWxwZXJzLmg6CisgICAgICAgIChKU0M6OkFzc2VtYmx5SGVscGVyczo6bG9hZFZhbHVl
KToKKwogMjAyMi0wMy0xMiAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4K
IAogICAgICAgICBBZG9wdCBGQUxMQkFDS19QTEFURk9STV9OQU1FIGluIHBsYWNlIG9mIEZBTExC
QUNLX1BMQVRGT1JNCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVy
L01hY3JvQXNzZW1ibGVyQVJNdjcuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIv
TWFjcm9Bc3NlbWJsZXJBUk12Ny5oCmluZGV4IGMyYzZkN2U1ZDI0NzViNjJlZDYyMDNhM2QyNDc3
NzUyMzIxYjc2OGIuLjQwZDg5MzBkN2JjZDhmZTNjZmZmYTZiMTc5MGYwMzI3OGUxYTdkNDcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJB
Uk12Ny5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJs
ZXJBUk12Ny5oCkBAIC02MCw2ICs2MCwyMCBAQCBwdWJsaWM6CiAgICAgdGVtcGxhdGU8dHlwZW5h
bWUgTWFjcm9Bc3NlbWJsZXJUeXBlLCB0eXBlbmFtZSBDb25kaXRpb24sIHR5cGVuYW1lIC4uLkFy
Z3M+CiAgICAgICAgIGZyaWVuZCB2b2lkIEpTQzo6TWFjcm9Bc3NlbWJsZXJIZWxwZXJzOjpsb2Fk
MTZPbkNvbmRpdGlvbihNYWNyb0Fzc2VtYmxlclR5cGUmLCBDb25kaXRpb24sIEFyZ3MuLi4pOwog
CisgICAgc3RydWN0IEJvdW5kc05vbkRvdWJsZVdvcmRPZmZzZXQgeworICAgICAgICBzdGF0aWMg
Ym9vbCB3aXRoaW4oaW50cHRyX3QgdmFsdWUpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVy
biAodmFsdWUgPj0gLTB4ZmYpICYmICh2YWx1ZSA8PSAweGZmZik7CisgICAgICAgIH0KKyAgICB9
OworICAgIHN0cnVjdCBCb3VuZHNEb3VibGVXb3JkT2Zmc2V0IHsKKyAgICAgICAgc3RhdGljIGJv
b2wgd2l0aGluKGludHB0cl90IHZhbHVlKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAodmFs
dWUgPCAwKQorICAgICAgICAgICAgICAgIHZhbHVlID0gLXZhbHVlOworICAgICAgICAgICAgcmV0
dXJuICEodmFsdWUgJiB+MHgzZmMpOworICAgICAgICB9CisgICAgfTsKICNkZWZpbmUgRFVNTVlf
UkVHSVNURVJfVkFMVUUoaWQsIG5hbWUsIHIsIGNzKSAwLAogICAgIHN0YXRpYyBjb25zdGV4cHIg
dW5zaWduZWQgbnVtR1BScyA9IHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdDxpbnQ+KHsgRk9SX0VBQ0hf
R1BfUkVHSVNURVIoRFVNTVlfUkVHSVNURVJfVkFMVUUpIH0pLnNpemUoKTsKICAgICBzdGF0aWMg
Y29uc3RleHByIHVuc2lnbmVkIG51bUZQUnMgPSBzdGQ6OmluaXRpYWxpemVyX2xpc3Q8aW50Pih7
IEZPUl9FQUNIX0ZQX1JFR0lTVEVSKERVTU1ZX1JFR0lTVEVSX1ZBTFVFKSB9KS5zaXplKCk7CkBA
IC04OTcsMjcgKzkxMSw0OSBAQCBwdWJsaWM6CiAgICAgICAgIGxvYWRQYWlyMzIoQWRkcmVzcyhz
cmMsIG9mZnNldC5tX3ZhbHVlKSwgZGVzdDEsIGRlc3QyKTsKICAgICB9CiAKLSAgICB2b2lkIGxv
YWRQYWlyMzIoQWRkcmVzcyBhZGRyZXNzLCBSZWdpc3RlcklEIGRlc3QxLCBSZWdpc3RlcklEIGRl
c3QyKQorICAgIHZvaWQgbG9hZFBhaXIzMihBcm1BZGRyZXNzIGFkZHJlc3MsIFJlZ2lzdGVySUQg
ZGVzdDEsIFJlZ2lzdGVySUQgZGVzdDIpCiAgICAgewotICAgICAgICBBU1NFUlQoZGVzdDEgIT0g
ZGVzdDIpOyAvLyBJZiBpdCBpcyB0aGUgc2FtZSwgbGRwIGJlY29tZXMgaWxsZWdhbCBpbnN0cnVj
dGlvbi4KLSAgICAgICAgaW50MzJfdCBhYnNPZmZzZXQgPSBhZGRyZXNzLm9mZnNldDsKLSAgICAg
ICAgaWYgKGFic09mZnNldCA8IDApCi0gICAgICAgICAgICBhYnNPZmZzZXQgPSAtYWJzT2Zmc2V0
OwotICAgICAgICBpZiAoIShhYnNPZmZzZXQgJiB+MHgzZmMpKSB7Ci0gICAgICAgICAgICBpZiAo
KGRlc3QxID09IGFkZHJlc3NUZW1wUmVnaXN0ZXIpIHx8IChkZXN0MiA9PSBhZGRyZXNzVGVtcFJl
Z2lzdGVyKSkKLSAgICAgICAgICAgICAgICBjYWNoZWRBZGRyZXNzVGVtcFJlZ2lzdGVyKCkuaW52
YWxpZGF0ZSgpOwotICAgICAgICAgICAgaWYgKChkZXN0MSA9PSBkYXRhVGVtcFJlZ2lzdGVyKSB8
fCAoZGVzdDIgPT0gZGF0YVRlbXBSZWdpc3RlcikpCi0gICAgICAgICAgICAgICAgY2FjaGVkRGF0
YVRlbXBSZWdpc3RlcigpLmludmFsaWRhdGUoKTsKLSAgICAgICAgICAgIG1fYXNzZW1ibGVyLmxk
cmQoZGVzdDEsIGRlc3QyLCBhZGRyZXNzLmJhc2UsIGFkZHJlc3Mub2Zmc2V0LCAvKiBpbmRleDog
Ki8gdHJ1ZSwgLyogd2JhY2s6ICovIGZhbHNlKTsKLSAgICAgICAgfSBlbHNlIGlmIChhZGRyZXNz
LmJhc2UgPT0gZGVzdDEpIHsKLSAgICAgICAgICAgIGxvYWQzMihhZGRyZXNzLndpdGhPZmZzZXQo
NCksIGRlc3QyKTsKLSAgICAgICAgICAgIGxvYWQzMihhZGRyZXNzLCBkZXN0MSk7CisgICAgICAg
IGlmIChhZGRyZXNzLnR5cGUgPT0gQXJtQWRkcmVzczo6SGFzSW5kZXgpIHsKKyAgICAgICAgICAg
IC8vIFVzaW5nIHIwLXI3IGNhbiBvZnRlbiBiZSBlbmNvZGVkIHdpdGggYSBzaG9ydGVyICgxNi1i
aXQgdnMgMzItYml0KSBpbnN0cnVjdGlvbiwgc28gdXNlCisgICAgICAgICAgICAvLyB3aGljaGV2
ZXIgZGVzdGluYXRpb24gcmVnaXN0ZXIgaXMgaW4gdGhhdCByYW5nZSAoaWYgYW55KSBhcyB0aGUg
YWRkcmVzcyB0ZW1wIHJlZ2lzdGVyCisgICAgICAgICAgICBSZWdpc3RlcklEIHNjcmF0Y2ggPSBk
ZXN0MTsKKyAgICAgICAgICAgIGlmIChkZXN0MSA+PSBBUk1SZWdpc3RlcnM6OnI4KQorICAgICAg
ICAgICAgICAgIHNjcmF0Y2ggPSBkZXN0MjsKKyAgICAgICAgICAgIGlmIChhZGRyZXNzLnUuc2Nh
bGUgPT0gVGltZXNPbmUpCisgICAgICAgICAgICAgICAgbV9hc3NlbWJsZXIuYWRkKHNjcmF0Y2gs
IGFkZHJlc3MuYmFzZSwgYWRkcmVzcy51LmluZGV4KTsKKyAgICAgICAgICAgIGVsc2UgeworICAg
ICAgICAgICAgICAgIFNoaWZ0VHlwZUFuZEFtb3VudCBzaGlmdCB7IEFSTVNoaWZ0VHlwZTo6U1JU
eXBlX0xTTCwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGFkZHJlc3MudS5zY2FsZSkgfTsKKyAgICAg
ICAgICAgICAgICBtX2Fzc2VtYmxlci5hZGQoc2NyYXRjaCwgYWRkcmVzcy5iYXNlLCBhZGRyZXNz
LnUuaW5kZXgsIHNoaWZ0KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGxvYWRQYWlyMzIo
QWRkcmVzcyhzY3JhdGNoKSwgZGVzdDEsIGRlc3QyKTsKICAgICAgICAgfSBlbHNlIHsKLSAgICAg
ICAgICAgIGxvYWQzMihhZGRyZXNzLCBkZXN0MSk7Ci0gICAgICAgICAgICBsb2FkMzIoYWRkcmVz
cy53aXRoT2Zmc2V0KDQpLCBkZXN0Mik7CisgICAgICAgICAgICBBU1NFUlQoZGVzdDEgIT0gZGVz
dDIpOyAvLyBJZiBpdCBpcyB0aGUgc2FtZSwgbGRwIGJlY29tZXMgaWxsZWdhbCBpbnN0cnVjdGlv
bi4KKyAgICAgICAgICAgIGludDMyX3QgYWJzT2Zmc2V0ID0gYWRkcmVzcy51Lm9mZnNldDsKKyAg
ICAgICAgICAgIGlmIChhYnNPZmZzZXQgPCAwKQorICAgICAgICAgICAgICAgIGFic09mZnNldCA9
IC1hYnNPZmZzZXQ7CisgICAgICAgICAgICBpZiAoIShhYnNPZmZzZXQgJiB+MHgzZmMpKSB7Cisg
ICAgICAgICAgICAgICAgaWYgKChkZXN0MSA9PSBhZGRyZXNzVGVtcFJlZ2lzdGVyKSB8fCAoZGVz
dDIgPT0gYWRkcmVzc1RlbXBSZWdpc3RlcikpCisgICAgICAgICAgICAgICAgICAgIGNhY2hlZEFk
ZHJlc3NUZW1wUmVnaXN0ZXIoKS5pbnZhbGlkYXRlKCk7CisgICAgICAgICAgICAgICAgaWYgKChk
ZXN0MSA9PSBkYXRhVGVtcFJlZ2lzdGVyKSB8fCAoZGVzdDIgPT0gZGF0YVRlbXBSZWdpc3Rlcikp
CisgICAgICAgICAgICAgICAgICAgIGNhY2hlZERhdGFUZW1wUmVnaXN0ZXIoKS5pbnZhbGlkYXRl
KCk7CisgICAgICAgICAgICAgICAgbV9hc3NlbWJsZXIubGRyZChkZXN0MSwgZGVzdDIsIGFkZHJl
c3MuYmFzZSwgYWRkcmVzcy51Lm9mZnNldCwgLyogaW5kZXg6ICovIHRydWUsIC8qIHdiYWNrOiAq
LyBmYWxzZSk7CisgICAgICAgICAgICB9IGVsc2UgaWYgKGFkZHJlc3MuYmFzZSA9PSBkZXN0MSkg
eworICAgICAgICAgICAgICAgIEFybUFkZHJlc3MgaGlnaEFkZHJlc3MoYWRkcmVzcy5iYXNlLCBh
ZGRyZXNzLnUub2Zmc2V0ICsgNCk7CisgICAgICAgICAgICAgICAgbG9hZDMyKGhpZ2hBZGRyZXNz
LCBkZXN0Mik7CisgICAgICAgICAgICAgICAgbG9hZDMyKGFkZHJlc3MsIGRlc3QxKTsKKyAgICAg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgbG9hZDMyKGFkZHJlc3MsIGRlc3QxKTsK
KyAgICAgICAgICAgICAgICBBcm1BZGRyZXNzIGhpZ2hBZGRyZXNzKGFkZHJlc3MuYmFzZSwgYWRk
cmVzcy51Lm9mZnNldCArIDQpOworICAgICAgICAgICAgICAgIGxvYWQzMihoaWdoQWRkcmVzcywg
ZGVzdDIpOworICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQogCisgICAgdm9pZCBsb2Fk
UGFpcjMyKEFkZHJlc3MgYWRkcmVzcywgUmVnaXN0ZXJJRCBkZXN0MSwgUmVnaXN0ZXJJRCBkZXN0
MikKKyAgICB7CisgICAgICAgIGxvYWRQYWlyMzIoc2V0dXBBcm1BZGRyZXNzKGFkZHJlc3MpLCBk
ZXN0MSwgZGVzdDIpOworICAgIH0KKwogICAgIHZvaWQgbG9hZFBhaXIzMihCYXNlSW5kZXggYWRk
cmVzcywgUmVnaXN0ZXJJRCBkZXN0MSwgUmVnaXN0ZXJJRCBkZXN0MikKICAgICB7CiAgICAgICAg
IC8vIFVzaW5nIHIwLXI3IGNhbiBvZnRlbiBiZSBlbmNvZGVkIHdpdGggYSBzaG9ydGVyICgxNi1i
aXQgdnMgMzItYml0KSBpbnN0cnVjdGlvbiwgc28gdXNlCkBAIC05NjEsNiArOTk3LDExIEBAIHB1
YmxpYzoKICAgICAgICAgfQogICAgIH0KIAorICAgIHZvaWQgbG9hZFBhaXIzMihBYnNvbHV0ZUFk
ZHJlc3MgYWRkcmVzcywgUmVnaXN0ZXJJRCBkZXN0MSwgUmVnaXN0ZXJJRCBkZXN0MikKKyAgICB7
CisgICAgICAgIGxvYWRQYWlyMzIoc2V0dXBBcm1BZGRyZXNzPEJvdW5kc0RvdWJsZVdvcmRPZmZz
ZXQ+KGFkZHJlc3MpLCBkZXN0MSwgZGVzdDIpOworICAgIH0KKwogICAgIHZvaWQgc3RvcmUzMihS
ZWdpc3RlcklEIHNyYywgQWRkcmVzcyBhZGRyZXNzKQogICAgIHsKICAgICAgICAgc3RvcmUzMihz
cmMsIHNldHVwQXJtQWRkcmVzcyhhZGRyZXNzKSk7CkBAIC0yNDk5LDMwICsyNTQwLDMyIEBAIHBy
b3RlY3RlZDoKIAogICAgIEFybUFkZHJlc3Mgc2V0dXBBcm1BZGRyZXNzKEFkZHJlc3MgYWRkcmVz
cykKICAgICB7Ci0gICAgICAgIGlmICgoYWRkcmVzcy5vZmZzZXQgPj0gLTB4ZmYpICYmIChhZGRy
ZXNzLm9mZnNldCA8PSAweGZmZikpCisgICAgICAgIGlmIChCb3VuZHNOb25Eb3VibGVXb3JkT2Zm
c2V0Ojp3aXRoaW4oYWRkcmVzcy5vZmZzZXQpKQogICAgICAgICAgICAgcmV0dXJuIEFybUFkZHJl
c3MoYWRkcmVzcy5iYXNlLCBhZGRyZXNzLm9mZnNldCk7CiAKICAgICAgICAgbW92ZShUcnVzdGVk
SW1tMzIoYWRkcmVzcy5vZmZzZXQpLCBhZGRyZXNzVGVtcFJlZ2lzdGVyKTsKICAgICAgICAgcmV0
dXJuIEFybUFkZHJlc3MoYWRkcmVzcy5iYXNlLCBhZGRyZXNzVGVtcFJlZ2lzdGVyKTsKICAgICB9
CiAKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgQm91bmRzPgogICAgIHN0ZDo6b3B0aW9uYWw8aW50MzJf
dD4gYWJzb2x1dGVBZGRyZXNzV2l0aGluU2hvcnRPZmZzZXQoQWJzb2x1dGVBZGRyZXNzIGFkZHJl
c3MsIENhY2hlZFRlbXBSZWdpc3RlciAmY2FjaGVkUmVnaXN0ZXIpCiAgICAgewogICAgICAgICBp
bnRwdHJfdCBhZGRyZXNzQXNJbnQgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4oYWRkcmVz
cy5tX3B0cik7CiAgICAgICAgIGludHB0cl90IGN1cnJlbnRSZWdpc3RlckNvbnRlbnRzOwogICAg
ICAgICBpZiAoY2FjaGVkUmVnaXN0ZXIudmFsdWUoY3VycmVudFJlZ2lzdGVyQ29udGVudHMpKSB7
CiAgICAgICAgICAgICBpbnRwdHJfdCBhZGRyZXNzRGVsdGEgPSBhZGRyZXNzQXNJbnQgLSBjdXJy
ZW50UmVnaXN0ZXJDb250ZW50czsKLSAgICAgICAgICAgIGlmICgoYWRkcmVzc0RlbHRhID49IC0w
eGZmKSAmJiAoYWRkcmVzc0RlbHRhIDw9IDB4ZmZmKSkKKyAgICAgICAgICAgIGlmIChCb3VuZHM6
OndpdGhpbihhZGRyZXNzRGVsdGEpKQogICAgICAgICAgICAgICAgIHJldHVybiByZWludGVycHJl
dF9jYXN0PGludDMyX3Q+KGFkZHJlc3NEZWx0YSk7CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJu
IHsgfTsKICAgICB9CiAKKyAgICB0ZW1wbGF0ZTxjbGFzcyBCb3VuZHMgPSBCb3VuZHNOb25Eb3Vi
bGVXb3JkT2Zmc2V0PgogICAgIEFybUFkZHJlc3Mgc2V0dXBBcm1BZGRyZXNzKEFic29sdXRlQWRk
cmVzcyBhZGRyZXNzLCBSZWdpc3RlcklEIHNjcmF0Y2ggPSBhZGRyZXNzVGVtcFJlZ2lzdGVyKQog
ICAgIHsKLSAgICAgICAgaWYgKGF1dG8gb2Zmc2V0ID0gYWJzb2x1dGVBZGRyZXNzV2l0aGluU2hv
cnRPZmZzZXQoYWRkcmVzcywgY2FjaGVkQWRkcmVzc1RlbXBSZWdpc3RlcigpKSkKKyAgICAgICAg
aWYgKGF1dG8gb2Zmc2V0ID0gYWJzb2x1dGVBZGRyZXNzV2l0aGluU2hvcnRPZmZzZXQ8Qm91bmRz
PihhZGRyZXNzLCBjYWNoZWRBZGRyZXNzVGVtcFJlZ2lzdGVyKCkpKQogICAgICAgICAgICAgcmV0
dXJuIEFybUFkZHJlc3MoYWRkcmVzc1RlbXBSZWdpc3RlciwgKm9mZnNldCk7Ci0gICAgICAgIGlm
IChhdXRvIG9mZnNldCA9IGFic29sdXRlQWRkcmVzc1dpdGhpblNob3J0T2Zmc2V0KGFkZHJlc3Ms
IGNhY2hlZERhdGFUZW1wUmVnaXN0ZXIoKSkpCisgICAgICAgIGlmIChhdXRvIG9mZnNldCA9IGFi
c29sdXRlQWRkcmVzc1dpdGhpblNob3J0T2Zmc2V0PEJvdW5kcz4oYWRkcmVzcywgY2FjaGVkRGF0
YVRlbXBSZWdpc3RlcigpKSkKICAgICAgICAgICAgIHJldHVybiBBcm1BZGRyZXNzKGRhdGFUZW1w
UmVnaXN0ZXIsICpvZmZzZXQpOwogICAgICAgICBtb3ZlKFRydXN0ZWRJbW1QdHIoYWRkcmVzcy5t
X3B0ciksIHNjcmF0Y2gpOwogICAgICAgICByZXR1cm4gQXJtQWRkcmVzcyhzY3JhdGNoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJN
SVBTLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyTUlQ
Uy5oCmluZGV4IGE0MDhmYzU4OTllZGM5YmZhYWEzNjQ5Y2YzYWU5ZWY1ZTFhMTE0MDUuLjk0ZWI2
MmY0YTEyMWE2MTQ1MzIzNjkxM2FjOWQzY2IzOTRhZGIwZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJNSVBTLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlck1JUFMuaApAQCAtMTMzNiw2
ICsxMzM2LDEyIEBAIHB1YmxpYzoKICAgICAgICAgfQogICAgIH0KIAorICAgIHZvaWQgbG9hZFBh
aXIzMihBYnNvbHV0ZUFkZHJlc3MgYWRkcmVzcywgUmVnaXN0ZXJJRCBkZXN0MSwgUmVnaXN0ZXJJ
RCBkZXN0MikKKyAgICB7CisgICAgICAgIG1vdmUoVHJ1c3RlZEltbVB0cihhZGRyZXNzLm1fcHRy
KSwgYWRkclRlbXBSZWdpc3Rlcik7CisgICAgICAgIGxvYWRQYWlyMzIoYWRkclRlbXBSZWdpc3Rl
ciwgZGVzdDEsIGRlc3QyKTsKKyAgICB9CisKICAgICB2b2lkIGxvYWRQYWlyMzIoQmFzZUluZGV4
IGFkZHJlc3MsIFJlZ2lzdGVySUQgZGVzdDEsIFJlZ2lzdGVySUQgZGVzdDIpCiAgICAgewogICAg
ICAgICBpZiAoYWRkcmVzcy5iYXNlID09IGRlc3QxIHx8IGFkZHJlc3MuaW5kZXggPT0gZGVzdDEp
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQXNzZW1ibHlIZWxwZXJz
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0Fzc2VtYmx5SGVscGVycy5oCmluZGV4IGMx
MTdlMGI1Y2Y5Y2UyYWM3NTk4ZTUyZGFkMzM5Y2VhNmIwYWZlZDYuLjI3ZGQ1OTc5MGI3MWY5OGEy
MTdiMTI1ODc3Njc3MTY1YWM2OGVlMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvQXNzZW1ibHlIZWxwZXJzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9B
c3NlbWJseUhlbHBlcnMuaApAQCAtMjE0LDggKzIxNCw3IEBAIHB1YmxpYzoKICNpZiBVU0UoSlNW
QUxVRTY0KQogICAgICAgICBsb2FkNjQoYWRkcmVzcywgcmVncy5ncHIoKSk7CiAjZWxzZQotICAg
ICAgICBtb3ZlKFRydXN0ZWRJbW1QdHIoYWRkcmVzcyksIHJlZ3MucGF5bG9hZEdQUigpKTsKLSAg
ICAgICAgbG9hZFZhbHVlKEFkZHJlc3MocmVncy5wYXlsb2FkR1BSKCkpLCByZWdzKTsKKyAgICAg
ICAgbG9hZFBhaXIzMihBYnNvbHV0ZUFkZHJlc3MoYWRkcmVzcyksIHJlZ3MucGF5bG9hZEdQUigp
LCByZWdzLnRhZ0dQUigpKTsKICNlbmRpZgogICAgIH0KICAgICAK
</data>

          </attachment>
      

    </bug>

</bugzilla>