<?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>34609</bug_id>
          
          <creation_ts>2010-02-04 12:58:22 -0800</creation_ts>
          <short_desc>REGRESSION: Dragging plain text into a styled text region does not acquire the correct style info</short_desc>
          <delta_ts>2010-02-04 13:51:01 -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>HTML Editing</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Enrica Casucci">enrica</reporter>
          <assigned_to name="Enrica Casucci">enrica</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>187903</commentid>
    <comment_count>0</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2010-02-04 12:58:22 -0800</bug_when>
    <thetext>The problem can be reproduced using manual-tests/drop-text-acquires-style.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>187918</commentid>
    <comment_count>1</comment_count>
      <attachid>48165</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2010-02-04 13:31:53 -0800</bug_when>
    <thetext>Created attachment 48165
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>187924</commentid>
    <comment_count>2</comment_count>
      <attachid>48165</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-02-04 13:44:22 -0800</bug_when>
    <thetext>Comment on attachment 48165
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>187929</commentid>
    <comment_count>3</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2010-02-04 13:51:01 -0800</bug_when>
    <thetext>Committed revision 54368.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>48165</attachid>
            <date>2010-02-04 13:31:53 -0800</date>
            <delta_ts>2010-02-04 13:44:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug7595685.txt</filename>
            <type>text/plain</type>
            <size>21780</size>
            <attacher name="Enrica Casucci">enrica</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NDM2NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNTQgQEAKKzIwMTAtMDItMDQgIEVucmljYSBDYXN1Y2NpICA8ZW5yaWNhQGFwcGxl
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBS
RUdSRVNTSU9OOiBEcmFnZ2luZyBwbGFpbiB0ZXh0IGludG8gYSBzdHlsZWQgdGV4dCByZWdpb24g
ZG9lcyBub3QgYWNxdWlyZSB0aGUgY29ycmVjdCBzdHlsZSBpbmZvLgorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNzU5NTY4NT4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTM0NjA5CisKKyAgICAgICAgVGVzdDogZWRpdGluZy9wYXN0ZWJvYXJkL2Ryb3At
aW5wdXR0ZXh0LWFjcXVpcmVzLXN0eWxlLmh0bWwKKworICAgICAgICBUaGUgZHJhZ2dpbmcgY29k
ZSBkaWQgbm90IGRpc3Rpbmd1aXNoIHRoZSBjYXNlIG9mIGRyYWdnaW5nIHRoZSBjb250ZW50IG9m
IGFuIGlucHV0IGNvbnRyb2wKKyAgICAgICAgYXMgYSBzcGVjaWFsIGNhc2UuIFRoZSBtYXJrdXAg
cGxhY2VkIGluIHRoZSBwYXN0ZWJvYXJkIGluY2x1ZGVkIHRoZSBzdHlsZSBpbmZvcm1hdGlvbi4K
KyAgICAgICAgSSd2ZSBtb2RpZmllZCB0aGUgQ2xpcGJvYXJkIGNsYXNzIGludGVyZmFjZSBhZGRp
bmcgYSBuZXcgbWV0aG9kIHdyaXRlUGxhaW5UZXh0IHRvIG1hdGNoIHRoZQorICAgICAgICBiZWhh
dmlvciBvZiB0aGUgY29weSBhbmQgY3V0IGNvbW1hbmRzIGFuZCBtb2RpZmllZCB0aGUgZHJhZyBj
b2RlIHRvIGRldGVjdCB0aGUgc3BlY2lhbCBjYXNlLgorICAgICAgICBJJ3ZlIG1vZGlmaWVkIGFs
bCB0aGUgcGxhdGZvcm0gc3BlY2lmaWMgaW1wbGVtZW50YXRpb25zIG9mIHRoZSBDbGlwYm9hcmQg
Y2xhc3MuCisgICAgICAgIAorICAgICAgICAqIGRvbS9DbGlwYm9hcmQuaDogQWRkZWQgd3JpdGVQ
bGFpblRleHQgcHVyZSB2aXJ0dWFsIGZ1bmN0aW9uLgorICAgICAgICAqIGVkaXRpbmcvRWRpdG9y
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6Y3V0KTogUmVuYW1lZCBub2RlSXNUZXh0
Rm9ybUNvbnRyb2wgdG8gaXNOb2RlSW5UZXh0Rm9ybUNvbnRyb2wuCisgICAgICAgIChXZWJDb3Jl
OjpFZGl0b3I6OmNvcHkpOiBSZW5hbWVkIG5vZGVJc1RleHRGb3JtQ29udHJvbCB0byBpc05vZGVJ
blRleHRGb3JtQ29udHJvbC4KKyAgICAgICAgKiBlZGl0aW5nL2h0bWxlZGl0aW5nLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OmlzTm9kZUluVGV4dEZvcm1Db250cm9sKTogQWRkZWQsIGFmdGVyIHJl
bW92aW5nIHRoZSBpbXBsZW1lbnRhdGlvbiB3aXRoIHRoZSBvbGQgbmFtZQorICAgICAgICBpbiBF
ZGl0b3IuY3BwCisgICAgICAgICogZWRpdGluZy9odG1sZWRpdGluZy5oOgorICAgICAgICAqIHBh
Z2UvRHJhZ0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RHJhZ0NvbnRyb2xsZXI6
OnN0YXJ0RHJhZyk6CisgICAgICAgICogcGxhdGZvcm0vUGFzdGVib2FyZC5oOgorICAgICAgICAq
IHBsYXRmb3JtL2FuZHJvaWQvQ2xpcGJvYXJkQW5kcm9pZC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDbGlwYm9hcmRBbmRyb2lkOjp3cml0ZVBsYWluVGV4dCk6IEFkZGVkLgorICAgICAgICAqIHBs
YXRmb3JtL2FuZHJvaWQvQ2xpcGJvYXJkQW5kcm9pZC5oOgorICAgICAgICAqIHBsYXRmb3JtL2No
cm9taXVtL0NsaXBib2FyZENocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNsaXBib2Fy
ZENocm9taXVtOjp3cml0ZVBsYWluVGV4dCk6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2No
cm9taXVtL0NsaXBib2FyZENocm9taXVtLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL0NsaXBi
b2FyZEd0ay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDbGlwYm9hcmRHdGs6OndyaXRlUGxhaW5U
ZXh0KTogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL0NsaXBib2FyZEd0ay5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2hhaWt1L0NsaXBib2FyZEhhaWt1LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNsaXBib2FyZEhhaWt1Ojp3cml0ZVBsYWluVGV4dCk6IEFkZGVkLgorICAgICAgICAqIHBs
YXRmb3JtL2hhaWt1L0NsaXBib2FyZEhhaWt1Lmg6CisgICAgICAgICogcGxhdGZvcm0vbWFjL0Ns
aXBib2FyZE1hYy5oOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMubW06Cisg
ICAgICAgIChXZWJDb3JlOjpDbGlwYm9hcmRNYWM6OndyaXRlUGxhaW5UZXh0KTogQWRkZWQuCisg
ICAgICAgICogcGxhdGZvcm0vbWFjL1Bhc3RlYm9hcmRNYWMubW06CisgICAgICAgIChXZWJDb3Jl
OjpQYXN0ZWJvYXJkOjp3cml0ZVBsYWluVGV4dCk6IEFkZGVkIGhlbHBlciBmdW5jdGlvbi4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9xdC9DbGlwYm9hcmRRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
bGlwYm9hcmRRdDo6d3JpdGVQbGFpblRleHQpOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9x
dC9DbGlwYm9hcmRRdC5oOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9DbGlwYm9hcmRXaW4uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q2xpcGJvYXJkV2luOjp3cml0ZVBsYWluVGV4dCk6IEFkZGVk
LgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9DbGlwYm9hcmRXaW4uaDoKKwogMjAxMC0wMi0wNCAg
Q2hyaXMgR3VpbGxvcnkgIDxjaHJpcy5ndWlsbG9yeUBnb29nbGUuY29tPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IERhcmluIEZpc2hlci4KSW5kZXg6IFdlYkNvcmUvZG9tL0NsaXBib2FyZC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0NsaXBib2FyZC5oCShyZXZpc2lvbiA1NDM1NikKKysr
IFdlYkNvcmUvZG9tL0NsaXBib2FyZC5oCSh3b3JraW5nIGNvcHkpCkBAIC02OSw2ICs2OSw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICNlbmRpZgogICAgICAgICB2aXJ0dWFsIHZvaWQgd3JpdGVV
UkwoY29uc3QgS1VSTCYsIGNvbnN0IFN0cmluZyYsIEZyYW1lKikgPSAwOwogICAgICAgICB2aXJ0
dWFsIHZvaWQgd3JpdGVSYW5nZShSYW5nZSosIEZyYW1lKikgPSAwOworICAgICAgICB2aXJ0dWFs
IHZvaWQgd3JpdGVQbGFpblRleHQoY29uc3QgU3RyaW5nJikgPSAwOwogCiAgICAgICAgIHZpcnR1
YWwgYm9vbCBoYXNEYXRhKCkgPSAwOwogICAgICAgICAKSW5kZXg6IFdlYkNvcmUvZWRpdGluZy9F
ZGl0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCShyZXZp
c2lvbiA1NDM1NikKKysrIFdlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xMDA0LDE2ICsxMDA0LDYgQEAgYm9vbCBFZGl0b3I6Omluc2VydFBhcmFncmFwaFNlcGFy
YXRvcigpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXN0YXRpYyBib29sIG5vZGVJc0luVGV4dEZv
cm1Db250cm9sKE5vZGUqIG5vZGUpCi17Ci0gICAgaWYgKCFub2RlKQotICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0gICAgTm9kZSogYW5jZXN0b3IgPSBub2RlLT5zaGFkb3dBbmNlc3Rvck5vZGUoKTsK
LSAgICBpZiAoYW5jZXN0b3IgPT0gbm9kZSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHJl
dHVybiBhbmNlc3Rvci0+aXNFbGVtZW50Tm9kZSgpICYmIHN0YXRpY19jYXN0PEVsZW1lbnQqPihh
bmNlc3RvciktPmlzVGV4dEZvcm1Db250cm9sKCk7Ci19Ci0KIHZvaWQgRWRpdG9yOjpjdXQoKQog
ewogICAgIGlmICh0cnlESFRNTEN1dCgpKQpAQCAtMTAyNCw3ICsxMDE0LDcgQEAgdm9pZCBFZGl0
b3I6OmN1dCgpCiAgICAgfQogICAgIFJlZlB0cjxSYW5nZT4gc2VsZWN0aW9uID0gc2VsZWN0ZWRS
YW5nZSgpOwogICAgIGlmIChzaG91bGREZWxldGVSYW5nZShzZWxlY3Rpb24uZ2V0KCkpKSB7Ci0g
ICAgICAgIGlmIChub2RlSXNJblRleHRGb3JtQ29udHJvbChtX2ZyYW1lLT5zZWxlY3Rpb24oKS0+
c3RhcnQoKS5ub2RlKCkpKQorICAgICAgICBpZiAoaXNOb2RlSW5UZXh0Rm9ybUNvbnRyb2wobV9m
cmFtZS0+c2VsZWN0aW9uKCktPnN0YXJ0KCkubm9kZSgpKSkKICAgICAgICAgICAgIFBhc3RlYm9h
cmQ6OmdlbmVyYWxQYXN0ZWJvYXJkKCktPndyaXRlUGxhaW5UZXh0KG1fZnJhbWUtPnNlbGVjdGVk
VGV4dCgpKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgUGFzdGVib2FyZDo6Z2VuZXJhbFBh
c3RlYm9hcmQoKS0+d3JpdGVTZWxlY3Rpb24oc2VsZWN0aW9uLmdldCgpLCBjYW5TbWFydENvcHlP
ckRlbGV0ZSgpLCBtX2ZyYW1lKTsKQEAgLTEwNDIsNyArMTAzMiw3IEBAIHZvaWQgRWRpdG9yOjpj
b3B5KCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGlmIChub2RlSXNJblRleHRGb3Jt
Q29udHJvbChtX2ZyYW1lLT5zZWxlY3Rpb24oKS0+c3RhcnQoKS5ub2RlKCkpKQorICAgIGlmIChp
c05vZGVJblRleHRGb3JtQ29udHJvbChtX2ZyYW1lLT5zZWxlY3Rpb24oKS0+c3RhcnQoKS5ub2Rl
KCkpKQogICAgICAgICBQYXN0ZWJvYXJkOjpnZW5lcmFsUGFzdGVib2FyZCgpLT53cml0ZVBsYWlu
VGV4dChtX2ZyYW1lLT5zZWxlY3RlZFRleHQoKSk7CiAgICAgZWxzZSB7CiAgICAgICAgIERvY3Vt
ZW50KiBkb2N1bWVudCA9IG1fZnJhbWUtPmRvY3VtZW50KCk7CkluZGV4OiBXZWJDb3JlL2VkaXRp
bmcvaHRtbGVkaXRpbmcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZWRpdGluZy9odG1sZWRp
dGluZy5jcHAJKHJldmlzaW9uIDU0MzU2KQorKysgV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5n
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTExLDYgKzkxMSwxNiBAQCBOb2RlICp0YWJTcGFuTm9k
ZShjb25zdCBOb2RlICpub2RlKQogICAgIHJldHVybiBpc1RhYlNwYW5UZXh0Tm9kZShub2RlKSA/
IG5vZGUtPnBhcmVudE5vZGUoKSA6IDA7CiB9CiAKK2Jvb2wgaXNOb2RlSW5UZXh0Rm9ybUNvbnRy
b2woTm9kZSogbm9kZSkKK3sKKyAgICBpZiAoIW5vZGUpCisgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICBOb2RlKiBhbmNlc3RvciA9IG5vZGUtPnNoYWRvd0FuY2VzdG9yTm9kZSgpOworICAgIGlm
IChhbmNlc3RvciA9PSBub2RlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIGFu
Y2VzdG9yLT5pc0VsZW1lbnROb2RlKCkgJiYgc3RhdGljX2Nhc3Q8RWxlbWVudCo+KGFuY2VzdG9y
KS0+aXNUZXh0Rm9ybUNvbnRyb2woKTsKK30KKyAgICAKIFBvc2l0aW9uIHBvc2l0aW9uQmVmb3Jl
VGFiU3Bhbihjb25zdCBQb3NpdGlvbiYgcG9zKQogewogICAgIE5vZGUgKm5vZGUgPSBwb3Mubm9k
ZSgpOwpJbmRleDogV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmgJKHJldmlzaW9uIDU0MzU2KQorKysgV2ViQ29y
ZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmgJKHdvcmtpbmcgY29weSkKQEAgLTkzLDcgKzkzLDcgQEAg
Ym9vbCBpc0xpc3RFbGVtZW50KE5vZGUqKTsKIGJvb2wgaXNOb2RlUmVuZGVyZWQoY29uc3QgTm9k
ZSopOwogYm9vbCBpc05vZGVWaXNpYmx5Q29udGFpbmVkV2l0aGluKE5vZGUqLCBjb25zdCBSYW5n
ZSopOwogYm9vbCBpc1JlbmRlcmVkQXNOb25JbmxpbmVUYWJsZUltYWdlT3JIUihjb25zdCBOb2Rl
Kik7Ci0gICAgCitib29sIGlzTm9kZUluVGV4dEZvcm1Db250cm9sKE5vZGUqIG5vZGUpOwogICAg
IAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogLy8gUG9zaXRpb24KSW5kZXg6IFdlYkNvcmUvcGFnZS9E
cmFnQ29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL0RyYWdDb250cm9s
bGVyLmNwcAkocmV2aXNpb24gNTQzNTYpCisrKyBXZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC02OTcsMTAgKzY5NywxNiBAQCBib29sIERyYWdDb250cm9s
bGVyOjpzdGFydERyYWcoRnJhbWUqIHNyCiAgICAgICAgIH0KICAgICAgICAgZG9TeXN0ZW1EcmFn
KGRyYWdJbWFnZSwgZHJhZ0xvYywgbW91c2VEcmFnZ2VkUG9pbnQsIGNsaXBib2FyZCwgc3JjLCB0
cnVlKTsKICAgICB9IGVsc2UgaWYgKGlzU2VsZWN0ZWQgJiYgKG1fZHJhZ1NvdXJjZUFjdGlvbiAm
IERyYWdTb3VyY2VBY3Rpb25TZWxlY3Rpb24pKSB7Ci0gICAgICAgIFJlZlB0cjxSYW5nZT4gc2Vs
ZWN0aW9uUmFuZ2UgPSBzcmMtPnNlbGVjdGlvbigpLT50b05vcm1hbGl6ZWRSYW5nZSgpOwotICAg
ICAgICBBU1NFUlQoc2VsZWN0aW9uUmFuZ2UpOwotICAgICAgICBpZiAoIWNsaXBib2FyZC0+aGFz
RGF0YSgpKQotICAgICAgICAgICAgY2xpcGJvYXJkLT53cml0ZVJhbmdlKHNlbGVjdGlvblJhbmdl
LmdldCgpLCBzcmMpOworICAgICAgICBpZiAoIWNsaXBib2FyZC0+aGFzRGF0YSgpKSB7CisgICAg
ICAgICAgICBpZiAoaXNOb2RlSW5UZXh0Rm9ybUNvbnRyb2woc3JjLT5zZWxlY3Rpb24oKS0+c3Rh
cnQoKS5ub2RlKCkpKQorICAgICAgICAgICAgICAgIGNsaXBib2FyZC0+d3JpdGVQbGFpblRleHQo
c3JjLT5zZWxlY3RlZFRleHQoKSk7CisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAg
ICBSZWZQdHI8UmFuZ2U+IHNlbGVjdGlvblJhbmdlID0gc3JjLT5zZWxlY3Rpb24oKS0+dG9Ob3Jt
YWxpemVkUmFuZ2UoKTsKKyAgICAgICAgICAgICAgICBBU1NFUlQoc2VsZWN0aW9uUmFuZ2UpOwor
CisgICAgICAgICAgICAgICAgY2xpcGJvYXJkLT53cml0ZVJhbmdlKHNlbGVjdGlvblJhbmdlLmdl
dCgpLCBzcmMpOworICAgICAgICAgICAgfQorICAgICAgICB9CiAgICAgICAgIG1fY2xpZW50LT53
aWxsUGVyZm9ybURyYWdTb3VyY2VBY3Rpb24oRHJhZ1NvdXJjZUFjdGlvblNlbGVjdGlvbiwgZHJh
Z09yaWdpbiwgY2xpcGJvYXJkKTsKICAgICAgICAgaWYgKCFkcmFnSW1hZ2UpIHsKICAgICAgICAg
ICAgIGRyYWdJbWFnZSA9IGNyZWF0ZURyYWdJbWFnZUZvclNlbGVjdGlvbihzcmMpOwpJbmRleDog
V2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0
Zm9ybS9QYXN0ZWJvYXJkLmgJKHJldmlzaW9uIDU0MzU2KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9Q
YXN0ZWJvYXJkLmgJKHdvcmtpbmcgY29weSkKQEAgLTgyLDYgKzgyLDcgQEAgcHVibGljOgogICAg
IC8vSGVscGVyIGZ1bmN0aW9ucyB0byBhbGxvdyBDbGlwYm9hcmQgdG8gc2hhcmUgY29kZQogICAg
IHN0YXRpYyB2b2lkIHdyaXRlU2VsZWN0aW9uKE5TUGFzdGVib2FyZCogcGFzdGVib2FyZCwgUmFu
Z2UqIHNlbGVjdGVkUmFuZ2UsIGJvb2wgY2FuU21hcnRDb3B5T3JEZWxldGUsIEZyYW1lKiBmcmFt
ZSk7CiAgICAgc3RhdGljIHZvaWQgd3JpdGVVUkwoTlNQYXN0ZWJvYXJkKiBwYXN0ZWJvYXJkLCBO
U0FycmF5KiB0eXBlcywgY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHRpdGxlU3RyLCBG
cmFtZSogZnJhbWUpOworICAgIHN0YXRpYyB2b2lkIHdyaXRlUGxhaW5UZXh0KE5TUGFzdGVib2Fy
ZCogcGFzdGVib2FyZCwgY29uc3QgU3RyaW5nJiB0ZXh0KTsKICNlbmRpZgogICAgIAogICAgIHN0
YXRpYyBQYXN0ZWJvYXJkKiBnZW5lcmFsUGFzdGVib2FyZCgpOwpJbmRleDogV2ViQ29yZS9wbGF0
Zm9ybS9hbmRyb2lkL0NsaXBib2FyZEFuZHJvaWQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cGxhdGZvcm0vYW5kcm9pZC9DbGlwYm9hcmRBbmRyb2lkLmNwcAkocmV2aXNpb24gNTQzNTYpCisr
KyBXZWJDb3JlL3BsYXRmb3JtL2FuZHJvaWQvQ2xpcGJvYXJkQW5kcm9pZC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEwMyw2ICsxMDMsMTAgQEAgdm9pZCBDbGlwYm9hcmRBbmRyb2lkOjp3cml0ZVJh
bmdlKFJhbmdlKgogICAgIEFTU0VSVChzZWxlY3RlZFJhbmdlKTsKIH0KIAordm9pZCBDbGlwYm9h
cmRBbmRyb2lkOjp3cml0ZVBsYWluVGV4dChjb25zdCBTdHJpbmcmKQoreworfQorCiBib29sIENs
aXBib2FyZEFuZHJvaWQ6Omhhc0RhdGEoKQogewogICAgIHJldHVybiBmYWxzZTsKSW5kZXg6IFdl
YkNvcmUvcGxhdGZvcm0vYW5kcm9pZC9DbGlwYm9hcmRBbmRyb2lkLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9wbGF0Zm9ybS9hbmRyb2lkL0NsaXBib2FyZEFuZHJvaWQuaAkocmV2aXNpb24gNTQz
NTYpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2FuZHJvaWQvQ2xpcGJvYXJkQW5kcm9pZC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC01Niw2ICs1Niw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGVj
bGFyZUFuZFdyaXRlRHJhZ0ltYWdlKEVsZW1lbnQqLCBjb25zdCBLVVJMJiwgY29uc3QgU3RyaW5n
JiwgRnJhbWUqKTsKICAgICB2aXJ0dWFsIHZvaWQgd3JpdGVVUkwoY29uc3QgS1VSTCYsIGNvbnN0
IFN0cmluZyYsIEZyYW1lKik7CiAgICAgdmlydHVhbCB2b2lkIHdyaXRlUmFuZ2UoUmFuZ2UqLCBG
cmFtZSopOworICAgIHZpcnR1YWwgdm9pZCB3cml0ZVBsYWluVGV4dChjb25zdCBTdHJpbmcmKTsK
IAogICAgIHZpcnR1YWwgYm9vbCBoYXNEYXRhKCk7CiB9OwpJbmRleDogV2ViQ29yZS9wbGF0Zm9y
bS9jaHJvbWl1bS9DbGlwYm9hcmRDaHJvbWl1bS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9w
bGF0Zm9ybS9jaHJvbWl1bS9DbGlwYm9hcmRDaHJvbWl1bS5jcHAJKHJldmlzaW9uIDU0MzU2KQor
KysgV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9DbGlwYm9hcmRDaHJvbWl1bS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTM3Niw2ICszNzYsMTkgQEAgdm9pZCBDbGlwYm9hcmRDaHJvbWl1bTo6d3Jp
dGVSYW5nZShSYW5nZQogICAgIG1fZGF0YU9iamVjdC0+cGxhaW5UZXh0ID0gc3RyOwogfQogCit2
b2lkIENsaXBib2FyZENocm9taXVtOjp3cml0ZVBsYWluVGV4dChjb25zdCBTdHJpbmcmIHRleHQp
Cit7CisgICAgaWYgKCFtX2RhdGFPYmplY3QpCisgICAgICAgIHJldHVybjsKKworICAgIFN0cmlu
ZyBzdHIgPSB0ZXh0OworI2lmIE9TKFdJTkRPV1MpCisgICAgcmVwbGFjZU5ld2xpbmVzV2l0aFdp
bmRvd3NTdHlsZU5ld2xpbmVzKHN0cik7CisjZW5kaWYKKyAgICByZXBsYWNlTkJTUFdpdGhTcGFj
ZShzdHIpOworICAgIG1fZGF0YU9iamVjdC0+cGxhaW5UZXh0ID0gc3RyOworfQorCiBib29sIENs
aXBib2FyZENocm9taXVtOjpoYXNEYXRhKCkKIHsKICAgICBpZiAoIW1fZGF0YU9iamVjdCkKSW5k
ZXg6IFdlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21pdW0uaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0NsaXBib2FyZENocm9taXVtLmgJKHJl
dmlzaW9uIDU0MzU2KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9DbGlwYm9hcmRDaHJv
bWl1bS5oCSh3b3JraW5nIGNvcHkpCkBAIC03NCw2ICs3NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgdmlydHVhbCB2b2lkIGRlY2xhcmVBbmRXcml0ZURyYWdJbWFnZShFbGVtZW50
KiwgY29uc3QgS1VSTCYsIGNvbnN0IFN0cmluZyYgdGl0bGUsIEZyYW1lKik7CiAgICAgICAgIHZp
cnR1YWwgdm9pZCB3cml0ZVVSTChjb25zdCBLVVJMJiwgY29uc3QgU3RyaW5nJiwgRnJhbWUqKTsK
ICAgICAgICAgdmlydHVhbCB2b2lkIHdyaXRlUmFuZ2UoUmFuZ2UqLCBGcmFtZSopOworICAgICAg
ICB2aXJ0dWFsIHZvaWQgd3JpdGVQbGFpblRleHQoY29uc3QgU3RyaW5nJik7CiAKICAgICAgICAg
dmlydHVhbCBib29sIGhhc0RhdGEoKTsKIApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ndGsvQ2xp
cGJvYXJkR3RrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2d0ay9DbGlwYm9h
cmRHdGsuY3BwCShyZXZpc2lvbiA1NDM1NikKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3RrL0NsaXBi
b2FyZEd0ay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3Niw2ICsxNzYsMTUgQEAgdm9pZCBDbGlw
Ym9hcmRHdGs6OndyaXRlUmFuZ2UoUmFuZ2UqIHJhbgogICAgIGd0a19jbGlwYm9hcmRfc2V0X3Rl
eHQoaHRtbENsaXBib2FyZCwgY3JlYXRlTWFya3VwKHJhbmdlLCAwLCBBbm5vdGF0ZUZvckludGVy
Y2hhbmdlKS51dGY4KCkuZGF0YSgpLCAtMSk7CiB9CiAKK3ZvaWQgQ2xpcGJvYXJkR3RrOjp3cml0
ZVBsYWluVGV4dChjb25zdCBTdHJpbmcmIHRleHQpCit7CisgICAgR3RrQ2xpcGJvYXJkKiB0ZXh0
Q2xpcGJvYXJkID0gZ3RrX2NsaXBib2FyZF9nZXQoZ2RrX2F0b21faW50ZXJuX3N0YXRpY19zdHJp
bmcoIldlYktpdENsaXBib2FyZFRleHQiKSk7CisgICAgCisgICAgZ3RrX2NsaXBib2FyZF9jbGVh
cih0ZXh0Q2xpcGJvYXJkKTsKKyAgICAKKyAgICBndGtfY2xpcGJvYXJkX3NldF90ZXh0KHRleHRD
bGlwYm9hcmQsIHRleHQudXRmOCgpLmRhdGEoKSwgLTEpOworfQorICAgIAogYm9vbCBDbGlwYm9h
cmRHdGs6Omhhc0RhdGEoKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CkluZGV4OiBXZWJDb3Jl
L3BsYXRmb3JtL2d0ay9DbGlwYm9hcmRHdGsuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRm
b3JtL2d0ay9DbGlwYm9hcmRHdGsuaAkocmV2aXNpb24gNTQzNTYpCisrKyBXZWJDb3JlL3BsYXRm
b3JtL2d0ay9DbGlwYm9hcmRHdGsuaAkod29ya2luZyBjb3B5KQpAQCAtNjAsNiArNjAsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkZWNsYXJlQW5kV3JpdGVE
cmFnSW1hZ2UoRWxlbWVudCosIGNvbnN0IEtVUkwmLCBjb25zdCBTdHJpbmcmLCBGcmFtZSopOwog
ICAgICAgICB2aXJ0dWFsIHZvaWQgd3JpdGVVUkwoY29uc3QgS1VSTCYsIGNvbnN0IFN0cmluZyYs
IEZyYW1lKik7CiAgICAgICAgIHZpcnR1YWwgdm9pZCB3cml0ZVJhbmdlKFJhbmdlKiwgRnJhbWUq
KTsKKyAgICAgICAgdmlydHVhbCB2b2lkIHdyaXRlUGxhaW5UZXh0KGNvbnN0IFN0cmluZyYpOwog
CiAgICAgICAgIHZpcnR1YWwgYm9vbCBoYXNEYXRhKCk7CiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZv
cm0vaGFpa3UvQ2xpcGJvYXJkSGFpa3UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZv
cm0vaGFpa3UvQ2xpcGJvYXJkSGFpa3UuY3BwCShyZXZpc2lvbiA1NDM1NikKKysrIFdlYkNvcmUv
cGxhdGZvcm0vaGFpa3UvQ2xpcGJvYXJkSGFpa3UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODcs
NiArMTg3LDExIEBAIHZvaWQgQ2xpcGJvYXJkSGFpa3U6OndyaXRlUmFuZ2UoUmFuZ2UqLCAKICAg
ICBub3RJbXBsZW1lbnRlZCgpOwogfQogCit2b2lkIENsaXBib2FyZEhhaWt1Ojp3cml0ZVBsYWlu
VGV4dChjb25zdCBTdHJpbmcmKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKIGJvb2wg
Q2xpcGJvYXJkSGFpa3U6Omhhc0RhdGEoKQogewogICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7Cklu
ZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2hhaWt1L0NsaXBib2FyZEhhaWt1LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9wbGF0Zm9ybS9oYWlrdS9DbGlwYm9hcmRIYWlrdS5oCShyZXZpc2lvbiA1NDM1
NikKKysrIFdlYkNvcmUvcGxhdGZvcm0vaGFpa3UvQ2xpcGJvYXJkSGFpa3UuaAkod29ya2luZyBj
b3B5KQpAQCAtNjEsNiArNjEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1
YWwgdm9pZCBkZWNsYXJlQW5kV3JpdGVEcmFnSW1hZ2UoRWxlbWVudCosIGNvbnN0IEtVUkwmLCBj
b25zdCBTdHJpbmcmIHRpdGxlLCBGcmFtZSopOwogICAgICAgICB2aXJ0dWFsIHZvaWQgd3JpdGVV
UkwoY29uc3QgS1VSTCYsIGNvbnN0IFN0cmluZyYsIEZyYW1lKik7CiAgICAgICAgIHZpcnR1YWwg
dm9pZCB3cml0ZVJhbmdlKFJhbmdlKiwgRnJhbWUqKTsKKyAgICAgICAgdmlydHVhbCB2b2lkIHdy
aXRlUGxhaW5UZXh0KGNvbnN0IFN0cmluZyYpOwogCiAgICAgICAgIHZpcnR1YWwgYm9vbCBoYXNE
YXRhKCk7CiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vbWFjL0NsaXBib2FyZE1hYy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vbWFjL0NsaXBib2FyZE1hYy5oCShyZXZpc2lvbiA1
NDM1NikKKysrIFdlYkNvcmUvcGxhdGZvcm0vbWFjL0NsaXBib2FyZE1hYy5oCSh3b3JraW5nIGNv
cHkpCkBAIC03Miw2ICs3Miw3IEBAIHB1YmxpYzoKICNlbmRpZgogICAgIHZpcnR1YWwgdm9pZCB3
cml0ZVJhbmdlKFJhbmdlKiwgRnJhbWUqIGZyYW1lKTsKICAgICB2aXJ0dWFsIHZvaWQgd3JpdGVV
UkwoY29uc3QgS1VSTCYsIGNvbnN0IFN0cmluZyYsIEZyYW1lKiBmcmFtZSk7CisgICAgdmlydHVh
bCB2b2lkIHdyaXRlUGxhaW5UZXh0KGNvbnN0IFN0cmluZyYpOwogICAgIAogICAgIC8vIE1ldGhv
ZHMgZm9yIGdldHRpbmcgaW5mbyBpbiBDb2NvYSdzIHR5cGUgc3lzdGVtCiAgICAgTlNJbWFnZSAq
ZHJhZ05TSW1hZ2UoTlNQb2ludCYpIGNvbnN0OyAvLyBsb2MgY29udmVydGVkIGZyb20gZHJhZ0xv
YywgYmFzZWQgb24gd2hvbGUgaW1hZ2Ugc2l6ZQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
Q2xpcGJvYXJkTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vbWFjL0NsaXBi
b2FyZE1hYy5tbQkocmV2aXNpb24gNTQzNTYpCisrKyBXZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlw
Ym9hcmRNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTM2Nyw3ICszNjcsMTIgQEAgdm9pZCBDbGlw
Ym9hcmRNYWM6OndyaXRlUmFuZ2UoUmFuZ2UqIHJhbgogICAgIEFTU0VSVChmcmFtZSk7CiAgICAg
UGFzdGVib2FyZDo6d3JpdGVTZWxlY3Rpb24obV9wYXN0ZWJvYXJkLmdldCgpLCByYW5nZSwgZnJh
bWUtPmVkaXRvcigpLT5zbWFydEluc2VydERlbGV0ZUVuYWJsZWQoKSAmJiBmcmFtZS0+c2VsZWN0
aW9uR3JhbnVsYXJpdHkoKSA9PSBXb3JkR3JhbnVsYXJpdHksIGZyYW1lKTsKIH0KLSAgICAKKwor
dm9pZCBDbGlwYm9hcmRNYWM6OndyaXRlUGxhaW5UZXh0KGNvbnN0IFN0cmluZyYgdGV4dCkKK3sK
KyAgICBQYXN0ZWJvYXJkOjp3cml0ZVBsYWluVGV4dChtX3Bhc3RlYm9hcmQuZ2V0KCksIHRleHQp
OworfQorCiB2b2lkIENsaXBib2FyZE1hYzo6d3JpdGVVUkwoY29uc3QgS1VSTCYgdXJsLCBjb25z
dCBTdHJpbmcmIHRpdGxlLCBGcmFtZSogZnJhbWUpCiB7ICAgCiAgICAgQVNTRVJUKGZyYW1lKTsK
SW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vbWFjL1Bhc3RlYm9hcmRNYWMubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbQkocmV2aXNpb24gNTQzNTYp
CisrKyBXZWJDb3JlL3BsYXRmb3JtL21hYy9QYXN0ZWJvYXJkTWFjLm1tCSh3b3JraW5nIGNvcHkp
CkBAIC0xOTcsNiArMTk3LDE0IEBAIHZvaWQgUGFzdGVib2FyZDo6d3JpdGVTZWxlY3Rpb24oTlNQ
YXN0ZWIKICAgICAgICAgW3Bhc3RlYm9hcmQgc2V0RGF0YTpuaWwgZm9yVHlwZTpXZWJTbWFydFBh
c3RlUGJvYXJkVHlwZV07CiAgICAgfQogfQorCit2b2lkIFBhc3RlYm9hcmQ6OndyaXRlUGxhaW5U
ZXh0KE5TUGFzdGVib2FyZCogcGFzdGVib2FyZCwgY29uc3QgU3RyaW5nJiB0ZXh0KQoreworICAg
IE5TQXJyYXkgKnR5cGVzID0gW05TQXJyYXkgYXJyYXlXaXRoT2JqZWN0Ok5TU3RyaW5nUGJvYXJk
VHlwZV07CisgICAgW3Bhc3RlYm9hcmQgZGVjbGFyZVR5cGVzOnR5cGVzIG93bmVyOm5pbF07Cisg
ICAgCisgICAgW3Bhc3RlYm9hcmQgc2V0U3RyaW5nOnRleHQgZm9yVHlwZTpOU1N0cmluZ1Bib2Fy
ZFR5cGVdOworfQogICAgIAogdm9pZCBQYXN0ZWJvYXJkOjp3cml0ZVNlbGVjdGlvbihSYW5nZSog
c2VsZWN0ZWRSYW5nZSwgYm9vbCBjYW5TbWFydENvcHlPckRlbGV0ZSwgRnJhbWUqIGZyYW1lKQog
ewpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9xdC9DbGlwYm9hcmRRdC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9wbGF0Zm9ybS9xdC9DbGlwYm9hcmRRdC5jcHAJKHJldmlzaW9uIDU0MzU2KQor
KysgV2ViQ29yZS9wbGF0Zm9ybS9xdC9DbGlwYm9hcmRRdC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTI5MCw2ICsyOTAsMTcgQEAgdm9pZCBDbGlwYm9hcmRRdDo6d3JpdGVSYW5nZShSYW5nZSogcmFu
ZwogI2VuZGlmCiB9CiAKK3ZvaWQgQ2xpcGJvYXJkUXQ6OndyaXRlUGxhaW5UZXh0KGNvbnN0IFN0
cmluZyYgc3RyKQoreworICAgIFFTdHJpbmcgdGV4dCA9IHN0cjsKKyAgICB0ZXh0LnJlcGxhY2Uo
UUNoYXIoMHhhMCksIFFMYXRpbjFDaGFyKCcgJykpOworICAgIG1fd3JpdGFibGVEYXRhLT5zZXRU
ZXh0KHRleHQpOworI2lmbmRlZiBRVF9OT19DTElQQk9BUkQKKyAgICBpZiAoIWlzRm9yRHJhZ2dp
bmcoKSkKKyAgICAgICAgUUFwcGxpY2F0aW9uOjpjbGlwYm9hcmQoKS0+c2V0TWltZURhdGEobV93
cml0YWJsZURhdGEpOworI2VuZGlmCit9CisKIGJvb2wgQ2xpcGJvYXJkUXQ6Omhhc0RhdGEoKQog
ewogICAgIGNvbnN0IFFNaW1lRGF0YSAqZGF0YSA9IG1fcmVhZGFibGVEYXRhID8gbV9yZWFkYWJs
ZURhdGEgOiBtX3dyaXRhYmxlRGF0YTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vcXQvQ2xpcGJv
YXJkUXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL3F0L0NsaXBib2FyZFF0LmgJ
KHJldmlzaW9uIDU0MzU2KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9xdC9DbGlwYm9hcmRRdC5oCSh3
b3JraW5nIGNvcHkpCkBAIC02Niw2ICs2Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgdmlydHVhbCB2b2lkIGRlY2xhcmVBbmRXcml0ZURyYWdJbWFnZShFbGVtZW50KiwgY29uc3Qg
S1VSTCYsIGNvbnN0IFN0cmluZyYgdGl0bGUsIEZyYW1lKik7CiAgICAgICAgIHZpcnR1YWwgdm9p
ZCB3cml0ZVVSTChjb25zdCBLVVJMJiwgY29uc3QgU3RyaW5nJiwgRnJhbWUqKTsKICAgICAgICAg
dmlydHVhbCB2b2lkIHdyaXRlUmFuZ2UoUmFuZ2UqLCBGcmFtZSopOworICAgICAgICB2aXJ0dWFs
IHZvaWQgd3JpdGVQbGFpblRleHQoY29uc3QgU3RyaW5nJik7CiAKICAgICAgICAgdmlydHVhbCBi
b29sIGhhc0RhdGEoKTsKIApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkV2lu
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL3dpbi9DbGlwYm9hcmRXaW4uY3Bw
CShyZXZpc2lvbiA1NDM1NikKKysrIFdlYkNvcmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFdpbi5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTc3Niw2ICs3NzYsMjUgQEAgdm9pZCBDbGlwYm9hcmRXaW46
OndyaXRlUmFuZ2UoUmFuZ2UqIHNlbAogICAgICAgICBtX3dyaXRhYmxlRGF0YU9iamVjdC0+U2V0
RGF0YShzbWFydFBhc3RlRm9ybWF0KCksICZtZWRpdW0sIFRSVUUpOwogfQogCit2b2lkIENsaXBi
b2FyZFdpbjo6d3JpdGVQbGFpblRleHQoY29uc3QgU3RyaW5nJiB0ZXh0KQoreworICAgIGlmICgh
bV93cml0YWJsZURhdGFPYmplY3QpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBTVEdNRURJ
VU0gbWVkaXVtID0gezB9OworICAgIG1lZGl1bS50eW1lZCA9IFRZTUVEX0hHTE9CQUw7CisgICAg
RXhjZXB0aW9uQ29kZSBlYyA9IDA7CisgICAgCisgICAgU3RyaW5nIHN0ciA9IHRleHQ7CisgICAg
cmVwbGFjZU5ld2xpbmVzV2l0aFdpbmRvd3NTdHlsZU5ld2xpbmVzKHN0cik7CisgICAgcmVwbGFj
ZU5CU1BXaXRoU3BhY2Uoc3RyKTsKKyAgICBtZWRpdW0uaEdsb2JhbCA9IGNyZWF0ZUdsb2JhbERh
dGEoc3RyKTsKKyAgICBpZiAobWVkaXVtLmhHbG9iYWwgJiYgRkFJTEVEKG1fd3JpdGFibGVEYXRh
T2JqZWN0LT5TZXREYXRhKHBsYWluVGV4dFdGb3JtYXQoKSwgJm1lZGl1bSwgVFJVRSkpKQorICAg
ICAgICA6Okdsb2JhbEZyZWUobWVkaXVtLmhHbG9iYWwpOyAgICAgICAgCisKKyAgICBtZWRpdW0u
aEdsb2JhbCA9IDA7Cit9CisgICAgCiBib29sIENsaXBib2FyZFdpbjo6aGFzRGF0YSgpCiB7CiAg
ICAgaWYgKCFtX2RhdGFPYmplY3QpCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL3dpbi9DbGlwYm9h
cmRXaW4uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL3dpbi9DbGlwYm9hcmRXaW4u
aAkocmV2aXNpb24gNTQzNTYpCisrKyBXZWJDb3JlL3BsYXRmb3JtL3dpbi9DbGlwYm9hcmRXaW4u
aAkod29ya2luZyBjb3B5KQpAQCAtNjcsNiArNjcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIHZpcnR1YWwgdm9pZCBkZWNsYXJlQW5kV3JpdGVEcmFnSW1hZ2UoRWxlbWVudCosIGNv
bnN0IEtVUkwmLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBGcmFtZSopOwogICAgICAgICB2aXJ0dWFs
IHZvaWQgd3JpdGVVUkwoY29uc3QgS1VSTCYsIGNvbnN0IFN0cmluZyYsIEZyYW1lKik7CiAgICAg
ICAgIHZpcnR1YWwgdm9pZCB3cml0ZVJhbmdlKFJhbmdlKiwgRnJhbWUqKTsKKyAgICAgICAgdmly
dHVhbCB2b2lkIHdyaXRlUGxhaW5UZXh0KGNvbnN0IFN0cmluZyYpOwogCiAgICAgICAgIHZpcnR1
YWwgYm9vbCBoYXNEYXRhKCk7CiAKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDU0MzY1KQorKysgTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTAtMDIt
MDQgIEVucmljYSBDYXN1Y2NpICA8ZW5yaWNhQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOZWVkIGEgc2hvcnQgZGVzY3JpcHRpb24g
YW5kIGJ1ZyBVUkwgKE9PUFMhKQorCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL2Ryb3At
aW5wdXR0ZXh0LWFjcXVpcmVzLXN0eWxlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZWRpdGluZy9wYXN0ZWJvYXJkL2Ryb3AtaW5wdXR0ZXh0LWFjcXVpcmVzLXN0eWxlLmh0bWw6IEFk
ZGVkLgorCisyMDEwLTAyLTA0ICBFbnJpY2EgQ2FzdWNjaSAgPGVucmljYUBhcHBsZS5jb20+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUkVHUkVTU0lP
TjogRHJhZ2dpbmcgcGxhaW4gdGV4dCBpbnRvIGEgc3R5bGVkIHRleHQgcmVnaW9uIGRvZXMgbm90
IGFjcXVpcmUgdGhlIGNvcnJlY3Qgc3R5bGUgaW5mby4KKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
Lzc1OTU2ODU+CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0zNDYwOQorCisgICAgICAgICogZWRpdGluZy9wYXN0ZWJvYXJkL2Ryb3AtaW5wdXR0ZXh0LWFj
cXVpcmVzLXN0eWxlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL2Ryb3AtaW5wdXR0ZXh0LWFjcXVpcmVzLXN0eWxlLmh0bWw6IEFkZGVkLgorCiAyMDEw
LTAyLTA0ICBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgIDxndXN0YXZvLm5vcm9uaGFAY29sbGFib3Jh
LmNvLnVrPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFhhbiBMb3Blei4KSW5kZXg6IExheW91dFRl
c3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kcm9wLWlucHV0dGV4dC1hY3F1aXJlcy1zdHlsZS1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2Ry
b3AtaW5wdXR0ZXh0LWFjcXVpcmVzLXN0eWxlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kcm9wLWlucHV0dGV4dC1hY3F1aXJlcy1z
dHlsZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsOCBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IHRoZSBwbGFpbiB0ZXh0IGRyb3BwZWQgaW50byBhIHN0eWxlZCB0ZXh0IHJl
Z2lvbiB3aWxsIGFjcXVpcmUgdGhlIGFwcHJvcHJpYXRlIHN0eWxlLgorVG8gcnVuIHRoaXMgdGVz
dCBtYW51YWxseSwgZHJhZyB0aGUgdGV4dCBpbiB0aGUgaW5wdXQgZWxlbWVudCBiZWxvdyBpbnRv
IHRoZSBib2xkIHRleHQgcmVnaW9uLiBUaGUgZHJvcHBlZCB0ZXh0IHNob3VsZCBiZSBib2xkLiBD
bGljayB0aGUgdmVyaWZ5IGJ1dHRvbiB0byBjaGVjay4KKworIAorIAorRHJhZyB0aGUgdGV4dCBm
cm9tIHRoZSBhYm92ZSBpRHJhZyB0aGlzIHRleHRucHV0IGVsZW1lbnQgaW50byB0aGlzIGJvbGQg
dGV4dAorPGIgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBpZD0iZGVzdGluYXRpb24iPkRyYWcgdGhl
IHRleHQgZnJvbSB0aGUgYWJvdmUgaURyYWcgdGhpcyB0ZXh0bnB1dCBlbGVtZW50IGludG8gdGhp
cyBib2xkIHRleHQ8L2I+CitTVUNDRVNTCkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvZHJvcC1pbnB1dHRleHQtYWNxdWlyZXMtc3R5bGUuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZHJvcC1pbnB1dHRleHQtYWNxdWlyZXMtc3R5
bGUuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9k
cm9wLWlucHV0dGV4dC1hY3F1aXJlcy1zdHlsZS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDYzIEBACis8aHRtbD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KQorICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Cis8L3NjcmlwdD4KKzxk
aXY+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBwbGFpbiB0ZXh0IGRyb3BwZWQgaW50byBhIHN0
eWxlZCB0ZXh0IHJlZ2lvbiB3aWxsIGFjcXVpcmUgdGhlIGFwcHJvcHJpYXRlIHN0eWxlLjwvZGl2
PgorPHA+VG8gcnVuIHRoaXMgdGVzdCBtYW51YWxseSwgZHJhZyB0aGUgdGV4dCBpbiB0aGUgaW5w
dXQgZWxlbWVudCBiZWxvdyBpbnRvIHRoZSBib2xkIHRleHQgcmVnaW9uLiAgVGhlIGRyb3BwZWQg
dGV4dCBzaG91bGQgYmUgYm9sZC4KK0NsaWNrIHRoZSB2ZXJpZnkgYnV0dG9uIHRvIGNoZWNrLjwv
cD4KKzxpbnB1dCB0eXBlPSJidXR0b24iIHZhbHVlPSJWZXJpZnkiIG9uQ2xpY2s9InZlcmlmaWVy
KCkiPgorPGJyIC8+Cis8aW5wdXQgaWQ9ImdyYWJtZSIgdmFsdWU9IkRyYWcgdGhpcyB0ZXh0IiA+
Cis8YnIgLz4KKzxiIGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIgaWQ9ImRlc3RpbmF0aW9uIj5EcmFn
IHRoZSB0ZXh0IGZyb20gdGhlIGFib3ZlIGlucHV0IGVsZW1lbnQgaW50byB0aGlzIGJvbGQgdGV4
dDwvYj4KKzx1bCBpZD0iY29uc29sZSI+PC91bD4KKworPHNjcmlwdD4KK2Z1bmN0aW9uIGxvZyht
ZXNzYWdlKSB7CisgICAgdmFyIGNvbnNvbGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
c29sZSIpOworICAgIHZhciBsaSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpIik7CisgICAg
dmFyIHByZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInByZSIpOworICAgIHByZS5hcHBlbmRD
aGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShtZXNzYWdlKSk7CisgICAgbGkuYXBwZW5kQ2hp
bGQocHJlKTsKKyAgICBjb25zb2xlLmFwcGVuZENoaWxkKGxpKTsKK30KKworZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICB2YXIgdGV4dFRvRHJhZyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJn
cmFibWUiKTsKKyAgICB0ZXh0VG9EcmFnLmZvY3VzKCk7CisKKyAgICBpZiAoIXdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgcmV0dXJuOworICAgIAorICAgIHZhciB4ID0gdGV4
dFRvRHJhZy5vZmZzZXRMZWZ0ICsgdGV4dFRvRHJhZy5vZmZzZXRXaWR0aCAvIDI7CisgICAgdmFy
IHkgPSB0ZXh0VG9EcmFnLm9mZnNldFRvcCArIHRleHRUb0RyYWcub2Zmc2V0SGVpZ2h0IC8gMjsK
KworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHgsIHkpOworCisgICAgZXZlbnRTZW5kZXIu
bW91c2VEb3duKCk7CisgICAgLy8gV2FpdCBhIG1vbWVudCBzbyB0aGF0IHRoZSBtb3VzZURvd24g
d2lsbCBraWNrIG9mZiBhIGRyYWcKKyAgICBldmVudFNlbmRlci5sZWFwRm9yd2FyZCg0MDApOwor
ICAgIAorICAgIHZhciBkZXN0aW5hdGlvbk9iamVjdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJkZXN0aW5hdGlvbiIpOworICAgIHZhciB4ID0gZGVzdGluYXRpb25PYmplY3Qub2Zmc2V0TGVm
dCArIGRlc3RpbmF0aW9uT2JqZWN0Lm9mZnNldFdpZHRoIC8gMjsKKyAgICB2YXIgeSA9IGRlc3Rp
bmF0aW9uT2JqZWN0Lm9mZnNldFRvcCArIGRlc3RpbmF0aW9uT2JqZWN0Lm9mZnNldEhlaWdodCAv
IDI7CisKKworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHgsIHkpOworICAgIGV2ZW50U2Vu
ZGVyLm1vdXNlVXAoKTsKKworICAgIHZlcmlmaWVyKCk7Cit9CisKK2Z1bmN0aW9uIHZlcmlmaWVy
KCkgeworICAgIGxvZyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGVzdGluYXRpb24iKS5vdXRl
ckhUTUwpOworICAgIGlmIChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGVzdGluYXRpb24iKS5j
aGlsZE5vZGVzLmxlbmd0aCA9PSAxKQorICAgICAgICBsb2coIlNVQ0NFU1MiKTsKKyAgICBlbHNl
CisgICAgICAgIGxvZygiRkFJTFVSRSIpOworfQorCitydW5UZXN0KCk7Cis8L3NjcmlwdD4KKzwv
aHRtbD4K
</data>
<flag name="review"
          id="30802"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>