<?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>200831</bug_id>
          
          <creation_ts>2019-08-16 14:22:48 -0700</creation_ts>
          <short_desc>Logging in FileSystem::deleteFile should avoid logging unsurprising errors</short_desc>
          <delta_ts>2019-08-22 14:29:19 -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=178347</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="Kate Cheney">katherine_cheney</reporter>
          <assigned_to name="Kate Cheney">katherine_cheney</assigned_to>
          <cc>benjamin</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>japhet</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1562223</commentid>
    <comment_count>0</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2019-08-16 14:22:48 -0700</bug_when>
    <thetext>Currently, FileSystem::deleteFile logs every failed delete of a file. To avoid excess logging, a caller should be able to indicate any errors they would expect or be unsurprised to see happen, which should not be logged.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1563173</commentid>
    <comment_count>1</comment_count>
      <attachid>376787</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2019-08-20 11:58:12 -0700</bug_when>
    <thetext>Created attachment 376787
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1563517</commentid>
    <comment_count>2</comment_count>
      <attachid>376787</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-08-21 09:29:54 -0700</bug_when>
    <thetext>Comment on attachment 376787
Patch

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

&gt; Source/WTF/wtf/FileSystem.h:83
&gt; +// Avoids overlogging by enumerating expected errors when deleting a file.
&gt; +// Add additional definitions as needed (integer is the errno value).
&gt; +enum ExpectedError {
&gt; +    FileDoesntExist = 2
&gt; +};

It’s not good abstraction to actually use POSIX error numbers here. This should just be a plain old enumeration without match errno values.

&gt; Source/WTF/wtf/FileSystem.h:113
&gt; +WTF_EXPORT_PRIVATE bool deleteFile(const String&amp;, OptionSet&lt;ExpectedError&gt; expectedErrors = OptionSet&lt;ExpectedError&gt;());

Can write it this way:

    OptionSet&lt;ExpectedError&gt; = { }

No need for an argument name since the type makes it completely clear, it&apos;s a set of expected errors. No need to repeat the type since we can use the { } syntax.

&gt; Source/WTF/wtf/posix/FileSystemPOSIX.cpp:77
&gt; +        int error = errno;

I don’t think it’s really OK to convert the errno to an ExpectedError without a switch statement. For now lets just write something more like this:

    Optional&lt;ExpectedError&gt; error;
    switch (errno) {
    case ENOENT:
        error = FileDoesNotExist;
        break;
    }
    if (error &amp;&amp; !expectedErrors.contains(error.value()))
        LOG_ERROR(&quot;File failed to delete. Error message: %s&quot;, strerror(errno));

&gt; Source/WebCore/loader/appcache/ApplicationCacheStorage.cpp:828
&gt; +        if (!fullPath.isEmpty()) {
&gt; +            OptionSet&lt;FileSystem::ExpectedError&gt; expectedErrors = OptionSet&lt;FileSystem::ExpectedError&gt;();
&gt; +            expectedErrors.add(FileSystem::FileDoesntExist);
&gt; +            FileSystem::deleteFile(fullPath, expectedErrors);
&gt; +        }

OptionSet is constructible from a single value in a straightforward way for a case like this. The code should be something more like:

    if (!fullPath.isEmpty())
        FileSystem::deleteFile(fullPath, FileDoesNotExist);

But I think this makes it clear we would be better off with ExpectedError as an enum class instead of an enum, because then it would be the easier to understand:

    if (!fullPath.isEmpty())
        FileSystem::deleteFile(fullPath, ExpectedError::FileDoesNotExist);

Same for the other cases below.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1563518</commentid>
    <comment_count>3</comment_count>
      <attachid>376787</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-08-21 09:32:58 -0700</bug_when>
    <thetext>Comment on attachment 376787
Patch

I’m puzzled by the EWS failures</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1563736</commentid>
    <comment_count>4</comment_count>
      <attachid>376932</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2019-08-21 15:33:25 -0700</bug_when>
    <thetext>Created attachment 376932
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1563739</commentid>
    <comment_count>5</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2019-08-21 15:34:10 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #3)
&gt; Comment on attachment 376787 [details]
&gt; Patch
&gt; 
&gt; I’m puzzled by the EWS failures

Thanks for the feedback! All looks good. I ran a small manual test and realized the enum values default to 0, which was causing the OptionSet to think that it was empty (it was performing bitwise &amp; operations on a 0 value). So the only change I made to your suggestions was I set an FileDoesNotExist bit to 1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1563740</commentid>
    <comment_count>6</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2019-08-21 15:34:37 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #3)
&gt; Comment on attachment 376787 [details]
&gt; Patch
&gt; 
&gt; I’m puzzled by the EWS failures

I am equally puzzled. I will look into this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1563751</commentid>
    <comment_count>7</comment_count>
      <attachid>376932</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-08-21 15:41:32 -0700</bug_when>
    <thetext>Comment on attachment 376932
Patch

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

&gt; Source/WTF/wtf/posix/FileSystemPOSIX.cpp:65
&gt; +bool deleteFile(const String&amp; path, OptionSet&lt;ExpectedError&gt; expectedErrors)

I personally do not like that we&apos;re making the API more complex just to avoid some debug logging. My suggestion would be to not change the API and never log_error in the ENOENT case (since the file is already not there).

&gt; Source/WTF/wtf/posix/FileSystemPOSIX.cpp:-77
&gt; -        LOG_ERROR(&quot;File failed to delete. Error message: %s&quot;, strerror(errno));

Note that this is debug only logging.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1563763</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-08-21 15:46:36 -0700</bug_when>
    <thetext>(In reply to Katherine_cheney from comment #6)
&gt; (In reply to Darin Adler from comment #3)
&gt; &gt; Comment on attachment 376787 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; I’m puzzled by the EWS failures
&gt; 
&gt; I am equally puzzled. I will look into this.

The latest EWS failures seem to be because the patch failed to update the deleteFile() implementation used by other ports than macOS/iOS:
Source/WTF/wtf/glib/FileSystemGlib.cpp:bool deleteFile(const String&amp; path)
Source/WTF/wtf/win/FileSystemWin.cpp:bool deleteFile(const String&amp; path)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1563857</commentid>
    <comment_count>9</comment_count>
      <attachid>376932</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-08-21 18:00:53 -0700</bug_when>
    <thetext>Comment on attachment 376932
Patch

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

&gt;&gt; Source/WTF/wtf/posix/FileSystemPOSIX.cpp:65
&gt;&gt; +bool deleteFile(const String&amp; path, OptionSet&lt;ExpectedError&gt; expectedErrors)
&gt; 
&gt; I personally do not like that we&apos;re making the API more complex just to avoid some debug logging. My suggestion would be to not change the API and never log_error in the ENOENT case (since the file is already not there).

Since I suggested this more-complex change in the first place then I suppose I should give my opinion on this feedback:

- If it’s always a good idea to not log when it’s ENOENT and we still achieve our goals (whatever our reason was for wanting this logged), then we can go with that, and come back to a more complex solution only if there is a good reason.

- If there are some cases where we want to log even for ENOENT we could consider having two deleteFile functions with the different expectations and logging behaviors rather than the more complex argument; internally they would call a common helper but the interface would stay a little simpler.

- This complex solution might still be a good idea if it turns out we do have more complex needs.

By the way, I think it is worthwhile to keep harmless messages out of the logs, even only the debug logs. So it’s OK to have the code be slightly more complex to achieve that. But I agree that we should not make it *unnecessarily* complex.

&gt;&gt; Source/WTF/wtf/posix/FileSystemPOSIX.cpp:-77
&gt;&gt; -        LOG_ERROR(&quot;File failed to delete. Error message: %s&quot;, strerror(errno));
&gt; 
&gt; Note that this is debug only logging.

Good point. Is that OK? Do we achieve our goals with debug-only logging?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1563957</commentid>
    <comment_count>10</comment_count>
      <attachid>376932</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-08-21 22:42:26 -0700</bug_when>
    <thetext>Comment on attachment 376932
Patch

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

Sorry, I had not realized I overruled the previous reviewer, I should have read previous comments, instead of simply clicking the review link in the mail notification.

&gt;&gt;&gt; Source/WTF/wtf/posix/FileSystemPOSIX.cpp:65
&gt;&gt;&gt; +bool deleteFile(const String&amp; path, OptionSet&lt;ExpectedError&gt; expectedErrors)
&gt;&gt; 
&gt;&gt; I personally do not like that we&apos;re making the API more complex just to avoid some debug logging. My suggestion would be to not change the API and never log_error in the ENOENT case (since the file is already not there).
&gt; 
&gt; Since I suggested this more-complex change in the first place then I suppose I should give my opinion on this feedback:
&gt; 
&gt; - If it’s always a good idea to not log when it’s ENOENT and we still achieve our goals (whatever our reason was for wanting this logged), then we can go with that, and come back to a more complex solution only if there is a good reason.
&gt; 
&gt; - If there are some cases where we want to log even for ENOENT we could consider having two deleteFile functions with the different expectations and logging behaviors rather than the more complex argument; internally they would call a common helper but the interface would stay a little simpler.
&gt; 
&gt; - This complex solution might still be a good idea if it turns out we do have more complex needs.
&gt; 
&gt; By the way, I think it is worthwhile to keep harmless messages out of the logs, even only the debug logs. So it’s OK to have the code be slightly more complex to achieve that. But I agree that we should not make it *unnecessarily* complex.

I agree we should not log harmless messages and my proposal achieves that. My belief is that the only reason we currently log an error when the file is missing is simply an oversight.

If there were more types of errors we’d like to ignore then I think the new API would make a lot of sense. However, in the currently state, it seems unnecessary complex to me. I am hoping we can go with my simpler proposal for now.

&gt;&gt;&gt; Source/WTF/wtf/posix/FileSystemPOSIX.cpp:-77
&gt;&gt;&gt; -        LOG_ERROR(&quot;File failed to delete. Error message: %s&quot;, strerror(errno));
&gt;&gt; 
&gt;&gt; Note that this is debug only logging.
&gt; 
&gt; Good point. Is that OK? Do we achieve our goals with debug-only logging?

If we do not log an error when the file is missing, then I would support moving to a RELEASE_LOG_ERROR().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1564112</commentid>
    <comment_count>11</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2019-08-22 10:18:32 -0700</bug_when>
    <thetext>I agree that we shouldn&apos;t make things unnecessarily complex. In terms of ignoring all ENOENT errors, I propose a scenario where a user tries to delete an incorrect path (like cookies) and it fails to delete. It might be useful in that case to know that the error was ENOENT so that even if you can&apos;t see the path itself, it leads you to discover the incorrect-path bug.

Another idea is the OptionSet could default to hold ENOENT, so in most all cases logging for a missing file would be ignored. Then a caller could pass an empty OptionSet (with an apt constant name like logAllErrors) to the deleteFile call if they wanted to see ENOENT errors. 

This doesn&apos;t solve the complex API problem, but it probably would reduce unnecessary logging of ENOENT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1564173</commentid>
    <comment_count>12</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-08-22 12:46:04 -0700</bug_when>
    <thetext>(In reply to Katherine_cheney from comment #11)
&gt; I agree that we shouldn&apos;t make things unnecessarily complex. In terms of
&gt; ignoring all ENOENT errors, I propose a scenario where a user tries to
&gt; delete an incorrect path (like cookies) and it fails to delete. It might be
&gt; useful in that case to know that the error was ENOENT so that even if you
&gt; can&apos;t see the path itself, it leads you to discover the incorrect-path bug.

This seems theoretical at this point since your patch seems to ignore ENOENT at all call sites, unless I missed something. So until we actually need the behavior you suggest, I would hold off on changing the API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1564190</commentid>
    <comment_count>13</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2019-08-22 13:09:18 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #12)
&gt; (In reply to Katherine_cheney from comment #11)
&gt; &gt; I agree that we shouldn&apos;t make things unnecessarily complex. In terms of
&gt; &gt; ignoring all ENOENT errors, I propose a scenario where a user tries to
&gt; &gt; delete an incorrect path (like cookies) and it fails to delete. It might be
&gt; &gt; useful in that case to know that the error was ENOENT so that even if you
&gt; &gt; can&apos;t see the path itself, it leads you to discover the incorrect-path bug.
&gt; 
&gt; This seems theoretical at this point since your patch seems to ignore ENOENT
&gt; at all call sites, unless I missed something. So until we actually need the
&gt; behavior you suggest, I would hold off on changing the API.

Okay. I&apos;ll go ahead and upload a patch that ignores ENOENT errors because I&apos;ve been getting some feedback that the additional logging is a little too verbose when running layout tests. We can always revisit changing the API if the need arises in the future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1564200</commentid>
    <comment_count>14</comment_count>
      <attachid>377040</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2019-08-22 13:39:15 -0700</bug_when>
    <thetext>Created attachment 377040
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1564203</commentid>
    <comment_count>15</comment_count>
      <attachid>377040</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-08-22 13:44:48 -0700</bug_when>
    <thetext>Comment on attachment 377040
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1564223</commentid>
    <comment_count>16</comment_count>
      <attachid>377040</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-22 14:28:36 -0700</bug_when>
    <thetext>Comment on attachment 377040
Patch

Clearing flags on attachment: 377040

Committed r249027: &lt;https://trac.webkit.org/changeset/249027&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1564224</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-22 14:28:38 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1564225</commentid>
    <comment_count>18</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-08-22 14:29:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/54614611&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>376787</attachid>
            <date>2019-08-20 11:58:12 -0700</date>
            <delta_ts>2019-08-21 15:33:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200831-20190820115811.patch</filename>
            <type>text/plain</type>
            <size>8663</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ4ODczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDc2NjU5NTE1ZjVhN2IzZTI1YTA0MzBi
YWEyNDA1NzJiYjM3MmQzMGIuLjEwOWM0OGNkY2VkNWQ0YjE0OGRhOWI2ZjA0NGI3MjYyMzVlYjU0
ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTktMDgtMjAgIEthdGUgQ2hlbmV5ICA8a2F0aGVy
aW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgTG9nZ2luZyBpbiBGaWxlU3lzdGVtOjpk
ZWxldGVGaWxlIHNob3VsZCBhdm9pZCBsb2dnaW5nIHVuc3VycHJpc2luZyBlcnJvcnMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDgzMQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGVudW1lcmF0
aW9uIGluIEZpbGVTeXN0ZW0uaCB0byBob2xkIHBvdGVudGlhbCBleHBlY3RlZCBlcnJvcnMgYW5k
IHRoZWlyIGNvZGVzLgorICAgICAgICBPcHRpb25TZXQgYXJndW1lbnQgaW4gZGVsZXRlRmlsZSBj
YW4gYmUgaWdub3JlZCBpZiBubyBleHBlY3RlZCBlcnJvcnMuCisgICAgICAgIEFueSBlcnJvciBj
b2RlcyBjb250YWluZWQgaW4gdGhlIGV4cGVjdGVkRXJyb3JzIE9wdGlvblNldCB3aWxsIG5vdyBu
b3QgYmUgbG9nZ2VkLgorCisgICAgICAgICogd3RmL0ZpbGVTeXN0ZW0uaDoKKyAgICAgICAgKiB3
dGYvcG9zaXgvRmlsZVN5c3RlbVBPU0lYLmNwcDoKKyAgICAgICAgKFdURjo6RmlsZVN5c3RlbUlt
cGw6OmRlbGV0ZUZpbGUpOgorCiAyMDE5LTA4LTE5ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFu
QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIGJ1aWxkIGZpeCBmb3IgbWFjT1MgMTAu
MTQgYWZ0ZXIgcjI0ODgzMi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBlNjA1ODhkMDgwMzBhOTJiZWVkNjUzNjkz
NjIxOTg3ODZlZGU2NTJmLi43MDI3MDU5NzY5MWFiZDU2Y2NiZTIxM2U0ZTAyZjI0M2FmMmJlODA3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTktMDgtMjAgIEthdGUgQ2hlbmV5ICA8
a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgTG9nZ2luZyBpbiBGaWxlU3lz
dGVtOjpkZWxldGVGaWxlIHNob3VsZCBhdm9pZCBsb2dnaW5nIHVuc3VycHJpc2luZyBlcnJvcnMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDgzMQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogbG9hZGVy
L2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOjpzdG9yZSk6CisgICAgICAgIEFkZGVkIGV4cGVjdGVk
IGVycm9yIG9mIEZpbGVEb2VzbnRFeGlzdCBiZWNhdXNlIHRoZSBjb21tZW50IGluZGljYXRlZCB0
aGUgZmlsZXMgIm1heSIKKyAgICAgICAgaGF2ZSBiZWVuIHdyaXR0ZW4gdG8uIFRoaXMgaW5kaWNh
dGVkIHRvIG1lIHRoYXQgYSAibm8gc3VjaCBmaWxlIiBlcnJvciBjb3VsZCBiZSBpZ25vcmVkLgor
IAorICAgICAgICAqIHBsYXRmb3JtL3NxbC9TUUxpdGVGaWxlU3lzdGVtLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNRTGl0ZUZpbGVTeXN0ZW06OmRlbGV0ZURhdGFiYXNlRmlsZSk6CisgICAgICAg
IFNpbWlsYXJseSwgdGhlIGNvbW1lbnQgaW5kaWNhdGVzIHRoYXQgdGhlIGZpbGVzIG1heSBvciBt
YXkgbm90IGV4aXN0IHVwb24gY2FsbGluZyB0aGUKKyAgICAgICAgZGVsZXRpb24gbWV0aG9kLCBz
byBJIGFkZGVkIGFuIGV4cGVjdGVkIGVycm9yIG9mIGZpbGVEb2VzbnRFeGlzdCBzbyBpdCB3aWxs
IG5vdCBiZSBsb2dnZWQuCisKIDIwMTktMDgtMTkgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBs
ZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIElEQi1zcGVjaWZpYyBxdW90YQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBm
ZWY5ODBhODMyZGM2NmVhMzJiMWQ5YTE1NWRmNWI1ZDZhZWI2NjJkLi5lZmZjMDdhNmY0MmUzNjZh
YmNmZTJhOTllMDc5ZjI3NTA1MDI1MzE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE5
LTA4LTIwICBLYXRlIENoZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29tPgorCisgICAg
ICAgIExvZ2dpbmcgaW4gRmlsZVN5c3RlbTo6ZGVsZXRlRmlsZSBzaG91bGQgYXZvaWQgbG9nZ2lu
ZyB1bnN1cnByaXNpbmcgZXJyb3JzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMDA4MzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VM
b2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlOjpjbGVhcik6CisgICAgICAgIFRoZSBpZi1z
dGF0ZW1lbnQgZmlyc3QgY2FsbHMgZGVsZXRlRmlsZSwgdGhlbiBjaGVja3MgaWYgdGhlIGZpbGVF
eGlzdHMsIGluZGljYXRpbmcgdGhhdAorICAgICAgICBhIGxvZ2dpbmcgbWVzc2FnZSB0aGF0IHRo
ZSBmaWxlIGRvZXMgbm90IGV4aXN0IG1heSBub3QgYmUgaGVscGZ1bCBpbiBkZWJ1Z2dpbmcuCisK
IDIwMTktMDgtMTkgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4K
IAogICAgICAgICBNb3ZlIGNhbGwgdG8gaW5pdGlhbGl6ZU1haW5UaHJlYWQgaW50cm9kdWNlZCBp
biByMjQ4NTQ5IHRvIGFmdGVyIFdlYktpdC5mcmFtZXdvcmsgaGFzIGJlZW4gbG9hZGVkCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9GaWxlU3lzdGVtLmggYi9Tb3VyY2UvV1RGL3d0Zi9GaWxl
U3lzdGVtLmgKaW5kZXggODA1YTBlNGIxNmZjYmYyNzdkNDA0NzA1ZDFiZjhmYjg5MjQwNWNjOS4u
MzZiYWQyZGQzYWUzZjVmYjZlZTc4MWNiNGVkNjNjNWUzN2FlZWQzYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dURi93dGYvRmlsZVN5c3RlbS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0ZpbGVTeXN0ZW0u
aApAQCAtNzYsNiArNzYsMTIgQEAgdHlwZWRlZiBpbnQgUGxhdGZvcm1GaWxlSGFuZGxlOwogY29u
c3QgUGxhdGZvcm1GaWxlSGFuZGxlIGludmFsaWRQbGF0Zm9ybUZpbGVIYW5kbGUgPSAtMTsKICNl
bmRpZgogCisvLyBBdm9pZHMgb3ZlcmxvZ2dpbmcgYnkgZW51bWVyYXRpbmcgZXhwZWN0ZWQgZXJy
b3JzIHdoZW4gZGVsZXRpbmcgYSBmaWxlLgorLy8gQWRkIGFkZGl0aW9uYWwgZGVmaW5pdGlvbnMg
YXMgbmVlZGVkIChpbnRlZ2VyIGlzIHRoZSBlcnJubyB2YWx1ZSkuCitlbnVtIEV4cGVjdGVkRXJy
b3IgeworICAgIEZpbGVEb2VzbnRFeGlzdCA9IDIKK307CisKIGVudW0gY2xhc3MgRmlsZU9wZW5N
b2RlIHsKICAgICBSZWFkLAogICAgIFdyaXRlLApAQCAtMTA0LDcgKzExMCw3IEBAIGVudW0gY2xh
c3MgTWFwcGVkRmlsZU1vZGUgewogZW51bSBjbGFzcyBTaG91bGRGb2xsb3dTeW1ib2xpY0xpbmtz
IHsgTm8sIFllcyB9OwogCiBXVEZfRVhQT1JUX1BSSVZBVEUgYm9vbCBmaWxlRXhpc3RzKGNvbnN0
IFN0cmluZyYpOwotV1RGX0VYUE9SVF9QUklWQVRFIGJvb2wgZGVsZXRlRmlsZShjb25zdCBTdHJp
bmcmKTsKK1dURl9FWFBPUlRfUFJJVkFURSBib29sIGRlbGV0ZUZpbGUoY29uc3QgU3RyaW5nJiwg
T3B0aW9uU2V0PEV4cGVjdGVkRXJyb3I+IGV4cGVjdGVkRXJyb3JzID0gT3B0aW9uU2V0PEV4cGVj
dGVkRXJyb3I+KCkpOwogV1RGX0VYUE9SVF9QUklWQVRFIGJvb2wgZGVsZXRlRW1wdHlEaXJlY3Rv
cnkoY29uc3QgU3RyaW5nJik7CiBXVEZfRVhQT1JUX1BSSVZBVEUgYm9vbCBtb3ZlRmlsZShjb25z
dCBTdHJpbmcmIG9sZFBhdGgsIGNvbnN0IFN0cmluZyYgbmV3UGF0aCk7CiBXVEZfRVhQT1JUX1BS
SVZBVEUgYm9vbCBnZXRGaWxlU2l6ZShjb25zdCBTdHJpbmcmLCBsb25nIGxvbmcmIHJlc3VsdCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9wb3NpeC9GaWxlU3lzdGVtUE9TSVguY3BwIGIv
U291cmNlL1dURi93dGYvcG9zaXgvRmlsZVN5c3RlbVBPU0lYLmNwcAppbmRleCA3NmRmNDBhYTE1
YWRkMjk4MjU4NDlmMTY5ZDZjZjEyOWJiMmNiMmRiLi5mNzVjYWM2MGUyMDE0ZWM2ZmIxNmYwMzQ4
NDkxMzA1YjIxYWQ3OGZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9wb3NpeC9GaWxlU3lz
dGVtUE9TSVguY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL3Bvc2l4L0ZpbGVTeXN0ZW1QT1NJWC5j
cHAKQEAgLTYyLDcgKzYyLDcgQEAgYm9vbCBmaWxlRXhpc3RzKGNvbnN0IFN0cmluZyYgcGF0aCkK
ICAgICByZXR1cm4gYWNjZXNzKGZzUmVwLmRhdGEoKSwgRl9PSykgIT0gLTE7CiB9CiAKLWJvb2wg
ZGVsZXRlRmlsZShjb25zdCBTdHJpbmcmIHBhdGgpCitib29sIGRlbGV0ZUZpbGUoY29uc3QgU3Ry
aW5nJiBwYXRoLCBPcHRpb25TZXQ8RXhwZWN0ZWRFcnJvcj4gZXhwZWN0ZWRFcnJvcnMpCiB7CiAg
ICAgQ1N0cmluZyBmc1JlcCA9IGZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbihwYXRoKTsKIApAQCAt
NzMsOCArNzMsMTEgQEAgYm9vbCBkZWxldGVGaWxlKGNvbnN0IFN0cmluZyYgcGF0aCkKIAogICAg
IC8vIHVubGluayguLi4pIHJldHVybnMgMCBvbiBzdWNjZXNzZnVsIGRlbGV0aW9uIG9mIHRoZSBw
YXRoIGFuZCBub24temVybyBpbiBhbnkgb3RoZXIgY2FzZSAoaW5jbHVkaW5nIGludmFsaWQgcGVy
bWlzc2lvbnMgb3Igbm9uLWV4aXN0ZW50IGZpbGUpCiAgICAgYm9vbCB1bmxpbmtlZCA9ICF1bmxp
bmsoZnNSZXAuZGF0YSgpKTsKLSAgICBpZiAoIXVubGlua2VkKQotICAgICAgICBMT0dfRVJST1Io
IkZpbGUgZmFpbGVkIHRvIGRlbGV0ZS4gRXJyb3IgbWVzc2FnZTogJXMiLCBzdHJlcnJvcihlcnJu
bykpOworICAgIGlmICghdW5saW5rZWQpIHsKKyAgICAgICAgaW50IGVycm9yID0gZXJybm87Cisg
ICAgICAgIGlmICghZXhwZWN0ZWRFcnJvcnMuY29udGFpbnMoRXhwZWN0ZWRFcnJvcihlcnJvcikp
KQorICAgICAgICAgICAgTE9HX0VSUk9SKCJGaWxlIGZhaWxlZCB0byBkZWxldGUuIEVycm9yIG1l
c3NhZ2U6ICVzIiwgc3RyZXJyb3IoZXJybm8pKTsKKyAgICB9CiAKICAgICByZXR1cm4gdW5saW5r
ZWQ7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGlj
YXRpb25DYWNoZVN0b3JhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0Fw
cGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmNwcAppbmRleCBkYTYyZDY2Y2VhNGNmNjIwNDJhZDAzYjVh
NTE2ODNiOGUxODM2MWMyLi44M2FiNGIwZGVkNzdmNTg2YjA2MTAyY2NmYTc5ODE1MDA5NGU3NDI1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25D
YWNoZVN0b3JhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBs
aWNhdGlvbkNhY2hlU3RvcmFnZS5jcHAKQEAgLTgyMSw4ICs4MjEsMTEgQEAgYm9vbCBBcHBsaWNh
dGlvbkNhY2hlU3RvcmFnZTo6c3RvcmUoQXBwbGljYXRpb25DYWNoZVJlc291cmNlKiByZXNvdXJj
ZSwgdW5zaWduZWQKICAgICAKICAgICBpZiAoIWRhdGFTdGF0ZW1lbnQuZXhlY3V0ZUNvbW1hbmQo
KSkgewogICAgICAgICAvLyBDbGVhbiB1cCB0aGUgZmlsZSB3aGljaCB3ZSBtYXkgaGF2ZSB3cml0
dGVuIHRvOgotICAgICAgICBpZiAoIWZ1bGxQYXRoLmlzRW1wdHkoKSkKLSAgICAgICAgICAgIEZp
bGVTeXN0ZW06OmRlbGV0ZUZpbGUoZnVsbFBhdGgpOworICAgICAgICBpZiAoIWZ1bGxQYXRoLmlz
RW1wdHkoKSkgeworICAgICAgICAgICAgT3B0aW9uU2V0PEZpbGVTeXN0ZW06OkV4cGVjdGVkRXJy
b3I+IGV4cGVjdGVkRXJyb3JzID0gT3B0aW9uU2V0PEZpbGVTeXN0ZW06OkV4cGVjdGVkRXJyb3I+
KCk7CisgICAgICAgICAgICBleHBlY3RlZEVycm9ycy5hZGQoRmlsZVN5c3RlbTo6RmlsZURvZXNu
dEV4aXN0KTsKKyAgICAgICAgICAgIEZpbGVTeXN0ZW06OmRlbGV0ZUZpbGUoZnVsbFBhdGgsIGV4
cGVjdGVkRXJyb3JzKTsKKyAgICAgICAgfQogCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRmlsZVN5c3Rl
bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRmlsZVN5c3RlbS5jcHAK
aW5kZXggYzI0ZDIxMWU1ZWIwYjg3ZjkyNGMzNmExMzE2Y2JjM2JlYjJiYzhhOS4uZTllM2ViNWRl
ZmFlODMyN2NiNmQyZWMxM2VhNTBhYTQ0NGMwNzRhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vc3FsL1NRTGl0ZUZpbGVTeXN0ZW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3NxbC9TUUxpdGVGaWxlU3lzdGVtLmNwcApAQCAtODMsOSArODMsMTIgQEAgYm9v
bCBTUUxpdGVGaWxlU3lzdGVtOjpkZWxldGVEYXRhYmFzZUZpbGUoY29uc3QgU3RyaW5nJiBmaWxl
TmFtZSkKICAgICBTdHJpbmcgc2htRmlsZU5hbWUgPSBtYWtlU3RyaW5nKGZpbGVOYW1lLCAiLXNo
bSJfcyk7CiAKICAgICAvLyBUcnkgdG8gZGVsZXRlIGFsbCB0aHJlZSBmaWxlcyB3aGV0aGVyIG9y
IG5vdCB0aGV5IGFyZSB0aGVyZS4KLSAgICBGaWxlU3lzdGVtOjpkZWxldGVGaWxlKGZpbGVOYW1l
KTsKLSAgICBGaWxlU3lzdGVtOjpkZWxldGVGaWxlKHdhbEZpbGVOYW1lKTsKLSAgICBGaWxlU3lz
dGVtOjpkZWxldGVGaWxlKHNobUZpbGVOYW1lKTsKKyAgICBPcHRpb25TZXQ8RmlsZVN5c3RlbTo6
RXhwZWN0ZWRFcnJvcj4gZXhwZWN0ZWRFcnJvcnMgPSBPcHRpb25TZXQ8RmlsZVN5c3RlbTo6RXhw
ZWN0ZWRFcnJvcj4oKTsKKyAgICBleHBlY3RlZEVycm9ycy5hZGQoRmlsZVN5c3RlbTo6RmlsZURv
ZXNudEV4aXN0KTsKKworICAgIEZpbGVTeXN0ZW06OmRlbGV0ZUZpbGUoZmlsZU5hbWUsIGV4cGVj
dGVkRXJyb3JzKTsKKyAgICBGaWxlU3lzdGVtOjpkZWxldGVGaWxlKHdhbEZpbGVOYW1lLCBleHBl
Y3RlZEVycm9ycyk7CisgICAgRmlsZVN5c3RlbTo6ZGVsZXRlRmlsZShzaG1GaWxlTmFtZSwgZXhw
ZWN0ZWRFcnJvcnMpOwogCiAgICAgLy8gSWYgYW55IG9mIHRoZSB3YWwgb3Igc2htIGZpbGVzIHJl
bWFpbiBhZnRlciB0aGUgZGVsZXRlIGF0dGVtcHQsIHRoZSBvdmVyYWxsIGRlbGV0ZSBvcGVyYXRp
b24gZmFpbGVkLgogICAgIHJldHVybiAhRmlsZVN5c3RlbTo6ZmlsZUV4aXN0cyhmaWxlTmFtZSkg
JiYgIUZpbGVTeXN0ZW06OmZpbGVFeGlzdHMod2FsRmlsZU5hbWUpICYmICFGaWxlU3lzdGVtOjpm
aWxlRXhpc3RzKHNobUZpbGVOYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3Jh
Z2UuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNl
TG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZS5jcHAKaW5kZXggOTMwM2QyYWRjMTVlZjZm
YjMxMGI2ZmIxNmQwNzBjYzg1M2ZkYzNjMy4uMDc1ZTA2MzY3YjJmNDI4ZDdiYWE2Y2I3NmViZmIx
ZWMwMzI3MjA3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFz
c2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRp
c3RpY3NQZXJzaXN0ZW50U3RvcmFnZS5jcHAKQEAgLTI2MSw3ICsyNjEsMTAgQEAgdm9pZCBSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2U6OmNsZWFyKCkKIAogICAgIHN0b3BN
b25pdG9yaW5nRGlzaygpOwogCi0gICAgaWYgKCFGaWxlU3lzdGVtOjpkZWxldGVGaWxlKGZpbGVQ
YXRoKSAmJiBGaWxlU3lzdGVtOjpmaWxlRXhpc3RzKGZpbGVQYXRoKSkKKyAgICBPcHRpb25TZXQ8
RmlsZVN5c3RlbTo6RXhwZWN0ZWRFcnJvcj4gZXhwZWN0ZWRFcnJvcnMgPSBPcHRpb25TZXQ8Rmls
ZVN5c3RlbTo6RXhwZWN0ZWRFcnJvcj4oKTsKKyAgICBleHBlY3RlZEVycm9ycy5hZGQoRmlsZVN5
c3RlbTo6RmlsZURvZXNudEV4aXN0KTsKKworICAgIGlmICghRmlsZVN5c3RlbTo6ZGVsZXRlRmls
ZShmaWxlUGF0aCwgZXhwZWN0ZWRFcnJvcnMpICYmIEZpbGVTeXN0ZW06OmZpbGVFeGlzdHMoZmls
ZVBhdGgpKQogICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
LCAiUmVzb3VyY2VMb2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlOiBVbmFibGUgdG8gZGVs
ZXRlIHN0YXRpc3RpY3MgZmlsZTogJXMiLCBmaWxlUGF0aC51dGY4KCkuZGF0YSgpKTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>376932</attachid>
            <date>2019-08-21 15:33:25 -0700</date>
            <delta_ts>2019-08-22 13:39:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200831-20190821153324.patch</filename>
            <type>text/plain</type>
            <size>8248</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ4ODczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDc2NjU5NTE1ZjVhN2IzZTI1YTA0MzBi
YWEyNDA1NzJiYjM3MmQzMGIuLjM4ZjAxYTY2ZmY4NzI1ZjBjYzE4ZTQwY2FmMWI0MTQ3NzAyOWEz
MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTktMDgtMjEgIEthdGUgQ2hlbmV5ICA8a2F0aGVy
aW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgTG9nZ2luZyBpbiBGaWxlU3lzdGVtOjpk
ZWxldGVGaWxlIHNob3VsZCBhdm9pZCBsb2dnaW5nIHVuc3VycHJpc2luZyBlcnJvcnMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDgzMQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGVudW1lcmF0
aW9uIGluIEZpbGVTeXN0ZW0uaCB0byBob2xkIHBvdGVudGlhbCBleHBlY3RlZCBlcnJvcnMgYW5k
IHRoZWlyIGNvZGVzLgorICAgICAgICBPcHRpb25TZXQgYXJndW1lbnQgaW4gZGVsZXRlRmlsZSBj
YW4gYmUgaWdub3JlZCBpZiBubyBleHBlY3RlZCBlcnJvcnMuCisgICAgICAgIEFueSBlcnJvciBj
b2RlcyBjb250YWluZWQgaW4gdGhlIGV4cGVjdGVkRXJyb3JzIE9wdGlvblNldCB3aWxsIG5vdyBu
b3QgYmUgbG9nZ2VkLgorCisgICAgICAgICogd3RmL0ZpbGVTeXN0ZW0uaDoKKyAgICAgICAgKiB3
dGYvcG9zaXgvRmlsZVN5c3RlbVBPU0lYLmNwcDoKKyAgICAgICAgKFdURjo6RmlsZVN5c3RlbUlt
cGw6OmRlbGV0ZUZpbGUpOgorCiAyMDE5LTA4LTE5ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFu
QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIGJ1aWxkIGZpeCBmb3IgbWFjT1MgMTAu
MTQgYWZ0ZXIgcjI0ODgzMi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBlNjA1ODhkMDgwMzBhOTJiZWVkNjUzNjkz
NjIxOTg3ODZlZGU2NTJmLi5kNTExNjc0NjFjODdhOWU4MGExYzI3NmFjZTZlNTYwOWEyYTMyMjhl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTktMDgtMjEgIEthdGUgQ2hlbmV5ICA8
a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgTG9nZ2luZyBpbiBGaWxlU3lz
dGVtOjpkZWxldGVGaWxlIHNob3VsZCBhdm9pZCBsb2dnaW5nIHVuc3VycHJpc2luZyBlcnJvcnMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDgzMQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogbG9hZGVy
L2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOjpzdG9yZSk6CisgICAgICAgIEFkZGVkIGV4cGVjdGVk
IGVycm9yIG9mIEZpbGVEb2VzbnRFeGlzdCBiZWNhdXNlIHRoZSBjb21tZW50IGluZGljYXRlZCB0
aGUgZmlsZXMgIm1heSIKKyAgICAgICAgaGF2ZSBiZWVuIHdyaXR0ZW4gdG8uIFRoaXMgaW5kaWNh
dGVkIHRvIG1lIHRoYXQgYSAibm8gc3VjaCBmaWxlIiBlcnJvciBjb3VsZCBiZSBpZ25vcmVkLgor
IAorICAgICAgICAqIHBsYXRmb3JtL3NxbC9TUUxpdGVGaWxlU3lzdGVtLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNRTGl0ZUZpbGVTeXN0ZW06OmRlbGV0ZURhdGFiYXNlRmlsZSk6CisgICAgICAg
IFNpbWlsYXJseSwgdGhlIGNvbW1lbnQgaW5kaWNhdGVzIHRoYXQgdGhlIGZpbGVzIG1heSBvciBt
YXkgbm90IGV4aXN0IHVwb24gY2FsbGluZyB0aGUKKyAgICAgICAgZGVsZXRpb24gbWV0aG9kLCBz
byBJIGFkZGVkIGFuIGV4cGVjdGVkIGVycm9yIG9mIGZpbGVEb2VzbnRFeGlzdCBzbyBpdCB3aWxs
IG5vdCBiZSBsb2dnZWQuCisKIDIwMTktMDgtMTkgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBs
ZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIElEQi1zcGVjaWZpYyBxdW90YQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBm
ZWY5ODBhODMyZGM2NmVhMzJiMWQ5YTE1NWRmNWI1ZDZhZWI2NjJkLi4wMDk4ZDYxYjQyMGI4ZWFh
MDQxMGU3YjE2YjhhNjRmYzIxMDdkZDQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE5
LTA4LTIxICBLYXRlIENoZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29tPgorCisgICAg
ICAgIExvZ2dpbmcgaW4gRmlsZVN5c3RlbTo6ZGVsZXRlRmlsZSBzaG91bGQgYXZvaWQgbG9nZ2lu
ZyB1bnN1cnByaXNpbmcgZXJyb3JzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMDA4MzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVzb3VyY2VM
b2FkU3RhdGlzdGljc1BlcnNpc3RlbnRTdG9yYWdlOjpjbGVhcik6CisgICAgICAgIFRoZSBpZi1z
dGF0ZW1lbnQgZmlyc3QgY2FsbHMgZGVsZXRlRmlsZSwgdGhlbiBjaGVja3MgaWYgdGhlIGZpbGVF
eGlzdHMsIGluZGljYXRpbmcgdGhhdAorICAgICAgICBhIGxvZ2dpbmcgbWVzc2FnZSB0aGF0IHRo
ZSBmaWxlIGRvZXMgbm90IGV4aXN0IG1heSBub3QgYmUgaGVscGZ1bCBpbiBkZWJ1Z2dpbmcuCisK
IDIwMTktMDgtMTkgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4K
IAogICAgICAgICBNb3ZlIGNhbGwgdG8gaW5pdGlhbGl6ZU1haW5UaHJlYWQgaW50cm9kdWNlZCBp
biByMjQ4NTQ5IHRvIGFmdGVyIFdlYktpdC5mcmFtZXdvcmsgaGFzIGJlZW4gbG9hZGVkCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9GaWxlU3lzdGVtLmggYi9Tb3VyY2UvV1RGL3d0Zi9GaWxl
U3lzdGVtLmgKaW5kZXggODA1YTBlNGIxNmZjYmYyNzdkNDA0NzA1ZDFiZjhmYjg5MjQwNWNjOS4u
M2ZmZTY0NDc3MzE4Nzc3NGZhZGQ2ZDUwYzMzODAyNWM1NGU3N2E2YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dURi93dGYvRmlsZVN5c3RlbS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0ZpbGVTeXN0ZW0u
aApAQCAtNzYsNiArNzYsMTAgQEAgdHlwZWRlZiBpbnQgUGxhdGZvcm1GaWxlSGFuZGxlOwogY29u
c3QgUGxhdGZvcm1GaWxlSGFuZGxlIGludmFsaWRQbGF0Zm9ybUZpbGVIYW5kbGUgPSAtMTsKICNl
bmRpZgogCitlbnVtIGNsYXNzIEV4cGVjdGVkRXJyb3IgeworICAgIEZpbGVEb2VzTm90RXhpc3Qg
PSAxIDw8IDAsCit9OworCiBlbnVtIGNsYXNzIEZpbGVPcGVuTW9kZSB7CiAgICAgUmVhZCwKICAg
ICBXcml0ZSwKQEAgLTEwNCw3ICsxMDgsNyBAQCBlbnVtIGNsYXNzIE1hcHBlZEZpbGVNb2RlIHsK
IGVudW0gY2xhc3MgU2hvdWxkRm9sbG93U3ltYm9saWNMaW5rcyB7IE5vLCBZZXMgfTsKIAogV1RG
X0VYUE9SVF9QUklWQVRFIGJvb2wgZmlsZUV4aXN0cyhjb25zdCBTdHJpbmcmKTsKLVdURl9FWFBP
UlRfUFJJVkFURSBib29sIGRlbGV0ZUZpbGUoY29uc3QgU3RyaW5nJik7CitXVEZfRVhQT1JUX1BS
SVZBVEUgYm9vbCBkZWxldGVGaWxlKGNvbnN0IFN0cmluZyYsIE9wdGlvblNldDxFeHBlY3RlZEVy
cm9yPiA9IHsgfSk7CiBXVEZfRVhQT1JUX1BSSVZBVEUgYm9vbCBkZWxldGVFbXB0eURpcmVjdG9y
eShjb25zdCBTdHJpbmcmKTsKIFdURl9FWFBPUlRfUFJJVkFURSBib29sIG1vdmVGaWxlKGNvbnN0
IFN0cmluZyYgb2xkUGF0aCwgY29uc3QgU3RyaW5nJiBuZXdQYXRoKTsKIFdURl9FWFBPUlRfUFJJ
VkFURSBib29sIGdldEZpbGVTaXplKGNvbnN0IFN0cmluZyYsIGxvbmcgbG9uZyYgcmVzdWx0KTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3Bvc2l4L0ZpbGVTeXN0ZW1QT1NJWC5jcHAgYi9T
b3VyY2UvV1RGL3d0Zi9wb3NpeC9GaWxlU3lzdGVtUE9TSVguY3BwCmluZGV4IDc2ZGY0MGFhMTVh
ZGQyOTgyNTg0OWYxNjlkNmNmMTI5YmIyY2IyZGIuLjQ2MmZiMjIxZTRlYmNmMDZmNDNjN2IxY2Nh
Mjg5ZTBkZTU1MWEwNzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3Bvc2l4L0ZpbGVTeXN0
ZW1QT1NJWC5jcHAKKysrIGIvU291cmNlL1dURi93dGYvcG9zaXgvRmlsZVN5c3RlbVBPU0lYLmNw
cApAQCAtNjIsNyArNjIsNyBAQCBib29sIGZpbGVFeGlzdHMoY29uc3QgU3RyaW5nJiBwYXRoKQog
ICAgIHJldHVybiBhY2Nlc3MoZnNSZXAuZGF0YSgpLCBGX09LKSAhPSAtMTsKIH0KIAotYm9vbCBk
ZWxldGVGaWxlKGNvbnN0IFN0cmluZyYgcGF0aCkKK2Jvb2wgZGVsZXRlRmlsZShjb25zdCBTdHJp
bmcmIHBhdGgsIE9wdGlvblNldDxFeHBlY3RlZEVycm9yPiBleHBlY3RlZEVycm9ycykKIHsKICAg
ICBDU3RyaW5nIGZzUmVwID0gZmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKHBhdGgpOwogCkBAIC03
Myw4ICs3MywxNiBAQCBib29sIGRlbGV0ZUZpbGUoY29uc3QgU3RyaW5nJiBwYXRoKQogCiAgICAg
Ly8gdW5saW5rKC4uLikgcmV0dXJucyAwIG9uIHN1Y2Nlc3NmdWwgZGVsZXRpb24gb2YgdGhlIHBh
dGggYW5kIG5vbi16ZXJvIGluIGFueSBvdGhlciBjYXNlIChpbmNsdWRpbmcgaW52YWxpZCBwZXJt
aXNzaW9ucyBvciBub24tZXhpc3RlbnQgZmlsZSkKICAgICBib29sIHVubGlua2VkID0gIXVubGlu
ayhmc1JlcC5kYXRhKCkpOwotICAgIGlmICghdW5saW5rZWQpCi0gICAgICAgIExPR19FUlJPUigi
RmlsZSBmYWlsZWQgdG8gZGVsZXRlLiBFcnJvciBtZXNzYWdlOiAlcyIsIHN0cmVycm9yKGVycm5v
KSk7CisgICAgaWYgKCF1bmxpbmtlZCkgeworICAgICAgICBPcHRpb25hbDxFeHBlY3RlZEVycm9y
PiBlcnJvcjsKKyAgICAgICAgc3dpdGNoIChlcnJubykgeworICAgICAgICBjYXNlIEVOT0VOVDoK
KyAgICAgICAgICAgIGVycm9yID0gRXhwZWN0ZWRFcnJvcjo6RmlsZURvZXNOb3RFeGlzdDsKKyAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIGlmIChlcnJvciAmJiAhZXhwZWN0
ZWRFcnJvcnMuY29udGFpbnMoZXJyb3IudmFsdWUoKSkpCisgICAgICAgICAgICBMT0dfRVJST1Io
IkZpbGUgZmFpbGVkIHRvIGRlbGV0ZS4gRXJyb3IgbWVzc2FnZTogJXMiLCBzdHJlcnJvcihlcnJu
bykpOworICAgIH0KIAogICAgIHJldHVybiB1bmxpbmtlZDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuY3Bw
CmluZGV4IGRhNjJkNjZjZWE0Y2Y2MjA0MmFkMDNiNWE1MTY4M2I4ZTE4MzYxYzIuLmIwZTgwYmJi
ODEzMjRmNmFiOTk4NTgzNzQ0ZDc5MzFmMjA1ZTFhNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmNwcApA
QCAtODIyLDcgKzgyMiw3IEBAIGJvb2wgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2U6OnN0b3JlKEFw
cGxpY2F0aW9uQ2FjaGVSZXNvdXJjZSogcmVzb3VyY2UsIHVuc2lnbmVkCiAgICAgaWYgKCFkYXRh
U3RhdGVtZW50LmV4ZWN1dGVDb21tYW5kKCkpIHsKICAgICAgICAgLy8gQ2xlYW4gdXAgdGhlIGZp
bGUgd2hpY2ggd2UgbWF5IGhhdmUgd3JpdHRlbiB0bzoKICAgICAgICAgaWYgKCFmdWxsUGF0aC5p
c0VtcHR5KCkpCi0gICAgICAgICAgICBGaWxlU3lzdGVtOjpkZWxldGVGaWxlKGZ1bGxQYXRoKTsK
KyAgICAgICAgICAgIEZpbGVTeXN0ZW06OmRlbGV0ZUZpbGUoZnVsbFBhdGgsIEZpbGVTeXN0ZW06
OkV4cGVjdGVkRXJyb3I6OkZpbGVEb2VzTm90RXhpc3QpOwogCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRl
RmlsZVN5c3RlbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRmlsZVN5
c3RlbS5jcHAKaW5kZXggYzI0ZDIxMWU1ZWIwYjg3ZjkyNGMzNmExMzE2Y2JjM2JlYjJiYzhhOS4u
MWIxNmYzMDY4ZWM1YTcyOGMwNzJmMWI1MzExNTc5OTI5ZWE5MzJhYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZUZpbGVTeXN0ZW0uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVGaWxlU3lzdGVtLmNwcApAQCAtODMsOSArODMs
OSBAQCBib29sIFNRTGl0ZUZpbGVTeXN0ZW06OmRlbGV0ZURhdGFiYXNlRmlsZShjb25zdCBTdHJp
bmcmIGZpbGVOYW1lKQogICAgIFN0cmluZyBzaG1GaWxlTmFtZSA9IG1ha2VTdHJpbmcoZmlsZU5h
bWUsICItc2htIl9zKTsKIAogICAgIC8vIFRyeSB0byBkZWxldGUgYWxsIHRocmVlIGZpbGVzIHdo
ZXRoZXIgb3Igbm90IHRoZXkgYXJlIHRoZXJlLgotICAgIEZpbGVTeXN0ZW06OmRlbGV0ZUZpbGUo
ZmlsZU5hbWUpOwotICAgIEZpbGVTeXN0ZW06OmRlbGV0ZUZpbGUod2FsRmlsZU5hbWUpOwotICAg
IEZpbGVTeXN0ZW06OmRlbGV0ZUZpbGUoc2htRmlsZU5hbWUpOworICAgIEZpbGVTeXN0ZW06OmRl
bGV0ZUZpbGUoZmlsZU5hbWUsIEZpbGVTeXN0ZW06OkV4cGVjdGVkRXJyb3I6OkZpbGVEb2VzTm90
RXhpc3QpOworICAgIEZpbGVTeXN0ZW06OmRlbGV0ZUZpbGUod2FsRmlsZU5hbWUsIEZpbGVTeXN0
ZW06OkV4cGVjdGVkRXJyb3I6OkZpbGVEb2VzTm90RXhpc3QpOworICAgIEZpbGVTeXN0ZW06OmRl
bGV0ZUZpbGUoc2htRmlsZU5hbWUsIEZpbGVTeXN0ZW06OkV4cGVjdGVkRXJyb3I6OkZpbGVEb2Vz
Tm90RXhpc3QpOwogCiAgICAgLy8gSWYgYW55IG9mIHRoZSB3YWwgb3Igc2htIGZpbGVzIHJlbWFp
biBhZnRlciB0aGUgZGVsZXRlIGF0dGVtcHQsIHRoZSBvdmVyYWxsIGRlbGV0ZSBvcGVyYXRpb24g
ZmFpbGVkLgogICAgIHJldHVybiAhRmlsZVN5c3RlbTo6ZmlsZUV4aXN0cyhmaWxlTmFtZSkgJiYg
IUZpbGVTeXN0ZW06OmZpbGVFeGlzdHMod2FsRmlsZU5hbWUpICYmICFGaWxlU3lzdGVtOjpmaWxl
RXhpc3RzKHNobUZpbGVOYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2Uu
Y3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9h
ZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZS5jcHAKaW5kZXggOTMwM2QyYWRjMTVlZjZmYjMx
MGI2ZmIxNmQwNzBjYzg1M2ZkYzNjMy4uOWVlNWVjMTA1MzU1ZWE4YzVmNjA2MjY0M2MzMmQ1MmIx
N2JkZGE4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lm
aWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3NQZXJzaXN0ZW50U3RvcmFnZS5jcHAKQEAgLTI2MSw3ICsyNjEsNyBAQCB2b2lkIFJlc291cmNl
TG9hZFN0YXRpc3RpY3NQZXJzaXN0ZW50U3RvcmFnZTo6Y2xlYXIoKQogCiAgICAgc3RvcE1vbml0
b3JpbmdEaXNrKCk7CiAKLSAgICBpZiAoIUZpbGVTeXN0ZW06OmRlbGV0ZUZpbGUoZmlsZVBhdGgp
ICYmIEZpbGVTeXN0ZW06OmZpbGVFeGlzdHMoZmlsZVBhdGgpKQorICAgIGlmICghRmlsZVN5c3Rl
bTo6ZGVsZXRlRmlsZShmaWxlUGF0aCwgRmlsZVN5c3RlbTo6RXhwZWN0ZWRFcnJvcjo6RmlsZURv
ZXNOb3RFeGlzdCkgJiYgRmlsZVN5c3RlbTo6ZmlsZUV4aXN0cyhmaWxlUGF0aCkpCiAgICAgICAg
IFJFTEVBU0VfTE9HX0VSUk9SKFJlc291cmNlTG9hZFN0YXRpc3RpY3MsICJSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzUGVyc2lzdGVudFN0b3JhZ2U6IFVuYWJsZSB0byBkZWxldGUgc3RhdGlzdGljcyBm
aWxlOiAlcyIsIGZpbGVQYXRoLnV0ZjgoKS5kYXRhKCkpOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>377040</attachid>
            <date>2019-08-22 13:39:15 -0700</date>
            <delta_ts>2019-08-22 14:28:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200831-20190822133914.patch</filename>
            <type>text/plain</type>
            <size>1520</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ4ODczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDc2NjU5NTE1ZjVhN2IzZTI1YTA0MzBi
YWEyNDA1NzJiYjM3MmQzMGIuLjAzMWVlZjdiYzU1NDYwZDlkYzY1MDA1MzIxMjMxYmI2ZDVlOWUy
YjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTktMDgtMjIgIEthdGUgQ2hlbmV5ICA8a2F0aGVy
aW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgTG9nZ2luZyBpbiBGaWxlU3lzdGVtOjpk
ZWxldGVGaWxlIHNob3VsZCBhdm9pZCBsb2dnaW5nIHVuc3VycHJpc2luZyBlcnJvcnMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDgzMQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRvIGF2b2lkIG92ZXJs
b2dnaW5nIHVubmVjZXNzYXJ5IGluZm9ybWF0aW9uLCBhZGRlZCBhIGNoZWNrIHRvIGF2b2lkIGxv
Z2dpbmcKKyAgICAgICAgRU5PRU5UIChmaWxlIG5vdCBmb3VuZCkgZXJyb3JzLgorCisgICAgICAg
ICogd3RmL3Bvc2l4L0ZpbGVTeXN0ZW1QT1NJWC5jcHA6CisgICAgICAgIChXVEY6OkZpbGVTeXN0
ZW1JbXBsOjpkZWxldGVGaWxlKToKKwogMjAxOS0wOC0xOSAgUGVyIEFybmUgVm9sbGFuICA8cHZv
bGxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBidWlsZCBmaXggZm9yIG1hY09T
IDEwLjE0IGFmdGVyIHIyNDg4MzIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9wb3NpeC9G
aWxlU3lzdGVtUE9TSVguY3BwIGIvU291cmNlL1dURi93dGYvcG9zaXgvRmlsZVN5c3RlbVBPU0lY
LmNwcAppbmRleCA3NmRmNDBhYTE1YWRkMjk4MjU4NDlmMTY5ZDZjZjEyOWJiMmNiMmRiLi4yNzgz
OTg4M2ExYTJkNjU0MTMwZmQ2ODVmZWFmYTAyYTljNDg2NGZjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi9wb3NpeC9GaWxlU3lzdGVtUE9TSVguY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL3Bv
c2l4L0ZpbGVTeXN0ZW1QT1NJWC5jcHAKQEAgLTczLDcgKzczLDcgQEAgYm9vbCBkZWxldGVGaWxl
KGNvbnN0IFN0cmluZyYgcGF0aCkKIAogICAgIC8vIHVubGluayguLi4pIHJldHVybnMgMCBvbiBz
dWNjZXNzZnVsIGRlbGV0aW9uIG9mIHRoZSBwYXRoIGFuZCBub24temVybyBpbiBhbnkgb3RoZXIg
Y2FzZSAoaW5jbHVkaW5nIGludmFsaWQgcGVybWlzc2lvbnMgb3Igbm9uLWV4aXN0ZW50IGZpbGUp
CiAgICAgYm9vbCB1bmxpbmtlZCA9ICF1bmxpbmsoZnNSZXAuZGF0YSgpKTsKLSAgICBpZiAoIXVu
bGlua2VkKQorICAgIGlmICghdW5saW5rZWQgJiYgZXJybm8gIT0gRU5PRU5UKQogICAgICAgICBM
T0dfRVJST1IoIkZpbGUgZmFpbGVkIHRvIGRlbGV0ZS4gRXJyb3IgbWVzc2FnZTogJXMiLCBzdHJl
cnJvcihlcnJubykpOwogCiAgICAgcmV0dXJuIHVubGlua2VkOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>