<?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>235177</bug_id>
          
          <creation_ts>2022-01-13 04:07:06 -0800</creation_ts>
          <short_desc>Fix WTF::UUID&apos;s potential collision with empty and deleted values</short_desc>
          <delta_ts>2022-01-14 10:31:16 -0800</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="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>andersca</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>mitz</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1830507</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-01-13 04:07:06 -0800</bug_when>
    <thetext>Fix WTF::UUID&apos;s potential collision with empty and deleted values</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830508</commentid>
    <comment_count>1</comment_count>
      <attachid>449042</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-01-13 04:10:02 -0800</bug_when>
    <thetext>Created attachment 449042
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830510</commentid>
    <comment_count>2</comment_count>
      <attachid>449043</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-01-13 04:11:24 -0800</bug_when>
    <thetext>Created attachment 449043
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830552</commentid>
    <comment_count>3</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2022-01-13 08:21:36 -0800</bug_when>
    <thetext>Wouldn&apos;t it be better to instead have WTF:UUID generate Version 4 UUIDs and maybe use two reserved UUIDs as the empty and deleted values?

https://en.wikipedia.org/wiki/Universally_unique_identifier#Version_4_(random)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830581</commentid>
    <comment_count>4</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-01-13 09:42:57 -0800</bug_when>
    <thetext>(In reply to Anders Carlsson from comment #3)
&gt; Wouldn&apos;t it be better to instead have WTF:UUID generate Version 4 UUIDs and
&gt; maybe use two reserved UUIDs as the empty and deleted values?
&gt; 
&gt; https://en.wikipedia.org/wiki/
&gt; Universally_unique_identifier#Version_4_(random)

For now, I would like to just fix the serious bug which can corrupt our hash table in this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830595</commentid>
    <comment_count>5</comment_count>
      <attachid>449043</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-01-13 10:00:52 -0800</bug_when>
    <thetext>Comment on attachment 449043
Patch

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

&gt; Source/WTF/wtf/UUID.cpp:48
&gt;      cryptographicallyRandomValues(reinterpret_cast&lt;unsigned char*&gt;(&amp;m_data), 16);

Could we do something like this instead of hard-coding 2?
```
do {
    cryptographicallyRandomValues(reinterpret_cast&lt;unsigned char*&gt;(&amp;m_data), 16);
} while (m_data == emptyValue || m_data == deletedValue);
```

&gt; Source/WTF/wtf/UUID.h:106
&gt; +    encoder &lt;&lt; static_cast&lt;uint64_t&gt;(m_data &gt;&gt; 64) &lt;&lt; static_cast&lt;uint64_t&gt;(m_data);

Why is this better?

&gt; Source/WTF/wtf/UUID.h:122
&gt; +    return UUID { (static_cast&lt;UInt128&gt;(*high) &lt;&lt; 64) | *low };

ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830600</commentid>
    <comment_count>6</comment_count>
      <attachid>449043</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-01-13 10:05:21 -0800</bug_when>
    <thetext>Comment on attachment 449043
Patch

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

&gt;&gt; Source/WTF/wtf/UUID.cpp:48
&gt;&gt;      cryptographicallyRandomValues(reinterpret_cast&lt;unsigned char*&gt;(&amp;m_data), 16);
&gt; 
&gt; Could we do something like this instead of hard-coding 2?
&gt; ```
&gt; do {
&gt;     cryptographicallyRandomValues(reinterpret_cast&lt;unsigned char*&gt;(&amp;m_data), 16);
&gt; } while (m_data == emptyValue || m_data == deletedValue);
&gt; ```

Sounds good. Changed.

&gt;&gt; Source/WTF/wtf/UUID.h:106
&gt;&gt; +    encoder &lt;&lt; static_cast&lt;uint64_t&gt;(m_data &gt;&gt; 64) &lt;&lt; static_cast&lt;uint64_t&gt;(m_data);
&gt; 
&gt; Why is this better?

UInt128High64 / UInt128Low64 are implementation&apos;s detail function.
UInt128 is attempting to support native data structure. And using these implementation detail function prevents us from removing these emulation layer when all compiler supports 128bit native integer primitives.

&gt;&gt; Source/WTF/wtf/UUID.h:122
&gt;&gt; +    return UUID { (static_cast&lt;UInt128&gt;(*high) &lt;&lt; 64) | *low };
&gt; 
&gt; ditto.

Ditto. It is implementation detail function, which should not be used by user code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830601</commentid>
    <comment_count>7</comment_count>
      <attachid>449076</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-01-13 10:09:41 -0800</bug_when>
    <thetext>Created attachment 449076
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830607</commentid>
    <comment_count>8</comment_count>
      <attachid>449076</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-01-13 10:17:34 -0800</bug_when>
    <thetext>Comment on attachment 449076
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830931</commentid>
    <comment_count>9</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-01-14 08:52:34 -0800</bug_when>
    <thetext>Are we landing this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830940</commentid>
    <comment_count>10</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-01-14 09:57:30 -0800</bug_when>
    <thetext>(In reply to Chris Dumez from comment #9)
&gt; Are we landing this?

I was waiting for the complete of all EWS, and it finished. So now, landing...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830943</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-14 10:12:05 -0800</bug_when>
    <thetext>Committed r288020 (246046@main): &lt;https://commits.webkit.org/246046@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 449076.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830944</commentid>
    <comment_count>12</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-01-14 10:13:17 -0800</bug_when>
    <thetext>&lt;rdar://problem/87606347&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830948</commentid>
    <comment_count>13</comment_count>
      <attachid>449076</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-01-14 10:15:38 -0800</bug_when>
    <thetext>Comment on attachment 449076
Patch

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

&gt; Source/WTF/ChangeLog:10
&gt; +        and used, it can break hash tables. This patch avoids that by picking 2 when we generate 0 or 1.

Seems to not match the code? It just generates another one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830958</commentid>
    <comment_count>14</comment_count>
      <attachid>449076</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2022-01-14 10:31:16 -0800</bug_when>
    <thetext>Comment on attachment 449076
Patch

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

&gt;&gt; Source/WTF/ChangeLog:10
&gt;&gt; +        and used, it can break hash tables. This patch avoids that by picking 2 when we generate 0 or 1.
&gt; 
&gt; Seems to not match the code? It just generates another one.

Ah, I forgot updating it while changing the implementation based on Chris&apos;s comment.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449042</attachid>
            <date>2022-01-13 04:10:02 -0800</date>
            <delta_ts>2022-01-13 04:11:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235177-20220113041002.patch</filename>
            <type>text/plain</type>
            <size>4387</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3OTc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGI3ZWEyMmFhNGRhNWQ3OTk1NWVhNjEw
NjQyNzdhNGI0ZTAyZDE4MTQuLmU5OWE1NGZlOGEyNzMyMGE1YmVjOGEwNWUyNjRmYWI0MTI5MzU1
MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMjItMDEtMTMgIFl1c3VrZSBTdXp1a2kgIDx5c3V6
dWtpQGFwcGxlLmNvbT4KKworICAgICAgICBGaXggV1RGOjpVVUlEJ3MgcG90ZW50aWFsIGNvbGxp
c2lvbiB3aXRoIGVtcHR5IGFuZCBkZWxldGVkIHZhbHVlcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1MTc3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2luY2UgY3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21W
YWx1ZXMgZ2VuZXJhdGVzIHJhbmRvbSB2YWx1ZXMsIGl0IGlzIHBvc3NpYmxlIHRoYXQgaXQgcHJv
ZHVjZXMgMCBvciAxLgorICAgICAgICBJbiB0aGF0IGNhc2UsIGl0IGNvbmZsaWN0cyB3aXRoIGVt
cHR5IGFuZCBkZWxldGVkIHZhbHVlcyBvZiBVVUlEIGZvciBoYXNoIHRhYmxlLiBXaGVuIGl0IGlz
IGdlbmVyYXRlZAorICAgICAgICBhbmQgdXNlZCwgaXQgY2FuIGJyZWFrIGhhc2ggdGFibGVzLiBU
aGlzIHBhdGNoIGF2b2lkcyB0aGF0IGJ5IHBpY2tpbmcgMiB3aGVuIHdlIGdlbmVyYXRlIDAgb3Ig
MS4KKworICAgICAgICBXZSBhbHNvIGF2b2lkIHVzaW5nIFVJbnQxMjhJbXBsIGFuZCBpbnN0ZWFk
IHVzaW5nIFVJbnQxMjguIFVJbnQxMjhJbXBsIGlzIGltcGxlbWVudGF0aW9uLCBzbyB3ZSBzaG91
bGQKKyAgICAgICAgYWx3YXlzIHVzZSBVSW50MTI4LiBVSW50MTI4IGNhbiBiZSBuYXRpdmUgX191
aW50MTI4X3Qgd2hlbiBpdCBpcyBzdXBwb3J0ZWQgYnkgdGhlIGNvbXBpbGVyOiBjbGFuZyBhbmQK
KyAgICAgICAgR0NDIG9uIDY0Yml0IHN1cHBvcnQgaXQuCisKKyAgICAgICAgKiB3dGYvVVVJRC5j
cHA6CisgICAgICAgIChXVEY6OlVVSUQ6OlVVSUQpOgorICAgICAgICAqIHd0Zi9VVUlELmg6Cisg
ICAgICAgIChXVEY6OlVVSUQ6OlVVSUQpOgorICAgICAgICAoV1RGOjpVVUlEOjppc0hhc2hUYWJs
ZURlbGV0ZWRWYWx1ZSBjb25zdCk6CisgICAgICAgIChXVEY6OlVVSUQ6OmVuY29kZSBjb25zdCk6
CisgICAgICAgIChXVEY6OlVVSUQ6OmRlY29kZSk6CisKIDIwMjItMDEtMTIgIE1hcmsgTGFtICA8
bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFtSZS1sYW5kaW5nXSBVcGRhdGUgaGFzaFRo
cmVhZFN0YXRlKCkgdG8gZXhjbHVkZSBfX29wYXF1ZV9mbGFncy4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL1VVSUQuY3BwIGIvU291cmNlL1dURi93dGYvVVVJRC5jcHAKaW5kZXggZjFkMDAw
Y2M4NTVkMzU5NGUxZjU1ZThlNDQ1M2VlM2I5N2VhYTkxNy4uNWNjMjg0NDRiY2Q5YWE2NzNkYzQw
MTE0YzBkZjBlNzM3NTcwMGUxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvVVVJRC5jcHAK
KysrIGIvU291cmNlL1dURi93dGYvVVVJRC5jcHAKQEAgLTQ2LDYgKzQ2LDEwIEBAIFVVSUQ6OlVV
SUQoKQogewogICAgIHN0YXRpY19hc3NlcnQoc2l6ZW9mKG1fZGF0YSkgPT0gMTYpOwogICAgIGNy
eXB0b2dyYXBoaWNhbGx5UmFuZG9tVmFsdWVzKHJlaW50ZXJwcmV0X2Nhc3Q8dW5zaWduZWQgY2hh
cio+KCZtX2RhdGEpLCAxNik7CisgICAgaWYgKG1fZGF0YSA9PSBlbXB0eVZhbHVlIHx8IG1fZGF0
YSA9PSBkZWxldGVkVmFsdWUpIHsKKyAgICAgICAgbV9kYXRhID0gMjsKKyAgICAgICAgc3RhdGlj
X2Fzc2VydChlbXB0eVZhbHVlICE9IDIgJiYgZGVsZXRlZFZhbHVlICE9IDIpOworICAgIH0KIH0K
IAogdW5zaWduZWQgVVVJRDo6aGFzaCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0
Zi9VVUlELmggYi9Tb3VyY2UvV1RGL3d0Zi9VVUlELmgKaW5kZXggNThhNTI0YTY0ZDM2YTYzMTEw
NGVmYTEyZGM4Y2U2ZGEyMzZjZmQwZi4uZGY0Y2VmNjk0NjVkZDIyOThmNWJmYjRmNDcyNGIxNWUw
ZjRlYzQyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvVVVJRC5oCisrKyBiL1NvdXJjZS9X
VEYvd3RmL1VVSUQuaApAQCAtNDAsNiArNDAsOSBAQCBjbGFzcyBTdHJpbmdWaWV3OwogY2xhc3Mg
VVVJRCB7CiBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBzdGF0aWMgY29u
c3RleHByIFVJbnQxMjggZW1wdHlWYWx1ZSA9IDA7CisgICAgc3RhdGljIGNvbnN0ZXhwciBVSW50
MTI4IGRlbGV0ZWRWYWx1ZSA9IDE7CisKICAgICBzdGF0aWMgVVVJRCBjcmVhdGUoKQogICAgIHsK
ICAgICAgICAgcmV0dXJuIFVVSUQgeyB9OwpAQCAtNTAsNDEgKzUzLDM4IEBAIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogICAgICAgICBtZW1jcHkoJm1fZGF0YSwgc3Bhbi5kYXRhKCksIDE2KTsK
ICAgICB9CiAKLSAgICBleHBsaWNpdCBVVUlEKFVJbnQxMjhJbXBsJiYgZGF0YSkKKyAgICBleHBs
aWNpdCBVVUlEKFVJbnQxMjggZGF0YSkKICAgICAgICAgOiBtX2RhdGEoZGF0YSkKICAgICB7CiAg
ICAgfQogCi0gICAgVVVJRChjb25zdCBVVUlEJikgPSBkZWZhdWx0OwotCiAgICAgU3Bhbjxjb25z
dCB1aW50OF90LCAxNj4gdG9TcGFuKCkgY29uc3QKICAgICB7CiAgICAgICAgIHJldHVybiBTcGFu
PGNvbnN0IHVpbnQ4X3QsIDE2PiB7IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDhfdCo+KCZt
X2RhdGEpLCAxNiB9OwogICAgIH0KIAotICAgIFVVSUQmIG9wZXJhdG9yPShjb25zdCBVVUlEJikg
PSBkZWZhdWx0OwogICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBVVUlEJiBvdGhlcikgY29uc3Qg
eyByZXR1cm4gbV9kYXRhID09IG90aGVyLm1fZGF0YTsgfQogCiAgICAgdGVtcGxhdGU8Y2xhc3Mg
RW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OwogICAgIHRlbXBsYXRlPGNsYXNz
IERlY29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFVVSUQ+IGRlY29kZShEZWNvZGVyJik7CiAK
LSAgICBleHBsaWNpdCBVVUlEKEhhc2hUYWJsZURlbGV0ZWRWYWx1ZVR5cGUpCi0gICAgICAgIDog
bV9kYXRhKDEpCisgICAgZXhwbGljaXQgY29uc3RleHByIFVVSUQoSGFzaFRhYmxlRGVsZXRlZFZh
bHVlVHlwZSkKKyAgICAgICAgOiBtX2RhdGEoZGVsZXRlZFZhbHVlKQogICAgIHsKICAgICB9CiAK
LSAgICBleHBsaWNpdCBVVUlEKEhhc2hUYWJsZUVtcHR5VmFsdWVUeXBlKQotICAgICAgICA6IG1f
ZGF0YSgwKQorICAgIGV4cGxpY2l0IGNvbnN0ZXhwciBVVUlEKEhhc2hUYWJsZUVtcHR5VmFsdWVU
eXBlKQorICAgICAgICA6IG1fZGF0YShlbXB0eVZhbHVlKQogICAgIHsKICAgICB9CiAKLSAgICBi
b29sIGlzSGFzaFRhYmxlRGVsZXRlZFZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9kYXRhID09IDE7
IH0KKyAgICBib29sIGlzSGFzaFRhYmxlRGVsZXRlZFZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9k
YXRhID09IGRlbGV0ZWRWYWx1ZTsgfQogICAgIFdURl9FWFBPUlRfUFJJVkFURSB1bnNpZ25lZCBo
YXNoKCkgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIFVVSUQoKTsK
IAotICAgIFVJbnQxMjhJbXBsIG1fZGF0YTsKKyAgICBVSW50MTI4IG1fZGF0YTsKIH07CiAKIHN0
cnVjdCBVVUlESGFzaCB7CkBAIC0xMDMsNyArMTAzLDcgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgRGVm
YXVsdEhhc2g8VVVJRD4gOiBVVUlESGFzaCB7IH07CiB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgog
dm9pZCBVVUlEOjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKIHsKLSAgICBlbmNvZGVy
IDw8IFVJbnQxMjhIaWdoNjQobV9kYXRhKSA8PCBVSW50MTI4TG93NjQobV9kYXRhKTsKKyAgICBl
bmNvZGVyIDw8IHN0YXRpY19jYXN0PHVpbnQ2NF90PihtX2RhdGEgPj4gNjQpIDw8IHN0YXRpY19j
YXN0PHVpbnQ2NF90PihtX2RhdGEpOwogfQogCiB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgpAQCAt
MTE5LDkgKzExOSw3IEBAIHN0ZDo6b3B0aW9uYWw8VVVJRD4gVVVJRDo6ZGVjb2RlKERlY29kZXIm
IGRlY29kZXIpCiAgICAgaWYgKCFsb3cpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAK
LSAgICByZXR1cm4geyBVVUlEIHsKLSAgICAgICAgTWFrZVVJbnQxMjgoKmhpZ2gsICpsb3cpLAot
ICAgIH0gfTsKKyAgICByZXR1cm4gVVVJRCB7IChzdGF0aWNfY2FzdDxVSW50MTI4PigqaGlnaCkg
PDwgNjQpIHwgKmxvdyB9OwogfQogCiAvLyBDcmVhdGVzIGEgVVVJRCB0aGF0IGNvbnNpc3RzIG9m
IDMyIGhleGFkZWNpbWFsIGRpZ2l0cyBhbmQgcmV0dXJucyBpdHMgY2Fub25pY2FsIGZvcm0uCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449043</attachid>
            <date>2022-01-13 04:11:24 -0800</date>
            <delta_ts>2022-01-13 10:25:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235177-20220113041123.patch</filename>
            <type>text/plain</type>
            <size>4397</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3OTc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGI3ZWEyMmFhNGRhNWQ3OTk1NWVhNjEw
NjQyNzdhNGI0ZTAyZDE4MTQuLmU5OWE1NGZlOGEyNzMyMGE1YmVjOGEwNWUyNjRmYWI0MTI5MzU1
MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMjItMDEtMTMgIFl1c3VrZSBTdXp1a2kgIDx5c3V6
dWtpQGFwcGxlLmNvbT4KKworICAgICAgICBGaXggV1RGOjpVVUlEJ3MgcG90ZW50aWFsIGNvbGxp
c2lvbiB3aXRoIGVtcHR5IGFuZCBkZWxldGVkIHZhbHVlcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1MTc3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2luY2UgY3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21W
YWx1ZXMgZ2VuZXJhdGVzIHJhbmRvbSB2YWx1ZXMsIGl0IGlzIHBvc3NpYmxlIHRoYXQgaXQgcHJv
ZHVjZXMgMCBvciAxLgorICAgICAgICBJbiB0aGF0IGNhc2UsIGl0IGNvbmZsaWN0cyB3aXRoIGVt
cHR5IGFuZCBkZWxldGVkIHZhbHVlcyBvZiBVVUlEIGZvciBoYXNoIHRhYmxlLiBXaGVuIGl0IGlz
IGdlbmVyYXRlZAorICAgICAgICBhbmQgdXNlZCwgaXQgY2FuIGJyZWFrIGhhc2ggdGFibGVzLiBU
aGlzIHBhdGNoIGF2b2lkcyB0aGF0IGJ5IHBpY2tpbmcgMiB3aGVuIHdlIGdlbmVyYXRlIDAgb3Ig
MS4KKworICAgICAgICBXZSBhbHNvIGF2b2lkIHVzaW5nIFVJbnQxMjhJbXBsIGFuZCBpbnN0ZWFk
IHVzaW5nIFVJbnQxMjguIFVJbnQxMjhJbXBsIGlzIGltcGxlbWVudGF0aW9uLCBzbyB3ZSBzaG91
bGQKKyAgICAgICAgYWx3YXlzIHVzZSBVSW50MTI4LiBVSW50MTI4IGNhbiBiZSBuYXRpdmUgX191
aW50MTI4X3Qgd2hlbiBpdCBpcyBzdXBwb3J0ZWQgYnkgdGhlIGNvbXBpbGVyOiBjbGFuZyBhbmQK
KyAgICAgICAgR0NDIG9uIDY0Yml0IHN1cHBvcnQgaXQuCisKKyAgICAgICAgKiB3dGYvVVVJRC5j
cHA6CisgICAgICAgIChXVEY6OlVVSUQ6OlVVSUQpOgorICAgICAgICAqIHd0Zi9VVUlELmg6Cisg
ICAgICAgIChXVEY6OlVVSUQ6OlVVSUQpOgorICAgICAgICAoV1RGOjpVVUlEOjppc0hhc2hUYWJs
ZURlbGV0ZWRWYWx1ZSBjb25zdCk6CisgICAgICAgIChXVEY6OlVVSUQ6OmVuY29kZSBjb25zdCk6
CisgICAgICAgIChXVEY6OlVVSUQ6OmRlY29kZSk6CisKIDIwMjItMDEtMTIgIE1hcmsgTGFtICA8
bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFtSZS1sYW5kaW5nXSBVcGRhdGUgaGFzaFRo
cmVhZFN0YXRlKCkgdG8gZXhjbHVkZSBfX29wYXF1ZV9mbGFncy4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL1VVSUQuY3BwIGIvU291cmNlL1dURi93dGYvVVVJRC5jcHAKaW5kZXggZjFkMDAw
Y2M4NTVkMzU5NGUxZjU1ZThlNDQ1M2VlM2I5N2VhYTkxNy4uNWNjMjg0NDRiY2Q5YWE2NzNkYzQw
MTE0YzBkZjBlNzM3NTcwMGUxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvVVVJRC5jcHAK
KysrIGIvU291cmNlL1dURi93dGYvVVVJRC5jcHAKQEAgLTQ2LDYgKzQ2LDEwIEBAIFVVSUQ6OlVV
SUQoKQogewogICAgIHN0YXRpY19hc3NlcnQoc2l6ZW9mKG1fZGF0YSkgPT0gMTYpOwogICAgIGNy
eXB0b2dyYXBoaWNhbGx5UmFuZG9tVmFsdWVzKHJlaW50ZXJwcmV0X2Nhc3Q8dW5zaWduZWQgY2hh
cio+KCZtX2RhdGEpLCAxNik7CisgICAgaWYgKG1fZGF0YSA9PSBlbXB0eVZhbHVlIHx8IG1fZGF0
YSA9PSBkZWxldGVkVmFsdWUpIHsKKyAgICAgICAgbV9kYXRhID0gMjsKKyAgICAgICAgc3RhdGlj
X2Fzc2VydChlbXB0eVZhbHVlICE9IDIgJiYgZGVsZXRlZFZhbHVlICE9IDIpOworICAgIH0KIH0K
IAogdW5zaWduZWQgVVVJRDo6aGFzaCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0
Zi9VVUlELmggYi9Tb3VyY2UvV1RGL3d0Zi9VVUlELmgKaW5kZXggNThhNTI0YTY0ZDM2YTYzMTEw
NGVmYTEyZGM4Y2U2ZGEyMzZjZmQwZi4uNWY1NTE4ZDlkMzcwNjYwNjVkZTA2ZjE0MDkyMWM2NzA3
ZDM2MzM0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvVVVJRC5oCisrKyBiL1NvdXJjZS9X
VEYvd3RmL1VVSUQuaApAQCAtNDAsNiArNDAsOSBAQCBjbGFzcyBTdHJpbmdWaWV3OwogY2xhc3Mg
VVVJRCB7CiBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBzdGF0aWMgY29u
c3RleHByIFVJbnQxMjggZW1wdHlWYWx1ZSA9IDA7CisgICAgc3RhdGljIGNvbnN0ZXhwciBVSW50
MTI4IGRlbGV0ZWRWYWx1ZSA9IDE7CisKICAgICBzdGF0aWMgVVVJRCBjcmVhdGUoKQogICAgIHsK
ICAgICAgICAgcmV0dXJuIFVVSUQgeyB9OwpAQCAtNTAsNDEgKzUzLDM4IEBAIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogICAgICAgICBtZW1jcHkoJm1fZGF0YSwgc3Bhbi5kYXRhKCksIDE2KTsK
ICAgICB9CiAKLSAgICBleHBsaWNpdCBVVUlEKFVJbnQxMjhJbXBsJiYgZGF0YSkKKyAgICBleHBs
aWNpdCBjb25zdGV4cHIgVVVJRChVSW50MTI4IGRhdGEpCiAgICAgICAgIDogbV9kYXRhKGRhdGEp
CiAgICAgewogICAgIH0KIAotICAgIFVVSUQoY29uc3QgVVVJRCYpID0gZGVmYXVsdDsKLQogICAg
IFNwYW48Y29uc3QgdWludDhfdCwgMTY+IHRvU3BhbigpIGNvbnN0CiAgICAgewogICAgICAgICBy
ZXR1cm4gU3Bhbjxjb25zdCB1aW50OF90LCAxNj4geyByZWludGVycHJldF9jYXN0PGNvbnN0IHVp
bnQ4X3QqPigmbV9kYXRhKSwgMTYgfTsKICAgICB9CiAKLSAgICBVVUlEJiBvcGVyYXRvcj0oY29u
c3QgVVVJRCYpID0gZGVmYXVsdDsKICAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgVVVJRCYgb3Ro
ZXIpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YSA9PSBvdGhlci5tX2RhdGE7IH0KIAogICAgIHRlbXBs
YXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKICAgICB0ZW1w
bGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxVVUlEPiBkZWNvZGUoRGVj
b2RlciYpOwogCi0gICAgZXhwbGljaXQgVVVJRChIYXNoVGFibGVEZWxldGVkVmFsdWVUeXBlKQot
ICAgICAgICA6IG1fZGF0YSgxKQorICAgIGV4cGxpY2l0IGNvbnN0ZXhwciBVVUlEKEhhc2hUYWJs
ZURlbGV0ZWRWYWx1ZVR5cGUpCisgICAgICAgIDogbV9kYXRhKGRlbGV0ZWRWYWx1ZSkKICAgICB7
CiAgICAgfQogCi0gICAgZXhwbGljaXQgVVVJRChIYXNoVGFibGVFbXB0eVZhbHVlVHlwZSkKLSAg
ICAgICAgOiBtX2RhdGEoMCkKKyAgICBleHBsaWNpdCBjb25zdGV4cHIgVVVJRChIYXNoVGFibGVF
bXB0eVZhbHVlVHlwZSkKKyAgICAgICAgOiBtX2RhdGEoZW1wdHlWYWx1ZSkKICAgICB7CiAgICAg
fQogCi0gICAgYm9vbCBpc0hhc2hUYWJsZURlbGV0ZWRWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1f
ZGF0YSA9PSAxOyB9CisgICAgYm9vbCBpc0hhc2hUYWJsZURlbGV0ZWRWYWx1ZSgpIGNvbnN0IHsg
cmV0dXJuIG1fZGF0YSA9PSBkZWxldGVkVmFsdWU7IH0KICAgICBXVEZfRVhQT1JUX1BSSVZBVEUg
dW5zaWduZWQgaGFzaCgpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIFdURl9FWFBPUlRfUFJJVkFU
RSBVVUlEKCk7CiAKLSAgICBVSW50MTI4SW1wbCBtX2RhdGE7CisgICAgVUludDEyOCBtX2RhdGE7
CiB9OwogCiBzdHJ1Y3QgVVVJREhhc2ggewpAQCAtMTAzLDcgKzEwMyw3IEBAIHRlbXBsYXRlPD4g
c3RydWN0IERlZmF1bHRIYXNoPFVVSUQ+IDogVVVJREhhc2ggeyB9OwogdGVtcGxhdGU8Y2xhc3Mg
RW5jb2Rlcj4KIHZvaWQgVVVJRDo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiB7Ci0g
ICAgZW5jb2RlciA8PCBVSW50MTI4SGlnaDY0KG1fZGF0YSkgPDwgVUludDEyOExvdzY0KG1fZGF0
YSk7CisgICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDx1aW50NjRfdD4obV9kYXRhID4+IDY0KSA8
PCBzdGF0aWNfY2FzdDx1aW50NjRfdD4obV9kYXRhKTsKIH0KIAogdGVtcGxhdGU8Y2xhc3MgRGVj
b2Rlcj4KQEAgLTExOSw5ICsxMTksNyBAQCBzdGQ6Om9wdGlvbmFsPFVVSUQ+IFVVSUQ6OmRlY29k
ZShEZWNvZGVyJiBkZWNvZGVyKQogICAgIGlmICghbG93KQogICAgICAgICByZXR1cm4gc3RkOjpu
dWxsb3B0OwogCi0gICAgcmV0dXJuIHsgVVVJRCB7Ci0gICAgICAgIE1ha2VVSW50MTI4KCpoaWdo
LCAqbG93KSwKLSAgICB9IH07CisgICAgcmV0dXJuIFVVSUQgeyAoc3RhdGljX2Nhc3Q8VUludDEy
OD4oKmhpZ2gpIDw8IDY0KSB8ICpsb3cgfTsKIH0KIAogLy8gQ3JlYXRlcyBhIFVVSUQgdGhhdCBj
b25zaXN0cyBvZiAzMiBoZXhhZGVjaW1hbCBkaWdpdHMgYW5kIHJldHVybnMgaXRzIGNhbm9uaWNh
bCBmb3JtLgo=
</data>
<flag name="commit-queue"
          id="475061"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449076</attachid>
            <date>2022-01-13 10:09:41 -0800</date>
            <delta_ts>2022-01-14 10:12:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235177-20220113100940.patch</filename>
            <type>text/plain</type>
            <size>4738</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3OTc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGI3ZWEyMmFhNGRhNWQ3OTk1NWVhNjEw
NjQyNzdhNGI0ZTAyZDE4MTQuLjA1MWRlMDkwODJjZDA2MGY2YjI3NzRlMjEwMjZiYTQxMTQ2NGYz
YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMjItMDEtMTMgIFl1c3VrZSBTdXp1a2kgIDx5c3V6
dWtpQGFwcGxlLmNvbT4KKworICAgICAgICBGaXggV1RGOjpVVUlEJ3MgcG90ZW50aWFsIGNvbGxp
c2lvbiB3aXRoIGVtcHR5IGFuZCBkZWxldGVkIHZhbHVlcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1MTc3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2luY2UgY3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21W
YWx1ZXMgZ2VuZXJhdGVzIHJhbmRvbSB2YWx1ZXMsIGl0IGlzIHBvc3NpYmxlIHRoYXQgaXQgcHJv
ZHVjZXMgMCBvciAxLgorICAgICAgICBJbiB0aGF0IGNhc2UsIGl0IGNvbmZsaWN0cyB3aXRoIGVt
cHR5IGFuZCBkZWxldGVkIHZhbHVlcyBvZiBVVUlEIGZvciBoYXNoIHRhYmxlLiBXaGVuIGl0IGlz
IGdlbmVyYXRlZAorICAgICAgICBhbmQgdXNlZCwgaXQgY2FuIGJyZWFrIGhhc2ggdGFibGVzLiBU
aGlzIHBhdGNoIGF2b2lkcyB0aGF0IGJ5IHBpY2tpbmcgMiB3aGVuIHdlIGdlbmVyYXRlIDAgb3Ig
MS4KKworICAgICAgICBXZSBhbHNvIGF2b2lkIHVzaW5nIFVJbnQxMjhJbXBsIGFuZCBpbnN0ZWFk
IHVzaW5nIFVJbnQxMjguIFVJbnQxMjhJbXBsIGlzIGltcGxlbWVudGF0aW9uLCBzbyB3ZSBzaG91
bGQKKyAgICAgICAgYWx3YXlzIHVzZSBVSW50MTI4LiBVSW50MTI4IGNhbiBiZSBuYXRpdmUgX191
aW50MTI4X3Qgd2hlbiBpdCBpcyBzdXBwb3J0ZWQgYnkgdGhlIGNvbXBpbGVyOiBjbGFuZyBhbmQK
KyAgICAgICAgR0NDIG9uIDY0Yml0IHN1cHBvcnQgaXQuCisKKyAgICAgICAgSW4gdGhpcyBwYXRj
aCwgd2UgZG8gbm90IHVzZSBzdHJpY3QgVVVJRCB2NC4gVGhpcyBwYXRjaCBmb2N1c2VzIG9uIGZp
eGluZyB0aGUgZXhpc3RpbmcgaGFzaCB0YWJsZSBjb3JydXB0aW9uCisgICAgICAgIGJ1ZywgYW5k
IHdlIGRlZmVyIGRpc2N1c3Npb24gYWJvdXQgVVVJRCB2NCBzaW5jZSBpdCByZWR1Y2VzIHVzYWJs
ZSBiaXRzIGZyb20gMTI4IHRvIDEyMiwgd2hpY2ggd2UgbmVlZCB0bworICAgICAgICBpbnZlc3Rp
Z2F0ZSB0aGUgZXhpc3RpbmcgdXNhZ2Ugb2YgVVVJRCAoYW5kIFVVSUQgc3RyaW5nKSBpbiBvdXIg
dHJlZS4KKworICAgICAgICAqIHd0Zi9VVUlELmNwcDoKKyAgICAgICAgKFdURjo6VVVJRDo6VVVJ
RCk6CisgICAgICAgICogd3RmL1VVSUQuaDoKKyAgICAgICAgKFdURjo6VVVJRDo6VVVJRCk6Cisg
ICAgICAgIChXVEY6OlVVSUQ6OmlzSGFzaFRhYmxlRGVsZXRlZFZhbHVlIGNvbnN0KToKKyAgICAg
ICAgKFdURjo6VVVJRDo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdURjo6VVVJRDo6ZGVjb2Rl
KToKKwogMjAyMi0wMS0xMiAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CiAKICAgICAg
ICAgW1JlLWxhbmRpbmddIFVwZGF0ZSBoYXNoVGhyZWFkU3RhdGUoKSB0byBleGNsdWRlIF9fb3Bh
cXVlX2ZsYWdzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvVVVJRC5jcHAgYi9Tb3VyY2Uv
V1RGL3d0Zi9VVUlELmNwcAppbmRleCBmMWQwMDBjYzg1NWQzNTk0ZTFmNTVlOGU0NDUzZWUzYjk3
ZWFhOTE3Li45ZmFkMGYxYThlMzI4MzY3NWEzZmNjZjRlNzMyNWJmNTk4MzFkNDExIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL3d0Zi9VVUlELmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9VVUlELmNw
cApAQCAtNDUsNyArNDUsOSBAQCBuYW1lc3BhY2UgV1RGIHsKIFVVSUQ6OlVVSUQoKQogewogICAg
IHN0YXRpY19hc3NlcnQoc2l6ZW9mKG1fZGF0YSkgPT0gMTYpOwotICAgIGNyeXB0b2dyYXBoaWNh
bGx5UmFuZG9tVmFsdWVzKHJlaW50ZXJwcmV0X2Nhc3Q8dW5zaWduZWQgY2hhcio+KCZtX2RhdGEp
LCAxNik7CisgICAgZG8geworICAgICAgICBjcnlwdG9ncmFwaGljYWxseVJhbmRvbVZhbHVlcyhy
ZWludGVycHJldF9jYXN0PHVuc2lnbmVkIGNoYXIqPigmbV9kYXRhKSwgMTYpOworICAgIH0gd2hp
bGUgKG1fZGF0YSA9PSBlbXB0eVZhbHVlIHx8IG1fZGF0YSA9PSBkZWxldGVkVmFsdWUpOwogfQog
CiB1bnNpZ25lZCBVVUlEOjpoYXNoKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3Rm
L1VVSUQuaCBiL1NvdXJjZS9XVEYvd3RmL1VVSUQuaAppbmRleCA1OGE1MjRhNjRkMzZhNjMxMTA0
ZWZhMTJkYzhjZTZkYTIzNmNmZDBmLi41ZjU1MThkOWQzNzA2NjA2NWRlMDZmMTQwOTIxYzY3MDdk
MzYzMzRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9VVUlELmgKKysrIGIvU291cmNlL1dU
Ri93dGYvVVVJRC5oCkBAIC00MCw2ICs0MCw5IEBAIGNsYXNzIFN0cmluZ1ZpZXc7CiBjbGFzcyBV
VUlEIHsKIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIHN0YXRpYyBjb25z
dGV4cHIgVUludDEyOCBlbXB0eVZhbHVlID0gMDsKKyAgICBzdGF0aWMgY29uc3RleHByIFVJbnQx
MjggZGVsZXRlZFZhbHVlID0gMTsKKwogICAgIHN0YXRpYyBVVUlEIGNyZWF0ZSgpCiAgICAgewog
ICAgICAgICByZXR1cm4gVVVJRCB7IH07CkBAIC01MCw0MSArNTMsMzggQEAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiAgICAgICAgIG1lbWNweSgmbV9kYXRhLCBzcGFuLmRhdGEoKSwgMTYpOwog
ICAgIH0KIAotICAgIGV4cGxpY2l0IFVVSUQoVUludDEyOEltcGwmJiBkYXRhKQorICAgIGV4cGxp
Y2l0IGNvbnN0ZXhwciBVVUlEKFVJbnQxMjggZGF0YSkKICAgICAgICAgOiBtX2RhdGEoZGF0YSkK
ICAgICB7CiAgICAgfQogCi0gICAgVVVJRChjb25zdCBVVUlEJikgPSBkZWZhdWx0OwotCiAgICAg
U3Bhbjxjb25zdCB1aW50OF90LCAxNj4gdG9TcGFuKCkgY29uc3QKICAgICB7CiAgICAgICAgIHJl
dHVybiBTcGFuPGNvbnN0IHVpbnQ4X3QsIDE2PiB7IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWlu
dDhfdCo+KCZtX2RhdGEpLCAxNiB9OwogICAgIH0KIAotICAgIFVVSUQmIG9wZXJhdG9yPShjb25z
dCBVVUlEJikgPSBkZWZhdWx0OwogICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBVVUlEJiBvdGhl
cikgY29uc3QgeyByZXR1cm4gbV9kYXRhID09IG90aGVyLm1fZGF0YTsgfQogCiAgICAgdGVtcGxh
dGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OwogICAgIHRlbXBs
YXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFVVSUQ+IGRlY29kZShEZWNv
ZGVyJik7CiAKLSAgICBleHBsaWNpdCBVVUlEKEhhc2hUYWJsZURlbGV0ZWRWYWx1ZVR5cGUpCi0g
ICAgICAgIDogbV9kYXRhKDEpCisgICAgZXhwbGljaXQgY29uc3RleHByIFVVSUQoSGFzaFRhYmxl
RGVsZXRlZFZhbHVlVHlwZSkKKyAgICAgICAgOiBtX2RhdGEoZGVsZXRlZFZhbHVlKQogICAgIHsK
ICAgICB9CiAKLSAgICBleHBsaWNpdCBVVUlEKEhhc2hUYWJsZUVtcHR5VmFsdWVUeXBlKQotICAg
ICAgICA6IG1fZGF0YSgwKQorICAgIGV4cGxpY2l0IGNvbnN0ZXhwciBVVUlEKEhhc2hUYWJsZUVt
cHR5VmFsdWVUeXBlKQorICAgICAgICA6IG1fZGF0YShlbXB0eVZhbHVlKQogICAgIHsKICAgICB9
CiAKLSAgICBib29sIGlzSGFzaFRhYmxlRGVsZXRlZFZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9k
YXRhID09IDE7IH0KKyAgICBib29sIGlzSGFzaFRhYmxlRGVsZXRlZFZhbHVlKCkgY29uc3QgeyBy
ZXR1cm4gbV9kYXRhID09IGRlbGV0ZWRWYWx1ZTsgfQogICAgIFdURl9FWFBPUlRfUFJJVkFURSB1
bnNpZ25lZCBoYXNoKCkgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgV1RGX0VYUE9SVF9QUklWQVRF
IFVVSUQoKTsKIAotICAgIFVJbnQxMjhJbXBsIG1fZGF0YTsKKyAgICBVSW50MTI4IG1fZGF0YTsK
IH07CiAKIHN0cnVjdCBVVUlESGFzaCB7CkBAIC0xMDMsNyArMTAzLDcgQEAgdGVtcGxhdGU8PiBz
dHJ1Y3QgRGVmYXVsdEhhc2g8VVVJRD4gOiBVVUlESGFzaCB7IH07CiB0ZW1wbGF0ZTxjbGFzcyBF
bmNvZGVyPgogdm9pZCBVVUlEOjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKIHsKLSAg
ICBlbmNvZGVyIDw8IFVJbnQxMjhIaWdoNjQobV9kYXRhKSA8PCBVSW50MTI4TG93NjQobV9kYXRh
KTsKKyAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PHVpbnQ2NF90PihtX2RhdGEgPj4gNjQpIDw8
IHN0YXRpY19jYXN0PHVpbnQ2NF90PihtX2RhdGEpOwogfQogCiB0ZW1wbGF0ZTxjbGFzcyBEZWNv
ZGVyPgpAQCAtMTE5LDkgKzExOSw3IEBAIHN0ZDo6b3B0aW9uYWw8VVVJRD4gVVVJRDo6ZGVjb2Rl
KERlY29kZXImIGRlY29kZXIpCiAgICAgaWYgKCFsb3cpCiAgICAgICAgIHJldHVybiBzdGQ6Om51
bGxvcHQ7CiAKLSAgICByZXR1cm4geyBVVUlEIHsKLSAgICAgICAgTWFrZVVJbnQxMjgoKmhpZ2gs
ICpsb3cpLAotICAgIH0gfTsKKyAgICByZXR1cm4gVVVJRCB7IChzdGF0aWNfY2FzdDxVSW50MTI4
PigqaGlnaCkgPDwgNjQpIHwgKmxvdyB9OwogfQogCiAvLyBDcmVhdGVzIGEgVVVJRCB0aGF0IGNv
bnNpc3RzIG9mIDMyIGhleGFkZWNpbWFsIGRpZ2l0cyBhbmQgcmV0dXJucyBpdHMgY2Fub25pY2Fs
IGZvcm0uCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>