<?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>168025</bug_id>
          
          <creation_ts>2017-02-08 15:42:54 -0800</creation_ts>
          <short_desc>Removed unused methods of WebCore::FileStream</short_desc>
          <delta_ts>2017-02-14 15:17:45 -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>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>All</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="Karim">karim</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>karim</cc>
    
    <cc>mcatanzaro</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1274618</commentid>
    <comment_count>0</comment_count>
    <who name="Karim">karim</who>
    <bug_when>2017-02-08 15:42:54 -0800</bug_when>
    <thetext>Added missing methods implementation of WebCore::FileStream</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1274643</commentid>
    <comment_count>1</comment_count>
      <attachid>300986</attachid>
    <who name="Karim">karim</who>
    <bug_when>2017-02-08 16:56:43 -0800</bug_when>
    <thetext>Created attachment 300986
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1274966</commentid>
    <comment_count>2</comment_count>
      <attachid>301066</attachid>
    <who name="Karim">karim</who>
    <bug_when>2017-02-09 12:19:02 -0800</bug_when>
    <thetext>Created attachment 301066
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1275811</commentid>
    <comment_count>3</comment_count>
      <attachid>301066</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2017-02-11 08:38:32 -0800</bug_when>
    <thetext>Comment on attachment 301066
Patch

Is someone calling these functions? Why implement functions we are not using?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1275812</commentid>
    <comment_count>4</comment_count>
      <attachid>301066</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-02-11 08:40:46 -0800</bug_when>
    <thetext>Comment on attachment 301066
Patch

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

Wow. These functions have been unimplemented for years! At first I assumed that this could be hiding all sorts of interesting bugs, and I was planning to ask you if this fixed anything in particular. But I see that they are unimplemented on all ports. And I see that nothing uses these functions currently. Only NetworkDataTaskBlob and BlobResourceHandle use FileStream or AsyncFileStream, and the functions that are unimplemented in FileStream are only ever called in AsyncFileStream functions that are never themselves called.

Now, FileStream::write is still unimplemented on all ports, and you don&apos;t implement it here. So I think we need to consider what we want to do with this class. Implementing FileStream::openForWrite does not make much sense when all writes are guaranteed to fail, right? Also, keeping that function around does not make sense if it&apos;s not implemented. It does seem nice to have a more featureful FileStream API, but I&apos;m not sure if the value of having a richer API really outweighs the cost of keeping around unused code. At any rate, we definitely need to add WebCore API tests for this code, if implementing these functions did not fix any existing tests.

Darin, I&apos;m curious what you think we should do here. I&apos;m inclined to suggest just removing the  affected functions, including FileStream::write and AsyncFileStream::write, so long as nothing is using them, but since they&apos;re easy to implement I guess we could keep them around unused if tests are added?

&gt; Source/WebCore/ChangeLog:3
&gt; +        Added missing methods implementations

This commit message isn&apos;t descriptive enough, and it should exactly match the title of the bug anyway. So write:

&quot;Added missing methods implementation of WebCore::FileStream&quot;

&gt; Source/WebCore/platform/glib/FileSystemGlib.cpp:348
&gt; +    return g_seekable_truncate(G_SEEKABLE(g_io_stream_get_input_stream(G_IO_STREAM(handle))), offset, 0, 0);

Use nullptr, not 0.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1275818</commentid>
    <comment_count>5</comment_count>
      <attachid>301260</attachid>
    <who name="Karim">karim</who>
    <bug_when>2017-02-11 09:27:56 -0800</bug_when>
    <thetext>Created attachment 301260
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1275891</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2017-02-11 16:57:47 -0800</bug_when>
    <thetext>Normally, I suggest removing all unused code unless we have a specific idea of what we are going to use it for. That’s the rule I would apply here.

On the other hand I don’t see major harm in having untested functions that look correct and are relatively simple.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1275899</commentid>
    <comment_count>7</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-02-11 19:04:43 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; Normally, I suggest removing all unused code unless we have a specific idea
&gt; of what we are going to use it for. That’s the rule I would apply here.

OK, I agree. Then instead of implementing these functions, we should remove them and also remove FileStream::write and AsyncFileStream::write.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1275900</commentid>
    <comment_count>8</comment_count>
    <who name="Karim">karim</who>
    <bug_when>2017-02-11 19:16:09 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; Normally, I suggest removing all unused code unless we have a specific idea
&gt; &gt; of what we are going to use it for. That’s the rule I would apply here.
&gt; 
&gt; OK, I agree. Then instead of implementing these functions, we should remove
&gt; them and also remove FileStream::write and AsyncFileStream::write.

What about AsyncFileStream::truncate it depends on FileStream::truncate ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1275970</commentid>
    <comment_count>9</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-02-12 04:51:06 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; What about AsyncFileStream::truncate it depends on FileStream::truncate ?

Try removing it too! It&apos;s clearly unused on non-Mac ports as it wouldn&apos;t link otherwise.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1276016</commentid>
    <comment_count>10</comment_count>
      <attachid>301314</attachid>
    <who name="Karim">karim</who>
    <bug_when>2017-02-12 12:26:02 -0800</bug_when>
    <thetext>Created attachment 301314
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1276018</commentid>
    <comment_count>11</comment_count>
      <attachid>301314</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-02-12 12:38:11 -0800</bug_when>
    <thetext>Comment on attachment 301314
Patch

OK thanks. r=me assuming it passes EWS.

Kind of a shame that we don&apos;t get to use your implementations of the functions, but this seems better than keeping the unused code around.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1276955</commentid>
    <comment_count>12</comment_count>
      <attachid>301314</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-14 15:17:39 -0800</bug_when>
    <thetext>Comment on attachment 301314
Patch

Clearing flags on attachment: 301314

Committed r212327: &lt;http://trac.webkit.org/changeset/212327&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1276956</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-14 15:17:45 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>300986</attachid>
            <date>2017-02-08 16:56:43 -0800</date>
            <delta_ts>2017-02-09 12:18:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168025-20170209015532.patch</filename>
            <type>text/plain</type>
            <size>1781</size>
            <attacher name="Karim">karim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMTkwOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDE3LTAyLTA4ICBLYXJpbSBI
ICA8a2FyaW1Aa2FyaG0uY29tPgorCisgICAgICAgIEFkZGVkIG1pc3NpbmcgbWV0aG9kcyBpbXBs
ZW1lbnRhdGlvbnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNjgwMjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIHBsYXRmb3JtL0ZpbGVTdHJlYW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6RmlsZVN0
cmVhbTo6b3BlbkZvcldyaXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVTdHJlYW06OnRydW5j
YXRlKToKKwogMjAxNy0wMi0wOCAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNv
bT4KIAogICAgICAgICBbTWVkaWFTdHJlYW1dIFJlbW92ZSBsZWdhY3kgTmF2aWdhdG9yLndlYmtp
dEdldFVzZXJNZWRpYQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZVN0cmVhbS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZVN0cmVhbS5jcHAJ
KHJldmlzaW9uIDIxMTgwMikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVTdHJlYW0u
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MCwxMCArOTAsMjAgQEAgYm9vbCBGaWxlU3RyZWFtOjpv
cGVuRm9yUmVhZChjb25zdCBTdHJpbgogICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIEZpbGVT
dHJlYW06Om9wZW5Gb3JXcml0ZShjb25zdCBTdHJpbmcmKQorYm9vbCBGaWxlU3RyZWFtOjpvcGVu
Rm9yV3JpdGUoY29uc3QgU3RyaW5nJiBwYXRoKQogewotICAgIC8vIEZJWE1FOiB0byBiZSBpbXBs
ZW1lbnRlZC4KLSAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKGlzSGFuZGxlVmFsaWQobV9oYW5k
bGUpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAKKyAgICAvLyBPcGVuIHRoZSBmaWxlLgor
ICAgIG1faGFuZGxlID0gb3BlbkZpbGUocGF0aCwgT3BlbkZvcldyaXRlKTsKKyAgICBpZiAoIWlz
SGFuZGxlVmFsaWQobV9oYW5kbGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgCisgICAg
bV90b3RhbEJ5dGVzVG9SZWFkID0gMDsKKyAgICBtX2J5dGVzUHJvY2Vzc2VkID0gMDsKKyAgICAK
KyAgICByZXR1cm4gdHJ1ZTsKIH0KIAogdm9pZCBGaWxlU3RyZWFtOjpjbG9zZSgpCkBAIC0xMjgs
MTAgKzEzOCwxMiBAQCBpbnQgRmlsZVN0cmVhbTo6d3JpdGUoY29uc3QgVVJMJiwgbG9uZyBsCiAg
ICAgcmV0dXJuIC0xOwogfQogCi1ib29sIEZpbGVTdHJlYW06OnRydW5jYXRlKGxvbmcgbG9uZykK
K2Jvb2wgRmlsZVN0cmVhbTo6dHJ1bmNhdGUobG9uZyBsb25nIHBvc2l0aW9uKQogewotICAgIC8v
IEZJWE1FOiB0byBiZSBpbXBsZW1lbnRlZC4KLSAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFp
c0hhbmRsZVZhbGlkKG1faGFuZGxlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIAorICAg
IHJldHVybiB0cnVuY2F0ZUZpbGUobV9oYW5kbGUsIHBvc2l0aW9uKTsKIH0KIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>301066</attachid>
            <date>2017-02-09 12:19:02 -0800</date>
            <delta_ts>2017-02-11 09:27:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168025-20170209211752.patch</filename>
            <type>text/plain</type>
            <size>3374</size>
            <attacher name="Karim">karim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMTk3MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDE3LTAyLTA5ICBLYXJpbSBI
ICA8a2FyaW1Aa2FyaG0uY29tPgorCisgICAgICAgIEFkZGVkIG1pc3NpbmcgbWV0aG9kcyBpbXBs
ZW1lbnRhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE2ODAyNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogcGxhdGZvcm0vRmlsZVN0cmVhbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGaWxlU3Ry
ZWFtOjpvcGVuRm9yV3JpdGUpOgorICAgICAgICAoV2ViQ29yZTo6RmlsZVN0cmVhbTo6dHJ1bmNh
dGUpOgorICAgICAgICAqIHBsYXRmb3JtL2dsaWIvRmlsZVN5c3RlbUdsaWIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6dHJ1bmNhdGVGaWxlKToKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vRmlsZVN5
c3RlbVdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0cnVuY2F0ZUZpbGUpOgorCiAyMDE3LTAy
LTA5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgT2JqZWN0Lmdl
dFByb3RvdHlwZU9mKE5vZGVGaWx0ZXIpIHNob3VsZCBiZSBGdW5jdGlvbi5wcm90b3R5cGUsIG5v
dCBPYmplY3QucHJvdG90eXBlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlU3Ry
ZWFtLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlU3RyZWFt
LmNwcAkocmV2aXNpb24gMjExOTYwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZVN0
cmVhbS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkwLDEwICs5MCwyMCBAQCBib29sIEZpbGVTdHJl
YW06Om9wZW5Gb3JSZWFkKGNvbnN0IFN0cmluCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2wg
RmlsZVN0cmVhbTo6b3BlbkZvcldyaXRlKGNvbnN0IFN0cmluZyYpCitib29sIEZpbGVTdHJlYW06
Om9wZW5Gb3JXcml0ZShjb25zdCBTdHJpbmcmIHBhdGgpCiB7Ci0gICAgLy8gRklYTUU6IHRvIGJl
IGltcGxlbWVudGVkLgotICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoaXNIYW5kbGVWYWxpZCht
X2hhbmRsZSkpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIAorICAgIC8vIE9wZW4gdGhlIGZp
bGUuCisgICAgbV9oYW5kbGUgPSBvcGVuRmlsZShwYXRoLCBPcGVuRm9yV3JpdGUpOworICAgIGlm
ICghaXNIYW5kbGVWYWxpZChtX2hhbmRsZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAK
KyAgICBtX3RvdGFsQnl0ZXNUb1JlYWQgPSAwOworICAgIG1fYnl0ZXNQcm9jZXNzZWQgPSAwOwor
ICAgIAorICAgIHJldHVybiB0cnVlOwogfQogCiB2b2lkIEZpbGVTdHJlYW06OmNsb3NlKCkKQEAg
LTEyOCwxMCArMTM4LDEyIEBAIGludCBGaWxlU3RyZWFtOjp3cml0ZShjb25zdCBVUkwmLCBsb25n
IGwKICAgICByZXR1cm4gLTE7CiB9CiAKLWJvb2wgRmlsZVN0cmVhbTo6dHJ1bmNhdGUobG9uZyBs
b25nKQorYm9vbCBGaWxlU3RyZWFtOjp0cnVuY2F0ZShsb25nIGxvbmcgcG9zaXRpb24pCiB7Ci0g
ICAgLy8gRklYTUU6IHRvIGJlIGltcGxlbWVudGVkLgotICAgIHJldHVybiBmYWxzZTsKKyAgICBp
ZiAoIWlzSGFuZGxlVmFsaWQobV9oYW5kbGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
CisgICAgcmV0dXJuIHRydW5jYXRlRmlsZShtX2hhbmRsZSwgcG9zaXRpb24pOwogfQogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nbGliL0Zp
bGVTeXN0ZW1HbGliLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
bGliL0ZpbGVTeXN0ZW1HbGliLmNwcAkocmV2aXNpb24gMjExOTYwKQorKysgU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ2xpYi9GaWxlU3lzdGVtR2xpYi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0
Myw2ICszNDMsMTEgQEAgbG9uZyBsb25nIHNlZWtGaWxlKFBsYXRmb3JtRmlsZUhhbmRsZSBoYQog
ICAgIHJldHVybiBnX3NlZWthYmxlX3RlbGwoR19TRUVLQUJMRShnX2lvX3N0cmVhbV9nZXRfaW5w
dXRfc3RyZWFtKEdfSU9fU1RSRUFNKGhhbmRsZSkpKSk7CiB9CiAKK2Jvb2wgdHJ1bmNhdGVGaWxl
KFBsYXRmb3JtRmlsZUhhbmRsZSBoYW5kbGUsIGxvbmcgbG9uZyBvZmZzZXQpCit7CisgICAgcmV0
dXJuIGdfc2Vla2FibGVfdHJ1bmNhdGUoR19TRUVLQUJMRShnX2lvX3N0cmVhbV9nZXRfaW5wdXRf
c3RyZWFtKEdfSU9fU1RSRUFNKGhhbmRsZSkpKSwgb2Zmc2V0LCAwLCAwKTsKK30KKwogaW50IHdy
aXRlVG9GaWxlKFBsYXRmb3JtRmlsZUhhbmRsZSBoYW5kbGUsIGNvbnN0IGNoYXIqIGRhdGEsIGlu
dCBsZW5ndGgpCiB7CiAgICAgZ3NpemUgYnl0ZXNXcml0dGVuOwpJbmRleDogU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vd2luL0ZpbGVTeXN0ZW1XaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3dpbi9GaWxlU3lzdGVtV2luLmNwcAkocmV2aXNpb24gMjExOTYwKQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0ZpbGVTeXN0ZW1XaW4uY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zODQsNiArMzg0LDE3IEBAIGxvbmcgbG9uZyBzZWVrRmlsZShQbGF0Zm9ybUZp
bGVIYW5kbGUgaGEKICAgICByZXR1cm4gbGFyZ2VPZmZzZXQuUXVhZFBhcnQ7CiB9CiAKK2Jvb2wg
dHJ1bmNhdGVGaWxlKFBsYXRmb3JtRmlsZUhhbmRsZSBoYW5kbGUsIGxvbmcgbG9uZyBvZmZzZXQp
Cit7CisgICAgaWYgKCFpc0hhbmRsZVZhbGlkKGhhbmRsZSkpCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKworICAgIGlmIChzZWVrRmlsZShoYW5kbGUsIG9mZnNldCwgU2Vla0Zyb21CZWdpbm5pbmcp
IDwgMCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuICEhU2V0RW5kT2ZGaWxl
KGhhbmRsZSk7Cit9CisKIGludCB3cml0ZVRvRmlsZShQbGF0Zm9ybUZpbGVIYW5kbGUgaGFuZGxl
LCBjb25zdCBjaGFyKiBkYXRhLCBpbnQgbGVuZ3RoKQogewogICAgIGlmICghaXNIYW5kbGVWYWxp
ZChoYW5kbGUpKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>301260</attachid>
            <date>2017-02-11 09:27:56 -0800</date>
            <delta_ts>2017-02-12 12:25:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168025-20170211182650.patch</filename>
            <type>text/plain</type>
            <size>3725</size>
            <attacher name="Karim">karim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEyMTQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODc5YTJiMjdlZTllODg3
YjliNDU4MGZhYzRjOGIxYzE3NDEyZjkwZi4uNWJhYWJlNGUwZjI5ODNhMWU0OTRlYzgyMmM0OGIz
NmNlYzNhZTIzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE3LTAyLTExICBLYXJp
bSBIICA8a2FyaW1Aa2FyaG0uY29tPgorCisgICAgICAgIEFkZGVkIG1pc3NpbmcgbWV0aG9kcyBp
bXBsZW1lbnRhdGlvbiBvZiBXZWJDb3JlOjpGaWxlU3RyZWFtCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjgwMjUKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL0ZpbGVTdHJlYW0uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RmlsZVN0cmVhbTo6b3BlbkZvcldyaXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OkZpbGVTdHJlYW06OnRydW5jYXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9nbGliL0Zp
bGVTeXN0ZW1HbGliLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRydW5jYXRlRmlsZSk6CisgICAg
ICAgICogcGxhdGZvcm0vd2luL0ZpbGVTeXN0ZW1XaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
dHJ1bmNhdGVGaWxlKToKKwogMjAxNy0wMi0xMCAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUu
Y29tPgogCiAgICAgICAgIFtDb2NvYV0gQWRkIHNob3VsZENoYW5nZVNlbGVjdGVkUmFuZ2UgdG8g
V0tXZWJQcm9jZXNzUGx1Z0luRWRpdGluZ0RlbGVnYXRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9GaWxlU3RyZWFtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Zp
bGVTdHJlYW0uY3BwCmluZGV4IDNhZTQ1OThkZmFiZGRmNDE1YmMwN2I2OTZkYThjN2MwZDRlZjk4
MTkuLmVlZTkzOWIwOWVjYjEwOTc2YjczNmM2OWEyMDQzOGFmMDBlZjg3ZmEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVTdHJlYW0uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL0ZpbGVTdHJlYW0uY3BwCkBAIC05MCwxMCArOTAsMjAgQEAgYm9vbCBGaWxl
U3RyZWFtOjpvcGVuRm9yUmVhZChjb25zdCBTdHJpbmcmIHBhdGgsIGxvbmcgbG9uZyBvZmZzZXQs
IGxvbmcgbG9uZyBsZW4KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBGaWxlU3RyZWFtOjpv
cGVuRm9yV3JpdGUoY29uc3QgU3RyaW5nJikKK2Jvb2wgRmlsZVN0cmVhbTo6b3BlbkZvcldyaXRl
KGNvbnN0IFN0cmluZyYgcGF0aCkKIHsKLSAgICAvLyBGSVhNRTogdG8gYmUgaW1wbGVtZW50ZWQu
Ci0gICAgcmV0dXJuIGZhbHNlOworICAgIGlmIChpc0hhbmRsZVZhbGlkKG1faGFuZGxlKSkKKyAg
ICAgICAgcmV0dXJuIHRydWU7CisKKyAgICAvLyBPcGVuIHRoZSBmaWxlLgorICAgIG1faGFuZGxl
ID0gb3BlbkZpbGUocGF0aCwgT3BlbkZvcldyaXRlKTsKKyAgICBpZiAoIWlzSGFuZGxlVmFsaWQo
bV9oYW5kbGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBtX3RvdGFsQnl0ZXNUb1Jl
YWQgPSAwOworICAgIG1fYnl0ZXNQcm9jZXNzZWQgPSAwOworCisgICAgcmV0dXJuIHRydWU7CiB9
CiAKIHZvaWQgRmlsZVN0cmVhbTo6Y2xvc2UoKQpAQCAtMTI4LDEwICsxMzgsMTIgQEAgaW50IEZp
bGVTdHJlYW06OndyaXRlKGNvbnN0IFVSTCYsIGxvbmcgbG9uZywgaW50KQogICAgIHJldHVybiAt
MTsKIH0KIAotYm9vbCBGaWxlU3RyZWFtOjp0cnVuY2F0ZShsb25nIGxvbmcpCitib29sIEZpbGVT
dHJlYW06OnRydW5jYXRlKGxvbmcgbG9uZyBwb3NpdGlvbikKIHsKLSAgICAvLyBGSVhNRTogdG8g
YmUgaW1wbGVtZW50ZWQuCi0gICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghaXNIYW5kbGVWYWxp
ZChtX2hhbmRsZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiB0cnVuY2F0
ZUZpbGUobV9oYW5kbGUsIHBvc2l0aW9uKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2xpYi9GaWxlU3lzdGVtR2xpYi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nbGliL0ZpbGVTeXN0ZW1HbGliLmNwcAppbmRl
eCA2ZmEzZWE3NzFmMzRlNTkyYzM2ZmY3MzBiZWZiZjcxZDhmNTlmZTg2Li43ZWZjYThkZmU4OWRh
MGFlZDhiMWUwYWZmMDI1ZjFmZDc5ZGNjNWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9nbGliL0ZpbGVTeXN0ZW1HbGliLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9nbGliL0ZpbGVTeXN0ZW1HbGliLmNwcApAQCAtMzQzLDYgKzM0MywxMSBAQCBsb25nIGxv
bmcgc2Vla0ZpbGUoUGxhdGZvcm1GaWxlSGFuZGxlIGhhbmRsZSwgbG9uZyBsb25nIG9mZnNldCwg
RmlsZVNlZWtPcmlnaW4gbwogICAgIHJldHVybiBnX3NlZWthYmxlX3RlbGwoR19TRUVLQUJMRShn
X2lvX3N0cmVhbV9nZXRfaW5wdXRfc3RyZWFtKEdfSU9fU1RSRUFNKGhhbmRsZSkpKSk7CiB9CiAK
K2Jvb2wgdHJ1bmNhdGVGaWxlKFBsYXRmb3JtRmlsZUhhbmRsZSBoYW5kbGUsIGxvbmcgbG9uZyBv
ZmZzZXQpCit7CisgICAgcmV0dXJuIGdfc2Vla2FibGVfdHJ1bmNhdGUoR19TRUVLQUJMRShnX2lv
X3N0cmVhbV9nZXRfaW5wdXRfc3RyZWFtKEdfSU9fU1RSRUFNKGhhbmRsZSkpKSwgb2Zmc2V0LCBu
dWxscHRyLCBudWxscHRyKTsKK30KKwogaW50IHdyaXRlVG9GaWxlKFBsYXRmb3JtRmlsZUhhbmRs
ZSBoYW5kbGUsIGNvbnN0IGNoYXIqIGRhdGEsIGludCBsZW5ndGgpCiB7CiAgICAgZ3NpemUgYnl0
ZXNXcml0dGVuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0ZpbGVT
eXN0ZW1XaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0ZpbGVTeXN0ZW1XaW4u
Y3BwCmluZGV4IDAzOWRiZmJiZTJhMzNiNmY1Yjg5ZjQ0MWI0MGMzNDBkZTIzOGRlOWUuLjJjZWM2
OGUyODQwMjVkMDg2M2EwYWI4NjNmZDg1MDFlMzk5MmE1NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3dpbi9GaWxlU3lzdGVtV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS93aW4vRmlsZVN5c3RlbVdpbi5jcHAKQEAgLTM4NCw2ICszODQsMTcgQEAgbG9u
ZyBsb25nIHNlZWtGaWxlKFBsYXRmb3JtRmlsZUhhbmRsZSBoYW5kbGUsIGxvbmcgbG9uZyBvZmZz
ZXQsIEZpbGVTZWVrT3JpZ2luIG8KICAgICByZXR1cm4gbGFyZ2VPZmZzZXQuUXVhZFBhcnQ7CiB9
CiAKK2Jvb2wgdHJ1bmNhdGVGaWxlKFBsYXRmb3JtRmlsZUhhbmRsZSBoYW5kbGUsIGxvbmcgbG9u
ZyBvZmZzZXQpCit7CisgICAgaWYgKCFpc0hhbmRsZVZhbGlkKGhhbmRsZSkpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKworICAgIGlmIChzZWVrRmlsZShoYW5kbGUsIG9mZnNldCwgU2Vla0Zyb21C
ZWdpbm5pbmcpIDwgMCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuICEhU2V0
RW5kT2ZGaWxlKGhhbmRsZSk7Cit9CisKIGludCB3cml0ZVRvRmlsZShQbGF0Zm9ybUZpbGVIYW5k
bGUgaGFuZGxlLCBjb25zdCBjaGFyKiBkYXRhLCBpbnQgbGVuZ3RoKQogewogICAgIGlmICghaXNI
YW5kbGVWYWxpZChoYW5kbGUpKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>301314</attachid>
            <date>2017-02-12 12:26:02 -0800</date>
            <delta_ts>2017-02-14 15:17:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168025-20170212212456.patch</filename>
            <type>text/plain</type>
            <size>5481</size>
            <attacher name="Karim">karim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEyMTQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODc5YTJiMjdlZTllODg3
YjliNDU4MGZhYzRjOGIxYzE3NDEyZjkwZi4uODA1MDY1ZGMxNDk5YTQ1NmEyNzJkMTYxOGQ0OTUw
NGJmNDM3YzU1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE3LTAyLTEyICBLYXJp
bSBIICA8a2FyaW1Aa2FyaG0uY29tPgorCisgICAgICAgIFJlbW92ZWQgdW51c2VkIG1ldGhvZHMg
b2YgV2ViQ29yZTo6RmlsZVN0cmVhbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTY4MDI1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBmaWxlYXBpL0FzeW5jRmlsZVN0cmVhbS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpBc3luY0ZpbGVTdHJlYW06Om9wZW5Gb3JXcml0ZSk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpBc3luY0ZpbGVTdHJlYW06OndyaXRlKTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OkFzeW5jRmlsZVN0cmVhbTo6dHJ1bmNhdGUpOiBEZWxldGVkLgorICAgICAgICAqIGZp
bGVhcGkvQXN5bmNGaWxlU3RyZWFtLmg6CisgICAgICAgICogcGxhdGZvcm0vRmlsZVN0cmVhbS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGaWxlU3RyZWFtOjpvcGVuRm9yV3JpdGUpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6RmlsZVN0cmVhbTo6d3JpdGUpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6RmlsZVN0cmVhbTo6dHJ1bmNhdGUpOiBEZWxldGVkLgorICAgICAgICAqIHBs
YXRmb3JtL0ZpbGVTdHJlYW0uaDoKKwogMjAxNy0wMi0xMCAgRGFuIEJlcm5zdGVpbiAgPG1pdHpA
YXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gQWRkIHNob3VsZENoYW5nZVNlbGVjdGVkUmFu
Z2UgdG8gV0tXZWJQcm9jZXNzUGx1Z0luRWRpdGluZ0RlbGVnYXRlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9maWxlYXBpL0FzeW5jRmlsZVN0cmVhbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9m
aWxlYXBpL0FzeW5jRmlsZVN0cmVhbS5jcHAKaW5kZXggNWI4MTM2MTEyYWRkZWExNDVjOTU1OTBh
OGEzYzE3NjFmMWIxYjk4My4uMTY4ZTRlMjc3OTVkNDI1ZjQwNGYxNzVjOWJjYmE5M2Y3MzY4MDc0
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9Bc3luY0ZpbGVTdHJlYW0uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvQXN5bmNGaWxlU3RyZWFtLmNwcApAQCAtMTU2
LDE2ICsxNTYsNiBAQCB2b2lkIEFzeW5jRmlsZVN0cmVhbTo6b3BlbkZvclJlYWQoY29uc3QgU3Ry
aW5nJiBwYXRoLCBsb25nIGxvbmcgb2Zmc2V0LCBsb25nIGxvbgogICAgIH0pOwogfQogCi12b2lk
IEFzeW5jRmlsZVN0cmVhbTo6b3BlbkZvcldyaXRlKGNvbnN0IFN0cmluZyYgcGF0aCkKLXsKLSAg
ICBwZXJmb3JtKFtwYXRoID0gcGF0aC5pc29sYXRlZENvcHkoKV0oRmlsZVN0cmVhbSYgc3RyZWFt
KSAtPiBzdGQ6OmZ1bmN0aW9uPHZvaWQoRmlsZVN0cmVhbUNsaWVudCYpPiB7Ci0gICAgICAgIGJv
b2wgc3VjY2VzcyA9IHN0cmVhbS5vcGVuRm9yV3JpdGUocGF0aCk7Ci0gICAgICAgIHJldHVybiBb
c3VjY2Vzc10oRmlsZVN0cmVhbUNsaWVudCYgY2xpZW50KSB7Ci0gICAgICAgICAgICBjbGllbnQu
ZGlkT3BlbihzdWNjZXNzKTsKLSAgICAgICAgfTsKLSAgICB9KTsKLX0KLQogdm9pZCBBc3luY0Zp
bGVTdHJlYW06OmNsb3NlKCkKIHsKICAgICBhdXRvJiBpbnRlcm5hbHMgPSAqbV9pbnRlcm5hbHM7
CkBAIC0xODQsMjQgKzE3NCw0IEBAIHZvaWQgQXN5bmNGaWxlU3RyZWFtOjpyZWFkKGNoYXIqIGJ1
ZmZlciwgaW50IGxlbmd0aCkKICAgICB9KTsKIH0KIAotdm9pZCBBc3luY0ZpbGVTdHJlYW06Ondy
aXRlKGNvbnN0IFVSTCYgYmxvYlVSTCwgbG9uZyBsb25nIHBvc2l0aW9uLCBpbnQgbGVuZ3RoKQot
ewotICAgIHBlcmZvcm0oW2Jsb2JVUkwgPSBibG9iVVJMLmlzb2xhdGVkQ29weSgpLCBwb3NpdGlv
biwgbGVuZ3RoXShGaWxlU3RyZWFtJiBzdHJlYW0pIC0+IHN0ZDo6ZnVuY3Rpb248dm9pZChGaWxl
U3RyZWFtQ2xpZW50Jik+IHsKLSAgICAgICAgaW50IGJ5dGVzV3JpdHRlbiA9IHN0cmVhbS53cml0
ZShibG9iVVJMLCBwb3NpdGlvbiwgbGVuZ3RoKTsKLSAgICAgICAgcmV0dXJuIFtieXRlc1dyaXR0
ZW5dKEZpbGVTdHJlYW1DbGllbnQmIGNsaWVudCkgewotICAgICAgICAgICAgY2xpZW50LmRpZFdy
aXRlKGJ5dGVzV3JpdHRlbik7Ci0gICAgICAgIH07Ci0gICAgfSk7Ci19Ci0KLXZvaWQgQXN5bmNG
aWxlU3RyZWFtOjp0cnVuY2F0ZShsb25nIGxvbmcgcG9zaXRpb24pCi17Ci0gICAgcGVyZm9ybShb
cG9zaXRpb25dKEZpbGVTdHJlYW0mIHN0cmVhbSkgLT4gc3RkOjpmdW5jdGlvbjx2b2lkKEZpbGVT
dHJlYW1DbGllbnQmKT4gewotICAgICAgICBib29sIHN1Y2Nlc3MgPSBzdHJlYW0udHJ1bmNhdGUo
cG9zaXRpb24pOwotICAgICAgICByZXR1cm4gW3N1Y2Nlc3NdKEZpbGVTdHJlYW1DbGllbnQmIGNs
aWVudCkgewotICAgICAgICAgICAgY2xpZW50LmRpZFRydW5jYXRlKHN1Y2Nlc3MpOwotICAgICAg
ICB9OwotICAgIH0pOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9maWxlYXBpL0FzeW5jRmlsZVN0cmVhbS5oIGIvU291cmNlL1dlYkNvcmUv
ZmlsZWFwaS9Bc3luY0ZpbGVTdHJlYW0uaAppbmRleCAyZDI4ZGI2NjE4NzYzYjU2NTQ4ZjllZGE0
YTAyNzc4ODBmYjRmNjQwLi4yMDk4ZWUzZjQxOGM1MGE3NGY5MjlkNWVmNjA4ZDZmYWIwNmQ0YzFj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0FzeW5jRmlsZVN0cmVhbS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvQXN5bmNGaWxlU3RyZWFtLmgKQEAgLTQ4LDExICs0
OCw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgZ2V0U2l6ZShjb25zdCBTdHJpbmcmIHBhdGgsIGRv
dWJsZSBleHBlY3RlZE1vZGlmaWNhdGlvblRpbWUpOwogICAgIHZvaWQgb3BlbkZvclJlYWQoY29u
c3QgU3RyaW5nJiBwYXRoLCBsb25nIGxvbmcgb2Zmc2V0LCBsb25nIGxvbmcgbGVuZ3RoKTsKLSAg
ICB2b2lkIG9wZW5Gb3JXcml0ZShjb25zdCBTdHJpbmcmIHBhdGgpOwogICAgIHZvaWQgY2xvc2Uo
KTsKICAgICB2b2lkIHJlYWQoY2hhciogYnVmZmVyLCBpbnQgbGVuZ3RoKTsKLSAgICB2b2lkIHdy
aXRlKGNvbnN0IFVSTCYgYmxvYlVSTCwgbG9uZyBsb25nIHBvc2l0aW9uLCBpbnQgbGVuZ3RoKTsK
LSAgICB2b2lkIHRydW5jYXRlKGxvbmcgbG9uZyBwb3NpdGlvbik7CiAKIHByaXZhdGU6CiAgICAg
dm9pZCBzdGFydCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZVN0
cmVhbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlU3RyZWFtLmNwcAppbmRleCAz
YWU0NTk4ZGZhYmRkZjQxNWJjMDdiNjk2ZGE4YzdjMGQ0ZWY5ODE5Li5iMThiMWMzZTk3ZDRhNzUx
ZGZlZjhiZWE2NjJlNjkwNmQ5NTJhZDhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9GaWxlU3RyZWFtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlU3Ry
ZWFtLmNwcApAQCAtOTAsMTIgKzkwLDYgQEAgYm9vbCBGaWxlU3RyZWFtOjpvcGVuRm9yUmVhZChj
b25zdCBTdHJpbmcmIHBhdGgsIGxvbmcgbG9uZyBvZmZzZXQsIGxvbmcgbG9uZyBsZW4KICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBGaWxlU3RyZWFtOjpvcGVuRm9yV3JpdGUoY29uc3QgU3Ry
aW5nJikKLXsKLSAgICAvLyBGSVhNRTogdG8gYmUgaW1wbGVtZW50ZWQuCi0gICAgcmV0dXJuIGZh
bHNlOwotfQotCiB2b2lkIEZpbGVTdHJlYW06OmNsb3NlKCkKIHsKICAgICBpZiAoaXNIYW5kbGVW
YWxpZChtX2hhbmRsZSkpIHsKQEAgLTEyMiwxNiArMTE2LDQgQEAgaW50IEZpbGVTdHJlYW06OnJl
YWQoY2hhciogYnVmZmVyLCBpbnQgYnVmZmVyU2l6ZSkKICAgICByZXR1cm4gYnl0ZXNSZWFkOwog
fQogCi1pbnQgRmlsZVN0cmVhbTo6d3JpdGUoY29uc3QgVVJMJiwgbG9uZyBsb25nLCBpbnQpCi17
Ci0gICAgLy8gRklYTUU6IHRvIGJlIGltcGxlbWVudGVkLgotICAgIHJldHVybiAtMTsKLX0KLQot
Ym9vbCBGaWxlU3RyZWFtOjp0cnVuY2F0ZShsb25nIGxvbmcpCi17Ci0gICAgLy8gRklYTUU6IHRv
IGJlIGltcGxlbWVudGVkLgotICAgIHJldHVybiBmYWxzZTsKLX0KLQogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZVN0cmVhbS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZVN0cmVhbS5oCmluZGV4IDNjZTllNTc2NTk4
YjNhZTU3MGZlMDhjMzhkMDQ4ODcwNWQ1ODFhODAuLmQ0MjFlNGYzYmMxNWUwYzY5ZWY5YzFiZTI4
YmYxYzYzNjBiYWI2MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVT
dHJlYW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlU3RyZWFtLmgKQEAgLTUx
LDEwICs1MSw2IEBAIHB1YmxpYzoKICAgICAvLyBSZXR1cm5zIHRydWUgb24gc3VjY2Vzcy4gRmFs
c2Ugb3RoZXJ3aXNlLgogICAgIGJvb2wgb3BlbkZvclJlYWQoY29uc3QgU3RyaW5nJiBwYXRoLCBs
b25nIGxvbmcgb2Zmc2V0LCBsb25nIGxvbmcgbGVuZ3RoKTsKIAotICAgIC8vIE9wZW5zIGEgZmls
ZSBmb3Igd3JpdGluZy4KLSAgICAvLyBSZXR1cm5zIHRydWUgb24gc3VjY2Vzcy4gRmFsc2Ugb3Ro
ZXJ3aXNlLgotICAgIGJvb2wgb3BlbkZvcldyaXRlKGNvbnN0IFN0cmluZyYgcGF0aCk7Ci0KICAg
ICAvLyBDbG9zZXMgdGhlIGZpbGUuCiAgICAgdm9pZCBjbG9zZSgpOwogCkBAIC02MywxNCArNTks
NiBAQCBwdWJsaWM6CiAgICAgLy8gSWYgMCBpcyByZXR1cm5lZCwgaXQgbWVhbnMgdGhhdCB0aGUg
cmVhZGluZyBpcyBjb21wbGV0ZWQuCiAgICAgaW50IHJlYWQoY2hhciogYnVmZmVyLCBpbnQgbGVu
Z3RoKTsKIAotICAgIC8vIFdyaXRlcyBhIGJsb2IgdG8gdGhlIGZpbGUuCi0gICAgLy8gUmV0dXJu
cyBudW1iZXIgb2YgYnl0ZXMgYmVpbmcgd3JpdHRlbiBvbiBzdWNjZXNzLiAtMSBvdGhlcndpc2Uu
Ci0gICAgaW50IHdyaXRlKGNvbnN0IFVSTCYgYmxvYlVSTCwgbG9uZyBsb25nIHBvc2l0aW9uLCBp
bnQgbGVuZ3RoKTsKLQotICAgIC8vIFRydW5jYXRlcyB0aGUgZmlsZSB0byB0aGUgc3BlY2lmaWVk
IHBvc2l0aW9uLgotICAgIC8vIFJldHVybnMgdHJ1ZSBvbiBzdWNjZXNzLiBGYWxzZSBvdGhlcndp
c2UuCi0gICAgYm9vbCB0cnVuY2F0ZShsb25nIGxvbmcgcG9zaXRpb24pOwotCiBwcml2YXRlOgog
ICAgIFBsYXRmb3JtRmlsZUhhbmRsZSBtX2hhbmRsZTsKICAgICBsb25nIGxvbmcgbV9ieXRlc1By
b2Nlc3NlZDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>