<?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>144682</bug_id>
          
          <creation_ts>2015-05-06 05:10:50 -0700</creation_ts>
          <short_desc>Network Cache: Layout Test http/tests/xmlhttprequest/range-test.html is failing</short_desc>
          <delta_ts>2018-01-03 15:55:22 -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>Tools / Tests</component>
          <version>528+ (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="Marcos Chavarría Teijeiro (irc: chavaone)">chavarria1991</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>chavarria1991</cc>
    
    <cc>commit-queue</cc>
    
    <cc>enrica</cc>
    
    <cc>koivisto</cc>
    
    <cc>mrobinson</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1092135</commentid>
    <comment_count>0</comment_count>
    <who name="Marcos Chavarría Teijeiro (irc: chavaone)">chavarria1991</who>
    <bug_when>2015-05-06 05:10:50 -0700</bug_when>
    <thetext>The http/tests/xmlhttprequest/range-test.html layout test is failing on GTK+ since revision r183865 (https://trac.webkit.org/changeset/r183865).

--- /home/slave/webkitgtk/gtk-linux-64-release-tests/build/layout-test-results/http/tests/xmlhttprequest/range-test-expected.txt
+++ /home/slave/webkitgtk/gtk-linux-64-release-tests/build/layout-test-results/http/tests/xmlhttprequest/range-test-actual.txt
@@ -1,9 +1,11 @@
 Test Range support in XMLHttpRequest
 
 getRange(resources/reply.xml, 34, 36, false)
-Length : expected 2 got 2
+Expected a 206 response, got 200
+Length : expected 2 got 68
 getRange(resources/reply.xml, 35, 38, false)
-Length : expected 3 got 3
+Expected a 206 response, got 200
+Length : expected 3 got 68
 getRange(resources/reply.xml, 34, 36, true)
 Length : expected 2 got 2
 getRange(resources/reply.xml, 35, 38, true)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094776</commentid>
    <comment_count>1</comment_count>
    <who name="Marcos Chavarría Teijeiro (irc: chavaone)">chavarria1991</who>
    <bug_when>2015-05-14 02:10:36 -0700</bug_when>
    <thetext>This test is failing due to the new implemented Cache. We make 5 requests for the same file. The first request will get the complete file and the remaining request will get parts of this files specified by the Range header. After the first request the file is cached so  with the next requests providing the url is the same, the reply would be the same and it returns the whole file instead of some part of it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1095068</commentid>
    <comment_count>2</comment_count>
      <attachid>253184</attachid>
    <who name="Marcos Chavarría Teijeiro (irc: chavaone)">chavarria1991</who>
    <bug_when>2015-05-15 02:27:53 -0700</bug_when>
    <thetext>Created attachment 253184
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1095106</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-05-15 05:45:45 -0700</bug_when>
    <thetext>This is not specific to GTK+, only cross-platform code is changed in the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1095107</commentid>
    <comment_count>4</comment_count>
      <attachid>253184</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2015-05-15 05:59:02 -0700</bug_when>
    <thetext>Comment on attachment 253184
Patch

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

&gt; Source/WebKit2/NetworkProcess/cache/NetworkCache.cpp:114
&gt; +    if (range.isEmpty())
&gt; +        range = ASCIILiteral(&quot;No range&quot;);

This is unnecessary, you can just leave the range string empty.

&gt; LayoutTests/platform/gtk/TestExpectations:-2275
&gt; -webkit.org/b/144682 http/tests/xmlhttprequest/range-test.html [ Failure ]

You should also add a specific test for range header. This should easy to do, check the other tests under LayoutTests/http/tests/cache/disk-cache.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1095108</commentid>
    <comment_count>5</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2015-05-15 06:00:18 -0700</bug_when>
    <thetext>Disk cache specific test that is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1095608</commentid>
    <comment_count>6</comment_count>
      <attachid>253184</attachid>
    <who name="Marcos Chavarría Teijeiro (irc: chavaone)">chavarria1991</who>
    <bug_when>2015-05-18 04:51:25 -0700</bug_when>
    <thetext>Comment on attachment 253184
Patch

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

&gt;&gt; Source/WebKit2/NetworkProcess/cache/NetworkCache.cpp:114
&gt;&gt; +        range = ASCIILiteral(&quot;No range&quot;);
&gt; 
&gt; This is unnecessary, you can just leave the range string empty.

If I leave the string empty, the NetworkProccess crashes :S.

I have to investigate why it does...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1095621</commentid>
    <comment_count>7</comment_count>
    <who name="Marcos Chavarría Teijeiro (irc: chavaone)">chavarria1991</who>
    <bug_when>2015-05-18 08:59:15 -0700</bug_when>
    <thetext>The relevant part of the stack trace is the following:

Thread 1 (Thread 0x7fd13c2d4a80 (LWP 16504)):
#0  0x00007fd15506ed64 in WTF::StringImpl::is8Bit (this=0x0) at ../../Source/WTF/wtf/text/StringImpl.h:457
#1  0x00007fd15506f0a4 in WTF::String::is8Bit (this=0x7fff862fd058) at ../../Source/WTF/wtf/text/WTFString.h:180
#2  0x00007fd15544a331 in WebKit::NetworkCache::hashString (md5=..., string=...) at ../../Source/WebKit2/NetworkProcess/cache/NetworkCacheKey.cpp:70
#3  0x00007fd15544a4a0 in WebKit::NetworkCache::Key::computeHash (this=0x7fff862fd040) at ../../Source/WebKit2/NetworkProcess/cache/NetworkCacheKey.cpp:88
#4  0x00007fd15544a127 in WebKit::NetworkCache::Key::Key (this=0x7fff862fd040, method=..., partition=..., range=..., identifier=...) at ../../Source/WebKit2/NetworkProcess/cache/NetworkCacheKey.cpp:53

I guess we need to not leave that string empty.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1095626</commentid>
    <comment_count>8</comment_count>
      <attachid>253328</attachid>
    <who name="Marcos Chavarría Teijeiro (irc: chavaone)">chavarria1991</who>
    <bug_when>2015-05-18 09:20:20 -0700</bug_when>
    <thetext>Created attachment 253328
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1095955</commentid>
    <comment_count>9</comment_count>
      <attachid>253328</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2015-05-19 09:03:09 -0700</bug_when>
    <thetext>Comment on attachment 253328
Patch

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

&gt; Source/WebKit2/NetworkProcess/cache/NetworkCache.cpp:112
&gt; +    String range = request.httpHeaderField(WebCore::HTTPHeaderName::Range);

You could add a FIXME comment that explains that this implements minimal Range support where we don&apos;t parse the ranges and only the same exact range request will be served from the cache.

&gt; Source/WebKit2/NetworkProcess/cache/NetworkCache.cpp:114
&gt; +    if (range.isEmpty())
&gt; +        range = ASCIILiteral(&quot;No range&quot;);

You should fix hashString() in NetworkCacheKey.cpp to work with null strings instead. if (string.isNull()) return should be sufficient.

&gt; Source/WebKit2/NetworkProcess/cache/NetworkCache.cpp:243
&gt; +    case 206: // Partial Content
&gt;      case 204: // No Content

Please keep these in order.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1096210</commentid>
    <comment_count>10</comment_count>
      <attachid>253434</attachid>
    <who name="Marcos Chavarría Teijeiro (irc: chavaone)">chavarria1991</who>
    <bug_when>2015-05-20 01:23:17 -0700</bug_when>
    <thetext>Created attachment 253434
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1096449</commentid>
    <comment_count>11</comment_count>
      <attachid>253434</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-20 19:09:24 -0700</bug_when>
    <thetext>Comment on attachment 253434
Patch

Clearing flags on attachment: 253434

Committed r184690: &lt;http://trac.webkit.org/changeset/184690&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1096450</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-20 19:09:30 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097279</commentid>
    <comment_count>13</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-05-26 00:22:35 -0700</bug_when>
    <thetext>Shouldn&apos;t we bump the cache version for this kind of changes? I guess we will end up trying to decode range from existing entries.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097307</commentid>
    <comment_count>14</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2015-05-26 07:57:02 -0700</bug_when>
    <thetext>I think the existing entries stay valid with this chance. Even if they didn&apos;t it is fine to just fail decoding. Version bump is mostly meant for when cache directory structure changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097308</commentid>
    <comment_count>15</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-05-26 08:01:15 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; I think the existing entries stay valid with this chance. Even if they
&gt; didn&apos;t it is fine to just fail decoding. Version bump is mostly meant for
&gt; when cache directory structure changes.

I had to remove the cache after this change, but maybe it&apos;s because we don&apos;t handle decode errors correctly, our IOChannel ended up trying to read a NULL stream and then the network process stopped loading anything.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097354</commentid>
    <comment_count>16</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2015-05-26 11:35:37 -0700</bug_when>
    <thetext>Yeah, sounds like the real bug is elsewhere. The idea is that obsolete or corrupted cache entries are detected and silently removed. No cache state should cause crashes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097620</commentid>
    <comment_count>17</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-05-27 01:05:59 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; Yeah, sounds like the real bug is elsewhere. The idea is that obsolete or
&gt; corrupted cache entries are detected and silently removed. No cache state
&gt; should cause crashes.

Ok, I handled errors when creating the IO streams in the end, see bug #145406</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1106715</commentid>
    <comment_count>18</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-07-03 08:46:14 -0700</bug_when>
    <thetext>*** Bug 82672 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1385559</commentid>
    <comment_count>19</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2018-01-03 13:35:38 -0800</bug_when>
    <thetext>http/tests/xmlhttprequest/range-test.html is still marked as flaky:

LayoutTests/platform/mac/TestExpectations:294:webkit.org/b/82672 http/tests/xmlhttprequest/range-test.html [ Pass Failure ]
LayoutTests/platform/ios-wk1/TestExpectations:880:webkit.org/b/82672 http/tests/xmlhttprequest/range-test.html [ Failure ]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1385584</commentid>
    <comment_count>20</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2018-01-03 15:55:22 -0800</bug_when>
    <thetext>Updated expectations in http://trac.webkit.org/r226375. Now the test is expected to pass with WK2.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253184</attachid>
            <date>2015-05-15 02:27:53 -0700</date>
            <delta_ts>2015-05-18 09:20:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144682-20150515112628.patch</filename>
            <type>text/plain</type>
            <size>7446</size>
            <attacher name="Marcos Chavarría Teijeiro (irc: chavaone)">chavarria1991</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0Mzc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZTdmZjBiNTdjMzQ2Mjkx
Njc1OWQyYWE0YThjMTQxOTFmZjM5MjQzYy4uYWMxMThkN2JmNTVhZjc1MzA1NjYxNjI3NTE3YTY0
NGI0N2EyMDhiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE1LTA1LTE1ICBNYXJj
b3MgQ2hhdmFycsOtYSBUZWlqZWlybyAgPG1jaGF2YXJyaWFAaWdhbGlhLmNvbT4KKworICAgICAg
ICBbR1RLXSBMYXlvdXQgVGVzdCBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3JhbmdlLXRlc3Qu
aHRtbCBpcyBmYWlsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNDQ2ODIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUaGUgdGVzdCB3YXMgZmFpbGluZyBiZWNhdXNlIGRpc2sgY2FjaGUgZGlkbid0IHRh
a2UgaW50byBhY2NvdW50IHRoZQorICAgICAgICBSYW5nZSBoZWFkZXIgYW5kIGl0IHJldHVybnMg
dGhlIGNhY2hlZCBmdWxsIGZpbGUgaW5zdGVhZCBvZiB0aGUKKyAgICAgICAgcmVxdWlyZWQgZnJh
Z21lbnQuCisKKyAgICAgICAgVGhpcyBwYXRjaCBtb2RpZmllZCB0aGUgY2FjaGUga2V5IHRvIHRh
a2UgaW50byBhY2NvdW50IHRoaXMgaGVhZGVyCisgICAgICAgIGZpZWxkLgorCisgICAgICAgICog
TmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
TmV0d29ya0NhY2hlOjptYWtlQ2FjaGVLZXkpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2Nh
Y2hlL05ldHdvcmtDYWNoZUtleS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6
S2V5OjpLZXkpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OktleTo6b3BlcmF0b3I9
KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpLZXk6OmNvbXB1dGVIYXNoKToKKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpLZXk6Om9wZXJhdG9yPT0pOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrQ2FjaGU6OktleTo6ZW5jb2RlKToKKyAgICAgICAgKFdlYktpdDo6TmV0
d29ya0NhY2hlOjpLZXk6OmRlY29kZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUv
TmV0d29ya0NhY2hlS2V5Lmg6CisKIDIwMTUtMDUtMTQgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25A
YXBwbGUuY29tPgogCiAgICAgICAgIFJlbmFtZSBjb25uZWN0aW9uRGlkQ2xvc2UgYW5kIHJlbGF0
ZWQgbWV0aG9kcyB0byBiZSBtb3JlIGNsZWFyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5jcHAKaW5kZXggMzZkMzFlZTljYTlhNTBh
NTYwYjA5NDRjM2UzMDhlNzRmOGEwNDg0Ny4uYTJjOGMwYTBkYTYyMjdiODMyM2VjYWRjMmVlOGE3
ZmVjY2ViNTM2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvTmV0d29ya0NhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9j
YWNoZS9OZXR3b3JrQ2FjaGUuY3BwCkBAIC0xMDksNyArMTA5LDEwIEBAIHN0YXRpYyBLZXkgbWFr
ZUNhY2hlS2V5KGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKICNlbmRp
ZgogICAgIGlmIChwYXJ0aXRpb24uaXNFbXB0eSgpKQogICAgICAgICBwYXJ0aXRpb24gPSBBU0NJ
SUxpdGVyYWwoIk5vIHBhcnRpdGlvbiIpOwotICAgIHJldHVybiB7IHJlcXVlc3QuaHR0cE1ldGhv
ZCgpLCBwYXJ0aXRpb24sIHJlcXVlc3QudXJsKCkuc3RyaW5nKCkgIH07CisgICAgU3RyaW5nIHJh
bmdlID0gcmVxdWVzdC5odHRwSGVhZGVyRmllbGQoV2ViQ29yZTo6SFRUUEhlYWRlck5hbWU6OlJh
bmdlKTsKKyAgICBpZiAocmFuZ2UuaXNFbXB0eSgpKQorICAgICAgICByYW5nZSA9IEFTQ0lJTGl0
ZXJhbCgiTm8gcmFuZ2UiKTsKKyAgICByZXR1cm4geyByZXF1ZXN0Lmh0dHBNZXRob2QoKSwgcGFy
dGl0aW9uLCByYW5nZSwgcmVxdWVzdC51cmwoKS5zdHJpbmcoKSAgfTsKIH0KIAogc3RhdGljIFN0
cmluZyBoZWFkZXJWYWx1ZUZvclZhcnkoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiBy
ZXF1ZXN0LCBjb25zdCBTdHJpbmcmIGhlYWRlck5hbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVLZXkuY3BwIGIvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlS2V5LmNwcAppbmRleCAyMDgx
ODI4MWYzNTA3ZmEwMzAzNGU2NDM0Y2I1MDkzNjU1NzM3MjMxLi4zOTY1YzdmMjQyZjAwNzg3ODIy
NjM2MGMwZGQ0Y2E2MjljN2Y2YTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVLZXkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUtleS5jcHAKQEAgLTQwLDE0ICs0MCwxNiBA
QCBLZXk6OktleShjb25zdCBLZXkmIG8pCiAgICAgOiBtX21ldGhvZChvLm1fbWV0aG9kLmlzb2xh
dGVkQ29weSgpKQogICAgICwgbV9wYXJ0aXRpb24oby5tX3BhcnRpdGlvbi5pc29sYXRlZENvcHko
KSkKICAgICAsIG1faWRlbnRpZmllcihvLm1faWRlbnRpZmllci5pc29sYXRlZENvcHkoKSkKKyAg
ICAsIG1fcmFuZ2Uoby5tX3JhbmdlLmlzb2xhdGVkQ29weSgpKQogICAgICwgbV9oYXNoKG8ubV9o
YXNoKQogewogfQogCi1LZXk6OktleShjb25zdCBTdHJpbmcmIG1ldGhvZCwgY29uc3QgU3RyaW5n
JiBwYXJ0aXRpb24sIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllcikKK0tleTo6S2V5KGNvbnN0IFN0
cmluZyYgbWV0aG9kLCBjb25zdCBTdHJpbmcmIHBhcnRpdGlvbiwgY29uc3QgU3RyaW5nJiByYW5n
ZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyKQogICAgIDogbV9tZXRob2QobWV0aG9kLmlzb2xh
dGVkQ29weSgpKQogICAgICwgbV9wYXJ0aXRpb24ocGFydGl0aW9uLmlzb2xhdGVkQ29weSgpKQog
ICAgICwgbV9pZGVudGlmaWVyKGlkZW50aWZpZXIuaXNvbGF0ZWRDb3B5KCkpCisgICAgLCBtX3Jh
bmdlKHJhbmdlLmlzb2xhdGVkQ29weSgpKQogICAgICwgbV9oYXNoKGNvbXB1dGVIYXNoKCkpCiB7
CiB9CkBAIC01Nyw2ICs1OSw3IEBAIEtleSYgS2V5OjpvcGVyYXRvcj0oY29uc3QgS2V5JiBvdGhl
cikKICAgICBtX21ldGhvZCA9IG90aGVyLm1fbWV0aG9kLmlzb2xhdGVkQ29weSgpOwogICAgIG1f
cGFydGl0aW9uID0gb3RoZXIubV9wYXJ0aXRpb24uaXNvbGF0ZWRDb3B5KCk7CiAgICAgbV9pZGVu
dGlmaWVyID0gb3RoZXIubV9pZGVudGlmaWVyLmlzb2xhdGVkQ29weSgpOworICAgIG1fcmFuZ2Ug
PSBvdGhlci5tX3JhbmdlLmlzb2xhdGVkQ29weSgpOwogICAgIG1faGFzaCA9IG90aGVyLm1faGFz
aDsKICAgICByZXR1cm4gKnRoaXM7CiB9CkBAIC04Miw2ICs4NSw3IEBAIEtleTo6SGFzaFR5cGUg
S2V5Ojpjb21wdXRlSGFzaCgpIGNvbnN0CiAgICAgaGFzaFN0cmluZyhtZDUsIG1fbWV0aG9kKTsK
ICAgICBoYXNoU3RyaW5nKG1kNSwgbV9wYXJ0aXRpb24pOwogICAgIGhhc2hTdHJpbmcobWQ1LCBt
X2lkZW50aWZpZXIpOworICAgIGhhc2hTdHJpbmcobWQ1LCBtX3JhbmdlKTsKICAgICBNRDU6OkRp
Z2VzdCBoYXNoOwogICAgIG1kNS5jaGVja3N1bShoYXNoKTsKICAgICByZXR1cm4gaGFzaDsKQEAg
LTEyMSw3ICsxMjUsNyBAQCBib29sIEtleTo6c3RyaW5nVG9IYXNoKGNvbnN0IFN0cmluZyYgc3Ry
aW5nLCBIYXNoVHlwZSYgaGFzaCkKIAogYm9vbCBLZXk6Om9wZXJhdG9yPT0oY29uc3QgS2V5JiBv
dGhlcikgY29uc3QKIHsKLSAgICByZXR1cm4gbV9oYXNoID09IG90aGVyLm1faGFzaCAmJiBtX21l
dGhvZCA9PSBvdGhlci5tX21ldGhvZCAmJiBtX3BhcnRpdGlvbiA9PSBvdGhlci5tX3BhcnRpdGlv
biAmJiBtX2lkZW50aWZpZXIgPT0gb3RoZXIubV9pZGVudGlmaWVyOworICAgIHJldHVybiBtX2hh
c2ggPT0gb3RoZXIubV9oYXNoICYmIG1fbWV0aG9kID09IG90aGVyLm1fbWV0aG9kICYmIG1fcGFy
dGl0aW9uID09IG90aGVyLm1fcGFydGl0aW9uICYmIG1faWRlbnRpZmllciA9PSBvdGhlci5tX2lk
ZW50aWZpZXIgJiYgbV9yYW5nZSA9PSBvdGhlci5tX3JhbmdlOwogfQogCiB2b2lkIEtleTo6ZW5j
b2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CkBAIC0xMjksMTIgKzEzMywxMyBAQCB2b2lkIEtl
eTo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgZW5jb2RlciA8PCBtX21ldGhv
ZDsKICAgICBlbmNvZGVyIDw8IG1fcGFydGl0aW9uOwogICAgIGVuY29kZXIgPDwgbV9pZGVudGlm
aWVyOworICAgIGVuY29kZXIgPDwgbV9yYW5nZTsKICAgICBlbmNvZGVyIDw8IG1faGFzaDsKIH0K
IAogYm9vbCBLZXk6OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBLZXkmIGtleSkKIHsKLSAgICBy
ZXR1cm4gZGVjb2Rlci5kZWNvZGUoa2V5Lm1fbWV0aG9kKSAmJiBkZWNvZGVyLmRlY29kZShrZXku
bV9wYXJ0aXRpb24pICYmIGRlY29kZXIuZGVjb2RlKGtleS5tX2lkZW50aWZpZXIpICYmIGRlY29k
ZXIuZGVjb2RlKGtleS5tX2hhc2gpOworICAgIHJldHVybiBkZWNvZGVyLmRlY29kZShrZXkubV9t
ZXRob2QpICYmIGRlY29kZXIuZGVjb2RlKGtleS5tX3BhcnRpdGlvbikgJiYgZGVjb2Rlci5kZWNv
ZGUoa2V5Lm1faWRlbnRpZmllcikgJiYgZGVjb2Rlci5kZWNvZGUoa2V5Lm1fcmFuZ2UpICYmIGRl
Y29kZXIuZGVjb2RlKGtleS5tX2hhc2gpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVLZXkuaCBiL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUtleS5oCmluZGV4IDg4ZDIwNGU3
MDY1YjZlYzAyMjJkNTQyNGVhOGViMTQ1MzFhOTRiZDAuLjYxMTdkZmI5MWNlYTk0ZDUxOTczNjQy
YjM1YWZhYmRiOTQ0MDAwYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL2NhY2hlL05ldHdvcmtDYWNoZUtleS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUtleS5oCkBAIC00NCw3ICs0NCw3IEBAIHB1YmxpYzoK
ICAgICBLZXkoKSB7IH0KICAgICBLZXkoY29uc3QgS2V5Jik7CiAgICAgS2V5KEtleSYmKSA9IGRl
ZmF1bHQ7Ci0gICAgS2V5KGNvbnN0IFN0cmluZyYgbWV0aG9kLCBjb25zdCBTdHJpbmcmIHBhcnRp
dGlvbiwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyKTsKKyAgICBLZXkoY29uc3QgU3RyaW5nJiBt
ZXRob2QsIGNvbnN0IFN0cmluZyYgcGFydGl0aW9uLCBjb25zdCBTdHJpbmcmIHJhbmdlLCBjb25z
dCBTdHJpbmcmIGlkZW50aWZpZXIpOwogCiAgICAgS2V5JiBvcGVyYXRvcj0oY29uc3QgS2V5Jik7
CiAgICAgS2V5JiBvcGVyYXRvcj0oS2V5JiYpID0gZGVmYXVsdDsKQEAgLTc0LDYgKzc0LDcgQEAg
cHJpdmF0ZToKICAgICBTdHJpbmcgbV9tZXRob2Q7CiAgICAgU3RyaW5nIG1fcGFydGl0aW9uOwog
ICAgIFN0cmluZyBtX2lkZW50aWZpZXI7CisgICAgU3RyaW5nIG1fcmFuZ2U7CiAgICAgSGFzaFR5
cGUgbV9oYXNoOwogfTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDI2YzE0N2I4NjIyMzUzMzM4OTkzZDlhNjAzZTYzYzhk
OWQ2OTZlZGQuLmE4NTM5NWNiNmJiNjM1NDNlN2I3NzYxMGIxNWFiNmVlMGEzNzk1YjUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxOSBAQAorMjAxNS0wNS0xNSAgTWFyY29zIENoYXZhcnLDrWEgVGVpamVpcm8g
IDxtY2hhdmFycmlhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS10gTGF5b3V0IFRlc3QgaHR0
cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yYW5nZS10ZXN0Lmh0bWwgaXMgZmFpbGluZworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0NjgyCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIHRlc3Qgd2FzIGZh
aWxpbmcgYmVjYXVzZSBkaXNrIGNhY2hlIGRpZG4ndCB0YWtlIGludG8gYWNjb3VudCB0aGUKKyAg
ICAgICAgUmFuZ2UgaGVhZGVyIGFuZCBpdCByZXR1cm5zIHRoZSBjYWNoZWQgZnVsbCBmaWxlIGlu
c3RlYWQgb2YgdGhlCisgICAgICAgIHJlcXVpcmVkIGZyYWdtZW50LgorCisgICAgICAgIFRoaXMg
cGF0Y2ggbW9kaWZpZWQgdGhlIGNhY2hlIGtleSB0byB0YWtlIGludG8gYWNjb3VudCB0aGlzIGhl
YWRlcgorICAgICAgICBmaWVsZC4KKworICAgICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhwZWN0
YXRpb25zOiBVcGRhdGUgRXhwZWN0YXRpb25zLgorCiAyMDE1LTA1LTE0ICBaYWxhbiBCdWp0YXMg
IDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgSW1hZ2VzIG9uIHd3dy5maXRzdHlsZWxpZmUu
Y29tIGppZ2dsZSBvbiBob3Zlci4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0
ay9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3Rh
dGlvbnMKaW5kZXggN2JkZWQ5YmY5YmVlZGQwZDJhMWQzZDk1M2I3MTIwN2U4NTJmZDc0MC4uMGVl
NDdmOTliODAwYjI5NDE4OGI1MmUzMjQ3NjcyYjM3ODg2MTM3ZSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTIyNzIsOCArMjI3Miw2IEBAIHdlYmtpdC5v
cmcvYi8xNDQ3NjUgZmFzdC9ldmVudHMvdG91Y2gvdG91Y2gtaW5zaWRlLWlmcmFtZS5odG1sIFsg
VGltZW91dCBdCiAKIHdlYmtpdC5vcmcvYi8xNDQ3NjMgZmFzdC9ldmVudHMvc2Nyb2xsLWluLXNj
YWxlZC1wYWdlLXdpdGgtb3ZlcmZsb3ctaGlkZGVuLmh0bWwKIAotd2Via2l0Lm9yZy9iLzE0NDY4
MiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3JhbmdlLXRlc3QuaHRtbCBbIEZhaWx1cmUgXQot
CiAjLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogIyBFbmQgb2YgVGVzdHMgZmFpbGlu
ZwogIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253328</attachid>
            <date>2015-05-18 09:20:20 -0700</date>
            <delta_ts>2015-05-20 01:23:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144682-20150518182018.patch</filename>
            <type>text/plain</type>
            <size>11595</size>
            <attacher name="Marcos Chavarría Teijeiro (irc: chavaone)">chavarria1991</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0NDQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYjVmODUwYzMyYmFlY2Zi
NzRmZDk0ZDk1MDRlNTU4Mzg3NGI3ZjhhOC4uOGRjYTRkMWQ2ZTgxZjJjMjdiY2ViNWY0OTA2NzMz
YTQyYTBiNjliYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE1LTA1LTE4ICBNYXJj
b3MgQ2hhdmFycsOtYSBUZWlqZWlybyAgPG1jaGF2YXJyaWFAaWdhbGlhLmNvbT4KKworICAgICAg
ICBFbmFibGUgZGlzayBjYWNoZSBmb3IgcmFuZ2UgcmVxdWVzdHMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NDY4MgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBSYW5nZSBoZWFkZXIgdmFsdWUgdG8g
dGhlIG5ldHdvcmsgY2FjaGUga2V5IGNvbnN0cnVjdG9yIHNvIHdlIHRha2UKKyAgICAgICAgaW50
byBhY2NvdW50IHRoaXMgdmFsdWUuIFRoZSAyMDYgcmVzcG9uc2UgY29kZSBpcyBhbHNvIG1hcmtl
ZCB0byBiZSBjYWNoZWQuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3Jr
Q2FjaGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6Om1ha2VDYWNoZUtleSk6
CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6aXNTdGF0dXNDb2RlQ2FjaGVhYmxlQnlE
ZWZhdWx0KToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVLZXku
Y3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OktleTo6S2V5KToKKyAgICAgICAg
KFdlYktpdDo6TmV0d29ya0NhY2hlOjpLZXk6Om9wZXJhdG9yPSk6CisgICAgICAgIChXZWJLaXQ6
Ok5ldHdvcmtDYWNoZTo6S2V5Ojpjb21wdXRlSGFzaCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdv
cmtDYWNoZTo6S2V5OjpvcGVyYXRvcj09KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hl
OjpLZXk6OmVuY29kZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6S2V5OjpkZWNv
ZGUpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OktleTo6c3RyaW5nVG9IYXNoKTog
RGVsZXRlZC4KKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVLZXku
aDoKKwogMjAxNS0wNS0xNyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5j
b20+CiAKICAgICAgICAgTmV0d29yayBDYWNoZTogTWFrZSBEYXRhOjphZG9wdE1hcCB0YWtlIHRo
ZSBvd25lcnNoaXAgb2YgdGhlIGZpbGUgZGVzY3JpcHRvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5jcHAKaW5kZXggMzZkMzFlZTlj
YTlhNTBhNTYwYjA5NDRjM2UzMDhlNzRmOGEwNDg0Ny4uYzJhNjgxYWE4MmE0N2ExODUwNmVhZDc1
MTM2YTcxZjgxYjQ0Y2EyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuY3BwCkBAIC0xMDksNyArMTA5LDEwIEBAIHN0YXRpYyBL
ZXkgbWFrZUNhY2hlS2V5KGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkK
ICNlbmRpZgogICAgIGlmIChwYXJ0aXRpb24uaXNFbXB0eSgpKQogICAgICAgICBwYXJ0aXRpb24g
PSBBU0NJSUxpdGVyYWwoIk5vIHBhcnRpdGlvbiIpOwotICAgIHJldHVybiB7IHJlcXVlc3QuaHR0
cE1ldGhvZCgpLCBwYXJ0aXRpb24sIHJlcXVlc3QudXJsKCkuc3RyaW5nKCkgIH07CisgICAgU3Ry
aW5nIHJhbmdlID0gcmVxdWVzdC5odHRwSGVhZGVyRmllbGQoV2ViQ29yZTo6SFRUUEhlYWRlck5h
bWU6OlJhbmdlKTsKKyAgICBpZiAocmFuZ2UuaXNFbXB0eSgpKQorICAgICAgICByYW5nZSA9IEFT
Q0lJTGl0ZXJhbCgiTm8gcmFuZ2UiKTsKKyAgICByZXR1cm4geyByZXF1ZXN0Lmh0dHBNZXRob2Qo
KSwgcGFydGl0aW9uLCByYW5nZSwgcmVxdWVzdC51cmwoKS5zdHJpbmcoKSAgfTsKIH0KIAogc3Rh
dGljIFN0cmluZyBoZWFkZXJWYWx1ZUZvclZhcnkoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1
ZXN0JiByZXF1ZXN0LCBjb25zdCBTdHJpbmcmIGhlYWRlck5hbWUpCkBAIC0yMzYsNiArMjM5LDcg
QEAgc3RhdGljIGJvb2wgaXNTdGF0dXNDb2RlQ2FjaGVhYmxlQnlEZWZhdWx0KGludCBzdGF0dXND
b2RlKQogICAgIHN3aXRjaCAoc3RhdHVzQ29kZSkgewogICAgIGNhc2UgMjAwOiAvLyBPSwogICAg
IGNhc2UgMjAzOiAvLyBOb24tQXV0aG9yaXRhdGl2ZSBJbmZvcm1hdGlvbgorICAgIGNhc2UgMjA2
OiAvLyBQYXJ0aWFsIENvbnRlbnQKICAgICBjYXNlIDIwNDogLy8gTm8gQ29udGVudAogICAgIGNh
c2UgMzAwOiAvLyBNdWx0aXBsZSBDaG9pY2VzCiAgICAgY2FzZSAzMDE6IC8vIE1vdmVkIFBlcm1h
bmVudGx5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9O
ZXR3b3JrQ2FjaGVLZXkuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUv
TmV0d29ya0NhY2hlS2V5LmNwcAppbmRleCAyMDgxODI4MWYzNTA3ZmEwMzAzNGU2NDM0Y2I1MDkz
NjU1NzM3MjMxLi4zOTY1YzdmMjQyZjAwNzg3ODIyNjM2MGMwZGQ0Y2E2MjljN2Y2YTM3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVL
ZXkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtD
YWNoZUtleS5jcHAKQEAgLTQwLDE0ICs0MCwxNiBAQCBLZXk6OktleShjb25zdCBLZXkmIG8pCiAg
ICAgOiBtX21ldGhvZChvLm1fbWV0aG9kLmlzb2xhdGVkQ29weSgpKQogICAgICwgbV9wYXJ0aXRp
b24oby5tX3BhcnRpdGlvbi5pc29sYXRlZENvcHkoKSkKICAgICAsIG1faWRlbnRpZmllcihvLm1f
aWRlbnRpZmllci5pc29sYXRlZENvcHkoKSkKKyAgICAsIG1fcmFuZ2Uoby5tX3JhbmdlLmlzb2xh
dGVkQ29weSgpKQogICAgICwgbV9oYXNoKG8ubV9oYXNoKQogewogfQogCi1LZXk6OktleShjb25z
dCBTdHJpbmcmIG1ldGhvZCwgY29uc3QgU3RyaW5nJiBwYXJ0aXRpb24sIGNvbnN0IFN0cmluZyYg
aWRlbnRpZmllcikKK0tleTo6S2V5KGNvbnN0IFN0cmluZyYgbWV0aG9kLCBjb25zdCBTdHJpbmcm
IHBhcnRpdGlvbiwgY29uc3QgU3RyaW5nJiByYW5nZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVy
KQogICAgIDogbV9tZXRob2QobWV0aG9kLmlzb2xhdGVkQ29weSgpKQogICAgICwgbV9wYXJ0aXRp
b24ocGFydGl0aW9uLmlzb2xhdGVkQ29weSgpKQogICAgICwgbV9pZGVudGlmaWVyKGlkZW50aWZp
ZXIuaXNvbGF0ZWRDb3B5KCkpCisgICAgLCBtX3JhbmdlKHJhbmdlLmlzb2xhdGVkQ29weSgpKQog
ICAgICwgbV9oYXNoKGNvbXB1dGVIYXNoKCkpCiB7CiB9CkBAIC01Nyw2ICs1OSw3IEBAIEtleSYg
S2V5OjpvcGVyYXRvcj0oY29uc3QgS2V5JiBvdGhlcikKICAgICBtX21ldGhvZCA9IG90aGVyLm1f
bWV0aG9kLmlzb2xhdGVkQ29weSgpOwogICAgIG1fcGFydGl0aW9uID0gb3RoZXIubV9wYXJ0aXRp
b24uaXNvbGF0ZWRDb3B5KCk7CiAgICAgbV9pZGVudGlmaWVyID0gb3RoZXIubV9pZGVudGlmaWVy
Lmlzb2xhdGVkQ29weSgpOworICAgIG1fcmFuZ2UgPSBvdGhlci5tX3JhbmdlLmlzb2xhdGVkQ29w
eSgpOwogICAgIG1faGFzaCA9IG90aGVyLm1faGFzaDsKICAgICByZXR1cm4gKnRoaXM7CiB9CkBA
IC04Miw2ICs4NSw3IEBAIEtleTo6SGFzaFR5cGUgS2V5Ojpjb21wdXRlSGFzaCgpIGNvbnN0CiAg
ICAgaGFzaFN0cmluZyhtZDUsIG1fbWV0aG9kKTsKICAgICBoYXNoU3RyaW5nKG1kNSwgbV9wYXJ0
aXRpb24pOwogICAgIGhhc2hTdHJpbmcobWQ1LCBtX2lkZW50aWZpZXIpOworICAgIGhhc2hTdHJp
bmcobWQ1LCBtX3JhbmdlKTsKICAgICBNRDU6OkRpZ2VzdCBoYXNoOwogICAgIG1kNS5jaGVja3N1
bShoYXNoKTsKICAgICByZXR1cm4gaGFzaDsKQEAgLTEyMSw3ICsxMjUsNyBAQCBib29sIEtleTo6
c3RyaW5nVG9IYXNoKGNvbnN0IFN0cmluZyYgc3RyaW5nLCBIYXNoVHlwZSYgaGFzaCkKIAogYm9v
bCBLZXk6Om9wZXJhdG9yPT0oY29uc3QgS2V5JiBvdGhlcikgY29uc3QKIHsKLSAgICByZXR1cm4g
bV9oYXNoID09IG90aGVyLm1faGFzaCAmJiBtX21ldGhvZCA9PSBvdGhlci5tX21ldGhvZCAmJiBt
X3BhcnRpdGlvbiA9PSBvdGhlci5tX3BhcnRpdGlvbiAmJiBtX2lkZW50aWZpZXIgPT0gb3RoZXIu
bV9pZGVudGlmaWVyOworICAgIHJldHVybiBtX2hhc2ggPT0gb3RoZXIubV9oYXNoICYmIG1fbWV0
aG9kID09IG90aGVyLm1fbWV0aG9kICYmIG1fcGFydGl0aW9uID09IG90aGVyLm1fcGFydGl0aW9u
ICYmIG1faWRlbnRpZmllciA9PSBvdGhlci5tX2lkZW50aWZpZXIgJiYgbV9yYW5nZSA9PSBvdGhl
ci5tX3JhbmdlOwogfQogCiB2b2lkIEtleTo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0
CkBAIC0xMjksMTIgKzEzMywxMyBAQCB2b2lkIEtleTo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIp
IGNvbnN0CiAgICAgZW5jb2RlciA8PCBtX21ldGhvZDsKICAgICBlbmNvZGVyIDw8IG1fcGFydGl0
aW9uOwogICAgIGVuY29kZXIgPDwgbV9pZGVudGlmaWVyOworICAgIGVuY29kZXIgPDwgbV9yYW5n
ZTsKICAgICBlbmNvZGVyIDw8IG1faGFzaDsKIH0KIAogYm9vbCBLZXk6OmRlY29kZShEZWNvZGVy
JiBkZWNvZGVyLCBLZXkmIGtleSkKIHsKLSAgICByZXR1cm4gZGVjb2Rlci5kZWNvZGUoa2V5Lm1f
bWV0aG9kKSAmJiBkZWNvZGVyLmRlY29kZShrZXkubV9wYXJ0aXRpb24pICYmIGRlY29kZXIuZGVj
b2RlKGtleS5tX2lkZW50aWZpZXIpICYmIGRlY29kZXIuZGVjb2RlKGtleS5tX2hhc2gpOworICAg
IHJldHVybiBkZWNvZGVyLmRlY29kZShrZXkubV9tZXRob2QpICYmIGRlY29kZXIuZGVjb2RlKGtl
eS5tX3BhcnRpdGlvbikgJiYgZGVjb2Rlci5kZWNvZGUoa2V5Lm1faWRlbnRpZmllcikgJiYgZGVj
b2Rlci5kZWNvZGUoa2V5Lm1fcmFuZ2UpICYmIGRlY29kZXIuZGVjb2RlKGtleS5tX2hhc2gpOwog
fQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9O
ZXR3b3JrQ2FjaGVLZXkuaCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05l
dHdvcmtDYWNoZUtleS5oCmluZGV4IDg4ZDIwNGU3MDY1YjZlYzAyMjJkNTQyNGVhOGViMTQ1MzFh
OTRiZDAuLjYxMTdkZmI5MWNlYTk0ZDUxOTczNjQyYjM1YWZhYmRiOTQ0MDAwYTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUtleS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUtl
eS5oCkBAIC00NCw3ICs0NCw3IEBAIHB1YmxpYzoKICAgICBLZXkoKSB7IH0KICAgICBLZXkoY29u
c3QgS2V5Jik7CiAgICAgS2V5KEtleSYmKSA9IGRlZmF1bHQ7Ci0gICAgS2V5KGNvbnN0IFN0cmlu
ZyYgbWV0aG9kLCBjb25zdCBTdHJpbmcmIHBhcnRpdGlvbiwgY29uc3QgU3RyaW5nJiBpZGVudGlm
aWVyKTsKKyAgICBLZXkoY29uc3QgU3RyaW5nJiBtZXRob2QsIGNvbnN0IFN0cmluZyYgcGFydGl0
aW9uLCBjb25zdCBTdHJpbmcmIHJhbmdlLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIpOwogCiAg
ICAgS2V5JiBvcGVyYXRvcj0oY29uc3QgS2V5Jik7CiAgICAgS2V5JiBvcGVyYXRvcj0oS2V5JiYp
ID0gZGVmYXVsdDsKQEAgLTc0LDYgKzc0LDcgQEAgcHJpdmF0ZToKICAgICBTdHJpbmcgbV9tZXRo
b2Q7CiAgICAgU3RyaW5nIG1fcGFydGl0aW9uOwogICAgIFN0cmluZyBtX2lkZW50aWZpZXI7Cisg
ICAgU3RyaW5nIG1fcmFuZ2U7CiAgICAgSGFzaFR5cGUgbV9oYXNoOwogfTsKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGY2
NTUzYjYyMDI4MzE3YmFlNTZkODZmNjc4ZjUyNWQyZDJmYjc2MjcuLmY1NTA0MDBkMTgxN2M3NTY2
Njk2YTJkMzE5MzkyMzg1YmFjOGVkODcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNS0wNS0x
OCAgTWFyY29zIENoYXZhcnLDrWEgVGVpamVpcm8gIDxtY2hhdmFycmlhQGlnYWxpYS5jb20+CisK
KyAgICAgICAgRW5hYmxlIGRpc2sgY2FjaGUgZm9yIHJhbmdlIHJlcXVlc3RzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQ2ODIKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUv
ZGlzay1jYWNoZS9kaXNrLWNhY2hlLXJhbmdlLWV4cGVjdGVkLnR4dDogQWRkZWQuIEFkZCBUZXN0
LgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9kaXNrLWNhY2hlLXJhbmdl
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNv
dXJjZXMvZ2VuZXJhdGUtcmVzcG9uc2UuY2dpOiBNb2RpZnkgc2NyaXB0IHRvIHJldHVybiAyMDYg
YW5kIDQxNiByZXNwb25zZSBjb2RlcyBpZiBSYW5nZSBoZWFkZXIgaXMgcHJlc2VudC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uczogUmVtb3ZlIGZhaWxpbmcgdGVzdC4K
KwogMjAxNS0wNS0xNyAgQmVuamFtaW4gUG91bGFpbiAgPGJlbmphbWluQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgW0pTQ10gTWFrZSBTdHJpbmdSZWN1cnNpb25DaGVja2VyIGZhc3RlciBpbiB0aGUg
c2ltcGxlIGNhc2VzIHdpdGhvdXQgYW55IHJlY3Vyc2lvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL2Rpc2stY2FjaGUtcmFuZ2UtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL2Rpc2stY2FjaGUt
cmFuZ2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIwNzA2MzAxZDUzOTFjYzNlMTViNTE2ZGUw
NTMyZWUxYWNjOTNjMTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlL2Rpc2stY2FjaGUvZGlzay1jYWNoZS1yYW5nZS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzMyBAQAorVGVzdCB0aGF0IHJlcXVlc3Qgd2l0aCBkaWZmZXJlbnQgUmFuZ2UgaGVhZGVyIHZh
bHVlcyB3b3JrLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworcmVzcG9uc2UgaGVh
ZGVyczogeyJDYWNoZS1jb250cm9sIjoibWF4LWFnZT0xMDAifQorcmVzcG9uc2Ugc291cmNlOiBE
aXNrIGNhY2hlCityZXNwb25zZSBzdGF0dXM6IDIwMAorCityZXNwb25zZSBoZWFkZXJzOiB7IkNh
Y2hlLWNvbnRyb2wiOiJtYXgtYWdlPTAifQorcmVzcG9uc2Ugc291cmNlOiBOZXR3b3JrCityZXNw
b25zZSBzdGF0dXM6IDIwMAorCityZXNwb25zZSBoZWFkZXJzOiB7IkNhY2hlLWNvbnRyb2wiOiJt
YXgtYWdlPTEwMCIsIlJhbmdlIjoiYnl0ZXM9Mi00In0KK3Jlc3BvbnNlIHNvdXJjZTogRGlzayBj
YWNoZQorcmVzcG9uc2Ugc3RhdHVzOiAyMDYKKworcmVzcG9uc2UgaGVhZGVyczogeyJDYWNoZS1j
b250cm9sIjoibWF4LWFnZT0wIiwiUmFuZ2UiOiJieXRlcz0yLTQifQorcmVzcG9uc2Ugc291cmNl
OiBOZXR3b3JrCityZXNwb25zZSBzdGF0dXM6IDIwNgorCityZXNwb25zZSBoZWFkZXJzOiB7IkNh
Y2hlLWNvbnRyb2wiOiJtYXgtYWdlPTEwMCIsIlJhbmdlIjoiYnl0ZXM9NS03In0KK3Jlc3BvbnNl
IHNvdXJjZTogTmV0d29yaworcmVzcG9uc2Ugc3RhdHVzOiA0MTYKKworcmVzcG9uc2UgaGVhZGVy
czogeyJDYWNoZS1jb250cm9sIjoibWF4LWFnZT0wIiwiUmFuZ2UiOiJieXRlcz01LTcifQorcmVz
cG9uc2Ugc291cmNlOiBOZXR3b3JrCityZXNwb25zZSBzdGF0dXM6IDQxNgorCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL2Rpc2stY2FjaGUtcmFuZ2UuaHRt
bCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9kaXNrLWNhY2hlLXJh
bmdlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMDQ4YTQwNDNkZTA5Y2ZiMGJhOWE2N2YxZmJjYjNjYTk1MThl
MzI1ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlz
ay1jYWNoZS9kaXNrLWNhY2hlLXJhbmdlLmh0bWwKQEAgLTAsMCArMSw0NCBAQAorPHNjcmlwdCBz
cmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0icmVzb3VyY2VzL2NhY2hlLXRlc3QuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0
PgorCisgLy9SZWRlZmluZSBwcmludFJlc3VsdHMgZnVuY3Rpb24gdG8gcHJpbnQgYWxzbyByZXNw
b25zZSBzdGF0dXMuCitmdW5jdGlvbiBwcmludFJlc3VsdHModGVzdHMpCit7CisgICAgZm9yICh2
YXIgaSA9IDA7IGkgPCB0ZXN0cy5sZW5ndGg7ICsraSkgeworICAgICAgICB2YXIgdGVzdCA9IHRl
c3RzW2ldOworICAgICAgICBkZWJ1ZygicmVzcG9uc2UgaGVhZGVyczogIiArIEpTT04uc3RyaW5n
aWZ5KHRlc3QucmVzcG9uc2VIZWFkZXJzKSk7CisgICAgICAgIGlmICh0ZXN0LmV4cGlyZXNJbkZ1
dHVyZUluMzA0KQorICAgICAgICAgICAgZGVidWcoInJlc3BvbnNlJ3MgJ0V4cGlyZXMnIGhlYWRl
ciBpcyBvdmVycmlkZW4gYnkgZnV0dXJlIGRhdGUgaW4gMzA0IHJlc3BvbnNlIik7CisgICAgICAg
IGlmICh0ZXN0LnJlcXVlc3RIZWFkZXJzKQorICAgICAgICAgICAgZGVidWcoInJlcXVlc3QgaGVh
ZGVyczogIiArIEpTT04uc3RyaW5naWZ5KHRlc3QucmVxdWVzdEhlYWRlcnMpKTsKKyAgICAgICAg
cmVzcG9uc2VTb3VyY2UgPSBpbnRlcm5hbHMueGhyUmVzcG9uc2VTb3VyY2UodGVzdC54aHIpOwor
ICAgICAgICBkZWJ1ZygicmVzcG9uc2Ugc291cmNlOiAiICsgcmVzcG9uc2VTb3VyY2UpOworCWRl
YnVnKCJyZXNwb25zZSBzdGF0dXM6ICIgKyB0ZXN0Lnhoci5zdGF0dXMpOworICAgICAgICBkZWJ1
ZygiIik7CisgICAgfQorfQorCisKK3ZhciB0ZXN0TWF0cml4ID0KK1sKKyAgICBbCisJeyByZXNw
b25zZUhlYWRlcnM6IHsnQ2FjaGUtY29udHJvbCc6ICdtYXgtYWdlPTEwMCcgfSB9LAorCXsgcmVz
cG9uc2VIZWFkZXJzOiB7J0NhY2hlLWNvbnRyb2wnOiAnbWF4LWFnZT0wJyB9IH0sCisgICAgXSwK
KyAgICBbCisgICAgICAgIHsgcmVzcG9uc2VIZWFkZXJzOiB7fX0sCisgICAgICAgIHsgcmVzcG9u
c2VIZWFkZXJzOiB7J1JhbmdlJzogJ2J5dGVzPTItNCcgfSB9LAorICAgICAgICB7IHJlc3BvbnNl
SGVhZGVyczogeydSYW5nZSc6ICdieXRlcz01LTcnIH0gfSwKKyAgICBdCitdOworCitkZXNjcmlw
dGlvbigiVGVzdCB0aGF0IHJlcXVlc3Qgd2l0aCBkaWZmZXJlbnQgUmFuZ2UgaGVhZGVyIHZhbHVl
cyB3b3JrLiIpOworCit2YXIgdGVzdHMgPSBnZW5lcmF0ZVRlc3RzKHRlc3RNYXRyaXgpOworCity
dW5UZXN0cyh0ZXN0cyk7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9nZW5lcmF0ZS1yZXNwb25zZS5j
Z2kgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL2dl
bmVyYXRlLXJlc3BvbnNlLmNnaQppbmRleCAxMzBkNDZkOTNkNzMxNThiZTdmOGYxNGUyNjEyYjc4
ZTY1YmE0NWY1Li5hMWY4ZWY3MjQxZTg4MTQxOTIyY2EzOWE3NTU3N2ExYTlkOGJhODNkIDEwMDc1
NQotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2Vz
L2dlbmVyYXRlLXJlc3BvbnNlLmNnaQorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
L2Rpc2stY2FjaGUvcmVzb3VyY2VzL2dlbmVyYXRlLXJlc3BvbnNlLmNnaQpAQCAtMTksNiArMTks
MTggQEAgaWYgKCRxdWVyeS0+aHR0cCAmJiAkcXVlcnktPmh0dHAoIklmLU5vbmUtTWF0Y2giKSBl
cSAibWF0Y2giKSB7CiAgICAgfQogfQogCitpZiAoJHF1ZXJ5LT5odHRwICYmICRxdWVyeS0+cGFy
YW0oIlJhbmdlIikgPX4gL2J5dGVzPShcZCspLShcZCspLykgeworCisgICAgaWYgKCQxIDwgNiAm
JiAkMiA8IDYpIHsKKyAgICAgICAgcHJpbnQgIlN0YXR1czogMjA2XG4iOworICAgIH0gZWxzZSB7
CisJcHJpbnQgIlN0YXR1czogNDE2XG4iOworICAgIH0KKworICAgICRoYXNTdGF0dXNDb2RlID0g
MTsKK30KKworCiBmb3JlYWNoIChAbmFtZXMpIHsKICAgICBuZXh0IGlmICgkXyBlcSAidW5pcXVl
SWQiKTsKICAgICBuZXh0IGlmICgkXyBlcSAiaW5jbHVkZS1ib2R5Iik7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGIyYzcxZjU1YjE0NTkzNTU3OTU5NzY1
NzM0NDIxN2ZlNDkyY2QyY2YuLmJiOTRkNTVmMmFhMmQ0NGNmMzRiY2QwNDBjMjJlYTZkOTkxZTMw
YWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25z
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC0yMjc4
LDggKzIyNzgsNiBAQCB3ZWJraXQub3JnL2IvMTQ0NzY1IGZhc3QvZXZlbnRzL3RvdWNoL3RvdWNo
LWluc2lkZS1pZnJhbWUuaHRtbCBbIFRpbWVvdXQgXQogCiB3ZWJraXQub3JnL2IvMTQ0NzYzIGZh
c3QvZXZlbnRzL3Njcm9sbC1pbi1zY2FsZWQtcGFnZS13aXRoLW92ZXJmbG93LWhpZGRlbi5odG1s
CiAKLXdlYmtpdC5vcmcvYi8xNDQ2ODIgaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yYW5nZS10
ZXN0Lmh0bWwgWyBGYWlsdXJlIF0KLQogd2Via2l0Lm9yZy9iLzE0MTgzNSBtZWRpYS92aWRlby1j
b250cm9scy1uby1zY3JpcHRpbmcuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE0NTA0
OCBodHRwL3Rlc3RzL21pc2MvYmFkLWNoYXJzZXQtYWxpYXMuaHRtbCBbIEZhaWx1cmUgXQogd2Vi
a2l0Lm9yZy9iLzE0NTA0OSBmYXN0L3RleHQvc2ltcGxlLWxpbmUtbGF5b3V0LXRleHQtc3Ryb2tl
LXdpZHRoLmh0bWwgWyBGYWlsdXJlIF0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253434</attachid>
            <date>2015-05-20 01:23:17 -0700</date>
            <delta_ts>2015-05-20 19:09:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144682-20150520102313.patch</filename>
            <type>text/plain</type>
            <size>12042</size>
            <attacher name="Marcos Chavarría Teijeiro (irc: chavaone)">chavarria1991</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0NDQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYjVmODUwYzMyYmFlY2Zi
NzRmZDk0ZDk1MDRlNTU4Mzg3NGI3ZjhhOC4uOGRjYTRkMWQ2ZTgxZjJjMjdiY2ViNWY0OTA2NzMz
YTQyYTBiNjliYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE1LTA1LTE4ICBNYXJj
b3MgQ2hhdmFycsOtYSBUZWlqZWlybyAgPG1jaGF2YXJyaWFAaWdhbGlhLmNvbT4KKworICAgICAg
ICBFbmFibGUgZGlzayBjYWNoZSBmb3IgcmFuZ2UgcmVxdWVzdHMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NDY4MgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBSYW5nZSBoZWFkZXIgdmFsdWUgdG8g
dGhlIG5ldHdvcmsgY2FjaGUga2V5IGNvbnN0cnVjdG9yIHNvIHdlIHRha2UKKyAgICAgICAgaW50
byBhY2NvdW50IHRoaXMgdmFsdWUuIFRoZSAyMDYgcmVzcG9uc2UgY29kZSBpcyBhbHNvIG1hcmtl
ZCB0byBiZSBjYWNoZWQuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3Jr
Q2FjaGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6Om1ha2VDYWNoZUtleSk6
CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6aXNTdGF0dXNDb2RlQ2FjaGVhYmxlQnlE
ZWZhdWx0KToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVLZXku
Y3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OktleTo6S2V5KToKKyAgICAgICAg
KFdlYktpdDo6TmV0d29ya0NhY2hlOjpLZXk6Om9wZXJhdG9yPSk6CisgICAgICAgIChXZWJLaXQ6
Ok5ldHdvcmtDYWNoZTo6S2V5Ojpjb21wdXRlSGFzaCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdv
cmtDYWNoZTo6S2V5OjpvcGVyYXRvcj09KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hl
OjpLZXk6OmVuY29kZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6S2V5OjpkZWNv
ZGUpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OktleTo6c3RyaW5nVG9IYXNoKTog
RGVsZXRlZC4KKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVLZXku
aDoKKwogMjAxNS0wNS0xNyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5j
b20+CiAKICAgICAgICAgTmV0d29yayBDYWNoZTogTWFrZSBEYXRhOjphZG9wdE1hcCB0YWtlIHRo
ZSBvd25lcnNoaXAgb2YgdGhlIGZpbGUgZGVzY3JpcHRvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5jcHAKaW5kZXggMzZkMzFlZTlj
YTlhNTBhNTYwYjA5NDRjM2UzMDhlNzRmOGEwNDg0Ny4uZjRkMDNkN2IxZjJhNmFlYTE1NGZkMzNm
NjY0NjBmYjJlMDRmYzM3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuY3BwCkBAIC0xMDksNyArMTA5LDExIEBAIHN0YXRpYyBL
ZXkgbWFrZUNhY2hlS2V5KGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkK
ICNlbmRpZgogICAgIGlmIChwYXJ0aXRpb24uaXNFbXB0eSgpKQogICAgICAgICBwYXJ0aXRpb24g
PSBBU0NJSUxpdGVyYWwoIk5vIHBhcnRpdGlvbiIpOwotICAgIHJldHVybiB7IHJlcXVlc3QuaHR0
cE1ldGhvZCgpLCBwYXJ0aXRpb24sIHJlcXVlc3QudXJsKCkuc3RyaW5nKCkgIH07CisKKyAgICAv
LyBGSVhNRTogVGhpcyBpbXBsZW1lbnRzIG1pbmltYWwgUmFuZ2UgaGVhZGVyIGRpc2sgY2FjaGUg
c3VwcG9ydC4gV2UgZG9uJ3QgcGFyc2UKKyAgICAvLyByYW5nZXMgc28gb25seSB0aGUgc2FtZSBl
eGFjdCByYW5nZSByZXF1ZXN0IHdpbGwgYmUgc2VydmVkIGZyb20gdGhlIGNhY2hlLgorICAgIFN0
cmluZyByYW5nZSA9IHJlcXVlc3QuaHR0cEhlYWRlckZpZWxkKFdlYkNvcmU6OkhUVFBIZWFkZXJO
YW1lOjpSYW5nZSk7CisgICAgcmV0dXJuIHsgcmVxdWVzdC5odHRwTWV0aG9kKCksIHBhcnRpdGlv
biwgcmFuZ2UsIHJlcXVlc3QudXJsKCkuc3RyaW5nKCkgIH07CiB9CiAKIHN0YXRpYyBTdHJpbmcg
aGVhZGVyVmFsdWVGb3JWYXJ5KGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdWVz
dCwgY29uc3QgU3RyaW5nJiBoZWFkZXJOYW1lKQpAQCAtMjM3LDYgKzI0MSw3IEBAIHN0YXRpYyBi
b29sIGlzU3RhdHVzQ29kZUNhY2hlYWJsZUJ5RGVmYXVsdChpbnQgc3RhdHVzQ29kZSkKICAgICBj
YXNlIDIwMDogLy8gT0sKICAgICBjYXNlIDIwMzogLy8gTm9uLUF1dGhvcml0YXRpdmUgSW5mb3Jt
YXRpb24KICAgICBjYXNlIDIwNDogLy8gTm8gQ29udGVudAorICAgIGNhc2UgMjA2OiAvLyBQYXJ0
aWFsIENvbnRlbnQKICAgICBjYXNlIDMwMDogLy8gTXVsdGlwbGUgQ2hvaWNlcwogICAgIGNhc2Ug
MzAxOiAvLyBNb3ZlZCBQZXJtYW5lbnRseQogICAgIGNhc2UgNDA0OiAvLyBOb3QgRm91bmQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNo
ZUtleS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2Fj
aGVLZXkuY3BwCmluZGV4IDIwODE4MjgxZjM1MDdmYTAzMDM0ZTY0MzRjYjUwOTM2NTU3MzcyMzEu
LjhhMTQxOGE5MzhiYTgxMTA4NzY4MmI1NDVlMzUzZmQzNjlkMDhhNjEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUtleS5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlS2V5LmNw
cApAQCAtNDAsMTQgKzQwLDE2IEBAIEtleTo6S2V5KGNvbnN0IEtleSYgbykKICAgICA6IG1fbWV0
aG9kKG8ubV9tZXRob2QuaXNvbGF0ZWRDb3B5KCkpCiAgICAgLCBtX3BhcnRpdGlvbihvLm1fcGFy
dGl0aW9uLmlzb2xhdGVkQ29weSgpKQogICAgICwgbV9pZGVudGlmaWVyKG8ubV9pZGVudGlmaWVy
Lmlzb2xhdGVkQ29weSgpKQorICAgICwgbV9yYW5nZShvLm1fcmFuZ2UuaXNvbGF0ZWRDb3B5KCkp
CiAgICAgLCBtX2hhc2goby5tX2hhc2gpCiB7CiB9CiAKLUtleTo6S2V5KGNvbnN0IFN0cmluZyYg
bWV0aG9kLCBjb25zdCBTdHJpbmcmIHBhcnRpdGlvbiwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVy
KQorS2V5OjpLZXkoY29uc3QgU3RyaW5nJiBtZXRob2QsIGNvbnN0IFN0cmluZyYgcGFydGl0aW9u
LCBjb25zdCBTdHJpbmcmIHJhbmdlLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIpCiAgICAgOiBt
X21ldGhvZChtZXRob2QuaXNvbGF0ZWRDb3B5KCkpCiAgICAgLCBtX3BhcnRpdGlvbihwYXJ0aXRp
b24uaXNvbGF0ZWRDb3B5KCkpCiAgICAgLCBtX2lkZW50aWZpZXIoaWRlbnRpZmllci5pc29sYXRl
ZENvcHkoKSkKKyAgICAsIG1fcmFuZ2UocmFuZ2UuaXNvbGF0ZWRDb3B5KCkpCiAgICAgLCBtX2hh
c2goY29tcHV0ZUhhc2goKSkKIHsKIH0KQEAgLTU3LDYgKzU5LDcgQEAgS2V5JiBLZXk6Om9wZXJh
dG9yPShjb25zdCBLZXkmIG90aGVyKQogICAgIG1fbWV0aG9kID0gb3RoZXIubV9tZXRob2QuaXNv
bGF0ZWRDb3B5KCk7CiAgICAgbV9wYXJ0aXRpb24gPSBvdGhlci5tX3BhcnRpdGlvbi5pc29sYXRl
ZENvcHkoKTsKICAgICBtX2lkZW50aWZpZXIgPSBvdGhlci5tX2lkZW50aWZpZXIuaXNvbGF0ZWRD
b3B5KCk7CisgICAgbV9yYW5nZSA9IG90aGVyLm1fcmFuZ2UuaXNvbGF0ZWRDb3B5KCk7CiAgICAg
bV9oYXNoID0gb3RoZXIubV9oYXNoOwogICAgIHJldHVybiAqdGhpczsKIH0KQEAgLTY0LDYgKzY3
LDEwIEBAIEtleSYgS2V5OjpvcGVyYXRvcj0oY29uc3QgS2V5JiBvdGhlcikKIHN0YXRpYyB2b2lk
IGhhc2hTdHJpbmcoTUQ1JiBtZDUsIGNvbnN0IFN0cmluZyYgc3RyaW5nKQogewogICAgIGNvbnN0
IHVpbnQ4X3QgemVybyA9IDA7CisKKyAgICBpZiAoc3RyaW5nLmlzTnVsbCgpKQorICAgICAgICBy
ZXR1cm47CisKICAgICBpZiAoc3RyaW5nLmlzOEJpdCgpICYmIHN0cmluZy5jb250YWluc09ubHlB
U0NJSSgpKSB7CiAgICAgICAgIG1kNS5hZGRCeXRlcyhzdHJpbmcuY2hhcmFjdGVyczgoKSwgc3Ry
aW5nLmxlbmd0aCgpKTsKICAgICAgICAgbWQ1LmFkZEJ5dGVzKCZ6ZXJvLCAxKTsKQEAgLTgyLDYg
Kzg5LDcgQEAgS2V5OjpIYXNoVHlwZSBLZXk6OmNvbXB1dGVIYXNoKCkgY29uc3QKICAgICBoYXNo
U3RyaW5nKG1kNSwgbV9tZXRob2QpOwogICAgIGhhc2hTdHJpbmcobWQ1LCBtX3BhcnRpdGlvbik7
CiAgICAgaGFzaFN0cmluZyhtZDUsIG1faWRlbnRpZmllcik7CisgICAgaGFzaFN0cmluZyhtZDUs
IG1fcmFuZ2UpOwogICAgIE1ENTo6RGlnZXN0IGhhc2g7CiAgICAgbWQ1LmNoZWNrc3VtKGhhc2gp
OwogICAgIHJldHVybiBoYXNoOwpAQCAtMTIxLDcgKzEyOSw3IEBAIGJvb2wgS2V5OjpzdHJpbmdU
b0hhc2goY29uc3QgU3RyaW5nJiBzdHJpbmcsIEhhc2hUeXBlJiBoYXNoKQogCiBib29sIEtleTo6
b3BlcmF0b3I9PShjb25zdCBLZXkmIG90aGVyKSBjb25zdAogewotICAgIHJldHVybiBtX2hhc2gg
PT0gb3RoZXIubV9oYXNoICYmIG1fbWV0aG9kID09IG90aGVyLm1fbWV0aG9kICYmIG1fcGFydGl0
aW9uID09IG90aGVyLm1fcGFydGl0aW9uICYmIG1faWRlbnRpZmllciA9PSBvdGhlci5tX2lkZW50
aWZpZXI7CisgICAgcmV0dXJuIG1faGFzaCA9PSBvdGhlci5tX2hhc2ggJiYgbV9tZXRob2QgPT0g
b3RoZXIubV9tZXRob2QgJiYgbV9wYXJ0aXRpb24gPT0gb3RoZXIubV9wYXJ0aXRpb24gJiYgbV9p
ZGVudGlmaWVyID09IG90aGVyLm1faWRlbnRpZmllciAmJiBtX3JhbmdlID09IG90aGVyLm1fcmFu
Z2U7CiB9CiAKIHZvaWQgS2V5OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKQEAgLTEy
OSwxMiArMTM3LDEzIEBAIHZvaWQgS2V5OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QK
ICAgICBlbmNvZGVyIDw8IG1fbWV0aG9kOwogICAgIGVuY29kZXIgPDwgbV9wYXJ0aXRpb247CiAg
ICAgZW5jb2RlciA8PCBtX2lkZW50aWZpZXI7CisgICAgZW5jb2RlciA8PCBtX3JhbmdlOwogICAg
IGVuY29kZXIgPDwgbV9oYXNoOwogfQogCiBib29sIEtleTo6ZGVjb2RlKERlY29kZXImIGRlY29k
ZXIsIEtleSYga2V5KQogewotICAgIHJldHVybiBkZWNvZGVyLmRlY29kZShrZXkubV9tZXRob2Qp
ICYmIGRlY29kZXIuZGVjb2RlKGtleS5tX3BhcnRpdGlvbikgJiYgZGVjb2Rlci5kZWNvZGUoa2V5
Lm1faWRlbnRpZmllcikgJiYgZGVjb2Rlci5kZWNvZGUoa2V5Lm1faGFzaCk7CisgICAgcmV0dXJu
IGRlY29kZXIuZGVjb2RlKGtleS5tX21ldGhvZCkgJiYgZGVjb2Rlci5kZWNvZGUoa2V5Lm1fcGFy
dGl0aW9uKSAmJiBkZWNvZGVyLmRlY29kZShrZXkubV9pZGVudGlmaWVyKSAmJiBkZWNvZGVyLmRl
Y29kZShrZXkubV9yYW5nZSkgJiYgZGVjb2Rlci5kZWNvZGUoa2V5Lm1faGFzaCk7CiB9CiAKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtD
YWNoZUtleS5oIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0Nh
Y2hlS2V5LmgKaW5kZXggODhkMjA0ZTcwNjViNmVjMDIyMmQ1NDI0ZWE4ZWIxNDUzMWE5NGJkMC4u
NjExN2RmYjkxY2VhOTRkNTE5NzM2NDJiMzVhZmFiZGI5NDQwMDBhMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlS2V5LmgKKysrIGIv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlS2V5LmgKQEAg
LTQ0LDcgKzQ0LDcgQEAgcHVibGljOgogICAgIEtleSgpIHsgfQogICAgIEtleShjb25zdCBLZXkm
KTsKICAgICBLZXkoS2V5JiYpID0gZGVmYXVsdDsKLSAgICBLZXkoY29uc3QgU3RyaW5nJiBtZXRo
b2QsIGNvbnN0IFN0cmluZyYgcGFydGl0aW9uLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIpOwor
ICAgIEtleShjb25zdCBTdHJpbmcmIG1ldGhvZCwgY29uc3QgU3RyaW5nJiBwYXJ0aXRpb24sIGNv
bnN0IFN0cmluZyYgcmFuZ2UsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllcik7CiAKICAgICBLZXkm
IG9wZXJhdG9yPShjb25zdCBLZXkmKTsKICAgICBLZXkmIG9wZXJhdG9yPShLZXkmJikgPSBkZWZh
dWx0OwpAQCAtNzQsNiArNzQsNyBAQCBwcml2YXRlOgogICAgIFN0cmluZyBtX21ldGhvZDsKICAg
ICBTdHJpbmcgbV9wYXJ0aXRpb247CiAgICAgU3RyaW5nIG1faWRlbnRpZmllcjsKKyAgICBTdHJp
bmcgbV9yYW5nZTsKICAgICBIYXNoVHlwZSBtX2hhc2g7CiB9OwogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZjY1NTNiNjIw
MjgzMTdiYWU1NmQ4NmY2NzhmNTI1ZDJkMmZiNzYyNy4uZjU1MDQwMGQxODE3Yzc1NjY2OTZhMmQz
MTkzOTIzODViYWM4ZWQ4NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE1LTA1LTE4ICBNYXJj
b3MgQ2hhdmFycsOtYSBUZWlqZWlybyAgPG1jaGF2YXJyaWFAaWdhbGlhLmNvbT4KKworICAgICAg
ICBFbmFibGUgZGlzayBjYWNoZSBmb3IgcmFuZ2UgcmVxdWVzdHMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NDY4MgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNh
Y2hlL2Rpc2stY2FjaGUtcmFuZ2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4gQWRkIFRlc3QuCisgICAg
ICAgICogaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL2Rpc2stY2FjaGUtcmFuZ2UuaHRtbDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL3Jlc291cmNlcy9n
ZW5lcmF0ZS1yZXNwb25zZS5jZ2k6IE1vZGlmeSBzY3JpcHQgdG8gcmV0dXJuIDIwNiBhbmQgNDE2
IHJlc3BvbnNlIGNvZGVzIGlmIFJhbmdlIGhlYWRlciBpcyBwcmVzZW50LgorICAgICAgICAqIHBs
YXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOiBSZW1vdmUgZmFpbGluZyB0ZXN0LgorCiAyMDE1
LTA1LTE3ICBCZW5qYW1pbiBQb3VsYWluICA8YmVuamFtaW5Ad2Via2l0Lm9yZz4KIAogICAgICAg
ICBbSlNDXSBNYWtlIFN0cmluZ1JlY3Vyc2lvbkNoZWNrZXIgZmFzdGVyIGluIHRoZSBzaW1wbGUg
Y2FzZXMgd2l0aG91dCBhbnkgcmVjdXJzaW9uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvZGlzay1jYWNoZS1yYW5nZS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvZGlzay1jYWNoZS1yYW5nZS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjA3MDYzMDFkNTM5MWNjM2UxNWI1MTZkZTA1MzJlZTFh
Y2M5M2MxNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
ZGlzay1jYWNoZS9kaXNrLWNhY2hlLXJhbmdlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMzIEBA
CitUZXN0IHRoYXQgcmVxdWVzdCB3aXRoIGRpZmZlcmVudCBSYW5nZSBoZWFkZXIgdmFsdWVzIHdv
cmsuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCityZXNwb25zZSBoZWFkZXJzOiB7
IkNhY2hlLWNvbnRyb2wiOiJtYXgtYWdlPTEwMCJ9CityZXNwb25zZSBzb3VyY2U6IERpc2sgY2Fj
aGUKK3Jlc3BvbnNlIHN0YXR1czogMjAwCisKK3Jlc3BvbnNlIGhlYWRlcnM6IHsiQ2FjaGUtY29u
dHJvbCI6Im1heC1hZ2U9MCJ9CityZXNwb25zZSBzb3VyY2U6IE5ldHdvcmsKK3Jlc3BvbnNlIHN0
YXR1czogMjAwCisKK3Jlc3BvbnNlIGhlYWRlcnM6IHsiQ2FjaGUtY29udHJvbCI6Im1heC1hZ2U9
MTAwIiwiUmFuZ2UiOiJieXRlcz0yLTQifQorcmVzcG9uc2Ugc291cmNlOiBEaXNrIGNhY2hlCity
ZXNwb25zZSBzdGF0dXM6IDIwNgorCityZXNwb25zZSBoZWFkZXJzOiB7IkNhY2hlLWNvbnRyb2wi
OiJtYXgtYWdlPTAiLCJSYW5nZSI6ImJ5dGVzPTItNCJ9CityZXNwb25zZSBzb3VyY2U6IE5ldHdv
cmsKK3Jlc3BvbnNlIHN0YXR1czogMjA2CisKK3Jlc3BvbnNlIGhlYWRlcnM6IHsiQ2FjaGUtY29u
dHJvbCI6Im1heC1hZ2U9MTAwIiwiUmFuZ2UiOiJieXRlcz01LTcifQorcmVzcG9uc2Ugc291cmNl
OiBOZXR3b3JrCityZXNwb25zZSBzdGF0dXM6IDQxNgorCityZXNwb25zZSBoZWFkZXJzOiB7IkNh
Y2hlLWNvbnRyb2wiOiJtYXgtYWdlPTAiLCJSYW5nZSI6ImJ5dGVzPTUtNyJ9CityZXNwb25zZSBz
b3VyY2U6IE5ldHdvcmsKK3Jlc3BvbnNlIHN0YXR1czogNDE2CisKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvZGlzay1jYWNoZS1yYW5nZS5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL2Rpc2stY2FjaGUtcmFuZ2UuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4wNDhhNDA0M2RlMDljZmIwYmE5YTY3ZjFmYmNiM2NhOTUxOGUzMjVmCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hl
L2Rpc2stY2FjaGUtcmFuZ2UuaHRtbApAQCAtMCwwICsxLDQ0IEBACis8c2NyaXB0IHNyYz0iL2pz
LXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJy
ZXNvdXJjZXMvY2FjaGUtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisKKyAv
L1JlZGVmaW5lIHByaW50UmVzdWx0cyBmdW5jdGlvbiB0byBwcmludCBhbHNvIHJlc3BvbnNlIHN0
YXR1cy4KK2Z1bmN0aW9uIHByaW50UmVzdWx0cyh0ZXN0cykKK3sKKyAgICBmb3IgKHZhciBpID0g
MDsgaSA8IHRlc3RzLmxlbmd0aDsgKytpKSB7CisgICAgICAgIHZhciB0ZXN0ID0gdGVzdHNbaV07
CisgICAgICAgIGRlYnVnKCJyZXNwb25zZSBoZWFkZXJzOiAiICsgSlNPTi5zdHJpbmdpZnkodGVz
dC5yZXNwb25zZUhlYWRlcnMpKTsKKyAgICAgICAgaWYgKHRlc3QuZXhwaXJlc0luRnV0dXJlSW4z
MDQpCisgICAgICAgICAgICBkZWJ1ZygicmVzcG9uc2UncyAnRXhwaXJlcycgaGVhZGVyIGlzIG92
ZXJyaWRlbiBieSBmdXR1cmUgZGF0ZSBpbiAzMDQgcmVzcG9uc2UiKTsKKyAgICAgICAgaWYgKHRl
c3QucmVxdWVzdEhlYWRlcnMpCisgICAgICAgICAgICBkZWJ1ZygicmVxdWVzdCBoZWFkZXJzOiAi
ICsgSlNPTi5zdHJpbmdpZnkodGVzdC5yZXF1ZXN0SGVhZGVycykpOworICAgICAgICByZXNwb25z
ZVNvdXJjZSA9IGludGVybmFscy54aHJSZXNwb25zZVNvdXJjZSh0ZXN0Lnhocik7CisgICAgICAg
IGRlYnVnKCJyZXNwb25zZSBzb3VyY2U6ICIgKyByZXNwb25zZVNvdXJjZSk7CisJZGVidWcoInJl
c3BvbnNlIHN0YXR1czogIiArIHRlc3QueGhyLnN0YXR1cyk7CisgICAgICAgIGRlYnVnKCIiKTsK
KyAgICB9Cit9CisKKwordmFyIHRlc3RNYXRyaXggPQorWworICAgIFsKKwl7IHJlc3BvbnNlSGVh
ZGVyczogeydDYWNoZS1jb250cm9sJzogJ21heC1hZ2U9MTAwJyB9IH0sCisJeyByZXNwb25zZUhl
YWRlcnM6IHsnQ2FjaGUtY29udHJvbCc6ICdtYXgtYWdlPTAnIH0gfSwKKyAgICBdLAorICAgIFsK
KyAgICAgICAgeyByZXNwb25zZUhlYWRlcnM6IHt9fSwKKyAgICAgICAgeyByZXNwb25zZUhlYWRl
cnM6IHsnUmFuZ2UnOiAnYnl0ZXM9Mi00JyB9IH0sCisgICAgICAgIHsgcmVzcG9uc2VIZWFkZXJz
OiB7J1JhbmdlJzogJ2J5dGVzPTUtNycgfSB9LAorICAgIF0KK107CisKK2Rlc2NyaXB0aW9uKCJU
ZXN0IHRoYXQgcmVxdWVzdCB3aXRoIGRpZmZlcmVudCBSYW5nZSBoZWFkZXIgdmFsdWVzIHdvcmsu
Iik7CisKK3ZhciB0ZXN0cyA9IGdlbmVyYXRlVGVzdHModGVzdE1hdHJpeCk7CisKK3J1blRlc3Rz
KHRlc3RzKTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlL2Rpc2stY2FjaGUvcmVzb3VyY2VzL2dlbmVyYXRlLXJlc3BvbnNlLmNnaSBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvZ2VuZXJhdGUt
cmVzcG9uc2UuY2dpCmluZGV4IDEzMGQ0NmQ5M2Q3MzE1OGJlN2Y4ZjE0ZTI2MTJiNzhlNjViYTQ1
ZjUuLmZjOTk0YjI0ZmQxYjIwYjE1MDIyYTIzNDViZmIzOTgzNmQ3OWI5N2UgMTAwNzU1Ci0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9yZXNvdXJjZXMvZ2VuZXJh
dGUtcmVzcG9uc2UuY2dpCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1j
YWNoZS9yZXNvdXJjZXMvZ2VuZXJhdGUtcmVzcG9uc2UuY2dpCkBAIC0xOSw2ICsxOSwxNyBAQCBp
ZiAoJHF1ZXJ5LT5odHRwICYmICRxdWVyeS0+aHR0cCgiSWYtTm9uZS1NYXRjaCIpIGVxICJtYXRj
aCIpIHsKICAgICB9CiB9CiAKK2lmICgkcXVlcnktPmh0dHAgJiYgJHF1ZXJ5LT5wYXJhbSgiUmFu
Z2UiKSA9fiAvYnl0ZXM9KFxkKyktKFxkKykvKSB7CisKKyAgICBpZiAoJDEgPCA2ICYmICQyIDwg
NikgeworICAgICAgICBwcmludCAiU3RhdHVzOiAyMDZcbiI7CisgICAgfSBlbHNlIHsKKwlwcmlu
dCAiU3RhdHVzOiA0MTZcbiI7CisgICAgfQorCisgICAgJGhhc1N0YXR1c0NvZGUgPSAxOworfQor
CiBmb3JlYWNoIChAbmFtZXMpIHsKICAgICBuZXh0IGlmICgkXyBlcSAidW5pcXVlSWQiKTsKICAg
ICBuZXh0IGlmICgkXyBlcSAiaW5jbHVkZS1ib2R5Iik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0
ay9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGIyYzcxZjU1YjE0NTkzNTU3OTU5NzY1NzM0NDIxN2Zl
NDkyY2QyY2YuLmJiOTRkNTVmMmFhMmQ0NGNmMzRiY2QwNDBjMjJlYTZkOTkxZTMwYWYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC0yMjc4LDggKzIyNzgs
NiBAQCB3ZWJraXQub3JnL2IvMTQ0NzY1IGZhc3QvZXZlbnRzL3RvdWNoL3RvdWNoLWluc2lkZS1p
ZnJhbWUuaHRtbCBbIFRpbWVvdXQgXQogCiB3ZWJraXQub3JnL2IvMTQ0NzYzIGZhc3QvZXZlbnRz
L3Njcm9sbC1pbi1zY2FsZWQtcGFnZS13aXRoLW92ZXJmbG93LWhpZGRlbi5odG1sCiAKLXdlYmtp
dC5vcmcvYi8xNDQ2ODIgaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yYW5nZS10ZXN0Lmh0bWwg
WyBGYWlsdXJlIF0KLQogd2Via2l0Lm9yZy9iLzE0MTgzNSBtZWRpYS92aWRlby1jb250cm9scy1u
by1zY3JpcHRpbmcuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE0NTA0OCBodHRwL3Rl
c3RzL21pc2MvYmFkLWNoYXJzZXQtYWxpYXMuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9i
LzE0NTA0OSBmYXN0L3RleHQvc2ltcGxlLWxpbmUtbGF5b3V0LXRleHQtc3Ryb2tlLXdpZHRoLmh0
bWwgWyBGYWlsdXJlIF0K
</data>

          </attachment>
      

    </bug>

</bugzilla>