<?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>210816</bug_id>
          
          <creation_ts>2020-04-21 14:24:45 -0700</creation_ts>
          <short_desc>Canonicalize JSBigInt generated by structured-cloning by calling rightTrim</short_desc>
          <delta_ts>2020-04-21 19:37: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>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>alecflett</cc>
    
    <cc>beidson</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jsbell</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1644013</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-04-21 14:24:45 -0700</bug_when>
    <thetext>[JSC] Call rightTrim to ensure that corrupted serialized data should not produce wrong JSBigInt</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644014</commentid>
    <comment_count>1</comment_count>
      <attachid>397119</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-04-21 14:26:08 -0700</bug_when>
    <thetext>Created attachment 397119
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644026</commentid>
    <comment_count>2</comment_count>
      <attachid>397123</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-04-21 14:42:33 -0700</bug_when>
    <thetext>Created attachment 397123
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644036</commentid>
    <comment_count>3</comment_count>
      <attachid>397128</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-04-21 14:59:41 -0700</bug_when>
    <thetext>Created attachment 397128
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644039</commentid>
    <comment_count>4</comment_count>
      <attachid>397128</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-21 15:04:09 -0700</bug_when>
    <thetext>Comment on attachment 397128
Patch

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

&gt; Source/WebCore/bindings/js/SerializedScriptValue.cpp:3038
&gt; +            bigInt = bigInt-&gt;rightTrim(m_lexicalGlobalObject-&gt;vm());

Wouldn’t it be better for deserialization to *fail* if rightTrim would do anything here?

&gt; Source/WebCore/bindings/js/SerializedScriptValue.cpp:3074
&gt; +        bigInt = bigInt-&gt;rightTrim(m_lexicalGlobalObject-&gt;vm());

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644045</commentid>
    <comment_count>5</comment_count>
      <attachid>397128</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2020-04-21 15:28:46 -0700</bug_when>
    <thetext>Comment on attachment 397128
Patch

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

&gt; Source/JavaScriptCore/ChangeLog:3
&gt; +        Call rightTrim to ensure that corrupted serialized data should not produce wrong JSBigInt to make structured-cloning for JSBigInt more robust

That&apos;s a mouthful, can we just say: &quot;Make structured-cloning for JSBigInt more robust by calling rightTrim&quot;?

We can explain why in the ChangLog.

&gt; Source/WebCore/ChangeLog:8
&gt; +        Let&apos;s assume that the serialized data is corrupted. In that case, we should (1) throw an failure if it is detected or (2) produce a right value if it is not detected.

For (2) do you mean a valid value? What would the &quot;right&quot; value be for corrupted input?

&gt; Source/WebCore/ChangeLog:9
&gt; +        We should call `JSBigInt::rightTrim(VM&amp;)` when finishing JSBigInt deserialization to at least ensure that (2).

Nit: ensure that (2) =&gt; ensure (2)

&gt;&gt; Source/WebCore/bindings/js/SerializedScriptValue.cpp:3038
&gt;&gt; +            bigInt = bigInt-&gt;rightTrim(m_lexicalGlobalObject-&gt;vm());
&gt; 
&gt; Wouldn’t it be better for deserialization to *fail* if rightTrim would do anything here?

The only upside I can see of not failing would be that maybe a developer could work around a bug on our end. Overall, I agree with you though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644049</commentid>
    <comment_count>6</comment_count>
      <attachid>397128</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-04-21 15:41:38 -0700</bug_when>
    <thetext>Comment on attachment 397128
Patch

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

Thanks!

&gt;&gt; Source/JavaScriptCore/ChangeLog:3
&gt;&gt; +        Call rightTrim to ensure that corrupted serialized data should not produce wrong JSBigInt to make structured-cloning for JSBigInt more robust
&gt; 
&gt; That&apos;s a mouthful, can we just say: &quot;Make structured-cloning for JSBigInt more robust by calling rightTrim&quot;?
&gt; 
&gt; We can explain why in the ChangLog.

Will fix.

&gt;&gt; Source/WebCore/ChangeLog:8
&gt;&gt; +        Let&apos;s assume that the serialized data is corrupted. In that case, we should (1) throw an failure if it is detected or (2) produce a right value if it is not detected.
&gt; 
&gt; For (2) do you mean a valid value? What would the &quot;right&quot; value be for corrupted input?

Valid value. Corrupt means that it is not ensuring JSBigInt&apos;s data layout invariant. For example, zero should be length = 0 and sign = false. But we can represent this value in various form like, length = 1 and value = 0. Or sign = true, length = 0.
This patch is generating correct value while ignoring data layout invariant in JSBigInt.

&gt;&gt; Source/WebCore/ChangeLog:9
&gt;&gt; +        We should call `JSBigInt::rightTrim(VM&amp;)` when finishing JSBigInt deserialization to at least ensure that (2).
&gt; 
&gt; Nit: ensure that (2) =&gt; ensure (2)

Fixed.

&gt;&gt;&gt; Source/WebCore/bindings/js/SerializedScriptValue.cpp:3038
&gt;&gt;&gt; +            bigInt = bigInt-&gt;rightTrim(m_lexicalGlobalObject-&gt;vm());
&gt;&gt; 
&gt;&gt; Wouldn’t it be better for deserialization to *fail* if rightTrim would do anything here?
&gt; 
&gt; The only upside I can see of not failing would be that maybe a developer could work around a bug on our end. Overall, I agree with you though.

My wording would be misleading. Here, what I said wrong is &quot;wrong in terms of internal invariant of JSBigInt&quot;. For example, in this format, we have several ways to represent zero JSBigInt. One is 0 length. One is 1 length, and value is zero. One is 0-length, but sign is true.
But in JSBigInt layout, we are assuming some invariant in JSBigInt. For example, if JSBigInt is zero, length should be zero, and sign flag should be false.
This `rightTrim(VM&amp;)` offers the way to canonicalize JSBigInt format even if the input is not holding JSBigInt&apos;s internal invariant.
I think this direction is better. We should not expose such an internal invariant of JSBigInt in serialization code. This makes JSBigInt implementation free from the format of serialization code.
Just calling rightTrim correctly canonicalize JSBigInt&apos;s internal representation regardless of how it is constructed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644058</commentid>
    <comment_count>7</comment_count>
      <attachid>397128</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-04-21 15:51:59 -0700</bug_when>
    <thetext>Comment on attachment 397128
Patch

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

&gt;&gt;&gt;&gt; Source/WebCore/bindings/js/SerializedScriptValue.cpp:3038
&gt;&gt;&gt;&gt; +            bigInt = bigInt-&gt;rightTrim(m_lexicalGlobalObject-&gt;vm());
&gt;&gt;&gt; 
&gt;&gt;&gt; Wouldn’t it be better for deserialization to *fail* if rightTrim would do anything here?
&gt;&gt; 
&gt;&gt; The only upside I can see of not failing would be that maybe a developer could work around a bug on our end. Overall, I agree with you though.
&gt; 
&gt; My wording would be misleading. Here, what I said wrong is &quot;wrong in terms of internal invariant of JSBigInt&quot;. For example, in this format, we have several ways to represent zero JSBigInt. One is 0 length. One is 1 length, and value is zero. One is 0-length, but sign is true.
&gt; But in JSBigInt layout, we are assuming some invariant in JSBigInt. For example, if JSBigInt is zero, length should be zero, and sign flag should be false.
&gt; This `rightTrim(VM&amp;)` offers the way to canonicalize JSBigInt format even if the input is not holding JSBigInt&apos;s internal invariant.
&gt; I think this direction is better. We should not expose such an internal invariant of JSBigInt in serialization code. This makes JSBigInt implementation free from the format of serialization code.
&gt; Just calling rightTrim correctly canonicalize JSBigInt&apos;s internal representation regardless of how it is constructed.

Let&apos;s consider about adding a new invariant into JSBigInt&apos;s internal format. If we throw an error if serialized format does not meet JSBigInt&apos;s internal invariant, then, we cannot easily modify JSBigInt&apos;s invariant because this serialization format requires backward-compatibility.
On the other hand, if this canonicalizes the generated JSBigInt, then we can freely add new invariants into JSBigInt implementation without considering the serialization format.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644061</commentid>
    <comment_count>8</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-21 15:55:08 -0700</bug_when>
    <thetext>(In reply to Yusuke Suzuki from comment #6)
&gt; I think this direction is better. We should not expose such an internal
&gt; invariant of JSBigInt in serialization code.

OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644062</commentid>
    <comment_count>9</comment_count>
      <attachid>397134</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-04-21 15:56:59 -0700</bug_when>
    <thetext>Created attachment 397134
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644063</commentid>
    <comment_count>10</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-04-21 15:57:14 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #8)
&gt; (In reply to Yusuke Suzuki from comment #6)
&gt; &gt; I think this direction is better. We should not expose such an internal
&gt; &gt; invariant of JSBigInt in serialization code.
&gt; 
&gt; OK.

Thanks!! I&apos;ve updated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644076</commentid>
    <comment_count>11</comment_count>
      <attachid>397134</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2020-04-21 16:13:29 -0700</bug_when>
    <thetext>Comment on attachment 397134
Patch

r=me. I was forgetting that the point of this is to be written to disk. This patch makes sense now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644077</commentid>
    <comment_count>12</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-04-21 16:15:22 -0700</bug_when>
    <thetext>I&apos;ll further add a test using `internals.deserializeBuffer` to test that this canonicalization happens correctly!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644099</commentid>
    <comment_count>13</comment_count>
      <attachid>397143</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-04-21 17:12:14 -0700</bug_when>
    <thetext>Created attachment 397143
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644104</commentid>
    <comment_count>14</comment_count>
      <attachid>397145</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-04-21 17:18:38 -0700</bug_when>
    <thetext>Created attachment 397145
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644163</commentid>
    <comment_count>15</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-04-21 19:36:02 -0700</bug_when>
    <thetext>Committed r260489: &lt;https://trac.webkit.org/changeset/260489&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 397145.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644164</commentid>
    <comment_count>16</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-04-21 19:37:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/62148234&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397119</attachid>
            <date>2020-04-21 14:26:08 -0700</date>
            <delta_ts>2020-04-21 14:42:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210816-20200421142608.patch</filename>
            <type>text/plain</type>
            <size>1930</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwNDQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTM2NWI1NTY2NTA4NThl
MmIwOWIxY2RiZTE2NWRlNWY2MjYxOTEyNy4uODViMTcyYjZkZjgxY2U2MjAyMTU3YzkxOTI1MWM3
NTUyZDZkNDZkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTA0LTIxICBZdXN1
a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgW0pTQ10gQ2FsbCByaWdo
dFRyaW0gdG8gZW5zdXJlIHRoYXQgY29ycnVwdGVkIHNlcmlhbGl6ZWQgZGF0YSBzaG91bGQgbm90
IHByb2R1Y2Ugd3JvbmcgSlNCaWdJbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxMDgxNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIExldCdzIGFzc3VtZSB0aGF0IGRhdGEgaXMgY29ycnVwdGVkLiBJbiB0
aGF0IGNhc2UsIHdlIHNob3VsZCAoMSkgdGhyb3cgYW4gZmFpbHVyZSBpZiBpdCBpcyBkZXRlY3Rl
ZCBvciAoMikgcHJvZHVjZSBhIHJpZ2h0IHZhbHVlIGlmIGl0IGlzIG5vdCBkZXRlY3RlZC4KKyAg
ICAgICAgV2Ugc2hvdWxkIGNhbGwgYEpTQmlnSW50OjpyaWdodFRyaW0oVk0mKWAgd2hlbiBmaW5p
c2hpbmcgSlNCaWdJbnQgZGVzZXJpYWxpemF0aW9uIHRvIGF0IGxlYXN0IGVuc3VyZSB0aGF0ICgy
KS4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDbG9uZURlc2VyaWFsaXplcjo6cmVhZEJpZ0ludCk6CisKIDIwMjAt
MDQtMjEgIFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmlsbGFyQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNjA0MzIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcAppbmRleCA0MDgwYzc2N2E4
MzY1YjlmNzcxMzM0YTc0NDhmZTE2ZTEyMDk3OTk2Li42OTQ4OWQ4YjI1MjE0MWVmZmI3MWYxYjA4
NmIxMzE4NTIzYzRkNGJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9T
ZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKQEAgLTMwMjAsNiArMzAyMCw3IEBAIGNsYXNzIENs
b25lRGVzZXJpYWxpemVyIDogQ2xvbmVCYXNlIHsKICAgICAgICAgICAgIH0KICAgICAgICAgICAg
IGJpZ0ludC0+c2V0RGlnaXQoMCwgZGlnaXQ2NCk7CiAgICAgICAgICAgICBiaWdJbnQtPnNldFNp
Z24oc2lnbik7CisgICAgICAgICAgICBiaWdJbnQgPSBiaWdJbnQtPnJpZ2h0VHJpbShtX2xleGlj
YWxHbG9iYWxPYmplY3QtPnZtKCkpOwogICAgICAgICAgICAgbV9nY0J1ZmZlci5hcHBlbmRXaXRo
Q3Jhc2hPbk92ZXJmbG93KGJpZ0ludCk7CiAgICAgICAgICAgICByZXR1cm4gYmlnSW50OwogICAg
ICAgICB9CkBAIC0zMDU1LDYgKzMwNTYsNyBAQCBjbGFzcyBDbG9uZURlc2VyaWFsaXplciA6IENs
b25lQmFzZSB7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgYmlnSW50LT5zZXRT
aWduKHNpZ24pOworICAgICAgICBiaWdJbnQgPSBiaWdJbnQtPnJpZ2h0VHJpbShtX2xleGljYWxH
bG9iYWxPYmplY3QtPnZtKCkpOwogICAgICAgICBtX2djQnVmZmVyLmFwcGVuZFdpdGhDcmFzaE9u
T3ZlcmZsb3coYmlnSW50KTsKICAgICAgICAgcmV0dXJuIGJpZ0ludDsKICAgICB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397123</attachid>
            <date>2020-04-21 14:42:33 -0700</date>
            <delta_ts>2020-04-21 14:59:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210816-20200421144232.patch</filename>
            <type>text/plain</type>
            <size>8618</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwNDQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
ZTQ3YWMyMmU2MTkxNGYyZjYzNDlmMjM5NzY0MWVlNWRmNWE1OGY3Li4yNDQyYTBhNmQyMTYxMzdm
ZmJlNDk5MDdlNmQ2YWRjMmJkY2U0NTM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAyMC0wNC0yMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIENhbGwgcmlnaHRUcmltIHRvIGVuc3VyZSB0aGF0IGNvcnJ1cHRlZCBzZXJp
YWxpemVkIGRhdGEgc2hvdWxkIG5vdCBwcm9kdWNlIHdyb25nIEpTQmlnSW50IHRvIG1ha2Ugc3Ry
dWN0dXJlZC1jbG9uaW5nIGZvciBKU0JpZ0ludCBtb3JlIHJvYnVzdAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEwODE2CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBydW50aW1lL0pTQmlnSW50Lmg6CisK
IDIwMjAtMDQtMjAgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAg
ICBDaGVjayBTdHJ1Y3R1cmUgYXR0cmlidXRlcyBpbiBPYmplY3QuYXNzaWduIGV4aGF1c3RpdmVs
eQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IGUzNjViNTU2NjUwODU4ZTJiMDliMWNkYmUxNjVkZTVmNjI2MTkxMjcu
LjIyMmQ4ZTc2Zjg2OTE4M2FkZDUxMjVhOGNiNjY5ODAwYzk1OTdkNGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxOCBAQAorMjAyMC0wNC0yMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUu
Y29tPgorCisgICAgICAgIENhbGwgcmlnaHRUcmltIHRvIGVuc3VyZSB0aGF0IGNvcnJ1cHRlZCBz
ZXJpYWxpemVkIGRhdGEgc2hvdWxkIG5vdCBwcm9kdWNlIHdyb25nIEpTQmlnSW50IHRvIG1ha2Ug
c3RydWN0dXJlZC1jbG9uaW5nIGZvciBKU0JpZ0ludCBtb3JlIHJvYnVzdAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEwODE2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTGV0J3MgYXNzdW1lIHRoYXQgdGhl
IHNlcmlhbGl6ZWQgZGF0YSBpcyBjb3JydXB0ZWQuIEluIHRoYXQgY2FzZSwgd2Ugc2hvdWxkICgx
KSB0aHJvdyBhbiBmYWlsdXJlIGlmIGl0IGlzIGRldGVjdGVkIG9yICgyKSBwcm9kdWNlIGEgcmln
aHQgdmFsdWUgaWYgaXQgaXMgbm90IGRldGVjdGVkLgorICAgICAgICBXZSBzaG91bGQgY2FsbCBg
SlNCaWdJbnQ6OnJpZ2h0VHJpbShWTSYpYCB3aGVuIGZpbmlzaGluZyBKU0JpZ0ludCBkZXNlcmlh
bGl6YXRpb24gdG8gYXQgbGVhc3QgZW5zdXJlIHRoYXQgKDIpLgorICAgICAgICBBbmQgd2UgYWxz
byBhZGQgbGVuZ3RoSW5VaW50NjQgPT0gMCBwYXRoIG5vdCB0byBjYWxsIHJpZ2h0VHJpbSB3aGVu
IGl0IGlzIHplcm8uIFRoaXMgbWFrZXMgZGVzZXJpYWxpemF0aW9uIHJvYnVzdCBmb3IgemVyby1s
ZW5ndGggJiBzaWduZWQgY29ycnVwdGVkIEpTQmlnSW50IHplcm8uCisKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2xv
bmVTZXJpYWxpemVyOjpkdW1wQmlnSW50MzJEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkNsb25l
RGVzZXJpYWxpemVyOjpyZWFkQmlnSW50KToKKwogMjAyMC0wNC0yMSAgU2VyZ2lvIFZpbGxhciBT
ZW5pbiAgPHN2aWxsYXJAaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByZXZlcnRp
bmcgcjI2MDQzMi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
QmlnSW50LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JpZ0ludC5oCmluZGV4
IDdkZmJiZmZlNWI3MGNhMTRhYThmMmRjOGZiYzk1M2EzMzJiOWI4MWIuLjYxZjI0YmZlYzEzODQ5
YzRhZmJkZTE4NWUyM2Y0ZWQ5ZDc2NTQ5OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTQmlnSW50LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNCaWdJbnQuaApAQCAtNTksNyArNTksNyBAQCBjbGFzcyBKU0JpZ0ludCBmaW5hbCA6IHB1
YmxpYyBKU0NlbGwgewogICAgIHN0YXRpYyBzaXplX3QgZXN0aW1hdGVkU2l6ZShKU0NlbGwqLCBW
TSYpOwogCiAgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKFZNJiwgSlNHbG9i
YWxPYmplY3QqLCBKU1ZhbHVlIHByb3RvdHlwZSk7Ci0gICAgc3RhdGljIEpTQmlnSW50KiBjcmVh
dGVaZXJvKFZNJik7CisgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIEpTQmlnSW50KiBjcmVh
dGVaZXJvKFZNJik7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIEpTQmlnSW50KiB0cnlD
cmVhdGVXaXRoTGVuZ3RoKEpTR2xvYmFsT2JqZWN0KiwgdW5zaWduZWQgbGVuZ3RoKTsKICAgICBz
dGF0aWMgSlNCaWdJbnQqIGNyZWF0ZVdpdGhMZW5ndGhVbmNoZWNrZWQoVk0mLCB1bnNpZ25lZCBs
ZW5ndGgpOwogCkBAIC0xNTYsNiArMTU2LDcgQEAgY2xhc3MgSlNCaWdJbnQgZmluYWwgOiBwdWJs
aWMgSlNDZWxsIHsKIAogICAgIERpZ2l0IGRpZ2l0KHVuc2lnbmVkKTsKICAgICB2b2lkIHNldERp
Z2l0KHVuc2lnbmVkLCBEaWdpdCk7IC8vIFVzZSBvbmx5IHdoZW4gaW5pdGlhbGl6aW5nLgorICAg
IEpTX0VYUE9SVF9QUklWQVRFIEpTQmlnSW50KiByaWdodFRyaW0oVk0mKTsKIAogcHJpdmF0ZToK
ICAgICBKU0JpZ0ludChWTSYsIFN0cnVjdHVyZSosIERpZ2l0KiwgdW5zaWduZWQgbGVuZ3RoKTsK
QEAgLTI0NCw3ICsyNDUsNiBAQCBjbGFzcyBKU0JpZ0ludCBmaW5hbCA6IHB1YmxpYyBKU0NlbGwg
ewogICAgIHN0YXRpYyBKU0JpZ0ludCogYWxsb2NhdGVGb3IoSlNHbG9iYWxPYmplY3QqLCBWTSYs
IHVuc2lnbmVkIHJhZGl4LCB1bnNpZ25lZCBjaGFyY291bnQpOwogCiAgICAgc3RhdGljIEpTQmln
SW50KiBjb3B5KFZNJiwgSlNCaWdJbnQqIHgpOwotICAgIEpTQmlnSW50KiByaWdodFRyaW0oVk0m
KTsKIAogICAgIHZvaWQgaW5wbGFjZU11bHRpcGx5QWRkKERpZ2l0IG11bHRpcGxpZXIsIERpZ2l0
IHBhcnQpOwogICAgIHN0YXRpYyBKU0JpZ0ludCogYWJzb2x1dGVBZGQoSlNHbG9iYWxPYmplY3Qq
LCBKU0JpZ0ludCogeCwgSlNCaWdJbnQqIHksIGJvb2wgcmVzdWx0U2lnbik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcAppbmRl
eCA0MDgwYzc2N2E4MzY1YjlmNzcxMzM0YTc0NDhmZTE2ZTEyMDk3OTk2Li5iMmJmODhjZGJkYjdl
NzAyZDljZmYxZmE5MzFhM2IzZTczMGY4MTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKQEAgLTgzNSw2ICs4MzUsMTAg
QEAgY2xhc3MgQ2xvbmVTZXJpYWxpemVyIDogQ2xvbmVCYXNlIHsKICAgICB7CiAgICAgICAgIHN0
YXRpY19hc3NlcnQoc2l6ZW9mKHVpbnQ2NF90KSA9PSBzaXplb2YodW5zaWduZWQgbG9uZyBsb25n
KSk7CiAgICAgICAgIHdyaXRlKHN0YXRpY19jYXN0PHVpbnQ4X3Q+KGludGVnZXIgPCAwKSk7Cisg
ICAgICAgIGlmICghaW50ZWdlcikgeworICAgICAgICAgICAgd3JpdGUoc3RhdGljX2Nhc3Q8dWlu
dDMyX3Q+KDApKTsgLy8gTGVuZ3RoLWluLXVpbnQ2NF90CisgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgIH0KICAgICAgICAgd3JpdGUoc3RhdGljX2Nhc3Q8dWludDMyX3Q+KDEpKTsgLy8gTGVu
Z3RoLWluLXVpbnQ2NF90CiAgICAgICAgIGludDY0X3QgdmFsdWUgPSBzdGF0aWNfY2FzdDxpbnQ2
NF90PihpbnRlZ2VyKTsKICAgICAgICAgaWYgKHZhbHVlIDwgMCkKQEAgLTI5OTgsNiArMzAwMiwx
NiBAQCBjbGFzcyBDbG9uZURlc2VyaWFsaXplciA6IENsb25lQmFzZSB7CiAgICAgICAgIHVpbnQz
Ml90IGxlbmd0aEluVWludDY0ID0gMDsKICAgICAgICAgaWYgKCFyZWFkKGxlbmd0aEluVWludDY0
KSkKICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlKCk7CisKKyAgICAgICAgaWYgKCFsZW5ndGhJ
blVpbnQ2NCkgeworI2lmIFVTRShCSUdJTlQzMikKKyAgICAgICAgICAgIHJldHVybiBKU1ZhbHVl
KEpTVmFsdWU6OkpTQmlnSW50MzIsIDApOworI2VuZGlmCisgICAgICAgICAgICBKU0JpZ0ludCog
YmlnSW50ID0gSlNCaWdJbnQ6OmNyZWF0ZVplcm8obV9sZXhpY2FsR2xvYmFsT2JqZWN0LT52bSgp
KTsKKyAgICAgICAgICAgIG1fZ2NCdWZmZXIuYXBwZW5kV2l0aENyYXNoT25PdmVyZmxvdyhiaWdJ
bnQpOworICAgICAgICAgICAgcmV0dXJuIGJpZ0ludDsKKyAgICAgICAgfQorCiAjaWYgVVNFKEJJ
R0lOVDMyKQogICAgICAgICBzdGF0aWNfYXNzZXJ0KHNpemVvZihKU0JpZ0ludDo6RGlnaXQpID09
IHNpemVvZih1aW50NjRfdCkpOwogICAgICAgICBpZiAobGVuZ3RoSW5VaW50NjQgPT0gMSkgewpA
QCAtMzAyMCw2ICszMDM0LDcgQEAgY2xhc3MgQ2xvbmVEZXNlcmlhbGl6ZXIgOiBDbG9uZUJhc2Ug
ewogICAgICAgICAgICAgfQogICAgICAgICAgICAgYmlnSW50LT5zZXREaWdpdCgwLCBkaWdpdDY0
KTsKICAgICAgICAgICAgIGJpZ0ludC0+c2V0U2lnbihzaWduKTsKKyAgICAgICAgICAgIGJpZ0lu
dCA9IGJpZ0ludC0+cmlnaHRUcmltKG1fbGV4aWNhbEdsb2JhbE9iamVjdC0+dm0oKSk7CiAgICAg
ICAgICAgICBtX2djQnVmZmVyLmFwcGVuZFdpdGhDcmFzaE9uT3ZlcmZsb3coYmlnSW50KTsKICAg
ICAgICAgICAgIHJldHVybiBiaWdJbnQ7CiAgICAgICAgIH0KQEAgLTMwNTUsNiArMzA3MCw3IEBA
IGNsYXNzIENsb25lRGVzZXJpYWxpemVyIDogQ2xvbmVCYXNlIHsKICAgICAgICAgICAgIH0KICAg
ICAgICAgfQogICAgICAgICBiaWdJbnQtPnNldFNpZ24oc2lnbik7CisgICAgICAgIGJpZ0ludCA9
IGJpZ0ludC0+cmlnaHRUcmltKG1fbGV4aWNhbEdsb2JhbE9iamVjdC0+dm0oKSk7CiAgICAgICAg
IG1fZ2NCdWZmZXIuYXBwZW5kV2l0aENyYXNoT25PdmVyZmxvdyhiaWdJbnQpOwogICAgICAgICBy
ZXR1cm4gYmlnSW50OwogICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkOTdiYjk0ZGJlZGM0ZjllYmU0NWNlOGZhY2Iw
MDczYmJmYjM3MWM3Li4zMWNhMWMwOGQzM2EzYmM5NTJhYTVmYzEzNmM5NDMyNTVjNTRlYjk0IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjAtMDQtMjEgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtp
QGFwcGxlLmNvbT4KKworICAgICAgICBDYWxsIHJpZ2h0VHJpbSB0byBlbnN1cmUgdGhhdCBjb3Jy
dXB0ZWQgc2VyaWFsaXplZCBkYXRhIHNob3VsZCBub3QgcHJvZHVjZSB3cm9uZyBKU0JpZ0ludCB0
byBtYWtlIHN0cnVjdHVyZWQtY2xvbmluZyBmb3IgSlNCaWdJbnQgbW9yZSByb2J1c3QKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDgxNgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBIZWFwWmVybyBC
aWdJbnQgdGVzdC4KKworICAgICAgICAqIGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1lc3Nh
Z2UtY2xvbmUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZG9tL1dpbmRvdy93aW5kb3ct
cG9zdG1lc3NhZ2UtY2xvbmUuaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvZmFzdC9kb20v
V2luZG93L3dpbmRvdy1wb3N0bWVzc2FnZS1jbG9uZS1leHBlY3RlZC50eHQ6CisKIDIwMjAtMDQt
MjEgIFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmlsbGFyQGlnYWxpYS5jb20+CiAKICAgICAgICAg
VW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNjA0MzIuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9XaW5kb3cvd2luZG93LXBvc3RtZXNzYWdlLWNsb25lLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1lc3NhZ2UtY2xvbmUtZXhwZWN0
ZWQudHh0CmluZGV4IGQ3OWM0MDg4ODc3ZGI2MGQ4ZDlmZWU4NzhlOWNkYWQzNzU2NGM3NjguLjc0
ZDg0OGEwMWM0ZjU4ZjFkNjgxOGJjYjZjZDQzOWMzNmU0YWMyYTIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1lc3NhZ2UtY2xvbmUtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1lc3NhZ2Ut
Y2xvbmUtZXhwZWN0ZWQudHh0CkBAIC0xNCw2ICsxNCw3IEBAIFBBU1M6IGV2ZW50RGF0YSBpcyAx
IG9mIHR5cGUgbnVtYmVyCiBQQVNTOiBldmVudERhdGEgaXMgdHJ1ZSBvZiB0eXBlIGJvb2xlYW4K
IFBBU1M6IGV2ZW50RGF0YSBpcyAxIG9mIHR5cGUgc3RyaW5nCiBQQVNTOiBldmVudERhdGEgaXMg
MCBvZiB0eXBlIGJpZ2ludAorUEFTUzogZXZlbnREYXRhIGlzIDAgb2YgdHlwZSBiaWdpbnQKIFBB
U1M6IGV2ZW50RGF0YSBpcyAtMjAgb2YgdHlwZSBiaWdpbnQKIFBBU1M6IGV2ZW50RGF0YSBpcyA0
Mjk0OTY3Mjk1IG9mIHR5cGUgYmlnaW50CiBQQVNTOiBldmVudERhdGEgaXMgLTQyOTQ5NjcyOTUg
b2YgdHlwZSBiaWdpbnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93
aW5kb3ctcG9zdG1lc3NhZ2UtY2xvbmUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRv
dy93aW5kb3ctcG9zdG1lc3NhZ2UtY2xvbmUuaHRtbAppbmRleCA4YzhjMzM5ZWMwYjRjYmUzMjdh
Y2Q5MmFjMzBiNjE3YWFhZmE2NjQxLi5hZDg3M2JmYmVkMjk4MzVhMzljOTM2NjBmOWU2OTA3YzYx
NWMzODFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXBv
c3RtZXNzYWdlLWNsb25lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dp
bmRvdy1wb3N0bWVzc2FnZS1jbG9uZS5odG1sCkBAIC04LDEyICs4LDE0IEBACiA8c2NyaXB0Pgog
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRlc2NyaXB0aW9uIikuaW5uZXJIVE1MID0gIlRlc3Rz
IHRoYXQgd2UgY2xvbmUgb2JqZWN0IGhpZXJhcmNoaWVzIjsKIAorZ2xvYmFsVGhpcy5oZWFwWmVy
byA9IDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMG4gLSAxMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBuOwogdHJ5UG9zdE1lc3NhZ2UoJ251
bGwnKTsKIHRyeVBvc3RNZXNzYWdlKCd1bmRlZmluZWQnKTsKIHRyeVBvc3RNZXNzYWdlKCcxJyk7
CiB0cnlQb3N0TWVzc2FnZSgndHJ1ZScpOwogdHJ5UG9zdE1lc3NhZ2UoJyIxIicpOwogdHJ5UG9z
dE1lc3NhZ2UoJzBuJyk7Cit0cnlQb3N0TWVzc2FnZSgnZ2xvYmFsVGhpcy5oZWFwWmVybycpOwog
dHJ5UG9zdE1lc3NhZ2UoJy0yMG4nKTsKIHRyeVBvc3RNZXNzYWdlKCc0Mjk0OTY3Mjk1bicpOwog
dHJ5UG9zdE1lc3NhZ2UoJy00Mjk0OTY3Mjk1bicpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ3RrL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1lc3NhZ2UtY2xvbmUtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvZG9tL1dpbmRvdy93aW5k
b3ctcG9zdG1lc3NhZ2UtY2xvbmUtZXhwZWN0ZWQudHh0CmluZGV4IDE1ZGZlNzVlMzVjZGJiOGE5
ZWFkODdjZGQ2ODBjODIzOGNiODgxN2IuLjliOWE1ZDU1N2NlZDIyNDJmNmQxYzk3NjY3OGIxMjU4
ZjhiYTM1OGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2RvbS9X
aW5kb3cvd2luZG93LXBvc3RtZXNzYWdlLWNsb25lLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wb3N0bWVzc2FnZS1jbG9u
ZS1leHBlY3RlZC50eHQKQEAgLTEwLDYgKzEwLDcgQEAgUEFTUzogZXZlbnREYXRhIGlzIDEgb2Yg
dHlwZSBudW1iZXIKIFBBU1M6IGV2ZW50RGF0YSBpcyB0cnVlIG9mIHR5cGUgYm9vbGVhbgogUEFT
UzogZXZlbnREYXRhIGlzIDEgb2YgdHlwZSBzdHJpbmcKIFBBU1M6IGV2ZW50RGF0YSBpcyAwIG9m
IHR5cGUgYmlnaW50CitQQVNTOiBldmVudERhdGEgaXMgMCBvZiB0eXBlIGJpZ2ludAogUEFTUzog
ZXZlbnREYXRhIGlzIC0yMCBvZiB0eXBlIGJpZ2ludAogUEFTUzogZXZlbnREYXRhIGlzIDQyOTQ5
NjcyOTUgb2YgdHlwZSBiaWdpbnQKIFBBU1M6IGV2ZW50RGF0YSBpcyAtNDI5NDk2NzI5NSBvZiB0
eXBlIGJpZ2ludAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397128</attachid>
            <date>2020-04-21 14:59:41 -0700</date>
            <delta_ts>2020-04-21 15:56:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210816-20200421145940.patch</filename>
            <type>text/plain</type>
            <size>8625</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwNDQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
ZTQ3YWMyMmU2MTkxNGYyZjYzNDlmMjM5NzY0MWVlNWRmNWE1OGY3Li4yNDQyYTBhNmQyMTYxMzdm
ZmJlNDk5MDdlNmQ2YWRjMmJkY2U0NTM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAyMC0wNC0yMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIENhbGwgcmlnaHRUcmltIHRvIGVuc3VyZSB0aGF0IGNvcnJ1cHRlZCBzZXJp
YWxpemVkIGRhdGEgc2hvdWxkIG5vdCBwcm9kdWNlIHdyb25nIEpTQmlnSW50IHRvIG1ha2Ugc3Ry
dWN0dXJlZC1jbG9uaW5nIGZvciBKU0JpZ0ludCBtb3JlIHJvYnVzdAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEwODE2CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBydW50aW1lL0pTQmlnSW50Lmg6CisK
IDIwMjAtMDQtMjAgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAg
ICBDaGVjayBTdHJ1Y3R1cmUgYXR0cmlidXRlcyBpbiBPYmplY3QuYXNzaWduIGV4aGF1c3RpdmVs
eQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IGUzNjViNTU2NjUwODU4ZTJiMDliMWNkYmUxNjVkZTVmNjI2MTkxMjcu
LjIyMmQ4ZTc2Zjg2OTE4M2FkZDUxMjVhOGNiNjY5ODAwYzk1OTdkNGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxOCBAQAorMjAyMC0wNC0yMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUu
Y29tPgorCisgICAgICAgIENhbGwgcmlnaHRUcmltIHRvIGVuc3VyZSB0aGF0IGNvcnJ1cHRlZCBz
ZXJpYWxpemVkIGRhdGEgc2hvdWxkIG5vdCBwcm9kdWNlIHdyb25nIEpTQmlnSW50IHRvIG1ha2Ug
c3RydWN0dXJlZC1jbG9uaW5nIGZvciBKU0JpZ0ludCBtb3JlIHJvYnVzdAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEwODE2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTGV0J3MgYXNzdW1lIHRoYXQgdGhl
IHNlcmlhbGl6ZWQgZGF0YSBpcyBjb3JydXB0ZWQuIEluIHRoYXQgY2FzZSwgd2Ugc2hvdWxkICgx
KSB0aHJvdyBhbiBmYWlsdXJlIGlmIGl0IGlzIGRldGVjdGVkIG9yICgyKSBwcm9kdWNlIGEgcmln
aHQgdmFsdWUgaWYgaXQgaXMgbm90IGRldGVjdGVkLgorICAgICAgICBXZSBzaG91bGQgY2FsbCBg
SlNCaWdJbnQ6OnJpZ2h0VHJpbShWTSYpYCB3aGVuIGZpbmlzaGluZyBKU0JpZ0ludCBkZXNlcmlh
bGl6YXRpb24gdG8gYXQgbGVhc3QgZW5zdXJlIHRoYXQgKDIpLgorICAgICAgICBBbmQgd2UgYWxz
byBhZGQgbGVuZ3RoSW5VaW50NjQgPT0gMCBwYXRoIG5vdCB0byBjYWxsIHJpZ2h0VHJpbSB3aGVu
IGl0IGlzIHplcm8uIFRoaXMgbWFrZXMgZGVzZXJpYWxpemF0aW9uIHJvYnVzdCBmb3IgemVyby1s
ZW5ndGggJiBzaWduZWQgY29ycnVwdGVkIEpTQmlnSW50IHplcm8uCisKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2xv
bmVTZXJpYWxpemVyOjpkdW1wQmlnSW50MzJEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkNsb25l
RGVzZXJpYWxpemVyOjpyZWFkQmlnSW50KToKKwogMjAyMC0wNC0yMSAgU2VyZ2lvIFZpbGxhciBT
ZW5pbiAgPHN2aWxsYXJAaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByZXZlcnRp
bmcgcjI2MDQzMi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
QmlnSW50LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JpZ0ludC5oCmluZGV4
IDdkZmJiZmZlNWI3MGNhMTRhYThmMmRjOGZiYzk1M2EzMzJiOWI4MWIuLjYxZjI0YmZlYzEzODQ5
YzRhZmJkZTE4NWUyM2Y0ZWQ5ZDc2NTQ5OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTQmlnSW50LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNCaWdJbnQuaApAQCAtNTksNyArNTksNyBAQCBjbGFzcyBKU0JpZ0ludCBmaW5hbCA6IHB1
YmxpYyBKU0NlbGwgewogICAgIHN0YXRpYyBzaXplX3QgZXN0aW1hdGVkU2l6ZShKU0NlbGwqLCBW
TSYpOwogCiAgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKFZNJiwgSlNHbG9i
YWxPYmplY3QqLCBKU1ZhbHVlIHByb3RvdHlwZSk7Ci0gICAgc3RhdGljIEpTQmlnSW50KiBjcmVh
dGVaZXJvKFZNJik7CisgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIEpTQmlnSW50KiBjcmVh
dGVaZXJvKFZNJik7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIEpTQmlnSW50KiB0cnlD
cmVhdGVXaXRoTGVuZ3RoKEpTR2xvYmFsT2JqZWN0KiwgdW5zaWduZWQgbGVuZ3RoKTsKICAgICBz
dGF0aWMgSlNCaWdJbnQqIGNyZWF0ZVdpdGhMZW5ndGhVbmNoZWNrZWQoVk0mLCB1bnNpZ25lZCBs
ZW5ndGgpOwogCkBAIC0xNTYsNiArMTU2LDcgQEAgY2xhc3MgSlNCaWdJbnQgZmluYWwgOiBwdWJs
aWMgSlNDZWxsIHsKIAogICAgIERpZ2l0IGRpZ2l0KHVuc2lnbmVkKTsKICAgICB2b2lkIHNldERp
Z2l0KHVuc2lnbmVkLCBEaWdpdCk7IC8vIFVzZSBvbmx5IHdoZW4gaW5pdGlhbGl6aW5nLgorICAg
IEpTX0VYUE9SVF9QUklWQVRFIEpTQmlnSW50KiByaWdodFRyaW0oVk0mKTsKIAogcHJpdmF0ZToK
ICAgICBKU0JpZ0ludChWTSYsIFN0cnVjdHVyZSosIERpZ2l0KiwgdW5zaWduZWQgbGVuZ3RoKTsK
QEAgLTI0NCw3ICsyNDUsNiBAQCBjbGFzcyBKU0JpZ0ludCBmaW5hbCA6IHB1YmxpYyBKU0NlbGwg
ewogICAgIHN0YXRpYyBKU0JpZ0ludCogYWxsb2NhdGVGb3IoSlNHbG9iYWxPYmplY3QqLCBWTSYs
IHVuc2lnbmVkIHJhZGl4LCB1bnNpZ25lZCBjaGFyY291bnQpOwogCiAgICAgc3RhdGljIEpTQmln
SW50KiBjb3B5KFZNJiwgSlNCaWdJbnQqIHgpOwotICAgIEpTQmlnSW50KiByaWdodFRyaW0oVk0m
KTsKIAogICAgIHZvaWQgaW5wbGFjZU11bHRpcGx5QWRkKERpZ2l0IG11bHRpcGxpZXIsIERpZ2l0
IHBhcnQpOwogICAgIHN0YXRpYyBKU0JpZ0ludCogYWJzb2x1dGVBZGQoSlNHbG9iYWxPYmplY3Qq
LCBKU0JpZ0ludCogeCwgSlNCaWdJbnQqIHksIGJvb2wgcmVzdWx0U2lnbik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcAppbmRl
eCA0MDgwYzc2N2E4MzY1YjlmNzcxMzM0YTc0NDhmZTE2ZTEyMDk3OTk2Li5jMTEzODQwNmZhYzZl
NDhiZDdkNmZlZTYxMWQ3YzNhMzU0ZmNmYWZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKQEAgLTgzNSw2ICs4MzUsMTAg
QEAgY2xhc3MgQ2xvbmVTZXJpYWxpemVyIDogQ2xvbmVCYXNlIHsKICAgICB7CiAgICAgICAgIHN0
YXRpY19hc3NlcnQoc2l6ZW9mKHVpbnQ2NF90KSA9PSBzaXplb2YodW5zaWduZWQgbG9uZyBsb25n
KSk7CiAgICAgICAgIHdyaXRlKHN0YXRpY19jYXN0PHVpbnQ4X3Q+KGludGVnZXIgPCAwKSk7Cisg
ICAgICAgIGlmICghaW50ZWdlcikgeworICAgICAgICAgICAgd3JpdGUoc3RhdGljX2Nhc3Q8dWlu
dDMyX3Q+KDApKTsgLy8gTGVuZ3RoLWluLXVpbnQ2NF90CisgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgIH0KICAgICAgICAgd3JpdGUoc3RhdGljX2Nhc3Q8dWludDMyX3Q+KDEpKTsgLy8gTGVu
Z3RoLWluLXVpbnQ2NF90CiAgICAgICAgIGludDY0X3QgdmFsdWUgPSBzdGF0aWNfY2FzdDxpbnQ2
NF90PihpbnRlZ2VyKTsKICAgICAgICAgaWYgKHZhbHVlIDwgMCkKQEAgLTI5OTgsNiArMzAwMiwx
NyBAQCBjbGFzcyBDbG9uZURlc2VyaWFsaXplciA6IENsb25lQmFzZSB7CiAgICAgICAgIHVpbnQz
Ml90IGxlbmd0aEluVWludDY0ID0gMDsKICAgICAgICAgaWYgKCFyZWFkKGxlbmd0aEluVWludDY0
KSkKICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlKCk7CisKKyAgICAgICAgaWYgKCFsZW5ndGhJ
blVpbnQ2NCkgeworI2lmIFVTRShCSUdJTlQzMikKKyAgICAgICAgICAgIHJldHVybiBKU1ZhbHVl
KEpTVmFsdWU6OkpTQmlnSW50MzIsIDApOworI2Vsc2UKKyAgICAgICAgICAgIEpTQmlnSW50KiBi
aWdJbnQgPSBKU0JpZ0ludDo6Y3JlYXRlWmVybyhtX2xleGljYWxHbG9iYWxPYmplY3QtPnZtKCkp
OworICAgICAgICAgICAgbV9nY0J1ZmZlci5hcHBlbmRXaXRoQ3Jhc2hPbk92ZXJmbG93KGJpZ0lu
dCk7CisgICAgICAgICAgICByZXR1cm4gYmlnSW50OworI2VuZGlmCisgICAgICAgIH0KKwogI2lm
IFVTRShCSUdJTlQzMikKICAgICAgICAgc3RhdGljX2Fzc2VydChzaXplb2YoSlNCaWdJbnQ6OkRp
Z2l0KSA9PSBzaXplb2YodWludDY0X3QpKTsKICAgICAgICAgaWYgKGxlbmd0aEluVWludDY0ID09
IDEpIHsKQEAgLTMwMjAsNiArMzAzNSw3IEBAIGNsYXNzIENsb25lRGVzZXJpYWxpemVyIDogQ2xv
bmVCYXNlIHsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJpZ0ludC0+c2V0RGlnaXQoMCwg
ZGlnaXQ2NCk7CiAgICAgICAgICAgICBiaWdJbnQtPnNldFNpZ24oc2lnbik7CisgICAgICAgICAg
ICBiaWdJbnQgPSBiaWdJbnQtPnJpZ2h0VHJpbShtX2xleGljYWxHbG9iYWxPYmplY3QtPnZtKCkp
OwogICAgICAgICAgICAgbV9nY0J1ZmZlci5hcHBlbmRXaXRoQ3Jhc2hPbk92ZXJmbG93KGJpZ0lu
dCk7CiAgICAgICAgICAgICByZXR1cm4gYmlnSW50OwogICAgICAgICB9CkBAIC0zMDU1LDYgKzMw
NzEsNyBAQCBjbGFzcyBDbG9uZURlc2VyaWFsaXplciA6IENsb25lQmFzZSB7CiAgICAgICAgICAg
ICB9CiAgICAgICAgIH0KICAgICAgICAgYmlnSW50LT5zZXRTaWduKHNpZ24pOworICAgICAgICBi
aWdJbnQgPSBiaWdJbnQtPnJpZ2h0VHJpbShtX2xleGljYWxHbG9iYWxPYmplY3QtPnZtKCkpOwog
ICAgICAgICBtX2djQnVmZmVyLmFwcGVuZFdpdGhDcmFzaE9uT3ZlcmZsb3coYmlnSW50KTsKICAg
ICAgICAgcmV0dXJuIGJpZ0ludDsKICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZDk3YmI5NGRiZWRjNGY5ZWJlNDVj
ZThmYWNiMDA3M2JiZmIzNzFjNy4uMzFjYTFjMDhkMzNhM2JjOTUyYWE1ZmMxMzZjOTQzMjU1YzU0
ZWI5NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTA0LTIxICBZdXN1a2UgU3V6dWtpICA8
eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgQ2FsbCByaWdodFRyaW0gdG8gZW5zdXJlIHRo
YXQgY29ycnVwdGVkIHNlcmlhbGl6ZWQgZGF0YSBzaG91bGQgbm90IHByb2R1Y2Ugd3JvbmcgSlNC
aWdJbnQgdG8gbWFrZSBzdHJ1Y3R1cmVkLWNsb25pbmcgZm9yIEpTQmlnSW50IG1vcmUgcm9idXN0
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTA4MTYK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgSGVh
cFplcm8gQmlnSW50IHRlc3QuCisKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LXBv
c3RtZXNzYWdlLWNsb25lLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cv
d2luZG93LXBvc3RtZXNzYWdlLWNsb25lLmh0bWw6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL2Zh
c3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1lc3NhZ2UtY2xvbmUtZXhwZWN0ZWQudHh0OgorCiAy
MDIwLTA0LTIxICBTZXJnaW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjYwNDMyLgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wb3N0bWVzc2FnZS1jbG9uZS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXBvc3RtZXNzYWdlLWNsb25l
LWV4cGVjdGVkLnR4dAppbmRleCBkNzljNDA4ODg3N2RiNjBkOGQ5ZmVlODc4ZTljZGFkMzc1NjRj
NzY4Li43NGQ4NDhhMDFjNGY1OGYxZDY4MThiY2I2Y2Q0MzljMzZlNGFjMmEyIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXBvc3RtZXNzYWdlLWNsb25lLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXBvc3Rt
ZXNzYWdlLWNsb25lLWV4cGVjdGVkLnR4dApAQCAtMTQsNiArMTQsNyBAQCBQQVNTOiBldmVudERh
dGEgaXMgMSBvZiB0eXBlIG51bWJlcgogUEFTUzogZXZlbnREYXRhIGlzIHRydWUgb2YgdHlwZSBi
b29sZWFuCiBQQVNTOiBldmVudERhdGEgaXMgMSBvZiB0eXBlIHN0cmluZwogUEFTUzogZXZlbnRE
YXRhIGlzIDAgb2YgdHlwZSBiaWdpbnQKK1BBU1M6IGV2ZW50RGF0YSBpcyAwIG9mIHR5cGUgYmln
aW50CiBQQVNTOiBldmVudERhdGEgaXMgLTIwIG9mIHR5cGUgYmlnaW50CiBQQVNTOiBldmVudERh
dGEgaXMgNDI5NDk2NzI5NSBvZiB0eXBlIGJpZ2ludAogUEFTUzogZXZlbnREYXRhIGlzIC00Mjk0
OTY3Mjk1IG9mIHR5cGUgYmlnaW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9X
aW5kb3cvd2luZG93LXBvc3RtZXNzYWdlLWNsb25lLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9XaW5kb3cvd2luZG93LXBvc3RtZXNzYWdlLWNsb25lLmh0bWwKaW5kZXggOGM4YzMzOWVjMGI0
Y2JlMzI3YWNkOTJhYzMwYjYxN2FhYWZhNjY0MS4uYWQ4NzNiZmJlZDI5ODM1YTM5YzkzNjYwZjll
NjkwN2M2MTVjMzgxZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dp
bmRvdy1wb3N0bWVzc2FnZS1jbG9uZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dp
bmRvdy93aW5kb3ctcG9zdG1lc3NhZ2UtY2xvbmUuaHRtbApAQCAtOCwxMiArOCwxNCBAQAogPHNj
cmlwdD4KIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkZXNjcmlwdGlvbiIpLmlubmVySFRNTCA9
ICJUZXN0cyB0aGF0IHdlIGNsb25lIG9iamVjdCBoaWVyYXJjaGllcyI7CiAKK2dsb2JhbFRoaXMu
aGVhcFplcm8gPSAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBuIC0g
MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwbjsKIHRyeVBvc3RNZXNz
YWdlKCdudWxsJyk7CiB0cnlQb3N0TWVzc2FnZSgndW5kZWZpbmVkJyk7CiB0cnlQb3N0TWVzc2Fn
ZSgnMScpOwogdHJ5UG9zdE1lc3NhZ2UoJ3RydWUnKTsKIHRyeVBvc3RNZXNzYWdlKCciMSInKTsK
IHRyeVBvc3RNZXNzYWdlKCcwbicpOwordHJ5UG9zdE1lc3NhZ2UoJ2dsb2JhbFRoaXMuaGVhcFpl
cm8nKTsKIHRyeVBvc3RNZXNzYWdlKCctMjBuJyk7CiB0cnlQb3N0TWVzc2FnZSgnNDI5NDk2NzI5
NW4nKTsKIHRyeVBvc3RNZXNzYWdlKCctNDI5NDk2NzI5NW4nKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXBvc3RtZXNzYWdlLWNs
b25lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2RvbS9XaW5k
b3cvd2luZG93LXBvc3RtZXNzYWdlLWNsb25lLWV4cGVjdGVkLnR4dAppbmRleCAxNWRmZTc1ZTM1
Y2RiYjhhOWVhZDg3Y2RkNjgwYzgyMzhjYjg4MTdiLi45YjlhNWQ1NTdjZWQyMjQyZjZkMWM5NzY2
NzhiMTI1OGY4YmEzNThmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvZmFz
dC9kb20vV2luZG93L3dpbmRvdy1wb3N0bWVzc2FnZS1jbG9uZS1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1lc3Nh
Z2UtY2xvbmUtZXhwZWN0ZWQudHh0CkBAIC0xMCw2ICsxMCw3IEBAIFBBU1M6IGV2ZW50RGF0YSBp
cyAxIG9mIHR5cGUgbnVtYmVyCiBQQVNTOiBldmVudERhdGEgaXMgdHJ1ZSBvZiB0eXBlIGJvb2xl
YW4KIFBBU1M6IGV2ZW50RGF0YSBpcyAxIG9mIHR5cGUgc3RyaW5nCiBQQVNTOiBldmVudERhdGEg
aXMgMCBvZiB0eXBlIGJpZ2ludAorUEFTUzogZXZlbnREYXRhIGlzIDAgb2YgdHlwZSBiaWdpbnQK
IFBBU1M6IGV2ZW50RGF0YSBpcyAtMjAgb2YgdHlwZSBiaWdpbnQKIFBBU1M6IGV2ZW50RGF0YSBp
cyA0Mjk0OTY3Mjk1IG9mIHR5cGUgYmlnaW50CiBQQVNTOiBldmVudERhdGEgaXMgLTQyOTQ5Njcy
OTUgb2YgdHlwZSBiaWdpbnQK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397134</attachid>
            <date>2020-04-21 15:56:59 -0700</date>
            <delta_ts>2020-04-21 16:13:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210816-20200421155659.patch</filename>
            <type>text/plain</type>
            <size>9169</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwNDY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
MjEzMjU5ODQzYTQ2MTY0ODczM2UwNWJkNGRkYjc5OTQ0MWNiMjRlLi45MGNhYzlhZDZkNzM0YTJh
NzkzZmY4MmJkNzY5N2Y2MDA5NGRlZDk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAyMC0wNC0yMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIENhbm9uaWNhbGl6ZSBKU0JpZ0ludCBnZW5lcmF0ZWQgYnkgc3RydWN0dXJl
ZC1jbG9uaW5nIGJ5IGNhbGxpbmcgcmlnaHRUcmltCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTA4MTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIHJ1bnRpbWUvSlNCaWdJbnQuaDoKKwogMjAyMC0wNC0y
MSAgQWxleGV5IFNodmF5a2EgIDxzaHZhaWthbGVzaEBnbWFpbC5jb20+CiAKICAgICAgICAgY29u
c3RydWN0T2JqZWN0RnJvbVByb3BlcnR5RGVzY3JpcHRvcigpIGlzIGluY29ycmVjdCB3aXRoIHBh
cnRpYWwgZGVzY3JpcHRvcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzNGY2ODk2N2M1ZjgxNmEzNWZlNzRjYTE5
NWJjN2U4ZTYxYzVjZjM4Li4yODhiMGEzZWUyMjJkOTIxMTI4YWYwYjdiZmI2MzEzNTg2NzgxNzIx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMjAtMDQtMjEgIFl1c3VrZSBTdXp1a2kg
IDx5c3V6dWtpQGFwcGxlLmNvbT4KKworICAgICAgICBDYW5vbmljYWxpemUgSlNCaWdJbnQgZ2Vu
ZXJhdGVkIGJ5IHN0cnVjdHVyZWQtY2xvbmluZyBieSBjYWxsaW5nIHJpZ2h0VHJpbQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEwODE2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTGV0J3MgYXNzdW1lIHRo
YXQgdGhlIHNlcmlhbGl6ZWQgZGF0YSBpcyBzbGlnaHRseSBkaWZmZXJlbnQuIEpTQmlnSW50J3Mg
aW50ZXJuYWwgcmVwcmVzZW50YXRpb24gaGFzIHZhcmlvdXMgaW52YXJpYW50cy4gRm9yIGV4YW1w
bGUsIGlmIEpTQmlnSW50IGlzIHplcm8sIGl0IHNob3VsZCBoYXZlIHplcm8gbGVuZ3RoLAorICAg
ICAgICBhbmQgaXRzIHNpZ24gc2hvdWxkIGJlIGZhbHNlLiBCdXQgdGhlcmUgYXJlIHZhcmlvdXMg
d2F5cyBvZiByZXByZXNlbnRpbmcgemVybyBKU0JpZ0ludCBpbiBzZXJpYWxpemF0aW9uIGZvcm1h
dC4gRm9yIGV4YW1wbGUsIHdlIGNhbiBzZXQgc2lnbiA9IHRydWUsIGxlbmd0aCA9IDAuIEN1cnJl
bnQgY29kZSBzdHJvbmdseQorICAgICAgICBhc3N1bWVzIHRoYXQgZHVtcGVkIGRhdGEgbWVldHMg
dGhpcyBKU0JpZ0ludCdzIGludGVybmFsIGludmFyaWFudC4gVGhpcyBpcyBub3QgZ29vZDogZm9y
IGV4YW1wbGUsIGlmIHdlIGFkZCBhIG5ldyBpbnZhcmlhbnQgaW50byBKU0JpZ0ludCwgYWxyZWFk
eSBzZXJpYWxpemVkIGRhdGEgd291bGQgbm90IG1lZXQgdGhpcworICAgICAgICBpbnZhcmlhbnQu
CisgICAgICAgIEluIHRoaXMgcGF0Y2gsIHdlIGNhbGwgYEpTQmlnSW50OjpyaWdodFRyaW0oVk0m
KWAgd2hlbiBmaW5pc2hpbmcgSlNCaWdJbnQgZGVzZXJpYWxpemF0aW9uLiBUaGlzIG1lYW5zIHRo
YXQgd2UgY2Fub25pY2FsaXplIEpTQmlnSW50IHdoZW4gZmluaXNoaW5nIGNyZWF0aW9uLCBhbmQg
dGhpcyBtYWtlcyB0aGlzIHNlcmlhbGl6YXRpb24KKyAgICAgICAgZm9ybWF0IGZyZWUgZnJvbSBK
U0JpZ0ludCdzIGludGVybmFsIGludmFyaWFudHMuIFRoaXMgbWFrZXMgSlNCaWdJbnQgc2VyaWFs
aXphdGlvbi9kZXNlcmlhbGl6YXRpb24gcm9idXN0LiBBbmQgd2UgYWxzbyBhZGQgbGVuZ3RoSW5V
aW50NjQgPT0gMCBwYXRoIG5vdCB0byBjYWxsIHJpZ2h0VHJpbSB3aGVuIGl0IGlzIHplcm8uCisg
ICAgICAgIFRoaXMgbWFrZXMgZGVzZXJpYWxpemF0aW9uIHJvYnVzdCBmb3IgemVyby1sZW5ndGgg
JiBzaWduZWQgY29ycnVwdGVkIEpTQmlnSW50IHplcm8uCisKKyAgICAgICAgKiBiaW5kaW5ncy9q
cy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2xvbmVTZXJp
YWxpemVyOjpkdW1wQmlnSW50MzJEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkNsb25lRGVzZXJp
YWxpemVyOjpyZWFkQmlnSW50KToKKwogMjAyMC0wNC0yMSAgU2ltb24gRnJhc2VyICA8c2ltb24u
ZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBbQXN5bmMgb3ZlcmZsb3cgc2Nyb2xsXSBPdmVy
ZmxvdyB0aGF0J3MgaGlkZGVuIG9uIG9uZSBheGlzIGlzIHNjcm9sbGFibGUgb24gdGhhdCBheGlz
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JpZ0ludC5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCaWdJbnQuaAppbmRleCA3ZGZiYmZmZTVi
NzBjYTE0YWE4ZjJkYzhmYmM5NTNhMzMyYjliODFiLi42MWYyNGJmZWMxMzg0OWM0YWZiZGUxODVl
MjNmNGVkOWQ3NjU0OThlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0JpZ0ludC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQmlnSW50
LmgKQEAgLTU5LDcgKzU5LDcgQEAgY2xhc3MgSlNCaWdJbnQgZmluYWwgOiBwdWJsaWMgSlNDZWxs
IHsKICAgICBzdGF0aWMgc2l6ZV90IGVzdGltYXRlZFNpemUoSlNDZWxsKiwgVk0mKTsKIAogICAg
IHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShWTSYsIEpTR2xvYmFsT2JqZWN0Kiwg
SlNWYWx1ZSBwcm90b3R5cGUpOwotICAgIHN0YXRpYyBKU0JpZ0ludCogY3JlYXRlWmVybyhWTSYp
OworICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBKU0JpZ0ludCogY3JlYXRlWmVybyhWTSYp
OwogICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBKU0JpZ0ludCogdHJ5Q3JlYXRlV2l0aExl
bmd0aChKU0dsb2JhbE9iamVjdCosIHVuc2lnbmVkIGxlbmd0aCk7CiAgICAgc3RhdGljIEpTQmln
SW50KiBjcmVhdGVXaXRoTGVuZ3RoVW5jaGVja2VkKFZNJiwgdW5zaWduZWQgbGVuZ3RoKTsKIApA
QCAtMTU2LDYgKzE1Niw3IEBAIGNsYXNzIEpTQmlnSW50IGZpbmFsIDogcHVibGljIEpTQ2VsbCB7
CiAKICAgICBEaWdpdCBkaWdpdCh1bnNpZ25lZCk7CiAgICAgdm9pZCBzZXREaWdpdCh1bnNpZ25l
ZCwgRGlnaXQpOyAvLyBVc2Ugb25seSB3aGVuIGluaXRpYWxpemluZy4KKyAgICBKU19FWFBPUlRf
UFJJVkFURSBKU0JpZ0ludCogcmlnaHRUcmltKFZNJik7CiAKIHByaXZhdGU6CiAgICAgSlNCaWdJ
bnQoVk0mLCBTdHJ1Y3R1cmUqLCBEaWdpdCosIHVuc2lnbmVkIGxlbmd0aCk7CkBAIC0yNDQsNyAr
MjQ1LDYgQEAgY2xhc3MgSlNCaWdJbnQgZmluYWwgOiBwdWJsaWMgSlNDZWxsIHsKICAgICBzdGF0
aWMgSlNCaWdJbnQqIGFsbG9jYXRlRm9yKEpTR2xvYmFsT2JqZWN0KiwgVk0mLCB1bnNpZ25lZCBy
YWRpeCwgdW5zaWduZWQgY2hhcmNvdW50KTsKIAogICAgIHN0YXRpYyBKU0JpZ0ludCogY29weShW
TSYsIEpTQmlnSW50KiB4KTsKLSAgICBKU0JpZ0ludCogcmlnaHRUcmltKFZNJik7CiAKICAgICB2
b2lkIGlucGxhY2VNdWx0aXBseUFkZChEaWdpdCBtdWx0aXBsaWVyLCBEaWdpdCBwYXJ0KTsKICAg
ICBzdGF0aWMgSlNCaWdJbnQqIGFic29sdXRlQWRkKEpTR2xvYmFsT2JqZWN0KiwgSlNCaWdJbnQq
IHgsIEpTQmlnSW50KiB5LCBib29sIHJlc3VsdFNpZ24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKaW5kZXggNDA4MGM3Njdh
ODM2NWI5Zjc3MTMzNGE3NDQ4ZmUxNmUxMjA5Nzk5Ni4uYzExMzg0MDZmYWM2ZTQ4YmQ3ZDZmZWU2
MTFkN2MzYTM1NGZjZmFmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
U2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCkBAIC04MzUsNiArODM1LDEwIEBAIGNsYXNzIENs
b25lU2VyaWFsaXplciA6IENsb25lQmFzZSB7CiAgICAgewogICAgICAgICBzdGF0aWNfYXNzZXJ0
KHNpemVvZih1aW50NjRfdCkgPT0gc2l6ZW9mKHVuc2lnbmVkIGxvbmcgbG9uZykpOwogICAgICAg
ICB3cml0ZShzdGF0aWNfY2FzdDx1aW50OF90PihpbnRlZ2VyIDwgMCkpOworICAgICAgICBpZiAo
IWludGVnZXIpIHsKKyAgICAgICAgICAgIHdyaXRlKHN0YXRpY19jYXN0PHVpbnQzMl90PigwKSk7
IC8vIExlbmd0aC1pbi11aW50NjRfdAorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAg
ICAgICAgIHdyaXRlKHN0YXRpY19jYXN0PHVpbnQzMl90PigxKSk7IC8vIExlbmd0aC1pbi11aW50
NjRfdAogICAgICAgICBpbnQ2NF90IHZhbHVlID0gc3RhdGljX2Nhc3Q8aW50NjRfdD4oaW50ZWdl
cik7CiAgICAgICAgIGlmICh2YWx1ZSA8IDApCkBAIC0yOTk4LDYgKzMwMDIsMTcgQEAgY2xhc3Mg
Q2xvbmVEZXNlcmlhbGl6ZXIgOiBDbG9uZUJhc2UgewogICAgICAgICB1aW50MzJfdCBsZW5ndGhJ
blVpbnQ2NCA9IDA7CiAgICAgICAgIGlmICghcmVhZChsZW5ndGhJblVpbnQ2NCkpCiAgICAgICAg
ICAgICByZXR1cm4gSlNWYWx1ZSgpOworCisgICAgICAgIGlmICghbGVuZ3RoSW5VaW50NjQpIHsK
KyNpZiBVU0UoQklHSU5UMzIpCisgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZShKU1ZhbHVlOjpK
U0JpZ0ludDMyLCAwKTsKKyNlbHNlCisgICAgICAgICAgICBKU0JpZ0ludCogYmlnSW50ID0gSlNC
aWdJbnQ6OmNyZWF0ZVplcm8obV9sZXhpY2FsR2xvYmFsT2JqZWN0LT52bSgpKTsKKyAgICAgICAg
ICAgIG1fZ2NCdWZmZXIuYXBwZW5kV2l0aENyYXNoT25PdmVyZmxvdyhiaWdJbnQpOworICAgICAg
ICAgICAgcmV0dXJuIGJpZ0ludDsKKyNlbmRpZgorICAgICAgICB9CisKICNpZiBVU0UoQklHSU5U
MzIpCiAgICAgICAgIHN0YXRpY19hc3NlcnQoc2l6ZW9mKEpTQmlnSW50OjpEaWdpdCkgPT0gc2l6
ZW9mKHVpbnQ2NF90KSk7CiAgICAgICAgIGlmIChsZW5ndGhJblVpbnQ2NCA9PSAxKSB7CkBAIC0z
MDIwLDYgKzMwMzUsNyBAQCBjbGFzcyBDbG9uZURlc2VyaWFsaXplciA6IENsb25lQmFzZSB7CiAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICBiaWdJbnQtPnNldERpZ2l0KDAsIGRpZ2l0NjQpOwog
ICAgICAgICAgICAgYmlnSW50LT5zZXRTaWduKHNpZ24pOworICAgICAgICAgICAgYmlnSW50ID0g
YmlnSW50LT5yaWdodFRyaW0obV9sZXhpY2FsR2xvYmFsT2JqZWN0LT52bSgpKTsKICAgICAgICAg
ICAgIG1fZ2NCdWZmZXIuYXBwZW5kV2l0aENyYXNoT25PdmVyZmxvdyhiaWdJbnQpOwogICAgICAg
ICAgICAgcmV0dXJuIGJpZ0ludDsKICAgICAgICAgfQpAQCAtMzA1NSw2ICszMDcxLDcgQEAgY2xh
c3MgQ2xvbmVEZXNlcmlhbGl6ZXIgOiBDbG9uZUJhc2UgewogICAgICAgICAgICAgfQogICAgICAg
ICB9CiAgICAgICAgIGJpZ0ludC0+c2V0U2lnbihzaWduKTsKKyAgICAgICAgYmlnSW50ID0gYmln
SW50LT5yaWdodFRyaW0obV9sZXhpY2FsR2xvYmFsT2JqZWN0LT52bSgpKTsKICAgICAgICAgbV9n
Y0J1ZmZlci5hcHBlbmRXaXRoQ3Jhc2hPbk92ZXJmbG93KGJpZ0ludCk7CiAgICAgICAgIHJldHVy
biBiaWdJbnQ7CiAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGUzNGU0ZjU4Mzk3Yjk3ZGNhNGM2ZjEzNjYzZWU5NmM5
M2U1ZmJhNjQuLjM1MWUzYThhYTkxY2E2OTkwMWE3ZDU0NTZjMzA3YWE0M2ZkODU2MzkgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNiBAQAorMjAyMC0wNC0yMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBw
bGUuY29tPgorCisgICAgICAgIENhbm9uaWNhbGl6ZSBKU0JpZ0ludCBnZW5lcmF0ZWQgYnkgc3Ry
dWN0dXJlZC1jbG9uaW5nIGJ5IGNhbGxpbmcgcmlnaHRUcmltCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTA4MTYKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgSGVhcFplcm8gQmlnSW50IHRlc3QuCisK
KyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LXBvc3RtZXNzYWdlLWNsb25lLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LXBvc3RtZXNzYWdlLWNs
b25lLmh0bWw6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ct
cG9zdG1lc3NhZ2UtY2xvbmUtZXhwZWN0ZWQudHh0OgorCiAyMDIwLTA0LTIxICBTaW1vbiBGcmFz
ZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFtBc3luYyBvdmVyZmxvdyBz
Y3JvbGxdIE92ZXJmbG93IHRoYXQncyBoaWRkZW4gb24gb25lIGF4aXMgaXMgc2Nyb2xsYWJsZSBv
biB0aGF0IGF4aXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5k
b3ctcG9zdG1lc3NhZ2UtY2xvbmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
V2luZG93L3dpbmRvdy1wb3N0bWVzc2FnZS1jbG9uZS1leHBlY3RlZC50eHQKaW5kZXggZDc5YzQw
ODg4NzdkYjYwZDhkOWZlZTg3OGU5Y2RhZDM3NTY0Yzc2OC4uNzRkODQ4YTAxYzRmNThmMWQ2ODE4
YmNiNmNkNDM5YzM2ZTRhYzJhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2lu
ZG93L3dpbmRvdy1wb3N0bWVzc2FnZS1jbG9uZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wb3N0bWVzc2FnZS1jbG9uZS1leHBlY3RlZC50eHQK
QEAgLTE0LDYgKzE0LDcgQEAgUEFTUzogZXZlbnREYXRhIGlzIDEgb2YgdHlwZSBudW1iZXIKIFBB
U1M6IGV2ZW50RGF0YSBpcyB0cnVlIG9mIHR5cGUgYm9vbGVhbgogUEFTUzogZXZlbnREYXRhIGlz
IDEgb2YgdHlwZSBzdHJpbmcKIFBBU1M6IGV2ZW50RGF0YSBpcyAwIG9mIHR5cGUgYmlnaW50CitQ
QVNTOiBldmVudERhdGEgaXMgMCBvZiB0eXBlIGJpZ2ludAogUEFTUzogZXZlbnREYXRhIGlzIC0y
MCBvZiB0eXBlIGJpZ2ludAogUEFTUzogZXZlbnREYXRhIGlzIDQyOTQ5NjcyOTUgb2YgdHlwZSBi
aWdpbnQKIFBBU1M6IGV2ZW50RGF0YSBpcyAtNDI5NDk2NzI5NSBvZiB0eXBlIGJpZ2ludApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wb3N0bWVzc2FnZS1j
bG9uZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wb3N0bWVzc2Fn
ZS1jbG9uZS5odG1sCmluZGV4IDhjOGMzMzllYzBiNGNiZTMyN2FjZDkyYWMzMGI2MTdhYWFmYTY2
NDEuLmFkODczYmZiZWQyOTgzNWEzOWM5MzY2MGY5ZTY5MDdjNjE1YzM4MWYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1lc3NhZ2UtY2xvbmUuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXBvc3RtZXNzYWdlLWNs
b25lLmh0bWwKQEAgLTgsMTIgKzgsMTQgQEAKIDxzY3JpcHQ+CiBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZGVzY3JpcHRpb24iKS5pbm5lckhUTUwgPSAiVGVzdHMgdGhhdCB3ZSBjbG9uZSBvYmpl
Y3QgaGllcmFyY2hpZXMiOwogCitnbG9iYWxUaGlzLmhlYXBaZXJvID0gMTAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwbiAtIDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMG47CiB0cnlQb3N0TWVzc2FnZSgnbnVsbCcpOwogdHJ5UG9zdE1lc3Nh
Z2UoJ3VuZGVmaW5lZCcpOwogdHJ5UG9zdE1lc3NhZ2UoJzEnKTsKIHRyeVBvc3RNZXNzYWdlKCd0
cnVlJyk7CiB0cnlQb3N0TWVzc2FnZSgnIjEiJyk7CiB0cnlQb3N0TWVzc2FnZSgnMG4nKTsKK3Ry
eVBvc3RNZXNzYWdlKCdnbG9iYWxUaGlzLmhlYXBaZXJvJyk7CiB0cnlQb3N0TWVzc2FnZSgnLTIw
bicpOwogdHJ5UG9zdE1lc3NhZ2UoJzQyOTQ5NjcyOTVuJyk7CiB0cnlQb3N0TWVzc2FnZSgnLTQy
OTQ5NjcyOTVuJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvZmFzdC9k
b20vV2luZG93L3dpbmRvdy1wb3N0bWVzc2FnZS1jbG9uZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wb3N0bWVzc2FnZS1jbG9u
ZS1leHBlY3RlZC50eHQKaW5kZXggMTVkZmU3NWUzNWNkYmI4YTllYWQ4N2NkZDY4MGM4MjM4Y2I4
ODE3Yi4uOWI5YTVkNTU3Y2VkMjI0MmY2ZDFjOTc2Njc4YjEyNThmOGJhMzU4ZiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1l
c3NhZ2UtY2xvbmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9m
YXN0L2RvbS9XaW5kb3cvd2luZG93LXBvc3RtZXNzYWdlLWNsb25lLWV4cGVjdGVkLnR4dApAQCAt
MTAsNiArMTAsNyBAQCBQQVNTOiBldmVudERhdGEgaXMgMSBvZiB0eXBlIG51bWJlcgogUEFTUzog
ZXZlbnREYXRhIGlzIHRydWUgb2YgdHlwZSBib29sZWFuCiBQQVNTOiBldmVudERhdGEgaXMgMSBv
ZiB0eXBlIHN0cmluZwogUEFTUzogZXZlbnREYXRhIGlzIDAgb2YgdHlwZSBiaWdpbnQKK1BBU1M6
IGV2ZW50RGF0YSBpcyAwIG9mIHR5cGUgYmlnaW50CiBQQVNTOiBldmVudERhdGEgaXMgLTIwIG9m
IHR5cGUgYmlnaW50CiBQQVNTOiBldmVudERhdGEgaXMgNDI5NDk2NzI5NSBvZiB0eXBlIGJpZ2lu
dAogUEFTUzogZXZlbnREYXRhIGlzIC00Mjk0OTY3Mjk1IG9mIHR5cGUgYmlnaW50Cg==
</data>
<flag name="review"
          id="412549"
          type_id="1"
          status="+"
          setter="keith_miller"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397143</attachid>
            <date>2020-04-21 17:12:14 -0700</date>
            <delta_ts>2020-04-21 17:17:58 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-210816-20200421171213.patch</filename>
            <type>text/plain</type>
            <size>12246</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwNDY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
MjEzMjU5ODQzYTQ2MTY0ODczM2UwNWJkNGRkYjc5OTQ0MWNiMjRlLi4zZDhmNGNhZTllNTZkYjkw
NjFlNDI5NjRhNDJkNTNlZmVkZDhkYjBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAyMC0wNC0yMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIENhbm9uaWNhbGl6ZSBKU0JpZ0ludCBnZW5lcmF0ZWQgYnkgc3RydWN0dXJl
ZC1jbG9uaW5nIGJ5IGNhbGxpbmcgcmlnaHRUcmltCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTA4MTYKKworICAgICAgICBSZXZpZXdlZCBieSBLZWl0
aCBNaWxsZXIgYW5kIERhcmluIEFkbGVyLgorCisgICAgICAgICogcnVudGltZS9KU0JpZ0ludC5o
OgorCiAyMDIwLTA0LTIxICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4K
IAogICAgICAgICBjb25zdHJ1Y3RPYmplY3RGcm9tUHJvcGVydHlEZXNjcmlwdG9yKCkgaXMgaW5j
b3JyZWN0IHdpdGggcGFydGlhbCBkZXNjcmlwdG9ycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDM0ZjY4OTY3YzVm
ODE2YTM1ZmU3NGNhMTk1YmM3ZThlNjFjNWNmMzguLjQ2OTE5NDUyZDVlOTU5ZmVhY2M3N2ZlOWE5
OWYwNmFmNTY2ODEzYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAyMC0wNC0yMSAg
WXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgorCisgICAgICAgIENhbm9uaWNhbGl6
ZSBKU0JpZ0ludCBnZW5lcmF0ZWQgYnkgc3RydWN0dXJlZC1jbG9uaW5nIGJ5IGNhbGxpbmcgcmln
aHRUcmltCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTA4MTYKKworICAgICAgICBSZXZpZXdlZCBieSBLZWl0aCBNaWxsZXIgYW5kIERhcmluIEFkbGVy
LgorCisgICAgICAgIExldCdzIGFzc3VtZSB0aGF0IHRoZSBzZXJpYWxpemVkIGRhdGEgaXMgc2xp
Z2h0bHkgZGlmZmVyZW50LiBKU0JpZ0ludCdzIGludGVybmFsIHJlcHJlc2VudGF0aW9uIGhhcyB2
YXJpb3VzIGludmFyaWFudHMuIEZvciBleGFtcGxlLCBpZiBKU0JpZ0ludCBpcyB6ZXJvLCBpdCBz
aG91bGQgaGF2ZSB6ZXJvIGxlbmd0aCwKKyAgICAgICAgYW5kIGl0cyBzaWduIHNob3VsZCBiZSBm
YWxzZS4gQnV0IHRoZXJlIGFyZSB2YXJpb3VzIHdheXMgb2YgcmVwcmVzZW50aW5nIHplcm8gSlNC
aWdJbnQgaW4gc2VyaWFsaXphdGlvbiBmb3JtYXQuIEZvciBleGFtcGxlLCB3ZSBjYW4gc2V0IHNp
Z24gPSB0cnVlLCBsZW5ndGggPSAwLiBDdXJyZW50IGNvZGUgc3Ryb25nbHkKKyAgICAgICAgYXNz
dW1lcyB0aGF0IGR1bXBlZCBkYXRhIG1lZXRzIHRoaXMgSlNCaWdJbnQncyBpbnRlcm5hbCBpbnZh
cmlhbnQuIFRoaXMgaXMgbm90IGdvb2Q6IGZvciBleGFtcGxlLCBpZiB3ZSBhZGQgYSBuZXcgaW52
YXJpYW50IGludG8gSlNCaWdJbnQsIGFscmVhZHkgc2VyaWFsaXplZCBkYXRhIHdvdWxkIG5vdCBt
ZWV0IHRoaXMKKyAgICAgICAgaW52YXJpYW50LgorICAgICAgICBJbiB0aGlzIHBhdGNoLCB3ZSBj
YWxsIGBKU0JpZ0ludDo6cmlnaHRUcmltKFZNJilgIHdoZW4gZmluaXNoaW5nIEpTQmlnSW50IGRl
c2VyaWFsaXphdGlvbi4gVGhpcyBtZWFucyB0aGF0IHdlIGNhbm9uaWNhbGl6ZSBKU0JpZ0ludCB3
aGVuIGZpbmlzaGluZyBjcmVhdGlvbiwgYW5kIHRoaXMgbWFrZXMgdGhpcyBzZXJpYWxpemF0aW9u
CisgICAgICAgIGZvcm1hdCBmcmVlIGZyb20gSlNCaWdJbnQncyBpbnRlcm5hbCBpbnZhcmlhbnRz
LiBUaGlzIG1ha2VzIEpTQmlnSW50IHNlcmlhbGl6YXRpb24vZGVzZXJpYWxpemF0aW9uIHJvYnVz
dC4gQW5kIHdlIGFsc28gYWRkIGxlbmd0aEluVWludDY0ID09IDAgcGF0aCBub3QgdG8gY2FsbCBy
aWdodFRyaW0gd2hlbiBpdCBpcyB6ZXJvLgorICAgICAgICBUaGlzIG1ha2VzIGRlc2VyaWFsaXph
dGlvbiByb2J1c3QgZm9yIHplcm8tbGVuZ3RoICYgc2lnbmVkIGNvcnJ1cHRlZCBKU0JpZ0ludCB6
ZXJvLgorCisgICAgICAgICogYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNsb25lU2VyaWFsaXplcjo6ZHVtcEJpZ0ludDMyRGF0YSk6Cisg
ICAgICAgIChXZWJDb3JlOjpDbG9uZURlc2VyaWFsaXplcjo6cmVhZEJpZ0ludCk6CisKIDIwMjAt
MDQtMjEgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAg
W0FzeW5jIG92ZXJmbG93IHNjcm9sbF0gT3ZlcmZsb3cgdGhhdCdzIGhpZGRlbiBvbiBvbmUgYXhp
cyBpcyBzY3JvbGxhYmxlIG9uIHRoYXQgYXhpcwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNCaWdJbnQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQmlnSW50LmgKaW5kZXggN2RmYmJmZmU1YjcwY2ExNGFhOGYyZGM4ZmJjOTUzYTMzMmI5Yjgx
Yi4uNjFmMjRiZmVjMTM4NDljNGFmYmRlMTg1ZTIzZjRlZDlkNzY1NDk4ZSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCaWdJbnQuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0JpZ0ludC5oCkBAIC01OSw3ICs1OSw3IEBAIGNsYXNzIEpT
QmlnSW50IGZpbmFsIDogcHVibGljIEpTQ2VsbCB7CiAgICAgc3RhdGljIHNpemVfdCBlc3RpbWF0
ZWRTaXplKEpTQ2VsbCosIFZNJik7CiAKICAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1
Y3R1cmUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTVmFsdWUgcHJvdG90eXBlKTsKLSAgICBzdGF0
aWMgSlNCaWdJbnQqIGNyZWF0ZVplcm8oVk0mKTsKKyAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0
aWMgSlNCaWdJbnQqIGNyZWF0ZVplcm8oVk0mKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0
aWMgSlNCaWdJbnQqIHRyeUNyZWF0ZVdpdGhMZW5ndGgoSlNHbG9iYWxPYmplY3QqLCB1bnNpZ25l
ZCBsZW5ndGgpOwogICAgIHN0YXRpYyBKU0JpZ0ludCogY3JlYXRlV2l0aExlbmd0aFVuY2hlY2tl
ZChWTSYsIHVuc2lnbmVkIGxlbmd0aCk7CiAKQEAgLTE1Niw2ICsxNTYsNyBAQCBjbGFzcyBKU0Jp
Z0ludCBmaW5hbCA6IHB1YmxpYyBKU0NlbGwgewogCiAgICAgRGlnaXQgZGlnaXQodW5zaWduZWQp
OwogICAgIHZvaWQgc2V0RGlnaXQodW5zaWduZWQsIERpZ2l0KTsgLy8gVXNlIG9ubHkgd2hlbiBp
bml0aWFsaXppbmcuCisgICAgSlNfRVhQT1JUX1BSSVZBVEUgSlNCaWdJbnQqIHJpZ2h0VHJpbShW
TSYpOwogCiBwcml2YXRlOgogICAgIEpTQmlnSW50KFZNJiwgU3RydWN0dXJlKiwgRGlnaXQqLCB1
bnNpZ25lZCBsZW5ndGgpOwpAQCAtMjQ0LDcgKzI0NSw2IEBAIGNsYXNzIEpTQmlnSW50IGZpbmFs
IDogcHVibGljIEpTQ2VsbCB7CiAgICAgc3RhdGljIEpTQmlnSW50KiBhbGxvY2F0ZUZvcihKU0ds
b2JhbE9iamVjdCosIFZNJiwgdW5zaWduZWQgcmFkaXgsIHVuc2lnbmVkIGNoYXJjb3VudCk7CiAK
ICAgICBzdGF0aWMgSlNCaWdJbnQqIGNvcHkoVk0mLCBKU0JpZ0ludCogeCk7Ci0gICAgSlNCaWdJ
bnQqIHJpZ2h0VHJpbShWTSYpOwogCiAgICAgdm9pZCBpbnBsYWNlTXVsdGlwbHlBZGQoRGlnaXQg
bXVsdGlwbGllciwgRGlnaXQgcGFydCk7CiAgICAgc3RhdGljIEpTQmlnSW50KiBhYnNvbHV0ZUFk
ZChKU0dsb2JhbE9iamVjdCosIEpTQmlnSW50KiB4LCBKU0JpZ0ludCogeSwgYm9vbCByZXN1bHRT
aWduKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2Ny
aXB0VmFsdWUuY3BwCmluZGV4IDQwODBjNzY3YTgzNjViOWY3NzEzMzRhNzQ0OGZlMTZlMTIwOTc5
OTYuLmMxMTM4NDA2ZmFjNmU0OGJkN2Q2ZmVlNjExZDdjM2EzNTRmY2ZhZmUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcApA
QCAtODM1LDYgKzgzNSwxMCBAQCBjbGFzcyBDbG9uZVNlcmlhbGl6ZXIgOiBDbG9uZUJhc2Ugewog
ICAgIHsKICAgICAgICAgc3RhdGljX2Fzc2VydChzaXplb2YodWludDY0X3QpID09IHNpemVvZih1
bnNpZ25lZCBsb25nIGxvbmcpKTsKICAgICAgICAgd3JpdGUoc3RhdGljX2Nhc3Q8dWludDhfdD4o
aW50ZWdlciA8IDApKTsKKyAgICAgICAgaWYgKCFpbnRlZ2VyKSB7CisgICAgICAgICAgICB3cml0
ZShzdGF0aWNfY2FzdDx1aW50MzJfdD4oMCkpOyAvLyBMZW5ndGgtaW4tdWludDY0X3QKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgfQogICAgICAgICB3cml0ZShzdGF0aWNfY2FzdDx1aW50
MzJfdD4oMSkpOyAvLyBMZW5ndGgtaW4tdWludDY0X3QKICAgICAgICAgaW50NjRfdCB2YWx1ZSA9
IHN0YXRpY19jYXN0PGludDY0X3Q+KGludGVnZXIpOwogICAgICAgICBpZiAodmFsdWUgPCAwKQpA
QCAtMjk5OCw2ICszMDAyLDE3IEBAIGNsYXNzIENsb25lRGVzZXJpYWxpemVyIDogQ2xvbmVCYXNl
IHsKICAgICAgICAgdWludDMyX3QgbGVuZ3RoSW5VaW50NjQgPSAwOwogICAgICAgICBpZiAoIXJl
YWQobGVuZ3RoSW5VaW50NjQpKQogICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWUoKTsKKworICAg
ICAgICBpZiAoIWxlbmd0aEluVWludDY0KSB7CisjaWYgVVNFKEJJR0lOVDMyKQorICAgICAgICAg
ICAgcmV0dXJuIEpTVmFsdWUoSlNWYWx1ZTo6SlNCaWdJbnQzMiwgMCk7CisjZWxzZQorICAgICAg
ICAgICAgSlNCaWdJbnQqIGJpZ0ludCA9IEpTQmlnSW50OjpjcmVhdGVaZXJvKG1fbGV4aWNhbEds
b2JhbE9iamVjdC0+dm0oKSk7CisgICAgICAgICAgICBtX2djQnVmZmVyLmFwcGVuZFdpdGhDcmFz
aE9uT3ZlcmZsb3coYmlnSW50KTsKKyAgICAgICAgICAgIHJldHVybiBiaWdJbnQ7CisjZW5kaWYK
KyAgICAgICAgfQorCiAjaWYgVVNFKEJJR0lOVDMyKQogICAgICAgICBzdGF0aWNfYXNzZXJ0KHNp
emVvZihKU0JpZ0ludDo6RGlnaXQpID09IHNpemVvZih1aW50NjRfdCkpOwogICAgICAgICBpZiAo
bGVuZ3RoSW5VaW50NjQgPT0gMSkgewpAQCAtMzAyMCw2ICszMDM1LDcgQEAgY2xhc3MgQ2xvbmVE
ZXNlcmlhbGl6ZXIgOiBDbG9uZUJhc2UgewogICAgICAgICAgICAgfQogICAgICAgICAgICAgYmln
SW50LT5zZXREaWdpdCgwLCBkaWdpdDY0KTsKICAgICAgICAgICAgIGJpZ0ludC0+c2V0U2lnbihz
aWduKTsKKyAgICAgICAgICAgIGJpZ0ludCA9IGJpZ0ludC0+cmlnaHRUcmltKG1fbGV4aWNhbEds
b2JhbE9iamVjdC0+dm0oKSk7CiAgICAgICAgICAgICBtX2djQnVmZmVyLmFwcGVuZFdpdGhDcmFz
aE9uT3ZlcmZsb3coYmlnSW50KTsKICAgICAgICAgICAgIHJldHVybiBiaWdJbnQ7CiAgICAgICAg
IH0KQEAgLTMwNTUsNiArMzA3MSw3IEBAIGNsYXNzIENsb25lRGVzZXJpYWxpemVyIDogQ2xvbmVC
YXNlIHsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBiaWdJbnQtPnNldFNpZ24o
c2lnbik7CisgICAgICAgIGJpZ0ludCA9IGJpZ0ludC0+cmlnaHRUcmltKG1fbGV4aWNhbEdsb2Jh
bE9iamVjdC0+dm0oKSk7CiAgICAgICAgIG1fZ2NCdWZmZXIuYXBwZW5kV2l0aENyYXNoT25PdmVy
ZmxvdyhiaWdJbnQpOwogICAgICAgICByZXR1cm4gYmlnSW50OwogICAgIH0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlMzRl
NGY1ODM5N2I5N2RjYTRjNmYxMzY2M2VlOTZjOTNlNWZiYTY0Li4zZGZkMjI5Y2UyMTdjZDM2ZjQx
YTNjYjNmODI4NTJkNzE1ZmZhN2VmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjAtMDQtMjEg
IFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KKworICAgICAgICBDYW5vbmljYWxp
emUgSlNCaWdJbnQgZ2VuZXJhdGVkIGJ5IHN0cnVjdHVyZWQtY2xvbmluZyBieSBjYWxsaW5nIHJp
Z2h0VHJpbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjEwODE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgS2VpdGggTWlsbGVyIGFuZCBEYXJpbiBBZGxl
ci4KKworICAgICAgICBBZGQgSGVhcFplcm8gQmlnSW50IHRlc3QuCisKKyAgICAgICAgKiBmYXN0
L2RvbS9XaW5kb3cvd2luZG93LXBvc3RtZXNzYWdlLWNsb25lLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LXBvc3RtZXNzYWdlLWNsb25lLmh0bWw6CisgICAg
ICAgICoganMvZG9tL2JpZ2ludC1jYW5vbmljYWxpemF0aW9uLWluLXN0cnVjdHVyZWQtY2xvbmlu
Zy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGpzL2RvbS9iaWdpbnQtY2Fub25pY2Fs
aXphdGlvbi1pbi1zdHJ1Y3R1cmVkLWNsb25pbmcuaHRtbDogQWRkZWQuCisgICAgICAgICoganMv
ZG9tL3NjcmlwdC10ZXN0cy9iaWdpbnQtY2Fub25pY2FsaXphdGlvbi1pbi1zdHJ1Y3R1cmVkLWNs
b25pbmcuanM6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9mYXN0L2RvbS9XaW5kb3cv
d2luZG93LXBvc3RtZXNzYWdlLWNsb25lLWV4cGVjdGVkLnR4dDoKKwogMjAyMC0wNC0yMSAgU2lt
b24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBbQXN5bmMgb3Zl
cmZsb3cgc2Nyb2xsXSBPdmVyZmxvdyB0aGF0J3MgaGlkZGVuIG9uIG9uZSBheGlzIGlzIHNjcm9s
bGFibGUgb24gdGhhdCBheGlzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5k
b3cvd2luZG93LXBvc3RtZXNzYWdlLWNsb25lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1lc3NhZ2UtY2xvbmUtZXhwZWN0ZWQudHh0CmluZGV4
IGQ3OWM0MDg4ODc3ZGI2MGQ4ZDlmZWU4NzhlOWNkYWQzNzU2NGM3NjguLjc0ZDg0OGEwMWM0ZjU4
ZjFkNjgxOGJjYjZjZDQzOWMzNmU0YWMyYTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1lc3NhZ2UtY2xvbmUtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1lc3NhZ2UtY2xvbmUtZXhwZWN0
ZWQudHh0CkBAIC0xNCw2ICsxNCw3IEBAIFBBU1M6IGV2ZW50RGF0YSBpcyAxIG9mIHR5cGUgbnVt
YmVyCiBQQVNTOiBldmVudERhdGEgaXMgdHJ1ZSBvZiB0eXBlIGJvb2xlYW4KIFBBU1M6IGV2ZW50
RGF0YSBpcyAxIG9mIHR5cGUgc3RyaW5nCiBQQVNTOiBldmVudERhdGEgaXMgMCBvZiB0eXBlIGJp
Z2ludAorUEFTUzogZXZlbnREYXRhIGlzIDAgb2YgdHlwZSBiaWdpbnQKIFBBU1M6IGV2ZW50RGF0
YSBpcyAtMjAgb2YgdHlwZSBiaWdpbnQKIFBBU1M6IGV2ZW50RGF0YSBpcyA0Mjk0OTY3Mjk1IG9m
IHR5cGUgYmlnaW50CiBQQVNTOiBldmVudERhdGEgaXMgLTQyOTQ5NjcyOTUgb2YgdHlwZSBiaWdp
bnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1l
c3NhZ2UtY2xvbmUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcG9z
dG1lc3NhZ2UtY2xvbmUuaHRtbAppbmRleCA4YzhjMzM5ZWMwYjRjYmUzMjdhY2Q5MmFjMzBiNjE3
YWFhZmE2NjQxLi5hZDg3M2JmYmVkMjk4MzVhMzljOTM2NjBmOWU2OTA3YzYxNWMzODFmIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXBvc3RtZXNzYWdlLWNs
b25lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wb3N0bWVz
c2FnZS1jbG9uZS5odG1sCkBAIC04LDEyICs4LDE0IEBACiA8c2NyaXB0PgogZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImRlc2NyaXB0aW9uIikuaW5uZXJIVE1MID0gIlRlc3RzIHRoYXQgd2UgY2xv
bmUgb2JqZWN0IGhpZXJhcmNoaWVzIjsKIAorZ2xvYmFsVGhpcy5oZWFwWmVybyA9IDEwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMG4gLSAxMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBuOwogdHJ5UG9zdE1lc3NhZ2UoJ251bGwnKTsKIHRyeVBv
c3RNZXNzYWdlKCd1bmRlZmluZWQnKTsKIHRyeVBvc3RNZXNzYWdlKCcxJyk7CiB0cnlQb3N0TWVz
c2FnZSgndHJ1ZScpOwogdHJ5UG9zdE1lc3NhZ2UoJyIxIicpOwogdHJ5UG9zdE1lc3NhZ2UoJzBu
Jyk7Cit0cnlQb3N0TWVzc2FnZSgnZ2xvYmFsVGhpcy5oZWFwWmVybycpOwogdHJ5UG9zdE1lc3Nh
Z2UoJy0yMG4nKTsKIHRyeVBvc3RNZXNzYWdlKCc0Mjk0OTY3Mjk1bicpOwogdHJ5UG9zdE1lc3Nh
Z2UoJy00Mjk0OTY3Mjk1bicpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvZG9tL2JpZ2lu
dC1jYW5vbmljYWxpemF0aW9uLWluLXN0cnVjdHVyZWQtY2xvbmluZy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9qcy9kb20vYmlnaW50LWNhbm9uaWNhbGl6YXRpb24taW4tc3RydWN0dXJlZC1j
bG9uaW5nLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZThjZDY3ZGRiOTIxMTYwMmJmNWY0NzEz
YWEyYzcyYWMzZjVlNjU4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9tL2Jp
Z2ludC1jYW5vbmljYWxpemF0aW9uLWluLXN0cnVjdHVyZWQtY2xvbmluZy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMiBAQAorUEFTUyBzZXJpYWxpemVkLmxlbmd0aCBpcyAyNgorUEFTUyBzZXJp
YWxpemVkWzRdIGlzIEJpZ0ludFRhZworUEFTUyByZXN1bHQgaXMgMG4KK1BBU1MgcmVzdWx0ID09
IDAgaXMgdHJ1ZQorUEFTUyBzZXJpYWxpemVkLmxlbmd0aCBpcyAxOAorUEFTUyBzZXJpYWxpemVk
WzRdIGlzIEJpZ0ludFRhZworUEFTUyByZXN1bHQgaXMgMG4KK1BBU1MgcmVzdWx0ID09IDAgaXMg
dHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9iaWdpbnQtY2Fub25pY2FsaXphdGlvbi1p
bi1zdHJ1Y3R1cmVkLWNsb25pbmcuaHRtbCBiL0xheW91dFRlc3RzL2pzL2RvbS9iaWdpbnQtY2Fu
b25pY2FsaXphdGlvbi1pbi1zdHJ1Y3R1cmVkLWNsb25pbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MGM5
OWUwZTk1YjQ0ZmYyNTk3NzA4YzhjYTdlYmU0ZjNkNDg3ZjY5Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvanMvZG9tL2JpZ2ludC1jYW5vbmljYWxpemF0aW9uLWluLXN0cnVjdHVyZWQt
Y2xvbmluZy5odG1sCkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNj
cmlwdCBzcmM9InNjcmlwdC10ZXN0cy9iaWdpbnQtY2Fub25pY2FsaXphdGlvbi1pbi1zdHJ1Y3R1
cmVkLWNsb25pbmcuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvanMvZG9tL3NjcmlwdC10ZXN0cy9iaWdpbnQtY2Fub25pY2FsaXphdGlvbi1p
bi1zdHJ1Y3R1cmVkLWNsb25pbmcuanMgYi9MYXlvdXRUZXN0cy9qcy9kb20vc2NyaXB0LXRlc3Rz
L2JpZ2ludC1jYW5vbmljYWxpemF0aW9uLWluLXN0cnVjdHVyZWQtY2xvbmluZy5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NmY5YjBmNmVmZTcwOGI1MTA1YmJkZDY0MDkwYzgwNmY4ODIyOWM4Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9tL3NjcmlwdC10ZXN0cy9iaWdpbnQtY2Fub25pY2Fs
aXphdGlvbi1pbi1zdHJ1Y3R1cmVkLWNsb25pbmcuanMKQEAgLTAsMCArMSwzNCBAQAorLy8gRXhh
bXBsZSBvZiB0aGUgc2VyaWFsaXplZCBkYXRhLgorLy8gdmFyIGFycmF5ID0gbmV3IFVpbnQ4QXJy
YXkoWworLy8gICAgIDcsIDAsIDAsIDAsCisvLyAgICAgNDcsIC8vIEJpZ0ludAorLy8gICAgIDEs
IC8vIHNpZ25lZAorLy8gICAgIDIsIDAsIDAsIDAsIC8vIGxlbmd0aAorLy8gICAgIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsCisvLyAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKKy8vIF0pOwor
Y29uc3QgQmlnSW50VGFnID0gNDc7CisKK2xldCBzZXJpYWxpemVkID0gbmV3IFVpbnQ4QXJyYXko
aW50ZXJuYWxzLnNlcmlhbGl6ZU9iamVjdCgweGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm
ZmZmbikpOworc2hvdWxkQmUoYHNlcmlhbGl6ZWQubGVuZ3RoYCwgYDI2YCk7CitzaG91bGRCZShg
c2VyaWFsaXplZFs0XWAsIGBCaWdJbnRUYWdgKTsKKy8vIENsZWFyIHBheWxvYWQgd2l0aCB6ZXJv
LgorbGV0IG9mZnNldCA9IDQgKyAxICsgMSArIDQ7Citmb3IgKGxldCBpID0gMDsgaSA8IDE2OyAr
K2kpIHsKKyAgICBzZXJpYWxpemVkW29mZnNldCArIGldID0gMDsKK30KK2xldCByZXN1bHQgPSBp
bnRlcm5hbHMuZGVzZXJpYWxpemVCdWZmZXIoc2VyaWFsaXplZC5idWZmZXIpOworc2hvdWxkQmUo
YHJlc3VsdGAsIGAwbmApOworc2hvdWxkQmVUcnVlKGByZXN1bHQgPT0gMGApOworCisKK3Nlcmlh
bGl6ZWQgPSBuZXcgVWludDhBcnJheShpbnRlcm5hbHMuc2VyaWFsaXplT2JqZWN0KDB4ZmZmZmZm
ZmZuKSk7CitzaG91bGRCZShgc2VyaWFsaXplZC5sZW5ndGhgLCBgMThgKTsKK3Nob3VsZEJlKGBz
ZXJpYWxpemVkWzRdYCwgYEJpZ0ludFRhZ2ApOworLy8gQ2xlYXIgcGF5bG9hZCB3aXRoIHplcm8u
Citmb3IgKGxldCBpID0gMDsgaSA8IDg7ICsraSkgeworICAgIHNlcmlhbGl6ZWRbb2Zmc2V0ICsg
aV0gPSAwOworfQorcmVzdWx0ID0gaW50ZXJuYWxzLmRlc2VyaWFsaXplQnVmZmVyKHNlcmlhbGl6
ZWQuYnVmZmVyKTsKK3Nob3VsZEJlKGByZXN1bHRgLCBgMG5gKTsKK3Nob3VsZEJlVHJ1ZShgcmVz
dWx0ID09IDBgKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2Rv
bS9XaW5kb3cvd2luZG93LXBvc3RtZXNzYWdlLWNsb25lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXBvc3RtZXNzYWdlLWNsb25l
LWV4cGVjdGVkLnR4dAppbmRleCAxNWRmZTc1ZTM1Y2RiYjhhOWVhZDg3Y2RkNjgwYzgyMzhjYjg4
MTdiLi45YjlhNWQ1NTdjZWQyMjQyZjZkMWM5NzY2NzhiMTI1OGY4YmEzNThmIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wb3N0bWVz
c2FnZS1jbG9uZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zh
c3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1lc3NhZ2UtY2xvbmUtZXhwZWN0ZWQudHh0CkBAIC0x
MCw2ICsxMCw3IEBAIFBBU1M6IGV2ZW50RGF0YSBpcyAxIG9mIHR5cGUgbnVtYmVyCiBQQVNTOiBl
dmVudERhdGEgaXMgdHJ1ZSBvZiB0eXBlIGJvb2xlYW4KIFBBU1M6IGV2ZW50RGF0YSBpcyAxIG9m
IHR5cGUgc3RyaW5nCiBQQVNTOiBldmVudERhdGEgaXMgMCBvZiB0eXBlIGJpZ2ludAorUEFTUzog
ZXZlbnREYXRhIGlzIDAgb2YgdHlwZSBiaWdpbnQKIFBBU1M6IGV2ZW50RGF0YSBpcyAtMjAgb2Yg
dHlwZSBiaWdpbnQKIFBBU1M6IGV2ZW50RGF0YSBpcyA0Mjk0OTY3Mjk1IG9mIHR5cGUgYmlnaW50
CiBQQVNTOiBldmVudERhdGEgaXMgLTQyOTQ5NjcyOTUgb2YgdHlwZSBiaWdpbnQK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397145</attachid>
            <date>2020-04-21 17:18:38 -0700</date>
            <delta_ts>2020-04-21 19:36:03 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-210816-20200421171838.patch</filename>
            <type>text/plain</type>
            <size>12215</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwNDY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
MjEzMjU5ODQzYTQ2MTY0ODczM2UwNWJkNGRkYjc5OTQ0MWNiMjRlLi4zZDhmNGNhZTllNTZkYjkw
NjFlNDI5NjRhNDJkNTNlZmVkZDhkYjBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAyMC0wNC0yMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIENhbm9uaWNhbGl6ZSBKU0JpZ0ludCBnZW5lcmF0ZWQgYnkgc3RydWN0dXJl
ZC1jbG9uaW5nIGJ5IGNhbGxpbmcgcmlnaHRUcmltCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTA4MTYKKworICAgICAgICBSZXZpZXdlZCBieSBLZWl0
aCBNaWxsZXIgYW5kIERhcmluIEFkbGVyLgorCisgICAgICAgICogcnVudGltZS9KU0JpZ0ludC5o
OgorCiAyMDIwLTA0LTIxICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4K
IAogICAgICAgICBjb25zdHJ1Y3RPYmplY3RGcm9tUHJvcGVydHlEZXNjcmlwdG9yKCkgaXMgaW5j
b3JyZWN0IHdpdGggcGFydGlhbCBkZXNjcmlwdG9ycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDM0ZjY4OTY3YzVm
ODE2YTM1ZmU3NGNhMTk1YmM3ZThlNjFjNWNmMzguLjQ2OTE5NDUyZDVlOTU5ZmVhY2M3N2ZlOWE5
OWYwNmFmNTY2ODEzYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAyMC0wNC0yMSAg
WXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgorCisgICAgICAgIENhbm9uaWNhbGl6
ZSBKU0JpZ0ludCBnZW5lcmF0ZWQgYnkgc3RydWN0dXJlZC1jbG9uaW5nIGJ5IGNhbGxpbmcgcmln
aHRUcmltCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTA4MTYKKworICAgICAgICBSZXZpZXdlZCBieSBLZWl0aCBNaWxsZXIgYW5kIERhcmluIEFkbGVy
LgorCisgICAgICAgIExldCdzIGFzc3VtZSB0aGF0IHRoZSBzZXJpYWxpemVkIGRhdGEgaXMgc2xp
Z2h0bHkgZGlmZmVyZW50LiBKU0JpZ0ludCdzIGludGVybmFsIHJlcHJlc2VudGF0aW9uIGhhcyB2
YXJpb3VzIGludmFyaWFudHMuIEZvciBleGFtcGxlLCBpZiBKU0JpZ0ludCBpcyB6ZXJvLCBpdCBz
aG91bGQgaGF2ZSB6ZXJvIGxlbmd0aCwKKyAgICAgICAgYW5kIGl0cyBzaWduIHNob3VsZCBiZSBm
YWxzZS4gQnV0IHRoZXJlIGFyZSB2YXJpb3VzIHdheXMgb2YgcmVwcmVzZW50aW5nIHplcm8gSlNC
aWdJbnQgaW4gc2VyaWFsaXphdGlvbiBmb3JtYXQuIEZvciBleGFtcGxlLCB3ZSBjYW4gc2V0IHNp
Z24gPSB0cnVlLCBsZW5ndGggPSAwLiBDdXJyZW50IGNvZGUgc3Ryb25nbHkKKyAgICAgICAgYXNz
dW1lcyB0aGF0IGR1bXBlZCBkYXRhIG1lZXRzIHRoaXMgSlNCaWdJbnQncyBpbnRlcm5hbCBpbnZh
cmlhbnQuIFRoaXMgaXMgbm90IGdvb2Q6IGZvciBleGFtcGxlLCBpZiB3ZSBhZGQgYSBuZXcgaW52
YXJpYW50IGludG8gSlNCaWdJbnQsIGFscmVhZHkgc2VyaWFsaXplZCBkYXRhIHdvdWxkIG5vdCBt
ZWV0IHRoaXMKKyAgICAgICAgaW52YXJpYW50LgorICAgICAgICBJbiB0aGlzIHBhdGNoLCB3ZSBj
YWxsIGBKU0JpZ0ludDo6cmlnaHRUcmltKFZNJilgIHdoZW4gZmluaXNoaW5nIEpTQmlnSW50IGRl
c2VyaWFsaXphdGlvbi4gVGhpcyBtZWFucyB0aGF0IHdlIGNhbm9uaWNhbGl6ZSBKU0JpZ0ludCB3
aGVuIGZpbmlzaGluZyBjcmVhdGlvbiwgYW5kIHRoaXMgbWFrZXMgdGhpcyBzZXJpYWxpemF0aW9u
CisgICAgICAgIGZvcm1hdCBmcmVlIGZyb20gSlNCaWdJbnQncyBpbnRlcm5hbCBpbnZhcmlhbnRz
LiBUaGlzIG1ha2VzIEpTQmlnSW50IHNlcmlhbGl6YXRpb24vZGVzZXJpYWxpemF0aW9uIHJvYnVz
dC4gQW5kIHdlIGFsc28gYWRkIGxlbmd0aEluVWludDY0ID09IDAgcGF0aCBub3QgdG8gY2FsbCBy
aWdodFRyaW0gd2hlbiBpdCBpcyB6ZXJvLgorICAgICAgICBUaGlzIG1ha2VzIGRlc2VyaWFsaXph
dGlvbiByb2J1c3QgZm9yIHplcm8tbGVuZ3RoICYgc2lnbmVkIGNvcnJ1cHRlZCBKU0JpZ0ludCB6
ZXJvLgorCisgICAgICAgICogYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNsb25lU2VyaWFsaXplcjo6ZHVtcEJpZ0ludDMyRGF0YSk6Cisg
ICAgICAgIChXZWJDb3JlOjpDbG9uZURlc2VyaWFsaXplcjo6cmVhZEJpZ0ludCk6CisKIDIwMjAt
MDQtMjEgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAg
W0FzeW5jIG92ZXJmbG93IHNjcm9sbF0gT3ZlcmZsb3cgdGhhdCdzIGhpZGRlbiBvbiBvbmUgYXhp
cyBpcyBzY3JvbGxhYmxlIG9uIHRoYXQgYXhpcwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNCaWdJbnQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQmlnSW50LmgKaW5kZXggN2RmYmJmZmU1YjcwY2ExNGFhOGYyZGM4ZmJjOTUzYTMzMmI5Yjgx
Yi4uNjFmMjRiZmVjMTM4NDljNGFmYmRlMTg1ZTIzZjRlZDlkNzY1NDk4ZSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCaWdJbnQuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0JpZ0ludC5oCkBAIC01OSw3ICs1OSw3IEBAIGNsYXNzIEpT
QmlnSW50IGZpbmFsIDogcHVibGljIEpTQ2VsbCB7CiAgICAgc3RhdGljIHNpemVfdCBlc3RpbWF0
ZWRTaXplKEpTQ2VsbCosIFZNJik7CiAKICAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1
Y3R1cmUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTVmFsdWUgcHJvdG90eXBlKTsKLSAgICBzdGF0
aWMgSlNCaWdJbnQqIGNyZWF0ZVplcm8oVk0mKTsKKyAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0
aWMgSlNCaWdJbnQqIGNyZWF0ZVplcm8oVk0mKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0
aWMgSlNCaWdJbnQqIHRyeUNyZWF0ZVdpdGhMZW5ndGgoSlNHbG9iYWxPYmplY3QqLCB1bnNpZ25l
ZCBsZW5ndGgpOwogICAgIHN0YXRpYyBKU0JpZ0ludCogY3JlYXRlV2l0aExlbmd0aFVuY2hlY2tl
ZChWTSYsIHVuc2lnbmVkIGxlbmd0aCk7CiAKQEAgLTE1Niw2ICsxNTYsNyBAQCBjbGFzcyBKU0Jp
Z0ludCBmaW5hbCA6IHB1YmxpYyBKU0NlbGwgewogCiAgICAgRGlnaXQgZGlnaXQodW5zaWduZWQp
OwogICAgIHZvaWQgc2V0RGlnaXQodW5zaWduZWQsIERpZ2l0KTsgLy8gVXNlIG9ubHkgd2hlbiBp
bml0aWFsaXppbmcuCisgICAgSlNfRVhQT1JUX1BSSVZBVEUgSlNCaWdJbnQqIHJpZ2h0VHJpbShW
TSYpOwogCiBwcml2YXRlOgogICAgIEpTQmlnSW50KFZNJiwgU3RydWN0dXJlKiwgRGlnaXQqLCB1
bnNpZ25lZCBsZW5ndGgpOwpAQCAtMjQ0LDcgKzI0NSw2IEBAIGNsYXNzIEpTQmlnSW50IGZpbmFs
IDogcHVibGljIEpTQ2VsbCB7CiAgICAgc3RhdGljIEpTQmlnSW50KiBhbGxvY2F0ZUZvcihKU0ds
b2JhbE9iamVjdCosIFZNJiwgdW5zaWduZWQgcmFkaXgsIHVuc2lnbmVkIGNoYXJjb3VudCk7CiAK
ICAgICBzdGF0aWMgSlNCaWdJbnQqIGNvcHkoVk0mLCBKU0JpZ0ludCogeCk7Ci0gICAgSlNCaWdJ
bnQqIHJpZ2h0VHJpbShWTSYpOwogCiAgICAgdm9pZCBpbnBsYWNlTXVsdGlwbHlBZGQoRGlnaXQg
bXVsdGlwbGllciwgRGlnaXQgcGFydCk7CiAgICAgc3RhdGljIEpTQmlnSW50KiBhYnNvbHV0ZUFk
ZChKU0dsb2JhbE9iamVjdCosIEpTQmlnSW50KiB4LCBKU0JpZ0ludCogeSwgYm9vbCByZXN1bHRT
aWduKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2Ny
aXB0VmFsdWUuY3BwCmluZGV4IDQwODBjNzY3YTgzNjViOWY3NzEzMzRhNzQ0OGZlMTZlMTIwOTc5
OTYuLmMxMTM4NDA2ZmFjNmU0OGJkN2Q2ZmVlNjExZDdjM2EzNTRmY2ZhZmUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcApA
QCAtODM1LDYgKzgzNSwxMCBAQCBjbGFzcyBDbG9uZVNlcmlhbGl6ZXIgOiBDbG9uZUJhc2Ugewog
ICAgIHsKICAgICAgICAgc3RhdGljX2Fzc2VydChzaXplb2YodWludDY0X3QpID09IHNpemVvZih1
bnNpZ25lZCBsb25nIGxvbmcpKTsKICAgICAgICAgd3JpdGUoc3RhdGljX2Nhc3Q8dWludDhfdD4o
aW50ZWdlciA8IDApKTsKKyAgICAgICAgaWYgKCFpbnRlZ2VyKSB7CisgICAgICAgICAgICB3cml0
ZShzdGF0aWNfY2FzdDx1aW50MzJfdD4oMCkpOyAvLyBMZW5ndGgtaW4tdWludDY0X3QKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgfQogICAgICAgICB3cml0ZShzdGF0aWNfY2FzdDx1aW50
MzJfdD4oMSkpOyAvLyBMZW5ndGgtaW4tdWludDY0X3QKICAgICAgICAgaW50NjRfdCB2YWx1ZSA9
IHN0YXRpY19jYXN0PGludDY0X3Q+KGludGVnZXIpOwogICAgICAgICBpZiAodmFsdWUgPCAwKQpA
QCAtMjk5OCw2ICszMDAyLDE3IEBAIGNsYXNzIENsb25lRGVzZXJpYWxpemVyIDogQ2xvbmVCYXNl
IHsKICAgICAgICAgdWludDMyX3QgbGVuZ3RoSW5VaW50NjQgPSAwOwogICAgICAgICBpZiAoIXJl
YWQobGVuZ3RoSW5VaW50NjQpKQogICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWUoKTsKKworICAg
ICAgICBpZiAoIWxlbmd0aEluVWludDY0KSB7CisjaWYgVVNFKEJJR0lOVDMyKQorICAgICAgICAg
ICAgcmV0dXJuIEpTVmFsdWUoSlNWYWx1ZTo6SlNCaWdJbnQzMiwgMCk7CisjZWxzZQorICAgICAg
ICAgICAgSlNCaWdJbnQqIGJpZ0ludCA9IEpTQmlnSW50OjpjcmVhdGVaZXJvKG1fbGV4aWNhbEds
b2JhbE9iamVjdC0+dm0oKSk7CisgICAgICAgICAgICBtX2djQnVmZmVyLmFwcGVuZFdpdGhDcmFz
aE9uT3ZlcmZsb3coYmlnSW50KTsKKyAgICAgICAgICAgIHJldHVybiBiaWdJbnQ7CisjZW5kaWYK
KyAgICAgICAgfQorCiAjaWYgVVNFKEJJR0lOVDMyKQogICAgICAgICBzdGF0aWNfYXNzZXJ0KHNp
emVvZihKU0JpZ0ludDo6RGlnaXQpID09IHNpemVvZih1aW50NjRfdCkpOwogICAgICAgICBpZiAo
bGVuZ3RoSW5VaW50NjQgPT0gMSkgewpAQCAtMzAyMCw2ICszMDM1LDcgQEAgY2xhc3MgQ2xvbmVE
ZXNlcmlhbGl6ZXIgOiBDbG9uZUJhc2UgewogICAgICAgICAgICAgfQogICAgICAgICAgICAgYmln
SW50LT5zZXREaWdpdCgwLCBkaWdpdDY0KTsKICAgICAgICAgICAgIGJpZ0ludC0+c2V0U2lnbihz
aWduKTsKKyAgICAgICAgICAgIGJpZ0ludCA9IGJpZ0ludC0+cmlnaHRUcmltKG1fbGV4aWNhbEds
b2JhbE9iamVjdC0+dm0oKSk7CiAgICAgICAgICAgICBtX2djQnVmZmVyLmFwcGVuZFdpdGhDcmFz
aE9uT3ZlcmZsb3coYmlnSW50KTsKICAgICAgICAgICAgIHJldHVybiBiaWdJbnQ7CiAgICAgICAg
IH0KQEAgLTMwNTUsNiArMzA3MSw3IEBAIGNsYXNzIENsb25lRGVzZXJpYWxpemVyIDogQ2xvbmVC
YXNlIHsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBiaWdJbnQtPnNldFNpZ24o
c2lnbik7CisgICAgICAgIGJpZ0ludCA9IGJpZ0ludC0+cmlnaHRUcmltKG1fbGV4aWNhbEdsb2Jh
bE9iamVjdC0+dm0oKSk7CiAgICAgICAgIG1fZ2NCdWZmZXIuYXBwZW5kV2l0aENyYXNoT25PdmVy
ZmxvdyhiaWdJbnQpOwogICAgICAgICByZXR1cm4gYmlnSW50OwogICAgIH0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlMzRl
NGY1ODM5N2I5N2RjYTRjNmYxMzY2M2VlOTZjOTNlNWZiYTY0Li4zZGZkMjI5Y2UyMTdjZDM2ZjQx
YTNjYjNmODI4NTJkNzE1ZmZhN2VmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjAtMDQtMjEg
IFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KKworICAgICAgICBDYW5vbmljYWxp
emUgSlNCaWdJbnQgZ2VuZXJhdGVkIGJ5IHN0cnVjdHVyZWQtY2xvbmluZyBieSBjYWxsaW5nIHJp
Z2h0VHJpbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjEwODE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgS2VpdGggTWlsbGVyIGFuZCBEYXJpbiBBZGxl
ci4KKworICAgICAgICBBZGQgSGVhcFplcm8gQmlnSW50IHRlc3QuCisKKyAgICAgICAgKiBmYXN0
L2RvbS9XaW5kb3cvd2luZG93LXBvc3RtZXNzYWdlLWNsb25lLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LXBvc3RtZXNzYWdlLWNsb25lLmh0bWw6CisgICAg
ICAgICoganMvZG9tL2JpZ2ludC1jYW5vbmljYWxpemF0aW9uLWluLXN0cnVjdHVyZWQtY2xvbmlu
Zy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGpzL2RvbS9iaWdpbnQtY2Fub25pY2Fs
aXphdGlvbi1pbi1zdHJ1Y3R1cmVkLWNsb25pbmcuaHRtbDogQWRkZWQuCisgICAgICAgICoganMv
ZG9tL3NjcmlwdC10ZXN0cy9iaWdpbnQtY2Fub25pY2FsaXphdGlvbi1pbi1zdHJ1Y3R1cmVkLWNs
b25pbmcuanM6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9mYXN0L2RvbS9XaW5kb3cv
d2luZG93LXBvc3RtZXNzYWdlLWNsb25lLWV4cGVjdGVkLnR4dDoKKwogMjAyMC0wNC0yMSAgU2lt
b24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBbQXN5bmMgb3Zl
cmZsb3cgc2Nyb2xsXSBPdmVyZmxvdyB0aGF0J3MgaGlkZGVuIG9uIG9uZSBheGlzIGlzIHNjcm9s
bGFibGUgb24gdGhhdCBheGlzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5k
b3cvd2luZG93LXBvc3RtZXNzYWdlLWNsb25lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1lc3NhZ2UtY2xvbmUtZXhwZWN0ZWQudHh0CmluZGV4
IGQ3OWM0MDg4ODc3ZGI2MGQ4ZDlmZWU4NzhlOWNkYWQzNzU2NGM3NjguLjc0ZDg0OGEwMWM0ZjU4
ZjFkNjgxOGJjYjZjZDQzOWMzNmU0YWMyYTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1lc3NhZ2UtY2xvbmUtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1lc3NhZ2UtY2xvbmUtZXhwZWN0
ZWQudHh0CkBAIC0xNCw2ICsxNCw3IEBAIFBBU1M6IGV2ZW50RGF0YSBpcyAxIG9mIHR5cGUgbnVt
YmVyCiBQQVNTOiBldmVudERhdGEgaXMgdHJ1ZSBvZiB0eXBlIGJvb2xlYW4KIFBBU1M6IGV2ZW50
RGF0YSBpcyAxIG9mIHR5cGUgc3RyaW5nCiBQQVNTOiBldmVudERhdGEgaXMgMCBvZiB0eXBlIGJp
Z2ludAorUEFTUzogZXZlbnREYXRhIGlzIDAgb2YgdHlwZSBiaWdpbnQKIFBBU1M6IGV2ZW50RGF0
YSBpcyAtMjAgb2YgdHlwZSBiaWdpbnQKIFBBU1M6IGV2ZW50RGF0YSBpcyA0Mjk0OTY3Mjk1IG9m
IHR5cGUgYmlnaW50CiBQQVNTOiBldmVudERhdGEgaXMgLTQyOTQ5NjcyOTUgb2YgdHlwZSBiaWdp
bnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1l
c3NhZ2UtY2xvbmUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcG9z
dG1lc3NhZ2UtY2xvbmUuaHRtbAppbmRleCA4YzhjMzM5ZWMwYjRjYmUzMjdhY2Q5MmFjMzBiNjE3
YWFhZmE2NjQxLi5hZDg3M2JmYmVkMjk4MzVhMzljOTM2NjBmOWU2OTA3YzYxNWMzODFmIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXBvc3RtZXNzYWdlLWNs
b25lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wb3N0bWVz
c2FnZS1jbG9uZS5odG1sCkBAIC04LDEyICs4LDE0IEBACiA8c2NyaXB0PgogZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImRlc2NyaXB0aW9uIikuaW5uZXJIVE1MID0gIlRlc3RzIHRoYXQgd2UgY2xv
bmUgb2JqZWN0IGhpZXJhcmNoaWVzIjsKIAorZ2xvYmFsVGhpcy5oZWFwWmVybyA9IDEwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMG4gLSAxMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBuOwogdHJ5UG9zdE1lc3NhZ2UoJ251bGwnKTsKIHRyeVBv
c3RNZXNzYWdlKCd1bmRlZmluZWQnKTsKIHRyeVBvc3RNZXNzYWdlKCcxJyk7CiB0cnlQb3N0TWVz
c2FnZSgndHJ1ZScpOwogdHJ5UG9zdE1lc3NhZ2UoJyIxIicpOwogdHJ5UG9zdE1lc3NhZ2UoJzBu
Jyk7Cit0cnlQb3N0TWVzc2FnZSgnZ2xvYmFsVGhpcy5oZWFwWmVybycpOwogdHJ5UG9zdE1lc3Nh
Z2UoJy0yMG4nKTsKIHRyeVBvc3RNZXNzYWdlKCc0Mjk0OTY3Mjk1bicpOwogdHJ5UG9zdE1lc3Nh
Z2UoJy00Mjk0OTY3Mjk1bicpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvZG9tL2JpZ2lu
dC1jYW5vbmljYWxpemF0aW9uLWluLXN0cnVjdHVyZWQtY2xvbmluZy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9qcy9kb20vYmlnaW50LWNhbm9uaWNhbGl6YXRpb24taW4tc3RydWN0dXJlZC1j
bG9uaW5nLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZThjZDY3ZGRiOTIxMTYwMmJmNWY0NzEz
YWEyYzcyYWMzZjVlNjU4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvZG9tL2Jp
Z2ludC1jYW5vbmljYWxpemF0aW9uLWluLXN0cnVjdHVyZWQtY2xvbmluZy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMiBAQAorUEFTUyBzZXJpYWxpemVkLmxlbmd0aCBpcyAyNgorUEFTUyBzZXJp
YWxpemVkWzRdIGlzIEJpZ0ludFRhZworUEFTUyByZXN1bHQgaXMgMG4KK1BBU1MgcmVzdWx0ID09
IDAgaXMgdHJ1ZQorUEFTUyBzZXJpYWxpemVkLmxlbmd0aCBpcyAxOAorUEFTUyBzZXJpYWxpemVk
WzRdIGlzIEJpZ0ludFRhZworUEFTUyByZXN1bHQgaXMgMG4KK1BBU1MgcmVzdWx0ID09IDAgaXMg
dHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9iaWdpbnQtY2Fub25pY2FsaXphdGlvbi1p
bi1zdHJ1Y3R1cmVkLWNsb25pbmcuaHRtbCBiL0xheW91dFRlc3RzL2pzL2RvbS9iaWdpbnQtY2Fu
b25pY2FsaXphdGlvbi1pbi1zdHJ1Y3R1cmVkLWNsb25pbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNmMy
MGU2NmU1OGM5NDI4ZmI3Y2Q1NGZmMjkxYTNmOWU2NjMzNDI0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvanMvZG9tL2JpZ2ludC1jYW5vbmljYWxpemF0aW9uLWluLXN0cnVjdHVyZWQt
Y2xvbmluZy5odG1sCkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2JpZ2ludC1j
YW5vbmljYWxpemF0aW9uLWluLXN0cnVjdHVyZWQtY2xvbmluZy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vc2NyaXB0LXRlc3Rz
L2JpZ2ludC1jYW5vbmljYWxpemF0aW9uLWluLXN0cnVjdHVyZWQtY2xvbmluZy5qcyBiL0xheW91
dFRlc3RzL2pzL2RvbS9zY3JpcHQtdGVzdHMvYmlnaW50LWNhbm9uaWNhbGl6YXRpb24taW4tc3Ry
dWN0dXJlZC1jbG9uaW5nLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2ZjliMGY2ZWZlNzA4YjUxMDViYmRkNjQw
OTBjODA2Zjg4MjI5YzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9kb20vc2Ny
aXB0LXRlc3RzL2JpZ2ludC1jYW5vbmljYWxpemF0aW9uLWluLXN0cnVjdHVyZWQtY2xvbmluZy5q
cwpAQCAtMCwwICsxLDM0IEBACisvLyBFeGFtcGxlIG9mIHRoZSBzZXJpYWxpemVkIGRhdGEuCisv
LyB2YXIgYXJyYXkgPSBuZXcgVWludDhBcnJheShbCisvLyAgICAgNywgMCwgMCwgMCwKKy8vICAg
ICA0NywgLy8gQmlnSW50CisvLyAgICAgMSwgLy8gc2lnbmVkCisvLyAgICAgMiwgMCwgMCwgMCwg
Ly8gbGVuZ3RoCisvLyAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKKy8vICAgICAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLAorLy8gXSk7Citjb25zdCBCaWdJbnRUYWcgPSA0NzsKKworbGV0IHNl
cmlhbGl6ZWQgPSBuZXcgVWludDhBcnJheShpbnRlcm5hbHMuc2VyaWFsaXplT2JqZWN0KDB4ZmZm
ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZuKSk7CitzaG91bGRCZShgc2VyaWFsaXplZC5s
ZW5ndGhgLCBgMjZgKTsKK3Nob3VsZEJlKGBzZXJpYWxpemVkWzRdYCwgYEJpZ0ludFRhZ2ApOwor
Ly8gQ2xlYXIgcGF5bG9hZCB3aXRoIHplcm8uCitsZXQgb2Zmc2V0ID0gNCArIDEgKyAxICsgNDsK
K2ZvciAobGV0IGkgPSAwOyBpIDwgMTY7ICsraSkgeworICAgIHNlcmlhbGl6ZWRbb2Zmc2V0ICsg
aV0gPSAwOworfQorbGV0IHJlc3VsdCA9IGludGVybmFscy5kZXNlcmlhbGl6ZUJ1ZmZlcihzZXJp
YWxpemVkLmJ1ZmZlcik7CitzaG91bGRCZShgcmVzdWx0YCwgYDBuYCk7CitzaG91bGRCZVRydWUo
YHJlc3VsdCA9PSAwYCk7CisKKworc2VyaWFsaXplZCA9IG5ldyBVaW50OEFycmF5KGludGVybmFs
cy5zZXJpYWxpemVPYmplY3QoMHhmZmZmZmZmZm4pKTsKK3Nob3VsZEJlKGBzZXJpYWxpemVkLmxl
bmd0aGAsIGAxOGApOworc2hvdWxkQmUoYHNlcmlhbGl6ZWRbNF1gLCBgQmlnSW50VGFnYCk7Cisv
LyBDbGVhciBwYXlsb2FkIHdpdGggemVyby4KK2ZvciAobGV0IGkgPSAwOyBpIDwgODsgKytpKSB7
CisgICAgc2VyaWFsaXplZFtvZmZzZXQgKyBpXSA9IDA7Cit9CityZXN1bHQgPSBpbnRlcm5hbHMu
ZGVzZXJpYWxpemVCdWZmZXIoc2VyaWFsaXplZC5idWZmZXIpOworc2hvdWxkQmUoYHJlc3VsdGAs
IGAwbmApOworc2hvdWxkQmVUcnVlKGByZXN1bHQgPT0gMGApOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcG9zdG1lc3NhZ2UtY2xv
bmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvZG9tL1dpbmRv
dy93aW5kb3ctcG9zdG1lc3NhZ2UtY2xvbmUtZXhwZWN0ZWQudHh0CmluZGV4IDE1ZGZlNzVlMzVj
ZGJiOGE5ZWFkODdjZGQ2ODBjODIzOGNiODgxN2IuLjliOWE1ZDU1N2NlZDIyNDJmNmQxYzk3NjY3
OGIxMjU4ZjhiYTM1OGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0
L2RvbS9XaW5kb3cvd2luZG93LXBvc3RtZXNzYWdlLWNsb25lLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wb3N0bWVzc2Fn
ZS1jbG9uZS1leHBlY3RlZC50eHQKQEAgLTEwLDYgKzEwLDcgQEAgUEFTUzogZXZlbnREYXRhIGlz
IDEgb2YgdHlwZSBudW1iZXIKIFBBU1M6IGV2ZW50RGF0YSBpcyB0cnVlIG9mIHR5cGUgYm9vbGVh
bgogUEFTUzogZXZlbnREYXRhIGlzIDEgb2YgdHlwZSBzdHJpbmcKIFBBU1M6IGV2ZW50RGF0YSBp
cyAwIG9mIHR5cGUgYmlnaW50CitQQVNTOiBldmVudERhdGEgaXMgMCBvZiB0eXBlIGJpZ2ludAog
UEFTUzogZXZlbnREYXRhIGlzIC0yMCBvZiB0eXBlIGJpZ2ludAogUEFTUzogZXZlbnREYXRhIGlz
IDQyOTQ5NjcyOTUgb2YgdHlwZSBiaWdpbnQKIFBBU1M6IGV2ZW50RGF0YSBpcyAtNDI5NDk2NzI5
NSBvZiB0eXBlIGJpZ2ludAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>