<?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>75141</bug_id>
          
          <creation_ts>2011-12-22 15:42:07 -0800</creation_ts>
          <short_desc>ProcessingInstruction should not be a ContainerNode</short_desc>
          <delta_ts>2012-01-31 17:54:31 -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="Adam Klein">adamk</reporter>
          <assigned_to name="Adam Klein">adamk</assigned_to>
          <cc>annevk</cc>
    
    <cc>dglazkov</cc>
    
    <cc>Ms2ger</cc>
    
    <cc>ojan</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>526582</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-12-22 15:42:07 -0800</bug_when>
    <thetext>ProcessingInstruction should not be a ContainerNode</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>526591</commentid>
    <comment_count>1</comment_count>
      <attachid>120397</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-12-22 15:47:00 -0800</bug_when>
    <thetext>Created attachment 120397
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>526622</commentid>
    <comment_count>2</comment_count>
      <attachid>120397</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-12-22 16:22:51 -0800</bug_when>
    <thetext>Comment on attachment 120397
Patch

This changes behavior. When you call appendChild on a ProcessingInstruction and pass null for the child, you will get HIERARCHY_REQUEST_ERR now, and before you would get NOT_FOUND_ERR. While unimportant, it would be nice to get this edge case right. Could we add tests covering that behavior?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>526628</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-12-22 16:29:05 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 120397 [details])
&gt; This changes behavior. When you call appendChild on a ProcessingInstruction and pass null for the child, you will get HIERARCHY_REQUEST_ERR now, and before you would get NOT_FOUND_ERR. While unimportant, it would be nice to get this edge case right. Could we add tests covering that behavior?

An interesting point. Perhaps Node::appendChild ought to throw NOT_FOUND_ERR if its argument is null, or HIERARCHY_REQUEST_ERR if non-null.  Agreed that it&apos;d be nice to have test coverage in either case for all the various node types.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>526635</commentid>
    <comment_count>4</comment_count>
      <attachid>120397</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-22 16:37:44 -0800</bug_when>
    <thetext>Comment on attachment 120397
Patch

Attachment 120397 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10939086

New failing tests:
media/W3C/video/networkState/networkState_during_progress.html
http/tests/inspector/resource-tree/resource-tree-document-url.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>526891</commentid>
    <comment_count>5</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-12-23 10:25:08 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; (From update of attachment 120397 [details] [details])
&gt; &gt; This changes behavior. When you call appendChild on a ProcessingInstruction and pass null for the child, you will get HIERARCHY_REQUEST_ERR now, and before you would get NOT_FOUND_ERR. While unimportant, it would be nice to get this edge case right. Could we add tests covering that behavior?
&gt; 
&gt; An interesting point. Perhaps Node::appendChild ought to throw NOT_FOUND_ERR if its argument is null, or HIERARCHY_REQUEST_ERR if non-null.  Agreed that it&apos;d be nice to have test coverage in either case for all the various node types.

I don&apos;t think it&apos;s a big deal to change the error type if we&apos;re not violating the spec. I highly doubt there is code that depends on throwing a NOT_FOUND_ERR instead of a HIERARCHY_REQUEST_ERR.

We should do what we can to be inline with the new spec or get the spec changed to make the code more simple: http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-node-pre-insert.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>526894</commentid>
    <comment_count>6</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-12-23 11:53:15 -0800</bug_when>
    <thetext>According to http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-node-pre-insert:

Step 3: If parent is not a Document, DocumentFragment, or Element node, throw a &quot;HierarchyRequestError&quot; and terminate these steps.
...
Step 4.1: If node is not a DocumentFragment, DocumentType, Element, ProcessingInstruction, or Comment node, throw a &quot;HierarchyRequestError&quot; and terminate these steps.
...
Step 5: Otherwise if parent is a DocumentFragment or Element node and node is not a DocumentFragment, Element, Text, ProcessingInstruction, or Comment node, throw a &quot;HierarchyRequestError&quot; and terminate these steps.

So we should be throwing HierarchyRequestError in both of those cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>526897</commentid>
    <comment_count>7</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-12-23 12:53:08 -0800</bug_when>
    <thetext>Yup, HIERARCHY_REQUEST_ERR seems right. I was a little confused by step 1:
&quot;If child is not null and its parent is not parent, throw a &quot;NotFoundError&quot; exception and terminate these steps.&quot;

I now understand that to be talking about parent.insertBefore(newChild, oldChild) and the case where oldChild is not actually a child of parent. For that we should throw NOT_FOUND_ERR, otherwise, ProcessingInstruction should always throw HIERARCHY_REQUEST_ERR for all the DOM insertion methods. 

That said, it might make sense to change the spec here to reorder items 1-3 to the following:
1. If parent is not a Document, DocumentFragment, or Element node, throw a &quot;HierarchyRequestError&quot; and terminate these steps.
2. If node is parent or an ancestor of parent, throw a &quot;HierarchyRequestError&quot; and terminate these steps.
3. If child is not null and its parent is not parent, throw a &quot;NotFoundError&quot; exception and terminate these steps.

It&apos;s not a big deal, but it would somewhat simplify implementation.

In either case, I&apos;m fine with this patch going in as long as Adam adds a test verifying the behavior (even in a followup patch if he prefers).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>526899</commentid>
    <comment_count>8</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-12-23 13:00:42 -0800</bug_when>
    <thetext>http://lists.w3.org/Archives/Public/www-dom/2011OctDec/0271.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>526974</commentid>
    <comment_count>9</comment_count>
    <who name="Ms2ger (he/him; ⌚ UTC+1/+2)">Ms2ger</who>
    <bug_when>2011-12-24 03:12:38 -0800</bug_when>
    <thetext>Spec change: http://dvcs.w3.org/hg/domcore/rev/4bae4cfa591f

Tests: http://w3c-test.org/webapps/DOMCore/tests/submissions/Ms2ger/Node-insertBefore.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>546606</commentid>
    <comment_count>10</comment_count>
      <attachid>124842</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2012-01-31 16:17:03 -0800</bug_when>
    <thetext>Created attachment 124842
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>546697</commentid>
    <comment_count>11</comment_count>
      <attachid>124842</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-31 17:54:26 -0800</bug_when>
    <thetext>Comment on attachment 124842
Patch for landing

Clearing flags on attachment: 124842

Committed r106418: &lt;http://trac.webkit.org/changeset/106418&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>546699</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-31 17:54:31 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>120397</attachid>
            <date>2011-12-22 15:47:00 -0800</date>
            <delta_ts>2012-01-31 16:16:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-75141-20111222154659.patch</filename>
            <type>text/plain</type>
            <size>8206</size>
            <attacher name="Adam Klein">adamk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzNTUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWY5NTAyNDVjMTA4ZmEw
MGRkODZkZjFiMTRmZDFjM2QwMmI4MzY3My4uMTE5MWU4YjJhMDA4MzNiMzdjODUwZDY3NGIwNzM3
N2VhYWVmNzRlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDExLTEyLTIyICBBZGFt
IEtsZWluICA8YWRhbWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFByb2Nlc3NpbmdJbnN0cnVj
dGlvbiBzaG91bGQgbm90IGJlIGEgQ29udGFpbmVyTm9kZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNDEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQZXIgdGhlIERPTSBzcGVjLCBQcm9jZXNzaW5nSW5z
dHJ1Y3Rpb24gY2FuJ3QgaGF2ZSBhbnkgY2hpbGRyZW4uCisgICAgICAgIEFuZCB0aGUgV2ViQ29y
ZSBiZWhhdmlvciBhbHJlYWR5IG1hdGNoZXMgdGhlIHNwZWMgYnkgYWx3YXlzIHJldHVybmluZwor
ICAgICAgICBmYWxzZSBmb3IgY2hpbGRUeXBlQWxsb3dlZCgpLiBUaGlzIGNoYW5nZSBzaW1wbGlm
aWVzCisgICAgICAgIFByb2Nlc3NpbmdJbnN0cnVjdGlvbidzIGltcGxlbWVudGF0aW9uIGJ5IG1h
a2luZyBpdCBzdWJjbGFzcyBOb2RlCisgICAgICAgIGluc3RlYWQgb2YgQ29udGFpbmVyTm9kZS4K
KworICAgICAgICBObyBuZXcgdGVzdHMsIG5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAg
ICAqIGRvbS9Db250YWluZXJOb2RlLmNwcDogTW92ZWQgZGlzcGF0Y2hCZWZvcmVMb2FkRXZlbnQg
dXAgdG8gTm9kZS4KKyAgICAgICAgKiBkb20vQ29udGFpbmVyTm9kZS5oOgorICAgICAgICAqIGRv
bS9Ob2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OmRpc3BhdGNoQmVmb3JlTG9hZEV2
ZW50KTogTW92ZWQgdXAgZnJvbSBDb250YWluZXJOb2RlCisgICAgICAgIHNpbmNlIGl0J3MgdXNl
ZCBib3RoIGJ5IFByb2Nlc3NpbmdJbnN0cnVjdGlvbiBhbmQgdmFyaW91cyBFbGVtZW50CisgICAg
ICAgIHN1YmNsYXNzZXMuCisgICAgICAgICogZG9tL05vZGUuaDoKKyAgICAgICAgKiBkb20vUHJv
Y2Vzc2luZ0luc3RydWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlByb2Nlc3NpbmdJbnN0
cnVjdGlvbjo6UHJvY2Vzc2luZ0luc3RydWN0aW9uKTogQ2FsbCBOb2RlIGNvbnN0cnVjdG9yLgor
ICAgICAgICAoV2ViQ29yZTo6UHJvY2Vzc2luZ0luc3RydWN0aW9uOjppbnNlcnRlZEludG9Eb2N1
bWVudCk6IENhbGwgTm9kZSBpbXBsLgorICAgICAgICAoV2ViQ29yZTo6UHJvY2Vzc2luZ0luc3Ry
dWN0aW9uOjpyZW1vdmVkRnJvbURvY3VtZW50KTogZGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpQ
cm9jZXNzaW5nSW5zdHJ1Y3Rpb246OmZpbmlzaFBhcnNpbmdDaGlsZHJlbik6IGRpdHRvLgorICAg
ICAgICAqIGRvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uaDoKKwogMjAxMS0xMi0yMiAgQ2hyaXMg
RmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgogCiAgICAgICAgIEFYOiBhdHRyaWJ1dGVk
IHN0cmluZ3MgZG8gbm90IGluY2x1ZGUgQVhIZWFkaW5nIGluZm9ybWF0aW9uIHdoZW4gYSBsaW5r
IGlzIGNvbnRhaW5lZCB3aXRoaW4gdGhlIGhlYWRpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Db250YWluZXJOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJO
b2RlLmNwcAppbmRleCA0OWNhYThlMjEwOTRiZTQ1ODE4MmUzMDQzNWMxZjQ2ODQ3Zjg5ZTBkLi41
YTU4YjY5NDRiMmJkZTdjNGE0Yjk1ZTFlNGQ2ZDcxYWZlZjkzNGU4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0NvbnRhaW5lck5vZGUuY3BwCkBAIC0yMyw3ICsyMyw2IEBACiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAjaW5jbHVkZSAiQ29udGFpbmVyTm9kZS5oIgogCi0jaW5jbHVkZSAiQmVmb3JlTG9hZEV2ZW50
LmgiCiAjaW5jbHVkZSAiQ2hpbGRMaXN0TXV0YXRpb25TY29wZS5oIgogI2luY2x1ZGUgIkNvbnRh
aW5lck5vZGVBbGdvcml0aG1zLmgiCiAjaW5jbHVkZSAiRGVsZXRlQnV0dG9uQ29udHJvbGxlci5o
IgpAQCAtMTE2MCwxNSArMTE1OSw0IEBAIHN0YXRpYyB2b2lkIGRpc3BhdGNoQ2hpbGRSZW1vdmFs
RXZlbnRzKE5vZGUqIGNoaWxkKQogICAgIH0KIH0KIAotYm9vbCBDb250YWluZXJOb2RlOjpkaXNw
YXRjaEJlZm9yZUxvYWRFdmVudChjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkKLXsKLSAgICBpZiAo
IWRvY3VtZW50KCktPmhhc0xpc3RlbmVyVHlwZShEb2N1bWVudDo6QkVGT1JFTE9BRF9MSVNURU5F
UikpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgUmVmUHRyPENvbnRhaW5lck5vZGU+IHBy
b3RlY3Rvcih0aGlzKTsKLSAgICBSZWZQdHI8QmVmb3JlTG9hZEV2ZW50PiBiZWZvcmVMb2FkRXZl
bnQgPSBCZWZvcmVMb2FkRXZlbnQ6OmNyZWF0ZShzb3VyY2VVUkwpOwotICAgIGRpc3BhdGNoRXZl
bnQoYmVmb3JlTG9hZEV2ZW50LmdldCgpKTsKLSAgICByZXR1cm4gIWJlZm9yZUxvYWRFdmVudC0+
ZGVmYXVsdFByZXZlbnRlZCgpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5oIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0NvbnRhaW5lck5vZGUuaAppbmRleCAyYTVkNzNlM2JhMDQ0NjI0N2MyOGMxMjIyMTU2ODBk
OGU4NWUwMzk3Li4zNmEyZjAwOGMzZjRiM2YwMjI1OTlmZGEyOGM0OWU5ZWI3N2EwMTNmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmgKQEAgLTY5LDkgKzY5LDcgQEAgcHVibGljOgogICAg
IHZvaWQgdGFrZUFsbENoaWxkcmVuRnJvbShDb250YWluZXJOb2RlKik7CiAKICAgICB2b2lkIGNs
b25lQ2hpbGROb2RlcyhDb250YWluZXJOb2RlKiBjbG9uZSk7Ci0gICAgCi0gICAgYm9vbCBkaXNw
YXRjaEJlZm9yZUxvYWRFdmVudChjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCk7Ci0gICAgCisKICAg
ICB2aXJ0dWFsIHZvaWQgYXR0YWNoKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGRldGFj
aCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCB3aWxsUmVtb3ZlKCkgT1ZFUlJJREU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vTm9kZS5jcHAKaW5kZXggMjUzZWJkYjg0ZDIxYjVmZTUxYmYyMTFkZDEwZjU2ZWU4ZWFmMzVi
YS4uMWI5NGQxMzk5YWMyNWJhODdmYjU0NjIwYTZmNGNmOWJiMmNjM2M2NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2Rl
LmNwcApAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKICNpbmNs
dWRlICJBdHRyLmgiCiAjaW5jbHVkZSAiQXR0cmlidXRlLmgiCisjaW5jbHVkZSAiQmVmb3JlTG9h
ZEV2ZW50LmgiCiAjaW5jbHVkZSAiQ2hpbGRMaXN0TXV0YXRpb25TY29wZS5oIgogI2luY2x1ZGUg
IkNocm9tZS5oIgogI2luY2x1ZGUgIkNocm9tZUNsaWVudC5oIgpAQCAtMjg2MCw2ICsyODYxLDE3
IEBAIHZvaWQgTm9kZTo6ZGlzcGF0Y2hTaW11bGF0ZWRDbGljayhQYXNzUmVmUHRyPEV2ZW50PiBl
dmVudCwgYm9vbCBzZW5kTW91c2VFdmVudHMsCiAgICAgRXZlbnREaXNwYXRjaGVyOjpkaXNwYXRj
aFNpbXVsYXRlZENsaWNrKHRoaXMsIGV2ZW50LCBzZW5kTW91c2VFdmVudHMsIHNob3dQcmVzc2Vk
TG9vayk7CiB9CiAKK2Jvb2wgTm9kZTo6ZGlzcGF0Y2hCZWZvcmVMb2FkRXZlbnQoY29uc3QgU3Ry
aW5nJiBzb3VyY2VVUkwpCit7CisgICAgaWYgKCFkb2N1bWVudCgpLT5oYXNMaXN0ZW5lclR5cGUo
RG9jdW1lbnQ6OkJFRk9SRUxPQURfTElTVEVORVIpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKwor
ICAgIFJlZlB0cjxOb2RlPiBwcm90ZWN0b3IodGhpcyk7CisgICAgUmVmUHRyPEJlZm9yZUxvYWRF
dmVudD4gYmVmb3JlTG9hZEV2ZW50ID0gQmVmb3JlTG9hZEV2ZW50OjpjcmVhdGUoc291cmNlVVJM
KTsKKyAgICBkaXNwYXRjaEV2ZW50KGJlZm9yZUxvYWRFdmVudC5nZXQoKSk7CisgICAgcmV0dXJu
ICFiZWZvcmVMb2FkRXZlbnQtPmRlZmF1bHRQcmV2ZW50ZWQoKTsKK30KKwogYm9vbCBOb2RlOjpk
aXNwYXRjaFdoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiBldmVudCkKIHsKICAg
ICByZXR1cm4gRXZlbnREaXNwYXRjaGVyOjpkaXNwYXRjaEV2ZW50KHRoaXMsIFdoZWVsRXZlbnRE
aXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUoZXZlbnQsIGRvY3VtZW50KCktPmRlZmF1bHRWaWV3KCkp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vTm9kZS5oCmluZGV4IDIxOTU1YWQ2OWZhZGUxNGMzNzNjM2NkZDEzY2EwNzU1NzAzY2Iy
ZDMuLjFjYTk4ZDIyYTUwMmM0YWM4YzFiNjIyODBjZGQwNzZiMDBjNGUzYmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUu
aApAQCAtNTY5LDYgKzU2OSw3IEBAIHB1YmxpYzoKICAgICBib29sIGRpc3BhdGNoV2hlZWxFdmVu
dChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmKTsKICAgICBib29sIGRpc3BhdGNoTW91c2VFdmVu
dChjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmLCBjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlw
ZSwgaW50IGNsaWNrQ291bnQgPSAwLCBOb2RlKiByZWxhdGVkVGFyZ2V0ID0gMCk7CiAgICAgdm9p
ZCBkaXNwYXRjaFNpbXVsYXRlZENsaWNrKFBhc3NSZWZQdHI8RXZlbnQ+IHVuZGVybHlpbmdFdmVu
dCwgYm9vbCBzZW5kTW91c2VFdmVudHMgPSBmYWxzZSwgYm9vbCBzaG93UHJlc3NlZExvb2sgPSB0
cnVlKTsKKyAgICBib29sIGRpc3BhdGNoQmVmb3JlTG9hZEV2ZW50KGNvbnN0IFN0cmluZyYgc291
cmNlVVJMKTsKIAogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaEZvY3VzRXZlbnQoUGFzc1JlZlB0
cjxOb2RlPiBvbGRGb2N1c2VkTm9kZSk7CiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoQmx1ckV2
ZW50KFBhc3NSZWZQdHI8Tm9kZT4gbmV3Rm9jdXNlZE5vZGUpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmNwcAppbmRleCA1YjBhMmY4ZTRiMGQ3NDViZGI3NTc0
ODk5M2M3NzUzNjI2N2MxOWViLi4zODE3Mjc5Yzg0OWEyYzBjOTNiMjQ2MjE3ZThkMGJiZTcxZTRl
ZjQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmNwcApA
QCAtMzYsNyArMzYsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBpbmxpbmUgUHJvY2Vzc2lu
Z0luc3RydWN0aW9uOjpQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oRG9jdW1lbnQqIGRvY3VtZW50LCBj
b25zdCBTdHJpbmcmIHRhcmdldCwgY29uc3QgU3RyaW5nJiBkYXRhKQotICAgIDogQ29udGFpbmVy
Tm9kZShkb2N1bWVudCkKKyAgICA6IE5vZGUoZG9jdW1lbnQsIENyZWF0ZU90aGVyKQogICAgICwg
bV90YXJnZXQodGFyZ2V0KQogICAgICwgbV9kYXRhKGRhdGEpCiAgICAgLCBtX2NhY2hlZFNoZWV0
KDApCkBAIC0xMDMsMTIgKzEwMyw2IEBAIFBhc3NSZWZQdHI8Tm9kZT4gUHJvY2Vzc2luZ0luc3Ry
dWN0aW9uOjpjbG9uZU5vZGUoYm9vbCAvKmRlZXAqLykKICAgICByZXR1cm4gY3JlYXRlKGRvY3Vt
ZW50KCksIG1fdGFyZ2V0LCBtX2RhdGEpOwogfQogCi0vLyBET00gU2VjdGlvbiAxLjEuMQotYm9v
bCBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb246OmNoaWxkVHlwZUFsbG93ZWQoTm9kZVR5cGUpIGNvbnN0
Ci17Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCiB2b2lkIFByb2Nlc3NpbmdJbnN0cnVjdGlvbjo6
Y2hlY2tTdHlsZVNoZWV0KCkKIHsKICAgICBpZiAobV90YXJnZXQgPT0gInhtbC1zdHlsZXNoZWV0
IiAmJiBkb2N1bWVudCgpLT5mcmFtZSgpICYmIHBhcmVudE5vZGUoKSA9PSBkb2N1bWVudCgpKSB7
CkBAIC0yODAsMTQgKzI3NCwxNCBAQCB2b2lkIFByb2Nlc3NpbmdJbnN0cnVjdGlvbjo6YWRkU3Vi
cmVzb3VyY2VBdHRyaWJ1dGVVUkxzKExpc3RIYXNoU2V0PEtVUkw+JiB1cmxzKQogCiB2b2lkIFBy
b2Nlc3NpbmdJbnN0cnVjdGlvbjo6aW5zZXJ0ZWRJbnRvRG9jdW1lbnQoKQogewotICAgIENvbnRh
aW5lck5vZGU6Omluc2VydGVkSW50b0RvY3VtZW50KCk7CisgICAgTm9kZTo6aW5zZXJ0ZWRJbnRv
RG9jdW1lbnQoKTsKICAgICBkb2N1bWVudCgpLT5hZGRTdHlsZVNoZWV0Q2FuZGlkYXRlTm9kZSh0
aGlzLCBtX2NyZWF0ZWRCeVBhcnNlcik7CiAgICAgY2hlY2tTdHlsZVNoZWV0KCk7CiB9CiAKIHZv
aWQgUHJvY2Vzc2luZ0luc3RydWN0aW9uOjpyZW1vdmVkRnJvbURvY3VtZW50KCkKIHsKLSAgICBD
b250YWluZXJOb2RlOjpyZW1vdmVkRnJvbURvY3VtZW50KCk7CisgICAgTm9kZTo6cmVtb3ZlZEZy
b21Eb2N1bWVudCgpOwogCiAgICAgZG9jdW1lbnQoKS0+cmVtb3ZlU3R5bGVTaGVldENhbmRpZGF0
ZU5vZGUodGhpcyk7CiAKQEAgLTMwNCw3ICsyOTgsNyBAQCB2b2lkIFByb2Nlc3NpbmdJbnN0cnVj
dGlvbjo6cmVtb3ZlZEZyb21Eb2N1bWVudCgpCiB2b2lkIFByb2Nlc3NpbmdJbnN0cnVjdGlvbjo6
ZmluaXNoUGFyc2luZ0NoaWxkcmVuKCkKIHsKICAgICBtX2NyZWF0ZWRCeVBhcnNlciA9IGZhbHNl
OwotICAgIENvbnRhaW5lck5vZGU6OmZpbmlzaFBhcnNpbmdDaGlsZHJlbigpOworICAgIE5vZGU6
OmZpbmlzaFBhcnNpbmdDaGlsZHJlbigpOwogfQogCiB9IC8vIG5hbWVzcGFjZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5oIGIvU291cmNlL1dl
YkNvcmUvZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5oCmluZGV4IGMwYzlkMDIwOGY1ZTJiYTAx
YTIxNTk1ZDg2ZGE0YTk2Y2EzMGQzMjQuLjJhNjE5YWQ5ZWNlMWUzYzM4OTZlOWZmZjk1MzQyNmEx
MWFjODVkNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qcm9jZXNzaW5nSW5zdHJ1
Y3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmgK
QEAgLTI0LDE0ICsyNCwxNCBAQAogCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIK
ICNpbmNsdWRlICJDYWNoZWRTdHlsZVNoZWV0Q2xpZW50LmgiCi0jaW5jbHVkZSAiQ29udGFpbmVy
Tm9kZS5oIgorI2luY2x1ZGUgIk5vZGUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFz
cyBTdHlsZVNoZWV0OwogY2xhc3MgQ1NTU3R5bGVTaGVldDsKIAotY2xhc3MgUHJvY2Vzc2luZ0lu
c3RydWN0aW9uIDogcHVibGljIENvbnRhaW5lck5vZGUsIHByaXZhdGUgQ2FjaGVkU3R5bGVTaGVl
dENsaWVudCB7CitjbGFzcyBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24gOiBwdWJsaWMgTm9kZSwgcHJp
dmF0ZSBDYWNoZWRTdHlsZVNoZWV0Q2xpZW50IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24+IGNyZWF0ZShEb2N1bWVudCosIGNvbnN0IFN0cmlu
ZyYgdGFyZ2V0LCBjb25zdCBTdHJpbmcmIGRhdGEpOwogICAgIHZpcnR1YWwgflByb2Nlc3NpbmdJ
bnN0cnVjdGlvbigpOwpAQCAtNjEsNyArNjEsNiBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgU3Ry
aW5nIG5vZGVWYWx1ZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgdm9pZCBzZXROb2RlVmFsdWUoY29u
c3QgU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxOb2Rl
PiBjbG9uZU5vZGUoYm9vbCBkZWVwKTsKLSAgICB2aXJ0dWFsIGJvb2wgY2hpbGRUeXBlQWxsb3dl
ZChOb2RlVHlwZSkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIG9mZnNldEluQ2hhcmFjdGVycygp
IGNvbnN0OwogICAgIHZpcnR1YWwgaW50IG1heENoYXJhY3Rlck9mZnNldCgpIGNvbnN0OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124842</attachid>
            <date>2012-01-31 16:17:03 -0800</date>
            <delta_ts>2012-01-31 17:54:26 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-75141-20120131161702.patch</filename>
            <type>text/plain</type>
            <size>10962</size>
            <attacher name="Adam Klein">adamk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2MzYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTgxNjc2NjFhNTU1NTBm
NDE0ZjhjMzUwZWUwNWMzZGQ5NDMwN2MwZC4uMWJjOWM2NzJhMjJhZmNhYTIwMDU2ZWMxYWZlMTNj
YzAyMWQ0YzA3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTAxLTMxICBBZGFt
IEtsZWluICA8YWRhbWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFByb2Nlc3NpbmdJbnN0cnVj
dGlvbiBzaG91bGQgbm90IGJlIGEgQ29udGFpbmVyTm9kZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNDEKKworICAgICAgICBSZXZpZXdlZCBieSBE
YXJpbiBBZGxlci4KKworICAgICAgICBQZXIgdGhlIERPTSBzcGVjLCBQcm9jZXNzaW5nSW5zdHJ1
Y3Rpb24gY2FuJ3QgaGF2ZSBhbnkgY2hpbGRyZW4uCisgICAgICAgIEFuZCB0aGUgV2ViQ29yZSBi
ZWhhdmlvciBhbHJlYWR5IG1hdGNoZXMgdGhlIHNwZWMgYnkgYWx3YXlzIHJldHVybmluZworICAg
ICAgICBmYWxzZSBmb3IgY2hpbGRUeXBlQWxsb3dlZCgpLiBUaGlzIGNoYW5nZSBzaW1wbGlmaWVz
CisgICAgICAgIFByb2Nlc3NpbmdJbnN0cnVjdGlvbidzIGltcGxlbWVudGF0aW9uIGJ5IG1ha2lu
ZyBpdCBzdWJjbGFzcyBOb2RlCisgICAgICAgIGluc3RlYWQgb2YgQ29udGFpbmVyTm9kZS4KKwor
ICAgICAgICBUZXN0OiBmYXN0L2RvbS9wcm9jZXNzaW5nLWluc3RydWN0aW9uLWFwcGVuZENoaWxk
LWV4Y2VwdGlvbnMueGh0bWwKKworICAgICAgICAqIGRvbS9Db250YWluZXJOb2RlLmNwcDogTW92
ZWQgZGlzcGF0Y2hCZWZvcmVMb2FkRXZlbnQgdXAgdG8gTm9kZS4KKyAgICAgICAgKiBkb20vQ29u
dGFpbmVyTm9kZS5oOgorICAgICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Ok5vZGU6OmRpc3BhdGNoQmVmb3JlTG9hZEV2ZW50KTogTW92ZWQgdXAgZnJvbSBDb250YWluZXJO
b2RlCisgICAgICAgIHNpbmNlIGl0J3MgdXNlZCBib3RoIGJ5IFByb2Nlc3NpbmdJbnN0cnVjdGlv
biBhbmQgdmFyaW91cyBFbGVtZW50CisgICAgICAgIHN1YmNsYXNzZXMuCisgICAgICAgICogZG9t
L05vZGUuaDoKKyAgICAgICAgKiBkb20vUHJvY2Vzc2luZ0luc3RydWN0aW9uLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlByb2Nlc3NpbmdJbnN0cnVjdGlvbjo6UHJvY2Vzc2luZ0luc3RydWN0aW9u
KTogQ2FsbCBOb2RlIGNvbnN0cnVjdG9yLgorICAgICAgICAoV2ViQ29yZTo6UHJvY2Vzc2luZ0lu
c3RydWN0aW9uOjppbnNlcnRlZEludG9Eb2N1bWVudCk6IENhbGwgTm9kZSBpbXBsLgorICAgICAg
ICAoV2ViQ29yZTo6UHJvY2Vzc2luZ0luc3RydWN0aW9uOjpyZW1vdmVkRnJvbURvY3VtZW50KTog
ZGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpQcm9jZXNzaW5nSW5zdHJ1Y3Rpb246OmZpbmlzaFBh
cnNpbmdDaGlsZHJlbik6IGRpdHRvLgorICAgICAgICAqIGRvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rp
b24uaDoKKwogMjAxMi0wMS0zMSAgUGV0ZXIgUnliaW4gIDxwZXRlci5yeWJpbkBnbWFpbC5jb20+
CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogQ29kZUdlbmVyYXRvckluc3BlY3Rvci5weTogcmVp
bXBsZW1lbnQgZ2VuZXJhdGVkIGFycmF5IHR5cGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vQ29udGFpbmVyTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9k
ZS5jcHAKaW5kZXggZDVjZDA5YjlmZGFmOTk3ZjQ3ODBmMjNmMTY1Y2JlN2JjYTQ3MDhmNi4uYzM4
NTYzNmNmNzc3ODVkMDYxMDRlYjA3YjAyZDllNWVmNjY2ZDk1ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9D
b250YWluZXJOb2RlLmNwcApAQCAtMjMsNyArMjMsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgog
I2luY2x1ZGUgIkNvbnRhaW5lck5vZGUuaCIKIAotI2luY2x1ZGUgIkJlZm9yZUxvYWRFdmVudC5o
IgogI2luY2x1ZGUgIkNoaWxkTGlzdE11dGF0aW9uU2NvcGUuaCIKICNpbmNsdWRlICJDb250YWlu
ZXJOb2RlQWxnb3JpdGhtcy5oIgogI2luY2x1ZGUgIkRlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIuaCIK
QEAgLTExNjAsMTUgKzExNTksNCBAQCBzdGF0aWMgdm9pZCBkaXNwYXRjaENoaWxkUmVtb3ZhbEV2
ZW50cyhOb2RlKiBjaGlsZCkKICAgICB9CiB9CiAKLWJvb2wgQ29udGFpbmVyTm9kZTo6ZGlzcGF0
Y2hCZWZvcmVMb2FkRXZlbnQoY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpCi17Ci0gICAgaWYgKCFk
b2N1bWVudCgpLT5oYXNMaXN0ZW5lclR5cGUoRG9jdW1lbnQ6OkJFRk9SRUxPQURfTElTVEVORVIp
KQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIFJlZlB0cjxDb250YWluZXJOb2RlPiBwcm90
ZWN0b3IodGhpcyk7Ci0gICAgUmVmUHRyPEJlZm9yZUxvYWRFdmVudD4gYmVmb3JlTG9hZEV2ZW50
ID0gQmVmb3JlTG9hZEV2ZW50OjpjcmVhdGUoc291cmNlVVJMKTsKLSAgICBkaXNwYXRjaEV2ZW50
KGJlZm9yZUxvYWRFdmVudC5nZXQoKSk7Ci0gICAgcmV0dXJuICFiZWZvcmVMb2FkRXZlbnQtPmRl
ZmF1bHRQcmV2ZW50ZWQoKTsKLX0KLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Db250YWluZXJOb2RlLmgKaW5kZXggMmE1ZDczZTNiYTA0NDYyNDdjMjhjMTIyMjE1NjgwZDhl
ODVlMDM5Ny4uMzZhMmYwMDhjM2Y0YjNmMDIyNTk5ZmRhMjhjNDllOWViNzdhMDEzZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vQ29udGFpbmVyTm9kZS5oCkBAIC02OSw5ICs2OSw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIHRha2VBbGxDaGlsZHJlbkZyb20oQ29udGFpbmVyTm9kZSopOwogCiAgICAgdm9pZCBjbG9u
ZUNoaWxkTm9kZXMoQ29udGFpbmVyTm9kZSogY2xvbmUpOwotICAgIAotICAgIGJvb2wgZGlzcGF0
Y2hCZWZvcmVMb2FkRXZlbnQoY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpOwotICAgIAorCiAgICAg
dmlydHVhbCB2b2lkIGF0dGFjaCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBkZXRhY2go
KSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgd2lsbFJlbW92ZSgpIE9WRVJSSURFOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L05vZGUuY3BwCmluZGV4IGMxM2MyYjA1NzAzNGEzMDNlMzA2M2I3YTUyNDU1NGI2YmJkZjMyNDEu
LmEzZWQ0MmZkMWVjNDNiMzhhZWJhOTcwZTI0NWI5NzA4YjE5NmI3NjIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5j
cHAKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgiCiAjaW5jbHVk
ZSAiQXR0ci5oIgogI2luY2x1ZGUgIkF0dHJpYnV0ZS5oIgorI2luY2x1ZGUgIkJlZm9yZUxvYWRF
dmVudC5oIgogI2luY2x1ZGUgIkNoaWxkTGlzdE11dGF0aW9uU2NvcGUuaCIKICNpbmNsdWRlICJD
aHJvbWUuaCIKICNpbmNsdWRlICJDaHJvbWVDbGllbnQuaCIKQEAgLTI4MTEsNiArMjgxMiwxNyBA
QCB2b2lkIE5vZGU6OmRpc3BhdGNoU2ltdWxhdGVkQ2xpY2soUGFzc1JlZlB0cjxFdmVudD4gZXZl
bnQsIGJvb2wgc2VuZE1vdXNlRXZlbnRzLAogICAgIEV2ZW50RGlzcGF0Y2hlcjo6ZGlzcGF0Y2hT
aW11bGF0ZWRDbGljayh0aGlzLCBldmVudCwgc2VuZE1vdXNlRXZlbnRzLCBzaG93UHJlc3NlZExv
b2spOwogfQogCitib29sIE5vZGU6OmRpc3BhdGNoQmVmb3JlTG9hZEV2ZW50KGNvbnN0IFN0cmlu
ZyYgc291cmNlVVJMKQoreworICAgIGlmICghZG9jdW1lbnQoKS0+aGFzTGlzdGVuZXJUeXBlKERv
Y3VtZW50OjpCRUZPUkVMT0FEX0xJU1RFTkVSKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAg
ICBSZWZQdHI8Tm9kZT4gcHJvdGVjdG9yKHRoaXMpOworICAgIFJlZlB0cjxCZWZvcmVMb2FkRXZl
bnQ+IGJlZm9yZUxvYWRFdmVudCA9IEJlZm9yZUxvYWRFdmVudDo6Y3JlYXRlKHNvdXJjZVVSTCk7
CisgICAgZGlzcGF0Y2hFdmVudChiZWZvcmVMb2FkRXZlbnQuZ2V0KCkpOworICAgIHJldHVybiAh
YmVmb3JlTG9hZEV2ZW50LT5kZWZhdWx0UHJldmVudGVkKCk7Cit9CisKIGJvb2wgTm9kZTo6ZGlz
cGF0Y2hXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgZXZlbnQpCiB7CiAgICAg
cmV0dXJuIEV2ZW50RGlzcGF0Y2hlcjo6ZGlzcGF0Y2hFdmVudCh0aGlzLCBXaGVlbEV2ZW50RGlz
cGF0Y2hNZWRpYXRvcjo6Y3JlYXRlKGV2ZW50LCBkb2N1bWVudCgpLT5kZWZhdWx0VmlldygpKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oIGIvU291cmNlL1dlYkNvcmUv
ZG9tL05vZGUuaAppbmRleCA1NDdkZWM4MjFjZDcxNzVmMzkxNjA1NDIyNjUxYzc0Yzk3YzFlZjY3
Li4zMTFiZDQxMTdjZmY5ZTc0MGFmNjBiZmZjYjc5NmJmMDBjMzg5MDYwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgK
QEAgLTU5NCw2ICs1OTQsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBkaXNwYXRjaFdoZWVsRXZlbnQo
Y29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50Jik7CiAgICAgYm9vbCBkaXNwYXRjaE1vdXNlRXZlbnQo
Y29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiwgY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUs
IGludCBjbGlja0NvdW50ID0gMCwgTm9kZSogcmVsYXRlZFRhcmdldCA9IDApOwogICAgIHZvaWQg
ZGlzcGF0Y2hTaW11bGF0ZWRDbGljayhQYXNzUmVmUHRyPEV2ZW50PiB1bmRlcmx5aW5nRXZlbnQs
IGJvb2wgc2VuZE1vdXNlRXZlbnRzID0gZmFsc2UsIGJvb2wgc2hvd1ByZXNzZWRMb29rID0gdHJ1
ZSk7CisgICAgYm9vbCBkaXNwYXRjaEJlZm9yZUxvYWRFdmVudChjb25zdCBTdHJpbmcmIHNvdXJj
ZVVSTCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hGb2N1c0V2ZW50KFBhc3NSZWZQdHI8
Tm9kZT4gb2xkRm9jdXNlZE5vZGUpOwogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaEJsdXJFdmVu
dChQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5jcHAKaW5kZXggNWIwYTJmOGU0YjBkNzQ1YmRiNzU3NDg5
OTNjNzc1MzYyNjdjMTllYi4uMzgxNzI3OWM4NDlhMmMwYzkzYjI0NjIxN2U4ZDBiYmU3MWU0ZWY0
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5jcHAKQEAg
LTM2LDcgKzM2LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogaW5saW5lIFByb2Nlc3NpbmdJ
bnN0cnVjdGlvbjo6UHJvY2Vzc2luZ0luc3RydWN0aW9uKERvY3VtZW50KiBkb2N1bWVudCwgY29u
c3QgU3RyaW5nJiB0YXJnZXQsIGNvbnN0IFN0cmluZyYgZGF0YSkKLSAgICA6IENvbnRhaW5lck5v
ZGUoZG9jdW1lbnQpCisgICAgOiBOb2RlKGRvY3VtZW50LCBDcmVhdGVPdGhlcikKICAgICAsIG1f
dGFyZ2V0KHRhcmdldCkKICAgICAsIG1fZGF0YShkYXRhKQogICAgICwgbV9jYWNoZWRTaGVldCgw
KQpAQCAtMTAzLDEyICsxMDMsNiBAQCBQYXNzUmVmUHRyPE5vZGU+IFByb2Nlc3NpbmdJbnN0cnVj
dGlvbjo6Y2xvbmVOb2RlKGJvb2wgLypkZWVwKi8pCiAgICAgcmV0dXJuIGNyZWF0ZShkb2N1bWVu
dCgpLCBtX3RhcmdldCwgbV9kYXRhKTsKIH0KIAotLy8gRE9NIFNlY3Rpb24gMS4xLjEKLWJvb2wg
UHJvY2Vzc2luZ0luc3RydWN0aW9uOjpjaGlsZFR5cGVBbGxvd2VkKE5vZGVUeXBlKSBjb25zdAot
ewotICAgIHJldHVybiBmYWxzZTsKLX0KLQogdm9pZCBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb246OmNo
ZWNrU3R5bGVTaGVldCgpCiB7CiAgICAgaWYgKG1fdGFyZ2V0ID09ICJ4bWwtc3R5bGVzaGVldCIg
JiYgZG9jdW1lbnQoKS0+ZnJhbWUoKSAmJiBwYXJlbnROb2RlKCkgPT0gZG9jdW1lbnQoKSkgewpA
QCAtMjgwLDE0ICsyNzQsMTQgQEAgdm9pZCBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb246OmFkZFN1YnJl
c291cmNlQXR0cmlidXRlVVJMcyhMaXN0SGFzaFNldDxLVVJMPiYgdXJscykKIAogdm9pZCBQcm9j
ZXNzaW5nSW5zdHJ1Y3Rpb246Omluc2VydGVkSW50b0RvY3VtZW50KCkKIHsKLSAgICBDb250YWlu
ZXJOb2RlOjppbnNlcnRlZEludG9Eb2N1bWVudCgpOworICAgIE5vZGU6Omluc2VydGVkSW50b0Rv
Y3VtZW50KCk7CiAgICAgZG9jdW1lbnQoKS0+YWRkU3R5bGVTaGVldENhbmRpZGF0ZU5vZGUodGhp
cywgbV9jcmVhdGVkQnlQYXJzZXIpOwogICAgIGNoZWNrU3R5bGVTaGVldCgpOwogfQogCiB2b2lk
IFByb2Nlc3NpbmdJbnN0cnVjdGlvbjo6cmVtb3ZlZEZyb21Eb2N1bWVudCgpCiB7Ci0gICAgQ29u
dGFpbmVyTm9kZTo6cmVtb3ZlZEZyb21Eb2N1bWVudCgpOworICAgIE5vZGU6OnJlbW92ZWRGcm9t
RG9jdW1lbnQoKTsKIAogICAgIGRvY3VtZW50KCktPnJlbW92ZVN0eWxlU2hlZXRDYW5kaWRhdGVO
b2RlKHRoaXMpOwogCkBAIC0zMDQsNyArMjk4LDcgQEAgdm9pZCBQcm9jZXNzaW5nSW5zdHJ1Y3Rp
b246OnJlbW92ZWRGcm9tRG9jdW1lbnQoKQogdm9pZCBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb246OmZp
bmlzaFBhcnNpbmdDaGlsZHJlbigpCiB7CiAgICAgbV9jcmVhdGVkQnlQYXJzZXIgPSBmYWxzZTsK
LSAgICBDb250YWluZXJOb2RlOjpmaW5pc2hQYXJzaW5nQ2hpbGRyZW4oKTsKKyAgICBOb2RlOjpm
aW5pc2hQYXJzaW5nQ2hpbGRyZW4oKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uaCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uaAppbmRleCBjMGM5ZDAyMDhmNWUyYmEwMWEy
MTU5NWQ4NmRhNGE5NmNhMzBkMzI0Li4yYTYxOWFkOWVjZTFlM2MzODk2ZTlmZmY5NTM0MjZhMTFh
Yzg1ZDc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0
aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1Byb2Nlc3NpbmdJbnN0cnVjdGlvbi5oCkBA
IC0yNCwxNCArMjQsMTQgQEAKIAogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCiAj
aW5jbHVkZSAiQ2FjaGVkU3R5bGVTaGVldENsaWVudC5oIgotI2luY2x1ZGUgIkNvbnRhaW5lck5v
ZGUuaCIKKyNpbmNsdWRlICJOb2RlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3Mg
U3R5bGVTaGVldDsKIGNsYXNzIENTU1N0eWxlU2hlZXQ7CiAKLWNsYXNzIFByb2Nlc3NpbmdJbnN0
cnVjdGlvbiA6IHB1YmxpYyBDb250YWluZXJOb2RlLCBwcml2YXRlIENhY2hlZFN0eWxlU2hlZXRD
bGllbnQgeworY2xhc3MgUHJvY2Vzc2luZ0luc3RydWN0aW9uIDogcHVibGljIE5vZGUsIHByaXZh
dGUgQ2FjaGVkU3R5bGVTaGVldENsaWVudCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8UHJvY2Vzc2luZ0luc3RydWN0aW9uPiBjcmVhdGUoRG9jdW1lbnQqLCBjb25zdCBTdHJpbmcm
IHRhcmdldCwgY29uc3QgU3RyaW5nJiBkYXRhKTsKICAgICB2aXJ0dWFsIH5Qcm9jZXNzaW5nSW5z
dHJ1Y3Rpb24oKTsKQEAgLTYxLDcgKzYxLDYgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIFN0cmlu
ZyBub2RlVmFsdWUoKSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0Tm9kZVZhbHVlKGNvbnN0
IFN0cmluZyYsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8Tm9kZT4g
Y2xvbmVOb2RlKGJvb2wgZGVlcCk7Ci0gICAgdmlydHVhbCBib29sIGNoaWxkVHlwZUFsbG93ZWQo
Tm9kZVR5cGUpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBvZmZzZXRJbkNoYXJhY3RlcnMoKSBj
b25zdDsKICAgICB2aXJ0dWFsIGludCBtYXhDaGFyYWN0ZXJPZmZzZXQoKSBjb25zdDsKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IDJkMjM3NzBhMzNkMDA0ZTcwZDFhYTlhNmY1ZDIzZjZjYWJmM2I3MzUuLjlkMDM2YjFiNDE3
NmE1ZTAyMDdiMWUzMzc3M2RmMjBkMjAyYzFiOGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAx
Mi0wMS0zMSAgQWRhbSBLbGVpbiAgPGFkYW1rQGNocm9taXVtLm9yZz4KKworICAgICAgICBQcm9j
ZXNzaW5nSW5zdHJ1Y3Rpb24gc2hvdWxkIG5vdCBiZSBhIENvbnRhaW5lck5vZGUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTQxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgKiBmYXN0L2RvbS9wcm9jZXNzaW5n
LWluc3RydWN0aW9uLWFwcGVuZENoaWxkLWV4Y2VwdGlvbnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2RvbS9wcm9jZXNzaW5nLWluc3RydWN0aW9uLWFwcGVuZENoaWxkLWV4
Y2VwdGlvbnMueGh0bWw6IEFkZGVkLgorCiAyMDEyLTAxLTMxICBZdXpvIEZ1amlzaGltYSAgPHl1
em9AZ29vZ2xlLmNvbT4KIAogICAgICAgICBbQ2hyb21pdW1dIFVucmV2aWV3ZWQgdGVzdCBleHBl
Y3RhdGlvbiBjaGFuZ2UuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9wcm9jZXNz
aW5nLWluc3RydWN0aW9uLWFwcGVuZENoaWxkLWV4Y2VwdGlvbnMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vcHJvY2Vzc2luZy1pbnN0cnVjdGlvbi1hcHBlbmRDaGlsZC1leGNl
cHRpb25zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNDNlNzQ4MWY4ZWU5YzAzYzEwZjU4NWI2
ODA5NjFkOTYyODZjMjM4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
cHJvY2Vzc2luZy1pbnN0cnVjdGlvbi1hcHBlbmRDaGlsZC1leGNlcHRpb25zLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDEyIEBACitUZXN0IHRoYXQgYXBwcm9wcmlhdGUgZXhjZXB0aW9ucyBhcmUg
dGhyb3duIHdoZW4gYWRkaW5nIGNoaWxkcmVuIHRvIGEgUHJvY2Vzc2luZ0luc3RydWN0aW9uLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBwaS5hcHBlbmRDaGlsZChudWxs
KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEhJRVJBUkNIWV9SRVFVRVNUX0VSUjogRE9NIEV4Y2Vw
dGlvbiAzLgorUEFTUyBwaS5hcHBlbmRDaGlsZChkaXYpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjog
SElFUkFSQ0hZX1JFUVVFU1RfRVJSOiBET00gRXhjZXB0aW9uIDMuCitQQVNTIHBpLmFwcGVuZENo
aWxkKHRleHROb2RlKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEhJRVJBUkNIWV9SRVFVRVNUX0VS
UjogRE9NIEV4Y2VwdGlvbiAzLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Byb2Nlc3Np
bmctaW5zdHJ1Y3Rpb24tYXBwZW5kQ2hpbGQtZXhjZXB0aW9ucy54aHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3Byb2Nlc3NpbmctaW5zdHJ1Y3Rpb24tYXBwZW5kQ2hpbGQtZXhjZXB0aW9ucy54
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5jZTM2ODY1NDUzM2RiMWNlMzgwMDFlNzFjZTQwMWFkMmRlYzkxNjQ0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvY2Vzc2luZy1pbnN0
cnVjdGlvbi1hcHBlbmRDaGlsZC1leGNlcHRpb25zLnhodG1sCkBAIC0wLDAgKzEsMTcgQEAKKzxo
dG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KKzxib2R5PgorPHNjcmlw
dCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
PgorPCFbQ0RBVEFbCitkZXNjcmlwdGlvbigiVGVzdCB0aGF0IGFwcHJvcHJpYXRlIGV4Y2VwdGlv
bnMgYXJlIHRocm93biB3aGVuIGFkZGluZyBjaGlsZHJlbiB0byBhIFByb2Nlc3NpbmdJbnN0cnVj
dGlvbi4iKTsKK3ZhciBwaSA9IGRvY3VtZW50LmNyZWF0ZVByb2Nlc3NpbmdJbnN0cnVjdGlvbign
dGFyZ2V0JywgJ2RhdGEnKTsKK3Nob3VsZFRocm93KCJwaS5hcHBlbmRDaGlsZChudWxsKSIsICIn
RXJyb3I6IEhJRVJBUkNIWV9SRVFVRVNUX0VSUjogRE9NIEV4Y2VwdGlvbiAzJyIpOwordmFyIGRp
diA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworc2hvdWxkVGhyb3coInBpLmFwcGVu
ZENoaWxkKGRpdikiLCAiJ0Vycm9yOiBISUVSQVJDSFlfUkVRVUVTVF9FUlI6IERPTSBFeGNlcHRp
b24gMyciKTsKK3ZhciB0ZXh0Tm9kZSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCdzb21ldGV4
dCcpOworc2hvdWxkVGhyb3coInBpLmFwcGVuZENoaWxkKHRleHROb2RlKSIsICInRXJyb3I6IEhJ
RVJBUkNIWV9SRVFVRVNUX0VSUjogRE9NIEV4Y2VwdGlvbiAzJyIpOworXV0+Cis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>