<?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>137297</bug_id>
          <alias>carlsmith</alias>
          <creation_ts>2014-10-01 03:46:40 -0700</creation_ts>
          <short_desc>Allowing eval&apos;ed code to be named in stack traces</short_desc>
          <delta_ts>2023-06-21 08:45:41 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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="Carl Smith">carl.input</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>einbinder</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fpizlo</cc>
    
    <cc>hi</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>rasmus</cc>
    
    <cc>saam</cc>
    
    <cc>sam.verschueren</cc>
    
    <cc>tzagallo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1038514</commentid>
    <comment_count>0</comment_count>
    <who name="Carl Smith">carl.input</who>
    <bug_when>2014-10-01 03:46:40 -0700</bug_when>
    <thetext>Following a discussion on es-discuss [http://esdiscuss.org/topic/maximally-minimal-stack-trace-standardization], Filip Pizlo asked me to bring this here. That discussion is about improving stack traces generally long term, but this ticket is to do with some specifics that can be dealt with sooner.

In applications that allow the user to enter and execute code ~ shells, interactive educational environments, scriptable applications ~ the app needs certain information on errors to provide tracebacks to the user, basically where the error occurred, which amounts to the filename, the line number and the column number for each call on the stack.

Because these applications use `eval` to execute the users&apos; inputs, often repeatedly, there needs to be a way to name the eval&apos;ed code strings, else they are not distinct in the traceback, and any line and column numbers are then useless.

V8 now allows applications to use the source URL directive `// #sourceURL=&lt;filename&gt;` in eval&apos;ed code strings, and will use the given name in tracebacks [instead of eval, eval, eval...].

For an example of how this is useful, in a shell I work on, each user input gets internally given an incremented name like input1.js, and the input string and any meta is stashed for later. If any of the user&apos;s inputs end up in a stack trace [not uncommon] the app can grab the information about the original input from the stash using the &apos;filename&apos;. This allows for source maps too, so you can have languages like CoffeeScript mixed into the stack trace and still produce a consistent traceback, with the original source code, and line and column numbers mapped correctly. It works really nicely, but only in Chrome/Opera.

Different engines currently vary in what they do regarding line and column numbers too. V8 does line and column numbers on runtime errors, but not syntax/compilation errors, though I&apos;m told that&apos;s now fixed, but not stable yet. Gecko does line and column numbers for both kinds of error, but doesn&apos;t expose the source URL in tracebacks provided to apps. A couple of Moz guys seem at least open to following Chrome on that now, and making it a de-facto standard.

TL;DR: All errors should pass `window.onerror` an `error` object with a `stack` that includes a filename ~ either the actual filename or a given filename if it&apos;s provided as a source URL and the item is eval&apos;ed code ~ and the line and column numbers, for each item in the stack.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1325300</commentid>
    <comment_count>1</comment_count>
    <who name="Rasmus Porsager">rasmus</who>
    <bug_when>2017-07-03 15:54:22 -0700</bug_when>
    <thetext>Would love to know if this is something that could get priority soon? Also if I&apos;d want to get started contributing to webkit implementing a thing like this, where would you recommend that I start looking?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1325356</commentid>
    <comment_count>2</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-07-03 18:30:46 -0700</bug_when>
    <thetext>(In reply to Rasmus Porsager from comment #1)
&gt; Would love to know if this is something that could get priority soon? Also
&gt; if I&apos;d want to get started contributing to webkit implementing a thing like
&gt; this, where would you recommend that I start looking?

Is this implemented in other browsers? If so, what does the JS syntax look like?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1325388</commentid>
    <comment_count>3</comment_count>
      <attachid>314554</attachid>
    <who name="Rasmus Porsager">rasmus</who>
    <bug_when>2017-07-03 23:27:19 -0700</bug_when>
    <thetext>Created attachment 314554
A short example to show stack traces using sourceURL</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1325389</commentid>
    <comment_count>4</comment_count>
    <who name="Rasmus Porsager">rasmus</who>
    <bug_when>2017-07-03 23:27:52 -0700</bug_when>
    <thetext>Yes.

This is implemented in Firefox &amp; Chrome.

You can visit this url or check out attached index.html in each browser to see stack traces that include the sourceURL.
https://porsager.com/shared/sourceurlstack/

Safari doesn&apos;t support //# sourceURL= in script tags either. Would you recommend that I create another bug for that?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1325670</commentid>
    <comment_count>5</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-07-05 11:33:35 -0700</bug_when>
    <thetext>&gt; Safari doesn&apos;t support //# sourceURL= in script tags either. Would you
&gt; recommend that I create another bug for that?

Safari supports sourceURL in &lt;script&gt;, Function, and eval for locations logged to Web Inspector. For example a `console.trace()` or uncaught exception case you will see the source URL location:

Global Code (this is missing sourceURL):

    [Trace] Trace
    	Global Code (test-page.html:25)
    [Error] Error
    	Global Code (test-page.html:26)


Function: (sourceURL shows up for the anonymous function)

    [Trace] Trace
    	anonymous (namedFunction.js:3)
    	Global Code (test-page.html:36:202)
    [Error] Error
    	anonymous (namedFunction.js:4)
    	Global Code (test-page.html:36:194)

eval: (sourceURL shows up for the eval code)

    [Trace] Trace
    	Eval Code (namedEval.js:2)
    	eval
    	Global Code (test-page.html:39)
    [Error] Error
    	Eval Code (namedEval.js:3)
    	eval
    	Global Code (test-page.html:39)

JavaScriptCore just doesn&apos;t use those locations by default in its Error.stack reporting.

It looks like that comes from Interpreter::stackTraceAsString which ultimately gets the ScriptExecutable&apos;s sourceURL which is the SourceProvider&apos;s url, not the SourceProvider&apos;s sourceURL. I think it would be reasonable to use the best name available in all error stacks.

So there are two issues here:

    1. sourceURL directive should show up in Error.stack.
    2. sourceURL directive in &lt;script&gt; global code wasn&apos;t displayed properly in Web Inspector.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1698575</commentid>
    <comment_count>6</comment_count>
      <attachid>411571</attachid>
    <who name="Joel Einbinder">einbinder</who>
    <bug_when>2020-10-16 07:08:46 -0700</bug_when>
    <thetext>Created attachment 411571
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1698578</commentid>
    <comment_count>7</comment_count>
    <who name="Joel Einbinder">einbinder</who>
    <bug_when>2020-10-16 07:12:22 -0700</bug_when>
    <thetext>I have a patch that fixes this. It uses //# sourceURL comments to annotate error stack traces. As discussed in 2017, this matches the behavior in Firefox and Chromium.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1698678</commentid>
    <comment_count>8</comment_count>
      <attachid>411597</attachid>
    <who name="Joel Einbinder">einbinder</who>
    <bug_when>2020-10-16 11:04:27 -0700</bug_when>
    <thetext>Created attachment 411597
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1698696</commentid>
    <comment_count>9</comment_count>
      <attachid>411597</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-10-16 11:33:18 -0700</bug_when>
    <thetext>Comment on attachment 411597
Patch

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

&gt; Source/JavaScriptCore/runtime/StackFrame.cpp:70
&gt; +    String sourceURLDirective = m_codeBlock-&gt;ownerExecutable()-&gt;source().provider()-&gt;sourceURLDirective();

Are we sure that `provider()` exists?

&gt; LayoutTests/inspector/model/remote-object/error-expected.txt:34
&gt; +        &quot;_name&quot;: &quot;sourceURL&quot;,
&gt; +        &quot;_type&quot;: &quot;string&quot;,
&gt; +        &quot;_value&quot;: &quot;__WebInspectorInternal__&quot;

This slightly concerns me, as it exposes the fact that the evaluation came from Web Inspector.

&gt; LayoutTests/inspector/model/remote-object/error-expected.txt:-117
&gt; -        &quot;_name&quot;: &quot;name&quot;,
&gt; -        &quot;_type&quot;: &quot;string&quot;,
&gt; -        &quot;_value&quot;: &quot;IndexSizeError&quot;

NOTE: I think this disappeared because the preview only shows five properties</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1698703</commentid>
    <comment_count>10</comment_count>
    <who name="Joel Einbinder">einbinder</who>
    <bug_when>2020-10-16 12:06:06 -0700</bug_when>
    <thetext>(In reply to Devin Rousso from comment #9)
&gt; Comment on attachment 411597 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=411597&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/runtime/StackFrame.cpp:70
&gt; &gt; +    String sourceURLDirective = m_codeBlock-&gt;ownerExecutable()-&gt;source().provider()-&gt;sourceURLDirective();
&gt; 
&gt; Are we sure that `provider()` exists?

A few lines later, ownerExecutable()-&gt;sourceURL(), calls provider()-&gt;sourceURL() internally. I can add sourceURLDirective to ScriptExecutable to make it look less sketchy. I guess I was cutting corners in pursuit of a smaller patch.

&gt; &gt; LayoutTests/inspector/model/remote-object/error-expected.txt:34
&gt; &gt; +        &quot;_name&quot;: &quot;sourceURL&quot;,
&gt; &gt; +        &quot;_type&quot;: &quot;string&quot;,
&gt; &gt; +        &quot;_value&quot;: &quot;__WebInspectorInternal__&quot;
&gt; 
&gt; This slightly concerns me, as it exposes the fact that the evaluation came
&gt; from Web Inspector.

I totally agree that it&apos;s concerning. However I think it just makes it more clear what&apos;s going on. The stack trace from the console is already highly detectable. It looks like

global code
evaluateWithScopeExtension@[native code]

_wrapCall

Fixing this requires stripping the stack from the console evaluations. And even then, the lack of a stack could be detected. For comparison Firefox&apos;s stack is

@debugger eval code:1:1

Whereas Chromium&apos;s is

Error
    at &lt;anonymous&gt;:1:1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1962816</commentid>
    <comment_count>11</comment_count>
    <who name="Sam Verschueren">sam.verschueren</who>
    <bug_when>2023-06-21 08:45:41 -0700</bug_when>
    <thetext>Hey everyone! I&apos;m a developer at StackBlitz (https://stackblitz.com) and we&apos;re doing our best to support WebContainers (https://blog.stackblitz.com/posts/introducing-webcontainers/) on all browser engines. Basically allowing you to run Node.js in the browser.

We&apos;re now running into an issue where we need the information out of a stack trace, which comes from eval&apos;d code.

A small example looks like this

```
eval(`
    function bar() {
        console.log(new Error().stack);
    }

    bar();

    //# sourceURL=foo-bar.js
`)
```

The stack trace currently logs the following

```
bar@
eval code@
eval@[native code]
module code@http://localhost:3000/foo.js:1:5
```

While it should be

```
bar@foo-bar.js:3:21
eval code@foo-bar.js:6:5
eval@[native code]
module code@http://localhost:3000/foo.js:1:5
```

In Firefox and Chrome this works perfectly fine. It would be great if this just worked in Safari as well.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>314554</attachid>
            <date>2017-07-03 23:27:19 -0700</date>
            <delta_ts>2017-07-03 23:27:19 -0700</delta_ts>
            <desc>A short example to show stack traces using sourceURL</desc>
            <filename>index.html</filename>
            <type>text/html</type>
            <size>976</size>
            <attacher name="Rasmus Porsager">rasmus</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KICA8dGl0bGU+c291cmNlVVJMIFN0YWNrIHRy
YWNlczwvdGl0bGU+CjwvaGVhZD4KPGJvZHk+CiAgPGgxPlN0YWNrIHRyYWNlcyBmcm9tIHVzaW5n
IHNvdXJjZVVSTDwvaDE+CgogIDxoMj5TdGFjayB0cmFjZSBmcm9tIHNjcmlwdCB0YWc8L2gyPgog
IDxwcmUgaWQ9InRhZ1N0YWNrIj4KCiAgPC9wcmU+CgogIDxoMj5TdGFjayB0cmFjZSBmcm9tIEZ1
bmN0aW9uPC9oMj4KICA8cHJlIGlkPSJmdW5jdGlvblN0YWNrIj4KCiAgPC9wcmU+CgogIDxoMj5T
dGFjayB0cmFjZSBmcm9tIGV2YWw8L2gyPgogIDxwcmUgaWQ9ImV2YWxTdGFjayI+CgogIDwvcHJl
PgogIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBjaGFyc2V0PSJ1dGYtOCI+CiAgICAv
LyBTY3JpcHQgdGFnIHdpdGggc291cmNlVVJMIG5hbWUKICAgIGNvbnN0IGVycm9yID0gbmV3IEVy
cm9yKCcnKQogICAgY29uc29sZS5sb2coZXJyb3Iuc3RhY2spCiAgICB3aW5kb3cudGFnU3RhY2su
aW5uZXJIVE1MID0gZXJyb3Iuc3RhY2sKCiAgICBGdW5jdGlvbihgCiAgICAgIGNvbnN0IGVycm9y
ID0gbmV3IEVycm9yKCcnKQogICAgICBjb25zb2xlLmxvZyhlcnJvci5zdGFjaykKICAgICAgd2lu
ZG93LmZ1bmN0aW9uU3RhY2suaW5uZXJIVE1MID0gZXJyb3Iuc3RhY2sKICAgICAgLy8jIHNvdXJj
ZVVSTD1uYW1lZEZ1bmN0aW9uLmpzCiAgICBgKSgpCgogICAgLy8gRXZhbCB3aXRoIHNvdXJjZVVS
TCBuYW1lCiAgICBldmFsKGAKICAgICAgY29uc3QgZXJyb3IgPSBuZXcgRXJyb3IoJycpCiAgICAg
IGNvbnNvbGUubG9nKGVycm9yLnN0YWNrKQogICAgICB3aW5kb3cuZXZhbFN0YWNrLmlubmVySFRN
TCA9IGVycm9yLnN0YWNrCiAgICAgIC8vIyBzb3VyY2VVUkw9bmFtZWRFdmFsLmpzCiAgICBgKQoK
ICAgIC8vIyBzb3VyY2VVUkw9bmFtZWRTY3JpcHRUYWcuanMKICA8L3NjcmlwdD4KPC9ib2R5Pgo8
L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>411571</attachid>
            <date>2020-10-16 07:08:46 -0700</date>
            <delta_ts>2020-10-16 11:04:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137297-20201016070845.patch</filename>
            <type>text/plain</type>
            <size>3791</size>
            <attacher name="Joel Einbinder">einbinder</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjY4NTg2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDIwLTEwLTE2ICBKb2VsIEVpbmJpbmRlciAgPGVpbmJpbmRlckBjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgVXNlIHNvdXJjZVVSTCBjb21tZW50cyB0byBhbm5vdGF0ZSBFcnJvciBzdGFja3MK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNzI5Nwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcnVudGlt
ZS9TdGFja0ZyYW1lLmNwcDoKKyAgICAgICAgKEpTQzo6U3RhY2tGcmFtZTo6c291cmNlVVJMIGNv
bnN0KToKKwogMjAyMC0xMC0xNSAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KIAog
ICAgICAgICBEb24ndCBhc3NpZ24gYSBib2d1cyByZWdpc3RlciB0byBMb2FkL0ZvcndhcmRWYXJh
cmdzIGluIEF2YWlsYWJpbGl0eUFuYWx5c2lzIGJlZm9yZSBzdGFjayBsYXlvdXQKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0YWNrRnJhbWUuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0YWNrRnJhbWUuY3BwCShyZXZpc2lvbiAy
Njg1ODYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdGFja0ZyYW1lLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNjcsNiArNjcsMTAgQEAgU3RyaW5nIFN0YWNrRnJhbWU6OnNvdXJj
ZVVSTCgpIGNvbnN0CiAgICAgICAgIHJldHVybiAiW25hdGl2ZSBjb2RlXSJfczsKICAgICB9CiAK
KyAgICBTdHJpbmcgc291cmNlVVJMRGlyZWN0aXZlID0gbV9jb2RlQmxvY2stPm93bmVyRXhlY3V0
YWJsZSgpLT5zb3VyY2UoKS5wcm92aWRlcigpLT5zb3VyY2VVUkxEaXJlY3RpdmUoKTsKKyAgICBp
ZiAoIXNvdXJjZVVSTERpcmVjdGl2ZS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBzb3VyY2VV
UkxEaXJlY3RpdmU7CisKICAgICBTdHJpbmcgc291cmNlVVJMID0gbV9jb2RlQmxvY2stPm93bmVy
RXhlY3V0YWJsZSgpLT5zb3VyY2VVUkwoKTsKICAgICBpZiAoIXNvdXJjZVVSTC5pc051bGwoKSkK
ICAgICAgICAgcmV0dXJuIHNvdXJjZVVSTDsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2ODU4NikKKysr
IExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisy
MDIwLTEwLTE2ICBKb2VsIEVpbmJpbmRlciAgPGVpbmJpbmRlckBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgVXNlIHNvdXJjZVVSTCBjb21tZW50cyB0byBhbm5vdGF0ZSBFcnJvciBzdGFja3MKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNzI5NworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICoganMvZXZhbC1z
b3VyY2UtdXJsLWRpcmVjdGl2ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGpzL2V2
YWwtc291cmNlLXVybC1kaXJlY3RpdmUuaHRtbDogQWRkZWQuCisgICAgICAgICoganMvc2NyaXB0
LXRlc3RzL2V2YWwtc291cmNlLXVybC1kaXJlY3RpdmUuanM6IEFkZGVkLgorCiAyMDIwLTEwLTE2
ICBEaWVnbyBQaW5vIEdhcmNpYSAgPGRwaW5vQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dMSUJd
IFVucmV2aWV3ZWQgdGVzdCBnYXJkZW5pbmcuIFVwZGF0ZSB0ZXN0IGV4cGVjdGF0aW9ucyBhZnRl
ciByMjY4NTc1LgpJbmRleDogTGF5b3V0VGVzdHMvanMvZXZhbC1zb3VyY2UtdXJsLWRpcmVjdGl2
ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvanMvZXZhbC1zb3VyY2Ut
dXJsLWRpcmVjdGl2ZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
anMvZXZhbC1zb3VyY2UtdXJsLWRpcmVjdGl2ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwxMSBAQAorVGhpcyB0ZXN0IGNhc2UgY2hlY2tzIHRoYXQgYSBzb3VyY2VVUkwg
ZGlyZWN0aXZlIGNhbiBiZSB1c2VkIGluc2lkZSBhbiBldmFsLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworUEFTUyBzb3VyY2VVUkwgaXMgImZvby5qcyIKK1BBU1Mgc3RhY2suaW5j
bHVkZXMoImZvby5qcyIpIGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9qcy9ldmFsLXNvdXJjZS11cmwt
ZGlyZWN0aXZlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvanMvZXZhbC1zb3VyY2Ut
dXJsLWRpcmVjdGl2ZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2pzL2V2YWwt
c291cmNlLXVybC1kaXJlY3RpdmUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvZXZhbC1zb3Vy
Y2UtdXJsLWRpcmVjdGl2ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvZXZhbC1zb3VyY2UtdXJsLWRpcmVjdGl2ZS5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvZXZhbC1zb3VyY2UtdXJsLWRp
cmVjdGl2ZS5qcwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMv
ZXZhbC1zb3VyY2UtdXJsLWRpcmVjdGl2ZS5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDcg
QEAKK2Rlc2NyaXB0aW9uKAorIlRoaXMgdGVzdCBjYXNlIGNoZWNrcyB0aGF0IGEgc291cmNlVVJM
IGRpcmVjdGl2ZSBjYW4gYmUgdXNlZCBpbnNpZGUgYW4gZXZhbC4iCispOwordmFyIHNvdXJjZVVS
TCA9IGV2YWwoJy8vIyBzb3VyY2VVUkw9Zm9vLmpzXG5uZXcgRXJyb3IoKS5zb3VyY2VVUkw7Jyk7
CitzaG91bGRCZSgnc291cmNlVVJMJywgJyJmb28uanMiJyk7Cit2YXIgc3RhY2sgPSBldmFsKCcv
LyMgc291cmNlVVJMPWZvby5qc1xubmV3IEVycm9yKCkuc3RhY2s7Jyk7CitzaG91bGRCZVRydWUo
J3N0YWNrLmluY2x1ZGVzKCJmb28uanMiKScpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>411597</attachid>
            <date>2020-10-16 11:04:27 -0700</date>
            <delta_ts>2020-10-16 11:04:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137297-20201016110426.patch</filename>
            <type>text/plain</type>
            <size>6917</size>
            <attacher name="Joel Einbinder">einbinder</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjY4NTk4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDIwLTEwLTE2ICBKb2VsIEVpbmJpbmRlciAgPGVpbmJpbmRlckBjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgVXNlIHNvdXJjZVVSTCBjb21tZW50cyB0byBhbm5vdGF0ZSBFcnJvciBzdGFja3MK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNzI5Nwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcnVudGlt
ZS9TdGFja0ZyYW1lLmNwcDoKKyAgICAgICAgKEpTQzo6U3RhY2tGcmFtZTo6c291cmNlVVJMIGNv
bnN0KToKKwogMjAyMC0xMC0xNiAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KIAog
ICAgICAgICBEb24ndCBlbWl0IE9wU3ByZWFkIHdpdGggYSBjb25zdGFudCBhcyB0aGUgZGVzdGlu
YXRpb24KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0YWNrRnJhbWUuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0YWNrRnJhbWUu
Y3BwCShyZXZpc2lvbiAyNjg1ODYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
dGFja0ZyYW1lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjcsNiArNjcsMTAgQEAgU3RyaW5nIFN0
YWNrRnJhbWU6OnNvdXJjZVVSTCgpIGNvbnN0CiAgICAgICAgIHJldHVybiAiW25hdGl2ZSBjb2Rl
XSJfczsKICAgICB9CiAKKyAgICBTdHJpbmcgc291cmNlVVJMRGlyZWN0aXZlID0gbV9jb2RlQmxv
Y2stPm93bmVyRXhlY3V0YWJsZSgpLT5zb3VyY2UoKS5wcm92aWRlcigpLT5zb3VyY2VVUkxEaXJl
Y3RpdmUoKTsKKyAgICBpZiAoIXNvdXJjZVVSTERpcmVjdGl2ZS5pc0VtcHR5KCkpCisgICAgICAg
IHJldHVybiBzb3VyY2VVUkxEaXJlY3RpdmU7CisKICAgICBTdHJpbmcgc291cmNlVVJMID0gbV9j
b2RlQmxvY2stPm93bmVyRXhlY3V0YWJsZSgpLT5zb3VyY2VVUkwoKTsKICAgICBpZiAoIXNvdXJj
ZVVSTC5pc051bGwoKSkKICAgICAgICAgcmV0dXJuIHNvdXJjZVVSTDsKSW5kZXg6IExheW91dFRl
c3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlz
aW9uIDI2ODU4NikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDE2IEBACisyMDIwLTEwLTE2ICBKb2VsIEVpbmJpbmRlciAgPGVpbmJpbmRlckBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgVXNlIHNvdXJjZVVSTCBjb21tZW50cyB0byBhbm5vdGF0ZSBF
cnJvciBzdGFja3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEzNzI5NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogaW5zcGVjdG9yL2NvbnNvbGUvbWVzc2FnZUFkZGVkLWZyb20tbmFtZWQtZXZhbHVhdGlv
bnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGluc3BlY3Rvci9tb2RlbC9yZW1vdGUtb2JqZWN0
L2Vycm9yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBqcy9ldmFsLXNvdXJjZS11cmwtZGlyZWN0
aXZlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICoganMvZXZhbC1zb3VyY2UtdXJsLWRp
cmVjdGl2ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBqcy9zY3JpcHQtdGVzdHMvZXZhbC1zb3Vy
Y2UtdXJsLWRpcmVjdGl2ZS5qczogQWRkZWQuCisKIDIwMjAtMTAtMTYgIERpZWdvIFBpbm8gR2Fy
Y2lhICA8ZHBpbm9AaWdhbGlhLmNvbT4KIAogICAgICAgICBbR0xJQl0gVW5yZXZpZXdlZCB0ZXN0
IGdhcmRlbmluZy4gVXBkYXRlIHRlc3QgZXhwZWN0YXRpb25zIGFmdGVyIHIyNjg1NzUuCkluZGV4
OiBMYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9tZXNzYWdlQWRkZWQtZnJvbS1uYW1lZC1l
dmFsdWF0aW9ucy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2NvbnNvbGUvbWVzc2FnZUFkZGVkLWZyb20tbmFtZWQtZXZhbHVhdGlvbnMtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAyNjg1ODYpCisrKyBMYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9t
ZXNzYWdlQWRkZWQtZnJvbS1uYW1lZC1ldmFsdWF0aW9ucy1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTgsNiArOCw2IEBAIENvbnNvbGUgbWVzc2FnZXMgaW4gbmFtZWQgZXZhbHVhdGlv
bnMgc2gKIFBBU1M6IExvZyBDb25zb2xlTWVzc2FnZSB0b3AgY2FsbCBmcmFtZSBzaG91bGQgaGF2
ZSBzb3VyY2VVUkwgbmFtZS4KIAogLS0gUnVubmluZyB0ZXN0IGNhc2U6IFRyaWdnZXJFeGNlcHRp
b25Gcm9tTmFtZUZ1bmN0aW9uQ29uc3RydWN0b3JFdmFsdWF0aW9uCi1VbmNhdWdodCBleGNlcHRp
b24gaW4gdGVzdCBwYWdlOiBUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChl
dmFsdWF0aW5nICcoe30pLngueCcpIFt1bmRlZmluZWQ6M10KK1VuY2F1Z2h0IGV4Y2VwdGlvbiBp
biB0ZXN0IHBhZ2U6IFR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1
YXRpbmcgJyh7fSkueC54JykgW25hbWVkLWZ1bmN0aW9uLWNvbnN0cnVjdG9yLmpzOjNdCiBQQVNT
OiBFeGNlcHRpb24gQ29uc29sZU1lc3NhZ2UgdG9wIGNhbGwgZnJhbWUgc2hvdWxkIGhhdmUgc291
cmNlVVJMIG5hbWUuCiAKSW5kZXg6IExheW91dFRlc3RzL2luc3BlY3Rvci9tb2RlbC9yZW1vdGUt
b2JqZWN0L2Vycm9yLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvbW9kZWwvcmVtb3RlLW9iamVjdC9lcnJvci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI2
ODU4NikKKysrIExheW91dFRlc3RzL2luc3BlY3Rvci9tb2RlbC9yZW1vdGUtb2JqZWN0L2Vycm9y
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMjksOSArMjksMTQgQEAgRVhQUkVTU0lP
TjogZXJyb3IgPSBudWxsOyB0cnkgeyBbXS54Lng7CiAgICAgICAgICJfdmFsdWUiOiAiMjUiCiAg
ICAgICB9LAogICAgICAgeworICAgICAgICAiX25hbWUiOiAic291cmNlVVJMIiwKKyAgICAgICAg
Il90eXBlIjogInN0cmluZyIsCisgICAgICAgICJfdmFsdWUiOiAiX19XZWJJbnNwZWN0b3JJbnRl
cm5hbF9fIgorICAgICAgfSwKKyAgICAgIHsKICAgICAgICAgIl9uYW1lIjogInN0YWNrIiwKICAg
ICAgICAgIl90eXBlIjogInN0cmluZyIsCi0gICAgICAgICJfdmFsdWUiOiAiZ2xvYmFsIGNvZGVc
bmV2YWx1YXRlV2l0aFNjb3BlRXh0ZW5zaW9uQFtuYXRpdmUgY29kZV1cblxuX3dyYXBDYWxsIgor
ICAgICAgICAiX3ZhbHVlIjogImdsb2JhbCBjb2RlQF9fV2ViSW5zcGVjdG9ySW50ZXJuYWxfXzoz
OjI1XG5ldmFsdWF0ZeKApmxAX19JbmplY3RlZFNjcmlwdF9JbmplY3RlZFNjcmlwdFNvdXJjZS5q
czoxNDM6OTYiCiAgICAgICB9CiAgICAgXSwKICAgICAiX2VudHJpZXMiOiBudWxsCkBAIC02OCw5
ICs3MywxNCBAQCBFWFBSRVNTSU9OOiBlcnJvciA9IG51bGw7IHRyeSB7IGV2YWwoImlmCiAgICAg
ICAgICJfdmFsdWUiOiAiMjUiCiAgICAgICB9LAogICAgICAgeworICAgICAgICAiX25hbWUiOiAi
c291cmNlVVJMIiwKKyAgICAgICAgIl90eXBlIjogInN0cmluZyIsCisgICAgICAgICJfdmFsdWUi
OiAiX19XZWJJbnNwZWN0b3JJbnRlcm5hbF9fIgorICAgICAgfSwKKyAgICAgIHsKICAgICAgICAg
Il9uYW1lIjogInN0YWNrIiwKICAgICAgICAgIl90eXBlIjogInN0cmluZyIsCi0gICAgICAgICJf
dmFsdWUiOiAiZXZhbEBbbmF0aXZlIGNvZGVdXG5nbG9iYWwgY29kZVxuZXZhbHVhdGVXaXRoU2Nv
cGVFeHRlbnNpb25AW25hdGl2ZSBjb2RlXVxuXG5fd3JhcENhbGwiCisgICAgICAgICJfdmFsdWUi
OiAiZXZhbEBbbmF0aXZlIGNvZGVdXG5nbG9iYWwgY29kZUBfX1dlYkluc3BlY3RvckludGVy4oCm
bEBfX0luamVjdGVkU2NyaXB0X0luamVjdGVkU2NyaXB0U291cmNlLmpzOjE0Mzo5NiIKICAgICAg
IH0KICAgICBdLAogICAgICJfZW50cmllcyI6IG51bGwKQEAgLTEwMiwxOSArMTEyLDE5IEBAIEVY
UFJFU1NJT046IGVycm9yID0gbnVsbDsgdHJ5IHsgZG9jdW1lbnQKICAgICAgICAgIl92YWx1ZSI6
ICI1OCIKICAgICAgIH0sCiAgICAgICB7CisgICAgICAgICJfbmFtZSI6ICJzb3VyY2VVUkwiLAor
ICAgICAgICAiX3R5cGUiOiAic3RyaW5nIiwKKyAgICAgICAgIl92YWx1ZSI6ICJfX1dlYkluc3Bl
Y3RvckludGVybmFsX18iCisgICAgICB9LAorICAgICAgewogICAgICAgICAiX25hbWUiOiAic3Rh
Y2siLAogICAgICAgICAiX3R5cGUiOiAic3RyaW5nIiwKLSAgICAgICAgIl92YWx1ZSI6ICJzcGxp
dFRleHRAW25hdGl2ZSBjb2RlXVxuZ2xvYmFsIGNvZGVcbmV2YWx1YXRlV2l0aFNjb3BlRXh0ZW5z
aW9uQFtuYXRpdmUgY29kZV1cblxuX3dyYXBDYWxsIgorICAgICAgICAiX3ZhbHVlIjogInNwbGl0
VGV4dEBbbmF0aXZlIGNvZGVdXG5nbG9iYWwgY29kZUBfX1dlYkluc3BlY3RvcuKApmxAX19Jbmpl
Y3RlZFNjcmlwdF9JbmplY3RlZFNjcmlwdFNvdXJjZS5qczoxNDM6OTYiCiAgICAgICB9LAogICAg
ICAgewogICAgICAgICAiX25hbWUiOiAiY29kZSIsCiAgICAgICAgICJfdHlwZSI6ICJudW1iZXIi
LAogICAgICAgICAiX3ZhbHVlIjogIjEiCi0gICAgICB9LAotICAgICAgewotICAgICAgICAiX25h
bWUiOiAibmFtZSIsCi0gICAgICAgICJfdHlwZSI6ICJzdHJpbmciLAotICAgICAgICAiX3ZhbHVl
IjogIkluZGV4U2l6ZUVycm9yIgogICAgICAgfQogICAgIF0sCiAgICAgIl9lbnRyaWVzIjogbnVs
bApJbmRleDogTGF5b3V0VGVzdHMvanMvZXZhbC1zb3VyY2UtdXJsLWRpcmVjdGl2ZS1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvanMvZXZhbC1zb3VyY2UtdXJsLWRpcmVj
dGl2ZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvanMvZXZhbC1z
b3VyY2UtdXJsLWRpcmVjdGl2ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwxMSBAQAorVGhpcyB0ZXN0IGNhc2UgY2hlY2tzIHRoYXQgYSBzb3VyY2VVUkwgZGlyZWN0aXZl
IGNhbiBiZSB1c2VkIGluc2lkZSBhbiBldmFsLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKKworUEFTUyBzb3VyY2VVUkwgaXMgImZvby5qcyIKK1BBU1Mgc3RhY2suaW5jbHVkZXMoImZv
by5qcyIpIGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9qcy9ldmFsLXNvdXJjZS11cmwtZGlyZWN0aXZl
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvanMvZXZhbC1zb3VyY2UtdXJsLWRpcmVj
dGl2ZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2pzL2V2YWwtc291cmNlLXVy
bC1kaXJlY3RpdmUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvZXZhbC1zb3VyY2UtdXJsLWRp
cmVjdGl2ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9q
cy9zY3JpcHQtdGVzdHMvZXZhbC1zb3VyY2UtdXJsLWRpcmVjdGl2ZS5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvZXZhbC1zb3VyY2UtdXJsLWRpcmVjdGl2ZS5q
cwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvZXZhbC1zb3Vy
Y2UtdXJsLWRpcmVjdGl2ZS5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDcgQEAKK2Rlc2Ny
aXB0aW9uKAorIlRoaXMgdGVzdCBjYXNlIGNoZWNrcyB0aGF0IGEgc291cmNlVVJMIGRpcmVjdGl2
ZSBjYW4gYmUgdXNlZCBpbnNpZGUgYW4gZXZhbC4iCispOwordmFyIHNvdXJjZVVSTCA9IGV2YWwo
Jy8vIyBzb3VyY2VVUkw9Zm9vLmpzXG5uZXcgRXJyb3IoKS5zb3VyY2VVUkw7Jyk7CitzaG91bGRC
ZSgnc291cmNlVVJMJywgJyJmb28uanMiJyk7Cit2YXIgc3RhY2sgPSBldmFsKCcvLyMgc291cmNl
VVJMPWZvby5qc1xubmV3IEVycm9yKCkuc3RhY2s7Jyk7CitzaG91bGRCZVRydWUoJ3N0YWNrLmlu
Y2x1ZGVzKCJmb28uanMiKScpOwo=
</data>
<flag name="review"
          id="427851"
          type_id="1"
          status="?"
          setter="einbinder"
    />
          </attachment>
      

    </bug>

</bugzilla>