<?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>69541</bug_id>
          
          <creation_ts>2011-10-06 10:43:01 -0700</creation_ts>
          <short_desc>[Qt][WK2] ApplicationCache LayoutTests failed</short_desc>
          <delta_ts>2012-08-30 05:52:34 -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>New Bugs</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>Qt</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>69653</dependson>
    
    <dependson>95450</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="qi">qi.2.zhang</reporter>
          <assigned_to name="Luciano Wolf">luciano.wolf</assigned_to>
          <cc>abecsi</cc>
    
    <cc>andersca</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>cshu</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>luciano.wolf</cc>
    
    <cc>menard</cc>
    
    <cc>ossy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>479272</commentid>
    <comment_count>0</comment_count>
    <who name="qi">qi.2.zhang</who>
    <bug_when>2011-10-06 10:43:01 -0700</bug_when>
    <thetext>Most of the ApplicationCache LayoutTests failed on Qt Webkit2, currently the whole directory is in the skip list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479280</commentid>
    <comment_count>1</comment_count>
      <attachid>109978</attachid>
    <who name="qi">qi.2.zhang</who>
    <bug_when>2011-10-06 10:52:26 -0700</bug_when>
    <thetext>Created attachment 109978
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479303</commentid>
    <comment_count>2</comment_count>
      <attachid>109978</attachid>
    <who name="Chang Shu">cshu</who>
    <bug_when>2011-10-06 11:16:23 -0700</bug_when>
    <thetext>Comment on attachment 109978
patch

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

&gt; Source/WebKit2/ChangeLog:9
&gt; +        set and we didn&apos;t set yet.

Shall we set the applicationCacheDirectory somewhere like WK1 does? What if the UI client indeed sets the cacheDirectory and this code change will break it.

&gt; Source/WebKit2/UIProcess/qt/WebContextQt.cpp:39
&gt; +    return QDesktopServices::storageLocation(QDesktopServices::DataLocation);

Even if the approach is correct, I think we should call the existing function defaultDataLocation() in the same file instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479337</commentid>
    <comment_count>3</comment_count>
      <attachid>109978</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-10-06 11:42:59 -0700</bug_when>
    <thetext>Comment on attachment 109978
patch

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

&gt; Source/WebKit2/UIProcess/qt/WebContextQt.cpp:39
&gt; +    return QDesktopServices::storageLocation(QDesktopServices::DataLocation);

I don&apos;t think this is the right fix because you don&apos;t want to call QDesktopServices every single time.

Also this file changed have a look at http://trac.webkit.org/changeset/96702 to use the same pattern as the other.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479344</commentid>
    <comment_count>4</comment_count>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-10-06 11:47:19 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 109978 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=109978&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/ChangeLog:9
&gt; &gt; +        set and we didn&apos;t set yet.
&gt; 
&gt; Shall we set the applicationCacheDirectory somewhere like WK1 does? What if the UI client indeed sets the cacheDirectory and this code change will break it.

I think the problem is that unlike Database, DefaultIconDataBasePath, LocalStorageDirectory, there is no default (or fallback if a custom one is not set). I think we should do the same as the others :

String WebContext::localStorageDirectory() const
{
    if (!m_overrideLocalStorageDirectory.isEmpty())
        return m_overrideLocalStorageDirectory;

    return platformDefaultLocalStorageDirectory();
}

and add a platformDefaultApplicationCacheDirectory.

&gt; 
&gt; &gt; Source/WebKit2/UIProcess/qt/WebContextQt.cpp:39
&gt; &gt; +    return QDesktopServices::storageLocation(QDesktopServices::DataLocation);
&gt; 
&gt; Even if the approach is correct, I think we should call the existing function defaultDataLocation() in the same file instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479350</commentid>
    <comment_count>5</comment_count>
    <who name="Chang Shu">cshu</who>
    <bug_when>2011-10-06 11:52:40 -0700</bug_when>
    <thetext>Alexis, please update the flags with caution.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479380</commentid>
    <comment_count>6</comment_count>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-10-06 12:20:49 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Alexis, please update the flags with caution.

Yep sorry I messed up :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479412</commentid>
    <comment_count>7</comment_count>
      <attachid>110002</attachid>
    <who name="qi">qi.2.zhang</who>
    <bug_when>2011-10-06 13:14:48 -0700</bug_when>
    <thetext>Created attachment 110002
patch2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479413</commentid>
    <comment_count>8</comment_count>
      <attachid>110003</attachid>
    <who name="qi">qi.2.zhang</who>
    <bug_when>2011-10-06 13:15:52 -0700</bug_when>
    <thetext>Created attachment 110003
patch2

Changed based on Chang and Alexis comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479721</commentid>
    <comment_count>9</comment_count>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-10-06 19:04:59 -0700</bug_when>
    <thetext>Adding Anders as he is the dungeon keeper of WebProcess.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479961</commentid>
    <comment_count>10</comment_count>
      <attachid>110003</attachid>
    <who name="Chang Shu">cshu</who>
    <bug_when>2011-10-07 06:14:38 -0700</bug_when>
    <thetext>Comment on attachment 110003
patch2

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

Please update ChangeLog descriptions before landing.

&gt; Source/WebKit2/ChangeLog:12
&gt; +        3. Add interface setApplicationCacheDirectory.

It seems we need a better wording here. :) How about this:
1. Moved applicationCacheDirectory to common code.
2. Added interface setApplicationCacheDirectory to allow UI client overriding.
3. Renamed all platform-dependent implementations of applicationCacheDirectory to platformDefaultApplicationCacheDirectory.
4. On Qt, set the platformDefaultApplicationCacheDirectory to the default data location.

&gt; LayoutTests/ChangeLog:7
&gt; +

Add &quot;Unskip passed tests.&quot; here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479976</commentid>
    <comment_count>11</comment_count>
      <attachid>110140</attachid>
    <who name="qi">qi.2.zhang</who>
    <bug_when>2011-10-07 07:02:20 -0700</bug_when>
    <thetext>Created attachment 110140
patch3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>480006</commentid>
    <comment_count>12</comment_count>
      <attachid>110140</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-07 08:08:22 -0700</bug_when>
    <thetext>Comment on attachment 110140
patch3

Clearing flags on attachment: 110140

Committed r96938: &lt;http://trac.webkit.org/changeset/96938&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>480007</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-07 08:08:27 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>480207</commentid>
    <comment_count>14</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-10-07 12:26:59 -0700</bug_when>
    <thetext>Reopen, because it was rolled out by http://trac.webkit.org/changeset/96969

Guys, you should have check buildbots after landing ... :-/


Check http://build.webkit.sed.hu/builders/x86-32%20Linux%20Qt%20Release%20WebKit2/builds/13015

It made many tests fail and made testing time 2,5 hours ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>480281</commentid>
    <comment_count>15</comment_count>
    <who name="qi">qi.2.zhang</who>
    <bug_when>2011-10-07 13:37:59 -0700</bug_when>
    <thetext>Not reproducible on my environment:(

On buildbot, it has 12 crashs and some failed cases outside of the ApplicationCache.

On my environment, if I used new-run-webkit-tests, no crash! but all the ApplicationCache test cases failed. If I used old-run-webkit-tests, all the ApplicationCache passed. But anyway, not able to reproduce the buildbot result.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484555</commentid>
    <comment_count>16</comment_count>
      <attachid>110003</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-10-15 01:52:07 -0700</bug_when>
    <thetext>Comment on attachment 110003
patch2

Cleared Chang Shu&apos;s review+ from obsolete attachment 110003 so that this bug does not appear in http://webkit.org/pending-commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484770</commentid>
    <comment_count>17</comment_count>
    <who name="Chang Shu">cshu</who>
    <bug_when>2011-10-16 06:26:29 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; Not reproducible on my environment:(
&gt; 
&gt; On buildbot, it has 12 crashs and some failed cases outside of the ApplicationCache.
&gt; 
&gt; On my environment, if I used new-run-webkit-tests, no crash! but all the ApplicationCache test cases failed. If I used old-run-webkit-tests, all the ApplicationCache passed. But anyway, not able to reproduce the buildbot result.

The NRWT was failing for other reasons and it&apos;s fixed now. Please try again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707844</commentid>
    <comment_count>18</comment_count>
      <attachid>161312</attachid>
    <who name="Luciano Wolf">luciano.wolf</who>
    <bug_when>2012-08-29 14:09:27 -0700</bug_when>
    <thetext>Created attachment 161312
Patch that properly updates app cache dir

Returns defaultDiskCacheDirectory when no cache directory was provided, this way setOfflineWebApplicationCacheEnabled works as expected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708251</commentid>
    <comment_count>19</comment_count>
      <attachid>161312</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-29 20:30:29 -0700</bug_when>
    <thetext>Comment on attachment 161312
Patch that properly updates app cache dir

Clearing flags on attachment: 161312

Committed r127091: &lt;http://trac.webkit.org/changeset/127091&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708252</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-29 20:30:33 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708536</commentid>
    <comment_count>21</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-08-30 05:52:34 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; (From update of attachment 161312 [details])
&gt; Clearing flags on attachment: 161312
&gt; 
&gt; Committed r127091: &lt;http://trac.webkit.org/changeset/127091&gt;

It made layout testing extremely slow: https://bugs.webkit.org/show_bug.cgi?id=95450

Could you check it, please?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109978</attachid>
            <date>2011-10-06 10:52:26 -0700</date>
            <delta_ts>2011-10-06 13:15:52 -0700</delta_ts>
            <desc>patch</desc>
            <filename>bug69541.patch</filename>
            <type>text/plain</type>
            <size>2450</size>
            <attacher name="qi">qi.2.zhang</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDk2ODI4KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMTAtMDYgIFFpIFpoYW5n
ICA8cWkuMi56aGFuZ0Bub2tpYS5jb20+CisKKyAgICAgICAgW1F0XVtXSzJdIEFwcGxpY2F0aW9u
Q2FjaGUgTGF5b3V0VGVzdHMgZmFpbGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD02OTU0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFNldCB0aGUgYXBwbGljYXRpb25DYWNoZURpcmVjdG9yeSB0byB0aGUg
ZGVmYXVsdCBwbGFjZSBsaWtlIGNvb2tpZS4gVGhlIG9yaWdpbmFsIHZhbHVlIGlzIG51bGwgd2hp
Y2ggZGVwZW5kIG9uIHVpIGNsaWVudCB0bworICAgICAgICBzZXQgYW5kIHdlIGRpZG4ndCBzZXQg
eWV0LgorCisgICAgICAgICogVUlQcm9jZXNzL3F0L1dlYkNvbnRleHRRdC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYkNvbnRleHQ6OmFwcGxpY2F0aW9uQ2FjaGVEaXJlY3RvcnkpOgorCiAyMDEx
LTEwLTA1ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02OTQ5MgpJbmRleDogU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL3F0L1dlYkNvbnRleHRRdC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1dlYkNvbnRleHRRdC5jcHAJKHJldmlzaW9uIDk2NTIy
KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1dlYkNvbnRleHRRdC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTM2LDcgKzM2LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIFN0cmluZyBX
ZWJDb250ZXh0OjphcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5KCkKIHsKLSAgICByZXR1cm4gV2Vi
Q29yZTo6Y2FjaGVTdG9yYWdlKCkuY2FjaGVEaXJlY3RvcnkoKTsKKyAgICByZXR1cm4gUURlc2t0
b3BTZXJ2aWNlczo6c3RvcmFnZUxvY2F0aW9uKFFEZXNrdG9wU2VydmljZXM6OkRhdGFMb2NhdGlv
bik7CiB9CiAKIHZvaWQgV2ViQ29udGV4dDo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2VzcyhX
ZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQpJbmRleDogTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNp
b24gOTY4MjgpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwxMiBAQAorMjAxMS0xMC0wNiAgUWkgWmhhbmcgIDxxaS4yLnpoYW5nQG5va2lhLmNvbT4K
KworICAgICAgICBbUXRdW1dLMl0gQXBwbGljYXRpb25DYWNoZSBMYXlvdXRUZXN0cyBmYWlsZWQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTQxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9xdC13azIvU2tpcHBlZDoKKwogMjAxMS0xMC0wNiAgTWFyayBQaWxncmltICA8cGlsZ3JpbUBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgVGVzdCBob3cgRE9NVG9rZW5MaXN0IG1ldGhvZHMgcmVh
Y3QgdG8gdG9vIGZldyBhcmd1bWVudHMKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0LXdr
Mi9Ta2lwcGVkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3F0LXdrMi9Ta2lw
cGVkCShyZXZpc2lvbiA5NjUyMikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3F0LXdrMi9Ta2lw
cGVkCSh3b3JraW5nIGNvcHkpCkBAIC0zMjUsNyArMzI1LDYgQEAgc3RvcmFnZS9vcGVuLWRhdGFi
YXNlLWVtcHR5LXZlcnNpb24uaHRtbAogc3RvcmFnZS9yZWFkLXRyYW5zYWN0aW9ucy1ydW5uaW5n
LWNvbmN1cnJlbnRseS5odG1sCiAKICMgRkFJTDogVGltZWQgb3V0IHdhaXRpbmcgZm9yIG5vdGlm
eURvbmUgdG8gYmUgY2FsbGVkCi1odHRwL3Rlc3RzL2FwcGNhY2hlCiBmYXN0L2RvbS9iZWZvcmVs
b2FkL3ZpZGVvLWJlZm9yZS1sb2FkLmh0bWwKIG1lZGlhL3ZpZGVvLXNvdXJjZS1tb3ZlZC5odG1s
CiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oaXhpZTc2L2ZyYW1lLWxlbmd0aHMuaHRtbAo=
</data>
<flag name="review"
          id="107344"
          type_id="1"
          status="-"
          setter="menard"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110002</attachid>
            <date>2011-10-06 13:14:48 -0700</date>
            <delta_ts>2011-10-06 13:15:52 -0700</delta_ts>
            <desc>patch2</desc>
            <filename>bug69541_2.patch</filename>
            <type>text/plain</type>
            <size>7170</size>
            <attacher name="qi">qi.2.zhang</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDk2ODUyKQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzEgQEAKKzIwMTEtMTAtMDYgIFFpIFpoYW5n
ICA8cWkuMi56aGFuZ0Bub2tpYS5jb20+CisKKyAgICAgICAgW1F0XVtXSzJdIEFwcGxpY2F0aW9u
Q2FjaGUgTGF5b3V0VGVzdHMgZmFpbGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD02OTU0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIDEuIFNldCB0aGUgYXBwbGljYXRpb25DYWNoZURpcmVjdG9yeSB0byB0
aGUgZGVmYXVsdCBwbGFjZSBsaWtlIGNvb2tpZS4gVGhlIG9yaWdpbmFsIHZhbHVlIGlzIG51bGwg
d2hpY2ggZGVwZW5kIG9uIHVpIGNsaWVudCB0bworICAgICAgICBzZXQgYW5kIHdlIGRpZG4ndCBz
ZXQgeWV0LgorICAgICAgICAyLiBBZGQgaW50ZXJmYWNlIHBsYXRmb3JtRGVmYXVsdEFwcGxpY2F0
aW9uQ2FjaGVEaXJlY3RvcnkgbGlrZSBwbGF0Zm9ybURlZmF1bHREYXRhYmFzZURpcmVjdG9yeSwg
cGxhdGZvcm1EZWZhdWx0SWNvbkRhdGFiYXNlUGF0aAorICAgICAgICBhbmQgcGxhdGZvcm1EZWZh
dWx0TG9jYWxTdG9yYWdlRGlyZWN0b3J5IGRpZC4KKyAgICAgICAgMy4gQWRkIGludGVyZmFjZSBz
ZXRBcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5LgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYkNv
bnRleHQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0OjphcHBsaWNhdGlvbkNhY2hl
RGlyZWN0b3J5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQ29udGV4dC5oOgorICAgICAgICAo
V2ViS2l0OjpXZWJDb250ZXh0OjpzZXRBcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5KToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvZWZsL1dlYkNvbnRleHRFZmwuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJDb250ZXh0OjpwbGF0Zm9ybURlZmF1bHRBcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5KToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvZ3RrL1dlYkNvbnRleHRHdGsuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJDb250ZXh0OjpwbGF0Zm9ybURlZmF1bHRBcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5KToK
KyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNYWMubW06CisgICAgICAgIChXZWJL
aXQ6OldlYkNvbnRleHQ6OnBsYXRmb3JtRGVmYXVsdEFwcGxpY2F0aW9uQ2FjaGVEaXJlY3Rvcnkp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9XZWJDb250ZXh0UXQuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJDb250ZXh0OjpwbGF0Zm9ybURlZmF1bHRBcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5
KToKKyAgICAgICAgKiBVSVByb2Nlc3Mvd2luL1dlYkNvbnRleHRXaW4uY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJDb250ZXh0OjpwbGF0Zm9ybURlZmF1bHRBcHBsaWNhdGlvbkNhY2hlRGlyZWN0
b3J5KToKKwogMjAxMS0xMC0wNiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxp
YS5jb20+CiAKICAgICAgICAgW0dUS10gQWRkIGVzdGltYXRlZC1wcm9ncmVzcyBwcm9wZXJ0eSB0
byBXZWJLaXRXZWJMb2FkZXJDbGllbnQKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJDb250ZXh0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
Q29udGV4dC5jcHAJKHJldmlzaW9uIDk2ODM2KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYkNvbnRleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04MDQsNiArODA0LDE0IEBAIFN0cmlu
ZyBXZWJDb250ZXh0Ojpsb2NhbFN0b3JhZ2VEaXJlY3RvcnkKICAgICByZXR1cm4gcGxhdGZvcm1E
ZWZhdWx0TG9jYWxTdG9yYWdlRGlyZWN0b3J5KCk7CiB9CiAKK1N0cmluZyBXZWJDb250ZXh0Ojph
cHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5KCkgY29uc3QKK3sKKyAgICBpZiAoIW1fb3ZlcnJpZGVB
cHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5LmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIG1fb3Zl
cnJpZGVBcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5OworCisgICAgcmV0dXJuIHBsYXRmb3JtRGVm
YXVsdEFwcGxpY2F0aW9uQ2FjaGVEaXJlY3RvcnkoKTsKK30KKwogdm9pZCBXZWJDb250ZXh0Ojpz
ZXRIVFRQUGlwZWxpbmluZ0VuYWJsZWQoYm9vbCBlbmFibGVkKQogewogI2lmIFBMQVRGT1JNKE1B
QykKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaAkocmV2aXNpb24gOTY4
MzYpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xMTAsNyArMTEwLDkgQEAgcHVibGljOgogICAgIHZvaWQgc2V0QWRkaXRpb25hbFBs
dWdpbnNEaXJlY3RvcnkoY29uc3QgU3RyaW5nJik7CiAKICAgICBQbHVnaW5JbmZvU3RvcmUmIHBs
dWdpbkluZm9TdG9yZSgpIHsgcmV0dXJuIG1fcGx1Z2luSW5mb1N0b3JlOyB9Ci0gICAgU3RyaW5n
IGFwcGxpY2F0aW9uQ2FjaGVEaXJlY3RvcnkoKTsKKyAgICBTdHJpbmcgYXBwbGljYXRpb25DYWNo
ZURpcmVjdG9yeSgpIGNvbnN0OworICAgIFN0cmluZyBwbGF0Zm9ybURlZmF1bHRBcHBsaWNhdGlv
bkNhY2hlRGlyZWN0b3J5KCkgY29uc3Q7CisgICAgdm9pZCBzZXRBcHBsaWNhdGlvbkNhY2hlRGly
ZWN0b3J5KGNvbnN0IFN0cmluZyYgZGlyKSB7IG1fb3ZlcnJpZGVBcHBsaWNhdGlvbkNhY2hlRGly
ZWN0b3J5ID0gZGlyOyB9CiAKICAgICB2b2lkIHNldEFsd2F5c1VzZXNDb21wbGV4VGV4dENvZGVQ
YXRoKGJvb2wpOwogICAgIHZvaWQgc2V0U2hvdWxkVXNlRm9udFNtb290aGluZyhib29sKTsKQEAg
LTI3OSw2ICsyODEsNyBAQCBwcml2YXRlOgogICAgIFN0cmluZyBtX292ZXJyaWRlRGF0YWJhc2VE
aXJlY3Rvcnk7CiAgICAgU3RyaW5nIG1fb3ZlcnJpZGVJY29uRGF0YWJhc2VQYXRoOwogICAgIFN0
cmluZyBtX292ZXJyaWRlTG9jYWxTdG9yYWdlRGlyZWN0b3J5OworICAgIFN0cmluZyBtX292ZXJy
aWRlQXBwbGljYXRpb25DYWNoZURpcmVjdG9yeTsKIAogICAgIGJvb2wgbV9wcm9jZXNzVGVybWlu
YXRpb25FbmFibGVkOwogICAgIApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9X
ZWJDb250ZXh0RWZsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
ZWZsL1dlYkNvbnRleHRFZmwuY3BwCShyZXZpc2lvbiA5NjgzNikKKysrIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9lZmwvV2ViQ29udGV4dEVmbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcg
KzMxLDcgQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLVN0cmluZyBXZWJDb250ZXh0OjphcHBs
aWNhdGlvbkNhY2hlRGlyZWN0b3J5KCkKK1N0cmluZyBXZWJDb250ZXh0OjpwbGF0Zm9ybURlZmF1
bHRBcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5KCkgY29uc3QKIHsKICAgICByZXR1cm4gV2ViQ29y
ZTo6Y2FjaGVTdG9yYWdlKCkuY2FjaGVEaXJlY3RvcnkoKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9ndGsvV2ViQ29udGV4dEd0ay5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJDb250ZXh0R3RrLmNwcAkocmV2aXNpb24gOTY4MzYp
CisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYkNvbnRleHRHdGsuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1XVEY6
OlN0cmluZyBXZWJDb250ZXh0OjphcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5KCkKK1dURjo6U3Ry
aW5nIFdlYkNvbnRleHQ6OnBsYXRmb3JtRGVmYXVsdEFwcGxpY2F0aW9uQ2FjaGVEaXJlY3Rvcnko
KSBjb25zdAogewogICAgIHJldHVybiBXZWJDb3JlOjpjYWNoZVN0b3JhZ2UoKS5jYWNoZURpcmVj
dG9yeSgpOwogfQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJDb250ZXh0
TWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViQ29u
dGV4dE1hYy5tbQkocmV2aXNpb24gOTY4MzYpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
bWFjL1dlYkNvbnRleHRNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTQ0LDcgKzQ0LDcgQEAgTlNT
dHJpbmcgKldlYkljb25EYXRhYmFzZURpcmVjdG9yeURlZmF1bAogCiBuYW1lc3BhY2UgV2ViS2l0
IHsKIAotU3RyaW5nIFdlYkNvbnRleHQ6OmFwcGxpY2F0aW9uQ2FjaGVEaXJlY3RvcnkoKQorU3Ry
aW5nIFdlYkNvbnRleHQ6OnBsYXRmb3JtRGVmYXVsdEFwcGxpY2F0aW9uQ2FjaGVEaXJlY3Rvcnko
KSBjb25zdAogewogICAgIE5TU3RyaW5nICphcHBOYW1lID0gW1tOU0J1bmRsZSBtYWluQnVuZGxl
XSBidW5kbGVJZGVudGlmaWVyXTsKICAgICBpZiAoIWFwcE5hbWUpCkluZGV4OiBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvcXQvV2ViQ29udGV4dFF0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViQ29udGV4dFF0LmNwcAkocmV2aXNpb24gOTY4MzYpCisr
KyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViQ29udGV4dFF0LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNTUsOSArNTUsOSBAQCBzdGF0aWMgUVN0cmluZyBkZWZhdWx0RGF0YUxvY2F0aW9u
KCkKIHN0YXRpYyBRU3RyaW5nIHNfZGVmYXVsdERhdGFiYXNlRGlyZWN0b3J5Owogc3RhdGljIFFT
dHJpbmcgc19kZWZhdWx0TG9jYWxTdG9yYWdlRGlyZWN0b3J5OwogCi1TdHJpbmcgV2ViQ29udGV4
dDo6YXBwbGljYXRpb25DYWNoZURpcmVjdG9yeSgpCitTdHJpbmcgV2ViQ29udGV4dDo6cGxhdGZv
cm1EZWZhdWx0QXBwbGljYXRpb25DYWNoZURpcmVjdG9yeSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJu
IFdlYkNvcmU6OmNhY2hlU3RvcmFnZSgpLmNhY2hlRGlyZWN0b3J5KCk7CisgICAgcmV0dXJuIGRl
ZmF1bHREYXRhTG9jYXRpb24oKTsKIH0KIAogdm9pZCBXZWJDb250ZXh0OjpwbGF0Zm9ybUluaXRp
YWxpemVXZWJQcm9jZXNzKFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMp
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvd2luL1dlYkNvbnRleHRXaW4uY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy93aW4vV2ViQ29udGV4dFdpbi5j
cHAJKHJldmlzaW9uIDk2ODM2KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3dpbi9XZWJD
b250ZXh0V2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzksNyArMzksNyBAQCB1c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLVN0cmluZyBXZWJDb250ZXh0
OjphcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5KCkKK1N0cmluZyBXZWJDb250ZXh0OjpwbGF0Zm9y
bURlZmF1bHRBcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5KCkgY29uc3QKIHsKICAgICByZXR1cm4g
bG9jYWxVc2VyU3BlY2lmaWNTdG9yYWdlRGlyZWN0b3J5KCk7CiB9CkluZGV4OiBMYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lv
biA5Njg1MikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDEyIEBACisyMDExLTEwLTA2ICBRaSBaaGFuZyAgPHFpLjIuemhhbmdAbm9raWEuY29tPgor
CisgICAgICAgIFtRdF1bV0syXSBBcHBsaWNhdGlvbkNhY2hlIExheW91dFRlc3RzIGZhaWxlZAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1NDEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3Jt
L3F0LXdrMi9Ta2lwcGVkOgorCiAyMDExLTEwLTA2ICBEaXJrIFNjaHVsemUgIDxrcml0QHdlYmtp
dC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZDogM3JkIGNodW5rIG9mIG5ldyBTVkcgYmFzZWxp
bmUgZm9yIGxpb24uCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC13azIvU2tpcHBlZAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC13azIvU2tpcHBlZAkocmV2aXNp
b24gOTY4MzYpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC13azIvU2tpcHBlZAkod29ya2lu
ZyBjb3B5KQpAQCAtMzMxLDcgKzMzMSw2IEBAIHN0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1lbXB0eS12
ZXJzaW9uLmh0bWwKIHN0b3JhZ2UvcmVhZC10cmFuc2FjdGlvbnMtcnVubmluZy1jb25jdXJyZW50
bHkuaHRtbAogCiAjIEZBSUw6IFRpbWVkIG91dCB3YWl0aW5nIGZvciBub3RpZnlEb25lIHRvIGJl
IGNhbGxlZAotaHR0cC90ZXN0cy9hcHBjYWNoZQogZmFzdC9kb20vYmVmb3JlbG9hZC92aWRlby1i
ZWZvcmUtbG9hZC5odG1sCiBtZWRpYS92aWRlby1zb3VyY2UtbW92ZWQuaHRtbAogaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvaGl4aWU3Ni9mcmFtZS1sZW5ndGhzLmh0bWwK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110003</attachid>
            <date>2011-10-06 13:15:52 -0700</date>
            <delta_ts>2011-10-15 01:52:07 -0700</delta_ts>
            <desc>patch2</desc>
            <filename>bug69541_2.patch</filename>
            <type>text/plain</type>
            <size>7170</size>
            <attacher name="qi">qi.2.zhang</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDk2ODUyKQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzEgQEAKKzIwMTEtMTAtMDYgIFFpIFpoYW5n
ICA8cWkuMi56aGFuZ0Bub2tpYS5jb20+CisKKyAgICAgICAgW1F0XVtXSzJdIEFwcGxpY2F0aW9u
Q2FjaGUgTGF5b3V0VGVzdHMgZmFpbGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD02OTU0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIDEuIFNldCB0aGUgYXBwbGljYXRpb25DYWNoZURpcmVjdG9yeSB0byB0
aGUgZGVmYXVsdCBwbGFjZSBsaWtlIGNvb2tpZS4gVGhlIG9yaWdpbmFsIHZhbHVlIGlzIG51bGwg
d2hpY2ggZGVwZW5kIG9uIHVpIGNsaWVudCB0bworICAgICAgICBzZXQgYW5kIHdlIGRpZG4ndCBz
ZXQgeWV0LgorICAgICAgICAyLiBBZGQgaW50ZXJmYWNlIHBsYXRmb3JtRGVmYXVsdEFwcGxpY2F0
aW9uQ2FjaGVEaXJlY3RvcnkgbGlrZSBwbGF0Zm9ybURlZmF1bHREYXRhYmFzZURpcmVjdG9yeSwg
cGxhdGZvcm1EZWZhdWx0SWNvbkRhdGFiYXNlUGF0aAorICAgICAgICBhbmQgcGxhdGZvcm1EZWZh
dWx0TG9jYWxTdG9yYWdlRGlyZWN0b3J5IGRpZC4KKyAgICAgICAgMy4gQWRkIGludGVyZmFjZSBz
ZXRBcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5LgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYkNv
bnRleHQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0OjphcHBsaWNhdGlvbkNhY2hl
RGlyZWN0b3J5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQ29udGV4dC5oOgorICAgICAgICAo
V2ViS2l0OjpXZWJDb250ZXh0OjpzZXRBcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5KToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvZWZsL1dlYkNvbnRleHRFZmwuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJDb250ZXh0OjpwbGF0Zm9ybURlZmF1bHRBcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5KToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvZ3RrL1dlYkNvbnRleHRHdGsuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJDb250ZXh0OjpwbGF0Zm9ybURlZmF1bHRBcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5KToK
KyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNYWMubW06CisgICAgICAgIChXZWJL
aXQ6OldlYkNvbnRleHQ6OnBsYXRmb3JtRGVmYXVsdEFwcGxpY2F0aW9uQ2FjaGVEaXJlY3Rvcnkp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9XZWJDb250ZXh0UXQuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJDb250ZXh0OjpwbGF0Zm9ybURlZmF1bHRBcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5
KToKKyAgICAgICAgKiBVSVByb2Nlc3Mvd2luL1dlYkNvbnRleHRXaW4uY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJDb250ZXh0OjpwbGF0Zm9ybURlZmF1bHRBcHBsaWNhdGlvbkNhY2hlRGlyZWN0
b3J5KToKKwogMjAxMS0xMC0wNiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxp
YS5jb20+CiAKICAgICAgICAgW0dUS10gQWRkIGVzdGltYXRlZC1wcm9ncmVzcyBwcm9wZXJ0eSB0
byBXZWJLaXRXZWJMb2FkZXJDbGllbnQKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJDb250ZXh0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
Q29udGV4dC5jcHAJKHJldmlzaW9uIDk2ODM2KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYkNvbnRleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04MDQsNiArODA0LDE0IEBAIFN0cmlu
ZyBXZWJDb250ZXh0Ojpsb2NhbFN0b3JhZ2VEaXJlY3RvcnkKICAgICByZXR1cm4gcGxhdGZvcm1E
ZWZhdWx0TG9jYWxTdG9yYWdlRGlyZWN0b3J5KCk7CiB9CiAKK1N0cmluZyBXZWJDb250ZXh0Ojph
cHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5KCkgY29uc3QKK3sKKyAgICBpZiAoIW1fb3ZlcnJpZGVB
cHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5LmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIG1fb3Zl
cnJpZGVBcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5OworCisgICAgcmV0dXJuIHBsYXRmb3JtRGVm
YXVsdEFwcGxpY2F0aW9uQ2FjaGVEaXJlY3RvcnkoKTsKK30KKwogdm9pZCBXZWJDb250ZXh0Ojpz
ZXRIVFRQUGlwZWxpbmluZ0VuYWJsZWQoYm9vbCBlbmFibGVkKQogewogI2lmIFBMQVRGT1JNKE1B
QykKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaAkocmV2aXNpb24gOTY4
MzYpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xMTAsNyArMTEwLDkgQEAgcHVibGljOgogICAgIHZvaWQgc2V0QWRkaXRpb25hbFBs
dWdpbnNEaXJlY3RvcnkoY29uc3QgU3RyaW5nJik7CiAKICAgICBQbHVnaW5JbmZvU3RvcmUmIHBs
dWdpbkluZm9TdG9yZSgpIHsgcmV0dXJuIG1fcGx1Z2luSW5mb1N0b3JlOyB9Ci0gICAgU3RyaW5n
IGFwcGxpY2F0aW9uQ2FjaGVEaXJlY3RvcnkoKTsKKyAgICBTdHJpbmcgYXBwbGljYXRpb25DYWNo
ZURpcmVjdG9yeSgpIGNvbnN0OworICAgIFN0cmluZyBwbGF0Zm9ybURlZmF1bHRBcHBsaWNhdGlv
bkNhY2hlRGlyZWN0b3J5KCkgY29uc3Q7CisgICAgdm9pZCBzZXRBcHBsaWNhdGlvbkNhY2hlRGly
ZWN0b3J5KGNvbnN0IFN0cmluZyYgZGlyKSB7IG1fb3ZlcnJpZGVBcHBsaWNhdGlvbkNhY2hlRGly
ZWN0b3J5ID0gZGlyOyB9CiAKICAgICB2b2lkIHNldEFsd2F5c1VzZXNDb21wbGV4VGV4dENvZGVQ
YXRoKGJvb2wpOwogICAgIHZvaWQgc2V0U2hvdWxkVXNlRm9udFNtb290aGluZyhib29sKTsKQEAg
LTI3OSw2ICsyODEsNyBAQCBwcml2YXRlOgogICAgIFN0cmluZyBtX292ZXJyaWRlRGF0YWJhc2VE
aXJlY3Rvcnk7CiAgICAgU3RyaW5nIG1fb3ZlcnJpZGVJY29uRGF0YWJhc2VQYXRoOwogICAgIFN0
cmluZyBtX292ZXJyaWRlTG9jYWxTdG9yYWdlRGlyZWN0b3J5OworICAgIFN0cmluZyBtX292ZXJy
aWRlQXBwbGljYXRpb25DYWNoZURpcmVjdG9yeTsKIAogICAgIGJvb2wgbV9wcm9jZXNzVGVybWlu
YXRpb25FbmFibGVkOwogICAgIApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9X
ZWJDb250ZXh0RWZsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
ZWZsL1dlYkNvbnRleHRFZmwuY3BwCShyZXZpc2lvbiA5NjgzNikKKysrIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9lZmwvV2ViQ29udGV4dEVmbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcg
KzMxLDcgQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLVN0cmluZyBXZWJDb250ZXh0OjphcHBs
aWNhdGlvbkNhY2hlRGlyZWN0b3J5KCkKK1N0cmluZyBXZWJDb250ZXh0OjpwbGF0Zm9ybURlZmF1
bHRBcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5KCkgY29uc3QKIHsKICAgICByZXR1cm4gV2ViQ29y
ZTo6Y2FjaGVTdG9yYWdlKCkuY2FjaGVEaXJlY3RvcnkoKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9ndGsvV2ViQ29udGV4dEd0ay5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJDb250ZXh0R3RrLmNwcAkocmV2aXNpb24gOTY4MzYp
CisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYkNvbnRleHRHdGsuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1XVEY6
OlN0cmluZyBXZWJDb250ZXh0OjphcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5KCkKK1dURjo6U3Ry
aW5nIFdlYkNvbnRleHQ6OnBsYXRmb3JtRGVmYXVsdEFwcGxpY2F0aW9uQ2FjaGVEaXJlY3Rvcnko
KSBjb25zdAogewogICAgIHJldHVybiBXZWJDb3JlOjpjYWNoZVN0b3JhZ2UoKS5jYWNoZURpcmVj
dG9yeSgpOwogfQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJDb250ZXh0
TWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViQ29u
dGV4dE1hYy5tbQkocmV2aXNpb24gOTY4MzYpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
bWFjL1dlYkNvbnRleHRNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTQ0LDcgKzQ0LDcgQEAgTlNT
dHJpbmcgKldlYkljb25EYXRhYmFzZURpcmVjdG9yeURlZmF1bAogCiBuYW1lc3BhY2UgV2ViS2l0
IHsKIAotU3RyaW5nIFdlYkNvbnRleHQ6OmFwcGxpY2F0aW9uQ2FjaGVEaXJlY3RvcnkoKQorU3Ry
aW5nIFdlYkNvbnRleHQ6OnBsYXRmb3JtRGVmYXVsdEFwcGxpY2F0aW9uQ2FjaGVEaXJlY3Rvcnko
KSBjb25zdAogewogICAgIE5TU3RyaW5nICphcHBOYW1lID0gW1tOU0J1bmRsZSBtYWluQnVuZGxl
XSBidW5kbGVJZGVudGlmaWVyXTsKICAgICBpZiAoIWFwcE5hbWUpCkluZGV4OiBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvcXQvV2ViQ29udGV4dFF0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViQ29udGV4dFF0LmNwcAkocmV2aXNpb24gOTY4MzYpCisr
KyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViQ29udGV4dFF0LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNTUsOSArNTUsOSBAQCBzdGF0aWMgUVN0cmluZyBkZWZhdWx0RGF0YUxvY2F0aW9u
KCkKIHN0YXRpYyBRU3RyaW5nIHNfZGVmYXVsdERhdGFiYXNlRGlyZWN0b3J5Owogc3RhdGljIFFT
dHJpbmcgc19kZWZhdWx0TG9jYWxTdG9yYWdlRGlyZWN0b3J5OwogCi1TdHJpbmcgV2ViQ29udGV4
dDo6YXBwbGljYXRpb25DYWNoZURpcmVjdG9yeSgpCitTdHJpbmcgV2ViQ29udGV4dDo6cGxhdGZv
cm1EZWZhdWx0QXBwbGljYXRpb25DYWNoZURpcmVjdG9yeSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJu
IFdlYkNvcmU6OmNhY2hlU3RvcmFnZSgpLmNhY2hlRGlyZWN0b3J5KCk7CisgICAgcmV0dXJuIGRl
ZmF1bHREYXRhTG9jYXRpb24oKTsKIH0KIAogdm9pZCBXZWJDb250ZXh0OjpwbGF0Zm9ybUluaXRp
YWxpemVXZWJQcm9jZXNzKFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMp
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvd2luL1dlYkNvbnRleHRXaW4uY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy93aW4vV2ViQ29udGV4dFdpbi5j
cHAJKHJldmlzaW9uIDk2ODM2KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3dpbi9XZWJD
b250ZXh0V2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzksNyArMzksNyBAQCB1c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLVN0cmluZyBXZWJDb250ZXh0
OjphcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5KCkKK1N0cmluZyBXZWJDb250ZXh0OjpwbGF0Zm9y
bURlZmF1bHRBcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5KCkgY29uc3QKIHsKICAgICByZXR1cm4g
bG9jYWxVc2VyU3BlY2lmaWNTdG9yYWdlRGlyZWN0b3J5KCk7CiB9CkluZGV4OiBMYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lv
biA5Njg1MikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDEyIEBACisyMDExLTEwLTA2ICBRaSBaaGFuZyAgPHFpLjIuemhhbmdAbm9raWEuY29tPgor
CisgICAgICAgIFtRdF1bV0syXSBBcHBsaWNhdGlvbkNhY2hlIExheW91dFRlc3RzIGZhaWxlZAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1NDEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3Jt
L3F0LXdrMi9Ta2lwcGVkOgorCiAyMDExLTEwLTA2ICBEaXJrIFNjaHVsemUgIDxrcml0QHdlYmtp
dC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZDogM3JkIGNodW5rIG9mIG5ldyBTVkcgYmFzZWxp
bmUgZm9yIGxpb24uCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC13azIvU2tpcHBlZAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC13azIvU2tpcHBlZAkocmV2aXNp
b24gOTY4MzYpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC13azIvU2tpcHBlZAkod29ya2lu
ZyBjb3B5KQpAQCAtMzMxLDcgKzMzMSw2IEBAIHN0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1lbXB0eS12
ZXJzaW9uLmh0bWwKIHN0b3JhZ2UvcmVhZC10cmFuc2FjdGlvbnMtcnVubmluZy1jb25jdXJyZW50
bHkuaHRtbAogCiAjIEZBSUw6IFRpbWVkIG91dCB3YWl0aW5nIGZvciBub3RpZnlEb25lIHRvIGJl
IGNhbGxlZAotaHR0cC90ZXN0cy9hcHBjYWNoZQogZmFzdC9kb20vYmVmb3JlbG9hZC92aWRlby1i
ZWZvcmUtbG9hZC5odG1sCiBtZWRpYS92aWRlby1zb3VyY2UtbW92ZWQuaHRtbAogaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvaGl4aWU3Ni9mcmFtZS1sZW5ndGhzLmh0bWwK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110140</attachid>
            <date>2011-10-07 07:02:20 -0700</date>
            <delta_ts>2012-08-29 14:09:22 -0700</delta_ts>
            <desc>patch3</desc>
            <filename>bug69541_3.patch</filename>
            <type>text/plain</type>
            <size>7152</size>
            <attacher name="qi">qi.2.zhang</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDk2ODUyKQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzEgQEAKKzIwMTEtMTAtMDYgIFFpIFpoYW5n
ICA8cWkuMi56aGFuZ0Bub2tpYS5jb20+CisKKyAgICAgICAgW1F0XVtXSzJdIEFwcGxpY2F0aW9u
Q2FjaGUgTGF5b3V0VGVzdHMgZmFpbGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD02OTU0MQorCisgICAgICAgIFJldmlld2VkIGJ5IENoYW5nIFNodS4K
KworICAgICAgICAxLiBNb3ZlZCBhcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5IHRvIGNvbW1vbiBj
b2RlLgorICAgICAgICAyLiBBZGRlZCBpbnRlcmZhY2Ugc2V0QXBwbGljYXRpb25DYWNoZURpcmVj
dG9yeSB0byBhbGxvdyBVSSBjbGllbnQgb3ZlcnJpZGluZy4KKyAgICAgICAgMy4gUmVuYW1lZCBh
bGwgcGxhdGZvcm0tZGVwZW5kZW50IGltcGxlbWVudGF0aW9ucyBvZiBhcHBsaWNhdGlvbkNhY2hl
RGlyZWN0b3J5IHRvIHBsYXRmb3JtRGVmYXVsdEFwcGxpY2F0aW9uQ2FjaGVEaXJlY3RvcnkuCisg
ICAgICAgIDQuIE9uIFF0LCBzZXQgdGhlIHBsYXRmb3JtRGVmYXVsdEFwcGxpY2F0aW9uQ2FjaGVE
aXJlY3RvcnkgdG8gdGhlIGRlZmF1bHQgZGF0YSBsb2NhdGlvbi4KKworCisgICAgICAgICogVUlQ
cm9jZXNzL1dlYkNvbnRleHQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0OjphcHBs
aWNhdGlvbkNhY2hlRGlyZWN0b3J5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQ29udGV4dC5o
OgorICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0OjpzZXRBcHBsaWNhdGlvbkNhY2hlRGlyZWN0
b3J5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1dlYkNvbnRleHRFZmwuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJDb250ZXh0OjpwbGF0Zm9ybURlZmF1bHRBcHBsaWNhdGlvbkNhY2hlRGly
ZWN0b3J5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvZ3RrL1dlYkNvbnRleHRHdGsuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJDb250ZXh0OjpwbGF0Zm9ybURlZmF1bHRBcHBsaWNhdGlvbkNhY2hl
RGlyZWN0b3J5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNYWMubW06Cisg
ICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHQ6OnBsYXRmb3JtRGVmYXVsdEFwcGxpY2F0aW9uQ2Fj
aGVEaXJlY3RvcnkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9XZWJDb250ZXh0UXQuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0OjpwbGF0Zm9ybURlZmF1bHRBcHBsaWNhdGlvbkNh
Y2hlRGlyZWN0b3J5KToKKyAgICAgICAgKiBVSVByb2Nlc3Mvd2luL1dlYkNvbnRleHRXaW4uY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0OjpwbGF0Zm9ybURlZmF1bHRBcHBsaWNhdGlv
bkNhY2hlRGlyZWN0b3J5KToKKwogMjAxMS0xMC0wNiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxj
Z2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gQWRkIGVzdGltYXRlZC1wcm9ncmVz
cyBwcm9wZXJ0eSB0byBXZWJLaXRXZWJMb2FkZXJDbGllbnQKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViQ29udGV4dC5jcHAJKHJldmlzaW9uIDk2ODM2KQorKysgU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04MDQsNiArODA0
LDE0IEBAIFN0cmluZyBXZWJDb250ZXh0Ojpsb2NhbFN0b3JhZ2VEaXJlY3RvcnkKICAgICByZXR1
cm4gcGxhdGZvcm1EZWZhdWx0TG9jYWxTdG9yYWdlRGlyZWN0b3J5KCk7CiB9CiAKK1N0cmluZyBX
ZWJDb250ZXh0OjphcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5KCkgY29uc3QKK3sKKyAgICBpZiAo
IW1fb3ZlcnJpZGVBcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5LmlzRW1wdHkoKSkKKyAgICAgICAg
cmV0dXJuIG1fb3ZlcnJpZGVBcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5OworCisgICAgcmV0dXJu
IHBsYXRmb3JtRGVmYXVsdEFwcGxpY2F0aW9uQ2FjaGVEaXJlY3RvcnkoKTsKK30KKwogdm9pZCBX
ZWJDb250ZXh0OjpzZXRIVFRQUGlwZWxpbmluZ0VuYWJsZWQoYm9vbCBlbmFibGVkKQogewogI2lm
IFBMQVRGT1JNKE1BQykKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaAko
cmV2aXNpb24gOTY4MzYpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5o
CSh3b3JraW5nIGNvcHkpCkBAIC0xMTAsNyArMTEwLDkgQEAgcHVibGljOgogICAgIHZvaWQgc2V0
QWRkaXRpb25hbFBsdWdpbnNEaXJlY3RvcnkoY29uc3QgU3RyaW5nJik7CiAKICAgICBQbHVnaW5J
bmZvU3RvcmUmIHBsdWdpbkluZm9TdG9yZSgpIHsgcmV0dXJuIG1fcGx1Z2luSW5mb1N0b3JlOyB9
Ci0gICAgU3RyaW5nIGFwcGxpY2F0aW9uQ2FjaGVEaXJlY3RvcnkoKTsKKyAgICBTdHJpbmcgYXBw
bGljYXRpb25DYWNoZURpcmVjdG9yeSgpIGNvbnN0OworICAgIFN0cmluZyBwbGF0Zm9ybURlZmF1
bHRBcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5KCkgY29uc3Q7CisgICAgdm9pZCBzZXRBcHBsaWNh
dGlvbkNhY2hlRGlyZWN0b3J5KGNvbnN0IFN0cmluZyYgZGlyKSB7IG1fb3ZlcnJpZGVBcHBsaWNh
dGlvbkNhY2hlRGlyZWN0b3J5ID0gZGlyOyB9CiAKICAgICB2b2lkIHNldEFsd2F5c1VzZXNDb21w
bGV4VGV4dENvZGVQYXRoKGJvb2wpOwogICAgIHZvaWQgc2V0U2hvdWxkVXNlRm9udFNtb290aGlu
Zyhib29sKTsKQEAgLTI3OSw2ICsyODEsNyBAQCBwcml2YXRlOgogICAgIFN0cmluZyBtX292ZXJy
aWRlRGF0YWJhc2VEaXJlY3Rvcnk7CiAgICAgU3RyaW5nIG1fb3ZlcnJpZGVJY29uRGF0YWJhc2VQ
YXRoOwogICAgIFN0cmluZyBtX292ZXJyaWRlTG9jYWxTdG9yYWdlRGlyZWN0b3J5OworICAgIFN0
cmluZyBtX292ZXJyaWRlQXBwbGljYXRpb25DYWNoZURpcmVjdG9yeTsKIAogICAgIGJvb2wgbV9w
cm9jZXNzVGVybWluYXRpb25FbmFibGVkOwogICAgIApJbmRleDogU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2VmbC9XZWJDb250ZXh0RWZsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvZWZsL1dlYkNvbnRleHRFZmwuY3BwCShyZXZpc2lvbiA5NjgzNikKKysrIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViQ29udGV4dEVmbC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTMxLDcgKzMxLDcgQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLVN0cmluZyBXZWJD
b250ZXh0OjphcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5KCkKK1N0cmluZyBXZWJDb250ZXh0Ojpw
bGF0Zm9ybURlZmF1bHRBcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5KCkgY29uc3QKIHsKICAgICBy
ZXR1cm4gV2ViQ29yZTo6Y2FjaGVTdG9yYWdlKCkuY2FjaGVEaXJlY3RvcnkoKTsKIH0KSW5kZXg6
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViQ29udGV4dEd0ay5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJDb250ZXh0R3RrLmNwcAkocmV2
aXNpb24gOTY4MzYpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYkNvbnRleHRH
dGsuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBACiAKIG5hbWVzcGFjZSBXZWJL
aXQgewogCi1XVEY6OlN0cmluZyBXZWJDb250ZXh0OjphcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5
KCkKK1dURjo6U3RyaW5nIFdlYkNvbnRleHQ6OnBsYXRmb3JtRGVmYXVsdEFwcGxpY2F0aW9uQ2Fj
aGVEaXJlY3RvcnkoKSBjb25zdAogewogICAgIHJldHVybiBXZWJDb3JlOjpjYWNoZVN0b3JhZ2Uo
KS5jYWNoZURpcmVjdG9yeSgpOwogfQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21h
Yy9XZWJDb250ZXh0TWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9tYWMvV2ViQ29udGV4dE1hYy5tbQkocmV2aXNpb24gOTY4MzYpCisrKyBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTQ0LDcg
KzQ0LDcgQEAgTlNTdHJpbmcgKldlYkljb25EYXRhYmFzZURpcmVjdG9yeURlZmF1bAogCiBuYW1l
c3BhY2UgV2ViS2l0IHsKIAotU3RyaW5nIFdlYkNvbnRleHQ6OmFwcGxpY2F0aW9uQ2FjaGVEaXJl
Y3RvcnkoKQorU3RyaW5nIFdlYkNvbnRleHQ6OnBsYXRmb3JtRGVmYXVsdEFwcGxpY2F0aW9uQ2Fj
aGVEaXJlY3RvcnkoKSBjb25zdAogewogICAgIE5TU3RyaW5nICphcHBOYW1lID0gW1tOU0J1bmRs
ZSBtYWluQnVuZGxlXSBidW5kbGVJZGVudGlmaWVyXTsKICAgICBpZiAoIWFwcE5hbWUpCkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViQ29udGV4dFF0LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViQ29udGV4dFF0LmNwcAkocmV2aXNp
b24gOTY4MzYpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViQ29udGV4dFF0LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNTUsOSArNTUsOSBAQCBzdGF0aWMgUVN0cmluZyBkZWZhdWx0
RGF0YUxvY2F0aW9uKCkKIHN0YXRpYyBRU3RyaW5nIHNfZGVmYXVsdERhdGFiYXNlRGlyZWN0b3J5
Owogc3RhdGljIFFTdHJpbmcgc19kZWZhdWx0TG9jYWxTdG9yYWdlRGlyZWN0b3J5OwogCi1TdHJp
bmcgV2ViQ29udGV4dDo6YXBwbGljYXRpb25DYWNoZURpcmVjdG9yeSgpCitTdHJpbmcgV2ViQ29u
dGV4dDo6cGxhdGZvcm1EZWZhdWx0QXBwbGljYXRpb25DYWNoZURpcmVjdG9yeSgpIGNvbnN0CiB7
Ci0gICAgcmV0dXJuIFdlYkNvcmU6OmNhY2hlU3RvcmFnZSgpLmNhY2hlRGlyZWN0b3J5KCk7Cisg
ICAgcmV0dXJuIGRlZmF1bHREYXRhTG9jYXRpb24oKTsKIH0KIAogdm9pZCBXZWJDb250ZXh0Ojpw
bGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMm
IHBhcmFtZXRlcnMpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvd2luL1dlYkNvbnRl
eHRXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy93aW4vV2Vi
Q29udGV4dFdpbi5jcHAJKHJldmlzaW9uIDk2ODM2KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL3dpbi9XZWJDb250ZXh0V2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzksNyArMzksNyBA
QCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLVN0cmlu
ZyBXZWJDb250ZXh0OjphcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5KCkKK1N0cmluZyBXZWJDb250
ZXh0OjpwbGF0Zm9ybURlZmF1bHRBcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5KCkgY29uc3QKIHsK
ICAgICByZXR1cm4gbG9jYWxVc2VyU3BlY2lmaWNTdG9yYWdlRGlyZWN0b3J5KCk7CiB9CkluZGV4
OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCShyZXZpc2lvbiA5Njg1MikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDExLTEwLTA2ICBRaSBaaGFuZyAgPHFpLjIuemhhbmdA
bm9raWEuY29tPgorCisgICAgICAgIFtRdF1bV0syXSBBcHBsaWNhdGlvbkNhY2hlIExheW91dFRl
c3RzIGZhaWxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9Njk1NDEKKworICAgICAgICBSZXZpZXdlZCBieSBDaGFuZyBTaHUuCisKKyAgICAgICAgVW5z
a2lwIHBhc3NlZCB0ZXN0cy4KKworICAgICAgICAqIHBsYXRmb3JtL3F0LXdrMi9Ta2lwcGVkOgor
CiAyMDExLTEwLTA2ICBEaXJrIFNjaHVsemUgIDxrcml0QHdlYmtpdC5vcmc+CiAKICAgICAgICAg
VW5yZXZpZXdlZDogM3JkIGNodW5rIG9mIG5ldyBTVkcgYmFzZWxpbmUgZm9yIGxpb24uCkluZGV4
OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC13azIvU2tpcHBlZAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9xdC13azIvU2tpcHBlZAkocmV2aXNpb24gOTY4MzYpCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9xdC13azIvU2tpcHBlZAkod29ya2luZyBjb3B5KQpAQCAtMzMxLDcg
KzMzMSw2IEBAIHN0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1lbXB0eS12ZXJzaW9uLmh0bWwKIHN0b3Jh
Z2UvcmVhZC10cmFuc2FjdGlvbnMtcnVubmluZy1jb25jdXJyZW50bHkuaHRtbAogCiAjIEZBSUw6
IFRpbWVkIG91dCB3YWl0aW5nIGZvciBub3RpZnlEb25lIHRvIGJlIGNhbGxlZAotaHR0cC90ZXN0
cy9hcHBjYWNoZQogZmFzdC9kb20vYmVmb3JlbG9hZC92aWRlby1iZWZvcmUtbG9hZC5odG1sCiBt
ZWRpYS92aWRlby1zb3VyY2UtbW92ZWQuaHRtbAogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
aGl4aWU3Ni9mcmFtZS1sZW5ndGhzLmh0bWwK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161312</attachid>
            <date>2012-08-29 14:09:27 -0700</date>
            <delta_ts>2012-08-29 20:30:29 -0700</delta_ts>
            <desc>Patch that properly updates app cache dir</desc>
            <filename>bug-69541-20120829180916.patch</filename>
            <type>text/plain</type>
            <size>2845</size>
            <attacher name="Luciano Wolf">luciano.wolf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3MDQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMGYwNGIzMTY5NDk1N2Zm
MjYzNmMxMWU0ZjNmMzI5ZDc5OGRhMzBmYS4uMWRiMWQzZWMyYjk0NGI4MzIzODhmNmExNDJiN2Zj
NWJjZGVlM2RiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTA4LTI5ICBMdWNp
YW5vIFdvbGYgIDxsdWNpYW5vLndvbGZAb3BlbmJvc3NhLm9yZz4KKworICAgICAgICBbUXRdW1dL
Ml0gQXBwbGljYXRpb25DYWNoZSBMYXlvdXRUZXN0cyBmYWlsZWQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTQxCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmV0dXJucyBkZWZhdWx0RGlza0NhY2hlRGly
ZWN0b3J5IHdoZW4gbm8gY2FjaGUgZGlyZWN0b3J5IHdhcyBwcm92aWRlZC4KKyAgICAgICAgSXQn
cyB1c2VkIGJ5IHNldE9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZCBtZXRob2QgdGhh
dCB3b24ndCB3b3JrCisgICAgICAgIHdpdGggYW4gaW52YWxpZCBjYWNoZSBkaXJlY3RvcnkuCisK
KyAgICAgICAgKiBVSVByb2Nlc3MvcXQvV2ViQ29udGV4dFF0LmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViQ29udGV4dDo6YXBwbGljYXRpb25DYWNoZURpcmVjdG9yeSk6CisKIDIwMTItMDgtMjkg
IEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgogCiAgICAgICAgIEJ1aWxkIHBhdGNoIGZvciBR
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1dlYkNvbnRleHRRdC5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvV2ViQ29udGV4dFF0LmNwcAppbmRleCAz
ZjM4ZGQyODg5ZjA2ZWMzMDZjMTkwZGEyN2M2MDRhMGM4ZDczYzRmLi5mNmFmODlkNjJhYWUyZmQ1
MjI4OTNjM2E5NDkwZjQ0YmNkN2EzOGM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvcXQvV2ViQ29udGV4dFF0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
cXQvV2ViQ29udGV4dFF0LmNwcApAQCAtNTgsNyArNTgsMTIgQEAgc3RhdGljIFN0cmluZyBkZWZh
dWx0RGlza0NhY2hlRGlyZWN0b3J5KCkKIAogU3RyaW5nIFdlYkNvbnRleHQ6OmFwcGxpY2F0aW9u
Q2FjaGVEaXJlY3RvcnkoKQogewotICAgIHJldHVybiBXZWJDb3JlOjpjYWNoZVN0b3JhZ2UoKS5j
YWNoZURpcmVjdG9yeSgpOworICAgIGNvbnN0IFN0cmluZyBjYWNoZURpcmVjdG9yeSA9IFdlYkNv
cmU6OmNhY2hlU3RvcmFnZSgpLmNhY2hlRGlyZWN0b3J5KCk7CisKKyAgICBpZiAoY2FjaGVEaXJl
Y3RvcnkuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gZGVmYXVsdERpc2tDYWNoZURpcmVjdG9y
eSgpOworCisgICAgcmV0dXJuIGNhY2hlRGlyZWN0b3J5OwogfQogCiB2b2lkIFdlYkNvbnRleHQ6
OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MoV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cyYgcGFyYW1ldGVycykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwZWRjZGMwODgyMzkxMGM0YzA5YjExNTI4NzIyYWFkZjQ4
NWMwNzY2Li4xYTMyZGQ1MDhhMGQ3NGZkM2VkZGJkNGMzODQzZjg3MTRjZmE2NmM0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMTItMDgtMjkgIEx1Y2lhbm8gV29sZiAgPGx1Y2lhbm8ud29sZkBv
cGVuYm9zc2Eub3JnPgorCisgICAgICAgIFtRdF1bV0syXSBBcHBsaWNhdGlvbkNhY2hlIExheW91
dFRlc3RzIGZhaWxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9Njk1NDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBVbnNraXAgaHR0cC9hcHBjYWNoZSB0ZXN0cyBmb3IgcXQtNS4wLXdrMi4KKworICAgICAg
ICAqIHBsYXRmb3JtL3F0LTUuMC13azIvU2tpcHBlZDoKKwogMjAxMi0wOC0yOSAgRXVnZW5lIEts
eXVjaG5pa292ICA8ZXVzdGFzLmJ1Z0BnbWFpbC5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3Rv
cjogVGltZWxpbmU6IGF2b2lkICJJUEMgbWVzc2FnZSB0b28gYmlnIiBvbiBzYXZlL2xvYWQKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0LTUuMC13azIvU2tpcHBlZCBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL3F0LTUuMC13azIvU2tpcHBlZAppbmRleCBhNTY0YjViMmIzMDA5ODIz
NmFmODdmOTIyYzE2ODQwNWUyNjBkNWQ3Li44OGIxNmQyODk5M2VhZWMyOWViODU3YWI1MWQxZDFj
NTk0MzU4OWI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC01LjAtd2syL1Nr
aXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQtNS4wLXdrMi9Ta2lwcGVkCkBAIC0x
NDgsNyArMTQ4LDYgQEAgZmFzdC9ub3RpZmljYXRpb25zCiBmYXN0L292ZXJmbG93L3Njcm9sbGJh
ci1yZXN0b3JlZC1hbmQtdGhlbi1sb2NrZWQuaHRtbAogCiAjIEZBSUw6IFRpbWVkIG91dCB3YWl0
aW5nIGZvciBub3RpZnlEb25lIHRvIGJlIGNhbGxlZAotaHR0cC90ZXN0cy9hcHBjYWNoZQogbWVk
aWEvdmlkZW8tc291cmNlLW1vdmVkLmh0bWwKIAogIyBUaGVzZSB0ZXN0cyBhbHdheXMgZmFpbCAo
d2l0aCBhbmQgd2l0aG91dCAtLXNpbmdseSkuIEl0IG5lZWRzIGludmVzdGlnYXRpb24uCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>