<?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>171405</bug_id>
          
          <creation_ts>2017-04-27 16:33:45 -0700</creation_ts>
          <short_desc>Add StringView::toExistingAtomicString()</short_desc>
          <delta_ts>2017-04-28 14:46:13 -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>Web Template Framework</component>
          <version>WebKit Local 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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>170925</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>benjamin</cc>
    
    <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>kling</cc>
    
    <cc>sam</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1302383</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-04-27 16:33:45 -0700</bug_when>
    <thetext>As suggested by Darin Adler in bug #170925, comment 7 and echoed by Sam Weinig in bug #170925, comment 14, we should add the convenience function StringView::toExistingAtomicString() to return an existing AtomicStringImpl for the string represented by the StringView if one exists. Returning an existing atomic string is more efficient than creating a new one using StringView::toAtomicString().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1302407</commentid>
    <comment_count>1</comment_count>
      <attachid>308479</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-04-27 16:55:14 -0700</bug_when>
    <thetext>Created attachment 308479
Patch

Is there a reason for the AtomicStringImpl::lookUp() functions taking a non-const pointer to a LChar/UChar? I mean, AtomicStringImpl does not mutate the LChar/UChar* buffer passed when performing a lookup. I am unclear how we came to the decision to have these functions (formerley named AtomicString::find()) take non-const pointers to buffers other than to match the non-constness of the buffer passed by the callers that motiviated the addition of these lookup functions in &lt;http://trac.webkit.org/changeset/168256&gt; (bug #132548). We seemed to explicitly avoid making these lookup functions take a const pointer to a buffer and added AtomicString::findInternal() when we later moved and renamed AtomicString::find() to AtomicStringImpl::lookUp() in &lt;https://trac.webkit.org/changeset/182915&gt; (bug #43404). Why?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1302408</commentid>
    <comment_count>2</comment_count>
      <attachid>308480</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-04-27 16:56:39 -0700</bug_when>
    <thetext>Created attachment 308480
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1302557</commentid>
    <comment_count>3</comment_count>
      <attachid>308480</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2017-04-28 06:28:19 -0700</bug_when>
    <thetext>Comment on attachment 308480
Patch

r=me :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1302786</commentid>
    <comment_count>4</comment_count>
      <attachid>308480</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-04-28 14:22:23 -0700</bug_when>
    <thetext>Comment on attachment 308480
Patch

Clearing flags on attachment: 308480

Committed r215947: &lt;http://trac.webkit.org/changeset/215947&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1302787</commentid>
    <comment_count>5</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-04-28 14:22:25 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>308479</attachid>
            <date>2017-04-27 16:55:14 -0700</date>
            <delta_ts>2017-04-27 16:56:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171405-20170427165514.patch</filename>
            <type>text/plain</type>
            <size>5007</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1NTIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDgzYTY1NTNkYjQzZDlkODUwZTE5NDVj
OGNiZGNlNjVhMzVkNTUzZWYuLjkwM2YxNTJkNGRiNzI2NWU5NTkyZDgzY2I4MWZjMGI2Y2JhY2Jl
N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTctMDQtMjcgIERhbmllbCBCYXRlcyAgPGRhYmF0
ZXNAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBTdHJpbmdWaWV3Ojp0b0V4aXN0aW5nQXRvbWlj
U3RyaW5nKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE3MTQwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFNpbWlsYXIgdG8gdGhlIHJlYXNvbnMgZm9yIEpTU3RyaW5nOjp0b0V4aXN0aW5nQXRvbWljU3Ry
aW5nKCkgd2Ugc2hvdWxkIGV4cG9zZSBhIHdheSB0bworICAgICAgICBjb252ZXJ0IGEgU3RyaW5n
VmlldyB0byBhbiBleGlzdGluZyBhdG9taWMgc3RyaW5nLiBMb29raW5nIHVwIGFuIGF0b21pYyBz
dHJpbmcgaXMgbW9yZQorICAgICAgICBlZmZpY2llbnQgdGhhdCBjcmVhdGluZyBvbmUsIHdoaWNo
IHJlcXVpcmVzIGEgbG9va3VwIGFuZCBtZW1vcnkgYWxsb2NhdGlvbi4KKworICAgICAgICBXZSBh
cmUgbm90IG1ha2luZyB1c2Ugb2YgU3RyaW5nVmlldzo6dG9FeGlzdGluZ0F0b21pY1N0cmluZygp
IG5vdywgYnV0IHdpbGwgaW4gdGhlIHBhdGNoCisgICAgICAgIGZvciA8aHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDkyNT4uCisKKyAgICAgICAgKiB3dGYvdGV4dC9B
dG9taWNTdHJpbmdJbXBsLmNwcDoKKyAgICAgICAgKFdURjo6QXRvbWljU3RyaW5nSW1wbDo6bG9v
a1VwKTogTW9kaWZpZWQgdG8gdGFrZSBhIGNvbnN0IExDaGFyKi9VQ2hhciouCisgICAgICAgIChX
VEY6OkF0b21pY1N0cmluZ0ltcGw6Omxvb2tVcEludGVybmFsKTogUmVuYW1lZCB0byBBdG9taWNT
dHJpbmdJbXBsOjpsb29rdXAoKSB0byBhdm9pZAorICAgICAgICBhbiBleHRyYSBmdW5jdGlvbiBj
YWxsLgorICAgICAgICAqIHd0Zi90ZXh0L0F0b21pY1N0cmluZ0ltcGwuaDoKKyAgICAgICAgKiB3
dGYvdGV4dC9TdHJpbmdWaWV3Lmg6CisgICAgICAgIChXVEY6OlN0cmluZ1ZpZXc6OnRvRXhpc3Rp
bmdBdG9taWNTdHJpbmcpOiBBZGRlZC4KKwogMjAxNy0wNC0xOCAgRGFuaWVsIEJhdGVzICA8ZGFi
YXRlc0BhcHBsZS5jb20+CiAKICAgICAgICAgVXNpbmcgU3RyaW5nVmlldy5zcGxpdCgpIGluc3Rl
YWQgb2YgU3RyaW5nLnNwbGl0KCkgaW4gc29tZSBwbGFjZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
VEYvd3RmL3RleHQvQXRvbWljU3RyaW5nSW1wbC5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0
b21pY1N0cmluZ0ltcGwuY3BwCmluZGV4IGZiNTBiN2ZkZGNjZTllZWMyOGJjOWI1OWNkMDkyZTE0
MWJhNDYxZmUuLjM5NmIzNjM0OGNiZGFjODJiOTNmMmZmYzNmYjIxNGQ1YzBiMWY3ODQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbWljU3RyaW5nSW1wbC5jcHAKKysrIGIvU291
cmNlL1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmdJbXBsLmNwcApAQCAtNTA1LDcgKzUwNSw3IEBA
IFJlZlB0cjxBdG9taWNTdHJpbmdJbXBsPiBBdG9taWNTdHJpbmdJbXBsOjphZGRVVEY4KGNvbnN0
IGNoYXIqIGNoYXJhY3RlcnNTdGFydCwKICAgICByZXR1cm4gYWRkVG9TdHJpbmdUYWJsZTxIYXNo
QW5kVVRGOENoYXJhY3RlcnMsIEhhc2hBbmRVVEY4Q2hhcmFjdGVyc1RyYW5zbGF0b3I+KGJ1ZmZl
cik7CiB9CiAKLVJlZlB0cjxBdG9taWNTdHJpbmdJbXBsPiBBdG9taWNTdHJpbmdJbXBsOjpsb29r
VXBJbnRlcm5hbChjb25zdCBMQ2hhciogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoKQorUmVm
UHRyPEF0b21pY1N0cmluZ0ltcGw+IEF0b21pY1N0cmluZ0ltcGw6Omxvb2tVcChjb25zdCBMQ2hh
ciogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoKQogewogICAgIEF0b21pY1N0cmluZ1RhYmxl
TG9ja2VyIGxvY2tlcjsKICAgICBhdXRvJiB0YWJsZSA9IHN0cmluZ1RhYmxlKCk7CkBAIC01MTcs
NyArNTE3LDcgQEAgUmVmUHRyPEF0b21pY1N0cmluZ0ltcGw+IEF0b21pY1N0cmluZ0ltcGw6Omxv
b2tVcEludGVybmFsKGNvbnN0IExDaGFyKiBjaGFyYWN0ZXIKICAgICByZXR1cm4gbnVsbHB0cjsK
IH0KIAotUmVmUHRyPEF0b21pY1N0cmluZ0ltcGw+IEF0b21pY1N0cmluZ0ltcGw6Omxvb2tVcElu
dGVybmFsKGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCitSZWZQdHI8
QXRvbWljU3RyaW5nSW1wbD4gQXRvbWljU3RyaW5nSW1wbDo6bG9va1VwKGNvbnN0IFVDaGFyKiBj
aGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCiB7CiAgICAgQXRvbWljU3RyaW5nVGFibGVMb2Nr
ZXIgbG9ja2VyOwogICAgIGF1dG8mIHRhYmxlID0gc3RyaW5nVGFibGUoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbWljU3RyaW5nSW1wbC5oIGIvU291cmNlL1dURi93dGYv
dGV4dC9BdG9taWNTdHJpbmdJbXBsLmgKaW5kZXggMWNkZTRiMGVkYWU2ZTFkNWU1NzhhYWMzODVk
ZDJiYmRlZTQ2NWY1OS4uZDEyNjNhZDY3YTVhNDU1ZjkwNzk1ODQ1OWUyOTc1ZDJjNDUyZTBmYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmdJbXBsLmgKKysrIGIv
U291cmNlL1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmdJbXBsLmgKQEAgLTI5LDE0ICsyOSw4IEBA
IGNsYXNzIEF0b21pY1N0cmluZ1RhYmxlOwogCiBjbGFzcyBBdG9taWNTdHJpbmdJbXBsIDogcHVi
bGljIFVuaXF1ZWRTdHJpbmdJbXBsIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmUHRyPEF0b21p
Y1N0cmluZ0ltcGw+IGxvb2tVcChMQ2hhciogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoKQot
ICAgIHsKLSAgICAgICAgcmV0dXJuIGxvb2tVcEludGVybmFsKGNoYXJhY3RlcnMsIGxlbmd0aCk7
Ci0gICAgfQotICAgIHN0YXRpYyBSZWZQdHI8QXRvbWljU3RyaW5nSW1wbD4gbG9va1VwKFVDaGFy
KiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCi0gICAgewotICAgICAgICByZXR1cm4gbG9v
a1VwSW50ZXJuYWwoY2hhcmFjdGVycywgbGVuZ3RoKTsKLSAgICB9CisgICAgV1RGX0VYUE9SVF9T
VFJJTkdfQVBJIHN0YXRpYyBSZWZQdHI8QXRvbWljU3RyaW5nSW1wbD4gbG9va1VwKGNvbnN0IExD
aGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpOworICAgIFdURl9FWFBPUlRfU1RSSU5H
X0FQSSBzdGF0aWMgUmVmUHRyPEF0b21pY1N0cmluZ0ltcGw+IGxvb2tVcChjb25zdCBVQ2hhciog
Y2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoKTsKICAgICBzdGF0aWMgUmVmUHRyPEF0b21pY1N0
cmluZ0ltcGw+IGxvb2tVcChTdHJpbmdJbXBsKiBzdHJpbmcpCiAgICAgewogICAgICAgICBpZiAo
IXN0cmluZyB8fCBzdHJpbmctPmlzQXRvbWljKCkpCkBAIC0xMDUsOSArOTksNiBAQCBwcml2YXRl
OgogICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBzdGF0aWMgUmVmPEF0b21pY1N0cmluZ0ltcGw+
IGFkZFNsb3dDYXNlKEF0b21pY1N0cmluZ1RhYmxlJiwgU3RyaW5nSW1wbCYpOwogCiAgICAgV1RG
X0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBSZWZQdHI8QXRvbWljU3RyaW5nSW1wbD4gbG9va1Vw
U2xvd0Nhc2UoU3RyaW5nSW1wbCYpOwotCi0gICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRp
YyBSZWZQdHI8QXRvbWljU3RyaW5nSW1wbD4gbG9va1VwSW50ZXJuYWwoY29uc3QgTENoYXIqLCB1
bnNpZ25lZCBsZW5ndGgpOwotICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBzdGF0aWMgUmVmUHRy
PEF0b21pY1N0cmluZ0ltcGw+IGxvb2tVcEludGVybmFsKGNvbnN0IFVDaGFyKiwgdW5zaWduZWQg
bGVuZ3RoKTsKIH07CiAKICNpZiAhQVNTRVJUX0RJU0FCTEVECmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi90ZXh0L1N0cmluZ1ZpZXcuaCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nVmll
dy5oCmluZGV4IGVmMjA5Zjk0N2Y2ZjE4NGFkM2JlNGQxYzFmNmRmNzRlZWZmOWY5MTIuLjZjZTU0
MjA4ZTE4OTBiM2E1NTk0ZGFjNjIwZDM3NGNiY2M0ZGQ5NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvd3RmL3RleHQvU3RyaW5nVmlldy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5n
Vmlldy5oCkBAIC05NCw2ICs5NCw3IEBAIHB1YmxpYzoKICAgICBTdHJpbmcgdG9TdHJpbmcoKSBj
b25zdDsKICAgICBTdHJpbmcgdG9TdHJpbmdXaXRob3V0Q29weWluZygpIGNvbnN0OwogICAgIEF0
b21pY1N0cmluZyB0b0F0b21pY1N0cmluZygpIGNvbnN0OworICAgIFJlZlB0cjxBdG9taWNTdHJp
bmdJbXBsPiB0b0V4aXN0aW5nQXRvbWljU3RyaW5nKCkgY29uc3Q7CiAKICNpZiBVU0UoQ0YpCiAg
ICAgLy8gVGhpcyBmdW5jdGlvbiBjb252ZXJ0cyBudWxsIHN0cmluZ3MgdG8gZW1wdHkgc3RyaW5n
cy4KQEAgLTQ5MCw2ICs0OTEsMTMgQEAgaW5saW5lIEF0b21pY1N0cmluZyBTdHJpbmdWaWV3Ojp0
b0F0b21pY1N0cmluZygpIGNvbnN0CiAgICAgcmV0dXJuIEF0b21pY1N0cmluZyhjaGFyYWN0ZXJz
MTYoKSwgbV9sZW5ndGgpOwogfQogCitpbmxpbmUgUmVmUHRyPEF0b21pY1N0cmluZ0ltcGw+IFN0
cmluZ1ZpZXc6OnRvRXhpc3RpbmdBdG9taWNTdHJpbmcoKSBjb25zdAoreworICAgIGlmIChpczhC
aXQoKSkKKyAgICAgICAgcmV0dXJuIEF0b21pY1N0cmluZ0ltcGw6Omxvb2tVcChjaGFyYWN0ZXJz
OCgpLCBtX2xlbmd0aCk7CisgICAgcmV0dXJuIEF0b21pY1N0cmluZ0ltcGw6Omxvb2tVcChjaGFy
YWN0ZXJzMTYoKSwgbV9sZW5ndGgpOworfQorCiBpbmxpbmUgZmxvYXQgU3RyaW5nVmlldzo6dG9G
bG9hdChib29sJiBpc1ZhbGlkKSBjb25zdAogewogICAgIGlmIChpczhCaXQoKSkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>308480</attachid>
            <date>2017-04-27 16:56:39 -0700</date>
            <delta_ts>2017-04-28 14:22:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171405-20170427165639.patch</filename>
            <type>text/plain</type>
            <size>4985</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1NTIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDgzYTY1NTNkYjQzZDlkODUwZTE5NDVj
OGNiZGNlNjVhMzVkNTUzZWYuLjkwM2YxNTJkNGRiNzI2NWU5NTkyZDgzY2I4MWZjMGI2Y2JhY2Jl
N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTctMDQtMjcgIERhbmllbCBCYXRlcyAgPGRhYmF0
ZXNAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBTdHJpbmdWaWV3Ojp0b0V4aXN0aW5nQXRvbWlj
U3RyaW5nKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE3MTQwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFNpbWlsYXIgdG8gdGhlIHJlYXNvbnMgZm9yIEpTU3RyaW5nOjp0b0V4aXN0aW5nQXRvbWljU3Ry
aW5nKCkgd2Ugc2hvdWxkIGV4cG9zZSBhIHdheSB0bworICAgICAgICBjb252ZXJ0IGEgU3RyaW5n
VmlldyB0byBhbiBleGlzdGluZyBhdG9taWMgc3RyaW5nLiBMb29raW5nIHVwIGFuIGF0b21pYyBz
dHJpbmcgaXMgbW9yZQorICAgICAgICBlZmZpY2llbnQgdGhhdCBjcmVhdGluZyBvbmUsIHdoaWNo
IHJlcXVpcmVzIGEgbG9va3VwIGFuZCBtZW1vcnkgYWxsb2NhdGlvbi4KKworICAgICAgICBXZSBh
cmUgbm90IG1ha2luZyB1c2Ugb2YgU3RyaW5nVmlldzo6dG9FeGlzdGluZ0F0b21pY1N0cmluZygp
IG5vdywgYnV0IHdpbGwgaW4gdGhlIHBhdGNoCisgICAgICAgIGZvciA8aHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDkyNT4uCisKKyAgICAgICAgKiB3dGYvdGV4dC9B
dG9taWNTdHJpbmdJbXBsLmNwcDoKKyAgICAgICAgKFdURjo6QXRvbWljU3RyaW5nSW1wbDo6bG9v
a1VwKTogTW9kaWZpZWQgdG8gdGFrZSBhIGNvbnN0IExDaGFyKi9VQ2hhciouCisgICAgICAgIChX
VEY6OkF0b21pY1N0cmluZ0ltcGw6Omxvb2tVcEludGVybmFsKTogUmVuYW1lZCB0byBBdG9taWNT
dHJpbmdJbXBsOjpsb29rdXAoKSB0byBhdm9pZAorICAgICAgICBhbiBleHRyYSBmdW5jdGlvbiBj
YWxsLgorICAgICAgICAqIHd0Zi90ZXh0L0F0b21pY1N0cmluZ0ltcGwuaDoKKyAgICAgICAgKiB3
dGYvdGV4dC9TdHJpbmdWaWV3Lmg6CisgICAgICAgIChXVEY6OlN0cmluZ1ZpZXc6OnRvRXhpc3Rp
bmdBdG9taWNTdHJpbmcpOiBBZGRlZC4KKwogMjAxNy0wNC0xOCAgRGFuaWVsIEJhdGVzICA8ZGFi
YXRlc0BhcHBsZS5jb20+CiAKICAgICAgICAgVXNpbmcgU3RyaW5nVmlldy5zcGxpdCgpIGluc3Rl
YWQgb2YgU3RyaW5nLnNwbGl0KCkgaW4gc29tZSBwbGFjZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
VEYvd3RmL3RleHQvQXRvbWljU3RyaW5nSW1wbC5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0
b21pY1N0cmluZ0ltcGwuY3BwCmluZGV4IGZiNTBiN2ZkZGNjZTllZWMyOGJjOWI1OWNkMDkyZTE0
MWJhNDYxZmUuLjM5NmIzNjM0OGNiZGFjODJiOTNmMmZmYzNmYjIxNGQ1YzBiMWY3ODQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbWljU3RyaW5nSW1wbC5jcHAKKysrIGIvU291
cmNlL1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmdJbXBsLmNwcApAQCAtNTA1LDcgKzUwNSw3IEBA
IFJlZlB0cjxBdG9taWNTdHJpbmdJbXBsPiBBdG9taWNTdHJpbmdJbXBsOjphZGRVVEY4KGNvbnN0
IGNoYXIqIGNoYXJhY3RlcnNTdGFydCwKICAgICByZXR1cm4gYWRkVG9TdHJpbmdUYWJsZTxIYXNo
QW5kVVRGOENoYXJhY3RlcnMsIEhhc2hBbmRVVEY4Q2hhcmFjdGVyc1RyYW5zbGF0b3I+KGJ1ZmZl
cik7CiB9CiAKLVJlZlB0cjxBdG9taWNTdHJpbmdJbXBsPiBBdG9taWNTdHJpbmdJbXBsOjpsb29r
VXBJbnRlcm5hbChjb25zdCBMQ2hhciogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoKQorUmVm
UHRyPEF0b21pY1N0cmluZ0ltcGw+IEF0b21pY1N0cmluZ0ltcGw6Omxvb2tVcChjb25zdCBMQ2hh
ciogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoKQogewogICAgIEF0b21pY1N0cmluZ1RhYmxl
TG9ja2VyIGxvY2tlcjsKICAgICBhdXRvJiB0YWJsZSA9IHN0cmluZ1RhYmxlKCk7CkBAIC01MTcs
NyArNTE3LDcgQEAgUmVmUHRyPEF0b21pY1N0cmluZ0ltcGw+IEF0b21pY1N0cmluZ0ltcGw6Omxv
b2tVcEludGVybmFsKGNvbnN0IExDaGFyKiBjaGFyYWN0ZXIKICAgICByZXR1cm4gbnVsbHB0cjsK
IH0KIAotUmVmUHRyPEF0b21pY1N0cmluZ0ltcGw+IEF0b21pY1N0cmluZ0ltcGw6Omxvb2tVcElu
dGVybmFsKGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCitSZWZQdHI8
QXRvbWljU3RyaW5nSW1wbD4gQXRvbWljU3RyaW5nSW1wbDo6bG9va1VwKGNvbnN0IFVDaGFyKiBj
aGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCiB7CiAgICAgQXRvbWljU3RyaW5nVGFibGVMb2Nr
ZXIgbG9ja2VyOwogICAgIGF1dG8mIHRhYmxlID0gc3RyaW5nVGFibGUoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbWljU3RyaW5nSW1wbC5oIGIvU291cmNlL1dURi93dGYv
dGV4dC9BdG9taWNTdHJpbmdJbXBsLmgKaW5kZXggMWNkZTRiMGVkYWU2ZTFkNWU1NzhhYWMzODVk
ZDJiYmRlZTQ2NWY1OS4uMGI3ZGFmYmIwMGEzYzQ2NDhiMzFhYTg2ZmEzNDkwNTRmZGU5MjlhNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmdJbXBsLmgKKysrIGIv
U291cmNlL1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmdJbXBsLmgKQEAgLTI5LDE0ICsyOSw4IEBA
IGNsYXNzIEF0b21pY1N0cmluZ1RhYmxlOwogCiBjbGFzcyBBdG9taWNTdHJpbmdJbXBsIDogcHVi
bGljIFVuaXF1ZWRTdHJpbmdJbXBsIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmUHRyPEF0b21p
Y1N0cmluZ0ltcGw+IGxvb2tVcChMQ2hhciogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoKQot
ICAgIHsKLSAgICAgICAgcmV0dXJuIGxvb2tVcEludGVybmFsKGNoYXJhY3RlcnMsIGxlbmd0aCk7
Ci0gICAgfQotICAgIHN0YXRpYyBSZWZQdHI8QXRvbWljU3RyaW5nSW1wbD4gbG9va1VwKFVDaGFy
KiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCi0gICAgewotICAgICAgICByZXR1cm4gbG9v
a1VwSW50ZXJuYWwoY2hhcmFjdGVycywgbGVuZ3RoKTsKLSAgICB9CisgICAgV1RGX0VYUE9SVF9T
VFJJTkdfQVBJIHN0YXRpYyBSZWZQdHI8QXRvbWljU3RyaW5nSW1wbD4gbG9va1VwKGNvbnN0IExD
aGFyKiwgdW5zaWduZWQgbGVuZ3RoKTsKKyAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGlj
IFJlZlB0cjxBdG9taWNTdHJpbmdJbXBsPiBsb29rVXAoY29uc3QgVUNoYXIqLCB1bnNpZ25lZCBs
ZW5ndGgpOwogICAgIHN0YXRpYyBSZWZQdHI8QXRvbWljU3RyaW5nSW1wbD4gbG9va1VwKFN0cmlu
Z0ltcGwqIHN0cmluZykKICAgICB7CiAgICAgICAgIGlmICghc3RyaW5nIHx8IHN0cmluZy0+aXNB
dG9taWMoKSkKQEAgLTEwNSw5ICs5OSw2IEBAIHByaXZhdGU6CiAgICAgV1RGX0VYUE9SVF9TVFJJ
TkdfQVBJIHN0YXRpYyBSZWY8QXRvbWljU3RyaW5nSW1wbD4gYWRkU2xvd0Nhc2UoQXRvbWljU3Ry
aW5nVGFibGUmLCBTdHJpbmdJbXBsJik7CiAKICAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3Rh
dGljIFJlZlB0cjxBdG9taWNTdHJpbmdJbXBsPiBsb29rVXBTbG93Q2FzZShTdHJpbmdJbXBsJik7
Ci0KLSAgICBXVEZfRVhQT1JUX1NUUklOR19BUEkgc3RhdGljIFJlZlB0cjxBdG9taWNTdHJpbmdJ
bXBsPiBsb29rVXBJbnRlcm5hbChjb25zdCBMQ2hhciosIHVuc2lnbmVkIGxlbmd0aCk7Ci0gICAg
V1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBSZWZQdHI8QXRvbWljU3RyaW5nSW1wbD4gbG9v
a1VwSW50ZXJuYWwoY29uc3QgVUNoYXIqLCB1bnNpZ25lZCBsZW5ndGgpOwogfTsKIAogI2lmICFB
U1NFUlRfRElTQUJMRUQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nVmll
dy5oIGIvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdWaWV3LmgKaW5kZXggZWYyMDlmOTQ3ZjZm
MTg0YWQzYmU0ZDFjMWY2ZGY3NGVlZmY5ZjkxMi4uNmNlNTQyMDhlMTg5MGIzYTU1OTRkYWM2MjBk
Mzc0Y2JjYzRkZDk2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdWaWV3
LmgKKysrIGIvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdWaWV3LmgKQEAgLTk0LDYgKzk0LDcg
QEAgcHVibGljOgogICAgIFN0cmluZyB0b1N0cmluZygpIGNvbnN0OwogICAgIFN0cmluZyB0b1N0
cmluZ1dpdGhvdXRDb3B5aW5nKCkgY29uc3Q7CiAgICAgQXRvbWljU3RyaW5nIHRvQXRvbWljU3Ry
aW5nKCkgY29uc3Q7CisgICAgUmVmUHRyPEF0b21pY1N0cmluZ0ltcGw+IHRvRXhpc3RpbmdBdG9t
aWNTdHJpbmcoKSBjb25zdDsKIAogI2lmIFVTRShDRikKICAgICAvLyBUaGlzIGZ1bmN0aW9uIGNv
bnZlcnRzIG51bGwgc3RyaW5ncyB0byBlbXB0eSBzdHJpbmdzLgpAQCAtNDkwLDYgKzQ5MSwxMyBA
QCBpbmxpbmUgQXRvbWljU3RyaW5nIFN0cmluZ1ZpZXc6OnRvQXRvbWljU3RyaW5nKCkgY29uc3QK
ICAgICByZXR1cm4gQXRvbWljU3RyaW5nKGNoYXJhY3RlcnMxNigpLCBtX2xlbmd0aCk7CiB9CiAK
K2lubGluZSBSZWZQdHI8QXRvbWljU3RyaW5nSW1wbD4gU3RyaW5nVmlldzo6dG9FeGlzdGluZ0F0
b21pY1N0cmluZygpIGNvbnN0Cit7CisgICAgaWYgKGlzOEJpdCgpKQorICAgICAgICByZXR1cm4g
QXRvbWljU3RyaW5nSW1wbDo6bG9va1VwKGNoYXJhY3RlcnM4KCksIG1fbGVuZ3RoKTsKKyAgICBy
ZXR1cm4gQXRvbWljU3RyaW5nSW1wbDo6bG9va1VwKGNoYXJhY3RlcnMxNigpLCBtX2xlbmd0aCk7
Cit9CisKIGlubGluZSBmbG9hdCBTdHJpbmdWaWV3Ojp0b0Zsb2F0KGJvb2wmIGlzVmFsaWQpIGNv
bnN0CiB7CiAgICAgaWYgKGlzOEJpdCgpKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>