<?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>46287</bug_id>
          
          <creation_ts>2010-09-22 11:59:00 -0700</creation_ts>
          <short_desc>[Qt] Enable Netscape plugin metadata caching on Linux should not be set in QWebSettings::enablePersistentStorage</short_desc>
          <delta_ts>2010-10-15 07:01:38 -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>WebKit Qt</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</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, QtTriaged</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Leong">david.leong</reporter>
          <assigned_to name="QtWebKit Unassigned">webkit-qt-unassigned</assigned_to>
          <cc>ademar</cc>
    
    <cc>commit-queue</cc>
    
    <cc>david.leong</cc>
    
    <cc>hausmann</cc>
    
    <cc>kimmo.t.kinnunen</cc>
    
    <cc>kling</cc>
    
    <cc>laszlo.gombos</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>283116</commentid>
    <comment_count>0</comment_count>
    <who name="David Leong">david.leong</who>
    <bug_when>2010-09-22 11:59:00 -0700</bug_when>
    <thetext>Currently calling QWebSettings::enablePersistentStorage() function also calls setPersistentMetadataCacheEnabled(true); and setPersistentMetadataCachePath(storagePath); This functionality ties the persistant storage path with the plugin database path. 

Users may want to set a unique persistant path for different origins. Doing so will nullify the usefulness of the plugin cache. The plugin cache should be unique and sharable across the entire system.

Can we change the plugin cache functionality from the persistent storage path and add a new internal API to set the plugin database path.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>283119</commentid>
    <comment_count>1</comment_count>
    <who name="David Leong">david.leong</who>
    <bug_when>2010-09-22 11:59:30 -0700</bug_when>
    <thetext>Will post up a proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>283230</commentid>
    <comment_count>2</comment_count>
      <attachid>68434</attachid>
    <who name="David Leong">david.leong</who>
    <bug_when>2010-09-22 13:56:31 -0700</bug_when>
    <thetext>Created attachment 68434
Proposed changes.

Proposed change to move the netscape plugin path to a new private settings function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>283238</commentid>
    <comment_count>3</comment_count>
    <who name="David Leong">david.leong</who>
    <bug_when>2010-09-22 14:04:54 -0700</bug_when>
    <thetext>Talked to Laszlo, will make some changes to move it to QWebPage as a dynamic property. Will re-submit the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284059</commentid>
    <comment_count>4</comment_count>
      <attachid>68612</attachid>
    <who name="David Leong">david.leong</who>
    <bug_when>2010-09-23 16:03:42 -0700</bug_when>
    <thetext>Created attachment 68612
Proposed changes, v2

Updated to use QObject dynamic properties.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>286167</commentid>
    <comment_count>5</comment_count>
    <who name="Kimmo Kinnunen">kimmo.t.kinnunen</who>
    <bug_when>2010-09-28 04:12:24 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Created an attachment (id=68612) [details]
&gt; Proposed changes, v2
&gt; 
&gt; Updated to use QObject dynamic properties.


In the original patch there was API for setting the cache db dir, but it got rejected.

Adding Simon to the loop, he can decide about APIs..

See:
http://bugs.webkit.org/show_bug.cgi?id=43179#c12


IMHO, probably makes sense to call the API, if there will be one,  QWebSettings::setPluginCachePath(const QString &amp;location) instead of event-&gt;propertyName() == &quot;_q_NetscapePluginCachePath&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>286172</commentid>
    <comment_count>6</comment_count>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2010-09-28 04:28:00 -0700</bug_when>
    <thetext>I think for most &quot;common&quot; use-cases enabling the PersistentMetadataCache in QWebSettings::enablePersistentStorage() make sense. 

For QtWRT the PersistentMetadataCache should be &quot;system-wide&quot; while enablePersistentStorage set on a per widget basis, which tells me that the separate API to set a  the PersistentMetadataCache path is justified for the performance gain.

I proposed the dynamic property as the new exported symbol idea was already shut down.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>286886</commentid>
    <comment_count>7</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-09-29 08:15:49 -0700</bug_when>
    <thetext>Hmm, I see the point of sharing the plugin cache path between different run-time widgets, but this doesn&apos;t only apply to the plugin cache but to all other caches, too.

Why don&apos;t we change the behaviour of enablePersistentStorage() to put persistent storage into the provided storage path (or the DataLocation fallback) and put all _caches_ into a (documented) directory under QDesktopServices::CacheLocation?


Basically I&apos;m questioning if we really need an API if we can choose a sane default already in WebKit :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287002</commentid>
    <comment_count>8</comment_count>
    <who name="David Leong">david.leong</who>
    <bug_when>2010-09-29 11:08:40 -0700</bug_when>
    <thetext>Sounds like we want to keep the enable netscape plugin cache call in enablePersistantStorage() but we would like to use QDesktopServices to save the cache file to a shared location?

I will put up an updated patch based on Simon&apos;s comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287376</commentid>
    <comment_count>9</comment_count>
    <who name="Kimmo Kinnunen">kimmo.t.kinnunen</who>
    <bug_when>2010-09-29 21:56:13 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Why don&apos;t we change the behaviour of enablePersistentStorage() to put persistent storage into the provided storage path (or the DataLocation fallback) and put all _caches_ into a (documented) directory under QDesktopServices::CacheLocation?
&gt; 
&gt; 
&gt; Basically I&apos;m questioning if we really need an API if we can choose a sane default already in WebKit :)

Sounds very wise. Probably with &quot;all _caches_&quot; you mean all app-global caches. E.g. data caches like http caches, html5 app cache content, icon db, etc. probably should stay at datalocation, as they may leak app-specific info.

Also need to probably hardcode the caches path to ~/.appname/caches or something if the qdesktopservices is not available (the ifdef part)..

And hope that the cachelocation call produces desired results on symbian..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287422</commentid>
    <comment_count>10</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-09-30 01:16:36 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #7)
&gt; &gt; Why don&apos;t we change the behaviour of enablePersistentStorage() to put persistent storage into the provided storage path (or the DataLocation fallback) and put all _caches_ into a (documented) directory under QDesktopServices::CacheLocation?
&gt; &gt; 
&gt; &gt; 
&gt; &gt; Basically I&apos;m questioning if we really need an API if we can choose a sane default already in WebKit :)
&gt; 
&gt; Sounds very wise. Probably with &quot;all _caches_&quot; you mean all app-global caches. E.g. data caches like http caches, html5 app cache content, icon db, etc. probably should stay at datalocation, as they may leak app-specific info.
&gt; 
&gt; Also need to probably hardcode the caches path to ~/.appname/caches or something if the qdesktopservices is not available (the ifdef part)..
&gt; 
&gt; And hope that the cachelocation call produces desired results on symbian..

I guess it really depends on what kind of leakage we&apos;re afraid of with the wrt, but I&apos;d say any kind of storage that is a cache that can safely be deleted could be stored in a common location.

If there&apos;s a bug in WebKit leaking information when it shouldn&apos;t, then we should fix that :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288620</commentid>
    <comment_count>11</comment_count>
      <attachid>69552</attachid>
    <who name="David Leong">david.leong</who>
    <bug_when>2010-10-01 18:06:01 -0700</bug_when>
    <thetext>Created attachment 69552
patch v3

Patch v3 based on Simon&apos;s idea.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288621</commentid>
    <comment_count>12</comment_count>
      <attachid>69553</attachid>
    <who name="David Leong">david.leong</who>
    <bug_when>2010-10-01 18:09:15 -0700</bug_when>
    <thetext>Created attachment 69553
patch

Sorry, attached the wrong file. Updated patch based on Simon&apos;s idea.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288622</commentid>
    <comment_count>13</comment_count>
      <attachid>69554</attachid>
    <who name="David Leong">david.leong</who>
    <bug_when>2010-10-01 18:16:32 -0700</bug_when>
    <thetext>Created attachment 69554
patch

Not having a good day with patches... fixed again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288961</commentid>
    <comment_count>14</comment_count>
      <attachid>69554</attachid>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2010-10-04 09:01:23 -0700</bug_when>
    <thetext>Comment on attachment 69554
patch

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

&gt; WebKit/qt/Api/qwebsettings.cpp:1099
&gt; +    QString cachePath = QDesktopServices::storageLocation(QDesktopServices::DataLocation);

Shouldn&apos;t this be QDesktopServices::CacheLocation instead ?

I assume that DataLocation is not &quot;system-wide&quot; while CacheLocation would always point to the same location for all apps using QtWebKit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288987</commentid>
    <comment_count>15</comment_count>
      <attachid>69645</attachid>
    <who name="David Leong">david.leong</who>
    <bug_when>2010-10-04 10:06:58 -0700</bug_when>
    <thetext>Created attachment 69645
Updated to use cache location

Works fine on my linux machine. Will try on meego to make sure too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288997</commentid>
    <comment_count>16</comment_count>
    <who name="David Leong">david.leong</who>
    <bug_when>2010-10-04 10:21:55 -0700</bug_when>
    <thetext>Confirmed QDesktopLocation::CachePath working fine on Meego as well. 
The database gets saved to /home/user/.cache/organization/appname.

So each app will have a copy of the cache but it sharable for any QtWebkit instance in the app.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289493</commentid>
    <comment_count>17</comment_count>
      <attachid>69554</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-10-05 01:28:23 -0700</bug_when>
    <thetext>Comment on attachment 69554
patch

Clearning review as David uploaded a newer patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289497</commentid>
    <comment_count>18</comment_count>
      <attachid>69645</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-10-05 01:30:06 -0700</bug_when>
    <thetext>Comment on attachment 69645
Updated to use cache location

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

&gt; WebKit/qt/Api/qwebsettings.cpp:1102
&gt; +#ifndef QT_NO_DESKTOPSERVICES
&gt; +    QString cachePath = QDesktopServices::storageLocation(QDesktopServices::CacheLocation);
&gt; +#else
&gt; +    QString cachePath = WebCore::pathByAppendingComponent(QDir::homePath(), &quot;QtWebkit&quot;);
&gt; +#endif

Should we really support QT_NO_DESKTOPSERVICES? IMHO we should not support persistent storage if this feature is not compiled into Qt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290750</commentid>
    <comment_count>19</comment_count>
      <attachid>70024</attachid>
    <who name="David Leong">david.leong</who>
    <bug_when>2010-10-06 18:35:14 -0700</bug_when>
    <thetext>Created attachment 70024
Updated again as per Simon&apos;s suggstion.

Flag out enablePersistant storage completely if desktop services is not supported.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290759</commentid>
    <comment_count>20</comment_count>
      <attachid>70024</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-10-06 19:07:21 -0700</bug_when>
    <thetext>Comment on attachment 70024
Updated again as per Simon&apos;s suggstion.

Please tick the &quot;patch&quot; checkbox when uploading patches.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290814</commentid>
    <comment_count>21</comment_count>
      <attachid>70024</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-10-06 22:42:46 -0700</bug_when>
    <thetext>Comment on attachment 70024
Updated again as per Simon&apos;s suggstion.

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

&gt; WebKit/qt/ChangeLog:6
&gt; +        should not be set in QWebSettings::enablePersistentStorage.

What does this mean?

&gt; WebKit/qt/ChangeLog:11
&gt; +        QWebSettings::enablePersistentStorage will now store the netscape
&gt; +        plugin cache to QDesktopServices::DataLocation.

This is incorrect, should be QDesktopServices::CacheLocation.

&gt; WebKit/qt/Api/qwebsettings.cpp:1096
&gt; +    // Path is not configurable and uses QDesktop services by default.

s/QDesktop services/QDesktopServices/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291223</commentid>
    <comment_count>22</comment_count>
      <attachid>70142</attachid>
    <who name="David Leong">david.leong</who>
    <bug_when>2010-10-07 13:27:34 -0700</bug_when>
    <thetext>Created attachment 70142
Fixed according to comments.

Thanks for the quick review. I&apos;ve fixed the patch as per the comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293257</commentid>
    <comment_count>23</comment_count>
      <attachid>70142</attachid>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2010-10-12 21:13:03 -0700</bug_when>
    <thetext>Comment on attachment 70142
Fixed according to comments.

Looks good to me, r+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293262</commentid>
    <comment_count>24</comment_count>
      <attachid>70142</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-10-12 21:29:32 -0700</bug_when>
    <thetext>Comment on attachment 70142
Fixed according to comments.

Clearing flags on attachment: 70142

Committed r69636: &lt;http://trac.webkit.org/changeset/69636&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293263</commentid>
    <comment_count>25</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-10-12 21:29:39 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>294734</commentid>
    <comment_count>26</comment_count>
    <who name="Ademar Reis">ademar</who>
    <bug_when>2010-10-15 07:01:28 -0700</bug_when>
    <thetext>Revision r69636 cherry-picked into qtwebkit-2.1 with commit 1551146 &lt;http://gitorious.org/webkit/qtwebkit/commit/1551146&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68434</attachid>
            <date>2010-09-22 13:56:31 -0700</date>
            <delta_ts>2010-09-23 16:03:42 -0700</delta_ts>
            <desc>Proposed changes.</desc>
            <filename>46287.patch</filename>
            <type>text/plain</type>
            <size>3260</size>
            <attacher name="David Leong">david.leong</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9xdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0NoYW5n
ZUxvZwkocmV2aXNpb24gNjgwNzcpCisrKyBXZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTAtMDktMjIgIERhdmlkIExlb25nICA8ZGF2aWQubGVv
bmdAbm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE1vdmUgTmV0c2NhcGUgcGx1Z2luIGNhY2hlIHBhdGggZnJvbSBRV2ViU2V0dGluZ3M6
OmVuYWJsZVBlcnNpc3RhbnRTdG9yYWdlCisgICAgICAgIHRvIGEgbmV3IGludGVybmFsIHNldHRl
ciBmdW5jdGlvbi4gVGhlIE5ldHNjYXBlIHBsdWdpbiBjYWNoZSBwYXRoIHNob3VsZAorICAgICAg
ICBub3QgYmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwZXJzaXN0YW50IHN0b3JhZ2UgcGF0aC4KKwor
ICAgICAgICAqIEFwaS9xd2VicGx1Z2luZGF0YWJhc2UuY3BwOgorICAgICAgICBOZXcgU2V0dGVy
IGZ1bmN0aW9uIGZvciB0aGUgTmV0c2NhcGUgcGx1Z2luIGNhY2hlLgorICAgICAgICAocXR3ZWJr
aXRfd2VicGx1Z2luZGF0YWJhc2VfZW5hYmxlTmV0c2NhcGVQbHVnaW5NZXRhZGF0YUNhY2hlKToK
KyAgICAgICAgCisgICAgICAgIFJlbW92ZWQgTmV0c2NhcGUgcGx1Z2luIGNhY2hlIHNldHRpbmcg
ZnJvbSBwZXJzaXN0YW50IHN0b3JhZ2Ugc2V0dGluZy4KKyAgICAgICAgKiBBcGkvcXdlYnNldHRp
bmdzLmNwcDoKKyAgICAgICAgKFFXZWJTZXR0aW5nczo6ZW5hYmxlUGVyc2lzdGVudFN0b3JhZ2Up
OgorICAgICAgICAKKwogMjAxMC0wOS0yMiAgSmFtZXkgSGlja3MgIDxqYW1leS5oaWNrc0Bub2tp
YS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4u
CkluZGV4OiBXZWJLaXQvcXQvQXBpL3F3ZWJwbHVnaW5kYXRhYmFzZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViS2l0L3F0L0FwaS9xd2VicGx1Z2luZGF0YWJhc2UuY3BwCShyZXZpc2lvbiA2Nzk3MikK
KysrIFdlYktpdC9xdC9BcGkvcXdlYnBsdWdpbmRhdGFiYXNlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjMsNiArMjMsMTEgQEAKICNpbmNsdWRlICJQbHVnaW5EYXRhYmFzZS5oIgogI2luY2x1ZGUg
IlBsdWdpblBhY2thZ2UuaCIKIAorI2luY2x1ZGUgPFFEaXI+CisjaW5jbHVkZSA8UUNvcmVBcHBs
aWNhdGlvbj4KKyNpbmNsdWRlIDxRRmlsZUluZm8+CisjaW5jbHVkZSA8UURlc2t0b3BTZXJ2aWNl
cz4KKwogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIC8qIQpAQCAtMzkxLDMgKzM5NiwyNyBA
QCB2b2lkIFFXZWJQbHVnaW5EYXRhYmFzZTo6c2V0UHJlZmVycmVkUGx1CiB7CiAgICAgbV9kYXRh
YmFzZS0+c2V0UHJlZmVycmVkUGx1Z2luRm9yTUlNRVR5cGUobWltZVR5cGUsIHBsdWdpbi5tX3Bh
Y2thZ2UpOwogfQorCit2b2lkIFFXRUJLSVRfRVhQT1JUIHF0d2Via2l0X3dlYnBsdWdpbmRhdGFi
YXNlX2VuYWJsZU5ldHNjYXBlUGx1Z2luTWV0YWRhdGFDYWNoZShjb25zdCBRU3RyaW5nJiBwYXRo
KQoreworI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fTUVUQURBVEFfQ0FDSEUpCisgICAgUVN0
cmluZyBzdG9yYWdlUGF0aDsKKworICAgIGlmIChwYXRoLmlzRW1wdHkoKSkgeworI2lmbmRlZiBR
VF9OT19ERVNLVE9QU0VSVklDRVMKKyAgICAgICAgc3RvcmFnZVBhdGggPSBRRGVza3RvcFNlcnZp
Y2VzOjpzdG9yYWdlTG9jYXRpb24oUURlc2t0b3BTZXJ2aWNlczo6RGF0YUxvY2F0aW9uKTsKKyNl
bmRpZgorICAgICAgICBpZiAoc3RvcmFnZVBhdGguaXNFbXB0eSgpKQorICAgICAgICAgICAgc3Rv
cmFnZVBhdGggPSBXZWJDb3JlOjpwYXRoQnlBcHBlbmRpbmdDb21wb25lbnQoUURpcjo6aG9tZVBh
dGgoKSwgUUNvcmVBcHBsaWNhdGlvbjo6YXBwbGljYXRpb25OYW1lKCkpOworICAgIH0gZWxzZQor
ICAgICAgICBzdG9yYWdlUGF0aCA9IHBhdGg7CisKKyAgICBXZWJDb3JlOjptYWtlQWxsRGlyZWN0
b3JpZXMoc3RvcmFnZVBhdGgpOworCisgICAgUUZpbGVJbmZvIGluZm8oc3RvcmFnZVBhdGgpOwor
ICAgIGlmIChpbmZvLmlzRGlyKCkgJiYgaW5mby5pc1dyaXRhYmxlKCkpIHsKKyAgICAgICAgV2Vi
Q29yZTo6UGx1Z2luRGF0YWJhc2U6OnNldFBlcnNpc3RlbnRNZXRhZGF0YUNhY2hlRW5hYmxlZCh0
cnVlKTsKKyAgICAgICAgV2ViQ29yZTo6UGx1Z2luRGF0YWJhc2U6OnNldFBlcnNpc3RlbnRNZXRh
ZGF0YUNhY2hlUGF0aChzdG9yYWdlUGF0aCk7CisgICAgfQorI2VuZGlmCit9CkluZGV4OiBXZWJL
aXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0FwaS9x
d2Vic2V0dGluZ3MuY3BwCShyZXZpc2lvbiA2Nzk3MikKKysrIFdlYktpdC9xdC9BcGkvcXdlYnNl
dHRpbmdzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA5MCwxNCArMTA5MCw2IEBAIHZvaWQgUVdl
YlNldHRpbmdzOjplbmFibGVQZXJzaXN0ZW50U3RvcmEKICAgICBRV2ViU2V0dGluZ3M6Omdsb2Jh
bFNldHRpbmdzKCktPnNldEF0dHJpYnV0ZShRV2ViU2V0dGluZ3M6OkxvY2FsU3RvcmFnZUVuYWJs
ZWQsIHRydWUpOwogICAgIFFXZWJTZXR0aW5nczo6Z2xvYmFsU2V0dGluZ3MoKS0+c2V0QXR0cmli
dXRlKFFXZWJTZXR0aW5nczo6T2ZmbGluZVN0b3JhZ2VEYXRhYmFzZUVuYWJsZWQsIHRydWUpOwog
ICAgIFFXZWJTZXR0aW5nczo6Z2xvYmFsU2V0dGluZ3MoKS0+c2V0QXR0cmlidXRlKFFXZWJTZXR0
aW5nczo6T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkLCB0cnVlKTsKLQotI2lmIEVO
QUJMRShORVRTQ0FQRV9QTFVHSU5fTUVUQURBVEFfQ0FDSEUpCi0gICAgUUZpbGVJbmZvIGluZm8o
c3RvcmFnZVBhdGgpOwotICAgIGlmIChpbmZvLmlzRGlyKCkgJiYgaW5mby5pc1dyaXRhYmxlKCkp
IHsKLSAgICAgICAgV2ViQ29yZTo6UGx1Z2luRGF0YWJhc2U6OnNldFBlcnNpc3RlbnRNZXRhZGF0
YUNhY2hlRW5hYmxlZCh0cnVlKTsKLSAgICAgICAgV2ViQ29yZTo6UGx1Z2luRGF0YWJhc2U6OnNl
dFBlcnNpc3RlbnRNZXRhZGF0YUNhY2hlUGF0aChzdG9yYWdlUGF0aCk7Ci0gICAgfQotI2VuZGlm
CiB9CiAKIC8qIQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68612</attachid>
            <date>2010-09-23 16:03:42 -0700</date>
            <delta_ts>2010-10-01 18:06:01 -0700</delta_ts>
            <desc>Proposed changes, v2</desc>
            <filename>46287.patch</filename>
            <type>text/plain</type>
            <size>3453</size>
            <attacher name="David Leong">david.leong</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9xdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0NoYW5n
ZUxvZwkocmV2aXNpb24gNjgyMDgpCisrKyBXZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTAtMDktMjMgIERhdmlkIExlb25nICA8ZGF2aWQubGVv
bmdAbm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICBbUXRdIEVuYWJsZSBOZXRzY2FwZSBwbHVnaW4gbWV0YWRhdGEgY2FjaGluZyBvbiBM
aW51eCAKKyAgICAgICAgIHNob3VsZCBub3QgYmUgc2V0IGluIFFXZWJTZXR0aW5nczo6ZW5hYmxl
UGVyc2lzdGVudFN0b3JhZ2UuCisKKyAgICAgICAgKiBBcGkvcXdlYnBhZ2UuY3BwOgorICAgICAg
ICAoUVdlYlBhZ2VQcml2YXRlOjpkeW5hbWljUHJvcGVydHlDaGFuZ2VFdmVudCk6CisgICAgICAg
IEFkZGVkIGR5bmFtaWMgcHJvcGVydHkgIl9xX05ldHNjYXBlUGx1Z2luQ2FjaGVQYXRoIiB0byBz
ZXQgcGx1Z2luIGNhY2hlIHBhdGguCisgICAgICAgIFByb3BlcnR5IHNob3VsZCBiZSBzZXQgYXMg
YSBRU3RyaW5nLgorICAgICAgICAqIEFwaS9xd2Vic2V0dGluZ3MuY3BwOgorICAgICAgICAoUVdl
YlNldHRpbmdzOjplbmFibGVQZXJzaXN0ZW50U3RvcmFnZSk6CisgICAgICAgIFJlbW92ZWQgc2V0
dGluZyBvZiBOZXRzY2FwZSBQbHVnaW4gY2FjaGUgcGF0aCBmcm9tIHBlcnNpc3RhbnQgc3RvcmFn
ZS4KKwogMjAxMC0wOS0yMyAgQWRlbWFyIGRlIFNvdXphIFJlaXMgSnIgIDxhZGVtYXIucmVpc0Bv
cGVuYm9zc2Eub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0
aWFuc2VuLgpJbmRleDogV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAJKHJldmlzaW9uIDY3OTcyKQorKysgV2ViS2l0L3F0
L0FwaS9xd2VicGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkzLDExICs5MywxNCBAQAogI2lu
Y2x1ZGUgPFFCYXNpY1RpbWVyPgogI2luY2x1ZGUgPFFCaXRBcnJheT4KICNpbmNsdWRlIDxRRGVi
dWc+CisjaW5jbHVkZSA8UURpcj4KKyNpbmNsdWRlIDxRRGVza3RvcFNlcnZpY2VzPgogI2luY2x1
ZGUgPFFEcmFnRW50ZXJFdmVudD4KICNpbmNsdWRlIDxRRHJhZ0xlYXZlRXZlbnQ+CiAjaW5jbHVk
ZSA8UURyYWdNb3ZlRXZlbnQ+CiAjaW5jbHVkZSA8UURyb3BFdmVudD4KICNpbmNsdWRlIDxRRmls
ZURpYWxvZz4KKyNpbmNsdWRlIDxRRmlsZUluZm8+CiAjaW5jbHVkZSA8UUh0dHBSZXF1ZXN0SGVh
ZGVyPgogI2luY2x1ZGUgPFFJbnB1dERpYWxvZz4KICNpbmNsdWRlIDxRTG9jYWxlPgpAQCAtMTI2
Niw2ICsxMjY5LDI1IEBAIHZvaWQgUVdlYlBhZ2VQcml2YXRlOjpkeW5hbWljUHJvcGVydHlDaGEK
ICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAgfQorICAgIH0g
ZWxzZSBpZiAoZXZlbnQtPnByb3BlcnR5TmFtZSgpID09ICJfcV9OZXRzY2FwZVBsdWdpbkNhY2hl
UGF0aCIpIHsKKyNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX01FVEFEQVRBX0NBQ0hFKQorICAg
ICAgICBRU3RyaW5nIHN0b3JhZ2VQYXRoID0gcS0+cHJvcGVydHkoIl9xX05ldHNjYXBlUGx1Z2lu
Q2FjaGVQYXRoIikudG9TdHJpbmcoKTsKKworICAgICAgICBpZiAoc3RvcmFnZVBhdGguaXNFbXB0
eSgpKSB7CisjaWZuZGVmIFFUX05PX0RFU0tUT1BTRVJWSUNFUworICAgICAgICAgICAgc3RvcmFn
ZVBhdGggPSBRRGVza3RvcFNlcnZpY2VzOjpzdG9yYWdlTG9jYXRpb24oUURlc2t0b3BTZXJ2aWNl
czo6RGF0YUxvY2F0aW9uKTsKKyNlbmRpZgorICAgICAgICAgICAgaWYgKHN0b3JhZ2VQYXRoLmlz
RW1wdHkoKSkKKyAgICAgICAgICAgICAgICBzdG9yYWdlUGF0aCA9IFdlYkNvcmU6OnBhdGhCeUFw
cGVuZGluZ0NvbXBvbmVudChRRGlyOjpob21lUGF0aCgpLCBRQ29yZUFwcGxpY2F0aW9uOjphcHBs
aWNhdGlvbk5hbWUoKSk7CisgICAgICAgIH0gCisgICAgICAgIFdlYkNvcmU6Om1ha2VBbGxEaXJl
Y3RvcmllcyhzdG9yYWdlUGF0aCk7CisKKyAgICAgICAgUUZpbGVJbmZvIGluZm8oc3RvcmFnZVBh
dGgpOworICAgICAgICBpZiAoaW5mby5pc0RpcigpICYmIGluZm8uaXNXcml0YWJsZSgpKSB7Cisg
ICAgICAgICAgICBXZWJDb3JlOjpQbHVnaW5EYXRhYmFzZTo6c2V0UGVyc2lzdGVudE1ldGFkYXRh
Q2FjaGVFbmFibGVkKHRydWUpOworICAgICAgICAgICAgV2ViQ29yZTo6UGx1Z2luRGF0YWJhc2U6
OnNldFBlcnNpc3RlbnRNZXRhZGF0YUNhY2hlUGF0aChzdG9yYWdlUGF0aCk7CisgICAgICAgIH0K
KyAgICAjZW5kaWYKICAgICB9CiAjaWYgRU5BQkxFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCiAgICAg
ZWxzZSBpZiAoZXZlbnQtPnByb3BlcnR5TmFtZSgpID09ICJfcV9UaWxlZEJhY2tpbmdTdG9yZVRp
bGVTaXplIikgewpJbmRleDogV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmNwcAkocmV2aXNpb24gNjc5NzIpCisr
KyBXZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwOTAs
MTQgKzEwOTAsNiBAQCB2b2lkIFFXZWJTZXR0aW5nczo6ZW5hYmxlUGVyc2lzdGVudFN0b3JhCiAg
ICAgUVdlYlNldHRpbmdzOjpnbG9iYWxTZXR0aW5ncygpLT5zZXRBdHRyaWJ1dGUoUVdlYlNldHRp
bmdzOjpMb2NhbFN0b3JhZ2VFbmFibGVkLCB0cnVlKTsKICAgICBRV2ViU2V0dGluZ3M6Omdsb2Jh
bFNldHRpbmdzKCktPnNldEF0dHJpYnV0ZShRV2ViU2V0dGluZ3M6Ok9mZmxpbmVTdG9yYWdlRGF0
YWJhc2VFbmFibGVkLCB0cnVlKTsKICAgICBRV2ViU2V0dGluZ3M6Omdsb2JhbFNldHRpbmdzKCkt
PnNldEF0dHJpYnV0ZShRV2ViU2V0dGluZ3M6Ok9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5h
YmxlZCwgdHJ1ZSk7Ci0KLSNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX01FVEFEQVRBX0NBQ0hF
KQotICAgIFFGaWxlSW5mbyBpbmZvKHN0b3JhZ2VQYXRoKTsKLSAgICBpZiAoaW5mby5pc0Rpcigp
ICYmIGluZm8uaXNXcml0YWJsZSgpKSB7Ci0gICAgICAgIFdlYkNvcmU6OlBsdWdpbkRhdGFiYXNl
OjpzZXRQZXJzaXN0ZW50TWV0YWRhdGFDYWNoZUVuYWJsZWQodHJ1ZSk7Ci0gICAgICAgIFdlYkNv
cmU6OlBsdWdpbkRhdGFiYXNlOjpzZXRQZXJzaXN0ZW50TWV0YWRhdGFDYWNoZVBhdGgoc3RvcmFn
ZVBhdGgpOwotICAgIH0KLSNlbmRpZgogfQogCiAvKiEK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>69552</attachid>
            <date>2010-10-01 18:06:01 -0700</date>
            <delta_ts>2010-10-01 18:09:15 -0700</delta_ts>
            <desc>patch v3</desc>
            <filename>46287.patch</filename>
            <type>application/octet-stream</type>
            <size>3453</size>
            <attacher name="David Leong">david.leong</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9xdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0NoYW5n
ZUxvZwkocmV2aXNpb24gNjgyMDgpCisrKyBXZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTAtMDktMjMgIERhdmlkIExlb25nICA8ZGF2aWQubGVv
bmdAbm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICBbUXRdIEVuYWJsZSBOZXRzY2FwZSBwbHVnaW4gbWV0YWRhdGEgY2FjaGluZyBvbiBM
aW51eCAKKyAgICAgICAgIHNob3VsZCBub3QgYmUgc2V0IGluIFFXZWJTZXR0aW5nczo6ZW5hYmxl
UGVyc2lzdGVudFN0b3JhZ2UuCisKKyAgICAgICAgKiBBcGkvcXdlYnBhZ2UuY3BwOgorICAgICAg
ICAoUVdlYlBhZ2VQcml2YXRlOjpkeW5hbWljUHJvcGVydHlDaGFuZ2VFdmVudCk6CisgICAgICAg
IEFkZGVkIGR5bmFtaWMgcHJvcGVydHkgIl9xX05ldHNjYXBlUGx1Z2luQ2FjaGVQYXRoIiB0byBz
ZXQgcGx1Z2luIGNhY2hlIHBhdGguCisgICAgICAgIFByb3BlcnR5IHNob3VsZCBiZSBzZXQgYXMg
YSBRU3RyaW5nLgorICAgICAgICAqIEFwaS9xd2Vic2V0dGluZ3MuY3BwOgorICAgICAgICAoUVdl
YlNldHRpbmdzOjplbmFibGVQZXJzaXN0ZW50U3RvcmFnZSk6CisgICAgICAgIFJlbW92ZWQgc2V0
dGluZyBvZiBOZXRzY2FwZSBQbHVnaW4gY2FjaGUgcGF0aCBmcm9tIHBlcnNpc3RhbnQgc3RvcmFn
ZS4KKwogMjAxMC0wOS0yMyAgQWRlbWFyIGRlIFNvdXphIFJlaXMgSnIgIDxhZGVtYXIucmVpc0Bv
cGVuYm9zc2Eub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0
aWFuc2VuLgpJbmRleDogV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAJKHJldmlzaW9uIDY3OTcyKQorKysgV2ViS2l0L3F0
L0FwaS9xd2VicGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkzLDExICs5MywxNCBAQAogI2lu
Y2x1ZGUgPFFCYXNpY1RpbWVyPgogI2luY2x1ZGUgPFFCaXRBcnJheT4KICNpbmNsdWRlIDxRRGVi
dWc+CisjaW5jbHVkZSA8UURpcj4KKyNpbmNsdWRlIDxRRGVza3RvcFNlcnZpY2VzPgogI2luY2x1
ZGUgPFFEcmFnRW50ZXJFdmVudD4KICNpbmNsdWRlIDxRRHJhZ0xlYXZlRXZlbnQ+CiAjaW5jbHVk
ZSA8UURyYWdNb3ZlRXZlbnQ+CiAjaW5jbHVkZSA8UURyb3BFdmVudD4KICNpbmNsdWRlIDxRRmls
ZURpYWxvZz4KKyNpbmNsdWRlIDxRRmlsZUluZm8+CiAjaW5jbHVkZSA8UUh0dHBSZXF1ZXN0SGVh
ZGVyPgogI2luY2x1ZGUgPFFJbnB1dERpYWxvZz4KICNpbmNsdWRlIDxRTG9jYWxlPgpAQCAtMTI2
Niw2ICsxMjY5LDI1IEBAIHZvaWQgUVdlYlBhZ2VQcml2YXRlOjpkeW5hbWljUHJvcGVydHlDaGEK
ICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAgfQorICAgIH0g
ZWxzZSBpZiAoZXZlbnQtPnByb3BlcnR5TmFtZSgpID09ICJfcV9OZXRzY2FwZVBsdWdpbkNhY2hl
UGF0aCIpIHsKKyNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX01FVEFEQVRBX0NBQ0hFKQorICAg
ICAgICBRU3RyaW5nIHN0b3JhZ2VQYXRoID0gcS0+cHJvcGVydHkoIl9xX05ldHNjYXBlUGx1Z2lu
Q2FjaGVQYXRoIikudG9TdHJpbmcoKTsKKworICAgICAgICBpZiAoc3RvcmFnZVBhdGguaXNFbXB0
eSgpKSB7CisjaWZuZGVmIFFUX05PX0RFU0tUT1BTRVJWSUNFUworICAgICAgICAgICAgc3RvcmFn
ZVBhdGggPSBRRGVza3RvcFNlcnZpY2VzOjpzdG9yYWdlTG9jYXRpb24oUURlc2t0b3BTZXJ2aWNl
czo6RGF0YUxvY2F0aW9uKTsKKyNlbmRpZgorICAgICAgICAgICAgaWYgKHN0b3JhZ2VQYXRoLmlz
RW1wdHkoKSkKKyAgICAgICAgICAgICAgICBzdG9yYWdlUGF0aCA9IFdlYkNvcmU6OnBhdGhCeUFw
cGVuZGluZ0NvbXBvbmVudChRRGlyOjpob21lUGF0aCgpLCBRQ29yZUFwcGxpY2F0aW9uOjphcHBs
aWNhdGlvbk5hbWUoKSk7CisgICAgICAgIH0gCisgICAgICAgIFdlYkNvcmU6Om1ha2VBbGxEaXJl
Y3RvcmllcyhzdG9yYWdlUGF0aCk7CisKKyAgICAgICAgUUZpbGVJbmZvIGluZm8oc3RvcmFnZVBh
dGgpOworICAgICAgICBpZiAoaW5mby5pc0RpcigpICYmIGluZm8uaXNXcml0YWJsZSgpKSB7Cisg
ICAgICAgICAgICBXZWJDb3JlOjpQbHVnaW5EYXRhYmFzZTo6c2V0UGVyc2lzdGVudE1ldGFkYXRh
Q2FjaGVFbmFibGVkKHRydWUpOworICAgICAgICAgICAgV2ViQ29yZTo6UGx1Z2luRGF0YWJhc2U6
OnNldFBlcnNpc3RlbnRNZXRhZGF0YUNhY2hlUGF0aChzdG9yYWdlUGF0aCk7CisgICAgICAgIH0K
KyAgICAjZW5kaWYKICAgICB9CiAjaWYgRU5BQkxFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCiAgICAg
ZWxzZSBpZiAoZXZlbnQtPnByb3BlcnR5TmFtZSgpID09ICJfcV9UaWxlZEJhY2tpbmdTdG9yZVRp
bGVTaXplIikgewpJbmRleDogV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmNwcAkocmV2aXNpb24gNjc5NzIpCisr
KyBXZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwOTAs
MTQgKzEwOTAsNiBAQCB2b2lkIFFXZWJTZXR0aW5nczo6ZW5hYmxlUGVyc2lzdGVudFN0b3JhCiAg
ICAgUVdlYlNldHRpbmdzOjpnbG9iYWxTZXR0aW5ncygpLT5zZXRBdHRyaWJ1dGUoUVdlYlNldHRp
bmdzOjpMb2NhbFN0b3JhZ2VFbmFibGVkLCB0cnVlKTsKICAgICBRV2ViU2V0dGluZ3M6Omdsb2Jh
bFNldHRpbmdzKCktPnNldEF0dHJpYnV0ZShRV2ViU2V0dGluZ3M6Ok9mZmxpbmVTdG9yYWdlRGF0
YWJhc2VFbmFibGVkLCB0cnVlKTsKICAgICBRV2ViU2V0dGluZ3M6Omdsb2JhbFNldHRpbmdzKCkt
PnNldEF0dHJpYnV0ZShRV2ViU2V0dGluZ3M6Ok9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5h
YmxlZCwgdHJ1ZSk7Ci0KLSNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX01FVEFEQVRBX0NBQ0hF
KQotICAgIFFGaWxlSW5mbyBpbmZvKHN0b3JhZ2VQYXRoKTsKLSAgICBpZiAoaW5mby5pc0Rpcigp
ICYmIGluZm8uaXNXcml0YWJsZSgpKSB7Ci0gICAgICAgIFdlYkNvcmU6OlBsdWdpbkRhdGFiYXNl
OjpzZXRQZXJzaXN0ZW50TWV0YWRhdGFDYWNoZUVuYWJsZWQodHJ1ZSk7Ci0gICAgICAgIFdlYkNv
cmU6OlBsdWdpbkRhdGFiYXNlOjpzZXRQZXJzaXN0ZW50TWV0YWRhdGFDYWNoZVBhdGgoc3RvcmFn
ZVBhdGgpOwotICAgIH0KLSNlbmRpZgogfQogCiAvKiEK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69553</attachid>
            <date>2010-10-01 18:09:15 -0700</date>
            <delta_ts>2010-10-06 18:35:14 -0700</delta_ts>
            <desc>patch</desc>
            <filename>46287.patch</filename>
            <type>text/plain</type>
            <size>2284</size>
            <attacher name="David Leong">david.leong</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9xdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0NoYW5n
ZUxvZwkocmV2aXNpb24gNjg5NjApCisrKyBXZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTAtMTAtMDEgIERhdmlkIExlb25nICA8ZGF2aWQubGVv
bmdAbm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFtRdF0gRW5hYmxlIE5ldHNjYXBlIHBsdWdpbiBtZXRhZGF0YSBjYWNoaW5nIG9uIExp
bnV4IAorICAgICAgICBzaG91bGQgbm90IGJlIHNldCBpbiBRV2ViU2V0dGluZ3M6OmVuYWJsZVBl
cnNpc3RlbnRTdG9yYWdlLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00NjI4NworICAgICAgICAKKyAgICAgICAgUVdlYlNldHRpbmdzOjplbmFibGVQ
ZXJzaXN0ZW50U3RvcmFnZSB3aWxsIG5vdyBzdG9yZSB0aGUgbmV0c2NhcGUKKyAgICAgICAgcGx1
Z2luIGNhY2hlIHRvIFFEZXNrdG9wU2VydmljZXM6OkRhdGFMb2NhdGlvbiBpZiBRRGVza3RvcFNl
cnZpY2VzIAorICAgICAgICBpcyBhdmFpbGFibGUsIG90aGVyd2lzZSBRRGlyOjpob21lUGF0aCgp
L1F0V2Via2l0LgorICAgICAgICAKKyAgICAgICAgKiBBcGkvcXdlYnNldHRpbmdzLmNwcDoKKyAg
ICAgICAgKFFXZWJTZXR0aW5nczo6ZW5hYmxlUGVyc2lzdGVudFN0b3JhZ2UpOgorCiAyMDEwLTA5
LTMwICBSb2JlcnQgSG9nYW4gIDxyb2JlcnRAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBBbmRyZWFzIEtsaW5nLgpJbmRleDogV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmNwcAkocmV2aXNpb24g
Njc5NzIpCisrKyBXZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTEwOTEsMTMgKzEwOTEsMjMgQEAgdm9pZCBRV2ViU2V0dGluZ3M6OmVuYWJsZVBlcnNpc3Rl
bnRTdG9yYQogICAgIFFXZWJTZXR0aW5nczo6Z2xvYmFsU2V0dGluZ3MoKS0+c2V0QXR0cmlidXRl
KFFXZWJTZXR0aW5nczo6T2ZmbGluZVN0b3JhZ2VEYXRhYmFzZUVuYWJsZWQsIHRydWUpOwogICAg
IFFXZWJTZXR0aW5nczo6Z2xvYmFsU2V0dGluZ3MoKS0+c2V0QXR0cmlidXRlKFFXZWJTZXR0aW5n
czo6T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkLCB0cnVlKTsKIAotICAgIFFGaWxl
SW5mbyBpbmZvKHN0b3JhZ2VQYXRoKTsKKyAgICAvLyBBbGwgYXBwbGljYXRpb25zIGNhbiBzaGFy
ZSB0aGUgY29tbW9uIFF0V2Via2l0IGNhY2hlIGZpbGUocykuCisgICAgLy8gUGF0aCBpcyBub3Qg
Y29uZmlndXJhYmxlIGFuZCB1c2VzIFFEZXNrdG9wIHNlcnZpY2VzIGJ5IGRlZmF1bHQsCisgICAg
Ly8gb3IgdXNlcidzIGhvbWUgZGlyZWN0b3J5L1F0V2Via2l0IGlmIGl0IGRvZXMgbm90IGV4aXN0
LgorI2lmbmRlZiBRVF9OT19ERVNLVE9QU0VSVklDRVMKKyAgICBRU3RyaW5nIGNhY2hlUGF0aCA9
IFFEZXNrdG9wU2VydmljZXM6OnN0b3JhZ2VMb2NhdGlvbihRRGVza3RvcFNlcnZpY2VzOjpEYXRh
TG9jYXRpb24pOworI2Vsc2UKKyAgICBRU3RyaW5nIGNhY2hlUGF0aCA9IFdlYkNvcmU6OnBhdGhC
eUFwcGVuZGluZ0NvbXBvbmVudChRRGlyOjpob21lUGF0aCgpLCAiUXRXZWJraXQiKTsKKyNlbmRp
ZgorCisgICAgV2ViQ29yZTo6bWFrZUFsbERpcmVjdG9yaWVzKGNhY2hlUGF0aCk7CisKKyAgICBR
RmlsZUluZm8gaW5mbyhjYWNoZVBhdGgpOwogICAgIGlmIChpbmZvLmlzRGlyKCkgJiYgaW5mby5p
c1dyaXRhYmxlKCkpIHsKKyAgICAgICAgcURlYnVnKCkgPDwgIlFXZWJTZXR0aW5nczo6ZW5hYmxl
UGVyc2lzdGFudFN0b3JhZ2UgTlAgUGF0aCIgPDwgY2FjaGVQYXRoOwogICAgICAgICBXZWJDb3Jl
OjpQbHVnaW5EYXRhYmFzZTo6c2V0UGVyc2lzdGVudE1ldGFkYXRhQ2FjaGVFbmFibGVkKHRydWUp
OwotICAgICAgICBXZWJDb3JlOjpQbHVnaW5EYXRhYmFzZTo6c2V0UGVyc2lzdGVudE1ldGFkYXRh
Q2FjaGVQYXRoKHN0b3JhZ2VQYXRoKTsKKyAgICAgICAgV2ViQ29yZTo6UGx1Z2luRGF0YWJhc2U6
OnNldFBlcnNpc3RlbnRNZXRhZGF0YUNhY2hlUGF0aChjYWNoZVBhdGgpOwogICAgIH0KIH0KIAog
LyohCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69554</attachid>
            <date>2010-10-01 18:16:32 -0700</date>
            <delta_ts>2010-10-06 18:35:14 -0700</delta_ts>
            <desc>patch</desc>
            <filename>46287.patch</filename>
            <type>text/plain</type>
            <size>2144</size>
            <attacher name="David Leong">david.leong</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9xdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0NoYW5n
ZUxvZwkocmV2aXNpb24gNjg5NjApCisrKyBXZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTAtMTAtMDEgIERhdmlkIExlb25nICA8ZGF2aWQubGVv
bmdAbm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFtRdF0gRW5hYmxlIE5ldHNjYXBlIHBsdWdpbiBtZXRhZGF0YSBjYWNoaW5nIG9uIExp
bnV4IAorICAgICAgICBzaG91bGQgbm90IGJlIHNldCBpbiBRV2ViU2V0dGluZ3M6OmVuYWJsZVBl
cnNpc3RlbnRTdG9yYWdlLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00NjI4NworICAgICAgICAKKyAgICAgICAgUVdlYlNldHRpbmdzOjplbmFibGVQ
ZXJzaXN0ZW50U3RvcmFnZSB3aWxsIG5vdyBzdG9yZSB0aGUgbmV0c2NhcGUKKyAgICAgICAgcGx1
Z2luIGNhY2hlIHRvIFFEZXNrdG9wU2VydmljZXM6OkRhdGFMb2NhdGlvbiBpZiBRRGVza3RvcFNl
cnZpY2VzIAorICAgICAgICBpcyBhdmFpbGFibGUsIG90aGVyd2lzZSBRRGlyOjpob21lUGF0aCgp
L1F0V2Via2l0LgorICAgICAgICAKKyAgICAgICAgKiBBcGkvcXdlYnNldHRpbmdzLmNwcDoKKyAg
ICAgICAgKFFXZWJTZXR0aW5nczo6ZW5hYmxlUGVyc2lzdGVudFN0b3JhZ2UpOgorCiAyMDEwLTA5
LTMwICBSb2JlcnQgSG9nYW4gIDxyb2JlcnRAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBBbmRyZWFzIEtsaW5nLgpJbmRleDogV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmNwcAkocmV2aXNpb24g
Njc5NzIpCisrKyBXZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTEwOTIsMTAgKzEwOTIsMjEgQEAgdm9pZCBRV2ViU2V0dGluZ3M6OmVuYWJsZVBlcnNpc3Rl
bnRTdG9yYQogICAgIFFXZWJTZXR0aW5nczo6Z2xvYmFsU2V0dGluZ3MoKS0+c2V0QXR0cmlidXRl
KFFXZWJTZXR0aW5nczo6T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkLCB0cnVlKTsK
IAogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fTUVUQURBVEFfQ0FDSEUpCi0gICAgUUZpbGVJ
bmZvIGluZm8oc3RvcmFnZVBhdGgpOworICAgIC8vIEFsbCBhcHBsaWNhdGlvbnMgY2FuIHNoYXJl
IHRoZSBjb21tb24gUXRXZWJraXQgY2FjaGUgZmlsZShzKS4KKyAgICAvLyBQYXRoIGlzIG5vdCBj
b25maWd1cmFibGUgYW5kIHVzZXMgUURlc2t0b3Agc2VydmljZXMgYnkgZGVmYXVsdCwKKyAgICAv
LyBvciB1c2VyJ3MgaG9tZSBkaXJlY3RvcnkvUXRXZWJraXQgaWYgaXQgZG9lcyBub3QgZXhpc3Qu
CisjaWZuZGVmIFFUX05PX0RFU0tUT1BTRVJWSUNFUworICAgIFFTdHJpbmcgY2FjaGVQYXRoID0g
UURlc2t0b3BTZXJ2aWNlczo6c3RvcmFnZUxvY2F0aW9uKFFEZXNrdG9wU2VydmljZXM6OkRhdGFM
b2NhdGlvbik7CisjZWxzZQorICAgIFFTdHJpbmcgY2FjaGVQYXRoID0gV2ViQ29yZTo6cGF0aEJ5
QXBwZW5kaW5nQ29tcG9uZW50KFFEaXI6OmhvbWVQYXRoKCksICJRdFdlYmtpdCIpOworI2VuZGlm
CisKKyAgICBXZWJDb3JlOjptYWtlQWxsRGlyZWN0b3JpZXMoY2FjaGVQYXRoKTsKKworICAgIFFG
aWxlSW5mbyBpbmZvKGNhY2hlUGF0aCk7CiAgICAgaWYgKGluZm8uaXNEaXIoKSAmJiBpbmZvLmlz
V3JpdGFibGUoKSkgewogICAgICAgICBXZWJDb3JlOjpQbHVnaW5EYXRhYmFzZTo6c2V0UGVyc2lz
dGVudE1ldGFkYXRhQ2FjaGVFbmFibGVkKHRydWUpOwotICAgICAgICBXZWJDb3JlOjpQbHVnaW5E
YXRhYmFzZTo6c2V0UGVyc2lzdGVudE1ldGFkYXRhQ2FjaGVQYXRoKHN0b3JhZ2VQYXRoKTsKKyAg
ICAgICAgV2ViQ29yZTo6UGx1Z2luRGF0YWJhc2U6OnNldFBlcnNpc3RlbnRNZXRhZGF0YUNhY2hl
UGF0aChjYWNoZVBhdGgpOwogICAgIH0KICNlbmRpZgogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69645</attachid>
            <date>2010-10-04 10:06:58 -0700</date>
            <delta_ts>2010-10-06 18:35:14 -0700</delta_ts>
            <desc>Updated to use cache location</desc>
            <filename>46287.patch</filename>
            <type>text/plain</type>
            <size>2145</size>
            <attacher name="David Leong">david.leong</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9xdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0NoYW5n
ZUxvZwkocmV2aXNpb24gNjg5NjApCisrKyBXZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTAtMTAtMDEgIERhdmlkIExlb25nICA8ZGF2aWQubGVv
bmdAbm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFtRdF0gRW5hYmxlIE5ldHNjYXBlIHBsdWdpbiBtZXRhZGF0YSBjYWNoaW5nIG9uIExp
bnV4IAorICAgICAgICBzaG91bGQgbm90IGJlIHNldCBpbiBRV2ViU2V0dGluZ3M6OmVuYWJsZVBl
cnNpc3RlbnRTdG9yYWdlLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00NjI4NworICAgICAgICAKKyAgICAgICAgUVdlYlNldHRpbmdzOjplbmFibGVQ
ZXJzaXN0ZW50U3RvcmFnZSB3aWxsIG5vdyBzdG9yZSB0aGUgbmV0c2NhcGUKKyAgICAgICAgcGx1
Z2luIGNhY2hlIHRvIFFEZXNrdG9wU2VydmljZXM6OkRhdGFMb2NhdGlvbiBpZiBRRGVza3RvcFNl
cnZpY2VzIAorICAgICAgICBpcyBhdmFpbGFibGUsIG90aGVyd2lzZSBRRGlyOjpob21lUGF0aCgp
L1F0V2Via2l0LgorICAgICAgICAKKyAgICAgICAgKiBBcGkvcXdlYnNldHRpbmdzLmNwcDoKKyAg
ICAgICAgKFFXZWJTZXR0aW5nczo6ZW5hYmxlUGVyc2lzdGVudFN0b3JhZ2UpOgorCiAyMDEwLTA5
LTMwICBSb2JlcnQgSG9nYW4gIDxyb2JlcnRAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBBbmRyZWFzIEtsaW5nLgpJbmRleDogV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmNwcAkocmV2aXNpb24g
Njc5NzIpCisrKyBXZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTEwOTIsMTAgKzEwOTIsMjEgQEAgdm9pZCBRV2ViU2V0dGluZ3M6OmVuYWJsZVBlcnNpc3Rl
bnRTdG9yYQogICAgIFFXZWJTZXR0aW5nczo6Z2xvYmFsU2V0dGluZ3MoKS0+c2V0QXR0cmlidXRl
KFFXZWJTZXR0aW5nczo6T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkLCB0cnVlKTsK
IAogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fTUVUQURBVEFfQ0FDSEUpCi0gICAgUUZpbGVJ
bmZvIGluZm8oc3RvcmFnZVBhdGgpOworICAgIC8vIEFsbCBhcHBsaWNhdGlvbnMgY2FuIHNoYXJl
IHRoZSBjb21tb24gUXRXZWJraXQgY2FjaGUgZmlsZShzKS4KKyAgICAvLyBQYXRoIGlzIG5vdCBj
b25maWd1cmFibGUgYW5kIHVzZXMgUURlc2t0b3Agc2VydmljZXMgYnkgZGVmYXVsdCwKKyAgICAv
LyBvciB1c2VyJ3MgaG9tZSBkaXJlY3RvcnkvUXRXZWJraXQgaWYgaXQgZG9lcyBub3QgZXhpc3Qu
CisjaWZuZGVmIFFUX05PX0RFU0tUT1BTRVJWSUNFUworICAgIFFTdHJpbmcgY2FjaGVQYXRoID0g
UURlc2t0b3BTZXJ2aWNlczo6c3RvcmFnZUxvY2F0aW9uKFFEZXNrdG9wU2VydmljZXM6OkNhY2hl
TG9jYXRpb24pOworI2Vsc2UKKyAgICBRU3RyaW5nIGNhY2hlUGF0aCA9IFdlYkNvcmU6OnBhdGhC
eUFwcGVuZGluZ0NvbXBvbmVudChRRGlyOjpob21lUGF0aCgpLCAiUXRXZWJraXQiKTsKKyNlbmRp
ZgorCisgICAgV2ViQ29yZTo6bWFrZUFsbERpcmVjdG9yaWVzKGNhY2hlUGF0aCk7CisKKyAgICBR
RmlsZUluZm8gaW5mbyhjYWNoZVBhdGgpOwogICAgIGlmIChpbmZvLmlzRGlyKCkgJiYgaW5mby5p
c1dyaXRhYmxlKCkpIHsKICAgICAgICAgV2ViQ29yZTo6UGx1Z2luRGF0YWJhc2U6OnNldFBlcnNp
c3RlbnRNZXRhZGF0YUNhY2hlRW5hYmxlZCh0cnVlKTsKLSAgICAgICAgV2ViQ29yZTo6UGx1Z2lu
RGF0YWJhc2U6OnNldFBlcnNpc3RlbnRNZXRhZGF0YUNhY2hlUGF0aChzdG9yYWdlUGF0aCk7Cisg
ICAgICAgIFdlYkNvcmU6OlBsdWdpbkRhdGFiYXNlOjpzZXRQZXJzaXN0ZW50TWV0YWRhdGFDYWNo
ZVBhdGgoY2FjaGVQYXRoKTsKICAgICB9CiAjZW5kaWYKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>70024</attachid>
            <date>2010-10-06 18:35:14 -0700</date>
            <delta_ts>2010-10-07 13:27:34 -0700</delta_ts>
            <desc>Updated again as per Simon&apos;s suggstion.</desc>
            <filename>46287-3.patch</filename>
            <type>text/plain</type>
            <size>2397</size>
            <attacher name="David Leong">david.leong</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9xdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0NoYW5n
ZUxvZwkocmV2aXNpb24gNjg5NjApCisrKyBXZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTAtMTAtMDEgIERhdmlkIExlb25nICA8ZGF2aWQubGVv
bmdAbm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFtRdF0gRW5hYmxlIE5ldHNjYXBlIHBsdWdpbiBtZXRhZGF0YSBjYWNoaW5nIG9uIExp
bnV4IAorICAgICAgICBzaG91bGQgbm90IGJlIHNldCBpbiBRV2ViU2V0dGluZ3M6OmVuYWJsZVBl
cnNpc3RlbnRTdG9yYWdlLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00NjI4NworICAgICAgICAKKyAgICAgICAgUVdlYlNldHRpbmdzOjplbmFibGVQ
ZXJzaXN0ZW50U3RvcmFnZSB3aWxsIG5vdyBzdG9yZSB0aGUgbmV0c2NhcGUKKyAgICAgICAgcGx1
Z2luIGNhY2hlIHRvIFFEZXNrdG9wU2VydmljZXM6OkRhdGFMb2NhdGlvbi4KKyAgICAgICAgCisg
ICAgICAgICogQXBpL3F3ZWJzZXR0aW5ncy5jcHA6CisgICAgICAgIChRV2ViU2V0dGluZ3M6OmVu
YWJsZVBlcnNpc3RlbnRTdG9yYWdlKToKKwogMjAxMC0wOS0zMCAgUm9iZXJ0IEhvZ2FuICA8cm9i
ZXJ0QHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5kcmVhcyBLbGluZy4KSW5k
ZXg6IFdlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQv
cXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAJKHJldmlzaW9uIDY3OTcyKQorKysgV2ViS2l0L3F0L0Fw
aS9xd2Vic2V0dGluZ3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDcwLDEyICsxMDcwLDEyIEBA
IFFTdHJpbmcgUVdlYlNldHRpbmdzOjpsb2NhbFN0b3JhZ2VQYXRoKCkKICovCiB2b2lkIFFXZWJT
ZXR0aW5nczo6ZW5hYmxlUGVyc2lzdGVudFN0b3JhZ2UoY29uc3QgUVN0cmluZyYgcGF0aCkKIHsK
KyNpZm5kZWYgUVRfTk9fREVTS1RPUFNFUlZJQ0VTCiAgICAgUVN0cmluZyBzdG9yYWdlUGF0aDsK
IAogICAgIGlmIChwYXRoLmlzRW1wdHkoKSkgewotI2lmbmRlZiBRVF9OT19ERVNLVE9QU0VSVklD
RVMKKwogICAgICAgICBzdG9yYWdlUGF0aCA9IFFEZXNrdG9wU2VydmljZXM6OnN0b3JhZ2VMb2Nh
dGlvbihRRGVza3RvcFNlcnZpY2VzOjpEYXRhTG9jYXRpb24pOwotI2VuZGlmCiAgICAgICAgIGlm
IChzdG9yYWdlUGF0aC5pc0VtcHR5KCkpCiAgICAgICAgICAgICBzdG9yYWdlUGF0aCA9IFdlYkNv
cmU6OnBhdGhCeUFwcGVuZGluZ0NvbXBvbmVudChRRGlyOjpob21lUGF0aCgpLCBRQ29yZUFwcGxp
Y2F0aW9uOjphcHBsaWNhdGlvbk5hbWUoKSk7CiAgICAgfSBlbHNlCkBAIC0xMDkyLDEyICsxMDky
LDE5IEBAIHZvaWQgUVdlYlNldHRpbmdzOjplbmFibGVQZXJzaXN0ZW50U3RvcmEKICAgICBRV2Vi
U2V0dGluZ3M6Omdsb2JhbFNldHRpbmdzKCktPnNldEF0dHJpYnV0ZShRV2ViU2V0dGluZ3M6Ok9m
ZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZCwgdHJ1ZSk7CiAKICNpZiBFTkFCTEUoTkVU
U0NBUEVfUExVR0lOX01FVEFEQVRBX0NBQ0hFKQotICAgIFFGaWxlSW5mbyBpbmZvKHN0b3JhZ2VQ
YXRoKTsKKyAgICAvLyBBbGwgYXBwbGljYXRpb25zIGNhbiBzaGFyZSB0aGUgY29tbW9uIFF0V2Vi
a2l0IGNhY2hlIGZpbGUocykuCisgICAgLy8gUGF0aCBpcyBub3QgY29uZmlndXJhYmxlIGFuZCB1
c2VzIFFEZXNrdG9wIHNlcnZpY2VzIGJ5IGRlZmF1bHQuCisgICAgUVN0cmluZyBjYWNoZVBhdGgg
PSBRRGVza3RvcFNlcnZpY2VzOjpzdG9yYWdlTG9jYXRpb24oUURlc2t0b3BTZXJ2aWNlczo6Q2Fj
aGVMb2NhdGlvbik7CisgICAgV2ViQ29yZTo6bWFrZUFsbERpcmVjdG9yaWVzKGNhY2hlUGF0aCk7
CisKKyAgICBRRmlsZUluZm8gaW5mbyhjYWNoZVBhdGgpOwogICAgIGlmIChpbmZvLmlzRGlyKCkg
JiYgaW5mby5pc1dyaXRhYmxlKCkpIHsKICAgICAgICAgV2ViQ29yZTo6UGx1Z2luRGF0YWJhc2U6
OnNldFBlcnNpc3RlbnRNZXRhZGF0YUNhY2hlRW5hYmxlZCh0cnVlKTsKLSAgICAgICAgV2ViQ29y
ZTo6UGx1Z2luRGF0YWJhc2U6OnNldFBlcnNpc3RlbnRNZXRhZGF0YUNhY2hlUGF0aChzdG9yYWdl
UGF0aCk7CisgICAgICAgIFdlYkNvcmU6OlBsdWdpbkRhdGFiYXNlOjpzZXRQZXJzaXN0ZW50TWV0
YWRhdGFDYWNoZVBhdGgoY2FjaGVQYXRoKTsKICAgICB9CiAjZW5kaWYKKyNlbmRpZgogfQogCiAv
KiEK
</data>
<flag name="review"
          id="59802"
          type_id="1"
          status="-"
          setter="kling"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>70142</attachid>
            <date>2010-10-07 13:27:34 -0700</date>
            <delta_ts>2010-10-12 21:29:32 -0700</delta_ts>
            <desc>Fixed according to comments.</desc>
            <filename>46287-4.patch</filename>
            <type>text/plain</type>
            <size>2341</size>
            <attacher name="David Leong">david.leong</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9xdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0NoYW5n
ZUxvZwkocmV2aXNpb24gNjg5NjApCisrKyBXZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTAtMTAtMDEgIERhdmlkIExlb25nICA8ZGF2aWQubGVv
bmdAbm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFtRdF0gRW5hYmxlIE5ldHNjYXBlIHBsdWdpbiBtZXRhZGF0YSBjYWNoaW5nIG9uIExp
bnV4IAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDYy
ODcKKyAgICAgICAgCisgICAgICAgIFFXZWJTZXR0aW5nczo6ZW5hYmxlUGVyc2lzdGVudFN0b3Jh
Z2Ugd2lsbCBub3cgc3RvcmUgdGhlIG5ldHNjYXBlCisgICAgICAgIHBsdWdpbiBjYWNoZSB0byBR
RGVza3RvcFNlcnZpY2VzOjpDYWNoZUxvY2F0aW9uLgorICAgICAgICAKKyAgICAgICAgKiBBcGkv
cXdlYnNldHRpbmdzLmNwcDoKKyAgICAgICAgKFFXZWJTZXR0aW5nczo6ZW5hYmxlUGVyc2lzdGVu
dFN0b3JhZ2UpOgorCiAyMDEwLTA5LTMwICBSb2JlcnQgSG9nYW4gIDxyb2JlcnRAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbmRyZWFzIEtsaW5nLgpJbmRleDogV2ViS2l0L3F0
L0FwaS9xd2Vic2V0dGluZ3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9xdC9BcGkvcXdlYnNl
dHRpbmdzLmNwcAkocmV2aXNpb24gNjc5NzIpCisrKyBXZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5n
cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwNzAsMTIgKzEwNzAsMTIgQEAgUVN0cmluZyBRV2Vi
U2V0dGluZ3M6OmxvY2FsU3RvcmFnZVBhdGgoKQogKi8KIHZvaWQgUVdlYlNldHRpbmdzOjplbmFi
bGVQZXJzaXN0ZW50U3RvcmFnZShjb25zdCBRU3RyaW5nJiBwYXRoKQogeworI2lmbmRlZiBRVF9O
T19ERVNLVE9QU0VSVklDRVMKICAgICBRU3RyaW5nIHN0b3JhZ2VQYXRoOwogCiAgICAgaWYgKHBh
dGguaXNFbXB0eSgpKSB7Ci0jaWZuZGVmIFFUX05PX0RFU0tUT1BTRVJWSUNFUworCiAgICAgICAg
IHN0b3JhZ2VQYXRoID0gUURlc2t0b3BTZXJ2aWNlczo6c3RvcmFnZUxvY2F0aW9uKFFEZXNrdG9w
U2VydmljZXM6OkRhdGFMb2NhdGlvbik7Ci0jZW5kaWYKICAgICAgICAgaWYgKHN0b3JhZ2VQYXRo
LmlzRW1wdHkoKSkKICAgICAgICAgICAgIHN0b3JhZ2VQYXRoID0gV2ViQ29yZTo6cGF0aEJ5QXBw
ZW5kaW5nQ29tcG9uZW50KFFEaXI6OmhvbWVQYXRoKCksIFFDb3JlQXBwbGljYXRpb246OmFwcGxp
Y2F0aW9uTmFtZSgpKTsKICAgICB9IGVsc2UKQEAgLTEwOTIsMTIgKzEwOTIsMTggQEAgdm9pZCBR
V2ViU2V0dGluZ3M6OmVuYWJsZVBlcnNpc3RlbnRTdG9yYQogICAgIFFXZWJTZXR0aW5nczo6Z2xv
YmFsU2V0dGluZ3MoKS0+c2V0QXR0cmlidXRlKFFXZWJTZXR0aW5nczo6T2ZmbGluZVdlYkFwcGxp
Y2F0aW9uQ2FjaGVFbmFibGVkLCB0cnVlKTsKIAogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5f
TUVUQURBVEFfQ0FDSEUpCi0gICAgUUZpbGVJbmZvIGluZm8oc3RvcmFnZVBhdGgpOworICAgIC8v
IEFsbCBhcHBsaWNhdGlvbnMgY2FuIHNoYXJlIHRoZSBjb21tb24gUXRXZWJraXQgY2FjaGUgZmls
ZShzKS4KKyAgICAvLyBQYXRoIGlzIG5vdCBjb25maWd1cmFibGUgYW5kIHVzZXMgUURlc2t0b3BT
ZXJ2aWNlczo6Q2FjaGVMb2NhdGlvbiBieSBkZWZhdWx0LgorICAgIFFTdHJpbmcgY2FjaGVQYXRo
ID0gUURlc2t0b3BTZXJ2aWNlczo6c3RvcmFnZUxvY2F0aW9uKFFEZXNrdG9wU2VydmljZXM6OkNh
Y2hlTG9jYXRpb24pOworICAgIFdlYkNvcmU6Om1ha2VBbGxEaXJlY3RvcmllcyhjYWNoZVBhdGgp
OworCisgICAgUUZpbGVJbmZvIGluZm8oY2FjaGVQYXRoKTsKICAgICBpZiAoaW5mby5pc0Rpcigp
ICYmIGluZm8uaXNXcml0YWJsZSgpKSB7CiAgICAgICAgIFdlYkNvcmU6OlBsdWdpbkRhdGFiYXNl
OjpzZXRQZXJzaXN0ZW50TWV0YWRhdGFDYWNoZUVuYWJsZWQodHJ1ZSk7Ci0gICAgICAgIFdlYkNv
cmU6OlBsdWdpbkRhdGFiYXNlOjpzZXRQZXJzaXN0ZW50TWV0YWRhdGFDYWNoZVBhdGgoc3RvcmFn
ZVBhdGgpOworICAgICAgICBXZWJDb3JlOjpQbHVnaW5EYXRhYmFzZTo6c2V0UGVyc2lzdGVudE1l
dGFkYXRhQ2FjaGVQYXRoKGNhY2hlUGF0aCk7CiAgICAgfQogI2VuZGlmCisjZW5kaWYKIH0KIAog
LyohCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>