<?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>10399</bug_id>
          
          <creation_ts>2006-08-14 19:54:45 -0700</creation_ts>
          <short_desc>RenderTextArea is unused</short_desc>
          <delta_ts>2006-08-15 08:20:15 -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>Forms</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</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="Mark Rowe (bdash)">mrowe</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>52583</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2006-08-14 19:54:45 -0700</bug_when>
    <thetext>While looking into the dead code elimination options of GCC (bug 10394) I noticed that it completely strips the implementation of RenderTextArea.  Further investigation revealed that it is now unused.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>52584</commentid>
    <comment_count>1</comment_count>
      <attachid>10032</attachid>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2006-08-14 19:57:24 -0700</bug_when>
    <thetext>Created attachment 10032
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>52597</commentid>
    <comment_count>2</comment_count>
      <attachid>10032</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2006-08-14 22:41:54 -0700</bug_when>
    <thetext>Comment on attachment 10032
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>52639</commentid>
    <comment_count>3</comment_count>
      <attachid>10032</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-08-15 08:04:54 -0700</bug_when>
    <thetext>Comment on attachment 10032
Patch

This patch doesn&apos;t go far enough!

Four other source files that can be deleted entirely if you are deleting RenderTextArea: TextBox.h, TextBoxMac.mm, WebCoreTextArea.h, WebCoreTextArea.mm.

It doesn&apos;t make sense to change the comment in WebCoreTextArea.mm -- that just makes it incorrect! What&apos;s actually going on is that&apos;s dead code too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>52642</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-08-15 08:20:15 -0700</bug_when>
    <thetext>Committed revision 15879.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>10032</attachid>
            <date>2006-08-14 19:57:24 -0700</date>
            <delta_ts>2006-08-14 22:41:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>webkit-bug-10399-v1.patch</filename>
            <type>text/plain</type>
            <size>17919</size>
            <attacher name="Mark Rowe (bdash)">mrowe</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAxNTg2NikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTkgQEAKKzIwMDYtMDgtMTUgIE1hcmsgUm93ZSAgPG9wZW5kYXJ3aW4ub3JnQGJk
YXNoLm5ldC5uej4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzk5
CisgICAgICAgIEJ1ZyAxMDM5OTogUmVuZGVyVGV4dEFyZWEgaXMgdW51c2VkCisKKyAgICAgICAg
KiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJDb3JlU291cmNlcy5i
a2w6CisgICAgICAgICogaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmNwcDogUmVtb3ZlIGluY2x1
ZGUgb2YgUmVuZGVyVGV4dEFyZWEuaAorICAgICAgICAqIGh0bWwvSFRNTFRleHRBcmVhRWxlbWVu
dC5oOiBSZW1vdmUgZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiBSZW5kZXJUZXh0QXJlYS4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvV2ViQ29yZVRleHRBcmVhLm1tOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJUZXh0QXJlYS5jcHA6IFJlbW92ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
clRleHRBcmVhLmg6IFJlbW92ZWQuCisKIDIwMDYtMDgtMTQgIEFuZGVycyBDYXJsc3NvbiAgPGFj
YXJsc3NvbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWFjaWVqLgpJbmRleDog
V2ViQ29yZS9XZWJDb3JlU291cmNlcy5ia2wKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3Jl
U291cmNlcy5ia2wJKHJldmlzaW9uIDE1ODYzKQorKysgV2ViQ29yZS9XZWJDb3JlU291cmNlcy5i
a2wJKHdvcmtpbmcgY29weSkKQEAgLTQ1Niw3ICs0NTYsNiBAQAogCQlyZW5kZXJpbmcvUmVuZGVy
VGFibGVSb3cuY3BwCiAJCXJlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uY3BwCiAJCXJlbmRl
cmluZy9SZW5kZXJUZXh0LmNwcAotCQlyZW5kZXJpbmcvUmVuZGVyVGV4dEFyZWEuY3BwCiAJCXJl
bmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAKIAkJcmVuZGVyaW5nL1JlbmRlclRleHRGcmFn
bWVudC5jcHAKIAkJcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcApJbmRleDogV2ViQ29yZS9XZWJD
b3JlLnZjcHJvai9XZWJDb3JlL1dlYkNvcmUudmNwcm9qCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS9XZWJDb3JlLnZjcHJvagkocmV2aXNpb24gMTU4NjMpCisr
KyBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2oJKHdvcmtpbmcg
Y29weSkKQEAgLTMxOTEsMTQgKzMxOTEsNiBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxl
Ci0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxyZW5kZXJpbmdcUmVuZGVyVGV4dEFyZWEuY3BwIgot
CQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxyZW5k
ZXJpbmdcUmVuZGVyVGV4dEFyZWEuaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQogCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cLi5ccmVuZGVyaW5nXFJlbmRlclRleHRDb250cm9sLmNwcCIKIAkJ
CQk+CiAJCQk8L0ZpbGU+CkluZGV4OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagkocmV2aXNpb24gMTU4NjMpCisrKyBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTMyMywxMSArMTMyMyw5IEBACiAJCUE4
RUE3M0M1MEExOTAwRTMwMEE4RUY1RiAvKiBSZW5kZXJMaW5lRWRpdC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQThFQTczQjEwQTE5MDBFMzAwQThFRjVG
IC8qIFJlbmRlckxpbmVFZGl0LmggKi87IH07CiAJCUE4RUE3M0M2MEExOTAwRTMwMEE4RUY1RiAv
KiBSZW5kZXJGaWxlQnV0dG9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEE4RUE3M0IyMEExOTAwRTMwMEE4RUY1RiAvKiBSZW5kZXJGaWxlQnV0dG9u
LmNwcCAqLzsgfTsKIAkJQThFQTczQzcwQTE5MDBFMzAwQThFRjVGIC8qIFJlbmRlckZpbGVCdXR0
b24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4RUE3
M0IzMEExOTAwRTMwMEE4RUY1RiAvKiBSZW5kZXJGaWxlQnV0dG9uLmggKi87IH07Ci0JCUE4RUE3
M0M4MEExOTAwRTMwMEE4RUY1RiAvKiBSZW5kZXJUZXh0QXJlYS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBOEVBNzNCNDBBMTkwMEUzMDBBOEVGNUYg
LyogUmVuZGVyVGV4dEFyZWEuY3BwICovOyB9OwogCQlBOEVBNzNDOTBBMTkwMEUzMDBBOEVGNUYg
LyogUmVuZGVyRm9ybUVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEE4RUE3M0I1MEExOTAwRTMwMEE4RUY1RiAvKiBSZW5kZXJGb3JtRWxlbWVu
dC5oICovOyB9OwogCQlBOEVBNzNDQTBBMTkwMEUzMDBBOEVGNUYgLyogUmVuZGVyTGVnZW5kLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4RUE3M0I2
MEExOTAwRTMwMEE4RUY1RiAvKiBSZW5kZXJMZWdlbmQuY3BwICovOyB9OwogCQlBOEVBNzNDQjBB
MTkwMEUzMDBBOEVGNUYgLyogUmVuZGVyTGFiZWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4RUE3M0I3MEExOTAwRTMwMEE4RUY1RiAvKiBSZW5kZXJM
YWJlbC5oICovOyB9OwotCQlBOEVBNzNDRTBBMTkwMEUzMDBBOEVGNUYgLyogUmVuZGVyVGV4dEFy
ZWEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4RUE3
M0JBMEExOTAwRTMwMEE4RUY1RiAvKiBSZW5kZXJUZXh0QXJlYS5oICovOyB9OwogCQlBOEVBNzNE
MTBBMTkwMEUzMDBBOEVGNUYgLyogUmVuZGVyTGVnZW5kLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBOEVBNzNCRDBBMTkwMEUzMDBBOEVGNUYgLyogUmVu
ZGVyTGVnZW5kLmggKi87IH07CiAJCUE4RUE3M0QyMEExOTAwRTMwMEE4RUY1RiAvKiBSZW5kZXJM
aW5lRWRpdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBOEVBNzNCRTBBMTkwMEUzMDBBOEVGNUYgLyogUmVuZGVyTGluZUVkaXQuY3BwICovOyB9Owog
CQlBOEVBNzNEMzBBMTkwMEUzMDBBOEVGNUYgLyogUmVuZGVyRm9ybUVsZW1lbnQuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQThFQTczQkYwQTE5MDBF
MzAwQThFRjVGIC8qIFJlbmRlckZvcm1FbGVtZW50LmNwcCAqLzsgfTsKQEAgLTMwODIsMTEgKzMw
ODAsOSBAQAogCQlBOEVBNzNCMTBBMTkwMEUzMDBBOEVGNUYgLyogUmVuZGVyTGluZUVkaXQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlckxpbmVFZGl0Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE4RUE3M0IyMEExOTAwRTMwMEE4RUY1RiAvKiBSZW5k
ZXJGaWxlQnV0dG9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBS
ZW5kZXJGaWxlQnV0dG9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQThFQTcz
QjMwQTE5MDBFMzAwQThFRjVGIC8qIFJlbmRlckZpbGVCdXR0b24uaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlckZpbGVCdXR0b24uaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJQThFQTczQjQwQTE5MDBFMzAwQThFRjVGIC8qIFJlbmRlclRleHRBcmVhLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJUZXh0QXJlYS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE4RUE3M0I1MEExOTAwRTMwMEE4RUY1
RiAvKiBSZW5kZXJGb3JtRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gUmVuZGVyRm9ybUVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQThF
QTczQjYwQTE5MDBFMzAwQThFRjVGIC8qIFJlbmRlckxlZ2VuZC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyTGVnZW5kLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQThFQTczQjcwQTE5MDBFMzAwQThFRjVGIC8qIFJlbmRlckxhYmVsLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJMYWJlbC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQlBOEVBNzNCQTBBMTkwMEUzMDBBOEVGNUYgLyogUmVuZGVy
VGV4dEFyZWEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAz
MDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlclRleHRB
cmVhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE4RUE3M0JEMEExOTAwRTMwMEE4
RUY1RiAvKiBSZW5kZXJMZWdlbmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFJlbmRlckxlZ2VuZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBOEVBNzNCRTBB
MTkwMEUzMDBBOEVGNUYgLyogUmVuZGVyTGluZUVkaXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRlckxpbmVFZGl0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQThFQTczQkYwQTE5MDBFMzAwQThFRjVGIC8qIFJlbmRlckZvcm1FbGVtZW50
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJGb3JtRWxl
bWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01NDM5LDggKzU0MzUsNiBA
QAogCQkJCUE4REY0QUU1MDk4MEM0MkMwMDUyOTgxQiAvKiBSZW5kZXJUYWJsZVNlY3Rpb24uaCAq
LywKIAkJCQlCQ0VBNDg0QzA5N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVyVGV4dC5jcHAgKi8sCiAJ
CQkJQkNFQTQ4NEQwOTdEOTMwMjAwOTRDOUU0IC8qIFJlbmRlclRleHQuaCAqLywKLQkJCQlBOEVB
NzNCNDBBMTkwMEUzMDBBOEVGNUYgLyogUmVuZGVyVGV4dEFyZWEuY3BwICovLAotCQkJCUE4RUE3
M0JBMEExOTAwRTMwMEE4RUY1RiAvKiBSZW5kZXJUZXh0QXJlYS5oICovLAogCQkJCUFCNjdEMUE2
MDk3RjNBRTMwMEY5MzkyRSAvKiBSZW5kZXJUZXh0Q29udHJvbC5jcHAgKi8sCiAJCQkJQUI2N0Qx
QTcwOTdGM0FFMzAwRjkzOTJFIC8qIFJlbmRlclRleHRDb250cm9sLmggKi8sCiAJCQkJQkNFQTQ4
NEUwOTdEOTMwMjAwOTRDOUU0IC8qIFJlbmRlclRleHRGcmFnbWVudC5jcHAgKi8sCkBAIC02MjA3
LDcgKzYyMDEsNiBAQAogCQkJCUE4RUE3M0M3MEExOTAwRTMwMEE4RUY1RiAvKiBSZW5kZXJGaWxl
QnV0dG9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEVBNzNDOTBBMTkwMEUzMDBBOEVGNUYgLyog
UmVuZGVyRm9ybUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4RUE3M0NCMEExOTAwRTMw
MEE4RUY1RiAvKiBSZW5kZXJMYWJlbC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQThFQTczQ0UwQTE5
MDBFMzAwQThFRjVGIC8qIFJlbmRlclRleHRBcmVhLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEVB
NzNEMTBBMTkwMEUzMDBBOEVGNUYgLyogUmVuZGVyTGVnZW5kLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBOEVBNzlGMTBBMTkxNkRGMDBBOEVGNUYgLyogSFRNTE9MaXN0RWxlbWVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQThFQTc5RjIwQTE5MTZERjAwQThFRjVGIC8qIEhUTUxVTGlzdEVsZW1lbnQu
aCBpbiBIZWFkZXJzICovLApAQCAtNzA3Nyw3ICs3MDY4LDYgQEAKIAkJCQlCQzZEQURGQTBBMTk2
MDJCMDBFNUNEMTQgLyogV2ViRm9udENhY2hlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQThFQTcz
QzMwQTE5MDBFMzAwQThFRjVGIC8qIFJlbmRlckZpZWxkc2V0LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUE4RUE3M0M2MEExOTAwRTMwMEE4RUY1RiAvKiBSZW5kZXJGaWxlQnV0dG9uLmNwcCBpbiBT
b3VyY2VzICovLAotCQkJCUE4RUE3M0M4MEExOTAwRTMwMEE4RUY1RiAvKiBSZW5kZXJUZXh0QXJl
YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEVBNzNDQTBBMTkwMEUzMDBBOEVGNUYgLyogUmVu
ZGVyTGVnZW5kLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4RUE3M0QyMEExOTAwRTMwMEE4RUY1
RiAvKiBSZW5kZXJMaW5lRWRpdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEVBNzNEMzBBMTkw
MEUzMDBBOEVGNUYgLyogUmVuZGVyRm9ybUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCkluZGV4
OiBXZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNTg2MykKKysrIFdl
YkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMs
NyArMzMsNiBAQAogI2luY2x1ZGUgIkZvcm1EYXRhTGlzdC5oIgogI2luY2x1ZGUgIkZyYW1lLmgi
CiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCi0jaW5jbHVkZSAiUmVuZGVyVGV4dEFyZWEuaCIKICNp
bmNsdWRlICJSZW5kZXJUZXh0Q29udHJvbC5oIgogI2luY2x1ZGUgIlRleHQuaCIKICNpbmNsdWRl
ICJSZW5kZXJTdHlsZS5oIgpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5oCShyZXZp
c2lvbiAxNTg2MykKKysrIFdlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmgJKHdvcmtp
bmcgY29weSkKQEAgLTMwLDExICszMCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xh
c3MgUmVuZGVyVGV4dEFyZWE7Ci0KIGNsYXNzIEhUTUxUZXh0QXJlYUVsZW1lbnQgOiBwdWJsaWMg
SFRNTEdlbmVyaWNGb3JtRWxlbWVudCB7Ci0gICAgZnJpZW5kIGNsYXNzIFJlbmRlclRleHRBcmVh
OwotCiBwdWJsaWM6CiAgICAgZW51bSBXcmFwTWV0aG9kIHsgdGFfTm9XcmFwLCB0YV9WaXJ0dWFs
LCB0YV9QaHlzaWNhbCB9OwogCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlVGV4
dEFyZWEubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViQ29yZVRleHRB
cmVhLm1tCShyZXZpc2lvbiAxNTg2MykKKysrIFdlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYkNvcmVU
ZXh0QXJlYS5tbQkod29ya2luZyBjb3B5KQpAQCAtMTEzNyw3ICsxMTM3LDcgQEAgc3RhdGljIE5T
U3RyaW5nICpXZWJDb250aW51b3VzU3BlbGxDaGVjawogICAgIFtbc2VsZiB0ZXh0U3RvcmFnZV0g
c2V0Rm9yZWdyb3VuZENvbG9yOmNvbG9yXTsKIH0KIAotLy8gQ291bGQgZ2V0IGZhbmN5IGFuZCBz
ZW5kIHRoaXMgdG8gVGV4dEJveCwgdGhlbiBSZW5kZXJUZXh0QXJlYSwgYnV0IHRoZXJlJ3MgcmVh
bGx5IG5vIGhhcm0KKy8vIENvdWxkIGdldCBmYW5jeSBhbmQgc2VuZCB0aGlzIHRvIFRleHRCb3gs
IHRoZW4gUmVuZGVyVGV4dENvbnRyb2wsIGJ1dCB0aGVyZSdzIHJlYWxseSBubyBoYXJtCiAvLyBp
biBkb2luZyB0aGlzIGRpcmVjdGx5IHJpZ2h0IGhlcmUuIENvdWxkIHJlZmFjdG9yIHNvbWUgZGF5
IGlmIHlvdSBkaXNhZ3JlZS4KIAogLy8gRklYTUU6IFRoaXMgZG9lcyBub3QgeWV0IGltcGxlbWVu
dCB0aGUgZmVhdHVyZSBvZiBjYW5jZWxpbmcgdGhlIG9wZXJhdGlvbiwgb3IgdGhlIG5lY2Vzc2Fy
eQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dEFyZWEuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRBcmVhLmNwcAkocmV2aXNpb24gMTU4NjMp
CisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0QXJlYS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTEsMjA5ICswLDAgQEAKLS8qCi0gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgRE9NIGlt
cGxlbWVudGF0aW9uIGZvciBLREUuCi0gKgotICogQ29weXJpZ2h0IChDKSAxOTk5IExhcnMgS25v
bGwgKGtub2xsQGtkZS5vcmcpCi0gKiAgICAgICAgICAgKEMpIDE5OTkgQW50dGkgS29pdmlzdG8g
KGtvaXZpc3RvQGtkZS5vcmcpCi0gKiAgICAgICAgICAgKEMpIDIwMDAgRGlyayBNdWVsbGVyICht
dWVsbGVyQGtkZS5vcmcpCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYgQXBwbGUg
Q29tcHV0ZXIsIEluYy4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91
IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNo
ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIg
b2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0g
KgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls
bCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0
aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQgaGF2ZSBy
ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UK
LSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJ
ZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1
OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsCi0gKiBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVT
QS4KLSAqCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIlJlbmRlclRleHRB
cmVhLmgiCi0KLSNpbmNsdWRlICJUZXh0Qm94LmgiCi0jaW5jbHVkZSAiSFRNTFRleHRBcmVhRWxl
bWVudC5oIgotI2luY2x1ZGUgIkZyYW1lVmlldy5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0K
LVJlbmRlclRleHRBcmVhOjpSZW5kZXJUZXh0QXJlYShIVE1MVGV4dEFyZWFFbGVtZW50KiBlbGVt
ZW50KQotICAgIDogUmVuZGVyRm9ybUVsZW1lbnQoZWxlbWVudCkKLSAgICAsIG1fZGlydHkoZmFs
c2UpCi0gICAgLCBtX3VwZGF0aW5nKGZhbHNlKQotewotICAgIFRleHRCb3gqIGVkaXQgPSBuZXcg
VGV4dEJveChtX3ZpZXcpOwotCi0gICAgaWYgKGVsZW1lbnQtPndyYXAoKSAhPSBIVE1MVGV4dEFy
ZWFFbGVtZW50Ojp0YV9Ob1dyYXApCi0gICAgICAgIGVkaXQtPnNldFdvcmRXcmFwKFRleHRCb3g6
OldpZGdldFdpZHRoKTsKLSAgICBlbHNlCi0gICAgICAgIGVkaXQtPnNldFdvcmRXcmFwKFRleHRC
b3g6Ok5vV3JhcCk7Ci0KLSAgICBzZXRXaWRnZXQoZWRpdCk7Ci19Ci0KLXZvaWQgUmVuZGVyVGV4
dEFyZWE6OmRlc3Ryb3koKQotewotICAgIHN0YXRpY19jYXN0PEhUTUxUZXh0QXJlYUVsZW1lbnQq
Pihub2RlKCkpLT5yZW5kZXJlcldpbGxCZURlc3Ryb3llZCgpOwotICAgIFJlbmRlckZvcm1FbGVt
ZW50OjpkZXN0cm95KCk7Ci19Ci0KLXZvaWQgUmVuZGVyVGV4dEFyZWE6OmNhbGNNaW5NYXhXaWR0
aCgpCi17Ci0gICAgQVNTRVJUKCFtaW5NYXhLbm93bigpKTsKLQotICAgIFRleHRCb3gqIHcgPSBz
dGF0aWNfY2FzdDxUZXh0Qm94Kj4obV93aWRnZXQpOwotICAgIEludFNpemUgc2l6ZSh3LT5zaXpl
V2l0aENvbHVtbnNBbmRSb3dzKAotICAgICAgICBtYXgoc3RhdGljX2Nhc3Q8SFRNTFRleHRBcmVh
RWxlbWVudCo+KG5vZGUoKSktPmNvbHMoKSwgMSksCi0gICAgICAgIG1heChzdGF0aWNfY2FzdDxI
VE1MVGV4dEFyZWFFbGVtZW50Kj4obm9kZSgpKS0+cm93cygpLCAxKSkpOwotCi0gICAgc2V0SW50
cmluc2ljV2lkdGgoc2l6ZS53aWR0aCgpKTsKLSAgICBzZXRJbnRyaW5zaWNIZWlnaHQoc2l6ZS5o
ZWlnaHQoKSk7Ci0KLSAgICBSZW5kZXJGb3JtRWxlbWVudDo6Y2FsY01pbk1heFdpZHRoKCk7Ci19
Ci0KLXZvaWQgUmVuZGVyVGV4dEFyZWE6OnNldFN0eWxlKFJlbmRlclN0eWxlKiBzKQotewotICAg
IFJlbmRlckZvcm1FbGVtZW50OjpzZXRTdHlsZShzKTsKLQotICAgIFRleHRCb3gqIHcgPSBzdGF0
aWNfY2FzdDxUZXh0Qm94Kj4obV93aWRnZXQpOwotICAgIHctPnNldEFsaWdubWVudCh0ZXh0QWxp
Z25tZW50KCkpOwotICAgIHctPnNldExpbmVIZWlnaHQoUmVuZGVyT2JqZWN0OjpsaW5lSGVpZ2h0
KHRydWUpKTsKLQotICAgIHctPnNldFdyaXRpbmdEaXJlY3Rpb24oc3R5bGUoKS0+ZGlyZWN0aW9u
KCkgPT0gUlRMID8gUlRMIDogTFRSKTsKLQotICAgIFNjcm9sbEJhck1vZGUgdmVydGljYWxTY3Jv
bGxNb2RlID0gU2Nyb2xsQmFyQXV0bzsKLSAgICBzd2l0Y2ggKHN0eWxlKCktPm92ZXJmbG93WSgp
KSB7Ci0gICAgICAgIGNhc2UgT0FVVE86Ci0gICAgICAgIGNhc2UgT01BUlFVRUU6IC8vIG1ha2Vz
IG5vIHNlbnNlLCBtYXAgdG8gYXV0bwotICAgICAgICBjYXNlIE9PVkVSTEFZOiAvLyBub3QgaW1w
bGVtZW50ZWQgZm9yIHRleHQsIG1hcCB0byBhdXRvCi0gICAgICAgIGNhc2UgT1ZJU0lCTEU6Ci0g
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBPSElEREVOOgotICAgICAgICAgICAgdmVy
dGljYWxTY3JvbGxNb2RlID0gU2Nyb2xsQmFyQWx3YXlzT2ZmOwotICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgIGNhc2UgT1NDUk9MTDoKLSAgICAgICAgICAgIHZlcnRpY2FsU2Nyb2xsTW9kZSA9
IFNjcm9sbEJhckFsd2F5c09uOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgIFNjcm9s
bEJhck1vZGUgaG9yaXpvbnRhbFNjcm9sbE1vZGUgPSBTY3JvbGxCYXJBdXRvOwotICAgIHN3aXRj
aCAoc3R5bGUoKS0+b3ZlcmZsb3dYKCkpIHsKLSAgICAgICAgY2FzZSBPQVVUTzoKLSAgICAgICAg
Y2FzZSBPTUFSUVVFRTogLy8gbWFrZXMgbm8gc2Vuc2UsIG1hcCB0byBhdXRvCi0gICAgICAgIGNh
c2UgT09WRVJMQVk6IC8vIG5vdCBpbXBsZW1lbnRlZCBmb3IgdGV4dCwgbWFwIHRvIGF1dG8KLSAg
ICAgICAgY2FzZSBPVklTSUJMRToKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIE9I
SURERU46Ci0gICAgICAgICAgICBob3Jpem9udGFsU2Nyb2xsTW9kZSA9IFNjcm9sbEJhckFsd2F5
c09mZjsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIE9TQ1JPTEw6Ci0gICAgICAg
ICAgICBob3Jpem9udGFsU2Nyb2xsTW9kZSA9IFNjcm9sbEJhckFsd2F5c09uOwotICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgfQotCi0gICAgaWYgKHN0YXRpY19jYXN0PEhUTUxUZXh0QXJlYUVsZW1l
bnQqPihub2RlKCkpLT53cmFwKCkgIT0gSFRNTFRleHRBcmVhRWxlbWVudDo6dGFfTm9XcmFwKQot
ICAgICAgICBob3Jpem9udGFsU2Nyb2xsTW9kZSA9IFNjcm9sbEJhckFsd2F5c09mZjsKLQotICAg
IHctPnNldFNjcm9sbEJhck1vZGVzKGhvcml6b250YWxTY3JvbGxNb2RlLCB2ZXJ0aWNhbFNjcm9s
bE1vZGUpOwotfQotCi12b2lkIFJlbmRlclRleHRBcmVhOjpzZXRFZGl0ZWQoYm9vbCB4KQotewot
ICAgIG1fZGlydHkgPSB4OwotfQotCi12b2lkIFJlbmRlclRleHRBcmVhOjp1cGRhdGVGcm9tRWxl
bWVudCgpCi17Ci0gICAgSFRNTFRleHRBcmVhRWxlbWVudCogZSA9IHN0YXRpY19jYXN0PEhUTUxU
ZXh0QXJlYUVsZW1lbnQqPihub2RlKCkpOwotICAgIFRleHRCb3gqIHcgPSBzdGF0aWNfY2FzdDxU
ZXh0Qm94Kj4obV93aWRnZXQpOwotCi0gICAgdy0+c2V0UmVhZE9ubHkoZS0+aXNSZWFkT25seUNv
bnRyb2woKSk7Ci0gICAgdy0+c2V0RGlzYWJsZWQoZS0+ZGlzYWJsZWQoKSk7Ci0KLSAgICBTdHJp
bmcgd2lkZ2V0VGV4dCA9IHRleHQoKTsKLSAgICBTdHJpbmcgdGV4dCA9IGUtPnZhbHVlKCk7Ci0g
ICAgdGV4dC5yZXBsYWNlKCdcXCcsIGJhY2tzbGFzaEFzQ3VycmVuY3lTeW1ib2woKSk7Ci0gICAg
aWYgKHdpZGdldFRleHQgIT0gdGV4dCkgewotICAgICAgICBpbnQgbGluZSwgY29sOwotICAgICAg
ICB3LT5nZXRDdXJzb3JQb3NpdGlvbigmbGluZSwgJmNvbCk7Ci0gICAgICAgIG1fdXBkYXRpbmcg
PSB0cnVlOwotICAgICAgICB3LT5zZXRUZXh0KHRleHQpOwotICAgICAgICBtX3VwZGF0aW5nID0g
ZmFsc2U7Ci0gICAgICAgIHctPnNldEN1cnNvclBvc2l0aW9uKGxpbmUsIGNvbCk7Ci0gICAgfQot
ICAgIG1fZGlydHkgPSBmYWxzZTsKLQotICAgIHctPnNldENvbG9ycyhzdHlsZSgpLT5iYWNrZ3Jv
dW5kQ29sb3IoKSwgc3R5bGUoKS0+Y29sb3IoKSk7Ci0KLSAgICBSZW5kZXJGb3JtRWxlbWVudDo6
dXBkYXRlRnJvbUVsZW1lbnQoKTsKLX0KLQotU3RyaW5nIFJlbmRlclRleHRBcmVhOjp0ZXh0KCkK
LXsKLSAgICBTdHJpbmcgdHh0ID0gc3RhdGljX2Nhc3Q8VGV4dEJveCo+KG1fd2lkZ2V0KS0+dGV4
dCgpOwotICAgIHJldHVybiB0eHQucmVwbGFjZShiYWNrc2xhc2hBc0N1cnJlbmN5U3ltYm9sKCks
ICdcXCcpOwotfQotCi1TdHJpbmcgUmVuZGVyVGV4dEFyZWE6OnRleHRXaXRoSGFyZExpbmVCcmVh
a3MoKQotewotICAgIFN0cmluZyB0eHQgPSBzdGF0aWNfY2FzdDxUZXh0Qm94Kj4obV93aWRnZXQp
LT50ZXh0V2l0aEhhcmRMaW5lQnJlYWtzKCk7Ci0gICAgcmV0dXJuIHR4dC5yZXBsYWNlKGJhY2tz
bGFzaEFzQ3VycmVuY3lTeW1ib2woKSwgJ1xcJyk7Ci19Ci0KLXZvaWQgUmVuZGVyVGV4dEFyZWE6
OnZhbHVlQ2hhbmdlZChXaWRnZXQqKQotewotICAgIGlmIChtX3VwZGF0aW5nKQotICAgICAgICBy
ZXR1cm47Ci0gICAgc3RhdGljX2Nhc3Q8SFRNTFRleHRBcmVhRWxlbWVudCo+KG5vZGUoKSktPnNl
dFZhbHVlTWF0Y2hlc1JlbmRlcmVyKGZhbHNlKTsKLSAgICBtX2RpcnR5ID0gdHJ1ZTsKLX0KLQot
aW50IFJlbmRlclRleHRBcmVhOjpzZWxlY3Rpb25TdGFydCgpCi17Ci0gICAgcmV0dXJuIHN0YXRp
Y19jYXN0PFRleHRCb3gqPihtX3dpZGdldCktPnNlbGVjdGlvblN0YXJ0KCk7Ci19Ci0KLWludCBS
ZW5kZXJUZXh0QXJlYTo6c2VsZWN0aW9uRW5kKCkKLXsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
VGV4dEJveCo+KG1fd2lkZ2V0KS0+c2VsZWN0aW9uRW5kKCk7Ci19Ci0KLXZvaWQgUmVuZGVyVGV4
dEFyZWE6OnNldFNlbGVjdGlvblN0YXJ0KGludCBzdGFydCkKLXsKLSAgICBzdGF0aWNfY2FzdDxU
ZXh0Qm94Kj4obV93aWRnZXQpLT5zZXRTZWxlY3Rpb25TdGFydChzdGFydCk7Ci19Ci0KLXZvaWQg
UmVuZGVyVGV4dEFyZWE6OnNldFNlbGVjdGlvbkVuZChpbnQgZW5kKQotewotICAgIHN0YXRpY19j
YXN0PFRleHRCb3gqPihtX3dpZGdldCktPnNldFNlbGVjdGlvbkVuZChlbmQpOwotfQotCi12b2lk
IFJlbmRlclRleHRBcmVhOjpzZWxlY3QoKQotewotICAgIHN0YXRpY19jYXN0PFRleHRCb3gqPiht
X3dpZGdldCktPnNlbGVjdEFsbCgpOwotfQotCi12b2lkIFJlbmRlclRleHRBcmVhOjpzZXRTZWxl
Y3Rpb25SYW5nZShpbnQgc3RhcnQsIGludCBlbmQpCi17Ci0gICAgVGV4dEJveCogdGV4dEVkaXQg
PSBzdGF0aWNfY2FzdDxUZXh0Qm94Kj4obV93aWRnZXQpOwotICAgIHRleHRFZGl0LT5zZXRTZWxl
Y3Rpb25SYW5nZShzdGFydCwgZW5kLXN0YXJ0KTsKLX0KLQotdm9pZCBSZW5kZXJUZXh0QXJlYTo6
c2VsZWN0aW9uQ2hhbmdlZChXaWRnZXQqKQotewotICAgIFRleHRCb3gqIHcgPSBzdGF0aWNfY2Fz
dDxUZXh0Qm94Kj4obV93aWRnZXQpOwotCi0gICAgLy8gV2Ugb25seSB3YW50IHRvIGNhbGwgb25z
ZWxlY3QgaWYgdGhlcmUgYWN0dWFsbHkgaXMgYSBzZWxlY3Rpb24KLSAgICBpZiAoIXctPmhhc1Nl
bGVjdGVkVGV4dCgpKQotICAgICAgICByZXR1cm47Ci0gICAgCi0gICAgc3RhdGljX2Nhc3Q8SFRN
TFRleHRBcmVhRWxlbWVudCo+KG5vZGUoKSktPm9uU2VsZWN0KCk7Ci19Ci0KLX0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRBcmVhLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dEFyZWEuaAkocmV2aXNpb24g
MTU4NjMpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0QXJlYS5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDc4ICswLDAgQEAKLS8qCi0gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgRE9N
IGltcGxlbWVudGF0aW9uIGZvciBLREUuCi0gKgotICogQ29weXJpZ2h0IChDKSAxOTk5IExhcnMg
S25vbGwgKGtub2xsQGtkZS5vcmcpCi0gKiAgICAgICAgICAgKEMpIDE5OTkgQW50dGkgS29pdmlz
dG8gKGtvaXZpc3RvQGtkZS5vcmcpCi0gKiAgICAgICAgICAgKEMpIDIwMDAgRGlyayBNdWVsbGVy
IChtdWVsbGVyQGtkZS5vcmcpCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDYgQXBwbGUgQ29t
cHV0ZXIsIEluYy4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh
biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQg
YnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIgb2Yg
dGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgot
ICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi
ZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg
aW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNl
aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAq
IGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBu
b3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBU
ZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsCi0gKiBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4K
LSAqCi0gKi8KLQotI2lmbmRlZiBSZW5kZXJUZXh0QXJlYV9oCi0jZGVmaW5lIFJlbmRlclRleHRB
cmVhX2gKLQotI2luY2x1ZGUgIlJlbmRlckZvcm1FbGVtZW50LmgiCi0KLW5hbWVzcGFjZSBXZWJD
b3JlIHsKLQotICAgIGNsYXNzIEhUTUxUZXh0QXJlYUVsZW1lbnQ7Ci0KLSAgICBjbGFzcyBSZW5k
ZXJUZXh0QXJlYSA6IHB1YmxpYyBSZW5kZXJGb3JtRWxlbWVudCB7Ci0gICAgcHVibGljOgotICAg
ICAgICBSZW5kZXJUZXh0QXJlYShIVE1MVGV4dEFyZWFFbGVtZW50Kik7Ci0KLSAgICAgICAgdmly
dHVhbCBjb25zdCBjaGFyKiByZW5kZXJOYW1lKCkgY29uc3QgeyByZXR1cm4gIlJlbmRlclRleHRB
cmVhIjsgfQotCi0gICAgICAgIHZpcnR1YWwgdm9pZCBkZXN0cm95KCk7Ci0KLSAgICAgICAgdmly
dHVhbCB2b2lkIGNhbGNNaW5NYXhXaWR0aCgpOwotICAgICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRl
RnJvbUVsZW1lbnQoKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIHNldFN0eWxlKFJlbmRlclN0eWxl
Kik7Ci0KLSAgICAgICAgYm9vbCBpc1RleHRBcmVhKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQot
ICAgICAgICBib29sIGlzRWRpdGVkKCkgY29uc3QgeyByZXR1cm4gbV9kaXJ0eTsgfQotICAgICAg
ICB2b2lkIHNldEVkaXRlZChib29sKTsKLSAgICAgICAgCi0gICAgICAgIFN0cmluZyB0ZXh0KCk7
Ci0gICAgICAgIFN0cmluZyB0ZXh0V2l0aEhhcmRMaW5lQnJlYWtzKCk7Ci0KLSAgICAgICAgaW50
IHNlbGVjdGlvblN0YXJ0KCk7Ci0gICAgICAgIGludCBzZWxlY3Rpb25FbmQoKTsKLSAgICAgICAg
dm9pZCBzZXRTZWxlY3Rpb25TdGFydChpbnQpOwotICAgICAgICB2b2lkIHNldFNlbGVjdGlvbkVu
ZChpbnQpOwotICAgICAgICAKLSAgICAgICAgdm9pZCBzZWxlY3QoKTsKLSAgICAgICAgdm9pZCBz
ZXRTZWxlY3Rpb25SYW5nZShpbnQsIGludCk7Ci0gICAgICAgIAotICAgICAgICB2aXJ0dWFsIGJv
b2wgY2FuSGF2ZUludHJpbnNpY01hcmdpbnMoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9Ci0KLSAg
ICBwcml2YXRlOgotICAgICAgICB2aXJ0dWFsIHZvaWQgdmFsdWVDaGFuZ2VkKFdpZGdldCopOwot
ICAgICAgICB2aXJ0dWFsIHZvaWQgc2VsZWN0aW9uQ2hhbmdlZChXaWRnZXQqKTsKLSAgICAgICAg
Ci0gICAgcHJvdGVjdGVkOgotICAgICAgICB2aXJ0dWFsIGJvb2wgaXNFZGl0YWJsZSgpIGNvbnN0
IHsgcmV0dXJuIHRydWU7IH0KLQotICAgICAgICBib29sIG1fZGlydHk7Ci0gICAgICAgIGJvb2wg
bV91cGRhdGluZzsKLSAgICB9OwotCi0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlm
IC8vIFJlbmRlclRleHRBcmVhX2gK
</data>
<flag name="review"
          id="3113"
          type_id="1"
          status="+"
          setter="hyatt"
    />
          </attachment>
      

    </bug>

</bugzilla>