<?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>207372</bug_id>
          
          <creation_ts>2020-02-06 18:15:51 -0800</creation_ts>
          <short_desc>[WPE][WebDriver] Implement user prompt support</short_desc>
          <delta_ts>2020-05-08 01:22:01 -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>WPE WebKit</component>
          <version>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Lauro Moura">lmoura</reporter>
          <assigned_to name="Lauro Moura">lmoura</assigned_to>
          <cc>aperez</cc>
    
    <cc>berto</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gustavo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1615974</commentid>
    <comment_count>0</comment_count>
    <who name="Lauro Moura">lmoura</who>
    <bug_when>2020-02-06 18:15:51 -0800</bug_when>
    <thetext>Currently the WPE WebView user has no way to react when a WebDriver requests to either accept/dismiss/send input to an user prompt.

Many webdriver tests require this functionality to work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1615991</commentid>
    <comment_count>1</comment_count>
      <attachid>390042</attachid>
    <who name="Lauro Moura">lmoura</who>
    <bug_when>2020-02-06 18:43:31 -0800</bug_when>
    <thetext>Created attachment 390042
WIP patch for early feedback. Still some work to do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1615992</commentid>
    <comment_count>2</comment_count>
    <who name="Lauro Moura">lmoura</who>
    <bug_when>2020-02-06 18:51:04 -0800</bug_when>
    <thetext>(In reply to Lauro Moura from comment #1)
&gt; Created attachment 390042 [details]
&gt; WIP patch for early feedback. Still some work to do.

Still to be tested with WebKitGTK+.

For imported/w3c/webdriver/tests/back/user_prompts.py, the patch goes from 1 fail/18 errors to 2 fails,  5 errors, 11 passes. But there is a significant number of timeouts, causing a full webdriver test suite run go from ~28min to ~58min in my machine. Maybe some more work needed in the dialog lifetime handling.

Summary of test outcome changes with this patch (baseline == r255912, current = This patch on top of baseline):

        BASELINE-&gt; CURRENT
        ERROR   -&gt; PASS   : 352
        ERROR   -&gt; FAIL   : 143
        XFAIL   -&gt; XPASS  : 40
        FAIL    -&gt; PASS   : 29
        XFAIL   -&gt; TIMEOUT: 21
        ERROR   -&gt; XFAIL  : 1
        PASS    -&gt; FAIL   : 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617277</commentid>
    <comment_count>3</comment_count>
    <who name="Lauro Moura">lmoura</who>
    <bug_when>2020-02-10 20:00:16 -0800</bug_when>
    <thetext>With the patch from bug207529, the test run time lowers to 13~14min. And the results compared to upstream:

Summary of changes from baseline:
        ERROR   -&gt; PASS   : 627
        ERROR   -&gt; FAIL   : 125
        XFAIL   -&gt; XPASS  : 65
        FAIL    -&gt; PASS   : 34
        TIMEOUT -&gt; PASS   : 1

- 181 unexpected failures
- 106 expected to fail but passed.

Will submit an updated version (rebased on top of bug207529) with prompt input support tomorrow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617305</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-02-11 01:22:29 -0800</bug_when>
    <thetext>Why do you need new signals? it seems to me it&apos;s duplicating the existing script dialogs API. I don&apos;t see the point on supporting this only to make WebDriver tests pass. The goal of WebDriver is to test the browser, so if the browser doesn&apos;t support script dialogs, why would we want to test them?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617306</commentid>
    <comment_count>5</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-02-11 01:23:20 -0800</bug_when>
    <thetext>To lower the time spent running WebDriver tests in WPE just skip the tests that are timing out due to unimplemented commands or features.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617820</commentid>
    <comment_count>6</comment_count>
      <attachid>390481</attachid>
    <who name="Lauro Moura">lmoura</who>
    <bug_when>2020-02-11 19:23:51 -0800</bug_when>
    <thetext>Created attachment 390481
Alternative patch, without signals</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617824</commentid>
    <comment_count>7</comment_count>
    <who name="Lauro Moura">lmoura</who>
    <bug_when>2020-02-11 19:31:29 -0800</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #5)
&gt; To lower the time spent running WebDriver tests in WPE just skip the tests
&gt; that are timing out due to unimplemented commands or features.

This should be dealt by bug207529, bringing the time close to GTK&apos;s.

(In reply to Carlos Garcia Campos from comment #4)
&gt; Why do you need new signals? it seems to me it&apos;s duplicating the existing
&gt; script dialogs API. I don&apos;t see the point on supporting this only to make
&gt; WebDriver tests pass. The goal of WebDriver is to test the browser, so if
&gt; the browser doesn&apos;t support script dialogs, why would we want to test them?

There is the scenario of allowing WPE-based browsers to support WebDriver tests, no? With the current API this does not seem possible. GTK seems to handle this by making the WebView completely handle the prompt on its own (with the DialogImpl class), while WPE currently relays only the dialog creation to the embedder, with the &quot;script-dialog&quot; signal.

Is there another way to relay the dialog commands to the WebView user?

The alternative patch I just submitted implements the reactions to the WebDriver dialog commands diretly into the callbacks in ScriptDialogWPE.cpp, with the browser implementer just having to keep the dialog ref alive from the &quot;script-dialog&quot; signal. (Like the patch does for the MiniBrowser).

While not optimal - this approach does not guarantee the end user would actually have a sound dialog implementation - at least could show the ScriptDialogs react corretly to the WebDriver commands, like some kind of &quot;reference behavior&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1627670</commentid>
    <comment_count>8</comment_count>
      <attachid>393010</attachid>
    <who name="Lauro Moura">lmoura</who>
    <bug_when>2020-03-08 23:23:56 -0700</bug_when>
    <thetext>Created attachment 393010
Rebased and with prompt text fixes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629864</commentid>
    <comment_count>9</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2020-03-13 15:08:34 -0700</bug_when>
    <thetext>(In reply to Lauro Moura from comment #7)
&gt; (In reply to Carlos Garcia Campos from comment #5)
&gt; &gt; To lower the time spent running WebDriver tests in WPE just skip the tests
&gt; &gt; that are timing out due to unimplemented commands or features.
&gt; 
&gt; This should be dealt by bug207529, bringing the time close to GTK&apos;s.
&gt; 
&gt; (In reply to Carlos Garcia Campos from comment #4)
&gt; &gt; Why do you need new signals? it seems to me it&apos;s duplicating the existing
&gt; &gt; script dialogs API. I don&apos;t see the point on supporting this only to make
&gt; &gt; WebDriver tests pass. The goal of WebDriver is to test the browser, so if
&gt; &gt; the browser doesn&apos;t support script dialogs, why would we want to test them?
&gt; 
&gt; There is the scenario of allowing WPE-based browsers to support WebDriver
&gt; tests, no? With the current API this does not seem possible. GTK seems to
&gt; handle this by making the WebView completely handle the prompt on its own
&gt; (with the DialogImpl class), while WPE currently relays only the dialog
&gt; creation to the embedder, with the &quot;script-dialog&quot; signal.
&gt; 
&gt; Is there another way to relay the dialog commands to the WebView user?
&gt; 
&gt; The alternative patch I just submitted implements the reactions to the
&gt; WebDriver dialog commands diretly into the callbacks in ScriptDialogWPE.cpp,
&gt; with the browser implementer just having to keep the dialog ref alive from
&gt; the &quot;script-dialog&quot; signal. (Like the patch does for the MiniBrowser).

Having to connect to WebKitWebView::script-dialog only to call
webkit_script_dialog_ref() looks clunky to me. Why would that
magically implement something that WebDriver might use? If I was
an user of that API, my thought would be “this is silly, instead
of me having to write an empty signal hanler, why wouldn&apos;t WPE
WebKit handle it all itself?”.
 
&gt; While not optimal - this approach does not guarantee the end user would
&gt; actually have a sound dialog implementation - at least could show the
&gt; ScriptDialogs react corretly to the WebDriver commands, like some kind of
&gt; &quot;reference behavior&quot;.

If we want to provide some default “headless” implementation which is
enough for WebDriver, what I would do is provide a default handler for
the WebKitWebView::script-dialog signal which checks the web view with webkit_web_view_is_controlled_by_automation() and does the call to
webkit_script_dialog_ref() itself—or we have a dialog implementation.

This would still allow users of the API to provide their own dialogs
by connecting to the ::script-dialog signal and override the default
implementation.

I wonder what Carlos thinks about this possibility :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631516</commentid>
    <comment_count>10</comment_count>
      <attachid>393940</attachid>
    <who name="Lauro Moura">lmoura</who>
    <bug_when>2020-03-18 20:08:51 -0700</bug_when>
    <thetext>Created attachment 393940
Updated patch after aperez comments.

Updated the patch by keeping the dialog alive if the webview is automated instead of relying on the script-dialog event on the browser side.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631595</commentid>
    <comment_count>11</comment_count>
      <attachid>393940</attachid>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2020-03-19 03:31:59 -0700</bug_when>
    <thetext>Comment on attachment 393940
Updated patch after aperez comments.

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

This approach looks neater to me, I have just one comment more,
and unless somebody (and with “somebody” I am thinking Carlos
García) has concerns we will be ready to land this :)

&gt; Source/WebKit/UIProcess/API/wpe/WebKitScriptDialogWPE.cpp:36
&gt; +    webkit_script_dialog_close(dialog);

Here we should call webkit_script_dialog_unref(dialog) to avoid
leaking it. That will be enough because the only ref will be the
one added in the webkitWebViewScriptDialog() function, so the
object will reach a refcount of zero and the webkit_script_dialog()
is called during destruction.

&gt; Source/WebKit/UIProcess/API/wpe/WebKitScriptDialogWPE.cpp:44
&gt; +    webkit_script_dialog_close(dialog);

Same here, replace with a call to webkit_script_dialog_unref().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631661</commentid>
    <comment_count>12</comment_count>
      <attachid>393980</attachid>
    <who name="Lauro Moura">lmoura</who>
    <bug_when>2020-03-19 08:37:14 -0700</bug_when>
    <thetext>Created attachment 393980
Updated patch after using unref instead of close.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631694</commentid>
    <comment_count>13</comment_count>
      <attachid>393980</attachid>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2020-03-19 09:49:10 -0700</bug_when>
    <thetext>Comment on attachment 393980
Updated patch after using unref instead of close.

Thanks a lot for taking the time to iterate over the patch.

For me this is now ready for r+, but I want to have Carlos&apos;
rubber-stamp here, as he&apos;s our WebDriver resident expert :D</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632029</commentid>
    <comment_count>14</comment_count>
      <attachid>393980</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-03-20 02:04:18 -0700</bug_when>
    <thetext>Comment on attachment 393980
Updated patch after using unref instead of close.

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

&gt; Source/WebKit/UIProcess/API/wpe/WebKitScriptDialogWPE.cpp:26
&gt; +// As WPE has currently no public API to allow the browser to respond to these commands,

This is not true, WebKitWebView::script-dialog is available in WPE and WebKitScriptDialog is exposed too.

&gt; Source/WebKit/UIProcess/API/wpe/WebKitScriptDialogWPE.cpp:36
&gt; +    auto dialog_type = webkit_script_dialog_get_dialog_type(dialog);
&gt; +    if (dialog_type == WEBKIT_SCRIPT_DIALOG_CONFIRM || dialog_type == WEBKIT_SCRIPT_DIALOG_BEFORE_UNLOAD_CONFIRM)
&gt; +        webkit_script_dialog_confirm_set_confirmed(dialog, TRUE);
&gt; +    // W3C WebDriver tests expect an empty string instead of a null one when the prompt is accepted.
&gt; +    if (dialog_type == WEBKIT_SCRIPT_DIALOG_PROMPT &amp;&amp; dialog-&gt;text.isNull())
&gt; +        webkit_script_dialog_prompt_set_text(dialog, &quot;&quot;);
&gt; +    webkit_script_dialog_unref(dialog);

This is assuming the app hasn&apos;t handled the WebKitWebView::script-dialog. In GTK we use the WebKitScriptDialog::nativeDialog pointer to check if the dialog is the default one or noty. We would need something similar for WPE, I think.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632414</commentid>
    <comment_count>15</comment_count>
    <who name="Lauro Moura">lmoura</who>
    <bug_when>2020-03-20 19:25:08 -0700</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #14)
&gt; Comment on attachment 393980 [details]
&gt; Updated patch after using unref instead of close.
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=393980&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/API/wpe/WebKitScriptDialogWPE.cpp:26
&gt; &gt; +// As WPE has currently no public API to allow the browser to respond to these commands,
&gt; 
&gt; This is not true, WebKitWebView::script-dialog is available in WPE and
&gt; WebKitScriptDialog is exposed too.

By &quot;these&quot; I meant the commands from webdriver to accept/dismiss/set text in the dialog, which ends up calling these (currently) empty callbacks. What about:

&quot;As WPE currently does not have a public API to forward these WebDriver commands to the browser, we mimic the expected behavior in these callbacks like the browser would do.&quot;

&gt; 
&gt; &gt; Source/WebKit/UIProcess/API/wpe/WebKitScriptDialogWPE.cpp:36
&gt; &gt; +    auto dialog_type = webkit_script_dialog_get_dialog_type(dialog);
&gt; &gt; +    if (dialog_type == WEBKIT_SCRIPT_DIALOG_CONFIRM || dialog_type == WEBKIT_SCRIPT_DIALOG_BEFORE_UNLOAD_CONFIRM)
&gt; &gt; +        webkit_script_dialog_confirm_set_confirmed(dialog, TRUE);
&gt; &gt; +    // W3C WebDriver tests expect an empty string instead of a null one when the prompt is accepted.
&gt; &gt; +    if (dialog_type == WEBKIT_SCRIPT_DIALOG_PROMPT &amp;&amp; dialog-&gt;text.isNull())
&gt; &gt; +        webkit_script_dialog_prompt_set_text(dialog, &quot;&quot;);
&gt; &gt; +    webkit_script_dialog_unref(dialog);
&gt; 
&gt; This is assuming the app hasn&apos;t handled the WebKitWebView::script-dialog. In
&gt; GTK we use the WebKitScriptDialog::nativeDialog pointer to check if the
&gt; dialog is the default one or noty. We would need something similar for WPE,
&gt; I think.

But assuming the app handled the dialog (in the sense that it kept it reffed waiting for user interaction), how would the WebDriver command be delivered to it to accept/dismiss the command?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632823</commentid>
    <comment_count>16</comment_count>
      <attachid>393980</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-03-23 06:56:16 -0700</bug_when>
    <thetext>Comment on attachment 393980
Updated patch after using unref instead of close.

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

&gt;&gt;&gt; Source/WebKit/UIProcess/API/wpe/WebKitScriptDialogWPE.cpp:26
&gt;&gt;&gt; +// As WPE has currently no public API to allow the browser to respond to these commands,
&gt;&gt; 
&gt;&gt; This is not true, WebKitWebView::script-dialog is available in WPE and WebKitScriptDialog is exposed too.
&gt; 
&gt; By &quot;these&quot; I meant the commands from webdriver to accept/dismiss/set text in the dialog, which ends up calling these (currently) empty callbacks. What about:
&gt; 
&gt; &quot;As WPE currently does not have a public API to forward these WebDriver commands to the browser, we mimic the expected behavior in these callbacks like the browser would do.&quot;

These callbacks should do nothing when the user has handled the script dialog signal.

&gt;&gt;&gt; Source/WebKit/UIProcess/API/wpe/WebKitScriptDialogWPE.cpp:36
&gt;&gt;&gt; +    webkit_script_dialog_unref(dialog);
&gt;&gt; 
&gt;&gt; This is assuming the app hasn&apos;t handled the WebKitWebView::script-dialog. In GTK we use the WebKitScriptDialog::nativeDialog pointer to check if the dialog is the default one or noty. We would need something similar for WPE, I think.
&gt; 
&gt; But assuming the app handled the dialog (in the sense that it kept it reffed waiting for user interaction), how would the WebDriver command be delivered to it to accept/dismiss the command?

Handling the dialog means reffing the dialog *and* returning TRUE from the signal to stop propagation. Then the application is expected to call webkit_script_dialog_confirm_set_confirmed/webkit_script_dialog_prompt_set_text and then webkit_script_dialog_close. In the case of WebDriver, the web automation session client accepts/confirms the dialog, and you are indeed right we need to handle the case of the signal being handled by the app. There are FIXMEs in the code for that:

// FIXME: Add API to ask the user in case default implementation is not being used.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1633765</commentid>
    <comment_count>17</comment_count>
    <who name="Lauro Moura">lmoura</who>
    <bug_when>2020-03-24 21:03:33 -0700</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #16)
&gt; Comment on attachment 393980 [details]

snip.

&gt; Handling the dialog means reffing the dialog *and* returning TRUE from the
&gt; signal to stop propagation. Then the application is expected to call
&gt; webkit_script_dialog_confirm_set_confirmed/
&gt; webkit_script_dialog_prompt_set_text and then webkit_script_dialog_close. In
&gt; the case of WebDriver, the web automation session client accepts/confirms
&gt; the dialog, and you are indeed right we need to handle the case of the
&gt; signal being handled by the app. There are FIXMEs in the code for that:
&gt; 
&gt; // FIXME: Add API to ask the user in case default implementation is not
&gt; being used.

So, to check if I&apos;m getting right:

* Automation session callbacks with the FIXME:
    * `webkitWebViewIsShowingScriptDialog`
    * `webkitWebViewSetCurrentScriptDialogUserInput`
    * `webkitWebViewAcceptCurrentScriptDialog`
    * `webkitWebViewDismissCurrentScriptDialog`

* These are the callbacks that must somehow check whether the user
  handled the dialog in the app or we are using the default
  implementation (currently empty in WPE, nativeDialog in GTK)

* In the case of the user handling the dialog, these callbacks must
  notify him that he should take the action requested by the WebDriver.

* In the case of the default implementation being used, it would use
  the ones from this current patch for WPE and the already existing
  nativeDialog for GTK (both implemented in
  `WebKitScriptDialogGTK/WPE.cpp`).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1634191</commentid>
    <comment_count>18</comment_count>
      <attachid>394573</attachid>
    <who name="Lauro Moura">lmoura</who>
    <bug_when>2020-03-25 20:38:10 -0700</bug_when>
    <thetext>Created attachment 394573
WIP New changes from last comment on top of current patch

This is a WIP patch based on my last comment, on top of the current patch (both to be merged later).

Basically it adds the user-handled checking function (with a WPE dialog flag and checking nativeDialog for GTK) and some signals that the user would use when making his custom dialog react to the WebDriver commands.

Would this be the direction? If so, in the next iteration I&apos;ll merge with the current patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1634198</commentid>
    <comment_count>19</comment_count>
      <attachid>394575</attachid>
    <who name="Lauro Moura">lmoura</who>
    <bug_when>2020-03-25 20:47:05 -0700</bug_when>
    <thetext>Created attachment 394575
Sample modifications to MiniBrowser mimicking a custom dialog

And this is what would it look like to the browser implementer when enabling WebDriver dialog support with the new signals for custom dialog handling.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1646439</commentid>
    <comment_count>20</comment_count>
      <attachid>397826</attachid>
    <who name="Lauro Moura">lmoura</who>
    <bug_when>2020-04-28 04:10:13 -0700</bug_when>
    <thetext>Created attachment 397826
Updated patch

Updated the patch by adding a function to check whether the dialog was user handled and only falling back to the default behavior if we&apos;re using this default impl. Also fixed the WPE accept handler to use the default text the user provided not text.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1646440</commentid>
    <comment_count>21</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2020-04-28 04:11:07 -0700</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1650521</commentid>
    <comment_count>22</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-05-08 01:22:00 -0700</bug_when>
    <thetext>Committed r261370: &lt;https://trac.webkit.org/changeset/261370&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 397826.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>390042</attachid>
            <date>2020-02-06 18:43:31 -0800</date>
            <delta_ts>2020-02-11 19:23:45 -0800</delta_ts>
            <desc>WIP patch for early feedback. Still some work to do.</desc>
            <filename>bug-207372-20200206234330.patch</filename>
            <type>text/plain</type>
            <size>9973</size>
            <attacher name="Lauro Moura">lmoura</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1OTEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGM1ZTY5ZjQwZDgxZDk0MTRm
ZTMzMDk3ZjhmODZlNzE1ODY0MjMxZmIuLjZmOTVjNTYxMjhjYTVlNzM5MWE2MDAyYWE3MDFmM2Qy
M2Y1NTBlMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMjAtMDItMDYgIExhdXJvIE1v
dXJhICA8bG1vdXJhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW1dQRV1bV2ViRHJpdmVyXSBJbXBs
ZW1lbnQgdXNlciBwcm9tcHQgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjA3MzcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGhpcyBjb21taXQgYWRkcyBvbmUgbWV0aG9kIChnZXRfY3VycmVu
dF9zY3JpcHRfZGlhbG9nKSBhbmQgdHdvCisgICAgICAgIG5ldyBzaWduYWxzIHRvIFdlYktpdFdl
YlZpZXcgdG8gYmUgYWJsZSB0byBhY2Nlc3MgdGhlIGN1cnJlbnRseSBvcGVuCisgICAgICAgIHNj
cmlwdCBkaWFsb2cgYW5kIHJlYWN0IHRvIHJlcXVlc3RzIHRvIGFjY2VwdC9kaXNtaXNzIHRoZSBk
aWFsb2cgZnJvbQorICAgICAgICBlbnRpdGllcyBsaWtlIFdlYkRyaXZlci4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJWaWV3LmNwcDoKKyAgICAgICAgKHdlYmtpdF93
ZWJfdmlld19jbGFzc19pbml0KTogQWRkZWQgbmV3IHNpZ25hbHMuCisgICAgICAgICh3ZWJraXRX
ZWJWaWV3QWNjZXB0Q3VycmVudFNjcmlwdERpYWxvZyk6IEVtaXQgdGhlCisgICAgICAgICd1c2Vy
LXByb21wdC1hY2NlcHRlZCcgc2lnbmFsLgorICAgICAgICAod2Via2l0V2ViVmlld0Rpc21pc3ND
dXJyZW50U2NyaXB0RGlhbG9nKTogRW1pdCB0aGUKKyAgICAgICAgJ3VzZXItcHJvbXB0LWRpc21p
c3NlZCcgc2lnbmFsLgorICAgICAgICAod2Via2l0X3dlYl92aWV3X2dldF9jdXJyZW50X3Njcmlw
dF9kaWFsb2cpOiBBZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRXZWJW
aWV3Lmg6IEFkZGVkIG5ldyBzaWduYWxzLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvd3BlL2Rv
Y3Mvd3BlLTEuMC1zZWN0aW9ucy50eHQ6IFVwZGF0ZWQgZXhwb3J0ZWQKKyAgICAgICAgc2VjdGlv
bnMuCisKIDIwMjAtMDItMDYgIHlvdWVubiBmYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFtDb2NvYV0gVXNlIEFWQXNzZXRXcml0ZXJEZWxlZ2F0ZSB0byBpbXBsZW1lbnQgTWVk
aWFSZWNvcmRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIv
V2ViS2l0V2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJL
aXRXZWJWaWV3LmNwcAppbmRleCA5NjMzMjY5MDM5YWVkODVlMTk5M2IyMzQ0NzM1MDliNGVjYjM5
Yjc5Li45YTVlODQ1ODNjNGMxY2FhOTQ5OGI1MWZiMjc1ZWIxMmQwNjI3OWE4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJWaWV3LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJWaWV3LmNwcApAQCAt
MTcxLDYgKzE3MSw5IEBAIGVudW0gewogCiAgICAgVVNFUl9NRVNTQUdFX1JFQ0VJVkVELAogCisg
ICAgVVNFUl9QUk9NUFRfQUNDRVBURUQsCisgICAgVVNFUl9QUk9NUFRfRElTTUlTU0VELAorCiAg
ICAgTEFTVF9TSUdOQUwKIH07CiAKQEAgLTIxOTEsNiArMjE5NCw0OCBAQCBzdGF0aWMgdm9pZCB3
ZWJraXRfd2ViX3ZpZXdfY2xhc3NfaW5pdChXZWJLaXRXZWJWaWV3Q2xhc3MqIHdlYlZpZXdDbGFz
cykKICAgICAgICAgZ19jY2xvc3VyZV9tYXJzaGFsX2dlbmVyaWMsCiAgICAgICAgIEdfVFlQRV9C
T09MRUFOLCAxLAogICAgICAgICBXRUJLSVRfVFlQRV9VU0VSX01FU1NBR0UpOworCisgICAgLyoq
CisgICAgICogV2ViS2l0V2ViVmlldzo6dXNlci1wcm9tcHQtYWNjZXB0ZWQ6CisgICAgICogQHdl
Yl92aWV3OiB0aGUgI1dlYktpdFdlYlZpZXcgb24gd2hpY2ggdGhlIHNpZ25hbCBpcyBlbW1pdHRl
ZAorICAgICAqCisgICAgICogVGhpcyBzaWduYWwgaXMgZW1taXR0ZWQgd2hlbiB0aGUgY3VycmVu
dCBwcm9tcHQgc2hvd24gb24gQHdlYl92aWV3IG11c3QKKyAgICAgKiBiZSBhY2NlcHRlZCAoZS5n
LiB3aGVuIHJlcXVlc3RlZCBmcm9tIGEgV2ViRHJpdmVyIHNlc3Npb24pLgorICAgICAqCisgICAg
ICogWW91IGNhbiBhY2Nlc3MgdGhlIGN1cnJlbnQgZGlhbG9nIGJ5IGNhbGxpbmcgd2Via2l0X3dl
Yl92aWV3X2dldF9jdXJyZW50X3NjcmlwdF9kaWFsb2coKQorICAgICAqIG9uIEB3ZWJfdmlldy4K
KyAgICAgKgorICAgICAqIFNpbmNlOiAyLjMwCisgICAgICovCisgICAgc2lnbmFsc1tVU0VSX1BS
T01QVF9BQ0NFUFRFRF0gPSBnX3NpZ25hbF9uZXcoCisgICAgICAgICJ1c2VyLXByb21wdC1hY2Nl
cHRlZCIsCisgICAgICAgIEdfVFlQRV9GUk9NX0NMQVNTKHdlYlZpZXdDbGFzcyksCisgICAgICAg
IEdfU0lHTkFMX1JVTl9MQVNULAorICAgICAgICAwLAorICAgICAgICBudWxscHRyLCAwLAorICAg
ICAgICBudWxscHRyLAorICAgICAgICBHX1RZUEVfTk9ORSwgMCk7CisKKyAgICAvKioKKyAgICAg
KiBXZWJLaXRXZWJWaWV3Ojp1c2VyLXByb21wdC1kaXNtaXNzZWQ6CisgICAgICogQHdlYl92aWV3
OiB0aGUgI1dlYktpdFdlYlZpZXcgb24gd2hpY2ggdGhlIHNpZ25hbCBpcyBlbW1pdHRlZAorICAg
ICAqCisgICAgICogVGhpcyBzaWduYWwgaXMgZW1taXR0ZWQgd2hlbiB0aGUgY3VycmVudCBwcm9t
cHQgc2hvd24gb24gQHdlYl92aWV3IG11c3QKKyAgICAgKiBiZSBkaXNtaXNzZWQgKGUuZy4gd2hl
biByZXF1ZXN0ZWQgZnJvbSBhIFdlYkRyaXZlciBzZXNzaW9uKS4KKyAgICAgKgorICAgICAqIFlv
dSBjYW4gYWNjZXNzIHRoZSBjdXJyZW50IGRpYWxvZyBieSBjYWxsaW5nIHdlYmtpdF93ZWJfdmll
d19nZXRfY3VycmVudF9zY3JpcHRfZGlhbG9nKCkKKyAgICAgKiBvbiBAd2ViX3ZpZXcuCisgICAg
ICoKKyAgICAgKiBTaW5jZTogMi4zMAorICAgICAqLworICAgIHNpZ25hbHNbVVNFUl9QUk9NUFRf
RElTTUlTU0VEXSA9IGdfc2lnbmFsX25ldygKKyAgICAgICAgInVzZXItcHJvbXB0LWRpc21pc3Nl
ZCIsCisgICAgICAgIEdfVFlQRV9GUk9NX0NMQVNTKHdlYlZpZXdDbGFzcyksCisgICAgICAgIEdf
U0lHTkFMX1JVTl9MQVNULAorICAgICAgICAwLAorICAgICAgICBudWxscHRyLCAwLAorICAgICAg
ICBudWxscHRyLAorICAgICAgICBHX1RZUEVfTk9ORSwgMCk7CiB9CiAKIHN0YXRpYyB2b2lkIHdl
YmtpdFdlYlZpZXdDYW5jZWxBdXRoZW50aWNhdGlvblJlcXVlc3QoV2ViS2l0V2ViVmlldyogd2Vi
VmlldykKQEAgLTI0NTIsNiArMjQ5Nyw3IEBAIHZvaWQgd2Via2l0V2ViVmlld0FjY2VwdEN1cnJl
bnRTY3JpcHREaWFsb2coV2ViS2l0V2ViVmlldyogd2ViVmlldykKICAgICAvLyBGSVhNRTogQWRk
IEFQSSB0byBhc2sgdGhlIHVzZXIgaW4gY2FzZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIGlzIG5v
dCBiZWluZyB1c2VkLgogICAgIGlmICh3ZWJraXRTY3JpcHREaWFsb2dJc1J1bm5pbmcod2ViVmll
dy0+cHJpdi0+Y3VycmVudFNjcmlwdERpYWxvZykpCiAgICAgICAgIHdlYmtpdFNjcmlwdERpYWxv
Z0FjY2VwdCh3ZWJWaWV3LT5wcml2LT5jdXJyZW50U2NyaXB0RGlhbG9nKTsKKyAgICBnX3NpZ25h
bF9lbWl0KHdlYlZpZXcsIHNpZ25hbHNbVVNFUl9QUk9NUFRfQUNDRVBURURdLCAwKTsKIH0KIAog
dm9pZCB3ZWJraXRXZWJWaWV3RGlzbWlzc0N1cnJlbnRTY3JpcHREaWFsb2coV2ViS2l0V2ViVmll
dyogd2ViVmlldykKQEAgLTI0NjIsNiArMjUwOCw3IEBAIHZvaWQgd2Via2l0V2ViVmlld0Rpc21p
c3NDdXJyZW50U2NyaXB0RGlhbG9nKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCiAgICAgLy8gRklY
TUU6IEFkZCBBUEkgdG8gYXNrIHRoZSB1c2VyIGluIGNhc2UgZGVmYXVsdCBpbXBsZW1lbnRhdGlv
biBpcyBub3QgYmVpbmcgdXNlZC4KICAgICBpZiAod2Via2l0U2NyaXB0RGlhbG9nSXNSdW5uaW5n
KHdlYlZpZXctPnByaXYtPmN1cnJlbnRTY3JpcHREaWFsb2cpKQogICAgICAgICB3ZWJraXRTY3Jp
cHREaWFsb2dEaXNtaXNzKHdlYlZpZXctPnByaXYtPmN1cnJlbnRTY3JpcHREaWFsb2cpOworICAg
IGdfc2lnbmFsX2VtaXQod2ViVmlldywgc2lnbmFsc1tVU0VSX1BST01QVF9ESVNNSVNTRURdLCAw
KTsKIH0KIAogT3B0aW9uYWw8V2ViS2l0U2NyaXB0RGlhbG9nVHlwZT4gd2Via2l0V2ViVmlld0dl
dEN1cnJlbnRTY3JpcHREaWFsb2dUeXBlKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCkBAIC00NTQ4
LDMgKzQ1OTUsMTggQEAgV2ViS2l0SW5wdXRNZXRob2RDb250ZXh0KiB3ZWJraXRfd2ViX3ZpZXdf
Z2V0X2lucHV0X21ldGhvZF9jb250ZXh0KFdlYktpdFdlYlZpZXcKICNlbmRpZgogCiB9CisKKy8q
KgorICogd2Via2l0X3dlYl92aWV3X2dldF9jdXJyZW50X3NjcmlwdF9kaWFsb2cKKyAqIEB3ZWJf
dmlldzogYSAjV2ViS2l0V2ViVmlldworICoKKyAqIEdldCB0aGUgY3VycmVudGx5IGRpc3BsYXll
ZCBzY3JpcHQgZGlhbG9nIGZvciBAd2ViX3ZpZXcsIG9yICVOVUxMIGlmIG5vIHNjcmlwdCBkaWFs
b2cgaXMgY3VycmVudGx5IHZpc2libGUuCisgKgorICogUmV0dXJuczogKG51bGxhYmxlKSAodHJh
bnNmZXIgbm9uZSk6IGEgI1dlYktpdFNjcmlwdERpYWxvZywgb3IgJU5VTEwKKyAqCisgKiBTaW5j
ZTogMi4zMAorICovCitXZWJLaXRTY3JpcHREaWFsb2cqIHdlYmtpdF93ZWJfdmlld19nZXRfY3Vy
cmVudF9zY3JpcHRfZGlhbG9nKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCit7CisgICAgcmV0dXJu
IHdlYlZpZXctPnByaXYtPmN1cnJlbnRTY3JpcHREaWFsb2c7Cit9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFdlYlZpZXcuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0V2ViVmlldy5oCmluZGV4IDJiMmQ3OGQxYmI1M2Ey
ZmZkYjcwYzJhNGJkYmM4ODRhZjYwMzZmNjAuLjhkMmZjNjJjNDM5YmE4YTNlNmI5ODAyMDFlZGJh
MzQ1OTMxOTIwMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUv
V2ViS2l0V2ViVmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2Vi
S2l0V2ViVmlldy5oCkBAIC01NTQsNiArNTU0LDExIEBAIHdlYmtpdF93ZWJfdmlld19zZXRfaW5w
dXRfbWV0aG9kX2NvbnRleHQgICAgICAgICAgICAgKFdlYktpdFdlYlZpZXcKIFdFQktJVF9BUEkg
V2ViS2l0SW5wdXRNZXRob2RDb250ZXh0ICoKIHdlYmtpdF93ZWJfdmlld19nZXRfaW5wdXRfbWV0
aG9kX2NvbnRleHQgICAgICAgICAgICAgKFdlYktpdFdlYlZpZXcgICAgICAgICAgICAgICAqd2Vi
X3ZpZXcpOwogCisKKworV0VCS0lUX0FQSSBXZWJLaXRTY3JpcHREaWFsb2cgKgord2Via2l0X3dl
Yl92aWV3X2dldF9jdXJyZW50X3NjcmlwdF9kaWFsb2cgICAgICAgICAgICAoV2ViS2l0V2ViVmll
dyAqd2ViX3ZpZXcpOworCiBHX0VORF9ERUNMUwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvZG9jcy93cGUtMS4wLXNlY3Rpb25zLnR4dCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvZG9jcy93cGUtMS4wLXNlY3Rpb25zLnR4dApp
bmRleCA1NGIyODk1MjZmOGJhNGJkYTYyMTcxNzg5Y2Y0ZmU5NGVmYTI2M2Q0Li42ZTlhNDgyMjI3
MmIzOGZhYmNmZDk0ZDE0MzVlYmI4MDY3Yzg1NTUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvd3BlL2RvY3Mvd3BlLTEuMC1zZWN0aW9ucy50eHQKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9kb2NzL3dwZS0xLjAtc2VjdGlvbnMudHh0CkBAIC0y
NTcsNiArMjU3LDcgQEAgd2Via2l0X3dlYl92aWV3X3NlbmRfbWVzc2FnZV90b19wYWdlCiB3ZWJr
aXRfd2ViX3ZpZXdfc2VuZF9tZXNzYWdlX3RvX3BhZ2VfZmluaXNoCiB3ZWJraXRfd2ViX3ZpZXdf
c2V0X2lucHV0X21ldGhvZF9jb250ZXh0CiB3ZWJraXRfd2ViX3ZpZXdfZ2V0X2lucHV0X21ldGhv
ZF9jb250ZXh0Cit3ZWJraXRfd2ViX3ZpZXdfZ2V0X2N1cnJlbnRfc2NyaXB0X2RpYWxvZwogCiA8
U1VCU0VDVElPTiBXZWJLaXRKYXZhc2NyaXB0UmVzdWx0PgogV2ViS2l0SmF2YXNjcmlwdFJlc3Vs
dApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDQw
M2M1YzI2ZDUzMGZhMTBiYTBiYTZjNDI3ZjIzZTk3YTdkZGVhZTcuLjA0MmQzYzJlODdmZDcwNDg1
Mzk2NjAyZmJiYTlmZGQwZGU5MGUzMTUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysg
Yi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAyMC0wMi0wNiAgTGF1cm8gTW91
cmEgIDxsbW91cmFAaWdhbGlhLmNvbT4KKworICAgICAgICBbV1BFXVtXZWJEcml2ZXJdIEltcGxl
bWVudCB1c2VyIHByb21wdCBzdXBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDczNzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGRlZCBldmVudCBoYW5kbGVycyB0byBXUEUgTWluaUJyb3dzZXIg
dG8gcmVhY3QgdG8gV2ViRHJpdmVyIHVzZXIKKyAgICAgICAgcHJvbXB0IGNvbW1hbmRzLgorCisg
ICAgICAgICogTWluaUJyb3dzZXIvd3BlL21haW4uY3BwOgorICAgICAgICAod2ViVmlld0RpYWxv
Z0Nsb3NlKTogQWRkZWQKKyAgICAgICAgKHdlYlZpZXdTY3JpcHREaWFsb2cpOiBBZGRlZAorICAg
ICAgICAoY3JlYXRlV2ViVmlldyk6IFJlZ2lzdGVyIG5lZWRlZCBzaWduYWxzCisgICAgICAgICht
YWluKTogUmVnaXN0ZXIgbmVlZGVkIHNpZ25hbHMuCisKIDIwMjAtMDItMDUgIFdlbnNvbiBIc2ll
aCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gUHJvdmlkZSBhIHdh
eSB0byBzdXBwcmVzcyBzb2Z0d2FyZSBrZXlib2FyZHMgb24gV0tXZWJWaWV3J3MgV0tDb250ZW50
VmlldwpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvd3BlL21haW4uY3BwIGIvVG9vbHMv
TWluaUJyb3dzZXIvd3BlL21haW4uY3BwCmluZGV4IDJkMTgzZDM5NDEyM2JkODQ1NDVkYzUxZjUz
ZWI5YmU3OTZmYjg4NzMuLjU4YTZhNTJmZTVjMzI0YjI0NjZhNDE3NWI0NDMwYzdmNWI0OTYwYTYg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL3dwZS9tYWluLmNwcAorKysgYi9Ub29scy9N
aW5pQnJvd3Nlci93cGUvbWFpbi5jcHAKQEAgLTE0NywxMSArMTQ3LDI2IEBAIHN0YXRpYyB2b2lk
IGZpbHRlclNhdmVkQ2FsbGJhY2soV2ViS2l0VXNlckNvbnRlbnRGaWx0ZXJTdG9yZSAqc3RvcmUs
IEdBc3luY1Jlc3VsCiAgICAgZ19tYWluX2xvb3BfcXVpdChkYXRhLT5tYWluTG9vcCk7CiB9CiAK
K3N0YXRpYyB2b2lkIHdlYlZpZXdEaWFsb2dDbG9zZShXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3KQor
eworICAgIGlmICghd2Via2l0X3dlYl92aWV3X2lzX2NvbnRyb2xsZWRfYnlfYXV0b21hdGlvbih3
ZWJWaWV3KSkKKyAgICAgICAgcmV0dXJuOworCisgICAgYXV0byogZGlhbG9nID0gd2Via2l0X3dl
Yl92aWV3X2dldF9jdXJyZW50X3NjcmlwdF9kaWFsb2cod2ViVmlldyk7CisgICAgaWYgKGRpYWxv
ZykKKyAgICAgICAgd2Via2l0X3NjcmlwdF9kaWFsb2dfY2xvc2UoZGlhbG9nKTsKK30KKwogc3Rh
dGljIHZvaWQgd2ViVmlld0Nsb3NlKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIGdwb2ludGVyKQog
ewogICAgIGdfb2JqZWN0X3VucmVmKHdlYlZpZXcpOwogfQogCitzdGF0aWMgdm9pZCB3ZWJWaWV3
U2NyaXB0RGlhbG9nKFdlYktpdFdlYlZpZXcqLCBXZWJLaXRTY3JpcHREaWFsb2cqIGRpYWxvZykK
K3sKKyAgICB3ZWJraXRfc2NyaXB0X2RpYWxvZ19yZWYoZGlhbG9nKTsKK30KKwogc3RhdGljIFdl
YktpdFdlYlZpZXcqIGNyZWF0ZVdlYlZpZXcoV2ViS2l0V2ViVmlldyogd2ViVmlldywgV2ViS2l0
TmF2aWdhdGlvbkFjdGlvbiosIGdwb2ludGVyKQogewogICAgIGF1dG8gYmFja2VuZCA9IGNyZWF0
ZVZpZXdCYWNrZW5kKDEyODAsIDcyMCk7CkBAIC0xNjgsNiArMTgzLDEzIEBAIHN0YXRpYyBXZWJL
aXRXZWJWaWV3KiBjcmVhdGVXZWJWaWV3KFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIFdlYktpdE5h
dmlnYXRpb25BY3RpCiAgICAgd2Via2l0X3dlYl92aWV3X3NldF9zZXR0aW5ncyhuZXdXZWJWaWV3
LCB3ZWJraXRfd2ViX3ZpZXdfZ2V0X3NldHRpbmdzKHdlYlZpZXcpKTsKIAogICAgIGdfc2lnbmFs
X2Nvbm5lY3QobmV3V2ViVmlldywgImNsb3NlIiwgR19DQUxMQkFDSyh3ZWJWaWV3Q2xvc2UpLCBu
dWxscHRyKTsKKyAgICAvLyBGSVhNRSBTaG91bGQgd2Ugc3VwcG9ydCBzY3JpcHQgZGlhbG9ncyBm
b3Igbm9uLWF1dG9tYXRpb24gbW9kZSBpbiBNaW5pQnJvd3Nlcj8gTGlrZSB1c2luZyBGbGF0cGFr
IHBvcnRhbHM/CisgICAgaWYgKHdlYmtpdF93ZWJfdmlld19pc19jb250cm9sbGVkX2J5X2F1dG9t
YXRpb24od2ViVmlldykpIHsKKyAgICAgICAgZ19zaWduYWxfY29ubmVjdChuZXdXZWJWaWV3LCAi
c2NyaXB0LWRpYWxvZyIsIEdfQ0FMTEJBQ0sod2ViVmlld1NjcmlwdERpYWxvZyksIG51bGxwdHIp
OworICAgICAgICAvLyBBcyB0aGVzZSBhcmUganVzdCBzdHVicyBmb3IgV2ViRHJpdmVyLCBqdXN0
IGNsb3NlIHRoZW0uCisgICAgICAgIGdfc2lnbmFsX2Nvbm5lY3QobmV3V2ViVmlldywgInVzZXIt
cHJvbXB0LWFjY2VwdGVkIiwgR19DQUxMQkFDSyh3ZWJWaWV3RGlhbG9nQ2xvc2UpLCBudWxscHRy
KTsKKyAgICAgICAgZ19zaWduYWxfY29ubmVjdChuZXdXZWJWaWV3LCAidXNlci1wcm9tcHQtZGlz
bWlzc2VkIiwgR19DQUxMQkFDSyh3ZWJWaWV3RGlhbG9nQ2xvc2UpLCBudWxscHRyKTsKKyAgICB9
CiAKICAgICByZXR1cm4gbmV3V2ViVmlldzsKIH0KQEAgLTMwMCw2ICszMjIsMTIgQEAgaW50IG1h
aW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKICAgICBnX3NpZ25hbF9jb25uZWN0KHdlYkNvbnRl
eHQsICJhdXRvbWF0aW9uLXN0YXJ0ZWQiLCBHX0NBTExCQUNLKGF1dG9tYXRpb25TdGFydGVkQ2Fs
bGJhY2spLCB3ZWJWaWV3KTsKICAgICBnX3NpZ25hbF9jb25uZWN0KHdlYlZpZXcsICJwZXJtaXNz
aW9uLXJlcXVlc3QiLCBHX0NBTExCQUNLKGRlY2lkZVBlcm1pc3Npb25SZXF1ZXN0KSwgbnVsbHB0
cik7CiAgICAgZ19zaWduYWxfY29ubmVjdCh3ZWJWaWV3LCAiY3JlYXRlIiwgR19DQUxMQkFDSyhj
cmVhdGVXZWJWaWV3KSwgbnVsbHB0cik7CisgICAgLy8gRklYTUUgU2hvdWxkIHdlIHN1cHBvcnQg
c2NyaXB0IGRpYWxvZ3MgZm9yIG5vbi1hdXRvbWF0aW9uIG1vZGUgaW4gTWluaUJyb3dzZXI/Cisg
ICAgaWYgKGF1dG9tYXRpb25Nb2RlKSB7CisgICAgICAgIGdfc2lnbmFsX2Nvbm5lY3Qod2ViVmll
dywgInNjcmlwdC1kaWFsb2ciLCBHX0NBTExCQUNLKHdlYlZpZXdTY3JpcHREaWFsb2cpLCBudWxs
cHRyKTsKKyAgICAgICAgZ19zaWduYWxfY29ubmVjdCh3ZWJWaWV3LCAidXNlci1wcm9tcHQtYWNj
ZXB0ZWQiLCBHX0NBTExCQUNLKHdlYlZpZXdEaWFsb2dDbG9zZSksIG51bGxwdHIpOworICAgICAg
ICBnX3NpZ25hbF9jb25uZWN0KHdlYlZpZXcsICJ1c2VyLXByb21wdC1kaXNtaXNzZWQiLCBHX0NB
TExCQUNLKHdlYlZpZXdEaWFsb2dDbG9zZSksIG51bGxwdHIpOworICAgIH0KIAogICAgIGlmIChp
Z25vcmVUTFNFcnJvcnMpCiAgICAgICAgIHdlYmtpdF93ZWJfY29udGV4dF9zZXRfdGxzX2Vycm9y
c19wb2xpY3kod2ViQ29udGV4dCwgV0VCS0lUX1RMU19FUlJPUlNfUE9MSUNZX0lHTk9SRSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>390481</attachid>
            <date>2020-02-11 19:23:51 -0800</date>
            <delta_ts>2020-03-08 23:23:51 -0700</delta_ts>
            <desc>Alternative patch, without signals</desc>
            <filename>bug-207372-20200212002347.patch</filename>
            <type>text/plain</type>
            <size>5269</size>
            <attacher name="Lauro Moura">lmoura</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU2NDE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGI1NDBkZjQ5MjQ4NjYyOGQ5
MzAxYzQ2NzliYTQ4ZmQyZTlmMTcxMmUuLjM0OTYzNDEyZDEzY2ZkNTI5MDJiOTIyOTRjZmU2MzM1
OWQ1YmE1YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjAtMDItMTEgIExhdXJvIE1v
dXJhICA8bG1vdXJhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW1dQRV1bV2ViRHJpdmVyXSBJbXBs
ZW1lbnQgdXNlciBwcm9tcHQgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjA3MzcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkZWQgYSBiYXNpYyBiZWhhdmlvciBmb3IgdGhlIFdlYkRyaXZl
ciBjYWxsYmFja3MgZm9yIFdQRS4KKyAgICAgICAgVGhlIGVtYmVkZGVyIG11c3Qgc3RpbGwgcmVm
IHRoZSBkaWFsb2cgaW4gdGhlICJzY3JpcHQtZGlhbG9nIiBzaWduYWwKKyAgICAgICAgaW4gb3Jk
ZXIgdG8gYXZvaWQgdGhlIGRpYWxvZyBiZWluZyByZWxlYXNlZCBlYXJseS4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFNjcmlwdERpYWxvZ1dQRS5jcHA6CisgICAgICAgICh3
ZWJraXRTY3JpcHREaWFsb2dBY2NlcHQpOiBBY2NlcHQgdGhlIGdpdmVuIGRpYWxvZy4KKyAgICAg
ICAgKHdlYmtpdFNjcmlwdERpYWxvZ0Rpc21pc3MpOiBEaXNtaXNzIHRoZSBnaXZlbiBkaWFsb2cu
CisgICAgICAgICh3ZWJraXRTY3JpcHREaWFsb2dTZXRVc2VySW5wdXQpOiBTZXQgaW5wdXQgb24g
dGhlIGdpdmVuIGRpYWFsb2cuCisKIDIwMjAtMDItMTEgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9o
c2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViUGFnZTo6Z2V0Rm9jdXNlZEVsZW1lbnRJbmZv
cm1hdGlvbiBzaG91bGQgYmUgcm9idXN0IHdoZW4gdGhlIGZvY3VzZWQgZWxlbWVudCBjaGFuZ2Vz
IGR1cmluZyBsYXlvdXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93
cGUvV2ViS2l0U2NyaXB0RGlhbG9nV1BFLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS93cGUvV2ViS2l0U2NyaXB0RGlhbG9nV1BFLmNwcAppbmRleCAzYWQ2ZTYxMzY1NzU1NzA0NWVj
MDdjZTRiY2RiM2VlYTBkMWU3ZGFlLi45MGY4ODE5YzRmYjEwNWQyMWZiZTk2OWU2MzlkM2E0ZjNm
OTM3Yjg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktp
dFNjcmlwdERpYWxvZ1dQRS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dw
ZS9XZWJLaXRTY3JpcHREaWFsb2dXUEUuY3BwCkBAIC0yMiwxNCArMjIsMzAgQEAKIAogI2luY2x1
ZGUgIldlYktpdFNjcmlwdERpYWxvZ1ByaXZhdGUuaCIKIAotdm9pZCB3ZWJraXRTY3JpcHREaWFs
b2dBY2NlcHQoV2ViS2l0U2NyaXB0RGlhbG9nKikKKy8vIENhbGxiYWNrcyBpbnZva2VkIGJ5IFdl
YkRyaXZlciBjb21tYW5kcworLy8gSW4gb3JkZXIgdG8gYmUgYWN0dWFsbHkgdXNlZCwgdGhlIFdQ
RSBXZWJWaWV3IHVzZXIgbXVzdCBhbHNvIHJlZigpIHRoZSBkaWFsb2cgaXQKKy8vIHJlY2VpdmVz
IGluIHRoZSAic2NyaXB0LWRpYWxvZyIgc2lnbmFsIHRvIGF2b2lkIGl0IGJlaW5nIGF1dG9tYXRp
Y2FsbHkgY29sbGVjdGVkCisvLyBhZnRlciB0aGUgc2lnbmFsIGhhbmRsZXJzIHJldHVybi4KK3Zv
aWQgd2Via2l0U2NyaXB0RGlhbG9nQWNjZXB0KFdlYktpdFNjcmlwdERpYWxvZyogZGlhbG9nKQog
eworICAgIGF1dG8gZGlhbG9nX3R5cGUgPSB3ZWJraXRfc2NyaXB0X2RpYWxvZ19nZXRfZGlhbG9n
X3R5cGUoZGlhbG9nKTsKKyAgICBpZiAoZGlhbG9nX3R5cGUgPT0gV0VCS0lUX1NDUklQVF9ESUFM
T0dfQ09ORklSTSB8fCBkaWFsb2dfdHlwZSA9PSBXRUJLSVRfU0NSSVBUX0RJQUxPR19CRUZPUkVf
VU5MT0FEX0NPTkZJUk0pCisgICAgICAgIHdlYmtpdF9zY3JpcHRfZGlhbG9nX2NvbmZpcm1fc2V0
X2NvbmZpcm1lZChkaWFsb2csIFRSVUUpOworICAgIHdlYmtpdF9zY3JpcHRfZGlhbG9nX2Nsb3Nl
KGRpYWxvZyk7CiB9CiAKLXZvaWQgd2Via2l0U2NyaXB0RGlhbG9nRGlzbWlzcyhXZWJLaXRTY3Jp
cHREaWFsb2cqKQordm9pZCB3ZWJraXRTY3JpcHREaWFsb2dEaXNtaXNzKFdlYktpdFNjcmlwdERp
YWxvZyogZGlhbG9nKQogeworICAgIGF1dG8gZGlhbG9nX3R5cGUgPSB3ZWJraXRfc2NyaXB0X2Rp
YWxvZ19nZXRfZGlhbG9nX3R5cGUoZGlhbG9nKTsKKyAgICBpZiAoZGlhbG9nX3R5cGUgPT0gV0VC
S0lUX1NDUklQVF9ESUFMT0dfQ09ORklSTSB8fCBkaWFsb2dfdHlwZSA9PSBXRUJLSVRfU0NSSVBU
X0RJQUxPR19CRUZPUkVfVU5MT0FEX0NPTkZJUk0pCisgICAgICAgIHdlYmtpdF9zY3JpcHRfZGlh
bG9nX2NvbmZpcm1fc2V0X2NvbmZpcm1lZChkaWFsb2csIEZBTFNFKTsKKyAgICB3ZWJraXRfc2Ny
aXB0X2RpYWxvZ19jbG9zZShkaWFsb2cpOwogfQogCi12b2lkIHdlYmtpdFNjcmlwdERpYWxvZ1Nl
dFVzZXJJbnB1dChXZWJLaXRTY3JpcHREaWFsb2cqLCBjb25zdCBTdHJpbmcmKQordm9pZCB3ZWJr
aXRTY3JpcHREaWFsb2dTZXRVc2VySW5wdXQoV2ViS2l0U2NyaXB0RGlhbG9nKiBkaWFsb2csIGNv
bnN0IFN0cmluZyYgaW5wdXQpCiB7CisgICAgaWYgKHdlYmtpdF9zY3JpcHRfZGlhbG9nX2dldF9k
aWFsb2dfdHlwZShkaWFsb2cpICE9IFdFQktJVF9TQ1JJUFRfRElBTE9HX1BST01QVCkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgd2Via2l0X3NjcmlwdF9kaWFsb2dfcHJvbXB0X3NldF90ZXh0KGRp
YWxvZywgaW5wdXQudXRmOCgpLmRhdGEoKSk7CiB9CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VM
b2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZjUxMDU3ODlkNjIzZWViNzQ0ODRmNDFhYzMzOGRl
MWE4ZTRlYTczMC4uYjkwNzMwMmY0NmM2ZTljMjFlNmE2ZTZmOGFlOGVhM2Q1YWRkYjZhNiAxMDA2
NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE3IEBACisyMDIwLTAyLTExICBMYXVybyBNb3VyYSAgPGxtb3VyYUBpZ2FsaWEuY29tPgorCisg
ICAgICAgIFtXUEVdW1dlYkRyaXZlcl0gSW1wbGVtZW50IHVzZXIgcHJvbXB0IHN1cHBvcnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNzM3MgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEtlZXAgdGhlIGRp
YWxvZyBhbGl2ZSBzbyB3ZSBjYW4gcmVhY3QgdG8gY29tbWFuZHMgb24gaXQuCisKKyAgICAgICAg
KiBNaW5pQnJvd3Nlci93cGUvbWFpbi5jcHA6CisgICAgICAgICh3ZWJWaWV3U2NyaXB0RGlhbG9n
KToKKyAgICAgICAgKGNyZWF0ZVdlYlZpZXcpOgorICAgICAgICAobWFpbik6CisKIDIwMjAtMDIt
MTEgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBCdWcgMjA3NDI0OiBD
cmFzaCBpbiBXZWJDb3JlOjpQYXJzZWRDb250ZW50VHlwZTo6cGFyc2VDb250ZW50VHlwZSB3aGVu
IHBhcnNpbmcgaW52YWxpZCBNSU1FIHR5cGUKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2Vy
L3dwZS9tYWluLmNwcCBiL1Rvb2xzL01pbmlCcm93c2VyL3dwZS9tYWluLmNwcAppbmRleCBhMGNh
OTRhYzJkY2MwMDViNDAzMTgwYWExMTQwN2ZmN2IzM2RjYmM2Li40ZDAzNzg1MjhlZmViNzdkZTA4
ZjNmYTgwOWMzMzMxNGM1NTlmNWU0IDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci93cGUv
bWFpbi5jcHAKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvd3BlL21haW4uY3BwCkBAIC0xNTIsNiAr
MTUyLDExIEBAIHN0YXRpYyB2b2lkIHdlYlZpZXdDbG9zZShXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3
LCBncG9pbnRlcikKICAgICBnX29iamVjdF91bnJlZih3ZWJWaWV3KTsKIH0KIAorc3RhdGljIHZv
aWQgd2ViVmlld1NjcmlwdERpYWxvZyhXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBXZWJLaXRTY3Jp
cHREaWFsb2cgKmRpYWxvZykKK3sKKyAgICB3ZWJraXRfc2NyaXB0X2RpYWxvZ19yZWYoZGlhbG9n
KTsKK30KKwogc3RhdGljIFdlYktpdFdlYlZpZXcqIGNyZWF0ZVdlYlZpZXcoV2ViS2l0V2ViVmll
dyogd2ViVmlldywgV2ViS2l0TmF2aWdhdGlvbkFjdGlvbiosIGdwb2ludGVyKQogewogICAgIGF1
dG8gYmFja2VuZCA9IGNyZWF0ZVZpZXdCYWNrZW5kKDEyODAsIDcyMCk7CkBAIC0xNjgsNiArMTcz
LDggQEAgc3RhdGljIFdlYktpdFdlYlZpZXcqIGNyZWF0ZVdlYlZpZXcoV2ViS2l0V2ViVmlldyog
d2ViVmlldywgV2ViS2l0TmF2aWdhdGlvbkFjdGkKICAgICB3ZWJraXRfd2ViX3ZpZXdfc2V0X3Nl
dHRpbmdzKG5ld1dlYlZpZXcsIHdlYmtpdF93ZWJfdmlld19nZXRfc2V0dGluZ3Mod2ViVmlldykp
OwogCiAgICAgZ19zaWduYWxfY29ubmVjdChuZXdXZWJWaWV3LCAiY2xvc2UiLCBHX0NBTExCQUNL
KHdlYlZpZXdDbG9zZSksIG51bGxwdHIpOworICAgIGlmICh3ZWJraXRfd2ViX3ZpZXdfaXNfY29u
dHJvbGxlZF9ieV9hdXRvbWF0aW9uKHdlYlZpZXcpKQorICAgICAgICBnX3NpZ25hbF9jb25uZWN0
KG5ld1dlYlZpZXcsICJzY3JpcHQtZGlhbG9nIiwgR19DQUxMQkFDSyh3ZWJWaWV3U2NyaXB0RGlh
bG9nKSwgbnVsbHB0cik7CiAKICAgICByZXR1cm4gbmV3V2ViVmlldzsKIH0KQEAgLTMwMiw2ICsz
MDksOSBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQogICAgIGdfc2lnbmFsX2Nv
bm5lY3Qod2ViVmlldywgImNyZWF0ZSIsIEdfQ0FMTEJBQ0soY3JlYXRlV2ViVmlldyksIG51bGxw
dHIpOwogICAgIGdfc2lnbmFsX2Nvbm5lY3Qod2ViVmlldywgImNsb3NlIiwgR19DQUxMQkFDSyh3
ZWJWaWV3Q2xvc2UpLCBudWxscHRyKTsKIAorICAgIGlmICh3ZWJraXRfd2ViX3ZpZXdfaXNfY29u
dHJvbGxlZF9ieV9hdXRvbWF0aW9uKHdlYlZpZXcpKQorICAgICAgICBnX3NpZ25hbF9jb25uZWN0
KHdlYlZpZXcsICJzY3JpcHQtZGlhbG9nIiwgR19DQUxMQkFDSyh3ZWJWaWV3U2NyaXB0RGlhbG9n
KSwgbnVsbHB0cik7CisKICAgICBpZiAoaWdub3JlVExTRXJyb3JzKQogICAgICAgICB3ZWJraXRf
d2ViX2NvbnRleHRfc2V0X3Rsc19lcnJvcnNfcG9saWN5KHdlYkNvbnRleHQsIFdFQktJVF9UTFNf
RVJST1JTX1BPTElDWV9JR05PUkUpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393010</attachid>
            <date>2020-03-08 23:23:56 -0700</date>
            <delta_ts>2020-03-18 20:08:42 -0700</delta_ts>
            <desc>Rebased and with prompt text fixes</desc>
            <filename>bug-207372-20200309032354.patch</filename>
            <type>text/plain</type>
            <size>5591</size>
            <attacher name="Lauro Moura">lmoura</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4MTE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDRlNjAzOWE4OWZhNzBlMjUw
MzFlZDM3YTkzOTcyMWJjNzM2ZmIyZDYuLjkyMDc4NjU3ZTNiNzQxZjBkZWVmMzE2YWU1OGRmOGYz
ZDU4YzY5OWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjAtMDItMTEgIExhdXJvIE1v
dXJhICA8bG1vdXJhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW1dQRV1bV2ViRHJpdmVyXSBJbXBs
ZW1lbnQgdXNlciBwcm9tcHQgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjA3MzcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkZWQgYSBiYXNpYyBiZWhhdmlvciBmb3IgdGhlIFdlYkRyaXZl
ciBjYWxsYmFja3MgZm9yIFdQRS4KKyAgICAgICAgVGhlIGVtYmVkZGVyIG11c3Qgc3RpbGwgcmVm
IHRoZSBkaWFsb2cgaW4gdGhlICJzY3JpcHQtZGlhbG9nIiBzaWduYWwKKyAgICAgICAgaW4gb3Jk
ZXIgdG8gYXZvaWQgdGhlIGRpYWxvZyBiZWluZyByZWxlYXNlZCBlYXJseS4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFNjcmlwdERpYWxvZ1dQRS5jcHA6CisgICAgICAgICh3
ZWJraXRTY3JpcHREaWFsb2dBY2NlcHQpOiBBY2NlcHQgdGhlIGdpdmVuIGRpYWxvZy4KKyAgICAg
ICAgKHdlYmtpdFNjcmlwdERpYWxvZ0Rpc21pc3MpOiBEaXNtaXNzIHRoZSBnaXZlbiBkaWFsb2cu
CisgICAgICAgICh3ZWJraXRTY3JpcHREaWFsb2dTZXRVc2VySW5wdXQpOiBTZXQgaW5wdXQgb24g
dGhlIGdpdmVuIGRpYWxvZy4KKwogMjAyMC0wMy0wOCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hz
aWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBMYXppbHkgZ2VuZXJhdGUgQ0dQYXRocyBmb3Igc29t
ZSBzaW1wbGUgdHlwZXMgb2YgcGF0aHMsIHN1Y2ggYXMgYXJjcyBhbmQgbGluZXMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0U2NyaXB0RGlhbG9nV1BF
LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0U2NyaXB0RGlhbG9n
V1BFLmNwcAppbmRleCAzYWQ2ZTYxMzY1NzU1NzA0NWVjMDdjZTRiY2RiM2VlYTBkMWU3ZGFlLi42
MGE2YWE2OGRjNTNlN2EyODUxMTc5NTkyOTA3ZjRhNjE4OWEzNjZjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFNjcmlwdERpYWxvZ1dQRS5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRTY3JpcHREaWFsb2dXUEUu
Y3BwCkBAIC0yMiwxNCArMjIsMzYgQEAKIAogI2luY2x1ZGUgIldlYktpdFNjcmlwdERpYWxvZ1By
aXZhdGUuaCIKIAotdm9pZCB3ZWJraXRTY3JpcHREaWFsb2dBY2NlcHQoV2ViS2l0U2NyaXB0RGlh
bG9nKikKKy8vIENhbGxiYWNrcyBpbnZva2VkIGJ5IFdlYkRyaXZlciBjb21tYW5kcworLy8gQXMg
V1BFIGhhcyBjdXJyZW50bHkgbm8gcHVibGljIEFQSSB0byBhbGxvdyB0aGUgYnJvd3NlciB0byBy
ZXNwb25kIHRvIHRoZXNlIGNvbW1hbmRzLAorLy8gd2UgbWltaWMgdGhlIGV4cGVjdGVkIGJlaGF2
aW9yIGluIHRoZXNlIGNhbGxiYWNrcyBsaWtlIG9uZSB3b3VsZCBkbyBpbiBhIHJlZmVyZW5jZSBi
cm93c2VyLgorLy8KKy8vIEluIG9yZGVyIHRvIGJlIGFjdHVhbGx5IHVzZWQsIHRoZSBXUEUgV2Vi
VmlldyB1c2VyIG11c3QgYWxzbyByZWYoKSB0aGUgZGlhbG9nIGl0CisvLyByZWNlaXZlcyBpbiB0
aGUgInNjcmlwdC1kaWFsb2ciIHNpZ25hbCB0byBhdm9pZCBpdCBiZWluZyBhdXRvbWF0aWNhbGx5
IGNvbGxlY3RlZAorLy8gYWZ0ZXIgdGhlIHNpZ25hbCBoYW5kbGVycyByZXR1cm4uCit2b2lkIHdl
YmtpdFNjcmlwdERpYWxvZ0FjY2VwdChXZWJLaXRTY3JpcHREaWFsb2cqIGRpYWxvZykKIHsKKyAg
ICBhdXRvIGRpYWxvZ190eXBlID0gd2Via2l0X3NjcmlwdF9kaWFsb2dfZ2V0X2RpYWxvZ190eXBl
KGRpYWxvZyk7CisgICAgaWYgKGRpYWxvZ190eXBlID09IFdFQktJVF9TQ1JJUFRfRElBTE9HX0NP
TkZJUk0gfHwgZGlhbG9nX3R5cGUgPT0gV0VCS0lUX1NDUklQVF9ESUFMT0dfQkVGT1JFX1VOTE9B
RF9DT05GSVJNKQorICAgICAgICB3ZWJraXRfc2NyaXB0X2RpYWxvZ19jb25maXJtX3NldF9jb25m
aXJtZWQoZGlhbG9nLCBUUlVFKTsKKyAgICAvLyBXM0MgV2ViRHJpdmVyIHRlc3RzIGV4cGVjdCBh
biBlbXB0eSBzdHJpbmcgaW5zdGVhZCBvZiBhIG51bGwgb25lIHdoZW4gdGhlIHByb21wdCBpcyBh
Y2NlcHRlZC4KKyAgICBpZiAoZGlhbG9nX3R5cGUgPT0gV0VCS0lUX1NDUklQVF9ESUFMT0dfUFJP
TVBUICYmIGRpYWxvZy0+dGV4dC5pc051bGwoKSkKKyAgICAgICAgd2Via2l0X3NjcmlwdF9kaWFs
b2dfcHJvbXB0X3NldF90ZXh0KGRpYWxvZywgIiIpOworICAgIHdlYmtpdF9zY3JpcHRfZGlhbG9n
X2Nsb3NlKGRpYWxvZyk7CiB9CiAKLXZvaWQgd2Via2l0U2NyaXB0RGlhbG9nRGlzbWlzcyhXZWJL
aXRTY3JpcHREaWFsb2cqKQordm9pZCB3ZWJraXRTY3JpcHREaWFsb2dEaXNtaXNzKFdlYktpdFNj
cmlwdERpYWxvZyogZGlhbG9nKQogeworICAgIGF1dG8gZGlhbG9nX3R5cGUgPSB3ZWJraXRfc2Ny
aXB0X2RpYWxvZ19nZXRfZGlhbG9nX3R5cGUoZGlhbG9nKTsKKyAgICBpZiAoZGlhbG9nX3R5cGUg
PT0gV0VCS0lUX1NDUklQVF9ESUFMT0dfQ09ORklSTSB8fCBkaWFsb2dfdHlwZSA9PSBXRUJLSVRf
U0NSSVBUX0RJQUxPR19CRUZPUkVfVU5MT0FEX0NPTkZJUk0pCisgICAgICAgIHdlYmtpdF9zY3Jp
cHRfZGlhbG9nX2NvbmZpcm1fc2V0X2NvbmZpcm1lZChkaWFsb2csIEZBTFNFKTsKKyAgICB3ZWJr
aXRfc2NyaXB0X2RpYWxvZ19jbG9zZShkaWFsb2cpOwogfQogCi12b2lkIHdlYmtpdFNjcmlwdERp
YWxvZ1NldFVzZXJJbnB1dChXZWJLaXRTY3JpcHREaWFsb2cqLCBjb25zdCBTdHJpbmcmKQordm9p
ZCB3ZWJraXRTY3JpcHREaWFsb2dTZXRVc2VySW5wdXQoV2ViS2l0U2NyaXB0RGlhbG9nKiBkaWFs
b2csIGNvbnN0IFN0cmluZyYgaW5wdXQpCiB7CisgICAgaWYgKHdlYmtpdF9zY3JpcHRfZGlhbG9n
X2dldF9kaWFsb2dfdHlwZShkaWFsb2cpICE9IFdFQktJVF9TQ1JJUFRfRElBTE9HX1BST01QVCkK
KyAgICAgICAgcmV0dXJuOworCisgICAgd2Via2l0X3NjcmlwdF9kaWFsb2dfcHJvbXB0X3NldF90
ZXh0KGRpYWxvZywgaW5wdXQudXRmOCgpLmRhdGEoKSk7CiB9CmRpZmYgLS1naXQgYS9Ub29scy9D
aGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMjY4ZmMzMGUwY2M5MzNiZDg3NGJiZWVj
Y2RkYmFkMGI1OTY2ODZhYS4uMTJjMzk4Yjc0OTI0NjU4YjI3N2RjM2FhNWQyYzhjNmE0Nzg2ZmNi
ZSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE3IEBACisyMDIwLTAyLTExICBMYXVybyBNb3VyYSAgPGxtb3VyYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtXUEVdW1dlYkRyaXZlcl0gSW1wbGVtZW50IHVzZXIgcHJvbXB0IHN1cHBv
cnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNzM3
MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4g
aW4gYXV0b21hdGlvbiBtb2RlLCBrZWVwIHRoZSBkaWFsb2cgYWxpdmUgc28gd2UgY2FuIHJlYWN0
IHRvIGNvbW1hbmRzIG9uIGl0LgorCisgICAgICAgICogTWluaUJyb3dzZXIvd3BlL21haW4uY3Bw
OgorICAgICAgICAod2ViVmlld1NjcmlwdERpYWxvZyk6CisgICAgICAgIChjcmVhdGVXZWJWaWV3
KToKKyAgICAgICAgKG1haW4pOgorCiAyMDIwLTAzLTA1ICBMYXVybyBNb3VyYSAgPGxtb3VyYUBp
Z2FsaWEuY29tPgogCiAgICAgICAgIFtXUEVdIE1pbmlCcm93c2VyOiBDbG9zZSBjaGlsZCBXZWJW
aWV3cyB3aGVuIGV4aXRpbmcKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL3dwZS9tYWlu
LmNwcCBiL1Rvb2xzL01pbmlCcm93c2VyL3dwZS9tYWluLmNwcAppbmRleCA4ZGQ5MGU0Y2Q2Yzgy
NmFiOWE2YWEwNjNlOWNiNDE2M2E4OTdkYmRkLi4yOWNlYTFmNjg3ODMwZjVmZDZjNmVlNmYzMjFj
NGQ3NmQzYjEzMGFjIDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci93cGUvbWFpbi5jcHAK
KysrIGIvVG9vbHMvTWluaUJyb3dzZXIvd3BlL21haW4uY3BwCkBAIC0xNTQsNiArMTU0LDExIEBA
IHN0YXRpYyB2b2lkIHdlYlZpZXdDbG9zZShXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBncG9pbnRl
cikKICAgICBnX29iamVjdF91bnJlZih3ZWJWaWV3KTsKIH0KIAorc3RhdGljIHZvaWQgd2ViVmll
d1NjcmlwdERpYWxvZyhXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBXZWJLaXRTY3JpcHREaWFsb2cg
KmRpYWxvZykKK3sKKyAgICB3ZWJraXRfc2NyaXB0X2RpYWxvZ19yZWYoZGlhbG9nKTsKK30KKwog
c3RhdGljIFdlYktpdFdlYlZpZXcqIGNyZWF0ZVdlYlZpZXcoV2ViS2l0V2ViVmlldyogd2ViVmll
dywgV2ViS2l0TmF2aWdhdGlvbkFjdGlvbiosIGdwb2ludGVyKQogewogICAgIGF1dG8gYmFja2Vu
ZCA9IGNyZWF0ZVZpZXdCYWNrZW5kKDEyODAsIDcyMCk7CkBAIC0xNzAsNiArMTc1LDggQEAgc3Rh
dGljIFdlYktpdFdlYlZpZXcqIGNyZWF0ZVdlYlZpZXcoV2ViS2l0V2ViVmlldyogd2ViVmlldywg
V2ViS2l0TmF2aWdhdGlvbkFjdGkKICAgICB3ZWJraXRfd2ViX3ZpZXdfc2V0X3NldHRpbmdzKG5l
d1dlYlZpZXcsIHdlYmtpdF93ZWJfdmlld19nZXRfc2V0dGluZ3Mod2ViVmlldykpOwogCiAgICAg
Z19zaWduYWxfY29ubmVjdChuZXdXZWJWaWV3LCAiY2xvc2UiLCBHX0NBTExCQUNLKHdlYlZpZXdD
bG9zZSksIG51bGxwdHIpOworICAgIGlmICh3ZWJraXRfd2ViX3ZpZXdfaXNfY29udHJvbGxlZF9i
eV9hdXRvbWF0aW9uKHdlYlZpZXcpKQorICAgICAgICBnX3NpZ25hbF9jb25uZWN0KG5ld1dlYlZp
ZXcsICJzY3JpcHQtZGlhbG9nIiwgR19DQUxMQkFDSyh3ZWJWaWV3U2NyaXB0RGlhbG9nKSwgbnVs
bHB0cik7CiAKICAgICBnX2hhc2hfdGFibGVfYWRkKGNoaWxkcmVuVmlld3MsIChncG9pbnRlciop
bmV3V2ViVmlldyk7CiAKQEAgLTMwOSw2ICszMTYsOSBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hh
ciAqYXJndltdKQogICAgICAgICBnX29iamVjdF91bnJlZih2aWV3KTsKICAgICB9KSwgd2ViVmll
dyk7CiAKKyAgICBpZiAod2Via2l0X3dlYl92aWV3X2lzX2NvbnRyb2xsZWRfYnlfYXV0b21hdGlv
bih3ZWJWaWV3KSkKKyAgICAgICAgZ19zaWduYWxfY29ubmVjdCh3ZWJWaWV3LCAic2NyaXB0LWRp
YWxvZyIsIEdfQ0FMTEJBQ0sod2ViVmlld1NjcmlwdERpYWxvZyksIG51bGxwdHIpOworCiAgICAg
aWYgKGlnbm9yZVRMU0Vycm9ycykKICAgICAgICAgd2Via2l0X3dlYl9jb250ZXh0X3NldF90bHNf
ZXJyb3JzX3BvbGljeSh3ZWJDb250ZXh0LCBXRUJLSVRfVExTX0VSUk9SU19QT0xJQ1lfSUdOT1JF
KTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393940</attachid>
            <date>2020-03-18 20:08:51 -0700</date>
            <delta_ts>2020-03-19 08:37:04 -0700</delta_ts>
            <desc>Updated patch after aperez comments.</desc>
            <filename>bug-207372-20200319000849.patch</filename>
            <type>text/plain</type>
            <size>4117</size>
            <attacher name="Lauro Moura">lmoura</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4NjcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGRjYzI1OGJkM2I2YWZmMDI4
OTUzNGMyMGExM2Y3ZmQwNGRkZjM1ZDAuLmI3ODhmMjUyMjY0NjBhZDRjNDUwNGQxNTAzNTAxMWRk
NWI0OWY2ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMjAtMDMtMTggIExhdXJvIE1v
dXJhICA8bG1vdXJhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW1dQRV1bV2ViRHJpdmVyXSBJbXBs
ZW1lbnQgdXNlciBwcm9tcHQgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjA3MzcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgUHJvdmlkZSBhIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gZm9yIFdl
YkRyaXZlciBkaWFsb2cgY29tbWFuZHMuCisgICAgICAgIFRoaXMgaW1wbGVtZW50YXRpb24gd2ls
bCBtaW1pYyB0aGUgZXhwZWN0ZWQgYnJvd3NlciBiZWhhdmlvciBvZgorICAgICAgICBhY2NlcHRp
bmcvZGlzbWlzc2luZyB0aGUgZGlhbG9ncywgd2hpbGUgbm90IGV4cG9zaW5nIGFueSBuZXcgQVBJ
LgorCisgICAgICAgIEFkZGVkIGJhc2ljIGJlaGF2aW9yIGZvciB0aGUgV2ViRHJpdmVyIGRpYWxv
ZyBjYWxsYmFja3MgZm9yIFdQRS4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRT
Y3JpcHREaWFsb2dXUEUuY3BwOgorICAgICAgICAod2Via2l0U2NyaXB0RGlhbG9nQWNjZXB0KToK
KyAgICAgICAgKHdlYmtpdFNjcmlwdERpYWxvZ0Rpc21pc3MpOgorICAgICAgICAod2Via2l0U2Ny
aXB0RGlhbG9nU2V0VXNlcklucHV0KToKKworICAgICAgICBIb2xkIGEgZGlhbG9nIHJlZiBpZiB0
aGUgd2VidmlldyBpcyBjb250cm9sbGVkIGJ5IGF1dG9tYXRpb24gYW5kIGVuZHMKKyAgICAgICAg
dXAgY2FsbGluZyB0aGUgZGVmYXVsdCAic2NyaXB0LWRpYWxvZyIgZXZlbnQgaGFuZGxlci4KKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRXZWJWaWV3V1BFLmNwcDoKKyAgICAgICAg
KHdlYmtpdFdlYlZpZXdTY3JpcHREaWFsb2cpOgorCiAyMDIwLTAzLTE4ICBCcmVudCBGdWxnaGFt
ICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAgIEF2b2lkIGNhbGxpbmcgJ25vdGlmeVRo
aXNXZWJQcm9jZXNzUG9vbFdhc0NyZWF0ZWQnIGluc2lkZSB0aGUgY29uc3RydWN0b3IKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0U2NyaXB0RGlhbG9n
V1BFLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0U2NyaXB0RGlh
bG9nV1BFLmNwcAppbmRleCAzYWQ2ZTYxMzY1NzU1NzA0NWVjMDdjZTRiY2RiM2VlYTBkMWU3ZGFl
Li5lMTY3MjYwNGJjNTFjNmM4ZWY2YjAzNTIwMzZkMzZmZjcyMThhMTBjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFNjcmlwdERpYWxvZ1dQRS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRTY3JpcHREaWFsb2dX
UEUuY3BwCkBAIC0yMiwxNCArMjIsMzIgQEAKIAogI2luY2x1ZGUgIldlYktpdFNjcmlwdERpYWxv
Z1ByaXZhdGUuaCIKIAotdm9pZCB3ZWJraXRTY3JpcHREaWFsb2dBY2NlcHQoV2ViS2l0U2NyaXB0
RGlhbG9nKikKKy8vIENhbGxiYWNrcyBpbnZva2VkIGJ5IFdlYkRyaXZlciBjb21tYW5kcworLy8g
QXMgV1BFIGhhcyBjdXJyZW50bHkgbm8gcHVibGljIEFQSSB0byBhbGxvdyB0aGUgYnJvd3NlciB0
byByZXNwb25kIHRvIHRoZXNlIGNvbW1hbmRzLAorLy8gd2UgbWltaWMgdGhlIGV4cGVjdGVkIGJl
aGF2aW9yIGluIHRoZXNlIGNhbGxiYWNrcyBsaWtlIG9uZSB3b3VsZCBkbyBpbiBhIHJlZmVyZW5j
ZSBicm93c2VyLgordm9pZCB3ZWJraXRTY3JpcHREaWFsb2dBY2NlcHQoV2ViS2l0U2NyaXB0RGlh
bG9nKiBkaWFsb2cpCiB7CisgICAgYXV0byBkaWFsb2dfdHlwZSA9IHdlYmtpdF9zY3JpcHRfZGlh
bG9nX2dldF9kaWFsb2dfdHlwZShkaWFsb2cpOworICAgIGlmIChkaWFsb2dfdHlwZSA9PSBXRUJL
SVRfU0NSSVBUX0RJQUxPR19DT05GSVJNIHx8IGRpYWxvZ190eXBlID09IFdFQktJVF9TQ1JJUFRf
RElBTE9HX0JFRk9SRV9VTkxPQURfQ09ORklSTSkKKyAgICAgICAgd2Via2l0X3NjcmlwdF9kaWFs
b2dfY29uZmlybV9zZXRfY29uZmlybWVkKGRpYWxvZywgVFJVRSk7CisgICAgLy8gVzNDIFdlYkRy
aXZlciB0ZXN0cyBleHBlY3QgYW4gZW1wdHkgc3RyaW5nIGluc3RlYWQgb2YgYSBudWxsIG9uZSB3
aGVuIHRoZSBwcm9tcHQgaXMgYWNjZXB0ZWQuCisgICAgaWYgKGRpYWxvZ190eXBlID09IFdFQktJ
VF9TQ1JJUFRfRElBTE9HX1BST01QVCAmJiBkaWFsb2ctPnRleHQuaXNOdWxsKCkpCisgICAgICAg
IHdlYmtpdF9zY3JpcHRfZGlhbG9nX3Byb21wdF9zZXRfdGV4dChkaWFsb2csICIiKTsKKyAgICB3
ZWJraXRfc2NyaXB0X2RpYWxvZ19jbG9zZShkaWFsb2cpOwogfQogCi12b2lkIHdlYmtpdFNjcmlw
dERpYWxvZ0Rpc21pc3MoV2ViS2l0U2NyaXB0RGlhbG9nKikKK3ZvaWQgd2Via2l0U2NyaXB0RGlh
bG9nRGlzbWlzcyhXZWJLaXRTY3JpcHREaWFsb2cqIGRpYWxvZykKIHsKKyAgICBhdXRvIGRpYWxv
Z190eXBlID0gd2Via2l0X3NjcmlwdF9kaWFsb2dfZ2V0X2RpYWxvZ190eXBlKGRpYWxvZyk7Cisg
ICAgaWYgKGRpYWxvZ190eXBlID09IFdFQktJVF9TQ1JJUFRfRElBTE9HX0NPTkZJUk0gfHwgZGlh
bG9nX3R5cGUgPT0gV0VCS0lUX1NDUklQVF9ESUFMT0dfQkVGT1JFX1VOTE9BRF9DT05GSVJNKQor
ICAgICAgICB3ZWJraXRfc2NyaXB0X2RpYWxvZ19jb25maXJtX3NldF9jb25maXJtZWQoZGlhbG9n
LCBGQUxTRSk7CisgICAgd2Via2l0X3NjcmlwdF9kaWFsb2dfY2xvc2UoZGlhbG9nKTsKIH0KIAot
dm9pZCB3ZWJraXRTY3JpcHREaWFsb2dTZXRVc2VySW5wdXQoV2ViS2l0U2NyaXB0RGlhbG9nKiwg
Y29uc3QgU3RyaW5nJikKK3ZvaWQgd2Via2l0U2NyaXB0RGlhbG9nU2V0VXNlcklucHV0KFdlYktp
dFNjcmlwdERpYWxvZyogZGlhbG9nLCBjb25zdCBTdHJpbmcmIGlucHV0KQogeworICAgIGlmICh3
ZWJraXRfc2NyaXB0X2RpYWxvZ19nZXRfZGlhbG9nX3R5cGUoZGlhbG9nKSAhPSBXRUJLSVRfU0NS
SVBUX0RJQUxPR19QUk9NUFQpCisgICAgICAgIHJldHVybjsKKworICAgIHdlYmtpdF9zY3JpcHRf
ZGlhbG9nX3Byb21wdF9zZXRfdGV4dChkaWFsb2csIGlucHV0LnV0ZjgoKS5kYXRhKCkpOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRXZWJWaWV3
V1BFLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0V2ViVmlld1dQ
RS5jcHAKaW5kZXggOWU1Y2U1YzM4OTZmODA5N2JiNjVjYzMxZjNkOTJkYjAxMDRhNjAzYi4uOWY2
NDk2NWRlZTIwMTdkZmRmMDY5MDVhMWMwZWZkZmU4MTUwYjJlYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRXZWJWaWV3V1BFLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFdlYlZpZXdXUEUuY3BwCkBAIC0yOCw4
ICsyOCwxMSBAQCBnYm9vbGVhbiB3ZWJraXRXZWJWaWV3QXV0aGVudGljYXRlKFdlYktpdFdlYlZp
ZXcqLCBXZWJLaXRBdXRoZW50aWNhdGlvblJlcXVlc3QqKQogICAgIHJldHVybiBGQUxTRTsKIH0K
IAotZ2Jvb2xlYW4gd2Via2l0V2ViVmlld1NjcmlwdERpYWxvZyhXZWJLaXRXZWJWaWV3KiwgV2Vi
S2l0U2NyaXB0RGlhbG9nKikKK2dib29sZWFuIHdlYmtpdFdlYlZpZXdTY3JpcHREaWFsb2coV2Vi
S2l0V2ViVmlldyogd2VidmlldywgV2ViS2l0U2NyaXB0RGlhbG9nKiBkaWFsb2cpCiB7CisgICAg
aWYgKHdlYmtpdF93ZWJfdmlld19pc19jb250cm9sbGVkX2J5X2F1dG9tYXRpb24od2Vidmlldykp
CisgICAgICAgIHdlYmtpdF9zY3JpcHRfZGlhbG9nX3JlZihkaWFsb2cpOworCiAgICAgcmV0dXJu
IEZBTFNFOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393980</attachid>
            <date>2020-03-19 08:37:14 -0700</date>
            <delta_ts>2020-04-28 04:10:00 -0700</delta_ts>
            <desc>Updated patch after using unref instead of close.</desc>
            <filename>bug-207372-20200319123711.patch</filename>
            <type>text/plain</type>
            <size>4117</size>
            <attacher name="Lauro Moura">lmoura</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4NjcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGRjYzI1OGJkM2I2YWZmMDI4
OTUzNGMyMGExM2Y3ZmQwNGRkZjM1ZDAuLmI3ODhmMjUyMjY0NjBhZDRjNDUwNGQxNTAzNTAxMWRk
NWI0OWY2ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMjAtMDMtMTggIExhdXJvIE1v
dXJhICA8bG1vdXJhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW1dQRV1bV2ViRHJpdmVyXSBJbXBs
ZW1lbnQgdXNlciBwcm9tcHQgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjA3MzcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgUHJvdmlkZSBhIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gZm9yIFdl
YkRyaXZlciBkaWFsb2cgY29tbWFuZHMuCisgICAgICAgIFRoaXMgaW1wbGVtZW50YXRpb24gd2ls
bCBtaW1pYyB0aGUgZXhwZWN0ZWQgYnJvd3NlciBiZWhhdmlvciBvZgorICAgICAgICBhY2NlcHRp
bmcvZGlzbWlzc2luZyB0aGUgZGlhbG9ncywgd2hpbGUgbm90IGV4cG9zaW5nIGFueSBuZXcgQVBJ
LgorCisgICAgICAgIEFkZGVkIGJhc2ljIGJlaGF2aW9yIGZvciB0aGUgV2ViRHJpdmVyIGRpYWxv
ZyBjYWxsYmFja3MgZm9yIFdQRS4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRT
Y3JpcHREaWFsb2dXUEUuY3BwOgorICAgICAgICAod2Via2l0U2NyaXB0RGlhbG9nQWNjZXB0KToK
KyAgICAgICAgKHdlYmtpdFNjcmlwdERpYWxvZ0Rpc21pc3MpOgorICAgICAgICAod2Via2l0U2Ny
aXB0RGlhbG9nU2V0VXNlcklucHV0KToKKworICAgICAgICBIb2xkIGEgZGlhbG9nIHJlZiBpZiB0
aGUgd2VidmlldyBpcyBjb250cm9sbGVkIGJ5IGF1dG9tYXRpb24gYW5kIGVuZHMKKyAgICAgICAg
dXAgY2FsbGluZyB0aGUgZGVmYXVsdCAic2NyaXB0LWRpYWxvZyIgZXZlbnQgaGFuZGxlci4KKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRXZWJWaWV3V1BFLmNwcDoKKyAgICAgICAg
KHdlYmtpdFdlYlZpZXdTY3JpcHREaWFsb2cpOgorCiAyMDIwLTAzLTE4ICBCcmVudCBGdWxnaGFt
ICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAgIEF2b2lkIGNhbGxpbmcgJ25vdGlmeVRo
aXNXZWJQcm9jZXNzUG9vbFdhc0NyZWF0ZWQnIGluc2lkZSB0aGUgY29uc3RydWN0b3IKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0U2NyaXB0RGlhbG9n
V1BFLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0U2NyaXB0RGlh
bG9nV1BFLmNwcAppbmRleCAzYWQ2ZTYxMzY1NzU1NzA0NWVjMDdjZTRiY2RiM2VlYTBkMWU3ZGFl
Li4yY2EzZDliNTFkYmViNDJlMjdlZWY5MjFiZmU3MzM3ZDEyYzI5OWRlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFNjcmlwdERpYWxvZ1dQRS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRTY3JpcHREaWFsb2dX
UEUuY3BwCkBAIC0yMiwxNCArMjIsMzIgQEAKIAogI2luY2x1ZGUgIldlYktpdFNjcmlwdERpYWxv
Z1ByaXZhdGUuaCIKIAotdm9pZCB3ZWJraXRTY3JpcHREaWFsb2dBY2NlcHQoV2ViS2l0U2NyaXB0
RGlhbG9nKikKKy8vIENhbGxiYWNrcyBpbnZva2VkIGJ5IFdlYkRyaXZlciBjb21tYW5kcworLy8g
QXMgV1BFIGhhcyBjdXJyZW50bHkgbm8gcHVibGljIEFQSSB0byBhbGxvdyB0aGUgYnJvd3NlciB0
byByZXNwb25kIHRvIHRoZXNlIGNvbW1hbmRzLAorLy8gd2UgbWltaWMgdGhlIGV4cGVjdGVkIGJl
aGF2aW9yIGluIHRoZXNlIGNhbGxiYWNrcyBsaWtlIG9uZSB3b3VsZCBkbyBpbiBhIHJlZmVyZW5j
ZSBicm93c2VyLgordm9pZCB3ZWJraXRTY3JpcHREaWFsb2dBY2NlcHQoV2ViS2l0U2NyaXB0RGlh
bG9nKiBkaWFsb2cpCiB7CisgICAgYXV0byBkaWFsb2dfdHlwZSA9IHdlYmtpdF9zY3JpcHRfZGlh
bG9nX2dldF9kaWFsb2dfdHlwZShkaWFsb2cpOworICAgIGlmIChkaWFsb2dfdHlwZSA9PSBXRUJL
SVRfU0NSSVBUX0RJQUxPR19DT05GSVJNIHx8IGRpYWxvZ190eXBlID09IFdFQktJVF9TQ1JJUFRf
RElBTE9HX0JFRk9SRV9VTkxPQURfQ09ORklSTSkKKyAgICAgICAgd2Via2l0X3NjcmlwdF9kaWFs
b2dfY29uZmlybV9zZXRfY29uZmlybWVkKGRpYWxvZywgVFJVRSk7CisgICAgLy8gVzNDIFdlYkRy
aXZlciB0ZXN0cyBleHBlY3QgYW4gZW1wdHkgc3RyaW5nIGluc3RlYWQgb2YgYSBudWxsIG9uZSB3
aGVuIHRoZSBwcm9tcHQgaXMgYWNjZXB0ZWQuCisgICAgaWYgKGRpYWxvZ190eXBlID09IFdFQktJ
VF9TQ1JJUFRfRElBTE9HX1BST01QVCAmJiBkaWFsb2ctPnRleHQuaXNOdWxsKCkpCisgICAgICAg
IHdlYmtpdF9zY3JpcHRfZGlhbG9nX3Byb21wdF9zZXRfdGV4dChkaWFsb2csICIiKTsKKyAgICB3
ZWJraXRfc2NyaXB0X2RpYWxvZ191bnJlZihkaWFsb2cpOwogfQogCi12b2lkIHdlYmtpdFNjcmlw
dERpYWxvZ0Rpc21pc3MoV2ViS2l0U2NyaXB0RGlhbG9nKikKK3ZvaWQgd2Via2l0U2NyaXB0RGlh
bG9nRGlzbWlzcyhXZWJLaXRTY3JpcHREaWFsb2cqIGRpYWxvZykKIHsKKyAgICBhdXRvIGRpYWxv
Z190eXBlID0gd2Via2l0X3NjcmlwdF9kaWFsb2dfZ2V0X2RpYWxvZ190eXBlKGRpYWxvZyk7Cisg
ICAgaWYgKGRpYWxvZ190eXBlID09IFdFQktJVF9TQ1JJUFRfRElBTE9HX0NPTkZJUk0gfHwgZGlh
bG9nX3R5cGUgPT0gV0VCS0lUX1NDUklQVF9ESUFMT0dfQkVGT1JFX1VOTE9BRF9DT05GSVJNKQor
ICAgICAgICB3ZWJraXRfc2NyaXB0X2RpYWxvZ19jb25maXJtX3NldF9jb25maXJtZWQoZGlhbG9n
LCBGQUxTRSk7CisgICAgd2Via2l0X3NjcmlwdF9kaWFsb2dfdW5yZWYoZGlhbG9nKTsKIH0KIAot
dm9pZCB3ZWJraXRTY3JpcHREaWFsb2dTZXRVc2VySW5wdXQoV2ViS2l0U2NyaXB0RGlhbG9nKiwg
Y29uc3QgU3RyaW5nJikKK3ZvaWQgd2Via2l0U2NyaXB0RGlhbG9nU2V0VXNlcklucHV0KFdlYktp
dFNjcmlwdERpYWxvZyogZGlhbG9nLCBjb25zdCBTdHJpbmcmIGlucHV0KQogeworICAgIGlmICh3
ZWJraXRfc2NyaXB0X2RpYWxvZ19nZXRfZGlhbG9nX3R5cGUoZGlhbG9nKSAhPSBXRUJLSVRfU0NS
SVBUX0RJQUxPR19QUk9NUFQpCisgICAgICAgIHJldHVybjsKKworICAgIHdlYmtpdF9zY3JpcHRf
ZGlhbG9nX3Byb21wdF9zZXRfdGV4dChkaWFsb2csIGlucHV0LnV0ZjgoKS5kYXRhKCkpOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRXZWJWaWV3
V1BFLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0V2ViVmlld1dQ
RS5jcHAKaW5kZXggOWU1Y2U1YzM4OTZmODA5N2JiNjVjYzMxZjNkOTJkYjAxMDRhNjAzYi4uOWY2
NDk2NWRlZTIwMTdkZmRmMDY5MDVhMWMwZWZkZmU4MTUwYjJlYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRXZWJWaWV3V1BFLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFdlYlZpZXdXUEUuY3BwCkBAIC0yOCw4
ICsyOCwxMSBAQCBnYm9vbGVhbiB3ZWJraXRXZWJWaWV3QXV0aGVudGljYXRlKFdlYktpdFdlYlZp
ZXcqLCBXZWJLaXRBdXRoZW50aWNhdGlvblJlcXVlc3QqKQogICAgIHJldHVybiBGQUxTRTsKIH0K
IAotZ2Jvb2xlYW4gd2Via2l0V2ViVmlld1NjcmlwdERpYWxvZyhXZWJLaXRXZWJWaWV3KiwgV2Vi
S2l0U2NyaXB0RGlhbG9nKikKK2dib29sZWFuIHdlYmtpdFdlYlZpZXdTY3JpcHREaWFsb2coV2Vi
S2l0V2ViVmlldyogd2VidmlldywgV2ViS2l0U2NyaXB0RGlhbG9nKiBkaWFsb2cpCiB7CisgICAg
aWYgKHdlYmtpdF93ZWJfdmlld19pc19jb250cm9sbGVkX2J5X2F1dG9tYXRpb24od2Vidmlldykp
CisgICAgICAgIHdlYmtpdF9zY3JpcHRfZGlhbG9nX3JlZihkaWFsb2cpOworCiAgICAgcmV0dXJu
IEZBTFNFOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394573</attachid>
            <date>2020-03-25 20:38:10 -0700</date>
            <delta_ts>2020-04-28 04:10:04 -0700</delta_ts>
            <desc>WIP New changes from last comment on top of current patch</desc>
            <filename>0001-WIP-Changes-to-check-for-user-handling-the-dialog-an.patch</filename>
            <type>text/plain</type>
            <size>8556</size>
            <attacher name="Lauro Moura">lmoura</attacher>
            
              <data encoding="base64">RnJvbSA3MTI5MzIyODRmY2JjYzdjODg4ZWUzNWRiOWQyODllZGRkY2I5MjliIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMYXVybyBNb3VyYSA8bG1vdXJhQGlnYWxpYS5jb20+CkRhdGU6
IFdlZCwgMjUgTWFyIDIwMjAgMTk6Mjc6MDIgLTAzMDAKU3ViamVjdDogW1BBVENIIHhzZXJ2ZXIg
MS8yXSBXSVAgLSBDaGFuZ2VzIHRvIGNoZWNrIGZvciB1c2VyIGhhbmRsaW5nIHRoZQogZGlhbG9n
IGFuZCBub3RpZmljYXRpb24KCi0tLQogLi4uL0FQSS9nbGliL1dlYktpdFNjcmlwdERpYWxvZ1By
aXZhdGUuaCAgICAgIHwgIDUgKysKIC4uLi9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViVmll
dy5jcHAgICAgICB8IDg4ICsrKysrKysrKysrKysrKysrKy0KIC4uLi9BUEkvZ3RrL1dlYktpdFNj
cmlwdERpYWxvZ0d0ay5jcHAgICAgICAgICB8ICA1ICsrCiAuLi4vQVBJL3dwZS9XZWJLaXRTY3Jp
cHREaWFsb2dXUEUuY3BwICAgICAgICAgfCAgNSArKwogLi4uL1VJUHJvY2Vzcy9BUEkvd3BlL1dl
YktpdFdlYlZpZXdXUEUuY3BwICAgIHwgIDYgKy0KIDUgZmlsZXMgY2hhbmdlZCwgMTA1IGluc2Vy
dGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2NyaXB0RGlhbG9nUHJpdmF0ZS5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2NyaXB0RGlhbG9nUHJpdmF0ZS5oCmluZGV4IGRk
ZGU5Mzk2NWY4Li5jYzFiYzM2YmI2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL2dsaWIvV2ViS2l0U2NyaXB0RGlhbG9nUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNjcmlwdERpYWxvZ1ByaXZhdGUuaApAQCAtNDUs
NiArNDUsMTAgQEAgc3RydWN0IF9XZWJLaXRTY3JpcHREaWFsb2cgewogICAgIEd0a1dpZGdldCog
bmF0aXZlRGlhbG9nIHsgbnVsbHB0ciB9OwogI2VuZGlmCiAKKyNpZiBQTEFURk9STShXUEUpCisg
ICAgYm9vbCBpc1VzZXJIYW5kbGVkIHsgdHJ1ZSB9OworI2VuZGlmCisKICAgICBpbnQgcmVmZXJl
bmNlQ291bnQgeyAxIH07CiB9OwogCkBAIC01MywzICs1Nyw0IEBAIGJvb2wgd2Via2l0U2NyaXB0
RGlhbG9nSXNSdW5uaW5nKFdlYktpdFNjcmlwdERpYWxvZyopOwogdm9pZCB3ZWJraXRTY3JpcHRE
aWFsb2dBY2NlcHQoV2ViS2l0U2NyaXB0RGlhbG9nKik7CiB2b2lkIHdlYmtpdFNjcmlwdERpYWxv
Z0Rpc21pc3MoV2ViS2l0U2NyaXB0RGlhbG9nKik7CiB2b2lkIHdlYmtpdFNjcmlwdERpYWxvZ1Nl
dFVzZXJJbnB1dChXZWJLaXRTY3JpcHREaWFsb2cqLCBjb25zdCBTdHJpbmcmKTsKK2Jvb2wgd2Vi
a2l0U2NyaXB0RGlhbG9nSXNVc2VySGFuZGxlZChXZWJLaXRTY3JpcHREaWFsb2cgKik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJWaWV3LmNw
cCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYlZpZXcuY3BwCmlu
ZGV4IGI3NDNhMGQzNDBiLi5jNGRjNDRiNTdhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2ViVmlldy5jcHAKQEAgLTE3MSw2ICsxNzEsMTAgQEAg
ZW51bSB7CiAKICAgICBVU0VSX01FU1NBR0VfUkVDRUlWRUQsCiAKKyAgICBBQ0NFUFRfU0NSSVBU
X0RJQUxPRywKKyAgICBESVNNSVNTX1NDUklQVF9ESUFMT0csCisgICAgU0VUX1NDUklQVF9ESUFM
T0dfSU5QVVQsCisKICAgICBMQVNUX1NJR05BTAogfTsKIApAQCAtMjE5MSw2ICsyMTk1LDcyIEBA
IHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfdmlld19jbGFzc19pbml0KFdlYktpdFdlYlZpZXdDbGFz
cyogd2ViVmlld0NsYXNzKQogICAgICAgICBnX2NjbG9zdXJlX21hcnNoYWxfZ2VuZXJpYywKICAg
ICAgICAgR19UWVBFX0JPT0xFQU4sIDEsCiAgICAgICAgIFdFQktJVF9UWVBFX1VTRVJfTUVTU0FH
RSk7CisKKyAgICAvKioKKyAgICAgKiBXZWJLaXRXZWJWaWV3OjphY2NlcHQtc2NyaXB0LWRpYWxv
ZworICAgICAqIEB3ZWJfdmlldzogdGhlICNXZWJLaXRXZWJWaWV3IG9uIHdoaWNoIHRoZSBzaWdu
YWwgaXMgZW1pdHRlZAorICAgICAqIEBkaWFsb2c6IHRoZSAjV2ViS2l0U2NyaXB0RGlhbG9nIHRv
IGFjY2VwdAorICAgICAqCisgICAgICogVGhpcyBzaWduYWwgaXMgZW1pdHRlZCB3aGVuIGEgYXV0
b21hdGlvbiBzZXNzaW9uIHJlcXVlc3RzIHRoZSBAd2ViX3ZpZXcgdG8KKyAgICAgKiBhY2NlcHQg
dGhlIGN1cnJlbnQgc2NyaXB0IGRpYWxvZyBiZWluZyBzaG93bi4KKyAgICAgKgorICAgICAqIEZv
ciBkaWFsb2dzIG9mIHR5cGVzICVXRUJLSVRfU0NSSVBUX0RJQUxPR19DT05GSUcgYW5kCisgICAg
ICogJVdFQktJVF9TQ1JJUFRfRElBTE9HX0JFRk9SRV9VTkxPQURfQ09ORklSTSwgaXQgaXMgYWxz
byBleHBlY3RlZCB0aGF0CisgICAgICogdGhlIHVzZXIgd2lsbCBjYWxsIHdlYmtpdF9zY3JpcHRf
ZGlhbG9nX2NvbmZpcm1fc2V0X2NvbmZpcm1lZCgpIG9uIGl0LgorICAgICAqCisgICAgICogU2lu
Y2U6IDIuMzAKKyAgICAgKi8KKyAgICBzaWduYWxzW0FDQ0VQVF9TQ1JJUFRfRElBTE9HXSA9IGdf
c2lnbmFsX25ldygKKyAgICAgICAgImFjY2VwdC1zY3JpcHQtZGlhbG9nIiwKKyAgICAgICAgR19U
WVBFX0ZST01fQ0xBU1Mod2ViVmlld0NsYXNzKSwKKyAgICAgICAgR19TSUdOQUxfUlVOX0xBU1Qs
CisgICAgICAgIDAsCisgICAgICAgIGdfc2lnbmFsX2FjY3VtdWxhdG9yX3RydWVfaGFuZGxlZCwg
bnVsbHB0ciwKKyAgICAgICAgZ19jY2xvc3VyZV9tYXJzaGFsX2dlbmVyaWMsCisgICAgICAgIEdf
VFlQRV9CT09MRUFOLCAxLAorICAgICAgICBXRUJLSVRfVFlQRV9TQ1JJUFRfRElBTE9HKTsKKwor
ICAgIC8qKgorICAgICAqIFdlYktpdFdlYlZpZXc6OmRpc21pc3Mtc2NyaXB0LWRpYWxvZworICAg
ICAqIEB3ZWJfdmlldzogdGhlICNXZWJLaXRXZWJWaWV3IG9uIHdoaWNoIHRoZSBzaWduYWwgaXMg
ZW1pdHRlZAorICAgICAqIEBkaWFsb2c6IHRoZSAjV2ViS2l0U2NyaXB0RGlhbG9nIHRvIGRpc21p
c3MKKyAgICAgKgorICAgICAqIFRoaXMgc2lnbmFsIGlzIGVtaXR0ZWQgd2hlbiBhIGF1dG9tYXRp
b24gc2Vzc2lvbiByZXF1ZXN0cyB0aGUgQHdlYl92aWV3IHRvCisgICAgICogZGlzbWlzcyB0aGUg
Y3VycmVudCBzY3JpcHQgZGlhbG9nIGJlaW5nIHNob3duLgorICAgICAqCisgICAgICogU2luY2U6
IDIuMzAKKyAgICAgKi8KKyAgICBzaWduYWxzW0RJU01JU1NfU0NSSVBUX0RJQUxPR10gPSBnX3Np
Z25hbF9uZXcoCisgICAgICAgICJkaXNtaXNzLXNjcmlwdC1kaWFsb2ciLAorICAgICAgICBHX1RZ
UEVfRlJPTV9DTEFTUyh3ZWJWaWV3Q2xhc3MpLAorICAgICAgICBHX1NJR05BTF9SVU5fTEFTVCwK
KyAgICAgICAgMCwKKyAgICAgICAgZ19zaWduYWxfYWNjdW11bGF0b3JfdHJ1ZV9oYW5kbGVkLCBu
dWxscHRyLAorICAgICAgICBnX2NjbG9zdXJlX21hcnNoYWxfZ2VuZXJpYywKKyAgICAgICAgR19U
WVBFX0JPT0xFQU4sIDEsCisgICAgICAgIFdFQktJVF9UWVBFX1NDUklQVF9ESUFMT0cpOworCisg
ICAgLyoqCisgICAgICogV2ViS2l0V2ViVmlldzo6c2V0LXNjcmlwdC1kaWFsb2ctaW5wdXQKKyAg
ICAgKiBAd2ViX3ZpZXc6IHRoZSAjV2ViS2l0V2ViVmlldyBvbiB3aGljaCB0aGUgc2lnbmFsIGlz
IGVtaXR0ZWQKKyAgICAgKiBAZGlhbG9nOiB0aGUgI1dlYktpdFNjcmlwdERpYWxvZyB0byBzZXQg
dGhlIGlucHV0CisgICAgICogQGlucHV0OiB0aGUgdGV4dCB0byBiZSBzZXQgYXMgaW5wdXQgb24g
dGhlIGRpYWxvZworICAgICAqCisgICAgICogVGhpcyBzaWduYWwgaXMgZW1pdHRlZCB3aGVuIGEg
YXV0b21hdGlvbiBzZXNzaW9uIHJlcXVlc3RzIHRoZSBAd2ViX3ZpZXcgdG8KKyAgICAgKiBzZXQg
dGhlIGlucHV0IHRleHQgb24gdGhlIGRpYWxvZy4KKyAgICAgKgorICAgICAqIFNpbmNlOiAyLjMw
CisgICAgICovCisgICAgc2lnbmFsc1tTRVRfU0NSSVBUX0RJQUxPR19JTlBVVF0gPSBnX3NpZ25h
bF9uZXcoCisgICAgICAgICJzZXQtc2NyaXB0LWRpYWxvZy1pbnB1dCIsCisgICAgICAgIEdfVFlQ
RV9GUk9NX0NMQVNTKHdlYlZpZXdDbGFzcyksCisgICAgICAgIEdfU0lHTkFMX1JVTl9MQVNULAor
ICAgICAgICAwLAorICAgICAgICBnX3NpZ25hbF9hY2N1bXVsYXRvcl90cnVlX2hhbmRsZWQsIG51
bGxwdHIsCisgICAgICAgIGdfY2Nsb3N1cmVfbWFyc2hhbF9nZW5lcmljLAorICAgICAgICBHX1RZ
UEVfQk9PTEVBTiwgMiwKKyAgICAgICAgV0VCS0lUX1RZUEVfU0NSSVBUX0RJQUxPRywKKyAgICAg
ICAgR19UWVBFX1NUUklORyk7CiB9CiAKIHN0YXRpYyB2b2lkIHdlYmtpdFdlYlZpZXdDYW5jZWxB
dXRoZW50aWNhdGlvblJlcXVlc3QoV2ViS2l0V2ViVmlldyogd2ViVmlldykKQEAgLTI0MzksNyAr
MjUwOSwxMSBAQCB2b2lkIHdlYmtpdFdlYlZpZXdTZXRDdXJyZW50U2NyaXB0RGlhbG9nVXNlcklu
cHV0KFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIGNvbnN0CiAgICAgaWYgKCF3ZWJWaWV3LT5wcml2
LT5jdXJyZW50U2NyaXB0RGlhbG9nKQogICAgICAgICByZXR1cm47CiAKLSAgICAvLyBGSVhNRTog
QWRkIEFQSSB0byBhc2sgdGhlIHVzZXIgaW4gY2FzZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIGlz
IG5vdCBiZWluZyB1c2VkLgorICAgIGlmICh3ZWJraXRTY3JpcHREaWFsb2dJc1VzZXJIYW5kbGVk
KHdlYlZpZXctPnByaXYtPmN1cnJlbnRTY3JpcHREaWFsb2cpKSB7CisgICAgICAgIGdfc2lnbmFs
X2VtaXQod2ViVmlldywgc2lnbmFsc1tTRVRfU0NSSVBUX0RJQUxPR19JTlBVVF0sIDAsIHdlYlZp
ZXctPnByaXYtPmN1cnJlbnRTY3JpcHREaWFsb2csIHVzZXJJbnB1dC51dGY4KCkuZGF0YSgpKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIGlmICh3ZWJraXRTY3JpcHREaWFsb2dJc1J1
bm5pbmcod2ViVmlldy0+cHJpdi0+Y3VycmVudFNjcmlwdERpYWxvZykpCiAgICAgICAgIHdlYmtp
dFNjcmlwdERpYWxvZ1NldFVzZXJJbnB1dCh3ZWJWaWV3LT5wcml2LT5jdXJyZW50U2NyaXB0RGlh
bG9nLCB1c2VySW5wdXQpOwogfQpAQCAtMjQ0OSw3ICsyNTIzLDExIEBAIHZvaWQgd2Via2l0V2Vi
Vmlld0FjY2VwdEN1cnJlbnRTY3JpcHREaWFsb2coV2ViS2l0V2ViVmlldyogd2ViVmlldykKICAg
ICBpZiAoIXdlYlZpZXctPnByaXYtPmN1cnJlbnRTY3JpcHREaWFsb2cpCiAgICAgICAgIHJldHVy
bjsKIAotICAgIC8vIEZJWE1FOiBBZGQgQVBJIHRvIGFzayB0aGUgdXNlciBpbiBjYXNlIGRlZmF1
bHQgaW1wbGVtZW50YXRpb24gaXMgbm90IGJlaW5nIHVzZWQuCisgICAgaWYgKHdlYmtpdFNjcmlw
dERpYWxvZ0lzVXNlckhhbmRsZWQod2ViVmlldy0+cHJpdi0+Y3VycmVudFNjcmlwdERpYWxvZykp
IHsKKyAgICAgICAgZ19zaWduYWxfZW1pdCh3ZWJWaWV3LCBzaWduYWxzW0FDQ0VQVF9TQ1JJUFRf
RElBTE9HXSwgMCwgd2ViVmlldy0+cHJpdi0+Y3VycmVudFNjcmlwdERpYWxvZyk7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisKICAgICBpZiAod2Via2l0U2NyaXB0RGlhbG9nSXNSdW5uaW5nKHdl
YlZpZXctPnByaXYtPmN1cnJlbnRTY3JpcHREaWFsb2cpKQogICAgICAgICB3ZWJraXRTY3JpcHRE
aWFsb2dBY2NlcHQod2ViVmlldy0+cHJpdi0+Y3VycmVudFNjcmlwdERpYWxvZyk7CiB9CkBAIC0y
NDU5LDcgKzI1MzcsMTEgQEAgdm9pZCB3ZWJraXRXZWJWaWV3RGlzbWlzc0N1cnJlbnRTY3JpcHRE
aWFsb2coV2ViS2l0V2ViVmlldyogd2ViVmlldykKICAgICBpZiAoIXdlYlZpZXctPnByaXYtPmN1
cnJlbnRTY3JpcHREaWFsb2cpCiAgICAgICAgIHJldHVybjsKIAotICAgIC8vIEZJWE1FOiBBZGQg
QVBJIHRvIGFzayB0aGUgdXNlciBpbiBjYXNlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gaXMgbm90
IGJlaW5nIHVzZWQuCisgICAgaWYgKHdlYmtpdFNjcmlwdERpYWxvZ0lzVXNlckhhbmRsZWQod2Vi
Vmlldy0+cHJpdi0+Y3VycmVudFNjcmlwdERpYWxvZykpIHsKKyAgICAgICAgZ19zaWduYWxfZW1p
dCh3ZWJWaWV3LCBzaWduYWxzW0RJU01JU1NfU0NSSVBUX0RJQUxPR10sIDAsIHdlYlZpZXctPnBy
aXYtPmN1cnJlbnRTY3JpcHREaWFsb2cpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAg
aWYgKHdlYmtpdFNjcmlwdERpYWxvZ0lzUnVubmluZyh3ZWJWaWV3LT5wcml2LT5jdXJyZW50U2Ny
aXB0RGlhbG9nKSkKICAgICAgICAgd2Via2l0U2NyaXB0RGlhbG9nRGlzbWlzcyh3ZWJWaWV3LT5w
cml2LT5jdXJyZW50U2NyaXB0RGlhbG9nKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2NyaXB0RGlhbG9nR3RrLmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2NyaXB0RGlhbG9nR3RrLmNwcAppbmRleCAwZjJj
YzI3MGQyYS4uN2VkNDMwOGJkNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0U2NyaXB0RGlhbG9nR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNjcmlwdERpYWxvZ0d0ay5jcHAKQEAgLTQ0LDMgKzQ0LDgg
QEAgdm9pZCB3ZWJraXRTY3JpcHREaWFsb2dTZXRVc2VySW5wdXQoV2ViS2l0U2NyaXB0RGlhbG9n
KiBzY3JpcHREaWFsb2csIGNvbnN0IFN0cmkKIAogICAgIHdlYmtpdFNjcmlwdERpYWxvZ0ltcGxT
ZXRFbnRyeVRleHQoV0VCS0lUX1NDUklQVF9ESUFMT0dfSU1QTChzY3JpcHREaWFsb2ctPm5hdGl2
ZURpYWxvZyksIHVzZXJJbnB1dCk7CiB9CisKK2Jvb2wgd2Via2l0U2NyaXB0RGlhbG9nSXNVc2Vy
SGFuZGxlZChXZWJLaXRTY3JpcHREaWFsb2cqIHNjcmlwdERpYWxvZykKK3sKKyAgICByZXR1cm4g
IVdFQktJVF9JU19TQ1JJUFRfRElBTE9HX0lNUEwoc2NyaXB0RGlhbG9nLT5uYXRpdmVEaWFsb2cp
OworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRT
Y3JpcHREaWFsb2dXUEUuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XZWJL
aXRTY3JpcHREaWFsb2dXUEUuY3BwCmluZGV4IDJjYTNkOWI1MWRiLi4zZjNlOTZlMTQ4YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRTY3JpcHREaWFs
b2dXUEUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0U2Ny
aXB0RGlhbG9nV1BFLmNwcApAQCAtNTEsMyArNTEsOCBAQCB2b2lkIHdlYmtpdFNjcmlwdERpYWxv
Z1NldFVzZXJJbnB1dChXZWJLaXRTY3JpcHREaWFsb2cqIGRpYWxvZywgY29uc3QgU3RyaW5nJiBp
bgogCiAgICAgd2Via2l0X3NjcmlwdF9kaWFsb2dfcHJvbXB0X3NldF90ZXh0KGRpYWxvZywgaW5w
dXQudXRmOCgpLmRhdGEoKSk7CiB9CisKK2Jvb2wgd2Via2l0U2NyaXB0RGlhbG9nSXNVc2VySGFu
ZGxlZChXZWJLaXRTY3JpcHREaWFsb2cqIGRpYWxvZykKK3sKKyAgICByZXR1cm4gZGlhbG9nLT5p
c1VzZXJIYW5kbGVkOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L3dwZS9XZWJLaXRXZWJWaWV3V1BFLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93
cGUvV2ViS2l0V2ViVmlld1dQRS5jcHAKaW5kZXggOWY2NDk2NWRlZTIuLjRmNzg5NDgwZGJkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFdlYlZpZXdX
UEUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0V2ViVmll
d1dQRS5jcHAKQEAgLTIzLDYgKzIzLDggQEAKICNpbmNsdWRlICJXZWJLaXRDb2xvclByaXZhdGUu
aCIKICNpbmNsdWRlICJXZWJLaXRXZWJWaWV3UHJpdmF0ZS5oIgogCisjaW5jbHVkZSAiV2ViS2l0
U2NyaXB0RGlhbG9nUHJpdmF0ZS5oIgorCiBnYm9vbGVhbiB3ZWJraXRXZWJWaWV3QXV0aGVudGlj
YXRlKFdlYktpdFdlYlZpZXcqLCBXZWJLaXRBdXRoZW50aWNhdGlvblJlcXVlc3QqKQogewogICAg
IHJldHVybiBGQUxTRTsKQEAgLTMwLDggKzMyLDEwIEBAIGdib29sZWFuIHdlYmtpdFdlYlZpZXdB
dXRoZW50aWNhdGUoV2ViS2l0V2ViVmlldyosIFdlYktpdEF1dGhlbnRpY2F0aW9uUmVxdWVzdCop
CiAKIGdib29sZWFuIHdlYmtpdFdlYlZpZXdTY3JpcHREaWFsb2coV2ViS2l0V2ViVmlldyogd2Vi
dmlldywgV2ViS2l0U2NyaXB0RGlhbG9nKiBkaWFsb2cpCiB7Ci0gICAgaWYgKHdlYmtpdF93ZWJf
dmlld19pc19jb250cm9sbGVkX2J5X2F1dG9tYXRpb24od2VidmlldykpCisgICAgaWYgKHdlYmtp
dF93ZWJfdmlld19pc19jb250cm9sbGVkX2J5X2F1dG9tYXRpb24od2VidmlldykpIHsKICAgICAg
ICAgd2Via2l0X3NjcmlwdF9kaWFsb2dfcmVmKGRpYWxvZyk7CisgICAgICAgIGRpYWxvZy0+aXNV
c2VySGFuZGxlZCA9IGZhbHNlOworICAgIH0KIAogICAgIHJldHVybiBGQUxTRTsKIH0KLS0gCjIu
MjAuMQoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394575</attachid>
            <date>2020-03-25 20:47:05 -0700</date>
            <delta_ts>2020-04-28 04:10:08 -0700</delta_ts>
            <desc>Sample modifications to MiniBrowser mimicking a custom dialog</desc>
            <filename>0002-Sample-patch-modifying-MiniBrowser-to-handle-the-dia.patch</filename>
            <type>text/plain</type>
            <size>5548</size>
            <attacher name="Lauro Moura">lmoura</attacher>
            
              <data encoding="base64">RnJvbSBlZmFkODliMmNmMzk5NTc5ODFkZmNmNzQzMzY5MmUwZmQ0MDIwOWNlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMYXVybyBNb3VyYSA8bG1vdXJhQGlnYWxpYS5jb20+CkRhdGU6
IFRodSwgMjYgTWFyIDIwMjAgMDA6MjU6NTkgLTAzMDAKU3ViamVjdDogW1BBVENIIHhzZXJ2ZXIg
Mi8yXSBTYW1wbGUgcGF0Y2ggbW9kaWZ5aW5nIE1pbmlCcm93c2VyIHRvIGhhbmRsZSB0aGUKIGRp
YWxvZyBleHBsaWNpdGx5LgoKLS0tCiAuLi4vVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0U2NyaXB0
RGlhbG9nLmggICAgfCAgMiArCiAuLi4vQVBJL3dwZS9XZWJLaXRTY3JpcHREaWFsb2dXUEUuY3Bw
ICAgICAgICAgfCAgNSArKysKIC4uLi9BUEkvd3BlL2RvY3Mvd3BlLTEuMC1zZWN0aW9ucy50eHQg
ICAgICAgICB8ICAxICsKIFRvb2xzL01pbmlCcm93c2VyL3dwZS9tYWluLmNwcCAgICAgICAgICAg
ICAgICB8IDM4ICsrKysrKysrKysrKysrKysrKysKIDQgZmlsZXMgY2hhbmdlZCwgNDYgaW5zZXJ0
aW9ucygrKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2Vi
S2l0U2NyaXB0RGlhbG9nLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktp
dFNjcmlwdERpYWxvZy5oCmluZGV4IGM5NjA5MTYxOTY1Li41OTE2NmY5ZTQzNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRTY3JpcHREaWFsb2cuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFNjcmlwdERpYWxvZy5o
CkBAIC03OCw2ICs3OCw4IEBAIHdlYmtpdF9zY3JpcHRfZGlhbG9nX3Byb21wdF9nZXRfZGVmYXVs
dF90ZXh0IChXZWJLaXRTY3JpcHREaWFsb2cgKmRpYWxvZyk7CiBXRUJLSVRfQVBJIHZvaWQKIHdl
YmtpdF9zY3JpcHRfZGlhbG9nX3Byb21wdF9zZXRfdGV4dCAgICAgICAgIChXZWJLaXRTY3JpcHRE
aWFsb2cgKmRpYWxvZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBnY2hhciAgICAgICAgKnRleHQpOworV0VCS0lUX0FQSSBjb25zdCBnY2hhcioK
K3dlYmtpdF9zY3JpcHRfZGlhbG9nX3Byb21wdF9nZXRfdGV4dCAgICAgICAgIChXZWJLaXRTY3Jp
cHREaWFsb2cgKmRpYWxvZyk7CiAKIFdFQktJVF9BUEkgdm9pZAogd2Via2l0X3NjcmlwdF9kaWFs
b2dfY2xvc2UgICAgICAgICAgICAgICAgICAgKFdlYktpdFNjcmlwdERpYWxvZyAqZGlhbG9nKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0U2NyaXB0
RGlhbG9nV1BFLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0U2Ny
aXB0RGlhbG9nV1BFLmNwcAppbmRleCAzZjNlOTZlMTQ4YS4uZGJhZTNlYjZlYmUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0U2NyaXB0RGlhbG9nV1BF
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFNjcmlwdERp
YWxvZ1dQRS5jcHAKQEAgLTU2LDMgKzU2LDggQEAgYm9vbCB3ZWJraXRTY3JpcHREaWFsb2dJc1Vz
ZXJIYW5kbGVkKFdlYktpdFNjcmlwdERpYWxvZyogZGlhbG9nKQogewogICAgIHJldHVybiBkaWFs
b2ctPmlzVXNlckhhbmRsZWQ7CiB9CisKK2NvbnN0IGdjaGFyKiB3ZWJraXRfc2NyaXB0X2RpYWxv
Z19wcm9tcHRfZ2V0X3RleHQoV2ViS2l0U2NyaXB0RGlhbG9nICpkaWFsb2cpCit7CisgICAgcmV0
dXJuIGRpYWxvZy0+dGV4dC5kYXRhKCk7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvd3BlL2RvY3Mvd3BlLTEuMC1zZWN0aW9ucy50eHQgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvd3BlL2RvY3Mvd3BlLTEuMC1zZWN0aW9ucy50eHQKaW5kZXggMGMyZGM2
NTE1YzYuLjQ2NmY4NGExMGE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvd3BlL2RvY3Mvd3BlLTEuMC1zZWN0aW9ucy50eHQKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL3dwZS9kb2NzL3dwZS0xLjAtc2VjdGlvbnMudHh0CkBAIC0yNzMsNiArMjczLDcg
QEAgd2Via2l0X3NjcmlwdF9kaWFsb2dfZ2V0X2RpYWxvZ190eXBlCiB3ZWJraXRfc2NyaXB0X2Rp
YWxvZ19nZXRfbWVzc2FnZQogd2Via2l0X3NjcmlwdF9kaWFsb2dfY29uZmlybV9zZXRfY29uZmly
bWVkCiB3ZWJraXRfc2NyaXB0X2RpYWxvZ19wcm9tcHRfZ2V0X2RlZmF1bHRfdGV4dAord2Via2l0
X3NjcmlwdF9kaWFsb2dfcHJvbXB0X2dldF90ZXh0CiB3ZWJraXRfc2NyaXB0X2RpYWxvZ19wcm9t
cHRfc2V0X3RleHQKIHdlYmtpdF9zY3JpcHRfZGlhbG9nX2Nsb3NlCiAKZGlmZiAtLWdpdCBhL1Rv
b2xzL01pbmlCcm93c2VyL3dwZS9tYWluLmNwcCBiL1Rvb2xzL01pbmlCcm93c2VyL3dwZS9tYWlu
LmNwcAppbmRleCBmZGUyNGE3Y2M4Yy4uYTAzNTNiZDBiZTkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01p
bmlCcm93c2VyL3dwZS9tYWluLmNwcAorKysgYi9Ub29scy9NaW5pQnJvd3Nlci93cGUvbWFpbi5j
cHAKQEAgLTE1NCw2ICsxNTQsMzkgQEAgc3RhdGljIHZvaWQgd2ViVmlld0Nsb3NlKFdlYktpdFdl
YlZpZXcqIHdlYlZpZXcsIGdwb2ludGVyKQogICAgIGdfaGFzaF90YWJsZV9yZW1vdmUob3BlblZp
ZXdzLCB3ZWJWaWV3KTsKIH0KIAorc3RhdGljIGJvb2wgd2ViVmlld1NjcmlwdERpYWxvZyhXZWJL
aXRXZWJWaWV3KiB3ZWJWaWV3LCBXZWJLaXRTY3JpcHREaWFsb2cgKmRpYWxvZykKK3sKKyAgICB3
ZWJraXRfc2NyaXB0X2RpYWxvZ19yZWYoZGlhbG9nKTsKKyAgICByZXR1cm4gVFJVRTsKK30KKwor
c3RhdGljIHZvaWQgd2ViVmlld0FjY2VwdFNjcmlwdERpYWxvZyhXZWJLaXRXZWJWaWV3KiB3ZWJW
aWV3LCBXZWJLaXRTY3JpcHREaWFsb2cgKmRpYWxvZykKK3sKKyAgICBhdXRvIGRpYWxvZ190eXBl
ID0gd2Via2l0X3NjcmlwdF9kaWFsb2dfZ2V0X2RpYWxvZ190eXBlKGRpYWxvZyk7CisgICAgaWYg
KGRpYWxvZ190eXBlID09IFdFQktJVF9TQ1JJUFRfRElBTE9HX0NPTkZJUk0gfHwgZGlhbG9nX3R5
cGUgPT0gV0VCS0lUX1NDUklQVF9ESUFMT0dfQkVGT1JFX1VOTE9BRF9DT05GSVJNKQorICAgICAg
ICB3ZWJraXRfc2NyaXB0X2RpYWxvZ19jb25maXJtX3NldF9jb25maXJtZWQoZGlhbG9nLCBUUlVF
KTsKKyAgICAvLyBXM0MgV2ViRHJpdmVyIHRlc3RzIGV4cGVjdCBhbiBlbXB0eSBzdHJpbmcgaW5z
dGVhZCBvZiBhIG51bGwgb25lIHdoZW4gdGhlIHByb21wdCBpcyBhY2NlcHRlZC4KKyAgICBpZiAo
ZGlhbG9nX3R5cGUgPT0gV0VCS0lUX1NDUklQVF9ESUFMT0dfUFJPTVBUICYmICF3ZWJraXRfc2Ny
aXB0X2RpYWxvZ19wcm9tcHRfZ2V0X3RleHQoZGlhbG9nKSkKKyAgICAgICAgd2Via2l0X3Njcmlw
dF9kaWFsb2dfcHJvbXB0X3NldF90ZXh0KGRpYWxvZywgIiIpOworICAgIHdlYmtpdF9zY3JpcHRf
ZGlhbG9nX3VucmVmKGRpYWxvZyk7Cit9CisKK3N0YXRpYyB2b2lkIHdlYlZpZXdEaXNtaXNzU2Ny
aXB0RGlhbG9nKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIFdlYktpdFNjcmlwdERpYWxvZyAqZGlh
bG9nKQoreworICAgIGF1dG8gZGlhbG9nX3R5cGUgPSB3ZWJraXRfc2NyaXB0X2RpYWxvZ19nZXRf
ZGlhbG9nX3R5cGUoZGlhbG9nKTsKKyAgICBpZiAoZGlhbG9nX3R5cGUgPT0gV0VCS0lUX1NDUklQ
VF9ESUFMT0dfQ09ORklSTSB8fCBkaWFsb2dfdHlwZSA9PSBXRUJLSVRfU0NSSVBUX0RJQUxPR19C
RUZPUkVfVU5MT0FEX0NPTkZJUk0pCisgICAgICAgIHdlYmtpdF9zY3JpcHRfZGlhbG9nX2NvbmZp
cm1fc2V0X2NvbmZpcm1lZChkaWFsb2csIEZBTFNFKTsKKyAgICB3ZWJraXRfc2NyaXB0X2RpYWxv
Z191bnJlZihkaWFsb2cpOworfQorCitzdGF0aWMgdm9pZCB3ZWJWaWV3U2V0U2NyaXB0RGlhbG9n
SW5wdXQoV2ViS2l0V2ViVmlldyogd2VidmlldywgV2ViS2l0U2NyaXB0RGlhbG9nICpkaWFsb2cs
IGNvbnN0IGdjaGFyICppbnB1dCkKK3sKKyAgICBpZiAod2Via2l0X3NjcmlwdF9kaWFsb2dfZ2V0
X2RpYWxvZ190eXBlKGRpYWxvZykgIT0gV0VCS0lUX1NDUklQVF9ESUFMT0dfUFJPTVBUKQorICAg
ICAgICByZXR1cm47CisKKyAgICB3ZWJraXRfc2NyaXB0X2RpYWxvZ19wcm9tcHRfc2V0X3RleHQo
ZGlhbG9nLCBpbnB1dCk7Cit9CisKIHN0YXRpYyBXZWJLaXRXZWJWaWV3KiBjcmVhdGVXZWJWaWV3
KFdlYktpdFdlYlZpZXcqIHdlYlZpZXcsIFdlYktpdE5hdmlnYXRpb25BY3Rpb24qLCBncG9pbnRl
cikKIHsKICAgICBhdXRvIGJhY2tlbmQgPSBjcmVhdGVWaWV3QmFja2VuZCgxMjgwLCA3MjApOwpA
QCAtMTcxLDYgKzIwNCwxMCBAQCBzdGF0aWMgV2ViS2l0V2ViVmlldyogY3JlYXRlV2ViVmlldyhX
ZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBXZWJLaXROYXZpZ2F0aW9uQWN0aQogCiAgICAgZ19zaWdu
YWxfY29ubmVjdChuZXdXZWJWaWV3LCAiY3JlYXRlIiwgR19DQUxMQkFDSyhjcmVhdGVXZWJWaWV3
KSwgbnVsbHB0cik7CiAgICAgZ19zaWduYWxfY29ubmVjdChuZXdXZWJWaWV3LCAiY2xvc2UiLCBH
X0NBTExCQUNLKHdlYlZpZXdDbG9zZSksIG51bGxwdHIpOworICAgIGdfc2lnbmFsX2Nvbm5lY3Qo
bmV3V2ViVmlldywgInNjcmlwdC1kaWFsb2ciLCBHX0NBTExCQUNLKHdlYlZpZXdTY3JpcHREaWFs
b2cpLCBudWxscHRyKTsKKyAgICBnX3NpZ25hbF9jb25uZWN0KG5ld1dlYlZpZXcsICJhY2NlcHQt
c2NyaXB0LWRpYWxvZyIsIEdfQ0FMTEJBQ0sod2ViVmlld0FjY2VwdFNjcmlwdERpYWxvZyksIG51
bGxwdHIpOworICAgIGdfc2lnbmFsX2Nvbm5lY3QobmV3V2ViVmlldywgImRpc21pc3Mtc2NyaXB0
LWRpYWxvZyIsIEdfQ0FMTEJBQ0sod2ViVmlld0Rpc21pc3NTY3JpcHREaWFsb2cpLCBudWxscHRy
KTsKKyAgICBnX3NpZ25hbF9jb25uZWN0KG5ld1dlYlZpZXcsICJzZXQtc2NyaXB0LWRpYWxvZy1p
bnB1dCIsIEdfQ0FMTEJBQ0sod2ViVmlld1NldFNjcmlwdERpYWxvZ0lucHV0KSwgbnVsbHB0cik7
CiAKICAgICBnX2hhc2hfdGFibGVfYWRkKG9wZW5WaWV3cywgbmV3V2ViVmlldyk7CiAKQEAgLTMw
OCw2ICszNDUsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQogICAgIGdfc2ln
bmFsX2Nvbm5lY3Qod2ViVmlldywgInBlcm1pc3Npb24tcmVxdWVzdCIsIEdfQ0FMTEJBQ0soZGVj
aWRlUGVybWlzc2lvblJlcXVlc3QpLCBudWxscHRyKTsKICAgICBnX3NpZ25hbF9jb25uZWN0KHdl
YlZpZXcsICJjcmVhdGUiLCBHX0NBTExCQUNLKGNyZWF0ZVdlYlZpZXcpLCBudWxscHRyKTsKICAg
ICBnX3NpZ25hbF9jb25uZWN0KHdlYlZpZXcsICJjbG9zZSIsIEdfQ0FMTEJBQ0sod2ViVmlld0Ns
b3NlKSwgbnVsbHB0cik7CisgICAgZ19zaWduYWxfY29ubmVjdCh3ZWJWaWV3LCAic2NyaXB0LWRp
YWxvZyIsIEdfQ0FMTEJBQ0sod2ViVmlld1NjcmlwdERpYWxvZyksIG51bGxwdHIpOwogICAgIGdf
aGFzaF90YWJsZV9hZGQob3BlblZpZXdzLCB3ZWJWaWV3KTsKIAogICAgIGlmIChpZ25vcmVUTFNF
cnJvcnMpCi0tIAoyLjIwLjEKCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397826</attachid>
            <date>2020-04-28 04:10:13 -0700</date>
            <delta_ts>2020-05-08 01:22:00 -0700</delta_ts>
            <desc>Updated patch</desc>
            <filename>bug-207372-20200428081012.patch</filename>
            <type>text/plain</type>
            <size>8879</size>
            <attacher name="Lauro Moura">lmoura</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwODEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDk1Nzg5ZDQ4YzZlMDJjZDUx
MmY3ZmM0NDI1ZmYzMDcwOGM5YjZhY2YuLmZlZGYwODhmNzIwOGYxMjgxODlkMzM5YjNkZTYzOWUy
NTM5MGY3MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMjAtMDMtMTggIExhdXJvIE1v
dXJhICA8bG1vdXJhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW1dQRV1bV2ViRHJpdmVyXSBJbXBs
ZW1lbnQgdXNlciBwcm9tcHQgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjA3MzcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgUHJvdmlkZSBhIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gZm9yIFdl
YkRyaXZlciBkaWFsb2cgY29tbWFuZHMuCisgICAgICAgIFRoaXMgaW1wbGVtZW50YXRpb24gd2ls
bCBtaW1pYyB0aGUgZXhwZWN0ZWQgYnJvd3NlciBiZWhhdmlvciBvZgorICAgICAgICBhY2NlcHRp
bmcvZGlzbWlzc2luZyB0aGUgZGlhbG9ncywgd2hpbGUgbm90IGV4cG9zaW5nIGFueSBuZXcgQVBJ
LgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNjcmlwdERpYWxvZ1ByaXZh
dGUuaDoKKyAgICAgICAgLSBFeHBvc2UgbmV3IHByaXZhdGUgZnVuY3Rpb24gdG8gY2hlY2sgd2hl
dGhlciB0aGUgZGlhbG9nIGlzIHVzaW5nIGEKKyAgICAgICAgZGVmYXVsdCBpbXBsZW1lbnRhdGlv
biBvciBpcyBoYW5kbGVkIGJ5IHRoZSB1c2VyLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ2xp
Yi9XZWJLaXRXZWJWaWV3LmNwcDoKKyAgICAgICAgLSBBdm9pZCBkZWZhdWx0IFdlYkRyaXZlciBi
ZWhhdmlvciBpZiB0aGUgZGlhbG9nIGlzIHVzZXItaGFuZGxlZC4KKyAgICAgICAgKHdlYmtpdFdl
YlZpZXdTZXRDdXJyZW50U2NyaXB0RGlhbG9nVXNlcklucHV0KToKKyAgICAgICAgKHdlYmtpdFdl
YlZpZXdBY2NlcHRDdXJyZW50U2NyaXB0RGlhbG9nKToKKyAgICAgICAgKHdlYmtpdFdlYlZpZXdE
aXNtaXNzQ3VycmVudFNjcmlwdERpYWxvZyk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsv
V2ViS2l0U2NyaXB0RGlhbG9nR3RrLmNwcDoKKyAgICAgICAgKHdlYmtpdFNjcmlwdERpYWxvZ0lz
VXNlckhhbmRsZWQpOgorICAgICAgICAtIFJldHVybiB3aGV0aGVyIHRoZSBkaWFsb2cgaXMgdXNl
ciBoYW5kbGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFNjcmlwdERpYWxv
Z1dQRS5jcHA6CisgICAgICAgIC0gQWRkZWQgYmFzaWMgYmVoYXZpb3IgZm9yIHRoZSBXZWJEcml2
ZXIgZGlhbG9nIGNhbGxiYWNrcyBmb3IgV1BFLgorICAgICAgICAod2Via2l0U2NyaXB0RGlhbG9n
QWNjZXB0KToKKyAgICAgICAgKHdlYmtpdFNjcmlwdERpYWxvZ0Rpc21pc3MpOgorICAgICAgICAo
d2Via2l0U2NyaXB0RGlhbG9nU2V0VXNlcklucHV0KToKKyAgICAgICAgKHdlYmtpdFNjcmlwdERp
YWxvZ0lzVXNlckhhbmRsZWQpOgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0
V2ViVmlld1dQRS5jcHA6CisgICAgICAgICh3ZWJraXRXZWJWaWV3U2NyaXB0RGlhbG9nKToKKyAg
ICAgICAgLSBIb2xkIGEgZGlhbG9nIHJlZiBpZiB0aGUgd2VidmlldyBpcyBjb250cm9sbGVkIGJ5
IGF1dG9tYXRpb24gYW5kIGVuZHMKKyAgICAgICAgdXAgY2FsbGluZyB0aGUgZGVmYXVsdCAic2Ny
aXB0LWRpYWxvZyIgZXZlbnQgaGFuZGxlci4KKwogMjAyMC0wNC0yNyAgRGV2aW4gUm91c3NvICA8
ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogU3RvcmFnZTogY2Fu
IHNlZSB0aGlyZC1wYXJ0eSBjb29raWVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvZ2xpYi9XZWJLaXRTY3JpcHREaWFsb2dQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTY3JpcHREaWFsb2dQcml2YXRlLmgKaW5kZXggZGRk
ZTkzOTY1Zjg2NWZhZTNjN2Y2ZDk1NTM0Mjk2Yjc5ZTUyYmU3Zi4uY2MxYmMzNmJiNjkwOTZmOGVl
Y2U0NzM0N2NiMDFkMWE5ZmU4NGRhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL2dsaWIvV2ViS2l0U2NyaXB0RGlhbG9nUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNjcmlwdERpYWxvZ1ByaXZhdGUuaApAQCAtNDUs
NiArNDUsMTAgQEAgc3RydWN0IF9XZWJLaXRTY3JpcHREaWFsb2cgewogICAgIEd0a1dpZGdldCog
bmF0aXZlRGlhbG9nIHsgbnVsbHB0ciB9OwogI2VuZGlmCiAKKyNpZiBQTEFURk9STShXUEUpCisg
ICAgYm9vbCBpc1VzZXJIYW5kbGVkIHsgdHJ1ZSB9OworI2VuZGlmCisKICAgICBpbnQgcmVmZXJl
bmNlQ291bnQgeyAxIH07CiB9OwogCkBAIC01MywzICs1Nyw0IEBAIGJvb2wgd2Via2l0U2NyaXB0
RGlhbG9nSXNSdW5uaW5nKFdlYktpdFNjcmlwdERpYWxvZyopOwogdm9pZCB3ZWJraXRTY3JpcHRE
aWFsb2dBY2NlcHQoV2ViS2l0U2NyaXB0RGlhbG9nKik7CiB2b2lkIHdlYmtpdFNjcmlwdERpYWxv
Z0Rpc21pc3MoV2ViS2l0U2NyaXB0RGlhbG9nKik7CiB2b2lkIHdlYmtpdFNjcmlwdERpYWxvZ1Nl
dFVzZXJJbnB1dChXZWJLaXRTY3JpcHREaWFsb2cqLCBjb25zdCBTdHJpbmcmKTsKK2Jvb2wgd2Vi
a2l0U2NyaXB0RGlhbG9nSXNVc2VySGFuZGxlZChXZWJLaXRTY3JpcHREaWFsb2cgKik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJWaWV3LmNw
cCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYlZpZXcuY3BwCmlu
ZGV4IGNiOTk1YmFjYmZjOTQ2ZWY1NmQ0YzIwNzUzZWY2Nzg0OGM3MTk3YjIuLjM0MWY0ZWEzOWEz
YjAzZTRmMmRlZDMyMGEwNGQ0ZWIzYWFhMjFmZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYlZpZXcuY3BwCkBAIC0yNDM5LDcgKzI0MzksMTEg
QEAgdm9pZCB3ZWJraXRXZWJWaWV3U2V0Q3VycmVudFNjcmlwdERpYWxvZ1VzZXJJbnB1dChXZWJL
aXRXZWJWaWV3KiB3ZWJWaWV3LCBjb25zdAogICAgIGlmICghd2ViVmlldy0+cHJpdi0+Y3VycmVu
dFNjcmlwdERpYWxvZykKICAgICAgICAgcmV0dXJuOwogCi0gICAgLy8gRklYTUU6IEFkZCBBUEkg
dG8gYXNrIHRoZSB1c2VyIGluIGNhc2UgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBpcyBub3QgYmVp
bmcgdXNlZC4KKyAgICBpZiAod2Via2l0U2NyaXB0RGlhbG9nSXNVc2VySGFuZGxlZCh3ZWJWaWV3
LT5wcml2LT5jdXJyZW50U2NyaXB0RGlhbG9nKSkgeworICAgICAgICAvLyBGSVhNRTogQWRkIEFQ
SSB0byBhc2sgdGhlIHVzZXIgaW4gY2FzZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIGlzIG5vdCBi
ZWluZyB1c2VkLgorICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgaWYgKHdlYmtpdFNjcmlw
dERpYWxvZ0lzUnVubmluZyh3ZWJWaWV3LT5wcml2LT5jdXJyZW50U2NyaXB0RGlhbG9nKSkKICAg
ICAgICAgd2Via2l0U2NyaXB0RGlhbG9nU2V0VXNlcklucHV0KHdlYlZpZXctPnByaXYtPmN1cnJl
bnRTY3JpcHREaWFsb2csIHVzZXJJbnB1dCk7CiB9CkBAIC0yNDQ5LDcgKzI0NTMsMTEgQEAgdm9p
ZCB3ZWJraXRXZWJWaWV3QWNjZXB0Q3VycmVudFNjcmlwdERpYWxvZyhXZWJLaXRXZWJWaWV3KiB3
ZWJWaWV3KQogICAgIGlmICghd2ViVmlldy0+cHJpdi0+Y3VycmVudFNjcmlwdERpYWxvZykKICAg
ICAgICAgcmV0dXJuOwogCi0gICAgLy8gRklYTUU6IEFkZCBBUEkgdG8gYXNrIHRoZSB1c2VyIGlu
IGNhc2UgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBpcyBub3QgYmVpbmcgdXNlZC4KKyAgICBpZiAo
d2Via2l0U2NyaXB0RGlhbG9nSXNVc2VySGFuZGxlZCh3ZWJWaWV3LT5wcml2LT5jdXJyZW50U2Ny
aXB0RGlhbG9nKSkgeworICAgICAgICAvLyBGSVhNRTogQWRkIEFQSSB0byBhc2sgdGhlIHVzZXIg
aW4gY2FzZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIGlzIG5vdCBiZWluZyB1c2VkLgorICAgICAg
ICByZXR1cm47CisgICAgfQorCiAgICAgaWYgKHdlYmtpdFNjcmlwdERpYWxvZ0lzUnVubmluZyh3
ZWJWaWV3LT5wcml2LT5jdXJyZW50U2NyaXB0RGlhbG9nKSkKICAgICAgICAgd2Via2l0U2NyaXB0
RGlhbG9nQWNjZXB0KHdlYlZpZXctPnByaXYtPmN1cnJlbnRTY3JpcHREaWFsb2cpOwogfQpAQCAt
MjQ1OSw3ICsyNDY3LDExIEBAIHZvaWQgd2Via2l0V2ViVmlld0Rpc21pc3NDdXJyZW50U2NyaXB0
RGlhbG9nKFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCiAgICAgaWYgKCF3ZWJWaWV3LT5wcml2LT5j
dXJyZW50U2NyaXB0RGlhbG9nKQogICAgICAgICByZXR1cm47CiAKLSAgICAvLyBGSVhNRTogQWRk
IEFQSSB0byBhc2sgdGhlIHVzZXIgaW4gY2FzZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIGlzIG5v
dCBiZWluZyB1c2VkLgorICAgIGlmICh3ZWJraXRTY3JpcHREaWFsb2dJc1VzZXJIYW5kbGVkKHdl
YlZpZXctPnByaXYtPmN1cnJlbnRTY3JpcHREaWFsb2cpKSB7CisgICAgICAgIC8vIEZJWE1FOiBB
ZGQgQVBJIHRvIGFzayB0aGUgdXNlciBpbiBjYXNlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gaXMg
bm90IGJlaW5nIHVzZWQuCisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBpZiAod2Via2l0
U2NyaXB0RGlhbG9nSXNSdW5uaW5nKHdlYlZpZXctPnByaXYtPmN1cnJlbnRTY3JpcHREaWFsb2cp
KQogICAgICAgICB3ZWJraXRTY3JpcHREaWFsb2dEaXNtaXNzKHdlYlZpZXctPnByaXYtPmN1cnJl
bnRTY3JpcHREaWFsb2cpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL2d0ay9XZWJLaXRTY3JpcHREaWFsb2dHdGsuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRTY3JpcHREaWFsb2dHdGsuY3BwCmluZGV4IDkzMDNlNDE3NWQyMTRk
N2ZhYWVlMDdhNzY1NGU1YWRlNDcwZTgxYWEuLjkyYWZkNmNmYzY4ZWQ5MTQ3YTcyZWIxMjRlODZk
MWIxMDA1ZGEyYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsv
V2ViS2l0U2NyaXB0RGlhbG9nR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdFNjcmlwdERpYWxvZ0d0ay5jcHAKQEAgLTUwLDMgKzUwLDggQEAgdm9pZCB3
ZWJraXRTY3JpcHREaWFsb2dTZXRVc2VySW5wdXQoV2ViS2l0U2NyaXB0RGlhbG9nKiBzY3JpcHRE
aWFsb2csIGNvbnN0IFN0cmkKICAgICB3ZWJraXRTY3JpcHREaWFsb2dJbXBsU2V0RW50cnlUZXh0
KFdFQktJVF9TQ1JJUFRfRElBTE9HX0lNUEwoc2NyaXB0RGlhbG9nLT5uYXRpdmVEaWFsb2cpLCB1
c2VySW5wdXQpOwogI2VuZGlmCiB9CisKK2Jvb2wgd2Via2l0U2NyaXB0RGlhbG9nSXNVc2VySGFu
ZGxlZChXZWJLaXRTY3JpcHREaWFsb2cqIHNjcmlwdERpYWxvZykKK3sKKyAgICByZXR1cm4gIVdF
QktJVF9JU19TQ1JJUFRfRElBTE9HX0lNUEwoc2NyaXB0RGlhbG9nLT5uYXRpdmVEaWFsb2cpOwor
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRTY3Jp
cHREaWFsb2dXUEUuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRT
Y3JpcHREaWFsb2dXUEUuY3BwCmluZGV4IDNhZDZlNjEzNjU3NTU3MDQ1ZWMwN2NlNGJjZGIzZWVh
MGQxZTdkYWUuLmFkZGUyYThkZDAwOThmNGM2ODMyMTYxYmNlMmNmNGY3ODQ0NDdiYWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0U2NyaXB0RGlhbG9n
V1BFLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFNjcmlw
dERpYWxvZ1dQRS5jcHAKQEAgLTIyLDE0ICsyMiwzNyBAQAogCiAjaW5jbHVkZSAiV2ViS2l0U2Ny
aXB0RGlhbG9nUHJpdmF0ZS5oIgogCi12b2lkIHdlYmtpdFNjcmlwdERpYWxvZ0FjY2VwdChXZWJL
aXRTY3JpcHREaWFsb2cqKQorLy8gQ2FsbGJhY2tzIGludm9rZWQgYnkgV2ViRHJpdmVyIGNvbW1h
bmRzCisvLyBBcyBXUEUgaGFzIGN1cnJlbnRseSBubyBwdWJsaWMgQVBJIHRvIGFsbG93IHRoZSBi
cm93c2VyIHRvIHJlc3BvbmQgdG8gdGhlc2UgY29tbWFuZHMsCisvLyB3ZSBtaW1pYyB0aGUgZXhw
ZWN0ZWQgYmVoYXZpb3IgaW4gdGhlc2UgY2FsbGJhY2tzIGxpa2Ugb25lIHdvdWxkIGRvIGluIGEg
cmVmZXJlbmNlIGJyb3dzZXIuCit2b2lkIHdlYmtpdFNjcmlwdERpYWxvZ0FjY2VwdChXZWJLaXRT
Y3JpcHREaWFsb2cqIGRpYWxvZykKIHsKKyAgICBhdXRvIGRpYWxvZ190eXBlID0gd2Via2l0X3Nj
cmlwdF9kaWFsb2dfZ2V0X2RpYWxvZ190eXBlKGRpYWxvZyk7CisgICAgaWYgKGRpYWxvZ190eXBl
ID09IFdFQktJVF9TQ1JJUFRfRElBTE9HX0NPTkZJUk0gfHwgZGlhbG9nX3R5cGUgPT0gV0VCS0lU
X1NDUklQVF9ESUFMT0dfQkVGT1JFX1VOTE9BRF9DT05GSVJNKQorICAgICAgICB3ZWJraXRfc2Ny
aXB0X2RpYWxvZ19jb25maXJtX3NldF9jb25maXJtZWQoZGlhbG9nLCBUUlVFKTsKKyAgICAvLyBX
M0MgV2ViRHJpdmVyIHRlc3RzIGV4cGVjdCBhbiBlbXB0eSBzdHJpbmcgaW5zdGVhZCBvZiBhIG51
bGwgb25lIHdoZW4gdGhlIHByb21wdCBpcyBhY2NlcHRlZC4KKyAgICBpZiAoZGlhbG9nX3R5cGUg
PT0gV0VCS0lUX1NDUklQVF9ESUFMT0dfUFJPTVBUICYmIGRpYWxvZy0+dGV4dC5pc051bGwoKSkK
KyAgICAgICAgd2Via2l0X3NjcmlwdF9kaWFsb2dfcHJvbXB0X3NldF90ZXh0KGRpYWxvZywgZGlh
bG9nLT5kZWZhdWx0VGV4dC5pc051bGwoKSA/ICIiIDogZGlhbG9nLT5kZWZhdWx0VGV4dC5kYXRh
KCkpOworICAgIHdlYmtpdF9zY3JpcHRfZGlhbG9nX3VucmVmKGRpYWxvZyk7CiB9CiAKLXZvaWQg
d2Via2l0U2NyaXB0RGlhbG9nRGlzbWlzcyhXZWJLaXRTY3JpcHREaWFsb2cqKQordm9pZCB3ZWJr
aXRTY3JpcHREaWFsb2dEaXNtaXNzKFdlYktpdFNjcmlwdERpYWxvZyogZGlhbG9nKQogeworICAg
IGF1dG8gZGlhbG9nX3R5cGUgPSB3ZWJraXRfc2NyaXB0X2RpYWxvZ19nZXRfZGlhbG9nX3R5cGUo
ZGlhbG9nKTsKKyAgICBpZiAoZGlhbG9nX3R5cGUgPT0gV0VCS0lUX1NDUklQVF9ESUFMT0dfQ09O
RklSTSB8fCBkaWFsb2dfdHlwZSA9PSBXRUJLSVRfU0NSSVBUX0RJQUxPR19CRUZPUkVfVU5MT0FE
X0NPTkZJUk0pCisgICAgICAgIHdlYmtpdF9zY3JpcHRfZGlhbG9nX2NvbmZpcm1fc2V0X2NvbmZp
cm1lZChkaWFsb2csIEZBTFNFKTsKKyAgICB3ZWJraXRfc2NyaXB0X2RpYWxvZ191bnJlZihkaWFs
b2cpOwogfQogCi12b2lkIHdlYmtpdFNjcmlwdERpYWxvZ1NldFVzZXJJbnB1dChXZWJLaXRTY3Jp
cHREaWFsb2cqLCBjb25zdCBTdHJpbmcmKQordm9pZCB3ZWJraXRTY3JpcHREaWFsb2dTZXRVc2Vy
SW5wdXQoV2ViS2l0U2NyaXB0RGlhbG9nKiBkaWFsb2csIGNvbnN0IFN0cmluZyYgaW5wdXQpCiB7
CisgICAgaWYgKHdlYmtpdF9zY3JpcHRfZGlhbG9nX2dldF9kaWFsb2dfdHlwZShkaWFsb2cpICE9
IFdFQktJVF9TQ1JJUFRfRElBTE9HX1BST01QVCkKKyAgICAgICAgcmV0dXJuOworCisgICAgd2Vi
a2l0X3NjcmlwdF9kaWFsb2dfcHJvbXB0X3NldF90ZXh0KGRpYWxvZywgaW5wdXQudXRmOCgpLmRh
dGEoKSk7Cit9CisKK2Jvb2wgd2Via2l0U2NyaXB0RGlhbG9nSXNVc2VySGFuZGxlZChXZWJLaXRT
Y3JpcHREaWFsb2cqIGRpYWxvZykKK3sKKyAgICByZXR1cm4gZGlhbG9nLT5pc1VzZXJIYW5kbGVk
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRX
ZWJWaWV3V1BFLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0V2Vi
Vmlld1dQRS5jcHAKaW5kZXggOWU1Y2U1YzM4OTZmODA5N2JiNjVjYzMxZjNkOTJkYjAxMDRhNjAz
Yi4uNTk2MzY2ODU1YmYzNWVlNTQxMDFjNjBkZTVkNWEzOTU2NzEwYjBjMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRXZWJWaWV3V1BFLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFdlYlZpZXdXUEUuY3BwCkBA
IC0yMSwxNSArMjEsMjIgQEAKICNpbmNsdWRlICJXZWJLaXRXZWJWaWV3LmgiCiAKICNpbmNsdWRl
ICJXZWJLaXRDb2xvclByaXZhdGUuaCIKKyNpbmNsdWRlICJXZWJLaXRTY3JpcHREaWFsb2dQcml2
YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0V2ViVmlld1ByaXZhdGUuaCIKIAorCiBnYm9vbGVhbiB3
ZWJraXRXZWJWaWV3QXV0aGVudGljYXRlKFdlYktpdFdlYlZpZXcqLCBXZWJLaXRBdXRoZW50aWNh
dGlvblJlcXVlc3QqKQogewogICAgIHJldHVybiBGQUxTRTsKIH0KIAotZ2Jvb2xlYW4gd2Via2l0
V2ViVmlld1NjcmlwdERpYWxvZyhXZWJLaXRXZWJWaWV3KiwgV2ViS2l0U2NyaXB0RGlhbG9nKikK
K2dib29sZWFuIHdlYmtpdFdlYlZpZXdTY3JpcHREaWFsb2coV2ViS2l0V2ViVmlldyogd2Vidmll
dywgV2ViS2l0U2NyaXB0RGlhbG9nKiBkaWFsb2cpCiB7CisgICAgaWYgKHdlYmtpdF93ZWJfdmll
d19pc19jb250cm9sbGVkX2J5X2F1dG9tYXRpb24od2VidmlldykpIHsKKyAgICAgICAgd2Via2l0
X3NjcmlwdF9kaWFsb2dfcmVmKGRpYWxvZyk7CisgICAgICAgIGRpYWxvZy0+aXNVc2VySGFuZGxl
ZCA9IGZhbHNlOworICAgIH0KKwogICAgIHJldHVybiBGQUxTRTsKIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>