<?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>74027</bug_id>
          
          <creation_ts>2011-12-07 14:21:40 -0800</creation_ts>
          <short_desc>[V8] CodeGeneratorV8.pm does not correctly work with inherited HasIndexGetter</short_desc>
          <delta_ts>2011-12-12 17:34:35 -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>DOM</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="Erik Arvidsson">arv</reporter>
          <assigned_to name="Erik Arvidsson">arv</assigned_to>
          <cc>abarth</cc>
    
    <cc>japhet</cc>
    
    <cc>mihnea</cc>
    
    <cc>senorblanco</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>516915</commentid>
    <comment_count>0</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2011-12-07 14:21:40 -0800</bug_when>
    <thetext>For example, DOMSettableTokenList extends DOMTokenList and DOMTokenList has an item method. We should not need to have a V8DOMSettableTokeListCustom class just to forward the item calls.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519455</commentid>
    <comment_count>1</comment_count>
      <attachid>118844</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2011-12-12 14:17:38 -0800</bug_when>
    <thetext>Created attachment 118844
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519458</commentid>
    <comment_count>2</comment_count>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2011-12-12 14:22:55 -0800</bug_when>
    <thetext>Looks good, but I&apos;ll leave for someone more wise in the ways of V8 bindings.  You should also remove bindings/v8/custom/V8WebKitCSSFilterValueCustom.cpp, otherwise I think the linker will complain.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519465</commentid>
    <comment_count>3</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2011-12-12 14:24:59 -0800</bug_when>
    <thetext>Thanks Steven, updating the patch. (The linker does not complain because the .h file still declares this function even though it is never used.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519469</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-12-12 14:27:15 -0800</bug_when>
    <thetext>View in context: https://bugs.webkit.org/attachment.cgi?id=118844&amp;action=review

&gt; Source/WebCore/bindings/scripts/CodeGenerator.pm:267
&gt; +        foreach my $function (@{$interface-&gt;functions}) {
&gt; +            if ($function-&gt;signature-&gt;name eq $functionName) {
&gt; +                $indexer = $function-&gt;signature;
&gt; +                return &apos;prune&apos;;

What about overloads?  Also, what does &quot;prune&quot; mean?

&gt; Source/WebCore/bindings/scripts/CodeGeneratorV8.pm:-2027
&gt; -    # FIXME: The item() getter is not inherited from CSSValueList, seemingly due to the way
&gt; -    # the CodeGenerator-&gt;AddMethodsConstantsAndAttributesFromParentClasses() method works,

Why isn&apos;t the right solution to change AddMethodsConstantsAndAttributesFromParentClasses to understand indexers?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519474</commentid>
    <comment_count>5</comment_count>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2011-12-12 14:29:39 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Thanks Steven, updating the patch. (The linker does not complain because the .h file still declares this function even though it is never used.)

Actually, I think it doesn&apos;t complain because CSS_FILTERS is not enabled by default (yet).  If it was, I think you&apos;d get a duplicate symbol.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519484</commentid>
    <comment_count>6</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2011-12-12 14:35:55 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=118844&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/bindings/scripts/CodeGenerator.pm:267
&gt; &gt; +        foreach my $function (@{$interface-&gt;functions}) {
&gt; &gt; +            if ($function-&gt;signature-&gt;name eq $functionName) {
&gt; &gt; +                $indexer = $function-&gt;signature;
&gt; &gt; +                return &apos;prune&apos;;
&gt; 
&gt; What about overloads?

I&apos;ll check. I don&apos;t think we support overloads in indexed getters.

&gt; Also, what does &quot;prune&quot; mean?

&quot;prune&quot; is the sentinel used to stop the iteration in ForAllParents().

&gt; &gt; Source/WebCore/bindings/scripts/CodeGeneratorV8.pm:-2027
&gt; &gt; -    # FIXME: The item() getter is not inherited from CSSValueList, seemingly due to the way
&gt; &gt; -    # the CodeGenerator-&gt;AddMethodsConstantsAndAttributesFromParentClasses() method works,
&gt; 
&gt; Why isn&apos;t the right solution to change AddMethodsConstantsAndAttributesFromParentClasses to understand indexers?

I&apos;ll check if that would be cleaner. It is important that we do not add an &quot;item&quot; method to the DOMSettableToken.prototype.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519564</commentid>
    <comment_count>7</comment_count>
      <attachid>118877</attachid>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2011-12-12 15:17:08 -0800</bug_when>
    <thetext>Created attachment 118877
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519571</commentid>
    <comment_count>8</comment_count>
    <who name="Erik Arvidsson">arv</who>
    <bug_when>2011-12-12 15:19:28 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #4)
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=118844&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/bindings/scripts/CodeGenerator.pm:267
&gt; &gt; &gt; +        foreach my $function (@{$interface-&gt;functions}) {
&gt; &gt; &gt; +            if ($function-&gt;signature-&gt;name eq $functionName) {
&gt; &gt; &gt; +                $indexer = $function-&gt;signature;
&gt; &gt; &gt; +                return &apos;prune&apos;;
&gt; &gt; 
&gt; &gt; What about overloads?

We don&apos;t support overloaded indexers or named property getters. There is currently no use of this in any of the idl files.

&gt; &gt; &gt; Source/WebCore/bindings/scripts/CodeGeneratorV8.pm:-2027
&gt; &gt; &gt; -    # FIXME: The item() getter is not inherited from CSSValueList, seemingly due to the way
&gt; &gt; &gt; -    # the CodeGenerator-&gt;AddMethodsConstantsAndAttributesFromParentClasses() method works,
&gt; &gt; 
&gt; &gt; Why isn&apos;t the right solution to change AddMethodsConstantsAndAttributesFromParentClasses to understand indexers?
&gt; 
&gt; I&apos;ll check if that would be cleaner. It is important that we do not add an &quot;item&quot; method to the DOMSettableToken.prototype.

This could have been done by adding an indexer and namedPropertyGetter to the interface object but to me that seems less clean than this solution.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519734</commentid>
    <comment_count>9</comment_count>
      <attachid>118877</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-12 17:34:31 -0800</bug_when>
    <thetext>Comment on attachment 118877
Patch

Clearing flags on attachment: 118877

Committed r102646: &lt;http://trac.webkit.org/changeset/102646&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519735</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-12 17:34:35 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118844</attachid>
            <date>2011-12-12 14:17:38 -0800</date>
            <delta_ts>2011-12-12 15:17:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74027-20111212141737.patch</filename>
            <type>text/plain</type>
            <size>7819</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyNjEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzZmMDdlYWFiY2FhMTcy
NDY4NmUwMGVjZjI2YThjNDRkYTcyMTAwMy4uMzY5ZTZmZWMxZDAwY2FhNzZkZjNjODEyNDNiYWJl
MTcwNzZmN2UyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDExLTEyLTEyICBFcmlr
IEFydmlkc3NvbiAgPGFydkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW1Y4XSBDb2RlR2VuZXJh
dG9yVjgucG0gZG9lcyBub3QgY29ycmVjdGx5IHdvcmsgd2l0aCBpbmhlcml0ZWQgSGFzSW5kZXhH
ZXR0ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0
MDI3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5z
dGVhZCBvZiBoYXZpbmcgdG8gd3JpdGUgYSBjdXN0b20gaW5kZXhlciB3aGVuIHRoZSBpbnRlcmZh
Y2UgaGFzIGFuIGluaGVyaXRlZCBpbmRleGVyCisgICAgICAgIHdlIGdldCB0aGUgc2lnbmF0dXJl
IGZyb20gdGhlIHN1cGVyIGludGVyZmFjZS4KKworICAgICAgICBUZXN0ZWQgYnkgZXhpc3Rpbmcg
dGVzdHMuCisKKyAgICAgICAgKiBUYXJnZXQucHJpOiBSZW1vdmUgVjhET01TZXR0YWJsZVRva2Vu
TGlzdEN1c3RvbS5jcHAuCisgICAgICAgICogVXNlVjguY21ha2U6IERpdHRvLgorICAgICAgICAq
IFdlYkNvcmUuZ3lwaTogRGl0dG8uCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9yLnBtOgorICAgICAgICAoRmluZFN1cGVyTWV0aG9kKTogUmV0dXJucyB0aGUgZmlyc3Qg
bWF0Y2hpbmcgZnVuY3Rpb24gaW4gb25lIG9mIHRoZSBhbmNlc3RvciBpbnRlcmZhY2VzLgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtOgorICAgICAgICAoR2Vu
ZXJhdGVJbXBsZW1lbnRhdGlvbkluZGV4ZXIpOiBJZiB0aGUgY3VycmVudCBpbnRlcmZhY2UgaGFz
IG5vIGluZGV4ZXIgdHJ5IHRvIGZpbmQgYW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW5kZXhlciBpbiBvbmUgb2YgdGhlIHN1cGVyIGludGVyZmFjZXMuCisgICAg
ICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NU2V0dGFibGVUb2tlbkxpc3RDdXN0b20uY3Bw
OiBSZW1vdmVkLgorCiAyMDExLTEyLTEyICBPamFuIFZhZmFpICA8b2phbkBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgcjEwMjIzNCBjYXVzZWQgUnVsZURhdGEgdG8gdXNlIDMzIGJpdHMgaW4gaXRz
IGJpdG1hc2sKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2Uv
V2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IGVkMDU0ZjgzNDU5YjEwMDRiMDIzZjM3YmNlNWM5ZWZk
YzU2YWQ1MDAuLjNlZjQ1ZGMzZmZlODgyNzk0NWJmYWU3YjdjNjJmZTk2YjVmZDdkMDYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFy
Z2V0LnByaQpAQCAtMTYwLDcgKzE2MCw2IEBAIHY4IHsKICAgICAgICAgYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4SW5qZWN0ZWRTY3JpcHRIb3N0Q3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4
L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0TWFuYWdlci5jcHAgXAogICAgICAgICBiaW5kaW5ncy92
OC9jdXN0b20vVjhJbnNwZWN0b3JGcm9udGVuZEhvc3RDdXN0b20uY3BwIFwKLSAgICAgICAgYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4RE9NU2V0dGFibGVUb2tlbkxpc3RDdXN0b20uY3BwIFwKICAgICAg
ICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NU3RyaW5nTWFwQ3VzdG9tLmNwcCBcCiAgICAgICAg
IGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVRva2VuTGlzdEN1c3RvbS5jcHAKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvVXNlVjguY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9Vc2VWOC5jbWFr
ZQppbmRleCBkYWNmMmFjMmE1ZDU2MWIzMzFmYTVhMzg2NTdkODViYTM0NWU3M2QxLi5kODBmNjNm
M2VkY2U4MTcxOGZlOTg4Mzg0ZjdjMDMzYjY2NmQ0NGM3IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Vc2VWOC5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9Vc2VWOC5jbWFrZQpAQCAtODEs
NyArODEsNiBAQCBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBiaW5kaW5ncy92OC9j
dXN0b20vVjhDdXN0b21Wb2lkQ2FsbGJhY2suY3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4
Q3VzdG9tWFBhdGhOU1Jlc29sdmVyLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTUZv
cm1EYXRhQ3VzdG9tLmNwcAotICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVNldHRhYmxlVG9r
ZW5MaXN0Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0cmluZ01hcEN1
c3RvbS5jcHAKICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhET01Ub2tlbkxpc3RDdXN0b20uY3Bw
CiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5n
eXBpCmluZGV4IDU5ZjQ1NzI4YjFkZTE3ZmFhYTc1NDZhNWIzMzEyMWUxYjFkZTBhNDguLjIzNGFm
OGM0NGUyNzk2Yjk1MTAzOTA1ZWMzZmRhMWI4MGUxOGNhZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAg
LTIxODcsNyArMjE4Nyw2IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3Vz
dG9tWFBhdGhOU1Jlc29sdmVyLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9t
L1Y4Q3VzdG9tWFBhdGhOU1Jlc29sdmVyLmgnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOERPTUZvcm1EYXRhQ3VzdG9tLmNwcCcsCi0gICAgICAgICAgICAnYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4RE9NU2V0dGFibGVUb2tlbkxpc3RDdXN0b20uY3BwJywKICAgICAgICAgICAgICdi
aW5kaW5ncy92OC9jdXN0b20vVjhET01TdHJpbmdNYXBDdXN0b20uY3BwJywKICAgICAgICAgICAg
ICdiaW5kaW5ncy92OC9jdXN0b20vVjhET01Ub2tlbkxpc3RDdXN0b20uY3BwJywKICAgICAgICAg
ICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhET01XaW5kb3dDdXN0b20uY3BwJywKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbSBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbQppbmRleCBiMDM5
ZTliMDc4MjE0NmRhN2ZhNzY3MTI5NWRjMDZmNGUzYjY2NDY2Li43YmU1Yzc2ZWI0MDY2ZjYxM2Vi
MDViNzA4ZDc2MGUxOGVlMDZiMjczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtCkBAIC0yNTUsNiArMjU1LDIyIEBAIHN1YiBHZXRNZXRo
b2RzQW5kQXR0cmlidXRlc0Zyb21QYXJlbnRDbGFzc2VzCiAgICAgcmV0dXJuIEBwYXJlbnRMaXN0
OwogfQogCitzdWIgRmluZFN1cGVyTWV0aG9kCit7CisgICAgbXkgKCRvYmplY3QsICRkYXRhTm9k
ZSwgJGZ1bmN0aW9uTmFtZSkgPSBAXzsKKyAgICBteSAkaW5kZXhlcjsKKyAgICAkb2JqZWN0LT5G
b3JBbGxQYXJlbnRzKCRkYXRhTm9kZSwgdW5kZWYsIHN1YiB7CisgICAgICAgIG15ICRpbnRlcmZh
Y2UgPSBzaGlmdDsKKyAgICAgICAgZm9yZWFjaCBteSAkZnVuY3Rpb24gKEB7JGludGVyZmFjZS0+
ZnVuY3Rpb25zfSkgeworICAgICAgICAgICAgaWYgKCRmdW5jdGlvbi0+c2lnbmF0dXJlLT5uYW1l
IGVxICRmdW5jdGlvbk5hbWUpIHsKKyAgICAgICAgICAgICAgICAkaW5kZXhlciA9ICRmdW5jdGlv
bi0+c2lnbmF0dXJlOworICAgICAgICAgICAgICAgIHJldHVybiAncHJ1bmUnOworICAgICAgICAg
ICAgfQorICAgICAgICB9CisgICAgfSk7CisgICAgcmV0dXJuICRpbmRleGVyOworfQorCiBzdWIg
SURMRmlsZUZvckludGVyZmFjZQogewogICAgIG15ICRvYmplY3QgPSBzaGlmdDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KaW5kZXgg
ZjZlMDE0MGJiZmY2MmMzODkxMjk0ZGE1YjNkMDMyNzk1YTQ0OTU2Yi4uM2YyZjlhMjBmZDYxZTVl
NjVlYmJhNWIxZmU2ZTAzZTNmYjlhOWRmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KQEAgLTIwMTYsNiArMjAxNiwxMCBAQCBz
dWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbkluZGV4ZXIKIAogICAgIEFkZFRvSW1wbEluY2x1ZGVz
KCJWOENvbGxlY3Rpb24uaCIpOwogCisgICAgaWYgKCEkaW5kZXhlcikgeworICAgICAgICAkaW5k
ZXhlciA9ICRjb2RlR2VuZXJhdG9yLT5GaW5kU3VwZXJNZXRob2QoJGRhdGFOb2RlLCAiaXRlbSIp
OworICAgIH0KKwogICAgIG15ICRpbmRleGVyVHlwZSA9ICRpbmRleGVyID8gJGluZGV4ZXItPnR5
cGUgOiAwOwogCiAgICAgIyBGSVhNRTogUmVtb3ZlIHRoaXMgb25jZSB0b1Y4IGhlbHBlciBtZXRo
b2RzIGFyZSBpbXBsZW1lbnRlZCAoc2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0zMjU2MykuCkBAIC0yMDIzLDEzICsyMDI3LDYgQEAgc3ViIEdlbmVyYXRlSW1wbGVt
ZW50YXRpb25JbmRleGVyCiAgICAgICAgICRpbmRleGVyVHlwZSA9ICJXZWJLaXRDU1NLZXlmcmFt
ZVJ1bGUiOwogICAgIH0KIAotICAgICMgRklYTUU6IFRoZSBpdGVtKCkgZ2V0dGVyIGlzIG5vdCBp
bmhlcml0ZWQgZnJvbSBDU1NWYWx1ZUxpc3QsIHNlZW1pbmdseSBkdWUgdG8gdGhlIHdheQotICAg
ICMgdGhlIENvZGVHZW5lcmF0b3ItPkFkZE1ldGhvZHNDb25zdGFudHNBbmRBdHRyaWJ1dGVzRnJv
bVBhcmVudENsYXNzZXMoKSBtZXRob2Qgd29ya3MsCi0gICAgIyBzbyB3ZSBuZWVkIHRvIHNldCB0
aGUgaW5kZXhlclR5cGUgbWFudWFsbHkgaW4gdGhpcyBjYXNlLgotICAgIGlmICgkaW50ZXJmYWNl
TmFtZSBlcSAiV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUiKSB7Ci0gICAgICAgICRpbmRleGVyVHlw
ZSA9ICJDU1NWYWx1ZSI7Ci0gICAgfQotCiAgICAgaWYgKCRpbmRleGVyVHlwZSAmJiAhJGhhc0N1
c3RvbVNldHRlcikgewogICAgICAgICBpZiAoJGluZGV4ZXJUeXBlIGVxICJET01TdHJpbmciKSB7
CiAgICAgICAgICAgICBteSAkY29udmVyc2lvbiA9ICRpbmRleGVyLT5leHRlbmRlZEF0dHJpYnV0
ZXMtPnsiQ29udmVydE51bGxTdHJpbmdUbyJ9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NU2V0dGFibGVUb2tlbkxpc3RDdXN0b20uY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NU2V0dGFibGVUb2tlbkxpc3RDdXN0
b20uY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMWM5YmU0YTc0YzljMjA5Mjk4
Yzk1NGQxOTk1YTNhMTAzYTg2NmMxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVNldHRh
YmxlVG9rZW5MaXN0Q3VzdG9tLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLS8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuICBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUwotICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OCi0gKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKLSAq
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJWOERPTVNldHRhYmxl
VG9rZW5MaXN0LmgiCi0KLSNpbmNsdWRlICJET01TZXR0YWJsZVRva2VuTGlzdC5oIgotCi0jaW5j
bHVkZSAiVjhCaW5kaW5nLmgiCi0jaW5jbHVkZSAiVjhQcm94eS5oIgotCi1uYW1lc3BhY2UgV2Vi
Q29yZSB7Ci0KLXY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERPTVNldHRhYmxlVG9rZW5MaXN0Ojpp
bmRleGVkUHJvcGVydHlHZXR0ZXIodWludDMyX3QgaW5kZXgsIGNvbnN0IHY4OjpBY2Nlc3Nvcklu
Zm8mIGluZm8pCi17Ci0gICAgSU5DX1NUQVRTKCJET00uRE9NU2V0dGFibGVUb2tlbkxpc3QuSW5k
ZXhlZFByb3BlcnR5R2V0dGVyIik7Ci0gICAgRE9NU2V0dGFibGVUb2tlbkxpc3QqIGxpc3QgPSBW
OERPTVNldHRhYmxlVG9rZW5MaXN0Ojp0b05hdGl2ZShpbmZvLkhvbGRlcigpKTsKLSAgICByZXR1
cm4gdjhTdHJpbmdPck51bGwobGlzdC0+aXRlbShpbmRleCkpOwotfQotCi19IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118877</attachid>
            <date>2011-12-12 15:17:08 -0800</date>
            <delta_ts>2011-12-12 17:34:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74027-20111212151706.patch</filename>
            <type>text/plain</type>
            <size>11227</size>
            <attacher name="Erik Arvidsson">arv</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyNjI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2Q2MGRmZGY2YmVhYzMz
NGVhZjBhMzY0YmRkMDk2MGQ5MmNiNDIzMy4uZjJjMTEwNWM5YWQyMGM2MGMxODgwYjg1MGQ3OWI3
ZTllZmM5ZGUxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDExLTEyLTEyICBFcmlr
IEFydmlkc3NvbiAgPGFydkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW1Y4XSBDb2RlR2VuZXJh
dG9yVjgucG0gZG9lcyBub3QgY29ycmVjdGx5IHdvcmsgd2l0aCBpbmhlcml0ZWQgSGFzSW5kZXhH
ZXR0ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0
MDI3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5z
dGVhZCBvZiBoYXZpbmcgdG8gd3JpdGUgYSBjdXN0b20gaW5kZXhlciB3aGVuIHRoZSBpbnRlcmZh
Y2UgaGFzIGFuIGluaGVyaXRlZCBpbmRleGVyCisgICAgICAgIHdlIGdldCB0aGUgc2lnbmF0dXJl
IGZyb20gdGhlIHN1cGVyIGludGVyZmFjZS4KKworICAgICAgICBUZXN0ZWQgYnkgZXhpc3Rpbmcg
dGVzdHMuCisKKyAgICAgICAgKiBUYXJnZXQucHJpOiBSZW1vdmUgVjhET01TZXR0YWJsZVRva2Vu
TGlzdEN1c3RvbS5jcHAgYW5kIFY4V2ViS2l0Q1NTRmlsdGVyVmFsdWVDdXN0b20uY3BwLgorICAg
ICAgICAqIFVzZVY4LmNtYWtlOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6IERpdHRv
LgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbToKKyAgICAgICAg
KEZpbmRTdXBlck1ldGhvZCk6IFJldHVybnMgdGhlIGZpcnN0IG1hdGNoaW5nIGZ1bmN0aW9uIGlu
IG9uZSBvZiB0aGUgYW5jZXN0b3IgaW50ZXJmYWNlcy4KKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JWOC5wbToKKyAgICAgICAgKEdlbmVyYXRlSW1wbGVtZW50YXRpb25J
bmRleGVyKTogSWYgdGhlIGN1cnJlbnQgaW50ZXJmYWNlIGhhcyBubyBpbmRleGVyIHRyeSB0byBm
aW5kIGFuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4ZXIg
aW4gb25lIG9mIHRoZSBzdXBlciBpbnRlcmZhY2VzLgorICAgICAgICAoR2VuZXJhdGVJbXBsZW1l
bnRhdGlvbk5hbWVkUHJvcGVydHlHZXR0ZXIpOiBEaXR0byBmb3IgbmFtZWQgcHJvcGVydHkgZ2V0
dGVyLgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVNldHRhYmxlVG9rZW5MaXN0
Q3VzdG9tLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhXZWJL
aXRDU1NGaWx0ZXJWYWx1ZUN1c3RvbS5jcHA6IFJlbW92ZWQuCisKIDIwMTEtMTItMTIgIFJ5b3N1
a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgV2ViS2l0IGNvZGUgc2hvdWxk
bid0IGJlIGNhbGxpbmcgYXBwbHlDb21tYW5kIGRpcmVjdGx5CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCBlZDA1
NGY4MzQ1OWIxMDA0YjAyM2YzN2JjZTVjOWVmZGM1NmFkNTAwLi4zZWY0NWRjM2ZmZTg4Mjc5NDVi
ZmFlN2I3YzYyZmU5NmI1ZmQ3ZDA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQu
cHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTE2MCw3ICsxNjAsNiBAQCB2
OCB7CiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0SG9zdEN1c3Rv
bS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdE1hbmFn
ZXIuY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5zcGVjdG9yRnJvbnRlbmRI
b3N0Q3VzdG9tLmNwcCBcCi0gICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVNldHRhYmxl
VG9rZW5MaXN0Q3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVN0
cmluZ01hcEN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhET01Ub2tl
bkxpc3RDdXN0b20uY3BwCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1VzZVY4LmNtYWtl
IGIvU291cmNlL1dlYkNvcmUvVXNlVjguY21ha2UKaW5kZXggZGFjZjJhYzJhNWQ1NjFiMzMxZmE1
YTM4NjU3ZDg1YmEzNDVlNzNkMS4uZDgwZjYzZjNlZGNlODE3MThmZTk4ODM4NGY3YzAzM2I2NjZk
NDRjNyAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvVXNlVjguY21ha2UKKysrIGIvU291cmNl
L1dlYkNvcmUvVXNlVjguY21ha2UKQEAgLTgxLDcgKzgxLDYgQEAgTElTVChBUFBFTkQgV2ViQ29y
ZV9TT1VSQ0VTCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tVm9pZENhbGxiYWNrLmNw
cAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVhQYXRoTlNSZXNvbHZlci5jcHAKICAg
ICBiaW5kaW5ncy92OC9jdXN0b20vVjhET01Gb3JtRGF0YUN1c3RvbS5jcHAKLSAgICBiaW5kaW5n
cy92OC9jdXN0b20vVjhET01TZXR0YWJsZVRva2VuTGlzdEN1c3RvbS5jcHAKICAgICBiaW5kaW5n
cy92OC9jdXN0b20vVjhET01TdHJpbmdNYXBDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4RE9NVG9rZW5MaXN0Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERP
TVdpbmRvd0N1c3RvbS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
aSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBjNjA4YTExMmJkMjExYzc2ZmRj
OWU5MDgwNWM4NWI0NTEyNDMwYzhjLi4zODg0YTc2Y2Y3M2ZmMzM5ODk0MzQ3ZDIyM2ZkYzA1ZTUy
ZGZjMGEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0yMTg3LDcgKzIxODcsNiBAQAogICAgICAgICAg
ICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVhQYXRoTlNSZXNvbHZlci5jcHAnLAogICAg
ICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVhQYXRoTlNSZXNvbHZlci5oJywK
ICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhET01Gb3JtRGF0YUN1c3RvbS5jcHAn
LAotICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVNldHRhYmxlVG9rZW5MaXN0
Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NU3RyaW5n
TWFwQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NVG9r
ZW5MaXN0Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9N
V2luZG93Q3VzdG9tLmNwcCcsCkBAIC0yMjY4LDcgKzIyNjcsNiBAQAogICAgICAgICAgICAgJ2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOFVpbnQ4QXJyYXlDdXN0b20uY3BwJywKICAgICAgICAgICAgICdi
aW5kaW5ncy92OC9jdXN0b20vVjhXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwJywKICAg
ICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhXZWJLaXRBbmltYXRpb25DdXN0b20uY3Bw
JywKLSAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhXZWJLaXRDU1NGaWx0ZXJWYWx1
ZUN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYktpdE11
dGF0aW9uT2JzZXJ2ZXJDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0
b20vVjhXZWJLaXRQb2ludENvbnN0cnVjdG9yLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3Mv
djgvY3VzdG9tL1Y4V2ViU29ja2V0Q3VzdG9tLmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0gYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0KaW5kZXggYjAzOWU5YjA3ODIxNDZkYTdm
YTc2NzEyOTVkYzA2ZjRlM2I2NjQ2Ni4uN2JlNWM3NmViNDA2NmY2MTNlYjA1YjcwOGQ3NjBlMThl
ZTA2YjI3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9yLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdl
bmVyYXRvci5wbQpAQCAtMjU1LDYgKzI1NSwyMiBAQCBzdWIgR2V0TWV0aG9kc0FuZEF0dHJpYnV0
ZXNGcm9tUGFyZW50Q2xhc3NlcwogICAgIHJldHVybiBAcGFyZW50TGlzdDsKIH0KIAorc3ViIEZp
bmRTdXBlck1ldGhvZAoreworICAgIG15ICgkb2JqZWN0LCAkZGF0YU5vZGUsICRmdW5jdGlvbk5h
bWUpID0gQF87CisgICAgbXkgJGluZGV4ZXI7CisgICAgJG9iamVjdC0+Rm9yQWxsUGFyZW50cygk
ZGF0YU5vZGUsIHVuZGVmLCBzdWIgeworICAgICAgICBteSAkaW50ZXJmYWNlID0gc2hpZnQ7Cisg
ICAgICAgIGZvcmVhY2ggbXkgJGZ1bmN0aW9uIChAeyRpbnRlcmZhY2UtPmZ1bmN0aW9uc30pIHsK
KyAgICAgICAgICAgIGlmICgkZnVuY3Rpb24tPnNpZ25hdHVyZS0+bmFtZSBlcSAkZnVuY3Rpb25O
YW1lKSB7CisgICAgICAgICAgICAgICAgJGluZGV4ZXIgPSAkZnVuY3Rpb24tPnNpZ25hdHVyZTsK
KyAgICAgICAgICAgICAgICByZXR1cm4gJ3BydW5lJzsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
fQorICAgIH0pOworICAgIHJldHVybiAkaW5kZXhlcjsKK30KKwogc3ViIElETEZpbGVGb3JJbnRl
cmZhY2UKIHsKICAgICBteSAkb2JqZWN0ID0gc2hpZnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbSBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCmluZGV4IGY2ZTAxNDBiYmZmNjJj
Mzg5MTI5NGRhNWIzZDAzMjc5NWE0NDk1NmIuLmU0MzE0YmUwZDQ2Y2Q2MjgyNTIyYWRmNTllNzIy
NmY5NGE1NGQ4OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvclY4LnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvclY4LnBtCkBAIC0yMDE2LDYgKzIwMTYsMTAgQEAgc3ViIEdlbmVyYXRlSW1w
bGVtZW50YXRpb25JbmRleGVyCiAKICAgICBBZGRUb0ltcGxJbmNsdWRlcygiVjhDb2xsZWN0aW9u
LmgiKTsKIAorICAgIGlmICghJGluZGV4ZXIpIHsKKyAgICAgICAgJGluZGV4ZXIgPSAkY29kZUdl
bmVyYXRvci0+RmluZFN1cGVyTWV0aG9kKCRkYXRhTm9kZSwgIml0ZW0iKTsKKyAgICB9CisKICAg
ICBteSAkaW5kZXhlclR5cGUgPSAkaW5kZXhlciA/ICRpbmRleGVyLT50eXBlIDogMDsKIAogICAg
ICMgRklYTUU6IFJlbW92ZSB0aGlzIG9uY2UgdG9WOCBoZWxwZXIgbWV0aG9kcyBhcmUgaW1wbGVt
ZW50ZWQgKHNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzI1NjMp
LgpAQCAtMjAyMywxMyArMjAyNyw2IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uSW5kZXhl
cgogICAgICAgICAkaW5kZXhlclR5cGUgPSAiV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlIjsKICAgICB9
CiAKLSAgICAjIEZJWE1FOiBUaGUgaXRlbSgpIGdldHRlciBpcyBub3QgaW5oZXJpdGVkIGZyb20g
Q1NTVmFsdWVMaXN0LCBzZWVtaW5nbHkgZHVlIHRvIHRoZSB3YXkKLSAgICAjIHRoZSBDb2RlR2Vu
ZXJhdG9yLT5BZGRNZXRob2RzQ29uc3RhbnRzQW5kQXR0cmlidXRlc0Zyb21QYXJlbnRDbGFzc2Vz
KCkgbWV0aG9kIHdvcmtzLAotICAgICMgc28gd2UgbmVlZCB0byBzZXQgdGhlIGluZGV4ZXJUeXBl
IG1hbnVhbGx5IGluIHRoaXMgY2FzZS4KLSAgICBpZiAoJGludGVyZmFjZU5hbWUgZXEgIldlYktp
dENTU1RyYW5zZm9ybVZhbHVlIikgewotICAgICAgICAkaW5kZXhlclR5cGUgPSAiQ1NTVmFsdWUi
OwotICAgIH0KLQogICAgIGlmICgkaW5kZXhlclR5cGUgJiYgISRoYXNDdXN0b21TZXR0ZXIpIHsK
ICAgICAgICAgaWYgKCRpbmRleGVyVHlwZSBlcSAiRE9NU3RyaW5nIikgewogICAgICAgICAgICAg
bXkgJGNvbnZlcnNpb24gPSAkaW5kZXhlci0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNvbnZlcnRO
dWxsU3RyaW5nVG8ifTsKQEAgLTIxMDEsNiArMjA5OCwxMCBAQCBzdWIgR2VuZXJhdGVJbXBsZW1l
bnRhdGlvbk5hbWVkUHJvcGVydHlHZXR0ZXIKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAg
IGlmICghJG5hbWVkUHJvcGVydHlHZXR0ZXIpIHsKKyAgICAgICAgJG5hbWVkUHJvcGVydHlHZXR0
ZXIgPSAkY29kZUdlbmVyYXRvci0+RmluZFN1cGVyTWV0aG9kKCRkYXRhTm9kZSwgIm5hbWVkSXRl
bSIpOworICAgIH0KKwogICAgIGlmICgkbmFtZWRQcm9wZXJ0eUdldHRlciAmJiAkbmFtZWRQcm9w
ZXJ0eUdldHRlci0+dHlwZSBuZSAiTm9kZSIgJiYgISRuYW1lZFByb3BlcnR5R2V0dGVyLT5leHRl
bmRlZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tIn0gJiYgISRoYXNDdXN0b21HZXR0ZXIpIHsKICAgICAg
ICAgQWRkVG9JbXBsSW5jbHVkZXMoIlY4Q29sbGVjdGlvbi5oIik7CiAgICAgICAgIG15ICR0eXBl
ID0gJG5hbWVkUHJvcGVydHlHZXR0ZXItPnR5cGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01TZXR0YWJsZVRva2VuTGlzdEN1c3RvbS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01TZXR0YWJsZVRva2VuTGlzdEN1
c3RvbS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUxYzliZTRhNzRjOWMyMDky
OThjOTU0ZDE5OTVhM2ExMDNhODY2YzEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NU2V0
dGFibGVUb2tlbkxpc3RDdXN0b20uY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICog
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSAq
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTCi0gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04KLSAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUwot
ICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIlY4RE9NU2V0dGFi
bGVUb2tlbkxpc3QuaCIKLQotI2luY2x1ZGUgIkRPTVNldHRhYmxlVG9rZW5MaXN0LmgiCi0KLSNp
bmNsdWRlICJWOEJpbmRpbmcuaCIKLSNpbmNsdWRlICJWOFByb3h5LmgiCi0KLW5hbWVzcGFjZSBX
ZWJDb3JlIHsKLQotdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RE9NU2V0dGFibGVUb2tlbkxpc3Q6
OmluZGV4ZWRQcm9wZXJ0eUdldHRlcih1aW50MzJfdCBpbmRleCwgY29uc3Qgdjg6OkFjY2Vzc29y
SW5mbyYgaW5mbykKLXsKLSAgICBJTkNfU1RBVFMoIkRPTS5ET01TZXR0YWJsZVRva2VuTGlzdC5J
bmRleGVkUHJvcGVydHlHZXR0ZXIiKTsKLSAgICBET01TZXR0YWJsZVRva2VuTGlzdCogbGlzdCA9
IFY4RE9NU2V0dGFibGVUb2tlbkxpc3Q6OnRvTmF0aXZlKGluZm8uSG9sZGVyKCkpOwotICAgIHJl
dHVybiB2OFN0cmluZ09yTnVsbChsaXN0LT5pdGVtKGluZGV4KSk7Ci19Ci0KLX0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOFdlYktpdENTU0ZpbHRlclZhbHVlQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOFdlYktpdENTU0ZpbHRlclZhbHVlQ3VzdG9tLmNwcApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggZDdkNGE1NzI1ZjY5ZTQ0YmEwZmMyN2Q1MjVmM2RkYWI5Zjk3
MjUxNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXZWJLaXRDU1NGaWx0ZXJWYWx1ZUN1c3Rv
bS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw0NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0g
KiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMK
LSAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgotICogQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCi0gKiBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5j
bHVkZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUoQ1NTX0ZJTFRFUlMpCi0KLSNpbmNsdWRlICJW
OFdlYktpdENTU0ZpbHRlclZhbHVlLmgiCi0KLSNpbmNsdWRlICJWOEJpbmRpbmcuaCIKLSNpbmNs
dWRlICJXZWJLaXRDU1NGaWx0ZXJWYWx1ZS5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXY4
OjpIYW5kbGU8djg6OlZhbHVlPiBWOFdlYktpdENTU0ZpbHRlclZhbHVlOjppbmRleGVkUHJvcGVy
dHlHZXR0ZXIodWludDMyX3QgaW5kZXgsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCi17
Ci0gICAgSU5DX1NUQVRTKCJET00uV2ViS2l0Q1NTRmlsdGVyVmFsdWUuSW5kZXhlZFByb3BlcnR5
R2V0dGVyIik7Ci0gICAgV2ViS2l0Q1NTRmlsdGVyVmFsdWUqIGxpc3QgPSBWOFdlYktpdENTU0Zp
bHRlclZhbHVlOjp0b05hdGl2ZShpbmZvLkhvbGRlcigpKTsKLSAgICByZXR1cm4gdG9WOChsaXN0
LT5pdGVtKGluZGV4KSk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>