<?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>53644</bug_id>
          
          <creation_ts>2011-02-02 16:58:46 -0800</creation_ts>
          <short_desc>[GTK] editing/deleting/5408255.html results are incorrect</short_desc>
          <delta_ts>2012-01-23 20:24:01 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>57679</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Martin Robinson">mrobinson</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>ojan</cc>
    
    <cc>pnormand</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>344424</commentid>
    <comment_count>0</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-02-02 16:58:46 -0800</bug_when>
    <thetext>This test produces incorrect results. The test text says that the box should be empty, but it still contains the list after it has run. This can be observed by looking at the test dump and pixel output.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377914</commentid>
    <comment_count>1</comment_count>
      <attachid>87881</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2011-04-01 10:54:07 -0700</bug_when>
    <thetext>Created attachment 87881
Actual result in r82691

Running this test in a release 64-bit build generates attached result. The result seems right - the list is removed with no errors popping out (as they seemed to, based on the current generated results).

I think the text and pixel results should be reset and this test unskipped.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377993</commentid>
    <comment_count>2</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-04-01 12:50:57 -0700</bug_when>
    <thetext>Committed r82708: &lt;http://trac.webkit.org/changeset/82708&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377994</commentid>
    <comment_count>3</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-04-01 12:52:43 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Running this test in a release 64-bit build generates attached result. The result seems right - the list is removed with no errors popping out (as they seemed to, based on the current generated results).

It definitely appears to be passing now. I&apos;ve added results and unskipped the test. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378196</commentid>
    <comment_count>4</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-04-01 16:33:19 -0700</bug_when>
    <thetext>Reverted r82708 for reason:

This tests fails consistently when run along with other tests

Committed r82743: &lt;http://trac.webkit.org/changeset/82743&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378198</commentid>
    <comment_count>5</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-04-01 16:35:14 -0700</bug_when>
    <thetext>It appears this test fails when run along with the other tests. Can you confirm this Zan?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378363</commentid>
    <comment_count>6</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2011-04-02 00:27:32 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; It appears this test fails when run along with the other tests. Can you confirm this Zan?

I can confirm, this test fails in debug build.

Comparing the test between the release and debug builds (in GtkLauncher), the delete button does not seem to appear in debug build, therefor there&apos;s no way of deleting the list and the failure occurs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378369</commentid>
    <comment_count>7</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2011-04-02 00:54:03 -0700</bug_when>
    <thetext>Looking a bit into it, a deletion UI is started being created in DeleteButtonController::createDeletionUI[1] but then stops because platform resource (deleteButton) is not properly loaded so the function returns[2]. I&apos;ll see why that occurs and try to fix it.


[1] http://trac.webkit.org/browser/trunk/Source/WebCore/editing/DeleteButtonController.cpp#L187
[2] http://trac.webkit.org/browser/trunk/Source/WebCore/editing/DeleteButtonController.cpp#L245</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378389</commentid>
    <comment_count>8</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2011-04-02 06:48:55 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Looking a bit into it, a deletion UI is started being created in DeleteButtonController::createDeletionUI[1] but then stops because platform resource (deleteButton) is not properly loaded so the function returns[2]. I&apos;ll see why that occurs and try to fix it.
&gt; 

Here&apos;s why test didn&apos;t pass with a debug build - as said, the platform resource, in this case &apos;deleteButton.png&apos;, did not properly load because platform resources in Gtk port are loaded from DATA_DIR, but I didn&apos;t install the debug build so DATA_DIR didn&apos;t actually exist.

On the other hand, I did install the release build (with a non-default prefix, so the debug build couldn&apos;t load the resources despite being configured with a default prefix), so the test did pass in this case.

The solution to passing this test would be to make the platform resources available in correct spots on the buildbots.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378408</commentid>
    <comment_count>9</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-04-02 11:50:39 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; The solution to passing this test would be to make the platform resources available in correct spots on the buildbots.

It would be nice if the code was smart enough to find the resources in the build or source directory if they are not found in the installation directory.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519262</commentid>
    <comment_count>10</comment_count>
      <attachid>118807</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2011-12-12 09:10:19 -0800</bug_when>
    <thetext>Created attachment 118807
Patch

Set an environment variable that points to resources in source checkout when testing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519315</commentid>
    <comment_count>11</comment_count>
      <attachid>118807</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-12-12 10:28:44 -0800</bug_when>
    <thetext>Comment on attachment 118807
Patch

Thanks for looking into this!

Instead of adding another environment variable, could you look for the resources relative to the executable path? This is nice because many times we want to run DumpRenderTree outside the harness (for attaching gdb, etc).

Another approach is to find the resources relative to WEBKIT_TOP_LEVEL and we can make sure that the harness defines WEBKIT_TOP_LEVEL if it isn&apos;t in the environment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520813</commentid>
    <comment_count>12</comment_count>
      <attachid>118807</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2011-12-14 02:41:33 -0800</bug_when>
    <thetext>Comment on attachment 118807
Patch

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

&gt; Source/WebCore/platform/graphics/gtk/ImageGtk.cpp:78
&gt;  static const char* getWebKitDataDirectory()

I think it would make sense to return a smart pointer here now.

&gt; Source/WebCore/platform/graphics/gtk/ImageGtk.cpp:151
&gt; +        GOwnPtr&lt;gchar&gt; glibFileName(g_build_filename(getWebKitDataDirectory(), imageName.get(), NULL));

I think this introduces a leak of the string returned by getWebKitDataDirectory().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>526898</commentid>
    <comment_count>13</comment_count>
      <attachid>120476</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2011-12-23 13:00:12 -0800</bug_when>
    <thetext>Created attachment 120476
WIP Patch

This is just a WIP patch on which I&apos;d like some comments.

I&apos;ve introduced a new macro, TOP_LEVEL_DIR, in Tools/GNUmakefile.am. It is later used in DumpRenderTree.cpp as a return value when calling getTopLevelPath. Also in that function, if environment variable WEBKIT_TOP_LEVEL is not set, it is set to the value of the TOP_LEVEL_DIR macro.

This nullifies the need of setting the WEBKIT_TOP_LEVEL variable in testing environment, so this is not done anymore in the GtkPort in webkitpy.

In ImageGtk.cpp, resource is loaded from the checkout tree if WEBKIT_TOP_LEVEL is set (now only if DumpRenderTree is run) or from DATA_DIR otherwise. Smart pointer is not used at this moment as I believe there&apos;s no need for it based on the path acquiring that is used in this patch.

This patch leaves the resource loading on Windows platform pretty broken. I&apos;m not able to test the changes for this platform, so the best I can do is a blind guess at how things should be handled.

I&apos;d like to hear some comments on this patch and especially the Windows issue, and because this patch is more of a WIP/RFC, I&apos;m not setting any flags on this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534998</commentid>
    <comment_count>14</comment_count>
      <attachid>120476</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-01-12 11:24:14 -0800</bug_when>
    <thetext>Comment on attachment 120476
WIP Patch

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

Okay. This seems like a nice fix. r- here because it should be possible to get something close-to-right on Windows without building and because this breaks WebKitTestRunner. Let me know if you need tips for testing WKTR.

&gt; Source/WebCore/platform/graphics/gtk/ImageGtk.cpp:51
&gt; +static const char* getDataPathForResource()

You need to fix this up a bit. The signature should be: static char* getDataPathForResource(const char* resource). Later on you should use the resource name to find the image.

&gt; Source/WebCore/platform/graphics/gtk/ImageGtk.cpp:78
&gt; +static char* getDataPathForResource(char* resource)

You should probably rename this to something like getPathToImage now. The argument should be a const char*.

&gt; Tools/GNUmakefile.am:76
&gt; +	-DTOP_LEVEL_DIR=\&quot;${shell pwd}/${srcdir}\&quot; \

You need to do something similar for WebKitTestRunner too if you are going to no longer set this environment variable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>540701</commentid>
    <comment_count>15</comment_count>
      <attachid>123588</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-01-23 11:38:21 -0800</bug_when>
    <thetext>Created attachment 123588
Patch

Modifies the Windows code as well as possible and also defines the macro in WKTR&apos;s injected bundle. Note that this test still doesn&apos;t pass in WebKitTestRunner as currently deletion UI is not shown in WebKit2 - http://trac.webkit.org/browser/trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.cpp#L68</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>540712</commentid>
    <comment_count>16</comment_count>
      <attachid>123588</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-01-23 11:45:43 -0800</bug_when>
    <thetext>Comment on attachment 123588
Patch

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

Looks nice, but I have a small concern about the Windows stuff.

&gt; Source/WebCore/platform/graphics/gtk/ImageGtk.cpp:74
&gt; +        strcat(dataDirectory, &quot;\\share\\webkitgtk-&quot;WEBKITGTK_API_VERSION_STRING&quot;\\images\\&quot;);
&gt;      }
&gt; -    strcat(dataDirectory, &quot;\\share&quot;);
&gt;  
&gt; -    return dataDirectory;
&gt; +    char* imageResourcePath = new char[PATH_MAX];
&gt; +    strcat(imageResourcePath, dataDirectory);
&gt; +    strcat(imageResourcePath, resource);

Doesn&apos;t this change the behavior a bit here? Before it would look for $moduleDirectory\share\image.png and now it&apos;s looking for $moduleDirectory\share\webkitgtk-3.0\images\image.png? In this case $moduleDirectory is the location of the DLL file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>540737</commentid>
    <comment_count>17</comment_count>
      <attachid>123588</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-01-23 12:16:10 -0800</bug_when>
    <thetext>Comment on attachment 123588
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/gtk/ImageGtk.cpp:74
&gt;&gt; +    strcat(imageResourcePath, resource);
&gt; 
&gt; Doesn&apos;t this change the behavior a bit here? Before it would look for $moduleDirectory\share\image.png and now it&apos;s looking for $moduleDirectory\share\webkitgtk-3.0\images\image.png? In this case $moduleDirectory is the location of the DLL file.

Previously, the getWebKitDataDirectory function would just return the data directory, being either $moduleDirectory\share or DATA_DIR. This path would then be used in Image::loadPlatformResource, which would, in the old way, build a filename, starting with the data directory and appending the &quot;webkitgtk-&quot;WEBKITGTK_API_VERSION_STRING, &quot;images&quot; and finally the image name (whatever the OS).

Now, getPathToImageResource is responsible to deliver the complete path to the required image resource, so on Windows we must further append the required path parts to get the complete and proper path.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>540983</commentid>
    <comment_count>18</comment_count>
      <attachid>123588</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-01-23 16:52:12 -0800</bug_when>
    <thetext>Comment on attachment 123588
Patch

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

Thanks for fixing this!

&gt;&gt;&gt; Source/WebCore/platform/graphics/gtk/ImageGtk.cpp:74
&gt;&gt;&gt; +    strcat(imageResourcePath, resource);
&gt;&gt; 
&gt;&gt; Doesn&apos;t this change the behavior a bit here? Before it would look for $moduleDirectory\share\image.png and now it&apos;s looking for $moduleDirectory\share\webkitgtk-3.0\images\image.png? In this case $moduleDirectory is the location of the DLL file.
&gt; 
&gt; Previously, the getWebKitDataDirectory function would just return the data directory, being either $moduleDirectory\share or DATA_DIR. This path would then be used in Image::loadPlatformResource, which would, in the old way, build a filename, starting with the data directory and appending the &quot;webkitgtk-&quot;WEBKITGTK_API_VERSION_STRING, &quot;images&quot; and finally the image name (whatever the OS).
&gt; 
&gt; Now, getPathToImageResource is responsible to deliver the complete path to the required image resource, so on Windows we must further append the required path parts to get the complete and proper path.

Indeed you&apos;re right!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541097</commentid>
    <comment_count>19</comment_count>
      <attachid>123588</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-23 20:23:55 -0800</bug_when>
    <thetext>Comment on attachment 123588
Patch

Clearing flags on attachment: 123588

Committed r105686: &lt;http://trac.webkit.org/changeset/105686&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541098</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-23 20:24:01 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>87881</attachid>
            <date>2011-04-01 10:54:07 -0700</date>
            <delta_ts>2011-04-01 10:54:07 -0700</delta_ts>
            <desc>Actual result in r82691</desc>
            <filename>5408255-actual.txt</filename>
            <type>text/plain</type>
            <size>714</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">QUxFUlQ6IDIyCkFMRVJUOiA5NApsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICBSZW5kZXJW
aWV3IGF0ICgwLDApIHNpemUgODAweDYwMApsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICBS
ZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICBSZW5kZXJCb2R5IHtC
T0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDAp
IHNpemUgNzg0eDM4CiAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNzcx
eDM4CiAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA3NzE6ICJUaGlzIHRlc3RzIGZv
ciBhIGJ1ZyB3aGVyZSB0aGUgZGVsZXRlIGJ1dHRvbiB3b3VsZG4ndCB3b3JrIGJlY2F1c2UgaXQg
aGFkIC13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZSBpbnN0ZWFkIG9mIC13ZWJraXQtdXNlci0iCiAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxOSkgd2lkdGggODc6ICJzZWxlY3Q6aWdub3JlLiAiCiAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoODcsMTkpIHdpZHRoIDQ1MDogIlRoZSBsaXN0IHNob3VsZCBi
ZSByZW1vdmVkLCB0aGUgZWRpdGFibGUgcmVnaW9uIGJlbG93IHNob3VsZCBiZSBlbXB0eS4iCiAg
ICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDU0KSBzaXplIDc4NHg1MQpjYXJldDogcG9zaXRp
b24gMCBvZiBjaGlsZCAzIHtESVZ9IG9mIGJvZHkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118807</attachid>
            <date>2011-12-12 09:10:19 -0800</date>
            <delta_ts>2011-12-23 13:00:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53644-20111212181018.patch</filename>
            <type>text/plain</type>
            <size>5985</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyNTgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWQwN2I4MGJiOWQxMzFl
YzQxZTQyOTA5M2I2ZTAwZWJkMzVhODA5OS4uMjA3YjUzNmVkMmI3M2FmYjUxMzA4ZmFkZjIzMGQ1
MjdmOGZlNzMxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDExLTEyLTEyICBaYW4g
RG9iZXJzZWsgIDx6YW5kb2JlcnNla0BnbWFpbC5jb20+CisKKyAgICAgICAgW0dUS10gZWRpdGlu
Zy9kZWxldGluZy81NDA4MjU1Lmh0bWwgcmVzdWx0cyBhcmUgaW5jb3JyZWN0CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MzY0NAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElmIGFuIGVudmlyb25tZW50IHZh
cmlhYmxlIHBvaW50aW5nIHRvIHJlc291cmNlcyBpbiB0aGUgc291cmNlCisgICAgICAgIGNoZWNr
b3V0IGlzIHByZXNlbnQsIHVzZSB0aGVtIGluc3RlYWQgb2YgdGhvc2UgdGhhdCBzaG91bGQgYmUK
KyAgICAgICAgaW5zdGFsbGVkIHN5c3RlbS13aWRlLiBUaGUgZW52aXJvbm1lbnQgdmFyaWFibGUg
c2hvdWxkIG9ubHkgYmUKKyAgICAgICAgc2V0IHdoZW4gcnVubmluZyBsYXlvdXQgdGVzdHMuIFRo
aXMgYXZvaWRzIGxvY2F0aW5nIHJlc291cmNlcworICAgICAgICBpbiBwcmVzZXQgaW5zdGFsbGF0
aW9uIHBhdGhzIHRoYXQgYXJlIG5vdCBndWFyYW50ZWVkIHRvIGV4aXN0LgorCisgICAgICAgIE5v
IG5ldyB0ZXN0cyAodGhlc2UgY2hhbmdlcyBmaXggb25lKS4KKworICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2d0ay9JbWFnZUd0ay5jcHA6CisgICAgICAgIChnZXRXZWJLaXREYXRhRGlyZWN0
b3J5KToKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlOjpsb2FkUGxhdGZvcm1SZXNvdXJjZSk6CisK
IDIwMTEtMTItMTIgIEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2bG92QGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBbU3R5bGVzXSBNb2RpZmllZCBzZWxlY3RvciB0ZXh0IG5l
ZWRzIHNhbml0aXphdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3RrL0ltYWdlR3RrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2d0ay9JbWFnZUd0ay5jcHAKaW5kZXggOWRkODJhOTNhOWExMGM5Y2NjYmVjNjdmMDk1YTM5NjFk
Mzc4MjNkNC4uMDM0YWJjMGQxODI3Y2RhN2U2NGJhZGVmMzViZTFmN2U4YjJhZWU5YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL0ltYWdlR3RrLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ndGsvSW1hZ2VHdGsuY3BwCkBA
IC02OCw3ICs2OCw3IEBAIHN0YXRpYyBjb25zdCBjaGFyKiBnZXRXZWJLaXREYXRhRGlyZWN0b3J5
KCkKICAgICAgICAgaWYgKCFzdHJpY21wKChjb25zdCBjaGFyICopIChwKzEpLCAiYmluIikpCiAg
ICAgICAgICAgICAqcCA9ICdcMCc7CiAgICAgfQotICAgIHN0cmNhdChkYXRhRGlyZWN0b3J5LCAi
XFxzaGFyZSIpOworICAgIHN0cmNhdChkYXRhRGlyZWN0b3J5LCAiXFxzaGFyZVxcd2Via2l0Z3Rr
LSJXRUJLSVRHVEtfQVBJX1ZFUlNJT05fU1RSSU5HIlxcaW1hZ2VzIik7CiAKICAgICByZXR1cm4g
ZGF0YURpcmVjdG9yeTsKIH0KQEAgLTc3LDcgKzc3LDE3IEBAIHN0YXRpYyBjb25zdCBjaGFyKiBn
ZXRXZWJLaXREYXRhRGlyZWN0b3J5KCkKIAogc3RhdGljIGNvbnN0IGNoYXIqIGdldFdlYktpdERh
dGFEaXJlY3RvcnkoKQogewotICAgIHJldHVybiBEQVRBX0RJUjsKKyAgICBzdGF0aWMgY29uc3Qg
Y2hhciogZGF0YURpcmVjdG9yeSA9IDA7CisgICAgaWYgKGRhdGFEaXJlY3RvcnkpCisgICAgICAg
IHJldHVybiBkYXRhRGlyZWN0b3J5OworCisgICAgY29uc3QgY2hhciogcmVzb3VyY2VzRm9yVGVz
dGluZyA9IGdfZ2V0ZW52KCJXRUJLSVRfVEVTVElOR19SRVNPVVJDRVMiKTsKKyAgICBpZiAocmVz
b3VyY2VzRm9yVGVzdGluZykKKyAgICAgICAgZGF0YURpcmVjdG9yeSA9IGdfc3RyZHVwKHJlc291
cmNlc0ZvclRlc3RpbmcpOworICAgIGVsc2UKKyAgICAgICAgZGF0YURpcmVjdG9yeSA9IGdfYnVp
bGRfZmlsZW5hbWUoREFUQV9ESVIsICJ3ZWJraXRndGstIldFQktJVEdUS19BUElfVkVSU0lPTl9T
VFJJTkcsICJpbWFnZXMiLCBOVUxMKTsKKworICAgIHJldHVybiBkYXRhRGlyZWN0b3J5OwogfQog
CiAjZW5kaWYKQEAgLTEzOCw3ICsxNDgsNyBAQCBQYXNzUmVmUHRyPEltYWdlPiBJbWFnZTo6bG9h
ZFBsYXRmb3JtUmVzb3VyY2UoY29uc3QgY2hhciogbmFtZSkKICAgICAgICAgZmlsZU5hbWUgPSBn
ZXRUaGVtZUljb25GaWxlTmFtZShHVEtfU1RPQ0tfTUlTU0lOR19JTUFHRSwgMTYpOwogICAgIGlm
IChmaWxlTmFtZS5pc051bGwoKSkgewogICAgICAgICBHT3duUHRyPGdjaGFyPiBpbWFnZU5hbWUo
Z19zdHJkdXBfcHJpbnRmKCIlcy5wbmciLCBuYW1lKSk7Ci0gICAgICAgIEdPd25QdHI8Z2NoYXI+
IGdsaWJGaWxlTmFtZShnX2J1aWxkX2ZpbGVuYW1lKGdldFdlYktpdERhdGFEaXJlY3RvcnkoKSwg
IndlYmtpdGd0ay0iV0VCS0lUR1RLX0FQSV9WRVJTSU9OX1NUUklORywgImltYWdlcyIsIGltYWdl
TmFtZS5nZXQoKSwgTlVMTCkpOworICAgICAgICBHT3duUHRyPGdjaGFyPiBnbGliRmlsZU5hbWUo
Z19idWlsZF9maWxlbmFtZShnZXRXZWJLaXREYXRhRGlyZWN0b3J5KCksIGltYWdlTmFtZS5nZXQo
KSwgTlVMTCkpOwogICAgICAgICBmaWxlTmFtZSA9IGdsaWJGaWxlTmFtZS5nZXQoKTsKICAgICB9
CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA1
N2QwMWEyMGY3Y2UzMWU5NzIzNzZiODU5NTU1ODNiNDU0ZGI1MjM1Li5jNDFiNjY5NDBhMjA0ZDdk
NjgwMjhkNGZjZDNkOGUyZGEyNmMwMWNlIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysr
IGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMTItMTIgIFphbiBEb2Jl
cnNlayAgPHphbmRvYmVyc2VrQGdtYWlsLmNvbT4KKworICAgICAgICBbR1RLXSBlZGl0aW5nL2Rl
bGV0aW5nLzU0MDgyNTUuaHRtbCByZXN1bHRzIGFyZSBpbmNvcnJlY3QKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUzNjQ0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiBydW5uaW5nIGxheW91dCB0ZXN0
cywgc2V0IGFuIGVudmlyb25tZW50IHZhcmlhYmxlIHRoYXQgcG9pbnRzIHRvCisgICAgICAgIHRo
ZSByZXNvdXJjZXMgbG9jYXRlZCBpbiB0aGUgc291cmNlIGNoZWNrb3V0LiBUaGlzIHBhdGggaXMg
dGhlbiBwaWNrZWQKKyAgICAgICAgdXAgYnkgV2ViQ29yZSBhbmQgbG9hZHMgcmVzb3VyY2VzIGZy
b20gdGhlcmUuIFRoaXMgYXZvaWRzIGxvY2F0aW5nCisgICAgICAgIHJlc291cmNlcyBpbiBwcmVz
ZXQgaW5zdGFsbGF0aW9uIHBhdGhzIHRoYXQgYXJlIG5vdCBndWFyYW50ZWVkIHRvIGV4aXN0Lgor
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9ndGsucHk6Cisg
ICAgICAgIChHdGtQb3J0LnNldHVwX2Vudmlyb25fZm9yX3NlcnZlcik6CisKIDIwMTEtMTItMDgg
IFBpZXJyZSBSb3NzaSAgPHBpZXJyZS5yb3NzaUBnbWFpbC5jb20+CiAKICAgICAgICAgQWRkIG15
c2VsZiBhcyBhIGNvbW1pdHRlcgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvcG9ydC9ndGsucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9wb3J0L2d0ay5weQppbmRleCBkMDVkZGE5ODU1YTU0MzI2NWQ0MjlkNjM4ZGJlYTJmMjYy
YzlkN2IyLi43NzMxM2Q0MTMyYjcxOWZhMWVmZTMwNTc0N2M0NzljMzY0YjcyNzk3IDEwMDY0NAot
LS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2d0ay5weQorKysg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2d0ay5weQpAQCAtOTQs
NiArOTQsNyBAQCBjbGFzcyBHdGtQb3J0KFdlYktpdFBvcnQpOgogICAgICAgICBlbnZpcm9ubWVu
dFsnVEVTVF9SVU5ORVJfVEVTVF9QTFVHSU5fUEFUSCddID0gc2VsZi5fYnVpbGRfcGF0aCgnVGVz
dE5ldHNjYXBlUGx1Z2luJywgJy5saWJzJykKICAgICAgICAgZW52aXJvbm1lbnRbJ1dFQktJVF9J
TlNQRUNUT1JfUEFUSCddID0gc2VsZi5fYnVpbGRfcGF0aCgnUHJvZ3JhbXMnLCAncmVzb3VyY2Vz
JywgJ2luc3BlY3RvcicpCiAgICAgICAgIGVudmlyb25tZW50WydXRUJLSVRfVE9QX0xFVkVMJ10g
PSBzZWxmLl9jb25maWcud2Via2l0X2Jhc2VfZGlyKCkKKyAgICAgICAgZW52aXJvbm1lbnRbJ1dF
QktJVF9URVNUSU5HX1JFU09VUkNFUyddID0gc2VsZi5fZmlsZXN5c3RlbS5qb2luKHNlbGYuX2Nv
bmZpZy53ZWJraXRfYmFzZV9kaXIoKSwgIlNvdXJjZSIsICJXZWJDb3JlIiwgIlJlc291cmNlcyIp
CiAgICAgICAgIHJldHVybiBlbnZpcm9ubWVudAogCiAgICAgZGVmIF9nZW5lcmF0ZV9hbGxfdGVz
dF9jb25maWd1cmF0aW9ucyhzZWxmKToKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyNDIxZDczNGQ4MGJlOWZhZTE4MWFiODBi
ZWE2NGI2YmE3NDU0ZTQ1Li41ZGFhNGZjNzk1ODlmNjc5ZjBmOTZiYWQxZmYyMmU1YWZlYzM4Yzlj
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMTItMTIgIFphbiBEb2JlcnNlayAgPHphbmRv
YmVyc2VrQGdtYWlsLmNvbT4KKworICAgICAgICBbR1RLXSBlZGl0aW5nL2RlbGV0aW5nLzU0MDgy
NTUuaHRtbCByZXN1bHRzIGFyZSBpbmNvcnJlY3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTUzNjQ0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVW5za2lwIGEgZml4ZWQgdGVzdC4KKworICAgICAgICAqIHBs
YXRmb3JtL2d0ay9Ta2lwcGVkOgorCiAyMDExLTEyLTEyICBBbGV4YW5kZXIgUGF2bG92ICA8YXBh
dmxvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogW1N0eWxlc10gTW9k
aWZpZWQgc2VsZWN0b3IgdGV4dCBuZWVkcyBzYW5pdGl6YXRpb24KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Nr
aXBwZWQKaW5kZXggYzNlZmI1MTIzYmQxYzJmZDdlZjA5YjM1M2UzZTUwNzlkMmExYzRlYy4uZjVj
ZTM3NDg1MWE1ZGJjNjRmZjk0YzJiYzk3NmE2NWQ3ZjZlY2JjNyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3Rr
L1NraXBwZWQKQEAgLTQ2MiwxMCArNDYyLDYgQEAgZmFzdC9mb3Jtcy9zZWxlY3QtZG91YmxlLW9u
Y2hhbmdlLmh0bWwKIGZhc3QvZm9ybXMvc2VsZWN0LXNjcmlwdC1vbmNoYW5nZS5odG1sCiBmYXN0
L2h0bWwvdGFiLW9yZGVyLmh0bWwKIAotIyBUaGUgYm94IGlzbid0IGVtcHR5IGFmdGVyIGEgdGVz
dCBydW4gd2l0aCB0aGlzIHRlc3QuCi0jIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD01MzY0NAotIGVkaXRpbmcvZGVsZXRpbmcvNTQwODI1NS5odG1sCi0KICMgTWlzc2lu
ZyBkZWxlZ2F0ZXM6CiAjIE5lZWQgcHJvcGVyIGZyYW1lIGxvYWRlciBjYWxsYmFja3MgcmVwb3J0
aW5nCiAjIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzIxNzAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>120476</attachid>
            <date>2011-12-23 13:00:12 -0800</date>
            <delta_ts>2012-01-23 11:38:10 -0800</delta_ts>
            <desc>WIP Patch</desc>
            <filename>p</filename>
            <type>text/plain</type>
            <size>4511</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKaW5kZXggYmVlNTdkNi4uZWY1OTkxZiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZ3RrL1NraXBwZWQKQEAgLTQ1NSwxMCArNDU1LDYgQEAgZmFzdC9mb3Jtcy9zZWxlY3Qt
ZG91YmxlLW9uY2hhbmdlLmh0bWwKIGZhc3QvZm9ybXMvc2VsZWN0LXNjcmlwdC1vbmNoYW5nZS5o
dG1sCiBmYXN0L2h0bWwvdGFiLW9yZGVyLmh0bWwKIAotIyBUaGUgYm94IGlzbid0IGVtcHR5IGFm
dGVyIGEgdGVzdCBydW4gd2l0aCB0aGlzIHRlc3QuCi0jIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD01MzY0NAotIGVkaXRpbmcvZGVsZXRpbmcvNTQwODI1NS5odG1sCi0K
ICMgTWlzc2luZyBkZWxlZ2F0ZXM6CiAjIE5lZWQgcHJvcGVyIGZyYW1lIGxvYWRlciBjYWxsYmFj
a3MgcmVwb3J0aW5nCiAjIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MzIxNzAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2d0
ay9JbWFnZUd0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ndGsvSW1h
Z2VHdGsuY3BwCmluZGV4IDlkZDgyYTkuLjVlODhiZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2d0ay9JbWFnZUd0ay5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL0ltYWdlR3RrLmNwcApAQCAtNDgsNyArNDgsNyBAQCBC
T09MIFdJTkFQSSBEbGxNYWluKEhJTlNUQU5DRSBoaW5zdERMTCwgRFdPUkQgZmR3UmVhc29uLCBM
UFZPSUQgbHB2UmVzZXJ2ZWQpCiB9CiB9CiAKLXN0YXRpYyBjb25zdCBjaGFyKiBnZXRXZWJLaXRE
YXRhRGlyZWN0b3J5KCkKK3N0YXRpYyBjb25zdCBjaGFyKiBnZXREYXRhUGF0aEZvclJlc291cmNl
KCkKIHsKICAgICBzdGF0aWMgY2hhciogZGF0YURpcmVjdG9yeSA9IDA7CiAgICAgaWYgKGRhdGFE
aXJlY3RvcnkpCkBAIC03NSw5ICs3NSwxMiBAQCBzdGF0aWMgY29uc3QgY2hhciogZ2V0V2ViS2l0
RGF0YURpcmVjdG9yeSgpCiAKICNlbHNlCiAKLXN0YXRpYyBjb25zdCBjaGFyKiBnZXRXZWJLaXRE
YXRhRGlyZWN0b3J5KCkKK3N0YXRpYyBjaGFyKiBnZXREYXRhUGF0aEZvclJlc291cmNlKGNoYXIq
IHJlc291cmNlKQogewotICAgIHJldHVybiBEQVRBX0RJUjsKKyAgICBpZiAoZ19nZXRlbnYoIldF
QktJVF9UT1BfTEVWRUwiKSkKKyAgICAgICAgcmV0dXJuIGdfYnVpbGRfZmlsZW5hbWUoZ19nZXRl
bnYoIldFQktJVF9UT1BfTEVWRUwiKSwgIlNvdXJjZSIsICJXZWJDb3JlIiwgIlJlc291cmNlcyIs
IHJlc291cmNlLCBOVUxMKTsKKworICAgIHJldHVybiBnX2J1aWxkX2ZpbGVuYW1lKERBVEFfRElS
LCAid2Via2l0Z3RrLSJXRUJLSVRHVEtfQVBJX1ZFUlNJT05fU1RSSU5HLCAiaW1hZ2VzIiwgcmVz
b3VyY2UsIE5VTEwpOwogfQogCiAjZW5kaWYKQEAgLTEzOCw3ICsxNDEsNyBAQCBQYXNzUmVmUHRy
PEltYWdlPiBJbWFnZTo6bG9hZFBsYXRmb3JtUmVzb3VyY2UoY29uc3QgY2hhciogbmFtZSkKICAg
ICAgICAgZmlsZU5hbWUgPSBnZXRUaGVtZUljb25GaWxlTmFtZShHVEtfU1RPQ0tfTUlTU0lOR19J
TUFHRSwgMTYpOwogICAgIGlmIChmaWxlTmFtZS5pc051bGwoKSkgewogICAgICAgICBHT3duUHRy
PGdjaGFyPiBpbWFnZU5hbWUoZ19zdHJkdXBfcHJpbnRmKCIlcy5wbmciLCBuYW1lKSk7Ci0gICAg
ICAgIEdPd25QdHI8Z2NoYXI+IGdsaWJGaWxlTmFtZShnX2J1aWxkX2ZpbGVuYW1lKGdldFdlYktp
dERhdGFEaXJlY3RvcnkoKSwgIndlYmtpdGd0ay0iV0VCS0lUR1RLX0FQSV9WRVJTSU9OX1NUUklO
RywgImltYWdlcyIsIGltYWdlTmFtZS5nZXQoKSwgTlVMTCkpOworICAgICAgICBHT3duUHRyPGdj
aGFyPiBnbGliRmlsZU5hbWUoZ2V0RGF0YVBhdGhGb3JSZXNvdXJjZShpbWFnZU5hbWUuZ2V0KCkp
KTsKICAgICAgICAgZmlsZU5hbWUgPSBnbGliRmlsZU5hbWUuZ2V0KCk7CiAgICAgfQogCmRpZmYg
LS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUuY3BwIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvZ3RrL0R1bXBSZW5kZXJUcmVlLmNwcAppbmRleCBkNmJiNDI2Li45
YTI3MDhmIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRy
ZWUuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHAK
QEAgLTE2OSwxNiArMTY5LDEwIEBAIHN0YXRpYyB2b2lkIGluaXRpYWxpemVHdGtGb250U2V0dGlu
Z3MoY29uc3QgY2hhciogdGVzdFVSTCkKIAogQ1N0cmluZyBnZXRUb3BMZXZlbFBhdGgoKQogewot
ICAgIGlmIChjb25zdCBjaGFyKiB0b3BMZXZlbERpcmVjdG9yeSA9IGdfZ2V0ZW52KCJXRUJLSVRf
VE9QX0xFVkVMIikpCi0gICAgICAgIHJldHVybiB0b3BMZXZlbERpcmVjdG9yeTsKLQotICAgIC8v
IElmIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSB3YXNuJ3QgcHJvdmlkZWQgdGhlbiBhc3N1bWUg
d2Ugd2VyZSBidWlsdCBpbnRvCi0gICAgLy8gV2ViS2l0QnVpbGQvRGVidWcgb3IgV2ViS2l0QnVp
bGQvUmVsZWFzZS4gT2J2aW91c2x5IHRoaXMgd2lsbCBmYWlsIGlmIHRoZSBidWlsZAotICAgIC8v
IGRpcmVjdG9yeSBpcyBub24tc3RhbmRhcmQsIGJ1dCB3ZSBjYW4ndCBkbyBtdWNoIG1vcmUgYWJv
dXQgdGhpcy4KLSAgICBHT3duUHRyPGNoYXI+IHBhcmVudFBhdGgoZ19wYXRoX2dldF9kaXJuYW1l
KGdldEN1cnJlbnRFeGVjdXRhYmxlUGF0aCgpLmRhdGEoKSkpOwotICAgIEdPd25QdHI8Y2hhcj4g
bGF5b3V0VGVzdHNQYXRoKGdfYnVpbGRfZmlsZW5hbWUocGFyZW50UGF0aC5nZXQoKSwgIi4uIiwg
Ii4uIiwgIi4uIiwgTlVMTCkpOwotICAgIEdPd25QdHI8Y2hhcj4gYWJzb2x1dGVUb3BMZXZlbFBh
dGgocmVhbHBhdGgobGF5b3V0VGVzdHNQYXRoLmdldCgpLCAwKSk7Ci0gICAgcmV0dXJuIGFic29s
dXRlVG9wTGV2ZWxQYXRoLmdldCgpOworICAgIGlmICghZ19nZXRlbnYoIldFQktJVF9UT1BfTEVW
RUwiKSkKKyAgICAgICAgZ19zZXRlbnYoIldFQktJVF9UT1BfTEVWRUwiLCBUT1BfTEVWRUxfRElS
LCBGQUxTRSk7CisKKyAgICByZXR1cm4gVE9QX0xFVkVMX0RJUjsKIH0KIAogc3RhdGljIHZvaWQg
aW5pdGlhbGl6ZUZvbnRzKGNvbnN0IGNoYXIqIHRlc3RVUkwgPSAwKQpkaWZmIC0tZ2l0IGEvVG9v
bHMvR05VbWFrZWZpbGUuYW0gYi9Ub29scy9HTlVtYWtlZmlsZS5hbQppbmRleCAyZTkxOTZmLi4z
MDRjNjcyIDEwMDY0NAotLS0gYS9Ub29scy9HTlVtYWtlZmlsZS5hbQorKysgYi9Ub29scy9HTlVt
YWtlZmlsZS5hbQpAQCAtNzMsNiArNzMsNyBAQCBsaWJXZWJDb3JlSW50ZXJuYWxzX2xhX0NGTEFH
UyA9IFwKICMgRHVtcFJlbmRlclRyZWUKIFByb2dyYW1zX0R1bXBSZW5kZXJUcmVlX0NQUEZMQUdT
ID0gXAogCSQoZ2xvYmFsX2NwcGZsYWdzKSBcCisJLURUT1BfTEVWRUxfRElSPVwiJHtzaGVsbCBw
d2R9LyR7c3JjZGlyfVwiIFwKIAktSSQoc3JjZGlyKS9Ub29scy9EdW1wUmVuZGVyVHJlZSBcCiAJ
LUkkKHNyY2RpcikvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2Fpcm8gXAogCS1JJChzcmNkaXIpL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2d0ayBcCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9wb3J0L2d0ay5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3BvcnQvZ3RrLnB5CmluZGV4IGQwNWRkYTkuLjM4NjJlNzIgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvZ3RrLnB5CisrKyBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvZ3RrLnB5CkBAIC05Myw3ICs5
Myw2IEBAIGNsYXNzIEd0a1BvcnQoV2ViS2l0UG9ydCk6CiAgICAgICAgIGVudmlyb25tZW50WydU
RVNUX1JVTk5FUl9JTkpFQ1RFRF9CVU5ETEVfRklMRU5BTUUnXSA9IHNlbGYuX2J1aWxkX3BhdGgo
J0xpYnJhcmllcycsICdsaWJUZXN0UnVubmVySW5qZWN0ZWRCdW5kbGUubGEnKQogICAgICAgICBl
bnZpcm9ubWVudFsnVEVTVF9SVU5ORVJfVEVTVF9QTFVHSU5fUEFUSCddID0gc2VsZi5fYnVpbGRf
cGF0aCgnVGVzdE5ldHNjYXBlUGx1Z2luJywgJy5saWJzJykKICAgICAgICAgZW52aXJvbm1lbnRb
J1dFQktJVF9JTlNQRUNUT1JfUEFUSCddID0gc2VsZi5fYnVpbGRfcGF0aCgnUHJvZ3JhbXMnLCAn
cmVzb3VyY2VzJywgJ2luc3BlY3RvcicpCi0gICAgICAgIGVudmlyb25tZW50WydXRUJLSVRfVE9Q
X0xFVkVMJ10gPSBzZWxmLl9jb25maWcud2Via2l0X2Jhc2VfZGlyKCkKICAgICAgICAgcmV0dXJu
IGVudmlyb25tZW50CiAKICAgICBkZWYgX2dlbmVyYXRlX2FsbF90ZXN0X2NvbmZpZ3VyYXRpb25z
KHNlbGYpOgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123588</attachid>
            <date>2012-01-23 11:38:21 -0800</date>
            <delta_ts>2012-01-23 20:23:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53644-20120123203819.patch</filename>
            <type>text/plain</type>
            <size>11045</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1NjMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGVlNzM2OTA4NjFiNWVl
NmQzNjFkYWEyMDJjNTVkZTQyODY1MDM5Mi4uNzI0NzgwY2I5NWVhMTUxY2EyZTg3MDlmN2IxMWU0
OGZkZTA5ZDBjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTAxLTIzICBaYW4g
RG9iZXJzZWsgIDx6YW5kb2JlcnNla0BnbWFpbC5jb20+CisKKyAgICAgICAgW0dUS10gZWRpdGlu
Zy9kZWxldGluZy81NDA4MjU1Lmh0bWwgcmVzdWx0cyBhcmUgaW5jb3JyZWN0CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MzY0NAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gdGhlIFdFQktJVF9UT1Bf
TEVWRUwgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgc2V0LCByZXNvdXJjZXMKKyAgICAgICAgc2hv
dWxkIGJlIGxvYWRlZCBmcm9tIHRoZSBzb3VyY2UgdHJlZSB0byB3aGljaCB0aGUgdmFyaWFibGUg
aXMKKyAgICAgICAgcG9pbnRpbmcuIFRoaXMgYXBwcm9hY2ggaXMgdXNlZCB3aGVuIHBlcmZvcm1p
bmcgdGVzdGluZyBvbiB0aGUKKyAgICAgICAgR3RrIHBvcnQuCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzLCBjaGFuZ2VzIGNhdXNlIG9uZSB0ZXN0IHRvIHBhc3MuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9ndGsvSW1hZ2VHdGsuY3BwOgorICAgICAgICAoZ2V0UGF0aFRvSW1hZ2VSZXNv
dXJjZSk6IEFsc28gbWFrZSBjaGFuZ2VzIHRvIHRoZSByZXNvdXJjZSBwYXRoCisgICAgICAgIGNv
bnN0cnVjdGlvbiBjb2RlIG9uIFdpbmRvd3MuCisgICAgICAgIChXZWJDb3JlOjpJbWFnZTo6bG9h
ZFBsYXRmb3JtUmVzb3VyY2UpOgorCiAyMDEyLTAxLTIzICBBbnR0aSBLb2l2aXN0byAgPGFudHRp
QGFwcGxlLmNvbT4KIAogICAgICAgICBFbGltaW5hdGUgQ1NTRWxlbWVudFN0eWxlRGVjbGFyYXRp
b24gc3ViY2xhc3NlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3RrL0ltYWdlR3RrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2d0
ay9JbWFnZUd0ay5jcHAKaW5kZXggOWRkODJhOTNhOWExMGM5Y2NjYmVjNjdmMDk1YTM5NjFkMzc4
MjNkNC4uNmU4MWUzM2EzOTVhMzI5ZTJhNTViYmRkNWYyNjU5MjE3ZWVjMzg0MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL0ltYWdlR3RrLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ndGsvSW1hZ2VHdGsuY3BwCkBAIC00
OCwzNiArNDgsNDIgQEAgQk9PTCBXSU5BUEkgRGxsTWFpbihISU5TVEFOQ0UgaGluc3RETEwsIERX
T1JEIGZkd1JlYXNvbiwgTFBWT0lEIGxwdlJlc2VydmVkKQogfQogfQogCi1zdGF0aWMgY29uc3Qg
Y2hhciogZ2V0V2ViS2l0RGF0YURpcmVjdG9yeSgpCitzdGF0aWMgY2hhciogZ2V0UGF0aFRvSW1h
Z2VSZXNvdXJjZShjaGFyKiByZXNvdXJjZSkKIHsKICAgICBzdGF0aWMgY2hhciogZGF0YURpcmVj
dG9yeSA9IDA7Ci0gICAgaWYgKGRhdGFEaXJlY3RvcnkpCi0gICAgICAgIHJldHVybiBkYXRhRGly
ZWN0b3J5OwotCi0gICAgZGF0YURpcmVjdG9yeSA9IG5ldyBjaGFyW1BBVEhfTUFYXTsKLSAgICBp
ZiAoIUdldE1vZHVsZUZpbGVOYW1lKGhtb2R1bGUsIHN0YXRpY19jYXN0PENIQVIqPihkYXRhRGly
ZWN0b3J5KSwgc2l6ZW9mKGRhdGFEaXJlY3RvcnkpIC0gMTApKQotICAgICAgICByZXR1cm4gREFU
QV9ESVI7Ci0KLSAgICAvLyBGSVhNRTogVGhpcyBpcyBwcmV0dHkgdWdseS4gSWRlYWxseSB3ZSBz
aG91bGQgYmUgdXNpbmcgV2luZG93cyBBUEkKLSAgICAvLyBmdW5jdGlvbnMgb3IgR0xpYiBtZXRo
b2RzIHRvIGNhbGN1bGF0ZSBwYXRocy4KLSAgICB1bnNpZ25lZCBjaGFyICpwOwotICAgIHAgPSBf
bWJzcmNocihzdGF0aWNfY2FzdDxjb25zdCB1bnNpZ25lZCBjaGFyICo+KGRhdGFEaXJlY3Rvcnkp
LCAnXFwnKTsKLSAgICAqcCA9ICdcMCc7Ci0gICAgcCA9IF9tYnNyY2hyKHN0YXRpY19jYXN0PGNv
bnN0IHVuc2lnbmVkIGNoYXIgKj4oZGF0YURpcmVjdG9yeSksICdcXCcpOwotICAgIGlmIChwKSB7
Ci0gICAgICAgIGlmICghc3RyaWNtcCgoY29uc3QgY2hhciAqKSAocCsxKSwgImJpbiIpKQotICAg
ICAgICAgICAgKnAgPSAnXDAnOworICAgIGlmICghZGF0YURpcmVjdG9yeSkgeworICAgICAgICBk
YXRhRGlyZWN0b3J5ID0gbmV3IGNoYXJbUEFUSF9NQVhdOworICAgICAgICBpZiAoIUdldE1vZHVs
ZUZpbGVOYW1lKGhtb2R1bGUsIHN0YXRpY19jYXN0PENIQVIqPihkYXRhRGlyZWN0b3J5KSwgc2l6
ZW9mKGRhdGFEaXJlY3RvcnkpIC0gMTApKQorICAgICAgICAgICAgZGF0YURpcmVjdG9yeSA9IERB
VEFfRElSOworCisgICAgICAgIC8vIEZJWE1FOiBUaGlzIGlzIHByZXR0eSB1Z2x5LiBJZGVhbGx5
IHdlIHNob3VsZCBiZSB1c2luZyBXaW5kb3dzIEFQSQorICAgICAgICAvLyBmdW5jdGlvbnMgb3Ig
R0xpYiBtZXRob2RzIHRvIGNhbGN1bGF0ZSBwYXRocy4KKyAgICAgICAgdW5zaWduZWQgY2hhciAq
cDsKKyAgICAgICAgcCA9IF9tYnNyY2hyKHN0YXRpY19jYXN0PGNvbnN0IHVuc2lnbmVkIGNoYXIg
Kj4oZGF0YURpcmVjdG9yeSksICdcXCcpOworICAgICAgICAqcCA9ICdcMCc7CisgICAgICAgIHAg
PSBfbWJzcmNocihzdGF0aWNfY2FzdDxjb25zdCB1bnNpZ25lZCBjaGFyICo+KGRhdGFEaXJlY3Rv
cnkpLCAnXFwnKTsKKyAgICAgICAgaWYgKHApIHsKKyAgICAgICAgICAgIGlmICghc3RyaWNtcCgo
Y29uc3QgY2hhciAqKSAocCsxKSwgImJpbiIpKQorICAgICAgICAgICAgICAgICpwID0gJ1wwJzsK
KyAgICAgICAgfQorICAgICAgICBzdHJjYXQoZGF0YURpcmVjdG9yeSwgIlxcc2hhcmVcXHdlYmtp
dGd0ay0iV0VCS0lUR1RLX0FQSV9WRVJTSU9OX1NUUklORyJcXGltYWdlc1xcIik7CiAgICAgfQot
ICAgIHN0cmNhdChkYXRhRGlyZWN0b3J5LCAiXFxzaGFyZSIpOwogCi0gICAgcmV0dXJuIGRhdGFE
aXJlY3Rvcnk7CisgICAgY2hhciogaW1hZ2VSZXNvdXJjZVBhdGggPSBuZXcgY2hhcltQQVRIX01B
WF07CisgICAgc3RyY2F0KGltYWdlUmVzb3VyY2VQYXRoLCBkYXRhRGlyZWN0b3J5KTsKKyAgICBz
dHJjYXQoaW1hZ2VSZXNvdXJjZVBhdGgsIHJlc291cmNlKTsKKworICAgIHJldHVybiBpbWFnZVJl
c291cmNlUGF0aDsKIH0KIAogI2Vsc2UKIAotc3RhdGljIGNvbnN0IGNoYXIqIGdldFdlYktpdERh
dGFEaXJlY3RvcnkoKQorc3RhdGljIGNoYXIqIGdldFBhdGhUb0ltYWdlUmVzb3VyY2UoY2hhciog
cmVzb3VyY2UpCiB7Ci0gICAgcmV0dXJuIERBVEFfRElSOworICAgIGlmIChnX2dldGVudigiV0VC
S0lUX1RPUF9MRVZFTCIpKQorICAgICAgICByZXR1cm4gZ19idWlsZF9maWxlbmFtZShnX2dldGVu
digiV0VCS0lUX1RPUF9MRVZFTCIpLCAiU291cmNlIiwgIldlYkNvcmUiLCAiUmVzb3VyY2VzIiwg
cmVzb3VyY2UsIE5VTEwpOworCisgICAgcmV0dXJuIGdfYnVpbGRfZmlsZW5hbWUoREFUQV9ESVIs
ICJ3ZWJraXRndGstIldFQktJVEdUS19BUElfVkVSU0lPTl9TVFJJTkcsICJpbWFnZXMiLCByZXNv
dXJjZSwgTlVMTCk7CiB9CiAKICNlbmRpZgpAQCAtMTM4LDcgKzE0NCw3IEBAIFBhc3NSZWZQdHI8
SW1hZ2U+IEltYWdlOjpsb2FkUGxhdGZvcm1SZXNvdXJjZShjb25zdCBjaGFyKiBuYW1lKQogICAg
ICAgICBmaWxlTmFtZSA9IGdldFRoZW1lSWNvbkZpbGVOYW1lKEdUS19TVE9DS19NSVNTSU5HX0lN
QUdFLCAxNik7CiAgICAgaWYgKGZpbGVOYW1lLmlzTnVsbCgpKSB7CiAgICAgICAgIEdPd25QdHI8
Z2NoYXI+IGltYWdlTmFtZShnX3N0cmR1cF9wcmludGYoIiVzLnBuZyIsIG5hbWUpKTsKLSAgICAg
ICAgR093blB0cjxnY2hhcj4gZ2xpYkZpbGVOYW1lKGdfYnVpbGRfZmlsZW5hbWUoZ2V0V2ViS2l0
RGF0YURpcmVjdG9yeSgpLCAid2Via2l0Z3RrLSJXRUJLSVRHVEtfQVBJX1ZFUlNJT05fU1RSSU5H
LCAiaW1hZ2VzIiwgaW1hZ2VOYW1lLmdldCgpLCBOVUxMKSk7CisgICAgICAgIEdPd25QdHI8Z2No
YXI+IGdsaWJGaWxlTmFtZShnZXRQYXRoVG9JbWFnZVJlc291cmNlKGltYWdlTmFtZS5nZXQoKSkp
OwogICAgICAgICBmaWxlTmFtZSA9IGdsaWJGaWxlTmFtZS5nZXQoKTsKICAgICB9CiAKZGlmZiAt
LWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxOTUxYzJkOGE0
ZDVkMjI1YzA0ZTQzZDBkNWUyYjE3M2M5ZmRmNDE3Li4zOGZjYjVkZDc0NDM2NTFlNzU5NGM1MGU0
MjEwNmIwNjYxYTc1YzNkIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTItMDEtMjMgIFphbiBEb2JlcnNlayAgPHph
bmRvYmVyc2VrQGdtYWlsLmNvbT4KKworICAgICAgICBbR1RLXSBlZGl0aW5nL2RlbGV0aW5nLzU0
MDgyNTUuaHRtbCByZXN1bHRzIGFyZSBpbmNvcnJlY3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUzNjQ0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgV0VCS0lUX1RPUF9MRVZFTCBlbnZpcm9ubWVudCB2YXJp
YWJsZSBpcyBub3cgc2V0IGRpcmVjdGx5IGluIGVpdGhlcgorICAgICAgICBXZWJLaXRUZXN0UnVu
bmVyIG9yIER1bXBSZW5kZXJUcmVlIHRocm91Z2ggdXNhZ2Ugb2YgYSBjb21waWxhdGlvbi10aW1l
CisgICAgICAgIG1hY3JvLiBUaGlzIHdheSBib3RoIHRvb2xzIGNhbiBiZSBydW4gb3V0c2lkZSB0
aGUgdGVzdCBoYXJuZXNzIHdpdGhvdXQKKyAgICAgICAgdGhlIG5lZWQgdG8gbWFudWFsbHkgc2V0
IHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZS4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2d0
ay9EdW1wUmVuZGVyVHJlZS5jcHA6CisgICAgICAgIChnZXRUb3BMZXZlbFBhdGgpOgorICAgICAg
ICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3BvcnQvZ3RrLnB5OgorICAgICAgICAoR3RrUG9ydC5zZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2
ZXIpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvR05VbWFrZWZpbGUuYW06CisgICAgICAg
ICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9ndGsvSW5qZWN0ZWRCdW5kbGVHdGsu
Y3BwOgorICAgICAgICAoV1RSOjpJbmplY3RlZEJ1bmRsZTo6cGxhdGZvcm1Jbml0aWFsaXplKToK
KwogMjAxMi0wMS0yMyAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1zYW5jaGV6QGlnYWxpYS5jb20+
CiAKICAgICAgICAgW0dUS10gcnVuLWd0ay10ZXN0cyByYW5kb21seSBmYWlscyB3aGlsZSBydW5u
aW5nIHRoZSB4cHJvcCBjb21hbmQKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0
ay9EdW1wUmVuZGVyVHJlZS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRl
clRyZWUuY3BwCmluZGV4IGViNjg2OGRhNjVmMDY4NGI0NjJkZTZhNjJmOGQ1YmQzODI3MDZkMWIu
LjkyYTcwYTkzMDZmMzllYzUyNTNjYzFlMzE1MTBjZTFiNDllODY3NmYgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHAKKysrIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvZ3RrL0R1bXBSZW5kZXJUcmVlLmNwcApAQCAtMTY5LDE2ICsxNjksMTAgQEAg
c3RhdGljIHZvaWQgaW5pdGlhbGl6ZUd0a0ZvbnRTZXR0aW5ncyhjb25zdCBjaGFyKiB0ZXN0VVJM
KQogCiBDU3RyaW5nIGdldFRvcExldmVsUGF0aCgpCiB7Ci0gICAgaWYgKGNvbnN0IGNoYXIqIHRv
cExldmVsRGlyZWN0b3J5ID0gZ19nZXRlbnYoIldFQktJVF9UT1BfTEVWRUwiKSkKLSAgICAgICAg
cmV0dXJuIHRvcExldmVsRGlyZWN0b3J5OwotCi0gICAgLy8gSWYgdGhlIGVudmlyb25tZW50IHZh
cmlhYmxlIHdhc24ndCBwcm92aWRlZCB0aGVuIGFzc3VtZSB3ZSB3ZXJlIGJ1aWx0IGludG8KLSAg
ICAvLyBXZWJLaXRCdWlsZC9EZWJ1ZyBvciBXZWJLaXRCdWlsZC9SZWxlYXNlLiBPYnZpb3VzbHkg
dGhpcyB3aWxsIGZhaWwgaWYgdGhlIGJ1aWxkCi0gICAgLy8gZGlyZWN0b3J5IGlzIG5vbi1zdGFu
ZGFyZCwgYnV0IHdlIGNhbid0IGRvIG11Y2ggbW9yZSBhYm91dCB0aGlzLgotICAgIEdPd25QdHI8
Y2hhcj4gcGFyZW50UGF0aChnX3BhdGhfZ2V0X2Rpcm5hbWUoZ2V0Q3VycmVudEV4ZWN1dGFibGVQ
YXRoKCkuZGF0YSgpKSk7Ci0gICAgR093blB0cjxjaGFyPiBsYXlvdXRUZXN0c1BhdGgoZ19idWls
ZF9maWxlbmFtZShwYXJlbnRQYXRoLmdldCgpLCAiLi4iLCAiLi4iLCAiLi4iLCBOVUxMKSk7Ci0g
ICAgR093blB0cjxjaGFyPiBhYnNvbHV0ZVRvcExldmVsUGF0aChyZWFscGF0aChsYXlvdXRUZXN0
c1BhdGguZ2V0KCksIDApKTsKLSAgICByZXR1cm4gYWJzb2x1dGVUb3BMZXZlbFBhdGguZ2V0KCk7
CisgICAgaWYgKCFnX2dldGVudigiV0VCS0lUX1RPUF9MRVZFTCIpKQorICAgICAgICBnX3NldGVu
digiV0VCS0lUX1RPUF9MRVZFTCIsIFRPUF9MRVZFTF9ESVIsIEZBTFNFKTsKKworICAgIHJldHVy
biBUT1BfTEVWRUxfRElSOwogfQogCiBzdGF0aWMgdm9pZCBpbml0aWFsaXplRm9udHMoY29uc3Qg
Y2hhciogdGVzdFVSTCA9IDApCmRpZmYgLS1naXQgYS9Ub29scy9HTlVtYWtlZmlsZS5hbSBiL1Rv
b2xzL0dOVW1ha2VmaWxlLmFtCmluZGV4IDAyMjg5M2I5ZmFjOTYxMDM0MDFhMzE2MWQ5YjQ4NTlm
N2VkZGFiMmMuLjkyYmI3NTU2MWVhNDVjMTRiY2Y4OTg3YjA0YjQ1YmJhMDZiODI4NDQgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0dOVW1ha2VmaWxlLmFtCisrKyBiL1Rvb2xzL0dOVW1ha2VmaWxlLmFtCkBA
IC03NCw2ICs3NCw3IEBAIGxpYldlYkNvcmVJbnRlcm5hbHNfbGFfQ0ZMQUdTID0gXAogIyBEdW1w
UmVuZGVyVHJlZQogUHJvZ3JhbXNfRHVtcFJlbmRlclRyZWVfQ1BQRkxBR1MgPSBcCiAJJChnbG9i
YWxfY3BwZmxhZ3MpIFwKKwktRFRPUF9MRVZFTF9ESVI9XCIke3NoZWxsIHB3ZH0vJHtzcmNkaXJ9
XCIgXAogCS1JJChzcmNkaXIpL1Rvb2xzL0R1bXBSZW5kZXJUcmVlIFwKIAktSSQoc3JjZGlyKS9U
b29scy9EdW1wUmVuZGVyVHJlZS9jYWlybyBcCiAJLUkkKHNyY2RpcikvVG9vbHMvRHVtcFJlbmRl
clRyZWUvZ3RrIFwKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3BvcnQvZ3RrLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9y
dC9ndGsucHkKaW5kZXggYjZhNWNhYTJlMzgwZjQ3YmNiOWM4OGE3MjNmZDE3ZTRkZDFjNDZmNC4u
NzQ1ZmYxNTY1MDM4MTczMDBlNTIwNTk3ZjAzYzAwNWU5MTUzY2RiNSAxMDA2NDQKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9ndGsucHkKKysrIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9ndGsucHkKQEAgLTg5LDcgKzg5LDYg
QEAgY2xhc3MgR3RrUG9ydChXZWJLaXRQb3J0KToKICAgICAgICAgZW52aXJvbm1lbnRbJ1RFU1Rf
UlVOTkVSX0lOSkVDVEVEX0JVTkRMRV9GSUxFTkFNRSddID0gc2VsZi5fYnVpbGRfcGF0aCgnTGli
cmFyaWVzJywgJ2xpYlRlc3RSdW5uZXJJbmplY3RlZEJ1bmRsZS5sYScpCiAgICAgICAgIGVudmly
b25tZW50WydURVNUX1JVTk5FUl9URVNUX1BMVUdJTl9QQVRIJ10gPSBzZWxmLl9idWlsZF9wYXRo
KCdUZXN0TmV0c2NhcGVQbHVnaW4nLCAnLmxpYnMnKQogICAgICAgICBlbnZpcm9ubWVudFsnV0VC
S0lUX0lOU1BFQ1RPUl9QQVRIJ10gPSBzZWxmLl9idWlsZF9wYXRoKCdQcm9ncmFtcycsICdyZXNv
dXJjZXMnLCAnaW5zcGVjdG9yJykKLSAgICAgICAgZW52aXJvbm1lbnRbJ1dFQktJVF9UT1BfTEVW
RUwnXSA9IHNlbGYuX2NvbmZpZy53ZWJraXRfYmFzZV9kaXIoKQogICAgICAgICBlbnZpcm9ubWVu
dFsnQVVESU9fUkVTT1VSQ0VTX1BBVEgnXSA9IHNlbGYuX2ZpbGVzeXN0ZW0uam9pbihzZWxmLl9j
b25maWcud2Via2l0X2Jhc2VfZGlyKCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTb3VyY2UnLCAnV2ViQ29yZScs
ICdwbGF0Zm9ybScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICdhdWRpbycsICdyZXNvdXJjZXMnKQpkaWZmIC0tZ2l0
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9HTlVtYWtlZmlsZS5hbSBiL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvR05VbWFrZWZpbGUuYW0KaW5kZXggZTY2NjUwODhiZWI1NmVmMWJlMmVjZGFjZGVl
YzhkN2I0ODBkNWJkOC4uNDFjOTBjYzdlZmRhOTFkYWQ3MTM5ZGY3YWFkYWFjODI5N2ZmZWI1NiAx
MDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9HTlVtYWtlZmlsZS5hbQorKysgYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0dOVW1ha2VmaWxlLmFtCkBAIC0xMTUsNiArMTE1LDcgQEAg
TGlicmFyaWVzX2xpYlRlc3RSdW5uZXJJbmplY3RlZEJ1bmRsZV9sYV9MREZMQUdTID0gXAogCiBM
aWJyYXJpZXNfbGliVGVzdFJ1bm5lckluamVjdGVkQnVuZGxlX2xhX0NQUEZMQUdTID0gXAogCS1E
Rk9OVFNfQ09ORl9ESVI9XCIke3NoZWxsIHB3ZH0vJHtzcmNkaXJ9L1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL2d0ay9mb250c1wiIFwKKwktRFRPUF9MRVZFTF9ESVI9XCIke3NoZWxsIHB3ZH0vJHtzcmNk
aXJ9XCIgXAogCS1pbmNsdWRlIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvV2ViS2l0VGVzdFJ1bm5l
clByZWZpeC5oIFwKIAktSSQoc3JjZGlyKS9Ub29scy9XZWJLaXRUZXN0UnVubmVyIFwKIAktSSQo
c3JjZGlyKS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlIFwKZGlmZiAtLWdp
dCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvZ3RrL0luamVjdGVkQnVu
ZGxlR3RrLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvZ3RrL0lu
amVjdGVkQnVuZGxlR3RrLmNwcAppbmRleCAxODEwZWYyNzA5OTE3MjgzYjFlMDc0MDdkMDBlZTA3
ZDNiODQxNTBiLi5iYTA4NDMxYzRjZDdiYTdjZTA1Mjg1MTQwN2Y1YmY1M2Q1MGU0ZTYyIDEwMDY0
NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2d0ay9JbmplY3Rl
ZEJ1bmRsZUd0ay5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9ndGsvSW5qZWN0ZWRCdW5kbGVHdGsuY3BwCkBAIC00NCw2ICs0NCw5IEBAIHZvaWQgSW5qZWN0
ZWRCdW5kbGU6OnBsYXRmb3JtSW5pdGlhbGl6ZShXS1R5cGVSZWYpCiAgICAgLy8gd2lsbCBjYXVz
ZSB0ZXN0cyB0byBmYWlsIGJlY2F1c2Ugb2YgdW5leHBlY3RlZCBvdXRwdXQuIFdlIHNxdWVsY2gg
YWxsIGRlYnVnCiAgICAgLy8gbWVzc2FnZXMgc2VudCB0byB0aGUgbG9nZ2VyLgogICAgIGdfbG9n
X3NldF9kZWZhdWx0X2hhbmRsZXIobG9nSGFuZGxlciwgMCk7CisKKyAgICBpZiAoIWdfZ2V0ZW52
KCJXRUJLSVRfVE9QX0xFVkVMIikpCisgICAgICAgIGdfc2V0ZW52KCJXRUJLSVRfVE9QX0xFVkVM
IiwgVE9QX0xFVkVMX0RJUiwgRkFMU0UpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXVFIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCA5NWY3NGUxOTc0YzM4OGRiZDdkMTdjMmUyYmViNTA3YmM4NmUzM2M2Li5iZTc5OWE0ZGUxNjgy
YWRhZmFhOTNmMTJmMmEwYTEyYjkwMTVjNWUxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTIt
MDEtMjMgIFphbiBEb2JlcnNlayAgPHphbmRvYmVyc2VrQGdtYWlsLmNvbT4KKworICAgICAgICBb
R1RLXSBlZGl0aW5nL2RlbGV0aW5nLzU0MDgyNTUuaHRtbCByZXN1bHRzIGFyZSBpbmNvcnJlY3QK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUzNjQ0CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVW5za2lwIG5l
d2x5LXBhc3NpbmcgZWRpdGluZyB0ZXN0LgorCisgICAgICAgICogcGxhdGZvcm0vZ3RrL1NraXBw
ZWQ6CisKIDIwMTItMDEtMjMgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHVuc2tpcCBub3cgcGFzc2luZyB0ZXN0cyBvbiBHVEsu
IFNwb3R0ZWQgYnkgWmFuIERvYmVyc2VrLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZ3RrL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAppbmRleCBm
MjMwMzdiNjM1MmJmZTc5MzcyMWIzMGUyYzFhYWVhMDZiYWQwNTgyLi4wMDcyYjc0MTE4YTI3NWUx
NGQwYjQwYTUzZTFlZjM4NjkxMDVjNjJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZApAQCAt
NDU2LDEwICs0NTYsNiBAQCBmYXN0L2Zvcm1zL3NlbGVjdC1kb3VibGUtb25jaGFuZ2UuaHRtbAog
ZmFzdC9mb3Jtcy9zZWxlY3Qtc2NyaXB0LW9uY2hhbmdlLmh0bWwKIGZhc3QvaHRtbC90YWItb3Jk
ZXIuaHRtbAogCi0jIFRoZSBib3ggaXNuJ3QgZW1wdHkgYWZ0ZXIgYSB0ZXN0IHJ1biB3aXRoIHRo
aXMgdGVzdC4KLSMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUzNjQ0
Ci0gZWRpdGluZy9kZWxldGluZy81NDA4MjU1Lmh0bWwKLQogIyBNaXNzaW5nIGRlbGVnYXRlczoK
ICMgTmVlZCBwcm9wZXIgZnJhbWUgbG9hZGVyIGNhbGxiYWNrcyByZXBvcnRpbmcKICMgU2VlIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjE3MAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>