<?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>40320</bug_id>
          
          <creation_ts>2010-06-08 12:04:24 -0700</creation_ts>
          <short_desc>Remove obsolete texImage2D and texSubImage2D entry points</short_desc>
          <delta_ts>2010-08-11 15:55:03 -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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>40318</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kenneth Russell">kbr</reporter>
          <assigned_to name="Kenneth Russell">kbr</assigned_to>
          <cc>aa</cc>
    
    <cc>cmarrin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>oliver</cc>
    
    <cc>zmo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>235416</commentid>
    <comment_count>0</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2010-06-08 12:04:24 -0700</bug_when>
    <thetext>The texImage2D and texSubImage2D entry points taking the optional flipY and asPremultipliedAlpha arguments need to be removed. They are being left in place only for a short time to allow developers to switch over to the new APIs.

This bug depends on 40318.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263368</commentid>
    <comment_count>1</comment_count>
      <attachid>64140</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2010-08-11 11:50:07 -0700</bug_when>
    <thetext>Created attachment 64140
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263392</commentid>
    <comment_count>2</comment_count>
      <attachid>64140</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2010-08-11 12:33:49 -0700</bug_when>
    <thetext>Comment on attachment 64140
Patch

great stuff!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263486</commentid>
    <comment_count>3</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2010-08-11 15:44:34 -0700</bug_when>
    <thetext>Committed r65192: &lt;http://trac.webkit.org/changeset/65192&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263496</commentid>
    <comment_count>4</comment_count>
    <who name="Aaron Boodman">aa</who>
    <bug_when>2010-08-11 15:55:03 -0700</bug_when>
    <thetext>Committed r65193: &lt;http://trac.webkit.org/changeset/65193&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64140</attachid>
            <date>2010-08-11 11:50:07 -0700</date>
            <delta_ts>2010-08-11 12:33:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>obsolete.patch</filename>
            <type>text/plain</type>
            <size>20904</size>
            <attacher name="Kenneth Russell">kbr</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NTE2NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMTAtMDgtMTEgIEtlbm5ldGggUnVzc2VsbCAgPGtickBnb29nbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJl
bW92ZSBvYnNvbGV0ZSB0ZXhJbWFnZTJEIGFuZCB0ZXhTdWJJbWFnZTJEIGVudHJ5IHBvaW50cwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDAzMjAKKwor
ICAgICAgICBObyBuZXcgdGVzdHM7IGNvdmVyZWQgYnkgZXhpc3RpbmcgV2ViR0wgdGVzdHMuCisK
KyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwOgorICAgICAg
ICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oOgorICAgICAgICAqIGh0bWwv
Y2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5pZGw6CisKIDIwMTAtMDgtMTEgIEFkYW0gQmFy
dGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBSdWJiZXItc3RhbXBlZCBieSBFcmlj
IFNlaWRlbC4KSW5kZXg6IFdlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dC5jcHAJKHJldmlzaW9uIDY1MTY3KQorKysgV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJl
bmRlcmluZ0NvbnRleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMjE1LDExNSArMjIxNSw2IEBA
IHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp0ZXhJbWFnZTJEKHUKICAgICBjbGVhbnVwQWZ0
ZXJHcmFwaGljc0NhbGwoZmFsc2UpOwogfQogCi0vLyBPYnNvbGV0ZSB0ZXhJbWFnZTJEIGVudHJ5
IHBvaW50cyAtLSB0byBiZSByZW1vdmVkIHNob3J0bHkuIChGSVhNRSkKLQotdm9pZCBXZWJHTFJl
bmRlcmluZ0NvbnRleHQ6OnRleEltYWdlMkQodW5zaWduZWQgdGFyZ2V0LCB1bnNpZ25lZCBsZXZl
bCwgSW1hZ2VEYXRhKiBwaXhlbHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAgICBwcmludFdhcm5pbmdUb0NvbnNvbGUoIkNh
bGxpbmcgb2Jzb2xldGUgdGV4SW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgSW1h
Z2VEYXRhIHBpeGVscykiKTsKLSAgICB0ZXhJbWFnZTJEKHRhcmdldCwgbGV2ZWwsIHBpeGVscywg
MCwgMCwgZWMpOwotfQotCi12b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dGV4SW1hZ2UyRCh1
bnNpZ25lZCB0YXJnZXQsIHVuc2lnbmVkIGxldmVsLCBJbWFnZURhdGEqIHBpeGVscywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgZmxpcFksIEV4Y2VwdGlvbkNv
ZGUmIGVjKQotewotICAgIHByaW50V2FybmluZ1RvQ29uc29sZSgiQ2FsbGluZyBvYnNvbGV0ZSB0
ZXhJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBJbWFnZURhdGEgcGl4ZWxzLCBH
TGJvb2xlYW4gZmxpcFkpIik7Ci0gICAgdGV4SW1hZ2UyRCh0YXJnZXQsIGxldmVsLCBwaXhlbHMs
IGZsaXBZLCAwLCBlYyk7Ci19Ci0KLXZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp0ZXhJbWFn
ZTJEKHVuc2lnbmVkIHRhcmdldCwgdW5zaWduZWQgbGV2ZWwsIEltYWdlRGF0YSogcGl4ZWxzLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBmbGlwWSwgYm9vbCBw
cmVtdWx0aXBseUFscGhhLCBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAgICBwcmludFdhcm5pbmdU
b0NvbnNvbGUoIkNhbGxpbmcgb2Jzb2xldGUgdGV4SW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGlu
dCBsZXZlbCwgSW1hZ2VEYXRhIHBpeGVscywgR0xib29sZWFuIGZsaXBZLCBHTGJvb2xlYW4gcHJl
bXVsdGlwbHlBbHBoYSkiKTsKLSAgICBlYyA9IDA7Ci0gICAgVmVjdG9yPHVpbnQ4X3Q+IGRhdGE7
Ci0gICAgaWYgKCFtX2NvbnRleHQtPmV4dHJhY3RJbWFnZURhdGEocGl4ZWxzLCBHcmFwaGljc0Nv
bnRleHQzRDo6UkdCQSwgR3JhcGhpY3NDb250ZXh0M0Q6OlVOU0lHTkVEX0JZVEUsIGZsaXBZLCBw
cmVtdWx0aXBseUFscGhhLCBkYXRhKSkgewotICAgICAgICBtX2NvbnRleHQtPnN5bnRoZXNpemVH
TEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX1ZBTFVFKTsKLSAgICAgICAgcmV0dXJu
OwotICAgIH0KLSAgICB0ZXhJbWFnZTJEQmFzZSh0YXJnZXQsIGxldmVsLCBHcmFwaGljc0NvbnRl
eHQzRDo6UkdCQSwgcGl4ZWxzLT53aWR0aCgpLCBwaXhlbHMtPmhlaWdodCgpLCAwLAotICAgICAg
ICAgICAgICAgICAgIEdyYXBoaWNzQ29udGV4dDNEOjpSR0JBLCBHcmFwaGljc0NvbnRleHQzRDo6
VU5TSUdORURfQllURSwgZGF0YS5kYXRhKCksIGVjKTsKLX0KLQotCi12b2lkIFdlYkdMUmVuZGVy
aW5nQ29udGV4dDo6dGV4SW1hZ2UyRCh1bnNpZ25lZCB0YXJnZXQsIHVuc2lnbmVkIGxldmVsLCBI
VE1MSW1hZ2VFbGVtZW50KiBpbWFnZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEV4Y2VwdGlvbkNvZGUmIGVjKQotewotICAgIHByaW50V2FybmluZ1RvQ29uc29sZSgi
Q2FsbGluZyBvYnNvbGV0ZSB0ZXhJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBI
VE1MSW1hZ2VFbGVtZW50IGltYWdlKSIpOwotICAgIHRleEltYWdlMkQodGFyZ2V0LCBsZXZlbCwg
aW1hZ2UsIDAsIDAsIGVjKTsKLX0KLQotdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnRleElt
YWdlMkQodW5zaWduZWQgdGFyZ2V0LCB1bnNpZ25lZCBsZXZlbCwgSFRNTEltYWdlRWxlbWVudCog
aW1hZ2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGZsaXBZ
LCBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAgICBwcmludFdhcm5pbmdUb0NvbnNvbGUoIkNhbGxp
bmcgb2Jzb2xldGUgdGV4SW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgSFRNTElt
YWdlRWxlbWVudCBpbWFnZSwgR0xib29sZWFuIGZsaXBZKSIpOwotICAgIHRleEltYWdlMkQodGFy
Z2V0LCBsZXZlbCwgaW1hZ2UsIGZsaXBZLCAwLCBlYyk7Ci19Ci0KLXZvaWQgV2ViR0xSZW5kZXJp
bmdDb250ZXh0Ojp0ZXhJbWFnZTJEKHVuc2lnbmVkIHRhcmdldCwgdW5zaWduZWQgbGV2ZWwsIEhU
TUxJbWFnZUVsZW1lbnQqIGltYWdlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgYm9vbCBmbGlwWSwgYm9vbCBwcmVtdWx0aXBseUFscGhhLCBFeGNlcHRpb25Db2RlJiBl
YykKLXsKLSAgICBwcmludFdhcm5pbmdUb0NvbnNvbGUoIkNhbGxpbmcgb2Jzb2xldGUgdGV4SW1h
Z2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgSFRNTEltYWdlRWxlbWVudCBpbWFnZSwg
R0xib29sZWFuIGZsaXBZLCBHTGJvb2xlYW4gcHJlbXVsdGlwbHlBbHBoYSkiKTsKLSAgICBlYyA9
IDA7Ci0gICAgaWYgKCFpbWFnZSB8fCAhaW1hZ2UtPmNhY2hlZEltYWdlKCkpIHsKLSAgICAgICAg
bV9jb250ZXh0LT5zeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9W
QUxVRSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgdGV4SW1hZ2UyREltcGwodGFyZ2V0
LCBsZXZlbCwgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQkEsIEdyYXBoaWNzQ29udGV4dDNEOjpSR0JB
LCBHcmFwaGljc0NvbnRleHQzRDo6VU5TSUdORURfQllURSwgaW1hZ2UtPmNhY2hlZEltYWdlKCkt
PmltYWdlKCksIGZsaXBZLCBwcmVtdWx0aXBseUFscGhhLCBlYyk7Ci19Ci0KLXZvaWQgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0Ojp0ZXhJbWFnZTJEKHVuc2lnbmVkIHRhcmdldCwgdW5zaWduZWQgbGV2
ZWwsIEhUTUxDYW52YXNFbGVtZW50KiBjYW52YXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAgICBwcmludFdhcm5pbmdUb0Nv
bnNvbGUoIkNhbGxpbmcgb2Jzb2xldGUgdGV4SW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBs
ZXZlbCwgSFRNTENhbnZhc0VsZW1lbnQgY2FudmFzKSIpOwotICAgIHRleEltYWdlMkQodGFyZ2V0
LCBsZXZlbCwgY2FudmFzLCAwLCAwLCBlYyk7Ci19Ci0KLXZvaWQgV2ViR0xSZW5kZXJpbmdDb250
ZXh0Ojp0ZXhJbWFnZTJEKHVuc2lnbmVkIHRhcmdldCwgdW5zaWduZWQgbGV2ZWwsIEhUTUxDYW52
YXNFbGVtZW50KiBjYW52YXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBib29sIGZsaXBZLCBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAgICBwcmludFdhcm5pbmdUb0Nv
bnNvbGUoIkNhbGxpbmcgb2Jzb2xldGUgdGV4SW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBs
ZXZlbCwgSFRNTENhbnZhc0VsZW1lbnQgY2FudmFzLCBHTGJvb2xlYW4gZmxpcFkpIik7Ci0gICAg
dGV4SW1hZ2UyRCh0YXJnZXQsIGxldmVsLCBjYW52YXMsIGZsaXBZLCAwLCBlYyk7Ci19Ci0KLXZv
aWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp0ZXhJbWFnZTJEKHVuc2lnbmVkIHRhcmdldCwgdW5z
aWduZWQgbGV2ZWwsIEhUTUxDYW52YXNFbGVtZW50KiBjYW52YXMsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBib29sIGZsaXBZLCBib29sIHByZW11bHRpcGx5QWxwaGEs
IEV4Y2VwdGlvbkNvZGUmIGVjKQotewotICAgIHByaW50V2FybmluZ1RvQ29uc29sZSgiQ2FsbGlu
ZyBvYnNvbGV0ZSB0ZXhJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBIVE1MQ2Fu
dmFzRWxlbWVudCBjYW52YXMsIEdMYm9vbGVhbiBmbGlwWSwgR0xib29sZWFuIHByZW11bHRpcGx5
QWxwaGEpIik7Ci0gICAgZWMgPSAwOwotICAgIGlmICghY2FudmFzIHx8ICFjYW52YXMtPmJ1ZmZl
cigpKSB7Ci0gICAgICAgIG1fY29udGV4dC0+c3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250
ZXh0M0Q6OklOVkFMSURfVkFMVUUpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIHRleElt
YWdlMkRJbXBsKHRhcmdldCwgbGV2ZWwsIEdyYXBoaWNzQ29udGV4dDNEOjpSR0JBLCBHcmFwaGlj
c0NvbnRleHQzRDo6UkdCQSwgR3JhcGhpY3NDb250ZXh0M0Q6OlVOU0lHTkVEX0JZVEUsIGNhbnZh
cy0+YnVmZmVyKCktPmltYWdlKCksIGZsaXBZLCBwcmVtdWx0aXBseUFscGhhLCBlYyk7Ci19Ci0K
LXZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp0ZXhJbWFnZTJEKHVuc2lnbmVkIHRhcmdldCwg
dW5zaWduZWQgbGV2ZWwsIEhUTUxWaWRlb0VsZW1lbnQqIHZpZGVvLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgRXhjZXB0aW9uQ29kZSYgZWMpCi17Ci0gICAgdGV4SW1h
Z2UyRCh0YXJnZXQsIGxldmVsLCB2aWRlbywgMCwgMCwgZWMpOwotfQotCi12b2lkIFdlYkdMUmVu
ZGVyaW5nQ29udGV4dDo6dGV4SW1hZ2UyRCh1bnNpZ25lZCB0YXJnZXQsIHVuc2lnbmVkIGxldmVs
LCBIVE1MVmlkZW9FbGVtZW50KiB2aWRlbywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGJvb2wgZmxpcFksIEV4Y2VwdGlvbkNvZGUmIGVjKQotewotICAgIHRleEltYWdl
MkQodGFyZ2V0LCBsZXZlbCwgdmlkZW8sIGZsaXBZLCAwLCBlYyk7Ci19Ci0KLXZvaWQgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0Ojp0ZXhJbWFnZTJEKHVuc2lnbmVkIHRhcmdldCwgdW5zaWduZWQgbGV2
ZWwsIEhUTUxWaWRlb0VsZW1lbnQqIHZpZGVvLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYm9vbCBmbGlwWSwgYm9vbCBwcmVtdWx0aXBseUFscGhhLCBFeGNlcHRpb25D
b2RlJiBlYykKLXsKLSAgICAvLyBGSVhNRTogTmVlZCBpbXBsZW1lbnQgdGhpcyBjYWxsCi0gICAg
VU5VU0VEX1BBUkFNKHRhcmdldCk7Ci0gICAgVU5VU0VEX1BBUkFNKGxldmVsKTsKLSAgICBVTlVT
RURfUEFSQU0odmlkZW8pOwotICAgIFVOVVNFRF9QQVJBTShmbGlwWSk7Ci0gICAgVU5VU0VEX1BB
UkFNKHByZW11bHRpcGx5QWxwaGEpOwotICAgIAotICAgIGVjID0gMDsKLSAgICBjbGVhbnVwQWZ0
ZXJHcmFwaGljc0NhbGwoZmFsc2UpOwotfQotCiB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6
dGV4UGFyYW1ldGVyKHVuc2lnbmVkIGxvbmcgdGFyZ2V0LCB1bnNpZ25lZCBsb25nIHBuYW1lLCBm
bG9hdCBwYXJhbWYsIGludCBwYXJhbWksIGJvb2wgaXNGbG9hdCkKIHsKICAgICBXZWJHTFRleHR1
cmUqIHRleCA9IHZhbGlkYXRlVGV4dHVyZUJpbmRpbmcodGFyZ2V0LCBmYWxzZSk7CkBAIC0yNDc0
LDExNyArMjM2NSw2IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp0ZXhTdWJJbWFnZTIK
ICAgICBjbGVhbnVwQWZ0ZXJHcmFwaGljc0NhbGwoZmFsc2UpOwogfQogCi0vLyBPYnNvbGV0ZSB0
ZXhTdWJJbWFnZTJEIGVudHJ5IHBvaW50cyAtLSB0byBiZSByZW1vdmVkIHNob3J0bHkuIChGSVhN
RSkKLQotdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnRleFN1YkltYWdlMkQodW5zaWduZWQg
dGFyZ2V0LCB1bnNpZ25lZCBsZXZlbCwgdW5zaWduZWQgeG9mZnNldCwgdW5zaWduZWQgeW9mZnNl
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEltYWdlRGF0YSog
cGl4ZWxzLCBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAgICBwcmludFdhcm5pbmdUb0NvbnNvbGUo
IkNhbGxpbmcgb2Jzb2xldGUgdGV4U3ViSW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZl
bCwgR0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNldCwgSW1hZ2VEYXRhIHBpeGVscykiKTsKLSAg
ICB0ZXhTdWJJbWFnZTJEKHRhcmdldCwgbGV2ZWwsIHhvZmZzZXQsIHlvZmZzZXQsIHBpeGVscywg
MCwgMCwgZWMpOwotfQotCi12b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dGV4U3ViSW1hZ2Uy
RCh1bnNpZ25lZCB0YXJnZXQsIHVuc2lnbmVkIGxldmVsLCB1bnNpZ25lZCB4b2Zmc2V0LCB1bnNp
Z25lZCB5b2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
SW1hZ2VEYXRhKiBwaXhlbHMsIGJvb2wgZmxpcFksIEV4Y2VwdGlvbkNvZGUmIGVjKQotewotICAg
IHByaW50V2FybmluZ1RvQ29uc29sZSgiQ2FsbGluZyBvYnNvbGV0ZSB0ZXhTdWJJbWFnZTJEKEdM
ZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGludCB5b2Zmc2V0LCBJ
bWFnZURhdGEgcGl4ZWxzLCBHTGJvb2xlYW4gZmxpcFkpIik7Ci0gICAgdGV4U3ViSW1hZ2UyRCh0
YXJnZXQsIGxldmVsLCB4b2Zmc2V0LCB5b2Zmc2V0LCBwaXhlbHMsIGZsaXBZLCAwLCBlYyk7Ci19
Ci0KLXZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp0ZXhTdWJJbWFnZTJEKHVuc2lnbmVkIHRh
cmdldCwgdW5zaWduZWQgbGV2ZWwsIHVuc2lnbmVkIHhvZmZzZXQsIHVuc2lnbmVkIHlvZmZzZXQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbWFnZURhdGEqIHBp
eGVscywgYm9vbCBmbGlwWSwgYm9vbCBwcmVtdWx0aXBseUFscGhhLCBFeGNlcHRpb25Db2RlJiBl
YykKLXsKLSAgICBwcmludFdhcm5pbmdUb0NvbnNvbGUoIkNhbGxpbmcgb2Jzb2xldGUgdGV4U3Vi
SW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgeG9mZnNldCwgR0xpbnQg
eW9mZnNldCwgSW1hZ2VEYXRhIHBpeGVscywgR0xib29sZWFuIGZsaXBZLCBHTGJvb2xlYW4gcHJl
bXVsdGlwbHlBbHBoYSkiKTsKLSAgICBlYyA9IDA7Ci0gICAgVmVjdG9yPHVpbnQ4X3Q+IGRhdGE7
Ci0gICAgaWYgKCFtX2NvbnRleHQtPmV4dHJhY3RJbWFnZURhdGEocGl4ZWxzLCBHcmFwaGljc0Nv
bnRleHQzRDo6UkdCQSwgR3JhcGhpY3NDb250ZXh0M0Q6OlVOU0lHTkVEX0JZVEUsIGZsaXBZLCBw
cmVtdWx0aXBseUFscGhhLCBkYXRhKSkgewotICAgICAgICBtX2NvbnRleHQtPnN5bnRoZXNpemVH
TEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX1ZBTFVFKTsKLSAgICAgICAgcmV0dXJu
OwotICAgIH0KLSAgICB0ZXhTdWJJbWFnZTJEQmFzZSh0YXJnZXQsIGxldmVsLCB4b2Zmc2V0LCB5
b2Zmc2V0LCBwaXhlbHMtPndpZHRoKCksIHBpeGVscy0+aGVpZ2h0KCksCi0gICAgICAgICAgICAg
ICAgICAgICAgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQkEsIEdyYXBoaWNzQ29udGV4dDNEOjpVTlNJ
R05FRF9CWVRFLCBkYXRhLmRhdGEoKSwgZWMpOwotfQotCi12b2lkIFdlYkdMUmVuZGVyaW5nQ29u
dGV4dDo6dGV4U3ViSW1hZ2UyRCh1bnNpZ25lZCB0YXJnZXQsIHVuc2lnbmVkIGxldmVsLCB1bnNp
Z25lZCB4b2Zmc2V0LCB1bnNpZ25lZCB5b2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgSFRNTEltYWdlRWxlbWVudCogaW1hZ2UsIEV4Y2VwdGlvbkNvZGUm
IGVjKQotewotICAgIHByaW50V2FybmluZ1RvQ29uc29sZSgiQ2FsbGluZyBvYnNvbGV0ZSB0ZXhT
dWJJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGludCB4b2Zmc2V0LCBHTGlu
dCB5b2Zmc2V0LCBIVE1MSW1hZ2VFbGVtZW50IGltYWdlKSIpOwotICAgIHRleFN1YkltYWdlMkQo
dGFyZ2V0LCBsZXZlbCwgeG9mZnNldCwgeW9mZnNldCwgaW1hZ2UsIDAsIDAsIGVjKTsKLX0KLQot
dm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnRleFN1YkltYWdlMkQodW5zaWduZWQgdGFyZ2V0
LCB1bnNpZ25lZCBsZXZlbCwgdW5zaWduZWQgeG9mZnNldCwgdW5zaWduZWQgeW9mZnNldCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhUTUxJbWFnZUVsZW1lbnQq
IGltYWdlLCBib29sIGZsaXBZLCBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAgICBwcmludFdhcm5p
bmdUb0NvbnNvbGUoIkNhbGxpbmcgb2Jzb2xldGUgdGV4U3ViSW1hZ2UyRChHTGVudW0gdGFyZ2V0
LCBHTGludCBsZXZlbCwgR0xpbnQgeG9mZnNldCwgR0xpbnQgeW9mZnNldCwgSFRNTEltYWdlRWxl
bWVudCBpbWFnZSwgR0xib29sZWFuIGZsaXBZKSIpOwotICAgIHRleFN1YkltYWdlMkQodGFyZ2V0
LCBsZXZlbCwgeG9mZnNldCwgeW9mZnNldCwgaW1hZ2UsIGZsaXBZLCAwLCBlYyk7Ci19Ci0KLXZv
aWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp0ZXhTdWJJbWFnZTJEKHVuc2lnbmVkIHRhcmdldCwg
dW5zaWduZWQgbGV2ZWwsIHVuc2lnbmVkIHhvZmZzZXQsIHVuc2lnbmVkIHlvZmZzZXQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIVE1MSW1hZ2VFbGVtZW50KiBp
bWFnZSwgYm9vbCBmbGlwWSwgYm9vbCBwcmVtdWx0aXBseUFscGhhLCBFeGNlcHRpb25Db2RlJiBl
YykKLXsKLSAgICBwcmludFdhcm5pbmdUb0NvbnNvbGUoIkNhbGxpbmcgb2Jzb2xldGUgdGV4U3Vi
SW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xpbnQgeG9mZnNldCwgR0xpbnQg
eW9mZnNldCwgSFRNTEltYWdlRWxlbWVudCBpbWFnZSwgR0xib29sZWFuIGZsaXBZLCBHTGJvb2xl
YW4gcHJlbXVsdGlwbHlBbHBoYSkiKTsKLSAgICBlYyA9IDA7Ci0gICAgaWYgKCFpbWFnZSB8fCAh
aW1hZ2UtPmNhY2hlZEltYWdlKCkpIHsKLSAgICAgICAgbV9jb250ZXh0LT5zeW50aGVzaXplR0xF
cnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9WQUxVRSk7Ci0gICAgICAgIHJldHVybjsK
LSAgICB9Ci0gICAgdGV4U3ViSW1hZ2UyREltcGwodGFyZ2V0LCBsZXZlbCwgeG9mZnNldCwgeW9m
ZnNldCwgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQkEsIEdyYXBoaWNzQ29udGV4dDNEOjpVTlNJR05F
RF9CWVRFLCBpbWFnZS0+Y2FjaGVkSW1hZ2UoKS0+aW1hZ2UoKSwKLSAgICAgICAgICAgICAgICAg
ICAgICBmbGlwWSwgcHJlbXVsdGlwbHlBbHBoYSwgZWMpOwotfQotCi12b2lkIFdlYkdMUmVuZGVy
aW5nQ29udGV4dDo6dGV4U3ViSW1hZ2UyRCh1bnNpZ25lZCB0YXJnZXQsIHVuc2lnbmVkIGxldmVs
LCB1bnNpZ25lZCB4b2Zmc2V0LCB1bnNpZ25lZCB5b2Zmc2V0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgSFRNTENhbnZhc0VsZW1lbnQqIGNhbnZhcywgRXhjZXB0
aW9uQ29kZSYgZWMpCi17Ci0gICAgcHJpbnRXYXJuaW5nVG9Db25zb2xlKCJDYWxsaW5nIG9ic29s
ZXRlIHRleFN1YkltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZz
ZXQsIEdMaW50IHlvZmZzZXQsIEhUTUxDYW52YXNFbGVtZW50IGNhbnZhcykiKTsKLSAgICB0ZXhT
dWJJbWFnZTJEKHRhcmdldCwgbGV2ZWwsIHhvZmZzZXQsIHlvZmZzZXQsIGNhbnZhcywgMCwgMCwg
ZWMpOwotfQotCi12b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dGV4U3ViSW1hZ2UyRCh1bnNp
Z25lZCB0YXJnZXQsIHVuc2lnbmVkIGxldmVsLCB1bnNpZ25lZCB4b2Zmc2V0LCB1bnNpZ25lZCB5
b2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSFRNTENh
bnZhc0VsZW1lbnQqIGNhbnZhcywgYm9vbCBmbGlwWSwgRXhjZXB0aW9uQ29kZSYgZWMpCi17Ci0g
ICAgcHJpbnRXYXJuaW5nVG9Db25zb2xlKCJDYWxsaW5nIG9ic29sZXRlIHRleFN1YkltYWdlMkQo
R0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZzZXQsIEdMaW50IHlvZmZzZXQs
IEhUTUxDYW52YXNFbGVtZW50IGNhbnZhcywgR0xib29sZWFuIGZsaXBZKSIpOwotICAgIHRleFN1
YkltYWdlMkQodGFyZ2V0LCBsZXZlbCwgeG9mZnNldCwgeW9mZnNldCwgY2FudmFzLCBmbGlwWSwg
MCwgZWMpOwotfQotCi12b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dGV4U3ViSW1hZ2UyRCh1
bnNpZ25lZCB0YXJnZXQsIHVuc2lnbmVkIGxldmVsLCB1bnNpZ25lZCB4b2Zmc2V0LCB1bnNpZ25l
ZCB5b2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSFRN
TENhbnZhc0VsZW1lbnQqIGNhbnZhcywgYm9vbCBmbGlwWSwgYm9vbCBwcmVtdWx0aXBseUFscGhh
LCBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAgICBwcmludFdhcm5pbmdUb0NvbnNvbGUoIkNhbGxp
bmcgb2Jzb2xldGUgdGV4U3ViSW1hZ2UyRChHTGVudW0gdGFyZ2V0LCBHTGludCBsZXZlbCwgR0xp
bnQgeG9mZnNldCwgR0xpbnQgeW9mZnNldCwgSFRNTENhbnZhc0VsZW1lbnQgY2FudmFzLCBHTGJv
b2xlYW4gZmxpcFksIEdMYm9vbGVhbiBwcmVtdWx0aXBseUFscGhhKSIpOwotICAgIGVjID0gMDsK
LSAgICBpZiAoIWNhbnZhcyB8fCAhY2FudmFzLT5idWZmZXIoKSkgewotICAgICAgICBtX2NvbnRl
eHQtPnN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX1ZBTFVFKTsK
LSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICB0ZXhTdWJJbWFnZTJESW1wbCh0YXJnZXQsIGxl
dmVsLCB4b2Zmc2V0LCB5b2Zmc2V0LCBHcmFwaGljc0NvbnRleHQzRDo6UkdCQSwgR3JhcGhpY3ND
b250ZXh0M0Q6OlVOU0lHTkVEX0JZVEUsIGNhbnZhcy0+YnVmZmVyKCktPmltYWdlKCksCi0gICAg
ICAgICAgICAgICAgICAgICAgZmxpcFksIHByZW11bHRpcGx5QWxwaGEsIGVjKTsKLX0KLQotdm9p
ZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnRleFN1YkltYWdlMkQodW5zaWduZWQgdGFyZ2V0LCB1
bnNpZ25lZCBsZXZlbCwgdW5zaWduZWQgeG9mZnNldCwgdW5zaWduZWQgeW9mZnNldCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhUTUxWaWRlb0VsZW1lbnQqIHZp
ZGVvLCBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAgICB0ZXhTdWJJbWFnZTJEKHRhcmdldCwgbGV2
ZWwsIHhvZmZzZXQsIHlvZmZzZXQsIHZpZGVvLCAwLCAwLCBlYyk7Ci19Ci0KLXZvaWQgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0Ojp0ZXhTdWJJbWFnZTJEKHVuc2lnbmVkIHRhcmdldCwgdW5zaWduZWQg
bGV2ZWwsIHVuc2lnbmVkIHhvZmZzZXQsIHVuc2lnbmVkIHlvZmZzZXQsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIVE1MVmlkZW9FbGVtZW50KiB2aWRlbywgYm9v
bCBmbGlwWSwgRXhjZXB0aW9uQ29kZSYgZWMpCi17Ci0gICAgdGV4U3ViSW1hZ2UyRCh0YXJnZXQs
IGxldmVsLCB4b2Zmc2V0LCB5b2Zmc2V0LCB2aWRlbywgZmxpcFksIDAsIGVjKTsKLX0KLQotdm9p
ZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnRleFN1YkltYWdlMkQodW5zaWduZWQgdGFyZ2V0LCB1
bnNpZ25lZCBsZXZlbCwgdW5zaWduZWQgeG9mZnNldCwgdW5zaWduZWQgeW9mZnNldCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhUTUxWaWRlb0VsZW1lbnQqIHZp
ZGVvLCBib29sIGZsaXBZLCBib29sIHByZW11bHRpcGx5QWxwaGEsIEV4Y2VwdGlvbkNvZGUmIGVj
KQotewotICAgIC8vIEZJWE1FOiBOZWVkIHRvIGltcGxlbWVudCB0aGlzIGNhbGwKLSAgICBVTlVT
RURfUEFSQU0odGFyZ2V0KTsKLSAgICBVTlVTRURfUEFSQU0obGV2ZWwpOwotICAgIFVOVVNFRF9Q
QVJBTSh4b2Zmc2V0KTsKLSAgICBVTlVTRURfUEFSQU0oeW9mZnNldCk7Ci0gICAgVU5VU0VEX1BB
UkFNKHZpZGVvKTsKLSAgICBVTlVTRURfUEFSQU0oZmxpcFkpOwotICAgIFVOVVNFRF9QQVJBTShw
cmVtdWx0aXBseUFscGhhKTsKLSAgICBlYyA9IDA7Ci0gICAgY2xlYW51cEFmdGVyR3JhcGhpY3ND
YWxsKGZhbHNlKTsKLX0KLQogdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm0xZihj
b25zdCBXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIGZsb2F0IHgsIEV4Y2VwdGlvbkNv
ZGUmIGVjKQogewogICAgIFVOVVNFRF9QQVJBTShlYyk7CkluZGV4OiBXZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmgJKHJldmlzaW9uIDY1MTY3KQorKysgV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaAkod29ya2luZyBjb3B5KQpAQCAt
MjA2LDE5ICsyMDYsNiBAQCBwdWJsaWM6CiAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGZv
cm1hdCwgdW5zaWduZWQgdHlwZSwgSFRNTENhbnZhc0VsZW1lbnQqIGNhbnZhcywgRXhjZXB0aW9u
Q29kZSYpOwogICAgIHZvaWQgdGV4SW1hZ2UyRCh1bnNpZ25lZCB0YXJnZXQsIHVuc2lnbmVkIGxl
dmVsLCB1bnNpZ25lZCBpbnRlcm5hbGZvcm1hdCwKICAgICAgICAgICAgICAgICAgICAgdW5zaWdu
ZWQgZm9ybWF0LCB1bnNpZ25lZCB0eXBlLCBIVE1MVmlkZW9FbGVtZW50KiB2aWRlbywgRXhjZXB0
aW9uQ29kZSYpOwotICAgIC8vIE9ic29sZXRlIGVudHJ5IHBvaW50cyAtLSB0byBiZSByZW1vdmVk
IHNob3J0bHkuIChGSVhNRSkKLSAgICB2b2lkIHRleEltYWdlMkQodW5zaWduZWQgdGFyZ2V0LCB1
bnNpZ25lZCBsZXZlbCwgSW1hZ2VEYXRhKiBwaXhlbHMsIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICB2
b2lkIHRleEltYWdlMkQodW5zaWduZWQgdGFyZ2V0LCB1bnNpZ25lZCBsZXZlbCwgSW1hZ2VEYXRh
KiBwaXhlbHMsIGJvb2wgZmxpcFksIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICB2b2lkIHRleEltYWdl
MkQodW5zaWduZWQgdGFyZ2V0LCB1bnNpZ25lZCBsZXZlbCwgSW1hZ2VEYXRhKiBwaXhlbHMsIGJv
b2wgZmxpcFksIGJvb2wgcHJlbXVsdGlwbHlBbHBoYSwgRXhjZXB0aW9uQ29kZSYpOwotICAgIHZv
aWQgdGV4SW1hZ2UyRCh1bnNpZ25lZCB0YXJnZXQsIHVuc2lnbmVkIGxldmVsLCBIVE1MSW1hZ2VF
bGVtZW50KiBpbWFnZSwgRXhjZXB0aW9uQ29kZSYpOwotICAgIHZvaWQgdGV4SW1hZ2UyRCh1bnNp
Z25lZCB0YXJnZXQsIHVuc2lnbmVkIGxldmVsLCBIVE1MSW1hZ2VFbGVtZW50KiBpbWFnZSwgYm9v
bCBmbGlwWSwgRXhjZXB0aW9uQ29kZSYpOwotICAgIHZvaWQgdGV4SW1hZ2UyRCh1bnNpZ25lZCB0
YXJnZXQsIHVuc2lnbmVkIGxldmVsLCBIVE1MSW1hZ2VFbGVtZW50KiBpbWFnZSwgYm9vbCBmbGlw
WSwgYm9vbCBwcmVtdWx0aXBseUFscGhhLCBFeGNlcHRpb25Db2RlJik7Ci0gICAgdm9pZCB0ZXhJ
bWFnZTJEKHVuc2lnbmVkIHRhcmdldCwgdW5zaWduZWQgbGV2ZWwsIEhUTUxDYW52YXNFbGVtZW50
KiBjYW52YXMsIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICB2b2lkIHRleEltYWdlMkQodW5zaWduZWQg
dGFyZ2V0LCB1bnNpZ25lZCBsZXZlbCwgSFRNTENhbnZhc0VsZW1lbnQqIGNhbnZhcywgYm9vbCBm
bGlwWSwgRXhjZXB0aW9uQ29kZSYpOwotICAgIHZvaWQgdGV4SW1hZ2UyRCh1bnNpZ25lZCB0YXJn
ZXQsIHVuc2lnbmVkIGxldmVsLCBIVE1MQ2FudmFzRWxlbWVudCogY2FudmFzLCBib29sIGZsaXBZ
LCBib29sIHByZW11bHRpcGx5QWxwaGEsIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICB2b2lkIHRleElt
YWdlMkQodW5zaWduZWQgdGFyZ2V0LCB1bnNpZ25lZCBsZXZlbCwgSFRNTFZpZGVvRWxlbWVudCog
dmlkZW8sIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICB2b2lkIHRleEltYWdlMkQodW5zaWduZWQgdGFy
Z2V0LCB1bnNpZ25lZCBsZXZlbCwgSFRNTFZpZGVvRWxlbWVudCogdmlkZW8sIGJvb2wgZmxpcFks
IEV4Y2VwdGlvbkNvZGUmKTsKLSAgICB2b2lkIHRleEltYWdlMkQodW5zaWduZWQgdGFyZ2V0LCB1
bnNpZ25lZCBsZXZlbCwgSFRNTFZpZGVvRWxlbWVudCogdmlkZW8sIGJvb2wgZmxpcFksIGJvb2wg
cHJlbXVsdGlwbHlBbHBoYSwgRXhjZXB0aW9uQ29kZSYpOwogCiAgICAgdm9pZCB0ZXhQYXJhbWV0
ZXJmKHVuc2lnbmVkIHRhcmdldCwgdW5zaWduZWQgcG5hbWUsIGZsb2F0IHBhcmFtKTsKICAgICB2
b2lkIHRleFBhcmFtZXRlcmkodW5zaWduZWQgdGFyZ2V0LCB1bnNpZ25lZCBwbmFtZSwgaW50IHBh
cmFtKTsKQEAgLTIzNCwxOSArMjIxLDYgQEAgcHVibGljOgogICAgICAgICAgICAgICAgICAgICAg
ICB1bnNpZ25lZCBmb3JtYXQsIHVuc2lnbmVkIHR5cGUsIEhUTUxDYW52YXNFbGVtZW50KiBjYW52
YXMsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIHRleFN1YkltYWdlMkQodW5zaWduZWQgdGFy
Z2V0LCB1bnNpZ25lZCBsZXZlbCwgdW5zaWduZWQgeG9mZnNldCwgdW5zaWduZWQgeW9mZnNldCwK
ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgZm9ybWF0LCB1bnNpZ25lZCB0eXBlLCBI
VE1MVmlkZW9FbGVtZW50KiB2aWRlbywgRXhjZXB0aW9uQ29kZSYpOwotICAgIC8vIE9ic29sZXRl
IGVudHJ5IHBvaW50cyAtLSB0byBiZSByZW1vdmVkIHNob3J0bHkuIChGSVhNRSkKLSAgICB2b2lk
IHRleFN1YkltYWdlMkQodW5zaWduZWQgdGFyZ2V0LCB1bnNpZ25lZCBsZXZlbCwgdW5zaWduZWQg
eG9mZnNldCwgdW5zaWduZWQgeW9mZnNldCwgSW1hZ2VEYXRhKiBwaXhlbHMsIEV4Y2VwdGlvbkNv
ZGUmKTsKLSAgICB2b2lkIHRleFN1YkltYWdlMkQodW5zaWduZWQgdGFyZ2V0LCB1bnNpZ25lZCBs
ZXZlbCwgdW5zaWduZWQgeG9mZnNldCwgdW5zaWduZWQgeW9mZnNldCwgSW1hZ2VEYXRhKiBwaXhl
bHMsIGJvb2wgZmxpcFksIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICB2b2lkIHRleFN1YkltYWdlMkQo
dW5zaWduZWQgdGFyZ2V0LCB1bnNpZ25lZCBsZXZlbCwgdW5zaWduZWQgeG9mZnNldCwgdW5zaWdu
ZWQgeW9mZnNldCwgSW1hZ2VEYXRhKiBwaXhlbHMsIGJvb2wgZmxpcFksIGJvb2wgcHJlbXVsdGlw
bHlBbHBoYSwgRXhjZXB0aW9uQ29kZSYpOwotICAgIHZvaWQgdGV4U3ViSW1hZ2UyRCh1bnNpZ25l
ZCB0YXJnZXQsIHVuc2lnbmVkIGxldmVsLCB1bnNpZ25lZCB4b2Zmc2V0LCB1bnNpZ25lZCB5b2Zm
c2V0LCBIVE1MSW1hZ2VFbGVtZW50KiBpbWFnZSwgRXhjZXB0aW9uQ29kZSYpOwotICAgIHZvaWQg
dGV4U3ViSW1hZ2UyRCh1bnNpZ25lZCB0YXJnZXQsIHVuc2lnbmVkIGxldmVsLCB1bnNpZ25lZCB4
b2Zmc2V0LCB1bnNpZ25lZCB5b2Zmc2V0LCBIVE1MSW1hZ2VFbGVtZW50KiBpbWFnZSwgYm9vbCBm
bGlwWSwgRXhjZXB0aW9uQ29kZSYpOwotICAgIHZvaWQgdGV4U3ViSW1hZ2UyRCh1bnNpZ25lZCB0
YXJnZXQsIHVuc2lnbmVkIGxldmVsLCB1bnNpZ25lZCB4b2Zmc2V0LCB1bnNpZ25lZCB5b2Zmc2V0
LCBIVE1MSW1hZ2VFbGVtZW50KiBpbWFnZSwgYm9vbCBmbGlwWSwgYm9vbCBwcmVtdWx0aXBseUFs
cGhhLCBFeGNlcHRpb25Db2RlJik7Ci0gICAgdm9pZCB0ZXhTdWJJbWFnZTJEKHVuc2lnbmVkIHRh
cmdldCwgdW5zaWduZWQgbGV2ZWwsIHVuc2lnbmVkIHhvZmZzZXQsIHVuc2lnbmVkIHlvZmZzZXQs
IEhUTUxDYW52YXNFbGVtZW50KiBjYW52YXMsIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICB2b2lkIHRl
eFN1YkltYWdlMkQodW5zaWduZWQgdGFyZ2V0LCB1bnNpZ25lZCBsZXZlbCwgdW5zaWduZWQgeG9m
ZnNldCwgdW5zaWduZWQgeW9mZnNldCwgSFRNTENhbnZhc0VsZW1lbnQqIGNhbnZhcywgYm9vbCBm
bGlwWSwgRXhjZXB0aW9uQ29kZSYpOwotICAgIHZvaWQgdGV4U3ViSW1hZ2UyRCh1bnNpZ25lZCB0
YXJnZXQsIHVuc2lnbmVkIGxldmVsLCB1bnNpZ25lZCB4b2Zmc2V0LCB1bnNpZ25lZCB5b2Zmc2V0
LCBIVE1MQ2FudmFzRWxlbWVudCogY2FudmFzLCBib29sIGZsaXBZLCBib29sIHByZW11bHRpcGx5
QWxwaGEsIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICB2b2lkIHRleFN1YkltYWdlMkQodW5zaWduZWQg
dGFyZ2V0LCB1bnNpZ25lZCBsZXZlbCwgdW5zaWduZWQgeG9mZnNldCwgdW5zaWduZWQgeW9mZnNl
dCwgSFRNTFZpZGVvRWxlbWVudCogdmlkZW8sIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICB2b2lkIHRl
eFN1YkltYWdlMkQodW5zaWduZWQgdGFyZ2V0LCB1bnNpZ25lZCBsZXZlbCwgdW5zaWduZWQgeG9m
ZnNldCwgdW5zaWduZWQgeW9mZnNldCwgSFRNTFZpZGVvRWxlbWVudCogdmlkZW8sIGJvb2wgZmxp
cFksIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICB2b2lkIHRleFN1YkltYWdlMkQodW5zaWduZWQgdGFy
Z2V0LCB1bnNpZ25lZCBsZXZlbCwgdW5zaWduZWQgeG9mZnNldCwgdW5zaWduZWQgeW9mZnNldCwg
SFRNTFZpZGVvRWxlbWVudCogdmlkZW8sIGJvb2wgZmxpcFksIGJvb2wgcHJlbXVsdGlwbHlBbHBo
YSwgRXhjZXB0aW9uQ29kZSYpOwogCiAgICAgdm9pZCB1bmlmb3JtMWYoY29uc3QgV2ViR0xVbmlm
b3JtTG9jYXRpb24qIGxvY2F0aW9uLCBmbG9hdCB4LCBFeGNlcHRpb25Db2RlJik7CiAgICAgdm9p
ZCB1bmlmb3JtMWZ2KGNvbnN0IFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwgRmxvYXQz
MkFycmF5KiB2LCBFeGNlcHRpb25Db2RlJik7CkluZGV4OiBXZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdMUmVuZGVyaW5nQ29udGV4dC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaWRsCShyZXZpc2lvbiA2NTE2NykKKysrIFdlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmlkbAkod29ya2luZyBjb3B5KQpAQCAt
NjIyLDE1ICs2MjIsNiBAQCBtb2R1bGUgaHRtbCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGluIHVuc2lnbmVkIGxvbmcgZm9ybWF0LCBpbiB1bnNpZ25lZCBsb25nIHR5cGUsIGlu
IEhUTUxDYW52YXNFbGVtZW50IGNhbnZhcykgcmFpc2VzIChET01FeGNlcHRpb24pOwogICAgICAg
ICB2b2lkICAgICAgICAgdGV4SW1hZ2UyRChpbiB1bnNpZ25lZCBsb25nIHRhcmdldCwgaW4gbG9u
ZyBsZXZlbCwgaW4gdW5zaWduZWQgbG9uZyBpbnRlcm5hbGZvcm1hdCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW4gdW5zaWduZWQgbG9uZyBmb3JtYXQsIGluIHVuc2lnbmVkIGxv
bmcgdHlwZSwgaW4gSFRNTFZpZGVvRWxlbWVudCB2aWRlbykgcmFpc2VzIChET01FeGNlcHRpb24p
OwotICAgICAgICAvLyBPYnNvbGV0ZSBlbnRyeSBwb2ludHMgLS0gdG8gYmUgcmVtb3ZlZCBzaG9y
dGx5LiAoRklYTUUpCi0gICAgICAgIHZvaWQgICAgICAgICB0ZXhJbWFnZTJEKGluIHVuc2lnbmVk
IGxvbmcgdGFyZ2V0LCBpbiBsb25nIGxldmVsLCBpbiBJbWFnZURhdGEgcGl4ZWxzLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWxdIGJvb2xlYW4gZmxpcFksIGlu
IFtPcHRpb25hbF0gYm9vbGVhbiBwcmVtdWx0aXBseUFscGhhKSByYWlzZXMgKERPTUV4Y2VwdGlv
bik7Ci0gICAgICAgIHZvaWQgICAgICAgICB0ZXhJbWFnZTJEKGluIHVuc2lnbmVkIGxvbmcgdGFy
Z2V0LCBpbiBsb25nIGxldmVsLCBpbiBIVE1MSW1hZ2VFbGVtZW50IGltYWdlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWxdIGJvb2xlYW4gZmxpcFksIGluIFtP
cHRpb25hbF0gYm9vbGVhbiBwcmVtdWx0aXBseUFscGhhKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7
Ci0gICAgICAgIHZvaWQgICAgICAgICB0ZXhJbWFnZTJEKGluIHVuc2lnbmVkIGxvbmcgdGFyZ2V0
LCBpbiBsb25nIGxldmVsLCBpbiBIVE1MQ2FudmFzRWxlbWVudCBjYW52YXMsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbF0gYm9vbGVhbiBmbGlwWSwgaW4gW09w
dGlvbmFsXSBib29sZWFuIHByZW11bHRpcGx5QWxwaGEpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsK
LSAgICAgICAgdm9pZCAgICAgICAgIHRleEltYWdlMkQoaW4gdW5zaWduZWQgbG9uZyB0YXJnZXQs
IGluIGxvbmcgbGV2ZWwsIGluIEhUTUxWaWRlb0VsZW1lbnQgdmlkZW8sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbF0gYm9vbGVhbiBmbGlwWSwgaW4gW09wdGlv
bmFsXSBib29sZWFuIHByZW11bHRpcGx5QWxwaGEpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKIAog
ICAgICAgICB2b2lkICAgICAgICAgdGV4U3ViSW1hZ2UyRChpbiB1bnNpZ25lZCBsb25nIHRhcmdl
dCwgaW4gbG9uZyBsZXZlbCwgaW4gbG9uZyB4b2Zmc2V0LCBpbiBsb25nIHlvZmZzZXQsIAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBsb25nIHdpZHRoLCBpbiBsb25nIGhl
aWdodCwgCkBAIC02NDMsMTUgKzYzNCw2IEBAIG1vZHVsZSBodG1sIHsKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW4gdW5zaWduZWQgbG9uZyBmb3JtYXQsIGluIHVuc2lnbmVk
IGxvbmcgdHlwZSwgaW4gSFRNTENhbnZhc0VsZW1lbnQgY2FudmFzKSByYWlzZXMgKERPTUV4Y2Vw
dGlvbik7CiAgICAgICAgIHZvaWQgICAgICAgICB0ZXhTdWJJbWFnZTJEKGluIHVuc2lnbmVkIGxv
bmcgdGFyZ2V0LCBpbiBsb25nIGxldmVsLCBpbiBsb25nIHhvZmZzZXQsIGluIGxvbmcgeW9mZnNl
dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gdW5zaWduZWQgbG9uZyBm
b3JtYXQsIGluIHVuc2lnbmVkIGxvbmcgdHlwZSwgaW4gSFRNTFZpZGVvRWxlbWVudCB2aWRlbykg
cmFpc2VzIChET01FeGNlcHRpb24pOwotICAgICAgICAvLyBPYnNvbGV0ZSBlbnRyeSBwb2ludHMg
LS0gdG8gYmUgcmVtb3ZlZCBzaG9ydGx5LiAoRklYTUUpCi0gICAgICAgIHZvaWQgICAgICAgICB0
ZXhTdWJJbWFnZTJEKGluIHVuc2lnbmVkIGxvbmcgdGFyZ2V0LCBpbiBsb25nIGxldmVsLCBpbiBs
b25nIHhvZmZzZXQsIGluIGxvbmcgeW9mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW4gSW1hZ2VEYXRhIHBpeGVscywgaW4gW09wdGlvbmFsXSBib29sZWFuIGZsaXBZ
LCBpbiBbT3B0aW9uYWxdIGJvb2xlYW4gcHJlbXVsdGlwbHlBbHBoYSkgcmFpc2VzIChET01FeGNl
cHRpb24pOwotICAgICAgICB2b2lkICAgICAgICAgdGV4U3ViSW1hZ2UyRChpbiB1bnNpZ25lZCBs
b25nIHRhcmdldCwgaW4gbG9uZyBsZXZlbCwgaW4gbG9uZyB4b2Zmc2V0LCBpbiBsb25nIHlvZmZz
ZXQsIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBIVE1MSW1hZ2VFbGVt
ZW50IGltYWdlLCBpbiBbT3B0aW9uYWxdIGJvb2xlYW4gZmxpcFksIGluIFtPcHRpb25hbF0gYm9v
bGVhbiBwcmVtdWx0aXBseUFscGhhKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7Ci0gICAgICAgIHZv
aWQgICAgICAgICB0ZXhTdWJJbWFnZTJEKGluIHVuc2lnbmVkIGxvbmcgdGFyZ2V0LCBpbiBsb25n
IGxldmVsLCBpbiBsb25nIHhvZmZzZXQsIGluIGxvbmcgeW9mZnNldCwgCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGluIEhUTUxDYW52YXNFbGVtZW50IGNhbnZhcywgaW4gW09w
dGlvbmFsXSBib29sZWFuIGZsaXBZLCBpbiBbT3B0aW9uYWxdIGJvb2xlYW4gcHJlbXVsdGlwbHlB
bHBoYSkgcmFpc2VzIChET01FeGNlcHRpb24pOwotICAgICAgICB2b2lkICAgICAgICAgdGV4U3Vi
SW1hZ2UyRChpbiB1bnNpZ25lZCBsb25nIHRhcmdldCwgaW4gbG9uZyBsZXZlbCwgaW4gbG9uZyB4
b2Zmc2V0LCBpbiBsb25nIHlvZmZzZXQsIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbiBIVE1MVmlkZW9FbGVtZW50IHZpZGVvLCBpbiBbT3B0aW9uYWxdIGJvb2xlYW4gZmxp
cFksIGluIFtPcHRpb25hbF0gYm9vbGVhbiBwcmVtdWx0aXBseUFscGhhKSByYWlzZXMgKERPTUV4
Y2VwdGlvbik7CiAKICAgICAgICAgdm9pZCB1bmlmb3JtMWYoaW4gV2ViR0xVbmlmb3JtTG9jYXRp
b24gbG9jYXRpb24sIGluIGZsb2F0IHgpIHJhaXNlcyhET01FeGNlcHRpb24pOwogICAgICAgICBb
Q3VzdG9tXSB2b2lkIHVuaWZvcm0xZnYoaW4gV2ViR0xVbmlmb3JtTG9jYXRpb24gbG9jYXRpb24s
IGluIEZsb2F0MzJBcnJheSB2KSByYWlzZXMoRE9NRXhjZXB0aW9uKTsK
</data>
<flag name="review"
          id="52640"
          type_id="1"
          status="+"
          setter="dglazkov"
    />
    <flag name="commit-queue"
          id="52641"
          type_id="3"
          status="-"
          setter="kbr"
    />
          </attachment>
      

    </bug>

</bugzilla>