<?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>54823</bug_id>
          
          <creation_ts>2011-02-20 04:46:18 -0800</creation_ts>
          <short_desc>[GTK] Implemented missing API for setting and getting application cache directory path database.</short_desc>
          <delta_ts>2011-02-27 15:29:40 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>55335</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Lukasz Slachciak">l.slachciak</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>gustavo</cc>
    
    <cc>joone.hur</cc>
    
    <cc>joone</cc>
    
    <cc>l.slachciak</cc>
    
    <cc>mrobinson</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>354268</commentid>
    <comment_count>0</comment_count>
    <who name="Lukasz Slachciak">l.slachciak</who>
    <bug_when>2011-02-20 04:46:18 -0800</bug_when>
    <thetext>There was missing API for setting/getting application cache directory path database.
Instead direct call to WebCore::cacheStorage().setCacheDirectory() was used in webkitInit() (and marked as FIXME)

Attached patch resolves this problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>354269</commentid>
    <comment_count>1</comment_count>
      <attachid>83093</attachid>
    <who name="Lukasz Slachciak">l.slachciak</who>
    <bug_when>2011-02-20 04:48:26 -0800</bug_when>
    <thetext>Created attachment 83093
API for application cache database directory</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>354270</commentid>
    <comment_count>2</comment_count>
    <who name="Lukasz Slachciak">l.slachciak</who>
    <bug_when>2011-02-20 05:01:15 -0800</bug_when>
    <thetext>Additionally, do you think that we should make webkitapplicationcacheprivate.h API&apos;s publlic one day?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>354820</commentid>
    <comment_count>3</comment_count>
      <attachid>83093</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-02-21 14:50:06 -0800</bug_when>
    <thetext>Comment on attachment 83093
API for application cache database directory

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

As long as the Mac port exposes this, I think it&apos;s a good idea for us to expose it. Please consider my suggestions below though.

&gt; Source/WebKit/gtk/webkit/webkitapplicationcache.cpp:28
&gt; +static gchar* webkit_application_cache_directory_path = NULL;

Wouldn&apos;t it make more sense to make this a CString? Please use WebKit style when naming your variables.

&gt; Source/WebKit/gtk/webkit/webkitapplicationcache.cpp:47
&gt; + * Returns the current path to the directory WebKit will write Application
&gt; + * Cache databases. By default this path will be in the user data
&gt; + * directory.
&gt; + *

Please explain what&apos;s stored in the application cache. Instead of saying user data directory, I recommend actually mentioning the GLib function we use to calculate the default directory.

&gt; Source/WebKit/gtk/webkit/webkitapplicationcache.cpp:62
&gt; +    if (path.isEmpty())
&gt; +        return &quot;&quot;;
&gt; +
&gt; +    g_free(webkit_application_cache_directory_path);
&gt; +    webkit_application_cache_directory_path = g_strdup(path.utf8().data());
&gt; +    return webkit_application_cache_directory_path;

No need to special case the empty string. When converting from a String to a raw string you need to use fileSystemRepresentation from FileSystemGtk.cpp in WebCore. I recommend checking if the current path is equal before freeing and updating the cached version.

&gt; Source/WebKit/gtk/webkit/webkitapplicationcache.cpp:73
&gt; + * Sets the current path to the directory WebKit will write Application
&gt; + * Cache databases.

No need to capitalize Application Cache here and above.

&gt; Source/WebKit/gtk/webkit/webkitapplicationcache.cpp:80
&gt; +    WTF::String corePath = WTF::String::fromUTF8(path);

You need to use filenameToString when converting from a path to WebKit string. Filenames are not necessarily in UTF-8.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355627</commentid>
    <comment_count>4</comment_count>
      <attachid>83395</attachid>
    <who name="Lukasz Slachciak">l.slachciak</who>
    <bug_when>2011-02-22 14:47:44 -0800</bug_when>
    <thetext>Created attachment 83395
API for application cache database directory</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355631</commentid>
    <comment_count>5</comment_count>
    <who name="Lukasz Slachciak">l.slachciak</who>
    <bug_when>2011-02-22 14:52:08 -0800</bug_when>
    <thetext>Hello Martin

My previous patch was based on the webkitwebdatabase.cpp directory path setter and getter. But your arguments sound reasonable so I rewritten this patch following your comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355635</commentid>
    <comment_count>6</comment_count>
      <attachid>83395</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-02-22 14:59:05 -0800</bug_when>
    <thetext>Comment on attachment 83395
API for application cache database directory

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

Looking good. We should also get a few other GTK+ reviewers to look at this since it adds new public API.

&gt; Source/WebKit/gtk/ChangeLog:7
&gt; +        [GTK] Implemented missing API for setting and getting
&gt; +        web application cache directory path database.
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=54823

I don&apos;t think you want a newline after the bug title. I believe that the tools require a specific format.

&gt; Source/WebKit/gtk/ChangeLog:9
&gt; +

Extra newline here?

&gt; Source/WebKit/gtk/ChangeLog:15
&gt; +        * webkit/webkitapplicationcache.cpp: main implementation
&gt; +        (webkit_application_cache_get_database_directory_path): getter
&gt; +        (webkit_application_cache_set_database_directory_path): setter
&gt; +        * webkit/webkitapplicationcacheprivate.h: API declaration
&gt; +        * webkit/webkitglobals.cpp:
&gt; +        (webkitInit): API usage

Please use full sentences for your ChangeLog descriptions.

&gt; Source/WebKit/gtk/webkit/webkitapplicationcache.cpp:48
&gt; + * cache databases. By default this path is set to g_get_user_data_dir()\WebKit
&gt; + * in webkitInit() with webkit_application_cache_set_database_directory_path

We shouldn&apos;t mention webkitInit as it isn&apos;t public (or shouldn&apos;t be if it is!). The default is actually $XDG_DATA_HOME/webkit/databases.

&gt; Source/WebKit/gtk/webkit/webkitapplicationcache.cpp:52
&gt; + * Since: ?.?.?

Please fill these in with reasonable values. Looks like it will be 1.3.13.

&gt; Source/WebKit/gtk/webkit/webkitapplicationcache.cpp:58
&gt; +    WTF::String path =  WebCore::cacheStorage().cacheDirectory();
&gt; +    CString cPath = WebCore::fileSystemRepresentation(path);

If you did this: 

CString path = WebCore::fileSystemRepresentation(WebCore::cacheStorage().cacheDirectory());

you could avoid having to have two path variables, path and cPath.

&gt; Source/WebKit/gtk/webkit/webkitapplicationcache.cpp:84
&gt; +    WTF::CString cPath(path);
&gt; +    if (cPath != cacheDirectoryPath)
&gt; +        cacheDirectoryPath = cPath;
&gt; +

How about pathString instead of cPath?

&gt; Source/WebKit/gtk/webkit/webkitapplicationcache.cpp:86
&gt; +    WTF::String sCacheDirectoryPath = WebCore::filenameToString(cacheDirectoryPath.data());
&gt; +    WebCore::cacheStorage().setCacheDirectory(sCacheDirectoryPath);

Please don&apos;t use Hungarian notation. This can just be:
WebCore::cacheStorage().setCacheDirectory(WebCore::filenameToString(cacheDirectoryPath.data()));

&gt; Source/WebKit/gtk/webkit/webkitapplicationcacheprivate.h:38
&gt; +WEBKIT_API G_CONST_RETURN gchar*
&gt; +webkit_application_cache_get_database_directory_path  (void);
&gt; +
&gt; +WEBKIT_API void
&gt; +webkit_application_cache_set_database_directory_path  (const gchar* path);
&gt; +

Don&apos;t we want to expose these publically?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356361</commentid>
    <comment_count>7</comment_count>
      <attachid>83535</attachid>
    <who name="Lukasz Slachciak">l.slachciak</who>
    <bug_when>2011-02-23 13:27:40 -0800</bug_when>
    <thetext>Created attachment 83535
API for application cache database directory</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356363</commentid>
    <comment_count>8</comment_count>
    <who name="Lukasz Slachciak">l.slachciak</who>
    <bug_when>2011-02-23 13:29:30 -0800</bug_when>
    <thetext>I followed Martin&apos;s comments and exposed new API as public - new webkitapplicationchache.h file was created.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356370</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-23 13:33:38 -0800</bug_when>
    <thetext>Attachment 83535 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit/gtk/ChangeLog&apos;, u&apos;Source/Web...&quot; exit_code: 1

Source/WebKit/gtk/webkit/webkit.h:25:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356377</commentid>
    <comment_count>10</comment_count>
    <who name="Lukasz Slachciak">l.slachciak</who>
    <bug_when>2011-02-23 13:41:28 -0800</bug_when>
    <thetext>hmm... this &quot;alphabetical sorting problem&quot; looks like false positive for webkit.h

#include &lt;webkit/webkitversion.h
#include &lt;webkit/webkitapplicationcache.h&gt;
#include &lt;webkit/webkitdefines.h&gt;
#include &lt;webkit/webkitdom.h&gt;


I assume that &quot;webkitversion.h&quot; needs always be on the top.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>357128</commentid>
    <comment_count>11</comment_count>
      <attachid>83535</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-02-24 10:01:55 -0800</bug_when>
    <thetext>Comment on attachment 83535
API for application cache database directory

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

Looks good to me. We need to get another GTK+ reviewer to r+ this since it includes an API addition. If no one steps in, ask around on the IRC channel or find mine. :) Thank you!

&gt;&gt; Source/WebKit/gtk/webkit/webkit.h:25
&gt;&gt; +#include &lt;webkit/webkitapplicationcache.h&gt;
&gt; 
&gt; Alphabetical sorting problem.  [build/include_order] [4]

Yes, this look like a false positive.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>357130</commentid>
    <comment_count>12</comment_count>
      <attachid>83535</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2011-02-24 10:06:54 -0800</bug_when>
    <thetext>Comment on attachment 83535
API for application cache database directory

Looks good to me, r+ 2/2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>358449</commentid>
    <comment_count>13</comment_count>
    <who name="Lukasz Slachciak">l.slachciak</who>
    <bug_when>2011-02-26 03:45:44 -0800</bug_when>
    <thetext>Thank you Martin, Xan for review.

Looks like we are waiting for commiter now :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>358548</commentid>
    <comment_count>14</comment_count>
      <attachid>83535</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-26 11:08:53 -0800</bug_when>
    <thetext>Comment on attachment 83535
API for application cache database directory

Clearing flags on attachment: 83535

Committed r79802: &lt;http://trac.webkit.org/changeset/79802&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>358549</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-26 11:08:59 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83093</attachid>
            <date>2011-02-20 04:48:26 -0800</date>
            <delta_ts>2011-02-22 14:47:44 -0800</delta_ts>
            <desc>API for application cache database directory</desc>
            <filename>applicationcache.patch</filename>
            <type>text/plain</type>
            <size>4912</size>
            <attacher name="Lukasz Slachciak">l.slachciak</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Z3RrL0NoYW5nZUxvZwppbmRleCBkZWVkODY2Li40MjE4OTY4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTggQEAKKzIwMTEtMDItMjAgIEx1a2FzeiBTbGFjaGNpYWsgIDxsLnNsYWNoY2lh
a0BzYW1zdW5nLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBbR1RLXSBJbXBsZW1lbnRlZCBtaXNzaW5nIEFQSSBmb3Igc2V0dGluZyBhbmQgZ2V0
dGluZworICAgICAgICBhcHBsaWNhdGlvbiBjYWNoZSBkaXJlY3RvcnkgcGF0aCBkYXRhYmFzZS4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0ODIzCisK
KyAgICAgICAgKiB3ZWJraXQvd2Via2l0YXBwbGljYXRpb25jYWNoZS5jcHA6CisgICAgICAgICh3
ZWJraXRfYXBwbGljYXRpb25fY2FjaGVfZ2V0X2RhdGFiYXNlX2RpcmVjdG9yeV9wYXRoKToKKyAg
ICAgICAgKHdlYmtpdF9hcHBsaWNhdGlvbl9jYWNoZV9zZXRfZGF0YWJhc2VfZGlyZWN0b3J5X3Bh
dGgpOgorICAgICAgICAqIHdlYmtpdC93ZWJraXRhcHBsaWNhdGlvbmNhY2hlcHJpdmF0ZS5oOgor
ICAgICAgICAqIHdlYmtpdC93ZWJraXRnbG9iYWxzLmNwcDoKKyAgICAgICAgKHdlYmtpdEluaXQp
OgorCiAyMDExLTAyLTE5ICBSeXVhbiBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBNYXJ0aW4gUm9iaW5zb24uCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2d0ay93ZWJraXQvd2Via2l0YXBwbGljYXRpb25jYWNoZS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L2d0ay93ZWJraXQvd2Via2l0YXBwbGljYXRpb25jYWNoZS5jcHAKaW5kZXggODdmM2FiNS4u
MmY2M2UwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGFwcGxp
Y2F0aW9uY2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRhcHBs
aWNhdGlvbmNhY2hlLmNwcApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIw
MDkgSmFuIE1pY2hhZWwgQWxvbnpvIDxqbWFsb256b0BnbWFpbC5jb20+CisgKiBDb3B5cmlnaHQg
KEMpIDIwMTEgTHVrYXN6IFNsYWNoY2lhayA8bC5zbGFjaGNpYWtAc2Ftc3VuZy5jb20+CiAgKgog
ICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMKQEAgLTIyLDYgKzIzLDkgQEAKICNpbmNsdWRlICJBcHBsaWNhdGlvbkNh
Y2hlU3RvcmFnZS5oIgogI2luY2x1ZGUgIndlYmtpdGFwcGxpY2F0aW9uY2FjaGVwcml2YXRlLmgi
CiAjaW5jbHVkZSA8d3RmL1VudXNlZFBhcmFtLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmlu
Zy5oPgorCitzdGF0aWMgZ2NoYXIqIHdlYmtpdF9hcHBsaWNhdGlvbl9jYWNoZV9kaXJlY3Rvcnlf
cGF0aCA9IE5VTEw7CiAKIHZvaWQgd2Via2l0X2FwcGxpY2F0aW9uX2NhY2hlX3NldF9tYXhpbXVt
X3NpemUodW5zaWduZWQgbG9uZyBsb25nIHNpemUpCiB7CkBAIC0zMywzICszNyw1MSBAQCB2b2lk
IHdlYmtpdF9hcHBsaWNhdGlvbl9jYWNoZV9zZXRfbWF4aW11bV9zaXplKHVuc2lnbmVkIGxvbmcg
bG9uZyBzaXplKQogICAgIFVOVVNFRF9QQVJBTShzaXplKTsKICNlbmRpZgogfQorCisvKioKKyAq
IHdlYmtpdF9zcHBsaWNhdGlvbl9jYWNoZV9nZXRfZGF0YWJhc2VfZGlyZWN0b3J5X3BhdGg6Cisg
KgorICogUmV0dXJucyB0aGUgY3VycmVudCBwYXRoIHRvIHRoZSBkaXJlY3RvcnkgV2ViS2l0IHdp
bGwgd3JpdGUgQXBwbGljYXRpb24KKyAqIENhY2hlIGRhdGFiYXNlcy4gQnkgZGVmYXVsdCB0aGlz
IHBhdGggd2lsbCBiZSBpbiB0aGUgdXNlciBkYXRhCisgKiBkaXJlY3RvcnkuCisgKgorICogUmV0
dXJuczogdGhlIGN1cnJlbnQgYXBwbGljYXRpb24gY2FjaGUgZGF0YWJhc2UgZGlyZWN0b3J5IHBh
dGgKKyAqCisgKiBTaW5jZTogPy4/Lj8KKyAqKi8KK0dfQ09OU1RfUkVUVVJOIGdjaGFyKiB3ZWJr
aXRfYXBwbGljYXRpb25fY2FjaGVfZ2V0X2RhdGFiYXNlX2RpcmVjdG9yeV9wYXRoKCkKK3sKKyNp
ZiBFTkFCTEUoT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKQorICAgIFdURjo6U3RyaW5nIHBhdGgg
PSBXZWJDb3JlOjpjYWNoZVN0b3JhZ2UoKS5jYWNoZURpcmVjdG9yeSgpOworCisgICAgaWYgKHBh
dGguaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gIiI7CisKKyAgICBnX2ZyZWUod2Via2l0X2Fw
cGxpY2F0aW9uX2NhY2hlX2RpcmVjdG9yeV9wYXRoKTsKKyAgICB3ZWJraXRfYXBwbGljYXRpb25f
Y2FjaGVfZGlyZWN0b3J5X3BhdGggPSBnX3N0cmR1cChwYXRoLnV0ZjgoKS5kYXRhKCkpOworICAg
IHJldHVybiB3ZWJraXRfYXBwbGljYXRpb25fY2FjaGVfZGlyZWN0b3J5X3BhdGg7CisjZWxzZQor
ICAgIHJldHVybiAiIjsKKyNlbmRpZgorfQorCisvKioKKyAqIHdlYmtpdF9hcHBsaWNhdGlvbl9j
YWNoZV9zZXRfZGF0YWJhc2VfZGlyZWN0b3J5X3BhdGg6CisgKiBAcGF0aDogdGhlIG5ldyBhcHBs
aWNhdGlvbiBjYWNoZSBkYXRhYmFzZSBwYXRoCisgKgorICogU2V0cyB0aGUgY3VycmVudCBwYXRo
IHRvIHRoZSBkaXJlY3RvcnkgV2ViS2l0IHdpbGwgd3JpdGUgQXBwbGljYXRpb24KKyAqIENhY2hl
IGRhdGFiYXNlcy4KKyAqCisgKiBTaW5jZTogPy4/Lj8KKyAqKi8KK3ZvaWQgd2Via2l0X2FwcGxp
Y2F0aW9uX2NhY2hlX3NldF9kYXRhYmFzZV9kaXJlY3RvcnlfcGF0aChjb25zdCBnY2hhciogcGF0
aCkKK3sKKyNpZiBFTkFCTEUoT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKQorICAgIFdURjo6U3Ry
aW5nIGNvcmVQYXRoID0gV1RGOjpTdHJpbmc6OmZyb21VVEY4KHBhdGgpOworICAgIFdlYkNvcmU6
OmNhY2hlU3RvcmFnZSgpLnNldENhY2hlRGlyZWN0b3J5KGNvcmVQYXRoKTsKKworICAgIGdfZnJl
ZSh3ZWJraXRfYXBwbGljYXRpb25fY2FjaGVfZGlyZWN0b3J5X3BhdGgpOworICAgIHdlYmtpdF9h
cHBsaWNhdGlvbl9jYWNoZV9kaXJlY3RvcnlfcGF0aCA9IGdfc3RyZHVwKGNvcmVQYXRoLnV0Zjgo
KS5kYXRhKCkpOworI2VuZGlmCit9CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL3dl
YmtpdC93ZWJraXRhcHBsaWNhdGlvbmNhY2hlcHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9ndGsv
d2Via2l0L3dlYmtpdGFwcGxpY2F0aW9uY2FjaGVwcml2YXRlLmgKaW5kZXggY2JmMzc1OS4uMzQx
ZWE5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGFwcGxpY2F0
aW9uY2FjaGVwcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGFw
cGxpY2F0aW9uY2FjaGVwcml2YXRlLmgKQEAgLTMwLDYgKzMwLDEyIEBAIGV4dGVybiAiQyIgewog
CiBXRUJLSVRfQVBJIHZvaWQgd2Via2l0X2FwcGxpY2F0aW9uX2NhY2hlX3NldF9tYXhpbXVtX3Np
emUodW5zaWduZWQgbG9uZyBsb25nIHNpemUpOwogCitXRUJLSVRfQVBJIEdfQ09OU1RfUkVUVVJO
IGdjaGFyKgord2Via2l0X2FwcGxpY2F0aW9uX2NhY2hlX2dldF9kYXRhYmFzZV9kaXJlY3Rvcnlf
cGF0aCAgKHZvaWQpOworCitXRUJLSVRfQVBJIHZvaWQKK3dlYmtpdF9hcHBsaWNhdGlvbl9jYWNo
ZV9zZXRfZGF0YWJhc2VfZGlyZWN0b3J5X3BhdGggIChjb25zdCBnY2hhciogcGF0aCk7CisKIH0K
IAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0Z2xv
YmFscy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0Z2xvYmFscy5jcHAKaW5k
ZXggYzIzODI0Yy4uYjQzNWU5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0
L3dlYmtpdGdsb2JhbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRn
bG9iYWxzLmNwcApAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlQ2xp
ZW50LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIgogI2luY2x1ZGUgIlJl
c291cmNlUmVzcG9uc2UuaCIKKyNpbmNsdWRlICJ3ZWJraXRhcHBsaWNhdGlvbmNhY2hlcHJpdmF0
ZS5oIgogI2luY2x1ZGUgIndlYmtpdGdsb2JhbHNwcml2YXRlLmgiCiAjaW5jbHVkZSAid2Via2l0
c291cGF1dGhkaWFsb2cuaCIKICNpbmNsdWRlICJ3ZWJraXR3ZWJkYXRhYmFzZS5oIgpAQCAtMjQ4
LDExICsyNDksOCBAQCB2b2lkIHdlYmtpdEluaXQoKQogCiAgICAgZ2NoYXIqIGRhdGFiYXNlRGly
ZWN0b3J5ID0gZ19idWlsZF9maWxlbmFtZShnX2dldF91c2VyX2RhdGFfZGlyKCksICJ3ZWJraXQi
LCAiZGF0YWJhc2VzIiwgTlVMTCk7CiAgICAgd2Via2l0X3NldF93ZWJfZGF0YWJhc2VfZGlyZWN0
b3J5X3BhdGgoZGF0YWJhc2VEaXJlY3RvcnkpOworICAgIHdlYmtpdF9hcHBsaWNhdGlvbl9jYWNo
ZV9zZXRfZGF0YWJhc2VfZGlyZWN0b3J5X3BhdGgoZGF0YWJhc2VEaXJlY3RvcnkpOwogCi0jaWYg
RU5BQkxFKE9GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykKLSAgICAvLyBGSVhNRTogSXQgc2hvdWxk
IGJlIHBvc3NpYmxlIGZvciBjbGllbnQgYXBwbGljYXRpb25zIHRvIG92ZXJyaWRlIHRoZSBkZWZh
dWx0IGFwcGNhY2hlIGxvY2F0aW9uCi0gICAgV2ViQ29yZTo6Y2FjaGVTdG9yYWdlKCkuc2V0Q2Fj
aGVEaXJlY3RvcnkoZGF0YWJhc2VEaXJlY3RvcnkpOwotI2VuZGlmCiAgICAgZ19mcmVlKGRhdGFi
YXNlRGlyZWN0b3J5KTsKIAogICAgIFBhZ2VHcm91cDo6c2V0U2hvdWxkVHJhY2tWaXNpdGVkTGlu
a3ModHJ1ZSk7Cg==
</data>
<flag name="review"
          id="74838"
          type_id="1"
          status="-"
          setter="mrobinson"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83395</attachid>
            <date>2011-02-22 14:47:44 -0800</date>
            <delta_ts>2011-02-23 13:27:40 -0800</delta_ts>
            <desc>API for application cache database directory</desc>
            <filename>applicationcache2.patch</filename>
            <type>text/plain</type>
            <size>5137</size>
            <attacher name="Lukasz Slachciak">l.slachciak</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Z3RrL0NoYW5nZUxvZwppbmRleCBhNGQyYjZjLi5lMDgyYzMzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTkgQEAKKzIwMTEtMDItMjIgIEx1a2FzeiBTbGFjaGNpYWsgIDxsLnNsYWNoY2lh
a0BzYW1zdW5nLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBbR1RLXSBJbXBsZW1lbnRlZCBtaXNzaW5nIEFQSSBmb3Igc2V0dGluZyBhbmQgZ2V0
dGluZworICAgICAgICB3ZWIgYXBwbGljYXRpb24gY2FjaGUgZGlyZWN0b3J5IHBhdGggZGF0YWJh
c2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDgy
MworCisKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0YXBwbGljYXRpb25jYWNoZS5jcHA6IG1haW4g
aW1wbGVtZW50YXRpb24KKyAgICAgICAgKHdlYmtpdF9hcHBsaWNhdGlvbl9jYWNoZV9nZXRfZGF0
YWJhc2VfZGlyZWN0b3J5X3BhdGgpOiBnZXR0ZXIKKyAgICAgICAgKHdlYmtpdF9hcHBsaWNhdGlv
bl9jYWNoZV9zZXRfZGF0YWJhc2VfZGlyZWN0b3J5X3BhdGgpOiBzZXR0ZXIKKyAgICAgICAgKiB3
ZWJraXQvd2Via2l0YXBwbGljYXRpb25jYWNoZXByaXZhdGUuaDogQVBJIGRlY2xhcmF0aW9uCisg
ICAgICAgICogd2Via2l0L3dlYmtpdGdsb2JhbHMuY3BwOgorICAgICAgICAod2Via2l0SW5pdCk6
IEFQSSB1c2FnZQorCiAyMDExLTAyLTAyICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdh
bGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBYYW4gTG9wZXouCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0YXBwbGljYXRpb25jYWNoZS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0YXBwbGljYXRpb25jYWNoZS5jcHAKaW5kZXggODdm
M2FiNS4uYzEzNWU4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtp
dGFwcGxpY2F0aW9uY2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJr
aXRhcHBsaWNhdGlvbmNhY2hlLmNwcApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQg
KEMpIDIwMDkgSmFuIE1pY2hhZWwgQWxvbnpvIDxqbWFsb256b0BnbWFpbC5jb20+CisgKiBDb3B5
cmlnaHQgKEMpIDIwMTEgTHVrYXN6IFNsYWNoY2lhayA8bC5zbGFjaGNpYWtAc2Ftc3VuZy5jb20+
CiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli
dXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTIwLDggKzIxLDEzIEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAKICNpbmNsdWRlICJBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oIgorI2luY2x1ZGUgIkZp
bGVTeXN0ZW0uaCIKICNpbmNsdWRlICJ3ZWJraXRhcHBsaWNhdGlvbmNhY2hlcHJpdmF0ZS5oIgog
I2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcu
aD4KKworLy8ga2VlcHMgY3VycmVudCBkaXJlY3RvcnkgcGF0aCB0byBvZmZsaW5lIHdlYiBhcHBs
aWNhdGlvbnMgY2FjaGUgZGF0YWJhc2UKK3N0YXRpYyBXVEY6OkNTdHJpbmcgY2FjaGVEaXJlY3Rv
cnlQYXRoID0gIiI7CiAKIHZvaWQgd2Via2l0X2FwcGxpY2F0aW9uX2NhY2hlX3NldF9tYXhpbXVt
X3NpemUodW5zaWduZWQgbG9uZyBsb25nIHNpemUpCiB7CkBAIC0zMywzICszOSw1MSBAQCB2b2lk
IHdlYmtpdF9hcHBsaWNhdGlvbl9jYWNoZV9zZXRfbWF4aW11bV9zaXplKHVuc2lnbmVkIGxvbmcg
bG9uZyBzaXplKQogICAgIFVOVVNFRF9QQVJBTShzaXplKTsKICNlbmRpZgogfQorCisvKioKKyAq
IHdlYmtpdF9zcHBsaWNhdGlvbl9jYWNoZV9nZXRfZGF0YWJhc2VfZGlyZWN0b3J5X3BhdGg6Cisg
KgorICogUmV0dXJucyB0aGUgY3VycmVudCBwYXRoIHRvIHRoZSBkaXJlY3RvcnkgV2ViS2l0IHdp
bGwgd3JpdGUgd2ViIGFwcGxpY2F0aW9uCisgKiBjYWNoZSBkYXRhYmFzZXMuIEJ5IGRlZmF1bHQg
dGhpcyBwYXRoIGlzIHNldCB0byBnX2dldF91c2VyX2RhdGFfZGlyKClcV2ViS2l0CisgKiBpbiB3
ZWJraXRJbml0KCkgd2l0aCB3ZWJraXRfYXBwbGljYXRpb25fY2FjaGVfc2V0X2RhdGFiYXNlX2Rp
cmVjdG9yeV9wYXRoCisgKgorICogUmV0dXJuczogdGhlIGN1cnJlbnQgYXBwbGljYXRpb24gY2Fj
aGUgZGF0YWJhc2UgZGlyZWN0b3J5IHBhdGgKKyAqCisgKiBTaW5jZTogPy4/Lj8KKyAqKi8KK0df
Q09OU1RfUkVUVVJOIGdjaGFyKiB3ZWJraXRfYXBwbGljYXRpb25fY2FjaGVfZ2V0X2RhdGFiYXNl
X2RpcmVjdG9yeV9wYXRoKCkKK3sKKyNpZiBFTkFCTEUoT0ZGTElORV9XRUJfQVBQTElDQVRJT05T
KQorICAgIFdURjo6U3RyaW5nIHBhdGggPSAgV2ViQ29yZTo6Y2FjaGVTdG9yYWdlKCkuY2FjaGVE
aXJlY3RvcnkoKTsKKyAgICBDU3RyaW5nIGNQYXRoID0gV2ViQ29yZTo6ZmlsZVN5c3RlbVJlcHJl
c2VudGF0aW9uKHBhdGgpOworCisgICAgaWYgKGNQYXRoICE9IGNhY2hlRGlyZWN0b3J5UGF0aCkK
KyAgICAgICAgY2FjaGVEaXJlY3RvcnlQYXRoID0gY1BhdGg7CisKKyAgICByZXR1cm4gY2FjaGVE
aXJlY3RvcnlQYXRoLmRhdGEoKTsKKyNlbHNlCisgICAgcmV0dXJuICIiOworI2VuZGlmCit9CisK
Ky8qKgorICogd2Via2l0X2FwcGxpY2F0aW9uX2NhY2hlX3NldF9kYXRhYmFzZV9kaXJlY3Rvcnlf
cGF0aDoKKyAqIEBwYXRoOiB0aGUgbmV3IHdlYiBhcHBsaWNhdGlvbiBjYWNoZSBkYXRhYmFzZSBw
YXRoCisgKgorICogU2V0cyB0aGUgY3VycmVudCBwYXRoIHRvIHRoZSBkaXJlY3RvcnkgV2ViS2l0
IHdpbGwgd3JpdGUgd2ViIGFwbGljYXRpb24gY2FjaGUKKyAqIGRhdGFiYXNlcy4KKyAqCisgKiBT
aW5jZTogPy4/Lj8KKyAqKi8KK3ZvaWQgd2Via2l0X2FwcGxpY2F0aW9uX2NhY2hlX3NldF9kYXRh
YmFzZV9kaXJlY3RvcnlfcGF0aChjb25zdCBnY2hhciogcGF0aCkKK3sKKyNpZiBFTkFCTEUoT0ZG
TElORV9XRUJfQVBQTElDQVRJT05TKQorICAgIFdURjo6Q1N0cmluZyBjUGF0aChwYXRoKTsKKyAg
ICBpZiAoY1BhdGggIT0gY2FjaGVEaXJlY3RvcnlQYXRoKQorICAgICAgICBjYWNoZURpcmVjdG9y
eVBhdGggPSBjUGF0aDsKKworICAgIFdURjo6U3RyaW5nIHNDYWNoZURpcmVjdG9yeVBhdGggPSBX
ZWJDb3JlOjpmaWxlbmFtZVRvU3RyaW5nKGNhY2hlRGlyZWN0b3J5UGF0aC5kYXRhKCkpOworICAg
IFdlYkNvcmU6OmNhY2hlU3RvcmFnZSgpLnNldENhY2hlRGlyZWN0b3J5KHNDYWNoZURpcmVjdG9y
eVBhdGgpOworI2VuZGlmCit9CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtp
dC93ZWJraXRhcHBsaWNhdGlvbmNhY2hlcHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9ndGsvd2Vi
a2l0L3dlYmtpdGFwcGxpY2F0aW9uY2FjaGVwcml2YXRlLmgKaW5kZXggY2JmMzc1OS4uMzQxZWE5
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGFwcGxpY2F0aW9u
Y2FjaGVwcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGFwcGxp
Y2F0aW9uY2FjaGVwcml2YXRlLmgKQEAgLTMwLDYgKzMwLDEyIEBAIGV4dGVybiAiQyIgewogCiBX
RUJLSVRfQVBJIHZvaWQgd2Via2l0X2FwcGxpY2F0aW9uX2NhY2hlX3NldF9tYXhpbXVtX3NpemUo
dW5zaWduZWQgbG9uZyBsb25nIHNpemUpOwogCitXRUJLSVRfQVBJIEdfQ09OU1RfUkVUVVJOIGdj
aGFyKgord2Via2l0X2FwcGxpY2F0aW9uX2NhY2hlX2dldF9kYXRhYmFzZV9kaXJlY3RvcnlfcGF0
aCAgKHZvaWQpOworCitXRUJLSVRfQVBJIHZvaWQKK3dlYmtpdF9hcHBsaWNhdGlvbl9jYWNoZV9z
ZXRfZGF0YWJhc2VfZGlyZWN0b3J5X3BhdGggIChjb25zdCBnY2hhciogcGF0aCk7CisKIH0KIAog
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0Z2xvYmFs
cy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0Z2xvYmFscy5jcHAKaW5kZXgg
YzIzODI0Yy4uYjQzNWU5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dl
YmtpdGdsb2JhbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRnbG9i
YWxzLmNwcApAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlQ2xpZW50
LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIgogI2luY2x1ZGUgIlJlc291
cmNlUmVzcG9uc2UuaCIKKyNpbmNsdWRlICJ3ZWJraXRhcHBsaWNhdGlvbmNhY2hlcHJpdmF0ZS5o
IgogI2luY2x1ZGUgIndlYmtpdGdsb2JhbHNwcml2YXRlLmgiCiAjaW5jbHVkZSAid2Via2l0c291
cGF1dGhkaWFsb2cuaCIKICNpbmNsdWRlICJ3ZWJraXR3ZWJkYXRhYmFzZS5oIgpAQCAtMjQ4LDEx
ICsyNDksOCBAQCB2b2lkIHdlYmtpdEluaXQoKQogCiAgICAgZ2NoYXIqIGRhdGFiYXNlRGlyZWN0
b3J5ID0gZ19idWlsZF9maWxlbmFtZShnX2dldF91c2VyX2RhdGFfZGlyKCksICJ3ZWJraXQiLCAi
ZGF0YWJhc2VzIiwgTlVMTCk7CiAgICAgd2Via2l0X3NldF93ZWJfZGF0YWJhc2VfZGlyZWN0b3J5
X3BhdGgoZGF0YWJhc2VEaXJlY3RvcnkpOworICAgIHdlYmtpdF9hcHBsaWNhdGlvbl9jYWNoZV9z
ZXRfZGF0YWJhc2VfZGlyZWN0b3J5X3BhdGgoZGF0YWJhc2VEaXJlY3RvcnkpOwogCi0jaWYgRU5B
QkxFKE9GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykKLSAgICAvLyBGSVhNRTogSXQgc2hvdWxkIGJl
IHBvc3NpYmxlIGZvciBjbGllbnQgYXBwbGljYXRpb25zIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0
IGFwcGNhY2hlIGxvY2F0aW9uCi0gICAgV2ViQ29yZTo6Y2FjaGVTdG9yYWdlKCkuc2V0Q2FjaGVE
aXJlY3RvcnkoZGF0YWJhc2VEaXJlY3RvcnkpOwotI2VuZGlmCiAgICAgZ19mcmVlKGRhdGFiYXNl
RGlyZWN0b3J5KTsKIAogICAgIFBhZ2VHcm91cDo6c2V0U2hvdWxkVHJhY2tWaXNpdGVkTGlua3Mo
dHJ1ZSk7Cg==
</data>
<flag name="review"
          id="75210"
          type_id="1"
          status="-"
          setter="mrobinson"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83535</attachid>
            <date>2011-02-23 13:27:40 -0800</date>
            <delta_ts>2011-02-26 11:08:53 -0800</delta_ts>
            <desc>API for application cache database directory</desc>
            <filename>applicationcache3.patch</filename>
            <type>text/plain</type>
            <size>7224</size>
            <attacher name="Lukasz Slachciak">l.slachciak</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Z3RrL0NoYW5nZUxvZwppbmRleCBhZjc2YjcyLi42MDA3NGJkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMTEtMDItMjMgIEx1a2FzeiBTbGFjaGNpYWsgIDxsLnNsYWNoY2lh
a0BzYW1zdW5nLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBbR1RLXSBJbXBsZW1lbnRlZCBBUEkgdG8gc2V0L2dldCB3ZWIgYXBwbGljYXRpb24g
Y2FjaGUgZGlyZWN0b3J5IHBhdGggZGF0YWJhc2UuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5h
bTogQWRkIHdlYmtpdGFwcGxpY2F0aW9uY2FjaGUuaCBmaWxlLgorICAgICAgICAqIHdlYmtpdC93
ZWJraXQuaDogQWRkIHdlYmtpdGFwcGxpY2F0aW9uY2FjaGUuaCBmaWxlLgorICAgICAgICAqIHdl
YmtpdC93ZWJraXRhcHBsaWNhdGlvbmNhY2hlLmNwcDogZGVmaW5pdGlvbiBvZiBBUEkgc2V0dGlu
ZyBhbmQgZ2V0dGluZworICAgICAgICB3ZWIgYXBwbGljYXRpb24gY2FjaGUgZGlyZWN0b3J5IHBh
dGggZGF0YWJhc2UuCisgICAgICAgICh3ZWJraXRfYXBwbGljYXRpb25fY2FjaGVfZ2V0X2RhdGFi
YXNlX2RpcmVjdG9yeV9wYXRoKToKKyAgICAgICAgKHdlYmtpdF9hcHBsaWNhdGlvbl9jYWNoZV9z
ZXRfZGF0YWJhc2VfZGlyZWN0b3J5X3BhdGgpOgorICAgICAgICAqIHdlYmtpdC93ZWJraXRhcHBs
aWNhdGlvbmNhY2hlLmg6IEFkZGVkIG5ldyBBUEkgZmlsZSBmb3Igc2V0dGluZyBhbmQgZ2V0dGlu
ZworICAgICAgICB3ZWIgYXBwbGljYXRpb24gY2FjaGUgZGlyZWN0b3J5IHBhdGggZGF0YWJhc2Uu
CisgICAgICAgICogd2Via2l0L3dlYmtpdGdsb2JhbHMuY3BwOgorICAgICAgICAod2Via2l0SW5p
dCk6IHVzZSB3ZWJraXRfYXBwbGljYXRpb25fY2FjaGVfc2V0X2RhdGFiYXNlX2RpcmVjdG9yeV9w
YXRoCisgICAgICAgIHRvIHNldCBkZWZhdWx0IHdlYiBhcHBsaWNhdGlvbiBjYWNoZSBkaXJlY3Rv
cnkgcGF0aCBkYXRhYmFzZS4KKwogMjAxMS0wMi0yMiAgTGFzemxvIEdvbWJvcyAgPGxhc3psby4x
LmdvbWJvc0Bub2tpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWxleGV5IFByb3NrdXJ5
YWtvdi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL0dOVW1ha2VmaWxlLmFtIGIvU291
cmNlL1dlYktpdC9ndGsvR05VbWFrZWZpbGUuYW0KaW5kZXggZTNhMDMyNi4uYWI0YTIyNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvR05VbWFrZWZpbGUuYW0KKysrIGIvU291cmNlL1dl
YktpdC9ndGsvR05VbWFrZWZpbGUuYW0KQEAgLTEwOSw2ICsxMDksNyBAQCBsaWJ3ZWJraXRndGtf
QFdFQktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkBfQFdFQktJVEdUS19BUElfTUlOT1JfVkVSU0lP
TkBfbGFfTElCQQogCiB3ZWJraXRndGtfc3RhdGljX2hfYXBpICs9IFwKIAkkKHNyY2RpcikvU291
cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdC5oIFwKKwkkKHNyY2RpcikvU291cmNlL1dlYktp
dC9ndGsvd2Via2l0L3dlYmtpdGFwcGxpY2F0aW9uY2FjaGUuaCBcCiAJJChzcmNkaXIpL1NvdXJj
ZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRkZWZpbmVzLmggXAogCSQoc3JjZGlyKS9Tb3VyY2Uv
V2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZG93bmxvYWQuaCBcCiAJJChzcmNkaXIpL1NvdXJjZS9X
ZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRlcnJvci5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvZ3RrL3dlYmtpdC93ZWJraXQuaCBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXQu
aAppbmRleCBkOTNmYWUxLi40ZGQ4NmY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay93
ZWJraXQvd2Via2l0LmgKKysrIGIvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdC5oCkBA
IC0yMiw2ICsyMiw3IEBACiAjZGVmaW5lIF9fV0VCS0lUX0hfXwogCiAjaW5jbHVkZSA8d2Via2l0
L3dlYmtpdHZlcnNpb24uaD4KKyNpbmNsdWRlIDx3ZWJraXQvd2Via2l0YXBwbGljYXRpb25jYWNo
ZS5oPgogI2luY2x1ZGUgPHdlYmtpdC93ZWJraXRkZWZpbmVzLmg+CiAjaW5jbHVkZSA8d2Via2l0
L3dlYmtpdGRvbS5oPgogI2luY2x1ZGUgPHdlYmtpdC93ZWJraXRkb3dubG9hZC5oPgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGFwcGxpY2F0aW9uY2FjaGUuY3Bw
IGIvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGFwcGxpY2F0aW9uY2FjaGUuY3BwCmlu
ZGV4IDg3ZjNhYjUuLjE3M2NhYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtp
dC93ZWJraXRhcHBsaWNhdGlvbmNhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJr
aXQvd2Via2l0YXBwbGljYXRpb25jYWNoZS5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29w
eXJpZ2h0IChDKSAyMDA5IEphbiBNaWNoYWVsIEFsb256byA8am1hbG9uem9AZ21haWwuY29tPgor
ICogQ29weXJpZ2h0IChDKSAyMDExIEx1a2FzeiBTbGFjaGNpYWsKICAqCiAgKiBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YwpAQCAtMTgsMTAgKzE5LDE2IEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIndlYmtpdGFwcGxpY2F0aW9uY2FjaGUuaCIKIAogI2luY2x1ZGUgIkFwcGxpY2F0aW9uQ2Fj
aGVTdG9yYWdlLmgiCisjaW5jbHVkZSAiRmlsZVN5c3RlbS5oIgogI2luY2x1ZGUgIndlYmtpdGFw
cGxpY2F0aW9uY2FjaGVwcml2YXRlLmgiCiAjaW5jbHVkZSA8d3RmL1VudXNlZFBhcmFtLmg+Cisj
aW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgorCisvLyBrZWVwcyBjdXJyZW50IGRpcmVjdG9y
eSBwYXRoIHRvIG9mZmxpbmUgd2ViIGFwcGxpY2F0aW9ucyBjYWNoZSBkYXRhYmFzZQorc3RhdGlj
IFdURjo6Q1N0cmluZyBjYWNoZURpcmVjdG9yeVBhdGggPSAiIjsKIAogdm9pZCB3ZWJraXRfYXBw
bGljYXRpb25fY2FjaGVfc2V0X21heGltdW1fc2l6ZSh1bnNpZ25lZCBsb25nIGxvbmcgc2l6ZSkK
IHsKQEAgLTMzLDMgKzQwLDQ5IEBAIHZvaWQgd2Via2l0X2FwcGxpY2F0aW9uX2NhY2hlX3NldF9t
YXhpbXVtX3NpemUodW5zaWduZWQgbG9uZyBsb25nIHNpemUpCiAgICAgVU5VU0VEX1BBUkFNKHNp
emUpOwogI2VuZGlmCiB9CisKKy8qKgorICogd2Via2l0X3NwcGxpY2F0aW9uX2NhY2hlX2dldF9k
YXRhYmFzZV9kaXJlY3RvcnlfcGF0aDoKKyAqCisgKiBSZXR1cm5zIHRoZSBjdXJyZW50IHBhdGgg
dG8gdGhlIGRpcmVjdG9yeSBXZWJLaXQgd2lsbCB3cml0ZSB3ZWIgYXBwbGljYXRpb24KKyAqIGNh
Y2hlIGRhdGFiYXNlcy4gQnkgZGVmYXVsdCB0aGlzIHBhdGggaXMgc2V0IHRvICRYREdfREFUQV9I
T01FL3dlYmtpdC9kYXRhYmFzZXMKKyAqIHdpdGggd2Via2l0X2FwcGxpY2F0aW9uX2NhY2hlX3Nl
dF9kYXRhYmFzZV9kaXJlY3RvcnlfcGF0aAorICoKKyAqIFJldHVybnM6IHRoZSBjdXJyZW50IGFw
cGxpY2F0aW9uIGNhY2hlIGRhdGFiYXNlIGRpcmVjdG9yeSBwYXRoCisgKgorICogU2luY2U6IDEu
My4xMworICoqLworR19DT05TVF9SRVRVUk4gZ2NoYXIqIHdlYmtpdF9hcHBsaWNhdGlvbl9jYWNo
ZV9nZXRfZGF0YWJhc2VfZGlyZWN0b3J5X3BhdGgoKQoreworI2lmIEVOQUJMRShPRkZMSU5FX1dF
Ql9BUFBMSUNBVElPTlMpCisgICAgQ1N0cmluZyBwYXRoID0gV2ViQ29yZTo6ZmlsZVN5c3RlbVJl
cHJlc2VudGF0aW9uKFdlYkNvcmU6OmNhY2hlU3RvcmFnZSgpLmNhY2hlRGlyZWN0b3J5KCkpOwor
CisgICAgaWYgKHBhdGggIT0gY2FjaGVEaXJlY3RvcnlQYXRoKQorICAgICAgICBjYWNoZURpcmVj
dG9yeVBhdGggPSBwYXRoOworCisgICAgcmV0dXJuIGNhY2hlRGlyZWN0b3J5UGF0aC5kYXRhKCk7
CisjZWxzZQorICAgIHJldHVybiAiIjsKKyNlbmRpZgorfQorCisvKioKKyAqIHdlYmtpdF9hcHBs
aWNhdGlvbl9jYWNoZV9zZXRfZGF0YWJhc2VfZGlyZWN0b3J5X3BhdGg6CisgKiBAcGF0aDogdGhl
IG5ldyB3ZWIgYXBwbGljYXRpb24gY2FjaGUgZGF0YWJhc2UgcGF0aAorICoKKyAqIFNldHMgdGhl
IGN1cnJlbnQgcGF0aCB0byB0aGUgZGlyZWN0b3J5IFdlYktpdCB3aWxsIHdyaXRlIHdlYiBhcGxp
Y2F0aW9uIGNhY2hlCisgKiBkYXRhYmFzZXMuCisgKgorICogU2luY2U6IDEuMy4xMworICoqLwor
dm9pZCB3ZWJraXRfYXBwbGljYXRpb25fY2FjaGVfc2V0X2RhdGFiYXNlX2RpcmVjdG9yeV9wYXRo
KGNvbnN0IGdjaGFyKiBwYXRoKQoreworI2lmIEVOQUJMRShPRkZMSU5FX1dFQl9BUFBMSUNBVElP
TlMpCisgICAgV1RGOjpDU3RyaW5nIHBhdGhTdHJpbmcocGF0aCk7CisgICAgaWYgKHBhdGhTdHJp
bmcgIT0gY2FjaGVEaXJlY3RvcnlQYXRoKQorICAgICAgICBjYWNoZURpcmVjdG9yeVBhdGggPSBw
YXRoU3RyaW5nOworCisgICAgV2ViQ29yZTo6Y2FjaGVTdG9yYWdlKCkuc2V0Q2FjaGVEaXJlY3Rv
cnkoV2ViQ29yZTo6ZmlsZW5hbWVUb1N0cmluZyhjYWNoZURpcmVjdG9yeVBhdGguZGF0YSgpKSk7
CisjZW5kaWYKK30KKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtp
dGFwcGxpY2F0aW9uY2FjaGUuaCBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRhcHBs
aWNhdGlvbmNhY2hlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2ZkYjgz
NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRhcHBs
aWNhdGlvbmNhY2hlLmgKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MSBMdWthc3ogU2xhY2hjaWFrCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJs
aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9u
IDIsMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv
bi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp
dCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl
dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJ
Qi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu
Yy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEw
LTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVmIHdlYmtpdGFwcGxpY2F0aW9uY2FjaGVfaAorI2Rl
ZmluZSB3ZWJraXRhcHBsaWNhdGlvbmNhY2hlX2gKKworI2luY2x1ZGUgPHdlYmtpdC93ZWJraXRk
ZWZpbmVzLmg+CisKK0dfQkVHSU5fREVDTFMKKworV0VCS0lUX0FQSSBHX0NPTlNUX1JFVFVSTiBn
Y2hhcioKK3dlYmtpdF9hcHBsaWNhdGlvbl9jYWNoZV9nZXRfZGF0YWJhc2VfZGlyZWN0b3J5X3Bh
dGggICh2b2lkKTsKKworV0VCS0lUX0FQSSB2b2lkCit3ZWJraXRfYXBwbGljYXRpb25fY2FjaGVf
c2V0X2RhdGFiYXNlX2RpcmVjdG9yeV9wYXRoICAoY29uc3QgZ2NoYXIqIHBhdGgpOworCitHX0VO
RF9ERUNMUworCisjZW5kaWYgLyogd2Via2l0YXBwbGljYXRpb25jYWNoZV9oICovCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0Z2xvYmFscy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L2d0ay93ZWJraXQvd2Via2l0Z2xvYmFscy5jcHAKaW5kZXggYzIzODI0Yy4uMDUyODAw
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGdsb2JhbHMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRnbG9iYWxzLmNwcApAQCAtMzgs
NiArMzgsNyBAQAogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlQ2xpZW50LmgiCiAjaW5jbHVkZSAi
UmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIK
KyNpbmNsdWRlICJ3ZWJraXRhcHBsaWNhdGlvbmNhY2hlLmgiCiAjaW5jbHVkZSAid2Via2l0Z2xv
YmFsc3ByaXZhdGUuaCIKICNpbmNsdWRlICJ3ZWJraXRzb3VwYXV0aGRpYWxvZy5oIgogI2luY2x1
ZGUgIndlYmtpdHdlYmRhdGFiYXNlLmgiCkBAIC0yNDgsMTEgKzI0OSw4IEBAIHZvaWQgd2Via2l0
SW5pdCgpCiAKICAgICBnY2hhciogZGF0YWJhc2VEaXJlY3RvcnkgPSBnX2J1aWxkX2ZpbGVuYW1l
KGdfZ2V0X3VzZXJfZGF0YV9kaXIoKSwgIndlYmtpdCIsICJkYXRhYmFzZXMiLCBOVUxMKTsKICAg
ICB3ZWJraXRfc2V0X3dlYl9kYXRhYmFzZV9kaXJlY3RvcnlfcGF0aChkYXRhYmFzZURpcmVjdG9y
eSk7CisgICAgd2Via2l0X2FwcGxpY2F0aW9uX2NhY2hlX3NldF9kYXRhYmFzZV9kaXJlY3Rvcnlf
cGF0aChkYXRhYmFzZURpcmVjdG9yeSk7CiAKLSNpZiBFTkFCTEUoT0ZGTElORV9XRUJfQVBQTElD
QVRJT05TKQotICAgIC8vIEZJWE1FOiBJdCBzaG91bGQgYmUgcG9zc2libGUgZm9yIGNsaWVudCBh
cHBsaWNhdGlvbnMgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgYXBwY2FjaGUgbG9jYXRpb24KLSAg
ICBXZWJDb3JlOjpjYWNoZVN0b3JhZ2UoKS5zZXRDYWNoZURpcmVjdG9yeShkYXRhYmFzZURpcmVj
dG9yeSk7Ci0jZW5kaWYKICAgICBnX2ZyZWUoZGF0YWJhc2VEaXJlY3RvcnkpOwogCiAgICAgUGFn
ZUdyb3VwOjpzZXRTaG91bGRUcmFja1Zpc2l0ZWRMaW5rcyh0cnVlKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>