<?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>112085</bug_id>
          
          <creation_ts>2013-03-11 18:00:21 -0700</creation_ts>
          <short_desc>Refactoring: Pull Node::disabled() and Node::isInert() down to Element.</short_desc>
          <delta_ts>2021-05-24 07:27:56 -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>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>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=110952</see_also>
          <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>112134</dependson>
    
    <dependson>112767</dependson>
    
    <dependson>112993</dependson>
          <blocked>84635</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Hajime Morrita">morrita</reporter>
          <assigned_to name="Matt Falkenhagen">falken</assigned_to>
          <cc>buildbot</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>eric</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>falken</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>rniwa</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>852929</commentid>
    <comment_count>0</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-03-11 18:00:21 -0700</bug_when>
    <thetext>Suggested at https://bugs.webkit.org/show_bug.cgi?id=110952#c16.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853223</commentid>
    <comment_count>1</comment_count>
      <attachid>192677</attachid>
    <who name="Matt Falkenhagen">falken</who>
    <bug_when>2013-03-12 02:22:41 -0700</bug_when>
    <thetext>Created attachment 192677
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853242</commentid>
    <comment_count>2</comment_count>
      <attachid>192677</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-03-12 02:46:08 -0700</bug_when>
    <thetext>Comment on attachment 192677
Patch

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

&gt; Source/WebCore/dom/Node.h:668
&gt;  

Don&apos;t you need to remove isInert() declaration?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853258</commentid>
    <comment_count>3</comment_count>
      <attachid>192689</attachid>
    <who name="Matt Falkenhagen">falken</who>
    <bug_when>2013-03-12 02:57:43 -0700</bug_when>
    <thetext>Created attachment 192689
actually remove isInert</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853312</commentid>
    <comment_count>4</comment_count>
      <attachid>192689</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-12 04:15:15 -0700</bug_when>
    <thetext>Comment on attachment 192689
actually remove isInert

Clearing flags on attachment: 192689

Committed r145514: &lt;http://trac.webkit.org/changeset/145514&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853313</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-12 04:15:18 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853340</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-12 04:37:42 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 112134</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853674</commentid>
    <comment_count>7</comment_count>
      <attachid>192689</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-12 11:40:48 -0700</bug_when>
    <thetext>Comment on attachment 192689
actually remove isInert

Attachment 192689 did not pass mac-ews (mac):
Output: http://webkit-commit-queue.appspot.com/results/17115356</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853702</commentid>
    <comment_count>8</comment_count>
      <attachid>192689</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-12 12:41:34 -0700</bug_when>
    <thetext>Comment on attachment 192689
actually remove isInert

Attachment 192689 did not pass mac-ews (mac):
Output: http://webkit-commit-queue.appspot.com/results/17183114</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853703</commentid>
    <comment_count>9</comment_count>
      <attachid>192689</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-12 12:41:56 -0700</bug_when>
    <thetext>Comment on attachment 192689
actually remove isInert

Attachment 192689 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-commit-queue.appspot.com/results/17074335</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854009</commentid>
    <comment_count>10</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-03-12 19:20:59 -0700</bug_when>
    <thetext>I still don’t think that “disabled” makes sense for all elements; it’s really a form control element concept, but maybe you could convince me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854062</commentid>
    <comment_count>11</comment_count>
    <who name="Matt Falkenhagen">falken</who>
    <bug_when>2013-03-12 22:20:06 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; I still don’t think that “disabled” makes sense for all elements; it’s really a form control element concept, but maybe you could convince me.

Ah I thought it might be used for more than form control elements, but I think you&apos;re right. If so, the work I intended for future patches to separate disabled from inertness may be simpler than I imagined. I&apos;ll give it a try in one patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860845</commentid>
    <comment_count>12</comment_count>
    <who name="Matt Falkenhagen">falken</who>
    <bug_when>2013-03-21 16:17:21 -0700</bug_when>
    <thetext>One issue with moving disabled to HTMLFormControlElement is that HTMLOptGroupElement, HTMLOptionElement, SliderThumbElement, and SpinButtonElement override Node::disabled() and are not HTMLFormControlElements.

I think Element::isEnabledFormControl and Node::disabled can be refactored to be the same function. isEnabledFormControl simply returns !disabled() except for SliderThumbElement and SpinButtonElement, where isEnabledFormControl() of the host is returned.

I thought the two functions might be used to distinguish between readonly and disabled. But it looks redundant.

For &lt;input type=&quot;number&quot; disabled&gt;:
SpinButtonElement: disabled is false, isEnabledFormControl is false
SpinButtonElement&apos;s shadow host: disabled is true, isEnabledFormControl is false

For &lt;input type=&quot;number&quot; readonly&gt;:
SpinButtonElement: disabled is false, isEnabledFormControl is true
SpinButtonElement&apos;s shadow host: disabled is false, isEnabledFormControl is true

The readonly case is just the same as the default, enabled case. Unless I&apos;ve missed a case, there are just two states. So probably we can just use one function, provided that the shadow host of a SpinButtonElement is never a SliderThumbElement or SpinButtonElement, and that there no reason we can&apos;t have disabled be true (maybe for event handling?). SliderThumbElement is the same.

I&apos;m not sure the name isEnabledFormControl() is best. It returns true for elements that are not form controls. I think I&apos;ll refactor them into a function Element::isDisabledFormControl().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861745</commentid>
    <comment_count>13</comment_count>
    <who name="Matt Falkenhagen">falken</who>
    <bug_when>2013-03-22 12:12:56 -0700</bug_when>
    <thetext>Here is my plan:

1. Move Node::disabled and Node::isInert to Element.
2. Remove Element::isEnabledFormControl, by calling Element::disabled instead (this is possible after bug 112993).
3. Rename Element::disabled to Element::isDisabledFormControl.

Does that sound OK? I&apos;ll do (1) in one patch and (2) and (3) in another patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861835</commentid>
    <comment_count>14</comment_count>
      <attachid>194629</attachid>
    <who name="Matt Falkenhagen">falken</who>
    <bug_when>2013-03-22 14:15:13 -0700</bug_when>
    <thetext>Created attachment 194629
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>862461</commentid>
    <comment_count>15</comment_count>
      <attachid>194629</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-03-24 18:43:28 -0700</bug_when>
    <thetext>Comment on attachment 194629
Patch

Feels like we could have isDisabledElement(Node*) in Element.h. Having isElementNode() check makes the code a bit noisy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>862481</commentid>
    <comment_count>16</comment_count>
    <who name="Matt Falkenhagen">falken</who>
    <bug_when>2013-03-24 19:58:14 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; (From update of attachment 194629 [details])
&gt; Feels like we could have isDisabledElement(Node*) in Element.h. Having isElementNode() check makes the code a bit noisy.

Thanks. Hm, the problem is that I plan to rename Element::disabled() to Element::isDisabledFormControl() in the next patch, so isDisabledElement(Node*) might be a confusing name. Or maybe it&apos;s ok. I&apos;ll try it in or after the next patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>862491</commentid>
    <comment_count>17</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-03-24 20:16:33 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; Thanks. Hm, the problem is that I plan to rename Element::disabled() to Element::isDisabledFormControl() in the next patch, so isDisabledElement(Node*) might be a confusing name. Or maybe it&apos;s ok. I&apos;ll try it in or after the next patch.
Okay, isDisabledFormControl(Node*) will be sufficient. 
And making that change is another patch sounds fine to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>862515</commentid>
    <comment_count>18</comment_count>
      <attachid>194629</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-24 22:01:07 -0700</bug_when>
    <thetext>Comment on attachment 194629
Patch

Clearing flags on attachment: 194629

Committed r146744: &lt;http://trac.webkit.org/changeset/146744&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>862516</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-24 22:01:12 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>192677</attachid>
            <date>2013-03-12 02:22:41 -0700</date>
            <delta_ts>2013-03-12 02:57:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112085-20130312181840.patch</filename>
            <type>text/plain</type>
            <size>8674</size>
            <attacher name="Matt Falkenhagen">falken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1MzY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzljMmUwYmU5YWYzMjVk
NTg4ZTYwNzRiNmZjZGE2MmNkY2YxNDdjMi4uNzJlOGYyNzk4ZDcxNjUyMWRmYWM0NDA5NzI2ZDMw
YWViNzQxMzE3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEzLTAzLTEyICBNYXR0
IEZhbGtlbmhhZ2VuICA8ZmFsa2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZWZhY3Rvcmlu
ZzogUHVsbCBOb2RlOjpkaXNhYmxlZCgpIGFuZCBOb2RlOjppc0luZXJ0KCkgZG93biB0byBFbGVt
ZW50LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEy
MDg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm9k
ZSBpcyB0b28gbG93IGEgbGV2ZWwgZm9yIHRoZXNlIG1ldGhvZHMuCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzLCBqdXN0IHJlZmFjdG9yaW5nLgorCisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6ZGlzYWJsZWQpOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50Ojppc0luZXJ0KToKKyAgICAgICAgKiBkb20vRWxl
bWVudC5oOgorICAgICAgICAoRWxlbWVudCk6CisgICAgICAgICogZG9tL0V2ZW50RGlzcGF0Y2hl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudERpc3BhdGNoZXI6OmRpc3BhdGNoU2ltdWxh
dGVkQ2xpY2spOgorICAgICAgICAqIGRvbS9HZXN0dXJlRXZlbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6R2VzdHVyZUV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudCk6CisgICAg
ICAgICogZG9tL01vdXNlRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW91c2VFdmVudERp
c3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQpOgorICAgICAgICAqIGRvbS9Ob2RlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OmhhbmRsZUxvY2FsRXZlbnRzKToKKyAgICAgICAgKFdl
YkNvcmU6Ok5vZGU6OndpbGxSZXNwb25kVG9Nb3VzZU1vdmVFdmVudHMpOgorICAgICAgICAoV2Vi
Q29yZTo6Tm9kZTo6d2lsbFJlc3BvbmRUb01vdXNlQ2xpY2tFdmVudHMpOgorICAgICAgICAoV2Vi
Q29yZTo6Tm9kZTo6d2lsbFJlc3BvbmRUb1RvdWNoRXZlbnRzKToKKyAgICAgICAgKiBkb20vTm9k
ZS5oOgorICAgICAgICAoTm9kZSk6CisKIDIwMTMtMDMtMTEgIEFsYmVydG8gR2FyY2lhICA8YWdh
cmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtCbGFja0JlcnJ5XSBHcmFwaGljc0xheWVyOiBy
ZW5hbWUgbm90aWZ5U3luY1JlcXVpcmVkIHRvIG5vdGlmeUZsdXNoUmVxdWlyZWQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
bGVtZW50LmNwcAppbmRleCA5NTMxODU1ZWVlMGZjNWNlODJkMmNmNWEzMzU4NmIzNzE5ZTE3Mzlh
Li5mOTdmYzc1ZDExMjMzMzc0ZjM3YTc0YjExMjhmZWIzYjQ5ZjVmMGEzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0Vs
ZW1lbnQuY3BwCkBAIC0xMTUyLDYgKzExNTIsMjUgQEAgdm9pZCBFbGVtZW50OjpzZXRDaGFuZ2Vk
U2luY2VMYXN0Rm9ybUNvbnRyb2xDaGFuZ2VFdmVudChib29sKQogewogfQogCitib29sIEVsZW1l
bnQ6OmRpc2FibGVkKCkgY29uc3QKK3sKKyNpZiBFTkFCTEUoRElBTE9HX0VMRU1FTlQpCisgICAg
Ly8gRklYTUU6IGRpc2FibGVkIGFuZCBpbmVydCBhcmUgc2VwYXJhdGUgY29uY2VwdHMgaW4gdGhl
IHNwZWMsIGJ1dCBub3cgd2UgdHJlYXQgdGhlbSBhcyB0aGUgc2FtZS4KKyAgICAvLyBGb3IgZXhh
bXBsZSwgYW4gaW5lcnQsIG5vbi1kaXNhYmxlZCBmb3JtIGNvbnRyb2wgc2hvdWxkIG5vdCBiZSBn
cmF5ZWQgb3V0LgorICAgIGlmIChpc0luZXJ0KCkpCisgICAgICAgIHJldHVybiB0cnVlOworI2Vu
ZGlmCisgICAgcmV0dXJuIGZhbHNlOworfQorCisjaWYgRU5BQkxFKERJQUxPR19FTEVNRU5UKQor
Ym9vbCBFbGVtZW50Ojppc0luZXJ0KCkgY29uc3QKK3sKKyAgICBFbGVtZW50KiBkaWFsb2cgPSBk
b2N1bWVudCgpLT5hY3RpdmVNb2RhbERpYWxvZygpOworICAgIHJldHVybiBkaWFsb2cgJiYgIWNv
bnRhaW5zSW5jbHVkaW5nU2hhZG93RE9NKGRpYWxvZykgJiYgIWRpYWxvZy0+Y29udGFpbnNJbmNs
dWRpbmdTaGFkb3dET00odGhpcyk7Cit9CisjZW5kaWYKKwogTm9kZTo6SW5zZXJ0aW9uTm90aWZp
Y2F0aW9uUmVxdWVzdCBFbGVtZW50OjppbnNlcnRlZEludG8oQ29udGFpbmVyTm9kZSogaW5zZXJ0
aW9uUG9pbnQpCiB7CiAgICAgLy8gbmVlZCB0byBkbyBzdXBlcmNsYXNzIHByb2Nlc3NpbmcgZmly
c3Qgc28gaW5Eb2N1bWVudCgpIGlzIHRydWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCmluZGV4IDQ5ODhiMWQ3
N2RkZGU0ZTQzMGY3YjU1M2M0ZTYzMmNkZGQwNWYzYmUuLjgxMDI5NTZiZTE2YTBkNmI0MjFhMTk4
NjY5YzMwYWVkNmNlYjQyNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApAQCAtNTQ2LDYgKzU0NiwxNCBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldENoYW5nZWRTaW5jZUxhc3RGb3JtQ29udHJv
bENoYW5nZUV2ZW50KGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaEZvcm1Db250cm9s
Q2hhbmdlRXZlbnQoKSB7IH0KIAorICAgIC8vIFVzZWQgZm9yIGRpc2FibGVkIGZvcm0gZWxlbWVu
dHM7IGlmIHRydWUsIHByZXZlbnRzIG1vdXNlIGV2ZW50cyBmcm9tIGJlaW5nIGRpc3BhdGNoZWQK
KyAgICAvLyB0byBldmVudCBsaXN0ZW5lcnMsIGFuZCBwcmV2ZW50cyBET01BY3RpdmF0ZSBldmVu
dHMgZnJvbSBiZWluZyBzZW50IGF0IGFsbC4KKyAgICB2aXJ0dWFsIGJvb2wgZGlzYWJsZWQoKSBj
b25zdDsKKworI2lmIEVOQUJMRShESUFMT0dfRUxFTUVOVCkKKyAgICBib29sIGlzSW5lcnQoKSBj
b25zdDsKKyNlbmRpZgorCiAjaWYgRU5BQkxFKFNWRykKICAgICB2aXJ0dWFsIGJvb2wgY2hpbGRT
aG91bGRDcmVhdGVSZW5kZXJlcihjb25zdCBOb2RlUmVuZGVyaW5nQ29udGV4dCYpIGNvbnN0Owog
ICAgIGJvb2wgaGFzUGVuZGluZ1Jlc291cmNlcygpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnREaXNwYXRjaGVyLmNwcAppbmRleCBjMzNmMDZlY2I5YTUyNWMzMmIxMDliNWE5NTlhYWIwNWIy
ODQ4MjVmLi4xOTcwMGExNDVkOGNjMGQ0YTNjMzhhMmFiYjZhNTgzMzgwMzYwZDc1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnREaXNwYXRjaGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXZlbnREaXNwYXRjaGVyLmNwcApAQCAtNzksNyArNzksNyBAQCB2b2lkIEV2
ZW50RGlzcGF0Y2hlcjo6ZGlzcGF0Y2hTY29wZWRFdmVudChOb2RlKiBub2RlLCBQYXNzUmVmUHRy
PEV2ZW50RGlzcGF0Y2hNZQogCiB2b2lkIEV2ZW50RGlzcGF0Y2hlcjo6ZGlzcGF0Y2hTaW11bGF0
ZWRDbGljayhOb2RlKiBub2RlLCBFdmVudCogdW5kZXJseWluZ0V2ZW50LCBTaW11bGF0ZWRDbGlj
a01vdXNlRXZlbnRPcHRpb25zIG1vdXNlRXZlbnRPcHRpb25zLCBTaW11bGF0ZWRDbGlja1Zpc3Vh
bE9wdGlvbnMgdmlzdWFsT3B0aW9ucykKIHsKLSAgICBpZiAobm9kZS0+ZGlzYWJsZWQoKSkKKyAg
ICBpZiAobm9kZS0+aXNFbGVtZW50Tm9kZSgpICYmIHRvRWxlbWVudChub2RlKS0+ZGlzYWJsZWQo
KSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKCFnTm9kZXNEaXNwYXRjaGluZ1NpbXVsYXRl
ZENsaWNrcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9HZXN0dXJlRXZlbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvZG9tL0dlc3R1cmVFdmVudC5jcHAKaW5kZXggZTA2NzFmODlhYjEz
NDFlNmI4ZTVhYmQzOGFlMGYwMTE0NGMyMWE0My4uOThmMTUyN2I2MzU5ODVmY2E4ZmExMmFjOTRh
YjNkMzMyMmRkYTRhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0dlc3R1cmVFdmVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0dlc3R1cmVFdmVudC5jcHAKQEAgLTI5LDYg
KzI5LDcgQEAKIAogI2luY2x1ZGUgIkdlc3R1cmVFdmVudC5oIgogCisjaW5jbHVkZSAiRWxlbWVu
dC5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CkBAIC0xMTksNyArMTIwLDcgQEAgR2VzdHVyZUV2ZW50KiBHZXN0dXJlRXZlbnREaXNw
YXRjaE1lZGlhdG9yOjpldmVudCgpIGNvbnN0CiAKIGJvb2wgR2VzdHVyZUV2ZW50RGlzcGF0Y2hN
ZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudChFdmVudERpc3BhdGNoZXIqIGRpc3BhdGNoZXIpIGNvbnN0
CiB7Ci0gICAgaWYgKGRpc3BhdGNoZXItPm5vZGUoKS0+ZGlzYWJsZWQoKSkKKyAgICBpZiAoZGlz
cGF0Y2hlci0+bm9kZSgpLT5pc0VsZW1lbnROb2RlKCkgJiYgdG9FbGVtZW50KGRpc3BhdGNoZXIt
Pm5vZGUoKSktPmRpc2FibGVkKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgZGlzcGF0
Y2hlci0+ZGlzcGF0Y2goKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmNwcAppbmRleCAwMDBjN2Yz
NmQ2ZGE3MThkYWM0MTRmNTQ5YTJkYzM4NjkwNmUwNWYxLi4xMGYzOTI4MjkwMzUxYjAyY2FlMTNh
NDBiMGIxZmNmOTg2ZjZmMjY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTW91c2VF
dmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZlbnQuY3BwCkBAIC0zMDAs
NyArMzAwLDcgQEAgYm9vbCBNb3VzZUV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVu
dChFdmVudERpc3BhdGNoZXIqIGRpc3BhdGNoZXIpIGNvbnMKICAgICAgICAgcmV0dXJuIGRpc3Bh
dGNoZXItPmRpc3BhdGNoKCk7CiAgICAgfQogCi0gICAgaWYgKGRpc3BhdGNoZXItPm5vZGUoKS0+
ZGlzYWJsZWQoKSkgLy8gRG9uJ3QgZXZlbiBzZW5kIERPTSBldmVudHMgZm9yIGRpc2FibGVkIGNv
bnRyb2xzLi4KKyAgICBpZiAoZGlzcGF0Y2hlci0+bm9kZSgpLT5pc0VsZW1lbnROb2RlKCkgJiYg
dG9FbGVtZW50KGRpc3BhdGNoZXItPm5vZGUoKSktPmRpc2FibGVkKCkpIC8vIERvbid0IGV2ZW4g
c2VuZCBET00gZXZlbnRzIGZvciBkaXNhYmxlZCBjb250cm9scy4uCiAgICAgICAgIHJldHVybiBm
YWxzZTsKIAogICAgIGlmIChldmVudCgpLT50eXBlKCkuaXNFbXB0eSgpKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3Bw
CmluZGV4IDNjYjBlNmY3MjFkODc5MzQxZTZlYTg0Y2MzN2ZkMzIxZGRjZWI4NGQuLjVkNjAwZTU4
ZWFkMTY4YmUxNGI2ZmY3NDM4NTQwODI1YjhlMDQ0NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKQEAgLTkw
MiwxNCArOTAyLDYgQEAgTm9kZSogTm9kZTo6Zm9jdXNEZWxlZ2F0ZSgpCiAgICAgcmV0dXJuIHRo
aXM7CiB9CiAKLSNpZiBFTkFCTEUoRElBTE9HX0VMRU1FTlQpCi1ib29sIE5vZGU6OmlzSW5lcnQo
KSBjb25zdAotewotICAgIEVsZW1lbnQqIGRpYWxvZyA9IGRvY3VtZW50KCktPmFjdGl2ZU1vZGFs
RGlhbG9nKCk7Ci0gICAgcmV0dXJuIGRpYWxvZyAmJiAhY29udGFpbnNJbmNsdWRpbmdTaGFkb3dE
T00oZGlhbG9nKSAmJiAhZGlhbG9nLT5jb250YWluc0luY2x1ZGluZ1NoYWRvd0RPTSh0aGlzKTsK
LX0KLSNlbmRpZgotCiB1bnNpZ25lZCBOb2RlOjpub2RlSW5kZXgoKSBjb25zdAogewogICAgIE5v
ZGUgKl90ZW1wTm9kZSA9IHByZXZpb3VzU2libGluZygpOwpAQCAtMjMxMiw3ICsyMzA0LDcgQEAg
dm9pZCBOb2RlOjpoYW5kbGVMb2NhbEV2ZW50cyhFdmVudCogZXZlbnQpCiAgICAgaWYgKCFoYXNF
dmVudFRhcmdldERhdGEoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKGRpc2FibGVkKCkg
JiYgZXZlbnQtPmlzTW91c2VFdmVudCgpKQorICAgIGlmIChpc0VsZW1lbnROb2RlKCkgJiYgdG9F
bGVtZW50KHRoaXMpLT5kaXNhYmxlZCgpICYmIGV2ZW50LT5pc01vdXNlRXZlbnQoKSkKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgZmlyZUV2ZW50TGlzdGVuZXJzKGV2ZW50KTsKQEAgLTI0NTIsMTUg
KzI0NDQsNiBAQCB2b2lkIE5vZGU6OmRpc3BhdGNoSW5wdXRFdmVudCgpCiAgICAgZGlzcGF0Y2hT
Y29wZWRFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5pbnB1dEV2ZW50LCB0cnVlLCBm
YWxzZSkpOwogfQogCi1ib29sIE5vZGU6OmRpc2FibGVkKCkgY29uc3QKLXsKLSNpZiBFTkFCTEUo
RElBTE9HX0VMRU1FTlQpCi0gICAgaWYgKGlzSW5lcnQoKSkKLSAgICAgICAgcmV0dXJuIHRydWU7
Ci0jZW5kaWYKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KIHZvaWQgTm9kZTo6ZGVmYXVsdEV2ZW50
SGFuZGxlcihFdmVudCogZXZlbnQpCiB7CiAgICAgaWYgKGV2ZW50LT50YXJnZXQoKSAhPSB0aGlz
KQpAQCAtMjUyMCwxNCArMjUwMywxNCBAQCB2b2lkIE5vZGU6OmRlZmF1bHRFdmVudEhhbmRsZXIo
RXZlbnQqIGV2ZW50KQogCiBib29sIE5vZGU6OndpbGxSZXNwb25kVG9Nb3VzZU1vdmVFdmVudHMo
KQogewotICAgIGlmIChkaXNhYmxlZCgpKQorICAgIGlmIChpc0VsZW1lbnROb2RlKCkgJiYgdG9F
bGVtZW50KHRoaXMpLT5kaXNhYmxlZCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgcmV0
dXJuIGhhc0V2ZW50TGlzdGVuZXJzKGV2ZW50TmFtZXMoKS5tb3VzZW1vdmVFdmVudCkgfHwgaGFz
RXZlbnRMaXN0ZW5lcnMoZXZlbnROYW1lcygpLm1vdXNlb3ZlckV2ZW50KSB8fCBoYXNFdmVudExp
c3RlbmVycyhldmVudE5hbWVzKCkubW91c2VvdXRFdmVudCk7CiB9CiAKIGJvb2wgTm9kZTo6d2ls
bFJlc3BvbmRUb01vdXNlQ2xpY2tFdmVudHMoKQogewotICAgIGlmIChkaXNhYmxlZCgpKQorICAg
IGlmIChpc0VsZW1lbnROb2RlKCkgJiYgdG9FbGVtZW50KHRoaXMpLT5kaXNhYmxlZCgpKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgcmV0dXJuIGlzQ29udGVudEVkaXRhYmxlKFVzZXJTZWxl
Y3RBbGxJc0Fsd2F5c05vbkVkaXRhYmxlKSB8fCBoYXNFdmVudExpc3RlbmVycyhldmVudE5hbWVz
KCkubW91c2V1cEV2ZW50KSB8fCBoYXNFdmVudExpc3RlbmVycyhldmVudE5hbWVzKCkubW91c2Vk
b3duRXZlbnQpIHx8IGhhc0V2ZW50TGlzdGVuZXJzKGV2ZW50TmFtZXMoKS5jbGlja0V2ZW50KSB8
fCBoYXNFdmVudExpc3RlbmVycyhldmVudE5hbWVzKCkuRE9NQWN0aXZhdGVFdmVudCk7CiB9CkBA
IC0yNTM1LDcgKzI1MTgsNyBAQCBib29sIE5vZGU6OndpbGxSZXNwb25kVG9Nb3VzZUNsaWNrRXZl
bnRzKCkKIGJvb2wgTm9kZTo6d2lsbFJlc3BvbmRUb1RvdWNoRXZlbnRzKCkKIHsKICNpZiBFTkFC
TEUoVE9VQ0hfRVZFTlRTKQotICAgIGlmIChkaXNhYmxlZCgpKQorICAgIGlmIChpc0VsZW1lbnRO
b2RlKCkgJiYgdG9FbGVtZW50KHRoaXMpLT5kaXNhYmxlZCgpKQogICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgcmV0dXJuIGhhc0V2ZW50TGlzdGVuZXJzKGV2ZW50TmFtZXMoKS50b3VjaHN0YXJ0
RXZlbnQpIHx8IGhhc0V2ZW50TGlzdGVuZXJzKGV2ZW50TmFtZXMoKS50b3VjaG1vdmVFdmVudCkg
fHwgaGFzRXZlbnRMaXN0ZW5lcnMoZXZlbnROYW1lcygpLnRvdWNoY2FuY2VsRXZlbnQpIHx8IGhh
c0V2ZW50TGlzdGVuZXJzKGV2ZW50TmFtZXMoKS50b3VjaGVuZEV2ZW50KTsKICNlbHNlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL05v
ZGUuaAppbmRleCBiNDA3ODYzNTE2ZTE2YmE5MzExYjY5MmM3ODM5NGRiYTMyYjAyMjk3Li43MzE5
NWZlODQxNTc2Yjc3MDE0MzRiZWZhM2I1YjAwZjVmMjViYTlhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKQEAgLTY2
MywxMCArNjYzLDYgQEAgcHVibGljOgogICAgIC8vIFBlcmZvcm0gdGhlIGRlZmF1bHQgYWN0aW9u
IGZvciBhbiBldmVudC4KICAgICB2aXJ0dWFsIHZvaWQgZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVu
dCopOwogCi0gICAgLy8gVXNlZCBmb3IgZGlzYWJsZWQgZm9ybSBlbGVtZW50czsgaWYgdHJ1ZSwg
cHJldmVudHMgbW91c2UgZXZlbnRzIGZyb20gYmVpbmcgZGlzcGF0Y2hlZAotICAgIC8vIHRvIGV2
ZW50IGxpc3RlbmVycywgYW5kIHByZXZlbnRzIERPTUFjdGl2YXRlIGV2ZW50cyBmcm9tIGJlaW5n
IHNlbnQgYXQgYWxsLgotICAgIHZpcnR1YWwgYm9vbCBkaXNhYmxlZCgpIGNvbnN0OwotCiAgICAg
dXNpbmcgVHJlZVNoYXJlZDxOb2RlPjo6cmVmOwogICAgIHVzaW5nIFRyZWVTaGFyZWQ8Tm9kZT46
OmRlcmVmOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>192689</attachid>
            <date>2013-03-12 02:57:43 -0700</date>
            <delta_ts>2013-03-22 14:15:10 -0700</delta_ts>
            <desc>actually remove isInert</desc>
            <filename>bug-112085-20130312185341.patch</filename>
            <type>text/plain</type>
            <size>8975</size>
            <attacher name="Matt Falkenhagen">falken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1MzY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzljMmUwYmU5YWYzMjVk
NTg4ZTYwNzRiNmZjZGE2MmNkY2YxNDdjMi4uNzJlOGYyNzk4ZDcxNjUyMWRmYWM0NDA5NzI2ZDMw
YWViNzQxMzE3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEzLTAzLTEyICBNYXR0
IEZhbGtlbmhhZ2VuICA8ZmFsa2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZWZhY3Rvcmlu
ZzogUHVsbCBOb2RlOjpkaXNhYmxlZCgpIGFuZCBOb2RlOjppc0luZXJ0KCkgZG93biB0byBFbGVt
ZW50LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEy
MDg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm9k
ZSBpcyB0b28gbG93IGEgbGV2ZWwgZm9yIHRoZXNlIG1ldGhvZHMuCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzLCBqdXN0IHJlZmFjdG9yaW5nLgorCisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6ZGlzYWJsZWQpOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50Ojppc0luZXJ0KToKKyAgICAgICAgKiBkb20vRWxl
bWVudC5oOgorICAgICAgICAoRWxlbWVudCk6CisgICAgICAgICogZG9tL0V2ZW50RGlzcGF0Y2hl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudERpc3BhdGNoZXI6OmRpc3BhdGNoU2ltdWxh
dGVkQ2xpY2spOgorICAgICAgICAqIGRvbS9HZXN0dXJlRXZlbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6R2VzdHVyZUV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudCk6CisgICAg
ICAgICogZG9tL01vdXNlRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW91c2VFdmVudERp
c3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQpOgorICAgICAgICAqIGRvbS9Ob2RlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OmhhbmRsZUxvY2FsRXZlbnRzKToKKyAgICAgICAgKFdl
YkNvcmU6Ok5vZGU6OndpbGxSZXNwb25kVG9Nb3VzZU1vdmVFdmVudHMpOgorICAgICAgICAoV2Vi
Q29yZTo6Tm9kZTo6d2lsbFJlc3BvbmRUb01vdXNlQ2xpY2tFdmVudHMpOgorICAgICAgICAoV2Vi
Q29yZTo6Tm9kZTo6d2lsbFJlc3BvbmRUb1RvdWNoRXZlbnRzKToKKyAgICAgICAgKiBkb20vTm9k
ZS5oOgorICAgICAgICAoTm9kZSk6CisKIDIwMTMtMDMtMTEgIEFsYmVydG8gR2FyY2lhICA8YWdh
cmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtCbGFja0JlcnJ5XSBHcmFwaGljc0xheWVyOiBy
ZW5hbWUgbm90aWZ5U3luY1JlcXVpcmVkIHRvIG5vdGlmeUZsdXNoUmVxdWlyZWQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
bGVtZW50LmNwcAppbmRleCA5NTMxODU1ZWVlMGZjNWNlODJkMmNmNWEzMzU4NmIzNzE5ZTE3Mzlh
Li5mOTdmYzc1ZDExMjMzMzc0ZjM3YTc0YjExMjhmZWIzYjQ5ZjVmMGEzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0Vs
ZW1lbnQuY3BwCkBAIC0xMTUyLDYgKzExNTIsMjUgQEAgdm9pZCBFbGVtZW50OjpzZXRDaGFuZ2Vk
U2luY2VMYXN0Rm9ybUNvbnRyb2xDaGFuZ2VFdmVudChib29sKQogewogfQogCitib29sIEVsZW1l
bnQ6OmRpc2FibGVkKCkgY29uc3QKK3sKKyNpZiBFTkFCTEUoRElBTE9HX0VMRU1FTlQpCisgICAg
Ly8gRklYTUU6IGRpc2FibGVkIGFuZCBpbmVydCBhcmUgc2VwYXJhdGUgY29uY2VwdHMgaW4gdGhl
IHNwZWMsIGJ1dCBub3cgd2UgdHJlYXQgdGhlbSBhcyB0aGUgc2FtZS4KKyAgICAvLyBGb3IgZXhh
bXBsZSwgYW4gaW5lcnQsIG5vbi1kaXNhYmxlZCBmb3JtIGNvbnRyb2wgc2hvdWxkIG5vdCBiZSBn
cmF5ZWQgb3V0LgorICAgIGlmIChpc0luZXJ0KCkpCisgICAgICAgIHJldHVybiB0cnVlOworI2Vu
ZGlmCisgICAgcmV0dXJuIGZhbHNlOworfQorCisjaWYgRU5BQkxFKERJQUxPR19FTEVNRU5UKQor
Ym9vbCBFbGVtZW50Ojppc0luZXJ0KCkgY29uc3QKK3sKKyAgICBFbGVtZW50KiBkaWFsb2cgPSBk
b2N1bWVudCgpLT5hY3RpdmVNb2RhbERpYWxvZygpOworICAgIHJldHVybiBkaWFsb2cgJiYgIWNv
bnRhaW5zSW5jbHVkaW5nU2hhZG93RE9NKGRpYWxvZykgJiYgIWRpYWxvZy0+Y29udGFpbnNJbmNs
dWRpbmdTaGFkb3dET00odGhpcyk7Cit9CisjZW5kaWYKKwogTm9kZTo6SW5zZXJ0aW9uTm90aWZp
Y2F0aW9uUmVxdWVzdCBFbGVtZW50OjppbnNlcnRlZEludG8oQ29udGFpbmVyTm9kZSogaW5zZXJ0
aW9uUG9pbnQpCiB7CiAgICAgLy8gbmVlZCB0byBkbyBzdXBlcmNsYXNzIHByb2Nlc3NpbmcgZmly
c3Qgc28gaW5Eb2N1bWVudCgpIGlzIHRydWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCmluZGV4IDQ5ODhiMWQ3
N2RkZGU0ZTQzMGY3YjU1M2M0ZTYzMmNkZGQwNWYzYmUuLjgxMDI5NTZiZTE2YTBkNmI0MjFhMTk4
NjY5YzMwYWVkNmNlYjQyNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApAQCAtNTQ2LDYgKzU0NiwxNCBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldENoYW5nZWRTaW5jZUxhc3RGb3JtQ29udHJv
bENoYW5nZUV2ZW50KGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaEZvcm1Db250cm9s
Q2hhbmdlRXZlbnQoKSB7IH0KIAorICAgIC8vIFVzZWQgZm9yIGRpc2FibGVkIGZvcm0gZWxlbWVu
dHM7IGlmIHRydWUsIHByZXZlbnRzIG1vdXNlIGV2ZW50cyBmcm9tIGJlaW5nIGRpc3BhdGNoZWQK
KyAgICAvLyB0byBldmVudCBsaXN0ZW5lcnMsIGFuZCBwcmV2ZW50cyBET01BY3RpdmF0ZSBldmVu
dHMgZnJvbSBiZWluZyBzZW50IGF0IGFsbC4KKyAgICB2aXJ0dWFsIGJvb2wgZGlzYWJsZWQoKSBj
b25zdDsKKworI2lmIEVOQUJMRShESUFMT0dfRUxFTUVOVCkKKyAgICBib29sIGlzSW5lcnQoKSBj
b25zdDsKKyNlbmRpZgorCiAjaWYgRU5BQkxFKFNWRykKICAgICB2aXJ0dWFsIGJvb2wgY2hpbGRT
aG91bGRDcmVhdGVSZW5kZXJlcihjb25zdCBOb2RlUmVuZGVyaW5nQ29udGV4dCYpIGNvbnN0Owog
ICAgIGJvb2wgaGFzUGVuZGluZ1Jlc291cmNlcygpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnREaXNwYXRjaGVyLmNwcAppbmRleCBjMzNmMDZlY2I5YTUyNWMzMmIxMDliNWE5NTlhYWIwNWIy
ODQ4MjVmLi4xOTcwMGExNDVkOGNjMGQ0YTNjMzhhMmFiYjZhNTgzMzgwMzYwZDc1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnREaXNwYXRjaGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXZlbnREaXNwYXRjaGVyLmNwcApAQCAtNzksNyArNzksNyBAQCB2b2lkIEV2
ZW50RGlzcGF0Y2hlcjo6ZGlzcGF0Y2hTY29wZWRFdmVudChOb2RlKiBub2RlLCBQYXNzUmVmUHRy
PEV2ZW50RGlzcGF0Y2hNZQogCiB2b2lkIEV2ZW50RGlzcGF0Y2hlcjo6ZGlzcGF0Y2hTaW11bGF0
ZWRDbGljayhOb2RlKiBub2RlLCBFdmVudCogdW5kZXJseWluZ0V2ZW50LCBTaW11bGF0ZWRDbGlj
a01vdXNlRXZlbnRPcHRpb25zIG1vdXNlRXZlbnRPcHRpb25zLCBTaW11bGF0ZWRDbGlja1Zpc3Vh
bE9wdGlvbnMgdmlzdWFsT3B0aW9ucykKIHsKLSAgICBpZiAobm9kZS0+ZGlzYWJsZWQoKSkKKyAg
ICBpZiAobm9kZS0+aXNFbGVtZW50Tm9kZSgpICYmIHRvRWxlbWVudChub2RlKS0+ZGlzYWJsZWQo
KSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKCFnTm9kZXNEaXNwYXRjaGluZ1NpbXVsYXRl
ZENsaWNrcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9HZXN0dXJlRXZlbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvZG9tL0dlc3R1cmVFdmVudC5jcHAKaW5kZXggZTA2NzFmODlhYjEz
NDFlNmI4ZTVhYmQzOGFlMGYwMTE0NGMyMWE0My4uOThmMTUyN2I2MzU5ODVmY2E4ZmExMmFjOTRh
YjNkMzMyMmRkYTRhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0dlc3R1cmVFdmVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0dlc3R1cmVFdmVudC5jcHAKQEAgLTI5LDYg
KzI5LDcgQEAKIAogI2luY2x1ZGUgIkdlc3R1cmVFdmVudC5oIgogCisjaW5jbHVkZSAiRWxlbWVu
dC5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CkBAIC0xMTksNyArMTIwLDcgQEAgR2VzdHVyZUV2ZW50KiBHZXN0dXJlRXZlbnREaXNw
YXRjaE1lZGlhdG9yOjpldmVudCgpIGNvbnN0CiAKIGJvb2wgR2VzdHVyZUV2ZW50RGlzcGF0Y2hN
ZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudChFdmVudERpc3BhdGNoZXIqIGRpc3BhdGNoZXIpIGNvbnN0
CiB7Ci0gICAgaWYgKGRpc3BhdGNoZXItPm5vZGUoKS0+ZGlzYWJsZWQoKSkKKyAgICBpZiAoZGlz
cGF0Y2hlci0+bm9kZSgpLT5pc0VsZW1lbnROb2RlKCkgJiYgdG9FbGVtZW50KGRpc3BhdGNoZXIt
Pm5vZGUoKSktPmRpc2FibGVkKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgZGlzcGF0
Y2hlci0+ZGlzcGF0Y2goKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmNwcAppbmRleCAwMDBjN2Yz
NmQ2ZGE3MThkYWM0MTRmNTQ5YTJkYzM4NjkwNmUwNWYxLi4xMGYzOTI4MjkwMzUxYjAyY2FlMTNh
NDBiMGIxZmNmOTg2ZjZmMjY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTW91c2VF
dmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZlbnQuY3BwCkBAIC0zMDAs
NyArMzAwLDcgQEAgYm9vbCBNb3VzZUV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVu
dChFdmVudERpc3BhdGNoZXIqIGRpc3BhdGNoZXIpIGNvbnMKICAgICAgICAgcmV0dXJuIGRpc3Bh
dGNoZXItPmRpc3BhdGNoKCk7CiAgICAgfQogCi0gICAgaWYgKGRpc3BhdGNoZXItPm5vZGUoKS0+
ZGlzYWJsZWQoKSkgLy8gRG9uJ3QgZXZlbiBzZW5kIERPTSBldmVudHMgZm9yIGRpc2FibGVkIGNv
bnRyb2xzLi4KKyAgICBpZiAoZGlzcGF0Y2hlci0+bm9kZSgpLT5pc0VsZW1lbnROb2RlKCkgJiYg
dG9FbGVtZW50KGRpc3BhdGNoZXItPm5vZGUoKSktPmRpc2FibGVkKCkpIC8vIERvbid0IGV2ZW4g
c2VuZCBET00gZXZlbnRzIGZvciBkaXNhYmxlZCBjb250cm9scy4uCiAgICAgICAgIHJldHVybiBm
YWxzZTsKIAogICAgIGlmIChldmVudCgpLT50eXBlKCkuaXNFbXB0eSgpKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3Bw
CmluZGV4IDNjYjBlNmY3MjFkODc5MzQxZTZlYTg0Y2MzN2ZkMzIxZGRjZWI4NGQuLjVkNjAwZTU4
ZWFkMTY4YmUxNGI2ZmY3NDM4NTQwODI1YjhlMDQ0NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKQEAgLTkw
MiwxNCArOTAyLDYgQEAgTm9kZSogTm9kZTo6Zm9jdXNEZWxlZ2F0ZSgpCiAgICAgcmV0dXJuIHRo
aXM7CiB9CiAKLSNpZiBFTkFCTEUoRElBTE9HX0VMRU1FTlQpCi1ib29sIE5vZGU6OmlzSW5lcnQo
KSBjb25zdAotewotICAgIEVsZW1lbnQqIGRpYWxvZyA9IGRvY3VtZW50KCktPmFjdGl2ZU1vZGFs
RGlhbG9nKCk7Ci0gICAgcmV0dXJuIGRpYWxvZyAmJiAhY29udGFpbnNJbmNsdWRpbmdTaGFkb3dE
T00oZGlhbG9nKSAmJiAhZGlhbG9nLT5jb250YWluc0luY2x1ZGluZ1NoYWRvd0RPTSh0aGlzKTsK
LX0KLSNlbmRpZgotCiB1bnNpZ25lZCBOb2RlOjpub2RlSW5kZXgoKSBjb25zdAogewogICAgIE5v
ZGUgKl90ZW1wTm9kZSA9IHByZXZpb3VzU2libGluZygpOwpAQCAtMjMxMiw3ICsyMzA0LDcgQEAg
dm9pZCBOb2RlOjpoYW5kbGVMb2NhbEV2ZW50cyhFdmVudCogZXZlbnQpCiAgICAgaWYgKCFoYXNF
dmVudFRhcmdldERhdGEoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKGRpc2FibGVkKCkg
JiYgZXZlbnQtPmlzTW91c2VFdmVudCgpKQorICAgIGlmIChpc0VsZW1lbnROb2RlKCkgJiYgdG9F
bGVtZW50KHRoaXMpLT5kaXNhYmxlZCgpICYmIGV2ZW50LT5pc01vdXNlRXZlbnQoKSkKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgZmlyZUV2ZW50TGlzdGVuZXJzKGV2ZW50KTsKQEAgLTI0NTIsMTUg
KzI0NDQsNiBAQCB2b2lkIE5vZGU6OmRpc3BhdGNoSW5wdXRFdmVudCgpCiAgICAgZGlzcGF0Y2hT
Y29wZWRFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5pbnB1dEV2ZW50LCB0cnVlLCBm
YWxzZSkpOwogfQogCi1ib29sIE5vZGU6OmRpc2FibGVkKCkgY29uc3QKLXsKLSNpZiBFTkFCTEUo
RElBTE9HX0VMRU1FTlQpCi0gICAgaWYgKGlzSW5lcnQoKSkKLSAgICAgICAgcmV0dXJuIHRydWU7
Ci0jZW5kaWYKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KIHZvaWQgTm9kZTo6ZGVmYXVsdEV2ZW50
SGFuZGxlcihFdmVudCogZXZlbnQpCiB7CiAgICAgaWYgKGV2ZW50LT50YXJnZXQoKSAhPSB0aGlz
KQpAQCAtMjUyMCwxNCArMjUwMywxNCBAQCB2b2lkIE5vZGU6OmRlZmF1bHRFdmVudEhhbmRsZXIo
RXZlbnQqIGV2ZW50KQogCiBib29sIE5vZGU6OndpbGxSZXNwb25kVG9Nb3VzZU1vdmVFdmVudHMo
KQogewotICAgIGlmIChkaXNhYmxlZCgpKQorICAgIGlmIChpc0VsZW1lbnROb2RlKCkgJiYgdG9F
bGVtZW50KHRoaXMpLT5kaXNhYmxlZCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgcmV0
dXJuIGhhc0V2ZW50TGlzdGVuZXJzKGV2ZW50TmFtZXMoKS5tb3VzZW1vdmVFdmVudCkgfHwgaGFz
RXZlbnRMaXN0ZW5lcnMoZXZlbnROYW1lcygpLm1vdXNlb3ZlckV2ZW50KSB8fCBoYXNFdmVudExp
c3RlbmVycyhldmVudE5hbWVzKCkubW91c2VvdXRFdmVudCk7CiB9CiAKIGJvb2wgTm9kZTo6d2ls
bFJlc3BvbmRUb01vdXNlQ2xpY2tFdmVudHMoKQogewotICAgIGlmIChkaXNhYmxlZCgpKQorICAg
IGlmIChpc0VsZW1lbnROb2RlKCkgJiYgdG9FbGVtZW50KHRoaXMpLT5kaXNhYmxlZCgpKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgcmV0dXJuIGlzQ29udGVudEVkaXRhYmxlKFVzZXJTZWxl
Y3RBbGxJc0Fsd2F5c05vbkVkaXRhYmxlKSB8fCBoYXNFdmVudExpc3RlbmVycyhldmVudE5hbWVz
KCkubW91c2V1cEV2ZW50KSB8fCBoYXNFdmVudExpc3RlbmVycyhldmVudE5hbWVzKCkubW91c2Vk
b3duRXZlbnQpIHx8IGhhc0V2ZW50TGlzdGVuZXJzKGV2ZW50TmFtZXMoKS5jbGlja0V2ZW50KSB8
fCBoYXNFdmVudExpc3RlbmVycyhldmVudE5hbWVzKCkuRE9NQWN0aXZhdGVFdmVudCk7CiB9CkBA
IC0yNTM1LDcgKzI1MTgsNyBAQCBib29sIE5vZGU6OndpbGxSZXNwb25kVG9Nb3VzZUNsaWNrRXZl
bnRzKCkKIGJvb2wgTm9kZTo6d2lsbFJlc3BvbmRUb1RvdWNoRXZlbnRzKCkKIHsKICNpZiBFTkFC
TEUoVE9VQ0hfRVZFTlRTKQotICAgIGlmIChkaXNhYmxlZCgpKQorICAgIGlmIChpc0VsZW1lbnRO
b2RlKCkgJiYgdG9FbGVtZW50KHRoaXMpLT5kaXNhYmxlZCgpKQogICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgcmV0dXJuIGhhc0V2ZW50TGlzdGVuZXJzKGV2ZW50TmFtZXMoKS50b3VjaHN0YXJ0
RXZlbnQpIHx8IGhhc0V2ZW50TGlzdGVuZXJzKGV2ZW50TmFtZXMoKS50b3VjaG1vdmVFdmVudCkg
fHwgaGFzRXZlbnRMaXN0ZW5lcnMoZXZlbnROYW1lcygpLnRvdWNoY2FuY2VsRXZlbnQpIHx8IGhh
c0V2ZW50TGlzdGVuZXJzKGV2ZW50TmFtZXMoKS50b3VjaGVuZEV2ZW50KTsKICNlbHNlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL05v
ZGUuaAppbmRleCBiNDA3ODYzNTE2ZTE2YmE5MzExYjY5MmM3ODM5NGRiYTMyYjAyMjk3Li5mYjg3
NjI2Y2Y2MzI4YTRhYjQ0MmZmZmNjNGI3N2U2MGZmNzUzMjIwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKQEAgLTQx
NCwxMCArNDE0LDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc01vdXNlRm9jdXNhYmxl
KCkgY29uc3Q7CiAgICAgdmlydHVhbCBOb2RlKiBmb2N1c0RlbGVnYXRlKCk7CiAKLSNpZiBFTkFC
TEUoRElBTE9HX0VMRU1FTlQpCi0gICAgYm9vbCBpc0luZXJ0KCkgY29uc3Q7Ci0jZW5kaWYKLQog
ICAgIGVudW0gVXNlclNlbGVjdEFsbFRyZWF0bWVudCB7CiAgICAgICAgIFVzZXJTZWxlY3RBbGxE
b2VzTm90QWZmZWN0RWRpdGFiaWxpdHksCiAgICAgICAgIFVzZXJTZWxlY3RBbGxJc0Fsd2F5c05v
bkVkaXRhYmxlCkBAIC02NjMsMTAgKzY1OSw2IEBAIHB1YmxpYzoKICAgICAvLyBQZXJmb3JtIHRo
ZSBkZWZhdWx0IGFjdGlvbiBmb3IgYW4gZXZlbnQuCiAgICAgdmlydHVhbCB2b2lkIGRlZmF1bHRF
dmVudEhhbmRsZXIoRXZlbnQqKTsKIAotICAgIC8vIFVzZWQgZm9yIGRpc2FibGVkIGZvcm0gZWxl
bWVudHM7IGlmIHRydWUsIHByZXZlbnRzIG1vdXNlIGV2ZW50cyBmcm9tIGJlaW5nIGRpc3BhdGNo
ZWQKLSAgICAvLyB0byBldmVudCBsaXN0ZW5lcnMsIGFuZCBwcmV2ZW50cyBET01BY3RpdmF0ZSBl
dmVudHMgZnJvbSBiZWluZyBzZW50IGF0IGFsbC4KLSAgICB2aXJ0dWFsIGJvb2wgZGlzYWJsZWQo
KSBjb25zdDsKLQogICAgIHVzaW5nIFRyZWVTaGFyZWQ8Tm9kZT46OnJlZjsKICAgICB1c2luZyBU
cmVlU2hhcmVkPE5vZGU+OjpkZXJlZjsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>194629</attachid>
            <date>2013-03-22 14:15:13 -0700</date>
            <delta_ts>2013-03-24 22:01:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112085-20130323061100.patch</filename>
            <type>text/plain</type>
            <size>9706</size>
            <attacher name="Matt Falkenhagen">falken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2NjQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTE1N2NhMmVlZTcyOWRk
MTcyZTUzYTBkOTY1MzI1NDIyYzVhMjU2Ny4uMjYzMTU5ZDJmMjMyYWJkNDI3YmE2MTQ3NGVjMTJi
ZjU4NmJiZGE1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEzLTAzLTIyICBNYXR0
IEZhbGtlbmhhZ2VuICA8ZmFsa2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZWZhY3Rvcmlu
ZzogUHVsbCBOb2RlOjpkaXNhYmxlZCgpIGFuZCBOb2RlOjppc0luZXJ0KCkgZG93biB0byBFbGVt
ZW50LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEy
MDg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm9k
ZSBpcyB0b28gbG93IGEgbGV2ZWwgZm9yIHRoZXNlIG1ldGhvZHMuIFRoZSBwbGFuIGlzIHRvIHJl
bmFtZQorICAgICAgICBFbGVtZW50OjpkaXNhYmxlZCB0byBpc0Rpc2FibGVkRm9ybUNvbnRyb2wg
YW5kIHRvIHJlbW92ZQorICAgICAgICBFbGVtZW50Ojppc0VuYWJsZWRGb3JtQ29udHJvbC4KKwor
ICAgICAgICBObyBuZXcgdGVzdHMsIGp1c3QgcmVmYWN0b3JpbmcuCisKKyAgICAgICAgKiBkb20v
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpkaXNhYmxlZCk6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmlzSW5lcnQpOgorICAg
ICAgICAqIGRvbS9FbGVtZW50Lmg6CisgICAgICAgIChFbGVtZW50KToKKyAgICAgICAgKiBkb20v
RXZlbnREaXNwYXRjaGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50RGlzcGF0Y2hlcjo6
ZGlzcGF0Y2hTaW11bGF0ZWRDbGljayk6CisgICAgICAgICogZG9tL0dlc3R1cmVFdmVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpHZXN0dXJlRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRj
aEV2ZW50KToKKyAgICAgICAgKiBkb20vTW91c2VFdmVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpNb3VzZUV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudCk6CisgICAgICAgICog
ZG9tL05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6aGFuZGxlTG9jYWxFdmVudHMp
OgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6d2lsbFJlc3BvbmRUb01vdXNlTW92ZUV2ZW50cyk6
CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjp3aWxsUmVzcG9uZFRvTW91c2VDbGlja0V2ZW50cyk6
CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjp3aWxsUmVzcG9uZFRvVG91Y2hFdmVudHMpOgorICAg
ICAgICAqIGRvbS9Ob2RlLmg6CisgICAgICAgIChOb2RlKToKKwogMjAxMy0wMy0yMiAgS29uZGFw
YWxseSBLYWx5YW4gIDxrYWx5YW4ua29uZGFwYWxseUBpbnRlbC5jb20+CiAKICAgICAgICAgW0VG
TF0gRml4IGJ1aWxkIGlzc3VlcyB0byBlbmFibGUgQ1NTIEZpbHRlciBhbmQgU2hhZGVycyBzdXBw
b3J0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IDMyNTRlYzU0N2UxZTg2ZmI4NDRjNGVkYWUw
ZDhmN2QwZTEyZmRkMWIuLjczNmY0ZWRlNDA4NGNiNjAwZjA1ZmNkMWI2OTExM2JkZTg4MjEyZjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTExNzYsNiArMTE3NiwyNSBAQCB2b2lkIEVsZW1l
bnQ6OnNldENoYW5nZWRTaW5jZUxhc3RGb3JtQ29udHJvbENoYW5nZUV2ZW50KGJvb2wpCiB7CiB9
CiAKK2Jvb2wgRWxlbWVudDo6ZGlzYWJsZWQoKSBjb25zdAoreworI2lmIEVOQUJMRShESUFMT0df
RUxFTUVOVCkKKyAgICAvLyBGSVhNRTogZGlzYWJsZWQgYW5kIGluZXJ0IGFyZSBzZXBhcmF0ZSBj
b25jZXB0cyBpbiB0aGUgc3BlYywgYnV0IG5vdyB3ZSB0cmVhdCB0aGVtIGFzIHRoZSBzYW1lLgor
ICAgIC8vIEZvciBleGFtcGxlLCBhbiBpbmVydCwgbm9uLWRpc2FibGVkIGZvcm0gY29udHJvbCBz
aG91bGQgbm90IGJlIGdyYXllZCBvdXQuCisgICAgaWYgKGlzSW5lcnQoKSkKKyAgICAgICAgcmV0
dXJuIHRydWU7CisjZW5kaWYKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKKyNpZiBFTkFCTEUoRElB
TE9HX0VMRU1FTlQpCitib29sIEVsZW1lbnQ6OmlzSW5lcnQoKSBjb25zdAoreworICAgIEVsZW1l
bnQqIGRpYWxvZyA9IGRvY3VtZW50KCktPmFjdGl2ZU1vZGFsRGlhbG9nKCk7CisgICAgcmV0dXJu
IGRpYWxvZyAmJiAhY29udGFpbnNJbmNsdWRpbmdTaGFkb3dET00oZGlhbG9nKSAmJiAhZGlhbG9n
LT5jb250YWluc0luY2x1ZGluZ1NoYWRvd0RPTSh0aGlzKTsKK30KKyNlbmRpZgorCiBOb2RlOjpJ
bnNlcnRpb25Ob3RpZmljYXRpb25SZXF1ZXN0IEVsZW1lbnQ6Omluc2VydGVkSW50byhDb250YWlu
ZXJOb2RlKiBpbnNlcnRpb25Qb2ludCkKIHsKICAgICAvLyBuZWVkIHRvIGRvIHN1cGVyY2xhc3Mg
cHJvY2Vzc2luZyBmaXJzdCBzbyBpbkRvY3VtZW50KCkgaXMgdHJ1ZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgK
aW5kZXggZDA3Yzk1MTUzZDg1MjY2ZmUyNjJhNzQxOWM1Y2M4Mjc4MDA3NzU1NS4uZjQ4NzBkMGJk
ODI3ODYzNDEzYzExMDBlNmY2ZTRiNGQzOTBlZTMyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCkBAIC01
NTcsNiArNTU3LDE0IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q2hhbmdlZFNpbmNl
TGFzdEZvcm1Db250cm9sQ2hhbmdlRXZlbnQoYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIGRpc3Bh
dGNoRm9ybUNvbnRyb2xDaGFuZ2VFdmVudCgpIHsgfQogCisgICAgLy8gVXNlZCBmb3IgZGlzYWJs
ZWQgZm9ybSBlbGVtZW50czsgaWYgdHJ1ZSwgcHJldmVudHMgbW91c2UgZXZlbnRzIGZyb20gYmVp
bmcgZGlzcGF0Y2hlZAorICAgIC8vIHRvIGV2ZW50IGxpc3RlbmVycywgYW5kIHByZXZlbnRzIERP
TUFjdGl2YXRlIGV2ZW50cyBmcm9tIGJlaW5nIHNlbnQgYXQgYWxsLgorICAgIHZpcnR1YWwgYm9v
bCBkaXNhYmxlZCgpIGNvbnN0OworCisjaWYgRU5BQkxFKERJQUxPR19FTEVNRU5UKQorICAgIGJv
b2wgaXNJbmVydCgpIGNvbnN0OworI2VuZGlmCisKICNpZiBFTkFCTEUoU1ZHKQogICAgIHZpcnR1
YWwgYm9vbCBjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0IE5vZGVSZW5kZXJpbmdDb250
ZXh0JikgY29uc3Q7CiAgICAgYm9vbCBoYXNQZW5kaW5nUmVzb3VyY2VzKCkgY29uc3Q7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnREaXNwYXRjaGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FdmVudERpc3BhdGNoZXIuY3BwCmluZGV4IDBhMmMwZTc4ZjEwY2U5MTMxZWUw
MzkzZDliNGE5MTM1NmM2MWQxZWEuLmEyMWNmYjczMTAyNTlmZmFkNGQwYWE2ZGNjYjM1M2I5ZDhm
MDFjMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudERpc3BhdGNoZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudERpc3BhdGNoZXIuY3BwCkBAIC03OSw3ICs3
OSw3IEBAIHZvaWQgRXZlbnREaXNwYXRjaGVyOjpkaXNwYXRjaFNjb3BlZEV2ZW50KE5vZGUqIG5v
ZGUsIFBhc3NSZWZQdHI8RXZlbnREaXNwYXRjaE1lCiAKIHZvaWQgRXZlbnREaXNwYXRjaGVyOjpk
aXNwYXRjaFNpbXVsYXRlZENsaWNrKE5vZGUqIG5vZGUsIEV2ZW50KiB1bmRlcmx5aW5nRXZlbnQs
IFNpbXVsYXRlZENsaWNrTW91c2VFdmVudE9wdGlvbnMgbW91c2VFdmVudE9wdGlvbnMsIFNpbXVs
YXRlZENsaWNrVmlzdWFsT3B0aW9ucyB2aXN1YWxPcHRpb25zKQogewotICAgIGlmIChub2RlLT5k
aXNhYmxlZCgpKQorICAgIGlmIChub2RlLT5pc0VsZW1lbnROb2RlKCkgJiYgdG9FbGVtZW50KG5v
ZGUpLT5kaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAoIWdOb2Rlc0Rpc3Bh
dGNoaW5nU2ltdWxhdGVkQ2xpY2tzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0dl
c3R1cmVFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vR2VzdHVyZUV2ZW50LmNwcAppbmRl
eCA1NTQxYWM2YmZhYTdhMWUxN2NiYzhmYjVjOWJiNWNiYzM4YTkwY2M1Li4wMTU3NTVhNzkyZjhj
NDJhZjA1N2NlOTA5NzNhMDY4NWIwMzA0Nzg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vR2VzdHVyZUV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vR2VzdHVyZUV2ZW50
LmNwcApAQCAtMjksNiArMjksNyBAQAogCiAjaW5jbHVkZSAiR2VzdHVyZUV2ZW50LmgiCiAKKyNp
bmNsdWRlICJFbGVtZW50LmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTExOCw3ICsxMTksNyBAQCBHZXN0dXJlRXZlbnQqIEdl
c3R1cmVFdmVudERpc3BhdGNoTWVkaWF0b3I6OmV2ZW50KCkgY29uc3QKIAogYm9vbCBHZXN0dXJl
RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciogZGlz
cGF0Y2hlcikgY29uc3QKIHsKLSAgICBpZiAoZGlzcGF0Y2hlci0+bm9kZSgpLT5kaXNhYmxlZCgp
KQorICAgIGlmIChkaXNwYXRjaGVyLT5ub2RlKCktPmlzRWxlbWVudE5vZGUoKSAmJiB0b0VsZW1l
bnQoZGlzcGF0Y2hlci0+bm9kZSgpKS0+ZGlzYWJsZWQoKSkKICAgICAgICAgcmV0dXJuIHRydWU7
CiAKICAgICBkaXNwYXRjaGVyLT5kaXNwYXRjaCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL01vdXNlRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL01vdXNlRXZlbnQuY3Bw
CmluZGV4IDAwMGM3ZjM2ZDZkYTcxOGRhYzQxNGY1NDlhMmRjMzg2OTA2ZTA1ZjEuLjEwZjM5Mjgy
OTAzNTFiMDJjYWUxM2E0MGIwYjFmY2Y5ODZmNmYyNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Nb3VzZUV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTW91c2VFdmVu
dC5jcHAKQEAgLTMwMCw3ICszMDAsNyBAQCBib29sIE1vdXNlRXZlbnREaXNwYXRjaE1lZGlhdG9y
OjpkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciogZGlzcGF0Y2hlcikgY29ucwogICAgICAg
ICByZXR1cm4gZGlzcGF0Y2hlci0+ZGlzcGF0Y2goKTsKICAgICB9CiAKLSAgICBpZiAoZGlzcGF0
Y2hlci0+bm9kZSgpLT5kaXNhYmxlZCgpKSAvLyBEb24ndCBldmVuIHNlbmQgRE9NIGV2ZW50cyBm
b3IgZGlzYWJsZWQgY29udHJvbHMuLgorICAgIGlmIChkaXNwYXRjaGVyLT5ub2RlKCktPmlzRWxl
bWVudE5vZGUoKSAmJiB0b0VsZW1lbnQoZGlzcGF0Y2hlci0+bm9kZSgpKS0+ZGlzYWJsZWQoKSkg
Ly8gRG9uJ3QgZXZlbiBzZW5kIERPTSBldmVudHMgZm9yIGRpc2FibGVkIGNvbnRyb2xzLi4KICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgaWYgKGV2ZW50KCktPnR5cGUoKS5pc0VtcHR5KCkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vTm9kZS5jcHAKaW5kZXggZGViZGE0MWY2NzkxYTA2OGU0ZjBmMzllMDJlNmJkMDY0ZTk4
YzgyYS4uMDAxNGQ1NjFlM2E4NjgwM2Y0MTBmNTkxNzVjODY2Y2RjMjAxZDIyOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9O
b2RlLmNwcApAQCAtOTAzLDE0ICs5MDMsNiBAQCBOb2RlKiBOb2RlOjpmb2N1c0RlbGVnYXRlKCkK
ICAgICByZXR1cm4gdGhpczsKIH0KIAotI2lmIEVOQUJMRShESUFMT0dfRUxFTUVOVCkKLWJvb2wg
Tm9kZTo6aXNJbmVydCgpIGNvbnN0Ci17Ci0gICAgRWxlbWVudCogZGlhbG9nID0gZG9jdW1lbnQo
KS0+YWN0aXZlTW9kYWxEaWFsb2coKTsKLSAgICByZXR1cm4gZGlhbG9nICYmICFjb250YWluc0lu
Y2x1ZGluZ1NoYWRvd0RPTShkaWFsb2cpICYmICFkaWFsb2ctPmNvbnRhaW5zSW5jbHVkaW5nU2hh
ZG93RE9NKHRoaXMpOwotfQotI2VuZGlmCi0KIHVuc2lnbmVkIE5vZGU6Om5vZGVJbmRleCgpIGNv
bnN0CiB7CiAgICAgTm9kZSAqX3RlbXBOb2RlID0gcHJldmlvdXNTaWJsaW5nKCk7CkBAIC0yMzE4
LDcgKzIzMTAsNyBAQCB2b2lkIE5vZGU6OmhhbmRsZUxvY2FsRXZlbnRzKEV2ZW50KiBldmVudCkK
ICAgICBpZiAoIWhhc0V2ZW50VGFyZ2V0RGF0YSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBp
ZiAoZGlzYWJsZWQoKSAmJiBldmVudC0+aXNNb3VzZUV2ZW50KCkpCisgICAgaWYgKGlzRWxlbWVu
dE5vZGUoKSAmJiB0b0VsZW1lbnQodGhpcyktPmRpc2FibGVkKCkgJiYgZXZlbnQtPmlzTW91c2VF
dmVudCgpKQogICAgICAgICByZXR1cm47CiAKICAgICBmaXJlRXZlbnRMaXN0ZW5lcnMoZXZlbnQp
OwpAQCAtMjQ1OCwxNSArMjQ1MCw2IEBAIHZvaWQgTm9kZTo6ZGlzcGF0Y2hJbnB1dEV2ZW50KCkK
ICAgICBkaXNwYXRjaFNjb3BlZEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmlucHV0
RXZlbnQsIHRydWUsIGZhbHNlKSk7CiB9CiAKLWJvb2wgTm9kZTo6ZGlzYWJsZWQoKSBjb25zdAot
ewotI2lmIEVOQUJMRShESUFMT0dfRUxFTUVOVCkKLSAgICBpZiAoaXNJbmVydCgpKQotICAgICAg
ICByZXR1cm4gdHJ1ZTsKLSNlbmRpZgotICAgIHJldHVybiBmYWxzZTsKLX0KLQogdm9pZCBOb2Rl
OjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBldmVudCkKIHsKICAgICBpZiAoZXZlbnQtPnRh
cmdldCgpICE9IHRoaXMpCkBAIC0yNTI2LDE0ICsyNTA5LDE0IEBAIHZvaWQgTm9kZTo6ZGVmYXVs
dEV2ZW50SGFuZGxlcihFdmVudCogZXZlbnQpCiAKIGJvb2wgTm9kZTo6d2lsbFJlc3BvbmRUb01v
dXNlTW92ZUV2ZW50cygpCiB7Ci0gICAgaWYgKGRpc2FibGVkKCkpCisgICAgaWYgKGlzRWxlbWVu
dE5vZGUoKSAmJiB0b0VsZW1lbnQodGhpcyktPmRpc2FibGVkKCkpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICByZXR1cm4gaGFzRXZlbnRMaXN0ZW5lcnMoZXZlbnROYW1lcygpLm1vdXNlbW92
ZUV2ZW50KSB8fCBoYXNFdmVudExpc3RlbmVycyhldmVudE5hbWVzKCkubW91c2VvdmVyRXZlbnQp
IHx8IGhhc0V2ZW50TGlzdGVuZXJzKGV2ZW50TmFtZXMoKS5tb3VzZW91dEV2ZW50KTsKIH0KIAog
Ym9vbCBOb2RlOjp3aWxsUmVzcG9uZFRvTW91c2VDbGlja0V2ZW50cygpCiB7Ci0gICAgaWYgKGRp
c2FibGVkKCkpCisgICAgaWYgKGlzRWxlbWVudE5vZGUoKSAmJiB0b0VsZW1lbnQodGhpcyktPmRp
c2FibGVkKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICByZXR1cm4gaXNDb250ZW50RWRp
dGFibGUoVXNlclNlbGVjdEFsbElzQWx3YXlzTm9uRWRpdGFibGUpIHx8IGhhc0V2ZW50TGlzdGVu
ZXJzKGV2ZW50TmFtZXMoKS5tb3VzZXVwRXZlbnQpIHx8IGhhc0V2ZW50TGlzdGVuZXJzKGV2ZW50
TmFtZXMoKS5tb3VzZWRvd25FdmVudCkgfHwgaGFzRXZlbnRMaXN0ZW5lcnMoZXZlbnROYW1lcygp
LmNsaWNrRXZlbnQpIHx8IGhhc0V2ZW50TGlzdGVuZXJzKGV2ZW50TmFtZXMoKS5ET01BY3RpdmF0
ZUV2ZW50KTsKIH0KQEAgLTI1NDEsNyArMjUyNCw3IEBAIGJvb2wgTm9kZTo6d2lsbFJlc3BvbmRU
b01vdXNlQ2xpY2tFdmVudHMoKQogYm9vbCBOb2RlOjp3aWxsUmVzcG9uZFRvVG91Y2hFdmVudHMo
KQogewogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCi0gICAgaWYgKGRpc2FibGVkKCkpCisgICAg
aWYgKGlzRWxlbWVudE5vZGUoKSAmJiB0b0VsZW1lbnQodGhpcyktPmRpc2FibGVkKCkpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKICAgICByZXR1cm4gaGFzRXZlbnRMaXN0ZW5lcnMoZXZlbnROYW1l
cygpLnRvdWNoc3RhcnRFdmVudCkgfHwgaGFzRXZlbnRMaXN0ZW5lcnMoZXZlbnROYW1lcygpLnRv
dWNobW92ZUV2ZW50KSB8fCBoYXNFdmVudExpc3RlbmVycyhldmVudE5hbWVzKCkudG91Y2hjYW5j
ZWxFdmVudCkgfHwgaGFzRXZlbnRMaXN0ZW5lcnMoZXZlbnROYW1lcygpLnRvdWNoZW5kRXZlbnQp
OwogI2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vTm9kZS5oCmluZGV4IDhhNGE3MTg5ZTExMWIzM2Q2NDhiZGNhODg4ZjA2OTNj
ODBmOWQwYjMuLmUxOGY0YTJlZDQ5NWEyNGJlMjI0ZWNjMmViZTY2ZWRmN2U1ZWEyNjQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L05vZGUuaApAQCAtNDE2LDEwICs0MTYsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlz
TW91c2VGb2N1c2FibGUoKSBjb25zdDsKICAgICB2aXJ0dWFsIE5vZGUqIGZvY3VzRGVsZWdhdGUo
KTsKIAotI2lmIEVOQUJMRShESUFMT0dfRUxFTUVOVCkKLSAgICBib29sIGlzSW5lcnQoKSBjb25z
dDsKLSNlbmRpZgotCiAgICAgZW51bSBVc2VyU2VsZWN0QWxsVHJlYXRtZW50IHsKICAgICAgICAg
VXNlclNlbGVjdEFsbERvZXNOb3RBZmZlY3RFZGl0YWJpbGl0eSwKICAgICAgICAgVXNlclNlbGVj
dEFsbElzQWx3YXlzTm9uRWRpdGFibGUKQEAgLTY2NSwxMCArNjYxLDYgQEAgcHVibGljOgogICAg
IC8vIFBlcmZvcm0gdGhlIGRlZmF1bHQgYWN0aW9uIGZvciBhbiBldmVudC4KICAgICB2aXJ0dWFs
IHZvaWQgZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCopOwogCi0gICAgLy8gVXNlZCBmb3IgZGlz
YWJsZWQgZm9ybSBlbGVtZW50czsgaWYgdHJ1ZSwgcHJldmVudHMgbW91c2UgZXZlbnRzIGZyb20g
YmVpbmcgZGlzcGF0Y2hlZAotICAgIC8vIHRvIGV2ZW50IGxpc3RlbmVycywgYW5kIHByZXZlbnRz
IERPTUFjdGl2YXRlIGV2ZW50cyBmcm9tIGJlaW5nIHNlbnQgYXQgYWxsLgotICAgIHZpcnR1YWwg
Ym9vbCBkaXNhYmxlZCgpIGNvbnN0OwotCiAgICAgdXNpbmcgVHJlZVNoYXJlZDxOb2RlPjo6cmVm
OwogICAgIHVzaW5nIFRyZWVTaGFyZWQ8Tm9kZT46OmRlcmVmOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KaW5kZXggNGRiOWJiYmU0ODFmOTcyOWUwNTI0YWY2
MzA4ODE2ZmVlNzJlOWIzYS4uMWFjY2U1YTY2OGJjNmU0ZmU3M2YyMGVmMmMwY2I1NmY4YWFkNmQ1
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQpAQCAtMTM4
LDcgKzEzOCw3IEBAIHN0YXRpYyB1bnNpZ25lZCBnZXRNZWRpYVVJUGFydFN0YXRlRmxhZ3MoTm9k
ZSogbm9kZSkKIHsKICAgICB1bnNpZ25lZCBmbGFncyA9IDA7CiAKLSAgICBpZiAobm9kZS0+ZGlz
YWJsZWQoKSkKKyAgICBpZiAobm9kZS0+aXNFbGVtZW50Tm9kZSgpICYmIHRvRWxlbWVudChub2Rl
KS0+ZGlzYWJsZWQoKSkKICAgICAgICAgZmxhZ3MgfD0gTWVkaWFVSVBhcnREaXNhYmxlZEZsYWc7
CiAgICAgZWxzZSBpZiAobm9kZS0+YWN0aXZlKCkpCiAgICAgICAgIGZsYWdzIHw9IE1lZGlhVUlQ
YXJ0UHJlc3NlZEZsYWc7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>