<?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>158862</bug_id>
          
          <creation_ts>2016-06-16 18:58:04 -0700</creation_ts>
          <short_desc>No need to ref connection in lambda inside NetworkResourceLoader::tryStoreAsCacheEntry()</short_desc>
          <delta_ts>2016-06-17 11:52: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>WebKit2</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>beidson</cc>
    
    <cc>benjamin</cc>
    
    <cc>cgarcia</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>koivisto</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1203159</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-16 18:58:04 -0700</bug_when>
    <thetext>No need to ref connection in lambda inside NetworkResourceLoader::tryStoreAsCacheEntry(). We already ref the NetworkResourceLoader which hold a ref to the connection.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203163</commentid>
    <comment_count>1</comment_count>
      <attachid>281521</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-16 19:08:18 -0700</bug_when>
    <thetext>Created attachment 281521
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203164</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-16 19:10:54 -0700</bug_when>
    <thetext>Attachment 281521 did not pass style-queue:


ERROR: Source/WebKit2/NetworkProcess/cache/NetworkCache.cpp:385:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebKit2/NetworkProcess/cache/NetworkCache.h:109:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 2 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203166</commentid>
    <comment_count>3</comment_count>
      <attachid>281521</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-06-16 19:12:17 -0700</bug_when>
    <thetext>Comment on attachment 281521
Patch

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

&gt; Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp:518
&gt; -    // Keep the connection alive.
&gt; -    RefPtr&lt;NetworkConnectionToWebProcess&gt; connection(&amp;connectionToWebProcess());
&gt; -    RefPtr&lt;NetworkResourceLoader&gt; loader(this);
&gt; -    NetworkCache::singleton().store(m_networkLoad-&gt;currentRequest(), m_response, WTFMove(m_bufferedDataForCache), [loader, connection](auto&amp; mappedBody) {
&gt; +    NetworkCache::singleton().store(m_networkLoad-&gt;currentRequest(), m_response, WTFMove(m_bufferedDataForCache), [this, loader = Ref&lt;NetworkResourceLoader&gt;(*this)](auto&amp; mappedBody) {

I have mixed feelings about this pattern with a lambda that captures both &quot;this&quot; and a named strong reference to this that refs/derefs. I would be tempted to just not capture this, the way the old code did. I think it makes the lifetime clearer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203167</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-16 19:13:24 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 281521 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=281521&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp:518
&gt; &gt; -    // Keep the connection alive.
&gt; &gt; -    RefPtr&lt;NetworkConnectionToWebProcess&gt; connection(&amp;connectionToWebProcess());
&gt; &gt; -    RefPtr&lt;NetworkResourceLoader&gt; loader(this);
&gt; &gt; -    NetworkCache::singleton().store(m_networkLoad-&gt;currentRequest(), m_response, WTFMove(m_bufferedDataForCache), [loader, connection](auto&amp; mappedBody) {
&gt; &gt; +    NetworkCache::singleton().store(m_networkLoad-&gt;currentRequest(), m_response, WTFMove(m_bufferedDataForCache), [this, loader = Ref&lt;NetworkResourceLoader&gt;(*this)](auto&amp; mappedBody) {
&gt; 
&gt; I have mixed feelings about this pattern with a lambda that captures both
&gt; &quot;this&quot; and a named strong reference to this that refs/derefs. I would be
&gt; tempted to just not capture this, the way the old code did. I think it makes
&gt; the lifetime clearer.

Ok, I can keep this part of the change out. I think I have seen Brady do it so I was trying to match.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203178</commentid>
    <comment_count>5</comment_count>
      <attachid>281523</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-16 19:37:05 -0700</bug_when>
    <thetext>Created attachment 281523
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203179</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-16 19:38:19 -0700</bug_when>
    <thetext>Attachment 281523 did not pass style-queue:


ERROR: Source/WebKit2/NetworkProcess/cache/NetworkCache.cpp:385:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebKit2/NetworkProcess/cache/NetworkCache.h:109:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 2 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203180</commentid>
    <comment_count>7</comment_count>
      <attachid>281524</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-16 19:46:32 -0700</bug_when>
    <thetext>Created attachment 281524
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203182</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-16 19:49:01 -0700</bug_when>
    <thetext>Attachment 281524 did not pass style-queue:


ERROR: Source/WebKit2/NetworkProcess/cache/NetworkCache.cpp:385:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebKit2/NetworkProcess/cache/NetworkCache.h:109:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 2 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203183</commentid>
    <comment_count>9</comment_count>
      <attachid>281524</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-16 19:50:32 -0700</bug_when>
    <thetext>Comment on attachment 281524
Patch

Clearing flags on attachment: 281524

Committed r202154: &lt;http://trac.webkit.org/changeset/202154&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203184</commentid>
    <comment_count>10</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-16 19:50:37 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203224</commentid>
    <comment_count>11</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-06-16 22:53:34 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 281521 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=281521&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp:518
&gt; &gt; -    // Keep the connection alive.
&gt; &gt; -    RefPtr&lt;NetworkConnectionToWebProcess&gt; connection(&amp;connectionToWebProcess());
&gt; &gt; -    RefPtr&lt;NetworkResourceLoader&gt; loader(this);
&gt; &gt; -    NetworkCache::singleton().store(m_networkLoad-&gt;currentRequest(), m_response, WTFMove(m_bufferedDataForCache), [loader, connection](auto&amp; mappedBody) {
&gt; &gt; +    NetworkCache::singleton().store(m_networkLoad-&gt;currentRequest(), m_response, WTFMove(m_bufferedDataForCache), [this, loader = Ref&lt;NetworkResourceLoader&gt;(*this)](auto&amp; mappedBody) {
&gt; 
&gt; I have mixed feelings about this pattern with a lambda that captures both
&gt; &quot;this&quot; and a named strong reference to this that refs/derefs. I would be
&gt; tempted to just not capture this, the way the old code did. I think it makes
&gt; the lifetime clearer.

I think capturing both is a good idea when the body of the lambda is not just a few lines, the code looks cleaner to me than using protectedThis. all the time. Maybe if we document it, and enforce that the pattern should always be [this, protectedThis = Ref&lt;Foo&gt;(*this)...] to make it more obvious that we are capturing both just to use this implicitly and ensure its lifetime.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203299</commentid>
    <comment_count>12</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2016-06-17 06:10:47 -0700</bug_when>
    <thetext>If the lambda outlives the method scope I think it significantly clearer to access the object via informatively named strong reference (not called protectedThis!) rather than use the double capture trick.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203365</commentid>
    <comment_count>13</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-06-17 11:50:11 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; If the lambda outlives the method scope I think it significantly clearer to
&gt; access the object via informatively named strong reference (not called
&gt; protectedThis!) rather than use the double capture trick.

Every lambda I&apos;ve written I&apos;ve double captured.

Whether or not the lambda outlives method scope, the style consideration is about how the lambda reads to a human, and it is always obvious when you&apos;re reading what &quot;this&quot; is.

Indeed, one main reason in my push for &quot;protectedThis&quot; was based on the notion that you never actually use that variable in a lambda because you should be capturing this.

So, while this is obviously subjective, I disagree completely.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203368</commentid>
    <comment_count>14</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-06-17 11:52:15 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; Whether or not the lambda outlives method scope, the style consideration is
&gt; about how the lambda reads to a human, and it is always obvious when you&apos;re
&gt; reading what &quot;this&quot; is.

To be explicit, as I left it unsaid - When you&apos;re reading a lambda inside a method scope, you&apos;re automatically reading that code as if it were in that method scope.

In fact, when you have an explicit non-this variable inside the lambda, I think it reads *worse*, because you&apos;re making a jump from &quot;I&apos;m reading a standard a member function&quot; to &quot;I&apos;m reading something else&quot;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>281521</attachid>
            <date>2016-06-16 19:08:18 -0700</date>
            <delta_ts>2016-06-16 19:37:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158862-20160616190816.patch</filename>
            <type>text/plain</type>
            <size>8221</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAyMTQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDYxMDZkZGM0ZGY2ZjU2M2NiNDBkYTIz
NjA0MzFjNTdjNDIwZWUyMzMuLjkxNTlkOTRiMmFhOTdmODdlZGZjNjIxOTdiYzVmNmExMzM1NzU0
MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDUgKzEsMTggQEAKIDIwMTYtMDYtMTYgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KIAorICAgICAgICBObyBuZWVkIHRvIHJlZiBjb25uZWN0aW9uIGluIGxhbWJk
YSBpbnNpZGUgTmV0d29ya1Jlc291cmNlTG9hZGVyOjp0cnlTdG9yZUFzQ2FjaGVFbnRyeSgpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTg4NjIKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgTm9uY29w
eWFibGVGdW5jdGlvbiBjb25zdHJ1Y3RvciB0aGF0IHRha2VzIGEgbnVsbHB0cl90IGluLCBpbiBv
cmRlcgorICAgICAgICB0byBtYXRjaCB0aGUgc3RkOjpmdW5jdGlvbiBBUEkgYW5kIG1ha2UgcG9y
dGluZyBmcm9tIG9uZSB0byB0aGUgb3RoZXIKKyAgICAgICAgZWFzaWVyLgorCisgICAgICAgICog
d3RmL05vbmNvcHlhYmxlRnVuY3Rpb24uaDoKKworMjAxNi0wNi0xNiAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgorCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMDIw
MDIgYW5kIHIyMDIxMTEuCiAKICAgICAgICAgUnlvc3VrZSBzYXlzIHRoaXMgd2FzIGEgSlNCZW5j
aCByZWdyZXNzaW9uIG9uIGlPUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDk4ZjM3MDRhYWYzY2IyYjM0NjcyMTk2
YmJjZDE2ODdmZTQ0ZGYxOTAuLjQ2MmNiMTg3ODAzNTFkYzAxYmE5Yzk2ZGJlMmYwMjQ5YzkxNmQy
N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxNi0wNi0xNiAgQ2hyaXMgRHVtZXog
IDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIE5vIG5lZWQgdG8gcmVmIGNvbm5lY3Rpb24g
aW4gbGFtYmRhIGluc2lkZSBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnRyeVN0b3JlQXNDYWNoZUVu
dHJ5KCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1
ODg2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5v
IG5lZWQgdG8gcmVmIGNvbm5lY3Rpb24gaW4gbGFtYmRhIGluc2lkZSBOZXR3b3JrUmVzb3VyY2VM
b2FkZXI6OnRyeVN0b3JlQXNDYWNoZUVudHJ5KCkuCisgICAgICAgIFdlIGFscmVhZHkgcmVmIHRo
ZSBOZXR3b3JrUmVzb3VyY2VMb2FkZXIgd2hpY2ggaG9sZCBhIHJlZiB0byB0aGUgY29ubmVjdGlv
bi4gQWxzbyB1cGRhdGUKKyAgICAgICAgdGhlIGxhbWJkYSBjYXB0dXJlIHRvIHVzZSBSZWY8PiBm
b3IgdGhlIE5ldHdvcmtSZXNvdXJjZUxvYWRlciBpbnN0ZWFkIG9mIFJlZlB0cjw+LgorICAgICAg
ICBTd2l0Y2ggY2FsbGJhY2sgdHlwZSBmcm9tIHN0ZDo6ZnVuY3Rpb24gdG8gV1RGOjpOb25jb3B5
YWJsZUZ1bmN0aW9uIHNvIHdlIGNhbiBjYXB0dXJlIGEKKyAgICAgICAgUmVmPD4uCisKKyAgICAg
ICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnRyeVN0b3JlQXNDYWNoZUVudHJ5KToKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuY3BwOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkNhY2hlOjpzdG9yZSk6CisgICAgICAgICogTmV0d29ya1By
b2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNo
ZTo6U3RvcmFnZTo6V3JpdGVPcGVyYXRpb246OldyaXRlT3BlcmF0aW9uKToKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmg6CisKIDIwMTYtMDYtMTYg
IEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggbWFj
T1MgU2llcnJhIGJ1aWxkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9Ob25jb3B5YWJsZUZ1
bmN0aW9uLmggYi9Tb3VyY2UvV1RGL3d0Zi9Ob25jb3B5YWJsZUZ1bmN0aW9uLmgKaW5kZXggYWI5
ZjRkYzA2NDE3NjY0NzFkMmViYzJkNTNjOWZjZDQ2YWEzYWU1MS4uZWVjMzYwNWQ3ZTM5MjIzNTZk
NzRiMWMwNDMyNjJiODg1ZjBkODFjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvTm9uY29w
eWFibGVGdW5jdGlvbi5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL05vbmNvcHlhYmxlRnVuY3Rpb24u
aApAQCAtMzYsNiArMzYsNyBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgT3V0LCB0eXBlbmFtZS4uLiBJ
bj4KIGNsYXNzIE5vbmNvcHlhYmxlRnVuY3Rpb248T3V0KEluLi4uKT4gewogcHVibGljOgogICAg
IE5vbmNvcHlhYmxlRnVuY3Rpb24oKSA9IGRlZmF1bHQ7CisgICAgTm9uY29weWFibGVGdW5jdGlv
bihzdGQ6Om51bGxwdHJfdCkgeyB9CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDYWxsYWJsZVR5
cGUsIGNsYXNzID0gdHlwZW5hbWUgc3RkOjplbmFibGVfaWY8c3RkOjppc19ydmFsdWVfcmVmZXJl
bmNlPENhbGxhYmxlVHlwZSYmPjo6dmFsdWU+Ojp0eXBlPgogICAgIE5vbmNvcHlhYmxlRnVuY3Rp
b24oQ2FsbGFibGVUeXBlJiYgY2FsbGFibGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCA2MThjZTMzOTdm
ZjVkMmRmN2UzYmVmN2I3YjJlZDJhZmM4MmFjODFiLi43MTQ1Y2JlMzljZjQ4YjNlYzNjMDk3Njkz
YjI0NDZjZTY5NTlhMDA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTUxNSwxNSArNTE1LDEyIEBAIHZv
aWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjp0cnlTdG9yZUFzQ2FjaGVFbnRyeSgpCiAgICAgaWYg
KCFtX2J1ZmZlcmVkRGF0YUZvckNhY2hlKQogICAgICAgICByZXR1cm47CiAKLSAgICAvLyBLZWVw
IHRoZSBjb25uZWN0aW9uIGFsaXZlLgotICAgIFJlZlB0cjxOZXR3b3JrQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzcz4gY29ubmVjdGlvbigmY29ubmVjdGlvblRvV2ViUHJvY2VzcygpKTsKLSAgICBSZWZQ
dHI8TmV0d29ya1Jlc291cmNlTG9hZGVyPiBsb2FkZXIodGhpcyk7Ci0gICAgTmV0d29ya0NhY2hl
OjpzaW5nbGV0b24oKS5zdG9yZShtX25ldHdvcmtMb2FkLT5jdXJyZW50UmVxdWVzdCgpLCBtX3Jl
c3BvbnNlLCBXVEZNb3ZlKG1fYnVmZmVyZWREYXRhRm9yQ2FjaGUpLCBbbG9hZGVyLCBjb25uZWN0
aW9uXShhdXRvJiBtYXBwZWRCb2R5KSB7CisgICAgTmV0d29ya0NhY2hlOjpzaW5nbGV0b24oKS5z
dG9yZShtX25ldHdvcmtMb2FkLT5jdXJyZW50UmVxdWVzdCgpLCBtX3Jlc3BvbnNlLCBXVEZNb3Zl
KG1fYnVmZmVyZWREYXRhRm9yQ2FjaGUpLCBbdGhpcywgbG9hZGVyID0gUmVmPE5ldHdvcmtSZXNv
dXJjZUxvYWRlcj4oKnRoaXMpXShhdXRvJiBtYXBwZWRCb2R5KSB7CiAjaWYgRU5BQkxFKFNIQVJF
QUJMRV9SRVNPVVJDRSkKICAgICAgICAgaWYgKG1hcHBlZEJvZHkuc2hhcmVhYmxlUmVzb3VyY2VI
YW5kbGUuaXNOdWxsKCkpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIExPRyhOZXR3b3Jr
Q2FjaGUsICIoTmV0d29ya1Byb2Nlc3MpIHNlbmRpbmcgRGlkQ2FjaGVSZXNvdXJjZSIpOwotICAg
ICAgICBsb2FkZXItPnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjo6RGlk
Q2FjaGVSZXNvdXJjZShsb2FkZXItPm9yaWdpbmFsUmVxdWVzdCgpLCBtYXBwZWRCb2R5LnNoYXJl
YWJsZVJlc291cmNlSGFuZGxlLCBsb2FkZXItPnNlc3Npb25JRCgpKSk7CisgICAgICAgIHNlbmQo
TWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjo6RGlkQ2FjaGVSZXNvdXJjZShvcmln
aW5hbFJlcXVlc3QoKSwgbWFwcGVkQm9keS5zaGFyZWFibGVSZXNvdXJjZUhhbmRsZSwgc2Vzc2lv
bklEKCkpKTsKICNlbmRpZgogICAgIH0pOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5jcHAKaW5kZXggMzY3Yjg1OWM5MTE1OGVm
MjE3ZTVhNWM1ODQ0ZDMyNTY4ZGY1YmNkZS4uNTVlNzFlNzM5ZTI3NGU2ZjEwZDMxMDMxOGZkZjQx
ZWJjOWY5YzU0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvTmV0d29ya0NhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9j
YWNoZS9OZXR3b3JrQ2FjaGUuY3BwCkBAIC0zODIsNyArMzgyLDcgQEAgdm9pZCBDYWNoZTo6cmV0
cmlldmUoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBHbG9i
YWxGcmFtZUkKICAgICB9KTsKIH0KIAotc3RkOjp1bmlxdWVfcHRyPEVudHJ5PiBDYWNoZTo6c3Rv
cmUoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBXZWJDb3Jl
OjpSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgUmVmUHRyPFdlYkNvcmU6OlNoYXJlZEJ1ZmZl
cj4mJiByZXNwb25zZURhdGEsIHN0ZDo6ZnVuY3Rpb248dm9pZCAoTWFwcGVkQm9keSYpPiYmIGNv
bXBsZXRpb25IYW5kbGVyKQorc3RkOjp1bmlxdWVfcHRyPEVudHJ5PiBDYWNoZTo6c3RvcmUoY29u
c3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBXZWJDb3JlOjpSZXNv
dXJjZVJlc3BvbnNlJiByZXNwb25zZSwgUmVmUHRyPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4mJiBy
ZXNwb25zZURhdGEsIE5vbmNvcHlhYmxlRnVuY3Rpb248dm9pZCAoTWFwcGVkQm9keSYpPiYmIGNv
bXBsZXRpb25IYW5kbGVyKQogewogICAgIEFTU0VSVChpc0VuYWJsZWQoKSk7CiAgICAgQVNTRVJU
KHJlc3BvbnNlRGF0YSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9jYWNoZS9OZXR3b3JrQ2FjaGUuaCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2Nh
Y2hlL05ldHdvcmtDYWNoZS5oCmluZGV4IDhlMjNkYzE2YmI5MTQ1ZTIxMzRjOGIzNWU5YmFhMjY5
YmFhYzRkYmIuLjU4ZjBjNmQ2MzdlNWQzZjBiZTYyZTJmN2Q0ZDRjMDRmZTA4ZDYzMjggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5o
CkBAIC0xMDYsNyArMTA2LDcgQEAgcHVibGljOgogCiAgICAgLy8gQ29tcGxldGlvbiBoYW5kbGVy
IG1heSBnZXQgY2FsbGVkIGJhY2sgc3luY2hyb25vdXNseSBvbiBmYWlsdXJlLgogICAgIHZvaWQg
cmV0cmlldmUoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgR2xvYmFsRnJh
bWVJRCYsIHN0ZDo6ZnVuY3Rpb248dm9pZCAoc3RkOjp1bmlxdWVfcHRyPEVudHJ5Pik+JiYpOwot
ICAgIHN0ZDo6dW5pcXVlX3B0cjxFbnRyeT4gc3RvcmUoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VS
ZXF1ZXN0JiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYsIFJlZlB0cjxXZWJDb3Jl
OjpTaGFyZWRCdWZmZXI+JiYsIHN0ZDo6ZnVuY3Rpb248dm9pZCAoTWFwcGVkQm9keSYpPiYmKTsK
KyAgICBzdGQ6OnVuaXF1ZV9wdHI8RW50cnk+IHN0b3JlKGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdCYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmLCBSZWZQdHI8V2ViQ29y
ZTo6U2hhcmVkQnVmZmVyPiYmLCBOb25jb3B5YWJsZUZ1bmN0aW9uPHZvaWQgKE1hcHBlZEJvZHkm
KT4mJik7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEVudHJ5PiBzdG9yZVJlZGlyZWN0KGNvbnN0IFdl
YkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2Um
LCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlZGlyZWN0UmVxdWVzdCk7CiAgICAg
c3RkOjp1bmlxdWVfcHRyPEVudHJ5PiB1cGRhdGUoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1
ZXN0JiwgY29uc3QgR2xvYmFsRnJhbWVJRCYsIGNvbnN0IEVudHJ5JiwgY29uc3QgV2ViQ29yZTo6
UmVzb3VyY2VSZXNwb25zZSYgdmFsaWRhdGluZ1Jlc3BvbnNlKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdl
LmNwcAppbmRleCBiYmVhNGM5ZDliMmMwZWQwY2FkY2E5MGNjN2Q0OTQwNjkyODBjZTJiLi5iYTE1
ZTk3MDY3MDc3OTFkZmYzOGQ4MmQ1NGUyNjI0YzQ0MWM3MTdkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdl
LmNwcApAQCAtOTksOSArOTksOSBAQCBib29sIFN0b3JhZ2U6OlJlYWRPcGVyYXRpb246OmZpbmlz
aCgpCiBzdHJ1Y3QgU3RvcmFnZTo6V3JpdGVPcGVyYXRpb24gewogICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgotICAgIFdyaXRlT3BlcmF0aW9uKGNvbnN0IFJlY29yZCYgcmVj
b3JkLCBjb25zdCBNYXBwZWRCb2R5SGFuZGxlciYgbWFwcGVkQm9keUhhbmRsZXIpCisgICAgV3Jp
dGVPcGVyYXRpb24oY29uc3QgUmVjb3JkJiByZWNvcmQsIE1hcHBlZEJvZHlIYW5kbGVyJiYgbWFw
cGVkQm9keUhhbmRsZXIpCiAgICAgICAgIDogcmVjb3JkKHJlY29yZCkKLSAgICAgICAgLCBtYXBw
ZWRCb2R5SGFuZGxlcihtYXBwZWRCb2R5SGFuZGxlcikKKyAgICAgICAgLCBtYXBwZWRCb2R5SGFu
ZGxlcihXVEZNb3ZlKG1hcHBlZEJvZHlIYW5kbGVyKSkKICAgICB7IH0KICAgICAKICAgICBjb25z
dCBSZWNvcmQgcmVjb3JkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5oIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5oCmluZGV4IGUyNWQzOGM2OGNhNTA1OTI0
OTMwYTk3NDI3ODllNTAxZmU4ZDJjMGUuLjVkYjBlYWRiYmIzYTBkMjQzZGE0NzAyNTZjZjEyY2Ni
ZTlhYmNhYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hl
L05ldHdvcmtDYWNoZVN0b3JhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmgKQEAgLTYyLDcgKzYyLDcgQEAgcHVibGljOgog
ICAgIHR5cGVkZWYgc3RkOjpmdW5jdGlvbjxib29sIChzdGQ6OnVuaXF1ZV9wdHI8UmVjb3JkPik+
IFJldHJpZXZlQ29tcGxldGlvbkhhbmRsZXI7CiAgICAgdm9pZCByZXRyaWV2ZShjb25zdCBLZXkm
LCB1bnNpZ25lZCBwcmlvcml0eSwgUmV0cmlldmVDb21wbGV0aW9uSGFuZGxlciYmKTsKIAotICAg
IHR5cGVkZWYgc3RkOjpmdW5jdGlvbjx2b2lkIChjb25zdCBEYXRhJiBtYXBwZWRCb2R5KT4gTWFw
cGVkQm9keUhhbmRsZXI7CisgICAgdHlwZWRlZiBOb25jb3B5YWJsZUZ1bmN0aW9uPHZvaWQgKGNv
bnN0IERhdGEmIG1hcHBlZEJvZHkpPiBNYXBwZWRCb2R5SGFuZGxlcjsKICAgICB2b2lkIHN0b3Jl
KGNvbnN0IFJlY29yZCYsIE1hcHBlZEJvZHlIYW5kbGVyJiYpOwogCiAgICAgdm9pZCByZW1vdmUo
Y29uc3QgS2V5Jik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>281523</attachid>
            <date>2016-06-16 19:37:05 -0700</date>
            <delta_ts>2016-06-16 19:46:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158862-20160616193703.patch</filename>
            <type>text/plain</type>
            <size>7817</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAyMTQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDYxMDZkZGM0ZGY2ZjU2M2NiNDBkYTIz
NjA0MzFjNTdjNDIwZWUyMzMuLmY4NDM0ZjZmZjA5NDU5YjkzNWEyNDE0Y2FiNjcxMTU1ZmY2YThi
M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDUgKzEsMTggQEAKIDIwMTYtMDYtMTYgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KIAorICAgICAgICBObyBuZWVkIHRvIHJlZiBjb25uZWN0aW9uIGluIGxhbWJk
YSBpbnNpZGUgTmV0d29ya1Jlc291cmNlTG9hZGVyOjp0cnlTdG9yZUFzQ2FjaGVFbnRyeSgpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTg4NjIKKwor
ICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBBZGQgTm9uY29weWFi
bGVGdW5jdGlvbiBjb25zdHJ1Y3RvciB0aGF0IHRha2VzIGEgbnVsbHB0cl90IGluLCBpbiBvcmRl
cgorICAgICAgICB0byBtYXRjaCB0aGUgc3RkOjpmdW5jdGlvbiBBUEkgYW5kIG1ha2UgcG9ydGlu
ZyBmcm9tIG9uZSB0byB0aGUgb3RoZXIKKyAgICAgICAgZWFzaWVyLgorCisgICAgICAgICogd3Rm
L05vbmNvcHlhYmxlRnVuY3Rpb24uaDoKKworMjAxNi0wNi0xNiAgQ2hyaXMgRHVtZXogIDxjZHVt
ZXpAYXBwbGUuY29tPgorCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMDIwMDIg
YW5kIHIyMDIxMTEuCiAKICAgICAgICAgUnlvc3VrZSBzYXlzIHRoaXMgd2FzIGEgSlNCZW5jaCBy
ZWdyZXNzaW9uIG9uIGlPUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDk4ZjM3MDRhYWYzY2IyYjM0NjcyMTk2YmJj
ZDE2ODdmZTQ0ZGYxOTAuLjUyNzhhYmQyYTE3MzIzNzcwMTFmNDcyNTgxYzM2ODUyZDg1MTIxMmYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxNi0wNi0xNiAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIE5vIG5lZWQgdG8gcmVmIGNvbm5lY3Rpb24gaW4g
bGFtYmRhIGluc2lkZSBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnRyeVN0b3JlQXNDYWNoZUVudHJ5
KCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODg2
MgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIE5vIG5lZWQg
dG8gcmVmIGNvbm5lY3Rpb24gaW4gbGFtYmRhIGluc2lkZSBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6
OnRyeVN0b3JlQXNDYWNoZUVudHJ5KCkuCisgICAgICAgIFdlIGFscmVhZHkgcmVmIHRoZSBOZXR3
b3JrUmVzb3VyY2VMb2FkZXIgd2hpY2ggaG9sZCBhIHJlZiB0byB0aGUgY29ubmVjdGlvbi4gQWxz
byB1cGRhdGUKKyAgICAgICAgdGhlIGxhbWJkYSBjYXB0dXJlIHRvIHVzZSBSZWY8PiBmb3IgdGhl
IE5ldHdvcmtSZXNvdXJjZUxvYWRlciBpbnN0ZWFkIG9mIFJlZlB0cjw+LgorICAgICAgICBTd2l0
Y2ggY2FsbGJhY2sgdHlwZSBmcm9tIHN0ZDo6ZnVuY3Rpb24gdG8gV1RGOjpOb25jb3B5YWJsZUZ1
bmN0aW9uIHNvIHdlIGNhbiBjYXB0dXJlIGEKKyAgICAgICAgUmVmPD4uCisKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0
OjpOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnRyeVN0b3JlQXNDYWNoZUVudHJ5KToKKyAgICAgICAg
KiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuY3BwOgorICAgICAgICAoV2ViS2l0
OjpOZXR3b3JrQ2FjaGU6OkNhY2hlOjpzdG9yZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mv
Y2FjaGUvTmV0d29ya0NhY2hlLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0
d29ya0NhY2hlU3RvcmFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6U3Rv
cmFnZTo6V3JpdGVPcGVyYXRpb246OldyaXRlT3BlcmF0aW9uKToKKyAgICAgICAgKiBOZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmg6CisKIDIwMTYtMDYtMTYgIEFuZGVy
cyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggbWFjT1MgU2ll
cnJhIGJ1aWxkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9Ob25jb3B5YWJsZUZ1bmN0aW9u
LmggYi9Tb3VyY2UvV1RGL3d0Zi9Ob25jb3B5YWJsZUZ1bmN0aW9uLmgKaW5kZXggYWI5ZjRkYzA2
NDE3NjY0NzFkMmViYzJkNTNjOWZjZDQ2YWEzYWU1MS4uZWVjMzYwNWQ3ZTM5MjIzNTZkNzRiMWMw
NDMyNjJiODg1ZjBkODFjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvTm9uY29weWFibGVG
dW5jdGlvbi5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL05vbmNvcHlhYmxlRnVuY3Rpb24uaApAQCAt
MzYsNiArMzYsNyBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgT3V0LCB0eXBlbmFtZS4uLiBJbj4KIGNs
YXNzIE5vbmNvcHlhYmxlRnVuY3Rpb248T3V0KEluLi4uKT4gewogcHVibGljOgogICAgIE5vbmNv
cHlhYmxlRnVuY3Rpb24oKSA9IGRlZmF1bHQ7CisgICAgTm9uY29weWFibGVGdW5jdGlvbihzdGQ6
Om51bGxwdHJfdCkgeyB9CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDYWxsYWJsZVR5cGUsIGNs
YXNzID0gdHlwZW5hbWUgc3RkOjplbmFibGVfaWY8c3RkOjppc19ydmFsdWVfcmVmZXJlbmNlPENh
bGxhYmxlVHlwZSYmPjo6dmFsdWU+Ojp0eXBlPgogICAgIE5vbmNvcHlhYmxlRnVuY3Rpb24oQ2Fs
bGFibGVUeXBlJiYgY2FsbGFibGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCA2MThjZTMzOTdmZjVkMmRm
N2UzYmVmN2I3YjJlZDJhZmM4MmFjODFiLi5jYWZlMzdiMmY5MmExOTVmOGM5M2FjNmIyM2Q1MTg3
NWE0ZWQwNDRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTUxNSwxMCArNTE1LDcgQEAgdm9pZCBOZXR3
b3JrUmVzb3VyY2VMb2FkZXI6OnRyeVN0b3JlQXNDYWNoZUVudHJ5KCkKICAgICBpZiAoIW1fYnVm
ZmVyZWREYXRhRm9yQ2FjaGUpCiAgICAgICAgIHJldHVybjsKIAotICAgIC8vIEtlZXAgdGhlIGNv
bm5lY3Rpb24gYWxpdmUuCi0gICAgUmVmUHRyPE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNz
PiBjb25uZWN0aW9uKCZjb25uZWN0aW9uVG9XZWJQcm9jZXNzKCkpOwotICAgIFJlZlB0cjxOZXR3
b3JrUmVzb3VyY2VMb2FkZXI+IGxvYWRlcih0aGlzKTsKLSAgICBOZXR3b3JrQ2FjaGU6OnNpbmds
ZXRvbigpLnN0b3JlKG1fbmV0d29ya0xvYWQtPmN1cnJlbnRSZXF1ZXN0KCksIG1fcmVzcG9uc2Us
IFdURk1vdmUobV9idWZmZXJlZERhdGFGb3JDYWNoZSksIFtsb2FkZXIsIGNvbm5lY3Rpb25dKGF1
dG8mIG1hcHBlZEJvZHkpIHsKKyAgICBOZXR3b3JrQ2FjaGU6OnNpbmdsZXRvbigpLnN0b3JlKG1f
bmV0d29ya0xvYWQtPmN1cnJlbnRSZXF1ZXN0KCksIG1fcmVzcG9uc2UsIFdURk1vdmUobV9idWZm
ZXJlZERhdGFGb3JDYWNoZSksIFtsb2FkZXIgPSBSZWY8TmV0d29ya1Jlc291cmNlTG9hZGVyPigq
dGhpcyldKGF1dG8mIG1hcHBlZEJvZHkpIHsKICNpZiBFTkFCTEUoU0hBUkVBQkxFX1JFU09VUkNF
KQogICAgICAgICBpZiAobWFwcGVkQm9keS5zaGFyZWFibGVSZXNvdXJjZUhhbmRsZS5pc051bGwo
KSkKICAgICAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuY3BwCmluZGV4IDM2N2I4NTljOTExNThlZjIxN2U1
YTVjNTg0NGQzMjU2OGRmNWJjZGUuLjU1ZTcxZTczOWUyNzRlNmYxMGQzMTAzMThmZGY0MWViYzlm
OWM1NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05l
dHdvcmtDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUv
TmV0d29ya0NhY2hlLmNwcApAQCAtMzgyLDcgKzM4Miw3IEBAIHZvaWQgQ2FjaGU6OnJldHJpZXZl
KGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgR2xvYmFsRnJh
bWVJCiAgICAgfSk7CiB9CiAKLXN0ZDo6dW5pcXVlX3B0cjxFbnRyeT4gQ2FjaGU6OnN0b3JlKGNv
bnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgV2ViQ29yZTo6UmVz
b3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIFJlZlB0cjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+JiYg
cmVzcG9uc2VEYXRhLCBzdGQ6OmZ1bmN0aW9uPHZvaWQgKE1hcHBlZEJvZHkmKT4mJiBjb21wbGV0
aW9uSGFuZGxlcikKK3N0ZDo6dW5pcXVlX3B0cjxFbnRyeT4gQ2FjaGU6OnN0b3JlKGNvbnN0IFdl
YkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VS
ZXNwb25zZSYgcmVzcG9uc2UsIFJlZlB0cjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+JiYgcmVzcG9u
c2VEYXRhLCBOb25jb3B5YWJsZUZ1bmN0aW9uPHZvaWQgKE1hcHBlZEJvZHkmKT4mJiBjb21wbGV0
aW9uSGFuZGxlcikKIHsKICAgICBBU1NFUlQoaXNFbmFibGVkKCkpOwogICAgIEFTU0VSVChyZXNw
b25zZURhdGEpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvTmV0d29ya0NhY2hlLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9O
ZXR3b3JrQ2FjaGUuaAppbmRleCA4ZTIzZGMxNmJiOTE0NWUyMTM0YzhiMzVlOWJhYTI2OWJhYWM0
ZGJiLi41OGYwYzZkNjM3ZTVkM2YwYmU2MmUyZjdkNGQ0YzA0ZmUwOGQ2MzI4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuaApAQCAt
MTA2LDcgKzEwNiw3IEBAIHB1YmxpYzoKIAogICAgIC8vIENvbXBsZXRpb24gaGFuZGxlciBtYXkg
Z2V0IGNhbGxlZCBiYWNrIHN5bmNocm9ub3VzbHkgb24gZmFpbHVyZS4KICAgICB2b2lkIHJldHJp
ZXZlKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGNvbnN0IEdsb2JhbEZyYW1lSUQm
LCBzdGQ6OmZ1bmN0aW9uPHZvaWQgKHN0ZDo6dW5pcXVlX3B0cjxFbnRyeT4pPiYmKTsKLSAgICBz
dGQ6OnVuaXF1ZV9wdHI8RW50cnk+IHN0b3JlKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVz
dCYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmLCBSZWZQdHI8V2ViQ29yZTo6U2hh
cmVkQnVmZmVyPiYmLCBzdGQ6OmZ1bmN0aW9uPHZvaWQgKE1hcHBlZEJvZHkmKT4mJik7CisgICAg
c3RkOjp1bmlxdWVfcHRyPEVudHJ5PiBzdG9yZShjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3QmLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiwgUmVmUHRyPFdlYkNvcmU6OlNo
YXJlZEJ1ZmZlcj4mJiwgTm9uY29weWFibGVGdW5jdGlvbjx2b2lkIChNYXBwZWRCb2R5Jik+JiYp
OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxFbnRyeT4gc3RvcmVSZWRpcmVjdChjb25zdCBXZWJDb3Jl
OjpSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiwgY29u
c3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZWRpcmVjdFJlcXVlc3QpOwogICAgIHN0ZDo6
dW5pcXVlX3B0cjxFbnRyeT4gdXBkYXRlKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYs
IGNvbnN0IEdsb2JhbEZyYW1lSUQmLCBjb25zdCBFbnRyeSYsIGNvbnN0IFdlYkNvcmU6OlJlc291
cmNlUmVzcG9uc2UmIHZhbGlkYXRpbmdSZXNwb25zZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuY3BwIGIvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHAK
aW5kZXggYmJlYTRjOWQ5YjJjMGVkMGNhZGNhOTBjYzdkNDk0MDY5MjgwY2UyYi4uYmExNWU5NzA2
NzA3NzkxZGZmMzhkODJkNTRlMjYyNGM0NDFjNzE3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHAK
QEAgLTk5LDkgKzk5LDkgQEAgYm9vbCBTdG9yYWdlOjpSZWFkT3BlcmF0aW9uOjpmaW5pc2goKQog
c3RydWN0IFN0b3JhZ2U6OldyaXRlT3BlcmF0aW9uIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKLSAgICBXcml0ZU9wZXJhdGlvbihjb25zdCBSZWNvcmQmIHJlY29yZCwg
Y29uc3QgTWFwcGVkQm9keUhhbmRsZXImIG1hcHBlZEJvZHlIYW5kbGVyKQorICAgIFdyaXRlT3Bl
cmF0aW9uKGNvbnN0IFJlY29yZCYgcmVjb3JkLCBNYXBwZWRCb2R5SGFuZGxlciYmIG1hcHBlZEJv
ZHlIYW5kbGVyKQogICAgICAgICA6IHJlY29yZChyZWNvcmQpCi0gICAgICAgICwgbWFwcGVkQm9k
eUhhbmRsZXIobWFwcGVkQm9keUhhbmRsZXIpCisgICAgICAgICwgbWFwcGVkQm9keUhhbmRsZXIo
V1RGTW92ZShtYXBwZWRCb2R5SGFuZGxlcikpCiAgICAgeyB9CiAgICAgCiAgICAgY29uc3QgUmVj
b3JkIHJlY29yZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2Nh
Y2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuaCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuaAppbmRleCBlMjVkMzhjNjhjYTUwNTkyNDkzMGE5
NzQyNzg5ZTUwMWZlOGQyYzBlLi41ZGIwZWFkYmJiM2EwZDI0M2RhNDcwMjU2Y2YxMmNjYmU5YWJj
YWE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3
b3JrQ2FjaGVTdG9yYWdlLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvTmV0d29ya0NhY2hlU3RvcmFnZS5oCkBAIC02Miw3ICs2Miw3IEBAIHB1YmxpYzoKICAgICB0
eXBlZGVmIHN0ZDo6ZnVuY3Rpb248Ym9vbCAoc3RkOjp1bmlxdWVfcHRyPFJlY29yZD4pPiBSZXRy
aWV2ZUNvbXBsZXRpb25IYW5kbGVyOwogICAgIHZvaWQgcmV0cmlldmUoY29uc3QgS2V5JiwgdW5z
aWduZWQgcHJpb3JpdHksIFJldHJpZXZlQ29tcGxldGlvbkhhbmRsZXImJik7CiAKLSAgICB0eXBl
ZGVmIHN0ZDo6ZnVuY3Rpb248dm9pZCAoY29uc3QgRGF0YSYgbWFwcGVkQm9keSk+IE1hcHBlZEJv
ZHlIYW5kbGVyOworICAgIHR5cGVkZWYgTm9uY29weWFibGVGdW5jdGlvbjx2b2lkIChjb25zdCBE
YXRhJiBtYXBwZWRCb2R5KT4gTWFwcGVkQm9keUhhbmRsZXI7CiAgICAgdm9pZCBzdG9yZShjb25z
dCBSZWNvcmQmLCBNYXBwZWRCb2R5SGFuZGxlciYmKTsKIAogICAgIHZvaWQgcmVtb3ZlKGNvbnN0
IEtleSYpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>281524</attachid>
            <date>2016-06-16 19:46:32 -0700</date>
            <delta_ts>2016-06-16 19:50:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158862-20160616194630.patch</filename>
            <type>text/plain</type>
            <size>7825</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAyMTQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDYxMDZkZGM0ZGY2ZjU2M2NiNDBkYTIz
NjA0MzFjNTdjNDIwZWUyMzMuLmY4NDM0ZjZmZjA5NDU5YjkzNWEyNDE0Y2FiNjcxMTU1ZmY2YThi
M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDUgKzEsMTggQEAKIDIwMTYtMDYtMTYgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KIAorICAgICAgICBObyBuZWVkIHRvIHJlZiBjb25uZWN0aW9uIGluIGxhbWJk
YSBpbnNpZGUgTmV0d29ya1Jlc291cmNlTG9hZGVyOjp0cnlTdG9yZUFzQ2FjaGVFbnRyeSgpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTg4NjIKKwor
ICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBBZGQgTm9uY29weWFi
bGVGdW5jdGlvbiBjb25zdHJ1Y3RvciB0aGF0IHRha2VzIGEgbnVsbHB0cl90IGluLCBpbiBvcmRl
cgorICAgICAgICB0byBtYXRjaCB0aGUgc3RkOjpmdW5jdGlvbiBBUEkgYW5kIG1ha2UgcG9ydGlu
ZyBmcm9tIG9uZSB0byB0aGUgb3RoZXIKKyAgICAgICAgZWFzaWVyLgorCisgICAgICAgICogd3Rm
L05vbmNvcHlhYmxlRnVuY3Rpb24uaDoKKworMjAxNi0wNi0xNiAgQ2hyaXMgRHVtZXogIDxjZHVt
ZXpAYXBwbGUuY29tPgorCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMDIwMDIg
YW5kIHIyMDIxMTEuCiAKICAgICAgICAgUnlvc3VrZSBzYXlzIHRoaXMgd2FzIGEgSlNCZW5jaCBy
ZWdyZXNzaW9uIG9uIGlPUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDk4ZjM3MDRhYWYzY2IyYjM0NjcyMTk2YmJj
ZDE2ODdmZTQ0ZGYxOTAuLjUyNzhhYmQyYTE3MzIzNzcwMTFmNDcyNTgxYzM2ODUyZDg1MTIxMmYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxNi0wNi0xNiAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIE5vIG5lZWQgdG8gcmVmIGNvbm5lY3Rpb24gaW4g
bGFtYmRhIGluc2lkZSBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnRyeVN0b3JlQXNDYWNoZUVudHJ5
KCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODg2
MgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIE5vIG5lZWQg
dG8gcmVmIGNvbm5lY3Rpb24gaW4gbGFtYmRhIGluc2lkZSBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6
OnRyeVN0b3JlQXNDYWNoZUVudHJ5KCkuCisgICAgICAgIFdlIGFscmVhZHkgcmVmIHRoZSBOZXR3
b3JrUmVzb3VyY2VMb2FkZXIgd2hpY2ggaG9sZCBhIHJlZiB0byB0aGUgY29ubmVjdGlvbi4gQWxz
byB1cGRhdGUKKyAgICAgICAgdGhlIGxhbWJkYSBjYXB0dXJlIHRvIHVzZSBSZWY8PiBmb3IgdGhl
IE5ldHdvcmtSZXNvdXJjZUxvYWRlciBpbnN0ZWFkIG9mIFJlZlB0cjw+LgorICAgICAgICBTd2l0
Y2ggY2FsbGJhY2sgdHlwZSBmcm9tIHN0ZDo6ZnVuY3Rpb24gdG8gV1RGOjpOb25jb3B5YWJsZUZ1
bmN0aW9uIHNvIHdlIGNhbiBjYXB0dXJlIGEKKyAgICAgICAgUmVmPD4uCisKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0
OjpOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnRyeVN0b3JlQXNDYWNoZUVudHJ5KToKKyAgICAgICAg
KiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuY3BwOgorICAgICAgICAoV2ViS2l0
OjpOZXR3b3JrQ2FjaGU6OkNhY2hlOjpzdG9yZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mv
Y2FjaGUvTmV0d29ya0NhY2hlLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0
d29ya0NhY2hlU3RvcmFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6U3Rv
cmFnZTo6V3JpdGVPcGVyYXRpb246OldyaXRlT3BlcmF0aW9uKToKKyAgICAgICAgKiBOZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmg6CisKIDIwMTYtMDYtMTYgIEFuZGVy
cyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggbWFjT1MgU2ll
cnJhIGJ1aWxkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9Ob25jb3B5YWJsZUZ1bmN0aW9u
LmggYi9Tb3VyY2UvV1RGL3d0Zi9Ob25jb3B5YWJsZUZ1bmN0aW9uLmgKaW5kZXggYWI5ZjRkYzA2
NDE3NjY0NzFkMmViYzJkNTNjOWZjZDQ2YWEzYWU1MS4uZWVjMzYwNWQ3ZTM5MjIzNTZkNzRiMWMw
NDMyNjJiODg1ZjBkODFjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvTm9uY29weWFibGVG
dW5jdGlvbi5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL05vbmNvcHlhYmxlRnVuY3Rpb24uaApAQCAt
MzYsNiArMzYsNyBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgT3V0LCB0eXBlbmFtZS4uLiBJbj4KIGNs
YXNzIE5vbmNvcHlhYmxlRnVuY3Rpb248T3V0KEluLi4uKT4gewogcHVibGljOgogICAgIE5vbmNv
cHlhYmxlRnVuY3Rpb24oKSA9IGRlZmF1bHQ7CisgICAgTm9uY29weWFibGVGdW5jdGlvbihzdGQ6
Om51bGxwdHJfdCkgeyB9CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDYWxsYWJsZVR5cGUsIGNs
YXNzID0gdHlwZW5hbWUgc3RkOjplbmFibGVfaWY8c3RkOjppc19ydmFsdWVfcmVmZXJlbmNlPENh
bGxhYmxlVHlwZSYmPjo6dmFsdWU+Ojp0eXBlPgogICAgIE5vbmNvcHlhYmxlRnVuY3Rpb24oQ2Fs
bGFibGVUeXBlJiYgY2FsbGFibGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCA2MThjZTMzOTdmZjVkMmRm
N2UzYmVmN2I3YjJlZDJhZmM4MmFjODFiLi45NzQ5YTJmMzE0MmY5YzBjZGVkY2E5MDg0YWJjMzQz
ZjZkYzdhYTI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTUxNSwxMCArNTE1LDcgQEAgdm9pZCBOZXR3
b3JrUmVzb3VyY2VMb2FkZXI6OnRyeVN0b3JlQXNDYWNoZUVudHJ5KCkKICAgICBpZiAoIW1fYnVm
ZmVyZWREYXRhRm9yQ2FjaGUpCiAgICAgICAgIHJldHVybjsKIAotICAgIC8vIEtlZXAgdGhlIGNv
bm5lY3Rpb24gYWxpdmUuCi0gICAgUmVmUHRyPE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNz
PiBjb25uZWN0aW9uKCZjb25uZWN0aW9uVG9XZWJQcm9jZXNzKCkpOwotICAgIFJlZlB0cjxOZXR3
b3JrUmVzb3VyY2VMb2FkZXI+IGxvYWRlcih0aGlzKTsKLSAgICBOZXR3b3JrQ2FjaGU6OnNpbmds
ZXRvbigpLnN0b3JlKG1fbmV0d29ya0xvYWQtPmN1cnJlbnRSZXF1ZXN0KCksIG1fcmVzcG9uc2Us
IFdURk1vdmUobV9idWZmZXJlZERhdGFGb3JDYWNoZSksIFtsb2FkZXIsIGNvbm5lY3Rpb25dKGF1
dG8mIG1hcHBlZEJvZHkpIHsKKyAgICBOZXR3b3JrQ2FjaGU6OnNpbmdsZXRvbigpLnN0b3JlKG1f
bmV0d29ya0xvYWQtPmN1cnJlbnRSZXF1ZXN0KCksIG1fcmVzcG9uc2UsIFdURk1vdmUobV9idWZm
ZXJlZERhdGFGb3JDYWNoZSksIFtsb2FkZXIgPSBSZWY8TmV0d29ya1Jlc291cmNlTG9hZGVyPigq
dGhpcyldKGF1dG8mIG1hcHBlZEJvZHkpIG11dGFibGUgewogI2lmIEVOQUJMRShTSEFSRUFCTEVf
UkVTT1VSQ0UpCiAgICAgICAgIGlmIChtYXBwZWRCb2R5LnNoYXJlYWJsZVJlc291cmNlSGFuZGxl
LmlzTnVsbCgpKQogICAgICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5jcHAKaW5kZXggMzY3Yjg1OWM5MTE1
OGVmMjE3ZTVhNWM1ODQ0ZDMyNTY4ZGY1YmNkZS4uNTVlNzFlNzM5ZTI3NGU2ZjEwZDMxMDMxOGZk
ZjQxZWJjOWY5YzU0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
Y2FjaGUvTmV0d29ya0NhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9jYWNoZS9OZXR3b3JrQ2FjaGUuY3BwCkBAIC0zODIsNyArMzgyLDcgQEAgdm9pZCBDYWNoZTo6
cmV0cmlldmUoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBH
bG9iYWxGcmFtZUkKICAgICB9KTsKIH0KIAotc3RkOjp1bmlxdWVfcHRyPEVudHJ5PiBDYWNoZTo6
c3RvcmUoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBXZWJD
b3JlOjpSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgUmVmUHRyPFdlYkNvcmU6OlNoYXJlZEJ1
ZmZlcj4mJiByZXNwb25zZURhdGEsIHN0ZDo6ZnVuY3Rpb248dm9pZCAoTWFwcGVkQm9keSYpPiYm
IGNvbXBsZXRpb25IYW5kbGVyKQorc3RkOjp1bmlxdWVfcHRyPEVudHJ5PiBDYWNoZTo6c3RvcmUo
Y29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBXZWJDb3JlOjpS
ZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgUmVmUHRyPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4m
JiByZXNwb25zZURhdGEsIE5vbmNvcHlhYmxlRnVuY3Rpb248dm9pZCAoTWFwcGVkQm9keSYpPiYm
IGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIEFTU0VSVChpc0VuYWJsZWQoKSk7CiAgICAgQVNT
RVJUKHJlc3BvbnNlRGF0YSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuaCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZS5oCmluZGV4IDhlMjNkYzE2YmI5MTQ1ZTIxMzRjOGIzNWU5YmFh
MjY5YmFhYzRkYmIuLjU4ZjBjNmQ2MzdlNWQzZjBiZTYyZTJmN2Q0ZDRjMDRmZTA4ZDYzMjggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNo
ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNo
ZS5oCkBAIC0xMDYsNyArMTA2LDcgQEAgcHVibGljOgogCiAgICAgLy8gQ29tcGxldGlvbiBoYW5k
bGVyIG1heSBnZXQgY2FsbGVkIGJhY2sgc3luY2hyb25vdXNseSBvbiBmYWlsdXJlLgogICAgIHZv
aWQgcmV0cmlldmUoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgR2xvYmFs
RnJhbWVJRCYsIHN0ZDo6ZnVuY3Rpb248dm9pZCAoc3RkOjp1bmlxdWVfcHRyPEVudHJ5Pik+JiYp
OwotICAgIHN0ZDo6dW5pcXVlX3B0cjxFbnRyeT4gc3RvcmUoY29uc3QgV2ViQ29yZTo6UmVzb3Vy
Y2VSZXF1ZXN0JiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYsIFJlZlB0cjxXZWJD
b3JlOjpTaGFyZWRCdWZmZXI+JiYsIHN0ZDo6ZnVuY3Rpb248dm9pZCAoTWFwcGVkQm9keSYpPiYm
KTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8RW50cnk+IHN0b3JlKGNvbnN0IFdlYkNvcmU6OlJlc291
cmNlUmVxdWVzdCYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmLCBSZWZQdHI8V2Vi
Q29yZTo6U2hhcmVkQnVmZmVyPiYmLCBOb25jb3B5YWJsZUZ1bmN0aW9uPHZvaWQgKE1hcHBlZEJv
ZHkmKT4mJik7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEVudHJ5PiBzdG9yZVJlZGlyZWN0KGNvbnN0
IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9u
c2UmLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlZGlyZWN0UmVxdWVzdCk7CiAg
ICAgc3RkOjp1bmlxdWVfcHRyPEVudHJ5PiB1cGRhdGUoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VS
ZXF1ZXN0JiwgY29uc3QgR2xvYmFsRnJhbWVJRCYsIGNvbnN0IEVudHJ5JiwgY29uc3QgV2ViQ29y
ZTo6UmVzb3VyY2VSZXNwb25zZSYgdmFsaWRhdGluZ1Jlc3BvbnNlKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9y
YWdlLmNwcAppbmRleCBiYmVhNGM5ZDliMmMwZWQwY2FkY2E5MGNjN2Q0OTQwNjkyODBjZTJiLi5i
YTE1ZTk3MDY3MDc3OTFkZmYzOGQ4MmQ1NGUyNjI0YzQ0MWM3MTdkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9y
YWdlLmNwcApAQCAtOTksOSArOTksOSBAQCBib29sIFN0b3JhZ2U6OlJlYWRPcGVyYXRpb246OmZp
bmlzaCgpCiBzdHJ1Y3QgU3RvcmFnZTo6V3JpdGVPcGVyYXRpb24gewogICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIFdyaXRlT3BlcmF0aW9uKGNvbnN0IFJlY29yZCYg
cmVjb3JkLCBjb25zdCBNYXBwZWRCb2R5SGFuZGxlciYgbWFwcGVkQm9keUhhbmRsZXIpCisgICAg
V3JpdGVPcGVyYXRpb24oY29uc3QgUmVjb3JkJiByZWNvcmQsIE1hcHBlZEJvZHlIYW5kbGVyJiYg
bWFwcGVkQm9keUhhbmRsZXIpCiAgICAgICAgIDogcmVjb3JkKHJlY29yZCkKLSAgICAgICAgLCBt
YXBwZWRCb2R5SGFuZGxlcihtYXBwZWRCb2R5SGFuZGxlcikKKyAgICAgICAgLCBtYXBwZWRCb2R5
SGFuZGxlcihXVEZNb3ZlKG1hcHBlZEJvZHlIYW5kbGVyKSkKICAgICB7IH0KICAgICAKICAgICBj
b25zdCBSZWNvcmQgcmVjb3JkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5oIGIvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5oCmluZGV4IGUyNWQzOGM2OGNhNTA1
OTI0OTMwYTk3NDI3ODllNTAxZmU4ZDJjMGUuLjVkYjBlYWRiYmIzYTBkMjQzZGE0NzAyNTZjZjEy
Y2NiZTlhYmNhYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2Nh
Y2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmgKQEAgLTYyLDcgKzYyLDcgQEAgcHVibGlj
OgogICAgIHR5cGVkZWYgc3RkOjpmdW5jdGlvbjxib29sIChzdGQ6OnVuaXF1ZV9wdHI8UmVjb3Jk
Pik+IFJldHJpZXZlQ29tcGxldGlvbkhhbmRsZXI7CiAgICAgdm9pZCByZXRyaWV2ZShjb25zdCBL
ZXkmLCB1bnNpZ25lZCBwcmlvcml0eSwgUmV0cmlldmVDb21wbGV0aW9uSGFuZGxlciYmKTsKIAot
ICAgIHR5cGVkZWYgc3RkOjpmdW5jdGlvbjx2b2lkIChjb25zdCBEYXRhJiBtYXBwZWRCb2R5KT4g
TWFwcGVkQm9keUhhbmRsZXI7CisgICAgdHlwZWRlZiBOb25jb3B5YWJsZUZ1bmN0aW9uPHZvaWQg
KGNvbnN0IERhdGEmIG1hcHBlZEJvZHkpPiBNYXBwZWRCb2R5SGFuZGxlcjsKICAgICB2b2lkIHN0
b3JlKGNvbnN0IFJlY29yZCYsIE1hcHBlZEJvZHlIYW5kbGVyJiYpOwogCiAgICAgdm9pZCByZW1v
dmUoY29uc3QgS2V5Jik7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>