<?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>40012</bug_id>
          
          <creation_ts>2010-06-01 11:24:32 -0700</creation_ts>
          <short_desc>Callable objects created via JavaScriptCore API cannot be used as Geolocation callbacks</short_desc>
          <delta_ts>2011-04-12 02:39:30 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>57770</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Steve Block">steveblock</assigned_to>
          <cc>barraclough</cc>
    
    <cc>commit-queue</cc>
    
    <cc>kbalazs</cc>
    
    <cc>leandrogracia</cc>
    
    <cc>oliver</cc>
    
    <cc>ossy</cc>
    
    <cc>sam</cc>
    
    <cc>steveblock</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>232857</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-06-01 11:24:32 -0700</bug_when>
    <thetext>Geolocation specification requires that only &quot;Function objects&quot; can be used for Geolocation callbacks. We currently require the callback to inherit from JSFunction, which is almost definitely incorrect, because this doesn&apos;t include functions created via API.

In JSC, there are two ways to check for being callable:
1) Check callData return value. That&apos;s the closest to just trying to call the object, but it includes RegExp objects, which we may or may not want to exclude;
2) Check that className is &quot;Function&quot;. That seems to match the current WebIDL text best, but it doesn&apos;t cover objects created via API.

The reason for the spec requirement is reportedly to disallow objects with handleEvent property, and that makes sense, because the callbacks aren&apos;t events. But Geolocation shouldn&apos;t really be different from Database or other APIs that have callbacks. Web APIs don&apos;t check for callback argument types upfront (I actually suspect that a JS object can even become callable - or cease to be callable - at some point after creation, making upfront checks inadequate).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>232969</commentid>
    <comment_count>1</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2010-06-01 15:32:35 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; Geolocation specification requires that only &quot;Function objects&quot; can be used for Geolocation callbacks. We currently require the callback to inherit from JSFunction, which is almost definitely incorrect, because this doesn&apos;t include functions created via API.
&gt; 
&gt; In JSC, there are two ways to check for being callable:
&gt; 1) Check callData return value. That&apos;s the closest to just trying to call the object, but it includes RegExp objects, which we may or may not want to exclude;
&gt; 2) Check that className is &quot;Function&quot;. That seems to match the current WebIDL text best, but it doesn&apos;t cover objects created via API.

I&apos;d suggest the best check here would be to test that the value is callable, but is not a regexp - i.e.:
    ((value.getCallData() != CallTypeNone) &amp;&amp; !value.inherits(&amp;RegExpObject::info))
Generally speaking, the ECMA spec requires a 1-1 correlation between objects being callable and considered a function – regexps are one class where we follow other browsers in make an exception to this rule (not doing so breaks the web).

&gt; The reason for the spec requirement is reportedly to disallow objects with handleEvent property, and that makes sense, because the callbacks aren&apos;t events. But Geolocation shouldn&apos;t really be different from Database or other APIs that have callbacks. Web APIs don&apos;t check for callback argument types upfront (I actually suspect that a JS object can even become callable - or cease to be callable - at some point after creation, making upfront checks inadequate).

Whether an object is or is not callable is not statically typed – it is determined by the result of a virtual function call.  The are no restrictions to ensure that for a given object the result is repeatable – but that said, I can&apos;t think of any example of an object where this would change.  The only classes I can think that may produce more than one result would be JSFunction (CallTypeJS or CallTypeHost) and API objects (CallTypeNone or CallTypeHost) - but in both cases this should be fixed from object creation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>233002</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-06-01 17:31:19 -0700</bug_when>
    <thetext>Disabled a test that checked Math.abs behavior in r60522 - it&apos;s currently different between JIT and Interpreter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>352180</commentid>
    <comment_count>3</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-02-16 10:35:25 -0800</bug_when>
    <thetext>RegExps aren&apos;t callable in tot, we should probably just switch to CallType != CallTypeNone</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372739</commentid>
    <comment_count>4</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-03-24 04:06:59 -0700</bug_when>
    <thetext>Adding Leandro as this will be relevant to Media Streaming. See Bug 56459.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>383443</commentid>
    <comment_count>5</comment_count>
      <attachid>89070</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-04-11 13:37:58 -0700</bug_when>
    <thetext>Created attachment 89070
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>383447</commentid>
    <comment_count>6</comment_count>
      <attachid>89070</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-04-11 13:40:47 -0700</bug_when>
    <thetext>Comment on attachment 89070
Patch

Can we add an actual API callback as a test?  I&apos;m not sure why Math.abs wouldn&apos;t work in the past but it should pass with the inherits check.  That means we&apos;re not actually testing the right thing in this case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>383469</commentid>
    <comment_count>7</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-04-11 13:51:18 -0700</bug_when>
    <thetext>Attachment 89070 did not build on qt:
Build output: http://queues.webkit.org/results/8390007</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>383697</commentid>
    <comment_count>8</comment_count>
      <attachid>89127</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-04-11 17:10:56 -0700</bug_when>
    <thetext>Created attachment 89127
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>383699</commentid>
    <comment_count>9</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-04-11 17:13:35 -0700</bug_when>
    <thetext>&gt; Can we add an actual API callback as a test?  I&apos;m not sure why Math.abs
&gt; wouldn&apos;t work in the past but it should pass with the inherits check.  That
&gt; means we&apos;re not actually testing the right thing in this case.
Yes, using Math.abs works for me without this fix. Alexey mentioned that the behaviour is different with JIT vs the Interpreter.

I&apos;ve added a test using layoutTestController.setGeolocationPermission, which fails without this fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>383700</commentid>
    <comment_count>10</comment_count>
      <attachid>89127</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-04-11 17:15:06 -0700</bug_when>
    <thetext>Comment on attachment 89127
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>383867</commentid>
    <comment_count>11</comment_count>
      <attachid>89127</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-12 01:13:50 -0700</bug_when>
    <thetext>Comment on attachment 89127
Patch

Clearing flags on attachment: 89127

Committed r83562: &lt;http://trac.webkit.org/changeset/83562&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>383868</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-12 01:13:57 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>383902</commentid>
    <comment_count>13</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-04-12 02:11:03 -0700</bug_when>
    <thetext>This change made fast/dom/Geolocation/argument-types.html fail on the WK2 bot:
http://build.webkit.org/results/SnowLeopard%20Intel%20Release%20(WebKit2%20Tests)/r83562%20(10596)/fast/dom/Geolocation/argument-types-pretty-diff.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>383911</commentid>
    <comment_count>14</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2011-04-12 02:39:30 -0700</bug_when>
    <thetext>WebKit2 has no layoutTestController.setGeolocationPermission currently so we need
to skip this test since now it is using it.
SkipList update has been landed in http://trac.webkit.org/changeset/83571</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89070</attachid>
            <date>2011-04-11 13:37:58 -0700</date>
            <delta_ts>2011-04-11 17:10:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-40012-20110411213756.patch</filename>
            <type>text/plain</type>
            <size>6407</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODM0NDgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlYTI3NWMzOTRjZGRmYjU3MGE0NDA4
N2IyMmQ5YWI2ODM3YmU0YzBjLi4xMTliMDA2YzIxYmZjZDdhYTNjNzA1ZDU0NGE0MmJmMWYyNGNm
NmEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDQtMTEgIFN0ZXZlIEJsb2NrICA8c3Rl
dmVibG9ja0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIENhbGxhYmxlIG9iamVjdHMgY3JlYXRlZCB2aWEgSmF2YVNjcmlwdENvcmUg
QVBJIGNhbm5vdCBiZSB1c2VkIGFzIEdlb2xvY2F0aW9uIGNhbGxiYWNrcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDAwMTIKKworICAgICAgICBDb3Zl
cmVkIGJ5IGZhc3QvZG9tL0dlb2xvY2F0aW9uL2FyZ3VtZW50LXR5cGVzLmh0bWwKKyAgICAgICAg
VGhpcyBpcyBhIHJldmVydCBvZiBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC82MDUy
MgorCisgICAgICAgICogZmFzdC9kb20vR2VvbG9jYXRpb24vYXJndW1lbnQtdHlwZXMtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIGZhc3QvZG9tL0dlb2xvY2F0aW9uL3NjcmlwdC10ZXN0cy9hcmd1
bWVudC10eXBlcy5qczoKKwogMjAxMS0wNC0xMSAgRGltaXRyaSBHbGF6a292ICA8ZGdsYXprb3ZA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtHVEtdIFVwZGF0ZSBleHBlY3RhdGlvbnMgYWZ0ZXIg
cjgzNDQ1LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vYXJn
dW1lbnQtdHlwZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRp
b24vYXJndW1lbnQtdHlwZXMtZXhwZWN0ZWQudHh0CmluZGV4IDIzZWE2ODVjZGIzZDQ2NGQ4NzVh
OWUzNjlhMGEwYzUzMWM3OTE2MjYuLjBjODBhODVjZTJlNTVjM2U4MDgyZDU5ZmVkYTRjNjFjZWY1
NjY3ZWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL2FyZ3Vt
ZW50LXR5cGVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2Nh
dGlvbi9hcmd1bWVudC10eXBlcy1leHBlY3RlZC50eHQKQEAgLTksNiArOSw3IEBAIFBBU1MgbmF2
aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihudWxsKSB0aHJldyBleGNlcHRp
b24gRXJyb3I6IFRZUEVfCiBQQVNTIG5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9z
aXRpb24oe30pIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBF
eGNlcHRpb24gMTcuCiBQQVNTIG5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRp
b24ob2JqZWN0VGhyb3dpbmdFeGNlcHRpb24pIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9N
SVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCiBQQVNTIG5hdmlnYXRvci5nZW9sb2NhdGlv
bi5nZXRDdXJyZW50UG9zaXRpb24oZW1wdHlGdW5jdGlvbikgZGlkIG5vdCB0aHJvdyBleGNlcHRp
b24uCitQQVNTIG5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oTWF0aC5h
YnMpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgogUEFTUyBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24u
Z2V0Q3VycmVudFBvc2l0aW9uKHRydWUpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNN
QVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCiBQQVNTIG5hdmlnYXRvci5nZW9sb2NhdGlvbi5n
ZXRDdXJyZW50UG9zaXRpb24oNDIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRD
SF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCiBQQVNTIG5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRD
dXJyZW50UG9zaXRpb24oSW5maW5pdHkpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNN
QVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCkBAIC0xOSw2ICsyMCw3IEBAIFBBU1MgbmF2aWdh
dG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihlbXB0eUZ1bmN0aW9uLCBudWxsKSBk
aWQgbm90IHRocm93CiBQQVNTIG5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRp
b24oZW1wdHlGdW5jdGlvbiwge30pIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRD
SF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCiBQQVNTIG5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRD
dXJyZW50UG9zaXRpb24oZW1wdHlGdW5jdGlvbiwgb2JqZWN0VGhyb3dpbmdFeGNlcHRpb24pIHRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcu
CiBQQVNTIG5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZW1wdHlGdW5j
dGlvbiwgZW1wdHlGdW5jdGlvbikgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIG5hdmln
YXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZW1wdHlGdW5jdGlvbiwgTWF0aC5h
YnMpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgogUEFTUyBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24u
Z2V0Q3VycmVudFBvc2l0aW9uKGVtcHR5RnVuY3Rpb24sIHRydWUpIHRocmV3IGV4Y2VwdGlvbiBF
cnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCiBQQVNTIG5hdmlnYXRv
ci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZW1wdHlGdW5jdGlvbiwgNDIpIHRocmV3
IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCiBQ
QVNTIG5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZW1wdHlGdW5jdGlv
biwgSW5maW5pdHkpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERP
TSBFeGNlcHRpb24gMTcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2Nh
dGlvbi9zY3JpcHQtdGVzdHMvYXJndW1lbnQtdHlwZXMuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9HZW9sb2NhdGlvbi9zY3JpcHQtdGVzdHMvYXJndW1lbnQtdHlwZXMuanMKaW5kZXggMDFjNzdm
NTZiMTgyZTNlMWFkZGY5N2FmMmJhM2Q2NzExMTU2NzhjOC4uMmI1NTlkOGRkNmM0NzkxN2ZlNjBl
ZTdmYzU1OGRkY2EwNTM2NjQ0YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vR2Vv
bG9jYXRpb24vc2NyaXB0LXRlc3RzL2FyZ3VtZW50LXR5cGVzLmpzCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL0dlb2xvY2F0aW9uL3NjcmlwdC10ZXN0cy9hcmd1bWVudC10eXBlcy5qcwpAQCAt
NDAsNyArNDAsNyBAQCB0ZXN0KCduYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0
aW9uKG51bGwpJywgdHJ1ZSk7CiB0ZXN0KCduYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVu
dFBvc2l0aW9uKHt9KScsIHRydWUpOwogdGVzdCgnbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1
cnJlbnRQb3NpdGlvbihvYmplY3RUaHJvd2luZ0V4Y2VwdGlvbiknLCB0cnVlKTsKIHRlc3QoJ25h
dmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZW1wdHlGdW5jdGlvbiknLCBm
YWxzZSk7Ci0vL3Rlc3QoJ25hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24o
TWF0aC5hYnMpJywgZmFsc2UpOwordGVzdCgnbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJl
bnRQb3NpdGlvbihNYXRoLmFicyknLCBmYWxzZSk7CiB0ZXN0KCduYXZpZ2F0b3IuZ2VvbG9jYXRp
b24uZ2V0Q3VycmVudFBvc2l0aW9uKHRydWUpJywgdHJ1ZSk7CiB0ZXN0KCduYXZpZ2F0b3IuZ2Vv
bG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKDQyKScsIHRydWUpOwogdGVzdCgnbmF2aWdhdG9y
Lmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihJbmZpbml0eSknLCB0cnVlKTsKQEAgLTUy
LDcgKzUyLDcgQEAgdGVzdCgnbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlv
bihlbXB0eUZ1bmN0aW9uLCBudWxsKScsIGZhbHNlKTsKIHRlc3QoJ25hdmlnYXRvci5nZW9sb2Nh
dGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZW1wdHlGdW5jdGlvbiwge30pJywgdHJ1ZSk7CiB0ZXN0
KCduYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKGVtcHR5RnVuY3Rpb24s
IG9iamVjdFRocm93aW5nRXhjZXB0aW9uKScsIHRydWUpOwogdGVzdCgnbmF2aWdhdG9yLmdlb2xv
Y2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihlbXB0eUZ1bmN0aW9uLCBlbXB0eUZ1bmN0aW9uKScs
IGZhbHNlKTsKLS8vdGVzdCgnbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlv
bihlbXB0eUZ1bmN0aW9uLCBNYXRoLmFicyknLCBmYWxzZSk7Cit0ZXN0KCduYXZpZ2F0b3IuZ2Vv
bG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKGVtcHR5RnVuY3Rpb24sIE1hdGguYWJzKScsIGZh
bHNlKTsKIHRlc3QoJ25hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZW1w
dHlGdW5jdGlvbiwgdHJ1ZSknLCB0cnVlKTsKIHRlc3QoJ25hdmlnYXRvci5nZW9sb2NhdGlvbi5n
ZXRDdXJyZW50UG9zaXRpb24oZW1wdHlGdW5jdGlvbiwgNDIpJywgdHJ1ZSk7CiB0ZXN0KCduYXZp
Z2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKGVtcHR5RnVuY3Rpb24sIEluZmlu
aXR5KScsIHRydWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDA5MjMxYThiMTg4OWYxNDU2MzQ1MTE4ODJjOGZh
ZDgzODA2NGE3ODUuLjE4ZmJiNjA5MGNmYWVhN2JkMzdhY2Q1NmVhMzdmNzNmMmMwODMxZTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMS0wNC0xMSAgU3RldmUgQmxvY2sgIDxzdGV2
ZWJsb2NrQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQ2FsbGFibGUgb2JqZWN0cyBjcmVhdGVkIHZpYSBKYXZhU2NyaXB0Q29yZSBB
UEkgY2Fubm90IGJlIHVzZWQgYXMgR2VvbG9jYXRpb24gY2FsbGJhY2tzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MDAxMgorCisgICAgICAgIENvdmVy
ZWQgYnkgZmFzdC9kb20vR2VvbG9jYXRpb24vYXJndW1lbnQtdHlwZXMuaHRtbAorCisgICAgICAg
ICogYmluZGluZ3MvanMvQ2FsbGJhY2tGdW5jdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpj
aGVja0Z1bmN0aW9uT25seUNhbGxiYWNrKToKKwogMjAxMS0wNC0xMSAgU2VyZ2lvIFZpbGxhciBT
ZW5pbiAgPHN2aWxsYXJAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBNYXJ0aW4g
Um9iaW5zb24uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWxsYmFj
a0Z1bmN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhbGxiYWNrRnVuY3Rp
b24uY3BwCmluZGV4IDIzZWI0N2M5MDkxYjg2NWMyOWRjNDU2MWVkMGUzYmM1Y2ZmYTY0MWQuLjM0
OWZmOTUwZDUzNTM0YjQ0YjlmNzY1ZmNiOWZjNjUxNjVmMThhY2UgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhbGxiYWNrRnVuY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0NhbGxiYWNrRnVuY3Rpb24uY3BwCkBAIC0zOSw5ICszOSw3IEBA
IGJvb2wgY2hlY2tGdW5jdGlvbk9ubHlDYWxsYmFjayhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlND
OjpKU1ZhbHVlIHZhbHVlLCBDYWxsYmFjCiAgICAgaWYgKHZhbHVlLmlzTnVsbCgpICYmIChhY2Nl
cHRlZFZhbHVlcyAmIENhbGxiYWNrQWxsb3dOdWxsKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
Ci0gICAgLy8gRklYTUU6IGRpc2FsbG93cyBjYWxsYWJsZSBvYmplY3RzIGNyZWF0ZWQgdmlhIEpT
QyBBUEkuIEl0J3Mgbm90IGNsZWFyIHdoYXQgZXhhY3RseSB0aGUgc3BlY2lmaWNhdGlvbiBpbnRl
bmRzIHRvIGFsbG93LgotICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD00MDAxMgotICAgIGlmICghdmFsdWUuaW5oZXJpdHMoJkpTQzo6SlNGdW5jdGlvbjo6c19p
bmZvKSkgeworICAgIGlmICh2YWx1ZS5nZXRDYWxsRGF0YSgpID09IENhbGxUeXBlTm9uZSkgewog
ICAgICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgVFlQRV9NSVNNQVRDSF9FUlIpOwogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89127</attachid>
            <date>2011-04-11 17:10:56 -0700</date>
            <delta_ts>2011-04-12 01:13:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-40012-20110412011054.patch</filename>
            <type>text/plain</type>
            <size>7058</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODM0ODcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlYjY0ZDQwNzUzZmViNGRjZWYxMjg1
OGQ4YmVlYzJiYjhhYjBiNDBjLi4wNDdlMjdhODFiN2VhODZhZmJhYTllYWYxYmZiNjBjOWFkNTlk
YzZhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDQtMTEgIFN0ZXZlIEJsb2NrICA8c3Rl
dmVibG9ja0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIENhbGxhYmxlIG9iamVjdHMgY3JlYXRlZCB2aWEgSmF2YVNjcmlwdENvcmUg
QVBJIGNhbm5vdCBiZSB1c2VkIGFzIEdlb2xvY2F0aW9uIGNhbGxiYWNrcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDAwMTIKKworICAgICAgICBDb3Zl
cmVkIGJ5IGZhc3QvZG9tL0dlb2xvY2F0aW9uL2FyZ3VtZW50LXR5cGVzLmh0bWwKKyAgICAgICAg
VGhpcyBpcyBhIHJldmVydCBvZiBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC82MDUy
MgorCisgICAgICAgICogZmFzdC9kb20vR2VvbG9jYXRpb24vYXJndW1lbnQtdHlwZXMtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIGZhc3QvZG9tL0dlb2xvY2F0aW9uL3NjcmlwdC10ZXN0cy9hcmd1
bWVudC10eXBlcy5qczoKKwogMjAxMS0wNC0xMSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0
Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL2FyZ3VtZW50LXR5cGVzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uL2FyZ3VtZW50LXR5cGVzLWV4
cGVjdGVkLnR4dAppbmRleCAyM2VhNjg1Y2RiM2Q0NjRkODc1YTllMzY5YTBhMGM1MzFjNzkxNjI2
Li42YzI1MDAwYmE5NWYxMmQ4ODQyMTIwYmMxMmEyYjQ5ZjYyYTgyZjU1IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9HZW9sb2NhdGlvbi9hcmd1bWVudC10eXBlcy1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vYXJndW1lbnQtdHlwZXMt
ZXhwZWN0ZWQudHh0CkBAIC05LDYgKzksOCBAQCBQQVNTIG5hdmlnYXRvci5nZW9sb2NhdGlvbi5n
ZXRDdXJyZW50UG9zaXRpb24obnVsbCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFXwogUEFT
UyBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKHt9KSB0aHJldyBleGNl
cHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgogUEFTUyBu
YXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKG9iamVjdFRocm93aW5nRXhj
ZXB0aW9uKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhj
ZXB0aW9uIDE3LgogUEFTUyBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9u
KGVtcHR5RnVuY3Rpb24pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBuYXZpZ2F0b3Iu
Z2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKE1hdGguYWJzKSBkaWQgbm90IHRocm93IGV4
Y2VwdGlvbi4KK1BBU1MgbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihs
YXlvdXRUZXN0Q29udHJvbGxlci5zZXRHZW9sb2NhdGlvblBlcm1pc3Npb24pIGRpZCBub3QgdGhy
b3cgZXhjZXB0aW9uLgogUEFTUyBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0
aW9uKHRydWUpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBF
eGNlcHRpb24gMTcuCiBQQVNTIG5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRp
b24oNDIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNl
cHRpb24gMTcuCiBQQVNTIG5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24o
SW5maW5pdHkpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBF
eGNlcHRpb24gMTcuCkBAIC0xOSw2ICsyMSw4IEBAIFBBU1MgbmF2aWdhdG9yLmdlb2xvY2F0aW9u
LmdldEN1cnJlbnRQb3NpdGlvbihlbXB0eUZ1bmN0aW9uLCBudWxsKSBkaWQgbm90IHRocm93CiBQ
QVNTIG5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZW1wdHlGdW5jdGlv
biwge30pIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNl
cHRpb24gMTcuCiBQQVNTIG5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24o
ZW1wdHlGdW5jdGlvbiwgb2JqZWN0VGhyb3dpbmdFeGNlcHRpb24pIHRocmV3IGV4Y2VwdGlvbiBF
cnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCiBQQVNTIG5hdmlnYXRv
ci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZW1wdHlGdW5jdGlvbiwgZW1wdHlGdW5j
dGlvbikgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIG5hdmlnYXRvci5nZW9sb2NhdGlv
bi5nZXRDdXJyZW50UG9zaXRpb24oZW1wdHlGdW5jdGlvbiwgTWF0aC5hYnMpIGRpZCBub3QgdGhy
b3cgZXhjZXB0aW9uLgorUEFTUyBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0
aW9uKGVtcHR5RnVuY3Rpb24sIGxheW91dFRlc3RDb250cm9sbGVyLnNldEdlb2xvY2F0aW9uUGVy
bWlzc2lvbikgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCiBQQVNTIG5hdmlnYXRvci5nZW9sb2Nh
dGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZW1wdHlGdW5jdGlvbiwgdHJ1ZSkgdGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KIFBBU1MgbmF2
aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihlbXB0eUZ1bmN0aW9uLCA0Mikg
dGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAx
Ny4KIFBBU1MgbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihlbXB0eUZ1
bmN0aW9uLCBJbmZpbml0eSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VS
UjogRE9NIEV4Y2VwdGlvbiAxNy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0dl
b2xvY2F0aW9uL3NjcmlwdC10ZXN0cy9hcmd1bWVudC10eXBlcy5qcyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL0dlb2xvY2F0aW9uL3NjcmlwdC10ZXN0cy9hcmd1bWVudC10eXBlcy5qcwppbmRleCAw
MWM3N2Y1NmIxODJlM2UxYWRkZjk3YWYyYmEzZDY3MTExNTY3OGM4Li43M2ZmYjQxZjhkOTllMDQx
ZGVlZGNjZTA1Mzg3ZjdjNGJjNzM0ZmNkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9HZW9sb2NhdGlvbi9zY3JpcHQtdGVzdHMvYXJndW1lbnQtdHlwZXMuanMKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vc2NyaXB0LXRlc3RzL2FyZ3VtZW50LXR5cGVzLmpz
CkBAIC00MCw3ICs0MCw4IEBAIHRlc3QoJ25hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50
UG9zaXRpb24obnVsbCknLCB0cnVlKTsKIHRlc3QoJ25hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRD
dXJyZW50UG9zaXRpb24oe30pJywgdHJ1ZSk7CiB0ZXN0KCduYXZpZ2F0b3IuZ2VvbG9jYXRpb24u
Z2V0Q3VycmVudFBvc2l0aW9uKG9iamVjdFRocm93aW5nRXhjZXB0aW9uKScsIHRydWUpOwogdGVz
dCgnbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihlbXB0eUZ1bmN0aW9u
KScsIGZhbHNlKTsKLS8vdGVzdCgnbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3Np
dGlvbihNYXRoLmFicyknLCBmYWxzZSk7Cit0ZXN0KCduYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0
Q3VycmVudFBvc2l0aW9uKE1hdGguYWJzKScsIGZhbHNlKTsKK3Rlc3QoJ25hdmlnYXRvci5nZW9s
b2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24obGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0R2VvbG9j
YXRpb25QZXJtaXNzaW9uKScsIGZhbHNlKTsKIHRlc3QoJ25hdmlnYXRvci5nZW9sb2NhdGlvbi5n
ZXRDdXJyZW50UG9zaXRpb24odHJ1ZSknLCB0cnVlKTsKIHRlc3QoJ25hdmlnYXRvci5nZW9sb2Nh
dGlvbi5nZXRDdXJyZW50UG9zaXRpb24oNDIpJywgdHJ1ZSk7CiB0ZXN0KCduYXZpZ2F0b3IuZ2Vv
bG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKEluZmluaXR5KScsIHRydWUpOwpAQCAtNTIsNyAr
NTMsOCBAQCB0ZXN0KCduYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKGVt
cHR5RnVuY3Rpb24sIG51bGwpJywgZmFsc2UpOwogdGVzdCgnbmF2aWdhdG9yLmdlb2xvY2F0aW9u
LmdldEN1cnJlbnRQb3NpdGlvbihlbXB0eUZ1bmN0aW9uLCB7fSknLCB0cnVlKTsKIHRlc3QoJ25h
dmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZW1wdHlGdW5jdGlvbiwgb2Jq
ZWN0VGhyb3dpbmdFeGNlcHRpb24pJywgdHJ1ZSk7CiB0ZXN0KCduYXZpZ2F0b3IuZ2VvbG9jYXRp
b24uZ2V0Q3VycmVudFBvc2l0aW9uKGVtcHR5RnVuY3Rpb24sIGVtcHR5RnVuY3Rpb24pJywgZmFs
c2UpOwotLy90ZXN0KCduYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKGVt
cHR5RnVuY3Rpb24sIE1hdGguYWJzKScsIGZhbHNlKTsKK3Rlc3QoJ25hdmlnYXRvci5nZW9sb2Nh
dGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZW1wdHlGdW5jdGlvbiwgTWF0aC5hYnMpJywgZmFsc2Up
OwordGVzdCgnbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihlbXB0eUZ1
bmN0aW9uLCBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRHZW9sb2NhdGlvblBlcm1pc3Npb24pJywg
ZmFsc2UpOwogdGVzdCgnbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihl
bXB0eUZ1bmN0aW9uLCB0cnVlKScsIHRydWUpOwogdGVzdCgnbmF2aWdhdG9yLmdlb2xvY2F0aW9u
LmdldEN1cnJlbnRQb3NpdGlvbihlbXB0eUZ1bmN0aW9uLCA0MiknLCB0cnVlKTsKIHRlc3QoJ25h
dmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZW1wdHlGdW5jdGlvbiwgSW5m
aW5pdHkpJywgdHJ1ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTMwOWFiNzhhNGYyYTJmMDk4ZDUxYTVlY2Rj
YjQwYjgwNWE0ZTBlMi4uMWVmYmZiODRjOGZjMjVjNWQzN2EzYWU1NTk3OWM1MWQwODgyYjE5NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDExLTA0LTExICBTdGV2ZSBCbG9jayAgPHN0
ZXZlYmxvY2tAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBDYWxsYWJsZSBvYmplY3RzIGNyZWF0ZWQgdmlhIEphdmFTY3JpcHRDb3Jl
IEFQSSBjYW5ub3QgYmUgdXNlZCBhcyBHZW9sb2NhdGlvbiBjYWxsYmFja3MKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwMDEyCisKKyAgICAgICAgQ292
ZXJlZCBieSBmYXN0L2RvbS9HZW9sb2NhdGlvbi9hcmd1bWVudC10eXBlcy5odG1sCisKKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9DYWxsYmFja0Z1bmN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OmNoZWNrRnVuY3Rpb25Pbmx5Q2FsbGJhY2spOgorCiAyMDExLTA0LTA2ICBYaWFvbWVpIEppICA8
eGppQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWxsYmFja0Z1bmN0aW9uLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhbGxiYWNrRnVuY3Rpb24uY3BwCmluZGV4
IDIzZWI0N2M5MDkxYjg2NWMyOWRjNDU2MWVkMGUzYmM1Y2ZmYTY0MWQuLjE0NWQwNTU2YmRmNjk0
OTUxZjc2ZmZmOThjMjcwOTMzNGEzMmM5OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0NhbGxiYWNrRnVuY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0NhbGxiYWNrRnVuY3Rpb24uY3BwCkBAIC0yNyw3ICsyNyw3IEBACiAKICNpbmNsdWRl
ICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCi0jaW5jbHVkZSA8
cnVudGltZS9KU0Z1bmN0aW9uLmg+CisjaW5jbHVkZSA8cnVudGltZS9DYWxsRGF0YS5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM5LDkgKzM5LDggQEAgYm9vbCBjaGVja0Z1bmN0aW9u
T25seUNhbGxiYWNrKEpTQzo6RXhlY1N0YXRlKiBleGVjLCBKU0M6OkpTVmFsdWUgdmFsdWUsIENh
bGxiYWMKICAgICBpZiAodmFsdWUuaXNOdWxsKCkgJiYgKGFjY2VwdGVkVmFsdWVzICYgQ2FsbGJh
Y2tBbGxvd051bGwpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAvLyBGSVhNRTogZGlz
YWxsb3dzIGNhbGxhYmxlIG9iamVjdHMgY3JlYXRlZCB2aWEgSlNDIEFQSS4gSXQncyBub3QgY2xl
YXIgd2hhdCBleGFjdGx5IHRoZSBzcGVjaWZpY2F0aW9uIGludGVuZHMgdG8gYWxsb3cuCi0gICAg
Ly8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwMDEyCi0gICAgaWYg
KCF2YWx1ZS5pbmhlcml0cygmSlNDOjpKU0Z1bmN0aW9uOjpzX2luZm8pKSB7CisgICAgSlNDOjpD
YWxsRGF0YSBjYWxsRGF0YTsKKyAgICBpZiAoZ2V0Q2FsbERhdGEodmFsdWUsIGNhbGxEYXRhKSA9
PSBKU0M6OkNhbGxUeXBlTm9uZSkgewogICAgICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgVFlQ
RV9NSVNNQVRDSF9FUlIpOwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>