<?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>163856</bug_id>
          
          <creation_ts>2016-10-22 14:41:35 -0700</creation_ts>
          <short_desc>WebGLRenderingContextBase.texImage2D() should use a union instead of overloading</short_desc>
          <delta_ts>2016-10-22 16:31:32 -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>Canvas</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=163853</see_also>
          <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>163791</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>graouts</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1243417</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-10-22 14:41:35 -0700</bug_when>
    <thetext>WebGLRenderingContextBase.texImage2D() should use a union instead of overloading:
- https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243419</commentid>
    <comment_count>1</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-10-22 14:57:21 -0700</bug_when>
    <thetext>You don’t *really* have to wait. I don’t mind merging this with my exception work on the same functions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243420</commentid>
    <comment_count>2</comment_count>
      <attachid>292509</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-10-22 15:08:15 -0700</bug_when>
    <thetext>Created attachment 292509
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243439</commentid>
    <comment_count>3</comment_count>
      <attachid>292509</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-10-22 16:31:26 -0700</bug_when>
    <thetext>Comment on attachment 292509
Patch

Clearing flags on attachment: 292509

Committed r207719: &lt;http://trac.webkit.org/changeset/207719&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243440</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-10-22 16:31:32 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>292509</attachid>
            <date>2016-10-22 15:08:15 -0700</date>
            <delta_ts>2016-10-22 16:31:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163856-20161022150434.patch</filename>
            <type>text/plain</type>
            <size>19359</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA3NzE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTc5YTM0MTgyN2I5OWUy
OWE4NzZiOTdjNDA0MDVmZTk5ZWEyYjNkMS4uNDgzYWQ5OGEzYmY4ZWVmMGIzOGU1NjVlYWE0OWRl
MTdiNzFiZTA1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE2LTEwLTIyICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZS50ZXhJbWFnZTJEKCkgc2hvdWxkIHVzZSBhIHVuaW9uIGluc3RlYWQgb2Ygb3Zlcmxv
YWRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2
Mzg1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdl
YkdMUmVuZGVyaW5nQ29udGV4dEJhc2UudGV4SW1hZ2UyRCgpIHNob3VsZCB1c2UgYSB1bmlvbiBp
bnN0ZWFkIG9mIG92ZXJsb2FkaW5nOgorICAgICAgICAtIGh0dHBzOi8vd3d3Lmtocm9ub3Mub3Jn
L3JlZ2lzdHJ5L3dlYmdsL3NwZWNzL2xhdGVzdC8xLjAvIzUuMTQKKworICAgICAgICAqIGh0bWwv
Y2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6dGV4SW1hZ2UyRCk6CisgICAgICAgICogaHRtbC9j
YW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5oOgorICAgICAgICAqIGh0bWwvY2FudmFz
L1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaWRsOgorCiAyMDE2LTEwLTIyICBEYXJpbiBBZGxl
ciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIFNWRyBmcm9tIEV4Y2VwdGlvbkNv
ZGUgdG8gRXhjZXB0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwCmluZGV4IDkyODNiZWM2ZTFlMDBlZDI2N2Y4
NDViNzYxZDc4OWZkNWRlNGYxMDQuLjFkM2VhYzllMjBlNDkyYTI2ZWRmMGUzZDI1MmQ3ZDhhYWU1
NWE3ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVy
aW5nQ29udGV4dEJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
UmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwCkBAIC0zMTA4LDI5ICszMTA4LDEwOCBAQCB2b2lkIFdl
YkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnRleEltYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNE
aW50IGxldmVsLCBHQzNEZQogICAgICAgICBtX2NvbnRleHQtPnBpeGVsU3RvcmVpKEdyYXBoaWNz
Q29udGV4dDNEOjpVTlBBQ0tfQUxJR05NRU5ULCBtX3VucGFja0FsaWdubWVudCk7CiB9CiAKLXZv
aWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6dGV4SW1hZ2UyRChHQzNEZW51bSB0YXJnZXQs
IEdDM0RpbnQgbGV2ZWwsIEdDM0RlbnVtIGludGVybmFsZm9ybWF0LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgR0MzRGVudW0gZm9ybWF0LCBHQzNEZW51bSB0eXBlLCBJ
bWFnZURhdGEqIHBpeGVscywgRXhjZXB0aW9uQ29kZSYgZWMpCit2b2lkIFdlYkdMUmVuZGVyaW5n
Q29udGV4dEJhc2U6OnRleEltYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBH
QzNEZW51bSBpbnRlcm5hbGZvcm1hdCwgR0MzRGVudW0gZm9ybWF0LCBHQzNEZW51bSB0eXBlLCBP
cHRpb25hbDxUZXhJbWFnZVNvdXJjZT4gc291cmNlLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKLSAg
ICBlYyA9IDA7Ci0gICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSB8fCAhcGl4ZWxzIHx8
ICF2YWxpZGF0ZVRleEZ1bmMoInRleEltYWdlMkQiLCBUZXhJbWFnZSwgU291cmNlSW1hZ2VEYXRh
LCB0YXJnZXQsIGxldmVsLCBpbnRlcm5hbGZvcm1hdCwgcGl4ZWxzLT53aWR0aCgpLCBwaXhlbHMt
PmhlaWdodCgpLCAwLCBmb3JtYXQsIHR5cGUsIDAsIDApKQorICAgIGlmICghc291cmNlKSB7Cisg
ICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX1ZBTFVF
LCAidGV4SW1hZ2UyRCIsICJzb3VyY2UgaXMgbnVsbCIpOwogICAgICAgICByZXR1cm47Ci0gICAg
VmVjdG9yPHVpbnQ4X3Q+IGRhdGE7Ci0gICAgYm9vbCBuZWVkQ29udmVyc2lvbiA9IHRydWU7Ci0g
ICAgLy8gVGhlIGRhdGEgZnJvbSBJbWFnZURhdGEgaXMgYWx3YXlzIG9mIGZvcm1hdCBSR0JBOC4K
LSAgICAvLyBObyBjb252ZXJzaW9uIGlzIG5lZWRlZCBpZiBkZXN0aW5hdGlvbiBmb3JtYXQgaXMg
UkdCQSBhbmQgdHlwZSBpcyBVU0lHTkVEX0JZVEUgYW5kIG5vIEZsaXAgb3IgUHJlbXVsdGlwbHkg
b3BlcmF0aW9uIGlzIHJlcXVpcmVkLgotICAgIGlmICghbV91bnBhY2tGbGlwWSAmJiAhbV91bnBh
Y2tQcmVtdWx0aXBseUFscGhhICYmIGZvcm1hdCA9PSBHcmFwaGljc0NvbnRleHQzRDo6UkdCQSAm
JiB0eXBlID09IEdyYXBoaWNzQ29udGV4dDNEOjpVTlNJR05FRF9CWVRFKQotICAgICAgICBuZWVk
Q29udmVyc2lvbiA9IGZhbHNlOwotICAgIGVsc2UgewotICAgICAgICBpZiAoIW1fY29udGV4dC0+
ZXh0cmFjdEltYWdlRGF0YShwaXhlbHMsIGZvcm1hdCwgdHlwZSwgbV91bnBhY2tGbGlwWSwgbV91
bnBhY2tQcmVtdWx0aXBseUFscGhhLCBkYXRhKSkgewotICAgICAgICAgICAgc3ludGhlc2l6ZUdM
RXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfVkFMVUUsICJ0ZXhJbWFnZTJEIiwgImJh
ZCBpbWFnZSBkYXRhIik7CisgICAgfQorCisgICAgYXV0byB2aXNpdG9yID0gV1RGOjptYWtlVmlz
aXRvcihbJl0oY29uc3QgUmVmUHRyPEltYWdlRGF0YT4mIHBpeGVscykgeworICAgICAgICBlYyA9
IDA7CisgICAgICAgIGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZhbGlkYXRlVGV4
RnVuYygidGV4SW1hZ2UyRCIsIFRleEltYWdlLCBTb3VyY2VJbWFnZURhdGEsIHRhcmdldCwgbGV2
ZWwsIGludGVybmFsZm9ybWF0LCBwaXhlbHMtPndpZHRoKCksIHBpeGVscy0+aGVpZ2h0KCksIDAs
IGZvcm1hdCwgdHlwZSwgMCwgMCkpCiAgICAgICAgICAgICByZXR1cm47CisgICAgICAgIFZlY3Rv
cjx1aW50OF90PiBkYXRhOworICAgICAgICBib29sIG5lZWRDb252ZXJzaW9uID0gdHJ1ZTsKKyAg
ICAgICAgLy8gVGhlIGRhdGEgZnJvbSBJbWFnZURhdGEgaXMgYWx3YXlzIG9mIGZvcm1hdCBSR0JB
OC4KKyAgICAgICAgLy8gTm8gY29udmVyc2lvbiBpcyBuZWVkZWQgaWYgZGVzdGluYXRpb24gZm9y
bWF0IGlzIFJHQkEgYW5kIHR5cGUgaXMgVVNJR05FRF9CWVRFIGFuZCBubyBGbGlwIG9yIFByZW11
bHRpcGx5IG9wZXJhdGlvbiBpcyByZXF1aXJlZC4KKyAgICAgICAgaWYgKCFtX3VucGFja0ZsaXBZ
ICYmICFtX3VucGFja1ByZW11bHRpcGx5QWxwaGEgJiYgZm9ybWF0ID09IEdyYXBoaWNzQ29udGV4
dDNEOjpSR0JBICYmIHR5cGUgPT0gR3JhcGhpY3NDb250ZXh0M0Q6OlVOU0lHTkVEX0JZVEUpCisg
ICAgICAgICAgICBuZWVkQ29udmVyc2lvbiA9IGZhbHNlOworICAgICAgICBlbHNlIHsKKyAgICAg
ICAgICAgIGlmICghbV9jb250ZXh0LT5leHRyYWN0SW1hZ2VEYXRhKHBpeGVscy5nZXQoKSwgZm9y
bWF0LCB0eXBlLCBtX3VucGFja0ZsaXBZLCBtX3VucGFja1ByZW11bHRpcGx5QWxwaGEsIGRhdGEp
KSB7CisgICAgICAgICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6
OklOVkFMSURfVkFMVUUsICJ0ZXhJbWFnZTJEIiwgImJhZCBpbWFnZSBkYXRhIik7CisgICAgICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgfQotICAgIGlm
IChtX3VucGFja0FsaWdubWVudCAhPSAxKQotICAgICAgICBtX2NvbnRleHQtPnBpeGVsU3RvcmVp
KEdyYXBoaWNzQ29udGV4dDNEOjpVTlBBQ0tfQUxJR05NRU5ULCAxKTsKLSAgICB0ZXhJbWFnZTJE
QmFzZSh0YXJnZXQsIGxldmVsLCBpbnRlcm5hbGZvcm1hdCwgcGl4ZWxzLT53aWR0aCgpLCBwaXhl
bHMtPmhlaWdodCgpLCAwLCBmb3JtYXQsIHR5cGUsIG5lZWRDb252ZXJzaW9uID8gZGF0YS5kYXRh
KCkgOiBwaXhlbHMtPmRhdGEoKS0+ZGF0YSgpLCBlYyk7Ci0gICAgaWYgKG1fdW5wYWNrQWxpZ25t
ZW50ICE9IDEpCi0gICAgICAgIG1fY29udGV4dC0+cGl4ZWxTdG9yZWkoR3JhcGhpY3NDb250ZXh0
M0Q6OlVOUEFDS19BTElHTk1FTlQsIG1fdW5wYWNrQWxpZ25tZW50KTsKKyAgICAgICAgaWYgKG1f
dW5wYWNrQWxpZ25tZW50ICE9IDEpCisgICAgICAgICAgICBtX2NvbnRleHQtPnBpeGVsU3RvcmVp
KEdyYXBoaWNzQ29udGV4dDNEOjpVTlBBQ0tfQUxJR05NRU5ULCAxKTsKKyAgICAgICAgdGV4SW1h
Z2UyREJhc2UodGFyZ2V0LCBsZXZlbCwgaW50ZXJuYWxmb3JtYXQsIHBpeGVscy0+d2lkdGgoKSwg
cGl4ZWxzLT5oZWlnaHQoKSwgMCwgZm9ybWF0LCB0eXBlLCBuZWVkQ29udmVyc2lvbiA/IGRhdGEu
ZGF0YSgpIDogcGl4ZWxzLT5kYXRhKCktPmRhdGEoKSwgZWMpOworICAgICAgICBpZiAobV91bnBh
Y2tBbGlnbm1lbnQgIT0gMSkKKyAgICAgICAgICAgIG1fY29udGV4dC0+cGl4ZWxTdG9yZWkoR3Jh
cGhpY3NDb250ZXh0M0Q6OlVOUEFDS19BTElHTk1FTlQsIG1fdW5wYWNrQWxpZ25tZW50KTsKKyAg
ICB9LCBbJl0oY29uc3QgUmVmUHRyPEhUTUxJbWFnZUVsZW1lbnQ+JiBpbWFnZSkgeworICAgICAg
ICBlYyA9IDA7CisgICAgICAgIGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZhbGlk
YXRlSFRNTEltYWdlRWxlbWVudCgidGV4SW1hZ2UyRCIsIGltYWdlLmdldCgpLCBlYykpCisgICAg
ICAgICAgICByZXR1cm47CisKKyAgICAgICAgUmVmUHRyPEltYWdlPiBpbWFnZUZvclJlbmRlciA9
IGltYWdlLT5jYWNoZWRJbWFnZSgpLT5pbWFnZUZvclJlbmRlcmVyKGltYWdlLT5yZW5kZXJlcigp
KTsKKyAgICAgICAgaWYgKCFpbWFnZUZvclJlbmRlcikKKyAgICAgICAgICAgIHJldHVybjsKKwor
ICAgICAgICBpZiAoaW1hZ2VGb3JSZW5kZXItPmlzU1ZHSW1hZ2UoKSkKKyAgICAgICAgICAgIGlt
YWdlRm9yUmVuZGVyID0gZHJhd0ltYWdlSW50b0J1ZmZlcigqaW1hZ2VGb3JSZW5kZXIsIGltYWdl
LT53aWR0aCgpLCBpbWFnZS0+aGVpZ2h0KCksIDEpOworCisgICAgICAgIGlmICghaW1hZ2VGb3JS
ZW5kZXIgfHwgIXZhbGlkYXRlVGV4RnVuYygidGV4SW1hZ2UyRCIsIFRleEltYWdlLCBTb3VyY2VI
VE1MSW1hZ2VFbGVtZW50LCB0YXJnZXQsIGxldmVsLCBpbnRlcm5hbGZvcm1hdCwgaW1hZ2VGb3JS
ZW5kZXItPndpZHRoKCksIGltYWdlRm9yUmVuZGVyLT5oZWlnaHQoKSwgMCwgZm9ybWF0LCB0eXBl
LCAwLCAwKSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICB0ZXhJbWFnZTJESW1wbCh0
YXJnZXQsIGxldmVsLCBpbnRlcm5hbGZvcm1hdCwgZm9ybWF0LCB0eXBlLCBpbWFnZUZvclJlbmRl
ci5nZXQoKSwgR3JhcGhpY3NDb250ZXh0M0Q6Okh0bWxEb21JbWFnZSwgbV91bnBhY2tGbGlwWSwg
bV91bnBhY2tQcmVtdWx0aXBseUFscGhhLCBlYyk7CisKKyAgICB9LCBbJl0oY29uc3QgUmVmUHRy
PEhUTUxDYW52YXNFbGVtZW50PiYgY2FudmFzKSB7CisgICAgICAgIGVjID0gMDsKKyAgICAgICAg
aWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSB8fCAhdmFsaWRhdGVIVE1MQ2FudmFzRWxlbWVu
dCgidGV4SW1hZ2UyRCIsIGNhbnZhcy5nZXQoKSwgZWMpIHx8ICF2YWxpZGF0ZVRleEZ1bmMoInRl
eEltYWdlMkQiLCBUZXhJbWFnZSwgU291cmNlSFRNTENhbnZhc0VsZW1lbnQsIHRhcmdldCwgbGV2
ZWwsIGludGVybmFsZm9ybWF0LCBjYW52YXMtPndpZHRoKCksIGNhbnZhcy0+aGVpZ2h0KCksIDAs
IGZvcm1hdCwgdHlwZSwgMCwgMCkpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgV2Vi
R0xUZXh0dXJlKiB0ZXh0dXJlID0gdmFsaWRhdGVUZXh0dXJlQmluZGluZygidGV4SW1hZ2UyRCIs
IHRhcmdldCwgdHJ1ZSk7CisgICAgICAgIC8vIElmIHBvc3NpYmxlLCBjb3B5IGZyb20gdGhlIGNh
bnZhcyBlbGVtZW50IGRpcmVjdGx5IHRvIHRoZSB0ZXh0dXJlCisgICAgICAgIC8vIHZpYSB0aGUg
R1BVLCB3aXRob3V0IGEgcmVhZC1iYWNrIHRvIHN5c3RlbSBtZW1vcnkuCisgICAgICAgIC8vCisg
ICAgICAgIC8vIEZJWE1FOiByZXN0cmljdGlvbiBvZiAoUkdCIHx8IFJHQkEpL1VOU0lHTkVEX0JZ
VEUgc2hvdWxkIGJlIGxpZnRlZCB3aGVuCisgICAgICAgIC8vIEltYWdlQnVmZmVyOjpjb3B5VG9Q
bGF0Zm9ybVRleHR1cmUgaW1wbGVtZW50YXRpb25zIGFyZSBmdWxseSBmdW5jdGlvbmFsLgorICAg
ICAgICBpZiAodGV4dHVyZQorICAgICAgICAgICAgJiYgKGZvcm1hdCA9PSBHcmFwaGljc0NvbnRl
eHQzRDo6UkdCIHx8IGZvcm1hdCA9PSBHcmFwaGljc0NvbnRleHQzRDo6UkdCQSkKKyAgICAgICAg
ICAgICYmIHR5cGUgPT0gR3JhcGhpY3NDb250ZXh0M0Q6OlVOU0lHTkVEX0JZVEUKKyAgICAgICAg
ICAgICYmICh0ZXh0dXJlLT5nZXRUeXBlKHRhcmdldCwgbGV2ZWwpID09IEdyYXBoaWNzQ29udGV4
dDNEOjpVTlNJR05FRF9CWVRFIHx8ICF0ZXh0dXJlLT5pc1ZhbGlkKHRhcmdldCwgbGV2ZWwpKSkg
eworICAgICAgICAgICAgSW1hZ2VCdWZmZXIqIGJ1ZmZlciA9IGNhbnZhcy0+YnVmZmVyKCk7Cisg
ICAgICAgICAgICBpZiAoYnVmZmVyICYmIGJ1ZmZlci0+Y29weVRvUGxhdGZvcm1UZXh0dXJlKCpt
X2NvbnRleHQuZ2V0KCksIHRhcmdldCwgdGV4dHVyZS0+b2JqZWN0KCksIGludGVybmFsZm9ybWF0
LCBtX3VucGFja1ByZW11bHRpcGx5QWxwaGEsIG1fdW5wYWNrRmxpcFkpKSB7CisgICAgICAgICAg
ICAgICAgdGV4dHVyZS0+c2V0TGV2ZWxJbmZvKHRhcmdldCwgbGV2ZWwsIGludGVybmFsZm9ybWF0
LCBjYW52YXMtPndpZHRoKCksIGNhbnZhcy0+aGVpZ2h0KCksIHR5cGUpOworICAgICAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIFJlZlB0cjxJ
bWFnZURhdGE+IGltYWdlRGF0YSA9IGNhbnZhcy0+Z2V0SW1hZ2VEYXRhKCk7CisgICAgICAgIGlm
IChpbWFnZURhdGEpCisgICAgICAgICAgICB0ZXhJbWFnZTJEKHRhcmdldCwgbGV2ZWwsIGludGVy
bmFsZm9ybWF0LCBmb3JtYXQsIHR5cGUsIFRleEltYWdlU291cmNlKGltYWdlRGF0YS5nZXQoKSks
IGVjKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGV4SW1hZ2UyREltcGwodGFyZ2V0LCBs
ZXZlbCwgaW50ZXJuYWxmb3JtYXQsIGZvcm1hdCwgdHlwZSwgY2FudmFzLT5jb3BpZWRJbWFnZSgp
LCBHcmFwaGljc0NvbnRleHQzRDo6SHRtbERvbUNhbnZhcywgbV91bnBhY2tGbGlwWSwgbV91bnBh
Y2tQcmVtdWx0aXBseUFscGhhLCBlYyk7CisgICAgfSwgWyZdKGNvbnN0IFJlZlB0cjxIVE1MVmlk
ZW9FbGVtZW50PiYgdmlkZW8pIHsKKyAgICAgICAgZWMgPSAwOworICAgICAgICBpZiAoaXNDb250
ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0ZUhUTUxWaWRlb0VsZW1lbnQoInRleEltYWdl
MkQiLCB2aWRlby5nZXQoKSwgZWMpCisgICAgICAgICAgICB8fCAhdmFsaWRhdGVUZXhGdW5jKCJ0
ZXhJbWFnZTJEIiwgVGV4SW1hZ2UsIFNvdXJjZUhUTUxWaWRlb0VsZW1lbnQsIHRhcmdldCwgbGV2
ZWwsIGludGVybmFsZm9ybWF0LCB2aWRlby0+dmlkZW9XaWR0aCgpLCB2aWRlby0+dmlkZW9IZWln
aHQoKSwgMCwgZm9ybWF0LCB0eXBlLCAwLCAwKSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAg
ICAgICAvLyBHbyB0aHJvdWdoIHRoZSBmYXN0IHBhdGggZG9pbmcgYSBHUFUtR1BVIHRleHR1cmVz
IGNvcHkgd2l0aG91dCBhIHJlYWRiYWNrIHRvIHN5c3RlbSBtZW1vcnkgaWYgcG9zc2libGUuCisg
ICAgICAgIC8vIE90aGVyd2lzZSwgaXQgd2lsbCBmYWxsIGJhY2sgdG8gdGhlIG5vcm1hbCBTVyBw
YXRoLgorICAgICAgICAvLyBGSVhNRTogVGhlIGN1cnJlbnQgcmVzdHJpY3Rpb25zIHJlcXVpcmUg
dGhhdCBmb3JtYXQgc2hvdWQgYmUgUkdCIG9yIFJHQkEsCisgICAgICAgIC8vIHR5cGUgc2hvdWxk
IGJlIFVOU0lHTkVEX0JZVEUgYW5kIGxldmVsIHNob3VsZCBiZSAwLiBJdCBtYXkgYmUgbGlmdGVk
IGluIHRoZSBmdXR1cmUuCisgICAgICAgIFdlYkdMVGV4dHVyZSogdGV4dHVyZSA9IHZhbGlkYXRl
VGV4dHVyZUJpbmRpbmcoInRleEltYWdlMkQiLCB0YXJnZXQsIHRydWUpOworICAgICAgICBpZiAo
R3JhcGhpY3NDb250ZXh0M0Q6OlRFWFRVUkVfMkQgPT0gdGFyZ2V0ICYmIHRleHR1cmUKKyAgICAg
ICAgICAgICYmIChmb3JtYXQgPT0gR3JhcGhpY3NDb250ZXh0M0Q6OlJHQiB8fCBmb3JtYXQgPT0g
R3JhcGhpY3NDb250ZXh0M0Q6OlJHQkEpCisgICAgICAgICAgICAmJiB0eXBlID09IEdyYXBoaWNz
Q29udGV4dDNEOjpVTlNJR05FRF9CWVRFCisgICAgICAgICAgICAmJiAodGV4dHVyZS0+Z2V0VHlw
ZSh0YXJnZXQsIGxldmVsKSA9PSBHcmFwaGljc0NvbnRleHQzRDo6VU5TSUdORURfQllURSB8fCAh
dGV4dHVyZS0+aXNWYWxpZCh0YXJnZXQsIGxldmVsKSkKKyAgICAgICAgICAgICYmICFsZXZlbCkg
eworICAgICAgICAgICAgaWYgKHZpZGVvLT5jb3B5VmlkZW9UZXh0dXJlVG9QbGF0Zm9ybVRleHR1
cmUobV9jb250ZXh0LmdldCgpLCB0ZXh0dXJlLT5vYmplY3QoKSwgdGFyZ2V0LCBsZXZlbCwgaW50
ZXJuYWxmb3JtYXQsIGZvcm1hdCwgdHlwZSwgbV91bnBhY2tQcmVtdWx0aXBseUFscGhhLCBtX3Vu
cGFja0ZsaXBZKSkgeworICAgICAgICAgICAgICAgIHRleHR1cmUtPnNldExldmVsSW5mbyh0YXJn
ZXQsIGxldmVsLCBpbnRlcm5hbGZvcm1hdCwgdmlkZW8tPnZpZGVvV2lkdGgoKSwgdmlkZW8tPnZp
ZGVvSGVpZ2h0KCksIHR5cGUpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgfQorCisgICAgICAgIC8vIE5vcm1hbCBwdXJlIFNXIHBhdGguCisgICAgICAg
IFJlZlB0cjxJbWFnZT4gaW1hZ2UgPSB2aWRlb0ZyYW1lVG9JbWFnZSh2aWRlby5nZXQoKSwgSW1h
Z2VCdWZmZXI6OmZhc3RDb3B5SW1hZ2VNb2RlKCkpOworICAgICAgICBpZiAoIWltYWdlKQorICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICB0ZXhJbWFnZTJESW1wbCh0YXJnZXQsIGxldmVsLCBp
bnRlcm5hbGZvcm1hdCwgZm9ybWF0LCB0eXBlLCBpbWFnZS5nZXQoKSwgR3JhcGhpY3NDb250ZXh0
M0Q6Okh0bWxEb21WaWRlbywgbV91bnBhY2tGbGlwWSwgbV91bnBhY2tQcmVtdWx0aXBseUFscGhh
LCBlYyk7CisgICAgfSk7CisKKyAgICBXVEY6OnZpc2l0KHZpc2l0b3IsIHNvdXJjZS52YWx1ZSgp
KTsKIH0KIAogUmVmUHRyPEltYWdlPiBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpkcmF3SW1h
Z2VJbnRvQnVmZmVyKEltYWdlJiBpbWFnZSwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBpbnQgZGV2
aWNlU2NhbGVGYWN0b3IpCkBAIC0zMTQ5LDU4ICszMjI4LDggQEAgUmVmUHRyPEltYWdlPiBXZWJH
TFJlbmRlcmluZ0NvbnRleHRCYXNlOjpkcmF3SW1hZ2VJbnRvQnVmZmVyKEltYWdlJiBpbWFnZSwg
aW50IHcKICAgICByZXR1cm4gYnVmLT5jb3B5SW1hZ2UoSW1hZ2VCdWZmZXI6OmZhc3RDb3B5SW1h
Z2VNb2RlKCkpOwogfQogCi12b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnRleEltYWdl
MkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQzNEZW51bSBpbnRlcm5hbGZvcm1h
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdDM0RlbnVtIGZvcm1h
dCwgR0MzRGVudW0gdHlwZSwgSFRNTEltYWdlRWxlbWVudCogaW1hZ2UsIEV4Y2VwdGlvbkNvZGUm
IGVjKQotewotICAgIGVjID0gMDsKLSAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8
ICF2YWxpZGF0ZUhUTUxJbWFnZUVsZW1lbnQoInRleEltYWdlMkQiLCBpbWFnZSwgZWMpKQotICAg
ICAgICByZXR1cm47Ci0KLSAgICBSZWZQdHI8SW1hZ2U+IGltYWdlRm9yUmVuZGVyID0gaW1hZ2Ut
PmNhY2hlZEltYWdlKCktPmltYWdlRm9yUmVuZGVyZXIoaW1hZ2UtPnJlbmRlcmVyKCkpOwotICAg
IGlmICghaW1hZ2VGb3JSZW5kZXIpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmIChpbWFnZUZv
clJlbmRlci0+aXNTVkdJbWFnZSgpKQotICAgICAgICBpbWFnZUZvclJlbmRlciA9IGRyYXdJbWFn
ZUludG9CdWZmZXIoKmltYWdlRm9yUmVuZGVyLCBpbWFnZS0+d2lkdGgoKSwgaW1hZ2UtPmhlaWdo
dCgpLCAxKTsKLQotICAgIGlmICghaW1hZ2VGb3JSZW5kZXIgfHwgIXZhbGlkYXRlVGV4RnVuYygi
dGV4SW1hZ2UyRCIsIFRleEltYWdlLCBTb3VyY2VIVE1MSW1hZ2VFbGVtZW50LCB0YXJnZXQsIGxl
dmVsLCBpbnRlcm5hbGZvcm1hdCwgaW1hZ2VGb3JSZW5kZXItPndpZHRoKCksIGltYWdlRm9yUmVu
ZGVyLT5oZWlnaHQoKSwgMCwgZm9ybWF0LCB0eXBlLCAwLCAwKSkKLSAgICAgICAgcmV0dXJuOwot
Ci0gICAgdGV4SW1hZ2UyREltcGwodGFyZ2V0LCBsZXZlbCwgaW50ZXJuYWxmb3JtYXQsIGZvcm1h
dCwgdHlwZSwgaW1hZ2VGb3JSZW5kZXIuZ2V0KCksIEdyYXBoaWNzQ29udGV4dDNEOjpIdG1sRG9t
SW1hZ2UsIG1fdW5wYWNrRmxpcFksIG1fdW5wYWNrUHJlbXVsdGlwbHlBbHBoYSwgZWMpOwotfQot
Ci12b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnRleEltYWdlMkQoR0MzRGVudW0gdGFy
Z2V0LCBHQzNEaW50IGxldmVsLCBHQzNEZW51bSBpbnRlcm5hbGZvcm1hdCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdDM0RlbnVtIGZvcm1hdCwgR0MzRGVudW0gdHlw
ZSwgSFRNTENhbnZhc0VsZW1lbnQqIGNhbnZhcywgRXhjZXB0aW9uQ29kZSYgZWMpCi17Ci0gICAg
ZWMgPSAwOwotICAgIGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZhbGlkYXRlSFRN
TENhbnZhc0VsZW1lbnQoInRleEltYWdlMkQiLCBjYW52YXMsIGVjKSB8fCAhdmFsaWRhdGVUZXhG
dW5jKCJ0ZXhJbWFnZTJEIiwgVGV4SW1hZ2UsIFNvdXJjZUhUTUxDYW52YXNFbGVtZW50LCB0YXJn
ZXQsIGxldmVsLCBpbnRlcm5hbGZvcm1hdCwgY2FudmFzLT53aWR0aCgpLCBjYW52YXMtPmhlaWdo
dCgpLCAwLCBmb3JtYXQsIHR5cGUsIDAsIDApKQotICAgICAgICByZXR1cm47Ci0KLSAgICBXZWJH
TFRleHR1cmUqIHRleHR1cmUgPSB2YWxpZGF0ZVRleHR1cmVCaW5kaW5nKCJ0ZXhJbWFnZTJEIiwg
dGFyZ2V0LCB0cnVlKTsKLSAgICAvLyBJZiBwb3NzaWJsZSwgY29weSBmcm9tIHRoZSBjYW52YXMg
ZWxlbWVudCBkaXJlY3RseSB0byB0aGUgdGV4dHVyZQotICAgIC8vIHZpYSB0aGUgR1BVLCB3aXRo
b3V0IGEgcmVhZC1iYWNrIHRvIHN5c3RlbSBtZW1vcnkuCi0gICAgLy8KLSAgICAvLyBGSVhNRTog
cmVzdHJpY3Rpb24gb2YgKFJHQiB8fCBSR0JBKS9VTlNJR05FRF9CWVRFIHNob3VsZCBiZSBsaWZ0
ZWQgd2hlbgotICAgIC8vIEltYWdlQnVmZmVyOjpjb3B5VG9QbGF0Zm9ybVRleHR1cmUgaW1wbGVt
ZW50YXRpb25zIGFyZSBmdWxseSBmdW5jdGlvbmFsLgotICAgIGlmICh0ZXh0dXJlCi0gICAgICAg
ICYmIChmb3JtYXQgPT0gR3JhcGhpY3NDb250ZXh0M0Q6OlJHQiB8fCBmb3JtYXQgPT0gR3JhcGhp
Y3NDb250ZXh0M0Q6OlJHQkEpCi0gICAgICAgICYmIHR5cGUgPT0gR3JhcGhpY3NDb250ZXh0M0Q6
OlVOU0lHTkVEX0JZVEUKLSAgICAgICAgJiYgKHRleHR1cmUtPmdldFR5cGUodGFyZ2V0LCBsZXZl
bCkgPT0gR3JhcGhpY3NDb250ZXh0M0Q6OlVOU0lHTkVEX0JZVEUgfHwgIXRleHR1cmUtPmlzVmFs
aWQodGFyZ2V0LCBsZXZlbCkpKSB7Ci0gICAgICAgIEltYWdlQnVmZmVyKiBidWZmZXIgPSBjYW52
YXMtPmJ1ZmZlcigpOwotICAgICAgICBpZiAoYnVmZmVyICYmIGJ1ZmZlci0+Y29weVRvUGxhdGZv
cm1UZXh0dXJlKCptX2NvbnRleHQuZ2V0KCksIHRhcmdldCwgdGV4dHVyZS0+b2JqZWN0KCksIGlu
dGVybmFsZm9ybWF0LCBtX3VucGFja1ByZW11bHRpcGx5QWxwaGEsIG1fdW5wYWNrRmxpcFkpKSB7
Ci0gICAgICAgICAgICB0ZXh0dXJlLT5zZXRMZXZlbEluZm8odGFyZ2V0LCBsZXZlbCwgaW50ZXJu
YWxmb3JtYXQsIGNhbnZhcy0+d2lkdGgoKSwgY2FudmFzLT5oZWlnaHQoKSwgdHlwZSk7Ci0gICAg
ICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBSZWZQdHI8SW1hZ2VEYXRh
PiBpbWFnZURhdGEgPSBjYW52YXMtPmdldEltYWdlRGF0YSgpOwotICAgIGlmIChpbWFnZURhdGEp
Ci0gICAgICAgIHRleEltYWdlMkQodGFyZ2V0LCBsZXZlbCwgaW50ZXJuYWxmb3JtYXQsIGZvcm1h
dCwgdHlwZSwgaW1hZ2VEYXRhLmdldCgpLCBlYyk7Ci0gICAgZWxzZQotICAgICAgICB0ZXhJbWFn
ZTJESW1wbCh0YXJnZXQsIGxldmVsLCBpbnRlcm5hbGZvcm1hdCwgZm9ybWF0LCB0eXBlLCBjYW52
YXMtPmNvcGllZEltYWdlKCksIEdyYXBoaWNzQ29udGV4dDNEOjpIdG1sRG9tQ2FudmFzLCBtX3Vu
cGFja0ZsaXBZLCBtX3VucGFja1ByZW11bHRpcGx5QWxwaGEsIGVjKTsKLX0KLQogI2lmIEVOQUJM
RShWSURFTykKKwogUmVmUHRyPEltYWdlPiBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjp2aWRl
b0ZyYW1lVG9JbWFnZShIVE1MVmlkZW9FbGVtZW50KiB2aWRlbywgQmFja2luZ1N0b3JlQ29weSBi
YWNraW5nU3RvcmVDb3B5KQogewogICAgIEludFNpemUgc2l6ZSh2aWRlby0+dmlkZW9XaWR0aCgp
LCB2aWRlby0+dmlkZW9IZWlnaHQoKSk7CkBAIC0zMjE1LDM2ICszMjQ0LDYgQEAgUmVmUHRyPElt
YWdlPiBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjp2aWRlb0ZyYW1lVG9JbWFnZShIVE1MVmlk
ZW9FbGVtZW50KiB2aWQKICAgICByZXR1cm4gYnVmLT5jb3B5SW1hZ2UoYmFja2luZ1N0b3JlQ29w
eSk7CiB9CiAKLXZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6dGV4SW1hZ2UyRChHQzNE
ZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RlbnVtIGludGVybmFsZm9ybWF0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0MzRGVudW0gZm9ybWF0LCBHQzNE
ZW51bSB0eXBlLCBIVE1MVmlkZW9FbGVtZW50KiB2aWRlbywgRXhjZXB0aW9uQ29kZSYgZWMpCi17
Ci0gICAgZWMgPSAwOwotICAgIGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZhbGlk
YXRlSFRNTFZpZGVvRWxlbWVudCgidGV4SW1hZ2UyRCIsIHZpZGVvLCBlYykKLSAgICAgICAgfHwg
IXZhbGlkYXRlVGV4RnVuYygidGV4SW1hZ2UyRCIsIFRleEltYWdlLCBTb3VyY2VIVE1MVmlkZW9F
bGVtZW50LCB0YXJnZXQsIGxldmVsLCBpbnRlcm5hbGZvcm1hdCwgdmlkZW8tPnZpZGVvV2lkdGgo
KSwgdmlkZW8tPnZpZGVvSGVpZ2h0KCksIDAsIGZvcm1hdCwgdHlwZSwgMCwgMCkpCi0gICAgICAg
IHJldHVybjsKLQotICAgIC8vIEdvIHRocm91Z2ggdGhlIGZhc3QgcGF0aCBkb2luZyBhIEdQVS1H
UFUgdGV4dHVyZXMgY29weSB3aXRob3V0IGEgcmVhZGJhY2sgdG8gc3lzdGVtIG1lbW9yeSBpZiBw
b3NzaWJsZS4KLSAgICAvLyBPdGhlcndpc2UsIGl0IHdpbGwgZmFsbCBiYWNrIHRvIHRoZSBub3Jt
YWwgU1cgcGF0aC4KLSAgICAvLyBGSVhNRTogVGhlIGN1cnJlbnQgcmVzdHJpY3Rpb25zIHJlcXVp
cmUgdGhhdCBmb3JtYXQgc2hvdWQgYmUgUkdCIG9yIFJHQkEsCi0gICAgLy8gdHlwZSBzaG91bGQg
YmUgVU5TSUdORURfQllURSBhbmQgbGV2ZWwgc2hvdWxkIGJlIDAuIEl0IG1heSBiZSBsaWZ0ZWQg
aW4gdGhlIGZ1dHVyZS4KLSAgICBXZWJHTFRleHR1cmUqIHRleHR1cmUgPSB2YWxpZGF0ZVRleHR1
cmVCaW5kaW5nKCJ0ZXhJbWFnZTJEIiwgdGFyZ2V0LCB0cnVlKTsKLSAgICBpZiAoR3JhcGhpY3ND
b250ZXh0M0Q6OlRFWFRVUkVfMkQgPT0gdGFyZ2V0ICYmIHRleHR1cmUKLSAgICAgICAgJiYgKGZv
cm1hdCA9PSBHcmFwaGljc0NvbnRleHQzRDo6UkdCIHx8IGZvcm1hdCA9PSBHcmFwaGljc0NvbnRl
eHQzRDo6UkdCQSkKLSAgICAgICAgJiYgdHlwZSA9PSBHcmFwaGljc0NvbnRleHQzRDo6VU5TSUdO
RURfQllURQotICAgICAgICAmJiAodGV4dHVyZS0+Z2V0VHlwZSh0YXJnZXQsIGxldmVsKSA9PSBH
cmFwaGljc0NvbnRleHQzRDo6VU5TSUdORURfQllURSB8fCAhdGV4dHVyZS0+aXNWYWxpZCh0YXJn
ZXQsIGxldmVsKSkKLSAgICAgICAgJiYgIWxldmVsKSB7Ci0gICAgICAgIGlmICh2aWRlby0+Y29w
eVZpZGVvVGV4dHVyZVRvUGxhdGZvcm1UZXh0dXJlKG1fY29udGV4dC5nZXQoKSwgdGV4dHVyZS0+
b2JqZWN0KCksIHRhcmdldCwgbGV2ZWwsIGludGVybmFsZm9ybWF0LCBmb3JtYXQsIHR5cGUsIG1f
dW5wYWNrUHJlbXVsdGlwbHlBbHBoYSwgbV91bnBhY2tGbGlwWSkpIHsKLSAgICAgICAgICAgIHRl
eHR1cmUtPnNldExldmVsSW5mbyh0YXJnZXQsIGxldmVsLCBpbnRlcm5hbGZvcm1hdCwgdmlkZW8t
PnZpZGVvV2lkdGgoKSwgdmlkZW8tPnZpZGVvSGVpZ2h0KCksIHR5cGUpOwotICAgICAgICAgICAg
cmV0dXJuOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgLy8gTm9ybWFsIHB1cmUgU1cgcGF0aC4K
LSAgICBSZWZQdHI8SW1hZ2U+IGltYWdlID0gdmlkZW9GcmFtZVRvSW1hZ2UodmlkZW8sIEltYWdl
QnVmZmVyOjpmYXN0Q29weUltYWdlTW9kZSgpKTsKLSAgICBpZiAoIWltYWdlKQotICAgICAgICBy
ZXR1cm47Ci0gICAgdGV4SW1hZ2UyREltcGwodGFyZ2V0LCBsZXZlbCwgaW50ZXJuYWxmb3JtYXQs
IGZvcm1hdCwgdHlwZSwgaW1hZ2UuZ2V0KCksIEdyYXBoaWNzQ29udGV4dDNEOjpIdG1sRG9tVmlk
ZW8sIG1fdW5wYWNrRmxpcFksIG1fdW5wYWNrUHJlbXVsdGlwbHlBbHBoYSwgZWMpOwotfQogI2Vu
ZGlmCiAKIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6dGV4UGFyYW1ldGVyKEdDM0Rl
bnVtIHRhcmdldCwgR0MzRGVudW0gcG5hbWUsIEdDM0RmbG9hdCBwYXJhbWYsIEdDM0RpbnQgcGFy
YW1pLCBib29sIGlzRmxvYXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmgKaW5kZXggMjI0NzQ4MmU0MjVjZDY2OGRkZDQ3
ODlkZWNlZDE5MjRlOWQ1ZmFhNi4uN2NkMzk0NDNkMGJjMjIzZTM3ZjFkMmRhNDZhZGU5ZTIwNTdl
OTMyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJp
bmdDb250ZXh0QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVu
ZGVyaW5nQ29udGV4dEJhc2UuaApAQCAtMjQzLDE5ICsyNDMsMTAgQEAgcHVibGljOgogICAgIHZv
aWQgc3RlbmNpbE9wKEdDM0RlbnVtIGZhaWwsIEdDM0RlbnVtIHpmYWlsLCBHQzNEZW51bSB6cGFz
cyk7CiAgICAgdm9pZCBzdGVuY2lsT3BTZXBhcmF0ZShHQzNEZW51bSBmYWNlLCBHQzNEZW51bSBm
YWlsLCBHQzNEZW51bSB6ZmFpbCwgR0MzRGVudW0genBhc3MpOwogCi0gICAgdm9pZCB0ZXhJbWFn
ZTJEKEdDM0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGVudW0gaW50ZXJuYWxmb3Jt
YXQsCi0gICAgICAgICAgICAgICAgICAgIEdDM0RzaXplaSB3aWR0aCwgR0MzRHNpemVpIGhlaWdo
dCwgR0MzRGludCBib3JkZXIsCi0gICAgICAgICAgICAgICAgICAgIEdDM0RlbnVtIGZvcm1hdCwg
R0MzRGVudW0gdHlwZSwgUmVmUHRyPEFycmF5QnVmZmVyVmlldz4mJiwgRXhjZXB0aW9uQ29kZSYp
OwotICAgIHZvaWQgdGV4SW1hZ2UyRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdD
M0RlbnVtIGludGVybmFsZm9ybWF0LAotICAgICAgICAgICAgICAgICAgICBHQzNEZW51bSBmb3Jt
YXQsIEdDM0RlbnVtIHR5cGUsIEltYWdlRGF0YSosIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICB2b2lk
IHRleEltYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQzNEZW51bSBpbnRl
cm5hbGZvcm1hdCwKLSAgICAgICAgICAgICAgICAgICAgR0MzRGVudW0gZm9ybWF0LCBHQzNEZW51
bSB0eXBlLCBIVE1MSW1hZ2VFbGVtZW50KiwgRXhjZXB0aW9uQ29kZSYpOwotICAgIHZvaWQgdGV4
SW1hZ2UyRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RlbnVtIGludGVybmFs
Zm9ybWF0LAotICAgICAgICAgICAgICAgICAgICBHQzNEZW51bSBmb3JtYXQsIEdDM0RlbnVtIHR5
cGUsIEhUTUxDYW52YXNFbGVtZW50KiwgRXhjZXB0aW9uQ29kZSYpOwotI2lmIEVOQUJMRShWSURF
TykKLSAgICB2b2lkIHRleEltYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBH
QzNEZW51bSBpbnRlcm5hbGZvcm1hdCwKLSAgICAgICAgICAgICAgICAgICAgR0MzRGVudW0gZm9y
bWF0LCBHQzNEZW51bSB0eXBlLCBIVE1MVmlkZW9FbGVtZW50KiwgRXhjZXB0aW9uQ29kZSYpOwot
I2VuZGlmCisgICAgdm9pZCB0ZXhJbWFnZTJEKEdDM0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZl
bCwgR0MzRGVudW0gaW50ZXJuYWxmb3JtYXQsIEdDM0RzaXplaSB3aWR0aCwgR0MzRHNpemVpIGhl
aWdodCwgR0MzRGludCBib3JkZXIsIEdDM0RlbnVtIGZvcm1hdCwgR0MzRGVudW0gdHlwZSwgUmVm
UHRyPEFycmF5QnVmZmVyVmlldz4mJiwgRXhjZXB0aW9uQ29kZSYpOworCisgICAgdXNpbmcgVGV4
SW1hZ2VTb3VyY2UgPSBXVEY6OlZhcmlhbnQ8UmVmUHRyPEltYWdlRGF0YT4sIFJlZlB0cjxIVE1M
SW1hZ2VFbGVtZW50PiwgUmVmUHRyPEhUTUxDYW52YXNFbGVtZW50PiwgUmVmUHRyPEhUTUxWaWRl
b0VsZW1lbnQ+PjsKKyAgICB2b2lkIHRleEltYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50
IGxldmVsLCBHQzNEZW51bSBpbnRlcm5hbGZvcm1hdCwgR0MzRGVudW0gZm9ybWF0LCBHQzNEZW51
bSB0eXBlLCBPcHRpb25hbDxUZXhJbWFnZVNvdXJjZT4sIEV4Y2VwdGlvbkNvZGUmKTsKIAogICAg
IHZvaWQgdGV4UGFyYW1ldGVyZihHQzNEZW51bSB0YXJnZXQsIEdDM0RlbnVtIHBuYW1lLCBHQzNE
ZmxvYXQgcGFyYW0pOwogICAgIHZvaWQgdGV4UGFyYW1ldGVyaShHQzNEZW51bSB0YXJnZXQsIEdD
M0RlbnVtIHBuYW1lLCBHQzNEaW50IHBhcmFtKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaWRsIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5pZGwKaW5kZXggN2VhMjgw
ZGFjODUxMjk5ZGFlYTVmOGNlMDk1MzQxY2FiMGYzZDFmOC4uOTFmOTZkYmI0OTYwMjFiYWM1MzY5
MjBhYjZjMjU4MTkwMDJlMDBjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5pZGwKQEAgLTM5LDYgKzM5LDkgQEAg
dHlwZWRlZiB1bnJlc3RyaWN0ZWQgZmxvYXQgR0xmbG9hdDsKIHR5cGVkZWYgdW5yZXN0cmljdGVk
IGZsb2F0IEdMY2xhbXBmOwogdHlwZWRlZiAoQXJyYXlCdWZmZXIgb3IgQXJyYXlCdWZmZXJWaWV3
KSBCdWZmZXJEYXRhU291cmNlOwogCisvLyBGSVhNRTogU2hvdWxkIGFsbG93IEltYWdlQml0bWFw
IHRvby4KK3R5cGVkZWYgKEltYWdlRGF0YSBvciBIVE1MSW1hZ2VFbGVtZW50IG9yIEhUTUxDYW52
YXNFbGVtZW50IG9yIEhUTUxWaWRlb0VsZW1lbnQpIFRleEltYWdlU291cmNlOworCiBbCiAgICAg
Q29uZGl0aW9uYWw9V0VCR0wsCiAgICAgQ3VzdG9tSXNSZWFjaGFibGUsCkBAIC02MTIsMTggKzYx
NSw4IEBAIHR5cGVkZWYgKEFycmF5QnVmZmVyIG9yIEFycmF5QnVmZmVyVmlldykgQnVmZmVyRGF0
YVNvdXJjZTsKICAgICB2b2lkIHRleFBhcmFtZXRlcmkoR0xlbnVtIHRhcmdldCwgR0xlbnVtIHBu
YW1lLCBHTGludCBwYXJhbSk7CiAKICAgICAvLyBTdXBwb3J0ZWQgZm9ybXM6Ci0gICAgW01heVRo
cm93TGVnYWN5RXhjZXB0aW9uXSB2b2lkIHRleEltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQg
bGV2ZWwsIEdMZW51bSBpbnRlcm5hbGZvcm1hdCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWln
aHQsCi0gIEdMaW50IGJvcmRlciwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEFycmF5QnVm
ZmVyVmlldz8gcGl4ZWxzKTsKLSAgICBbTWF5VGhyb3dMZWdhY3lFeGNlcHRpb25dIHZvaWQgdGV4
SW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xlbnVtIGludGVybmFsZm9ybWF0
LAotICBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgSW1hZ2VEYXRhPyBwaXhlbHMpOwotICAg
IFtNYXlUaHJvd0xlZ2FjeUV4Y2VwdGlvbl0gdm9pZCB0ZXhJbWFnZTJEKEdMZW51bSB0YXJnZXQs
IEdMaW50IGxldmVsLCBHTGVudW0gaW50ZXJuYWxmb3JtYXQsCi0gIEdMZW51bSBmb3JtYXQsIEdM
ZW51bSB0eXBlLCBIVE1MSW1hZ2VFbGVtZW50PyBpbWFnZSk7Ci0gICAgW01heVRocm93TGVnYWN5
RXhjZXB0aW9uXSB2b2lkIHRleEltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdM
ZW51bSBpbnRlcm5hbGZvcm1hdCwKLSAgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEhUTUxD
YW52YXNFbGVtZW50PyBjYW52YXMpOwotI2lmIGRlZmluZWQoRU5BQkxFX1ZJREVPKSAmJiBFTkFC
TEVfVklERU8KLSAgICBbTWF5VGhyb3dMZWdhY3lFeGNlcHRpb25dIHZvaWQgdGV4SW1hZ2UyRChH
TGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xlbnVtIGludGVybmFsZm9ybWF0LAotICBHTGVu
dW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgSFRNTFZpZGVvRWxlbWVudD8gdmlkZW8pOwotI2VuZGlm
CisgICAgW01heVRocm93TGVnYWN5RXhjZXB0aW9uXSB2b2lkIHRleEltYWdlMkQoR0xlbnVtIHRh
cmdldCwgR0xpbnQgbGV2ZWwsIEdMZW51bSBpbnRlcm5hbGZvcm1hdCwgR0xzaXplaSB3aWR0aCwg
R0xzaXplaSBoZWlnaHQsIEdMaW50IGJvcmRlciwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUs
IEFycmF5QnVmZmVyVmlldz8gcGl4ZWxzKTsKKyAgICBbTWF5VGhyb3dMZWdhY3lFeGNlcHRpb25d
IHZvaWQgdGV4SW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xlbnVtIGludGVy
bmFsZm9ybWF0LCBHTGVudW0gZm9ybWF0LCBHTGVudW0gdHlwZSwgVGV4SW1hZ2VTb3VyY2U/IHNv
dXJjZSk7CiAKICAgICBbTWF5VGhyb3dMZWdhY3lFeGNlcHRpb25dIHZvaWQgdGV4U3ViSW1hZ2Uy
RChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNl
dCwKICBHTHNpemVpIHdpZHRoLCBHTHNpemVpIGhlaWdodCwK
</data>

          </attachment>
      

    </bug>

</bugzilla>