<?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>63181</bug_id>
          
          <creation_ts>2011-06-22 14:17:02 -0700</creation_ts>
          <short_desc>Add a Position constructor that takes (Text*, unsigned offset)</short_desc>
          <delta_ts>2011-06-22 17:45:30 -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>
          
          <blocked>63040</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>darin</cc>
    
    <cc>enrica</cc>
    
    <cc>eric</cc>
    
    <cc>leviw</cc>
    
    <cc>ojan</cc>
    
    <cc>sullivan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>425577</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-06-22 14:17:02 -0700</bug_when>
    <thetext>We should add a new Position constructor that takes Text* and offset so as to replace the one that takes (Node*, int offset, anchorType).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425596</commentid>
    <comment_count>1</comment_count>
      <attachid>98243</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-06-22 14:29:31 -0700</bug_when>
    <thetext>Created attachment 98243
Adds a new constructor</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425788</commentid>
    <comment_count>2</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-06-22 17:45:30 -0700</bug_when>
    <thetext>Committed r89505: &lt;http://trac.webkit.org/changeset/89505&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>98243</attachid>
            <date>2011-06-22 14:29:31 -0700</date>
            <delta_ts>2011-06-22 17:41:17 -0700</delta_ts>
            <desc>Adds a new constructor</desc>
            <filename>bug-63181-20110622142930.patch</filename>
            <type>text/plain</type>
            <size>13922</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg5NDc4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTEtMDYtMjIgIFJ5b3N1a2Ug
Tml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIGEgUG9zaXRpb24gY29uc3RydWN0b3IgdGhhdCB0YWtlcyAo
VGV4dCosIHVuc2lnbmVkIG9mZnNldCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTYzMTgxCisKKyAgICAgICAgQWRkZWQgUG9zaXRpb246OlBvc2l0aW9u
KFBhc3NSZWZQdHI8VGV4dCo+LCB1bnNpZ25lZCBvZmZzZXQpIGFuZCBkZXBsb3llZCBpbiBhIGNv
dXBsZSBvZiBwbGFjZXMKKyAgICAgICAgYnkgcmVwbGFjaW5nIHRoZSBjYWxscyB0byB0aGUgb2xk
IGNvbnN0cnVjdG9yLgorCisgICAgICAgICogZG9tL1Bvc2l0aW9uLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlBvc2l0aW9uOjpQb3NpdGlvbik6IEFkZGVkLgorICAgICAgICAqIGRvbS9Qb3NpdGlv
bi5oOgorICAgICAgICAqIGVkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q29tcG9zaXRlRWRpdENvbW1hbmQ6OnJlcGxhY2VTZWxlY3RlZFRleHRJbk5v
ZGUpOiBDYWxscyBuZXcgY29uc3RydWN0b3I7IGV4dHJhY3RlZAorICAgICAgICBmcm9tIEluc2Vy
dFRleHRDb21tYW5kOjpwZXJmb3JtVHJpdmlhbFJlcGxhY2UgYW5kIFJlcGxhY2VTZWxlY3Rpb25D
b21tYW5kOjpwZXJmb3JtVHJpdmlhbFJlcGxhY2UuCisgICAgICAgIChXZWJDb3JlOjpDb21wb3Np
dGVFZGl0Q29tbWFuZDo6cmViYWxhbmNlV2hpdGVzcGFjZU9uVGV4dFN1YnN0cmluZyk6IENhbGxz
IG5ldyBjb25zdHJ1Y3RvcgorICAgICAgICAqIGVkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQu
aDoKKyAgICAgICAgKiBlZGl0aW5nL0luc2VydFRleHRDb21tYW5kLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Okluc2VydFRleHRDb21tYW5kOjpwZXJmb3JtVHJpdmlhbFJlcGxhY2UpOiBDYWxscyBy
ZXBsYWNlU2VsZWN0ZWRUZXh0SW5Ob2RlLgorICAgICAgICAoV2ViQ29yZTo6SW5zZXJ0VGV4dENv
bW1hbmQ6OmlucHV0KTogQ2FsbHMgbmV3IGNvbnN0cnVjdG9yLgorICAgICAgICAoV2ViQ29yZTo6
SW5zZXJ0VGV4dENvbW1hbmQ6Omluc2VydFRhYik6IFVzZSBSZWZQdHIgaW5zdGVhZCBvZiBhIHJh
dyBwb2ludGVyLgorICAgICAgICAqIGVkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQ6OnBlcmZvcm1Ucml2
aWFsUmVwbGFjZSk6IENhbGxzIHJlcGxhY2VTZWxlY3RlZFRleHRJbk5vZGUuCisgICAgICAgICog
ZWRpdGluZy92aXNpYmxlX3VuaXRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnN0YXJ0UG9zaXRp
b25Gb3JMaW5lKTogQ2FsbHMgbmV3IGNvbnN0cnVjdG9yLgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUZXh0Q29udHJvbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Q29udHJv
bDo6dmlzaWJsZVBvc2l0aW9uRm9ySW5kZXgpOiBDYWxscyBuZXcgY29uc3RydWN0b3I7IGNhbGxz
IGVuZFBvc2l0aW9uCisgICAgICAgIG9uIFJhbmdlIGluc3RlYWQgb2YgYXZvaWQgbWFudWFsbHkg
Y29uc3RydWN0aW5nIGEgVmlzaWJsZVBvc2l0aW9uIG91dCBvZiBlbmRDb250YWluZXIgYW5kIGVu
ZE9mZnNldC4KKwogMjAxMS0wNi0yMiAgQ2hyaXMgUm9nZXJzICA8Y3JvZ2Vyc0Bnb29nbGUuY29t
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUnVzc2VsbC4KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2RvbS9Qb3NpdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9t
L1Bvc2l0aW9uLmNwcAkocmV2aXNpb24gODk0NDEpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vUG9z
aXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDMsNiArMTAzLDE1IEBAIFBvc2l0aW9uOjpQ
b3NpdGlvbihQYXNzUmVmUHRyPE5vZGU+IGFuY2gKICAgICBBU1NFUlQoYW5jaG9yVHlwZSA9PSBQ
b3NpdGlvbklzT2Zmc2V0SW5BbmNob3IpOwogfQogCitQb3NpdGlvbjo6UG9zaXRpb24oUGFzc1Jl
ZlB0cjxUZXh0PiB0ZXh0Tm9kZSwgdW5zaWduZWQgb2Zmc2V0KQorICAgIDogbV9hbmNob3JOb2Rl
KHRleHROb2RlKQorICAgICwgbV9vZmZzZXQoc3RhdGljX2Nhc3Q8aW50PihvZmZzZXQpKQorICAg
ICwgbV9hbmNob3JUeXBlKFBvc2l0aW9uSXNPZmZzZXRJbkFuY2hvcikKKyAgICAsIG1faXNMZWdh
Y3lFZGl0aW5nUG9zaXRpb24oZmFsc2UpCit7CisgICAgQVNTRVJUKG1fYW5jaG9yTm9kZSk7Cit9
CisKIHZvaWQgUG9zaXRpb246Om1vdmVUb1Bvc2l0aW9uKFBhc3NSZWZQdHI8Tm9kZT4gbm9kZSwg
aW50IG9mZnNldCkKIHsKICAgICBBU1NFUlQoIWVkaXRpbmdJZ25vcmVzQ29udGVudChub2RlLmdl
dCgpKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vUG9zaXRpb24uaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9kb20vUG9zaXRpb24uaAkocmV2aXNpb24gODk0NDEpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9kb20vUG9zaXRpb24uaAkod29ya2luZyBjb3B5KQpAQCAtNDIsNiArNDIsNyBA
QCBjbGFzcyBJbmxpbmVCb3g7CiBjbGFzcyBOb2RlOwogY2xhc3MgUmFuZ2U7CiBjbGFzcyBSZW5k
ZXJPYmplY3Q7CitjbGFzcyBUZXh0OwogCiBlbnVtIFBvc2l0aW9uTW92ZVR5cGUgewogICAgIENv
ZGVQb2ludCwgICAgICAgLy8gTW92ZSBieSBhIHNpbmdsZSBjb2RlIHBvaW50LgpAQCAtODAsNyAr
ODEsMTAgQEAgcHVibGljOgogCiAgICAgLy8gRm9yIGNyZWF0aW5nIGJlZm9yZS9hZnRlciBwb3Np
dGlvbnM6CiAgICAgUG9zaXRpb24oUGFzc1JlZlB0cjxOb2RlPiBhbmNob3JOb2RlLCBBbmNob3JU
eXBlKTsKKyAgICBQb3NpdGlvbihQYXNzUmVmUHRyPFRleHQ+IHRleHROb2RlLCB1bnNpZ25lZCBv
ZmZzZXQpOworCiAgICAgLy8gRm9yIGNyZWF0aW5nIG9mZnNldCBwb3NpdGlvbnM6CisgICAgLy8g
RklYTUU6IFRoaXMgY29uc3RydWN0b3Igc2hvdWxkIGV2ZW50dWFsbHkgZ28gYXdheS4gU2VlIGJ1
ZyA2MzA0MC4KICAgICBQb3NpdGlvbihQYXNzUmVmUHRyPE5vZGU+IGFuY2hvck5vZGUsIGludCBv
ZmZzZXQsIEFuY2hvclR5cGUpOwogCiAgICAgQW5jaG9yVHlwZSBhbmNob3JUeXBlKCkgY29uc3Qg
eyByZXR1cm4gc3RhdGljX2Nhc3Q8QW5jaG9yVHlwZT4obV9hbmNob3JUeXBlKTsgfQpJbmRleDog
U291cmNlL1dlYkNvcmUvZWRpdGluZy9Db21wb3NpdGVFZGl0Q29tbWFuZC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9Db21wb3NpdGVFZGl0Q29tbWFuZC5jcHAJKHJl
dmlzaW9uIDg5NDQxKQorKysgU291cmNlL1dlYkNvcmUvZWRpdGluZy9Db21wb3NpdGVFZGl0Q29t
bWFuZC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0MCw2ICszNDAsMTkgQEAgdm9pZCBDb21wb3Np
dGVFZGl0Q29tbWFuZDo6cmVwbGFjZVRleHRJbgogICAgICAgICBhcHBseUNvbW1hbmRUb0NvbXBv
c2l0ZShJbnNlcnRJbnRvVGV4dE5vZGVDb21tYW5kOjpjcmVhdGUobm9kZSwgb2Zmc2V0LCByZXBs
YWNlbWVudFRleHQpKTsKIH0KIAorUG9zaXRpb24gQ29tcG9zaXRlRWRpdENvbW1hbmQ6OnJlcGxh
Y2VTZWxlY3RlZFRleHRJbk5vZGUoY29uc3QgU3RyaW5nJiB0ZXh0KQoreworICAgIFBvc2l0aW9u
IHN0YXJ0ID0gZW5kaW5nU2VsZWN0aW9uKCkuc3RhcnQoKTsKKyAgICBQb3NpdGlvbiBlbmQgPSBl
bmRpbmdTZWxlY3Rpb24oKS5lbmQoKTsKKyAgICBpZiAoc3RhcnQuY29udGFpbmVyTm9kZSgpICE9
IGVuZC5jb250YWluZXJOb2RlKCkgfHwgIXN0YXJ0LmNvbnRhaW5lck5vZGUoKS0+aXNUZXh0Tm9k
ZSgpIHx8IGlzVGFiU3BhblRleHROb2RlKHN0YXJ0LmNvbnRhaW5lck5vZGUoKSkpCisgICAgICAg
IHJldHVybiBQb3NpdGlvbigpOworCisgICAgUmVmUHRyPFRleHQ+IHRleHROb2RlID0gc3RhdGlj
X2Nhc3Q8VGV4dCo+KHN0YXJ0LmNvbnRhaW5lck5vZGUoKSk7CisgICAgcmVwbGFjZVRleHRJbk5v
ZGUodGV4dE5vZGUsIHN0YXJ0Lm9mZnNldEluQ29udGFpbmVyTm9kZSgpLCBlbmQub2Zmc2V0SW5D
b250YWluZXJOb2RlKCkgLSBzdGFydC5vZmZzZXRJbkNvbnRhaW5lck5vZGUoKSwgdGV4dCk7CisK
KyAgICByZXR1cm4gUG9zaXRpb24odGV4dE5vZGUucmVsZWFzZSgpLCBzdGFydC5vZmZzZXRJbkNv
bnRhaW5lck5vZGUoKSArIHRleHQubGVuZ3RoKCkpOworfQorCiB2b2lkIENvbXBvc2l0ZUVkaXRD
b21tYW5kOjpyZXBsYWNlVGV4dEluTm9kZVByZXNlcnZpbmdNYXJrZXJzKFBhc3NSZWZQdHI8VGV4
dD4gcHJwTm9kZSwgdW5zaWduZWQgb2Zmc2V0LCB1bnNpZ25lZCBjb3VudCwgY29uc3QgU3RyaW5n
JiByZXBsYWNlbWVudFRleHQpCiB7CiAgICAgUmVmUHRyPFRleHQ+IG5vZGUocHJwTm9kZSk7CkBA
IC00NzksOCArNDkyLDggQEAgdm9pZCBDb21wb3NpdGVFZGl0Q29tbWFuZDo6cmViYWxhbmNlV2hp
dAogICAgIGlmICghbGVuZ3RoKQogICAgICAgICByZXR1cm47CiAKLSAgICBWaXNpYmxlUG9zaXRp
b24gdmlzaWJsZVVwc3RyZWFtUG9zKFBvc2l0aW9uKHRleHROb2RlLCB1cHN0cmVhbSwgUG9zaXRp
b246OlBvc2l0aW9uSXNPZmZzZXRJbkFuY2hvcikpOwotICAgIFZpc2libGVQb3NpdGlvbiB2aXNp
YmxlRG93bnN0cmVhbVBvcyhQb3NpdGlvbih0ZXh0Tm9kZSwgZG93bnN0cmVhbSwgUG9zaXRpb246
OlBvc2l0aW9uSXNPZmZzZXRJbkFuY2hvcikpOworICAgIFZpc2libGVQb3NpdGlvbiB2aXNpYmxl
VXBzdHJlYW1Qb3MoUG9zaXRpb24odGV4dE5vZGUsIHVwc3RyZWFtKSk7CisgICAgVmlzaWJsZVBv
c2l0aW9uIHZpc2libGVEb3duc3RyZWFtUG9zKFBvc2l0aW9uKHRleHROb2RlLCBkb3duc3RyZWFt
KSk7CiAgICAgCiAgICAgU3RyaW5nIHN0cmluZyA9IHRleHQuc3Vic3RyaW5nKHVwc3RyZWFtLCBs
ZW5ndGgpOwogICAgIFN0cmluZyByZWJhbGFuY2VkU3RyaW5nID0gc3RyaW5nV2l0aFJlYmFsYW5j
ZWRXaGl0ZXNwYWNlKHN0cmluZywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQ29tcG9z
aXRlRWRpdENvbW1hbmQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0Nv
bXBvc2l0ZUVkaXRDb21tYW5kLmgJKHJldmlzaW9uIDg5NDQxKQorKysgU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9Db21wb3NpdGVFZGl0Q29tbWFuZC5oCSh3b3JraW5nIGNvcHkpCkBAIC04Miw2ICs4
Miw3IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIHJlbW92ZU5vZGVBbmRQcnVuZUFuY2VzdG9ycyhQ
YXNzUmVmUHRyPE5vZGU+KTsKICAgICB2b2lkIHBydW5lKFBhc3NSZWZQdHI8Tm9kZT4pOwogICAg
IHZvaWQgcmVwbGFjZVRleHRJbk5vZGUoUGFzc1JlZlB0cjxUZXh0PiwgdW5zaWduZWQgb2Zmc2V0
LCB1bnNpZ25lZCBjb3VudCwgY29uc3QgU3RyaW5nJiByZXBsYWNlbWVudFRleHQpOworICAgIFBv
c2l0aW9uIHJlcGxhY2VTZWxlY3RlZFRleHRJbk5vZGUoY29uc3QgU3RyaW5nJik7CiAgICAgdm9p
ZCByZXBsYWNlVGV4dEluTm9kZVByZXNlcnZpbmdNYXJrZXJzKFBhc3NSZWZQdHI8VGV4dD4sIHVu
c2lnbmVkIG9mZnNldCwgdW5zaWduZWQgY291bnQsIGNvbnN0IFN0cmluZyYgcmVwbGFjZW1lbnRU
ZXh0KTsKICAgICBQb3NpdGlvbiBwb3NpdGlvbk91dHNpZGVUYWJTcGFuKGNvbnN0IFBvc2l0aW9u
Jik7CiAgICAgdm9pZCBzZXROb2RlQXR0cmlidXRlKFBhc3NSZWZQdHI8RWxlbWVudD4sIGNvbnN0
IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZSwgY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSk7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0luc2VydFRleHRDb21tYW5kLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0luc2VydFRleHRDb21tYW5kLmNwcAkocmV2
aXNpb24gODk0NDEpCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0luc2VydFRleHRDb21tYW5k
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzYsMTkgKzc2LDEyIEBAIGJvb2wgSW5zZXJ0VGV4dENv
bW1hbmQ6OnBlcmZvcm1Ucml2aWFsUmUKICAgICAKICAgICBpZiAodGV4dC5jb250YWlucygnXHQn
KSB8fCB0ZXh0LmNvbnRhaW5zKCcgJykgfHwgdGV4dC5jb250YWlucygnXG4nKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgIAotICAgIFBvc2l0aW9uIHN0YXJ0ID0gZW5kaW5nU2VsZWN0aW9u
KCkuc3RhcnQoKS5wYXJlbnRBbmNob3JlZEVxdWl2YWxlbnQoKTsKLSAgICBQb3NpdGlvbiBlbmQg
PSBlbmRpbmdTZWxlY3Rpb24oKS5lbmQoKS5wYXJlbnRBbmNob3JlZEVxdWl2YWxlbnQoKTsKLSAg
ICBBU1NFUlQoc3RhcnQuYW5jaG9yVHlwZSgpID09IFBvc2l0aW9uOjpQb3NpdGlvbklzT2Zmc2V0
SW5BbmNob3IpOwotICAgIEFTU0VSVChlbmQuYW5jaG9yVHlwZSgpID09IFBvc2l0aW9uOjpQb3Np
dGlvbklzT2Zmc2V0SW5BbmNob3IpOwogCi0gICAgaWYgKHN0YXJ0LmNvbnRhaW5lck5vZGUoKSAh
PSBlbmQuY29udGFpbmVyTm9kZSgpIHx8ICFzdGFydC5jb250YWluZXJOb2RlKCktPmlzVGV4dE5v
ZGUoKSB8fCBpc1RhYlNwYW5UZXh0Tm9kZShzdGFydC5jb250YWluZXJOb2RlKCkpKQorICAgIFBv
c2l0aW9uIHN0YXJ0ID0gZW5kaW5nU2VsZWN0aW9uKCkuc3RhcnQoKTsKKyAgICBQb3NpdGlvbiBl
bmRQb3NpdGlvbiA9IHJlcGxhY2VTZWxlY3RlZFRleHRJbk5vZGUodGV4dCk7CisgICAgaWYgKGVu
ZFBvc2l0aW9uLmlzTnVsbCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICByZXBsYWNl
VGV4dEluTm9kZShzdGF0aWNfY2FzdDxUZXh0Kj4oc3RhcnQuY29udGFpbmVyTm9kZSgpKSwgc3Rh
cnQub2Zmc2V0SW5Db250YWluZXJOb2RlKCksIGVuZC5vZmZzZXRJbkNvbnRhaW5lck5vZGUoKSAt
IHN0YXJ0Lm9mZnNldEluQ29udGFpbmVyTm9kZSgpLCB0ZXh0KTsKLQotICAgIFBvc2l0aW9uIGVu
ZFBvc2l0aW9uKHN0YXJ0LmNvbnRhaW5lck5vZGUoKSwgc3RhcnQub2Zmc2V0SW5Db250YWluZXJO
b2RlKCkgKyB0ZXh0Lmxlbmd0aCgpLCBQb3NpdGlvbjo6UG9zaXRpb25Jc09mZnNldEluQW5jaG9y
KTsKLQogICAgIC8vIFdlIGNvdWxkIGhhdmUgaW5zZXJ0ZWQgYSBwYXJ0IG9mIGNvbXBvc2VkIGNo
YXJhY3RlciBzZXF1ZW5jZSwKICAgICAvLyBzbyB3ZSBhcmUgYmFzaWNhbGx5IHRyZWF0aW5nIGVu
ZGluZyBzZWxlY3Rpb24gYXMgYSByYW5nZSB0byBhdm9pZCB2YWxpZGF0aW9uLgogICAgIC8vIDxo
dHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTc4MT4KQEAgLTE2NSwxMSAr
MTU4LDExIEBAIHZvaWQgSW5zZXJ0VGV4dENvbW1hbmQ6OmlucHV0KGNvbnN0IFN0cmkKICAgICAg
ICAgQVNTRVJUKHN0YXJ0UG9zaXRpb24uY29udGFpbmVyTm9kZSgpLT5pc1RleHROb2RlKCkpOwog
ICAgICAgICBpZiAocGxhY2Vob2xkZXIuaXNOb3ROdWxsKCkpCiAgICAgICAgICAgICByZW1vdmVQ
bGFjZWhvbGRlckF0KHBsYWNlaG9sZGVyKTsKLSAgICAgICAgVGV4dCogdGV4dE5vZGUgPSBzdGF0
aWNfY2FzdDxUZXh0Kj4oc3RhcnRQb3NpdGlvbi5jb250YWluZXJOb2RlKCkpOworICAgICAgICBS
ZWZQdHI8VGV4dD4gdGV4dE5vZGUgPSBzdGF0aWNfY2FzdDxUZXh0Kj4oc3RhcnRQb3NpdGlvbi5j
b250YWluZXJOb2RlKCkpOwogICAgICAgICBjb25zdCB1bnNpZ25lZCBvZmZzZXQgPSBzdGFydFBv
c2l0aW9uLm9mZnNldEluQ29udGFpbmVyTm9kZSgpOwogCiAgICAgICAgIGluc2VydFRleHRJbnRv
Tm9kZSh0ZXh0Tm9kZSwgb2Zmc2V0LCB0ZXh0KTsKLSAgICAgICAgZW5kUG9zaXRpb24gPSBQb3Np
dGlvbih0ZXh0Tm9kZSwgb2Zmc2V0ICsgdGV4dC5sZW5ndGgoKSwgUG9zaXRpb246OlBvc2l0aW9u
SXNPZmZzZXRJbkFuY2hvcik7CisgICAgICAgIGVuZFBvc2l0aW9uID0gUG9zaXRpb24odGV4dE5v
ZGUsIG9mZnNldCArIHRleHQubGVuZ3RoKCkpOwogCiAgICAgICAgIGlmICh3aGl0ZXNwYWNlUmVi
YWxhbmNlID09IFJlYmFsYW5jZUxlYWRpbmdBbmRUcmFpbGluZ1doaXRlc3BhY2VzKSB7CiAgICAg
ICAgICAgICAvLyBUaGUgaW5zZXJ0aW9uIG1heSByZXF1aXJlIGFkanVzdGluZyBhZGphY2VudCB3
aGl0ZXNwYWNlLCBpZiBpdCBpcyBwcmVzZW50LgpAQCAtMjExLDggKzIwNCw5IEBAIFBvc2l0aW9u
IEluc2VydFRleHRDb21tYW5kOjppbnNlcnRUYWIoY28KIAogICAgIC8vIGtlZXAgdGFicyBjb2Fs
ZXNjZWQgaW4gdGFiIHNwYW4KICAgICBpZiAoaXNUYWJTcGFuVGV4dE5vZGUobm9kZSkpIHsKLSAg
ICAgICAgaW5zZXJ0VGV4dEludG9Ob2RlKHN0YXRpY19jYXN0PFRleHQgKj4obm9kZSksIG9mZnNl
dCwgIlx0Iik7Ci0gICAgICAgIHJldHVybiBQb3NpdGlvbihub2RlLCBvZmZzZXQgKyAxLCBQb3Np
dGlvbjo6UG9zaXRpb25Jc09mZnNldEluQW5jaG9yKTsKKyAgICAgICAgUmVmUHRyPFRleHQ+IHRl
eHROb2RlID0gc3RhdGljX2Nhc3Q8VGV4dCo+KG5vZGUpOworICAgICAgICBpbnNlcnRUZXh0SW50
b05vZGUodGV4dE5vZGUsIG9mZnNldCwgIlx0Iik7CisgICAgICAgIHJldHVybiBQb3NpdGlvbih0
ZXh0Tm9kZS5yZWxlYXNlKCksIG9mZnNldCArIDEpOwogICAgIH0KICAgICAKICAgICAvLyBjcmVh
dGUgbmV3IHRhYiBzcGFuCkBAIC0yMjIsMTcgKzIxNiwxNyBAQCBQb3NpdGlvbiBJbnNlcnRUZXh0
Q29tbWFuZDo6aW5zZXJ0VGFiKGNvCiAgICAgaWYgKCFub2RlLT5pc1RleHROb2RlKCkpIHsKICAg
ICAgICAgaW5zZXJ0Tm9kZUF0KHNwYW5Ob2RlLmdldCgpLCBpbnNlcnRQb3MpOwogICAgIH0gZWxz
ZSB7Ci0gICAgICAgIFRleHQgKnRleHROb2RlID0gc3RhdGljX2Nhc3Q8VGV4dCAqPihub2RlKTsK
LSAgICAgICAgaWYgKG9mZnNldCA+PSB0ZXh0Tm9kZS0+bGVuZ3RoKCkpIHsKLSAgICAgICAgICAg
IGluc2VydE5vZGVBZnRlcihzcGFuTm9kZS5nZXQoKSwgdGV4dE5vZGUpOwotICAgICAgICB9IGVs
c2UgeworICAgICAgICBSZWZQdHI8VGV4dD4gdGV4dE5vZGUgPSBzdGF0aWNfY2FzdDxUZXh0Kj4o
bm9kZSk7CisgICAgICAgIGlmIChvZmZzZXQgPj0gdGV4dE5vZGUtPmxlbmd0aCgpKQorICAgICAg
ICAgICAgaW5zZXJ0Tm9kZUFmdGVyKHNwYW5Ob2RlLCB0ZXh0Tm9kZS5yZWxlYXNlKCkpOworICAg
ICAgICBlbHNlIHsKICAgICAgICAgICAgIC8vIHNwbGl0IG5vZGUgdG8gbWFrZSByb29tIGZvciB0
aGUgc3BhbgogICAgICAgICAgICAgLy8gTk9URTogc3BsaXRUZXh0Tm9kZSB1c2VzIHRleHROb2Rl
IGZvciB0aGUKICAgICAgICAgICAgIC8vIHNlY29uZCBub2RlIGluIHRoZSBzcGxpdCwgc28gd2Ug
bmVlZCB0bwogICAgICAgICAgICAgLy8gaW5zZXJ0IHRoZSBzcGFuIGJlZm9yZSBpdC4KICAgICAg
ICAgICAgIGlmIChvZmZzZXQgPiAwKQogICAgICAgICAgICAgICAgIHNwbGl0VGV4dE5vZGUodGV4
dE5vZGUsIG9mZnNldCk7Ci0gICAgICAgICAgICBpbnNlcnROb2RlQmVmb3JlKHNwYW5Ob2RlLCB0
ZXh0Tm9kZSk7CisgICAgICAgICAgICBpbnNlcnROb2RlQmVmb3JlKHNwYW5Ob2RlLCB0ZXh0Tm9k
ZS5yZWxlYXNlKCkpOwogICAgICAgICB9CiAgICAgfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcAkocmV2aXNpb24gODk0
NDEpCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMTMwNSwyMCArMTMwNSwxMiBAQCBib29sIFJlcGxhY2VTZWxl
Y3Rpb25Db21tYW5kOjpwZXJmb3JtVHJpCiAgICAgCiAgICAgVGV4dCogdGV4dE5vZGUgPSBzdGF0
aWNfY2FzdDxUZXh0Kj4oZnJhZ21lbnQuZmlyc3RDaGlsZCgpKTsKICAgICAvLyBPdXIgZnJhZ21l
bnQgY3JlYXRpb24gY29kZSBoYW5kbGVzIHRhYnMsIHNwYWNlcywgYW5kIG5ld2xpbmVzLCBzbyB3
ZSBkb24ndCBoYXZlIHRvIHdvcnJ5IGFib3V0IHRob3NlIGhlcmUuCi0gICAgU3RyaW5nIHRleHQo
dGV4dE5vZGUtPmRhdGEoKSk7Ci0gICAgCi0gICAgUG9zaXRpb24gc3RhcnQgPSBlbmRpbmdTZWxl
Y3Rpb24oKS5zdGFydCgpLnBhcmVudEFuY2hvcmVkRXF1aXZhbGVudCgpOwotICAgIFBvc2l0aW9u
IGVuZCA9IGVuZGluZ1NlbGVjdGlvbigpLmVuZCgpLnBhcmVudEFuY2hvcmVkRXF1aXZhbGVudCgp
OwotICAgIEFTU0VSVChzdGFydC5hbmNob3JUeXBlKCkgPT0gUG9zaXRpb246OlBvc2l0aW9uSXNP
ZmZzZXRJbkFuY2hvcik7Ci0gICAgQVNTRVJUKGVuZC5hbmNob3JUeXBlKCkgPT0gUG9zaXRpb246
OlBvc2l0aW9uSXNPZmZzZXRJbkFuY2hvcik7CiAKLSAgICBpZiAoc3RhcnQuY29udGFpbmVyTm9k
ZSgpICE9IGVuZC5jb250YWluZXJOb2RlKCkgfHwgIXN0YXJ0LmNvbnRhaW5lck5vZGUoKS0+aXNU
ZXh0Tm9kZSgpKQorICAgIFBvc2l0aW9uIHN0YXJ0ID0gZW5kaW5nU2VsZWN0aW9uKCkuc3RhcnQo
KTsKKyAgICBQb3NpdGlvbiBlbmQgPSByZXBsYWNlU2VsZWN0ZWRUZXh0SW5Ob2RlKHRleHROb2Rl
LT5kYXRhKCkpOworICAgIGlmIChlbmQuaXNOdWxsKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
IAotICAgIHJlcGxhY2VUZXh0SW5Ob2RlKHN0YXRpY19jYXN0PFRleHQqPihzdGFydC5jb250YWlu
ZXJOb2RlKCkpLCBzdGFydC5vZmZzZXRJbkNvbnRhaW5lck5vZGUoKSwgZW5kLm9mZnNldEluQ29u
dGFpbmVyTm9kZSgpIC0gc3RhcnQub2Zmc2V0SW5Db250YWluZXJOb2RlKCksIHRleHQpOwotCi0g
ICAgZW5kID0gUG9zaXRpb24oc3RhcnQuY29udGFpbmVyTm9kZSgpLCBzdGFydC5vZmZzZXRJbkNv
bnRhaW5lck5vZGUoKSArIHRleHQubGVuZ3RoKCksIFBvc2l0aW9uOjpQb3NpdGlvbklzT2Zmc2V0
SW5BbmNob3IpOwotCiAgICAgVmlzaWJsZVNlbGVjdGlvbiBzZWxlY3Rpb25BZnRlclJlcGxhY2Uo
bV9zZWxlY3RSZXBsYWNlbWVudCA/IHN0YXJ0IDogZW5kLCBlbmQpOwogCiAgICAgc2V0RW5kaW5n
U2VsZWN0aW9uKHNlbGVjdGlvbkFmdGVyUmVwbGFjZSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL3Zpc2libGVfdW5pdHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvdmlzaWJsZV91bml0cy5jcHAJKHJldmlzaW9uIDg5NDQxKQorKysgU291cmNlL1dlYkNv
cmUvZWRpdGluZy92aXNpYmxlX3VuaXRzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQsNiArMzQs
NyBAQAogI2luY2x1ZGUgIlJlbmRlckJsb2NrLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIK
ICNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKKyNpbmNsdWRlICJUZXh0LmgiCiAjaW5jbHVkZSAi
VGV4dEJvdW5kYXJpZXMuaCIKICNpbmNsdWRlICJUZXh0QnJlYWtJdGVyYXRvci5oIgogI2luY2x1
ZGUgIlRleHRJdGVyYXRvci5oIgpAQCAtMzg2LDcgKzM4Nyw3IEBAIHN0YXRpYyBWaXNpYmxlUG9z
aXRpb24gc3RhcnRQb3NpdGlvbkZvckwKICAgICAgICAgc3RhcnRCb3ggPSBzdGFydEJveC0+bmV4
dExlYWZDaGlsZCgpOwogICAgIH0KICAgICAKLSAgICBWaXNpYmxlUG9zaXRpb24gdmlzUG9zID0g
c3RhcnROb2RlLT5pc1RleHROb2RlKCkgPyBWaXNpYmxlUG9zaXRpb24oUG9zaXRpb24oc3RhcnRO
b2RlLCBzdGF0aWNfY2FzdDxJbmxpbmVUZXh0Qm94ICo+KHN0YXJ0Qm94KS0+c3RhcnQoKSwgUG9z
aXRpb246OlBvc2l0aW9uSXNPZmZzZXRJbkFuY2hvciksIERPV05TVFJFQU0pCisgICAgVmlzaWJs
ZVBvc2l0aW9uIHZpc1BvcyA9IHN0YXJ0Tm9kZS0+aXNUZXh0Tm9kZSgpID8gVmlzaWJsZVBvc2l0
aW9uKFBvc2l0aW9uKHN0YXRpY19jYXN0PFRleHQqPihzdGFydE5vZGUpLCBzdGF0aWNfY2FzdDxJ
bmxpbmVUZXh0Qm94Kj4oc3RhcnRCb3gpLT5zdGFydCgpKSwgRE9XTlNUUkVBTSkKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBWaXNpYmxlUG9z
aXRpb24ocG9zaXRpb25CZWZvcmVOb2RlKHN0YXJ0Tm9kZSksIERPV05TVFJFQU0pOwogICAgIHJl
dHVybiBwb3NpdGlvbkF2b2lkaW5nRmlyc3RQb3NpdGlvbkluVGFibGUodmlzUG9zKTsKIH0KSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmNwcAko
cmV2aXNpb24gODk0NDEpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENv
bnRyb2wuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMDQsMTggKzMwNCwxNCBAQCBQYXNzUmVmUHRy
PFJhbmdlPiBSZW5kZXJUZXh0Q29udHJvbDo6c2VsCiBWaXNpYmxlUG9zaXRpb24gUmVuZGVyVGV4
dENvbnRyb2w6OnZpc2libGVQb3NpdGlvbkZvckluZGV4KGludCBpbmRleCkgY29uc3QKIHsKICAg
ICBpZiAoaW5kZXggPD0gMCkKLSAgICAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbihQb3NpdGlv
bihpbm5lclRleHRFbGVtZW50KCksIDAsIFBvc2l0aW9uOjpQb3NpdGlvbklzT2Zmc2V0SW5BbmNo
b3IpLCBET1dOU1RSRUFNKTsKKyAgICAgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbihmaXJzdFBv
c2l0aW9uSW5Ob2RlKGlubmVyVGV4dEVsZW1lbnQoKSksIERPV05TVFJFQU0pOwogICAgIEV4Y2Vw
dGlvbkNvZGUgZWMgPSAwOwogICAgIFJlZlB0cjxSYW5nZT4gcmFuZ2UgPSBSYW5nZTo6Y3JlYXRl
KGRvY3VtZW50KCkpOwogICAgIHJhbmdlLT5zZWxlY3ROb2RlQ29udGVudHMoaW5uZXJUZXh0RWxl
bWVudCgpLCBlYyk7CiAgICAgQVNTRVJUKCFlYyk7CiAgICAgQ2hhcmFjdGVySXRlcmF0b3IgaXQo
cmFuZ2UuZ2V0KCkpOwogICAgIGl0LmFkdmFuY2UoaW5kZXggLSAxKTsKLSAgICBOb2RlKiBlbmRD
b250YWluZXIgPSBpdC5yYW5nZSgpLT5lbmRDb250YWluZXIoZWMpOwotICAgIEFTU0VSVCghZWMp
OwotICAgIGludCBlbmRPZmZzZXQgPSBpdC5yYW5nZSgpLT5lbmRPZmZzZXQoZWMpOwotICAgIEFT
U0VSVCghZWMpOwotICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oUG9zaXRpb24oZW5kQ29udGFp
bmVyLCBlbmRPZmZzZXQsIFBvc2l0aW9uOjpQb3NpdGlvbklzT2Zmc2V0SW5BbmNob3IpLCBVUFNU
UkVBTSk7CisgICAgcmV0dXJuIFZpc2libGVQb3NpdGlvbihpdC5yYW5nZSgpLT5lbmRQb3NpdGlv
bigpLCBVUFNUUkVBTSk7CiB9CiAKIGludCBSZW5kZXJUZXh0Q29udHJvbDo6aW5kZXhGb3JWaXNp
YmxlUG9zaXRpb24oSFRNTEVsZW1lbnQqIGlubmVyVGV4dEVsZW1lbnQsIGNvbnN0IFZpc2libGVQ
b3NpdGlvbiYgcG9zKQo=
</data>
<flag name="review"
          id="92411"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>