<?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>103708</bug_id>
          
          <creation_ts>2012-11-29 20:35:58 -0800</creation_ts>
          <short_desc>Simplify treeScope and setTreeScope</short_desc>
          <delta_ts>2012-12-06 17:06:29 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Elliott Sprehn">esprehn</reporter>
          <assigned_to name="Elliott Sprehn">esprehn</assigned_to>
          <cc>bdakin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dglazkov</cc>
    
    <cc>gtk-ews</cc>
    
    <cc>morrita</cc>
    
    <cc>ojan</cc>
    
    <cc>peter+ews</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>779782</commentid>
    <comment_count>0</comment_count>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-11-29 20:35:58 -0800</bug_when>
    <thetext>Make treeScope inline and remove a branch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>779812</commentid>
    <comment_count>1</comment_count>
      <attachid>176899</attachid>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-11-29 22:09:11 -0800</bug_when>
    <thetext>Created attachment 176899
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>779819</commentid>
    <comment_count>2</comment_count>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-11-29 22:19:57 -0800</bug_when>
    <thetext>Doh, seems we need to put the inline version in Document.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>779820</commentid>
    <comment_count>3</comment_count>
      <attachid>176899</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-11-29 22:20:34 -0800</bug_when>
    <thetext>Comment on attachment 176899
Patch

Attachment 176899 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/15054297</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>779821</commentid>
    <comment_count>4</comment_count>
      <attachid>176899</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-11-29 22:23:55 -0800</bug_when>
    <thetext>Comment on attachment 176899
Patch

Attachment 176899 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/15067013</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>779822</commentid>
    <comment_count>5</comment_count>
      <attachid>176899</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2012-11-29 22:32:08 -0800</bug_when>
    <thetext>Comment on attachment 176899
Patch

Attachment 176899 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/15054301</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>779823</commentid>
    <comment_count>6</comment_count>
      <attachid>176899</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-29 22:35:05 -0800</bug_when>
    <thetext>Comment on attachment 176899
Patch

Attachment 176899 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/15056256</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>779826</commentid>
    <comment_count>7</comment_count>
      <attachid>176899</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2012-11-29 22:39:32 -0800</bug_when>
    <thetext>Comment on attachment 176899
Patch

Attachment 176899 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/15059187</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>779845</commentid>
    <comment_count>8</comment_count>
      <attachid>176899</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-11-29 23:21:52 -0800</bug_when>
    <thetext>Comment on attachment 176899
Patch

This is nice!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>779854</commentid>
    <comment_count>9</comment_count>
      <attachid>176899</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-11-29 23:44:01 -0800</bug_when>
    <thetext>Comment on attachment 176899
Patch

Attachment 176899 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15055300</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780229</commentid>
    <comment_count>10</comment_count>
      <attachid>176899</attachid>
    <who name="Peter Beverloo (cr-android ews)">peter+ews</who>
    <bug_when>2012-11-30 10:50:50 -0800</bug_when>
    <thetext>Comment on attachment 176899
Patch

Attachment 176899 did not pass cr-android-ews (chromium-android):
Output: http://queues.webkit.org/results/15061399</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780444</commentid>
    <comment_count>11</comment_count>
      <attachid>177030</attachid>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-11-30 14:54:40 -0800</bug_when>
    <thetext>Created attachment 177030
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780457</commentid>
    <comment_count>12</comment_count>
      <attachid>177030</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-11-30 15:06:44 -0800</bug_when>
    <thetext>Comment on attachment 177030
Patch

Looks good. Please wait until non-Chromium bots become green.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780903</commentid>
    <comment_count>13</comment_count>
      <attachid>177030</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-02 03:17:27 -0800</bug_when>
    <thetext>Comment on attachment 177030
Patch

Clearing flags on attachment: 177030

Committed r136328: &lt;http://trac.webkit.org/changeset/136328&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>780904</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-02 03:17:31 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>782036</commentid>
    <comment_count>15</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-12-03 16:49:05 -0800</bug_when>
    <thetext>I think this may have caused a ~12% improvement in dom_perf/CreateNodes. Hard to tell. http://trac.webkit.org/changeset/136334 seems more likely.

http://build.chromium.org/f/chromium/perf/linux-release-webkit-latest/dom_perf/report.html?graph=CreateNodes&amp;trace=score&amp;rev=170979&amp;history=150</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>782043</commentid>
    <comment_count>16</comment_count>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-12-03 16:54:34 -0800</bug_when>
    <thetext>(In reply to comment #15)
&gt; I think this may have caused a ~12% improvement in dom_perf/CreateNodes. Hard to tell. http://trac.webkit.org/changeset/136334 seems more likely.
&gt; 

Hmm, that change is going to really skew our perf benchmarks that create nodes because they all run inside the 10 second window. They don&apos;t represent what goes on inside a real webapp which you keep open for a while.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785428</commentid>
    <comment_count>17</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2012-12-06 17:00:29 -0800</bug_when>
    <thetext>I think that this change is causing this web page to assert: http://www2.macleans.ca/2012/11/04/tarnished-silver-assessing-the-new-king-of-stats/


Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.WebCore             	0x000000010f9b3094 WebCore::Node::rareData() const + 84 (Node.cpp:484)
1   com.apple.WebCore             	0x000000010f9b302d WebCore::Node::setTreeScope(WebCore::TreeScope*) + 141 (Node.cpp:451)
2   com.apple.WebCore             	0x000000011016d1d0 WebCore::TreeScopeAdopter::moveTreeToNewScope(WebCore::Node*) const + 288 (TreeScopeAdopter.cpp:53)
3   com.apple.WebCore             	0x000000011016a668 WebCore::TreeScopeAdopter::execute() const + 24 (TreeScopeAdopter.h:38)
4   com.apple.WebCore             	0x0000000110169a77 WebCore::TreeScope::adoptIfNeeded(WebCore::Node*) + 391 (TreeScope.cpp:269)
5   com.apple.WebCore             	0x000000010ea09274 WebCore::Private::NodeRemovalDispatcher&lt;WebCore::Node, WebCore::ContainerNode, true&gt;::dispatch(WebCore::Node*, WebCore::ContainerNode*) + 68 (ContainerNodeAlgorithms.h:141)
6   com.apple.WebCore             	0x000000010ea091eb void WebCore::Private::addChildNodesToDeletionQueue&lt;WebCore::Node, WebCore::ContainerNode&gt;(WebCore::Node*&amp;, WebCore::Node*&amp;, WebCore::ContainerNode*) + 331 (ContainerNodeAlgorithms.h:183)
7   com.apple.WebCore             	0x000000010ea069c0 void WebCore::removeAllChildrenInContainer&lt;WebCore::Node, WebCore::ContainerNode&gt;(WebCore::ContainerNode*) + 48 (ContainerNodeAlgorithms.h:91)
8   com.apple.WebCore             	0x000000010ea01ba5 WebCore::ContainerNode::removeAllChildren() + 21 (ContainerNode.cpp:94)
9   com.apple.WebCore             	0x000000010f1cebe4 WebCore::InputType::destroyShadowSubtree() + 68 (InputType.cpp:492)
10  com.apple.WebCore             	0x00000001101217df WebCore::TextFieldInputType::destroyShadowSubtree() + 31 (TextFieldInputType.cpp:308)

etc.

I will file a bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785437</commentid>
    <comment_count>18</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2012-12-06 17:06:29 -0800</bug_when>
    <thetext>https://bugs.webkit.org/show_bug.cgi?id=104326</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176899</attachid>
            <date>2012-11-29 22:09:11 -0800</date>
            <delta_ts>2012-11-30 14:54:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103708-20121129220643.patch</filename>
            <type>text/plain</type>
            <size>8381</size>
            <attacher name="Elliott Sprehn">esprehn</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2MTkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGVkYWQzMGU2ZTQwNmY3
ZGI3NDYyMGU4NGQ0NGZhNjg3YjBlMzAwNS4uMmE2Njk0NjNmNzk1ZjgwYmQ3MDBlNTg1MjhmZGRj
ZDM3ZDRmODRkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEyLTExLTI5ICBFbGxp
b3R0IFNwcmVobiAgPGVzcHJlaG5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFNpbXBsaWZ5IHRy
ZWVTY29wZSBhbmQgc2V0VHJlZVNjb3BlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMDM3MDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBCeSBtYWtpbmcgdGhlIGRlZmF1bHQgdHJlZVNjb3BlIGluIE5vZGVS
YXJlRGF0YSB0aGUgZG9jdW1lbnQgYW5kIHRoZW4KKyAgICAgICAgbW92aW5nIHRoZSBtX3RyZWVT
Y29wZSBmaWVsZCB0byBOb2RlUmFyZURhdGFCYXNlIHdlIGNhbiBtYWtlIHRyZWVTY29wZQorICAg
ICAgICBpbmxpbmUgYW5kIG1ha2Ugc2V0VHJlZVNjb3BlIG11Y2ggc2ltcGxlci4KKworICAgICAg
ICBUaGVyZSdzIGFsc28gbm8gcmVhc29uIHRvIHNhdmUgY2FsbHMgdG8gcmFyZURhdGEoKSBub3cg
dGhhdCB0aGUgbWFwIGhhcworICAgICAgICBiZWVuIGVsaW1pbmF0ZWQgYnkgcjEzMzM3MiBzbyB3
ZSBjYW4gZWxpbWluYXRlIHRoZSByZXR1cm4gdmFsdWUgZnJvbQorICAgICAgICBzZXRUcmVlU2Nv
cGUuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBqdXN0IHJlZmFjdG9yaW5nLgorCisgICAgICAg
ICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6Y3JlYXRlUmFy
ZURhdGEpOgorICAgICAgICAqIGRvbS9FbGVtZW50UmFyZURhdGEuaDoKKyAgICAgICAgKEVsZW1l
bnRSYXJlRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50UmFyZURhdGE6OkVsZW1lbnRS
YXJlRGF0YSk6CisgICAgICAgICogZG9tL05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm9k
ZTo6c2V0VHJlZVNjb3BlKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OmNyZWF0ZVJhcmVEYXRh
KToKKyAgICAgICAgKiBkb20vTm9kZS5oOgorICAgICAgICAoTm9kZVJhcmVEYXRhQmFzZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpOb2RlUmFyZURhdGFCYXNlOjp0cmVlU2NvcGUpOgorICAgICAgICAo
V2ViQ29yZTo6Tm9kZVJhcmVEYXRhQmFzZTo6c2V0VHJlZVNjb3BlKToKKyAgICAgICAgKFdlYkNv
cmU6Ok5vZGVSYXJlRGF0YUJhc2U6Ok5vZGVSYXJlRGF0YUJhc2UpOgorICAgICAgICAoV2ViQ29y
ZTo6Tm9kZTo6dHJlZVNjb3BlKToKKyAgICAgICAgKE5vZGUpOgorICAgICAgICAqIGRvbS9Ob2Rl
UmFyZURhdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGVSYXJlRGF0YTo6Tm9kZVJhcmVEYXRh
KToKKyAgICAgICAgKE5vZGVSYXJlRGF0YSk6CisgICAgICAgICogZG9tL1RyZWVTY29wZUFkb3B0
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VHJlZVNjb3BlQWRvcHRlcjo6bW92ZVRyZWVUb05l
d1Njb3BlKToKKwogMjAxMi0xMS0yOSAgVmlhdGNoZXNsYXYgT3N0YXBlbmtvICA8di5vc3RhcGVu
a29Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgT3B0aW1pemF0aW9uIGluIGltYWdlIGRlY29kaW5n
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IGI3ZDBlNTk5MzJkYTRjYjUwYThlM2VkYmRhMmUw
NWExNzllNDFiN2UuLmNlMWQyNDIzMjRmMDlkMWI2ZjQ2MzBkODBhODI0ZmZlZWJkMDhjYzcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTIwOSw3ICsyMDksNyBAQCBpbmxpbmUgRWxlbWVudFJh
cmVEYXRhKiBFbGVtZW50OjplbnN1cmVFbGVtZW50UmFyZURhdGEoKQogICAgIAogT3duUHRyPE5v
ZGVSYXJlRGF0YT4gRWxlbWVudDo6Y3JlYXRlUmFyZURhdGEoKQogewotICAgIHJldHVybiBhZG9w
dFB0cihuZXcgRWxlbWVudFJhcmVEYXRhKTsKKyAgICByZXR1cm4gYWRvcHRQdHIobmV3IEVsZW1l
bnRSYXJlRGF0YShkb2N1bWVudEludGVybmFsKCkpKTsKIH0KIAogREVGSU5FX1ZJUlRVQUxfQVRU
UklCVVRFX0VWRU5UX0xJU1RFTkVSKEVsZW1lbnQsIGJsdXIpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnRSYXJlRGF0YS5oCmluZGV4IDllNGVmMWJkYjM1ZjJmNzEwZmZmZGY1ODQ1YjhhODdiMThhZTI4
OGYuLmRjNjJkZjYwMWI5ODBlMzBiODkyYWI2MzJlZjJjZDU3MWM5MzIwYTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudFJhcmVEYXRhLmgKQEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBFbGVtZW50UmFyZURhdGEgOiBwdWJsaWMgTm9kZVJhcmVEYXRhIHsKIHB1
YmxpYzoKLSAgICBFbGVtZW50UmFyZURhdGEoKTsKKyAgICBFbGVtZW50UmFyZURhdGEoRG9jdW1l
bnQqKTsKICAgICB2aXJ0dWFsIH5FbGVtZW50UmFyZURhdGEoKTsKIAogICAgIHZvaWQgcmVzZXRD
b21wdXRlZFN0eWxlKCk7CkBAIC05MSw4ICs5MSw5IEBAIGlubGluZSBJbnRTaXplIGRlZmF1bHRN
aW5pbXVtU2l6ZUZvclJlc2l6aW5nKCkKICAgICByZXR1cm4gSW50U2l6ZShMYXlvdXRVbml0Ojpt
YXgoKSwgTGF5b3V0VW5pdDo6bWF4KCkpOwogfQogCi1pbmxpbmUgRWxlbWVudFJhcmVEYXRhOjpF
bGVtZW50UmFyZURhdGEoKQotICAgIDogbV9taW5pbXVtU2l6ZUZvclJlc2l6aW5nKGRlZmF1bHRN
aW5pbXVtU2l6ZUZvclJlc2l6aW5nKCkpCitpbmxpbmUgRWxlbWVudFJhcmVEYXRhOjpFbGVtZW50
UmFyZURhdGEoRG9jdW1lbnQqIGRvY3VtZW50KQorICAgIDogTm9kZVJhcmVEYXRhKGRvY3VtZW50
KQorICAgICwgbV9taW5pbXVtU2l6ZUZvclJlc2l6aW5nKGRlZmF1bHRNaW5pbXVtU2l6ZUZvclJl
c2l6aW5nKCkpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAppbmRleCA5ZjA4OTAzYzFmMzlkYzdhNmVm
NDRmNzY5M2FhMjdkOGEzNTdjYTUxLi4wMDA4MDU0ZjZkZDIyNWUyNWExNzJkZDkxZmZmOWVmMDdk
MTU5NThmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCkBAIC00MzksMzAgKzQzOSwxMiBAQCB2b2lkIE5vZGU6
OnNldERvY3VtZW50KERvY3VtZW50KiBkb2N1bWVudCkKICAgICBtX2RvY3VtZW50ID0gZG9jdW1l
bnQ7CiB9CiAKLU5vZGVSYXJlRGF0YSogTm9kZTo6c2V0VHJlZVNjb3BlKFRyZWVTY29wZSogc2Nv
cGUpCit2b2lkIE5vZGU6OnNldFRyZWVTY29wZShUcmVlU2NvcGUqIHNjb3BlKQogewotICAgIGlm
ICghc2NvcGUpIHsKLSAgICAgICAgaWYgKGhhc1JhcmVEYXRhKCkpIHsKLSAgICAgICAgICAgIE5v
ZGVSYXJlRGF0YSogZGF0YSA9IHJhcmVEYXRhKCk7Ci0gICAgICAgICAgICBkYXRhLT5zZXRUcmVl
U2NvcGUoMCk7Ci0gICAgICAgICAgICByZXR1cm4gZGF0YTsKLSAgICAgICAgfQotCi0gICAgICAg
IHJldHVybiAwOwotICAgIH0KLQotICAgIE5vZGVSYXJlRGF0YSogZGF0YSA9IGVuc3VyZVJhcmVE
YXRhKCk7Ci0gICAgZGF0YS0+c2V0VHJlZVNjb3BlKHNjb3BlKTsKLSAgICByZXR1cm4gZGF0YTsK
LX0KKyAgICBpZiAoIWhhc1JhcmVEYXRhKCkgJiYgc2NvcGUtPmlzRG9jdW1lbnROb2RlKCkpCisg
ICAgICAgIHJldHVybjsKIAotVHJlZVNjb3BlKiBOb2RlOjp0cmVlU2NvcGUoKSBjb25zdAotewot
ICAgIC8vIEZJWE1FOiBVc2luZyBtX2RvY3VtZW50IGRpcmVjdGx5IGlzIG5vdCBnb29kIC0+IHNl
ZSBjb21tZW50IHdpdGggZG9jdW1lbnQoKSBpbiB0aGUgaGVhZGVyIGZpbGUuCi0gICAgaWYgKCFo
YXNSYXJlRGF0YSgpKQotICAgICAgICByZXR1cm4gbV9kb2N1bWVudDsKLSAgICBUcmVlU2NvcGUq
IHNjb3BlID0gcmFyZURhdGEoKS0+dHJlZVNjb3BlKCk7Ci0gICAgcmV0dXJuIHNjb3BlID8gc2Nv
cGUgOiBtX2RvY3VtZW50OworICAgIGVuc3VyZVJhcmVEYXRhKCktPnNldFRyZWVTY29wZShzY29w
ZSk7CiB9CiAKIE5vZGVSYXJlRGF0YSogTm9kZTo6cmFyZURhdGEoKSBjb25zdApAQCAtNDg2LDcg
KzQ2OCw3IEBAIE5vZGVSYXJlRGF0YSogTm9kZTo6ZW5zdXJlUmFyZURhdGEoKQogCiBPd25QdHI8
Tm9kZVJhcmVEYXRhPiBOb2RlOjpjcmVhdGVSYXJlRGF0YSgpCiB7Ci0gICAgcmV0dXJuIGFkb3B0
UHRyKG5ldyBOb2RlUmFyZURhdGEpOworICAgIHJldHVybiBhZG9wdFB0cihuZXcgTm9kZVJhcmVE
YXRhKGRvY3VtZW50SW50ZXJuYWwoKSkpOwogfQogCiB2b2lkIE5vZGU6OmNsZWFyUmFyZURhdGEo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Ob2RlLmgKaW5kZXggNjU5M2Y3OGUyMmE1YWQyMTNhYjEyODI2ZDk5NzVkZjIyNTg4YjFi
NC4uMzY3ZGM3YmQxMmI5MmMxYzlkODFkNzBkYzYxYmI2YzVkNDZjZGU4ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL05vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5o
CkBAIC0xMTQsMTEgKzExNCwxOSBAQCBjbGFzcyBOb2RlUmFyZURhdGFCYXNlIHsKIHB1YmxpYzoK
ICAgICBSZW5kZXJPYmplY3QqIHJlbmRlcmVyKCkgY29uc3QgeyByZXR1cm4gbV9yZW5kZXJlcjsg
fQogICAgIHZvaWQgc2V0UmVuZGVyZXIoUmVuZGVyT2JqZWN0KiByZW5kZXJlcikgeyBtX3JlbmRl
cmVyID0gcmVuZGVyZXI7IH0KKworICAgIFRyZWVTY29wZSogdHJlZVNjb3BlKCkgY29uc3QgeyBy
ZXR1cm4gbV90cmVlU2NvcGU7IH0KKyAgICB2b2lkIHNldFRyZWVTY29wZShUcmVlU2NvcGUqIHNj
b3BlKSB7IG1fdHJlZVNjb3BlID0gc2NvcGU7IH0KKwogICAgIHZpcnR1YWwgfk5vZGVSYXJlRGF0
YUJhc2UoKSB7IH0KIHByb3RlY3RlZDoKLSAgICBOb2RlUmFyZURhdGFCYXNlKCkgeyB9CisgICAg
Tm9kZVJhcmVEYXRhQmFzZShUcmVlU2NvcGUqIHNjb3BlKQorICAgICAgICA6IG1fdHJlZVNjb3Bl
KHNjb3BlKQorICAgIHsKKyAgICB9CiBwcml2YXRlOgogICAgIFJlbmRlck9iamVjdCogbV9yZW5k
ZXJlcjsKKyAgICBUcmVlU2NvcGUqIG1fdHJlZVNjb3BlOwogfTsKIAogY2xhc3MgTm9kZSA6IHB1
YmxpYyBFdmVudFRhcmdldCwgcHVibGljIFNjcmlwdFdyYXBwYWJsZSwgcHVibGljIFRyZWVTaGFy
ZWQ8Tm9kZSwgQ29udGFpbmVyTm9kZT4gewpAQCAtNDQ1LDcgKzQ1MywxMCBAQCBwdWJsaWM6CiAg
ICAgICAgIHJldHVybiBkb2N1bWVudEludGVybmFsKCk7CiAgICAgfQogCi0gICAgVHJlZVNjb3Bl
KiB0cmVlU2NvcGUoKSBjb25zdDsKKyAgICBUcmVlU2NvcGUqIHRyZWVTY29wZSgpIGNvbnN0Cisg
ICAgeworICAgICAgICByZXR1cm4gaGFzUmFyZURhdGEoKSA/IG1fZGF0YS5tX3JhcmVEYXRhLT50
cmVlU2NvcGUoKSA6IGRvY3VtZW50SW50ZXJuYWwoKTsKKyAgICB9CiAKICAgICAvLyBSZXR1cm5z
IHRydWUgaWYgdGhpcyBub2RlIGlzIGFzc29jaWF0ZWQgd2l0aCBhIGRvY3VtZW50IGFuZCBpcyBp
biBpdHMgYXNzb2NpYXRlZCBkb2N1bWVudCdzCiAgICAgLy8gbm9kZSB0cmVlLCBmYWxzZSBvdGhl
cndpc2UuCkBAIC03NzAsOCArNzgxLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHJlbW92ZWRMYXN0
UmVmKCk7CiAKICAgICAvLyBUaGVzZSBBUEkgc2hvdWxkIGJlIG9ubHkgdXNlZCBmb3IgYSB0cmVl
IHNjb3BlIG1pZ3JhdGlvbi4KLSAgICAvLyBzZXRUcmVlU2NvcGUoKSByZXR1cm5zIE5vZGVSYXJl
RGF0YSB0byBzYXZlIGV4dHJhIG5vZGVSYXJlRGF0YSgpIGludm9jYXRpb25zIG9uIHRoZSBjYWxs
ZXIgc2l0ZS4KLSAgICBOb2RlUmFyZURhdGEqIHNldFRyZWVTY29wZShUcmVlU2NvcGUqKTsKKyAg
ICB2b2lkIHNldFRyZWVTY29wZShUcmVlU2NvcGUqKTsKICAgICB2b2lkIHNldERvY3VtZW50KERv
Y3VtZW50Kik7CiAKICAgICBlbnVtIEVkaXRhYmxlTGV2ZWwgeyBFZGl0YWJsZSwgUmljaGx5RWRp
dGFibGUgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaAppbmRleCBhYzU1MWMzYTIyY2MxNDAx
ZmNiODljN2EwNTg2MmJlMmNjZjIzYTgxLi5mOGY4NThjYmEyYTczNTZjZmJkYWMyNzIwOTkwNjlj
ZjI5YTcwMWNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCkBAIC0xOTksOCArMTk5LDgg
QEAgcHJpdmF0ZToKIGNsYXNzIE5vZGVSYXJlRGF0YSA6IHB1YmxpYyBOb2RlUmFyZURhdGFCYXNl
IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShOb2RlUmFyZURhdGEpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzogICAgCi0gICAgTm9kZVJhcmVEYXRhKCkKLSAgICAgICAgOiBt
X3RyZWVTY29wZSgwKQorICAgIE5vZGVSYXJlRGF0YShEb2N1bWVudCogZG9jdW1lbnQpCisgICAg
ICAgIDogTm9kZVJhcmVEYXRhQmFzZShkb2N1bWVudCkKICAgICAgICAgLCBtX2NoaWxkTm9kZUxp
c3QoMCkKICAgICAgICAgLCBtX3RhYkluZGV4KDApCiAgICAgICAgICwgbV9jaGlsZEluZGV4KDAp
CkBAIC0yMzAsOSArMjMwLDYgQEAgcHVibGljOgogICAgIHsKICAgICB9CiAKLSAgICBUcmVlU2Nv
cGUqIHRyZWVTY29wZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHJlZVNjb3BlOyB9Ci0gICAgdm9pZCBz
ZXRUcmVlU2NvcGUoVHJlZVNjb3BlKiB0cmVlU2NvcGUpIHsgbV90cmVlU2NvcGUgPSB0cmVlU2Nv
cGU7IH0KLSAgICAKICAgICB2b2lkIGNsZWFyTm9kZUxpc3RzKCkgeyBtX25vZGVMaXN0cy5jbGVh
cigpOyB9CiAgICAgdm9pZCBzZXROb2RlTGlzdHMoUGFzc093blB0cjxOb2RlTGlzdHNOb2RlRGF0
YT4gbGlzdHMpIHsgbV9ub2RlTGlzdHMgPSBsaXN0czsgfQogICAgIE5vZGVMaXN0c05vZGVEYXRh
KiBub2RlTGlzdHMoKSBjb25zdCB7IHJldHVybiBtX25vZGVMaXN0cy5nZXQoKTsgfQpAQCAtMzY2
LDcgKzM2Myw2IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIHNldENoaWxkSW5kZXgodW5zaWduZWQg
aW5kZXgpIHsgbV9jaGlsZEluZGV4ID0gaW5kZXg7IH0KIAogcHJpdmF0ZToKLSAgICBUcmVlU2Nv
cGUqIG1fdHJlZVNjb3BlOwogICAgIE93blB0cjxOb2RlTGlzdHNOb2RlRGF0YT4gbV9ub2RlTGlz
dHM7CiAgICAgQ2hpbGROb2RlTGlzdCogbV9jaGlsZE5vZGVMaXN0OwogICAgIHNob3J0IG1fdGFi
SW5kZXg7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVHJlZVNjb3BlQWRvcHRlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVHJlZVNjb3BlQWRvcHRlci5jcHAKaW5kZXggYzc3NTMx
NTYzMzljYzJiZWI4ZDgxNTRlNWViNzg1NmRiZGIyZTVhYi4uOGNkNjI0OWJkNzYwOWUzZjA2OTYx
ZTMwODU5ZWUyZGFkYmZjMTU5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1RyZWVT
Y29wZUFkb3B0ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UcmVlU2NvcGVBZG9wdGVy
LmNwcApAQCAtNDksNyArNDksOSBAQCB2b2lkIFRyZWVTY29wZUFkb3B0ZXI6Om1vdmVUcmVlVG9O
ZXdTY29wZShOb2RlKiByb290KSBjb25zdAogICAgICAgICBvbGREb2N1bWVudC0+aW5jRE9NVHJl
ZVZlcnNpb24oKTsKIAogICAgIGZvciAoTm9kZSogbm9kZSA9IHJvb3Q7IG5vZGU7IG5vZGUgPSBu
b2RlLT50cmF2ZXJzZU5leHROb2RlKHJvb3QpKSB7Ci0gICAgICAgIGlmIChOb2RlUmFyZURhdGEq
IHJhcmVEYXRhID0gbm9kZS0+c2V0VHJlZVNjb3BlKG5ld0RvY3VtZW50ID09IG1fbmV3U2NvcGUg
PyAwIDogbV9uZXdTY29wZSkpIHsKKyAgICAgICAgbm9kZS0+c2V0VHJlZVNjb3BlKG1fbmV3U2Nv
cGUpOworICAgICAgICBpZiAobm9kZS0+aGFzUmFyZURhdGEoKSkgeworICAgICAgICAgICAgTm9k
ZVJhcmVEYXRhKiByYXJlRGF0YSA9IG5vZGUtPnJhcmVEYXRhKCk7CiAgICAgICAgICAgICBpZiAo
cmFyZURhdGEtPm5vZGVMaXN0cygpKQogICAgICAgICAgICAgICAgIHJhcmVEYXRhLT5ub2RlTGlz
dHMoKS0+YWRvcHRUcmVlU2NvcGUob2xkRG9jdW1lbnQsIG5ld0RvY3VtZW50KTsKICAgICAgICAg
fQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177030</attachid>
            <date>2012-11-30 14:54:40 -0800</date>
            <delta_ts>2012-12-02 03:17:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103708-20121130145212.patch</filename>
            <type>text/plain</type>
            <size>10016</size>
            <attacher name="Elliott Sprehn">esprehn</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2Mjc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTU0YTNkZjM2YjJmYjJm
ODZlOGQzYWRkMGFkZTk4MGZjMDFhZmY0ZS4uYTVkYmY1OTdkNmU0ZTdmOWJmYzlmM2RiMTQ0ZjI1
MDVjZGU4ODRiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDEyLTExLTMwICBFbGxp
b3R0IFNwcmVobiAgPGVzcHJlaG5AZ21haWwuY29tPgorCisgICAgICAgIFNpbXBsaWZ5IHRyZWVT
Y29wZSBhbmQgc2V0VHJlZVNjb3BlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDM3MDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBCeSBtYWtpbmcgdGhlIGRlZmF1bHQgdHJlZVNjb3BlIGluIE5vZGVSYXJl
RGF0YSB0aGUgZG9jdW1lbnQgYW5kIHRoZW4KKyAgICAgICAgbW92aW5nIHRoZSBtX3RyZWVTY29w
ZSBmaWVsZCB0byBOb2RlUmFyZURhdGFCYXNlIHdlIGNhbiBtYWtlIHRyZWVTY29wZQorICAgICAg
ICBpbmxpbmUgYW5kIG1ha2Ugc2V0VHJlZVNjb3BlIG11Y2ggc2ltcGxlci4KKworICAgICAgICBU
aGVyZSdzIGFsc28gbm8gcmVhc29uIHRvIHNhdmUgY2FsbHMgdG8gcmFyZURhdGEoKSBub3cgdGhh
dCB0aGUgbWFwIGhhcworICAgICAgICBiZWVuIGVsaW1pbmF0ZWQgYnkgcjEzMzM3MiBzbyB3ZSBj
YW4gZWxpbWluYXRlIHRoZSByZXR1cm4gdmFsdWUgZnJvbQorICAgICAgICBzZXRUcmVlU2NvcGUu
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBqdXN0IHJlZmFjdG9yaW5nLgorCisgICAgICAgICog
V2ViQ29yZS5leHAuaW46CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgIChXZWJD
b3JlOjpOb2RlOjp0cmVlU2NvcGUpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogZG9t
L0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6Y3JlYXRlUmFyZURhdGEp
OgorICAgICAgICAqIGRvbS9FbGVtZW50UmFyZURhdGEuaDoKKyAgICAgICAgKEVsZW1lbnRSYXJl
RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50UmFyZURhdGE6OkVsZW1lbnRSYXJlRGF0
YSk6CisgICAgICAgICogZG9tL05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6c2V0
VHJlZVNjb3BlKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OmNyZWF0ZVJhcmVEYXRhKToKKyAg
ICAgICAgKiBkb20vTm9kZS5oOgorICAgICAgICAoTm9kZVJhcmVEYXRhQmFzZSk6CisgICAgICAg
IChXZWJDb3JlOjpOb2RlUmFyZURhdGFCYXNlOjp0cmVlU2NvcGUpOgorICAgICAgICAoV2ViQ29y
ZTo6Tm9kZVJhcmVEYXRhQmFzZTo6c2V0VHJlZVNjb3BlKToKKyAgICAgICAgKFdlYkNvcmU6Ok5v
ZGVSYXJlRGF0YUJhc2U6Ok5vZGVSYXJlRGF0YUJhc2UpOgorICAgICAgICAoTm9kZSk6CisgICAg
ICAgICogZG9tL05vZGVSYXJlRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb2RlUmFyZURh
dGE6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBkb20vTm9kZVJhcmVEYXRhLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpOb2RlUmFyZURhdGE6Ok5vZGVSYXJlRGF0YSk6CisgICAgICAgIChO
b2RlUmFyZURhdGEpOgorICAgICAgICAqIGRvbS9UcmVlU2NvcGVBZG9wdGVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlRyZWVTY29wZUFkb3B0ZXI6Om1vdmVUcmVlVG9OZXdTY29wZSk6CisKIDIw
MTItMTEtMzAgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMzYxNDIuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmlu
CmluZGV4IGJhNjA4NzdjNTQ1NjZkNTFhNzkyODE0NDBlM2IyMDM5N2UxZmU1OGYuLjZkNTVlODE5
ZWJjMzk1ZDc1NjNjYTQwZjQ1ZGM1ZDI5N2ViZDk0OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBA
IC0xMzYyLDcgKzEzNjIsNiBAQCBfX1pOSzdXZWJDb3JlNE5vZGUyMHRyYXZlcnNlUHJldmlvdXNO
b2RlRVBLUzBfCiBfX1pOSzdXZWJDb3JlNE5vZGUyN3RyYXZlcnNlTmV4dEFuY2VzdG9yU2libGlu
Z0V2CiBfX1pOSzdXZWJDb3JlNE5vZGUzMW51bWJlck9mU2NvcGVkSFRNTFN0eWxlQ2hpbGRyZW5F
dgogX19aTks3V2ViQ29yZTROb2RlOW5vZGVJbmRleEV2Ci1fX1pOSzdXZWJDb3JlNE5vZGU5dHJl
ZVNjb3BlRXYKIF9fWk5LN1dlYkNvcmU0UGFnZTEwcGx1Z2luRGF0YUV2CiBfX1pOSzdXZWJDb3Jl
NFBhZ2UxNHJlbmRlclRyZWVTaXplRXYKIF9fWk5LN1dlYkNvcmU0UGFnZTE1YmFja0ZvcndhcmRM
aXN0RXYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggNGUyNjcxNjExMjIwZDNmYmY3NzIwYTA4ZGM0
ZDc5NTNkYTFlNTBlZS4uZDY5N2NlM2E3MzBiYWEwMDEyYTNlOTlmZjhhNzllOTQyOTcyY2U3ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTE1MzgsNiArMTUzOCwxMSBAQCBpbmxpbmUgYm9vbCBO
b2RlOjppc0RvY3VtZW50Tm9kZSgpIGNvbnN0CiAgICAgcmV0dXJuIHRoaXMgPT0gbV9kb2N1bWVu
dDsKIH0KIAoraW5saW5lIFRyZWVTY29wZSogTm9kZTo6dHJlZVNjb3BlKCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gaGFzUmFyZURhdGEoKSA/IG1fZGF0YS5tX3JhcmVEYXRhLT50cmVlU2NvcGUoKSA6
IGRvY3VtZW50SW50ZXJuYWwoKTsKK30KKwogaW5saW5lIE5vZGU6Ok5vZGUoRG9jdW1lbnQqIGRv
Y3VtZW50LCBDb25zdHJ1Y3Rpb25UeXBlIHR5cGUpCiAgICAgOiBtX25vZGVGbGFncyh0eXBlKQog
ICAgICwgbV9kb2N1bWVudChkb2N1bWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCBiN2Qw
ZTU5OTMyZGE0Y2I1MGE4ZTNlZGJkYTJlMDVhMTc5ZTQxYjdlLi5jZTFkMjQyMzI0ZjA5ZDFiNmY0
NjMwZDgwYTgyNGZmZWViZDA4Y2M3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC0yMDksNyAr
MjA5LDcgQEAgaW5saW5lIEVsZW1lbnRSYXJlRGF0YSogRWxlbWVudDo6ZW5zdXJlRWxlbWVudFJh
cmVEYXRhKCkKICAgICAKIE93blB0cjxOb2RlUmFyZURhdGE+IEVsZW1lbnQ6OmNyZWF0ZVJhcmVE
YXRhKCkKIHsKLSAgICByZXR1cm4gYWRvcHRQdHIobmV3IEVsZW1lbnRSYXJlRGF0YSk7CisgICAg
cmV0dXJuIGFkb3B0UHRyKG5ldyBFbGVtZW50UmFyZURhdGEoZG9jdW1lbnRJbnRlcm5hbCgpKSk7
CiB9CiAKIERFRklORV9WSVJUVUFMX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihFbGVtZW50LCBi
bHVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaAppbmRleCA5ZTRlZjFiZGIzNWYy
ZjcxMGZmZmRmNTg0NWI4YTg3YjE4YWUyODhmLi5kYzYyZGY2MDFiOTgwZTMwYjg5MmFiNjMyZWYy
Y2Q1NzFjOTMyMGE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVE
YXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oCkBAIC0zNCw3
ICszNCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRWxlbWVudFJhcmVEYXRhIDog
cHVibGljIE5vZGVSYXJlRGF0YSB7CiBwdWJsaWM6Ci0gICAgRWxlbWVudFJhcmVEYXRhKCk7Cisg
ICAgRWxlbWVudFJhcmVEYXRhKERvY3VtZW50Kik7CiAgICAgdmlydHVhbCB+RWxlbWVudFJhcmVE
YXRhKCk7CiAKICAgICB2b2lkIHJlc2V0Q29tcHV0ZWRTdHlsZSgpOwpAQCAtOTEsOCArOTEsOSBA
QCBpbmxpbmUgSW50U2l6ZSBkZWZhdWx0TWluaW11bVNpemVGb3JSZXNpemluZygpCiAgICAgcmV0
dXJuIEludFNpemUoTGF5b3V0VW5pdDo6bWF4KCksIExheW91dFVuaXQ6Om1heCgpKTsKIH0KIAot
aW5saW5lIEVsZW1lbnRSYXJlRGF0YTo6RWxlbWVudFJhcmVEYXRhKCkKLSAgICA6IG1fbWluaW11
bVNpemVGb3JSZXNpemluZyhkZWZhdWx0TWluaW11bVNpemVGb3JSZXNpemluZygpKQoraW5saW5l
IEVsZW1lbnRSYXJlRGF0YTo6RWxlbWVudFJhcmVEYXRhKERvY3VtZW50KiBkb2N1bWVudCkKKyAg
ICA6IE5vZGVSYXJlRGF0YShkb2N1bWVudCkKKyAgICAsIG1fbWluaW11bVNpemVGb3JSZXNpemlu
ZyhkZWZhdWx0TWluaW11bVNpemVGb3JSZXNpemluZygpKQogewogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAK
aW5kZXggMWQ5ZGZjNDRkMmU5ODk1NzVlYWI2ZGM0ZmM1MmYxYTMwZmY2YzEyNS4uZDJmYmIxNmM4
ZjQ1ODlmZjQyMDRiOTRlN2E1OTZhZGM5MDA1MWJkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL05vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcApAQCAtNDM5
LDMwICs0MzksMTIgQEAgdm9pZCBOb2RlOjpzZXREb2N1bWVudChEb2N1bWVudCogZG9jdW1lbnQp
CiAgICAgbV9kb2N1bWVudCA9IGRvY3VtZW50OwogfQogCi1Ob2RlUmFyZURhdGEqIE5vZGU6OnNl
dFRyZWVTY29wZShUcmVlU2NvcGUqIHNjb3BlKQordm9pZCBOb2RlOjpzZXRUcmVlU2NvcGUoVHJl
ZVNjb3BlKiBzY29wZSkKIHsKLSAgICBpZiAoIXNjb3BlKSB7Ci0gICAgICAgIGlmIChoYXNSYXJl
RGF0YSgpKSB7Ci0gICAgICAgICAgICBOb2RlUmFyZURhdGEqIGRhdGEgPSByYXJlRGF0YSgpOwot
ICAgICAgICAgICAgZGF0YS0+c2V0VHJlZVNjb3BlKDApOwotICAgICAgICAgICAgcmV0dXJuIGRh
dGE7Ci0gICAgICAgIH0KLQotICAgICAgICByZXR1cm4gMDsKLSAgICB9Ci0KLSAgICBOb2RlUmFy
ZURhdGEqIGRhdGEgPSBlbnN1cmVSYXJlRGF0YSgpOwotICAgIGRhdGEtPnNldFRyZWVTY29wZShz
Y29wZSk7Ci0gICAgcmV0dXJuIGRhdGE7Ci19CisgICAgaWYgKCFoYXNSYXJlRGF0YSgpICYmIHNj
b3BlLT5yb290Tm9kZSgpLT5pc0RvY3VtZW50Tm9kZSgpKQorICAgICAgICByZXR1cm47CiAKLVRy
ZWVTY29wZSogTm9kZTo6dHJlZVNjb3BlKCkgY29uc3QKLXsKLSAgICAvLyBGSVhNRTogVXNpbmcg
bV9kb2N1bWVudCBkaXJlY3RseSBpcyBub3QgZ29vZCAtPiBzZWUgY29tbWVudCB3aXRoIGRvY3Vt
ZW50KCkgaW4gdGhlIGhlYWRlciBmaWxlLgotICAgIGlmICghaGFzUmFyZURhdGEoKSkKLSAgICAg
ICAgcmV0dXJuIG1fZG9jdW1lbnQ7Ci0gICAgVHJlZVNjb3BlKiBzY29wZSA9IHJhcmVEYXRhKCkt
PnRyZWVTY29wZSgpOwotICAgIHJldHVybiBzY29wZSA/IHNjb3BlIDogbV9kb2N1bWVudDsKKyAg
ICBlbnN1cmVSYXJlRGF0YSgpLT5zZXRUcmVlU2NvcGUoc2NvcGUpOwogfQogCiBOb2RlUmFyZURh
dGEqIE5vZGU6OnJhcmVEYXRhKCkgY29uc3QKQEAgLTQ4Niw3ICs0NjgsNyBAQCBOb2RlUmFyZURh
dGEqIE5vZGU6OmVuc3VyZVJhcmVEYXRhKCkKIAogT3duUHRyPE5vZGVSYXJlRGF0YT4gTm9kZTo6
Y3JlYXRlUmFyZURhdGEoKQogewotICAgIHJldHVybiBhZG9wdFB0cihuZXcgTm9kZVJhcmVEYXRh
KTsKKyAgICByZXR1cm4gYWRvcHRQdHIobmV3IE5vZGVSYXJlRGF0YShkb2N1bWVudEludGVybmFs
KCkpKTsKIH0KIAogdm9pZCBOb2RlOjpjbGVhclJhcmVEYXRhKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Ob2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCmluZGV4IDY1
OTNmNzhlMjJhNWFkMjEzYWIxMjgyNmQ5OTc1ZGYyMjU4OGIxYjQuLjViZGZiZWFlMDZiYjhmNDM0
NTA0MTg0MjNjNGZhZDE5ZDVhYmE2YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9O
b2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaApAQCAtMTE0LDExICsxMTQsMTkg
QEAgY2xhc3MgTm9kZVJhcmVEYXRhQmFzZSB7CiBwdWJsaWM6CiAgICAgUmVuZGVyT2JqZWN0KiBy
ZW5kZXJlcigpIGNvbnN0IHsgcmV0dXJuIG1fcmVuZGVyZXI7IH0KICAgICB2b2lkIHNldFJlbmRl
cmVyKFJlbmRlck9iamVjdCogcmVuZGVyZXIpIHsgbV9yZW5kZXJlciA9IHJlbmRlcmVyOyB9CisK
KyAgICBUcmVlU2NvcGUqIHRyZWVTY29wZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHJlZVNjb3BlOyB9
CisgICAgdm9pZCBzZXRUcmVlU2NvcGUoVHJlZVNjb3BlKiBzY29wZSkgeyBtX3RyZWVTY29wZSA9
IHNjb3BlOyB9CisKICAgICB2aXJ0dWFsIH5Ob2RlUmFyZURhdGFCYXNlKCkgeyB9CiBwcm90ZWN0
ZWQ6Ci0gICAgTm9kZVJhcmVEYXRhQmFzZSgpIHsgfQorICAgIE5vZGVSYXJlRGF0YUJhc2UoVHJl
ZVNjb3BlKiBzY29wZSkKKyAgICAgICAgOiBtX3RyZWVTY29wZShzY29wZSkKKyAgICB7CisgICAg
fQogcHJpdmF0ZToKICAgICBSZW5kZXJPYmplY3QqIG1fcmVuZGVyZXI7CisgICAgVHJlZVNjb3Bl
KiBtX3RyZWVTY29wZTsKIH07CiAKIGNsYXNzIE5vZGUgOiBwdWJsaWMgRXZlbnRUYXJnZXQsIHB1
YmxpYyBTY3JpcHRXcmFwcGFibGUsIHB1YmxpYyBUcmVlU2hhcmVkPE5vZGUsIENvbnRhaW5lck5v
ZGU+IHsKQEAgLTc3MCw4ICs3NzgsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgcmVtb3ZlZExhc3RS
ZWYoKTsKIAogICAgIC8vIFRoZXNlIEFQSSBzaG91bGQgYmUgb25seSB1c2VkIGZvciBhIHRyZWUg
c2NvcGUgbWlncmF0aW9uLgotICAgIC8vIHNldFRyZWVTY29wZSgpIHJldHVybnMgTm9kZVJhcmVE
YXRhIHRvIHNhdmUgZXh0cmEgbm9kZVJhcmVEYXRhKCkgaW52b2NhdGlvbnMgb24gdGhlIGNhbGxl
ciBzaXRlLgotICAgIE5vZGVSYXJlRGF0YSogc2V0VHJlZVNjb3BlKFRyZWVTY29wZSopOworICAg
IHZvaWQgc2V0VHJlZVNjb3BlKFRyZWVTY29wZSopOwogICAgIHZvaWQgc2V0RG9jdW1lbnQoRG9j
dW1lbnQqKTsKIAogICAgIGVudW0gRWRpdGFibGVMZXZlbCB7IEVkaXRhYmxlLCBSaWNobHlFZGl0
YWJsZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmNwcAppbmRleCAwODdmOWMzZWY0NmZm
ZTU3Y2RjM2NiZTllYmMwNzdiYTZiOWZhMTE3Li5mZGI4NjI0NzlmYjVkY2IyZTdhNDBiMjhkYmY3
NzM5MzQ0MWVhZTg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRh
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmNwcApAQCAtNDksNyAr
NDksNyBAQCB2b2lkIE5vZGVMaXN0c05vZGVEYXRhOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlP
YmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjbwogdm9pZCBOb2RlUmFyZURhdGE6OnJlcG9y
dE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7
CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29y
ZU1lbW9yeVR5cGVzOjpET00pOwotICAgIGluZm8uYWRkTWVtYmVyKG1fdHJlZVNjb3BlKTsKKyAg
ICBpbmZvLmFkZE1lbWJlcih0cmVlU2NvcGUoKSk7CiAgICAgaW5mby5hZGRNZW1iZXIobV9ub2Rl
TGlzdHMpOwogICAgIGluZm8uYWRkTWVtYmVyKG1fY2hpbGROb2RlTGlzdCk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Ob2RlUmFyZURhdGEuaAppbmRleCBhYzU1MWMzYTIyY2MxNDAxZmNiODljN2EwNTg2MmJlMmNj
ZjIzYTgxLi5mOGY4NThjYmEyYTczNTZjZmJkYWMyNzIwOTkwNjljZjI5YTcwMWNkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL05vZGVSYXJlRGF0YS5oCkBAIC0xOTksOCArMTk5LDggQEAgcHJpdmF0ZToKIGNsYXNz
IE5vZGVSYXJlRGF0YSA6IHB1YmxpYyBOb2RlUmFyZURhdGFCYXNlIHsKICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShOb2RlUmFyZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzogICAgCi0gICAgTm9kZVJhcmVEYXRhKCkKLSAgICAgICAgOiBtX3RyZWVTY29wZSgwKQorICAg
IE5vZGVSYXJlRGF0YShEb2N1bWVudCogZG9jdW1lbnQpCisgICAgICAgIDogTm9kZVJhcmVEYXRh
QmFzZShkb2N1bWVudCkKICAgICAgICAgLCBtX2NoaWxkTm9kZUxpc3QoMCkKICAgICAgICAgLCBt
X3RhYkluZGV4KDApCiAgICAgICAgICwgbV9jaGlsZEluZGV4KDApCkBAIC0yMzAsOSArMjMwLDYg
QEAgcHVibGljOgogICAgIHsKICAgICB9CiAKLSAgICBUcmVlU2NvcGUqIHRyZWVTY29wZSgpIGNv
bnN0IHsgcmV0dXJuIG1fdHJlZVNjb3BlOyB9Ci0gICAgdm9pZCBzZXRUcmVlU2NvcGUoVHJlZVNj
b3BlKiB0cmVlU2NvcGUpIHsgbV90cmVlU2NvcGUgPSB0cmVlU2NvcGU7IH0KLSAgICAKICAgICB2
b2lkIGNsZWFyTm9kZUxpc3RzKCkgeyBtX25vZGVMaXN0cy5jbGVhcigpOyB9CiAgICAgdm9pZCBz
ZXROb2RlTGlzdHMoUGFzc093blB0cjxOb2RlTGlzdHNOb2RlRGF0YT4gbGlzdHMpIHsgbV9ub2Rl
TGlzdHMgPSBsaXN0czsgfQogICAgIE5vZGVMaXN0c05vZGVEYXRhKiBub2RlTGlzdHMoKSBjb25z
dCB7IHJldHVybiBtX25vZGVMaXN0cy5nZXQoKTsgfQpAQCAtMzY2LDcgKzM2Myw2IEBAIHByb3Rl
Y3RlZDoKICAgICB2b2lkIHNldENoaWxkSW5kZXgodW5zaWduZWQgaW5kZXgpIHsgbV9jaGlsZElu
ZGV4ID0gaW5kZXg7IH0KIAogcHJpdmF0ZToKLSAgICBUcmVlU2NvcGUqIG1fdHJlZVNjb3BlOwog
ICAgIE93blB0cjxOb2RlTGlzdHNOb2RlRGF0YT4gbV9ub2RlTGlzdHM7CiAgICAgQ2hpbGROb2Rl
TGlzdCogbV9jaGlsZE5vZGVMaXN0OwogICAgIHNob3J0IG1fdGFiSW5kZXg7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vVHJlZVNjb3BlQWRvcHRlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vVHJlZVNjb3BlQWRvcHRlci5jcHAKaW5kZXggYzc3NTMxNTYzMzljYzJiZWI4ZDgxNTRl
NWViNzg1NmRiZGIyZTVhYi4uOGNkNjI0OWJkNzYwOWUzZjA2OTYxZTMwODU5ZWUyZGFkYmZjMTU5
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1RyZWVTY29wZUFkb3B0ZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UcmVlU2NvcGVBZG9wdGVyLmNwcApAQCAtNDksNyArNDks
OSBAQCB2b2lkIFRyZWVTY29wZUFkb3B0ZXI6Om1vdmVUcmVlVG9OZXdTY29wZShOb2RlKiByb290
KSBjb25zdAogICAgICAgICBvbGREb2N1bWVudC0+aW5jRE9NVHJlZVZlcnNpb24oKTsKIAogICAg
IGZvciAoTm9kZSogbm9kZSA9IHJvb3Q7IG5vZGU7IG5vZGUgPSBub2RlLT50cmF2ZXJzZU5leHRO
b2RlKHJvb3QpKSB7Ci0gICAgICAgIGlmIChOb2RlUmFyZURhdGEqIHJhcmVEYXRhID0gbm9kZS0+
c2V0VHJlZVNjb3BlKG5ld0RvY3VtZW50ID09IG1fbmV3U2NvcGUgPyAwIDogbV9uZXdTY29wZSkp
IHsKKyAgICAgICAgbm9kZS0+c2V0VHJlZVNjb3BlKG1fbmV3U2NvcGUpOworICAgICAgICBpZiAo
bm9kZS0+aGFzUmFyZURhdGEoKSkgeworICAgICAgICAgICAgTm9kZVJhcmVEYXRhKiByYXJlRGF0
YSA9IG5vZGUtPnJhcmVEYXRhKCk7CiAgICAgICAgICAgICBpZiAocmFyZURhdGEtPm5vZGVMaXN0
cygpKQogICAgICAgICAgICAgICAgIHJhcmVEYXRhLT5ub2RlTGlzdHMoKS0+YWRvcHRUcmVlU2Nv
cGUob2xkRG9jdW1lbnQsIG5ld0RvY3VtZW50KTsKICAgICAgICAgfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>