<?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>74478</bug_id>
          
          <creation_ts>2011-12-13 19:52:30 -0800</creation_ts>
          <short_desc>[GTK] [WebKit2] WebKitURIRequest and WebKitURIResponse should wrap the corresponding WebCore classes</short_desc>
          <delta_ts>2012-01-12 13:16:46 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Martin Robinson">mrobinson</reporter>
          <assigned_to name="Martin Robinson">mrobinson</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>gustavo</cc>
    
    <cc>pnormand</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>520617</commentid>
    <comment_count>0</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-12-13 19:52:30 -0800</bug_when>
    <thetext>Instead of wrapping a SoupMessage these classes should wrap the corresponding WebCore classes. This prevents unecessary conversion of the WebCore classes to a SoupMessage and makes the code simpler. If WebKitURIRequest needs a SoupMessage at a later time, it can create one lazily. Patch will follow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521595</commentid>
    <comment_count>1</comment_count>
      <attachid>119364</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-12-14 19:59:55 -0800</bug_when>
    <thetext>Created attachment 119364
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521598</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-14 20:02:39 -0800</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521611</commentid>
    <comment_count>3</comment_count>
      <attachid>119366</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-12-14 20:30:38 -0800</bug_when>
    <thetext>Created attachment 119366
How this affects the patch on bug 72952

Carlos asked me to post a patch showing how this affects his patch at https://bugs.webkit.org/show_bug.cgi?id=72952. I&apos;ve done that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521665</commentid>
    <comment_count>4</comment_count>
      <attachid>119364</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2011-12-14 22:32:00 -0800</bug_when>
    <thetext>Comment on attachment 119364
Patch

Attachment 119364 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/10905139</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521702</commentid>
    <comment_count>5</comment_count>
      <attachid>119364</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-12-14 23:52:18 -0800</bug_when>
    <thetext>Comment on attachment 119364
Patch

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

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitURIRequest.cpp:105
&gt; +    WebKitURIRequest* request = WEBKIT_URI_REQUEST(g_object_new(WEBKIT_TYPE_URI_REQUEST, NULL));
&gt; +    request-&gt;priv-&gt;resourceRequest.setURL(KURL(KURL(), uri));
&gt; +    return request;

I prefer to keep the property as construct only and move the .SetURL to the constructed method. That way this will work if g_object_new is called directly instead of webkit_uri_request_new(), which is what the bindings do (I think)

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitURIRequest.cpp:126
&gt; +    request-&gt;priv-&gt;uri = request-&gt;priv-&gt;resourceRequest.url().string().utf8();
&gt;      return request-&gt;priv-&gt;uri.data();

I wonder if we really need priv-&gt;uri. When the request is created with an uri we set the URL of the ResourseRequest, so we could just return request-&gt;priv-&gt;resourceRequest.url().string().utf8() always here, no?

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitURIResponse.cpp:136
&gt; +    response-&gt;priv-&gt;uri = response-&gt;priv-&gt;resourceResponse.url().string().utf8();
&gt;      return response-&gt;priv-&gt;uri.data();

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521746</commentid>
    <comment_count>6</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-12-15 01:43:32 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 119364 [details])
&gt; Attachment 119364 [details] did not pass gtk-ews (gtk):
&gt; Output: http://queues.webkit.org/results/10905139

Looks like webkit-patch skipped the new file again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521747</commentid>
    <comment_count>7</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-12-15 01:46:20 -0800</bug_when>
    <thetext>(In reply to comment #5)

&gt; I prefer to keep the property as construct only and move the .SetURL to the constructed method. That way this will work if g_object_new is called directly instead of webkit_uri_request_new(), which is what the bindings do (I think)

Sure. That seems like a reasonable change. I forgot that we might support constructing and using WebKitURIRequests.
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/gtk/WebKitURIRequest.cpp:126
&gt; &gt; +    request-&gt;priv-&gt;uri = request-&gt;priv-&gt;resourceRequest.url().string().utf8();
&gt; &gt;      return request-&gt;priv-&gt;uri.data();
&gt; 
&gt; I wonder if we really need priv-&gt;uri. When the request is created with an uri we set the URL of the ResourseRequest, so we could just return request-&gt;priv-&gt;resourceRequest.url().string().utf8() always here, no?

The problem is that utf8() is a temporary here so returning utf8().data() would return a pointer to memory that was already freed. It&apos;s a bit annoying that we have to do the conversion to utf8 every time, but WebKit is gradually moving to supporting 8-bit strings.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521750</commentid>
    <comment_count>8</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2011-12-15 01:49:16 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; &gt; I wonder if we really need priv-&gt;uri. When the request is created with an uri we set the URL of the ResourseRequest, so we could just return request-&gt;priv-&gt;resourceRequest.url().string().utf8() always here, no?
&gt; 
&gt; The problem is that utf8() is a temporary here so returning utf8().data() would return a pointer to memory that was already freed. It&apos;s a bit annoying that we have to do the conversion to utf8 every time, but WebKit is gradually moving to supporting 8-bit strings.

Right!, I always forget it, yes I also prefer to keep the uri twice and be able to return a const gchar *</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>531661</commentid>
    <comment_count>9</comment_count>
      <attachid>121553</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-01-07 09:24:25 -0800</bug_when>
    <thetext>Created attachment 121553
Updated version of the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>532107</commentid>
    <comment_count>10</comment_count>
      <attachid>121553</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2012-01-09 05:06:40 -0800</bug_when>
    <thetext>Comment on attachment 121553
Updated version of the patch

Looks good to me!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533096</commentid>
    <comment_count>11</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2012-01-10 08:38:39 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 121553 [details])
&gt; Looks good to me!

I didn&apos;t r+ this only because another +1 is needed from another GTK reviewer, unless I missed it :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533131</commentid>
    <comment_count>12</comment_count>
      <attachid>121553</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-01-10 09:16:15 -0800</bug_when>
    <thetext>Comment on attachment 121553
Updated version of the patch

LGTM too, ftr I haven&apos;t been too strict regarding guaranteeing 2 reviewers for a webkit2 API change when it has been discussed already, feel free to assume my nod in those cases =)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533679</commentid>
    <comment_count>13</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-01-10 23:32:19 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 121553 [details])
&gt; LGTM too, ftr I haven&apos;t been too strict regarding guaranteeing 2 reviewers for a webkit2 API change when it has been discussed already, feel free to assume my nod in those cases =)

Yes, WK2 API hasn&apos;t been released as stable yet, so we can break API/ABI if needed at any time, and there&apos;s still a lot of work to do so there&apos;s no reason to make the development even slower. It&apos;s already enough difficult to find one reviewer. Once the first stable (or even beta) version is released I agree on requiring +1 from two reviewers for new API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>535100</commentid>
    <comment_count>14</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-01-12 13:16:46 -0800</bug_when>
    <thetext>Committed r104850: &lt;http://trac.webkit.org/changeset/104850&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119364</attachid>
            <date>2011-12-14 19:59:55 -0800</date>
            <delta_ts>2012-01-07 09:24:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74478-20111214195954.patch</filename>
            <type>text/plain</type>
            <size>11570</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyNzMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMmQzZDBmMWVkMTg0ZTA3
NGVkNWJmNTBjNjg5N2ZiNzg4NTAzNTZlZS4uNzljYzYxOWY4NTBiM2QzMjgyODUzOGE2NTczOWEw
OGM5MWQxMmM1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDExLTEyLTE0ICBNYXJ0
aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXSBbV2Vi
S2l0Ml0gV2ViS2l0VVJJUmVxdWVzdCBhbmQgV2ViS2l0VVJJUmVzcG9uc2Ugc2hvdWxkIHdyYXAg
dGhlIGNvcnJlc3BvbmRpbmcgV2ViQ29yZSBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEhhdmUgV2ViS2l0VVJJUmVxdWVzdCB3cmFwIGEgUmVz
b3VyY2VScXVlc3N0IGFuZCBXZWJLaXRVUklSZXNwb25zZSB3cmFwIGEgUmVzb3VyY2VSZXNwb25z
ZS4KKyAgICAgICAgVGhleSBhcmUgdGhlIFdlYkNvcmUgdHlwZXMgdGhleSBhcmUgbWVhbnQgdG8g
cmVwcmVzZW50IGFuZCB3ZSB3aWxsIG5lZWQgdG8gZXhwb3NlIG1vcmUKKyAgICAgICAgaW5mb3Jt
YXRpb24gZnJvbSB0aGVtIGluIHRoZSBmdXR1cmUgdG8gbWFrZSB0aGVtIHVzZWZ1bC4gTGF0ZXIg
d2UgY2FuIGhhdmUgUmVzb3VyY2VSZXNwb25zZQorICAgICAgICBnZW5lcmF0ZSBhIFNvdXBNZXNz
YWdlIGxhemlseSBpZiBuZWNlc3NhcnkuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklSZXF1ZXN0LmNwcDoKKyAgICAgICAg
KHdlYmtpdF91cmlfcmVxdWVzdF9jbGFzc19pbml0KTogUmVtb3ZlIHRoZSBzZXQgcHJvcGVydHkg
dm1ldGhvZC4KKyAgICAgICAgKHdlYmtpdF91cmlfcmVxdWVzdF9uZXcpOiBUaGUgVVJJIHByb3Bl
cnR5IGlzIG5vIGxvbmdlciBzZXR0YWJsZS4KKyAgICAgICAgKHdlYmtpdFVSSVJlcXVlc3RDcmVh
dGVGb3JSZXNvdXJjZVJlcXVlc3QpOiBBZGRlZCB0aGlzIHByaXZhdGUgY29uc3RydWN0b3IuCisg
ICAgICAgICh3ZWJraXRfdXJpX3JlcXVlc3RfZ2V0X3VyaSk6IE5vdyB3ZSBqdXN0IGdldCB0aGUg
VVJJIGRpcmVjdGx5IGZyb20gdGhlIFJlc291cmNlUmVxdWVzdC4KKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRVUklSZXNwb25zZS5jcHA6CisgICAgICAgICh3ZWJraXRfdXJpX3Jl
c3BvbnNlX2NsYXNzX2luaXQpOiBSZW1vdmUgdGhlIHNldCBwcm9wZXJ0eSB2bWV0aG9kLgorICAg
ICAgICAod2Via2l0X3VyaV9yZXNwb25zZV9nZXRfdXJpKTogR2V0IHRoZSBVUkkgZGlyZWN0bHkg
ZnJvbSB0aGUgUmVzb3VyY2VSZXBvbnNlLgorICAgICAgICAod2Via2l0X3VyaV9yZXNwb25zZV9n
ZXRfc3RhdHVzX2NvZGUpOiBHZXQgdGhlIHN0YXR1cyBjb2RlIGRpcmVjdGx5IGZyb20gdGhlIFJl
c291cmNlUmVzcG9uc2UuCisgICAgICAgICh3ZWJraXRfdXJpX3Jlc3BvbnNlX2dldF9jb250ZW50
X2xlbmd0aCk6IEdldCB0aGUgY29udGVudCBsZW5ndGggZGlyZWN0bHkgZnJvbSB0aGUgUmVzb3Vy
Y2VSZXNwb25zZS4KKyAgICAgICAgKHdlYmtpdFVSSVJlc3BvbnNlQ3JlYXRlRm9yUmVzb3VyY2VS
ZXNwb25zZSk6IEFkZGVkIHRoaXMgcHJpdmF0ZSBjb25zdHJ1Y3Rvci4KKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklSZXNwb25zZVByaXZhdGUuaDogUmVtb3ZlZCB1bm5lY2Vz
c2FyeSBtZXRob2RzLgorCiAyMDExLTEyLTEzICBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgIDxnbnNA
Z25vbWUub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgYnVpbGQgZml4LgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUuYW0gYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmls
ZS5hbQppbmRleCBmNjZjZmRkNGVkMTI5NTAzZTUyNWNjMzAzOGVjYTgxOWY5YjM2MzQ3Li43NzY5
OWRmMGMxYWQwYmFlM2FkNGVjNTkzZWY5MGZkMzM4N2UxNDVmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5h
bQpAQCAtNTMxLDYgKzUzMSw3IEBAIGxpYndlYmtpdDJndGtfQFdFQktJVEdUS19BUElfTUFKT1Jf
VkVSU0lPTkBfQFdFQktJVEdUS19BUElfTUlOT1JfVkVSU0lPTkBfbGFfU09VCiAJU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VUlDbGllbnQuaCBcCiAJU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJUmVxdWVzdC5jcHAgXAogCVNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVSSVJlcXVlc3QuaCBcCisJU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJUmVxdWVzdFByaXZhdGUuaCBcCiAJU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJUmVzcG9uc2UuY3BwIFwKIAlTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklSZXNwb25zZS5oIFwKIAlTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklSZXNwb25zZVByaXZhdGUuaCBc
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklS
ZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVSSVJl
cXVlc3QuY3BwCmluZGV4IDE1NDUzMmE4M2Y2MDY4NDE0ZTFjMzVmNDg2ZTAzZjc0MGIyZmQ3NjYu
LjMyZDhhOWM2OGIxYTM5YjZhNDcwNWNlNmZlZGE4ZDViOWNhNDVjODMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVSSVJlcXVlc3QuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVSSVJlcXVlc3QuY3BwCkBA
IC0yMSw5ICsyMSw4IEBACiAjaW5jbHVkZSAiV2ViS2l0VVJJUmVxdWVzdC5oIgogCiAjaW5jbHVk
ZSAiV2ViS2l0UHJpdmF0ZS5oIgotI2luY2x1ZGUgIldlYlVSTFJlcXVlc3QuaCIKKyNpbmNsdWRl
ICJXZWJLaXRVUklSZXF1ZXN0UHJpdmF0ZS5oIgogI2luY2x1ZGUgPGdsaWIvZ2kxOG4tbGliLmg+
Ci0jaW5jbHVkZSA8d3RmL2dvYmplY3QvR1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NT
dHJpbmcuaD4KIAogZW51bSB7CkBAIC0zNyw2ICszNiw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOwogR19ERUZJTkVfVFlQRShXZWJLaXRVUklSZXF1ZXN0LCB3ZWJraXRfdXJpX3JlcXVlc3Qs
IEdfVFlQRV9PQkpFQ1QpCiAKIHN0cnVjdCBfV2ViS2l0VVJJUmVxdWVzdFByaXZhdGUgeworICAg
IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCByZXNvdXJjZVJlcXVlc3Q7CiAgICAgQ1N0cmluZyB1
cmk7CiB9OwogCkBAIC01OSwyNiArNTksMTIgQEAgc3RhdGljIHZvaWQgd2Via2l0VVJJUmVxdWVz
dEdldFByb3BlcnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcElkLCBHVmFsdWUqIHYKICAg
ICB9CiB9CiAKLXN0YXRpYyB2b2lkIHdlYmtpdFVSSVJlcXVlc3RTZXRQcm9wZXJ0eShHT2JqZWN0
KiBvYmplY3QsIGd1aW50IHByb3BJZCwgY29uc3QgR1ZhbHVlKiB2YWx1ZSwgR1BhcmFtU3BlYyog
cGFyYW1TcGVjKQotewotICAgIFdlYktpdFVSSVJlcXVlc3QqIHJlcXVlc3QgPSBXRUJLSVRfVVJJ
X1JFUVVFU1Qob2JqZWN0KTsKLQotICAgIHN3aXRjaCAocHJvcElkKSB7Ci0gICAgY2FzZSBQUk9Q
X1VSSToKLSAgICAgICAgcmVxdWVzdC0+cHJpdi0+dXJpID0gZ192YWx1ZV9nZXRfc3RyaW5nKHZh
bHVlKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgR19PQkpFQ1RfV0FS
Tl9JTlZBTElEX1BST1BFUlRZX0lEKG9iamVjdCwgcHJvcElkLCBwYXJhbVNwZWMpOwotICAgIH0K
LX0KLQogc3RhdGljIHZvaWQgd2Via2l0X3VyaV9yZXF1ZXN0X2NsYXNzX2luaXQoV2ViS2l0VVJJ
UmVxdWVzdENsYXNzKiByZXF1ZXN0Q2xhc3MpCiB7CiAgICAgR09iamVjdENsYXNzKiBvYmplY3RD
bGFzcyA9IEdfT0JKRUNUX0NMQVNTKHJlcXVlc3RDbGFzcyk7CiAKICAgICBvYmplY3RDbGFzcy0+
ZmluYWxpemUgPSB3ZWJraXRVUklSZXF1ZXN0RmluYWxpemU7CiAgICAgb2JqZWN0Q2xhc3MtPmdl
dF9wcm9wZXJ0eSA9IHdlYmtpdFVSSVJlcXVlc3RHZXRQcm9wZXJ0eTsKLSAgICBvYmplY3RDbGFz
cy0+c2V0X3Byb3BlcnR5ID0gd2Via2l0VVJJUmVxdWVzdFNldFByb3BlcnR5OwogCiAgICAgLyoq
CiAgICAgICogV2ViS2l0VVJJUmVxdWVzdDp1cmk6CkBAIC05MCw3ICs3Niw3IEBAIHN0YXRpYyB2
b2lkIHdlYmtpdF91cmlfcmVxdWVzdF9jbGFzc19pbml0KFdlYktpdFVSSVJlcXVlc3RDbGFzcyog
cmVxdWVzdENsYXNzKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBfKCJVUkkiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXygiVGhlIFVSSSB0byB3aGljaCB0aGUgcmVxdWVzdCB3
aWxsIGJlIG1hZGUuIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PEdQYXJhbUZsYWdzPihXRUJLSVRfUEFSQU1f
UkVBRFdSSVRFIHwgR19QQVJBTV9DT05TVFJVQ1RfT05MWSkpKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURB
QkxFKSk7CiAKICAgICBnX3R5cGVfY2xhc3NfYWRkX3ByaXZhdGUocmVxdWVzdENsYXNzLCBzaXpl
b2YoV2ViS2l0VVJJUmVxdWVzdFByaXZhdGUpKTsKIH0KQEAgLTExNCw3ICsxMDAsMTYgQEAgV2Vi
S2l0VVJJUmVxdWVzdCogd2Via2l0X3VyaV9yZXF1ZXN0X25ldyhjb25zdCBnY2hhciogdXJpKQog
ewogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKHVyaSwgMCk7CiAKLSAgICByZXR1cm4gV0VCS0lU
X1VSSV9SRVFVRVNUKGdfb2JqZWN0X25ldyhXRUJLSVRfVFlQRV9VUklfUkVRVUVTVCwgInVyaSIs
IHVyaSwgTlVMTCkpOworICAgIFdlYktpdFVSSVJlcXVlc3QqIHJlcXVlc3QgPSBXRUJLSVRfVVJJ
X1JFUVVFU1QoZ19vYmplY3RfbmV3KFdFQktJVF9UWVBFX1VSSV9SRVFVRVNULCBOVUxMKSk7Cisg
ICAgcmVxdWVzdC0+cHJpdi0+cmVzb3VyY2VSZXF1ZXN0LnNldFVSTChLVVJMKEtVUkwoKSwgdXJp
KSk7CisgICAgcmV0dXJuIHJlcXVlc3Q7Cit9CisKK1dlYktpdFVSSVJlcXVlc3QqIHdlYmtpdFVS
SVJlcXVlc3RDcmVhdGVGb3JSZXNvdXJjZVJlcXVlc3QoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VS
ZXF1ZXN0JiByZXNvdXJjZVJlcXVlc3QpCit7CisgICAgV2ViS2l0VVJJUmVxdWVzdCogdXJpUmVx
dWVzdCA9IFdFQktJVF9VUklfUkVRVUVTVChnX29iamVjdF9uZXcoV0VCS0lUX1RZUEVfVVJJX1JF
UVVFU1QsIE5VTEwpKTsKKyAgICB1cmlSZXF1ZXN0LT5wcml2LT5yZXNvdXJjZVJlcXVlc3QgPSBy
ZXNvdXJjZVJlcXVlc3Q7CisgICAgcmV0dXJuIHVyaVJlcXVlc3Q7CiB9CiAKIC8qKgpAQCAtMTI3
LDYgKzEyMiw3IEBAIGNvbnN0IGdjaGFyKiB3ZWJraXRfdXJpX3JlcXVlc3RfZ2V0X3VyaShXZWJL
aXRVUklSZXF1ZXN0KiByZXF1ZXN0KQogewogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJ
VF9JU19VUklfUkVRVUVTVChyZXF1ZXN0KSwgMCk7CiAKKyAgICByZXF1ZXN0LT5wcml2LT51cmkg
PSByZXF1ZXN0LT5wcml2LT5yZXNvdXJjZVJlcXVlc3QudXJsKCkuc3RyaW5nKCkudXRmOCgpOwog
ICAgIHJldHVybiByZXF1ZXN0LT5wcml2LT51cmkuZGF0YSgpOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklSZXNwb25zZS5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklSZXNwb25zZS5jcHAKaW5k
ZXggMmE3NGNkMDNhMmNhNmM5YTJkMzViOTI5NzVmMDVjYjdkMjAxNjA4My4uYmY4YjliMzk2Y2Iw
NzNlYjI3MTgwYzc2OTdkNTk1MzY1YmU5ZDMwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJUmVzcG9uc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVSSVJlc3BvbnNlLmNwcApAQCAtMjIsMTAgKzIy
LDcgQEAKIAogI2luY2x1ZGUgIldlYktpdFByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJLaXRVUklS
ZXNwb25zZVByaXZhdGUuaCIKLSNpbmNsdWRlICJXZWJVUkxSZXNwb25zZS5oIgogI2luY2x1ZGUg
PGdsaWIvZ2kxOG4tbGliLmg+Ci0jaW5jbHVkZSA8d3RmL2dvYmplY3QvR093blB0ci5oPgotI2lu
Y2x1ZGUgPHd0Zi9nb2JqZWN0L0dSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5n
Lmg+CiAKIGVudW0gewpAQCAtNDEsOSArMzgsOCBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
IEdfREVGSU5FX1RZUEUoV2ViS2l0VVJJUmVzcG9uc2UsIHdlYmtpdF91cmlfcmVzcG9uc2UsIEdf
VFlQRV9PQkpFQ1QpCiAKIHN0cnVjdCBfV2ViS2l0VVJJUmVzcG9uc2VQcml2YXRlIHsKKyAgICBX
ZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlIHJlc291cmNlUmVzcG9uc2U7CiAgICAgQ1N0cmluZyB1
cmk7Ci0gICAgR1JlZlB0cjxTb3VwTWVzc2FnZT4gbWVzc2FnZTsKLSAgICBndWludDY0IGNvbnRl
bnRMZW5ndGg7CiB9OwogCiBzdGF0aWMgdm9pZCB3ZWJraXRVUklSZXNwb25zZUZpbmFsaXplKEdP
YmplY3QqIG9iamVjdCkKQEAgLTcxLDI2ICs2NywxMiBAQCBzdGF0aWMgdm9pZCB3ZWJraXRVUklS
ZXNwb25zZUdldFByb3BlcnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcElkLCBHVmFsdWUq
CiAgICAgfQogfQogCi1zdGF0aWMgdm9pZCB3ZWJraXRVUklSZXNwb25zZVNldFByb3BlcnR5KEdP
YmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcElkLCBjb25zdCBHVmFsdWUqIHZhbHVlLCBHUGFyYW1T
cGVjKiBwYXJhbVNwZWMpCi17Ci0gICAgV2ViS2l0VVJJUmVzcG9uc2UqIHJlc3BvbnNlID0gV0VC
S0lUX1VSSV9SRVNQT05TRShvYmplY3QpOwotCi0gICAgc3dpdGNoIChwcm9wSWQpIHsKLSAgICBj
YXNlIFBST1BfVVJJOgotICAgICAgICByZXNwb25zZS0+cHJpdi0+dXJpID0gZ192YWx1ZV9nZXRf
c3RyaW5nKHZhbHVlKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgR19P
QkpFQ1RfV0FSTl9JTlZBTElEX1BST1BFUlRZX0lEKG9iamVjdCwgcHJvcElkLCBwYXJhbVNwZWMp
OwotICAgIH0KLX0KLQogc3RhdGljIHZvaWQgd2Via2l0X3VyaV9yZXNwb25zZV9jbGFzc19pbml0
KFdlYktpdFVSSVJlc3BvbnNlQ2xhc3MqIHJlc3BvbnNlQ2xhc3MpCiB7CiAgICAgR09iamVjdENs
YXNzKiBvYmplY3RDbGFzcyA9IEdfT0JKRUNUX0NMQVNTKHJlc3BvbnNlQ2xhc3MpOwogCiAgICAg
b2JqZWN0Q2xhc3MtPmZpbmFsaXplID0gd2Via2l0VVJJUmVzcG9uc2VGaW5hbGl6ZTsKICAgICBv
YmplY3RDbGFzcy0+Z2V0X3Byb3BlcnR5ID0gd2Via2l0VVJJUmVzcG9uc2VHZXRQcm9wZXJ0eTsK
LSAgICBvYmplY3RDbGFzcy0+c2V0X3Byb3BlcnR5ID0gd2Via2l0VVJJUmVzcG9uc2VTZXRQcm9w
ZXJ0eTsKIAogICAgIC8qKgogICAgICAqIFdlYktpdFVSSVJlc3BvbnNlOnVyaToKQEAgLTEwMyw3
ICs4NSw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF91cmlfcmVzcG9uc2VfY2xhc3NfaW5pdChXZWJL
aXRVUklSZXNwb25zZUNsYXNzKiByZXNwb25zZUNsYXNzCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF8oIlVSSSIpLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfKCJUaGUgVVJJIGZv
ciB3aGljaCB0aGUgcmVzcG9uc2Ugd2FzIG1hZGUuIiksCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PEdQYXJhbUZs
YWdzPihXRUJLSVRfUEFSQU1fUkVBRFdSSVRFIHwgR19QQVJBTV9DT05TVFJVQ1RfT05MWSkpKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdF
QktJVF9QQVJBTV9SRUFEQUJMRSkpOwogICAgIC8qKgogICAgICAqIFdlYktpdFVSSVJlc3BvbnNl
OnN0YXR1cy1jb2RlOgogICAgICAqCkBAIC0xNTAsNiArMTMyLDcgQEAgY29uc3QgZ2NoYXIqIHdl
YmtpdF91cmlfcmVzcG9uc2VfZ2V0X3VyaShXZWJLaXRVUklSZXNwb25zZSogcmVzcG9uc2UpCiB7
CiAgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lTX1VSSV9SRVNQT05TRShyZXNwb25z
ZSksIDApOwogCisgICAgcmVzcG9uc2UtPnByaXYtPnVyaSA9IHJlc3BvbnNlLT5wcml2LT5yZXNv
dXJjZVJlc3BvbnNlLnVybCgpLnN0cmluZygpLnV0ZjgoKTsKICAgICByZXR1cm4gcmVzcG9uc2Ut
PnByaXYtPnVyaS5kYXRhKCk7CiB9CiAKQEAgLTE2OCwxMCArMTUxLDcgQEAgZ3VpbnQgd2Via2l0
X3VyaV9yZXNwb25zZV9nZXRfc3RhdHVzX2NvZGUoV2ViS2l0VVJJUmVzcG9uc2UqIHJlc3BvbnNl
KQogewogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19VUklfUkVTUE9OU0UocmVz
cG9uc2UpLCBTT1VQX1NUQVRVU19OT05FKTsKIAotICAgIGlmICghcmVzcG9uc2UtPnByaXYtPm1l
c3NhZ2UpCi0gICAgICAgIHJldHVybiBTT1VQX1NUQVRVU19OT05FOwotCi0gICAgcmV0dXJuIHJl
c3BvbnNlLT5wcml2LT5tZXNzYWdlLT5zdGF0dXNfY29kZTsKKyAgICByZXR1cm4gcmVzcG9uc2Ut
PnByaXYtPnJlc291cmNlUmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKTsKIH0KIAogLyoqCkBAIC0x
ODcsMzAgKzE2NywxMiBAQCBndWludDY0IHdlYmtpdF91cmlfcmVzcG9uc2VfZ2V0X2NvbnRlbnRf
bGVuZ3RoKFdlYktpdFVSSVJlc3BvbnNlKiByZXNwb25zZSkKIHsKICAgICBnX3JldHVybl92YWxf
aWZfZmFpbChXRUJLSVRfSVNfVVJJX1JFU1BPTlNFKHJlc3BvbnNlKSwgMCk7CiAKLSAgICBpZiAo
cmVzcG9uc2UtPnByaXYtPmNvbnRlbnRMZW5ndGgpCi0gICAgICAgIHJldHVybiByZXNwb25zZS0+
cHJpdi0+Y29udGVudExlbmd0aDsKLQotICAgIGlmICghcmVzcG9uc2UtPnByaXYtPm1lc3NhZ2Up
Ci0gICAgICAgIHJldHVybiAwOwotCi0gICAgU291cE1lc3NhZ2UqIG1lc3NhZ2UgPSByZXNwb25z
ZS0+cHJpdi0+bWVzc2FnZS5nZXQoKTsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Z3VpbnQ2ND4o
c291cF9tZXNzYWdlX2hlYWRlcnNfZ2V0X2NvbnRlbnRfbGVuZ3RoKG1lc3NhZ2UtPnJlc3BvbnNl
X2hlYWRlcnMpKTsKLX0KLQotV2ViS2l0VVJJUmVzcG9uc2UqIHdlYmtpdFVSSVJlc3BvbnNlQ3Jl
YXRlRm9yU291cE1lc3NhZ2UoU291cE1lc3NhZ2UqIG1lc3NhZ2UpCi17Ci0gICAgR093blB0cjxj
aGFyPiB1cmkoc291cF91cmlfdG9fc3RyaW5nKHNvdXBfbWVzc2FnZV9nZXRfdXJpKG1lc3NhZ2Up
LCBGQUxTRSkpOwotICAgIFdlYktpdFVSSVJlc3BvbnNlKiByZXNwb25zZSA9IFdFQktJVF9VUklf
UkVTUE9OU0UoZ19vYmplY3RfbmV3KFdFQktJVF9UWVBFX1VSSV9SRVNQT05TRSwgInVyaSIsIHVy
aS5nZXQoKSwgTlVMTCkpOwotICAgIHJlc3BvbnNlLT5wcml2LT5tZXNzYWdlID0gbWVzc2FnZTsK
LSAgICByZXR1cm4gcmVzcG9uc2U7Ci19Ci0KLVNvdXBNZXNzYWdlKiB3ZWJraXRVUklSZXNwb25z
ZUdldFNvdXBNZXNzYWdlKFdlYktpdFVSSVJlc3BvbnNlKiByZXNwb25zZSkKLXsKLSAgICByZXR1
cm4gcmVzcG9uc2UtPnByaXYtPm1lc3NhZ2UuZ2V0KCk7CisgICAgcmV0dXJuIHJlc3BvbnNlLT5w
cml2LT5yZXNvdXJjZVJlc3BvbnNlLmV4cGVjdGVkQ29udGVudExlbmd0aCgpOwogfQogCi12b2lk
IHdlYmtpdFVSSVJlc3BvbnNlU2V0Q29udGVudExlbmd0aChXZWJLaXRVUklSZXNwb25zZSogcmVz
cG9uc2UsIGd1aW50NjQgY29udGVudExlbmd0aCkKK1dlYktpdFVSSVJlc3BvbnNlKiB3ZWJraXRV
UklSZXNwb25zZUNyZWF0ZUZvclJlc291cmNlUmVzcG9uc2UoY29uc3QgV2ViQ29yZTo6UmVzb3Vy
Y2VSZXNwb25zZSYgcmVzb3VyY2VSZXNwb25zZSkKIHsKLSAgICByZXNwb25zZS0+cHJpdi0+Y29u
dGVudExlbmd0aCA9IGNvbnRlbnRMZW5ndGg7CisgICAgV2ViS2l0VVJJUmVzcG9uc2UqIHVyaVJl
c3BvbnNlID0gV0VCS0lUX1VSSV9SRVNQT05TRShnX29iamVjdF9uZXcoV0VCS0lUX1RZUEVfVVJJ
X1JFU1BPTlNFLCBOVUxMKSk7CisgICAgdXJpUmVzcG9uc2UtPnByaXYtPnJlc291cmNlUmVzcG9u
c2UgPSByZXNvdXJjZVJlc3BvbnNlOworICAgIHJldHVybiB1cmlSZXNwb25zZTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVSSVJlc3BvbnNl
UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJUmVz
cG9uc2VQcml2YXRlLmgKaW5kZXggZmU4NGY4YjFjNTY0NGU2M2EzMWMyMDRlYzY4OGU1OTNjZDUz
MTVjZS4uYzJkYzQ5YzE3Nzk4OTM5YTc3NTM0NDFhOGQ4ZWI1NTBkNTYzYjFiYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJUmVzcG9uc2VQcml2
YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJUmVz
cG9uc2VQcml2YXRlLmgKQEAgLTI3LDEwICsyNyw5IEBACiAjZGVmaW5lIFdlYktpdFVSSVJlc3Bv
bnNlUHJpdmF0ZV9oCiAKICNpbmNsdWRlICJXZWJLaXRVUklSZXNwb25zZS5oIgotI2luY2x1ZGUg
PGxpYnNvdXAvc291cC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgog
Ci1XZWJLaXRVUklSZXNwb25zZSogd2Via2l0VVJJUmVzcG9uc2VDcmVhdGVGb3JTb3VwTWVzc2Fn
ZShTb3VwTWVzc2FnZSopOwotU291cE1lc3NhZ2UqIHdlYmtpdFVSSVJlc3BvbnNlR2V0U291cE1l
c3NhZ2UoV2ViS2l0VVJJUmVzcG9uc2UqKTsKLXZvaWQgd2Via2l0VVJJUmVzcG9uc2VTZXRDb250
ZW50TGVuZ3RoKFdlYktpdFVSSVJlc3BvbnNlKiwgZ3VpbnQ2NCBjb250ZW50TGVuZ3RoKTsKK1dl
YktpdFVSSVJlc3BvbnNlKiB3ZWJraXRVUklSZXNwb25zZUNyZWF0ZUZvclJlc291cmNlUmVzcG9u
c2UoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYpOworY29uc3QgV2ViQ29yZTo6UmVz
b3VyY2VSZXNwb25zZSYgd2Via2l0VVJJUmVzcG9uc2VHZXRSZXNvdXJjZVJlc3BvbnNlKFdlYktp
dFVSSVJlc3BvbnNlKik7CiAKICNlbmRpZiAvLyBXZWJLaXRVUklSZXNwb25zZVByaXZhdGVfaAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119366</attachid>
            <date>2011-12-14 20:30:38 -0800</date>
            <delta_ts>2012-01-07 09:24:17 -0800</delta_ts>
            <desc>How this affects the patch on bug 72952</desc>
            <filename>after-patch.diff</filename>
            <type>text/plain</type>
            <size>2025</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdERvd25s
b2FkLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdERvd25sb2Fk
LmNwcAppbmRleCA2MGNiMGEwLi5lYjVjMmFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXREb3dubG9hZC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0RG93bmxvYWQuY3BwCkBAIC0zMzksOSArMzM5LDkgQEAg
dm9pZCB3ZWJraXREb3dubG9hZEZhaWxlZChXZWJLaXREb3dubG9hZCogZG93bmxvYWQsIGNvbnN0
IFJlc291cmNlRXJyb3ImIHJlc291cmMKIAogdm9pZCB3ZWJraXREb3dubG9hZENhbmNlbGxlZChX
ZWJLaXREb3dubG9hZCogZG93bmxvYWQpCiB7Ci0gICAgV2ViS2l0RG93bmxvYWRQcml2YXRlKiBw
cml2ID0gZG93bmxvYWQtPnByaXY7Ci0gICAgU291cE1lc3NhZ2UqIG1lc3NhZ2UgPSBwcml2LT5y
ZXNwb25zZSA/IHdlYmtpdFVSSVJlc3BvbnNlR2V0U291cE1lc3NhZ2UocHJpdi0+cmVzcG9uc2Uu
Z2V0KCkpIDogMDsKLSAgICB3ZWJraXREb3dubG9hZEZhaWxlZChkb3dubG9hZCwgZG93bmxvYWRD
YW5jZWxsZWRCeVVzZXJFcnJvcihtZXNzYWdlID8gUmVzb3VyY2VSZXNwb25zZShtZXNzYWdlKSA6
IFJlc291cmNlUmVzcG9uc2UoKSkpOworICAgIFJlc291cmNlRXJyb3IgZXJyb3IgPSBkb3dubG9h
ZENhbmNlbGxlZEJ5VXNlckVycm9yKGRvd25sb2FkLT5wcml2LT5yZXNwb25zZSA/CisgICAgICAg
IHdlYmtpdFVSSVJlc3BvbnNlR2V0UmVzb3VyY2VSZXNwb25zZShkb3dubG9hZC0+cHJpdi0+cmVz
cG9uc2UuZ2V0KCkpIDogUmVzb3VyY2VSZXNwb25zZSgpKTsKKyAgICB3ZWJraXREb3dubG9hZEZh
aWxlZChkb3dubG9hZCwgZXJyb3IpOwogfQogCiB2b2lkIHdlYmtpdERvd25sb2FkRmluaXNoZWQo
V2ViS2l0RG93bmxvYWQqIGRvd25sb2FkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJDb250ZXh0LmNwcAppbmRleCAzMWY2ODAzLi5iNmZiNTdh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJD
b250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRX
ZWJDb250ZXh0LmNwcApAQCAtMjUzLDEwICsyNTMsNyBAQCBzdGF0aWMgdm9pZCBkaWRSZWNlaXZl
UmVzcG9uc2UoV0tDb250ZXh0UmVmLCBXS0Rvd25sb2FkUmVmIHdrRG93bmxvYWQsIFdLVVJMUmVz
cAogICAgIGlmICh3ZWJraXREb3dubG9hZElzQ2FuY2VsbGVkKGRvd25sb2FkLmdldCgpKSkKICAg
ICAgICAgcmV0dXJuOwogCi0gICAgR1JlZlB0cjxTb3VwTWVzc2FnZT4gbWVzc2FnZSh0b0ltcGwo
d2tSZXNwb25zZSktPnJlc291cmNlUmVzcG9uc2UoKS50b1NvdXBNZXNzYWdlKCkpOwotICAgIEdS
ZWZQdHI8V2ViS2l0VVJJUmVzcG9uc2U+IHJlc3BvbnNlKHdlYmtpdFVSSVJlc3BvbnNlQ3JlYXRl
Rm9yU291cE1lc3NhZ2UobWVzc2FnZS5nZXQoKSkpOwotICAgIGlmICghc291cF9tZXNzYWdlX2hl
YWRlcnNfZ2V0X2NvbnRlbnRfbGVuZ3RoKG1lc3NhZ2UtPnJlc3BvbnNlX2hlYWRlcnMpKQotICAg
ICAgICB3ZWJraXRVUklSZXNwb25zZVNldENvbnRlbnRMZW5ndGgocmVzcG9uc2UuZ2V0KCksIHRv
SW1wbCh3a1Jlc3BvbnNlKS0+cmVzb3VyY2VSZXNwb25zZSgpLmV4cGVjdGVkQ29udGVudExlbmd0
aCgpKTsKKyAgICBHUmVmUHRyPFdlYktpdFVSSVJlc3BvbnNlPiByZXNwb25zZSh3ZWJraXRVUklS
ZXNwb25zZUNyZWF0ZUZvclJlc291cmNlUmVzcG9uc2UodG9JbXBsKHdrUmVzcG9uc2UpLT5yZXNv
dXJjZVJlc3BvbnNlKCkpKTsKICAgICB3ZWJraXREb3dubG9hZFNldFJlc3BvbnNlKGRvd25sb2Fk
LmdldCgpLCByZXNwb25zZS5nZXQoKSk7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>121553</attachid>
            <date>2012-01-07 09:24:25 -0800</date>
            <delta_ts>2012-01-10 09:16:15 -0800</delta_ts>
            <desc>Updated version of the patch</desc>
            <filename>bug-74478-20120107092419.patch</filename>
            <type>text/plain</type>
            <size>12298</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0MzY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggN2FmNDAwNDU0OTA1Mzhh
ZWNiMjNmYWZhNDAyNDI1ZDA5ZmEwMDU1Mi4uODM1YTMzNDkzMGI0ZmNhYzY5NmVjNzYyNTc2NzRk
MjA1MDQ0MDRlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTAxLTA2ICBNYXJ0
aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXSBbV2Vi
S2l0Ml0gV2ViS2l0VVJJUmVxdWVzdCBhbmQgV2ViS2l0VVJJUmVzcG9uc2Ugc2hvdWxkIHdyYXAg
dGhlIGNvcnJlc3BvbmRpbmcgV2ViQ29yZSBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEhhdmUgV2ViS2l0VVJJUmVxdWVzdCB3cmFwIGEgUmVz
b3VyY2VScXVlc3N0IGFuZCBXZWJLaXRVUklSZXNwb25zZSB3cmFwIGEgUmVzb3VyY2VSZXNwb25z
ZS4KKyAgICAgICAgVGhleSBhcmUgdGhlIFdlYkNvcmUgdHlwZXMgdGhleSBhcmUgbWVhbnQgdG8g
cmVwcmVzZW50IGFuZCB3ZSB3aWxsIG5lZWQgdG8gZXhwb3NlIG1vcmUKKyAgICAgICAgaW5mb3Jt
YXRpb24gZnJvbSB0aGVtIGluIHRoZSBmdXR1cmUgdG8gbWFrZSB0aGVtIHVzZWZ1bC4gTGF0ZXIg
d2UgY2FuIGhhdmUgUmVzb3VyY2VSZXNwb25zZQorICAgICAgICBnZW5lcmF0ZSBhIFNvdXBNZXNz
YWdlIGxhemlseSBpZiBuZWNlc3NhcnkuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklSZXF1ZXN0LmNwcDoKKyAgICAgICAg
KHdlYmtpdF91cmlfcmVxdWVzdF9jbGFzc19pbml0KTogUmVtb3ZlIHRoZSBzZXQgcHJvcGVydHkg
dm1ldGhvZC4KKyAgICAgICAgKHdlYmtpdF91cmlfcmVxdWVzdF9uZXcpOiBUaGUgVVJJIHByb3Bl
cnR5IGlzIG5vIGxvbmdlciBzZXR0YWJsZS4KKyAgICAgICAgKHdlYmtpdFVSSVJlcXVlc3RDcmVh
dGVGb3JSZXNvdXJjZVJlcXVlc3QpOiBBZGRlZCB0aGlzIHByaXZhdGUgY29uc3RydWN0b3IuCisg
ICAgICAgICh3ZWJraXRfdXJpX3JlcXVlc3RfZ2V0X3VyaSk6IE5vdyB3ZSBqdXN0IGdldCB0aGUg
VVJJIGRpcmVjdGx5IGZyb20gdGhlIFJlc291cmNlUmVxdWVzdC4KKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRVUklSZXNwb25zZS5jcHA6CisgICAgICAgICh3ZWJraXRfdXJpX3Jl
c3BvbnNlX2NsYXNzX2luaXQpOiBSZW1vdmUgdGhlIHNldCBwcm9wZXJ0eSB2bWV0aG9kLgorICAg
ICAgICAod2Via2l0X3VyaV9yZXNwb25zZV9nZXRfdXJpKTogR2V0IHRoZSBVUkkgZGlyZWN0bHkg
ZnJvbSB0aGUgUmVzb3VyY2VSZXBvbnNlLgorICAgICAgICAod2Via2l0X3VyaV9yZXNwb25zZV9n
ZXRfc3RhdHVzX2NvZGUpOiBHZXQgdGhlIHN0YXR1cyBjb2RlIGRpcmVjdGx5IGZyb20gdGhlIFJl
c291cmNlUmVzcG9uc2UuCisgICAgICAgICh3ZWJraXRfdXJpX3Jlc3BvbnNlX2dldF9jb250ZW50
X2xlbmd0aCk6IEdldCB0aGUgY29udGVudCBsZW5ndGggZGlyZWN0bHkgZnJvbSB0aGUgUmVzb3Vy
Y2VSZXNwb25zZS4KKyAgICAgICAgKHdlYmtpdFVSSVJlc3BvbnNlQ3JlYXRlRm9yUmVzb3VyY2VS
ZXNwb25zZSk6IEFkZGVkIHRoaXMgcHJpdmF0ZSBjb25zdHJ1Y3Rvci4KKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklSZXNwb25zZVByaXZhdGUuaDogUmVtb3ZlZCB1bm5lY2Vz
c2FyeSBtZXRob2RzLgorCiAyMDEyLTAxLTA2ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBw
bGUuY29tPgogCiAgICAgICAgIFtNYWNdIFRocmVhZCB2ZXJpZmllciBhc3NlcnRpb25zIHdoZW4g
cHJpbnRpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtIGIvU291
cmNlL1dlYktpdDIvR05VbWFrZWZpbGUuYW0KaW5kZXggZGNiNDdhMTlmNmRjMzUzNDA4ZTZjMzE4
OTdjMTgwZTg1ZGJhZWI5Ny4uYmIzNzlkOGZkMzNmYWE0ODYyYjYxMjBhMDEyMjkyMmQzMjUwMWUz
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUuYW0KKysrIGIvU291cmNl
L1dlYktpdDIvR05VbWFrZWZpbGUuYW0KQEAgLTUzMyw2ICs1MzMsNyBAQCBsaWJ3ZWJraXQyZ3Rr
X0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05AX0BXRUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJ
T05AX2xhX1NPVQogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVJQ2xp
ZW50LmggXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVSSVJlcXVl
c3QuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklSZXF1
ZXN0LmggXAorCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVSSVJlcXVl
c3RQcml2YXRlLmggXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVS
SVJlc3BvbnNlLmNwcCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0
VVJJUmVzcG9uc2UuaCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0
VVJJUmVzcG9uc2VQcml2YXRlLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9ndGsvV2ViS2l0VVJJUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRVUklSZXF1ZXN0LmNwcAppbmRleCAxNTQ1MzJhODNmNjA2ODQxNGUx
YzM1ZjQ4NmUwM2Y3NDBiMmZkNzY2Li5iNWMyYjRlNzQ3ZDlhYjg1NjgxYzEwODU1MWFhMzA1MDc3
N2U5ODdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRVUklSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9X
ZWJLaXRVUklSZXF1ZXN0LmNwcApAQCAtMjEsOSArMjEsOCBAQAogI2luY2x1ZGUgIldlYktpdFVS
SVJlcXVlc3QuaCIKIAogI2luY2x1ZGUgIldlYktpdFByaXZhdGUuaCIKLSNpbmNsdWRlICJXZWJV
UkxSZXF1ZXN0LmgiCisjaW5jbHVkZSAiV2ViS2l0VVJJUmVxdWVzdFByaXZhdGUuaCIKICNpbmNs
dWRlIDxnbGliL2dpMThuLWxpYi5oPgotI2luY2x1ZGUgPHd0Zi9nb2JqZWN0L0dSZWZQdHIuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKIGVudW0gewpAQCAtMzcsNiArMzYsNyBA
QCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIEdfREVGSU5FX1RZUEUoV2ViS2l0VVJJUmVxdWVz
dCwgd2Via2l0X3VyaV9yZXF1ZXN0LCBHX1RZUEVfT0JKRUNUKQogCiBzdHJ1Y3QgX1dlYktpdFVS
SVJlcXVlc3RQcml2YXRlIHsKKyAgICBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgcmVzb3VyY2VS
ZXF1ZXN0OwogICAgIENTdHJpbmcgdXJpOwogfTsKIApAQCAtNjUsNyArNjUsNyBAQCBzdGF0aWMg
dm9pZCB3ZWJraXRVUklSZXF1ZXN0U2V0UHJvcGVydHkoR09iamVjdCogb2JqZWN0LCBndWludCBw
cm9wSWQsIGNvbnN0IEdWYQogCiAgICAgc3dpdGNoIChwcm9wSWQpIHsKICAgICBjYXNlIFBST1Bf
VVJJOgotICAgICAgICByZXF1ZXN0LT5wcml2LT51cmkgPSBnX3ZhbHVlX2dldF9zdHJpbmcodmFs
dWUpOworICAgICAgICByZXF1ZXN0LT5wcml2LT5yZXNvdXJjZVJlcXVlc3Quc2V0VVJMKEtVUkwo
S1VSTCgpLCBnX3ZhbHVlX2dldF9zdHJpbmcodmFsdWUpKSk7CiAgICAgICAgIGJyZWFrOwogICAg
IGRlZmF1bHQ6CiAgICAgICAgIEdfT0JKRUNUX1dBUk5fSU5WQUxJRF9QUk9QRVJUWV9JRChvYmpl
Y3QsIHByb3BJZCwgcGFyYW1TcGVjKTsKQEAgLTExNyw2ICsxMTcsMTMgQEAgV2ViS2l0VVJJUmVx
dWVzdCogd2Via2l0X3VyaV9yZXF1ZXN0X25ldyhjb25zdCBnY2hhciogdXJpKQogICAgIHJldHVy
biBXRUJLSVRfVVJJX1JFUVVFU1QoZ19vYmplY3RfbmV3KFdFQktJVF9UWVBFX1VSSV9SRVFVRVNU
LCAidXJpIiwgdXJpLCBOVUxMKSk7CiB9CiAKK1dlYktpdFVSSVJlcXVlc3QqIHdlYmtpdFVSSVJl
cXVlc3RDcmVhdGVGb3JSZXNvdXJjZVJlcXVlc3QoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1
ZXN0JiByZXNvdXJjZVJlcXVlc3QpCit7CisgICAgV2ViS2l0VVJJUmVxdWVzdCogdXJpUmVxdWVz
dCA9IFdFQktJVF9VUklfUkVRVUVTVChnX29iamVjdF9uZXcoV0VCS0lUX1RZUEVfVVJJX1JFUVVF
U1QsIE5VTEwpKTsKKyAgICB1cmlSZXF1ZXN0LT5wcml2LT5yZXNvdXJjZVJlcXVlc3QgPSByZXNv
dXJjZVJlcXVlc3Q7CisgICAgcmV0dXJuIHVyaVJlcXVlc3Q7Cit9CisKIC8qKgogICogd2Via2l0
X3VyaV9yZXF1ZXN0X2dldF91cmk6CiAgKiBAcmVxdWVzdDogYSAjV2ViS2l0VVJJUmVxdWVzdApA
QCAtMTI3LDYgKzEzNCw3IEBAIGNvbnN0IGdjaGFyKiB3ZWJraXRfdXJpX3JlcXVlc3RfZ2V0X3Vy
aShXZWJLaXRVUklSZXF1ZXN0KiByZXF1ZXN0KQogewogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWls
KFdFQktJVF9JU19VUklfUkVRVUVTVChyZXF1ZXN0KSwgMCk7CiAKKyAgICByZXF1ZXN0LT5wcml2
LT51cmkgPSByZXF1ZXN0LT5wcml2LT5yZXNvdXJjZVJlcXVlc3QudXJsKCkuc3RyaW5nKCkudXRm
OCgpOwogICAgIHJldHVybiByZXF1ZXN0LT5wcml2LT51cmkuZGF0YSgpOwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklSZXF1ZXN0UHJp
dmF0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJUmVxdWVz
dFByaXZhdGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYjg1MjQyYWZiNTRkNDU1NTUxYjc0OWFmMTI0OTBlMjEx
ZGExMjdkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0VVJJUmVxdWVzdFByaXZhdGUuaApAQCAtMCwwICsxLDM0IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDExIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV2ViS2l0VVJJ
UmVxdWVzdFByaXZhdGVfaAorI2RlZmluZSBXZWJLaXRVUklSZXF1ZXN0UHJpdmF0ZV9oCisKKyNp
bmNsdWRlICJXZWJLaXRVUklSZXF1ZXN0LmgiCisjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJl
cXVlc3QuaD4KKworV2ViS2l0VVJJUmVxdWVzdCogd2Via2l0VVJJUmVxdWVzdENyZWF0ZUZvclJl
c291cmNlUmVxdWVzdChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmKTsKKworI2VuZGlm
IC8vIFdlYktpdFVSSVJlcXVlc3RQcml2YXRlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVSSVJlc3BvbnNlLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVSSVJlc3BvbnNlLmNwcAppbmRleCAyYTc0Y2QwM2Ey
Y2E2YzlhMmQzNWI5Mjk3NWYwNWNiN2QyMDE2MDgzLi5iZjhiOWIzOTZjYjA3M2ViMjcxODBjNzY5
N2Q1OTUzNjViZTlkMzA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2d0ay9XZWJLaXRVUklSZXNwb25zZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0VVJJUmVzcG9uc2UuY3BwCkBAIC0yMiwxMCArMjIsNyBAQAogCiAjaW5j
bHVkZSAiV2ViS2l0UHJpdmF0ZS5oIgogI2luY2x1ZGUgIldlYktpdFVSSVJlc3BvbnNlUHJpdmF0
ZS5oIgotI2luY2x1ZGUgIldlYlVSTFJlc3BvbnNlLmgiCiAjaW5jbHVkZSA8Z2xpYi9naTE4bi1s
aWIuaD4KLSNpbmNsdWRlIDx3dGYvZ29iamVjdC9HT3duUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL2dv
YmplY3QvR1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogZW51bSB7
CkBAIC00MSw5ICszOCw4IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogR19ERUZJTkVfVFlQ
RShXZWJLaXRVUklSZXNwb25zZSwgd2Via2l0X3VyaV9yZXNwb25zZSwgR19UWVBFX09CSkVDVCkK
IAogc3RydWN0IF9XZWJLaXRVUklSZXNwb25zZVByaXZhdGUgeworICAgIFdlYkNvcmU6OlJlc291
cmNlUmVzcG9uc2UgcmVzb3VyY2VSZXNwb25zZTsKICAgICBDU3RyaW5nIHVyaTsKLSAgICBHUmVm
UHRyPFNvdXBNZXNzYWdlPiBtZXNzYWdlOwotICAgIGd1aW50NjQgY29udGVudExlbmd0aDsKIH07
CiAKIHN0YXRpYyB2b2lkIHdlYmtpdFVSSVJlc3BvbnNlRmluYWxpemUoR09iamVjdCogb2JqZWN0
KQpAQCAtNzEsMjYgKzY3LDEyIEBAIHN0YXRpYyB2b2lkIHdlYmtpdFVSSVJlc3BvbnNlR2V0UHJv
cGVydHkoR09iamVjdCogb2JqZWN0LCBndWludCBwcm9wSWQsIEdWYWx1ZSoKICAgICB9CiB9CiAK
LXN0YXRpYyB2b2lkIHdlYmtpdFVSSVJlc3BvbnNlU2V0UHJvcGVydHkoR09iamVjdCogb2JqZWN0
LCBndWludCBwcm9wSWQsIGNvbnN0IEdWYWx1ZSogdmFsdWUsIEdQYXJhbVNwZWMqIHBhcmFtU3Bl
YykKLXsKLSAgICBXZWJLaXRVUklSZXNwb25zZSogcmVzcG9uc2UgPSBXRUJLSVRfVVJJX1JFU1BP
TlNFKG9iamVjdCk7Ci0KLSAgICBzd2l0Y2ggKHByb3BJZCkgewotICAgIGNhc2UgUFJPUF9VUkk6
Ci0gICAgICAgIHJlc3BvbnNlLT5wcml2LT51cmkgPSBnX3ZhbHVlX2dldF9zdHJpbmcodmFsdWUp
OwotICAgICAgICBicmVhazsKLSAgICBkZWZhdWx0OgotICAgICAgICBHX09CSkVDVF9XQVJOX0lO
VkFMSURfUFJPUEVSVFlfSUQob2JqZWN0LCBwcm9wSWQsIHBhcmFtU3BlYyk7Ci0gICAgfQotfQot
CiBzdGF0aWMgdm9pZCB3ZWJraXRfdXJpX3Jlc3BvbnNlX2NsYXNzX2luaXQoV2ViS2l0VVJJUmVz
cG9uc2VDbGFzcyogcmVzcG9uc2VDbGFzcykKIHsKICAgICBHT2JqZWN0Q2xhc3MqIG9iamVjdENs
YXNzID0gR19PQkpFQ1RfQ0xBU1MocmVzcG9uc2VDbGFzcyk7CiAKICAgICBvYmplY3RDbGFzcy0+
ZmluYWxpemUgPSB3ZWJraXRVUklSZXNwb25zZUZpbmFsaXplOwogICAgIG9iamVjdENsYXNzLT5n
ZXRfcHJvcGVydHkgPSB3ZWJraXRVUklSZXNwb25zZUdldFByb3BlcnR5OwotICAgIG9iamVjdENs
YXNzLT5zZXRfcHJvcGVydHkgPSB3ZWJraXRVUklSZXNwb25zZVNldFByb3BlcnR5OwogCiAgICAg
LyoqCiAgICAgICogV2ViS2l0VVJJUmVzcG9uc2U6dXJpOgpAQCAtMTAzLDcgKzg1LDcgQEAgc3Rh
dGljIHZvaWQgd2Via2l0X3VyaV9yZXNwb25zZV9jbGFzc19pbml0KFdlYktpdFVSSVJlc3BvbnNl
Q2xhc3MqIHJlc3BvbnNlQ2xhc3MKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXygiVVJJIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF8oIlRoZSBVUkkgZm9yIHdoaWNoIHRoZSBy
ZXNwb25zZSB3YXMgbWFkZS4iKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8R1BhcmFtRmxhZ3M+KFdFQktJVF9Q
QVJBTV9SRUFEV1JJVEUgfCBHX1BBUkFNX0NPTlNUUlVDVF9PTkxZKSkpOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JF
QURBQkxFKSk7CiAgICAgLyoqCiAgICAgICogV2ViS2l0VVJJUmVzcG9uc2U6c3RhdHVzLWNvZGU6
CiAgICAgICoKQEAgLTE1MCw2ICsxMzIsNyBAQCBjb25zdCBnY2hhciogd2Via2l0X3VyaV9yZXNw
b25zZV9nZXRfdXJpKFdlYktpdFVSSVJlc3BvbnNlKiByZXNwb25zZSkKIHsKICAgICBnX3JldHVy
bl92YWxfaWZfZmFpbChXRUJLSVRfSVNfVVJJX1JFU1BPTlNFKHJlc3BvbnNlKSwgMCk7CiAKKyAg
ICByZXNwb25zZS0+cHJpdi0+dXJpID0gcmVzcG9uc2UtPnByaXYtPnJlc291cmNlUmVzcG9uc2Uu
dXJsKCkuc3RyaW5nKCkudXRmOCgpOwogICAgIHJldHVybiByZXNwb25zZS0+cHJpdi0+dXJpLmRh
dGEoKTsKIH0KIApAQCAtMTY4LDEwICsxNTEsNyBAQCBndWludCB3ZWJraXRfdXJpX3Jlc3BvbnNl
X2dldF9zdGF0dXNfY29kZShXZWJLaXRVUklSZXNwb25zZSogcmVzcG9uc2UpCiB7CiAgICAgZ19y
ZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lTX1VSSV9SRVNQT05TRShyZXNwb25zZSksIFNPVVBf
U1RBVFVTX05PTkUpOwogCi0gICAgaWYgKCFyZXNwb25zZS0+cHJpdi0+bWVzc2FnZSkKLSAgICAg
ICAgcmV0dXJuIFNPVVBfU1RBVFVTX05PTkU7Ci0KLSAgICByZXR1cm4gcmVzcG9uc2UtPnByaXYt
Pm1lc3NhZ2UtPnN0YXR1c19jb2RlOworICAgIHJldHVybiByZXNwb25zZS0+cHJpdi0+cmVzb3Vy
Y2VSZXNwb25zZS5odHRwU3RhdHVzQ29kZSgpOwogfQogCiAvKioKQEAgLTE4NywzMCArMTY3LDEy
IEBAIGd1aW50NjQgd2Via2l0X3VyaV9yZXNwb25zZV9nZXRfY29udGVudF9sZW5ndGgoV2ViS2l0
VVJJUmVzcG9uc2UqIHJlc3BvbnNlKQogewogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJ
VF9JU19VUklfUkVTUE9OU0UocmVzcG9uc2UpLCAwKTsKIAotICAgIGlmIChyZXNwb25zZS0+cHJp
di0+Y29udGVudExlbmd0aCkKLSAgICAgICAgcmV0dXJuIHJlc3BvbnNlLT5wcml2LT5jb250ZW50
TGVuZ3RoOwotCi0gICAgaWYgKCFyZXNwb25zZS0+cHJpdi0+bWVzc2FnZSkKLSAgICAgICAgcmV0
dXJuIDA7Ci0KLSAgICBTb3VwTWVzc2FnZSogbWVzc2FnZSA9IHJlc3BvbnNlLT5wcml2LT5tZXNz
YWdlLmdldCgpOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxndWludDY0Pihzb3VwX21lc3NhZ2Vf
aGVhZGVyc19nZXRfY29udGVudF9sZW5ndGgobWVzc2FnZS0+cmVzcG9uc2VfaGVhZGVycykpOwot
fQotCi1XZWJLaXRVUklSZXNwb25zZSogd2Via2l0VVJJUmVzcG9uc2VDcmVhdGVGb3JTb3VwTWVz
c2FnZShTb3VwTWVzc2FnZSogbWVzc2FnZSkKLXsKLSAgICBHT3duUHRyPGNoYXI+IHVyaShzb3Vw
X3VyaV90b19zdHJpbmcoc291cF9tZXNzYWdlX2dldF91cmkobWVzc2FnZSksIEZBTFNFKSk7Ci0g
ICAgV2ViS2l0VVJJUmVzcG9uc2UqIHJlc3BvbnNlID0gV0VCS0lUX1VSSV9SRVNQT05TRShnX29i
amVjdF9uZXcoV0VCS0lUX1RZUEVfVVJJX1JFU1BPTlNFLCAidXJpIiwgdXJpLmdldCgpLCBOVUxM
KSk7Ci0gICAgcmVzcG9uc2UtPnByaXYtPm1lc3NhZ2UgPSBtZXNzYWdlOwotICAgIHJldHVybiBy
ZXNwb25zZTsKLX0KLQotU291cE1lc3NhZ2UqIHdlYmtpdFVSSVJlc3BvbnNlR2V0U291cE1lc3Nh
Z2UoV2ViS2l0VVJJUmVzcG9uc2UqIHJlc3BvbnNlKQotewotICAgIHJldHVybiByZXNwb25zZS0+
cHJpdi0+bWVzc2FnZS5nZXQoKTsKKyAgICByZXR1cm4gcmVzcG9uc2UtPnByaXYtPnJlc291cmNl
UmVzcG9uc2UuZXhwZWN0ZWRDb250ZW50TGVuZ3RoKCk7CiB9CiAKLXZvaWQgd2Via2l0VVJJUmVz
cG9uc2VTZXRDb250ZW50TGVuZ3RoKFdlYktpdFVSSVJlc3BvbnNlKiByZXNwb25zZSwgZ3VpbnQ2
NCBjb250ZW50TGVuZ3RoKQorV2ViS2l0VVJJUmVzcG9uc2UqIHdlYmtpdFVSSVJlc3BvbnNlQ3Jl
YXRlRm9yUmVzb3VyY2VSZXNwb25zZShjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiBy
ZXNvdXJjZVJlc3BvbnNlKQogewotICAgIHJlc3BvbnNlLT5wcml2LT5jb250ZW50TGVuZ3RoID0g
Y29udGVudExlbmd0aDsKKyAgICBXZWJLaXRVUklSZXNwb25zZSogdXJpUmVzcG9uc2UgPSBXRUJL
SVRfVVJJX1JFU1BPTlNFKGdfb2JqZWN0X25ldyhXRUJLSVRfVFlQRV9VUklfUkVTUE9OU0UsIE5V
TEwpKTsKKyAgICB1cmlSZXNwb25zZS0+cHJpdi0+cmVzb3VyY2VSZXNwb25zZSA9IHJlc291cmNl
UmVzcG9uc2U7CisgICAgcmV0dXJuIHVyaVJlc3BvbnNlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJUmVzcG9uc2VQcml2YXRlLmggYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklSZXNwb25zZVByaXZhdGUu
aAppbmRleCBmZTg0ZjhiMWM1NjQ0ZTYzYTMxYzIwNGVjNjg4ZTU5M2NkNTMxNWNlLi5jMmRjNDlj
MTc3OTg5MzlhNzc1MzQ0MWE4ZDhlYjU1MGQ1NjNiMWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklSZXNwb25zZVByaXZhdGUuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklSZXNwb25zZVByaXZhdGUu
aApAQCAtMjcsMTAgKzI3LDkgQEAKICNkZWZpbmUgV2ViS2l0VVJJUmVzcG9uc2VQcml2YXRlX2gK
IAogI2luY2x1ZGUgIldlYktpdFVSSVJlc3BvbnNlLmgiCi0jaW5jbHVkZSA8bGlic291cC9zb3Vw
Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CiAKLVdlYktpdFVSSVJl
c3BvbnNlKiB3ZWJraXRVUklSZXNwb25zZUNyZWF0ZUZvclNvdXBNZXNzYWdlKFNvdXBNZXNzYWdl
Kik7Ci1Tb3VwTWVzc2FnZSogd2Via2l0VVJJUmVzcG9uc2VHZXRTb3VwTWVzc2FnZShXZWJLaXRV
UklSZXNwb25zZSopOwotdm9pZCB3ZWJraXRVUklSZXNwb25zZVNldENvbnRlbnRMZW5ndGgoV2Vi
S2l0VVJJUmVzcG9uc2UqLCBndWludDY0IGNvbnRlbnRMZW5ndGgpOworV2ViS2l0VVJJUmVzcG9u
c2UqIHdlYmtpdFVSSVJlc3BvbnNlQ3JlYXRlRm9yUmVzb3VyY2VSZXNwb25zZShjb25zdCBXZWJD
b3JlOjpSZXNvdXJjZVJlc3BvbnNlJik7Citjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNl
JiB3ZWJraXRVUklSZXNwb25zZUdldFJlc291cmNlUmVzcG9uc2UoV2ViS2l0VVJJUmVzcG9uc2Uq
KTsKIAogI2VuZGlmIC8vIFdlYktpdFVSSVJlc3BvbnNlUHJpdmF0ZV9oCg==
</data>
<flag name="review"
          id="122076"
          type_id="1"
          status="+"
          setter="gustavo"
    />
          </attachment>
      

    </bug>

</bugzilla>