<?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>182829</bug_id>
          
          <creation_ts>2018-02-15 05:44:47 -0800</creation_ts>
          <short_desc>[GStreamer] Push smaller buffers from HTTP source</short_desc>
          <delta_ts>2018-02-18 02:02:46 -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>WebKitGTK</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=162860</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Charlie Turner">cturner</reporter>
          <assigned_to name="Charlie Turner">cturner</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>calvaris</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>pnormand</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1399435</commentid>
    <comment_count>0</comment_count>
    <who name="Charlie Turner">cturner</who>
    <bug_when>2018-02-15 05:44:47 -0800</bug_when>
    <thetext>[GStreamer] Push smaller buffers from HTTP source</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399437</commentid>
    <comment_count>1</comment_count>
      <attachid>333894</attachid>
    <who name="Charlie Turner">cturner</who>
    <bug_when>2018-02-15 05:46:57 -0800</bug_when>
    <thetext>Created attachment 333894
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399445</commentid>
    <comment_count>2</comment_count>
      <attachid>333894</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2018-02-15 06:05:02 -0800</bug_when>
    <thetext>Comment on attachment 333894
Patch

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

&gt; Source/WebCore/ChangeLog:17
&gt; +        Reviewed by NOBODY (OOPS!).

This line normally goes before the explanation, right after the bug url

&gt; Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:35
&gt; +#include &lt;cstdint&gt; // uint64_t and friends, PRIxy

No need to add a comment, I think.

&gt; Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:920
&gt; +        GstBuffer* subBuffer = gst_buffer_copy_region(priv-&gt;buffer.get(), GST_BUFFER_COPY_ALL, currentOffset, currentOffsetSize);

Would it be possible to create the chunks by wrapping existing buffer data instead of copying?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399447</commentid>
    <comment_count>3</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2018-02-15 06:44:58 -0800</bug_when>
    <thetext>I dont&apos;t think this matches souphttpsrc behavior, does it?
IIRC you said the issue is specific to our src element and isn&apos;t exposed when souphttpsrc is used, so I&apos;m a bit confused.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399468</commentid>
    <comment_count>4</comment_count>
    <who name="Charlie Turner">cturner</who>
    <bug_when>2018-02-15 08:43:08 -0800</bug_when>
    <thetext>Thanks for the review,

(In reply to Carlos Garcia Campos from comment #2)
&gt; &gt; Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:920
&gt; &gt; +        GstBuffer* subBuffer = gst_buffer_copy_region(priv-&gt;buffer.get(), GST_BUFFER_COPY_ALL, currentOffset, currentOffsetSize);
&gt; 
&gt; Would it be possible to create the chunks by wrapping existing buffer data
&gt; instead of copying?

The memory blocks should only be getting ref&apos;d rather than actually copied, the function is advertised to avoid full memory copies.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399471</commentid>
    <comment_count>5</comment_count>
    <who name="Charlie Turner">cturner</who>
    <bug_when>2018-02-15 08:47:38 -0800</bug_when>
    <thetext>(In reply to Philippe Normand from comment #3)
&gt; I dont&apos;t think this matches souphttpsrc behavior, does it?
&gt; IIRC you said the issue is specific to our src element and isn&apos;t exposed
&gt; when souphttpsrc is used, so I&apos;m a bit confused.

souphttpsrc&apos;s architecture is quite different to our http src, it inherits  from a basesrc and overrides the create() method, which tells souphttpsrc how many bytes to copy.

However, because our http src is a bin and we need to feed an appsrc with data from WebKit&apos;s networking stack, we don&apos;t have the same hook to override. Instead we just get big blocks of data and seem to need to split it like this to keep the appsrc&apos;s queue with plenty of buffers.

I&apos;m not sure how we can better match souphttp&apos;s behavior when we don&apos;t inherit from the same classes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399478</commentid>
    <comment_count>6</comment_count>
      <attachid>333904</attachid>
    <who name="Charlie Turner">cturner</who>
    <bug_when>2018-02-15 09:01:12 -0800</bug_when>
    <thetext>Created attachment 333904
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399496</commentid>
    <comment_count>7</comment_count>
      <attachid>333912</attachid>
    <who name="Charlie Turner">cturner</who>
    <bug_when>2018-02-15 10:06:03 -0800</bug_when>
    <thetext>Created attachment 333912
Patch

Spelling mistakes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399497</commentid>
    <comment_count>8</comment_count>
      <attachid>333912</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2018-02-15 10:07:10 -0800</bug_when>
    <thetext>Comment on attachment 333912
Patch

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

&gt; Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:931
&gt; +        if (UNLIKELY(ret != GST_FLOW_OK &amp;&amp; ret != GST_FLOW_EOS &amp;&amp; ret != GST_FLOW_FLUSHING))

Why the last condition? It wasn&apos;t in the previous code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399502</commentid>
    <comment_count>9</comment_count>
    <who name="Charlie Turner">cturner</who>
    <bug_when>2018-02-15 10:21:28 -0800</bug_when>
    <thetext>(In reply to Philippe Normand from comment #8)
&gt; Comment on attachment 333912 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=333912&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:931
&gt; &gt; +        if (UNLIKELY(ret != GST_FLOW_OK &amp;&amp; ret != GST_FLOW_EOS &amp;&amp; ret != GST_FLOW_FLUSHING))
&gt; 
&gt; Why the last condition? It wasn&apos;t in the previous code.

This came in from the downstream port I work on; it&apos;s to avoid generating errors after pipeline flushes (like seeking) and instead wait for more data to come in.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399816</commentid>
    <comment_count>10</comment_count>
      <attachid>333912</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2018-02-15 23:42:22 -0800</bug_when>
    <thetext>Comment on attachment 333912
Patch

The log level is too verbose, please consider DEBUG and even TRACE for some messages.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399841</commentid>
    <comment_count>11</comment_count>
      <attachid>333912</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2018-02-16 01:12:51 -0800</bug_when>
    <thetext>Comment on attachment 333912
Patch

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

Ok this is almost ready. I also agree with Xabier&apos;s comment about log verbosity.

&gt; Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:922
&gt; +            GST_ELEMENT_ERROR(src, CORE, FAILED, (&quot;Failed to allocate sub-buffer&quot;), (nullptr));

Add a break here please?

&gt; Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:932
&gt; +            GST_ELEMENT_ERROR(src, CORE, FAILED, (nullptr), (nullptr));

Ditto :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399948</commentid>
    <comment_count>12</comment_count>
    <who name="Charlie Turner">cturner</who>
    <bug_when>2018-02-16 11:18:55 -0800</bug_when>
    <thetext>(In reply to Xabier Rodríguez Calvar from comment #10)
&gt; Comment on attachment 333912 [details]
&gt; Patch
&gt; 
&gt; The log level is too verbose, please consider DEBUG and even TRACE for some
&gt; messages.

But LOG is for more verbose messages that DEBUG according to https://gstreamer.freedesktop.org/documentation/tutorials/basic/debugging-tools.html

The description of LOG seems to fit what I&apos;m logging more closely than either TRACE or DEBUG..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399949</commentid>
    <comment_count>13</comment_count>
      <attachid>334055</attachid>
    <who name="Charlie Turner">cturner</who>
    <bug_when>2018-02-16 11:23:25 -0800</bug_when>
    <thetext>Created attachment 334055
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399975</commentid>
    <comment_count>14</comment_count>
      <attachid>334058</attachid>
    <who name="Charlie Turner">cturner</who>
    <bug_when>2018-02-16 12:22:17 -0800</bug_when>
    <thetext>Created attachment 334058
Patch

Change log messages in loop to TRACE level rather than LOG</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1400218</commentid>
    <comment_count>15</comment_count>
      <attachid>334122</attachid>
    <who name="Charlie Turner">cturner</who>
    <bug_when>2018-02-18 01:26:34 -0800</bug_when>
    <thetext>Created attachment 334122
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1400220</commentid>
    <comment_count>16</comment_count>
      <attachid>334122</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-18 02:02:45 -0800</bug_when>
    <thetext>Comment on attachment 334122
Patch for landing

Clearing flags on attachment: 334122

Committed r228603: &lt;https://trac.webkit.org/changeset/228603&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1400221</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-18 02:02:46 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>333894</attachid>
            <date>2018-02-15 05:46:57 -0800</date>
            <delta_ts>2018-02-15 09:01:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182829-20180215134656.patch</filename>
            <type>text/plain</type>
            <size>5142</size>
            <attacher name="Charlie Turner">cturner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI4NTAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzQ5YzM4MmIyZjAwMTJj
MjQxZjQwNDM2NTIzMzY5NDM5NjYxNmJhMC4uOTIwMGU5NGUzMTNiZjhjMGRhNmFmZGY5ODkyYTM5
MjNlZGFkMzBjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE4LTAyLTE1ICBDaGFy
bGllIFR1cm5lciAgPGN0dXJuZXJAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVyXSBQ
dXNoIHNtYWxsZXIgYnVmZmVycyBmcm9tIEhUVFAgc291cmNlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODI4MjkKKworICAgICAgICBTcGxpdCB0aGUg
cmVjaWV2ZWQgYnVmZmVyIGludG8gc21hbGxlciBidWZmZXJzIG9mIGEgc2l6ZSBjb25zaXN0ZW50
CisgICAgICAgIHdpdGggdGhlIGJhc2VzcmMgKDRLaUIpLiBJdCBpcyBpbXBvcnRhbnQgbm90IHRv
IHB1c2ggbGFyZ2UgYnVmZmVycworICAgICAgICBpbnRvIHRoZSBhcHBzcmMgKHdoZXJlIGxhcmdl
IGlzIHJlbGF0aXZlIHRvIHRoZSBhcHBzcmMncyBjb25maWd1cmVkCisgICAgICAgIGJ5dGUgc2l6
ZSkuIElmIGxhcmdlIGJ1ZmZlcnMgYXJlIHB1c2hlZCwgdGhlbiB3aGVuIHRoZXkgYXJlIGludGVy
bmFsbHkKKyAgICAgICAgZGVxdWV1ZWQgYnkgdGhlIGFwcHNyYywgdGhlIGJ1ZmZlcmluZyBwZXJj
ZW50YWdlIGNhbiBkcmFtYXRpY2FsbHkKKyAgICAgICAgcGx1bWl0IGR1ZSB0byBhIGxhcmdlIGFt
b3VudCBvZiBieXRlcyBiZWluZyByZW1vdmVkIGFmdGVyIGEgcHVzaC4gVGhpcworICAgICAgICBj
YW4gaW4gdHVybiB0cmljayB0aGUgbWVkaWEgcGxheWVyIGludG8gdGhpbmtpbmcgaXQgbmVlZHMg
dG8gYnVmZmVyLAorICAgICAgICBhbmQgdGhlbiBpc3N1aW5nIGEgc3B1cmlvdXMgc2V0IG9mIHBs
YXlpbmctPnBhdXNlZCB0aGVuCisgICAgICAgIHBhdXNlZC0+cGxheWluZyB0cmFuc2l0aW9ucywg
d2hpY2ggYnkgdGhlIHRpbWUgdGhlIGJ1ZmZlcmluZyBsb2dpYworICAgICAgICBjb21wbGV0ZXMs
IGRhdGEgYXJlIGFscmVhZHkgYXZhaWxhYmxlLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1dlYktp
dFdlYlNvdXJjZUdTdHJlYW1lci5jcHA6CisgICAgICAgIChDYWNoZWRSZXNvdXJjZVN0cmVhbWlu
Z0NsaWVudDo6ZGF0YVJlY2VpdmVkKToKKwogMjAxOC0wMi0xNCAgWmFsYW4gQnVqdGFzICA8emFs
YW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtSZW5kZXJUcmVlQnVpbGRlcl0gTW92ZSBSZW5kZXJN
YXRoTUxGZW5jZWQ6OmFkZENoaWxkKCkgdG8gUmVuZGVyVHJlZUJ1aWxkZXIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3Vy
Y2VHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKaW5kZXggN2IyZDI4ODVjNjUwYjNlZTg0
YTIwNzZmMjMxZjBmYTM5Mjk2NGIyYi4uNTgyMWEzMmU4YjFmYjExZTM1MDQwMGVjMWEyNmI5Mzc2
Mjc3OTJiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAK
QEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJSZXNvdXJjZUVycm9yLmgiCiAjaW5jbHVkZSAi
UmVzb3VyY2VSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgorI2luY2x1
ZGUgPGNzdGRpbnQ+IC8vIHVpbnQ2NF90IGFuZCBmcmllbmRzLCBQUkl4eQogI2luY2x1ZGUgPGdz
dC9hcHAvZ3N0YXBwc3JjLmg+CiAjaW5jbHVkZSA8Z3N0L3BidXRpbHMvbWlzc2luZy1wbHVnaW5z
Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgpAQCAtODkyLDcgKzg5Myw4IEBAIHZv
aWQgQ2FjaGVkUmVzb3VyY2VTdHJlYW1pbmdDbGllbnQ6OmRhdGFSZWNlaXZlZChQbGF0Zm9ybU1l
ZGlhUmVzb3VyY2UmLCBjb25zdCBjCiAgICAgZWxzZQogICAgICAgICBnc3RfYnVmZmVyX3NldF9z
aXplKHByaXYtPmJ1ZmZlci5nZXQoKSwgc3RhdGljX2Nhc3Q8Z3NzaXplPihsZW5ndGgpKTsKIAot
ICAgIEdTVF9CVUZGRVJfT0ZGU0VUKHByaXYtPmJ1ZmZlci5nZXQoKSkgPSBwcml2LT5vZmZzZXQ7
CisgICAgdWludDY0X3Qgc3RhcnRpbmdPZmZzZXQgPSBwcml2LT5vZmZzZXQ7CisKICAgICBpZiAo
cHJpdi0+cmVxdWVzdGVkT2Zmc2V0ID09IHByaXYtPm9mZnNldCkKICAgICAgICAgcHJpdi0+cmVx
dWVzdGVkT2Zmc2V0ICs9IGxlbmd0aDsKICAgICBwcml2LT5vZmZzZXQgKz0gbGVuZ3RoOwpAQCAt
OTAyLDExICs5MDQsMzYgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZVN0cmVhbWluZ0NsaWVudDo6ZGF0
YVJlY2VpdmVkKFBsYXRmb3JtTWVkaWFSZXNvdXJjZSYsIGNvbnN0IGMKICAgICAgICAgZ3N0X2Fw
cF9zcmNfc2V0X3NpemUocHJpdi0+YXBwc3JjLCBwcml2LT5vZmZzZXQpOwogICAgICAgICBwcml2
LT5zaXplID0gcHJpdi0+b2Zmc2V0OwogICAgIH0KLSAgICBHU1RfQlVGRkVSX09GRlNFVF9FTkQo
cHJpdi0+YnVmZmVyLmdldCgpKSA9IHByaXYtPm9mZnNldDsKIAotICAgIEdzdEZsb3dSZXR1cm4g
cmV0ID0gZ3N0X2FwcF9zcmNfcHVzaF9idWZmZXIocHJpdi0+YXBwc3JjLCBwcml2LT5idWZmZXIu
bGVha1JlZigpKTsKLSAgICBpZiAocmV0ICE9IEdTVF9GTE9XX09LICYmIHJldCAhPSBHU1RfRkxP
V19FT1MpCi0gICAgICAgIEdTVF9FTEVNRU5UX0VSUk9SKHNyYywgQ09SRSwgRkFJTEVELCAobnVs
bHB0ciksIChudWxscHRyKSk7CisgICAgLy8gTm93IHNwbGl0IHRoZSByZWN2J2QgYnVmZmVyIGlu
dG8gYnVmZmVycyB0aGF0IGFyZSBvZiBhIHNpemUgYmFzZXNyYyBzdWdnZXN0cy4gSXQgaXMgaW1w
b3J0YW50IG5vdAorICAgIC8vIHRvIHB1c2ggYnVmZmVycyB0aGF0IGFyZSB0b28gbGFyZ2UsIG90
aGVyd2lzZSBpbmNvcnJlY3QgYnVmZmVyaW5nIG1lc3NhZ2VzIGNhbiBiZSBzZW50IGZyb20gdGhl
CisgICAgLy8gcGlwZWxpbmUuCisgICAgdWludDY0X3QgYnVmZmVyU2l6ZSA9IGdzdF9idWZmZXJf
Z2V0X3NpemUocHJpdi0+YnVmZmVyLmdldCgpKTsKKyAgICB1aW50NjRfdCBibG9ja1NpemUgPSBz
dGF0aWNfY2FzdDx1aW50NjRfdD4oR1NUX0JBU0VfU1JDX0NBU1QocHJpdi0+YXBwc3JjKS0+Ymxv
Y2tzaXplKTsKKyAgICBBU1NFUlQoYmxvY2tTaXplKTsKKyAgICBHU1RfTE9HX09CSkVDVChzcmMs
ICJTcGxpdHRpbmcgdGhlIHJlY2lldmVkIGJ1ZmZlciBpbnRvICUiIFBSSXU2NCAiIGJsb2NrcyIs
IGJ1ZmZlclNpemUgLyBibG9ja1NpemUpOworICAgIGZvciAodWludDY0X3QgY3VycmVudE9mZnNl
dCA9IDA7IGN1cnJlbnRPZmZzZXQgPCBidWZmZXJTaXplOyBjdXJyZW50T2Zmc2V0ICs9IGJsb2Nr
U2l6ZSkgeworICAgICAgICB1aW50NjRfdCBzdWJCdWZmZXJPZmZzZXQgPSBzdGFydGluZ09mZnNl
dCArIGN1cnJlbnRPZmZzZXQ7CisgICAgICAgIHVpbnQ2NF90IGN1cnJlbnRPZmZzZXRTaXplID0g
c3RkOjptaW4oYmxvY2tTaXplLCBidWZmZXJTaXplIC0gY3VycmVudE9mZnNldCk7CisKKyAgICAg
ICAgR1NUX0xPR19PQkpFQ1Qoc3JjLCAiQ3JlYXRlIHN1Yi1idWZmZXIgZnJvbSBbJSIgUFJJdTY0
ICIsICUiIFBSSXU2NCAiXSIsIGN1cnJlbnRPZmZzZXQsIGN1cnJlbnRPZmZzZXQgKyBjdXJyZW50
T2Zmc2V0U2l6ZSk7CisgICAgICAgIEdzdEJ1ZmZlciogc3ViQnVmZmVyID0gZ3N0X2J1ZmZlcl9j
b3B5X3JlZ2lvbihwcml2LT5idWZmZXIuZ2V0KCksIEdTVF9CVUZGRVJfQ09QWV9BTEwsIGN1cnJl
bnRPZmZzZXQsIGN1cnJlbnRPZmZzZXRTaXplKTsKKyAgICAgICAgaWYgKFVOTElLRUxZKCFzdWJC
dWZmZXIpKQorICAgICAgICAgICAgR1NUX0VMRU1FTlRfRVJST1Ioc3JjLCBDT1JFLCBGQUlMRUQs
ICgiRmFpbGVkIHRvIGFsbG9jYXRlIHN1Yi1idWZmZXIiKSwgKG51bGxwdHIpKTsKKworICAgICAg
ICAvLyBGSVhNRTogRG8gd2UgcmVhbGx5IG5lZWQgdG8gc3BlY2lmeSBidWZmZXIgb2Zmc2V0cz8g
VGhlcmUgZG9lc24ndCBzZWVtIHRvIGJlIGEgdGVzdCB0aGF0IGZhaWxzIHdpdGhvdXQgdGhlbS4K
KyAgICAgICAgR1NUX0JVRkZFUl9PRkZTRVQoc3ViQnVmZmVyKSA9IHN1YkJ1ZmZlck9mZnNldDsK
KyAgICAgICAgR1NUX0JVRkZFUl9PRkZTRVRfRU5EKHN1YkJ1ZmZlcikgPSBzdWJCdWZmZXJPZmZz
ZXQgKyBjdXJyZW50T2Zmc2V0U2l6ZTsKKyAgICAgICAgR1NUX0xPR19PQkpFQ1Qoc3JjLCAiU2V0
IHN1Yi1idWZmZXIgb2Zmc2V0IGJvdW5kcyBbJSIgUFJJdTY0ICIsICUiIFBSSXU2NCAiXSIsIEdT
VF9CVUZGRVJfT0ZGU0VUKHN1YkJ1ZmZlciksIEdTVF9CVUZGRVJfT0ZGU0VUX0VORChzdWJCdWZm
ZXIpKTsKKworICAgICAgICBHU1RfTE9HX09CSkVDVChzcmMsICJQdXNoaW5nIGJ1ZmZlciBvZiBz
aXplICUiIEdfR1NJWkVfRk9STUFUICIgYnl0ZXMiLCBnc3RfYnVmZmVyX2dldF9zaXplKHN1YkJ1
ZmZlcikpOworICAgICAgICBHc3RGbG93UmV0dXJuIHJldCA9IGdzdF9hcHBfc3JjX3B1c2hfYnVm
ZmVyKHByaXYtPmFwcHNyYywgc3ViQnVmZmVyKTsKKworICAgICAgICBpZiAoVU5MSUtFTFkocmV0
ICE9IEdTVF9GTE9XX09LICYmIHJldCAhPSBHU1RfRkxPV19FT1MgJiYgcmV0ICE9IEdTVF9GTE9X
X0ZMVVNISU5HKSkKKyAgICAgICAgICAgIEdTVF9FTEVNRU5UX0VSUk9SKHNyYywgQ09SRSwgRkFJ
TEVELCAobnVsbHB0ciksIChudWxscHRyKSk7CisgICAgfQorCisgICAgcHJpdi0+YnVmZmVyLmNs
ZWFyKCk7CiB9CiAKIHZvaWQgQ2FjaGVkUmVzb3VyY2VTdHJlYW1pbmdDbGllbnQ6OmFjY2Vzc0Nv
bnRyb2xDaGVja0ZhaWxlZChQbGF0Zm9ybU1lZGlhUmVzb3VyY2UmLCBjb25zdCBSZXNvdXJjZUVy
cm9yJiBlcnJvcikK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>333904</attachid>
            <date>2018-02-15 09:01:12 -0800</date>
            <delta_ts>2018-02-15 10:06:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182829-20180215170111.patch</filename>
            <type>text/plain</type>
            <size>4990</size>
            <attacher name="Charlie Turner">cturner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI4NTAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzQ5YzM4MmIyZjAwMTJj
MjQxZjQwNDM2NTIzMzY5NDM5NjYxNmJhMC4uZTdhNTFiOGIwYzU2YTM5M2EwMjJlZTlkYWJlNjgy
Mzg4Y2EzNTFhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE4LTAyLTE1ICBDaGFy
bGllIFR1cm5lciAgPGN0dXJuZXJAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVyXSBQ
dXNoIHNtYWxsZXIgYnVmZmVycyBmcm9tIEhUVFAgc291cmNlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODI4MjkKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTcGxpdCB0aGUgcmVjaWV2ZWQgYnVmZmVyIGlu
dG8gc21hbGxlciBidWZmZXJzIG9mIGEgc2l6ZSBjb25zaXN0ZW50CisgICAgICAgIHdpdGggdGhl
IGJhc2VzcmMgKDRLaUIpLiBJdCBpcyBpbXBvcnRhbnQgbm90IHRvIHB1c2ggbGFyZ2UgYnVmZmVy
cworICAgICAgICBpbnRvIHRoZSBhcHBzcmMgKHdoZXJlIGxhcmdlIGlzIHJlbGF0aXZlIHRvIHRo
ZSBhcHBzcmMncyBjb25maWd1cmVkCisgICAgICAgIGJ5dGUgc2l6ZSkuIElmIGxhcmdlIGJ1ZmZl
cnMgYXJlIHB1c2hlZCwgdGhlbiB3aGVuIHRoZXkgYXJlIGludGVybmFsbHkKKyAgICAgICAgZGVx
dWV1ZWQgYnkgdGhlIGFwcHNyYywgdGhlIGJ1ZmZlcmluZyBwZXJjZW50YWdlIGNhbiBkcmFtYXRp
Y2FsbHkKKyAgICAgICAgcGx1bWl0IGR1ZSB0byBhIGxhcmdlIGFtb3VudCBvZiBieXRlcyBiZWlu
ZyByZW1vdmVkIGFmdGVyIGEgcHVzaC4gVGhpcworICAgICAgICBjYW4gaW4gdHVybiB0cmljayB0
aGUgbWVkaWEgcGxheWVyIGludG8gdGhpbmtpbmcgaXQgbmVlZHMgdG8gYnVmZmVyLAorICAgICAg
ICBhbmQgdGhlbiBpc3N1aW5nIGEgc3B1cmlvdXMgc2V0IG9mIHBsYXlpbmctPnBhdXNlZCB0aGVu
CisgICAgICAgIHBhdXNlZC0+cGxheWluZyB0cmFuc2l0aW9ucywgd2hpY2ggYnkgdGhlIHRpbWUg
dGhlIGJ1ZmZlcmluZyBsb2dpYworICAgICAgICBjb21wbGV0ZXMsIGRhdGEgYXJlIGFscmVhZHkg
YXZhaWxhYmxlLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1dlYktp
dFdlYlNvdXJjZUdTdHJlYW1lci5jcHA6CisgICAgICAgIChDYWNoZWRSZXNvdXJjZVN0cmVhbWlu
Z0NsaWVudDo6ZGF0YVJlY2VpdmVkKToKKwogMjAxOC0wMi0xNCAgWmFsYW4gQnVqdGFzICA8emFs
YW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtSZW5kZXJUcmVlQnVpbGRlcl0gTW92ZSBSZW5kZXJN
YXRoTUxGZW5jZWQ6OmFkZENoaWxkKCkgdG8gUmVuZGVyVHJlZUJ1aWxkZXIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3Vy
Y2VHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKaW5kZXggN2IyZDI4ODVjNjUwYjNlZTg0
YTIwNzZmMjMxZjBmYTM5Mjk2NGIyYi4uMWQ5NjljMjVjYTIxZTdmNDRlZTE2ZWQ3YjE4ZjdhNzc3
NTEzN2QwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAK
QEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJSZXNvdXJjZUVycm9yLmgiCiAjaW5jbHVkZSAi
UmVzb3VyY2VSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgorI2luY2x1
ZGUgPGNzdGRpbnQ+CiAjaW5jbHVkZSA8Z3N0L2FwcC9nc3RhcHBzcmMuaD4KICNpbmNsdWRlIDxn
c3QvcGJ1dGlscy9taXNzaW5nLXBsdWdpbnMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5n
Lmg+CkBAIC04OTIsNyArODkzLDggQEAgdm9pZCBDYWNoZWRSZXNvdXJjZVN0cmVhbWluZ0NsaWVu
dDo6ZGF0YVJlY2VpdmVkKFBsYXRmb3JtTWVkaWFSZXNvdXJjZSYsIGNvbnN0IGMKICAgICBlbHNl
CiAgICAgICAgIGdzdF9idWZmZXJfc2V0X3NpemUocHJpdi0+YnVmZmVyLmdldCgpLCBzdGF0aWNf
Y2FzdDxnc3NpemU+KGxlbmd0aCkpOwogCi0gICAgR1NUX0JVRkZFUl9PRkZTRVQocHJpdi0+YnVm
ZmVyLmdldCgpKSA9IHByaXYtPm9mZnNldDsKKyAgICB1aW50NjRfdCBzdGFydGluZ09mZnNldCA9
IHByaXYtPm9mZnNldDsKKwogICAgIGlmIChwcml2LT5yZXF1ZXN0ZWRPZmZzZXQgPT0gcHJpdi0+
b2Zmc2V0KQogICAgICAgICBwcml2LT5yZXF1ZXN0ZWRPZmZzZXQgKz0gbGVuZ3RoOwogICAgIHBy
aXYtPm9mZnNldCArPSBsZW5ndGg7CkBAIC05MDIsMTEgKzkwNCwzNSBAQCB2b2lkIENhY2hlZFJl
c291cmNlU3RyZWFtaW5nQ2xpZW50OjpkYXRhUmVjZWl2ZWQoUGxhdGZvcm1NZWRpYVJlc291cmNl
JiwgY29uc3QgYwogICAgICAgICBnc3RfYXBwX3NyY19zZXRfc2l6ZShwcml2LT5hcHBzcmMsIHBy
aXYtPm9mZnNldCk7CiAgICAgICAgIHByaXYtPnNpemUgPSBwcml2LT5vZmZzZXQ7CiAgICAgfQot
ICAgIEdTVF9CVUZGRVJfT0ZGU0VUX0VORChwcml2LT5idWZmZXIuZ2V0KCkpID0gcHJpdi0+b2Zm
c2V0OwogCi0gICAgR3N0Rmxvd1JldHVybiByZXQgPSBnc3RfYXBwX3NyY19wdXNoX2J1ZmZlcihw
cml2LT5hcHBzcmMsIHByaXYtPmJ1ZmZlci5sZWFrUmVmKCkpOwotICAgIGlmIChyZXQgIT0gR1NU
X0ZMT1dfT0sgJiYgcmV0ICE9IEdTVF9GTE9XX0VPUykKLSAgICAgICAgR1NUX0VMRU1FTlRfRVJS
T1Ioc3JjLCBDT1JFLCBGQUlMRUQsIChudWxscHRyKSwgKG51bGxwdHIpKTsKKyAgICAvLyBOb3cg
c3BsaXQgdGhlIHJlY3YnZCBidWZmZXIgaW50byBidWZmZXJzIHRoYXQgYXJlIG9mIGEgc2l6ZSBi
YXNlc3JjIHN1Z2dlc3RzLiBJdCBpcyBpbXBvcnRhbnQgbm90CisgICAgLy8gdG8gcHVzaCBidWZm
ZXJzIHRoYXQgYXJlIHRvbyBsYXJnZSwgb3RoZXJ3aXNlIGluY29ycmVjdCBidWZmZXJpbmcgbWVz
c2FnZXMgY2FuIGJlIHNlbnQgZnJvbSB0aGUKKyAgICAvLyBwaXBlbGluZS4KKyAgICB1aW50NjRf
dCBidWZmZXJTaXplID0gZ3N0X2J1ZmZlcl9nZXRfc2l6ZShwcml2LT5idWZmZXIuZ2V0KCkpOwor
ICAgIHVpbnQ2NF90IGJsb2NrU2l6ZSA9IHN0YXRpY19jYXN0PHVpbnQ2NF90PihHU1RfQkFTRV9T
UkNfQ0FTVChwcml2LT5hcHBzcmMpLT5ibG9ja3NpemUpOworICAgIEFTU0VSVChibG9ja1NpemUp
OworICAgIEdTVF9MT0dfT0JKRUNUKHNyYywgIlNwbGl0dGluZyB0aGUgcmVjaWV2ZWQgYnVmZmVy
IGludG8gJSIgUFJJdTY0ICIgYmxvY2tzIiwgYnVmZmVyU2l6ZSAvIGJsb2NrU2l6ZSk7CisgICAg
Zm9yICh1aW50NjRfdCBjdXJyZW50T2Zmc2V0ID0gMDsgY3VycmVudE9mZnNldCA8IGJ1ZmZlclNp
emU7IGN1cnJlbnRPZmZzZXQgKz0gYmxvY2tTaXplKSB7CisgICAgICAgIHVpbnQ2NF90IHN1YkJ1
ZmZlck9mZnNldCA9IHN0YXJ0aW5nT2Zmc2V0ICsgY3VycmVudE9mZnNldDsKKyAgICAgICAgdWlu
dDY0X3QgY3VycmVudE9mZnNldFNpemUgPSBzdGQ6Om1pbihibG9ja1NpemUsIGJ1ZmZlclNpemUg
LSBjdXJyZW50T2Zmc2V0KTsKKworICAgICAgICBHU1RfTE9HX09CSkVDVChzcmMsICJDcmVhdGUg
c3ViLWJ1ZmZlciBmcm9tIFslIiBQUkl1NjQgIiwgJSIgUFJJdTY0ICJdIiwgY3VycmVudE9mZnNl
dCwgY3VycmVudE9mZnNldCArIGN1cnJlbnRPZmZzZXRTaXplKTsKKyAgICAgICAgR3N0QnVmZmVy
KiBzdWJCdWZmZXIgPSBnc3RfYnVmZmVyX2NvcHlfcmVnaW9uKHByaXYtPmJ1ZmZlci5nZXQoKSwg
R1NUX0JVRkZFUl9DT1BZX0FMTCwgY3VycmVudE9mZnNldCwgY3VycmVudE9mZnNldFNpemUpOwor
ICAgICAgICBpZiAoVU5MSUtFTFkoIXN1YkJ1ZmZlcikpCisgICAgICAgICAgICBHU1RfRUxFTUVO
VF9FUlJPUihzcmMsIENPUkUsIEZBSUxFRCwgKCJGYWlsZWQgdG8gYWxsb2NhdGUgc3ViLWJ1ZmZl
ciIpLCAobnVsbHB0cikpOworCisgICAgICAgIEdTVF9CVUZGRVJfT0ZGU0VUKHN1YkJ1ZmZlcikg
PSBzdWJCdWZmZXJPZmZzZXQ7CisgICAgICAgIEdTVF9CVUZGRVJfT0ZGU0VUX0VORChzdWJCdWZm
ZXIpID0gc3ViQnVmZmVyT2Zmc2V0ICsgY3VycmVudE9mZnNldFNpemU7CisgICAgICAgIEdTVF9M
T0dfT0JKRUNUKHNyYywgIlNldCBzdWItYnVmZmVyIG9mZnNldCBib3VuZHMgWyUiIFBSSXU2NCAi
LCAlIiBQUkl1NjQgIl0iLCBHU1RfQlVGRkVSX09GRlNFVChzdWJCdWZmZXIpLCBHU1RfQlVGRkVS
X09GRlNFVF9FTkQoc3ViQnVmZmVyKSk7CisKKyAgICAgICAgR1NUX0xPR19PQkpFQ1Qoc3JjLCAi
UHVzaGluZyBidWZmZXIgb2Ygc2l6ZSAlIiBHX0dTSVpFX0ZPUk1BVCAiIGJ5dGVzIiwgZ3N0X2J1
ZmZlcl9nZXRfc2l6ZShzdWJCdWZmZXIpKTsKKyAgICAgICAgR3N0Rmxvd1JldHVybiByZXQgPSBn
c3RfYXBwX3NyY19wdXNoX2J1ZmZlcihwcml2LT5hcHBzcmMsIHN1YkJ1ZmZlcik7CisKKyAgICAg
ICAgaWYgKFVOTElLRUxZKHJldCAhPSBHU1RfRkxPV19PSyAmJiByZXQgIT0gR1NUX0ZMT1dfRU9T
ICYmIHJldCAhPSBHU1RfRkxPV19GTFVTSElORykpCisgICAgICAgICAgICBHU1RfRUxFTUVOVF9F
UlJPUihzcmMsIENPUkUsIEZBSUxFRCwgKG51bGxwdHIpLCAobnVsbHB0cikpOworICAgIH0KKwor
ICAgIHByaXYtPmJ1ZmZlci5jbGVhcigpOwogfQogCiB2b2lkIENhY2hlZFJlc291cmNlU3RyZWFt
aW5nQ2xpZW50OjphY2Nlc3NDb250cm9sQ2hlY2tGYWlsZWQoUGxhdGZvcm1NZWRpYVJlc291cmNl
JiwgY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>333912</attachid>
            <date>2018-02-15 10:06:03 -0800</date>
            <delta_ts>2018-02-16 11:23:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182829-20180215180602.patch</filename>
            <type>text/plain</type>
            <size>4991</size>
            <attacher name="Charlie Turner">cturner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI4NTAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzQ5YzM4MmIyZjAwMTJj
MjQxZjQwNDM2NTIzMzY5NDM5NjYxNmJhMC4uOTk1ZjViZmZjYjA5YzRiMDVlNzcxN2M4NDQxNmJj
OTM4YjI5YmZjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE4LTAyLTE1ICBDaGFy
bGllIFR1cm5lciAgPGN0dXJuZXJAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVyXSBQ
dXNoIHNtYWxsZXIgYnVmZmVycyBmcm9tIEhUVFAgc291cmNlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODI4MjkKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTcGxpdCB0aGUgcmVjZWl2ZWQgYnVmZmVyIGlu
dG8gc21hbGxlciBidWZmZXJzIG9mIGEgc2l6ZSBjb25zaXN0ZW50CisgICAgICAgIHdpdGggdGhl
IGJhc2VzcmMgKDRLaUIpLiBJdCBpcyBpbXBvcnRhbnQgbm90IHRvIHB1c2ggbGFyZ2UgYnVmZmVy
cworICAgICAgICBpbnRvIHRoZSBhcHBzcmMgKHdoZXJlIGxhcmdlIGlzIHJlbGF0aXZlIHRvIHRo
ZSBhcHBzcmMncyBjb25maWd1cmVkCisgICAgICAgIGJ5dGUgc2l6ZSkuIElmIGxhcmdlIGJ1ZmZl
cnMgYXJlIHB1c2hlZCwgdGhlbiB3aGVuIHRoZXkgYXJlIGludGVybmFsbHkKKyAgICAgICAgZGVx
dWV1ZWQgYnkgdGhlIGFwcHNyYywgdGhlIGJ1ZmZlcmluZyBwZXJjZW50YWdlIGNhbiBkcmFtYXRp
Y2FsbHkKKyAgICAgICAgcGx1bW1ldCBkdWUgdG8gYSBsYXJnZSBhbW91bnQgb2YgYnl0ZXMgYmVp
bmcgcmVtb3ZlZCBhZnRlciBhIHB1c2guIFRoaXMKKyAgICAgICAgY2FuIGluIHR1cm4gdHJpY2sg
dGhlIG1lZGlhIHBsYXllciBpbnRvIHRoaW5raW5nIGl0IG5lZWRzIHRvIGJ1ZmZlciwKKyAgICAg
ICAgYW5kIHRoZW4gaXNzdWluZyBhIHNwdXJpb3VzIHNldCBvZiBwbGF5aW5nLT5wYXVzZWQgdGhl
bgorICAgICAgICBwYXVzZWQtPnBsYXlpbmcgdHJhbnNpdGlvbnMsIHdoaWNoIGJ5IHRoZSB0aW1l
IHRoZSBidWZmZXJpbmcgbG9naWMKKyAgICAgICAgY29tcGxldGVzLCBkYXRhIGFyZSBhbHJlYWR5
IGF2YWlsYWJsZS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJL
aXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwOgorICAgICAgICAoQ2FjaGVkUmVzb3VyY2VTdHJlYW1p
bmdDbGllbnQ6OmRhdGFSZWNlaXZlZCk6CisKIDIwMTgtMDItMTQgIFphbGFuIEJ1anRhcyAgPHph
bGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbUmVuZGVyVHJlZUJ1aWxkZXJdIE1vdmUgUmVuZGVy
TWF0aE1MRmVuY2VkOjphZGRDaGlsZCgpIHRvIFJlbmRlclRyZWVCdWlsZGVyCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvV2ViS2l0V2ViU291
cmNlR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwCmluZGV4IDdiMmQyODg1YzY1MGIzZWU4
NGEyMDc2ZjIzMWYwZmEzOTI5NjRiMmIuLmFjNDNkMzZmMmU2M2ZiODA0NDU2NDZiNWYyY2E3YmYw
YTY5OWFjNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3Bw
CkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiUmVzb3VyY2VFcnJvci5oIgogI2luY2x1ZGUg
IlJlc291cmNlUmVxdWVzdC5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKKyNpbmNs
dWRlIDxjc3RkaW50PgogI2luY2x1ZGUgPGdzdC9hcHAvZ3N0YXBwc3JjLmg+CiAjaW5jbHVkZSA8
Z3N0L3BidXRpbHMvbWlzc2luZy1wbHVnaW5zLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmlu
Zy5oPgpAQCAtODkyLDcgKzg5Myw4IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VTdHJlYW1pbmdDbGll
bnQ6OmRhdGFSZWNlaXZlZChQbGF0Zm9ybU1lZGlhUmVzb3VyY2UmLCBjb25zdCBjCiAgICAgZWxz
ZQogICAgICAgICBnc3RfYnVmZmVyX3NldF9zaXplKHByaXYtPmJ1ZmZlci5nZXQoKSwgc3RhdGlj
X2Nhc3Q8Z3NzaXplPihsZW5ndGgpKTsKIAotICAgIEdTVF9CVUZGRVJfT0ZGU0VUKHByaXYtPmJ1
ZmZlci5nZXQoKSkgPSBwcml2LT5vZmZzZXQ7CisgICAgdWludDY0X3Qgc3RhcnRpbmdPZmZzZXQg
PSBwcml2LT5vZmZzZXQ7CisKICAgICBpZiAocHJpdi0+cmVxdWVzdGVkT2Zmc2V0ID09IHByaXYt
Pm9mZnNldCkKICAgICAgICAgcHJpdi0+cmVxdWVzdGVkT2Zmc2V0ICs9IGxlbmd0aDsKICAgICBw
cml2LT5vZmZzZXQgKz0gbGVuZ3RoOwpAQCAtOTAyLDExICs5MDQsMzUgQEAgdm9pZCBDYWNoZWRS
ZXNvdXJjZVN0cmVhbWluZ0NsaWVudDo6ZGF0YVJlY2VpdmVkKFBsYXRmb3JtTWVkaWFSZXNvdXJj
ZSYsIGNvbnN0IGMKICAgICAgICAgZ3N0X2FwcF9zcmNfc2V0X3NpemUocHJpdi0+YXBwc3JjLCBw
cml2LT5vZmZzZXQpOwogICAgICAgICBwcml2LT5zaXplID0gcHJpdi0+b2Zmc2V0OwogICAgIH0K
LSAgICBHU1RfQlVGRkVSX09GRlNFVF9FTkQocHJpdi0+YnVmZmVyLmdldCgpKSA9IHByaXYtPm9m
ZnNldDsKIAotICAgIEdzdEZsb3dSZXR1cm4gcmV0ID0gZ3N0X2FwcF9zcmNfcHVzaF9idWZmZXIo
cHJpdi0+YXBwc3JjLCBwcml2LT5idWZmZXIubGVha1JlZigpKTsKLSAgICBpZiAocmV0ICE9IEdT
VF9GTE9XX09LICYmIHJldCAhPSBHU1RfRkxPV19FT1MpCi0gICAgICAgIEdTVF9FTEVNRU5UX0VS
Uk9SKHNyYywgQ09SRSwgRkFJTEVELCAobnVsbHB0ciksIChudWxscHRyKSk7CisgICAgLy8gTm93
IHNwbGl0IHRoZSByZWN2J2QgYnVmZmVyIGludG8gYnVmZmVycyB0aGF0IGFyZSBvZiBhIHNpemUg
YmFzZXNyYyBzdWdnZXN0cy4gSXQgaXMgaW1wb3J0YW50IG5vdAorICAgIC8vIHRvIHB1c2ggYnVm
ZmVycyB0aGF0IGFyZSB0b28gbGFyZ2UsIG90aGVyd2lzZSBpbmNvcnJlY3QgYnVmZmVyaW5nIG1l
c3NhZ2VzIGNhbiBiZSBzZW50IGZyb20gdGhlCisgICAgLy8gcGlwZWxpbmUuCisgICAgdWludDY0
X3QgYnVmZmVyU2l6ZSA9IGdzdF9idWZmZXJfZ2V0X3NpemUocHJpdi0+YnVmZmVyLmdldCgpKTsK
KyAgICB1aW50NjRfdCBibG9ja1NpemUgPSBzdGF0aWNfY2FzdDx1aW50NjRfdD4oR1NUX0JBU0Vf
U1JDX0NBU1QocHJpdi0+YXBwc3JjKS0+YmxvY2tzaXplKTsKKyAgICBBU1NFUlQoYmxvY2tTaXpl
KTsKKyAgICBHU1RfTE9HX09CSkVDVChzcmMsICJTcGxpdHRpbmcgdGhlIHJlY2VpdmVkIGJ1ZmZl
ciBpbnRvICUiIFBSSXU2NCAiIGJsb2NrcyIsIGJ1ZmZlclNpemUgLyBibG9ja1NpemUpOworICAg
IGZvciAodWludDY0X3QgY3VycmVudE9mZnNldCA9IDA7IGN1cnJlbnRPZmZzZXQgPCBidWZmZXJT
aXplOyBjdXJyZW50T2Zmc2V0ICs9IGJsb2NrU2l6ZSkgeworICAgICAgICB1aW50NjRfdCBzdWJC
dWZmZXJPZmZzZXQgPSBzdGFydGluZ09mZnNldCArIGN1cnJlbnRPZmZzZXQ7CisgICAgICAgIHVp
bnQ2NF90IGN1cnJlbnRPZmZzZXRTaXplID0gc3RkOjptaW4oYmxvY2tTaXplLCBidWZmZXJTaXpl
IC0gY3VycmVudE9mZnNldCk7CisKKyAgICAgICAgR1NUX0xPR19PQkpFQ1Qoc3JjLCAiQ3JlYXRl
IHN1Yi1idWZmZXIgZnJvbSBbJSIgUFJJdTY0ICIsICUiIFBSSXU2NCAiXSIsIGN1cnJlbnRPZmZz
ZXQsIGN1cnJlbnRPZmZzZXQgKyBjdXJyZW50T2Zmc2V0U2l6ZSk7CisgICAgICAgIEdzdEJ1ZmZl
ciogc3ViQnVmZmVyID0gZ3N0X2J1ZmZlcl9jb3B5X3JlZ2lvbihwcml2LT5idWZmZXIuZ2V0KCks
IEdTVF9CVUZGRVJfQ09QWV9BTEwsIGN1cnJlbnRPZmZzZXQsIGN1cnJlbnRPZmZzZXRTaXplKTsK
KyAgICAgICAgaWYgKFVOTElLRUxZKCFzdWJCdWZmZXIpKQorICAgICAgICAgICAgR1NUX0VMRU1F
TlRfRVJST1Ioc3JjLCBDT1JFLCBGQUlMRUQsICgiRmFpbGVkIHRvIGFsbG9jYXRlIHN1Yi1idWZm
ZXIiKSwgKG51bGxwdHIpKTsKKworICAgICAgICBHU1RfQlVGRkVSX09GRlNFVChzdWJCdWZmZXIp
ID0gc3ViQnVmZmVyT2Zmc2V0OworICAgICAgICBHU1RfQlVGRkVSX09GRlNFVF9FTkQoc3ViQnVm
ZmVyKSA9IHN1YkJ1ZmZlck9mZnNldCArIGN1cnJlbnRPZmZzZXRTaXplOworICAgICAgICBHU1Rf
TE9HX09CSkVDVChzcmMsICJTZXQgc3ViLWJ1ZmZlciBvZmZzZXQgYm91bmRzIFslIiBQUkl1NjQg
IiwgJSIgUFJJdTY0ICJdIiwgR1NUX0JVRkZFUl9PRkZTRVQoc3ViQnVmZmVyKSwgR1NUX0JVRkZF
Ul9PRkZTRVRfRU5EKHN1YkJ1ZmZlcikpOworCisgICAgICAgIEdTVF9MT0dfT0JKRUNUKHNyYywg
IlB1c2hpbmcgYnVmZmVyIG9mIHNpemUgJSIgR19HU0laRV9GT1JNQVQgIiBieXRlcyIsIGdzdF9i
dWZmZXJfZ2V0X3NpemUoc3ViQnVmZmVyKSk7CisgICAgICAgIEdzdEZsb3dSZXR1cm4gcmV0ID0g
Z3N0X2FwcF9zcmNfcHVzaF9idWZmZXIocHJpdi0+YXBwc3JjLCBzdWJCdWZmZXIpOworCisgICAg
ICAgIGlmIChVTkxJS0VMWShyZXQgIT0gR1NUX0ZMT1dfT0sgJiYgcmV0ICE9IEdTVF9GTE9XX0VP
UyAmJiByZXQgIT0gR1NUX0ZMT1dfRkxVU0hJTkcpKQorICAgICAgICAgICAgR1NUX0VMRU1FTlRf
RVJST1Ioc3JjLCBDT1JFLCBGQUlMRUQsIChudWxscHRyKSwgKG51bGxwdHIpKTsKKyAgICB9CisK
KyAgICBwcml2LT5idWZmZXIuY2xlYXIoKTsKIH0KIAogdm9pZCBDYWNoZWRSZXNvdXJjZVN0cmVh
bWluZ0NsaWVudDo6YWNjZXNzQ29udHJvbENoZWNrRmFpbGVkKFBsYXRmb3JtTWVkaWFSZXNvdXJj
ZSYsIGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>334055</attachid>
            <date>2018-02-16 11:23:25 -0800</date>
            <delta_ts>2018-02-16 12:22:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182829-20180216192324.patch</filename>
            <type>text/plain</type>
            <size>5057</size>
            <attacher name="Charlie Turner">cturner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI4NTAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzQ5YzM4MmIyZjAwMTJj
MjQxZjQwNDM2NTIzMzY5NDM5NjYxNmJhMC4uOTk1ZjViZmZjYjA5YzRiMDVlNzcxN2M4NDQxNmJj
OTM4YjI5YmZjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE4LTAyLTE1ICBDaGFy
bGllIFR1cm5lciAgPGN0dXJuZXJAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVyXSBQ
dXNoIHNtYWxsZXIgYnVmZmVycyBmcm9tIEhUVFAgc291cmNlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODI4MjkKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTcGxpdCB0aGUgcmVjZWl2ZWQgYnVmZmVyIGlu
dG8gc21hbGxlciBidWZmZXJzIG9mIGEgc2l6ZSBjb25zaXN0ZW50CisgICAgICAgIHdpdGggdGhl
IGJhc2VzcmMgKDRLaUIpLiBJdCBpcyBpbXBvcnRhbnQgbm90IHRvIHB1c2ggbGFyZ2UgYnVmZmVy
cworICAgICAgICBpbnRvIHRoZSBhcHBzcmMgKHdoZXJlIGxhcmdlIGlzIHJlbGF0aXZlIHRvIHRo
ZSBhcHBzcmMncyBjb25maWd1cmVkCisgICAgICAgIGJ5dGUgc2l6ZSkuIElmIGxhcmdlIGJ1ZmZl
cnMgYXJlIHB1c2hlZCwgdGhlbiB3aGVuIHRoZXkgYXJlIGludGVybmFsbHkKKyAgICAgICAgZGVx
dWV1ZWQgYnkgdGhlIGFwcHNyYywgdGhlIGJ1ZmZlcmluZyBwZXJjZW50YWdlIGNhbiBkcmFtYXRp
Y2FsbHkKKyAgICAgICAgcGx1bW1ldCBkdWUgdG8gYSBsYXJnZSBhbW91bnQgb2YgYnl0ZXMgYmVp
bmcgcmVtb3ZlZCBhZnRlciBhIHB1c2guIFRoaXMKKyAgICAgICAgY2FuIGluIHR1cm4gdHJpY2sg
dGhlIG1lZGlhIHBsYXllciBpbnRvIHRoaW5raW5nIGl0IG5lZWRzIHRvIGJ1ZmZlciwKKyAgICAg
ICAgYW5kIHRoZW4gaXNzdWluZyBhIHNwdXJpb3VzIHNldCBvZiBwbGF5aW5nLT5wYXVzZWQgdGhl
bgorICAgICAgICBwYXVzZWQtPnBsYXlpbmcgdHJhbnNpdGlvbnMsIHdoaWNoIGJ5IHRoZSB0aW1l
IHRoZSBidWZmZXJpbmcgbG9naWMKKyAgICAgICAgY29tcGxldGVzLCBkYXRhIGFyZSBhbHJlYWR5
IGF2YWlsYWJsZS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJL
aXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwOgorICAgICAgICAoQ2FjaGVkUmVzb3VyY2VTdHJlYW1p
bmdDbGllbnQ6OmRhdGFSZWNlaXZlZCk6CisKIDIwMTgtMDItMTQgIFphbGFuIEJ1anRhcyAgPHph
bGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbUmVuZGVyVHJlZUJ1aWxkZXJdIE1vdmUgUmVuZGVy
TWF0aE1MRmVuY2VkOjphZGRDaGlsZCgpIHRvIFJlbmRlclRyZWVCdWlsZGVyCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvV2ViS2l0V2ViU291
cmNlR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwCmluZGV4IDdiMmQyODg1YzY1MGIzZWU4
NGEyMDc2ZjIzMWYwZmEzOTI5NjRiMmIuLjkzMWUyNDJlMDhlNjEzZjU4ZmJhZmU5OGIwYWEzNzhk
ZGYwODAzMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3Bw
CkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiUmVzb3VyY2VFcnJvci5oIgogI2luY2x1ZGUg
IlJlc291cmNlUmVxdWVzdC5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKKyNpbmNs
dWRlIDxjc3RkaW50PgogI2luY2x1ZGUgPGdzdC9hcHAvZ3N0YXBwc3JjLmg+CiAjaW5jbHVkZSA8
Z3N0L3BidXRpbHMvbWlzc2luZy1wbHVnaW5zLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmlu
Zy5oPgpAQCAtODkyLDcgKzg5Myw4IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VTdHJlYW1pbmdDbGll
bnQ6OmRhdGFSZWNlaXZlZChQbGF0Zm9ybU1lZGlhUmVzb3VyY2UmLCBjb25zdCBjCiAgICAgZWxz
ZQogICAgICAgICBnc3RfYnVmZmVyX3NldF9zaXplKHByaXYtPmJ1ZmZlci5nZXQoKSwgc3RhdGlj
X2Nhc3Q8Z3NzaXplPihsZW5ndGgpKTsKIAotICAgIEdTVF9CVUZGRVJfT0ZGU0VUKHByaXYtPmJ1
ZmZlci5nZXQoKSkgPSBwcml2LT5vZmZzZXQ7CisgICAgdWludDY0X3Qgc3RhcnRpbmdPZmZzZXQg
PSBwcml2LT5vZmZzZXQ7CisKICAgICBpZiAocHJpdi0+cmVxdWVzdGVkT2Zmc2V0ID09IHByaXYt
Pm9mZnNldCkKICAgICAgICAgcHJpdi0+cmVxdWVzdGVkT2Zmc2V0ICs9IGxlbmd0aDsKICAgICBw
cml2LT5vZmZzZXQgKz0gbGVuZ3RoOwpAQCAtOTAyLDExICs5MDQsMzkgQEAgdm9pZCBDYWNoZWRS
ZXNvdXJjZVN0cmVhbWluZ0NsaWVudDo6ZGF0YVJlY2VpdmVkKFBsYXRmb3JtTWVkaWFSZXNvdXJj
ZSYsIGNvbnN0IGMKICAgICAgICAgZ3N0X2FwcF9zcmNfc2V0X3NpemUocHJpdi0+YXBwc3JjLCBw
cml2LT5vZmZzZXQpOwogICAgICAgICBwcml2LT5zaXplID0gcHJpdi0+b2Zmc2V0OwogICAgIH0K
LSAgICBHU1RfQlVGRkVSX09GRlNFVF9FTkQocHJpdi0+YnVmZmVyLmdldCgpKSA9IHByaXYtPm9m
ZnNldDsKIAotICAgIEdzdEZsb3dSZXR1cm4gcmV0ID0gZ3N0X2FwcF9zcmNfcHVzaF9idWZmZXIo
cHJpdi0+YXBwc3JjLCBwcml2LT5idWZmZXIubGVha1JlZigpKTsKLSAgICBpZiAocmV0ICE9IEdT
VF9GTE9XX09LICYmIHJldCAhPSBHU1RfRkxPV19FT1MpCi0gICAgICAgIEdTVF9FTEVNRU5UX0VS
Uk9SKHNyYywgQ09SRSwgRkFJTEVELCAobnVsbHB0ciksIChudWxscHRyKSk7CisgICAgLy8gTm93
IHNwbGl0IHRoZSByZWN2J2QgYnVmZmVyIGludG8gYnVmZmVycyB0aGF0IGFyZSBvZiBhIHNpemUg
YmFzZXNyYyBzdWdnZXN0cy4gSXQgaXMgaW1wb3J0YW50IG5vdAorICAgIC8vIHRvIHB1c2ggYnVm
ZmVycyB0aGF0IGFyZSB0b28gbGFyZ2UsIG90aGVyd2lzZSBpbmNvcnJlY3QgYnVmZmVyaW5nIG1l
c3NhZ2VzIGNhbiBiZSBzZW50IGZyb20gdGhlCisgICAgLy8gcGlwZWxpbmUuCisgICAgdWludDY0
X3QgYnVmZmVyU2l6ZSA9IGdzdF9idWZmZXJfZ2V0X3NpemUocHJpdi0+YnVmZmVyLmdldCgpKTsK
KyAgICB1aW50NjRfdCBibG9ja1NpemUgPSBzdGF0aWNfY2FzdDx1aW50NjRfdD4oR1NUX0JBU0Vf
U1JDX0NBU1QocHJpdi0+YXBwc3JjKS0+YmxvY2tzaXplKTsKKyAgICBBU1NFUlQoYmxvY2tTaXpl
KTsKKyAgICBHU1RfTE9HX09CSkVDVChzcmMsICJTcGxpdHRpbmcgdGhlIHJlY2VpdmVkIGJ1ZmZl
ciBpbnRvICUiIFBSSXU2NCAiIGJsb2NrcyIsIGJ1ZmZlclNpemUgLyBibG9ja1NpemUpOworICAg
IGZvciAodWludDY0X3QgY3VycmVudE9mZnNldCA9IDA7IGN1cnJlbnRPZmZzZXQgPCBidWZmZXJT
aXplOyBjdXJyZW50T2Zmc2V0ICs9IGJsb2NrU2l6ZSkgeworICAgICAgICB1aW50NjRfdCBzdWJC
dWZmZXJPZmZzZXQgPSBzdGFydGluZ09mZnNldCArIGN1cnJlbnRPZmZzZXQ7CisgICAgICAgIHVp
bnQ2NF90IGN1cnJlbnRPZmZzZXRTaXplID0gc3RkOjptaW4oYmxvY2tTaXplLCBidWZmZXJTaXpl
IC0gY3VycmVudE9mZnNldCk7CisKKyAgICAgICAgR1NUX0xPR19PQkpFQ1Qoc3JjLCAiQ3JlYXRl
IHN1Yi1idWZmZXIgZnJvbSBbJSIgUFJJdTY0ICIsICUiIFBSSXU2NCAiXSIsIGN1cnJlbnRPZmZz
ZXQsIGN1cnJlbnRPZmZzZXQgKyBjdXJyZW50T2Zmc2V0U2l6ZSk7CisgICAgICAgIEdzdEJ1ZmZl
ciogc3ViQnVmZmVyID0gZ3N0X2J1ZmZlcl9jb3B5X3JlZ2lvbihwcml2LT5idWZmZXIuZ2V0KCks
IEdTVF9CVUZGRVJfQ09QWV9BTEwsIGN1cnJlbnRPZmZzZXQsIGN1cnJlbnRPZmZzZXRTaXplKTsK
KyAgICAgICAgaWYgKFVOTElLRUxZKCFzdWJCdWZmZXIpKSB7CisgICAgICAgICAgICBHU1RfRUxF
TUVOVF9FUlJPUihzcmMsIENPUkUsIEZBSUxFRCwgKCJGYWlsZWQgdG8gYWxsb2NhdGUgc3ViLWJ1
ZmZlciIpLCAobnVsbHB0cikpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAg
ICAgICBHU1RfQlVGRkVSX09GRlNFVChzdWJCdWZmZXIpID0gc3ViQnVmZmVyT2Zmc2V0OworICAg
ICAgICBHU1RfQlVGRkVSX09GRlNFVF9FTkQoc3ViQnVmZmVyKSA9IHN1YkJ1ZmZlck9mZnNldCAr
IGN1cnJlbnRPZmZzZXRTaXplOworICAgICAgICBHU1RfTE9HX09CSkVDVChzcmMsICJTZXQgc3Vi
LWJ1ZmZlciBvZmZzZXQgYm91bmRzIFslIiBQUkl1NjQgIiwgJSIgUFJJdTY0ICJdIiwgR1NUX0JV
RkZFUl9PRkZTRVQoc3ViQnVmZmVyKSwgR1NUX0JVRkZFUl9PRkZTRVRfRU5EKHN1YkJ1ZmZlcikp
OworCisgICAgICAgIEdTVF9MT0dfT0JKRUNUKHNyYywgIlB1c2hpbmcgYnVmZmVyIG9mIHNpemUg
JSIgR19HU0laRV9GT1JNQVQgIiBieXRlcyIsIGdzdF9idWZmZXJfZ2V0X3NpemUoc3ViQnVmZmVy
KSk7CisgICAgICAgIEdzdEZsb3dSZXR1cm4gcmV0ID0gZ3N0X2FwcF9zcmNfcHVzaF9idWZmZXIo
cHJpdi0+YXBwc3JjLCBzdWJCdWZmZXIpOworCisgICAgICAgIGlmIChVTkxJS0VMWShyZXQgIT0g
R1NUX0ZMT1dfT0sgJiYgcmV0ICE9IEdTVF9GTE9XX0VPUyAmJiByZXQgIT0gR1NUX0ZMT1dfRkxV
U0hJTkcpKSB7CisgICAgICAgICAgICBHU1RfRUxFTUVOVF9FUlJPUihzcmMsIENPUkUsIEZBSUxF
RCwgKG51bGxwdHIpLCAobnVsbHB0cikpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0K
KyAgICB9CisKKyAgICBwcml2LT5idWZmZXIuY2xlYXIoKTsKIH0KIAogdm9pZCBDYWNoZWRSZXNv
dXJjZVN0cmVhbWluZ0NsaWVudDo6YWNjZXNzQ29udHJvbENoZWNrRmFpbGVkKFBsYXRmb3JtTWVk
aWFSZXNvdXJjZSYsIGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>334058</attachid>
            <date>2018-02-16 12:22:17 -0800</date>
            <delta_ts>2018-02-18 01:26:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182829-20180216202216.patch</filename>
            <type>text/plain</type>
            <size>5063</size>
            <attacher name="Charlie Turner">cturner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI4NTAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzQ5YzM4MmIyZjAwMTJj
MjQxZjQwNDM2NTIzMzY5NDM5NjYxNmJhMC4uOTk1ZjViZmZjYjA5YzRiMDVlNzcxN2M4NDQxNmJj
OTM4YjI5YmZjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE4LTAyLTE1ICBDaGFy
bGllIFR1cm5lciAgPGN0dXJuZXJAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVyXSBQ
dXNoIHNtYWxsZXIgYnVmZmVycyBmcm9tIEhUVFAgc291cmNlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODI4MjkKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTcGxpdCB0aGUgcmVjZWl2ZWQgYnVmZmVyIGlu
dG8gc21hbGxlciBidWZmZXJzIG9mIGEgc2l6ZSBjb25zaXN0ZW50CisgICAgICAgIHdpdGggdGhl
IGJhc2VzcmMgKDRLaUIpLiBJdCBpcyBpbXBvcnRhbnQgbm90IHRvIHB1c2ggbGFyZ2UgYnVmZmVy
cworICAgICAgICBpbnRvIHRoZSBhcHBzcmMgKHdoZXJlIGxhcmdlIGlzIHJlbGF0aXZlIHRvIHRo
ZSBhcHBzcmMncyBjb25maWd1cmVkCisgICAgICAgIGJ5dGUgc2l6ZSkuIElmIGxhcmdlIGJ1ZmZl
cnMgYXJlIHB1c2hlZCwgdGhlbiB3aGVuIHRoZXkgYXJlIGludGVybmFsbHkKKyAgICAgICAgZGVx
dWV1ZWQgYnkgdGhlIGFwcHNyYywgdGhlIGJ1ZmZlcmluZyBwZXJjZW50YWdlIGNhbiBkcmFtYXRp
Y2FsbHkKKyAgICAgICAgcGx1bW1ldCBkdWUgdG8gYSBsYXJnZSBhbW91bnQgb2YgYnl0ZXMgYmVp
bmcgcmVtb3ZlZCBhZnRlciBhIHB1c2guIFRoaXMKKyAgICAgICAgY2FuIGluIHR1cm4gdHJpY2sg
dGhlIG1lZGlhIHBsYXllciBpbnRvIHRoaW5raW5nIGl0IG5lZWRzIHRvIGJ1ZmZlciwKKyAgICAg
ICAgYW5kIHRoZW4gaXNzdWluZyBhIHNwdXJpb3VzIHNldCBvZiBwbGF5aW5nLT5wYXVzZWQgdGhl
bgorICAgICAgICBwYXVzZWQtPnBsYXlpbmcgdHJhbnNpdGlvbnMsIHdoaWNoIGJ5IHRoZSB0aW1l
IHRoZSBidWZmZXJpbmcgbG9naWMKKyAgICAgICAgY29tcGxldGVzLCBkYXRhIGFyZSBhbHJlYWR5
IGF2YWlsYWJsZS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJL
aXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwOgorICAgICAgICAoQ2FjaGVkUmVzb3VyY2VTdHJlYW1p
bmdDbGllbnQ6OmRhdGFSZWNlaXZlZCk6CisKIDIwMTgtMDItMTQgIFphbGFuIEJ1anRhcyAgPHph
bGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbUmVuZGVyVHJlZUJ1aWxkZXJdIE1vdmUgUmVuZGVy
TWF0aE1MRmVuY2VkOjphZGRDaGlsZCgpIHRvIFJlbmRlclRyZWVCdWlsZGVyCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvV2ViS2l0V2ViU291
cmNlR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwCmluZGV4IDdiMmQyODg1YzY1MGIzZWU4
NGEyMDc2ZjIzMWYwZmEzOTI5NjRiMmIuLmM4NjcxMTVlY2VjZTYzODZhNDk3NjY0ZTQ1ODQyMGU3
N2FlMjAwOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3Bw
CkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiUmVzb3VyY2VFcnJvci5oIgogI2luY2x1ZGUg
IlJlc291cmNlUmVxdWVzdC5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKKyNpbmNs
dWRlIDxjc3RkaW50PgogI2luY2x1ZGUgPGdzdC9hcHAvZ3N0YXBwc3JjLmg+CiAjaW5jbHVkZSA8
Z3N0L3BidXRpbHMvbWlzc2luZy1wbHVnaW5zLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmlu
Zy5oPgpAQCAtODkyLDcgKzg5Myw4IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VTdHJlYW1pbmdDbGll
bnQ6OmRhdGFSZWNlaXZlZChQbGF0Zm9ybU1lZGlhUmVzb3VyY2UmLCBjb25zdCBjCiAgICAgZWxz
ZQogICAgICAgICBnc3RfYnVmZmVyX3NldF9zaXplKHByaXYtPmJ1ZmZlci5nZXQoKSwgc3RhdGlj
X2Nhc3Q8Z3NzaXplPihsZW5ndGgpKTsKIAotICAgIEdTVF9CVUZGRVJfT0ZGU0VUKHByaXYtPmJ1
ZmZlci5nZXQoKSkgPSBwcml2LT5vZmZzZXQ7CisgICAgdWludDY0X3Qgc3RhcnRpbmdPZmZzZXQg
PSBwcml2LT5vZmZzZXQ7CisKICAgICBpZiAocHJpdi0+cmVxdWVzdGVkT2Zmc2V0ID09IHByaXYt
Pm9mZnNldCkKICAgICAgICAgcHJpdi0+cmVxdWVzdGVkT2Zmc2V0ICs9IGxlbmd0aDsKICAgICBw
cml2LT5vZmZzZXQgKz0gbGVuZ3RoOwpAQCAtOTAyLDExICs5MDQsMzkgQEAgdm9pZCBDYWNoZWRS
ZXNvdXJjZVN0cmVhbWluZ0NsaWVudDo6ZGF0YVJlY2VpdmVkKFBsYXRmb3JtTWVkaWFSZXNvdXJj
ZSYsIGNvbnN0IGMKICAgICAgICAgZ3N0X2FwcF9zcmNfc2V0X3NpemUocHJpdi0+YXBwc3JjLCBw
cml2LT5vZmZzZXQpOwogICAgICAgICBwcml2LT5zaXplID0gcHJpdi0+b2Zmc2V0OwogICAgIH0K
LSAgICBHU1RfQlVGRkVSX09GRlNFVF9FTkQocHJpdi0+YnVmZmVyLmdldCgpKSA9IHByaXYtPm9m
ZnNldDsKIAotICAgIEdzdEZsb3dSZXR1cm4gcmV0ID0gZ3N0X2FwcF9zcmNfcHVzaF9idWZmZXIo
cHJpdi0+YXBwc3JjLCBwcml2LT5idWZmZXIubGVha1JlZigpKTsKLSAgICBpZiAocmV0ICE9IEdT
VF9GTE9XX09LICYmIHJldCAhPSBHU1RfRkxPV19FT1MpCi0gICAgICAgIEdTVF9FTEVNRU5UX0VS
Uk9SKHNyYywgQ09SRSwgRkFJTEVELCAobnVsbHB0ciksIChudWxscHRyKSk7CisgICAgLy8gTm93
IHNwbGl0IHRoZSByZWN2J2QgYnVmZmVyIGludG8gYnVmZmVycyB0aGF0IGFyZSBvZiBhIHNpemUg
YmFzZXNyYyBzdWdnZXN0cy4gSXQgaXMgaW1wb3J0YW50IG5vdAorICAgIC8vIHRvIHB1c2ggYnVm
ZmVycyB0aGF0IGFyZSB0b28gbGFyZ2UsIG90aGVyd2lzZSBpbmNvcnJlY3QgYnVmZmVyaW5nIG1l
c3NhZ2VzIGNhbiBiZSBzZW50IGZyb20gdGhlCisgICAgLy8gcGlwZWxpbmUuCisgICAgdWludDY0
X3QgYnVmZmVyU2l6ZSA9IGdzdF9idWZmZXJfZ2V0X3NpemUocHJpdi0+YnVmZmVyLmdldCgpKTsK
KyAgICB1aW50NjRfdCBibG9ja1NpemUgPSBzdGF0aWNfY2FzdDx1aW50NjRfdD4oR1NUX0JBU0Vf
U1JDX0NBU1QocHJpdi0+YXBwc3JjKS0+YmxvY2tzaXplKTsKKyAgICBBU1NFUlQoYmxvY2tTaXpl
KTsKKyAgICBHU1RfTE9HX09CSkVDVChzcmMsICJTcGxpdHRpbmcgdGhlIHJlY2VpdmVkIGJ1ZmZl
ciBpbnRvICUiIFBSSXU2NCAiIGJsb2NrcyIsIGJ1ZmZlclNpemUgLyBibG9ja1NpemUpOworICAg
IGZvciAodWludDY0X3QgY3VycmVudE9mZnNldCA9IDA7IGN1cnJlbnRPZmZzZXQgPCBidWZmZXJT
aXplOyBjdXJyZW50T2Zmc2V0ICs9IGJsb2NrU2l6ZSkgeworICAgICAgICB1aW50NjRfdCBzdWJC
dWZmZXJPZmZzZXQgPSBzdGFydGluZ09mZnNldCArIGN1cnJlbnRPZmZzZXQ7CisgICAgICAgIHVp
bnQ2NF90IGN1cnJlbnRPZmZzZXRTaXplID0gc3RkOjptaW4oYmxvY2tTaXplLCBidWZmZXJTaXpl
IC0gY3VycmVudE9mZnNldCk7CisKKyAgICAgICAgR1NUX1RSQUNFX09CSkVDVChzcmMsICJDcmVh
dGUgc3ViLWJ1ZmZlciBmcm9tIFslIiBQUkl1NjQgIiwgJSIgUFJJdTY0ICJdIiwgY3VycmVudE9m
ZnNldCwgY3VycmVudE9mZnNldCArIGN1cnJlbnRPZmZzZXRTaXplKTsKKyAgICAgICAgR3N0QnVm
ZmVyKiBzdWJCdWZmZXIgPSBnc3RfYnVmZmVyX2NvcHlfcmVnaW9uKHByaXYtPmJ1ZmZlci5nZXQo
KSwgR1NUX0JVRkZFUl9DT1BZX0FMTCwgY3VycmVudE9mZnNldCwgY3VycmVudE9mZnNldFNpemUp
OworICAgICAgICBpZiAoVU5MSUtFTFkoIXN1YkJ1ZmZlcikpIHsKKyAgICAgICAgICAgIEdTVF9F
TEVNRU5UX0VSUk9SKHNyYywgQ09SRSwgRkFJTEVELCAoIkZhaWxlZCB0byBhbGxvY2F0ZSBzdWIt
YnVmZmVyIiksIChudWxscHRyKSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisg
ICAgICAgIEdTVF9CVUZGRVJfT0ZGU0VUKHN1YkJ1ZmZlcikgPSBzdWJCdWZmZXJPZmZzZXQ7Cisg
ICAgICAgIEdTVF9CVUZGRVJfT0ZGU0VUX0VORChzdWJCdWZmZXIpID0gc3ViQnVmZmVyT2Zmc2V0
ICsgY3VycmVudE9mZnNldFNpemU7CisgICAgICAgIEdTVF9UUkFDRV9PQkpFQ1Qoc3JjLCAiU2V0
IHN1Yi1idWZmZXIgb2Zmc2V0IGJvdW5kcyBbJSIgUFJJdTY0ICIsICUiIFBSSXU2NCAiXSIsIEdT
VF9CVUZGRVJfT0ZGU0VUKHN1YkJ1ZmZlciksIEdTVF9CVUZGRVJfT0ZGU0VUX0VORChzdWJCdWZm
ZXIpKTsKKworICAgICAgICBHU1RfVFJBQ0VfT0JKRUNUKHNyYywgIlB1c2hpbmcgYnVmZmVyIG9m
IHNpemUgJSIgR19HU0laRV9GT1JNQVQgIiBieXRlcyIsIGdzdF9idWZmZXJfZ2V0X3NpemUoc3Vi
QnVmZmVyKSk7CisgICAgICAgIEdzdEZsb3dSZXR1cm4gcmV0ID0gZ3N0X2FwcF9zcmNfcHVzaF9i
dWZmZXIocHJpdi0+YXBwc3JjLCBzdWJCdWZmZXIpOworCisgICAgICAgIGlmIChVTkxJS0VMWShy
ZXQgIT0gR1NUX0ZMT1dfT0sgJiYgcmV0ICE9IEdTVF9GTE9XX0VPUyAmJiByZXQgIT0gR1NUX0ZM
T1dfRkxVU0hJTkcpKSB7CisgICAgICAgICAgICBHU1RfRUxFTUVOVF9FUlJPUihzcmMsIENPUkUs
IEZBSUxFRCwgKG51bGxwdHIpLCAobnVsbHB0cikpOworICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgIH0KKyAgICB9CisKKyAgICBwcml2LT5idWZmZXIuY2xlYXIoKTsKIH0KIAogdm9pZCBDYWNo
ZWRSZXNvdXJjZVN0cmVhbWluZ0NsaWVudDo6YWNjZXNzQ29udHJvbENoZWNrRmFpbGVkKFBsYXRm
b3JtTWVkaWFSZXNvdXJjZSYsIGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>334122</attachid>
            <date>2018-02-18 01:26:34 -0800</date>
            <delta_ts>2018-02-18 02:02:45 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-182829-20180218092632.patch</filename>
            <type>text/plain</type>
            <size>5044</size>
            <attacher name="Charlie Turner">cturner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI4NjAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWE1NzVhMzBkZDI4YjA1
NWQwOTcwNzYwMmUwYzVhMWEzODIwYTVhNy4uMWY0ZThjODk3ZjAxNmMzNGQ5YzY3OGVkZmVmNmJh
N2QzNmIyODk3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE4LTAyLTE1ICBDaGFy
bGllIFR1cm5lciAgPGN0dXJuZXJAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVyXSBQ
dXNoIHNtYWxsZXIgYnVmZmVycyBmcm9tIEhUVFAgc291cmNlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODI4MjkKKworICAgICAgICBSZXZpZXdlZCBi
eSBQaGlsaXBwZSBOb3JtYW5kLgorCisgICAgICAgIFNwbGl0IHRoZSByZWNlaXZlZCBidWZmZXIg
aW50byBzbWFsbGVyIGJ1ZmZlcnMgb2YgYSBzaXplIGNvbnNpc3RlbnQKKyAgICAgICAgd2l0aCB0
aGUgYmFzZXNyYyAoNEtpQikuIEl0IGlzIGltcG9ydGFudCBub3QgdG8gcHVzaCBsYXJnZSBidWZm
ZXJzCisgICAgICAgIGludG8gdGhlIGFwcHNyYyAod2hlcmUgbGFyZ2UgaXMgcmVsYXRpdmUgdG8g
dGhlIGFwcHNyYydzIGNvbmZpZ3VyZWQKKyAgICAgICAgYnl0ZSBzaXplKS4gSWYgbGFyZ2UgYnVm
ZmVycyBhcmUgcHVzaGVkLCB0aGVuIHdoZW4gdGhleSBhcmUgaW50ZXJuYWxseQorICAgICAgICBk
ZXF1ZXVlZCBieSB0aGUgYXBwc3JjLCB0aGUgYnVmZmVyaW5nIHBlcmNlbnRhZ2UgY2FuIGRyYW1h
dGljYWxseQorICAgICAgICBwbHVtbWV0IGR1ZSB0byBhIGxhcmdlIGFtb3VudCBvZiBieXRlcyBi
ZWluZyByZW1vdmVkIGFmdGVyIGEgcHVzaC4gVGhpcworICAgICAgICBjYW4gaW4gdHVybiB0cmlj
ayB0aGUgbWVkaWEgcGxheWVyIGludG8gdGhpbmtpbmcgaXQgbmVlZHMgdG8gYnVmZmVyLAorICAg
ICAgICBhbmQgdGhlbiBpc3N1aW5nIGEgc3B1cmlvdXMgc2V0IG9mIHBsYXlpbmctPnBhdXNlZCB0
aGVuCisgICAgICAgIHBhdXNlZC0+cGxheWluZyB0cmFuc2l0aW9ucywgd2hpY2ggYnkgdGhlIHRp
bWUgdGhlIGJ1ZmZlcmluZyBsb2dpYworICAgICAgICBjb21wbGV0ZXMsIGRhdGEgYXJlIGFscmVh
ZHkgYXZhaWxhYmxlLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1dl
YktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHA6CisgICAgICAgIChDYWNoZWRSZXNvdXJjZVN0cmVh
bWluZ0NsaWVudDo6ZGF0YVJlY2VpdmVkKToKKwogMjAxOC0wMi0xNyAgRGFyaW4gQWRsZXIgIDxk
YXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogZ2V0IHJpZCBvZiByZW1h
aW5pbmcgdXNlcyBvZiBPcHRPdXRwdXQ8VD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNvdXJj
ZUdTdHJlYW1lci5jcHAKaW5kZXggN2IyZDI4ODVjNjUwYjNlZTg0YTIwNzZmMjMxZjBmYTM5Mjk2
NGIyYi4uYzg2NzExNWVjZWNlNjM4NmE0OTc2NjRlNDU4NDIwZTc3YWUyMDA5NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNv
dXJjZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKQEAgLTMyLDYgKzMyLDcgQEAK
ICNpbmNsdWRlICJSZXNvdXJjZUVycm9yLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0Lmgi
CiAjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgorI2luY2x1ZGUgPGNzdGRpbnQ+CiAjaW5j
bHVkZSA8Z3N0L2FwcC9nc3RhcHBzcmMuaD4KICNpbmNsdWRlIDxnc3QvcGJ1dGlscy9taXNzaW5n
LXBsdWdpbnMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CkBAIC04OTIsNyArODkz
LDggQEAgdm9pZCBDYWNoZWRSZXNvdXJjZVN0cmVhbWluZ0NsaWVudDo6ZGF0YVJlY2VpdmVkKFBs
YXRmb3JtTWVkaWFSZXNvdXJjZSYsIGNvbnN0IGMKICAgICBlbHNlCiAgICAgICAgIGdzdF9idWZm
ZXJfc2V0X3NpemUocHJpdi0+YnVmZmVyLmdldCgpLCBzdGF0aWNfY2FzdDxnc3NpemU+KGxlbmd0
aCkpOwogCi0gICAgR1NUX0JVRkZFUl9PRkZTRVQocHJpdi0+YnVmZmVyLmdldCgpKSA9IHByaXYt
Pm9mZnNldDsKKyAgICB1aW50NjRfdCBzdGFydGluZ09mZnNldCA9IHByaXYtPm9mZnNldDsKKwog
ICAgIGlmIChwcml2LT5yZXF1ZXN0ZWRPZmZzZXQgPT0gcHJpdi0+b2Zmc2V0KQogICAgICAgICBw
cml2LT5yZXF1ZXN0ZWRPZmZzZXQgKz0gbGVuZ3RoOwogICAgIHByaXYtPm9mZnNldCArPSBsZW5n
dGg7CkBAIC05MDIsMTEgKzkwNCwzOSBAQCB2b2lkIENhY2hlZFJlc291cmNlU3RyZWFtaW5nQ2xp
ZW50OjpkYXRhUmVjZWl2ZWQoUGxhdGZvcm1NZWRpYVJlc291cmNlJiwgY29uc3QgYwogICAgICAg
ICBnc3RfYXBwX3NyY19zZXRfc2l6ZShwcml2LT5hcHBzcmMsIHByaXYtPm9mZnNldCk7CiAgICAg
ICAgIHByaXYtPnNpemUgPSBwcml2LT5vZmZzZXQ7CiAgICAgfQotICAgIEdTVF9CVUZGRVJfT0ZG
U0VUX0VORChwcml2LT5idWZmZXIuZ2V0KCkpID0gcHJpdi0+b2Zmc2V0OwogCi0gICAgR3N0Rmxv
d1JldHVybiByZXQgPSBnc3RfYXBwX3NyY19wdXNoX2J1ZmZlcihwcml2LT5hcHBzcmMsIHByaXYt
PmJ1ZmZlci5sZWFrUmVmKCkpOwotICAgIGlmIChyZXQgIT0gR1NUX0ZMT1dfT0sgJiYgcmV0ICE9
IEdTVF9GTE9XX0VPUykKLSAgICAgICAgR1NUX0VMRU1FTlRfRVJST1Ioc3JjLCBDT1JFLCBGQUlM
RUQsIChudWxscHRyKSwgKG51bGxwdHIpKTsKKyAgICAvLyBOb3cgc3BsaXQgdGhlIHJlY3YnZCBi
dWZmZXIgaW50byBidWZmZXJzIHRoYXQgYXJlIG9mIGEgc2l6ZSBiYXNlc3JjIHN1Z2dlc3RzLiBJ
dCBpcyBpbXBvcnRhbnQgbm90CisgICAgLy8gdG8gcHVzaCBidWZmZXJzIHRoYXQgYXJlIHRvbyBs
YXJnZSwgb3RoZXJ3aXNlIGluY29ycmVjdCBidWZmZXJpbmcgbWVzc2FnZXMgY2FuIGJlIHNlbnQg
ZnJvbSB0aGUKKyAgICAvLyBwaXBlbGluZS4KKyAgICB1aW50NjRfdCBidWZmZXJTaXplID0gZ3N0
X2J1ZmZlcl9nZXRfc2l6ZShwcml2LT5idWZmZXIuZ2V0KCkpOworICAgIHVpbnQ2NF90IGJsb2Nr
U2l6ZSA9IHN0YXRpY19jYXN0PHVpbnQ2NF90PihHU1RfQkFTRV9TUkNfQ0FTVChwcml2LT5hcHBz
cmMpLT5ibG9ja3NpemUpOworICAgIEFTU0VSVChibG9ja1NpemUpOworICAgIEdTVF9MT0dfT0JK
RUNUKHNyYywgIlNwbGl0dGluZyB0aGUgcmVjZWl2ZWQgYnVmZmVyIGludG8gJSIgUFJJdTY0ICIg
YmxvY2tzIiwgYnVmZmVyU2l6ZSAvIGJsb2NrU2l6ZSk7CisgICAgZm9yICh1aW50NjRfdCBjdXJy
ZW50T2Zmc2V0ID0gMDsgY3VycmVudE9mZnNldCA8IGJ1ZmZlclNpemU7IGN1cnJlbnRPZmZzZXQg
Kz0gYmxvY2tTaXplKSB7CisgICAgICAgIHVpbnQ2NF90IHN1YkJ1ZmZlck9mZnNldCA9IHN0YXJ0
aW5nT2Zmc2V0ICsgY3VycmVudE9mZnNldDsKKyAgICAgICAgdWludDY0X3QgY3VycmVudE9mZnNl
dFNpemUgPSBzdGQ6Om1pbihibG9ja1NpemUsIGJ1ZmZlclNpemUgLSBjdXJyZW50T2Zmc2V0KTsK
KworICAgICAgICBHU1RfVFJBQ0VfT0JKRUNUKHNyYywgIkNyZWF0ZSBzdWItYnVmZmVyIGZyb20g
WyUiIFBSSXU2NCAiLCAlIiBQUkl1NjQgIl0iLCBjdXJyZW50T2Zmc2V0LCBjdXJyZW50T2Zmc2V0
ICsgY3VycmVudE9mZnNldFNpemUpOworICAgICAgICBHc3RCdWZmZXIqIHN1YkJ1ZmZlciA9IGdz
dF9idWZmZXJfY29weV9yZWdpb24ocHJpdi0+YnVmZmVyLmdldCgpLCBHU1RfQlVGRkVSX0NPUFlf
QUxMLCBjdXJyZW50T2Zmc2V0LCBjdXJyZW50T2Zmc2V0U2l6ZSk7CisgICAgICAgIGlmIChVTkxJ
S0VMWSghc3ViQnVmZmVyKSkgeworICAgICAgICAgICAgR1NUX0VMRU1FTlRfRVJST1Ioc3JjLCBD
T1JFLCBGQUlMRUQsICgiRmFpbGVkIHRvIGFsbG9jYXRlIHN1Yi1idWZmZXIiKSwgKG51bGxwdHIp
KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgR1NUX0JVRkZFUl9P
RkZTRVQoc3ViQnVmZmVyKSA9IHN1YkJ1ZmZlck9mZnNldDsKKyAgICAgICAgR1NUX0JVRkZFUl9P
RkZTRVRfRU5EKHN1YkJ1ZmZlcikgPSBzdWJCdWZmZXJPZmZzZXQgKyBjdXJyZW50T2Zmc2V0U2l6
ZTsKKyAgICAgICAgR1NUX1RSQUNFX09CSkVDVChzcmMsICJTZXQgc3ViLWJ1ZmZlciBvZmZzZXQg
Ym91bmRzIFslIiBQUkl1NjQgIiwgJSIgUFJJdTY0ICJdIiwgR1NUX0JVRkZFUl9PRkZTRVQoc3Vi
QnVmZmVyKSwgR1NUX0JVRkZFUl9PRkZTRVRfRU5EKHN1YkJ1ZmZlcikpOworCisgICAgICAgIEdT
VF9UUkFDRV9PQkpFQ1Qoc3JjLCAiUHVzaGluZyBidWZmZXIgb2Ygc2l6ZSAlIiBHX0dTSVpFX0ZP
Uk1BVCAiIGJ5dGVzIiwgZ3N0X2J1ZmZlcl9nZXRfc2l6ZShzdWJCdWZmZXIpKTsKKyAgICAgICAg
R3N0Rmxvd1JldHVybiByZXQgPSBnc3RfYXBwX3NyY19wdXNoX2J1ZmZlcihwcml2LT5hcHBzcmMs
IHN1YkJ1ZmZlcik7CisKKyAgICAgICAgaWYgKFVOTElLRUxZKHJldCAhPSBHU1RfRkxPV19PSyAm
JiByZXQgIT0gR1NUX0ZMT1dfRU9TICYmIHJldCAhPSBHU1RfRkxPV19GTFVTSElORykpIHsKKyAg
ICAgICAgICAgIEdTVF9FTEVNRU5UX0VSUk9SKHNyYywgQ09SRSwgRkFJTEVELCAobnVsbHB0ciks
IChudWxscHRyKSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKworICAg
IHByaXYtPmJ1ZmZlci5jbGVhcigpOwogfQogCiB2b2lkIENhY2hlZFJlc291cmNlU3RyZWFtaW5n
Q2xpZW50OjphY2Nlc3NDb250cm9sQ2hlY2tGYWlsZWQoUGxhdGZvcm1NZWRpYVJlc291cmNlJiwg
Y29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>