<?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>82967</bug_id>
          
          <creation_ts>2012-04-02 16:22:12 -0700</creation_ts>
          <short_desc>Web Inspector: break on DOM node insertion only once per operation, not once per inserted node</short_desc>
          <delta_ts>2012-04-04 13:10:44 -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>Web Inspector (Deprecated)</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>
          
          <blocked>82631</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Klein">adamk</reporter>
          <assigned_to name="Adam Klein">adamk</assigned_to>
          <cc>loislo</cc>
    
    <cc>ojan</cc>
    
    <cc>pfeldman</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>593984</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Klein">adamk</who>
    <bug_when>2012-04-02 16:22:12 -0700</bug_when>
    <thetext>Web Inspector: break on DOM node insertion only once per operation, not once per inserted node</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593989</commentid>
    <comment_count>1</comment_count>
      <attachid>135221</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2012-04-02 16:32:35 -0700</bug_when>
    <thetext>Created attachment 135221
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>594025</commentid>
    <comment_count>2</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-04-02 16:53:16 -0700</bug_when>
    <thetext>Looks good to me. Leaving r? so the inspector folks have a chance to r-/r+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>594029</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Klein">adamk</who>
    <bug_when>2012-04-02 16:55:31 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Looks good to me. Leaving r? so the inspector folks have a chance to r-/r+.

Thanks. To inspector folks: I&apos;d especially appreciate suggestions on a test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595610</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Klein">adamk</who>
    <bug_when>2012-04-04 09:28:27 -0700</bug_when>
    <thetext>Can someone from the inspector side take a look at this? It&apos;s blocking me for moving forward with the DOM refactoring in bug 82631.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595629</commentid>
    <comment_count>5</comment_count>
      <attachid>135221</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-04-04 09:55:16 -0700</bug_when>
    <thetext>Comment on attachment 135221
Patch

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

&gt; Source/WebCore/ChangeLog:23
&gt; +        I tried to write a test for this in inspector/debugger/dom-breakpoints.html,

Your change looks good. The way I would test it is I would use a snippet like:

testNode.innerHTML = &quot;&lt;br&gt;&lt;br&gt;&quot;;
debugger;

And would test that I stop on the innerHTML = line first, then I would click continue and check that I stopped on the next line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595679</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Klein">adamk</who>
    <bug_when>2012-04-04 10:36:45 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 135221 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=135221&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:23
&gt; &gt; +        I tried to write a test for this in inspector/debugger/dom-breakpoints.html,
&gt; 
&gt; Your change looks good. The way I would test it is I would use a snippet like:
&gt; 
&gt; testNode.innerHTML = &quot;&lt;br&gt;&lt;br&gt;&quot;;
&gt; debugger;
&gt; 
&gt; And would test that I stop on the innerHTML = line first, then I would click continue and check that I stopped on the next line.

That test manually works fine, but coming up with the right set of incantations around evaluateInPageWithoutTimeout, resumeExecution, and waitUntilPaused is leaving me mystified with test timeouts. Will try in a standalone test...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595746</commentid>
    <comment_count>7</comment_count>
      <attachid>135639</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2012-04-04 11:27:42 -0700</bug_when>
    <thetext>Created attachment 135639
Patch with test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595758</commentid>
    <comment_count>8</comment_count>
      <attachid>135639</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-04-04 11:46:50 -0700</bug_when>
    <thetext>Comment on attachment 135639
Patch with test

Yay!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595761</commentid>
    <comment_count>9</comment_count>
      <attachid>135639</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-04-04 11:53:30 -0700</bug_when>
    <thetext>Comment on attachment 135639
Patch with test

Clearing cq+ while I am figuring out whether the test is actually right.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595765</commentid>
    <comment_count>10</comment_count>
      <attachid>135639</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-04-04 11:58:54 -0700</bug_when>
    <thetext>Comment on attachment 135639
Patch with test

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

False alarm, I think it is Ok. Thanks for fixing it, sorry for moving it back to the end of the cq!

&gt; LayoutTests/inspector/debugger/dom-breakpoints.html:55
&gt; +    debugger;

Oh, ok, you need it because of the runAfterPendingDispatches used in waitUntilPausedAndDumpStack.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595767</commentid>
    <comment_count>11</comment_count>
    <who name="Adam Klein">adamk</who>
    <bug_when>2012-04-04 12:01:28 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 135639 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=135639&amp;action=review
&gt; 
&gt; False alarm, I think it is Ok. Thanks for fixing it, sorry for moving it back to the end of the cq!
&gt; 
&gt; &gt; LayoutTests/inspector/debugger/dom-breakpoints.html:55
&gt; &gt; +    debugger;
&gt; 
&gt; Oh, ok, you need it because of the runAfterPendingDispatches used in waitUntilPausedAndDumpStack.

Thanks for double-checking, I wasn&apos;t sure which thing in that helper was messing me up, but I could tell something was.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595833</commentid>
    <comment_count>12</comment_count>
    <who name="Adam Klein">adamk</who>
    <bug_when>2012-04-04 13:10:44 -0700</bug_when>
    <thetext>Committed r113230: &lt;http://trac.webkit.org/changeset/113230&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135221</attachid>
            <date>2012-04-02 16:32:35 -0700</date>
            <delta_ts>2012-04-04 11:27:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82967-20120402163234.patch</filename>
            <type>text/plain</type>
            <size>9498</size>
            <attacher name="Adam Klein">adamk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyOTE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmM2YWViODExYTgyYjRj
NzIzZTBhNTQzZGYyYmFmN2I0NjVjYTgwZS4uY2VhOWQxYmM4OTVmMTQwMDA1NmFjOWU3OWFjMDM1
NzJmODBkZmEzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDEyLTA0LTAyICBBZGFt
IEtsZWluICA8YWRhbWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGJy
ZWFrIG9uIERPTSBub2RlIGluc2VydGlvbiBvbmx5IG9uY2UgcGVyIG9wZXJhdGlvbiwgbm90IG9u
Y2UgcGVyIGluc2VydGVkIG5vZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTgyOTY3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGhpcyBjaGFuZ2UgYWZmZWN0cyB0aGUgY2FzZSB3aGVyZSBhIERvY3VtZW50
RnJhZ21lbnQgaXMgaW5zZXJ0ZWQsCisgICAgICAgIHJhdGhlciB0aGFuIGEgc2luZ2xlIG5vZGUu
IFRoaXMgaXMgbW9zdCBjb21tb24gd2hlbiB1c2luZyBpbm5lckhUTUw6CisgICAgICAgIHRoZSBl
ZmZlY3Qgb2YgdGhlIGNoYW5nZSBpcyB0aGF0IGluc2VydGluZywgZS5nLiwgJzxpbnB1dD48aW5w
dXQ+JywKKyAgICAgICAgdGhlIFN1YnRyZWVNb2RpZmllZCBicmVha3BvaW50IHdpbGwgYmUgaGl0
IG9uY2UsIHJhdGhlciB0aGFuIHR3aWNlCisgICAgICAgIChvbmNlIGZvciBlYWNoIGlucHV0IGVs
ZW1lbnQpLiBHaXZlbiB0aGF0IHRoZSBwYXJ0aWN1bGFyIG5vZGUgYmVpbmcKKyAgICAgICAgaW5z
ZXJ0ZWQgd2Fzbid0IGV4cG9zZWQgYXMgcGFydCBvZiB0aGUgYnJlYWtwb2ludCwgdGhpcyBzZWVt
cyBzdHJpY3RseQorICAgICAgICBiZXR0ZXIuCisKKyAgICAgICAgTm93IHRoYXQgdGhlIGNhbGwg
dG8gd2lsbEluc2VydERPTU5vZGUgaXMgb3V0c2lkZSB0aGUgbG9vcCwgdGhlcmUncworICAgICAg
ICBub3QgYW4gb2J2aW91cyBub2RlIHRvIHBhc3MgaW4gYXMgdGhlIG5ldyBjaGlsZC4gTHVja2ls
eSwgSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudAorICAgICAgICBhbHJlYWR5IGlnbm9yZWQgdGhh
dCBhcmd1bWVudCwgc28gaXQncyBzaW1wbHkgYmVlbiByZW1vdmVkIGZyb20gdGhlIHNpZ25hdHVy
ZS4KKworICAgICAgICBUaGlzIGNoYW5nZXMgcGF2ZXMgdGhlIHdheSB0byBkbyBvbmx5IHRyZWUt
bW9kaWZpY2F0aW9uIHdvcmssIGFuZCBubworICAgICAgICBleHRlcm5hbCBub3RpZmljYXRpb25z
LCBpbnNpZGUgdGhlIGxvb3BzIGluIGFwcGVuZENoaWxkL2luc2VydEJlZm9yZS9yZXBsYWNlQ2hp
bGQuCisKKyAgICAgICAgSSB0cmllZCB0byB3cml0ZSBhIHRlc3QgZm9yIHRoaXMgaW4gaW5zcGVj
dG9yL2RlYnVnZ2VyL2RvbS1icmVha3BvaW50cy5odG1sLAorICAgICAgICBidXQgaGFkIHRyb3Vi
bGUgb3V0IGhvdyB0byBkaXN0aW5ndWlzaGluZyBiZXR3ZWVuIGJyZWFraW5nIG9uY2Ugb3IgTiB0
aW1lcy4KKyAgICAgICAgSXQgc2hvdWxkIGJlIHBvc3NpYmxlLCBidXQgcmVxdWlyZXMgZ3JlYXRl
ciB1bmRlcnN0YW5kaW5nIG9mIHdoYXQncworICAgICAgICBhdmFpbGFibGUgaW4gdGhlIEluc3Bl
Y3RvclRlc3QgaGFybmVzcyB0aGFuIEkgY3VycmVudGx5IHBvc3Nlc3MuCisKKyAgICAgICAgKiBk
b20vQ29udGFpbmVyTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb250YWluZXJOb2RlOjpp
bnNlcnRCZWZvcmUpOiBIb2lzdGVkIGNhbGwgdG8gd2lsbEluc2VydERPTU5vZGUgb3V0IG9mIGxv
b3AuCisgICAgICAgIChXZWJDb3JlOjpDb250YWluZXJOb2RlOjpyZXBsYWNlQ2hpbGQpOiBkaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6OkNvbnRhaW5lck5vZGU6OmFwcGVuZENoaWxkKTogZGl0dG8u
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudDo6d2lsbEluc2VydERPTU5v
ZGUpOiBSZW1vdmVkIGZpcnN0IGFyZ3VtZW50IChub3cgdGFrZXMgb25seSB0aGUgcGFyZW50KS4K
KyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5oOgorICAgICAg
ICAoSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OndpbGxJbnNlcnRET01Ob2RlSW1wbCk6IFJlbW92ZWQgc2Vjb25kIGFyZ3Vt
ZW50LgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaDoKKyAg
ICAgICAgKEluc3BlY3Rvckluc3RydW1lbnRhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxJbnNlcnRET01Ob2RlKTogUmVtb3ZlZCBzZWNvbmQg
YXJndW1lbnQuCisKIDIwMTItMDQtMDIgIEFsZXhpcyBNZW5hcmQgIDxhbGV4aXMubWVuYXJkQG9w
ZW5ib3NzYS5vcmc+CiAKICAgICAgICAgUmVuYW1lIENTU1Byb3BlcnR5TG9uZ2hhbmQgZmlsZXMg
dG8gU3R5bGVQcm9wZXJ0eVNob3J0aGFuZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Db250YWluZXJOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNw
cAppbmRleCA0ODMwNDlkZjk0YTY4M2I5OGJlOWUzYjgxYzhjMmUwYTcwMzM2OTM2Li4wM2JiZGMx
MmQ4Njk4YmFiODNlYmZmOWMwOWY3ZGYxMGU5NGNkMzg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vQ29udGFpbmVyTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRh
aW5lck5vZGUuY3BwCkBAIC0xNTIsNiArMTUyLDEwIEBAIGJvb2wgQ29udGFpbmVyTm9kZTo6aW5z
ZXJ0QmVmb3JlKFBhc3NSZWZQdHI8Tm9kZT4gbmV3Q2hpbGQsIE5vZGUqIHJlZkNoaWxkLCBFeGNl
CiAgICAgaWYgKHRhcmdldHMuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAorI2lm
IEVOQUJMRShJTlNQRUNUT1IpCisgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsSW5z
ZXJ0RE9NTm9kZShkb2N1bWVudCgpLCB0aGlzKTsKKyNlbmRpZgorCiAjaWYgRU5BQkxFKE1VVEFU
SU9OX09CU0VSVkVSUykKICAgICBDaGlsZExpc3RNdXRhdGlvblNjb3BlIG11dGF0aW9uKHRoaXMp
OwogI2VuZGlmCkBAIC0xNjgsMTAgKzE3Miw2IEBAIGJvb2wgQ29udGFpbmVyTm9kZTo6aW5zZXJ0
QmVmb3JlKFBhc3NSZWZQdHI8Tm9kZT4gbmV3Q2hpbGQsIE5vZGUqIHJlZkNoaWxkLCBFeGNlCiAg
ICAgICAgIGlmIChjaGlsZC0+cGFyZW50Tm9kZSgpKQogICAgICAgICAgICAgYnJlYWs7CiAKLSNp
ZiBFTkFCTEUoSU5TUEVDVE9SKQotICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Ondp
bGxJbnNlcnRET01Ob2RlKGRvY3VtZW50KCksIGNoaWxkLCB0aGlzKTsKLSNlbmRpZgotCiAgICAg
ICAgIHRyZWVTY29wZSgpLT5hZG9wdElmTmVlZGVkKGNoaWxkKTsKIAogICAgICAgICBpbnNlcnRC
ZWZvcmVDb21tb24obmV4dC5nZXQoKSwgY2hpbGQpOwpAQCAtMjc4LDYgKzI3OCwxMCBAQCBib29s
IENvbnRhaW5lck5vZGU6OnJlcGxhY2VDaGlsZChQYXNzUmVmUHRyPE5vZGU+IG5ld0NoaWxkLCBO
b2RlKiBvbGRDaGlsZCwgRXhjZQogICAgIGlmIChlYykKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
CisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Ondp
bGxJbnNlcnRET01Ob2RlKGRvY3VtZW50KCksIHRoaXMpOworI2VuZGlmCisKICAgICAvLyBBZGQg
dGhlIG5ldyBjaGlsZChyZW4pCiAgICAgZm9yIChOb2RlVmVjdG9yOjpjb25zdF9pdGVyYXRvciBp
dCA9IHRhcmdldHMuYmVnaW4oKTsgaXQgIT0gdGFyZ2V0cy5lbmQoKTsgKytpdCkgewogICAgICAg
ICBOb2RlKiBjaGlsZCA9IGl0LT5nZXQoKTsKQEAgLTI5MSwxMCArMjk1LDYgQEAgYm9vbCBDb250
YWluZXJOb2RlOjpyZXBsYWNlQ2hpbGQoUGFzc1JlZlB0cjxOb2RlPiBuZXdDaGlsZCwgTm9kZSog
b2xkQ2hpbGQsIEV4Y2UKICAgICAgICAgaWYgKGNoaWxkLT5wYXJlbnROb2RlKCkpCiAgICAgICAg
ICAgICBicmVhazsKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0gICAgICAgIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6d2lsbEluc2VydERPTU5vZGUoZG9jdW1lbnQoKSwgY2hpbGQsIHRoaXMp
OwotI2VuZGlmCi0KICAgICAgICAgdHJlZVNjb3BlKCktPmFkb3B0SWZOZWVkZWQoY2hpbGQpOwog
CiAgICAgICAgIC8vIEFkZCBjaGlsZCBiZWZvcmUgIm5leHQiLgpAQCAtNTU4LDYgKzU1OCwxMCBA
QCBib29sIENvbnRhaW5lck5vZGU6OmFwcGVuZENoaWxkKFBhc3NSZWZQdHI8Tm9kZT4gbmV3Q2hp
bGQsIEV4Y2VwdGlvbkNvZGUmIGVjLCBibwogICAgIGlmICh0YXJnZXRzLmlzRW1wdHkoKSkKICAg
ICAgICAgcmV0dXJuIHRydWU7CiAKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6d2lsbEluc2VydERPTU5vZGUoZG9jdW1lbnQoKSwgdGhpcyk7Cisj
ZW5kaWYKKwogI2lmIEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMpCiAgICAgQ2hpbGRMaXN0TXV0
YXRpb25TY29wZSBtdXRhdGlvbih0aGlzKTsKICNlbmRpZgpAQCAtNTcyLDEwICs1NzYsNiBAQCBi
b29sIENvbnRhaW5lck5vZGU6OmFwcGVuZENoaWxkKFBhc3NSZWZQdHI8Tm9kZT4gbmV3Q2hpbGQs
IEV4Y2VwdGlvbkNvZGUmIGVjLCBibwogICAgICAgICBpZiAoY2hpbGQtPnBhcmVudE5vZGUoKSkK
ICAgICAgICAgICAgIGJyZWFrOwogCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLSAgICAgICAgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsSW5zZXJ0RE9NTm9kZShkb2N1bWVudCgpLCBjaGls
ZCwgdGhpcyk7Ci0jZW5kaWYKLQogICAgICAgICB0cmVlU2NvcGUoKS0+YWRvcHRJZk5lZWRlZChj
aGlsZCk7CiAKICAgICAgICAgLy8gQXBwZW5kIGNoaWxkIHRvIHRoZSBlbmQgb2YgdGhlIGxpc3QK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01EZWJ1Z2dl
ckFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01EZWJ1Z2dl
ckFnZW50LmNwcAppbmRleCAxZDY0OTM3ZmU0MGU5YTRhZDgzMDVhNmMwYTllNTU0YjI3OWZjZjJh
Li5jZTc1M2NiMjJjYzgwODg0Njk2OTUxMjMxYmM1MDc0ZTljMTljOTUwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQuY3Bw
CkBAIC0yNjcsNyArMjY3LDcgQEAgdm9pZCBJbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50OjpyZW1v
dmVET01CcmVha3BvaW50KEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgaW4KICAgICB9CiB9CiAK
LXZvaWQgSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudDo6d2lsbEluc2VydERPTU5vZGUoTm9kZSos
IE5vZGUqIHBhcmVudCkKK3ZvaWQgSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudDo6d2lsbEluc2Vy
dERPTU5vZGUoTm9kZSogcGFyZW50KQogewogICAgIGlmIChoYXNCcmVha3BvaW50KHBhcmVudCwg
U3VidHJlZU1vZGlmaWVkKSkgewogICAgICAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBldmVu
dERhdGEgPSBJbnNwZWN0b3JPYmplY3Q6OmNyZWF0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50LmgKaW5kZXggOTY4M2E1OGRi
Nzg2NDBjNWIxYjNmZWUxNmZhOWE1YTk2MzM0N2I4ZS4uMWJkMDZhYjE2ODUwNGViZGQ4ODJkMmNi
NmYxNTlhNzRhOTFjODNkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckRPTURlYnVnZ2VyQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5oCkBAIC03Miw3ICs3Miw3IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIHZvaWQgcmVtb3ZlRE9NQnJlYWtwb2ludChFcnJvclN0cmluZyosIGludCBub2Rl
SWQsIGNvbnN0IFN0cmluZyYgdHlwZSk7CiAKICAgICAvLyBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b24gQVBJCi0gICAgdm9pZCB3aWxsSW5zZXJ0RE9NTm9kZShOb2RlKiwgTm9kZSogcGFyZW50KTsK
KyAgICB2b2lkIHdpbGxJbnNlcnRET01Ob2RlKE5vZGUqIHBhcmVudCk7CiAgICAgdm9pZCBkaWRJ
bnZhbGlkYXRlU3R5bGVBdHRyKE5vZGUqKTsKICAgICB2b2lkIGRpZEluc2VydERPTU5vZGUoTm9k
ZSopOwogICAgIHZvaWQgd2lsbFJlbW92ZURPTU5vZGUoTm9kZSopOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAppbmRleCA1
YTUzMTYwMTFmMWExODUzYzY3Y2IwZWQ0YzhmMjRhZGJhZTc0OWQzLi4zZWEyZGUxM2M5MTk1ZDFh
NjNmYmJlOWIxZTgxMWU1ZWU1NmRlYzJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcApAQCAtMTIzLDExICsxMjMsMTEg
QEAgYm9vbCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmlzRGVidWdnZXJQYXVzZWRJbXBsKElu
c3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW0KICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXZvaWQg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsSW5zZXJ0RE9NTm9kZUltcGwoSW5zdHJ1bWVu
dGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgTm9kZSogbm9kZSwgTm9kZSogcGFyZW50
KQordm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxJbnNlcnRET01Ob2RlSW1wbChJ
bnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBOb2RlKiBwYXJlbnQpCiB7
CiAjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCiAgICAgaWYgKEluc3BlY3RvckRPTURl
YnVnZ2VyQWdlbnQqIGRvbURlYnVnZ2VyQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNw
ZWN0b3JET01EZWJ1Z2dlckFnZW50KCkpCi0gICAgICAgIGRvbURlYnVnZ2VyQWdlbnQtPndpbGxJ
bnNlcnRET01Ob2RlKG5vZGUsIHBhcmVudCk7CisgICAgICAgIGRvbURlYnVnZ2VyQWdlbnQtPndp
bGxJbnNlcnRET01Ob2RlKHBhcmVudCk7CiAjZW5kaWYKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCmluZGV4IDk1MjRmNmM4
MjQ3ZWI4NWVhYTFlOTYyNDM3OTY1MzlkYmE1ZjFkZDUuLmE5NWU3MWU2OTVkMmQ4YWUwMGYwMmQ4
NzA3ODRiMWUxNjExODhiZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKQEAgLTg0LDcgKzg0LDcgQEAgcHVibGljOgogICAg
IHN0YXRpYyB2b2lkIGRpZENsZWFyV2luZG93T2JqZWN0SW5Xb3JsZChGcmFtZSosIERPTVdyYXBw
ZXJXb3JsZCopOwogICAgIHN0YXRpYyBib29sIGlzRGVidWdnZXJQYXVzZWQoRnJhbWUqKTsKIAot
ICAgIHN0YXRpYyB2b2lkIHdpbGxJbnNlcnRET01Ob2RlKERvY3VtZW50KiwgTm9kZSosIE5vZGUq
IHBhcmVudCk7CisgICAgc3RhdGljIHZvaWQgd2lsbEluc2VydERPTU5vZGUoRG9jdW1lbnQqLCBO
b2RlKiBwYXJlbnQpOwogICAgIHN0YXRpYyB2b2lkIGRpZEluc2VydERPTU5vZGUoRG9jdW1lbnQq
LCBOb2RlKik7CiAgICAgc3RhdGljIHZvaWQgd2lsbFJlbW92ZURPTU5vZGUoRG9jdW1lbnQqLCBO
b2RlKik7CiAgICAgc3RhdGljIHZvaWQgd2lsbE1vZGlmeURPTUF0dHIoRG9jdW1lbnQqLCBFbGVt
ZW50KiwgY29uc3QgQXRvbWljU3RyaW5nJiBvbGRWYWx1ZSwgY29uc3QgQXRvbWljU3RyaW5nJiBu
ZXdWYWx1ZSk7CkBAIC0yMzcsNyArMjM3LDcgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCBk
aWRDbGVhcldpbmRvd09iamVjdEluV29ybGRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBGcmFt
ZSosIERPTVdyYXBwZXJXb3JsZCopOwogICAgIHN0YXRpYyBib29sIGlzRGVidWdnZXJQYXVzZWRJ
bXBsKEluc3RydW1lbnRpbmdBZ2VudHMqKTsKIAotICAgIHN0YXRpYyB2b2lkIHdpbGxJbnNlcnRE
T01Ob2RlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgTm9kZSosIE5vZGUqIHBhcmVudCk7Cisg
ICAgc3RhdGljIHZvaWQgd2lsbEluc2VydERPTU5vZGVJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMq
LCBOb2RlKiBwYXJlbnQpOwogICAgIHN0YXRpYyB2b2lkIGRpZEluc2VydERPTU5vZGVJbXBsKElu
c3RydW1lbnRpbmdBZ2VudHMqLCBOb2RlKik7CiAgICAgc3RhdGljIHZvaWQgd2lsbFJlbW92ZURP
TU5vZGVJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBOb2RlKik7CiAgICAgc3RhdGljIHZvaWQg
ZGlkUmVtb3ZlRE9NTm9kZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIE5vZGUqKTsKQEAgLTQw
NiwxMiArNDA2LDEyIEBAIGlubGluZSBib29sIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6aXNE
ZWJ1Z2dlclBhdXNlZChGcmFtZSogZnJhbWUpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1pbmxp
bmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxJbnNlcnRET01Ob2RlKERvY3Vt
ZW50KiBkb2N1bWVudCwgTm9kZSogbm9kZSwgTm9kZSogcGFyZW50KQoraW5saW5lIHZvaWQgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsSW5zZXJ0RE9NTm9kZShEb2N1bWVudCogZG9jdW1l
bnQsIE5vZGUqIHBhcmVudCkKIHsKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVU
VVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRz
KiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckRvY3VtZW50KGRv
Y3VtZW50KSkKLSAgICAgICAgd2lsbEluc2VydERPTU5vZGVJbXBsKGluc3RydW1lbnRpbmdBZ2Vu
dHMsIG5vZGUsIHBhcmVudCk7CisgICAgICAgIHdpbGxJbnNlcnRET01Ob2RlSW1wbChpbnN0cnVt
ZW50aW5nQWdlbnRzLCBwYXJlbnQpOwogI2VuZGlmCiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135639</attachid>
            <date>2012-04-04 11:27:42 -0700</date>
            <delta_ts>2012-04-04 13:04:38 -0700</delta_ts>
            <desc>Patch with test</desc>
            <filename>bug-82967-20120404112741.patch</filename>
            <type>text/plain</type>
            <size>13525</size>
            <attacher name="Adam Klein">adamk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzMTg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDAzOGQzNThmODNhMzk3
NWNlZDk3YzIxOGQ0MjFkMTI4OTcyYmMxZi4uYzRiOWQyNjE0MjMxY2M4YmE4YTFlZjFhOGY4ZDcx
Y2EzZDIwNjU4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEyLTA0LTA0ICBBZGFt
IEtsZWluICA8YWRhbWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGJy
ZWFrIG9uIERPTSBub2RlIGluc2VydGlvbiBvbmx5IG9uY2UgcGVyIG9wZXJhdGlvbiwgbm90IG9u
Y2UgcGVyIGluc2VydGVkIG5vZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTgyOTY3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGhpcyBjaGFuZ2UgYWZmZWN0cyB0aGUgY2FzZSB3aGVyZSBhIERvY3VtZW50
RnJhZ21lbnQgaXMgaW5zZXJ0ZWQsCisgICAgICAgIHJhdGhlciB0aGFuIGEgc2luZ2xlIG5vZGUu
IFRoaXMgaXMgbW9zdCBjb21tb24gd2hlbiB1c2luZyBpbm5lckhUTUw6CisgICAgICAgIHRoZSBl
ZmZlY3Qgb2YgdGhlIGNoYW5nZSBpcyB0aGF0IGluc2VydGluZywgZS5nLiwgJzxpbnB1dD48aW5w
dXQ+JywKKyAgICAgICAgdGhlIFN1YnRyZWVNb2RpZmllZCBicmVha3BvaW50IHdpbGwgYmUgaGl0
IG9uY2UsIHJhdGhlciB0aGFuIHR3aWNlCisgICAgICAgIChvbmNlIGZvciBlYWNoIGlucHV0IGVs
ZW1lbnQpLiBHaXZlbiB0aGF0IHRoZSBwYXJ0aWN1bGFyIG5vZGUgYmVpbmcKKyAgICAgICAgaW5z
ZXJ0ZWQgd2Fzbid0IGV4cG9zZWQgYXMgcGFydCBvZiB0aGUgYnJlYWtwb2ludCwgdGhpcyBzZWVt
cyBzdHJpY3RseQorICAgICAgICBiZXR0ZXIuCisKKyAgICAgICAgTm93IHRoYXQgdGhlIGNhbGwg
dG8gd2lsbEluc2VydERPTU5vZGUgaXMgb3V0c2lkZSB0aGUgbG9vcCwgdGhlcmUncworICAgICAg
ICBub3QgYW4gb2J2aW91cyBub2RlIHRvIHBhc3MgaW4gYXMgdGhlIG5ldyBjaGlsZC4gTHVja2ls
eSwgSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudAorICAgICAgICBhbHJlYWR5IGlnbm9yZWQgdGhh
dCBhcmd1bWVudCwgc28gaXQncyBzaW1wbHkgYmVlbiByZW1vdmVkIGZyb20gdGhlIHNpZ25hdHVy
ZS4KKworICAgICAgICBUaGlzIGNoYW5nZXMgcGF2ZXMgdGhlIHdheSB0byBkbyBvbmx5IHRyZWUt
bW9kaWZpY2F0aW9uIHdvcmssIGFuZCBubworICAgICAgICBleHRlcm5hbCBub3RpZmljYXRpb25z
LCBpbnNpZGUgdGhlIGxvb3BzIGluIGFwcGVuZENoaWxkL2luc2VydEJlZm9yZS9yZXBsYWNlQ2hp
bGQuCisKKyAgICAgICAgKiBkb20vQ29udGFpbmVyTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDb250YWluZXJOb2RlOjppbnNlcnRCZWZvcmUpOiBIb2lzdGVkIGNhbGwgdG8gd2lsbEluc2Vy
dERPTU5vZGUgb3V0IG9mIGxvb3AuCisgICAgICAgIChXZWJDb3JlOjpDb250YWluZXJOb2RlOjpy
ZXBsYWNlQ2hpbGQpOiBkaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkNvbnRhaW5lck5vZGU6OmFw
cGVuZENoaWxkKTogZGl0dG8uCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRPTURlYnVn
Z2VyQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NRGVidWdnZXJBZ2Vu
dDo6d2lsbEluc2VydERPTU5vZGUpOiBSZW1vdmVkIGZpcnN0IGFyZ3VtZW50IChub3cgdGFrZXMg
b25seSB0aGUgcGFyZW50KS4KKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NRGVidWdn
ZXJBZ2VudC5oOgorICAgICAgICAoSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudCk6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxJbnNlcnRET01Ob2RlSW1wbCk6IFJl
bW92ZWQgc2Vjb25kIGFyZ3VtZW50LgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0
cnVtZW50YXRpb24uaDoKKyAgICAgICAgKEluc3BlY3Rvckluc3RydW1lbnRhdGlvbik6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxJbnNlcnRET01Ob2Rl
KTogUmVtb3ZlZCBzZWNvbmQgYXJndW1lbnQuCisKIDIwMTItMDQtMDQgIEFsZXhpcyBNZW5hcmQg
IDxhbGV4aXMubWVuYXJkQG9wZW5ib3NzYS5vcmc+CiAKICAgICAgICAgUmUtYWRkIHZhcmlhYmxl
IG5hbWVzIGluIENTUyByZWxhdGVkIGhlYWRlcnMgdG8gaGVscCB1bmRlcnN0YW5kaW5nIHRoZSBt
ZWFuaW5nIG9mIHRoZW0uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVy
Tm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5jcHAKaW5kZXggNDgz
MDQ5ZGY5NGE2ODNiOThiZTllM2I4MWM4YzJlMGE3MDMzNjkzNi4uMDNiYmRjMTJkODY5OGJhYjgz
ZWJmZjljMDlmN2RmMTBlOTRjZDM4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0Nv
bnRhaW5lck5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNw
cApAQCAtMTUyLDYgKzE1MiwxMCBAQCBib29sIENvbnRhaW5lck5vZGU6Omluc2VydEJlZm9yZShQ
YXNzUmVmUHRyPE5vZGU+IG5ld0NoaWxkLCBOb2RlKiByZWZDaGlsZCwgRXhjZQogICAgIGlmICh0
YXJnZXRzLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKKyNpZiBFTkFCTEUoSU5T
UEVDVE9SKQorICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbEluc2VydERPTU5vZGUo
ZG9jdW1lbnQoKSwgdGhpcyk7CisjZW5kaWYKKwogI2lmIEVOQUJMRShNVVRBVElPTl9PQlNFUlZF
UlMpCiAgICAgQ2hpbGRMaXN0TXV0YXRpb25TY29wZSBtdXRhdGlvbih0aGlzKTsKICNlbmRpZgpA
QCAtMTY4LDEwICsxNzIsNiBAQCBib29sIENvbnRhaW5lck5vZGU6Omluc2VydEJlZm9yZShQYXNz
UmVmUHRyPE5vZGU+IG5ld0NoaWxkLCBOb2RlKiByZWZDaGlsZCwgRXhjZQogICAgICAgICBpZiAo
Y2hpbGQtPnBhcmVudE5vZGUoKSkKICAgICAgICAgICAgIGJyZWFrOwogCi0jaWYgRU5BQkxFKElO
U1BFQ1RPUikKLSAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsSW5zZXJ0RE9N
Tm9kZShkb2N1bWVudCgpLCBjaGlsZCwgdGhpcyk7Ci0jZW5kaWYKLQogICAgICAgICB0cmVlU2Nv
cGUoKS0+YWRvcHRJZk5lZWRlZChjaGlsZCk7CiAKICAgICAgICAgaW5zZXJ0QmVmb3JlQ29tbW9u
KG5leHQuZ2V0KCksIGNoaWxkKTsKQEAgLTI3OCw2ICsyNzgsMTAgQEAgYm9vbCBDb250YWluZXJO
b2RlOjpyZXBsYWNlQ2hpbGQoUGFzc1JlZlB0cjxOb2RlPiBuZXdDaGlsZCwgTm9kZSogb2xkQ2hp
bGQsIEV4Y2UKICAgICBpZiAoZWMpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorI2lmIEVOQUJM
RShJTlNQRUNUT1IpCisgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsSW5zZXJ0RE9N
Tm9kZShkb2N1bWVudCgpLCB0aGlzKTsKKyNlbmRpZgorCiAgICAgLy8gQWRkIHRoZSBuZXcgY2hp
bGQocmVuKQogICAgIGZvciAoTm9kZVZlY3Rvcjo6Y29uc3RfaXRlcmF0b3IgaXQgPSB0YXJnZXRz
LmJlZ2luKCk7IGl0ICE9IHRhcmdldHMuZW5kKCk7ICsraXQpIHsKICAgICAgICAgTm9kZSogY2hp
bGQgPSBpdC0+Z2V0KCk7CkBAIC0yOTEsMTAgKzI5NSw2IEBAIGJvb2wgQ29udGFpbmVyTm9kZTo6
cmVwbGFjZUNoaWxkKFBhc3NSZWZQdHI8Tm9kZT4gbmV3Q2hpbGQsIE5vZGUqIG9sZENoaWxkLCBF
eGNlCiAgICAgICAgIGlmIChjaGlsZC0+cGFyZW50Tm9kZSgpKQogICAgICAgICAgICAgYnJlYWs7
CiAKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OndpbGxJbnNlcnRET01Ob2RlKGRvY3VtZW50KCksIGNoaWxkLCB0aGlzKTsKLSNlbmRpZgot
CiAgICAgICAgIHRyZWVTY29wZSgpLT5hZG9wdElmTmVlZGVkKGNoaWxkKTsKIAogICAgICAgICAv
LyBBZGQgY2hpbGQgYmVmb3JlICJuZXh0Ii4KQEAgLTU1OCw2ICs1NTgsMTAgQEAgYm9vbCBDb250
YWluZXJOb2RlOjphcHBlbmRDaGlsZChQYXNzUmVmUHRyPE5vZGU+IG5ld0NoaWxkLCBFeGNlcHRp
b25Db2RlJiBlYywgYm8KICAgICBpZiAodGFyZ2V0cy5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVy
biB0cnVlOwogCisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OndpbGxJbnNlcnRET01Ob2RlKGRvY3VtZW50KCksIHRoaXMpOworI2VuZGlmCisKICNp
ZiBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQogICAgIENoaWxkTGlzdE11dGF0aW9uU2NvcGUg
bXV0YXRpb24odGhpcyk7CiAjZW5kaWYKQEAgLTU3MiwxMCArNTc2LDYgQEAgYm9vbCBDb250YWlu
ZXJOb2RlOjphcHBlbmRDaGlsZChQYXNzUmVmUHRyPE5vZGU+IG5ld0NoaWxkLCBFeGNlcHRpb25D
b2RlJiBlYywgYm8KICAgICAgICAgaWYgKGNoaWxkLT5wYXJlbnROb2RlKCkpCiAgICAgICAgICAg
ICBicmVhazsKIAotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0gICAgICAgIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6d2lsbEluc2VydERPTU5vZGUoZG9jdW1lbnQoKSwgY2hpbGQsIHRoaXMpOwot
I2VuZGlmCi0KICAgICAgICAgdHJlZVNjb3BlKCktPmFkb3B0SWZOZWVkZWQoY2hpbGQpOwogCiAg
ICAgICAgIC8vIEFwcGVuZCBjaGlsZCB0byB0aGUgZW5kIG9mIHRoZSBsaXN0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5jcHAK
aW5kZXggMWQ2NDkzN2ZlNDBlOWE0YWQ4MzA1YTZjMGE5ZTU1NGIyNzlmY2YyYS4uY2U3NTNjYjIy
Y2M4MDg4NDY5Njk1MTIzMWJjNTA3NGU5YzE5Yzk1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50LmNwcApAQCAtMjY3LDcg
KzI2Nyw3IEBAIHZvaWQgSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudDo6cmVtb3ZlRE9NQnJlYWtw
b2ludChFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGluCiAgICAgfQogfQogCi12b2lkIEluc3Bl
Y3RvckRPTURlYnVnZ2VyQWdlbnQ6OndpbGxJbnNlcnRET01Ob2RlKE5vZGUqLCBOb2RlKiBwYXJl
bnQpCit2b2lkIEluc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQ6OndpbGxJbnNlcnRET01Ob2RlKE5v
ZGUqIHBhcmVudCkKIHsKICAgICBpZiAoaGFzQnJlYWtwb2ludChwYXJlbnQsIFN1YnRyZWVNb2Rp
ZmllZCkpIHsKICAgICAgICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gZXZlbnREYXRhID0gSW5z
cGVjdG9yT2JqZWN0OjpjcmVhdGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5oCmluZGV4IDk2ODNhNThkYjc4NjQwYzViMWIz
ZmVlMTZmYTlhNWE5NjMzNDdiOGUuLjFiZDA2YWIxNjg1MDRlYmRkODgyZDJjYjZmMTU5YTc0YTkx
YzgzZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01E
ZWJ1Z2dlckFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRP
TURlYnVnZ2VyQWdlbnQuaApAQCAtNzIsNyArNzIsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2
b2lkIHJlbW92ZURPTUJyZWFrcG9pbnQoRXJyb3JTdHJpbmcqLCBpbnQgbm9kZUlkLCBjb25zdCBT
dHJpbmcmIHR5cGUpOwogCiAgICAgLy8gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uIEFQSQotICAg
IHZvaWQgd2lsbEluc2VydERPTU5vZGUoTm9kZSosIE5vZGUqIHBhcmVudCk7CisgICAgdm9pZCB3
aWxsSW5zZXJ0RE9NTm9kZShOb2RlKiBwYXJlbnQpOwogICAgIHZvaWQgZGlkSW52YWxpZGF0ZVN0
eWxlQXR0cihOb2RlKik7CiAgICAgdm9pZCBkaWRJbnNlcnRET01Ob2RlKE5vZGUqKTsKICAgICB2
b2lkIHdpbGxSZW1vdmVET01Ob2RlKE5vZGUqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKaW5kZXggYWM1NmU0YjZhYTg1
MTc4NzdjODQ5NTYyMmM0ZWYxNDQwMzcyZjE2Mi4uOTVhNDUxZTU3YWU3MzNmODQ2OTM5ODk1YmVj
MjY1OTVhYzkwYjg4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKQEAgLTEyMywxMSArMTIzLDExIEBAIGJvb2wgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjppc0RlYnVnZ2VyUGF1c2VkSW1wbChJbnN0cnVtZW50aW5n
QWdlbnRzKiBpbnN0cnVtCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi12b2lkIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6d2lsbEluc2VydERPTU5vZGVJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMq
IGluc3RydW1lbnRpbmdBZ2VudHMsIE5vZGUqIG5vZGUsIE5vZGUqIHBhcmVudCkKK3ZvaWQgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsSW5zZXJ0RE9NTm9kZUltcGwoSW5zdHJ1bWVudGlu
Z0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgTm9kZSogcGFyZW50KQogewogI2lmIEVOQUJM
RShKQVZBU0NSSVBUX0RFQlVHR0VSKQogICAgIGlmIChJbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50
KiBkb21EZWJ1Z2dlckFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yRE9NRGVi
dWdnZXJBZ2VudCgpKQotICAgICAgICBkb21EZWJ1Z2dlckFnZW50LT53aWxsSW5zZXJ0RE9NTm9k
ZShub2RlLCBwYXJlbnQpOworICAgICAgICBkb21EZWJ1Z2dlckFnZW50LT53aWxsSW5zZXJ0RE9N
Tm9kZShwYXJlbnQpOwogI2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAppbmRleCA5NTI0ZjZjODI0N2ViODVlYWEx
ZTk2MjQzNzk2NTM5ZGJhNWYxZGQ1Li5hOTVlNzFlNjk1ZDJkOGFlMDBmMDJkODcwNzg0YjFlMTYx
MTg4YmU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvcklu
c3RydW1lbnRhdGlvbi5oCkBAIC04NCw3ICs4NCw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9p
ZCBkaWRDbGVhcldpbmRvd09iamVjdEluV29ybGQoRnJhbWUqLCBET01XcmFwcGVyV29ybGQqKTsK
ICAgICBzdGF0aWMgYm9vbCBpc0RlYnVnZ2VyUGF1c2VkKEZyYW1lKik7CiAKLSAgICBzdGF0aWMg
dm9pZCB3aWxsSW5zZXJ0RE9NTm9kZShEb2N1bWVudCosIE5vZGUqLCBOb2RlKiBwYXJlbnQpOwor
ICAgIHN0YXRpYyB2b2lkIHdpbGxJbnNlcnRET01Ob2RlKERvY3VtZW50KiwgTm9kZSogcGFyZW50
KTsKICAgICBzdGF0aWMgdm9pZCBkaWRJbnNlcnRET01Ob2RlKERvY3VtZW50KiwgTm9kZSopOwog
ICAgIHN0YXRpYyB2b2lkIHdpbGxSZW1vdmVET01Ob2RlKERvY3VtZW50KiwgTm9kZSopOwogICAg
IHN0YXRpYyB2b2lkIHdpbGxNb2RpZnlET01BdHRyKERvY3VtZW50KiwgRWxlbWVudCosIGNvbnN0
IEF0b21pY1N0cmluZyYgb2xkVmFsdWUsIGNvbnN0IEF0b21pY1N0cmluZyYgbmV3VmFsdWUpOwpA
QCAtMjM3LDcgKzIzNyw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIHZvaWQgZGlkQ2xlYXJXaW5k
b3dPYmplY3RJbldvcmxkSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgRnJhbWUqLCBET01XcmFw
cGVyV29ybGQqKTsKICAgICBzdGF0aWMgYm9vbCBpc0RlYnVnZ2VyUGF1c2VkSW1wbChJbnN0cnVt
ZW50aW5nQWdlbnRzKik7CiAKLSAgICBzdGF0aWMgdm9pZCB3aWxsSW5zZXJ0RE9NTm9kZUltcGwo
SW5zdHJ1bWVudGluZ0FnZW50cyosIE5vZGUqLCBOb2RlKiBwYXJlbnQpOworICAgIHN0YXRpYyB2
b2lkIHdpbGxJbnNlcnRET01Ob2RlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgTm9kZSogcGFy
ZW50KTsKICAgICBzdGF0aWMgdm9pZCBkaWRJbnNlcnRET01Ob2RlSW1wbChJbnN0cnVtZW50aW5n
QWdlbnRzKiwgTm9kZSopOwogICAgIHN0YXRpYyB2b2lkIHdpbGxSZW1vdmVET01Ob2RlSW1wbChJ
bnN0cnVtZW50aW5nQWdlbnRzKiwgTm9kZSopOwogICAgIHN0YXRpYyB2b2lkIGRpZFJlbW92ZURP
TU5vZGVJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBOb2RlKik7CkBAIC00MDYsMTIgKzQwNiwx
MiBAQCBpbmxpbmUgYm9vbCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmlzRGVidWdnZXJQYXVz
ZWQoRnJhbWUqIGZyYW1lKQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotaW5saW5lIHZvaWQgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsSW5zZXJ0RE9NTm9kZShEb2N1bWVudCogZG9jdW1l
bnQsIE5vZGUqIG5vZGUsIE5vZGUqIHBhcmVudCkKK2lubGluZSB2b2lkIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6d2lsbEluc2VydERPTU5vZGUoRG9jdW1lbnQqIGRvY3VtZW50LCBOb2RlKiBw
YXJlbnQpCiB7CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBGQVNUX1JFVFVSTl9JRl9OT19G
Uk9OVEVORFModm9pZCgpKTsKICAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVu
dGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JEb2N1bWVudChkb2N1bWVudCkpCi0g
ICAgICAgIHdpbGxJbnNlcnRET01Ob2RlSW1wbChpbnN0cnVtZW50aW5nQWdlbnRzLCBub2RlLCBw
YXJlbnQpOworICAgICAgICB3aWxsSW5zZXJ0RE9NTm9kZUltcGwoaW5zdHJ1bWVudGluZ0FnZW50
cywgcGFyZW50KTsKICNlbmRpZgogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggN2UzZjk5MjM5ODI4MDE0NWY1ZDdmMTZm
NGI2OTg4YjBmMDllNzQ5ZS4uNmU0MGIzYzBmMDI4MmVmMTEyMjJmYzVjZjg4OWMzMDVhMjIyYWQ1
MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA0LTA0ICBBZGFtIEtsZWluICA8YWRhbWtA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGJyZWFrIG9uIERPTSBub2Rl
IGluc2VydGlvbiBvbmx5IG9uY2UgcGVyIG9wZXJhdGlvbiwgbm90IG9uY2UgcGVyIGluc2VydGVk
IG5vZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgy
OTY3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
ZWQgdGVzdCBmb3Igc2V0dGluZyBpbm5lciBIVE1MIGFuZCBlbnN1cmluZyB0aGF0IG9ubHkgYSBz
aW5nbGUKKyAgICAgICAgYnJlYWtwb2ludCBpcyBoaXQuCisKKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZGVidWdnZXIvZG9tLWJyZWFrcG9pbnRzLmh0bWw6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21p
dW0vaW5zcGVjdG9yL2RlYnVnZ2VyL2RvbS1icmVha3BvaW50cy1leHBlY3RlZC50eHQ6CisKIDIw
MTItMDQtMDQgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBbUXRdIFVucmV2aWV3ZWQgZ2FyZGVuaW5nLCBza2lwIGZhaWxpbmcgdGVzdHMgdG8gdHJ5IHRv
IHBhaW50IEFSTSBhbmQgTWFjIGJvdHMgZ3JlZW4uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZGVidWdnZXIvZG9tLWJyZWFrcG9pbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvZGVidWdnZXIvZG9tLWJyZWFrcG9pbnRzLmh0bWwKaW5kZXggZTQxOGEyYTBjM2M3Njhk
ZjY1ZGFjYTQwNWE0MzUyMDA0ZDE1ZmFlYS4uODBkZDRkOTI3NjUzNjFhYmYzMjBiNDI3MzQ3NmRk
MzI0Njc2OGYzOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2Rv
bS1icmVha3BvaW50cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9k
b20tYnJlYWtwb2ludHMuaHRtbApAQCAtNDQsNiArNDQsMTcgQEAgZnVuY3Rpb24gcmVtb3ZlRWxl
bWVudChlbGVtZW50SWQpCiAgICAgZWxlbWVudC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGVsZW1l
bnQpOwogfQogCitmdW5jdGlvbiBzZXRJbm5lckhUTUwoZWxlbWVudElkLCBodG1sKQoreworICAg
IHZhciBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudElkKTsKKyAgICBl
bGVtZW50LmlubmVySFRNTCA9IGh0bWw7Cit9CisKK2Z1bmN0aW9uIGJyZWFrRGVidWdnZXIoKQor
eworICAgIGRlYnVnZ2VyOworfQorCiBmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICBXZWJJbnNwZWN0
b3IuaW5zcGVjdG9yVmlldy5zZXRDdXJyZW50UGFuZWwoV2ViSW5zcGVjdG9yLnBhbmVscy5lbGVt
ZW50cyk7CkBAIC04MCwxMiArOTEsMjggQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiVGVzdCB0aGF0ICdTdWJ0cmVlIE1vZGlmaWVkJyBicmVh
a3BvaW50IGlzIGhpdCB3aGVuIHJlbW92aW5nIGEgY2hpbGQuIik7CiAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlV2l0aFRpbWVvdXQoInJlbW92ZUVsZW1lbnQoJ2dyYW5k
Y2hpbGRFbGVtZW50JykiKTsKICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJS
ZW1vdmUgZ3JhbmRjaGlsZEVsZW1lbnQuIik7CisgICAgICAgICAgICB3YWl0VW50aWxQYXVzZWRB
bmREdW1wU3RhY2sobmV4dCk7CisgICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24gdGVzdElu
bmVySFRNTChuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiVGVzdCB0aGF0ICdTdWJ0cmVlIE1vZGlmaWVkJyBicmVha3BvaW50IGlzIGhpdCBleGFj
dGx5IG9uY2Ugd2hlbiBzZXR0aW5nIGlubmVySFRNTC4iKTsKKyAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuZXZhbHVhdGVJblBhZ2VXaXRoVGltZW91dCgic2V0SW5uZXJIVE1MKCdjaGlsZEVsZW1l
bnQnLCAnPGJyPjxicj4nKSIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
IlNldCBjaGlsZEVsZW1lbnQuaW5uZXJIVE1MLiIpOwogICAgICAgICAgICAgd2FpdFVudGlsUGF1
c2VkQW5kRHVtcFN0YWNrKHN0ZXAyKTsKIAogICAgICAgICAgICAgZnVuY3Rpb24gc3RlcDIoKQog
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qud2FpdFVudGlsUGF1
c2VkKHN0ZXAzKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdl
V2l0aFRpbWVvdXQoImJyZWFrRGVidWdnZXIoKSIpOworICAgICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCJDYWxsIGJyZWFrRGVidWdnZXIsIGV4cGVjdCBpdCB0byBzaG93IHVw
IGluIG5leHQgc3RhY2sgdHJhY2UuIik7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1
bmN0aW9uIHN0ZXAzKGZyYW1lcykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmNhcHR1cmVTdGFja1RyYWNlKGZyYW1lcyk7CiAgICAgICAgICAgICAgICAgcGFu
ZS5fcmVtb3ZlQnJlYWtwb2ludChyb290RWxlbWVudCwgcGFuZS5fYnJlYWtwb2ludFR5cGVzLlN1
YnRyZWVNb2RpZmllZCk7Ci0gICAgICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAgICAgICAg
IEluc3BlY3RvclRlc3QucmVzdW1lRXhlY3V0aW9uKG5leHQpOwogICAgICAgICAgICAgfQogICAg
ICAgICB9LAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNw
ZWN0b3IvZGVidWdnZXIvZG9tLWJyZWFrcG9pbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2luc3BlY3Rvci9kZWJ1Z2dlci9kb20tYnJlYWtwb2ludHMtZXhw
ZWN0ZWQudHh0CmluZGV4IDdjMmM3Zjk2ZWRjM2E1MjhlNDVlZDRlNWQ1NTM2ODhkNjhiMDJmODQu
LjliMTA0ZDNkOTliMWYzMjE5YTZmYTk0ODMxMzc0NDIyMmI1NmQxNmEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2luc3BlY3Rvci9kZWJ1Z2dlci9kb20tYnJlYWtw
b2ludHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2lu
c3BlY3Rvci9kZWJ1Z2dlci9kb20tYnJlYWtwb2ludHMtZXhwZWN0ZWQudHh0CkBAIC0zMyw2ICsz
MywyMiBAQCBDYWxsIHN0YWNrOgogUGF1c2VkIG9uIGEgIlN1YnRyZWUgTW9kaWZpZWQiIGJyZWFr
cG9pbnQgc2V0IG9uIGRpdiNyb290RWxlbWVudCwgYmVjYXVzZSBpdHMgZGVzY2VuZGFudCBkaXYj
Z3JhbmRjaGlsZEVsZW1lbnQgd2FzIHJlbW92ZWQuCiBTY3JpcHQgZXhlY3V0aW9uIHJlc3VtZWQu
CiAKK1J1bm5pbmc6IHRlc3RJbm5lckhUTUwKK1Rlc3QgdGhhdCAnU3VidHJlZSBNb2RpZmllZCcg
YnJlYWtwb2ludCBpcyBoaXQgZXhhY3RseSBvbmNlIHdoZW4gc2V0dGluZyBpbm5lckhUTUwuCitT
ZXQgY2hpbGRFbGVtZW50LmlubmVySFRNTC4KK1NjcmlwdCBleGVjdXRpb24gcGF1c2VkLgorQ2Fs
bCBzdGFjazoKKyAgICAwKSBzZXRJbm5lckhUTUwgKGRvbS1icmVha3BvaW50cy5odG1sOjUwKQor
ICAgIDEpICAoOjEpCitQYXVzZWQgb24gYSAiU3VidHJlZSBNb2RpZmllZCIgYnJlYWtwb2ludCBz
ZXQgb24gZGl2I3Jvb3RFbGVtZW50LCBiZWNhdXNlIGEgbmV3IGNoaWxkIHdhcyBhZGRlZCB0byBp
dHMgZGVzY2VuZGFudCBkaXYjY2hpbGRFbGVtZW50LgorU2NyaXB0IGV4ZWN1dGlvbiByZXN1bWVk
LgorQ2FsbCBicmVha0RlYnVnZ2VyLCBleHBlY3QgaXQgdG8gc2hvdyB1cCBpbiBuZXh0IHN0YWNr
IHRyYWNlLgorU2NyaXB0IGV4ZWN1dGlvbiBwYXVzZWQuCitDYWxsIHN0YWNrOgorICAgIDApIGJy
ZWFrRGVidWdnZXIgKGRvbS1icmVha3BvaW50cy5odG1sOjU1KQorICAgIDEpICAoOjEpCitTY3Jp
cHQgZXhlY3V0aW9uIHJlc3VtZWQuCisKIFJ1bm5pbmc6IHRlc3RNb2RpZnlBdHRyaWJ1dGUKIFRl
c3QgdGhhdCAnQXR0cmlidXRlIE1vZGlmaWVkJyBicmVha3BvaW50IGlzIGhpdCB3aGVuIG1vZGlm
eWluZyBhdHRyaWJ1dGUuCiBTZXQgJ0F0dHJpYnV0ZSBNb2RpZmllZCcgRE9NIGJyZWFrcG9pbnQg
b24gcm9vdEVsZW1lbnQuCg==
</data>
<flag name="review"
          id="140212"
          type_id="1"
          status="+"
          setter="ojan"
    />
          </attachment>
      

    </bug>

</bugzilla>