<?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>87428</bug_id>
          
          <creation_ts>2012-05-24 14:04:57 -0700</creation_ts>
          <short_desc>Indenting a paragraph that begins with a link 3 times breaks the paragraph into two paragraphs</short_desc>
          <delta_ts>2012-06-01 13:08:39 -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>HTML Editing</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="Shezan Baig">shezbaig.wk</reporter>
          <assigned_to name="Shezan Baig">shezbaig.wk</assigned_to>
          <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>633204</commentid>
    <comment_count>0</comment_count>
      <attachid>143892</attachid>
    <who name="Shezan Baig">shezbaig.wk</who>
    <bug_when>2012-05-24 14:04:57 -0700</bug_when>
    <thetext>Created attachment 143892
simple test case

The expected result is that the paragraph is indented three times, and remains as a single paragraph.
Actual result: the text after the link is moved to a second paragraph.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633932</commentid>
    <comment_count>1</comment_count>
      <attachid>144070</attachid>
    <who name="Shezan Baig">shezbaig.wk</who>
    <bug_when>2012-05-25 08:06:01 -0700</bug_when>
    <thetext>Created attachment 144070
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639002</commentid>
    <comment_count>2</comment_count>
      <attachid>144070</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-05-31 23:42:20 -0700</bug_when>
    <thetext>Comment on attachment 144070
Patch

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        Indenting a paragraph that begins with an inline element places the nextSibling incorrectly

I don&apos;t understand what &quot;inline element places the nextSibling incorrectly&quot; means.
Please rename the bug title to something more descriptive as well as the bug title in the change log.

&gt; Source/WebCore/ChangeLog:9
&gt; +        When traverseNextSibling moves up to a new parent, we need to move
&gt; +        lastNode up the same number of times that traverseNextSibling moved up.

Why do we &quot;need to move lastNode up the same number of times that traverseNextSibling moved up&quot;?

&gt; Source/WebCore/editing/CompositeEditCommand.cpp:1008
&gt; +        for (Node* s = start.deprecatedNode(), *n = s-&gt;traverseNextSibling(outerNode.get()); n; n = n-&gt;traverseNextSibling(outerNode.get())) {

Please don&apos;t use one-letter variable like s and n. I&apos;d call them startNode and node respectively.
Also, I&apos;d prefer declaring startNode outside of the for loop.

&gt; Source/WebCore/editing/CompositeEditCommand.cpp:1013
&gt; +            // If traverseNextSibling required moving up to a new parent, then
&gt; +            // n-&gt;parent() will be different from s-&gt;parent(). We need to move
&gt; +            // lastNode (our insertion point) up accordingly until n-&gt;parent()
&gt; +            // is the same as s-&gt;parent() (i.e, until n and s are direct
&gt; +            // siblings).

This is a &quot;what&quot; comment, meaning that it just describes what the code does.
We need a &quot;why&quot; comment instead, which explains why we need to do this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639370</commentid>
    <comment_count>3</comment_count>
      <attachid>144070</attachid>
    <who name="Shezan Baig">shezbaig.wk</who>
    <bug_when>2012-06-01 08:35:50 -0700</bug_when>
    <thetext>Comment on attachment 144070
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:3
&gt;&gt; +        Indenting a paragraph that begins with an inline element places the nextSibling incorrectly
&gt; 
&gt; I don&apos;t understand what &quot;inline element places the nextSibling incorrectly&quot; means.
&gt; Please rename the bug title to something more descriptive as well as the bug title in the change log.

I&apos;ve renamed the bug title to describe the actual symptom of the bug.

&gt;&gt; Source/WebCore/ChangeLog:9
&gt;&gt; +        lastNode up the same number of times that traverseNextSibling moved up.
&gt; 
&gt; Why do we &quot;need to move lastNode up the same number of times that traverseNextSibling moved up&quot;?

This is so that the relative depth between the next sibling and the start node is maintained in the clone.  I&apos;ll make the next patch say this better.

&gt;&gt; Source/WebCore/editing/CompositeEditCommand.cpp:1008
&gt;&gt; +        for (Node* s = start.deprecatedNode(), *n = s-&gt;traverseNextSibling(outerNode.get()); n; n = n-&gt;traverseNextSibling(outerNode.get())) {
&gt; 
&gt; Please don&apos;t use one-letter variable like s and n. I&apos;d call them startNode and node respectively.
&gt; Also, I&apos;d prefer declaring startNode outside of the for loop.

Yeah, I wasn&apos;t sure if I should be renaming the existing variables in the same patch as the bugfix, but I&apos;ll do this in the upcoming patch.

&gt;&gt; Source/WebCore/editing/CompositeEditCommand.cpp:1013
&gt;&gt; +            // siblings).
&gt; 
&gt; This is a &quot;what&quot; comment, meaning that it just describes what the code does.
&gt; We need a &quot;why&quot; comment instead, which explains why we need to do this.

I&apos;ve reworded this comment in the next patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639375</commentid>
    <comment_count>4</comment_count>
      <attachid>145317</attachid>
    <who name="Shezan Baig">shezbaig.wk</who>
    <bug_when>2012-06-01 08:39:22 -0700</bug_when>
    <thetext>Created attachment 145317
Patch (with change from comment 2)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639535</commentid>
    <comment_count>5</comment_count>
      <attachid>145317</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-06-01 11:23:00 -0700</bug_when>
    <thetext>Comment on attachment 145317
Patch (with change from comment 2)

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

Please consider addressing the comments below before landing it.

&gt; Source/WebCore/ChangeLog:11
&gt; +        Fix the way lastNode (our insertion point) is updated whenever
&gt; +        traverseNextSibling moves up to a new parent, so that the relative
&gt; +        depth between the next sibling and the original start node is
&gt; +        maintained in the clone.

Thanks for the revision. This description is much more helpful. However, it would be ideal if you could also explain why the divergence in the depth leads to breaking a single paragraph into two paragraphs.

&gt; Source/WebCore/editing/CompositeEditCommand.cpp:1019
&gt; +            // If traverseNextSibling required moving up to a new parent, this
&gt; +            // means that node is not a true sibling of startNode, i.e.
&gt; +            // node-&gt;parent() is not the same as startNode-&gt;parent(). We need
&gt; +            // to adjust lastNode (our insertion point) so that the relative
&gt; +            // depth between clonedNode (below) and the clone of
&gt; +            // start-&gt;deprecatedNode() will be the same as the relative depth
&gt; +            // between node and start-&gt;deprecatedNode(). We do this by moving
&gt; +            // lastNode up the same number of times that traverseNextSibling
&gt; +            // moved up, i.e. until node-&gt;parent() is the same as
&gt; +            // startNode-&gt;parent().

This comment is very verbose. A single line comment like &quot;Move lastNode up in the tree as much as node was moved up in the tree by traverseNextSibling&quot; would do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639536</commentid>
    <comment_count>6</comment_count>
      <attachid>145317</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-06-01 11:23:47 -0700</bug_when>
    <thetext>Comment on attachment 145317
Patch (with change from comment 2)

Oh, I just realize you&apos;re not a committer yet. I guess I&apos;ll cq- then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639564</commentid>
    <comment_count>7</comment_count>
      <attachid>145317</attachid>
    <who name="Shezan Baig">shezbaig.wk</who>
    <bug_when>2012-06-01 11:50:45 -0700</bug_when>
    <thetext>Comment on attachment 145317
Patch (with change from comment 2)

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

&gt;&gt; Source/WebCore/ChangeLog:11
&gt;&gt; +        maintained in the clone.
&gt; 
&gt; Thanks for the revision. This description is much more helpful. However, it would be ideal if you could also explain why the divergence in the depth leads to breaking a single paragraph into two paragraphs.

Thanks, I&apos;m adding this in the new patch.

&gt;&gt; Source/WebCore/editing/CompositeEditCommand.cpp:1019
&gt;&gt; +            // startNode-&gt;parent().
&gt; 
&gt; This comment is very verbose. A single line comment like &quot;Move lastNode up in the tree as much as node was moved up in the tree by traverseNextSibling&quot; would do.

That&apos;s much better, thanks :)  However, I also think its important to say why lastNode needs to move up, so it will be just a little more than one line :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639566</commentid>
    <comment_count>8</comment_count>
      <attachid>145345</attachid>
    <who name="Shezan Baig">shezbaig.wk</who>
    <bug_when>2012-06-01 11:51:29 -0700</bug_when>
    <thetext>Created attachment 145345
Patch (with change from comment 5)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639595</commentid>
    <comment_count>9</comment_count>
      <attachid>145345</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-06-01 12:10:59 -0700</bug_when>
    <thetext>Comment on attachment 145345
Patch (with change from comment 5)

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

&gt; Source/WebCore/ChangeLog:13
&gt; +        maintained in the clone. The divergence in depth broke the paragraph
&gt; +        into two paragraphs because the next sibling was inserted outside the
&gt; +        blockquote that was created for the indentation.

Perfect! In general, change log is a good place to describe what caused a bug and how you fixed it.
It&apos;ll allow reviewers to understand the problem and assess the correctness of your fix with ease.
It also helps someone else (or ourselves) needing understand your code in the future :).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639654</commentid>
    <comment_count>10</comment_count>
      <attachid>145345</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-01 13:08:34 -0700</bug_when>
    <thetext>Comment on attachment 145345
Patch (with change from comment 5)

Clearing flags on attachment: 145345

Committed r119270: &lt;http://trac.webkit.org/changeset/119270&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639655</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-01 13:08:39 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>143892</attachid>
            <date>2012-05-24 14:04:57 -0700</date>
            <delta_ts>2012-05-24 14:04:57 -0700</delta_ts>
            <desc>simple test case</desc>
            <filename>drqs32418391.html</filename>
            <type>text/html</type>
            <size>310</size>
            <attacher name="Shezan Baig">shezbaig.wk</attacher>
            
              <data encoding="base64">PGRpdiBpZD0idGVzdERpdiIgY29udGVudGVkaXRhYmxlPSJ0cnVlIj48YSBocmVmPSIjIj5IZWxs
bzwvYT5UaGlzIGlzIGEgdGVzdDwvZGl2Pg0KPHNjcmlwdD4NCnRlc3REaXYuZm9jdXMoKTsNCmRv
Y3VtZW50LmV4ZWNDb21tYW5kKCdzZWxlY3RBbGwnLCBmYWxzZSwgdHJ1ZSk7DQpkb2N1bWVudC5l
eGVjQ29tbWFuZCgnaW5kZW50JywgZmFsc2UsIHRydWUpOw0KZG9jdW1lbnQuZXhlY0NvbW1hbmQo
J2luZGVudCcsIGZhbHNlLCB0cnVlKTsNCmRvY3VtZW50LmV4ZWNDb21tYW5kKCdpbmRlbnQnLCBm
YWxzZSwgdHJ1ZSk7DQo8L3NjcmlwdD4NCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144070</attachid>
            <date>2012-05-25 08:06:01 -0700</date>
            <delta_ts>2012-06-01 08:38:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87428-20120525110717.patch</filename>
            <type>text/plain</type>
            <size>8815</size>
            <attacher name="Shezan Baig">shezbaig.wk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4MzEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzM2YjAzNGE5MDI5YmQz
ZmMzNWE1NjBjZTFlODdlMmNiN2I5ZGI4YS4uZDE5ZDQ3MGZjMWQ1MDhlMDY5ZDkzZjVkZTRlN2Nh
M2Y4ODE1YWRhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA1LTI1ICBTaGV6
YW4gQmFpZyAgPHNoZXpiYWlnLndrQGdtYWlsLmNvbT4KKworICAgICAgICBJbmRlbnRpbmcgYSBw
YXJhZ3JhcGggdGhhdCBiZWdpbnMgd2l0aCBhbiBpbmxpbmUgZWxlbWVudCBwbGFjZXMgdGhlIG5l
eHRTaWJsaW5nIGluY29ycmVjdGx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04NzQyOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFdoZW4gdHJhdmVyc2VOZXh0U2libGluZyBtb3ZlcyB1cCB0byBhIG5ldyBw
YXJlbnQsIHdlIG5lZWQgdG8gbW92ZQorICAgICAgICBsYXN0Tm9kZSB1cCB0aGUgc2FtZSBudW1i
ZXIgb2YgdGltZXMgdGhhdCB0cmF2ZXJzZU5leHRTaWJsaW5nIG1vdmVkIHVwLgorICAgICAgICBU
byBkbyB0aGlzLCB3ZSBrZWVwIGEgcG9pbnRlciAncycgcG9pbnRpbmcgdG8gdGhlIG9yaWdpbmFs
IHN0YXJ0IG5vZGUuCisgICAgICAgIElmIG4tPnBhcmVudCgpIGlzIG5vdCBzLT5wYXJlbnQoKSwg
dGhhdCBtZWFucyB0cmF2ZXJzZU5leHRTaWJsaW5nIG1vdmVkCisgICAgICAgIHVwIHRvIGEgbmV3
IHBhcmVudCwgc28gd2UgbW92ZSAncycgdXAgdG9vLCBhbmQgYXQgdGhlIHNhbWUgdGltZSwgbW92
ZQorICAgICAgICAnbGFzdE5vZGUnIHVwIHNvIHRoYXQgaXQgcG9pbnRzIHRvIHRoZSBjbG9uZSBv
ZiAncycuCisKKyAgICAgICAgTm90ZSB0aGF0IHRoZSB0b3BOb2RlIGlzIG5vdCByZXF1aXJlZCBh
bnltb3JlIGJlY2F1c2UgaXQgaXMgbm8gbG9uZ2VyCisgICAgICAgIHVzZWQgYW55d2hlcmUuCisK
KyAgICAgICAgVGVzdHM6IGVkaXRpbmcvZXhlY0NvbW1hbmQvaW5kZW50LW5lc3RlZC1pbmxpbmVz
LTEuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9leGVjQ29tbWFuZC9pbmRlbnQtbmVzdGVk
LWlubGluZXMtMi5odG1sCisKKyAgICAgICAgKiBlZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5k
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbXBvc2l0ZUVkaXRDb21tYW5kOjpjbG9uZVBhcmFn
cmFwaFVuZGVyTmV3RWxlbWVudCk6CisKIDIwMTItMDUtMjMgIE5pY28gV2ViZXIgIDx0aGFraXNA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bS9tYWNdIFVuYnJlYWsgcG9wdXAgbWVu
dXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21t
YW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuY3Bw
CmluZGV4IGY4MmIyOThiNWU3YmY4ZDE0NThhZWI5MDkyMjU1MDY4ODgwMDUwMzUuLjExZjhhN2Iz
MzFmNTZmYjk2ZjUzYzhmMDUwOWVlMDY4OTc3M2MyNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuY3BwCkBAIC05NjcsMTcgKzk2NywxNCBAQCB2
b2lkIENvbXBvc2l0ZUVkaXRDb21tYW5kOjpwdXNoQW5jaG9yRWxlbWVudERvd24oTm9kZSogYW5j
aG9yTm9kZSkKIHZvaWQgQ29tcG9zaXRlRWRpdENvbW1hbmQ6OmNsb25lUGFyYWdyYXBoVW5kZXJO
ZXdFbGVtZW50KFBvc2l0aW9uJiBzdGFydCwgUG9zaXRpb24mIGVuZCwgTm9kZSogcGFzc2VkT3V0
ZXJOb2RlLCBFbGVtZW50KiBibG9ja0VsZW1lbnQpCiB7CiAgICAgLy8gRmlyc3Qgd2UgY2xvbmUg
dGhlIG91dGVyTm9kZQotICAgIFJlZlB0cjxOb2RlPiB0b3BOb2RlOwogICAgIFJlZlB0cjxOb2Rl
PiBsYXN0Tm9kZTsKICAgICBSZWZQdHI8Tm9kZT4gb3V0ZXJOb2RlID0gcGFzc2VkT3V0ZXJOb2Rl
OwogCiAgICAgaWYgKG91dGVyTm9kZS0+aXNSb290RWRpdGFibGVFbGVtZW50KCkpIHsKLSAgICAg
ICAgdG9wTm9kZSA9IGJsb2NrRWxlbWVudDsKICAgICAgICAgbGFzdE5vZGUgPSBibG9ja0VsZW1l
bnQ7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgdG9wTm9kZSA9IG91dGVyTm9kZS0+Y2xvbmVOb2Rl
KGlzVGFibGVFbGVtZW50KG91dGVyTm9kZS5nZXQoKSkpOwotICAgICAgICBhcHBlbmROb2RlKHRv
cE5vZGUsIGJsb2NrRWxlbWVudCk7Ci0gICAgICAgIGxhc3ROb2RlID0gdG9wTm9kZTsKKyAgICAg
ICAgbGFzdE5vZGUgPSBvdXRlck5vZGUtPmNsb25lTm9kZShpc1RhYmxlRWxlbWVudChvdXRlck5v
ZGUuZ2V0KCkpKTsKKyAgICAgICAgYXBwZW5kTm9kZShsYXN0Tm9kZSwgYmxvY2tFbGVtZW50KTsK
ICAgICB9CiAKICAgICBpZiAoc3RhcnQuZGVwcmVjYXRlZE5vZGUoKSAhPSBvdXRlck5vZGUgJiYg
bGFzdE5vZGUtPmlzRWxlbWVudE5vZGUoKSkgewpAQCAtMTAwMiwxNiArOTk5LDIyIEBAIHZvaWQg
Q29tcG9zaXRlRWRpdENvbW1hbmQ6OmNsb25lUGFyYWdyYXBoVW5kZXJOZXdFbGVtZW50KFBvc2l0
aW9uJiBzdGFydCwgUG9zaXRpCiAgICAgCiAgICAgaWYgKHN0YXJ0LmRlcHJlY2F0ZWROb2RlKCkg
IT0gZW5kLmRlcHJlY2F0ZWROb2RlKCkgJiYgIXN0YXJ0LmRlcHJlY2F0ZWROb2RlKCktPmlzRGVz
Y2VuZGFudE9mKGVuZC5kZXByZWNhdGVkTm9kZSgpKSkgewogICAgICAgICAvLyBJZiBlbmQgaXMg
bm90IGEgZGVzY2VuZGFudCBvZiBvdXRlck5vZGUgd2UgbmVlZCB0bwotICAgICAgICAvLyBmaW5k
IHRoZSBmaXJzdCBjb21tb24gYW5jZXN0b3IgYW5kIGFkanVzdCB0aGUgaW5zZXJ0aW9uCi0gICAg
ICAgIC8vIHBvaW50IGFjY29yZGluZ2x5LgorICAgICAgICAvLyBmaW5kIHRoZSBmaXJzdCBjb21t
b24gYW5jZXN0b3IgdG8gaW5jcmVhc2UgdGhlIHNjb3BlCisgICAgICAgIC8vIG9mIG91ciBuZXh0
U2libGluZyB0cmF2ZXJzYWwuCiAgICAgICAgIHdoaWxlICghZW5kLmRlcHJlY2F0ZWROb2RlKCkt
PmlzRGVzY2VuZGFudE9mKG91dGVyTm9kZS5nZXQoKSkpIHsKICAgICAgICAgICAgIG91dGVyTm9k
ZSA9IG91dGVyTm9kZS0+cGFyZW50Tm9kZSgpOwotICAgICAgICAgICAgdG9wTm9kZSA9IHRvcE5v
ZGUtPnBhcmVudE5vZGUoKTsKICAgICAgICAgfQogCi0gICAgICAgIGZvciAoTm9kZSogbiA9IHN0
YXJ0LmRlcHJlY2F0ZWROb2RlKCktPnRyYXZlcnNlTmV4dFNpYmxpbmcob3V0ZXJOb2RlLmdldCgp
KTsgbjsgbiA9IG4tPnRyYXZlcnNlTmV4dFNpYmxpbmcob3V0ZXJOb2RlLmdldCgpKSkgewotICAg
ICAgICAgICAgaWYgKG4tPnBhcmVudE5vZGUoKSAhPSBzdGFydC5kZXByZWNhdGVkTm9kZSgpLT5w
YXJlbnROb2RlKCkpCi0gICAgICAgICAgICAgICAgbGFzdE5vZGUgPSB0b3BOb2RlLT5sYXN0Q2hp
bGQoKTsKKyAgICAgICAgZm9yIChOb2RlKiBzID0gc3RhcnQuZGVwcmVjYXRlZE5vZGUoKSwgKm4g
PSBzLT50cmF2ZXJzZU5leHRTaWJsaW5nKG91dGVyTm9kZS5nZXQoKSk7IG47IG4gPSBuLT50cmF2
ZXJzZU5leHRTaWJsaW5nKG91dGVyTm9kZS5nZXQoKSkpIHsKKyAgICAgICAgICAgIC8vIElmIHRy
YXZlcnNlTmV4dFNpYmxpbmcgcmVxdWlyZWQgbW92aW5nIHVwIHRvIGEgbmV3IHBhcmVudCwgdGhl
bgorICAgICAgICAgICAgLy8gbi0+cGFyZW50KCkgd2lsbCBiZSBkaWZmZXJlbnQgZnJvbSBzLT5w
YXJlbnQoKS4gV2UgbmVlZCB0byBtb3ZlCisgICAgICAgICAgICAvLyBsYXN0Tm9kZSAob3VyIGlu
c2VydGlvbiBwb2ludCkgdXAgYWNjb3JkaW5nbHkgdW50aWwgbi0+cGFyZW50KCkKKyAgICAgICAg
ICAgIC8vIGlzIHRoZSBzYW1lIGFzIHMtPnBhcmVudCgpIChpLmUsIHVudGlsIG4gYW5kIHMgYXJl
IGRpcmVjdAorICAgICAgICAgICAgLy8gc2libGluZ3MpLgorICAgICAgICAgICAgd2hpbGUgKHMt
PnBhcmVudE5vZGUoKSAhPSBuLT5wYXJlbnROb2RlKCkpIHsKKyAgICAgICAgICAgICAgICBzID0g
cy0+cGFyZW50Tm9kZSgpOworICAgICAgICAgICAgICAgIGxhc3ROb2RlID0gbGFzdE5vZGUtPnBh
cmVudE5vZGUoKTsKKyAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgUmVmUHRyPE5vZGU+IGNs
b25lZE5vZGUgPSBuLT5jbG9uZU5vZGUodHJ1ZSk7CiAgICAgICAgICAgICBpbnNlcnROb2RlQWZ0
ZXIoY2xvbmVkTm9kZSwgbGFzdE5vZGUpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDAzYjI0NzRmNTM5MTE3OWRjOTViMGRh
YzNiNTk1NTc1ZTAxYjM4MGUuLjBiODY0YTFmODY5YjgwOWJmM2YxNjk0ZDZlZGNkYmQwYTA2OTQz
YzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0wNS0yNSAgU2hlemFuIEJhaWcgIDxzaGV6
YmFpZy53a0BnbWFpbC5jb20+CisKKyAgICAgICAgSW5kZW50aW5nIGEgcGFyYWdyYXBoIHRoYXQg
YmVnaW5zIHdpdGggYW4gaW5saW5lIGVsZW1lbnQgcGxhY2VzIHRoZSBuZXh0U2libGluZyBpbmNv
cnJlY3RseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
ODc0MjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGRpbmcgdHdvIHRlc3RzIGZvciBpbmRlbnRpbmcgbmVzdGVkIGlubGluZXMuCisKKyAgICAgICAg
KiBlZGl0aW5nL2V4ZWNDb21tYW5kL2luZGVudC1uZXN0ZWQtaW5saW5lcy0xLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9leGVjQ29tbWFuZC9pbmRlbnQtbmVzdGVkLWlu
bGluZXMtMS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2V4ZWNDb21tYW5kL2luZGVu
dC1uZXN0ZWQtaW5saW5lcy0yLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGlu
Zy9leGVjQ29tbWFuZC9pbmRlbnQtbmVzdGVkLWlubGluZXMtMi5odG1sOiBBZGRlZC4KKwogMjAx
Mi0wNS0yMyAgS2FuZ2lsIEhhbiAgPGthbmdpbC5oYW5Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAg
W0VGTF1bRFJUXSBGaXggV2ViQ29yZSBsaWJyYXJ5IHBhdGggYW5kIHJlYmFzZWxpbmUgcmVzdWx0
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kL2luZGVudC1uZXN0
ZWQtaW5saW5lcy0xLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1h
bmQvaW5kZW50LW5lc3RlZC1pbmxpbmVzLTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZmZGJh
YTZjYjVlMmUwYWZkM2FhNDU0ZmVmNjVhYTI0ZDQzYTg1MDMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kL2luZGVudC1uZXN0ZWQtaW5saW5lcy0xLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitUaGlzIHRlc3RzIGluZGVudGluZyBwYXJhZ3Jh
cGhzIHRoYXQgYmVnaW4gd2l0aCBpbmxpbmVzLgorfCA8YmxvY2txdW90ZT4KK3wgICBzdHlsZT0i
bWFyZ2luOiAwIDAgMCA0MHB4OyBib3JkZXI6IG5vbmU7IHBhZGRpbmc6IDBweDsiCit8ICAgPGJs
b2NrcXVvdGU+Cit8ICAgICBzdHlsZT0ibWFyZ2luOiAwIDAgMCA0MHB4OyBib3JkZXI6IG5vbmU7
IHBhZGRpbmc6IDBweDsiCit8ICAgICA8YmxvY2txdW90ZT4KK3wgICAgICAgc3R5bGU9Im1hcmdp
bjogMCAwIDAgNDBweDsgYm9yZGVyOiBub25lOyBwYWRkaW5nOiAwcHg7IgorfCAgICAgICA8YT4K
K3wgICAgICAgICBocmVmPSIjIgorfCAgICAgICAgICI8I3NlbGVjdGlvbi1hbmNob3I+TGluayIK
K3wgICAgICAgIlRoaXMgc2hvdWxkIGJlIHVuZGVyIHNhbWUgdGhlIGJsb2NrcXVvdGUgYXMgTGlu
azwjc2VsZWN0aW9uLWZvY3VzPiIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvZXhl
Y0NvbW1hbmQvaW5kZW50LW5lc3RlZC1pbmxpbmVzLTEuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvZXhlY0NvbW1hbmQvaW5kZW50LW5lc3RlZC1pbmxpbmVzLTEuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5k
MWJkYzRkNjgwYTI2ZWFkNGYwMmU4M2JjOTUyNGZlYmIyZDI1ZWZmCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC9pbmRlbnQtbmVzdGVkLWlubGluZXMt
MS5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0
PgorPGRpdiBjb250ZW50ZWRpdGFibGU9InRydWUiPjxhIGhyZWY9IiMiPkxpbms8L2E+VGhpcyBz
aG91bGQgYmUgdW5kZXIgc2FtZSB0aGUgYmxvY2txdW90ZSBhcyBMaW5rPC9kaXY+Cis8c2NyaXB0
PgorCitNYXJrdXAuZGVzY3JpcHRpb24oJ1RoaXMgdGVzdHMgaW5kZW50aW5nIHBhcmFncmFwaHMg
dGhhdCBiZWdpbiB3aXRoIGlubGluZXMuJyk7CisKK3ZhciBkaXYgPSBkb2N1bWVudC5nZXRFbGVt
ZW50c0J5VGFnTmFtZSgnZGl2JylbMF07Cit3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxs
Q2hpbGRyZW4oZGl2KTsKK2RvY3VtZW50LmV4ZWNDb21tYW5kKCdpbmRlbnQnLCBmYWxzZSwgdHJ1
ZSk7Citkb2N1bWVudC5leGVjQ29tbWFuZCgnaW5kZW50JywgZmFsc2UsIHRydWUpOworZG9jdW1l
bnQuZXhlY0NvbW1hbmQoJ2luZGVudCcsIGZhbHNlLCB0cnVlKTsKKworTWFya3VwLmR1bXAoZGl2
KTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL2V4ZWNDb21tYW5kL2luZGVudC1uZXN0ZWQtaW5saW5lcy0yLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvaW5kZW50LW5lc3RlZC1pbmxpbmVz
LTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFkNmQ4MjBjMGE4ZDVkMjEzNWNjZDg4MjJjMTU1
MTc3ZGVkZDhkZjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWND
b21tYW5kL2luZGVudC1uZXN0ZWQtaW5saW5lcy0yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEy
IEBACitUaGlzIHRlc3RzIGluZGVudGluZyBwYXJhZ3JhcGhzIHRoYXQgYmVnaW4gd2l0aCBuZXN0
ZWQgaW5saW5lcy4KK3wgPGJsb2NrcXVvdGU+Cit8ICAgc3R5bGU9Im1hcmdpbjogMCAwIDAgNDBw
eDsgYm9yZGVyOiBub25lOyBwYWRkaW5nOiAwcHg7IgorfCAgIDxibG9ja3F1b3RlPgorfCAgICAg
c3R5bGU9Im1hcmdpbjogMCAwIDAgNDBweDsgYm9yZGVyOiBub25lOyBwYWRkaW5nOiAwcHg7Igor
fCAgICAgPGJsb2NrcXVvdGU+Cit8ICAgICAgIHN0eWxlPSJtYXJnaW46IDAgMCAwIDQwcHg7IGJv
cmRlcjogbm9uZTsgcGFkZGluZzogMHB4OyIKK3wgICAgICAgPGI+Cit8ICAgICAgICAgPGE+Cit8
ICAgICAgICAgICBocmVmPSIjIgorfCAgICAgICAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5Cb2xk
TGluayIKK3wgICAgICAgIlRoaXMgc2hvdWxkIGJlIHVuZGVyIHRoZSBzYW1lIGJsb2NrcXVvdGUg
YXMgQm9sZExpbmssIGFuZCBub3QgYm9sZDwjc2VsZWN0aW9uLWZvY3VzPiIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvaW5kZW50LW5lc3RlZC1pbmxpbmVzLTIu
aHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvaW5kZW50LW5lc3RlZC1pbmxp
bmVzLTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMjQzYTc5ODg3ZjViNTc0ZWY1YTdiNmIzODk5MTc5Yzgw
OGE5MzY3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFu
ZC9pbmRlbnQtbmVzdGVkLWlubGluZXMtMi5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPGRpdiBjb250ZW50ZWRpdGFibGU9InRydWUiPjxi
PjxhIGhyZWY9IiMiPkJvbGRMaW5rPC9hPjwvYj5UaGlzIHNob3VsZCBiZSB1bmRlciB0aGUgc2Ft
ZSBibG9ja3F1b3RlIGFzIEJvbGRMaW5rLCBhbmQgbm90IGJvbGQ8L2Rpdj4KKzxzY3JpcHQ+CisK
K01hcmt1cC5kZXNjcmlwdGlvbignVGhpcyB0ZXN0cyBpbmRlbnRpbmcgcGFyYWdyYXBocyB0aGF0
IGJlZ2luIHdpdGggbmVzdGVkIGlubGluZXMuJyk7CisKK3ZhciBkaXYgPSBkb2N1bWVudC5nZXRF
bGVtZW50c0J5VGFnTmFtZSgnZGl2JylbMF07Cit3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuc2VsZWN0
QWxsQ2hpbGRyZW4oZGl2KTsKK2RvY3VtZW50LmV4ZWNDb21tYW5kKCdpbmRlbnQnLCBmYWxzZSwg
dHJ1ZSk7Citkb2N1bWVudC5leGVjQ29tbWFuZCgnaW5kZW50JywgZmFsc2UsIHRydWUpOworZG9j
dW1lbnQuZXhlY0NvbW1hbmQoJ2luZGVudCcsIGZhbHNlLCB0cnVlKTsKKworTWFya3VwLmR1bXAo
ZGl2KTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145317</attachid>
            <date>2012-06-01 08:39:22 -0700</date>
            <delta_ts>2012-06-01 11:50:45 -0700</delta_ts>
            <desc>Patch (with change from comment 2)</desc>
            <filename>bug-87428-20120601113822.patch</filename>
            <type>text/plain</type>
            <size>9402</size>
            <attacher name="Shezan Baig">shezbaig.wk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5MjI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWE4YmExOWQ5MmMwMGNk
OTkyNzY2MWIyZjMyYzU0N2I0NWI1YzZlNi4uODcyN2QxZGNmOTk5MjE0MDg4N2ZmOTkxMzQ5ODY4
MDFkZjU1YmMxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTA2LTAxICBTaGV6
YW4gQmFpZyAgPHNoZXpiYWlnLndrQGdtYWlsLmNvbT4KKworICAgICAgICBJbmRlbnRpbmcgYSBw
YXJhZ3JhcGggdGhhdCBiZWdpbnMgd2l0aCBhIGxpbmsgMyB0aW1lcyBicmVha3MgdGhlIHBhcmFn
cmFwaCBpbnRvIHR3byBwYXJhZ3JhcGhzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD04NzQyOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEZpeCB0aGUgd2F5IGxhc3ROb2RlIChvdXIgaW5zZXJ0aW9uIHBvaW50
KSBpcyB1cGRhdGVkIHdoZW5ldmVyCisgICAgICAgIHRyYXZlcnNlTmV4dFNpYmxpbmcgbW92ZXMg
dXAgdG8gYSBuZXcgcGFyZW50LCBzbyB0aGF0IHRoZSByZWxhdGl2ZQorICAgICAgICBkZXB0aCBi
ZXR3ZWVuIHRoZSBuZXh0IHNpYmxpbmcgYW5kIHRoZSBvcmlnaW5hbCBzdGFydCBub2RlIGlzCisg
ICAgICAgIG1haW50YWluZWQgaW4gdGhlIGNsb25lLgorCisgICAgICAgIE5vdGUgdGhhdCB0aGUg
dG9wTm9kZSBpcyBub3QgcmVxdWlyZWQgYW55bW9yZSBiZWNhdXNlIGl0IGlzIG5vIGxvbmdlcgor
ICAgICAgICB1c2VkIGFueXdoZXJlLgorCisgICAgICAgIFRlc3RzOiBlZGl0aW5nL2V4ZWNDb21t
YW5kL2luZGVudC1uZXN0ZWQtaW5saW5lcy0xLmh0bWwKKyAgICAgICAgICAgICAgIGVkaXRpbmcv
ZXhlY0NvbW1hbmQvaW5kZW50LW5lc3RlZC1pbmxpbmVzLTIuaHRtbAorCisgICAgICAgICogZWRp
dGluZy9Db21wb3NpdGVFZGl0Q29tbWFuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb21wb3Np
dGVFZGl0Q29tbWFuZDo6Y2xvbmVQYXJhZ3JhcGhVbmRlck5ld0VsZW1lbnQpOgorCiAyMDEyLTA2
LTAxICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAg
ICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTE5MjEzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9Db21wb3NpdGVFZGl0Q29tbWFuZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5kLmNwcAppbmRleCBmODJiMjk4YjVlN2JmOGQxNDU4
YWViOTA5MjI1NTA2ODg4MDA1MDM1Li4zMGU0M2U5YjdhNGNlMWQ1NGQ2ZWFjZmE4YjQ3MTAyODYy
ODJlNGI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0NvbXBvc2l0ZUVkaXRD
b21tYW5kLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21t
YW5kLmNwcApAQCAtOTY3LDE3ICs5NjcsMTQgQEAgdm9pZCBDb21wb3NpdGVFZGl0Q29tbWFuZDo6
cHVzaEFuY2hvckVsZW1lbnREb3duKE5vZGUqIGFuY2hvck5vZGUpCiB2b2lkIENvbXBvc2l0ZUVk
aXRDb21tYW5kOjpjbG9uZVBhcmFncmFwaFVuZGVyTmV3RWxlbWVudChQb3NpdGlvbiYgc3RhcnQs
IFBvc2l0aW9uJiBlbmQsIE5vZGUqIHBhc3NlZE91dGVyTm9kZSwgRWxlbWVudCogYmxvY2tFbGVt
ZW50KQogewogICAgIC8vIEZpcnN0IHdlIGNsb25lIHRoZSBvdXRlck5vZGUKLSAgICBSZWZQdHI8
Tm9kZT4gdG9wTm9kZTsKICAgICBSZWZQdHI8Tm9kZT4gbGFzdE5vZGU7CiAgICAgUmVmUHRyPE5v
ZGU+IG91dGVyTm9kZSA9IHBhc3NlZE91dGVyTm9kZTsKIAogICAgIGlmIChvdXRlck5vZGUtPmlz
Um9vdEVkaXRhYmxlRWxlbWVudCgpKSB7Ci0gICAgICAgIHRvcE5vZGUgPSBibG9ja0VsZW1lbnQ7
CiAgICAgICAgIGxhc3ROb2RlID0gYmxvY2tFbGVtZW50OwogICAgIH0gZWxzZSB7Ci0gICAgICAg
IHRvcE5vZGUgPSBvdXRlck5vZGUtPmNsb25lTm9kZShpc1RhYmxlRWxlbWVudChvdXRlck5vZGUu
Z2V0KCkpKTsKLSAgICAgICAgYXBwZW5kTm9kZSh0b3BOb2RlLCBibG9ja0VsZW1lbnQpOwotICAg
ICAgICBsYXN0Tm9kZSA9IHRvcE5vZGU7CisgICAgICAgIGxhc3ROb2RlID0gb3V0ZXJOb2RlLT5j
bG9uZU5vZGUoaXNUYWJsZUVsZW1lbnQob3V0ZXJOb2RlLmdldCgpKSk7CisgICAgICAgIGFwcGVu
ZE5vZGUobGFzdE5vZGUsIGJsb2NrRWxlbWVudCk7CiAgICAgfQogCiAgICAgaWYgKHN0YXJ0LmRl
cHJlY2F0ZWROb2RlKCkgIT0gb3V0ZXJOb2RlICYmIGxhc3ROb2RlLT5pc0VsZW1lbnROb2RlKCkp
IHsKQEAgLTEwMDIsMjEgKzk5OSwzMyBAQCB2b2lkIENvbXBvc2l0ZUVkaXRDb21tYW5kOjpjbG9u
ZVBhcmFncmFwaFVuZGVyTmV3RWxlbWVudChQb3NpdGlvbiYgc3RhcnQsIFBvc2l0aQogICAgIAog
ICAgIGlmIChzdGFydC5kZXByZWNhdGVkTm9kZSgpICE9IGVuZC5kZXByZWNhdGVkTm9kZSgpICYm
ICFzdGFydC5kZXByZWNhdGVkTm9kZSgpLT5pc0Rlc2NlbmRhbnRPZihlbmQuZGVwcmVjYXRlZE5v
ZGUoKSkpIHsKICAgICAgICAgLy8gSWYgZW5kIGlzIG5vdCBhIGRlc2NlbmRhbnQgb2Ygb3V0ZXJO
b2RlIHdlIG5lZWQgdG8KLSAgICAgICAgLy8gZmluZCB0aGUgZmlyc3QgY29tbW9uIGFuY2VzdG9y
IGFuZCBhZGp1c3QgdGhlIGluc2VydGlvbgotICAgICAgICAvLyBwb2ludCBhY2NvcmRpbmdseS4K
KyAgICAgICAgLy8gZmluZCB0aGUgZmlyc3QgY29tbW9uIGFuY2VzdG9yIHRvIGluY3JlYXNlIHRo
ZSBzY29wZQorICAgICAgICAvLyBvZiBvdXIgbmV4dFNpYmxpbmcgdHJhdmVyc2FsLgogICAgICAg
ICB3aGlsZSAoIWVuZC5kZXByZWNhdGVkTm9kZSgpLT5pc0Rlc2NlbmRhbnRPZihvdXRlck5vZGUu
Z2V0KCkpKSB7CiAgICAgICAgICAgICBvdXRlck5vZGUgPSBvdXRlck5vZGUtPnBhcmVudE5vZGUo
KTsKLSAgICAgICAgICAgIHRvcE5vZGUgPSB0b3BOb2RlLT5wYXJlbnROb2RlKCk7CiAgICAgICAg
IH0KIAotICAgICAgICBmb3IgKE5vZGUqIG4gPSBzdGFydC5kZXByZWNhdGVkTm9kZSgpLT50cmF2
ZXJzZU5leHRTaWJsaW5nKG91dGVyTm9kZS5nZXQoKSk7IG47IG4gPSBuLT50cmF2ZXJzZU5leHRT
aWJsaW5nKG91dGVyTm9kZS5nZXQoKSkpIHsKLSAgICAgICAgICAgIGlmIChuLT5wYXJlbnROb2Rl
KCkgIT0gc3RhcnQuZGVwcmVjYXRlZE5vZGUoKS0+cGFyZW50Tm9kZSgpKQotICAgICAgICAgICAg
ICAgIGxhc3ROb2RlID0gdG9wTm9kZS0+bGFzdENoaWxkKCk7CisgICAgICAgIE5vZGUqIHN0YXJ0
Tm9kZSA9IHN0YXJ0LmRlcHJlY2F0ZWROb2RlKCk7CisgICAgICAgIGZvciAoTm9kZSogbm9kZSA9
IHN0YXJ0Tm9kZS0+dHJhdmVyc2VOZXh0U2libGluZyhvdXRlck5vZGUuZ2V0KCkpOyBub2RlOyBu
b2RlID0gbm9kZS0+dHJhdmVyc2VOZXh0U2libGluZyhvdXRlck5vZGUuZ2V0KCkpKSB7CisgICAg
ICAgICAgICAvLyBJZiB0cmF2ZXJzZU5leHRTaWJsaW5nIHJlcXVpcmVkIG1vdmluZyB1cCB0byBh
IG5ldyBwYXJlbnQsIHRoaXMKKyAgICAgICAgICAgIC8vIG1lYW5zIHRoYXQgbm9kZSBpcyBub3Qg
YSB0cnVlIHNpYmxpbmcgb2Ygc3RhcnROb2RlLCBpLmUuCisgICAgICAgICAgICAvLyBub2RlLT5w
YXJlbnQoKSBpcyBub3QgdGhlIHNhbWUgYXMgc3RhcnROb2RlLT5wYXJlbnQoKS4gV2UgbmVlZAor
ICAgICAgICAgICAgLy8gdG8gYWRqdXN0IGxhc3ROb2RlIChvdXIgaW5zZXJ0aW9uIHBvaW50KSBz
byB0aGF0IHRoZSByZWxhdGl2ZQorICAgICAgICAgICAgLy8gZGVwdGggYmV0d2VlbiBjbG9uZWRO
b2RlIChiZWxvdykgYW5kIHRoZSBjbG9uZSBvZgorICAgICAgICAgICAgLy8gc3RhcnQtPmRlcHJl
Y2F0ZWROb2RlKCkgd2lsbCBiZSB0aGUgc2FtZSBhcyB0aGUgcmVsYXRpdmUgZGVwdGgKKyAgICAg
ICAgICAgIC8vIGJldHdlZW4gbm9kZSBhbmQgc3RhcnQtPmRlcHJlY2F0ZWROb2RlKCkuIFdlIGRv
IHRoaXMgYnkgbW92aW5nCisgICAgICAgICAgICAvLyBsYXN0Tm9kZSB1cCB0aGUgc2FtZSBudW1i
ZXIgb2YgdGltZXMgdGhhdCB0cmF2ZXJzZU5leHRTaWJsaW5nCisgICAgICAgICAgICAvLyBtb3Zl
ZCB1cCwgaS5lLiB1bnRpbCBub2RlLT5wYXJlbnQoKSBpcyB0aGUgc2FtZSBhcworICAgICAgICAg
ICAgLy8gc3RhcnROb2RlLT5wYXJlbnQoKS4KKyAgICAgICAgICAgIHdoaWxlIChzdGFydE5vZGUt
PnBhcmVudE5vZGUoKSAhPSBub2RlLT5wYXJlbnROb2RlKCkpIHsKKyAgICAgICAgICAgICAgICBz
dGFydE5vZGUgPSBzdGFydE5vZGUtPnBhcmVudE5vZGUoKTsKKyAgICAgICAgICAgICAgICBsYXN0
Tm9kZSA9IGxhc3ROb2RlLT5wYXJlbnROb2RlKCk7CisgICAgICAgICAgICB9CiAKLSAgICAgICAg
ICAgIFJlZlB0cjxOb2RlPiBjbG9uZWROb2RlID0gbi0+Y2xvbmVOb2RlKHRydWUpOworICAgICAg
ICAgICAgUmVmUHRyPE5vZGU+IGNsb25lZE5vZGUgPSBub2RlLT5jbG9uZU5vZGUodHJ1ZSk7CiAg
ICAgICAgICAgICBpbnNlcnROb2RlQWZ0ZXIoY2xvbmVkTm9kZSwgbGFzdE5vZGUpOwogICAgICAg
ICAgICAgbGFzdE5vZGUgPSBjbG9uZWROb2RlLnJlbGVhc2UoKTsKLSAgICAgICAgICAgIGlmIChu
ID09IGVuZC5kZXByZWNhdGVkTm9kZSgpIHx8IGVuZC5kZXByZWNhdGVkTm9kZSgpLT5pc0Rlc2Nl
bmRhbnRPZihuKSkKKyAgICAgICAgICAgIGlmIChub2RlID09IGVuZC5kZXByZWNhdGVkTm9kZSgp
IHx8IGVuZC5kZXByZWNhdGVkTm9kZSgpLT5pc0Rlc2NlbmRhbnRPZihub2RlKSkKICAgICAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzZTc5Y2Q0ZDBjYTYxNmRi
ZDNhYzRiMTJjNTZmZDQ1ODJkNzM4ZmZkLi43ZmQ4ZjJmYTU4OWI4YjhhYzEyMjE5ODg1MzM0MjA0
YTM1ZDQ0NmJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDYtMDEgIFNoZXphbiBCYWln
ICA8c2hlemJhaWcud2tAZ21haWwuY29tPgorCisgICAgICAgIEluZGVudGluZyBhIHBhcmFncmFw
aCB0aGF0IGJlZ2lucyB3aXRoIGEgbGluayAzIHRpbWVzIGJyZWFrcyB0aGUgcGFyYWdyYXBoIGlu
dG8gdHdvIHBhcmFncmFwaHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg3NDI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkaW5nIHR3byB0ZXN0cyBmb3IgaW5kZW50aW5nIG5lc3RlZCBpbmxpbmVzLgor
CisgICAgICAgICogZWRpdGluZy9leGVjQ29tbWFuZC9pbmRlbnQtbmVzdGVkLWlubGluZXMtMS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvZXhlY0NvbW1hbmQvaW5kZW50
LW5lc3RlZC1pbmxpbmVzLTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9leGVjQ29t
bWFuZC9pbmRlbnQtbmVzdGVkLWlubGluZXMtMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvZXhlY0NvbW1hbmQvaW5kZW50LW5lc3RlZC1pbmxpbmVzLTIuaHRtbDogQWRk
ZWQuCisKIDIwMTItMDYtMDEgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4K
IAogICAgICAgICBbUXRdIFVucmV2aWV3ZWQgZ2FyZGVuaW5nLCBza2lwIG5ldyBmYWlsaW5nIGFu
ZCBjcmFzaGluZyB0ZXN0cy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvZXhlY0Nv
bW1hbmQvaW5kZW50LW5lc3RlZC1pbmxpbmVzLTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9leGVjQ29tbWFuZC9pbmRlbnQtbmVzdGVkLWlubGluZXMtMS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZmZkYmFhNmNiNWUyZTBhZmQzYWE0NTRmZWY2NWFhMjRkNDNhODUwMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvaW5kZW50LW5l
c3RlZC1pbmxpbmVzLTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK1RoaXMgdGVzdHMg
aW5kZW50aW5nIHBhcmFncmFwaHMgdGhhdCBiZWdpbiB3aXRoIGlubGluZXMuCit8IDxibG9ja3F1
b3RlPgorfCAgIHN0eWxlPSJtYXJnaW46IDAgMCAwIDQwcHg7IGJvcmRlcjogbm9uZTsgcGFkZGlu
ZzogMHB4OyIKK3wgICA8YmxvY2txdW90ZT4KK3wgICAgIHN0eWxlPSJtYXJnaW46IDAgMCAwIDQw
cHg7IGJvcmRlcjogbm9uZTsgcGFkZGluZzogMHB4OyIKK3wgICAgIDxibG9ja3F1b3RlPgorfCAg
ICAgICBzdHlsZT0ibWFyZ2luOiAwIDAgMCA0MHB4OyBib3JkZXI6IG5vbmU7IHBhZGRpbmc6IDBw
eDsiCit8ICAgICAgIDxhPgorfCAgICAgICAgIGhyZWY9IiMiCit8ICAgICAgICAgIjwjc2VsZWN0
aW9uLWFuY2hvcj5MaW5rIgorfCAgICAgICAiVGhpcyBzaG91bGQgYmUgdW5kZXIgc2FtZSB0aGUg
YmxvY2txdW90ZSBhcyBMaW5rPCNzZWxlY3Rpb24tZm9jdXM+IgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC9pbmRlbnQtbmVzdGVkLWlubGluZXMtMS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC9pbmRlbnQtbmVzdGVkLWlubGluZXMtMS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmQxYmRjNGQ2ODBhMjZlYWQ0ZjAyZTgzYmM5NTI0ZmViYjJkMjVlZmYK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kL2luZGVu
dC1uZXN0ZWQtaW5saW5lcy0xLmh0bWwKQEAgLTAsMCArMSwyMCBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1h
cmt1cC5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSI+PGEgaHJlZj0i
IyI+TGluazwvYT5UaGlzIHNob3VsZCBiZSB1bmRlciBzYW1lIHRoZSBibG9ja3F1b3RlIGFzIExp
bms8L2Rpdj4KKzxzY3JpcHQ+CisKK01hcmt1cC5kZXNjcmlwdGlvbignVGhpcyB0ZXN0cyBpbmRl
bnRpbmcgcGFyYWdyYXBocyB0aGF0IGJlZ2luIHdpdGggaW5saW5lcy4nKTsKKwordmFyIGRpdiA9
IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdkaXYnKVswXTsKK3dpbmRvdy5nZXRTZWxl
Y3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkaXYpOworZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2lu
ZGVudCcsIGZhbHNlLCB0cnVlKTsKK2RvY3VtZW50LmV4ZWNDb21tYW5kKCdpbmRlbnQnLCBmYWxz
ZSwgdHJ1ZSk7Citkb2N1bWVudC5leGVjQ29tbWFuZCgnaW5kZW50JywgZmFsc2UsIHRydWUpOwor
CitNYXJrdXAuZHVtcChkaXYpOworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvaW5kZW50LW5lc3RlZC1pbmxp
bmVzLTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC9pbmRl
bnQtbmVzdGVkLWlubGluZXMtMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWQ2ZDgyMGMwYThk
NWQyMTM1Y2NkODgyMmMxNTUxNzdkZWRkOGRmOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvaW5kZW50LW5lc3RlZC1pbmxpbmVzLTItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTIgQEAKK1RoaXMgdGVzdHMgaW5kZW50aW5nIHBhcmFncmFwaHMgdGhh
dCBiZWdpbiB3aXRoIG5lc3RlZCBpbmxpbmVzLgorfCA8YmxvY2txdW90ZT4KK3wgICBzdHlsZT0i
bWFyZ2luOiAwIDAgMCA0MHB4OyBib3JkZXI6IG5vbmU7IHBhZGRpbmc6IDBweDsiCit8ICAgPGJs
b2NrcXVvdGU+Cit8ICAgICBzdHlsZT0ibWFyZ2luOiAwIDAgMCA0MHB4OyBib3JkZXI6IG5vbmU7
IHBhZGRpbmc6IDBweDsiCit8ICAgICA8YmxvY2txdW90ZT4KK3wgICAgICAgc3R5bGU9Im1hcmdp
bjogMCAwIDAgNDBweDsgYm9yZGVyOiBub25lOyBwYWRkaW5nOiAwcHg7IgorfCAgICAgICA8Yj4K
K3wgICAgICAgICA8YT4KK3wgICAgICAgICAgIGhyZWY9IiMiCit8ICAgICAgICAgICAiPCNzZWxl
Y3Rpb24tYW5jaG9yPkJvbGRMaW5rIgorfCAgICAgICAiVGhpcyBzaG91bGQgYmUgdW5kZXIgdGhl
IHNhbWUgYmxvY2txdW90ZSBhcyBCb2xkTGluaywgYW5kIG5vdCBib2xkPCNzZWxlY3Rpb24tZm9j
dXM+IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC9pbmRlbnQt
bmVzdGVkLWlubGluZXMtMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC9p
bmRlbnQtbmVzdGVkLWlubGluZXMtMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIyNDNhNzk4ODdmNWI1NzRl
ZjVhN2I2YjM4OTkxNzljODA4YTkzNjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9l
ZGl0aW5nL2V4ZWNDb21tYW5kL2luZGVudC1uZXN0ZWQtaW5saW5lcy0yLmh0bWwKQEAgLTAsMCAr
MSwyMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGNvbnRlbnRl
ZGl0YWJsZT0idHJ1ZSI+PGI+PGEgaHJlZj0iIyI+Qm9sZExpbms8L2E+PC9iPlRoaXMgc2hvdWxk
IGJlIHVuZGVyIHRoZSBzYW1lIGJsb2NrcXVvdGUgYXMgQm9sZExpbmssIGFuZCBub3QgYm9sZDwv
ZGl2PgorPHNjcmlwdD4KKworTWFya3VwLmRlc2NyaXB0aW9uKCdUaGlzIHRlc3RzIGluZGVudGlu
ZyBwYXJhZ3JhcGhzIHRoYXQgYmVnaW4gd2l0aCBuZXN0ZWQgaW5saW5lcy4nKTsKKwordmFyIGRp
diA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdkaXYnKVswXTsKK3dpbmRvdy5nZXRT
ZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkaXYpOworZG9jdW1lbnQuZXhlY0NvbW1hbmQo
J2luZGVudCcsIGZhbHNlLCB0cnVlKTsKK2RvY3VtZW50LmV4ZWNDb21tYW5kKCdpbmRlbnQnLCBm
YWxzZSwgdHJ1ZSk7Citkb2N1bWVudC5leGVjQ29tbWFuZCgnaW5kZW50JywgZmFsc2UsIHRydWUp
OworCitNYXJrdXAuZHVtcChkaXYpOworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145345</attachid>
            <date>2012-06-01 11:51:29 -0700</date>
            <delta_ts>2012-06-01 13:08:34 -0700</delta_ts>
            <desc>Patch (with change from comment 5)</desc>
            <filename>bug-87428-20120601144758.patch</filename>
            <type>text/plain</type>
            <size>9105</size>
            <attacher name="Shezan Baig">shezbaig.wk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5MjI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWE4YmExOWQ5MmMwMGNk
OTkyNzY2MWIyZjMyYzU0N2I0NWI1YzZlNi4uYjdjOTg0MDZjYTM1MDhlMTc5ZDBiOGM1ZWU3ZjU1
OGVmNDRkYzVmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA2LTAxICBTaGV6
YW4gQmFpZyAgPHNoZXpiYWlnLndrQGdtYWlsLmNvbT4KKworICAgICAgICBJbmRlbnRpbmcgYSBw
YXJhZ3JhcGggdGhhdCBiZWdpbnMgd2l0aCBhIGxpbmsgMyB0aW1lcyBicmVha3MgdGhlIHBhcmFn
cmFwaCBpbnRvIHR3byBwYXJhZ3JhcGhzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD04NzQyOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEZpeCB0aGUgd2F5IGxhc3ROb2RlIChvdXIgaW5zZXJ0aW9uIHBvaW50
KSBpcyB1cGRhdGVkIHdoZW5ldmVyCisgICAgICAgIHRyYXZlcnNlTmV4dFNpYmxpbmcgbW92ZXMg
dXAgdG8gYSBuZXcgcGFyZW50LCBzbyB0aGF0IHRoZSByZWxhdGl2ZQorICAgICAgICBkZXB0aCBi
ZXR3ZWVuIHRoZSBuZXh0IHNpYmxpbmcgYW5kIHRoZSBvcmlnaW5hbCBzdGFydCBub2RlIGlzCisg
ICAgICAgIG1haW50YWluZWQgaW4gdGhlIGNsb25lLiBUaGUgZGl2ZXJnZW5jZSBpbiBkZXB0aCBi
cm9rZSB0aGUgcGFyYWdyYXBoCisgICAgICAgIGludG8gdHdvIHBhcmFncmFwaHMgYmVjYXVzZSB0
aGUgbmV4dCBzaWJsaW5nIHdhcyBpbnNlcnRlZCBvdXRzaWRlIHRoZQorICAgICAgICBibG9ja3F1
b3RlIHRoYXQgd2FzIGNyZWF0ZWQgZm9yIHRoZSBpbmRlbnRhdGlvbi4KKworICAgICAgICBOb3Rl
IHRoYXQgdGhlIHRvcE5vZGUgaXMgbm90IHJlcXVpcmVkIGFueW1vcmUgYmVjYXVzZSBpdCBpcyBu
byBsb25nZXIKKyAgICAgICAgdXNlZCBhbnl3aGVyZS4KKworICAgICAgICBUZXN0czogZWRpdGlu
Zy9leGVjQ29tbWFuZC9pbmRlbnQtbmVzdGVkLWlubGluZXMtMS5odG1sCisgICAgICAgICAgICAg
ICBlZGl0aW5nL2V4ZWNDb21tYW5kL2luZGVudC1uZXN0ZWQtaW5saW5lcy0yLmh0bWwKKworICAg
ICAgICAqIGVkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q29tcG9zaXRlRWRpdENvbW1hbmQ6OmNsb25lUGFyYWdyYXBoVW5kZXJOZXdFbGVtZW50KToK
KwogMjAxMi0wNi0wMSAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+
CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjExOTIxMy4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuY3BwIGIvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9Db21wb3NpdGVFZGl0Q29tbWFuZC5jcHAKaW5kZXggZjgyYjI5OGI1
ZTdiZjhkMTQ1OGFlYjkwOTIyNTUwNjg4ODAwNTAzNS4uNTFjM2Y1YWI1NmQ2NWVhYjJkYTc1MmJh
NDBmOTBlMDZhNjEwYTNhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9Db21w
b3NpdGVFZGl0Q29tbWFuZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9Db21wb3Np
dGVFZGl0Q29tbWFuZC5jcHAKQEAgLTk2NywxNyArOTY3LDE0IEBAIHZvaWQgQ29tcG9zaXRlRWRp
dENvbW1hbmQ6OnB1c2hBbmNob3JFbGVtZW50RG93bihOb2RlKiBhbmNob3JOb2RlKQogdm9pZCBD
b21wb3NpdGVFZGl0Q29tbWFuZDo6Y2xvbmVQYXJhZ3JhcGhVbmRlck5ld0VsZW1lbnQoUG9zaXRp
b24mIHN0YXJ0LCBQb3NpdGlvbiYgZW5kLCBOb2RlKiBwYXNzZWRPdXRlck5vZGUsIEVsZW1lbnQq
IGJsb2NrRWxlbWVudCkKIHsKICAgICAvLyBGaXJzdCB3ZSBjbG9uZSB0aGUgb3V0ZXJOb2RlCi0g
ICAgUmVmUHRyPE5vZGU+IHRvcE5vZGU7CiAgICAgUmVmUHRyPE5vZGU+IGxhc3ROb2RlOwogICAg
IFJlZlB0cjxOb2RlPiBvdXRlck5vZGUgPSBwYXNzZWRPdXRlck5vZGU7CiAKICAgICBpZiAob3V0
ZXJOb2RlLT5pc1Jvb3RFZGl0YWJsZUVsZW1lbnQoKSkgewotICAgICAgICB0b3BOb2RlID0gYmxv
Y2tFbGVtZW50OwogICAgICAgICBsYXN0Tm9kZSA9IGJsb2NrRWxlbWVudDsKICAgICB9IGVsc2Ug
ewotICAgICAgICB0b3BOb2RlID0gb3V0ZXJOb2RlLT5jbG9uZU5vZGUoaXNUYWJsZUVsZW1lbnQo
b3V0ZXJOb2RlLmdldCgpKSk7Ci0gICAgICAgIGFwcGVuZE5vZGUodG9wTm9kZSwgYmxvY2tFbGVt
ZW50KTsKLSAgICAgICAgbGFzdE5vZGUgPSB0b3BOb2RlOworICAgICAgICBsYXN0Tm9kZSA9IG91
dGVyTm9kZS0+Y2xvbmVOb2RlKGlzVGFibGVFbGVtZW50KG91dGVyTm9kZS5nZXQoKSkpOworICAg
ICAgICBhcHBlbmROb2RlKGxhc3ROb2RlLCBibG9ja0VsZW1lbnQpOwogICAgIH0KIAogICAgIGlm
IChzdGFydC5kZXByZWNhdGVkTm9kZSgpICE9IG91dGVyTm9kZSAmJiBsYXN0Tm9kZS0+aXNFbGVt
ZW50Tm9kZSgpKSB7CkBAIC0xMDAyLDIxICs5OTksMjYgQEAgdm9pZCBDb21wb3NpdGVFZGl0Q29t
bWFuZDo6Y2xvbmVQYXJhZ3JhcGhVbmRlck5ld0VsZW1lbnQoUG9zaXRpb24mIHN0YXJ0LCBQb3Np
dGkKICAgICAKICAgICBpZiAoc3RhcnQuZGVwcmVjYXRlZE5vZGUoKSAhPSBlbmQuZGVwcmVjYXRl
ZE5vZGUoKSAmJiAhc3RhcnQuZGVwcmVjYXRlZE5vZGUoKS0+aXNEZXNjZW5kYW50T2YoZW5kLmRl
cHJlY2F0ZWROb2RlKCkpKSB7CiAgICAgICAgIC8vIElmIGVuZCBpcyBub3QgYSBkZXNjZW5kYW50
IG9mIG91dGVyTm9kZSB3ZSBuZWVkIHRvCi0gICAgICAgIC8vIGZpbmQgdGhlIGZpcnN0IGNvbW1v
biBhbmNlc3RvciBhbmQgYWRqdXN0IHRoZSBpbnNlcnRpb24KLSAgICAgICAgLy8gcG9pbnQgYWNj
b3JkaW5nbHkuCisgICAgICAgIC8vIGZpbmQgdGhlIGZpcnN0IGNvbW1vbiBhbmNlc3RvciB0byBp
bmNyZWFzZSB0aGUgc2NvcGUKKyAgICAgICAgLy8gb2Ygb3VyIG5leHRTaWJsaW5nIHRyYXZlcnNh
bC4KICAgICAgICAgd2hpbGUgKCFlbmQuZGVwcmVjYXRlZE5vZGUoKS0+aXNEZXNjZW5kYW50T2Yo
b3V0ZXJOb2RlLmdldCgpKSkgewogICAgICAgICAgICAgb3V0ZXJOb2RlID0gb3V0ZXJOb2RlLT5w
YXJlbnROb2RlKCk7Ci0gICAgICAgICAgICB0b3BOb2RlID0gdG9wTm9kZS0+cGFyZW50Tm9kZSgp
OwogICAgICAgICB9CiAKLSAgICAgICAgZm9yIChOb2RlKiBuID0gc3RhcnQuZGVwcmVjYXRlZE5v
ZGUoKS0+dHJhdmVyc2VOZXh0U2libGluZyhvdXRlck5vZGUuZ2V0KCkpOyBuOyBuID0gbi0+dHJh
dmVyc2VOZXh0U2libGluZyhvdXRlck5vZGUuZ2V0KCkpKSB7Ci0gICAgICAgICAgICBpZiAobi0+
cGFyZW50Tm9kZSgpICE9IHN0YXJ0LmRlcHJlY2F0ZWROb2RlKCktPnBhcmVudE5vZGUoKSkKLSAg
ICAgICAgICAgICAgICBsYXN0Tm9kZSA9IHRvcE5vZGUtPmxhc3RDaGlsZCgpOworICAgICAgICBO
b2RlKiBzdGFydE5vZGUgPSBzdGFydC5kZXByZWNhdGVkTm9kZSgpOworICAgICAgICBmb3IgKE5v
ZGUqIG5vZGUgPSBzdGFydE5vZGUtPnRyYXZlcnNlTmV4dFNpYmxpbmcob3V0ZXJOb2RlLmdldCgp
KTsgbm9kZTsgbm9kZSA9IG5vZGUtPnRyYXZlcnNlTmV4dFNpYmxpbmcob3V0ZXJOb2RlLmdldCgp
KSkgeworICAgICAgICAgICAgLy8gTW92ZSBsYXN0Tm9kZSB1cCBpbiB0aGUgdHJlZSBhcyBtdWNo
IGFzIG5vZGUgd2FzIG1vdmVkIHVwIGluIHRoZQorICAgICAgICAgICAgLy8gdHJlZSBieSB0cmF2
ZXJzZU5leHRTaWJsaW5nLCBzbyB0aGF0IHRoZSByZWxhdGl2ZSBkZXB0aCBiZXR3ZWVuCisgICAg
ICAgICAgICAvLyBub2RlIGFuZCB0aGUgb3JpZ2luYWwgc3RhcnQgbm9kZSBpcyBtYWludGFpbmVk
IGluIHRoZSBjbG9uZS4KKyAgICAgICAgICAgIHdoaWxlIChzdGFydE5vZGUtPnBhcmVudE5vZGUo
KSAhPSBub2RlLT5wYXJlbnROb2RlKCkpIHsKKyAgICAgICAgICAgICAgICBzdGFydE5vZGUgPSBz
dGFydE5vZGUtPnBhcmVudE5vZGUoKTsKKyAgICAgICAgICAgICAgICBsYXN0Tm9kZSA9IGxhc3RO
b2RlLT5wYXJlbnROb2RlKCk7CisgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIFJlZlB0cjxO
b2RlPiBjbG9uZWROb2RlID0gbi0+Y2xvbmVOb2RlKHRydWUpOworICAgICAgICAgICAgUmVmUHRy
PE5vZGU+IGNsb25lZE5vZGUgPSBub2RlLT5jbG9uZU5vZGUodHJ1ZSk7CiAgICAgICAgICAgICBp
bnNlcnROb2RlQWZ0ZXIoY2xvbmVkTm9kZSwgbGFzdE5vZGUpOwogICAgICAgICAgICAgbGFzdE5v
ZGUgPSBjbG9uZWROb2RlLnJlbGVhc2UoKTsKLSAgICAgICAgICAgIGlmIChuID09IGVuZC5kZXBy
ZWNhdGVkTm9kZSgpIHx8IGVuZC5kZXByZWNhdGVkTm9kZSgpLT5pc0Rlc2NlbmRhbnRPZihuKSkK
KyAgICAgICAgICAgIGlmIChub2RlID09IGVuZC5kZXByZWNhdGVkTm9kZSgpIHx8IGVuZC5kZXBy
ZWNhdGVkTm9kZSgpLT5pc0Rlc2NlbmRhbnRPZihub2RlKSkKICAgICAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzZTc5Y2Q0ZDBjYTYxNmRiZDNhYzRiMTJjNTZm
ZDQ1ODJkNzM4ZmZkLi43ZmQ4ZjJmYTU4OWI4YjhhYzEyMjE5ODg1MzM0MjA0YTM1ZDQ0NmJkIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDYtMDEgIFNoZXphbiBCYWlnICA8c2hlemJhaWcu
d2tAZ21haWwuY29tPgorCisgICAgICAgIEluZGVudGluZyBhIHBhcmFncmFwaCB0aGF0IGJlZ2lu
cyB3aXRoIGEgbGluayAzIHRpbWVzIGJyZWFrcyB0aGUgcGFyYWdyYXBoIGludG8gdHdvIHBhcmFn
cmFwaHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3
NDI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
aW5nIHR3byB0ZXN0cyBmb3IgaW5kZW50aW5nIG5lc3RlZCBpbmxpbmVzLgorCisgICAgICAgICog
ZWRpdGluZy9leGVjQ29tbWFuZC9pbmRlbnQtbmVzdGVkLWlubGluZXMtMS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvZXhlY0NvbW1hbmQvaW5kZW50LW5lc3RlZC1pbmxp
bmVzLTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9leGVjQ29tbWFuZC9pbmRlbnQt
bmVzdGVkLWlubGluZXMtMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
ZXhlY0NvbW1hbmQvaW5kZW50LW5lc3RlZC1pbmxpbmVzLTIuaHRtbDogQWRkZWQuCisKIDIwMTIt
MDYtMDEgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBb
UXRdIFVucmV2aWV3ZWQgZ2FyZGVuaW5nLCBza2lwIG5ldyBmYWlsaW5nIGFuZCBjcmFzaGluZyB0
ZXN0cy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvaW5kZW50
LW5lc3RlZC1pbmxpbmVzLTEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9leGVj
Q29tbWFuZC9pbmRlbnQtbmVzdGVkLWlubGluZXMtMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZmZkYmFhNmNiNWUyZTBhZmQzYWE0NTRmZWY2NWFhMjRkNDNhODUwMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvaW5kZW50LW5lc3RlZC1pbmxpbmVz
LTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK1RoaXMgdGVzdHMgaW5kZW50aW5nIHBh
cmFncmFwaHMgdGhhdCBiZWdpbiB3aXRoIGlubGluZXMuCit8IDxibG9ja3F1b3RlPgorfCAgIHN0
eWxlPSJtYXJnaW46IDAgMCAwIDQwcHg7IGJvcmRlcjogbm9uZTsgcGFkZGluZzogMHB4OyIKK3wg
ICA8YmxvY2txdW90ZT4KK3wgICAgIHN0eWxlPSJtYXJnaW46IDAgMCAwIDQwcHg7IGJvcmRlcjog
bm9uZTsgcGFkZGluZzogMHB4OyIKK3wgICAgIDxibG9ja3F1b3RlPgorfCAgICAgICBzdHlsZT0i
bWFyZ2luOiAwIDAgMCA0MHB4OyBib3JkZXI6IG5vbmU7IHBhZGRpbmc6IDBweDsiCit8ICAgICAg
IDxhPgorfCAgICAgICAgIGhyZWY9IiMiCit8ICAgICAgICAgIjwjc2VsZWN0aW9uLWFuY2hvcj5M
aW5rIgorfCAgICAgICAiVGhpcyBzaG91bGQgYmUgdW5kZXIgc2FtZSB0aGUgYmxvY2txdW90ZSBh
cyBMaW5rPCNzZWxlY3Rpb24tZm9jdXM+IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9leGVjQ29tbWFuZC9pbmRlbnQtbmVzdGVkLWlubGluZXMtMS5odG1sIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9leGVjQ29tbWFuZC9pbmRlbnQtbmVzdGVkLWlubGluZXMtMS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmQxYmRjNGQ2ODBhMjZlYWQ0ZjAyZTgzYmM5NTI0ZmViYjJkMjVlZmYKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kL2luZGVudC1uZXN0ZWQtaW5s
aW5lcy0xLmh0bWwKQEAgLTAsMCArMSwyMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxi
b2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9z
Y3JpcHQ+Cis8ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSI+PGEgaHJlZj0iIyI+TGluazwvYT5U
aGlzIHNob3VsZCBiZSB1bmRlciBzYW1lIHRoZSBibG9ja3F1b3RlIGFzIExpbms8L2Rpdj4KKzxz
Y3JpcHQ+CisKK01hcmt1cC5kZXNjcmlwdGlvbignVGhpcyB0ZXN0cyBpbmRlbnRpbmcgcGFyYWdy
YXBocyB0aGF0IGJlZ2luIHdpdGggaW5saW5lcy4nKTsKKwordmFyIGRpdiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRzQnlUYWdOYW1lKCdkaXYnKVswXTsKK3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5zZWxl
Y3RBbGxDaGlsZHJlbihkaXYpOworZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2luZGVudCcsIGZhbHNl
LCB0cnVlKTsKK2RvY3VtZW50LmV4ZWNDb21tYW5kKCdpbmRlbnQnLCBmYWxzZSwgdHJ1ZSk7Citk
b2N1bWVudC5leGVjQ29tbWFuZCgnaW5kZW50JywgZmFsc2UsIHRydWUpOworCitNYXJrdXAuZHVt
cChkaXYpOworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvaW5kZW50LW5lc3RlZC1pbmxpbmVzLTItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC9pbmRlbnQtbmVzdGVkLWlu
bGluZXMtMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWQ2ZDgyMGMwYThkNWQyMTM1Y2NkODgy
MmMxNTUxNzdkZWRkOGRmOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
ZXhlY0NvbW1hbmQvaW5kZW50LW5lc3RlZC1pbmxpbmVzLTItZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTIgQEAKK1RoaXMgdGVzdHMgaW5kZW50aW5nIHBhcmFncmFwaHMgdGhhdCBiZWdpbiB3aXRo
IG5lc3RlZCBpbmxpbmVzLgorfCA8YmxvY2txdW90ZT4KK3wgICBzdHlsZT0ibWFyZ2luOiAwIDAg
MCA0MHB4OyBib3JkZXI6IG5vbmU7IHBhZGRpbmc6IDBweDsiCit8ICAgPGJsb2NrcXVvdGU+Cit8
ICAgICBzdHlsZT0ibWFyZ2luOiAwIDAgMCA0MHB4OyBib3JkZXI6IG5vbmU7IHBhZGRpbmc6IDBw
eDsiCit8ICAgICA8YmxvY2txdW90ZT4KK3wgICAgICAgc3R5bGU9Im1hcmdpbjogMCAwIDAgNDBw
eDsgYm9yZGVyOiBub25lOyBwYWRkaW5nOiAwcHg7IgorfCAgICAgICA8Yj4KK3wgICAgICAgICA8
YT4KK3wgICAgICAgICAgIGhyZWY9IiMiCit8ICAgICAgICAgICAiPCNzZWxlY3Rpb24tYW5jaG9y
PkJvbGRMaW5rIgorfCAgICAgICAiVGhpcyBzaG91bGQgYmUgdW5kZXIgdGhlIHNhbWUgYmxvY2tx
dW90ZSBhcyBCb2xkTGluaywgYW5kIG5vdCBib2xkPCNzZWxlY3Rpb24tZm9jdXM+IgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC9pbmRlbnQtbmVzdGVkLWlubGlu
ZXMtMi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC9pbmRlbnQtbmVzdGVk
LWlubGluZXMtMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIyNDNhNzk4ODdmNWI1NzRlZjVhN2I2YjM4OTkx
NzljODA4YTkzNjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWND
b21tYW5kL2luZGVudC1uZXN0ZWQtaW5saW5lcy0yLmh0bWwKQEAgLTAsMCArMSwyMCBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8ZGl2IGNvbnRlbnRlZGl0YWJsZT0idHJ1
ZSI+PGI+PGEgaHJlZj0iIyI+Qm9sZExpbms8L2E+PC9iPlRoaXMgc2hvdWxkIGJlIHVuZGVyIHRo
ZSBzYW1lIGJsb2NrcXVvdGUgYXMgQm9sZExpbmssIGFuZCBub3QgYm9sZDwvZGl2PgorPHNjcmlw
dD4KKworTWFya3VwLmRlc2NyaXB0aW9uKCdUaGlzIHRlc3RzIGluZGVudGluZyBwYXJhZ3JhcGhz
IHRoYXQgYmVnaW4gd2l0aCBuZXN0ZWQgaW5saW5lcy4nKTsKKwordmFyIGRpdiA9IGRvY3VtZW50
LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdkaXYnKVswXTsKK3dpbmRvdy5nZXRTZWxlY3Rpb24oKS5z
ZWxlY3RBbGxDaGlsZHJlbihkaXYpOworZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2luZGVudCcsIGZh
bHNlLCB0cnVlKTsKK2RvY3VtZW50LmV4ZWNDb21tYW5kKCdpbmRlbnQnLCBmYWxzZSwgdHJ1ZSk7
Citkb2N1bWVudC5leGVjQ29tbWFuZCgnaW5kZW50JywgZmFsc2UsIHRydWUpOworCitNYXJrdXAu
ZHVtcChkaXYpOworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>