<?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>178347</bug_id>
          
          <creation_ts>2017-10-16 10:26:51 -0700</creation_ts>
          <short_desc>FileSystem::deleteFile should log error status</short_desc>
          <delta_ts>2019-08-22 12:53:57 -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>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=200831</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Kate Cheney">katherine_cheney</assigned_to>
          <cc>ap</cc>
    
    <cc>bdakin</cc>
    
    <cc>benjamin</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>katherine_cheney</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1360817</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2017-10-16 10:26:51 -0700</bug_when>
    <thetext>It would be useful to know why the &apos;deleteFile&apos; failed so that we could distinguish between multiple processes competing for a file lock, or bad permissions settings on the directories used by WebKit, etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1360818</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-10-16 10:28:06 -0700</bug_when>
    <thetext>&lt;rdar://problem/35008951&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1560942</commentid>
    <comment_count>2</comment_count>
      <attachid>376209</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2019-08-13 13:40:52 -0700</bug_when>
    <thetext>Created attachment 376209
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1560968</commentid>
    <comment_count>3</comment_count>
      <attachid>376209</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2019-08-13 14:59:17 -0700</bug_when>
    <thetext>Comment on attachment 376209
Patch

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

&gt; Source/WebCore/Modules/webdatabase/DatabaseTracker.cpp:865
&gt; +                LOG_ERROR(&quot;Error deleting database file %s&quot;, file.utf8().data());

What are the privacy implications of logging file names?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561039</commentid>
    <comment_count>4</comment_count>
      <attachid>376209</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-08-13 19:37:21 -0700</bug_when>
    <thetext>Comment on attachment 376209
Patch

Just passing by, can talk in person if you want advice.... I think this is your first bug, so good job on with picking up the process 🙂. Here are somethings that struck out at me when I glanced at this patch:

1. Logging is only at select call sites (I cannot tell if you’ve covered all call sites).
2. Logging is not in FileSystem::deleteFile, which I expected from the bug title.
3. You log things if deleteNonEmptyDirectory fails, which I didn’t expect from the bug title.
4. The logging does not include an error status, which I expected from the bug title.
5. The logging includes file names, which I didn’t expect from the bug title.
6. Alexey’s point
7. I think the logging is debug only and I’m unclear if that is a large enough audience for us to see thing.
8. I think this may be using the wrong logging mechanism: why not use log channels? ChangeLog message doesn’t explain.
9. ChangeLog message doesn’t explain how this logging makes things easier/what kinds of bugs we are trying to diagnose.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561339</commentid>
    <comment_count>5</comment_count>
      <attachid>376314</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2019-08-14 14:41:58 -0700</bug_when>
    <thetext>Created attachment 376314
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561347</commentid>
    <comment_count>6</comment_count>
      <attachid>376314</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-08-14 15:04:53 -0700</bug_when>
    <thetext>Comment on attachment 376314
Patch

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

&gt; Source/WTF/wtf/posix/FileSystemPOSIX.cpp:75
&gt; +    bool unlinkResult = unlink(fsRep.data());

I would propose:

int unlinkResult = unlink(fsRep.data());

Or:

bool unlinked = !unlink(fsRep.data());
if (!unlinked)
    LOG_ERROR(....

return unlinked;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561357</commentid>
    <comment_count>7</comment_count>
      <attachid>376321</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2019-08-14 15:29:59 -0700</bug_when>
    <thetext>Created attachment 376321
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561377</commentid>
    <comment_count>8</comment_count>
      <attachid>376314</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2019-08-14 16:14:38 -0700</bug_when>
    <thetext>Comment on attachment 376314
Patch

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

&gt; Source/WTF/wtf/posix/FileSystemPOSIX.cpp:70
&gt; +        LOG_ERROR(&quot;Failed to get filesystem representation to create CString from cfString or filesystem representation is a null value&quot;);

I suggest prepending &quot;File failed to delete. &quot; or &quot;Could not delete a file. &quot; to this for some context.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561385</commentid>
    <comment_count>9</comment_count>
      <attachid>376332</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2019-08-14 16:54:01 -0700</bug_when>
    <thetext>Created attachment 376332
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561394</commentid>
    <comment_count>10</comment_count>
      <attachid>376332</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-08-14 17:05:02 -0700</bug_when>
    <thetext>Comment on attachment 376332
Patch

Looks good to me. r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561418</commentid>
    <comment_count>11</comment_count>
      <attachid>376332</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-14 18:58:12 -0700</bug_when>
    <thetext>Comment on attachment 376332
Patch

Clearing flags on attachment: 376332

Committed r248702: &lt;https://trac.webkit.org/changeset/248702&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561419</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-14 18:58:14 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561656</commentid>
    <comment_count>13</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-08-15 11:46:27 -0700</bug_when>
    <thetext>I&apos;m hitting this a bunch locally... do you want bugs about cases where this logging happens, or what?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561752</commentid>
    <comment_count>14</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2019-08-15 14:27:14 -0700</bug_when>
    <thetext>(In reply to Tim Horton from comment #13)
&gt; I&apos;m hitting this a bunch locally... do you want bugs about cases where this
&gt; logging happens, or what?

This doesn&apos;t need to be reported. It&apos;s for future bugs where the error might be meaningful in the context of the bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561757</commentid>
    <comment_count>15</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-08-15 14:47:45 -0700</bug_when>
    <thetext>I think we might eventually need to do something different.

Sometimes something calls &quot;deleteFile&quot; and knows the file might not exist, and does not want that information logged to the console. If the failure is unexpected the logging is more useful. It would be nice to offer a way to log when the failure is unexpected only, even if this makes the code a tiny bit more complex.

Ideally we’d quiet the &quot;hitting it a bunch locally&quot; almost entirely with this technique, then we&apos;d see logs for the unexpected failures.

Function calls that report their failures &quot;directly to the user&quot; are something I consider an anti-pattern. But I think we can cancel that out if we distinguish the expected failures from the unexpected ones.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561812</commentid>
    <comment_count>16</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-08-15 16:24:16 -0700</bug_when>
    <thetext>(In reply to Tim Horton from comment #13)
&gt; I&apos;m hitting this a bunch locally... do you want bugs about cases where this
&gt; logging happens, or what?

If this logging is getting spammy we might want to make it an INFO level log entry.

It would be interesting to know why the delete is failing, and whether it makes sense to call delete for that call stack, or whether we should be taking some action when the delete fails.

We might need to pass a flag indicating that failure is expected/normal in some cases, and not log when that happens.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1562054</commentid>
    <comment_count>17</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2019-08-16 09:30:59 -0700</bug_when>
    <thetext>I could add a parameter to the deleteFile function that defaults to &quot;never log.&quot; Then in the places where it is important (like the places I put the logging in the original patch upload, i.e. places where !FileSystem::deleteFile() is included in the code), I could set the parameter to &quot;always log.&quot; Then any additional places we find along the way where logging might be helpful can also use the parameter as needed. Does that sound okay?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1562068</commentid>
    <comment_count>18</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-08-16 10:00:52 -0700</bug_when>
    <thetext>I think something like that is good. But maybe the default could go the other way. The callers that expect errors could indicate that they expect them.

However, I wouldn’t want the logging to ignore *all* errors, just the specific error that is expected. So the goal for the argument would be to say what error is expected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1562085</commentid>
    <comment_count>19</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2019-08-16 10:30:03 -0700</bug_when>
    <thetext>I agree. So, to summarize, the default would be to always log. Then the caller passes an argument to indicate any errors they expect that then won&apos;t be logged. 

One idea is the argument could be value(s) chosen from an enum of potential error codes of the unlink() function. I could also add in comments next to each code to ensure people know the correct code for the expected error, for ex, ENOENT is the &quot;no such file or directory&quot; error). If anyone has other ideas, I&apos;d be happy to hear them too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1562097</commentid>
    <comment_count>20</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-08-16 11:10:44 -0700</bug_when>
    <thetext>Yes, I think it should be an OptionSet of expected errors, but not literally POSIX errors like ENOENT since the point of FileSystem is to abstract away details of the operating system. So an OptionSet that expresses the types of errors that are expected, probably using an enumeration. We’d add them as we need new concepts.

I assume one value in the enumeration would be &quot;it&apos;s OK if the file doesn&apos;t exist&quot;. Not sure which others we’d find we need.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1562098</commentid>
    <comment_count>21</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-08-16 11:11:21 -0700</bug_when>
    <thetext>Not exactly &quot;expected errors&quot; but &quot;unsurprising errors, which we should ignore silently without logging&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1564177</commentid>
    <comment_count>22</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-08-22 12:53:57 -0700</bug_when>
    <thetext>Now every layout test logs:

12:46:33.026 12287   ERROR: File failed to delete. Error message: No such file or directory
12:46:33.026 12287   /Volumes/Data/Development/system/webkit/OpenSource/Source/WTF/wtf/posix/FileSystemPOSIX.cpp(77) : bool WTF::FileSystemImpl::deleteFile(const WTF::String &amp;)
12:46:33.026 12287   ERROR: File failed to delete. Error message: No such file or directory
12:46:33.026 12287   /Volumes/Data/Development/system/webkit/OpenSource/Source/WTF/wtf/posix/FileSystemPOSIX.cpp(77) : bool WTF::FileSystemImpl::deleteFile(const WTF::String &amp;)
12:46:33.026 12287   ERROR: File failed to delete. Error message: No such file or directory
12:46:33.026 12287   /Volumes/Data/Development/system/webkit/OpenSource/Source/WTF/wtf/posix/FileSystemPOSIX.cpp(77) : bool WTF::FileSystemImpl::deleteFile(const WTF::String &amp;)
12:46:33.026 12287   ERROR: File failed to delete. Error message: No such file or directory
12:46:33.026 12287   /Volumes/Data/Development/system/webkit/OpenSource/Source/WTF/wtf/posix/FileSystemPOSIX.cpp(77) : bool WTF::FileSystemImpl::deleteFile(const WTF::String &amp;)
12:46:33.026 12287   ERROR: File failed to delete. Error message: No such file or directory
12:46:33.026 12287   /Volumes/Data/Development/system/webkit/OpenSource/Source/WTF/wtf/posix/FileSystemPOSIX.cpp(77) : bool WTF::FileSystemImpl::deleteFile(const WTF::String &amp;)
12:46:33.026 12287   ERROR: File failed to delete. Error message: No such file or directory
12:46:33.026 12287   /Volumes/Data/Development/system/webkit/OpenSource/Source/WTF/wtf/posix/FileSystemPOSIX.cpp(77) : bool WTF::FileSystemImpl::deleteFile(const WTF::String &amp;)
12:46:33.026 12287   ERROR: File failed to delete. Error message: No such file or directory
12:46:33.026 12287   /Volumes/Data/Development/system/webkit/OpenSource/Source/WTF/wtf/posix/FileSystemPOSIX.cpp(77) : bool WTF::FileSystemImpl::deleteFile(const WTF::String &amp;)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>376209</attachid>
            <date>2019-08-13 13:40:52 -0700</date>
            <delta_ts>2019-08-14 14:41:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178347-20190813134051.patch</filename>
            <type>text/plain</type>
            <size>5205</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ4NTk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTljNGVjOWY5ZmI1NTRk
NjU3YzcxOTQxZWNjMGM0NGI2MjY0YWUwZS4uYmNlMDgwMzE0ODA0ZmI3N2NkNGE2ZjRhNjMwNTFj
ZWJjMjkxOGQ1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE5LTA4LTEzICBLYXRl
IENoZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29tPgorCisgICAgICAgIEZpbGVTeXN0
ZW06OmRlbGV0ZUZpbGUgc2hvdWxkIGxvZyBlcnJvciBzdGF0dXMgKDE3ODM0NykKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODM0NworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTW9kdWxlcy93ZWJkYXRh
YmFzZS9EYXRhYmFzZVRyYWNrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGF0YWJhc2VUcmFj
a2VyOjpkZWxldGVPcmlnaW4pOgorIAorICAgICAgICBFcnJvciBsb2cgbWVzc2FnZSBhbGxvd3Mg
Zm9yIGVhc2llciBkZWJ1Z2dpbmcgaW4gY2FzZSBvZiBjcmFzaCBkdXJpbmcKKyAgICAgICAgZGVs
ZXRlRmlsZSBvcGVyYXRpb24uCisKIDIwMTktMDgtMTMgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFw
cGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtURkNdIEFkZCByb3dTcGFuIGFuZCBjb2xTcGFuIHRv
IEJveApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwppbmRleCAxYTRlNGU1M2E3NmVjZmRjNzJjNTE0ZDExOTE4MTViMzVlNjIwYmY3
Li5jZjFkNWQ5ZTYwNmE5YmYwYmJlOTQwZjdiYzg0NWIyMzliNWI5YTY4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE2IEBACisyMDE5LTA4LTEzICBLYXRlIENoZW5leSAgPGthdGhlcmluZV9jaGVuZXlA
YXBwbGUuY29tPgorCisgICAgICAgIEZpbGVTeXN0ZW06OmRlbGV0ZUZpbGUgc2hvdWxkIGxvZyBl
cnJvciBzdGF0dXMgKDE3ODM0NykKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE3ODM0NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogU2hhcmVkL21hYy9BdXhpbGlhcnlQcm9jZXNzTWFjLm1tOgorICAgICAg
ICAoV2ViS2l0OjplbnN1cmVTYW5kYm94Q2FjaGVEaXJlY3RvcnkpOgorCisgICAgICAgIEVycm9y
IGxvZyBtZXNzYWdlIGFsbG93cyBmb3IgZWFzaWVyIGRlYnVnZ2luZyBpbiBjYXNlIG9mIGNyYXNo
IGR1cmluZworICAgICAgICBkZWxldGVGaWxlIG9wZXJhdGlvbi4KKwogMjAxOS0wOC0xMyAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQmxvYiByZWdpc3RyaWVz
IHNob3VsZCBiZSBrZXllZCBieSBzZXNzaW9uIElEcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dExlZ2FjeS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L0NoYW5nZUxvZwppbmRleCA0
YzUxZTk2NWY2ODI2YmVjM2VlOTJlNzUyOTU4N2UxYjFiMmQwNDNhLi45ODk2MDllN2UxNDk1NjAz
NjRjMGEzN2JlNzQ4MTU5NGFiYjA3YTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE2IEBACisyMDE5LTA4LTEzICBLYXRlIENoZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUu
Y29tPgorCisgICAgICAgIEZpbGVTeXN0ZW06OmRlbGV0ZUZpbGUgc2hvdWxkIGxvZyBlcnJvciBz
dGF0dXMgKDE3ODM0NykKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE3ODM0NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogU3RvcmFnZS9TdG9yYWdlVHJhY2tlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlN0
b3JhZ2VUcmFja2VyOjpzeW5jRGVsZXRlQWxsT3JpZ2lucyk6CisgCisgICAgICAgIEVycm9yIGxv
ZyBtZXNzYWdlIGFsbG93cyBmb3IgZWFzaWVyIGRlYnVnZ2luZyBpbiBjYXNlIG9mIGNyYXNoIGR1
cmluZworICAgICAgICBkZWxldGVGaWxlIG9wZXJhdGlvbi4KKwogMjAxOS0wOC0xMiAgWW91ZW5u
IEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIElEQi1zcGVjaWZp
YyBxdW90YQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9E
YXRhYmFzZVRyYWNrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9E
YXRhYmFzZVRyYWNrZXIuY3BwCmluZGV4IGQ4ZGRjYzU5ODU1MTU3NmQyYTJjMTBmNDJlNGFkMTJh
ODI1OWI1MTkuLjExMGE2YzQzYzczOTMwYmUyMmIzMzMyNTA1ZjI4ZmZjMzJmY2EyNmEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VUcmFja2Vy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlVHJh
Y2tlci5jcHAKQEAgLTg2MSw4ICs4NjEsMTAgQEAgYm9vbCBEYXRhYmFzZVRyYWNrZXI6OmRlbGV0
ZU9yaWdpbihjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmIG9yaWdpbiwgRGVsZXRpb25Nb2QKICAg
ICAgICAgUkVMRUFTRV9MT0dfRVJST1IoRGF0YWJhc2VUcmFja2VyLCAiVW5hYmxlIHRvIHJldHJp
ZXZlIGxpc3Qgb2YgZGF0YWJhc2UgbmFtZXMgZm9yIG9yaWdpbiIpOwogI2VuZGlmCiAgICAgICAg
IGZvciAoY29uc3QgYXV0byYgZmlsZSA6IEZpbGVTeXN0ZW06Omxpc3REaXJlY3Rvcnkob3JpZ2lu
UGF0aChvcmlnaW4pLCAiKiIpKSB7Ci0gICAgICAgICAgICBpZiAoIUZpbGVTeXN0ZW06OmRlbGV0
ZUZpbGUoZmlsZSkpCisgICAgICAgICAgICBpZiAoIUZpbGVTeXN0ZW06OmRlbGV0ZUZpbGUoZmls
ZSkpIHsKKyAgICAgICAgICAgICAgICBMT0dfRVJST1IoIkVycm9yIGRlbGV0aW5nIGRhdGFiYXNl
IGZpbGUgJXMiLCBmaWxlLnV0ZjgoKS5kYXRhKCkpOwogICAgICAgICAgICAgICAgIGZhaWxlZFRv
RGVsZXRlQW55RGF0YWJhc2VGaWxlID0gdHJ1ZTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQog
ICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL0F1eGlsaWFyeVBy
b2Nlc3NNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvQXV4aWxpYXJ5UHJvY2Vzc01h
Yy5tbQppbmRleCA2OWI4MGQ4YjY5NTEzZDViYTdiYzgwNDNlZGMwOWJhMjg1OTY2ODQ2Li5lNTAw
NWZmYTNlNzAyNjdiZGNjODBiYzc1MTYwNTJmZjcwNDk3ZjU4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9tYWMvQXV4aWxpYXJ5UHJvY2Vzc01hYy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9tYWMvQXV4aWxpYXJ5UHJvY2Vzc01hYy5tbQpAQCAtMzQyLDExICszNDIsMTUg
QEAgc3RhdGljIGJvb2wgZW5zdXJlU2FuZGJveENhY2hlRGlyZWN0b3J5KGNvbnN0IFNhbmRib3hJ
bmZvJiBpbmZvKQogCiAgICAgICAgIGJvb2wgaXNEaXJlY3RvcnkgPSBGaWxlU3lzdGVtOjpmaWxl
SXNEaXJlY3RvcnkoaW5mby5kaXJlY3RvcnlQYXRoLCBGaWxlU3lzdGVtOjpTaG91bGRGb2xsb3dT
eW1ib2xpY0xpbmtzOjpObyk7CiAgICAgICAgIGlmIChpc0RpcmVjdG9yeSkgewotICAgICAgICAg
ICAgaWYgKCFGaWxlU3lzdGVtOjpkZWxldGVOb25FbXB0eURpcmVjdG9yeShpbmZvLmRpcmVjdG9y
eVBhdGgpKQorICAgICAgICAgICAgaWYgKCFGaWxlU3lzdGVtOjpkZWxldGVOb25FbXB0eURpcmVj
dG9yeShpbmZvLmRpcmVjdG9yeVBhdGgpKSB7CisgICAgICAgICAgICAgICAgTE9HX0VSUk9SKCJF
cnJvciBkZWxldGluZyBub24tZW1wdHkgZGlyZWN0b3J5ICVzIiwgaW5mby5kaXJlY3RvcnlQYXRo
LnV0ZjgoKS5kYXRhKCkpOwogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAg
ICAgIH0KICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGlmICghRmlsZVN5c3RlbTo6ZGVs
ZXRlRmlsZShpbmZvLmRpcmVjdG9yeVBhdGgpKQorICAgICAgICAgICAgaWYgKCFGaWxlU3lzdGVt
OjpkZWxldGVGaWxlKGluZm8uZGlyZWN0b3J5UGF0aCkpIHsKKyAgICAgICAgICAgICAgICBMT0df
RVJST1IoIkVycm9yIGRlbGV0aW5nIGRpcmVjdG9yeSAlcyIsIGluZm8uZGlyZWN0b3J5UGF0aC51
dGY4KCkuZGF0YSgpKTsKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAg
ICB9CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoIW1ha2VEYXRhVmF1bHQoKSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvU3RvcmFnZS9TdG9yYWdlVHJhY2tlci5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L1N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuY3BwCmluZGV4IGI5MzRkMWEz
YjFiYWE4MzFhZGRmM2FiZTVlMDc3MGFiMWNmNzdmYTIuLjg3N2RmYTBmZTk0YmFiYjQ4MGY5ZDQ5
OTZkY2UxNmI1NDRjYjI4NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvU3RvcmFn
ZS9TdG9yYWdlVHJhY2tlci5jcHAKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9TdG9yYWdlL1N0
b3JhZ2VUcmFja2VyLmNwcApAQCAtNDQzLDYgKzQ0Myw3IEBAIHZvaWQgU3RvcmFnZVRyYWNrZXI6
OnN5bmNEZWxldGVBbGxPcmlnaW5zKCkKIAogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQogICAg
IGlmICghRmlsZVN5c3RlbTo6ZGVsZXRlRmlsZSh0cmFja2VyRGF0YWJhc2VQYXRoKCkpKSB7Cisg
ICAgICAgIExPR19FUlJPUigiRXJyb3IgZGVsZXRpbmcgZmlsZSAlcyIsIHRyYWNrZXJEYXRhYmFz
ZVBhdGgoKS51dGY4KCkuZGF0YSgpKTsKICAgICAgICAgLy8gSW4gdGhlIGNhc2Ugd2hlcmUgaXQg
aXMgbm90IHBvc3NpYmxlIHRvIGRlbGV0ZSB0aGUgZGF0YWJhc2UgZmlsZSAoZS5nIHNvbWUgb3Ro
ZXIgcHJvZ3JhbQogICAgICAgICAvLyBsaWtlIGEgdmlydXMgc2Nhbm5lciBpcyBhY2Nlc3Npbmcg
aXQpLCBtYWtlIHN1cmUgdG8gcmVtb3ZlIGFsbCBlbnRyaWVzLgogICAgICAgICBvcGVuVHJhY2tl
ckRhdGFiYXNlKGZhbHNlKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>376314</attachid>
            <date>2019-08-14 14:41:58 -0700</date>
            <delta_ts>2019-08-14 15:29:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178347-20190814144157.patch</filename>
            <type>text/plain</type>
            <size>2102</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ4NTk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGI1ZmUzNjczMjEwMThkZDVhMWQ0N2Y1
NWMxYTcxZjBhODJmOGM1NzIuLjg1Y2M0NWU4ZWZkYWQ2OGY5MGY1OTFhMzJkNmIzYjEzODYyNDk5
NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTktMDgtMTQgIEthdGUgQ2hlbmV5ICA8a2F0aGVy
aW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgRmlsZVN5c3RlbTo6ZGVsZXRlRmlsZSBz
aG91bGQgbG9nIGVycm9yIHN0YXR1cyAoMTc4MzQ3KQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MzQ3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgSSBhZGRlZCBsb2dnaW5nIHRvIHRoZSBGaWxlU3lzdGVt
OjpkZWxldGVGaWxlIGZ1bmN0aW9uIHNvIHRoYXQgdGhlIGRlYnVnZ2VyIHdpbGwKKyAgICAgICAg
YmUgYWJsZSB0byBzZWUgdGhlIGFzc29jaWF0ZWQgZXJybm8gc3RyaW5nIGFuZCBiZXR0ZXIgdW5k
ZXJzdGFuZCB0aGUgcmVhc29uIGZvciBhbgorICAgICAgICB1bmxpbmsgZmFpbHVyZSBvciB3aWxs
IGtub3cgaWYgdGhlIGZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbiBjYWxsIHdhcyBub3QKKyAgICAg
ICAgc3VjY2Vzc2Z1bCAob3IgcmV0dXJuZWQgbnVsbCkuCisKKyAgICAgICAgKiB3dGYvcG9zaXgv
RmlsZVN5c3RlbVBPU0lYLmNwcDoKKyAgICAgICAgKFdURjo6RmlsZVN5c3RlbUltcGw6OmRlbGV0
ZUZpbGUpOgorCiAyMDE5LTA4LTEyICBUYWthc2hpIEtvbW9yaSAgPFRha2FzaGkuS29tb3JpQHNv
bnkuY29tPgogCiAgICAgICAgIFtXVEZdIFRocmVhZDo6cmVtb3ZlRnJvbVRocmVhZEdyb3VwIGxl
YWtzIHdlYWsgcG9pbnRlcnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9wb3NpeC9GaWxl
U3lzdGVtUE9TSVguY3BwIGIvU291cmNlL1dURi93dGYvcG9zaXgvRmlsZVN5c3RlbVBPU0lYLmNw
cAppbmRleCBjMDMwZjljZWI3ZDJiYTRlYmUyZjhiMDYyOTkwZjk2NzU0YWI2NTlkLi43OWQzZmFm
ZGQ1YzJmNGQ3YmZjMjdkMTljNjMwNGE0OTYyNTA5OGE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RG
L3d0Zi9wb3NpeC9GaWxlU3lzdGVtUE9TSVguY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL3Bvc2l4
L0ZpbGVTeXN0ZW1QT1NJWC5jcHAKQEAgLTY2LDExICs2NiwxNyBAQCBib29sIGRlbGV0ZUZpbGUo
Y29uc3QgU3RyaW5nJiBwYXRoKQogewogICAgIENTdHJpbmcgZnNSZXAgPSBmaWxlU3lzdGVtUmVw
cmVzZW50YXRpb24ocGF0aCk7CiAKLSAgICBpZiAoIWZzUmVwLmRhdGEoKSB8fCBmc1JlcC5kYXRh
KClbMF0gPT0gJ1wwJykKKyAgICBpZiAoIWZzUmVwLmRhdGEoKSB8fCBmc1JlcC5kYXRhKClbMF0g
PT0gJ1wwJykgeworICAgICAgICBMT0dfRVJST1IoIkZhaWxlZCB0byBnZXQgZmlsZXN5c3RlbSBy
ZXByZXNlbnRhdGlvbiB0byBjcmVhdGUgQ1N0cmluZyBmcm9tIGNmU3RyaW5nIG9yIGZpbGVzeXN0
ZW0gcmVwcmVzZW50YXRpb24gaXMgYSBudWxsIHZhbHVlIik7CiAgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICB9CiAKICAgICAvLyB1bmxpbmsoLi4uKSByZXR1cm5zIDAgb24gc3VjY2Vzc2Z1bCBk
ZWxldGlvbiBvZiB0aGUgcGF0aCBhbmQgbm9uLXplcm8gaW4gYW55IG90aGVyIGNhc2UgKGluY2x1
ZGluZyBpbnZhbGlkIHBlcm1pc3Npb25zIG9yIG5vbi1leGlzdGVudCBmaWxlKQotICAgIHJldHVy
biAhdW5saW5rKGZzUmVwLmRhdGEoKSk7CisgICAgYm9vbCB1bmxpbmtSZXN1bHQgPSB1bmxpbmso
ZnNSZXAuZGF0YSgpKTsKKyAgICBpZiAodW5saW5rUmVzdWx0KQorICAgICAgICBMT0dfRVJST1Io
IkZpbGUgZmFpbGVkIHRvIGRlbGV0ZS4gRXJyb3IgbWVzc2FnZTogJXMiLCBzdHJlcnJvcihlcnJu
bykpOworCisgICAgcmV0dXJuICF1bmxpbmtSZXN1bHQ7CiB9CiAKIFBsYXRmb3JtRmlsZUhhbmRs
ZSBvcGVuRmlsZShjb25zdCBTdHJpbmcmIHBhdGgsIEZpbGVPcGVuTW9kZSBtb2RlKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>376321</attachid>
            <date>2019-08-14 15:29:59 -0700</date>
            <delta_ts>2019-08-14 16:54:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178347-20190814152958.patch</filename>
            <type>text/plain</type>
            <size>2091</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ4NTk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGI1ZmUzNjczMjEwMThkZDVhMWQ0N2Y1
NWMxYTcxZjBhODJmOGM1NzIuLjg1Y2M0NWU4ZWZkYWQ2OGY5MGY1OTFhMzJkNmIzYjEzODYyNDk5
NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTktMDgtMTQgIEthdGUgQ2hlbmV5ICA8a2F0aGVy
aW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgRmlsZVN5c3RlbTo6ZGVsZXRlRmlsZSBz
aG91bGQgbG9nIGVycm9yIHN0YXR1cyAoMTc4MzQ3KQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MzQ3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgSSBhZGRlZCBsb2dnaW5nIHRvIHRoZSBGaWxlU3lzdGVt
OjpkZWxldGVGaWxlIGZ1bmN0aW9uIHNvIHRoYXQgdGhlIGRlYnVnZ2VyIHdpbGwKKyAgICAgICAg
YmUgYWJsZSB0byBzZWUgdGhlIGFzc29jaWF0ZWQgZXJybm8gc3RyaW5nIGFuZCBiZXR0ZXIgdW5k
ZXJzdGFuZCB0aGUgcmVhc29uIGZvciBhbgorICAgICAgICB1bmxpbmsgZmFpbHVyZSBvciB3aWxs
IGtub3cgaWYgdGhlIGZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbiBjYWxsIHdhcyBub3QKKyAgICAg
ICAgc3VjY2Vzc2Z1bCAob3IgcmV0dXJuZWQgbnVsbCkuCisKKyAgICAgICAgKiB3dGYvcG9zaXgv
RmlsZVN5c3RlbVBPU0lYLmNwcDoKKyAgICAgICAgKFdURjo6RmlsZVN5c3RlbUltcGw6OmRlbGV0
ZUZpbGUpOgorCiAyMDE5LTA4LTEyICBUYWthc2hpIEtvbW9yaSAgPFRha2FzaGkuS29tb3JpQHNv
bnkuY29tPgogCiAgICAgICAgIFtXVEZdIFRocmVhZDo6cmVtb3ZlRnJvbVRocmVhZEdyb3VwIGxl
YWtzIHdlYWsgcG9pbnRlcnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9wb3NpeC9GaWxl
U3lzdGVtUE9TSVguY3BwIGIvU291cmNlL1dURi93dGYvcG9zaXgvRmlsZVN5c3RlbVBPU0lYLmNw
cAppbmRleCBjMDMwZjljZWI3ZDJiYTRlYmUyZjhiMDYyOTkwZjk2NzU0YWI2NTlkLi44ZjY5NWMx
YzUyNDk5MTYyNzlhODdjZWEzZTRlY2E0NjhmZjVlNmViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RG
L3d0Zi9wb3NpeC9GaWxlU3lzdGVtUE9TSVguY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL3Bvc2l4
L0ZpbGVTeXN0ZW1QT1NJWC5jcHAKQEAgLTY2LDExICs2NiwxNyBAQCBib29sIGRlbGV0ZUZpbGUo
Y29uc3QgU3RyaW5nJiBwYXRoKQogewogICAgIENTdHJpbmcgZnNSZXAgPSBmaWxlU3lzdGVtUmVw
cmVzZW50YXRpb24ocGF0aCk7CiAKLSAgICBpZiAoIWZzUmVwLmRhdGEoKSB8fCBmc1JlcC5kYXRh
KClbMF0gPT0gJ1wwJykKKyAgICBpZiAoIWZzUmVwLmRhdGEoKSB8fCBmc1JlcC5kYXRhKClbMF0g
PT0gJ1wwJykgeworICAgICAgICBMT0dfRVJST1IoIkZhaWxlZCB0byBnZXQgZmlsZXN5c3RlbSBy
ZXByZXNlbnRhdGlvbiB0byBjcmVhdGUgQ1N0cmluZyBmcm9tIGNmU3RyaW5nIG9yIGZpbGVzeXN0
ZW0gcmVwcmVzZW50YXRpb24gaXMgYSBudWxsIHZhbHVlIik7CiAgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICB9CiAKICAgICAvLyB1bmxpbmsoLi4uKSByZXR1cm5zIDAgb24gc3VjY2Vzc2Z1bCBk
ZWxldGlvbiBvZiB0aGUgcGF0aCBhbmQgbm9uLXplcm8gaW4gYW55IG90aGVyIGNhc2UgKGluY2x1
ZGluZyBpbnZhbGlkIHBlcm1pc3Npb25zIG9yIG5vbi1leGlzdGVudCBmaWxlKQotICAgIHJldHVy
biAhdW5saW5rKGZzUmVwLmRhdGEoKSk7CisgICAgYm9vbCB1bmxpbmtlZCA9ICF1bmxpbmsoZnNS
ZXAuZGF0YSgpKTsKKyAgICBpZiAoIXVubGlua2VkKQorICAgICAgICBMT0dfRVJST1IoIkZpbGUg
ZmFpbGVkIHRvIGRlbGV0ZS4gRXJyb3IgbWVzc2FnZTogJXMiLCBzdHJlcnJvcihlcnJubykpOwor
CisgICAgcmV0dXJuIHVubGlua2VkOwogfQogCiBQbGF0Zm9ybUZpbGVIYW5kbGUgb3BlbkZpbGUo
Y29uc3QgU3RyaW5nJiBwYXRoLCBGaWxlT3Blbk1vZGUgbW9kZSkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>376332</attachid>
            <date>2019-08-14 16:54:01 -0700</date>
            <delta_ts>2019-08-14 18:58:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178347-20190814165401.patch</filename>
            <type>text/plain</type>
            <size>2114</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ4NTk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGI1ZmUzNjczMjEwMThkZDVhMWQ0N2Y1
NWMxYTcxZjBhODJmOGM1NzIuLjg1Y2M0NWU4ZWZkYWQ2OGY5MGY1OTFhMzJkNmIzYjEzODYyNDk5
NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTktMDgtMTQgIEthdGUgQ2hlbmV5ICA8a2F0aGVy
aW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgRmlsZVN5c3RlbTo6ZGVsZXRlRmlsZSBz
aG91bGQgbG9nIGVycm9yIHN0YXR1cyAoMTc4MzQ3KQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MzQ3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgSSBhZGRlZCBsb2dnaW5nIHRvIHRoZSBGaWxlU3lzdGVt
OjpkZWxldGVGaWxlIGZ1bmN0aW9uIHNvIHRoYXQgdGhlIGRlYnVnZ2VyIHdpbGwKKyAgICAgICAg
YmUgYWJsZSB0byBzZWUgdGhlIGFzc29jaWF0ZWQgZXJybm8gc3RyaW5nIGFuZCBiZXR0ZXIgdW5k
ZXJzdGFuZCB0aGUgcmVhc29uIGZvciBhbgorICAgICAgICB1bmxpbmsgZmFpbHVyZSBvciB3aWxs
IGtub3cgaWYgdGhlIGZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbiBjYWxsIHdhcyBub3QKKyAgICAg
ICAgc3VjY2Vzc2Z1bCAob3IgcmV0dXJuZWQgbnVsbCkuCisKKyAgICAgICAgKiB3dGYvcG9zaXgv
RmlsZVN5c3RlbVBPU0lYLmNwcDoKKyAgICAgICAgKFdURjo6RmlsZVN5c3RlbUltcGw6OmRlbGV0
ZUZpbGUpOgorCiAyMDE5LTA4LTEyICBUYWthc2hpIEtvbW9yaSAgPFRha2FzaGkuS29tb3JpQHNv
bnkuY29tPgogCiAgICAgICAgIFtXVEZdIFRocmVhZDo6cmVtb3ZlRnJvbVRocmVhZEdyb3VwIGxl
YWtzIHdlYWsgcG9pbnRlcnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9wb3NpeC9GaWxl
U3lzdGVtUE9TSVguY3BwIGIvU291cmNlL1dURi93dGYvcG9zaXgvRmlsZVN5c3RlbVBPU0lYLmNw
cAppbmRleCBjMDMwZjljZWI3ZDJiYTRlYmUyZjhiMDYyOTkwZjk2NzU0YWI2NTlkLi4xZWVhZDI5
ODk0ZDRkYWMxZmZkM2Q3MzM5MzkwMTM4YWY0OWI1MDg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RG
L3d0Zi9wb3NpeC9GaWxlU3lzdGVtUE9TSVguY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL3Bvc2l4
L0ZpbGVTeXN0ZW1QT1NJWC5jcHAKQEAgLTY2LDExICs2NiwxNyBAQCBib29sIGRlbGV0ZUZpbGUo
Y29uc3QgU3RyaW5nJiBwYXRoKQogewogICAgIENTdHJpbmcgZnNSZXAgPSBmaWxlU3lzdGVtUmVw
cmVzZW50YXRpb24ocGF0aCk7CiAKLSAgICBpZiAoIWZzUmVwLmRhdGEoKSB8fCBmc1JlcC5kYXRh
KClbMF0gPT0gJ1wwJykKKyAgICBpZiAoIWZzUmVwLmRhdGEoKSB8fCBmc1JlcC5kYXRhKClbMF0g
PT0gJ1wwJykgeworICAgICAgICBMT0dfRVJST1IoIkZpbGUgZmFpbGVkIHRvIGRlbGV0ZS4gRmFp
bGVkIHRvIGdldCBmaWxlc3lzdGVtIHJlcHJlc2VudGF0aW9uIHRvIGNyZWF0ZSBDU3RyaW5nIGZy
b20gY2ZTdHJpbmcgb3IgZmlsZXN5c3RlbSByZXByZXNlbnRhdGlvbiBpcyBhIG51bGwgdmFsdWUi
KTsKICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KIAogICAgIC8vIHVubGluayguLi4pIHJl
dHVybnMgMCBvbiBzdWNjZXNzZnVsIGRlbGV0aW9uIG9mIHRoZSBwYXRoIGFuZCBub24temVybyBp
biBhbnkgb3RoZXIgY2FzZSAoaW5jbHVkaW5nIGludmFsaWQgcGVybWlzc2lvbnMgb3Igbm9uLWV4
aXN0ZW50IGZpbGUpCi0gICAgcmV0dXJuICF1bmxpbmsoZnNSZXAuZGF0YSgpKTsKKyAgICBib29s
IHVubGlua2VkID0gIXVubGluayhmc1JlcC5kYXRhKCkpOworICAgIGlmICghdW5saW5rZWQpCisg
ICAgICAgIExPR19FUlJPUigiRmlsZSBmYWlsZWQgdG8gZGVsZXRlLiBFcnJvciBtZXNzYWdlOiAl
cyIsIHN0cmVycm9yKGVycm5vKSk7CisKKyAgICByZXR1cm4gdW5saW5rZWQ7CiB9CiAKIFBsYXRm
b3JtRmlsZUhhbmRsZSBvcGVuRmlsZShjb25zdCBTdHJpbmcmIHBhdGgsIEZpbGVPcGVuTW9kZSBt
b2RlKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>