<?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>44335</bug_id>
          
          <creation_ts>2010-08-20 07:27:37 -0700</creation_ts>
          <short_desc>[Qt] WebKit does not compile with --3d-canvas</short_desc>
          <delta_ts>2010-08-20 16:23:43 -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>WebGL</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>Qt, QtTriaged</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jarkko Sakkinen">jarkko.j.sakkinen</reporter>
          <assigned_to name="QtWebKit Unassigned">webkit-qt-unassigned</assigned_to>
          <cc>jamesr</cc>
    
    <cc>jamesr</cc>
    
    <cc>kling</cc>
    
    <cc>noam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>267243</commentid>
    <comment_count>0</comment_count>
    <who name="Jarkko Sakkinen">jarkko.j.sakkinen</who>
    <bug_when>2010-08-20 07:27:37 -0700</bug_when>
    <thetext>Because of changes to some headers that are above Qt graphics backend GraphicsLayerQt.h/cpp refuse to compile. They are unable to find GraphicsContext3D.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267250</commentid>
    <comment_count>1</comment_count>
    <who name="Jarkko Sakkinen">jarkko.j.sakkinen</who>
    <bug_when>2010-08-20 08:04:29 -0700</bug_when>
    <thetext>What&apos;s this PlatformGLObject thing in GraphicsContext3DQt.cpp? I did find -name *.h|xargs grep -i platformglo and also same for *.cpp. Only file that contains the usage of PlatformGLObject is GraphicsContext3DQt.cpp.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267251</commentid>
    <comment_count>2</comment_count>
    <who name="Jarkko Sakkinen">jarkko.j.sakkinen</who>
    <bug_when>2010-08-20 08:08:13 -0700</bug_when>
    <thetext>git blame told me that it is the commit bd0e060f. Hi James! Can you please elaborate what&apos;s all about so I can fix these compilation issues in correct way :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267268</commentid>
    <comment_count>3</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2010-08-20 09:25:37 -0700</bug_when>
    <thetext>It (GC3DQt.cpp) didn&apos;t compile before that commit either.  I think PlatformGLObject should be Platform3DObject, but there are other compilation issues in GraphicsContextQt.cpp that I didn&apos;t understand - like variables referenced that are clearly never defined.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267455</commentid>
    <comment_count>4</comment_count>
      <attachid>65002</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-08-20 15:41:40 -0700</bug_when>
    <thetext>Created attachment 65002
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267463</commentid>
    <comment_count>5</comment_count>
      <attachid>65002</attachid>
    <who name="Ariya Hidayat">ariya.hidayat</who>
    <bug_when>2010-08-20 16:17:59 -0700</bug_when>
    <thetext>Comment on attachment 65002
Proposed patch

LGTM. re=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267466</commentid>
    <comment_count>6</comment_count>
      <attachid>65002</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-08-20 16:23:32 -0700</bug_when>
    <thetext>Comment on attachment 65002
Proposed patch

Clearing flags on attachment: 65002

Committed r65761: &lt;http://trac.webkit.org/changeset/65761&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267467</commentid>
    <comment_count>7</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-08-20 16:23:43 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>65002</attachid>
            <date>2010-08-20 15:41:40 -0700</date>
            <delta_ts>2010-08-20 16:23:32 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>bug-44335.diff</filename>
            <type>text/plain</type>
            <size>17959</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZWMxNGMxYS4uMThmZWVkNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1NCBAQAorMjAxMC0wOC0yMCAgQW5kcmVhcyBLbGlu
ZyAgPGFuZHJlYXMua2xpbmdAbm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gV2ViS2l0IGRvZXMgbm90IGNvbXBpbGUgd2l0aCAt
LTNkLWNhbnZhcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDQzMzUKKworICAgICAgICAtIFBsYXRmb3JtR0xPYmplY3QgPT4gUGxhdGZvcm0zRE9iamVj
dAorICAgICAgICAtIEltcGxlbWVudGVkIGdldEF0dGFjaGVkU2hhZGVycygpCisgICAgICAgIC0g
SW1wbGVtZW50ZWQgYnVmZmVyRGF0YSgpIGFuZCBidWZmZXJTdWJEYXRhKCkgZm9yIEFycmF5QnVm
ZmVyKgorICAgICAgICAtIFJlbW92ZWQgcmVmZXJlbmNlIHRvIG5vbmV4aXN0ZW50IHZhcmlhYmxl
IGluIGdldEltYWdlRGF0YSgpCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFw
aGljc0NvbnRleHQzRFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNE
SW50ZXJuYWw6OkdyYXBoaWNzQ29udGV4dDNESW50ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZTo6
R3JhcGhpY3NDb250ZXh0M0Q6OmF0dGFjaFNoYWRlcik6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0NvbnRleHQzRDo6Z2V0QXR0YWNoZWRTaGFkZXJzKToKKyAgICAgICAgKFdlYkNvcmU6Okdy
YXBoaWNzQ29udGV4dDNEOjpiaW5kQXR0cmliTG9jYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6
R3JhcGhpY3NDb250ZXh0M0Q6OmJpbmRCdWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhp
Y3NDb250ZXh0M0Q6OmJpbmRGcmFtZWJ1ZmZlcik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGlj
c0NvbnRleHQzRDo6YmluZFJlbmRlcmJ1ZmZlcik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGlj
c0NvbnRleHQzRDo6YmluZFRleHR1cmUpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250
ZXh0M0Q6OmJ1ZmZlckRhdGEpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6
OmJ1ZmZlclN1YkRhdGEpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OmNv
bXBpbGVTaGFkZXIpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OmRldGFj
aFNoYWRlcik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6ZnJhbWVidWZm
ZXJSZW5kZXJidWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OmZy
YW1lYnVmZmVyVGV4dHVyZTJEKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNE
OjpnZXRBY3RpdmVBdHRyaWIpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6
OmdldEFjdGl2ZVVuaWZvcm0pOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6
OmdldEF0dHJpYkxvY2F0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNE
Ojppc0J1ZmZlcik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6aXNGcmFt
ZWJ1ZmZlcik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6aXNQcm9ncmFt
KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjppc1JlbmRlcmJ1ZmZlcik6
CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6aXNTaGFkZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OmlzVGV4dHVyZSk6CisgICAgICAgIChXZWJD
b3JlOjpHcmFwaGljc0NvbnRleHQzRDo6bGlua1Byb2dyYW0pOgorICAgICAgICAoV2ViQ29yZTo6
R3JhcGhpY3NDb250ZXh0M0Q6OnNoYWRlclNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0NvbnRleHQzRDo6dXNlUHJvZ3JhbSk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0Nv
bnRleHQzRDo6dmFsaWRhdGVQcm9ncmFtKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29u
dGV4dDNEOjpnZXRQcm9ncmFtaXYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0
M0Q6OmdldFByb2dyYW1JbmZvTG9nKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dDNEOjpnZXRTaGFkZXJpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6
Z2V0U2hhZGVySW5mb0xvZyk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6
Z2V0U2hhZGVyU291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjpn
ZXRVbmlmb3JtZnYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OmdldFVu
aWZvcm1pdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6Z2V0VW5pZm9y
bUxvY2F0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjpnZXRJbWFn
ZURhdGEpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzTGF5ZXJRdC5o
OgorCiAyMDEwLTA4LTE5ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dDNEUXQuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHQzRFF0LmNwcAppbmRleCBkNWU3YjNmLi40NjhkZTI4
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4
dDNEUXQuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250
ZXh0M0RRdC5jcHAKQEAgLTg5LDYgKzg5LDcgQEAgdHlwZWRlZiB2b2lkIChBUElFTlRSWSogZ2xH
ZW5GcmFtZWJ1ZmZlcnNUeXBlKSAoR0xzaXplaSwgR0x1aW50Kik7CiB0eXBlZGVmIHZvaWQgKEFQ
SUVOVFJZKiBnbEdlblJlbmRlcmJ1ZmZlcnNUeXBlKSAoR0xzaXplaSwgR0x1aW50Kik7CiB0eXBl
ZGVmIHZvaWQgKEFQSUVOVFJZKiBnbEdldEFjdGl2ZUF0dHJpYlR5cGUpIChHTHVpbnQsIEdMdWlu
dCwgR0xzaXplaSwgR0xzaXplaSosIEdMaW50KiwgR0xlbnVtKiwgR0xjaGFyKik7CiB0eXBlZGVm
IHZvaWQgKEFQSUVOVFJZKiBnbEdldEFjdGl2ZVVuaWZvcm1UeXBlKSAoR0x1aW50LCBHTHVpbnQs
IEdMc2l6ZWksIEdMc2l6ZWkqLCBHTGludCosIEdMZW51bSosIEdMY2hhciopOwordHlwZWRlZiB2
b2lkIChBUElFTlRSWSogZ2xHZXRBdHRhY2hlZFNoYWRlcnNUeXBlKSAoR0x1aW50LCBHTHNpemVp
LCBHTHNpemVpKiwgR0x1aW50Kik7CiB0eXBlZGVmIEdMaW50IChBUElFTlRSWSogZ2xHZXRBdHRy
aWJMb2NhdGlvblR5cGUpIChHTHVpbnQsIGNvbnN0IGNoYXIqKTsKIHR5cGVkZWYgdm9pZCAoQVBJ
RU5UUlkqIGdsR2V0QnVmZmVyUGFyYW1ldGVyaXZUeXBlKSAoR0xlbnVtLCBHTGVudW0sIEdMaW50
Kik7CiB0eXBlZGVmIHZvaWQgKEFQSUVOVFJZKiBnbEdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBh
cmFtZXRlcml2VHlwZSkgKEdMZW51bSwgR0xlbnVtLCBHTGVudW0sIEdMaW50KiBwYXJhbXMpOwpA
QCAtMTg3LDYgKzE4OCw3IEBAIHB1YmxpYzoKICAgICBnbEdlblJlbmRlcmJ1ZmZlcnNUeXBlIGdl
blJlbmRlcmJ1ZmZlcnM7CiAgICAgZ2xHZXRBY3RpdmVBdHRyaWJUeXBlIGdldEFjdGl2ZUF0dHJp
YjsKICAgICBnbEdldEFjdGl2ZVVuaWZvcm1UeXBlIGdldEFjdGl2ZVVuaWZvcm07CisgICAgZ2xH
ZXRBdHRhY2hlZFNoYWRlcnNUeXBlIGdldEF0dGFjaGVkU2hhZGVyczsKICAgICBnbEdldEF0dHJp
YkxvY2F0aW9uVHlwZSBnZXRBdHRyaWJMb2NhdGlvbjsKICAgICBnbEdldEJ1ZmZlclBhcmFtZXRl
cml2VHlwZSBnZXRCdWZmZXJQYXJhbWV0ZXJpdjsKICAgICBnbEdldEZyYW1lYnVmZmVyQXR0YWNo
bWVudFBhcmFtZXRlcml2VHlwZSBnZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJhbWV0ZXJpdjsK
QEAgLTM0OSw2ICszNTEsNyBAQCBHcmFwaGljc0NvbnRleHQzREludGVybmFsOjpHcmFwaGljc0Nv
bnRleHQzREludGVybmFsKEdyYXBoaWNzQ29udGV4dDNEOjpBdHRyaWJ1dAogICAgIGdlblJlbmRl
cmJ1ZmZlcnMgPSBHRVRfUFJPQ19BRERSRVNTKGdsR2VuUmVuZGVyYnVmZmVycyk7CiAgICAgZ2V0
QWN0aXZlQXR0cmliID0gR0VUX1BST0NfQUREUkVTUyhnbEdldEFjdGl2ZUF0dHJpYik7CiAgICAg
Z2V0QWN0aXZlVW5pZm9ybSA9IEdFVF9QUk9DX0FERFJFU1MoZ2xHZXRBY3RpdmVVbmlmb3JtKTsK
KyAgICBnZXRBdHRhY2hlZFNoYWRlcnMgPSBHRVRfUFJPQ19BRERSRVNTKGdsR2V0QXR0YWNoZWRT
aGFkZXJzKTsKICAgICBnZXRBdHRyaWJMb2NhdGlvbiA9IEdFVF9QUk9DX0FERFJFU1MoZ2xHZXRB
dHRyaWJMb2NhdGlvbik7CiAgICAgZ2V0QnVmZmVyUGFyYW1ldGVyaXYgPSBHRVRfUFJPQ19BRERS
RVNTKGdsR2V0QnVmZmVyUGFyYW1ldGVyaXYpOwogICAgIGdldEZyYW1lYnVmZmVyQXR0YWNobWVu
dFBhcmFtZXRlcml2ID0gR0VUX1BST0NfQUREUkVTUyhnbEdldEZyYW1lYnVmZmVyQXR0YWNobWVu
dFBhcmFtZXRlcml2KTsKQEAgLTU4Miw3ICs1ODUsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNE
OjphY3RpdmVUZXh0dXJlKHVuc2lnbmVkIGxvbmcgdGV4dHVyZSkKICAgICBtX2ludGVybmFsLT5h
Y3RpdmVUZXh0dXJlKHRleHR1cmUpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjphdHRh
Y2hTaGFkZXIoUGxhdGZvcm1HTE9iamVjdCBwcm9ncmFtLCBQbGF0Zm9ybUdMT2JqZWN0IHNoYWRl
cikKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OmF0dGFjaFNoYWRlcihQbGF0Zm9ybTNET2JqZWN0
IHByb2dyYW0sIFBsYXRmb3JtM0RPYmplY3Qgc2hhZGVyKQogewogICAgIEFTU0VSVChwcm9ncmFt
KTsKICAgICBBU1NFUlQoc2hhZGVyKTsKQEAgLTU5MCwzMyArNTkzLDQ0IEBAIHZvaWQgR3JhcGhp
Y3NDb250ZXh0M0Q6OmF0dGFjaFNoYWRlcihQbGF0Zm9ybUdMT2JqZWN0IHByb2dyYW0sIFBsYXRm
b3JtR0xPYmplY3QKICAgICBtX2ludGVybmFsLT5hdHRhY2hTaGFkZXIoKEdMdWludCkgcHJvZ3Jh
bSwgKEdMdWludCkgc2hhZGVyKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6YmluZEF0
dHJpYkxvY2F0aW9uKFBsYXRmb3JtR0xPYmplY3QgcHJvZ3JhbSwgdW5zaWduZWQgbG9uZyBpbmRl
eCwgY29uc3QgU3RyaW5nJiBuYW1lKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6Z2V0QXR0YWNo
ZWRTaGFkZXJzKFBsYXRmb3JtM0RPYmplY3QgcHJvZ3JhbSwgaW50IG1heENvdW50LCBpbnQqIGNv
dW50LCB1bnNpZ25lZCBpbnQqIHNoYWRlcnMpCit7CisgICAgaWYgKCFwcm9ncmFtKSB7CisgICAg
ICAgIHN5bnRoZXNpemVHTEVycm9yKElOVkFMSURfVkFMVUUpOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCisgICAgbV9pbnRlcm5hbC0+bV9nbFdpZGdldC0+bWFrZUN1cnJlbnQoKTsKKyAgICBn
ZXRBdHRhY2hlZFNoYWRlcnMoKEdMdWludCkgcHJvZ3JhbSwgbWF4Q291bnQsIGNvdW50LCBzaGFk
ZXJzKTsKK30KKwordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6YmluZEF0dHJpYkxvY2F0aW9uKFBs
YXRmb3JtM0RPYmplY3QgcHJvZ3JhbSwgdW5zaWduZWQgbG9uZyBpbmRleCwgY29uc3QgU3RyaW5n
JiBuYW1lKQogewogICAgIEFTU0VSVChwcm9ncmFtKTsKICAgICBtX2ludGVybmFsLT5tX2dsV2lk
Z2V0LT5tYWtlQ3VycmVudCgpOwogICAgIG1faW50ZXJuYWwtPmJpbmRBdHRyaWJMb2NhdGlvbigo
R0x1aW50KSBwcm9ncmFtLCBpbmRleCwgbmFtZS51dGY4KCkuZGF0YSgpKTsKIH0KIAotdm9pZCBH
cmFwaGljc0NvbnRleHQzRDo6YmluZEJ1ZmZlcih1bnNpZ25lZCBsb25nIHRhcmdldCwgUGxhdGZv
cm1HTE9iamVjdCBidWZmZXIpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjpiaW5kQnVmZmVyKHVu
c2lnbmVkIGxvbmcgdGFyZ2V0LCBQbGF0Zm9ybTNET2JqZWN0IGJ1ZmZlcikKIHsKICAgICBtX2lu
dGVybmFsLT5tX2dsV2lkZ2V0LT5tYWtlQ3VycmVudCgpOwotICAgIG1faW50ZXJuYWwtPmJpbmRC
dWZmZXIodGFyZ2V0LCAoR0x1aW50KSBidWZmZXItPm9iamVjdCgpKTsKKyAgICBtX2ludGVybmFs
LT5iaW5kQnVmZmVyKHRhcmdldCwgKEdMdWludCkgYnVmZmVyKTsKIH0KIAotdm9pZCBHcmFwaGlj
c0NvbnRleHQzRDo6YmluZEZyYW1lYnVmZmVyKHVuc2lnbmVkIGxvbmcgdGFyZ2V0LCBQbGF0Zm9y
bUdMT2JqZWN0IGJ1ZmZlcikKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OmJpbmRGcmFtZWJ1ZmZl
cih1bnNpZ25lZCBsb25nIHRhcmdldCwgUGxhdGZvcm0zRE9iamVjdCBidWZmZXIpCiB7CiAgICAg
bV9pbnRlcm5hbC0+bV9nbFdpZGdldC0+bWFrZUN1cnJlbnQoKTsKICAgICBtX2ludGVybmFsLT5t
X2N1cnJlbnRGYm8gPSBidWZmZXIgPyAoR0x1aW50KSBidWZmZXIgOiBtX2ludGVybmFsLT5tX21h
aW5GYm87CiAgICAgbV9pbnRlcm5hbC0+YmluZEZyYW1lYnVmZmVyKHRhcmdldCwgbV9pbnRlcm5h
bC0+bV9jdXJyZW50RmJvKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6YmluZFJlbmRl
cmJ1ZmZlcih1bnNpZ25lZCBsb25nIHRhcmdldCwgUGxhdGZvcm1HTE9iamVjdCByZW5kZXJidWZm
ZXIpCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjpiaW5kUmVuZGVyYnVmZmVyKHVuc2lnbmVkIGxv
bmcgdGFyZ2V0LCBQbGF0Zm9ybTNET2JqZWN0IHJlbmRlcmJ1ZmZlcikKIHsKICAgICBtX2ludGVy
bmFsLT5tX2dsV2lkZ2V0LT5tYWtlQ3VycmVudCgpOwogICAgIG1faW50ZXJuYWwtPmJpbmRSZW5k
ZXJidWZmZXIodGFyZ2V0LCAoR0x1aW50KSByZW5kZXJidWZmZXIpOwogfQogCi12b2lkIEdyYXBo
aWNzQ29udGV4dDNEOjpiaW5kVGV4dHVyZSh1bnNpZ25lZCBsb25nIHRhcmdldCwgUGxhdGZvcm1H
TE9iamVjdCB0ZXh0dXJlKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6YmluZFRleHR1cmUodW5z
aWduZWQgbG9uZyB0YXJnZXQsIFBsYXRmb3JtM0RPYmplY3QgdGV4dHVyZSkKIHsKICAgICBtX2lu
dGVybmFsLT5tX2dsV2lkZ2V0LT5tYWtlQ3VycmVudCgpOwogICAgIGdsQmluZFRleHR1cmUodGFy
Z2V0LCAoR0x1aW50KSB0ZXh0dXJlKTsKQEAgLTY1OCw2ICs2NzIsMTUgQEAgdm9pZCBHcmFwaGlj
c0NvbnRleHQzRDo6YnVmZmVyRGF0YSh1bnNpZ25lZCBsb25nIHRhcmdldCwgaW50IHNpemUsIHVu
c2lnbmVkIGxvbmcKICAgICBtX2ludGVybmFsLT5idWZmZXJEYXRhKHRhcmdldCwgc2l6ZSwgLyog
ZGF0YSAqLyAwLCB1c2FnZSk7CiB9CiAKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OmJ1ZmZlckRh
dGEodW5zaWduZWQgbG9uZyB0YXJnZXQsIEFycmF5QnVmZmVyKiBhcnJheSwgdW5zaWduZWQgbG9u
ZyB1c2FnZSkKK3sKKyAgICBpZiAoIWFycmF5IHx8ICFhcnJheS0+Ynl0ZUxlbmd0aCgpKQorICAg
ICAgICByZXR1cm47CisKKyAgICBtX2ludGVybmFsLT5tX2dsV2lkZ2V0LT5tYWtlQ3VycmVudCgp
OworICAgIG1faW50ZXJuYWwtPmJ1ZmZlckRhdGEodGFyZ2V0LCBhcnJheS0+Ynl0ZUxlbmd0aCgp
LCBhcnJheS0+ZGF0YSgpLCB1c2FnZSk7Cit9CisKIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OmJ1
ZmZlckRhdGEodW5zaWduZWQgbG9uZyB0YXJnZXQsIEFycmF5QnVmZmVyVmlldyogYXJyYXksIHVu
c2lnbmVkIGxvbmcgdXNhZ2UpCiB7CiAgICAgaWYgKCFhcnJheSB8fCAhYXJyYXktPmxlbmd0aCgp
KQpAQCAtNjY3LDYgKzY5MCwxNSBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjpidWZmZXJEYXRh
KHVuc2lnbmVkIGxvbmcgdGFyZ2V0LCBBcnJheUJ1ZmZlclZpZXcqIGFycmF5LAogICAgIG1faW50
ZXJuYWwtPmJ1ZmZlckRhdGEodGFyZ2V0LCBhcnJheS0+Ynl0ZUxlbmd0aCgpLCBhcnJheS0+YmFz
ZUFkZHJlc3MoKSwgdXNhZ2UpOwogfQogCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjpidWZmZXJT
dWJEYXRhKHVuc2lnbmVkIGxvbmcgdGFyZ2V0LCBsb25nIG9mZnNldCwgQXJyYXlCdWZmZXIqIGFy
cmF5KQoreworICAgIGlmICghYXJyYXkgfHwgIWFycmF5LT5ieXRlTGVuZ3RoKCkpCisgICAgICAg
IHJldHVybjsKKworICAgIG1faW50ZXJuYWwtPm1fZ2xXaWRnZXQtPm1ha2VDdXJyZW50KCk7Cisg
ICAgbV9pbnRlcm5hbC0+YnVmZmVyU3ViRGF0YSh0YXJnZXQsIG9mZnNldCwgYXJyYXktPmJ5dGVM
ZW5ndGgoKSwgYXJyYXktPmRhdGEoKSk7Cit9CisKIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OmJ1
ZmZlclN1YkRhdGEodW5zaWduZWQgbG9uZyB0YXJnZXQsIGxvbmcgb2Zmc2V0LCBBcnJheUJ1ZmZl
clZpZXcqIGFycmF5KQogewogICAgIGlmICghYXJyYXkgfHwgIWFycmF5LT5sZW5ndGgoKSkKQEAg
LTcxNiw3ICs3NDgsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjpjb2xvck1hc2soYm9vbCBy
ZWQsIGJvb2wgZ3JlZW4sIGJvb2wgYmx1ZSwgYm9vbCBhbHBoYSkKICAgICBnbENvbG9yTWFzayhy
ZWQsIGdyZWVuLCBibHVlLCBhbHBoYSk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OmNv
bXBpbGVTaGFkZXIoUGxhdGZvcm1HTE9iamVjdCBzaGFkZXIpCit2b2lkIEdyYXBoaWNzQ29udGV4
dDNEOjpjb21waWxlU2hhZGVyKFBsYXRmb3JtM0RPYmplY3Qgc2hhZGVyKQogewogICAgIEFTU0VS
VChzaGFkZXIpOwogICAgIG1faW50ZXJuYWwtPm1fZ2xXaWRnZXQtPm1ha2VDdXJyZW50KCk7CkBA
IC03NjMsNyArNzk1LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6ZGVwdGhSYW5nZShkb3Vi
bGUgek5lYXIsIGRvdWJsZSB6RmFyKQogI2VuZGlmCiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0
M0Q6OmRldGFjaFNoYWRlcihQbGF0Zm9ybUdMT2JqZWN0IHByb2dyYW0sIFBsYXRmb3JtR0xPYmpl
Y3Qgc2hhZGVyKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6ZGV0YWNoU2hhZGVyKFBsYXRmb3Jt
M0RPYmplY3QgcHJvZ3JhbSwgUGxhdGZvcm0zRE9iamVjdCBzaGFkZXIpCiB7CiAgICAgQVNTRVJU
KHByb2dyYW0pOwogICAgIEFTU0VSVChzaGFkZXIpOwpAQCAtODE5LDEzICs4NTEsMTMgQEAgdm9p
ZCBHcmFwaGljc0NvbnRleHQzRDo6Zmx1c2goKQogICAgIGdsRmx1c2goKTsKIH0KIAotdm9pZCBH
cmFwaGljc0NvbnRleHQzRDo6ZnJhbWVidWZmZXJSZW5kZXJidWZmZXIodW5zaWduZWQgbG9uZyB0
YXJnZXQsIHVuc2lnbmVkIGxvbmcgYXR0YWNobWVudCwgdW5zaWduZWQgbG9uZyByZW5kZXJidWZm
ZXJ0YXJnZXQsIFBsYXRmb3JtR0xPYmplY3QgYnVmZmVyKQordm9pZCBHcmFwaGljc0NvbnRleHQz
RDo6ZnJhbWVidWZmZXJSZW5kZXJidWZmZXIodW5zaWduZWQgbG9uZyB0YXJnZXQsIHVuc2lnbmVk
IGxvbmcgYXR0YWNobWVudCwgdW5zaWduZWQgbG9uZyByZW5kZXJidWZmZXJ0YXJnZXQsIFBsYXRm
b3JtM0RPYmplY3QgYnVmZmVyKQogewogICAgIG1faW50ZXJuYWwtPm1fZ2xXaWRnZXQtPm1ha2VD
dXJyZW50KCk7CiAgICAgbV9pbnRlcm5hbC0+ZnJhbWVidWZmZXJSZW5kZXJidWZmZXIodGFyZ2V0
LCBhdHRhY2htZW50LCByZW5kZXJidWZmZXJ0YXJnZXQsIChHTHVpbnQpIGJ1ZmZlcik7CiB9CiAK
LXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OmZyYW1lYnVmZmVyVGV4dHVyZTJEKHVuc2lnbmVkIGxv
bmcgdGFyZ2V0LCB1bnNpZ25lZCBsb25nIGF0dGFjaG1lbnQsIHVuc2lnbmVkIGxvbmcgdGV4dGFy
Z2V0LCBQbGF0Zm9ybUdMT2JqZWN0IHRleHR1cmUsIGxvbmcgbGV2ZWwpCit2b2lkIEdyYXBoaWNz
Q29udGV4dDNEOjpmcmFtZWJ1ZmZlclRleHR1cmUyRCh1bnNpZ25lZCBsb25nIHRhcmdldCwgdW5z
aWduZWQgbG9uZyBhdHRhY2htZW50LCB1bnNpZ25lZCBsb25nIHRleHRhcmdldCwgUGxhdGZvcm0z
RE9iamVjdCB0ZXh0dXJlLCBsb25nIGxldmVsKQogewogICAgIG1faW50ZXJuYWwtPm1fZ2xXaWRn
ZXQtPm1ha2VDdXJyZW50KCk7CiAgICAgbV9pbnRlcm5hbC0+ZnJhbWVidWZmZXJUZXh0dXJlMkQo
dGFyZ2V0LCBhdHRhY2htZW50LCB0ZXh0YXJnZXQsIChHTHVpbnQpIHRleHR1cmUsIGxldmVsKTsK
QEAgLTg0Myw3ICs4NzUsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjpnZW5lcmF0ZU1pcG1h
cCh1bnNpZ25lZCBsb25nIHRhcmdldCkKICAgICBtX2ludGVybmFsLT5nZW5lcmF0ZU1pcG1hcCh0
YXJnZXQpOwogfQogCi1ib29sIEdyYXBoaWNzQ29udGV4dDNEOjpnZXRBY3RpdmVBdHRyaWIoUGxh
dGZvcm1HTE9iamVjdCBwcm9ncmFtLCB1bnNpZ25lZCBsb25nIGluZGV4LCBBY3RpdmVJbmZvJiBp
bmZvKQorYm9vbCBHcmFwaGljc0NvbnRleHQzRDo6Z2V0QWN0aXZlQXR0cmliKFBsYXRmb3JtM0RP
YmplY3QgcHJvZ3JhbSwgdW5zaWduZWQgbG9uZyBpbmRleCwgQWN0aXZlSW5mbyYgaW5mbykKIHsK
ICAgICBpZiAoIXByb2dyYW0pIHsKICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoSU5WQUxJRF9W
QUxVRSk7CkBAIC04NzUsNyArOTA3LDcgQEAgYm9vbCBHcmFwaGljc0NvbnRleHQzRDo6Z2V0QWN0
aXZlQXR0cmliKFBsYXRmb3JtR0xPYmplY3QgcHJvZ3JhbSwgdW5zaWduZWQgbG9uZwogICAgIHJl
dHVybiB0cnVlOwogfQogICAgIAotYm9vbCBHcmFwaGljc0NvbnRleHQzRDo6Z2V0QWN0aXZlVW5p
Zm9ybShQbGF0Zm9ybUdMT2JqZWN0IHByb2dyYW0sIHVuc2lnbmVkIGxvbmcgaW5kZXgsIEFjdGl2
ZUluZm8mIGluZm8pCitib29sIEdyYXBoaWNzQ29udGV4dDNEOjpnZXRBY3RpdmVVbmlmb3JtKFBs
YXRmb3JtM0RPYmplY3QgcHJvZ3JhbSwgdW5zaWduZWQgbG9uZyBpbmRleCwgQWN0aXZlSW5mbyYg
aW5mbykKIHsKICAgICBpZiAoIXByb2dyYW0pIHsKICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3Io
SU5WQUxJRF9WQUxVRSk7CkBAIC05MDcsNyArOTM5LDcgQEAgYm9vbCBHcmFwaGljc0NvbnRleHQz
RDo6Z2V0QWN0aXZlVW5pZm9ybShQbGF0Zm9ybUdMT2JqZWN0IHByb2dyYW0sIHVuc2lnbmVkIGxv
bmcKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotaW50IEdyYXBoaWNzQ29udGV4dDNEOjpnZXRBdHRy
aWJMb2NhdGlvbihQbGF0Zm9ybUdMT2JqZWN0IHByb2dyYW0sIGNvbnN0IFN0cmluZyYgbmFtZSkK
K2ludCBHcmFwaGljc0NvbnRleHQzRDo6Z2V0QXR0cmliTG9jYXRpb24oUGxhdGZvcm0zRE9iamVj
dCBwcm9ncmFtLCBjb25zdCBTdHJpbmcmIG5hbWUpCiB7CiAgICAgaWYgKCFwcm9ncmFtKQogICAg
ICAgICByZXR1cm4gLTE7CkBAIC05NDYsNyArOTc4LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQz
RDo6aGludCh1bnNpZ25lZCBsb25nIHRhcmdldCwgdW5zaWduZWQgbG9uZyBtb2RlKQogICAgIGds
SGludCh0YXJnZXQsIG1vZGUpOwogfQogCi1ib29sIEdyYXBoaWNzQ29udGV4dDNEOjppc0J1ZmZl
cihQbGF0Zm9ybUdMT2JqZWN0IGJ1ZmZlcikKK2Jvb2wgR3JhcGhpY3NDb250ZXh0M0Q6OmlzQnVm
ZmVyKFBsYXRmb3JtM0RPYmplY3QgYnVmZmVyKQogewogICAgIGlmICghYnVmZmVyKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CkBAIC05NjEsNyArOTkzLDcgQEAgYm9vbCBHcmFwaGljc0NvbnRleHQz
RDo6aXNFbmFibGVkKHVuc2lnbmVkIGxvbmcgY2FwKQogICAgIHJldHVybiBnbElzRW5hYmxlZChj
YXApOwogfQogCi1ib29sIEdyYXBoaWNzQ29udGV4dDNEOjppc0ZyYW1lYnVmZmVyKFBsYXRmb3Jt
R0xPYmplY3QgZnJhbWVidWZmZXIpCitib29sIEdyYXBoaWNzQ29udGV4dDNEOjppc0ZyYW1lYnVm
ZmVyKFBsYXRmb3JtM0RPYmplY3QgZnJhbWVidWZmZXIpCiB7CiAgICAgaWYgKCFmcmFtZWJ1ZmZl
cikKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtOTcwLDcgKzEwMDIsNyBAQCBib29sIEdyYXBo
aWNzQ29udGV4dDNEOjppc0ZyYW1lYnVmZmVyKFBsYXRmb3JtR0xPYmplY3QgZnJhbWVidWZmZXIp
CiAgICAgcmV0dXJuIG1faW50ZXJuYWwtPmlzRnJhbWVidWZmZXIoKEdMdWludCkgZnJhbWVidWZm
ZXIpOwogfQogCi1ib29sIEdyYXBoaWNzQ29udGV4dDNEOjppc1Byb2dyYW0oUGxhdGZvcm1HTE9i
amVjdCBwcm9ncmFtKQorYm9vbCBHcmFwaGljc0NvbnRleHQzRDo6aXNQcm9ncmFtKFBsYXRmb3Jt
M0RPYmplY3QgcHJvZ3JhbSkKIHsKICAgICBpZiAoIXByb2dyYW0pCiAgICAgICAgIHJldHVybiBm
YWxzZTsKQEAgLTk3OSw3ICsxMDExLDcgQEAgYm9vbCBHcmFwaGljc0NvbnRleHQzRDo6aXNQcm9n
cmFtKFBsYXRmb3JtR0xPYmplY3QgcHJvZ3JhbSkKICAgICByZXR1cm4gbV9pbnRlcm5hbC0+aXNQ
cm9ncmFtKChHTHVpbnQpIHByb2dyYW0pOwogfQogCi1ib29sIEdyYXBoaWNzQ29udGV4dDNEOjpp
c1JlbmRlcmJ1ZmZlcihQbGF0Zm9ybUdMT2JqZWN0IHJlbmRlcmJ1ZmZlcikKK2Jvb2wgR3JhcGhp
Y3NDb250ZXh0M0Q6OmlzUmVuZGVyYnVmZmVyKFBsYXRmb3JtM0RPYmplY3QgcmVuZGVyYnVmZmVy
KQogewogICAgIGlmICghcmVuZGVyYnVmZmVyKQogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC05
ODgsNyArMTAyMCw3IEBAIGJvb2wgR3JhcGhpY3NDb250ZXh0M0Q6OmlzUmVuZGVyYnVmZmVyKFBs
YXRmb3JtR0xPYmplY3QgcmVuZGVyYnVmZmVyKQogICAgIHJldHVybiBtX2ludGVybmFsLT5pc1Jl
bmRlcmJ1ZmZlcigoR0x1aW50KSByZW5kZXJidWZmZXIpOwogfQogCi1ib29sIEdyYXBoaWNzQ29u
dGV4dDNEOjppc1NoYWRlcihQbGF0Zm9ybUdMT2JqZWN0IHNoYWRlcikKK2Jvb2wgR3JhcGhpY3ND
b250ZXh0M0Q6OmlzU2hhZGVyKFBsYXRmb3JtM0RPYmplY3Qgc2hhZGVyKQogewogICAgIGlmICgh
c2hhZGVyKQogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC05OTcsNyArMTAyOSw3IEBAIGJvb2wg
R3JhcGhpY3NDb250ZXh0M0Q6OmlzU2hhZGVyKFBsYXRmb3JtR0xPYmplY3Qgc2hhZGVyKQogICAg
IHJldHVybiBtX2ludGVybmFsLT5pc1NoYWRlcigoR0x1aW50KSBzaGFkZXIpOwogfQogCi1ib29s
IEdyYXBoaWNzQ29udGV4dDNEOjppc1RleHR1cmUoUGxhdGZvcm1HTE9iamVjdCB0ZXh0dXJlKQor
Ym9vbCBHcmFwaGljc0NvbnRleHQzRDo6aXNUZXh0dXJlKFBsYXRmb3JtM0RPYmplY3QgdGV4dHVy
ZSkKIHsKICAgICBpZiAoIXRleHR1cmUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTEwMTIs
NyArMTA0NCw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OmxpbmVXaWR0aChkb3VibGUgd2lk
dGgpCiAgICAgZ2xMaW5lV2lkdGgoc3RhdGljX2Nhc3Q8ZmxvYXQ+KHdpZHRoKSk7CiB9CiAKLXZv
aWQgR3JhcGhpY3NDb250ZXh0M0Q6OmxpbmtQcm9ncmFtKFBsYXRmb3JtR0xPYmplY3QgcHJvZ3Jh
bSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OmxpbmtQcm9ncmFtKFBsYXRmb3JtM0RPYmplY3Qg
cHJvZ3JhbSkKIHsKICAgICBBU1NFUlQocHJvZ3JhbSk7CiAgICAgbV9pbnRlcm5hbC0+bV9nbFdp
ZGdldC0+bWFrZUN1cnJlbnQoKTsKQEAgLTEwNjUsNyArMTA5Nyw3IEBAIHZvaWQgR3JhcGhpY3ND
b250ZXh0M0Q6OnNjaXNzb3IobG9uZyB4LCBsb25nIHksIHVuc2lnbmVkIGxvbmcgd2lkdGgsIHVu
c2lnbmVkIGxvCiAgICAgZ2xTY2lzc29yKHgsIHksIHdpZHRoLCBoZWlnaHQpOwogfQogCi12b2lk
IEdyYXBoaWNzQ29udGV4dDNEOjpzaGFkZXJTb3VyY2UoUGxhdGZvcm1HTE9iamVjdCBzaGFkZXIs
IGNvbnN0IFN0cmluZyYgc291cmNlKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6c2hhZGVyU291
cmNlKFBsYXRmb3JtM0RPYmplY3Qgc2hhZGVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZSkKIHsKICAg
ICBBU1NFUlQoc2hhZGVyKTsKIApAQCAtMTI0Nyw3ICsxMjc5LDcgQEAgdm9pZCBHcmFwaGljc0Nv
bnRleHQzRDo6dW5pZm9ybU1hdHJpeDRmdihsb25nIGxvY2F0aW9uLCBib29sIHRyYW5zcG9zZSwg
ZmxvYXQqIGEKICAgICBtX2ludGVybmFsLT51bmlmb3JtTWF0cml4NGZ2KGxvY2F0aW9uLCBzaXpl
LCB0cmFuc3Bvc2UsIGFycmF5KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dXNlUHJv
Z3JhbShQbGF0Zm9ybUdMT2JqZWN0IHByb2dyYW0pCit2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1
c2VQcm9ncmFtKFBsYXRmb3JtM0RPYmplY3QgcHJvZ3JhbSkKIHsKICAgICBBU1NFUlQocHJvZ3Jh
bSk7CiAgICAgCkBAIC0xMjU1LDcgKzEyODcsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp1
c2VQcm9ncmFtKFBsYXRmb3JtR0xPYmplY3QgcHJvZ3JhbSkKICAgICBtX2ludGVybmFsLT51c2VQ
cm9ncmFtKChHTHVpbnQpIHByb2dyYW0pOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp2
YWxpZGF0ZVByb2dyYW0oUGxhdGZvcm1HTE9iamVjdCBwcm9ncmFtKQordm9pZCBHcmFwaGljc0Nv
bnRleHQzRDo6dmFsaWRhdGVQcm9ncmFtKFBsYXRmb3JtM0RPYmplY3QgcHJvZ3JhbSkKIHsKICAg
ICBBU1NFUlQocHJvZ3JhbSk7CiAgICAgCkBAIC0xMzUzLDEzICsxMzg1LDEzIEBAIHZvaWQgR3Jh
cGhpY3NDb250ZXh0M0Q6OmdldEludGVnZXJ2KHVuc2lnbmVkIGxvbmcgcGFyYW1OYW1lLCBpbnQq
IHZhbHVlKQogICAgIGdsR2V0SW50ZWdlcnYocGFyYW1OYW1lLCB2YWx1ZSk7CiB9CiAKLXZvaWQg
R3JhcGhpY3NDb250ZXh0M0Q6OmdldFByb2dyYW1pdihQbGF0Zm9ybUdMT2JqZWN0IHByb2dyYW0s
IHVuc2lnbmVkIGxvbmcgcGFyYW1OYW1lLCBpbnQqIHZhbHVlKQordm9pZCBHcmFwaGljc0NvbnRl
eHQzRDo6Z2V0UHJvZ3JhbWl2KFBsYXRmb3JtM0RPYmplY3QgcHJvZ3JhbSwgdW5zaWduZWQgbG9u
ZyBwYXJhbU5hbWUsIGludCogdmFsdWUpCiB7CiAgICAgbV9pbnRlcm5hbC0+bV9nbFdpZGdldC0+
bWFrZUN1cnJlbnQoKTsKICAgICBtX2ludGVybmFsLT5nZXRQcm9ncmFtaXYoKEdMdWludCkgcHJv
Z3JhbSwgcGFyYW1OYW1lLCB2YWx1ZSk7CiB9CiAKLVN0cmluZyBHcmFwaGljc0NvbnRleHQzRDo6
Z2V0UHJvZ3JhbUluZm9Mb2coUGxhdGZvcm1HTE9iamVjdCBwcm9ncmFtKQorU3RyaW5nIEdyYXBo
aWNzQ29udGV4dDNEOjpnZXRQcm9ncmFtSW5mb0xvZyhQbGF0Zm9ybTNET2JqZWN0IHByb2dyYW0p
CiB7CiAgICAgbV9pbnRlcm5hbC0+bV9nbFdpZGdldC0+bWFrZUN1cnJlbnQoKTsKIApAQCAtMTM4
NiwxNCArMTQxOCwxNCBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjpnZXRSZW5kZXJidWZmZXJQ
YXJhbWV0ZXJpdih1bnNpZ25lZCBsb25nIHRhcmdldCwgdW5zaWduZQogICAgIG1faW50ZXJuYWwt
PmdldFJlbmRlcmJ1ZmZlclBhcmFtZXRlcml2KHRhcmdldCwgcGFyYW1OYW1lLCB2YWx1ZSk7CiB9
CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OmdldFNoYWRlcml2KFBsYXRmb3JtR0xPYmplY3Qg
c2hhZGVyLCB1bnNpZ25lZCBsb25nIHBhcmFtTmFtZSwgaW50KiB2YWx1ZSkKK3ZvaWQgR3JhcGhp
Y3NDb250ZXh0M0Q6OmdldFNoYWRlcml2KFBsYXRmb3JtM0RPYmplY3Qgc2hhZGVyLCB1bnNpZ25l
ZCBsb25nIHBhcmFtTmFtZSwgaW50KiB2YWx1ZSkKIHsKICAgICBBU1NFUlQoc2hhZGVyKTsKICAg
ICBtX2ludGVybmFsLT5tX2dsV2lkZ2V0LT5tYWtlQ3VycmVudCgpOwogICAgIG1faW50ZXJuYWwt
PmdldFNoYWRlcml2KChHTHVpbnQpIHNoYWRlciwgcGFyYW1OYW1lLCB2YWx1ZSk7CiB9CiAKLVN0
cmluZyBHcmFwaGljc0NvbnRleHQzRDo6Z2V0U2hhZGVySW5mb0xvZyhQbGF0Zm9ybUdMT2JqZWN0
IHNoYWRlcikKK1N0cmluZyBHcmFwaGljc0NvbnRleHQzRDo6Z2V0U2hhZGVySW5mb0xvZyhQbGF0
Zm9ybTNET2JqZWN0IHNoYWRlcikKIHsKICAgICBtX2ludGVybmFsLT5tX2dsV2lkZ2V0LT5tYWtl
Q3VycmVudCgpOwogCkBAIC0xNDEzLDcgKzE0NDUsNyBAQCBTdHJpbmcgR3JhcGhpY3NDb250ZXh0
M0Q6OmdldFNoYWRlckluZm9Mb2coUGxhdGZvcm1HTE9iamVjdCBzaGFkZXIpCiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIAotU3RyaW5nIEdyYXBoaWNzQ29udGV4dDNEOjpnZXRTaGFkZXJTb3VyY2Uo
UGxhdGZvcm1HTE9iamVjdCBzaGFkZXIpCitTdHJpbmcgR3JhcGhpY3NDb250ZXh0M0Q6OmdldFNo
YWRlclNvdXJjZShQbGF0Zm9ybTNET2JqZWN0IHNoYWRlcikKIHsKICAgICBtX2ludGVybmFsLT5t
X2dsV2lkZ2V0LT5tYWtlQ3VycmVudCgpOwogCkBAIC0xNDQ1LDE5ICsxNDc3LDE5IEBAIHZvaWQg
R3JhcGhpY3NDb250ZXh0M0Q6OmdldFRleFBhcmFtZXRlcml2KHVuc2lnbmVkIGxvbmcgdGFyZ2V0
LCB1bnNpZ25lZCBsb25nIHBhCiAgICAgZ2xHZXRUZXhQYXJhbWV0ZXJpdih0YXJnZXQsIHBhcmFt
TmFtZSwgdmFsdWUpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjpnZXRVbmlmb3JtZnYo
UGxhdGZvcm1HTE9iamVjdCBwcm9ncmFtLCBsb25nIGxvY2F0aW9uLCBmbG9hdCogdmFsdWUpCit2
b2lkIEdyYXBoaWNzQ29udGV4dDNEOjpnZXRVbmlmb3JtZnYoUGxhdGZvcm0zRE9iamVjdCBwcm9n
cmFtLCBsb25nIGxvY2F0aW9uLCBmbG9hdCogdmFsdWUpCiB7CiAgICAgbV9pbnRlcm5hbC0+bV9n
bFdpZGdldC0+bWFrZUN1cnJlbnQoKTsKICAgICBtX2ludGVybmFsLT5nZXRVbmlmb3JtZnYoKEdM
dWludCkgcHJvZ3JhbSwgbG9jYXRpb24sIHZhbHVlKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRl
eHQzRDo6Z2V0VW5pZm9ybWl2KFBsYXRmb3JtR0xPYmplY3QgcHJvZ3JhbSwgbG9uZyBsb2NhdGlv
biwgaW50KiB2YWx1ZSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OmdldFVuaWZvcm1pdihQbGF0
Zm9ybTNET2JqZWN0IHByb2dyYW0sIGxvbmcgbG9jYXRpb24sIGludCogdmFsdWUpCiB7CiAgICAg
bV9pbnRlcm5hbC0+bV9nbFdpZGdldC0+bWFrZUN1cnJlbnQoKTsKICAgICBtX2ludGVybmFsLT5n
ZXRVbmlmb3JtaXYoKEdMdWludCkgcHJvZ3JhbSwgbG9jYXRpb24sIHZhbHVlKTsKIH0KIAotbG9u
ZyBHcmFwaGljc0NvbnRleHQzRDo6Z2V0VW5pZm9ybUxvY2F0aW9uKFBsYXRmb3JtR0xPYmplY3Qg
cHJvZ3JhbSwgY29uc3QgU3RyaW5nJiBuYW1lKQorbG9uZyBHcmFwaGljc0NvbnRleHQzRDo6Z2V0
VW5pZm9ybUxvY2F0aW9uKFBsYXRmb3JtM0RPYmplY3QgcHJvZ3JhbSwgY29uc3QgU3RyaW5nJiBu
YW1lKQogewogICAgIEFTU0VSVChwcm9ncmFtKTsKICAgICAKQEAgLTE2MjEsNyArMTY1Myw3IEBA
IGJvb2wgR3JhcGhpY3NDb250ZXh0M0Q6OmdldEltYWdlRGF0YShJbWFnZSogaW1hZ2UsCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKIAogICAgIEFscGhhT3AgbmVlZGVkQWxwaGFPcCA9IGtBbHBoYURv
Tm90aGluZzsKLSAgICBpZiAoIXByZW11bHRpcGx5QWxwaGEgJiYgKmhhc0FscGhhQ2hhbm5lbCkK
KyAgICBpZiAoIXByZW11bHRpcGx5QWxwaGEpCiAgICAgICAgIC8vIEZJWE1FOiBtdXN0IGZldGNo
IHRoZSBpbWFnZSBkYXRhIGJlZm9yZSB0aGUgcHJlbXVsdGlwbGljYXRpb24gc3RlcAogICAgICAg
ICBuZWVkZWRBbHBoYU9wID0ga0FscGhhRG9Vbm11bHRpcGx5OwogICAgIFFJbWFnZSBuYXRpdmVJ
bWFnZSA9IG5hdGl2ZVBpeG1hcC0+dG9JbWFnZSgpLmNvbnZlcnRUb0Zvcm1hdChRSW1hZ2U6OkZv
cm1hdF9BUkdCMzIpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9H
cmFwaGljc0xheWVyUXQuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NM
YXllclF0LmgKaW5kZXggZjgxYmQzZC4uNDI4MmU2NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0xheWVyUXQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3F0L0dyYXBoaWNzTGF5ZXJRdC5oCkBAIC0yMCw2ICsyMCw5IEBACiAjaWZuZGVm
IEdyYXBoaWNzTGF5ZXJRdF9oCiAjZGVmaW5lIEdyYXBoaWNzTGF5ZXJRdF9oCiAKKyNpZiBFTkFC
TEUoM0RfQ0FOVkFTKQorI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dDNELmgiCisjZW5kaWYKICNp
bmNsdWRlICJHcmFwaGljc0xheWVyLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllckNsaWVudC5o
IgogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>